virtua 0.53.2 → 0.53.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.
- package/README.md +37 -32
- package/lib/angular/VGrid.d.ts +1 -1
- package/lib/angular/VList.d.ts +1 -1
- package/lib/angular/VMasonry.d.ts +1 -1
- package/lib/angular/Virtualizer.d.ts +1 -1
- package/lib/angular/WindowVirtualizer.d.ts +1 -1
- package/lib/angular/index.js +586 -586
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +405 -404
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.js +416 -415
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +645 -645
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +639 -639
- package/lib/index.js.map +1 -1
- package/lib/react/VGrid.d.ts +1 -1
- package/lib/react/VMasonry.d.ts +1 -1
- package/lib/react/Virtualizer.d.ts +1 -1
- package/lib/react/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/VGrid.d.ts +1 -1
- package/lib/solid/VMasonry.d.ts +1 -1
- package/lib/solid/Virtualizer.d.ts +1 -1
- package/lib/solid/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/index.cjs +672 -671
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +671 -671
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +165 -214
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/VGrid.svelte +15 -20
- package/lib/svelte/VGrid.type.d.ts +1 -1
- package/lib/svelte/VMasonry.svelte +10 -13
- package/lib/svelte/VMasonry.type.d.ts +1 -1
- package/lib/svelte/Virtualizer.svelte +8 -8
- package/lib/svelte/Virtualizer.type.d.ts +1 -1
- package/lib/svelte/WindowVirtualizer.svelte +5 -7
- package/lib/svelte/WindowVirtualizer.type.d.ts +1 -1
- package/lib/vue/VGrid.d.ts +1 -1
- package/lib/vue/VMasonry.d.ts +1 -1
- package/lib/vue/Virtualizer.d.ts +1 -1
- package/lib/vue/WindowVirtualizer.d.ts +1 -1
- package/lib/vue/index.cjs +800 -797
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +771 -768
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/core/observer.d.ts +0 -1
package/lib/core/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, {
|
|
|
2
2
|
value: "Module"
|
|
3
3
|
});
|
|
4
4
|
|
|
5
|
-
var t, e = [], {min: o, max: n, abs:
|
|
5
|
+
var t, e = [], {min: o, max: n, abs: s, floor: r} = Math, l = (t, e, s) => o(s, n(e, t)), c = t => t.sort((t, e) => t - e), i = setTimeout, f = clearTimeout, u = "function" == typeof queueMicrotask ? queueMicrotask : t => {
|
|
6
6
|
Promise.resolve().then(t);
|
|
7
7
|
}, a = () => {
|
|
8
8
|
let t;
|
|
@@ -14,65 +14,65 @@ t), m = (t, e, o) => {
|
|
|
14
14
|
const n = o ? "unshift" : "push";
|
|
15
15
|
for (let o = 0; o < e; o++) t[n](-1);
|
|
16
16
|
return t;
|
|
17
|
-
}, x = (t, e, o, n = 0,
|
|
17
|
+
}, x = (t, e, o, n = 0, s = e - 1) => {
|
|
18
18
|
let c = n;
|
|
19
|
-
for (;n <=
|
|
20
|
-
const e =
|
|
21
|
-
t(e) <= o ? (c = e, n = e + 1) :
|
|
19
|
+
for (;n <= s; ) {
|
|
20
|
+
const e = r((n + s) / 2);
|
|
21
|
+
t(e) <= o ? (c = e, n = e + 1) : s = e - 1;
|
|
22
22
|
}
|
|
23
23
|
return l(c, 0, e - 1);
|
|
24
|
-
}, w = t => "number" == typeof t ? t : t.length, h = /*#__PURE__*/ new WeakMap,
|
|
24
|
+
}, w = t => "number" == typeof t ? t : t.length, h = /*#__PURE__*/ new WeakMap, S = (t, e, o) => {
|
|
25
25
|
const n = [];
|
|
26
|
-
for (const
|
|
26
|
+
for (const s of t) s >= e && s < o && n.push(s);
|
|
27
27
|
return c(n);
|
|
28
|
-
},
|
|
28
|
+
}, b = (t, e, o) => {
|
|
29
29
|
if (e >= o) return -1;
|
|
30
|
-
let n = 0,
|
|
31
|
-
for (;n <
|
|
32
|
-
const o = n +
|
|
33
|
-
t[o] <= e ? n = o + 1 :
|
|
30
|
+
let n = 0, s = t.length;
|
|
31
|
+
for (;n < s; ) {
|
|
32
|
+
const o = n + s >> 1;
|
|
33
|
+
t[o] <= e ? n = o + 1 : s = o;
|
|
34
34
|
}
|
|
35
35
|
return n - 1;
|
|
36
|
-
}, v = (t, e, o, n,
|
|
37
|
-
const
|
|
38
|
-
for (;o <
|
|
36
|
+
}, v = (t, e, o, n, s) => {
|
|
37
|
+
const r = e.length;
|
|
38
|
+
for (;o < r && e[o] < n; o++) {
|
|
39
39
|
const n = e[o];
|
|
40
|
-
n >
|
|
40
|
+
n > s && (t.push(n), s = n);
|
|
41
41
|
}
|
|
42
42
|
return o;
|
|
43
|
-
},
|
|
43
|
+
}, I = (t, e, o, n, s, r) => {
|
|
44
44
|
const l = [];
|
|
45
45
|
for (let t = 0; t < o; t++) l.push(t);
|
|
46
46
|
const c = v(l, t, 0, n, o - 1);
|
|
47
|
-
for (let t = n; t <=
|
|
48
|
-
v(l, t, c,
|
|
49
|
-
for (let t =
|
|
47
|
+
for (let t = n; t <= s; t++) l.push(t);
|
|
48
|
+
v(l, t, c, r, s);
|
|
49
|
+
for (let t = r; t < e; t++) l.push(t);
|
|
50
50
|
return l;
|
|
51
|
-
},
|
|
52
|
-
const c = e.length, i =
|
|
51
|
+
}, y = (t, e) => o(t.rowIndex + (t.rowSpan || 1), e), z = (t, e) => o(t.colIndex + (t.colSpan || 1), e), k = (t, e, n, s, r, l) => {
|
|
52
|
+
const c = e.length, i = s.length;
|
|
53
53
|
let f = "[l0]", u = 0, a = 0, $ = 0;
|
|
54
54
|
for (;u < l; ) {
|
|
55
|
-
for (;$ < i &&
|
|
55
|
+
for (;$ < i && s[$] <= u; ) $++;
|
|
56
56
|
const p = a < c ? e[a] : l;
|
|
57
57
|
let g, d;
|
|
58
58
|
if (p === u) {
|
|
59
59
|
g = u + 1;
|
|
60
60
|
const e = n[a];
|
|
61
|
-
d = null == e ? t.$getItemSize(u) + "px" : e ?
|
|
61
|
+
d = null == e ? t.$getItemSize(u) + "px" : e ? r : "minmax(" + t.$getItemSize(u) + "px,auto)",
|
|
62
62
|
a++;
|
|
63
|
-
} else g = o(p, $ < i ?
|
|
63
|
+
} else g = o(p, $ < i ? s[$] : l), d = "minmax(" + (t.$getItemOffset(g - 1) + t.$getItemSize(g - 1) - t.$getItemOffset(u)) + "px,auto)";
|
|
64
64
|
f += " " + d + " [l" + g + "]", u = g;
|
|
65
65
|
}
|
|
66
66
|
return f;
|
|
67
|
-
}, M = (t, e, o, n,
|
|
68
|
-
const
|
|
67
|
+
}, M = (t, e, o, n, s) => {
|
|
68
|
+
const r = {
|
|
69
69
|
display: "grid",
|
|
70
70
|
gridTemplateRows: "subgrid",
|
|
71
71
|
gridTemplateColumns: "subgrid",
|
|
72
72
|
gridColumn: "1/-1",
|
|
73
73
|
gridRow: "l" + t + "/l" + e
|
|
74
74
|
};
|
|
75
|
-
return null != o && (
|
|
75
|
+
return null != o && (r.position = "sticky", r[n] = o + "px", r.zIndex = s), r;
|
|
76
76
|
}, T = t => {
|
|
77
77
|
let e;
|
|
78
78
|
return {
|
|
@@ -86,326 +86,323 @@ t), m = (t, e, o) => {
|
|
|
86
86
|
e && e.disconnect();
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
|
-
}, L = (t, e, o, n, r,
|
|
90
|
-
let
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
[b]:
|
|
89
|
+
}, L = (t, e, o, n, s, r, l, c) => {
|
|
90
|
+
let a, $, p = 0, g = !1, m = !1, x = !1, w = !1;
|
|
91
|
+
const h = Date.now, S = s ? "scrollLeft" : "scrollTop", b = s ? "left" : "top", v = t => r ? -t : t, I = () => v(n[S]), y = (t, e) => {
|
|
92
|
+
n.scrollTo({
|
|
93
|
+
[b]: v(t),
|
|
94
94
|
behavior: e ? "smooth" : "instant"
|
|
95
95
|
});
|
|
96
|
-
}, I = () => {
|
|
97
|
-
if (p || g) return p = !1, void z();
|
|
98
|
-
m = !1, t.$update(2);
|
|
99
96
|
}, z = () => {
|
|
100
|
-
|
|
97
|
+
if (g || m) return g = !1, void k();
|
|
98
|
+
x = !1, t.$update(2);
|
|
101
99
|
}, k = () => {
|
|
102
|
-
$
|
|
103
|
-
}, M =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
f($), $ = i(z, 150);
|
|
101
|
+
}, M = () => {
|
|
102
|
+
p = h(), x && (w = !0), c && t.$update(7, c()), t.$update(1, I()), k();
|
|
103
|
+
}, T = e => {
|
|
104
|
+
if (g || !t.$isScrolling() || e.ctrlKey) return;
|
|
105
|
+
const o = h() - p;
|
|
106
|
+
150 > o && 50 < o && (s ? e.deltaX : e.deltaY) && (g = !0);
|
|
109
107
|
}, L = () => {
|
|
110
|
-
|
|
108
|
+
m = !0, x = w = !1;
|
|
109
|
+
}, R = () => {
|
|
110
|
+
m = !1, d() && (x = !0);
|
|
111
111
|
};
|
|
112
|
-
return
|
|
112
|
+
return o.addEventListener("scroll", M), o.addEventListener("wheel", T, {
|
|
113
113
|
passive: !0
|
|
114
|
-
}),
|
|
114
|
+
}), o.addEventListener("touchstart", L, {
|
|
115
115
|
passive: !0
|
|
116
|
-
}),
|
|
116
|
+
}), o.addEventListener("touchend", R, {
|
|
117
117
|
passive: !0
|
|
118
118
|
}), {
|
|
119
|
-
i:
|
|
119
|
+
i: M,
|
|
120
120
|
l: () => {
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
o.removeEventListener("scroll", M), o.removeEventListener("wheel", T), o.removeEventListener("touchstart", L),
|
|
122
|
+
o.removeEventListener("touchend", R), f($);
|
|
123
123
|
},
|
|
124
124
|
u: () => {
|
|
125
|
-
const [e,
|
|
125
|
+
const [e, o] = t.$();
|
|
126
126
|
if (!e) return;
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
[b]:
|
|
127
|
+
w && l && l(), w = !1;
|
|
128
|
+
const s = t.$getScrollOffset(), r = s + e, c = t.$getStartSpacerSize() + t.$getTotalSize() - t.$getViewportSize();
|
|
129
|
+
r <= 0 || r >= c || s >= c ? y(r) : n.scrollBy({
|
|
130
|
+
[b]: v(e),
|
|
131
131
|
behavior: "instant"
|
|
132
|
-
}),
|
|
132
|
+
}), o && (a && a(), t.$getViewportSize() > t.$getTotalSize() && t.$update(1, I()));
|
|
133
133
|
},
|
|
134
|
-
p: (
|
|
135
|
-
let
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
},
|
|
140
|
-
if (!
|
|
141
|
-
if (t.$getViewportSize() && (f(r), r = i(
|
|
142
|
-
for (let [
|
|
143
|
-
|
|
134
|
+
p: (o, n) => {
|
|
135
|
+
let s, r, l;
|
|
136
|
+
a && a();
|
|
137
|
+
const c = a = () => {
|
|
138
|
+
s = !0, f(r), l && l();
|
|
139
|
+
}, $ = () => {
|
|
140
|
+
if (!s) {
|
|
141
|
+
if (t.$getViewportSize() && (f(r), r = i(c, 150)), n) {
|
|
142
|
+
for (let [o, n] = t.$getRange(0); o <= n; o++) if (e.$isSizeEqual(o)) return;
|
|
143
|
+
c();
|
|
144
144
|
}
|
|
145
|
-
t.$update(
|
|
145
|
+
t.$update(8), y(o(), n);
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
|
-
|
|
149
|
-
if (
|
|
148
|
+
n && t.$update(9, o()), (() => {
|
|
149
|
+
if (s) return;
|
|
150
150
|
let e;
|
|
151
|
-
|
|
151
|
+
l = t.$subscribe(2, () => {
|
|
152
152
|
e || (e = !0, u(() => {
|
|
153
|
-
e = !1,
|
|
153
|
+
e = !1, $();
|
|
154
154
|
}));
|
|
155
|
-
}),
|
|
155
|
+
}), $();
|
|
156
156
|
})();
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
159
|
}, R = (t, e) => {
|
|
160
160
|
t.$scroll(() => e);
|
|
161
|
-
}, O = (t, e,
|
|
162
|
-
const u =
|
|
161
|
+
}, O = (t, e, s, r, c, i, f) => {
|
|
162
|
+
const u = s.$getLength(), a = s.$getPinnedStart(), $ = s.$getTrailStart();
|
|
163
163
|
c = l(c, 0, u - 1);
|
|
164
|
-
const p =
|
|
164
|
+
const p = S(r, a, $), g = b(p, c, $), d = g < 0 ? -1 : p[g], m = () => s.$getItemOffset(a) + (d < 0 || d === c ? 0 : s.$getItemOffset(d + 1) - s.$getItemOffset(d)), x = () => s.$getItemOffset(u) - s.$getItemOffset($);
|
|
165
165
|
if ("nearest" === i) {
|
|
166
166
|
if (c < a || c >= $) return;
|
|
167
|
-
const t = m(), r = e.$getScrollOffset() + t,
|
|
168
|
-
let
|
|
167
|
+
const t = m(), r = e.$getScrollOffset() + t, l = e.$getViewportSize() - t - x(), f = s.$getItemSize(c);
|
|
168
|
+
let u = e.$getItemOffset(c);
|
|
169
169
|
if (d === c) {
|
|
170
170
|
const t = (g + 1 < p.length ? p[g + 1] : $) - 1;
|
|
171
|
-
|
|
171
|
+
u = n(u, o(r, e.$getItemOffset(t) + s.$getItemSize(t) - f));
|
|
172
172
|
}
|
|
173
|
-
if (
|
|
174
|
-
if (!(
|
|
173
|
+
if (u < r) i = "start"; else {
|
|
174
|
+
if (!(u + f > r + l)) return;
|
|
175
175
|
i = "end";
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
t.$scroll(f, () => {
|
|
179
|
-
const t = m(), o =
|
|
179
|
+
const t = m(), o = s.$getItemSize(c) - (e.$getViewportSize() - t - x());
|
|
180
180
|
return e.$getItemOffset(c) - t + ("end" === i ? o : "center" === i ? o / 2 : 0);
|
|
181
181
|
});
|
|
182
182
|
};
|
|
183
183
|
|
|
184
|
-
exports.ACTION_ITEMS_LENGTH_CHANGE = 5, exports.
|
|
184
|
+
exports.ACTION_ITEMS_LENGTH_CHANGE = 5, exports.ACTION_START_OFFSET_CHANGE = 7,
|
|
185
185
|
exports.UPDATE_SCROLL_END_EVENT = 8, exports.UPDATE_SCROLL_EVENT = 4, exports.UPDATE_SIZE_EVENT = 2,
|
|
186
|
-
exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e) => {
|
|
187
|
-
let
|
|
188
|
-
const
|
|
189
|
-
const
|
|
190
|
-
for (const {target:
|
|
191
|
-
|
|
192
|
-
const t =
|
|
193
|
-
null != t
|
|
186
|
+
exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e, o) => {
|
|
187
|
+
let n, s, r = a(), l = !0;
|
|
188
|
+
const c = /* @__PURE__ */ new WeakMap, f = T(r => {
|
|
189
|
+
const i = [];
|
|
190
|
+
for (const {target: f, contentRect: {width: u, height: a}} of r) if (f === n) u || a ? (l || s.i(),
|
|
191
|
+
l = !0, t.$update(4, o ? u : a)) : l = !1; else if (f.offsetParent) {
|
|
192
|
+
const t = c.get(f);
|
|
193
|
+
if (null != t) {
|
|
194
|
+
const n = o ? u : a;
|
|
195
|
+
e.$isSizeEqual(t, n) || i.push([ t, n ]);
|
|
196
|
+
}
|
|
194
197
|
}
|
|
195
|
-
|
|
198
|
+
t.$update(3, i);
|
|
196
199
|
});
|
|
197
200
|
return {
|
|
198
|
-
$observe(
|
|
199
|
-
|
|
200
|
-
const t =
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
$observe(l, c = l.parentElement) {
|
|
202
|
+
f.t(n = c), s = L(t, e, c, c, o, o && "rtl" === getComputedStyle(c).direction, () => {
|
|
203
|
+
const t = o ? "overflowX" : "overflowY", e = c.style, n = e[t];
|
|
204
|
+
e[t] = "hidden", i(() => {
|
|
205
|
+
e[t] = n;
|
|
203
206
|
});
|
|
204
207
|
}), r[1](!0);
|
|
205
208
|
},
|
|
206
209
|
$dispose() {
|
|
207
|
-
|
|
210
|
+
f.l(), s && s.l(), r[1](!1), r = a();
|
|
208
211
|
},
|
|
209
|
-
$observeItem: (t, e) => (
|
|
210
|
-
|
|
212
|
+
$observeItem: (t, e) => (c.set(t, e), f.t(t), () => {
|
|
213
|
+
c.delete(t), f.o(t);
|
|
211
214
|
}),
|
|
212
215
|
async $scroll(t, e) {
|
|
213
|
-
await r[0] &&
|
|
216
|
+
await r[0] && s.p(t, e);
|
|
214
217
|
},
|
|
215
218
|
$effect() {
|
|
216
|
-
|
|
219
|
+
s && s.u();
|
|
217
220
|
},
|
|
218
221
|
$getBaseOffset: t.$getStartSpacerSize
|
|
219
222
|
};
|
|
220
|
-
}, exports.createContainerGridDriver = (t, e) => {
|
|
221
|
-
let
|
|
222
|
-
const
|
|
223
|
-
const i = [],
|
|
224
|
-
for (const {target:
|
|
225
|
-
|
|
226
|
-
const t =
|
|
227
|
-
null
|
|
223
|
+
}, exports.createContainerGridDriver = (t, e, o, n) => {
|
|
224
|
+
let s, r, l, c = a(), f = !0;
|
|
225
|
+
const u = /* @__PURE__ */ new WeakMap, $ = /* @__PURE__ */ new WeakMap, p = T(c => {
|
|
226
|
+
const i = [], a = [];
|
|
227
|
+
for (const {target: p, contentRect: {width: g, height: d}} of c) if (p === s) g || d ? (f || (r.i(),
|
|
228
|
+
l.i()), f = !0, t.$update(4, d), e.$update(4, g)) : f = !1; else if (p.offsetParent) {
|
|
229
|
+
const t = u.get(p), e = $.get(p);
|
|
230
|
+
null == t || o.$isSizeEqual(t, d) || i.push([ t, d ]), null == e || n.$isSizeEqual(e, g) || a.push([ e, g ]);
|
|
228
231
|
}
|
|
229
|
-
|
|
232
|
+
t.$update(3, i), e.$update(3, a);
|
|
230
233
|
});
|
|
231
234
|
return {
|
|
232
235
|
async $scroll(t, e) {
|
|
233
|
-
await
|
|
236
|
+
await c[0] && (t ? l : r).p(e);
|
|
234
237
|
},
|
|
235
|
-
$observe(
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
const t =
|
|
239
|
-
|
|
240
|
-
|
|
238
|
+
$observe(f, u = f.parentElement) {
|
|
239
|
+
p.t(s = u);
|
|
240
|
+
const a = (t, e, o) => L(t, e, u, u, o, o && "rtl" === getComputedStyle(u).direction, () => {
|
|
241
|
+
const t = o ? "overflowX" : "overflowY", e = u.style, n = e[t];
|
|
242
|
+
e[t] = "hidden", i(() => {
|
|
243
|
+
e[t] = n;
|
|
241
244
|
});
|
|
242
245
|
});
|
|
243
|
-
|
|
246
|
+
r = a(t, o, !1), l = a(e, n, !0), c[1](!0);
|
|
244
247
|
},
|
|
245
248
|
$dispose() {
|
|
246
|
-
|
|
249
|
+
p.l(), r && r.l(), l && l.l(), c[1](!1), c = a();
|
|
247
250
|
},
|
|
248
|
-
$observeItem: (t, e, o) => (null != e &&
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
$observeItem: (t, e, o) => (null != e && u.set(t, e), null != o && $.set(t, o),
|
|
252
|
+
p.t(t), () => {
|
|
253
|
+
u.delete(t), $.delete(t), p.o(t);
|
|
251
254
|
}),
|
|
252
255
|
$effect() {
|
|
253
|
-
|
|
256
|
+
r && r.u(), l && l.u();
|
|
254
257
|
}
|
|
255
258
|
};
|
|
256
|
-
}, exports.createGridLayout = (t, e,
|
|
259
|
+
}, exports.createGridLayout = (t, e, s = 0) => {
|
|
257
260
|
let i = w(t);
|
|
258
261
|
const f = "number" == typeof e, u = "auto" === e;
|
|
259
|
-
let a = (f ? e : 40) +
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
+
let a = (f ? e : 40) + s, $ = -1, p = 0, g = u, d = 0, h = 0, S = null;
|
|
263
|
+
const b = [], v = [], I = [], y = t => u || !!I[t], z = () => {
|
|
264
|
+
b.length || m(b, i);
|
|
262
265
|
}, k = t => {
|
|
263
|
-
const e =
|
|
266
|
+
const e = b[t];
|
|
264
267
|
return -1 === e ? a : e;
|
|
265
268
|
}, M = t => {
|
|
266
269
|
if (!i) return 0;
|
|
267
|
-
if (!
|
|
270
|
+
if (!b.length) return t * a;
|
|
268
271
|
if ($ >= t) return v[t];
|
|
269
272
|
$ < 0 && (v[0] = 0, $ = 0);
|
|
270
273
|
let e = $, o = v[e];
|
|
271
274
|
for (;e < t; ) o += k(e), v[++e] = o;
|
|
272
275
|
return $ = t, o;
|
|
273
276
|
}, T = (t, e) => {
|
|
274
|
-
|
|
275
|
-
}, L = t =>
|
|
277
|
+
b[t] = e, $ = o(t, $);
|
|
278
|
+
}, L = t => b.length ? x(M, i, t) : a ? l(r(t / a), 0, i - 1) : 0, R = () => o(d, i), O = () => n(i - h, R()), _ = t => (b.length ? k(t) : a) - s;
|
|
276
279
|
return {
|
|
277
280
|
$getRange: (t, e) => {
|
|
278
|
-
const o = M(R()),
|
|
279
|
-
return [ L(l), L(n(l, e - (
|
|
281
|
+
const o = M(R()), r = M(i) - M(O()), l = t + (o ? o - s : 0);
|
|
282
|
+
return [ L(l), L(n(l, e - (r ? r - s : 0))) ];
|
|
280
283
|
},
|
|
281
284
|
$findIndex: L,
|
|
282
285
|
$getItemOffset: M,
|
|
283
|
-
$getItemSize:
|
|
284
|
-
$
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
const s = r.length, i = s / 2 | 0, f = s % 2 == 0 ? (r[i - 1] + r[i]) / 2 : r[i], u = a;
|
|
294
|
-
l += ((a = f) - u) * n(e - t, 0), g = !1;
|
|
286
|
+
$getItemSize: _,
|
|
287
|
+
$setItemSizes: (t, e) => {
|
|
288
|
+
for (const [e, o] of t) y(e) && (z(), p += -1 === b[e] ? o : o - _(e), T(e, o + s));
|
|
289
|
+
if (g && e && p > e) {
|
|
290
|
+
const t = [];
|
|
291
|
+
b.forEach(e => {
|
|
292
|
+
-1 !== e && e && t.push(e);
|
|
293
|
+
}), $ = -1, c(t);
|
|
294
|
+
const e = t.length, o = e / 2 | 0;
|
|
295
|
+
a = e % 2 == 0 ? (t[o - 1] + t[o]) / 2 : t[o], g = !1;
|
|
295
296
|
}
|
|
296
|
-
return l;
|
|
297
297
|
},
|
|
298
298
|
$isSizeEqual: (t, e = -1) => {
|
|
299
|
-
const o =
|
|
300
|
-
return -1 === e ?
|
|
299
|
+
const o = b.length ? b[t] : -1;
|
|
300
|
+
return -1 === e ? y(t) && -1 === o : o === e + s;
|
|
301
301
|
},
|
|
302
|
-
$getTotalSize: () => i ? M(i) -
|
|
302
|
+
$getTotalSize: () => i ? M(i) - s : 0,
|
|
303
303
|
$getLength: () => i,
|
|
304
304
|
$setLength: t => {
|
|
305
305
|
const e = t - i;
|
|
306
|
-
|
|
306
|
+
$ = o(t - 1, $), i = t, b.length && (e > 0 ? m(b, e) : b.splice(e));
|
|
307
307
|
},
|
|
308
308
|
$isEstimating: () => g,
|
|
309
|
-
$isMeasurable:
|
|
309
|
+
$isMeasurable: y,
|
|
310
310
|
$setPinned: (t = 0, e = 0) => {
|
|
311
311
|
d = t, h = e;
|
|
312
312
|
},
|
|
313
313
|
$getPinnedStart: R,
|
|
314
314
|
$getTrailStart: O,
|
|
315
315
|
$getSizes: (t, e) => "number" == typeof e ? f ? e : null : f || u || "auto" === e ? null : t.map(t => null != t ? t[e] : null),
|
|
316
|
-
$relayout:
|
|
317
|
-
if (null == t) return;
|
|
316
|
+
$relayout: t => {
|
|
317
|
+
if (null == t) return !1;
|
|
318
318
|
if ("number" == typeof t) {
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
const n = L(e) * (o - a);
|
|
322
|
-
return a = o, n;
|
|
319
|
+
const e = t + s;
|
|
320
|
+
return e !== a && (a = e, !0);
|
|
323
321
|
}
|
|
324
|
-
if (t ===
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
let
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
S[e] !== t && (T(e, t), s = !0);
|
|
322
|
+
if (t === S && i === I.length) return !1;
|
|
323
|
+
S = t, I.length = i, z();
|
|
324
|
+
let e = !1;
|
|
325
|
+
for (let o = 0; o < i; o++) {
|
|
326
|
+
const n = t[o], r = "number" != typeof n;
|
|
327
|
+
if (!r || !I[o]) {
|
|
328
|
+
I[o] = r;
|
|
329
|
+
const t = r ? -1 : n + s;
|
|
330
|
+
b[o] !== t && (T(o, t), e = !0);
|
|
334
331
|
}
|
|
335
332
|
}
|
|
336
|
-
return
|
|
333
|
+
return e;
|
|
337
334
|
}
|
|
338
335
|
};
|
|
339
|
-
}, exports.createGridPlan = (t,
|
|
340
|
-
const d = t.$getLength(), m =
|
|
341
|
-
|
|
342
|
-
const L =
|
|
343
|
-
for (const t of p) t.rowIndex < d && t.colIndex < m && (
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
const
|
|
347
|
-
for (let t = 0; t <
|
|
348
|
-
const {rowIndex: e, colIndex: l} =
|
|
349
|
-
if ((t < 1 ||
|
|
350
|
-
let t = (e < x || n(e,
|
|
351
|
-
for (let o = 0; !t && o <
|
|
352
|
-
const n =
|
|
336
|
+
}, exports.createGridPlan = (t, s, [r, i], [f, u], a, $ = e, p = e, g) => {
|
|
337
|
+
const d = t.$getLength(), m = s.$getLength(), x = t.$getPinnedStart(), w = t.$getTrailStart(), v = s.$getPinnedStart(), T = s.$getTrailStart();
|
|
338
|
+
r = l(r, x, w), i = o(i, w - 1), f = l(f, v, T), u = o(u, T - 1);
|
|
339
|
+
const L = S($, x, w), R = n(v - 1, 0), O = [], _ = [], E = [];
|
|
340
|
+
for (const t of p) t.rowIndex < d && t.colIndex < m && (E.push(t), O.push(t.rowIndex));
|
|
341
|
+
const C = E.length, q = b(L, r, w), A = q < 0 ? -1 : L[q];
|
|
342
|
+
A >= 0 && O.push(A);
|
|
343
|
+
const P = I(c(O), d, x, r, i, w);
|
|
344
|
+
for (let t = 0; t < P.length; t++) for (const s of a.get(P[t]) || e) {
|
|
345
|
+
const {rowIndex: e, colIndex: l} = s, c = y(s, d), a = z(s, m);
|
|
346
|
+
if ((t < 1 || P[t - 1] < e) && l < m && (c - e > 1 || a - l > 1)) {
|
|
347
|
+
let t = (e < x || n(e, r) < o(c, i + 1) || w < c || A >= e && A < c) && (l < v || n(l, f) < o(a, u + 1) || T < a);
|
|
348
|
+
for (let o = 0; !t && o < C; o++) {
|
|
349
|
+
const n = E[o];
|
|
353
350
|
t = n.rowIndex >= e && n.rowIndex < c && n.colIndex >= l && n.colIndex < a;
|
|
354
351
|
}
|
|
355
|
-
t &&
|
|
352
|
+
t && E.push(s);
|
|
356
353
|
}
|
|
357
354
|
}
|
|
358
|
-
for (const {rowIndex: t, colIndex: e} of
|
|
359
|
-
const o =
|
|
360
|
-
O.push(t), o >= 0 && O.push(L[o]),
|
|
355
|
+
for (const {rowIndex: t, colIndex: e} of E) {
|
|
356
|
+
const o = b(L, t, w);
|
|
357
|
+
O.push(t), o >= 0 && O.push(L[o]), _.push(e);
|
|
361
358
|
}
|
|
362
|
-
c(O), c(
|
|
363
|
-
const
|
|
364
|
-
for (const t of
|
|
365
|
-
const e =
|
|
359
|
+
c(O), c(_);
|
|
360
|
+
const W = I(O, d, x, r, i, w), B = I(_, m, v, f, u, T), J = W.length, V = B.length, X = /* @__PURE__ */ new Map, Y = [], j = [];
|
|
361
|
+
for (const t of E) {
|
|
362
|
+
const e = y(t, d), o = z(t, m);
|
|
366
363
|
Y.push(e), j.push(o);
|
|
367
|
-
const n =
|
|
368
|
-
for (let
|
|
369
|
-
const e =
|
|
370
|
-
for (let
|
|
364
|
+
const n = B.indexOf(t.colIndex);
|
|
365
|
+
for (let s = W.indexOf(t.rowIndex); s < J && W[s] < e; s++) {
|
|
366
|
+
const e = W[s] * m;
|
|
367
|
+
for (let s = n; s < V && B[s] < o; s++) X.set(e + B[s], t);
|
|
371
368
|
}
|
|
372
369
|
}
|
|
373
370
|
const D = [];
|
|
374
|
-
for (const t of
|
|
375
|
-
const G = [],
|
|
376
|
-
let
|
|
377
|
-
const
|
|
378
|
-
for (const e of
|
|
379
|
-
const o = e < x, l = e >= w, c =
|
|
371
|
+
for (const t of B) D.push(!s.$isMeasurable(t) && null);
|
|
372
|
+
const G = [], Z = t.$getItemOffset(x), F = [];
|
|
373
|
+
let H = F;
|
|
374
|
+
const K = h.get(t), N = /* @__PURE__ */ new Map;
|
|
375
|
+
for (const e of W) {
|
|
376
|
+
const o = e < x, l = e >= w, c = b(L, e, w), a = o ? 0 : l ? w : c < 0 ? -1 : L[c];
|
|
380
377
|
if (e === a) {
|
|
381
378
|
const t = o ? x : l ? d : c + 1 < L.length ? L[c + 1] : w;
|
|
382
379
|
Y.push(t);
|
|
383
380
|
const e = [];
|
|
384
|
-
|
|
381
|
+
F.push({
|
|
385
382
|
$key: o ? -1 : l ? -2 : -3 - a,
|
|
386
383
|
$rows: e,
|
|
387
384
|
$style: M(a, t, o || l ? 0 : null, l ? "bottom" : "top", 4)
|
|
388
|
-
}),
|
|
389
|
-
} else a < 0 && (
|
|
390
|
-
const $ = c >= 0 && e === a, p = o || l || e ===
|
|
391
|
-
let
|
|
392
|
-
for (let t = 0; t <
|
|
393
|
-
const
|
|
394
|
-
if (a ? a.rowIndex === e && a.colIndex ===
|
|
395
|
-
const i = a ?
|
|
396
|
-
let
|
|
397
|
-
|
|
398
|
-
const v = l ?
|
|
399
|
-
!1 !==
|
|
400
|
-
const M = o ? "columnheader" :
|
|
401
|
-
let
|
|
385
|
+
}), H = e;
|
|
386
|
+
} else a < 0 && (H = F);
|
|
387
|
+
const $ = c >= 0 && e === a, p = o || l || e === A || e >= r && e <= i, h = $ ? Z : null, S = e * m, I = K && K.get(e), k = I && I.$cells, O = [];
|
|
388
|
+
let _ = 0, E = !t.$isMeasurable(e) && null, C = e + 1, q = !1;
|
|
389
|
+
for (let t = 0; t < V; t++) {
|
|
390
|
+
const r = B[t], l = r < v, c = r >= T, i = l || c || r >= f && r <= u, a = X.get(S + r);
|
|
391
|
+
if (a ? a.rowIndex === e && a.colIndex === r : p && i) {
|
|
392
|
+
const i = a ? y(a, d) : e + 1, f = a ? z(a, m) : r + 1, u = i - e, p = f - r, x = u > 1, w = p > 1, h = x || w;
|
|
393
|
+
let S, b;
|
|
394
|
+
C = n(C, i);
|
|
395
|
+
const v = l ? s.$getItemOffset(r) : null, I = c ? s.$getItemOffset(m) - s.$getItemOffset(f) : null;
|
|
396
|
+
!1 !== E || x || (S = e, E = !0), !1 !== D[t] || w || (b = r, D[t] = !0);
|
|
397
|
+
const M = o ? "columnheader" : r === R && (l || $) ? "rowheader" : "cell", T = h ? u : void 0, L = h ? p : void 0, A = "cell" !== M && g && g.rowIndex === e && g.colIndex === r ? g.order : void 0;
|
|
398
|
+
let P;
|
|
402
399
|
if (k) {
|
|
403
400
|
const t = k.length;
|
|
404
|
-
for (;
|
|
405
|
-
|
|
401
|
+
for (;_ < t && k[_].$col < r; ) _++;
|
|
402
|
+
_ < t && k[_].$col === r && (P = k[_]);
|
|
406
403
|
}
|
|
407
|
-
if (!
|
|
408
|
-
let t = "1/l" +
|
|
404
|
+
if (!P || P.$rowSpan !== T || P.$colSpan !== L || P.$start !== v || P.$end !== I || P.$measureRow !== S || P.$measureCol !== b || P.$role !== M || P.$sort !== A) {
|
|
405
|
+
let t = "1/l" + r;
|
|
409
406
|
h && (t += "/l" + i + "/l" + f);
|
|
410
407
|
const e = {
|
|
411
408
|
contain: "layout style",
|
|
@@ -413,37 +410,37 @@ exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e) => {
|
|
|
413
410
|
gridArea: t
|
|
414
411
|
};
|
|
415
412
|
x && (e.height = "0px", e.minHeight = "100%", e.zIndex = 1), w && (e.width = "0px",
|
|
416
|
-
e.minWidth = "100%"), (l || c) && (e[l ? "insetInlineStart" : "insetInlineEnd"] = (l ? v :
|
|
417
|
-
e.position = "sticky", e.zIndex = 2),
|
|
418
|
-
$col:
|
|
413
|
+
e.minWidth = "100%"), (l || c) && (e[l ? "insetInlineStart" : "insetInlineEnd"] = (l ? v : I) + "px",
|
|
414
|
+
e.position = "sticky", e.zIndex = 2), P = {
|
|
415
|
+
$col: r,
|
|
419
416
|
$rowSpan: T,
|
|
420
417
|
$colSpan: L,
|
|
421
|
-
$measureRow:
|
|
422
|
-
$measureCol:
|
|
418
|
+
$measureRow: S,
|
|
419
|
+
$measureCol: b,
|
|
423
420
|
$role: M,
|
|
424
|
-
$sort:
|
|
421
|
+
$sort: A,
|
|
425
422
|
$style: e,
|
|
426
423
|
$start: v,
|
|
427
|
-
$end:
|
|
428
|
-
},
|
|
424
|
+
$end: I
|
|
425
|
+
}, q = !0;
|
|
429
426
|
}
|
|
430
|
-
O.push(
|
|
427
|
+
O.push(P);
|
|
431
428
|
}
|
|
432
429
|
}
|
|
433
|
-
if (G.push(
|
|
434
|
-
const t =
|
|
430
|
+
if (G.push(E), O.length) {
|
|
431
|
+
const t = I && !q && I.$cells.length === O.length && I.$top === h ? I : {
|
|
435
432
|
$row: e,
|
|
436
433
|
$cells: O,
|
|
437
|
-
$style: M(e,
|
|
434
|
+
$style: M(e, C, h, "top", 3),
|
|
438
435
|
$top: h
|
|
439
436
|
};
|
|
440
|
-
|
|
437
|
+
N.set(e, t), H.push(t);
|
|
441
438
|
}
|
|
442
439
|
}
|
|
443
|
-
return h.set(t,
|
|
444
|
-
$rowTemplate: k(t,
|
|
445
|
-
$colTemplate: k(
|
|
446
|
-
$groups:
|
|
440
|
+
return h.set(t, N), {
|
|
441
|
+
$rowTemplate: k(t, W, G, c(Y), "max-content", d),
|
|
442
|
+
$colTemplate: k(s, B, D, c(j), "minmax(max-content,auto)", m),
|
|
443
|
+
$groups: F
|
|
447
444
|
};
|
|
448
445
|
}, exports.createGridSpanIndex = (t = e) => {
|
|
449
446
|
const o = /* @__PURE__ */ new Map;
|
|
@@ -455,135 +452,131 @@ exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e) => {
|
|
|
455
452
|
}
|
|
456
453
|
}
|
|
457
454
|
return o;
|
|
458
|
-
}, exports.createListLayout = (t, e,
|
|
459
|
-
let s =
|
|
460
|
-
const
|
|
461
|
-
|
|
455
|
+
}, exports.createListLayout = (t, e, n) => {
|
|
456
|
+
let s = n && n[1] || e || 40, r = -1, l = 0, i = !e, f = 0;
|
|
457
|
+
const u = n ? n[0].slice(0, t) : [];
|
|
458
|
+
m(u, t - u.length);
|
|
459
|
+
const a = m([], t + 1), $ = t => {
|
|
460
|
+
const e = u[t];
|
|
462
461
|
return -1 === e ? s : e;
|
|
463
|
-
},
|
|
462
|
+
}, p = e => {
|
|
464
463
|
if (!t) return 0;
|
|
465
|
-
if (
|
|
466
|
-
|
|
467
|
-
let o =
|
|
468
|
-
for (;o < e; ) n +=
|
|
469
|
-
return
|
|
464
|
+
if (r >= e) return a[e];
|
|
465
|
+
r < 0 && (a[0] = 0, r = 0);
|
|
466
|
+
let o = r, n = a[o];
|
|
467
|
+
for (;o < e; ) n += $(o), a[++o] = n;
|
|
468
|
+
return r = e, n;
|
|
470
469
|
};
|
|
471
470
|
return {
|
|
472
471
|
$getRange: (e, n) => {
|
|
473
|
-
let
|
|
474
|
-
return
|
|
475
|
-
|
|
472
|
+
let s, r;
|
|
473
|
+
return f = o(f, t - 1), p(f) <= e ? (r = x(p, t, n, f), s = x(p, t, e, f, r)) : (s = x(p, t, e, void 0, f),
|
|
474
|
+
r = x(p, t, n, s)), f = s, [ s, r ];
|
|
476
475
|
},
|
|
477
|
-
$findIndex: e => x(
|
|
478
|
-
$getItemOffset:
|
|
479
|
-
$getItemSize:
|
|
480
|
-
$isSizeEqual: (t, e = -1) =>
|
|
481
|
-
$
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
const i = r.length, a = i / 2 | 0, g = i % 2 == 0 ? (r[a - 1] + r[a]) / 2 : r[a], m = s;
|
|
491
|
-
p += ((s = g) - m) * n(o - e, 0), f = !1;
|
|
476
|
+
$findIndex: e => x(p, t, e),
|
|
477
|
+
$getItemOffset: p,
|
|
478
|
+
$getItemSize: $,
|
|
479
|
+
$isSizeEqual: (t, e = -1) => u[t] === e,
|
|
480
|
+
$setItemSizes: (t, e) => {
|
|
481
|
+
for (const [e, n] of t) l += -1 === u[e] ? n : n - $(e), u[e] = n, r = o(e, r);
|
|
482
|
+
if (i && e && l > e) {
|
|
483
|
+
const t = [];
|
|
484
|
+
u.forEach(e => {
|
|
485
|
+
-1 !== e && e && t.push(e);
|
|
486
|
+
}), r = -1, c(t);
|
|
487
|
+
const e = t.length, o = e / 2 | 0;
|
|
488
|
+
s = e % 2 == 0 ? (t[o - 1] + t[o]) / 2 : t[o], i = !1;
|
|
492
489
|
}
|
|
493
|
-
return p;
|
|
494
490
|
},
|
|
495
|
-
$getTotalSize: () =>
|
|
491
|
+
$getTotalSize: () => p(t),
|
|
496
492
|
$getLength: () => t,
|
|
497
493
|
$setLength: (e, n) => {
|
|
498
|
-
const
|
|
499
|
-
|
|
500
|
-
(n ? $.splice(0, -r) : $.splice(r)).reduce((t, e) => t - (-1 === e ? s : e), 0));
|
|
494
|
+
const s = e - t;
|
|
495
|
+
r = n ? -1 : o(e - 1, r), t = e, s > 0 ? (m(a, s), m(u, s, n)) : (a.splice(s), n ? u.splice(0, -s) : u.splice(s));
|
|
501
496
|
},
|
|
502
|
-
$isEstimating: () =>
|
|
503
|
-
$snapshot: () => [
|
|
497
|
+
$isEstimating: () => i,
|
|
498
|
+
$snapshot: () => [ u.slice(), s ]
|
|
504
499
|
};
|
|
505
|
-
}, exports.createMasonryLayout = (t, e,
|
|
506
|
-
let i = n(e, 1), f = l && l[1] ||
|
|
507
|
-
const p = l
|
|
508
|
-
|
|
500
|
+
}, exports.createMasonryLayout = (t, e, s = 0, r, l) => {
|
|
501
|
+
let i = n(e, 1), f = l && l[1] || r || 40, u = -1, a = r ? void 0 : /* @__PURE__ */ new Set, $ = !r;
|
|
502
|
+
const p = l ? l[0].slice(0, t) : [];
|
|
503
|
+
m(p, t - p.length);
|
|
504
|
+
const g = [], d = [], w = [ 0 ], h = t => {
|
|
505
|
+
const e = p[t];
|
|
509
506
|
return -1 === e ? f : e;
|
|
510
|
-
}, S =
|
|
511
|
-
if (
|
|
512
|
-
const
|
|
513
|
-
for (let t = 0; t < i; t++)
|
|
514
|
-
for (let t = u,
|
|
515
|
-
const
|
|
516
|
-
-1 ===
|
|
507
|
+
}, S = () => {
|
|
508
|
+
if (u >= t - 1) return;
|
|
509
|
+
const e = [], o = [];
|
|
510
|
+
for (let t = 0; t < i; t++) e.push(0), o.push(-1);
|
|
511
|
+
for (let t = u, n = i; t >= 0 && n; t--) {
|
|
512
|
+
const r = d[t];
|
|
513
|
+
-1 === o[r] && (o[r] = t, e[r] = g[t] + h(t) + s, n--);
|
|
517
514
|
}
|
|
518
|
-
for (;u <
|
|
515
|
+
for (;u < t - 1; ) {
|
|
519
516
|
const t = ++u;
|
|
520
|
-
let
|
|
517
|
+
let r = 0, l = 1 / 0, c = 1 / 0;
|
|
521
518
|
for (let t = 0; t < i; t++) {
|
|
522
|
-
const n =
|
|
523
|
-
(n <
|
|
519
|
+
const n = e[t];
|
|
520
|
+
(n < l || n === l && o[t] < c) && (r = t, l = n, c = o[t]);
|
|
524
521
|
}
|
|
525
|
-
|
|
522
|
+
const f = l + h(t);
|
|
523
|
+
g[t] = l, d[t] = r, e[r] = f + s, o[r] = t, w[t + 1] = n(w[t], f);
|
|
526
524
|
}
|
|
527
|
-
},
|
|
528
|
-
if (!t) return 0;
|
|
529
|
-
const o = x(y, t, e);
|
|
530
|
-
return y(o) <= e ? o + 1 : o;
|
|
531
|
-
};
|
|
525
|
+
}, b = e => e >= t ? I() : (S(), g[e]), v = t => (S(), w[t]), I = () => v(t), y = e => x(v, t + 1, e);
|
|
532
526
|
return {
|
|
533
527
|
$getRange: (e, n) => {
|
|
534
|
-
const
|
|
535
|
-
return [ o(
|
|
528
|
+
const s = x(b, t, n);
|
|
529
|
+
return [ o(y(e), s), s ];
|
|
536
530
|
},
|
|
537
|
-
$
|
|
538
|
-
$
|
|
539
|
-
$
|
|
540
|
-
$
|
|
541
|
-
|
|
542
|
-
for (
|
|
543
|
-
|
|
544
|
-
const d = v(p);
|
|
545
|
-
for (const [t, n] of e) g[t] = n, a && a.add(t), u = o(t - 1, u);
|
|
546
|
-
let m = v(p) - d;
|
|
547
|
-
if (a && l) {
|
|
531
|
+
$findIndex: y,
|
|
532
|
+
$getItemOffset: b,
|
|
533
|
+
$getItemSize: h,
|
|
534
|
+
$isSizeEqual: (t, e = -1) => p[t] === e,
|
|
535
|
+
$setItemSizes: (t, e) => {
|
|
536
|
+
for (const [e, n] of t) p[e] = n, a && a.add(e), u = o(e - 1, u);
|
|
537
|
+
if (a && e) {
|
|
548
538
|
const t = [];
|
|
549
|
-
let
|
|
550
|
-
if (a.forEach(
|
|
551
|
-
const n =
|
|
552
|
-
n
|
|
553
|
-
}),
|
|
539
|
+
let o = 0;
|
|
540
|
+
if (a.forEach(e => {
|
|
541
|
+
const n = p[e];
|
|
542
|
+
-1 !== n && n && (t.push(n), o += n + s);
|
|
543
|
+
}), o > e * i) {
|
|
554
544
|
c(t);
|
|
555
|
-
const e = t.length, o = e / 2 | 0
|
|
556
|
-
f =
|
|
545
|
+
const e = t.length, o = e / 2 | 0;
|
|
546
|
+
f = e % 2 == 0 ? (t[o - 1] + t[o]) / 2 : t[o], u = -1, a = void 0, $ = !1;
|
|
557
547
|
}
|
|
558
548
|
}
|
|
559
|
-
return m;
|
|
560
549
|
},
|
|
561
550
|
$getTotalSize: I,
|
|
562
551
|
$getLength: () => t,
|
|
563
552
|
$setLength: e => {
|
|
564
553
|
const n = e - t;
|
|
565
|
-
|
|
566
|
-
},
|
|
567
|
-
$relayout: (t, e = 0, o) => {
|
|
568
|
-
if ((t = n(t, 1)) === i && e === r) return;
|
|
569
|
-
const l = z(o), c = v(l);
|
|
570
|
-
return i = t, r = e, u = -1, a = s ? void 0 : /* @__PURE__ */ new Set, v(l) - c;
|
|
554
|
+
u = o(e - 1, u), t = e, n > 0 ? m(p, n) : p.splice(n);
|
|
571
555
|
},
|
|
556
|
+
$relayout: (t, e = 0) => ((t = n(t, 1)) !== i || e !== s) && (i = t, s = e, u = -1,
|
|
557
|
+
a = r ? void 0 : /* @__PURE__ */ new Set, !0),
|
|
572
558
|
$isEstimating: () => $,
|
|
573
|
-
$snapshot: () => [
|
|
559
|
+
$snapshot: () => [ p.slice(), f ],
|
|
574
560
|
$getLanes: () => i,
|
|
575
|
-
$getGap: () =>
|
|
576
|
-
$getItemLane: t => (S(
|
|
561
|
+
$getGap: () => s,
|
|
562
|
+
$getItemLane: t => (S(), d[t])
|
|
577
563
|
};
|
|
578
|
-
}, exports.createVirtualStore = ({$getRange: t, $
|
|
579
|
-
let p = !!$, g = 1, m = 0, x = 0, w = 0, h = 0,
|
|
580
|
-
const M = /* @__PURE__ */ new Set, T = () => w - x, L = () => T() +
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
},
|
|
586
|
-
t
|
|
564
|
+
}, exports.createVirtualStore = ({$getRange: t, $findIndex: e, $getItemOffset: r, $getItemSize: l, $setItemSizes: c, $getTotalSize: i, $getLength: f, $setLength: u, $isEstimating: a}, $ = 0) => {
|
|
565
|
+
let p = !!$, g = 1, m = 0, x = 0, w = 0, h = 0, S = 0, b = 0, v = 0, I = 0, y = null, z = [ 0, p ? n($ - 1, 0) : -1 ], k = !1;
|
|
566
|
+
const M = /* @__PURE__ */ new Set, T = () => w - x, L = () => T() + S + h, R = (t, e) => {
|
|
567
|
+
const o = r(t), n = l(t);
|
|
568
|
+
return 1 !== v && 0 === I ? o + n <= e : o < e && o + n < e + m;
|
|
569
|
+
}, O = t => {
|
|
570
|
+
t && (d() && 0 !== v || y && 1 === I ? S += t : h += t);
|
|
571
|
+
}, _ = () => {
|
|
572
|
+
const t = f();
|
|
573
|
+
if (2 === I) return t;
|
|
574
|
+
if (y && 1 === I) return o(y[0], t);
|
|
575
|
+
const n = L();
|
|
576
|
+
let s = e(n);
|
|
577
|
+
for (;s > 0 && !R(s - 1, n); ) s--;
|
|
578
|
+
for (;s < t && R(s, n); ) s++;
|
|
579
|
+
return s;
|
|
587
580
|
};
|
|
588
581
|
return {
|
|
589
582
|
$dispose: () => {
|
|
@@ -592,150 +585,158 @@ exports.UPDATE_VIRTUAL_STATE = 1, exports.createContainerDriver = (t, e) => {
|
|
|
592
585
|
$getStateVersion: () => g,
|
|
593
586
|
$getRange: (e = 200) => {
|
|
594
587
|
if (!k || p) return z;
|
|
595
|
-
let
|
|
596
|
-
if (
|
|
588
|
+
let s, r;
|
|
589
|
+
if (b) [s, r] = z; else {
|
|
597
590
|
let l = n(0, L()), c = l + m;
|
|
598
|
-
|
|
599
|
-
|
|
591
|
+
a() || (e = n(0, e), 1 !== v && (l -= e), 2 !== v && (c += e)), [s, r] = z = t(n(0, l), n(0, c)),
|
|
592
|
+
y && (s = o(s, y[0]), r = n(r, y[1]));
|
|
600
593
|
}
|
|
601
|
-
return [ n(
|
|
594
|
+
return [ n(s, 0), o(r, f() - 1) ];
|
|
602
595
|
},
|
|
603
|
-
|
|
604
|
-
$getItemOffset:
|
|
605
|
-
$getItemSize: s,
|
|
606
|
-
$getItemsLength: i,
|
|
596
|
+
m: _,
|
|
597
|
+
$getItemOffset: t => r(t) - S,
|
|
607
598
|
$getScrollOffset: () => w,
|
|
608
|
-
$getVisibleOffset: L,
|
|
609
599
|
$isScrolling: () => 0 !== v,
|
|
610
600
|
$getViewportSize: () => m,
|
|
611
601
|
$getStartSpacerSize: () => x,
|
|
612
|
-
$getTotalSize:
|
|
613
|
-
$: () => (
|
|
602
|
+
$getTotalSize: i,
|
|
603
|
+
$: () => (b = h, h = 0, [ b, 2 === I ]),
|
|
614
604
|
$subscribe: (t, e) => {
|
|
615
605
|
const o = [ t, e ];
|
|
616
606
|
return M.add(o), () => {
|
|
617
607
|
M.delete(o);
|
|
618
608
|
};
|
|
619
609
|
},
|
|
620
|
-
$update: (e, o) => {
|
|
621
|
-
let
|
|
610
|
+
$update: (e, o, n) => {
|
|
611
|
+
let l, a, $ = 0;
|
|
622
612
|
switch (e) {
|
|
623
613
|
case 1:
|
|
624
614
|
{
|
|
625
|
-
if (o === w && 0 ===
|
|
626
|
-
const t =
|
|
627
|
-
|
|
628
|
-
const e = o - w, n =
|
|
629
|
-
t && n <
|
|
630
|
-
const
|
|
631
|
-
|
|
615
|
+
if (o === w && 0 === I) break;
|
|
616
|
+
const t = b;
|
|
617
|
+
b = 0;
|
|
618
|
+
const e = o - w, n = s(e);
|
|
619
|
+
t && n < s(t) + 1 || 0 !== I || (v = e < 0 ? 2 : 1), p && (p = !1), w = o, $ = 4;
|
|
620
|
+
const r = T();
|
|
621
|
+
r >= -m && r <= i() && ($ += 1, a = n > m);
|
|
632
622
|
break;
|
|
633
623
|
}
|
|
634
624
|
|
|
635
625
|
case 2:
|
|
636
|
-
|
|
626
|
+
$ = 8, 0 !== v && (l = !0, $ += 1), v = 0, I = 0, y = null;
|
|
637
627
|
break;
|
|
638
628
|
|
|
639
629
|
case 3:
|
|
640
|
-
{
|
|
641
|
-
const t =
|
|
642
|
-
|
|
643
|
-
E(a(t, O, L(), m)), i = 3, s = !0;
|
|
644
|
-
break;
|
|
630
|
+
if (o.length) {
|
|
631
|
+
const t = _(), e = r(t);
|
|
632
|
+
c(o, m), O(r(t) - e), $ = 3, a = !0;
|
|
645
633
|
}
|
|
634
|
+
break;
|
|
646
635
|
|
|
647
636
|
case 4:
|
|
648
|
-
m !== o && (m || (k =
|
|
637
|
+
m !== o && (m || (k = a = !0), m = o, $ = 3);
|
|
649
638
|
break;
|
|
650
639
|
|
|
651
640
|
case 5:
|
|
652
|
-
|
|
641
|
+
if (o !== f()) {
|
|
642
|
+
if (n) {
|
|
643
|
+
const t = i();
|
|
644
|
+
u(o, !0), O(i() - t), I = 2;
|
|
645
|
+
} else u(o);
|
|
646
|
+
$ = 1;
|
|
647
|
+
}
|
|
653
648
|
break;
|
|
654
649
|
|
|
655
650
|
case 6:
|
|
656
|
-
|
|
651
|
+
O(o), $ = 1;
|
|
657
652
|
break;
|
|
658
653
|
|
|
659
654
|
case 7:
|
|
660
|
-
|
|
655
|
+
x = o;
|
|
661
656
|
break;
|
|
662
657
|
|
|
663
|
-
case
|
|
664
|
-
|
|
658
|
+
case 8:
|
|
659
|
+
I = 1;
|
|
665
660
|
break;
|
|
666
661
|
|
|
667
|
-
case
|
|
668
|
-
|
|
662
|
+
case 9:
|
|
663
|
+
y = t(o, o + m), $ = 1;
|
|
669
664
|
}
|
|
670
|
-
|
|
671
|
-
|
|
665
|
+
$ && (g = 1 + (2147483647 & g), l && S && (h += S, S = 0), M.forEach(([t, e]) => {
|
|
666
|
+
$ & t && e(a);
|
|
672
667
|
}));
|
|
673
668
|
}
|
|
674
669
|
};
|
|
675
|
-
}, exports.createWindowDriver = (t, e) => {
|
|
676
|
-
let
|
|
677
|
-
const
|
|
670
|
+
}, exports.createWindowDriver = (t, e, o) => {
|
|
671
|
+
let n, s, r, l, c, i = a();
|
|
672
|
+
const f = /* @__PURE__ */ new WeakMap, u = T(s => {
|
|
678
673
|
const r = [];
|
|
679
|
-
for (const {target: t, contentRect: {width:
|
|
680
|
-
const
|
|
681
|
-
null !=
|
|
674
|
+
for (const {target: t, contentRect: {width: l, height: i}} of s) if (t === n) c && c(); else if (t.offsetParent) {
|
|
675
|
+
const n = f.get(t);
|
|
676
|
+
if (null != n) {
|
|
677
|
+
const t = o ? l : i;
|
|
678
|
+
e.$isSizeEqual(n, t) || r.push([ n, t ]);
|
|
679
|
+
}
|
|
682
680
|
}
|
|
683
|
-
|
|
681
|
+
t.$update(3, r);
|
|
684
682
|
});
|
|
685
683
|
return {
|
|
686
|
-
$observe(
|
|
687
|
-
const
|
|
688
|
-
const
|
|
689
|
-
return t !== o && c ?
|
|
690
|
-
},
|
|
691
|
-
t.$update(4,
|
|
684
|
+
$observe(f) {
|
|
685
|
+
const a = p(f), $ = g(a), d = n = a.scrollingElement, m = o && "rtl" === getComputedStyle(d).direction, x = (t, e, o, n, s = 0) => {
|
|
686
|
+
const r = n ? "offsetLeft" : "offsetTop", l = s + (m ? e.clientWidth - t[r] - t.offsetWidth : t[r]), c = t.offsetParent;
|
|
687
|
+
return t !== o && c ? x(c, e, o, n, l) : l;
|
|
688
|
+
}, w = l = () => x(f, d, a.body, o), h = c = () => {
|
|
689
|
+
t.$update(4, d[o ? "clientWidth" : "clientHeight"]);
|
|
692
690
|
};
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
},
|
|
691
|
+
$.addEventListener("resize", h), u.t(d), r = () => {
|
|
692
|
+
$.removeEventListener("resize", h);
|
|
693
|
+
}, s = L(t, e, $, d, o, m, null, w), i[1](!0);
|
|
696
694
|
},
|
|
697
695
|
$dispose() {
|
|
698
|
-
r && r(),
|
|
696
|
+
r && r(), u.l(), s && s.l(), i[1](!1), i = a();
|
|
699
697
|
},
|
|
700
|
-
$observeItem: (t, e) => (
|
|
701
|
-
|
|
698
|
+
$observeItem: (t, e) => (f.set(t, e), u.t(t), () => {
|
|
699
|
+
f.delete(t), u.o(t);
|
|
702
700
|
}),
|
|
703
701
|
async $scroll(t, e) {
|
|
704
|
-
await
|
|
702
|
+
await i[0] && s.p(t, e);
|
|
705
703
|
},
|
|
706
704
|
$effect() {
|
|
707
|
-
|
|
705
|
+
s && s.u();
|
|
708
706
|
},
|
|
709
|
-
$getBaseOffset: () =>
|
|
707
|
+
$getBaseOffset: () => l()
|
|
710
708
|
};
|
|
711
709
|
}, exports.getAxisItem = (t, e) => "number" == typeof t ? e : t[e], exports.getAxisLength = w,
|
|
712
|
-
exports.getScrollSize = t => n(t.$getTotalSize(), t.$getViewportSize()), exports.gridScrollBy = (t, e, o, n,
|
|
710
|
+
exports.getScrollSize = t => n(t.$getTotalSize(), t.$getViewportSize()), exports.gridScrollBy = (t, e, o, n, s) => {
|
|
713
711
|
if (null != n) {
|
|
714
712
|
const o = n + e.$getScrollOffset();
|
|
715
713
|
t.$scroll(!1, () => o);
|
|
716
714
|
}
|
|
717
|
-
if (null !=
|
|
718
|
-
const e =
|
|
715
|
+
if (null != s) {
|
|
716
|
+
const e = s + o.$getScrollOffset();
|
|
719
717
|
t.$scroll(!0, () => e);
|
|
720
718
|
}
|
|
721
719
|
}, exports.gridScrollTo = (t, e, o) => {
|
|
722
720
|
null != e && t.$scroll(!1, () => e), null != o && t.$scroll(!0, () => o);
|
|
723
|
-
}, exports.gridScrollToIndex = (t, o, n,
|
|
724
|
-
null != c && O(t, o,
|
|
721
|
+
}, exports.gridScrollToIndex = (t, o, n, s, r, l = e, {rowIndex: c, colIndex: i, rowAlign: f, colAlign: u}) => {
|
|
722
|
+
null != c && O(t, o, s, l, c, f, !1), null != i && O(t, n, r, e, i, u, !0);
|
|
725
723
|
}, exports.gridStyleToString = t => {
|
|
726
724
|
let e = "";
|
|
727
725
|
for (const o in t) e += o.replace(/[A-Z]/g, t => "-" + t.toLowerCase()) + ":" + t[o] + ";";
|
|
728
726
|
return e;
|
|
729
|
-
}, exports.isBrowser = $, exports.microtask = u, exports.
|
|
727
|
+
}, exports.isBrowser = $, exports.microtask = u, exports.relayout = (t, e, o, n) => {
|
|
728
|
+
const s = t.m(), r = e.$getItemOffset(s);
|
|
729
|
+
e.$relayout(o, n) && t.$update(6, e.$getItemOffset(s) - r);
|
|
730
|
+
}, exports.scrollBy = (t, e, o) => {
|
|
730
731
|
R(t, o + e.$getScrollOffset());
|
|
731
|
-
}, exports.scrollTo = R, exports.scrollToIndex = (t, e, o, {align:
|
|
732
|
-
if (
|
|
733
|
-
const t = e.$getItemOffset(
|
|
734
|
-
if (t < r)
|
|
735
|
-
if (!(t +
|
|
736
|
-
|
|
732
|
+
}, exports.scrollTo = R, exports.scrollToIndex = (t, e, o, n, {align: s, smooth: r, offset: c = 0} = {}) => {
|
|
733
|
+
if (n = l(n, 0, o.$getLength() - 1), "nearest" === s) {
|
|
734
|
+
const t = e.$getItemOffset(n), r = e.$getScrollOffset();
|
|
735
|
+
if (t < r) s = "start"; else {
|
|
736
|
+
if (!(t + o.$getItemSize(n) > r + e.$getViewportSize())) return;
|
|
737
|
+
s = "end";
|
|
737
738
|
}
|
|
738
739
|
}
|
|
739
|
-
t.$scroll(() =>
|
|
740
|
+
t.$scroll(() => c + t.$getBaseOffset() + e.$getItemOffset(n) + ("end" === s ? o.$getItemSize(n) - e.$getViewportSize() : "center" === s ? (o.$getItemSize(n) - e.$getViewportSize()) / 2 : 0), r);
|
|
740
741
|
}, exports.sort = c;
|
|
741
742
|
//# sourceMappingURL=index.cjs.map
|