UNPKG

vuestic-ui

Version:
43 lines (42 loc) 1.19 kB
import { watchEffect, onBeforeUnmount } from "vue"; import { u as useCurrentComponentId } from "../../../composables/useCurrentComponentId.js"; import { u as useDocument } from "../../../composables/useDocument.js"; const openedModals = []; const useBlur = (shouldBlur, isModalShown) => { const id = useCurrentComponentId(); const document = useDocument(); const blur = () => { var _a; if (openedModals.includes(id)) { return; } openedModals.push(id); (_a = document.value) == null ? void 0 : _a.body.classList.add("va-modal-overlay-background--blurred"); }; const removeBlur = () => { var _a; const modalIndex = openedModals.indexOf(id); if (modalIndex === -1) { return; } openedModals.splice(modalIndex, 1); if (openedModals.length === 0) { (_a = document.value) == null ? void 0 : _a.body.classList.remove("va-modal-overlay-background--blurred"); } }; watchEffect(() => { if (!shouldBlur.value) { return; } if (isModalShown.value) { blur(); } else { removeBlur(); } }); onBeforeUnmount(removeBlur); }; export { useBlur as u }; //# sourceMappingURL=useBlur.js.map