{"version":3,"file":"usePressed.mjs","sources":["../../../../src/composables/usePressed.ts"],"sourcesContent":["import { ref, Ref, onMounted } from 'vue'\n\nimport { useHTMLElement, useEvent } from './'\n\nexport function usePressed (el?: Ref<HTMLElement | undefined>) {\n  const isPressed = ref(false)\n\n  const onMouseDown = () => { isPressed.value = true }\n  const onMouseUp = () => {\n    isPressed.value = false\n  }\n\n  const target = useHTMLElement(el as Ref<HTMLElement>)\n\n  useEvent(['mousedown', 'touchstart', 'dragstart'], onMouseDown, target)\n  useEvent([\n    'mouseup', 'mouseleave',\n    'touchend', 'touchcancel',\n    'drop', 'dragend',\n  ], onMouseUp, true)\n\n  return { isPressed, onMouseDown, onMouseUp }\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,WAAY,IAAmC;AACvD,QAAA,YAAY,IAAI,KAAK;AAE3B,QAAM,cAAc,MAAM;AAAE,cAAU,QAAQ;AAAA,EAAA;AAC9C,QAAM,YAAY,MAAM;AACtB,cAAU,QAAQ;AAAA,EAAA;AAGd,QAAA,SAAS,eAAe,EAAsB;AAEpD,WAAS,CAAC,aAAa,cAAc,WAAW,GAAG,aAAa,MAAM;AAC7D,WAAA;AAAA,IACP;AAAA,IAAW;AAAA,IACX;AAAA,IAAY;AAAA,IACZ;AAAA,IAAQ;AAAA,EAAA,GACP,WAAW,IAAI;AAEX,SAAA,EAAE,WAAW,aAAa;AACnC;"}