| 123456789101112131415161718192021222324252627282930313233343536373839 | import { createApp, reactive } from "vue";import { extend } from "../utils/index.mjs";import { useExpose } from "../composables/use-expose.mjs";function usePopupState() {  const state = reactive({    show: false  });  const toggle = (show) => {    state.show = show;  };  const open = (props) => {    extend(state, props, { transitionAppear: true });    toggle(true);  };  const close = () => toggle(false);  useExpose({ open, close, toggle });  return {    open,    close,    state,    toggle  };}function mountComponent(RootComponent) {  const app = createApp(RootComponent);  const root = document.createElement("div");  document.body.appendChild(root);  return {    instance: app.mount(root),    unmount() {      app.unmount();      document.body.removeChild(root);    }  };}export {  mountComponent,  usePopupState};
 |