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/angular/index.js
CHANGED
|
@@ -1,114 +1,111 @@
|
|
|
1
1
|
import * as e from "@angular/core";
|
|
2
2
|
|
|
3
|
-
import { ApplicationRef as t, ChangeDetectionStrategy as i, DestroyRef as s, ElementRef as
|
|
3
|
+
import { ApplicationRef as t, ChangeDetectionStrategy as i, DestroyRef as s, ElementRef as r, HostAttributeToken as n, InjectionToken as o, TemplateRef as l, afterNextRender as a, afterRenderEffect as c, computed as u, contentChild as p, effect as m, inject as d, input as h, output as f, signal as g, untracked as S, viewChild as y } from "@angular/core";
|
|
4
4
|
|
|
5
5
|
import { NgTemplateOutlet as v } from "@angular/common";
|
|
6
6
|
|
|
7
|
-
var z, N = [], {min: w, max: b, abs: $, floor: R} = Math,
|
|
7
|
+
var z, N = [], {min: w, max: b, abs: $, floor: R} = Math, P = (e, t, i) => w(i, b(t, e)), I = e => e.sort((e, t) => e - t), x = setTimeout, q = clearTimeout, F = "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
|
-
z),
|
|
16
|
-
let
|
|
17
|
-
const
|
|
18
|
-
if (2 ===
|
|
19
|
-
if (
|
|
20
|
-
const t =
|
|
21
|
-
return 1 !==
|
|
22
|
-
},
|
|
23
|
-
e && (T() && 0 !==
|
|
14
|
+
}, O = e => e.ownerDocument, C = e => e.defaultView, T = () => (null == z && (z = /iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0),
|
|
15
|
+
z), M = e => b(e.$getTotalSize(), e.$getViewportSize()), _ = ({$getRange: e, $getItemOffset: t, $getItemSize: i, $isSizeEqual: s, $getTotalSize: r, $getLength: n, $setLength: o, $isEstimating: l, $resize: a}, c = 0) => {
|
|
16
|
+
let u = !!c, p = 1, m = 0, d = 0, h = 0, f = 0, g = 0, S = 0, y = 0, v = 0, z = null, N = [ 0, u ? b(c - 1, 0) : -1 ], R = !1;
|
|
17
|
+
const P = /* @__PURE__ */ new Set, I = () => h - d, x = () => I() + g + f, q = e => t(e) - g, F = e => {
|
|
18
|
+
if (2 === v) return !0;
|
|
19
|
+
if (z && 1 === v) return e < z[0];
|
|
20
|
+
const t = I(), s = q(e), r = i(e);
|
|
21
|
+
return 1 !== y && 0 === v ? s + r <= t : s < t && s + r < t + m;
|
|
22
|
+
}, k = e => {
|
|
23
|
+
e && (T() && 0 !== y || z && 1 === v ? g += e : f += e);
|
|
24
24
|
};
|
|
25
25
|
return {
|
|
26
26
|
$dispose: () => {
|
|
27
|
-
|
|
27
|
+
P.clear();
|
|
28
28
|
},
|
|
29
|
-
$getStateVersion: () =>
|
|
29
|
+
$getStateVersion: () => p,
|
|
30
30
|
$getRange: (t = 200) => {
|
|
31
|
-
if (!
|
|
31
|
+
if (!R || u) return N;
|
|
32
32
|
let i, s;
|
|
33
|
-
if (
|
|
34
|
-
let
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
if (S) [i, s] = N; else {
|
|
34
|
+
let r = b(0, x()), n = r + m;
|
|
35
|
+
l() || (t = b(0, t), 1 !== y && (r -= t), 2 !== y && (n += t)), [i, s] = N = e(b(0, r), b(0, n)),
|
|
36
|
+
z && (i = w(i, z[0]), s = b(s, z[1]));
|
|
37
37
|
}
|
|
38
|
-
return [ b(i, 0), w(s,
|
|
38
|
+
return [ b(i, 0), w(s, n() - 1) ];
|
|
39
39
|
},
|
|
40
|
-
$
|
|
41
|
-
$
|
|
42
|
-
$
|
|
43
|
-
$
|
|
44
|
-
$
|
|
45
|
-
$
|
|
46
|
-
$isScrolling: () => 0 !==
|
|
47
|
-
$getViewportSize: () =>
|
|
48
|
-
$getStartSpacerSize: () =>
|
|
40
|
+
$isUnmeasuredItem: s,
|
|
41
|
+
$getItemOffset: q,
|
|
42
|
+
$getItemSize: i,
|
|
43
|
+
$getItemsLength: n,
|
|
44
|
+
$getScrollOffset: () => h,
|
|
45
|
+
$getVisibleOffset: x,
|
|
46
|
+
$isScrolling: () => 0 !== y,
|
|
47
|
+
$getViewportSize: () => m,
|
|
48
|
+
$getStartSpacerSize: () => d,
|
|
49
49
|
$getTotalSize: r,
|
|
50
|
-
t: () => (
|
|
50
|
+
t: () => (S = f, f = 0, [ S, 2 === v ]),
|
|
51
51
|
$subscribe: (e, t) => {
|
|
52
52
|
const i = [ e, t ];
|
|
53
|
-
return
|
|
54
|
-
|
|
53
|
+
return P.add(i), () => {
|
|
54
|
+
P.delete(i);
|
|
55
55
|
};
|
|
56
56
|
},
|
|
57
57
|
$update: (t, i) => {
|
|
58
|
-
let
|
|
58
|
+
let n, l, c = 0;
|
|
59
59
|
switch (t) {
|
|
60
60
|
case 1:
|
|
61
61
|
{
|
|
62
|
-
if (i ===
|
|
63
|
-
const e =
|
|
64
|
-
|
|
65
|
-
const t = i -
|
|
66
|
-
e && s < $(e) + 1 || 0 !==
|
|
67
|
-
const n =
|
|
68
|
-
n >= -
|
|
62
|
+
if (i === h && 0 === v) break;
|
|
63
|
+
const e = S;
|
|
64
|
+
S = 0;
|
|
65
|
+
const t = i - h, s = $(t);
|
|
66
|
+
e && s < $(e) + 1 || 0 !== v || (y = t < 0 ? 2 : 1), u && (u = !1), h = i, c = 4;
|
|
67
|
+
const n = I();
|
|
68
|
+
n >= -m && n <= r() && (c += 1, l = s > m);
|
|
69
69
|
break;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
case 2:
|
|
73
|
-
|
|
73
|
+
c = 8, 0 !== y && (n = !0, c += 1), y = 0, v = 0, z = null;
|
|
74
74
|
break;
|
|
75
75
|
|
|
76
76
|
case 3:
|
|
77
77
|
{
|
|
78
|
-
const e = i.filter(([e, t]) => !
|
|
78
|
+
const e = i.filter(([e, t]) => !s(e, t));
|
|
79
79
|
if (!e.length) break;
|
|
80
|
-
|
|
80
|
+
k(a(e, F, x(), m)), c = 3, l = !0;
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
case 4:
|
|
85
|
-
|
|
85
|
+
m !== i && (m || (R = l = !0), m = i, c = 3);
|
|
86
86
|
break;
|
|
87
87
|
|
|
88
88
|
case 5:
|
|
89
|
-
i[1] ? (
|
|
89
|
+
i[1] ? (k(o(i[0], !0)), v = 2, c = 1) : (o(i[0]), c = 1);
|
|
90
90
|
break;
|
|
91
91
|
|
|
92
92
|
case 6:
|
|
93
|
-
|
|
93
|
+
d = i;
|
|
94
94
|
break;
|
|
95
95
|
|
|
96
96
|
case 7:
|
|
97
|
-
|
|
97
|
+
v = 1;
|
|
98
98
|
break;
|
|
99
99
|
|
|
100
100
|
case 9:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
null != e && (C(e), a = 3);
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
101
|
+
null != i && (k(i), c = 3);
|
|
102
|
+
break;
|
|
106
103
|
|
|
107
104
|
case 8:
|
|
108
|
-
|
|
105
|
+
z = e(i, i + m), c = 1;
|
|
109
106
|
}
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
c && (p = 1 + (2147483647 & p), n && g && (f += g, g = 0), P.forEach(([e, t]) => {
|
|
108
|
+
c & e && t(l);
|
|
112
109
|
}));
|
|
113
110
|
}
|
|
114
111
|
};
|
|
@@ -116,31 +113,31 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
116
113
|
const s = i ? "unshift" : "push";
|
|
117
114
|
for (let i = 0; i < t; i++) e[s](-1);
|
|
118
115
|
return e;
|
|
119
|
-
}, E = (e, t, i, s = 0,
|
|
120
|
-
let
|
|
121
|
-
for (;s <=
|
|
122
|
-
const t = R((s +
|
|
123
|
-
e(t) <= i ? (
|
|
116
|
+
}, E = (e, t, i, s = 0, r = t - 1) => {
|
|
117
|
+
let n = s;
|
|
118
|
+
for (;s <= r; ) {
|
|
119
|
+
const t = R((s + r) / 2);
|
|
120
|
+
e(t) <= i ? (n = t, s = t + 1) : r = t - 1;
|
|
124
121
|
}
|
|
125
|
-
return
|
|
122
|
+
return P(n, 0, t - 1);
|
|
126
123
|
}, L = (e, t, i) => {
|
|
127
|
-
let s = i && i[1] || t || 40,
|
|
124
|
+
let s = i && i[1] || t || 40, r = -1, n = 0, o = !t, l = 0;
|
|
128
125
|
const a = i && i[0], c = a ? V(a.slice(0, w(e, a.length)), b(0, e - a.length)) : V([], e), u = V([], e + 1), p = e => {
|
|
129
126
|
const t = c[e];
|
|
130
127
|
return -1 === t ? s : t;
|
|
131
128
|
}, m = t => {
|
|
132
129
|
if (!e) return 0;
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
let i =
|
|
130
|
+
if (r >= t) return u[t];
|
|
131
|
+
r < 0 && (u[0] = 0, r = 0);
|
|
132
|
+
let i = r, s = u[i];
|
|
136
133
|
for (;i < t; ) s += p(i), u[++i] = s;
|
|
137
|
-
return
|
|
134
|
+
return r = t, s;
|
|
138
135
|
};
|
|
139
136
|
return {
|
|
140
137
|
$getRange: (t, i) => {
|
|
141
|
-
let s,
|
|
142
|
-
return l = w(l, e - 1), m(l) <= t ? (
|
|
143
|
-
|
|
138
|
+
let s, r;
|
|
139
|
+
return l = w(l, e - 1), m(l) <= t ? (r = E(m, e, i, l), s = E(m, e, t, l, r)) : (s = E(m, e, t, void 0, l),
|
|
140
|
+
r = E(m, e, i, s)), l = s, [ s, r ];
|
|
144
141
|
},
|
|
145
142
|
$findIndex: t => E(m, e, t),
|
|
146
143
|
$getItemOffset: m,
|
|
@@ -148,14 +145,14 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
148
145
|
$isSizeEqual: (e, t = -1) => c[e] === t,
|
|
149
146
|
$resize: (t, i, l, a) => {
|
|
150
147
|
let u = t.reduce((e, [t, s]) => i(t) ? e + (s - p(t)) : e, 0);
|
|
151
|
-
for (const [e, i] of t)
|
|
152
|
-
if (o && a &&
|
|
148
|
+
for (const [e, i] of t) n += -1 === c[e] ? i : i - p(e), c[e] = i, r = w(e, r);
|
|
149
|
+
if (o && a && n > a) {
|
|
153
150
|
let t = 0;
|
|
154
|
-
const i = E(m, e, l + u),
|
|
151
|
+
const i = E(m, e, l + u), n = [];
|
|
155
152
|
c.forEach((e, s) => {
|
|
156
|
-
-1 !== e && (e &&
|
|
157
|
-
}),
|
|
158
|
-
const a =
|
|
153
|
+
-1 !== e && (e && n.push(e), s < i && t++);
|
|
154
|
+
}), r = -1, I(n);
|
|
155
|
+
const a = n.length, p = a / 2 | 0, d = a % 2 == 0 ? (n[p - 1] + n[p]) / 2 : n[p], h = s;
|
|
159
156
|
u += ((s = d) - h) * b(i - t, 0), o = !1;
|
|
160
157
|
}
|
|
161
158
|
return u;
|
|
@@ -163,18 +160,18 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
163
160
|
$getTotalSize: () => m(e),
|
|
164
161
|
$getLength: () => e,
|
|
165
162
|
$setLength: (t, i) => {
|
|
166
|
-
const
|
|
167
|
-
return
|
|
168
|
-
(i ? c.splice(0, -
|
|
163
|
+
const n = t - e;
|
|
164
|
+
return r = i ? -1 : w(t - 1, r), e = t, n > 0 ? (V(u, n), V(c, n, i), s * n) : (u.splice(n),
|
|
165
|
+
(i ? c.splice(0, -n) : c.splice(n)).reduce((e, t) => e - (-1 === t ? s : t), 0));
|
|
169
166
|
},
|
|
170
167
|
$isEstimating: () => o,
|
|
171
168
|
$snapshot: () => [ c.slice(), s ]
|
|
172
169
|
};
|
|
173
170
|
}, K = e => "number" == typeof e ? e : e.length, D = (e, t) => "number" == typeof e ? t : e[t], G = (e, t, i = 0) => {
|
|
174
171
|
let s = K(e);
|
|
175
|
-
const
|
|
176
|
-
let o = (
|
|
177
|
-
const d = [], h = [], f = [], g = e =>
|
|
172
|
+
const r = "number" == typeof t, n = "auto" === t;
|
|
173
|
+
let o = (r ? t : 40) + i, l = -1, a = 0, c = n, u = 0, p = 0, m = null;
|
|
174
|
+
const d = [], h = [], f = [], g = e => n || !!f[e], S = () => {
|
|
178
175
|
d.length || V(d, s);
|
|
179
176
|
}, y = e => {
|
|
180
177
|
const t = d[e];
|
|
@@ -189,28 +186,28 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
189
186
|
return l = e, i;
|
|
190
187
|
}, z = (e, t) => {
|
|
191
188
|
d[e] = t, l = w(e, l);
|
|
192
|
-
}, N = e => d.length ? E(v, s, e) : o ?
|
|
189
|
+
}, N = e => d.length ? E(v, s, e) : o ? P(R(e / o), 0, s - 1) : 0, $ = () => w(u, s), x = () => b(s - p, $()), q = e => (d.length ? y(e) : o) - i;
|
|
193
190
|
return {
|
|
194
191
|
$getRange: (e, t) => {
|
|
195
|
-
const
|
|
196
|
-
return [ N(o), N(b(o, t - (
|
|
192
|
+
const r = v($()), n = v(s) - v(x()), o = e + (r ? r - i : 0);
|
|
193
|
+
return [ N(o), N(b(o, t - (n ? n - i : 0))) ];
|
|
197
194
|
},
|
|
198
195
|
$findIndex: N,
|
|
199
196
|
$getItemOffset: v,
|
|
200
197
|
$getItemSize: q,
|
|
201
|
-
$resize: (e, t, s,
|
|
202
|
-
let
|
|
198
|
+
$resize: (e, t, s, r) => {
|
|
199
|
+
let n = e.reduce((e, [i, s]) => g(i) && t(i) ? e + (s - q(i)) : e, 0);
|
|
203
200
|
for (const [t, s] of e) g(t) && (S(), a += -1 === d[t] ? s : s - q(t), z(t, s + i));
|
|
204
|
-
if (c &&
|
|
201
|
+
if (c && r && a > r) {
|
|
205
202
|
let e = 0;
|
|
206
|
-
const t = N(s +
|
|
207
|
-
d.forEach((s,
|
|
208
|
-
-1 !== s && (s && i.push(s),
|
|
209
|
-
}), l = -1,
|
|
210
|
-
const
|
|
211
|
-
|
|
203
|
+
const t = N(s + n), i = [];
|
|
204
|
+
d.forEach((s, r) => {
|
|
205
|
+
-1 !== s && (s && i.push(s), r < t && e++);
|
|
206
|
+
}), l = -1, I(i);
|
|
207
|
+
const r = i.length, a = r / 2 | 0, u = r % 2 == 0 ? (i[a - 1] + i[a]) / 2 : i[a], p = o;
|
|
208
|
+
n += ((o = u) - p) * b(t - e, 0), c = !1;
|
|
212
209
|
}
|
|
213
|
-
return
|
|
210
|
+
return n;
|
|
214
211
|
},
|
|
215
212
|
$isSizeEqual: (e, t = -1) => {
|
|
216
213
|
const s = d.length ? d[e] : -1;
|
|
@@ -229,87 +226,87 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
229
226
|
},
|
|
230
227
|
$getPinnedStart: $,
|
|
231
228
|
$getTrailStart: x,
|
|
232
|
-
$getSizes: (e, t) => "number" == typeof t ?
|
|
229
|
+
$getSizes: (e, t) => "number" == typeof t ? r ? t : null : r || n || "auto" === t ? null : e.map(e => null != e ? e[t] : null),
|
|
233
230
|
$relayout: (e, t) => {
|
|
234
231
|
if (null == e) return;
|
|
235
232
|
if ("number" == typeof e) {
|
|
236
233
|
const s = e + i;
|
|
237
234
|
if (s === o) return;
|
|
238
|
-
const
|
|
239
|
-
return o = s,
|
|
235
|
+
const r = N(t) * (s - o);
|
|
236
|
+
return o = s, r;
|
|
240
237
|
}
|
|
241
238
|
if (e === m && s === f.length) return;
|
|
242
239
|
m = e, f.length = s, S();
|
|
243
|
-
const
|
|
240
|
+
const r = N(t), n = v(r);
|
|
244
241
|
let l;
|
|
245
242
|
for (let t = 0; t < s; t++) {
|
|
246
|
-
const s = e[t],
|
|
247
|
-
if (!
|
|
248
|
-
f[t] =
|
|
249
|
-
const e =
|
|
243
|
+
const s = e[t], r = "number" != typeof s;
|
|
244
|
+
if (!r || !f[t]) {
|
|
245
|
+
f[t] = r;
|
|
246
|
+
const e = r ? -1 : s + i;
|
|
250
247
|
d[t] !== e && (z(t, e), l = !0);
|
|
251
248
|
}
|
|
252
249
|
}
|
|
253
|
-
return l ? v(
|
|
250
|
+
return l ? v(r) - n : void 0;
|
|
254
251
|
}
|
|
255
252
|
};
|
|
256
253
|
}, W = /*#__PURE__*/ new WeakMap, B = (e, t, i) => {
|
|
257
254
|
const s = [];
|
|
258
|
-
for (const
|
|
259
|
-
return
|
|
255
|
+
for (const r of e) r >= t && r < i && s.push(r);
|
|
256
|
+
return I(s);
|
|
260
257
|
}, H = (e, t, i) => {
|
|
261
258
|
if (t >= i) return -1;
|
|
262
|
-
let s = 0,
|
|
263
|
-
for (;s <
|
|
264
|
-
const i = s +
|
|
265
|
-
e[i] <= t ? s = i + 1 :
|
|
259
|
+
let s = 0, r = e.length;
|
|
260
|
+
for (;s < r; ) {
|
|
261
|
+
const i = s + r >> 1;
|
|
262
|
+
e[i] <= t ? s = i + 1 : r = i;
|
|
266
263
|
}
|
|
267
264
|
return s - 1;
|
|
268
|
-
}, j = (e, t, i, s,
|
|
269
|
-
const
|
|
270
|
-
for (;i <
|
|
265
|
+
}, j = (e, t, i, s, r) => {
|
|
266
|
+
const n = t.length;
|
|
267
|
+
for (;i < n && t[i] < s; i++) {
|
|
271
268
|
const s = t[i];
|
|
272
|
-
s >
|
|
269
|
+
s > r && (e.push(s), r = s);
|
|
273
270
|
}
|
|
274
271
|
return i;
|
|
275
|
-
}, A = (e, t, i, s,
|
|
272
|
+
}, A = (e, t, i, s, r, n) => {
|
|
276
273
|
const o = [];
|
|
277
274
|
for (let e = 0; e < i; e++) o.push(e);
|
|
278
275
|
const l = j(o, e, 0, s, i - 1);
|
|
279
|
-
for (let e = s; e <=
|
|
280
|
-
j(o, e, l,
|
|
281
|
-
for (let e =
|
|
276
|
+
for (let e = s; e <= r; e++) o.push(e);
|
|
277
|
+
j(o, e, l, n, r);
|
|
278
|
+
for (let e = n; e < t; e++) o.push(e);
|
|
282
279
|
return o;
|
|
283
|
-
}, Q = (e, t) => w(e.rowIndex + (e.rowSpan || 1), t), J = (e, t) => w(e.colIndex + (e.colSpan || 1), t), X = (e, t, i, s,
|
|
280
|
+
}, Q = (e, t) => w(e.rowIndex + (e.rowSpan || 1), t), J = (e, t) => w(e.colIndex + (e.colSpan || 1), t), X = (e, t, i, s, r, n) => {
|
|
284
281
|
const o = t.length, l = s.length;
|
|
285
282
|
let a = "[l0]", c = 0, u = 0, p = 0;
|
|
286
|
-
for (;c <
|
|
283
|
+
for (;c < n; ) {
|
|
287
284
|
for (;p < l && s[p] <= c; ) p++;
|
|
288
|
-
const m = u < o ? t[u] :
|
|
285
|
+
const m = u < o ? t[u] : n;
|
|
289
286
|
let d, h;
|
|
290
287
|
if (m === c) {
|
|
291
288
|
d = c + 1;
|
|
292
289
|
const t = i[u];
|
|
293
|
-
h = null == t ? e.$getItemSize(c) + "px" : t ?
|
|
290
|
+
h = null == t ? e.$getItemSize(c) + "px" : t ? r : "minmax(" + e.$getItemSize(c) + "px,auto)",
|
|
294
291
|
u++;
|
|
295
|
-
} else d = w(m, p < l ? s[p] :
|
|
292
|
+
} else d = w(m, p < l ? s[p] : n), h = "minmax(" + (e.$getItemOffset(d - 1) + e.$getItemSize(d - 1) - e.$getItemOffset(c)) + "px,auto)";
|
|
296
293
|
a += " " + h + " [l" + d + "]", c = d;
|
|
297
294
|
}
|
|
298
295
|
return a;
|
|
299
|
-
}, Y = (e, t, i, s,
|
|
300
|
-
const
|
|
296
|
+
}, Y = (e, t, i, s, r) => {
|
|
297
|
+
const n = {
|
|
301
298
|
display: "grid",
|
|
302
299
|
gridTemplateRows: "subgrid",
|
|
303
300
|
gridTemplateColumns: "subgrid",
|
|
304
301
|
gridColumn: "1/-1",
|
|
305
302
|
gridRow: "l" + e + "/l" + t
|
|
306
303
|
};
|
|
307
|
-
return null != i && (
|
|
304
|
+
return null != i && (n.position = "sticky", n[s] = i + "px", n.zIndex = r), n;
|
|
308
305
|
}, U = e => {
|
|
309
306
|
let t;
|
|
310
307
|
return {
|
|
311
308
|
i(i) {
|
|
312
|
-
(t || (t = new (C(
|
|
309
|
+
(t || (t = new (C(O(i)).ResizeObserver)(e))).observe(i);
|
|
313
310
|
},
|
|
314
311
|
o(e) {
|
|
315
312
|
t.unobserve(e);
|
|
@@ -318,9 +315,9 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
318
315
|
t && t.disconnect();
|
|
319
316
|
}
|
|
320
317
|
};
|
|
321
|
-
}, Z = (e, t, i, s,
|
|
318
|
+
}, Z = (e, t, i, s, r, n, o) => {
|
|
322
319
|
let l, a, c = 0, u = !1, p = !1, m = !1, d = !1;
|
|
323
|
-
const h = Date.now, f = s ? "scrollLeft" : "scrollTop", g = s ? "left" : "top", S = e =>
|
|
320
|
+
const h = Date.now, f = s ? "scrollLeft" : "scrollTop", g = s ? "left" : "top", S = e => r ? -e : e, y = () => S(i[f]), v = (e, t) => {
|
|
324
321
|
i.scrollTo({
|
|
325
322
|
[g]: S(e),
|
|
326
323
|
behavior: t ? "smooth" : "instant"
|
|
@@ -356,21 +353,21 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
356
353
|
p: () => {
|
|
357
354
|
const [t, s] = e.t();
|
|
358
355
|
if (!t) return;
|
|
359
|
-
d &&
|
|
360
|
-
const
|
|
361
|
-
o <= 0 || o >= a ||
|
|
356
|
+
d && n && n(), d = !1;
|
|
357
|
+
const r = e.$getScrollOffset(), o = r + t, a = e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize();
|
|
358
|
+
o <= 0 || o >= a || r >= a ? v(o) : i.scrollBy({
|
|
362
359
|
[g]: S(t),
|
|
363
360
|
behavior: "instant"
|
|
364
361
|
}), s && (l && l(), e.$getViewportSize() > e.$getTotalSize() && e.$update(1, y()));
|
|
365
362
|
},
|
|
366
363
|
m: (t, i) => {
|
|
367
|
-
let s,
|
|
364
|
+
let s, r, n;
|
|
368
365
|
l && l();
|
|
369
366
|
const o = l = () => {
|
|
370
|
-
s = !0, q(
|
|
367
|
+
s = !0, q(r), n && n();
|
|
371
368
|
}, a = () => {
|
|
372
369
|
if (!s) {
|
|
373
|
-
if (e.$getViewportSize() && (q(
|
|
370
|
+
if (e.$getViewportSize() && (q(r), r = x(o, 150)), i) {
|
|
374
371
|
for (let [t, i] = e.$getRange(0); t <= i; t++) if (e.$isUnmeasuredItem(t)) return;
|
|
375
372
|
o();
|
|
376
373
|
}
|
|
@@ -380,7 +377,7 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
380
377
|
i && e.$update(8, t()), (() => {
|
|
381
378
|
if (s) return;
|
|
382
379
|
let t;
|
|
383
|
-
|
|
380
|
+
n = e.$subscribe(2, () => {
|
|
384
381
|
t || (t = !0, F(() => {
|
|
385
382
|
t = !1, a();
|
|
386
383
|
}));
|
|
@@ -389,33 +386,33 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
389
386
|
}
|
|
390
387
|
};
|
|
391
388
|
}, ee = (e, t) => {
|
|
392
|
-
let i, s,
|
|
393
|
-
const o = /* @__PURE__ */ new WeakMap, l = U(
|
|
389
|
+
let i, s, r = k(), n = !0;
|
|
390
|
+
const o = /* @__PURE__ */ new WeakMap, l = U(r => {
|
|
394
391
|
const l = [];
|
|
395
|
-
for (const {target: a, contentRect: {width: c, height: u}} of
|
|
396
|
-
|
|
392
|
+
for (const {target: a, contentRect: {width: c, height: u}} of r) if (a === i) c || u ? (n || s.u(),
|
|
393
|
+
n = !0, e.$update(4, t ? c : u)) : n = !1; else if (a.offsetParent) {
|
|
397
394
|
const e = o.get(a);
|
|
398
395
|
null != e && l.push([ e, t ? c : u ]);
|
|
399
396
|
}
|
|
400
397
|
l.length && e.$update(3, l);
|
|
401
398
|
});
|
|
402
399
|
return {
|
|
403
|
-
$observe(
|
|
400
|
+
$observe(n, o = n.parentElement) {
|
|
404
401
|
l.i(i = o), s = Z(e, o, o, t, t && "rtl" === getComputedStyle(o).direction, () => {
|
|
405
402
|
const e = t ? "overflowX" : "overflowY", i = o.style, s = i[e];
|
|
406
403
|
i[e] = "hidden", x(() => {
|
|
407
404
|
i[e] = s;
|
|
408
405
|
});
|
|
409
|
-
}),
|
|
406
|
+
}), r[1](!0);
|
|
410
407
|
},
|
|
411
408
|
$dispose() {
|
|
412
|
-
l.l(), s && s.l(),
|
|
409
|
+
l.l(), s && s.l(), r[1](!1), r = k();
|
|
413
410
|
},
|
|
414
411
|
$observeItem: (e, t) => (o.set(e, t), l.i(e), () => {
|
|
415
412
|
o.delete(e), l.o(e);
|
|
416
413
|
}),
|
|
417
414
|
async $scroll(e, t) {
|
|
418
|
-
await
|
|
415
|
+
await r[0] && s.m(e, t);
|
|
419
416
|
},
|
|
420
417
|
$effect() {
|
|
421
418
|
s && s.p();
|
|
@@ -426,37 +423,37 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
426
423
|
e.$scroll(() => t);
|
|
427
424
|
}, ie = (e, t, i) => {
|
|
428
425
|
te(e, i + t.$getScrollOffset());
|
|
429
|
-
}, se = (e, t, i, {align: s, smooth:
|
|
430
|
-
if (i =
|
|
431
|
-
const e = t.$getItemOffset(i),
|
|
432
|
-
if (e <
|
|
433
|
-
if (!(e + t.$getItemSize(i) >
|
|
426
|
+
}, se = (e, t, i, {align: s, smooth: r, offset: n = 0} = {}) => {
|
|
427
|
+
if (i = P(i, 0, t.$getItemsLength() - 1), "nearest" === s) {
|
|
428
|
+
const e = t.$getItemOffset(i), r = t.$getScrollOffset();
|
|
429
|
+
if (e < r) s = "start"; else {
|
|
430
|
+
if (!(e + t.$getItemSize(i) > r + t.$getViewportSize())) return;
|
|
434
431
|
s = "end";
|
|
435
432
|
}
|
|
436
433
|
}
|
|
437
|
-
e.$scroll(() =>
|
|
438
|
-
},
|
|
434
|
+
e.$scroll(() => n + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) - t.$getViewportSize() : "center" === s ? (t.$getItemSize(i) - t.$getViewportSize()) / 2 : 0), r);
|
|
435
|
+
}, re = (e, t, i, s, r, n, o) => {
|
|
439
436
|
const l = t.$getItemsLength(), a = i.$getPinnedStart(), c = i.$getTrailStart();
|
|
440
|
-
|
|
441
|
-
const u = B(s, a, c), p = H(u,
|
|
442
|
-
if ("nearest" ===
|
|
443
|
-
if (
|
|
444
|
-
const e = d(), i = t.$getScrollOffset() + e, s = t.$getViewportSize() - e - h(), o = t.$getItemSize(
|
|
445
|
-
let l = t.$getItemOffset(
|
|
446
|
-
if (m ===
|
|
437
|
+
r = P(r, 0, l - 1);
|
|
438
|
+
const u = B(s, a, c), p = H(u, r, c), m = p < 0 ? -1 : u[p], d = () => i.$getItemOffset(a) + (m < 0 || m === r ? 0 : i.$getItemOffset(m + 1) - i.$getItemOffset(m)), h = () => i.$getItemOffset(l) - i.$getItemOffset(c);
|
|
439
|
+
if ("nearest" === n) {
|
|
440
|
+
if (r < a || r >= c) return;
|
|
441
|
+
const e = d(), i = t.$getScrollOffset() + e, s = t.$getViewportSize() - e - h(), o = t.$getItemSize(r);
|
|
442
|
+
let l = t.$getItemOffset(r);
|
|
443
|
+
if (m === r) {
|
|
447
444
|
const e = (p + 1 < u.length ? u[p + 1] : c) - 1;
|
|
448
445
|
l = b(l, w(i, t.$getItemOffset(e) + t.$getItemSize(e) - o));
|
|
449
446
|
}
|
|
450
|
-
if (l < i)
|
|
447
|
+
if (l < i) n = "start"; else {
|
|
451
448
|
if (!(l + o > i + s)) return;
|
|
452
|
-
|
|
449
|
+
n = "end";
|
|
453
450
|
}
|
|
454
451
|
}
|
|
455
452
|
e.$scroll(o, () => {
|
|
456
|
-
const e = d(), i = t.$getItemSize(
|
|
457
|
-
return t.$getItemOffset(
|
|
453
|
+
const e = d(), i = t.$getItemSize(r) - (t.$getViewportSize() - e - h());
|
|
454
|
+
return t.$getItemOffset(r) - e + ("end" === n ? i : "center" === n ? i / 2 : 0);
|
|
458
455
|
});
|
|
459
|
-
},
|
|
456
|
+
}, ne = class t {
|
|
460
457
|
index=h.required();
|
|
461
458
|
offset=h.required();
|
|
462
459
|
hide=h.required();
|
|
@@ -477,7 +474,7 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
477
474
|
return e && (s.display = "inline-flex"), s;
|
|
478
475
|
});
|
|
479
476
|
constructor() {
|
|
480
|
-
const e = d(
|
|
477
|
+
const e = d(r).nativeElement;
|
|
481
478
|
let t;
|
|
482
479
|
c({
|
|
483
480
|
read: () => {
|
|
@@ -585,6 +582,7 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
585
582
|
startMargin=h(0);
|
|
586
583
|
scrolled=f();
|
|
587
584
|
scrollEnded=f();
|
|
585
|
+
resized=f();
|
|
588
586
|
contentTemplate=p(l);
|
|
589
587
|
h=d(le, {
|
|
590
588
|
optional: !0
|
|
@@ -593,34 +591,34 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
593
591
|
S;
|
|
594
592
|
v;
|
|
595
593
|
driver;
|
|
596
|
-
N=d(
|
|
594
|
+
N=d(r).nativeElement;
|
|
597
595
|
$=d(t);
|
|
598
596
|
R=g(void 0);
|
|
599
597
|
isSSR=g(!1);
|
|
600
|
-
|
|
598
|
+
P=u(() => {
|
|
601
599
|
this.R();
|
|
602
|
-
const e = this.data().length, [t, i] = this.S.$getRange(this.bufferSize()), s = this.keepMounted(),
|
|
600
|
+
const e = this.data().length, [t, i] = this.S.$getRange(this.bufferSize()), s = this.keepMounted(), r = [];
|
|
603
601
|
if (s) {
|
|
604
|
-
const
|
|
605
|
-
for (let e = t; e <= i; e++)
|
|
606
|
-
for (const t of
|
|
607
|
-
} else for (let e = t; e <= i; e++)
|
|
608
|
-
return
|
|
602
|
+
const n = new Set(s);
|
|
603
|
+
for (let e = t; e <= i; e++) n.add(e);
|
|
604
|
+
for (const t of I([ ...n ])) t < e && r.push(t);
|
|
605
|
+
} else for (let e = t; e <= i; e++) r.push(e);
|
|
606
|
+
return r;
|
|
609
607
|
});
|
|
610
608
|
items=u(() => {
|
|
611
609
|
this.R();
|
|
612
610
|
const e = this.S, t = this.data(), i = this.getKey(), s = this.itemProps();
|
|
613
|
-
return this.
|
|
614
|
-
const
|
|
611
|
+
return this.P().map(r => {
|
|
612
|
+
const n = t[r];
|
|
615
613
|
return {
|
|
616
|
-
key: i(
|
|
617
|
-
index:
|
|
618
|
-
data:
|
|
619
|
-
offset: e.$getItemOffset(
|
|
620
|
-
hide: e.$isUnmeasuredItem(
|
|
614
|
+
key: i(n, r),
|
|
615
|
+
index: r,
|
|
616
|
+
data: n,
|
|
617
|
+
offset: e.$getItemOffset(r),
|
|
618
|
+
hide: e.$isUnmeasuredItem(r),
|
|
621
619
|
attrs: s?.({
|
|
622
|
-
item:
|
|
623
|
-
index:
|
|
620
|
+
item: n,
|
|
621
|
+
index: r
|
|
624
622
|
})
|
|
625
623
|
};
|
|
626
624
|
});
|
|
@@ -661,13 +659,15 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
661
659
|
ngOnInit() {
|
|
662
660
|
const e = this.itemSize(), t = this.ssrCount();
|
|
663
661
|
this.isSSR.set(!!t);
|
|
664
|
-
const i = this.v = L(this.data().length, e, this.cacheProp()), s = this.S =
|
|
662
|
+
const i = this.v = L(this.data().length, e, this.cacheProp()), s = this.S = _(i, t);
|
|
665
663
|
this.driver = ee(s, this.horizontal()), s.$subscribe(1, e => {
|
|
666
664
|
this.R.set(s.$getStateVersion()), e && this.$.tick();
|
|
667
665
|
}), s.$subscribe(4, () => {
|
|
668
666
|
this.scrolled.emit(s.$getScrollOffset());
|
|
669
667
|
}), s.$subscribe(8, () => {
|
|
670
668
|
this.scrollEnded.emit();
|
|
669
|
+
}), s.$subscribe(2, () => {
|
|
670
|
+
this.resized.emit();
|
|
671
671
|
}), this.R.set(s.$getStateVersion());
|
|
672
672
|
}
|
|
673
673
|
get cache() {
|
|
@@ -677,13 +677,13 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
677
677
|
return this.S.$getScrollOffset();
|
|
678
678
|
}
|
|
679
679
|
get scrollSize() {
|
|
680
|
-
return
|
|
680
|
+
return M(this.S);
|
|
681
681
|
}
|
|
682
682
|
get viewportSize() {
|
|
683
683
|
return this.S.$getViewportSize();
|
|
684
684
|
}
|
|
685
685
|
findItemIndex(e) {
|
|
686
|
-
return this.S.$
|
|
686
|
+
return this.v.$findIndex(e - this.S.$getStartSpacerSize());
|
|
687
687
|
}
|
|
688
688
|
getItemOffset(e) {
|
|
689
689
|
return this.S.$getItemOffset(e);
|
|
@@ -802,7 +802,8 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
802
802
|
},
|
|
803
803
|
outputs: {
|
|
804
804
|
scrolled: "scrolled",
|
|
805
|
-
scrollEnded: "scrollEnded"
|
|
805
|
+
scrollEnded: "scrollEnded",
|
|
806
|
+
resized: "resized"
|
|
806
807
|
},
|
|
807
808
|
host: {
|
|
808
809
|
properties: {
|
|
@@ -822,7 +823,7 @@ z), _ = e => b(e.$getTotalSize(), e.$getViewportSize()), M = ({$getRange: e, $fi
|
|
|
822
823
|
isInline: !0,
|
|
823
824
|
dependencies: [ {
|
|
824
825
|
kind: "directive",
|
|
825
|
-
type: e.forwardRef(() =>
|
|
826
|
+
type: e.forwardRef(() => ne),
|
|
826
827
|
selector: "div[virtuaListItem]",
|
|
827
828
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
828
829
|
}, {
|
|
@@ -852,9 +853,10 @@ var ce = class t {
|
|
|
852
853
|
});
|
|
853
854
|
scrolled=f();
|
|
854
855
|
scrollEnded=f();
|
|
856
|
+
resized=f();
|
|
855
857
|
template=p.required(l);
|
|
856
858
|
virtualizer=y.required(ae);
|
|
857
|
-
N=d(
|
|
859
|
+
N=d(r).nativeElement;
|
|
858
860
|
ngOnInit() {
|
|
859
861
|
const e = this.horizontal(), t = this.N;
|
|
860
862
|
t.setAttribute("style", `display:block;${e ? "overflow-x" : "overflow-y"}:auto;contain:strict;width:100%;height:100%;` + (t.getAttribute("style") || ""));
|
|
@@ -977,7 +979,8 @@ var ce = class t {
|
|
|
977
979
|
},
|
|
978
980
|
outputs: {
|
|
979
981
|
scrolled: "scrolled",
|
|
980
|
-
scrollEnded: "scrollEnded"
|
|
982
|
+
scrollEnded: "scrollEnded",
|
|
983
|
+
resized: "resized"
|
|
981
984
|
},
|
|
982
985
|
queries: [ {
|
|
983
986
|
propertyName: "template",
|
|
@@ -996,14 +999,14 @@ var ce = class t {
|
|
|
996
999
|
isSignal: !0
|
|
997
1000
|
} ],
|
|
998
1001
|
ngImport: e,
|
|
999
|
-
template: '\n <div\n virtuaVirtualizer\n [data]="data()"\n [getKey]="getKey()"\n [itemProps]="itemProps()"\n [bufferSize]="bufferSize()"\n [itemSize]="itemSize()"\n [ssrCount]="ssrCount()"\n [shift]="shift()"\n [horizontal]="horizontal()"\n [keepMounted]="keepMounted()"\n [cache]="cacheProp()"\n (scrolled)="scrolled.emit($event)"\n (scrollEnded)="scrollEnded.emit()"\n ></div>\n ',
|
|
1002
|
+
template: '\n <div\n virtuaVirtualizer\n [data]="data()"\n [getKey]="getKey()"\n [itemProps]="itemProps()"\n [bufferSize]="bufferSize()"\n [itemSize]="itemSize()"\n [ssrCount]="ssrCount()"\n [shift]="shift()"\n [horizontal]="horizontal()"\n [keepMounted]="keepMounted()"\n [cache]="cacheProp()"\n (scrolled)="scrolled.emit($event)"\n (scrollEnded)="scrollEnded.emit()"\n (resized)="resized.emit()"\n ></div>\n ',
|
|
1000
1003
|
isInline: !0,
|
|
1001
1004
|
dependencies: [ {
|
|
1002
1005
|
kind: "directive",
|
|
1003
1006
|
type: e.forwardRef(() => ae),
|
|
1004
1007
|
selector: "virtua-virtualizer",
|
|
1005
1008
|
inputs: [ "data", "getKey", "itemProps", "bufferSize", "scrollRef", "itemSize", "ssrCount", "shift", "horizontal", "keepMounted", "cache", "startMargin" ],
|
|
1006
|
-
outputs: [ "scrolled", "scrollEnded" ]
|
|
1009
|
+
outputs: [ "scrolled", "scrollEnded", "resized" ]
|
|
1007
1010
|
} ],
|
|
1008
1011
|
viewProviders: [ {
|
|
1009
1012
|
provide: le,
|
|
@@ -1028,20 +1031,21 @@ var ue = class i {
|
|
|
1028
1031
|
});
|
|
1029
1032
|
scrolled=f();
|
|
1030
1033
|
scrollEnded=f();
|
|
1034
|
+
resized=f();
|
|
1031
1035
|
template=p.required(l);
|
|
1032
1036
|
S;
|
|
1033
1037
|
v;
|
|
1034
1038
|
driver;
|
|
1035
|
-
N=d(
|
|
1039
|
+
N=d(r).nativeElement;
|
|
1036
1040
|
$=d(t);
|
|
1037
1041
|
R=g(void 0);
|
|
1038
1042
|
isSSR=g(!1);
|
|
1039
1043
|
items=u(() => {
|
|
1040
1044
|
this.R();
|
|
1041
|
-
const e = this.S, t = this.data(), i = this.getKey(), [s,
|
|
1042
|
-
for (let o = s; o <=
|
|
1045
|
+
const e = this.S, t = this.data(), i = this.getKey(), [s, r] = e.$getRange(this.bufferSize()), n = [];
|
|
1046
|
+
for (let o = s; o <= r; o++) {
|
|
1043
1047
|
const s = t[o];
|
|
1044
|
-
|
|
1048
|
+
n.push({
|
|
1045
1049
|
key: i(s, o),
|
|
1046
1050
|
index: o,
|
|
1047
1051
|
data: s,
|
|
@@ -1049,7 +1053,7 @@ var ue = class i {
|
|
|
1049
1053
|
hide: e.$isUnmeasuredItem(o)
|
|
1050
1054
|
});
|
|
1051
1055
|
}
|
|
1052
|
-
return
|
|
1056
|
+
return n;
|
|
1053
1057
|
});
|
|
1054
1058
|
containerStyle=u(() => {
|
|
1055
1059
|
this.R();
|
|
@@ -1084,31 +1088,31 @@ var ue = class i {
|
|
|
1084
1088
|
ngOnInit() {
|
|
1085
1089
|
const e = this.itemSize(), t = this.ssrCount();
|
|
1086
1090
|
this.isSSR.set(!!t);
|
|
1087
|
-
const i = this.v = L(this.data().length, e, this.cacheProp()), s = this.S =
|
|
1091
|
+
const i = this.v = L(this.data().length, e, this.cacheProp()), s = this.S = _(i, t);
|
|
1088
1092
|
this.driver = ((e, t) => {
|
|
1089
|
-
let i, s,
|
|
1093
|
+
let i, s, r, n, o, l = k();
|
|
1090
1094
|
const a = /* @__PURE__ */ new WeakMap, c = U(s => {
|
|
1091
|
-
const
|
|
1092
|
-
for (const {target: e, contentRect: {width:
|
|
1095
|
+
const r = [];
|
|
1096
|
+
for (const {target: e, contentRect: {width: n, height: l}} of s) if (e === i) o && o(); else if (e.offsetParent) {
|
|
1093
1097
|
const i = a.get(e);
|
|
1094
|
-
null != i &&
|
|
1098
|
+
null != i && r.push([ i, t ? n : l ]);
|
|
1095
1099
|
}
|
|
1096
|
-
|
|
1100
|
+
r.length && e.$update(3, r);
|
|
1097
1101
|
});
|
|
1098
1102
|
return {
|
|
1099
1103
|
$observe(a) {
|
|
1100
|
-
const u =
|
|
1101
|
-
const
|
|
1104
|
+
const u = O(a), p = C(u), m = i = u.scrollingElement, d = t && "rtl" === getComputedStyle(m).direction, h = (e, t, i, s, r = 0) => {
|
|
1105
|
+
const n = s ? "offsetLeft" : "offsetTop", o = r + (d ? t.clientWidth - e[n] - e.offsetWidth : e[n]), l = e.offsetParent;
|
|
1102
1106
|
return e !== i && l ? h(l, t, i, s, o) : o;
|
|
1103
|
-
}, f =
|
|
1107
|
+
}, f = n = () => h(a, m, u.body, t), g = o = () => {
|
|
1104
1108
|
e.$update(4, m[t ? "clientWidth" : "clientHeight"]);
|
|
1105
1109
|
};
|
|
1106
|
-
p.addEventListener("resize", g), c.i(m),
|
|
1110
|
+
p.addEventListener("resize", g), c.i(m), r = () => {
|
|
1107
1111
|
p.removeEventListener("resize", g);
|
|
1108
1112
|
}, s = Z(e, p, m, t, d, null, f), l[1](!0);
|
|
1109
1113
|
},
|
|
1110
1114
|
$dispose() {
|
|
1111
|
-
|
|
1115
|
+
r && r(), c.l(), s && s.l(), l[1](!1), l = k();
|
|
1112
1116
|
},
|
|
1113
1117
|
$observeItem: (e, t) => (a.set(e, t), c.i(e), () => {
|
|
1114
1118
|
a.delete(e), c.o(e);
|
|
@@ -1119,7 +1123,7 @@ var ue = class i {
|
|
|
1119
1123
|
$effect() {
|
|
1120
1124
|
s && s.p();
|
|
1121
1125
|
},
|
|
1122
|
-
$getBaseOffset: () =>
|
|
1126
|
+
$getBaseOffset: () => n()
|
|
1123
1127
|
};
|
|
1124
1128
|
})(s, this.horizontal()), s.$subscribe(1, e => {
|
|
1125
1129
|
this.R.set(s.$getStateVersion()), e && this.$.tick();
|
|
@@ -1127,6 +1131,8 @@ var ue = class i {
|
|
|
1127
1131
|
this.scrolled.emit();
|
|
1128
1132
|
}), s.$subscribe(8, () => {
|
|
1129
1133
|
this.scrollEnded.emit();
|
|
1134
|
+
}), s.$subscribe(2, () => {
|
|
1135
|
+
this.resized.emit();
|
|
1130
1136
|
}), this.R.set(s.$getStateVersion());
|
|
1131
1137
|
}
|
|
1132
1138
|
get cache() {
|
|
@@ -1139,7 +1145,7 @@ var ue = class i {
|
|
|
1139
1145
|
return this.S.$getViewportSize();
|
|
1140
1146
|
}
|
|
1141
1147
|
findItemIndex(e) {
|
|
1142
|
-
return this.S.$
|
|
1148
|
+
return this.v.$findIndex(e - this.S.$getStartSpacerSize());
|
|
1143
1149
|
}
|
|
1144
1150
|
getItemOffset(e) {
|
|
1145
1151
|
return this.S.$getItemOffset(e);
|
|
@@ -1224,7 +1230,8 @@ var ue = class i {
|
|
|
1224
1230
|
},
|
|
1225
1231
|
outputs: {
|
|
1226
1232
|
scrolled: "scrolled",
|
|
1227
|
-
scrollEnded: "scrollEnded"
|
|
1233
|
+
scrollEnded: "scrollEnded",
|
|
1234
|
+
resized: "resized"
|
|
1228
1235
|
},
|
|
1229
1236
|
host: {
|
|
1230
1237
|
properties: {
|
|
@@ -1244,7 +1251,7 @@ var ue = class i {
|
|
|
1244
1251
|
isInline: !0,
|
|
1245
1252
|
dependencies: [ {
|
|
1246
1253
|
kind: "directive",
|
|
1247
|
-
type: e.forwardRef(() =>
|
|
1254
|
+
type: e.forwardRef(() => ne),
|
|
1248
1255
|
selector: "div[virtuaListItem]",
|
|
1249
1256
|
inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
|
|
1250
1257
|
}, {
|
|
@@ -1263,15 +1270,15 @@ var pe = class t {
|
|
|
1263
1270
|
state=h.required();
|
|
1264
1271
|
resizer=h.required();
|
|
1265
1272
|
constructor() {
|
|
1266
|
-
const e = d(
|
|
1267
|
-
let
|
|
1273
|
+
const e = d(r).nativeElement, t = u(() => this.state().$measureRow), i = u(() => this.state().$measureCol);
|
|
1274
|
+
let n;
|
|
1268
1275
|
c({
|
|
1269
1276
|
read: () => {
|
|
1270
|
-
const s = t(),
|
|
1271
|
-
|
|
1277
|
+
const s = t(), r = i();
|
|
1278
|
+
n && n(), n = null == s && null == r ? void 0 : S(this.resizer)(e, s, r);
|
|
1272
1279
|
}
|
|
1273
1280
|
}), d(s).onDestroy(() => {
|
|
1274
|
-
|
|
1281
|
+
n && n();
|
|
1275
1282
|
});
|
|
1276
1283
|
}
|
|
1277
1284
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
@@ -1498,26 +1505,27 @@ var pe = class t {
|
|
|
1498
1505
|
verticalScrolled=f();
|
|
1499
1506
|
horizontalScrolled=f();
|
|
1500
1507
|
scrollEnded=f();
|
|
1508
|
+
resized=f();
|
|
1501
1509
|
template=p.required(l);
|
|
1502
1510
|
container=y.required("container");
|
|
1503
|
-
|
|
1511
|
+
I;
|
|
1504
1512
|
q;
|
|
1505
1513
|
F;
|
|
1506
|
-
|
|
1514
|
+
k;
|
|
1507
1515
|
driver;
|
|
1508
|
-
N=d(
|
|
1516
|
+
N=d(r).nativeElement;
|
|
1509
1517
|
$=d(t);
|
|
1510
1518
|
R=g(void 0);
|
|
1511
|
-
ariaRowCount=d(new
|
|
1519
|
+
ariaRowCount=d(new n("aria-rowcount"), {
|
|
1512
1520
|
optional: !0
|
|
1513
1521
|
});
|
|
1514
|
-
ariaColCount=d(new
|
|
1522
|
+
ariaColCount=d(new n("aria-colcount"), {
|
|
1515
1523
|
optional: !0
|
|
1516
1524
|
});
|
|
1517
|
-
rowCount=u(() => this.R() && this.
|
|
1525
|
+
rowCount=u(() => this.R() && this.I.$getItemsLength());
|
|
1518
1526
|
colCount=u(() => this.R() && this.q.$getItemsLength());
|
|
1519
|
-
|
|
1520
|
-
C=u(() => this.
|
|
1527
|
+
O=u(() => this.F.$getSizes(this.rows(), this.rowHeight()));
|
|
1528
|
+
C=u(() => this.k.$getSizes(this.cols(), this.colWidth()));
|
|
1521
1529
|
T=u(() => ((e = N) => {
|
|
1522
1530
|
const t = /* @__PURE__ */ new Map;
|
|
1523
1531
|
for (const i of e) {
|
|
@@ -1529,18 +1537,18 @@ var pe = class t {
|
|
|
1529
1537
|
}
|
|
1530
1538
|
return t;
|
|
1531
1539
|
})(this.spans()));
|
|
1532
|
-
plan=u(() => (this.R(), ((e, t, [i, s], [
|
|
1540
|
+
plan=u(() => (this.R(), ((e, t, [i, s], [r, n], o, l = N, a = N, c) => {
|
|
1533
1541
|
const u = e.$getLength(), p = t.$getLength(), m = e.$getPinnedStart(), d = e.$getTrailStart(), h = t.$getPinnedStart(), f = t.$getTrailStart();
|
|
1534
|
-
i =
|
|
1542
|
+
i = P(i, m, d), s = w(s, d - 1), r = P(r, h, f), n = w(n, f - 1);
|
|
1535
1543
|
const g = B(l, m, d), S = b(h - 1, 0), y = [], v = [], z = [];
|
|
1536
1544
|
for (const e of a) e.rowIndex < u && e.colIndex < p && (z.push(e), y.push(e.rowIndex));
|
|
1537
1545
|
const $ = z.length, R = H(g, i, d), x = R < 0 ? -1 : g[R];
|
|
1538
1546
|
x >= 0 && y.push(x);
|
|
1539
|
-
const q = A(
|
|
1547
|
+
const q = A(I(y), u, m, i, s, d);
|
|
1540
1548
|
for (let e = 0; e < q.length; e++) for (const t of o.get(q[e]) || N) {
|
|
1541
1549
|
const {rowIndex: o, colIndex: l} = t, a = Q(t, u), c = J(t, p);
|
|
1542
1550
|
if ((e < 1 || q[e - 1] < o) && l < p && (a - o > 1 || c - l > 1)) {
|
|
1543
|
-
let e = (o < m || b(o, i) < w(a, s + 1) || d < a || x >= o && x < a) && (l < h || b(l,
|
|
1551
|
+
let e = (o < m || b(o, i) < w(a, s + 1) || d < a || x >= o && x < a) && (l < h || b(l, r) < w(c, n + 1) || f < c);
|
|
1544
1552
|
for (let t = 0; !e && t < $; t++) {
|
|
1545
1553
|
const i = z[t];
|
|
1546
1554
|
e = i.rowIndex >= o && i.rowIndex < a && i.colIndex >= l && i.colIndex < c;
|
|
@@ -1552,19 +1560,19 @@ var pe = class t {
|
|
|
1552
1560
|
const i = H(g, e, d);
|
|
1553
1561
|
y.push(e), i >= 0 && y.push(g[i]), v.push(t);
|
|
1554
1562
|
}
|
|
1555
|
-
|
|
1556
|
-
const F = A(y, u, m, i, s, d),
|
|
1563
|
+
I(y), I(v);
|
|
1564
|
+
const F = A(y, u, m, i, s, d), k = A(v, p, h, r, n, f), O = F.length, C = k.length, T = /* @__PURE__ */ new Map, M = [], _ = [];
|
|
1557
1565
|
for (const e of z) {
|
|
1558
1566
|
const t = Q(e, u), i = J(e, p);
|
|
1559
|
-
|
|
1560
|
-
const s =
|
|
1561
|
-
for (let
|
|
1562
|
-
const t = F[
|
|
1563
|
-
for (let
|
|
1567
|
+
M.push(t), _.push(i);
|
|
1568
|
+
const s = k.indexOf(e.colIndex);
|
|
1569
|
+
for (let r = F.indexOf(e.rowIndex); r < O && F[r] < t; r++) {
|
|
1570
|
+
const t = F[r] * p;
|
|
1571
|
+
for (let r = s; r < C && k[r] < i; r++) T.set(t + k[r], e);
|
|
1564
1572
|
}
|
|
1565
1573
|
}
|
|
1566
1574
|
const V = [];
|
|
1567
|
-
for (const e of
|
|
1575
|
+
for (const e of k) V.push(!t.$isMeasurable(e) && null);
|
|
1568
1576
|
const E = [], L = e.$getItemOffset(m), K = [];
|
|
1569
1577
|
let D = K;
|
|
1570
1578
|
const G = W.get(e), j = /* @__PURE__ */ new Map;
|
|
@@ -1572,7 +1580,7 @@ var pe = class t {
|
|
|
1572
1580
|
const l = o < m, a = o >= d, y = H(g, o, d), v = l ? 0 : a ? d : y < 0 ? -1 : g[y];
|
|
1573
1581
|
if (o === v) {
|
|
1574
1582
|
const e = l ? m : a ? u : y + 1 < g.length ? g[y + 1] : d;
|
|
1575
|
-
|
|
1583
|
+
M.push(e);
|
|
1576
1584
|
const t = [];
|
|
1577
1585
|
K.push({
|
|
1578
1586
|
$key: l ? -1 : a ? -2 : -3 - v,
|
|
@@ -1580,26 +1588,26 @@ var pe = class t {
|
|
|
1580
1588
|
$style: Y(v, e, l || a ? 0 : null, a ? "bottom" : "top", 4)
|
|
1581
1589
|
}), D = t;
|
|
1582
1590
|
} else v < 0 && (D = K);
|
|
1583
|
-
const z = y >= 0 && o === v, N = l || a || o === x || o >= i && o <= s, w = z ? L : null, $ = o * p, R = G && G.get(o),
|
|
1584
|
-
let q = 0, F = !e.$isMeasurable(o) && null,
|
|
1591
|
+
const z = y >= 0 && o === v, N = l || a || o === x || o >= i && o <= s, w = z ? L : null, $ = o * p, R = G && G.get(o), P = R && R.$cells, I = [];
|
|
1592
|
+
let q = 0, F = !e.$isMeasurable(o) && null, O = o + 1, _ = !1;
|
|
1585
1593
|
for (let e = 0; e < C; e++) {
|
|
1586
|
-
const i =
|
|
1594
|
+
const i = k[e], s = i < h, a = i >= f, m = s || a || i >= r && i <= n, d = T.get($ + i);
|
|
1587
1595
|
if (d ? d.rowIndex === o && d.colIndex === i : N && m) {
|
|
1588
|
-
const
|
|
1596
|
+
const r = d ? Q(d, u) : o + 1, n = d ? J(d, p) : i + 1, m = r - o, h = n - i, f = m > 1, g = h > 1, y = f || g;
|
|
1589
1597
|
let v, N;
|
|
1590
|
-
|
|
1591
|
-
const w = s ? t.$getItemOffset(i) : null, $ = a ? t.$getItemOffset(p) - t.$getItemOffset(
|
|
1598
|
+
O = b(O, r);
|
|
1599
|
+
const w = s ? t.$getItemOffset(i) : null, $ = a ? t.$getItemOffset(p) - t.$getItemOffset(n) : null;
|
|
1592
1600
|
!1 !== F || f || (v = o, F = !0), !1 !== V[e] || g || (N = i, V[e] = !0);
|
|
1593
|
-
const R = l ? "columnheader" : i === S && (s || z) ? "rowheader" : "cell", x = y ? m : void 0,
|
|
1601
|
+
const R = l ? "columnheader" : i === S && (s || z) ? "rowheader" : "cell", x = y ? m : void 0, k = y ? h : void 0, C = "cell" !== R && c && c.rowIndex === o && c.colIndex === i ? c.order : void 0;
|
|
1594
1602
|
let T;
|
|
1595
|
-
if (
|
|
1596
|
-
const e =
|
|
1597
|
-
for (;q < e &&
|
|
1598
|
-
q < e &&
|
|
1603
|
+
if (P) {
|
|
1604
|
+
const e = P.length;
|
|
1605
|
+
for (;q < e && P[q].$col < i; ) q++;
|
|
1606
|
+
q < e && P[q].$col === i && (T = P[q]);
|
|
1599
1607
|
}
|
|
1600
|
-
if (!T || T.$rowSpan !== x || T.$colSpan !==
|
|
1608
|
+
if (!T || T.$rowSpan !== x || T.$colSpan !== k || T.$start !== w || T.$end !== $ || T.$measureRow !== v || T.$measureCol !== N || T.$role !== R || T.$sort !== C) {
|
|
1601
1609
|
let e = "1/l" + i;
|
|
1602
|
-
y && (e += "/l" +
|
|
1610
|
+
y && (e += "/l" + r + "/l" + n);
|
|
1603
1611
|
const t = {
|
|
1604
1612
|
contain: "layout style",
|
|
1605
1613
|
display: "grid",
|
|
@@ -1610,7 +1618,7 @@ var pe = class t {
|
|
|
1610
1618
|
t.position = "sticky", t.zIndex = 2), T = {
|
|
1611
1619
|
$col: i,
|
|
1612
1620
|
$rowSpan: x,
|
|
1613
|
-
$colSpan:
|
|
1621
|
+
$colSpan: k,
|
|
1614
1622
|
$measureRow: v,
|
|
1615
1623
|
$measureCol: N,
|
|
1616
1624
|
$role: R,
|
|
@@ -1618,33 +1626,33 @@ var pe = class t {
|
|
|
1618
1626
|
$style: t,
|
|
1619
1627
|
$start: w,
|
|
1620
1628
|
$end: $
|
|
1621
|
-
},
|
|
1629
|
+
}, _ = !0;
|
|
1622
1630
|
}
|
|
1623
|
-
|
|
1631
|
+
I.push(T);
|
|
1624
1632
|
}
|
|
1625
1633
|
}
|
|
1626
|
-
if (E.push(F),
|
|
1627
|
-
const e = R && !
|
|
1634
|
+
if (E.push(F), I.length) {
|
|
1635
|
+
const e = R && !_ && R.$cells.length === I.length && R.$top === w ? R : {
|
|
1628
1636
|
$row: o,
|
|
1629
|
-
$cells:
|
|
1630
|
-
$style: Y(o,
|
|
1637
|
+
$cells: I,
|
|
1638
|
+
$style: Y(o, O, w, "top", 3),
|
|
1631
1639
|
$top: w
|
|
1632
1640
|
};
|
|
1633
1641
|
j.set(o, e), D.push(e);
|
|
1634
1642
|
}
|
|
1635
1643
|
}
|
|
1636
1644
|
return W.set(e, j), {
|
|
1637
|
-
$rowTemplate: X(e, F, E,
|
|
1638
|
-
$colTemplate: X(t,
|
|
1645
|
+
$rowTemplate: X(e, F, E, I(M), "max-content", u),
|
|
1646
|
+
$colTemplate: X(t, k, V, I(_), "minmax(max-content,auto)", p),
|
|
1639
1647
|
$groups: K
|
|
1640
1648
|
};
|
|
1641
|
-
})(this.F, this.
|
|
1649
|
+
})(this.F, this.k, this.I.$getRange(this.bufferSize()), this.q.$getRange(this.bufferSize()), this.T(), this.sectionRows(), this.keepMounted(), this.ariaSort())));
|
|
1642
1650
|
rowItem(e) {
|
|
1643
1651
|
return D(this.rows(), e);
|
|
1644
1652
|
}
|
|
1645
1653
|
containerStyle=u(() => {
|
|
1646
1654
|
this.R();
|
|
1647
|
-
const {$rowTemplate: e, $colTemplate: t} = this.plan(), i = this.
|
|
1655
|
+
const {$rowTemplate: e, $colTemplate: t} = this.plan(), i = this.I.$getItemOffset(0), s = this.q.$getItemOffset(0);
|
|
1648
1656
|
return {
|
|
1649
1657
|
contain: "size style",
|
|
1650
1658
|
"overflow-anchor": "none",
|
|
@@ -1655,20 +1663,20 @@ var pe = class t {
|
|
|
1655
1663
|
gap: this.gap() + "px",
|
|
1656
1664
|
"margin-top": i + "px",
|
|
1657
1665
|
"margin-inline-start": s + "px",
|
|
1658
|
-
height:
|
|
1659
|
-
"pointer-events": this.
|
|
1666
|
+
height: M(this.I) - i + "px",
|
|
1667
|
+
"pointer-events": this.I.$isScrolling() || this.q.$isScrolling() ? "none" : void 0
|
|
1660
1668
|
};
|
|
1661
1669
|
});
|
|
1662
1670
|
constructor() {
|
|
1663
1671
|
m(() => {
|
|
1664
|
-
const e = this.rows(), t = this.cols(), i = this.headerRows(), s = this.footerRows(),
|
|
1665
|
-
if (!this.
|
|
1666
|
-
const o = this.
|
|
1672
|
+
const e = this.rows(), t = this.cols(), i = this.headerRows(), s = this.footerRows(), r = this.headerCols(), n = this.footerCols();
|
|
1673
|
+
if (!this.I) return;
|
|
1674
|
+
const o = this.O(), l = this.C();
|
|
1667
1675
|
S(() => {
|
|
1668
|
-
this.F.$setPinned(i, s), this.
|
|
1676
|
+
this.F.$setPinned(i, s), this.k.$setPinned(r, n);
|
|
1669
1677
|
const a = K(e), c = K(t);
|
|
1670
|
-
a !== this.
|
|
1671
|
-
this.
|
|
1678
|
+
a !== this.I.$getItemsLength() && this.I.$update(5, [ a ]), c !== this.q.$getItemsLength() && this.q.$update(5, [ c ]),
|
|
1679
|
+
this.I.$update(9, this.F.$relayout(o, this.I.$getVisibleOffset())), this.q.$update(9, this.k.$relayout(l, this.q.$getVisibleOffset()));
|
|
1672
1680
|
});
|
|
1673
1681
|
}), a({
|
|
1674
1682
|
read: () => {
|
|
@@ -1679,19 +1687,19 @@ var pe = class t {
|
|
|
1679
1687
|
this.R(), this.driver.$effect();
|
|
1680
1688
|
}
|
|
1681
1689
|
}), d(s).onDestroy(() => {
|
|
1682
|
-
this.
|
|
1690
|
+
this.I?.$dispose(), this.q?.$dispose(), this.driver?.$dispose();
|
|
1683
1691
|
});
|
|
1684
1692
|
}
|
|
1685
1693
|
ngOnInit() {
|
|
1686
1694
|
const e = this.N;
|
|
1687
1695
|
e.setAttribute("style", "display:block;overflow:auto;contain:strict;width:100%;height:100%;" + (e.getAttribute("style") || ""));
|
|
1688
|
-
const t = this.gap(), i = this.F = G(this.rows(), this.rowHeight(), t), s = this.
|
|
1696
|
+
const t = this.gap(), i = this.F = G(this.rows(), this.rowHeight(), t), s = this.k = G(this.cols(), this.colWidth(), t), r = this.I = _(i), n = this.q = _(s);
|
|
1689
1697
|
this.driver = ((e, t) => {
|
|
1690
|
-
let i, s,
|
|
1691
|
-
const l = /* @__PURE__ */ new WeakMap, a = /* @__PURE__ */ new WeakMap, c = U(
|
|
1698
|
+
let i, s, r, n = k(), o = !0;
|
|
1699
|
+
const l = /* @__PURE__ */ new WeakMap, a = /* @__PURE__ */ new WeakMap, c = U(n => {
|
|
1692
1700
|
const c = [], u = [];
|
|
1693
|
-
for (const {target: p, contentRect: {width: m, height: d}} of
|
|
1694
|
-
|
|
1701
|
+
for (const {target: p, contentRect: {width: m, height: d}} of n) if (p === i) m || d ? (o || (s.u(),
|
|
1702
|
+
r.u()), o = !0, e.$update(4, d), t.$update(4, m)) : o = !1; else if (p.offsetParent) {
|
|
1695
1703
|
const e = l.get(p), t = a.get(p);
|
|
1696
1704
|
null != e && c.push([ e, d ]), null != t && u.push([ t, m ]);
|
|
1697
1705
|
}
|
|
@@ -1699,7 +1707,7 @@ var pe = class t {
|
|
|
1699
1707
|
});
|
|
1700
1708
|
return {
|
|
1701
1709
|
async $scroll(e, t) {
|
|
1702
|
-
await
|
|
1710
|
+
await n[0] && (e ? r : s).m(t);
|
|
1703
1711
|
},
|
|
1704
1712
|
$observe(o, l = o.parentElement) {
|
|
1705
1713
|
c.i(i = l);
|
|
@@ -1709,75 +1717,82 @@ var pe = class t {
|
|
|
1709
1717
|
i[e] = s;
|
|
1710
1718
|
});
|
|
1711
1719
|
});
|
|
1712
|
-
s = a(e, !1),
|
|
1720
|
+
s = a(e, !1), r = a(t, !0), n[1](!0);
|
|
1713
1721
|
},
|
|
1714
1722
|
$dispose() {
|
|
1715
|
-
c.l(), s && s.l(),
|
|
1723
|
+
c.l(), s && s.l(), r && r.l(), n[1](!1), n = k();
|
|
1716
1724
|
},
|
|
1717
1725
|
$observeItem: (e, t, i) => (null != t && l.set(e, t), null != i && a.set(e, i),
|
|
1718
1726
|
c.i(e), () => {
|
|
1719
1727
|
l.delete(e), a.delete(e), c.o(e);
|
|
1720
1728
|
}),
|
|
1721
1729
|
$effect() {
|
|
1722
|
-
s && s.p(),
|
|
1730
|
+
s && s.p(), r && r.p();
|
|
1723
1731
|
}
|
|
1724
1732
|
};
|
|
1725
|
-
})(
|
|
1733
|
+
})(r, n);
|
|
1726
1734
|
const o = e => {
|
|
1727
|
-
this.R.set(
|
|
1735
|
+
this.R.set(r.$getStateVersion() + n.$getStateVersion()), e && this.$.tick();
|
|
1728
1736
|
};
|
|
1729
|
-
|
|
1737
|
+
r.$subscribe(1, o), n.$subscribe(1, o);
|
|
1730
1738
|
let l = !1;
|
|
1731
|
-
|
|
1732
|
-
l = !0, this.verticalScrolled.emit(
|
|
1733
|
-
}),
|
|
1734
|
-
l = !0, this.horizontalScrolled.emit(
|
|
1739
|
+
r.$subscribe(4, () => {
|
|
1740
|
+
l = !0, this.verticalScrolled.emit(r.$getScrollOffset());
|
|
1741
|
+
}), n.$subscribe(4, () => {
|
|
1742
|
+
l = !0, this.horizontalScrolled.emit(n.$getScrollOffset());
|
|
1735
1743
|
});
|
|
1736
1744
|
const a = () => {
|
|
1737
|
-
!l ||
|
|
1745
|
+
!l || r.$isScrolling() || n.$isScrolling() || (l = !1, this.scrollEnded.emit());
|
|
1746
|
+
};
|
|
1747
|
+
let c;
|
|
1748
|
+
r.$subscribe(8, a), n.$subscribe(8, a);
|
|
1749
|
+
const u = () => {
|
|
1750
|
+
c || (c = !0, F(() => {
|
|
1751
|
+
c = !1, this.resized.emit();
|
|
1752
|
+
}));
|
|
1738
1753
|
};
|
|
1739
|
-
|
|
1754
|
+
r.$subscribe(2, u), n.$subscribe(2, u), o();
|
|
1740
1755
|
}
|
|
1741
1756
|
get verticalScrollOffset() {
|
|
1742
|
-
return this.
|
|
1757
|
+
return this.I.$getScrollOffset();
|
|
1743
1758
|
}
|
|
1744
1759
|
get horizontalScrollOffset() {
|
|
1745
1760
|
return this.q.$getScrollOffset();
|
|
1746
1761
|
}
|
|
1747
1762
|
get scrollHeight() {
|
|
1748
|
-
return
|
|
1763
|
+
return M(this.I);
|
|
1749
1764
|
}
|
|
1750
1765
|
get scrollWidth() {
|
|
1751
|
-
return
|
|
1766
|
+
return M(this.q);
|
|
1752
1767
|
}
|
|
1753
1768
|
get viewportHeight() {
|
|
1754
|
-
return this.
|
|
1769
|
+
return this.I.$getViewportSize();
|
|
1755
1770
|
}
|
|
1756
1771
|
get viewportWidth() {
|
|
1757
1772
|
return this.q.$getViewportSize();
|
|
1758
1773
|
}
|
|
1759
1774
|
findRowIndex(e) {
|
|
1760
|
-
return this.
|
|
1775
|
+
return this.F.$findIndex(e);
|
|
1761
1776
|
}
|
|
1762
1777
|
findColIndex(e) {
|
|
1763
|
-
return this.
|
|
1778
|
+
return this.k.$findIndex(e);
|
|
1764
1779
|
}
|
|
1765
1780
|
getRowOffset(e) {
|
|
1766
|
-
return this.
|
|
1781
|
+
return this.I.$getItemOffset(e);
|
|
1767
1782
|
}
|
|
1768
1783
|
getColOffset(e) {
|
|
1769
1784
|
return this.q.$getItemOffset(e);
|
|
1770
1785
|
}
|
|
1771
1786
|
getRowSize(e) {
|
|
1772
|
-
return this.
|
|
1787
|
+
return this.I.$getItemSize(e);
|
|
1773
1788
|
}
|
|
1774
1789
|
getColSize(e) {
|
|
1775
1790
|
return this.q.$getItemSize(e);
|
|
1776
1791
|
}
|
|
1777
1792
|
scrollToIndex(e) {
|
|
1778
|
-
((e, t, i, s,
|
|
1779
|
-
null != o &&
|
|
1780
|
-
})(this.driver, this.
|
|
1793
|
+
((e, t, i, s, r, n = N, {rowIndex: o, colIndex: l, rowAlign: a, colAlign: c}) => {
|
|
1794
|
+
null != o && re(e, t, s, n, o, a, !1), null != l && re(e, i, r, N, l, c, !0);
|
|
1795
|
+
})(this.driver, this.I, this.q, this.F, this.k, this.sectionRows(), e);
|
|
1781
1796
|
}
|
|
1782
1797
|
scrollTo({vertical: e, horizontal: t}) {
|
|
1783
1798
|
((e, t, i) => {
|
|
@@ -1785,16 +1800,16 @@ var pe = class t {
|
|
|
1785
1800
|
})(this.driver, e, t);
|
|
1786
1801
|
}
|
|
1787
1802
|
scrollBy({vertical: e, horizontal: t}) {
|
|
1788
|
-
((e, t, i, s,
|
|
1803
|
+
((e, t, i, s, r) => {
|
|
1789
1804
|
if (null != s) {
|
|
1790
1805
|
const i = s + t.$getScrollOffset();
|
|
1791
1806
|
e.$scroll(!1, () => i);
|
|
1792
1807
|
}
|
|
1793
|
-
if (null !=
|
|
1794
|
-
const t =
|
|
1808
|
+
if (null != r) {
|
|
1809
|
+
const t = r + i.$getScrollOffset();
|
|
1795
1810
|
e.$scroll(!0, () => t);
|
|
1796
1811
|
}
|
|
1797
|
-
})(this.driver, this.
|
|
1812
|
+
})(this.driver, this.I, this.q, e, t);
|
|
1798
1813
|
}
|
|
1799
1814
|
static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
|
|
1800
1815
|
minVersion: "12.0.0",
|
|
@@ -1913,7 +1928,8 @@ var pe = class t {
|
|
|
1913
1928
|
outputs: {
|
|
1914
1929
|
verticalScrolled: "verticalScrolled",
|
|
1915
1930
|
horizontalScrolled: "horizontalScrolled",
|
|
1916
|
-
scrollEnded: "scrollEnded"
|
|
1931
|
+
scrollEnded: "scrollEnded",
|
|
1932
|
+
resized: "resized"
|
|
1917
1933
|
},
|
|
1918
1934
|
host: {
|
|
1919
1935
|
attributes: {
|
|
@@ -1976,7 +1992,7 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
1976
1992
|
visibility: this.hide() ? "hidden" : void 0
|
|
1977
1993
|
}));
|
|
1978
1994
|
constructor() {
|
|
1979
|
-
const e = d(
|
|
1995
|
+
const e = d(r).nativeElement;
|
|
1980
1996
|
let t;
|
|
1981
1997
|
c({
|
|
1982
1998
|
read: () => {
|
|
@@ -2059,35 +2075,47 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2059
2075
|
gap=h();
|
|
2060
2076
|
itemSize=h();
|
|
2061
2077
|
bufferSize=h();
|
|
2078
|
+
keepMounted=h();
|
|
2062
2079
|
cacheProp=h(void 0, {
|
|
2063
2080
|
alias: "cache"
|
|
2064
2081
|
});
|
|
2065
2082
|
scrolled=f();
|
|
2066
2083
|
scrollEnded=f();
|
|
2084
|
+
resized=f();
|
|
2067
2085
|
template=p.required(l);
|
|
2068
2086
|
container=y.required("container");
|
|
2069
2087
|
S;
|
|
2070
2088
|
v;
|
|
2071
2089
|
driver;
|
|
2072
|
-
N=d(
|
|
2090
|
+
N=d(r).nativeElement;
|
|
2073
2091
|
$=d(t);
|
|
2074
2092
|
R=g(void 0);
|
|
2093
|
+
P=u(() => {
|
|
2094
|
+
this.R();
|
|
2095
|
+
const e = this.data().length, [t, i] = this.S.$getRange(this.bufferSize()), s = this.keepMounted(), r = [];
|
|
2096
|
+
if (s) {
|
|
2097
|
+
const n = new Set(s);
|
|
2098
|
+
for (let e = t; e <= i; e++) n.add(e);
|
|
2099
|
+
for (const t of I([ ...n ])) t < e && r.push(t);
|
|
2100
|
+
} else for (let e = t; e <= i; e++) r.push(e);
|
|
2101
|
+
return r;
|
|
2102
|
+
});
|
|
2075
2103
|
items=u(() => {
|
|
2076
2104
|
this.R();
|
|
2077
|
-
const e = this.S, t = this.v, i = this.data(), s = this.getKey(),
|
|
2078
|
-
for (
|
|
2079
|
-
const
|
|
2080
|
-
|
|
2081
|
-
key: s(
|
|
2082
|
-
index:
|
|
2083
|
-
data:
|
|
2084
|
-
offset: e.$getItemOffset(
|
|
2085
|
-
crossOffset: fe(
|
|
2105
|
+
const e = this.S, t = this.v, i = this.data(), s = this.getKey(), r = t.$getGap(), n = t.$getLanes(), o = fe(1 / n, r / n - r), l = [];
|
|
2106
|
+
for (const a of this.P()) {
|
|
2107
|
+
const c = i[a], u = t.$getItemLane(a);
|
|
2108
|
+
l.push({
|
|
2109
|
+
key: s(c, a),
|
|
2110
|
+
index: a,
|
|
2111
|
+
data: c,
|
|
2112
|
+
offset: e.$getItemOffset(a),
|
|
2113
|
+
crossOffset: fe(u / n, u * r / n),
|
|
2086
2114
|
crossSize: o,
|
|
2087
|
-
hide: e.$isUnmeasuredItem(
|
|
2115
|
+
hide: e.$isUnmeasuredItem(a)
|
|
2088
2116
|
});
|
|
2089
2117
|
}
|
|
2090
|
-
return
|
|
2118
|
+
return l;
|
|
2091
2119
|
});
|
|
2092
2120
|
containerStyle=u(() => (this.R(), {
|
|
2093
2121
|
contain: "size style",
|
|
@@ -2107,7 +2135,7 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2107
2135
|
}), m(() => {
|
|
2108
2136
|
const e = this.lanes(), t = this.gap();
|
|
2109
2137
|
this.S && S(() => {
|
|
2110
|
-
this.v.$
|
|
2138
|
+
this.S.$update(9, this.v.$relayout(e, t, this.S.$getVisibleOffset()));
|
|
2111
2139
|
});
|
|
2112
2140
|
}), a({
|
|
2113
2141
|
read: () => {
|
|
@@ -2124,90 +2152,88 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2124
2152
|
ngOnInit() {
|
|
2125
2153
|
const e = this.N;
|
|
2126
2154
|
e.setAttribute("style", "display:block;overflow-y:auto;contain:strict;width:100%;height:100%;" + (e.getAttribute("style") || ""));
|
|
2127
|
-
const t = this.v = ((e, t, i = 0, s,
|
|
2128
|
-
let
|
|
2129
|
-
const
|
|
2130
|
-
const t =
|
|
2131
|
-
return -1 === t ?
|
|
2132
|
-
},
|
|
2133
|
-
if (t = w(t, e - 1),
|
|
2134
|
-
const s = [],
|
|
2135
|
-
for (let e = 0; e <
|
|
2136
|
-
for (let e =
|
|
2137
|
-
const i =
|
|
2138
|
-
-1 ===
|
|
2155
|
+
const t = this.v = ((e, t, i = 0, s, r) => {
|
|
2156
|
+
let n = b(t, 1), o = r && r[1] || s || 40, l = -1, a = s ? void 0 : /* @__PURE__ */ new Set, c = !s;
|
|
2157
|
+
const u = r && r[0], p = u ? V(u.slice(0, w(e, u.length)), b(0, e - u.length)) : V([], e), m = [], d = [], h = [], f = e => {
|
|
2158
|
+
const t = p[e];
|
|
2159
|
+
return -1 === t ? o : t;
|
|
2160
|
+
}, g = t => {
|
|
2161
|
+
if (t = w(t, e - 1), l >= t) return;
|
|
2162
|
+
const s = [], r = [];
|
|
2163
|
+
for (let e = 0; e < n; e++) s.push(0), r.push(-1);
|
|
2164
|
+
for (let e = l, t = n; e >= 0 && t; e--) {
|
|
2165
|
+
const i = d[e];
|
|
2166
|
+
-1 === r[i] && (r[i] = e, s[i] = m[e] + f(e), t--);
|
|
2139
2167
|
}
|
|
2140
|
-
for (;
|
|
2141
|
-
const e = ++
|
|
2142
|
-
let t = 0, o = 1 / 0,
|
|
2143
|
-
for (let e = 0; e <
|
|
2144
|
-
const
|
|
2145
|
-
(
|
|
2168
|
+
for (;l < t; ) {
|
|
2169
|
+
const e = ++l;
|
|
2170
|
+
let t = 0, o = 1 / 0, a = 1 / 0;
|
|
2171
|
+
for (let e = 0; e < n; e++) {
|
|
2172
|
+
const n = s[e] + (r[e] >= 0 ? i : 0);
|
|
2173
|
+
(n < o || n === o && r[e] < a) && (t = e, o = n, a = r[e]);
|
|
2146
2174
|
}
|
|
2147
|
-
|
|
2175
|
+
m[e] = o, d[e] = t, s[t] = o + f(e), r[t] = e, h[e] = b(e ? h[e - 1] : 0, s[t]);
|
|
2148
2176
|
}
|
|
2149
|
-
},
|
|
2177
|
+
}, S = t => t >= e ? v() : (g(t), m[t]), y = e => (g(e), h[e]), v = () => e ? y(e - 1) : 0, z = t => {
|
|
2150
2178
|
if (!e) return 0;
|
|
2151
|
-
const i = E(
|
|
2152
|
-
return
|
|
2179
|
+
const i = E(y, e, t);
|
|
2180
|
+
return y(i) <= t ? i + 1 : i;
|
|
2153
2181
|
};
|
|
2154
2182
|
return {
|
|
2155
2183
|
$getRange: (t, i) => {
|
|
2156
|
-
const s = E(
|
|
2157
|
-
return [ w(
|
|
2184
|
+
const s = E(S, e, i);
|
|
2185
|
+
return [ w(z(t), s), s ];
|
|
2158
2186
|
},
|
|
2159
|
-
$
|
|
2160
|
-
$
|
|
2161
|
-
$
|
|
2162
|
-
$
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
for (;
|
|
2166
|
-
|
|
2167
|
-
const
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
if (u && o) {
|
|
2187
|
+
$getItemOffset: S,
|
|
2188
|
+
$getItemSize: f,
|
|
2189
|
+
$isSizeEqual: (e, t = -1) => p[e] === t,
|
|
2190
|
+
$resize: (t, s, r, u) => {
|
|
2191
|
+
let m = z(r);
|
|
2192
|
+
for (;m > 0 && !s(m - 1); ) m--;
|
|
2193
|
+
for (;m < e && s(m); ) m++;
|
|
2194
|
+
const d = S(m);
|
|
2195
|
+
for (const [e, i] of t) p[e] = i, a && a.add(e), l = w(e - 1, l);
|
|
2196
|
+
let h = S(m) - d;
|
|
2197
|
+
if (a && u) {
|
|
2171
2198
|
const e = [];
|
|
2172
2199
|
let t = 0;
|
|
2173
|
-
if (
|
|
2174
|
-
const
|
|
2175
|
-
|
|
2176
|
-
}), t >
|
|
2177
|
-
|
|
2178
|
-
const t = e.length, i = t / 2 | 0, s = t % 2 == 0 ? (e[i - 1] + e[i]) / 2 : e[i],
|
|
2179
|
-
|
|
2200
|
+
if (a.forEach(s => {
|
|
2201
|
+
const r = p[s];
|
|
2202
|
+
r > 0 && (e.push(r), t += r + i);
|
|
2203
|
+
}), t > u * n) {
|
|
2204
|
+
I(e);
|
|
2205
|
+
const t = e.length, i = t / 2 | 0, s = t % 2 == 0 ? (e[i - 1] + e[i]) / 2 : e[i], n = z(r + h), u = S(n);
|
|
2206
|
+
o = s, l = -1, h += S(n) - u, a = void 0, c = !1;
|
|
2180
2207
|
}
|
|
2181
2208
|
}
|
|
2182
2209
|
return h;
|
|
2183
2210
|
},
|
|
2184
|
-
$getTotalSize:
|
|
2211
|
+
$getTotalSize: v,
|
|
2185
2212
|
$getLength: () => e,
|
|
2186
2213
|
$setLength: t => {
|
|
2187
2214
|
const i = t - e;
|
|
2188
|
-
return
|
|
2215
|
+
return l = w(t - 1, l), e = t, i > 0 ? V(p, i) : p.splice(i), 0;
|
|
2189
2216
|
},
|
|
2190
|
-
$relayout: (e, t) => {
|
|
2191
|
-
if (
|
|
2192
|
-
const
|
|
2193
|
-
return
|
|
2217
|
+
$relayout: (e, t = 0, r) => {
|
|
2218
|
+
if ((e = b(e, 1)) === n && t === i) return;
|
|
2219
|
+
const o = z(r), c = S(o);
|
|
2220
|
+
return n = e, i = t, l = -1, a = s ? void 0 : /* @__PURE__ */ new Set, S(o) - c;
|
|
2194
2221
|
},
|
|
2195
|
-
$
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
$isEstimating: () => p,
|
|
2199
|
-
$snapshot: () => [ d.slice(), a ],
|
|
2200
|
-
$getLanes: () => r,
|
|
2222
|
+
$isEstimating: () => c,
|
|
2223
|
+
$snapshot: () => [ p.slice(), o ],
|
|
2224
|
+
$getLanes: () => n,
|
|
2201
2225
|
$getGap: () => i,
|
|
2202
|
-
$getItemLane: e => (
|
|
2226
|
+
$getItemLane: e => (g(e), d[e])
|
|
2203
2227
|
};
|
|
2204
|
-
})(this.data().length, this.lanes(), this.gap(), this.itemSize(), this.cacheProp()), i = this.S =
|
|
2228
|
+
})(this.data().length, this.lanes(), this.gap(), this.itemSize(), this.cacheProp()), i = this.S = _(t);
|
|
2205
2229
|
this.driver = ee(i, !1), i.$subscribe(1, e => {
|
|
2206
2230
|
this.R.set(i.$getStateVersion()), e && this.$.tick();
|
|
2207
2231
|
}), i.$subscribe(4, () => {
|
|
2208
2232
|
this.scrolled.emit(i.$getScrollOffset());
|
|
2209
2233
|
}), i.$subscribe(8, () => {
|
|
2210
2234
|
this.scrollEnded.emit();
|
|
2235
|
+
}), i.$subscribe(2, () => {
|
|
2236
|
+
this.resized.emit();
|
|
2211
2237
|
}), this.R.set(i.$getStateVersion());
|
|
2212
2238
|
}
|
|
2213
2239
|
get cache() {
|
|
@@ -2217,7 +2243,7 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2217
2243
|
return this.S.$getScrollOffset();
|
|
2218
2244
|
}
|
|
2219
2245
|
get scrollSize() {
|
|
2220
|
-
return
|
|
2246
|
+
return M(this.S);
|
|
2221
2247
|
}
|
|
2222
2248
|
get viewportSize() {
|
|
2223
2249
|
return this.S.$getViewportSize();
|
|
@@ -2294,6 +2320,13 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2294
2320
|
isRequired: !1,
|
|
2295
2321
|
transformFunction: null
|
|
2296
2322
|
},
|
|
2323
|
+
keepMounted: {
|
|
2324
|
+
classPropertyName: "keepMounted",
|
|
2325
|
+
publicName: "keepMounted",
|
|
2326
|
+
isSignal: !0,
|
|
2327
|
+
isRequired: !1,
|
|
2328
|
+
transformFunction: null
|
|
2329
|
+
},
|
|
2297
2330
|
cacheProp: {
|
|
2298
2331
|
classPropertyName: "cacheProp",
|
|
2299
2332
|
publicName: "cache",
|
|
@@ -2304,7 +2337,8 @@ var fe = (e, t) => t ? `calc(${100 * e}% + ${t}px)` : 100 * e + "%", ge = class
|
|
|
2304
2337
|
},
|
|
2305
2338
|
outputs: {
|
|
2306
2339
|
scrolled: "scrolled",
|
|
2307
|
-
scrollEnded: "scrollEnded"
|
|
2340
|
+
scrollEnded: "scrollEnded",
|
|
2341
|
+
resized: "resized"
|
|
2308
2342
|
},
|
|
2309
2343
|
queries: [ {
|
|
2310
2344
|
propertyName: "template",
|