@wyxos/vibe 2.2.1 → 2.2.5
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/index.cjs +1 -1
- package/lib/index.js +571 -549
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as xe, ref as v, computed as k, createElementBlock as
|
|
1
|
+
import { defineComponent as xe, ref as v, computed as k, createElementBlock as P, openBlock as _, createElementVNode as N, normalizeStyle as W, watch as Z, onMounted as Ze, onUnmounted as Vt, createCommentVNode as ee, createBlock as Ft, unref as ae, toDisplayString as et, normalizeClass as _t, createVNode as Q, mergeDefaults as fn, useAttrs as dn, shallowRef as Pt, provide as vn, mergeProps as mn, renderSlot as hn, Fragment as Tt, renderList as Et, nextTick as Bt, inject as gn } from "vue";
|
|
2
2
|
const pn = {
|
|
3
3
|
mode: "default",
|
|
4
4
|
pageSize: 20,
|
|
@@ -12,7 +12,7 @@ const pn = {
|
|
|
12
12
|
headerHeight: 0,
|
|
13
13
|
footerHeight: 0,
|
|
14
14
|
overscanPx: 600
|
|
15
|
-
}, yn = ["aria-label", "aria-valuemax", "aria-valuenow"],
|
|
15
|
+
}, yn = ["aria-label", "aria-valuemax", "aria-valuenow"], zt = /* @__PURE__ */ xe({
|
|
16
16
|
__name: "MasonryVideoControls",
|
|
17
17
|
props: {
|
|
18
18
|
currentTime: {},
|
|
@@ -23,99 +23,99 @@ const pn = {
|
|
|
23
23
|
},
|
|
24
24
|
emits: ["seek"],
|
|
25
25
|
setup(o, { expose: M, emit: i }) {
|
|
26
|
-
const a = o,
|
|
26
|
+
const a = o, d = i, x = v(null), y = v(null), h = v(null), u = v(!1), g = k(
|
|
27
27
|
() => Number.isFinite(a.step) ? Math.max(0, a.step) : 0
|
|
28
|
-
),
|
|
28
|
+
), w = k(
|
|
29
29
|
() => Number.isFinite(a.duration) ? Math.max(0, a.duration) : 0
|
|
30
30
|
), S = k(() => {
|
|
31
|
-
const
|
|
32
|
-
return
|
|
33
|
-
}),
|
|
34
|
-
() =>
|
|
31
|
+
const c = Number.isFinite(a.currentTime) ? a.currentTime : 0;
|
|
32
|
+
return T(c, 0, w.value);
|
|
33
|
+
}), B = k(
|
|
34
|
+
() => w.value > 0 ? S.value / w.value : 0
|
|
35
35
|
);
|
|
36
|
-
function
|
|
37
|
-
return Math.min(
|
|
38
|
-
}
|
|
39
|
-
function
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
function
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
function
|
|
47
|
-
const
|
|
48
|
-
if (!
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
51
|
-
const j =
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
function X(
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
function $(
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
function H(
|
|
62
|
-
if (!
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
function q(
|
|
68
|
-
if (
|
|
69
|
-
const
|
|
70
|
-
let
|
|
71
|
-
switch (
|
|
36
|
+
function T(c, F, R) {
|
|
37
|
+
return Math.min(R, Math.max(F, c));
|
|
38
|
+
}
|
|
39
|
+
function I(c) {
|
|
40
|
+
return g.value <= 0 ? c : Math.round(c / g.value) * g.value;
|
|
41
|
+
}
|
|
42
|
+
function z(c) {
|
|
43
|
+
const F = T(c, 0, w.value);
|
|
44
|
+
d("seek", I(F));
|
|
45
|
+
}
|
|
46
|
+
function A(c) {
|
|
47
|
+
const F = y.value;
|
|
48
|
+
if (!F) return;
|
|
49
|
+
const R = F.getBoundingClientRect();
|
|
50
|
+
if (!R.width) return;
|
|
51
|
+
const j = T((c - R.left) / R.width, 0, 1);
|
|
52
|
+
z(j * w.value);
|
|
53
|
+
}
|
|
54
|
+
function X(c) {
|
|
55
|
+
const F = y.value;
|
|
56
|
+
F && (u.value = !0, F.setPointerCapture && F.setPointerCapture(c.pointerId), A(c.clientX));
|
|
57
|
+
}
|
|
58
|
+
function $(c) {
|
|
59
|
+
u.value && A(c.clientX);
|
|
60
|
+
}
|
|
61
|
+
function H(c) {
|
|
62
|
+
if (!u.value) return;
|
|
63
|
+
u.value = !1;
|
|
64
|
+
const F = y.value;
|
|
65
|
+
F?.releasePointerCapture && F.releasePointerCapture(c.pointerId);
|
|
66
|
+
}
|
|
67
|
+
function q(c) {
|
|
68
|
+
if (w.value <= 0) return;
|
|
69
|
+
const F = Number.isFinite(a.keyboardStep) ? a.keyboardStep : 1;
|
|
70
|
+
let R = S.value;
|
|
71
|
+
switch (c.key) {
|
|
72
72
|
case "ArrowLeft":
|
|
73
73
|
case "ArrowDown":
|
|
74
|
-
|
|
74
|
+
R -= F;
|
|
75
75
|
break;
|
|
76
76
|
case "ArrowRight":
|
|
77
77
|
case "ArrowUp":
|
|
78
|
-
|
|
78
|
+
R += F;
|
|
79
79
|
break;
|
|
80
80
|
case "Home":
|
|
81
|
-
|
|
81
|
+
R = 0;
|
|
82
82
|
break;
|
|
83
83
|
case "End":
|
|
84
|
-
|
|
84
|
+
R = w.value;
|
|
85
85
|
break;
|
|
86
86
|
default:
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
c.preventDefault(), z(R);
|
|
90
90
|
}
|
|
91
|
-
function
|
|
92
|
-
|
|
91
|
+
function te() {
|
|
92
|
+
x.value?.focus();
|
|
93
93
|
}
|
|
94
94
|
return M({
|
|
95
|
-
focus:
|
|
96
|
-
seekTo:
|
|
97
|
-
percent:
|
|
95
|
+
focus: te,
|
|
96
|
+
seekTo: z,
|
|
97
|
+
percent: B,
|
|
98
98
|
currentValue: S,
|
|
99
|
-
maxValue:
|
|
100
|
-
isDragging:
|
|
101
|
-
rootEl:
|
|
102
|
-
trackEl:
|
|
103
|
-
thumbEl:
|
|
104
|
-
}), (
|
|
99
|
+
maxValue: w,
|
|
100
|
+
isDragging: u,
|
|
101
|
+
rootEl: x,
|
|
102
|
+
trackEl: y,
|
|
103
|
+
thumbEl: h
|
|
104
|
+
}), (c, F) => (_(), P("div", {
|
|
105
105
|
ref_key: "rootEl",
|
|
106
|
-
ref:
|
|
106
|
+
ref: x,
|
|
107
107
|
class: "w-full select-none",
|
|
108
108
|
role: "slider",
|
|
109
109
|
tabindex: "0",
|
|
110
110
|
"aria-label": a.ariaLabel,
|
|
111
111
|
"aria-valuemin": 0,
|
|
112
|
-
"aria-valuemax":
|
|
112
|
+
"aria-valuemax": w.value,
|
|
113
113
|
"aria-valuenow": S.value,
|
|
114
114
|
onKeydown: q
|
|
115
115
|
}, [
|
|
116
|
-
|
|
116
|
+
N("div", {
|
|
117
117
|
ref_key: "trackEl",
|
|
118
|
-
ref:
|
|
118
|
+
ref: y,
|
|
119
119
|
class: "relative h-2 w-full cursor-pointer rounded-full bg-slate-200",
|
|
120
120
|
onPointerdown: X,
|
|
121
121
|
onPointermove: $,
|
|
@@ -123,15 +123,15 @@ const pn = {
|
|
|
123
123
|
onPointercancel: H,
|
|
124
124
|
onPointerleave: H
|
|
125
125
|
}, [
|
|
126
|
-
|
|
126
|
+
N("div", {
|
|
127
127
|
class: "absolute inset-y-0 left-0 rounded-full bg-slate-500",
|
|
128
|
-
style:
|
|
128
|
+
style: W({ width: `${B.value * 100}%` })
|
|
129
129
|
}, null, 4),
|
|
130
|
-
|
|
130
|
+
N("div", {
|
|
131
131
|
ref_key: "thumbEl",
|
|
132
|
-
ref:
|
|
132
|
+
ref: h,
|
|
133
133
|
class: "absolute top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-slate-700 shadow",
|
|
134
|
-
style:
|
|
134
|
+
style: W({ left: `${B.value * 100}%` }),
|
|
135
135
|
"aria-hidden": "true"
|
|
136
136
|
}, null, 4)
|
|
137
137
|
], 544)
|
|
@@ -167,7 +167,7 @@ const pn = {
|
|
|
167
167
|
},
|
|
168
168
|
emits: ["success", "error"],
|
|
169
169
|
setup(o, { emit: M }) {
|
|
170
|
-
const i = o, a = M,
|
|
170
|
+
const i = o, a = M, d = xe({
|
|
171
171
|
name: "SlotRenderer",
|
|
172
172
|
props: {
|
|
173
173
|
slotFn: {
|
|
@@ -181,128 +181,149 @@ const pn = {
|
|
|
181
181
|
},
|
|
182
182
|
setup(s) {
|
|
183
183
|
return () => {
|
|
184
|
-
const
|
|
185
|
-
return
|
|
184
|
+
const b = s.slotFn;
|
|
185
|
+
return b ? b(s.slotProps) : null;
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
|
-
}),
|
|
189
|
-
if (!
|
|
190
|
-
const s = i.item?.preview,
|
|
191
|
-
if (!(typeof s != "string" || !s) && !(typeof
|
|
188
|
+
}), x = v(null), y = v(null), h = v(null), u = v(!1), g = v(!1), w = v(!1), S = v(null), B = k(() => i.item?.type === "video"), T = k(() => {
|
|
189
|
+
if (!B.value) return;
|
|
190
|
+
const s = i.item?.preview, b = i.item?.original;
|
|
191
|
+
if (!(typeof s != "string" || !s) && !(typeof b == "string" && s === b) && !/\.(mp4|webm)(\?|#|$)/i.test(s) && /\.(png|jpe?g|gif|webp)(\?|#|$)/i.test(s))
|
|
192
192
|
return s;
|
|
193
|
-
}),
|
|
194
|
-
if (!
|
|
193
|
+
}), I = k(() => {
|
|
194
|
+
if (!B.value) return;
|
|
195
195
|
const s = i.item?.preview;
|
|
196
196
|
if (typeof s == "string" && s && !/\.(png|jpe?g|gif|webp)(\?|#|$)/i.test(s))
|
|
197
197
|
return s;
|
|
198
|
-
const
|
|
199
|
-
if (typeof
|
|
200
|
-
}),
|
|
198
|
+
const b = i.item?.original;
|
|
199
|
+
if (typeof b == "string" && b) return b;
|
|
200
|
+
}), z = v(!1), A = k(() => !!i.hovered), X = v(0), $ = v(0);
|
|
201
201
|
function H() {
|
|
202
202
|
i.remove?.();
|
|
203
203
|
}
|
|
204
204
|
const q = k(() => {
|
|
205
|
-
const s = i.item?.width,
|
|
206
|
-
return { aspectRatio: `${s} / ${
|
|
207
|
-
}),
|
|
208
|
-
let
|
|
209
|
-
function
|
|
210
|
-
|
|
205
|
+
const s = i.item?.width, b = i.item?.height;
|
|
206
|
+
return { aspectRatio: `${s} / ${b}` };
|
|
207
|
+
}), te = k(() => !B.value);
|
|
208
|
+
let c = null, F = null;
|
|
209
|
+
function R() {
|
|
210
|
+
u.value || (u.value = !0, g.value = !1, w.value = !1, S.value = null);
|
|
211
211
|
}
|
|
212
212
|
function j(s) {
|
|
213
213
|
X.value = Number.isFinite(s.duration) ? s.duration : 0, $.value = Number.isFinite(s.currentTime) ? s.currentTime : 0;
|
|
214
214
|
}
|
|
215
215
|
async function re() {
|
|
216
|
-
if (!
|
|
217
|
-
const s =
|
|
216
|
+
if (!B.value || !A.value || !u.value || !g.value || !z.value) return;
|
|
217
|
+
const s = h.value;
|
|
218
218
|
if (s)
|
|
219
219
|
try {
|
|
220
220
|
s.muted = !0, await s.play();
|
|
221
221
|
} catch {
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
function
|
|
225
|
-
const s =
|
|
224
|
+
function ne() {
|
|
225
|
+
const s = h.value;
|
|
226
226
|
s && (s.paused || s.pause());
|
|
227
227
|
}
|
|
228
|
-
function
|
|
229
|
-
const s =
|
|
228
|
+
function Ee() {
|
|
229
|
+
const s = h.value;
|
|
230
230
|
s && (s.paused || s.pause());
|
|
231
231
|
}
|
|
232
|
-
|
|
232
|
+
Z(
|
|
233
233
|
() => i.hovered,
|
|
234
234
|
(s) => {
|
|
235
235
|
if (s) {
|
|
236
|
-
|
|
236
|
+
R(), re();
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
|
-
|
|
239
|
+
ne();
|
|
240
240
|
}
|
|
241
241
|
);
|
|
242
|
-
function
|
|
243
|
-
const
|
|
244
|
-
|
|
242
|
+
function Be(s) {
|
|
243
|
+
const b = h.value;
|
|
244
|
+
b && Number.isFinite(s) && (b.currentTime = Math.max(0, Math.min(s, Number.isFinite(b.duration) ? b.duration : s)), j(b));
|
|
245
245
|
}
|
|
246
|
-
|
|
246
|
+
Ze(() => {
|
|
247
247
|
if (typeof IntersectionObserver > "u") {
|
|
248
|
-
|
|
248
|
+
R();
|
|
249
249
|
return;
|
|
250
250
|
}
|
|
251
|
-
if (
|
|
251
|
+
if (c = new IntersectionObserver(
|
|
252
252
|
(s) => {
|
|
253
|
-
for (const
|
|
254
|
-
if (
|
|
255
|
-
|
|
253
|
+
for (const b of s)
|
|
254
|
+
if (b.isIntersecting && !((b.intersectionRatio ?? 0) < 0.5)) {
|
|
255
|
+
R(), c?.disconnect(), c = null;
|
|
256
256
|
return;
|
|
257
257
|
}
|
|
258
258
|
},
|
|
259
259
|
{ threshold: [0, 0.5, 1] }
|
|
260
|
-
),
|
|
261
|
-
const s =
|
|
262
|
-
|
|
263
|
-
(
|
|
264
|
-
for (const
|
|
265
|
-
const
|
|
266
|
-
|
|
260
|
+
), x.value && c.observe(x.value), B.value && x.value) {
|
|
261
|
+
const s = x.value.closest('[data-testid="items-scroll-container"]');
|
|
262
|
+
F = new IntersectionObserver(
|
|
263
|
+
(b) => {
|
|
264
|
+
for (const U of b) {
|
|
265
|
+
const Re = U.intersectionRatio ?? 0, Se = !!U.isIntersecting && Re >= 0.5;
|
|
266
|
+
z.value = Se, Se ? A.value && re() : Ee();
|
|
267
267
|
}
|
|
268
268
|
},
|
|
269
269
|
{
|
|
270
270
|
root: s ?? void 0,
|
|
271
271
|
threshold: [0, 0.25, 0.5, 0.75, 1]
|
|
272
272
|
}
|
|
273
|
-
),
|
|
273
|
+
), F.observe(x.value);
|
|
274
274
|
}
|
|
275
|
-
}),
|
|
276
|
-
|
|
275
|
+
}), Vt(() => {
|
|
276
|
+
c?.disconnect(), c = null, F?.disconnect(), F = null;
|
|
277
277
|
});
|
|
278
278
|
function G() {
|
|
279
|
-
|
|
279
|
+
g.value || (g.value = !0, w.value = !1, S.value = null, a("success", i.item));
|
|
280
280
|
}
|
|
281
281
|
function K(s) {
|
|
282
|
-
|
|
282
|
+
w.value || (g.value = !1, w.value = !0, S.value = s, a("error", { item: i.item, error: s }));
|
|
283
283
|
}
|
|
284
284
|
function ke() {
|
|
285
|
+
if (u.value && !g.value && !w.value) {
|
|
286
|
+
if (te.value) {
|
|
287
|
+
const s = y.value;
|
|
288
|
+
if (!s || !s.complete) return;
|
|
289
|
+
s.naturalWidth > 0 && G();
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (B.value) {
|
|
293
|
+
const s = h.value;
|
|
294
|
+
s && (s.readyState ?? 0) >= 1 && Me();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
Z(
|
|
299
|
+
[u, () => i.item.preview, () => I.value],
|
|
300
|
+
() => {
|
|
301
|
+
u.value && Promise.resolve().then(ke);
|
|
302
|
+
},
|
|
303
|
+
{ flush: "post" }
|
|
304
|
+
);
|
|
305
|
+
function Me() {
|
|
285
306
|
G();
|
|
286
|
-
const s =
|
|
307
|
+
const s = h.value;
|
|
287
308
|
s && j(s), re();
|
|
288
309
|
}
|
|
289
|
-
function
|
|
290
|
-
const s =
|
|
310
|
+
function se() {
|
|
311
|
+
const s = h.value;
|
|
291
312
|
s && j(s);
|
|
292
313
|
}
|
|
293
|
-
return (s,
|
|
314
|
+
return (s, b) => (_(), P("div", {
|
|
294
315
|
ref_key: "rootEl",
|
|
295
|
-
ref:
|
|
316
|
+
ref: x,
|
|
296
317
|
class: "relative bg-slate-100",
|
|
297
|
-
style:
|
|
318
|
+
style: W(q.value)
|
|
298
319
|
}, [
|
|
299
|
-
|
|
300
|
-
i.loaderSlotFn ? (_(), Ft(
|
|
320
|
+
u.value && !g.value && !w.value ? (_(), P("div", wn, [
|
|
321
|
+
i.loaderSlotFn ? (_(), Ft(ae(d), {
|
|
301
322
|
key: 0,
|
|
302
323
|
"slot-fn": i.loaderSlotFn,
|
|
303
324
|
"slot-props": { item: i.item, remove: H }
|
|
304
|
-
}, null, 8, ["slot-fn", "slot-props"])) : (_(),
|
|
305
|
-
|
|
325
|
+
}, null, 8, ["slot-fn", "slot-props"])) : (_(), P("svg", bn, b[3] || (b[3] = [
|
|
326
|
+
N("circle", {
|
|
306
327
|
class: "opacity-25",
|
|
307
328
|
cx: "12",
|
|
308
329
|
cy: "12",
|
|
@@ -311,28 +332,28 @@ const pn = {
|
|
|
311
332
|
stroke: "currentColor",
|
|
312
333
|
"stroke-width": "4"
|
|
313
334
|
}, null, -1),
|
|
314
|
-
|
|
335
|
+
N("path", {
|
|
315
336
|
class: "opacity-75",
|
|
316
337
|
fill: "currentColor",
|
|
317
338
|
d: "M4 12a8 8 0 0 1 8-8v4a4 4 0 0 0-4 4H4z"
|
|
318
339
|
}, null, -1)
|
|
319
340
|
])))
|
|
320
|
-
])) :
|
|
321
|
-
|
|
322
|
-
i.errorSlotFn ? (_(), Ft(
|
|
341
|
+
])) : u.value && w.value ? (_(), P("div", xn, [
|
|
342
|
+
N("div", kn, [
|
|
343
|
+
i.errorSlotFn ? (_(), Ft(ae(d), {
|
|
323
344
|
key: 0,
|
|
324
345
|
"slot-fn": i.errorSlotFn,
|
|
325
346
|
"slot-props": { item: i.item, remove: H, error: S.value }
|
|
326
|
-
}, null, 8, ["slot-fn", "slot-props"])) : (_(),
|
|
347
|
+
}, null, 8, ["slot-fn", "slot-props"])) : (_(), P("p", Mn, "Error " + et(S.value), 1))
|
|
327
348
|
])
|
|
328
|
-
])) :
|
|
329
|
-
|
|
349
|
+
])) : ee("", !0),
|
|
350
|
+
u.value && te.value && !w.value ? (_(), P("img", {
|
|
330
351
|
key: i.item.id + ":img",
|
|
331
352
|
ref_key: "imgEl",
|
|
332
|
-
ref:
|
|
353
|
+
ref: y,
|
|
333
354
|
class: _t([
|
|
334
355
|
"h-full w-full object-cover transition-opacity duration-300",
|
|
335
|
-
|
|
356
|
+
g.value ? "opacity-100" : "opacity-0"
|
|
336
357
|
]),
|
|
337
358
|
src: i.item.preview,
|
|
338
359
|
width: i.item.width,
|
|
@@ -340,47 +361,48 @@ const pn = {
|
|
|
340
361
|
loading: "lazy",
|
|
341
362
|
alt: i.item.id,
|
|
342
363
|
onLoad: G,
|
|
343
|
-
onError:
|
|
344
|
-
}, null, 42, Sn)) :
|
|
364
|
+
onError: b[0] || (b[0] = (U) => K(U))
|
|
365
|
+
}, null, 42, Sn)) : u.value && !w.value ? (_(), P("video", {
|
|
345
366
|
key: i.item.id + ":vid",
|
|
346
367
|
class: _t([
|
|
347
368
|
"h-full w-full object-cover transition-opacity duration-300",
|
|
348
|
-
|
|
369
|
+
g.value ? "opacity-100" : "opacity-0"
|
|
349
370
|
]),
|
|
350
|
-
poster:
|
|
371
|
+
poster: T.value,
|
|
351
372
|
ref_key: "videoEl",
|
|
352
|
-
ref:
|
|
373
|
+
ref: h,
|
|
353
374
|
playsinline: "",
|
|
354
375
|
loop: "",
|
|
355
376
|
preload: "metadata",
|
|
356
|
-
onLoadedmetadata:
|
|
357
|
-
onTimeupdate:
|
|
358
|
-
onDurationchange:
|
|
359
|
-
onLoadeddata:
|
|
360
|
-
onError:
|
|
377
|
+
onLoadedmetadata: Me,
|
|
378
|
+
onTimeupdate: se,
|
|
379
|
+
onDurationchange: se,
|
|
380
|
+
onLoadeddata: se,
|
|
381
|
+
onError: b[2] || (b[2] = (U) => K(U))
|
|
361
382
|
}, [
|
|
362
|
-
|
|
363
|
-
src:
|
|
364
|
-
type: "video/mp4"
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
383
|
+
N("source", {
|
|
384
|
+
src: I.value,
|
|
385
|
+
type: "video/mp4",
|
|
386
|
+
onError: b[1] || (b[1] = (U) => K(U))
|
|
387
|
+
}, null, 40, Fn)
|
|
388
|
+
], 42, In)) : ee("", !0),
|
|
389
|
+
u.value && B.value && !w.value ? (_(), P("div", _n, [
|
|
390
|
+
Q(zt, {
|
|
369
391
|
duration: X.value,
|
|
370
392
|
"current-time": $.value,
|
|
371
|
-
onSeek:
|
|
393
|
+
onSeek: Be
|
|
372
394
|
}, null, 8, ["duration", "current-time"])
|
|
373
|
-
])) :
|
|
395
|
+
])) : ee("", !0)
|
|
374
396
|
], 4));
|
|
375
397
|
}
|
|
376
398
|
}), $t = Symbol("masonryItemRegistry");
|
|
377
|
-
function
|
|
399
|
+
function Pn(o, M) {
|
|
378
400
|
return !o || o <= 0 || !M || M <= 0 ? 1 : Math.max(1, Math.floor(o / M));
|
|
379
401
|
}
|
|
380
|
-
function
|
|
402
|
+
function Tn(o, M, i, a = 0) {
|
|
381
403
|
if (!o || o <= 0 || !M || M <= 0) return i;
|
|
382
|
-
const
|
|
383
|
-
return !
|
|
404
|
+
const d = typeof a == "number" && a > 0 ? a : 0, x = Math.max(0, M - 1) * d, y = o - x;
|
|
405
|
+
return !y || y <= 0 ? i : y / M;
|
|
384
406
|
}
|
|
385
407
|
function En(o, M) {
|
|
386
408
|
const i = o?.width, a = o?.height;
|
|
@@ -389,7 +411,7 @@ function En(o, M) {
|
|
|
389
411
|
function Dt(o) {
|
|
390
412
|
return Number.isFinite(o) && o > 0 ? Math.floor(o) : 1;
|
|
391
413
|
}
|
|
392
|
-
function
|
|
414
|
+
function tt(o) {
|
|
393
415
|
return Number.isFinite(o) && o > 0 ? Math.floor(o) : 0;
|
|
394
416
|
}
|
|
395
417
|
function Bn() {
|
|
@@ -398,172 +420,172 @@ function Bn() {
|
|
|
398
420
|
}
|
|
399
421
|
function Rn(o) {
|
|
400
422
|
async function M(a) {
|
|
401
|
-
const
|
|
402
|
-
if (
|
|
423
|
+
const d = tt(a);
|
|
424
|
+
if (d <= 0) return;
|
|
403
425
|
o.stats.value = {
|
|
404
426
|
...o.stats.value,
|
|
405
|
-
cooldownMsTotal:
|
|
406
|
-
cooldownMsRemaining:
|
|
427
|
+
cooldownMsTotal: d,
|
|
428
|
+
cooldownMsRemaining: d
|
|
407
429
|
};
|
|
408
|
-
const
|
|
409
|
-
await new Promise((
|
|
410
|
-
const
|
|
411
|
-
const
|
|
430
|
+
const x = Date.now(), y = 100;
|
|
431
|
+
await new Promise((h) => {
|
|
432
|
+
const u = setInterval(() => {
|
|
433
|
+
const g = Date.now() - x, w = Math.max(0, d - g);
|
|
412
434
|
o.stats.value = {
|
|
413
435
|
...o.stats.value,
|
|
414
|
-
cooldownMsTotal:
|
|
415
|
-
cooldownMsRemaining:
|
|
416
|
-
},
|
|
417
|
-
},
|
|
436
|
+
cooldownMsTotal: d,
|
|
437
|
+
cooldownMsRemaining: w
|
|
438
|
+
}, w <= 0 && (clearInterval(u), h());
|
|
439
|
+
}, y);
|
|
418
440
|
});
|
|
419
441
|
}
|
|
420
442
|
async function i(a) {
|
|
421
|
-
const
|
|
422
|
-
if (
|
|
443
|
+
const d = Dt(o.getPageSize()), x = o.isEnabled(), y = tt(o.getRequestDelayMs()), h = o.stats.value.page ?? null, u = o.getCancelToken?.() ?? null, g = () => u !== null && o.getCancelToken && o.getCancelToken() !== u, w = () => {
|
|
444
|
+
if (g()) throw Bn();
|
|
423
445
|
}, S = [];
|
|
424
|
-
let
|
|
425
|
-
o.buffer.value.length && (
|
|
446
|
+
let B = 0;
|
|
447
|
+
o.buffer.value.length && (B = o.buffer.value.length, S.push(...o.buffer.value), o.buffer.value = []), o.stats.value = {
|
|
426
448
|
...o.stats.value,
|
|
427
|
-
enabled:
|
|
449
|
+
enabled: x,
|
|
428
450
|
isBackfillActive: !1,
|
|
429
451
|
isRequestInFlight: !1,
|
|
430
|
-
page:
|
|
452
|
+
page: h ?? a,
|
|
431
453
|
next: a,
|
|
432
|
-
cooldownMsTotal:
|
|
454
|
+
cooldownMsTotal: y,
|
|
433
455
|
cooldownMsRemaining: 0,
|
|
434
456
|
progress: {
|
|
435
457
|
collected: 0,
|
|
436
458
|
target: 0
|
|
437
459
|
},
|
|
438
|
-
pageSize:
|
|
460
|
+
pageSize: d,
|
|
439
461
|
bufferSize: 0
|
|
440
462
|
};
|
|
441
|
-
const
|
|
442
|
-
let
|
|
443
|
-
for (; S.length <
|
|
444
|
-
|
|
445
|
-
const H =
|
|
446
|
-
|
|
463
|
+
const T = [];
|
|
464
|
+
let I = a, z = 0, A = !1;
|
|
465
|
+
for (; S.length < d && I != null; ) {
|
|
466
|
+
w();
|
|
467
|
+
const H = I;
|
|
468
|
+
A && (o.stats.value = {
|
|
447
469
|
...o.stats.value,
|
|
448
|
-
enabled:
|
|
470
|
+
enabled: x,
|
|
449
471
|
isBackfillActive: !0,
|
|
450
472
|
isRequestInFlight: !0,
|
|
451
473
|
page: H,
|
|
452
474
|
next: null,
|
|
453
475
|
progress: {
|
|
454
|
-
collected: Math.min(S.length,
|
|
455
|
-
target:
|
|
476
|
+
collected: Math.min(S.length, d),
|
|
477
|
+
target: d
|
|
456
478
|
},
|
|
457
|
-
cooldownMsTotal:
|
|
479
|
+
cooldownMsTotal: y,
|
|
458
480
|
cooldownMsRemaining: 0,
|
|
459
|
-
pageSize:
|
|
481
|
+
pageSize: d
|
|
460
482
|
});
|
|
461
483
|
const q = await o.getContent(H);
|
|
462
|
-
|
|
484
|
+
w(), T.push(H), A && (o.stats.value = {
|
|
463
485
|
...o.stats.value,
|
|
464
|
-
enabled:
|
|
486
|
+
enabled: x,
|
|
465
487
|
isBackfillActive: !0,
|
|
466
488
|
isRequestInFlight: !1,
|
|
467
489
|
page: H,
|
|
468
490
|
next: q.nextPage
|
|
469
|
-
}),
|
|
491
|
+
}), z += q.items.length, o.markEnterFromLeft(q.items), S.push(...q.items), I = q.nextPage, !A && S.length < d && I != null ? (A = !0, o.stats.value = {
|
|
470
492
|
...o.stats.value,
|
|
471
|
-
enabled:
|
|
493
|
+
enabled: x,
|
|
472
494
|
isBackfillActive: !0,
|
|
473
495
|
isRequestInFlight: !1,
|
|
474
496
|
page: H,
|
|
475
|
-
next:
|
|
497
|
+
next: I,
|
|
476
498
|
progress: {
|
|
477
|
-
collected: Math.min(S.length,
|
|
478
|
-
target:
|
|
499
|
+
collected: Math.min(S.length, d),
|
|
500
|
+
target: d
|
|
479
501
|
},
|
|
480
|
-
cooldownMsTotal:
|
|
502
|
+
cooldownMsTotal: y,
|
|
481
503
|
cooldownMsRemaining: 0,
|
|
482
|
-
pageSize:
|
|
483
|
-
}) :
|
|
504
|
+
pageSize: d
|
|
505
|
+
}) : A && (o.stats.value = {
|
|
484
506
|
...o.stats.value,
|
|
485
|
-
enabled:
|
|
507
|
+
enabled: x,
|
|
486
508
|
isBackfillActive: !0,
|
|
487
509
|
page: H,
|
|
488
|
-
next:
|
|
510
|
+
next: I,
|
|
489
511
|
progress: {
|
|
490
|
-
collected: Math.min(S.length,
|
|
491
|
-
target:
|
|
512
|
+
collected: Math.min(S.length, d),
|
|
513
|
+
target: d
|
|
492
514
|
}
|
|
493
|
-
}),
|
|
515
|
+
}), A && S.length < d && I != null && (await M(y), w());
|
|
494
516
|
}
|
|
495
|
-
const X = S.slice(0,
|
|
517
|
+
const X = S.slice(0, d), $ = S.slice(d);
|
|
496
518
|
return o.buffer.value = $, o.stats.value = {
|
|
497
519
|
...o.stats.value,
|
|
498
|
-
enabled:
|
|
520
|
+
enabled: x,
|
|
499
521
|
isBackfillActive: !1,
|
|
500
522
|
isRequestInFlight: !1,
|
|
501
|
-
page:
|
|
502
|
-
next:
|
|
523
|
+
page: T.length ? T[T.length - 1] : h ?? a,
|
|
524
|
+
next: I,
|
|
503
525
|
progress: {
|
|
504
526
|
collected: 0,
|
|
505
527
|
target: 0
|
|
506
528
|
},
|
|
507
|
-
cooldownMsTotal:
|
|
529
|
+
cooldownMsTotal: y,
|
|
508
530
|
cooldownMsRemaining: 0,
|
|
509
|
-
pageSize:
|
|
531
|
+
pageSize: d,
|
|
510
532
|
bufferSize: $.length,
|
|
511
533
|
lastBatch: {
|
|
512
534
|
startPage: a,
|
|
513
|
-
pages:
|
|
514
|
-
usedFromBuffer:
|
|
515
|
-
fetchedFromNetwork:
|
|
535
|
+
pages: T,
|
|
536
|
+
usedFromBuffer: B,
|
|
537
|
+
fetchedFromNetwork: z,
|
|
516
538
|
collectedTotal: S.length,
|
|
517
539
|
emitted: X.length,
|
|
518
540
|
carried: $.length
|
|
519
541
|
},
|
|
520
542
|
totals: {
|
|
521
|
-
pagesFetched: o.stats.value.totals.pagesFetched +
|
|
522
|
-
itemsFetchedFromNetwork: o.stats.value.totals.itemsFetchedFromNetwork +
|
|
543
|
+
pagesFetched: o.stats.value.totals.pagesFetched + T.length,
|
|
544
|
+
itemsFetchedFromNetwork: o.stats.value.totals.itemsFetchedFromNetwork + z
|
|
523
545
|
}
|
|
524
|
-
}, { batchItems: X, pages:
|
|
546
|
+
}, { batchItems: X, pages: T, nextPage: I };
|
|
525
547
|
}
|
|
526
548
|
return { loadBackfillBatch: i };
|
|
527
549
|
}
|
|
528
550
|
function An(o) {
|
|
529
|
-
const M = o.columnCount, i = o.columnWidth, a = o.gapX,
|
|
530
|
-
let
|
|
531
|
-
for (let
|
|
532
|
-
const
|
|
533
|
-
|
|
534
|
-
let
|
|
535
|
-
for (let
|
|
536
|
-
|
|
537
|
-
const X =
|
|
538
|
-
|
|
539
|
-
const q = Math.floor($ /
|
|
540
|
-
for (let
|
|
541
|
-
const
|
|
542
|
-
|
|
551
|
+
const M = o.columnCount, i = o.columnWidth, a = o.gapX, d = o.gapY, x = o.headerHeight, y = o.footerHeight, h = o.bucketPx, u = Array.from({ length: M }, () => 0), g = new Array(o.items.length), w = new Array(o.items.length), S = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map();
|
|
552
|
+
let T = 0;
|
|
553
|
+
for (let I = 0; I < o.items.length; I += 1) {
|
|
554
|
+
const z = o.items[I];
|
|
555
|
+
z?.id && B.set(z.id, I);
|
|
556
|
+
let A = 0;
|
|
557
|
+
for (let c = 1; c < u.length; c += 1)
|
|
558
|
+
u[c] < u[A] && (A = c);
|
|
559
|
+
const X = A * (i + a), $ = u[A], H = En(z, i) + x + y;
|
|
560
|
+
g[I] = { x: X, y: $ }, w[I] = H, u[A] = $ + H + d, T = Math.max(T, $ + H);
|
|
561
|
+
const q = Math.floor($ / h), te = Math.floor(($ + H) / h);
|
|
562
|
+
for (let c = q; c <= te; c += 1) {
|
|
563
|
+
const F = S.get(c);
|
|
564
|
+
F ? F.push(I) : S.set(c, [I]);
|
|
543
565
|
}
|
|
544
566
|
}
|
|
545
|
-
return { positions:
|
|
567
|
+
return { positions: g, heights: w, buckets: S, contentHeight: T, indexById: B };
|
|
546
568
|
}
|
|
547
569
|
function Cn(o) {
|
|
548
570
|
const M = o.itemCount;
|
|
549
571
|
if (!M) return [];
|
|
550
|
-
if (o.viewportHeight <= 0) return Array.from({ length: M }, (
|
|
551
|
-
const i = Math.max(0, o.scrollTop - o.overscanPx), a = o.scrollTop + o.viewportHeight + o.overscanPx,
|
|
552
|
-
for (let
|
|
553
|
-
const
|
|
554
|
-
if (
|
|
555
|
-
for (const
|
|
572
|
+
if (o.viewportHeight <= 0) return Array.from({ length: M }, (u, g) => g);
|
|
573
|
+
const i = Math.max(0, o.scrollTop - o.overscanPx), a = o.scrollTop + o.viewportHeight + o.overscanPx, d = Math.floor(i / o.bucketPx), x = Math.floor(a / o.bucketPx), y = /* @__PURE__ */ new Set();
|
|
574
|
+
for (let u = d; u <= x; u += 1) {
|
|
575
|
+
const g = o.buckets.get(u);
|
|
576
|
+
if (g)
|
|
577
|
+
for (const w of g) y.add(w);
|
|
556
578
|
}
|
|
557
|
-
const
|
|
558
|
-
return
|
|
579
|
+
const h = Array.from(y);
|
|
580
|
+
return h.sort((u, g) => u - g), h;
|
|
559
581
|
}
|
|
560
582
|
const Nn = { class: "hidden" }, Hn = {
|
|
561
583
|
key: 0,
|
|
562
584
|
class: "flex h-full items-center justify-center"
|
|
563
|
-
},
|
|
585
|
+
}, Ln = {
|
|
564
586
|
key: 1,
|
|
565
587
|
class: "text-sm font-medium text-red-700"
|
|
566
|
-
},
|
|
588
|
+
}, Vn = ["onMouseenter", "onMouseleave"], zn = {
|
|
567
589
|
key: 0,
|
|
568
590
|
class: "pointer-events-auto absolute inset-0 z-10"
|
|
569
591
|
}, $n = { class: "relative" }, Dn = {
|
|
@@ -572,7 +594,7 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
572
594
|
}, On = { class: "mt-4 pb-2 text-center text-xs text-slate-600" }, Yn = {
|
|
573
595
|
key: 0,
|
|
574
596
|
class: "inline-flex items-center justify-center gap-2"
|
|
575
|
-
}, qn = { key: 1 }, Xn = { key: 2 }, At = 100, jn = 200, Ct = 600, Nt = 300, Ht = 600,
|
|
597
|
+
}, qn = { key: 1 }, Xn = { key: 2 }, At = 100, jn = 200, Ct = 600, Nt = 300, Ht = 600, Lt = 600, Un = 400, Wn = 5, Gn = 1e3, Kn = /* @__PURE__ */ xe({
|
|
576
598
|
inheritAttrs: !1,
|
|
577
599
|
__name: "Masonry",
|
|
578
600
|
props: /* @__PURE__ */ fn({
|
|
@@ -594,7 +616,7 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
594
616
|
}, pn),
|
|
595
617
|
emits: ["update:items", "preloaded", "failures", "removed"],
|
|
596
618
|
setup(o, { expose: M, emit: i }) {
|
|
597
|
-
const a = o,
|
|
619
|
+
const a = o, d = i, x = dn(), y = xe({
|
|
598
620
|
name: "SlotRenderer",
|
|
599
621
|
props: {
|
|
600
622
|
slotFn: {
|
|
@@ -612,90 +634,90 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
612
634
|
return n ? n(e.slotProps) : null;
|
|
613
635
|
};
|
|
614
636
|
}
|
|
615
|
-
}),
|
|
616
|
-
function
|
|
617
|
-
|
|
637
|
+
}), h = Pt(null), u = v(null);
|
|
638
|
+
function g(e) {
|
|
639
|
+
u.value = e;
|
|
618
640
|
}
|
|
619
|
-
function
|
|
620
|
-
|
|
641
|
+
function w(e) {
|
|
642
|
+
u.value === e && (u.value = null);
|
|
621
643
|
}
|
|
622
644
|
vn($t, (e) => {
|
|
623
|
-
|
|
645
|
+
h.value || (h.value = e);
|
|
624
646
|
});
|
|
625
|
-
const S = [],
|
|
626
|
-
let
|
|
627
|
-
function
|
|
647
|
+
const S = [], B = [];
|
|
648
|
+
let T = null, I = null;
|
|
649
|
+
function z() {
|
|
628
650
|
if (!S.length) return;
|
|
629
651
|
const e = S.splice(0, S.length);
|
|
630
|
-
|
|
652
|
+
d("preloaded", e);
|
|
631
653
|
}
|
|
632
|
-
function
|
|
633
|
-
if (!
|
|
634
|
-
const e =
|
|
635
|
-
|
|
654
|
+
function A() {
|
|
655
|
+
if (!B.length) return;
|
|
656
|
+
const e = B.splice(0, B.length);
|
|
657
|
+
d("failures", e);
|
|
636
658
|
}
|
|
637
659
|
function X() {
|
|
638
|
-
|
|
639
|
-
|
|
660
|
+
T || (T = setTimeout(() => {
|
|
661
|
+
T = null, z();
|
|
640
662
|
}, At));
|
|
641
663
|
}
|
|
642
664
|
function $() {
|
|
643
|
-
|
|
644
|
-
|
|
665
|
+
I || (I = setTimeout(() => {
|
|
666
|
+
I = null, A();
|
|
645
667
|
}, At));
|
|
646
668
|
}
|
|
647
669
|
function H(e) {
|
|
648
|
-
|
|
670
|
+
h.value?.onPreloaded?.(e), S.push(e), X();
|
|
649
671
|
}
|
|
650
672
|
function q(e) {
|
|
651
|
-
|
|
673
|
+
h.value?.onFailed?.(e), B.push(e), $();
|
|
652
674
|
}
|
|
653
|
-
|
|
654
|
-
if (!
|
|
675
|
+
Ze(() => {
|
|
676
|
+
if (!h.value)
|
|
655
677
|
throw new Error("[Masonry] Missing <MasonryItem> definition. Add <MasonryItem> as a child of <Masonry>.");
|
|
656
678
|
});
|
|
657
|
-
const
|
|
658
|
-
const { class: e, ...n } =
|
|
679
|
+
const te = k(() => {
|
|
680
|
+
const { class: e, ...n } = x;
|
|
659
681
|
return n;
|
|
660
|
-
}),
|
|
682
|
+
}), c = v(null), F = v(0), R = v(0), j = v(0);
|
|
661
683
|
let re;
|
|
662
|
-
const
|
|
663
|
-
function
|
|
684
|
+
const ne = k(() => a.gapX), Ee = k(() => a.gapY);
|
|
685
|
+
function Be(e) {
|
|
664
686
|
if (!e) return 0;
|
|
665
|
-
const n = Math.max(0,
|
|
687
|
+
const n = Math.max(0, ne.value);
|
|
666
688
|
return Math.max(0, e.clientWidth - n);
|
|
667
689
|
}
|
|
668
|
-
const G = k(() => a.headerHeight), K = k(() => a.footerHeight), ke = k(() =>
|
|
690
|
+
const G = k(() => a.headerHeight), K = k(() => a.footerHeight), ke = k(() => h.value?.header), Me = k(() => h.value?.loader), se = k(() => h.value?.footer), s = k(() => h.value?.overlay), b = k(() => h.value?.error), U = k(() => !!ke.value), Re = k(() => !!se.value), Se = k(() => !!s.value), nt = k(() => {
|
|
669
691
|
if (G.value > 0) return { height: `${G.value}px` };
|
|
670
692
|
}), ot = k(() => {
|
|
671
693
|
if (K.value > 0) return { height: `${K.value}px` };
|
|
672
|
-
}),
|
|
694
|
+
}), Ie = v([]), Ye = v([]), lt = v(/* @__PURE__ */ new Map()), at = v(0), Ae = v(/* @__PURE__ */ new Map());
|
|
673
695
|
function Ot(e) {
|
|
674
696
|
const n = typeof e == "number" && Number.isFinite(e) ? e : 0;
|
|
675
|
-
return j.value +
|
|
697
|
+
return j.value + R.value + Math.max(0, n);
|
|
676
698
|
}
|
|
677
|
-
const
|
|
699
|
+
const ie = v(/* @__PURE__ */ new Set()), ue = v(/* @__PURE__ */ new Set()), Ce = /* @__PURE__ */ new Set(), Fe = v(/* @__PURE__ */ new Map());
|
|
678
700
|
function Yt(e) {
|
|
679
701
|
return Number.isFinite(e) ? Math.max(0, Math.min(250, e)) : 0;
|
|
680
702
|
}
|
|
681
703
|
function qt(e) {
|
|
682
|
-
if (!
|
|
683
|
-
const n =
|
|
704
|
+
if (!ue.value.has(e)) return;
|
|
705
|
+
const n = Fe.value.get(e) ?? 0;
|
|
684
706
|
if (!(n <= 0))
|
|
685
707
|
return `${n}ms`;
|
|
686
708
|
}
|
|
687
|
-
const
|
|
709
|
+
const Ne = v(/* @__PURE__ */ new Map()), oe = v(/* @__PURE__ */ new Set()), le = v([]);
|
|
688
710
|
function Xt(e) {
|
|
689
|
-
const n =
|
|
711
|
+
const n = Ne.value.get(e);
|
|
690
712
|
return n || { dx: 0, dy: 0 };
|
|
691
713
|
}
|
|
692
714
|
function jt(e) {
|
|
693
|
-
if (
|
|
694
|
-
if (
|
|
715
|
+
if (ue.value.has(e)) return `transform ${Ht}ms ease-out`;
|
|
716
|
+
if (oe.value.has(e)) return `transform ${Nt}ms ease-out`;
|
|
695
717
|
}
|
|
696
718
|
function Ut(e) {
|
|
697
|
-
const t = m.value[e]?.id, l =
|
|
698
|
-
return `translate3d(${
|
|
719
|
+
const t = m.value[e]?.id, l = Ie.value[e] ?? { x: 0, y: 0 }, r = Ye.value[e] ?? 0, f = r > 0 ? r : Te.value, p = l.x, E = t && ie.value.has(t) ? Ot(f) : l.y, O = t ? Xt(t) : { dx: 0, dy: 0 };
|
|
720
|
+
return `translate3d(${p + O.dx}px,${E + O.dy}px,0)`;
|
|
699
721
|
}
|
|
700
722
|
function pe(e) {
|
|
701
723
|
(typeof requestAnimationFrame == "function" ? requestAnimationFrame : (t) => setTimeout(() => t(0), 0))(() => e());
|
|
@@ -707,32 +729,32 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
707
729
|
function st(e) {
|
|
708
730
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
709
731
|
}
|
|
710
|
-
function
|
|
732
|
+
function He(e) {
|
|
711
733
|
if (!Array.isArray(e) || e.length === 0) return;
|
|
712
|
-
const n = new Set(
|
|
734
|
+
const n = new Set(ie.value);
|
|
713
735
|
let t = !1;
|
|
714
736
|
for (const l of e) {
|
|
715
737
|
const r = l?.id;
|
|
716
738
|
if (r) {
|
|
717
739
|
if (!rt.has(r)) {
|
|
718
|
-
const
|
|
719
|
-
(!st(
|
|
720
|
-
`[Masonry] Item "${r}" has invalid dimensions (width=${String(
|
|
721
|
-
|
|
740
|
+
const f = l?.width, p = l?.height;
|
|
741
|
+
(!st(f) || !st(p)) && (rt.add(r), console.warn(
|
|
742
|
+
`[Masonry] Item "${r}" has invalid dimensions (width=${String(f)}, height=${String(
|
|
743
|
+
p
|
|
722
744
|
)}); layout expects { id, width, height }.`
|
|
723
745
|
));
|
|
724
746
|
}
|
|
725
747
|
n.has(r) || (n.add(r), t = !0);
|
|
726
748
|
}
|
|
727
749
|
}
|
|
728
|
-
t && (
|
|
750
|
+
t && (ie.value = n);
|
|
729
751
|
}
|
|
730
752
|
function it() {
|
|
731
753
|
const e = /* @__PURE__ */ new Map();
|
|
732
|
-
for (const n of
|
|
754
|
+
for (const n of Ge.value) {
|
|
733
755
|
const l = m.value[n]?.id;
|
|
734
756
|
if (!l) continue;
|
|
735
|
-
const r =
|
|
757
|
+
const r = Ie.value[n];
|
|
736
758
|
r && e.set(l, { x: r.x, y: r.y });
|
|
737
759
|
}
|
|
738
760
|
return e;
|
|
@@ -740,31 +762,31 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
740
762
|
function ut(e, n) {
|
|
741
763
|
if (!e.size) return;
|
|
742
764
|
const t = /* @__PURE__ */ new Map(), l = [];
|
|
743
|
-
for (const [
|
|
744
|
-
if (n?.has(
|
|
745
|
-
const E =
|
|
765
|
+
for (const [f, p] of e.entries()) {
|
|
766
|
+
if (n?.has(f)) continue;
|
|
767
|
+
const E = Ae.value.get(f);
|
|
746
768
|
if (E == null) continue;
|
|
747
|
-
const O =
|
|
769
|
+
const O = Ie.value[E];
|
|
748
770
|
if (!O) continue;
|
|
749
|
-
const Y =
|
|
750
|
-
(Y ||
|
|
771
|
+
const Y = p.x - O.x, V = p.y - O.y;
|
|
772
|
+
(Y || V) && (t.set(f, { dx: Y, dy: V }), l.push(f));
|
|
751
773
|
}
|
|
752
774
|
if (!t.size) return;
|
|
753
|
-
|
|
754
|
-
const r = new Set(
|
|
755
|
-
for (const
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
775
|
+
Ne.value = t;
|
|
776
|
+
const r = new Set(oe.value);
|
|
777
|
+
for (const f of l) r.delete(f);
|
|
778
|
+
oe.value = r, pe(() => {
|
|
779
|
+
oe.value = /* @__PURE__ */ new Set([...oe.value, ...l]), pe(() => {
|
|
780
|
+
Ne.value = /* @__PURE__ */ new Map();
|
|
759
781
|
});
|
|
760
782
|
}), setTimeout(() => {
|
|
761
|
-
const
|
|
762
|
-
for (const
|
|
763
|
-
|
|
783
|
+
const f = new Set(oe.value);
|
|
784
|
+
for (const p of l) f.delete(p);
|
|
785
|
+
oe.value = f;
|
|
764
786
|
}, Nt);
|
|
765
787
|
}
|
|
766
|
-
const
|
|
767
|
-
let D = 0,
|
|
788
|
+
const ce = v(!0), fe = v(!1), ye = v("");
|
|
789
|
+
let D = 0, qe = 0, Le = 0, Ve = 0, _e = !1;
|
|
768
790
|
function ct(e) {
|
|
769
791
|
return e instanceof Error && e.name === "AbortError";
|
|
770
792
|
}
|
|
@@ -788,101 +810,101 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
788
810
|
}
|
|
789
811
|
}
|
|
790
812
|
}
|
|
791
|
-
const
|
|
792
|
-
let
|
|
813
|
+
const J = v([]), vt = v([]), Xe = v([]), L = v(a.page), ze = v([]);
|
|
814
|
+
let de = null, ve = null, $e = 0;
|
|
793
815
|
function Kt(e) {
|
|
794
816
|
let n = -1;
|
|
795
817
|
for (const t of e) {
|
|
796
818
|
const l = t?.originalIndex;
|
|
797
|
-
|
|
819
|
+
Pe(l) && l > n && (n = l);
|
|
798
820
|
}
|
|
799
|
-
|
|
821
|
+
$e = n + 1;
|
|
800
822
|
}
|
|
801
823
|
function we(e) {
|
|
802
824
|
for (const n of e)
|
|
803
|
-
!n || typeof n != "object" || n.id && n.originalIndex == null && (n.originalIndex =
|
|
825
|
+
!n || typeof n != "object" || n.id && n.originalIndex == null && (n.originalIndex = $e, $e += 1);
|
|
804
826
|
}
|
|
805
|
-
const
|
|
806
|
-
function
|
|
827
|
+
const me = /* @__PURE__ */ new Map(), he = [];
|
|
828
|
+
function Pe(e) {
|
|
807
829
|
return typeof e == "number" && Number.isFinite(e);
|
|
808
830
|
}
|
|
809
831
|
function Jt(e, n) {
|
|
810
832
|
if (!n.length) return e;
|
|
811
833
|
const t = /* @__PURE__ */ new Set();
|
|
812
|
-
for (const
|
|
813
|
-
const E =
|
|
834
|
+
for (const p of e) {
|
|
835
|
+
const E = p?.id;
|
|
814
836
|
E && t.add(E);
|
|
815
837
|
}
|
|
816
838
|
const l = [];
|
|
817
|
-
for (const
|
|
818
|
-
const E =
|
|
819
|
-
E && (t.has(E) || (l.push(
|
|
839
|
+
for (const p of n) {
|
|
840
|
+
const E = p?.id;
|
|
841
|
+
E && (t.has(E) || (l.push(p), t.add(E)));
|
|
820
842
|
}
|
|
821
843
|
if (!l.length) return e;
|
|
822
|
-
const r = l.slice().sort((
|
|
823
|
-
const O =
|
|
844
|
+
const r = l.slice().sort((p, E) => {
|
|
845
|
+
const O = Pe(p.originalIndex) ? p.originalIndex : Number.POSITIVE_INFINITY, Y = Pe(E.originalIndex) ? E.originalIndex : Number.POSITIVE_INFINITY;
|
|
824
846
|
return O - Y;
|
|
825
|
-
}),
|
|
826
|
-
for (const
|
|
827
|
-
const E =
|
|
828
|
-
if (!
|
|
829
|
-
|
|
847
|
+
}), f = e.slice();
|
|
848
|
+
for (const p of r) {
|
|
849
|
+
const E = p.originalIndex;
|
|
850
|
+
if (!Pe(E)) {
|
|
851
|
+
f.push(p);
|
|
830
852
|
continue;
|
|
831
853
|
}
|
|
832
|
-
let O = 0, Y =
|
|
854
|
+
let O = 0, Y = f.length;
|
|
833
855
|
for (; O < Y; ) {
|
|
834
|
-
const
|
|
835
|
-
(
|
|
856
|
+
const V = O + Y >> 1, C = f[V]?.originalIndex;
|
|
857
|
+
(Pe(C) ? C : Number.POSITIVE_INFINITY) <= E ? O = V + 1 : Y = V;
|
|
836
858
|
}
|
|
837
|
-
|
|
859
|
+
f.splice(O, 0, p);
|
|
838
860
|
}
|
|
839
|
-
return
|
|
861
|
+
return f;
|
|
840
862
|
}
|
|
841
863
|
async function mt(e) {
|
|
842
864
|
if (!e.length) return;
|
|
843
|
-
|
|
865
|
+
_e = !0, He(e);
|
|
844
866
|
const n = it();
|
|
845
867
|
m.value = Jt(m.value, e), await Bt(), ut(n);
|
|
846
868
|
}
|
|
847
869
|
async function Qt(e) {
|
|
848
|
-
const t = (Array.isArray(e) ? e : [e]).map(
|
|
870
|
+
const t = (Array.isArray(e) ? e : [e]).map(We).filter(Boolean);
|
|
849
871
|
if (!t.length) return;
|
|
850
872
|
const l = [];
|
|
851
873
|
for (const r of t) {
|
|
852
|
-
const
|
|
853
|
-
|
|
874
|
+
const f = me.get(r);
|
|
875
|
+
f && l.push(f);
|
|
854
876
|
}
|
|
855
877
|
if (l.length) {
|
|
856
878
|
await mt(l);
|
|
857
879
|
for (const r of l)
|
|
858
|
-
r?.id &&
|
|
880
|
+
r?.id && me.delete(r.id);
|
|
859
881
|
}
|
|
860
882
|
}
|
|
861
883
|
async function Zt() {
|
|
862
|
-
const e =
|
|
884
|
+
const e = he.pop();
|
|
863
885
|
if (!e?.length) return;
|
|
864
886
|
const n = [];
|
|
865
887
|
for (const t of e) {
|
|
866
|
-
const l =
|
|
888
|
+
const l = me.get(t);
|
|
867
889
|
l && n.push(l);
|
|
868
890
|
}
|
|
869
891
|
if (n.length) {
|
|
870
892
|
await mt(n);
|
|
871
893
|
for (const t of n)
|
|
872
|
-
t?.id &&
|
|
894
|
+
t?.id && me.delete(t.id);
|
|
873
895
|
}
|
|
874
896
|
}
|
|
875
897
|
function en(e) {
|
|
876
|
-
const t = (Array.isArray(e) ? e : [e]).map(
|
|
898
|
+
const t = (Array.isArray(e) ? e : [e]).map(We).filter(Boolean);
|
|
877
899
|
if (!t.length) return;
|
|
878
900
|
const l = new Set(t);
|
|
879
|
-
for (const r of l)
|
|
880
|
-
for (let r =
|
|
881
|
-
const
|
|
882
|
-
|
|
901
|
+
for (const r of l) me.delete(r);
|
|
902
|
+
for (let r = he.length - 1; r >= 0; r -= 1) {
|
|
903
|
+
const p = he[r].filter((E) => !l.has(E));
|
|
904
|
+
p.length ? he[r] = p : he.splice(r, 1);
|
|
883
905
|
}
|
|
884
906
|
}
|
|
885
|
-
const
|
|
907
|
+
const je = Pt({
|
|
886
908
|
enabled: !1,
|
|
887
909
|
isBackfillActive: !1,
|
|
888
910
|
isRequestInFlight: !1,
|
|
@@ -903,85 +925,85 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
903
925
|
}
|
|
904
926
|
}), ht = Rn({
|
|
905
927
|
getContent: (e) => dt(e, D),
|
|
906
|
-
markEnterFromLeft:
|
|
928
|
+
markEnterFromLeft: He,
|
|
907
929
|
buffer: ze,
|
|
908
|
-
stats:
|
|
930
|
+
stats: je,
|
|
909
931
|
isEnabled: () => a.mode === "backfill",
|
|
910
932
|
getPageSize: () => a.pageSize,
|
|
911
933
|
getRequestDelayMs: () => a.backfillRequestDelayMs,
|
|
912
|
-
getCancelToken: () =>
|
|
913
|
-
}),
|
|
914
|
-
|
|
934
|
+
getCancelToken: () => qe
|
|
935
|
+
}), De = k(() => a.items !== void 0);
|
|
936
|
+
Z(
|
|
915
937
|
() => a.items,
|
|
916
938
|
(e) => {
|
|
917
|
-
|
|
939
|
+
De.value && (Xe.value = Array.isArray(e) ? e : []);
|
|
918
940
|
},
|
|
919
941
|
{ immediate: !0 }
|
|
920
942
|
);
|
|
921
943
|
const m = k({
|
|
922
944
|
get() {
|
|
923
|
-
return
|
|
945
|
+
return De.value ? Xe.value : vt.value;
|
|
924
946
|
},
|
|
925
947
|
set(e) {
|
|
926
|
-
|
|
948
|
+
De.value ? (Xe.value = e, d("update:items", e)) : vt.value = e;
|
|
927
949
|
}
|
|
928
|
-
}), be = v(!1),
|
|
950
|
+
}), be = v(!1), Ue = v(!1);
|
|
929
951
|
async function gt(e) {
|
|
930
952
|
const n = await dt(e, D);
|
|
931
|
-
return we(n.items),
|
|
953
|
+
return we(n.items), He(n.items), { items: n.items, nextPage: n.nextPage };
|
|
932
954
|
}
|
|
933
|
-
function
|
|
955
|
+
function We(e) {
|
|
934
956
|
return e ? typeof e == "string" ? e : e?.id : null;
|
|
935
957
|
}
|
|
936
958
|
async function pt(e) {
|
|
937
|
-
const t = (Array.isArray(e) ? e : [e]).map(
|
|
959
|
+
const t = (Array.isArray(e) ? e : [e]).map(We).filter(Boolean);
|
|
938
960
|
if (!t.length) return;
|
|
939
|
-
const l = new Set(t), r = [],
|
|
940
|
-
for (const
|
|
941
|
-
const
|
|
942
|
-
if (
|
|
943
|
-
const
|
|
944
|
-
|
|
961
|
+
const l = new Set(t), r = [], f = [];
|
|
962
|
+
for (const V of l) {
|
|
963
|
+
const C = Ae.value.get(V);
|
|
964
|
+
if (C == null) continue;
|
|
965
|
+
const ge = m.value[C];
|
|
966
|
+
ge && (me.set(V, ge), f.push(V), r.push(ge));
|
|
945
967
|
}
|
|
946
|
-
|
|
947
|
-
const
|
|
948
|
-
for (const
|
|
949
|
-
const
|
|
950
|
-
if (
|
|
951
|
-
const
|
|
952
|
-
if (!
|
|
953
|
-
const
|
|
968
|
+
f.length && (he.push(f), _e = !0);
|
|
969
|
+
const p = it(), E = Te.value, O = j.value + R.value, Y = [];
|
|
970
|
+
for (const V of l) {
|
|
971
|
+
const C = Ae.value.get(V);
|
|
972
|
+
if (C == null) continue;
|
|
973
|
+
const ge = m.value[C];
|
|
974
|
+
if (!ge) continue;
|
|
975
|
+
const Qe = Ie.value[C] ?? { x: 0, y: 0 }, It = Ye.value[C] ?? E, cn = Math.max(Qe.y, O);
|
|
954
976
|
Y.push({
|
|
955
|
-
id:
|
|
956
|
-
item:
|
|
957
|
-
fromX:
|
|
958
|
-
fromY:
|
|
977
|
+
id: V,
|
|
978
|
+
item: ge,
|
|
979
|
+
fromX: Qe.x,
|
|
980
|
+
fromY: Qe.y,
|
|
959
981
|
toY: cn + Math.max(0, It),
|
|
960
982
|
width: E,
|
|
961
983
|
height: It,
|
|
962
984
|
leaving: !0
|
|
963
985
|
});
|
|
964
986
|
}
|
|
965
|
-
if (Y.length && (
|
|
966
|
-
const
|
|
967
|
-
return !
|
|
968
|
-
}), await Bt(), ut(
|
|
969
|
-
const
|
|
987
|
+
if (Y.length && (le.value = [...le.value, ...Y]), m.value = m.value.filter((V) => {
|
|
988
|
+
const C = V?.id;
|
|
989
|
+
return !C || !l.has(C);
|
|
990
|
+
}), await Bt(), ut(p, l), Y.length) {
|
|
991
|
+
const V = new Set(Y.map((C) => C.id));
|
|
970
992
|
pe(() => {
|
|
971
|
-
|
|
972
|
-
(
|
|
993
|
+
le.value = le.value.map(
|
|
994
|
+
(C) => V.has(C.id) ? { ...C, leaving: !1 } : C
|
|
973
995
|
), setTimeout(() => {
|
|
974
|
-
|
|
975
|
-
},
|
|
996
|
+
le.value = le.value.filter((C) => !V.has(C.id));
|
|
997
|
+
}, Lt);
|
|
976
998
|
});
|
|
977
999
|
}
|
|
978
|
-
r.length &&
|
|
1000
|
+
r.length && d("removed", { items: r, ids: f });
|
|
979
1001
|
}
|
|
980
|
-
async function
|
|
1002
|
+
async function Oe(e) {
|
|
981
1003
|
return pt(e);
|
|
982
1004
|
}
|
|
983
1005
|
function tn() {
|
|
984
|
-
D += 1,
|
|
1006
|
+
D += 1, qe += 1, de = null, ve = null, ce.value = !1, fe.value = !1;
|
|
985
1007
|
}
|
|
986
1008
|
M({
|
|
987
1009
|
remove: pt,
|
|
@@ -991,137 +1013,137 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
991
1013
|
loadNextPage: wt,
|
|
992
1014
|
cancel: tn,
|
|
993
1015
|
get pagesLoaded() {
|
|
994
|
-
return
|
|
1016
|
+
return J.value;
|
|
995
1017
|
},
|
|
996
1018
|
set pagesLoaded(e) {
|
|
997
|
-
|
|
1019
|
+
J.value = e;
|
|
998
1020
|
},
|
|
999
1021
|
get nextPage() {
|
|
1000
|
-
return
|
|
1022
|
+
return L.value;
|
|
1001
1023
|
},
|
|
1002
1024
|
set nextPage(e) {
|
|
1003
|
-
|
|
1025
|
+
L.value = e;
|
|
1004
1026
|
},
|
|
1005
1027
|
get isLoading() {
|
|
1006
|
-
return
|
|
1028
|
+
return ce.value || fe.value;
|
|
1007
1029
|
},
|
|
1008
1030
|
get hasReachedEnd() {
|
|
1009
|
-
return a.mode !== "backfill" ?
|
|
1031
|
+
return a.mode !== "backfill" ? L.value == null : L.value == null && ze.value.length === 0;
|
|
1010
1032
|
},
|
|
1011
1033
|
get backfillStats() {
|
|
1012
|
-
return
|
|
1034
|
+
return je.value;
|
|
1013
1035
|
}
|
|
1014
1036
|
});
|
|
1015
1037
|
function yt() {
|
|
1016
1038
|
const e = An({
|
|
1017
1039
|
items: m.value,
|
|
1018
|
-
columnCount:
|
|
1040
|
+
columnCount: Je.value,
|
|
1019
1041
|
columnWidth: Te.value,
|
|
1020
|
-
gapX:
|
|
1021
|
-
gapY:
|
|
1042
|
+
gapX: ne.value,
|
|
1043
|
+
gapY: Ee.value,
|
|
1022
1044
|
headerHeight: G.value,
|
|
1023
1045
|
footerHeight: K.value,
|
|
1024
1046
|
bucketPx: Ct
|
|
1025
1047
|
});
|
|
1026
|
-
|
|
1048
|
+
Ie.value = e.positions, Ye.value = e.heights, lt.value = e.buckets, at.value = e.contentHeight, Ae.value = e.indexById;
|
|
1027
1049
|
}
|
|
1028
|
-
const nn = k(() => Math.max(at.value,
|
|
1050
|
+
const nn = k(() => Math.max(at.value, R.value) + jn), Ge = k(() => Cn({
|
|
1029
1051
|
itemCount: m.value.length,
|
|
1030
|
-
viewportHeight:
|
|
1052
|
+
viewportHeight: R.value,
|
|
1031
1053
|
scrollTop: j.value,
|
|
1032
1054
|
overscanPx: a.overscanPx,
|
|
1033
1055
|
bucketPx: Ct,
|
|
1034
1056
|
buckets: lt.value
|
|
1035
1057
|
}));
|
|
1036
|
-
|
|
1037
|
-
|
|
1058
|
+
Z(
|
|
1059
|
+
Ge,
|
|
1038
1060
|
(e) => {
|
|
1039
1061
|
if (!e?.length) return;
|
|
1040
|
-
if (be.value && !
|
|
1062
|
+
if (be.value && !Ue.value) {
|
|
1041
1063
|
const l = [];
|
|
1042
1064
|
for (const r of e) {
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1065
|
+
const f = m.value[r];
|
|
1066
|
+
f && l.push(f);
|
|
1045
1067
|
}
|
|
1046
|
-
l.length &&
|
|
1068
|
+
l.length && He(l), Ue.value = !0;
|
|
1047
1069
|
}
|
|
1048
1070
|
const n = [];
|
|
1049
1071
|
for (const l of e) {
|
|
1050
1072
|
const r = m.value[l]?.id;
|
|
1051
|
-
r &&
|
|
1073
|
+
r && ie.value.has(r) && (Ce.has(r) || (Ce.add(r), n.push(r)));
|
|
1052
1074
|
}
|
|
1053
1075
|
if (!n.length) return;
|
|
1054
1076
|
const t = n.length > 1 ? Yt(a.enterStaggerMs) : 0;
|
|
1055
1077
|
if (t > 0) {
|
|
1056
|
-
const l = new Map(
|
|
1078
|
+
const l = new Map(Fe.value);
|
|
1057
1079
|
for (let r = 0; r < n.length; r += 1) {
|
|
1058
|
-
const
|
|
1059
|
-
l.set(
|
|
1080
|
+
const f = n[r], p = Math.min(r * t, Un);
|
|
1081
|
+
l.set(f, p);
|
|
1060
1082
|
}
|
|
1061
|
-
|
|
1083
|
+
Fe.value = l;
|
|
1062
1084
|
}
|
|
1063
1085
|
pe(() => {
|
|
1064
|
-
const l = new Set(
|
|
1086
|
+
const l = new Set(ue.value);
|
|
1065
1087
|
for (const r of n) l.add(r);
|
|
1066
|
-
|
|
1088
|
+
ue.value = l;
|
|
1067
1089
|
}), Wt(() => {
|
|
1068
|
-
const l = new Set(
|
|
1090
|
+
const l = new Set(ie.value);
|
|
1069
1091
|
for (const r of n) l.delete(r);
|
|
1070
|
-
|
|
1071
|
-
const r = new Set(
|
|
1072
|
-
for (const
|
|
1073
|
-
r.delete(
|
|
1074
|
-
|
|
1092
|
+
ie.value = l, setTimeout(() => {
|
|
1093
|
+
const r = new Set(ue.value), f = new Map(Fe.value);
|
|
1094
|
+
for (const p of n)
|
|
1095
|
+
r.delete(p), Ce.delete(p), f.delete(p);
|
|
1096
|
+
ue.value = r, Fe.value = f;
|
|
1075
1097
|
}, Ht);
|
|
1076
1098
|
});
|
|
1077
1099
|
},
|
|
1078
1100
|
{ flush: "post" }
|
|
1079
1101
|
);
|
|
1080
1102
|
async function wt() {
|
|
1081
|
-
if (
|
|
1082
|
-
if (
|
|
1103
|
+
if (de) return de;
|
|
1104
|
+
if (ce.value || fe.value || a.mode !== "backfill" && L.value == null || a.mode === "backfill" && L.value == null && ze.value.length === 0)
|
|
1083
1105
|
return;
|
|
1084
1106
|
const e = D;
|
|
1085
1107
|
let n = null;
|
|
1086
1108
|
return n = (async () => {
|
|
1087
1109
|
try {
|
|
1088
|
-
if (
|
|
1089
|
-
const r = await ht.loadBackfillBatch(
|
|
1110
|
+
if (fe.value = !0, ye.value = "", a.mode === "backfill") {
|
|
1111
|
+
const r = await ht.loadBackfillBatch(L.value);
|
|
1090
1112
|
if (e !== D) return;
|
|
1091
|
-
r.pages.length && (
|
|
1113
|
+
r.pages.length && (J.value = [...J.value, ...r.pages]), we(r.batchItems), m.value = [...m.value, ...r.batchItems], L.value = r.nextPage;
|
|
1092
1114
|
return;
|
|
1093
1115
|
}
|
|
1094
|
-
const t =
|
|
1116
|
+
const t = L.value;
|
|
1095
1117
|
if (t == null) return;
|
|
1096
1118
|
const l = await gt(t);
|
|
1097
1119
|
if (e !== D) return;
|
|
1098
|
-
|
|
1120
|
+
J.value = [...J.value, t], we(l.items), m.value = [...m.value, ...l.items], L.value = l.nextPage;
|
|
1099
1121
|
} catch (t) {
|
|
1100
1122
|
if (e !== D || ct(t)) return;
|
|
1101
1123
|
ye.value = t instanceof Error ? t.message : String(t);
|
|
1102
1124
|
} finally {
|
|
1103
|
-
e === D && (
|
|
1125
|
+
e === D && (fe.value = !1), de === n && (de = null);
|
|
1104
1126
|
}
|
|
1105
|
-
})(),
|
|
1127
|
+
})(), de = n, n;
|
|
1106
1128
|
}
|
|
1107
1129
|
function on() {
|
|
1108
|
-
const e =
|
|
1130
|
+
const e = c.value;
|
|
1109
1131
|
if (!e) return;
|
|
1110
1132
|
const n = e.scrollTop, t = e.clientHeight, l = e.scrollHeight;
|
|
1111
|
-
j.value = n,
|
|
1112
|
-
const r =
|
|
1113
|
-
if (
|
|
1114
|
-
if (!
|
|
1115
|
-
|
|
1133
|
+
j.value = n, R.value = t;
|
|
1134
|
+
const r = Le, f = Ve, p = n > r, E = f > 0 && l < f;
|
|
1135
|
+
if (Le = n, Ve = l, _e) {
|
|
1136
|
+
if (!p) return;
|
|
1137
|
+
_e = !1;
|
|
1116
1138
|
}
|
|
1117
|
-
if (E && !
|
|
1139
|
+
if (E && !p) return;
|
|
1118
1140
|
l - (n + t) <= a.prefetchThresholdPx && wt();
|
|
1119
1141
|
}
|
|
1120
1142
|
function bt() {
|
|
1121
|
-
return
|
|
1143
|
+
return c.value;
|
|
1122
1144
|
}
|
|
1123
1145
|
function xt(e) {
|
|
1124
|
-
|
|
1146
|
+
F.value = Be(e), R.value = e.clientHeight;
|
|
1125
1147
|
}
|
|
1126
1148
|
function ln() {
|
|
1127
1149
|
typeof ResizeObserver > "u" || (re = new ResizeObserver(() => {
|
|
@@ -1141,7 +1163,7 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1141
1163
|
target: 0
|
|
1142
1164
|
},
|
|
1143
1165
|
cooldownMsRemaining: 0,
|
|
1144
|
-
cooldownMsTotal:
|
|
1166
|
+
cooldownMsTotal: tt(a.backfillRequestDelayMs),
|
|
1145
1167
|
pageSize: Dt(a.pageSize),
|
|
1146
1168
|
bufferSize: 0,
|
|
1147
1169
|
lastBatch: null,
|
|
@@ -1152,25 +1174,25 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1152
1174
|
};
|
|
1153
1175
|
}
|
|
1154
1176
|
function kt() {
|
|
1155
|
-
D += 1,
|
|
1177
|
+
D += 1, qe += 1, de = null, ve = null, Le = 0, Ve = 0, _e = !1, $e = 0, me.clear(), he.length = 0, ie.value = /* @__PURE__ */ new Set(), ue.value = /* @__PURE__ */ new Set(), Ce.clear(), Ne.value = /* @__PURE__ */ new Map(), oe.value = /* @__PURE__ */ new Set(), le.value = [], J.value = [], L.value = null, ze.value = [], je.value = an(), ce.value = !0, fe.value = !1, ye.value = "", Ue.value = !1;
|
|
1156
1178
|
}
|
|
1157
1179
|
function Mt(e) {
|
|
1158
|
-
kt(), m.value = [],
|
|
1180
|
+
kt(), m.value = [], L.value = e;
|
|
1159
1181
|
}
|
|
1160
1182
|
function rn(e) {
|
|
1161
1183
|
const n = Array.isArray(e) ? e : [e], t = [], l = /* @__PURE__ */ new Set();
|
|
1162
1184
|
for (const r of n) {
|
|
1163
1185
|
if (r == null) continue;
|
|
1164
|
-
const
|
|
1165
|
-
l.has(
|
|
1186
|
+
const f = typeof r == "string" ? `s:${r}` : `n:${String(r)}`;
|
|
1187
|
+
l.has(f) || (l.add(f), t.push(r));
|
|
1166
1188
|
}
|
|
1167
1189
|
return t;
|
|
1168
1190
|
}
|
|
1169
|
-
function
|
|
1170
|
-
kt(),
|
|
1191
|
+
function Ke(e) {
|
|
1192
|
+
kt(), J.value = e ? rn(e) : [], L.value = a.page, ce.value = !1, Kt(m.value), we(m.value);
|
|
1171
1193
|
}
|
|
1172
1194
|
async function St(e) {
|
|
1173
|
-
if (
|
|
1195
|
+
if (ve) return ve;
|
|
1174
1196
|
const n = D;
|
|
1175
1197
|
let t = null;
|
|
1176
1198
|
return t = (async () => {
|
|
@@ -1178,68 +1200,68 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1178
1200
|
if (a.mode === "backfill") {
|
|
1179
1201
|
const l = await ht.loadBackfillBatch(e);
|
|
1180
1202
|
if (n !== D) return;
|
|
1181
|
-
|
|
1203
|
+
J.value = l.pages.length ? l.pages : [e], we(l.batchItems), m.value = l.batchItems, L.value = l.nextPage;
|
|
1182
1204
|
} else {
|
|
1183
1205
|
const l = await gt(e);
|
|
1184
1206
|
if (n !== D) return;
|
|
1185
|
-
|
|
1207
|
+
J.value = [e], we(l.items), m.value = l.items, L.value = l.nextPage;
|
|
1186
1208
|
}
|
|
1187
1209
|
} catch (l) {
|
|
1188
1210
|
if (n !== D || ct(l)) return;
|
|
1189
1211
|
ye.value = l instanceof Error ? l.message : String(l);
|
|
1190
1212
|
} finally {
|
|
1191
|
-
n === D && (
|
|
1213
|
+
n === D && (ce.value = !1), ve === t && (ve = null);
|
|
1192
1214
|
}
|
|
1193
|
-
})(),
|
|
1215
|
+
})(), ve = t, t;
|
|
1194
1216
|
}
|
|
1195
1217
|
function sn() {
|
|
1196
1218
|
const e = bt();
|
|
1197
|
-
e && (xt(e), j.value = e.scrollTop,
|
|
1219
|
+
e && (xt(e), j.value = e.scrollTop, Le = e.scrollTop, Ve = e.scrollHeight, re?.observe(e));
|
|
1198
1220
|
}
|
|
1199
|
-
|
|
1221
|
+
Ze(async () => {
|
|
1200
1222
|
if (ln(), sn(), a.restoredPages != null) {
|
|
1201
|
-
be.value = !0,
|
|
1223
|
+
be.value = !0, Ke(a.restoredPages);
|
|
1202
1224
|
return;
|
|
1203
1225
|
}
|
|
1204
|
-
if (
|
|
1205
|
-
be.value = !0,
|
|
1226
|
+
if (De.value && m.value.length > 0) {
|
|
1227
|
+
be.value = !0, Ke();
|
|
1206
1228
|
return;
|
|
1207
1229
|
}
|
|
1208
1230
|
be.value = !1, Mt(a.page), await St(a.page);
|
|
1209
|
-
}),
|
|
1210
|
-
re?.disconnect(),
|
|
1211
|
-
}),
|
|
1231
|
+
}), Vt(() => {
|
|
1232
|
+
re?.disconnect(), T && (clearTimeout(T), T = null), I && (clearTimeout(I), I = null), z(), A();
|
|
1233
|
+
}), Z(
|
|
1212
1234
|
() => a.page,
|
|
1213
1235
|
async (e) => {
|
|
1214
1236
|
if (be.value) {
|
|
1215
|
-
|
|
1237
|
+
L.value = e;
|
|
1216
1238
|
return;
|
|
1217
1239
|
}
|
|
1218
1240
|
Mt(e), await St(e);
|
|
1219
1241
|
}
|
|
1220
|
-
),
|
|
1242
|
+
), Z(
|
|
1221
1243
|
() => a.restoredPages,
|
|
1222
1244
|
(e) => {
|
|
1223
|
-
e && (be.value = !0,
|
|
1245
|
+
e && (be.value = !0, Ke(e));
|
|
1224
1246
|
}
|
|
1225
|
-
),
|
|
1226
|
-
|
|
1247
|
+
), Z(
|
|
1248
|
+
ne,
|
|
1227
1249
|
() => {
|
|
1228
|
-
const e =
|
|
1229
|
-
e && (
|
|
1250
|
+
const e = c.value;
|
|
1251
|
+
e && (F.value = Be(e));
|
|
1230
1252
|
},
|
|
1231
1253
|
{ immediate: !1 }
|
|
1232
1254
|
);
|
|
1233
|
-
const
|
|
1234
|
-
() =>
|
|
1255
|
+
const Je = k(() => Pn(F.value, a.itemWidth)), Te = k(
|
|
1256
|
+
() => Tn(F.value, Je.value, a.itemWidth, ne.value)
|
|
1235
1257
|
);
|
|
1236
|
-
|
|
1237
|
-
[
|
|
1258
|
+
Z(
|
|
1259
|
+
[Je, Te, ne, Ee, G, K],
|
|
1238
1260
|
() => {
|
|
1239
1261
|
yt();
|
|
1240
1262
|
},
|
|
1241
1263
|
{ immediate: !0 }
|
|
1242
|
-
),
|
|
1264
|
+
), Z(
|
|
1243
1265
|
// Performance note: this component targets very large arrays (e.g. 10k items).
|
|
1244
1266
|
// Avoid deep watchers over items; rebuild layout only when the list structure
|
|
1245
1267
|
// changes (new array reference or length change). This keeps metadata-only
|
|
@@ -1250,28 +1272,28 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1250
1272
|
);
|
|
1251
1273
|
const un = k(() => [
|
|
1252
1274
|
"mt-8 flex min-h-0 flex-1 flex-col rounded-2xl border border-slate-200/70 bg-white/70 p-5 shadow-sm backdrop-blur",
|
|
1253
|
-
|
|
1275
|
+
x.class
|
|
1254
1276
|
]);
|
|
1255
|
-
return (e, n) => (_(),
|
|
1256
|
-
|
|
1277
|
+
return (e, n) => (_(), P("section", mn(te.value, { class: un.value }), [
|
|
1278
|
+
N("div", Nn, [
|
|
1257
1279
|
hn(e.$slots, "default")
|
|
1258
1280
|
]),
|
|
1259
|
-
|
|
1281
|
+
N("div", {
|
|
1260
1282
|
ref_key: "scrollViewportRef",
|
|
1261
|
-
ref:
|
|
1283
|
+
ref: c,
|
|
1262
1284
|
"data-testid": "items-scroll-container",
|
|
1263
1285
|
class: "mt-4 min-h-0 flex-1 overflow-auto",
|
|
1264
|
-
style:
|
|
1286
|
+
style: W({ paddingRight: ne.value + "px" }),
|
|
1265
1287
|
onScroll: on
|
|
1266
1288
|
}, [
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1289
|
+
ce.value ? (_(), P("div", Hn, n[0] || (n[0] = [
|
|
1290
|
+
N("div", { class: "inline-flex items-center gap-3 text-sm text-slate-600" }, [
|
|
1291
|
+
N("svg", {
|
|
1270
1292
|
class: "h-5 w-5 animate-spin text-slate-500",
|
|
1271
1293
|
viewBox: "0 0 24 24",
|
|
1272
1294
|
"aria-hidden": "true"
|
|
1273
1295
|
}, [
|
|
1274
|
-
|
|
1296
|
+
N("circle", {
|
|
1275
1297
|
class: "opacity-25",
|
|
1276
1298
|
cx: "12",
|
|
1277
1299
|
cy: "12",
|
|
@@ -1280,135 +1302,135 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1280
1302
|
stroke: "currentColor",
|
|
1281
1303
|
"stroke-width": "4"
|
|
1282
1304
|
}),
|
|
1283
|
-
|
|
1305
|
+
N("path", {
|
|
1284
1306
|
class: "opacity-75",
|
|
1285
1307
|
fill: "currentColor",
|
|
1286
1308
|
d: "M4 12a8 8 0 0 1 8-8v4a4 4 0 0 0-4 4H4z"
|
|
1287
1309
|
})
|
|
1288
1310
|
]),
|
|
1289
|
-
|
|
1311
|
+
N("span", null, "Loading…")
|
|
1290
1312
|
], -1)
|
|
1291
|
-
]))) : ye.value ? (_(),
|
|
1313
|
+
]))) : ye.value ? (_(), P("p", Ln, "Error: " + et(ye.value), 1)) : (_(), P("div", {
|
|
1292
1314
|
key: 2,
|
|
1293
1315
|
class: "relative",
|
|
1294
|
-
style:
|
|
1316
|
+
style: W({ height: nn.value + "px" })
|
|
1295
1317
|
}, [
|
|
1296
|
-
(_(!0),
|
|
1318
|
+
(_(!0), P(Tt, null, Et(Ge.value, (t) => (_(), P("article", {
|
|
1297
1319
|
key: m.value[t].id,
|
|
1298
1320
|
"data-testid": "item-card",
|
|
1299
1321
|
class: "absolute overflow-hidden rounded-xl border border-slate-200/60 bg-white shadow-sm",
|
|
1300
|
-
style:
|
|
1322
|
+
style: W({
|
|
1301
1323
|
width: Te.value + "px",
|
|
1302
1324
|
transition: jt(m.value[t].id),
|
|
1303
1325
|
transitionDelay: qt(m.value[t].id),
|
|
1304
1326
|
transform: Ut(t)
|
|
1305
1327
|
})
|
|
1306
1328
|
}, [
|
|
1307
|
-
|
|
1329
|
+
U.value || G.value > 0 ? (_(), P("div", {
|
|
1308
1330
|
key: 0,
|
|
1309
1331
|
"data-testid": "item-header-container",
|
|
1310
1332
|
class: "w-full",
|
|
1311
|
-
style:
|
|
1333
|
+
style: W(nt.value)
|
|
1312
1334
|
}, [
|
|
1313
|
-
Q(
|
|
1335
|
+
Q(ae(y), {
|
|
1314
1336
|
"slot-fn": ke.value,
|
|
1315
|
-
"slot-props": { item: m.value[t], remove: () =>
|
|
1337
|
+
"slot-props": { item: m.value[t], remove: () => Oe(m.value[t]) }
|
|
1316
1338
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1317
|
-
], 4)) :
|
|
1318
|
-
|
|
1339
|
+
], 4)) : ee("", !0),
|
|
1340
|
+
N("div", {
|
|
1319
1341
|
class: "group relative",
|
|
1320
|
-
onMouseenter: (l) =>
|
|
1321
|
-
onMouseleave: (l) =>
|
|
1342
|
+
onMouseenter: (l) => g(m.value[t].id),
|
|
1343
|
+
onMouseleave: (l) => w(m.value[t].id)
|
|
1322
1344
|
}, [
|
|
1323
1345
|
Q(Rt, {
|
|
1324
1346
|
item: m.value[t],
|
|
1325
|
-
remove: () =>
|
|
1326
|
-
"loader-slot-fn":
|
|
1327
|
-
"error-slot-fn":
|
|
1328
|
-
hovered:
|
|
1347
|
+
remove: () => Oe(m.value[t]),
|
|
1348
|
+
"loader-slot-fn": Me.value,
|
|
1349
|
+
"error-slot-fn": b.value,
|
|
1350
|
+
hovered: u.value === m.value[t].id,
|
|
1329
1351
|
onSuccess: H,
|
|
1330
1352
|
onError: q
|
|
1331
1353
|
}, null, 8, ["item", "remove", "loader-slot-fn", "error-slot-fn", "hovered"]),
|
|
1332
|
-
|
|
1333
|
-
Q(
|
|
1334
|
-
"slot-fn":
|
|
1335
|
-
"slot-props": { item: m.value[t], remove: () =>
|
|
1354
|
+
Se.value ? (_(), P("div", zn, [
|
|
1355
|
+
Q(ae(y), {
|
|
1356
|
+
"slot-fn": s.value,
|
|
1357
|
+
"slot-props": { item: m.value[t], remove: () => Oe(m.value[t]) }
|
|
1336
1358
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1337
|
-
])) :
|
|
1338
|
-
], 40,
|
|
1339
|
-
|
|
1359
|
+
])) : ee("", !0)
|
|
1360
|
+
], 40, Vn),
|
|
1361
|
+
Re.value || K.value > 0 ? (_(), P("div", {
|
|
1340
1362
|
key: 1,
|
|
1341
1363
|
"data-testid": "item-footer-container",
|
|
1342
1364
|
class: "w-full",
|
|
1343
|
-
style:
|
|
1365
|
+
style: W(ot.value)
|
|
1344
1366
|
}, [
|
|
1345
|
-
Q(
|
|
1346
|
-
"slot-fn":
|
|
1347
|
-
"slot-props": { item: m.value[t], remove: () =>
|
|
1367
|
+
Q(ae(y), {
|
|
1368
|
+
"slot-fn": se.value,
|
|
1369
|
+
"slot-props": { item: m.value[t], remove: () => Oe(m.value[t]) }
|
|
1348
1370
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1349
|
-
], 4)) :
|
|
1371
|
+
], 4)) : ee("", !0)
|
|
1350
1372
|
], 4))), 128)),
|
|
1351
|
-
(_(!0),
|
|
1373
|
+
(_(!0), P(Tt, null, Et(le.value, (t) => (_(), P("article", {
|
|
1352
1374
|
key: t.id + ":leaving",
|
|
1353
1375
|
"data-testid": "item-card-leaving",
|
|
1354
1376
|
class: "pointer-events-none absolute overflow-hidden rounded-xl border border-slate-200/60 bg-white shadow-sm",
|
|
1355
|
-
style:
|
|
1377
|
+
style: W({
|
|
1356
1378
|
width: t.width + "px",
|
|
1357
|
-
transition: "transform " +
|
|
1379
|
+
transition: "transform " + Lt + "ms ease-out",
|
|
1358
1380
|
transform: t.leaving ? "translate3d(" + t.fromX + "px," + t.fromY + "px,0)" : "translate3d(" + t.fromX + "px," + t.toY + "px,0)"
|
|
1359
1381
|
})
|
|
1360
1382
|
}, [
|
|
1361
|
-
|
|
1383
|
+
U.value || G.value > 0 ? (_(), P("div", {
|
|
1362
1384
|
key: 0,
|
|
1363
1385
|
"data-testid": "item-header-container",
|
|
1364
1386
|
class: "w-full",
|
|
1365
|
-
style:
|
|
1387
|
+
style: W(nt.value)
|
|
1366
1388
|
}, [
|
|
1367
|
-
Q(
|
|
1389
|
+
Q(ae(y), {
|
|
1368
1390
|
"slot-fn": ke.value,
|
|
1369
1391
|
"slot-props": { item: t.item, remove: () => {
|
|
1370
1392
|
} }
|
|
1371
1393
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1372
|
-
], 4)) :
|
|
1373
|
-
|
|
1394
|
+
], 4)) : ee("", !0),
|
|
1395
|
+
N("div", $n, [
|
|
1374
1396
|
Q(Rt, {
|
|
1375
1397
|
item: t.item,
|
|
1376
1398
|
remove: () => {
|
|
1377
1399
|
},
|
|
1378
|
-
"loader-slot-fn":
|
|
1379
|
-
"error-slot-fn":
|
|
1400
|
+
"loader-slot-fn": Me.value,
|
|
1401
|
+
"error-slot-fn": b.value,
|
|
1380
1402
|
hovered: !1
|
|
1381
1403
|
}, null, 8, ["item", "loader-slot-fn", "error-slot-fn"]),
|
|
1382
|
-
|
|
1383
|
-
Q(
|
|
1384
|
-
"slot-fn":
|
|
1404
|
+
Se.value ? (_(), P("div", Dn, [
|
|
1405
|
+
Q(ae(y), {
|
|
1406
|
+
"slot-fn": s.value,
|
|
1385
1407
|
"slot-props": { item: t.item, remove: () => {
|
|
1386
1408
|
} }
|
|
1387
1409
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1388
|
-
])) :
|
|
1410
|
+
])) : ee("", !0)
|
|
1389
1411
|
]),
|
|
1390
|
-
|
|
1412
|
+
Re.value || K.value > 0 ? (_(), P("div", {
|
|
1391
1413
|
key: 1,
|
|
1392
1414
|
"data-testid": "item-footer-container",
|
|
1393
1415
|
class: "w-full",
|
|
1394
|
-
style:
|
|
1416
|
+
style: W(ot.value)
|
|
1395
1417
|
}, [
|
|
1396
|
-
Q(
|
|
1397
|
-
"slot-fn":
|
|
1418
|
+
Q(ae(y), {
|
|
1419
|
+
"slot-fn": se.value,
|
|
1398
1420
|
"slot-props": { item: t.item, remove: () => {
|
|
1399
1421
|
} }
|
|
1400
1422
|
}, null, 8, ["slot-fn", "slot-props"])
|
|
1401
|
-
], 4)) :
|
|
1423
|
+
], 4)) : ee("", !0)
|
|
1402
1424
|
], 4))), 128))
|
|
1403
1425
|
], 4)),
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1426
|
+
N("div", On, [
|
|
1427
|
+
fe.value ? (_(), P("span", Yn, n[1] || (n[1] = [
|
|
1428
|
+
N("svg", {
|
|
1407
1429
|
class: "h-4 w-4 animate-spin text-slate-500",
|
|
1408
1430
|
viewBox: "0 0 24 24",
|
|
1409
1431
|
"aria-hidden": "true"
|
|
1410
1432
|
}, [
|
|
1411
|
-
|
|
1433
|
+
N("circle", {
|
|
1412
1434
|
class: "opacity-25",
|
|
1413
1435
|
cx: "12",
|
|
1414
1436
|
cy: "12",
|
|
@@ -1417,14 +1439,14 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1417
1439
|
stroke: "currentColor",
|
|
1418
1440
|
"stroke-width": "4"
|
|
1419
1441
|
}),
|
|
1420
|
-
|
|
1442
|
+
N("path", {
|
|
1421
1443
|
class: "opacity-75",
|
|
1422
1444
|
fill: "currentColor",
|
|
1423
1445
|
d: "M4 12a8 8 0 0 1 8-8v4a4 4 0 0 0-4 4H4z"
|
|
1424
1446
|
})
|
|
1425
1447
|
], -1),
|
|
1426
|
-
|
|
1427
|
-
]))) :
|
|
1448
|
+
N("span", null, "Loading more…", -1)
|
|
1449
|
+
]))) : L.value == null ? (_(), P("span", qn, "End of list")) : (_(), P("span", Xn, "Scroll to load page " + et(L.value), 1))
|
|
1428
1450
|
])
|
|
1429
1451
|
], 36)
|
|
1430
1452
|
], 16));
|
|
@@ -1435,32 +1457,32 @@ const Nn = { class: "hidden" }, Hn = {
|
|
|
1435
1457
|
const a = gn($t, null);
|
|
1436
1458
|
if (!a)
|
|
1437
1459
|
return () => null;
|
|
1438
|
-
const
|
|
1460
|
+
const d = i.onPreloaded, x = i.onFailed, y = M.overlay, h = M.default;
|
|
1439
1461
|
return a({
|
|
1440
1462
|
header: M.header,
|
|
1441
1463
|
loader: M.loader,
|
|
1442
|
-
overlay:
|
|
1464
|
+
overlay: y ?? h,
|
|
1443
1465
|
error: M.error,
|
|
1444
1466
|
footer: M.footer,
|
|
1445
|
-
onPreloaded: typeof
|
|
1446
|
-
for (const
|
|
1447
|
-
typeof
|
|
1467
|
+
onPreloaded: typeof d == "function" ? d : Array.isArray(d) ? (u) => {
|
|
1468
|
+
for (const g of d)
|
|
1469
|
+
typeof g == "function" && g(u);
|
|
1448
1470
|
} : void 0,
|
|
1449
|
-
onFailed: typeof
|
|
1450
|
-
for (const
|
|
1451
|
-
typeof
|
|
1471
|
+
onFailed: typeof x == "function" ? x : Array.isArray(x) ? (u) => {
|
|
1472
|
+
for (const g of x)
|
|
1473
|
+
typeof g == "function" && g(u);
|
|
1452
1474
|
} : void 0
|
|
1453
1475
|
}), () => null;
|
|
1454
1476
|
}
|
|
1455
1477
|
}), Zn = {
|
|
1456
1478
|
install(o) {
|
|
1457
|
-
o.component("Masonry", Kn), o.component("MasonryItem", Jn), o.component("MasonryVideoControls",
|
|
1479
|
+
o.component("Masonry", Kn), o.component("MasonryItem", Jn), o.component("MasonryVideoControls", zt);
|
|
1458
1480
|
}
|
|
1459
1481
|
};
|
|
1460
1482
|
export {
|
|
1461
1483
|
Kn as Masonry,
|
|
1462
1484
|
Jn as MasonryItem,
|
|
1463
|
-
|
|
1485
|
+
zt as MasonryVideoControls,
|
|
1464
1486
|
Zn as VibePlugin,
|
|
1465
1487
|
pn as masonryDefaults
|
|
1466
1488
|
};
|