{"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;;;;"}