virtua 0.51.3 → 0.52.0

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