element-plus
Version:
A Component Library for Vue 3
1 lines • 936 B
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-prevent-global/index.ts"],"sourcesContent":["import { watch } from 'vue'\nimport { on, off } from '@element-plus/utils/dom'\n\nimport type { Ref } from 'vue'\n\nexport default (\n indicator: Ref<boolean>,\n evt: string,\n cb: (e: Event) => boolean\n) => {\n const prevent = (e: Event) => {\n if (cb(e)) {\n e.stopImmediatePropagation()\n }\n }\n watch(\n () => indicator.value,\n (val) => {\n if (val) {\n on(document, evt, prevent, true)\n } else {\n off(document, evt, prevent, true)\n }\n },\n { immediate: true }\n )\n}\n"],"names":[],"mappings":";;;AAKA,uBAAe,CACb,WACA,KACA,OACG;AACH,QAAM,UAAU,CAAC,MAAa;AAC5B,QAAI,GAAG,IAAI;AACT,QAAE;AAAA;AAAA;AAGN,QACE,MAAM,UAAU,OAChB,CAAC,QAAQ;AACP,QAAI,KAAK;AACP,SAAG,UAAU,KAAK,SAAS;AAAA,WACtB;AACL,UAAI,UAAU,KAAK,SAAS;AAAA;AAAA,KAGhC,EAAE,WAAW;AAAA;;;;"}