virtua 0.52.1 → 0.52.2

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.
@@ -66,7 +66,7 @@ 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) => {
69
+ }, S = e => "number" == typeof e ? e : e.length, w = /*#__PURE__*/ new WeakMap, b = (e, t, s, r, l, i, c) => {
70
70
  if (t < r || n(t, l) < o(s, i + 1) || c < s) return !0;
71
71
  for (const o of e) if (o >= t && o < s) return !0;
72
72
  return !1;
@@ -85,41 +85,38 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
85
85
  }, y = (e, t, o, n) => {
86
86
  const s = I(t, o, n);
87
87
  s >= 0 && e.push(t[s]);
88
- }, z = (e, t, o, n, s, r) => {
88
+ }, z = (e, t, o, n, s) => {
89
+ const r = t.length;
90
+ for (;o < r && t[o] < n; o++) {
91
+ const n = t[o];
92
+ n > s && (e.push(n), s = n);
93
+ }
94
+ return o;
95
+ }, k = (e, t, o, n, s, r) => {
89
96
  const l = [];
90
97
  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
- }
98
+ const i = z(l, e, 0, n, o - 1);
97
99
  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
- }
100
+ z(l, e, i, r, s);
102
101
  for (let e = r; e < t; e++) l.push(e);
103
102
  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) => {
103
+ }, T = (e, t) => o(e.rowIndex + (e.rowSpan || 1), t), M = (e, t) => o(e.colIndex + (e.colSpan || 1), t), L = (e, t, n, s, r, l) => {
105
104
  const i = t.length, c = s.length;
106
105
  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
- }
106
+ for (;a < l; ) {
107
+ for (;$ < c && s[$] <= a; ) $++;
108
+ const p = u < i ? t[u] : l;
109
+ let g, d;
110
+ if (p === a) {
111
+ g = a + 1;
112
+ const t = n[u];
113
+ d = null == t ? e.$getItemSize(a) + "px" : t ? r : "minmax(" + e.$getItemSize(a) + "px,auto)",
114
+ u++;
115
+ } else g = o(p, $ < c ? s[$] : l), d = "minmax(" + (e.$getItemOffset(g - 1) + e.$getItemSize(g - 1) - e.$getItemOffset(a)) + "px,auto)";
116
+ f += " " + d + " [l" + g + "]", a = g;
119
117
  }
120
- return a < l && (f += " minmax(" + (e.$getTotalSize() - e.$getItemOffset(a)) + "px,auto) [l" + l + "]"),
121
- f;
122
- }, L = (e, t, o, n, s) => {
118
+ return f;
119
+ }, R = (e, t, o, n, s) => {
123
120
  const r = {
124
121
  display: "grid",
125
122
  gridTemplateRows: "subgrid",
@@ -128,7 +125,7 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
128
125
  gridRow: "l" + e + "/l" + t
129
126
  };
130
127
  return null != o && (r.position = "sticky", r[n] = o + "px", r.zIndex = s), r;
131
- }, R = e => {
128
+ }, O = e => {
132
129
  let t;
133
130
  return {
134
131
  t(o) {
@@ -141,11 +138,11 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
141
138
  t && t.disconnect();
142
139
  }
143
140
  };
144
- }, O = (e, t, o, n, s, r, l) => {
141
+ }, P = (e, t, o, n, s, r, l) => {
145
142
  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) => {
143
+ const h = Date.now, S = n ? "scrollLeft" : "scrollTop", w = n ? "left" : "top", b = e => s ? -e : e, v = () => b(o[S]), I = (e, t) => {
147
144
  o.scrollTo({
148
- [b]: S(e),
145
+ [w]: b(e),
149
146
  behavior: t ? "smooth" : "instant"
150
147
  });
151
148
  }, y = () => {
@@ -155,24 +152,24 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
155
152
  f(u), u = c(y, 150);
156
153
  }, k = () => {
157
154
  $ = h(), m && (x = !0), l && e.$update(6, l()), e.$update(1, v()), z();
158
- }, M = t => {
155
+ }, T = t => {
159
156
  if (p || !e.$isScrolling() || t.ctrlKey) return;
160
157
  const o = h() - $;
161
158
  150 > o && 50 < o && (n ? t.deltaX : t.deltaY) && (p = !0);
162
- }, T = () => {
159
+ }, M = () => {
163
160
  g = !0, m = x = !1;
164
161
  }, L = () => {
165
162
  g = !1, d() && (m = !0);
166
163
  };
167
- return t.addEventListener("scroll", k), t.addEventListener("wheel", M, {
164
+ return t.addEventListener("scroll", k), t.addEventListener("wheel", T, {
168
165
  passive: !0
169
- }), t.addEventListener("touchstart", T, {
166
+ }), t.addEventListener("touchstart", M, {
170
167
  passive: !0
171
168
  }), t.addEventListener("touchend", L, {
172
169
  passive: !0
173
170
  }), {
174
171
  l: () => {
175
- t.removeEventListener("scroll", k), t.removeEventListener("wheel", M), t.removeEventListener("touchstart", T),
172
+ t.removeEventListener("scroll", k), t.removeEventListener("wheel", T), t.removeEventListener("touchstart", M),
176
173
  t.removeEventListener("touchend", L), f(u);
177
174
  },
178
175
  i: () => {
@@ -181,7 +178,7 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
181
178
  x && r && r(), x = !1;
182
179
  const s = e.$getScrollOffset() + t;
183
180
  s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? I(s) : o.scrollBy({
184
- [b]: S(t),
181
+ [w]: b(t),
185
182
  behavior: "instant"
186
183
  }), n && (i && i(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, v()));
187
184
  },
@@ -212,26 +209,26 @@ e), m = (e, t, o, n = 0, s = t - 1) => {
212
209
  };
213
210
  }, _ = (e, t) => {
214
211
  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));
212
+ }, q = (e, t, s, r, i, c, f) => {
213
+ const a = t.$getItemsLength(), u = s.$getPinnedStart(), $ = s.$getTrailStart();
214
+ i = l(i, 0, a - 1);
215
+ const p = v(r, u, $), g = I(p, i, $), d = g < 0 ? -1 : p[g], m = () => s.$getItemOffset(u) + (d < 0 || d === i ? 0 : t.$getItemOffset(d + 1) - t.$getItemOffset(d)), x = () => s.$getItemOffset(a) - s.$getItemOffset($);
216
+ if ("nearest" === c) {
217
+ if (i < u || i >= $) return;
218
+ const e = m(), s = t.$getScrollOffset() + e, r = t.$getViewportSize() - e - x(), l = t.$getItemSize(i);
219
+ let f = t.$getItemOffset(i);
220
+ if (d === i) {
221
+ const e = (g + 1 < p.length ? p[g + 1] : $) - 1;
222
+ f = n(f, o(s, t.$getItemOffset(e) + t.$getItemSize(e) - l));
226
223
  }
227
- if (i < r + e) f = "start"; else {
228
- if (!(i + l > r + t.$getViewportSize() - s)) return;
229
- f = "end";
224
+ if (f < s) c = "start"; else {
225
+ if (!(f + l > s + r)) return;
226
+ c = "end";
230
227
  }
231
228
  }
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);
229
+ e.$scroll(f, () => {
230
+ const e = m(), o = t.$getItemSize(i) - (t.$getViewportSize() - e - x());
231
+ return t.$getItemOffset(i) - e + ("end" === c ? o : "center" === c ? o / 2 : 0);
235
232
  });
236
233
  };
237
234
 
@@ -239,7 +236,7 @@ exports.ACTION_ITEMS_LENGTH_CHANGE = 5, exports.ACTION_START_OFFSET_CHANGE = 6,
239
236
  exports.UPDATE_SCROLL_END_EVENT = 8, exports.UPDATE_SCROLL_EVENT = 4, exports.UPDATE_VIRTUAL_STATE = 1,
240
237
  exports.createContainerDriver = (e, t) => {
241
238
  let o, n, s = u();
242
- const r = /* @__PURE__ */ new WeakMap, l = R(n => {
239
+ const r = /* @__PURE__ */ new WeakMap, l = O(n => {
243
240
  const s = [];
244
241
  for (const {target: l, contentRect: {width: i, height: c}} of n) if (l === o) (i || c) && e.$update(4, t ? i : c); else if (l.offsetParent) {
245
242
  const e = r.get(l);
@@ -249,7 +246,7 @@ exports.createContainerDriver = (e, t) => {
249
246
  });
250
247
  return {
251
248
  $observe(r, i = r.parentElement) {
252
- l.t(o = i), n = O(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
249
+ l.t(o = i), n = P(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
253
250
  const e = t ? "overflowX" : "overflowY", o = i.style, n = o[e];
254
251
  o[e] = "hidden", c(() => {
255
252
  o[e] = n;
@@ -272,7 +269,7 @@ exports.createContainerDriver = (e, t) => {
272
269
  };
273
270
  }, exports.createContainerGridDriver = (e, t) => {
274
271
  let o, n, s, r = u();
275
- const l = /* @__PURE__ */ new WeakMap, i = /* @__PURE__ */ new WeakMap, f = R(n => {
272
+ const l = /* @__PURE__ */ new WeakMap, i = /* @__PURE__ */ new WeakMap, f = O(n => {
276
273
  const s = [], r = [];
277
274
  for (const {target: c, contentRect: {width: f, height: a}} of n) if (c === o) (f || a) && (e.$update(4, a),
278
275
  t.$update(4, f)); else if (c.offsetParent) {
@@ -288,7 +285,7 @@ exports.createContainerDriver = (e, t) => {
288
285
  $observe(l) {
289
286
  const i = o = l.parentElement;
290
287
  f.t(i);
291
- const a = (e, t) => O(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
288
+ const a = (e, t) => P(e, i, i, t, t && "rtl" === getComputedStyle(i).direction, () => {
292
289
  const e = t ? "overflowX" : "overflowY", o = i.style, n = o[e];
293
290
  o[e] = "hidden", c(() => {
294
291
  o[e] = n;
@@ -307,169 +304,188 @@ exports.createContainerDriver = (e, t) => {
307
304
  n && n.i(), s && s.i();
308
305
  }
309
306
  };
310
- }, exports.createGridLayout = (e, t, o = 0) => {
307
+ }, exports.createGridLayout = (e, t, s = 0) => {
308
+ let i = 0, c = 0;
309
+ const f = (e = 0, t = 0) => {
310
+ i = e, c = t;
311
+ }, a = e => o(i, e), u = e => n(e - c, a(e)), $ = (e, t, o, r, l) => {
312
+ const i = t(a(o)), c = t(o) - t(u(o)), f = r + (i ? i - s : 0);
313
+ return e(f, n(f, l - (c ? c - s : 0)));
314
+ };
311
315
  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;
316
+ let o = S(e), n = t;
317
+ 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
318
  return {
315
- $getRange: (e, t) => [ i(e), i(t) ],
319
+ $getRange: (e, t) => $(p, c, o, e, t),
316
320
  $findIndex: i,
317
- $getItemOffset: e => e * (s + o),
318
- $getItemSize: () => s,
321
+ $getItemOffset: c,
322
+ $getItemSize: () => n,
319
323
  $setItemSize: () => !1,
320
324
  $isSizeEqual: () => !1,
321
- $getTotalSize: () => n ? n * (s + o) - o : 0,
322
- $getLength: () => n,
323
- $setLength: e => (n = e, 0),
325
+ $getTotalSize: () => o ? o * (n + s) - s : 0,
326
+ $getLength: () => o,
327
+ $setLength: e => (o = e, 0),
324
328
  $isMeasurable: () => !1,
329
+ $setPinned: f,
330
+ $getPinnedStart: () => a(o),
331
+ $getTrailStart: () => u(o),
325
332
  $setAxis: (e, t, o) => {
326
- if ("number" != typeof t || t === s) return;
327
- const n = i(o) * (t - s);
328
- return s = t, n;
333
+ if ("number" != typeof t || t === n) return;
334
+ const s = i(o) * (t - n);
335
+ return n = t, s;
329
336
  }
330
337
  };
331
338
  }
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);
339
+ const p = "auto" === t;
340
+ let g, d = t;
341
+ const m = S(e), x = [], w = h(m, void 0, [ [], 40 + s ]), b = e => p || !!x[e], v = {
342
+ $getRange: (e, t) => $(w.$getRange, w.$getItemOffset, w.$getLength(), e, t),
343
+ $findIndex: w.$findIndex,
344
+ $getItemOffset: w.$getItemOffset,
345
+ $getItemSize: e => w.$getItemSize(e) - s,
346
+ $setItemSize: (e, t) => b(e) && w.$setItemSize(e, t + s),
347
+ $isSizeEqual: (e, t) => w.$isSizeEqual(e, t + s),
348
+ $getTotalSize: () => w.$getLength() ? w.$getTotalSize() - s : 0,
349
+ $getLength: w.$getLength,
350
+ $setLength: w.$setLength,
351
+ $estimateDefaultSize: p ? w.$estimateDefaultSize : void 0,
352
+ $isMeasurable: b,
353
+ $setPinned: f,
354
+ $getPinnedStart: () => a(w.$getLength()),
355
+ $getTrailStart: () => u(w.$getLength()),
356
+ $setAxis: (e, t, o, n) => {
357
+ if (p) return;
358
+ const r = "number" == typeof t || "auto" === t ? d : t, l = w.$getLength();
359
+ if (!n && e === g && r === d && l === x.length) return;
360
+ g = e, d = r, x.length = l;
361
+ const i = w.$findIndex(o), c = w.$getItemOffset(i);
362
+ let f;
363
+ for (let t = 0; t < l; t++) {
364
+ const o = e[t], n = null !== o && "object" == typeof o ? o[r] : null, l = "number" != typeof n;
365
+ if (!l || !x[t]) {
366
+ x[t] = l;
367
+ const e = l ? -1 : n + s;
368
+ w.$isSizeEqual(t, e) || (w.$setItemSize(t, e), f = !0);
359
369
  }
360
370
  }
361
- return g ? a.$getItemOffset($) - p : void 0;
371
+ return f ? w.$getItemOffset(i) - c : void 0;
362
372
  }
363
373
  };
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;
374
+ return v.$setAxis(e, t, 0), v;
375
+ }, exports.createGridPlan = (e, s, r, c, f = t, a = t, u = t, $) => {
376
+ const p = e.$getLength(), g = s.$getLength(), d = e.$getPinnedStart(), m = e.$getTrailStart(), x = s.$getPinnedStart(), h = s.$getTrailStart(), S = l(r[0], d, m), z = o(r[1], m - 1), O = l(c[0], x, h), P = o(c[1], h - 1), _ = v(f, d, m), q = n(x - 1, 0), A = [], C = [], W = [];
377
+ for (const e of u) e.rowIndex < p && e.colIndex < g && W.push(e);
378
+ const D = _.length;
379
+ D && (y(A, _, S, m), C.push(q));
380
+ let E = a, j = 0;
371
381
  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);
382
+ for (;j < W.length; j++) {
383
+ const {rowIndex: e, colIndex: t} = W[j];
384
+ A.push(e), y(A, _, e, m), C.push(t);
375
385
  }
376
386
  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);
387
+ for (const t of E) {
388
+ const o = t.rowIndex, n = t.colIndex, s = T(t, p), r = M(t, g);
389
+ if (o < p && n < g && (s - o > 1 || r - n > 1)) {
390
+ const l = b(A, o, s, d, S, z, m);
391
+ if (l && b(C, n, r, x, O, P, h)) W.push(t); else if (l) {
392
+ const n = I(_, s - 1, m);
393
+ (o < d || n >= 0 && _[n] >= o) && e.push(t);
394
+ } else n < x && e.push(t);
395
+ }
383
396
  }
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);
397
+ E = e;
398
+ } while (j < W.length);
399
+ i(A), i(C);
400
+ const B = k(A, p, d, S, z, m), J = k(C, g, x, O, P, h), V = B.length, X = J.length, Y = /* @__PURE__ */ new Map, U = [], Z = [];
401
+ for (const e of W) {
402
+ const t = T(e, p), o = M(e, g);
403
+ U.push(t), Z.push(o);
404
+ const n = J.indexOf(e.colIndex);
405
+ for (let s = B.indexOf(e.rowIndex); s < V && B[s] < t; s++) {
406
+ const t = B[s] * g;
407
+ for (let s = n; s < X && J[s] < o; s++) Y.set(t + J[s], e);
395
408
  }
396
409
  }
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];
410
+ const F = [];
411
+ for (const e of J) F.push(!s.$isMeasurable(e) && null);
412
+ const G = [], H = e.$getItemOffset(d), K = [];
413
+ let N = K;
414
+ const Q = w.get(e), ee = /* @__PURE__ */ new Map;
415
+ for (const t of B) {
416
+ const o = t < d, r = t >= m, l = r || t >= S && t <= z, i = I(_, t, m), c = o ? 0 : r ? m : i < 0 ? -1 : _[i];
404
417
  if (t === c) {
405
- const e = o ? w : r ? x : i + 1 < J ? D[i + 1] : R;
406
- H.push(e);
418
+ const e = o ? d : r ? p : i + 1 < D ? _[i + 1] : m;
419
+ U.push(e);
407
420
  const t = [];
408
- te.push({
421
+ K.push({
409
422
  $key: o ? -1 : r ? -2 : -3 - c,
410
423
  $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]);
424
+ $style: R(c, e, o || r ? 0 : null, r ? "bottom" : "top", 4)
425
+ }), N = t;
426
+ } else c < 0 && (N = K);
427
+ const f = i >= 0 && t === c, a = f ? H : null, u = t * g, w = Q && Q.get(t), b = w && w.$cells, v = [];
428
+ let y = 0, k = !e.$isMeasurable(t) && null, L = t + 1, A = !1;
429
+ for (let e = 0; e < X; e++) {
430
+ const r = J[e], i = r < x, c = r >= h, a = c || r >= O && r <= P, d = Y.get(u + r);
431
+ if (d ? d.rowIndex === t && d.colIndex === r : l && a || o || f || i) {
432
+ const l = d ? T(d, p) : t + 1, a = d ? M(d, g) : r + 1, u = l - t, m = a - r, x = u > 1, h = m > 1, S = x || h;
433
+ let w, I;
434
+ L = n(L, l);
435
+ const z = i ? s.$getItemOffset(r) : null, R = c ? s.$getTotalSize() - s.$getItemOffset(a - 1) - s.$getItemSize(a - 1) : null;
436
+ !1 !== k || x || (w = t, k = !0), !1 !== F[e] || h || (I = r, F[e] = !0);
437
+ const O = o ? "columnheader" : r === q && (i || f) ? "rowheader" : "cell", P = S ? u : void 0, _ = S ? m : void 0, C = "cell" !== O && $ && $.rowIndex === t && $.colIndex === r ? $.order : void 0;
438
+ let W;
439
+ if (b) {
440
+ const e = b.length;
441
+ for (;y < e && b[y].$col < r; ) y++;
442
+ y < e && b[y].$col === r && (W = b[y]);
429
443
  }
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 = {
444
+ if (!W || W.$rowSpan !== P || W.$colSpan !== _ || W.$start !== z || W.$end !== R || W.$measureRow !== w || W.$measureCol !== I || W.$role !== O || W.$sort !== C) {
445
+ let e = "1/l" + r;
446
+ S && (e += "/l" + l + "/l" + a);
447
+ const t = {
432
448
  contain: "layout style",
433
449
  display: "grid",
434
- gridArea: I ? "1/l" + r + "/l" + l + "/l" + a : "1/l" + r
450
+ gridArea: e
435
451
  };
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 = {
452
+ x && (t.height = "0px", t.minHeight = "100%", t.zIndex = 1), h && (t.width = "0px",
453
+ t.minWidth = "100%"), (i || c) && (t[i ? "insetInlineStart" : "insetInlineEnd"] = (i ? z : R) + "px",
454
+ t.position = "sticky", t.zIndex = 2), W = {
439
455
  $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;
456
+ $rowSpan: P,
457
+ $colSpan: _,
458
+ $measureRow: w,
459
+ $measureCol: I,
460
+ $role: O,
461
+ $sort: C,
462
+ $style: t,
463
+ $start: z,
464
+ $end: R
465
+ }, A = !0;
450
466
  }
451
- g.push(A);
467
+ v.push(W);
452
468
  }
453
469
  }
454
- if (Q.push(b), g.length) {
455
- const e = $ && !v && $.$cells.length === g.length && $.$top === a ? $ : {
470
+ if (G.push(k), v.length) {
471
+ const e = w && !A && w.$cells.length === v.length && w.$top === a ? w : {
456
472
  $row: t,
457
- $cells: g,
458
- $style: L(t, S, a, "top", 3),
473
+ $cells: v,
474
+ $style: R(t, L, a, "top", 3),
459
475
  $top: a
460
476
  };
461
- se.set(t, e), oe.push(e);
477
+ ee.set(t, e), N.push(e);
462
478
  }
463
479
  }
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
480
+ return w.set(e, ee), {
481
+ $rowTemplate: L(e, B, G, i(U), "max-content", p),
482
+ $colTemplate: L(s, J, F, i(Z), "minmax(max-content,auto)", g),
483
+ $groups: K
468
484
  };
469
485
  }, 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);
486
+ let g = !!$, m = !!p, x = 1, h = 0, S = 0, w = 0, b = 0, v = 0, I = 0, y = 0, z = 0, k = null, T = [ 0, m ? n(p - 1, 0) : -1 ], M = 0, L = !1;
487
+ const R = /* @__PURE__ */ new Set, O = () => w - S, P = () => O() + v + b, _ = e => r(e) - v, q = e => {
488
+ e && (d() && 0 !== y || k && 1 === z ? v += e : b += e);
473
489
  };
474
490
  return {
475
491
  $dispose: () => {
@@ -477,26 +493,26 @@ exports.createContainerDriver = (e, t) => {
477
493
  },
478
494
  $getStateVersion: () => x,
479
495
  $getRange: (t = 200) => {
480
- if (!L || m) return M;
496
+ if (!L || m) return T;
481
497
  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)),
498
+ if (I) [s, r] = T; else {
499
+ let l = n(0, P()), i = l + h;
500
+ g || (t = n(0, t), 1 !== y && (l -= t), 2 !== y && (i += t)), [s, r] = T = e(n(0, l), n(0, i)),
485
501
  k && (s = o(s, k[0]), r = n(r, k[1]));
486
502
  }
487
503
  return [ n(s, 0), o(r, a() - 1) ];
488
504
  },
489
- $findItemIndex: e => t(e - w),
505
+ $findItemIndex: e => t(e - S),
490
506
  $isUnmeasuredItem: c,
491
- $getItemOffset: q,
507
+ $getItemOffset: _,
492
508
  $getItemSize: l,
493
509
  $getItemsLength: a,
494
- $getScrollOffset: () => b,
510
+ $getScrollOffset: () => w,
495
511
  $isScrolling: () => 0 !== y,
496
512
  $getViewportSize: () => h,
497
- $getStartSpacerSize: () => w,
513
+ $getStartSpacerSize: () => S,
498
514
  $getTotalSize: f,
499
- u: () => (I = S, S = 0, [ I, 2 === z ]),
515
+ u: () => (I = b, b = 0, [ I, 2 === z ]),
500
516
  $subscribe: (e, t) => {
501
517
  const o = [ e, t ];
502
518
  return R.add(o), () => {
@@ -508,11 +524,11 @@ exports.createContainerDriver = (e, t) => {
508
524
  switch (o) {
509
525
  case 1:
510
526
  {
511
- if (n === b && 0 === z) break;
527
+ if (n === w && 0 === z) break;
512
528
  const e = I;
513
529
  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;
530
+ const t = n - w, o = s(t);
531
+ e && o < s(e) + 1 || 0 !== z || (y = t < 0 ? 2 : 1), m && (m = !1), w = n, p = 4;
516
532
  const r = O();
517
533
  r >= -h && r <= f() && (p += 1, a = o > h);
518
534
  break;
@@ -526,19 +542,19 @@ exports.createContainerDriver = (e, t) => {
526
542
  {
527
543
  const e = n.filter(([e, t]) => !c(e, t));
528
544
  if (!e.length) break;
529
- A(e.reduce((e, [t, o]) => {
545
+ q(e.reduce((e, [t, o]) => {
530
546
  let n;
531
547
  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);
548
+ const e = O(), o = _(t), s = l(t);
533
549
  n = 1 !== y && 0 === z ? o + s <= e : o < e && o + s < e + h;
534
550
  }
535
551
  return n && (e += o - l(t)), e;
536
552
  }, 0));
537
553
  for (const [t, o] of e) {
538
554
  const e = l(t), n = i(t, o);
539
- g && (T += n ? o : o - e);
555
+ g && (M += n ? o : o - e);
540
556
  }
541
- g && h && T > h && (A($(t(_()))), g = !1), p = 3, a = !0;
557
+ g && h && M > h && (q($(t(P()))), g = !1), p = 3, a = !0;
542
558
  break;
543
559
  }
544
560
 
@@ -547,11 +563,11 @@ exports.createContainerDriver = (e, t) => {
547
563
  break;
548
564
 
549
565
  case 5:
550
- n[1] ? (A(u(n[0], !0)), z = 2, p = 1) : (u(n[0]), p = 1);
566
+ n[1] ? (q(u(n[0], !0)), z = 2, p = 1) : (u(n[0]), p = 1);
551
567
  break;
552
568
 
553
569
  case 6:
554
- w = n;
570
+ S = n;
555
571
  break;
556
572
 
557
573
  case 7:
@@ -559,20 +575,20 @@ exports.createContainerDriver = (e, t) => {
559
575
  break;
560
576
 
561
577
  case 9:
562
- A(n), p = 3;
578
+ q(n), p = 3;
563
579
  break;
564
580
 
565
581
  case 8:
566
582
  k = e(n, n + h), p = 1;
567
583
  }
568
- p && (x = 1 + (2147483647 & x), r && v && (S += v, v = 0), R.forEach(([e, t]) => {
584
+ p && (x = 1 + (2147483647 & x), r && v && (b += v, v = 0), R.forEach(([e, t]) => {
569
585
  p & e && t(a);
570
586
  }));
571
587
  }
572
588
  };
573
589
  }, exports.createWindowDriver = (e, t) => {
574
590
  let o, n, s, r, l, i = u();
575
- const c = /* @__PURE__ */ new WeakMap, f = R(n => {
591
+ const c = /* @__PURE__ */ new WeakMap, f = O(n => {
576
592
  const s = [];
577
593
  for (const {target: e, contentRect: {width: r, height: i}} of n) if (e === o) l && l(); else if (e.offsetParent) {
578
594
  const o = c.get(e);
@@ -590,7 +606,7 @@ exports.createContainerDriver = (e, t) => {
590
606
  };
591
607
  u.addEventListener("resize", h), f.t($), s = () => {
592
608
  u.removeEventListener("resize", h);
593
- }, n = O(e, u, $, t, d, null, x), i[1](!0);
609
+ }, n = P(e, u, $, t, d, null, x), i[1](!0);
594
610
  },
595
611
  $dispose() {
596
612
  s && s(), f.l(), n && n.l(), i[1](!1), i = u();
@@ -606,7 +622,7 @@ exports.createContainerDriver = (e, t) => {
606
622
  },
607
623
  $getBaseOffset: () => r()
608
624
  };
609
- }, exports.getAxisItem = (e, t) => "number" == typeof e ? t : e[t], exports.getAxisLength = w,
625
+ }, exports.getAxisItem = (e, t) => "number" == typeof e ? t : e[t], exports.getAxisLength = S,
610
626
  exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports.gridScrollBy = (e, t, o, n, s) => {
611
627
  if (null != n) {
612
628
  const o = n + t.$getScrollOffset();
@@ -618,8 +634,8 @@ exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports
618
634
  }
619
635
  }, exports.gridScrollTo = (e, t, o) => {
620
636
  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);
637
+ }, exports.gridScrollToIndex = (e, o, n, s, r, l = t, {rowIndex: i, colIndex: c, rowAlign: f, colAlign: a}) => {
638
+ null != i && q(e, o, s, l, i, f, !1), null != c && q(e, n, r, t, c, a, !0);
623
639
  }, exports.gridStyleToString = e => {
624
640
  let t = "";
625
641
  for (const o in e) t += o.replace(/[A-Z]/g, e => "-" + e.toLowerCase()) + ":" + e[o] + ";";
@@ -635,10 +651,10 @@ exports.getScrollSize = e => n(e.$getTotalSize(), e.$getViewportSize()), exports
635
651
  }
636
652
  }
637
653
  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);
654
+ }, exports.sort = i, exports.updateGridAxis = (e, t, o, n, s, r, l) => {
655
+ const i = S(o);
656
+ t.$setPinned(s, r), i !== e.$getItemsLength() && e.$update(5, [ i ]);
657
+ const c = t.$setAxis(o, n, e.$getScrollOffset() - e.$getItemOffset(0), l);
658
+ null != c && e.$update(9, c);
643
659
  };
644
660
  //# sourceMappingURL=index.cjs.map