virtua 0.53.3 → 0.53.5

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