{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-prevent-global/index.ts"],"sourcesContent":["import { watch } from 'vue'\nimport { useEventListener } from '@vueuse/core'\n\nimport type { Ref } from 'vue'\n\nexport const usePreventGlobal = <E extends keyof DocumentEventMap>(\n  indicator: Ref<boolean>,\n  evt: E,\n  cb: (e: DocumentEventMap[E]) => boolean\n) => {\n  const prevent = (e: DocumentEventMap[E]) => {\n    if (cb(e)) e.stopImmediatePropagation()\n  }\n  let stop: (() => void) | undefined = undefined\n  watch(\n    () => indicator.value,\n    (val) => {\n      if (val) {\n        stop = useEventListener(document, evt, prevent, true)\n      } else {\n        stop?.()\n      }\n    },\n    { immediate: true }\n  )\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,gBAAA,GAAmB,CAC9B,SAAA,EACA,GAAA,EACA,EAAA,KACG;AACH,EAAA,MAAM,OAAA,GAAU,CAAC,CAAA,KAA2B;AAC1C,IAAA,IAAI,EAAA,CAAG,CAAC,CAAA,EAAG,CAAA,CAAE,wBAAA,EAAyB;AAAA,EACxC,CAAA;AACA,EAAA,IAAI,IAAA,GAAiC,MAAA;AACrC,EAAA,KAAA;AAAA,IACE,MAAM,SAAA,CAAU,KAAA;AAAA,IAChB,CAAC,GAAA,KAAQ;AACP,MAAA,IAAI,GAAA,EAAK;AACP,QAAA,IAAA,GAAO,gBAAA,CAAiB,QAAA,EAAU,GAAA,EAAK,OAAA,EAAS,IAAI,CAAA;AAAA,MACtD,CAAA,MAAO;AACL,QAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,EAAA;AAAA,MACF;AAAA,IACF,CAAA;AAAA,IACA,EAAE,WAAW,IAAA;AAAK,GACpB;AACF;;;;"}