@pdanpdan/virtual-scroll 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.js +152 -131
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VirtualScroll.test.ts +353 -332
- package/src/components/VirtualScroll.vue +24 -6
- package/src/composables/useVirtualScroll.test.ts +545 -204
- package/src/composables/useVirtualScroll.ts +28 -25
- package/src/utils/fenwick-tree.test.ts +80 -65
package/dist/index.js
CHANGED
|
@@ -76,50 +76,54 @@ function useVirtualScroll(e) {
|
|
|
76
76
|
let n = ref(0), r = ref(0), i = ref(!1), a = ref(!1), o = ref(!1), l = ref(!1), u = ref(0), p = ref(0), g = reactive({
|
|
77
77
|
x: 0,
|
|
78
78
|
y: 0
|
|
79
|
-
}), _, v = ref(!1), y = new FenwickTree(e.value.items.length), b = new FenwickTree(e.value.items.length), S = new FenwickTree(e.value.columnCount || 0), D = ref(0), O = new Uint8Array(), k = new Uint8Array(), A = new Uint8Array(), j = ref(null), M = ref(
|
|
79
|
+
}), _, v = ref(!1), y = new FenwickTree(e.value.items.length), b = new FenwickTree(e.value.items.length), S = new FenwickTree(e.value.columnCount || 0), D = ref(0), O = new Uint8Array(), k = new Uint8Array(), A = new Uint8Array(), j = ref(null), M = ref(!1), N = [], P = computed(() => e.value.itemSize === void 0 || e.value.itemSize === null || e.value.itemSize === 0), F = computed(() => e.value.columnWidth === void 0 || e.value.columnWidth === null || e.value.columnWidth === 0), I = computed(() => typeof e.value.itemSize == "number" && e.value.itemSize > 0 ? e.value.itemSize : null), L = computed(() => I.value || e.value.defaultItemSize || 50), R = computed(() => [...e.value.stickyIndices || []].sort((e, t) => e - t)), z = computed(() => {
|
|
80
80
|
if (D.value, !a.value && e.value.ssrRange && !l.value) {
|
|
81
81
|
let { start: t = 0, end: n = 0, colStart: r = 0, colEnd: i = 0 } = e.value.ssrRange, a = e.value.columnCount || 0;
|
|
82
82
|
if (e.value.direction === "both" && a > 0) return S.query(i || a) - S.query(r);
|
|
83
|
-
|
|
83
|
+
/* v8 ignore else -- @preserve */
|
|
84
|
+
if (e.value.direction === "horizontal") return I.value === null ? y.query(n) - y.query(t) : (n - t) * (I.value + (e.value.columnGap || 0));
|
|
84
85
|
}
|
|
85
|
-
return e.value.direction === "both" && e.value.columnCount ? S.query(e.value.columnCount) : e.value.direction === "vertical" ? 0 :
|
|
86
|
-
}),
|
|
86
|
+
return e.value.direction === "both" && e.value.columnCount ? S.query(e.value.columnCount) : e.value.direction === "vertical" ? 0 : I.value === null ? y.query(e.value.items.length) : e.value.items.length * (I.value + (e.value.columnGap || 0));
|
|
87
|
+
}), B = computed(() => {
|
|
87
88
|
if (D.value, !a.value && e.value.ssrRange && !l.value) {
|
|
88
89
|
let { start: t, end: n } = e.value.ssrRange;
|
|
89
|
-
|
|
90
|
+
/* v8 ignore else -- @preserve */
|
|
91
|
+
if (e.value.direction === "vertical" || e.value.direction === "both") return I.value === null ? b.query(n) - b.query(t) : (n - t) * (I.value + (e.value.gap || 0));
|
|
90
92
|
}
|
|
91
|
-
return e.value.direction === "horizontal" ? 0 :
|
|
92
|
-
}),
|
|
93
|
+
return e.value.direction === "horizontal" ? 0 : I.value === null ? b.query(e.value.items.length) : e.value.items.length * (I.value + (e.value.gap || 0));
|
|
94
|
+
}), V = computed(() => {
|
|
93
95
|
let t = e.value.direction === "horizontal" || e.value.direction === "both" ? getPaddingX(e.value.scrollPaddingStart, e.value.direction) : 0;
|
|
94
96
|
return Math.max(0, n.value + t - g.x);
|
|
95
|
-
}),
|
|
97
|
+
}), H = computed(() => {
|
|
96
98
|
let t = e.value.direction === "vertical" || e.value.direction === "both" ? getPaddingY(e.value.scrollPaddingStart, e.value.direction) : 0;
|
|
97
99
|
return Math.max(0, r.value + t - g.y);
|
|
98
|
-
}),
|
|
100
|
+
}), U = (t) => {
|
|
99
101
|
D.value;
|
|
100
102
|
let n = e.value.columnWidth;
|
|
101
103
|
return typeof n == "number" && n > 0 ? n : Array.isArray(n) && n.length > 0 ? n[t % n.length] || 150 : typeof n == "function" ? n(t) : S.get(t) || e.value.defaultColumnWidth || 150;
|
|
102
|
-
},
|
|
104
|
+
}, W = (t, a, o) => {
|
|
103
105
|
let s = typeof o == "object" && o && "isCorrection" in o ? o.isCorrection : !1;
|
|
104
106
|
s || (j.value = {
|
|
105
107
|
rowIndex: t,
|
|
106
108
|
colIndex: a,
|
|
107
109
|
options: o
|
|
108
110
|
});
|
|
109
|
-
let c = e.value.container || window, l =
|
|
111
|
+
let c = e.value.container || window, l = I.value, d = e.value.gap || 0, f = e.value.columnGap || 0, m, h;
|
|
110
112
|
isScrollToIndexOptions(o) ? (m = o.align, h = o.behavior) : m = o;
|
|
111
|
-
let _ = (typeof m == "object" ? m.x : m) || "auto", x = (typeof m == "object" ? m.y : m) || "auto", C = getPaddingX(e.value.scrollPaddingStart, e.value.direction), D = getPaddingX(e.value.scrollPaddingEnd, e.value.direction), O = getPaddingY(e.value.scrollPaddingStart, e.value.direction), k = getPaddingY(e.value.scrollPaddingEnd, e.value.direction), A = e.value.direction === "vertical" || e.value.direction === "both", M = e.value.direction === "horizontal" || e.value.direction === "both", N = u.value - (M ? C + D : 0), P = p.value - (A ? O + k : 0), F =
|
|
112
|
-
if (t != null && (t >= e.value.items.length ? (
|
|
113
|
+
let _ = (typeof m == "object" ? m.x : m) || "auto", x = (typeof m == "object" ? m.y : m) || "auto", C = getPaddingX(e.value.scrollPaddingStart, e.value.direction), D = getPaddingX(e.value.scrollPaddingEnd, e.value.direction), O = getPaddingY(e.value.scrollPaddingStart, e.value.direction), k = getPaddingY(e.value.scrollPaddingEnd, e.value.direction), A = e.value.direction === "vertical" || e.value.direction === "both", M = e.value.direction === "horizontal" || e.value.direction === "both", N = u.value - (M ? C + D : 0), P = p.value - (A ? O + k : 0), F = V.value, L = H.value, R = 0, U = 0;
|
|
114
|
+
if (t != null && (t >= e.value.items.length ? (L = B.value, U = 0) : (L = l === null ? b.query(t) : t * (l + d), U = l === null ? b.get(t) - d : l), x === "start" || (x === "center" ? L -= (P - U) / 2 : x === "end" ? L -= P - U : L >= H.value && L + U <= H.value + P || L < H.value || (L -= P - U))), a != null) {
|
|
113
115
|
let t = e.value.columnCount || 0;
|
|
114
|
-
a >= t && t > 0 ? (F =
|
|
116
|
+
a >= t && t > 0 ? (F = z.value, R = 0) : e.value.direction === "horizontal" ? (F = l === null ? y.query(a) : a * (l + f), R = l === null ? y.get(a) - f : l) : (F = S.query(a), R = S.get(a)), _ === "start" || (_ === "center" ? F -= (N - R) / 2 : _ === "end" ? F -= N - R : F >= V.value && F + R <= V.value + N || F < V.value || (F -= N - R));
|
|
115
117
|
}
|
|
116
|
-
F = Math.max(0, Math.min(F, Math.max(0,
|
|
117
|
-
let
|
|
118
|
+
F = Math.max(0, Math.min(F, Math.max(0, z.value - N))), L = Math.max(0, Math.min(L, Math.max(0, B.value - P)));
|
|
119
|
+
let W = F + g.x - (M ? C : 0), G = L + g.y - (A ? O : 0), K = a == null || Math.abs(V.value - F) < 1, q = t == null || Math.abs(H.value - L) < 1;
|
|
118
120
|
if (!K || !q) {
|
|
119
121
|
let e = 0, n = 0, r = 0, i = 0, o = 0, s = 0;
|
|
122
|
+
/* v8 ignore else -- @preserve */
|
|
120
123
|
if (typeof window < "u") {
|
|
121
124
|
if (c === window ? (e = window.scrollX, n = window.scrollY, r = document.documentElement.scrollWidth, i = document.documentElement.scrollHeight, o = window.innerWidth, s = window.innerHeight) : isElement(c) && (e = c.scrollLeft, n = c.scrollTop, r = c.scrollWidth, i = c.scrollHeight, o = c.clientWidth, s = c.clientHeight), !K && a != null) {
|
|
122
|
-
let t = e <= 1 &&
|
|
125
|
+
let t = e <= 1 && W <= 1, n = e >= r - o - 1 && W >= r - o - 1;
|
|
126
|
+
/* v8 ignore else -- @preserve */
|
|
123
127
|
(t || n) && (K = !0);
|
|
124
128
|
}
|
|
125
129
|
if (!q && t != null) {
|
|
@@ -130,30 +134,30 @@ function useVirtualScroll(e) {
|
|
|
130
134
|
}
|
|
131
135
|
let J = s ? "auto" : h || "smooth";
|
|
132
136
|
if (v.value = !0, typeof window < "u" && c === window) window.scrollTo({
|
|
133
|
-
left: a == null ? void 0 : Math.max(0,
|
|
137
|
+
left: a == null ? void 0 : Math.max(0, W),
|
|
134
138
|
top: t == null ? void 0 : Math.max(0, G),
|
|
135
139
|
behavior: J
|
|
136
140
|
});
|
|
137
141
|
else if (isScrollableElement(c)) {
|
|
138
142
|
let e = { behavior: J };
|
|
139
|
-
a != null && (e.left = Math.max(0,
|
|
143
|
+
a != null && (e.left = Math.max(0, W)), t != null && (e.top = Math.max(0, G)), typeof c.scrollTo == "function" ? c.scrollTo(e) : (e.left !== void 0 && (c.scrollLeft = e.left), e.top !== void 0 && (c.scrollTop = e.top));
|
|
140
144
|
}
|
|
141
|
-
(J === "auto" || J === void 0) && (a != null && (n.value = Math.max(0,
|
|
142
|
-
},
|
|
145
|
+
(J === "auto" || J === void 0) && (a != null && (n.value = Math.max(0, W)), t != null && (r.value = Math.max(0, G))), K && q && !i.value && (j.value = null);
|
|
146
|
+
}, G = (t, i, a) => {
|
|
143
147
|
let o = e.value.container || window;
|
|
144
148
|
v.value = !0;
|
|
145
|
-
let s = e.value.direction === "vertical" || e.value.direction === "both", c = e.value.direction === "horizontal" || e.value.direction === "both", l = getPaddingX(e.value.scrollPaddingStart, e.value.direction),
|
|
149
|
+
let s = e.value.direction === "vertical" || e.value.direction === "both", c = e.value.direction === "horizontal" || e.value.direction === "both", l = getPaddingX(e.value.scrollPaddingStart, e.value.direction), d = getPaddingY(e.value.scrollPaddingStart, e.value.direction), f = getPaddingX(e.value.scrollPaddingEnd, e.value.direction), m = getPaddingY(e.value.scrollPaddingEnd, e.value.direction), h = u.value - (c ? l + f : 0), _ = p.value - (s ? d + m : 0), y = t == null ? null : c ? Math.max(0, Math.min(t, Math.max(0, z.value - h))) : Math.max(0, t), b = i == null ? null : s ? Math.max(0, Math.min(i, Math.max(0, B.value - _))) : Math.max(0, i), x = typeof window < "u" && o === window ? window.scrollX : o.scrollLeft, S = typeof window < "u" && o === window ? window.scrollY : o.scrollTop, C = y === null ? x : y + g.x - (c ? l : 0), w = b === null ? S : b + g.y - (s ? d : 0);
|
|
146
150
|
if (typeof window < "u" && o === window) window.scrollTo({
|
|
147
|
-
left: t == null ? void 0 :
|
|
148
|
-
top: i == null ? void 0 :
|
|
151
|
+
left: t == null ? void 0 : C,
|
|
152
|
+
top: i == null ? void 0 : w,
|
|
149
153
|
behavior: a?.behavior || "auto"
|
|
150
154
|
});
|
|
151
155
|
else if (isScrollableElement(o)) {
|
|
152
156
|
let e = { behavior: a?.behavior || "auto" };
|
|
153
|
-
t != null && (e.left =
|
|
157
|
+
t != null && (e.left = C), i != null && (e.top = w), typeof o.scrollTo == "function" ? o.scrollTo(e) : (e.left !== void 0 && (o.scrollLeft = e.left), e.top !== void 0 && (o.scrollTop = e.top));
|
|
154
158
|
}
|
|
155
|
-
(a?.behavior === "auto" || a?.behavior === void 0) && (t != null && (n.value =
|
|
156
|
-
},
|
|
159
|
+
(a?.behavior === "auto" || a?.behavior === void 0) && (t != null && (n.value = C), i != null && (r.value = w));
|
|
160
|
+
}, K = () => {
|
|
157
161
|
let t = e.value.items, n = t.length, r = e.value.columnCount || 0;
|
|
158
162
|
if (y.resize(n), b.resize(n), S.resize(r), k.length !== n) {
|
|
159
163
|
let e = new Uint8Array(n);
|
|
@@ -168,10 +172,11 @@ function useVirtualScroll(e) {
|
|
|
168
172
|
e.set(O.subarray(0, Math.min(r, O.length))), O = e;
|
|
169
173
|
}
|
|
170
174
|
let i = 0;
|
|
171
|
-
if (e.value.restoreScrollOnPrepend &&
|
|
172
|
-
let e =
|
|
175
|
+
if (e.value.restoreScrollOnPrepend && N.length > 0 && n > N.length) {
|
|
176
|
+
let e = N[0];
|
|
177
|
+
/* v8 ignore else -- @preserve */
|
|
173
178
|
if (e !== void 0) {
|
|
174
|
-
for (let r = 1; r <= n -
|
|
179
|
+
for (let r = 1; r <= n - N.length; r++) if (t[r] === e) {
|
|
175
180
|
i = r;
|
|
176
181
|
break;
|
|
177
182
|
}
|
|
@@ -183,19 +188,21 @@ function useVirtualScroll(e) {
|
|
|
183
188
|
r.set(k.subarray(0, Math.min(n - i, k.length)), i), a.set(A.subarray(0, Math.min(n - i, A.length)), i), k = r, A = a;
|
|
184
189
|
let o = e.value.gap || 0, s = e.value.columnGap || 0, l = 0, u = 0;
|
|
185
190
|
for (let n = 0; n < i; n++) {
|
|
186
|
-
let r = typeof e.value.itemSize == "function" ? e.value.itemSize(t[n], n) :
|
|
191
|
+
let r = typeof e.value.itemSize == "function" ? e.value.itemSize(t[n], n) : L.value;
|
|
187
192
|
e.value.direction === "horizontal" ? l += r + s : u += r + o;
|
|
188
193
|
}
|
|
194
|
+
/* v8 ignore else -- @preserve */
|
|
189
195
|
(l > 0 || u > 0) && nextTick(() => {
|
|
190
|
-
|
|
196
|
+
G(l > 0 ? V.value + l : null, u > 0 ? H.value + u : null, { behavior: "auto" });
|
|
191
197
|
});
|
|
192
198
|
}
|
|
193
199
|
if (r > 0) {
|
|
194
200
|
let t = e.value.columnGap || 0, n = !1;
|
|
195
201
|
for (let e = 0; e < r; e++) {
|
|
196
|
-
let r =
|
|
197
|
-
if (!
|
|
202
|
+
let r = U(e), i = S.get(e);
|
|
203
|
+
if (!F.value || i === 0) {
|
|
198
204
|
let a = r + t;
|
|
205
|
+
/* v8 ignore else -- @preserve */
|
|
199
206
|
Math.abs(i - a) > .5 && (S.set(e, a), n = !0);
|
|
200
207
|
}
|
|
201
208
|
}
|
|
@@ -204,14 +211,12 @@ function useVirtualScroll(e) {
|
|
|
204
211
|
let a = e.value.gap || 0, o = e.value.columnGap || 0, s = !1;
|
|
205
212
|
for (let t = 0; t < n; t++) {
|
|
206
213
|
let n = e.value.items[t], r = y.get(t), i = b.get(t);
|
|
207
|
-
if (
|
|
208
|
-
let c = typeof e.value.itemSize == "function" ? e.value.itemSize(n, t) :
|
|
209
|
-
Math.abs(r -
|
|
210
|
-
let h = d ? c : f ? Math.max(c, u.value) : 0, g = l || f ? c : 0;
|
|
211
|
-
h > M.value && (M.value = h), g > N.value && (N.value = g);
|
|
214
|
+
if (P.value && (r > 0 || i > 0)) continue;
|
|
215
|
+
let c = typeof e.value.itemSize == "function" ? e.value.itemSize(n, t) : L.value, l = e.value.direction === "vertical", u = e.value.direction === "horizontal", d = e.value.direction === "both", f = u ? c + o : 0, p = l || d ? c + a : 0;
|
|
216
|
+
Math.abs(r - f) > .5 && (y.set(t, f), s = !0), Math.abs(i - p) > .5 && (b.set(t, p), s = !0);
|
|
212
217
|
}
|
|
213
|
-
s && (y.rebuild(), b.rebuild()),
|
|
214
|
-
},
|
|
218
|
+
s && (y.rebuild(), b.rebuild()), N = [...t], M.value = !0, D.value++;
|
|
219
|
+
}, q = () => {
|
|
215
220
|
if (e.value.hostElement && typeof window < "u") {
|
|
216
221
|
let t = e.value.hostElement.getBoundingClientRect(), n = e.value.container || window, r = 0, i = 0;
|
|
217
222
|
if (n === window) r = t.left + window.scrollX, i = t.top + window.scrollY;
|
|
@@ -230,43 +235,43 @@ function useVirtualScroll(e) {
|
|
|
230
235
|
() => e.value.itemSize,
|
|
231
236
|
() => e.value.gap,
|
|
232
237
|
() => e.value.columnGap
|
|
233
|
-
],
|
|
234
|
-
|
|
238
|
+
], K, { immediate: !0 }), watch(() => [e.value.container, e.value.hostElement], () => {
|
|
239
|
+
q();
|
|
235
240
|
});
|
|
236
|
-
let
|
|
241
|
+
let J = computed(() => {
|
|
237
242
|
if (D.value, (!a.value || o.value) && e.value.ssrRange) return {
|
|
238
243
|
start: e.value.ssrRange.start,
|
|
239
244
|
end: e.value.ssrRange.end
|
|
240
245
|
};
|
|
241
|
-
let t = e.value.direction || "vertical", n = e.value.ssrRange && !i.value ? 0 : e.value.bufferBefore ?? 5, r = e.value.bufferAfter ?? 5, s = e.value.gap || 0, c = e.value.columnGap || 0, l =
|
|
242
|
-
if (g) if (l !== null) S = Math.floor(
|
|
246
|
+
let t = e.value.direction || "vertical", n = e.value.ssrRange && !i.value ? 0 : e.value.bufferBefore ?? 5, r = e.value.bufferAfter ?? 5, s = e.value.gap || 0, c = e.value.columnGap || 0, l = I.value, d = getPaddingX(e.value.scrollPaddingStart, t), f = getPaddingX(e.value.scrollPaddingEnd, t), m = getPaddingY(e.value.scrollPaddingStart, t), h = getPaddingY(e.value.scrollPaddingEnd, t), g = t === "vertical" || t === "both", _ = t === "horizontal" || t === "both", v = u.value - (_ ? d + f : 0), x = p.value - (g ? m + h : 0), S = 0, C = e.value.items.length;
|
|
247
|
+
if (g) if (l !== null) S = Math.floor(H.value / (l + s)), C = Math.ceil((H.value + x) / (l + s));
|
|
243
248
|
else {
|
|
244
|
-
S = b.findLowerBound(
|
|
249
|
+
S = b.findLowerBound(H.value);
|
|
245
250
|
let t = b.query(S), n = S;
|
|
246
|
-
for (; n < e.value.items.length && t <
|
|
251
|
+
for (; n < e.value.items.length && t < H.value + x;) t = b.query(++n);
|
|
247
252
|
C = n;
|
|
248
253
|
}
|
|
249
|
-
else if (l !== null) S = Math.floor(
|
|
254
|
+
else if (l !== null) S = Math.floor(V.value / (l + c)), C = Math.ceil((V.value + v) / (l + c));
|
|
250
255
|
else {
|
|
251
|
-
S = y.findLowerBound(
|
|
256
|
+
S = y.findLowerBound(V.value);
|
|
252
257
|
let t = y.query(S), n = S;
|
|
253
|
-
for (; n < e.value.items.length && t <
|
|
258
|
+
for (; n < e.value.items.length && t < V.value + v;) t = y.query(++n);
|
|
254
259
|
C = n;
|
|
255
260
|
}
|
|
256
261
|
return {
|
|
257
262
|
start: Math.max(0, S - n),
|
|
258
263
|
end: Math.min(e.value.items.length, C + r)
|
|
259
264
|
};
|
|
260
|
-
}),
|
|
265
|
+
}), Y = computed(() => {
|
|
261
266
|
D.value;
|
|
262
|
-
let t =
|
|
263
|
-
return e.value.direction === "horizontal" ? t === null ? y.findLowerBound(
|
|
264
|
-
}),
|
|
267
|
+
let t = I.value, n = e.value.gap || 0, r = e.value.columnGap || 0;
|
|
268
|
+
return e.value.direction === "horizontal" ? t === null ? y.findLowerBound(V.value) : Math.floor(V.value / (t + r)) : t === null ? b.findLowerBound(H.value) : Math.floor(H.value / (t + n));
|
|
269
|
+
}), X = computed(() => {
|
|
265
270
|
D.value;
|
|
266
|
-
let { start: t, end: n } =
|
|
271
|
+
let { start: t, end: n } = J.value, r = [], i = I.value, o = e.value.gap || 0, s = e.value.columnGap || 0, c = R.value, l = /* @__PURE__ */ new Set();
|
|
267
272
|
for (let e = t; e < n; e++) l.add(e);
|
|
268
273
|
if (a.value || !e.value.ssrRange) {
|
|
269
|
-
let e =
|
|
274
|
+
let e = Y.value, r, i = 0, a = c.length - 1;
|
|
270
275
|
for (; i <= a;) {
|
|
271
276
|
let t = i + a >>> 1;
|
|
272
277
|
c[t] < e ? (r = c[t], i = t + 1) : a = t - 1;
|
|
@@ -280,14 +285,14 @@ function useVirtualScroll(e) {
|
|
|
280
285
|
let n = e.value.items[t];
|
|
281
286
|
if (n === void 0) continue;
|
|
282
287
|
let a = 0, l = 0, d = 0, f = 0;
|
|
283
|
-
e.value.direction === "horizontal" ? (a = i === null ? y.query(t) : t * (i + s), d = i === null ? y.get(t) - s : i, f = p.value) : (l = (e.value.direction === "vertical" || e.value.direction === "both") && i !== null ? t * (i + o) : b.query(t), f = i === null ? b.get(t) - o : i, d = e.value.direction === "both" ?
|
|
288
|
+
e.value.direction === "horizontal" ? (a = i === null ? y.query(t) : t * (i + s), d = i === null ? y.get(t) - s : i, f = p.value) : (l = (e.value.direction === "vertical" || e.value.direction === "both") && i !== null ? t * (i + o) : b.query(t), f = i === null ? b.get(t) - o : i, d = e.value.direction === "both" ? z.value : u.value);
|
|
284
289
|
let m = c.includes(t), _ = a, v = l, x = !1, S = {
|
|
285
290
|
x: 0,
|
|
286
291
|
y: 0
|
|
287
292
|
};
|
|
288
293
|
if (m) {
|
|
289
294
|
if (e.value.direction === "vertical" || e.value.direction === "both") {
|
|
290
|
-
if (
|
|
295
|
+
if (H.value > v) {
|
|
291
296
|
x = !0;
|
|
292
297
|
let e, n = 0, r = c.length - 1;
|
|
293
298
|
for (; n <= r;) {
|
|
@@ -295,11 +300,12 @@ function useVirtualScroll(e) {
|
|
|
295
300
|
c[i] > t ? (e = c[i], r = i - 1) : n = i + 1;
|
|
296
301
|
}
|
|
297
302
|
if (e !== void 0) {
|
|
298
|
-
let t = (i === null ? b.query(e) : e * (i + o)) -
|
|
303
|
+
let t = (i === null ? b.query(e) : e * (i + o)) - H.value;
|
|
304
|
+
/* v8 ignore else -- @preserve */
|
|
299
305
|
t < f && (S.y = -(f - t));
|
|
300
306
|
}
|
|
301
307
|
}
|
|
302
|
-
} else if (e.value.direction === "horizontal" &&
|
|
308
|
+
} else if (e.value.direction === "horizontal" && V.value > _) {
|
|
303
309
|
x = !0;
|
|
304
310
|
let e, n = 0, r = c.length - 1;
|
|
305
311
|
for (; n <= r;) {
|
|
@@ -307,7 +313,8 @@ function useVirtualScroll(e) {
|
|
|
307
313
|
c[i] > t ? (e = c[i], r = i - 1) : n = i + 1;
|
|
308
314
|
}
|
|
309
315
|
if (e !== void 0) {
|
|
310
|
-
let t = (i === null ? y.query(e) : e * (i + s)) -
|
|
316
|
+
let t = (i === null ? y.query(e) : e * (i + s)) - V.value;
|
|
317
|
+
/* v8 ignore else -- @preserve */
|
|
311
318
|
t < d && (S.x = -(d - t));
|
|
312
319
|
}
|
|
313
320
|
}
|
|
@@ -331,7 +338,7 @@ function useVirtualScroll(e) {
|
|
|
331
338
|
});
|
|
332
339
|
}
|
|
333
340
|
return r;
|
|
334
|
-
}),
|
|
341
|
+
}), Z = computed(() => {
|
|
335
342
|
D.value;
|
|
336
343
|
let t = e.value.columnCount || 0;
|
|
337
344
|
if (!t) return {
|
|
@@ -349,8 +356,8 @@ function useVirtualScroll(e) {
|
|
|
349
356
|
padEnd: 0
|
|
350
357
|
};
|
|
351
358
|
}
|
|
352
|
-
let n = S.findLowerBound(
|
|
353
|
-
for (; s < t && r <
|
|
359
|
+
let n = S.findLowerBound(V.value), r = S.query(n), s = n;
|
|
360
|
+
for (; s < t && r < V.value + u.value;) r = S.query(++s);
|
|
354
361
|
let c = e.value.ssrRange && !i.value ? 0 : 2, l = Math.max(0, n - c), d = Math.min(t, s + c);
|
|
355
362
|
return {
|
|
356
363
|
start: l,
|
|
@@ -358,42 +365,42 @@ function useVirtualScroll(e) {
|
|
|
358
365
|
padStart: S.query(l),
|
|
359
366
|
padEnd: S.query(t) - S.query(d)
|
|
360
367
|
};
|
|
361
|
-
}),
|
|
368
|
+
}), ne = computed(() => {
|
|
362
369
|
D.value;
|
|
363
|
-
let t =
|
|
364
|
-
return (e.value.direction === "horizontal" || e.value.direction === "both") && (r = t === null ? y.findLowerBound(
|
|
365
|
-
items:
|
|
366
|
-
currentIndex:
|
|
370
|
+
let t = I.value, n = e.value.columnGap || 0, r = 0;
|
|
371
|
+
return (e.value.direction === "horizontal" || e.value.direction === "both") && (r = t === null ? y.findLowerBound(V.value) : Math.floor(V.value / (t + n))), {
|
|
372
|
+
items: X.value,
|
|
373
|
+
currentIndex: Y.value,
|
|
367
374
|
currentColIndex: r,
|
|
368
375
|
scrollOffset: {
|
|
369
|
-
x:
|
|
370
|
-
y:
|
|
376
|
+
x: V.value,
|
|
377
|
+
y: H.value
|
|
371
378
|
},
|
|
372
379
|
viewportSize: {
|
|
373
380
|
width: u.value,
|
|
374
381
|
height: p.value
|
|
375
382
|
},
|
|
376
383
|
totalSize: {
|
|
377
|
-
width:
|
|
378
|
-
height:
|
|
384
|
+
width: z.value,
|
|
385
|
+
height: B.value
|
|
379
386
|
},
|
|
380
387
|
isScrolling: i.value,
|
|
381
388
|
isProgrammaticScroll: v.value,
|
|
382
|
-
range:
|
|
383
|
-
columnRange:
|
|
389
|
+
range: J.value,
|
|
390
|
+
columnRange: Z.value
|
|
384
391
|
};
|
|
385
|
-
}),
|
|
392
|
+
}), re = () => {
|
|
386
393
|
v.value = !1, j.value = null;
|
|
387
|
-
},
|
|
394
|
+
}, Q = (e) => {
|
|
388
395
|
let t = e.target;
|
|
389
396
|
typeof window > "u" || (t === window || t === document ? (n.value = window.scrollX, r.value = window.scrollY) : isScrollableElement(t) && (n.value = t.scrollLeft, r.value = t.scrollTop), i.value ||= (v.value || (j.value = null), !0), clearTimeout(_), _ = setTimeout(() => {
|
|
390
397
|
i.value = !1, v.value = !1;
|
|
391
398
|
}, 250));
|
|
392
|
-
},
|
|
399
|
+
}, ie = (t) => {
|
|
393
400
|
let n = !1, r = e.value.gap || 0, i = e.value.columnGap || 0;
|
|
394
401
|
for (let { index: a, inlineSize: o, blockSize: s, element: c } of t) {
|
|
395
|
-
if (
|
|
396
|
-
if (
|
|
402
|
+
if (P.value) {
|
|
403
|
+
if (e.value.direction === "horizontal") {
|
|
397
404
|
let e = y.get(a), t = o + i;
|
|
398
405
|
Math.abs(e - t) > .5 && (t > e || !k[a]) && (y.update(a, t - e), k[a] = 1, n = !0);
|
|
399
406
|
}
|
|
@@ -402,29 +409,31 @@ function useVirtualScroll(e) {
|
|
|
402
409
|
e.value.direction === "both" ? (i > t || !A[a]) && (b.update(a, i - t), A[a] = 1, n = !0) : Math.abs(t - i) > .5 && (i > t || !A[a]) && (b.update(a, i - t), A[a] = 1, n = !0);
|
|
403
410
|
}
|
|
404
411
|
}
|
|
405
|
-
if (e.value.direction === "both" && c && e.value.columnCount &&
|
|
412
|
+
if (e.value.direction === "both" && c && e.value.columnCount && F.value) {
|
|
406
413
|
let t = c.dataset.colIndex === void 0 ? Array.from(c.querySelectorAll("[data-col-index]")) : [c];
|
|
407
414
|
for (let r of t) {
|
|
408
415
|
let t = Number.parseInt(r.dataset.colIndex, 10);
|
|
416
|
+
/* v8 ignore else -- @preserve */
|
|
409
417
|
if (t >= 0 && t < (e.value.columnCount || 0)) {
|
|
410
418
|
let e = r.offsetWidth, a = S.get(t), o = e + i;
|
|
419
|
+
/* v8 ignore else -- @preserve */
|
|
411
420
|
(o > a || !O[t]) && (S.update(t, o - a), O[t] = 1, n = !0);
|
|
412
421
|
}
|
|
413
422
|
}
|
|
414
423
|
}
|
|
415
424
|
}
|
|
416
425
|
n && D.value++;
|
|
417
|
-
},
|
|
418
|
-
|
|
426
|
+
}, ae = (e, t, n, r) => {
|
|
427
|
+
ie([{
|
|
419
428
|
index: e,
|
|
420
429
|
inlineSize: t,
|
|
421
430
|
blockSize: n,
|
|
422
431
|
element: r
|
|
423
432
|
}]);
|
|
424
|
-
},
|
|
433
|
+
}, oe = () => {
|
|
425
434
|
if (j.value && !o.value) {
|
|
426
435
|
let { rowIndex: e, colIndex: t, options: n } = j.value;
|
|
427
|
-
|
|
436
|
+
W(e, t, isScrollToIndexOptions(n) ? {
|
|
428
437
|
...n,
|
|
429
438
|
isCorrection: !0
|
|
430
439
|
} : {
|
|
@@ -433,33 +442,35 @@ function useVirtualScroll(e) {
|
|
|
433
442
|
});
|
|
434
443
|
}
|
|
435
444
|
};
|
|
436
|
-
watch(D,
|
|
437
|
-
e ||
|
|
445
|
+
watch(D, oe), watch(i, (e) => {
|
|
446
|
+
e || oe();
|
|
438
447
|
});
|
|
439
|
-
let
|
|
448
|
+
let $ = null, se = (e) => {
|
|
440
449
|
if (!e || typeof window > "u") return;
|
|
441
450
|
let t = e === window ? document : e;
|
|
442
|
-
if (t.addEventListener("scroll",
|
|
451
|
+
if (t.addEventListener("scroll", Q, { passive: !0 }), e === window) {
|
|
443
452
|
u.value = window.innerWidth, p.value = window.innerHeight, n.value = window.scrollX, r.value = window.scrollY;
|
|
444
453
|
let e = () => {
|
|
445
|
-
u.value = window.innerWidth, p.value = window.innerHeight,
|
|
454
|
+
u.value = window.innerWidth, p.value = window.innerHeight, q();
|
|
446
455
|
};
|
|
447
456
|
return window.addEventListener("resize", e), () => {
|
|
448
|
-
t.removeEventListener("scroll",
|
|
457
|
+
t.removeEventListener("scroll", Q), window.removeEventListener("resize", e);
|
|
449
458
|
};
|
|
450
|
-
} else return u.value = e.clientWidth, p.value = e.clientHeight, n.value = e.scrollLeft, r.value = e.scrollTop,
|
|
451
|
-
for (let n of t)
|
|
452
|
-
|
|
453
|
-
|
|
459
|
+
} else return u.value = e.clientWidth, p.value = e.clientHeight, n.value = e.scrollLeft, r.value = e.scrollTop, $ = new ResizeObserver((t) => {
|
|
460
|
+
for (let n of t)
|
|
461
|
+
/* v8 ignore else -- @preserve */
|
|
462
|
+
n.target === e && (u.value = e.clientWidth, p.value = e.clientHeight, q());
|
|
463
|
+
}), $.observe(e), () => {
|
|
464
|
+
t.removeEventListener("scroll", Q), $?.disconnect();
|
|
454
465
|
};
|
|
455
|
-
},
|
|
466
|
+
}, ce;
|
|
456
467
|
return getCurrentInstance() && (onMounted(() => {
|
|
457
468
|
l.value = !0, watch(() => e.value.container, (e) => {
|
|
458
|
-
|
|
459
|
-
}, { immediate: !0 }),
|
|
460
|
-
|
|
469
|
+
ce?.(), ce = se(e || null);
|
|
470
|
+
}, { immediate: !0 }), q(), e.value.ssrRange || e.value.initialScrollIndex !== void 0 ? nextTick(() => {
|
|
471
|
+
q();
|
|
461
472
|
let t = e.value.initialScrollIndex === void 0 ? e.value.ssrRange?.start : e.value.initialScrollIndex, n = e.value.initialScrollAlign || "start";
|
|
462
|
-
t != null &&
|
|
473
|
+
t != null && W(t, e.value.ssrRange?.colStart, {
|
|
463
474
|
align: n,
|
|
464
475
|
behavior: "auto"
|
|
465
476
|
}), a.value = !0, o.value = !0, nextTick(() => {
|
|
@@ -467,22 +478,22 @@ function useVirtualScroll(e) {
|
|
|
467
478
|
});
|
|
468
479
|
}) : a.value = !0;
|
|
469
480
|
}), onUnmounted(() => {
|
|
470
|
-
|
|
481
|
+
ce?.();
|
|
471
482
|
})), {
|
|
472
|
-
renderedItems:
|
|
473
|
-
totalWidth:
|
|
474
|
-
totalHeight:
|
|
475
|
-
scrollDetails:
|
|
476
|
-
scrollToIndex:
|
|
477
|
-
scrollToOffset:
|
|
478
|
-
stopProgrammaticScroll:
|
|
479
|
-
updateItemSize:
|
|
480
|
-
updateItemSizes:
|
|
481
|
-
updateHostOffset:
|
|
482
|
-
columnRange:
|
|
483
|
-
getColumnWidth:
|
|
483
|
+
renderedItems: X,
|
|
484
|
+
totalWidth: z,
|
|
485
|
+
totalHeight: B,
|
|
486
|
+
scrollDetails: ne,
|
|
487
|
+
scrollToIndex: W,
|
|
488
|
+
scrollToOffset: G,
|
|
489
|
+
stopProgrammaticScroll: re,
|
|
490
|
+
updateItemSize: ae,
|
|
491
|
+
updateItemSizes: ie,
|
|
492
|
+
updateHostOffset: q,
|
|
493
|
+
columnRange: Z,
|
|
494
|
+
getColumnWidth: U,
|
|
484
495
|
refresh: () => {
|
|
485
|
-
y.resize(0), b.resize(0), S.resize(0), O.fill(0), k.fill(0), A.fill(0),
|
|
496
|
+
y.resize(0), b.resize(0), S.resize(0), O.fill(0), k.fill(0), A.fill(0), K();
|
|
486
497
|
},
|
|
487
498
|
isHydrated: a
|
|
488
499
|
};
|
|
@@ -551,6 +562,7 @@ var _hoisted_1 = {
|
|
|
551
562
|
return e === T.value || typeof window < "u" && (e === window || e === null);
|
|
552
563
|
}), { isHydrated: F, columnRange: I, renderedItems: L, scrollDetails: R, totalHeight: z, totalWidth: B, getColumnWidth: V, scrollToIndex: H, scrollToOffset: U, updateHostOffset: W, updateItemSizes: G, refresh: K, stopProgrammaticScroll: q } = useVirtualScroll(computed(() => {
|
|
553
564
|
let e = m.scrollPaddingStart, t = m.scrollPaddingEnd, n = typeof e == "object" ? e.x || 0 : m.direction === "horizontal" && e || 0, r = typeof e == "object" ? e.y || 0 : m.direction === "horizontal" ? 0 : e || 0, i = typeof t == "object" ? t.x || 0 : m.direction === "horizontal" && t || 0, a = typeof t == "object" ? t.y || 0 : m.direction === "horizontal" ? 0 : t || 0;
|
|
565
|
+
/* v8 ignore stop -- @preserve */
|
|
554
566
|
return {
|
|
555
567
|
items: m.items,
|
|
556
568
|
itemSize: m.itemSize,
|
|
@@ -591,6 +603,7 @@ var _hoisted_1 = {
|
|
|
591
603
|
colEnd: e.columnRange.end
|
|
592
604
|
}), !m.loading && (m.direction !== "horizontal" && e.totalSize.height - (e.scrollOffset.y + e.viewportSize.height) <= m.loadDistance && C("load", "vertical"), m.direction !== "vertical" && e.totalSize.width - (e.scrollOffset.x + e.viewportSize.width) <= m.loadDistance && C("load", "horizontal")));
|
|
593
605
|
}), watch(F, (e) => {
|
|
606
|
+
/* v8 ignore else -- @preserve */
|
|
594
607
|
e && C("visibleRangeChange", {
|
|
595
608
|
start: R.value.range.start,
|
|
596
609
|
end: R.value.range.end,
|
|
@@ -598,6 +611,7 @@ var _hoisted_1 = {
|
|
|
598
611
|
colEnd: R.value.columnRange.end
|
|
599
612
|
});
|
|
600
613
|
}, { once: !0 });
|
|
614
|
+
/* v8 ignore next 2 -- @preserve */
|
|
601
615
|
let J = typeof window > "u" ? null : new ResizeObserver(W), Y = typeof window > "u" ? null : new ResizeObserver((e) => {
|
|
602
616
|
let t = [];
|
|
603
617
|
for (let n of e) {
|
|
@@ -618,6 +632,7 @@ var _hoisted_1 = {
|
|
|
618
632
|
});
|
|
619
633
|
}
|
|
620
634
|
}
|
|
635
|
+
/* v8 ignore else -- @preserve */
|
|
621
636
|
t.length > 0 && G(t);
|
|
622
637
|
}), X = typeof window > "u" ? null : new ResizeObserver(() => {
|
|
623
638
|
M.value = D.value?.offsetHeight || 0, N.value = O.value?.offsetHeight || 0, W();
|
|
@@ -630,33 +645,39 @@ var _hoisted_1 = {
|
|
|
630
645
|
let Z = computed(() => L.value[0]?.index);
|
|
631
646
|
watch(Z, (e, t) => {
|
|
632
647
|
if (m.direction === "both") {
|
|
648
|
+
/* v8 ignore else -- @preserve */
|
|
633
649
|
if (t !== void 0) {
|
|
634
650
|
let e = k.get(t);
|
|
635
651
|
e && e.querySelectorAll("[data-col-index]").forEach((e) => Y?.unobserve(e));
|
|
636
652
|
}
|
|
637
653
|
if (e !== void 0) {
|
|
638
654
|
let t = k.get(e);
|
|
655
|
+
/* v8 ignore else -- @preserve */
|
|
639
656
|
t && t.querySelectorAll("[data-col-index]").forEach((e) => Y?.observe(e));
|
|
640
657
|
}
|
|
641
658
|
}
|
|
642
659
|
}, { flush: "post" }), onMounted(() => {
|
|
660
|
+
/* v8 ignore else -- @preserve */
|
|
643
661
|
T.value && J?.observe(T.value);
|
|
644
662
|
for (let e of k.values()) Y?.observe(e);
|
|
663
|
+
/* v8 ignore else -- @preserve */
|
|
645
664
|
if (Z.value !== void 0) {
|
|
646
665
|
let e = k.get(Z.value);
|
|
666
|
+
/* v8 ignore else -- @preserve */
|
|
647
667
|
e && e.querySelectorAll("[data-col-index]").forEach((e) => Y?.observe(e));
|
|
648
668
|
}
|
|
649
669
|
}), watch([T, E], ([e], [t]) => {
|
|
650
670
|
t && J?.unobserve(t), e && J?.observe(e);
|
|
651
671
|
});
|
|
652
|
-
function
|
|
672
|
+
function ne(e, t) {
|
|
653
673
|
if (e) k.set(t, e), Y?.observe(e);
|
|
654
674
|
else {
|
|
655
675
|
let e = k.get(t);
|
|
676
|
+
/* v8 ignore else -- @preserve */
|
|
656
677
|
e && (Y?.unobserve(e), k.delete(t));
|
|
657
678
|
}
|
|
658
679
|
}
|
|
659
|
-
function
|
|
680
|
+
function re(e) {
|
|
660
681
|
q();
|
|
661
682
|
let { viewportSize: t, scrollOffset: n } = R.value, r = m.direction !== "vertical", i = m.direction !== "horizontal";
|
|
662
683
|
if (e.key === "Home") {
|
|
@@ -666,7 +687,7 @@ var _hoisted_1 = {
|
|
|
666
687
|
if (e.key === "End") {
|
|
667
688
|
e.preventDefault();
|
|
668
689
|
let t = m.items.length - 1, n = (m.columnCount || 0) > 0 ? m.columnCount - 1 : 0;
|
|
669
|
-
r
|
|
690
|
+
r ? i ? H(t, n, "end") : H(0, t, "end") : H(t, 0, "end");
|
|
670
691
|
return;
|
|
671
692
|
}
|
|
672
693
|
if (e.key === "ArrowUp") {
|
|
@@ -686,21 +707,21 @@ var _hoisted_1 = {
|
|
|
686
707
|
return;
|
|
687
708
|
}
|
|
688
709
|
if (e.key === "PageUp") {
|
|
689
|
-
e.preventDefault(), U(r ? n.x - t.width : null, i ? n.y - t.height : null);
|
|
710
|
+
e.preventDefault(), U(!i && r ? n.x - t.width : null, i ? n.y - t.height : null);
|
|
690
711
|
return;
|
|
691
712
|
}
|
|
692
|
-
e.key === "PageDown" && (e.preventDefault(), U(r ? n.x + t.width : null, i ? n.y + t.height : null));
|
|
713
|
+
e.key === "PageDown" && (e.preventDefault(), U(!i && r ? n.x + t.width : null, i ? n.y + t.height : null));
|
|
693
714
|
}
|
|
694
715
|
onUnmounted(() => {
|
|
695
716
|
J?.disconnect(), Y?.disconnect(), X?.disconnect();
|
|
696
717
|
});
|
|
697
|
-
let
|
|
718
|
+
let Q = computed(() => {
|
|
698
719
|
let e = m.container;
|
|
699
720
|
return e === null || typeof window < "u" && e === window ? !0 : e && typeof e == "object" && "tagName" in e ? e.tagName === "BODY" : !1;
|
|
700
|
-
}), ie = computed(() =>
|
|
721
|
+
}), ie = computed(() => Q.value ? { ...m.direction === "vertical" ? {} : { whiteSpace: "nowrap" } } : m.containerTag === "table" ? { minInlineSize: m.direction === "vertical" ? "100%" : "auto" } : { ...m.direction === "vertical" ? {} : { whiteSpace: "nowrap" } }), ae = computed(() => ({
|
|
701
722
|
inlineSize: m.direction === "vertical" ? "100%" : `${B.value}px`,
|
|
702
723
|
blockSize: m.direction === "horizontal" ? "100%" : `${z.value}px`
|
|
703
|
-
})),
|
|
724
|
+
})), oe = computed(() => {
|
|
704
725
|
let e = m.direction === "horizontal";
|
|
705
726
|
return {
|
|
706
727
|
display: e ? "inline-block" : "block",
|
|
@@ -709,7 +730,7 @@ var _hoisted_1 = {
|
|
|
709
730
|
verticalAlign: "top"
|
|
710
731
|
} : { inlineSize: "100%" }
|
|
711
732
|
};
|
|
712
|
-
}),
|
|
733
|
+
}), $ = computed(() => ({
|
|
713
734
|
inlineSize: m.direction === "vertical" ? "1px" : `${B.value}px`,
|
|
714
735
|
blockSize: m.direction === "horizontal" ? "1px" : `${z.value}px`
|
|
715
736
|
}));
|
|
@@ -730,12 +751,12 @@ var _hoisted_1 = {
|
|
|
730
751
|
ref: T,
|
|
731
752
|
class: normalizeClass(["virtual-scroll-container", [`virtual-scroll--${o.direction}`, {
|
|
732
753
|
"virtual-scroll--hydrated": unref(F),
|
|
733
|
-
"virtual-scroll--window":
|
|
754
|
+
"virtual-scroll--window": Q.value,
|
|
734
755
|
"virtual-scroll--table": o.containerTag === "table"
|
|
735
756
|
}]]),
|
|
736
757
|
style: normalizeStyle(ie.value),
|
|
737
758
|
tabindex: "0",
|
|
738
|
-
onKeydown:
|
|
759
|
+
onKeydown: re,
|
|
739
760
|
onWheelPassive: unref(q),
|
|
740
761
|
onPointerdownPassive: unref(q),
|
|
741
762
|
onTouchstartPassive: unref(q)
|
|
@@ -754,12 +775,12 @@ var _hoisted_1 = {
|
|
|
754
775
|
ref_key: "wrapperRef",
|
|
755
776
|
ref: E,
|
|
756
777
|
class: "virtual-scroll-wrapper",
|
|
757
|
-
style: normalizeStyle(
|
|
778
|
+
style: normalizeStyle(ae.value)
|
|
758
779
|
}, {
|
|
759
780
|
default: withCtx(() => [o.containerTag === "table" ? (openBlock(), createBlock(resolveDynamicComponent(o.itemTag), {
|
|
760
781
|
key: 0,
|
|
761
782
|
class: "virtual-scroll-spacer",
|
|
762
|
-
style: normalizeStyle(
|
|
783
|
+
style: normalizeStyle($.value)
|
|
763
784
|
}, {
|
|
764
785
|
default: withCtx(() => [...s[0] ||= [createElementVNode("td", { style: {
|
|
765
786
|
padding: "0",
|
|
@@ -770,7 +791,7 @@ var _hoisted_1 = {
|
|
|
770
791
|
}, 8, ["style"])) : createCommentVNode("", !0), (openBlock(!0), createElementBlock(Fragment, null, renderList(unref(L), (e) => (openBlock(), createBlock(resolveDynamicComponent(o.itemTag), {
|
|
771
792
|
key: e.index,
|
|
772
793
|
ref_for: !0,
|
|
773
|
-
ref: (t) =>
|
|
794
|
+
ref: (t) => ne(t, e.index),
|
|
774
795
|
"data-index": e.index,
|
|
775
796
|
class: normalizeClass(["virtual-scroll-item", {
|
|
776
797
|
"virtual-scroll--sticky": e.isStickyActive,
|
|
@@ -797,7 +818,7 @@ var _hoisted_1 = {
|
|
|
797
818
|
o.loading && t.$slots.loading ? (openBlock(), createElementBlock("div", {
|
|
798
819
|
key: 1,
|
|
799
820
|
class: "virtual-scroll-loading",
|
|
800
|
-
style: normalizeStyle(
|
|
821
|
+
style: normalizeStyle(oe.value)
|
|
801
822
|
}, [renderSlot(t.$slots, "loading", {}, void 0, !0)], 4)) : createCommentVNode("", !0),
|
|
802
823
|
t.$slots.footer ? (openBlock(), createBlock(resolveDynamicComponent(o.containerTag === "table" ? "tfoot" : "div"), {
|
|
803
824
|
key: 2,
|
|
@@ -818,7 +839,7 @@ var _hoisted_1 = {
|
|
|
818
839
|
"onTouchstartPassive"
|
|
819
840
|
]));
|
|
820
841
|
}
|
|
821
|
-
}), [["__scopeId", "data-v-
|
|
842
|
+
}), [["__scopeId", "data-v-105a0cd5"]]);
|
|
822
843
|
export { DEFAULT_BUFFER, DEFAULT_COLUMN_WIDTH, DEFAULT_ITEM_SIZE, FenwickTree, VirtualScroll_default as VirtualScroll, getPaddingX, getPaddingY, isElement, isScrollToIndexOptions, isScrollableElement, useVirtualScroll };
|
|
823
844
|
|
|
824
845
|
//# sourceMappingURL=index.js.map
|