UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

43 lines (42 loc) 1.53 kB
import "vue"; import { d as unbind, e as resolveActiveStatus, g as resolveContent, h as bind, j as resolveDirectiveProps } from "../../../floatingUi-CTdjdY0q.mjs"; import { f as defaultsKey } from "../../../keys-BLeKMItg.mjs"; import { f as findProvides } from "../../../utils-DAHbMzJg.mjs"; const vBPopover = { mounted(el, binding, vnode) { const defaults = findProvides(binding, vnode)[defaultsKey]?.value; const isActive = resolveActiveStatus(binding.value); if (!isActive) return; const text = resolveContent(binding.value, el); if (!text.body && !text.title) return; el.$__binding = JSON.stringify([binding.modifiers, binding.value]); bind(el, binding, { ...defaults["BPopover"] || void 0, ...resolveDirectiveProps(binding, el), ...text }); }, updated(el, binding, vnode) { const defaults = findProvides(binding, vnode)[defaultsKey]?.value; const isActive = resolveActiveStatus(binding.value); if (!isActive) return; const text = resolveContent(binding.value, el); if (!text.body && !text.title) return; delete binding.oldValue; if (el.$__binding === JSON.stringify([binding.modifiers, binding.value])) return; unbind(el); bind(el, binding, { ...defaults["BPopover"] || void 0, ...resolveDirectiveProps(binding, el), ...text }); el.$__binding = JSON.stringify([binding.modifiers, binding.value]); }, beforeUnmount(el) { unbind(el); } }; export { vBPopover }; //# sourceMappingURL=index.mjs.map