@glhrmoura/vue-virtualize 0.1.5 → 0.2.1

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.
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { shallowRef as Me, ref as L, toValue as o, watch as ge, onBeforeUnmount as ve, computed as R, defineComponent as ie, openBlock as T, createBlock as Y, resolveDynamicComponent as q, normalizeStyle as F, withCtx as U, renderSlot as G, createElementBlock as $, Fragment as D, renderList as P, unref as K, mergeProps as ne, createElementVNode as ue, toDisplayString as ce, createTextVNode as Oe } from "vue";
2
- function ee(e) {
1
+ import { shallowRef as Xe, ref as _, toValue as l, watch as Te, onBeforeUnmount as Ce, computed as T, defineComponent as ve, openBlock as V, createBlock as ce, resolveDynamicComponent as ue, normalizeStyle as W, withCtx as de, renderSlot as Z, createElementBlock as B, Fragment as ne, renderList as ie, unref as N, mergeProps as we, createElementVNode as Ee, toDisplayString as Oe, createTextVNode as Ye } from "vue";
2
+ function he(e) {
3
3
  return !Number.isFinite(e) || e < 0 ? 0 : e;
4
4
  }
5
- class Re {
5
+ class qe {
6
6
  sizes = /* @__PURE__ */ new Map();
7
7
  divergent = !1;
8
8
  get(t) {
@@ -29,46 +29,56 @@ class Re {
29
29
  }
30
30
  }
31
31
  }
32
+ shift(t) {
33
+ if (!t) return;
34
+ const i = /* @__PURE__ */ new Map();
35
+ for (const [n, r] of this.sizes) {
36
+ const o = n + t;
37
+ o >= 0 && i.set(o, r);
38
+ }
39
+ this.sizes.clear();
40
+ for (const [n, r] of i) this.sizes.set(n, r);
41
+ }
32
42
  }
33
- function Se(e, t, i) {
43
+ function ke(e, t, i) {
34
44
  return Math.min(i, Math.max(t, e));
35
45
  }
36
- const Te = 16777216;
37
- function H(e, t, i) {
46
+ const Ue = 16777216;
47
+ function J(e, t, i) {
38
48
  const n = Math.max(0, t - Math.max(0, i));
39
- return Se(Number.isFinite(e) ? e : 0, 0, n);
49
+ return ke(Number.isFinite(e) ? e : 0, 0, n);
40
50
  }
41
- function N(e, t) {
42
- const i = Math.max(0, Number.isFinite(e) ? e : 0), n = Math.min(i, Te);
51
+ function X(e, t) {
52
+ const i = Math.max(0, Number.isFinite(e) ? e : 0), n = Math.min(i, Ue);
43
53
  return t === void 0 || !Number.isFinite(t) || t <= 0 ? n : Math.min(n, t);
44
54
  }
45
- function Ee(e, t, i, n) {
46
- const r = Math.max(0, t - Math.max(0, n)), s = Math.max(0, i - Math.max(0, n));
47
- return r <= 0 ? 0 : s <= 0 || s >= r ? H(e, t, n) : Math.max(0, e) / s * r;
55
+ function Ze(e, t, i, n) {
56
+ const r = Math.max(0, t - Math.max(0, n)), o = Math.max(0, i - Math.max(0, n));
57
+ return r <= 0 ? 0 : o <= 0 || o >= r ? J(e, t, n) : Math.max(0, e) / o * r;
48
58
  }
49
- function ke(e, t, i, n) {
50
- const r = Math.max(0, t - Math.max(0, n)), s = Math.max(0, i - Math.max(0, n));
51
- return s <= 0 ? 0 : r <= 0 || s >= r ? H(e, t, n) : H(e, t, n) / r * s;
59
+ function Je(e, t, i, n) {
60
+ const r = Math.max(0, t - Math.max(0, n)), o = Math.max(0, i - Math.max(0, n));
61
+ return o <= 0 ? 0 : r <= 0 || o >= r ? J(e, t, n) : J(e, t, n) / r * o;
52
62
  }
53
- function Ce(e, t, i) {
63
+ function Qe(e, t, i) {
54
64
  if (e <= 0) return 0;
55
- let n = 0, r = e - 1, s = e - 1;
65
+ let n = 0, r = e - 1, o = e - 1;
56
66
  for (; n <= r; ) {
57
- const u = n + r >>> 1;
58
- i(u) > t ? (s = u, r = u - 1) : n = u + 1;
67
+ const d = n + r >>> 1;
68
+ i(d) > t ? (o = d, r = d - 1) : n = d + 1;
59
69
  }
60
- return s;
70
+ return o;
61
71
  }
62
- function $e(e, t, i) {
72
+ function et(e, t, i) {
63
73
  if (e <= 0) return 0;
64
- let n = 0, r = e - 1, s = 0;
74
+ let n = 0, r = e - 1, o = 0;
65
75
  for (; n <= r; ) {
66
- const u = n + r >>> 1;
67
- i(u) < t ? (s = u, n = u + 1) : r = u - 1;
76
+ const d = n + r >>> 1;
77
+ i(d) < t ? (o = d, n = d + 1) : r = d - 1;
68
78
  }
69
- return s;
79
+ return o;
70
80
  }
71
- function Ve(e) {
81
+ function tt(e) {
72
82
  const t = e.start + e.size;
73
83
  let i = e.align;
74
84
  if (i === "auto") {
@@ -78,7 +88,7 @@ function Ve(e) {
78
88
  }
79
89
  return i === "center" ? e.start - (e.viewport - e.size) / 2 : i === "end" ? t - e.viewport : e.start;
80
90
  }
81
- class Ae {
91
+ class nt {
82
92
  count = 0;
83
93
  estimateSize = () => 0;
84
94
  overscan = 0;
@@ -90,14 +100,14 @@ class Ae {
90
100
  viewportSize = 0;
91
101
  scrollOffset = 0;
92
102
  getItemKey = (t) => t;
93
- measurements = new Re();
103
+ measurements = new qe();
94
104
  built = 0;
95
105
  offsets = [];
96
106
  laneCursor = [];
97
107
  laneEnd = [];
98
108
  setOptions(t) {
99
- const i = Math.max(1, Math.floor(t.lanes ?? 1)), n = t.gap ?? 0, r = t.paddingStart ?? 0, s = t.paddingEnd ?? 0, u = Math.max(0, Math.floor(t.count)), p = t.itemSize === void 0 || t.itemSize === null ? null : ee(t.itemSize), x = this.itemSize, I = i !== this.lanes || n !== this.gap || r !== this.paddingStart || s !== this.paddingEnd || t.estimateSize !== this.estimateSize || p !== this.itemSize;
100
- this.count = u, this.lanes = i, this.gap = n, this.paddingStart = r, this.paddingEnd = s, this.overscan = Math.max(0, Math.floor(t.overscan ?? 0)), this.estimateSize = t.estimateSize, this.itemSize = p, this.getItemKey = t.getItemKey ?? ((w) => w), t.viewportSize !== void 0 && (this.viewportSize = Math.max(0, t.viewportSize)), p !== x && this.measurements.clear(), this.measurements.trim(this.count, this.itemSize), (I || this.built > this.count) && this.resetGeometry();
109
+ const i = Math.max(1, Math.floor(t.lanes ?? 1)), n = t.gap ?? 0, r = t.paddingStart ?? 0, o = t.paddingEnd ?? 0, d = Math.max(0, Math.floor(t.count)), O = t.itemSize === void 0 || t.itemSize === null ? null : he(t.itemSize), E = this.itemSize, p = i !== this.lanes || n !== this.gap || r !== this.paddingStart || o !== this.paddingEnd || t.estimateSize !== this.estimateSize || O !== this.itemSize;
110
+ this.count = d, this.lanes = i, this.gap = n, this.paddingStart = r, this.paddingEnd = o, this.overscan = Math.max(0, Math.floor(t.overscan ?? 0)), this.estimateSize = t.estimateSize, this.itemSize = O, this.getItemKey = t.getItemKey ?? ((c) => c), t.viewportSize !== void 0 && (this.viewportSize = Math.max(0, t.viewportSize)), O !== E && this.measurements.clear(), this.measurements.trim(this.count, this.itemSize), (p || this.built > this.count) && this.resetGeometry();
101
111
  }
102
112
  setScrollOffset(t) {
103
113
  this.scrollOffset = Number.isFinite(t) ? t : 0;
@@ -110,17 +120,20 @@ class Ae {
110
120
  }
111
121
  measure(t, i) {
112
122
  if (t < 0 || t >= this.count) return !1;
113
- const n = ee(i), r = this.measurements.get(t);
123
+ const n = he(i), r = this.measurements.get(t);
114
124
  if (r !== void 0 && Math.abs(r - n) < 0.5) return !1;
115
- const s = this.getItemSize(t);
116
- return this.measurements.set(t, n, this.itemSize), Math.abs(s - n) < 0.5 ? !1 : (this.resetGeometry(), !0);
125
+ const o = this.getItemSize(t);
126
+ return this.measurements.set(t, n, this.itemSize), Math.abs(o - n) < 0.5 ? !1 : (this.resetGeometry(), !0);
117
127
  }
118
128
  clearMeasurements() {
119
129
  this.measurements.clear(), this.resetGeometry();
120
130
  }
131
+ shiftMeasurements(t) {
132
+ t && (this.measurements.shift(t), this.resetGeometry());
133
+ }
121
134
  getItemSize(t) {
122
135
  const i = this.measurements.get(t);
123
- return i !== void 0 ? i : this.itemSize !== null ? this.itemSize : ee(this.estimateSize(t));
136
+ return i !== void 0 ? i : this.itemSize !== null ? this.itemSize : he(this.estimateSize(t));
124
137
  }
125
138
  getItemOffset(t) {
126
139
  if (t <= 0 || this.count <= 0) return this.paddingStart;
@@ -137,8 +150,8 @@ class Ae {
137
150
  let i = this.paddingStart;
138
151
  const n = this.itemSize ?? 0;
139
152
  for (let r = 0; r < this.lanes && r < this.count; r += 1) {
140
- const s = this.laneLength(r), u = this.paddingStart + s * n + Math.max(0, s - 1) * this.gap;
141
- u > i && (i = u);
153
+ const o = this.laneLength(r), d = this.paddingStart + o * n + Math.max(0, o - 1) * this.gap;
154
+ d > i && (i = d);
142
155
  }
143
156
  return i + this.paddingEnd;
144
157
  }
@@ -152,42 +165,42 @@ class Ae {
152
165
  }
153
166
  getVirtualItems() {
154
167
  if (this.count <= 0 || this.viewportSize <= 0) return [];
155
- const t = H(this.scrollOffset, this.getTotalSize(), this.viewportSize), i = t + this.viewportSize, n = [];
168
+ const t = J(this.scrollOffset, this.getTotalSize(), this.viewportSize), i = t + this.viewportSize, n = [];
156
169
  for (let r = 0; r < this.lanes; r += 1) {
157
- const s = this.laneLength(r);
158
- if (s <= 0) continue;
159
- const u = Ce(s, t, (w) => {
160
- const b = this.ordinalIndex(r, w);
161
- return this.getItemOffset(b) + this.getItemSize(b);
162
- }), p = $e(
163
- s,
170
+ const o = this.laneLength(r);
171
+ if (o <= 0) continue;
172
+ const d = Qe(o, t, (c) => {
173
+ const v = this.ordinalIndex(r, c);
174
+ return this.getItemOffset(v) + this.getItemSize(v);
175
+ }), O = et(
176
+ o,
164
177
  i,
165
- (w) => this.getItemOffset(this.ordinalIndex(r, w))
166
- ), x = Math.max(0, Math.min(u, p) - this.overscan), I = Math.min(s - 1, Math.max(u, p) + this.overscan);
167
- for (let w = x; w <= I; w += 1) {
168
- const b = this.ordinalIndex(r, w), E = this.getItemOffset(b), k = this.getItemSize(b);
178
+ (c) => this.getItemOffset(this.ordinalIndex(r, c))
179
+ ), E = Math.max(0, Math.min(d, O) - this.overscan), p = Math.min(o - 1, Math.max(d, O) + this.overscan);
180
+ for (let c = E; c <= p; c += 1) {
181
+ const v = this.ordinalIndex(r, c), k = this.getItemOffset(v), L = this.getItemSize(v);
169
182
  n.push({
170
- index: b,
171
- key: this.getItemKey(b),
172
- start: E,
173
- size: k,
174
- end: E + k,
183
+ index: v,
184
+ key: this.getItemKey(v),
185
+ start: k,
186
+ size: L,
187
+ end: k + L,
175
188
  lane: r
176
189
  });
177
190
  }
178
191
  }
179
- return n.sort((r, s) => r.index - s.index), n;
192
+ return n.sort((r, o) => r.index - o.index), n;
180
193
  }
181
194
  getOffsetForIndex(t, i = "auto") {
182
195
  if (this.count <= 0) return 0;
183
- const n = Se(t, 0, this.count - 1), r = this.getItemOffset(n), s = this.getItemSize(n), u = Ve({
196
+ const n = ke(t, 0, this.count - 1), r = this.getItemOffset(n), o = this.getItemSize(n), d = tt({
184
197
  start: r,
185
- size: s,
198
+ size: o,
186
199
  viewport: this.viewportSize,
187
200
  current: this.scrollOffset,
188
201
  align: i
189
202
  });
190
- return H(u, this.getTotalSize(), this.viewportSize);
203
+ return J(d, this.getTotalSize(), this.viewportSize);
191
204
  }
192
205
  usesFixedPath() {
193
206
  return this.itemSize !== null && !this.measurements.hasDivergent;
@@ -204,21 +217,21 @@ class Ae {
204
217
  for (; this.built <= i; ) {
205
218
  const n = this.built % this.lanes, r = this.laneCursor[n] ?? this.paddingStart;
206
219
  this.offsets[this.built] = r;
207
- const s = r + this.getItemSize(this.built);
208
- this.laneEnd[n] = s, this.laneCursor[n] = s + this.gap, this.built += 1;
220
+ const o = r + this.getItemSize(this.built);
221
+ this.laneEnd[n] = o, this.laneCursor[n] = o + this.gap, this.built += 1;
209
222
  }
210
223
  }
211
224
  resetGeometry() {
212
225
  this.built = 0, this.offsets = [], this.laneCursor = Array.from({ length: this.lanes }, () => this.paddingStart), this.laneEnd = Array.from({ length: this.lanes }, () => this.paddingStart);
213
226
  }
214
227
  }
215
- function Z() {
228
+ function U() {
216
229
  return typeof window < "u" && typeof document < "u";
217
230
  }
218
- function ze(e) {
231
+ function Ve(e) {
219
232
  return typeof Element > "u" ? null : e instanceof Element ? e : null;
220
233
  }
221
- function Fe(e, t, i, n) {
234
+ function it(e, t, i, n) {
222
235
  if (n === "smooth" && typeof e.scrollTo == "function") {
223
236
  e.scrollTo({
224
237
  top: i ? e.scrollTop : t,
@@ -229,22 +242,55 @@ function Fe(e, t, i, n) {
229
242
  }
230
243
  i ? e.scrollLeft = t : e.scrollTop = t;
231
244
  }
232
- function fe(e, t) {
245
+ function rt(e, t, i) {
246
+ if (typeof window > "u" || typeof document > "u") return;
247
+ const n = document.scrollingElement;
248
+ if (i === "smooth") {
249
+ if (n && typeof n.scrollTo == "function") {
250
+ n.scrollTo({
251
+ top: t ? n.scrollTop : e,
252
+ left: t ? e : n.scrollLeft,
253
+ behavior: i
254
+ });
255
+ return;
256
+ }
257
+ window.scrollTo({
258
+ top: t ? window.scrollY : e,
259
+ left: t ? e : window.scrollX,
260
+ behavior: i
261
+ });
262
+ return;
263
+ }
264
+ if (n) {
265
+ t ? n.scrollLeft = e : n.scrollTop = e;
266
+ return;
267
+ }
268
+ t ? window.scrollTo(e, window.scrollY) : window.scrollTo(window.scrollX, e);
269
+ }
270
+ function Ie(e, t) {
233
271
  return t ? e.scrollLeft : e.scrollTop;
234
272
  }
235
- function de(e, t) {
273
+ function st(e) {
274
+ if (typeof window > "u" || typeof document > "u") return 0;
275
+ const t = document.scrollingElement;
276
+ return t ? e ? t.scrollLeft : t.scrollTop : e ? window.scrollX : window.scrollY;
277
+ }
278
+ function ot(e, t) {
236
279
  return t ? e.clientWidth : e.clientHeight;
237
280
  }
238
- function Ke(e, t) {
281
+ function lt(e) {
282
+ return typeof window > "u" ? 0 : e ? window.innerWidth : window.innerHeight;
283
+ }
284
+ function at(e, t) {
239
285
  return t ? e.scrollWidth : e.scrollHeight;
240
286
  }
241
- function Le(e) {
287
+ function ct(e) {
242
288
  return typeof requestAnimationFrame == "function" ? requestAnimationFrame(e) : setTimeout(e, 0);
243
289
  }
244
- function je(e) {
290
+ function ut(e) {
245
291
  e && (typeof cancelAnimationFrame == "function" ? cancelAnimationFrame(e) : clearTimeout(e));
246
292
  }
247
- function Ge(e, t) {
293
+ function dt(e, t) {
248
294
  if (e.length !== t.length) return !1;
249
295
  for (let i = 0; i < e.length; i += 1) {
250
296
  const n = e[i], r = t[i];
@@ -253,179 +299,239 @@ function Ge(e, t) {
253
299
  }
254
300
  return !0;
255
301
  }
256
- function te(e) {
257
- const t = new Ae(), i = Me([]), n = L(0), r = L(0), s = L(0), u = L(!1), p = (a) => e.estimateSize(a);
258
- let x = null, I = null, w = null, b = 0, E = 0, k = 0, f = o(e.revision);
259
- const d = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map(), l = [];
260
- function z() {
261
- const a = o(e.container);
262
- return typeof HTMLElement > "u" ? null : a instanceof HTMLElement ? a : null;
302
+ function ge(e) {
303
+ const t = new nt(), i = Xe([]), n = _(0), r = _(0), o = _(0), d = _(!1), O = (s) => e.estimateSize(s);
304
+ let E = null, p = !1, c = null, v = null, k = 0, L = 0, m = 0, b = l(e.revision), w = l(e.count), S = e.getItemKey?.(0) ?? 0, y = !1, h = "";
305
+ const C = /* @__PURE__ */ new Map(), M = /* @__PURE__ */ new Map(), H = [];
306
+ function Q() {
307
+ const s = l(e.container);
308
+ return typeof HTMLElement > "u" ? null : s instanceof HTMLElement ? s : null;
263
309
  }
264
- function m() {
265
- return o(e.horizontal) ?? !1;
310
+ function $() {
311
+ return l(e.horizontal) ?? !1;
266
312
  }
267
- function j() {
268
- const a = o(e.initialRect);
269
- return a ? m() ? a.width : a.height : 0;
313
+ function u() {
314
+ return l(e.windowScroll) ?? !1;
270
315
  }
271
- function X(a, c) {
272
- return a ? N(c, Ke(a, m())) : N(c);
316
+ function I() {
317
+ return l(e.reverse) ?? !1;
273
318
  }
274
- function _(a, c, g) {
275
- return Ee(
276
- fe(a, m()),
277
- c,
278
- X(a, c),
279
- g
280
- );
319
+ function x() {
320
+ const s = l(e.initialRect);
321
+ return s ? $() ? s.width : s.height : 0;
322
+ }
323
+ function j(s) {
324
+ const a = s.getBoundingClientRect(), f = l(e.scrollMargin) ?? 0, g = $() ? -a.left : -a.top;
325
+ return Math.max(0, g - f);
326
+ }
327
+ function te(s, a) {
328
+ return u() || !s ? X(a) : X(a, at(s, $()));
329
+ }
330
+ function Le(s) {
331
+ return u() ? !s || !U() ? 0 : j(s) : s ? Ie(s, $()) : 0;
281
332
  }
282
- function v(a, c, g, M, O) {
283
- Fe(
333
+ function ye(s) {
334
+ return u() ? lt($()) : s ? ot(s, $()) : 0;
335
+ }
336
+ function Ae(s, a, f) {
337
+ if (u()) {
338
+ if (!s || !U()) return;
339
+ const g = st($()), z = j(s);
340
+ rt(g + (a - z), $(), f);
341
+ return;
342
+ }
343
+ s && it(s, a, $(), f);
344
+ }
345
+ function re(s, a, f) {
346
+ return Ze(
347
+ Le(s),
284
348
  a,
285
- ke(c, g, X(a, g), M),
286
- m(),
287
- O
349
+ te(s, a),
350
+ f
351
+ );
352
+ }
353
+ function Y(s, a, f, g, z) {
354
+ Ae(
355
+ s,
356
+ Je(a, f, te(s, f), g),
357
+ z
288
358
  );
289
359
  }
290
- function y() {
291
- const a = o(e.revision);
292
- Object.is(a, f) || (f = a, t.clearMeasurements());
293
- const c = z(), g = c ? de(c, m()) : 0, M = o(e.viewportInset) ?? 0, O = Math.max(0, (g > 0 ? g : j()) - M), C = o(e.itemSize);
294
- t.setOptions({
295
- count: o(e.count),
296
- estimateSize: p,
297
- overscan: (o(e.overscan) ?? 8) + k,
298
- gap: o(e.gap) ?? 0,
299
- paddingStart: o(e.paddingStart) ?? 0,
300
- paddingEnd: o(e.paddingEnd) ?? 0,
301
- lanes: o(e.lanes) ?? 1,
302
- itemSize: C ?? null,
360
+ function Fe() {
361
+ const s = e.onVisibleRangeChange;
362
+ if (!s) return;
363
+ const a = i.value, f = l(e.count), g = a.length ? {
364
+ startIndex: a[0]?.index ?? 0,
365
+ endIndex: a[a.length - 1]?.index ?? -1,
366
+ count: f
367
+ } : { startIndex: 0, endIndex: -1, count: f }, z = `${g.startIndex}:${g.endIndex}:${g.count}`;
368
+ z !== h && (h = z, s(g));
369
+ }
370
+ function F() {
371
+ const s = l(e.revision);
372
+ Object.is(s, b) || (b = s, t.clearMeasurements());
373
+ const a = l(e.count), f = e.getItemKey?.(0) ?? 0, g = I() && w > 0 && a > w && f !== S, z = I() && w > 0 && a > w && f === S, R = g || z ? a - w : 0, K = I() && t.getViewportSize() > 0 && t.getScrollOffset() + t.getViewportSize() >= t.getTotalSize() - 64;
374
+ g && R > 0 && t.shiftMeasurements(R);
375
+ const D = Q(), pe = ye(D), De = l(e.viewportInset) ?? 0, P = Math.max(0, (pe > 0 ? pe : x()) - De), Pe = l(e.itemSize);
376
+ if (t.setOptions({
377
+ count: a,
378
+ estimateSize: O,
379
+ overscan: (l(e.overscan) ?? 8) + m,
380
+ gap: l(e.gap) ?? 0,
381
+ paddingStart: l(e.paddingStart) ?? 0,
382
+ paddingEnd: l(e.paddingEnd) ?? 0,
383
+ lanes: l(e.lanes) ?? 1,
384
+ itemSize: Pe ?? null,
303
385
  getItemKey: e.getItemKey,
304
- viewportSize: O
305
- });
306
- const A = t.getTotalSize(), J = Math.max(0, A - O);
307
- t.getScrollOffset() > J && (t.setScrollOffset(J), c && v(c, J, A, O, "auto"));
308
- const ae = t.getVirtualItems();
309
- Ge(i.value, ae) || (i.value = ae), n.value !== A && (n.value = A);
310
- const Q = t.getScrollOffset();
311
- r.value !== Q && (r.value = Q);
312
- const le = c ? Q - fe(c, m()) : 0;
313
- s.value !== le && (s.value = le);
386
+ viewportSize: P
387
+ }), g && R > 0) {
388
+ let oe = 0;
389
+ const _e = l(e.gap) ?? 0;
390
+ for (let le = 0; le < R; le += 1)
391
+ oe += t.getItemSize(le), le < R - 1 && (oe += _e);
392
+ oe > 0 && t.setScrollOffset(t.getScrollOffset() + oe);
393
+ }
394
+ const G = t.getTotalSize(), q = Math.max(0, G - P);
395
+ let se = !1;
396
+ I() && !y && G > 0 && P > 0 ? (y = !0, t.setScrollOffset(q), Y(D, q, G, P, "auto"), se = !0) : z && K ? (t.setScrollOffset(q), Y(D, q, G, P, "auto"), se = !0) : g && R > 0 && (Y(D, t.getScrollOffset(), G, P, "auto"), se = !0), !se && u() && D ? t.setScrollOffset(
397
+ J(re(D, G, P), G, P)
398
+ ) : t.getScrollOffset() > q && (t.setScrollOffset(q), Y(D, q, G, P, "auto")), w = a, S = f;
399
+ const be = t.getVirtualItems();
400
+ dt(i.value, be) || (i.value = be), n.value !== G && (n.value = G);
401
+ const me = t.getScrollOffset();
402
+ r.value !== me && (r.value = me);
403
+ const Me = D && !u() ? me - Ie(D, $()) : 0;
404
+ o.value !== Me && (o.value = Me), Fe();
314
405
  }
315
- function S() {
316
- u.value = !1, k = 0;
317
- for (const [a, c] of d)
318
- l.push({ element: a, index: c });
319
- se(), y();
406
+ function Ke() {
407
+ d.value = !1, m = 0;
408
+ for (const [s, a] of C)
409
+ H.push({ element: s, index: a });
410
+ ze(), F(), e.onScrollEnd?.();
320
411
  }
321
- function V() {
322
- u.value = !0, !(typeof window > "u") && (window.clearTimeout(E), E = window.setTimeout(S, 120));
412
+ function Be() {
413
+ d.value = !0, !(typeof window > "u") && (window.clearTimeout(L), L = window.setTimeout(Ke, 120));
323
414
  }
324
- function B() {
325
- const a = z();
326
- if (!a) return;
327
- V();
328
- const c = t.getViewportSize(), g = t.getTotalSize(), M = _(a, g, c), O = t.getScrollOffset(), C = Math.max(1, o(e.itemSize) ?? 48);
329
- k = Math.min(24, Math.ceil(Math.abs(M - O) / C)), t.setScrollOffset(M), y();
415
+ function A() {
416
+ const s = Q();
417
+ if (!u() && !s) return;
418
+ Be();
419
+ const a = t.getViewportSize(), f = t.getTotalSize(), g = re(s, f, a), z = t.getScrollOffset(), R = Math.max(1, l(e.itemSize) ?? 48);
420
+ m = Math.min(24, Math.ceil(Math.abs(g - z) / R)), t.setScrollOffset(g), F();
330
421
  }
331
- function we() {
332
- const a = z();
333
- if (a === x || (x && (x.removeEventListener("scroll", B), I?.disconnect(), I = null), x = a, !a || !Z())) return;
334
- const c = t.getViewportSize(), g = t.getTotalSize();
335
- t.getScrollOffset() > 0 ? v(a, t.getScrollOffset(), g, c, "auto") : t.setScrollOffset(_(a, g, c)), a.addEventListener("scroll", B, { passive: !0 }), typeof ResizeObserver < "u" && (I = new ResizeObserver(() => y()), I.observe(a));
422
+ function fe() {
423
+ E && (E.removeEventListener("scroll", A), E = null), p && typeof window < "u" && (window.removeEventListener("scroll", A, !0), window.removeEventListener("scroll", A), document.removeEventListener("scroll", A, !0), document.documentElement.removeEventListener("scroll", A), document.body?.removeEventListener("scroll", A), document.scrollingElement?.removeEventListener("scroll", A), window.removeEventListener("resize", F), p = !1), c?.disconnect(), c = null;
424
+ }
425
+ function je() {
426
+ const s = Q();
427
+ if (u()) {
428
+ if (p && E === s || (fe(), E = s, !U())) return;
429
+ p = !0;
430
+ const z = t.getViewportSize(), R = t.getTotalSize();
431
+ t.getScrollOffset() > 0 ? Y(s, t.getScrollOffset(), R, z, "auto") : s && t.setScrollOffset(re(s, R, z)), window.addEventListener("scroll", A, { passive: !0, capture: !0 }), document.addEventListener("scroll", A, { passive: !0, capture: !0 }), document.documentElement.addEventListener("scroll", A, { passive: !0 }), document.body?.addEventListener("scroll", A, { passive: !0 });
432
+ const K = document.scrollingElement;
433
+ K && K !== document.documentElement && K !== document.body && K.addEventListener("scroll", A, { passive: !0 }), window.addEventListener("resize", F), s && typeof ResizeObserver < "u" && (c = new ResizeObserver(() => F()), c.observe(s));
434
+ return;
435
+ }
436
+ if (s === E && !p || (fe(), E = s, !s || !U())) return;
437
+ const f = t.getViewportSize(), g = t.getTotalSize();
438
+ t.getScrollOffset() > 0 ? Y(s, t.getScrollOffset(), g, f, "auto") : t.setScrollOffset(re(s, g, f)), s.addEventListener("scroll", A, { passive: !0 }), typeof ResizeObserver < "u" && (c = new ResizeObserver(() => F()), c.observe(s));
336
439
  }
337
- function xe() {
338
- return !Z() || typeof ResizeObserver > "u" ? null : (w || (w = new ResizeObserver((a) => {
339
- const c = m();
340
- let g = !1;
341
- if (!u.value) {
342
- for (const M of a) {
343
- const O = d.get(M.target);
344
- if (O === void 0) continue;
345
- const C = M.borderBoxSize?.[0], A = Math.round(
346
- c ? C?.inlineSize ?? M.contentRect.width : C?.blockSize ?? M.contentRect.height
440
+ function Ge() {
441
+ return !U() || typeof ResizeObserver > "u" ? null : (v || (v = new ResizeObserver((s) => {
442
+ const a = $();
443
+ let f = !1;
444
+ if (!d.value) {
445
+ for (const g of s) {
446
+ const z = C.get(g.target);
447
+ if (z === void 0) continue;
448
+ const R = g.borderBoxSize?.[0], K = Math.round(
449
+ a ? R?.inlineSize ?? g.contentRect.width : R?.blockSize ?? g.contentRect.height
347
450
  );
348
- A > 0 && t.measure(O, A) && (g = !0);
451
+ K > 0 && t.measure(z, K) && (f = !0);
349
452
  }
350
- g && y();
453
+ f && F();
351
454
  }
352
- })), w);
455
+ })), v);
353
456
  }
354
- function se() {
355
- if (b = 0, u.value) return;
356
- const a = l.splice(0, l.length), c = m();
357
- let g = !1;
358
- for (const M of a) {
359
- if (!M.element.isConnected) continue;
360
- const O = M.element.getBoundingClientRect(), C = Math.round(c ? O.width : O.height);
361
- C > 0 && t.measure(M.index, C) && (g = !0);
457
+ function ze() {
458
+ if (k = 0, d.value) return;
459
+ const s = H.splice(0, H.length), a = $();
460
+ let f = !1;
461
+ for (const g of s) {
462
+ if (!g.element.isConnected) continue;
463
+ const z = g.element.getBoundingClientRect(), R = Math.round(a ? z.width : z.height);
464
+ R > 0 && t.measure(g.index, R) && (f = !0);
362
465
  }
363
- g && y();
466
+ f && F();
364
467
  }
365
- function pe(a, c) {
366
- const g = ze(a), M = xe(), O = h.get(c);
367
- O && O !== g && (M?.unobserve(O), d.delete(O), h.delete(c)), g && (h.set(c, g), d.set(g, c), M?.observe(g), l.push({ element: g, index: c }), !(u.value || b) && (b = Le(se)));
468
+ function We(s, a) {
469
+ const f = Ve(s), g = Ge(), z = M.get(a);
470
+ z && z !== f && (g?.unobserve(z), C.delete(z), M.delete(a)), f && (M.set(a, f), C.set(f, a), g?.observe(f), H.push({ element: f, index: a }), !(d.value || k) && (k = ct(ze)));
368
471
  }
369
- function oe(a, c = "auto") {
370
- const g = z(), M = g ? de(g, m()) : 0, O = M > 0 ? M : t.getViewportSize(), C = t.getTotalSize(), A = H(a, C, O);
371
- t.setScrollOffset(A), g && v(g, A, C, O, c), y();
472
+ function xe(s, a = "auto") {
473
+ const f = Q(), g = ye(f), z = g > 0 ? g : t.getViewportSize(), R = t.getTotalSize(), K = J(s, R, z);
474
+ t.setScrollOffset(K), Y(f, K, R, z, a), F();
372
475
  }
373
- function be(a, c) {
374
- const g = t.getOffsetForIndex(a, c?.align ?? "auto");
375
- oe(g, c?.behavior ?? "auto");
476
+ function Ne(s, a) {
477
+ const f = t.getOffsetForIndex(s, a?.align ?? "auto");
478
+ xe(f, a?.behavior ?? "auto");
376
479
  }
377
- function Ie(a, c) {
378
- t.measure(a, c) && y();
480
+ function He(s, a) {
481
+ t.measure(s, a) && F();
379
482
  }
380
- return y(), ge(
483
+ return F(), Te(
381
484
  () => [
382
- o(e.count),
383
- o(e.overscan),
384
- o(e.gap),
385
- o(e.paddingStart),
386
- o(e.paddingEnd),
387
- o(e.lanes),
388
- o(e.horizontal),
389
- o(e.itemSize),
390
- o(e.viewportInset),
391
- o(e.revision),
392
- o(e.container),
393
- o(e.initialRect)?.width,
394
- o(e.initialRect)?.height
485
+ l(e.count),
486
+ l(e.overscan),
487
+ l(e.gap),
488
+ l(e.paddingStart),
489
+ l(e.paddingEnd),
490
+ l(e.lanes),
491
+ l(e.horizontal),
492
+ l(e.itemSize),
493
+ l(e.viewportInset),
494
+ l(e.revision),
495
+ l(e.container),
496
+ l(e.windowScroll),
497
+ l(e.scrollMargin),
498
+ l(e.reverse),
499
+ l(e.initialRect)?.width,
500
+ l(e.initialRect)?.height
395
501
  ],
396
502
  () => {
397
- we(), y();
503
+ je(), F();
398
504
  },
399
- { flush: "post" }
400
- ), ve(() => {
401
- x && x.removeEventListener("scroll", B), I?.disconnect(), w?.disconnect(), je(b), typeof window < "u" && window.clearTimeout(E), d.clear(), h.clear(), l.length = 0;
505
+ { flush: "post", immediate: !0 }
506
+ ), Ce(() => {
507
+ fe(), v?.disconnect(), ut(k), typeof window < "u" && window.clearTimeout(L), C.clear(), M.clear(), H.length = 0;
402
508
  }), {
403
- virtualItems: R(() => i.value),
404
- totalSize: R(() => n.value),
405
- scrollOffset: R(() => r.value),
406
- scrollAdjust: R(() => s.value),
407
- isScrolling: R(() => u.value),
408
- scrollToIndex: be,
409
- scrollToOffset: oe,
410
- measure: Ie,
411
- measureElement: pe
509
+ virtualItems: T(() => i.value),
510
+ totalSize: T(() => n.value),
511
+ scrollOffset: T(() => r.value),
512
+ scrollAdjust: T(() => o.value),
513
+ isScrolling: T(() => d.value),
514
+ scrollToIndex: Ne,
515
+ scrollToOffset: xe,
516
+ measure: He,
517
+ measureElement: We
412
518
  };
413
519
  }
414
- function Ne(e, t, i) {
520
+ function ft(e, t, i) {
415
521
  return typeof e == "function" ? e(t, i) : typeof e == "number" ? e : 48;
416
522
  }
417
- function ye(e) {
418
- const t = te({
419
- count: () => o(e.items).length,
523
+ function $e(e) {
524
+ const t = ge({
525
+ count: () => l(e.items).length,
420
526
  estimateSize: (n) => {
421
- const r = o(e.items);
422
- return Ne(e.estimateSize, n, r[n]);
527
+ const r = l(e.items);
528
+ return ft(e.estimateSize, n, r[n]);
423
529
  },
424
530
  getItemKey: (n) => {
425
- const s = o(e.items)[n];
426
- return e.getItemKey?.(s, n) ?? n;
531
+ const o = l(e.items)[n];
532
+ return e.getItemKey?.(o, n) ?? n;
427
533
  },
428
- itemSize: () => e.itemSize !== void 0 ? o(e.itemSize) : typeof e.estimateSize == "number" ? e.estimateSize : void 0,
534
+ itemSize: () => e.itemSize !== void 0 ? l(e.itemSize) : typeof e.estimateSize == "number" ? e.estimateSize : void 0,
429
535
  container: e.container,
430
536
  horizontal: e.horizontal,
431
537
  overscan: e.overscan,
@@ -434,17 +540,22 @@ function ye(e) {
434
540
  paddingEnd: e.paddingEnd,
435
541
  initialRect: e.initialRect,
436
542
  viewportInset: e.viewportInset,
437
- revision: e.revision
543
+ revision: e.revision,
544
+ windowScroll: e.windowScroll,
545
+ scrollMargin: e.scrollMargin,
546
+ reverse: e.reverse,
547
+ onVisibleRangeChange: e.onVisibleRangeChange,
548
+ onScrollEnd: e.onScrollEnd
438
549
  });
439
550
  return {
440
- virtualItems: R(() => {
441
- const n = o(e.items);
551
+ virtualItems: T(() => {
552
+ const n = l(e.items);
442
553
  return t.virtualItems.value.map((r) => {
443
- const s = n[r.index];
554
+ const o = n[r.index];
444
555
  return {
445
556
  ...r,
446
- item: s,
447
- key: e.getItemKey?.(s, r.index) ?? r.key
557
+ item: o,
558
+ key: e.getItemKey?.(o, r.index) ?? r.key
448
559
  };
449
560
  });
450
561
  }),
@@ -458,104 +569,110 @@ function ye(e) {
458
569
  measureElement: t.measureElement
459
570
  };
460
571
  }
461
- function he(e, t, i) {
572
+ function Re(e, t, i) {
462
573
  return typeof e == "function" ? e(t) : typeof e == "number" ? e : i;
463
574
  }
464
- function Be(e) {
465
- const t = R(() => Math.max(1, Math.floor(o(e.columnCount) || 1))), i = R(() => Math.ceil(o(e.items).length / t.value)), n = /* @__PURE__ */ new Map(), r = te({
575
+ function mt(e) {
576
+ const t = T(() => Math.max(1, Math.floor(l(e.columnCount) || 1))), i = T(() => Math.ceil(l(e.items).length / t.value)), n = /* @__PURE__ */ new Map(), r = ge({
466
577
  count: () => i.value,
467
- estimateSize: (f) => he(o(e.estimateRowSize), f, 48),
578
+ estimateSize: (m) => Re(l(e.estimateRowSize), m, 48),
468
579
  itemSize: () => {
469
- const f = o(e.estimateRowSize);
470
- return typeof f == "number" ? f : void 0;
580
+ const m = l(e.estimateRowSize);
581
+ return typeof m == "number" ? m : void 0;
471
582
  },
472
- overscan: () => o(e.overscanRows) ?? o(e.overscan) ?? 2,
473
- gap: () => o(e.rowGap) ?? 0,
583
+ overscan: () => l(e.overscanRows) ?? l(e.overscan) ?? 2,
584
+ gap: () => l(e.rowGap) ?? 0,
474
585
  horizontal: !1,
475
586
  container: e.container,
476
587
  initialRect: e.initialRect,
477
- revision: e.revision
478
- }), s = te({
588
+ revision: e.revision,
589
+ windowScroll: e.windowScroll,
590
+ scrollMargin: e.scrollMargin,
591
+ onVisibleRangeChange: e.onVisibleRangeChange,
592
+ onScrollEnd: e.onScrollEnd
593
+ }), o = ge({
479
594
  count: () => t.value,
480
- estimateSize: (f) => he(o(e.estimateColumnSize), f, 160),
595
+ estimateSize: (m) => Re(l(e.estimateColumnSize), m, 160),
481
596
  itemSize: () => {
482
- const f = o(e.estimateColumnSize);
483
- return typeof f == "number" ? f : void 0;
597
+ const m = l(e.estimateColumnSize);
598
+ return typeof m == "number" ? m : void 0;
484
599
  },
485
- overscan: () => o(e.overscanColumns) ?? o(e.overscan) ?? 1,
486
- gap: () => o(e.columnGap) ?? 0,
600
+ overscan: () => l(e.overscanColumns) ?? l(e.overscan) ?? 1,
601
+ gap: () => l(e.columnGap) ?? 0,
487
602
  horizontal: !0,
488
603
  container: e.container,
489
604
  initialRect: e.initialRect,
490
- revision: e.revision
491
- }), u = R(() => {
492
- const f = o(e.items), d = t.value, h = [];
493
- for (const l of r.virtualItems.value)
494
- for (const z of s.virtualItems.value) {
495
- const m = l.index * d + z.index;
496
- if (m >= f.length) continue;
497
- const j = f[m];
498
- h.push({
499
- index: m,
500
- key: e.getItemKey?.(j, m) ?? m,
501
- item: j,
502
- row: l,
503
- column: z
605
+ revision: e.revision,
606
+ windowScroll: e.windowScroll,
607
+ scrollMargin: e.scrollMargin
608
+ }), d = T(() => {
609
+ const m = l(e.items), b = t.value, w = [];
610
+ for (const S of r.virtualItems.value)
611
+ for (const y of o.virtualItems.value) {
612
+ const h = S.index * b + y.index;
613
+ if (h >= m.length) continue;
614
+ const C = m[h];
615
+ w.push({
616
+ index: h,
617
+ key: e.getItemKey?.(C, h) ?? h,
618
+ item: C,
619
+ row: S,
620
+ column: y
504
621
  });
505
622
  }
506
- return h;
623
+ return w;
507
624
  });
508
- function p(f, d) {
509
- const h = o(e.items);
510
- if (!h.length) return;
511
- const l = Math.min(Math.max(f, 0), h.length - 1), z = t.value;
512
- r.scrollToIndex(Math.floor(l / z), d), s.scrollToIndex(l % z, d);
625
+ function O(m, b) {
626
+ const w = l(e.items);
627
+ if (!w.length) return;
628
+ const S = Math.min(Math.max(m, 0), w.length - 1), y = t.value;
629
+ r.scrollToIndex(Math.floor(S / y), b), o.scrollToIndex(S % y, b);
513
630
  }
514
- function x(f, d = "auto") {
515
- f.top !== void 0 && r.scrollToOffset(f.top, d), f.left !== void 0 && s.scrollToOffset(f.left, d);
631
+ function E(m, b = "auto") {
632
+ m.top !== void 0 && r.scrollToOffset(m.top, b), m.left !== void 0 && o.scrollToOffset(m.left, b);
516
633
  }
517
- function I(f, d) {
518
- const h = Math.max(n.get(f) ?? 0, d);
519
- h <= 0 || h === n.get(f) || (n.set(f, h), r.measure(f, h));
634
+ function p(m, b) {
635
+ const w = Math.max(n.get(m) ?? 0, b);
636
+ w <= 0 || w === n.get(m) || (n.set(m, w), r.measure(m, w));
520
637
  }
521
- let w = null;
522
- const b = /* @__PURE__ */ new Map();
523
- function E() {
524
- return !Z() || typeof ResizeObserver > "u" ? null : (w || (w = new ResizeObserver((f) => {
525
- for (const d of f) {
526
- const h = b.get(d.target);
527
- if (h === void 0) continue;
528
- const z = d.borderBoxSize?.[0]?.blockSize ?? d.contentRect.height;
529
- z > 0 && I(h, z);
638
+ let c = null;
639
+ const v = /* @__PURE__ */ new Map();
640
+ function k() {
641
+ return !U() || typeof ResizeObserver > "u" ? null : (c || (c = new ResizeObserver((m) => {
642
+ for (const b of m) {
643
+ const w = v.get(b.target);
644
+ if (w === void 0) continue;
645
+ const y = b.borderBoxSize?.[0]?.blockSize ?? b.contentRect.height;
646
+ y > 0 && p(w, y);
530
647
  }
531
- })), w);
648
+ })), c);
532
649
  }
533
- function k(f, d) {
534
- const h = ze(f), l = E();
535
- if (!h) return;
536
- b.set(h, d), l?.observe(h);
537
- const z = h.getBoundingClientRect().height;
538
- z > 0 && I(d, z);
650
+ function L(m, b) {
651
+ const w = Ve(m), S = k();
652
+ if (!w) return;
653
+ v.set(w, b), S?.observe(w);
654
+ const y = w.getBoundingClientRect().height;
655
+ y > 0 && p(b, y);
539
656
  }
540
- return ve(() => {
541
- w?.disconnect(), b.clear();
657
+ return Ce(() => {
658
+ c?.disconnect(), v.clear();
542
659
  }), {
543
660
  virtualRows: r.virtualItems,
544
- virtualColumns: s.virtualItems,
545
- virtualCells: u,
661
+ virtualColumns: o.virtualItems,
662
+ virtualCells: d,
546
663
  totalHeight: r.totalSize,
547
- totalWidth: s.totalSize,
548
- scrollAdjustX: s.scrollAdjust,
664
+ totalWidth: o.totalSize,
665
+ scrollAdjustX: o.scrollAdjust,
549
666
  scrollAdjustY: r.scrollAdjust,
550
- scrollToIndex: p,
551
- scrollToOffset: x,
552
- measureRow: I,
553
- measureRowElement: k,
554
- measureColumn: s.measure
667
+ scrollToIndex: O,
668
+ scrollToOffset: E,
669
+ measureRow: p,
670
+ measureRowElement: L,
671
+ measureColumn: o.measure
555
672
  };
556
673
  }
557
- function He(e) {
558
- const t = ye({
674
+ function ht(e) {
675
+ const t = $e({
559
676
  items: e.rows,
560
677
  estimateSize: e.estimateRowSize,
561
678
  container: e.container,
@@ -564,25 +681,49 @@ function He(e) {
564
681
  initialRect: e.initialRect,
565
682
  viewportInset: e.viewportInset,
566
683
  revision: e.revision,
567
- itemSize: e.itemSize
568
- }), i = R(() => {
569
- const s = o(e.columns);
570
- let u = 0;
571
- return s.map((p) => {
572
- const x = p.width ?? p.minWidth ?? 160, I = {
573
- ...p,
574
- start: u,
575
- size: x,
576
- end: u + x
684
+ itemSize: e.itemSize,
685
+ windowScroll: e.windowScroll,
686
+ scrollMargin: e.scrollMargin,
687
+ reverse: e.reverse,
688
+ onVisibleRangeChange: e.onVisibleRangeChange,
689
+ onScrollEnd: e.onScrollEnd
690
+ }), i = T(() => {
691
+ const o = l(e.columns);
692
+ let d = 0;
693
+ const O = o.map((c) => {
694
+ const v = c.width ?? c.minWidth ?? 160, k = {
695
+ ...c,
696
+ start: d,
697
+ size: v,
698
+ end: d + v,
699
+ pinOffset: 0,
700
+ stickyStyle: {}
577
701
  };
578
- return u += x, I;
702
+ return d += v, k;
579
703
  });
580
- }), n = R(() => {
581
- const s = i.value;
582
- return s.length ? s[s.length - 1]?.end ?? 0 : 0;
704
+ let E = 0;
705
+ for (const c of O)
706
+ c.pin === "start" && (c.pinOffset = E, c.stickyStyle = {
707
+ position: "sticky",
708
+ left: `${E}px`,
709
+ zIndex: 2
710
+ }, E += c.size);
711
+ let p = 0;
712
+ for (let c = O.length - 1; c >= 0; c -= 1) {
713
+ const v = O[c];
714
+ !v || v.pin !== "end" || (v.pinOffset = p, v.stickyStyle = {
715
+ position: "sticky",
716
+ right: `${p}px`,
717
+ zIndex: 2
718
+ }, p += v.size);
719
+ }
720
+ return O;
721
+ }), n = T(() => {
722
+ const o = i.value;
723
+ return o.length ? o[o.length - 1]?.end ?? 0 : 0;
583
724
  });
584
725
  return {
585
- virtualRows: R(() => t.virtualItems.value),
726
+ virtualRows: T(() => t.virtualItems.value),
586
727
  columns: i,
587
728
  totalHeight: t.totalSize,
588
729
  totalWidth: n,
@@ -595,11 +736,11 @@ function He(e) {
595
736
  measureElement: t.measureElement
596
737
  };
597
738
  }
598
- function me(e) {
739
+ function ae(e) {
599
740
  if (typeof e == "number" && Number.isFinite(e)) return `${e}px`;
600
741
  if (typeof e == "string" && e.trim()) return e;
601
742
  }
602
- function W(e) {
743
+ function ee(e) {
603
744
  if (typeof e == "number" && Number.isFinite(e)) return e;
604
745
  if (typeof e != "string") return 0;
605
746
  const t = /^(-?\d+(?:\.\d+)?)px$/.exec(e.trim());
@@ -607,24 +748,29 @@ function W(e) {
607
748
  const i = Number(t[1]);
608
749
  return Number.isFinite(i) ? i : 0;
609
750
  }
610
- function re(e) {
611
- return {
751
+ function Se(e) {
752
+ return e.windowScroll ? {
753
+ position: "relative",
754
+ width: ae(e.width) ?? "100%",
755
+ height: ae(e.height),
756
+ overflowAnchor: "none"
757
+ } : {
612
758
  overflow: "auto",
613
759
  position: "relative",
614
- height: me(e.height) ?? (e.horizontal ? "100%" : void 0),
615
- width: me(e.width) ?? (e.horizontal ? void 0 : "100%"),
760
+ height: ae(e.height) ?? (e.horizontal ? "100%" : void 0),
761
+ width: ae(e.width) ?? (e.horizontal ? void 0 : "100%"),
616
762
  overflowAnchor: "none"
617
763
  };
618
764
  }
619
- function We(e, t) {
620
- const i = N(e);
765
+ function gt(e, t) {
766
+ const i = X(e);
621
767
  return {
622
768
  position: "relative",
623
769
  width: t ? `${i}px` : "100%",
624
770
  height: t ? "100%" : `${i}px`
625
771
  };
626
772
  }
627
- function _e(e, t, i) {
773
+ function vt(e, t, i) {
628
774
  return {
629
775
  position: "absolute",
630
776
  top: 0,
@@ -637,7 +783,7 @@ function _e(e, t, i) {
637
783
  overflow: "hidden"
638
784
  };
639
785
  }
640
- const Ye = /* @__PURE__ */ ie({
786
+ const zt = /* @__PURE__ */ ve({
641
787
  __name: "VirtualList",
642
788
  props: {
643
789
  items: {},
@@ -653,88 +799,98 @@ const Ye = /* @__PURE__ */ ie({
653
799
  tag: { default: "div" },
654
800
  itemTag: { default: "div" },
655
801
  itemAttrs: {},
656
- revision: {}
802
+ revision: {},
803
+ windowScroll: { type: Boolean, default: !1 },
804
+ scrollMargin: { default: 0 },
805
+ reverse: { type: Boolean, default: !1 }
657
806
  },
658
- setup(e, { expose: t }) {
659
- const i = e, n = L(null), { virtualItems: r, totalSize: s, scrollAdjust: u, scrollToIndex: p, scrollToOffset: x, measure: I, measureElement: w } = ye({
660
- items: () => i.items,
661
- estimateSize: (d, h) => {
662
- const l = i.estimateSize;
663
- return typeof l == "number" ? l : l(d, h);
807
+ emits: ["visibleRangeChange", "scrollEnd"],
808
+ setup(e, { expose: t, emit: i }) {
809
+ const n = e, r = i, o = _(null), { virtualItems: d, totalSize: O, scrollAdjust: E, scrollToIndex: p, scrollToOffset: c, measure: v, measureElement: k } = $e({
810
+ items: () => n.items,
811
+ estimateSize: (S, y) => {
812
+ const h = n.estimateSize;
813
+ return typeof h == "number" ? h : h(S, y);
664
814
  },
665
- itemSize: () => typeof i.estimateSize == "number" ? i.estimateSize : void 0,
666
- container: n,
667
- horizontal: () => i.horizontal,
668
- overscan: () => i.overscan,
669
- gap: () => i.gap,
670
- paddingStart: () => i.paddingStart,
671
- paddingEnd: () => i.paddingEnd,
672
- getItemKey: (d, h) => i.getItemKey?.(d, h) ?? h,
815
+ itemSize: () => typeof n.estimateSize == "number" ? n.estimateSize : void 0,
816
+ container: o,
817
+ horizontal: () => n.horizontal,
818
+ overscan: () => n.overscan,
819
+ gap: () => n.gap,
820
+ paddingStart: () => n.paddingStart,
821
+ paddingEnd: () => n.paddingEnd,
822
+ getItemKey: (S, y) => n.getItemKey?.(S, y) ?? y,
673
823
  initialRect: () => ({
674
- width: W(i.width),
675
- height: W(i.height)
824
+ width: ee(n.width),
825
+ height: ee(n.height)
676
826
  }),
677
- revision: () => i.revision
678
- }), b = R(
679
- () => re({
680
- height: i.height,
681
- width: i.width,
682
- horizontal: i.horizontal
827
+ revision: () => n.revision,
828
+ windowScroll: () => n.windowScroll,
829
+ scrollMargin: () => n.scrollMargin,
830
+ reverse: () => n.reverse,
831
+ onVisibleRangeChange: (S) => r("visibleRangeChange", S),
832
+ onScrollEnd: () => r("scrollEnd")
833
+ }), L = T(
834
+ () => Se({
835
+ height: n.height,
836
+ width: n.width,
837
+ horizontal: n.horizontal,
838
+ windowScroll: n.windowScroll
683
839
  })
684
- ), E = R(() => We(s.value, i.horizontal));
685
- function k(d, h) {
686
- return _e(d, i.horizontal, h);
840
+ ), m = T(() => gt(O.value, n.horizontal));
841
+ function b(S, y) {
842
+ return vt(S, n.horizontal, y);
687
843
  }
688
- function f(d) {
689
- return (h) => {
690
- w(h, d);
844
+ function w(S) {
845
+ return (y) => {
846
+ k(y, S);
691
847
  };
692
848
  }
693
849
  return t({
694
850
  scrollToIndex: p,
695
- scrollToOffset: x,
696
- measure: I
697
- }), (d, h) => (T(), Y(q(e.tag), {
851
+ scrollToOffset: c,
852
+ measure: v
853
+ }), (S, y) => (V(), ce(ue(e.tag), {
698
854
  ref_key: "container",
699
- ref: n,
855
+ ref: o,
700
856
  "data-virtual-container": "",
701
857
  role: "list",
702
- style: F(b.value)
858
+ style: W(L.value)
703
859
  }, {
704
- default: U(() => [
705
- e.items.length ? (T(), $("div", {
860
+ default: de(() => [
861
+ e.items.length ? (V(), B("div", {
706
862
  key: 1,
707
863
  "data-virtual-spacer": "",
708
- style: F(E.value)
864
+ style: W(m.value)
709
865
  }, [
710
- (T(!0), $(D, null, P(K(r), (l) => (T(), Y(q(e.itemTag), ne({
711
- key: l.key,
866
+ (V(!0), B(ne, null, ie(N(d), (h) => (V(), ce(ue(e.itemTag), we({
867
+ key: h.key,
712
868
  ref_for: !0,
713
- ref: f(l.index),
869
+ ref: w(h.index),
714
870
  role: "listitem",
715
- "data-index": l.index,
716
- "data-key": String(l.key),
871
+ "data-index": h.index,
872
+ "data-key": String(h.key),
717
873
  "aria-setsize": e.items.length,
718
- "aria-posinset": l.index + 1,
719
- style: k(l.start - K(u), l.size)
874
+ "aria-posinset": h.index + 1,
875
+ style: b(h.start - N(E), h.size)
720
876
  }, { ref_for: !0 }, e.itemAttrs), {
721
- default: U(() => [
722
- G(d.$slots, "default", {
723
- item: l.item,
724
- index: l.index,
725
- start: l.start,
726
- size: l.size,
727
- end: l.end
877
+ default: de(() => [
878
+ Z(S.$slots, "default", {
879
+ item: h.item,
880
+ index: h.index,
881
+ start: h.start,
882
+ size: h.size,
883
+ end: h.end
728
884
  })
729
885
  ]),
730
886
  _: 2
731
887
  }, 1040, ["data-index", "data-key", "aria-setsize", "aria-posinset", "style"]))), 128))
732
- ], 4)) : G(d.$slots, "empty", {}, void 0, void 0, 0)
888
+ ], 4)) : Z(S.$slots, "empty", {}, void 0, void 0, 0)
733
889
  ]),
734
890
  _: 3
735
891
  }, 8, ["style"]));
736
892
  }
737
- }), De = ["data-index", "data-key"], qe = /* @__PURE__ */ ie({
893
+ }), wt = ["data-index", "data-key"], xt = /* @__PURE__ */ ve({
738
894
  __name: "VirtualGrid",
739
895
  props: {
740
896
  items: {},
@@ -751,106 +907,114 @@ const Ye = /* @__PURE__ */ ie({
751
907
  getItemKey: {},
752
908
  tag: { default: "div" },
753
909
  itemAttrs: {},
754
- revision: {}
910
+ revision: {},
911
+ windowScroll: { type: Boolean, default: !1 },
912
+ scrollMargin: { default: 0 }
755
913
  },
756
- setup(e, { expose: t }) {
757
- const i = e, n = L(null), {
758
- virtualCells: r,
759
- totalWidth: s,
760
- totalHeight: u,
914
+ emits: ["visibleRangeChange", "scrollEnd"],
915
+ setup(e, { expose: t, emit: i }) {
916
+ const n = e, r = i, o = _(null), {
917
+ virtualCells: d,
918
+ totalWidth: O,
919
+ totalHeight: E,
761
920
  scrollAdjustX: p,
762
- scrollAdjustY: x,
763
- scrollToIndex: I,
764
- scrollToOffset: w,
765
- measureRow: b,
766
- measureRowElement: E
767
- } = Be({
768
- items: () => i.items,
769
- columnCount: () => i.columnCount,
770
- estimateRowSize: () => i.estimateRowSize,
771
- estimateColumnSize: () => i.estimateColumnSize,
772
- container: n,
773
- overscan: () => i.overscan,
774
- overscanRows: () => i.overscanRows,
775
- overscanColumns: () => i.overscanColumns,
776
- rowGap: () => i.rowGap,
777
- columnGap: () => i.columnGap,
778
- getItemKey: (l, z) => i.getItemKey?.(l, z) ?? z,
921
+ scrollAdjustY: c,
922
+ scrollToIndex: v,
923
+ scrollToOffset: k,
924
+ measureRow: L,
925
+ measureRowElement: m
926
+ } = mt({
927
+ items: () => n.items,
928
+ columnCount: () => n.columnCount,
929
+ estimateRowSize: () => n.estimateRowSize,
930
+ estimateColumnSize: () => n.estimateColumnSize,
931
+ container: o,
932
+ overscan: () => n.overscan,
933
+ overscanRows: () => n.overscanRows,
934
+ overscanColumns: () => n.overscanColumns,
935
+ rowGap: () => n.rowGap,
936
+ columnGap: () => n.columnGap,
937
+ getItemKey: (h, C) => n.getItemKey?.(h, C) ?? C,
779
938
  initialRect: () => ({
780
- width: W(i.width),
781
- height: W(i.height)
939
+ width: ee(n.width),
940
+ height: ee(n.height)
782
941
  }),
783
- revision: () => i.revision
784
- }), k = R(
785
- () => re({
786
- height: i.height,
787
- width: i.width,
788
- horizontal: !1
942
+ revision: () => n.revision,
943
+ windowScroll: () => n.windowScroll,
944
+ scrollMargin: () => n.scrollMargin,
945
+ onVisibleRangeChange: (h) => r("visibleRangeChange", h),
946
+ onScrollEnd: () => r("scrollEnd")
947
+ }), b = T(
948
+ () => Se({
949
+ height: n.height,
950
+ width: n.width,
951
+ horizontal: !1,
952
+ windowScroll: n.windowScroll
789
953
  })
790
- ), f = R(() => ({
954
+ ), w = T(() => ({
791
955
  position: "relative",
792
- width: `${N(s.value)}px`,
793
- height: `${N(u.value)}px`
956
+ width: `${X(O.value)}px`,
957
+ height: `${X(E.value)}px`
794
958
  }));
795
- function d(l) {
796
- return (z) => {
797
- E(z, l);
959
+ function S(h) {
960
+ return (C) => {
961
+ m(C, h);
798
962
  };
799
963
  }
800
- function h(l, z, m, j) {
964
+ function y(h, C, M, H) {
801
965
  return {
802
966
  position: "absolute",
803
967
  top: 0,
804
968
  left: 0,
805
- width: `${z}px`,
806
- height: `${j}px`,
807
- transform: `translate(${l}px, ${m}px)`,
969
+ width: `${C}px`,
970
+ height: `${H}px`,
971
+ transform: `translate(${h}px, ${M}px)`,
808
972
  contain: "layout style",
809
973
  boxSizing: "border-box",
810
974
  overflow: "hidden"
811
975
  };
812
976
  }
813
977
  return t({
814
- scrollToIndex: I,
815
- scrollToOffset: w,
816
- measureRow: b
817
- }), (l, z) => (T(), Y(q(e.tag), {
978
+ scrollToIndex: v,
979
+ scrollToOffset: k,
980
+ measureRow: L
981
+ }), (h, C) => (V(), ce(ue(e.tag), {
818
982
  ref_key: "container",
819
- ref: n,
983
+ ref: o,
820
984
  "data-virtual-container": "",
821
985
  role: "grid",
822
- style: F(k.value)
986
+ style: W(b.value)
823
987
  }, {
824
- default: U(() => [
825
- e.items.length ? (T(), $("div", {
988
+ default: de(() => [
989
+ e.items.length ? (V(), B("div", {
826
990
  key: 1,
827
991
  "data-virtual-spacer": "",
828
- style: F(f.value)
992
+ style: W(w.value)
829
993
  }, [
830
- (T(!0), $(D, null, P(K(r), (m) => (T(), $("div", ne({
831
- key: m.key,
994
+ (V(!0), B(ne, null, ie(N(d), (M) => (V(), B("div", we({
995
+ key: M.key,
832
996
  ref_for: !0,
833
- ref: d(m.row.index),
997
+ ref: S(M.row.index),
834
998
  role: "gridcell",
835
- "data-index": m.index,
836
- "data-key": String(m.key),
837
- style: h(m.column.start - K(p), m.column.size, m.row.start - K(x), m.row.size)
999
+ "data-index": M.index,
1000
+ "data-key": String(M.key),
1001
+ style: y(M.column.start - N(p), M.column.size, M.row.start - N(c), M.row.size)
838
1002
  }, { ref_for: !0 }, e.itemAttrs), [
839
- G(l.$slots, "default", {
840
- item: m.item,
841
- index: m.index,
842
- rowIndex: m.row.index,
843
- columnIndex: m.column.index,
844
- row: m.row,
845
- column: m.column
1003
+ Z(h.$slots, "default", {
1004
+ item: M.item,
1005
+ index: M.index,
1006
+ rowIndex: M.row.index,
1007
+ columnIndex: M.column.index,
1008
+ row: M.row,
1009
+ column: M.column
846
1010
  })
847
- ], 16, De))), 128))
848
- ], 4)) : G(l.$slots, "empty", {}, void 0, void 0, 0)
1011
+ ], 16, wt))), 128))
1012
+ ], 4)) : Z(h.$slots, "empty", {}, void 0, void 0, 0)
849
1013
  ]),
850
1014
  _: 3
851
1015
  }, 8, ["style"]));
852
1016
  }
853
- }), Pe = ["data-index", "data-key", "aria-rowindex"], Ue = /* @__PURE__ */ ie({
1017
+ }), St = ["data-index", "data-key", "aria-rowindex"], pt = /* @__PURE__ */ ve({
854
1018
  __name: "VirtualTable",
855
1019
  props: {
856
1020
  rows: {},
@@ -863,154 +1027,166 @@ const Ye = /* @__PURE__ */ ie({
863
1027
  stickyHeader: { type: Boolean, default: !0 },
864
1028
  tag: { default: "div" },
865
1029
  rowAttrs: {},
866
- revision: {}
1030
+ revision: {},
1031
+ windowScroll: { type: Boolean, default: !1 },
1032
+ scrollMargin: { default: 0 },
1033
+ reverse: { type: Boolean, default: !1 }
867
1034
  },
868
- setup(e, { expose: t }) {
869
- const i = e, n = L(null), r = L(null), s = L(0), {
870
- virtualRows: u,
1035
+ emits: ["visibleRangeChange", "scrollEnd"],
1036
+ setup(e, { expose: t, emit: i }) {
1037
+ const n = e, r = i, o = _(null), d = _(null), O = _(0), {
1038
+ virtualRows: E,
871
1039
  columns: p,
872
- totalWidth: x,
873
- totalHeight: I,
874
- scrollAdjust: w,
875
- scrollToIndex: b,
876
- scrollToOffset: E,
877
- measure: k,
878
- measureElement: f
879
- } = He({
880
- rows: () => i.rows,
881
- columns: () => i.columns,
882
- estimateRowSize: (v, y) => {
883
- const S = i.estimateRowSize;
884
- return typeof S == "number" ? S : S(v, y);
1040
+ totalWidth: c,
1041
+ totalHeight: v,
1042
+ scrollAdjust: k,
1043
+ scrollToIndex: L,
1044
+ scrollToOffset: m,
1045
+ measure: b,
1046
+ measureElement: w
1047
+ } = ht({
1048
+ rows: () => n.rows,
1049
+ columns: () => n.columns,
1050
+ estimateRowSize: (u, I) => {
1051
+ const x = n.estimateRowSize;
1052
+ return typeof x == "number" ? x : x(u, I);
885
1053
  },
886
- container: n,
887
- overscan: () => i.overscan,
888
- getRowKey: (v, y) => i.getRowKey?.(v, y) ?? y,
1054
+ container: o,
1055
+ overscan: () => n.overscan,
1056
+ getRowKey: (u, I) => n.getRowKey?.(u, I) ?? I,
889
1057
  initialRect: () => ({
890
- width: W(i.width),
891
- height: W(i.height)
1058
+ width: ee(n.width),
1059
+ height: ee(n.height)
892
1060
  }),
893
- viewportInset: s,
894
- revision: () => i.revision,
895
- itemSize: () => typeof i.estimateRowSize == "number" ? i.estimateRowSize : void 0
1061
+ viewportInset: O,
1062
+ revision: () => n.revision,
1063
+ itemSize: () => typeof n.estimateRowSize == "number" ? n.estimateRowSize : void 0,
1064
+ windowScroll: () => n.windowScroll,
1065
+ scrollMargin: () => n.scrollMargin,
1066
+ reverse: () => n.reverse,
1067
+ onVisibleRangeChange: (u) => r("visibleRangeChange", u),
1068
+ onScrollEnd: () => r("scrollEnd")
896
1069
  });
897
- ge(r, (v, y, S) => {
898
- if (y === v && !v || !v || !Z() || typeof ResizeObserver > "u") return;
899
- const V = () => {
900
- s.value = v.getBoundingClientRect().height;
901
- }, B = new ResizeObserver(V);
902
- B.observe(v), V(), S(() => B.disconnect());
1070
+ Te(d, (u, I, x) => {
1071
+ if (I === u && !u || !u || !U() || typeof ResizeObserver > "u") return;
1072
+ const j = () => {
1073
+ O.value = u.getBoundingClientRect().height;
1074
+ }, te = new ResizeObserver(j);
1075
+ te.observe(u), j(), x(() => te.disconnect());
903
1076
  });
904
- const d = R(
905
- () => re({
906
- height: i.height,
907
- width: i.width,
908
- horizontal: !1
1077
+ const S = T(
1078
+ () => Se({
1079
+ height: n.height,
1080
+ width: n.width,
1081
+ horizontal: !1,
1082
+ windowScroll: n.windowScroll
909
1083
  })
910
- ), h = R(() => ({
911
- minWidth: `${x.value}px`
912
- })), l = R(() => ({
913
- position: i.stickyHeader ? "sticky" : "relative",
914
- top: i.stickyHeader ? "0px" : void 0,
915
- zIndex: 1,
1084
+ ), y = T(() => ({
1085
+ minWidth: `${c.value}px`
1086
+ })), h = T(() => ({
1087
+ position: n.stickyHeader ? "sticky" : "relative",
1088
+ top: n.stickyHeader ? "0px" : void 0,
1089
+ zIndex: 3,
916
1090
  display: "flex",
917
- width: `${x.value}px`
918
- })), z = R(() => ({
1091
+ width: `${c.value}px`
1092
+ })), C = T(() => ({
919
1093
  position: "relative",
920
- height: `${N(I.value)}px`,
921
- width: `${N(x.value)}px`
1094
+ height: `${X(v.value)}px`,
1095
+ width: `${X(c.value)}px`
922
1096
  }));
923
- function m(v) {
1097
+ function M(u) {
924
1098
  return {
925
- width: `${v.size}px`,
926
- minWidth: `${v.size}px`,
1099
+ width: `${u.size}px`,
1100
+ minWidth: `${u.size}px`,
927
1101
  flex: "0 0 auto",
928
- textAlign: v.align ?? "left"
1102
+ textAlign: u.align ?? "left",
1103
+ ...u.stickyStyle,
1104
+ zIndex: u.pin ? n.stickyHeader ? 4 : 2 : u.stickyStyle.zIndex
929
1105
  };
930
1106
  }
931
- function j(v, y) {
1107
+ function H(u, I) {
932
1108
  return {
933
1109
  position: "absolute",
934
1110
  top: 0,
935
1111
  left: 0,
936
1112
  width: "100%",
937
- height: `${y}px`,
1113
+ height: `${I}px`,
938
1114
  display: "flex",
939
- transform: `translateY(${v}px)`,
1115
+ transform: `translateY(${u}px)`,
940
1116
  contain: "layout style",
941
1117
  boxSizing: "border-box",
942
1118
  overflow: "hidden"
943
1119
  };
944
1120
  }
945
- function X(v) {
946
- return (y) => {
947
- f(y, v);
1121
+ function Q(u) {
1122
+ return (I) => {
1123
+ w(I, u);
948
1124
  };
949
1125
  }
950
- function _(v, y, S) {
951
- return y.accessor ? y.accessor(v, S) : v && typeof v == "object" && y.id in v ? v[y.id] : "";
1126
+ function $(u, I, x) {
1127
+ return I.accessor ? I.accessor(u, x) : u && typeof u == "object" && I.id in u ? u[I.id] : "";
952
1128
  }
953
1129
  return t({
954
- scrollToIndex: b,
955
- scrollToOffset: E,
956
- measure: k
957
- }), (v, y) => (T(), Y(q(e.tag), {
1130
+ scrollToIndex: L,
1131
+ scrollToOffset: m,
1132
+ measure: b
1133
+ }), (u, I) => (V(), ce(ue(e.tag), {
958
1134
  ref_key: "container",
959
- ref: n,
1135
+ ref: o,
960
1136
  "data-virtual-container": "",
961
1137
  role: "table",
962
- style: F(d.value)
1138
+ style: W(S.value)
963
1139
  }, {
964
- default: U(() => [
965
- ue("div", {
966
- style: F(h.value)
1140
+ default: de(() => [
1141
+ Ee("div", {
1142
+ style: W(y.value)
967
1143
  }, [
968
- ue("div", {
1144
+ Ee("div", {
969
1145
  ref_key: "header",
970
- ref: r,
1146
+ ref: d,
971
1147
  role: "row",
972
- style: F(l.value)
1148
+ style: W(h.value)
973
1149
  }, [
974
- G(v.$slots, "header", { columns: K(p) }, () => [
975
- (T(!0), $(D, null, P(K(p), (S) => (T(), $("div", {
976
- key: S.id,
1150
+ Z(u.$slots, "header", { columns: N(p) }, () => [
1151
+ (V(!0), B(ne, null, ie(N(p), (x) => (V(), B("div", {
1152
+ key: x.id,
977
1153
  role: "columnheader",
978
- style: F(m(S))
979
- }, ce(S.header), 5))), 128))
1154
+ style: W(M(x))
1155
+ }, Oe(x.header), 5))), 128))
980
1156
  ])
981
1157
  ], 4),
982
- e.rows.length ? (T(), $("div", {
1158
+ e.rows.length ? (V(), B("div", {
983
1159
  key: 1,
984
1160
  "data-virtual-spacer": "",
985
1161
  role: "rowgroup",
986
- style: F(z.value)
1162
+ style: W(C.value)
987
1163
  }, [
988
- (T(!0), $(D, null, P(K(u), (S) => (T(), $("div", ne({
989
- key: S.key,
1164
+ (V(!0), B(ne, null, ie(N(E), (x) => (V(), B("div", we({
1165
+ key: x.key,
990
1166
  ref_for: !0,
991
- ref: X(S.index),
1167
+ ref: Q(x.index),
992
1168
  role: "row",
993
- "data-index": S.index,
994
- "data-key": String(S.key),
995
- "aria-rowindex": S.index + 1,
996
- style: j(S.start - K(w), S.size)
1169
+ "data-index": x.index,
1170
+ "data-key": String(x.key),
1171
+ "aria-rowindex": x.index + 1,
1172
+ style: H(x.start - N(k), x.size)
997
1173
  }, { ref_for: !0 }, e.rowAttrs), [
998
- (T(!0), $(D, null, P(K(p), (V) => (T(), $("div", {
999
- key: V.id,
1174
+ (V(!0), B(ne, null, ie(N(p), (j) => (V(), B("div", {
1175
+ key: j.id,
1000
1176
  role: "cell",
1001
- style: F(m(V))
1177
+ style: W(M(j))
1002
1178
  }, [
1003
- G(v.$slots, "cell", {
1004
- row: S.item,
1005
- column: V,
1006
- rowIndex: S.index,
1007
- value: _(S.item, V, S.index)
1179
+ Z(u.$slots, "cell", {
1180
+ row: x.item,
1181
+ column: j,
1182
+ rowIndex: x.index,
1183
+ value: $(x.item, j, x.index)
1008
1184
  }, () => [
1009
- Oe(ce(_(S.item, V, S.index)), 1)
1185
+ Ye(Oe($(x.item, j, x.index)), 1)
1010
1186
  ])
1011
1187
  ], 4))), 128))
1012
- ], 16, Pe))), 128))
1013
- ], 4)) : G(v.$slots, "empty", {}, void 0, void 0, 0)
1188
+ ], 16, St))), 128))
1189
+ ], 4)) : Z(u.$slots, "empty", {}, void 0, void 0, 0)
1014
1190
  ], 4)
1015
1191
  ]),
1016
1192
  _: 3
@@ -1018,20 +1194,20 @@ const Ye = /* @__PURE__ */ ie({
1018
1194
  }
1019
1195
  });
1020
1196
  export {
1021
- Re as MeasurementCache,
1022
- qe as VirtualGrid,
1023
- Ye as VirtualList,
1024
- Ue as VirtualTable,
1025
- Ae as Virtualizer,
1026
- H as clampScrollOffset,
1027
- Ee as mapDomOffsetToVirtual,
1028
- ke as mapVirtualOffsetToDom,
1029
- ee as normalizeSize,
1030
- Ve as resolveScrollOffset,
1031
- N as scrollContentSize,
1032
- Be as useVirtualGrid,
1033
- ye as useVirtualList,
1034
- He as useVirtualTable,
1035
- te as useVirtualizer
1197
+ qe as MeasurementCache,
1198
+ xt as VirtualGrid,
1199
+ zt as VirtualList,
1200
+ pt as VirtualTable,
1201
+ nt as Virtualizer,
1202
+ J as clampScrollOffset,
1203
+ Ze as mapDomOffsetToVirtual,
1204
+ Je as mapVirtualOffsetToDom,
1205
+ he as normalizeSize,
1206
+ tt as resolveScrollOffset,
1207
+ X as scrollContentSize,
1208
+ mt as useVirtualGrid,
1209
+ $e as useVirtualList,
1210
+ ht as useVirtualTable,
1211
+ ge as useVirtualizer
1036
1212
  };
1037
1213
  //# sourceMappingURL=index.mjs.map