@wyxos/vibe 3.1.24 → 3.1.26
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.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Comment as e, Fragment as t, Text as n, Transition as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createSlots as l, createVNode as u, defineComponent as d, getCurrentScope as f, guardReactiveProps as p, h as m, isVNode as h, mergeProps as g, nextTick as _, normalizeClass as v, normalizeProps as y, normalizeStyle as b, onBeforeUnmount as x, onMounted as S, onScopeDispose as C, openBlock as w, reactive as T, readonly as E, ref as D, renderList as O, renderSlot as k, resolveDynamicComponent as A,
|
|
1
|
+
import { Comment as e, Fragment as t, Text as n, Transition as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createSlots as l, createVNode as u, defineComponent as d, getCurrentScope as f, guardReactiveProps as p, h as m, isVNode as h, mergeProps as g, nextTick as _, normalizeClass as v, normalizeProps as y, normalizeStyle as b, onBeforeUnmount as x, onMounted as S, onScopeDispose as C, openBlock as w, reactive as T, readonly as E, ref as D, renderList as O, renderSlot as k, resolveDynamicComponent as A, shallowRef as j, toDisplayString as M, toRef as N, triggerRef as P, unref as F, useAttrs as I, useSlots as L, vShow as R, watch as z, watchEffect as ee, withCtx as B, withDirectives as V, withModifiers as H } from "vue";
|
|
2
2
|
//#region node_modules/lucide-vue-next/dist/esm/shared/src/utils/hasA11yProp.js
|
|
3
|
-
var
|
|
3
|
+
var U = (e) => {
|
|
4
4
|
for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
|
|
5
5
|
return !1;
|
|
6
|
-
},
|
|
7
|
-
let t =
|
|
6
|
+
}, te = (e) => e === "", W = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), G = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), K = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), q = (e) => {
|
|
7
|
+
let t = K(e);
|
|
8
8
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
9
|
-
},
|
|
9
|
+
}, J = {
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
width: 24,
|
|
12
12
|
height: 24,
|
|
@@ -16,27 +16,27 @@ var B = (e) => {
|
|
|
16
16
|
"stroke-width": 2,
|
|
17
17
|
"stroke-linecap": "round",
|
|
18
18
|
"stroke-linejoin": "round"
|
|
19
|
-
},
|
|
20
|
-
...
|
|
19
|
+
}, ne = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": a, size: o = J.width, color: s = J.stroke, ...c }, { slots: l }) => m("svg", {
|
|
20
|
+
...J,
|
|
21
21
|
...c,
|
|
22
22
|
width: o,
|
|
23
23
|
height: o,
|
|
24
24
|
stroke: s,
|
|
25
|
-
"stroke-width":
|
|
26
|
-
class:
|
|
27
|
-
...!l.default && !
|
|
28
|
-
}, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]),
|
|
25
|
+
"stroke-width": te(n) || te(r) || n === !0 || r === !0 ? Number(i || a || J["stroke-width"]) * 24 / Number(o) : i || a || J["stroke-width"],
|
|
26
|
+
class: W("lucide", c.class, ...e ? [`lucide-${G(q(e))}-icon`, `lucide-${G(e)}`] : ["lucide-icon"]),
|
|
27
|
+
...!l.default && !U(c) && { "aria-hidden": "true" }
|
|
28
|
+
}, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]), Y = (e, t) => (n, { slots: r, attrs: i }) => m(ne, {
|
|
29
29
|
...i,
|
|
30
30
|
...n,
|
|
31
31
|
iconNode: t,
|
|
32
32
|
name: e
|
|
33
|
-
}, r),
|
|
33
|
+
}, r), X = Y("arrow-left", [["path", {
|
|
34
34
|
d: "m12 19-7-7 7-7",
|
|
35
35
|
key: "1l729n"
|
|
36
36
|
}], ["path", {
|
|
37
37
|
d: "M19 12H5",
|
|
38
38
|
key: "x3x0zl"
|
|
39
|
-
}]]),
|
|
39
|
+
}]]), re = Y("audio-lines", [
|
|
40
40
|
["path", {
|
|
41
41
|
d: "M2 10v3",
|
|
42
42
|
key: "1fnikh"
|
|
@@ -61,7 +61,7 @@ var B = (e) => {
|
|
|
61
61
|
d: "M22 10v3",
|
|
62
62
|
key: "154ddg"
|
|
63
63
|
}]
|
|
64
|
-
]),
|
|
64
|
+
]), ie = Y("clapperboard", [
|
|
65
65
|
["path", {
|
|
66
66
|
d: "m12.296 3.464 3.02 3.956",
|
|
67
67
|
key: "qash78"
|
|
@@ -78,13 +78,13 @@ var B = (e) => {
|
|
|
78
78
|
d: "m6.18 5.276 3.1 3.899",
|
|
79
79
|
key: "zjj9t3"
|
|
80
80
|
}]
|
|
81
|
-
]),
|
|
81
|
+
]), ae = Y("file", [["path", {
|
|
82
82
|
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
83
83
|
key: "1oefj6"
|
|
84
84
|
}], ["path", {
|
|
85
85
|
d: "M14 2v5a1 1 0 0 0 1 1h5",
|
|
86
86
|
key: "wfsgrz"
|
|
87
|
-
}]]),
|
|
87
|
+
}]]), Z = Y("image-plus", [
|
|
88
88
|
["path", {
|
|
89
89
|
d: "M16 5h6",
|
|
90
90
|
key: "1vod17"
|
|
@@ -107,10 +107,10 @@ var B = (e) => {
|
|
|
107
107
|
r: "2",
|
|
108
108
|
key: "af1f0g"
|
|
109
109
|
}]
|
|
110
|
-
]), oe =
|
|
110
|
+
]), oe = Y("loader-circle", [["path", {
|
|
111
111
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
112
112
|
key: "13zald"
|
|
113
|
-
}]]), se =
|
|
113
|
+
}]]), se = Y("pause", [["rect", {
|
|
114
114
|
x: "14",
|
|
115
115
|
y: "3",
|
|
116
116
|
width: "5",
|
|
@@ -124,10 +124,10 @@ var B = (e) => {
|
|
|
124
124
|
height: "18",
|
|
125
125
|
rx: "1",
|
|
126
126
|
key: "1wsw3u"
|
|
127
|
-
}]]), ce =
|
|
127
|
+
}]]), ce = Y("play", [["path", {
|
|
128
128
|
d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
|
|
129
129
|
key: "10ikf1"
|
|
130
|
-
}]]), le =
|
|
130
|
+
}]]), le = Y("triangle-alert", [
|
|
131
131
|
["path", {
|
|
132
132
|
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
133
133
|
key: "wmoenq"
|
|
@@ -140,13 +140,13 @@ var B = (e) => {
|
|
|
140
140
|
d: "M12 17h.01",
|
|
141
141
|
key: "p32p05"
|
|
142
142
|
}]
|
|
143
|
-
]), ue =
|
|
143
|
+
]), ue = Y("volume-1", [["path", {
|
|
144
144
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
145
145
|
key: "uqj9uw"
|
|
146
146
|
}], ["path", {
|
|
147
147
|
d: "M16 9a5 5 0 0 1 0 6",
|
|
148
148
|
key: "1q6k2b"
|
|
149
|
-
}]]),
|
|
149
|
+
}]]), de = Y("volume-2", [
|
|
150
150
|
["path", {
|
|
151
151
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
152
152
|
key: "uqj9uw"
|
|
@@ -159,7 +159,7 @@ var B = (e) => {
|
|
|
159
159
|
d: "M19.364 18.364a9 9 0 0 0 0-12.728",
|
|
160
160
|
key: "ijwkga"
|
|
161
161
|
}]
|
|
162
|
-
]),
|
|
162
|
+
]), fe = Y("volume-x", [
|
|
163
163
|
["path", {
|
|
164
164
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
165
165
|
key: "uqj9uw"
|
|
@@ -179,13 +179,13 @@ var B = (e) => {
|
|
|
179
179
|
key: "5ykzw1"
|
|
180
180
|
}]
|
|
181
181
|
]);
|
|
182
|
-
function fe(e, t = 150) {
|
|
183
|
-
return me(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`, t);
|
|
184
|
-
}
|
|
185
182
|
function pe(e, t = 150) {
|
|
186
|
-
return
|
|
183
|
+
return he(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`, t);
|
|
184
|
+
}
|
|
185
|
+
function me(e, t = 150) {
|
|
186
|
+
return he(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}`, t);
|
|
187
187
|
}
|
|
188
|
-
function
|
|
188
|
+
function he(e, t, n) {
|
|
189
189
|
let r = [], i = /* @__PURE__ */ new Set(), a = null;
|
|
190
190
|
function o(e) {
|
|
191
191
|
let o = t(e);
|
|
@@ -209,69 +209,69 @@ function me(e, t, n) {
|
|
|
209
209
|
}
|
|
210
210
|
//#endregion
|
|
211
211
|
//#region src/components/viewer-core/dom.ts
|
|
212
|
-
function
|
|
212
|
+
function ge(e) {
|
|
213
213
|
return e instanceof HTMLElement && [
|
|
214
214
|
"INPUT",
|
|
215
215
|
"TEXTAREA",
|
|
216
216
|
"SELECT"
|
|
217
217
|
].includes(e.tagName);
|
|
218
218
|
}
|
|
219
|
-
function
|
|
219
|
+
function Q(e) {
|
|
220
220
|
return e instanceof HTMLElement && !!e.closest("[data-swipe-lock], input, textarea, select, a");
|
|
221
221
|
}
|
|
222
222
|
function _e(e) {
|
|
223
223
|
return e === "filling" || e === "initializing" || e === "loading" || e === "refreshing";
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function ve(e) {
|
|
226
226
|
return !e || !Number.isFinite(e) || e < 1 ? 25 : Math.floor(e);
|
|
227
227
|
}
|
|
228
|
-
function
|
|
228
|
+
function ye(e) {
|
|
229
229
|
return e ?? "__vibe_initial_cursor__";
|
|
230
230
|
}
|
|
231
|
-
function
|
|
231
|
+
function be(e, t, n) {
|
|
232
232
|
return Math.min(Math.max(e, t), n);
|
|
233
233
|
}
|
|
234
234
|
//#endregion
|
|
235
235
|
//#region src/components/viewer-core/itemIdentity.ts
|
|
236
|
-
var
|
|
237
|
-
function
|
|
238
|
-
let t = e[
|
|
236
|
+
var xe = "__vibeOccurrenceKey";
|
|
237
|
+
function $(e) {
|
|
238
|
+
let t = e[xe];
|
|
239
239
|
return typeof t == "string" && t.length > 0 ? t : e.id;
|
|
240
240
|
}
|
|
241
|
-
function
|
|
241
|
+
function Se(e, t, n) {
|
|
242
242
|
let r = /* @__PURE__ */ new Map(), i = [], a = n;
|
|
243
243
|
for (let e of t) {
|
|
244
|
-
let t = r.get(e.id), n =
|
|
244
|
+
let t = r.get(e.id), n = $(e);
|
|
245
245
|
t ? t.push(n) : r.set(e.id, [n]);
|
|
246
246
|
}
|
|
247
247
|
for (let t of e) {
|
|
248
248
|
let e = r.get(t.id)?.shift() ?? `vibe-occurrence-${a += 1}`;
|
|
249
|
-
i.push(
|
|
249
|
+
i.push(Ce(t, e));
|
|
250
250
|
}
|
|
251
251
|
return {
|
|
252
252
|
items: i,
|
|
253
253
|
nextSequence: a
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
|
-
function
|
|
257
|
-
return
|
|
256
|
+
function Ce(e, t) {
|
|
257
|
+
return $(e) === t ? e : {
|
|
258
258
|
...e,
|
|
259
|
-
[
|
|
259
|
+
[xe]: t
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
262
|
//#endregion
|
|
263
263
|
//#region src/components/viewer-core/removalState.ts
|
|
264
|
-
function
|
|
264
|
+
function we() {
|
|
265
265
|
let e = D(/* @__PURE__ */ new Set()), t = D([]);
|
|
266
266
|
function n(n) {
|
|
267
|
-
let r =
|
|
267
|
+
let r = Te(n).filter((t) => !e.value.has(t));
|
|
268
268
|
if (!r.length) return { ids: [] };
|
|
269
269
|
let i = new Set(e.value);
|
|
270
270
|
for (let e of r) i.add(e);
|
|
271
271
|
return e.value = i, t.value = [...t.value, r], { ids: r };
|
|
272
272
|
}
|
|
273
273
|
function r(t) {
|
|
274
|
-
let n =
|
|
274
|
+
let n = Te(t).filter((t) => e.value.has(t));
|
|
275
275
|
if (!n.length) return { ids: [] };
|
|
276
276
|
let r = new Set(e.value);
|
|
277
277
|
for (let e of n) r.delete(e);
|
|
@@ -302,46 +302,46 @@ function $() {
|
|
|
302
302
|
undo: i
|
|
303
303
|
};
|
|
304
304
|
}
|
|
305
|
-
function
|
|
305
|
+
function Te(e) {
|
|
306
306
|
let t = Array.isArray(e) ? e : [e];
|
|
307
307
|
return Array.from(new Set(t.filter((e) => typeof e == "string" && e.length > 0)));
|
|
308
308
|
}
|
|
309
309
|
//#endregion
|
|
310
310
|
//#region src/components/viewer-core/autoBuckets.ts
|
|
311
|
-
function
|
|
311
|
+
function Ee(e) {
|
|
312
312
|
return e.flatMap((e) => e.items);
|
|
313
313
|
}
|
|
314
|
-
function
|
|
314
|
+
function De(e, t) {
|
|
315
315
|
return t.size ? e.filter((e) => !t.has(e.id)) : e;
|
|
316
316
|
}
|
|
317
|
-
function
|
|
318
|
-
return
|
|
317
|
+
function Oe(e, t) {
|
|
318
|
+
return De(e.items, t);
|
|
319
319
|
}
|
|
320
|
-
function
|
|
321
|
-
return
|
|
320
|
+
function ke(e, t) {
|
|
321
|
+
return Oe(e, t).length;
|
|
322
322
|
}
|
|
323
|
-
function
|
|
323
|
+
function Ae(e, t, n) {
|
|
324
324
|
if (n < 0) return null;
|
|
325
325
|
let r = 0;
|
|
326
326
|
for (let i of e) {
|
|
327
|
-
let e =
|
|
327
|
+
let e = Oe(i, t), a = r + e.length;
|
|
328
328
|
if (n < a) return i.cursor;
|
|
329
329
|
r = a;
|
|
330
330
|
}
|
|
331
331
|
return null;
|
|
332
332
|
}
|
|
333
|
-
function
|
|
333
|
+
function je(e, t, n) {
|
|
334
334
|
let r = [...e], i = r.findIndex((e) => e.cursor === t);
|
|
335
335
|
return i >= 0 && r.splice(i, 1, n), r;
|
|
336
336
|
}
|
|
337
|
-
function
|
|
338
|
-
let r =
|
|
337
|
+
function Me(e, t, n) {
|
|
338
|
+
let r = Se(e, t, n);
|
|
339
339
|
return {
|
|
340
340
|
items: r.items,
|
|
341
341
|
nextSequence: r.nextSequence
|
|
342
342
|
};
|
|
343
343
|
}
|
|
344
|
-
function
|
|
344
|
+
function Ne(e, t, n) {
|
|
345
345
|
let r = /* @__PURE__ */ new Map(), i = e.map((e) => ({
|
|
346
346
|
item: e,
|
|
347
347
|
matchIndex: null,
|
|
@@ -350,7 +350,7 @@ function je(e, t, n) {
|
|
|
350
350
|
for (let [e, n] of t.entries()) {
|
|
351
351
|
let t = r.get(n.id), i = {
|
|
352
352
|
index: e,
|
|
353
|
-
occurrenceKey:
|
|
353
|
+
occurrenceKey: $(n)
|
|
354
354
|
};
|
|
355
355
|
t ? t.push(i) : r.set(n.id, [i]);
|
|
356
356
|
}
|
|
@@ -360,10 +360,10 @@ function je(e, t, n) {
|
|
|
360
360
|
}
|
|
361
361
|
for (let e of i) {
|
|
362
362
|
if (e.matchIndex !== null && e.occurrenceKey) {
|
|
363
|
-
a.set(e.matchIndex,
|
|
363
|
+
a.set(e.matchIndex, Pe(e.item, e.occurrenceKey));
|
|
364
364
|
continue;
|
|
365
365
|
}
|
|
366
|
-
let t =
|
|
366
|
+
let t = Pe(e.item, `vibe-occurrence-${s += 1}`);
|
|
367
367
|
o.push(t);
|
|
368
368
|
}
|
|
369
369
|
let c = t.map((e, t) => a.get(t) ?? e);
|
|
@@ -373,19 +373,19 @@ function je(e, t, n) {
|
|
|
373
373
|
nextSequence: s
|
|
374
374
|
};
|
|
375
375
|
}
|
|
376
|
-
function
|
|
377
|
-
return
|
|
376
|
+
function Pe(e, t) {
|
|
377
|
+
return $(e) === t ? e : {
|
|
378
378
|
...e,
|
|
379
379
|
__vibeOccurrenceKey: t
|
|
380
380
|
};
|
|
381
381
|
}
|
|
382
382
|
//#endregion
|
|
383
383
|
//#region src/components/viewer-core/autoResolveState.ts
|
|
384
|
-
function
|
|
384
|
+
function Fe(e) {
|
|
385
385
|
return e instanceof DOMException && e.name === "AbortError" || e instanceof Error && (e.name === "AbortError" || e.name === "CanceledError") ? !0 : typeof e == "object" && !!e && "code" in e && e.code === "ERR_CANCELED";
|
|
386
386
|
}
|
|
387
|
-
function
|
|
388
|
-
let t =
|
|
387
|
+
function Ie(e) {
|
|
388
|
+
let t = Me(e.nextItems, e.previousItems, e.sequence);
|
|
389
389
|
return {
|
|
390
390
|
bucket: {
|
|
391
391
|
cursor: e.cursor,
|
|
@@ -397,8 +397,8 @@ function Pe(e) {
|
|
|
397
397
|
nextSequence: t.nextSequence
|
|
398
398
|
};
|
|
399
399
|
}
|
|
400
|
-
function
|
|
401
|
-
let t =
|
|
400
|
+
function Le(e) {
|
|
401
|
+
let t = Ne(e.nextItems, e.previousItems, e.sequence);
|
|
402
402
|
return {
|
|
403
403
|
bucket: {
|
|
404
404
|
cursor: e.cursor,
|
|
@@ -411,7 +411,7 @@ function Fe(e) {
|
|
|
411
411
|
nextSequence: t.nextSequence
|
|
412
412
|
};
|
|
413
413
|
}
|
|
414
|
-
function
|
|
414
|
+
function Re(e, t, n, r) {
|
|
415
415
|
if (!e.length) return r ? null : {
|
|
416
416
|
buckets: [],
|
|
417
417
|
canceled: r,
|
|
@@ -421,11 +421,11 @@ function Ie(e, t, n, r) {
|
|
|
421
421
|
return {
|
|
422
422
|
buckets: i,
|
|
423
423
|
canceled: r,
|
|
424
|
-
visibleCount: i.reduce((e, t) => e +
|
|
424
|
+
visibleCount: i.reduce((e, t) => e + ke(t, n), 0)
|
|
425
425
|
};
|
|
426
426
|
}
|
|
427
|
-
function
|
|
428
|
-
let t =
|
|
427
|
+
function ze(e) {
|
|
428
|
+
let t = Ie({
|
|
429
429
|
cursor: e.initialState.cursor,
|
|
430
430
|
nextCursor: e.initialState.nextCursor ?? null,
|
|
431
431
|
nextCursorExhausted: !1,
|
|
@@ -433,30 +433,30 @@ function Le(e) {
|
|
|
433
433
|
previousCursor: e.initialState.previousCursor ?? null,
|
|
434
434
|
previousItems: [],
|
|
435
435
|
sequence: e.sequence
|
|
436
|
-
}), n =
|
|
436
|
+
}), n = De(t.bucket.items, e.removedIds);
|
|
437
437
|
return {
|
|
438
|
-
activeIndex:
|
|
438
|
+
activeIndex: be(e.initialState.activeIndex ?? 0, 0, Math.max(0, n.length - 1)),
|
|
439
439
|
buckets: [t.bucket],
|
|
440
440
|
nextSequence: t.nextSequence
|
|
441
441
|
};
|
|
442
442
|
}
|
|
443
|
-
function
|
|
444
|
-
let n = e[
|
|
445
|
-
return n ?
|
|
443
|
+
function Be(e, t) {
|
|
444
|
+
let n = e[be(t, 0, Math.max(0, e.length - 1))];
|
|
445
|
+
return n ? $(n) : null;
|
|
446
446
|
}
|
|
447
|
-
function
|
|
447
|
+
function Ve(e, t, n = null) {
|
|
448
448
|
if (!e.length) return 0;
|
|
449
|
-
let r = n ? e.findIndex((e) =>
|
|
450
|
-
return r >= 0 ? r :
|
|
449
|
+
let r = n ? e.findIndex((e) => $(e) === n) : -1;
|
|
450
|
+
return r >= 0 ? r : be(t, 0, e.length - 1);
|
|
451
451
|
}
|
|
452
|
-
function
|
|
453
|
-
return e ?
|
|
452
|
+
function He(e, t, n) {
|
|
453
|
+
return e ? ke(e, t) < n : !1;
|
|
454
454
|
}
|
|
455
455
|
//#endregion
|
|
456
456
|
//#region src/components/viewer-core/autoResolveBucketFactory.ts
|
|
457
|
-
function
|
|
457
|
+
function Ue(e) {
|
|
458
458
|
return (t) => {
|
|
459
|
-
let n =
|
|
459
|
+
let n = Ie({
|
|
460
460
|
cursor: t.cursor,
|
|
461
461
|
nextCursor: t.nextCursor,
|
|
462
462
|
nextCursorExhausted: t.nextCursorExhausted ?? !1,
|
|
@@ -470,26 +470,26 @@ function Ve(e) {
|
|
|
470
470
|
}
|
|
471
471
|
//#endregion
|
|
472
472
|
//#region src/components/viewer-core/autoResolveCursors.ts
|
|
473
|
-
function
|
|
474
|
-
return e.find((e) =>
|
|
473
|
+
function We(e, t) {
|
|
474
|
+
return e.find((e) => ke(e, t) > 0) ?? e[0] ?? null;
|
|
475
475
|
}
|
|
476
|
-
function
|
|
476
|
+
function Ge(e, t) {
|
|
477
477
|
for (let n = e.length - 1; n >= 0; --n) {
|
|
478
478
|
let r = e[n];
|
|
479
|
-
if (
|
|
479
|
+
if (ke(r, t) > 0) return r;
|
|
480
480
|
}
|
|
481
481
|
return e[e.length - 1] ?? null;
|
|
482
482
|
}
|
|
483
|
-
function
|
|
483
|
+
function Ke(e) {
|
|
484
484
|
return !e?.nextCursor || !e.nextCursorExhausted ? null : e.nextCursor;
|
|
485
485
|
}
|
|
486
|
-
function
|
|
486
|
+
function qe(e, t, n, r) {
|
|
487
487
|
return t === void 0 || n === null ? e : e.map((e) => e.cursor !== t || e.nextCursor !== n ? e : {
|
|
488
488
|
...e,
|
|
489
489
|
nextCursorExhausted: r
|
|
490
490
|
});
|
|
491
491
|
}
|
|
492
|
-
function
|
|
492
|
+
function Je(e, t, n) {
|
|
493
493
|
return n || e !== "forward" || t === null ? {
|
|
494
494
|
cursor: n,
|
|
495
495
|
exhausted: !1
|
|
@@ -498,7 +498,7 @@ function Ke(e, t, n) {
|
|
|
498
498
|
exhausted: !0
|
|
499
499
|
};
|
|
500
500
|
}
|
|
501
|
-
function
|
|
501
|
+
function Ye(e, t) {
|
|
502
502
|
if (t) return {
|
|
503
503
|
cursor: t,
|
|
504
504
|
exhausted: !1
|
|
@@ -509,11 +509,11 @@ function qe(e, t) {
|
|
|
509
509
|
exhausted: !!n
|
|
510
510
|
};
|
|
511
511
|
}
|
|
512
|
-
function
|
|
513
|
-
let n = e.findIndex((e) =>
|
|
512
|
+
function Xe(e, t) {
|
|
513
|
+
let n = e.findIndex((e) => ke(e, t) > 0);
|
|
514
514
|
if (n < 0) return e;
|
|
515
515
|
let r = n;
|
|
516
|
-
for (let i = e.length - 1; i >= n; --i) if (
|
|
516
|
+
for (let i = e.length - 1; i >= n; --i) if (ke(e[i], t) > 0) {
|
|
517
517
|
r = i;
|
|
518
518
|
break;
|
|
519
519
|
}
|
|
@@ -521,7 +521,7 @@ function Je(e, t) {
|
|
|
521
521
|
}
|
|
522
522
|
//#endregion
|
|
523
523
|
//#region src/components/viewer-core/autoResolveFillUntil.ts
|
|
524
|
-
function
|
|
524
|
+
function Ze(e) {
|
|
525
525
|
async function t(t) {
|
|
526
526
|
if (typeof t == "number") {
|
|
527
527
|
await i(t);
|
|
@@ -536,7 +536,7 @@ function Ye(e) {
|
|
|
536
536
|
e.isFillUntilActive.value = !1, e.fillMode.value = "idle";
|
|
537
537
|
}
|
|
538
538
|
async function i(t) {
|
|
539
|
-
let n =
|
|
539
|
+
let n = Qe(t);
|
|
540
540
|
n <= 0 || await a("count", () => e.getHasNextPage() && n > 0, () => {
|
|
541
541
|
--n;
|
|
542
542
|
}, n);
|
|
@@ -562,7 +562,7 @@ function Ye(e) {
|
|
|
562
562
|
});
|
|
563
563
|
let r = e.getResolve();
|
|
564
564
|
if (!r) return !1;
|
|
565
|
-
let i =
|
|
565
|
+
let i = ye(t);
|
|
566
566
|
if (e.inFlightCursors.has(i)) return !1;
|
|
567
567
|
let a = e.nextOperationId(), s = typeof AbortController > "u" ? null : new AbortController();
|
|
568
568
|
e.inFlightCursors.add(i), e.setActiveResolveController(s), e.errorMessage.value = null, e.operationPhase.value = "filling", e.fillCollectedCount.value = e.getVisibleItemCount(), e.fillCursor.value = t, e.fillTargetCount.value = null, e.pendingAppendBuckets.value = [], e.isAwaitingAppendCommit.value = !1;
|
|
@@ -573,8 +573,8 @@ function Ye(e) {
|
|
|
573
573
|
signal: s?.signal
|
|
574
574
|
});
|
|
575
575
|
if (!e.getOperationIsCurrent(a)) return e.finishLoadPhase(), !1;
|
|
576
|
-
if (u(i.total), !i.items.length) return e.autoBuckets.value = i.nextPage ?
|
|
577
|
-
let o =
|
|
576
|
+
if (u(i.total), !i.items.length) return e.autoBuckets.value = i.nextPage ? et(e.autoBuckets.value, n, t, i.nextPage) : qe(e.autoBuckets.value, n, t, !0), c(), e.finishLoadPhase(), !0;
|
|
577
|
+
let o = Je("forward", t, i.nextPage);
|
|
578
578
|
return e.autoBuckets.value = [...e.autoBuckets.value, e.createBucket({
|
|
579
579
|
cursor: t,
|
|
580
580
|
nextCursor: o.cursor,
|
|
@@ -584,7 +584,7 @@ function Ye(e) {
|
|
|
584
584
|
previousItems: []
|
|
585
585
|
})], c(), e.finishLoadPhase(), !0;
|
|
586
586
|
} catch (t) {
|
|
587
|
-
return
|
|
587
|
+
return Fe(t) || !e.getOperationIsCurrent(a) ? (e.finishLoadPhase(), !1) : (e.errorMessage.value = t instanceof Error ? t.message : "The viewer could not load items.", e.operationPhase.value = "failed", e.fillCollectedCount.value = null, e.fillCursor.value = null, e.fillTargetCount.value = null, !1);
|
|
588
588
|
} finally {
|
|
589
589
|
e.clearActiveResolveController(s), e.inFlightCursors.delete(i);
|
|
590
590
|
}
|
|
@@ -598,7 +598,7 @@ function Ye(e) {
|
|
|
598
598
|
function l() {
|
|
599
599
|
if (e.fillMode.value === "count") {
|
|
600
600
|
let t = e.fillTargetCalls.value;
|
|
601
|
-
e.fillProgress.value = t && t > 0 ?
|
|
601
|
+
e.fillProgress.value = t && t > 0 ? $e(e.fillCompletedCalls.value / t) : null;
|
|
602
602
|
return;
|
|
603
603
|
}
|
|
604
604
|
if (e.fillMode.value === "end") {
|
|
@@ -607,7 +607,7 @@ function Ye(e) {
|
|
|
607
607
|
e.fillProgress.value = null;
|
|
608
608
|
return;
|
|
609
609
|
}
|
|
610
|
-
e.fillProgress.value = t <= 0 ? 1 :
|
|
610
|
+
e.fillProgress.value = t <= 0 ? 1 : $e(e.fillLoadedCount.value / t);
|
|
611
611
|
return;
|
|
612
612
|
}
|
|
613
613
|
e.fillProgress.value = null;
|
|
@@ -621,13 +621,13 @@ function Ye(e) {
|
|
|
621
621
|
fillUntilEnd: n
|
|
622
622
|
};
|
|
623
623
|
}
|
|
624
|
-
function
|
|
624
|
+
function Qe(e) {
|
|
625
625
|
return Number.isFinite(e) && e > 0 ? Math.floor(e) : 0;
|
|
626
626
|
}
|
|
627
|
-
function
|
|
627
|
+
function $e(e) {
|
|
628
628
|
return Math.min(Math.max(e, 0), 1);
|
|
629
629
|
}
|
|
630
|
-
function
|
|
630
|
+
function et(e, t, n, r) {
|
|
631
631
|
return t === void 0 ? e : e.map((e) => e.cursor === t && e.nextCursor === n ? {
|
|
632
632
|
...e,
|
|
633
633
|
nextCursor: r,
|
|
@@ -636,11 +636,11 @@ function Qe(e, t, n, r) {
|
|
|
636
636
|
}
|
|
637
637
|
//#endregion
|
|
638
638
|
//#region src/components/viewer-core/autoResolveLoading.ts
|
|
639
|
-
function
|
|
639
|
+
function tt(e) {
|
|
640
640
|
async function t(t) {
|
|
641
641
|
let n = e.getResolve(), r = e.getBoundaryBucket(t);
|
|
642
642
|
if (!n || !r) return null;
|
|
643
|
-
let i =
|
|
643
|
+
let i = ye(r.cursor);
|
|
644
644
|
if (e.inFlightCursors.has(i)) return null;
|
|
645
645
|
e.inFlightCursors.add(i), e.errorMessage.value = null, e.operationPhase.value = "refreshing", e.clearFillState();
|
|
646
646
|
let a = e.nextOperationId(), o = typeof AbortController > "u" ? null : new AbortController();
|
|
@@ -652,7 +652,7 @@ function $e(e) {
|
|
|
652
652
|
signal: o?.signal
|
|
653
653
|
});
|
|
654
654
|
if (!e.getOperationIsCurrent(a)) return e.finishLoadPhase(), null;
|
|
655
|
-
let s =
|
|
655
|
+
let s = Ye(r, i.nextPage), c = Le({
|
|
656
656
|
cursor: r.cursor,
|
|
657
657
|
nextCursor: s.cursor,
|
|
658
658
|
nextCursorExhausted: s.exhausted,
|
|
@@ -663,12 +663,12 @@ function $e(e) {
|
|
|
663
663
|
});
|
|
664
664
|
e.setSequence(c.nextSequence);
|
|
665
665
|
let l = e.getActiveOccurrenceKey();
|
|
666
|
-
return e.autoBuckets.value =
|
|
666
|
+
return e.autoBuckets.value = je(e.autoBuckets.value, r.cursor, c.bucket), e.syncActiveIndexAfterVisibilityChange(l), e.finishLoadPhase(), {
|
|
667
667
|
followCursor: t === "leading" ? i.previousPage ?? null : i.nextPage,
|
|
668
668
|
itemsInserted: c.insertedCount
|
|
669
669
|
};
|
|
670
670
|
} catch (t) {
|
|
671
|
-
return
|
|
671
|
+
return Fe(t) || !e.getOperationIsCurrent(a) ? (e.finishLoadPhase(), null) : (e.errorMessage.value = t instanceof Error ? t.message : "The viewer could not load items.", e.operationPhase.value = "failed", e.clearFillState(), null);
|
|
672
672
|
} finally {
|
|
673
673
|
e.clearActiveResolveController(o), e.inFlightCursors.delete(i);
|
|
674
674
|
}
|
|
@@ -678,9 +678,9 @@ function $e(e) {
|
|
|
678
678
|
if (!n) return null;
|
|
679
679
|
let r = e.nextOperationId(), i = /* @__PURE__ */ new Set(), a = [], o = t.cursor, s = 0;
|
|
680
680
|
for (e.errorMessage.value = null, e.operationPhase.value = t.phase, e.clearFillState();;) {
|
|
681
|
-
if (!e.getOperationIsCurrent(r)) return
|
|
682
|
-
if (a.length > 0 && e.isManualPageLoadingLocked.value) return
|
|
683
|
-
let c =
|
|
681
|
+
if (!e.getOperationIsCurrent(r)) return Re(a, t.direction, e.removedIds.value, !0);
|
|
682
|
+
if (a.length > 0 && e.isManualPageLoadingLocked.value) return Re(a, t.direction, e.removedIds.value, !1);
|
|
683
|
+
let c = ye(o);
|
|
684
684
|
if (i.has(c) || e.inFlightCursors.has(c)) break;
|
|
685
685
|
i.add(c), e.inFlightCursors.add(c);
|
|
686
686
|
let l = typeof AbortController > "u" ? null : new AbortController();
|
|
@@ -691,8 +691,8 @@ function $e(e) {
|
|
|
691
691
|
pageSize: e.getPageSize(),
|
|
692
692
|
signal: l?.signal
|
|
693
693
|
});
|
|
694
|
-
if (!e.getOperationIsCurrent(r)) return
|
|
695
|
-
let c =
|
|
694
|
+
if (!e.getOperationIsCurrent(r)) return Re(a, t.direction, e.removedIds.value, !0);
|
|
695
|
+
let c = Je(t.direction, o, i.nextPage), u = e.createBucket({
|
|
696
696
|
cursor: o,
|
|
697
697
|
nextCursor: c.cursor,
|
|
698
698
|
nextCursorExhausted: c.exhausted,
|
|
@@ -701,18 +701,18 @@ function $e(e) {
|
|
|
701
701
|
previousItems: []
|
|
702
702
|
});
|
|
703
703
|
a.push(u);
|
|
704
|
-
let d = a.reduce((t, n) => t +
|
|
705
|
-
if (!t.continueUntilFilled || d >= e.getPageSize() || !f) return e.fillCursor.value = null,
|
|
706
|
-
if (e.isManualPageLoadingLocked.value) return
|
|
707
|
-
if (e.operationPhase.value = "filling", e.fillCollectedCount.value = d, e.fillCursor.value = f, e.fillTargetCount.value = e.getPageSize(), s += 1, await e.waitFillDelay(e.getFillDelayMs(s)), !e.getOperationIsCurrent(r)) return
|
|
704
|
+
let d = a.reduce((t, n) => t + ke(n, e.removedIds.value), 0), f = t.direction === "forward" ? u.nextCursorExhausted ? null : u.nextCursor : u.previousCursor;
|
|
705
|
+
if (!t.continueUntilFilled || d >= e.getPageSize() || !f) return e.fillCursor.value = null, Re(a, t.direction, e.removedIds.value, !1);
|
|
706
|
+
if (e.isManualPageLoadingLocked.value) return Re(a, t.direction, e.removedIds.value, !1);
|
|
707
|
+
if (e.operationPhase.value = "filling", e.fillCollectedCount.value = d, e.fillCursor.value = f, e.fillTargetCount.value = e.getPageSize(), s += 1, await e.waitFillDelay(e.getFillDelayMs(s)), !e.getOperationIsCurrent(r)) return Re(a, t.direction, e.removedIds.value, !0);
|
|
708
708
|
o = f;
|
|
709
709
|
} catch (n) {
|
|
710
|
-
return
|
|
710
|
+
return Fe(n) || !e.getOperationIsCurrent(r) ? Re(a, t.direction, e.removedIds.value, !0) : (e.errorMessage.value = n instanceof Error ? n.message : "The viewer could not load items.", e.operationPhase.value = "failed", e.clearFillState(), null);
|
|
711
711
|
} finally {
|
|
712
712
|
e.clearActiveResolveController(l), e.inFlightCursors.delete(c);
|
|
713
713
|
}
|
|
714
714
|
}
|
|
715
|
-
return
|
|
715
|
+
return Re(a, t.direction, e.removedIds.value, !1);
|
|
716
716
|
}
|
|
717
717
|
return {
|
|
718
718
|
collectBuckets: n,
|
|
@@ -721,7 +721,7 @@ function $e(e) {
|
|
|
721
721
|
}
|
|
722
722
|
//#endregion
|
|
723
723
|
//#region src/components/viewer-core/fillProgress.ts
|
|
724
|
-
function
|
|
724
|
+
function nt(e) {
|
|
725
725
|
let t = {
|
|
726
726
|
fillCompletedCalls: D(0),
|
|
727
727
|
fillLoadedCount: D(0),
|
|
@@ -740,7 +740,7 @@ function et(e) {
|
|
|
740
740
|
}
|
|
741
741
|
//#endregion
|
|
742
742
|
//#region src/components/viewer-core/emptyVisiblePrefetch.ts
|
|
743
|
-
function
|
|
743
|
+
function rt(e) {
|
|
744
744
|
let t = null, n = !1, r = !1;
|
|
745
745
|
function i() {
|
|
746
746
|
t = null;
|
|
@@ -782,14 +782,14 @@ function tt(e) {
|
|
|
782
782
|
}
|
|
783
783
|
//#endregion
|
|
784
784
|
//#region src/components/viewer-core/fillDelay.ts
|
|
785
|
-
var
|
|
786
|
-
function
|
|
785
|
+
var it = 2e3, at = 1e3, ot = 100;
|
|
786
|
+
function st(e, t = it, n = at) {
|
|
787
787
|
return t + Math.max(0, e - 1) * n;
|
|
788
788
|
}
|
|
789
|
-
function
|
|
789
|
+
function ct(e, t) {
|
|
790
790
|
return !Number.isFinite(e) || e == null || e < 0 ? t : Math.floor(e);
|
|
791
791
|
}
|
|
792
|
-
function
|
|
792
|
+
function lt() {
|
|
793
793
|
let e = D(null), t = null, n = null, r = null;
|
|
794
794
|
function i(i = !1) {
|
|
795
795
|
if (t &&= (clearInterval(t), null), n &&= (clearTimeout(n), null), e.value = null, i && r) {
|
|
@@ -807,7 +807,7 @@ function st() {
|
|
|
807
807
|
let t = Math.max(0, a - (Date.now() - s));
|
|
808
808
|
e.value = t, t <= 0 && l();
|
|
809
809
|
};
|
|
810
|
-
t = setInterval(u,
|
|
810
|
+
t = setInterval(u, ot), n = setTimeout(l, a), u();
|
|
811
811
|
}));
|
|
812
812
|
}
|
|
813
813
|
return {
|
|
@@ -818,13 +818,13 @@ function st() {
|
|
|
818
818
|
}
|
|
819
819
|
//#endregion
|
|
820
820
|
//#region src/components/viewer-core/useAutoResolveSource.ts
|
|
821
|
-
function
|
|
822
|
-
let t = !!e.initialState?.items.length, n = D([]), r = D(0), a = D([]), o = D(!1), s = D(null), c = D(!t && typeof e.resolve == "function" ? "initializing" : "idle"), l = D(null), u = D(null), d =
|
|
821
|
+
function ut(e) {
|
|
822
|
+
let t = !!e.initialState?.items.length, n = D([]), r = D(0), a = D([]), o = D(!1), s = D(null), c = D(!t && typeof e.resolve == "function" ? "initializing" : "idle"), l = D(null), u = D(null), d = lt(), f = d.remainingMs, p = D(null), m = D(!1), h = D(!0), g = D(!1), _ = D(!1), v = /* @__PURE__ */ new Set(), y = null, b = null, C = 0, w = 0, T = Ue({
|
|
823
823
|
getSequence: () => w,
|
|
824
824
|
setSequence: (e) => {
|
|
825
825
|
w = e;
|
|
826
826
|
}
|
|
827
|
-
}), E = i(() =>
|
|
827
|
+
}), E = i(() => ct(e.fillDelayMs, it)), O = i(() => ct(e.fillDelayStepMs, at)), k = i(() => typeof e.resolve == "function"), A = i(() => ve(e.pageSize)), j = i(() => Ee(n.value)), M = nt(() => j.value.length), N = i(() => De(j.value, e.removedIds.value)), P = i(() => r.value), F = i(() => _e(c.value) || m.value), I = i(() => We(n.value, e.removedIds.value)), L = i(() => Ge(n.value, e.removedIds.value)), R = i(() => L.value?.nextCursor ?? null), ee = i(() => o.value ? null : I.value?.previousCursor ?? null), B = i(() => !!R.value && L.value?.nextCursorExhausted !== !0), V = i(() => !!ee.value), H = i(() => _.value || g.value), U = i(() => k.value && !!L.value?.items.length), te = i(() => De(Ee(a.value), e.removedIds.value)), W = i(() => Ae(n.value, e.removedIds.value, P.value)), G = i(() => !N.value.length && !F.value && !!s.value), K = Ze({
|
|
828
828
|
autoBuckets: n,
|
|
829
829
|
clearActiveResolveController(e) {
|
|
830
830
|
y === e && (y = null);
|
|
@@ -836,17 +836,17 @@ function ct(e) {
|
|
|
836
836
|
fillCursor: u,
|
|
837
837
|
fillTargetCount: p,
|
|
838
838
|
...M.refs,
|
|
839
|
-
finishLoadPhase:
|
|
840
|
-
getFillDelayMs: (e) =>
|
|
841
|
-
getHasNextPage: () =>
|
|
839
|
+
finishLoadPhase: Se,
|
|
840
|
+
getFillDelayMs: (e) => st(e, E.value, O.value),
|
|
841
|
+
getHasNextPage: () => B.value,
|
|
842
842
|
getIsLoading: () => F.value,
|
|
843
843
|
getIsManualPageLoadingLocked: () => _.value,
|
|
844
844
|
getLoadedItemCount: () => j.value.length,
|
|
845
|
-
getNextCursor: () =>
|
|
845
|
+
getNextCursor: () => R.value,
|
|
846
846
|
getOperationIsCurrent: (e) => e === C,
|
|
847
847
|
getPageSize: () => A.value,
|
|
848
848
|
getResolve: () => e.resolve,
|
|
849
|
-
getTrailingBoundaryBucket: () =>
|
|
849
|
+
getTrailingBoundaryBucket: () => L.value,
|
|
850
850
|
getVisibleItemCount: () => N.value.length,
|
|
851
851
|
inFlightCursors: v,
|
|
852
852
|
isAwaitingAppendCommit: m,
|
|
@@ -861,17 +861,17 @@ function ct(e) {
|
|
|
861
861
|
b = e;
|
|
862
862
|
},
|
|
863
863
|
waitFillDelay: (e) => d.wait(e)
|
|
864
|
-
}),
|
|
865
|
-
canRefreshTrailingBoundary:
|
|
866
|
-
hasNextPage:
|
|
867
|
-
isInitialLoading:
|
|
868
|
-
isPageLoadingLocked:
|
|
864
|
+
}), q = rt({
|
|
865
|
+
canRefreshTrailingBoundary: U,
|
|
866
|
+
hasNextPage: B,
|
|
867
|
+
isInitialLoading: Te,
|
|
868
|
+
isPageLoadingLocked: H,
|
|
869
869
|
items: N,
|
|
870
870
|
loading: F,
|
|
871
871
|
prefetchNextPage: Y,
|
|
872
872
|
removedIds: e.removedIds,
|
|
873
|
-
trailingBoundaryBucket:
|
|
874
|
-
}),
|
|
873
|
+
trailingBoundaryBucket: L
|
|
874
|
+
}), J = tt({
|
|
875
875
|
autoBuckets: n,
|
|
876
876
|
clearActiveResolveController(e) {
|
|
877
877
|
y === e && (y = null);
|
|
@@ -882,10 +882,10 @@ function ct(e) {
|
|
|
882
882
|
fillCollectedCount: l,
|
|
883
883
|
fillCursor: u,
|
|
884
884
|
fillTargetCount: p,
|
|
885
|
-
finishLoadPhase:
|
|
886
|
-
getActiveOccurrenceKey:
|
|
887
|
-
getBoundaryBucket: (e) => e === "leading" ? I.value :
|
|
888
|
-
getFillDelayMs: (e) =>
|
|
885
|
+
finishLoadPhase: Se,
|
|
886
|
+
getActiveOccurrenceKey: fe,
|
|
887
|
+
getBoundaryBucket: (e) => e === "leading" ? I.value : L.value,
|
|
888
|
+
getFillDelayMs: (e) => st(e, E.value, O.value),
|
|
889
889
|
getOperationIsCurrent: (e) => e === C,
|
|
890
890
|
getPageSize: () => A.value,
|
|
891
891
|
getResolve: () => e.resolve,
|
|
@@ -901,121 +901,121 @@ function ct(e) {
|
|
|
901
901
|
setSequence: (e) => {
|
|
902
902
|
w = e;
|
|
903
903
|
},
|
|
904
|
-
syncActiveIndexAfterVisibilityChange:
|
|
904
|
+
syncActiveIndexAfterVisibilityChange: pe,
|
|
905
905
|
waitFillDelay: (e) => d.wait(e)
|
|
906
906
|
});
|
|
907
|
-
|
|
907
|
+
z(() => N.value.length, (e) => {
|
|
908
908
|
if (e === 0) {
|
|
909
|
-
r.value = 0,
|
|
909
|
+
r.value = 0, q.schedule();
|
|
910
910
|
return;
|
|
911
911
|
}
|
|
912
|
-
|
|
913
|
-
}),
|
|
914
|
-
h.value &&
|
|
912
|
+
q.resetRefreshAttempt(), o.value &&= (ke(), !1), r.value > e - 1 && (r.value = e - 1);
|
|
913
|
+
}), z(() => r.value, () => {
|
|
914
|
+
h.value && he();
|
|
915
915
|
}), S(() => {
|
|
916
|
-
|
|
916
|
+
we() || e.resolve && ne();
|
|
917
917
|
}), x(() => {
|
|
918
918
|
y?.abort(), y = null, d.clear(!0);
|
|
919
919
|
});
|
|
920
|
-
async function
|
|
921
|
-
b =
|
|
922
|
-
let t = await
|
|
920
|
+
async function ne() {
|
|
921
|
+
b = ne;
|
|
922
|
+
let t = await xe({
|
|
923
923
|
continueUntilFilled: !0,
|
|
924
924
|
cursor: e.initialCursor ?? null,
|
|
925
925
|
direction: "forward",
|
|
926
926
|
phase: "initializing"
|
|
927
927
|
});
|
|
928
|
-
t && (n.value = t.buckets, r.value = 0,
|
|
928
|
+
t && (n.value = t.buckets, r.value = 0, Se());
|
|
929
929
|
}
|
|
930
930
|
async function Y() {
|
|
931
|
-
if (
|
|
932
|
-
let e = !N.value.length, t =
|
|
931
|
+
if (H.value || F.value) return;
|
|
932
|
+
let e = !N.value.length, t = L.value, n = {
|
|
933
933
|
commitImmediately: e,
|
|
934
934
|
originCursor: t?.cursor ?? null
|
|
935
|
-
}, r =
|
|
936
|
-
if (
|
|
937
|
-
if (!
|
|
938
|
-
let e = await
|
|
939
|
-
e?.followCursor && (e.itemsInserted === 0 ||
|
|
935
|
+
}, r = Ke(t);
|
|
936
|
+
if (Oe("trailing")) {
|
|
937
|
+
if (!U.value) return;
|
|
938
|
+
let e = await ye("trailing");
|
|
939
|
+
e?.followCursor && (e.itemsInserted === 0 || Oe("trailing")) && await ge(e.followCursor, n);
|
|
940
940
|
return;
|
|
941
941
|
}
|
|
942
942
|
if (r) {
|
|
943
943
|
if (t?.cursor === r) {
|
|
944
|
-
let e = await
|
|
945
|
-
e?.followCursor && e.itemsInserted === 0 && await
|
|
944
|
+
let e = await ye("trailing");
|
|
945
|
+
e?.followCursor && e.itemsInserted === 0 && await ge(e.followCursor, n);
|
|
946
946
|
return;
|
|
947
947
|
}
|
|
948
|
-
await
|
|
948
|
+
await ge(r, n);
|
|
949
949
|
return;
|
|
950
950
|
}
|
|
951
|
-
if (!
|
|
952
|
-
let e =
|
|
953
|
-
e?.followCursor && e.itemsInserted === 0 && await
|
|
951
|
+
if (!B.value) {
|
|
952
|
+
let e = U.value ? await ye("trailing") : null;
|
|
953
|
+
e?.followCursor && e.itemsInserted === 0 && await ge(e.followCursor, n);
|
|
954
954
|
return;
|
|
955
955
|
}
|
|
956
|
-
await
|
|
956
|
+
await ge(R.value, n);
|
|
957
957
|
}
|
|
958
|
-
async function
|
|
959
|
-
if (!(
|
|
960
|
-
if (
|
|
961
|
-
let e = await
|
|
962
|
-
e?.itemsInserted === 0 && e.followCursor && await
|
|
958
|
+
async function X() {
|
|
959
|
+
if (!(H.value || !V.value || F.value)) {
|
|
960
|
+
if (Oe("leading")) {
|
|
961
|
+
let e = await ye("leading");
|
|
962
|
+
e?.itemsInserted === 0 && e.followCursor && await Q(e.followCursor);
|
|
963
963
|
return;
|
|
964
964
|
}
|
|
965
|
-
await
|
|
965
|
+
await Q(ee.value);
|
|
966
966
|
}
|
|
967
967
|
}
|
|
968
|
-
async function
|
|
969
|
-
if (
|
|
970
|
-
if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = k.value ? "initializing" : "idle", Ce(), M.reset(), m.value = !1, v.clear(), y?.abort(), y = null, d.clear(!0),
|
|
971
|
-
|
|
968
|
+
async function re() {
|
|
969
|
+
if (G.value) {
|
|
970
|
+
if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = k.value ? "initializing" : "idle", Ce(), M.reset(), m.value = !1, v.clear(), y?.abort(), y = null, d.clear(!0), we()) {
|
|
971
|
+
Se();
|
|
972
972
|
return;
|
|
973
973
|
}
|
|
974
|
-
await
|
|
974
|
+
await ne();
|
|
975
975
|
}
|
|
976
976
|
}
|
|
977
|
-
async function
|
|
978
|
-
if (
|
|
979
|
-
|
|
977
|
+
async function ie() {
|
|
978
|
+
if (G.value) return re();
|
|
979
|
+
H.value || c.value !== "failed" || !b || (s.value = null, await b());
|
|
980
980
|
}
|
|
981
|
-
async function
|
|
982
|
-
if (!a.value.length) return m.value = !1,
|
|
983
|
-
n.value = [...n.value, ...a.value], a.value = [], m.value = !1,
|
|
981
|
+
async function ae() {
|
|
982
|
+
if (!a.value.length) return m.value = !1, Se();
|
|
983
|
+
n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Se();
|
|
984
984
|
}
|
|
985
|
-
function
|
|
985
|
+
function Z(t) {
|
|
986
986
|
let n = N.value;
|
|
987
987
|
if (!n.length) return;
|
|
988
|
-
let i =
|
|
988
|
+
let i = be(t, 0, n.length - 1);
|
|
989
989
|
i !== r.value && (r.value = i, e.emit("update:activeIndex", i));
|
|
990
990
|
}
|
|
991
|
-
function
|
|
992
|
-
h.value = e,
|
|
991
|
+
function oe(e) {
|
|
992
|
+
h.value = e, q.schedule();
|
|
993
993
|
}
|
|
994
|
-
function
|
|
994
|
+
function se() {
|
|
995
995
|
_.value = !0, d.clear(!0);
|
|
996
996
|
}
|
|
997
|
-
function
|
|
998
|
-
_.value = !1,
|
|
997
|
+
function ce() {
|
|
998
|
+
_.value = !1, q.schedule();
|
|
999
999
|
}
|
|
1000
|
-
function
|
|
1001
|
-
|
|
1000
|
+
function le() {
|
|
1001
|
+
de(), s.value = null, Ce(), K.cancel(), a.value.length > 0 && (n.value = [...n.value, ...a.value], a.value = []), m.value = !1, o.value = !1, Se();
|
|
1002
1002
|
}
|
|
1003
|
-
function
|
|
1004
|
-
g.value && (
|
|
1003
|
+
function ue() {
|
|
1004
|
+
g.value && (de(), Ce(), K.cancel(), m.value = !1, Se());
|
|
1005
1005
|
}
|
|
1006
|
-
function
|
|
1006
|
+
function de() {
|
|
1007
1007
|
C += 1, y?.abort(), y = null, d.clear(!0), v.clear();
|
|
1008
1008
|
}
|
|
1009
|
-
function
|
|
1010
|
-
return
|
|
1009
|
+
function fe() {
|
|
1010
|
+
return Be(N.value, P.value);
|
|
1011
1011
|
}
|
|
1012
|
-
function
|
|
1012
|
+
function pe(e = null, t = {}) {
|
|
1013
1013
|
if (N.value.length === 0) {
|
|
1014
1014
|
r.value = 0, !t.preserveTrailingPlaceholder && n.value.length > 0 && (o.value = !0);
|
|
1015
1015
|
return;
|
|
1016
1016
|
}
|
|
1017
1017
|
if (e) {
|
|
1018
|
-
let t = N.value.findIndex((t) =>
|
|
1018
|
+
let t = N.value.findIndex((t) => $(t) === e);
|
|
1019
1019
|
if (t >= 0) {
|
|
1020
1020
|
r.value = t;
|
|
1021
1021
|
return;
|
|
@@ -1025,90 +1025,90 @@ function ct(e) {
|
|
|
1025
1025
|
r.value = N.value.length;
|
|
1026
1026
|
return;
|
|
1027
1027
|
}
|
|
1028
|
-
r.value =
|
|
1028
|
+
r.value = Ve(N.value, P.value, e);
|
|
1029
1029
|
}
|
|
1030
|
-
function
|
|
1031
|
-
a.value.length > 0 && (!
|
|
1030
|
+
function me() {
|
|
1031
|
+
a.value.length > 0 && (!te.value.length || !N.value.length) && ae();
|
|
1032
1032
|
}
|
|
1033
|
-
async function
|
|
1034
|
-
if (!(!h.value ||
|
|
1033
|
+
async function he() {
|
|
1034
|
+
if (!(!h.value || Te())) {
|
|
1035
1035
|
if (!N.value.length) {
|
|
1036
|
-
(
|
|
1036
|
+
(B.value || U.value) && await Y();
|
|
1037
1037
|
return;
|
|
1038
1038
|
}
|
|
1039
|
-
|
|
1039
|
+
V.value && r.value < 3 && await X(), B.value && r.value >= N.value.length - 3 && await Y();
|
|
1040
1040
|
}
|
|
1041
1041
|
}
|
|
1042
|
-
async function
|
|
1042
|
+
async function ge(e, t = {}) {
|
|
1043
1043
|
b = async () => {
|
|
1044
|
-
await
|
|
1044
|
+
await ge(e, t);
|
|
1045
1045
|
};
|
|
1046
|
-
let r = await
|
|
1046
|
+
let r = await xe({
|
|
1047
1047
|
continueUntilFilled: !0,
|
|
1048
1048
|
cursor: e,
|
|
1049
1049
|
direction: "forward",
|
|
1050
1050
|
phase: "loading"
|
|
1051
1051
|
});
|
|
1052
1052
|
if (r) {
|
|
1053
|
-
if (!r.visibleCount) return n.value =
|
|
1054
|
-
if (r.canceled) return n.value = [...n.value, ...r.buckets], a.value = [], m.value = !1,
|
|
1055
|
-
if (a.value = r.buckets, t.commitImmediately || !N.value.length || !
|
|
1053
|
+
if (!r.visibleCount) return n.value = qe(n.value, t.originCursor, e, !0), a.value = [], m.value = !1, Se();
|
|
1054
|
+
if (r.canceled) return n.value = [...n.value, ...r.buckets], a.value = [], m.value = !1, Se();
|
|
1055
|
+
if (a.value = r.buckets, t.commitImmediately || !N.value.length || !te.value.length) return n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Se();
|
|
1056
1056
|
m.value = !0;
|
|
1057
1057
|
}
|
|
1058
1058
|
}
|
|
1059
|
-
async function
|
|
1059
|
+
async function Q(e) {
|
|
1060
1060
|
b = async () => {
|
|
1061
|
-
await
|
|
1061
|
+
await Q(e);
|
|
1062
1062
|
};
|
|
1063
|
-
let t = await
|
|
1063
|
+
let t = await xe({
|
|
1064
1064
|
continueUntilFilled: !0,
|
|
1065
1065
|
cursor: e,
|
|
1066
1066
|
direction: "backward",
|
|
1067
1067
|
phase: "loading"
|
|
1068
1068
|
});
|
|
1069
1069
|
if (!t) return;
|
|
1070
|
-
let r =
|
|
1071
|
-
n.value = [...t.buckets, ...n.value],
|
|
1070
|
+
let r = fe();
|
|
1071
|
+
n.value = [...t.buckets, ...n.value], pe(r), Se();
|
|
1072
1072
|
}
|
|
1073
|
-
async function
|
|
1073
|
+
async function ye(e) {
|
|
1074
1074
|
return b = async () => {
|
|
1075
|
-
await
|
|
1076
|
-
},
|
|
1075
|
+
await ye(e);
|
|
1076
|
+
}, J.reloadBoundaryBucket(e);
|
|
1077
1077
|
}
|
|
1078
|
-
function
|
|
1079
|
-
return
|
|
1078
|
+
function xe(e) {
|
|
1079
|
+
return J.collectBuckets(e);
|
|
1080
1080
|
}
|
|
1081
|
-
function
|
|
1082
|
-
c.value = "idle", Ce(), d.clear(),
|
|
1081
|
+
function Se() {
|
|
1082
|
+
c.value = "idle", Ce(), d.clear(), q.schedule();
|
|
1083
1083
|
}
|
|
1084
1084
|
function Ce() {
|
|
1085
1085
|
l.value = null, u.value = null, p.value = null;
|
|
1086
1086
|
}
|
|
1087
|
-
function
|
|
1087
|
+
function we() {
|
|
1088
1088
|
if (!e.initialState || !e.initialState.items.length) return !1;
|
|
1089
|
-
let t =
|
|
1089
|
+
let t = ze({
|
|
1090
1090
|
initialState: e.initialState,
|
|
1091
1091
|
removedIds: e.removedIds.value,
|
|
1092
1092
|
sequence: w
|
|
1093
1093
|
});
|
|
1094
1094
|
return n.value = t.buckets, r.value = t.activeIndex, w = t.nextSequence, o.value = !1, s.value = null, a.value = [], m.value = !1, !0;
|
|
1095
1095
|
}
|
|
1096
|
-
function
|
|
1096
|
+
function Te() {
|
|
1097
1097
|
return c.value === "initializing";
|
|
1098
1098
|
}
|
|
1099
|
-
function
|
|
1100
|
-
return
|
|
1099
|
+
function Oe(t) {
|
|
1100
|
+
return He(t === "leading" ? I.value : L.value, e.removedIds.value, A.value);
|
|
1101
1101
|
}
|
|
1102
|
-
function
|
|
1103
|
-
n.value =
|
|
1102
|
+
function ke() {
|
|
1103
|
+
n.value = Xe(n.value, e.removedIds.value);
|
|
1104
1104
|
}
|
|
1105
1105
|
return {
|
|
1106
1106
|
activeIndex: P,
|
|
1107
|
-
canRetryInitialLoad:
|
|
1108
|
-
cancel:
|
|
1109
|
-
cancelFill:
|
|
1110
|
-
canRefreshTrailingBoundary:
|
|
1111
|
-
commitPendingAppend:
|
|
1107
|
+
canRetryInitialLoad: G,
|
|
1108
|
+
cancel: le,
|
|
1109
|
+
cancelFill: ue,
|
|
1110
|
+
canRefreshTrailingBoundary: U,
|
|
1111
|
+
commitPendingAppend: ae,
|
|
1112
1112
|
currentCursor: W,
|
|
1113
1113
|
errorMessage: s,
|
|
1114
1114
|
fillCollectedCount: l,
|
|
@@ -1116,36 +1116,36 @@ function ct(e) {
|
|
|
1116
1116
|
fillDelayRemainingMs: f,
|
|
1117
1117
|
fillTargetCount: p,
|
|
1118
1118
|
...M.refs,
|
|
1119
|
-
fillUntil:
|
|
1120
|
-
fillUntilEnd:
|
|
1121
|
-
hasNextPage:
|
|
1122
|
-
hasPreviousPage:
|
|
1119
|
+
fillUntil: K.fillUntil,
|
|
1120
|
+
fillUntilEnd: K.fillUntilEnd,
|
|
1121
|
+
hasNextPage: B,
|
|
1122
|
+
hasPreviousPage: V,
|
|
1123
1123
|
isAutoPrefetchEnabled: h,
|
|
1124
|
-
isPageLoadingLocked:
|
|
1124
|
+
isPageLoadingLocked: H,
|
|
1125
1125
|
items: N,
|
|
1126
|
-
lockPageLoading:
|
|
1126
|
+
lockPageLoading: se,
|
|
1127
1127
|
loading: F,
|
|
1128
|
-
maybePrefetchAround:
|
|
1129
|
-
nextCursor:
|
|
1130
|
-
pendingAppendItems:
|
|
1128
|
+
maybePrefetchAround: he,
|
|
1129
|
+
nextCursor: R,
|
|
1130
|
+
pendingAppendItems: te,
|
|
1131
1131
|
phase: c,
|
|
1132
1132
|
prefetchNextPage: Y,
|
|
1133
|
-
prefetchPreviousPage:
|
|
1133
|
+
prefetchPreviousPage: X,
|
|
1134
1134
|
previousCursor: ee,
|
|
1135
|
-
retryInitialLoad:
|
|
1136
|
-
retry:
|
|
1137
|
-
setActiveIndex:
|
|
1138
|
-
setAutoPrefetchEnabled:
|
|
1139
|
-
syncActiveIndexAfterVisibilityChange:
|
|
1140
|
-
unlockPageLoading:
|
|
1141
|
-
getActiveOccurrenceKey:
|
|
1142
|
-
maybeCommitPendingAppendWhenFilteredOut:
|
|
1135
|
+
retryInitialLoad: re,
|
|
1136
|
+
retry: ie,
|
|
1137
|
+
setActiveIndex: Z,
|
|
1138
|
+
setAutoPrefetchEnabled: oe,
|
|
1139
|
+
syncActiveIndexAfterVisibilityChange: pe,
|
|
1140
|
+
unlockPageLoading: ce,
|
|
1141
|
+
getActiveOccurrenceKey: fe,
|
|
1142
|
+
maybeCommitPendingAppendWhenFilteredOut: me
|
|
1143
1143
|
};
|
|
1144
1144
|
}
|
|
1145
1145
|
//#endregion
|
|
1146
1146
|
//#region src/components/viewer-core/useDataSource.ts
|
|
1147
|
-
function
|
|
1148
|
-
let { clearRemoved: n, getRemovedIds: r, remove: a, removedIds: o, restore: s, undo: c } =
|
|
1147
|
+
function dt(e, t) {
|
|
1148
|
+
let { clearRemoved: n, getRemovedIds: r, remove: a, removedIds: o, restore: s, undo: c } = we(), l = ut({
|
|
1149
1149
|
emit: t,
|
|
1150
1150
|
fillDelayMs: e.fillDelayMs,
|
|
1151
1151
|
fillDelayStepMs: e.fillDelayStepMs,
|
|
@@ -1182,7 +1182,7 @@ function lt(e, t) {
|
|
|
1182
1182
|
return [...u.value];
|
|
1183
1183
|
}
|
|
1184
1184
|
function E(e) {
|
|
1185
|
-
return u.value.find((t) =>
|
|
1185
|
+
return u.value.find((t) => $(t) === e) ?? null;
|
|
1186
1186
|
}
|
|
1187
1187
|
function D(e, t, n) {
|
|
1188
1188
|
return Math.min(Math.max(e, t), n);
|
|
@@ -1252,9 +1252,9 @@ function lt(e, t) {
|
|
|
1252
1252
|
}
|
|
1253
1253
|
//#endregion
|
|
1254
1254
|
//#region src/components/viewer-core/useController.ts
|
|
1255
|
-
var
|
|
1256
|
-
function
|
|
1257
|
-
let n =
|
|
1255
|
+
var ft = 1024;
|
|
1256
|
+
function pt(e, t) {
|
|
1257
|
+
let n = dt(e, t), r = T({
|
|
1258
1258
|
nextBoundaryLoadProgress: 0,
|
|
1259
1259
|
previousBoundaryLoadProgress: 0
|
|
1260
1260
|
}), a = D(0), o = D("list"), s = T({
|
|
@@ -1284,23 +1284,23 @@ function dt(e, t) {
|
|
|
1284
1284
|
removedCount: 0,
|
|
1285
1285
|
removedIds: [],
|
|
1286
1286
|
surfaceMode: "list"
|
|
1287
|
-
}), c = i(() => a.value >=
|
|
1288
|
-
|
|
1287
|
+
}), c = i(() => a.value >= ft), l = i(() => c.value ? o.value : "fullscreen"), u = i(() => c.value && l.value === "fullscreen");
|
|
1288
|
+
z(c, (e) => {
|
|
1289
1289
|
e && h();
|
|
1290
|
-
}),
|
|
1290
|
+
}), z(() => e.surfaceMode, () => {
|
|
1291
1291
|
h();
|
|
1292
|
-
}),
|
|
1292
|
+
}), z([l, () => n.pendingAppendItems.value.length], ([e, t]) => {
|
|
1293
1293
|
e === "list" || t <= 0 || n.commitPendingAppend();
|
|
1294
|
-
}),
|
|
1294
|
+
}), z([
|
|
1295
1295
|
() => n.items.value.length,
|
|
1296
1296
|
() => n.loading.value,
|
|
1297
1297
|
() => n.hasNextPage.value,
|
|
1298
1298
|
() => n.pendingAppendItems.value.length
|
|
1299
1299
|
], ([e, n, r, i]) => {
|
|
1300
1300
|
!c.value || e > 0 || o.value === "list" || n || r || i > 0 || (o.value = "list", t("update:surfaceMode", "list"));
|
|
1301
|
-
}),
|
|
1301
|
+
}), z(l, (e) => {
|
|
1302
1302
|
n.setAutoPrefetchEnabled(e === "fullscreen");
|
|
1303
|
-
}, { immediate: !0 }),
|
|
1303
|
+
}, { immediate: !0 }), ee(() => {
|
|
1304
1304
|
s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillCompletedCalls = n.fillCompletedCalls.value, s.fillCursor = n.fillCursor.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillLoadedCount = n.fillLoadedCount.value, s.fillMode = n.fillMode.value, s.fillProgress = n.fillProgress.value, s.fillTargetCalls = n.fillTargetCalls.value, s.fillTargetCount = n.fillTargetCount.value, s.fillTotalCount = n.fillTotalCount.value, s.hasNextPage = n.hasNextPage.value, s.hasPreviousPage = n.hasPreviousPage.value, s.itemCount = n.items.value.length, s.loadState = n.loading.value ? "loading" : n.errorMessage.value ? "failed" : "loaded", s.nextBoundaryLoadProgress = r.nextBoundaryLoadProgress, s.nextCursor = n.nextCursor.value, s.pageLoadingLocked = n.isPageLoadingLocked.value, s.phase = n.phase.value, s.previousBoundaryLoadProgress = r.previousBoundaryLoadProgress, s.previousCursor = n.previousCursor.value, s.removedCount = n.removedCount.value, s.removedIds = n.getRemovedIds(), s.surfaceMode = l.value;
|
|
1305
1305
|
}), S(() => {
|
|
1306
1306
|
m(), h(), window.addEventListener("keydown", p), window.addEventListener("resize", m);
|
|
@@ -1314,7 +1314,7 @@ function dt(e, t) {
|
|
|
1314
1314
|
!c.value || o.value === "list" || (o.value = "list", t("update:surfaceMode", "list"));
|
|
1315
1315
|
}
|
|
1316
1316
|
function p(e) {
|
|
1317
|
-
e.defaultPrevented || e.key !== "Escape" || !c.value || l.value !== "fullscreen" ||
|
|
1317
|
+
e.defaultPrevented || e.key !== "Escape" || !c.value || l.value !== "fullscreen" || ge(e.target) || (e.preventDefault(), f());
|
|
1318
1318
|
}
|
|
1319
1319
|
function m() {
|
|
1320
1320
|
a.value = window.innerWidth || 0;
|
|
@@ -1323,7 +1323,7 @@ function dt(e, t) {
|
|
|
1323
1323
|
!c.value || !e.surfaceMode || e.surfaceMode === o.value || (o.value = e.surfaceMode);
|
|
1324
1324
|
}
|
|
1325
1325
|
function g(e) {
|
|
1326
|
-
r.nextBoundaryLoadProgress =
|
|
1326
|
+
r.nextBoundaryLoadProgress = mt(e.nextBoundaryLoadProgress), r.previousBoundaryLoadProgress = mt(e.previousBoundaryLoadProgress);
|
|
1327
1327
|
}
|
|
1328
1328
|
return {
|
|
1329
1329
|
...n,
|
|
@@ -1342,26 +1342,26 @@ function dt(e, t) {
|
|
|
1342
1342
|
unlockPageLoading: n.unlockPageLoading
|
|
1343
1343
|
};
|
|
1344
1344
|
}
|
|
1345
|
-
function
|
|
1345
|
+
function mt(e) {
|
|
1346
1346
|
return Math.min(Math.max(e, 0), 1);
|
|
1347
1347
|
}
|
|
1348
1348
|
//#endregion
|
|
1349
1349
|
//#region src/components/FullscreenMediaBar.vue?vue&type=script&setup=true&lang.ts
|
|
1350
|
-
var
|
|
1350
|
+
var ht = {
|
|
1351
1351
|
"data-testid": "vibe-media-bar",
|
|
1352
1352
|
class: "absolute inset-x-0 bottom-0 z-[5] bg-[linear-gradient(180deg,transparent,rgba(0,0,0,0.42)_24%,rgba(0,0,0,0.78))] px-[clamp(1rem,2.6vw,2.25rem)] pt-4 pb-[1.15rem]"
|
|
1353
|
-
},
|
|
1353
|
+
}, gt = { class: "grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-3 border-t border-white/12 bg-black/70 px-4 py-3 backdrop-blur-[18px]" }, _t = { class: "text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74" }, vt = { class: "relative h-4 w-full" }, yt = [
|
|
1354
1354
|
"max",
|
|
1355
1355
|
"value",
|
|
1356
1356
|
"disabled"
|
|
1357
|
-
],
|
|
1357
|
+
], bt = { class: "text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74" }, xt = ["data-layout"], St = {
|
|
1358
1358
|
key: 0,
|
|
1359
1359
|
"data-testid": "vibe-media-volume-popover",
|
|
1360
1360
|
class: "absolute bottom-[calc(100%+0.8rem)] right-0 grid justify-items-center gap-3 border border-white/12 bg-black/82 px-3 py-4 shadow-[0_20px_50px_-20px_rgba(0,0,0,0.85)] backdrop-blur-[18px]"
|
|
1361
|
-
},
|
|
1361
|
+
}, Ct = { class: "relative flex h-28 w-4 items-center justify-center" }, wt = ["value"], Tt = { class: "flex items-center gap-3" }, Et = ["aria-label"], Dt = {
|
|
1362
1362
|
key: 0,
|
|
1363
1363
|
class: "relative h-4 w-24"
|
|
1364
|
-
},
|
|
1364
|
+
}, Ot = ["value"], kt = /* @__PURE__ */ d({
|
|
1365
1365
|
__name: "FullscreenMediaBar",
|
|
1366
1366
|
props: {
|
|
1367
1367
|
currentTime: {},
|
|
@@ -1379,8 +1379,8 @@ var pt = {
|
|
|
1379
1379
|
"volume-toggle"
|
|
1380
1380
|
],
|
|
1381
1381
|
setup(e, { emit: t }) {
|
|
1382
|
-
let n = e, r = t, l = D(null), u = D(!1), d = i(() => n.volumeControlLayout === "vertical"), f = i(() => C(n.volume, 0, 1)), p = i(() => Math.round(f.value * 100)), m = i(() => n.muted || f.value <= 0 ?
|
|
1383
|
-
|
|
1382
|
+
let n = e, r = t, l = D(null), u = D(!1), d = i(() => n.volumeControlLayout === "vertical"), f = i(() => C(n.volume, 0, 1)), p = i(() => Math.round(f.value * 100)), m = i(() => n.muted || f.value <= 0 ? fe : f.value < .5 ? ue : de), h = i(() => n.muted || f.value <= 0 ? "Unmute active media" : "Mute active media"), g = i(() => d.value && !u.value ? "Show volume controls" : h.value), _ = i(() => n.volumeControlLayout === "vertical" ? { height: `${p.value}%` } : { width: `${p.value}%` });
|
|
1383
|
+
z(d, (e) => {
|
|
1384
1384
|
e || (u.value = !1);
|
|
1385
1385
|
}), S(() => {
|
|
1386
1386
|
document.addEventListener("pointerdown", v);
|
|
@@ -1404,9 +1404,9 @@ var pt = {
|
|
|
1404
1404
|
function C(e, t, n) {
|
|
1405
1405
|
return Math.min(Math.max(e, t), n);
|
|
1406
1406
|
}
|
|
1407
|
-
return (e, t) => (w(), s("div",
|
|
1408
|
-
c("span",
|
|
1409
|
-
c("div",
|
|
1407
|
+
return (e, t) => (w(), s("div", ht, [c("div", gt, [
|
|
1408
|
+
c("span", _t, M(n.currentTimeLabel), 1),
|
|
1409
|
+
c("div", vt, [
|
|
1410
1410
|
t[3] ||= c("div", { class: "absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12" }, null, -1),
|
|
1411
1411
|
c("div", {
|
|
1412
1412
|
class: "absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]",
|
|
@@ -1423,16 +1423,16 @@ var pt = {
|
|
|
1423
1423
|
disabled: n.duration <= 0,
|
|
1424
1424
|
class: "vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent disabled:cursor-default disabled:opacity-50",
|
|
1425
1425
|
onInput: t[0] ||= (e) => r("seek-input", e)
|
|
1426
|
-
}, null, 40,
|
|
1426
|
+
}, null, 40, yt)
|
|
1427
1427
|
]),
|
|
1428
|
-
c("span",
|
|
1428
|
+
c("span", bt, M(n.durationLabel), 1),
|
|
1429
1429
|
c("div", {
|
|
1430
1430
|
ref_key: "rootRef",
|
|
1431
1431
|
ref: l,
|
|
1432
1432
|
"data-testid": "vibe-media-volume",
|
|
1433
1433
|
"data-layout": n.volumeControlLayout,
|
|
1434
1434
|
class: "relative flex items-center justify-end"
|
|
1435
|
-
}, [d.value && u.value ? (w(), s("div",
|
|
1435
|
+
}, [d.value && u.value ? (w(), s("div", St, [c("div", Ct, [
|
|
1436
1436
|
t[4] ||= c("div", { class: "absolute bottom-0 left-1/2 h-full w-px -translate-x-1/2 bg-white/12" }, null, -1),
|
|
1437
1437
|
c("div", {
|
|
1438
1438
|
class: "absolute bottom-0 left-1/2 w-px -translate-x-1/2 bg-[#f7f1ea]",
|
|
@@ -1449,8 +1449,8 @@ var pt = {
|
|
|
1449
1449
|
value: f.value,
|
|
1450
1450
|
class: "vibe-media-slider absolute left-1/2 top-1/2 h-4 w-28 -translate-x-1/2 -translate-y-1/2 -rotate-90 bg-transparent",
|
|
1451
1451
|
onInput: t[1] ||= (e) => r("volume-input", e)
|
|
1452
|
-
}, null, 40,
|
|
1453
|
-
])])) : o("", !0), c("div",
|
|
1452
|
+
}, null, 40, wt)
|
|
1453
|
+
])])) : o("", !0), c("div", Tt, [c("button", {
|
|
1454
1454
|
type: "button",
|
|
1455
1455
|
"data-testid": "vibe-media-volume-button",
|
|
1456
1456
|
"aria-label": g.value,
|
|
@@ -1459,7 +1459,7 @@ var pt = {
|
|
|
1459
1459
|
}, [(w(), a(A(m.value), {
|
|
1460
1460
|
class: "h-4 w-4 stroke-[1.9]",
|
|
1461
1461
|
"aria-hidden": "true"
|
|
1462
|
-
}))], 8,
|
|
1462
|
+
}))], 8, Et), n.volumeControlLayout === "horizontal" ? (w(), s("div", Dt, [
|
|
1463
1463
|
t[5] ||= c("div", { class: "absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12" }, null, -1),
|
|
1464
1464
|
c("div", {
|
|
1465
1465
|
class: "absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]",
|
|
@@ -1476,24 +1476,24 @@ var pt = {
|
|
|
1476
1476
|
value: f.value,
|
|
1477
1477
|
class: "vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent",
|
|
1478
1478
|
onInput: t[2] ||= (e) => r("volume-input", e)
|
|
1479
|
-
}, null, 40,
|
|
1480
|
-
])) : o("", !0)])], 8,
|
|
1479
|
+
}, null, 40, Ot)
|
|
1480
|
+
])) : o("", !0)])], 8, xt)
|
|
1481
1481
|
])]));
|
|
1482
1482
|
}
|
|
1483
|
-
}),
|
|
1483
|
+
}), At = { class: "pointer-events-none absolute inset-0 z-[3] flex flex-col justify-between p-[clamp(1.25rem,2.6vw,2.25rem)]" }, jt = { class: "grid gap-4" }, Mt = { class: "flex min-h-11 items-center justify-between gap-4" }, Nt = { class: "min-w-0 flex flex-1 items-center gap-3" }, Pt = {
|
|
1484
1484
|
key: 1,
|
|
1485
1485
|
"data-testid": "vibe-title",
|
|
1486
1486
|
class: "m-0 truncate text-left text-[0.82rem] leading-none tracking-[-0.04em] min-[721px]:text-[1.2rem]"
|
|
1487
|
-
},
|
|
1487
|
+
}, Ft = { class: "pointer-events-auto flex shrink-0 items-center gap-2" }, It = {
|
|
1488
1488
|
"data-testid": "vibe-pagination",
|
|
1489
1489
|
class: "inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]"
|
|
1490
|
-
},
|
|
1490
|
+
}, Lt = { class: "whitespace-nowrap" }, Rt = {
|
|
1491
1491
|
key: 1,
|
|
1492
1492
|
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3"
|
|
1493
|
-
},
|
|
1493
|
+
}, zt = {
|
|
1494
1494
|
key: 0,
|
|
1495
1495
|
class: "grid gap-2 max-[720px]:justify-items-start"
|
|
1496
|
-
},
|
|
1496
|
+
}, Bt = /* @__PURE__ */ d({
|
|
1497
1497
|
__name: "FullscreenHeader",
|
|
1498
1498
|
props: {
|
|
1499
1499
|
currentIndex: {},
|
|
@@ -1507,47 +1507,47 @@ var pt = {
|
|
|
1507
1507
|
emits: ["back-to-list"],
|
|
1508
1508
|
setup(e, { emit: t }) {
|
|
1509
1509
|
let n = e, r = t;
|
|
1510
|
-
return (e, t) => (w(), s("div",
|
|
1510
|
+
return (e, t) => (w(), s("div", At, [c("div", jt, [c("div", Mt, [c("div", Nt, [n.showBackToList ? (w(), s("button", {
|
|
1511
1511
|
key: 0,
|
|
1512
1512
|
type: "button",
|
|
1513
1513
|
"data-testid": "vibe-back-to-list",
|
|
1514
1514
|
class: "pointer-events-auto inline-flex h-11 w-11 shrink-0 items-center justify-center border border-white/14 bg-black/40 text-[#f7f1ea]/78 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/55",
|
|
1515
1515
|
"aria-label": "Back to list",
|
|
1516
1516
|
onClick: t[0] ||= (e) => r("back-to-list")
|
|
1517
|
-
}, [u(
|
|
1517
|
+
}, [u(F(X), {
|
|
1518
1518
|
class: "h-4 w-4 stroke-[2.2]",
|
|
1519
1519
|
"aria-hidden": "true"
|
|
1520
|
-
})])) : o("", !0), n.title ? (w(), s("h2",
|
|
1521
|
-
n.loading ? (w(), a(
|
|
1520
|
+
})])) : o("", !0), n.title ? (w(), s("h2", Pt, M(n.title), 1)) : o("", !0)]), c("div", Ft, [c("span", It, [
|
|
1521
|
+
n.loading ? (w(), a(F(oe), {
|
|
1522
1522
|
key: 0,
|
|
1523
1523
|
"data-testid": "vibe-pagination-spinner",
|
|
1524
1524
|
class: "h-3.5 w-3.5 animate-spin stroke-[1.9]",
|
|
1525
1525
|
"aria-hidden": "true"
|
|
1526
1526
|
})) : o("", !0),
|
|
1527
|
-
c("span",
|
|
1528
|
-
n.paginationDetail ? (w(), s("span",
|
|
1529
|
-
]), k(e.$slots, "actions")])])]), n.showEndBadge ? (w(), s("div",
|
|
1530
|
-
}
|
|
1531
|
-
}),
|
|
1532
|
-
image:
|
|
1533
|
-
video:
|
|
1534
|
-
audio:
|
|
1535
|
-
other:
|
|
1536
|
-
},
|
|
1527
|
+
c("span", Lt, M(n.currentIndex + 1) + " / " + M(n.total), 1),
|
|
1528
|
+
n.paginationDetail ? (w(), s("span", Rt, M(n.paginationDetail), 1)) : o("", !0)
|
|
1529
|
+
]), k(e.$slots, "actions")])])]), n.showEndBadge ? (w(), s("div", zt, [...t[1] ||= [c("span", { class: "inline-flex items-center border border-amber-300/35 bg-black/40 px-4 py-3 text-[0.74rem] font-bold uppercase tracking-[0.2em] text-amber-200 backdrop-blur-[18px]" }, " End reached ", -1)]])) : o("", !0)]));
|
|
1530
|
+
}
|
|
1531
|
+
}), Vt = {
|
|
1532
|
+
image: Z,
|
|
1533
|
+
video: ie,
|
|
1534
|
+
audio: re,
|
|
1535
|
+
other: ae
|
|
1536
|
+
}, Ht = {
|
|
1537
1537
|
image: "Image",
|
|
1538
1538
|
video: "Video",
|
|
1539
1539
|
audio: "Audio",
|
|
1540
1540
|
other: "File"
|
|
1541
1541
|
};
|
|
1542
|
-
function
|
|
1543
|
-
return
|
|
1542
|
+
function Ut(e) {
|
|
1543
|
+
return Vt[e];
|
|
1544
1544
|
}
|
|
1545
|
-
function
|
|
1546
|
-
return
|
|
1545
|
+
function Wt(e) {
|
|
1546
|
+
return Ht[e];
|
|
1547
1547
|
}
|
|
1548
1548
|
//#endregion
|
|
1549
1549
|
//#region src/components/viewer-core/useAssetLoadQueue.ts
|
|
1550
|
-
function
|
|
1550
|
+
function Gt() {
|
|
1551
1551
|
let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = 0;
|
|
1552
1552
|
function r(r) {
|
|
1553
1553
|
let a = {
|
|
@@ -1570,7 +1570,7 @@ function Ut() {
|
|
|
1570
1570
|
function i() {
|
|
1571
1571
|
if (t.size === 0) return;
|
|
1572
1572
|
let n = [...t.values()].sort((e, t) => {
|
|
1573
|
-
let n =
|
|
1573
|
+
let n = qt(e) - qt(t);
|
|
1574
1574
|
return n === 0 ? e.enqueuedAt - t.enqueuedAt : n;
|
|
1575
1575
|
});
|
|
1576
1576
|
for (let r of n) {
|
|
@@ -1584,8 +1584,8 @@ function Ut() {
|
|
|
1584
1584
|
}
|
|
1585
1585
|
return { request: r };
|
|
1586
1586
|
}
|
|
1587
|
-
var
|
|
1588
|
-
function
|
|
1587
|
+
var Kt = Gt();
|
|
1588
|
+
function qt(e) {
|
|
1589
1589
|
try {
|
|
1590
1590
|
let t = e.getPriority();
|
|
1591
1591
|
return Number.isFinite(t) ? t : Infinity;
|
|
@@ -1595,20 +1595,20 @@ function Gt(e) {
|
|
|
1595
1595
|
}
|
|
1596
1596
|
//#endregion
|
|
1597
1597
|
//#region src/components/viewer-core/useFullscreenPreloadController.ts
|
|
1598
|
-
var
|
|
1598
|
+
var Jt = [
|
|
1599
1599
|
0,
|
|
1600
1600
|
1,
|
|
1601
1601
|
2,
|
|
1602
1602
|
3
|
|
1603
|
-
],
|
|
1603
|
+
], Yt = {
|
|
1604
1604
|
0: 0,
|
|
1605
1605
|
1: 1,
|
|
1606
1606
|
2: 2,
|
|
1607
1607
|
3: 3
|
|
1608
1608
|
};
|
|
1609
|
-
function
|
|
1610
|
-
let t = D({}), n =
|
|
1611
|
-
|
|
1609
|
+
function Xt(e) {
|
|
1610
|
+
let t = D({}), n = Gt(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set();
|
|
1611
|
+
z([
|
|
1612
1612
|
e.active,
|
|
1613
1613
|
e.items,
|
|
1614
1614
|
e.resolvedActiveIndex
|
|
@@ -1628,14 +1628,14 @@ function Jt(e) {
|
|
|
1628
1628
|
}
|
|
1629
1629
|
function l(e, t) {
|
|
1630
1630
|
if (t instanceof HTMLImageElement) {
|
|
1631
|
-
i.set(e, t),
|
|
1631
|
+
i.set(e, t), Qt(t) && d(e);
|
|
1632
1632
|
return;
|
|
1633
1633
|
}
|
|
1634
1634
|
i.delete(e);
|
|
1635
1635
|
}
|
|
1636
1636
|
function u(e, t) {
|
|
1637
1637
|
if (t instanceof HTMLMediaElement) {
|
|
1638
|
-
a.set(e, t),
|
|
1638
|
+
a.set(e, t), $t(t) && d(e);
|
|
1639
1639
|
return;
|
|
1640
1640
|
}
|
|
1641
1641
|
a.delete(e);
|
|
@@ -1676,7 +1676,7 @@ function Jt(e) {
|
|
|
1676
1676
|
assetType: s.item.type === "image" ? "image" : "video",
|
|
1677
1677
|
getPriority: () => g(o.index),
|
|
1678
1678
|
onGrant: () => {
|
|
1679
|
-
y(s.key, !0), (e.isAssetReady(s.key, s.item) ||
|
|
1679
|
+
y(s.key, !0), (e.isAssetReady(s.key, s.item) || Zt(s.key, i, a)) && d(s.key);
|
|
1680
1680
|
},
|
|
1681
1681
|
url: s.item.url
|
|
1682
1682
|
})
|
|
@@ -1687,14 +1687,14 @@ function Jt(e) {
|
|
|
1687
1687
|
}
|
|
1688
1688
|
function h() {
|
|
1689
1689
|
let t = e.resolvedActiveIndex.value;
|
|
1690
|
-
return
|
|
1690
|
+
return Jt.map((e) => _(t + e)).filter((e) => !!e);
|
|
1691
1691
|
}
|
|
1692
1692
|
function g(t) {
|
|
1693
|
-
return e.active.value ?
|
|
1693
|
+
return e.active.value ? Yt[t - e.resolvedActiveIndex.value] ?? Infinity : Infinity;
|
|
1694
1694
|
}
|
|
1695
1695
|
function _(t) {
|
|
1696
1696
|
let n = e.items.value[t];
|
|
1697
|
-
return !n || !
|
|
1697
|
+
return !n || !en(n) ? null : {
|
|
1698
1698
|
index: t,
|
|
1699
1699
|
item: n,
|
|
1700
1700
|
key: e.getItemKey(n)
|
|
@@ -1743,26 +1743,26 @@ function Jt(e) {
|
|
|
1743
1743
|
shouldAttachSlideAsset: s
|
|
1744
1744
|
};
|
|
1745
1745
|
}
|
|
1746
|
-
function
|
|
1746
|
+
function Zt(e, t, n) {
|
|
1747
1747
|
let r = t.get(e);
|
|
1748
|
-
if (r) return
|
|
1748
|
+
if (r) return Qt(r);
|
|
1749
1749
|
let i = n.get(e);
|
|
1750
|
-
return i ?
|
|
1750
|
+
return i ? $t(i) : !1;
|
|
1751
1751
|
}
|
|
1752
|
-
function
|
|
1752
|
+
function Qt(e) {
|
|
1753
1753
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1754
1754
|
}
|
|
1755
|
-
function
|
|
1755
|
+
function $t(e) {
|
|
1756
1756
|
let t = typeof HTMLMediaElement > "u" ? 1 : HTMLMediaElement.HAVE_METADATA;
|
|
1757
1757
|
return e.readyState >= t;
|
|
1758
1758
|
}
|
|
1759
|
-
function
|
|
1759
|
+
function en(e) {
|
|
1760
1760
|
return e.type === "image" || e.type === "video" || e.type === "audio";
|
|
1761
1761
|
}
|
|
1762
1762
|
//#endregion
|
|
1763
1763
|
//#region src/components/viewer-core/useFullscreenSurfaceMedia.ts
|
|
1764
|
-
function
|
|
1765
|
-
let t =
|
|
1764
|
+
function tn(e) {
|
|
1765
|
+
let t = Xt({
|
|
1766
1766
|
active: e.active,
|
|
1767
1767
|
getItemKey: r,
|
|
1768
1768
|
isAssetReady: m,
|
|
@@ -1772,10 +1772,10 @@ function $t(e) {
|
|
|
1772
1772
|
});
|
|
1773
1773
|
function n(e, t) {
|
|
1774
1774
|
let n = t.title?.trim();
|
|
1775
|
-
return n ? `${e} ${n}` : `${e} ${
|
|
1775
|
+
return n ? `${e} ${n}` : `${e} ${Wt(t.type).toLowerCase()}`;
|
|
1776
1776
|
}
|
|
1777
1777
|
function r(e) {
|
|
1778
|
-
return
|
|
1778
|
+
return $(e);
|
|
1779
1779
|
}
|
|
1780
1780
|
function i(e) {
|
|
1781
1781
|
return t.shouldAttachSlideAsset(e);
|
|
@@ -1835,11 +1835,11 @@ function $t(e) {
|
|
|
1835
1835
|
}
|
|
1836
1836
|
//#endregion
|
|
1837
1837
|
//#region src/components/viewer-core/slotContent.ts
|
|
1838
|
-
function
|
|
1838
|
+
function nn(e) {
|
|
1839
1839
|
if (!Array.isArray(e)) return !1;
|
|
1840
1840
|
for (let t of e) {
|
|
1841
1841
|
if (Array.isArray(t)) {
|
|
1842
|
-
if (
|
|
1842
|
+
if (nn(t)) return !0;
|
|
1843
1843
|
continue;
|
|
1844
1844
|
}
|
|
1845
1845
|
if (!h(t)) {
|
|
@@ -1850,20 +1850,20 @@ function en(e) {
|
|
|
1850
1850
|
if (t != null && t !== !1) return !0;
|
|
1851
1851
|
continue;
|
|
1852
1852
|
}
|
|
1853
|
-
if (!
|
|
1853
|
+
if (!rn(t)) return !0;
|
|
1854
1854
|
}
|
|
1855
1855
|
return !1;
|
|
1856
1856
|
}
|
|
1857
|
-
function
|
|
1858
|
-
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !
|
|
1857
|
+
function rn(r) {
|
|
1858
|
+
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !nn(r.children) : !1;
|
|
1859
1859
|
}
|
|
1860
1860
|
//#endregion
|
|
1861
1861
|
//#region src/components/viewer-core/useSurfaceEmptyState.ts
|
|
1862
|
-
var
|
|
1863
|
-
function
|
|
1862
|
+
var an = "no items available";
|
|
1863
|
+
function on(e) {
|
|
1864
1864
|
let t = i(() => e.loading.value || e.itemCount.value > 0 || e.emptyStateMode.value === "hidden" ? null : {
|
|
1865
1865
|
loading: !!e.loading.value,
|
|
1866
|
-
message:
|
|
1866
|
+
message: an,
|
|
1867
1867
|
mode: e.emptyStateMode.value === "badge" ? "badge" : "inline",
|
|
1868
1868
|
surface: e.surface,
|
|
1869
1869
|
total: e.itemCount.value
|
|
@@ -1871,23 +1871,23 @@ function rn(e) {
|
|
|
1871
1871
|
return {
|
|
1872
1872
|
emptyStateProps: t,
|
|
1873
1873
|
showBadgeEmptyState: i(() => t.value?.mode === "badge"),
|
|
1874
|
-
showCustomEmptyState: i(() =>
|
|
1874
|
+
showCustomEmptyState: i(() => nn(n.value)),
|
|
1875
1875
|
showInlineEmptyState: i(() => t.value?.mode === "inline")
|
|
1876
1876
|
};
|
|
1877
1877
|
}
|
|
1878
1878
|
//#endregion
|
|
1879
1879
|
//#region src/components/viewer-core/format.ts
|
|
1880
|
-
function
|
|
1880
|
+
function sn(e) {
|
|
1881
1881
|
if (!Number.isFinite(e) || e <= 0) return "0:00";
|
|
1882
1882
|
let t = Math.floor(e), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60;
|
|
1883
1883
|
return n > 0 ? `${n}:${String(r).padStart(2, "0")}:${String(i).padStart(2, "0")}` : `${r}:${String(i).padStart(2, "0")}`;
|
|
1884
1884
|
}
|
|
1885
1885
|
//#endregion
|
|
1886
1886
|
//#region src/components/viewer-core/surfaceStatus.ts
|
|
1887
|
-
function
|
|
1887
|
+
function cn(e) {
|
|
1888
1888
|
return e.phase ? e.phase : e.loading ? e.itemCount > 0 ? "loading" : "initializing" : "idle";
|
|
1889
1889
|
}
|
|
1890
|
-
function
|
|
1890
|
+
function ln(e) {
|
|
1891
1891
|
return e.phase === "failed" ? {
|
|
1892
1892
|
kind: "failed",
|
|
1893
1893
|
message: e.errorMessage ?? (e.hasItems ? "The viewer could not load more items." : "The viewer could not load items.")
|
|
@@ -1910,9 +1910,9 @@ function sn(e) {
|
|
|
1910
1910
|
}
|
|
1911
1911
|
//#endregion
|
|
1912
1912
|
//#region src/components/viewer-core/useActivation.ts
|
|
1913
|
-
function
|
|
1913
|
+
function un(e) {
|
|
1914
1914
|
let t = !1;
|
|
1915
|
-
|
|
1915
|
+
z(e.enabled, async (t) => {
|
|
1916
1916
|
if (n(t), t) {
|
|
1917
1917
|
e.onResize(), await e.onEnable();
|
|
1918
1918
|
return;
|
|
@@ -1933,7 +1933,7 @@ function cn(e) {
|
|
|
1933
1933
|
}
|
|
1934
1934
|
//#endregion
|
|
1935
1935
|
//#region src/components/viewer-core/assetState.ts
|
|
1936
|
-
var
|
|
1936
|
+
var dn = {
|
|
1937
1937
|
currentTime: 0,
|
|
1938
1938
|
duration: 0,
|
|
1939
1939
|
errorKind: null,
|
|
@@ -1942,38 +1942,38 @@ var ln = {
|
|
|
1942
1942
|
ready: !1,
|
|
1943
1943
|
volume: 1
|
|
1944
1944
|
};
|
|
1945
|
-
function
|
|
1946
|
-
return { ...
|
|
1945
|
+
function fn() {
|
|
1946
|
+
return { ...dn };
|
|
1947
1947
|
}
|
|
1948
|
-
function
|
|
1948
|
+
function pn(e) {
|
|
1949
1949
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1950
1950
|
}
|
|
1951
|
-
function
|
|
1952
|
-
e.currentTime = Number.isFinite(t.currentTime) ? t.currentTime : 0, e.duration = Number.isFinite(t.duration) ? t.duration : 0, e.muted = t.muted, e.paused = t.paused, e.volume = Number.isFinite(t.volume) ? t.volume : e.volume, n && n !== "error" && (e.errorKind = null), e.ready =
|
|
1951
|
+
function mn(e, t, n) {
|
|
1952
|
+
e.currentTime = Number.isFinite(t.currentTime) ? t.currentTime : 0, e.duration = Number.isFinite(t.duration) ? t.duration : 0, e.muted = t.muted, e.paused = t.paused, e.volume = Number.isFinite(t.volume) ? t.volume : e.volume, n && n !== "error" && (e.errorKind = null), e.ready = hn(t, n);
|
|
1953
1953
|
}
|
|
1954
|
-
function
|
|
1954
|
+
function hn(e, t) {
|
|
1955
1955
|
return t === "error" || t === "loadstart" || t === "waiting" || t === "stalled" ? !1 : t === "canplay" || t === "canplaythrough" || t === "playing" ? !0 : e.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA;
|
|
1956
1956
|
}
|
|
1957
1957
|
//#endregion
|
|
1958
1958
|
//#region src/components/viewer-core/loadError.ts
|
|
1959
|
-
var
|
|
1960
|
-
function
|
|
1959
|
+
var gn = /* @__PURE__ */ new Map();
|
|
1960
|
+
function _n(e) {
|
|
1961
1961
|
return e === "not-found" ? "404" : "Load error";
|
|
1962
1962
|
}
|
|
1963
|
-
function
|
|
1963
|
+
function vn(e) {
|
|
1964
1964
|
return e === "generic";
|
|
1965
1965
|
}
|
|
1966
|
-
function
|
|
1967
|
-
return
|
|
1966
|
+
function yn(e) {
|
|
1967
|
+
return bn(e).then((e) => e ?? "generic");
|
|
1968
1968
|
}
|
|
1969
|
-
function
|
|
1970
|
-
let t =
|
|
1969
|
+
function bn(e) {
|
|
1970
|
+
let t = gn.get(e);
|
|
1971
1971
|
if (t) return t;
|
|
1972
|
-
let n =
|
|
1973
|
-
return
|
|
1972
|
+
let n = xn(e);
|
|
1973
|
+
return gn.set(e, n), n;
|
|
1974
1974
|
}
|
|
1975
|
-
async function
|
|
1976
|
-
if (!
|
|
1975
|
+
async function xn(e) {
|
|
1976
|
+
if (!Sn(e)) return null;
|
|
1977
1977
|
try {
|
|
1978
1978
|
let t = await fetch(e, { method: "HEAD" });
|
|
1979
1979
|
return t.ok ? null : t.status === 404 ? "not-found" : "generic";
|
|
@@ -1981,12 +1981,12 @@ async function yn(e) {
|
|
|
1981
1981
|
return "generic";
|
|
1982
1982
|
}
|
|
1983
1983
|
}
|
|
1984
|
-
function
|
|
1984
|
+
function Sn(e) {
|
|
1985
1985
|
return /^(https?:\/\/|\/)/i.test(e);
|
|
1986
1986
|
}
|
|
1987
1987
|
//#endregion
|
|
1988
1988
|
//#region src/components/viewer-core/mediaPlayback.ts
|
|
1989
|
-
function
|
|
1989
|
+
function Cn(e) {
|
|
1990
1990
|
try {
|
|
1991
1991
|
let t = e.play();
|
|
1992
1992
|
t && typeof t.catch == "function" && t.catch(() => {});
|
|
@@ -1994,17 +1994,17 @@ function xn(e) {
|
|
|
1994
1994
|
}
|
|
1995
1995
|
//#endregion
|
|
1996
1996
|
//#region src/components/viewer-core/useMedia.ts
|
|
1997
|
-
function
|
|
1998
|
-
let t = D({}), n = D({}), r = D({}), a = D({}), o = D({}), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set(), u = i(() => e.activeItem.value ?
|
|
1997
|
+
function wn(e) {
|
|
1998
|
+
let t = D({}), n = D({}), r = D({}), a = D({}), o = D({}), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set(), u = i(() => e.activeItem.value ? $(e.activeItem.value) : null), d = i(() => e.activeMediaItem.value ? $(e.activeMediaItem.value) : null), f = i(() => {
|
|
1999
1999
|
let t = /* @__PURE__ */ new Map();
|
|
2000
|
-
for (let n of e.items.value) t.set(
|
|
2000
|
+
for (let n of e.items.value) t.set($(n), n);
|
|
2001
2001
|
return t;
|
|
2002
|
-
}), p = i(() => d.value ? r.value[d.value] ??
|
|
2003
|
-
|
|
2002
|
+
}), p = i(() => d.value ? r.value[d.value] ?? dn : dn), m = i(() => d.value ? p.value.duration : 0), h = i(() => m.value <= 0 ? 0 : Tn(p.value.currentTime / m.value * 100, 0, 100)), g = i(() => u.value ? L(u.value) : null);
|
|
2003
|
+
z(() => u.value, async () => {
|
|
2004
2004
|
await C();
|
|
2005
|
-
}),
|
|
2005
|
+
}), z(() => e.itemCount.value, async () => {
|
|
2006
2006
|
await C();
|
|
2007
|
-
}),
|
|
2007
|
+
}), z(() => e.loopFullscreenVideo.value, async () => {
|
|
2008
2008
|
await C();
|
|
2009
2009
|
});
|
|
2010
2010
|
function v(e, t) {
|
|
@@ -2022,10 +2022,10 @@ function Sn(e) {
|
|
|
2022
2022
|
c.delete(e);
|
|
2023
2023
|
}
|
|
2024
2024
|
function b(e, r) {
|
|
2025
|
-
r instanceof HTMLImageElement &&
|
|
2025
|
+
r instanceof HTMLImageElement && pn(r) && (t.value[e] = !0, n.value[e] = null, Y(e, r.currentSrc || r.src || re(e)));
|
|
2026
2026
|
}
|
|
2027
2027
|
function x() {
|
|
2028
|
-
|
|
2028
|
+
U(), a.value = {}, n.value = {}, t.value = {}, o.value = {}, r.value = {}, l.clear();
|
|
2029
2029
|
}
|
|
2030
2030
|
function S(e) {
|
|
2031
2031
|
delete t.value[e], delete n.value[e], delete o.value[e], delete r.value[e], l.forEach((t) => {
|
|
@@ -2034,24 +2034,24 @@ function Sn(e) {
|
|
|
2034
2034
|
}
|
|
2035
2035
|
async function C() {
|
|
2036
2036
|
if (!e.isEnabled.value) {
|
|
2037
|
-
|
|
2037
|
+
U();
|
|
2038
2038
|
return;
|
|
2039
2039
|
}
|
|
2040
2040
|
await _();
|
|
2041
2041
|
let t = u.value;
|
|
2042
2042
|
for (let [n, i] of s.entries()) {
|
|
2043
2043
|
if (n !== t || r.value[n]?.errorKind) {
|
|
2044
|
-
|
|
2044
|
+
H(i, n);
|
|
2045
2045
|
continue;
|
|
2046
2046
|
}
|
|
2047
|
-
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0,
|
|
2047
|
+
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0, Cn(i), W(n, i);
|
|
2048
2048
|
}
|
|
2049
2049
|
for (let [e, n] of c.entries()) {
|
|
2050
2050
|
if (e !== t || r.value[e]?.errorKind) {
|
|
2051
|
-
|
|
2051
|
+
H(n, e);
|
|
2052
2052
|
continue;
|
|
2053
2053
|
}
|
|
2054
|
-
|
|
2054
|
+
Cn(n), W(e, n);
|
|
2055
2055
|
}
|
|
2056
2056
|
}
|
|
2057
2057
|
function w(e, t) {
|
|
@@ -2060,16 +2060,16 @@ function Sn(e) {
|
|
|
2060
2060
|
let i = r.value[e]?.ready ?? !1;
|
|
2061
2061
|
W(e, n, t.type);
|
|
2062
2062
|
let a = r.value[e]?.ready ?? !1;
|
|
2063
|
-
!i && a && Y(e, n.currentSrc || n.src ||
|
|
2063
|
+
!i && a && Y(e, n.currentSrc || n.src || re(e));
|
|
2064
2064
|
}
|
|
2065
2065
|
}
|
|
2066
2066
|
function T(e, r) {
|
|
2067
2067
|
t.value[e] = !0, n.value[e] = null, Y(e, r);
|
|
2068
2068
|
}
|
|
2069
2069
|
async function E(r, i) {
|
|
2070
|
-
let a =
|
|
2070
|
+
let a = X(r) ?? e.activeItem.value;
|
|
2071
2071
|
t.value[r] = !1, n.value[r] = "generic";
|
|
2072
|
-
let o = await
|
|
2072
|
+
let o = await yn(i);
|
|
2073
2073
|
n.value[r] = o, a && e.onAssetError?.({
|
|
2074
2074
|
item: a,
|
|
2075
2075
|
occurrenceKey: r,
|
|
@@ -2079,7 +2079,7 @@ function Sn(e) {
|
|
|
2079
2079
|
});
|
|
2080
2080
|
}
|
|
2081
2081
|
async function O(t, n) {
|
|
2082
|
-
let r =
|
|
2082
|
+
let r = q(t), i = te(t), a = X(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
|
|
2083
2083
|
if (r) {
|
|
2084
2084
|
r.pause();
|
|
2085
2085
|
try {
|
|
@@ -2087,7 +2087,7 @@ function Sn(e) {
|
|
|
2087
2087
|
} catch {}
|
|
2088
2088
|
}
|
|
2089
2089
|
i.currentTime = 0, i.duration = 0, i.paused = !0, i.ready = !1, i.errorKind = "generic";
|
|
2090
|
-
let o = await
|
|
2090
|
+
let o = await yn(n);
|
|
2091
2091
|
i.errorKind = o, a && e.onAssetError?.({
|
|
2092
2092
|
item: a,
|
|
2093
2093
|
occurrenceKey: t,
|
|
@@ -2097,28 +2097,28 @@ function Sn(e) {
|
|
|
2097
2097
|
});
|
|
2098
2098
|
}
|
|
2099
2099
|
function k(e, t, n) {
|
|
2100
|
-
e.button !== 0 || Date.now() < n ||
|
|
2100
|
+
e.button !== 0 || Date.now() < n || ne(s.get(t) ?? null);
|
|
2101
2101
|
}
|
|
2102
2102
|
function A(e, t, n) {
|
|
2103
|
-
e.button !== 0 || Date.now() < n ||
|
|
2103
|
+
e.button !== 0 || Date.now() < n || ne(q(t));
|
|
2104
2104
|
}
|
|
2105
2105
|
function j(e) {
|
|
2106
|
-
let t =
|
|
2106
|
+
let t = J(), n = d.value;
|
|
2107
2107
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
2108
2108
|
let r = Number.parseFloat(e.target.value);
|
|
2109
2109
|
if (!Number.isFinite(r)) return;
|
|
2110
|
-
let i =
|
|
2111
|
-
|
|
2110
|
+
let i = Tn(r, 0, m.value || 0);
|
|
2111
|
+
G(n, i, t), t.currentTime = i;
|
|
2112
2112
|
}
|
|
2113
2113
|
function M(e) {
|
|
2114
|
-
let t =
|
|
2114
|
+
let t = J(), n = d.value;
|
|
2115
2115
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
2116
|
-
let r =
|
|
2116
|
+
let r = Tn(Number.parseFloat(e.target.value), 0, 1);
|
|
2117
2117
|
t.volume = r, t.muted = r <= 0, r > 0 && (o.value[n] = r), W(n, t);
|
|
2118
2118
|
}
|
|
2119
2119
|
function N() {
|
|
2120
|
-
let e =
|
|
2121
|
-
!e || !t || (e.muted || e.volume <= 0 ? (e.volume =
|
|
2120
|
+
let e = J(), t = d.value;
|
|
2121
|
+
!e || !t || (e.muted || e.volume <= 0 ? (e.volume = K(t), e.muted = !1, o.value[t] = e.volume) : (o.value[t] = e.volume, e.muted = !0), W(t, e));
|
|
2122
2122
|
}
|
|
2123
2123
|
function P(e) {
|
|
2124
2124
|
return !!t.value[e] && !n.value[e];
|
|
@@ -2129,70 +2129,70 @@ function Sn(e) {
|
|
|
2129
2129
|
function I(e) {
|
|
2130
2130
|
return e.url;
|
|
2131
2131
|
}
|
|
2132
|
-
function
|
|
2132
|
+
function L(e) {
|
|
2133
2133
|
return n.value[e] ?? r.value[e]?.errorKind ?? null;
|
|
2134
2134
|
}
|
|
2135
|
-
function
|
|
2136
|
-
let t =
|
|
2137
|
-
return t ?
|
|
2135
|
+
function R(e) {
|
|
2136
|
+
let t = L(e);
|
|
2137
|
+
return t ? _n(t) : null;
|
|
2138
2138
|
}
|
|
2139
2139
|
function ee(e) {
|
|
2140
|
-
return
|
|
2140
|
+
return vn(L(e));
|
|
2141
2141
|
}
|
|
2142
|
-
function
|
|
2142
|
+
function B(e) {
|
|
2143
2143
|
return `${e}:${a.value[e] ?? 0}`;
|
|
2144
2144
|
}
|
|
2145
|
-
async function
|
|
2145
|
+
async function V(e) {
|
|
2146
2146
|
if (!ee(e)) return;
|
|
2147
2147
|
t.value[e] = !1, n.value[e] = null;
|
|
2148
|
-
let r =
|
|
2148
|
+
let r = te(e);
|
|
2149
2149
|
r.currentTime = 0, r.duration = 0, r.paused = !0, r.ready = !1, r.errorKind = null;
|
|
2150
|
-
let i =
|
|
2151
|
-
i &&
|
|
2150
|
+
let i = q(e);
|
|
2151
|
+
i && H(i, e), l.forEach((t) => {
|
|
2152
2152
|
t.startsWith(`${e}|`) && l.delete(t);
|
|
2153
2153
|
}), a.value[e] = (a.value[e] ?? 0) + 1, await _(), await C();
|
|
2154
2154
|
}
|
|
2155
|
-
function
|
|
2155
|
+
function H(e, t) {
|
|
2156
2156
|
e.pause();
|
|
2157
2157
|
try {
|
|
2158
2158
|
e.currentTime = 0;
|
|
2159
2159
|
} catch {}
|
|
2160
2160
|
W(t, e);
|
|
2161
2161
|
}
|
|
2162
|
-
function
|
|
2163
|
-
for (let [e, t] of s.entries())
|
|
2164
|
-
for (let [e, t] of c.entries())
|
|
2162
|
+
function U() {
|
|
2163
|
+
for (let [e, t] of s.entries()) H(t, e);
|
|
2164
|
+
for (let [e, t] of c.entries()) H(t, e);
|
|
2165
2165
|
}
|
|
2166
|
-
function
|
|
2167
|
-
return r.value[e] || (r.value[e] =
|
|
2166
|
+
function te(e) {
|
|
2167
|
+
return r.value[e] || (r.value[e] = fn()), r.value[e];
|
|
2168
2168
|
}
|
|
2169
2169
|
function W(e, t, n) {
|
|
2170
|
-
|
|
2170
|
+
mn(te(e), t, n), !t.muted && t.volume > 0 && (o.value[e] = t.volume);
|
|
2171
2171
|
}
|
|
2172
|
-
function
|
|
2173
|
-
let r =
|
|
2172
|
+
function G(e, t, n) {
|
|
2173
|
+
let r = te(e);
|
|
2174
2174
|
r.currentTime = t, r.duration = Number.isFinite(n.duration) ? n.duration : r.duration, r.muted = n.muted, r.paused = n.paused, r.volume = Number.isFinite(n.volume) ? n.volume : r.volume;
|
|
2175
2175
|
}
|
|
2176
|
-
function G(e) {
|
|
2177
|
-
return Cn(o.value[e] ?? 1, 0, 1);
|
|
2178
|
-
}
|
|
2179
2176
|
function K(e) {
|
|
2177
|
+
return Tn(o.value[e] ?? 1, 0, 1);
|
|
2178
|
+
}
|
|
2179
|
+
function q(e) {
|
|
2180
2180
|
return s.get(e) ?? c.get(e) ?? null;
|
|
2181
2181
|
}
|
|
2182
|
-
function
|
|
2183
|
-
return d.value ?
|
|
2182
|
+
function J() {
|
|
2183
|
+
return d.value ? q(d.value) : null;
|
|
2184
2184
|
}
|
|
2185
|
-
function
|
|
2185
|
+
function ne(e) {
|
|
2186
2186
|
if (e) {
|
|
2187
2187
|
if (e.paused) {
|
|
2188
|
-
|
|
2188
|
+
Cn(e);
|
|
2189
2189
|
return;
|
|
2190
2190
|
}
|
|
2191
2191
|
e.pause();
|
|
2192
2192
|
}
|
|
2193
2193
|
}
|
|
2194
2194
|
function Y(t, n) {
|
|
2195
|
-
let r =
|
|
2195
|
+
let r = X(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
|
|
2196
2196
|
if (!r || !n) return;
|
|
2197
2197
|
let i = `${t}|${n}`;
|
|
2198
2198
|
l.has(i) || (l.add(i), e.onAssetLoad?.({
|
|
@@ -2202,20 +2202,20 @@ function Sn(e) {
|
|
|
2202
2202
|
url: n
|
|
2203
2203
|
}));
|
|
2204
2204
|
}
|
|
2205
|
-
function
|
|
2205
|
+
function X(e) {
|
|
2206
2206
|
return f.value.get(e) ?? null;
|
|
2207
2207
|
}
|
|
2208
|
-
function
|
|
2209
|
-
return
|
|
2208
|
+
function re(e) {
|
|
2209
|
+
return X(e)?.url ?? null;
|
|
2210
2210
|
}
|
|
2211
2211
|
return {
|
|
2212
2212
|
activeAssetErrorKind: g,
|
|
2213
2213
|
activeMediaDuration: m,
|
|
2214
2214
|
activeMediaProgress: h,
|
|
2215
2215
|
activeMediaState: p,
|
|
2216
|
-
getAssetErrorKind:
|
|
2217
|
-
getAssetErrorLabel:
|
|
2218
|
-
getAssetRenderKey:
|
|
2216
|
+
getAssetErrorKind: L,
|
|
2217
|
+
getAssetErrorLabel: R,
|
|
2218
|
+
getAssetRenderKey: B,
|
|
2219
2219
|
getImageSource: I,
|
|
2220
2220
|
isImageReady: P,
|
|
2221
2221
|
isMediaReady: F,
|
|
@@ -2235,20 +2235,20 @@ function Sn(e) {
|
|
|
2235
2235
|
registerVideoElement: v,
|
|
2236
2236
|
resetAssetState: S,
|
|
2237
2237
|
resetMediaState: x,
|
|
2238
|
-
retryAsset:
|
|
2238
|
+
retryAsset: V,
|
|
2239
2239
|
syncMediaPlayback: C
|
|
2240
2240
|
};
|
|
2241
2241
|
}
|
|
2242
|
-
function
|
|
2242
|
+
function Tn(e, t, n) {
|
|
2243
2243
|
return Math.min(Math.max(e, t), n);
|
|
2244
2244
|
}
|
|
2245
2245
|
//#endregion
|
|
2246
2246
|
//#region src/components/viewer-core/virtualization.ts
|
|
2247
|
-
var
|
|
2247
|
+
var En = {
|
|
2248
2248
|
backward: 1,
|
|
2249
2249
|
forward: 3
|
|
2250
2250
|
};
|
|
2251
|
-
function
|
|
2251
|
+
function Dn(e, t, n = En) {
|
|
2252
2252
|
return t <= 0 ? {
|
|
2253
2253
|
start: 0,
|
|
2254
2254
|
end: -1
|
|
@@ -2257,14 +2257,14 @@ function Tn(e, t, n = wn) {
|
|
|
2257
2257
|
end: Math.min(t - 1, e + n.forward)
|
|
2258
2258
|
};
|
|
2259
2259
|
}
|
|
2260
|
-
function
|
|
2261
|
-
let r =
|
|
2260
|
+
function On(e, t, n = En) {
|
|
2261
|
+
let r = Dn(t, e.length, n);
|
|
2262
2262
|
return r.end < r.start ? [] : e.slice(r.start, r.end + 1).map((e, t) => ({
|
|
2263
2263
|
item: e,
|
|
2264
2264
|
index: r.start + t
|
|
2265
2265
|
}));
|
|
2266
2266
|
}
|
|
2267
|
-
function
|
|
2267
|
+
function kn(e, t, n, r, i) {
|
|
2268
2268
|
return {
|
|
2269
2269
|
transform: `translate3d(0, ${(e - t) * n + r}px, 0)`,
|
|
2270
2270
|
transition: i ? "none" : "transform 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
@@ -2272,12 +2272,12 @@ function Dn(e, t, n, r, i) {
|
|
|
2272
2272
|
}
|
|
2273
2273
|
//#endregion
|
|
2274
2274
|
//#region src/components/viewer-core/useViewer.ts
|
|
2275
|
-
function
|
|
2276
|
-
let r = i(() => e.items), a = i(() => e.activeIndex ?? 0), o = i(() => e.errorMessage ?? null), s = i(() => e.loading ?? !1), c = i(() => e.hasNextPage ?? !1), l = i(() => e.loopFullscreenVideo ?? !0), u = i(() => e.paginationDetail ?? null), d = i(() =>
|
|
2275
|
+
function An(e, t, n = {}) {
|
|
2276
|
+
let r = i(() => e.items), a = i(() => e.activeIndex ?? 0), o = i(() => e.errorMessage ?? null), s = i(() => e.loading ?? !1), c = i(() => e.hasNextPage ?? !1), l = i(() => e.loopFullscreenVideo ?? !0), u = i(() => e.paginationDetail ?? null), d = i(() => cn({
|
|
2277
2277
|
itemCount: r.value.length,
|
|
2278
2278
|
loading: s.value,
|
|
2279
2279
|
phase: e.phase
|
|
2280
|
-
})), f = i(() => !1), p = D(null), m = D(0), h = D(!1), g = D(1), _ = n.enabled ?? i(() => !0), v = null, y = 0, b = 0, x = 0, S = i(() => r.value.length === 0 ? 0 : P(a.value, 0, r.value.length - 1)), C = i(() => r.value[S.value] ?? null), w = i(() => C.value?.type === "audio" || C.value?.type === "video" ? C.value : null), T =
|
|
2280
|
+
})), f = i(() => !1), p = D(null), m = D(0), h = D(!1), g = D(1), _ = n.enabled ?? i(() => !0), v = null, y = 0, b = 0, x = 0, S = i(() => r.value.length === 0 ? 0 : P(a.value, 0, r.value.length - 1)), C = i(() => r.value[S.value] ?? null), w = i(() => C.value?.type === "audio" || C.value?.type === "video" ? C.value : null), T = wn({
|
|
2281
2281
|
items: r,
|
|
2282
2282
|
activeItem: C,
|
|
2283
2283
|
activeMediaItem: w,
|
|
@@ -2286,17 +2286,17 @@ function On(e, t, n = {}) {
|
|
|
2286
2286
|
loopFullscreenVideo: l,
|
|
2287
2287
|
onAssetError: n.onAssetError,
|
|
2288
2288
|
onAssetLoad: n.onAssetLoad
|
|
2289
|
-
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() =>
|
|
2289
|
+
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() => ln({
|
|
2290
2290
|
errorMessage: o.value,
|
|
2291
2291
|
hasItems: r.value.length > 0,
|
|
2292
2292
|
hasNextPage: c.value,
|
|
2293
2293
|
phase: d.value,
|
|
2294
2294
|
surface: "fullscreen"
|
|
2295
|
-
})), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() =>
|
|
2296
|
-
|
|
2295
|
+
})), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() => Dn(S.value, r.value.length)), N = i(() => On(r.value, S.value));
|
|
2296
|
+
un({
|
|
2297
2297
|
enabled: _,
|
|
2298
2298
|
onDisable() {
|
|
2299
|
-
|
|
2299
|
+
U(), T.resetMediaState();
|
|
2300
2300
|
},
|
|
2301
2301
|
onEnable() {
|
|
2302
2302
|
return T.syncMediaPlayback();
|
|
@@ -2323,55 +2323,55 @@ function On(e, t, n = {}) {
|
|
|
2323
2323
|
return t && !I(-1) || n && !I(1) ? e * .24 : e;
|
|
2324
2324
|
}
|
|
2325
2325
|
function z(e) {
|
|
2326
|
-
!_.value || r.value.length === 0 || e.pointerType === "mouse" ||
|
|
2326
|
+
!_.value || r.value.length === 0 || e.pointerType === "mouse" || Q(e.target) || (v = e.pointerId, y = e.clientY, m.value = 0, h.value = !0, p.value?.setPointerCapture?.(e.pointerId));
|
|
2327
2327
|
}
|
|
2328
2328
|
function ee(e) {
|
|
2329
2329
|
!_.value || !h.value || v !== e.pointerId || (m.value = R(e.clientY - y));
|
|
2330
2330
|
}
|
|
2331
|
-
function te(e) {
|
|
2332
|
-
!_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), V());
|
|
2333
|
-
}
|
|
2334
2331
|
function B(e) {
|
|
2335
2332
|
!_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), H());
|
|
2336
2333
|
}
|
|
2337
|
-
function V() {
|
|
2338
|
-
|
|
2334
|
+
function V(e) {
|
|
2335
|
+
!_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), U());
|
|
2339
2336
|
}
|
|
2340
2337
|
function H() {
|
|
2338
|
+
Math.abs(m.value) >= j.value && (x = Date.now() + 250, L(m.value < 0 ? 1 : -1)), U();
|
|
2339
|
+
}
|
|
2340
|
+
function U() {
|
|
2341
2341
|
m.value = 0, h.value = !1, v = null;
|
|
2342
2342
|
}
|
|
2343
|
-
function
|
|
2344
|
-
if (!_.value || r.value.length === 0 || h.value ||
|
|
2343
|
+
function te(e) {
|
|
2344
|
+
if (!_.value || r.value.length === 0 || h.value || Q(e.target) || Math.abs(e.deltaY) < Math.max(Math.abs(e.deltaX), 24)) return;
|
|
2345
2345
|
e.preventDefault();
|
|
2346
2346
|
let t = Date.now();
|
|
2347
2347
|
t < b || (b = t + 400, L(e.deltaY > 0 ? 1 : -1));
|
|
2348
2348
|
}
|
|
2349
2349
|
function W(e) {
|
|
2350
|
-
!_.value || r.value.length === 0 ||
|
|
2350
|
+
!_.value || r.value.length === 0 || ge(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(), L(1)), (e.key === "ArrowUp" || e.key === "PageUp") && (e.preventDefault(), L(-1)));
|
|
2351
2351
|
}
|
|
2352
|
-
function
|
|
2352
|
+
function G(e, t) {
|
|
2353
2353
|
T.onVideoClick(e, t, x);
|
|
2354
2354
|
}
|
|
2355
|
-
function
|
|
2355
|
+
function K(e, t) {
|
|
2356
2356
|
T.onAudioCoverClick(e, t, x);
|
|
2357
2357
|
}
|
|
2358
|
-
function
|
|
2358
|
+
function q(e) {
|
|
2359
2359
|
T.onMediaSeekInput(e);
|
|
2360
2360
|
}
|
|
2361
|
-
function
|
|
2361
|
+
function J(e) {
|
|
2362
2362
|
T.onMediaVolumeInput(e);
|
|
2363
2363
|
}
|
|
2364
|
-
function
|
|
2364
|
+
function ne() {
|
|
2365
2365
|
T.onMediaVolumeToggle();
|
|
2366
2366
|
}
|
|
2367
2367
|
function Y(e) {
|
|
2368
2368
|
return e.type === "image" || e.type === "video";
|
|
2369
2369
|
}
|
|
2370
|
-
function
|
|
2370
|
+
function X(e) {
|
|
2371
2371
|
return e.type === "audio";
|
|
2372
2372
|
}
|
|
2373
|
-
function
|
|
2374
|
-
return
|
|
2373
|
+
function re(e) {
|
|
2374
|
+
return kn(e, S.value, g.value, m.value, h.value);
|
|
2375
2375
|
}
|
|
2376
2376
|
return {
|
|
2377
2377
|
activeItem: C,
|
|
@@ -2386,32 +2386,32 @@ function On(e, t, n = {}) {
|
|
|
2386
2386
|
getAssetErrorKind: T.getAssetErrorKind,
|
|
2387
2387
|
getAssetErrorLabel: T.getAssetErrorLabel,
|
|
2388
2388
|
getAssetRenderKey: T.getAssetRenderKey,
|
|
2389
|
-
formatPlaybackTime:
|
|
2389
|
+
formatPlaybackTime: sn,
|
|
2390
2390
|
getImageSource: T.getImageSource,
|
|
2391
|
-
getSlideStyle:
|
|
2391
|
+
getSlideStyle: re,
|
|
2392
2392
|
hasNextPage: c,
|
|
2393
2393
|
isAtEnd: E,
|
|
2394
|
-
isAudio:
|
|
2394
|
+
isAudio: X,
|
|
2395
2395
|
isVisual: Y,
|
|
2396
2396
|
items: r,
|
|
2397
2397
|
loading: s,
|
|
2398
2398
|
mediaStates: T.mediaStates,
|
|
2399
2399
|
isImageReady: T.isImageReady,
|
|
2400
2400
|
isMediaReady: T.isMediaReady,
|
|
2401
|
-
onAudioCoverClick:
|
|
2401
|
+
onAudioCoverClick: K,
|
|
2402
2402
|
onImageError: T.onImageError,
|
|
2403
2403
|
onImageLoad: T.onImageLoad,
|
|
2404
2404
|
onMediaEvent: T.onMediaEvent,
|
|
2405
2405
|
onMediaError: T.onMediaError,
|
|
2406
|
-
onMediaSeekInput:
|
|
2407
|
-
onMediaVolumeInput:
|
|
2408
|
-
onMediaVolumeToggle:
|
|
2409
|
-
onPointerCancel:
|
|
2406
|
+
onMediaSeekInput: q,
|
|
2407
|
+
onMediaVolumeInput: J,
|
|
2408
|
+
onMediaVolumeToggle: ne,
|
|
2409
|
+
onPointerCancel: V,
|
|
2410
2410
|
onPointerDown: z,
|
|
2411
2411
|
onPointerMove: ee,
|
|
2412
|
-
onPointerUp:
|
|
2413
|
-
onVideoClick:
|
|
2414
|
-
onWheel:
|
|
2412
|
+
onPointerUp: B,
|
|
2413
|
+
onVideoClick: G,
|
|
2414
|
+
onWheel: te,
|
|
2415
2415
|
registerAudioElement: T.registerAudioElement,
|
|
2416
2416
|
registerImageElement: T.registerImageElement,
|
|
2417
2417
|
registerVideoElement: T.registerVideoElement,
|
|
@@ -2430,21 +2430,21 @@ function On(e, t, n = {}) {
|
|
|
2430
2430
|
}
|
|
2431
2431
|
//#endregion
|
|
2432
2432
|
//#region src/components/viewer-core/theme.ts
|
|
2433
|
-
var
|
|
2433
|
+
var jn = "bg-[linear-gradient(180deg,#0a0b10,#05060a)]", Mn = "bg-[linear-gradient(180deg,#0b0c11,#06070b)]", Nn = {
|
|
2434
2434
|
image: !0,
|
|
2435
2435
|
video: !0,
|
|
2436
2436
|
audio: !0,
|
|
2437
2437
|
other: !0
|
|
2438
2438
|
};
|
|
2439
|
-
function
|
|
2440
|
-
return
|
|
2439
|
+
function Pn(e) {
|
|
2440
|
+
return Nn[e], jn;
|
|
2441
2441
|
}
|
|
2442
|
-
function
|
|
2443
|
-
return
|
|
2442
|
+
function Fn(e) {
|
|
2443
|
+
return Nn[e], Mn;
|
|
2444
2444
|
}
|
|
2445
2445
|
//#endregion
|
|
2446
2446
|
//#region src/components/viewer-core/useFullscreenAssetEvents.ts
|
|
2447
|
-
function
|
|
2447
|
+
function In(e) {
|
|
2448
2448
|
function t(t, n) {
|
|
2449
2449
|
return e.fullscreenMedia.shouldHandleSlideAssetEvent(t, n) ? e.fullscreenMedia.getItemKey(n) : null;
|
|
2450
2450
|
}
|
|
@@ -2477,7 +2477,7 @@ function Pn(e) {
|
|
|
2477
2477
|
}
|
|
2478
2478
|
//#endregion
|
|
2479
2479
|
//#region src/components/viewer-core/dominantImageTone.ts
|
|
2480
|
-
function
|
|
2480
|
+
function Ln(e) {
|
|
2481
2481
|
if (e.naturalWidth <= 0 || e.naturalHeight <= 0) return null;
|
|
2482
2482
|
let t = document.createElement("canvas"), n = t.getContext("2d", { willReadFrequently: !0 });
|
|
2483
2483
|
if (!n) return null;
|
|
@@ -2492,20 +2492,20 @@ function Fn(e) {
|
|
|
2492
2492
|
r += d, i += s * d, a += c * d, o += l * d;
|
|
2493
2493
|
}
|
|
2494
2494
|
return r <= 0 ? null : {
|
|
2495
|
-
r:
|
|
2496
|
-
g:
|
|
2497
|
-
b:
|
|
2495
|
+
r: Rn(Math.round(i / r)),
|
|
2496
|
+
g: Rn(Math.round(a / r)),
|
|
2497
|
+
b: Rn(Math.round(o / r))
|
|
2498
2498
|
};
|
|
2499
2499
|
} catch {
|
|
2500
2500
|
return null;
|
|
2501
2501
|
}
|
|
2502
2502
|
}
|
|
2503
|
-
function
|
|
2503
|
+
function Rn(e) {
|
|
2504
2504
|
return Math.min(235, Math.max(26, e));
|
|
2505
2505
|
}
|
|
2506
2506
|
//#endregion
|
|
2507
2507
|
//#region src/components/viewer-core/useFullscreenDominantTone.ts
|
|
2508
|
-
function
|
|
2508
|
+
function zn(e) {
|
|
2509
2509
|
let t = D({}), n = i(() => e.activeItem.value ? e.getItemKey(e.activeItem.value) : null), r = i(() => !e.showDominantImageTone.value || e.activeItem.value?.type !== "image" || !n.value || !e.isImageReady(n.value) ? null : t.value[n.value] ?? null), a = i(() => {
|
|
2510
2510
|
if (!r.value) return;
|
|
2511
2511
|
let { r: e, g: t, b: n } = r.value;
|
|
@@ -2515,12 +2515,12 @@ function Ln(e) {
|
|
|
2515
2515
|
let { r: e, g: t, b: n } = r.value;
|
|
2516
2516
|
return { background: `radial-gradient(circle at center, rgba(${e},${t},${n},0.42) 0%, transparent 44%), linear-gradient(180deg,#0b0c11,#06070b)` };
|
|
2517
2517
|
});
|
|
2518
|
-
|
|
2518
|
+
z(() => e.showDominantImageTone.value, (e) => {
|
|
2519
2519
|
e || (t.value = {});
|
|
2520
2520
|
});
|
|
2521
2521
|
function s(n, r) {
|
|
2522
2522
|
if (!e.showDominantImageTone.value) return;
|
|
2523
|
-
let i =
|
|
2523
|
+
let i = Ln(r);
|
|
2524
2524
|
i && (t.value[n] = i);
|
|
2525
2525
|
}
|
|
2526
2526
|
return {
|
|
@@ -2531,7 +2531,7 @@ function Ln(e) {
|
|
|
2531
2531
|
}
|
|
2532
2532
|
//#endregion
|
|
2533
2533
|
//#region src/components/SurfaceEmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
2534
|
-
var
|
|
2534
|
+
var Bn = ["data-surface"], Vn = ["data-surface"], Hn = /* @__PURE__ */ d({
|
|
2535
2535
|
inheritAttrs: !1,
|
|
2536
2536
|
__name: "SurfaceEmptyState",
|
|
2537
2537
|
props: {
|
|
@@ -2540,36 +2540,36 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2540
2540
|
surface: {}
|
|
2541
2541
|
},
|
|
2542
2542
|
setup(e) {
|
|
2543
|
-
let t =
|
|
2544
|
-
return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 },
|
|
2543
|
+
let t = I();
|
|
2544
|
+
return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 }, F(t), {
|
|
2545
2545
|
"data-testid": "vibe-empty-state-inline",
|
|
2546
2546
|
"data-surface": e.surface,
|
|
2547
2547
|
class: ["pointer-events-none absolute z-[4] text-center", e.surface === "grid" ? "inset-x-0 top-[clamp(6rem,22vh,11rem)] flex justify-center px-6" : "inset-0 grid place-items-center px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)]"]
|
|
2548
|
-
}), [k(n.$slots, "default", {}, () => [c("p", { class: v(["m-0 text-[0.82rem] font-medium tracking-[0.08em]", e.surface === "grid" ? "text-[#f7f1ea]/58" : "text-[#f7f1ea]/64"]) },
|
|
2548
|
+
}), [k(n.$slots, "default", {}, () => [c("p", { class: v(["m-0 text-[0.82rem] font-medium tracking-[0.08em]", e.surface === "grid" ? "text-[#f7f1ea]/58" : "text-[#f7f1ea]/64"]) }, M(e.message), 3)])], 16, Bn)) : (w(), s("div", g({ key: 1 }, F(t), { class: ["pointer-events-none absolute z-[4]", e.surface === "grid" ? "inset-x-0 bottom-0 flex justify-center px-6" : "bottom-[1.8rem] left-1/2 -translate-x-1/2 max-[720px]:bottom-[1.3rem]"] }), [k(n.$slots, "default", {}, () => [c("span", {
|
|
2549
2549
|
"data-testid": "vibe-empty-state-badge",
|
|
2550
2550
|
"data-surface": e.surface,
|
|
2551
2551
|
class: v(["inline-flex items-center border border-white/14 backdrop-blur-[18px]", e.surface === "grid" ? "bg-black/55 px-4 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/72" : "w-auto bg-black/40 px-5 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/74 max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center"])
|
|
2552
|
-
},
|
|
2552
|
+
}, M(e.message), 11, Vn)])], 16));
|
|
2553
2553
|
}
|
|
2554
|
-
}),
|
|
2554
|
+
}), Un = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]" }, Wn = {
|
|
2555
2555
|
key: 0,
|
|
2556
2556
|
class: "relative h-full min-h-0"
|
|
2557
|
-
},
|
|
2557
|
+
}, Gn = [
|
|
2558
2558
|
"data-item-id",
|
|
2559
2559
|
"data-occurrence-key",
|
|
2560
2560
|
"data-index",
|
|
2561
2561
|
"data-active",
|
|
2562
2562
|
"aria-hidden"
|
|
2563
|
-
],
|
|
2563
|
+
], Kn = {
|
|
2564
2564
|
key: 0,
|
|
2565
2565
|
"data-testid": "vibe-asset-spinner",
|
|
2566
2566
|
class: "pointer-events-none absolute inset-0 z-[2] grid place-items-center"
|
|
2567
|
-
},
|
|
2567
|
+
}, qn = { class: "inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]" }, Jn = ["data-kind"], Yn = { class: "grid justify-items-center gap-4 border border-white/14 bg-black/45 px-8 py-7 text-center backdrop-blur-[18px]" }, Xn = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, Zn = ["onClick"], Qn = [
|
|
2568
2568
|
"src",
|
|
2569
2569
|
"alt",
|
|
2570
2570
|
"onLoad",
|
|
2571
2571
|
"onError"
|
|
2572
|
-
],
|
|
2572
|
+
], $n = [
|
|
2573
2573
|
"loop",
|
|
2574
2574
|
"src",
|
|
2575
2575
|
"preload",
|
|
@@ -2588,15 +2588,15 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2588
2588
|
"onStalled",
|
|
2589
2589
|
"onTimeupdate",
|
|
2590
2590
|
"onWaiting"
|
|
2591
|
-
],
|
|
2591
|
+
], er = { class: "relative grid aspect-square w-[clamp(320px,46vw,560px)] max-w-[calc(100vw-2.5rem)] place-items-center" }, tr = [
|
|
2592
2592
|
"aria-label",
|
|
2593
2593
|
"disabled",
|
|
2594
2594
|
"onClick"
|
|
2595
|
-
],
|
|
2595
|
+
], nr = { class: "relative z-[1] inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-emerald-500/12 p-4 backdrop-blur-[20px]" }, rr = { class: "pointer-events-none absolute bottom-4 right-4 inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 backdrop-blur-[18px]" }, ir = {
|
|
2596
2596
|
key: 0,
|
|
2597
2597
|
"data-testid": "vibe-asset-spinner",
|
|
2598
2598
|
class: "pointer-events-none absolute inset-0 z-[3] grid place-items-center"
|
|
2599
|
-
},
|
|
2599
|
+
}, ar = { class: "inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]" }, or = ["data-kind"], sr = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, cr = ["onClick"], lr = [
|
|
2600
2600
|
"src",
|
|
2601
2601
|
"preload",
|
|
2602
2602
|
"onCanplay",
|
|
@@ -2612,26 +2612,26 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2612
2612
|
"onStalled",
|
|
2613
2613
|
"onTimeupdate",
|
|
2614
2614
|
"onWaiting"
|
|
2615
|
-
],
|
|
2615
|
+
], ur = {
|
|
2616
2616
|
key: 2,
|
|
2617
2617
|
class: "relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center"
|
|
2618
|
-
},
|
|
2618
|
+
}, dr = { class: "inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-white/8 p-4 backdrop-blur-[20px]" }, fr = {
|
|
2619
2619
|
key: 0,
|
|
2620
2620
|
"data-testid": "vibe-fullscreen-overlay",
|
|
2621
2621
|
class: "pointer-events-none absolute inset-0 z-[6]"
|
|
2622
|
-
},
|
|
2622
|
+
}, pr = { class: "h-full w-full" }, mr = {
|
|
2623
2623
|
key: 1,
|
|
2624
2624
|
"data-testid": "vibe-forward-fill-placeholder",
|
|
2625
2625
|
class: "grid h-full min-h-0 place-items-center px-6 text-center"
|
|
2626
|
-
},
|
|
2626
|
+
}, hr = { class: "grid justify-items-center gap-4 border border-white/14 bg-black/40 px-8 py-7 backdrop-blur-[18px]" }, gr = { class: "inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)]" }, _r = { class: "m-0 text-[0.78rem] font-bold uppercase tracking-[0.24em] text-[#f7f1ea]/72" }, vr = {
|
|
2627
2627
|
key: 0,
|
|
2628
2628
|
"data-testid": "vibe-fullscreen-aside",
|
|
2629
2629
|
class: "h-full min-h-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]"
|
|
2630
|
-
},
|
|
2630
|
+
}, yr = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, br = {
|
|
2631
2631
|
key: 0,
|
|
2632
2632
|
"data-testid": "vibe-fullscreen-aside",
|
|
2633
2633
|
class: "absolute inset-y-0 right-0 z-[6] w-full max-w-[22rem] overflow-hidden border-l border-white/10 bg-black/82 backdrop-blur-[18px]"
|
|
2634
|
-
},
|
|
2634
|
+
}, xr = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, Sr = 1280, Cr = 768, wr = /* @__PURE__ */ d({
|
|
2635
2635
|
__name: "FullscreenSurface",
|
|
2636
2636
|
props: {
|
|
2637
2637
|
active: {
|
|
@@ -2683,27 +2683,27 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2683
2683
|
},
|
|
2684
2684
|
emits: ["back-to-list", "update:activeIndex"],
|
|
2685
2685
|
setup(e, { emit: n }) {
|
|
2686
|
-
let d = e, f =
|
|
2686
|
+
let d = e, f = L(), m = n, h = An(d, (e, t) => {
|
|
2687
2687
|
m("update:activeIndex", t);
|
|
2688
2688
|
}, {
|
|
2689
|
-
enabled:
|
|
2689
|
+
enabled: N(d, "active"),
|
|
2690
2690
|
onAssetError: d.reportAssetError ?? void 0,
|
|
2691
2691
|
onAssetLoad: d.reportAssetLoad ?? void 0
|
|
2692
|
-
}), _ = D(typeof window > "u" ?
|
|
2693
|
-
active:
|
|
2692
|
+
}), _ = D(typeof window > "u" ? Sr : window.innerWidth || Sr), C = tn({
|
|
2693
|
+
active: N(d, "active"),
|
|
2694
2694
|
items: h.items,
|
|
2695
2695
|
resolvedActiveIndex: h.resolvedActiveIndex,
|
|
2696
2696
|
viewer: h
|
|
2697
|
-
}), T = i(() =>
|
|
2697
|
+
}), T = i(() => Pn(h.activeItem.value?.type ?? "image")), { activeSlideToneStyle: E, activeStageToneStyle: j, updateFromImageElement: P } = zn({
|
|
2698
2698
|
activeItem: h.activeItem,
|
|
2699
2699
|
getItemKey: C.getItemKey,
|
|
2700
2700
|
isImageReady: h.isImageReady,
|
|
2701
|
-
showDominantImageTone:
|
|
2702
|
-
}),
|
|
2701
|
+
showDominantImageTone: N(d, "showDominantImageTone")
|
|
2702
|
+
}), I = In({
|
|
2703
2703
|
fullscreenMedia: C,
|
|
2704
|
-
updateDominantToneFromImageElement:
|
|
2704
|
+
updateDominantToneFromImageElement: _e,
|
|
2705
2705
|
viewer: h
|
|
2706
|
-
}), R = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value ? "bottom-[5.8rem] max-[720px]:bottom-[7.4rem]" : "bottom-[1.8rem] max-[720px]:bottom-[1.3rem]"),
|
|
2706
|
+
}), R = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value ? "bottom-[5.8rem] max-[720px]:bottom-[7.4rem]" : "bottom-[1.8rem] max-[720px]:bottom-[1.3rem]"), z = i(() => !!h.activeMediaItem.value && !h.activeAssetErrorKind.value), ee = i(() => _.value < Cr ? "vertical" : "horizontal"), V = i(() => z.value ? "pb-[5.75rem] max-[720px]:pb-[7rem]" : ""), U = i(() => d.activeIndex >= d.items.length && (d.loading || d.hasNextPage)), te = i(() => d.hasNextPage ? "Loading more items" : h.statusMessage.value ?? "Loading more items"), W = i(() => {
|
|
2707
2707
|
let e = h.activeItem.value;
|
|
2708
2708
|
return e ? {
|
|
2709
2709
|
hasNextPage: d.hasNextPage,
|
|
@@ -2713,46 +2713,46 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2713
2713
|
paginationDetail: d.paginationDetail,
|
|
2714
2714
|
total: d.items.length
|
|
2715
2715
|
} : null;
|
|
2716
|
-
}),
|
|
2716
|
+
}), G = i(() => !W.value || !f["fullscreen-header-actions"] ? [] : f["fullscreen-header-actions"](W.value)), K = i(() => !W.value || !f["fullscreen-aside"] ? [] : f["fullscreen-aside"](W.value)), q = i(() => !d.showStatusBadges || !W.value || !h.statusKind.value || !h.statusMessage.value ? null : {
|
|
2717
2717
|
...W.value,
|
|
2718
2718
|
kind: h.statusKind.value,
|
|
2719
2719
|
message: h.statusMessage.value
|
|
2720
|
-
}),
|
|
2721
|
-
gridTemplateColumns:
|
|
2720
|
+
}), J = i(() => !q.value || !f["fullscreen-status"] ? [] : f["fullscreen-status"](q.value)), ne = i(() => ({
|
|
2721
|
+
gridTemplateColumns: re.value ? "minmax(0, 1fr) 22rem" : "minmax(0, 1fr) 0rem",
|
|
2722
2722
|
transition: "grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
2723
|
-
})), Y = i(() =>
|
|
2724
|
-
emptyStateMode:
|
|
2723
|
+
})), Y = i(() => nn(G.value)), X = i(() => nn(K.value)), re = i(() => X.value && _.value >= Sr), ie = i(() => X.value && !re.value), ae = i(() => nn(J.value)), { emptyStateProps: Z, showBadgeEmptyState: ue, showCustomEmptyState: de, showInlineEmptyState: fe } = on({
|
|
2724
|
+
emptyStateMode: N(d, "emptyStateMode"),
|
|
2725
2725
|
itemCount: i(() => d.items.length),
|
|
2726
|
-
loading:
|
|
2726
|
+
loading: N(d, "loading"),
|
|
2727
2727
|
renderSlot: f["empty-state"],
|
|
2728
2728
|
surface: "fullscreen"
|
|
2729
2729
|
});
|
|
2730
2730
|
S(() => {
|
|
2731
|
-
window.addEventListener("resize",
|
|
2731
|
+
window.addEventListener("resize", pe);
|
|
2732
2732
|
}), x(() => {
|
|
2733
|
-
window.removeEventListener("resize",
|
|
2733
|
+
window.removeEventListener("resize", pe);
|
|
2734
2734
|
});
|
|
2735
|
-
function
|
|
2736
|
-
_.value = window.innerWidth ||
|
|
2735
|
+
function pe() {
|
|
2736
|
+
_.value = window.innerWidth || Sr;
|
|
2737
2737
|
}
|
|
2738
|
-
function
|
|
2739
|
-
C.registerImageElement(e, t), h.registerImageElement(e, t), t instanceof HTMLImageElement &&
|
|
2738
|
+
function me(e, t) {
|
|
2739
|
+
C.registerImageElement(e, t), h.registerImageElement(e, t), t instanceof HTMLImageElement && _e(e, t);
|
|
2740
2740
|
}
|
|
2741
|
-
function
|
|
2741
|
+
function he(e, t) {
|
|
2742
2742
|
C.registerMediaElement(e, t), h.registerVideoElement(e, t);
|
|
2743
2743
|
}
|
|
2744
|
-
function
|
|
2744
|
+
function ge(e, t) {
|
|
2745
2745
|
C.registerMediaElement(e, t), h.registerAudioElement(e, t);
|
|
2746
2746
|
}
|
|
2747
|
-
function
|
|
2748
|
-
let r =
|
|
2747
|
+
function Q(e, t, n) {
|
|
2748
|
+
let r = I.onFullscreenMediaEvent(e, t, n), i = n.currentTarget, a = typeof HTMLMediaElement > "u" ? 1 : HTMLMediaElement.HAVE_METADATA;
|
|
2749
2749
|
r && i instanceof HTMLMediaElement && i.readyState >= a && C.settleAssetPreload(r);
|
|
2750
2750
|
}
|
|
2751
|
-
function
|
|
2752
|
-
|
|
2751
|
+
function _e(e, t) {
|
|
2752
|
+
P(e, t);
|
|
2753
2753
|
}
|
|
2754
|
-
function
|
|
2755
|
-
let r =
|
|
2754
|
+
function ve(e, t, n) {
|
|
2755
|
+
let r = I.getHandledItemKey(t, n);
|
|
2756
2756
|
if (!r || (h.onMediaEvent(r, e), !d.loopFullscreenVideo)) return;
|
|
2757
2757
|
let i = e.currentTarget;
|
|
2758
2758
|
if (!(i instanceof HTMLVideoElement)) return;
|
|
@@ -2762,182 +2762,182 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2762
2762
|
let a = i.play();
|
|
2763
2763
|
a && typeof a.catch == "function" && a.catch(() => {});
|
|
2764
2764
|
}
|
|
2765
|
-
return (e, n) => (w(), s("div",
|
|
2765
|
+
return (e, n) => (w(), s("div", Un, [
|
|
2766
2766
|
c("div", {
|
|
2767
2767
|
class: v(["absolute inset-0 transition-[background] duration-200", T.value]),
|
|
2768
|
-
style: b(
|
|
2768
|
+
style: b(F(j))
|
|
2769
2769
|
}, null, 6),
|
|
2770
2770
|
c("div", {
|
|
2771
2771
|
class: "relative z-[1] grid h-full min-h-0",
|
|
2772
|
-
style: b(
|
|
2772
|
+
style: b(ne.value)
|
|
2773
2773
|
}, [c("div", {
|
|
2774
2774
|
ref: "viewer.stageRef",
|
|
2775
2775
|
"data-testid": "vibe-stage",
|
|
2776
2776
|
class: "relative h-full min-h-0 touch-none overflow-hidden",
|
|
2777
|
-
onPointerdown: n[1] ||= (...e) =>
|
|
2778
|
-
onPointermove: n[2] ||= (...e) =>
|
|
2779
|
-
onPointerup: n[3] ||= (...e) =>
|
|
2780
|
-
onPointercancel: n[4] ||= (...e) =>
|
|
2781
|
-
onWheel: n[5] ||= (...e) =>
|
|
2782
|
-
}, [
|
|
2783
|
-
(w(!0), s(t, null, O(
|
|
2784
|
-
key:
|
|
2777
|
+
onPointerdown: n[1] ||= (...e) => F(h).onPointerDown && F(h).onPointerDown(...e),
|
|
2778
|
+
onPointermove: n[2] ||= (...e) => F(h).onPointerMove && F(h).onPointerMove(...e),
|
|
2779
|
+
onPointerup: n[3] ||= (...e) => F(h).onPointerUp && F(h).onPointerUp(...e),
|
|
2780
|
+
onPointercancel: n[4] ||= (...e) => F(h).onPointerCancel && F(h).onPointerCancel(...e),
|
|
2781
|
+
onWheel: n[5] ||= (...e) => F(h).onWheel && F(h).onWheel(...e)
|
|
2782
|
+
}, [F(h).activeItem.value ? (w(), s("div", Wn, [
|
|
2783
|
+
(w(!0), s(t, null, O(F(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
|
|
2784
|
+
key: F(C).getItemKey(r),
|
|
2785
2785
|
"data-testid": "vibe-slide",
|
|
2786
2786
|
"data-item-id": r.id,
|
|
2787
|
-
"data-occurrence-key":
|
|
2787
|
+
"data-occurrence-key": F(C).getItemKey(r),
|
|
2788
2788
|
"data-index": i,
|
|
2789
|
-
"data-active": i ===
|
|
2790
|
-
"aria-hidden": i ===
|
|
2791
|
-
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i ===
|
|
2792
|
-
style: b(
|
|
2789
|
+
"data-active": i === F(h).resolvedActiveIndex.value,
|
|
2790
|
+
"aria-hidden": i === F(h).resolvedActiveIndex.value ? "false" : "true",
|
|
2791
|
+
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i === F(h).resolvedActiveIndex.value ? "pointer-events-auto" : "pointer-events-none"]),
|
|
2792
|
+
style: b(F(h).getSlideStyle(i))
|
|
2793
2793
|
}, [c("div", {
|
|
2794
|
-
class: v(["absolute inset-0 opacity-85",
|
|
2795
|
-
style: b(i ===
|
|
2796
|
-
}, null, 6),
|
|
2794
|
+
class: v(["absolute inset-0 opacity-85", F(Fn)(r.type)]),
|
|
2795
|
+
style: b(i === F(h).resolvedActiveIndex.value && r.type === "image" ? F(E) : void 0)
|
|
2796
|
+
}, null, 6), F(h).isVisual(r) ? (w(), s("div", {
|
|
2797
2797
|
key: 0,
|
|
2798
|
-
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i ===
|
|
2799
|
-
}, [
|
|
2798
|
+
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === F(h).resolvedActiveIndex.value ? V.value : ""])
|
|
2799
|
+
}, [F(C).isAssetLoading(i, r) ? (w(), s("div", Kn, [c("span", qn, [u(F(oe), {
|
|
2800
2800
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2801
2801
|
"aria-hidden": "true"
|
|
2802
|
-
})])])) : o("", !0),
|
|
2802
|
+
})])])) : o("", !0), F(C).isAssetErrored(i, r) ? (w(), s("div", {
|
|
2803
2803
|
key: 1,
|
|
2804
2804
|
"data-testid": "vibe-asset-error",
|
|
2805
|
-
"data-kind":
|
|
2805
|
+
"data-kind": F(C).getAssetErrorKind(r),
|
|
2806
2806
|
class: "grid h-full w-full place-items-center"
|
|
2807
|
-
}, [c("div",
|
|
2808
|
-
u(
|
|
2807
|
+
}, [c("div", Yn, [
|
|
2808
|
+
u(F(le), {
|
|
2809
2809
|
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
2810
2810
|
"aria-hidden": "true"
|
|
2811
2811
|
}),
|
|
2812
|
-
c("p",
|
|
2813
|
-
|
|
2812
|
+
c("p", Xn, M(F(C).getAssetErrorLabel(r)), 1),
|
|
2813
|
+
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
2814
2814
|
key: 0,
|
|
2815
2815
|
type: "button",
|
|
2816
2816
|
class: "inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50",
|
|
2817
|
-
onClick:
|
|
2818
|
-
}, " Retry ", 8,
|
|
2819
|
-
])], 8,
|
|
2820
|
-
key:
|
|
2821
|
-
src:
|
|
2817
|
+
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
2818
|
+
}, " Retry ", 8, Zn)) : o("", !0)
|
|
2819
|
+
])], 8, Jn)) : r.type === "image" ? (w(), s("img", {
|
|
2820
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
2821
|
+
src: F(C).getFullscreenImageSource(i, r),
|
|
2822
2822
|
alt: r.title ?? "",
|
|
2823
2823
|
crossorigin: "anonymous",
|
|
2824
2824
|
draggable: "false",
|
|
2825
|
-
class: v(["block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300",
|
|
2825
|
+
class: v(["block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isImageReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
2826
2826
|
ref_for: !0,
|
|
2827
|
-
ref: (e) =>
|
|
2828
|
-
onLoad: (e) =>
|
|
2829
|
-
onError: (e) =>
|
|
2830
|
-
}, null, 42,
|
|
2831
|
-
key:
|
|
2832
|
-
class: v(["block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300",
|
|
2827
|
+
ref: (e) => me(F(C).getItemKey(r), e),
|
|
2828
|
+
onLoad: (e) => F(I).onFullscreenImageLoad(e, i, r),
|
|
2829
|
+
onError: (e) => F(I).onFullscreenImageError(i, r)
|
|
2830
|
+
}, null, 42, Qn)) : (w(), s("video", {
|
|
2831
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
2832
|
+
class: v(["block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isMediaReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
2833
2833
|
playsinline: "",
|
|
2834
2834
|
loop: d.loopFullscreenVideo,
|
|
2835
|
-
src:
|
|
2836
|
-
preload:
|
|
2835
|
+
src: F(C).getFullscreenMediaSource(i, r),
|
|
2836
|
+
preload: F(C).getFullscreenMediaPreload(i),
|
|
2837
2837
|
ref_for: !0,
|
|
2838
|
-
ref: (e) =>
|
|
2839
|
-
onClick:
|
|
2840
|
-
onCanplay: (e) =>
|
|
2841
|
-
onDurationchange: (e) =>
|
|
2842
|
-
onEnded: (e) =>
|
|
2843
|
-
onError: (e) =>
|
|
2844
|
-
onLoadstart: (e) =>
|
|
2845
|
-
onLoadedmetadata: (e) =>
|
|
2846
|
-
onPause: (e) =>
|
|
2847
|
-
onPlay: (e) =>
|
|
2848
|
-
onPlaying: (e) =>
|
|
2849
|
-
onSeeking: (e) =>
|
|
2850
|
-
onSeeked: (e) =>
|
|
2851
|
-
onStalled: (e) =>
|
|
2852
|
-
onTimeupdate: (e) =>
|
|
2853
|
-
onWaiting: (e) =>
|
|
2854
|
-
}, null, 42,
|
|
2838
|
+
ref: (e) => he(F(C).getItemKey(r), e),
|
|
2839
|
+
onClick: H((e) => F(h).onVideoClick(e, F(C).getItemKey(r)), ["stop"]),
|
|
2840
|
+
onCanplay: (e) => Q(i, r, e),
|
|
2841
|
+
onDurationchange: (e) => Q(i, r, e),
|
|
2842
|
+
onEnded: (e) => ve(e, i, r),
|
|
2843
|
+
onError: (e) => F(I).onFullscreenMediaError(i, r),
|
|
2844
|
+
onLoadstart: (e) => Q(i, r, e),
|
|
2845
|
+
onLoadedmetadata: (e) => Q(i, r, e),
|
|
2846
|
+
onPause: (e) => Q(i, r, e),
|
|
2847
|
+
onPlay: (e) => Q(i, r, e),
|
|
2848
|
+
onPlaying: (e) => Q(i, r, e),
|
|
2849
|
+
onSeeking: (e) => Q(i, r, e),
|
|
2850
|
+
onSeeked: (e) => Q(i, r, e),
|
|
2851
|
+
onStalled: (e) => Q(i, r, e),
|
|
2852
|
+
onTimeupdate: (e) => Q(i, r, e),
|
|
2853
|
+
onWaiting: (e) => Q(i, r, e)
|
|
2854
|
+
}, null, 42, $n))], 2)) : F(h).isAudio(r) ? (w(), s("div", {
|
|
2855
2855
|
key: 1,
|
|
2856
|
-
class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i ===
|
|
2857
|
-
}, [c("div",
|
|
2856
|
+
class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i === F(h).resolvedActiveIndex.value ? V.value : ""])
|
|
2857
|
+
}, [c("div", er, [
|
|
2858
2858
|
c("button", {
|
|
2859
2859
|
type: "button",
|
|
2860
2860
|
class: "relative grid h-full w-full place-items-center border border-white/12 bg-[linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02)),radial-gradient(circle_at_center,rgba(16,185,129,0.14),transparent_58%)] text-[#f7f1ea] transition-[border-color,background] duration-200 hover:border-white/30 hover:bg-[linear-gradient(180deg,rgba(255,255,255,0.07),rgba(255,255,255,0.03)),radial-gradient(circle_at_center,rgba(16,185,129,0.18),transparent_58%)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]",
|
|
2861
|
-
"aria-label":
|
|
2862
|
-
disabled: !!
|
|
2863
|
-
onClick: (e) =>
|
|
2861
|
+
"aria-label": F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(C).getMediaActionLabel("Play", r) : F(C).getMediaActionLabel("Pause", r),
|
|
2862
|
+
disabled: !!F(C).getAssetErrorKind(r),
|
|
2863
|
+
onClick: (e) => F(h).onAudioCoverClick(e, F(C).getItemKey(r))
|
|
2864
2864
|
}, [
|
|
2865
2865
|
n[6] ||= c("span", { class: "pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(16,185,129,0.16),transparent_66%)]" }, null, -1),
|
|
2866
2866
|
n[7] ||= c("span", { class: "pointer-events-none absolute h-[clamp(220px,30vw,360px)] w-[clamp(220px,30vw,360px)] border border-white/8 bg-[radial-gradient(circle,rgba(255,255,255,0.08),transparent_62%)]" }, null, -1),
|
|
2867
|
-
c("span",
|
|
2868
|
-
icon:
|
|
2867
|
+
c("span", nr, [k(e.$slots, "item-icon", {
|
|
2868
|
+
icon: F(Ut)(r.type),
|
|
2869
2869
|
item: r
|
|
2870
|
-
}, () => [(w(), a(A(
|
|
2870
|
+
}, () => [(w(), a(A(F(Ut)(r.type)), {
|
|
2871
2871
|
class: "h-6 w-6 stroke-[1.9]",
|
|
2872
2872
|
"aria-hidden": "true"
|
|
2873
2873
|
}))])]),
|
|
2874
|
-
c("span",
|
|
2874
|
+
c("span", rr, [(w(), a(A(F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(ce) : F(se)), {
|
|
2875
2875
|
class: "h-4 w-4 stroke-2",
|
|
2876
2876
|
"aria-hidden": "true"
|
|
2877
2877
|
}))])
|
|
2878
|
-
], 8,
|
|
2879
|
-
|
|
2878
|
+
], 8, tr),
|
|
2879
|
+
F(C).isAssetLoading(i, r) ? (w(), s("div", ir, [c("span", ar, [u(F(oe), {
|
|
2880
2880
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2881
2881
|
"aria-hidden": "true"
|
|
2882
2882
|
})])])) : o("", !0),
|
|
2883
|
-
|
|
2883
|
+
F(C).getAssetErrorKind(r) ? (w(), s(t, { key: 1 }, [n[8] ||= c("div", { class: "pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(239,68,68,0.12),transparent_66%)]" }, null, -1), c("div", {
|
|
2884
2884
|
"data-testid": "vibe-asset-error",
|
|
2885
|
-
"data-kind":
|
|
2885
|
+
"data-kind": F(C).getAssetErrorKind(r),
|
|
2886
2886
|
class: "relative z-[1] grid justify-items-center gap-4"
|
|
2887
2887
|
}, [
|
|
2888
|
-
u(
|
|
2888
|
+
u(F(le), {
|
|
2889
2889
|
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
2890
2890
|
"aria-hidden": "true"
|
|
2891
2891
|
}),
|
|
2892
|
-
c("p",
|
|
2893
|
-
|
|
2892
|
+
c("p", sr, M(F(C).getAssetErrorLabel(r)), 1),
|
|
2893
|
+
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
2894
2894
|
key: 0,
|
|
2895
2895
|
type: "button",
|
|
2896
2896
|
class: "pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50",
|
|
2897
|
-
onClick:
|
|
2898
|
-
}, " Retry ", 8,
|
|
2899
|
-
], 8,
|
|
2897
|
+
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
2898
|
+
}, " Retry ", 8, cr)) : o("", !0)
|
|
2899
|
+
], 8, or)], 64)) : o("", !0)
|
|
2900
2900
|
]), (w(), s("audio", {
|
|
2901
|
-
key:
|
|
2902
|
-
src:
|
|
2903
|
-
preload:
|
|
2901
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
2902
|
+
src: F(C).getFullscreenMediaSource(i, r),
|
|
2903
|
+
preload: F(C).getFullscreenMediaPreload(i),
|
|
2904
2904
|
class: "pointer-events-none absolute h-px w-px opacity-0",
|
|
2905
2905
|
ref_for: !0,
|
|
2906
|
-
ref: (e) =>
|
|
2907
|
-
onCanplay: (e) =>
|
|
2908
|
-
onDurationchange: (e) =>
|
|
2909
|
-
onError: (e) =>
|
|
2910
|
-
onLoadstart: (e) =>
|
|
2911
|
-
onLoadedmetadata: (e) =>
|
|
2912
|
-
onPause: (e) =>
|
|
2913
|
-
onPlay: (e) =>
|
|
2914
|
-
onPlaying: (e) =>
|
|
2915
|
-
onSeeking: (e) =>
|
|
2916
|
-
onSeeked: (e) =>
|
|
2917
|
-
onStalled: (e) =>
|
|
2918
|
-
onTimeupdate: (e) =>
|
|
2919
|
-
onWaiting: (e) =>
|
|
2920
|
-
}, null, 40,
|
|
2921
|
-
icon:
|
|
2906
|
+
ref: (e) => ge(F(C).getItemKey(r), e),
|
|
2907
|
+
onCanplay: (e) => Q(i, r, e),
|
|
2908
|
+
onDurationchange: (e) => Q(i, r, e),
|
|
2909
|
+
onError: (e) => F(I).onFullscreenMediaError(i, r),
|
|
2910
|
+
onLoadstart: (e) => Q(i, r, e),
|
|
2911
|
+
onLoadedmetadata: (e) => Q(i, r, e),
|
|
2912
|
+
onPause: (e) => Q(i, r, e),
|
|
2913
|
+
onPlay: (e) => Q(i, r, e),
|
|
2914
|
+
onPlaying: (e) => Q(i, r, e),
|
|
2915
|
+
onSeeking: (e) => Q(i, r, e),
|
|
2916
|
+
onSeeked: (e) => Q(i, r, e),
|
|
2917
|
+
onStalled: (e) => Q(i, r, e),
|
|
2918
|
+
onTimeupdate: (e) => Q(i, r, e),
|
|
2919
|
+
onWaiting: (e) => Q(i, r, e)
|
|
2920
|
+
}, null, 40, lr))], 2)) : (w(), s("div", ur, [c("div", dr, [k(e.$slots, "item-icon", {
|
|
2921
|
+
icon: F(Ut)(r.type),
|
|
2922
2922
|
item: r
|
|
2923
|
-
}, () => [(w(), a(A(
|
|
2923
|
+
}, () => [(w(), a(A(F(Ut)(r.type)), {
|
|
2924
2924
|
class: "h-6 w-6 stroke-[1.9]",
|
|
2925
2925
|
"aria-hidden": "true"
|
|
2926
|
-
}))])])]))], 14,
|
|
2927
|
-
W.value && f["fullscreen-overlay"] ? (w(), s("div",
|
|
2928
|
-
|
|
2926
|
+
}))])])]))], 14, Gn))), 128)),
|
|
2927
|
+
W.value && f["fullscreen-overlay"] ? (w(), s("div", fr, [c("div", pr, [k(e.$slots, "fullscreen-overlay", y(p(W.value)))])])) : o("", !0),
|
|
2928
|
+
F(h).activeItem.value ? (w(), a(Bt, {
|
|
2929
2929
|
key: 1,
|
|
2930
|
-
"current-index":
|
|
2930
|
+
"current-index": F(h).resolvedActiveIndex.value,
|
|
2931
2931
|
loading: d.loading,
|
|
2932
|
-
"pagination-detail":
|
|
2932
|
+
"pagination-detail": F(h).paginationDetail.value,
|
|
2933
2933
|
"show-back-to-list": d.showBackToList,
|
|
2934
|
-
"show-end-badge": d.showEndBadge &&
|
|
2935
|
-
title:
|
|
2936
|
-
total:
|
|
2934
|
+
"show-end-badge": d.showEndBadge && F(h).isAtEnd.value && !F(h).hasNextPage.value && !F(h).loading.value,
|
|
2935
|
+
title: F(h).activeItem.value.title ?? null,
|
|
2936
|
+
total: F(h).items.value.length,
|
|
2937
2937
|
onBackToList: n[0] ||= (e) => m("back-to-list")
|
|
2938
2938
|
}, l({ _: 2 }, [Y.value && W.value ? {
|
|
2939
2939
|
name: "actions",
|
|
2940
|
-
fn:
|
|
2940
|
+
fn: B(() => [k(e.$slots, "fullscreen-header-actions", y(p(W.value)))]),
|
|
2941
2941
|
key: "0"
|
|
2942
2942
|
} : void 0]), 1032, [
|
|
2943
2943
|
"current-index",
|
|
@@ -2948,19 +2948,19 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2948
2948
|
"title",
|
|
2949
2949
|
"total"
|
|
2950
2950
|
])) : o("", !0),
|
|
2951
|
-
|
|
2951
|
+
z.value ? (w(), a(kt, {
|
|
2952
2952
|
key: 2,
|
|
2953
|
-
"current-time":
|
|
2954
|
-
"current-time-label":
|
|
2955
|
-
duration:
|
|
2956
|
-
"duration-label":
|
|
2957
|
-
muted:
|
|
2958
|
-
progress:
|
|
2959
|
-
volume:
|
|
2960
|
-
"volume-control-layout":
|
|
2961
|
-
onSeekInput:
|
|
2962
|
-
onVolumeInput:
|
|
2963
|
-
onVolumeToggle:
|
|
2953
|
+
"current-time": F(h).activeMediaState.value.currentTime,
|
|
2954
|
+
"current-time-label": F(h).formatPlaybackTime(F(h).activeMediaState.value.currentTime),
|
|
2955
|
+
duration: F(h).activeMediaDuration.value,
|
|
2956
|
+
"duration-label": F(h).formatPlaybackTime(F(h).activeMediaDuration.value),
|
|
2957
|
+
muted: F(h).activeMediaState.value.muted,
|
|
2958
|
+
progress: F(h).activeMediaProgress.value,
|
|
2959
|
+
volume: F(h).activeMediaState.value.volume,
|
|
2960
|
+
"volume-control-layout": ee.value,
|
|
2961
|
+
onSeekInput: F(h).onMediaSeekInput,
|
|
2962
|
+
onVolumeInput: F(h).onMediaVolumeInput,
|
|
2963
|
+
onVolumeToggle: F(h).onMediaVolumeToggle
|
|
2964
2964
|
}, null, 8, [
|
|
2965
2965
|
"current-time",
|
|
2966
2966
|
"current-time-label",
|
|
@@ -2974,36 +2974,36 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
2974
2974
|
"onVolumeInput",
|
|
2975
2975
|
"onVolumeToggle"
|
|
2976
2976
|
])) : o("", !0),
|
|
2977
|
-
|
|
2977
|
+
q.value ? (w(), s("div", {
|
|
2978
2978
|
key: 3,
|
|
2979
2979
|
class: v(["absolute left-1/2 z-[4] -translate-x-1/2", R.value])
|
|
2980
|
-
}, [
|
|
2980
|
+
}, [ae.value ? k(e.$slots, "fullscreen-status", y(g({ key: 0 }, q.value))) : (w(), s("div", {
|
|
2981
2981
|
key: 1,
|
|
2982
2982
|
"data-testid": "vibe-fullscreen-status-badge",
|
|
2983
|
-
class: v(["inline-flex w-auto items-center border border-white/14 bg-black/40 px-5 py-3 text-[0.75rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74 backdrop-blur-[18px] max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center",
|
|
2984
|
-
},
|
|
2985
|
-
])) :
|
|
2983
|
+
class: v(["inline-flex w-auto items-center border border-white/14 bg-black/40 px-5 py-3 text-[0.75rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74 backdrop-blur-[18px] max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center", q.value.kind === "end" ? "border-amber-300/35 text-amber-200" : q.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
|
|
2984
|
+
}, M(q.value.message), 3))], 2)) : o("", !0)
|
|
2985
|
+
])) : U.value ? (w(), s("div", mr, [c("div", hr, [c("span", gr, [u(F(oe), {
|
|
2986
2986
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2987
2987
|
"aria-hidden": "true"
|
|
2988
|
-
})]), c("p",
|
|
2988
|
+
})]), c("p", _r, M(te.value), 1)])])) : F(fe) && F(Z) ? (w(), a(Hn, {
|
|
2989
2989
|
key: 2,
|
|
2990
|
-
message:
|
|
2991
|
-
mode:
|
|
2992
|
-
surface:
|
|
2990
|
+
message: F(Z).message,
|
|
2991
|
+
mode: F(Z).mode,
|
|
2992
|
+
surface: F(Z).surface
|
|
2993
2993
|
}, {
|
|
2994
|
-
default:
|
|
2994
|
+
default: B(() => [F(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(Z)))) : o("", !0)]),
|
|
2995
2995
|
_: 3
|
|
2996
2996
|
}, 8, [
|
|
2997
2997
|
"message",
|
|
2998
2998
|
"mode",
|
|
2999
2999
|
"surface"
|
|
3000
|
-
])) : o("", !0),
|
|
3000
|
+
])) : o("", !0), F(ue) && F(Z) ? (w(), a(Hn, {
|
|
3001
3001
|
key: 3,
|
|
3002
|
-
message:
|
|
3003
|
-
mode:
|
|
3004
|
-
surface:
|
|
3002
|
+
message: F(Z).message,
|
|
3003
|
+
mode: F(Z).mode,
|
|
3004
|
+
surface: F(Z).surface
|
|
3005
3005
|
}, {
|
|
3006
|
-
default:
|
|
3006
|
+
default: B(() => [F(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(Z)))) : o("", !0)]),
|
|
3007
3007
|
_: 3
|
|
3008
3008
|
}, 8, [
|
|
3009
3009
|
"message",
|
|
@@ -3017,7 +3017,7 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
3017
3017
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
3018
3018
|
"leave-to-class": "translate-x-full opacity-0"
|
|
3019
3019
|
}, {
|
|
3020
|
-
default:
|
|
3020
|
+
default: B(() => [re.value && W.value ? (w(), s("aside", vr, [c("div", yr, [k(e.$slots, "fullscreen-aside", y(p(W.value)))])])) : o("", !0)]),
|
|
3021
3021
|
_: 3
|
|
3022
3022
|
})], 4),
|
|
3023
3023
|
u(r, {
|
|
@@ -3028,29 +3028,29 @@ var Rn = ["data-surface"], zn = ["data-surface"], Bn = /* @__PURE__ */ d({
|
|
|
3028
3028
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
3029
3029
|
"leave-to-class": "translate-x-full opacity-0"
|
|
3030
3030
|
}, {
|
|
3031
|
-
default:
|
|
3031
|
+
default: B(() => [ie.value && W.value ? (w(), s("aside", br, [c("div", xr, [k(e.$slots, "fullscreen-aside", y(p(W.value)))])])) : o("", !0)]),
|
|
3032
3032
|
_: 3
|
|
3033
3033
|
})
|
|
3034
3034
|
]));
|
|
3035
3035
|
}
|
|
3036
|
-
}),
|
|
3037
|
-
function
|
|
3036
|
+
}), Tr = 1, Er = .5;
|
|
3037
|
+
function Dr(e) {
|
|
3038
3038
|
if (e.type !== "image" && e.type !== "video") return {
|
|
3039
|
-
width:
|
|
3040
|
-
height:
|
|
3039
|
+
width: Tr,
|
|
3040
|
+
height: Tr,
|
|
3041
3041
|
source: "fallback"
|
|
3042
3042
|
};
|
|
3043
3043
|
let t = e.preview?.width, n = e.preview?.height;
|
|
3044
|
-
if (
|
|
3045
|
-
let r =
|
|
3044
|
+
if (Ir(t) && Ir(n)) {
|
|
3045
|
+
let r = Lr(e, t, n);
|
|
3046
3046
|
return {
|
|
3047
3047
|
width: r.width,
|
|
3048
3048
|
height: r.height,
|
|
3049
3049
|
source: "preview"
|
|
3050
3050
|
};
|
|
3051
3051
|
}
|
|
3052
|
-
if (
|
|
3053
|
-
let t =
|
|
3052
|
+
if (Ir(e.width) && Ir(e.height)) {
|
|
3053
|
+
let t = Lr(e, e.width, e.height);
|
|
3054
3054
|
return {
|
|
3055
3055
|
width: t.width,
|
|
3056
3056
|
height: t.height,
|
|
@@ -3058,50 +3058,70 @@ function Tr(e) {
|
|
|
3058
3058
|
};
|
|
3059
3059
|
}
|
|
3060
3060
|
return {
|
|
3061
|
-
width:
|
|
3062
|
-
height:
|
|
3061
|
+
width: Tr,
|
|
3062
|
+
height: Tr,
|
|
3063
3063
|
source: "fallback"
|
|
3064
3064
|
};
|
|
3065
3065
|
}
|
|
3066
|
-
function
|
|
3066
|
+
function Or(e, t) {
|
|
3067
3067
|
return !e || e <= 0 || !t || t <= 0 ? 1 : Math.max(1, Math.floor(e / t));
|
|
3068
3068
|
}
|
|
3069
|
-
function
|
|
3069
|
+
function kr(e, t, n, r = 0) {
|
|
3070
3070
|
if (!e || e <= 0 || !t || t <= 0) return n;
|
|
3071
3071
|
let i = typeof r == "number" && r > 0 ? r : 0, a = e - Math.max(0, t - 1) * i;
|
|
3072
3072
|
return !a || a <= 0 ? n : a / t;
|
|
3073
3073
|
}
|
|
3074
|
-
function
|
|
3075
|
-
let n =
|
|
3074
|
+
function Ar(e, t) {
|
|
3075
|
+
let n = Dr(e);
|
|
3076
3076
|
return n.height / n.width * t;
|
|
3077
3077
|
}
|
|
3078
|
-
function
|
|
3079
|
-
let n = Array.from({ length: t.columnCount }, () => 0), r =
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3078
|
+
function jr(e, t) {
|
|
3079
|
+
let n = Array.from({ length: t.columnCount }, () => 0), r = {
|
|
3080
|
+
positions: Array(e.length),
|
|
3081
|
+
heights: Array(e.length),
|
|
3082
|
+
buckets: /* @__PURE__ */ new Map(),
|
|
3083
|
+
contentHeight: 0,
|
|
3084
|
+
indexById: /* @__PURE__ */ new Map(),
|
|
3085
|
+
columnHeights: n
|
|
3086
|
+
};
|
|
3087
|
+
return Mr(r, e, {
|
|
3088
|
+
...t,
|
|
3089
|
+
startIndex: 0
|
|
3090
|
+
}), r;
|
|
3091
|
+
}
|
|
3092
|
+
function Mr(e, t, n) {
|
|
3093
|
+
for (let r = 0; r < t.length; r += 1) {
|
|
3094
|
+
let i = t[r], a = n.startIndex + r;
|
|
3095
|
+
e.indexById.set($(i), a);
|
|
3096
|
+
let o = 0;
|
|
3097
|
+
for (let t = 1; t < e.columnHeights.length; t += 1) e.columnHeights[t] < e.columnHeights[o] && (o = t);
|
|
3098
|
+
let s = o * (n.columnWidth + n.gapX), c = e.columnHeights[o], l = Ar(i, n.columnWidth);
|
|
3099
|
+
e.positions[a] = {
|
|
3100
|
+
x: s + (n.positionOffsetX ?? 0),
|
|
3101
|
+
y: c + (n.positionOffsetY ?? 0)
|
|
3102
|
+
}, e.heights[a] = l, e.columnHeights[o] = c + l + n.gapY, e.contentHeight = Math.max(e.contentHeight, c + l);
|
|
3103
|
+
let u = Math.floor(c / n.bucketPx), d = Math.floor((c + l) / n.bucketPx);
|
|
3104
|
+
for (let t = u; t <= d; t += 1) {
|
|
3105
|
+
let n = e.buckets.get(t);
|
|
3106
|
+
n ? e.buckets.set(t, [...n, a]) : e.buckets.set(t, [a]);
|
|
3094
3107
|
}
|
|
3095
3108
|
}
|
|
3096
|
-
return
|
|
3097
|
-
positions: r,
|
|
3098
|
-
heights: i,
|
|
3099
|
-
buckets: a,
|
|
3100
|
-
contentHeight: s,
|
|
3101
|
-
indexById: o
|
|
3102
|
-
};
|
|
3109
|
+
return e;
|
|
3103
3110
|
}
|
|
3104
|
-
function
|
|
3111
|
+
function Nr(e, t) {
|
|
3112
|
+
let n = [...t.columnHeights], r = t.contentHeight;
|
|
3113
|
+
for (let i of e) {
|
|
3114
|
+
let e = 0;
|
|
3115
|
+
for (let t = 1; t < n.length; t += 1) n[t] < n[e] && (e = t);
|
|
3116
|
+
let a = n[e], o = Ar(i, t.columnWidth);
|
|
3117
|
+
n[e] = a + o + t.gapY, r = Math.max(r, a + o);
|
|
3118
|
+
}
|
|
3119
|
+
return r;
|
|
3120
|
+
}
|
|
3121
|
+
function Pr(e) {
|
|
3122
|
+
return e.addedItems.length === 0 || e.removedItemCount > 0 || e.isPrepend || e.previousItems.length === 0 || e.layoutItemCount !== e.previousItems.length || e.columnHeights.length !== e.columnCount || e.currentItems.length !== e.previousItems.length + e.addedItems.length ? !1 : e.previousItems.every((t, n) => $(t) === $(e.currentItems[n]));
|
|
3123
|
+
}
|
|
3124
|
+
function Fr(e) {
|
|
3105
3125
|
if (e.itemCount <= 0) return [];
|
|
3106
3126
|
if (e.viewportHeight <= 0) return Array.from({ length: e.itemCount }, (e, t) => t);
|
|
3107
3127
|
let t = Math.max(0, e.scrollTop - e.overscanPx), n = e.scrollTop + e.viewportHeight + e.overscanPx, r = Math.floor(t / e.bucketPx), i = Math.floor(n / e.bucketPx), a = /* @__PURE__ */ new Set();
|
|
@@ -3111,11 +3131,11 @@ function Ar(e) {
|
|
|
3111
3131
|
}
|
|
3112
3132
|
return Array.from(a).sort((e, t) => e - t);
|
|
3113
3133
|
}
|
|
3114
|
-
function
|
|
3134
|
+
function Ir(e) {
|
|
3115
3135
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
3116
3136
|
}
|
|
3117
|
-
function
|
|
3118
|
-
return e.type !== "image" || n / t >=
|
|
3137
|
+
function Lr(e, t, n) {
|
|
3138
|
+
return e.type !== "image" || n / t >= Er ? {
|
|
3119
3139
|
width: t,
|
|
3120
3140
|
height: n
|
|
3121
3141
|
} : {
|
|
@@ -3124,47 +3144,113 @@ function Mr(e, t, n) {
|
|
|
3124
3144
|
};
|
|
3125
3145
|
}
|
|
3126
3146
|
//#endregion
|
|
3147
|
+
//#region src/components/viewer-core/masonryLayoutState.ts
|
|
3148
|
+
function Rr(e) {
|
|
3149
|
+
let t = j([]), n = j([]), r = j(/* @__PURE__ */ new Map()), i = j(0), a = j(/* @__PURE__ */ new Map()), o = j([]);
|
|
3150
|
+
function s(s, c, l) {
|
|
3151
|
+
let u = jr(s, {
|
|
3152
|
+
columnCount: c,
|
|
3153
|
+
columnWidth: l,
|
|
3154
|
+
gapX: e.gapPx,
|
|
3155
|
+
gapY: e.gapPx,
|
|
3156
|
+
bucketPx: e.bucketPx
|
|
3157
|
+
});
|
|
3158
|
+
t.value = u.positions.map(d), n.value = u.heights, r.value = u.buckets, i.value = u.contentHeight, a.value = u.indexById, o.value = u.columnHeights;
|
|
3159
|
+
}
|
|
3160
|
+
function c(s, c, l, d) {
|
|
3161
|
+
i.value = Mr(u(), s, {
|
|
3162
|
+
columnCount: l,
|
|
3163
|
+
columnWidth: d,
|
|
3164
|
+
gapX: e.gapPx,
|
|
3165
|
+
gapY: e.gapPx,
|
|
3166
|
+
bucketPx: e.bucketPx,
|
|
3167
|
+
startIndex: c,
|
|
3168
|
+
positionOffsetX: e.contentInsetPx,
|
|
3169
|
+
positionOffsetY: e.contentInsetPx
|
|
3170
|
+
}).contentHeight, P(t), P(n), P(r), P(a), P(o);
|
|
3171
|
+
}
|
|
3172
|
+
function l(e, n, r, i) {
|
|
3173
|
+
return Pr({
|
|
3174
|
+
addedItems: r.addedItems,
|
|
3175
|
+
columnCount: i,
|
|
3176
|
+
columnHeights: o.value,
|
|
3177
|
+
currentItems: e,
|
|
3178
|
+
isPrepend: r.isPrepend,
|
|
3179
|
+
layoutItemCount: t.value.length,
|
|
3180
|
+
previousItems: n,
|
|
3181
|
+
removedItemCount: r.removedItems.length
|
|
3182
|
+
});
|
|
3183
|
+
}
|
|
3184
|
+
function u() {
|
|
3185
|
+
return {
|
|
3186
|
+
positions: t.value,
|
|
3187
|
+
heights: n.value,
|
|
3188
|
+
buckets: r.value,
|
|
3189
|
+
contentHeight: i.value,
|
|
3190
|
+
indexById: a.value,
|
|
3191
|
+
columnHeights: o.value
|
|
3192
|
+
};
|
|
3193
|
+
}
|
|
3194
|
+
function d(t) {
|
|
3195
|
+
return {
|
|
3196
|
+
x: t.x + e.contentInsetPx,
|
|
3197
|
+
y: t.y + e.contentInsetPx
|
|
3198
|
+
};
|
|
3199
|
+
}
|
|
3200
|
+
return {
|
|
3201
|
+
append: c,
|
|
3202
|
+
buckets: r,
|
|
3203
|
+
canAppend: l,
|
|
3204
|
+
columnHeights: o,
|
|
3205
|
+
contentHeight: i,
|
|
3206
|
+
heights: n,
|
|
3207
|
+
indexById: a,
|
|
3208
|
+
positions: t,
|
|
3209
|
+
rebuild: s
|
|
3210
|
+
};
|
|
3211
|
+
}
|
|
3212
|
+
//#endregion
|
|
3127
3213
|
//#region src/components/viewer-core/useMasonryMotion.ts
|
|
3128
|
-
var
|
|
3129
|
-
function
|
|
3214
|
+
var zr = 300, Br = 600, Vr = 40, Hr = 300, Ur = 400;
|
|
3215
|
+
function Wr(e, t) {
|
|
3130
3216
|
return t === "top" ? [...e].reverse() : e;
|
|
3131
3217
|
}
|
|
3132
|
-
function
|
|
3133
|
-
return e <= 0 ?
|
|
3218
|
+
function Gr(e) {
|
|
3219
|
+
return e <= 0 ? Br : Br + Math.min((e - 1) * Vr, Ur);
|
|
3134
3220
|
}
|
|
3135
|
-
function
|
|
3136
|
-
return
|
|
3221
|
+
function Kr() {
|
|
3222
|
+
return Hr;
|
|
3137
3223
|
}
|
|
3138
|
-
function
|
|
3224
|
+
function qr(e) {
|
|
3139
3225
|
let t = e.itemHeight > 0 ? e.itemHeight : e.columnWidth;
|
|
3140
3226
|
return e.direction === "top" ? e.scrollTop - t : e.scrollTop + e.viewportHeight + t;
|
|
3141
3227
|
}
|
|
3142
|
-
function
|
|
3228
|
+
function Jr(e) {
|
|
3143
3229
|
let t = D(/* @__PURE__ */ new Set()), n = D(/* @__PURE__ */ new Set()), r = D(/* @__PURE__ */ new Map()), a = D(/* @__PURE__ */ new Map()), o = D(/* @__PURE__ */ new Map()), s = D(/* @__PURE__ */ new Set()), c = D(/* @__PURE__ */ new Map()), l = D(/* @__PURE__ */ new Map()), u = D(/* @__PURE__ */ new Set()), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set(), p = i(() => Array.from(o.value.values()));
|
|
3144
|
-
|
|
3230
|
+
z(e.visibleIndices, (i) => {
|
|
3145
3231
|
if (!i.length) return;
|
|
3146
3232
|
let o = [];
|
|
3147
3233
|
for (let n of i) {
|
|
3148
|
-
let r = e.items.value[n] ?
|
|
3234
|
+
let r = e.items.value[n] ? $(e.items.value[n]) : null;
|
|
3149
3235
|
!r || !t.value.has(r) || d.has(r) || (d.add(r), o.push(r));
|
|
3150
3236
|
}
|
|
3151
3237
|
if (!o.length) return;
|
|
3152
|
-
let s =
|
|
3153
|
-
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e *
|
|
3154
|
-
r.value = c,
|
|
3238
|
+
let s = Wr(o, a.value.get(o[0]) ?? "bottom"), c = new Map(r.value);
|
|
3239
|
+
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e * Vr, Ur));
|
|
3240
|
+
r.value = c, Yr(() => {
|
|
3155
3241
|
let e = new Set(n.value);
|
|
3156
3242
|
for (let t of o) e.add(t);
|
|
3157
3243
|
n.value = e;
|
|
3158
|
-
}),
|
|
3244
|
+
}), Xr(() => {
|
|
3159
3245
|
let e = new Set(t.value);
|
|
3160
3246
|
for (let t of o) e.delete(t);
|
|
3161
3247
|
t.value = e, S(() => {
|
|
3162
3248
|
let e = new Set(n.value), t = new Map(r.value), i = new Map(a.value);
|
|
3163
3249
|
for (let n of o) e.delete(n), t.delete(n), i.delete(n), d.delete(n);
|
|
3164
3250
|
n.value = e, r.value = t, a.value = i;
|
|
3165
|
-
},
|
|
3251
|
+
}, Gr(o.length));
|
|
3166
3252
|
});
|
|
3167
|
-
}, { flush: "post" }),
|
|
3253
|
+
}, { flush: "post" }), z(() => e.items.value.map((e) => $(e)), (e) => {
|
|
3168
3254
|
if (!e.length || !o.value.size) return;
|
|
3169
3255
|
let t = new Set(e), n = null, r = null;
|
|
3170
3256
|
for (let e of o.value.keys()) t.has(e) && (n ||= new Map(o.value), r ||= new Set(s.value), n.delete(e), r.delete(e));
|
|
@@ -3177,7 +3263,7 @@ function Hr(e) {
|
|
|
3177
3263
|
if (!e.length) return;
|
|
3178
3264
|
let r = new Set(t.value), i = new Map(a.value);
|
|
3179
3265
|
for (let t of e) {
|
|
3180
|
-
let e =
|
|
3266
|
+
let e = $(t);
|
|
3181
3267
|
r.add(e), i.set(e, n);
|
|
3182
3268
|
}
|
|
3183
3269
|
t.value = r, a.value = i;
|
|
@@ -3186,10 +3272,10 @@ function Hr(e) {
|
|
|
3186
3272
|
if (!e.length) return;
|
|
3187
3273
|
let i = new Map(o.value), c = new Set(t.value), l = new Set(n.value), u = new Map(r.value), f = new Map(a.value), p = [];
|
|
3188
3274
|
for (let t of e) {
|
|
3189
|
-
let e =
|
|
3275
|
+
let e = $(t.item);
|
|
3190
3276
|
p.push(e), i.set(e, t), c.delete(e), l.delete(e), u.delete(e), f.delete(e), d.delete(e);
|
|
3191
3277
|
}
|
|
3192
|
-
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f,
|
|
3278
|
+
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f, Yr(() => {
|
|
3193
3279
|
let e = new Set(s.value);
|
|
3194
3280
|
for (let t of p) e.add(t);
|
|
3195
3281
|
s.value = e;
|
|
@@ -3197,9 +3283,9 @@ function Hr(e) {
|
|
|
3197
3283
|
let e = new Map(o.value), t = new Set(s.value);
|
|
3198
3284
|
for (let n of p) e.delete(n), t.delete(n);
|
|
3199
3285
|
o.value = e, s.value = t;
|
|
3200
|
-
},
|
|
3286
|
+
}, Hr);
|
|
3201
3287
|
}
|
|
3202
|
-
function g(t, n, r =
|
|
3288
|
+
function g(t, n, r = zr) {
|
|
3203
3289
|
if (!t.size) return;
|
|
3204
3290
|
let i = /* @__PURE__ */ new Map(), a = [];
|
|
3205
3291
|
for (let [r, o] of t.entries()) {
|
|
@@ -3218,8 +3304,8 @@ function Hr(e) {
|
|
|
3218
3304
|
c.value = i, u.value = /* @__PURE__ */ new Set();
|
|
3219
3305
|
let o = new Map(l.value);
|
|
3220
3306
|
for (let e of a) o.set(e, r);
|
|
3221
|
-
l.value = o,
|
|
3222
|
-
u.value = new Set(a),
|
|
3307
|
+
l.value = o, Yr(() => {
|
|
3308
|
+
u.value = new Set(a), Yr(() => {
|
|
3223
3309
|
c.value = /* @__PURE__ */ new Map();
|
|
3224
3310
|
});
|
|
3225
3311
|
}), S(() => {
|
|
@@ -3230,8 +3316,8 @@ function Hr(e) {
|
|
|
3230
3316
|
}, r);
|
|
3231
3317
|
}
|
|
3232
3318
|
function _(e) {
|
|
3233
|
-
if (n.value.has(e)) return `transform ${
|
|
3234
|
-
if (u.value.has(e)) return `transform ${l.value.get(e) ??
|
|
3319
|
+
if (n.value.has(e)) return `transform ${Br}ms ease-out`;
|
|
3320
|
+
if (u.value.has(e)) return `transform ${l.value.get(e) ?? zr}ms ease-out`;
|
|
3235
3321
|
}
|
|
3236
3322
|
function v(e) {
|
|
3237
3323
|
if (!n.value.has(e)) return;
|
|
@@ -3242,13 +3328,13 @@ function Hr(e) {
|
|
|
3242
3328
|
let r = e.items.value[n], i = e.positions.value[n] ?? {
|
|
3243
3329
|
x: 0,
|
|
3244
3330
|
y: 0
|
|
3245
|
-
}, o = e.heights.value[n] ?? e.columnWidth.value, s = r ?
|
|
3331
|
+
}, o = e.heights.value[n] ?? e.columnWidth.value, s = r ? $(r) : null, l = s ? c.value.get(s) ?? {
|
|
3246
3332
|
dx: 0,
|
|
3247
3333
|
dy: 0
|
|
3248
3334
|
} : {
|
|
3249
3335
|
dx: 0,
|
|
3250
3336
|
dy: 0
|
|
3251
|
-
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ?
|
|
3337
|
+
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ? qr({
|
|
3252
3338
|
columnWidth: e.columnWidth.value,
|
|
3253
3339
|
direction: u,
|
|
3254
3340
|
itemHeight: o,
|
|
@@ -3258,18 +3344,18 @@ function Hr(e) {
|
|
|
3258
3344
|
return `translate3d(${i.x + l.dx}px, ${d + l.dy}px, 0)`;
|
|
3259
3345
|
}
|
|
3260
3346
|
function b(t) {
|
|
3261
|
-
let n =
|
|
3347
|
+
let n = $(t), r = o.value.get(n);
|
|
3262
3348
|
if (!r) return {
|
|
3263
3349
|
opacity: "0",
|
|
3264
3350
|
transform: "translate3d(0, 0, 0) scale(0.96)",
|
|
3265
|
-
transition: `opacity ${
|
|
3351
|
+
transition: `opacity ${Hr}ms ease-out, transform ${Hr}ms ease-out`
|
|
3266
3352
|
};
|
|
3267
3353
|
let i = s.value.has(n);
|
|
3268
3354
|
return {
|
|
3269
3355
|
height: `${r.height}px`,
|
|
3270
3356
|
opacity: i ? "0" : "1",
|
|
3271
3357
|
transform: `translate3d(${r.position.x}px, ${r.position.y}px, 0) scale(${i ? "0.96" : "1"})`,
|
|
3272
|
-
transition: `opacity ${
|
|
3358
|
+
transition: `opacity ${Hr}ms ease-out, transform ${Hr}ms ease-out`,
|
|
3273
3359
|
width: `${e.columnWidth.value}px`
|
|
3274
3360
|
};
|
|
3275
3361
|
}
|
|
@@ -3290,28 +3376,28 @@ function Hr(e) {
|
|
|
3290
3376
|
playFlipMoveAnimation: g
|
|
3291
3377
|
};
|
|
3292
3378
|
}
|
|
3293
|
-
function
|
|
3379
|
+
function Yr(e) {
|
|
3294
3380
|
if (typeof requestAnimationFrame == "function") {
|
|
3295
3381
|
requestAnimationFrame(() => e());
|
|
3296
3382
|
return;
|
|
3297
3383
|
}
|
|
3298
3384
|
setTimeout(e, 0);
|
|
3299
3385
|
}
|
|
3300
|
-
function
|
|
3301
|
-
|
|
3386
|
+
function Xr(e) {
|
|
3387
|
+
Yr(() => Yr(e));
|
|
3302
3388
|
}
|
|
3303
3389
|
//#endregion
|
|
3304
3390
|
//#region src/components/viewer-core/masonryViewport.ts
|
|
3305
|
-
function
|
|
3391
|
+
function Zr(e, t) {
|
|
3306
3392
|
return e?.clientHeight || Math.round(e?.getBoundingClientRect().height ?? 0) || t || window.innerHeight || 1;
|
|
3307
3393
|
}
|
|
3308
|
-
function
|
|
3394
|
+
function Qr(e, t, n) {
|
|
3309
3395
|
return e?.clientWidth || Math.round(e?.getBoundingClientRect().width ?? 0) || t || window.innerWidth || n;
|
|
3310
3396
|
}
|
|
3311
|
-
function
|
|
3397
|
+
function $r(e, t, n, r) {
|
|
3312
3398
|
return Math.max(e?.scrollHeight ?? 0, r) - (t + n);
|
|
3313
3399
|
}
|
|
3314
|
-
function
|
|
3400
|
+
function ei(e, t) {
|
|
3315
3401
|
return {
|
|
3316
3402
|
height: `${e}px`,
|
|
3317
3403
|
transform: `translate3d(0, ${t}px, 0)`
|
|
@@ -3319,11 +3405,11 @@ function Jr(e, t) {
|
|
|
3319
3405
|
}
|
|
3320
3406
|
//#endregion
|
|
3321
3407
|
//#region src/components/viewer-core/masonryScrollBehavior.ts
|
|
3322
|
-
var
|
|
3323
|
-
function
|
|
3408
|
+
var ti = 24, ni = 48;
|
|
3409
|
+
function ri(e) {
|
|
3324
3410
|
let t = D(0), n = 0, r = 0;
|
|
3325
3411
|
function i(e) {
|
|
3326
|
-
if (t.value =
|
|
3412
|
+
if (t.value = ci(e), t.value <= 0) {
|
|
3327
3413
|
o();
|
|
3328
3414
|
return;
|
|
3329
3415
|
}
|
|
@@ -3343,7 +3429,7 @@ function Zr(e) {
|
|
|
3343
3429
|
let s = e.getViewport();
|
|
3344
3430
|
if (s && r > 0) {
|
|
3345
3431
|
let n = Math.min(Math.max(0, i - r), 250), a = t.value * n / 1e3;
|
|
3346
|
-
s.scrollTop =
|
|
3432
|
+
s.scrollTop = li(s.scrollTop + a, 0, e.getMaxScrollTop()), e.onScroll();
|
|
3347
3433
|
}
|
|
3348
3434
|
r = i, a();
|
|
3349
3435
|
}
|
|
@@ -3353,44 +3439,44 @@ function Zr(e) {
|
|
|
3353
3439
|
stop: o
|
|
3354
3440
|
};
|
|
3355
3441
|
}
|
|
3356
|
-
function
|
|
3442
|
+
function ii(e) {
|
|
3357
3443
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3358
3444
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3359
|
-
return t <= 0 ? 1 :
|
|
3445
|
+
return t <= 0 ? 1 : li(1 - (e.progressDistancePx - e.thresholdPx) / t, 0, 1);
|
|
3360
3446
|
}
|
|
3361
|
-
function
|
|
3447
|
+
function ai(e) {
|
|
3362
3448
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3363
3449
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3364
|
-
return t <= 0 ? 1 :
|
|
3450
|
+
return t <= 0 ? 1 : li(e.progressDistancePx / t, 0, 1);
|
|
3365
3451
|
}
|
|
3366
|
-
function
|
|
3367
|
-
let t = i(() => Math.max(0, e.viewportHeight.value -
|
|
3452
|
+
function oi(e) {
|
|
3453
|
+
let t = i(() => Math.max(0, e.viewportHeight.value - ti * 2)), n = i(() => e.containerHeight.value > e.viewportHeight.value + 1 && t.value > 0), r = i(() => {
|
|
3368
3454
|
if (!n.value) return 0;
|
|
3369
3455
|
let r = e.viewportHeight.value / e.containerHeight.value * t.value;
|
|
3370
|
-
return Math.min(t.value, Math.max(
|
|
3456
|
+
return Math.min(t.value, Math.max(ni, r));
|
|
3371
3457
|
}), a = i(() => {
|
|
3372
|
-
if (!n.value) return
|
|
3458
|
+
if (!n.value) return ti;
|
|
3373
3459
|
let i = Math.max(0, e.containerHeight.value - e.viewportHeight.value);
|
|
3374
|
-
return
|
|
3460
|
+
return ti + Math.max(0, t.value - r.value) * (i > 0 ? li(e.scrollTop.value / i, 0, 1) : 0);
|
|
3375
3461
|
});
|
|
3376
3462
|
return {
|
|
3377
|
-
getScrollbarThumbStyle: () =>
|
|
3463
|
+
getScrollbarThumbStyle: () => ei(r.value, a.value),
|
|
3378
3464
|
showScrollbar: n
|
|
3379
3465
|
};
|
|
3380
3466
|
}
|
|
3381
|
-
function
|
|
3467
|
+
function si(e) {
|
|
3382
3468
|
return typeof e == "number" && Number.isFinite(e) ? Math.max(0, e) : 0;
|
|
3383
3469
|
}
|
|
3384
|
-
function
|
|
3470
|
+
function ci(e) {
|
|
3385
3471
|
return Number.isFinite(e) ? Math.max(0, e) : 0;
|
|
3386
3472
|
}
|
|
3387
|
-
function
|
|
3473
|
+
function li(e, t, n) {
|
|
3388
3474
|
return Math.min(Math.max(e, t), n);
|
|
3389
3475
|
}
|
|
3390
3476
|
//#endregion
|
|
3391
3477
|
//#region src/components/viewer-core/useEdgeBoundary.ts
|
|
3392
|
-
var
|
|
3393
|
-
function
|
|
3478
|
+
var ui = 250, di = 1e3;
|
|
3479
|
+
function fi(e) {
|
|
3394
3480
|
let t = D(!1), n = D(!1), r = D(0), i = D(0), a = D(!1), o = D(!1), s = D(!1), c = 0, l = null;
|
|
3395
3481
|
x(() => {
|
|
3396
3482
|
S();
|
|
@@ -3413,7 +3499,7 @@ function oi(e) {
|
|
|
3413
3499
|
if (!C(t) || !e.isAtBoundary()) return;
|
|
3414
3500
|
let n = Date.now();
|
|
3415
3501
|
if (!(n < c)) {
|
|
3416
|
-
if (c = n +
|
|
3502
|
+
if (c = n + ui, a.value) {
|
|
3417
3503
|
s.value = !0;
|
|
3418
3504
|
return;
|
|
3419
3505
|
}
|
|
@@ -3452,7 +3538,7 @@ function oi(e) {
|
|
|
3452
3538
|
return e.hasPage.value && t.value && r.value > i.value && !e.interactionLocked?.value && !e.loading.value && !a.value && typeof e.requestPage.value == "function";
|
|
3453
3539
|
}
|
|
3454
3540
|
function v() {
|
|
3455
|
-
o.value = !1, y(
|
|
3541
|
+
o.value = !1, y(di);
|
|
3456
3542
|
}
|
|
3457
3543
|
function y(e) {
|
|
3458
3544
|
S(), a.value = !0, l = setTimeout(() => {
|
|
@@ -3484,7 +3570,7 @@ function oi(e) {
|
|
|
3484
3570
|
}
|
|
3485
3571
|
//#endregion
|
|
3486
3572
|
//#region src/components/viewer-core/masonryBoundaryLock.ts
|
|
3487
|
-
function
|
|
3573
|
+
function pi() {
|
|
3488
3574
|
let e = D(!1), t = null;
|
|
3489
3575
|
x(() => {
|
|
3490
3576
|
r();
|
|
@@ -3505,11 +3591,11 @@ function si() {
|
|
|
3505
3591
|
}
|
|
3506
3592
|
//#endregion
|
|
3507
3593
|
//#region src/components/viewer-core/masonryItemMutation.ts
|
|
3508
|
-
function
|
|
3509
|
-
let t = e.currentItems.map((e) =>
|
|
3594
|
+
function mi(e) {
|
|
3595
|
+
let t = e.currentItems.map((e) => $(e)), n = e.previousItems.map((e) => $(e)), r = gi(e.previousItems, e.layoutIndexById, e.layoutHeights), i = _i(e.previousItems, e.layoutIndexById, e.layoutPositions), a = new Set(n), o = new Set(t), s = e.currentItems.filter((e) => !a.has($(e))), c = hi(e.previousItems, o, r, i), l = t.length > n.length && n.length > 0 && t[0] !== n[0], u = e.scrollTop > e.contentInsetPx + e.gapPx, d = l && u ? e.currentItems[e.activeIndex] : null;
|
|
3510
3596
|
return {
|
|
3511
3597
|
addedItems: s,
|
|
3512
|
-
anchorId: d ?
|
|
3598
|
+
anchorId: d ? $(d) : null,
|
|
3513
3599
|
isPrepend: l,
|
|
3514
3600
|
oldPositionsById: i,
|
|
3515
3601
|
previousIds: n,
|
|
@@ -3518,9 +3604,9 @@ function ci(e) {
|
|
|
3518
3604
|
shouldResetScrollForEmptyRemoval: e.currentItems.length === 0 && e.previousItems.length > 0 && c.length > 0 && e.scrollTop > 0
|
|
3519
3605
|
};
|
|
3520
3606
|
}
|
|
3521
|
-
function
|
|
3607
|
+
function hi(e, t, n, r) {
|
|
3522
3608
|
return e.flatMap((e) => {
|
|
3523
|
-
let i =
|
|
3609
|
+
let i = $(e);
|
|
3524
3610
|
if (t.has(i)) return [];
|
|
3525
3611
|
let a = r.get(i), o = n.get(i);
|
|
3526
3612
|
return a && o != null ? [{
|
|
@@ -3530,25 +3616,25 @@ function li(e, t, n, r) {
|
|
|
3530
3616
|
}] : [];
|
|
3531
3617
|
});
|
|
3532
3618
|
}
|
|
3533
|
-
function
|
|
3619
|
+
function gi(e, t, n) {
|
|
3534
3620
|
let r = /* @__PURE__ */ new Map();
|
|
3535
3621
|
for (let i of e) {
|
|
3536
|
-
let e =
|
|
3622
|
+
let e = $(i), a = t.get(e), o = a == null ? void 0 : n[a];
|
|
3537
3623
|
o != null && r.set(e, o);
|
|
3538
3624
|
}
|
|
3539
3625
|
return r;
|
|
3540
3626
|
}
|
|
3541
|
-
function
|
|
3627
|
+
function _i(e, t, n) {
|
|
3542
3628
|
let r = /* @__PURE__ */ new Map();
|
|
3543
3629
|
for (let i of e) {
|
|
3544
|
-
let e =
|
|
3630
|
+
let e = $(i), a = t.get(e), o = a == null ? void 0 : n[a];
|
|
3545
3631
|
o && r.set(e, o);
|
|
3546
3632
|
}
|
|
3547
3633
|
return r;
|
|
3548
3634
|
}
|
|
3549
3635
|
//#endregion
|
|
3550
3636
|
//#region src/components/viewer-core/masonryPendingAppend.ts
|
|
3551
|
-
function
|
|
3637
|
+
function vi(e) {
|
|
3552
3638
|
let t = D(null), n = D(!1), r = null;
|
|
3553
3639
|
function i() {
|
|
3554
3640
|
o(), e.pendingAppendItems.value.length && (t.value = c([...e.items.value, ...e.pendingAppendItems.value]), s());
|
|
@@ -3571,7 +3657,12 @@ function fi(e) {
|
|
|
3571
3657
|
}, 300));
|
|
3572
3658
|
}
|
|
3573
3659
|
function c(t) {
|
|
3574
|
-
return t.length ?
|
|
3660
|
+
return t.length ? e.pendingAppendItems.value.length && e.columnHeights.value.length === e.columnCount.value ? Nr(e.pendingAppendItems.value, {
|
|
3661
|
+
columnHeights: e.columnHeights.value,
|
|
3662
|
+
columnWidth: e.columnWidth.value,
|
|
3663
|
+
contentHeight: e.contentHeight.value,
|
|
3664
|
+
gapY: e.gapPx
|
|
3665
|
+
}) + e.contentInsetPx * 2 : jr(t, {
|
|
3575
3666
|
bucketPx: e.bucketPx,
|
|
3576
3667
|
columnCount: e.columnCount.value,
|
|
3577
3668
|
columnWidth: e.columnWidth.value,
|
|
@@ -3588,242 +3679,237 @@ function fi(e) {
|
|
|
3588
3679
|
}
|
|
3589
3680
|
//#endregion
|
|
3590
3681
|
//#region src/components/viewer-core/useMasonryList.ts
|
|
3591
|
-
var
|
|
3592
|
-
function
|
|
3593
|
-
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth ||
|
|
3682
|
+
var yi = 600, bi = 24, xi = 16, Si = 300, Ci = 200, wi = 0, Ti = 1, Ei = bi + xi, Di = 200, Oi = 500, ki = 1e3;
|
|
3683
|
+
function Ai(e) {
|
|
3684
|
+
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth || Si), o = Rr({
|
|
3685
|
+
bucketPx: yi,
|
|
3686
|
+
contentInsetPx: bi,
|
|
3687
|
+
gapPx: xi
|
|
3688
|
+
}), { buckets: s, columnHeights: c, contentHeight: l, heights: u, indexById: d, positions: f } = o, p = D(null), m = pi(), h = i(() => Math.max(Si, a.value - bi * 2)), g = i(() => Or(h.value, Si)), v = i(() => kr(h.value, g.value, Si, xi)), y = i(() => si(e.bottomLoadBufferPx.value)), b = i(() => ji(e.activeIndex.value, 0, Math.max(0, e.items.value.length - 1))), C = i(() => Fr({
|
|
3594
3689
|
itemCount: e.items.value.length,
|
|
3595
3690
|
viewportHeight: r.value,
|
|
3596
3691
|
scrollTop: n.value,
|
|
3597
|
-
overscanPx:
|
|
3598
|
-
bucketPx:
|
|
3599
|
-
buckets:
|
|
3600
|
-
})),
|
|
3692
|
+
overscanPx: Ci,
|
|
3693
|
+
bucketPx: yi,
|
|
3694
|
+
buckets: s.value
|
|
3695
|
+
})), w = i(() => C.value.map((t) => ({
|
|
3601
3696
|
item: e.items.value[t],
|
|
3602
3697
|
index: t
|
|
3603
|
-
}))),
|
|
3604
|
-
let e = l.value +
|
|
3605
|
-
return Math.max(e, t, r.value) +
|
|
3606
|
-
}),
|
|
3698
|
+
}))), T = i(() => {
|
|
3699
|
+
let e = l.value + bi * 2, t = I.reservedContentHeight.value ?? 0;
|
|
3700
|
+
return Math.max(e, t, r.value) + Di + y.value;
|
|
3701
|
+
}), E = i(() => e.hasNextPage.value || e.allowExhaustedNextPageRefresh.value), O = i(() => ai({
|
|
3607
3702
|
active: e.active.value,
|
|
3608
|
-
maxScrollTop:
|
|
3703
|
+
maxScrollTop: X(),
|
|
3609
3704
|
progressDistancePx: n.value,
|
|
3610
|
-
thresholdPx:
|
|
3611
|
-
triggerEnabled:
|
|
3612
|
-
})),
|
|
3705
|
+
thresholdPx: wi,
|
|
3706
|
+
triggerEnabled: E.value
|
|
3707
|
+
})), k = i(() => e.items.value.length > 0 ? `${b.value + 1} / ${e.items.value.length}` : "0 / 0"), A = i(() => ii({
|
|
3613
3708
|
active: e.active.value,
|
|
3614
|
-
maxScrollTop:
|
|
3709
|
+
maxScrollTop: X(),
|
|
3615
3710
|
progressDistancePx: n.value,
|
|
3616
|
-
thresholdPx:
|
|
3711
|
+
thresholdPx: Ei,
|
|
3617
3712
|
triggerEnabled: e.hasPreviousPage.value
|
|
3618
|
-
})),
|
|
3619
|
-
containerHeight:
|
|
3713
|
+
})), j = oi({
|
|
3714
|
+
containerHeight: T,
|
|
3620
3715
|
scrollTop: n,
|
|
3621
3716
|
viewportHeight: r
|
|
3622
|
-
}),
|
|
3717
|
+
}), M = Jr({
|
|
3623
3718
|
items: e.items,
|
|
3624
|
-
visibleIndices:
|
|
3625
|
-
positions:
|
|
3626
|
-
heights:
|
|
3627
|
-
indexById:
|
|
3628
|
-
columnWidth:
|
|
3719
|
+
visibleIndices: C,
|
|
3720
|
+
positions: f,
|
|
3721
|
+
heights: u,
|
|
3722
|
+
indexById: d,
|
|
3723
|
+
columnWidth: v,
|
|
3629
3724
|
scrollTop: n,
|
|
3630
3725
|
viewportHeight: r
|
|
3631
|
-
}),
|
|
3726
|
+
}), N = fi({
|
|
3632
3727
|
direction: "top",
|
|
3633
3728
|
getAnimationLockMs(e) {
|
|
3634
|
-
return Math.max(
|
|
3729
|
+
return Math.max(Oi, Gr(e)) + ki;
|
|
3635
3730
|
},
|
|
3636
3731
|
hasPage: e.hasPreviousPage,
|
|
3637
|
-
interactionLocked:
|
|
3732
|
+
interactionLocked: m.isBoundaryInteractionLocked,
|
|
3638
3733
|
isAtBoundary() {
|
|
3639
|
-
return n.value <=
|
|
3734
|
+
return n.value <= Ei;
|
|
3640
3735
|
},
|
|
3641
3736
|
loading: e.loading,
|
|
3642
3737
|
requestPage: e.requestPreviousPage
|
|
3643
|
-
}),
|
|
3738
|
+
}), P = fi({
|
|
3644
3739
|
direction: "bottom",
|
|
3645
3740
|
getAnimationLockMs(e) {
|
|
3646
|
-
return
|
|
3741
|
+
return Gr(e) + ki;
|
|
3647
3742
|
},
|
|
3648
|
-
hasPage:
|
|
3649
|
-
interactionLocked:
|
|
3743
|
+
hasPage: E,
|
|
3744
|
+
interactionLocked: m.isBoundaryInteractionLocked,
|
|
3650
3745
|
isAtBoundary() {
|
|
3651
|
-
return
|
|
3746
|
+
return Y() <= Ti;
|
|
3652
3747
|
},
|
|
3653
3748
|
loading: e.loading,
|
|
3654
3749
|
requestPage: e.requestNextPage
|
|
3655
|
-
}),
|
|
3750
|
+
}), F = ri({
|
|
3656
3751
|
active: e.active,
|
|
3657
|
-
getMaxScrollTop:
|
|
3752
|
+
getMaxScrollTop: X,
|
|
3658
3753
|
getViewport: () => t.value,
|
|
3659
|
-
onScroll:
|
|
3660
|
-
}),
|
|
3661
|
-
bucketPx:
|
|
3662
|
-
|
|
3663
|
-
|
|
3754
|
+
onScroll: ee
|
|
3755
|
+
}), I = vi({
|
|
3756
|
+
bucketPx: yi,
|
|
3757
|
+
columnHeights: c,
|
|
3758
|
+
columnCount: g,
|
|
3759
|
+
columnWidth: v,
|
|
3664
3760
|
commitPendingAppend: e.commitPendingAppend,
|
|
3665
|
-
|
|
3666
|
-
|
|
3761
|
+
contentHeight: l,
|
|
3762
|
+
contentInsetPx: bi,
|
|
3763
|
+
gapPx: xi,
|
|
3667
3764
|
items: e.items,
|
|
3668
3765
|
pendingAppendItems: e.pendingAppendItems
|
|
3669
|
-
}),
|
|
3670
|
-
|
|
3766
|
+
}), L = null, R = 0;
|
|
3767
|
+
z([
|
|
3671
3768
|
() => e.items.value,
|
|
3672
|
-
|
|
3673
|
-
|
|
3769
|
+
g,
|
|
3770
|
+
v
|
|
3674
3771
|
], async ([t], [r = []]) => {
|
|
3675
|
-
let i =
|
|
3676
|
-
activeIndex:
|
|
3677
|
-
contentInsetPx:
|
|
3772
|
+
let i = mi({
|
|
3773
|
+
activeIndex: b.value,
|
|
3774
|
+
contentInsetPx: bi,
|
|
3678
3775
|
currentItems: t,
|
|
3679
|
-
gapPx:
|
|
3680
|
-
layoutHeights:
|
|
3681
|
-
layoutIndexById:
|
|
3682
|
-
layoutPositions:
|
|
3776
|
+
gapPx: xi,
|
|
3777
|
+
layoutHeights: u.value,
|
|
3778
|
+
layoutIndexById: d.value,
|
|
3779
|
+
layoutPositions: f.value,
|
|
3683
3780
|
previousItems: r ?? [],
|
|
3684
3781
|
scrollTop: n.value
|
|
3685
3782
|
});
|
|
3686
|
-
i.shouldLockBoundaryInteractionForRemoval &&
|
|
3687
|
-
|
|
3688
|
-
()
|
|
3689
|
-
|
|
3690
|
-
|
|
3783
|
+
i.shouldLockBoundaryInteractionForRemoval && m.lockBoundaryInteraction(Kr() + ki), i.shouldResetScrollForEmptyRemoval && te();
|
|
3784
|
+
let a = r ?? [];
|
|
3785
|
+
o.canAppend(t, a, i, g.value) ? o.append(i.addedItems, a.length, g.value, v.value) : o.rebuild(t, g.value, v.value), i.removedItems.length > 0 && M.markLeave(i.removedItems), i.addedItems.length > 0 && (M.markEnter(i.addedItems, i.isPrepend ? "top" : "bottom"), i.isPrepend ? N.onItemsMutated(i.addedItems.length) : P.onItemsMutated(i.addedItems.length)), M.playFlipMoveAnimation(i.oldPositionsById, new Set(i.addedItems.map((e) => $(e))), i.isPrepend ? Oi : void 0), i.anchorId ? (await _(), U(i.anchorId, i.oldPositionsById)) : e.active.value && i.previousIds.length > 0 && G();
|
|
3786
|
+
}, { immediate: !0 }), z([
|
|
3787
|
+
() => e.pendingAppendItems.value.map((e) => $(e)),
|
|
3788
|
+
g,
|
|
3789
|
+
v,
|
|
3691
3790
|
r
|
|
3692
|
-
], () =>
|
|
3791
|
+
], () => I.refreshReservedContentHeight(), { immediate: !0 }), z(() => e.active.value, async (e, i) => {
|
|
3693
3792
|
let a = t.value;
|
|
3694
3793
|
if (!e) {
|
|
3695
|
-
a && (
|
|
3794
|
+
a && (p.value = a.scrollTop), F.stop();
|
|
3696
3795
|
return;
|
|
3697
3796
|
}
|
|
3698
|
-
if (
|
|
3797
|
+
if (F.start(), !a || i !== !1 || p.value == null) return;
|
|
3699
3798
|
await _();
|
|
3700
|
-
let o = Math.max(0,
|
|
3701
|
-
a.scrollTop = s, n.value = s,
|
|
3702
|
-
}),
|
|
3703
|
-
|
|
3799
|
+
let o = Math.max(0, T.value - r.value), s = ji(p.value, 0, o);
|
|
3800
|
+
a.scrollTop = s, n.value = s, N.syncBoundary(), P.syncBoundary();
|
|
3801
|
+
}), z(() => e.loading.value, async (e) => {
|
|
3802
|
+
I.clearReservedHeightWhenIdle(e), N.onLoadingChange(e), P.onLoadingChange(e), await _();
|
|
3704
3803
|
}), S(async () => {
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
}), t.value &&
|
|
3804
|
+
q(), await _(), b.value > 0 ? H(b.value, "center") : W(), N.syncBoundary(), P.syncBoundary(), typeof ResizeObserver < "u" ? (L = new ResizeObserver(() => {
|
|
3805
|
+
q();
|
|
3806
|
+
}), t.value && L.observe(t.value)) : window.addEventListener("resize", q);
|
|
3708
3807
|
}), x(() => {
|
|
3709
|
-
|
|
3808
|
+
L?.disconnect(), L = null, window.removeEventListener("resize", q), I.clearAppendCommitTimer(), m.clearBoundaryInteractionReleaseTimer(), R &&= (cancelAnimationFrame(R), 0), F.stop();
|
|
3710
3809
|
});
|
|
3711
|
-
function
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
columnWidth: h.value,
|
|
3715
|
-
gapX: hi,
|
|
3716
|
-
gapY: hi,
|
|
3717
|
-
bucketPx: pi
|
|
3718
|
-
});
|
|
3719
|
-
o.value = t.positions.map((e) => ({
|
|
3720
|
-
x: e.x + mi,
|
|
3721
|
-
y: e.y + mi
|
|
3722
|
-
})), s.value = t.heights, c.value = t.buckets, l.value = t.contentHeight, u.value = t.indexById;
|
|
3723
|
-
}
|
|
3724
|
-
function z() {
|
|
3725
|
-
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = K(), j.syncBoundary("scroll"), M.syncBoundary("scroll"), ne(), !W() && (I ||= requestAnimationFrame(() => {
|
|
3726
|
-
I = 0, U();
|
|
3810
|
+
function ee() {
|
|
3811
|
+
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = J(), N.syncBoundary("scroll"), P.syncBoundary("scroll"), K(), !G() && (R ||= requestAnimationFrame(() => {
|
|
3812
|
+
R = 0, W();
|
|
3727
3813
|
})));
|
|
3728
3814
|
}
|
|
3729
|
-
function
|
|
3730
|
-
e.active.value && (
|
|
3815
|
+
function B(t) {
|
|
3816
|
+
e.active.value && (N.onWheel(t), P.onWheel(t), K());
|
|
3731
3817
|
}
|
|
3732
|
-
function
|
|
3733
|
-
let n = e.items.value[t], r = n ?
|
|
3818
|
+
function V(t) {
|
|
3819
|
+
let n = e.items.value[t], r = n ? $(n) : "";
|
|
3734
3820
|
return {
|
|
3735
|
-
height: `${
|
|
3736
|
-
width: `${
|
|
3737
|
-
transition: r ?
|
|
3738
|
-
transitionDelay: r ?
|
|
3739
|
-
transform:
|
|
3821
|
+
height: `${u.value[t] ?? v.value}px`,
|
|
3822
|
+
width: `${v.value}px`,
|
|
3823
|
+
transition: r ? M.getCardTransition(r) : void 0,
|
|
3824
|
+
transitionDelay: r ? M.getCardTransitionDelay(r) : void 0,
|
|
3825
|
+
transform: M.getCardTransform(t)
|
|
3740
3826
|
};
|
|
3741
3827
|
}
|
|
3742
|
-
function
|
|
3743
|
-
let a = t.value,
|
|
3744
|
-
if (!a || !
|
|
3745
|
-
let
|
|
3746
|
-
i === "center" ?
|
|
3828
|
+
function H(e, i) {
|
|
3829
|
+
let a = t.value, o = f.value[e], s = u.value[e];
|
|
3830
|
+
if (!a || !o || !s) return;
|
|
3831
|
+
let c = a.scrollTop, l = Math.max(0, T.value - r.value);
|
|
3832
|
+
i === "center" ? c = o.y - (r.value - s) / 2 : o.y < a.scrollTop ? c = o.y - bi : o.y + s > a.scrollTop + r.value && (c = o.y + s - r.value + bi), a.scrollTop = ji(c, 0, l), n.value = a.scrollTop, W();
|
|
3747
3833
|
}
|
|
3748
|
-
function
|
|
3749
|
-
let i = t.value, a = r.get(e),
|
|
3750
|
-
if (!i || !a || !
|
|
3751
|
-
let
|
|
3752
|
-
i.scrollTop +=
|
|
3834
|
+
function U(e, r) {
|
|
3835
|
+
let i = t.value, a = r.get(e), o = d.value.get(e), s = o == null ? null : f.value[o];
|
|
3836
|
+
if (!i || !a || !s) return;
|
|
3837
|
+
let c = s.y - a.y;
|
|
3838
|
+
i.scrollTop += c, n.value = i.scrollTop;
|
|
3753
3839
|
}
|
|
3754
|
-
function
|
|
3840
|
+
function te() {
|
|
3755
3841
|
let e = t.value;
|
|
3756
3842
|
if (!e) {
|
|
3757
3843
|
n.value = 0;
|
|
3758
3844
|
return;
|
|
3759
3845
|
}
|
|
3760
|
-
e.scrollTop = 0, n.value = 0,
|
|
3846
|
+
e.scrollTop = 0, n.value = 0, N.syncBoundary(), P.syncBoundary();
|
|
3761
3847
|
}
|
|
3762
|
-
function
|
|
3763
|
-
if (!
|
|
3764
|
-
let t = n.value + r.value / 2, i =
|
|
3765
|
-
for (let e of
|
|
3766
|
-
let n =
|
|
3848
|
+
function W() {
|
|
3849
|
+
if (!C.value.length || G()) return;
|
|
3850
|
+
let t = n.value + r.value / 2, i = b.value, a = Infinity;
|
|
3851
|
+
for (let e of C.value) {
|
|
3852
|
+
let n = f.value[e], r = u.value[e];
|
|
3767
3853
|
if (!n || !r) continue;
|
|
3768
|
-
let
|
|
3769
|
-
|
|
3854
|
+
let o = n.y + r / 2, s = Math.abs(o - t);
|
|
3855
|
+
s < a && (a = s, i = e);
|
|
3770
3856
|
}
|
|
3771
3857
|
e.setActiveIndex(i);
|
|
3772
3858
|
}
|
|
3773
|
-
function W() {
|
|
3774
|
-
let t = n.value <= bi, r = J() <= yi;
|
|
3775
|
-
return t ? (e.setActiveIndex(0), !0) : r ? (e.setActiveIndex(Math.max(0, e.items.value.length - 1)), !0) : !1;
|
|
3776
|
-
}
|
|
3777
|
-
function ne() {
|
|
3778
|
-
j.maybeRequestPage(), M.maybeRequestPage();
|
|
3779
|
-
}
|
|
3780
3859
|
function G() {
|
|
3781
|
-
|
|
3860
|
+
let t = n.value <= Ei, r = Y() <= Ti;
|
|
3861
|
+
return t ? (e.setActiveIndex(0), !0) : r ? (e.setActiveIndex(Math.max(0, e.items.value.length - 1)), !0) : !1;
|
|
3782
3862
|
}
|
|
3783
3863
|
function K() {
|
|
3784
|
-
|
|
3864
|
+
N.maybeRequestPage(), P.maybeRequestPage();
|
|
3785
3865
|
}
|
|
3786
3866
|
function q() {
|
|
3787
|
-
|
|
3867
|
+
r.value = J(), a.value = ne();
|
|
3788
3868
|
}
|
|
3789
3869
|
function J() {
|
|
3790
|
-
return
|
|
3870
|
+
return Zr(t.value, r.value);
|
|
3871
|
+
}
|
|
3872
|
+
function ne() {
|
|
3873
|
+
return Qr(t.value, a.value, Si);
|
|
3791
3874
|
}
|
|
3792
3875
|
function Y() {
|
|
3793
|
-
|
|
3876
|
+
return $r(t.value, n.value, r.value, T.value);
|
|
3877
|
+
}
|
|
3878
|
+
function X() {
|
|
3879
|
+
let e = Math.max(t.value?.scrollHeight ?? 0, T.value);
|
|
3794
3880
|
return Math.max(0, e - r.value);
|
|
3795
3881
|
}
|
|
3796
3882
|
return {
|
|
3797
|
-
autoScroll:
|
|
3798
|
-
columnWidth:
|
|
3799
|
-
containerHeight:
|
|
3800
|
-
getCardStyle:
|
|
3801
|
-
getLeavingCardStyle:
|
|
3802
|
-
getScrollbarThumbStyle:
|
|
3803
|
-
leavingItems:
|
|
3804
|
-
nextBoundaryLoadProgress:
|
|
3805
|
-
onScroll:
|
|
3806
|
-
onWheel:
|
|
3807
|
-
paginationLabel:
|
|
3808
|
-
previousBoundaryLoadProgress:
|
|
3809
|
-
renderedItems:
|
|
3810
|
-
resolvedActiveIndex:
|
|
3811
|
-
scrollToIndex:
|
|
3812
|
-
showScrollbar:
|
|
3883
|
+
autoScroll: F.autoScroll,
|
|
3884
|
+
columnWidth: v,
|
|
3885
|
+
containerHeight: T,
|
|
3886
|
+
getCardStyle: V,
|
|
3887
|
+
getLeavingCardStyle: M.getLeavingCardStyle,
|
|
3888
|
+
getScrollbarThumbStyle: j.getScrollbarThumbStyle,
|
|
3889
|
+
leavingItems: M.leavingItems,
|
|
3890
|
+
nextBoundaryLoadProgress: O,
|
|
3891
|
+
onScroll: ee,
|
|
3892
|
+
onWheel: B,
|
|
3893
|
+
paginationLabel: k,
|
|
3894
|
+
previousBoundaryLoadProgress: A,
|
|
3895
|
+
renderedItems: w,
|
|
3896
|
+
resolvedActiveIndex: b,
|
|
3897
|
+
scrollToIndex: H,
|
|
3898
|
+
showScrollbar: j.showScrollbar,
|
|
3813
3899
|
scrollViewportRef: t
|
|
3814
3900
|
};
|
|
3815
3901
|
}
|
|
3816
|
-
function
|
|
3902
|
+
function ji(e, t, n) {
|
|
3817
3903
|
return Math.min(Math.max(e, t), n);
|
|
3818
3904
|
}
|
|
3819
3905
|
//#endregion
|
|
3820
3906
|
//#region src/components/viewer-core/listCardAsset.ts
|
|
3821
|
-
function
|
|
3907
|
+
function Mi(e) {
|
|
3822
3908
|
if (e) try {
|
|
3823
3909
|
e.removeAttribute("src"), e.src = "";
|
|
3824
3910
|
} catch {}
|
|
3825
3911
|
}
|
|
3826
|
-
function
|
|
3912
|
+
function Ni(e) {
|
|
3827
3913
|
if (e) {
|
|
3828
3914
|
try {
|
|
3829
3915
|
e.currentTime = 0;
|
|
@@ -3834,12 +3920,12 @@ function Di(e) {
|
|
|
3834
3920
|
} catch {}
|
|
3835
3921
|
}
|
|
3836
3922
|
}
|
|
3837
|
-
function
|
|
3923
|
+
function Pi(e, t) {
|
|
3838
3924
|
if (t) return e.bottom > t.top && e.top < t.bottom;
|
|
3839
3925
|
let n = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
3840
3926
|
return e.bottom > 0 && e.top < n;
|
|
3841
3927
|
}
|
|
3842
|
-
function
|
|
3928
|
+
function Fi(e) {
|
|
3843
3929
|
if (!e) return null;
|
|
3844
3930
|
try {
|
|
3845
3931
|
return new URL(e, window.location.href).href;
|
|
@@ -3849,9 +3935,9 @@ function ki(e) {
|
|
|
3849
3935
|
}
|
|
3850
3936
|
//#endregion
|
|
3851
3937
|
//#region src/components/viewer-core/listPreview.ts
|
|
3852
|
-
var
|
|
3853
|
-
function
|
|
3854
|
-
let t =
|
|
3938
|
+
var Ii = /\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i, Li = /\.(m4v|mov|mp4|mpeg|ogg|ogv|webm)(\?|#|$)/i, Ri = /^(?:(?:https?:)?\/\/[^/]+)?\/api\/files\/[^/?#]+\/(?:preview|downloaded)(?:\?|#|$)/i;
|
|
3939
|
+
function zi(e) {
|
|
3940
|
+
let t = Bi(e), n = t?.url, r = Dr(e), i = e.title?.trim() || Wt(e.type);
|
|
3855
3941
|
return t?.mediaType === "video" && typeof n == "string" ? {
|
|
3856
3942
|
kind: "video",
|
|
3857
3943
|
url: n,
|
|
@@ -3870,13 +3956,13 @@ function Ni(e) {
|
|
|
3870
3956
|
width: r.width,
|
|
3871
3957
|
height: r.height,
|
|
3872
3958
|
label: i
|
|
3873
|
-
} : typeof n == "string" &&
|
|
3959
|
+
} : typeof n == "string" && Hi(e, n) ? {
|
|
3874
3960
|
kind: "video",
|
|
3875
3961
|
url: n,
|
|
3876
3962
|
width: r.width,
|
|
3877
3963
|
height: r.height,
|
|
3878
3964
|
label: i
|
|
3879
|
-
} : typeof n == "string" &&
|
|
3965
|
+
} : typeof n == "string" && Vi(e, n) ? {
|
|
3880
3966
|
kind: "image",
|
|
3881
3967
|
url: n,
|
|
3882
3968
|
width: r.width,
|
|
@@ -3890,31 +3976,31 @@ function Ni(e) {
|
|
|
3890
3976
|
label: i
|
|
3891
3977
|
};
|
|
3892
3978
|
}
|
|
3893
|
-
function
|
|
3979
|
+
function Bi(e) {
|
|
3894
3980
|
return e.preview?.url ? e.preview : typeof e.url != "string" || e.url.trim() === "" ? null : { url: e.url };
|
|
3895
3981
|
}
|
|
3896
|
-
function
|
|
3897
|
-
return e.type !== "image" || typeof t != "string" ? !1 :
|
|
3982
|
+
function Vi(e, t) {
|
|
3983
|
+
return e.type !== "image" || typeof t != "string" ? !1 : Ii.test(t) || Ui(t);
|
|
3898
3984
|
}
|
|
3899
|
-
function
|
|
3900
|
-
return e.type !== "video" || typeof t != "string" ? !1 :
|
|
3985
|
+
function Hi(e, t) {
|
|
3986
|
+
return e.type !== "video" || typeof t != "string" ? !1 : Li.test(t) || Wi(t);
|
|
3901
3987
|
}
|
|
3902
|
-
function
|
|
3988
|
+
function Ui(e) {
|
|
3903
3989
|
return /^(https?:\/\/|\/\/|\/(?!\/)|\.{1,2}\/|blob:|data:)/i.test(e);
|
|
3904
3990
|
}
|
|
3905
|
-
function
|
|
3906
|
-
return
|
|
3991
|
+
function Wi(e) {
|
|
3992
|
+
return Ri.test(e) || /^blob:/i.test(e) || /^data:video\//i.test(e);
|
|
3907
3993
|
}
|
|
3908
3994
|
//#endregion
|
|
3909
3995
|
//#region src/components/viewer-core/useListCardHealthCheck.ts
|
|
3910
|
-
function
|
|
3996
|
+
function Gi(e) {
|
|
3911
3997
|
let t = D(null), n = i(() => {
|
|
3912
|
-
let t = typeof e.item.value.healthCheck?.url == "string" ?
|
|
3998
|
+
let t = typeof e.item.value.healthCheck?.url == "string" ? Fi(e.item.value.healthCheck.url) : null;
|
|
3913
3999
|
return !t || t === e.attachedAssetUrl.value ? null : t;
|
|
3914
4000
|
}), r = null, a = 0, o = /* @__PURE__ */ new Map();
|
|
3915
|
-
|
|
4001
|
+
z(n, (e, n) => {
|
|
3916
4002
|
e !== n && (t.value = null, l(), a += 1);
|
|
3917
|
-
}),
|
|
4003
|
+
}), z([
|
|
3918
4004
|
n,
|
|
3919
4005
|
e.surfaceActive,
|
|
3920
4006
|
e.isInView,
|
|
@@ -3941,7 +4027,7 @@ function zi(e) {
|
|
|
3941
4027
|
r.refresh();
|
|
3942
4028
|
return;
|
|
3943
4029
|
}
|
|
3944
|
-
r =
|
|
4030
|
+
r = Kt.request({
|
|
3945
4031
|
assetType: "probe",
|
|
3946
4032
|
getPriority: e.getPriority,
|
|
3947
4033
|
onGrant() {
|
|
@@ -3951,7 +4037,7 @@ function zi(e) {
|
|
|
3951
4037
|
return;
|
|
3952
4038
|
}
|
|
3953
4039
|
let i = ++a;
|
|
3954
|
-
|
|
4040
|
+
bn(r).then((s) => {
|
|
3955
4041
|
if (!(i !== a || n.value !== r)) {
|
|
3956
4042
|
if (o.set(r, s ?? null), !s) {
|
|
3957
4043
|
t.value = null;
|
|
@@ -3959,7 +4045,7 @@ function zi(e) {
|
|
|
3959
4045
|
}
|
|
3960
4046
|
t.value = s, e.reportAssetError?.({
|
|
3961
4047
|
item: e.item.value,
|
|
3962
|
-
occurrenceKey:
|
|
4048
|
+
occurrenceKey: $(e.item.value),
|
|
3963
4049
|
url: r,
|
|
3964
4050
|
kind: s,
|
|
3965
4051
|
surface: "grid"
|
|
@@ -3987,14 +4073,14 @@ function zi(e) {
|
|
|
3987
4073
|
}
|
|
3988
4074
|
//#endregion
|
|
3989
4075
|
//#region src/components/ListCard.vue?vue&type=script&setup=true&lang.ts
|
|
3990
|
-
var
|
|
4076
|
+
var Ki = ["aria-label"], qi = {
|
|
3991
4077
|
key: 0,
|
|
3992
4078
|
"data-testid": "vibe-list-card-spinner",
|
|
3993
4079
|
class: "pointer-events-none absolute inset-0 z-[4] grid place-items-center bg-black/18"
|
|
3994
|
-
},
|
|
4080
|
+
}, Ji = { class: "inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]" }, Yi = ["src", "alt"], Xi = ["src"], Zi = ["data-kind"], Qi = { class: "grid justify-items-center gap-3 px-4 text-center" }, $i = { class: "text-[0.68rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, ea = {
|
|
3995
4081
|
key: 4,
|
|
3996
4082
|
class: "grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(255,255,255,0.08),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]"
|
|
3997
|
-
},
|
|
4083
|
+
}, ta = { class: "inline-flex h-14 w-14 items-center justify-center border border-white/16 bg-black/20" }, na = { class: "pointer-events-none absolute inset-0 z-[3]" }, ra = /* @__PURE__ */ d({
|
|
3998
4084
|
__name: "ListCard",
|
|
3999
4085
|
props: {
|
|
4000
4086
|
active: {
|
|
@@ -4018,74 +4104,74 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4018
4104
|
},
|
|
4019
4105
|
emits: ["open"],
|
|
4020
4106
|
setup(e, { emit: t }) {
|
|
4021
|
-
let n = e, r = t, l = i(() =>
|
|
4107
|
+
let n = e, r = t, l = i(() => zi(n.item)), d = D(!1), f = D(!1), p = D(!1), m = D(l.value.kind === "fallback"), h = D(!1), g = D(null), _ = D(null), y = D(null), b = D(null), C = D(null), T = D(l.value.kind === "fallback"), E = i(() => T.value ? n.surfaceActive ? d.value ? l.value.url : null : l.value.url : null), O = i(() => n.surfaceActive && d.value && (l.value.kind === "image" || l.value.kind === "video") && !!l.value.url), j = i(() => l.value.kind === "image" && !!E.value), N = i(() => l.value.kind === "video" && !!E.value), P = Gi({
|
|
4022
4108
|
attachedAssetUrl: E,
|
|
4023
|
-
getPriority:
|
|
4109
|
+
getPriority: se,
|
|
4024
4110
|
isInView: d,
|
|
4025
4111
|
isReady: m,
|
|
4026
4112
|
item: i(() => n.item),
|
|
4027
4113
|
loadErrorKind: g,
|
|
4028
4114
|
reportAssetError: n.reportAssetError,
|
|
4029
4115
|
surfaceActive: i(() => n.surfaceActive)
|
|
4030
|
-
}), I = i(() =>
|
|
4031
|
-
|
|
4116
|
+
}), I = i(() => P.errorKind.value ?? g.value), L = i(() => !!I.value), R = i(() => vn(I.value)), ee = i(() => O.value && !g.value && (!T.value || !m.value)), B = null, V = null, U = /* @__PURE__ */ new Set();
|
|
4117
|
+
z([E, () => l.value.kind], () => {
|
|
4032
4118
|
let e = l.value.kind === "fallback";
|
|
4033
4119
|
m.value = e, h.value = !1, g.value = null, e && (T.value = !0);
|
|
4034
|
-
}),
|
|
4035
|
-
|
|
4036
|
-
}),
|
|
4120
|
+
}), z(O, () => {
|
|
4121
|
+
q();
|
|
4122
|
+
}), z([
|
|
4037
4123
|
d,
|
|
4038
4124
|
m,
|
|
4039
4125
|
E
|
|
4040
4126
|
], () => {
|
|
4041
|
-
|
|
4042
|
-
}),
|
|
4127
|
+
J();
|
|
4128
|
+
}), z(() => n.surfaceActive, (e) => {
|
|
4043
4129
|
if (!e) {
|
|
4044
|
-
Y(),
|
|
4130
|
+
Y(), J();
|
|
4045
4131
|
return;
|
|
4046
4132
|
}
|
|
4047
4133
|
requestAnimationFrame(() => {
|
|
4048
|
-
|
|
4134
|
+
X(), q(), J();
|
|
4049
4135
|
});
|
|
4050
4136
|
}), S(() => {
|
|
4051
4137
|
if (!y.value || typeof IntersectionObserver > "u") {
|
|
4052
|
-
b.value = null, d.value = !0,
|
|
4138
|
+
b.value = null, d.value = !0, q();
|
|
4053
4139
|
return;
|
|
4054
4140
|
}
|
|
4055
4141
|
b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"), B = new IntersectionObserver((e) => {
|
|
4056
|
-
for (let t of e) t.target === y.value && (n.surfaceActive &&
|
|
4142
|
+
for (let t of e) t.target === y.value && (n.surfaceActive && X(t), q(), J());
|
|
4057
4143
|
}, {
|
|
4058
4144
|
root: b.value,
|
|
4059
4145
|
threshold: [0, 1]
|
|
4060
4146
|
}), B.observe(y.value);
|
|
4061
4147
|
}), x(() => {
|
|
4062
|
-
|
|
4148
|
+
ne(), P.release(), B?.disconnect(), B = null;
|
|
4063
4149
|
});
|
|
4064
|
-
function
|
|
4065
|
-
|
|
4150
|
+
function te() {
|
|
4151
|
+
ce(_.value) && (m.value = !0, g.value = null, re(E.value ?? n.item.url), Y());
|
|
4066
4152
|
}
|
|
4067
4153
|
async function W() {
|
|
4068
|
-
if (!
|
|
4154
|
+
if (!ce(_.value)) return;
|
|
4069
4155
|
let e = E.value ?? n.item.url;
|
|
4070
4156
|
m.value = !1, g.value = "generic";
|
|
4071
|
-
let t = await
|
|
4157
|
+
let t = await yn(e);
|
|
4072
4158
|
g.value = t, n.reportAssetError?.({
|
|
4073
4159
|
item: n.item,
|
|
4074
|
-
occurrenceKey:
|
|
4160
|
+
occurrenceKey: $(n.item),
|
|
4075
4161
|
url: e,
|
|
4076
4162
|
kind: t,
|
|
4077
4163
|
surface: "grid"
|
|
4078
4164
|
}), Y();
|
|
4079
4165
|
}
|
|
4080
|
-
function ne() {
|
|
4081
|
-
X(C.value) && (h.value = !0, m.value = !0, g.value = null, ie(E.value ?? n.item.url), Y(), q());
|
|
4082
|
-
}
|
|
4083
4166
|
function G() {
|
|
4084
|
-
|
|
4167
|
+
ce(C.value) && (h.value = !0, m.value = !0, g.value = null, re(E.value ?? n.item.url), Y(), J());
|
|
4085
4168
|
}
|
|
4086
4169
|
function K() {
|
|
4170
|
+
ce(C.value) && (h.value || (m.value = !1));
|
|
4171
|
+
}
|
|
4172
|
+
function q() {
|
|
4087
4173
|
if (l.value.kind === "fallback") {
|
|
4088
|
-
|
|
4174
|
+
ne(!1);
|
|
4089
4175
|
return;
|
|
4090
4176
|
}
|
|
4091
4177
|
if (!n.surfaceActive) {
|
|
@@ -4093,23 +4179,23 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4093
4179
|
return;
|
|
4094
4180
|
}
|
|
4095
4181
|
if (!O.value) {
|
|
4096
|
-
|
|
4182
|
+
ne();
|
|
4097
4183
|
return;
|
|
4098
4184
|
}
|
|
4099
4185
|
if (T.value || V) {
|
|
4100
4186
|
V?.refresh();
|
|
4101
4187
|
return;
|
|
4102
4188
|
}
|
|
4103
|
-
V =
|
|
4189
|
+
V = Kt.request({
|
|
4104
4190
|
assetType: l.value.kind,
|
|
4105
|
-
getPriority:
|
|
4191
|
+
getPriority: se,
|
|
4106
4192
|
onGrant() {
|
|
4107
4193
|
T.value = !0, m.value = !1, g.value = null;
|
|
4108
4194
|
},
|
|
4109
4195
|
url: l.value.url ?? n.item.url
|
|
4110
4196
|
});
|
|
4111
4197
|
}
|
|
4112
|
-
function
|
|
4198
|
+
function J() {
|
|
4113
4199
|
let e = C.value;
|
|
4114
4200
|
if (!(!e || l.value.kind !== "video")) {
|
|
4115
4201
|
if (I.value) {
|
|
@@ -4117,7 +4203,7 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4117
4203
|
return;
|
|
4118
4204
|
}
|
|
4119
4205
|
if (E.value && d.value && m.value) {
|
|
4120
|
-
e.muted = !0, e.loop = !0, e.playsInline = !0,
|
|
4206
|
+
e.muted = !0, e.loop = !0, e.playsInline = !0, Cn(e);
|
|
4121
4207
|
return;
|
|
4122
4208
|
}
|
|
4123
4209
|
try {
|
|
@@ -4126,44 +4212,44 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4126
4212
|
e.pause();
|
|
4127
4213
|
}
|
|
4128
4214
|
}
|
|
4129
|
-
function
|
|
4130
|
-
T.value = l.value.kind === "fallback", g.value = null, m.value = l.value.kind === "fallback", e && (
|
|
4215
|
+
function ne(e = !0) {
|
|
4216
|
+
T.value = l.value.kind === "fallback", g.value = null, m.value = l.value.kind === "fallback", e && (ae(), Z()), Y();
|
|
4131
4217
|
}
|
|
4132
4218
|
function Y() {
|
|
4133
4219
|
V?.release(), V = null;
|
|
4134
4220
|
}
|
|
4135
|
-
function
|
|
4221
|
+
function X(e) {
|
|
4136
4222
|
let t = y.value;
|
|
4137
4223
|
if (!t) {
|
|
4138
4224
|
d.value = !0;
|
|
4139
4225
|
return;
|
|
4140
4226
|
}
|
|
4141
|
-
d.value =
|
|
4227
|
+
d.value = Pi(e?.boundingClientRect ?? t.getBoundingClientRect(), e?.rootBounds ?? b.value?.getBoundingClientRect() ?? null);
|
|
4142
4228
|
}
|
|
4143
|
-
function
|
|
4229
|
+
function re(e) {
|
|
4144
4230
|
if (!e) return;
|
|
4145
|
-
let t =
|
|
4146
|
-
|
|
4231
|
+
let t = $(n.item), r = `${t}|${e}`;
|
|
4232
|
+
U.has(r) || (U.add(r), n.reportAssetLoad?.({
|
|
4147
4233
|
item: n.item,
|
|
4148
4234
|
occurrenceKey: t,
|
|
4149
4235
|
surface: "grid",
|
|
4150
4236
|
url: e
|
|
4151
4237
|
}));
|
|
4152
4238
|
}
|
|
4153
|
-
function
|
|
4154
|
-
if (!
|
|
4155
|
-
let e =
|
|
4156
|
-
|
|
4157
|
-
t.startsWith(`${e}|`) &&
|
|
4158
|
-
}), g.value = null, m.value = !1, T.value = !1, Y(),
|
|
4239
|
+
function ie() {
|
|
4240
|
+
if (!R.value || P.retry()) return;
|
|
4241
|
+
let e = $(n.item);
|
|
4242
|
+
U.forEach((t) => {
|
|
4243
|
+
t.startsWith(`${e}|`) && U.delete(t);
|
|
4244
|
+
}), g.value = null, m.value = !1, T.value = !1, Y(), q();
|
|
4159
4245
|
}
|
|
4160
|
-
function
|
|
4161
|
-
|
|
4246
|
+
function ae() {
|
|
4247
|
+
Mi(_.value);
|
|
4162
4248
|
}
|
|
4163
|
-
function
|
|
4164
|
-
|
|
4249
|
+
function Z() {
|
|
4250
|
+
Ni(C.value);
|
|
4165
4251
|
}
|
|
4166
|
-
function
|
|
4252
|
+
function se() {
|
|
4167
4253
|
let e = y.value;
|
|
4168
4254
|
if (!e) return Infinity;
|
|
4169
4255
|
let t = e.getBoundingClientRect();
|
|
@@ -4174,17 +4260,17 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4174
4260
|
let n = window.innerHeight / 2;
|
|
4175
4261
|
return Math.abs((t.top + t.bottom) / 2 - n);
|
|
4176
4262
|
}
|
|
4177
|
-
function
|
|
4178
|
-
let t =
|
|
4179
|
-
return !e || !t ? !1 :
|
|
4263
|
+
function ce(e) {
|
|
4264
|
+
let t = Fi(E.value);
|
|
4265
|
+
return !e || !t ? !1 : Fi("currentSrc" in e && e.currentSrc || e.getAttribute("src")) === t;
|
|
4180
4266
|
}
|
|
4181
|
-
function
|
|
4267
|
+
function ue() {
|
|
4182
4268
|
r("open");
|
|
4183
4269
|
}
|
|
4184
|
-
function
|
|
4270
|
+
function de() {
|
|
4185
4271
|
f.value = !0;
|
|
4186
4272
|
}
|
|
4187
|
-
function
|
|
4273
|
+
function fe(e) {
|
|
4188
4274
|
let t = e.relatedTarget;
|
|
4189
4275
|
y.value && t instanceof Node && y.value.contains(t) || (f.value = !1);
|
|
4190
4276
|
}
|
|
@@ -4193,8 +4279,8 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4193
4279
|
ref: y,
|
|
4194
4280
|
"data-testid": "vibe-list-card-inner",
|
|
4195
4281
|
class: v(["group relative h-full w-full overflow-hidden border bg-[#0a0b0f] text-[#f7f1ea] transition-[border-color,transform] duration-300", n.active ? "border-white/28" : "border-white/12 hover:border-white/24"]),
|
|
4196
|
-
onFocusin:
|
|
4197
|
-
onFocusout:
|
|
4282
|
+
onFocusin: de,
|
|
4283
|
+
onFocusout: fe,
|
|
4198
4284
|
onPointerenter: t[0] ||= (e) => p.value = !0,
|
|
4199
4285
|
onPointerleave: t[1] ||= (e) => p.value = !1
|
|
4200
4286
|
}, [
|
|
@@ -4203,13 +4289,13 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4203
4289
|
"data-testid": "vibe-list-card-open",
|
|
4204
4290
|
class: "absolute inset-0 z-[1] block h-full w-full cursor-pointer text-left focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]",
|
|
4205
4291
|
"aria-label": n.item.title || `Open item ${n.index + 1}`,
|
|
4206
|
-
onClick:
|
|
4207
|
-
}, null, 8,
|
|
4208
|
-
ee.value ? (w(), s("div",
|
|
4292
|
+
onClick: ue
|
|
4293
|
+
}, null, 8, Ki),
|
|
4294
|
+
ee.value ? (w(), s("div", qi, [c("span", Ji, [u(F(oe), {
|
|
4209
4295
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
4210
4296
|
"aria-hidden": "true"
|
|
4211
4297
|
})])])) : o("", !0),
|
|
4212
|
-
|
|
4298
|
+
j.value && E.value && !L.value ? (w(), s("img", {
|
|
4213
4299
|
key: 1,
|
|
4214
4300
|
ref_key: "imageRef",
|
|
4215
4301
|
ref: _,
|
|
@@ -4217,9 +4303,9 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4217
4303
|
alt: l.value.label,
|
|
4218
4304
|
draggable: "false",
|
|
4219
4305
|
class: v(["block h-full w-full object-cover transition-opacity duration-300", m.value ? "pointer-events-none opacity-100" : "pointer-events-none opacity-0"]),
|
|
4220
|
-
onLoad:
|
|
4306
|
+
onLoad: te,
|
|
4221
4307
|
onError: W
|
|
4222
|
-
}, null, 42,
|
|
4308
|
+
}, null, 42, Yi)) : N.value && E.value && !L.value ? (w(), s("video", {
|
|
4223
4309
|
key: 2,
|
|
4224
4310
|
ref_key: "videoRef",
|
|
4225
4311
|
ref: C,
|
|
@@ -4229,64 +4315,64 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4229
4315
|
playsinline: "",
|
|
4230
4316
|
preload: "metadata",
|
|
4231
4317
|
class: v(["block h-full w-full object-cover transition-opacity duration-300", m.value ? "pointer-events-none opacity-100" : "pointer-events-none opacity-0"]),
|
|
4232
|
-
onCanplay:
|
|
4318
|
+
onCanplay: G,
|
|
4233
4319
|
onError: W,
|
|
4234
|
-
onLoadstart:
|
|
4235
|
-
onPlaying:
|
|
4236
|
-
onStalled:
|
|
4237
|
-
onWaiting:
|
|
4238
|
-
}, null, 42,
|
|
4320
|
+
onLoadstart: K,
|
|
4321
|
+
onPlaying: G,
|
|
4322
|
+
onStalled: K,
|
|
4323
|
+
onWaiting: K
|
|
4324
|
+
}, null, 42, Xi)) : L.value ? (w(), s("div", {
|
|
4239
4325
|
key: 3,
|
|
4240
4326
|
"data-testid": "vibe-list-card-error",
|
|
4241
4327
|
"data-kind": I.value,
|
|
4242
4328
|
class: "pointer-events-none relative z-[2] grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(239,68,68,0.12),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]"
|
|
4243
|
-
}, [c("div",
|
|
4244
|
-
u(
|
|
4329
|
+
}, [c("div", Qi, [
|
|
4330
|
+
u(F(le), {
|
|
4245
4331
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
4246
4332
|
"aria-hidden": "true"
|
|
4247
4333
|
}),
|
|
4248
|
-
c("span",
|
|
4249
|
-
|
|
4334
|
+
c("span", $i, M(F(_n)(I.value)), 1),
|
|
4335
|
+
R.value ? (w(), s("button", {
|
|
4250
4336
|
key: 0,
|
|
4251
4337
|
type: "button",
|
|
4252
4338
|
class: "pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-3 py-2 text-[0.62rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50",
|
|
4253
|
-
onClick:
|
|
4339
|
+
onClick: H(ie, ["stop"])
|
|
4254
4340
|
}, " Retry ")) : o("", !0)
|
|
4255
|
-
])], 8,
|
|
4256
|
-
icon:
|
|
4341
|
+
])], 8, Zi)) : (w(), s("div", ea, [c("div", ta, [k(e.$slots, "item-icon", {
|
|
4342
|
+
icon: F(Ut)(n.item.type),
|
|
4257
4343
|
item: n.item
|
|
4258
|
-
}, () => [(w(), a(A(
|
|
4344
|
+
}, () => [(w(), a(A(F(Ut)(n.item.type)), {
|
|
4259
4345
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
4260
4346
|
"aria-hidden": "true"
|
|
4261
4347
|
}))])])])),
|
|
4262
|
-
c("div",
|
|
4348
|
+
c("div", na, [k(e.$slots, "grid-item-overlay", {
|
|
4263
4349
|
active: n.active,
|
|
4264
4350
|
focused: f.value,
|
|
4265
4351
|
hovered: p.value,
|
|
4266
4352
|
index: n.index,
|
|
4267
4353
|
item: n.item,
|
|
4268
|
-
openFullscreen:
|
|
4354
|
+
openFullscreen: ue
|
|
4269
4355
|
})])
|
|
4270
4356
|
], 34));
|
|
4271
4357
|
}
|
|
4272
|
-
}),
|
|
4358
|
+
}), ia = { class: "relative h-full min-h-0 bg-[radial-gradient(circle_at_top_center,rgba(255,255,255,0.04),transparent_28%),linear-gradient(180deg,#06070b,#05060a)]" }, aa = { class: "pointer-events-none absolute inset-x-0 top-0 z-[2] flex justify-end p-6" }, oa = {
|
|
4273
4359
|
"data-testid": "vibe-pagination",
|
|
4274
4360
|
class: "inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]"
|
|
4275
|
-
},
|
|
4361
|
+
}, sa = { class: "whitespace-nowrap" }, ca = {
|
|
4276
4362
|
key: 0,
|
|
4277
4363
|
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3"
|
|
4278
|
-
},
|
|
4364
|
+
}, la = [
|
|
4279
4365
|
"data-active",
|
|
4280
4366
|
"data-index",
|
|
4281
4367
|
"data-item-id",
|
|
4282
4368
|
"data-occurrence-key"
|
|
4283
|
-
],
|
|
4369
|
+
], ua = ["data-item-id"], da = {
|
|
4284
4370
|
key: 0,
|
|
4285
4371
|
class: "pointer-events-none absolute inset-y-0 right-0 z-[3] hidden w-8 min-[1024px]:block"
|
|
4286
|
-
},
|
|
4372
|
+
}, fa = {
|
|
4287
4373
|
key: 1,
|
|
4288
4374
|
class: "pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6"
|
|
4289
|
-
},
|
|
4375
|
+
}, pa = { class: "mx-auto flex w-full justify-center" }, ma = /* @__PURE__ */ d({
|
|
4290
4376
|
__name: "ListSurface",
|
|
4291
4377
|
props: {
|
|
4292
4378
|
active: {
|
|
@@ -4348,30 +4434,30 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4348
4434
|
"update:activeIndex"
|
|
4349
4435
|
],
|
|
4350
4436
|
setup(e, { expose: n, emit: r }) {
|
|
4351
|
-
let d = e, f =
|
|
4352
|
-
active:
|
|
4353
|
-
allowExhaustedNextPageRefresh:
|
|
4354
|
-
bottomLoadBufferPx:
|
|
4355
|
-
items:
|
|
4356
|
-
activeIndex:
|
|
4357
|
-
loading:
|
|
4358
|
-
hasNextPage:
|
|
4359
|
-
hasPreviousPage:
|
|
4360
|
-
paginationDetail:
|
|
4361
|
-
pendingAppendItems:
|
|
4362
|
-
commitPendingAppend:
|
|
4363
|
-
requestNextPage:
|
|
4364
|
-
requestPreviousPage:
|
|
4437
|
+
let d = e, f = L(), p = r, m = Ai({
|
|
4438
|
+
active: N(d, "active"),
|
|
4439
|
+
allowExhaustedNextPageRefresh: N(d, "allowExhaustedNextPageRefresh"),
|
|
4440
|
+
bottomLoadBufferPx: N(d, "bottomLoadBufferPx"),
|
|
4441
|
+
items: N(d, "items"),
|
|
4442
|
+
activeIndex: N(d, "activeIndex"),
|
|
4443
|
+
loading: N(d, "loading"),
|
|
4444
|
+
hasNextPage: N(d, "hasNextPage"),
|
|
4445
|
+
hasPreviousPage: N(d, "hasPreviousPage"),
|
|
4446
|
+
paginationDetail: N(d, "paginationDetail"),
|
|
4447
|
+
pendingAppendItems: N(d, "pendingAppendItems"),
|
|
4448
|
+
commitPendingAppend: N(d, "commitPendingAppend"),
|
|
4449
|
+
requestNextPage: N(d, "requestNextPage"),
|
|
4450
|
+
requestPreviousPage: N(d, "requestPreviousPage"),
|
|
4365
4451
|
setActiveIndex(e) {
|
|
4366
4452
|
p("update:activeIndex", e);
|
|
4367
4453
|
}
|
|
4368
4454
|
});
|
|
4369
4455
|
n({ autoScroll: m.autoScroll });
|
|
4370
|
-
let h = i(() =>
|
|
4456
|
+
let h = i(() => cn({
|
|
4371
4457
|
itemCount: d.items.length,
|
|
4372
4458
|
loading: d.loading,
|
|
4373
4459
|
phase: d.phase
|
|
4374
|
-
})), _ = i(() =>
|
|
4460
|
+
})), _ = i(() => ln({
|
|
4375
4461
|
errorMessage: d.errorMessage,
|
|
4376
4462
|
hasItems: d.items.length > 0,
|
|
4377
4463
|
hasNextPage: d.hasNextPage,
|
|
@@ -4384,42 +4470,42 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4384
4470
|
message: _.value.message,
|
|
4385
4471
|
paginationDetail: d.paginationDetail,
|
|
4386
4472
|
total: d.items.length
|
|
4387
|
-
}), S = i(() => !x.value || !f["grid-status"] ? [] : f["grid-status"](x.value)), C = i(() =>
|
|
4388
|
-
emptyStateMode:
|
|
4473
|
+
}), S = i(() => !x.value || !f["grid-status"] ? [] : f["grid-status"](x.value)), C = i(() => nn(S.value)), T = i(() => d.items.length + m.leavingItems.value.length), { emptyStateProps: E, showBadgeEmptyState: D, showCustomEmptyState: A, showInlineEmptyState: j } = on({
|
|
4474
|
+
emptyStateMode: N(d, "emptyStateMode"),
|
|
4389
4475
|
itemCount: T,
|
|
4390
|
-
loading:
|
|
4476
|
+
loading: N(d, "loading"),
|
|
4391
4477
|
renderSlot: f["empty-state"],
|
|
4392
4478
|
surface: "grid"
|
|
4393
4479
|
});
|
|
4394
|
-
return
|
|
4480
|
+
return z([m.nextBoundaryLoadProgress, m.previousBoundaryLoadProgress], ([e, t]) => {
|
|
4395
4481
|
p("boundary-load-progress", {
|
|
4396
4482
|
nextBoundaryLoadProgress: e,
|
|
4397
4483
|
previousBoundaryLoadProgress: t
|
|
4398
4484
|
});
|
|
4399
|
-
}, { immediate: !0 }), (e, n) => (w(), s("div",
|
|
4400
|
-
c("div",
|
|
4485
|
+
}, { immediate: !0 }), (e, n) => (w(), s("div", ia, [
|
|
4486
|
+
c("div", aa, [c("span", oa, [c("span", sa, M(F(m).paginationLabel.value), 1), d.paginationDetail ? (w(), s("span", ca, M(d.paginationDetail), 1)) : o("", !0)])]),
|
|
4401
4487
|
c("div", {
|
|
4402
|
-
ref:
|
|
4488
|
+
ref: F(m).scrollViewportRef,
|
|
4403
4489
|
"data-testid": "vibe-list-scroll",
|
|
4404
4490
|
class: "h-full min-h-0 overflow-y-auto overflow-x-hidden [overflow-anchor:none] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",
|
|
4405
|
-
onScroll: n[0] ||= (...e) =>
|
|
4406
|
-
onWheel: n[1] ||= (...e) =>
|
|
4491
|
+
onScroll: n[0] ||= (...e) => F(m).onScroll && F(m).onScroll(...e),
|
|
4492
|
+
onWheel: n[1] ||= (...e) => F(m).onWheel && F(m).onWheel(...e)
|
|
4407
4493
|
}, [c("div", {
|
|
4408
4494
|
"data-testid": "vibe-list-content",
|
|
4409
4495
|
class: "relative",
|
|
4410
|
-
style: b({ height: `${
|
|
4496
|
+
style: b({ height: `${F(m).containerHeight.value}px` })
|
|
4411
4497
|
}, [
|
|
4412
|
-
(w(!0), s(t, null, O(
|
|
4413
|
-
key:
|
|
4498
|
+
(w(!0), s(t, null, O(F(m).renderedItems.value, ({ item: t, index: n }) => (w(), s("article", {
|
|
4499
|
+
key: F($)(t),
|
|
4414
4500
|
"data-testid": "vibe-list-card",
|
|
4415
|
-
"data-active": n ===
|
|
4501
|
+
"data-active": n === F(m).resolvedActiveIndex.value ? "true" : "false",
|
|
4416
4502
|
"data-index": n,
|
|
4417
4503
|
"data-item-id": t.id,
|
|
4418
|
-
"data-occurrence-key":
|
|
4504
|
+
"data-occurrence-key": F($)(t),
|
|
4419
4505
|
class: "absolute will-change-transform",
|
|
4420
|
-
style: b(
|
|
4421
|
-
}, [u(
|
|
4422
|
-
active: n ===
|
|
4506
|
+
style: b(F(m).getCardStyle(n))
|
|
4507
|
+
}, [u(ra, {
|
|
4508
|
+
active: n === F(m).resolvedActiveIndex.value,
|
|
4423
4509
|
index: n,
|
|
4424
4510
|
item: t,
|
|
4425
4511
|
"report-asset-error": d.reportAssetError,
|
|
@@ -4428,11 +4514,11 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4428
4514
|
onOpen: (e) => p("open-fullscreen", n)
|
|
4429
4515
|
}, l({ _: 2 }, [f["grid-item-overlay"] ? {
|
|
4430
4516
|
name: "grid-item-overlay",
|
|
4431
|
-
fn:
|
|
4517
|
+
fn: B((t) => [k(e.$slots, "grid-item-overlay", g({ ref_for: !0 }, t))]),
|
|
4432
4518
|
key: "0"
|
|
4433
4519
|
} : void 0, f["item-icon"] ? {
|
|
4434
4520
|
name: "item-icon",
|
|
4435
|
-
fn:
|
|
4521
|
+
fn: B((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
|
|
4436
4522
|
key: "1"
|
|
4437
4523
|
} : void 0]), 1032, [
|
|
4438
4524
|
"active",
|
|
@@ -4442,14 +4528,14 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4442
4528
|
"report-asset-load",
|
|
4443
4529
|
"surface-active",
|
|
4444
4530
|
"onOpen"
|
|
4445
|
-
])], 12,
|
|
4446
|
-
(w(!0), s(t, null, O(
|
|
4447
|
-
key: `leaving-${
|
|
4531
|
+
])], 12, la))), 128)),
|
|
4532
|
+
(w(!0), s(t, null, O(F(m).leavingItems.value, (t) => (w(), s("article", {
|
|
4533
|
+
key: `leaving-${F($)(t.item)}`,
|
|
4448
4534
|
"data-testid": "vibe-list-card-leaving",
|
|
4449
4535
|
"data-item-id": t.item.id,
|
|
4450
4536
|
class: "pointer-events-none absolute z-[2] will-change-[opacity,transform]",
|
|
4451
|
-
style: b(
|
|
4452
|
-
}, [u(
|
|
4537
|
+
style: b(F(m).getLeavingCardStyle(t.item))
|
|
4538
|
+
}, [u(ra, {
|
|
4453
4539
|
active: !1,
|
|
4454
4540
|
index: -1,
|
|
4455
4541
|
item: t.item,
|
|
@@ -4458,20 +4544,20 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4458
4544
|
"surface-active": !1
|
|
4459
4545
|
}, l({ _: 2 }, [f["item-icon"] ? {
|
|
4460
4546
|
name: "item-icon",
|
|
4461
|
-
fn:
|
|
4547
|
+
fn: B((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
|
|
4462
4548
|
key: "0"
|
|
4463
4549
|
} : void 0]), 1032, [
|
|
4464
4550
|
"item",
|
|
4465
4551
|
"report-asset-error",
|
|
4466
4552
|
"report-asset-load"
|
|
4467
|
-
])], 12,
|
|
4468
|
-
|
|
4553
|
+
])], 12, ua))), 128)),
|
|
4554
|
+
F(j) && F(E) ? (w(), a(Hn, {
|
|
4469
4555
|
key: 0,
|
|
4470
|
-
message:
|
|
4471
|
-
mode:
|
|
4472
|
-
surface:
|
|
4556
|
+
message: F(E).message,
|
|
4557
|
+
mode: F(E).mode,
|
|
4558
|
+
surface: F(E).surface
|
|
4473
4559
|
}, {
|
|
4474
|
-
default:
|
|
4560
|
+
default: B(() => [F(A) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(E)))) : o("", !0)]),
|
|
4475
4561
|
_: 3
|
|
4476
4562
|
}, 8, [
|
|
4477
4563
|
"message",
|
|
@@ -4479,12 +4565,12 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4479
4565
|
"surface"
|
|
4480
4566
|
])) : o("", !0)
|
|
4481
4567
|
], 4)], 544),
|
|
4482
|
-
|
|
4568
|
+
F(m).showScrollbar.value ? (w(), s("div", da, [n[2] ||= c("div", { class: "absolute bottom-6 right-3 top-6 w-px bg-white/8" }, null, -1), c("div", {
|
|
4483
4569
|
"data-testid": "vibe-list-scrollbar-thumb",
|
|
4484
4570
|
class: v(["absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out", d.loading ? "bg-white/52" : "bg-white/34"]),
|
|
4485
|
-
style: b(
|
|
4571
|
+
style: b(F(m).getScrollbarThumbStyle())
|
|
4486
4572
|
}, null, 6)])) : o("", !0),
|
|
4487
|
-
f["grid-footer"] ? (w(), s("div",
|
|
4573
|
+
f["grid-footer"] ? (w(), s("div", fa, [c("div", pa, [k(e.$slots, "grid-footer")])])) : o("", !0),
|
|
4488
4574
|
x.value ? (w(), s("div", {
|
|
4489
4575
|
key: 2,
|
|
4490
4576
|
class: v(["pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6", f["grid-footer"] ? "pb-24" : "pb-6"])
|
|
@@ -4492,15 +4578,15 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4492
4578
|
key: 1,
|
|
4493
4579
|
"data-testid": "vibe-grid-status-badge",
|
|
4494
4580
|
class: v(["inline-flex items-center border border-white/14 bg-black/55 px-4 py-3 text-[0.7rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/72 backdrop-blur-[18px]", x.value.kind === "end" ? "border-amber-300/35 text-amber-200" : x.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
|
|
4495
|
-
},
|
|
4496
|
-
|
|
4581
|
+
}, M(x.value.message), 3))], 2)) : o("", !0),
|
|
4582
|
+
F(D) && F(E) ? (w(), a(Hn, {
|
|
4497
4583
|
key: 3,
|
|
4498
4584
|
class: v(["z-[3]", f["grid-footer"] ? "pb-24" : "pb-6"]),
|
|
4499
|
-
message:
|
|
4500
|
-
mode:
|
|
4501
|
-
surface:
|
|
4585
|
+
message: F(E).message,
|
|
4586
|
+
mode: F(E).mode,
|
|
4587
|
+
surface: F(E).surface
|
|
4502
4588
|
}, {
|
|
4503
|
-
default:
|
|
4589
|
+
default: B(() => [F(A) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(E)))) : o("", !0)]),
|
|
4504
4590
|
_: 3
|
|
4505
4591
|
}, 8, [
|
|
4506
4592
|
"class",
|
|
@@ -4510,13 +4596,13 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4510
4596
|
])) : o("", !0)
|
|
4511
4597
|
]));
|
|
4512
4598
|
}
|
|
4513
|
-
}),
|
|
4599
|
+
}), ha = ["data-surface-mode"], ga = {
|
|
4514
4600
|
key: 1,
|
|
4515
4601
|
class: "absolute left-5 top-5 z-30 border border-amber-400/45 bg-black/35 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-amber-100 backdrop-blur"
|
|
4516
|
-
},
|
|
4602
|
+
}, _a = ["data-visible", "inert"], va = ["data-visible", "inert"], ya = {
|
|
4517
4603
|
key: 3,
|
|
4518
4604
|
class: "relative z-[1] grid h-full w-full content-center justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center"
|
|
4519
|
-
},
|
|
4605
|
+
}, ba = /* @__PURE__ */ d({
|
|
4520
4606
|
name: "VibeLayout",
|
|
4521
4607
|
__name: "Layout",
|
|
4522
4608
|
props: {
|
|
@@ -4543,14 +4629,14 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4543
4629
|
"update:surfaceMode"
|
|
4544
4630
|
],
|
|
4545
4631
|
setup(e, { expose: n, emit: i }) {
|
|
4546
|
-
let d = e, f =
|
|
4632
|
+
let d = e, f = L(), m = i, h = pt(d, m), g = D(null), _ = pe((e) => {
|
|
4547
4633
|
m("asset-errors", e);
|
|
4548
|
-
}), v =
|
|
4634
|
+
}), v = me((e) => {
|
|
4549
4635
|
m("asset-loads", e);
|
|
4550
4636
|
});
|
|
4551
4637
|
x(() => {
|
|
4552
4638
|
_.stop(), v.stop();
|
|
4553
|
-
}),
|
|
4639
|
+
}), z(() => h.items.value, (e) => {
|
|
4554
4640
|
m("items-change", [...e]);
|
|
4555
4641
|
});
|
|
4556
4642
|
function b(e) {
|
|
@@ -4577,14 +4663,14 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4577
4663
|
unlockPageLoading: h.unlockPageLoading
|
|
4578
4664
|
}), (e, n) => (w(), s("section", {
|
|
4579
4665
|
"data-testid": "vibe",
|
|
4580
|
-
"data-surface-mode":
|
|
4666
|
+
"data-surface-mode": F(h).surfaceMode.value,
|
|
4581
4667
|
class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]"
|
|
4582
|
-
}, [
|
|
4668
|
+
}, [F(h).canRetryInitialLoad.value ? (w(), s("button", {
|
|
4583
4669
|
key: 0,
|
|
4584
4670
|
type: "button",
|
|
4585
4671
|
class: "absolute left-5 top-5 z-30 inline-flex items-center border border-rose-400/55 bg-rose-500/18 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-white backdrop-blur transition hover:bg-rose-500/28",
|
|
4586
|
-
onClick: n[0] ||= (...e) =>
|
|
4587
|
-
}, " Retry ")) :
|
|
4672
|
+
onClick: n[0] ||= (...e) => F(h).retryInitialLoad && F(h).retryInitialLoad(...e)
|
|
4673
|
+
}, " Retry ")) : F(h).errorMessage.value && F(h).items.value.length > 0 ? (w(), s("div", ga, M(F(h).errorMessage.value), 1)) : o("", !0), F(h).isDesktop.value ? (w(), s(t, { key: 2 }, [u(r, {
|
|
4588
4674
|
appear: "",
|
|
4589
4675
|
"enter-active-class": "transition-[opacity,transform] duration-300 ease-out",
|
|
4590
4676
|
"enter-from-class": "translate-y-3 opacity-0",
|
|
@@ -4593,60 +4679,60 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4593
4679
|
"leave-from-class": "translate-y-0 opacity-100",
|
|
4594
4680
|
"leave-to-class": "translate-y-3 opacity-0"
|
|
4595
4681
|
}, {
|
|
4596
|
-
default:
|
|
4682
|
+
default: B(() => [V(c("div", {
|
|
4597
4683
|
"data-testid": "vibe-list-surface",
|
|
4598
|
-
"data-visible":
|
|
4599
|
-
inert:
|
|
4684
|
+
"data-visible": F(h).surfaceMode.value === "list" ? "true" : "false",
|
|
4685
|
+
inert: F(h).surfaceMode.value !== "list",
|
|
4600
4686
|
class: "absolute inset-0 z-[2]"
|
|
4601
|
-
}, [u(
|
|
4687
|
+
}, [u(ma, {
|
|
4602
4688
|
ref_key: "listSurfaceRef",
|
|
4603
4689
|
ref: g,
|
|
4604
|
-
active:
|
|
4605
|
-
"allow-exhausted-next-page-refresh":
|
|
4690
|
+
active: F(h).surfaceMode.value === "list",
|
|
4691
|
+
"allow-exhausted-next-page-refresh": F(h).canRefreshExhaustedNextPage.value,
|
|
4606
4692
|
"bottom-load-buffer-px": d.bottomLoadBufferPx,
|
|
4607
|
-
items:
|
|
4608
|
-
"active-index":
|
|
4609
|
-
"error-message":
|
|
4610
|
-
loading:
|
|
4611
|
-
"has-next-page":
|
|
4612
|
-
"has-previous-page":
|
|
4613
|
-
"pending-append-items":
|
|
4614
|
-
phase:
|
|
4615
|
-
"commit-pending-append":
|
|
4616
|
-
"pagination-detail":
|
|
4617
|
-
"report-asset-error":
|
|
4618
|
-
"report-asset-load":
|
|
4619
|
-
"request-next-page":
|
|
4620
|
-
"request-previous-page":
|
|
4693
|
+
items: F(h).items.value,
|
|
4694
|
+
"active-index": F(h).activeIndex.value,
|
|
4695
|
+
"error-message": F(h).errorMessage.value,
|
|
4696
|
+
loading: F(h).loading.value,
|
|
4697
|
+
"has-next-page": F(h).hasNextPage.value,
|
|
4698
|
+
"has-previous-page": F(h).hasPreviousPage.value,
|
|
4699
|
+
"pending-append-items": F(h).pendingAppendItems.value,
|
|
4700
|
+
phase: F(h).phase.value,
|
|
4701
|
+
"commit-pending-append": F(h).commitPendingAppend,
|
|
4702
|
+
"pagination-detail": F(h).paginationDetail.value,
|
|
4703
|
+
"report-asset-error": F(_).report,
|
|
4704
|
+
"report-asset-load": F(v).report,
|
|
4705
|
+
"request-next-page": F(h).prefetchNextPage,
|
|
4706
|
+
"request-previous-page": F(h).prefetchPreviousPage,
|
|
4621
4707
|
"empty-state-mode": d.emptyStateMode,
|
|
4622
4708
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4623
|
-
onBoundaryLoadProgress:
|
|
4624
|
-
onOpenFullscreen:
|
|
4625
|
-
"onUpdate:activeIndex":
|
|
4709
|
+
onBoundaryLoadProgress: F(h).setBoundaryLoadProgress,
|
|
4710
|
+
onOpenFullscreen: F(h).openFullscreen,
|
|
4711
|
+
"onUpdate:activeIndex": F(h).setActiveIndex
|
|
4626
4712
|
}, l({ _: 2 }, [
|
|
4627
4713
|
f["empty-state"] ? {
|
|
4628
4714
|
name: "empty-state",
|
|
4629
|
-
fn:
|
|
4715
|
+
fn: B((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4630
4716
|
key: "0"
|
|
4631
4717
|
} : void 0,
|
|
4632
4718
|
f["grid-footer"] ? {
|
|
4633
4719
|
name: "grid-footer",
|
|
4634
|
-
fn:
|
|
4720
|
+
fn: B(() => [k(e.$slots, "grid-footer")]),
|
|
4635
4721
|
key: "1"
|
|
4636
4722
|
} : void 0,
|
|
4637
4723
|
f["grid-item-overlay"] ? {
|
|
4638
4724
|
name: "grid-item-overlay",
|
|
4639
|
-
fn:
|
|
4725
|
+
fn: B((t) => [k(e.$slots, "grid-item-overlay", y(p(t)))]),
|
|
4640
4726
|
key: "2"
|
|
4641
4727
|
} : void 0,
|
|
4642
4728
|
f["grid-status"] ? {
|
|
4643
4729
|
name: "grid-status",
|
|
4644
|
-
fn:
|
|
4730
|
+
fn: B((t) => [k(e.$slots, "grid-status", y(p(t)))]),
|
|
4645
4731
|
key: "3"
|
|
4646
4732
|
} : void 0,
|
|
4647
4733
|
f["item-icon"] ? {
|
|
4648
4734
|
name: "item-icon",
|
|
4649
|
-
fn:
|
|
4735
|
+
fn: B((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4650
4736
|
key: "4"
|
|
4651
4737
|
} : void 0
|
|
4652
4738
|
]), 1032, [
|
|
@@ -4672,7 +4758,7 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4672
4758
|
"onBoundaryLoadProgress",
|
|
4673
4759
|
"onOpenFullscreen",
|
|
4674
4760
|
"onUpdate:activeIndex"
|
|
4675
|
-
])], 8,
|
|
4761
|
+
])], 8, _a), [[R, F(h).surfaceMode.value === "list"]])]),
|
|
4676
4762
|
_: 3
|
|
4677
4763
|
}), u(r, {
|
|
4678
4764
|
appear: "",
|
|
@@ -4683,59 +4769,59 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4683
4769
|
"leave-from-class": "translate-y-0 opacity-100",
|
|
4684
4770
|
"leave-to-class": "-translate-y-3 opacity-0"
|
|
4685
4771
|
}, {
|
|
4686
|
-
default:
|
|
4772
|
+
default: B(() => [V(c("div", {
|
|
4687
4773
|
"data-testid": "vibe-fullscreen-surface",
|
|
4688
|
-
"data-visible":
|
|
4689
|
-
inert:
|
|
4774
|
+
"data-visible": F(h).surfaceMode.value === "fullscreen" ? "true" : "false",
|
|
4775
|
+
inert: F(h).surfaceMode.value !== "fullscreen",
|
|
4690
4776
|
class: "absolute inset-0 z-[3]"
|
|
4691
|
-
}, [u(
|
|
4692
|
-
items:
|
|
4693
|
-
active:
|
|
4694
|
-
"active-index":
|
|
4695
|
-
"error-message":
|
|
4696
|
-
loading:
|
|
4697
|
-
"has-next-page":
|
|
4698
|
-
"pagination-detail":
|
|
4699
|
-
phase:
|
|
4700
|
-
"report-asset-error":
|
|
4701
|
-
"report-asset-load":
|
|
4777
|
+
}, [u(wr, {
|
|
4778
|
+
items: F(h).items.value,
|
|
4779
|
+
active: F(h).surfaceMode.value === "fullscreen",
|
|
4780
|
+
"active-index": F(h).activeIndex.value,
|
|
4781
|
+
"error-message": F(h).errorMessage.value,
|
|
4782
|
+
loading: F(h).loading.value,
|
|
4783
|
+
"has-next-page": F(h).hasNextPage.value,
|
|
4784
|
+
"pagination-detail": F(h).paginationDetail.value,
|
|
4785
|
+
phase: F(h).phase.value,
|
|
4786
|
+
"report-asset-error": F(_).report,
|
|
4787
|
+
"report-asset-load": F(v).report,
|
|
4702
4788
|
"empty-state-mode": d.emptyStateMode,
|
|
4703
4789
|
"loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
|
|
4704
4790
|
"show-dominant-image-tone": d.showDominantImageTone ?? !0,
|
|
4705
4791
|
"show-end-badge": d.showEndBadge ?? !0,
|
|
4706
4792
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4707
|
-
"show-back-to-list":
|
|
4708
|
-
onBackToList:
|
|
4709
|
-
"onUpdate:activeIndex":
|
|
4793
|
+
"show-back-to-list": F(h).showBackToList.value,
|
|
4794
|
+
onBackToList: F(h).returnToList,
|
|
4795
|
+
"onUpdate:activeIndex": F(h).setActiveIndex
|
|
4710
4796
|
}, l({ _: 2 }, [
|
|
4711
4797
|
f["empty-state"] ? {
|
|
4712
4798
|
name: "empty-state",
|
|
4713
|
-
fn:
|
|
4799
|
+
fn: B((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4714
4800
|
key: "0"
|
|
4715
4801
|
} : void 0,
|
|
4716
4802
|
f["fullscreen-overlay"] ? {
|
|
4717
4803
|
name: "fullscreen-overlay",
|
|
4718
|
-
fn:
|
|
4804
|
+
fn: B((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
|
|
4719
4805
|
key: "1"
|
|
4720
4806
|
} : void 0,
|
|
4721
4807
|
f["fullscreen-aside"] ? {
|
|
4722
4808
|
name: "fullscreen-aside",
|
|
4723
|
-
fn:
|
|
4809
|
+
fn: B((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
4724
4810
|
key: "2"
|
|
4725
4811
|
} : void 0,
|
|
4726
4812
|
f["fullscreen-header-actions"] ? {
|
|
4727
4813
|
name: "fullscreen-header-actions",
|
|
4728
|
-
fn:
|
|
4814
|
+
fn: B((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
4729
4815
|
key: "3"
|
|
4730
4816
|
} : void 0,
|
|
4731
4817
|
f["fullscreen-status"] ? {
|
|
4732
4818
|
name: "fullscreen-status",
|
|
4733
|
-
fn:
|
|
4819
|
+
fn: B((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
4734
4820
|
key: "4"
|
|
4735
4821
|
} : void 0,
|
|
4736
4822
|
f["item-icon"] ? {
|
|
4737
4823
|
name: "item-icon",
|
|
4738
|
-
fn:
|
|
4824
|
+
fn: B((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4739
4825
|
key: "5"
|
|
4740
4826
|
} : void 0
|
|
4741
4827
|
]), 1032, [
|
|
@@ -4757,60 +4843,60 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4757
4843
|
"show-back-to-list",
|
|
4758
4844
|
"onBackToList",
|
|
4759
4845
|
"onUpdate:activeIndex"
|
|
4760
|
-
])], 8,
|
|
4846
|
+
])], 8, va), [[R, F(h).surfaceMode.value === "fullscreen"]])]),
|
|
4761
4847
|
_: 3
|
|
4762
|
-
})], 64)) :
|
|
4848
|
+
})], 64)) : F(h).items.value.length === 0 && F(h).loading.value ? (w(), s("div", ya, [u(F(oe), {
|
|
4763
4849
|
class: "size-10 animate-spin text-[#f7f1ea]/82",
|
|
4764
4850
|
"aria-hidden": "true"
|
|
4765
|
-
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(
|
|
4851
|
+
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(wr, {
|
|
4766
4852
|
key: 4,
|
|
4767
|
-
items:
|
|
4853
|
+
items: F(h).items.value,
|
|
4768
4854
|
active: !0,
|
|
4769
|
-
"active-index":
|
|
4770
|
-
"error-message":
|
|
4771
|
-
loading:
|
|
4772
|
-
"has-next-page":
|
|
4773
|
-
"pagination-detail":
|
|
4774
|
-
phase:
|
|
4775
|
-
"report-asset-error":
|
|
4776
|
-
"report-asset-load":
|
|
4855
|
+
"active-index": F(h).activeIndex.value,
|
|
4856
|
+
"error-message": F(h).errorMessage.value,
|
|
4857
|
+
loading: F(h).loading.value,
|
|
4858
|
+
"has-next-page": F(h).hasNextPage.value,
|
|
4859
|
+
"pagination-detail": F(h).paginationDetail.value,
|
|
4860
|
+
phase: F(h).phase.value,
|
|
4861
|
+
"report-asset-error": F(_).report,
|
|
4862
|
+
"report-asset-load": F(v).report,
|
|
4777
4863
|
"empty-state-mode": d.emptyStateMode,
|
|
4778
4864
|
"loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
|
|
4779
4865
|
"show-dominant-image-tone": d.showDominantImageTone ?? !0,
|
|
4780
4866
|
"show-end-badge": d.showEndBadge ?? !0,
|
|
4781
4867
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4782
4868
|
"show-back-to-list": !1,
|
|
4783
|
-
onBackToList:
|
|
4784
|
-
"onUpdate:activeIndex":
|
|
4869
|
+
onBackToList: F(h).returnToList,
|
|
4870
|
+
"onUpdate:activeIndex": F(h).setActiveIndex
|
|
4785
4871
|
}, l({ _: 2 }, [
|
|
4786
4872
|
f["empty-state"] ? {
|
|
4787
4873
|
name: "empty-state",
|
|
4788
|
-
fn:
|
|
4874
|
+
fn: B((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4789
4875
|
key: "0"
|
|
4790
4876
|
} : void 0,
|
|
4791
4877
|
f["fullscreen-overlay"] ? {
|
|
4792
4878
|
name: "fullscreen-overlay",
|
|
4793
|
-
fn:
|
|
4879
|
+
fn: B((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
|
|
4794
4880
|
key: "1"
|
|
4795
4881
|
} : void 0,
|
|
4796
4882
|
f["fullscreen-aside"] ? {
|
|
4797
4883
|
name: "fullscreen-aside",
|
|
4798
|
-
fn:
|
|
4884
|
+
fn: B((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
4799
4885
|
key: "2"
|
|
4800
4886
|
} : void 0,
|
|
4801
4887
|
f["fullscreen-header-actions"] ? {
|
|
4802
4888
|
name: "fullscreen-header-actions",
|
|
4803
|
-
fn:
|
|
4889
|
+
fn: B((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
4804
4890
|
key: "3"
|
|
4805
4891
|
} : void 0,
|
|
4806
4892
|
f["fullscreen-status"] ? {
|
|
4807
4893
|
name: "fullscreen-status",
|
|
4808
|
-
fn:
|
|
4894
|
+
fn: B((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
4809
4895
|
key: "4"
|
|
4810
4896
|
} : void 0,
|
|
4811
4897
|
f["item-icon"] ? {
|
|
4812
4898
|
name: "item-icon",
|
|
4813
|
-
fn:
|
|
4899
|
+
fn: B((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4814
4900
|
key: "5"
|
|
4815
4901
|
} : void 0
|
|
4816
4902
|
]), 1032, [
|
|
@@ -4830,10 +4916,10 @@ var Bi = ["aria-label"], Vi = {
|
|
|
4830
4916
|
"show-status-badges",
|
|
4831
4917
|
"onBackToList",
|
|
4832
4918
|
"onUpdate:activeIndex"
|
|
4833
|
-
]))], 8,
|
|
4919
|
+
]))], 8, ha));
|
|
4834
4920
|
}
|
|
4835
|
-
}),
|
|
4836
|
-
e.component("VibeLayout",
|
|
4921
|
+
}), xa = { install(e) {
|
|
4922
|
+
e.component("VibeLayout", ba);
|
|
4837
4923
|
} };
|
|
4838
4924
|
//#endregion
|
|
4839
|
-
export {
|
|
4925
|
+
export { ba as VibeLayout, xa as VibePlugin, xa as default };
|