UNPKG

vuestic-ui

Version:
53 lines (52 loc) 1.29 kB
import { u as useMount } from "../../../composables/useMount.mjs"; import { V as VaMenu } from "../va-menu.mjs"; import { onBeforeUnmount } from "vue"; const useMenu = () => { const { createInstance } = useMount(VaMenu); const instances = []; const destroyAll = () => instances.forEach((destroy) => destroy()); const show = (props) => { destroyAll(); props.event.preventDefault(); const destroy = createInstance({ ...props, anchor: props.event.target, cursor: { getBoundingClientRect() { const resX = props.event.clientX; const resY = props.event.clientY; return { width: 0, height: 0, x: resX, y: resY, top: resY, right: resX, bottom: resY, left: resX }; }, contextElement: props.event.target }, stateful: true, modelValue: true, preset: "context", onBeforeUnmount: () => { destroy(); } }); instances.push(destroy); return () => { destroy(); instances.splice(instances.indexOf(destroy), 1); }; }; onBeforeUnmount(destroyAll); return { show }; }; export { useMenu as u }; //# sourceMappingURL=useMenu.mjs.map