virtua 0.53.1 → 0.53.2

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 (55) hide show
  1. package/lib/angular/VGrid.d.ts +5 -1
  2. package/lib/angular/VList.d.ts +5 -1
  3. package/lib/angular/VMasonry.d.ts +5 -1
  4. package/lib/angular/Virtualizer.d.ts +5 -1
  5. package/lib/angular/WindowVirtualizer.d.ts +5 -1
  6. package/lib/angular/index.js +368 -352
  7. package/lib/angular/index.js.map +1 -1
  8. package/lib/core/index.cjs +101 -108
  9. package/lib/core/index.cjs.map +1 -1
  10. package/lib/core/index.d.ts +1 -1
  11. package/lib/core/index.js +193 -200
  12. package/lib/core/index.js.map +1 -1
  13. package/lib/index.cjs +413 -404
  14. package/lib/index.cjs.map +1 -1
  15. package/lib/index.js +416 -408
  16. package/lib/index.js.map +1 -1
  17. package/lib/react/VGrid.d.ts +4 -0
  18. package/lib/react/VList.d.ts +1 -1
  19. package/lib/react/VMasonry.d.ts +4 -0
  20. package/lib/react/Virtualizer.d.ts +4 -0
  21. package/lib/react/WindowVirtualizer.d.ts +4 -0
  22. package/lib/react/types.d.ts +1 -1
  23. package/lib/solid/VGrid.d.ts +4 -0
  24. package/lib/solid/VList.d.ts +1 -1
  25. package/lib/solid/VMasonry.d.ts +4 -0
  26. package/lib/solid/Virtualizer.d.ts +4 -0
  27. package/lib/solid/WindowVirtualizer.d.ts +4 -0
  28. package/lib/solid/index.cjs +446 -436
  29. package/lib/solid/index.cjs.map +1 -1
  30. package/lib/solid/index.js +410 -400
  31. package/lib/solid/index.js.map +1 -1
  32. package/lib/solid/index.jsx +38 -22
  33. package/lib/solid/index.jsx.map +1 -1
  34. package/lib/solid/types.d.ts +1 -1
  35. package/lib/svelte/VGrid.svelte +26 -6
  36. package/lib/svelte/VGrid.type.d.ts +4 -0
  37. package/lib/svelte/VList.svelte +2 -0
  38. package/lib/svelte/VList.type.d.ts +1 -1
  39. package/lib/svelte/VMasonry.svelte +9 -2
  40. package/lib/svelte/VMasonry.type.d.ts +4 -0
  41. package/lib/svelte/Virtualizer.svelte +9 -2
  42. package/lib/svelte/Virtualizer.type.d.ts +4 -0
  43. package/lib/svelte/WindowVirtualizer.svelte +9 -2
  44. package/lib/svelte/WindowVirtualizer.type.d.ts +4 -0
  45. package/lib/svelte/types.d.ts +1 -1
  46. package/lib/vue/VGrid.d.ts +4 -0
  47. package/lib/vue/VList.d.ts +1 -1
  48. package/lib/vue/VMasonry.d.ts +4 -0
  49. package/lib/vue/Virtualizer.d.ts +4 -0
  50. package/lib/vue/WindowVirtualizer.d.ts +4 -0
  51. package/lib/vue/index.cjs +619 -609
  52. package/lib/vue/index.cjs.map +1 -1
  53. package/lib/vue/index.js +599 -589
  54. package/lib/vue/index.js.map +1 -1
  55. package/package.json +1 -1
@@ -182,8 +182,8 @@ t), m = (t, e, o) => {
182
182
  };
183
183
 
184
184
  exports.ACTION_ITEMS_LENGTH_CHANGE = 5, exports.ACTION_RELAYOUT = 9, exports.ACTION_START_OFFSET_CHANGE = 6,
185
- exports.UPDATE_SCROLL_END_EVENT = 8, exports.UPDATE_SCROLL_EVENT = 4, exports.UPDATE_VIRTUAL_STATE = 1,
186
- exports.createContainerDriver = (t, e) => {
185
+ exports.UPDATE_SCROLL_END_EVENT = 8, exports.UPDATE_SCROLL_EVENT = 4, exports.UPDATE_SIZE_EVENT = 2,
186
+ exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e) => {
187
187
  let o, n, r = a(), s = !0;
188
188
  const l = /* @__PURE__ */ new WeakMap, c = T(r => {
189
189
  const c = [];
@@ -360,18 +360,18 @@ exports.createContainerDriver = (t, e) => {
360
360
  O.push(t), o >= 0 && O.push(L[o]), E.push(e);
361
361
  }
362
362
  c(O), c(E);
363
- const A = y(O, d, x, s, i, w), B = y(E, m, v, f, u, T), J = A.length, V = B.length, X = /* @__PURE__ */ new Map, Y = [], j = [];
363
+ const A = y(O, d, x, s, i, w), V = y(E, m, v, f, u, T), B = A.length, J = V.length, X = /* @__PURE__ */ new Map, Y = [], j = [];
364
364
  for (const t of _) {
365
365
  const e = I(t, d), o = z(t, m);
366
366
  Y.push(e), j.push(o);
367
- const n = B.indexOf(t.colIndex);
368
- for (let r = A.indexOf(t.rowIndex); r < J && A[r] < e; r++) {
367
+ const n = V.indexOf(t.colIndex);
368
+ for (let r = A.indexOf(t.rowIndex); r < B && A[r] < e; r++) {
369
369
  const e = A[r] * m;
370
- for (let r = n; r < V && B[r] < o; r++) X.set(e + B[r], t);
370
+ for (let r = n; r < J && V[r] < o; r++) X.set(e + V[r], t);
371
371
  }
372
372
  }
373
373
  const D = [];
374
- for (const t of B) D.push(!r.$isMeasurable(t) && null);
374
+ for (const t of V) D.push(!r.$isMeasurable(t) && null);
375
375
  const G = [], U = t.$getItemOffset(x), Z = [];
376
376
  let F = Z;
377
377
  const H = h.get(t), K = /* @__PURE__ */ new Map;
@@ -389,8 +389,8 @@ exports.createContainerDriver = (t, e) => {
389
389
  } else a < 0 && (F = Z);
390
390
  const $ = c >= 0 && e === a, p = o || l || e === P || e >= s && e <= i, h = $ ? U : null, b = e * m, y = H && H.get(e), k = y && y.$cells, O = [];
391
391
  let E = 0, _ = !t.$isMeasurable(e) && null, q = e + 1, C = !1;
392
- for (let t = 0; t < V; t++) {
393
- const s = B[t], l = s < v, c = s >= T, i = l || c || s >= f && s <= u, a = X.get(b + s);
392
+ for (let t = 0; t < J; t++) {
393
+ const s = V[t], l = s < v, c = s >= T, i = l || c || s >= f && s <= u, a = X.get(b + s);
394
394
  if (a ? a.rowIndex === e && a.colIndex === s : p && i) {
395
395
  const i = a ? I(a, d) : e + 1, f = a ? z(a, m) : s + 1, u = i - e, p = f - s, x = u > 1, w = p > 1, h = x || w;
396
396
  let b, S;
@@ -442,7 +442,7 @@ exports.createContainerDriver = (t, e) => {
442
442
  }
443
443
  return h.set(t, K), {
444
444
  $rowTemplate: k(t, A, G, c(Y), "max-content", d),
445
- $colTemplate: k(r, B, D, c(j), "minmax(max-content,auto)", m),
445
+ $colTemplate: k(r, V, D, c(j), "minmax(max-content,auto)", m),
446
446
  $groups: Z
447
447
  };
448
448
  }, exports.createGridSpanIndex = (t = e) => {
@@ -503,179 +503,172 @@ exports.createContainerDriver = (t, e) => {
503
503
  $snapshot: () => [ $.slice(), s ]
504
504
  };
505
505
  }, exports.createMasonryLayout = (t, e, r = 0, s, l) => {
506
- let i = n(e, 1), f = i, u = r, a = l && l[1] || s || 40, $ = -1, p = s ? void 0 : /* @__PURE__ */ new Set, g = !s;
507
- const d = l && l[0], w = d ? m(d.slice(0, o(t, d.length)), n(0, t - d.length)) : m([], t), h = [], b = [], S = [], v = t => {
508
- const e = w[t];
509
- return -1 === e ? a : e;
510
- }, y = e => {
511
- if (e = o(e, t - 1), $ >= e) return;
506
+ let i = n(e, 1), f = l && l[1] || s || 40, u = -1, a = s ? void 0 : /* @__PURE__ */ new Set, $ = !s;
507
+ const p = l && l[0], g = p ? m(p.slice(0, o(t, p.length)), n(0, t - p.length)) : m([], t), d = [], w = [], h = [], b = t => {
508
+ const e = g[t];
509
+ return -1 === e ? f : e;
510
+ }, S = e => {
511
+ if (e = o(e, t - 1), u >= e) return;
512
512
  const s = [], l = [];
513
513
  for (let t = 0; t < i; t++) s.push(0), l.push(-1);
514
- for (let t = $, e = i; t >= 0 && e; t--) {
515
- const o = b[t];
516
- -1 === l[o] && (l[o] = t, s[o] = h[t] + v(t), e--);
514
+ for (let t = u, e = i; t >= 0 && e; t--) {
515
+ const o = w[t];
516
+ -1 === l[o] && (l[o] = t, s[o] = d[t] + b(t), e--);
517
517
  }
518
- for (;$ < e; ) {
519
- const t = ++$;
518
+ for (;u < e; ) {
519
+ const t = ++u;
520
520
  let e = 0, o = 1 / 0, c = 1 / 0;
521
521
  for (let t = 0; t < i; t++) {
522
522
  const n = s[t] + (l[t] >= 0 ? r : 0);
523
523
  (n < o || n === o && l[t] < c) && (e = t, o = n, c = l[t]);
524
524
  }
525
- h[t] = o, b[t] = e, s[e] = o + v(t), l[e] = t, S[t] = n(t ? S[t - 1] : 0, s[e]);
525
+ d[t] = o, w[t] = e, s[e] = o + b(t), l[e] = t, h[t] = n(t ? h[t - 1] : 0, s[e]);
526
526
  }
527
- }, I = e => e >= t ? k() : (y(e), h[e]), z = t => (y(t), S[t]), k = () => t ? z(t - 1) : 0, M = e => {
527
+ }, v = e => e >= t ? I() : (S(e), d[e]), y = t => (S(t), h[t]), I = () => t ? y(t - 1) : 0, z = e => {
528
528
  if (!t) return 0;
529
- const o = x(z, t, e);
530
- return z(o) <= e ? o + 1 : o;
529
+ const o = x(y, t, e);
530
+ return y(o) <= e ? o + 1 : o;
531
531
  };
532
532
  return {
533
533
  $getRange: (e, n) => {
534
- const r = x(I, t, n);
535
- return [ o(M(e), r), r ];
534
+ const r = x(v, t, n);
535
+ return [ o(z(e), r), r ];
536
536
  },
537
- $findIndex: e => x(I, t, e),
538
- $getItemOffset: I,
539
- $getItemSize: v,
540
- $isSizeEqual: (t, e = -1) => w[t] === e,
537
+ $getItemOffset: v,
538
+ $getItemSize: b,
539
+ $isSizeEqual: (t, e = -1) => g[t] === e,
541
540
  $resize: (e, n, s, l) => {
542
- let f = M(s);
543
- for (;f > 0 && !n(f - 1); ) f--;
544
- for (;f < t && n(f); ) f++;
545
- const u = I(f);
546
- for (const [t, n] of e) w[t] = n, p && p.add(t), $ = o(t - 1, $);
547
- let d = I(f) - u;
548
- if (p && l) {
541
+ let p = z(s);
542
+ for (;p > 0 && !n(p - 1); ) p--;
543
+ for (;p < t && n(p); ) p++;
544
+ const d = v(p);
545
+ for (const [t, n] of e) g[t] = n, a && a.add(t), u = o(t - 1, u);
546
+ let m = v(p) - d;
547
+ if (a && l) {
549
548
  const t = [];
550
549
  let e = 0;
551
- if (p.forEach(o => {
552
- const n = w[o];
550
+ if (a.forEach(o => {
551
+ const n = g[o];
553
552
  n > 0 && (t.push(n), e += n + r);
554
553
  }), e > l * i) {
555
554
  c(t);
556
- const e = t.length, o = e / 2 | 0, n = e % 2 == 0 ? (t[o - 1] + t[o]) / 2 : t[o], r = M(s + d), l = I(r);
557
- a = n, $ = -1, d += I(r) - l, p = void 0, g = !1;
555
+ const e = t.length, o = e / 2 | 0, n = e % 2 == 0 ? (t[o - 1] + t[o]) / 2 : t[o], r = z(s + m), l = v(r);
556
+ f = n, u = -1, m += v(r) - l, a = void 0, $ = !1;
558
557
  }
559
558
  }
560
- return d;
559
+ return m;
561
560
  },
562
- $getTotalSize: k,
561
+ $getTotalSize: I,
563
562
  $getLength: () => t,
564
563
  $setLength: e => {
565
564
  const n = e - t;
566
- return $ = o(e - 1, $), t = e, n > 0 ? m(w, n) : w.splice(n), 0;
567
- },
568
- $relayout: (t, e) => {
569
- if (f === i && u === r) return;
570
- const o = M(e), n = I(o);
571
- return i = f, r = u, $ = -1, p = s ? void 0 : /* @__PURE__ */ new Set, I(o) - n;
565
+ return u = o(e - 1, u), t = e, n > 0 ? m(g, n) : g.splice(n), 0;
572
566
  },
573
- $setOptions: (t, e = 0) => {
574
- f = n(t, 1), u = e;
567
+ $relayout: (t, e = 0, o) => {
568
+ if ((t = n(t, 1)) === i && e === r) return;
569
+ const l = z(o), c = v(l);
570
+ return i = t, r = e, u = -1, a = s ? void 0 : /* @__PURE__ */ new Set, v(l) - c;
575
571
  },
576
- $isEstimating: () => g,
577
- $snapshot: () => [ w.slice(), a ],
572
+ $isEstimating: () => $,
573
+ $snapshot: () => [ g.slice(), f ],
578
574
  $getLanes: () => i,
579
575
  $getGap: () => r,
580
- $getItemLane: t => (y(t), b[t])
576
+ $getItemLane: t => (S(t), w[t])
581
577
  };
582
- }, exports.createVirtualStore = ({$getRange: t, $findIndex: e, $getItemOffset: s, $getItemSize: l, $isSizeEqual: c, $getTotalSize: i, $getLength: f, $setLength: u, $isEstimating: a, $resize: $, $relayout: p}, g = 0) => {
583
- let m = !!g, x = 1, w = 0, h = 0, b = 0, S = 0, v = 0, y = 0, I = 0, z = 0, k = null, M = [ 0, m ? n(g - 1, 0) : -1 ], T = !1;
584
- const L = /* @__PURE__ */ new Set, R = () => b - h, O = () => R() + v + S, E = t => s(t) - v, _ = t => {
585
- if (2 === z) return !0;
586
- if (k && 1 === z) return t < k[0];
587
- const e = R(), o = E(t), n = l(t);
588
- return 1 !== I && 0 === z ? o + n <= e : o < e && o + n < e + w;
589
- }, q = t => {
590
- t && (d() && 0 !== I || k && 1 === z ? v += t : S += t);
578
+ }, exports.createVirtualStore = ({$getRange: t, $getItemOffset: e, $getItemSize: s, $isSizeEqual: l, $getTotalSize: c, $getLength: i, $setLength: f, $isEstimating: u, $resize: a}, $ = 0) => {
579
+ let p = !!$, g = 1, m = 0, x = 0, w = 0, h = 0, b = 0, S = 0, v = 0, y = 0, I = null, z = [ 0, p ? n($ - 1, 0) : -1 ], k = !1;
580
+ const M = /* @__PURE__ */ new Set, T = () => w - x, L = () => T() + b + h, R = t => e(t) - b, O = t => {
581
+ if (2 === y) return !0;
582
+ if (I && 1 === y) return t < I[0];
583
+ const e = T(), o = R(t), n = s(t);
584
+ return 1 !== v && 0 === y ? o + n <= e : o < e && o + n < e + m;
585
+ }, E = t => {
586
+ t && (d() && 0 !== v || I && 1 === y ? b += t : h += t);
591
587
  };
592
588
  return {
593
589
  $dispose: () => {
594
- L.clear();
590
+ M.clear();
595
591
  },
596
- $getStateVersion: () => x,
592
+ $getStateVersion: () => g,
597
593
  $getRange: (e = 200) => {
598
- if (!T || m) return M;
594
+ if (!k || p) return z;
599
595
  let r, s;
600
- if (y) [r, s] = M; else {
601
- let l = n(0, O()), c = l + w;
602
- a() || (e = n(0, e), 1 !== I && (l -= e), 2 !== I && (c += e)), [r, s] = M = t(n(0, l), n(0, c)),
603
- k && (r = o(r, k[0]), s = n(s, k[1]));
596
+ if (S) [r, s] = z; else {
597
+ let l = n(0, L()), c = l + m;
598
+ u() || (e = n(0, e), 1 !== v && (l -= e), 2 !== v && (c += e)), [r, s] = z = t(n(0, l), n(0, c)),
599
+ I && (r = o(r, I[0]), s = n(s, I[1]));
604
600
  }
605
- return [ n(r, 0), o(s, f() - 1) ];
601
+ return [ n(r, 0), o(s, i() - 1) ];
606
602
  },
607
- $findItemIndex: t => e(t - h),
608
- $isUnmeasuredItem: c,
609
- $getItemOffset: E,
610
- $getItemSize: l,
611
- $getItemsLength: f,
612
- $getScrollOffset: () => b,
613
- $isScrolling: () => 0 !== I,
614
- $getViewportSize: () => w,
615
- $getStartSpacerSize: () => h,
616
- $getTotalSize: i,
617
- $: () => (y = S, S = 0, [ y, 2 === z ]),
603
+ $isUnmeasuredItem: l,
604
+ $getItemOffset: R,
605
+ $getItemSize: s,
606
+ $getItemsLength: i,
607
+ $getScrollOffset: () => w,
608
+ $getVisibleOffset: L,
609
+ $isScrolling: () => 0 !== v,
610
+ $getViewportSize: () => m,
611
+ $getStartSpacerSize: () => x,
612
+ $getTotalSize: c,
613
+ $: () => (S = h, h = 0, [ S, 2 === y ]),
618
614
  $subscribe: (t, e) => {
619
615
  const o = [ t, e ];
620
- return L.add(o), () => {
621
- L.delete(o);
616
+ return M.add(o), () => {
617
+ M.delete(o);
622
618
  };
623
619
  },
624
620
  $update: (e, o) => {
625
- let n, s, l = 0;
621
+ let n, s, i = 0;
626
622
  switch (e) {
627
623
  case 1:
628
624
  {
629
- if (o === b && 0 === z) break;
630
- const t = y;
631
- y = 0;
632
- const e = o - b, n = r(e);
633
- t && n < r(t) + 1 || 0 !== z || (I = e < 0 ? 2 : 1), m && (m = !1), b = o, l = 4;
634
- const c = R();
635
- c >= -w && c <= i() && (l += 1, s = n > w);
625
+ if (o === w && 0 === y) break;
626
+ const t = S;
627
+ S = 0;
628
+ const e = o - w, n = r(e);
629
+ t && n < r(t) + 1 || 0 !== y || (v = e < 0 ? 2 : 1), p && (p = !1), w = o, i = 4;
630
+ const l = T();
631
+ l >= -m && l <= c() && (i += 1, s = n > m);
636
632
  break;
637
633
  }
638
634
 
639
635
  case 2:
640
- l = 8, 0 !== I && (n = !0, l += 1), I = 0, z = 0, k = null;
636
+ i = 8, 0 !== v && (n = !0, i += 1), v = 0, y = 0, I = null;
641
637
  break;
642
638
 
643
639
  case 3:
644
640
  {
645
- const t = o.filter(([t, e]) => !c(t, e));
641
+ const t = o.filter(([t, e]) => !l(t, e));
646
642
  if (!t.length) break;
647
- q($(t, _, O(), w)), l = 3, s = !0;
643
+ E(a(t, O, L(), m)), i = 3, s = !0;
648
644
  break;
649
645
  }
650
646
 
651
647
  case 4:
652
- w !== o && (w || (T = s = !0), w = o, l = 3);
648
+ m !== o && (m || (k = s = !0), m = o, i = 3);
653
649
  break;
654
650
 
655
651
  case 5:
656
- o[1] ? (q(u(o[0], !0)), z = 2, l = 1) : (u(o[0]), l = 1);
652
+ o[1] ? (E(f(o[0], !0)), y = 2, i = 1) : (f(o[0]), i = 1);
657
653
  break;
658
654
 
659
655
  case 6:
660
- h = o;
656
+ x = o;
661
657
  break;
662
658
 
663
659
  case 7:
664
- z = 1;
660
+ y = 1;
665
661
  break;
666
662
 
667
663
  case 9:
668
- {
669
- const t = p(o, O());
670
- null != t && (q(t), l = 3);
671
- break;
672
- }
664
+ null != o && (E(o), i = 3);
665
+ break;
673
666
 
674
667
  case 8:
675
- k = t(o, o + w), l = 1;
668
+ I = t(o, o + m), i = 1;
676
669
  }
677
- l && (x = 1 + (2147483647 & x), n && v && (S += v, v = 0), L.forEach(([t, e]) => {
678
- l & t && e(s);
670
+ i && (g = 1 + (2147483647 & g), n && b && (h += b, b = 0), M.forEach(([t, e]) => {
671
+ i & t && e(s);
679
672
  }));
680
673
  }
681
674
  };