{"ast":null,"code":"import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.js';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n  return useCallback(function (instance) {\n    var _a;\n    instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n    if (visualElement) {\n      instance ? visualElement.mount(instance) : visualElement.unmount();\n    }\n    if (externalRef) {\n      if (typeof externalRef === \"function\") {\n        externalRef(instance);\n      } else if (isRefObject(externalRef)) {\n        externalRef.current = instance;\n      }\n    }\n  },\n  /**\n   * Only pass a new ref callback to React if we've received a visual element\n   * factory. Otherwise we'll be mounting/remounting every time externalRef\n   * or other dependencies change.\n   */\n  [visualElement]);\n}\nexport { useMotionRef };","map":{"version":3,"names":["useCallback","isRefObject","useMotionRef","visualState","visualElement","externalRef","instance","_a","mount","call","unmount","current"],"sources":["C:/ldt/LDT/Safemate_Management/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.js';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n    return useCallback(function (instance) {\n        var _a;\n        instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n        if (visualElement) {\n            instance\n                ? visualElement.mount(instance)\n                : visualElement.unmount();\n        }\n        if (externalRef) {\n            if (typeof externalRef === \"function\") {\n                externalRef(instance);\n            }\n            else if (isRefObject(externalRef)) {\n                externalRef.current = instance;\n            }\n        }\n    }, \n    /**\n     * Only pass a new ref callback to React if we've received a visual element\n     * factory. Otherwise we'll be mounting/remounting every time externalRef\n     * or other dependencies change.\n     */\n    [visualElement]);\n}\n\nexport { useMotionRef };\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,WAAW,QAAQ,8BAA8B;;AAE1D;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,WAAW,EAAEC,aAAa,EAAEC,WAAW,EAAE;EAC3D,OAAOL,WAAW,CAAC,UAAUM,QAAQ,EAAE;IACnC,IAAIC,EAAE;IACND,QAAQ,KAAK,CAACC,EAAE,GAAGJ,WAAW,CAACK,KAAK,MAAM,IAAI,IAAID,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACE,IAAI,CAACN,WAAW,EAAEG,QAAQ,CAAC,CAAC;IAC1G,IAAIF,aAAa,EAAE;MACfE,QAAQ,GACFF,aAAa,CAACI,KAAK,CAACF,QAAQ,CAAC,GAC7BF,aAAa,CAACM,OAAO,CAAC,CAAC;IACjC;IACA,IAAIL,WAAW,EAAE;MACb,IAAI,OAAOA,WAAW,KAAK,UAAU,EAAE;QACnCA,WAAW,CAACC,QAAQ,CAAC;MACzB,CAAC,MACI,IAAIL,WAAW,CAACI,WAAW,CAAC,EAAE;QAC/BA,WAAW,CAACM,OAAO,GAAGL,QAAQ;MAClC;IACJ;EACJ,CAAC;EACD;AACJ;AACA;AACA;AACA;EACI,CAACF,aAAa,CAAC,CAAC;AACpB;AAEA,SAASF,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}