virtua 0.50.2 → 0.50.4

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.
Files changed (40) hide show
  1. package/lib/angular/VList.d.ts +7 -7
  2. package/lib/angular/Virtualizer.d.ts +11 -11
  3. package/lib/angular/WindowVirtualizer.d.ts +13 -9
  4. package/lib/angular/index.js +440 -434
  5. package/lib/angular/index.js.map +1 -1
  6. package/lib/core/index.cjs +342 -335
  7. package/lib/core/index.cjs.map +1 -1
  8. package/lib/core/index.d.ts +5 -2
  9. package/lib/core/index.js +326 -318
  10. package/lib/core/index.js.map +1 -1
  11. package/lib/core/layouts/types.d.ts +1 -0
  12. package/lib/core/observer.d.ts +1 -0
  13. package/lib/core/scroll-to.d.ts +1 -0
  14. package/lib/core/types.d.ts +1 -5
  15. package/lib/index.cjs +534 -532
  16. package/lib/index.cjs.map +1 -1
  17. package/lib/index.js +496 -494
  18. package/lib/index.js.map +1 -1
  19. package/lib/solid/VList.d.ts +1 -1
  20. package/lib/solid/Virtualizer.d.ts +4 -0
  21. package/lib/solid/WindowVirtualizer.d.ts +4 -0
  22. package/lib/solid/index.cjs +366 -378
  23. package/lib/solid/index.cjs.map +1 -1
  24. package/lib/solid/index.js +373 -386
  25. package/lib/solid/index.js.map +1 -1
  26. package/lib/solid/index.jsx +383 -368
  27. package/lib/solid/index.jsx.map +1 -1
  28. package/lib/svelte/ListItem.svelte +2 -2
  29. package/lib/svelte/Virtualizer.svelte +22 -32
  30. package/lib/svelte/WindowVirtualizer.svelte +22 -21
  31. package/lib/svelte/WindowVirtualizer.type.d.ts +4 -0
  32. package/lib/svelte/utils.js.map +1 -1
  33. package/lib/vue/WindowVirtualizer.d.ts +4 -0
  34. package/lib/vue/index.cjs +366 -385
  35. package/lib/vue/index.cjs.map +1 -1
  36. package/lib/vue/index.js +342 -361
  37. package/lib/vue/index.js.map +1 -1
  38. package/package.json +30 -29
  39. /package/lib/core/{resizer.d.ts → driver.d.ts} +0 -0
  40. /package/lib/core/{scroller.d.ts → layouts/list.d.ts} +0 -0
package/lib/vue/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { computed as e, createVNode as t, defineComponent as r, isVNode as o, mergeProps as n, onMounted as s, onUnmounted as i, ref as l, watch as c } from "vue";
2
2
 
3
- var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m = e => [ ...e ].sort((e, t) => e - t), h = "function" == typeof queueMicrotask ? queueMicrotask : e => {
3
+ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m = e => [ ...e ].sort((e, t) => e - t), g = setTimeout, h = "function" == typeof queueMicrotask ? queueMicrotask : e => {
4
4
  Promise.resolve().then(e);
5
- }, _ = () => {
5
+ }, S = () => {
6
6
  let e;
7
7
  return [ new Promise(t => {
8
8
  e = t;
@@ -10,162 +10,179 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
10
10
  }, b = e => {
11
11
  let t;
12
12
  return () => (e && (t = e(), e = void 0), t);
13
- }, g = (e, t, r) => {
14
- const o = r ? "unshift" : "push";
15
- for (let r = 0; r < t; r++) e[o](-1);
16
- return e;
17
- }, v = (e, t) => {
18
- const r = e.t[t];
19
- return -1 === r ? e.o : r;
20
- }, y = (e, t, r) => {
21
- const o = -1 === e.t[t];
22
- return e.t[t] = r, e.i = a(t, e.i), o;
23
- }, S = (e, t) => {
24
- if (!e.l) return 0;
25
- if (e.i >= t) return e.u[t];
26
- e.i < 0 && (e.u[0] = 0, e.i = 0);
27
- let r = e.i, o = e.u[r];
28
- for (;r < t; ) o += v(e, r), e.u[++r] = o;
29
- return e.i = t, o;
30
- }, z = (e, t, r = 0, o = e.l - 1) => {
31
- let n = r;
32
- for (;r <= o; ) {
33
- const s = d((r + o) / 2);
34
- S(e, s) <= t ? (n = s, r = s + 1) : o = s - 1;
35
- }
36
- return p(n, 0, e.l - 1);
37
- }, x = (e, t, r) => {
38
- const o = t - e.l;
39
- return e.i = r ? -1 : a(t - 1, e.i), e.l = t, o > 0 ? (g(e.u, o), g(e.t, o, r),
40
- e.o * o) : (e.u.splice(o), (r ? e.t.splice(0, -o) : e.t.splice(o)).reduce((t, r) => t - (-1 === r ? e.o : r), 0));
41
- }, $ = e => e.documentElement, w = e => e.ownerDocument, I = e => e.defaultView, O = /*#__PURE__*/ b(() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0), k = /*#__PURE__*/ b(() => "scrollBehavior" in $(document).style), j = (e, t = 40, r = 0, o, n = !1) => {
42
- let s = !!r, i = 1, l = 0, c = 0, d = 0, p = 0, h = 0, _ = 0, b = 0, $ = 0, w = null, I = [ 0, s ? u(r - 1, 0) : -1 ], k = 0, j = !1;
43
- const N = ((e, t, r) => ({
44
- o: t,
45
- t: r ? g(r.slice(0, a(e, r.length)), u(0, e - r.length)) : g([], e),
46
- l: e,
47
- i: -1,
48
- u: g([], e + 1)
49
- }))(e, o ? o[1] : t, o && o[0]), B = /* @__PURE__ */ new Set, T = () => d - c, q = () => T() + h + p, M = (e, t) => ((e, t, r, o) => {
50
- if (o = a(o, e.l - 1), S(e, o) <= t) {
51
- const n = z(e, r, o);
52
- return [ z(e, t, o, n), n ];
53
- }
54
- {
55
- const n = z(e, t, void 0, o);
56
- return [ n, z(e, r, n) ];
57
- }
58
- })(N, e, t, I[0]), E = () => S(N, N.l), P = (e, t) => {
59
- const r = S(N, e) - h;
60
- return t ? E() - r - R(e) : r;
61
- }, R = e => v(N, e), A = (e, t = -1) => N.t[e] === t, C = e => {
62
- e && (O() && 0 !== b || w && 1 === $ ? h += e : p += e);
13
+ }, _ = e => e.documentElement, v = e => e.ownerDocument, z = e => e.defaultView, y = /*#__PURE__*/ b(() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0), $ = /*#__PURE__*/ b(() => "scrollBehavior" in _(document).style), x = ({t: e, o: t, i: r, l: o, u: n, p: s, m: i, h: l, S: c, v: d}, p = 0) => {
14
+ let m = !!d, g = !!p, h = 1, S = 0, b = 0, _ = 0, v = 0, z = 0, $ = 0, x = 0, I = 0, w = null, O = [ 0, g ? u(p - 1, 0) : -1 ], k = 0, j = !1;
15
+ const N = /* @__PURE__ */ new Set, q = () => _ - b, B = () => q() + z + v, E = (e, t) => {
16
+ const n = r(e) - z;
17
+ return t ? i() - n - o(e) : n;
18
+ }, R = e => {
19
+ e && (y() && 0 !== x || w && 1 === I ? z += e : v += e);
63
20
  };
64
21
  return {
65
- p: () => {
66
- B.clear();
22
+ I: () => {
23
+ N.clear();
67
24
  },
68
- m: () => i,
69
- h: () => (e => [ e.t.slice(), e.o ])(N),
70
- v: (e = 200) => {
71
- if (!j || s) return I;
72
- let t, r;
73
- if (_) [t, r] = I; else {
74
- let o = u(0, q()), s = o + l;
75
- n || (e = u(0, e), 1 !== b && (o -= e), 2 !== b && (s += e)), [t, r] = I = M(u(0, o), u(0, s)),
76
- w && (t = a(t, w[0]), r = u(r, w[1]));
25
+ O: () => h,
26
+ t: (t = 200) => {
27
+ if (!j || g) return O;
28
+ let r, o;
29
+ if ($) [r, o] = O; else {
30
+ let n = u(0, B()), s = n + S;
31
+ m || (t = u(0, t), 1 !== x && (n -= t), 2 !== x && (s += t)), [r, o] = O = e(u(0, n), u(0, s)),
32
+ w && (r = a(r, w[0]), o = u(o, w[1]));
77
33
  }
78
- return [ u(t, 0), a(r, N.l - 1) ];
34
+ return [ u(r, 0), a(o, l() - 1) ];
79
35
  },
80
- S: e => z(N, e - c),
81
- I: A,
82
- O: P,
83
- k: R,
84
- j: () => N.l,
85
- N: () => d,
86
- B: () => 0 !== b,
87
- T: () => l,
88
- q: () => c,
89
- M: E,
90
- P: () => (_ = p, p = 0, [ _, 2 === $ ]),
91
- R: (e, t) => {
36
+ k: e => t(e - b),
37
+ j: s,
38
+ i: E,
39
+ l: o,
40
+ N: l,
41
+ q: () => _,
42
+ B: () => 0 !== x,
43
+ R: () => S,
44
+ T: () => b,
45
+ m: i,
46
+ M: () => ($ = v, v = 0, [ $, 2 === I ]),
47
+ P: (e, t) => {
92
48
  const r = [ e, t ];
93
- return B.add(r), () => {
94
- B.delete(r);
49
+ return N.add(r), () => {
50
+ N.delete(r);
95
51
  };
96
52
  },
97
- A: (e, t) => {
98
- let r, o, a = 0;
99
- switch (e) {
53
+ A: (r, l) => {
54
+ let a, u, p = 0;
55
+ switch (r) {
100
56
  case 1:
101
57
  {
102
- if (t === d && 0 === $) break;
103
- const e = _;
104
- _ = 0;
105
- const r = t - d, n = f(r);
106
- e && n < f(e) + 1 || 0 !== $ || (b = r < 0 ? 2 : 1), s && (s = !1), d = t, a = 4;
107
- const i = T();
108
- i >= -l && i <= E() && (a += 1, o = n > l);
58
+ if (l === _ && 0 === I) break;
59
+ const e = $;
60
+ $ = 0;
61
+ const t = l - _, r = f(t);
62
+ e && r < f(e) + 1 || 0 !== I || (x = t < 0 ? 2 : 1), g && (g = !1), _ = l, p = 4;
63
+ const o = q();
64
+ o >= -S && o <= i() && (p += 1, u = r > S);
109
65
  break;
110
66
  }
111
67
 
112
68
  case 2:
113
- a = 8, 0 !== b && (r = !0, a += 1), b = 0, $ = 0, w = null;
69
+ p = 8, 0 !== x && (a = !0, p += 1), x = 0, I = 0, w = null;
114
70
  break;
115
71
 
116
72
  case 3:
117
73
  {
118
- const e = t.filter(([e, t]) => !A(e, t));
74
+ const e = l.filter(([e, t]) => !s(e, t));
119
75
  if (!e.length) break;
120
- C(e.reduce((e, [t, r]) => {
121
- let o;
122
- if (2 === $) o = !0; else if (w && 1 === $) o = t < w[0]; else {
123
- const e = T(), r = P(t), n = R(t);
124
- o = 1 !== b && 0 === $ ? r + n <= e : r < e && r + n < e + l;
76
+ R(e.reduce((e, [t, r]) => {
77
+ let n;
78
+ if (2 === I) n = !0; else if (w && 1 === I) n = t < w[0]; else {
79
+ const e = q(), r = E(t), s = o(t);
80
+ n = 1 !== x && 0 === I ? r + s <= e : r < e && r + s < e + S;
125
81
  }
126
- return o && (e += r - R(t)), e;
82
+ return n && (e += r - o(t)), e;
127
83
  }, 0));
128
84
  for (const [t, r] of e) {
129
- const e = R(t), o = y(N, t, r);
130
- n && (k += o ? r : r - e);
85
+ const e = o(t), s = n(t, r);
86
+ m && (k += s ? r : r - e);
131
87
  }
132
- n && l && k > l && (C(((e, t) => {
133
- let r = 0;
134
- const o = [];
135
- e.t.forEach((e, n) => {
136
- -1 !== e && (o.push(e), n < t && r++);
137
- }), e.i = -1;
138
- const n = m(o), s = n.length, i = s / 2 | 0, l = s % 2 == 0 ? (n[i - 1] + n[i]) / 2 : n[i], c = e.o;
139
- return ((e.o = l) - c) * u(t - r, 0);
140
- })(N, z(N, q()))), n = !1), a = 3, o = !0;
88
+ m && S && k > S && (R(d(t(B()))), m = !1), p = 3, u = !0;
141
89
  break;
142
90
  }
143
91
 
144
92
  case 4:
145
- l !== t && (l || (j = o = !0), l = t, a = 3);
93
+ S !== l && (S || (j = u = !0), S = l, p = 3);
146
94
  break;
147
95
 
148
96
  case 5:
149
- t[1] ? (C(x(N, t[0], !0)), $ = 2, a = 1) : (x(N, t[0]), a = 1);
97
+ l[1] ? (R(c(l[0], !0)), I = 2, p = 1) : (c(l[0]), p = 1);
150
98
  break;
151
99
 
152
100
  case 6:
153
- c = t;
101
+ b = l;
154
102
  break;
155
103
 
156
104
  case 7:
157
- $ = 1;
105
+ I = 1;
158
106
  break;
159
107
 
160
108
  case 8:
161
- w = M(t, t + l), a = 1;
109
+ w = e(l, l + S), p = 1;
162
110
  }
163
- a && (i = 1 + (2147483647 & i), r && h && (p += h, h = 0), B.forEach(([e, t]) => {
164
- a & e && t(o);
111
+ p && (h = 1 + (2147483647 & h), a && z && (v += z, z = 0), N.forEach(([e, t]) => {
112
+ p & e && t(u);
165
113
  }));
166
114
  }
167
115
  };
168
- }, N = setTimeout, B = (e, t) => t ? -e : e, T = (e, t, r, o, n, s) => {
116
+ }, I = (e, t, r, o = 0, n = t - 1) => {
117
+ let s = o;
118
+ for (;o <= n; ) {
119
+ const t = d((o + n) / 2);
120
+ e(t) <= r ? (s = t, o = t + 1) : n = t - 1;
121
+ }
122
+ return p(s, 0, t - 1);
123
+ }, w = (e, t, r) => {
124
+ const o = r ? "unshift" : "push";
125
+ for (let r = 0; r < t; r++) e[o](-1);
126
+ return e;
127
+ }, O = (e, t, r) => {
128
+ let o = r && r[1] || t || 40, n = -1, s = 0;
129
+ const i = r && r[0], l = i ? w(i.slice(0, a(e, i.length)), u(0, e - i.length)) : w([], e), c = w([], e + 1), f = e => {
130
+ const t = l[e];
131
+ return -1 === t ? o : t;
132
+ }, d = t => {
133
+ if (!e) return 0;
134
+ if (n >= t) return c[t];
135
+ n < 0 && (c[0] = 0, n = 0);
136
+ let r = n, o = c[r];
137
+ for (;r < t; ) o += f(r), c[++r] = o;
138
+ return n = t, o;
139
+ };
140
+ return {
141
+ t: (t, r) => {
142
+ let o, n;
143
+ return s = a(s, e - 1), d(s) <= t ? (n = I(d, e, r, s), o = I(d, e, t, s, n)) : (o = I(d, e, t, void 0, s),
144
+ n = I(d, e, r, o)), s = o, [ o, n ];
145
+ },
146
+ o: t => I(d, e, t),
147
+ i: d,
148
+ l: f,
149
+ u: (e, t) => {
150
+ const r = -1 === l[e];
151
+ return l[e] = t, n = a(e, n), r;
152
+ },
153
+ p: (e, t = -1) => l[e] === t,
154
+ m: () => d(e),
155
+ h: () => e,
156
+ S: (t, r) => {
157
+ const s = t - e;
158
+ return n = r ? -1 : a(t - 1, n), e = t, s > 0 ? (w(c, s), w(l, s, r), o * s) : (c.splice(s),
159
+ (r ? l.splice(0, -s) : l.splice(s)).reduce((e, t) => e - (-1 === t ? o : t), 0));
160
+ },
161
+ v: t ? void 0 : e => {
162
+ let t = 0;
163
+ const r = [];
164
+ l.forEach((o, n) => {
165
+ -1 !== o && (r.push(o), n < e && t++);
166
+ }), n = -1;
167
+ const s = m(r), i = s.length, c = i / 2 | 0, a = i % 2 == 0 ? (s[c - 1] + s[c]) / 2 : s[c], f = o;
168
+ return ((o = a) - f) * u(e - t, 0);
169
+ },
170
+ C: () => [ l.slice(), o ]
171
+ };
172
+ }, k = e => {
173
+ let t;
174
+ return {
175
+ L(r) {
176
+ (t || (t = new (z(v(r)).ResizeObserver)(e))).observe(r);
177
+ },
178
+ V(e) {
179
+ t.unobserve(e);
180
+ },
181
+ H() {
182
+ t && t.disconnect();
183
+ }
184
+ };
185
+ }, j = (e, t) => t ? -e : e, N = (e, t, r, o, n, s) => {
169
186
  const i = Date.now;
170
187
  let l = 0, c = !1, a = !1, u = !1, f = !1;
171
188
  const d = (() => {
@@ -173,14 +190,14 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
173
190
  const r = () => {
174
191
  null != t && clearTimeout(t);
175
192
  }, o = () => {
176
- r(), t = N(() => {
193
+ r(), t = g(() => {
177
194
  t = null, (() => {
178
195
  if (c || a) return c = !1, void d();
179
196
  u = !1, e.A(2);
180
197
  })();
181
198
  }, 150);
182
199
  };
183
- return o.C = r, o;
200
+ return o.F = r, o;
184
201
  })(), p = () => {
185
202
  l = i(), u && (f = !0), s && e.A(6, s()), e.A(1, o()), d();
186
203
  }, m = t => {
@@ -189,23 +206,23 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
189
206
  150 > o && 50 < o && (r ? t.deltaX : t.deltaY) && (c = !0);
190
207
  }, h = () => {
191
208
  a = !0, u = f = !1;
192
- }, _ = () => {
193
- a = !1, O() && (u = !0);
209
+ }, S = () => {
210
+ a = !1, y() && (u = !0);
194
211
  };
195
212
  return t.addEventListener("scroll", p), t.addEventListener("wheel", m, {
196
213
  passive: !0
197
214
  }), t.addEventListener("touchstart", h, {
198
215
  passive: !0
199
- }), t.addEventListener("touchend", _, {
216
+ }), t.addEventListener("touchend", S, {
200
217
  passive: !0
201
218
  }), {
202
219
  H: () => {
203
220
  t.removeEventListener("scroll", p), t.removeEventListener("wheel", m), t.removeEventListener("touchstart", h),
204
- t.removeEventListener("touchend", _), d.C();
221
+ t.removeEventListener("touchend", S), d.F();
205
222
  },
206
- V: () => {
207
- const [t, r] = e.P();
208
- t && (n(t, r, f), f = !1, r && e.T() > e.M() && e.A(1, o()));
223
+ J: () => {
224
+ const [t, r] = e.M();
225
+ t && (n(t, r, f), f = !1, r && e.R() > e.m() && e.A(1, o()));
209
226
  }
210
227
  };
211
228
  }, q = (e, t, r) => {
@@ -214,17 +231,17 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
214
231
  if (!await t()) return;
215
232
  o && o();
216
233
  const i = () => {
217
- const [t, r] = _();
234
+ const [t, r] = S();
218
235
  return o = () => {
219
236
  r(!1);
220
- }, e.T() && N(o, 150), [ t, e.R(2, () => {
237
+ }, e.R() && g(o, 150), [ t, e.P(2, () => {
221
238
  r(!0);
222
239
  }) ];
223
240
  };
224
- if (s && k()) e.A(8, n()), h(async () => {
241
+ if (s && $()) e.A(8, n()), h(async () => {
225
242
  for (;;) {
226
243
  let t = !0;
227
- for (let [r, o] = e.v(); r <= o; r++) if (e.I(r)) {
244
+ for (let [r, o] = e.t(); r <= o; r++) if (e.j(r)) {
228
245
  t = !1;
229
246
  break;
230
247
  }
@@ -248,64 +265,62 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
248
265
  }, () => {
249
266
  o && o();
250
267
  } ];
251
- }, M = e => {
252
- let t;
253
- return {
254
- F(r) {
255
- (t || (t = new (I(w(r)).ResizeObserver)(e))).observe(r);
256
- },
257
- J(e) {
258
- t.unobserve(e);
259
- },
260
- H() {
261
- t && t.disconnect();
268
+ }, B = (e, t) => {
269
+ e.D(() => t);
270
+ }, E = (e, t, r, {align: o, smooth: n, offset: s = 0} = {}) => {
271
+ if (r = p(r, 0, t.N() - 1), "nearest" === o) {
272
+ const e = t.i(r), n = t.q();
273
+ if (e < n) o = "start"; else {
274
+ if (!(e + t.l(r) > n + t.R())) return;
275
+ o = "end";
262
276
  }
263
- };
264
- }, E = /* @__PURE__ */ r({
277
+ }
278
+ e.D(() => s + e.X() + t.i(r) + ("end" === o ? t.l(r) - (t.R() - e.Y()) : "center" === o ? (t.l(r) - (t.R() - e.Y())) / 2 : 0), n);
279
+ }, R = /* @__PURE__ */ r({
265
280
  props: {
266
- L: {
281
+ W: {
267
282
  type: Object,
268
283
  required: !0
269
284
  },
270
- W: {
285
+ U: {
271
286
  type: Object,
272
287
  required: !0
273
288
  },
274
- X: {
289
+ G: {
275
290
  type: Object,
276
291
  required: !0
277
292
  },
278
- Y: {
293
+ K: {
279
294
  type: Function,
280
295
  required: !0
281
296
  },
282
- D: {
297
+ Z: {
283
298
  type: Number,
284
299
  required: !0
285
300
  },
286
- U: {
301
+ ee: {
287
302
  type: Boolean
288
303
  },
289
- G: {
304
+ te: {
290
305
  type: Boolean
291
306
  },
292
- K: {
307
+ re: {
293
308
  type: Boolean
294
309
  },
295
- Z: {
310
+ oe: {
296
311
  type: String,
297
312
  required: !0
298
313
  },
299
- ee: Object
314
+ ne: Object
300
315
  },
301
316
  setup(r) {
302
- const s = l(), i = e(() => r.L.value && r.W.O(r.D, r.K)), a = e(() => r.L.value && r.W.I(r.D));
303
- return c(() => s.value && r.D, (e, t, o) => {
304
- o(r.Y(s.value, r.D));
317
+ const s = l(), i = e(() => r.W.value && r.U.i(r.Z, r.re)), a = e(() => r.W.value && r.U.j(r.Z));
318
+ return c(() => s.value && r.Z, (e, t, o) => {
319
+ o(r.K(s.value, r.Z));
305
320
  }, {
306
321
  flush: "post"
307
322
  }), () => {
308
- const {X: e, U: l, G: c, Z: u} = r, f = a.value, {style: d, ...p} = r.ee ?? {}, m = {
323
+ const {G: e, ee: l, te: c, oe: u} = r, f = a.value, {style: d, ...p} = r.ne ?? {}, m = {
309
324
  contain: "layout style",
310
325
  position: f && c ? void 0 : "absolute",
311
326
  [l ? "height" : "width"]: "100%",
@@ -317,20 +332,20 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
317
332
  return l && (m.display = "inline-flex"), t(u, n({
318
333
  ref: s,
319
334
  style: m
320
- }, p), "function" == typeof (h = e) || "[object Object]" === Object.prototype.toString.call(h) && !o(h) ? e : {
335
+ }, p), "function" == typeof (g = e) || "[object Object]" === Object.prototype.toString.call(g) && !o(g) ? e : {
321
336
  default: () => [ e ],
322
337
  _: 2
323
338
  }, 16, [ "style" ]);
324
- var h;
339
+ var g;
325
340
  };
326
341
  }
327
- }), P = (e, t) => {
342
+ }), T = (e, t) => {
328
343
  if (1 === e.length) {
329
344
  const t = e[0].key;
330
345
  if (null != t) return t;
331
346
  }
332
347
  return "_" + t;
333
- }, R = (e, t) => e[0] === t[0] && e[1] === t[1], A = /* @__PURE__ */ r({
348
+ }, M = (e, t) => e[0] === t[0] && e[1] === t[1], P = /* @__PURE__ */ r({
334
349
  props: {
335
350
  data: {
336
351
  type: Array,
@@ -361,164 +376,141 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
361
376
  emits: [ "scroll", "scrollEnd" ],
362
377
  setup(r, {emit: n, expose: a, slots: f}) {
363
378
  let d = !!r.ssrCount;
364
- const h = r.horizontal, b = l(), g = j(r.data.length, r.itemSize, r.ssrCount, r.cache, !r.itemSize), v = ((e, t) => {
365
- let r;
366
- const o = t ? "width" : "height", n = /* @__PURE__ */ new WeakMap, s = M(t => {
367
- const s = [];
368
- for (const {target: i, contentRect: l} of t) if (i.offsetParent) if (i === r) e.A(4, l[o]); else {
369
- const e = n.get(i);
370
- null != e && s.push([ e, l[o] ]);
371
- }
372
- s.length && e.A(3, s);
373
- });
374
- return {
375
- te(e) {
376
- s.F(r = e);
377
- },
378
- re: (e, t) => (n.set(e, t), s.F(e), () => {
379
- n.delete(e), s.J(e);
380
- }),
381
- p: s.H
382
- };
383
- })(g, h), y = ((e, t) => {
384
- let r, o, n = _(), s = !1;
379
+ const p = r.horizontal, h = l(), b = O(r.data.length, r.itemSize, r.cache), _ = x(b, r.ssrCount), v = ((e, t) => {
380
+ let r, o, n = S(), s = !1;
385
381
  const i = t ? "scrollLeft" : "scrollTop", l = t ? "overflowX" : "overflowY", [c, a] = q(e, () => n[0], (e, o) => {
386
- e = B(e, s), o ? r.scrollTo({
382
+ e = j(e, s), o ? r.scrollTo({
387
383
  [t ? "left" : "top"]: e,
388
384
  behavior: "smooth"
389
385
  }) : r[i] = e;
386
+ }), u = t ? "width" : "height", f = /* @__PURE__ */ new WeakMap, d = k(t => {
387
+ const o = [];
388
+ for (const {target: n, contentRect: s} of t) if (n.offsetParent) if (n === r) e.A(4, s[u]); else {
389
+ const e = f.get(n);
390
+ null != e && o.push([ e, s[u] ]);
391
+ }
392
+ o.length && e.A(3, o);
390
393
  });
391
394
  return {
392
- oe(c, u) {
393
- r = u, t && (s = "rtl" === getComputedStyle(u).direction), o = T(e, u, t, () => B(u[i], s), (t, r, o) => {
395
+ se(c, u = c.parentElement) {
396
+ d.L(r = u), t && (s = "rtl" === getComputedStyle(u).direction), o = N(e, u, t, () => j(u[i], s), (t, r, o) => {
394
397
  if (o) {
395
398
  const e = u.style, t = e[l];
396
- e[l] = "hidden", N(() => {
399
+ e[l] = "hidden", g(() => {
397
400
  e[l] = t;
398
401
  });
399
402
  }
400
- u[i] = B(e.N() + t, s), r && a();
403
+ u[i] = j(e.q() + t, s), r && a();
401
404
  }), n[1](!0);
402
405
  },
403
- p() {
404
- o && o.H(), n[1](!1), n = _();
406
+ I() {
407
+ d.H(), o && o.H(), n[1](!1), n = S();
405
408
  },
406
- ne: () => s,
407
- se(e) {
408
- c(() => e);
409
- },
410
- ie(t) {
411
- t += e.N(), c(() => t);
412
- },
413
- le(t, {align: r, smooth: o, offset: n = 0} = {}) {
414
- if (t = p(t, 0, e.j() - 1), "nearest" === r) {
415
- const o = e.O(t), n = e.N();
416
- if (o < n) r = "start"; else {
417
- if (!(o + e.k(t) > n + e.T())) return;
418
- r = "end";
419
- }
420
- }
421
- c(() => n + e.q() + e.O(t) + ("end" === r ? e.k(t) - e.T() : "center" === r ? (e.k(t) - e.T()) / 2 : 0), o);
409
+ ie: (e, t) => (f.set(e, t), d.L(e), () => {
410
+ f.delete(e), d.V(e);
411
+ }),
412
+ le: () => s,
413
+ D: c,
414
+ ce() {
415
+ o && o.J();
422
416
  },
423
- ce: () => {
424
- o && o.V();
425
- }
417
+ X: e.T,
418
+ Y: () => 0
426
419
  };
427
- })(g, h), S = l(g.m());
428
- g.R(1, () => {
429
- S.value = g.m();
430
- }), g.R(4, () => {
431
- n("scroll", g.N());
432
- }), g.R(8, () => {
420
+ })(_, p), z = l(_.O());
421
+ _.P(1, () => {
422
+ z.value = _.O();
423
+ }), _.P(4, () => {
424
+ n("scroll", _.q());
425
+ }), _.P(8, () => {
433
426
  n("scrollEnd");
434
427
  });
435
- const z = e(e => {
436
- S.value;
437
- const t = g.v(r.bufferSize);
438
- return e && R(e, t) ? e : t;
439
- }), x = e(() => S.value && g.B()), $ = e(() => S.value && g.M());
428
+ const y = e(e => {
429
+ z.value;
430
+ const t = _.t(r.bufferSize);
431
+ return e && M(e, t) ? e : t;
432
+ }), $ = e(() => z.value && _.B()), I = e(() => z.value && _.m());
440
433
  return s(() => {
441
434
  d = !1;
442
- const e = b.value, t = requestAnimationFrame(() => {
443
- const t = t => {
444
- v.te(t), y.oe(e, t);
445
- };
446
- r.scrollRef ? t(r.scrollRef) : t(e.parentElement);
435
+ const e = h.value, t = requestAnimationFrame(() => {
436
+ v.se(e, r.scrollRef);
447
437
  });
448
438
  i(() => {
449
439
  cancelAnimationFrame(t);
450
440
  });
451
441
  }), i(() => {
452
- g.p(), v.p(), y.p();
442
+ _.I(), v.I();
453
443
  }), c(() => r.data.length, e => {
454
- g.A(5, [ e, r.shift ]);
444
+ _.A(5, [ e, r.shift ]);
455
445
  }), c(() => r.startMargin, e => {
456
- g.A(6, e);
446
+ _.A(6, e);
457
447
  }, {
458
448
  immediate: !0
459
- }), c([ S ], () => {
460
- y.ce();
449
+ }), c([ z ], () => {
450
+ v.ce();
461
451
  }, {
462
452
  flush: "post"
463
453
  }), a({
464
454
  get cache() {
465
- return g.h();
455
+ return b.C();
466
456
  },
467
457
  get scrollOffset() {
468
- return g.N();
458
+ return _.q();
469
459
  },
470
460
  get scrollSize() {
471
- return (e => u(e.M(), e.T()))(g);
461
+ return (e => u(e.m(), e.R()))(_);
472
462
  },
473
463
  get viewportSize() {
474
- return g.T();
464
+ return _.R();
475
465
  },
476
- findItemIndex: g.S,
477
- getItemOffset: g.O,
478
- getItemSize: g.k,
479
- scrollToIndex: y.le,
480
- scrollTo: y.se,
481
- scrollBy: y.ie
466
+ findItemIndex: _.k,
467
+ getItemOffset: _.i,
468
+ getItemSize: _.l,
469
+ scrollToIndex: (e, t) => E(v, _, e, t),
470
+ scrollTo: e => B(v, e),
471
+ scrollBy: e => ((e, t, r) => {
472
+ B(e, r + t.q());
473
+ })(v, _, e)
482
474
  }), () => {
483
- const e = r.as, n = r.item, s = $.value, i = y.ne(), l = [], c = e => {
475
+ const e = r.as, n = r.item, s = I.value, i = v.le(), l = [], c = e => {
484
476
  const o = f.default({
485
477
  item: r.data[e],
486
478
  index: e
487
479
  });
488
- return t(E, {
489
- key: P(o, e),
490
- L: S,
491
- W: g,
492
- Y: v.re,
493
- D: e,
494
- X: o,
495
- U: h,
496
- K: i,
497
- G: d,
498
- Z: n,
499
- ee: r.itemProps?.({
480
+ return t(R, {
481
+ key: T(o, e),
482
+ W: z,
483
+ U: _,
484
+ K: v.ie,
485
+ Z: e,
486
+ G: o,
487
+ ee: p,
488
+ re: i,
489
+ te: d,
490
+ oe: n,
491
+ ne: r.itemProps?.({
500
492
  item: r.data[e],
501
493
  index: e
502
494
  })
503
- }, null, 8, [ "L", "W", "Y", "D", "X", "U", "K", "G", "Z", "ee" ]);
495
+ }, null, 8, [ "W", "U", "K", "Z", "G", "ee", "re", "te", "oe", "ne" ]);
504
496
  };
505
497
  if (r.keepMounted) {
506
498
  const e = new Set(r.keepMounted);
507
- for (let [t, r] = z.value; t <= r; t++) e.add(t);
499
+ for (let [t, r] = y.value; t <= r; t++) e.add(t);
508
500
  m([ ...e ]).forEach(e => {
509
501
  l.push(c(e));
510
502
  });
511
- } else for (let [e, t] = z.value; e <= t; e++) l.push(c(e));
503
+ } else for (let [e, t] = y.value; e <= t; e++) l.push(c(e));
512
504
  return t(e, {
513
- ref: b,
505
+ ref: h,
514
506
  style: {
515
507
  contain: "size style",
516
508
  overflowAnchor: "none",
517
509
  flex: "none",
518
510
  position: "relative",
519
- width: h ? s + "px" : "100%",
520
- height: h ? "100%" : s + "px",
521
- pointerEvents: x.value ? "none" : void 0
511
+ width: p ? s + "px" : "100%",
512
+ height: p ? "100%" : s + "px",
513
+ pointerEvents: $.value ? "none" : void 0
522
514
  }
523
515
  }, "function" == typeof (a = l) || "[object Object]" === Object.prototype.toString.call(a) && !o(a) ? l : {
524
516
  default: () => [ l ],
@@ -527,7 +519,7 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
527
519
  var a;
528
520
  };
529
521
  }
530
- }), C = /* @__PURE__ */ r({
522
+ }), A = /* @__PURE__ */ r({
531
523
  props: {
532
524
  data: {
533
525
  type: Array,
@@ -577,7 +569,7 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
577
569
  width: "100%",
578
570
  height: "100%"
579
571
  }
580
- }, [ t(A, {
572
+ }, [ t(P, {
581
573
  ref: u,
582
574
  data: e.data,
583
575
  bufferSize: e.bufferSize,
@@ -597,7 +589,7 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
597
589
  var r;
598
590
  };
599
591
  }
600
- }), H = /* @__PURE__ */ r({
592
+ }), C = /* @__PURE__ */ r({
601
593
  props: {
602
594
  data: {
603
595
  type: Array,
@@ -605,6 +597,7 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
605
597
  },
606
598
  bufferSize: Number,
607
599
  itemSize: Number,
600
+ ssrCount: Number,
608
601
  shift: Boolean,
609
602
  horizontal: Boolean,
610
603
  as: {
@@ -619,147 +612,135 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
619
612
  },
620
613
  emits: [ "scroll", "scrollEnd" ],
621
614
  setup(r, {emit: n, slots: a, expose: u}) {
622
- const f = r.horizontal, d = l(), m = j(r.data.length, r.itemSize, void 0, r.cache, !r.itemSize), b = ((e, t) => {
623
- const r = t ? "width" : "height", o = t ? "innerWidth" : "innerHeight", n = /* @__PURE__ */ new WeakMap, s = M(t => {
624
- const o = [];
625
- for (const {target: e, contentRect: s} of t) {
626
- if (!e.offsetParent) continue;
627
- const t = n.get(e);
628
- null != t && o.push([ t, s[r] ]);
629
- }
630
- o.length && e.A(3, o);
631
- });
632
- let i;
633
- return {
634
- te(t) {
635
- const r = I(w(t)), n = () => {
636
- e.A(4, r[o]);
637
- };
638
- r.addEventListener("resize", n), h(n), i = () => {
639
- r.removeEventListener("resize", n);
640
- };
641
- },
642
- re: (e, t) => (n.set(e, t), s.F(e), () => {
643
- n.delete(e), s.J(e);
644
- }),
645
- p() {
646
- i && i(), s.H();
647
- }
648
- };
649
- })(m, f), g = ((e, t) => {
650
- let r, o, n = _(), s = !1;
651
- const i = t ? "left" : "top", [l] = q(e, () => n[0], (e, t) => {
652
- e = B(e, s);
653
- const o = I(w(r));
615
+ let f = !!r.ssrCount;
616
+ const d = r.horizontal, p = l(), m = O(r.data.length, r.itemSize, r.cache), g = x(m, r.ssrCount), b = ((e, t) => {
617
+ let r, o, n, s = S(), i = !1;
618
+ const l = t ? "left" : "top", [c] = q(e, () => s[0], (e, t) => {
619
+ e = j(e, i);
620
+ const o = z(v(r));
654
621
  t ? o.scroll({
655
- [i]: e,
622
+ [l]: e,
656
623
  behavior: "smooth"
657
624
  }) : o.scroll({
658
- [i]: e
625
+ [l]: e
659
626
  });
660
- }), c = (e, t, r, o, n = 0) => {
661
- const i = o ? "offsetLeft" : "offsetTop", l = n + (o && s ? r.innerWidth - e[i] - e.offsetWidth : e[i]), a = e.offsetParent;
662
- return e !== t && a ? c(a, t, r, o, l) : l;
627
+ }), a = t ? "width" : "height", u = /* @__PURE__ */ new WeakMap, f = k(t => {
628
+ const r = [];
629
+ for (const {target: e, contentRect: o} of t) {
630
+ if (!e.offsetParent) continue;
631
+ const t = u.get(e);
632
+ null != t && r.push([ t, o[a] ]);
633
+ }
634
+ r.length && e.A(3, r);
635
+ }), d = (e, t, r, o, n = 0) => {
636
+ const s = o ? "offsetLeft" : "offsetTop", l = n + (o && i ? r.innerWidth - e[s] - e.offsetWidth : e[s]), c = e.offsetParent;
637
+ return e !== t && c ? d(c, t, r, o, l) : l;
663
638
  };
664
639
  return {
665
- oe(l) {
666
- r = l;
667
- const a = t ? "scrollX" : "scrollY", u = w(l), f = I(u);
668
- t && (s = "rtl" === getComputedStyle($(u)).direction), o = T(e, f, t, () => B(f[a], s), (t, r) => {
640
+ se(c) {
641
+ r = c;
642
+ const a = t ? "scrollX" : "scrollY", u = v(c), f = z(u), p = () => {
643
+ e.A(4, f[t ? "innerWidth" : "innerHeight"]);
644
+ };
645
+ f.addEventListener("resize", p), h(p), n = () => {
646
+ f.removeEventListener("resize", p);
647
+ }, t && (i = "rtl" === getComputedStyle(_(u)).direction), o = N(e, f, t, () => j(f[a], i), (t, r) => {
669
648
  r ? f.scroll({
670
- [i]: B(e.N() + t, s)
649
+ [l]: j(e.q() + t, i)
671
650
  }) : f.scrollBy({
672
- [i]: B(t, s)
651
+ [l]: j(t, i)
673
652
  });
674
- }, () => c(l, u.body, f, t)), n[1](!0);
653
+ }, () => d(c, u.body, f, t)), s[1](!0);
654
+ },
655
+ I() {
656
+ n && n(), f.H(), o && o.H(), r = void 0, s[1](!1), s = S();
675
657
  },
676
- p() {
677
- o && o.H(), r = void 0, n[1](!1), n = _();
658
+ ie: (e, t) => (u.set(e, t), f.L(e), () => {
659
+ u.delete(e), f.V(e);
660
+ }),
661
+ le: () => i,
662
+ D: c,
663
+ ce() {
664
+ o && o.J();
678
665
  },
679
- ne: () => s,
680
- ce: () => {
681
- o && o.V();
666
+ X() {
667
+ const e = v(r);
668
+ return d(r, e.body, z(e), t);
682
669
  },
683
- le(o, {align: n, smooth: s, offset: i = 0} = {}) {
684
- if (!r) return;
685
- if (o = p(o, 0, e.j() - 1), "nearest" === n) {
686
- const t = e.O(o), r = e.N();
687
- if (t < r) n = "start"; else {
688
- if (!(t + e.k(o) > r + e.T())) return;
689
- n = "end";
690
- }
691
- }
692
- const a = w(r), u = I(a), f = $(a), d = () => e.T() - (t ? f.clientWidth : f.clientHeight);
693
- l(() => i + c(r, a.body, u, t) + e.O(o) + ("end" === n ? e.k(o) - (e.T() - d()) : "center" === n ? (e.k(o) - (e.T() - d())) / 2 : 0), s);
670
+ Y() {
671
+ const o = _(v(r));
672
+ return e.R() - (t ? o.clientWidth : o.clientHeight);
694
673
  }
695
674
  };
696
- })(m, f), v = l(m.m());
697
- m.R(1, () => {
698
- v.value = m.m();
699
- }), m.R(4, () => {
675
+ })(g, d), y = l(g.O());
676
+ g.P(1, () => {
677
+ y.value = g.O();
678
+ }), g.P(4, () => {
700
679
  n("scroll");
701
- }), m.R(8, () => {
680
+ }), g.P(8, () => {
702
681
  n("scrollEnd");
703
682
  });
704
- const y = e(e => {
705
- v.value;
706
- const t = m.v(r.bufferSize);
707
- return e && R(e, t) ? e : t;
708
- }), S = e(() => v.value && m.B()), z = e(() => v.value && m.M());
683
+ const $ = e(e => {
684
+ y.value;
685
+ const t = g.t(r.bufferSize);
686
+ return e && M(e, t) ? e : t;
687
+ }), I = e(() => y.value && g.B()), w = e(() => y.value && g.m());
709
688
  return s(() => {
710
- const e = d.value;
711
- e && (b.te(e), g.oe(e));
689
+ f = !1;
690
+ const e = p.value;
691
+ e && b.se(e);
712
692
  }), i(() => {
713
- m.p(), b.p(), g.p();
693
+ g.I(), b.I();
714
694
  }), c(() => r.data.length, e => {
715
- m.A(5, [ e, r.shift ]);
716
- }), c([ v ], () => {
717
- g.ce();
695
+ g.A(5, [ e, r.shift ]);
696
+ }), c([ y ], () => {
697
+ b.ce();
718
698
  }, {
719
699
  flush: "post"
720
700
  }), u({
721
701
  get cache() {
722
- return m.h();
702
+ return m.C();
723
703
  },
724
704
  get scrollOffset() {
725
- return m.N();
705
+ return g.q();
726
706
  },
727
707
  get viewportSize() {
728
- return m.T();
708
+ return g.R();
729
709
  },
730
- findItemIndex: m.S,
731
- getItemOffset: m.O,
732
- getItemSize: m.k,
733
- scrollToIndex: g.le
710
+ findItemIndex: g.k,
711
+ getItemOffset: g.i,
712
+ getItemSize: g.l,
713
+ scrollToIndex: (e, t) => E(b, g, e, t)
734
714
  }), () => {
735
- const e = r.as, n = r.item, s = z.value, i = g.ne(), l = [];
736
- for (let [e, o] = y.value; e <= o; e++) {
715
+ const e = r.as, n = r.item, s = w.value, i = b.le(), l = [];
716
+ for (let [e, o] = $.value; e <= o; e++) {
737
717
  const o = a.default({
738
718
  item: r.data[e],
739
719
  index: e
740
720
  });
741
- l.push(t(E, {
742
- key: P(o, e),
743
- L: v,
744
- W: m,
745
- Y: b.re,
746
- D: e,
747
- X: o,
748
- U: f,
749
- K: i,
750
- Z: n
751
- }, null, 8, [ "L", "W", "Y", "D", "X", "U", "K", "Z" ]));
721
+ l.push(t(R, {
722
+ key: T(o, e),
723
+ W: y,
724
+ U: g,
725
+ K: b.ie,
726
+ Z: e,
727
+ G: o,
728
+ ee: d,
729
+ re: i,
730
+ te: f,
731
+ oe: n
732
+ }, null, 8, [ "W", "U", "K", "Z", "G", "ee", "re", "te", "oe" ]));
752
733
  }
753
734
  return t(e, {
754
- ref: d,
735
+ ref: p,
755
736
  style: {
756
737
  contain: "size style",
757
738
  overflowAnchor: "none",
758
739
  flex: "none",
759
740
  position: "relative",
760
- width: f ? s + "px" : "100%",
761
- height: f ? "100%" : s + "px",
762
- pointerEvents: S.value ? "none" : void 0
741
+ width: d ? s + "px" : "100%",
742
+ height: d ? "100%" : s + "px",
743
+ pointerEvents: I.value ? "none" : void 0
763
744
  }
764
745
  }, "function" == typeof (c = l) || "[object Object]" === Object.prototype.toString.call(c) && !o(c) ? l : {
765
746
  default: () => [ l ],
@@ -770,5 +751,5 @@ var {min: a, max: u, abs: f, floor: d} = Math, p = (e, t, r) => a(r, u(t, e)), m
770
751
  }
771
752
  });
772
753
 
773
- export { C as VList, A as Virtualizer, H as WindowVirtualizer };
754
+ export { A as VList, P as Virtualizer, C as WindowVirtualizer };
774
755
  //# sourceMappingURL=index.js.map