virtua 0.51.2 → 0.52.0

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