virtua 0.51.0 → 0.51.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/README.md +4 -4
- package/lib/angular/index.js +214 -235
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +232 -271
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +272 -311
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +358 -397
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +366 -405
- package/lib/index.js.map +1 -1
- package/lib/solid/index.cjs +274 -295
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +269 -290
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +137 -206
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/Virtualizer.svelte +11 -2
- package/lib/svelte/WindowVirtualizer.svelte +11 -2
- package/lib/svelte/utils.d.ts +2 -0
- package/lib/svelte/utils.js +4 -1
- package/lib/svelte/utils.js.map +1 -1
- package/lib/vue/index.cjs +337 -378
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +309 -349
- package/lib/vue/index.js.map +1 -1
- package/package.json +2 -2
package/lib/angular/index.js
CHANGED
|
@@ -4,20 +4,18 @@ import { ApplicationRef as t, ChangeDetectionStrategy as i, DestroyRef as s, Ele
|
|
|
4
4
|
|
|
5
5
|
import { NgTemplateOutlet as y } from "@angular/common";
|
|
6
6
|
|
|
7
|
-
var {min:
|
|
7
|
+
var v, {min: z, max: b, abs: N, floor: P} = Math, R = (e, t, i) => z(i, b(t, e)), I = e => [ ...e ].sort((e, t) => e - t), $ = setTimeout, q = clearTimeout, x = "function" == typeof queueMicrotask ? queueMicrotask : e => {
|
|
8
8
|
Promise.resolve().then(e);
|
|
9
|
-
},
|
|
9
|
+
}, k = () => {
|
|
10
10
|
let e;
|
|
11
11
|
return [ new Promise(t => {
|
|
12
12
|
e = t;
|
|
13
13
|
}), e ];
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const k = /* @__PURE__ */ new Set, F = () => g - d, O = () => F() + y + S, T = e => i(e) - y, C = e => {
|
|
20
|
-
e && (w() && 0 !== P || I && 1 === R ? y += e : S += e);
|
|
14
|
+
}, F = e => e.ownerDocument, w = e => e.defaultView, O = () => (null == v && (v = /iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0),
|
|
15
|
+
v), T = ({$getRange: e, $findIndex: t, $getItemOffset: i, $getItemSize: s, $setItemSize: n, $isSizeEqual: r, $getTotalSize: o, $getLength: a, $setLength: l, $estimateDefaultSize: c}, u = 0) => {
|
|
16
|
+
let m = !!c, h = !!u, p = 1, f = 0, d = 0, g = 0, S = 0, y = 0, v = 0, P = 0, R = 0, I = null, $ = [ 0, h ? b(u - 1, 0) : -1 ], q = 0, x = !1;
|
|
17
|
+
const k = /* @__PURE__ */ new Set, F = () => g - d, w = () => F() + y + S, T = e => i(e) - y, C = e => {
|
|
18
|
+
e && (O() && 0 !== P || I && 1 === R ? y += e : S += e);
|
|
21
19
|
};
|
|
22
20
|
return {
|
|
23
21
|
$dispose: () => {
|
|
@@ -27,12 +25,12 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
27
25
|
$getRange: (t = 200) => {
|
|
28
26
|
if (!x || h) return $;
|
|
29
27
|
let i, s;
|
|
30
|
-
if (
|
|
31
|
-
let n =
|
|
32
|
-
m || (t =
|
|
33
|
-
I && (i =
|
|
28
|
+
if (v) [i, s] = $; else {
|
|
29
|
+
let n = b(0, w()), r = n + f;
|
|
30
|
+
m || (t = b(0, t), 1 !== P && (n -= t), 2 !== P && (r += t)), [i, s] = $ = e(b(0, n), b(0, r)),
|
|
31
|
+
I && (i = z(i, I[0]), s = b(s, I[1]));
|
|
34
32
|
}
|
|
35
|
-
return [
|
|
33
|
+
return [ b(i, 0), z(s, a() - 1) ];
|
|
36
34
|
},
|
|
37
35
|
$findItemIndex: e => t(e - d),
|
|
38
36
|
$isUnmeasuredItem: r,
|
|
@@ -44,7 +42,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
44
42
|
$getViewportSize: () => f,
|
|
45
43
|
$getStartSpacerSize: () => d,
|
|
46
44
|
$getTotalSize: o,
|
|
47
|
-
t: () => (
|
|
45
|
+
t: () => (v = S, S = 0, [ v, 2 === R ]),
|
|
48
46
|
$subscribe: (e, t) => {
|
|
49
47
|
const i = [ e, t ];
|
|
50
48
|
return k.add(i), () => {
|
|
@@ -52,22 +50,22 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
52
50
|
};
|
|
53
51
|
},
|
|
54
52
|
$update: (i, a) => {
|
|
55
|
-
let u,
|
|
53
|
+
let u, z, b = 0;
|
|
56
54
|
switch (i) {
|
|
57
55
|
case 1:
|
|
58
56
|
{
|
|
59
57
|
if (a === g && 0 === R) break;
|
|
60
|
-
const e =
|
|
61
|
-
|
|
62
|
-
const t = a - g, i =
|
|
63
|
-
e && i <
|
|
58
|
+
const e = v;
|
|
59
|
+
v = 0;
|
|
60
|
+
const t = a - g, i = N(t);
|
|
61
|
+
e && i < N(e) + 1 || 0 !== R || (P = t < 0 ? 2 : 1), h && (h = !1), g = a, b = 4;
|
|
64
62
|
const s = F();
|
|
65
|
-
s >= -f && s <= o() && (
|
|
63
|
+
s >= -f && s <= o() && (b += 1, z = i > f);
|
|
66
64
|
break;
|
|
67
65
|
}
|
|
68
66
|
|
|
69
67
|
case 2:
|
|
70
|
-
|
|
68
|
+
b = 8, 0 !== P && (u = !0, b += 1), P = 0, R = 0, I = null;
|
|
71
69
|
break;
|
|
72
70
|
|
|
73
71
|
case 3:
|
|
@@ -86,16 +84,16 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
86
84
|
const e = s(t), r = n(t, i);
|
|
87
85
|
m && (q += r ? i : i - e);
|
|
88
86
|
}
|
|
89
|
-
m && f && q > f && (C(c(t(
|
|
87
|
+
m && f && q > f && (C(c(t(w()))), m = !1), b = 3, z = !0;
|
|
90
88
|
break;
|
|
91
89
|
}
|
|
92
90
|
|
|
93
91
|
case 4:
|
|
94
|
-
f !== a && (f || (x =
|
|
92
|
+
f !== a && (f || (x = z = !0), f = a, b = 3);
|
|
95
93
|
break;
|
|
96
94
|
|
|
97
95
|
case 5:
|
|
98
|
-
a[1] ? (C(l(a[0], !0)), R = 2,
|
|
96
|
+
a[1] ? (C(l(a[0], !0)), R = 2, b = 1) : (l(a[0]), b = 1);
|
|
99
97
|
break;
|
|
100
98
|
|
|
101
99
|
case 6:
|
|
@@ -107,27 +105,27 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
107
105
|
break;
|
|
108
106
|
|
|
109
107
|
case 8:
|
|
110
|
-
I = e(a, a + f),
|
|
108
|
+
I = e(a, a + f), b = 1;
|
|
111
109
|
}
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
b && (p = 1 + (2147483647 & p), u && y && (S += y, y = 0), k.forEach(([e, t]) => {
|
|
111
|
+
b & e && t(z);
|
|
114
112
|
}));
|
|
115
113
|
}
|
|
116
114
|
};
|
|
117
|
-
},
|
|
115
|
+
}, C = (e, t, i, s = 0, n = t - 1) => {
|
|
118
116
|
let r = s;
|
|
119
117
|
for (;s <= n; ) {
|
|
120
|
-
const t =
|
|
118
|
+
const t = P((s + n) / 2);
|
|
121
119
|
e(t) <= i ? (r = t, s = t + 1) : n = t - 1;
|
|
122
120
|
}
|
|
123
|
-
return
|
|
124
|
-
},
|
|
121
|
+
return R(r, 0, t - 1);
|
|
122
|
+
}, M = (e, t, i) => {
|
|
125
123
|
const s = i ? "unshift" : "push";
|
|
126
124
|
for (let i = 0; i < t; i++) e[s](-1);
|
|
127
125
|
return e;
|
|
128
|
-
},
|
|
126
|
+
}, _ = (e, t, i) => {
|
|
129
127
|
let s = i && i[1] || t || 40, n = -1, r = 0;
|
|
130
|
-
const o = i && i[0], a = o ?
|
|
128
|
+
const o = i && i[0], a = o ? M(o.slice(0, z(e, o.length)), b(0, e - o.length)) : M([], e), l = M([], e + 1), c = e => {
|
|
131
129
|
const t = a[e];
|
|
132
130
|
return -1 === t ? s : t;
|
|
133
131
|
}, u = t => {
|
|
@@ -141,22 +139,22 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
141
139
|
return {
|
|
142
140
|
$getRange: (t, i) => {
|
|
143
141
|
let s, n;
|
|
144
|
-
return r =
|
|
145
|
-
n =
|
|
142
|
+
return r = z(r, e - 1), u(r) <= t ? (n = C(u, e, i, r), s = C(u, e, t, r, n)) : (s = C(u, e, t, void 0, r),
|
|
143
|
+
n = C(u, e, i, s)), r = s, [ s, n ];
|
|
146
144
|
},
|
|
147
|
-
$findIndex: t =>
|
|
145
|
+
$findIndex: t => C(u, e, t),
|
|
148
146
|
$getItemOffset: u,
|
|
149
147
|
$getItemSize: c,
|
|
150
148
|
$setItemSize: (e, t) => {
|
|
151
149
|
const i = -1 === a[e];
|
|
152
|
-
return a[e] = t, n =
|
|
150
|
+
return a[e] = t, n = z(e, n), i;
|
|
153
151
|
},
|
|
154
152
|
$isSizeEqual: (e, t = -1) => a[e] === t,
|
|
155
153
|
$getTotalSize: () => u(e),
|
|
156
154
|
$getLength: () => e,
|
|
157
155
|
$setLength: (t, i) => {
|
|
158
156
|
const r = t - e;
|
|
159
|
-
return n = i ? -1 :
|
|
157
|
+
return n = i ? -1 : z(t - 1, n), e = t, r > 0 ? (M(l, r), M(a, r, i), s * r) : (l.splice(r),
|
|
160
158
|
(i ? a.splice(0, -r) : a.splice(r)).reduce((e, t) => e - (-1 === t ? s : t), 0));
|
|
161
159
|
},
|
|
162
160
|
$estimateDefaultSize: t ? void 0 : e => {
|
|
@@ -165,16 +163,16 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
165
163
|
a.forEach((s, n) => {
|
|
166
164
|
-1 !== s && (s && i.push(s), n < e && t++);
|
|
167
165
|
}), n = -1;
|
|
168
|
-
const r =
|
|
169
|
-
return ((s = c) - u) *
|
|
166
|
+
const r = I(i), o = r.length, l = o / 2 | 0, c = o % 2 == 0 ? (r[l - 1] + r[l]) / 2 : r[l], u = s;
|
|
167
|
+
return ((s = c) - u) * b(e - t, 0);
|
|
170
168
|
},
|
|
171
169
|
$snapshot: () => [ a.slice(), s ]
|
|
172
170
|
};
|
|
173
|
-
},
|
|
171
|
+
}, K = e => {
|
|
174
172
|
let t;
|
|
175
173
|
return {
|
|
176
174
|
i(i) {
|
|
177
|
-
(t || (t = new (F(
|
|
175
|
+
(t || (t = new (w(F(i)).ResizeObserver)(e))).observe(i);
|
|
178
176
|
},
|
|
179
177
|
o(e) {
|
|
180
178
|
t.unobserve(e);
|
|
@@ -183,73 +181,79 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
183
181
|
t && t.disconnect();
|
|
184
182
|
}
|
|
185
183
|
};
|
|
186
|
-
},
|
|
187
|
-
let
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
184
|
+
}, V = (e, t, i, s, n, r, o) => {
|
|
185
|
+
let a, l, c = 0, u = !1, m = !1, h = !1, p = !1;
|
|
186
|
+
const f = Date.now, d = s ? "scrollLeft" : "scrollTop", g = s ? "left" : "top", S = e => n ? -e : e, y = () => S(i[d]), v = (e, t) => {
|
|
187
|
+
i.scrollTo({
|
|
188
|
+
[g]: S(e),
|
|
189
|
+
behavior: t ? "smooth" : "instant"
|
|
190
|
+
});
|
|
191
|
+
}, z = () => {
|
|
192
|
+
if (u || m) return u = !1, void b();
|
|
193
|
+
h = !1, e.$update(2);
|
|
194
|
+
}, b = () => {
|
|
195
|
+
q(l), l = $(z, 150);
|
|
196
|
+
}, N = () => {
|
|
197
|
+
c = f(), h && (p = !0), o && e.$update(6, o()), e.$update(1, y()), b();
|
|
198
|
+
}, P = t => {
|
|
199
|
+
if (u || !e.$isScrolling() || t.ctrlKey) return;
|
|
200
|
+
const i = f() - c;
|
|
201
|
+
150 > i && 50 < i && (s ? t.deltaX : t.deltaY) && (u = !0);
|
|
202
|
+
}, R = () => {
|
|
203
|
+
m = !0, h = p = !1;
|
|
204
|
+
}, I = () => {
|
|
205
|
+
m = !1, O() && (h = !0);
|
|
203
206
|
};
|
|
204
|
-
return t.addEventListener("scroll",
|
|
207
|
+
return t.addEventListener("scroll", N), t.addEventListener("wheel", P, {
|
|
205
208
|
passive: !0
|
|
206
|
-
}), t.addEventListener("touchstart",
|
|
209
|
+
}), t.addEventListener("touchstart", R, {
|
|
207
210
|
passive: !0
|
|
208
|
-
}), t.addEventListener("touchend",
|
|
211
|
+
}), t.addEventListener("touchend", I, {
|
|
209
212
|
passive: !0
|
|
210
213
|
}), {
|
|
211
214
|
l: () => {
|
|
212
|
-
t.removeEventListener("scroll",
|
|
213
|
-
t.removeEventListener("touchend",
|
|
215
|
+
t.removeEventListener("scroll", N), t.removeEventListener("wheel", P), t.removeEventListener("touchstart", R),
|
|
216
|
+
t.removeEventListener("touchend", I), q(l);
|
|
214
217
|
},
|
|
215
218
|
u: () => {
|
|
216
|
-
const [t,
|
|
217
|
-
|
|
219
|
+
const [t, s] = e.t();
|
|
220
|
+
if (!t) return;
|
|
221
|
+
p && r && r(), p = !1;
|
|
222
|
+
const n = e.$getScrollOffset() + t;
|
|
223
|
+
n <= 0 || n >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? v(n) : i.scrollBy({
|
|
224
|
+
[g]: S(t),
|
|
225
|
+
behavior: "instant"
|
|
226
|
+
}), s && (a && a(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, y()));
|
|
227
|
+
},
|
|
228
|
+
m: (t, i) => {
|
|
229
|
+
let s, n, r;
|
|
230
|
+
a && a();
|
|
231
|
+
const o = a = () => {
|
|
232
|
+
s = !0, q(n), r && r();
|
|
233
|
+
}, l = () => {
|
|
234
|
+
if (!s) {
|
|
235
|
+
if (e.$getViewportSize() && (q(n), n = $(o, 150)), i) {
|
|
236
|
+
for (let [t, i] = e.$getRange(0); t <= i; t++) if (e.$isUnmeasuredItem(t)) return;
|
|
237
|
+
o();
|
|
238
|
+
}
|
|
239
|
+
e.$update(7), v(t(), i);
|
|
240
|
+
}
|
|
241
|
+
}, c = () => {
|
|
242
|
+
if (s) return;
|
|
243
|
+
let t;
|
|
244
|
+
r = e.$subscribe(2, () => {
|
|
245
|
+
t || (t = !0, x(() => {
|
|
246
|
+
t = !1, l();
|
|
247
|
+
}));
|
|
248
|
+
}), l();
|
|
249
|
+
};
|
|
250
|
+
i ? (e.$update(8, t()), x(c)) : c();
|
|
218
251
|
}
|
|
219
252
|
};
|
|
220
|
-
}, E = (e, t
|
|
221
|
-
let s;
|
|
222
|
-
return [ async (n, r) => {
|
|
223
|
-
if (!await t()) return;
|
|
224
|
-
let o, a, l;
|
|
225
|
-
s && s();
|
|
226
|
-
const c = s = () => {
|
|
227
|
-
o = !0, $(a), l && l();
|
|
228
|
-
}, u = () => {
|
|
229
|
-
if (!o) {
|
|
230
|
-
if (e.$getViewportSize() && ($(a), a = I(c, 150)), r) {
|
|
231
|
-
for (let [t, i] = e.$getRange(0); t <= i; t++) if (e.$isUnmeasuredItem(t)) return;
|
|
232
|
-
c();
|
|
233
|
-
}
|
|
234
|
-
e.$update(7), i(n(), r);
|
|
235
|
-
}
|
|
236
|
-
}, m = () => {
|
|
237
|
-
if (o) return;
|
|
238
|
-
let t;
|
|
239
|
-
l = e.$subscribe(2, () => {
|
|
240
|
-
t || (t = !0, q(() => {
|
|
241
|
-
t = !1, u();
|
|
242
|
-
}));
|
|
243
|
-
}), u();
|
|
244
|
-
};
|
|
245
|
-
r ? (e.$update(8, n()), q(m)) : m();
|
|
246
|
-
}, () => {
|
|
247
|
-
s && s();
|
|
248
|
-
} ];
|
|
249
|
-
}, L = (e, t) => {
|
|
253
|
+
}, E = (e, t) => {
|
|
250
254
|
e.$scroll(() => t);
|
|
251
|
-
},
|
|
252
|
-
if (i =
|
|
255
|
+
}, L = (e, t, i, {align: s, smooth: n, offset: r = 0} = {}) => {
|
|
256
|
+
if (i = R(i, 0, t.$getItemsLength() - 1), "nearest" === s) {
|
|
253
257
|
const e = t.$getItemOffset(i), n = t.$getScrollOffset();
|
|
254
258
|
if (e < n) s = "start"; else {
|
|
255
259
|
if (!(e + t.$getItemSize(i) > n + t.$getViewportSize())) return;
|
|
@@ -257,7 +261,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
257
261
|
}
|
|
258
262
|
}
|
|
259
263
|
e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) - t.$getViewportSize() : "center" === s ? (t.$getItemSize(i) - t.$getViewportSize()) / 2 : 0), n);
|
|
260
|
-
},
|
|
264
|
+
}, D = class t {
|
|
261
265
|
index=p.required();
|
|
262
266
|
offset=p.required();
|
|
263
267
|
hide=p.required();
|
|
@@ -369,9 +373,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
369
373
|
},
|
|
370
374
|
ngImport: e
|
|
371
375
|
});
|
|
372
|
-
},
|
|
376
|
+
}, B = (e, t) => "_" + t, W = new r("virtua-item-template"), j = class i {
|
|
373
377
|
data=p.required();
|
|
374
|
-
getKey=p(
|
|
378
|
+
getKey=p(B);
|
|
375
379
|
itemProps=p();
|
|
376
380
|
bufferSize=p();
|
|
377
381
|
scrollRef=p();
|
|
@@ -387,31 +391,31 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
387
391
|
scroll=f();
|
|
388
392
|
scrollEnd=f();
|
|
389
393
|
contentTemplate=u(o);
|
|
390
|
-
|
|
394
|
+
h=h(W, {
|
|
391
395
|
optional: !0
|
|
392
396
|
});
|
|
393
|
-
template=c(() => this.
|
|
394
|
-
h;
|
|
397
|
+
template=c(() => this.h?.() ?? this.contentTemplate());
|
|
395
398
|
p;
|
|
399
|
+
S;
|
|
396
400
|
driver;
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
401
|
+
v=h(n).nativeElement;
|
|
402
|
+
N=h(t);
|
|
403
|
+
P=d(void 0);
|
|
400
404
|
isSSR=d(!1);
|
|
401
|
-
|
|
402
|
-
this.
|
|
403
|
-
const e = this.data().length, [t, i] = this.
|
|
405
|
+
R=c(() => {
|
|
406
|
+
this.P();
|
|
407
|
+
const e = this.data().length, [t, i] = this.p.$getRange(this.bufferSize()), s = this.keepMounted(), n = [];
|
|
404
408
|
if (s) {
|
|
405
409
|
const r = new Set(s);
|
|
406
410
|
for (let e = t; e <= i; e++) r.add(e);
|
|
407
|
-
for (const t of
|
|
411
|
+
for (const t of I([ ...r ])) t < e && n.push(t);
|
|
408
412
|
} else for (let s = t; s <= i; s++) s < e && n.push(s);
|
|
409
413
|
return n;
|
|
410
414
|
});
|
|
411
415
|
items=c(() => {
|
|
412
|
-
this.
|
|
413
|
-
const e = this.
|
|
414
|
-
return this.
|
|
416
|
+
this.P();
|
|
417
|
+
const e = this.p, t = this.data(), i = this.getKey(), s = this.itemProps();
|
|
418
|
+
return this.R().map(n => {
|
|
415
419
|
const r = t[n];
|
|
416
420
|
return {
|
|
417
421
|
key: i(r, n),
|
|
@@ -427,8 +431,8 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
427
431
|
});
|
|
428
432
|
});
|
|
429
433
|
containerStyle=c(() => {
|
|
430
|
-
this.
|
|
431
|
-
const e = this.horizontal(), t = this.
|
|
434
|
+
this.P();
|
|
435
|
+
const e = this.horizontal(), t = this.p.$getTotalSize();
|
|
432
436
|
return {
|
|
433
437
|
display: "block",
|
|
434
438
|
contain: "size style",
|
|
@@ -437,118 +441,105 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
437
441
|
position: "relative",
|
|
438
442
|
width: e ? t + "px" : "100%",
|
|
439
443
|
height: e ? "100%" : t + "px",
|
|
440
|
-
"pointer-events": this.
|
|
444
|
+
"pointer-events": this.p.$isScrolling() ? "none" : void 0
|
|
441
445
|
};
|
|
442
446
|
});
|
|
443
447
|
constructor() {
|
|
444
448
|
m(() => {
|
|
445
449
|
const e = this.data().length;
|
|
446
|
-
this.
|
|
450
|
+
this.p && e !== this.p.$getItemsLength() && this.p.$update(5, [ e, g(this.shift) ]);
|
|
447
451
|
}), m(() => {
|
|
448
452
|
const e = this.startMargin();
|
|
449
|
-
this.
|
|
453
|
+
this.p && e !== this.p.$getStartSpacerSize() && this.p.$update(6, e);
|
|
450
454
|
}), a({
|
|
451
455
|
read: () => {
|
|
452
|
-
this.isSSR.set(!1), this.driver.$observe(this.
|
|
456
|
+
this.isSSR.set(!1), this.driver.$observe(this.v, this.scrollRef());
|
|
453
457
|
}
|
|
454
458
|
}), l({
|
|
455
459
|
read: () => {
|
|
456
|
-
this.
|
|
460
|
+
this.P(), this.driver.$effect();
|
|
457
461
|
}
|
|
458
462
|
}), h(s).onDestroy(() => {
|
|
459
|
-
this.
|
|
463
|
+
this.p?.$dispose(), this.driver?.$dispose();
|
|
460
464
|
});
|
|
461
465
|
}
|
|
462
466
|
ngOnInit() {
|
|
463
467
|
const e = this.itemSize(), t = this.ssrCount();
|
|
464
468
|
this.isSSR.set(!!t);
|
|
465
|
-
const i = this.
|
|
469
|
+
const i = this.S = _(this.data().length, e, this.cacheProp()), s = this.p = T(i, t);
|
|
466
470
|
this.driver = ((e, t) => {
|
|
467
|
-
let i, s, n =
|
|
468
|
-
const
|
|
469
|
-
i.scrollTo({
|
|
470
|
-
[a]: K(e, r),
|
|
471
|
-
behavior: t ? "smooth" : "instant"
|
|
472
|
-
});
|
|
473
|
-
}), m = t ? "width" : "height", h = /* @__PURE__ */ new WeakMap, p = _(t => {
|
|
471
|
+
let i, s, n = k();
|
|
472
|
+
const r = t ? "width" : "height", o = /* @__PURE__ */ new WeakMap, a = K(t => {
|
|
474
473
|
const s = [];
|
|
475
|
-
for (const {target: n, contentRect:
|
|
476
|
-
const e =
|
|
477
|
-
null != e && s.push([ e, r
|
|
474
|
+
for (const {target: n, contentRect: a} of t) if (n.offsetParent) if (n === i) e.$update(4, a[r]); else {
|
|
475
|
+
const e = o.get(n);
|
|
476
|
+
null != e && s.push([ e, a[r] ]);
|
|
478
477
|
}
|
|
479
478
|
s.length && e.$update(3, s);
|
|
480
479
|
});
|
|
481
480
|
return {
|
|
482
|
-
$observe(
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
e
|
|
487
|
-
|
|
488
|
-
});
|
|
489
|
-
}
|
|
490
|
-
const n = e.$getScrollOffset() + t;
|
|
491
|
-
n <= 0 || n >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? m.scrollTo({
|
|
492
|
-
[a]: K(n, r),
|
|
493
|
-
behavior: "instant"
|
|
494
|
-
}) : m.scrollBy({
|
|
495
|
-
[a]: K(t, r),
|
|
496
|
-
behavior: "instant"
|
|
497
|
-
}), i && u();
|
|
481
|
+
$observe(r, o = r.parentElement) {
|
|
482
|
+
a.i(i = o), s = V(e, o, o, t, t && "rtl" === getComputedStyle(o).direction, () => {
|
|
483
|
+
const e = t ? "overflowX" : "overflowY", i = o.style, s = i[e];
|
|
484
|
+
i[e] = "hidden", $(() => {
|
|
485
|
+
i[e] = s;
|
|
486
|
+
});
|
|
498
487
|
}), n[1](!0);
|
|
499
488
|
},
|
|
500
489
|
$dispose() {
|
|
501
|
-
|
|
490
|
+
a.l(), s && s.l(), n[1](!1), n = k();
|
|
502
491
|
},
|
|
503
|
-
$observeItem: (e, t) => (
|
|
504
|
-
|
|
492
|
+
$observeItem: (e, t) => (o.set(e, t), a.i(e), () => {
|
|
493
|
+
o.delete(e), a.o(e);
|
|
505
494
|
}),
|
|
506
|
-
$scroll
|
|
495
|
+
async $scroll(e, t) {
|
|
496
|
+
await n[0] && s.m(e, t);
|
|
497
|
+
},
|
|
507
498
|
$effect() {
|
|
508
499
|
s && s.u();
|
|
509
500
|
},
|
|
510
501
|
$getBaseOffset: e.$getStartSpacerSize
|
|
511
502
|
};
|
|
512
503
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
513
|
-
this.
|
|
504
|
+
this.P.set(s.$getStateVersion()), e && this.N.tick();
|
|
514
505
|
}), s.$subscribe(4, () => {
|
|
515
506
|
this.scroll.emit(s.$getScrollOffset());
|
|
516
507
|
}), s.$subscribe(8, () => {
|
|
517
508
|
this.scrollEnd.emit();
|
|
518
|
-
}), this.
|
|
509
|
+
}), this.P.set(s.$getStateVersion());
|
|
519
510
|
}
|
|
520
511
|
get cache() {
|
|
521
|
-
return this.
|
|
512
|
+
return this.S.$snapshot();
|
|
522
513
|
}
|
|
523
514
|
get scrollOffset() {
|
|
524
|
-
return this.
|
|
515
|
+
return this.p.$getScrollOffset();
|
|
525
516
|
}
|
|
526
517
|
get scrollSize() {
|
|
527
|
-
return e = this.
|
|
518
|
+
return e = this.p, b(e.$getTotalSize(), e.$getViewportSize());
|
|
528
519
|
var e;
|
|
529
520
|
}
|
|
530
521
|
get viewportSize() {
|
|
531
|
-
return this.
|
|
522
|
+
return this.p.$getViewportSize();
|
|
532
523
|
}
|
|
533
524
|
findItemIndex(e) {
|
|
534
|
-
return this.
|
|
525
|
+
return this.p.$findItemIndex(e);
|
|
535
526
|
}
|
|
536
527
|
getItemOffset(e) {
|
|
537
|
-
return this.
|
|
528
|
+
return this.p.$getItemOffset(e);
|
|
538
529
|
}
|
|
539
530
|
getItemSize(e) {
|
|
540
|
-
return this.
|
|
531
|
+
return this.p.$getItemSize(e);
|
|
541
532
|
}
|
|
542
533
|
scrollToIndex(e, t) {
|
|
543
|
-
|
|
534
|
+
L(this.driver, this.p, e, t);
|
|
544
535
|
}
|
|
545
536
|
scrollTo(e) {
|
|
546
|
-
|
|
537
|
+
E(this.driver, e);
|
|
547
538
|
}
|
|
548
539
|
scrollBy(e) {
|
|
549
540
|
((e, t, i) => {
|
|
550
|
-
|
|
551
|
-
})(this.driver, this.
|
|
541
|
+
E(e, i + t.$getScrollOffset());
|
|
542
|
+
})(this.driver, this.p, e);
|
|
552
543
|
}
|
|
553
544
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
554
545
|
minVersion: "12.0.0",
|
|
@@ -672,7 +663,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
672
663
|
isInline: !0,
|
|
673
664
|
dependencies: [ {
|
|
674
665
|
kind: "directive",
|
|
675
|
-
type: e.forwardRef(() =>
|
|
666
|
+
type: e.forwardRef(() => D),
|
|
676
667
|
selector: "div[virtuaListItem]",
|
|
677
668
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
678
669
|
}, {
|
|
@@ -687,9 +678,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
687
678
|
|
|
688
679
|
i.OnPush;
|
|
689
680
|
|
|
690
|
-
var
|
|
681
|
+
var J = class t {
|
|
691
682
|
data=p.required();
|
|
692
|
-
getKey=p(
|
|
683
|
+
getKey=p(B);
|
|
693
684
|
itemProps=p();
|
|
694
685
|
bufferSize=p();
|
|
695
686
|
itemSize=p();
|
|
@@ -703,10 +694,10 @@ var Q = class t {
|
|
|
703
694
|
scroll=f();
|
|
704
695
|
scrollEnd=f();
|
|
705
696
|
template=u.required(o);
|
|
706
|
-
virtualizer=S.required(
|
|
707
|
-
|
|
697
|
+
virtualizer=S.required(j);
|
|
698
|
+
v=h(n).nativeElement;
|
|
708
699
|
ngOnInit() {
|
|
709
|
-
const e = this.horizontal(), t = this.
|
|
700
|
+
const e = this.horizontal(), t = this.v;
|
|
710
701
|
t.setAttribute("style", `display:${e ? "inline-block" : "block"};${e ? "overflow-x" : "overflow-y"}:auto;contain:strict;width:100%;height:100%;` + (t.getAttribute("style") || ""));
|
|
711
702
|
}
|
|
712
703
|
get cache() {
|
|
@@ -840,7 +831,7 @@ var Q = class t {
|
|
|
840
831
|
viewQueries: [ {
|
|
841
832
|
propertyName: "virtualizer",
|
|
842
833
|
first: !0,
|
|
843
|
-
predicate:
|
|
834
|
+
predicate: j,
|
|
844
835
|
emitDistinctChangesOnly: !1,
|
|
845
836
|
descendants: !0,
|
|
846
837
|
isSignal: !0
|
|
@@ -850,13 +841,13 @@ var Q = class t {
|
|
|
850
841
|
isInline: !0,
|
|
851
842
|
dependencies: [ {
|
|
852
843
|
kind: "directive",
|
|
853
|
-
type: e.forwardRef(() =>
|
|
844
|
+
type: e.forwardRef(() => j),
|
|
854
845
|
selector: "virtua-virtualizer",
|
|
855
846
|
inputs: [ "data", "getKey", "itemProps", "bufferSize", "scrollRef", "itemSize", "ssrCount", "shift", "horizontal", "keepMounted", "cache", "startMargin" ],
|
|
856
847
|
outputs: [ "scroll", "scrollEnd" ]
|
|
857
848
|
} ],
|
|
858
849
|
viewProviders: [ {
|
|
859
|
-
provide:
|
|
850
|
+
provide: W,
|
|
860
851
|
useFactory: () => h(t).template
|
|
861
852
|
} ],
|
|
862
853
|
changeDetection: e.ChangeDetectionStrategy.OnPush
|
|
@@ -865,9 +856,9 @@ var Q = class t {
|
|
|
865
856
|
|
|
866
857
|
i.OnPush;
|
|
867
858
|
|
|
868
|
-
var
|
|
859
|
+
var Q = class i {
|
|
869
860
|
data=p.required();
|
|
870
|
-
getKey=p(
|
|
861
|
+
getKey=p(B);
|
|
871
862
|
bufferSize=p();
|
|
872
863
|
itemSize=p();
|
|
873
864
|
ssrCount=p();
|
|
@@ -879,16 +870,16 @@ var U = class i {
|
|
|
879
870
|
scroll=f();
|
|
880
871
|
scrollEnd=f();
|
|
881
872
|
template=u.required(o);
|
|
882
|
-
h;
|
|
883
873
|
p;
|
|
874
|
+
S;
|
|
884
875
|
driver;
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
876
|
+
v=h(n).nativeElement;
|
|
877
|
+
N=h(t);
|
|
878
|
+
P=d(void 0);
|
|
888
879
|
isSSR=d(!1);
|
|
889
880
|
items=c(() => {
|
|
890
|
-
this.
|
|
891
|
-
const e = this.
|
|
881
|
+
this.P();
|
|
882
|
+
const e = this.p, t = this.data(), i = this.getKey(), [s, n] = e.$getRange(this.bufferSize()), r = [];
|
|
892
883
|
for (let o = s; o <= n && o < t.length; o++) {
|
|
893
884
|
const s = t[o];
|
|
894
885
|
r.push({
|
|
@@ -902,8 +893,8 @@ var U = class i {
|
|
|
902
893
|
return r;
|
|
903
894
|
});
|
|
904
895
|
containerStyle=c(() => {
|
|
905
|
-
this.
|
|
906
|
-
const e = this.horizontal(), t = this.
|
|
896
|
+
this.P();
|
|
897
|
+
const e = this.horizontal(), t = this.p.$getTotalSize();
|
|
907
898
|
return {
|
|
908
899
|
display: "block",
|
|
909
900
|
contain: "size style",
|
|
@@ -912,37 +903,32 @@ var U = class i {
|
|
|
912
903
|
position: "relative",
|
|
913
904
|
width: e ? t + "px" : "100%",
|
|
914
905
|
height: e ? "100%" : t + "px",
|
|
915
|
-
"pointer-events": this.
|
|
906
|
+
"pointer-events": this.p.$isScrolling() ? "none" : void 0
|
|
916
907
|
};
|
|
917
908
|
});
|
|
918
909
|
constructor() {
|
|
919
910
|
m(() => {
|
|
920
911
|
const e = this.data().length;
|
|
921
|
-
this.
|
|
912
|
+
this.p && e !== this.p.$getItemsLength() && this.p.$update(5, [ e, g(this.shift) ]);
|
|
922
913
|
}), a({
|
|
923
914
|
read: () => {
|
|
924
|
-
this.isSSR.set(!1), this.driver.$observe(this.
|
|
915
|
+
this.isSSR.set(!1), this.driver.$observe(this.v);
|
|
925
916
|
}
|
|
926
917
|
}), l({
|
|
927
918
|
read: () => {
|
|
928
|
-
this.
|
|
919
|
+
this.P(), this.driver.$effect();
|
|
929
920
|
}
|
|
930
921
|
}), h(s).onDestroy(() => {
|
|
931
|
-
this.
|
|
922
|
+
this.p?.$dispose(), this.driver?.$dispose();
|
|
932
923
|
});
|
|
933
924
|
}
|
|
934
925
|
ngOnInit() {
|
|
935
926
|
const e = this.itemSize(), t = this.ssrCount();
|
|
936
927
|
this.isSSR.set(!!t);
|
|
937
|
-
const i = this.
|
|
928
|
+
const i = this.S = _(this.data().length, e, this.cacheProp()), s = this.p = T(i, t);
|
|
938
929
|
this.driver = ((e, t) => {
|
|
939
|
-
let i, s, n, r, o, a =
|
|
940
|
-
const
|
|
941
|
-
i.scrollTo({
|
|
942
|
-
[u]: K(e, l),
|
|
943
|
-
behavior: t ? "smooth" : "instant"
|
|
944
|
-
});
|
|
945
|
-
}), p = t ? "width" : "height", f = /* @__PURE__ */ new WeakMap, d = _(t => {
|
|
930
|
+
let i, s, n, r, o, a = k();
|
|
931
|
+
const l = t ? "width" : "height", c = /* @__PURE__ */ new WeakMap, u = K(t => {
|
|
946
932
|
const s = [];
|
|
947
933
|
for (const {target: e, contentRect: n} of t) {
|
|
948
934
|
if (e === i) {
|
|
@@ -950,72 +936,65 @@ var U = class i {
|
|
|
950
936
|
continue;
|
|
951
937
|
}
|
|
952
938
|
if (!e.offsetParent) continue;
|
|
953
|
-
const t =
|
|
954
|
-
null != t && s.push([ t, n[
|
|
939
|
+
const t = c.get(e);
|
|
940
|
+
null != t && s.push([ t, n[l] ]);
|
|
955
941
|
}
|
|
956
942
|
s.length && e.$update(3, s);
|
|
957
|
-
})
|
|
958
|
-
const r = s ? "offsetLeft" : "offsetTop", o = n + (l ? t.clientWidth - e[r] - e.offsetWidth : e[r]), a = e.offsetParent;
|
|
959
|
-
return e !== i && a ? g(a, t, i, s, o) : o;
|
|
960
|
-
};
|
|
943
|
+
});
|
|
961
944
|
return {
|
|
962
|
-
$observe(
|
|
963
|
-
const
|
|
964
|
-
|
|
945
|
+
$observe(l) {
|
|
946
|
+
const c = F(l), m = w(c), h = i = c.scrollingElement, p = t && "rtl" === getComputedStyle(h).direction, f = (e, t, i, s, n = 0) => {
|
|
947
|
+
const r = s ? "offsetLeft" : "offsetTop", o = n + (p ? t.clientWidth - e[r] - e.offsetWidth : e[r]), a = e.offsetParent;
|
|
948
|
+
return e !== i && a ? f(a, t, i, s, o) : o;
|
|
949
|
+
}, d = r = () => f(l, h, c.body, t), g = o = () => {
|
|
950
|
+
e.$update(4, h[t ? "clientWidth" : "clientHeight"]);
|
|
965
951
|
};
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
},
|
|
969
|
-
const s = e.$getScrollOffset() + t;
|
|
970
|
-
s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? S.scrollTo({
|
|
971
|
-
[u]: K(s, l),
|
|
972
|
-
behavior: "instant"
|
|
973
|
-
}) : S.scrollBy({
|
|
974
|
-
[u]: K(t, l),
|
|
975
|
-
behavior: "instant"
|
|
976
|
-
}), i && h();
|
|
977
|
-
}, y), a[1](!0);
|
|
952
|
+
m.addEventListener("resize", g), u.i(h), n = () => {
|
|
953
|
+
m.removeEventListener("resize", g);
|
|
954
|
+
}, s = V(e, m, h, t, p, null, d), a[1](!0);
|
|
978
955
|
},
|
|
979
956
|
$dispose() {
|
|
980
|
-
n && n(),
|
|
957
|
+
n && n(), u.l(), s && s.l(), i = void 0, a[1](!1), a = k();
|
|
981
958
|
},
|
|
982
|
-
$observeItem: (e, t) => (
|
|
983
|
-
|
|
959
|
+
$observeItem: (e, t) => (c.set(e, t), u.i(e), () => {
|
|
960
|
+
c.delete(e), u.o(e);
|
|
984
961
|
}),
|
|
985
|
-
$scroll
|
|
962
|
+
async $scroll(e, t) {
|
|
963
|
+
await a[0] && s.m(e, t);
|
|
964
|
+
},
|
|
986
965
|
$effect() {
|
|
987
966
|
s && s.u();
|
|
988
967
|
},
|
|
989
968
|
$getBaseOffset: () => r()
|
|
990
969
|
};
|
|
991
970
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
992
|
-
this.
|
|
971
|
+
this.P.set(s.$getStateVersion()), e && this.N.tick();
|
|
993
972
|
}), s.$subscribe(4, () => {
|
|
994
973
|
this.scroll.emit();
|
|
995
974
|
}), s.$subscribe(8, () => {
|
|
996
975
|
this.scrollEnd.emit();
|
|
997
|
-
}), this.
|
|
976
|
+
}), this.P.set(s.$getStateVersion());
|
|
998
977
|
}
|
|
999
978
|
get cache() {
|
|
1000
|
-
return this.
|
|
979
|
+
return this.S.$snapshot();
|
|
1001
980
|
}
|
|
1002
981
|
get scrollOffset() {
|
|
1003
|
-
return this.
|
|
982
|
+
return this.p.$getScrollOffset();
|
|
1004
983
|
}
|
|
1005
984
|
get viewportSize() {
|
|
1006
|
-
return this.
|
|
985
|
+
return this.p.$getViewportSize();
|
|
1007
986
|
}
|
|
1008
987
|
findItemIndex(e) {
|
|
1009
|
-
return this.
|
|
988
|
+
return this.p.$findItemIndex(e);
|
|
1010
989
|
}
|
|
1011
990
|
getItemOffset(e) {
|
|
1012
|
-
return this.
|
|
991
|
+
return this.p.$getItemOffset(e);
|
|
1013
992
|
}
|
|
1014
993
|
getItemSize(e) {
|
|
1015
|
-
return this.
|
|
994
|
+
return this.p.$getItemSize(e);
|
|
1016
995
|
}
|
|
1017
996
|
scrollToIndex(e, t) {
|
|
1018
|
-
|
|
997
|
+
L(this.driver, this.p, e, t);
|
|
1019
998
|
}
|
|
1020
999
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
1021
1000
|
minVersion: "12.0.0",
|
|
@@ -1111,7 +1090,7 @@ var U = class i {
|
|
|
1111
1090
|
isInline: !0,
|
|
1112
1091
|
dependencies: [ {
|
|
1113
1092
|
kind: "directive",
|
|
1114
|
-
type: e.forwardRef(() =>
|
|
1093
|
+
type: e.forwardRef(() => D),
|
|
1115
1094
|
selector: "div[virtuaListItem]",
|
|
1116
1095
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
1117
1096
|
}, {
|
|
@@ -1126,5 +1105,5 @@ var U = class i {
|
|
|
1126
1105
|
|
|
1127
1106
|
i.OnPush;
|
|
1128
1107
|
|
|
1129
|
-
export {
|
|
1108
|
+
export { J as VList, j as Virtualizer, Q as WindowVirtualizer };
|
|
1130
1109
|
//# sourceMappingURL=index.js.map
|