virtua 0.50.6 → 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 +152 -156
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +234 -232
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +242 -240
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +442 -440
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +435 -433
- 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 +228 -234
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +239 -243
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +97 -88
- 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 +276 -285
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +257 -266
- 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
|
-
}, k = e => {
|
|
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 && (T() && 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,18 +25,18 @@ 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
|
},
|
|
40
37
|
$findItemIndex: e => t(e - d),
|
|
41
38
|
$isUnmeasuredItem: r,
|
|
42
|
-
$getItemOffset:
|
|
39
|
+
$getItemOffset: T,
|
|
43
40
|
$getItemSize: s,
|
|
44
41
|
$getItemsLength: a,
|
|
45
42
|
$getScrollOffset: () => g,
|
|
@@ -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,8 +76,8 @@ 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 (
|
|
83
|
-
const e = F(), i =
|
|
79
|
+
if (2 === R) n = !0; else if (I && 1 === R) n = t < I[0]; else {
|
|
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
|
}
|
|
86
83
|
return n && (e += i - s(t)), e;
|
|
@@ -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,13 +183,13 @@ 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
|
-
},
|
|
186
|
+
}, K = (e, t) => t ? -e : e, V = (e, t, i, s, n, r) => {
|
|
190
187
|
let o, a = 0, l = !1, c = !1, u = !1, m = !1;
|
|
191
188
|
const h = Date.now, p = () => {
|
|
192
189
|
if (l || c) return l = !1, void f();
|
|
193
190
|
u = !1, e.$update(2);
|
|
194
191
|
}, f = () => {
|
|
195
|
-
|
|
192
|
+
$(o), o = I(p, 150);
|
|
196
193
|
}, d = () => {
|
|
197
194
|
a = h(), u && (m = !0), r && e.$update(6, r()), e.$update(1, s()), f();
|
|
198
195
|
}, g = t => {
|
|
@@ -202,7 +199,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
202
199
|
}, S = () => {
|
|
203
200
|
c = !0, u = m = !1;
|
|
204
201
|
}, y = () => {
|
|
205
|
-
c = !1,
|
|
202
|
+
c = !1, w() && (u = !0);
|
|
206
203
|
};
|
|
207
204
|
return t.addEventListener("scroll", d), t.addEventListener("wheel", g, {
|
|
208
205
|
passive: !0
|
|
@@ -213,45 +210,45 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
213
210
|
}), {
|
|
214
211
|
l: () => {
|
|
215
212
|
t.removeEventListener("scroll", d), t.removeEventListener("wheel", g), t.removeEventListener("touchstart", S),
|
|
216
|
-
t.removeEventListener("touchend", y),
|
|
213
|
+
t.removeEventListener("touchend", y), $(o);
|
|
217
214
|
},
|
|
218
215
|
u: () => {
|
|
219
216
|
const [t, i] = e.t();
|
|
220
217
|
t && (n(t, i, m), m = !1, i && e.$getViewportSize() > e.$getTotalSize() && e.$update(1, s()));
|
|
221
218
|
}
|
|
222
219
|
};
|
|
223
|
-
},
|
|
220
|
+
}, E = (e, t, i) => {
|
|
224
221
|
let s;
|
|
225
222
|
return [ async (n, r) => {
|
|
226
223
|
if (!await t()) return;
|
|
227
224
|
let o, a, l;
|
|
228
225
|
s && s();
|
|
229
|
-
const c =
|
|
230
|
-
o = !0,
|
|
231
|
-
},
|
|
226
|
+
const c = s = () => {
|
|
227
|
+
o = !0, $(a), l && l();
|
|
228
|
+
}, u = () => {
|
|
232
229
|
if (!o) {
|
|
233
|
-
if (e.$getViewportSize() && (
|
|
230
|
+
if (e.$getViewportSize() && ($(a), a = I(c, 150)), r) {
|
|
234
231
|
for (let [t, i] = e.$getRange(0); t <= i; t++) if (e.$isUnmeasuredItem(t)) return;
|
|
235
|
-
|
|
232
|
+
c();
|
|
236
233
|
}
|
|
237
|
-
e.$update(7), i(n(),
|
|
234
|
+
e.$update(7), i(n(), r);
|
|
238
235
|
}
|
|
239
|
-
},
|
|
236
|
+
}, m = () => {
|
|
240
237
|
if (o) return;
|
|
241
238
|
let t;
|
|
242
239
|
l = e.$subscribe(2, () => {
|
|
243
240
|
t || (t = !0, q(() => {
|
|
244
|
-
t = !1,
|
|
241
|
+
t = !1, u();
|
|
245
242
|
}));
|
|
246
|
-
}),
|
|
243
|
+
}), u();
|
|
247
244
|
};
|
|
248
|
-
|
|
245
|
+
r ? (e.$update(8, n()), q(m)) : m();
|
|
249
246
|
}, () => {
|
|
250
247
|
s && s();
|
|
251
248
|
} ];
|
|
252
|
-
},
|
|
249
|
+
}, L = (e, t) => {
|
|
253
250
|
e.$scroll(() => t);
|
|
254
|
-
},
|
|
251
|
+
}, D = (e, t, i, {align: s, smooth: n, offset: r = 0} = {}) => {
|
|
255
252
|
if (i = P(i, 0, t.$getItemsLength() - 1), "nearest" === s) {
|
|
256
253
|
const e = t.$getItemOffset(i), n = t.$getScrollOffset();
|
|
257
254
|
if (e < n) s = "start"; else {
|
|
@@ -259,8 +256,8 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
259
256
|
s = "end";
|
|
260
257
|
}
|
|
261
258
|
}
|
|
262
|
-
e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) -
|
|
263
|
-
},
|
|
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 {
|
|
264
261
|
index=p.required();
|
|
265
262
|
offset=p.required();
|
|
266
263
|
hide=p.required();
|
|
@@ -274,7 +271,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
274
271
|
position: t && i ? void 0 : "absolute",
|
|
275
272
|
[e ? "height" : "width"]: "100%",
|
|
276
273
|
[e ? "top" : "left"]: "0px",
|
|
277
|
-
[e ? "
|
|
274
|
+
[e ? "inset-inline-start" : "top"]: this.offset() + "px",
|
|
278
275
|
visibility: !t || i ? void 0 : "hidden",
|
|
279
276
|
...this.attrs()?.style
|
|
280
277
|
};
|
|
@@ -372,9 +369,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
372
369
|
},
|
|
373
370
|
ngImport: e
|
|
374
371
|
});
|
|
375
|
-
},
|
|
372
|
+
}, W = (e, t) => "_" + t, j = new r("virtua-item-template"), J = class i {
|
|
376
373
|
data=p.required();
|
|
377
|
-
getKey=p(
|
|
374
|
+
getKey=p(W);
|
|
378
375
|
itemProps=p();
|
|
379
376
|
bufferSize=p();
|
|
380
377
|
scrollRef=p();
|
|
@@ -390,7 +387,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
390
387
|
scroll=f();
|
|
391
388
|
scrollEnd=f();
|
|
392
389
|
contentTemplate=u(o);
|
|
393
|
-
m=h(
|
|
390
|
+
m=h(j, {
|
|
394
391
|
optional: !0
|
|
395
392
|
});
|
|
396
393
|
template=c(() => this.m?.() ?? this.contentTemplate());
|
|
@@ -413,18 +410,18 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
413
410
|
});
|
|
414
411
|
items=c(() => {
|
|
415
412
|
this.N();
|
|
416
|
-
const e = this.h, t = this.data(), i = this.getKey(), s = this.itemProps()
|
|
417
|
-
return this.P().map(
|
|
418
|
-
const
|
|
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];
|
|
419
416
|
return {
|
|
420
|
-
key: i(
|
|
421
|
-
index:
|
|
422
|
-
data:
|
|
423
|
-
offset: e.$getItemOffset(
|
|
424
|
-
hide: e.$isUnmeasuredItem(
|
|
417
|
+
key: i(r, n),
|
|
418
|
+
index: n,
|
|
419
|
+
data: r,
|
|
420
|
+
offset: e.$getItemOffset(n),
|
|
421
|
+
hide: e.$isUnmeasuredItem(n),
|
|
425
422
|
attrs: s?.({
|
|
426
|
-
item:
|
|
427
|
-
index:
|
|
423
|
+
item: r,
|
|
424
|
+
index: n
|
|
428
425
|
})
|
|
429
426
|
};
|
|
430
427
|
});
|
|
@@ -465,47 +462,52 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
465
462
|
ngOnInit() {
|
|
466
463
|
const e = this.itemSize(), t = this.ssrCount();
|
|
467
464
|
this.isSSR.set(!!t);
|
|
468
|
-
const i = this.p =
|
|
465
|
+
const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
|
|
469
466
|
this.driver = ((e, t) => {
|
|
470
467
|
let i, s, n = x(), r = !1;
|
|
471
|
-
const o = t ? "scrollLeft" : "scrollTop", a = t ? "overflowX" : "overflowY", [
|
|
472
|
-
|
|
473
|
-
[
|
|
474
|
-
behavior: "smooth"
|
|
475
|
-
})
|
|
476
|
-
}),
|
|
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 => {
|
|
477
474
|
const s = [];
|
|
478
|
-
for (const {target: n, contentRect: r} of t) if (n.offsetParent) if (n === i) e.$update(4, r[
|
|
479
|
-
const e =
|
|
480
|
-
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] ]);
|
|
481
478
|
}
|
|
482
479
|
s.length && e.$update(3, s);
|
|
483
480
|
});
|
|
484
481
|
return {
|
|
485
|
-
$observe(
|
|
486
|
-
|
|
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) => {
|
|
487
484
|
if (s) {
|
|
488
|
-
const e =
|
|
489
|
-
e[
|
|
490
|
-
e[
|
|
485
|
+
const e = m.style, t = e[l];
|
|
486
|
+
e[l] = "hidden", I(() => {
|
|
487
|
+
e[l] = t;
|
|
491
488
|
});
|
|
492
489
|
}
|
|
493
|
-
|
|
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();
|
|
494
498
|
}), n[1](!0);
|
|
495
499
|
},
|
|
496
500
|
$dispose() {
|
|
497
|
-
|
|
501
|
+
p.l(), s && s.l(), n[1](!1), n = x();
|
|
498
502
|
},
|
|
499
|
-
$observeItem: (e, t) => (
|
|
500
|
-
|
|
503
|
+
$observeItem: (e, t) => (h.set(e, t), p.i(e), () => {
|
|
504
|
+
h.delete(e), p.o(e);
|
|
501
505
|
}),
|
|
502
|
-
$
|
|
503
|
-
$scroll: l,
|
|
506
|
+
$scroll: c,
|
|
504
507
|
$effect() {
|
|
505
508
|
s && s.u();
|
|
506
509
|
},
|
|
507
|
-
$getBaseOffset: e.$getStartSpacerSize
|
|
508
|
-
$getScrollbarSize: () => 0
|
|
510
|
+
$getBaseOffset: e.$getStartSpacerSize
|
|
509
511
|
};
|
|
510
512
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
511
513
|
this.N.set(s.$getStateVersion()), e && this.v.tick();
|
|
@@ -538,14 +540,14 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
538
540
|
return this.h.$getItemSize(e);
|
|
539
541
|
}
|
|
540
542
|
scrollToIndex(e, t) {
|
|
541
|
-
|
|
543
|
+
D(this.driver, this.h, e, t);
|
|
542
544
|
}
|
|
543
545
|
scrollTo(e) {
|
|
544
|
-
|
|
546
|
+
L(this.driver, e);
|
|
545
547
|
}
|
|
546
548
|
scrollBy(e) {
|
|
547
549
|
((e, t, i) => {
|
|
548
|
-
|
|
550
|
+
L(e, i + t.$getScrollOffset());
|
|
549
551
|
})(this.driver, this.h, e);
|
|
550
552
|
}
|
|
551
553
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
@@ -670,7 +672,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
670
672
|
isInline: !0,
|
|
671
673
|
dependencies: [ {
|
|
672
674
|
kind: "directive",
|
|
673
|
-
type: e.forwardRef(() =>
|
|
675
|
+
type: e.forwardRef(() => B),
|
|
674
676
|
selector: "div[virtuaListItem]",
|
|
675
677
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
676
678
|
}, {
|
|
@@ -685,9 +687,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
|
|
|
685
687
|
|
|
686
688
|
i.OnPush;
|
|
687
689
|
|
|
688
|
-
var
|
|
690
|
+
var Q = class t {
|
|
689
691
|
data=p.required();
|
|
690
|
-
getKey=p(
|
|
692
|
+
getKey=p(W);
|
|
691
693
|
itemProps=p();
|
|
692
694
|
bufferSize=p();
|
|
693
695
|
itemSize=p();
|
|
@@ -701,7 +703,7 @@ var U = class t {
|
|
|
701
703
|
scroll=f();
|
|
702
704
|
scrollEnd=f();
|
|
703
705
|
template=u.required(o);
|
|
704
|
-
virtualizer=S.required(
|
|
706
|
+
virtualizer=S.required(J);
|
|
705
707
|
S=h(n).nativeElement;
|
|
706
708
|
ngOnInit() {
|
|
707
709
|
const e = this.horizontal(), t = this.S;
|
|
@@ -838,7 +840,7 @@ var U = class t {
|
|
|
838
840
|
viewQueries: [ {
|
|
839
841
|
propertyName: "virtualizer",
|
|
840
842
|
first: !0,
|
|
841
|
-
predicate:
|
|
843
|
+
predicate: J,
|
|
842
844
|
emitDistinctChangesOnly: !1,
|
|
843
845
|
descendants: !0,
|
|
844
846
|
isSignal: !0
|
|
@@ -848,13 +850,13 @@ var U = class t {
|
|
|
848
850
|
isInline: !0,
|
|
849
851
|
dependencies: [ {
|
|
850
852
|
kind: "directive",
|
|
851
|
-
type: e.forwardRef(() =>
|
|
853
|
+
type: e.forwardRef(() => J),
|
|
852
854
|
selector: "virtua-virtualizer",
|
|
853
855
|
inputs: [ "data", "getKey", "itemProps", "bufferSize", "scrollRef", "itemSize", "ssrCount", "shift", "horizontal", "keepMounted", "cache", "startMargin" ],
|
|
854
856
|
outputs: [ "scroll", "scrollEnd" ]
|
|
855
857
|
} ],
|
|
856
858
|
viewProviders: [ {
|
|
857
|
-
provide:
|
|
859
|
+
provide: j,
|
|
858
860
|
useFactory: () => h(t).template
|
|
859
861
|
} ],
|
|
860
862
|
changeDetection: e.ChangeDetectionStrategy.OnPush
|
|
@@ -863,9 +865,9 @@ var U = class t {
|
|
|
863
865
|
|
|
864
866
|
i.OnPush;
|
|
865
867
|
|
|
866
|
-
var
|
|
868
|
+
var U = class i {
|
|
867
869
|
data=p.required();
|
|
868
|
-
getKey=p(
|
|
870
|
+
getKey=p(W);
|
|
869
871
|
bufferSize=p();
|
|
870
872
|
itemSize=p();
|
|
871
873
|
ssrCount=p();
|
|
@@ -886,18 +888,18 @@ var A = class i {
|
|
|
886
888
|
isSSR=d(!1);
|
|
887
889
|
items=c(() => {
|
|
888
890
|
this.N();
|
|
889
|
-
const e = this.h, t = this.data(), i = this.getKey(), s
|
|
890
|
-
for (let
|
|
891
|
-
const
|
|
892
|
-
|
|
893
|
-
key: i(
|
|
894
|
-
index:
|
|
895
|
-
data:
|
|
896
|
-
offset: e.$getItemOffset(
|
|
897
|
-
hide: e.$isUnmeasuredItem(
|
|
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)
|
|
898
900
|
});
|
|
899
901
|
}
|
|
900
|
-
return
|
|
902
|
+
return r;
|
|
901
903
|
});
|
|
902
904
|
containerStyle=c(() => {
|
|
903
905
|
this.N();
|
|
@@ -932,65 +934,59 @@ var A = class i {
|
|
|
932
934
|
ngOnInit() {
|
|
933
935
|
const e = this.itemSize(), t = this.ssrCount();
|
|
934
936
|
this.isSSR.set(!!t);
|
|
935
|
-
const i = this.p =
|
|
937
|
+
const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
|
|
936
938
|
this.driver = ((e, t) => {
|
|
937
|
-
let i, s, n, r = x(),
|
|
938
|
-
const
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
[a]: e,
|
|
943
|
-
behavior: "smooth"
|
|
944
|
-
}) : s.scroll({
|
|
945
|
-
[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"
|
|
946
944
|
});
|
|
947
|
-
}),
|
|
948
|
-
const
|
|
949
|
-
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
|
+
}
|
|
950
952
|
if (!e.offsetParent) continue;
|
|
951
|
-
const t =
|
|
952
|
-
null != t &&
|
|
953
|
+
const t = f.get(e);
|
|
954
|
+
null != t && s.push([ t, n[p] ]);
|
|
953
955
|
}
|
|
954
|
-
|
|
955
|
-
}),
|
|
956
|
-
const r = s ? "offsetLeft" : "offsetTop",
|
|
957
|
-
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;
|
|
958
960
|
};
|
|
959
961
|
return {
|
|
960
|
-
$observe(
|
|
961
|
-
i =
|
|
962
|
-
|
|
963
|
-
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"]);
|
|
964
965
|
};
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
}, t && (
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
})
|
|
973
|
-
|
|
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);
|
|
974
978
|
},
|
|
975
979
|
$dispose() {
|
|
976
|
-
n && n(),
|
|
980
|
+
n && n(), d.l(), s && s.l(), i = void 0, a[1](!1), a = x();
|
|
977
981
|
},
|
|
978
|
-
$observeItem: (e, t) => (
|
|
979
|
-
|
|
982
|
+
$observeItem: (e, t) => (f.set(e, t), d.i(e), () => {
|
|
983
|
+
f.delete(e), d.o(e);
|
|
980
984
|
}),
|
|
981
|
-
$
|
|
982
|
-
$scroll: l,
|
|
985
|
+
$scroll: m,
|
|
983
986
|
$effect() {
|
|
984
987
|
s && s.u();
|
|
985
988
|
},
|
|
986
|
-
$getBaseOffset()
|
|
987
|
-
const e = w(i);
|
|
988
|
-
return h(i, e.body, O(e), t);
|
|
989
|
-
},
|
|
990
|
-
$getScrollbarSize() {
|
|
991
|
-
const s = F(w(i));
|
|
992
|
-
return e.$getViewportSize() - (t ? s.clientWidth : s.clientHeight);
|
|
993
|
-
}
|
|
989
|
+
$getBaseOffset: () => r()
|
|
994
990
|
};
|
|
995
991
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
996
992
|
this.N.set(s.$getStateVersion()), e && this.v.tick();
|
|
@@ -1019,7 +1015,7 @@ var A = class i {
|
|
|
1019
1015
|
return this.h.$getItemSize(e);
|
|
1020
1016
|
}
|
|
1021
1017
|
scrollToIndex(e, t) {
|
|
1022
|
-
|
|
1018
|
+
D(this.driver, this.h, e, t);
|
|
1023
1019
|
}
|
|
1024
1020
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
1025
1021
|
minVersion: "12.0.0",
|
|
@@ -1115,7 +1111,7 @@ var A = class i {
|
|
|
1115
1111
|
isInline: !0,
|
|
1116
1112
|
dependencies: [ {
|
|
1117
1113
|
kind: "directive",
|
|
1118
|
-
type: e.forwardRef(() =>
|
|
1114
|
+
type: e.forwardRef(() => B),
|
|
1119
1115
|
selector: "div[virtuaListItem]",
|
|
1120
1116
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
1121
1117
|
}, {
|
|
@@ -1130,5 +1126,5 @@ var A = class i {
|
|
|
1130
1126
|
|
|
1131
1127
|
i.OnPush;
|
|
1132
1128
|
|
|
1133
|
-
export {
|
|
1129
|
+
export { Q as VList, J as Virtualizer, U as WindowVirtualizer };
|
|
1134
1130
|
//# sourceMappingURL=index.js.map
|