vuestic-ui
Version:
Vue 3 UI Framework
1 lines • 1.11 kB
Source Map (JSON)
{"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;"}