virtua 0.50.6 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,23 +4,20 @@ import { ApplicationRef as t, ChangeDetectionStrategy as i, DestroyRef as s, Ele
4
4
 
5
5
  import { NgTemplateOutlet as y } from "@angular/common";
6
6
 
7
- var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R = e => [ ...e ].sort((e, t) => e - t), $ = setTimeout, I = clearTimeout, q = "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), I = setTimeout, $ = clearTimeout, q = "function" == typeof queueMicrotask ? queueMicrotask : e => {
8
8
  Promise.resolve().then(e);
9
9
  }, x = () => {
10
10
  let e;
11
11
  return [ new Promise(t => {
12
12
  e = t;
13
13
  }), e ];
14
- }, k = e => {
14
+ }, k = e => e.ownerDocument, F = e => e.defaultView, w = /*#__PURE__*/ (e => {
15
15
  let t;
16
16
  return () => (e && (t = e(), e = void 0), t);
17
- }, F = e => e.documentElement, w = e => e.ownerDocument, O = e => e.defaultView, T = /*#__PURE__*/ k(() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0), C = /*#__PURE__*/ k(() => "scrollBehavior" in F(document).style), M = ({$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, O = (e, t) => {
20
- const n = i(e) - y;
21
- return t ? o() - n - s(e) : n;
22
- }, C = e => {
23
- e && (T() && 0 !== P || $ && 1 === R ? y += e : S += e);
17
+ })(() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0), O = ({$getRange: e, $findIndex: t, $getItemOffset: i, $getItemSize: s, $setItemSize: n, $isSizeEqual: r, $getTotalSize: o, $getLength: a, $setLength: l, $estimateDefaultSize: c}, u = 0) => {
18
+ let m = !!c, h = !!u, p = 1, f = 0, d = 0, g = 0, S = 0, y = 0, N = 0, P = 0, R = 0, I = null, $ = [ 0, h ? z(u - 1, 0) : -1 ], q = 0, x = !1;
19
+ const k = /* @__PURE__ */ new Set, F = () => g - d, O = () => F() + y + S, T = e => i(e) - y, C = e => {
20
+ e && (w() && 0 !== P || I && 1 === R ? y += e : S += e);
24
21
  };
25
22
  return {
26
23
  $dispose: () => {
@@ -28,18 +25,18 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
28
25
  },
29
26
  $getStateVersion: () => p,
30
27
  $getRange: (t = 200) => {
31
- if (!x || h) return I;
28
+ if (!x || h) return $;
32
29
  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]));
30
+ if (N) [i, s] = $; else {
31
+ let n = z(0, O()), r = n + f;
32
+ m || (t = z(0, t), 1 !== P && (n -= t), 2 !== P && (r += t)), [i, s] = $ = e(z(0, n), z(0, r)),
33
+ I && (i = v(i, I[0]), s = z(s, I[1]));
37
34
  }
38
35
  return [ z(i, 0), v(s, a() - 1) ];
39
36
  },
40
37
  $findItemIndex: e => t(e - d),
41
38
  $isUnmeasuredItem: r,
42
- $getItemOffset: O,
39
+ $getItemOffset: T,
43
40
  $getItemSize: s,
44
41
  $getItemsLength: a,
45
42
  $getScrollOffset: () => g,
@@ -70,7 +67,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
70
67
  }
71
68
 
72
69
  case 2:
73
- z = 8, 0 !== P && (u = !0, z += 1), P = 0, R = 0, $ = null;
70
+ z = 8, 0 !== P && (u = !0, z += 1), P = 0, R = 0, I = null;
74
71
  break;
75
72
 
76
73
  case 3:
@@ -79,8 +76,8 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
79
76
  if (!e.length) break;
80
77
  C(e.reduce((e, [t, i]) => {
81
78
  let n;
82
- if (2 === R) n = !0; else if ($ && 1 === R) n = t < $[0]; else {
83
- const e = F(), i = O(t), r = s(t);
79
+ if (2 === R) n = !0; else if (I && 1 === R) n = t < I[0]; else {
80
+ const e = F(), i = T(t), r = s(t);
84
81
  n = 1 !== P && 0 === R ? i + r <= e : i < e && i + r < e + f;
85
82
  }
86
83
  return n && (e += i - s(t)), e;
@@ -89,7 +86,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
89
86
  const e = s(t), r = n(t, i);
90
87
  m && (q += r ? i : i - e);
91
88
  }
92
- m && f && q > f && (C(c(t(w()))), m = !1), z = 3, v = !0;
89
+ m && f && q > f && (C(c(t(O()))), m = !1), z = 3, v = !0;
93
90
  break;
94
91
  }
95
92
 
@@ -110,27 +107,27 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
110
107
  break;
111
108
 
112
109
  case 8:
113
- $ = e(a, a + f), z = 1;
110
+ I = e(a, a + f), z = 1;
114
111
  }
115
112
  z && (p = 1 + (2147483647 & p), u && y && (S += y, y = 0), k.forEach(([e, t]) => {
116
113
  z & e && t(v);
117
114
  }));
118
115
  }
119
116
  };
120
- }, _ = (e, t, i, s = 0, n = t - 1) => {
117
+ }, T = (e, t, i, s = 0, n = t - 1) => {
121
118
  let r = s;
122
119
  for (;s <= n; ) {
123
120
  const t = N((s + n) / 2);
124
121
  e(t) <= i ? (r = t, s = t + 1) : n = t - 1;
125
122
  }
126
123
  return P(r, 0, t - 1);
127
- }, K = (e, t, i) => {
124
+ }, C = (e, t, i) => {
128
125
  const s = i ? "unshift" : "push";
129
126
  for (let i = 0; i < t; i++) e[s](-1);
130
127
  return e;
131
- }, V = (e, t, i) => {
128
+ }, M = (e, t, i) => {
132
129
  let s = i && i[1] || t || 40, n = -1, r = 0;
133
- const o = i && i[0], a = o ? K(o.slice(0, v(e, o.length)), z(0, e - o.length)) : K([], e), l = K([], e + 1), c = e => {
130
+ const o = i && i[0], a = o ? C(o.slice(0, v(e, o.length)), z(0, e - o.length)) : C([], e), l = C([], e + 1), c = e => {
134
131
  const t = a[e];
135
132
  return -1 === t ? s : t;
136
133
  }, u = t => {
@@ -144,10 +141,10 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
144
141
  return {
145
142
  $getRange: (t, i) => {
146
143
  let s, n;
147
- return r = v(r, e - 1), u(r) <= t ? (n = _(u, e, i, r), s = _(u, e, t, r, n)) : (s = _(u, e, t, void 0, r),
148
- n = _(u, e, i, s)), r = s, [ s, n ];
144
+ return r = v(r, e - 1), u(r) <= t ? (n = T(u, e, i, r), s = T(u, e, t, r, n)) : (s = T(u, e, t, void 0, r),
145
+ n = T(u, e, i, s)), r = s, [ s, n ];
149
146
  },
150
- $findIndex: t => _(u, e, t),
147
+ $findIndex: t => T(u, e, t),
151
148
  $getItemOffset: u,
152
149
  $getItemSize: c,
153
150
  $setItemSize: (e, t) => {
@@ -159,7 +156,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
159
156
  $getLength: () => e,
160
157
  $setLength: (t, i) => {
161
158
  const r = t - e;
162
- return n = i ? -1 : v(t - 1, n), e = t, r > 0 ? (K(l, r), K(a, r, i), s * r) : (l.splice(r),
159
+ return n = i ? -1 : v(t - 1, n), e = t, r > 0 ? (C(l, r), C(a, r, i), s * r) : (l.splice(r),
163
160
  (i ? a.splice(0, -r) : a.splice(r)).reduce((e, t) => e - (-1 === t ? s : t), 0));
164
161
  },
165
162
  $estimateDefaultSize: t ? void 0 : e => {
@@ -173,11 +170,11 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
173
170
  },
174
171
  $snapshot: () => [ a.slice(), s ]
175
172
  };
176
- }, E = e => {
173
+ }, _ = e => {
177
174
  let t;
178
175
  return {
179
176
  i(i) {
180
- (t || (t = new (O(w(i)).ResizeObserver)(e))).observe(i);
177
+ (t || (t = new (F(k(i)).ResizeObserver)(e))).observe(i);
181
178
  },
182
179
  o(e) {
183
180
  t.unobserve(e);
@@ -186,13 +183,13 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
186
183
  t && t.disconnect();
187
184
  }
188
185
  };
189
- }, L = (e, t) => t ? -e : e, D = (e, t, i, s, n, r) => {
186
+ }, K = (e, t) => t ? -e : e, V = (e, t, i, s, n, r) => {
190
187
  let o, a = 0, l = !1, c = !1, u = !1, m = !1;
191
188
  const h = Date.now, p = () => {
192
189
  if (l || c) return l = !1, void f();
193
190
  u = !1, e.$update(2);
194
191
  }, f = () => {
195
- I(o), o = $(p, 150);
192
+ $(o), o = I(p, 150);
196
193
  }, d = () => {
197
194
  a = h(), u && (m = !0), r && e.$update(6, r()), e.$update(1, s()), f();
198
195
  }, g = t => {
@@ -202,7 +199,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
202
199
  }, S = () => {
203
200
  c = !0, u = m = !1;
204
201
  }, y = () => {
205
- c = !1, T() && (u = !0);
202
+ c = !1, w() && (u = !0);
206
203
  };
207
204
  return t.addEventListener("scroll", d), t.addEventListener("wheel", g, {
208
205
  passive: !0
@@ -213,45 +210,45 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
213
210
  }), {
214
211
  l: () => {
215
212
  t.removeEventListener("scroll", d), t.removeEventListener("wheel", g), t.removeEventListener("touchstart", S),
216
- t.removeEventListener("touchend", y), I(o);
213
+ t.removeEventListener("touchend", y), $(o);
217
214
  },
218
215
  u: () => {
219
216
  const [t, i] = e.t();
220
217
  t && (n(t, i, m), m = !1, i && e.$getViewportSize() > e.$getTotalSize() && e.$update(1, s()));
221
218
  }
222
219
  };
223
- }, B = (e, t, i) => {
220
+ }, E = (e, t, i) => {
224
221
  let s;
225
222
  return [ async (n, r) => {
226
223
  if (!await t()) return;
227
224
  let o, a, l;
228
225
  s && s();
229
- const c = r && C(), u = s = () => {
230
- o = !0, I(a), l && l();
231
- }, m = () => {
226
+ const c = s = () => {
227
+ o = !0, $(a), l && l();
228
+ }, u = () => {
232
229
  if (!o) {
233
- if (e.$getViewportSize() && (I(a), a = $(u, 150)), c) {
230
+ if (e.$getViewportSize() && ($(a), a = I(c, 150)), r) {
234
231
  for (let [t, i] = e.$getRange(0); t <= i; t++) if (e.$isUnmeasuredItem(t)) return;
235
- u();
232
+ c();
236
233
  }
237
- e.$update(7), i(n(), c);
234
+ e.$update(7), i(n(), r);
238
235
  }
239
- }, h = () => {
236
+ }, m = () => {
240
237
  if (o) return;
241
238
  let t;
242
239
  l = e.$subscribe(2, () => {
243
240
  t || (t = !0, q(() => {
244
- t = !1, m();
241
+ t = !1, u();
245
242
  }));
246
- }), m();
243
+ }), u();
247
244
  };
248
- c ? (e.$update(8, n()), q(h)) : h();
245
+ r ? (e.$update(8, n()), q(m)) : m();
249
246
  }, () => {
250
247
  s && s();
251
248
  } ];
252
- }, W = (e, t) => {
249
+ }, L = (e, t) => {
253
250
  e.$scroll(() => t);
254
- }, j = (e, t, i, {align: s, smooth: n, offset: r = 0} = {}) => {
251
+ }, D = (e, t, i, {align: s, smooth: n, offset: r = 0} = {}) => {
255
252
  if (i = P(i, 0, t.$getItemsLength() - 1), "nearest" === s) {
256
253
  const e = t.$getItemOffset(i), n = t.$getScrollOffset();
257
254
  if (e < n) s = "start"; else {
@@ -259,8 +256,8 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
259
256
  s = "end";
260
257
  }
261
258
  }
262
- e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) - (t.$getViewportSize() - e.$getScrollbarSize()) : "center" === s ? (t.$getItemSize(i) - (t.$getViewportSize() - e.$getScrollbarSize())) / 2 : 0), n);
263
- }, J = class t {
259
+ e.$scroll(() => r + e.$getBaseOffset() + t.$getItemOffset(i) + ("end" === s ? t.$getItemSize(i) - t.$getViewportSize() : "center" === s ? (t.$getItemSize(i) - t.$getViewportSize()) / 2 : 0), n);
260
+ }, B = class t {
264
261
  index=p.required();
265
262
  offset=p.required();
266
263
  hide=p.required();
@@ -274,7 +271,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
274
271
  position: t && i ? void 0 : "absolute",
275
272
  [e ? "height" : "width"]: "100%",
276
273
  [e ? "top" : "left"]: "0px",
277
- [e ? "left" : "top"]: this.offset() + "px",
274
+ [e ? "inset-inline-start" : "top"]: this.offset() + "px",
278
275
  visibility: !t || i ? void 0 : "hidden",
279
276
  ...this.attrs()?.style
280
277
  };
@@ -372,9 +369,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
372
369
  },
373
370
  ngImport: e
374
371
  });
375
- }, X = (e, t) => "_" + t, Y = new r("virtua-item-template"), Q = class i {
372
+ }, W = (e, t) => "_" + t, j = new r("virtua-item-template"), J = class i {
376
373
  data=p.required();
377
- getKey=p(X);
374
+ getKey=p(W);
378
375
  itemProps=p();
379
376
  bufferSize=p();
380
377
  scrollRef=p();
@@ -390,7 +387,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
390
387
  scroll=f();
391
388
  scrollEnd=f();
392
389
  contentTemplate=u(o);
393
- m=h(Y, {
390
+ m=h(j, {
394
391
  optional: !0
395
392
  });
396
393
  template=c(() => this.m?.() ?? this.contentTemplate());
@@ -413,18 +410,18 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
413
410
  });
414
411
  items=c(() => {
415
412
  this.N();
416
- const e = this.h, t = this.data(), i = this.getKey(), s = this.itemProps(), n = this.driver.$isNegative();
417
- return this.P().map(r => {
418
- const o = t[r];
413
+ const e = this.h, t = this.data(), i = this.getKey(), s = this.itemProps();
414
+ return this.P().map(n => {
415
+ const r = t[n];
419
416
  return {
420
- key: i(o, r),
421
- index: r,
422
- data: o,
423
- offset: e.$getItemOffset(r, n),
424
- hide: e.$isUnmeasuredItem(r),
417
+ key: i(r, n),
418
+ index: n,
419
+ data: r,
420
+ offset: e.$getItemOffset(n),
421
+ hide: e.$isUnmeasuredItem(n),
425
422
  attrs: s?.({
426
- item: o,
427
- index: r
423
+ item: r,
424
+ index: n
428
425
  })
429
426
  };
430
427
  });
@@ -465,47 +462,52 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
465
462
  ngOnInit() {
466
463
  const e = this.itemSize(), t = this.ssrCount();
467
464
  this.isSSR.set(!!t);
468
- const i = this.p = V(this.data().length, e, this.cacheProp()), s = this.h = M(i, t);
465
+ const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
469
466
  this.driver = ((e, t) => {
470
467
  let i, s, n = x(), r = !1;
471
- const o = t ? "scrollLeft" : "scrollTop", a = t ? "overflowX" : "overflowY", [l, c] = B(e, () => n[0], (e, s) => {
472
- e = L(e, r), s ? i.scrollTo({
473
- [t ? "left" : "top"]: e,
474
- behavior: "smooth"
475
- }) : i[o] = e;
476
- }), u = t ? "width" : "height", m = /* @__PURE__ */ new WeakMap, h = E(t => {
468
+ const o = t ? "scrollLeft" : "scrollTop", a = t ? "left" : "top", l = t ? "overflowX" : "overflowY", [c, u] = E(e, () => n[0], (e, t) => {
469
+ i.scrollTo({
470
+ [a]: K(e, r),
471
+ behavior: t ? "smooth" : "instant"
472
+ });
473
+ }), m = t ? "width" : "height", h = /* @__PURE__ */ new WeakMap, p = _(t => {
477
474
  const s = [];
478
- for (const {target: n, contentRect: r} of t) if (n.offsetParent) if (n === i) e.$update(4, r[u]); else {
479
- const e = m.get(n);
480
- null != e && s.push([ e, r[u] ]);
475
+ for (const {target: n, contentRect: r} of t) if (n.offsetParent) if (n === i) e.$update(4, r[m]); else {
476
+ const e = h.get(n);
477
+ null != e && s.push([ e, r[m] ]);
481
478
  }
482
479
  s.length && e.$update(3, s);
483
480
  });
484
481
  return {
485
- $observe(l, u = l.parentElement) {
486
- h.i(i = u), t && (r = "rtl" === getComputedStyle(u).direction), s = D(e, u, t, () => L(u[o], r), (t, i, s) => {
482
+ $observe(c, m = c.parentElement) {
483
+ p.i(i = m), t && (r = "rtl" === getComputedStyle(m).direction), s = V(e, m, t, () => K(m[o], r), (t, i, s) => {
487
484
  if (s) {
488
- const e = u.style, t = e[a];
489
- e[a] = "hidden", $(() => {
490
- e[a] = t;
485
+ const e = m.style, t = e[l];
486
+ e[l] = "hidden", I(() => {
487
+ e[l] = t;
491
488
  });
492
489
  }
493
- u[o] = L(e.$getScrollOffset() + t, r), i && c();
490
+ const n = e.$getScrollOffset() + t;
491
+ n <= 0 || n >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? m.scrollTo({
492
+ [a]: K(n, r),
493
+ behavior: "instant"
494
+ }) : m.scrollBy({
495
+ [a]: K(t, r),
496
+ behavior: "instant"
497
+ }), i && u();
494
498
  }), n[1](!0);
495
499
  },
496
500
  $dispose() {
497
- h.l(), s && s.l(), n[1](!1), n = x();
501
+ p.l(), s && s.l(), n[1](!1), n = x();
498
502
  },
499
- $observeItem: (e, t) => (m.set(e, t), h.i(e), () => {
500
- m.delete(e), h.o(e);
503
+ $observeItem: (e, t) => (h.set(e, t), p.i(e), () => {
504
+ h.delete(e), p.o(e);
501
505
  }),
502
- $isNegative: () => r,
503
- $scroll: l,
506
+ $scroll: c,
504
507
  $effect() {
505
508
  s && s.u();
506
509
  },
507
- $getBaseOffset: e.$getStartSpacerSize,
508
- $getScrollbarSize: () => 0
510
+ $getBaseOffset: e.$getStartSpacerSize
509
511
  };
510
512
  })(s, this.horizontal()), s.$subscribe(1, e => {
511
513
  this.N.set(s.$getStateVersion()), e && this.v.tick();
@@ -538,14 +540,14 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
538
540
  return this.h.$getItemSize(e);
539
541
  }
540
542
  scrollToIndex(e, t) {
541
- j(this.driver, this.h, e, t);
543
+ D(this.driver, this.h, e, t);
542
544
  }
543
545
  scrollTo(e) {
544
- W(this.driver, e);
546
+ L(this.driver, e);
545
547
  }
546
548
  scrollBy(e) {
547
549
  ((e, t, i) => {
548
- W(e, i + t.$getScrollOffset());
550
+ L(e, i + t.$getScrollOffset());
549
551
  })(this.driver, this.h, e);
550
552
  }
551
553
  static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
@@ -670,7 +672,7 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
670
672
  isInline: !0,
671
673
  dependencies: [ {
672
674
  kind: "directive",
673
- type: e.forwardRef(() => J),
675
+ type: e.forwardRef(() => B),
674
676
  selector: "div[virtuaListItem]",
675
677
  inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
676
678
  }, {
@@ -685,9 +687,9 @@ var {min: v, max: z, abs: b, floor: N} = Math, P = (e, t, i) => v(i, z(t, e)), R
685
687
 
686
688
  i.OnPush;
687
689
 
688
- var U = class t {
690
+ var Q = class t {
689
691
  data=p.required();
690
- getKey=p(X);
692
+ getKey=p(W);
691
693
  itemProps=p();
692
694
  bufferSize=p();
693
695
  itemSize=p();
@@ -701,7 +703,7 @@ var U = class t {
701
703
  scroll=f();
702
704
  scrollEnd=f();
703
705
  template=u.required(o);
704
- virtualizer=S.required(Q);
706
+ virtualizer=S.required(J);
705
707
  S=h(n).nativeElement;
706
708
  ngOnInit() {
707
709
  const e = this.horizontal(), t = this.S;
@@ -838,7 +840,7 @@ var U = class t {
838
840
  viewQueries: [ {
839
841
  propertyName: "virtualizer",
840
842
  first: !0,
841
- predicate: Q,
843
+ predicate: J,
842
844
  emitDistinctChangesOnly: !1,
843
845
  descendants: !0,
844
846
  isSignal: !0
@@ -848,13 +850,13 @@ var U = class t {
848
850
  isInline: !0,
849
851
  dependencies: [ {
850
852
  kind: "directive",
851
- type: e.forwardRef(() => Q),
853
+ type: e.forwardRef(() => J),
852
854
  selector: "virtua-virtualizer",
853
855
  inputs: [ "data", "getKey", "itemProps", "bufferSize", "scrollRef", "itemSize", "ssrCount", "shift", "horizontal", "keepMounted", "cache", "startMargin" ],
854
856
  outputs: [ "scroll", "scrollEnd" ]
855
857
  } ],
856
858
  viewProviders: [ {
857
- provide: Y,
859
+ provide: j,
858
860
  useFactory: () => h(t).template
859
861
  } ],
860
862
  changeDetection: e.ChangeDetectionStrategy.OnPush
@@ -863,9 +865,9 @@ var U = class t {
863
865
 
864
866
  i.OnPush;
865
867
 
866
- var A = class i {
868
+ var U = class i {
867
869
  data=p.required();
868
- getKey=p(X);
870
+ getKey=p(W);
869
871
  bufferSize=p();
870
872
  itemSize=p();
871
873
  ssrCount=p();
@@ -886,18 +888,18 @@ var A = class i {
886
888
  isSSR=d(!1);
887
889
  items=c(() => {
888
890
  this.N();
889
- const e = this.h, t = this.data(), i = this.getKey(), s = this.driver.$isNegative(), [n, r] = e.$getRange(this.bufferSize()), o = [];
890
- for (let a = n; a <= r && a < t.length; a++) {
891
- const n = t[a];
892
- o.push({
893
- key: i(n, a),
894
- index: a,
895
- data: n,
896
- offset: e.$getItemOffset(a, s),
897
- hide: e.$isUnmeasuredItem(a)
891
+ const e = this.h, t = this.data(), i = this.getKey(), [s, n] = e.$getRange(this.bufferSize()), r = [];
892
+ for (let o = s; o <= n && o < t.length; o++) {
893
+ const s = t[o];
894
+ r.push({
895
+ key: i(s, o),
896
+ index: o,
897
+ data: s,
898
+ offset: e.$getItemOffset(o),
899
+ hide: e.$isUnmeasuredItem(o)
898
900
  });
899
901
  }
900
- return o;
902
+ return r;
901
903
  });
902
904
  containerStyle=c(() => {
903
905
  this.N();
@@ -932,65 +934,59 @@ var A = class i {
932
934
  ngOnInit() {
933
935
  const e = this.itemSize(), t = this.ssrCount();
934
936
  this.isSSR.set(!!t);
935
- const i = this.p = V(this.data().length, e, this.cacheProp()), s = this.h = M(i, t);
937
+ const i = this.p = M(this.data().length, e, this.cacheProp()), s = this.h = O(i, t);
936
938
  this.driver = ((e, t) => {
937
- let i, s, n, r = x(), o = !1;
938
- const a = t ? "left" : "top", [l] = B(e, () => r[0], (e, t) => {
939
- e = L(e, o);
940
- const s = O(w(i));
941
- t ? s.scroll({
942
- [a]: e,
943
- behavior: "smooth"
944
- }) : s.scroll({
945
- [a]: e
939
+ let i, s, n, r, o, a = x(), l = !1;
940
+ const c = t ? "scrollLeft" : "scrollTop", u = t ? "left" : "top", [m, h] = E(e, () => a[0], (e, t) => {
941
+ i.scrollTo({
942
+ [u]: K(e, l),
943
+ behavior: t ? "smooth" : "instant"
946
944
  });
947
- }), c = t ? "width" : "height", u = /* @__PURE__ */ new WeakMap, m = E(t => {
948
- const i = [];
949
- for (const {target: e, contentRect: s} of t) {
945
+ }), p = t ? "width" : "height", f = /* @__PURE__ */ new WeakMap, d = _(t => {
946
+ const s = [];
947
+ for (const {target: e, contentRect: n} of t) {
948
+ if (e === i) {
949
+ o && o();
950
+ continue;
951
+ }
950
952
  if (!e.offsetParent) continue;
951
- const t = u.get(e);
952
- null != t && i.push([ t, s[c] ]);
953
+ const t = f.get(e);
954
+ null != t && s.push([ t, n[p] ]);
953
955
  }
954
- i.length && e.$update(3, i);
955
- }), h = (e, t, i, s, n = 0) => {
956
- const r = s ? "offsetLeft" : "offsetTop", a = n + (s && o ? i.innerWidth - e[r] - e.offsetWidth : e[r]), l = e.offsetParent;
957
- return e !== t && l ? h(l, t, i, s, a) : a;
956
+ s.length && e.$update(3, s);
957
+ }), g = (e, t, i, s, n = 0) => {
958
+ const r = s ? "offsetLeft" : "offsetTop", o = n + (l ? t.clientWidth - e[r] - e.offsetWidth : e[r]), a = e.offsetParent;
959
+ return e !== i && a ? g(a, t, i, s, o) : o;
958
960
  };
959
961
  return {
960
- $observe(l) {
961
- i = l;
962
- const c = t ? "scrollX" : "scrollY", u = w(l), m = O(u), p = () => {
963
- e.$update(4, m[t ? "innerWidth" : "innerHeight"]);
962
+ $observe(m) {
963
+ const p = k(m), f = F(p), S = i = p.scrollingElement, y = r = () => g(m, S, p.body, t), v = o = () => {
964
+ e.$update(4, S[t ? "clientWidth" : "clientHeight"]);
964
965
  };
965
- m.addEventListener("resize", p), q(p), n = () => {
966
- m.removeEventListener("resize", p);
967
- }, t && (o = "rtl" === getComputedStyle(F(u)).direction), s = D(e, m, t, () => L(m[c], o), (t, i) => {
968
- i ? m.scroll({
969
- [a]: L(e.$getScrollOffset() + t, o)
970
- }) : m.scrollBy({
971
- [a]: L(t, o)
972
- });
973
- }, () => h(l, u.body, m, t)), r[1](!0);
966
+ f.addEventListener("resize", v), d.i(S), n = () => {
967
+ f.removeEventListener("resize", v);
968
+ }, t && (l = "rtl" === getComputedStyle(S).direction), s = V(e, f, t, () => K(S[c], l), (t, i) => {
969
+ const s = e.$getScrollOffset() + t;
970
+ s <= 0 || s >= e.$getStartSpacerSize() + e.$getTotalSize() - e.$getViewportSize() ? S.scrollTo({
971
+ [u]: K(s, l),
972
+ behavior: "instant"
973
+ }) : S.scrollBy({
974
+ [u]: K(t, l),
975
+ behavior: "instant"
976
+ }), i && h();
977
+ }, y), a[1](!0);
974
978
  },
975
979
  $dispose() {
976
- n && n(), m.l(), s && s.l(), i = void 0, r[1](!1), r = x();
980
+ n && n(), d.l(), s && s.l(), i = void 0, a[1](!1), a = x();
977
981
  },
978
- $observeItem: (e, t) => (u.set(e, t), m.i(e), () => {
979
- u.delete(e), m.o(e);
982
+ $observeItem: (e, t) => (f.set(e, t), d.i(e), () => {
983
+ f.delete(e), d.o(e);
980
984
  }),
981
- $isNegative: () => o,
982
- $scroll: l,
985
+ $scroll: m,
983
986
  $effect() {
984
987
  s && s.u();
985
988
  },
986
- $getBaseOffset() {
987
- const e = w(i);
988
- return h(i, e.body, O(e), t);
989
- },
990
- $getScrollbarSize() {
991
- const s = F(w(i));
992
- return e.$getViewportSize() - (t ? s.clientWidth : s.clientHeight);
993
- }
989
+ $getBaseOffset: () => r()
994
990
  };
995
991
  })(s, this.horizontal()), s.$subscribe(1, e => {
996
992
  this.N.set(s.$getStateVersion()), e && this.v.tick();
@@ -1019,7 +1015,7 @@ var A = class i {
1019
1015
  return this.h.$getItemSize(e);
1020
1016
  }
1021
1017
  scrollToIndex(e, t) {
1022
- j(this.driver, this.h, e, t);
1018
+ D(this.driver, this.h, e, t);
1023
1019
  }
1024
1020
  static ɵfac=/*@__PURE__*/ e.ɵɵngDeclareFactory({
1025
1021
  minVersion: "12.0.0",
@@ -1115,7 +1111,7 @@ var A = class i {
1115
1111
  isInline: !0,
1116
1112
  dependencies: [ {
1117
1113
  kind: "directive",
1118
- type: e.forwardRef(() => J),
1114
+ type: e.forwardRef(() => B),
1119
1115
  selector: "div[virtuaListItem]",
1120
1116
  inputs: [ "index", "offset", "hide", "horizontal", "isSSR", "resizer", "attrs" ]
1121
1117
  }, {
@@ -1130,5 +1126,5 @@ var A = class i {
1130
1126
 
1131
1127
  i.OnPush;
1132
1128
 
1133
- export { U as VList, Q as Virtualizer, A as WindowVirtualizer };
1129
+ export { Q as VList, J as Virtualizer, U as WindowVirtualizer };
1134
1130
  //# sourceMappingURL=index.js.map