UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

1,733 lines 80.1 kB
(function() { try { var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {}; e.SENTRY_RELEASE = { id: "3.7.8" }; var t = new e.Error().stack; t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "ffb3159f-ded6-4685-b05b-83e4c202ad8a", e._sentryDebugIdIdentifier = "sentry-dbid-ffb3159f-ded6-4685-b05b-83e4c202ad8a"); } catch {} })(); import { r as e } from "./rolldown-runtime-YBAZwyzS.js"; import { t } from "./react-Di3Pmpio.js"; import { t as n } from "./jsx-runtime-C8yjdFgZ.js"; import { t as r } from "./react-dom-xeogvqlp.js"; //#region ../../node_modules/.pnpm/react-virtuoso@4.18.7_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/react-virtuoso/dist/index.mjs var i = n(), a = /* @__PURE__ */ e(t(), 1), o = /* @__PURE__ */ e(r(), 1), s = 0, c = 1, l = 2, u = 4; function d(e) { return () => e; } function f(e) { e(); } function p(e, t) { return (n) => e(t(n)); } function m(e, t) { return () => e(t); } function h(e, t) { return (n) => e(t, n); } function g(e) { return e !== void 0; } function _(...e) { return () => { e.map(f); }; } function v() {} function y(e, t) { return t(e), e; } function b(e, t) { return t(e); } function x(...e) { return e; } function S(e, t) { return e(c, t); } function C(e, t) { e(s, t); } function w(e) { e(l); } function T(e) { return e(u); } function E(e, t) { return S(e, h(t, s)); } function D(e, t) { let n = e(c, (e) => { n(), t(e); }); return n; } function O(e) { let t, n; return (r) => (i) => { t = i, n && clearTimeout(n), n = setTimeout(() => { r(t); }, e); }; } function k(e, t) { return e === t; } function A(e = k) { let t; return (n) => (r) => { e(t, r) || (t = r, n(r)); }; } function j(e) { return (t) => (n) => { e(n) && t(n); }; } function M(e) { return (t) => p(t, e); } function ee(e) { return (t) => () => { t(e); }; } function N(e, ...t) { let n = re(...t); return ((t, r) => { switch (t) { case l: w(e); return; case c: return S(e, n(r)); } }); } function P(e, t) { return (n) => (r) => { n(t = e(t, r)); }; } function te(e) { return (t) => (n) => { e > 0 ? e-- : t(n); }; } function ne(e) { let t = null, n; return (r) => (i) => { t = i, !n && (n = setTimeout(() => { n = void 0, r(t); }, e)); }; } function F(...e) { let t = Array(e.length), n = 0, r = null, i = 2 ** e.length - 1; return e.forEach((e, a) => { let o = 2 ** a; S(e, (e) => { let s = n; n |= o, t[a] = e, s !== i && n === i && r && (r(), r = null); }); }), (e) => (a) => { let o = () => { e([a].concat(t)); }; n === i ? o() : r = o; }; } function re(...e) { return (t) => e.reduceRight(b, t); } function ie(e) { let t, n, r = () => t == null ? void 0 : t(); return function(i, a) { switch (i) { case c: return a ? n === a ? void 0 : (r(), n = a, t = S(e, a), t) : (r(), v); case l: r(), n = null; return; } }; } function I(e) { let t = e, n = R(); return ((e, r) => { switch (e) { case s: t = r; break; case c: r(t); break; case u: return t; } return n(e, r); }); } function L(e, t) { return y(I(t), (t) => E(e, t)); } function R() { let e = []; return ((t, n) => { switch (t) { case s: e.slice().forEach((e) => { e(n); }); return; case l: e.splice(0, e.length); return; case c: return e.push(n), () => { let t = e.indexOf(n); t > -1 && e.splice(t, 1); }; } }); } function z(e) { return y(R(), (t) => E(e, t)); } function B(e, t = [], { singleton: n } = { singleton: !0 }) { return { constructor: e, dependencies: t, id: ae(), singleton: n }; } var ae = () => Symbol(); function oe(e) { let t = /* @__PURE__ */ new Map(), n = ({ constructor: e, dependencies: r, id: i, singleton: a }) => { if (a && t.has(i)) return t.get(i); let o = e(r.map((e) => n(e))); return a && t.set(i, o), o; }; return n(e); } function V(...e) { let t = R(), n = Array(e.length), r = 0, i = 2 ** e.length - 1; return e.forEach((e, a) => { let o = 2 ** a; S(e, (e) => { n[a] = e, r |= o, r === i && C(t, n); }); }), function(e, a) { switch (e) { case l: w(t); return; case c: return r === i && a(n), S(t, a); } }; } function H(e, t = k) { return N(e, A(t)); } function se(...e) { return function(t, n) { switch (t) { case l: return; case c: return _(...e.map((e) => S(e, n))); } }; } var U = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 }, ce = { [U.DEBUG]: "debug", [U.ERROR]: "error", [U.INFO]: "log", [U.WARN]: "warn" }, le = () => typeof globalThis > "u" ? window : globalThis, W = B(() => { let e = I(U.ERROR); return { log: I((t, n, r = U.INFO) => { var i; r >= ((i = le().VIRTUOSO_LOG_LEVEL) == null ? T(e) : i) && console[ce[r]]("%creact-virtuoso: %c%s %o", "color: #0253b3; font-weight: bold", "color: initial", t, n); }), logLevel: e }; }, [], { singleton: !0 }), ue = /* @__PURE__ */ new WeakMap(); function de(e) { return "self" in e ? e.document.documentElement : e; } function fe(e) { let t = de(e), n = ue.get(t); if (n !== void 0) return n; let r = t.ownerDocument.defaultView.getComputedStyle(t).direction === "rtl"; return ue.set(t, r), r; } function pe(e) { ue.delete(de(e)); } function me(e, t) { return fe(e) ? -t : t; } var he = me; function ge(e, t) { return me(e, t); } function _e(e, t, n) { return ve(e, t, n).callbackRef; } function ve(e, t, n) { let r = a.useRef(null), i = (e) => {}, o = a.useMemo(() => typeof ResizeObserver < "u" ? new ResizeObserver((t) => { let r = () => { let n = t[0].target; n.offsetParent !== null && e(n); }; n ? r() : requestAnimationFrame(r); }) : null, [e, n]); return i = (e) => { e && t ? (o == null || o.observe(e), r.current = e) : (r.current && (o == null || o.unobserve(r.current)), r.current = null); }, { callbackRef: i, ref: r }; } function ye(e, t, n, r, i, o, s, c, l) { return ve(a.useCallback((n) => { let a = be(n.children, t, c ? "offsetWidth" : "offsetHeight", i), l = n.parentElement; for (; l.dataset.virtuosoScroller === void 0;) l = l.parentElement; let u = l.lastElementChild.dataset.viewportType === "window", d; u && (d = l.ownerDocument.defaultView); let f = s ? c ? s.scrollWidth : s.scrollHeight : u ? c ? d.document.documentElement.scrollWidth : d.document.documentElement.scrollHeight : c ? l.scrollWidth : l.scrollHeight, p = s ? c ? s.offsetWidth : s.offsetHeight : u ? c ? d.innerWidth : d.innerHeight : c ? l.offsetWidth : l.offsetHeight, m = s ? c ? he(s, s.scrollLeft) : s.scrollTop : u ? c ? he(d, d.scrollX || d.document.documentElement.scrollLeft) : d.scrollY || d.document.documentElement.scrollTop : c ? he(l, l.scrollLeft) : l.scrollTop; r({ scrollHeight: f, scrollTop: Math.max(m, 0), viewportHeight: p }), o == null || o(c ? xe("column-gap", getComputedStyle(n).columnGap, i) : xe("row-gap", getComputedStyle(n).rowGap, i)), a !== null && e(a); }, [ e, t, i, o, s, r, c ]), n, l); } function be(e, t, n, r) { let i = e.length; if (i === 0) return null; let a = []; for (let o = 0; o < i; o++) { let i = e.item(o); if (i.dataset.index === void 0) continue; let s = parseInt(i.dataset.index), c = parseFloat(i.dataset.knownSize), l = t(i, n); if (l === 0 && r("Zero-sized element, this should not happen", { child: i }, U.ERROR), l === c) continue; let u = a[a.length - 1]; a.length === 0 || u.size !== l || u.endIndex !== s - 1 ? a.push({ endIndex: s, size: l, startIndex: s }) : a[a.length - 1].endIndex++; } return a; } function xe(e, t, n) { return t !== "normal" && (t == null ? void 0 : t.endsWith("px")) !== !0 && n(`${e} was not resolved to pixel value correctly`, t, U.WARN), t === "normal" ? 0 : parseInt(t == null ? "0" : t, 10); } function Se(e, t, n) { let r = a.useRef(null), i = a.useCallback((n) => { if (!(n != null && n.offsetParent)) return; let i = n.getBoundingClientRect(), a = i.width, o, c; if (t) { let e = t.getBoundingClientRect(), n = i.top - e.top; c = e.height - Math.max(0, n), o = n + t.scrollTop; } else { let e = s.current.ownerDocument.defaultView; c = e.innerHeight - Math.max(0, i.top), o = i.top + e.scrollY; } r.current = { listHeight: i.height, offsetTop: o, visibleHeight: c, visibleWidth: a }, e(r.current); }, [e, t]), { callbackRef: o, ref: s } = ve(i, !0, n), c = a.useCallback(() => { i(s.current); }, [i, s]); return a.useEffect(() => { var e; if (t) { t.addEventListener("scroll", c); let e = new ResizeObserver(() => { requestAnimationFrame(c); }); return e.observe(t), () => { t.removeEventListener("scroll", c), e.unobserve(t); }; } let n = (e = s.current) == null ? void 0 : e.ownerDocument.defaultView; return n == null || n.addEventListener("scroll", c), n == null || n.addEventListener("resize", c), () => { n == null || n.removeEventListener("scroll", c), n == null || n.removeEventListener("resize", c); }; }, [ c, t, s ]), o; } var G = B(() => { let e = R(), t = R(), n = I(0), r = R(), i = I(0), a = R(), o = R(), s = I(0), c = I(0), l = I(0), u = I(0), d = R(), f = R(), p = I(!1), m = I(!1), h = I(!1); return E(N(e, M(({ scrollTop: e }) => e)), t), E(N(e, M(({ scrollHeight: e }) => e)), o), E(t, i), { deviation: n, fixedFooterHeight: l, fixedHeaderHeight: c, footerHeight: u, headerHeight: s, horizontalDirection: m, scrollBy: f, scrollContainerState: e, scrollHeight: o, scrollingInProgress: p, scrollTo: d, scrollTop: t, skipAnimationFrameInResizeObserver: h, smoothScrollTargetReached: r, statefulScrollTop: i, viewportHeight: a }; }, [], { singleton: !0 }), Ce = { lvl: 0 }; function we(e, t) { let n = e.length; if (n === 0) return []; let { index: r, value: i } = t(e[0]), a = []; for (let o = 1; o < n; o++) { let { index: n, value: s } = t(e[o]); a.push({ end: n - 1, start: r, value: i }), r = n, i = s; } return a.push({ end: Infinity, start: r, value: i }), a; } function K(e) { return e === Ce; } function Te(e, t) { if (!K(e)) return t === e.k ? e.v : t < e.k ? Te(e.l, t) : Te(e.r, t); } function Ee(e, t, n = "k") { if (K(e)) return [-Infinity, void 0]; if (Number(e[n]) === t) return [e.k, e.v]; if (Number(e[n]) < t) { let r = Ee(e.r, t, n); return r[0] === -Infinity ? [e.k, e.v] : r; } return Ee(e.l, t, n); } function q(e, t, n) { return K(e) ? Ie(t, n, 1) : t === e.k ? J(e, { k: t, v: n }) : t < e.k ? Le(J(e, { l: q(e.l, t, n) })) : Le(J(e, { r: q(e.r, t, n) })); } function De() { return Ce; } function Oe(e, t, n) { if (K(e)) return []; let r = Ee(e, t)[0]; return Be(je(e, r, n)); } function ke(e, t) { if (K(e)) return Ce; let { k: n, l: r, r: i } = e; if (t === n) { if (K(r)) return i; if (K(i)) return r; let [t, n] = Fe(r); return Me(J(e, { k: t, l: Ne(r), v: n })); } return Me(t < n ? J(e, { l: ke(r, t) }) : J(e, { r: ke(i, t) })); } function Ae(e) { return K(e) ? [] : [ ...Ae(e.l), { k: e.k, v: e.v }, ...Ae(e.r) ]; } function je(e, t, n) { if (K(e)) return []; let { k: r, l: i, r: a, v: o } = e, s = []; return r > t && (s = s.concat(je(i, t, n))), r >= t && r <= n && s.push({ k: r, v: o }), r <= n && (s = s.concat(je(a, t, n))), s; } function Me(e) { let { l: t, lvl: n, r } = e; if (r.lvl >= n - 1 && t.lvl >= n - 1) return e; if (n > r.lvl + 1) { if (Pe(t)) return Re(J(e, { lvl: n - 1 })); if (!K(t) && !K(t.r)) return J(t.r, { l: J(t, { r: t.r.l }), lvl: n, r: J(e, { l: t.r.r, lvl: n - 1 }) }); throw Error("Unexpected empty nodes"); } if (Pe(e)) return ze(J(e, { lvl: n - 1 })); if (!K(r) && !K(r.l)) { let t = r.l, i = Pe(t) ? r.lvl - 1 : r.lvl; return J(t, { l: J(e, { lvl: n - 1, r: t.l }), lvl: t.lvl + 1, r: ze(J(r, { l: t.r, lvl: i })) }); } throw Error("Unexpected empty nodes"); } function J(e, t) { return Ie(t.k === void 0 ? e.k : t.k, t.v === void 0 ? e.v : t.v, t.lvl === void 0 ? e.lvl : t.lvl, t.l === void 0 ? e.l : t.l, t.r === void 0 ? e.r : t.r); } function Ne(e) { return K(e.r) ? e.l : Me(J(e, { r: Ne(e.r) })); } function Pe(e) { return K(e) || e.lvl > e.r.lvl; } function Fe(e) { return K(e.r) ? [e.k, e.v] : Fe(e.r); } function Ie(e, t, n, r = Ce, i = Ce) { return { k: e, l: r, lvl: n, r: i, v: t }; } function Le(e) { return ze(Re(e)); } function Re(e) { let { l: t } = e; return !K(t) && t.lvl === e.lvl ? J(t, { r: J(e, { l: t.r }) }) : e; } function ze(e) { let { lvl: t, r: n } = e; return !K(n) && !K(n.r) && n.lvl === t && n.r.lvl === t ? J(n, { l: J(e, { r: n.l }), lvl: t + 1 }) : e; } function Be(e) { return we(e, ({ k: e, v: t }) => ({ index: e, value: t })); } function Ve(e, t) { return !!(e && e.startIndex === t.startIndex && e.endIndex === t.endIndex); } function He(e, t) { return !!(e && e[0] === t[0] && e[1] === t[1]); } var Ue = B(() => ({ recalcInProgress: I(!1) }), [], { singleton: !0 }); function We(e, t, n) { return e[Ge(e, t, n)]; } function Ge(e, t, n, r = 0) { let i = e.length - 1; for (; r <= i;) { let a = Math.floor((r + i) / 2), o = e[a], s = n(o, t); if (s === 0) return a; if (s === -1) { if (i - r < 2) return a - 1; i = a - 1; } else { if (i === r) return a; r = a + 1; } } throw Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`); } function Ke(e, t, n, r) { let i = Ge(e, t, r), a = Ge(e, n, r, i); return e.slice(i, a + 1); } function qe(e, t) { return Math.round(e.getBoundingClientRect()[t]); } function Je(e) { return !K(e.groupOffsetTree); } function Ye({ index: e }, t) { return t === e ? 0 : t < e ? -1 : 1; } function Xe() { return { groupIndices: [], groupOffsetTree: De(), lastIndex: 0, lastOffset: 0, lastSize: 0, offsetTree: [], sizeTree: De() }; } function Ze(e, t) { let n = K(e) ? 0 : Infinity; for (let r of t) { let { endIndex: t, size: i, startIndex: a } = r; if (n = Math.min(n, a), K(e)) { e = q(e, 0, i); continue; } let o = Oe(e, a - 1, t + 1); if (o.some(lt(r))) continue; let s = !1, c = !1; for (let { end: n, start: r, value: a } of o) s ? (t >= r || i === a) && (e = ke(e, r)) : (c = a !== i, s = !0), n > t && t >= r && a !== i && (e = q(e, t + 1, a)); c && (e = q(e, a, i)); } return [e, n]; } function Qe(e) { return typeof e.groupIndex < "u"; } function $e({ offset: e }, t) { return t === e ? 0 : t < e ? -1 : 1; } function et(e, t, n) { if (t.length === 0) return 0; let { index: r, offset: i, size: a } = We(t, e, Ye), o = e - r, s = a * o + (o - 1) * n + i; return s > 0 ? s + n : s; } function tt(e, t) { if (!Je(t)) return e; let n = 0; for (; t.groupIndices[n] <= e + n;) n++; return e + n; } function nt(e, t, n) { if (Qe(e)) return t.groupIndices[e.groupIndex] + 1; let r = tt(e.index === "LAST" ? n : e.index, t); return r = Math.max(0, r, Math.min(n, r)), r; } function rt(e, t, n, r = 0) { return r > 0 && (t = Math.max(t, We(e, r, Ye).offset)), we(Ke(e, t, n, $e), ct); } function it(e, [t, n, r, i]) { t.length > 0 && r("received item sizes", t, U.DEBUG); let a = e.sizeTree, o = a, s = 0; if (n.length > 0 && K(a) && t.length === 2) { let e = t[0].size, r = t[1].size; o = n.reduce((t, n) => q(q(t, n, e), n + 1, r), o); } else [o, s] = Ze(o, t); if (o === a) return e; let { lastIndex: c, lastOffset: l, lastSize: u, offsetTree: d } = st(e.offsetTree, s, o, i); return { groupIndices: n, groupOffsetTree: n.reduce((e, t) => q(e, t, et(t, d, i)), De()), lastIndex: c, lastOffset: l, lastSize: u, offsetTree: d, sizeTree: o }; } function at(e) { return Ae(e).map(({ k: e, v: t }, n, r) => { let i = r[n + 1]; return { endIndex: i === void 0 ? Infinity : i.k - 1, size: t, startIndex: e }; }); } function ot(e, t) { let n = 0, r = 0; for (; n < e;) n += t[r + 1] - t[r] - 1, r++; return r - (n === e ? 0 : 1); } function st(e, t, n, r) { let i = e, a = 0, o = 0, s = 0, c = 0; if (t !== 0) { c = Ge(i, t - 1, Ye), s = i[c].offset; let e = Ee(n, t - 1); a = e[0], o = e[1], i.length && i[c].size === Ee(n, t)[1] && --c, i = i.slice(0, c + 1); } else i = []; for (let { start: e, value: c } of Oe(n, t, Infinity)) { let t = e - a, n = t * o + s + t * r; i.push({ index: e, offset: n, size: c }), a = e, s = n, o = c; } return { lastIndex: a, lastOffset: s, lastSize: o, offsetTree: i }; } function ct(e) { return { index: e.index, value: e }; } function lt(e) { let { endIndex: t, size: n, startIndex: r } = e; return (e) => e.start === r && (e.end === t || e.end === Infinity) && e.value === n; } var ut = { offsetHeight: "height", offsetWidth: "width" }, dt = B(([{ log: e }, { recalcInProgress: t }]) => { let n = R(), r = R(), i = L(r, 0), a = R(), o = R(), s = I(0), c = I([]), l = I(void 0), u = I(void 0), d = I(void 0), f = I(void 0), p = I((e, t) => qe(e, ut[t])), m = I(void 0), h = I(0), g = Xe(), _ = L(N(n, F(c, e, h), P(it, g), A()), g), v = L(N(c, A(), P((e, t) => ({ current: t, prev: e.current }), { current: [], prev: [] }), M(({ prev: e }) => e)), []); E(N(c, j((e) => e.length > 0), F(_, h), M(([e, t, n]) => { let r = e.reduce((e, r, i) => q(e, r, et(r, t.offsetTree, n) || i), De()); return { ...t, groupIndices: e, groupOffsetTree: r }; })), _), E(N(r, F(_), j(([e, { lastIndex: t }]) => e < t), M(([e, { lastIndex: t, lastSize: n }]) => [{ endIndex: t, size: n, startIndex: e }])), n), E(l, u); let y = L(N(l, M((e) => e === void 0)), !0); E(N(u, j((e) => e !== void 0 && K(T(_).sizeTree)), M((e) => { let t = T(d), n = T(c).length > 0; return t !== void 0 && t !== 0 ? n ? [{ endIndex: 0, size: t, startIndex: 0 }, { endIndex: 1, size: e, startIndex: 1 }] : [] : [{ endIndex: 0, size: e, startIndex: 0 }]; })), n), E(N(f, j((e) => e !== void 0 && e.length > 0 && K(T(_).sizeTree)), M((e) => { let t = [], n = e[0], r = 0; for (let i = 1; i < e.length; i++) { let a = e[i]; a !== n && (t.push({ endIndex: i - 1, size: n, startIndex: r }), n = a, r = i); } return t.push({ endIndex: e.length - 1, size: n, startIndex: r }), t; })), n), E(N(c, F(d, u), j(([, e, t]) => e !== void 0 && t !== void 0), M(([e, t, n]) => { let r = []; for (let i = 0; i < e.length; i++) { let a = e[i], o = e[i + 1]; r.push({ startIndex: a, endIndex: a, size: t }), o !== void 0 && r.push({ startIndex: a + 1, endIndex: o - 1, size: n }); } return r; })), n); let b = z(N(n, F(_), P(({ sizes: e }, [t, n]) => ({ changed: n !== e, sizes: n }), { changed: !1, sizes: g }), M((e) => e.changed))); S(N(s, P((e, t) => ({ diff: e.prev - t, prev: t }), { diff: 0, prev: 0 }), M((e) => e.diff)), (e) => { let { groupIndices: n } = T(_); if (e > 0) C(t, !0), C(a, e + ot(e, n)); else if (e < 0) { let t = T(v); t.length > 0 && (e -= ot(-e, t)), C(o, e); } }), S(N(s, F(e)), ([e, t]) => { e < 0 && t("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value", { firstItemIndex: s }, U.ERROR); }); let x = z(a); E(N(a, F(_), M(([e, t]) => { let n = t.groupIndices.length > 0, r = [], i = t.lastSize; if (n) { let n = Te(t.sizeTree, 0), a = 0, o = 0; for (; a < e;) { let e = t.groupIndices[o], s = t.groupIndices.length === o + 1 ? Infinity : t.groupIndices[o + 1] - e - 1; r.push({ endIndex: e, size: n, startIndex: e }), r.push({ endIndex: e + 1 + s - 1, size: i, startIndex: e + 1 }), o++, a += s + 1; } let s = Ae(t.sizeTree); return a !== e && s.shift(), s.reduce((t, { k: n, v: r }) => { let i = t.ranges; return t.prevSize !== 0 && (i = [...t.ranges, { endIndex: n + e - 1, size: t.prevSize, startIndex: t.prevIndex }]), { prevIndex: n + e, prevSize: r, ranges: i }; }, { prevIndex: e, prevSize: 0, ranges: r }).ranges; } return Ae(t.sizeTree).reduce((t, { k: n, v: r }) => ({ prevIndex: n + e, prevSize: r, ranges: [...t.ranges, { endIndex: n + e - 1, size: t.prevSize, startIndex: t.prevIndex }] }), { prevIndex: 0, prevSize: i, ranges: [] }).ranges; })), n); let w = z(N(o, F(_, h), M(([e, { offsetTree: t }, n]) => et(-e, t, n)))); return E(N(o, F(_, h), M(([e, t, n]) => { if (t.groupIndices.length > 0) { if (K(t.sizeTree)) return t; let r = De(), i = T(v), a = 0, o = 0, s = 0; for (; a < -e;) { s = i[o]; let e = i[o + 1] - s - 1; o++, a += e + 1; } if (r = Ae(t.sizeTree).reduce((t, { k: n, v: r }) => q(t, Math.max(0, n + e), r), r), a !== -e) { let n = Te(t.sizeTree, s); r = q(r, 0, n); let i = Ee(t.sizeTree, -e + 1)[1]; r = q(r, 1, i); } return { ...t, sizeTree: r, ...st(t.offsetTree, 0, r, n) }; } let r = Ae(t.sizeTree).reduce((t, { k: n, v: r }) => q(t, Math.max(0, n + e), r), De()); return { ...t, sizeTree: r, ...st(t.offsetTree, 0, r, n) }; })), _), { beforeUnshiftWith: x, data: m, defaultItemSize: u, firstItemIndex: s, fixedItemSize: l, fixedGroupSize: d, gap: h, groupIndices: c, heightEstimates: f, itemSize: p, listRefresh: b, shiftWith: o, shiftWithOffset: w, sizeRanges: n, sizes: _, statefulTotalCount: i, totalCount: r, trackItemSizes: y, unshiftWith: a }; }, x(W, Ue), { singleton: !0 }); function ft(e) { return e.reduce((e, t) => (e.groupIndices.push(e.totalCount), e.totalCount += t + 1, e), { groupIndices: [], totalCount: 0 }); } var pt = B(([{ groupIndices: e, sizes: t, totalCount: n }, { headerHeight: r, scrollTop: i }]) => { let a = R(), o = R(), s = z(N(a, M(ft))); return E(N(s, M((e) => e.totalCount)), n), E(N(s, M((e) => e.groupIndices)), e), E(N(V(i, t, r), j(([e, t]) => Je(t)), M(([e, t, n]) => Ee(t.groupOffsetTree, Math.max(e - n, 0), "v")[0]), A(), M((e) => [e])), o), { groupCounts: a, topItemsIndexes: o }; }, x(dt, G)), mt = B(([{ log: e }]) => { let t = I(!1), n = z(N(t, j((e) => e), A())); return S(t, (t) => { t && T(e)("props updated", {}, U.DEBUG); }), { didMount: n, propsReady: t }; }, x(W), { singleton: !0 }), ht = typeof document < "u" && "scrollBehavior" in document.documentElement.style; function gt(e) { let t = typeof e == "number" ? { index: e } : e; return t.align || (t.align = "start"), (!t.behavior || !ht) && (t.behavior = "auto"), t.offset === void 0 && (t.offset = 0), t; } var _t = B(([{ gap: e, listRefresh: t, sizes: n, totalCount: r }, { fixedFooterHeight: i, fixedHeaderHeight: a, footerHeight: o, headerHeight: s, scrollingInProgress: c, scrollTo: l, smoothScrollTargetReached: u, viewportHeight: d }, { log: f }]) => { let p = R(), m = R(), h = I(0), g = null, _ = null, v = null; function y() { g !== null && (g(), g = null), v !== null && (v(), v = null), _ && (clearTimeout(_), _ = null), C(c, !1); } return E(N(p, F(n, d, r, h, s, o, f), F(e, a, i), M(([[e, n, r, i, a, o, s, l], d, f, h]) => { let b = gt(e), { align: x, behavior: w, offset: T } = b, E = i - 1, O = nt(b, n, E), k = et(O, n.offsetTree, d) + o; x === "end" ? (k += f + Ee(n.sizeTree, O)[1] - r + h, O === E && (k += s)) : x === "center" ? k += (f + Ee(n.sizeTree, O)[1] - r + h) / 2 : k -= a, T !== void 0 && T !== 0 && (k += T); let A = (t) => { y(), t ? (l("retrying to scroll to", { location: e }, U.DEBUG), C(p, e)) : (C(m, !0), l("list did not change, scroll successful", {}, U.DEBUG)); }; if (y(), w === "smooth") { let e = !1; v = S(t, (t) => { e = e || t; }), g = D(u, () => { A(e); }); } else g = D(N(t, vt(150)), A); return _ = setTimeout(() => { y(); }, 1200), C(c, !0), l("scrolling from index to", { behavior: w, index: O, top: k }, U.DEBUG), { behavior: w, top: k }; })), l), { scrollTargetReached: m, scrollToIndex: p, topListHeight: h }; }, x(dt, G, W), { singleton: !0 }); function vt(e) { return (t) => { let n = setTimeout(() => { t(!1); }, e); return (e) => { e && (t(!0), clearTimeout(n)); }; }; } function yt(e, t) { e === 0 ? t() : requestAnimationFrame(() => { yt(e - 1, t); }); } function bt(e, t) { let n = t - 1; return typeof e == "number" ? e : e.index === "LAST" ? n : e.index; } var xt = B(([{ defaultItemSize: e, listRefresh: t, sizes: n }, { scrollTop: r }, { scrollTargetReached: i, scrollToIndex: a }, { didMount: o }]) => { let s = I(!0), c = I(0), l = I(!0); return E(N(o, F(c), j(([e, t]) => t !== 0), ee(!1)), s), E(N(o, F(c), j(([e, t]) => t !== 0), ee(!1)), l), S(N(V(t, o), F(s, n, e, l), j(([[, e], t, { sizeTree: n }, r, i]) => e && (!K(n) || g(r)) && !t && !i), F(c)), ([, e]) => { D(i, () => { C(l, !0); }), yt(4, () => { D(r, () => { C(s, !0); }), C(a, e); }); }), { initialItemFinalLocationReached: l, initialTopMostItemIndex: c, scrolledToInitialItem: s }; }, x(dt, G, _t, mt), { singleton: !0 }); function St(e, t) { return Math.abs(e - t) < 1.01; } var Ct = "up", wt = "down", Tt = "none", Et = { atBottom: !1, notAtBottomBecause: "NOT_SHOWING_LAST_ITEM", state: { offsetBottom: 0, scrollHeight: 0, scrollTop: 0, viewportHeight: 0 } }, Dt = 0, Ot = B(([{ footerHeight: e, headerHeight: t, scrollBy: n, scrollContainerState: r, scrollTop: i, viewportHeight: a }]) => { let o = I(!1), s = I(!0), c = R(), l = R(), u = I(4), d = I(Dt), f = L(N(se(N(H(i), te(1), ee(!0)), N(H(i), te(1), ee(!1), O(100))), A()), !1), p = L(N(se(N(n, ee(!0)), N(n, ee(!1), O(200))), A()), !1); E(N(V(H(i), H(d)), M(([e, t]) => e <= t), A()), s), E(N(s, ne(50)), l); let m = z(N(V(r, H(a), H(t), H(e), H(u)), P((e, [{ scrollHeight: t, scrollTop: n }, r, i, a, o]) => { let s = n + r - t > -o, c = { scrollHeight: t, scrollTop: n, viewportHeight: r }; if (s) { let t, r; return n > e.state.scrollTop ? (t = "SCROLLED_DOWN", r = e.state.scrollTop - n) : (t = "SIZE_DECREASED", r = e.state.scrollTop - n || e.scrollTopDelta), { atBottom: !0, atBottomBecause: t, scrollTopDelta: r, state: c }; } let l; return l = c.scrollHeight > e.state.scrollHeight ? "SIZE_INCREASED" : r < e.state.viewportHeight ? "VIEWPORT_HEIGHT_DECREASING" : n < e.state.scrollTop ? "SCROLLING_UPWARDS" : "NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM", { atBottom: !1, notAtBottomBecause: l, state: c }; }, Et), A((e, t) => e !== void 0 && e.atBottom === t.atBottom))), h = L(N(r, P((e, { scrollHeight: t, scrollTop: n, viewportHeight: r }) => { if (!St(e.scrollHeight, t)) { let i = t - (n + r) < 1; return e.scrollTop !== n && i ? { changed: !0, jump: e.scrollTop - n, scrollHeight: t, scrollTop: n } : { changed: !0, jump: 0, scrollHeight: t, scrollTop: n }; } return { changed: !1, jump: 0, scrollHeight: t, scrollTop: n }; }, { changed: !1, jump: 0, scrollHeight: 0, scrollTop: 0 }), j((e) => e.changed), M((e) => e.jump)), 0); E(N(m, M((e) => e.atBottom)), o), E(N(o, ne(50)), c); let g = I(wt); E(N(r, M(({ scrollTop: e }) => e), A(), P((e, t) => T(p) ? { direction: e.direction, prevScrollTop: t } : { direction: t < e.prevScrollTop ? Ct : wt, prevScrollTop: t }, { direction: wt, prevScrollTop: 0 }), M((e) => e.direction)), g), E(N(r, ne(50), ee(Tt)), g); let _ = I(0); return E(N(f, j((e) => !e), ee(0)), _), E(N(i, ne(100), F(f), j(([e, t]) => t), P(([e, t], [n]) => [t, n], [0, 0]), M(([e, t]) => t - e)), _), { atBottomState: m, atBottomStateChange: c, atBottomThreshold: u, atTopStateChange: l, atTopThreshold: d, isAtBottom: o, isAtTop: s, isScrolling: f, lastJumpDueToItemResize: h, scrollDirection: g, scrollVelocity: _ }; }, x(G)), kt = "top", At = "bottom", jt = "none"; function Mt(e, t, n) { return typeof e == "number" ? n === Ct && t === kt || n === wt && t === At ? e : 0 : n === Ct ? t === kt ? e.main : e.reverse : t === At ? e.main : e.reverse; } function Nt(e, t) { var n; return typeof e == "number" ? e : (n = e[t]) == null ? 0 : n; } var Pt = B(([{ deviation: e, fixedHeaderHeight: t, headerHeight: n, scrollTop: r, viewportHeight: i }]) => { let a = R(), o = I(0), s = I(0), c = I(0); return { increaseViewportBy: s, listBoundary: a, overscan: c, topListHeight: o, visibleRange: L(N(V(H(r), H(i), H(n), H(a, He), H(c), H(o), H(t), H(e), H(s)), M(([e, t, n, [r, i], a, o, s, c, l]) => { let u = e - c, d = o + s, f = Math.max(n - u, 0), p = jt, m = Nt(l, kt), h = Nt(l, At); return r -= c, r += n + s, i += n + s, i -= c, r > e + d - m && (p = Ct), i < e - f + t + h && (p = wt), p === jt ? null : [Math.max(u - n - Mt(a, kt, p) - m, 0), u - f - s + t + Mt(a, At, p) + h]; }), j((e) => e !== null), A(He)), [0, 0]) }; }, x(G), { singleton: !0 }); function Ft(e, t, n) { if (Je(t)) { let r = tt(e, t); return [{ index: Ee(t.groupOffsetTree, r)[0], offset: 0, size: 0 }, { data: n == null ? void 0 : n[0], index: r, offset: 0, size: 0 }]; } return [{ data: n == null ? void 0 : n[0], index: e, offset: 0, size: 0 }]; } var It = { bottom: 0, firstItemIndex: 0, items: [], offsetBottom: 0, offsetTop: 0, top: 0, topItems: [], topListHeight: 0, totalCount: 0 }; function Lt(e, t, n, r, i, a) { let { lastIndex: o, lastOffset: s, lastSize: c } = i, l = 0, u = 0; if (e.length > 0) { l = e[0].offset; let t = e[e.length - 1]; u = t.offset + t.size; } let d = n - o, f = s + d * c + (d - 1) * r, p = l, m = f - u; return { bottom: u, firstItemIndex: a, items: zt(e, i, a), offsetBottom: m, offsetTop: l, top: p, topItems: zt(t, i, a), topListHeight: t.reduce((e, t) => t.size + e, 0), totalCount: n }; } function Rt(e, t, n, r, i, a) { let o = 0; if (n.groupIndices.length > 0) for (let t of n.groupIndices) { if (t - o >= e) break; o++; } let s = e + o, c = bt(t, s); return Lt(Array.from({ length: s }).map((e, t) => ({ data: a[t + c], index: t + c, offset: 0, size: 0 })), [], s, i, n, r); } function zt(e, t, n) { if (e.length === 0) return []; if (!Je(t)) return e.map((e) => ({ ...e, index: e.index + n, originalIndex: e.index })); let r = e[0].index, i = e[e.length - 1].index, a = [], o = Oe(t.groupOffsetTree, r, i), s, c = 0; for (let r of e) { (!s || s.end < r.index) && (s = o.shift(), c = t.groupIndices.indexOf(s.start)); let e; e = r.index === s.start ? { index: c, type: "group" } : { groupIndex: c, index: r.index - (c + 1) + n }, a.push({ ...e, data: r.data, offset: r.offset, originalIndex: r.index, size: r.size }); } return a; } function Bt(e, t) { var n; return e === void 0 ? 0 : typeof e == "number" ? e : (n = e[t]) == null ? 0 : n; } var Vt = B(([{ data: e, firstItemIndex: t, gap: n, sizes: r, totalCount: i }, a, { listBoundary: o, topListHeight: s, visibleRange: c }, { initialTopMostItemIndex: l, scrolledToInitialItem: u }, { topListHeight: d }, f, { didMount: p }, { recalcInProgress: m }]) => { let h = I([]), _ = I(0), v = R(), b = I(0); E(a.topItemsIndexes, h); let x = L(N(V(p, m, H(c, He), H(i), H(r), H(l), u, H(h), H(t), H(n), H(b), e), j(([e, t, , n, , , , , , , , r]) => { let i = r !== void 0 && r.length !== n; return e && !t && !i; }), M(([, , [e, t], n, r, i, a, o, s, c, l, u]) => { let d = r, { offsetTree: f, sizeTree: p } = d, m = T(_); if (n === 0) return { ...It, totalCount: n }; if (e === 0 && t === 0) return m === 0 ? { ...It, totalCount: n } : Rt(m, i, r, s, c, u || []); if (K(p)) return m > 0 ? null : Lt(Ft(bt(i, n), d, u), [], n, c, d, s); let h = []; if (o.length > 0) { let e = o[0], t = o[o.length - 1], n = 0; for (let r of Oe(p, e, t)) { let i = r.value, a = Math.max(r.start, e), o = Math.min(r.end, t); for (let e = a; e <= o; e++) h.push({ data: u == null ? void 0 : u[e], index: e, offset: n, size: i }), n += i; } } if (!a) return Lt([], h, n, c, d, s); let g = o.length > 0 ? o[o.length - 1] + 1 : 0, v = rt(f, e, t, g); if (v.length === 0) return null; let b = n - 1, x = y([], (n) => { for (let r of v) { let i = r.value, a = i.offset, o = r.start, s = i.size; if (i.offset < e) { o += Math.floor((e - i.offset + c) / (s + c)); let t = o - r.start; a += t * s + t * c; } o < g && (a += (g - o) * s, o = g); let l = Math.min(r.end, b); for (let e = o; e <= l && !(a >= t); e++) n.push({ data: u == null ? void 0 : u[e], index: e, offset: a, size: s }), a += s + c; } }), S = Bt(l, kt), C = Bt(l, At); if (x.length > 0 && (S > 0 || C > 0)) { let e = x[0], t = x[x.length - 1]; if (S > 0 && e.index > g) { let t = Math.min(S, e.index - g), n = [], r = e.offset; for (let i = e.index - 1; i >= e.index - t; i--) { var w, E; let t = (w = (E = Oe(p, i, i)[0]) == null ? void 0 : E.value) == null ? e.size : w; r -= t + c, n.unshift({ data: u == null ? void 0 : u[i], index: i, offset: r, size: t }); } x.unshift(...n); } if (C > 0 && t.index < b) { let e = Math.min(C, b - t.index), n = t.offset + t.size + c; for (let r = t.index + 1; r <= t.index + e; r++) { var D, O; let e = (D = (O = Oe(p, r, r)[0]) == null ? void 0 : O.value) == null ? t.size : D; x.push({ data: u == null ? void 0 : u[r], index: r, offset: n, size: e }), n += e + c; } } } return Lt(x, h, n, c, d, s); }), j((e) => e !== null), A()), It); E(N(e, j(g), M((e) => e == null ? void 0 : e.length)), i), E(N(x, M((e) => e.topListHeight)), d), E(d, s), E(N(x, M((e) => [e.top, e.bottom])), o), E(N(x, M((e) => e.items)), v); let S = z(N(x, j(({ items: e }) => e.length > 0), F(i, e), j(([{ items: e }, t]) => e[e.length - 1].originalIndex === t - 1), M(([, e, t]) => [e - 1, t]), A(He), M(([e]) => e))), C = z(N(x, ne(200), j(({ items: e, topItems: t }) => e.length > 0 && e[0].originalIndex === t.length), M(({ items: e }) => e[0].index), A())); return { endReached: S, initialItemCount: _, itemsRendered: v, listState: x, minOverscanItemCount: b, rangeChanged: z(N(x, j(({ items: e }) => e.length > 0), M(({ items: e }) => { let t = 0, n = e.length - 1; for (; e[t].type === "group" && t < n;) t++; for (; e[n].type === "group" && n > t;) n--; return { endIndex: e[n].index, startIndex: e[t].index }; }), A(Ve))), startReached: C, topItemsIndexes: h, ...f }; }, x(dt, pt, Pt, xt, _t, Ot, mt, Ue), { singleton: !0 }), Ht = B(([{ fixedFooterHeight: e, fixedHeaderHeight: t, footerHeight: n, headerHeight: r }, { listState: i }]) => { let a = R(), o = L(N(V(n, e, r, t, i), M(([e, t, n, r, i]) => e + t + n + r + i.offsetBottom + i.bottom)), 0); return E(H(o), a), { totalListHeight: o, totalListHeightChanged: a }; }, x(G, Vt), { singleton: !0 }), Ut = B(([{ viewportHeight: e }, { totalListHeight: t }]) => { let n = I(!1); return { alignToBottom: n, paddingTopAddition: L(N(V(n, e, t), j(([e]) => e), M(([, e, t]) => Math.max(0, e - t)), ne(0), A()), 0) }; }, x(G, Ht), { singleton: !0 }), Wt = B(() => ({ context: I(null) })), Gt = ({ itemBottom: e, itemTop: t, locationParams: { align: n, behavior: r, ...i }, viewportBottom: a, viewportTop: o }) => t < o ? { ...i, align: n == null ? "start" : n, ...r === void 0 ? {} : { behavior: r } } : e > a ? { ...i, align: n == null ? "end" : n, ...r === void 0 ? {} : { behavior: r } } : null, Kt = B(([{ gap: e, sizes: t, totalCount: n }, { fixedFooterHeight: r, fixedHeaderHeight: i, headerHeight: a, scrollingInProgress: o, scrollTop: s, viewportHeight: c }, { scrollToIndex: l }]) => { let u = R(); return E(N(u, F(t, c, n, a, i, r, s), F(e), M(([[e, t, n, r, i, a, s, c], l]) => { let { calculateViewLocation: u = Gt, done: d, ...f } = e, p = nt(e, t, r - 1), m = et(p, t.offsetTree, l) + i + a, h = m + Ee(t.sizeTree, p)[1], g = c + a, _ = u({ itemBottom: h, itemTop: m, locationParams: f, viewportBottom: c + n - s, viewportTop: g }); return _ === null ? d == null || d() : d && D(N(o, j((e) => !e), te(T(o) ? 1 : 2)), d), _; }), j((e) => e !== null)), l), { scrollIntoView: u }; }, x(dt, G, _t, Vt, W), { singleton: !0 }); function qt(e) { return e === !1 ? !1 : e === "smooth" ? "smooth" : "auto"; } var Jt = (e, t) => typeof e == "function" ? qt(e(t)) : t && qt(e), Yt = B(([{ listRefresh: e, totalCount: t, fixedItemSize: n, data: r }, { atBottomState: i, isAtBottom: a }, { scrollToIndex: o }, { scrolledToInitialItem: s }, { didMount: c, propsReady: l }, { log: u }, { scrollingInProgress: d }, { context: f }, { scrollIntoView: p }]) => { let m = I(!1), h = R(), g = null; function _(e) { C(o, { align: "end", behavior: e, index: "LAST" }); } S(N(V(N(H(t), te(1)), c), F(H(m), a, s, d), M(([[e, t], n, r, i, a]) => { let o = t && i, s = "auto"; return o && (s = Jt(n, r || a), o = o && s !== !1), { followOutputBehavior: s, shouldFollow: o, totalCount: e }; }), j(({ shouldFollow: e }) => e)), ({ followOutputBehavior: t, totalCount: r }) => { g !== null && (g(), g = null), T(n) === void 0 ? g = D(e, () => { T(u)("following output to ", { totalCount: r }, U.DEBUG), _(t), g = null; }) : requestAnimationFrame(() => { T(u)("following output to ", { totalCount: r }, U.DEBUG), _(t); }); }); function v(e) { let t = D(i, (t) => { e && !t.atBottom && t.notAtBottomBecause === "SIZE_INCREASED" && g === null && (T(u)("scrolling to bottom due to increased size", {}, U.DEBUG), _("auto")); }); setTimeout(t, 100); } S(N(V(H(m), t, l), j(([e, , t]) => e !== !1 && t), P(({ value: e }, [, t]) => ({ refreshed: e === t, value: t }), { refreshed: !1, value: 0 }), j(({ refreshed: e }) => e), F(m, t)), ([, e]) => { T(s) && v(e !== !1); }), S(h, () => { v(T(m) !== !1); }), S(V(H(m), i), ([e, t]) => { e !== !1 && !t.atBottom && t.notAtBottomBecause === "VIEWPORT_HEIGHT_DECREASING" && _("auto"); }); let y = I(null), b = R(); return E(se(N(H(r), M((e) => { var t; return (t = e == null ? void 0 : e.length) == null ? 0 : t; })), N(H(t))), b), S(N(V(N(b, te(1)), c), F(H(y), s, d, f), M(([[e, t], n, r, i, a]) => t && r && (n == null ? void 0 : n({ context: a, totalCount: e, scrollingInProgress: i }))), j((e) => !!e), ne(0)), (t) => { g !== null && (g(), g = null), T(n) === void 0 ? g = D(e, () => { T(u)("scrolling into view", {}), C(p, t), g = null; }) : requestAnimationFrame(() => { T(u)("scrolling into view", {}), C(p, t); }); }), { autoscrollToBottom: h, followOutput: m, scrollIntoViewOnChange: y }; }, x(dt, Ot, _t, xt, mt, W, G, Wt, Kt)), Xt = B(([{ data: e, firstItemIndex: t, gap: n, sizes: r }, { initialTopMostItemIndex: i }, { initialItemCount: a, listState: o }, { didMount: s }]) => (E(N(s, F(a), j(([, e]) => e !== 0), F(i, r, t, n, e), M(([[, e], t, n, r, i, a = []]) => Rt(e, t, n, r, i, a))), o), {}), x(dt, xt, Vt, mt), { singleton: !0 }), Zt = B(([{ didMount: e }, { scrollTo: t }, { listState: n }]) => { let r = I(0); return S(N(e, F(r), j(([, e]) => e !== 0), M(([, e]) => ({ top: e }))), (e) => { D(N(n, te(1), j((e) => e.items.length > 1)), () => { requestAnimationFrame(() => { C(t, e); }); }); }), { initialScrollTop: r }; }, x(mt, G, Vt), { singleton: !0 }), Qt = B(([{ scrollVelocity: e }]) => { let t = I(!1), n = R(), r = I(!1); return E(N(e, F(r, t, n), j(([e, t]) => t !== !1 && t !== void 0), M(([e, t, n, r]) => { let { enter: i, exit: a } = t; if (n) { if (a(e, r)) return !1; } else if (i(e, r)) return !0; return n; }), A()), t), S(N(V(t, e, n), F(r)), ([[e, t, n], r]) => { e && r !== !1 && r !== void 0 && r.change && r.change(t, n); }), { isSeeking: t, scrollSeekConfiguration: r, scrollSeekRangeChanged: n, scrollVelocity: e }; }, x(Ot), { singleton: !0 }), $t = B(([{ scrollContainerState: e, scrollTo: t }]) => { let n = R(), r = R(), i = R(), a = I(!1), o = I(void 0); return E(N(V(n, r), M(([{ scrollTop: e, viewportHeight: t }, { offsetTop: n, listHeight: r }]) => ({ scrollHeight: r, scrollTop: Math.max(0, e - n), viewportHeight: t }))), e), E(N(t, F(r), M(([e, { offsetTop: t }]) => ({ ...e, top: e.top + t }))), i), { customScrollParent: o, useWindowScroll: a, windowScrollContainerState: n, windowScrollTo: i, windowViewportRect: r }; }, x(G)), en = B(([{ sizeRanges: e, sizes: t }, { headerHeight: n, scrollTop: r }, { initialTopMostItemIndex: i }, { didMount: a }, { useWindowScroll: o, windowScrollContainerState: s, windowViewportRect: c }]) => { let l = R(), u = I(void 0), d = I(null), f = I(null); return E(s, d), E(c, f), S(N(l, F(t, r, o, d, f, n)), ([e, t, n, r, i, a, o]) => { let s = at(t.sizeTree); r && i !== null && a !== null && (n = i.scrollTop - a.offsetTop), n -= o, e({ ranges: s, scrollTop: n }); }), E(N(u, j(g), M(tn)), i), E(N(a, F(u), j(([, e]) => e !== void 0), A(), M(([, e]) => e.ranges)), e), { getState: l, restoreStateFrom: u }; }, x(dt, G, xt, mt, $t)); function tn(e) { return { align: "start", index: 0, offset: e.scrollTop }; } var nn = B(([{ topItemsIndexes: e }]) => { let t = I(0); return E(N(t, j((e) => e >= 0), M((e) => Array.from({ length: e }).map((e, t) => t))), e), { topItemCount: t }; }, x(Vt)); function rn(e) { let t = !1, n; return (() => (t || (t = !0, n = e()), n)); } var an = rn(() => /iP(ad|od|hone)/i.test(navigator.userAgent) && /WebKit/i.test(navigator.userAgent)), on = B(([{ data: e, defaultItemSize: t, firstItemIndex: n, fixedItemSize: r, fixedGroupSize: i, gap: a, groupIndices: o, heightEstimates: s, itemSize: c, sizeRanges: l, sizes: u, statefulTotalCount: d, totalCount: f, trackItemSizes: p }, { initialItemFinalLocationReached: m, initialTopMostItemIndex: h, scrolledToInitialItem: g }, _, v, y, b, { scrollToIndex: x }, S, { topItemCount: C }, { groupCounts: w }, T]) => { let { listState: D, minOverscanItemCount: O, topItemsIndexes: k, rangeChanged: A, ...j } = b; return E(A, T.scrollSeekRangeChanged), E(N(T.windowViewportRect, M((e) => e.visibleHeight)), _.viewportHeight), { data: e, defaultItemHeight: t, firstItemIndex: n, fixedItemHeight: r, fixedGroupHeight: i, gap: a, groupCounts: w, heightEstimates: s, initialItemFinalLocationReached: m, initialTopMostItemIndex: h, scrolledToInitialItem: g, sizeRanges: l, topItemCount: C, topItemsIndexes: k, totalCount: f, ...y, groupIndices: o, itemSize: c, listState: D, minOverscanItemCount: O, scrollToIndex: x, statefulTotalCount: d, trackItemSizes: p, rangeChanged: A, ...j, ...T, ..._, sizes: u, ...v }; }, x(dt, xt, G, en, Yt, Vt, _t, B(([{ deviation: e, scrollBy: t, scrollingInProgress: n, scrollTop: r }, { isAtBottom: i, isScrolling: a, lastJumpDueToItemResize: o, scrollDirection: s }, { listState: c }, { beforeUnshiftWith: l, gap: u, shiftWithOffset: d, sizes: f }, { log: p }, { recalcInProgress: m }]) => { let h = z(N(c, F(o), P(([, e, t, n], [{ bottom: r, items: i, offsetBottom: a, totalCount: o }, s]) => { let c = r + a, l = 0; return t === o && e.length > 0 && i.length > 0 && (i[0].originalIndex === 0 && e[0].originalIndex === 0 || (l = c - n, l !== 0 && (l += s))), [ l, i, o, c ]; }, [ 0, [], 0, 0 ]), j(([e]) => e !== 0), F(r, s, n, i, p, m), j(([, e, t, n, , , r]) => !r && !n && e !== 0 && t === Ct), M(([[e], , , , , t]) => (t("Upward scrolling compensation", { amount: e }, U.DEBUG), e)))); function g(n) { n > 0 ? (C(t, { behavior: "auto", top: -n }), C(e, 0)) : (C(e, 0), C(t, { behavior: "auto", top: -n })); } return S(N(h, F(e, a)), ([t, n, r]) => { r && an() ? C(e, n - t) : g(-t); }), S(N(V(L(a, !1), e, m), j(([e, t, n]) => !e && !n && t !== 0), M(([e, t]) => t), ne(1)), g), E(N(d, M((e) => ({ top: -e }))), t), S(N(l, F(f, u), M(([e, { groupIndices: t, lastSize: n, sizeTree: r }, i]) => { function a(e) { return e * (n + i); } if (t.length === 0) return a(e); let o = 0, s = Te(r, 0), c = 0, l = 0; for (; c < e;) { c++, o += s; let n = t.length === l + 1 ? Infinity : t[l + 1] - t[l] - 1; c + n > e && (o -= s, n = e - c + 1), c += n, o += a(n), l++; } return o; })), (n) => { C(e, n), requestAnimationFrame(() => { C(t, { top: n }), requestAnimationFrame(() => { C(e, 0), C(m, !1); }); }); }), { deviation: e }; }, x(G, Ot, Vt, dt, W, Ue)), nn, pt, B(([e, t, n, r, i, a, o, s, c, l, u]) => ({ ...e, ...t, ...n, ...r, ...i, ...a, ...o, ...s, ...c, ...l, ...u }), x(Pt, Xt, mt, Qt, Ht, Zt, Ut, $t, Kt, W, Wt)))); function sn(e, t) { let n = {}, r = {}, i = 0, a = e.length; for (; i < a;) r[e[i]] = 1, i += 1; for (let e in t) Object.hasOwn(r, e) || (n[e] = t[e]); return n; } var cn = typeof document < "u" ? a.useLayoutEffect : a.useEffect; function ln(e, t, n) { let r = Object.keys(t.required || {}), o = Object.keys(t.optional || {}), s = Object.keys(t.methods || {}), c = Object.keys(t.events || {}), l = a.createContext({}); function u(e, n) { e.propsReady !== void 0 && C(e.propsReady, !1); for (let i of r) { let r = e[t.required[i]]; C(r, n[i]); } for (let r of o) if (r in n) { let i = e[t.optional[r]]; C(i, n[r]); } e.propsReady !== void 0 && C(e.propsReady, !0); } function f(e) { return s.reduce((n, r) => (n[r] = (n) => { let i = e[t.methods[r]]; C(i, n); }, n), {}); } function p(e) { return c.reduce((n, r) => (n[r] = ie(e[t.events[r]]), n), {}); } return { Component: a.forwardRef(function(t, s) { let { children: h, ...g } = t, [_] = a.useState(() => y(oe(e), (e) => { u(e, g); })), [v] = a.useState(m(p, _)); cn(() => { for (let e of c) e in g && S(v[e], g[e]); return () => { Object.values(v).map(w); }; }, [ g, v, _ ]), cn(() => { u(_, g); }), a.useImperativeHandle(s, d(f(_))); let b = n; return /* @__PURE__ */ (0, i.jsx)(l.Provider, { value: _, children: n === void 0 ? h : /* @__PURE__ */ (0, i.jsx)(b, { ...sn([ ...r, ...o, ...c ], g), children: h }) }); }), useEmitter: (e, t) => { let n = a.useContext(l)[e]; cn(() => S(n, t), [t, n]); }, useEmitterValue: (e) => { let t = a.useContext(l)[e], n = a.useCallback((e) => S(t, e), [t]); return a.useSyncExternalStore(n, () => T(t), () => T(t)); }, usePublisher: (e) => { let t = a.useContext(l); return a.useCallback((n) => { C(t[e], n); }, [t, e]); } }; } var un = a.createContext(void 0), dn = a.createContext(void 0), fn = "-webkit-sticky", pn = "sticky", mn = rn(() => { if (typeof document > "u") return pn; let e = document.createElement("div"); return e.style.position = fn, e.style.position === fn ? fn : pn; }), hn = typeof document < "u" ? a.useLayoutEffect : a.useEffect; function gn(e) { return "self" in e; } function _n(e) { return "body" in e; } function vn(e, t, n, r = v, i, s) { let c = a.useRef(null), l = a.useRef(null), u = a.useRef(null), d = a.useCallback((n) => { let r, i, a, c = n.target; if (_n(c) || gn(c)) { let e = gn(c) ? c : c.defaultView; a = s === !0 ? he(e, e.scrollX) : e.scrollY, r = s === !0 ? e.document.documentElement.scrollWidth : e.document.documentElement.scrollHeight, i = s === !0 ? e.innerWidth : e.innerHeight; } else a = s === !0 ? he(c, c.scrollLeft) : c.scrollTop, r = s === !0 ? c.scrollWidth : c.scrollHeight, i = s === !0 ? c.offsetWidth : c.offsetHeight; let d = () => { e({ scrollHeight: r, scrollTop: Math.max(a, 0), viewportHeight: i }); }; n.suppressFlushSync === !0 ? d() : o.flushSync(d), l.current !== null && (a === l.current || a <= 0 || a === r - i) && (l.current = null, t(!0), u.current && (clearTimeout(u.current), u.current = null)); }, [ e, t, s ]); a.useEffect(() => { let e = i || c.current; return pe(e), r(i || c.current), d({ suppressFlushSync: !0, target: e }), e.addEventListener("scroll", d, { passive: !0 }), () => { pe(e), r(null), e.removeEventListener("scroll", d); }; }, [ c, d, n, r, i ]); function f(n) { let r = c.current; if (!r || (s === !0 ? "offsetWidth" in r && r.offsetWidth === 0 : "offsetHeight" in r && r.offsetHeight === 0)) return; let i = n.behavior === "smooth", a, o, d; gn(r) ? (o = Math.max(qe(r.document.documentElement, s === !0 ? "width" : "height"), s === !0 ? r.document.documentElement.scrollWidth : r.document.documentElement.scrollHeight), a = s === !0 ? r.innerWidth : r.innerHeight, d = s === !0 ? he(r, r.scrollX) : r.scrollY) : (o = r[s === !0 ? "scrollWidth" : "scrollHeight"], a = qe(r, s === !0 ? "width" : "height"), d = s === !0 ? he(r, r.scrollLeft) : r.scrollTop); let f = o - a; if (n.top === void 0) { r.scrollTo(n); return; } let p = Math.ceil(Math.max(Math.min(f, n.top), 0)); if (n.top = p, St(a, o) || p === d) { e({ scrollHeight: o, scrollTop: d, viewportHeight: a }), i && t(!0); return; } i ? (l.current = p, u.current && clearTimeout(u.current), u.current = setTimeout(() => { u.current = null, l.current = null, t(!0); }, 1e3)) : l.current = null, s === !0 && (n = { ...n.behavior === void 0 ? {} : { behavior: n.behavior }, left: ge(r, p) }), r.scrollTo(n); } function p(e) { s === !0 && (e = { ...e.behavior === void 0 ? {} : { behavior: e.behavior }, ...e.top === void 0 ? {} : { left: ge(c.current, e.top) } }), c.current.scrollBy(e); } return { scrollByCallback: p, scrollerRef: c, scrollToCallback: f }; } function yn(e) { return e; } var bn = /* @__PURE__ */ B(([e, t]) => ({ ...e, ...t }), x(on, /* @__P