{"version":3,"file":"hooks.mjs","sources":["../../../../../../packages/components/contextmenu/src/hooks.ts"],"sourcesContent":["import { ref } from 'vue'\n\nexport const useContextMenu = () => {\n  const visible = ref(false)\n\n  const position = ref({\n    top: 0,\n    left: 0,\n    bottom: 0,\n    right: 0,\n  })\n\n  const triggerRef = ref({\n    getBoundingClientRect() {\n      return position.value\n    },\n  })\n\n  const handleContextMenu = (e: any) => {\n    e.preventDefault()\n    position.value = DOMRect.fromRect({\n      x: e.clientX,\n      y: e.clientY,\n    })\n\n    visible.value = true\n  }\n\n  return {\n    visible,\n    triggerRef,\n    handleContextMenu,\n  }\n}\n"],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,MAAM;AAClC,EAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,EAAA,MAAM,WAAW,GAAI,CAAA;AAAA,IACnB,GAAK,EAAA,CAAA;AAAA,IACL,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,CAAA;AAAA,IACR,KAAO,EAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,MAAM,aAAa,GAAI,CAAA;AAAA,IACrB,qBAAwB,GAAA;AACtB,MAAA,OAAO,QAAS,CAAA,KAAA,CAAA;AAAA,KAClB;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,iBAAA,GAAoB,CAAC,CAAW,KAAA;AACpC,IAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,IAAS,QAAA,CAAA,KAAA,GAAQ,QAAQ,QAAS,CAAA;AAAA,MAChC,GAAG,CAAE,CAAA,OAAA;AAAA,MACL,GAAG,CAAE,CAAA,OAAA;AAAA,KACN,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,GACF,CAAA;AACF;;;;"}