{"version":3,"file":"press.mjs","sources":["../../../src/gestures/press.ts"],"sourcesContent":["import { Feature, press, type VisualElement } from \"motion-dom\"\nimport { handleGestureEvent } from \"./hover\"\n\nfunction handlePressEvent(\n    node: VisualElement<Element>,\n    event: PointerEvent,\n    lifecycle: \"Start\" | \"\" | \"Cancel\"\n) {\n    if (node.current instanceof HTMLButtonElement && node.current.disabled) {\n        return\n    }\n\n    handleGestureEvent(node, event, \"Tap\", lifecycle)\n}\n\nexport class PressGesture extends Feature<Element> {\n    mount() {\n        const { current } = this.node\n        if (!current) return\n\n        const { globalTapTarget, propagate } = this.node.props\n\n        this.unmount = press(\n            current,\n            (_element, startEvent) => {\n                handlePressEvent(this.node, startEvent, \"Start\")\n\n                return (endEvent, { success }) =>\n                    handlePressEvent(\n                        this.node,\n                        endEvent,\n                        success ? \"\" : \"Cancel\"\n                    )\n            },\n            {\n                useGlobalTarget: globalTapTarget,\n                stopPropagation: propagate?.tap === false,\n            }\n        )\n    }\n\n    unmount() {}\n}\n"],"names":[],"mappings":";;;AAGA,SAAS,gBAAgB,CACrB,IAA4B,EAC5B,KAAmB,EACnB,SAAkC,EAAA;AAElC,IAAA,IAAI,IAAI,CAAC,OAAO,YAAY,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACpE;IACJ;IAEA,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AACrD;AAEM,MAAO,YAAa,SAAQ,OAAgB,CAAA;IAC9C,KAAK,GAAA;AACD,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI;AAC7B,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;AAEtD,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAChB,OAAO,EACP,CAAC,QAAQ,EAAE,UAAU,KAAI;YACrB,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;YAEhD,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KACzB,gBAAgB,CACZ,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,OAAO,GAAG,EAAE,GAAG,QAAQ,CAC1B;AACT,QAAA,CAAC,EACD;AACI,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,eAAe,EAAE,SAAS,EAAE,GAAG,KAAK,KAAK;AAC5C,SAAA,CACJ;IACL;AAEA,IAAA,OAAO,KAAI;AACd;;;;"}