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