@dialpad/dialtone-vue
Version:
Vue component library for Dialpad's design system Dialtone
79 lines (78 loc) • 1.79 kB
JavaScript
import o, { sticky as s } from "tippy.js";
const a = [
"bottom",
"bottom-start",
"bottom-end",
"right",
"right-start",
"right-end",
"left",
"left-start",
"left-end",
"top",
"top-start",
"top-end"
], l = [!0, !1, "reference", "popper"], d = (t, e) => {
const { contentElement: n } = { ...e };
return delete e.contentElement, o(t, {
...e,
plugins: [s],
render: () => i(n)
});
}, m = (t, e) => o(t, {
...e,
plugins: [s]
}), u = ({
boundary: t = "clippingParents",
fallbackPlacements: e = [],
hasHideModifierEnabled: n = !1,
// If set to false the dialog will display over top of the anchor when there is insufficient space.
// if set to true it will never move from its position relative to the anchor and will clip instead.
tether: r = !0
} = {}) => ({
modifiers: [
{
name: "flip",
options: {
fallbackPlacements: e,
boundary: t
}
},
{
name: "hide",
enabled: n
},
{
name: "preventOverflow",
options: {
altAxis: !r,
tether: r
}
}
]
}), p = (t) => {
const e = document.createElement("span");
return e.innerText = t.innerText || "", t.innerText = "", t.appendChild(e), e;
}, f = (t) => {
if (!t) {
console.warn("No anchor wrapper provided. This may cause issues with the popover.");
return;
}
const e = t.children[0];
return e || p(t);
}, i = (t) => {
const e = document.createElement("div");
return e.className = "tippy-box d-ps-absolute", e.appendChild(t), {
popper: e
};
};
export {
a as BASE_TIPPY_DIRECTIONS,
l as TIPPY_STICKY_VALUES,
m as createTippy,
d as createTippyPopover,
f as getAnchor,
i as getContentWrapper,
u as getPopperOptions
};
//# sourceMappingURL=tippy-utils.js.map