bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
3 lines (2 loc) • 1.28 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("../../../keys-C2BcfuxJ.js"),n={install(n){const l=e.ref(new Map),r=()=>{let e=()=>{};return{value:new Promise((o=>{e=o})),resolve:e}},t=e=>[r(),e||Symbol("Modals controller"),!0];n.provide(o.modalControllerPluginKey,{modals:l,remove:e=>{l.value.delete(e)},show:(o={})=>{var n;const r=e.toRef(o.props),[p,a,s]=t(null==(n=r.value)?void 0:n.id);return l.value.set(a,{component:o.component?e.markRaw(o.component):void 0,props:{...r.value,_isConfirm:!1,_promise:p,_modelValue:s}}),e.watch(r,(n=>{const r=l.value.get(a);r&&l.value.set(a,{component:o.component?e.markRaw(o.component):void 0,props:{...r.props,...n}})})),p.value},confirm:(o={})=>{var n;const r=e.toRef(o.props),[p,a,s]=t(null==(n=r.value)?void 0:n.id);return l.value.set(a,{component:o.component?e.markRaw(o.component):void 0,props:{...r.value,_isConfirm:!0,_promise:p,_modelValue:s}}),e.watch(r,(n=>{const r=l.value.get(a);r&&l.value.set(a,{component:o.component?e.markRaw(o.component):void 0,props:{...r.props,...n}})})),p.value},leave:e=>{const o=l.value.get(e);(null==o?void 0:o.props)&&(o.props={...o.props,_modelValue:!1})}})}};exports.modalControllerPlugin=n;
//# sourceMappingURL=index.umd.js.map