virtua 0.50.3 → 0.50.5

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