virtua 0.52.6 → 0.52.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/core/index.js CHANGED
@@ -1,657 +1,663 @@
1
- var e, t = [], {min: n, max: o, abs: s, floor: r} = Math, l = (e, t, s) => n(s, o(t, e)), i = e => e.sort((e, t) => e - t), c = setTimeout, f = clearTimeout, a = "function" == typeof queueMicrotask ? queueMicrotask : e => {
2
- Promise.resolve().then(e);
3
- }, u = () => {
4
- let e;
5
- return [ new Promise(t => {
6
- e = t;
7
- }), e ];
8
- }, $ = "undefined" != typeof window, g = e => e.ownerDocument, d = e => e.defaultView, m = () => (null == e && (e = /iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0),
9
- e), p = 5, S = 6, h = 1, w = 4, b = 8, I = e => o(e.$getTotalSize(), e.$getViewportSize()), v = ({$getRange: e, $findIndex: t, $getItemOffset: r, $getItemSize: l, $setItemSize: i, $isSizeEqual: c, $getTotalSize: f, $getLength: a, $setLength: u, $estimateDefaultSize: $}, g = 0) => {
10
- let d = !!$, p = !!g, S = 1, h = 0, w = 0, b = 0, I = 0, v = 0, x = 0, z = 0, y = 0, k = null, T = [ 0, p ? o(g - 1, 0) : -1 ], M = 0, L = !1;
11
- const R = /* @__PURE__ */ new Set, O = () => b - w, P = () => O() + v + I, _ = e => r(e) - v, q = e => {
12
- e && (m() && 0 !== z || k && 1 === y ? v += e : I += e);
1
+ var t, e = [], {min: n, max: o, abs: r, floor: s} = Math, l = (t, e, r) => n(r, o(e, t)), c = t => t.sort((t, e) => t - e), i = setTimeout, f = clearTimeout, u = "function" == typeof queueMicrotask ? queueMicrotask : t => {
2
+ Promise.resolve().then(t);
3
+ }, a = () => {
4
+ let t;
5
+ return [ new Promise(e => {
6
+ t = e;
7
+ }), t ];
8
+ }, $ = "undefined" != typeof window, g = t => t.ownerDocument, d = t => t.defaultView, p = () => (null == t && (t = /iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0),
9
+ t), m = 5, w = 6, h = 9, b = 1, S = 4, v = 8, y = t => o(t.$getTotalSize(), t.$getViewportSize()), x = ({$getRange: t, $findIndex: e, $getItemOffset: s, $getItemSize: l, $isSizeEqual: c, $getTotalSize: i, $getLength: f, $setLength: u, $isEstimating: a, $resize: $, $relayout: g}, d = 0) => {
10
+ let m = !!d, w = 1, h = 0, b = 0, S = 0, v = 0, y = 0, x = 0, I = 0, k = 0, z = null, M = [ 0, m ? o(d - 1, 0) : -1 ], T = !1;
11
+ const R = /* @__PURE__ */ new Set, L = () => S - b, O = () => L() + y + v, _ = t => s(t) - y, C = t => {
12
+ if (2 === k) return !0;
13
+ if (z && 1 === k) return t < z[0];
14
+ const e = L(), n = _(t), o = l(t);
15
+ return 1 !== I && 0 === k ? n + o <= e : n < e && n + o < e + h;
16
+ }, E = t => {
17
+ t && (p() && 0 !== I || z && 1 === k ? y += t : v += t);
13
18
  };
14
19
  return {
15
20
  $dispose: () => {
16
21
  R.clear();
17
22
  },
18
- $getStateVersion: () => S,
19
- $getRange: (t = 200) => {
20
- if (!L || p) return T;
21
- let s, r;
22
- if (x) [s, r] = T; else {
23
- let l = o(0, P()), i = l + h;
24
- d || (t = o(0, t), 1 !== z && (l -= t), 2 !== z && (i += t)), [s, r] = T = e(o(0, l), o(0, i)),
25
- k && (s = n(s, k[0]), r = o(r, k[1]));
23
+ $getStateVersion: () => w,
24
+ $getRange: (e = 200) => {
25
+ if (!T || m) return M;
26
+ let r, s;
27
+ if (x) [r, s] = M; else {
28
+ let l = o(0, O()), c = l + h;
29
+ a() || (e = o(0, e), 1 !== I && (l -= e), 2 !== I && (c += e)), [r, s] = M = t(o(0, l), o(0, c)),
30
+ z && (r = n(r, z[0]), s = o(s, z[1]));
26
31
  }
27
- return [ o(s, 0), n(r, a() - 1) ];
32
+ return [ o(r, 0), n(s, f() - 1) ];
28
33
  },
29
- $findItemIndex: e => t(e - w),
34
+ $findItemIndex: t => e(t - b),
30
35
  $isUnmeasuredItem: c,
31
36
  $getItemOffset: _,
32
37
  $getItemSize: l,
33
- $getItemsLength: a,
34
- $getScrollOffset: () => b,
35
- $isScrolling: () => 0 !== z,
38
+ $getItemsLength: f,
39
+ $getScrollOffset: () => S,
40
+ $isScrolling: () => 0 !== I,
36
41
  $getViewportSize: () => h,
37
- $getStartSpacerSize: () => w,
38
- $getTotalSize: f,
39
- t: () => (x = I, I = 0, [ x, 2 === y ]),
40
- $subscribe: (e, t) => {
41
- const n = [ e, t ];
42
+ $getStartSpacerSize: () => b,
43
+ $getTotalSize: i,
44
+ t: () => (x = v, v = 0, [ x, 2 === k ]),
45
+ $subscribe: (t, e) => {
46
+ const n = [ t, e ];
42
47
  return R.add(n), () => {
43
48
  R.delete(n);
44
49
  };
45
50
  },
46
- $update: (n, o) => {
47
- let r, a, g = 0;
48
- switch (n) {
51
+ $update: (e, n) => {
52
+ let o, s, l = 0;
53
+ switch (e) {
49
54
  case 1:
50
55
  {
51
- if (o === b && 0 === y) break;
52
- const e = x;
56
+ if (n === S && 0 === k) break;
57
+ const t = x;
53
58
  x = 0;
54
- const t = o - b, n = s(t);
55
- e && n < s(e) + 1 || 0 !== y || (z = t < 0 ? 2 : 1), p && (p = !1), b = o, g = 4;
56
- const r = O();
57
- r >= -h && r <= f() && (g += 1, a = n > h);
59
+ const e = n - S, o = r(e);
60
+ t && o < r(t) + 1 || 0 !== k || (I = e < 0 ? 2 : 1), m && (m = !1), S = n, l = 4;
61
+ const c = L();
62
+ c >= -h && c <= i() && (l += 1, s = o > h);
58
63
  break;
59
64
  }
60
65
 
61
66
  case 2:
62
- g = 8, 0 !== z && (r = !0, g += 1), z = 0, y = 0, k = null;
67
+ l = 8, 0 !== I && (o = !0, l += 1), I = 0, k = 0, z = null;
63
68
  break;
64
69
 
65
70
  case 3:
66
71
  {
67
- const e = o.filter(([e, t]) => !c(e, t));
68
- if (!e.length) break;
69
- q(e.reduce((e, [t, n]) => {
70
- let o;
71
- if (2 === y) o = !0; else if (k && 1 === y) o = t < k[0]; else {
72
- const e = O(), n = _(t), s = l(t);
73
- o = 1 !== z && 0 === y ? n + s <= e : n < e && n + s < e + h;
74
- }
75
- return o && (e += n - l(t)), e;
76
- }, 0));
77
- for (const [t, n] of e) {
78
- const e = l(t), o = i(t, n);
79
- d && (M += o ? n : n - e);
80
- }
81
- d && h && M > h && (q($(t(P()))), d = !1), g = 3, a = !0;
72
+ const t = n.filter(([t, e]) => !c(t, e));
73
+ if (!t.length) break;
74
+ E($(t, C, O(), h)), l = 3, s = !0;
82
75
  break;
83
76
  }
84
77
 
85
78
  case 4:
86
- h !== o && (h || (L = a = !0), h = o, g = 3);
79
+ h !== n && (h || (T = s = !0), h = n, l = 3);
87
80
  break;
88
81
 
89
82
  case 5:
90
- o[1] ? (q(u(o[0], !0)), y = 2, g = 1) : (u(o[0]), g = 1);
83
+ n[1] ? (E(u(n[0], !0)), k = 2, l = 1) : (u(n[0]), l = 1);
91
84
  break;
92
85
 
93
86
  case 6:
94
- w = o;
87
+ b = n;
95
88
  break;
96
89
 
97
90
  case 7:
98
- y = 1;
91
+ k = 1;
99
92
  break;
100
93
 
101
94
  case 9:
102
- q(o), g = 3;
103
- break;
95
+ {
96
+ const t = g(n, O());
97
+ null != t && (E(t), l = 3);
98
+ break;
99
+ }
104
100
 
105
101
  case 8:
106
- k = e(o, o + h), g = 1;
102
+ z = t(n, n + h), l = 1;
107
103
  }
108
- g && (S = 1 + (2147483647 & S), r && v && (I += v, v = 0), R.forEach(([e, t]) => {
109
- g & e && t(a);
104
+ l && (w = 1 + (2147483647 & w), o && y && (v += y, y = 0), R.forEach(([t, e]) => {
105
+ l & t && e(s);
110
106
  }));
111
107
  }
112
108
  };
113
- }, x = (e, t, n, o = 0, s = t - 1) => {
114
- let i = o;
115
- for (;o <= s; ) {
116
- const t = r((o + s) / 2);
117
- e(t) <= n ? (i = t, o = t + 1) : s = t - 1;
118
- }
119
- return l(i, 0, t - 1);
120
- }, z = (e, t, n) => {
109
+ }, I = (t, e, n) => {
121
110
  const o = n ? "unshift" : "push";
122
- for (let n = 0; n < t; n++) e[o](-1);
123
- return e;
124
- }, y = (e, t, s) => {
125
- let r = s && s[1] || t || 40, l = -1, c = 0;
126
- const f = s && s[0], a = f ? z(f.slice(0, n(e, f.length)), o(0, e - f.length)) : z([], e), u = z([], e + 1), $ = e => {
127
- const t = a[e];
128
- return -1 === t ? r : t;
129
- }, g = t => {
130
- if (!e) return 0;
131
- if (l >= t) return u[t];
132
- l < 0 && (u[0] = 0, l = 0);
133
- let n = l, o = u[n];
134
- for (;n < t; ) o += $(n), u[++n] = o;
135
- return l = t, o;
111
+ for (let n = 0; n < e; n++) t[o](-1);
112
+ return t;
113
+ }, k = (t, e, n, o = 0, r = e - 1) => {
114
+ let c = o;
115
+ for (;o <= r; ) {
116
+ const e = s((o + r) / 2);
117
+ t(e) <= n ? (c = e, o = e + 1) : r = e - 1;
118
+ }
119
+ return l(c, 0, e - 1);
120
+ }, z = (t, e, r) => {
121
+ let s = r && r[1] || e || 40, l = -1, i = 0, f = !e, u = 0;
122
+ const a = r && r[0], $ = a ? I(a.slice(0, n(t, a.length)), o(0, t - a.length)) : I([], t), g = I([], t + 1), d = t => {
123
+ const e = $[t];
124
+ return -1 === e ? s : e;
125
+ }, p = e => {
126
+ if (!t) return 0;
127
+ if (l >= e) return g[e];
128
+ l < 0 && (g[0] = 0, l = 0);
129
+ let n = l, o = g[n];
130
+ for (;n < e; ) o += d(n), g[++n] = o;
131
+ return l = e, o;
136
132
  };
137
133
  return {
138
- $getRange: (t, o) => {
139
- let s, r;
140
- return c = n(c, e - 1), g(c) <= t ? (r = x(g, e, o, c), s = x(g, e, t, c, r)) : (s = x(g, e, t, void 0, c),
141
- r = x(g, e, o, s)), c = s, [ s, r ];
142
- },
143
- $findIndex: t => x(g, e, t),
144
- $getItemOffset: g,
145
- $getItemSize: $,
146
- $setItemSize: (e, t) => {
147
- const o = -1 === a[e];
148
- return a[e] = t, l = n(e, l), o;
134
+ $getRange: (e, o) => {
135
+ let r, s;
136
+ return u = n(u, t - 1), p(u) <= e ? (s = k(p, t, o, u), r = k(p, t, e, u, s)) : (r = k(p, t, e, void 0, u),
137
+ s = k(p, t, o, r)), u = r, [ r, s ];
149
138
  },
150
- $isSizeEqual: (e, t = -1) => a[e] === t,
151
- $getTotalSize: () => g(e),
152
- $getLength: () => e,
153
- $setLength: (t, o) => {
154
- const s = t - e;
155
- return l = o ? -1 : n(t - 1, l), e = t, s > 0 ? (z(u, s), z(a, s, o), r * s) : (u.splice(s),
156
- (o ? a.splice(0, -s) : a.splice(s)).reduce((e, t) => e - (-1 === t ? r : t), 0));
139
+ $findIndex: e => k(p, t, e),
140
+ $getItemOffset: p,
141
+ $getItemSize: d,
142
+ $isSizeEqual: (t, e = -1) => $[t] === e,
143
+ $resize: (e, r, u, a) => {
144
+ let g = e.reduce((t, [e, n]) => r(e) ? t + (n - d(e)) : t, 0);
145
+ for (const [t, o] of e) i += -1 === $[t] ? o : o - d(t), $[t] = o, l = n(t, l);
146
+ if (f && a && i > a) {
147
+ let e = 0;
148
+ const n = k(p, t, u + g), r = [];
149
+ $.forEach((t, o) => {
150
+ -1 !== t && (t && r.push(t), o < n && e++);
151
+ }), l = -1, c(r);
152
+ const i = r.length, a = i / 2 | 0, d = i % 2 == 0 ? (r[a - 1] + r[a]) / 2 : r[a], m = s;
153
+ g += ((s = d) - m) * o(n - e, 0), f = !1;
154
+ }
155
+ return g;
157
156
  },
158
- $estimateDefaultSize: t ? void 0 : e => {
159
- let t = 0;
160
- const n = [];
161
- a.forEach((o, s) => {
162
- -1 !== o && (o && n.push(o), s < e && t++);
163
- }), l = -1, i(n);
164
- const s = n.length, c = s / 2 | 0, f = s % 2 == 0 ? (n[c - 1] + n[c]) / 2 : n[c], u = r;
165
- return ((r = f) - u) * o(e - t, 0);
157
+ $getTotalSize: () => p(t),
158
+ $getLength: () => t,
159
+ $setLength: (e, o) => {
160
+ const r = e - t;
161
+ return l = o ? -1 : n(e - 1, l), t = e, r > 0 ? (I(g, r), I($, r, o), s * r) : (g.splice(r),
162
+ (o ? $.splice(0, -r) : $.splice(r)).reduce((t, e) => t - (-1 === e ? s : e), 0));
166
163
  },
167
- $snapshot: () => [ a.slice(), r ]
168
- };
169
- }, k = e => "number" == typeof e ? e : e.length, T = (e, t) => "number" == typeof e ? t : e[t], M = (e, t, s = 0) => {
170
- let i = 0, c = 0;
171
- const f = (e = 0, t = 0) => {
172
- i = e, c = t;
173
- }, a = e => n(i, e), u = e => o(e - c, a(e)), $ = (e, t, n, r, l) => {
174
- const i = t(a(n)), c = t(n) - t(u(n)), f = r + (i ? i - s : 0);
175
- return e(f, o(f, l - (c ? c - s : 0)));
164
+ $isEstimating: () => f,
165
+ $snapshot: () => [ $.slice(), s ]
176
166
  };
177
- if ("number" == typeof t) {
178
- let n = k(e), o = t;
179
- const i = e => o + s ? l(r(e / (o + s)), 0, n - 1) : 0, c = e => e * (o + s), g = (e, t) => [ i(e), i(t) ];
180
- return {
181
- $getRange: (e, t) => $(g, c, n, e, t),
182
- $findIndex: i,
183
- $getItemOffset: c,
184
- $getItemSize: () => o,
185
- $setItemSize: () => !1,
186
- $isSizeEqual: () => !1,
187
- $getTotalSize: () => n ? n * (o + s) - s : 0,
188
- $getLength: () => n,
189
- $setLength: e => (n = e, 0),
190
- $isMeasurable: () => !1,
191
- $setPinned: f,
192
- $getPinnedStart: () => a(n),
193
- $getTrailStart: () => u(n),
194
- $getSizes: (e, t) => "number" == typeof t ? t : null,
195
- $setAxis: (e, t) => {
196
- if (null == e || e === o) return;
197
- const n = i(t) * (e - o);
198
- return o = e, n;
199
- }
200
- };
201
- }
202
- const g = "auto" === t;
203
- let d = null;
204
- const m = [], p = y(k(e), void 0, [ [], 40 + s ]), S = e => g || !!m[e];
167
+ }, M = t => "number" == typeof t ? t : t.length, T = (t, e) => "number" == typeof t ? e : t[e], R = (t, e, r = 0) => {
168
+ let i = M(t);
169
+ const f = "number" == typeof e, u = "auto" === e;
170
+ let a = (f ? e : 40) + r, $ = -1, g = 0, d = u, p = 0, m = 0, w = null;
171
+ const h = [], b = [], S = [], v = t => u || !!S[t], y = () => {
172
+ h.length || I(h, i);
173
+ }, x = t => {
174
+ const e = h[t];
175
+ return -1 === e ? a : e;
176
+ }, z = t => {
177
+ if (!i) return 0;
178
+ if (!h.length) return t * a;
179
+ if ($ >= t) return b[t];
180
+ $ < 0 && (b[0] = 0, $ = 0);
181
+ let e = $, n = b[e];
182
+ for (;e < t; ) n += x(e), b[++e] = n;
183
+ return $ = t, n;
184
+ }, T = (t, e) => {
185
+ h[t] = e, $ = n(t, $);
186
+ }, R = t => h.length ? k(z, i, t) : a ? l(s(t / a), 0, i - 1) : 0, L = () => n(p, i), O = () => o(i - m, L()), _ = t => (h.length ? x(t) : a) - r;
205
187
  return {
206
- $getRange: (e, t) => $(p.$getRange, p.$getItemOffset, p.$getLength(), e, t),
207
- $findIndex: p.$findIndex,
208
- $getItemOffset: p.$getItemOffset,
209
- $getItemSize: e => p.$getItemSize(e) - s,
210
- $setItemSize: (e, t) => S(e) && p.$setItemSize(e, t + s),
211
- $isSizeEqual: (e, t) => p.$isSizeEqual(e, t + s),
212
- $getTotalSize: () => p.$getLength() ? p.$getTotalSize() - s : 0,
213
- $getLength: p.$getLength,
214
- $setLength: p.$setLength,
215
- $estimateDefaultSize: g ? p.$estimateDefaultSize : void 0,
216
- $isMeasurable: S,
217
- $setPinned: f,
218
- $getPinnedStart: () => a(p.$getLength()),
219
- $getTrailStart: () => u(p.$getLength()),
220
- $getSizes: (e, t) => g || "string" != typeof t || "auto" === t ? null : e.map(e => null != e ? e[t] : null),
221
- $setAxis: (e, t) => {
222
- if (!e) return;
223
- const n = p.$getLength();
224
- if (e === d && n === m.length) return;
225
- d = e, m.length = n;
226
- const o = p.$findIndex(t), r = p.$getItemOffset(o);
227
- let l;
228
- for (let t = 0; t < n; t++) {
229
- const n = e[t], o = "number" != typeof n;
230
- if (!o || !m[t]) {
231
- m[t] = o;
232
- const e = o ? -1 : n + s;
233
- p.$isSizeEqual(t, e) || (p.$setItemSize(t, e), l = !0);
188
+ $getRange: (t, e) => {
189
+ const n = z(L()), s = z(i) - z(O()), l = t + (n ? n - r : 0);
190
+ return [ R(l), R(o(l, e - (s ? s - r : 0))) ];
191
+ },
192
+ $findIndex: R,
193
+ $getItemOffset: z,
194
+ $getItemSize: _,
195
+ $resize: (t, e, n, s) => {
196
+ let l = t.reduce((t, [n, o]) => v(n) && e(n) ? t + (o - _(n)) : t, 0);
197
+ for (const [e, n] of t) v(e) && (y(), g += -1 === h[e] ? n : n - _(e), T(e, n + r));
198
+ if (d && s && g > s) {
199
+ let t = 0;
200
+ const e = R(n + l), r = [];
201
+ h.forEach((n, o) => {
202
+ -1 !== n && (n && r.push(n), o < e && t++);
203
+ }), $ = -1, c(r);
204
+ const s = r.length, i = s / 2 | 0, f = s % 2 == 0 ? (r[i - 1] + r[i]) / 2 : r[i], u = a;
205
+ l += ((a = f) - u) * o(e - t, 0), d = !1;
206
+ }
207
+ return l;
208
+ },
209
+ $isSizeEqual: (t, e = -1) => {
210
+ const n = h.length ? h[t] : -1;
211
+ return -1 === e ? v(t) && -1 === n : n === e + r;
212
+ },
213
+ $getTotalSize: () => i ? z(i) - r : 0,
214
+ $getLength: () => i,
215
+ $setLength: t => {
216
+ const e = t - i;
217
+ return $ = n(t - 1, $), i = t, h.length && (e > 0 ? I(h, e) : h.splice(e)), 0;
218
+ },
219
+ $isEstimating: () => d,
220
+ $isMeasurable: v,
221
+ $setPinned: (t = 0, e = 0) => {
222
+ p = t, m = e;
223
+ },
224
+ $getPinnedStart: L,
225
+ $getTrailStart: O,
226
+ $getSizes: (t, e) => "number" == typeof e ? f ? e : null : f || u || "auto" === e ? null : t.map(t => null != t ? t[e] : null),
227
+ $relayout: (t, e) => {
228
+ if (null == t) return;
229
+ if ("number" == typeof t) {
230
+ const n = t + r;
231
+ if (n === a) return;
232
+ const o = R(e) * (n - a);
233
+ return a = n, o;
234
+ }
235
+ if (t === w && i === S.length) return;
236
+ w = t, S.length = i, y();
237
+ const n = R(e), o = z(n);
238
+ let s;
239
+ for (let e = 0; e < i; e++) {
240
+ const n = t[e], o = "number" != typeof n;
241
+ if (!o || !S[e]) {
242
+ S[e] = o;
243
+ const t = o ? -1 : n + r;
244
+ h[e] !== t && (T(e, t), s = !0);
234
245
  }
235
246
  }
236
- return l ? p.$getItemOffset(o) - r : void 0;
247
+ return s ? z(n) - o : void 0;
237
248
  }
238
249
  };
239
- }, L = (e, t, n, o, s, r) => {
240
- const l = k(n);
241
- t.$setPinned(s, r), l !== e.$getItemsLength() && e.$update(5, [ l ]);
242
- const i = t.$setAxis(o, e.$getScrollOffset() - e.$getItemOffset(0));
243
- null != i && e.$update(9, i);
244
- }, R = /*#__PURE__*/ new WeakMap, O = (e = t) => {
250
+ }, L = /*#__PURE__*/ new WeakMap, O = (t = e) => {
245
251
  const n = /* @__PURE__ */ new Map;
246
- for (const t of e) {
247
- const e = t.rowIndex + (t.rowSpan || 1);
248
- for (let o = t.rowIndex; o < e; o++) {
249
- const e = n.get(o);
250
- e ? e.push(t) : n.set(o, [ t ]);
252
+ for (const e of t) {
253
+ const t = e.rowIndex + (e.rowSpan || 1);
254
+ for (let o = e.rowIndex; o < t; o++) {
255
+ const t = n.get(o);
256
+ t ? t.push(e) : n.set(o, [ e ]);
251
257
  }
252
258
  }
253
259
  return n;
254
- }, P = (e, t, n) => {
260
+ }, _ = (t, e, n) => {
255
261
  const o = [];
256
- for (const s of e) s >= t && s < n && o.push(s);
257
- return i(o);
258
- }, _ = (e, t, n) => {
259
- if (t >= n) return -1;
260
- let o = 0, s = e.length;
261
- for (;o < s; ) {
262
- const n = o + s >> 1;
263
- e[n] <= t ? o = n + 1 : s = n;
262
+ for (const r of t) r >= e && r < n && o.push(r);
263
+ return c(o);
264
+ }, C = (t, e, n) => {
265
+ if (e >= n) return -1;
266
+ let o = 0, r = t.length;
267
+ for (;o < r; ) {
268
+ const n = o + r >> 1;
269
+ t[n] <= e ? o = n + 1 : r = n;
264
270
  }
265
271
  return o - 1;
266
- }, q = (e, t, n, o, s) => {
267
- const r = t.length;
268
- for (;n < r && t[n] < o; n++) {
269
- const o = t[n];
270
- o > s && (e.push(o), s = o);
272
+ }, E = (t, e, n, o, r) => {
273
+ const s = e.length;
274
+ for (;n < s && e[n] < o; n++) {
275
+ const o = e[n];
276
+ o > r && (t.push(o), r = o);
271
277
  }
272
278
  return n;
273
- }, A = (e, t, n, o, s, r) => {
279
+ }, q = (t, e, n, o, r, s) => {
274
280
  const l = [];
275
- for (let e = 0; e < n; e++) l.push(e);
276
- const i = q(l, e, 0, o, n - 1);
277
- for (let e = o; e <= s; e++) l.push(e);
278
- q(l, e, i, r, s);
279
- for (let e = r; e < t; e++) l.push(e);
281
+ for (let t = 0; t < n; t++) l.push(t);
282
+ const c = E(l, t, 0, o, n - 1);
283
+ for (let t = o; t <= r; t++) l.push(t);
284
+ E(l, t, c, s, r);
285
+ for (let t = s; t < e; t++) l.push(t);
280
286
  return l;
281
- }, C = (e, t) => n(e.rowIndex + (e.rowSpan || 1), t), W = (e, t) => n(e.colIndex + (e.colSpan || 1), t), D = (e, t, o, s, r, l) => {
282
- const i = t.length, c = s.length;
283
- let f = "[l0]", a = 0, u = 0, $ = 0;
284
- for (;a < l; ) {
285
- for (;$ < c && s[$] <= a; ) $++;
286
- const g = u < i ? t[u] : l;
287
- let d, m;
288
- if (g === a) {
289
- d = a + 1;
290
- const t = o[u];
291
- m = null == t ? e.$getItemSize(a) + "px" : t ? r : "minmax(" + e.$getItemSize(a) + "px,auto)",
292
- u++;
293
- } else d = n(g, $ < c ? s[$] : l), m = "minmax(" + (e.$getItemOffset(d - 1) + e.$getItemSize(d - 1) - e.$getItemOffset(a)) + "px,auto)";
294
- f += " " + m + " [l" + d + "]", a = d;
287
+ }, P = (t, e) => n(t.rowIndex + (t.rowSpan || 1), e), W = (t, e) => n(t.colIndex + (t.colSpan || 1), e), A = (t, e, o, r, s, l) => {
288
+ const c = e.length, i = r.length;
289
+ let f = "[l0]", u = 0, a = 0, $ = 0;
290
+ for (;u < l; ) {
291
+ for (;$ < i && r[$] <= u; ) $++;
292
+ const g = a < c ? e[a] : l;
293
+ let d, p;
294
+ if (g === u) {
295
+ d = u + 1;
296
+ const e = o[a];
297
+ p = null == e ? t.$getItemSize(u) + "px" : e ? s : "minmax(" + t.$getItemSize(u) + "px,auto)",
298
+ a++;
299
+ } else d = n(g, $ < i ? r[$] : l), p = "minmax(" + (t.$getItemOffset(d - 1) + t.$getItemSize(d - 1) - t.$getItemOffset(u)) + "px,auto)";
300
+ f += " " + p + " [l" + d + "]", u = d;
295
301
  }
296
302
  return f;
297
- }, E = e => {
298
- let t = "";
299
- for (const n in e) t += n.replace(/[A-Z]/g, e => "-" + e.toLowerCase()) + ":" + e[n] + ";";
300
- return t;
301
- }, B = (e, s, [r, c], [f, a], u, $ = t, g = t, d) => {
302
- const m = e.$getLength(), p = s.$getLength(), S = e.$getPinnedStart(), h = e.$getTrailStart(), w = s.$getPinnedStart(), b = s.$getTrailStart();
303
- r = l(r, S, h), c = n(c, h - 1), f = l(f, w, b), a = n(a, b - 1);
304
- const I = P($, S, h), v = o(w - 1, 0), x = [], z = [], y = [];
305
- for (const e of g) e.rowIndex < m && e.colIndex < p && (y.push(e), x.push(e.rowIndex));
306
- const k = y.length, T = _(I, r, h), M = T < 0 ? -1 : I[T];
307
- M >= 0 && x.push(M);
308
- const L = A(i(x), m, S, r, c, h);
309
- for (let e = 0; e < L.length; e++) for (const s of u.get(L[e]) || t) {
310
- const {rowIndex: t, colIndex: l} = s, i = C(s, m), u = W(s, p);
311
- if ((e < 1 || L[e - 1] < t) && l < p && (i - t > 1 || u - l > 1)) {
312
- let e = (t < S || o(t, r) < n(i, c + 1) || h < i || M >= t && M < i) && (l < w || o(l, f) < n(u, a + 1) || b < u);
313
- for (let n = 0; !e && n < k; n++) {
314
- const o = y[n];
315
- e = o.rowIndex >= t && o.rowIndex < i && o.colIndex >= l && o.colIndex < u;
303
+ }, B = t => {
304
+ let e = "";
305
+ for (const n in t) e += n.replace(/[A-Z]/g, t => "-" + t.toLowerCase()) + ":" + t[n] + ";";
306
+ return e;
307
+ }, J = (t, r, [s, i], [f, u], a, $ = e, g = e, d) => {
308
+ const p = t.$getLength(), m = r.$getLength(), w = t.$getPinnedStart(), h = t.$getTrailStart(), b = r.$getPinnedStart(), S = r.$getTrailStart();
309
+ s = l(s, w, h), i = n(i, h - 1), f = l(f, b, S), u = n(u, S - 1);
310
+ const v = _($, w, h), y = o(b - 1, 0), x = [], I = [], k = [];
311
+ for (const t of g) t.rowIndex < p && t.colIndex < m && (k.push(t), x.push(t.rowIndex));
312
+ const z = k.length, M = C(v, s, h), T = M < 0 ? -1 : v[M];
313
+ T >= 0 && x.push(T);
314
+ const R = q(c(x), p, w, s, i, h);
315
+ for (let t = 0; t < R.length; t++) for (const r of a.get(R[t]) || e) {
316
+ const {rowIndex: e, colIndex: l} = r, c = P(r, p), a = W(r, m);
317
+ if ((t < 1 || R[t - 1] < e) && l < m && (c - e > 1 || a - l > 1)) {
318
+ let t = (e < w || o(e, s) < n(c, i + 1) || h < c || T >= e && T < c) && (l < b || o(l, f) < n(a, u + 1) || S < a);
319
+ for (let n = 0; !t && n < z; n++) {
320
+ const o = k[n];
321
+ t = o.rowIndex >= e && o.rowIndex < c && o.colIndex >= l && o.colIndex < a;
316
322
  }
317
- e && y.push(s);
323
+ t && k.push(r);
318
324
  }
319
325
  }
320
- for (const {rowIndex: e, colIndex: t} of y) {
321
- const n = _(I, e, h);
322
- x.push(e), n >= 0 && x.push(I[n]), z.push(t);
326
+ for (const {rowIndex: t, colIndex: e} of k) {
327
+ const n = C(v, t, h);
328
+ x.push(t), n >= 0 && x.push(v[n]), I.push(e);
323
329
  }
324
- i(x), i(z);
325
- const O = A(x, m, S, r, c, h), q = A(z, p, w, f, a, b), E = O.length, B = q.length, V = /* @__PURE__ */ new Map, X = [], Y = [];
326
- for (const e of y) {
327
- const t = C(e, m), n = W(e, p);
328
- X.push(t), Y.push(n);
329
- const o = q.indexOf(e.colIndex);
330
- for (let s = O.indexOf(e.rowIndex); s < E && O[s] < t; s++) {
331
- const t = O[s] * p;
332
- for (let s = o; s < B && q[s] < n; s++) V.set(t + q[s], e);
330
+ c(x), c(I);
331
+ const O = q(x, p, w, s, i, h), E = q(I, m, b, f, u, S), B = O.length, J = E.length, X = /* @__PURE__ */ new Map, Y = [], D = [];
332
+ for (const t of k) {
333
+ const e = P(t, p), n = W(t, m);
334
+ Y.push(e), D.push(n);
335
+ const o = E.indexOf(t.colIndex);
336
+ for (let r = O.indexOf(t.rowIndex); r < B && O[r] < e; r++) {
337
+ const e = O[r] * m;
338
+ for (let r = o; r < J && E[r] < n; r++) X.set(e + E[r], t);
333
339
  }
334
340
  }
335
341
  const U = [];
336
- for (const e of q) U.push(!s.$isMeasurable(e) && null);
337
- const Z = [], j = e.$getItemOffset(S), F = [];
342
+ for (const t of E) U.push(!r.$isMeasurable(t) && null);
343
+ const Z = [], j = t.$getItemOffset(w), F = [];
338
344
  let G = F;
339
- const H = R.get(e), K = /* @__PURE__ */ new Map;
340
- for (const t of O) {
341
- const n = t < S, l = t >= h, i = _(I, t, h), u = n ? 0 : l ? h : i < 0 ? -1 : I[i];
342
- if (t === u) {
343
- const e = n ? S : l ? m : i + 1 < I.length ? I[i + 1] : h;
344
- X.push(e);
345
- const t = [];
345
+ const H = L.get(t), K = /* @__PURE__ */ new Map;
346
+ for (const e of O) {
347
+ const n = e < w, l = e >= h, c = C(v, e, h), a = n ? 0 : l ? h : c < 0 ? -1 : v[c];
348
+ if (e === a) {
349
+ const t = n ? w : l ? p : c + 1 < v.length ? v[c + 1] : h;
350
+ Y.push(t);
351
+ const e = [];
346
352
  F.push({
347
- $key: n ? -1 : l ? -2 : -3 - u,
348
- $rows: t,
349
- $style: J(u, e, n || l ? 0 : null, l ? "bottom" : "top", 4)
350
- }), G = t;
351
- } else u < 0 && (G = F);
352
- const $ = i >= 0 && t === u, g = n || l || t === M || t >= r && t <= c, x = $ ? j : null, z = t * p, y = H && H.get(t), k = y && y.$cells, T = [];
353
- let L = 0, R = !e.$isMeasurable(t) && null, O = t + 1, P = !1;
354
- for (let e = 0; e < B; e++) {
355
- const r = q[e], l = r < w, i = r >= b, c = l || i || r >= f && r <= a, u = V.get(z + r);
356
- if (u ? u.rowIndex === t && u.colIndex === r : g && c) {
357
- const c = u ? C(u, m) : t + 1, f = u ? W(u, p) : r + 1, a = c - t, g = f - r, S = a > 1, h = g > 1, w = S || h;
358
- let b, I;
359
- O = o(O, c);
360
- const x = l ? s.$getItemOffset(r) : null, z = i ? s.$getItemOffset(p) - s.$getItemOffset(f) : null;
361
- !1 !== R || S || (b = t, R = !0), !1 !== U[e] || h || (I = r, U[e] = !0);
362
- const y = n ? "columnheader" : r === v && (l || $) ? "rowheader" : "cell", M = w ? a : void 0, _ = w ? g : void 0, q = "cell" !== y && d && d.rowIndex === t && d.colIndex === r ? d.order : void 0;
363
- let A;
364
- if (k) {
365
- const e = k.length;
366
- for (;L < e && k[L].$col < r; ) L++;
367
- L < e && k[L].$col === r && (A = k[L]);
353
+ $key: n ? -1 : l ? -2 : -3 - a,
354
+ $rows: e,
355
+ $style: V(a, t, n || l ? 0 : null, l ? "bottom" : "top", 4)
356
+ }), G = e;
357
+ } else a < 0 && (G = F);
358
+ const $ = c >= 0 && e === a, g = n || l || e === T || e >= s && e <= i, x = $ ? j : null, I = e * m, k = H && H.get(e), z = k && k.$cells, M = [];
359
+ let R = 0, L = !t.$isMeasurable(e) && null, O = e + 1, _ = !1;
360
+ for (let t = 0; t < J; t++) {
361
+ const s = E[t], l = s < b, c = s >= S, i = l || c || s >= f && s <= u, a = X.get(I + s);
362
+ if (a ? a.rowIndex === e && a.colIndex === s : g && i) {
363
+ const i = a ? P(a, p) : e + 1, f = a ? W(a, m) : s + 1, u = i - e, g = f - s, w = u > 1, h = g > 1, b = w || h;
364
+ let S, v;
365
+ O = o(O, i);
366
+ const x = l ? r.$getItemOffset(s) : null, I = c ? r.$getItemOffset(m) - r.$getItemOffset(f) : null;
367
+ !1 !== L || w || (S = e, L = !0), !1 !== U[t] || h || (v = s, U[t] = !0);
368
+ const k = n ? "columnheader" : s === y && (l || $) ? "rowheader" : "cell", T = b ? u : void 0, C = b ? g : void 0, E = "cell" !== k && d && d.rowIndex === e && d.colIndex === s ? d.order : void 0;
369
+ let q;
370
+ if (z) {
371
+ const t = z.length;
372
+ for (;R < t && z[R].$col < s; ) R++;
373
+ R < t && z[R].$col === s && (q = z[R]);
368
374
  }
369
- if (!A || A.$rowSpan !== M || A.$colSpan !== _ || A.$start !== x || A.$end !== z || A.$measureRow !== b || A.$measureCol !== I || A.$role !== y || A.$sort !== q) {
370
- let e = "1/l" + r;
371
- w && (e += "/l" + c + "/l" + f);
372
- const t = {
375
+ if (!q || q.$rowSpan !== T || q.$colSpan !== C || q.$start !== x || q.$end !== I || q.$measureRow !== S || q.$measureCol !== v || q.$role !== k || q.$sort !== E) {
376
+ let t = "1/l" + s;
377
+ b && (t += "/l" + i + "/l" + f);
378
+ const e = {
373
379
  contain: "layout style",
374
380
  display: "grid",
375
- gridArea: e
381
+ gridArea: t
376
382
  };
377
- S && (t.height = "0px", t.minHeight = "100%", t.zIndex = 1), h && (t.width = "0px",
378
- t.minWidth = "100%"), (l || i) && (t[l ? "insetInlineStart" : "insetInlineEnd"] = (l ? x : z) + "px",
379
- t.position = "sticky", t.zIndex = 2), A = {
380
- $col: r,
381
- $rowSpan: M,
382
- $colSpan: _,
383
- $measureRow: b,
384
- $measureCol: I,
385
- $role: y,
386
- $sort: q,
387
- $style: t,
383
+ w && (e.height = "0px", e.minHeight = "100%", e.zIndex = 1), h && (e.width = "0px",
384
+ e.minWidth = "100%"), (l || c) && (e[l ? "insetInlineStart" : "insetInlineEnd"] = (l ? x : I) + "px",
385
+ e.position = "sticky", e.zIndex = 2), q = {
386
+ $col: s,
387
+ $rowSpan: T,
388
+ $colSpan: C,
389
+ $measureRow: S,
390
+ $measureCol: v,
391
+ $role: k,
392
+ $sort: E,
393
+ $style: e,
388
394
  $start: x,
389
- $end: z
390
- }, P = !0;
395
+ $end: I
396
+ }, _ = !0;
391
397
  }
392
- T.push(A);
398
+ M.push(q);
393
399
  }
394
400
  }
395
- if (Z.push(R), T.length) {
396
- const e = y && !P && y.$cells.length === T.length && y.$top === x ? y : {
397
- $row: t,
398
- $cells: T,
399
- $style: J(t, O, x, "top", 3),
401
+ if (Z.push(L), M.length) {
402
+ const t = k && !_ && k.$cells.length === M.length && k.$top === x ? k : {
403
+ $row: e,
404
+ $cells: M,
405
+ $style: V(e, O, x, "top", 3),
400
406
  $top: x
401
407
  };
402
- K.set(t, e), G.push(e);
408
+ K.set(e, t), G.push(t);
403
409
  }
404
410
  }
405
- return R.set(e, K), {
406
- $rowTemplate: D(e, O, Z, i(X), "max-content", m),
407
- $colTemplate: D(s, q, U, i(Y), "minmax(max-content,auto)", p),
411
+ return L.set(t, K), {
412
+ $rowTemplate: A(t, O, Z, c(Y), "max-content", p),
413
+ $colTemplate: A(r, E, U, c(D), "minmax(max-content,auto)", m),
408
414
  $groups: F
409
415
  };
410
- }, J = (e, t, n, o, s) => {
411
- const r = {
416
+ }, V = (t, e, n, o, r) => {
417
+ const s = {
412
418
  display: "grid",
413
419
  gridTemplateRows: "subgrid",
414
420
  gridTemplateColumns: "subgrid",
415
421
  gridColumn: "1/-1",
416
- gridRow: "l" + e + "/l" + t
422
+ gridRow: "l" + t + "/l" + e
417
423
  };
418
- return null != n && (r.position = "sticky", r[o] = n + "px", r.zIndex = s), r;
419
- }, V = e => {
420
- let t;
424
+ return null != n && (s.position = "sticky", s[o] = n + "px", s.zIndex = r), s;
425
+ }, X = t => {
426
+ let e;
421
427
  return {
422
428
  o(n) {
423
- (t || (t = new (d(g(n)).ResizeObserver)(e))).observe(n);
429
+ (e || (e = new (d(g(n)).ResizeObserver)(t))).observe(n);
424
430
  },
425
- l(e) {
426
- t.unobserve(e);
431
+ l(t) {
432
+ e.unobserve(t);
427
433
  },
428
434
  i() {
429
- t && t.disconnect();
435
+ e && e.disconnect();
430
436
  }
431
437
  };
432
- }, X = (e, t, n, o, s, r, l) => {
433
- let i, u, $ = 0, g = !1, d = !1, p = !1, S = !1;
434
- const h = Date.now, w = o ? "scrollLeft" : "scrollTop", b = o ? "left" : "top", I = e => s ? -e : e, v = () => I(n[w]), x = (e, t) => {
438
+ }, Y = (t, e, n, o, r, s, l) => {
439
+ let c, a, $ = 0, g = !1, d = !1, m = !1, w = !1;
440
+ const h = Date.now, b = o ? "scrollLeft" : "scrollTop", S = o ? "left" : "top", v = t => r ? -t : t, y = () => v(n[b]), x = (t, e) => {
435
441
  n.scrollTo({
436
- [b]: I(e),
437
- behavior: t ? "smooth" : "instant"
442
+ [S]: v(t),
443
+ behavior: e ? "smooth" : "instant"
438
444
  });
439
- }, z = () => {
440
- if (g || d) return g = !1, void y();
441
- p = !1, e.$update(2);
442
- }, y = () => {
443
- f(u), u = c(z, 150);
445
+ }, I = () => {
446
+ if (g || d) return g = !1, void k();
447
+ m = !1, t.$update(2);
444
448
  }, k = () => {
445
- $ = h(), p && (S = !0), l && e.$update(6, l()), e.$update(1, v()), y();
446
- }, T = t => {
447
- if (g || !e.$isScrolling() || t.ctrlKey) return;
449
+ f(a), a = i(I, 150);
450
+ }, z = () => {
451
+ $ = h(), m && (w = !0), l && t.$update(6, l()), t.$update(1, y()), k();
452
+ }, M = e => {
453
+ if (g || !t.$isScrolling() || e.ctrlKey) return;
448
454
  const n = h() - $;
449
- 150 > n && 50 < n && (o ? t.deltaX : t.deltaY) && (g = !0);
450
- }, M = () => {
451
- d = !0, p = S = !1;
452
- }, L = () => {
453
- d = !1, m() && (p = !0);
455
+ 150 > n && 50 < n && (o ? e.deltaX : e.deltaY) && (g = !0);
456
+ }, T = () => {
457
+ d = !0, m = w = !1;
458
+ }, R = () => {
459
+ d = !1, p() && (m = !0);
454
460
  };
455
- return t.addEventListener("scroll", k), t.addEventListener("wheel", T, {
461
+ return e.addEventListener("scroll", z), e.addEventListener("wheel", M, {
456
462
  passive: !0
457
- }), t.addEventListener("touchstart", M, {
463
+ }), e.addEventListener("touchstart", T, {
458
464
  passive: !0
459
- }), t.addEventListener("touchend", L, {
465
+ }), e.addEventListener("touchend", R, {
460
466
  passive: !0
461
467
  }), {
462
468
  i: () => {
463
- t.removeEventListener("scroll", k), t.removeEventListener("wheel", T), t.removeEventListener("touchstart", M),
464
- t.removeEventListener("touchend", L), f(u);
469
+ e.removeEventListener("scroll", z), e.removeEventListener("wheel", M), e.removeEventListener("touchstart", T),
470
+ e.removeEventListener("touchend", R), f(a);
465
471
  },
466
472
  u: () => {
467
- const [t, o] = e.t();
468
- if (!t) return;
469
- S && r && r(), S = !1;
470
- const s = e.$getScrollOffset() + t;
471
- s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? x(s) : n.scrollBy({
472
- [b]: I(t),
473
+ const [e, o] = t.t();
474
+ if (!e) return;
475
+ w && s && s(), w = !1;
476
+ const r = t.$getScrollOffset(), l = r + e, i = t.$getStartSpacerSize() + t.$getTotalSize() - t.$getViewportSize();
477
+ l <= 0 || l >= i || r >= i ? x(l) : n.scrollBy({
478
+ [S]: v(e),
473
479
  behavior: "instant"
474
- }), o && (i && i(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, v()));
480
+ }), o && (c && c(), t.$getViewportSize() > t.$getTotalSize() && t.$update(1, y()));
475
481
  },
476
- $: (t, n) => {
477
- let o, s, r;
478
- i && i();
479
- const l = i = () => {
480
- o = !0, f(s), r && r();
481
- }, u = () => {
482
+ $: (e, n) => {
483
+ let o, r, s;
484
+ c && c();
485
+ const l = c = () => {
486
+ o = !0, f(r), s && s();
487
+ }, a = () => {
482
488
  if (!o) {
483
- if (e.$getViewportSize() && (f(s), s = c(l, 150)), n) {
484
- for (let [t, n] = e.$getRange(0); t <= n; t++) if (e.$isUnmeasuredItem(t)) return;
489
+ if (t.$getViewportSize() && (f(r), r = i(l, 150)), n) {
490
+ for (let [e, n] = t.$getRange(0); e <= n; e++) if (t.$isUnmeasuredItem(e)) return;
485
491
  l();
486
492
  }
487
- e.$update(7), x(t(), n);
493
+ t.$update(7), x(e(), n);
488
494
  }
489
495
  }, $ = () => {
490
496
  if (o) return;
491
- let t;
492
- r = e.$subscribe(2, () => {
493
- t || (t = !0, a(() => {
494
- t = !1, u();
497
+ let e;
498
+ s = t.$subscribe(2, () => {
499
+ e || (e = !0, u(() => {
500
+ e = !1, a();
495
501
  }));
496
- }), u();
502
+ }), a();
497
503
  };
498
- n ? (e.$update(8, t()), a($)) : $();
504
+ n ? (t.$update(8, e()), u($)) : $();
499
505
  }
500
506
  };
501
- }, Y = (e, t) => {
502
- let n, o, s = u();
503
- const r = /* @__PURE__ */ new WeakMap, l = V(o => {
504
- const s = [];
505
- for (const {target: l, contentRect: {width: i, height: c}} of o) if (l === n) (i || c) && e.$update(4, t ? i : c); else if (l.offsetParent) {
506
- const e = r.get(l);
507
- null != e && s.push([ e, t ? i : c ]);
507
+ }, D = (t, e) => {
508
+ let n, o, r = a();
509
+ const s = /* @__PURE__ */ new WeakMap, l = X(o => {
510
+ const r = [];
511
+ for (const {target: l, contentRect: {width: c, height: i}} of o) if (l === n) (c || i) && t.$update(4, e ? c : i); else if (l.offsetParent) {
512
+ const t = s.get(l);
513
+ null != t && r.push([ t, e ? c : i ]);
508
514
  }
509
- s.length && e.$update(3, s);
515
+ r.length && t.$update(3, r);
510
516
  });
511
517
  return {
512
- $observe(r, i = r.parentElement) {
513
- l.o(n = i), o = X(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
514
- const e = t ? "overflowX" : "overflowY", n = i.style, o = n[e];
515
- n[e] = "hidden", c(() => {
516
- n[e] = o;
518
+ $observe(s, c = s.parentElement) {
519
+ l.o(n = c), o = Y(t, c, c, e, e && "rtl" === getComputedStyle(c).direction, () => {
520
+ const t = e ? "overflowX" : "overflowY", n = c.style, o = n[t];
521
+ n[t] = "hidden", i(() => {
522
+ n[t] = o;
517
523
  });
518
- }), s[1](!0);
524
+ }), r[1](!0);
519
525
  },
520
526
  $dispose() {
521
- l.i(), o && o.i(), s[1](!1), s = u();
527
+ l.i(), o && o.i(), r[1](!1), r = a();
522
528
  },
523
- $observeItem: (e, t) => (r.set(e, t), l.o(e), () => {
524
- r.delete(e), l.l(e);
529
+ $observeItem: (t, e) => (s.set(t, e), l.o(t), () => {
530
+ s.delete(t), l.l(t);
525
531
  }),
526
- async $scroll(e, t) {
527
- await s[0] && o.$(e, t);
532
+ async $scroll(t, e) {
533
+ await r[0] && o.$(t, e);
528
534
  },
529
535
  $effect() {
530
536
  o && o.u();
531
537
  },
532
- $getBaseOffset: e.$getStartSpacerSize
538
+ $getBaseOffset: t.$getStartSpacerSize
533
539
  };
534
- }, U = (e, t) => {
535
- let n, o, s, r, l, i = u();
536
- const c = /* @__PURE__ */ new WeakMap, f = V(o => {
537
- const s = [];
538
- for (const {target: e, contentRect: {width: r, height: i}} of o) if (e === n) l && l(); else if (e.offsetParent) {
539
- const n = c.get(e);
540
- null != n && s.push([ n, t ? r : i ]);
540
+ }, U = (t, e) => {
541
+ let n, o, r, s, l, c = a();
542
+ const i = /* @__PURE__ */ new WeakMap, f = X(o => {
543
+ const r = [];
544
+ for (const {target: t, contentRect: {width: s, height: c}} of o) if (t === n) l && l(); else if (t.offsetParent) {
545
+ const n = i.get(t);
546
+ null != n && r.push([ n, e ? s : c ]);
541
547
  }
542
- s.length && e.$update(3, s);
548
+ r.length && t.$update(3, r);
543
549
  });
544
550
  return {
545
- $observe(c) {
546
- const a = g(c), u = d(a), $ = n = a.scrollingElement, m = t && "rtl" === getComputedStyle($).direction, p = (e, t, n, o, s = 0) => {
547
- const r = o ? "offsetLeft" : "offsetTop", l = s + (m ? t.clientWidth - e[r] - e.offsetWidth : e[r]), i = e.offsetParent;
548
- return e !== n && i ? p(i, t, n, o, l) : l;
549
- }, S = r = () => p(c, $, a.body, t), h = l = () => {
550
- e.$update(4, $[t ? "clientWidth" : "clientHeight"]);
551
+ $observe(i) {
552
+ const u = g(i), a = d(u), $ = n = u.scrollingElement, p = e && "rtl" === getComputedStyle($).direction, m = (t, e, n, o, r = 0) => {
553
+ const s = o ? "offsetLeft" : "offsetTop", l = r + (p ? e.clientWidth - t[s] - t.offsetWidth : t[s]), c = t.offsetParent;
554
+ return t !== n && c ? m(c, e, n, o, l) : l;
555
+ }, w = s = () => m(i, $, u.body, e), h = l = () => {
556
+ t.$update(4, $[e ? "clientWidth" : "clientHeight"]);
551
557
  };
552
- u.addEventListener("resize", h), f.o($), s = () => {
553
- u.removeEventListener("resize", h);
554
- }, o = X(e, u, $, t, m, null, S), i[1](!0);
558
+ a.addEventListener("resize", h), f.o($), r = () => {
559
+ a.removeEventListener("resize", h);
560
+ }, o = Y(t, a, $, e, p, null, w), c[1](!0);
555
561
  },
556
562
  $dispose() {
557
- s && s(), f.i(), o && o.i(), i[1](!1), i = u();
563
+ r && r(), f.i(), o && o.i(), c[1](!1), c = a();
558
564
  },
559
- $observeItem: (e, t) => (c.set(e, t), f.o(e), () => {
560
- c.delete(e), f.l(e);
565
+ $observeItem: (t, e) => (i.set(t, e), f.o(t), () => {
566
+ i.delete(t), f.l(t);
561
567
  }),
562
- async $scroll(e, t) {
563
- await i[0] && o.$(e, t);
568
+ async $scroll(t, e) {
569
+ await c[0] && o.$(t, e);
564
570
  },
565
571
  $effect() {
566
572
  o && o.u();
567
573
  },
568
- $getBaseOffset: () => r()
574
+ $getBaseOffset: () => s()
569
575
  };
570
- }, Z = (e, t) => {
571
- let n, o, s, r = u();
572
- const l = /* @__PURE__ */ new WeakMap, i = /* @__PURE__ */ new WeakMap, f = V(o => {
573
- const s = [], r = [];
574
- for (const {target: c, contentRect: {width: f, height: a}} of o) if (c === n) (f || a) && (e.$update(4, a),
575
- t.$update(4, f)); else if (c.offsetParent) {
576
- const e = l.get(c), t = i.get(c);
577
- null != e && s.push([ e, a ]), null != t && r.push([ t, f ]);
576
+ }, Z = (t, e) => {
577
+ let n, o, r, s = a();
578
+ const l = /* @__PURE__ */ new WeakMap, c = /* @__PURE__ */ new WeakMap, f = X(o => {
579
+ const r = [], s = [];
580
+ for (const {target: i, contentRect: {width: f, height: u}} of o) if (i === n) (f || u) && (t.$update(4, u),
581
+ e.$update(4, f)); else if (i.offsetParent) {
582
+ const t = l.get(i), e = c.get(i);
583
+ null != t && r.push([ t, u ]), null != e && s.push([ e, f ]);
578
584
  }
579
- s.length && e.$update(3, s), r.length && t.$update(3, r);
585
+ r.length && t.$update(3, r), s.length && e.$update(3, s);
580
586
  });
581
587
  return {
582
- async $scroll(e, t) {
583
- await r[0] && (e ? s : o).$(t);
588
+ async $scroll(t, e) {
589
+ await s[0] && (t ? r : o).$(e);
584
590
  },
585
591
  $observe(l) {
586
- const i = n = l.parentElement;
587
- f.o(i);
588
- const a = (e, t) => X(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
589
- const e = t ? "overflowX" : "overflowY", n = i.style, o = n[e];
590
- n[e] = "hidden", c(() => {
591
- n[e] = o;
592
+ const c = n = l.parentElement;
593
+ f.o(c);
594
+ const u = (t, e) => Y(t, c, c, e, e && "rtl" === getComputedStyle(c).direction, () => {
595
+ const t = e ? "overflowX" : "overflowY", n = c.style, o = n[t];
596
+ n[t] = "hidden", i(() => {
597
+ n[t] = o;
592
598
  });
593
599
  });
594
- o = a(e, !1), s = a(t, !0), r[1](!0);
600
+ o = u(t, !1), r = u(e, !0), s[1](!0);
595
601
  },
596
602
  $dispose() {
597
- f.i(), o && o.i(), s && s.i(), r[1](!1), r = u();
603
+ f.i(), o && o.i(), r && r.i(), s[1](!1), s = a();
598
604
  },
599
- $observeItem: (e, t, n) => (null != t && l.set(e, t), null != n && i.set(e, n),
600
- f.o(e), () => {
601
- l.delete(e), i.delete(e), f.l(e);
605
+ $observeItem: (t, e, n) => (null != e && l.set(t, e), null != n && c.set(t, n),
606
+ f.o(t), () => {
607
+ l.delete(t), c.delete(t), f.l(t);
602
608
  }),
603
609
  $effect() {
604
- o && o.u(), s && s.u();
610
+ o && o.u(), r && r.u();
605
611
  }
606
612
  };
607
- }, j = (e, t) => {
608
- e.$scroll(() => t);
609
- }, F = (e, t, n) => {
610
- j(e, n + t.$getScrollOffset());
611
- }, G = (e, t, n, {align: o, smooth: s, offset: r = 0} = {}) => {
612
- if (n = l(n, 0, t.$getItemsLength() - 1), "nearest" === o) {
613
- const e = t.$getItemOffset(n), s = t.$getScrollOffset();
614
- if (e < s) o = "start"; else {
615
- if (!(e + t.$getItemSize(n) > s + t.$getViewportSize())) return;
613
+ }, j = (t, e) => {
614
+ t.$scroll(() => e);
615
+ }, F = (t, e, n) => {
616
+ j(t, n + e.$getScrollOffset());
617
+ }, G = (t, e, n, {align: o, smooth: r, offset: s = 0} = {}) => {
618
+ if (n = l(n, 0, e.$getItemsLength() - 1), "nearest" === o) {
619
+ const t = e.$getItemOffset(n), r = e.$getScrollOffset();
620
+ if (t < r) o = "start"; else {
621
+ if (!(t + e.$getItemSize(n) > r + e.$getViewportSize())) return;
616
622
  o = "end";
617
623
  }
618
624
  }
619
- e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(n) + ("end" === o ? t.$getItemSize(n) - t.$getViewportSize() : "center" === o ? (t.$getItemSize(n) - t.$getViewportSize()) / 2 : 0), s);
620
- }, H = (e, t, n) => {
621
- null != t && e.$scroll(!1, () => t), null != n && e.$scroll(!0, () => n);
622
- }, K = (e, t, n, o, s) => {
625
+ t.$scroll(() => s + t.$getBaseOffset() + e.$getItemOffset(n) + ("end" === o ? e.$getItemSize(n) - e.$getViewportSize() : "center" === o ? (e.$getItemSize(n) - e.$getViewportSize()) / 2 : 0), r);
626
+ }, H = (t, e, n) => {
627
+ null != e && t.$scroll(!1, () => e), null != n && t.$scroll(!0, () => n);
628
+ }, K = (t, e, n, o, r) => {
623
629
  if (null != o) {
624
- const n = o + t.$getScrollOffset();
625
- e.$scroll(!1, () => n);
630
+ const n = o + e.$getScrollOffset();
631
+ t.$scroll(!1, () => n);
626
632
  }
627
- if (null != s) {
628
- const t = s + n.$getScrollOffset();
629
- e.$scroll(!0, () => t);
633
+ if (null != r) {
634
+ const e = r + n.$getScrollOffset();
635
+ t.$scroll(!0, () => e);
630
636
  }
631
- }, N = (e, t, s, r, i, c, f) => {
632
- const a = t.$getItemsLength(), u = s.$getPinnedStart(), $ = s.$getTrailStart();
633
- i = l(i, 0, a - 1);
634
- const g = P(r, u, $), d = _(g, i, $), m = d < 0 ? -1 : g[d], p = () => s.$getItemOffset(u) + (m < 0 || m === i ? 0 : s.$getItemOffset(m + 1) - s.$getItemOffset(m)), S = () => s.$getItemOffset(a) - s.$getItemOffset($);
635
- if ("nearest" === c) {
636
- if (i < u || i >= $) return;
637
- const e = p(), s = t.$getScrollOffset() + e, r = t.$getViewportSize() - e - S(), l = t.$getItemSize(i);
638
- let f = t.$getItemOffset(i);
639
- if (m === i) {
640
- const e = (d + 1 < g.length ? g[d + 1] : $) - 1;
641
- f = o(f, n(s, t.$getItemOffset(e) + t.$getItemSize(e) - l));
637
+ }, N = (t, e, r, s, c, i, f) => {
638
+ const u = e.$getItemsLength(), a = r.$getPinnedStart(), $ = r.$getTrailStart();
639
+ c = l(c, 0, u - 1);
640
+ const g = _(s, a, $), d = C(g, c, $), p = d < 0 ? -1 : g[d], m = () => r.$getItemOffset(a) + (p < 0 || p === c ? 0 : r.$getItemOffset(p + 1) - r.$getItemOffset(p)), w = () => r.$getItemOffset(u) - r.$getItemOffset($);
641
+ if ("nearest" === i) {
642
+ if (c < a || c >= $) return;
643
+ const t = m(), r = e.$getScrollOffset() + t, s = e.$getViewportSize() - t - w(), l = e.$getItemSize(c);
644
+ let f = e.$getItemOffset(c);
645
+ if (p === c) {
646
+ const t = (d + 1 < g.length ? g[d + 1] : $) - 1;
647
+ f = o(f, n(r, e.$getItemOffset(t) + e.$getItemSize(t) - l));
642
648
  }
643
- if (f < s) c = "start"; else {
644
- if (!(f + l > s + r)) return;
645
- c = "end";
649
+ if (f < r) i = "start"; else {
650
+ if (!(f + l > r + s)) return;
651
+ i = "end";
646
652
  }
647
653
  }
648
- e.$scroll(f, () => {
649
- const e = p(), n = t.$getItemSize(i) - (t.$getViewportSize() - e - S());
650
- return t.$getItemOffset(i) - e + ("end" === c ? n : "center" === c ? n / 2 : 0);
654
+ t.$scroll(f, () => {
655
+ const t = m(), n = e.$getItemSize(c) - (e.$getViewportSize() - t - w());
656
+ return e.$getItemOffset(c) - t + ("end" === i ? n : "center" === i ? n / 2 : 0);
651
657
  });
652
- }, Q = (e, n, o, s, r, l = t, {rowIndex: i, colIndex: c, rowAlign: f, colAlign: a}) => {
653
- null != i && N(e, n, s, l, i, f, !1), null != c && N(e, o, r, t, c, a, !0);
658
+ }, Q = (t, n, o, r, s, l = e, {rowIndex: c, colIndex: i, rowAlign: f, colAlign: u}) => {
659
+ null != c && N(t, n, r, l, c, f, !1), null != i && N(t, o, s, e, i, u, !0);
654
660
  };
655
661
 
656
- export { p as ACTION_ITEMS_LENGTH_CHANGE, S as ACTION_START_OFFSET_CHANGE, b as UPDATE_SCROLL_END_EVENT, w as UPDATE_SCROLL_EVENT, h as UPDATE_VIRTUAL_STATE, Y as createContainerDriver, Z as createContainerGridDriver, M as createGridLayout, B as createGridPlan, O as createGridSpanIndex, y as createListLayout, v as createVirtualStore, U as createWindowDriver, T as getAxisItem, k as getAxisLength, I as getScrollSize, K as gridScrollBy, H as gridScrollTo, Q as gridScrollToIndex, E as gridStyleToString, $ as isBrowser, a as microtask, F as scrollBy, j as scrollTo, G as scrollToIndex, i as sort, L as updateGridAxis };
662
+ export { m as ACTION_ITEMS_LENGTH_CHANGE, h as ACTION_RELAYOUT, w as ACTION_START_OFFSET_CHANGE, v as UPDATE_SCROLL_END_EVENT, S as UPDATE_SCROLL_EVENT, b as UPDATE_VIRTUAL_STATE, D as createContainerDriver, Z as createContainerGridDriver, R as createGridLayout, J as createGridPlan, O as createGridSpanIndex, z as createListLayout, x as createVirtualStore, U as createWindowDriver, T as getAxisItem, M as getAxisLength, y as getScrollSize, K as gridScrollBy, H as gridScrollTo, Q as gridScrollToIndex, B as gridStyleToString, $ as isBrowser, u as microtask, F as scrollBy, j as scrollTo, G as scrollToIndex, c as sort };
657
663
  //# sourceMappingURL=index.js.map