virtua 0.51.1 → 0.51.3

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/lib/index.js CHANGED
@@ -6,7 +6,7 @@ import { jsx as c } from "react/jsx-runtime";
6
6
 
7
7
  import { flushSync as f } from "react-dom";
8
8
 
9
- var a, {min: u, max: d, abs: h, floor: g} = Math, S = (e, t, n) => u(n, d(t, e)), v = e => [ ...e ].sort((e, t) => e - t), p = setTimeout, $ = clearTimeout, m = "function" == typeof queueMicrotask ? queueMicrotask : e => {
9
+ var a, {min: u, max: d, abs: h, floor: g} = Math, S = (e, t, n) => u(n, d(t, e)), p = e => [ ...e ].sort((e, t) => e - t), v = setTimeout, $ = clearTimeout, m = "function" == typeof queueMicrotask ? queueMicrotask : e => {
10
10
  Promise.resolve().then(e);
11
11
  }, w = () => {
12
12
  let e;
@@ -14,8 +14,8 @@ var a, {min: u, max: d, abs: h, floor: g} = Math, S = (e, t, n) => u(n, d(t, e))
14
14
  e = t;
15
15
  }), e ];
16
16
  }, _ = "undefined" != typeof window, z = e => e.ownerDocument, I = e => e.defaultView, y = () => (null == a && (a = /iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0),
17
- a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p: l, $: c, m: f}, a = 0) => {
18
- let g = !!f, S = !!a, v = 1, p = 0, $ = 0, m = 0, w = 0, _ = 0, z = 0, I = 0, b = 0, x = null, k = [ 0, S ? d(a - 1, 0) : -1 ], R = 0, C = !1;
17
+ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, p: i, t: s, v: l, $: c, m: f}, a = 0) => {
18
+ let g = !!f, S = !!a, p = 1, v = 0, $ = 0, m = 0, w = 0, _ = 0, z = 0, I = 0, b = 0, x = null, k = [ 0, S ? d(a - 1, 0) : -1 ], R = 0, C = !1;
19
19
  const M = /* @__PURE__ */ new Set, T = () => m - $, O = () => T() + _ + w, E = e => n(e) - _, L = e => {
20
20
  e && (y() && 0 !== I || x && 1 === b ? _ += e : w += e);
21
21
  };
@@ -23,12 +23,12 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
23
23
  _: () => {
24
24
  M.clear();
25
25
  },
26
- I: () => v,
26
+ I: () => p,
27
27
  i: (t = 200) => {
28
28
  if (!C || S) return k;
29
29
  let n, o;
30
30
  if (z) [n, o] = k; else {
31
- let r = d(0, O()), i = r + p;
31
+ let r = d(0, O()), i = r + v;
32
32
  g || (t = d(0, t), 1 !== I && (r -= t), 2 !== I && (i += t)), [n, o] = k = e(d(0, r), d(0, i)),
33
33
  x && (n = u(n, x[0]), o = d(o, x[1]));
34
34
  }
@@ -41,7 +41,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
41
41
  C: l,
42
42
  M: () => m,
43
43
  T: () => 0 !== I,
44
- o: () => p,
44
+ o: () => v,
45
45
  O: () => $,
46
46
  t: s,
47
47
  L: () => (z = w, w = 0, [ z, 2 === b ]),
@@ -62,7 +62,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
62
62
  const t = l - m, n = h(t);
63
63
  e && n < h(e) + 1 || 0 !== b || (I = t < 0 ? 2 : 1), S && (S = !1), m = l, d = 4;
64
64
  const o = T();
65
- o >= -p && o <= s() && (d += 1, u = n > p);
65
+ o >= -v && o <= s() && (d += 1, u = n > v);
66
66
  break;
67
67
  }
68
68
 
@@ -78,7 +78,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
78
78
  let r;
79
79
  if (2 === b) r = !0; else if (x && 1 === b) r = t < x[0]; else {
80
80
  const e = T(), n = E(t), i = o(t);
81
- r = 1 !== I && 0 === b ? n + i <= e : n < e && n + i < e + p;
81
+ r = 1 !== I && 0 === b ? n + i <= e : n < e && n + i < e + v;
82
82
  }
83
83
  return r && (e += n - o(t)), e;
84
84
  }, 0));
@@ -86,12 +86,12 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
86
86
  const e = o(t), i = r(t, n);
87
87
  g && (R += i ? n : n - e);
88
88
  }
89
- g && p && R > p && (L(f(t(O()))), g = !1), d = 3, u = !0;
89
+ g && v && R > v && (L(f(t(O()))), g = !1), d = 3, u = !0;
90
90
  break;
91
91
  }
92
92
 
93
93
  case 4:
94
- p !== l && (p || (C = u = !0), p = l, d = 3);
94
+ v !== l && (v || (C = u = !0), v = l, d = 3);
95
95
  break;
96
96
 
97
97
  case 5:
@@ -107,9 +107,9 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
107
107
  break;
108
108
 
109
109
  case 8:
110
- x = e(l, l + p), d = 1;
110
+ x = e(l, l + v), d = 1;
111
111
  }
112
- d && (v = 1 + (2147483647 & v), a && _ && (w += _, _ = 0), M.forEach(([e, t]) => {
112
+ d && (p = 1 + (2147483647 & p), a && _ && (w += _, _ = 0), M.forEach(([e, t]) => {
113
113
  d & e && t(u);
114
114
  }));
115
115
  }
@@ -151,9 +151,9 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
151
151
  const n = -1 === l[e];
152
152
  return l[e] = t, r = u(e, r), n;
153
153
  },
154
- v: (e, t = -1) => l[e] === t,
154
+ p: (e, t = -1) => l[e] === t,
155
155
  t: () => a(e),
156
- p: () => e,
156
+ v: () => e,
157
157
  $: (t, n) => {
158
158
  const i = t - e;
159
159
  return r = n ? -1 : u(t - 1, r), e = t, i > 0 ? (R(c, i), R(l, i, n), o * i) : (c.splice(i),
@@ -165,7 +165,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
165
165
  l.forEach((o, r) => {
166
166
  -1 !== o && (o && n.push(o), r < e && t++);
167
167
  }), r = -1;
168
- const i = v(n), s = i.length, c = s / 2 | 0, f = s % 2 == 0 ? (i[c - 1] + i[c]) / 2 : i[c], a = o;
168
+ const i = p(n), s = i.length, c = s / 2 | 0, f = s % 2 == 0 ? (i[c - 1] + i[c]) / 2 : i[c], a = o;
169
169
  return ((o = f) - a) * d(e - t, 0);
170
170
  },
171
171
  q: () => [ l.slice(), o ]
@@ -185,16 +185,16 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
185
185
  };
186
186
  }, T = (e, t, n, o, r, i, s) => {
187
187
  let l, c, f = 0, a = !1, u = !1, d = !1, h = !1;
188
- const g = Date.now, S = o ? "scrollLeft" : "scrollTop", v = o ? "left" : "top", w = e => r ? -e : e, _ = () => w(n[S]), z = (e, t) => {
188
+ const g = Date.now, S = o ? "scrollLeft" : "scrollTop", p = o ? "left" : "top", w = e => r ? -e : e, _ = () => w(n[S]), z = (e, t) => {
189
189
  n.scrollTo({
190
- [v]: w(e),
190
+ [p]: w(e),
191
191
  behavior: t ? "smooth" : "instant"
192
192
  });
193
193
  }, I = () => {
194
194
  if (a || u) return a = !1, void b();
195
195
  d = !1, e.W(2);
196
196
  }, b = () => {
197
- $(c), c = p(I, 150);
197
+ $(c), c = v(I, 150);
198
198
  }, x = () => {
199
199
  f = g(), d && (h = !0), s && e.W(6, s()), e.W(1, _()), b();
200
200
  }, k = t => {
@@ -223,7 +223,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
223
223
  h && i && i(), h = !1;
224
224
  const r = e.M() + t;
225
225
  r <= 0 || r >= e.O() + e.t() - e.o() ? z(r) : n.scrollBy({
226
- [v]: w(t),
226
+ [p]: w(t),
227
227
  behavior: "instant"
228
228
  }), o && (l && l(), e.o() > e.t() && e.W(1, _()));
229
229
  },
@@ -234,7 +234,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
234
234
  o = !0, $(r), i && i();
235
235
  }, c = () => {
236
236
  if (!o) {
237
- if (e.o() && ($(r), r = p(s, 150)), n) {
237
+ if (e.o() && ($(r), r = v(s, 150)), n) {
238
238
  for (let [t, n] = e.i(0); t <= n; t++) if (e.R(t)) return;
239
239
  s();
240
240
  }
@@ -254,28 +254,28 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
254
254
  };
255
255
  }, O = (e, t) => {
256
256
  let n, o, r = w();
257
- const i = t ? "width" : "height", s = /* @__PURE__ */ new WeakMap, l = M(t => {
258
- const o = [];
259
- for (const {target: r, contentRect: l} of t) if (r.offsetParent) if (r === n) e.W(4, l[i]); else {
260
- const e = s.get(r);
261
- null != e && o.push([ e, l[i] ]);
257
+ const i = /* @__PURE__ */ new WeakMap, s = M(o => {
258
+ const r = [];
259
+ for (const {target: s, contentRect: {width: l, height: c}} of o) if (s === n) (l || c) && e.W(4, t ? l : c); else if (s.offsetParent) {
260
+ const e = i.get(s);
261
+ null != e && r.push([ e, t ? l : c ]);
262
262
  }
263
- o.length && e.W(3, o);
263
+ r.length && e.W(3, r);
264
264
  });
265
265
  return {
266
- P(i, s = i.parentElement) {
267
- l.A(n = s), o = T(e, s, s, t, t && "rtl" === getComputedStyle(s).direction, () => {
268
- const e = t ? "overflowX" : "overflowY", n = s.style, o = n[e];
269
- n[e] = "hidden", p(() => {
266
+ P(i, l = i.parentElement) {
267
+ s.A(n = l), o = T(e, l, l, t, t && "rtl" === getComputedStyle(l).direction, () => {
268
+ const e = t ? "overflowX" : "overflowY", n = l.style, o = n[e];
269
+ n[e] = "hidden", v(() => {
270
270
  n[e] = o;
271
271
  });
272
272
  }), r[1](!0);
273
273
  },
274
274
  _() {
275
- l.X(), o && o.X(), r[1](!1), r = w();
275
+ s.X(), o && o.X(), r[1](!1), r = w();
276
276
  },
277
- V: (e, t) => (s.set(e, t), l.A(e), () => {
278
- s.delete(e), l.B(e);
277
+ V: (e, t) => (i.set(e, t), s.A(e), () => {
278
+ i.delete(e), s.B(e);
279
279
  }),
280
280
  async J(e, t) {
281
281
  await r[0] && o.D(e, t);
@@ -287,36 +287,31 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
287
287
  };
288
288
  }, E = (e, t) => {
289
289
  let n, o, r, i, s, l = w();
290
- const c = t ? "width" : "height", f = /* @__PURE__ */ new WeakMap, a = M(t => {
291
- const o = [];
292
- for (const {target: e, contentRect: r} of t) {
293
- if (e === n) {
294
- s && s();
295
- continue;
296
- }
297
- if (!e.offsetParent) continue;
298
- const t = f.get(e);
299
- null != t && o.push([ t, r[c] ]);
290
+ const c = /* @__PURE__ */ new WeakMap, f = M(o => {
291
+ const r = [];
292
+ for (const {target: e, contentRect: {width: i, height: l}} of o) if (e === n) s && s(); else if (e.offsetParent) {
293
+ const n = c.get(e);
294
+ null != n && r.push([ n, t ? i : l ]);
300
295
  }
301
- o.length && e.W(3, o);
296
+ r.length && e.W(3, r);
302
297
  });
303
298
  return {
304
299
  P(c) {
305
- const f = z(c), u = I(f), d = n = f.scrollingElement, h = t && "rtl" === getComputedStyle(d).direction, g = (e, t, n, o, r = 0) => {
300
+ const a = z(c), u = I(a), d = n = a.scrollingElement, h = t && "rtl" === getComputedStyle(d).direction, g = (e, t, n, o, r = 0) => {
306
301
  const i = o ? "offsetLeft" : "offsetTop", s = r + (h ? t.clientWidth - e[i] - e.offsetWidth : e[i]), l = e.offsetParent;
307
302
  return e !== n && l ? g(l, t, n, o, s) : s;
308
- }, S = i = () => g(c, d, f.body, t), v = s = () => {
303
+ }, S = i = () => g(c, d, a.body, t), p = s = () => {
309
304
  e.W(4, d[t ? "clientWidth" : "clientHeight"]);
310
305
  };
311
- u.addEventListener("resize", v), a.A(d), r = () => {
312
- u.removeEventListener("resize", v);
306
+ u.addEventListener("resize", p), f.A(d), r = () => {
307
+ u.removeEventListener("resize", p);
313
308
  }, o = T(e, u, d, t, h, null, S), l[1](!0);
314
309
  },
315
310
  _() {
316
- r && r(), a.X(), o && o.X(), n = void 0, l[1](!1), l = w();
311
+ r && r(), f.X(), o && o.X(), l[1](!1), l = w();
317
312
  },
318
- V: (e, t) => (f.set(e, t), a.A(e), () => {
319
- f.delete(e), a.B(e);
313
+ V: (e, t) => (c.set(e, t), f.A(e), () => {
314
+ c.delete(e), f.B(e);
320
315
  }),
321
316
  async J(e, t) {
322
317
  await l[0] && o.D(e, t);
@@ -330,8 +325,8 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
330
325
  let n, o, r, i = w();
331
326
  const s = /* @__PURE__ */ new WeakMap, l = /* @__PURE__ */ new Set, c = /* @__PURE__ */ new Set, f = /* @__PURE__ */ new Map, a = (e, t) => `${e}-${t}`, u = M(o => {
332
327
  const r = /* @__PURE__ */ new Set, i = /* @__PURE__ */ new Set;
333
- for (const {target: l, contentRect: {width: c, height: u}} of o) if (l.offsetParent) if (l === n) e.W(4, u),
334
- t.W(4, c); else {
328
+ for (const {target: l, contentRect: {width: c, height: u}} of o) if (l === n) (c || u) && (e.W(4, u),
329
+ t.W(4, c)); else if (l.offsetParent) {
335
330
  const e = s.get(l);
336
331
  if (e) {
337
332
  const [t, n] = e, o = a(t, n), s = f.get(o);
@@ -366,7 +361,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
366
361
  u.A(n = l);
367
362
  const c = "rtl" === getComputedStyle(l).direction, f = e => () => {
368
363
  const t = l.style, n = t[e];
369
- t[e] = "hidden", p(() => {
364
+ t[e] = "hidden", v(() => {
370
365
  t[e] = n;
371
366
  });
372
367
  };
@@ -452,7 +447,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
452
447
  return B(e, t), t;
453
448
  })(e);
454
449
  return [ e => n[e], n.length ];
455
- }, [ e, t ]), J = /*#__PURE__*/ e(({children: e, data: t, bufferSize: n, itemSize: r, shift: i, horizontal: a, keepMounted: u, cache: d, startMargin: h = 0, ssrCount: g, as: S = "div", item: p = "div", scrollRef: $, onScroll: w, onScrollEnd: _}, z) => {
450
+ }, [ e, t ]), J = /*#__PURE__*/ e(({children: e, data: t, bufferSize: n, itemSize: r, shift: i, horizontal: a, keepMounted: u, cache: d, startMargin: h = 0, ssrCount: g, as: S = "div", item: v = "div", scrollRef: $, onScroll: w, onScrollEnd: _}, z) => {
456
451
  const [I, y] = V(e, t), k = l(null), R = l(!!g), M = D(w), T = D(_), [E, L, B, J] = Y(() => {
457
452
  const e = !!a, t = C(y, r, d), n = x(t, g);
458
453
  return [ n, t, O(n, e), e ];
@@ -466,7 +461,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
466
461
  te: e,
467
462
  ne: E.u(e),
468
463
  oe: E.R(e),
469
- re: p,
464
+ re: v,
470
465
  Z: t,
471
466
  ie: J,
472
467
  se: R[A]
@@ -512,8 +507,8 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
512
507
  }), []), u) {
513
508
  const e = new Set(u);
514
509
  for (let [t, o] = E.i(n); t <= o; t++) e.add(t);
515
- v([ ...e ]).forEach(e => {
516
- K.push(N(e));
510
+ p([ ...e ]).forEach(e => {
511
+ e < y && K.push(N(e));
517
512
  });
518
513
  } else for (let [e, t] = E.i(n); e <= t; e++) K.push(N(e));
519
514
  /* @__PURE__ */
@@ -555,8 +550,8 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
555
550
  onScrollEnd: d,
556
551
  children: e
557
552
  })
558
- })), G = /*#__PURE__*/ e(({children: e, data: t, bufferSize: n, itemSize: r, shift: i, horizontal: a, cache: u, ssrCount: d, as: h = "div", item: g = "div", onScroll: S, onScrollEnd: v}, p) => {
559
- const [$, m] = V(e, t), w = l(null), _ = D(S), z = D(v), I = l(!!d), [y, b, k, R] = Y(() => {
553
+ })), G = /*#__PURE__*/ e(({children: e, data: t, bufferSize: n, itemSize: r, shift: i, horizontal: a, cache: u, ssrCount: d, as: h = "div", item: g = "div", onScroll: S, onScrollEnd: p}, v) => {
554
+ const [$, m] = V(e, t), w = l(null), _ = D(S), z = D(p), I = l(!!d), [y, b, k, R] = Y(() => {
560
555
  const e = !!a, t = C(m, r, u), n = x(t, d);
561
556
  return [ n, t, E(n, e), e ];
562
557
  });
@@ -572,7 +567,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
572
567
  y._(), k._();
573
568
  }), []), q(() => {
574
569
  k.j();
575
- }, [ M ]), o(p, () => ({
570
+ }, [ M ]), o(v, () => ({
576
571
  get cache() {
577
572
  return b.q();
578
573
  },
@@ -630,13 +625,13 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
630
625
  }), [ r, s, a, f, u ]),
631
626
  children: e
632
627
  });
633
- }), K = /*#__PURE__*/ e(({children: e, row: t, col: n, cellHeight: r = 40, cellWidth: a = 100, bufferSize: u, ssrRowCount: d, ssrColCount: h, item: g = "div", domRef: v, onScroll: p, onScrollEnd: $, style: m, ...w}, _) => {
628
+ }), K = /*#__PURE__*/ e(({children: e, row: t, col: n, cellHeight: r = 40, cellWidth: a = 100, bufferSize: u, ssrRowCount: d, ssrColCount: h, item: g = "div", domRef: p, onScroll: v, onScrollEnd: $, style: m, ...w}, _) => {
634
629
  const [z, I, y] = Y(() => {
635
630
  const e = x(C(t, r), d), o = x(C(n, a), h);
636
631
  return [ e, o, L(e, o) ];
637
632
  });
638
633
  t !== z.C() && z.W(5, [ t ]), n !== I.C() && I.W(5, [ n ]);
639
- const [k, R] = s(z.I, void 0, z.I), [M, T] = s(I.I, void 0, I.I), O = z.T(), E = I.T(), H = b(z), W = b(I), B = l(null), X = D(p), P = D($);
634
+ const [k, R] = s(z.I, void 0, z.I), [M, T] = s(I.I, void 0, I.I), O = z.T(), E = I.T(), H = b(z), W = b(I), B = l(null), X = D(v), P = D($);
640
635
  q(() => {
641
636
  z.H(1, e => {
642
637
  e ? f(R) : R();
@@ -732,7 +727,7 @@ a), b = e => d(e.t(), e.o()), x = ({i: e, l: t, u: n, h: o, S: r, v: i, t: s, p:
732
727
  }, U(e, t)));
733
728
  /* @__PURE__ */
734
729
  return c("div", {
735
- ref: v,
730
+ ref: p,
736
731
  ...w,
737
732
  style: {
738
733
  overflow: "auto",