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"),l={install(l){const t=e.ref(new Map),a=e.ref(new Map);l.provide(o.popoverPluginKey,{popovers:t,tooltips:a,tooltip:o=>{var l;const u=e.toRef(o),r=(null==(l=u.value)?void 0:l.id)||Symbol("Tooltip controller");return e.watch(u,(l=>{t.value.set(r,{...l,...void 0!==l.modelValue&&e.isRef(o)?{"onUpdate:modelValue":e=>{var t;null==(t=l["onUpdate:modelValue"])||t.call(l,e),o.value.modelValue=e}}:{}})}),{immediate:!0,deep:!0}),e.onScopeDispose((()=>a.value.delete(r)),!0),r},popover:o=>{var l;const a=e.toRef(o),u=(null==(l=a.value)?void 0:l.id)||Symbol("Popover controller");return e.watch(a,(l=>{t.value.set(u,{...l,...void 0!==l.modelValue&&e.isRef(o)?{"onUpdate:modelValue":e=>{var t;null==(t=l["onUpdate:modelValue"])||t.call(l,e),o.value.modelValue=e}}:{}})}),{immediate:!0,deep:!0}),e.onScopeDispose((()=>t.value.delete(u)),!0),u},setPopover:(o,l)=>{const a=t.value.get(o);a&&t.value.set(o,{...a,...e.toValue(l)})},setTooltip:(o,l)=>{const t=a.value.get(o);t&&a.value.set(o,{...t,...e.toValue(l)})},removePopover:e=>t.value.delete(e),removeTooltip:e=>a.value.delete(e)})}};exports.popoverPlugin=l;
//# sourceMappingURL=index.umd.js.map