virtua 0.53.0 → 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.
- package/lib/angular/VGrid.d.ts +5 -1
- package/lib/angular/VList.d.ts +5 -1
- package/lib/angular/VMasonry.d.ts +10 -1
- package/lib/angular/Virtualizer.d.ts +5 -1
- package/lib/angular/WindowVirtualizer.d.ts +5 -1
- package/lib/angular/index.js +410 -376
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +101 -108
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.js +193 -200
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +423 -407
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +436 -421
- package/lib/index.js.map +1 -1
- package/lib/react/VGrid.d.ts +4 -0
- package/lib/react/VList.d.ts +1 -1
- package/lib/react/VMasonry.d.ts +8 -0
- package/lib/react/Virtualizer.d.ts +4 -0
- package/lib/react/WindowVirtualizer.d.ts +4 -0
- package/lib/react/types.d.ts +1 -1
- package/lib/solid/VGrid.d.ts +4 -0
- package/lib/solid/VList.d.ts +1 -1
- package/lib/solid/VMasonry.d.ts +8 -0
- package/lib/solid/Virtualizer.d.ts +4 -0
- package/lib/solid/WindowVirtualizer.d.ts +4 -0
- package/lib/solid/index.cjs +453 -437
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +415 -399
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +55 -25
- package/lib/solid/index.jsx.map +1 -1
- package/lib/solid/types.d.ts +1 -1
- package/lib/svelte/VGrid.svelte +26 -6
- package/lib/svelte/VGrid.type.d.ts +4 -0
- package/lib/svelte/VList.svelte +2 -0
- package/lib/svelte/VList.type.d.ts +1 -1
- package/lib/svelte/VMasonry.svelte +28 -7
- package/lib/svelte/VMasonry.type.d.ts +8 -0
- package/lib/svelte/Virtualizer.svelte +9 -2
- package/lib/svelte/Virtualizer.type.d.ts +4 -0
- package/lib/svelte/WindowVirtualizer.svelte +9 -2
- package/lib/svelte/WindowVirtualizer.type.d.ts +4 -0
- package/lib/svelte/types.d.ts +1 -1
- package/lib/vue/VGrid.d.ts +4 -0
- package/lib/vue/VList.d.ts +1 -1
- package/lib/vue/VMasonry.d.ts +8 -0
- package/lib/vue/Virtualizer.d.ts +4 -0
- package/lib/vue/WindowVirtualizer.d.ts +4 -0
- package/lib/vue/index.cjs +625 -608
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +605 -588
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
package/lib/core/index.cjs
CHANGED
|
@@ -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.
|
|
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),
|
|
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 =
|
|
368
|
-
for (let r = A.indexOf(t.rowIndex); 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 <
|
|
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
|
|
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 <
|
|
393
|
-
const 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,
|
|
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 =
|
|
507
|
-
const
|
|
508
|
-
const e =
|
|
509
|
-
return -1 === e ?
|
|
510
|
-
},
|
|
511
|
-
if (e = o(e, t - 1),
|
|
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 =
|
|
515
|
-
const o =
|
|
516
|
-
-1 === l[o] && (l[o] = t, s[o] =
|
|
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 (
|
|
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
|
-
|
|
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
|
-
},
|
|
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(
|
|
530
|
-
return
|
|
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(
|
|
535
|
-
return [ o(
|
|
534
|
+
const r = x(v, t, n);
|
|
535
|
+
return [ o(z(e), r), r ];
|
|
536
536
|
},
|
|
537
|
-
$
|
|
538
|
-
$
|
|
539
|
-
$
|
|
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
|
|
543
|
-
for (;
|
|
544
|
-
for (;
|
|
545
|
-
const
|
|
546
|
-
for (const [t, n] of e)
|
|
547
|
-
let
|
|
548
|
-
if (
|
|
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 (
|
|
552
|
-
const n =
|
|
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 =
|
|
557
|
-
|
|
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
|
|
559
|
+
return m;
|
|
561
560
|
},
|
|
562
|
-
$getTotalSize:
|
|
561
|
+
$getTotalSize: I,
|
|
563
562
|
$getLength: () => t,
|
|
564
563
|
$setLength: e => {
|
|
565
564
|
const n = e - t;
|
|
566
|
-
return
|
|
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
|
-
$
|
|
574
|
-
|
|
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: () =>
|
|
577
|
-
$snapshot: () => [
|
|
572
|
+
$isEstimating: () => $,
|
|
573
|
+
$snapshot: () => [ g.slice(), f ],
|
|
578
574
|
$getLanes: () => i,
|
|
579
575
|
$getGap: () => r,
|
|
580
|
-
$getItemLane: t => (
|
|
576
|
+
$getItemLane: t => (S(t), w[t])
|
|
581
577
|
};
|
|
582
|
-
}, exports.createVirtualStore = ({$getRange: t, $
|
|
583
|
-
let
|
|
584
|
-
const
|
|
585
|
-
if (2 ===
|
|
586
|
-
if (
|
|
587
|
-
const e =
|
|
588
|
-
return 1 !==
|
|
589
|
-
},
|
|
590
|
-
t && (d() && 0 !==
|
|
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
|
-
|
|
590
|
+
M.clear();
|
|
595
591
|
},
|
|
596
|
-
$getStateVersion: () =>
|
|
592
|
+
$getStateVersion: () => g,
|
|
597
593
|
$getRange: (e = 200) => {
|
|
598
|
-
if (!
|
|
594
|
+
if (!k || p) return z;
|
|
599
595
|
let r, s;
|
|
600
|
-
if (
|
|
601
|
-
let l = n(0,
|
|
602
|
-
|
|
603
|
-
|
|
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,
|
|
601
|
+
return [ n(r, 0), o(s, i() - 1) ];
|
|
606
602
|
},
|
|
607
|
-
$
|
|
608
|
-
$
|
|
609
|
-
$
|
|
610
|
-
$
|
|
611
|
-
$
|
|
612
|
-
$
|
|
613
|
-
$isScrolling: () => 0 !==
|
|
614
|
-
$getViewportSize: () =>
|
|
615
|
-
$getStartSpacerSize: () =>
|
|
616
|
-
$getTotalSize:
|
|
617
|
-
$: () => (
|
|
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
|
|
621
|
-
|
|
616
|
+
return M.add(o), () => {
|
|
617
|
+
M.delete(o);
|
|
622
618
|
};
|
|
623
619
|
},
|
|
624
620
|
$update: (e, o) => {
|
|
625
|
-
let n, s,
|
|
621
|
+
let n, s, i = 0;
|
|
626
622
|
switch (e) {
|
|
627
623
|
case 1:
|
|
628
624
|
{
|
|
629
|
-
if (o ===
|
|
630
|
-
const t =
|
|
631
|
-
|
|
632
|
-
const e = o -
|
|
633
|
-
t && n < r(t) + 1 || 0 !==
|
|
634
|
-
const
|
|
635
|
-
|
|
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
|
-
|
|
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]) => !
|
|
641
|
+
const t = o.filter(([t, e]) => !l(t, e));
|
|
646
642
|
if (!t.length) break;
|
|
647
|
-
|
|
643
|
+
E(a(t, O, L(), m)), i = 3, s = !0;
|
|
648
644
|
break;
|
|
649
645
|
}
|
|
650
646
|
|
|
651
647
|
case 4:
|
|
652
|
-
|
|
648
|
+
m !== o && (m || (k = s = !0), m = o, i = 3);
|
|
653
649
|
break;
|
|
654
650
|
|
|
655
651
|
case 5:
|
|
656
|
-
o[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
|
-
|
|
656
|
+
x = o;
|
|
661
657
|
break;
|
|
662
658
|
|
|
663
659
|
case 7:
|
|
664
|
-
|
|
660
|
+
y = 1;
|
|
665
661
|
break;
|
|
666
662
|
|
|
667
663
|
case 9:
|
|
668
|
-
|
|
669
|
-
|
|
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
|
-
|
|
668
|
+
I = t(o, o + m), i = 1;
|
|
676
669
|
}
|
|
677
|
-
|
|
678
|
-
|
|
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
|
};
|