virtua 0.50.5 → 0.51.0
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 +6 -1
- package/lib/angular/Virtualizer.d.ts +2 -2
- package/lib/angular/WindowVirtualizer.d.ts +2 -2
- package/lib/angular/index.js +226 -250
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +253 -271
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +244 -262
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +473 -491
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +442 -460
- package/lib/index.js.map +1 -1
- package/lib/react/VGrid.d.ts +3 -3
- package/lib/react/Virtualizer.d.ts +2 -2
- package/lib/react/WindowVirtualizer.d.ts +2 -2
- package/lib/solid/Virtualizer.d.ts +2 -2
- package/lib/solid/WindowVirtualizer.d.ts +2 -2
- package/lib/solid/index.cjs +261 -287
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +276 -300
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +149 -152
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/ListItem.svelte +1 -1
- package/lib/svelte/Virtualizer.svelte +1 -2
- package/lib/svelte/Virtualizer.type.d.ts +2 -2
- package/lib/svelte/WindowVirtualizer.svelte +1 -2
- package/lib/svelte/WindowVirtualizer.type.d.ts +2 -2
- package/lib/vue/Virtualizer.d.ts +2 -2
- package/lib/vue/WindowVirtualizer.d.ts +2 -2
- package/lib/vue/index.cjs +258 -287
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +260 -289
- package/lib/vue/index.js.map +1 -1
- package/package.json +2 -3
package/lib/angular/index.js
CHANGED
|
@@ -4,23 +4,20 @@ 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: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R = e => [ ...e ].sort((e, t) => e - t),
|
|
7
|
+
var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R = e => [ ...e ].sort((e, t) => e - t), I = setTimeout, $ = clearTimeout, q = "function" == typeof queueMicrotask ? queueMicrotask : e => {
|
|
8
8
|
Promise.resolve().then(e);
|
|
9
|
-
},
|
|
9
|
+
}, x = () => {
|
|
10
10
|
let e;
|
|
11
11
|
return [ new Promise(t => {
|
|
12
12
|
e = t;
|
|
13
13
|
}), e ];
|
|
14
|
-
},
|
|
14
|
+
}, k = e => e.ownerDocument, F = e => e.defaultView, w = /*#__PURE__*/ (e => {
|
|
15
15
|
let t;
|
|
16
16
|
return () => (e && (t = e(), e = void 0), t);
|
|
17
|
-
}
|
|
18
|
-
let m = !!c, h = !!u, p = 1, f = 0, d = 0, g = 0, S = 0, y = 0, N = 0, P = 0, R = 0,
|
|
19
|
-
const k = /* @__PURE__ */ new Set, F = () => g - d,
|
|
20
|
-
|
|
21
|
-
return t ? o() - n - s(e) : n;
|
|
22
|
-
}, C = e => {
|
|
23
|
-
e && (O() && 0 !== P || $ && 1 === R ? y += e : S += e);
|
|
17
|
+
})(() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0), O = ({$getRange: e, $findIndex: t, $getItemOffset: i, $getItemSize: s, $setItemSize: n, $isSizeEqual: r, $getTotalSize: o, $getLength: a, $setLength: l, $estimateDefaultSize: c}, u = 0) => {
|
|
18
|
+
let m = !!c, h = !!u, p = 1, f = 0, d = 0, g = 0, S = 0, y = 0, N = 0, P = 0, R = 0, I = null, $ = [ 0, h ? z(u - 1, 0) : -1 ], q = 0, x = !1;
|
|
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);
|
|
24
21
|
};
|
|
25
22
|
return {
|
|
26
23
|
$dispose: () => {
|
|
@@ -28,12 +25,12 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
28
25
|
},
|
|
29
26
|
$getStateVersion: () => p,
|
|
30
27
|
$getRange: (t = 200) => {
|
|
31
|
-
if (!x || h) return
|
|
28
|
+
if (!x || h) return $;
|
|
32
29
|
let i, s;
|
|
33
|
-
if (N) [i, s] =
|
|
34
|
-
let n = z(0,
|
|
35
|
-
m || (t = z(0, t), 1 !== P && (n -= t), 2 !== P && (r += t)), [i, s] =
|
|
36
|
-
|
|
30
|
+
if (N) [i, s] = $; else {
|
|
31
|
+
let n = z(0, O()), r = n + f;
|
|
32
|
+
m || (t = z(0, t), 1 !== P && (n -= t), 2 !== P && (r += t)), [i, s] = $ = e(z(0, n), z(0, r)),
|
|
33
|
+
I && (i = v(i, I[0]), s = z(s, I[1]));
|
|
37
34
|
}
|
|
38
35
|
return [ z(i, 0), v(s, a() - 1) ];
|
|
39
36
|
},
|
|
@@ -70,7 +67,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
70
67
|
}
|
|
71
68
|
|
|
72
69
|
case 2:
|
|
73
|
-
z = 8, 0 !== P && (u = !0, z += 1), P = 0, R = 0,
|
|
70
|
+
z = 8, 0 !== P && (u = !0, z += 1), P = 0, R = 0, I = null;
|
|
74
71
|
break;
|
|
75
72
|
|
|
76
73
|
case 3:
|
|
@@ -79,7 +76,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
79
76
|
if (!e.length) break;
|
|
80
77
|
C(e.reduce((e, [t, i]) => {
|
|
81
78
|
let n;
|
|
82
|
-
if (2 === R) n = !0; else if (
|
|
79
|
+
if (2 === R) n = !0; else if (I && 1 === R) n = t < I[0]; else {
|
|
83
80
|
const e = F(), i = T(t), r = s(t);
|
|
84
81
|
n = 1 !== P && 0 === R ? i + r <= e : i < e && i + r < e + f;
|
|
85
82
|
}
|
|
@@ -89,7 +86,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
89
86
|
const e = s(t), r = n(t, i);
|
|
90
87
|
m && (q += r ? i : i - e);
|
|
91
88
|
}
|
|
92
|
-
m && f && q > f && (C(c(t(
|
|
89
|
+
m && f && q > f && (C(c(t(O()))), m = !1), z = 3, v = !0;
|
|
93
90
|
break;
|
|
94
91
|
}
|
|
95
92
|
|
|
@@ -110,27 +107,27 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
110
107
|
break;
|
|
111
108
|
|
|
112
109
|
case 8:
|
|
113
|
-
|
|
110
|
+
I = e(a, a + f), z = 1;
|
|
114
111
|
}
|
|
115
112
|
z && (p = 1 + (2147483647 & p), u && y && (S += y, y = 0), k.forEach(([e, t]) => {
|
|
116
113
|
z & e && t(v);
|
|
117
114
|
}));
|
|
118
115
|
}
|
|
119
116
|
};
|
|
120
|
-
},
|
|
117
|
+
}, T = (e, t, i, s = 0, n = t - 1) => {
|
|
121
118
|
let r = s;
|
|
122
119
|
for (;s <= n; ) {
|
|
123
120
|
const t = N((s + n) / 2);
|
|
124
121
|
e(t) <= i ? (r = t, s = t + 1) : n = t - 1;
|
|
125
122
|
}
|
|
126
123
|
return P(r, 0, t - 1);
|
|
127
|
-
},
|
|
124
|
+
}, C = (e, t, i) => {
|
|
128
125
|
const s = i ? "unshift" : "push";
|
|
129
126
|
for (let i = 0; i < t; i++) e[s](-1);
|
|
130
127
|
return e;
|
|
131
|
-
},
|
|
128
|
+
}, M = (e, t, i) => {
|
|
132
129
|
let s = i && i[1] || t || 40, n = -1, r = 0;
|
|
133
|
-
const o = i && i[0], a = o ?
|
|
130
|
+
const o = i && i[0], a = o ? C(o.slice(0, v(e, o.length)), z(0, e - o.length)) : C([], e), l = C([], e + 1), c = e => {
|
|
134
131
|
const t = a[e];
|
|
135
132
|
return -1 === t ? s : t;
|
|
136
133
|
}, u = t => {
|
|
@@ -144,10 +141,10 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
144
141
|
return {
|
|
145
142
|
$getRange: (t, i) => {
|
|
146
143
|
let s, n;
|
|
147
|
-
return r = v(r, e - 1), u(r) <= t ? (n =
|
|
148
|
-
n =
|
|
144
|
+
return r = v(r, e - 1), u(r) <= t ? (n = T(u, e, i, r), s = T(u, e, t, r, n)) : (s = T(u, e, t, void 0, r),
|
|
145
|
+
n = T(u, e, i, s)), r = s, [ s, n ];
|
|
149
146
|
},
|
|
150
|
-
$findIndex: t =>
|
|
147
|
+
$findIndex: t => T(u, e, t),
|
|
151
148
|
$getItemOffset: u,
|
|
152
149
|
$getItemSize: c,
|
|
153
150
|
$setItemSize: (e, t) => {
|
|
@@ -159,7 +156,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
159
156
|
$getLength: () => e,
|
|
160
157
|
$setLength: (t, i) => {
|
|
161
158
|
const r = t - e;
|
|
162
|
-
return n = i ? -1 : v(t - 1, n), e = t, r > 0 ? (
|
|
159
|
+
return n = i ? -1 : v(t - 1, n), e = t, r > 0 ? (C(l, r), C(a, r, i), s * r) : (l.splice(r),
|
|
163
160
|
(i ? a.splice(0, -r) : a.splice(r)).reduce((e, t) => e - (-1 === t ? s : t), 0));
|
|
164
161
|
},
|
|
165
162
|
$estimateDefaultSize: t ? void 0 : e => {
|
|
@@ -173,11 +170,11 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
173
170
|
},
|
|
174
171
|
$snapshot: () => [ a.slice(), s ]
|
|
175
172
|
};
|
|
176
|
-
},
|
|
173
|
+
}, _ = e => {
|
|
177
174
|
let t;
|
|
178
175
|
return {
|
|
179
176
|
i(i) {
|
|
180
|
-
(t || (t = new (
|
|
177
|
+
(t || (t = new (F(k(i)).ResizeObserver)(e))).observe(i);
|
|
181
178
|
},
|
|
182
179
|
o(e) {
|
|
183
180
|
t.unobserve(e);
|
|
@@ -186,92 +183,72 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
186
183
|
t && t.disconnect();
|
|
187
184
|
}
|
|
188
185
|
};
|
|
189
|
-
},
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (l || c) return l = !1, void h();
|
|
200
|
-
u = !1, e.$update(2);
|
|
201
|
-
})();
|
|
202
|
-
}, 150);
|
|
203
|
-
};
|
|
204
|
-
return s.u = i, s;
|
|
205
|
-
})(), p = () => {
|
|
206
|
-
a = o(), u && (m = !0), r && e.$update(6, r()), e.$update(1, s()), h();
|
|
207
|
-
}, f = t => {
|
|
186
|
+
}, K = (e, t) => t ? -e : e, V = (e, t, i, s, n, r) => {
|
|
187
|
+
let o, a = 0, l = !1, c = !1, u = !1, m = !1;
|
|
188
|
+
const h = Date.now, p = () => {
|
|
189
|
+
if (l || c) return l = !1, void f();
|
|
190
|
+
u = !1, e.$update(2);
|
|
191
|
+
}, f = () => {
|
|
192
|
+
$(o), o = I(p, 150);
|
|
193
|
+
}, d = () => {
|
|
194
|
+
a = h(), u && (m = !0), r && e.$update(6, r()), e.$update(1, s()), f();
|
|
195
|
+
}, g = t => {
|
|
208
196
|
if (l || !e.$isScrolling() || t.ctrlKey) return;
|
|
209
|
-
const s =
|
|
197
|
+
const s = h() - a;
|
|
210
198
|
150 > s && 50 < s && (i ? t.deltaX : t.deltaY) && (l = !0);
|
|
211
|
-
},
|
|
199
|
+
}, S = () => {
|
|
212
200
|
c = !0, u = m = !1;
|
|
213
|
-
},
|
|
214
|
-
c = !1,
|
|
201
|
+
}, y = () => {
|
|
202
|
+
c = !1, w() && (u = !0);
|
|
215
203
|
};
|
|
216
|
-
return t.addEventListener("scroll",
|
|
204
|
+
return t.addEventListener("scroll", d), t.addEventListener("wheel", g, {
|
|
217
205
|
passive: !0
|
|
218
|
-
}), t.addEventListener("touchstart",
|
|
206
|
+
}), t.addEventListener("touchstart", S, {
|
|
219
207
|
passive: !0
|
|
220
|
-
}), t.addEventListener("touchend",
|
|
208
|
+
}), t.addEventListener("touchend", y, {
|
|
221
209
|
passive: !0
|
|
222
210
|
}), {
|
|
223
211
|
l: () => {
|
|
224
|
-
t.removeEventListener("scroll",
|
|
225
|
-
t.removeEventListener("touchend",
|
|
212
|
+
t.removeEventListener("scroll", d), t.removeEventListener("wheel", g), t.removeEventListener("touchstart", S),
|
|
213
|
+
t.removeEventListener("touchend", y), $(o);
|
|
226
214
|
},
|
|
227
|
-
|
|
215
|
+
u: () => {
|
|
228
216
|
const [t, i] = e.t();
|
|
229
217
|
t && (n(t, i, m), m = !1, i && e.$getViewportSize() > e.$getTotalSize() && e.$update(1, s()));
|
|
230
218
|
}
|
|
231
219
|
};
|
|
232
|
-
},
|
|
220
|
+
}, E = (e, t, i) => {
|
|
233
221
|
let s;
|
|
234
222
|
return [ async (n, r) => {
|
|
235
223
|
if (!await t()) return;
|
|
224
|
+
let o, a, l;
|
|
236
225
|
s && s();
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
};
|
|
245
|
-
if (r && T()) e.$update(8, n()), I(async () => {
|
|
246
|
-
for (;;) {
|
|
247
|
-
let t = !0;
|
|
248
|
-
for (let [i, s] = e.$getRange(); i <= s; i++) if (e.$isUnmeasuredItem(i)) {
|
|
249
|
-
t = !1;
|
|
250
|
-
break;
|
|
251
|
-
}
|
|
252
|
-
if (t) break;
|
|
253
|
-
const [i, s] = o();
|
|
254
|
-
try {
|
|
255
|
-
if (!await i) return;
|
|
256
|
-
} finally {
|
|
257
|
-
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();
|
|
258
233
|
}
|
|
234
|
+
e.$update(7), i(n(), r);
|
|
259
235
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
}
|
|
268
|
-
}
|
|
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();
|
|
269
246
|
}, () => {
|
|
270
247
|
s && s();
|
|
271
248
|
} ];
|
|
272
|
-
},
|
|
249
|
+
}, L = (e, t) => {
|
|
273
250
|
e.$scroll(() => t);
|
|
274
|
-
},
|
|
251
|
+
}, D = (e, t, i, {align: s, smooth: n, offset: r = 0} = {}) => {
|
|
275
252
|
if (i = P(i, 0, t.$getItemsLength() - 1), "nearest" === s) {
|
|
276
253
|
const e = t.$getItemOffset(i), n = t.$getScrollOffset();
|
|
277
254
|
if (e < n) s = "start"; else {
|
|
@@ -279,8 +256,8 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
279
256
|
s = "end";
|
|
280
257
|
}
|
|
281
258
|
}
|
|
282
|
-
e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) -
|
|
283
|
-
},
|
|
259
|
+
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
|
+
}, B = class t {
|
|
284
261
|
index=p.required();
|
|
285
262
|
offset=p.required();
|
|
286
263
|
hide=p.required();
|
|
@@ -294,7 +271,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
294
271
|
position: t && i ? void 0 : "absolute",
|
|
295
272
|
[e ? "height" : "width"]: "100%",
|
|
296
273
|
[e ? "top" : "left"]: "0px",
|
|
297
|
-
[e ? "
|
|
274
|
+
[e ? "inset-inline-start" : "top"]: this.offset() + "px",
|
|
298
275
|
visibility: !t || i ? void 0 : "hidden",
|
|
299
276
|
...this.attrs()?.style
|
|
300
277
|
};
|
|
@@ -392,9 +369,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
392
369
|
},
|
|
393
370
|
ngImport: e
|
|
394
371
|
});
|
|
395
|
-
},
|
|
372
|
+
}, W = (e, t) => "_" + t, j = new r("virtua-item-template"), J = class i {
|
|
396
373
|
data=p.required();
|
|
397
|
-
getKey=p(
|
|
374
|
+
getKey=p(W);
|
|
398
375
|
itemProps=p();
|
|
399
376
|
bufferSize=p();
|
|
400
377
|
scrollRef=p();
|
|
@@ -410,20 +387,20 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
410
387
|
scroll=f();
|
|
411
388
|
scrollEnd=f();
|
|
412
389
|
contentTemplate=u(o);
|
|
413
|
-
|
|
390
|
+
m=h(j, {
|
|
414
391
|
optional: !0
|
|
415
392
|
});
|
|
416
|
-
template=c(() => this.
|
|
393
|
+
template=c(() => this.m?.() ?? this.contentTemplate());
|
|
394
|
+
h;
|
|
417
395
|
p;
|
|
418
|
-
S;
|
|
419
396
|
driver;
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
397
|
+
S=h(n).nativeElement;
|
|
398
|
+
v=h(t);
|
|
399
|
+
N=d(void 0);
|
|
423
400
|
isSSR=d(!1);
|
|
424
|
-
|
|
425
|
-
this.
|
|
426
|
-
const e = this.data().length, [t, i] = this.
|
|
401
|
+
P=c(() => {
|
|
402
|
+
this.N();
|
|
403
|
+
const e = this.data().length, [t, i] = this.h.$getRange(this.bufferSize()), s = this.keepMounted(), n = [];
|
|
427
404
|
if (s) {
|
|
428
405
|
const r = new Set(s);
|
|
429
406
|
for (let e = t; e <= i; e++) r.add(e);
|
|
@@ -432,26 +409,26 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
432
409
|
return n;
|
|
433
410
|
});
|
|
434
411
|
items=c(() => {
|
|
435
|
-
this.
|
|
436
|
-
const e = this.
|
|
437
|
-
return this.
|
|
438
|
-
const
|
|
412
|
+
this.N();
|
|
413
|
+
const e = this.h, t = this.data(), i = this.getKey(), s = this.itemProps();
|
|
414
|
+
return this.P().map(n => {
|
|
415
|
+
const r = t[n];
|
|
439
416
|
return {
|
|
440
|
-
key: i(
|
|
441
|
-
index:
|
|
442
|
-
data:
|
|
443
|
-
offset: e.$getItemOffset(
|
|
444
|
-
hide: e.$isUnmeasuredItem(
|
|
417
|
+
key: i(r, n),
|
|
418
|
+
index: n,
|
|
419
|
+
data: r,
|
|
420
|
+
offset: e.$getItemOffset(n),
|
|
421
|
+
hide: e.$isUnmeasuredItem(n),
|
|
445
422
|
attrs: s?.({
|
|
446
|
-
item:
|
|
447
|
-
index:
|
|
423
|
+
item: r,
|
|
424
|
+
index: n
|
|
448
425
|
})
|
|
449
426
|
};
|
|
450
427
|
});
|
|
451
428
|
});
|
|
452
429
|
containerStyle=c(() => {
|
|
453
|
-
this.
|
|
454
|
-
const e = this.horizontal(), t = this.
|
|
430
|
+
this.N();
|
|
431
|
+
const e = this.horizontal(), t = this.h.$getTotalSize();
|
|
455
432
|
return {
|
|
456
433
|
display: "block",
|
|
457
434
|
contain: "size style",
|
|
@@ -460,113 +437,118 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
460
437
|
position: "relative",
|
|
461
438
|
width: e ? t + "px" : "100%",
|
|
462
439
|
height: e ? "100%" : t + "px",
|
|
463
|
-
"pointer-events": this.
|
|
440
|
+
"pointer-events": this.h.$isScrolling() ? "none" : void 0
|
|
464
441
|
};
|
|
465
442
|
});
|
|
466
443
|
constructor() {
|
|
467
444
|
m(() => {
|
|
468
445
|
const e = this.data().length;
|
|
469
|
-
this.
|
|
446
|
+
this.h && e !== this.h.$getItemsLength() && this.h.$update(5, [ e, g(this.shift) ]);
|
|
470
447
|
}), m(() => {
|
|
471
448
|
const e = this.startMargin();
|
|
472
|
-
this.
|
|
449
|
+
this.h && e !== this.h.$getStartSpacerSize() && this.h.$update(6, e);
|
|
473
450
|
}), a({
|
|
474
451
|
read: () => {
|
|
475
|
-
this.isSSR.set(!1), this.driver.$observe(this.
|
|
452
|
+
this.isSSR.set(!1), this.driver.$observe(this.S, this.scrollRef());
|
|
476
453
|
}
|
|
477
454
|
}), l({
|
|
478
455
|
read: () => {
|
|
479
|
-
this.
|
|
456
|
+
this.N(), this.driver.$effect();
|
|
480
457
|
}
|
|
481
458
|
}), h(s).onDestroy(() => {
|
|
482
|
-
this.
|
|
459
|
+
this.h?.$dispose(), this.driver?.$dispose();
|
|
483
460
|
});
|
|
484
461
|
}
|
|
485
462
|
ngOnInit() {
|
|
486
463
|
const e = this.itemSize(), t = this.ssrCount();
|
|
487
464
|
this.isSSR.set(!!t);
|
|
488
|
-
const i = this.
|
|
465
|
+
const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
|
|
489
466
|
this.driver = ((e, t) => {
|
|
490
|
-
let i, s, n =
|
|
491
|
-
const o = t ? "scrollLeft" : "scrollTop", a = t ? "overflowX" : "overflowY", [
|
|
492
|
-
|
|
493
|
-
[
|
|
494
|
-
behavior: "smooth"
|
|
495
|
-
})
|
|
496
|
-
}),
|
|
467
|
+
let i, s, n = x(), r = !1;
|
|
468
|
+
const o = t ? "scrollLeft" : "scrollTop", a = t ? "left" : "top", l = t ? "overflowX" : "overflowY", [c, u] = E(e, () => n[0], (e, t) => {
|
|
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 => {
|
|
497
474
|
const s = [];
|
|
498
|
-
for (const {target: n, contentRect: r} of t) if (n.offsetParent) if (n === i) e.$update(4, r[
|
|
499
|
-
const e =
|
|
500
|
-
null != e && s.push([ e, r[
|
|
475
|
+
for (const {target: n, contentRect: r} of t) if (n.offsetParent) if (n === i) e.$update(4, r[m]); else {
|
|
476
|
+
const e = h.get(n);
|
|
477
|
+
null != e && s.push([ e, r[m] ]);
|
|
501
478
|
}
|
|
502
479
|
s.length && e.$update(3, s);
|
|
503
480
|
});
|
|
504
481
|
return {
|
|
505
|
-
$observe(
|
|
506
|
-
|
|
482
|
+
$observe(c, m = c.parentElement) {
|
|
483
|
+
p.i(i = m), t && (r = "rtl" === getComputedStyle(m).direction), s = V(e, m, t, () => K(m[o], r), (t, i, s) => {
|
|
507
484
|
if (s) {
|
|
508
|
-
const e =
|
|
509
|
-
e[
|
|
510
|
-
e[
|
|
485
|
+
const e = m.style, t = e[l];
|
|
486
|
+
e[l] = "hidden", I(() => {
|
|
487
|
+
e[l] = t;
|
|
511
488
|
});
|
|
512
489
|
}
|
|
513
|
-
|
|
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();
|
|
514
498
|
}), n[1](!0);
|
|
515
499
|
},
|
|
516
500
|
$dispose() {
|
|
517
|
-
|
|
501
|
+
p.l(), s && s.l(), n[1](!1), n = x();
|
|
518
502
|
},
|
|
519
|
-
$observeItem: (e, t) => (
|
|
520
|
-
|
|
503
|
+
$observeItem: (e, t) => (h.set(e, t), p.i(e), () => {
|
|
504
|
+
h.delete(e), p.o(e);
|
|
521
505
|
}),
|
|
522
|
-
$
|
|
523
|
-
$scroll: l,
|
|
506
|
+
$scroll: c,
|
|
524
507
|
$effect() {
|
|
525
|
-
s && s.
|
|
508
|
+
s && s.u();
|
|
526
509
|
},
|
|
527
|
-
$getBaseOffset: e.$getStartSpacerSize
|
|
528
|
-
$getScrollbarSize: () => 0
|
|
510
|
+
$getBaseOffset: e.$getStartSpacerSize
|
|
529
511
|
};
|
|
530
512
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
531
|
-
this.
|
|
513
|
+
this.N.set(s.$getStateVersion()), e && this.v.tick();
|
|
532
514
|
}), s.$subscribe(4, () => {
|
|
533
515
|
this.scroll.emit(s.$getScrollOffset());
|
|
534
516
|
}), s.$subscribe(8, () => {
|
|
535
517
|
this.scrollEnd.emit();
|
|
536
|
-
}), this.
|
|
518
|
+
}), this.N.set(s.$getStateVersion());
|
|
537
519
|
}
|
|
538
520
|
get cache() {
|
|
539
|
-
return this.
|
|
521
|
+
return this.p.$snapshot();
|
|
540
522
|
}
|
|
541
523
|
get scrollOffset() {
|
|
542
|
-
return this.
|
|
524
|
+
return this.h.$getScrollOffset();
|
|
543
525
|
}
|
|
544
526
|
get scrollSize() {
|
|
545
|
-
return e = this.
|
|
527
|
+
return e = this.h, z(e.$getTotalSize(), e.$getViewportSize());
|
|
546
528
|
var e;
|
|
547
529
|
}
|
|
548
530
|
get viewportSize() {
|
|
549
|
-
return this.
|
|
531
|
+
return this.h.$getViewportSize();
|
|
550
532
|
}
|
|
551
533
|
findItemIndex(e) {
|
|
552
|
-
return this.
|
|
534
|
+
return this.h.$findItemIndex(e);
|
|
553
535
|
}
|
|
554
536
|
getItemOffset(e) {
|
|
555
|
-
return this.
|
|
537
|
+
return this.h.$getItemOffset(e);
|
|
556
538
|
}
|
|
557
539
|
getItemSize(e) {
|
|
558
|
-
return this.
|
|
540
|
+
return this.h.$getItemSize(e);
|
|
559
541
|
}
|
|
560
542
|
scrollToIndex(e, t) {
|
|
561
|
-
|
|
543
|
+
D(this.driver, this.h, e, t);
|
|
562
544
|
}
|
|
563
545
|
scrollTo(e) {
|
|
564
|
-
|
|
546
|
+
L(this.driver, e);
|
|
565
547
|
}
|
|
566
548
|
scrollBy(e) {
|
|
567
549
|
((e, t, i) => {
|
|
568
|
-
|
|
569
|
-
})(this.driver, this.
|
|
550
|
+
L(e, i + t.$getScrollOffset());
|
|
551
|
+
})(this.driver, this.h, e);
|
|
570
552
|
}
|
|
571
553
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
572
554
|
minVersion: "12.0.0",
|
|
@@ -690,7 +672,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
690
672
|
isInline: !0,
|
|
691
673
|
dependencies: [ {
|
|
692
674
|
kind: "directive",
|
|
693
|
-
type: e.forwardRef(() =>
|
|
675
|
+
type: e.forwardRef(() => B),
|
|
694
676
|
selector: "div[virtuaListItem]",
|
|
695
677
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
696
678
|
}, {
|
|
@@ -707,7 +689,7 @@ i.OnPush;
|
|
|
707
689
|
|
|
708
690
|
var Q = class t {
|
|
709
691
|
data=p.required();
|
|
710
|
-
getKey=p(
|
|
692
|
+
getKey=p(W);
|
|
711
693
|
itemProps=p();
|
|
712
694
|
bufferSize=p();
|
|
713
695
|
itemSize=p();
|
|
@@ -721,10 +703,10 @@ var Q = class t {
|
|
|
721
703
|
scroll=f();
|
|
722
704
|
scrollEnd=f();
|
|
723
705
|
template=u.required(o);
|
|
724
|
-
virtualizer=S.required(
|
|
725
|
-
|
|
706
|
+
virtualizer=S.required(J);
|
|
707
|
+
S=h(n).nativeElement;
|
|
726
708
|
ngOnInit() {
|
|
727
|
-
const e = this.horizontal(), t = this.
|
|
709
|
+
const e = this.horizontal(), t = this.S;
|
|
728
710
|
t.setAttribute("style", `display:${e ? "inline-block" : "block"};${e ? "overflow-x" : "overflow-y"}:auto;contain:strict;width:100%;height:100%;` + (t.getAttribute("style") || ""));
|
|
729
711
|
}
|
|
730
712
|
get cache() {
|
|
@@ -858,7 +840,7 @@ var Q = class t {
|
|
|
858
840
|
viewQueries: [ {
|
|
859
841
|
propertyName: "virtualizer",
|
|
860
842
|
first: !0,
|
|
861
|
-
predicate:
|
|
843
|
+
predicate: J,
|
|
862
844
|
emitDistinctChangesOnly: !1,
|
|
863
845
|
descendants: !0,
|
|
864
846
|
isSignal: !0
|
|
@@ -868,13 +850,13 @@ var Q = class t {
|
|
|
868
850
|
isInline: !0,
|
|
869
851
|
dependencies: [ {
|
|
870
852
|
kind: "directive",
|
|
871
|
-
type: e.forwardRef(() =>
|
|
853
|
+
type: e.forwardRef(() => J),
|
|
872
854
|
selector: "virtua-virtualizer",
|
|
873
855
|
inputs: [ "data", "getKey", "itemProps", "bufferSize", "scrollRef", "itemSize", "ssrCount", "shift", "horizontal", "keepMounted", "cache", "startMargin" ],
|
|
874
856
|
outputs: [ "scroll", "scrollEnd" ]
|
|
875
857
|
} ],
|
|
876
858
|
viewProviders: [ {
|
|
877
|
-
provide:
|
|
859
|
+
provide: j,
|
|
878
860
|
useFactory: () => h(t).template
|
|
879
861
|
} ],
|
|
880
862
|
changeDetection: e.ChangeDetectionStrategy.OnPush
|
|
@@ -885,7 +867,7 @@ i.OnPush;
|
|
|
885
867
|
|
|
886
868
|
var U = class i {
|
|
887
869
|
data=p.required();
|
|
888
|
-
getKey=p(
|
|
870
|
+
getKey=p(W);
|
|
889
871
|
bufferSize=p();
|
|
890
872
|
itemSize=p();
|
|
891
873
|
ssrCount=p();
|
|
@@ -897,31 +879,31 @@ var U = class i {
|
|
|
897
879
|
scroll=f();
|
|
898
880
|
scrollEnd=f();
|
|
899
881
|
template=u.required(o);
|
|
882
|
+
h;
|
|
900
883
|
p;
|
|
901
|
-
S;
|
|
902
884
|
driver;
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
885
|
+
S=h(n).nativeElement;
|
|
886
|
+
v=h(t);
|
|
887
|
+
N=d(void 0);
|
|
906
888
|
isSSR=d(!1);
|
|
907
889
|
items=c(() => {
|
|
908
|
-
this.
|
|
909
|
-
const e = this.
|
|
910
|
-
for (let
|
|
911
|
-
const
|
|
912
|
-
|
|
913
|
-
key: i(
|
|
914
|
-
index:
|
|
915
|
-
data:
|
|
916
|
-
offset: e.$getItemOffset(
|
|
917
|
-
hide: e.$isUnmeasuredItem(
|
|
890
|
+
this.N();
|
|
891
|
+
const e = this.h, t = this.data(), i = this.getKey(), [s, n] = e.$getRange(this.bufferSize()), r = [];
|
|
892
|
+
for (let o = s; o <= n && o < t.length; o++) {
|
|
893
|
+
const s = t[o];
|
|
894
|
+
r.push({
|
|
895
|
+
key: i(s, o),
|
|
896
|
+
index: o,
|
|
897
|
+
data: s,
|
|
898
|
+
offset: e.$getItemOffset(o),
|
|
899
|
+
hide: e.$isUnmeasuredItem(o)
|
|
918
900
|
});
|
|
919
901
|
}
|
|
920
|
-
return
|
|
902
|
+
return r;
|
|
921
903
|
});
|
|
922
904
|
containerStyle=c(() => {
|
|
923
|
-
this.
|
|
924
|
-
const e = this.horizontal(), t = this.
|
|
905
|
+
this.N();
|
|
906
|
+
const e = this.horizontal(), t = this.h.$getTotalSize();
|
|
925
907
|
return {
|
|
926
908
|
display: "block",
|
|
927
909
|
contain: "size style",
|
|
@@ -930,116 +912,110 @@ var U = class i {
|
|
|
930
912
|
position: "relative",
|
|
931
913
|
width: e ? t + "px" : "100%",
|
|
932
914
|
height: e ? "100%" : t + "px",
|
|
933
|
-
"pointer-events": this.
|
|
915
|
+
"pointer-events": this.h.$isScrolling() ? "none" : void 0
|
|
934
916
|
};
|
|
935
917
|
});
|
|
936
918
|
constructor() {
|
|
937
919
|
m(() => {
|
|
938
920
|
const e = this.data().length;
|
|
939
|
-
this.
|
|
921
|
+
this.h && e !== this.h.$getItemsLength() && this.h.$update(5, [ e, g(this.shift) ]);
|
|
940
922
|
}), a({
|
|
941
923
|
read: () => {
|
|
942
|
-
this.isSSR.set(!1), this.driver.$observe(this.
|
|
924
|
+
this.isSSR.set(!1), this.driver.$observe(this.S);
|
|
943
925
|
}
|
|
944
926
|
}), l({
|
|
945
927
|
read: () => {
|
|
946
|
-
this.
|
|
928
|
+
this.N(), this.driver.$effect();
|
|
947
929
|
}
|
|
948
930
|
}), h(s).onDestroy(() => {
|
|
949
|
-
this.
|
|
931
|
+
this.h?.$dispose(), this.driver?.$dispose();
|
|
950
932
|
});
|
|
951
933
|
}
|
|
952
934
|
ngOnInit() {
|
|
953
935
|
const e = this.itemSize(), t = this.ssrCount();
|
|
954
936
|
this.isSSR.set(!!t);
|
|
955
|
-
const i = this.
|
|
937
|
+
const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
|
|
956
938
|
this.driver = ((e, t) => {
|
|
957
|
-
let i, s, n, r =
|
|
958
|
-
const
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
[a]: e,
|
|
963
|
-
behavior: "smooth"
|
|
964
|
-
}) : s.scroll({
|
|
965
|
-
[a]: e
|
|
939
|
+
let i, s, n, r, o, a = x(), l = !1;
|
|
940
|
+
const c = t ? "scrollLeft" : "scrollTop", u = t ? "left" : "top", [m, h] = E(e, () => a[0], (e, t) => {
|
|
941
|
+
i.scrollTo({
|
|
942
|
+
[u]: K(e, l),
|
|
943
|
+
behavior: t ? "smooth" : "instant"
|
|
966
944
|
});
|
|
967
|
-
}),
|
|
968
|
-
const
|
|
969
|
-
for (const {target: e, contentRect:
|
|
945
|
+
}), p = t ? "width" : "height", f = /* @__PURE__ */ new WeakMap, d = _(t => {
|
|
946
|
+
const s = [];
|
|
947
|
+
for (const {target: e, contentRect: n} of t) {
|
|
948
|
+
if (e === i) {
|
|
949
|
+
o && o();
|
|
950
|
+
continue;
|
|
951
|
+
}
|
|
970
952
|
if (!e.offsetParent) continue;
|
|
971
|
-
const t =
|
|
972
|
-
null != t &&
|
|
953
|
+
const t = f.get(e);
|
|
954
|
+
null != t && s.push([ t, n[p] ]);
|
|
973
955
|
}
|
|
974
|
-
|
|
975
|
-
}),
|
|
976
|
-
const r = s ? "offsetLeft" : "offsetTop",
|
|
977
|
-
return e !==
|
|
956
|
+
s.length && e.$update(3, s);
|
|
957
|
+
}), g = (e, t, i, s, n = 0) => {
|
|
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;
|
|
978
960
|
};
|
|
979
961
|
return {
|
|
980
|
-
$observe(
|
|
981
|
-
i =
|
|
982
|
-
|
|
983
|
-
e.$update(4, m[t ? "innerWidth" : "innerHeight"]);
|
|
962
|
+
$observe(m) {
|
|
963
|
+
const p = k(m), f = F(p), S = i = p.scrollingElement, y = r = () => g(m, S, p.body, t), v = o = () => {
|
|
964
|
+
e.$update(4, S[t ? "clientWidth" : "clientHeight"]);
|
|
984
965
|
};
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
}, t && (
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
})
|
|
993
|
-
|
|
966
|
+
f.addEventListener("resize", v), d.i(S), n = () => {
|
|
967
|
+
f.removeEventListener("resize", v);
|
|
968
|
+
}, t && (l = "rtl" === getComputedStyle(S).direction), s = V(e, f, t, () => K(S[c], l), (t, i) => {
|
|
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);
|
|
994
978
|
},
|
|
995
979
|
$dispose() {
|
|
996
|
-
n && n(),
|
|
980
|
+
n && n(), d.l(), s && s.l(), i = void 0, a[1](!1), a = x();
|
|
997
981
|
},
|
|
998
|
-
$observeItem: (e, t) => (
|
|
999
|
-
|
|
982
|
+
$observeItem: (e, t) => (f.set(e, t), d.i(e), () => {
|
|
983
|
+
f.delete(e), d.o(e);
|
|
1000
984
|
}),
|
|
1001
|
-
$
|
|
1002
|
-
$scroll: l,
|
|
985
|
+
$scroll: m,
|
|
1003
986
|
$effect() {
|
|
1004
|
-
s && s.
|
|
987
|
+
s && s.u();
|
|
1005
988
|
},
|
|
1006
|
-
$getBaseOffset()
|
|
1007
|
-
const e = F(i);
|
|
1008
|
-
return h(i, e.body, w(e), t);
|
|
1009
|
-
},
|
|
1010
|
-
$getScrollbarSize() {
|
|
1011
|
-
const s = k(F(i));
|
|
1012
|
-
return e.$getViewportSize() - (t ? s.clientWidth : s.clientHeight);
|
|
1013
|
-
}
|
|
989
|
+
$getBaseOffset: () => r()
|
|
1014
990
|
};
|
|
1015
991
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
1016
|
-
this.
|
|
992
|
+
this.N.set(s.$getStateVersion()), e && this.v.tick();
|
|
1017
993
|
}), s.$subscribe(4, () => {
|
|
1018
994
|
this.scroll.emit();
|
|
1019
995
|
}), s.$subscribe(8, () => {
|
|
1020
996
|
this.scrollEnd.emit();
|
|
1021
|
-
}), this.
|
|
997
|
+
}), this.N.set(s.$getStateVersion());
|
|
1022
998
|
}
|
|
1023
999
|
get cache() {
|
|
1024
|
-
return this.
|
|
1000
|
+
return this.p.$snapshot();
|
|
1025
1001
|
}
|
|
1026
1002
|
get scrollOffset() {
|
|
1027
|
-
return this.
|
|
1003
|
+
return this.h.$getScrollOffset();
|
|
1028
1004
|
}
|
|
1029
1005
|
get viewportSize() {
|
|
1030
|
-
return this.
|
|
1006
|
+
return this.h.$getViewportSize();
|
|
1031
1007
|
}
|
|
1032
1008
|
findItemIndex(e) {
|
|
1033
|
-
return this.
|
|
1009
|
+
return this.h.$findItemIndex(e);
|
|
1034
1010
|
}
|
|
1035
1011
|
getItemOffset(e) {
|
|
1036
|
-
return this.
|
|
1012
|
+
return this.h.$getItemOffset(e);
|
|
1037
1013
|
}
|
|
1038
1014
|
getItemSize(e) {
|
|
1039
|
-
return this.
|
|
1015
|
+
return this.h.$getItemSize(e);
|
|
1040
1016
|
}
|
|
1041
1017
|
scrollToIndex(e, t) {
|
|
1042
|
-
|
|
1018
|
+
D(this.driver, this.h, e, t);
|
|
1043
1019
|
}
|
|
1044
1020
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
1045
1021
|
minVersion: "12.0.0",
|
|
@@ -1135,7 +1111,7 @@ var U = class i {
|
|
|
1135
1111
|
isInline: !0,
|
|
1136
1112
|
dependencies: [ {
|
|
1137
1113
|
kind: "directive",
|
|
1138
|
-
type: e.forwardRef(() =>
|
|
1114
|
+
type: e.forwardRef(() => B),
|
|
1139
1115
|
selector: "div[virtuaListItem]",
|
|
1140
1116
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
1141
1117
|
}, {
|
|
@@ -1150,5 +1126,5 @@ var U = class i {
|
|
|
1150
1126
|
|
|
1151
1127
|
i.OnPush;
|
|
1152
1128
|
|
|
1153
|
-
export { Q as VList,
|
|
1129
|
+
export { Q as VList, J as Virtualizer, U as WindowVirtualizer };
|
|
1154
1130
|
//# sourceMappingURL=index.js.map
|