UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.34 kB
{"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,gBAAmB,GAAA,CAC9B,SACA,EAAA,GAAA,EACA,EACG,KAAA;AACH,EAAM,MAAA,OAAA,GAAU,CAAC,CAA2B,KAAA;AAC1C,IAAA,IAAI,GAAG,CAAC,CAAA;AAAG,MAAA,CAAA,CAAE,wBAAyB,EAAA,CAAA;AAAA,GACxC,CAAA;AACA,EAAA,IAAI,IAAiC,GAAA,KAAA,CAAA,CAAA;AACrC,EAAA,KAAA;AAAA,IACE,MAAM,SAAU,CAAA,KAAA;AAAA,IAChB,CAAC,GAAQ,KAAA;AACP,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,GAAO,gBAAiB,CAAA,QAAA,EAAU,GAAK,EAAA,OAAA,EAAS,IAAI,CAAA,CAAA;AAAA,OAC/C,MAAA;AACL,QAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAAA;AAAA,OACF;AAAA,KACF;AAAA,IACA,EAAE,WAAW,IAAK,EAAA;AAAA,GACpB,CAAA;AACF;;;;"}