virtua 0.53.3 → 0.53.4

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