| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*! NanoPop 2.4.2 MIT | https://github.com/Simonwep/nanopop */
- const N = "2.4.2", I = {
- variantFlipOrder: { start: "sme", middle: "mse", end: "ems" },
- positionFlipOrder: { top: "tbrl", right: "rltb", bottom: "btrl", left: "lrbt" },
- position: "bottom",
- margin: 8,
- padding: 0
- }, J = (n, i, m) => {
- const {
- container: r,
- arrow: a,
- margin: e,
- padding: l,
- position: V,
- variantFlipOrder: C,
- positionFlipOrder: M
- } = {
- container: document.documentElement.getBoundingClientRect(),
- ...I,
- ...m
- }, { left: F, top: K } = i.style;
- i.style.left = "0", i.style.top = "0";
- const t = n.getBoundingClientRect(), o = i.getBoundingClientRect(), P = {
- t: t.top - o.height - e,
- b: t.bottom + e,
- r: t.right + e,
- l: t.left - o.width - e
- }, R = {
- vs: t.left,
- vm: t.left + t.width / 2 - o.width / 2,
- ve: t.left + t.width - o.width,
- hs: t.top,
- hm: t.bottom - t.height / 2 - o.height / 2,
- he: t.bottom - o.height
- }, [$, E = "middle"] = V.split("-"), L = M[$], j = C[E], { top: y, left: x, bottom: B, right: O } = r;
- for (const c of L) {
- const s = c === "t" || c === "b";
- let p = P[c];
- const [d, g] = s ? ["top", "left"] : ["left", "top"], [u, v] = s ? [o.height, o.width] : [o.width, o.height], [z, T] = s ? [B, O] : [O, B], [H, k] = s ? [y, x] : [x, y];
- if (!(p < H || p + u + l > z))
- for (const b of j) {
- let f = R[(s ? "v" : "h") + b];
- if (!(f < k || f + v + l > T)) {
- if (f -= o[g], p -= o[d], i.style[g] = `${f}px`, i.style[d] = `${p}px`, a) {
- const w = s ? t.width / 2 : t.height / 2, h = v / 2, S = w > h, q = {
- s: S ? h : w,
- m: h,
- e: S ? h : v - w
- }, A = {
- t: u,
- b: 0,
- r: 0,
- l: u
- }, D = f + q[b], G = p + A[c];
- a.style[g] = `${D}px`, a.style[d] = `${G}px`;
- }
- return c + b;
- }
- }
- }
- return i.style.left = F, i.style.top = K, null;
- }, Q = (n, i, m) => {
- const r = typeof n == "object" && !(n instanceof HTMLElement) ? n : { reference: n, popper: i, ...m };
- return {
- /**
- * Repositions the current popper.
- * @param options Optional options which get merged with the current ones.
- */
- update(a = r) {
- const { reference: e, popper: l } = Object.assign(r, a);
- if (!l || !e)
- throw new Error("Popper- or reference-element missing.");
- return J(e, l, r);
- }
- };
- };
- export {
- Q as createPopper,
- I as defaults,
- J as reposition,
- N as version
- };
- //# sourceMappingURL=nanopop.mjs.map
|