{"ast":null,"code":"import { useRef } from 'react';\nimport { isNodeOrChild } from './utils/is-node-or-child.js';\nimport { usePointerEvent, addPointerEvent } from '../events/use-pointer-event.js';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.js';\nimport { pipe } from 'popmotion';\nimport { AnimationType } from '../render/utils/types.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\n/**\n * @param handlers -\n * @internal\n */\nfunction useTapGesture(_a) {\n  var onTap = _a.onTap,\n    onTapStart = _a.onTapStart,\n    onTapCancel = _a.onTapCancel,\n    whileTap = _a.whileTap,\n    visualElement = _a.visualElement;\n  var hasPressListeners = onTap || onTapStart || onTapCancel || whileTap;\n  var isPressing = useRef(false);\n  var cancelPointerEndListeners = useRef(null);\n  function removePointerEndListener() {\n    var _a;\n    (_a = cancelPointerEndListeners.current) === null || _a === void 0 ? void 0 : _a.call(cancelPointerEndListeners);\n    cancelPointerEndListeners.current = null;\n  }\n  function checkPointerEnd() {\n    var _a;\n    removePointerEndListener();\n    isPressing.current = false;\n    (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, false);\n    return !isDragActive();\n  }\n  function onPointerUp(event, info) {\n    if (!checkPointerEnd()) return;\n    /**\n     * We only count this as a tap gesture if the event.target is the same\n     * as, or a child of, this component's element\n     */\n    !isNodeOrChild(visualElement.getInstance(), event.target) ? onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info) : onTap === null || onTap === void 0 ? void 0 : onTap(event, info);\n  }\n  function onPointerCancel(event, info) {\n    if (!checkPointerEnd()) return;\n    onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info);\n  }\n  function onPointerDown(event, info) {\n    var _a;\n    removePointerEndListener();\n    if (isPressing.current) return;\n    isPressing.current = true;\n    cancelPointerEndListeners.current = pipe(addPointerEvent(window, \"pointerup\", onPointerUp), addPointerEvent(window, \"pointercancel\", onPointerCancel));\n    onTapStart === null || onTapStart === void 0 ? void 0 : onTapStart(event, info);\n    (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, true);\n  }\n  usePointerEvent(visualElement, \"pointerdown\", hasPressListeners ? onPointerDown : undefined);\n  useUnmountEffect(removePointerEndListener);\n}\nexport { useTapGesture };","map":{"version":3,"names":["useRef","isNodeOrChild","usePointerEvent","addPointerEvent","useUnmountEffect","pipe","AnimationType","isDragActive","useTapGesture","_a","onTap","onTapStart","onTapCancel","whileTap","visualElement","hasPressListeners","isPressing","cancelPointerEndListeners","removePointerEndListener","current","call","checkPointerEnd","animationState","setActive","Tap","onPointerUp","event","info","getInstance","target","onPointerCancel","onPointerDown","window","undefined"],"sources":["C:/LDT/DSP_Management/node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js"],"sourcesContent":["import { useRef } from 'react';\nimport { isNodeOrChild } from './utils/is-node-or-child.js';\nimport { usePointerEvent, addPointerEvent } from '../events/use-pointer-event.js';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.js';\nimport { pipe } from 'popmotion';\nimport { AnimationType } from '../render/utils/types.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\n/**\n * @param handlers -\n * @internal\n */\nfunction useTapGesture(_a) {\n    var onTap = _a.onTap, onTapStart = _a.onTapStart, onTapCancel = _a.onTapCancel, whileTap = _a.whileTap, visualElement = _a.visualElement;\n    var hasPressListeners = onTap || onTapStart || onTapCancel || whileTap;\n    var isPressing = useRef(false);\n    var cancelPointerEndListeners = useRef(null);\n    function removePointerEndListener() {\n        var _a;\n        (_a = cancelPointerEndListeners.current) === null || _a === void 0 ? void 0 : _a.call(cancelPointerEndListeners);\n        cancelPointerEndListeners.current = null;\n    }\n    function checkPointerEnd() {\n        var _a;\n        removePointerEndListener();\n        isPressing.current = false;\n        (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, false);\n        return !isDragActive();\n    }\n    function onPointerUp(event, info) {\n        if (!checkPointerEnd())\n            return;\n        /**\n         * We only count this as a tap gesture if the event.target is the same\n         * as, or a child of, this component's element\n         */\n        !isNodeOrChild(visualElement.getInstance(), event.target)\n            ? onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info)\n            : onTap === null || onTap === void 0 ? void 0 : onTap(event, info);\n    }\n    function onPointerCancel(event, info) {\n        if (!checkPointerEnd())\n            return;\n        onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info);\n    }\n    function onPointerDown(event, info) {\n        var _a;\n        removePointerEndListener();\n        if (isPressing.current)\n            return;\n        isPressing.current = true;\n        cancelPointerEndListeners.current = pipe(addPointerEvent(window, \"pointerup\", onPointerUp), addPointerEvent(window, \"pointercancel\", onPointerCancel));\n        onTapStart === null || onTapStart === void 0 ? void 0 : onTapStart(event, info);\n        (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, true);\n    }\n    usePointerEvent(visualElement, \"pointerdown\", hasPressListeners ? onPointerDown : undefined);\n    useUnmountEffect(removePointerEndListener);\n}\n\nexport { useTapGesture };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}