index.js 982 B

123456789101112131415161718192021222324252627
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  2. const require_runtime = require('../../_virtual/_rolldown/runtime.js');
  3. const require_aria = require('../../constants/aria.js');
  4. const require_event = require('../../utils/dom/event.js');
  5. let _vueuse_core = require("@vueuse/core");
  6. let vue = require("vue");
  7. //#region ../../packages/hooks/use-modal/index.ts
  8. const modalStack = [];
  9. const closeModal = (e) => {
  10. if (modalStack.length === 0) return;
  11. if (require_event.getEventCode(e) === require_aria.EVENT_CODE.esc) {
  12. e.stopPropagation();
  13. modalStack[modalStack.length - 1].handleClose();
  14. }
  15. };
  16. const useModal = (instance, visibleRef) => {
  17. (0, vue.watch)(visibleRef, (val) => {
  18. if (val) modalStack.push(instance);
  19. else modalStack.splice(modalStack.indexOf(instance), 1);
  20. });
  21. };
  22. if (_vueuse_core.isClient) (0, _vueuse_core.useEventListener)(document, "keydown", closeModal);
  23. //#endregion
  24. exports.useModal = useModal;
  25. //# sourceMappingURL=index.js.map