If i may, creating the component from scratch will both help you understand typescript more and DragControls seem to be quite complex and thus not beginner friendly.
So when a user presses down on the object, you should set a boolean to true and save what pointer index it was. (that is important for mobile multi touch support)
Then in update, if the boolean is true get the mouse delta from context.input and move the object by that delta. Also check for PointerUp (again context.input) with the saved pointer index as the argument, if the pointer is up then set the isDragging to false. (that means the user left the finger and stopped dragging)
And you are basically there, i can’t really help you more then that. Please try it your self, read through the docs, it is a big topic, it might take time
-----
if something wouldn’t be clear, don’t be afraid to ask, but create a new thread for that. Also you can’t expect to get a prefect or complete solution out of samples or support. You need to write it yourself.
You are also not adding the movement delta to your dragged object (you just copy the last frame delta to the objects position so it always jumps back at it’s previous place / around 0)
If you want to actually change the position you need to add it to the position. Im just on the phone right now so cannot really write code.
But even then the screenspace position wont be enough / what you want because x in screenspace can be any direction in 3d when you just set it to the object position.x (maybe it works in your case if you just have a 2d sprite).