virtua 0.48.7 → 0.48.8
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/lib/core/index.cjs +8 -2
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +110 -104
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +8 -2
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +8 -2
- package/lib/index.js.map +1 -1
- package/lib/solid/index.cjs +8 -2
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +8 -2
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +26 -13
- package/lib/solid/index.jsx.map +1 -1
- package/lib/vue/index.cjs +8 -2
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +8 -2
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
package/lib/core/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = null, {min: t, max: o, abs: r, floor:
|
|
1
|
+
const e = null, {min: t, max: o, abs: r, floor: s} = Math, n = (e, r, s) => t(s, o(r, e)), i = e => [ ...e ].sort(((e, t) => e - t)), c = "function" == typeof queueMicrotask ? queueMicrotask : e => {
|
|
2
2
|
Promise.resolve().then(e);
|
|
3
3
|
}, l = () => {
|
|
4
4
|
let e;
|
|
@@ -16,8 +16,8 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
16
16
|
const o = e.t[t];
|
|
17
17
|
return -1 === o ? e.o : o;
|
|
18
18
|
}, $ = (e, o, r) => {
|
|
19
|
-
const
|
|
20
|
-
return e.t[o] = r, e.i = t(o, e.i),
|
|
19
|
+
const s = -1 === e.t[o];
|
|
20
|
+
return e.t[o] = r, e.i = t(o, e.i), s;
|
|
21
21
|
}, d = (e, t) => {
|
|
22
22
|
if (!e.l) return 0;
|
|
23
23
|
if (e.i >= t) return e.u[t];
|
|
@@ -28,29 +28,29 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
28
28
|
}, p = (e, t, o = 0, r = e.l - 1) => {
|
|
29
29
|
let i = o;
|
|
30
30
|
for (;o <= r; ) {
|
|
31
|
-
const
|
|
32
|
-
d(e,
|
|
31
|
+
const n = s((o + r) / 2);
|
|
32
|
+
d(e, n) <= t ? (i = n, o = n + 1) : r = n - 1;
|
|
33
33
|
}
|
|
34
|
-
return
|
|
34
|
+
return n(i, 0, e.l - 1);
|
|
35
35
|
}, h = (e, o, r) => {
|
|
36
|
-
const
|
|
37
|
-
return e.i = r ? -1 : t(o - 1, e.i), e.l = o,
|
|
38
|
-
e.o *
|
|
39
|
-
}, g = "undefined" != typeof window, m = e => e.documentElement, v = e => e.ownerDocument, b = e => e.defaultView, w = /*#__PURE__*/ f((() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0)), S = /*#__PURE__*/ f((() => "scrollBehavior" in m(document).style)), k = 5, I = 6, y = 1, x = 4, _ = 8, z = e => o(e.$getTotalSize(), e.$getViewportSize()), T = (
|
|
36
|
+
const s = o - e.l;
|
|
37
|
+
return e.i = r ? -1 : t(o - 1, e.i), e.l = o, s > 0 ? (a(e.u, s), a(e.t, s, r),
|
|
38
|
+
e.o * s) : (e.u.splice(s), (r ? e.t.splice(0, -s) : e.t.splice(s)).reduce(((t, o) => t - (-1 === o ? e.o : o)), 0));
|
|
39
|
+
}, g = "undefined" != typeof window, m = e => e.documentElement, v = e => e.ownerDocument, b = e => e.defaultView, w = /*#__PURE__*/ f((() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0)), S = /*#__PURE__*/ f((() => "scrollBehavior" in m(document).style)), k = 5, I = 6, y = 1, x = 4, _ = 8, z = e => o(e.$getTotalSize(), e.$getViewportSize()), T = (s, n = 40, c = 0, l, f = !1) => {
|
|
40
40
|
let g = !!c, m = 1, v = 0, b = 0, S = 0, k = 0, I = 0, y = 0, x = 0, _ = 0, z = e, T = [ 0, g ? o(c - 1, 0) : -1 ], M = 0, R = !1;
|
|
41
|
-
const J = ((e, r,
|
|
41
|
+
const J = ((e, r, s) => ({
|
|
42
42
|
o: r,
|
|
43
|
-
t:
|
|
43
|
+
t: s ? a(s.slice(0, t(e, s.length)), o(0, e - s.length)) : a([], e),
|
|
44
44
|
l: e,
|
|
45
45
|
i: -1,
|
|
46
46
|
u: a([], e + 1)
|
|
47
|
-
}))(
|
|
48
|
-
if (
|
|
49
|
-
const t = p(e, r,
|
|
50
|
-
return [ p(e, o,
|
|
47
|
+
}))(s, l ? l[1] : n, l && l[0]), C = new Set, W = () => S - b, B = () => W() + I + k, L = (e, o) => ((e, o, r, s) => {
|
|
48
|
+
if (s = t(s, e.l - 1), d(e, s) <= o) {
|
|
49
|
+
const t = p(e, r, s);
|
|
50
|
+
return [ p(e, o, s, t), t ];
|
|
51
51
|
}
|
|
52
52
|
{
|
|
53
|
-
const t = p(e, o, void 0,
|
|
53
|
+
const t = p(e, o, void 0, s);
|
|
54
54
|
return [ t, p(e, r, t) ];
|
|
55
55
|
}
|
|
56
56
|
})(J, e, o, T[0]), N = () => d(J, J.l), O = (e, t) => {
|
|
@@ -67,13 +67,13 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
67
67
|
$getCacheSnapshot: () => (e => [ e.t.slice(), e.o ])(J),
|
|
68
68
|
$getRange: (e = 200) => {
|
|
69
69
|
if (!R || g) return T;
|
|
70
|
-
let r,
|
|
71
|
-
if (y) [r,
|
|
72
|
-
let
|
|
73
|
-
f || (e = o(0, e), 1 !== x && (
|
|
74
|
-
z && (r = t(r, z[0]),
|
|
70
|
+
let r, s;
|
|
71
|
+
if (y) [r, s] = T; else {
|
|
72
|
+
let n = o(0, B()), i = n + v;
|
|
73
|
+
f || (e = o(0, e), 1 !== x && (n -= e), 2 !== x && (i += e)), [r, s] = T = L(o(0, n), o(0, i)),
|
|
74
|
+
z && (r = t(r, z[0]), s = o(s, z[1]));
|
|
75
75
|
}
|
|
76
|
-
return [ o(r, 0), t(
|
|
76
|
+
return [ o(r, 0), t(s, J.l - 1) ];
|
|
77
77
|
},
|
|
78
78
|
$findItemIndex: e => p(J, e - b),
|
|
79
79
|
$isUnmeasuredItem: q,
|
|
@@ -92,57 +92,63 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
92
92
|
C.delete(o);
|
|
93
93
|
};
|
|
94
94
|
},
|
|
95
|
-
$update: (t,
|
|
96
|
-
let
|
|
95
|
+
$update: (t, s) => {
|
|
96
|
+
let n, c, l = 0;
|
|
97
97
|
switch (t) {
|
|
98
98
|
case 1:
|
|
99
99
|
{
|
|
100
|
-
if (
|
|
100
|
+
if (s === S && 0 === _) break;
|
|
101
101
|
const e = y;
|
|
102
102
|
y = 0;
|
|
103
|
-
const t =
|
|
104
|
-
e && o < r(e) + 1 || 0 !== _ || (x = t < 0 ? 2 : 1), g && (g = !1), S =
|
|
105
|
-
const
|
|
106
|
-
|
|
103
|
+
const t = s - S, o = r(t);
|
|
104
|
+
e && o < r(e) + 1 || 0 !== _ || (x = t < 0 ? 2 : 1), g && (g = !1), S = s, l = 4;
|
|
105
|
+
const n = W();
|
|
106
|
+
n >= -v && n <= N() && (l += 1, c = o > v);
|
|
107
107
|
break;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
case 2:
|
|
111
|
-
l = 8, 0 !== x && (
|
|
111
|
+
l = 8, 0 !== x && (n = !0, l += 1), x = 0, _ = 0, z = e;
|
|
112
112
|
break;
|
|
113
113
|
|
|
114
114
|
case 3:
|
|
115
115
|
{
|
|
116
|
-
const e =
|
|
116
|
+
const e = s.filter((([e, t]) => !q(e, t)));
|
|
117
117
|
if (!e.length) break;
|
|
118
|
-
V(e.reduce(((e, [t, o]) =>
|
|
119
|
-
|
|
118
|
+
V(e.reduce(((e, [t, o]) => {
|
|
119
|
+
let r;
|
|
120
|
+
if (2 === _) r = !0; else if (z && 1 === _) r = t < z[0]; else {
|
|
121
|
+
const e = W(), o = O(t), s = P(t);
|
|
122
|
+
r = 1 !== x && 0 === _ ? o + s < e : o < e && o + s < e + v;
|
|
123
|
+
}
|
|
124
|
+
return r && (e += o - P(t)), e;
|
|
125
|
+
}), 0));
|
|
120
126
|
for (const [t, o] of e) {
|
|
121
127
|
const e = P(t), r = $(J, t, o);
|
|
122
128
|
f && (M += r ? o : o - e);
|
|
123
129
|
}
|
|
124
130
|
f && v && M > v && (V(((e, t) => {
|
|
125
131
|
let r = 0;
|
|
126
|
-
const
|
|
132
|
+
const s = [];
|
|
127
133
|
e.t.forEach(((e, o) => {
|
|
128
|
-
-1 !== e && (
|
|
134
|
+
-1 !== e && (s.push(e), o < t && r++);
|
|
129
135
|
})), e.i = -1;
|
|
130
|
-
const
|
|
136
|
+
const n = i(s), c = n.length, l = c / 2 | 0, f = c % 2 == 0 ? (n[l - 1] + n[l]) / 2 : n[l], a = e.o;
|
|
131
137
|
return ((e.o = f) - a) * o(t - r, 0);
|
|
132
138
|
})(J, p(J, B()))), f = !1), l = 3, c = !0;
|
|
133
139
|
break;
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
case 4:
|
|
137
|
-
v !==
|
|
143
|
+
v !== s && (v || (R = c = !0), v = s, l = 3);
|
|
138
144
|
break;
|
|
139
145
|
|
|
140
146
|
case 5:
|
|
141
|
-
|
|
147
|
+
s[1] ? (V(h(J, s[0], !0)), _ = 2, l = 1) : (h(J, s[0]), l = 1);
|
|
142
148
|
break;
|
|
143
149
|
|
|
144
150
|
case 6:
|
|
145
|
-
b =
|
|
151
|
+
b = s;
|
|
146
152
|
break;
|
|
147
153
|
|
|
148
154
|
case 7:
|
|
@@ -150,21 +156,21 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
150
156
|
break;
|
|
151
157
|
|
|
152
158
|
case 8:
|
|
153
|
-
z = L(
|
|
159
|
+
z = L(s, s + v), l = 1;
|
|
154
160
|
}
|
|
155
|
-
l && (m = 1 + (2147483647 & m),
|
|
161
|
+
l && (m = 1 + (2147483647 & m), n && I && (k += I, I = 0), C.forEach((([e, t]) => {
|
|
156
162
|
l & e && t(c);
|
|
157
163
|
})));
|
|
158
164
|
}
|
|
159
165
|
};
|
|
160
|
-
}, M = setTimeout, R = (e, t) => t ? -e : e, J = (t, o, r,
|
|
166
|
+
}, M = setTimeout, R = (e, t) => t ? -e : e, J = (t, o, r, s, n, i) => {
|
|
161
167
|
const c = Date.now;
|
|
162
168
|
let l = 0, f = !1, a = !1, u = !1, $ = !1;
|
|
163
169
|
const d = (() => {
|
|
164
170
|
let o;
|
|
165
171
|
const r = () => {
|
|
166
172
|
o != e && clearTimeout(o);
|
|
167
|
-
},
|
|
173
|
+
}, s = () => {
|
|
168
174
|
r(), o = M((() => {
|
|
169
175
|
o = e, (() => {
|
|
170
176
|
if (f || a) return f = !1, void d();
|
|
@@ -172,9 +178,9 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
172
178
|
})();
|
|
173
179
|
}), 150);
|
|
174
180
|
};
|
|
175
|
-
return
|
|
181
|
+
return s.p = r, s;
|
|
176
182
|
})(), p = () => {
|
|
177
|
-
l = c(), u && ($ = !0), i && t.$update(6, i()), t.$update(1,
|
|
183
|
+
l = c(), u && ($ = !0), i && t.$update(6, i()), t.$update(1, s()), d();
|
|
178
184
|
}, h = e => {
|
|
179
185
|
if (f || !t.$isScrolling() || e.ctrlKey) return;
|
|
180
186
|
const o = c() - l;
|
|
@@ -197,12 +203,12 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
197
203
|
},
|
|
198
204
|
m: () => {
|
|
199
205
|
const [e, o] = t.$();
|
|
200
|
-
e && (
|
|
206
|
+
e && (n(e, o, $), $ = !1, o && t.$getViewportSize() > t.$getTotalSize() && t.$update(1, s()));
|
|
201
207
|
}
|
|
202
208
|
};
|
|
203
209
|
}, C = (e, t, o) => {
|
|
204
210
|
let r;
|
|
205
|
-
return [ async (
|
|
211
|
+
return [ async (s, n) => {
|
|
206
212
|
if (!await t()) return;
|
|
207
213
|
r && r();
|
|
208
214
|
const i = () => {
|
|
@@ -213,7 +219,7 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
213
219
|
o(!0);
|
|
214
220
|
})) ];
|
|
215
221
|
};
|
|
216
|
-
if (
|
|
222
|
+
if (n && S()) e.$update(8, s()), c((async () => {
|
|
217
223
|
for (;;) {
|
|
218
224
|
let t = !0;
|
|
219
225
|
for (let [o, r] = e.$getRange(); o <= r; o++) if (e.$isUnmeasuredItem(o)) {
|
|
@@ -228,11 +234,11 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
228
234
|
r();
|
|
229
235
|
}
|
|
230
236
|
}
|
|
231
|
-
e.$update(7), o(
|
|
237
|
+
e.$update(7), o(s(), n);
|
|
232
238
|
})); else for (;;) {
|
|
233
239
|
const [t, r] = i();
|
|
234
240
|
try {
|
|
235
|
-
if (e.$update(7), o(
|
|
241
|
+
if (e.$update(7), o(s()), !await t) return;
|
|
236
242
|
} finally {
|
|
237
243
|
r();
|
|
238
244
|
}
|
|
@@ -241,15 +247,15 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
241
247
|
r && r();
|
|
242
248
|
} ];
|
|
243
249
|
}, W = (e, t) => {
|
|
244
|
-
let o, r,
|
|
245
|
-
const c = t ? "scrollLeft" : "scrollTop", f = t ? "overflowX" : "overflowY", [a, u] = C(e, (() =>
|
|
250
|
+
let o, r, s = l(), i = !1;
|
|
251
|
+
const c = t ? "scrollLeft" : "scrollTop", f = t ? "overflowX" : "overflowY", [a, u] = C(e, (() => s[0]), ((e, r) => {
|
|
246
252
|
e = R(e, i), r ? o.scrollTo({
|
|
247
253
|
[t ? "left" : "top"]: e,
|
|
248
254
|
behavior: "smooth"
|
|
249
255
|
}) : o[c] = e;
|
|
250
256
|
}));
|
|
251
257
|
return {
|
|
252
|
-
$observe(
|
|
258
|
+
$observe(n, l) {
|
|
253
259
|
o = l, t && (i = "rtl" === getComputedStyle(l).direction), r = J(e, l, t, (() => R(l[c], i)), ((t, o, r) => {
|
|
254
260
|
if (r) {
|
|
255
261
|
const e = l.style, t = e[f];
|
|
@@ -258,10 +264,10 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
258
264
|
}));
|
|
259
265
|
}
|
|
260
266
|
l[c] = R(e.$getScrollOffset() + t, i), o && u();
|
|
261
|
-
})),
|
|
267
|
+
})), s[1](!0);
|
|
262
268
|
},
|
|
263
269
|
$dispose() {
|
|
264
|
-
r && r.h(),
|
|
270
|
+
r && r.h(), s[1](!1), s = l();
|
|
265
271
|
},
|
|
266
272
|
$isNegative: () => i,
|
|
267
273
|
$scrollTo(e) {
|
|
@@ -270,23 +276,23 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
270
276
|
$scrollBy(t) {
|
|
271
277
|
t += e.$getScrollOffset(), a((() => t));
|
|
272
278
|
},
|
|
273
|
-
$scrollToIndex(t, {align: o, smooth: r, offset:
|
|
274
|
-
if (t =
|
|
275
|
-
const r = e.$getItemOffset(t),
|
|
276
|
-
if (r <
|
|
277
|
-
if (!(r + e.$getItemSize(t) >
|
|
279
|
+
$scrollToIndex(t, {align: o, smooth: r, offset: s = 0} = {}) {
|
|
280
|
+
if (t = n(t, 0, e.$getItemsLength() - 1), "nearest" === o) {
|
|
281
|
+
const r = e.$getItemOffset(t), s = e.$getScrollOffset();
|
|
282
|
+
if (r < s) o = "start"; else {
|
|
283
|
+
if (!(r + e.$getItemSize(t) > s + e.$getViewportSize())) return;
|
|
278
284
|
o = "end";
|
|
279
285
|
}
|
|
280
286
|
}
|
|
281
|
-
a((() =>
|
|
287
|
+
a((() => s + e.$getStartSpacerSize() + e.$getItemOffset(t) + ("end" === o ? e.$getItemSize(t) - e.$getViewportSize() : "center" === o ? (e.$getItemSize(t) - e.$getViewportSize()) / 2 : 0)), r);
|
|
282
288
|
},
|
|
283
289
|
$fixScrollJump: () => {
|
|
284
290
|
r && r.m();
|
|
285
291
|
}
|
|
286
292
|
};
|
|
287
293
|
}, B = (e, t) => {
|
|
288
|
-
let o, r,
|
|
289
|
-
const c = t ? "left" : "top", [f] = C(e, (() =>
|
|
294
|
+
let o, r, s = l(), i = !1;
|
|
295
|
+
const c = t ? "left" : "top", [f] = C(e, (() => s[0]), ((e, t) => {
|
|
290
296
|
e = R(e, i);
|
|
291
297
|
const r = b(v(o));
|
|
292
298
|
t ? r.scroll({
|
|
@@ -295,40 +301,40 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
295
301
|
}) : r.scroll({
|
|
296
302
|
[c]: e
|
|
297
303
|
});
|
|
298
|
-
})), a = (e, t, o, r,
|
|
299
|
-
const
|
|
304
|
+
})), a = (e, t, o, r, s = 0) => {
|
|
305
|
+
const n = r ? "offsetLeft" : "offsetTop", c = s + (r && i ? o.innerWidth - e[n] - e.offsetWidth : e[n]), l = e.offsetParent;
|
|
300
306
|
return e !== t && l ? a(l, t, o, r, c) : c;
|
|
301
307
|
};
|
|
302
308
|
return {
|
|
303
|
-
$observe(
|
|
304
|
-
o =
|
|
305
|
-
const l = t ? "scrollX" : "scrollY", f = v(
|
|
309
|
+
$observe(n) {
|
|
310
|
+
o = n;
|
|
311
|
+
const l = t ? "scrollX" : "scrollY", f = v(n), u = b(f);
|
|
306
312
|
t && (i = "rtl" === getComputedStyle(m(f)).direction), r = J(e, u, t, (() => R(u[l], i)), ((t, o) => {
|
|
307
313
|
o ? u.scroll({
|
|
308
314
|
[c]: R(e.$getScrollOffset() + t, i)
|
|
309
315
|
}) : u.scrollBy({
|
|
310
316
|
[c]: R(t, i)
|
|
311
317
|
});
|
|
312
|
-
}), (() => a(
|
|
318
|
+
}), (() => a(n, f.body, u, t))), s[1](!0);
|
|
313
319
|
},
|
|
314
320
|
$dispose() {
|
|
315
|
-
r && r.h(), o = void 0,
|
|
321
|
+
r && r.h(), o = void 0, s[1](!1), s = l();
|
|
316
322
|
},
|
|
317
323
|
$isNegative: () => i,
|
|
318
324
|
$fixScrollJump: () => {
|
|
319
325
|
r && r.m();
|
|
320
326
|
},
|
|
321
|
-
$scrollToIndex(r, {align:
|
|
327
|
+
$scrollToIndex(r, {align: s, smooth: i, offset: c = 0} = {}) {
|
|
322
328
|
if (!o) return;
|
|
323
|
-
if (r =
|
|
329
|
+
if (r = n(r, 0, e.$getItemsLength() - 1), "nearest" === s) {
|
|
324
330
|
const t = e.$getItemOffset(r), o = e.$getScrollOffset();
|
|
325
|
-
if (t < o)
|
|
331
|
+
if (t < o) s = "start"; else {
|
|
326
332
|
if (!(t + e.$getItemSize(r) > o + e.$getViewportSize())) return;
|
|
327
|
-
|
|
333
|
+
s = "end";
|
|
328
334
|
}
|
|
329
335
|
}
|
|
330
336
|
const l = v(o), u = b(l), $ = m(l), d = () => e.$getViewportSize() - (t ? $.clientWidth : $.clientHeight);
|
|
331
|
-
f((() => c + a(o, l.body, u, t) + e.$getItemOffset(r) + ("end" ===
|
|
337
|
+
f((() => c + a(o, l.body, u, t) + e.$getItemOffset(r) + ("end" === s ? e.$getItemSize(r) - (e.$getViewportSize() - d()) : "center" === s ? (e.$getItemSize(r) - (e.$getViewportSize() - d())) / 2 : 0)), i);
|
|
332
338
|
}
|
|
333
339
|
};
|
|
334
340
|
}, L = (e, t) => {
|
|
@@ -369,11 +375,11 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
369
375
|
};
|
|
370
376
|
}, O = (t, o) => {
|
|
371
377
|
let r;
|
|
372
|
-
const
|
|
378
|
+
const s = o ? "width" : "height", n = new WeakMap, i = N((o => {
|
|
373
379
|
const i = [];
|
|
374
|
-
for (const {target: c, contentRect: l} of o) if (c.offsetParent) if (c === r) t.$update(4, l[
|
|
375
|
-
const t =
|
|
376
|
-
t != e && i.push([ t, l[
|
|
380
|
+
for (const {target: c, contentRect: l} of o) if (c.offsetParent) if (c === r) t.$update(4, l[s]); else {
|
|
381
|
+
const t = n.get(c);
|
|
382
|
+
t != e && i.push([ t, l[s] ]);
|
|
377
383
|
}
|
|
378
384
|
i.length && t.$update(3, i);
|
|
379
385
|
}));
|
|
@@ -381,33 +387,33 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
381
387
|
$observeRoot(e) {
|
|
382
388
|
i.v(r = e);
|
|
383
389
|
},
|
|
384
|
-
$observeItem: (e, t) => (
|
|
385
|
-
|
|
390
|
+
$observeItem: (e, t) => (n.set(e, t), i.v(e), () => {
|
|
391
|
+
n.delete(e), i.S(e);
|
|
386
392
|
}),
|
|
387
393
|
$dispose: i.h
|
|
388
394
|
};
|
|
389
395
|
}, P = (t, o) => {
|
|
390
|
-
const r = o ? "width" : "height",
|
|
391
|
-
const
|
|
396
|
+
const r = o ? "width" : "height", s = o ? "innerWidth" : "innerHeight", n = new WeakMap, i = N((o => {
|
|
397
|
+
const s = [];
|
|
392
398
|
for (const {target: t, contentRect: i} of o) {
|
|
393
399
|
if (!t.offsetParent) continue;
|
|
394
|
-
const o =
|
|
395
|
-
o != e &&
|
|
400
|
+
const o = n.get(t);
|
|
401
|
+
o != e && s.push([ o, i[r] ]);
|
|
396
402
|
}
|
|
397
|
-
|
|
403
|
+
s.length && t.$update(3, s);
|
|
398
404
|
}));
|
|
399
405
|
let l;
|
|
400
406
|
return {
|
|
401
407
|
$observeRoot(e) {
|
|
402
408
|
const o = b(v(e)), r = () => {
|
|
403
|
-
t.$update(4, o[
|
|
409
|
+
t.$update(4, o[s]);
|
|
404
410
|
};
|
|
405
411
|
o.addEventListener("resize", r), c(r), l = () => {
|
|
406
412
|
o.removeEventListener("resize", r);
|
|
407
413
|
};
|
|
408
414
|
},
|
|
409
|
-
$observeItem: (e, t) => (
|
|
410
|
-
|
|
415
|
+
$observeItem: (e, t) => (n.set(e, t), i.v(e), () => {
|
|
416
|
+
n.delete(e), i.S(e);
|
|
411
417
|
}),
|
|
412
418
|
$dispose() {
|
|
413
419
|
l && l(), i.h();
|
|
@@ -415,16 +421,16 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
415
421
|
};
|
|
416
422
|
}, q = (e, t) => {
|
|
417
423
|
let r;
|
|
418
|
-
const
|
|
424
|
+
const s = new WeakMap, n = new Set, i = new Set, c = new Map, l = (e, t) => `${e}-${t}`, f = N((f => {
|
|
419
425
|
const a = new Set, u = new Set;
|
|
420
|
-
for (const {target: o, contentRect: {width:
|
|
421
|
-
t.$update(4,
|
|
422
|
-
const e =
|
|
426
|
+
for (const {target: o, contentRect: {width: n, height: i}} of f) if (o.offsetParent) if (o === r) e.$update(4, i),
|
|
427
|
+
t.$update(4, n); else {
|
|
428
|
+
const e = s.get(o);
|
|
423
429
|
if (e) {
|
|
424
|
-
const [t, o] = e, r = l(t, o),
|
|
430
|
+
const [t, o] = e, r = l(t, o), s = c.get(r);
|
|
425
431
|
let f, $;
|
|
426
|
-
|
|
427
|
-
$ && u.add(o), (f || $) && c.set(r, [ i,
|
|
432
|
+
s ? (s[0] !== i && (f = !0), s[1] !== n && ($ = !0)) : f = $ = !0, f && a.add(t),
|
|
433
|
+
$ && u.add(o), (f || $) && c.set(r, [ i, n ]);
|
|
428
434
|
}
|
|
429
435
|
}
|
|
430
436
|
if (a.size) {
|
|
@@ -432,8 +438,8 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
432
438
|
a.forEach((e => {
|
|
433
439
|
let r = 0;
|
|
434
440
|
i.forEach((t => {
|
|
435
|
-
const
|
|
436
|
-
|
|
441
|
+
const s = c.get(l(e, t));
|
|
442
|
+
s && (r = o(r, s[0]));
|
|
437
443
|
})), r && t.push([ e, r ]);
|
|
438
444
|
})), e.$update(3, t);
|
|
439
445
|
}
|
|
@@ -441,9 +447,9 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
441
447
|
const e = [];
|
|
442
448
|
u.forEach((t => {
|
|
443
449
|
let r = 0;
|
|
444
|
-
|
|
445
|
-
const
|
|
446
|
-
|
|
450
|
+
n.forEach((e => {
|
|
451
|
+
const s = c.get(l(e, t));
|
|
452
|
+
s && (r = o(r, s[1]));
|
|
447
453
|
})), r && e.push([ t, r ]);
|
|
448
454
|
})), t.$update(3, e);
|
|
449
455
|
}
|
|
@@ -452,8 +458,8 @@ const e = null, {min: t, max: o, abs: r, floor: n} = Math, s = (e, r, n) => t(n,
|
|
|
452
458
|
$observeRoot(e) {
|
|
453
459
|
f.v(r = e);
|
|
454
460
|
},
|
|
455
|
-
$observeItem: (e, t, o) => (
|
|
456
|
-
|
|
461
|
+
$observeItem: (e, t, o) => (s.set(e, [ t, o ]), n.add(t), i.add(o), f.v(e), () => {
|
|
462
|
+
s.delete(e), f.S(e);
|
|
457
463
|
}),
|
|
458
464
|
$resizeCols(o) {
|
|
459
465
|
for (const [t] of o) for (let o = 0; o < e.$getItemsLength(); o++) c.delete(l(o, t));
|