@lanaco/lnc-react-ui
Version:
React component library
948 lines (947 loc) • 23.9 kB
JavaScript
const U = Math.min, B = Math.max, K = Math.round, X = Math.floor, L = (t) => ({
x: t,
y: t
}), Pt = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
}, Bt = {
start: "end",
end: "start"
};
function gt(t, e, o) {
return B(t, U(e, o));
}
function Q(t, e) {
return typeof t == "function" ? t(e) : t;
}
function M(t) {
return t.split("-")[0];
}
function Z(t) {
return t.split("-")[1];
}
function vt(t) {
return t === "x" ? "y" : "x";
}
function bt(t) {
return t === "y" ? "height" : "width";
}
function D(t) {
return ["top", "bottom"].includes(M(t)) ? "y" : "x";
}
function At(t) {
return vt(D(t));
}
function Mt(t, e, o) {
o === void 0 && (o = !1);
const n = Z(t), i = At(t), r = bt(i);
let s = i === "x" ? n === (o ? "end" : "start") ? "right" : "left" : n === "start" ? "bottom" : "top";
return e.reference[r] > e.floating[r] && (s = G(s)), [s, G(s)];
}
function Nt(t) {
const e = G(t);
return [rt(t), e, rt(e)];
}
function rt(t) {
return t.replace(/start|end/g, (e) => Bt[e]);
}
function Vt(t, e, o) {
const n = ["left", "right"], i = ["right", "left"], r = ["top", "bottom"], s = ["bottom", "top"];
switch (t) {
case "top":
case "bottom":
return o ? e ? i : n : e ? n : i;
case "left":
case "right":
return e ? r : s;
default:
return [];
}
}
function Wt(t, e, o, n) {
const i = Z(t);
let r = Vt(M(t), o === "start", n);
return i && (r = r.map((s) => s + "-" + i), e && (r = r.concat(r.map(rt)))), r;
}
function G(t) {
return t.replace(/left|right|bottom|top/g, (e) => Pt[e]);
}
function Ht(t) {
return {
top: 0,
right: 0,
bottom: 0,
left: 0,
...t
};
}
function _t(t) {
return typeof t != "number" ? Ht(t) : {
top: t,
right: t,
bottom: t,
left: t
};
}
function J(t) {
const {
x: e,
y: o,
width: n,
height: i
} = t;
return {
width: n,
height: i,
top: o,
left: e,
right: e + n,
bottom: o + i,
x: e,
y: o
};
}
function pt(t, e, o) {
let {
reference: n,
floating: i
} = t;
const r = D(e), s = At(e), c = bt(s), l = M(e), f = r === "y", d = n.x + n.width / 2 - i.width / 2, a = n.y + n.height / 2 - i.height / 2, m = n[c] / 2 - i[c] / 2;
let u;
switch (l) {
case "top":
u = {
x: d,
y: n.y - i.height
};
break;
case "bottom":
u = {
x: d,
y: n.y + n.height
};
break;
case "right":
u = {
x: n.x + n.width,
y: a
};
break;
case "left":
u = {
x: n.x - i.width,
y: a
};
break;
default:
u = {
x: n.x,
y: n.y
};
}
switch (Z(e)) {
case "start":
u[s] -= m * (o && f ? -1 : 1);
break;
case "end":
u[s] += m * (o && f ? -1 : 1);
break;
}
return u;
}
const $t = async (t, e, o) => {
const {
placement: n = "bottom",
strategy: i = "absolute",
middleware: r = [],
platform: s
} = o, c = r.filter(Boolean), l = await (s.isRTL == null ? void 0 : s.isRTL(e));
let f = await s.getElementRects({
reference: t,
floating: e,
strategy: i
}), {
x: d,
y: a
} = pt(f, n, l), m = n, u = {}, h = 0;
for (let p = 0; p < c.length; p++) {
const {
name: w,
fn: g
} = c[p], {
x,
y,
data: b,
reset: v
} = await g({
x: d,
y: a,
initialPlacement: n,
placement: m,
strategy: i,
middlewareData: u,
rects: f,
platform: s,
elements: {
reference: t,
floating: e
}
});
d = x ?? d, a = y ?? a, u = {
...u,
[w]: {
...u[w],
...b
}
}, v && h <= 50 && (h++, typeof v == "object" && (v.placement && (m = v.placement), v.rects && (f = v.rects === !0 ? await s.getElementRects({
reference: t,
floating: e,
strategy: i
}) : v.rects), {
x: d,
y: a
} = pt(f, m, l)), p = -1);
}
return {
x: d,
y: a,
placement: m,
strategy: i,
middlewareData: u
};
};
async function Rt(t, e) {
var o;
e === void 0 && (e = {});
const {
x: n,
y: i,
platform: r,
rects: s,
elements: c,
strategy: l
} = t, {
boundary: f = "clippingAncestors",
rootBoundary: d = "viewport",
elementContext: a = "floating",
altBoundary: m = !1,
padding: u = 0
} = Q(e, t), h = _t(u), w = c[m ? a === "floating" ? "reference" : "floating" : a], g = J(await r.getClippingRect({
element: (o = await (r.isElement == null ? void 0 : r.isElement(w))) == null || o ? w : w.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(c.floating)),
boundary: f,
rootBoundary: d,
strategy: l
})), x = a === "floating" ? {
x: n,
y: i,
width: s.floating.width,
height: s.floating.height
} : s.reference, y = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(c.floating)), b = await (r.isElement == null ? void 0 : r.isElement(y)) ? await (r.getScale == null ? void 0 : r.getScale(y)) || {
x: 1,
y: 1
} : {
x: 1,
y: 1
}, v = J(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
elements: c,
rect: x,
offsetParent: y,
strategy: l
}) : x);
return {
top: (g.top - v.top + h.top) / b.y,
bottom: (v.bottom - g.bottom + h.bottom) / b.y,
left: (g.left - v.left + h.left) / b.x,
right: (v.right - g.right + h.right) / b.x
};
}
const zt = function(t) {
return t === void 0 && (t = {}), {
name: "flip",
options: t,
async fn(e) {
var o, n;
const {
placement: i,
middlewareData: r,
rects: s,
initialPlacement: c,
platform: l,
elements: f
} = e, {
mainAxis: d = !0,
crossAxis: a = !0,
fallbackPlacements: m,
fallbackStrategy: u = "bestFit",
fallbackAxisSideDirection: h = "none",
flipAlignment: p = !0,
...w
} = Q(t, e);
if ((o = r.arrow) != null && o.alignmentOffset)
return {};
const g = M(i), x = D(c), y = M(c) === c, b = await (l.isRTL == null ? void 0 : l.isRTL(f.floating)), v = m || (y || !p ? [G(c)] : Nt(c)), z = h !== "none";
!m && z && v.push(...Wt(c, p, h, b));
const V = [c, ...v], ot = await Rt(e, w), q = [];
let W = ((n = r.flip) == null ? void 0 : n.overflows) || [];
if (d && q.push(ot[g]), a) {
const k = Mt(i, s, b);
q.push(ot[k[0]], ot[k[1]]);
}
if (W = [...W, {
placement: i,
overflows: q
}], !q.every((k) => k <= 0)) {
var dt, mt;
const k = (((dt = r.flip) == null ? void 0 : dt.index) || 0) + 1, it = V[k];
if (it && (!(a === "alignment" ? x !== D(it) : !1) || // We leave the current main axis only if every placement on that axis
// overflows the main axis.
W.every((R) => R.overflows[0] > 0 && D(R.placement) === x)))
return {
data: {
index: k,
overflows: W
},
reset: {
placement: it
}
};
let I = (mt = W.filter((P) => P.overflows[0] <= 0).sort((P, R) => P.overflows[1] - R.overflows[1])[0]) == null ? void 0 : mt.placement;
if (!I)
switch (u) {
case "bestFit": {
var ht;
const P = (ht = W.filter((R) => {
if (z) {
const S = D(R.placement);
return S === x || // Create a bias to the `y` side axis due to horizontal
// reading directions favoring greater width.
S === "y";
}
return !0;
}).map((R) => [R.placement, R.overflows.filter((S) => S > 0).reduce((S, kt) => S + kt, 0)]).sort((R, S) => R[1] - S[1])[0]) == null ? void 0 : ht[0];
P && (I = P);
break;
}
case "initialPlacement":
I = c;
break;
}
if (i !== I)
return {
reset: {
placement: I
}
};
}
return {};
}
};
};
async function It(t, e) {
const {
placement: o,
platform: n,
elements: i
} = t, r = await (n.isRTL == null ? void 0 : n.isRTL(i.floating)), s = M(o), c = Z(o), l = D(o) === "y", f = ["left", "top"].includes(s) ? -1 : 1, d = r && l ? -1 : 1, a = Q(e, t);
let {
mainAxis: m,
crossAxis: u,
alignmentAxis: h
} = typeof a == "number" ? {
mainAxis: a,
crossAxis: 0,
alignmentAxis: null
} : {
mainAxis: a.mainAxis || 0,
crossAxis: a.crossAxis || 0,
alignmentAxis: a.alignmentAxis
};
return c && typeof h == "number" && (u = c === "end" ? h * -1 : h), l ? {
x: u * d,
y: m * f
} : {
x: m * f,
y: u * d
};
}
const jt = function(t) {
return t === void 0 && (t = 0), {
name: "offset",
options: t,
async fn(e) {
var o, n;
const {
x: i,
y: r,
placement: s,
middlewareData: c
} = e, l = await It(e, t);
return s === ((o = c.offset) == null ? void 0 : o.placement) && (n = c.arrow) != null && n.alignmentOffset ? {} : {
x: i + l.x,
y: r + l.y,
data: {
...l,
placement: s
}
};
}
};
}, Yt = function(t) {
return t === void 0 && (t = {}), {
name: "shift",
options: t,
async fn(e) {
const {
x: o,
y: n,
placement: i
} = e, {
mainAxis: r = !0,
crossAxis: s = !1,
limiter: c = {
fn: (w) => {
let {
x: g,
y: x
} = w;
return {
x: g,
y: x
};
}
},
...l
} = Q(t, e), f = {
x: o,
y: n
}, d = await Rt(e, l), a = D(M(i)), m = vt(a);
let u = f[m], h = f[a];
if (r) {
const w = m === "y" ? "top" : "left", g = m === "y" ? "bottom" : "right", x = u + d[w], y = u - d[g];
u = gt(x, u, y);
}
if (s) {
const w = a === "y" ? "top" : "left", g = a === "y" ? "bottom" : "right", x = h + d[w], y = h - d[g];
h = gt(x, h, y);
}
const p = c.fn({
...e,
[m]: u,
[a]: h
});
return {
...p,
data: {
x: p.x - o,
y: p.y - n,
enabled: {
[m]: r,
[a]: s
}
}
};
}
};
};
function tt() {
return typeof window < "u";
}
function $(t) {
return Ot(t) ? (t.nodeName || "").toLowerCase() : "#document";
}
function A(t) {
var e;
return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;
}
function E(t) {
var e;
return (e = (Ot(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;
}
function Ot(t) {
return tt() ? t instanceof Node || t instanceof A(t).Node : !1;
}
function O(t) {
return tt() ? t instanceof Element || t instanceof A(t).Element : !1;
}
function T(t) {
return tt() ? t instanceof HTMLElement || t instanceof A(t).HTMLElement : !1;
}
function wt(t) {
return !tt() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof A(t).ShadowRoot;
}
function Y(t) {
const {
overflow: e,
overflowX: o,
overflowY: n,
display: i
} = C(t);
return /auto|scroll|overlay|hidden|clip/.test(e + n + o) && !["inline", "contents"].includes(i);
}
function qt(t) {
return ["table", "td", "th"].includes($(t));
}
function et(t) {
return [":popover-open", ":modal"].some((e) => {
try {
return t.matches(e);
} catch {
return !1;
}
});
}
function lt(t) {
const e = ft(), o = O(t) ? C(t) : t;
return ["transform", "translate", "scale", "rotate", "perspective"].some((n) => o[n] ? o[n] !== "none" : !1) || (o.containerType ? o.containerType !== "normal" : !1) || !e && (o.backdropFilter ? o.backdropFilter !== "none" : !1) || !e && (o.filter ? o.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((n) => (o.willChange || "").includes(n)) || ["paint", "layout", "strict", "content"].some((n) => (o.contain || "").includes(n));
}
function Xt(t) {
let e = F(t);
for (; T(e) && !_(e); ) {
if (lt(e))
return e;
if (et(e))
return null;
e = F(e);
}
return null;
}
function ft() {
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
}
function _(t) {
return ["html", "body", "#document"].includes($(t));
}
function C(t) {
return A(t).getComputedStyle(t);
}
function nt(t) {
return O(t) ? {
scrollLeft: t.scrollLeft,
scrollTop: t.scrollTop
} : {
scrollLeft: t.scrollX,
scrollTop: t.scrollY
};
}
function F(t) {
if ($(t) === "html")
return t;
const e = (
// Step into the shadow DOM of the parent of a slotted node.
t.assignedSlot || // DOM Element detected.
t.parentNode || // ShadowRoot detected.
wt(t) && t.host || // Fallback.
E(t)
);
return wt(e) ? e.host : e;
}
function Ct(t) {
const e = F(t);
return _(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : T(e) && Y(e) ? e : Ct(e);
}
function j(t, e, o) {
var n;
e === void 0 && (e = []), o === void 0 && (o = !0);
const i = Ct(t), r = i === ((n = t.ownerDocument) == null ? void 0 : n.body), s = A(i);
if (r) {
const c = ct(s);
return e.concat(s, s.visualViewport || [], Y(i) ? i : [], c && o ? j(c) : []);
}
return e.concat(i, j(i, [], o));
}
function ct(t) {
return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
}
function Lt(t) {
const e = C(t);
let o = parseFloat(e.width) || 0, n = parseFloat(e.height) || 0;
const i = T(t), r = i ? t.offsetWidth : o, s = i ? t.offsetHeight : n, c = K(o) !== r || K(n) !== s;
return c && (o = r, n = s), {
width: o,
height: n,
$: c
};
}
function at(t) {
return O(t) ? t : t.contextElement;
}
function H(t) {
const e = at(t);
if (!T(e))
return L(1);
const o = e.getBoundingClientRect(), {
width: n,
height: i,
$: r
} = Lt(e);
let s = (r ? K(o.width) : o.width) / n, c = (r ? K(o.height) : o.height) / i;
return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
x: s,
y: c
};
}
const Ut = /* @__PURE__ */ L(0);
function Tt(t) {
const e = A(t);
return !ft() || !e.visualViewport ? Ut : {
x: e.visualViewport.offsetLeft,
y: e.visualViewport.offsetTop
};
}
function Kt(t, e, o) {
return e === void 0 && (e = !1), !o || e && o !== A(t) ? !1 : e;
}
function N(t, e, o, n) {
e === void 0 && (e = !1), o === void 0 && (o = !1);
const i = t.getBoundingClientRect(), r = at(t);
let s = L(1);
e && (n ? O(n) && (s = H(n)) : s = H(t));
const c = Kt(r, o, n) ? Tt(r) : L(0);
let l = (i.left + c.x) / s.x, f = (i.top + c.y) / s.y, d = i.width / s.x, a = i.height / s.y;
if (r) {
const m = A(r), u = n && O(n) ? A(n) : n;
let h = m, p = ct(h);
for (; p && n && u !== h; ) {
const w = H(p), g = p.getBoundingClientRect(), x = C(p), y = g.left + (p.clientLeft + parseFloat(x.paddingLeft)) * w.x, b = g.top + (p.clientTop + parseFloat(x.paddingTop)) * w.y;
l *= w.x, f *= w.y, d *= w.x, a *= w.y, l += y, f += b, h = A(p), p = ct(h);
}
}
return J({
width: d,
height: a,
x: l,
y: f
});
}
function ut(t, e) {
const o = nt(t).scrollLeft;
return e ? e.left + o : N(E(t)).left + o;
}
function Et(t, e, o) {
o === void 0 && (o = !1);
const n = t.getBoundingClientRect(), i = n.left + e.scrollLeft - (o ? 0 : (
// RTL <body> scrollbar.
ut(t, n)
)), r = n.top + e.scrollTop;
return {
x: i,
y: r
};
}
function Gt(t) {
let {
elements: e,
rect: o,
offsetParent: n,
strategy: i
} = t;
const r = i === "fixed", s = E(n), c = e ? et(e.floating) : !1;
if (n === s || c && r)
return o;
let l = {
scrollLeft: 0,
scrollTop: 0
}, f = L(1);
const d = L(0), a = T(n);
if ((a || !a && !r) && (($(n) !== "body" || Y(s)) && (l = nt(n)), T(n))) {
const u = N(n);
f = H(n), d.x = u.x + n.clientLeft, d.y = u.y + n.clientTop;
}
const m = s && !a && !r ? Et(s, l, !0) : L(0);
return {
width: o.width * f.x,
height: o.height * f.y,
x: o.x * f.x - l.scrollLeft * f.x + d.x + m.x,
y: o.y * f.y - l.scrollTop * f.y + d.y + m.y
};
}
function Jt(t) {
return Array.from(t.getClientRects());
}
function Qt(t) {
const e = E(t), o = nt(t), n = t.ownerDocument.body, i = B(e.scrollWidth, e.clientWidth, n.scrollWidth, n.clientWidth), r = B(e.scrollHeight, e.clientHeight, n.scrollHeight, n.clientHeight);
let s = -o.scrollLeft + ut(t);
const c = -o.scrollTop;
return C(n).direction === "rtl" && (s += B(e.clientWidth, n.clientWidth) - i), {
width: i,
height: r,
x: s,
y: c
};
}
function Zt(t, e) {
const o = A(t), n = E(t), i = o.visualViewport;
let r = n.clientWidth, s = n.clientHeight, c = 0, l = 0;
if (i) {
r = i.width, s = i.height;
const f = ft();
(!f || f && e === "fixed") && (c = i.offsetLeft, l = i.offsetTop);
}
return {
width: r,
height: s,
x: c,
y: l
};
}
function te(t, e) {
const o = N(t, !0, e === "fixed"), n = o.top + t.clientTop, i = o.left + t.clientLeft, r = T(t) ? H(t) : L(1), s = t.clientWidth * r.x, c = t.clientHeight * r.y, l = i * r.x, f = n * r.y;
return {
width: s,
height: c,
x: l,
y: f
};
}
function xt(t, e, o) {
let n;
if (e === "viewport")
n = Zt(t, o);
else if (e === "document")
n = Qt(E(t));
else if (O(e))
n = te(e, o);
else {
const i = Tt(t);
n = {
x: e.x - i.x,
y: e.y - i.y,
width: e.width,
height: e.height
};
}
return J(n);
}
function St(t, e) {
const o = F(t);
return o === e || !O(o) || _(o) ? !1 : C(o).position === "fixed" || St(o, e);
}
function ee(t, e) {
const o = e.get(t);
if (o)
return o;
let n = j(t, [], !1).filter((c) => O(c) && $(c) !== "body"), i = null;
const r = C(t).position === "fixed";
let s = r ? F(t) : t;
for (; O(s) && !_(s); ) {
const c = C(s), l = lt(s);
!l && c.position === "fixed" && (i = null), (r ? !l && !i : !l && c.position === "static" && !!i && ["absolute", "fixed"].includes(i.position) || Y(s) && !l && St(t, s)) ? n = n.filter((d) => d !== s) : i = c, s = F(s);
}
return e.set(t, n), n;
}
function ne(t) {
let {
element: e,
boundary: o,
rootBoundary: n,
strategy: i
} = t;
const s = [...o === "clippingAncestors" ? et(e) ? [] : ee(e, this._c) : [].concat(o), n], c = s[0], l = s.reduce((f, d) => {
const a = xt(e, d, i);
return f.top = B(a.top, f.top), f.right = U(a.right, f.right), f.bottom = U(a.bottom, f.bottom), f.left = B(a.left, f.left), f;
}, xt(e, c, i));
return {
width: l.right - l.left,
height: l.bottom - l.top,
x: l.left,
y: l.top
};
}
function oe(t) {
const {
width: e,
height: o
} = Lt(t);
return {
width: e,
height: o
};
}
function ie(t, e, o) {
const n = T(e), i = E(e), r = o === "fixed", s = N(t, !0, r, e);
let c = {
scrollLeft: 0,
scrollTop: 0
};
const l = L(0);
function f() {
l.x = ut(i);
}
if (n || !n && !r)
if (($(e) !== "body" || Y(i)) && (c = nt(e)), n) {
const u = N(e, !0, r, e);
l.x = u.x + e.clientLeft, l.y = u.y + e.clientTop;
} else i && f();
r && !n && i && f();
const d = i && !n && !r ? Et(i, c) : L(0), a = s.left + c.scrollLeft - l.x - d.x, m = s.top + c.scrollTop - l.y - d.y;
return {
x: a,
y: m,
width: s.width,
height: s.height
};
}
function st(t) {
return C(t).position === "static";
}
function yt(t, e) {
if (!T(t) || C(t).position === "fixed")
return null;
if (e)
return e(t);
let o = t.offsetParent;
return E(t) === o && (o = o.ownerDocument.body), o;
}
function Dt(t, e) {
const o = A(t);
if (et(t))
return o;
if (!T(t)) {
let i = F(t);
for (; i && !_(i); ) {
if (O(i) && !st(i))
return i;
i = F(i);
}
return o;
}
let n = yt(t, e);
for (; n && qt(n) && st(n); )
n = yt(n, e);
return n && _(n) && st(n) && !lt(n) ? o : n || Xt(t) || o;
}
const se = async function(t) {
const e = this.getOffsetParent || Dt, o = this.getDimensions, n = await o(t.floating);
return {
reference: ie(t.reference, await e(t.floating), t.strategy),
floating: {
x: 0,
y: 0,
width: n.width,
height: n.height
}
};
};
function re(t) {
return C(t).direction === "rtl";
}
const ce = {
convertOffsetParentRelativeRectToViewportRelativeRect: Gt,
getDocumentElement: E,
getClippingRect: ne,
getOffsetParent: Dt,
getElementRects: se,
getClientRects: Jt,
getDimensions: oe,
getScale: H,
isElement: O,
isRTL: re
};
function Ft(t, e) {
return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;
}
function le(t, e) {
let o = null, n;
const i = E(t);
function r() {
var c;
clearTimeout(n), (c = o) == null || c.disconnect(), o = null;
}
function s(c, l) {
c === void 0 && (c = !1), l === void 0 && (l = 1), r();
const f = t.getBoundingClientRect(), {
left: d,
top: a,
width: m,
height: u
} = f;
if (c || e(), !m || !u)
return;
const h = X(a), p = X(i.clientWidth - (d + m)), w = X(i.clientHeight - (a + u)), g = X(d), y = {
rootMargin: -h + "px " + -p + "px " + -w + "px " + -g + "px",
threshold: B(0, U(1, l)) || 1
};
let b = !0;
function v(z) {
const V = z[0].intersectionRatio;
if (V !== l) {
if (!b)
return s();
V ? s(!1, V) : n = setTimeout(() => {
s(!1, 1e-7);
}, 1e3);
}
V === 1 && !Ft(f, t.getBoundingClientRect()) && s(), b = !1;
}
try {
o = new IntersectionObserver(v, {
...y,
// Handle <iframe>s
root: i.ownerDocument
});
} catch {
o = new IntersectionObserver(v, y);
}
o.observe(t);
}
return s(!0), r;
}
function fe(t, e, o, n) {
n === void 0 && (n = {});
const {
ancestorScroll: i = !0,
ancestorResize: r = !0,
elementResize: s = typeof ResizeObserver == "function",
layoutShift: c = typeof IntersectionObserver == "function",
animationFrame: l = !1
} = n, f = at(t), d = i || r ? [...f ? j(f) : [], ...j(e)] : [];
d.forEach((g) => {
i && g.addEventListener("scroll", o, {
passive: !0
}), r && g.addEventListener("resize", o);
});
const a = f && c ? le(f, o) : null;
let m = -1, u = null;
s && (u = new ResizeObserver((g) => {
let [x] = g;
x && x.target === f && u && (u.unobserve(e), cancelAnimationFrame(m), m = requestAnimationFrame(() => {
var y;
(y = u) == null || y.observe(e);
})), o();
}), f && !l && u.observe(f), u.observe(e));
let h, p = l ? N(t) : null;
l && w();
function w() {
const g = N(t);
p && !Ft(p, g) && o(), p = g, h = requestAnimationFrame(w);
}
return o(), () => {
var g;
d.forEach((x) => {
i && x.removeEventListener("scroll", o), r && x.removeEventListener("resize", o);
}), a == null || a(), (g = u) == null || g.disconnect(), u = null, l && cancelAnimationFrame(h);
};
}
const ae = jt, ue = Yt, de = zt, me = (t, e, o) => {
const n = /* @__PURE__ */ new Map(), i = {
platform: ce,
...o
}, r = {
...i.platform,
_c: n
};
return $t(t, e, {
...i,
platform: r
});
};
export {
fe as a,
me as c,
de as f,
j as g,
ae as o,
ue as s
};