UNPKG

comic-plus

Version:

<p align="center"> <img width="200px" src="./logo.png"/> </p>

51 lines (50 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const vue = require("vue"); const typescript = require("../utils/typescript.js"); function usePopup(props, emit) { const visible = vue.ref(props.modelValue); const showMode = vue.ref(props.modelValue); const onAfterEnter = () => { visible.value = true; }; const modeHandleClick = () => { if (!props.modeClose) return; if (visible.value) { close(); } }; const close = () => { if (typescript.isFunction(props.beforeClose)) { props.beforeClose(done); } else { done(); } }; const done = () => { visible.value = false; }; const onAfterLeave = () => { showMode.value = false; emit == null ? void 0 : emit("update:modelValue", false); }; vue.watch( () => props.modelValue, (val) => { if (val) { showMode.value = true; } else { visible.value = false; } } ); return { visible, showMode, onAfterEnter, modeHandleClick, onAfterLeave, close }; } exports.usePopup = usePopup;