virtua 0.52.1 → 0.52.3

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.
@@ -21,7 +21,7 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
21
21
  const n = o ? "unshift" : "push";
22
22
  for (let o = 0; o < t; o++) e[n](-1);
23
23
  return e;
24
- }, h = (e, t, s) => {
24
+ }, S = (e, t, s) => {
25
25
  let r = s && s[1] || t || 40, l = -1, c = 0;
26
26
  const f = s && s[0], a = f ? x(f.slice(0, o(e, f.length)), n(0, e - f.length)) : x([], e), u = x([], e + 1), $ = e => {
27
27
  const t = a[e];
@@ -66,15 +66,11 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
66
66
  },
67
67
  $snapshot: () => [ a.slice(), r ]
68
68
  };
69
- }, w = e => "number" == typeof e ? e : e.length, b = /*#__PURE__*/ new WeakMap, S = (e, t, s, r, l, i, c) => {
70
- if (t < r || n(t, l) < o(s, i + 1) || c < s) return !0;
71
- for (const o of e) if (o >= t && o < s) return !0;
72
- return !1;
73
- }, v = (e, t, o) => {
69
+ }, h = e => "number" == typeof e ? e : e.length, w = /*#__PURE__*/ new WeakMap, b = (e, t, s, r, l, i) => e < s || n(e, r) < o(t, l + 1) || i < t, I = (e, t, o) => {
74
70
  const n = [];
75
71
  for (const s of e) s >= t && s < o && n.push(s);
76
72
  return i(n);
77
- }, I = (e, t, o) => {
73
+ }, v = (e, t, o) => {
78
74
  if (t >= o) return -1;
79
75
  let n = 0, s = e.length;
80
76
  for (;n < s; ) {
@@ -82,43 +78,37 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
82
78
  e[o] <= t ? n = o + 1 : s = o;
83
79
  }
84
80
  return n - 1;
85
- }, y = (e, t, o, n) => {
86
- const s = I(t, o, n);
87
- s >= 0 && e.push(t[s]);
81
+ }, y = (e, t, o, n, s) => {
82
+ const r = t.length;
83
+ for (;o < r && t[o] < n; o++) {
84
+ const n = t[o];
85
+ n > s && (e.push(n), s = n);
86
+ }
87
+ return o;
88
88
  }, z = (e, t, o, n, s, r) => {
89
89
  const l = [];
90
90
  for (let e = 0; e < o; e++) l.push(e);
91
- const i = e.length;
92
- let c = 0, f = o - 1;
93
- for (;c < i && e[c] < n; c++) {
94
- const t = e[c];
95
- t > f && (l.push(t), f = t);
96
- }
91
+ const i = y(l, e, 0, n, o - 1);
97
92
  for (let e = n; e <= s; e++) l.push(e);
98
- for (f = s; c < i && e[c] < r; c++) {
99
- const t = e[c];
100
- t > f && (l.push(t), f = t);
101
- }
93
+ y(l, e, i, r, s);
102
94
  for (let e = r; e < t; e++) l.push(e);
103
95
  return l;
104
- }, k = (e, t) => o(e.rowIndex + (e.rowSpan || 1), t), M = (e, t) => o(e.colIndex + (e.colSpan || 1), t), T = (e, t, n, s, r, l) => {
96
+ }, k = (e, t) => o(e.rowIndex + (e.rowSpan || 1), t), T = (e, t) => o(e.colIndex + (e.colSpan || 1), t), M = (e, t, n, s, r, l) => {
105
97
  const i = t.length, c = s.length;
106
98
  let f = "[l0]", a = 0, u = 0, $ = 0;
107
- for (;u < i || $ < c; ) {
108
- const p = u < i ? t[u] : l, g = $ < c ? s[$] : l;
109
- if (g <= a) $++; else {
110
- let t, s;
111
- if (p === a) {
112
- t = a + 1;
113
- const o = n[u];
114
- s = null == o ? e.$getItemSize(a) + "px" : o ? r : "minmax(" + e.$getItemSize(a) + "px,auto)",
115
- u++;
116
- } else t = o(p, g), s = "minmax(" + (e.$getItemOffset(t - 1) + e.$getItemSize(t - 1) - e.$getItemOffset(a)) + "px,auto)";
117
- f += " " + s + " [l" + t + "]", a = t;
118
- }
99
+ for (;a < l; ) {
100
+ for (;$ < c && s[$] <= a; ) $++;
101
+ const p = u < i ? t[u] : l;
102
+ let g, d;
103
+ if (p === a) {
104
+ g = a + 1;
105
+ const t = n[u];
106
+ d = null == t ? e.$getItemSize(a) + "px" : t ? r : "minmax(" + e.$getItemSize(a) + "px,auto)",
107
+ u++;
108
+ } else g = o(p, $ < c ? s[$] : l), d = "minmax(" + (e.$getItemOffset(g - 1) + e.$getItemSize(g - 1) - e.$getItemOffset(a)) + "px,auto)";
109
+ f += " " + d + " [l" + g + "]", a = g;
119
110
  }
120
- return a < l && (f += " minmax(" + (e.$getTotalSize() - e.$getItemOffset(a)) + "px,auto) [l" + l + "]"),
121
- f;
111
+ return f;
122
112
  }, L = (e, t, o, n, s) => {
123
113
  const r = {
124
114
  display: "grid",
@@ -143,9 +133,9 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
143
133
  };
144
134
  }, O = (e, t, o, n, s, r, l) => {
145
135
  let i, u, $ = 0, p = !1, g = !1, m = !1, x = !1;
146
- const h = Date.now, w = n ? "scrollLeft" : "scrollTop", b = n ? "left" : "top", S = e => s ? -e : e, v = () => S(o[w]), I = (e, t) => {
136
+ const S = Date.now, h = n ? "scrollLeft" : "scrollTop", w = n ? "left" : "top", b = e => s ? -e : e, I = () => b(o[h]), v = (e, t) => {
147
137
  o.scrollTo({
148
- [b]: S(e),
138
+ [w]: b(e),
149
139
  behavior: t ? "smooth" : "instant"
150
140
  });
151
141
  }, y = () => {
@@ -154,25 +144,25 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
154
144
  }, z = () => {
155
145
  f(u), u = c(y, 150);
156
146
  }, k = () => {
157
- $ = h(), m && (x = !0), l && e.$update(6, l()), e.$update(1, v()), z();
158
- }, M = t => {
147
+ $ = S(), m && (x = !0), l && e.$update(6, l()), e.$update(1, I()), z();
148
+ }, T = t => {
159
149
  if (p || !e.$isScrolling() || t.ctrlKey) return;
160
- const o = h() - $;
150
+ const o = S() - $;
161
151
  150 > o && 50 < o && (n ? t.deltaX : t.deltaY) && (p = !0);
162
- }, T = () => {
152
+ }, M = () => {
163
153
  g = !0, m = x = !1;
164
154
  }, L = () => {
165
155
  g = !1, d() && (m = !0);
166
156
  };
167
- return t.addEventListener("scroll", k), t.addEventListener("wheel", M, {
157
+ return t.addEventListener("scroll", k), t.addEventListener("wheel", T, {
168
158
  passive: !0
169
- }), t.addEventListener("touchstart", T, {
159
+ }), t.addEventListener("touchstart", M, {
170
160
  passive: !0
171
161
  }), t.addEventListener("touchend", L, {
172
162
  passive: !0
173
163
  }), {
174
164
  l: () => {
175
- t.removeEventListener("scroll", k), t.removeEventListener("wheel", M), t.removeEventListener("touchstart", T),
165
+ t.removeEventListener("scroll", k), t.removeEventListener("wheel", T), t.removeEventListener("touchstart", M),
176
166
  t.removeEventListener("touchend", L), f(u);
177
167
  },
178
168
  i: () => {
@@ -180,10 +170,10 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
180
170
  if (!t) return;
181
171
  x && r && r(), x = !1;
182
172
  const s = e.$getScrollOffset() + t;
183
- s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? I(s) : o.scrollBy({
184
- [b]: S(t),
173
+ s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? v(s) : o.scrollBy({
174
+ [w]: b(t),
185
175
  behavior: "instant"
186
- }), n && (i && i(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, v()));
176
+ }), n && (i && i(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, I()));
187
177
  },
188
178
  $: (t, o) => {
189
179
  let n, s, r;
@@ -196,7 +186,7 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
196
186
  for (let [t, o] = e.$getRange(0); t <= o; t++) if (e.$isUnmeasuredItem(t)) return;
197
187
  l();
198
188
  }
199
- e.$update(7), I(t(), o);
189
+ e.$update(7), v(t(), o);
200
190
  }
201
191
  }, $ = () => {
202
192
  if (n) return;
@@ -210,28 +200,28 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
210
200
  o ? (e.$update(8, t()), a($)) : $();
211
201
  }
212
202
  };
213
- }, _ = (e, t) => {
203
+ }, P = (e, t) => {
214
204
  e.$scroll(() => t);
215
- }, q = (e, t, s, r, i, c, f, a) => {
216
- const u = t.$getItemsLength(), $ = o(s, u), p = n(u - i, $);
217
- c = l(c, 0, u - 1);
218
- const g = v(r, $, p), d = I(g, c, p), m = d < 0 ? -1 : g[d], x = () => [ t.$getItemOffset($) - t.$getItemOffset(0) + (m < 0 || m === c ? 0 : t.$getItemOffset(m + 1) - t.$getItemOffset(m)), t.$getItemOffset(u) - t.$getItemOffset(p) ];
219
- if ("nearest" === f) {
220
- if (c < $ || c >= p) return;
221
- const [e, s] = x(), r = t.$getScrollOffset(), l = t.$getItemSize(c);
222
- let i = t.$getItemOffset(c);
223
- if (m === c) {
224
- const s = (d + 1 < g.length ? g[d + 1] : p) - 1;
225
- i = n(i, o(r + e, t.$getItemOffset(s) + t.$getItemSize(s) - l));
205
+ }, _ = (e, t, s, r, i, c, f) => {
206
+ const a = t.$getItemsLength(), u = s.$getPinnedStart(), $ = s.$getTrailStart();
207
+ i = l(i, 0, a - 1);
208
+ const p = I(r, u, $), g = v(p, i, $), d = g < 0 ? -1 : p[g], m = () => s.$getItemOffset(u) + (d < 0 || d === i ? 0 : s.$getItemOffset(d + 1) - s.$getItemOffset(d)), x = () => s.$getItemOffset(a) - s.$getItemOffset($);
209
+ if ("nearest" === c) {
210
+ if (i < u || i >= $) return;
211
+ const e = m(), s = t.$getScrollOffset() + e, r = t.$getViewportSize() - e - x(), l = t.$getItemSize(i);
212
+ let f = t.$getItemOffset(i);
213
+ if (d === i) {
214
+ const e = (g + 1 < p.length ? p[g + 1] : $) - 1;
215
+ f = n(f, o(s, t.$getItemOffset(e) + t.$getItemSize(e) - l));
226
216
  }
227
- if (i < r + e) f = "start"; else {
228
- if (!(i + l > r + t.$getViewportSize() - s)) return;
229
- f = "end";
217
+ if (f < s) c = "start"; else {
218
+ if (!(f + l > s + r)) return;
219
+ c = "end";
230
220
  }
231
221
  }
232
- e.$scroll(a, () => {
233
- const [e, o] = x(), n = t.$getItemSize(c) - t.$getViewportSize();
234
- return t.$getItemOffset(c) + ("end" === f ? n + o : "center" === f ? (n + o - e) / 2 : -e);
222
+ e.$scroll(f, () => {
223
+ const e = m(), o = t.$getItemSize(i) - (t.$getViewportSize() - e - x());
224
+ return t.$getItemOffset(i) - e + ("end" === c ? o : "center" === c ? o / 2 : 0);
235
225
  });
236
226
  };
237
227
 
@@ -307,169 +297,184 @@ exports.createContainerDriver = (e, t) => {
307
297
  n && n.i(), s && s.i();
308
298
  }
309
299
  };
310
- }, exports.createGridLayout = (e, t, o = 0) => {
300
+ }, exports.createGridLayout = (e, t, s = 0) => {
301
+ let i = 0, c = 0;
302
+ const f = (e = 0, t = 0) => {
303
+ i = e, c = t;
304
+ }, a = e => o(i, e), u = e => n(e - c, a(e)), $ = (e, t, o, r, l) => {
305
+ const i = t(a(o)), c = t(o) - t(u(o)), f = r + (i ? i - s : 0);
306
+ return e(f, n(f, l - (c ? c - s : 0)));
307
+ };
311
308
  if ("number" == typeof t) {
312
- let n = w(e), s = t;
313
- const i = e => s + o ? l(r(e / (s + o)), 0, n - 1) : 0;
309
+ let o = h(e), n = t;
310
+ const i = e => n + s ? l(r(e / (n + s)), 0, o - 1) : 0, c = e => e * (n + s), p = (e, t) => [ i(e), i(t) ];
314
311
  return {
315
- $getRange: (e, t) => [ i(e), i(t) ],
312
+ $getRange: (e, t) => $(p, c, o, e, t),
316
313
  $findIndex: i,
317
- $getItemOffset: e => e * (s + o),
318
- $getItemSize: () => s,
314
+ $getItemOffset: c,
315
+ $getItemSize: () => n,
319
316
  $setItemSize: () => !1,
320
317
  $isSizeEqual: () => !1,
321
- $getTotalSize: () => n ? n * (s + o) - o : 0,
322
- $getLength: () => n,
323
- $setLength: e => (n = e, 0),
318
+ $getTotalSize: () => o ? o * (n + s) - s : 0,
319
+ $getLength: () => o,
320
+ $setLength: e => (o = e, 0),
324
321
  $isMeasurable: () => !1,
322
+ $setPinned: f,
323
+ $getPinnedStart: () => a(o),
324
+ $getTrailStart: () => u(o),
325
325
  $setAxis: (e, t, o) => {
326
- if ("number" != typeof t || t === s) return;
327
- const n = i(o) * (t - s);
328
- return s = t, n;
326
+ if ("number" != typeof t || t === n) return;
327
+ const s = i(o) * (t - n);
328
+ return n = t, s;
329
329
  }
330
330
  };
331
331
  }
332
- const n = "auto" === t;
333
- let s, i = t;
334
- const c = w(e), f = [], a = h(c, void 0, [ [], 40 + o ]), u = e => n || !!f[e], $ = {
335
- $getRange: a.$getRange,
336
- $findIndex: a.$findIndex,
337
- $getItemOffset: a.$getItemOffset,
338
- $getItemSize: e => a.$getItemSize(e) - o,
339
- $setItemSize: (e, t) => u(e) && a.$setItemSize(e, t + o),
340
- $isSizeEqual: (e, t) => a.$isSizeEqual(e, t + o),
341
- $getTotalSize: () => a.$getLength() ? a.$getTotalSize() - o : 0,
342
- $getLength: a.$getLength,
343
- $setLength: a.$setLength,
344
- $estimateDefaultSize: n ? a.$estimateDefaultSize : void 0,
345
- $isMeasurable: u,
346
- $setAxis: (e, t, r, l) => {
347
- if (n) return;
348
- const c = "number" == typeof t || "auto" === t ? i : t, u = a.$getLength();
349
- if (!l && e === s && c === i && u === f.length) return;
350
- s = e, i = c, f.length = u;
351
- const $ = a.$findIndex(r), p = a.$getItemOffset($);
352
- let g;
353
- for (let t = 0; t < u; t++) {
354
- const n = e[t], s = null !== n && "object" == typeof n ? n[c] : null, r = "number" != typeof s;
355
- if (!r || !f[t]) {
356
- f[t] = r;
357
- const e = r ? -1 : s + o;
358
- a.$isSizeEqual(t, e) || (a.$setItemSize(t, e), g = !0);
332
+ const p = "auto" === t;
333
+ let g, d = t;
334
+ const m = h(e), x = [], w = S(m, void 0, [ [], 40 + s ]), b = e => p || !!x[e], I = {
335
+ $getRange: (e, t) => $(w.$getRange, w.$getItemOffset, w.$getLength(), e, t),
336
+ $findIndex: w.$findIndex,
337
+ $getItemOffset: w.$getItemOffset,
338
+ $getItemSize: e => w.$getItemSize(e) - s,
339
+ $setItemSize: (e, t) => b(e) && w.$setItemSize(e, t + s),
340
+ $isSizeEqual: (e, t) => w.$isSizeEqual(e, t + s),
341
+ $getTotalSize: () => w.$getLength() ? w.$getTotalSize() - s : 0,
342
+ $getLength: w.$getLength,
343
+ $setLength: w.$setLength,
344
+ $estimateDefaultSize: p ? w.$estimateDefaultSize : void 0,
345
+ $isMeasurable: b,
346
+ $setPinned: f,
347
+ $getPinnedStart: () => a(w.$getLength()),
348
+ $getTrailStart: () => u(w.$getLength()),
349
+ $setAxis: (e, t, o, n) => {
350
+ if (p) return;
351
+ const r = "number" == typeof t || "auto" === t ? d : t, l = w.$getLength();
352
+ if (!n && e === g && r === d && l === x.length) return;
353
+ g = e, d = r, x.length = l;
354
+ const i = w.$findIndex(o), c = w.$getItemOffset(i);
355
+ let f;
356
+ for (let t = 0; t < l; t++) {
357
+ const o = e[t], n = null !== o && "object" == typeof o ? o[r] : null, l = "number" != typeof n;
358
+ if (!l || !x[t]) {
359
+ x[t] = l;
360
+ const e = l ? -1 : n + s;
361
+ w.$isSizeEqual(t, e) || (w.$setItemSize(t, e), f = !0);
359
362
  }
360
363
  }
361
- return g ? a.$getItemOffset($) - p : void 0;
364
+ return f ? w.$getItemOffset(i) - c : void 0;
362
365
  }
363
366
  };
364
- return $.$setAxis(e, t, 0), $;
365
- }, exports.createGridPlan = (e, s, r, c, f = 0, a = t, u = 0, $ = 0, p = 0, g = t, d = t, m) => {
366
- const x = e.$getLength(), h = s.$getLength(), w = o(f, x), R = n(x - u, w), O = o($, h), _ = n(h - p, O), q = l(r[0], w, R), A = o(r[1], R - 1), C = l(c[0], O, _), W = o(c[1], _ - 1), D = v(a, w, R), E = n(O - 1, 0), P = [], j = [], B = [];
367
- for (const e of d) e.rowIndex < x && e.colIndex < h && B.push(e);
368
- const J = D.length;
369
- J && (y(P, D, q, R), j.push(E));
370
- let V = g, X = 0;
371
- do {
372
- for (;X < B.length; X++) {
373
- const {rowIndex: e, colIndex: t} = B[X];
374
- P.push(e), y(P, D, e, R), j.push(t);
375
- }
376
- const e = [];
377
- for (const t of V) {
378
- const o = t.rowIndex, n = t.colIndex, s = k(t, x), r = M(t, h);
379
- if (o < x && n < h && (s - o > 1 || r - n > 1)) if (S(P, o, s, w, q, A, R)) if (S(j, n, r, O, C, W, _)) B.push(t); else {
380
- const n = I(D, s - 1, R);
381
- (o < w || n >= 0 && D[n] >= o) && e.push(t);
382
- } else n < O && e.push(t);
367
+ return I.$setAxis(e, t, 0), I;
368
+ }, exports.createGridPlan = (e, s, r, c, f = t, a = t, u = t, $) => {
369
+ const p = e.$getLength(), g = s.$getLength(), d = e.$getPinnedStart(), m = e.$getTrailStart(), x = s.$getPinnedStart(), S = s.$getTrailStart(), h = l(r[0], d, m), y = o(r[1], m - 1), R = l(c[0], x, S), O = o(c[1], S - 1), P = I(f, d, m), _ = n(x - 1, 0), q = [], A = [], C = [];
370
+ for (const e of u) e.rowIndex < p && e.colIndex < g && C.push(e);
371
+ const W = C.length, D = P.length, E = v(P, h, m), j = E < 0 ? -1 : P[E];
372
+ j >= 0 && q.push(j);
373
+ for (const e of a) {
374
+ const t = e.rowIndex, o = e.colIndex, n = k(e, p), s = T(e, g);
375
+ if (t < p && o < g && (n - t > 1 || s - o > 1)) {
376
+ let r = (b(t, n, d, h, y, m) || j >= t && j < n) && b(o, s, x, R, O, S);
377
+ for (let e = 0; !r && e < W; e++) {
378
+ const {rowIndex: l, colIndex: i} = C[e];
379
+ r = l >= t && l < n && i >= o && i < s;
380
+ }
381
+ r && C.push(e);
383
382
  }
384
- V = e;
385
- } while (X < B.length);
386
- i(P), i(j);
387
- const Y = z(P, x, w, q, A, R), U = z(j, h, O, C, W, _), Z = Y.length, F = U.length, G = /* @__PURE__ */ new Map, H = [], K = [];
388
- for (const e of B) {
389
- const t = k(e, x), o = M(e, h);
390
- H.push(t), K.push(o);
391
- const n = U.indexOf(e.colIndex);
392
- for (let s = Y.indexOf(e.rowIndex); s < Z && Y[s] < t; s++) {
393
- const t = Y[s] * h;
394
- for (let s = n; s < F && U[s] < o; s++) G.set(t + U[s], e);
383
+ }
384
+ for (const {rowIndex: e, colIndex: t} of C) {
385
+ const o = v(P, e, m);
386
+ q.push(e), o >= 0 && q.push(P[o]), A.push(t);
387
+ }
388
+ i(q), i(A);
389
+ const B = z(q, p, d, h, y, m), J = z(A, g, x, R, O, S), V = B.length, X = J.length, Y = /* @__PURE__ */ new Map, U = [], Z = [];
390
+ for (const e of C) {
391
+ const t = k(e, p), o = T(e, g);
392
+ U.push(t), Z.push(o);
393
+ const n = J.indexOf(e.colIndex);
394
+ for (let s = B.indexOf(e.rowIndex); s < V && B[s] < t; s++) {
395
+ const t = B[s] * g;
396
+ for (let s = n; s < X && J[s] < o; s++) Y.set(t + J[s], e);
395
397
  }
396
398
  }
397
- const N = [];
398
- for (const e of U) N.push(!s.$isMeasurable(e) && null);
399
- const Q = [], ee = e.$getItemOffset(w), te = [];
400
- let oe = te;
401
- const ne = b.get(e), se = /* @__PURE__ */ new Map;
402
- for (const t of Y) {
403
- const o = t < w, r = t >= R, l = r || t >= q && t <= A, i = I(D, t, R), c = o ? 0 : r ? R : i < 0 ? -1 : D[i];
404
- if (t === c) {
405
- const e = o ? w : r ? x : i + 1 < J ? D[i + 1] : R;
406
- H.push(e);
399
+ const F = [];
400
+ for (const e of J) F.push(!s.$isMeasurable(e) && null);
401
+ const G = [], H = e.$getItemOffset(d), K = [];
402
+ let N = K;
403
+ const Q = w.get(e), ee = /* @__PURE__ */ new Map;
404
+ for (const t of B) {
405
+ const o = t < d, r = t >= m, l = v(P, t, m), i = o ? 0 : r ? m : l < 0 ? -1 : P[l];
406
+ if (t === i) {
407
+ const e = o ? d : r ? p : l + 1 < D ? P[l + 1] : m;
408
+ U.push(e);
407
409
  const t = [];
408
- te.push({
409
- $key: o ? -1 : r ? -2 : -3 - c,
410
+ K.push({
411
+ $key: o ? -1 : r ? -2 : -3 - i,
410
412
  $rows: t,
411
- $style: L(c, e, o || r ? 0 : null, r ? "bottom" : "top", 4)
412
- }), oe = t;
413
- } else c < 0 && (oe = te);
414
- const f = i >= 0 && t === c, a = f ? ee : null, u = t * h, $ = ne && ne.get(t), p = $ && $.$cells, g = [];
415
- let d = 0, b = !e.$isMeasurable(t) && null, S = t + 1, v = !1;
416
- for (let e = 0; e < F; e++) {
417
- const r = U[e], i = r < O, c = r >= _, a = c || r >= C && r <= W, $ = G.get(u + r);
418
- if ($ ? $.rowIndex === t && $.colIndex === r : l && a || o || f || i) {
419
- const l = $ ? k($, x) : t + 1, a = $ ? M($, h) : r + 1, u = l - t > 1, w = a - r > 1, I = u || w, y = I ? l - t : void 0, z = I ? a - r : void 0;
420
- let T, L;
421
- S = n(S, l);
422
- const R = i ? s.$getItemOffset(r) : null, O = c ? s.$getTotalSize() - s.$getItemOffset(a - 1) - s.$getItemSize(a - 1) : null;
423
- !1 !== b || u || (T = t, b = !0), !1 !== N[e] || w || (L = r, N[e] = !0);
424
- const _ = o ? "columnheader" : r === E && (i || f) ? "rowheader" : "cell", q = "cell" !== _ && m && m.rowIndex === t && m.colIndex === r ? m.order : void 0;
425
- let A;
426
- if (p) {
427
- for (;d < p.length && p[d].$col < r; ) d++;
428
- d < p.length && (A = p[d]);
413
+ $style: L(i, e, o || r ? 0 : null, r ? "bottom" : "top", 4)
414
+ }), N = t;
415
+ } else i < 0 && (N = K);
416
+ const c = l >= 0 && t === i, f = o || r || t === j || t >= h && t <= y, a = c ? H : null, u = t * g, w = Q && Q.get(t), b = w && w.$cells, I = [];
417
+ let z = 0, M = !e.$isMeasurable(t) && null, q = t + 1, A = !1;
418
+ for (let e = 0; e < X; e++) {
419
+ const r = J[e], l = r < x, i = r >= S, a = l || i || r >= R && r <= O, d = Y.get(u + r);
420
+ if (d ? d.rowIndex === t && d.colIndex === r : f && a) {
421
+ const f = d ? k(d, p) : t + 1, a = d ? T(d, g) : r + 1, u = f - t, m = a - r, x = u > 1, S = m > 1, h = x || S;
422
+ let w, v;
423
+ q = n(q, f);
424
+ const y = l ? s.$getItemOffset(r) : null, L = i ? s.$getTotalSize() - s.$getItemOffset(a - 1) - s.$getItemSize(a - 1) : null;
425
+ !1 !== M || x || (w = t, M = !0), !1 !== F[e] || S || (v = r, F[e] = !0);
426
+ const R = o ? "columnheader" : r === _ && (l || c) ? "rowheader" : "cell", O = h ? u : void 0, P = h ? m : void 0, C = "cell" !== R && $ && $.rowIndex === t && $.colIndex === r ? $.order : void 0;
427
+ let W;
428
+ if (b) {
429
+ const e = b.length;
430
+ for (;z < e && b[z].$col < r; ) z++;
431
+ z < e && b[z].$col === r && (W = b[z]);
429
432
  }
430
- if (!A || A.$col !== r || A.$rowSpan !== y || A.$colSpan !== z || A.$start !== R || A.$end !== O || A.$measureRow !== T || A.$measureCol !== L || A.$role !== _ || A.$sort !== q) {
431
- const e = {
433
+ if (!W || W.$rowSpan !== O || W.$colSpan !== P || W.$start !== y || W.$end !== L || W.$measureRow !== w || W.$measureCol !== v || W.$role !== R || W.$sort !== C) {
434
+ let e = "1/l" + r;
435
+ h && (e += "/l" + f + "/l" + a);
436
+ const t = {
432
437
  contain: "layout style",
433
438
  display: "grid",
434
- gridArea: I ? "1/l" + r + "/l" + l + "/l" + a : "1/l" + r
439
+ gridArea: e
435
440
  };
436
- u && (e.height = "0px", e.minHeight = "100%", e.zIndex = 1), w && (e.width = "0px",
437
- e.minWidth = "100%"), (i || c) && (i ? e.insetInlineStart = R + "px" : e.insetInlineEnd = O + "px",
438
- e.position = "sticky", e.zIndex = 2), A = {
441
+ x && (t.height = "0px", t.minHeight = "100%", t.zIndex = 1), S && (t.width = "0px",
442
+ t.minWidth = "100%"), (l || i) && (t[l ? "insetInlineStart" : "insetInlineEnd"] = (l ? y : L) + "px",
443
+ t.position = "sticky", t.zIndex = 2), W = {
439
444
  $col: r,
440
- $rowSpan: y,
441
- $colSpan: z,
442
- $measureRow: T,
443
- $measureCol: L,
444
- $role: _,
445
- $sort: q,
446
- $style: e,
447
- $start: R,
448
- $end: O
449
- }, v = !0;
445
+ $rowSpan: O,
446
+ $colSpan: P,
447
+ $measureRow: w,
448
+ $measureCol: v,
449
+ $role: R,
450
+ $sort: C,
451
+ $style: t,
452
+ $start: y,
453
+ $end: L
454
+ }, A = !0;
450
455
  }
451
- g.push(A);
456
+ I.push(W);
452
457
  }
453
458
  }
454
- if (Q.push(b), g.length) {
455
- const e = $ && !v && $.$cells.length === g.length && $.$top === a ? $ : {
459
+ if (G.push(M), I.length) {
460
+ const e = w && !A && w.$cells.length === I.length && w.$top === a ? w : {
456
461
  $row: t,
457
- $cells: g,
458
- $style: L(t, S, a, "top", 3),
462
+ $cells: I,
463
+ $style: L(t, q, a, "top", 3),
459
464
  $top: a
460
465
  };
461
- se.set(t, e), oe.push(e);
466
+ ee.set(t, e), N.push(e);
462
467
  }
463
468
  }
464
- return b.set(e, se), {
465
- $rowTemplate: T(e, Y, Q, i(H), "max-content", x),
466
- $colTemplate: T(s, U, N, i(K), "minmax(max-content,auto)", h),
467
- $groups: te
469
+ return w.set(e, ee), {
470
+ $rowTemplate: M(e, B, G, i(U), "max-content", p),
471
+ $colTemplate: M(s, J, F, i(Z), "minmax(max-content,auto)", g),
472
+ $groups: K
468
473
  };
469
- }, exports.createListLayout = h, exports.createVirtualStore = ({$getRange: e, $findIndex: t, $getItemOffset: r, $getItemSize: l, $setItemSize: i, $isSizeEqual: c, $getTotalSize: f, $getLength: a, $setLength: u, $estimateDefaultSize: $}, p = 0) => {
470
- let g = !!$, m = !!p, x = 1, h = 0, w = 0, b = 0, S = 0, v = 0, I = 0, y = 0, z = 0, k = null, M = [ 0, m ? n(p - 1, 0) : -1 ], T = 0, L = !1;
471
- const R = /* @__PURE__ */ new Set, O = () => b - w, _ = () => O() + v + S, q = e => r(e) - v, A = e => {
472
- e && (d() && 0 !== y || k && 1 === z ? v += e : S += e);
474
+ }, exports.createListLayout = S, exports.createVirtualStore = ({$getRange: e, $findIndex: t, $getItemOffset: r, $getItemSize: l, $setItemSize: i, $isSizeEqual: c, $getTotalSize: f, $getLength: a, $setLength: u, $estimateDefaultSize: $}, p = 0) => {
475
+ let g = !!$, m = !!p, x = 1, S = 0, h = 0, w = 0, b = 0, I = 0, v = 0, y = 0, z = 0, k = null, T = [ 0, m ? n(p - 1, 0) : -1 ], M = 0, L = !1;
476
+ const R = /* @__PURE__ */ new Set, O = () => w - h, P = () => O() + I + b, _ = e => r(e) - I, q = e => {
477
+ e && (d() && 0 !== y || k && 1 === z ? I += e : b += e);
473
478
  };
474
479
  return {
475
480
  $dispose: () => {
@@ -477,26 +482,26 @@ exports.createContainerDriver = (e, t) => {
477
482
  },
478
483
  $getStateVersion: () => x,
479
484
  $getRange: (t = 200) => {
480
- if (!L || m) return M;
485
+ if (!L || m) return T;
481
486
  let s, r;
482
- if (I) [s, r] = M; else {
483
- let l = n(0, _()), i = l + h;
484
- g || (t = n(0, t), 1 !== y && (l -= t), 2 !== y && (i += t)), [s, r] = M = e(n(0, l), n(0, i)),
487
+ if (v) [s, r] = T; else {
488
+ let l = n(0, P()), i = l + S;
489
+ g || (t = n(0, t), 1 !== y && (l -= t), 2 !== y && (i += t)), [s, r] = T = e(n(0, l), n(0, i)),
485
490
  k && (s = o(s, k[0]), r = n(r, k[1]));
486
491
  }
487
492
  return [ n(s, 0), o(r, a() - 1) ];
488
493
  },
489
- $findItemIndex: e => t(e - w),
494
+ $findItemIndex: e => t(e - h),
490
495
  $isUnmeasuredItem: c,
491
- $getItemOffset: q,
496
+ $getItemOffset: _,
492
497
  $getItemSize: l,
493
498
  $getItemsLength: a,
494
- $getScrollOffset: () => b,
499
+ $getScrollOffset: () => w,
495
500
  $isScrolling: () => 0 !== y,
496
- $getViewportSize: () => h,
497
- $getStartSpacerSize: () => w,
501
+ $getViewportSize: () => S,
502
+ $getStartSpacerSize: () => h,
498
503
  $getTotalSize: f,
499
- u: () => (I = S, S = 0, [ I, 2 === z ]),
504
+ u: () => (v = b, b = 0, [ v, 2 === z ]),
500
505
  $subscribe: (e, t) => {
501
506
  const o = [ e, t ];
502
507
  return R.add(o), () => {
@@ -508,13 +513,13 @@ exports.createContainerDriver = (e, t) => {
508
513
  switch (o) {
509
514
  case 1:
510
515
  {
511
- if (n === b && 0 === z) break;
512
- const e = I;
513
- I = 0;
514
- const t = n - b, o = s(t);
515
- e && o < s(e) + 1 || 0 !== z || (y = t < 0 ? 2 : 1), m && (m = !1), b = n, p = 4;
516
+ if (n === w && 0 === z) break;
517
+ const e = v;
518
+ v = 0;
519
+ const t = n - w, o = s(t);
520
+ e && o < s(e) + 1 || 0 !== z || (y = t < 0 ? 2 : 1), m && (m = !1), w = n, p = 4;
516
521
  const r = O();
517
- r >= -h && r <= f() && (p += 1, a = o > h);
522
+ r >= -S && r <= f() && (p += 1, a = o > S);
518
523
  break;
519
524
  }
520
525
 
@@ -526,32 +531,32 @@ exports.createContainerDriver = (e, t) => {
526
531
  {
527
532
  const e = n.filter(([e, t]) => !c(e, t));
528
533
  if (!e.length) break;
529
- A(e.reduce((e, [t, o]) => {
534
+ q(e.reduce((e, [t, o]) => {
530
535
  let n;
531
536
  if (2 === z) n = !0; else if (k && 1 === z) n = t < k[0]; else {
532
- const e = O(), o = q(t), s = l(t);
533
- n = 1 !== y && 0 === z ? o + s <= e : o < e && o + s < e + h;
537
+ const e = O(), o = _(t), s = l(t);
538
+ n = 1 !== y && 0 === z ? o + s <= e : o < e && o + s < e + S;
534
539
  }
535
540
  return n && (e += o - l(t)), e;
536
541
  }, 0));
537
542
  for (const [t, o] of e) {
538
543
  const e = l(t), n = i(t, o);
539
- g && (T += n ? o : o - e);
544
+ g && (M += n ? o : o - e);
540
545
  }
541
- g && h && T > h && (A($(t(_()))), g = !1), p = 3, a = !0;
546
+ g && S && M > S && (q($(t(P()))), g = !1), p = 3, a = !0;
542
547
  break;
543
548
  }
544
549
 
545
550
  case 4:
546
- h !== n && (h || (L = a = !0), h = n, p = 3);
551
+ S !== n && (S || (L = a = !0), S = n, p = 3);
547
552
  break;
548
553
 
549
554
  case 5:
550
- n[1] ? (A(u(n[0], !0)), z = 2, p = 1) : (u(n[0]), p = 1);
555
+ n[1] ? (q(u(n[0], !0)), z = 2, p = 1) : (u(n[0]), p = 1);
551
556
  break;
552
557
 
553
558
  case 6:
554
- w = n;
559
+ h = n;
555
560
  break;
556
561
 
557
562
  case 7:
@@ -559,13 +564,13 @@ exports.createContainerDriver = (e, t) => {
559
564
  break;
560
565
 
561
566
  case 9:
562
- A(n), p = 3;
567
+ q(n), p = 3;
563
568
  break;
564
569
 
565
570
  case 8:
566
- k = e(n, n + h), p = 1;
571
+ k = e(n, n + S), p = 1;
567
572
  }
568
- p && (x = 1 + (2147483647 & x), r && v && (S += v, v = 0), R.forEach(([e, t]) => {
573
+ p && (x = 1 + (2147483647 & x), r && I && (b += I, I = 0), R.forEach(([e, t]) => {
569
574
  p & e && t(a);
570
575
  }));
571
576
  }
@@ -585,11 +590,11 @@ exports.createContainerDriver = (e, t) => {
585
590
  const a = p(c), u = g(a), $ = o = a.scrollingElement, d = t && "rtl" === getComputedStyle($).direction, m = (e, t, o, n, s = 0) => {
586
591
  const r = n ? "offsetLeft" : "offsetTop", l = s + (d ? t.clientWidth - e[r] - e.offsetWidth : e[r]), i = e.offsetParent;
587
592
  return e !== o && i ? m(i, t, o, n, l) : l;
588
- }, x = r = () => m(c, $, a.body, t), h = l = () => {
593
+ }, x = r = () => m(c, $, a.body, t), S = l = () => {
589
594
  e.$update(4, $[t ? "clientWidth" : "clientHeight"]);
590
595
  };
591
- u.addEventListener("resize", h), f.t($), s = () => {
592
- u.removeEventListener("resize", h);
596
+ u.addEventListener("resize", S), f.t($), s = () => {
597
+ u.removeEventListener("resize", S);
593
598
  }, n = O(e, u, $, t, d, null, x), i[1](!0);
594
599
  },
595
600
  $dispose() {
@@ -606,7 +611,7 @@ exports.createContainerDriver = (e, t) => {
606
611
  },
607
612
  $getBaseOffset: () => r()
608
613
  };
609
- }, exports.getAxisItem = (e, t) => "number" == typeof e ? t : e[t], exports.getAxisLength = w,
614
+ }, exports.getAxisItem = (e, t) => "number" == typeof e ? t : e[t], exports.getAxisLength = h,
610
615
  exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports.gridScrollBy = (e, t, o, n, s) => {
611
616
  if (null != n) {
612
617
  const o = n + t.$getScrollOffset();
@@ -618,15 +623,15 @@ exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports
618
623
  }
619
624
  }, exports.gridScrollTo = (e, t, o) => {
620
625
  null != t && e.$scroll(!1, () => t), null != o && e.$scroll(!0, () => o);
621
- }, exports.gridScrollToIndex = (e, o, n, s = 0, r = t, l = 0, i = 0, c = 0, {rowIndex: f, colIndex: a, rowAlign: u, colAlign: $}) => {
622
- null != f && q(e, o, s, r, l, f, u, !1), null != a && q(e, n, i, t, c, a, $, !0);
626
+ }, exports.gridScrollToIndex = (e, o, n, s, r, l = t, {rowIndex: i, colIndex: c, rowAlign: f, colAlign: a}) => {
627
+ null != i && _(e, o, s, l, i, f, !1), null != c && _(e, n, r, t, c, a, !0);
623
628
  }, exports.gridStyleToString = e => {
624
629
  let t = "";
625
630
  for (const o in e) t += o.replace(/[A-Z]/g, e => "-" + e.toLowerCase()) + ":" + e[o] + ";";
626
631
  return t;
627
632
  }, exports.isBrowser = $, exports.microtask = a, exports.scrollBy = (e, t, o) => {
628
- _(e, o + t.$getScrollOffset());
629
- }, exports.scrollTo = _, exports.scrollToIndex = (e, t, o, {align: n, smooth: s, offset: r = 0} = {}) => {
633
+ P(e, o + t.$getScrollOffset());
634
+ }, exports.scrollTo = P, exports.scrollToIndex = (e, t, o, {align: n, smooth: s, offset: r = 0} = {}) => {
630
635
  if (o = l(o, 0, t.$getItemsLength() - 1), "nearest" === n) {
631
636
  const e = t.$getItemOffset(o), s = t.$getScrollOffset();
632
637
  if (e < s) n = "start"; else {
@@ -635,10 +640,10 @@ exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports
635
640
  }
636
641
  }
637
642
  e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(o) + ("end" === n ? t.$getItemSize(o) - t.$getViewportSize() : "center" === n ? (t.$getItemSize(o) - t.$getViewportSize()) / 2 : 0), s);
638
- }, exports.sort = i, exports.updateGridAxis = (e, t, o, n, s) => {
639
- const r = w(o);
640
- r !== e.$getItemsLength() && e.$update(5, [ r ]);
641
- const l = t.$setAxis(o, n, e.$getScrollOffset() - e.$getItemOffset(0), s);
642
- null != l && e.$update(9, l);
643
+ }, exports.sort = i, exports.updateGridAxis = (e, t, o, n, s, r, l) => {
644
+ const i = h(o);
645
+ t.$setPinned(s, r), i !== e.$getItemsLength() && e.$update(5, [ i ]);
646
+ const c = t.$setAxis(o, n, e.$getScrollOffset() - e.$getItemOffset(0), l);
647
+ null != c && e.$update(9, c);
643
648
  };
644
649
  //# sourceMappingURL=index.cjs.map