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
JavaScript
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