{"version":3,"sources":["../../../../src/elements/useDraggable/index.ts"],"sourcesContent":["\"use client\";\nimport { useScope, toObs } from \"@usels/core\";\nimport { createDraggable } from \"./core\";\n\nexport { createDraggable } from \"./core\";\nexport type { Position, UseDraggableOptions, UseDraggableReturn } from \"./core\";\n\n/**\n * Makes any element draggable using Pointer Events.\n * Returns Observable values for position (`x$`, `y$`), drag state (`isDragging$`),\n * and a ready-to-use CSS style string (`style$`).\n */\nexport type UseDraggable = typeof createDraggable;\nexport const useDraggable: UseDraggable = (target, options = {}) => {\n  return useScope(\n    (opts) => {\n      const opts$ = toObs(opts, {\n        handle: \"opaque\",\n        containerElement: \"opaque\",\n        window: \"opaque\",\n      });\n      return createDraggable(target, opts$);\n    },\n    options as Record<string, unknown>\n  );\n};\n"],"mappings":";AACA,SAAS,UAAU,aAAa;AAChC,SAAS,uBAAuB;AAEhC,SAAS,mBAAAA,wBAAuB;AASzB,MAAM,eAA6B,CAAC,QAAQ,UAAU,CAAC,MAAM;AAClE,SAAO;AAAA,IACL,CAAC,SAAS;AACR,YAAM,QAAQ,MAAM,MAAM;AAAA,QACxB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,QAAQ;AAAA,MACV,CAAC;AACD,aAAO,gBAAgB,QAAQ,KAAK;AAAA,IACtC;AAAA,IACA;AAAA,EACF;AACF;","names":["createDraggable"]}