{"ast":null,"code":"import { __assign } from 'tslib';\nimport { useContext, useEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { VisualElementDragControls } from './VisualElementDragControls.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * A hook that allows an element to be dragged.\n *\n * @internal\n */\nfunction useDrag(props) {\n  var groupDragControls = props.dragControls,\n    visualElement = props.visualElement;\n  var transformPagePoint = useContext(MotionConfigContext).transformPagePoint;\n  var dragControls = useConstant(function () {\n    return new VisualElementDragControls({\n      visualElement: visualElement\n    });\n  });\n  dragControls.setProps(__assign(__assign({}, props), {\n    transformPagePoint: transformPagePoint\n  }));\n  // If we've been provided a DragControls for manual control over the drag gesture,\n  // subscribe this component to it on mount.\n  useEffect(function () {\n    return groupDragControls && groupDragControls.subscribe(dragControls);\n  }, [dragControls]);\n  // Mount the drag controls with the visualElement\n  useEffect(function () {\n    return dragControls.mount(visualElement);\n  }, []);\n}\nexport { useDrag };","map":{"version":3,"names":["__assign","useContext","useEffect","MotionConfigContext","VisualElementDragControls","useConstant","useDrag","props","groupDragControls","dragControls","visualElement","transformPagePoint","setProps","subscribe","mount"],"sources":["D:/DSP_Management/node_modules/framer-motion/dist/es/gestures/drag/use-drag.js"],"sourcesContent":["import { __assign } from 'tslib';\nimport { useContext, useEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { VisualElementDragControls } from './VisualElementDragControls.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * A hook that allows an element to be dragged.\n *\n * @internal\n */\nfunction useDrag(props) {\n    var groupDragControls = props.dragControls, visualElement = props.visualElement;\n    var transformPagePoint = useContext(MotionConfigContext).transformPagePoint;\n    var dragControls = useConstant(function () {\n        return new VisualElementDragControls({\n            visualElement: visualElement,\n        });\n    });\n    dragControls.setProps(__assign(__assign({}, props), { transformPagePoint: transformPagePoint }));\n    // If we've been provided a DragControls for manual control over the drag gesture,\n    // subscribe this component to it on mount.\n    useEffect(function () { return groupDragControls && groupDragControls.subscribe(dragControls); }, [dragControls]);\n    // Mount the drag controls with the visualElement\n    useEffect(function () { return dragControls.mount(visualElement); }, []);\n}\n\nexport { useDrag };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,mBAAmB,QAAQ,sCAAsC;AAC1E,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,WAAW,QAAQ,6BAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,KAAK,EAAE;EACpB,IAAIC,iBAAiB,GAAGD,KAAK,CAACE,YAAY;IAAEC,aAAa,GAAGH,KAAK,CAACG,aAAa;EAC/E,IAAIC,kBAAkB,GAAGV,UAAU,CAACE,mBAAmB,CAAC,CAACQ,kBAAkB;EAC3E,IAAIF,YAAY,GAAGJ,WAAW,CAAC,YAAY;IACvC,OAAO,IAAID,yBAAyB,CAAC;MACjCM,aAAa,EAAEA;IACnB,CAAC,CAAC;EACN,CAAC,CAAC;EACFD,YAAY,CAACG,QAAQ,CAACZ,QAAQ,CAACA,QAAQ,CAAC,CAAC,CAAC,EAAEO,KAAK,CAAC,EAAE;IAAEI,kBAAkB,EAAEA;EAAmB,CAAC,CAAC,CAAC;EAChG;EACA;EACAT,SAAS,CAAC,YAAY;IAAE,OAAOM,iBAAiB,IAAIA,iBAAiB,CAACK,SAAS,CAACJ,YAAY,CAAC;EAAE,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EACjH;EACAP,SAAS,CAAC,YAAY;IAAE,OAAOO,YAAY,CAACK,KAAK,CAACJ,aAAa,CAAC;EAAE,CAAC,EAAE,EAAE,CAAC;AAC5E;AAEA,SAASJ,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}