@wyxos/vibe 3.1.8 → 3.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/lib/components/viewer-core/removalState.d.ts +1 -0
- package/lib/components/viewer-core/useAutoResolveSource.d.ts +1 -0
- package/lib/components/viewer-core/useController.d.ts +2 -0
- package/lib/components/viewer-core/useDataSource.d.ts +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.js +862 -850
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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
|
|
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, toDisplayString as j, toRef as M, unref as N, useAttrs as P, useSlots as F, vShow as I, watch as L, watchEffect as R, withCtx as z, withDirectives as B, withModifiers as ee } from "vue";
|
|
2
2
|
//#region node_modules/lucide-vue-next/dist/esm/shared/src/utils/hasA11yProp.js
|
|
3
|
-
var
|
|
3
|
+
var te = (e) => {
|
|
4
4
|
for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
|
|
5
5
|
return !1;
|
|
6
6
|
}, V = (e) => e === "", H = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), U = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), W = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), ne = (e) => {
|
|
@@ -24,7 +24,7 @@ var B = (e) => {
|
|
|
24
24
|
stroke: s,
|
|
25
25
|
"stroke-width": V(n) || V(r) || n === !0 || r === !0 ? Number(i || a || G["stroke-width"]) * 24 / Number(o) : i || a || G["stroke-width"],
|
|
26
26
|
class: H("lucide", c.class, ...e ? [`lucide-${U(ne(e))}-icon`, `lucide-${U(e)}`] : ["lucide-icon"]),
|
|
27
|
-
...!l.default && !
|
|
27
|
+
...!l.default && !te(c) && { "aria-hidden": "true" }
|
|
28
28
|
}, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]), q = (e, t) => (n, { slots: r, attrs: i }) => m(K, {
|
|
29
29
|
...i,
|
|
30
30
|
...n,
|
|
@@ -179,10 +179,10 @@ var B = (e) => {
|
|
|
179
179
|
key: "5ykzw1"
|
|
180
180
|
}]
|
|
181
181
|
]);
|
|
182
|
-
function
|
|
182
|
+
function fe(e, t = 150) {
|
|
183
183
|
return pe(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`, t);
|
|
184
184
|
}
|
|
185
|
-
function
|
|
185
|
+
function Z(e, t = 150) {
|
|
186
186
|
return pe(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}`, t);
|
|
187
187
|
}
|
|
188
188
|
function pe(e, t, n) {
|
|
@@ -437,23 +437,23 @@ function Ue() {
|
|
|
437
437
|
//#endregion
|
|
438
438
|
//#region src/components/viewer-core/useAutoResolveSource.ts
|
|
439
439
|
function We(e) {
|
|
440
|
-
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 =
|
|
441
|
-
|
|
440
|
+
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 = Ue(), f = d.remainingMs, p = D(null), m = D(!1), h = D(!0), g = D(!1), _ = /* @__PURE__ */ new Set(), v = null, y = null, b = 0, C = 0, w = i(() => He(e.fillDelayMs, Re)), T = i(() => He(e.fillDelayStepMs, ze)), E = i(() => typeof e.resolve == "function"), O = i(() => _e(e.pageSize)), k = i(() => we(n.value)), A = i(() => Te(k.value, e.removedIds.value)), j = i(() => r.value), M = i(() => ge(c.value) || m.value), N = i(() => Ge(n.value, e.removedIds.value)), P = i(() => Ke(n.value, e.removedIds.value)), F = i(() => P.value?.nextCursor ?? null), I = i(() => o.value ? null : N.value?.previousCursor ?? null), R = i(() => !!F.value), z = i(() => !!I.value), B = i(() => E.value && n.value.length > 0), ee = i(() => Te(we(a.value), e.removedIds.value)), te = i(() => Oe(n.value, e.removedIds.value, j.value)), V = i(() => !A.value.length && !M.value && !!s.value);
|
|
441
|
+
L(() => A.value.length, (e) => {
|
|
442
442
|
if (e === 0) {
|
|
443
443
|
r.value = 0;
|
|
444
444
|
return;
|
|
445
445
|
}
|
|
446
|
-
o.value &&= (
|
|
447
|
-
}),
|
|
448
|
-
|
|
446
|
+
o.value &&= (ye(), !1), r.value > e - 1 && (r.value = e - 1);
|
|
447
|
+
}), L(() => r.value, () => {
|
|
448
|
+
h.value && ce();
|
|
449
449
|
}), S(() => {
|
|
450
|
-
|
|
450
|
+
pe() || e.resolve && H();
|
|
451
451
|
}), x(() => {
|
|
452
|
-
|
|
452
|
+
v?.abort(), v = null, d.clear(!0);
|
|
453
453
|
});
|
|
454
|
-
async function
|
|
455
|
-
|
|
456
|
-
let t = await
|
|
454
|
+
async function H() {
|
|
455
|
+
y = H;
|
|
456
|
+
let t = await de({
|
|
457
457
|
continueUntilFilled: !0,
|
|
458
458
|
cursor: e.initialCursor ?? null,
|
|
459
459
|
direction: "forward",
|
|
@@ -461,179 +461,179 @@ function We(e) {
|
|
|
461
461
|
});
|
|
462
462
|
t && (n.value = t.buckets, r.value = 0, Z());
|
|
463
463
|
}
|
|
464
|
-
async function
|
|
465
|
-
if (!(
|
|
466
|
-
if (
|
|
467
|
-
if (!
|
|
468
|
-
let e = await
|
|
469
|
-
e?.
|
|
464
|
+
async function U() {
|
|
465
|
+
if (!(g.value || M.value)) {
|
|
466
|
+
if (he("trailing") || !R.value) {
|
|
467
|
+
if (!B.value) return;
|
|
468
|
+
let e = await ue("trailing");
|
|
469
|
+
e?.followCursor && he("trailing") && await le(e.followCursor);
|
|
470
470
|
return;
|
|
471
471
|
}
|
|
472
|
-
await
|
|
472
|
+
await le(F.value);
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
|
-
async function
|
|
476
|
-
if (!(
|
|
477
|
-
if (
|
|
478
|
-
let e = await
|
|
479
|
-
e?.itemsLoaded === 0 && e.followCursor && await
|
|
475
|
+
async function W() {
|
|
476
|
+
if (!(g.value || !z.value || M.value)) {
|
|
477
|
+
if (he("leading")) {
|
|
478
|
+
let e = await ue("leading");
|
|
479
|
+
e?.itemsLoaded === 0 && e.followCursor && await X(e.followCursor);
|
|
480
480
|
return;
|
|
481
481
|
}
|
|
482
|
-
await
|
|
482
|
+
await X(I.value);
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
|
-
async function
|
|
486
|
-
if (
|
|
487
|
-
if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value =
|
|
485
|
+
async function ne() {
|
|
486
|
+
if (V.value) {
|
|
487
|
+
if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = E.value ? "initializing" : "idle", l.value = null, u.value = null, p.value = null, m.value = !1, _.clear(), v?.abort(), v = null, d.clear(!0), pe()) {
|
|
488
488
|
Z();
|
|
489
489
|
return;
|
|
490
490
|
}
|
|
491
|
-
await
|
|
491
|
+
await H();
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
|
-
async function ne() {
|
|
495
|
-
if (B.value) return W();
|
|
496
|
-
h.value || c.value !== "failed" || !v || (s.value = null, await v());
|
|
497
|
-
}
|
|
498
494
|
async function G() {
|
|
499
|
-
if (
|
|
500
|
-
|
|
495
|
+
if (V.value) return ne();
|
|
496
|
+
g.value || c.value !== "failed" || !y || (s.value = null, await y());
|
|
501
497
|
}
|
|
502
|
-
function K(
|
|
503
|
-
|
|
498
|
+
async function K() {
|
|
499
|
+
if (!a.value.length) return m.value = !1, Z();
|
|
500
|
+
n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Z();
|
|
501
|
+
}
|
|
502
|
+
function q(t) {
|
|
503
|
+
let n = A.value;
|
|
504
504
|
if (!n.length) return;
|
|
505
505
|
let i = Q(t, 0, n.length - 1);
|
|
506
506
|
i !== r.value && (r.value = i, e.emit("update:activeIndex", i));
|
|
507
507
|
}
|
|
508
|
-
function
|
|
509
|
-
|
|
510
|
-
}
|
|
511
|
-
function re() {
|
|
512
|
-
h.value = !0, u.clear(!0);
|
|
508
|
+
function re(e) {
|
|
509
|
+
h.value = e;
|
|
513
510
|
}
|
|
514
511
|
function J() {
|
|
515
|
-
|
|
512
|
+
g.value = !0, d.clear(!0);
|
|
516
513
|
}
|
|
517
514
|
function Y() {
|
|
518
|
-
|
|
515
|
+
g.value = !1;
|
|
519
516
|
}
|
|
520
517
|
function ie() {
|
|
521
|
-
|
|
518
|
+
b += 1, v?.abort(), v = null, d.clear(!0), _.clear(), s.value = null, l.value = null, u.value = null, p.value = null, a.value.length > 0 && (n.value = [...n.value, ...a.value], a.value = []), m.value = !1, o.value = !1, Z();
|
|
519
|
+
}
|
|
520
|
+
function ae() {
|
|
521
|
+
return Fe(A.value, j.value);
|
|
522
522
|
}
|
|
523
|
-
function
|
|
524
|
-
if (
|
|
523
|
+
function oe(e = null, t = {}) {
|
|
524
|
+
if (A.value.length === 0) {
|
|
525
525
|
r.value = 0, !t.preserveTrailingPlaceholder && n.value.length > 0 && (o.value = !0);
|
|
526
526
|
return;
|
|
527
527
|
}
|
|
528
528
|
if (e) {
|
|
529
|
-
let t =
|
|
529
|
+
let t = A.value.findIndex((t) => $(t) === e);
|
|
530
530
|
if (t >= 0) {
|
|
531
531
|
r.value = t;
|
|
532
532
|
return;
|
|
533
533
|
}
|
|
534
534
|
}
|
|
535
|
-
if (t.preserveTrailingPlaceholder && r.value >=
|
|
536
|
-
r.value =
|
|
535
|
+
if (t.preserveTrailingPlaceholder && r.value >= A.value.length) {
|
|
536
|
+
r.value = A.value.length;
|
|
537
537
|
return;
|
|
538
538
|
}
|
|
539
|
-
r.value = Ie(
|
|
539
|
+
r.value = Ie(A.value, j.value, e);
|
|
540
540
|
}
|
|
541
|
-
function
|
|
542
|
-
a.value.length > 0 && !
|
|
541
|
+
function se() {
|
|
542
|
+
a.value.length > 0 && !ee.value.length && K();
|
|
543
543
|
}
|
|
544
|
-
async function
|
|
545
|
-
if (!(!
|
|
546
|
-
if (!
|
|
547
|
-
|
|
544
|
+
async function ce() {
|
|
545
|
+
if (!(!h.value || me())) {
|
|
546
|
+
if (!A.value.length) {
|
|
547
|
+
R.value && await U();
|
|
548
548
|
return;
|
|
549
549
|
}
|
|
550
|
-
|
|
550
|
+
z.value && r.value < 3 && await W(), R.value && r.value >= A.value.length - 3 && await U();
|
|
551
551
|
}
|
|
552
552
|
}
|
|
553
|
-
async function
|
|
554
|
-
|
|
555
|
-
await
|
|
553
|
+
async function le(e) {
|
|
554
|
+
y = async () => {
|
|
555
|
+
await le(e);
|
|
556
556
|
};
|
|
557
|
-
let t = await
|
|
557
|
+
let t = await de({
|
|
558
558
|
continueUntilFilled: !0,
|
|
559
559
|
cursor: e,
|
|
560
560
|
direction: "forward",
|
|
561
561
|
phase: "loading"
|
|
562
562
|
});
|
|
563
563
|
if (t) {
|
|
564
|
-
if (t.canceled) return n.value = [...n.value, ...t.buckets], a.value = [],
|
|
565
|
-
if (a.value = t.buckets, !
|
|
566
|
-
|
|
564
|
+
if (t.canceled) return n.value = [...n.value, ...t.buckets], a.value = [], m.value = !1, Z();
|
|
565
|
+
if (a.value = t.buckets, !ee.value.length) return n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Z();
|
|
566
|
+
m.value = !0;
|
|
567
567
|
}
|
|
568
568
|
}
|
|
569
|
-
async function
|
|
570
|
-
|
|
571
|
-
await
|
|
569
|
+
async function X(e) {
|
|
570
|
+
y = async () => {
|
|
571
|
+
await X(e);
|
|
572
572
|
};
|
|
573
|
-
let t = await
|
|
573
|
+
let t = await de({
|
|
574
574
|
continueUntilFilled: !0,
|
|
575
575
|
cursor: e,
|
|
576
576
|
direction: "backward",
|
|
577
577
|
phase: "loading"
|
|
578
578
|
});
|
|
579
579
|
if (!t) return;
|
|
580
|
-
let r =
|
|
581
|
-
n.value = [...t.buckets, ...n.value],
|
|
580
|
+
let r = ae();
|
|
581
|
+
n.value = [...t.buckets, ...n.value], oe(r), Z();
|
|
582
582
|
}
|
|
583
|
-
async function
|
|
584
|
-
if (
|
|
585
|
-
await
|
|
583
|
+
async function ue(t) {
|
|
584
|
+
if (y = async () => {
|
|
585
|
+
await ue(t);
|
|
586
586
|
}, !e.resolve) return null;
|
|
587
|
-
let r = t === "leading" ?
|
|
587
|
+
let r = t === "leading" ? N.value : P.value;
|
|
588
588
|
if (!r) return null;
|
|
589
589
|
let i = ve(r.cursor);
|
|
590
|
-
if (
|
|
591
|
-
|
|
592
|
-
let a = ++
|
|
593
|
-
|
|
590
|
+
if (_.has(i)) return null;
|
|
591
|
+
_.add(i), s.value = null, c.value = "refreshing", l.value = null, u.value = null, p.value = null;
|
|
592
|
+
let a = ++b, o = typeof AbortController > "u" ? null : new AbortController();
|
|
593
|
+
v = o;
|
|
594
594
|
try {
|
|
595
595
|
let i = await e.resolve({
|
|
596
596
|
cursor: r.cursor,
|
|
597
|
-
pageSize:
|
|
597
|
+
pageSize: O.value,
|
|
598
598
|
signal: o?.signal
|
|
599
599
|
});
|
|
600
|
-
if (a !==
|
|
601
|
-
let s =
|
|
600
|
+
if (a !== b) return Z(), null;
|
|
601
|
+
let s = fe({
|
|
602
602
|
cursor: r.cursor,
|
|
603
603
|
nextCursor: i.nextPage,
|
|
604
604
|
nextItems: i.items,
|
|
605
605
|
previousCursor: i.previousPage ?? null,
|
|
606
606
|
previousItems: r.items
|
|
607
|
-
}), c =
|
|
608
|
-
return n.value = ke(n.value, r.cursor, s),
|
|
607
|
+
}), c = ae();
|
|
608
|
+
return n.value = ke(n.value, r.cursor, s), oe(c), Z(), {
|
|
609
609
|
followCursor: t === "leading" ? i.previousPage ?? null : i.nextPage,
|
|
610
610
|
itemsLoaded: i.items.length
|
|
611
611
|
};
|
|
612
612
|
} catch (e) {
|
|
613
|
-
return je(e) || a !==
|
|
613
|
+
return je(e) || a !== b ? (Z(), null) : (s.value = e instanceof Error ? e.message : "The viewer could not load items.", c.value = "failed", l.value = null, u.value = null, p.value = null, null);
|
|
614
614
|
} finally {
|
|
615
|
-
|
|
615
|
+
v === o && (v = null), _.delete(i);
|
|
616
616
|
}
|
|
617
617
|
}
|
|
618
|
-
async function
|
|
618
|
+
async function de(t) {
|
|
619
619
|
if (!e.resolve) return null;
|
|
620
|
-
let n = ++
|
|
621
|
-
for (s.value = null, c.value = t.phase, l.value = null,
|
|
622
|
-
if (n !==
|
|
623
|
-
if (i.length > 0 &&
|
|
624
|
-
let
|
|
625
|
-
if (r.has(
|
|
626
|
-
r.add(
|
|
627
|
-
let
|
|
628
|
-
|
|
620
|
+
let n = ++b, r = /* @__PURE__ */ new Set(), i = [], a = t.cursor, o = 0;
|
|
621
|
+
for (s.value = null, c.value = t.phase, l.value = null, u.value = null, p.value = null;;) {
|
|
622
|
+
if (n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
|
|
623
|
+
if (i.length > 0 && g.value) return Ne(i, t.direction, e.removedIds.value, !1);
|
|
624
|
+
let f = ve(a);
|
|
625
|
+
if (r.has(f) || _.has(f)) break;
|
|
626
|
+
r.add(f), _.add(f);
|
|
627
|
+
let m = typeof AbortController > "u" ? null : new AbortController();
|
|
628
|
+
v = m;
|
|
629
629
|
try {
|
|
630
630
|
let r = await e.resolve({
|
|
631
631
|
cursor: a,
|
|
632
|
-
pageSize:
|
|
633
|
-
signal:
|
|
632
|
+
pageSize: O.value,
|
|
633
|
+
signal: m?.signal
|
|
634
634
|
});
|
|
635
|
-
if (n !==
|
|
636
|
-
let s =
|
|
635
|
+
if (n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
|
|
636
|
+
let s = fe({
|
|
637
637
|
cursor: a,
|
|
638
638
|
nextCursor: r.nextPage,
|
|
639
639
|
nextItems: r.items,
|
|
@@ -641,55 +641,55 @@ function We(e) {
|
|
|
641
641
|
previousItems: []
|
|
642
642
|
});
|
|
643
643
|
i.push(s);
|
|
644
|
-
let
|
|
645
|
-
if (!t.continueUntilFilled ||
|
|
644
|
+
let f = i.reduce((t, n) => t + De(n, e.removedIds.value), 0), h = t.direction === "forward" ? s.nextCursor : s.previousCursor;
|
|
645
|
+
if (!t.continueUntilFilled || f >= O.value || !h) return u.value = null, {
|
|
646
646
|
canceled: !1,
|
|
647
647
|
buckets: t.direction === "backward" ? [...i].reverse() : i,
|
|
648
|
-
visibleCount:
|
|
648
|
+
visibleCount: f
|
|
649
649
|
};
|
|
650
|
-
if (
|
|
651
|
-
c.value = "filling", l.value =
|
|
652
|
-
let
|
|
653
|
-
if (await
|
|
654
|
-
a =
|
|
650
|
+
if (g.value) return Ne(i, t.direction, e.removedIds.value, !1);
|
|
651
|
+
c.value = "filling", l.value = f, u.value = h, p.value = O.value, o += 1;
|
|
652
|
+
let _ = Ve(o, w.value, T.value);
|
|
653
|
+
if (await d.wait(_), n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
|
|
654
|
+
a = h;
|
|
655
655
|
} catch (r) {
|
|
656
|
-
return je(r) || n !==
|
|
656
|
+
return je(r) || n !== b ? Ne(i, t.direction, e.removedIds.value, !0) : (s.value = r instanceof Error ? r.message : "The viewer could not load items.", c.value = "failed", l.value = null, u.value = null, p.value = null, null);
|
|
657
657
|
} finally {
|
|
658
|
-
|
|
658
|
+
v === m && (v = null), _.delete(f);
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
661
|
return Ne(i, t.direction, e.removedIds.value, !1);
|
|
662
662
|
}
|
|
663
|
-
function
|
|
663
|
+
function fe(e) {
|
|
664
664
|
let t = Me({
|
|
665
665
|
cursor: e.cursor,
|
|
666
666
|
nextCursor: e.nextCursor,
|
|
667
667
|
nextItems: e.nextItems,
|
|
668
668
|
previousCursor: e.previousCursor,
|
|
669
669
|
previousItems: e.previousItems,
|
|
670
|
-
sequence:
|
|
670
|
+
sequence: C
|
|
671
671
|
});
|
|
672
|
-
return
|
|
672
|
+
return C = t.nextSequence, t.bucket;
|
|
673
673
|
}
|
|
674
674
|
function Z() {
|
|
675
|
-
c.value = "idle", l.value = null,
|
|
675
|
+
c.value = "idle", l.value = null, u.value = null, p.value = null, d.clear();
|
|
676
676
|
}
|
|
677
|
-
function
|
|
677
|
+
function pe() {
|
|
678
678
|
if (!e.initialState || !e.initialState.items.length) return !1;
|
|
679
679
|
let t = Pe({
|
|
680
680
|
initialState: e.initialState,
|
|
681
681
|
removedIds: e.removedIds.value,
|
|
682
|
-
sequence:
|
|
682
|
+
sequence: C
|
|
683
683
|
});
|
|
684
|
-
return n.value = t.buckets, r.value = t.activeIndex,
|
|
684
|
+
return n.value = t.buckets, r.value = t.activeIndex, C = t.nextSequence, o.value = !1, s.value = null, a.value = [], m.value = !1, !0;
|
|
685
685
|
}
|
|
686
|
-
function
|
|
686
|
+
function me() {
|
|
687
687
|
return c.value === "initializing";
|
|
688
688
|
}
|
|
689
|
-
function
|
|
690
|
-
return Le(t === "leading" ?
|
|
689
|
+
function he(t) {
|
|
690
|
+
return Le(t === "leading" ? N.value : P.value, e.removedIds.value, O.value);
|
|
691
691
|
}
|
|
692
|
-
function
|
|
692
|
+
function ye() {
|
|
693
693
|
let t = n.value.findIndex((t) => De(t, e.removedIds.value) > 0);
|
|
694
694
|
if (t < 0) return;
|
|
695
695
|
let r = t;
|
|
@@ -700,38 +700,39 @@ function We(e) {
|
|
|
700
700
|
n.value = n.value.slice(t, r + 1);
|
|
701
701
|
}
|
|
702
702
|
return {
|
|
703
|
-
activeIndex:
|
|
704
|
-
canRetryInitialLoad:
|
|
705
|
-
cancel:
|
|
706
|
-
canRefreshTrailingBoundary:
|
|
707
|
-
commitPendingAppend:
|
|
703
|
+
activeIndex: j,
|
|
704
|
+
canRetryInitialLoad: V,
|
|
705
|
+
cancel: ie,
|
|
706
|
+
canRefreshTrailingBoundary: B,
|
|
707
|
+
commitPendingAppend: K,
|
|
708
708
|
currentCursor: te,
|
|
709
709
|
errorMessage: s,
|
|
710
710
|
fillCollectedCount: l,
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
711
|
+
fillCursor: u,
|
|
712
|
+
fillDelayRemainingMs: f,
|
|
713
|
+
fillTargetCount: p,
|
|
714
|
+
hasNextPage: R,
|
|
715
|
+
hasPreviousPage: z,
|
|
716
|
+
isAutoPrefetchEnabled: h,
|
|
717
|
+
isPageLoadingLocked: g,
|
|
718
|
+
items: A,
|
|
719
|
+
lockPageLoading: J,
|
|
720
|
+
loading: M,
|
|
721
|
+
maybePrefetchAround: ce,
|
|
722
|
+
nextCursor: F,
|
|
723
|
+
pendingAppendItems: ee,
|
|
723
724
|
phase: c,
|
|
724
|
-
prefetchNextPage:
|
|
725
|
-
prefetchPreviousPage:
|
|
726
|
-
previousCursor:
|
|
727
|
-
retryInitialLoad:
|
|
728
|
-
retry:
|
|
729
|
-
setActiveIndex:
|
|
730
|
-
setAutoPrefetchEnabled:
|
|
731
|
-
syncActiveIndexAfterVisibilityChange:
|
|
732
|
-
unlockPageLoading:
|
|
733
|
-
getActiveOccurrenceKey:
|
|
734
|
-
maybeCommitPendingAppendWhenFilteredOut:
|
|
725
|
+
prefetchNextPage: U,
|
|
726
|
+
prefetchPreviousPage: W,
|
|
727
|
+
previousCursor: I,
|
|
728
|
+
retryInitialLoad: ne,
|
|
729
|
+
retry: G,
|
|
730
|
+
setActiveIndex: q,
|
|
731
|
+
setAutoPrefetchEnabled: re,
|
|
732
|
+
syncActiveIndexAfterVisibilityChange: oe,
|
|
733
|
+
unlockPageLoading: Y,
|
|
734
|
+
getActiveOccurrenceKey: ae,
|
|
735
|
+
maybeCommitPendingAppendWhenFilteredOut: se
|
|
735
736
|
};
|
|
736
737
|
}
|
|
737
738
|
function Ge(e, t) {
|
|
@@ -802,6 +803,7 @@ function qe(e, t) {
|
|
|
802
803
|
currentCursor: l.currentCursor,
|
|
803
804
|
errorMessage: l.errorMessage,
|
|
804
805
|
fillCollectedCount: l.fillCollectedCount,
|
|
806
|
+
fillCursor: l.fillCursor,
|
|
805
807
|
fillDelayRemainingMs: l.fillDelayRemainingMs,
|
|
806
808
|
fillTargetCount: l.fillTargetCount,
|
|
807
809
|
getRemovedIds: r,
|
|
@@ -843,6 +845,7 @@ function Ye(e, t) {
|
|
|
843
845
|
currentCursor: null,
|
|
844
846
|
errorMessage: null,
|
|
845
847
|
fillCollectedCount: null,
|
|
848
|
+
fillCursor: null,
|
|
846
849
|
fillDelayRemainingMs: null,
|
|
847
850
|
fillTargetCount: null,
|
|
848
851
|
hasNextPage: !1,
|
|
@@ -859,23 +862,23 @@ function Ye(e, t) {
|
|
|
859
862
|
removedIds: [],
|
|
860
863
|
surfaceMode: "list"
|
|
861
864
|
}), c = i(() => a.value >= Je), l = i(() => c.value ? o.value : "fullscreen"), u = i(() => c.value && l.value === "fullscreen");
|
|
862
|
-
|
|
865
|
+
L(c, (e) => {
|
|
863
866
|
e && h();
|
|
864
|
-
}),
|
|
867
|
+
}), L(() => e.surfaceMode, () => {
|
|
865
868
|
h();
|
|
866
|
-
}),
|
|
869
|
+
}), L([l, () => n.pendingAppendItems.value.length], ([e, t]) => {
|
|
867
870
|
e === "list" || t <= 0 || n.commitPendingAppend();
|
|
868
|
-
}),
|
|
871
|
+
}), L([
|
|
869
872
|
() => n.items.value.length,
|
|
870
873
|
() => n.loading.value,
|
|
871
874
|
() => n.hasNextPage.value,
|
|
872
875
|
() => n.pendingAppendItems.value.length
|
|
873
876
|
], ([e, n, r, i]) => {
|
|
874
877
|
!c.value || e > 0 || o.value === "list" || n || r || i > 0 || (o.value = "list", t("update:surfaceMode", "list"));
|
|
875
|
-
}),
|
|
878
|
+
}), L(l, (e) => {
|
|
876
879
|
n.setAutoPrefetchEnabled(e === "fullscreen");
|
|
877
|
-
}, { immediate: !0 }),
|
|
878
|
-
s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillTargetCount = n.fillTargetCount.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;
|
|
880
|
+
}, { immediate: !0 }), R(() => {
|
|
881
|
+
s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillCursor = n.fillCursor.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillTargetCount = n.fillTargetCount.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;
|
|
879
882
|
}), S(() => {
|
|
880
883
|
m(), h(), window.addEventListener("keydown", p), window.addEventListener("resize", m);
|
|
881
884
|
}), x(() => {
|
|
@@ -954,7 +957,7 @@ var Ze = {
|
|
|
954
957
|
],
|
|
955
958
|
setup(e, { emit: t }) {
|
|
956
959
|
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 ? de : f.value < .5 ? X : ue), 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}%` });
|
|
957
|
-
|
|
960
|
+
L(d, (e) => {
|
|
958
961
|
e || (u.value = !1);
|
|
959
962
|
}), S(() => {
|
|
960
963
|
document.addEventListener("pointerdown", v);
|
|
@@ -979,7 +982,7 @@ var Ze = {
|
|
|
979
982
|
return Math.min(Math.max(e, t), n);
|
|
980
983
|
}
|
|
981
984
|
return (e, t) => (w(), s("div", Ze, [c("div", Qe, [
|
|
982
|
-
c("span", $e,
|
|
985
|
+
c("span", $e, j(n.currentTimeLabel), 1),
|
|
983
986
|
c("div", et, [
|
|
984
987
|
t[3] ||= c("div", { class: "absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12" }, null, -1),
|
|
985
988
|
c("div", {
|
|
@@ -999,7 +1002,7 @@ var Ze = {
|
|
|
999
1002
|
onInput: t[0] ||= (e) => r("seek-input", e)
|
|
1000
1003
|
}, null, 40, tt)
|
|
1001
1004
|
]),
|
|
1002
|
-
c("span", nt,
|
|
1005
|
+
c("span", nt, j(n.durationLabel), 1),
|
|
1003
1006
|
c("div", {
|
|
1004
1007
|
ref_key: "rootRef",
|
|
1005
1008
|
ref: l,
|
|
@@ -1030,7 +1033,7 @@ var Ze = {
|
|
|
1030
1033
|
"aria-label": g.value,
|
|
1031
1034
|
class: "inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/65",
|
|
1032
1035
|
onClick: y
|
|
1033
|
-
}, [(w(), a(
|
|
1036
|
+
}, [(w(), a(A(m.value), {
|
|
1034
1037
|
class: "h-4 w-4 stroke-[1.9]",
|
|
1035
1038
|
"aria-hidden": "true"
|
|
1036
1039
|
}))], 8, ct), n.volumeControlLayout === "horizontal" ? (w(), s("div", lt, [
|
|
@@ -1088,19 +1091,19 @@ var Ze = {
|
|
|
1088
1091
|
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",
|
|
1089
1092
|
"aria-label": "Back to list",
|
|
1090
1093
|
onClick: t[0] ||= (e) => r("back-to-list")
|
|
1091
|
-
}, [u(
|
|
1094
|
+
}, [u(N(re), {
|
|
1092
1095
|
class: "h-4 w-4 stroke-[2.2]",
|
|
1093
1096
|
"aria-hidden": "true"
|
|
1094
|
-
})])) : o("", !0), n.title ? (w(), s("h2", gt,
|
|
1095
|
-
n.loading ? (w(), a(
|
|
1097
|
+
})])) : o("", !0), n.title ? (w(), s("h2", gt, j(n.title), 1)) : o("", !0)]), c("div", _t, [c("span", vt, [
|
|
1098
|
+
n.loading ? (w(), a(N(oe), {
|
|
1096
1099
|
key: 0,
|
|
1097
1100
|
"data-testid": "vibe-pagination-spinner",
|
|
1098
1101
|
class: "h-3.5 w-3.5 animate-spin stroke-[1.9]",
|
|
1099
1102
|
"aria-hidden": "true"
|
|
1100
1103
|
})) : o("", !0),
|
|
1101
|
-
c("span", yt,
|
|
1102
|
-
n.paginationDetail ? (w(), s("span", bt,
|
|
1103
|
-
]),
|
|
1104
|
+
c("span", yt, j(n.currentIndex + 1) + " / " + j(n.total), 1),
|
|
1105
|
+
n.paginationDetail ? (w(), s("span", bt, j(n.paginationDetail), 1)) : o("", !0)
|
|
1106
|
+
]), k(e.$slots, "actions")])])]), n.showEndBadge ? (w(), s("div", xt, [...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)]));
|
|
1104
1107
|
}
|
|
1105
1108
|
}), Ct = {
|
|
1106
1109
|
image: ae,
|
|
@@ -1189,18 +1192,19 @@ function jt(e) {
|
|
|
1189
1192
|
}
|
|
1190
1193
|
//#endregion
|
|
1191
1194
|
//#region src/components/viewer-core/useFullscreenPreloadController.ts
|
|
1192
|
-
var Mt = {
|
|
1195
|
+
var Mt = 2, Nt = {
|
|
1193
1196
|
1: 0,
|
|
1194
1197
|
2: 1,
|
|
1195
|
-
|
|
1198
|
+
3: 2,
|
|
1199
|
+
[-1]: 3
|
|
1196
1200
|
};
|
|
1197
|
-
function
|
|
1201
|
+
function Pt(e) {
|
|
1198
1202
|
let t = D({}), n = Ot({
|
|
1199
1203
|
maxGlobal: 1,
|
|
1200
1204
|
maxPerDomain: 1,
|
|
1201
1205
|
maxVideoPerDomain: 1
|
|
1202
1206
|
}), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set();
|
|
1203
|
-
|
|
1207
|
+
L([
|
|
1204
1208
|
e.active,
|
|
1205
1209
|
e.items,
|
|
1206
1210
|
e.resolvedActiveIndex
|
|
@@ -1212,20 +1216,20 @@ function Nt(e) {
|
|
|
1212
1216
|
function s(n) {
|
|
1213
1217
|
if (!e.active.value) return !1;
|
|
1214
1218
|
let r = e.items.value[n];
|
|
1215
|
-
if (!r || !
|
|
1219
|
+
if (!r || !Rt(r)) return !1;
|
|
1216
1220
|
let i = e.getItemKey(r);
|
|
1217
1221
|
return i === h() || !!t.value[i];
|
|
1218
1222
|
}
|
|
1219
1223
|
function c(e, t) {
|
|
1220
1224
|
if (t instanceof HTMLImageElement) {
|
|
1221
|
-
i.set(e, t),
|
|
1225
|
+
i.set(e, t), It(t) && u(e);
|
|
1222
1226
|
return;
|
|
1223
1227
|
}
|
|
1224
1228
|
i.delete(e);
|
|
1225
1229
|
}
|
|
1226
1230
|
function l(e, t) {
|
|
1227
1231
|
if (t instanceof HTMLMediaElement) {
|
|
1228
|
-
a.set(e, t),
|
|
1232
|
+
a.set(e, t), Lt(t) && u(e);
|
|
1229
1233
|
return;
|
|
1230
1234
|
}
|
|
1231
1235
|
a.delete(e);
|
|
@@ -1264,7 +1268,7 @@ function Nt(e) {
|
|
|
1264
1268
|
assetType: e.item.type === "image" ? "image" : "video",
|
|
1265
1269
|
getPriority: () => g(o.index),
|
|
1266
1270
|
onGrant: () => {
|
|
1267
|
-
v(e.key, !0),
|
|
1271
|
+
v(e.key, !0), Ft(e.key, i, a) && u(e.key);
|
|
1268
1272
|
},
|
|
1269
1273
|
url: e.item.url
|
|
1270
1274
|
})
|
|
@@ -1274,26 +1278,34 @@ function Nt(e) {
|
|
|
1274
1278
|
_();
|
|
1275
1279
|
}
|
|
1276
1280
|
function m() {
|
|
1277
|
-
let
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1281
|
+
let n = e.resolvedActiveIndex.value, i = e.items.value.map((t, n) => Rt(t) ? {
|
|
1282
|
+
index: n,
|
|
1283
|
+
item: t,
|
|
1284
|
+
key: e.getItemKey(t)
|
|
1285
|
+
} : null).filter((e) => !!e), a = new Map(i.map((e) => [e.key, e])), o = /* @__PURE__ */ new Set(), s = [], c = (e) => {
|
|
1286
|
+
!e || o.has(e.key) || (o.add(e.key), s.push(e));
|
|
1287
|
+
}, l = /* @__PURE__ */ new Map();
|
|
1288
|
+
for (let e of Object.keys(t.value)) {
|
|
1289
|
+
let t = a.get(e);
|
|
1290
|
+
t && t.index > n && l.set(e, t);
|
|
1291
|
+
}
|
|
1292
|
+
for (let e of r.values()) {
|
|
1293
|
+
if (e.index <= n) continue;
|
|
1294
|
+
let t = a.get(e.key);
|
|
1295
|
+
t && l.set(e.key, t);
|
|
1296
|
+
}
|
|
1297
|
+
let u = [...l.values()].sort((e, t) => e.index - t.index);
|
|
1298
|
+
for (let e of u) c(e);
|
|
1299
|
+
let d = u.reduce((e, t) => Math.max(e, t.index), n), f = 0;
|
|
1300
|
+
for (let e of i) if (!(e.index <= d || o.has(e.key)) && (c(e), f += 1, f >= Mt)) break;
|
|
1301
|
+
return c(i.find((e) => e.index === n - 1)), s;
|
|
1290
1302
|
}
|
|
1291
1303
|
function h() {
|
|
1292
1304
|
let t = e.items.value[e.resolvedActiveIndex.value];
|
|
1293
|
-
return !e.active.value || !t || !
|
|
1305
|
+
return !e.active.value || !t || !Rt(t) ? null : e.getItemKey(t);
|
|
1294
1306
|
}
|
|
1295
1307
|
function g(t) {
|
|
1296
|
-
return e.active.value ?
|
|
1308
|
+
return e.active.value ? Nt[t - e.resolvedActiveIndex.value] ?? Infinity : Infinity;
|
|
1297
1309
|
}
|
|
1298
1310
|
function _() {
|
|
1299
1311
|
let n = /* @__PURE__ */ new Set(), r = h();
|
|
@@ -1339,26 +1351,26 @@ function Nt(e) {
|
|
|
1339
1351
|
shouldAttachSlideAsset: s
|
|
1340
1352
|
};
|
|
1341
1353
|
}
|
|
1342
|
-
function
|
|
1354
|
+
function Ft(e, t, n) {
|
|
1343
1355
|
let r = t.get(e);
|
|
1344
|
-
if (r) return
|
|
1356
|
+
if (r) return It(r);
|
|
1345
1357
|
let i = n.get(e);
|
|
1346
|
-
return i ?
|
|
1358
|
+
return i ? Lt(i) : !1;
|
|
1347
1359
|
}
|
|
1348
|
-
function
|
|
1360
|
+
function It(e) {
|
|
1349
1361
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1350
1362
|
}
|
|
1351
|
-
function
|
|
1363
|
+
function Lt(e) {
|
|
1352
1364
|
let t = typeof HTMLMediaElement > "u" ? 1 : HTMLMediaElement.HAVE_METADATA;
|
|
1353
1365
|
return e.readyState >= t;
|
|
1354
1366
|
}
|
|
1355
|
-
function
|
|
1367
|
+
function Rt(e) {
|
|
1356
1368
|
return e.type === "image" || e.type === "video" || e.type === "audio";
|
|
1357
1369
|
}
|
|
1358
1370
|
//#endregion
|
|
1359
1371
|
//#region src/components/viewer-core/useFullscreenSurfaceMedia.ts
|
|
1360
|
-
function
|
|
1361
|
-
let t =
|
|
1372
|
+
function zt(e) {
|
|
1373
|
+
let t = Pt({
|
|
1362
1374
|
active: e.active,
|
|
1363
1375
|
getItemKey: r,
|
|
1364
1376
|
items: e.items,
|
|
@@ -1415,11 +1427,11 @@ function Rt(e) {
|
|
|
1415
1427
|
}
|
|
1416
1428
|
//#endregion
|
|
1417
1429
|
//#region src/components/viewer-core/slotContent.ts
|
|
1418
|
-
function
|
|
1430
|
+
function Bt(e) {
|
|
1419
1431
|
if (!Array.isArray(e)) return !1;
|
|
1420
1432
|
for (let t of e) {
|
|
1421
1433
|
if (Array.isArray(t)) {
|
|
1422
|
-
if (
|
|
1434
|
+
if (Bt(t)) return !0;
|
|
1423
1435
|
continue;
|
|
1424
1436
|
}
|
|
1425
1437
|
if (!h(t)) {
|
|
@@ -1430,20 +1442,20 @@ function zt(e) {
|
|
|
1430
1442
|
if (t != null && t !== !1) return !0;
|
|
1431
1443
|
continue;
|
|
1432
1444
|
}
|
|
1433
|
-
if (!
|
|
1445
|
+
if (!Vt(t)) return !0;
|
|
1434
1446
|
}
|
|
1435
1447
|
return !1;
|
|
1436
1448
|
}
|
|
1437
|
-
function
|
|
1438
|
-
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !
|
|
1449
|
+
function Vt(r) {
|
|
1450
|
+
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !Bt(r.children) : !1;
|
|
1439
1451
|
}
|
|
1440
1452
|
//#endregion
|
|
1441
1453
|
//#region src/components/viewer-core/useSurfaceEmptyState.ts
|
|
1442
|
-
var
|
|
1443
|
-
function
|
|
1454
|
+
var Ht = "no items available";
|
|
1455
|
+
function Ut(e) {
|
|
1444
1456
|
let t = i(() => e.loading.value || e.itemCount.value > 0 || e.emptyStateMode.value === "hidden" ? null : {
|
|
1445
1457
|
loading: !!e.loading.value,
|
|
1446
|
-
message:
|
|
1458
|
+
message: Ht,
|
|
1447
1459
|
mode: e.emptyStateMode.value === "badge" ? "badge" : "inline",
|
|
1448
1460
|
surface: e.surface,
|
|
1449
1461
|
total: e.itemCount.value
|
|
@@ -1451,23 +1463,23 @@ function Ht(e) {
|
|
|
1451
1463
|
return {
|
|
1452
1464
|
emptyStateProps: t,
|
|
1453
1465
|
showBadgeEmptyState: i(() => t.value?.mode === "badge"),
|
|
1454
|
-
showCustomEmptyState: i(() =>
|
|
1466
|
+
showCustomEmptyState: i(() => Bt(n.value)),
|
|
1455
1467
|
showInlineEmptyState: i(() => t.value?.mode === "inline")
|
|
1456
1468
|
};
|
|
1457
1469
|
}
|
|
1458
1470
|
//#endregion
|
|
1459
1471
|
//#region src/components/viewer-core/format.ts
|
|
1460
|
-
function
|
|
1472
|
+
function Wt(e) {
|
|
1461
1473
|
if (!Number.isFinite(e) || e <= 0) return "0:00";
|
|
1462
1474
|
let t = Math.floor(e), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60;
|
|
1463
1475
|
return n > 0 ? `${n}:${String(r).padStart(2, "0")}:${String(i).padStart(2, "0")}` : `${r}:${String(i).padStart(2, "0")}`;
|
|
1464
1476
|
}
|
|
1465
1477
|
//#endregion
|
|
1466
1478
|
//#region src/components/viewer-core/surfaceStatus.ts
|
|
1467
|
-
function
|
|
1479
|
+
function Gt(e) {
|
|
1468
1480
|
return e.phase ? e.phase : e.loading ? e.itemCount > 0 ? "loading" : "initializing" : "idle";
|
|
1469
1481
|
}
|
|
1470
|
-
function
|
|
1482
|
+
function Kt(e) {
|
|
1471
1483
|
return e.phase === "failed" ? {
|
|
1472
1484
|
kind: "failed",
|
|
1473
1485
|
message: e.errorMessage ?? (e.hasItems ? "The viewer could not load more items." : "The viewer could not load items.")
|
|
@@ -1490,9 +1502,9 @@ function Gt(e) {
|
|
|
1490
1502
|
}
|
|
1491
1503
|
//#endregion
|
|
1492
1504
|
//#region src/components/viewer-core/useActivation.ts
|
|
1493
|
-
function
|
|
1505
|
+
function qt(e) {
|
|
1494
1506
|
let t = !1;
|
|
1495
|
-
|
|
1507
|
+
L(e.enabled, async (t) => {
|
|
1496
1508
|
if (n(t), t) {
|
|
1497
1509
|
e.onResize(), await e.onEnable();
|
|
1498
1510
|
return;
|
|
@@ -1513,7 +1525,7 @@ function Kt(e) {
|
|
|
1513
1525
|
}
|
|
1514
1526
|
//#endregion
|
|
1515
1527
|
//#region src/components/viewer-core/assetState.ts
|
|
1516
|
-
var
|
|
1528
|
+
var Jt = {
|
|
1517
1529
|
currentTime: 0,
|
|
1518
1530
|
duration: 0,
|
|
1519
1531
|
errorKind: null,
|
|
@@ -1522,38 +1534,38 @@ var qt = {
|
|
|
1522
1534
|
ready: !1,
|
|
1523
1535
|
volume: 1
|
|
1524
1536
|
};
|
|
1525
|
-
function
|
|
1526
|
-
return { ...
|
|
1537
|
+
function Yt() {
|
|
1538
|
+
return { ...Jt };
|
|
1527
1539
|
}
|
|
1528
|
-
function
|
|
1540
|
+
function Xt(e) {
|
|
1529
1541
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1530
1542
|
}
|
|
1531
|
-
function
|
|
1532
|
-
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 =
|
|
1543
|
+
function Zt(e, t, n) {
|
|
1544
|
+
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 = Qt(t, n);
|
|
1533
1545
|
}
|
|
1534
|
-
function
|
|
1546
|
+
function Qt(e, t) {
|
|
1535
1547
|
return t === "error" || t === "loadstart" || t === "waiting" || t === "stalled" ? !1 : t === "canplay" || t === "canplaythrough" || t === "playing" ? !0 : e.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA;
|
|
1536
1548
|
}
|
|
1537
1549
|
//#endregion
|
|
1538
1550
|
//#region src/components/viewer-core/loadError.ts
|
|
1539
|
-
var
|
|
1540
|
-
function $t(e) {
|
|
1541
|
-
return e === "not-found" ? "404" : "Load error";
|
|
1542
|
-
}
|
|
1551
|
+
var $t = /* @__PURE__ */ new Map();
|
|
1543
1552
|
function en(e) {
|
|
1544
|
-
return e === "
|
|
1553
|
+
return e === "not-found" ? "404" : "Load error";
|
|
1545
1554
|
}
|
|
1546
1555
|
function tn(e) {
|
|
1547
|
-
return
|
|
1556
|
+
return e === "generic";
|
|
1548
1557
|
}
|
|
1549
1558
|
function nn(e) {
|
|
1550
|
-
|
|
1559
|
+
return rn(e).then((e) => e ?? "generic");
|
|
1560
|
+
}
|
|
1561
|
+
function rn(e) {
|
|
1562
|
+
let t = $t.get(e);
|
|
1551
1563
|
if (t) return t;
|
|
1552
|
-
let n =
|
|
1553
|
-
return
|
|
1564
|
+
let n = an(e);
|
|
1565
|
+
return $t.set(e, n), n;
|
|
1554
1566
|
}
|
|
1555
|
-
async function
|
|
1556
|
-
if (!
|
|
1567
|
+
async function an(e) {
|
|
1568
|
+
if (!on(e)) return null;
|
|
1557
1569
|
try {
|
|
1558
1570
|
let t = await fetch(e, { method: "HEAD" });
|
|
1559
1571
|
return t.ok ? null : t.status === 404 ? "not-found" : "generic";
|
|
@@ -1561,12 +1573,12 @@ async function rn(e) {
|
|
|
1561
1573
|
return "generic";
|
|
1562
1574
|
}
|
|
1563
1575
|
}
|
|
1564
|
-
function
|
|
1576
|
+
function on(e) {
|
|
1565
1577
|
return /^(https?:\/\/|\/)/i.test(e);
|
|
1566
1578
|
}
|
|
1567
1579
|
//#endregion
|
|
1568
1580
|
//#region src/components/viewer-core/mediaPlayback.ts
|
|
1569
|
-
function
|
|
1581
|
+
function sn(e) {
|
|
1570
1582
|
try {
|
|
1571
1583
|
let t = e.play();
|
|
1572
1584
|
t && typeof t.catch == "function" && t.catch(() => {});
|
|
@@ -1574,17 +1586,17 @@ function on(e) {
|
|
|
1574
1586
|
}
|
|
1575
1587
|
//#endregion
|
|
1576
1588
|
//#region src/components/viewer-core/useMedia.ts
|
|
1577
|
-
function
|
|
1589
|
+
function cn(e) {
|
|
1578
1590
|
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(() => {
|
|
1579
1591
|
let t = /* @__PURE__ */ new Map();
|
|
1580
1592
|
for (let n of e.items.value) t.set($(n), n);
|
|
1581
1593
|
return t;
|
|
1582
|
-
}), p = i(() => d.value ? r.value[d.value] ??
|
|
1583
|
-
|
|
1594
|
+
}), p = i(() => d.value ? r.value[d.value] ?? Jt : Jt), m = i(() => d.value ? p.value.duration : 0), h = i(() => m.value <= 0 ? 0 : ln(p.value.currentTime / m.value * 100, 0, 100)), g = i(() => u.value ? R(u.value) : null);
|
|
1595
|
+
L(() => u.value, async () => {
|
|
1584
1596
|
await C();
|
|
1585
|
-
}),
|
|
1597
|
+
}), L(() => e.itemCount.value, async () => {
|
|
1586
1598
|
await C();
|
|
1587
|
-
}),
|
|
1599
|
+
}), L(() => e.loopFullscreenVideo.value, async () => {
|
|
1588
1600
|
await C();
|
|
1589
1601
|
});
|
|
1590
1602
|
function v(e, t) {
|
|
@@ -1602,7 +1614,7 @@ function sn(e) {
|
|
|
1602
1614
|
c.delete(e);
|
|
1603
1615
|
}
|
|
1604
1616
|
function b(e, r) {
|
|
1605
|
-
r instanceof HTMLImageElement &&
|
|
1617
|
+
r instanceof HTMLImageElement && Xt(r) && (t.value[e] = !0, n.value[e] = null, J(e, r.currentSrc || r.src || ie(e)));
|
|
1606
1618
|
}
|
|
1607
1619
|
function x() {
|
|
1608
1620
|
H(), a.value = {}, n.value = {}, t.value = {}, o.value = {}, r.value = {}, l.clear();
|
|
@@ -1624,14 +1636,14 @@ function sn(e) {
|
|
|
1624
1636
|
V(i, n);
|
|
1625
1637
|
continue;
|
|
1626
1638
|
}
|
|
1627
|
-
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0,
|
|
1639
|
+
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0, sn(i), W(n, i);
|
|
1628
1640
|
}
|
|
1629
1641
|
for (let [e, n] of c.entries()) {
|
|
1630
1642
|
if (e !== t || r.value[e]?.errorKind) {
|
|
1631
1643
|
V(n, e);
|
|
1632
1644
|
continue;
|
|
1633
1645
|
}
|
|
1634
|
-
|
|
1646
|
+
sn(n), W(e, n);
|
|
1635
1647
|
}
|
|
1636
1648
|
}
|
|
1637
1649
|
function w(e, t) {
|
|
@@ -1649,7 +1661,7 @@ function sn(e) {
|
|
|
1649
1661
|
async function E(r, i) {
|
|
1650
1662
|
let a = Y(r) ?? e.activeItem.value;
|
|
1651
1663
|
t.value[r] = !1, n.value[r] = "generic";
|
|
1652
|
-
let o = await
|
|
1664
|
+
let o = await nn(i);
|
|
1653
1665
|
n.value[r] = o, a && e.onAssetError?.({
|
|
1654
1666
|
item: a,
|
|
1655
1667
|
occurrenceKey: r,
|
|
@@ -1658,7 +1670,7 @@ function sn(e) {
|
|
|
1658
1670
|
surface: "fullscreen"
|
|
1659
1671
|
});
|
|
1660
1672
|
}
|
|
1661
|
-
async function
|
|
1673
|
+
async function O(t, n) {
|
|
1662
1674
|
let r = K(t), i = U(t), a = Y(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
|
|
1663
1675
|
if (r) {
|
|
1664
1676
|
r.pause();
|
|
@@ -1667,7 +1679,7 @@ function sn(e) {
|
|
|
1667
1679
|
} catch {}
|
|
1668
1680
|
}
|
|
1669
1681
|
i.currentTime = 0, i.duration = 0, i.paused = !0, i.ready = !1, i.errorKind = "generic";
|
|
1670
|
-
let o = await
|
|
1682
|
+
let o = await nn(n);
|
|
1671
1683
|
i.errorKind = o, a && e.onAssetError?.({
|
|
1672
1684
|
item: a,
|
|
1673
1685
|
occurrenceKey: t,
|
|
@@ -1676,54 +1688,54 @@ function sn(e) {
|
|
|
1676
1688
|
surface: "fullscreen"
|
|
1677
1689
|
});
|
|
1678
1690
|
}
|
|
1679
|
-
function
|
|
1691
|
+
function k(e, t, n) {
|
|
1680
1692
|
e.button !== 0 || Date.now() < n || re(s.get(t) ?? null);
|
|
1681
1693
|
}
|
|
1682
|
-
function
|
|
1694
|
+
function A(e, t, n) {
|
|
1683
1695
|
e.button !== 0 || Date.now() < n || re(K(t));
|
|
1684
1696
|
}
|
|
1685
|
-
function
|
|
1697
|
+
function j(e) {
|
|
1686
1698
|
let t = q(), n = d.value;
|
|
1687
1699
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
1688
1700
|
let r = Number.parseFloat(e.target.value);
|
|
1689
1701
|
if (!Number.isFinite(r)) return;
|
|
1690
|
-
let i =
|
|
1702
|
+
let i = ln(r, 0, m.value || 0);
|
|
1691
1703
|
ne(n, i, t), t.currentTime = i;
|
|
1692
1704
|
}
|
|
1693
|
-
function
|
|
1705
|
+
function M(e) {
|
|
1694
1706
|
let t = q(), n = d.value;
|
|
1695
1707
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
1696
|
-
let r =
|
|
1708
|
+
let r = ln(Number.parseFloat(e.target.value), 0, 1);
|
|
1697
1709
|
t.volume = r, t.muted = r <= 0, r > 0 && (o.value[n] = r), W(n, t);
|
|
1698
1710
|
}
|
|
1699
|
-
function
|
|
1711
|
+
function N() {
|
|
1700
1712
|
let e = q(), t = d.value;
|
|
1701
1713
|
!e || !t || (e.muted || e.volume <= 0 ? (e.volume = G(t), e.muted = !1, o.value[t] = e.volume) : (o.value[t] = e.volume, e.muted = !0), W(t, e));
|
|
1702
1714
|
}
|
|
1703
|
-
function
|
|
1715
|
+
function P(e) {
|
|
1704
1716
|
return !!t.value[e] && !n.value[e];
|
|
1705
1717
|
}
|
|
1706
|
-
function
|
|
1718
|
+
function F(e) {
|
|
1707
1719
|
return (r.value[e]?.ready ?? !1) && !r.value[e]?.errorKind;
|
|
1708
1720
|
}
|
|
1709
|
-
function
|
|
1721
|
+
function I(e) {
|
|
1710
1722
|
return e.url;
|
|
1711
1723
|
}
|
|
1712
|
-
function L(e) {
|
|
1713
|
-
return n.value[e] ?? r.value[e]?.errorKind ?? null;
|
|
1714
|
-
}
|
|
1715
1724
|
function R(e) {
|
|
1716
|
-
|
|
1717
|
-
return t ? $t(t) : null;
|
|
1725
|
+
return n.value[e] ?? r.value[e]?.errorKind ?? null;
|
|
1718
1726
|
}
|
|
1719
1727
|
function z(e) {
|
|
1720
|
-
|
|
1728
|
+
let t = R(e);
|
|
1729
|
+
return t ? en(t) : null;
|
|
1721
1730
|
}
|
|
1722
|
-
function
|
|
1731
|
+
function B(e) {
|
|
1732
|
+
return tn(R(e));
|
|
1733
|
+
}
|
|
1734
|
+
function ee(e) {
|
|
1723
1735
|
return `${e}:${a.value[e] ?? 0}`;
|
|
1724
1736
|
}
|
|
1725
|
-
async function
|
|
1726
|
-
if (!
|
|
1737
|
+
async function te(e) {
|
|
1738
|
+
if (!B(e)) return;
|
|
1727
1739
|
t.value[e] = !1, n.value[e] = null;
|
|
1728
1740
|
let r = U(e);
|
|
1729
1741
|
r.currentTime = 0, r.duration = 0, r.paused = !0, r.ready = !1, r.errorKind = null;
|
|
@@ -1744,17 +1756,17 @@ function sn(e) {
|
|
|
1744
1756
|
for (let [e, t] of c.entries()) V(t, e);
|
|
1745
1757
|
}
|
|
1746
1758
|
function U(e) {
|
|
1747
|
-
return r.value[e] || (r.value[e] =
|
|
1759
|
+
return r.value[e] || (r.value[e] = Yt()), r.value[e];
|
|
1748
1760
|
}
|
|
1749
1761
|
function W(e, t, n) {
|
|
1750
|
-
|
|
1762
|
+
Zt(U(e), t, n), !t.muted && t.volume > 0 && (o.value[e] = t.volume);
|
|
1751
1763
|
}
|
|
1752
1764
|
function ne(e, t, n) {
|
|
1753
1765
|
let r = U(e);
|
|
1754
1766
|
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;
|
|
1755
1767
|
}
|
|
1756
1768
|
function G(e) {
|
|
1757
|
-
return
|
|
1769
|
+
return ln(o.value[e] ?? 1, 0, 1);
|
|
1758
1770
|
}
|
|
1759
1771
|
function K(e) {
|
|
1760
1772
|
return s.get(e) ?? c.get(e) ?? null;
|
|
@@ -1765,7 +1777,7 @@ function sn(e) {
|
|
|
1765
1777
|
function re(e) {
|
|
1766
1778
|
if (e) {
|
|
1767
1779
|
if (e.paused) {
|
|
1768
|
-
|
|
1780
|
+
sn(e);
|
|
1769
1781
|
return;
|
|
1770
1782
|
}
|
|
1771
1783
|
e.pause();
|
|
@@ -1793,36 +1805,36 @@ function sn(e) {
|
|
|
1793
1805
|
activeMediaDuration: m,
|
|
1794
1806
|
activeMediaProgress: h,
|
|
1795
1807
|
activeMediaState: p,
|
|
1796
|
-
getAssetErrorKind:
|
|
1797
|
-
getAssetErrorLabel:
|
|
1798
|
-
getAssetRenderKey:
|
|
1799
|
-
getImageSource:
|
|
1800
|
-
isImageReady:
|
|
1801
|
-
isMediaReady:
|
|
1802
|
-
canRetryAsset:
|
|
1808
|
+
getAssetErrorKind: R,
|
|
1809
|
+
getAssetErrorLabel: z,
|
|
1810
|
+
getAssetRenderKey: ee,
|
|
1811
|
+
getImageSource: I,
|
|
1812
|
+
isImageReady: P,
|
|
1813
|
+
isMediaReady: F,
|
|
1814
|
+
canRetryAsset: B,
|
|
1803
1815
|
mediaStates: r,
|
|
1804
|
-
onAudioCoverClick:
|
|
1816
|
+
onAudioCoverClick: A,
|
|
1805
1817
|
onImageError: E,
|
|
1806
1818
|
onImageLoad: T,
|
|
1807
|
-
onMediaError:
|
|
1819
|
+
onMediaError: O,
|
|
1808
1820
|
onMediaEvent: w,
|
|
1809
|
-
onMediaSeekInput:
|
|
1810
|
-
onMediaVolumeInput:
|
|
1811
|
-
onMediaVolumeToggle:
|
|
1812
|
-
onVideoClick:
|
|
1821
|
+
onMediaSeekInput: j,
|
|
1822
|
+
onMediaVolumeInput: M,
|
|
1823
|
+
onMediaVolumeToggle: N,
|
|
1824
|
+
onVideoClick: k,
|
|
1813
1825
|
registerAudioElement: y,
|
|
1814
1826
|
registerImageElement: b,
|
|
1815
1827
|
registerVideoElement: v,
|
|
1816
1828
|
resetAssetState: S,
|
|
1817
1829
|
resetMediaState: x,
|
|
1818
|
-
retryAsset:
|
|
1830
|
+
retryAsset: te,
|
|
1819
1831
|
syncMediaPlayback: C
|
|
1820
1832
|
};
|
|
1821
1833
|
}
|
|
1822
|
-
function
|
|
1834
|
+
function ln(e, t, n) {
|
|
1823
1835
|
return Math.min(Math.max(e, t), n);
|
|
1824
1836
|
}
|
|
1825
|
-
function
|
|
1837
|
+
function un(e, t, n = 2) {
|
|
1826
1838
|
return t <= 0 ? {
|
|
1827
1839
|
start: 0,
|
|
1828
1840
|
end: -1
|
|
@@ -1831,14 +1843,14 @@ function ln(e, t, n = 2) {
|
|
|
1831
1843
|
end: Math.min(t - 1, e + n)
|
|
1832
1844
|
};
|
|
1833
1845
|
}
|
|
1834
|
-
function
|
|
1835
|
-
let r =
|
|
1846
|
+
function dn(e, t, n = 2) {
|
|
1847
|
+
let r = un(t, e.length, n);
|
|
1836
1848
|
return r.end < r.start ? [] : e.slice(r.start, r.end + 1).map((e, t) => ({
|
|
1837
1849
|
item: e,
|
|
1838
1850
|
index: r.start + t
|
|
1839
1851
|
}));
|
|
1840
1852
|
}
|
|
1841
|
-
function
|
|
1853
|
+
function fn(e, t, n, r, i) {
|
|
1842
1854
|
return {
|
|
1843
1855
|
transform: `translate3d(0, ${(e - t) * n + r}px, 0)`,
|
|
1844
1856
|
transition: i ? "none" : "transform 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
@@ -1846,12 +1858,12 @@ function dn(e, t, n, r, i) {
|
|
|
1846
1858
|
}
|
|
1847
1859
|
//#endregion
|
|
1848
1860
|
//#region src/components/viewer-core/useViewer.ts
|
|
1849
|
-
function
|
|
1850
|
-
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(() =>
|
|
1861
|
+
function pn(e, t, n = {}) {
|
|
1862
|
+
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(() => Gt({
|
|
1851
1863
|
itemCount: r.value.length,
|
|
1852
1864
|
loading: s.value,
|
|
1853
1865
|
phase: e.phase
|
|
1854
|
-
})), 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 :
|
|
1866
|
+
})), 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 = cn({
|
|
1855
1867
|
items: r,
|
|
1856
1868
|
activeItem: C,
|
|
1857
1869
|
activeMediaItem: w,
|
|
@@ -1860,14 +1872,14 @@ function fn(e, t, n = {}) {
|
|
|
1860
1872
|
loopFullscreenVideo: l,
|
|
1861
1873
|
onAssetError: n.onAssetError,
|
|
1862
1874
|
onAssetLoad: n.onAssetLoad
|
|
1863
|
-
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1),
|
|
1875
|
+
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() => Kt({
|
|
1864
1876
|
errorMessage: o.value,
|
|
1865
1877
|
hasItems: r.value.length > 0,
|
|
1866
1878
|
hasNextPage: c.value,
|
|
1867
1879
|
phase: d.value,
|
|
1868
1880
|
surface: "fullscreen"
|
|
1869
|
-
})),
|
|
1870
|
-
|
|
1881
|
+
})), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() => un(S.value, r.value.length)), N = i(() => dn(r.value, S.value));
|
|
1882
|
+
qt({
|
|
1871
1883
|
enabled: _,
|
|
1872
1884
|
onDisable() {
|
|
1873
1885
|
H(), T.resetMediaState();
|
|
@@ -1876,40 +1888,40 @@ function fn(e, t, n = {}) {
|
|
|
1876
1888
|
return T.syncMediaPlayback();
|
|
1877
1889
|
},
|
|
1878
1890
|
onKeydown: W,
|
|
1879
|
-
onResize:
|
|
1891
|
+
onResize: F
|
|
1880
1892
|
});
|
|
1881
|
-
function
|
|
1893
|
+
function P(e, t, n) {
|
|
1882
1894
|
return Math.min(Math.max(e, t), n);
|
|
1883
1895
|
}
|
|
1884
|
-
function
|
|
1896
|
+
function F() {
|
|
1885
1897
|
g.value = p.value?.clientHeight || window.innerHeight || 1;
|
|
1886
1898
|
}
|
|
1887
|
-
function F(e) {
|
|
1888
|
-
return r.value.length === 0 ? !1 : N(S.value + e, 0, r.value.length - 1) !== S.value;
|
|
1889
|
-
}
|
|
1890
1899
|
function I(e) {
|
|
1900
|
+
return r.value.length === 0 ? !1 : P(S.value + e, 0, r.value.length - 1) !== S.value;
|
|
1901
|
+
}
|
|
1902
|
+
function L(e) {
|
|
1891
1903
|
if (r.value.length === 0) return;
|
|
1892
|
-
let n =
|
|
1904
|
+
let n = P(S.value + e, 0, r.value.length - 1);
|
|
1893
1905
|
n !== S.value && t("update:activeIndex", n);
|
|
1894
1906
|
}
|
|
1895
|
-
function
|
|
1907
|
+
function R(e) {
|
|
1896
1908
|
let t = e > 0, n = e < 0;
|
|
1897
|
-
return t && !
|
|
1909
|
+
return t && !I(-1) || n && !I(1) ? e * .24 : e;
|
|
1898
1910
|
}
|
|
1899
|
-
function
|
|
1911
|
+
function z(e) {
|
|
1900
1912
|
!_.value || r.value.length === 0 || e.pointerType === "mouse" || he(e.target) || (v = e.pointerId, y = e.clientY, m.value = 0, h.value = !0, p.value?.setPointerCapture?.(e.pointerId));
|
|
1901
1913
|
}
|
|
1902
|
-
function
|
|
1903
|
-
!_.value || !h.value || v !== e.pointerId || (m.value =
|
|
1914
|
+
function B(e) {
|
|
1915
|
+
!_.value || !h.value || v !== e.pointerId || (m.value = R(e.clientY - y));
|
|
1904
1916
|
}
|
|
1905
|
-
function
|
|
1917
|
+
function ee(e) {
|
|
1906
1918
|
!_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), V());
|
|
1907
1919
|
}
|
|
1908
|
-
function
|
|
1920
|
+
function te(e) {
|
|
1909
1921
|
!_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), H());
|
|
1910
1922
|
}
|
|
1911
1923
|
function V() {
|
|
1912
|
-
Math.abs(m.value) >=
|
|
1924
|
+
Math.abs(m.value) >= j.value && (x = Date.now() + 250, L(m.value < 0 ? 1 : -1)), H();
|
|
1913
1925
|
}
|
|
1914
1926
|
function H() {
|
|
1915
1927
|
m.value = 0, h.value = !1, v = null;
|
|
@@ -1918,10 +1930,10 @@ function fn(e, t, n = {}) {
|
|
|
1918
1930
|
if (!_.value || r.value.length === 0 || h.value || he(e.target) || Math.abs(e.deltaY) < Math.max(Math.abs(e.deltaX), 24)) return;
|
|
1919
1931
|
e.preventDefault();
|
|
1920
1932
|
let t = Date.now();
|
|
1921
|
-
t < b || (b = t + 400,
|
|
1933
|
+
t < b || (b = t + 400, L(e.deltaY > 0 ? 1 : -1));
|
|
1922
1934
|
}
|
|
1923
1935
|
function W(e) {
|
|
1924
|
-
!_.value || r.value.length === 0 || me(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(),
|
|
1936
|
+
!_.value || r.value.length === 0 || me(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(), L(1)), (e.key === "ArrowUp" || e.key === "PageUp") && (e.preventDefault(), L(-1)));
|
|
1925
1937
|
}
|
|
1926
1938
|
function ne(e, t) {
|
|
1927
1939
|
T.onVideoClick(e, t, x);
|
|
@@ -1945,7 +1957,7 @@ function fn(e, t, n = {}) {
|
|
|
1945
1957
|
return e.type === "audio";
|
|
1946
1958
|
}
|
|
1947
1959
|
function ie(e) {
|
|
1948
|
-
return
|
|
1960
|
+
return fn(e, S.value, g.value, m.value, h.value);
|
|
1949
1961
|
}
|
|
1950
1962
|
return {
|
|
1951
1963
|
activeItem: C,
|
|
@@ -1960,7 +1972,7 @@ function fn(e, t, n = {}) {
|
|
|
1960
1972
|
getAssetErrorKind: T.getAssetErrorKind,
|
|
1961
1973
|
getAssetErrorLabel: T.getAssetErrorLabel,
|
|
1962
1974
|
getAssetRenderKey: T.getAssetRenderKey,
|
|
1963
|
-
formatPlaybackTime:
|
|
1975
|
+
formatPlaybackTime: Wt,
|
|
1964
1976
|
getImageSource: T.getImageSource,
|
|
1965
1977
|
getSlideStyle: ie,
|
|
1966
1978
|
hasNextPage: c,
|
|
@@ -1980,45 +1992,45 @@ function fn(e, t, n = {}) {
|
|
|
1980
1992
|
onMediaSeekInput: K,
|
|
1981
1993
|
onMediaVolumeInput: q,
|
|
1982
1994
|
onMediaVolumeToggle: re,
|
|
1983
|
-
onPointerCancel:
|
|
1984
|
-
onPointerDown:
|
|
1985
|
-
onPointerMove:
|
|
1986
|
-
onPointerUp:
|
|
1995
|
+
onPointerCancel: te,
|
|
1996
|
+
onPointerDown: z,
|
|
1997
|
+
onPointerMove: B,
|
|
1998
|
+
onPointerUp: ee,
|
|
1987
1999
|
onVideoClick: ne,
|
|
1988
2000
|
onWheel: U,
|
|
1989
2001
|
registerAudioElement: T.registerAudioElement,
|
|
1990
2002
|
registerImageElement: T.registerImageElement,
|
|
1991
2003
|
registerVideoElement: T.registerVideoElement,
|
|
1992
|
-
renderedItems:
|
|
1993
|
-
renderedRange:
|
|
2004
|
+
renderedItems: N,
|
|
2005
|
+
renderedRange: M,
|
|
1994
2006
|
resolvedActiveIndex: S,
|
|
1995
2007
|
resetAssetState: T.resetAssetState,
|
|
1996
2008
|
retryInitialLoad: async () => {},
|
|
1997
2009
|
retryAsset: T.retryAsset,
|
|
1998
2010
|
stageRef: p,
|
|
1999
|
-
statusKind:
|
|
2000
|
-
statusMessage:
|
|
2011
|
+
statusKind: k,
|
|
2012
|
+
statusMessage: A,
|
|
2001
2013
|
paginationDetail: u,
|
|
2002
2014
|
phase: d
|
|
2003
2015
|
};
|
|
2004
2016
|
}
|
|
2005
2017
|
//#endregion
|
|
2006
2018
|
//#region src/components/viewer-core/theme.ts
|
|
2007
|
-
var
|
|
2019
|
+
var mn = "bg-[linear-gradient(180deg,#0a0b10,#05060a)]", hn = "bg-[linear-gradient(180deg,#0b0c11,#06070b)]", gn = {
|
|
2008
2020
|
image: !0,
|
|
2009
2021
|
video: !0,
|
|
2010
2022
|
audio: !0,
|
|
2011
2023
|
other: !0
|
|
2012
2024
|
};
|
|
2013
|
-
function gn(e) {
|
|
2014
|
-
return hn[e], pn;
|
|
2015
|
-
}
|
|
2016
2025
|
function _n(e) {
|
|
2017
|
-
return
|
|
2026
|
+
return gn[e], mn;
|
|
2027
|
+
}
|
|
2028
|
+
function vn(e) {
|
|
2029
|
+
return gn[e], hn;
|
|
2018
2030
|
}
|
|
2019
2031
|
//#endregion
|
|
2020
2032
|
//#region src/components/viewer-core/dominantImageTone.ts
|
|
2021
|
-
function
|
|
2033
|
+
function yn(e) {
|
|
2022
2034
|
if (e.naturalWidth <= 0 || e.naturalHeight <= 0) return null;
|
|
2023
2035
|
let t = document.createElement("canvas"), n = t.getContext("2d", { willReadFrequently: !0 });
|
|
2024
2036
|
if (!n) return null;
|
|
@@ -2033,20 +2045,20 @@ function vn(e) {
|
|
|
2033
2045
|
r += d, i += s * d, a += c * d, o += l * d;
|
|
2034
2046
|
}
|
|
2035
2047
|
return r <= 0 ? null : {
|
|
2036
|
-
r:
|
|
2037
|
-
g:
|
|
2038
|
-
b:
|
|
2048
|
+
r: bn(Math.round(i / r)),
|
|
2049
|
+
g: bn(Math.round(a / r)),
|
|
2050
|
+
b: bn(Math.round(o / r))
|
|
2039
2051
|
};
|
|
2040
2052
|
} catch {
|
|
2041
2053
|
return null;
|
|
2042
2054
|
}
|
|
2043
2055
|
}
|
|
2044
|
-
function
|
|
2056
|
+
function bn(e) {
|
|
2045
2057
|
return Math.min(235, Math.max(26, e));
|
|
2046
2058
|
}
|
|
2047
2059
|
//#endregion
|
|
2048
2060
|
//#region src/components/viewer-core/useFullscreenDominantTone.ts
|
|
2049
|
-
function
|
|
2061
|
+
function xn(e) {
|
|
2050
2062
|
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(() => {
|
|
2051
2063
|
if (!r.value) return;
|
|
2052
2064
|
let { r: e, g: t, b: n } = r.value;
|
|
@@ -2056,12 +2068,12 @@ function bn(e) {
|
|
|
2056
2068
|
let { r: e, g: t, b: n } = r.value;
|
|
2057
2069
|
return { background: `radial-gradient(circle at center, rgba(${e},${t},${n},0.42) 0%, transparent 44%), linear-gradient(180deg,#0b0c11,#06070b)` };
|
|
2058
2070
|
});
|
|
2059
|
-
|
|
2071
|
+
L(() => e.showDominantImageTone.value, (e) => {
|
|
2060
2072
|
e || (t.value = {});
|
|
2061
2073
|
});
|
|
2062
2074
|
function s(n, r) {
|
|
2063
2075
|
if (!e.showDominantImageTone.value) return;
|
|
2064
|
-
let i =
|
|
2076
|
+
let i = yn(r);
|
|
2065
2077
|
i && (t.value[n] = i);
|
|
2066
2078
|
}
|
|
2067
2079
|
return {
|
|
@@ -2072,7 +2084,7 @@ function bn(e) {
|
|
|
2072
2084
|
}
|
|
2073
2085
|
//#endregion
|
|
2074
2086
|
//#region src/components/SurfaceEmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
2075
|
-
var
|
|
2087
|
+
var Sn = ["data-surface"], Cn = ["data-surface"], wn = /* @__PURE__ */ d({
|
|
2076
2088
|
inheritAttrs: !1,
|
|
2077
2089
|
__name: "SurfaceEmptyState",
|
|
2078
2090
|
props: {
|
|
@@ -2081,36 +2093,36 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2081
2093
|
surface: {}
|
|
2082
2094
|
},
|
|
2083
2095
|
setup(e) {
|
|
2084
|
-
let t =
|
|
2085
|
-
return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 },
|
|
2096
|
+
let t = P();
|
|
2097
|
+
return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 }, N(t), {
|
|
2086
2098
|
"data-testid": "vibe-empty-state-inline",
|
|
2087
2099
|
"data-surface": e.surface,
|
|
2088
2100
|
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)]"]
|
|
2089
|
-
}), [
|
|
2101
|
+
}), [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"]) }, j(e.message), 3)])], 16, Sn)) : (w(), s("div", g({ key: 1 }, N(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", {
|
|
2090
2102
|
"data-testid": "vibe-empty-state-badge",
|
|
2091
2103
|
"data-surface": e.surface,
|
|
2092
2104
|
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"])
|
|
2093
|
-
},
|
|
2105
|
+
}, j(e.message), 11, Cn)])], 16));
|
|
2094
2106
|
}
|
|
2095
|
-
}),
|
|
2107
|
+
}), Tn = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]" }, En = {
|
|
2096
2108
|
key: 0,
|
|
2097
2109
|
class: "relative h-full min-h-0"
|
|
2098
|
-
},
|
|
2110
|
+
}, Dn = [
|
|
2099
2111
|
"data-item-id",
|
|
2100
2112
|
"data-occurrence-key",
|
|
2101
2113
|
"data-index",
|
|
2102
2114
|
"data-active",
|
|
2103
2115
|
"aria-hidden"
|
|
2104
|
-
],
|
|
2116
|
+
], On = {
|
|
2105
2117
|
key: 0,
|
|
2106
2118
|
"data-testid": "vibe-asset-spinner",
|
|
2107
2119
|
class: "pointer-events-none absolute inset-0 z-[2] grid place-items-center"
|
|
2108
|
-
},
|
|
2120
|
+
}, kn = { 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]" }, An = ["data-kind"], jn = { class: "grid justify-items-center gap-4 border border-white/14 bg-black/45 px-8 py-7 text-center backdrop-blur-[18px]" }, Mn = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, Nn = ["onClick"], Pn = [
|
|
2109
2121
|
"src",
|
|
2110
2122
|
"alt",
|
|
2111
2123
|
"onLoad",
|
|
2112
2124
|
"onError"
|
|
2113
|
-
],
|
|
2125
|
+
], Fn = [
|
|
2114
2126
|
"loop",
|
|
2115
2127
|
"src",
|
|
2116
2128
|
"preload",
|
|
@@ -2129,15 +2141,15 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2129
2141
|
"onStalled",
|
|
2130
2142
|
"onTimeupdate",
|
|
2131
2143
|
"onWaiting"
|
|
2132
|
-
],
|
|
2144
|
+
], In = { class: "relative grid aspect-square w-[clamp(320px,46vw,560px)] max-w-[calc(100vw-2.5rem)] place-items-center" }, Ln = [
|
|
2133
2145
|
"aria-label",
|
|
2134
2146
|
"disabled",
|
|
2135
2147
|
"onClick"
|
|
2136
|
-
],
|
|
2148
|
+
], Rn = { 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]" }, zn = { 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]" }, Bn = {
|
|
2137
2149
|
key: 0,
|
|
2138
2150
|
"data-testid": "vibe-asset-spinner",
|
|
2139
2151
|
class: "pointer-events-none absolute inset-0 z-[3] grid place-items-center"
|
|
2140
|
-
},
|
|
2152
|
+
}, Vn = { 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]" }, Hn = ["data-kind"], Un = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, Wn = ["onClick"], Gn = [
|
|
2141
2153
|
"src",
|
|
2142
2154
|
"preload",
|
|
2143
2155
|
"onCanplay",
|
|
@@ -2153,26 +2165,26 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2153
2165
|
"onStalled",
|
|
2154
2166
|
"onTimeupdate",
|
|
2155
2167
|
"onWaiting"
|
|
2156
|
-
],
|
|
2168
|
+
], Kn = {
|
|
2157
2169
|
key: 2,
|
|
2158
2170
|
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"
|
|
2159
|
-
},
|
|
2171
|
+
}, qn = { 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]" }, Jn = {
|
|
2160
2172
|
key: 0,
|
|
2161
2173
|
"data-testid": "vibe-fullscreen-overlay",
|
|
2162
2174
|
class: "pointer-events-none absolute inset-0 z-[6]"
|
|
2163
|
-
},
|
|
2175
|
+
}, Yn = { class: "h-full w-full" }, Xn = {
|
|
2164
2176
|
key: 1,
|
|
2165
2177
|
"data-testid": "vibe-forward-fill-placeholder",
|
|
2166
2178
|
class: "grid h-full min-h-0 place-items-center px-6 text-center"
|
|
2167
|
-
},
|
|
2179
|
+
}, Zn = { class: "grid justify-items-center gap-4 border border-white/14 bg-black/40 px-8 py-7 backdrop-blur-[18px]" }, 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)]" }, $n = { class: "m-0 text-[0.78rem] font-bold uppercase tracking-[0.24em] text-[#f7f1ea]/72" }, er = {
|
|
2168
2180
|
key: 0,
|
|
2169
2181
|
"data-testid": "vibe-fullscreen-aside",
|
|
2170
2182
|
class: "h-full min-h-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]"
|
|
2171
|
-
},
|
|
2183
|
+
}, tr = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, nr = {
|
|
2172
2184
|
key: 0,
|
|
2173
2185
|
"data-testid": "vibe-fullscreen-aside",
|
|
2174
2186
|
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]"
|
|
2175
|
-
},
|
|
2187
|
+
}, rr = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, ir = 1280, ar = 768, or = /* @__PURE__ */ d({
|
|
2176
2188
|
__name: "FullscreenSurface",
|
|
2177
2189
|
props: {
|
|
2178
2190
|
active: {
|
|
@@ -2224,23 +2236,23 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2224
2236
|
},
|
|
2225
2237
|
emits: ["back-to-list", "update:activeIndex"],
|
|
2226
2238
|
setup(e, { emit: n }) {
|
|
2227
|
-
let d = e, f =
|
|
2239
|
+
let d = e, f = F(), m = n, h = pn(d, (e, t) => {
|
|
2228
2240
|
m("update:activeIndex", t);
|
|
2229
2241
|
}, {
|
|
2230
|
-
enabled:
|
|
2242
|
+
enabled: M(d, "active"),
|
|
2231
2243
|
onAssetError: d.reportAssetError ?? void 0,
|
|
2232
2244
|
onAssetLoad: d.reportAssetLoad ?? void 0
|
|
2233
|
-
}), _ = D(typeof window > "u" ?
|
|
2234
|
-
active:
|
|
2245
|
+
}), _ = D(typeof window > "u" ? ir : window.innerWidth || ir), C = zt({
|
|
2246
|
+
active: M(d, "active"),
|
|
2235
2247
|
items: h.items,
|
|
2236
2248
|
resolvedActiveIndex: h.resolvedActiveIndex,
|
|
2237
2249
|
viewer: h
|
|
2238
|
-
}), T = i(() =>
|
|
2250
|
+
}), T = i(() => _n(h.activeItem.value?.type ?? "image")), { activeSlideToneStyle: E, activeStageToneStyle: P, updateFromImageElement: I } = xn({
|
|
2239
2251
|
activeItem: h.activeItem,
|
|
2240
2252
|
getItemKey: C.getItemKey,
|
|
2241
2253
|
isImageReady: h.isImageReady,
|
|
2242
|
-
showDominantImageTone:
|
|
2243
|
-
}),
|
|
2254
|
+
showDominantImageTone: M(d, "showDominantImageTone")
|
|
2255
|
+
}), L = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value ? "bottom-[5.8rem] max-[720px]:bottom-[7.4rem]" : "bottom-[1.8rem] max-[720px]:bottom-[1.3rem]"), R = i(() => !!h.activeMediaItem.value && !h.activeAssetErrorKind.value), B = i(() => _.value < ar ? "vertical" : "horizontal"), te = i(() => R.value ? "pb-[5.75rem] max-[720px]:pb-[7rem]" : ""), V = i(() => d.activeIndex >= d.items.length && (d.loading || d.hasNextPage)), H = i(() => d.hasNextPage ? "Loading more items" : h.statusMessage.value ?? "Loading more items"), U = i(() => {
|
|
2244
2256
|
let e = h.activeItem.value;
|
|
2245
2257
|
return e ? {
|
|
2246
2258
|
hasNextPage: d.hasNextPage,
|
|
@@ -2257,20 +2269,20 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2257
2269
|
}), K = i(() => !G.value || !f["fullscreen-status"] ? [] : f["fullscreen-status"](G.value)), q = i(() => ({
|
|
2258
2270
|
gridTemplateColumns: Y.value ? "minmax(0, 1fr) 22rem" : "minmax(0, 1fr) 0rem",
|
|
2259
2271
|
transition: "grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
2260
|
-
})), re = i(() =>
|
|
2261
|
-
emptyStateMode:
|
|
2272
|
+
})), re = i(() => Bt(W.value)), J = i(() => Bt(ne.value)), Y = i(() => J.value && _.value >= ir), ie = i(() => J.value && !Y.value), ae = i(() => Bt(K.value)), { emptyStateProps: X, showBadgeEmptyState: ue, showCustomEmptyState: de, showInlineEmptyState: fe } = Ut({
|
|
2273
|
+
emptyStateMode: M(d, "emptyStateMode"),
|
|
2262
2274
|
itemCount: i(() => d.items.length),
|
|
2263
|
-
loading:
|
|
2275
|
+
loading: M(d, "loading"),
|
|
2264
2276
|
renderSlot: f["empty-state"],
|
|
2265
2277
|
surface: "fullscreen"
|
|
2266
2278
|
});
|
|
2267
2279
|
S(() => {
|
|
2268
|
-
window.addEventListener("resize",
|
|
2280
|
+
window.addEventListener("resize", Z);
|
|
2269
2281
|
}), x(() => {
|
|
2270
|
-
window.removeEventListener("resize",
|
|
2282
|
+
window.removeEventListener("resize", Z);
|
|
2271
2283
|
});
|
|
2272
|
-
function
|
|
2273
|
-
_.value = window.innerWidth ||
|
|
2284
|
+
function Z() {
|
|
2285
|
+
_.value = window.innerWidth || ir;
|
|
2274
2286
|
}
|
|
2275
2287
|
function pe(e, t, n) {
|
|
2276
2288
|
C.settleBackgroundPreload(t), h.onImageLoad(t, n);
|
|
@@ -2298,7 +2310,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2298
2310
|
n instanceof HTMLMediaElement && n.readyState >= r && C.settleBackgroundPreload(e);
|
|
2299
2311
|
}
|
|
2300
2312
|
function ye(e, t) {
|
|
2301
|
-
|
|
2313
|
+
I(e, t);
|
|
2302
2314
|
}
|
|
2303
2315
|
function be(e, t) {
|
|
2304
2316
|
if (Q(t, e), !d.loopFullscreenVideo) return;
|
|
@@ -2310,10 +2322,10 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2310
2322
|
let r = n.play();
|
|
2311
2323
|
r && typeof r.catch == "function" && r.catch(() => {});
|
|
2312
2324
|
}
|
|
2313
|
-
return (e, n) => (w(), s("div",
|
|
2325
|
+
return (e, n) => (w(), s("div", Tn, [
|
|
2314
2326
|
c("div", {
|
|
2315
2327
|
class: v(["absolute inset-0 transition-[background] duration-200", T.value]),
|
|
2316
|
-
style: b(
|
|
2328
|
+
style: b(N(P))
|
|
2317
2329
|
}, null, 6),
|
|
2318
2330
|
c("div", {
|
|
2319
2331
|
class: "relative z-[1] grid h-full min-h-0",
|
|
@@ -2322,170 +2334,170 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2322
2334
|
ref: "viewer.stageRef",
|
|
2323
2335
|
"data-testid": "vibe-stage",
|
|
2324
2336
|
class: "relative h-full min-h-0 touch-none overflow-hidden",
|
|
2325
|
-
onPointerdown: n[1] ||= (...e) =>
|
|
2326
|
-
onPointermove: n[2] ||= (...e) =>
|
|
2327
|
-
onPointerup: n[3] ||= (...e) =>
|
|
2328
|
-
onPointercancel: n[4] ||= (...e) =>
|
|
2329
|
-
onWheel: n[5] ||= (...e) =>
|
|
2330
|
-
}, [
|
|
2331
|
-
(w(!0), s(t, null,
|
|
2332
|
-
key:
|
|
2337
|
+
onPointerdown: n[1] ||= (...e) => N(h).onPointerDown && N(h).onPointerDown(...e),
|
|
2338
|
+
onPointermove: n[2] ||= (...e) => N(h).onPointerMove && N(h).onPointerMove(...e),
|
|
2339
|
+
onPointerup: n[3] ||= (...e) => N(h).onPointerUp && N(h).onPointerUp(...e),
|
|
2340
|
+
onPointercancel: n[4] ||= (...e) => N(h).onPointerCancel && N(h).onPointerCancel(...e),
|
|
2341
|
+
onWheel: n[5] ||= (...e) => N(h).onWheel && N(h).onWheel(...e)
|
|
2342
|
+
}, [N(h).activeItem.value ? (w(), s("div", En, [
|
|
2343
|
+
(w(!0), s(t, null, O(N(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
|
|
2344
|
+
key: N(C).getItemKey(r),
|
|
2333
2345
|
"data-testid": "vibe-slide",
|
|
2334
2346
|
"data-item-id": r.id,
|
|
2335
|
-
"data-occurrence-key":
|
|
2347
|
+
"data-occurrence-key": N(C).getItemKey(r),
|
|
2336
2348
|
"data-index": i,
|
|
2337
|
-
"data-active": i ===
|
|
2338
|
-
"aria-hidden": i ===
|
|
2339
|
-
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i ===
|
|
2340
|
-
style: b(
|
|
2349
|
+
"data-active": i === N(h).resolvedActiveIndex.value,
|
|
2350
|
+
"aria-hidden": i === N(h).resolvedActiveIndex.value ? "false" : "true",
|
|
2351
|
+
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i === N(h).resolvedActiveIndex.value ? "pointer-events-auto" : "pointer-events-none"]),
|
|
2352
|
+
style: b(N(h).getSlideStyle(i))
|
|
2341
2353
|
}, [c("div", {
|
|
2342
|
-
class: v(["absolute inset-0 opacity-85",
|
|
2343
|
-
style: b(i ===
|
|
2344
|
-
}, null, 6),
|
|
2354
|
+
class: v(["absolute inset-0 opacity-85", N(vn)(r.type)]),
|
|
2355
|
+
style: b(i === N(h).resolvedActiveIndex.value && r.type === "image" ? N(E) : void 0)
|
|
2356
|
+
}, null, 6), N(h).isVisual(r) ? (w(), s("div", {
|
|
2345
2357
|
key: 0,
|
|
2346
|
-
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i ===
|
|
2347
|
-
}, [
|
|
2358
|
+
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === N(h).resolvedActiveIndex.value ? te.value : ""])
|
|
2359
|
+
}, [N(C).isAssetLoading(i, r) ? (w(), s("div", On, [c("span", kn, [u(N(oe), {
|
|
2348
2360
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2349
2361
|
"aria-hidden": "true"
|
|
2350
|
-
})])])) : o("", !0),
|
|
2362
|
+
})])])) : o("", !0), N(C).isAssetErrored(i, r) ? (w(), s("div", {
|
|
2351
2363
|
key: 1,
|
|
2352
2364
|
"data-testid": "vibe-asset-error",
|
|
2353
|
-
"data-kind":
|
|
2365
|
+
"data-kind": N(C).getAssetErrorKind(r),
|
|
2354
2366
|
class: "grid h-full w-full place-items-center"
|
|
2355
|
-
}, [c("div",
|
|
2356
|
-
u(
|
|
2367
|
+
}, [c("div", jn, [
|
|
2368
|
+
u(N(le), {
|
|
2357
2369
|
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
2358
2370
|
"aria-hidden": "true"
|
|
2359
2371
|
}),
|
|
2360
|
-
c("p",
|
|
2361
|
-
|
|
2372
|
+
c("p", Mn, j(N(C).getAssetErrorLabel(r)), 1),
|
|
2373
|
+
N(h).canRetryAsset(N(C).getItemKey(r)) ? (w(), s("button", {
|
|
2362
2374
|
key: 0,
|
|
2363
2375
|
type: "button",
|
|
2364
2376
|
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",
|
|
2365
|
-
onClick:
|
|
2366
|
-
}, " Retry ", 8,
|
|
2367
|
-
])], 8,
|
|
2368
|
-
key:
|
|
2369
|
-
src:
|
|
2377
|
+
onClick: ee((e) => N(h).retryAsset(N(C).getItemKey(r)), ["stop"])
|
|
2378
|
+
}, " Retry ", 8, Nn)) : o("", !0)
|
|
2379
|
+
])], 8, An)) : r.type === "image" ? (w(), s("img", {
|
|
2380
|
+
key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
|
|
2381
|
+
src: N(C).getFullscreenImageSource(i, r),
|
|
2370
2382
|
alt: r.title ?? "",
|
|
2371
2383
|
crossorigin: "anonymous",
|
|
2372
2384
|
draggable: "false",
|
|
2373
|
-
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",
|
|
2385
|
+
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", N(h).isImageReady(N(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
2374
2386
|
ref_for: !0,
|
|
2375
|
-
ref: (e) => he(
|
|
2376
|
-
onLoad: (e) => pe(e,
|
|
2377
|
-
onError: (e) => me(
|
|
2378
|
-
}, null, 42,
|
|
2379
|
-
key:
|
|
2380
|
-
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",
|
|
2387
|
+
ref: (e) => he(N(C).getItemKey(r), e),
|
|
2388
|
+
onLoad: (e) => pe(e, N(C).getItemKey(r), r.url),
|
|
2389
|
+
onError: (e) => me(N(C).getItemKey(r), r.url)
|
|
2390
|
+
}, null, 42, Pn)) : (w(), s("video", {
|
|
2391
|
+
key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
|
|
2392
|
+
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", N(h).isMediaReady(N(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
2381
2393
|
playsinline: "",
|
|
2382
2394
|
loop: d.loopFullscreenVideo,
|
|
2383
|
-
src:
|
|
2384
|
-
preload:
|
|
2395
|
+
src: N(C).getFullscreenMediaSource(i, r),
|
|
2396
|
+
preload: N(C).getFullscreenMediaPreload(i),
|
|
2385
2397
|
ref_for: !0,
|
|
2386
|
-
ref: (e) => ge(
|
|
2387
|
-
onClick:
|
|
2388
|
-
onCanplay: (e) => Q(
|
|
2389
|
-
onDurationchange: (e) => Q(
|
|
2390
|
-
onEnded: (e) => be(e,
|
|
2391
|
-
onError: (e) => ve(
|
|
2392
|
-
onLoadstart: (e) => Q(
|
|
2393
|
-
onLoadedmetadata: (e) => Q(
|
|
2394
|
-
onPause: (e) => Q(
|
|
2395
|
-
onPlay: (e) => Q(
|
|
2396
|
-
onPlaying: (e) => Q(
|
|
2397
|
-
onSeeking: (e) => Q(
|
|
2398
|
-
onSeeked: (e) => Q(
|
|
2399
|
-
onStalled: (e) => Q(
|
|
2400
|
-
onTimeupdate: (e) => Q(
|
|
2401
|
-
onWaiting: (e) => Q(
|
|
2402
|
-
}, null, 42,
|
|
2398
|
+
ref: (e) => ge(N(C).getItemKey(r), e),
|
|
2399
|
+
onClick: ee((e) => N(h).onVideoClick(e, N(C).getItemKey(r)), ["stop"]),
|
|
2400
|
+
onCanplay: (e) => Q(N(C).getItemKey(r), e),
|
|
2401
|
+
onDurationchange: (e) => Q(N(C).getItemKey(r), e),
|
|
2402
|
+
onEnded: (e) => be(e, N(C).getItemKey(r)),
|
|
2403
|
+
onError: (e) => ve(N(C).getItemKey(r), r.url),
|
|
2404
|
+
onLoadstart: (e) => Q(N(C).getItemKey(r), e),
|
|
2405
|
+
onLoadedmetadata: (e) => Q(N(C).getItemKey(r), e),
|
|
2406
|
+
onPause: (e) => Q(N(C).getItemKey(r), e),
|
|
2407
|
+
onPlay: (e) => Q(N(C).getItemKey(r), e),
|
|
2408
|
+
onPlaying: (e) => Q(N(C).getItemKey(r), e),
|
|
2409
|
+
onSeeking: (e) => Q(N(C).getItemKey(r), e),
|
|
2410
|
+
onSeeked: (e) => Q(N(C).getItemKey(r), e),
|
|
2411
|
+
onStalled: (e) => Q(N(C).getItemKey(r), e),
|
|
2412
|
+
onTimeupdate: (e) => Q(N(C).getItemKey(r), e),
|
|
2413
|
+
onWaiting: (e) => Q(N(C).getItemKey(r), e)
|
|
2414
|
+
}, null, 42, Fn))], 2)) : N(h).isAudio(r) ? (w(), s("div", {
|
|
2403
2415
|
key: 1,
|
|
2404
|
-
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 ===
|
|
2405
|
-
}, [c("div",
|
|
2416
|
+
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 === N(h).resolvedActiveIndex.value ? te.value : ""])
|
|
2417
|
+
}, [c("div", In, [
|
|
2406
2418
|
c("button", {
|
|
2407
2419
|
type: "button",
|
|
2408
2420
|
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]",
|
|
2409
|
-
"aria-label":
|
|
2410
|
-
disabled: !!
|
|
2411
|
-
onClick: (e) =>
|
|
2421
|
+
"aria-label": N(h).mediaStates.value[N(C).getItemKey(r)]?.paused ?? !0 ? N(C).getMediaActionLabel("Play", r) : N(C).getMediaActionLabel("Pause", r),
|
|
2422
|
+
disabled: !!N(C).getAssetErrorKind(r),
|
|
2423
|
+
onClick: (e) => N(h).onAudioCoverClick(e, N(C).getItemKey(r))
|
|
2412
2424
|
}, [
|
|
2413
2425
|
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),
|
|
2414
2426
|
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),
|
|
2415
|
-
c("span",
|
|
2416
|
-
icon:
|
|
2427
|
+
c("span", Rn, [k(e.$slots, "item-icon", {
|
|
2428
|
+
icon: N(Tt)(r.type),
|
|
2417
2429
|
item: r
|
|
2418
|
-
}, () => [(w(), a(
|
|
2430
|
+
}, () => [(w(), a(A(N(Tt)(r.type)), {
|
|
2419
2431
|
class: "h-6 w-6 stroke-[1.9]",
|
|
2420
2432
|
"aria-hidden": "true"
|
|
2421
2433
|
}))])]),
|
|
2422
|
-
c("span",
|
|
2434
|
+
c("span", zn, [(w(), a(A(N(h).mediaStates.value[N(C).getItemKey(r)]?.paused ?? !0 ? N(ce) : N(se)), {
|
|
2423
2435
|
class: "h-4 w-4 stroke-2",
|
|
2424
2436
|
"aria-hidden": "true"
|
|
2425
2437
|
}))])
|
|
2426
|
-
], 8,
|
|
2427
|
-
|
|
2438
|
+
], 8, Ln),
|
|
2439
|
+
N(C).isAssetLoading(i, r) ? (w(), s("div", Bn, [c("span", Vn, [u(N(oe), {
|
|
2428
2440
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2429
2441
|
"aria-hidden": "true"
|
|
2430
2442
|
})])])) : o("", !0),
|
|
2431
|
-
|
|
2443
|
+
N(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", {
|
|
2432
2444
|
"data-testid": "vibe-asset-error",
|
|
2433
|
-
"data-kind":
|
|
2445
|
+
"data-kind": N(C).getAssetErrorKind(r),
|
|
2434
2446
|
class: "relative z-[1] grid justify-items-center gap-4"
|
|
2435
2447
|
}, [
|
|
2436
|
-
u(
|
|
2448
|
+
u(N(le), {
|
|
2437
2449
|
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
2438
2450
|
"aria-hidden": "true"
|
|
2439
2451
|
}),
|
|
2440
|
-
c("p",
|
|
2441
|
-
|
|
2452
|
+
c("p", Un, j(N(C).getAssetErrorLabel(r)), 1),
|
|
2453
|
+
N(h).canRetryAsset(N(C).getItemKey(r)) ? (w(), s("button", {
|
|
2442
2454
|
key: 0,
|
|
2443
2455
|
type: "button",
|
|
2444
2456
|
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",
|
|
2445
|
-
onClick:
|
|
2446
|
-
}, " Retry ", 8,
|
|
2447
|
-
], 8,
|
|
2457
|
+
onClick: ee((e) => N(h).retryAsset(N(C).getItemKey(r)), ["stop"])
|
|
2458
|
+
}, " Retry ", 8, Wn)) : o("", !0)
|
|
2459
|
+
], 8, Hn)], 64)) : o("", !0)
|
|
2448
2460
|
]), (w(), s("audio", {
|
|
2449
|
-
key:
|
|
2450
|
-
src:
|
|
2451
|
-
preload:
|
|
2461
|
+
key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
|
|
2462
|
+
src: N(C).getFullscreenMediaSource(i, r),
|
|
2463
|
+
preload: N(C).getFullscreenMediaPreload(i),
|
|
2452
2464
|
class: "pointer-events-none absolute h-px w-px opacity-0",
|
|
2453
2465
|
ref_for: !0,
|
|
2454
|
-
ref: (e) => _e(
|
|
2455
|
-
onCanplay: (e) => Q(
|
|
2456
|
-
onDurationchange: (e) => Q(
|
|
2457
|
-
onError: (e) => ve(
|
|
2458
|
-
onLoadstart: (e) => Q(
|
|
2459
|
-
onLoadedmetadata: (e) => Q(
|
|
2460
|
-
onPause: (e) => Q(
|
|
2461
|
-
onPlay: (e) => Q(
|
|
2462
|
-
onPlaying: (e) => Q(
|
|
2463
|
-
onSeeking: (e) => Q(
|
|
2464
|
-
onSeeked: (e) => Q(
|
|
2465
|
-
onStalled: (e) => Q(
|
|
2466
|
-
onTimeupdate: (e) => Q(
|
|
2467
|
-
onWaiting: (e) => Q(
|
|
2468
|
-
}, null, 40,
|
|
2469
|
-
icon:
|
|
2466
|
+
ref: (e) => _e(N(C).getItemKey(r), e),
|
|
2467
|
+
onCanplay: (e) => Q(N(C).getItemKey(r), e),
|
|
2468
|
+
onDurationchange: (e) => Q(N(C).getItemKey(r), e),
|
|
2469
|
+
onError: (e) => ve(N(C).getItemKey(r), r.url),
|
|
2470
|
+
onLoadstart: (e) => Q(N(C).getItemKey(r), e),
|
|
2471
|
+
onLoadedmetadata: (e) => Q(N(C).getItemKey(r), e),
|
|
2472
|
+
onPause: (e) => Q(N(C).getItemKey(r), e),
|
|
2473
|
+
onPlay: (e) => Q(N(C).getItemKey(r), e),
|
|
2474
|
+
onPlaying: (e) => Q(N(C).getItemKey(r), e),
|
|
2475
|
+
onSeeking: (e) => Q(N(C).getItemKey(r), e),
|
|
2476
|
+
onSeeked: (e) => Q(N(C).getItemKey(r), e),
|
|
2477
|
+
onStalled: (e) => Q(N(C).getItemKey(r), e),
|
|
2478
|
+
onTimeupdate: (e) => Q(N(C).getItemKey(r), e),
|
|
2479
|
+
onWaiting: (e) => Q(N(C).getItemKey(r), e)
|
|
2480
|
+
}, null, 40, Gn))], 2)) : (w(), s("div", Kn, [c("div", qn, [k(e.$slots, "item-icon", {
|
|
2481
|
+
icon: N(Tt)(r.type),
|
|
2470
2482
|
item: r
|
|
2471
|
-
}, () => [(w(), a(
|
|
2483
|
+
}, () => [(w(), a(A(N(Tt)(r.type)), {
|
|
2472
2484
|
class: "h-6 w-6 stroke-[1.9]",
|
|
2473
2485
|
"aria-hidden": "true"
|
|
2474
|
-
}))])])]))], 14,
|
|
2475
|
-
U.value && f["fullscreen-overlay"] ? (w(), s("div",
|
|
2476
|
-
|
|
2486
|
+
}))])])]))], 14, Dn))), 128)),
|
|
2487
|
+
U.value && f["fullscreen-overlay"] ? (w(), s("div", Jn, [c("div", Yn, [k(e.$slots, "fullscreen-overlay", y(p(U.value)))])])) : o("", !0),
|
|
2488
|
+
N(h).activeItem.value ? (w(), a(St, {
|
|
2477
2489
|
key: 1,
|
|
2478
|
-
"current-index":
|
|
2490
|
+
"current-index": N(h).resolvedActiveIndex.value,
|
|
2479
2491
|
loading: d.loading,
|
|
2480
|
-
"pagination-detail":
|
|
2492
|
+
"pagination-detail": N(h).paginationDetail.value,
|
|
2481
2493
|
"show-back-to-list": d.showBackToList,
|
|
2482
|
-
"show-end-badge": d.showEndBadge &&
|
|
2483
|
-
title:
|
|
2484
|
-
total:
|
|
2494
|
+
"show-end-badge": d.showEndBadge && N(h).isAtEnd.value && !N(h).hasNextPage.value && !N(h).loading.value,
|
|
2495
|
+
title: N(h).activeItem.value.title ?? null,
|
|
2496
|
+
total: N(h).items.value.length,
|
|
2485
2497
|
onBackToList: n[0] ||= (e) => m("back-to-list")
|
|
2486
2498
|
}, l({ _: 2 }, [re.value && U.value ? {
|
|
2487
2499
|
name: "actions",
|
|
2488
|
-
fn:
|
|
2500
|
+
fn: z(() => [k(e.$slots, "fullscreen-header-actions", y(p(U.value)))]),
|
|
2489
2501
|
key: "0"
|
|
2490
2502
|
} : void 0]), 1032, [
|
|
2491
2503
|
"current-index",
|
|
@@ -2496,19 +2508,19 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2496
2508
|
"title",
|
|
2497
2509
|
"total"
|
|
2498
2510
|
])) : o("", !0),
|
|
2499
|
-
|
|
2511
|
+
R.value ? (w(), a(dt, {
|
|
2500
2512
|
key: 2,
|
|
2501
|
-
"current-time":
|
|
2502
|
-
"current-time-label":
|
|
2503
|
-
duration:
|
|
2504
|
-
"duration-label":
|
|
2505
|
-
muted:
|
|
2506
|
-
progress:
|
|
2507
|
-
volume:
|
|
2508
|
-
"volume-control-layout":
|
|
2509
|
-
onSeekInput:
|
|
2510
|
-
onVolumeInput:
|
|
2511
|
-
onVolumeToggle:
|
|
2513
|
+
"current-time": N(h).activeMediaState.value.currentTime,
|
|
2514
|
+
"current-time-label": N(h).formatPlaybackTime(N(h).activeMediaState.value.currentTime),
|
|
2515
|
+
duration: N(h).activeMediaDuration.value,
|
|
2516
|
+
"duration-label": N(h).formatPlaybackTime(N(h).activeMediaDuration.value),
|
|
2517
|
+
muted: N(h).activeMediaState.value.muted,
|
|
2518
|
+
progress: N(h).activeMediaProgress.value,
|
|
2519
|
+
volume: N(h).activeMediaState.value.volume,
|
|
2520
|
+
"volume-control-layout": B.value,
|
|
2521
|
+
onSeekInput: N(h).onMediaSeekInput,
|
|
2522
|
+
onVolumeInput: N(h).onMediaVolumeInput,
|
|
2523
|
+
onVolumeToggle: N(h).onMediaVolumeToggle
|
|
2512
2524
|
}, null, 8, [
|
|
2513
2525
|
"current-time",
|
|
2514
2526
|
"current-time-label",
|
|
@@ -2524,34 +2536,34 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2524
2536
|
])) : o("", !0),
|
|
2525
2537
|
G.value ? (w(), s("div", {
|
|
2526
2538
|
key: 3,
|
|
2527
|
-
class: v(["absolute left-1/2 z-[4] -translate-x-1/2",
|
|
2528
|
-
}, [ae.value ?
|
|
2539
|
+
class: v(["absolute left-1/2 z-[4] -translate-x-1/2", L.value])
|
|
2540
|
+
}, [ae.value ? k(e.$slots, "fullscreen-status", y(g({ key: 0 }, G.value))) : (w(), s("div", {
|
|
2529
2541
|
key: 1,
|
|
2530
2542
|
"data-testid": "vibe-fullscreen-status-badge",
|
|
2531
2543
|
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", G.value.kind === "end" ? "border-amber-300/35 text-amber-200" : G.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
|
|
2532
|
-
},
|
|
2533
|
-
])) : V.value ? (w(), s("div",
|
|
2544
|
+
}, j(G.value.message), 3))], 2)) : o("", !0)
|
|
2545
|
+
])) : V.value ? (w(), s("div", Xn, [c("div", Zn, [c("span", Qn, [u(N(oe), {
|
|
2534
2546
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2535
2547
|
"aria-hidden": "true"
|
|
2536
|
-
})]), c("p",
|
|
2548
|
+
})]), c("p", $n, j(H.value), 1)])])) : N(fe) && N(X) ? (w(), a(wn, {
|
|
2537
2549
|
key: 2,
|
|
2538
|
-
message:
|
|
2539
|
-
mode:
|
|
2540
|
-
surface:
|
|
2550
|
+
message: N(X).message,
|
|
2551
|
+
mode: N(X).mode,
|
|
2552
|
+
surface: N(X).surface
|
|
2541
2553
|
}, {
|
|
2542
|
-
default:
|
|
2554
|
+
default: z(() => [N(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(X)))) : o("", !0)]),
|
|
2543
2555
|
_: 3
|
|
2544
2556
|
}, 8, [
|
|
2545
2557
|
"message",
|
|
2546
2558
|
"mode",
|
|
2547
2559
|
"surface"
|
|
2548
|
-
])) : o("", !0),
|
|
2560
|
+
])) : o("", !0), N(ue) && N(X) ? (w(), a(wn, {
|
|
2549
2561
|
key: 3,
|
|
2550
|
-
message:
|
|
2551
|
-
mode:
|
|
2552
|
-
surface:
|
|
2562
|
+
message: N(X).message,
|
|
2563
|
+
mode: N(X).mode,
|
|
2564
|
+
surface: N(X).surface
|
|
2553
2565
|
}, {
|
|
2554
|
-
default:
|
|
2566
|
+
default: z(() => [N(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(X)))) : o("", !0)]),
|
|
2555
2567
|
_: 3
|
|
2556
2568
|
}, 8, [
|
|
2557
2569
|
"message",
|
|
@@ -2565,7 +2577,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2565
2577
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
2566
2578
|
"leave-to-class": "translate-x-full opacity-0"
|
|
2567
2579
|
}, {
|
|
2568
|
-
default:
|
|
2580
|
+
default: z(() => [Y.value && U.value ? (w(), s("aside", er, [c("div", tr, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
|
|
2569
2581
|
_: 3
|
|
2570
2582
|
})], 4),
|
|
2571
2583
|
u(r, {
|
|
@@ -2576,29 +2588,29 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
|
|
|
2576
2588
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
2577
2589
|
"leave-to-class": "translate-x-full opacity-0"
|
|
2578
2590
|
}, {
|
|
2579
|
-
default:
|
|
2591
|
+
default: z(() => [ie.value && U.value ? (w(), s("aside", nr, [c("div", rr, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
|
|
2580
2592
|
_: 3
|
|
2581
2593
|
})
|
|
2582
2594
|
]));
|
|
2583
2595
|
}
|
|
2584
|
-
}),
|
|
2585
|
-
function
|
|
2596
|
+
}), sr = 1, cr = .5;
|
|
2597
|
+
function lr(e) {
|
|
2586
2598
|
if (e.type !== "image" && e.type !== "video") return {
|
|
2587
|
-
width:
|
|
2588
|
-
height:
|
|
2599
|
+
width: sr,
|
|
2600
|
+
height: sr,
|
|
2589
2601
|
source: "fallback"
|
|
2590
2602
|
};
|
|
2591
2603
|
let t = e.preview?.width, n = e.preview?.height;
|
|
2592
|
-
if (
|
|
2593
|
-
let r =
|
|
2604
|
+
if (gr(t) && gr(n)) {
|
|
2605
|
+
let r = _r(e, t, n);
|
|
2594
2606
|
return {
|
|
2595
2607
|
width: r.width,
|
|
2596
2608
|
height: r.height,
|
|
2597
2609
|
source: "preview"
|
|
2598
2610
|
};
|
|
2599
2611
|
}
|
|
2600
|
-
if (
|
|
2601
|
-
let t =
|
|
2612
|
+
if (gr(e.width) && gr(e.height)) {
|
|
2613
|
+
let t = _r(e, e.width, e.height);
|
|
2602
2614
|
return {
|
|
2603
2615
|
width: t.width,
|
|
2604
2616
|
height: t.height,
|
|
@@ -2606,31 +2618,31 @@ function cr(e) {
|
|
|
2606
2618
|
};
|
|
2607
2619
|
}
|
|
2608
2620
|
return {
|
|
2609
|
-
width:
|
|
2610
|
-
height:
|
|
2621
|
+
width: sr,
|
|
2622
|
+
height: sr,
|
|
2611
2623
|
source: "fallback"
|
|
2612
2624
|
};
|
|
2613
2625
|
}
|
|
2614
|
-
function
|
|
2626
|
+
function ur(e, t) {
|
|
2615
2627
|
return !e || e <= 0 || !t || t <= 0 ? 1 : Math.max(1, Math.floor(e / t));
|
|
2616
2628
|
}
|
|
2617
|
-
function
|
|
2629
|
+
function dr(e, t, n, r = 0) {
|
|
2618
2630
|
if (!e || e <= 0 || !t || t <= 0) return n;
|
|
2619
2631
|
let i = typeof r == "number" && r > 0 ? r : 0, a = e - Math.max(0, t - 1) * i;
|
|
2620
2632
|
return !a || a <= 0 ? n : a / t;
|
|
2621
2633
|
}
|
|
2622
|
-
function
|
|
2623
|
-
let n =
|
|
2634
|
+
function fr(e, t) {
|
|
2635
|
+
let n = lr(e);
|
|
2624
2636
|
return n.height / n.width * t;
|
|
2625
2637
|
}
|
|
2626
|
-
function
|
|
2638
|
+
function pr(e, t) {
|
|
2627
2639
|
let n = Array.from({ length: t.columnCount }, () => 0), r = Array(e.length), i = Array(e.length), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = 0;
|
|
2628
2640
|
for (let c = 0; c < e.length; c += 1) {
|
|
2629
2641
|
let l = e[c];
|
|
2630
2642
|
o.set($(l), c);
|
|
2631
2643
|
let u = 0;
|
|
2632
2644
|
for (let e = 1; e < n.length; e += 1) n[e] < n[u] && (u = e);
|
|
2633
|
-
let d = u * (t.columnWidth + t.gapX), f = n[u], p =
|
|
2645
|
+
let d = u * (t.columnWidth + t.gapX), f = n[u], p = fr(l, t.columnWidth);
|
|
2634
2646
|
r[c] = {
|
|
2635
2647
|
x: d,
|
|
2636
2648
|
y: f
|
|
@@ -2649,7 +2661,7 @@ function fr(e, t) {
|
|
|
2649
2661
|
indexById: o
|
|
2650
2662
|
};
|
|
2651
2663
|
}
|
|
2652
|
-
function
|
|
2664
|
+
function mr(e) {
|
|
2653
2665
|
if (e.itemCount <= 0) return [];
|
|
2654
2666
|
if (e.viewportHeight <= 0) return Array.from({ length: e.itemCount }, (e, t) => t);
|
|
2655
2667
|
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();
|
|
@@ -2659,7 +2671,7 @@ function pr(e) {
|
|
|
2659
2671
|
}
|
|
2660
2672
|
return Array.from(a).sort((e, t) => e - t);
|
|
2661
2673
|
}
|
|
2662
|
-
function
|
|
2674
|
+
function hr(e, t, n) {
|
|
2663
2675
|
let r = /* @__PURE__ */ new Map();
|
|
2664
2676
|
for (let i of e) {
|
|
2665
2677
|
let e = t.get($(i));
|
|
@@ -2669,11 +2681,11 @@ function mr(e, t, n) {
|
|
|
2669
2681
|
}
|
|
2670
2682
|
return r;
|
|
2671
2683
|
}
|
|
2672
|
-
function
|
|
2684
|
+
function gr(e) {
|
|
2673
2685
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
2674
2686
|
}
|
|
2675
|
-
function
|
|
2676
|
-
return e.type !== "image" || n / t >=
|
|
2687
|
+
function _r(e, t, n) {
|
|
2688
|
+
return e.type !== "image" || n / t >= cr ? {
|
|
2677
2689
|
width: t,
|
|
2678
2690
|
height: n
|
|
2679
2691
|
} : {
|
|
@@ -2683,23 +2695,23 @@ function gr(e, t, n) {
|
|
|
2683
2695
|
}
|
|
2684
2696
|
//#endregion
|
|
2685
2697
|
//#region src/components/viewer-core/useMasonryMotion.ts
|
|
2686
|
-
var
|
|
2687
|
-
function
|
|
2698
|
+
var vr = 300, yr = 600, br = 40, xr = 300, Sr = 400;
|
|
2699
|
+
function Cr(e, t) {
|
|
2688
2700
|
return t === "top" ? [...e].reverse() : e;
|
|
2689
2701
|
}
|
|
2690
|
-
function
|
|
2691
|
-
return e <= 0 ?
|
|
2702
|
+
function wr(e) {
|
|
2703
|
+
return e <= 0 ? yr : yr + Math.min((e - 1) * br, Sr);
|
|
2692
2704
|
}
|
|
2693
|
-
function
|
|
2694
|
-
return
|
|
2705
|
+
function Tr() {
|
|
2706
|
+
return xr;
|
|
2695
2707
|
}
|
|
2696
|
-
function
|
|
2708
|
+
function Er(e) {
|
|
2697
2709
|
let t = e.itemHeight > 0 ? e.itemHeight : e.columnWidth;
|
|
2698
2710
|
return e.direction === "top" ? e.scrollTop - t : e.scrollTop + e.viewportHeight + t;
|
|
2699
2711
|
}
|
|
2700
|
-
function
|
|
2712
|
+
function Dr(e) {
|
|
2701
2713
|
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()));
|
|
2702
|
-
|
|
2714
|
+
L(e.visibleIndices, (i) => {
|
|
2703
2715
|
if (!i.length) return;
|
|
2704
2716
|
let o = [];
|
|
2705
2717
|
for (let n of i) {
|
|
@@ -2707,22 +2719,22 @@ function Er(e) {
|
|
|
2707
2719
|
!r || !t.value.has(r) || d.has(r) || (d.add(r), o.push(r));
|
|
2708
2720
|
}
|
|
2709
2721
|
if (!o.length) return;
|
|
2710
|
-
let s =
|
|
2711
|
-
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e *
|
|
2712
|
-
r.value = c,
|
|
2722
|
+
let s = Cr(o, a.value.get(o[0]) ?? "bottom"), c = new Map(r.value);
|
|
2723
|
+
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e * br, Sr));
|
|
2724
|
+
r.value = c, Or(() => {
|
|
2713
2725
|
let e = new Set(n.value);
|
|
2714
2726
|
for (let t of o) e.add(t);
|
|
2715
2727
|
n.value = e;
|
|
2716
|
-
}),
|
|
2728
|
+
}), kr(() => {
|
|
2717
2729
|
let e = new Set(t.value);
|
|
2718
2730
|
for (let t of o) e.delete(t);
|
|
2719
2731
|
t.value = e, S(() => {
|
|
2720
2732
|
let e = new Set(n.value), t = new Map(r.value), i = new Map(a.value);
|
|
2721
2733
|
for (let n of o) e.delete(n), t.delete(n), i.delete(n), d.delete(n);
|
|
2722
2734
|
n.value = e, r.value = t, a.value = i;
|
|
2723
|
-
},
|
|
2735
|
+
}, wr(o.length));
|
|
2724
2736
|
});
|
|
2725
|
-
}, { flush: "post" }),
|
|
2737
|
+
}, { flush: "post" }), L(() => e.items.value.map((e) => $(e)), (e) => {
|
|
2726
2738
|
if (!e.length || !o.value.size) return;
|
|
2727
2739
|
let t = new Set(e), n = null, r = null;
|
|
2728
2740
|
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));
|
|
@@ -2747,7 +2759,7 @@ function Er(e) {
|
|
|
2747
2759
|
let e = $(t.item);
|
|
2748
2760
|
p.push(e), i.set(e, t), c.delete(e), l.delete(e), u.delete(e), f.delete(e), d.delete(e);
|
|
2749
2761
|
}
|
|
2750
|
-
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f,
|
|
2762
|
+
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f, Or(() => {
|
|
2751
2763
|
let e = new Set(s.value);
|
|
2752
2764
|
for (let t of p) e.add(t);
|
|
2753
2765
|
s.value = e;
|
|
@@ -2755,9 +2767,9 @@ function Er(e) {
|
|
|
2755
2767
|
let e = new Map(o.value), t = new Set(s.value);
|
|
2756
2768
|
for (let n of p) e.delete(n), t.delete(n);
|
|
2757
2769
|
o.value = e, s.value = t;
|
|
2758
|
-
},
|
|
2770
|
+
}, xr);
|
|
2759
2771
|
}
|
|
2760
|
-
function g(t, n, r =
|
|
2772
|
+
function g(t, n, r = vr) {
|
|
2761
2773
|
if (!t.size) return;
|
|
2762
2774
|
let i = /* @__PURE__ */ new Map(), a = [];
|
|
2763
2775
|
for (let [r, o] of t.entries()) {
|
|
@@ -2776,8 +2788,8 @@ function Er(e) {
|
|
|
2776
2788
|
c.value = i, u.value = /* @__PURE__ */ new Set();
|
|
2777
2789
|
let o = new Map(l.value);
|
|
2778
2790
|
for (let e of a) o.set(e, r);
|
|
2779
|
-
l.value = o,
|
|
2780
|
-
u.value = new Set(a),
|
|
2791
|
+
l.value = o, Or(() => {
|
|
2792
|
+
u.value = new Set(a), Or(() => {
|
|
2781
2793
|
c.value = /* @__PURE__ */ new Map();
|
|
2782
2794
|
});
|
|
2783
2795
|
}), S(() => {
|
|
@@ -2788,8 +2800,8 @@ function Er(e) {
|
|
|
2788
2800
|
}, r);
|
|
2789
2801
|
}
|
|
2790
2802
|
function _(e) {
|
|
2791
|
-
if (n.value.has(e)) return `transform ${
|
|
2792
|
-
if (u.value.has(e)) return `transform ${l.value.get(e) ??
|
|
2803
|
+
if (n.value.has(e)) return `transform ${yr}ms ease-out`;
|
|
2804
|
+
if (u.value.has(e)) return `transform ${l.value.get(e) ?? vr}ms ease-out`;
|
|
2793
2805
|
}
|
|
2794
2806
|
function v(e) {
|
|
2795
2807
|
if (!n.value.has(e)) return;
|
|
@@ -2806,7 +2818,7 @@ function Er(e) {
|
|
|
2806
2818
|
} : {
|
|
2807
2819
|
dx: 0,
|
|
2808
2820
|
dy: 0
|
|
2809
|
-
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ?
|
|
2821
|
+
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ? Er({
|
|
2810
2822
|
columnWidth: e.columnWidth.value,
|
|
2811
2823
|
direction: u,
|
|
2812
2824
|
itemHeight: o,
|
|
@@ -2820,14 +2832,14 @@ function Er(e) {
|
|
|
2820
2832
|
if (!r) return {
|
|
2821
2833
|
opacity: "0",
|
|
2822
2834
|
transform: "translate3d(0, 0, 0) scale(0.96)",
|
|
2823
|
-
transition: `opacity ${
|
|
2835
|
+
transition: `opacity ${xr}ms ease-out, transform ${xr}ms ease-out`
|
|
2824
2836
|
};
|
|
2825
2837
|
let i = s.value.has(n);
|
|
2826
2838
|
return {
|
|
2827
2839
|
height: `${r.height}px`,
|
|
2828
2840
|
opacity: i ? "0" : "1",
|
|
2829
2841
|
transform: `translate3d(${r.position.x}px, ${r.position.y}px, 0) scale(${i ? "0.96" : "1"})`,
|
|
2830
|
-
transition: `opacity ${
|
|
2842
|
+
transition: `opacity ${xr}ms ease-out, transform ${xr}ms ease-out`,
|
|
2831
2843
|
width: `${e.columnWidth.value}px`
|
|
2832
2844
|
};
|
|
2833
2845
|
}
|
|
@@ -2848,28 +2860,28 @@ function Er(e) {
|
|
|
2848
2860
|
playFlipMoveAnimation: g
|
|
2849
2861
|
};
|
|
2850
2862
|
}
|
|
2851
|
-
function
|
|
2863
|
+
function Or(e) {
|
|
2852
2864
|
if (typeof requestAnimationFrame == "function") {
|
|
2853
2865
|
requestAnimationFrame(() => e());
|
|
2854
2866
|
return;
|
|
2855
2867
|
}
|
|
2856
2868
|
setTimeout(e, 0);
|
|
2857
2869
|
}
|
|
2858
|
-
function
|
|
2859
|
-
|
|
2870
|
+
function kr(e) {
|
|
2871
|
+
Or(() => Or(e));
|
|
2860
2872
|
}
|
|
2861
2873
|
//#endregion
|
|
2862
2874
|
//#region src/components/viewer-core/masonryViewport.ts
|
|
2863
|
-
function
|
|
2875
|
+
function Ar(e, t) {
|
|
2864
2876
|
return e?.clientHeight || Math.round(e?.getBoundingClientRect().height ?? 0) || t || window.innerHeight || 1;
|
|
2865
2877
|
}
|
|
2866
|
-
function
|
|
2878
|
+
function jr(e, t, n) {
|
|
2867
2879
|
return e?.clientWidth || Math.round(e?.getBoundingClientRect().width ?? 0) || t || window.innerWidth || n;
|
|
2868
2880
|
}
|
|
2869
|
-
function
|
|
2881
|
+
function Mr(e, t, n, r) {
|
|
2870
2882
|
return (e?.scrollHeight ?? r) - (t + n);
|
|
2871
2883
|
}
|
|
2872
|
-
function
|
|
2884
|
+
function Nr(e, t) {
|
|
2873
2885
|
return {
|
|
2874
2886
|
height: `${e}px`,
|
|
2875
2887
|
transform: `translate3d(0, ${t}px, 0)`
|
|
@@ -2877,8 +2889,8 @@ function Mr(e, t) {
|
|
|
2877
2889
|
}
|
|
2878
2890
|
//#endregion
|
|
2879
2891
|
//#region src/components/viewer-core/useEdgeBoundary.ts
|
|
2880
|
-
var
|
|
2881
|
-
function
|
|
2892
|
+
var Pr = 250, Fr = 1e3;
|
|
2893
|
+
function Ir(e) {
|
|
2882
2894
|
let t = D(!1), n = D(!1), r = D(0), i = D(0), a = D(!1), o = D(!1), s = 0, c = null;
|
|
2883
2895
|
x(() => {
|
|
2884
2896
|
y();
|
|
@@ -2894,7 +2906,7 @@ function Fr(e) {
|
|
|
2894
2906
|
function u(t) {
|
|
2895
2907
|
if (!b(t) || !e.isAtBoundary()) return;
|
|
2896
2908
|
let n = Date.now();
|
|
2897
|
-
n < s || (s = n +
|
|
2909
|
+
n < s || (s = n + Pr, m());
|
|
2898
2910
|
}
|
|
2899
2911
|
function d() {
|
|
2900
2912
|
if (!g()) return;
|
|
@@ -2928,7 +2940,7 @@ function Fr(e) {
|
|
|
2928
2940
|
return e.hasPage.value && t.value && r.value > i.value && !e.interactionLocked?.value && !e.loading.value && !a.value && typeof e.requestPage.value == "function";
|
|
2929
2941
|
}
|
|
2930
2942
|
function _() {
|
|
2931
|
-
o.value = !1, v(
|
|
2943
|
+
o.value = !1, v(Fr);
|
|
2932
2944
|
}
|
|
2933
2945
|
function v(e) {
|
|
2934
2946
|
y(), a.value = !0, c = setTimeout(() => {
|
|
@@ -2951,42 +2963,42 @@ function Fr(e) {
|
|
|
2951
2963
|
}
|
|
2952
2964
|
//#endregion
|
|
2953
2965
|
//#region src/components/viewer-core/useMasonryList.ts
|
|
2954
|
-
var
|
|
2955
|
-
function
|
|
2956
|
-
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth ||
|
|
2966
|
+
var Lr = 600, Rr = 24, zr = 16, Br = 300, Vr = 200, Hr = 200, Ur = Rr + zr, Wr = 200, Gr = 300, Kr = 24, qr = 48, Jr = 500, Yr = 1e3;
|
|
2967
|
+
function Xr(e) {
|
|
2968
|
+
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth || Br), o = D([]), s = D([]), c = D(/* @__PURE__ */ new Map()), l = D(0), u = D(/* @__PURE__ */ new Map()), d = D(null), f = D(null), p = D(!1), m = i(() => Math.max(Br, a.value - Rr * 2)), h = i(() => ur(m.value, Br)), g = i(() => dr(m.value, h.value, Br, zr)), v = i(() => Zr(e.activeIndex.value, 0, Math.max(0, e.items.value.length - 1))), y = i(() => mr({
|
|
2957
2969
|
itemCount: e.items.value.length,
|
|
2958
2970
|
viewportHeight: r.value,
|
|
2959
2971
|
scrollTop: n.value,
|
|
2960
|
-
overscanPx:
|
|
2961
|
-
bucketPx:
|
|
2972
|
+
overscanPx: Vr,
|
|
2973
|
+
bucketPx: Lr,
|
|
2962
2974
|
buckets: c.value
|
|
2963
2975
|
})), b = i(() => y.value.map((t) => ({
|
|
2964
2976
|
item: e.items.value[t],
|
|
2965
2977
|
index: t
|
|
2966
2978
|
}))), C = i(() => {
|
|
2967
|
-
let e = l.value +
|
|
2968
|
-
return Math.max(e, t, r.value) +
|
|
2969
|
-
}), w = i(() => e.hasNextPage.value || e.allowExhaustedNextPageRefresh.value), T = i(() =>
|
|
2979
|
+
let e = l.value + Rr * 2, t = d.value ?? 0;
|
|
2980
|
+
return Math.max(e, t, r.value) + Wr;
|
|
2981
|
+
}), w = i(() => e.hasNextPage.value || e.allowExhaustedNextPageRefresh.value), T = i(() => $r({
|
|
2970
2982
|
active: e.active.value,
|
|
2971
2983
|
maxScrollTop: se(),
|
|
2972
2984
|
progressDistancePx: n.value,
|
|
2973
|
-
thresholdPx:
|
|
2985
|
+
thresholdPx: Hr,
|
|
2974
2986
|
triggerEnabled: w.value
|
|
2975
|
-
})), E = i(() => e.items.value.length > 0 ? `${v.value + 1} / ${e.items.value.length}` : "0 / 0"),
|
|
2987
|
+
})), E = i(() => e.items.value.length > 0 ? `${v.value + 1} / ${e.items.value.length}` : "0 / 0"), O = i(() => Qr({
|
|
2976
2988
|
active: e.active.value,
|
|
2977
2989
|
maxScrollTop: se(),
|
|
2978
2990
|
progressDistancePx: n.value,
|
|
2979
|
-
thresholdPx:
|
|
2991
|
+
thresholdPx: Ur,
|
|
2980
2992
|
triggerEnabled: e.hasPreviousPage.value
|
|
2981
|
-
})),
|
|
2982
|
-
if (!
|
|
2983
|
-
let e = r.value / C.value *
|
|
2984
|
-
return Math.min(
|
|
2985
|
-
}),
|
|
2986
|
-
if (!
|
|
2993
|
+
})), k = i(() => Math.max(0, r.value - Kr * 2)), A = i(() => C.value > r.value + 1 && k.value > 0), j = i(() => {
|
|
2994
|
+
if (!A.value) return 0;
|
|
2995
|
+
let e = r.value / C.value * k.value;
|
|
2996
|
+
return Math.min(k.value, Math.max(qr, e));
|
|
2997
|
+
}), M = i(() => {
|
|
2998
|
+
if (!A.value) return Kr;
|
|
2987
2999
|
let e = Math.max(0, C.value - r.value);
|
|
2988
|
-
return
|
|
2989
|
-
}),
|
|
3000
|
+
return Kr + Math.max(0, k.value - j.value) * (e > 0 ? Zr(n.value / e, 0, 1) : 0);
|
|
3001
|
+
}), N = Dr({
|
|
2990
3002
|
items: e.items,
|
|
2991
3003
|
visibleIndices: y,
|
|
2992
3004
|
positions: o,
|
|
@@ -2995,37 +3007,37 @@ function Yr(e) {
|
|
|
2995
3007
|
columnWidth: g,
|
|
2996
3008
|
scrollTop: n,
|
|
2997
3009
|
viewportHeight: r
|
|
2998
|
-
}),
|
|
3010
|
+
}), P = Ir({
|
|
2999
3011
|
direction: "top",
|
|
3000
3012
|
getAnimationLockMs(e) {
|
|
3001
|
-
return Math.max(
|
|
3013
|
+
return Math.max(Jr, wr(e)) + Yr;
|
|
3002
3014
|
},
|
|
3003
3015
|
hasPage: e.hasPreviousPage,
|
|
3004
3016
|
interactionLocked: p,
|
|
3005
3017
|
isAtBoundary() {
|
|
3006
|
-
return n.value <=
|
|
3018
|
+
return n.value <= Ur;
|
|
3007
3019
|
},
|
|
3008
3020
|
loading: e.loading,
|
|
3009
3021
|
requestPage: e.requestPreviousPage
|
|
3010
|
-
}),
|
|
3022
|
+
}), F = Ir({
|
|
3011
3023
|
direction: "bottom",
|
|
3012
3024
|
getAnimationLockMs(e) {
|
|
3013
|
-
return
|
|
3025
|
+
return wr(e) + Yr;
|
|
3014
3026
|
},
|
|
3015
3027
|
hasPage: w,
|
|
3016
3028
|
interactionLocked: p,
|
|
3017
3029
|
isAtBoundary() {
|
|
3018
|
-
return oe() <=
|
|
3030
|
+
return oe() <= Hr;
|
|
3019
3031
|
},
|
|
3020
3032
|
loading: e.loading,
|
|
3021
3033
|
requestPage: e.requestNextPage
|
|
3022
|
-
}),
|
|
3023
|
-
|
|
3034
|
+
}), I = null, R = 0, z = null, B = null, ee = !1;
|
|
3035
|
+
L([
|
|
3024
3036
|
() => e.items.value,
|
|
3025
3037
|
h,
|
|
3026
3038
|
g
|
|
3027
3039
|
], async ([t], [r = []]) => {
|
|
3028
|
-
let i = t.map((e) => $(e)), a = r ?? [], s = a.map((e) => $(e)), c =
|
|
3040
|
+
let i = t.map((e) => $(e)), a = r ?? [], s = a.map((e) => $(e)), c = hr(a, u.value, o.value), l = X(a), d = new Set(s), f = new Set(i), p = t.filter((e) => !d.has($(e))), m = a.flatMap((e) => {
|
|
3029
3041
|
let t = $(e);
|
|
3030
3042
|
if (f.has(t)) return [];
|
|
3031
3043
|
let n = c.get(t), r = l.get(t);
|
|
@@ -3034,16 +3046,16 @@ function Yr(e) {
|
|
|
3034
3046
|
item: e,
|
|
3035
3047
|
position: n
|
|
3036
3048
|
}];
|
|
3037
|
-
}), h = i.length > s.length && s.length > 0 && i[0] !== s[0], g = t.length === 0 && a.length > 0 && m.length > 0 && n.value > 0, y = m.length > 0 && n.value >
|
|
3038
|
-
y && K(
|
|
3039
|
-
}, { immediate: !0 }),
|
|
3049
|
+
}), h = i.length > s.length && s.length > 0 && i[0] !== s[0], g = t.length === 0 && a.length > 0 && m.length > 0 && n.value > 0, y = m.length > 0 && n.value > Rr + zr, b = h && n.value > Rr + zr ? t[v.value] : null, x = b ? $(b) : null;
|
|
3050
|
+
y && K(Tr() + Yr), g && G(), te(), m.length > 0 && N.markLeave(m), p.length > 0 && (N.markEnter(p, h ? "top" : "bottom"), h ? P.onItemsMutated(p.length) : F.onItemsMutated(p.length)), N.playFlipMoveAnimation(c, new Set(p.map((e) => $(e))), h ? Jr : void 0), x ? (await _(), ne(x, c)) : e.active.value && s.length > 0 && re();
|
|
3051
|
+
}, { immediate: !0 }), L([
|
|
3040
3052
|
() => e.pendingAppendItems.value.map((e) => $(e)),
|
|
3041
3053
|
h,
|
|
3042
3054
|
g,
|
|
3043
3055
|
r
|
|
3044
3056
|
], ([t]) => {
|
|
3045
3057
|
de(), t.length && (d.value = le([...e.items.value, ...e.pendingAppendItems.value]), ue());
|
|
3046
|
-
}, { immediate: !0 }),
|
|
3058
|
+
}, { immediate: !0 }), L(() => e.active.value, async (e, i) => {
|
|
3047
3059
|
let a = t.value;
|
|
3048
3060
|
if (!a) return;
|
|
3049
3061
|
if (!e) {
|
|
@@ -3052,53 +3064,53 @@ function Yr(e) {
|
|
|
3052
3064
|
}
|
|
3053
3065
|
if (i !== !1 || f.value == null) return;
|
|
3054
3066
|
await _();
|
|
3055
|
-
let o = Math.max(0, C.value - r.value), s =
|
|
3056
|
-
a.scrollTop = s, n.value = s,
|
|
3057
|
-
}),
|
|
3058
|
-
!t && !e.pendingAppendItems.value.length && !
|
|
3067
|
+
let o = Math.max(0, C.value - r.value), s = Zr(f.value, 0, o);
|
|
3068
|
+
a.scrollTop = s, n.value = s, P.syncBoundary(), F.syncBoundary();
|
|
3069
|
+
}), L(() => e.loading.value, async (t) => {
|
|
3070
|
+
!t && !e.pendingAppendItems.value.length && !z && !ee && (d.value = null), P.onLoadingChange(t), F.onLoadingChange(t), await _();
|
|
3059
3071
|
}), S(async () => {
|
|
3060
|
-
Y(), await _(), v.value > 0 ? W(v.value, "center") : q(),
|
|
3072
|
+
Y(), await _(), v.value > 0 ? W(v.value, "center") : q(), P.syncBoundary(), F.syncBoundary(), typeof ResizeObserver < "u" ? (I = new ResizeObserver(() => {
|
|
3061
3073
|
Y();
|
|
3062
|
-
}), t.value &&
|
|
3074
|
+
}), t.value && I.observe(t.value)) : window.addEventListener("resize", Y);
|
|
3063
3075
|
}), x(() => {
|
|
3064
|
-
|
|
3076
|
+
I?.disconnect(), I = null, window.removeEventListener("resize", Y), de(), fe(), R &&= (cancelAnimationFrame(R), 0);
|
|
3065
3077
|
});
|
|
3066
|
-
function
|
|
3067
|
-
let t =
|
|
3078
|
+
function te() {
|
|
3079
|
+
let t = pr(e.items.value, {
|
|
3068
3080
|
columnCount: h.value,
|
|
3069
3081
|
columnWidth: g.value,
|
|
3070
|
-
gapX:
|
|
3071
|
-
gapY:
|
|
3072
|
-
bucketPx:
|
|
3082
|
+
gapX: zr,
|
|
3083
|
+
gapY: zr,
|
|
3084
|
+
bucketPx: Lr
|
|
3073
3085
|
});
|
|
3074
3086
|
o.value = t.positions.map((e) => ({
|
|
3075
|
-
x: e.x +
|
|
3076
|
-
y: e.y +
|
|
3087
|
+
x: e.x + Rr,
|
|
3088
|
+
y: e.y + Rr
|
|
3077
3089
|
})), s.value = t.heights, c.value = t.buckets, l.value = t.contentHeight, u.value = t.indexById;
|
|
3078
3090
|
}
|
|
3079
3091
|
function V() {
|
|
3080
|
-
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = ie(),
|
|
3081
|
-
|
|
3092
|
+
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = ie(), P.syncBoundary(), F.syncBoundary(), J(), !re() && (R ||= requestAnimationFrame(() => {
|
|
3093
|
+
R = 0, q();
|
|
3082
3094
|
})));
|
|
3083
3095
|
}
|
|
3084
3096
|
function H(t) {
|
|
3085
|
-
e.active.value && (
|
|
3097
|
+
e.active.value && (P.onWheel(t), F.onWheel(t), J());
|
|
3086
3098
|
}
|
|
3087
3099
|
function U(t) {
|
|
3088
3100
|
let n = e.items.value[t], r = n ? $(n) : "";
|
|
3089
3101
|
return {
|
|
3090
3102
|
height: `${s.value[t] ?? g.value}px`,
|
|
3091
3103
|
width: `${g.value}px`,
|
|
3092
|
-
transition: r ?
|
|
3093
|
-
transitionDelay: r ?
|
|
3094
|
-
transform:
|
|
3104
|
+
transition: r ? N.getCardTransition(r) : void 0,
|
|
3105
|
+
transitionDelay: r ? N.getCardTransitionDelay(r) : void 0,
|
|
3106
|
+
transform: N.getCardTransform(t)
|
|
3095
3107
|
};
|
|
3096
3108
|
}
|
|
3097
3109
|
function W(e, i) {
|
|
3098
3110
|
let a = t.value, c = o.value[e], l = s.value[e];
|
|
3099
3111
|
if (!a || !c || !l) return;
|
|
3100
3112
|
let u = a.scrollTop, d = Math.max(0, C.value - r.value);
|
|
3101
|
-
i === "center" ? u = c.y - (r.value - l) / 2 : c.y < a.scrollTop ? u = c.y -
|
|
3113
|
+
i === "center" ? u = c.y - (r.value - l) / 2 : c.y < a.scrollTop ? u = c.y - Rr : c.y + l > a.scrollTop + r.value && (u = c.y + l - r.value + Rr), a.scrollTop = Zr(u, 0, d), n.value = a.scrollTop, q();
|
|
3102
3114
|
}
|
|
3103
3115
|
function ne(e, r) {
|
|
3104
3116
|
let i = t.value, a = r.get(e), s = u.value.get(e), c = s == null ? null : o.value[s];
|
|
@@ -3112,11 +3124,11 @@ function Yr(e) {
|
|
|
3112
3124
|
n.value = 0;
|
|
3113
3125
|
return;
|
|
3114
3126
|
}
|
|
3115
|
-
e.scrollTop = 0, n.value = 0,
|
|
3127
|
+
e.scrollTop = 0, n.value = 0, P.syncBoundary(), F.syncBoundary();
|
|
3116
3128
|
}
|
|
3117
3129
|
function K(e) {
|
|
3118
|
-
|
|
3119
|
-
|
|
3130
|
+
fe(), p.value = !0, B = setTimeout(() => {
|
|
3131
|
+
B = null, p.value = !1;
|
|
3120
3132
|
}, Math.max(0, e));
|
|
3121
3133
|
}
|
|
3122
3134
|
function q() {
|
|
@@ -3131,39 +3143,39 @@ function Yr(e) {
|
|
|
3131
3143
|
e.setActiveIndex(i);
|
|
3132
3144
|
}
|
|
3133
3145
|
function re() {
|
|
3134
|
-
let t = n.value <=
|
|
3146
|
+
let t = n.value <= Ur, r = oe() <= Hr;
|
|
3135
3147
|
return t ? (e.setActiveIndex(0), !0) : r ? (e.setActiveIndex(Math.max(0, e.items.value.length - 1)), !0) : !1;
|
|
3136
3148
|
}
|
|
3137
3149
|
function J() {
|
|
3138
|
-
|
|
3150
|
+
P.maybeRequestPage(), F.maybeRequestPage();
|
|
3139
3151
|
}
|
|
3140
3152
|
function Y() {
|
|
3141
3153
|
r.value = ie(), a.value = ae();
|
|
3142
3154
|
}
|
|
3143
3155
|
function ie() {
|
|
3144
|
-
return
|
|
3156
|
+
return Ar(t.value, r.value);
|
|
3145
3157
|
}
|
|
3146
3158
|
function ae() {
|
|
3147
|
-
return
|
|
3159
|
+
return jr(t.value, a.value, Br);
|
|
3148
3160
|
}
|
|
3149
3161
|
function oe() {
|
|
3150
|
-
return
|
|
3162
|
+
return Mr(t.value, n.value, r.value, C.value);
|
|
3151
3163
|
}
|
|
3152
3164
|
function se() {
|
|
3153
3165
|
let e = Math.max(t.value?.scrollHeight ?? 0, C.value);
|
|
3154
3166
|
return Math.max(0, e - r.value);
|
|
3155
3167
|
}
|
|
3156
3168
|
function ce() {
|
|
3157
|
-
return
|
|
3169
|
+
return Nr(j.value, M.value);
|
|
3158
3170
|
}
|
|
3159
3171
|
function le(e) {
|
|
3160
|
-
return e.length ?
|
|
3172
|
+
return e.length ? pr(e, {
|
|
3161
3173
|
columnCount: h.value,
|
|
3162
3174
|
columnWidth: g.value,
|
|
3163
|
-
gapX:
|
|
3164
|
-
gapY:
|
|
3165
|
-
bucketPx:
|
|
3166
|
-
}).contentHeight +
|
|
3175
|
+
gapX: zr,
|
|
3176
|
+
gapY: zr,
|
|
3177
|
+
bucketPx: Lr
|
|
3178
|
+
}).contentHeight + Rr * 2 : 0;
|
|
3167
3179
|
}
|
|
3168
3180
|
function X(e) {
|
|
3169
3181
|
let t = /* @__PURE__ */ new Map();
|
|
@@ -3177,62 +3189,62 @@ function Yr(e) {
|
|
|
3177
3189
|
}
|
|
3178
3190
|
function ue() {
|
|
3179
3191
|
let t = e.commitPendingAppend.value;
|
|
3180
|
-
typeof t == "function" && (
|
|
3181
|
-
|
|
3192
|
+
typeof t == "function" && (z = setTimeout(async () => {
|
|
3193
|
+
z = null, ee = !0;
|
|
3182
3194
|
try {
|
|
3183
3195
|
if (!e.pendingAppendItems.value.length) return;
|
|
3184
3196
|
await t(), await _(), await _();
|
|
3185
3197
|
} finally {
|
|
3186
|
-
d.value = null,
|
|
3198
|
+
d.value = null, ee = !1;
|
|
3187
3199
|
}
|
|
3188
|
-
},
|
|
3200
|
+
}, Gr));
|
|
3189
3201
|
}
|
|
3190
3202
|
function de() {
|
|
3191
|
-
|
|
3203
|
+
z &&= (clearTimeout(z), null);
|
|
3192
3204
|
}
|
|
3193
|
-
function
|
|
3194
|
-
|
|
3205
|
+
function fe() {
|
|
3206
|
+
B && (clearTimeout(B), B = null, p.value = !1);
|
|
3195
3207
|
}
|
|
3196
3208
|
return {
|
|
3197
3209
|
columnWidth: g,
|
|
3198
3210
|
containerHeight: C,
|
|
3199
3211
|
getCardStyle: U,
|
|
3200
|
-
getLeavingCardStyle:
|
|
3212
|
+
getLeavingCardStyle: N.getLeavingCardStyle,
|
|
3201
3213
|
getScrollbarThumbStyle: ce,
|
|
3202
|
-
leavingItems:
|
|
3214
|
+
leavingItems: N.leavingItems,
|
|
3203
3215
|
nextBoundaryLoadProgress: T,
|
|
3204
3216
|
onScroll: V,
|
|
3205
3217
|
onWheel: H,
|
|
3206
3218
|
paginationLabel: E,
|
|
3207
|
-
previousBoundaryLoadProgress:
|
|
3219
|
+
previousBoundaryLoadProgress: O,
|
|
3208
3220
|
renderedItems: b,
|
|
3209
3221
|
resolvedActiveIndex: v,
|
|
3210
3222
|
scrollToIndex: W,
|
|
3211
|
-
showScrollbar:
|
|
3223
|
+
showScrollbar: A,
|
|
3212
3224
|
scrollViewportRef: t
|
|
3213
3225
|
};
|
|
3214
3226
|
}
|
|
3215
|
-
function
|
|
3227
|
+
function Zr(e, t, n) {
|
|
3216
3228
|
return Math.min(Math.max(e, t), n);
|
|
3217
3229
|
}
|
|
3218
|
-
function
|
|
3230
|
+
function Qr(e) {
|
|
3219
3231
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3220
3232
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3221
|
-
return t <= 0 ? 1 :
|
|
3233
|
+
return t <= 0 ? 1 : Zr(1 - (e.progressDistancePx - e.thresholdPx) / t, 0, 1);
|
|
3222
3234
|
}
|
|
3223
|
-
function
|
|
3235
|
+
function $r(e) {
|
|
3224
3236
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3225
3237
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3226
|
-
return t <= 0 ? 1 :
|
|
3238
|
+
return t <= 0 ? 1 : Zr(e.progressDistancePx / t, 0, 1);
|
|
3227
3239
|
}
|
|
3228
3240
|
//#endregion
|
|
3229
3241
|
//#region src/components/viewer-core/listCardAsset.ts
|
|
3230
|
-
function
|
|
3242
|
+
function ei(e) {
|
|
3231
3243
|
if (e) try {
|
|
3232
3244
|
e.removeAttribute("src"), e.src = "";
|
|
3233
3245
|
} catch {}
|
|
3234
3246
|
}
|
|
3235
|
-
function
|
|
3247
|
+
function ti(e) {
|
|
3236
3248
|
if (e) {
|
|
3237
3249
|
try {
|
|
3238
3250
|
e.currentTime = 0;
|
|
@@ -3243,12 +3255,12 @@ function ei(e) {
|
|
|
3243
3255
|
} catch {}
|
|
3244
3256
|
}
|
|
3245
3257
|
}
|
|
3246
|
-
function
|
|
3258
|
+
function ni(e, t) {
|
|
3247
3259
|
if (t) return e.bottom > t.top && e.top < t.bottom;
|
|
3248
3260
|
let n = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
3249
3261
|
return e.bottom > 0 && e.top < n;
|
|
3250
3262
|
}
|
|
3251
|
-
function
|
|
3263
|
+
function ri(e) {
|
|
3252
3264
|
if (!e) return null;
|
|
3253
3265
|
try {
|
|
3254
3266
|
return new URL(e, window.location.href).href;
|
|
@@ -3258,9 +3270,9 @@ function ni(e) {
|
|
|
3258
3270
|
}
|
|
3259
3271
|
//#endregion
|
|
3260
3272
|
//#region src/components/viewer-core/listPreview.ts
|
|
3261
|
-
var
|
|
3262
|
-
function
|
|
3263
|
-
let t =
|
|
3273
|
+
var ii = /\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i, ai = /\.(m4v|mov|mp4|mpeg|ogg|ogv|webm)(\?|#|$)/i, oi = /^(?:(?:https?:)?\/\/[^/]+)?\/api\/files\/[^/?#]+\/(?:preview|downloaded)(?:\?|#|$)/i;
|
|
3274
|
+
function si(e) {
|
|
3275
|
+
let t = ci(e), n = t?.url, r = lr(e), i = e.title?.trim() || Et(e.type);
|
|
3264
3276
|
return t?.mediaType === "video" && typeof n == "string" ? {
|
|
3265
3277
|
kind: "video",
|
|
3266
3278
|
url: n,
|
|
@@ -3279,13 +3291,13 @@ function oi(e) {
|
|
|
3279
3291
|
width: r.width,
|
|
3280
3292
|
height: r.height,
|
|
3281
3293
|
label: i
|
|
3282
|
-
} : typeof n == "string" &&
|
|
3294
|
+
} : typeof n == "string" && ui(e, n) ? {
|
|
3283
3295
|
kind: "video",
|
|
3284
3296
|
url: n,
|
|
3285
3297
|
width: r.width,
|
|
3286
3298
|
height: r.height,
|
|
3287
3299
|
label: i
|
|
3288
|
-
} : typeof n == "string" &&
|
|
3300
|
+
} : typeof n == "string" && li(e, n) ? {
|
|
3289
3301
|
kind: "image",
|
|
3290
3302
|
url: n,
|
|
3291
3303
|
width: r.width,
|
|
@@ -3299,31 +3311,31 @@ function oi(e) {
|
|
|
3299
3311
|
label: i
|
|
3300
3312
|
};
|
|
3301
3313
|
}
|
|
3302
|
-
function
|
|
3314
|
+
function ci(e) {
|
|
3303
3315
|
return e.preview?.url ? e.preview : typeof e.url != "string" || e.url.trim() === "" ? null : { url: e.url };
|
|
3304
3316
|
}
|
|
3305
|
-
function ci(e, t) {
|
|
3306
|
-
return e.type !== "image" || typeof t != "string" ? !1 : ri.test(t) || ui(t);
|
|
3307
|
-
}
|
|
3308
3317
|
function li(e, t) {
|
|
3309
|
-
return e.type !== "
|
|
3318
|
+
return e.type !== "image" || typeof t != "string" ? !1 : ii.test(t) || di(t);
|
|
3310
3319
|
}
|
|
3311
|
-
function ui(e) {
|
|
3312
|
-
return
|
|
3320
|
+
function ui(e, t) {
|
|
3321
|
+
return e.type !== "video" || typeof t != "string" ? !1 : ai.test(t) || fi(t);
|
|
3313
3322
|
}
|
|
3314
3323
|
function di(e) {
|
|
3315
|
-
return
|
|
3324
|
+
return /^(https?:\/\/|\/\/|\/(?!\/)|\.{1,2}\/|blob:|data:)/i.test(e);
|
|
3325
|
+
}
|
|
3326
|
+
function fi(e) {
|
|
3327
|
+
return oi.test(e) || /^blob:/i.test(e) || /^data:video\//i.test(e);
|
|
3316
3328
|
}
|
|
3317
3329
|
//#endregion
|
|
3318
3330
|
//#region src/components/viewer-core/useListCardHealthCheck.ts
|
|
3319
|
-
function
|
|
3331
|
+
function pi(e) {
|
|
3320
3332
|
let t = D(null), n = i(() => {
|
|
3321
|
-
let t = typeof e.item.value.healthCheck?.url == "string" ?
|
|
3333
|
+
let t = typeof e.item.value.healthCheck?.url == "string" ? ri(e.item.value.healthCheck.url) : null;
|
|
3322
3334
|
return !t || t === e.attachedAssetUrl.value ? null : t;
|
|
3323
3335
|
}), r = null, a = 0, o = /* @__PURE__ */ new Map();
|
|
3324
|
-
|
|
3336
|
+
L(n, (e, n) => {
|
|
3325
3337
|
e !== n && (t.value = null, l(), a += 1);
|
|
3326
|
-
}),
|
|
3338
|
+
}), L([
|
|
3327
3339
|
n,
|
|
3328
3340
|
e.surfaceActive,
|
|
3329
3341
|
e.isInView,
|
|
@@ -3360,7 +3372,7 @@ function fi(e) {
|
|
|
3360
3372
|
return;
|
|
3361
3373
|
}
|
|
3362
3374
|
let i = ++a;
|
|
3363
|
-
|
|
3375
|
+
rn(r).then((s) => {
|
|
3364
3376
|
if (!(i !== a || n.value !== r)) {
|
|
3365
3377
|
if (o.set(r, s ?? null), !s) {
|
|
3366
3378
|
t.value = null;
|
|
@@ -3396,14 +3408,14 @@ function fi(e) {
|
|
|
3396
3408
|
}
|
|
3397
3409
|
//#endregion
|
|
3398
3410
|
//#region src/components/ListCard.vue?vue&type=script&setup=true&lang.ts
|
|
3399
|
-
var
|
|
3411
|
+
var mi = ["aria-label"], hi = {
|
|
3400
3412
|
key: 0,
|
|
3401
3413
|
"data-testid": "vibe-list-card-spinner",
|
|
3402
3414
|
class: "pointer-events-none absolute inset-0 z-[4] grid place-items-center bg-black/18"
|
|
3403
|
-
},
|
|
3415
|
+
}, gi = { 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]" }, _i = ["src", "alt"], vi = ["src"], yi = ["data-kind"], bi = { class: "grid justify-items-center gap-3 px-4 text-center" }, xi = { class: "text-[0.68rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, Si = {
|
|
3404
3416
|
key: 4,
|
|
3405
3417
|
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))]"
|
|
3406
|
-
},
|
|
3418
|
+
}, Ci = { class: "inline-flex h-14 w-14 items-center justify-center border border-white/16 bg-black/20" }, wi = { class: "pointer-events-none absolute inset-0 z-[3]" }, Ti = /* @__PURE__ */ d({
|
|
3407
3419
|
__name: "ListCard",
|
|
3408
3420
|
props: {
|
|
3409
3421
|
active: {
|
|
@@ -3427,7 +3439,7 @@ var pi = ["aria-label"], mi = {
|
|
|
3427
3439
|
},
|
|
3428
3440
|
emits: ["open"],
|
|
3429
3441
|
setup(e, { emit: t }) {
|
|
3430
|
-
let n = e, r = t, l = i(() =>
|
|
3442
|
+
let n = e, r = t, l = i(() => si(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), M = i(() => l.value.kind === "image" && !!E.value), P = i(() => l.value.kind === "video" && !!E.value), F = pi({
|
|
3431
3443
|
attachedAssetUrl: E,
|
|
3432
3444
|
getPriority: X,
|
|
3433
3445
|
isInView: d,
|
|
@@ -3436,19 +3448,19 @@ var pi = ["aria-label"], mi = {
|
|
|
3436
3448
|
loadErrorKind: g,
|
|
3437
3449
|
reportAssetError: n.reportAssetError,
|
|
3438
3450
|
surfaceActive: i(() => n.surfaceActive)
|
|
3439
|
-
}),
|
|
3440
|
-
|
|
3451
|
+
}), I = i(() => F.errorKind.value ?? g.value), R = i(() => !!I.value), z = i(() => tn(I.value)), B = i(() => O.value && !g.value && (!T.value || !m.value)), te = null, V = null, H = /* @__PURE__ */ new Set();
|
|
3452
|
+
L([E, () => l.value.kind], () => {
|
|
3441
3453
|
let e = l.value.kind === "fallback";
|
|
3442
3454
|
m.value = e, h.value = !1, g.value = null, e && (T.value = !0);
|
|
3443
|
-
}),
|
|
3455
|
+
}), L(O, () => {
|
|
3444
3456
|
K();
|
|
3445
|
-
}),
|
|
3457
|
+
}), L([
|
|
3446
3458
|
d,
|
|
3447
3459
|
m,
|
|
3448
3460
|
E
|
|
3449
3461
|
], () => {
|
|
3450
3462
|
q();
|
|
3451
|
-
}),
|
|
3463
|
+
}), L(() => n.surfaceActive, (e) => {
|
|
3452
3464
|
if (!e) {
|
|
3453
3465
|
J(), q();
|
|
3454
3466
|
return;
|
|
@@ -3461,14 +3473,14 @@ var pi = ["aria-label"], mi = {
|
|
|
3461
3473
|
b.value = null, d.value = !0, K();
|
|
3462
3474
|
return;
|
|
3463
3475
|
}
|
|
3464
|
-
b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"),
|
|
3476
|
+
b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"), te = new IntersectionObserver((e) => {
|
|
3465
3477
|
for (let t of e) t.target === y.value && (n.surfaceActive && Y(t), K(), q());
|
|
3466
3478
|
}, {
|
|
3467
3479
|
root: b.value,
|
|
3468
3480
|
threshold: [0, 1]
|
|
3469
|
-
}),
|
|
3481
|
+
}), te.observe(y.value);
|
|
3470
3482
|
}), x(() => {
|
|
3471
|
-
re(),
|
|
3483
|
+
re(), F.release(), te?.disconnect(), te = null;
|
|
3472
3484
|
});
|
|
3473
3485
|
function U() {
|
|
3474
3486
|
ue(_.value) && (m.value = !0, g.value = null, ie(E.value ?? n.item.url), J());
|
|
@@ -3477,7 +3489,7 @@ var pi = ["aria-label"], mi = {
|
|
|
3477
3489
|
if (!ue(_.value)) return;
|
|
3478
3490
|
let e = E.value ?? n.item.url;
|
|
3479
3491
|
m.value = !1, g.value = "generic";
|
|
3480
|
-
let t = await
|
|
3492
|
+
let t = await nn(e);
|
|
3481
3493
|
g.value = t, n.reportAssetError?.({
|
|
3482
3494
|
item: n.item,
|
|
3483
3495
|
occurrenceKey: $(n.item),
|
|
@@ -3501,7 +3513,7 @@ var pi = ["aria-label"], mi = {
|
|
|
3501
3513
|
J();
|
|
3502
3514
|
return;
|
|
3503
3515
|
}
|
|
3504
|
-
if (!
|
|
3516
|
+
if (!O.value) {
|
|
3505
3517
|
re();
|
|
3506
3518
|
return;
|
|
3507
3519
|
}
|
|
@@ -3521,12 +3533,12 @@ var pi = ["aria-label"], mi = {
|
|
|
3521
3533
|
function q() {
|
|
3522
3534
|
let e = C.value;
|
|
3523
3535
|
if (!(!e || l.value.kind !== "video")) {
|
|
3524
|
-
if (
|
|
3536
|
+
if (I.value) {
|
|
3525
3537
|
e.pause();
|
|
3526
3538
|
return;
|
|
3527
3539
|
}
|
|
3528
3540
|
if (E.value && d.value && m.value) {
|
|
3529
|
-
e.muted = !0, e.loop = !0, e.playsInline = !0,
|
|
3541
|
+
e.muted = !0, e.loop = !0, e.playsInline = !0, sn(e);
|
|
3530
3542
|
return;
|
|
3531
3543
|
}
|
|
3532
3544
|
try {
|
|
@@ -3547,7 +3559,7 @@ var pi = ["aria-label"], mi = {
|
|
|
3547
3559
|
d.value = !0;
|
|
3548
3560
|
return;
|
|
3549
3561
|
}
|
|
3550
|
-
d.value =
|
|
3562
|
+
d.value = ni(e?.boundingClientRect ?? t.getBoundingClientRect(), e?.rootBounds ?? b.value?.getBoundingClientRect() ?? null);
|
|
3551
3563
|
}
|
|
3552
3564
|
function ie(e) {
|
|
3553
3565
|
if (!e) return;
|
|
@@ -3560,17 +3572,17 @@ var pi = ["aria-label"], mi = {
|
|
|
3560
3572
|
}));
|
|
3561
3573
|
}
|
|
3562
3574
|
function ae() {
|
|
3563
|
-
if (!
|
|
3575
|
+
if (!z.value || F.retry()) return;
|
|
3564
3576
|
let e = $(n.item);
|
|
3565
3577
|
H.forEach((t) => {
|
|
3566
3578
|
t.startsWith(`${e}|`) && H.delete(t);
|
|
3567
3579
|
}), g.value = null, m.value = !1, T.value = !1, J(), K();
|
|
3568
3580
|
}
|
|
3569
3581
|
function se() {
|
|
3570
|
-
|
|
3582
|
+
ei(_.value);
|
|
3571
3583
|
}
|
|
3572
3584
|
function ce() {
|
|
3573
|
-
|
|
3585
|
+
ti(C.value);
|
|
3574
3586
|
}
|
|
3575
3587
|
function X() {
|
|
3576
3588
|
let e = y.value;
|
|
@@ -3584,16 +3596,16 @@ var pi = ["aria-label"], mi = {
|
|
|
3584
3596
|
return Math.abs((t.top + t.bottom) / 2 - n);
|
|
3585
3597
|
}
|
|
3586
3598
|
function ue(e) {
|
|
3587
|
-
let t =
|
|
3588
|
-
return !e || !t ? !1 :
|
|
3599
|
+
let t = ri(E.value);
|
|
3600
|
+
return !e || !t ? !1 : ri("currentSrc" in e && e.currentSrc || e.getAttribute("src")) === t;
|
|
3589
3601
|
}
|
|
3590
3602
|
function de() {
|
|
3591
3603
|
r("open");
|
|
3592
3604
|
}
|
|
3593
|
-
function
|
|
3605
|
+
function fe() {
|
|
3594
3606
|
f.value = !0;
|
|
3595
3607
|
}
|
|
3596
|
-
function
|
|
3608
|
+
function Z(e) {
|
|
3597
3609
|
let t = e.relatedTarget;
|
|
3598
3610
|
y.value && t instanceof Node && y.value.contains(t) || (f.value = !1);
|
|
3599
3611
|
}
|
|
@@ -3602,8 +3614,8 @@ var pi = ["aria-label"], mi = {
|
|
|
3602
3614
|
ref: y,
|
|
3603
3615
|
"data-testid": "vibe-list-card-inner",
|
|
3604
3616
|
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"]),
|
|
3605
|
-
onFocusin:
|
|
3606
|
-
onFocusout:
|
|
3617
|
+
onFocusin: fe,
|
|
3618
|
+
onFocusout: Z,
|
|
3607
3619
|
onPointerenter: t[0] ||= (e) => p.value = !0,
|
|
3608
3620
|
onPointerleave: t[1] ||= (e) => p.value = !1
|
|
3609
3621
|
}, [
|
|
@@ -3613,12 +3625,12 @@ var pi = ["aria-label"], mi = {
|
|
|
3613
3625
|
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]",
|
|
3614
3626
|
"aria-label": n.item.title || `Open item ${n.index + 1}`,
|
|
3615
3627
|
onClick: de
|
|
3616
|
-
}, null, 8,
|
|
3617
|
-
|
|
3628
|
+
}, null, 8, mi),
|
|
3629
|
+
B.value ? (w(), s("div", hi, [c("span", gi, [u(N(oe), {
|
|
3618
3630
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
3619
3631
|
"aria-hidden": "true"
|
|
3620
3632
|
})])])) : o("", !0),
|
|
3621
|
-
|
|
3633
|
+
M.value && E.value && !R.value ? (w(), s("img", {
|
|
3622
3634
|
key: 1,
|
|
3623
3635
|
ref_key: "imageRef",
|
|
3624
3636
|
ref: _,
|
|
@@ -3628,7 +3640,7 @@ var pi = ["aria-label"], mi = {
|
|
|
3628
3640
|
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"]),
|
|
3629
3641
|
onLoad: U,
|
|
3630
3642
|
onError: W
|
|
3631
|
-
}, null, 42,
|
|
3643
|
+
}, null, 42, _i)) : P.value && E.value && !R.value ? (w(), s("video", {
|
|
3632
3644
|
key: 2,
|
|
3633
3645
|
ref_key: "videoRef",
|
|
3634
3646
|
ref: C,
|
|
@@ -3644,31 +3656,31 @@ var pi = ["aria-label"], mi = {
|
|
|
3644
3656
|
onPlaying: ne,
|
|
3645
3657
|
onStalled: G,
|
|
3646
3658
|
onWaiting: G
|
|
3647
|
-
}, null, 42,
|
|
3659
|
+
}, null, 42, vi)) : R.value ? (w(), s("div", {
|
|
3648
3660
|
key: 3,
|
|
3649
3661
|
"data-testid": "vibe-list-card-error",
|
|
3650
|
-
"data-kind":
|
|
3662
|
+
"data-kind": I.value,
|
|
3651
3663
|
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))]"
|
|
3652
|
-
}, [c("div",
|
|
3653
|
-
u(
|
|
3664
|
+
}, [c("div", bi, [
|
|
3665
|
+
u(N(le), {
|
|
3654
3666
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
3655
3667
|
"aria-hidden": "true"
|
|
3656
3668
|
}),
|
|
3657
|
-
c("span",
|
|
3658
|
-
|
|
3669
|
+
c("span", xi, j(N(en)(I.value)), 1),
|
|
3670
|
+
z.value ? (w(), s("button", {
|
|
3659
3671
|
key: 0,
|
|
3660
3672
|
type: "button",
|
|
3661
3673
|
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",
|
|
3662
|
-
onClick:
|
|
3674
|
+
onClick: ee(ae, ["stop"])
|
|
3663
3675
|
}, " Retry ")) : o("", !0)
|
|
3664
|
-
])], 8,
|
|
3665
|
-
icon:
|
|
3676
|
+
])], 8, yi)) : (w(), s("div", Si, [c("div", Ci, [k(e.$slots, "item-icon", {
|
|
3677
|
+
icon: N(Tt)(n.item.type),
|
|
3666
3678
|
item: n.item
|
|
3667
|
-
}, () => [(w(), a(
|
|
3679
|
+
}, () => [(w(), a(A(N(Tt)(n.item.type)), {
|
|
3668
3680
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
3669
3681
|
"aria-hidden": "true"
|
|
3670
3682
|
}))])])])),
|
|
3671
|
-
c("div",
|
|
3683
|
+
c("div", wi, [k(e.$slots, "grid-item-overlay", {
|
|
3672
3684
|
active: n.active,
|
|
3673
3685
|
focused: f.value,
|
|
3674
3686
|
hovered: p.value,
|
|
@@ -3678,24 +3690,24 @@ var pi = ["aria-label"], mi = {
|
|
|
3678
3690
|
})])
|
|
3679
3691
|
], 34));
|
|
3680
3692
|
}
|
|
3681
|
-
}),
|
|
3693
|
+
}), Ei = { 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)]" }, Di = { class: "pointer-events-none absolute inset-x-0 top-0 z-[2] flex justify-end p-6" }, Oi = {
|
|
3682
3694
|
"data-testid": "vibe-pagination",
|
|
3683
3695
|
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]"
|
|
3684
|
-
},
|
|
3696
|
+
}, ki = { class: "whitespace-nowrap" }, Ai = {
|
|
3685
3697
|
key: 0,
|
|
3686
3698
|
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3"
|
|
3687
|
-
},
|
|
3699
|
+
}, ji = [
|
|
3688
3700
|
"data-active",
|
|
3689
3701
|
"data-index",
|
|
3690
3702
|
"data-item-id",
|
|
3691
3703
|
"data-occurrence-key"
|
|
3692
|
-
],
|
|
3704
|
+
], Mi = ["data-item-id"], Ni = {
|
|
3693
3705
|
key: 0,
|
|
3694
3706
|
class: "pointer-events-none absolute inset-y-0 right-0 z-[3] hidden w-8 min-[1024px]:block"
|
|
3695
|
-
},
|
|
3707
|
+
}, Pi = {
|
|
3696
3708
|
key: 1,
|
|
3697
3709
|
class: "pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6"
|
|
3698
|
-
},
|
|
3710
|
+
}, Fi = { class: "mx-auto flex w-full justify-center" }, Ii = /* @__PURE__ */ d({
|
|
3699
3711
|
__name: "ListSurface",
|
|
3700
3712
|
props: {
|
|
3701
3713
|
active: {
|
|
@@ -3756,27 +3768,27 @@ var pi = ["aria-label"], mi = {
|
|
|
3756
3768
|
"update:activeIndex"
|
|
3757
3769
|
],
|
|
3758
3770
|
setup(e, { emit: n }) {
|
|
3759
|
-
let r = e, d =
|
|
3760
|
-
active:
|
|
3761
|
-
allowExhaustedNextPageRefresh:
|
|
3762
|
-
items:
|
|
3763
|
-
activeIndex:
|
|
3764
|
-
loading:
|
|
3765
|
-
hasNextPage:
|
|
3766
|
-
hasPreviousPage:
|
|
3767
|
-
paginationDetail:
|
|
3768
|
-
pendingAppendItems:
|
|
3769
|
-
commitPendingAppend:
|
|
3770
|
-
requestNextPage:
|
|
3771
|
-
requestPreviousPage:
|
|
3771
|
+
let r = e, d = F(), f = n, p = Xr({
|
|
3772
|
+
active: M(r, "active"),
|
|
3773
|
+
allowExhaustedNextPageRefresh: M(r, "allowExhaustedNextPageRefresh"),
|
|
3774
|
+
items: M(r, "items"),
|
|
3775
|
+
activeIndex: M(r, "activeIndex"),
|
|
3776
|
+
loading: M(r, "loading"),
|
|
3777
|
+
hasNextPage: M(r, "hasNextPage"),
|
|
3778
|
+
hasPreviousPage: M(r, "hasPreviousPage"),
|
|
3779
|
+
paginationDetail: M(r, "paginationDetail"),
|
|
3780
|
+
pendingAppendItems: M(r, "pendingAppendItems"),
|
|
3781
|
+
commitPendingAppend: M(r, "commitPendingAppend"),
|
|
3782
|
+
requestNextPage: M(r, "requestNextPage"),
|
|
3783
|
+
requestPreviousPage: M(r, "requestPreviousPage"),
|
|
3772
3784
|
setActiveIndex(e) {
|
|
3773
3785
|
f("update:activeIndex", e);
|
|
3774
3786
|
}
|
|
3775
|
-
}), m = i(() =>
|
|
3787
|
+
}), m = i(() => Gt({
|
|
3776
3788
|
itemCount: r.items.length,
|
|
3777
3789
|
loading: r.loading,
|
|
3778
3790
|
phase: r.phase
|
|
3779
|
-
})), h = i(() =>
|
|
3791
|
+
})), h = i(() => Kt({
|
|
3780
3792
|
errorMessage: r.errorMessage,
|
|
3781
3793
|
hasItems: r.items.length > 0,
|
|
3782
3794
|
hasNextPage: r.hasNextPage,
|
|
@@ -3789,42 +3801,42 @@ var pi = ["aria-label"], mi = {
|
|
|
3789
3801
|
message: h.value.message,
|
|
3790
3802
|
paginationDetail: r.paginationDetail,
|
|
3791
3803
|
total: r.items.length
|
|
3792
|
-
}), x = i(() => !_.value || !d["grid-status"] ? [] : d["grid-status"](_.value)), S = i(() =>
|
|
3793
|
-
emptyStateMode:
|
|
3804
|
+
}), x = i(() => !_.value || !d["grid-status"] ? [] : d["grid-status"](_.value)), S = i(() => Bt(x.value)), C = i(() => r.items.length + p.leavingItems.value.length), { emptyStateProps: T, showBadgeEmptyState: E, showCustomEmptyState: D, showInlineEmptyState: A } = Ut({
|
|
3805
|
+
emptyStateMode: M(r, "emptyStateMode"),
|
|
3794
3806
|
itemCount: C,
|
|
3795
|
-
loading:
|
|
3807
|
+
loading: M(r, "loading"),
|
|
3796
3808
|
renderSlot: d["empty-state"],
|
|
3797
3809
|
surface: "grid"
|
|
3798
3810
|
});
|
|
3799
|
-
return
|
|
3811
|
+
return L([p.nextBoundaryLoadProgress, p.previousBoundaryLoadProgress], ([e, t]) => {
|
|
3800
3812
|
f("boundary-load-progress", {
|
|
3801
3813
|
nextBoundaryLoadProgress: e,
|
|
3802
3814
|
previousBoundaryLoadProgress: t
|
|
3803
3815
|
});
|
|
3804
|
-
}, { immediate: !0 }), (e, n) => (w(), s("div",
|
|
3805
|
-
c("div",
|
|
3816
|
+
}, { immediate: !0 }), (e, n) => (w(), s("div", Ei, [
|
|
3817
|
+
c("div", Di, [c("span", Oi, [c("span", ki, j(N(p).paginationLabel.value), 1), r.paginationDetail ? (w(), s("span", Ai, j(r.paginationDetail), 1)) : o("", !0)])]),
|
|
3806
3818
|
c("div", {
|
|
3807
|
-
ref:
|
|
3819
|
+
ref: N(p).scrollViewportRef,
|
|
3808
3820
|
"data-testid": "vibe-list-scroll",
|
|
3809
3821
|
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",
|
|
3810
|
-
onScroll: n[0] ||= (...e) =>
|
|
3811
|
-
onWheel: n[1] ||= (...e) =>
|
|
3822
|
+
onScroll: n[0] ||= (...e) => N(p).onScroll && N(p).onScroll(...e),
|
|
3823
|
+
onWheel: n[1] ||= (...e) => N(p).onWheel && N(p).onWheel(...e)
|
|
3812
3824
|
}, [c("div", {
|
|
3813
3825
|
"data-testid": "vibe-list-content",
|
|
3814
3826
|
class: "relative",
|
|
3815
|
-
style: b({ height: `${
|
|
3827
|
+
style: b({ height: `${N(p).containerHeight.value}px` })
|
|
3816
3828
|
}, [
|
|
3817
|
-
(w(!0), s(t, null,
|
|
3818
|
-
key:
|
|
3829
|
+
(w(!0), s(t, null, O(N(p).renderedItems.value, ({ item: t, index: n }) => (w(), s("article", {
|
|
3830
|
+
key: N($)(t),
|
|
3819
3831
|
"data-testid": "vibe-list-card",
|
|
3820
|
-
"data-active": n ===
|
|
3832
|
+
"data-active": n === N(p).resolvedActiveIndex.value ? "true" : "false",
|
|
3821
3833
|
"data-index": n,
|
|
3822
3834
|
"data-item-id": t.id,
|
|
3823
|
-
"data-occurrence-key":
|
|
3835
|
+
"data-occurrence-key": N($)(t),
|
|
3824
3836
|
class: "absolute will-change-transform",
|
|
3825
|
-
style: b(
|
|
3826
|
-
}, [u(
|
|
3827
|
-
active: n ===
|
|
3837
|
+
style: b(N(p).getCardStyle(n))
|
|
3838
|
+
}, [u(Ti, {
|
|
3839
|
+
active: n === N(p).resolvedActiveIndex.value,
|
|
3828
3840
|
index: n,
|
|
3829
3841
|
item: t,
|
|
3830
3842
|
"report-asset-error": r.reportAssetError,
|
|
@@ -3833,11 +3845,11 @@ var pi = ["aria-label"], mi = {
|
|
|
3833
3845
|
onOpen: (e) => f("open-fullscreen", n)
|
|
3834
3846
|
}, l({ _: 2 }, [d["grid-item-overlay"] ? {
|
|
3835
3847
|
name: "grid-item-overlay",
|
|
3836
|
-
fn:
|
|
3848
|
+
fn: z((t) => [k(e.$slots, "grid-item-overlay", g({ ref_for: !0 }, t))]),
|
|
3837
3849
|
key: "0"
|
|
3838
3850
|
} : void 0, d["item-icon"] ? {
|
|
3839
3851
|
name: "item-icon",
|
|
3840
|
-
fn:
|
|
3852
|
+
fn: z((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
|
|
3841
3853
|
key: "1"
|
|
3842
3854
|
} : void 0]), 1032, [
|
|
3843
3855
|
"active",
|
|
@@ -3847,14 +3859,14 @@ var pi = ["aria-label"], mi = {
|
|
|
3847
3859
|
"report-asset-load",
|
|
3848
3860
|
"surface-active",
|
|
3849
3861
|
"onOpen"
|
|
3850
|
-
])], 12,
|
|
3851
|
-
(w(!0), s(t, null,
|
|
3852
|
-
key: `leaving-${
|
|
3862
|
+
])], 12, ji))), 128)),
|
|
3863
|
+
(w(!0), s(t, null, O(N(p).leavingItems.value, (t) => (w(), s("article", {
|
|
3864
|
+
key: `leaving-${N($)(t.item)}`,
|
|
3853
3865
|
"data-testid": "vibe-list-card-leaving",
|
|
3854
3866
|
"data-item-id": t.item.id,
|
|
3855
3867
|
class: "pointer-events-none absolute z-[2] will-change-[opacity,transform]",
|
|
3856
|
-
style: b(
|
|
3857
|
-
}, [u(
|
|
3868
|
+
style: b(N(p).getLeavingCardStyle(t.item))
|
|
3869
|
+
}, [u(Ti, {
|
|
3858
3870
|
active: !1,
|
|
3859
3871
|
index: -1,
|
|
3860
3872
|
item: t.item,
|
|
@@ -3863,20 +3875,20 @@ var pi = ["aria-label"], mi = {
|
|
|
3863
3875
|
"surface-active": !1
|
|
3864
3876
|
}, l({ _: 2 }, [d["item-icon"] ? {
|
|
3865
3877
|
name: "item-icon",
|
|
3866
|
-
fn:
|
|
3878
|
+
fn: z((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
|
|
3867
3879
|
key: "0"
|
|
3868
3880
|
} : void 0]), 1032, [
|
|
3869
3881
|
"item",
|
|
3870
3882
|
"report-asset-error",
|
|
3871
3883
|
"report-asset-load"
|
|
3872
|
-
])], 12,
|
|
3873
|
-
|
|
3884
|
+
])], 12, Mi))), 128)),
|
|
3885
|
+
N(A) && N(T) ? (w(), a(wn, {
|
|
3874
3886
|
key: 0,
|
|
3875
|
-
message:
|
|
3876
|
-
mode:
|
|
3877
|
-
surface:
|
|
3887
|
+
message: N(T).message,
|
|
3888
|
+
mode: N(T).mode,
|
|
3889
|
+
surface: N(T).surface
|
|
3878
3890
|
}, {
|
|
3879
|
-
default:
|
|
3891
|
+
default: z(() => [N(D) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(T)))) : o("", !0)]),
|
|
3880
3892
|
_: 3
|
|
3881
3893
|
}, 8, [
|
|
3882
3894
|
"message",
|
|
@@ -3884,28 +3896,28 @@ var pi = ["aria-label"], mi = {
|
|
|
3884
3896
|
"surface"
|
|
3885
3897
|
])) : o("", !0)
|
|
3886
3898
|
], 4)], 544),
|
|
3887
|
-
|
|
3899
|
+
N(p).showScrollbar.value ? (w(), s("div", Ni, [n[2] ||= c("div", { class: "absolute bottom-6 right-3 top-6 w-px bg-white/8" }, null, -1), c("div", {
|
|
3888
3900
|
"data-testid": "vibe-list-scrollbar-thumb",
|
|
3889
3901
|
class: v(["absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out", r.loading ? "bg-white/52" : "bg-white/34"]),
|
|
3890
|
-
style: b(
|
|
3902
|
+
style: b(N(p).getScrollbarThumbStyle())
|
|
3891
3903
|
}, null, 6)])) : o("", !0),
|
|
3892
|
-
d["grid-footer"] ? (w(), s("div",
|
|
3904
|
+
d["grid-footer"] ? (w(), s("div", Pi, [c("div", Fi, [k(e.$slots, "grid-footer")])])) : o("", !0),
|
|
3893
3905
|
_.value ? (w(), s("div", {
|
|
3894
3906
|
key: 2,
|
|
3895
3907
|
class: v(["pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6", d["grid-footer"] ? "pb-24" : "pb-6"])
|
|
3896
|
-
}, [S.value ?
|
|
3908
|
+
}, [S.value ? k(e.$slots, "grid-status", y(g({ key: 0 }, _.value))) : (w(), s("span", {
|
|
3897
3909
|
key: 1,
|
|
3898
3910
|
"data-testid": "vibe-grid-status-badge",
|
|
3899
3911
|
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]", _.value.kind === "end" ? "border-amber-300/35 text-amber-200" : _.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
|
|
3900
|
-
},
|
|
3901
|
-
|
|
3912
|
+
}, j(_.value.message), 3))], 2)) : o("", !0),
|
|
3913
|
+
N(E) && N(T) ? (w(), a(wn, {
|
|
3902
3914
|
key: 3,
|
|
3903
3915
|
class: v(["z-[3]", d["grid-footer"] ? "pb-24" : "pb-6"]),
|
|
3904
|
-
message:
|
|
3905
|
-
mode:
|
|
3906
|
-
surface:
|
|
3916
|
+
message: N(T).message,
|
|
3917
|
+
mode: N(T).mode,
|
|
3918
|
+
surface: N(T).surface
|
|
3907
3919
|
}, {
|
|
3908
|
-
default:
|
|
3920
|
+
default: z(() => [N(D) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(T)))) : o("", !0)]),
|
|
3909
3921
|
_: 3
|
|
3910
3922
|
}, 8, [
|
|
3911
3923
|
"class",
|
|
@@ -3915,13 +3927,13 @@ var pi = ["aria-label"], mi = {
|
|
|
3915
3927
|
])) : o("", !0)
|
|
3916
3928
|
]));
|
|
3917
3929
|
}
|
|
3918
|
-
}),
|
|
3930
|
+
}), Li = ["data-surface-mode"], Ri = {
|
|
3919
3931
|
key: 1,
|
|
3920
3932
|
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"
|
|
3921
|
-
},
|
|
3933
|
+
}, zi = ["data-visible", "inert"], Bi = ["data-visible", "inert"], Vi = {
|
|
3922
3934
|
key: 3,
|
|
3923
3935
|
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"
|
|
3924
|
-
},
|
|
3936
|
+
}, Hi = /* @__PURE__ */ d({
|
|
3925
3937
|
name: "VibeLayout",
|
|
3926
3938
|
__name: "Layout",
|
|
3927
3939
|
props: {
|
|
@@ -3946,9 +3958,9 @@ var pi = ["aria-label"], mi = {
|
|
|
3946
3958
|
"update:surfaceMode"
|
|
3947
3959
|
],
|
|
3948
3960
|
setup(e, { expose: n, emit: i }) {
|
|
3949
|
-
let d = e, f =
|
|
3961
|
+
let d = e, f = F(), m = i, h = Ye(d, m), g = fe((e) => {
|
|
3950
3962
|
m("asset-errors", e);
|
|
3951
|
-
}), _ =
|
|
3963
|
+
}), _ = Z((e) => {
|
|
3952
3964
|
m("asset-loads", e);
|
|
3953
3965
|
});
|
|
3954
3966
|
return x(() => {
|
|
@@ -3968,14 +3980,14 @@ var pi = ["aria-label"], mi = {
|
|
|
3968
3980
|
unlockPageLoading: h.unlockPageLoading
|
|
3969
3981
|
}), (e, n) => (w(), s("section", {
|
|
3970
3982
|
"data-testid": "vibe",
|
|
3971
|
-
"data-surface-mode":
|
|
3983
|
+
"data-surface-mode": N(h).surfaceMode.value,
|
|
3972
3984
|
class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]"
|
|
3973
|
-
}, [
|
|
3985
|
+
}, [N(h).canRetryInitialLoad.value ? (w(), s("button", {
|
|
3974
3986
|
key: 0,
|
|
3975
3987
|
type: "button",
|
|
3976
3988
|
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",
|
|
3977
|
-
onClick: n[0] ||= (...e) =>
|
|
3978
|
-
}, " Retry ")) :
|
|
3989
|
+
onClick: n[0] ||= (...e) => N(h).retryInitialLoad && N(h).retryInitialLoad(...e)
|
|
3990
|
+
}, " Retry ")) : N(h).errorMessage.value && N(h).items.value.length > 0 ? (w(), s("div", Ri, j(N(h).errorMessage.value), 1)) : o("", !0), N(h).isDesktop.value ? (w(), s(t, { key: 2 }, [u(r, {
|
|
3979
3991
|
appear: "",
|
|
3980
3992
|
"enter-active-class": "transition-[opacity,transform] duration-300 ease-out",
|
|
3981
3993
|
"enter-from-class": "translate-y-3 opacity-0",
|
|
@@ -3984,57 +3996,57 @@ var pi = ["aria-label"], mi = {
|
|
|
3984
3996
|
"leave-from-class": "translate-y-0 opacity-100",
|
|
3985
3997
|
"leave-to-class": "translate-y-3 opacity-0"
|
|
3986
3998
|
}, {
|
|
3987
|
-
default:
|
|
3999
|
+
default: z(() => [B(c("div", {
|
|
3988
4000
|
"data-testid": "vibe-list-surface",
|
|
3989
|
-
"data-visible":
|
|
3990
|
-
inert:
|
|
4001
|
+
"data-visible": N(h).surfaceMode.value === "list" ? "true" : "false",
|
|
4002
|
+
inert: N(h).surfaceMode.value !== "list",
|
|
3991
4003
|
class: "absolute inset-0 z-[2]"
|
|
3992
|
-
}, [u(
|
|
3993
|
-
active:
|
|
3994
|
-
"allow-exhausted-next-page-refresh":
|
|
3995
|
-
items:
|
|
3996
|
-
"active-index":
|
|
3997
|
-
"error-message":
|
|
3998
|
-
loading:
|
|
3999
|
-
"has-next-page":
|
|
4000
|
-
"has-previous-page":
|
|
4001
|
-
"pending-append-items":
|
|
4002
|
-
phase:
|
|
4003
|
-
"commit-pending-append":
|
|
4004
|
-
"pagination-detail":
|
|
4005
|
-
"report-asset-error":
|
|
4006
|
-
"report-asset-load":
|
|
4007
|
-
"request-next-page":
|
|
4008
|
-
"request-previous-page":
|
|
4004
|
+
}, [u(Ii, {
|
|
4005
|
+
active: N(h).surfaceMode.value === "list",
|
|
4006
|
+
"allow-exhausted-next-page-refresh": N(h).canRefreshExhaustedNextPage.value,
|
|
4007
|
+
items: N(h).items.value,
|
|
4008
|
+
"active-index": N(h).activeIndex.value,
|
|
4009
|
+
"error-message": N(h).errorMessage.value,
|
|
4010
|
+
loading: N(h).loading.value,
|
|
4011
|
+
"has-next-page": N(h).hasNextPage.value,
|
|
4012
|
+
"has-previous-page": N(h).hasPreviousPage.value,
|
|
4013
|
+
"pending-append-items": N(h).pendingAppendItems.value,
|
|
4014
|
+
phase: N(h).phase.value,
|
|
4015
|
+
"commit-pending-append": N(h).commitPendingAppend,
|
|
4016
|
+
"pagination-detail": N(h).paginationDetail.value,
|
|
4017
|
+
"report-asset-error": N(g).report,
|
|
4018
|
+
"report-asset-load": N(_).report,
|
|
4019
|
+
"request-next-page": N(h).prefetchNextPage,
|
|
4020
|
+
"request-previous-page": N(h).prefetchPreviousPage,
|
|
4009
4021
|
"empty-state-mode": d.emptyStateMode,
|
|
4010
4022
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4011
|
-
onBoundaryLoadProgress:
|
|
4012
|
-
onOpenFullscreen:
|
|
4013
|
-
"onUpdate:activeIndex":
|
|
4023
|
+
onBoundaryLoadProgress: N(h).setBoundaryLoadProgress,
|
|
4024
|
+
onOpenFullscreen: N(h).openFullscreen,
|
|
4025
|
+
"onUpdate:activeIndex": N(h).setActiveIndex
|
|
4014
4026
|
}, l({ _: 2 }, [
|
|
4015
4027
|
f["empty-state"] ? {
|
|
4016
4028
|
name: "empty-state",
|
|
4017
|
-
fn:
|
|
4029
|
+
fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4018
4030
|
key: "0"
|
|
4019
4031
|
} : void 0,
|
|
4020
4032
|
f["grid-footer"] ? {
|
|
4021
4033
|
name: "grid-footer",
|
|
4022
|
-
fn:
|
|
4034
|
+
fn: z(() => [k(e.$slots, "grid-footer")]),
|
|
4023
4035
|
key: "1"
|
|
4024
4036
|
} : void 0,
|
|
4025
4037
|
f["grid-item-overlay"] ? {
|
|
4026
4038
|
name: "grid-item-overlay",
|
|
4027
|
-
fn:
|
|
4039
|
+
fn: z((t) => [k(e.$slots, "grid-item-overlay", y(p(t)))]),
|
|
4028
4040
|
key: "2"
|
|
4029
4041
|
} : void 0,
|
|
4030
4042
|
f["grid-status"] ? {
|
|
4031
4043
|
name: "grid-status",
|
|
4032
|
-
fn:
|
|
4044
|
+
fn: z((t) => [k(e.$slots, "grid-status", y(p(t)))]),
|
|
4033
4045
|
key: "3"
|
|
4034
4046
|
} : void 0,
|
|
4035
4047
|
f["item-icon"] ? {
|
|
4036
4048
|
name: "item-icon",
|
|
4037
|
-
fn:
|
|
4049
|
+
fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4038
4050
|
key: "4"
|
|
4039
4051
|
} : void 0
|
|
4040
4052
|
]), 1032, [
|
|
@@ -4059,7 +4071,7 @@ var pi = ["aria-label"], mi = {
|
|
|
4059
4071
|
"onBoundaryLoadProgress",
|
|
4060
4072
|
"onOpenFullscreen",
|
|
4061
4073
|
"onUpdate:activeIndex"
|
|
4062
|
-
])], 8,
|
|
4074
|
+
])], 8, zi), [[I, N(h).surfaceMode.value === "list"]])]),
|
|
4063
4075
|
_: 3
|
|
4064
4076
|
}), u(r, {
|
|
4065
4077
|
appear: "",
|
|
@@ -4070,59 +4082,59 @@ var pi = ["aria-label"], mi = {
|
|
|
4070
4082
|
"leave-from-class": "translate-y-0 opacity-100",
|
|
4071
4083
|
"leave-to-class": "-translate-y-3 opacity-0"
|
|
4072
4084
|
}, {
|
|
4073
|
-
default:
|
|
4085
|
+
default: z(() => [B(c("div", {
|
|
4074
4086
|
"data-testid": "vibe-fullscreen-surface",
|
|
4075
|
-
"data-visible":
|
|
4076
|
-
inert:
|
|
4087
|
+
"data-visible": N(h).surfaceMode.value === "fullscreen" ? "true" : "false",
|
|
4088
|
+
inert: N(h).surfaceMode.value !== "fullscreen",
|
|
4077
4089
|
class: "absolute inset-0 z-[3]"
|
|
4078
|
-
}, [u(
|
|
4079
|
-
items:
|
|
4080
|
-
active:
|
|
4081
|
-
"active-index":
|
|
4082
|
-
"error-message":
|
|
4083
|
-
loading:
|
|
4084
|
-
"has-next-page":
|
|
4085
|
-
"pagination-detail":
|
|
4086
|
-
phase:
|
|
4087
|
-
"report-asset-error":
|
|
4088
|
-
"report-asset-load":
|
|
4090
|
+
}, [u(or, {
|
|
4091
|
+
items: N(h).items.value,
|
|
4092
|
+
active: N(h).surfaceMode.value === "fullscreen",
|
|
4093
|
+
"active-index": N(h).activeIndex.value,
|
|
4094
|
+
"error-message": N(h).errorMessage.value,
|
|
4095
|
+
loading: N(h).loading.value,
|
|
4096
|
+
"has-next-page": N(h).hasNextPage.value,
|
|
4097
|
+
"pagination-detail": N(h).paginationDetail.value,
|
|
4098
|
+
phase: N(h).phase.value,
|
|
4099
|
+
"report-asset-error": N(g).report,
|
|
4100
|
+
"report-asset-load": N(_).report,
|
|
4089
4101
|
"empty-state-mode": d.emptyStateMode,
|
|
4090
4102
|
"loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
|
|
4091
4103
|
"show-dominant-image-tone": d.showDominantImageTone ?? !0,
|
|
4092
4104
|
"show-end-badge": d.showEndBadge ?? !0,
|
|
4093
4105
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4094
|
-
"show-back-to-list":
|
|
4095
|
-
onBackToList:
|
|
4096
|
-
"onUpdate:activeIndex":
|
|
4106
|
+
"show-back-to-list": N(h).showBackToList.value,
|
|
4107
|
+
onBackToList: N(h).returnToList,
|
|
4108
|
+
"onUpdate:activeIndex": N(h).setActiveIndex
|
|
4097
4109
|
}, l({ _: 2 }, [
|
|
4098
4110
|
f["empty-state"] ? {
|
|
4099
4111
|
name: "empty-state",
|
|
4100
|
-
fn:
|
|
4112
|
+
fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4101
4113
|
key: "0"
|
|
4102
4114
|
} : void 0,
|
|
4103
4115
|
f["fullscreen-overlay"] ? {
|
|
4104
4116
|
name: "fullscreen-overlay",
|
|
4105
|
-
fn:
|
|
4117
|
+
fn: z((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
|
|
4106
4118
|
key: "1"
|
|
4107
4119
|
} : void 0,
|
|
4108
4120
|
f["fullscreen-aside"] ? {
|
|
4109
4121
|
name: "fullscreen-aside",
|
|
4110
|
-
fn:
|
|
4122
|
+
fn: z((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
4111
4123
|
key: "2"
|
|
4112
4124
|
} : void 0,
|
|
4113
4125
|
f["fullscreen-header-actions"] ? {
|
|
4114
4126
|
name: "fullscreen-header-actions",
|
|
4115
|
-
fn:
|
|
4127
|
+
fn: z((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
4116
4128
|
key: "3"
|
|
4117
4129
|
} : void 0,
|
|
4118
4130
|
f["fullscreen-status"] ? {
|
|
4119
4131
|
name: "fullscreen-status",
|
|
4120
|
-
fn:
|
|
4132
|
+
fn: z((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
4121
4133
|
key: "4"
|
|
4122
4134
|
} : void 0,
|
|
4123
4135
|
f["item-icon"] ? {
|
|
4124
4136
|
name: "item-icon",
|
|
4125
|
-
fn:
|
|
4137
|
+
fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4126
4138
|
key: "5"
|
|
4127
4139
|
} : void 0
|
|
4128
4140
|
]), 1032, [
|
|
@@ -4144,60 +4156,60 @@ var pi = ["aria-label"], mi = {
|
|
|
4144
4156
|
"show-back-to-list",
|
|
4145
4157
|
"onBackToList",
|
|
4146
4158
|
"onUpdate:activeIndex"
|
|
4147
|
-
])], 8,
|
|
4159
|
+
])], 8, Bi), [[I, N(h).surfaceMode.value === "fullscreen"]])]),
|
|
4148
4160
|
_: 3
|
|
4149
|
-
})], 64)) :
|
|
4161
|
+
})], 64)) : N(h).items.value.length === 0 && N(h).loading.value ? (w(), s("div", Vi, [u(N(oe), {
|
|
4150
4162
|
class: "size-10 animate-spin text-[#f7f1ea]/82",
|
|
4151
4163
|
"aria-hidden": "true"
|
|
4152
|
-
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(
|
|
4164
|
+
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(or, {
|
|
4153
4165
|
key: 4,
|
|
4154
|
-
items:
|
|
4166
|
+
items: N(h).items.value,
|
|
4155
4167
|
active: !0,
|
|
4156
|
-
"active-index":
|
|
4157
|
-
"error-message":
|
|
4158
|
-
loading:
|
|
4159
|
-
"has-next-page":
|
|
4160
|
-
"pagination-detail":
|
|
4161
|
-
phase:
|
|
4162
|
-
"report-asset-error":
|
|
4163
|
-
"report-asset-load":
|
|
4168
|
+
"active-index": N(h).activeIndex.value,
|
|
4169
|
+
"error-message": N(h).errorMessage.value,
|
|
4170
|
+
loading: N(h).loading.value,
|
|
4171
|
+
"has-next-page": N(h).hasNextPage.value,
|
|
4172
|
+
"pagination-detail": N(h).paginationDetail.value,
|
|
4173
|
+
phase: N(h).phase.value,
|
|
4174
|
+
"report-asset-error": N(g).report,
|
|
4175
|
+
"report-asset-load": N(_).report,
|
|
4164
4176
|
"empty-state-mode": d.emptyStateMode,
|
|
4165
4177
|
"loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
|
|
4166
4178
|
"show-dominant-image-tone": d.showDominantImageTone ?? !0,
|
|
4167
4179
|
"show-end-badge": d.showEndBadge ?? !0,
|
|
4168
4180
|
"show-status-badges": d.showStatusBadges ?? !0,
|
|
4169
4181
|
"show-back-to-list": !1,
|
|
4170
|
-
onBackToList:
|
|
4171
|
-
"onUpdate:activeIndex":
|
|
4182
|
+
onBackToList: N(h).returnToList,
|
|
4183
|
+
"onUpdate:activeIndex": N(h).setActiveIndex
|
|
4172
4184
|
}, l({ _: 2 }, [
|
|
4173
4185
|
f["empty-state"] ? {
|
|
4174
4186
|
name: "empty-state",
|
|
4175
|
-
fn:
|
|
4187
|
+
fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
|
|
4176
4188
|
key: "0"
|
|
4177
4189
|
} : void 0,
|
|
4178
4190
|
f["fullscreen-overlay"] ? {
|
|
4179
4191
|
name: "fullscreen-overlay",
|
|
4180
|
-
fn:
|
|
4192
|
+
fn: z((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
|
|
4181
4193
|
key: "1"
|
|
4182
4194
|
} : void 0,
|
|
4183
4195
|
f["fullscreen-aside"] ? {
|
|
4184
4196
|
name: "fullscreen-aside",
|
|
4185
|
-
fn:
|
|
4197
|
+
fn: z((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
4186
4198
|
key: "2"
|
|
4187
4199
|
} : void 0,
|
|
4188
4200
|
f["fullscreen-header-actions"] ? {
|
|
4189
4201
|
name: "fullscreen-header-actions",
|
|
4190
|
-
fn:
|
|
4202
|
+
fn: z((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
4191
4203
|
key: "3"
|
|
4192
4204
|
} : void 0,
|
|
4193
4205
|
f["fullscreen-status"] ? {
|
|
4194
4206
|
name: "fullscreen-status",
|
|
4195
|
-
fn:
|
|
4207
|
+
fn: z((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
4196
4208
|
key: "4"
|
|
4197
4209
|
} : void 0,
|
|
4198
4210
|
f["item-icon"] ? {
|
|
4199
4211
|
name: "item-icon",
|
|
4200
|
-
fn:
|
|
4212
|
+
fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
4201
4213
|
key: "5"
|
|
4202
4214
|
} : void 0
|
|
4203
4215
|
]), 1032, [
|
|
@@ -4217,10 +4229,10 @@ var pi = ["aria-label"], mi = {
|
|
|
4217
4229
|
"show-status-badges",
|
|
4218
4230
|
"onBackToList",
|
|
4219
4231
|
"onUpdate:activeIndex"
|
|
4220
|
-
]))], 8,
|
|
4232
|
+
]))], 8, Li));
|
|
4221
4233
|
}
|
|
4222
|
-
}),
|
|
4223
|
-
e.component("VibeLayout",
|
|
4234
|
+
}), Ui = { install(e) {
|
|
4235
|
+
e.component("VibeLayout", Hi);
|
|
4224
4236
|
} };
|
|
4225
4237
|
//#endregion
|
|
4226
|
-
export {
|
|
4238
|
+
export { Hi as VibeLayout, Ui as VibePlugin, Ui as default };
|