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.2 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("../../../keys-BgAe7wbu.js"),l={install(l){const a=e.ref([]),p=e.ref(!1);l.provide(o.toastPluginKey,{_setIsAppend:e=>{p.value=e},toasts:a,show:(o={})=>{var l,n,s;const u=e.toRef(o.props),t=Symbol(),v={component:o.component?e.markRaw(o.component):void 0,props:{...u.value,pos:(null==(l=u.value)?void 0:l.pos)||"top-end",_modelValue:(null==(n=u.value)?void 0:n.value)||5e3,_self:t}};return(void 0!==(null==(s=u.value)?void 0:s.appendToast)?u.value.appendToast:p.value)?a.value.push(v):a.value.unshift(v),e.watch(u,(l=>{const p=a.value.findIndex((e=>e.props._self===t));-1!==p&&a.value.splice(p,1,{component:o.component?e.markRaw(o.component):void 0,props:{...a.value[p].props,...l,_modelValue:(null==l?void 0:l.value)||a.value[p].props._modelValue||5e3}})})),t},remove:e=>{a.value=a.value.filter((o=>o.props._self!==e))},leave:o=>{const l=a.value.findIndex((e=>e.props._self===o));-1!==l&&a.value.splice(l,1,{component:a.value[l].component?e.markRaw(a.value[l].component):void 0,props:{...a.value[l].props,_modelValue:!1}})}})}};exports.toastPlugin=l;
//# sourceMappingURL=index.umd.js.map