@wyxos/vibe 3.1.32 → 3.1.33
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/FullscreenFooter.vue.d.ts +22 -0
- package/lib/components/FullscreenHeader.vue.d.ts +0 -1
- package/lib/components/FullscreenSurface.vue.d.ts +1 -0
- package/lib/components/Layout.vue.d.ts +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +896 -856
- package/lib/style.css +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -3,10 +3,10 @@ import { Comment as e, Fragment as t, Text as n, Transition as r, computed as i,
|
|
|
3
3
|
var U = (e) => {
|
|
4
4
|
for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
|
|
5
5
|
return !1;
|
|
6
|
-
}, te = (e) => e === "", W = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(),
|
|
7
|
-
let t =
|
|
6
|
+
}, te = (e) => e === "", W = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), ne = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), G = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), K = (e) => {
|
|
7
|
+
let t = G(e);
|
|
8
8
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
9
|
-
},
|
|
9
|
+
}, q = {
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
width: 24,
|
|
12
12
|
height: 24,
|
|
@@ -16,27 +16,21 @@ var U = (e) => {
|
|
|
16
16
|
"stroke-width": 2,
|
|
17
17
|
"stroke-linecap": "round",
|
|
18
18
|
"stroke-linejoin": "round"
|
|
19
|
-
},
|
|
20
|
-
...
|
|
19
|
+
}, re = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": a, size: o = q.width, color: s = q.stroke, ...c }, { slots: l }) => m("svg", {
|
|
20
|
+
...q,
|
|
21
21
|
...c,
|
|
22
22
|
width: o,
|
|
23
23
|
height: o,
|
|
24
24
|
stroke: s,
|
|
25
|
-
"stroke-width": te(n) || te(r) || n === !0 || r === !0 ? Number(i || a ||
|
|
26
|
-
class: W("lucide", c.class, ...e ? [`lucide-${
|
|
25
|
+
"stroke-width": te(n) || te(r) || n === !0 || r === !0 ? Number(i || a || q["stroke-width"]) * 24 / Number(o) : i || a || q["stroke-width"],
|
|
26
|
+
class: W("lucide", c.class, ...e ? [`lucide-${ne(K(e))}-icon`, `lucide-${ne(e)}`] : ["lucide-icon"]),
|
|
27
27
|
...!l.default && !U(c) && { "aria-hidden": "true" }
|
|
28
|
-
}, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]),
|
|
28
|
+
}, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]), J = (e, t) => (n, { slots: r, attrs: i }) => m(re, {
|
|
29
29
|
...i,
|
|
30
30
|
...n,
|
|
31
31
|
iconNode: t,
|
|
32
32
|
name: e
|
|
33
|
-
}, r),
|
|
34
|
-
d: "m12 19-7-7 7-7",
|
|
35
|
-
key: "1l729n"
|
|
36
|
-
}], ["path", {
|
|
37
|
-
d: "M19 12H5",
|
|
38
|
-
key: "x3x0zl"
|
|
39
|
-
}]]), re = Y("audio-lines", [
|
|
33
|
+
}, r), Y = J("audio-lines", [
|
|
40
34
|
["path", {
|
|
41
35
|
d: "M2 10v3",
|
|
42
36
|
key: "1fnikh"
|
|
@@ -61,7 +55,7 @@ var U = (e) => {
|
|
|
61
55
|
d: "M22 10v3",
|
|
62
56
|
key: "154ddg"
|
|
63
57
|
}]
|
|
64
|
-
]), ie =
|
|
58
|
+
]), ie = J("clapperboard", [
|
|
65
59
|
["path", {
|
|
66
60
|
d: "m12.296 3.464 3.02 3.956",
|
|
67
61
|
key: "qash78"
|
|
@@ -78,13 +72,13 @@ var U = (e) => {
|
|
|
78
72
|
d: "m6.18 5.276 3.1 3.899",
|
|
79
73
|
key: "zjj9t3"
|
|
80
74
|
}]
|
|
81
|
-
]), ae =
|
|
75
|
+
]), ae = J("file", [["path", {
|
|
82
76
|
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
83
77
|
key: "1oefj6"
|
|
84
78
|
}], ["path", {
|
|
85
79
|
d: "M14 2v5a1 1 0 0 0 1 1h5",
|
|
86
80
|
key: "wfsgrz"
|
|
87
|
-
}]]), oe =
|
|
81
|
+
}]]), oe = J("image-plus", [
|
|
88
82
|
["path", {
|
|
89
83
|
d: "M16 5h6",
|
|
90
84
|
key: "1vod17"
|
|
@@ -107,10 +101,10 @@ var U = (e) => {
|
|
|
107
101
|
r: "2",
|
|
108
102
|
key: "af1f0g"
|
|
109
103
|
}]
|
|
110
|
-
]), se =
|
|
104
|
+
]), se = J("loader-circle", [["path", {
|
|
111
105
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
112
106
|
key: "13zald"
|
|
113
|
-
}]]), ce =
|
|
107
|
+
}]]), ce = J("maximize-2", [
|
|
114
108
|
["path", {
|
|
115
109
|
d: "M15 3h6v6",
|
|
116
110
|
key: "1q9fwt"
|
|
@@ -127,7 +121,7 @@ var U = (e) => {
|
|
|
127
121
|
d: "M9 21H3v-6",
|
|
128
122
|
key: "wtvkvv"
|
|
129
123
|
}]
|
|
130
|
-
]), le =
|
|
124
|
+
]), le = J("pause", [["rect", {
|
|
131
125
|
x: "14",
|
|
132
126
|
y: "3",
|
|
133
127
|
width: "5",
|
|
@@ -141,10 +135,10 @@ var U = (e) => {
|
|
|
141
135
|
height: "18",
|
|
142
136
|
rx: "1",
|
|
143
137
|
key: "1wsw3u"
|
|
144
|
-
}]]), ue =
|
|
138
|
+
}]]), ue = J("play", [["path", {
|
|
145
139
|
d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
|
|
146
140
|
key: "10ikf1"
|
|
147
|
-
}]]), de =
|
|
141
|
+
}]]), de = J("triangle-alert", [
|
|
148
142
|
["path", {
|
|
149
143
|
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
150
144
|
key: "wmoenq"
|
|
@@ -157,13 +151,13 @@ var U = (e) => {
|
|
|
157
151
|
d: "M12 17h.01",
|
|
158
152
|
key: "p32p05"
|
|
159
153
|
}]
|
|
160
|
-
]), fe =
|
|
154
|
+
]), fe = J("volume-1", [["path", {
|
|
161
155
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
162
156
|
key: "uqj9uw"
|
|
163
157
|
}], ["path", {
|
|
164
158
|
d: "M16 9a5 5 0 0 1 0 6",
|
|
165
159
|
key: "1q6k2b"
|
|
166
|
-
}]]), pe =
|
|
160
|
+
}]]), pe = J("volume-2", [
|
|
167
161
|
["path", {
|
|
168
162
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
169
163
|
key: "uqj9uw"
|
|
@@ -176,7 +170,7 @@ var U = (e) => {
|
|
|
176
170
|
d: "M19.364 18.364a9 9 0 0 0 0-12.728",
|
|
177
171
|
key: "ijwkga"
|
|
178
172
|
}]
|
|
179
|
-
]),
|
|
173
|
+
]), X = J("volume-x", [
|
|
180
174
|
["path", {
|
|
181
175
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
182
176
|
key: "uqj9uw"
|
|
@@ -195,7 +189,13 @@ var U = (e) => {
|
|
|
195
189
|
y2: "15",
|
|
196
190
|
key: "5ykzw1"
|
|
197
191
|
}]
|
|
198
|
-
])
|
|
192
|
+
]), me = J("x", [["path", {
|
|
193
|
+
d: "M18 6 6 18",
|
|
194
|
+
key: "1bl5f8"
|
|
195
|
+
}], ["path", {
|
|
196
|
+
d: "m6 6 12 12",
|
|
197
|
+
key: "d8bk6v"
|
|
198
|
+
}]]);
|
|
199
199
|
function he(e, t = 150) {
|
|
200
200
|
return _e(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`, t);
|
|
201
201
|
}
|
|
@@ -226,20 +226,20 @@ function _e(e, t, n) {
|
|
|
226
226
|
}
|
|
227
227
|
//#endregion
|
|
228
228
|
//#region src/components/viewer-core/dom.ts
|
|
229
|
-
function
|
|
229
|
+
function ve(e) {
|
|
230
230
|
return e instanceof HTMLElement && [
|
|
231
231
|
"INPUT",
|
|
232
232
|
"TEXTAREA",
|
|
233
233
|
"SELECT"
|
|
234
234
|
].includes(e.tagName);
|
|
235
235
|
}
|
|
236
|
-
function
|
|
236
|
+
function ye(e) {
|
|
237
237
|
return e instanceof HTMLElement && !!e.closest("[data-swipe-lock], input, textarea, select, a");
|
|
238
238
|
}
|
|
239
|
-
function
|
|
239
|
+
function be(e) {
|
|
240
240
|
return e === "filling" || e === "initializing" || e === "loading" || e === "refreshing";
|
|
241
241
|
}
|
|
242
|
-
function
|
|
242
|
+
function Z(e) {
|
|
243
243
|
return !e || !Number.isFinite(e) || e < 1 ? 25 : Math.floor(e);
|
|
244
244
|
}
|
|
245
245
|
function xe(e) {
|
|
@@ -841,7 +841,7 @@ function dt(e) {
|
|
|
841
841
|
setSequence: (e) => {
|
|
842
842
|
w = e;
|
|
843
843
|
}
|
|
844
|
-
}), E = i(() => lt(e.fillDelayMs, at)), O = i(() => lt(e.fillDelayStepMs, ot)), k = i(() => typeof e.resolve == "function"), A = i(() =>
|
|
844
|
+
}), E = i(() => lt(e.fillDelayMs, at)), O = i(() => lt(e.fillDelayStepMs, ot)), k = i(() => typeof e.resolve == "function"), A = i(() => Z(e.pageSize)), j = i(() => De(n.value)), M = rt(() => j.value.length), N = i(() => Oe(j.value, e.removedIds.value)), P = i(() => r.value), F = i(() => be(c.value) || m.value), I = i(() => Ge(n.value, e.removedIds.value)), L = i(() => Ke(n.value, e.removedIds.value)), R = i(() => L.value?.nextCursor ?? null), ee = i(() => o.value ? null : I.value?.previousCursor ?? null), B = i(() => !!R.value && L.value?.nextCursorExhausted !== !0), V = i(() => !!ee.value), H = i(() => _.value || g.value), U = i(() => k.value && !!L.value?.items.length), te = i(() => Oe(De(a.value), e.removedIds.value)), W = i(() => je(n.value, e.removedIds.value, P.value)), ne = i(() => !N.value.length && !F.value && !!s.value), G = Qe({
|
|
845
845
|
autoBuckets: n,
|
|
846
846
|
clearActiveResolveController(e) {
|
|
847
847
|
y === e && (y = null);
|
|
@@ -878,17 +878,17 @@ function dt(e) {
|
|
|
878
878
|
b = e;
|
|
879
879
|
},
|
|
880
880
|
waitFillDelay: (e) => d.wait(e)
|
|
881
|
-
}),
|
|
881
|
+
}), K = it({
|
|
882
882
|
canRefreshTrailingBoundary: U,
|
|
883
883
|
hasNextPage: B,
|
|
884
884
|
isInitialLoading: Te,
|
|
885
885
|
isPageLoadingLocked: H,
|
|
886
886
|
items: N,
|
|
887
887
|
loading: F,
|
|
888
|
-
prefetchNextPage:
|
|
888
|
+
prefetchNextPage: J,
|
|
889
889
|
removedIds: e.removedIds,
|
|
890
890
|
trailingBoundaryBucket: L
|
|
891
|
-
}),
|
|
891
|
+
}), q = nt({
|
|
892
892
|
autoBuckets: n,
|
|
893
893
|
clearActiveResolveController(e) {
|
|
894
894
|
y === e && (y = null);
|
|
@@ -900,7 +900,7 @@ function dt(e) {
|
|
|
900
900
|
fillCursor: u,
|
|
901
901
|
fillTargetCount: p,
|
|
902
902
|
finishLoadPhase: Q,
|
|
903
|
-
getActiveOccurrenceKey:
|
|
903
|
+
getActiveOccurrenceKey: X,
|
|
904
904
|
getBoundaryBucket: (e) => e === "leading" ? I.value : L.value,
|
|
905
905
|
getFillDelayMs: (e) => ct(e, E.value, O.value),
|
|
906
906
|
getOperationIsCurrent: (e) => e === C,
|
|
@@ -923,19 +923,19 @@ function dt(e) {
|
|
|
923
923
|
});
|
|
924
924
|
z(() => N.value.length, (e) => {
|
|
925
925
|
if (e === 0) {
|
|
926
|
-
r.value = 0,
|
|
926
|
+
r.value = 0, K.schedule();
|
|
927
927
|
return;
|
|
928
928
|
}
|
|
929
|
-
|
|
929
|
+
K.resetRefreshAttempt(), o.value &&= (ke(), !1), r.value > e - 1 && (r.value = e - 1);
|
|
930
930
|
}), z(() => r.value, () => {
|
|
931
931
|
h.value && ge();
|
|
932
932
|
}), S(() => {
|
|
933
|
-
we() || e.resolve &&
|
|
933
|
+
we() || e.resolve && re();
|
|
934
934
|
}), x(() => {
|
|
935
935
|
y?.abort(), y = null, d.clear(!0);
|
|
936
936
|
});
|
|
937
|
-
async function
|
|
938
|
-
b =
|
|
937
|
+
async function re() {
|
|
938
|
+
b = re;
|
|
939
939
|
let t = await xe({
|
|
940
940
|
continueUntilFilled: !0,
|
|
941
941
|
cursor: e.initialCursor ?? null,
|
|
@@ -944,7 +944,7 @@ function dt(e) {
|
|
|
944
944
|
});
|
|
945
945
|
t && (n.value = t.buckets, r.value = 0, Q());
|
|
946
946
|
}
|
|
947
|
-
async function
|
|
947
|
+
async function J() {
|
|
948
948
|
if (H.value || F.value) return;
|
|
949
949
|
let e = !N.value.length, t = L.value, n = {
|
|
950
950
|
commitImmediately: e,
|
|
@@ -952,13 +952,13 @@ function dt(e) {
|
|
|
952
952
|
}, r = qe(t);
|
|
953
953
|
if (Ee("trailing")) {
|
|
954
954
|
if (!U.value) return;
|
|
955
|
-
let e = await
|
|
955
|
+
let e = await ye("trailing");
|
|
956
956
|
e?.followCursor && (e.itemsInserted === 0 || Ee("trailing")) && await _e(e.followCursor, n);
|
|
957
957
|
return;
|
|
958
958
|
}
|
|
959
959
|
if (r) {
|
|
960
960
|
if (t?.cursor === r) {
|
|
961
|
-
let e = await
|
|
961
|
+
let e = await ye("trailing");
|
|
962
962
|
e?.followCursor && e.itemsInserted === 0 && await _e(e.followCursor, n);
|
|
963
963
|
return;
|
|
964
964
|
}
|
|
@@ -966,64 +966,64 @@ function dt(e) {
|
|
|
966
966
|
return;
|
|
967
967
|
}
|
|
968
968
|
if (!B.value) {
|
|
969
|
-
let e = U.value ? await
|
|
969
|
+
let e = U.value ? await ye("trailing") : null;
|
|
970
970
|
e?.followCursor && e.itemsInserted === 0 && await _e(e.followCursor, n);
|
|
971
971
|
return;
|
|
972
972
|
}
|
|
973
973
|
await _e(R.value, n);
|
|
974
974
|
}
|
|
975
|
-
async function
|
|
975
|
+
async function Y() {
|
|
976
976
|
if (!(H.value || !V.value || F.value)) {
|
|
977
977
|
if (Ee("leading")) {
|
|
978
|
-
let e = await
|
|
979
|
-
e?.itemsInserted === 0 && e.followCursor && await
|
|
978
|
+
let e = await ye("leading");
|
|
979
|
+
e?.itemsInserted === 0 && e.followCursor && await ve(e.followCursor);
|
|
980
980
|
return;
|
|
981
981
|
}
|
|
982
|
-
await
|
|
982
|
+
await ve(ee.value);
|
|
983
983
|
}
|
|
984
984
|
}
|
|
985
|
-
async function
|
|
986
|
-
if (
|
|
985
|
+
async function ie() {
|
|
986
|
+
if (ne.value) {
|
|
987
987
|
if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = k.value ? "initializing" : "idle", Ce(), M.reset(), m.value = !1, v.clear(), y?.abort(), y = null, d.clear(!0), we()) {
|
|
988
988
|
Q();
|
|
989
989
|
return;
|
|
990
990
|
}
|
|
991
|
-
await
|
|
991
|
+
await re();
|
|
992
992
|
}
|
|
993
993
|
}
|
|
994
|
-
async function
|
|
995
|
-
if (
|
|
994
|
+
async function ae() {
|
|
995
|
+
if (ne.value) return ie();
|
|
996
996
|
H.value || c.value !== "failed" || !b || (s.value = null, await b());
|
|
997
997
|
}
|
|
998
|
-
async function
|
|
998
|
+
async function oe() {
|
|
999
999
|
if (!a.value.length) return m.value = !1, Q();
|
|
1000
1000
|
n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Q();
|
|
1001
1001
|
}
|
|
1002
|
-
function
|
|
1002
|
+
function se(t) {
|
|
1003
1003
|
let n = N.value;
|
|
1004
1004
|
if (!n.length) return;
|
|
1005
1005
|
let i = Se(t, 0, n.length - 1);
|
|
1006
1006
|
i !== r.value && (r.value = i, e.emit("update:activeIndex", i));
|
|
1007
1007
|
}
|
|
1008
|
-
function
|
|
1009
|
-
h.value = e,
|
|
1010
|
-
}
|
|
1011
|
-
function ce() {
|
|
1012
|
-
_.value = !0, d.clear(!0);
|
|
1008
|
+
function ce(e) {
|
|
1009
|
+
h.value = e, K.schedule();
|
|
1013
1010
|
}
|
|
1014
1011
|
function le() {
|
|
1015
|
-
_.value = !
|
|
1012
|
+
_.value = !0, d.clear(!0);
|
|
1016
1013
|
}
|
|
1017
1014
|
function ue() {
|
|
1018
|
-
|
|
1015
|
+
_.value = !1, K.schedule();
|
|
1019
1016
|
}
|
|
1020
1017
|
function de() {
|
|
1021
|
-
|
|
1018
|
+
pe(), s.value = null, Ce(), G.cancel(), a.value.length > 0 && (n.value = [...n.value, ...a.value], a.value = []), m.value = !1, o.value = !1, Q();
|
|
1022
1019
|
}
|
|
1023
1020
|
function fe() {
|
|
1024
|
-
|
|
1021
|
+
g.value && (pe(), Ce(), G.cancel(), m.value = !1, Q());
|
|
1025
1022
|
}
|
|
1026
1023
|
function pe() {
|
|
1024
|
+
C += 1, y?.abort(), y = null, d.clear(!0), v.clear();
|
|
1025
|
+
}
|
|
1026
|
+
function X() {
|
|
1027
1027
|
return Ve(N.value, P.value);
|
|
1028
1028
|
}
|
|
1029
1029
|
function me(e = null, t = {}) {
|
|
@@ -1045,15 +1045,15 @@ function dt(e) {
|
|
|
1045
1045
|
r.value = He(N.value, P.value, e);
|
|
1046
1046
|
}
|
|
1047
1047
|
function he() {
|
|
1048
|
-
a.value.length > 0 && (!te.value.length || !N.value.length) &&
|
|
1048
|
+
a.value.length > 0 && (!te.value.length || !N.value.length) && oe();
|
|
1049
1049
|
}
|
|
1050
1050
|
async function ge() {
|
|
1051
1051
|
if (!(!h.value || Te())) {
|
|
1052
1052
|
if (!N.value.length) {
|
|
1053
|
-
(B.value || U.value) && await
|
|
1053
|
+
(B.value || U.value) && await J();
|
|
1054
1054
|
return;
|
|
1055
1055
|
}
|
|
1056
|
-
V.value && r.value < 3 && await
|
|
1056
|
+
V.value && r.value < 3 && await Y(), B.value && r.value >= N.value.length - 3 && await J();
|
|
1057
1057
|
}
|
|
1058
1058
|
}
|
|
1059
1059
|
async function _e(e, t = {}) {
|
|
@@ -1073,9 +1073,9 @@ function dt(e) {
|
|
|
1073
1073
|
m.value = !0;
|
|
1074
1074
|
}
|
|
1075
1075
|
}
|
|
1076
|
-
async function
|
|
1076
|
+
async function ve(e) {
|
|
1077
1077
|
b = async () => {
|
|
1078
|
-
await
|
|
1078
|
+
await ve(e);
|
|
1079
1079
|
};
|
|
1080
1080
|
let t = await xe({
|
|
1081
1081
|
continueUntilFilled: !0,
|
|
@@ -1084,19 +1084,19 @@ function dt(e) {
|
|
|
1084
1084
|
phase: "loading"
|
|
1085
1085
|
});
|
|
1086
1086
|
if (!t) return;
|
|
1087
|
-
let r =
|
|
1087
|
+
let r = X();
|
|
1088
1088
|
n.value = [...t.buckets, ...n.value], me(r), Q();
|
|
1089
1089
|
}
|
|
1090
|
-
async function
|
|
1090
|
+
async function ye(e) {
|
|
1091
1091
|
return b = async () => {
|
|
1092
|
-
await
|
|
1093
|
-
},
|
|
1092
|
+
await ye(e);
|
|
1093
|
+
}, q.reloadBoundaryBucket(e);
|
|
1094
1094
|
}
|
|
1095
1095
|
function xe(e) {
|
|
1096
|
-
return
|
|
1096
|
+
return q.collectBuckets(e);
|
|
1097
1097
|
}
|
|
1098
1098
|
function Q() {
|
|
1099
|
-
c.value = "idle", Ce(), d.clear(),
|
|
1099
|
+
c.value = "idle", Ce(), d.clear(), K.schedule();
|
|
1100
1100
|
}
|
|
1101
1101
|
function Ce() {
|
|
1102
1102
|
l.value = null, u.value = null, p.value = null;
|
|
@@ -1121,11 +1121,11 @@ function dt(e) {
|
|
|
1121
1121
|
}
|
|
1122
1122
|
return {
|
|
1123
1123
|
activeIndex: P,
|
|
1124
|
-
canRetryInitialLoad:
|
|
1125
|
-
cancel:
|
|
1126
|
-
cancelFill:
|
|
1124
|
+
canRetryInitialLoad: ne,
|
|
1125
|
+
cancel: de,
|
|
1126
|
+
cancelFill: fe,
|
|
1127
1127
|
canRefreshTrailingBoundary: U,
|
|
1128
|
-
commitPendingAppend:
|
|
1128
|
+
commitPendingAppend: oe,
|
|
1129
1129
|
currentCursor: W,
|
|
1130
1130
|
errorMessage: s,
|
|
1131
1131
|
fillCollectedCount: l,
|
|
@@ -1133,29 +1133,29 @@ function dt(e) {
|
|
|
1133
1133
|
fillDelayRemainingMs: f,
|
|
1134
1134
|
fillTargetCount: p,
|
|
1135
1135
|
...M.refs,
|
|
1136
|
-
fillUntil:
|
|
1137
|
-
fillUntilEnd:
|
|
1136
|
+
fillUntil: G.fillUntil,
|
|
1137
|
+
fillUntilEnd: G.fillUntilEnd,
|
|
1138
1138
|
hasNextPage: B,
|
|
1139
1139
|
hasPreviousPage: V,
|
|
1140
1140
|
isAutoPrefetchEnabled: h,
|
|
1141
1141
|
isPageLoadingLocked: H,
|
|
1142
1142
|
items: N,
|
|
1143
|
-
lockPageLoading:
|
|
1143
|
+
lockPageLoading: le,
|
|
1144
1144
|
loading: F,
|
|
1145
1145
|
maybePrefetchAround: ge,
|
|
1146
1146
|
nextCursor: R,
|
|
1147
1147
|
pendingAppendItems: te,
|
|
1148
1148
|
phase: c,
|
|
1149
|
-
prefetchNextPage:
|
|
1150
|
-
prefetchPreviousPage:
|
|
1149
|
+
prefetchNextPage: J,
|
|
1150
|
+
prefetchPreviousPage: Y,
|
|
1151
1151
|
previousCursor: ee,
|
|
1152
|
-
retryInitialLoad:
|
|
1153
|
-
retry:
|
|
1154
|
-
setActiveIndex:
|
|
1155
|
-
setAutoPrefetchEnabled:
|
|
1152
|
+
retryInitialLoad: ie,
|
|
1153
|
+
retry: ae,
|
|
1154
|
+
setActiveIndex: se,
|
|
1155
|
+
setAutoPrefetchEnabled: ce,
|
|
1156
1156
|
syncActiveIndexAfterVisibilityChange: me,
|
|
1157
|
-
unlockPageLoading:
|
|
1158
|
-
getActiveOccurrenceKey:
|
|
1157
|
+
unlockPageLoading: ue,
|
|
1158
|
+
getActiveOccurrenceKey: X,
|
|
1159
1159
|
maybeCommitPendingAppendWhenFilteredOut: he
|
|
1160
1160
|
};
|
|
1161
1161
|
}
|
|
@@ -1337,7 +1337,7 @@ function mt(e, t) {
|
|
|
1337
1337
|
!c.value || o.value === "list" || (o.value = "list", t("update:surfaceMode", "list"));
|
|
1338
1338
|
}
|
|
1339
1339
|
function h(e) {
|
|
1340
|
-
e.defaultPrevented || e.key !== "Escape" || !c.value || d.value !== "fullscreen" ||
|
|
1340
|
+
e.defaultPrevented || e.key !== "Escape" || !c.value || d.value !== "fullscreen" || ve(e.target) || (e.preventDefault(), m());
|
|
1341
1341
|
}
|
|
1342
1342
|
function g() {
|
|
1343
1343
|
a.value = window.innerWidth || 0;
|
|
@@ -1407,7 +1407,7 @@ var gt = {
|
|
|
1407
1407
|
"volume-toggle"
|
|
1408
1408
|
],
|
|
1409
1409
|
setup(e, { emit: t }) {
|
|
1410
|
-
let n = e, r = t, l = D(null), d = D(!1), f = i(() => n.volumeControlLayout === "vertical"), p = i(() => T(n.volume, 0, 1)), m = i(() => Math.round(p.value * 100)), h = i(() => n.muted || p.value <= 0 ?
|
|
1410
|
+
let n = e, r = t, l = D(null), d = D(!1), f = i(() => n.volumeControlLayout === "vertical"), p = i(() => T(n.volume, 0, 1)), m = i(() => Math.round(p.value * 100)), h = i(() => n.muted || p.value <= 0 ? X : p.value < .5 ? fe : pe), g = i(() => n.muted || p.value <= 0 ? "Unmute active media" : "Mute active media"), _ = i(() => f.value && !d.value ? "Show volume controls" : g.value), v = i(() => n.volumeControlLayout === "vertical" ? { height: `${m.value}%` } : { width: `${m.value}%` });
|
|
1411
1411
|
z(f, (e) => {
|
|
1412
1412
|
e || (d.value = !1);
|
|
1413
1413
|
}), S(() => {
|
|
@@ -1521,74 +1521,99 @@ var gt = {
|
|
|
1521
1521
|
])
|
|
1522
1522
|
])]));
|
|
1523
1523
|
}
|
|
1524
|
-
}), Mt = {
|
|
1524
|
+
}), Mt = {
|
|
1525
|
+
"data-testid": "vibe-fullscreen-header",
|
|
1526
|
+
class: "relative z-[3] shrink-0 border-b border-white/10 bg-[#05060a] px-3 py-2"
|
|
1527
|
+
}, Nt = { class: "flex min-h-8 flex-wrap items-center justify-between gap-2" }, Pt = { class: "min-w-0 flex flex-1 items-center gap-2" }, Ft = {
|
|
1525
1528
|
key: 1,
|
|
1526
1529
|
"data-testid": "vibe-title",
|
|
1527
|
-
class: "m-0 truncate text-left text-[0.82rem] leading-none
|
|
1528
|
-
},
|
|
1530
|
+
class: "m-0 min-w-0 truncate text-left text-[0.82rem] leading-none text-[#f7f1ea]/88 min-[721px]:text-[0.92rem]"
|
|
1531
|
+
}, It = { class: "flex min-w-0 flex-wrap items-center justify-end gap-2" }, Lt = {
|
|
1529
1532
|
"data-testid": "vibe-pagination",
|
|
1530
|
-
class: "inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/
|
|
1531
|
-
},
|
|
1533
|
+
class: "inline-flex h-8 shrink-0 items-center gap-2 whitespace-nowrap border border-white/12 bg-black/20 px-2.5 text-[0.68rem] font-semibold uppercase tracking-[0.1em] text-[#f7f1ea]/70"
|
|
1534
|
+
}, Rt = { class: "whitespace-nowrap" }, zt = {
|
|
1532
1535
|
key: 1,
|
|
1533
|
-
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56
|
|
1534
|
-
},
|
|
1535
|
-
key: 0,
|
|
1536
|
-
class: "grid gap-2 max-[720px]:justify-items-start"
|
|
1537
|
-
}, Ht = /* @__PURE__ */ d({
|
|
1536
|
+
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56"
|
|
1537
|
+
}, Bt = /* @__PURE__ */ d({
|
|
1538
1538
|
__name: "FullscreenHeader",
|
|
1539
1539
|
props: {
|
|
1540
1540
|
currentIndex: {},
|
|
1541
1541
|
loading: { type: Boolean },
|
|
1542
1542
|
paginationDetail: {},
|
|
1543
1543
|
showBackToList: { type: Boolean },
|
|
1544
|
-
showEndBadge: { type: Boolean },
|
|
1545
1544
|
title: {},
|
|
1546
1545
|
total: {}
|
|
1547
1546
|
},
|
|
1548
1547
|
emits: ["back-to-list"],
|
|
1549
1548
|
setup(e, { emit: t }) {
|
|
1550
1549
|
let n = e, r = t;
|
|
1551
|
-
return (e, t) => (w(), s("
|
|
1550
|
+
return (e, t) => (w(), s("header", Mt, [c("div", Nt, [c("div", Pt, [n.showBackToList ? (w(), s("button", {
|
|
1552
1551
|
key: 0,
|
|
1553
1552
|
type: "button",
|
|
1554
1553
|
"data-testid": "vibe-back-to-list",
|
|
1555
|
-
class: "
|
|
1556
|
-
"aria-label": "
|
|
1554
|
+
class: "inline-flex h-8 w-8 shrink-0 items-center justify-center border border-white/12 bg-black/20 text-[#f7f1ea]/74 transition hover:border-white/24 hover:bg-white/6 hover:text-[#f7f1ea]",
|
|
1555
|
+
"aria-label": "Exit viewer",
|
|
1556
|
+
title: "Exit viewer",
|
|
1557
1557
|
onClick: t[0] ||= (e) => r("back-to-list")
|
|
1558
|
-
}, [u(F(
|
|
1559
|
-
class: "h-
|
|
1558
|
+
}, [u(F(me), {
|
|
1559
|
+
class: "h-3.5 w-3.5 stroke-[2.2]",
|
|
1560
1560
|
"aria-hidden": "true"
|
|
1561
|
-
})])) : o("", !0), n.title ? (w(), s("h2",
|
|
1561
|
+
})])) : o("", !0), n.title ? (w(), s("h2", Ft, M(n.title), 1)) : o("", !0)]), c("div", It, [c("span", Lt, [
|
|
1562
1562
|
n.loading ? (w(), a(F(se), {
|
|
1563
1563
|
key: 0,
|
|
1564
1564
|
"data-testid": "vibe-pagination-spinner",
|
|
1565
1565
|
class: "h-3.5 w-3.5 animate-spin stroke-[1.9]",
|
|
1566
1566
|
"aria-hidden": "true"
|
|
1567
1567
|
})) : o("", !0),
|
|
1568
|
-
c("span",
|
|
1569
|
-
n.paginationDetail ? (w(), s("span",
|
|
1570
|
-
]), k(e.$slots, "actions")])])])
|
|
1571
|
-
}
|
|
1572
|
-
}),
|
|
1568
|
+
c("span", Rt, M(n.currentIndex + 1) + " / " + M(n.total), 1),
|
|
1569
|
+
n.paginationDetail ? (w(), s("span", zt, M(n.paginationDetail), 1)) : o("", !0)
|
|
1570
|
+
]), k(e.$slots, "actions")])])]));
|
|
1571
|
+
}
|
|
1572
|
+
}), Vt = {
|
|
1573
|
+
"data-testid": "vibe-fullscreen-footer",
|
|
1574
|
+
class: "relative z-[3] shrink-0 border-t border-white/10 bg-[#05060a] px-3 py-2"
|
|
1575
|
+
}, Ht = { class: "grid gap-2" }, Ut = {
|
|
1576
|
+
key: 0,
|
|
1577
|
+
class: "flex flex-wrap items-center justify-center gap-2"
|
|
1578
|
+
}, Wt = {
|
|
1579
|
+
key: 2,
|
|
1580
|
+
class: "inline-flex items-center border border-amber-300/35 bg-black/20 px-3 py-1.5 text-[0.68rem] font-semibold uppercase tracking-[0.12em] text-amber-200"
|
|
1581
|
+
}, Gt = /* @__PURE__ */ d({
|
|
1582
|
+
__name: "FullscreenFooter",
|
|
1583
|
+
props: {
|
|
1584
|
+
showEndBadge: { type: Boolean },
|
|
1585
|
+
showStatus: { type: Boolean },
|
|
1586
|
+
statusKind: {},
|
|
1587
|
+
statusMessage: {}
|
|
1588
|
+
},
|
|
1589
|
+
setup(e) {
|
|
1590
|
+
let t = e, n = i(() => t.statusKind === "end" ? "border-amber-300/35 text-amber-200" : t.statusKind === "failed" ? "border-rose-400/45 text-rose-100" : "");
|
|
1591
|
+
return (e, r) => (w(), s("footer", Vt, [c("div", Ht, [k(e.$slots, "default"), t.showStatus || t.showEndBadge ? (w(), s("div", Ut, [t.showStatus && e.$slots.status ? k(e.$slots, "status", { key: 0 }) : t.showStatus ? (w(), s("div", {
|
|
1592
|
+
key: 1,
|
|
1593
|
+
"data-testid": "vibe-fullscreen-status-badge",
|
|
1594
|
+
class: v(["inline-flex w-auto items-center border border-white/12 bg-black/20 px-3 py-1.5 text-[0.68rem] font-semibold uppercase tracking-[0.12em] text-[#f7f1ea]/74 max-[720px]:w-full max-[720px]:justify-center", n.value])
|
|
1595
|
+
}, M(t.statusMessage), 3)) : o("", !0), t.showEndBadge ? (w(), s("span", Wt, " End reached ")) : o("", !0)])) : o("", !0)])]));
|
|
1596
|
+
}
|
|
1597
|
+
}), Kt = {
|
|
1573
1598
|
image: oe,
|
|
1574
1599
|
video: ie,
|
|
1575
|
-
audio:
|
|
1600
|
+
audio: Y,
|
|
1576
1601
|
other: ae
|
|
1577
|
-
},
|
|
1602
|
+
}, qt = {
|
|
1578
1603
|
image: "Image",
|
|
1579
1604
|
video: "Video",
|
|
1580
1605
|
audio: "Audio",
|
|
1581
1606
|
other: "File"
|
|
1582
1607
|
};
|
|
1583
|
-
function
|
|
1584
|
-
return
|
|
1608
|
+
function Jt(e) {
|
|
1609
|
+
return Kt[e];
|
|
1585
1610
|
}
|
|
1586
|
-
function
|
|
1587
|
-
return
|
|
1611
|
+
function Yt(e) {
|
|
1612
|
+
return qt[e];
|
|
1588
1613
|
}
|
|
1589
1614
|
//#endregion
|
|
1590
1615
|
//#region src/components/viewer-core/useAssetLoadQueue.ts
|
|
1591
|
-
function
|
|
1616
|
+
function Xt() {
|
|
1592
1617
|
let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = 0;
|
|
1593
1618
|
function r(r) {
|
|
1594
1619
|
let a = {
|
|
@@ -1611,7 +1636,7 @@ function qt() {
|
|
|
1611
1636
|
function i() {
|
|
1612
1637
|
if (t.size === 0) return;
|
|
1613
1638
|
let n = [...t.values()].sort((e, t) => {
|
|
1614
|
-
let n =
|
|
1639
|
+
let n = Qt(e) - Qt(t);
|
|
1615
1640
|
return n === 0 ? e.enqueuedAt - t.enqueuedAt : n;
|
|
1616
1641
|
});
|
|
1617
1642
|
for (let r of n) {
|
|
@@ -1625,8 +1650,8 @@ function qt() {
|
|
|
1625
1650
|
}
|
|
1626
1651
|
return { request: r };
|
|
1627
1652
|
}
|
|
1628
|
-
var
|
|
1629
|
-
function
|
|
1653
|
+
var Zt = Xt();
|
|
1654
|
+
function Qt(e) {
|
|
1630
1655
|
try {
|
|
1631
1656
|
let t = e.getPriority();
|
|
1632
1657
|
return Number.isFinite(t) ? t : Infinity;
|
|
@@ -1636,19 +1661,19 @@ function Yt(e) {
|
|
|
1636
1661
|
}
|
|
1637
1662
|
//#endregion
|
|
1638
1663
|
//#region src/components/viewer-core/useFullscreenPreloadController.ts
|
|
1639
|
-
var
|
|
1664
|
+
var $t = [
|
|
1640
1665
|
0,
|
|
1641
1666
|
1,
|
|
1642
1667
|
2,
|
|
1643
1668
|
3
|
|
1644
|
-
],
|
|
1669
|
+
], en = {
|
|
1645
1670
|
0: 0,
|
|
1646
1671
|
1: 1,
|
|
1647
1672
|
2: 2,
|
|
1648
1673
|
3: 3
|
|
1649
1674
|
};
|
|
1650
|
-
function
|
|
1651
|
-
let t = D({}), n =
|
|
1675
|
+
function tn(e) {
|
|
1676
|
+
let t = D({}), n = Xt(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set();
|
|
1652
1677
|
z([
|
|
1653
1678
|
e.active,
|
|
1654
1679
|
e.items,
|
|
@@ -1669,14 +1694,14 @@ function Qt(e) {
|
|
|
1669
1694
|
}
|
|
1670
1695
|
function l(e, t) {
|
|
1671
1696
|
if (t instanceof HTMLImageElement) {
|
|
1672
|
-
i.set(e, t),
|
|
1697
|
+
i.set(e, t), rn(t) && d(e);
|
|
1673
1698
|
return;
|
|
1674
1699
|
}
|
|
1675
1700
|
i.delete(e);
|
|
1676
1701
|
}
|
|
1677
1702
|
function u(e, t) {
|
|
1678
1703
|
if (t instanceof HTMLMediaElement) {
|
|
1679
|
-
a.set(e, t),
|
|
1704
|
+
a.set(e, t), an(t) && d(e);
|
|
1680
1705
|
return;
|
|
1681
1706
|
}
|
|
1682
1707
|
a.delete(e);
|
|
@@ -1717,7 +1742,7 @@ function Qt(e) {
|
|
|
1717
1742
|
assetType: s.item.type === "image" ? "image" : "video",
|
|
1718
1743
|
getPriority: () => g(o.index),
|
|
1719
1744
|
onGrant: () => {
|
|
1720
|
-
y(s.key, !0), (e.isAssetReady(s.key, s.item) ||
|
|
1745
|
+
y(s.key, !0), (e.isAssetReady(s.key, s.item) || nn(s.key, i, a)) && d(s.key);
|
|
1721
1746
|
},
|
|
1722
1747
|
url: s.item.url
|
|
1723
1748
|
})
|
|
@@ -1728,14 +1753,14 @@ function Qt(e) {
|
|
|
1728
1753
|
}
|
|
1729
1754
|
function h() {
|
|
1730
1755
|
let t = e.resolvedActiveIndex.value;
|
|
1731
|
-
return
|
|
1756
|
+
return $t.map((e) => _(t + e)).filter((e) => !!e);
|
|
1732
1757
|
}
|
|
1733
1758
|
function g(t) {
|
|
1734
|
-
return e.active.value ?
|
|
1759
|
+
return e.active.value ? en[t - e.resolvedActiveIndex.value] ?? Infinity : Infinity;
|
|
1735
1760
|
}
|
|
1736
1761
|
function _(t) {
|
|
1737
1762
|
let n = e.items.value[t];
|
|
1738
|
-
return !n || !
|
|
1763
|
+
return !n || !on(n) ? null : {
|
|
1739
1764
|
index: t,
|
|
1740
1765
|
item: n,
|
|
1741
1766
|
key: e.getItemKey(n)
|
|
@@ -1784,27 +1809,27 @@ function Qt(e) {
|
|
|
1784
1809
|
shouldAttachSlideAsset: s
|
|
1785
1810
|
};
|
|
1786
1811
|
}
|
|
1787
|
-
function
|
|
1812
|
+
function nn(e, t, n) {
|
|
1788
1813
|
let r = t.get(e);
|
|
1789
|
-
if (r) return
|
|
1814
|
+
if (r) return rn(r);
|
|
1790
1815
|
let i = n.get(e);
|
|
1791
|
-
return i ?
|
|
1816
|
+
return i ? an(i) : !1;
|
|
1792
1817
|
}
|
|
1793
|
-
function
|
|
1818
|
+
function rn(e) {
|
|
1794
1819
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1795
1820
|
}
|
|
1796
|
-
function
|
|
1821
|
+
function an(e) {
|
|
1797
1822
|
let t = typeof HTMLMediaElement > "u" ? 1 : HTMLMediaElement.HAVE_METADATA;
|
|
1798
1823
|
return e.readyState >= t;
|
|
1799
1824
|
}
|
|
1800
|
-
function
|
|
1825
|
+
function on(e) {
|
|
1801
1826
|
return e.type === "image" || e.type === "video" || e.type === "audio";
|
|
1802
1827
|
}
|
|
1803
1828
|
//#endregion
|
|
1804
1829
|
//#region src/components/viewer-core/useFullscreenSurfaceMedia.ts
|
|
1805
|
-
var
|
|
1806
|
-
function
|
|
1807
|
-
let t =
|
|
1830
|
+
var sn = /\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i;
|
|
1831
|
+
function cn(e) {
|
|
1832
|
+
let t = tn({
|
|
1808
1833
|
active: e.active,
|
|
1809
1834
|
getItemKey: r,
|
|
1810
1835
|
isAssetReady: h,
|
|
@@ -1814,7 +1839,7 @@ function an(e) {
|
|
|
1814
1839
|
});
|
|
1815
1840
|
function n(e, t) {
|
|
1816
1841
|
let n = t.title?.trim();
|
|
1817
|
-
return n ? `${e} ${n}` : `${e} ${
|
|
1842
|
+
return n ? `${e} ${n}` : `${e} ${Yt(t.type).toLowerCase()}`;
|
|
1818
1843
|
}
|
|
1819
1844
|
function r(e) {
|
|
1820
1845
|
return $(e);
|
|
@@ -1851,7 +1876,7 @@ function an(e) {
|
|
|
1851
1876
|
return i(e) ? t.url : void 0;
|
|
1852
1877
|
}
|
|
1853
1878
|
function m(e) {
|
|
1854
|
-
return e.type !== "audio" || !e.preview?.url ? null : e.preview.mediaType === "image" || !e.preview.mediaType &&
|
|
1879
|
+
return e.type !== "audio" || !e.preview?.url ? null : e.preview.mediaType === "image" || !e.preview.mediaType && sn.test(e.preview.url) ? e.preview.url : null;
|
|
1855
1880
|
}
|
|
1856
1881
|
function h(t, n) {
|
|
1857
1882
|
return n.type === "image" ? e.viewer.isImageReady(t) : n.type === "video" || n.type === "audio" ? e.viewer.isMediaReady(t) : !1;
|
|
@@ -1881,11 +1906,11 @@ function an(e) {
|
|
|
1881
1906
|
}
|
|
1882
1907
|
//#endregion
|
|
1883
1908
|
//#region src/components/viewer-core/slotContent.ts
|
|
1884
|
-
function
|
|
1909
|
+
function ln(e) {
|
|
1885
1910
|
if (!Array.isArray(e)) return !1;
|
|
1886
1911
|
for (let t of e) {
|
|
1887
1912
|
if (Array.isArray(t)) {
|
|
1888
|
-
if (
|
|
1913
|
+
if (ln(t)) return !0;
|
|
1889
1914
|
continue;
|
|
1890
1915
|
}
|
|
1891
1916
|
if (!h(t)) {
|
|
@@ -1896,20 +1921,20 @@ function on(e) {
|
|
|
1896
1921
|
if (t != null && t !== !1) return !0;
|
|
1897
1922
|
continue;
|
|
1898
1923
|
}
|
|
1899
|
-
if (!
|
|
1924
|
+
if (!un(t)) return !0;
|
|
1900
1925
|
}
|
|
1901
1926
|
return !1;
|
|
1902
1927
|
}
|
|
1903
|
-
function
|
|
1904
|
-
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !
|
|
1928
|
+
function un(r) {
|
|
1929
|
+
return r.type === e ? !0 : r.type === n ? typeof r.children == "string" ? r.children.trim().length === 0 : !0 : r.type === t ? !ln(r.children) : !1;
|
|
1905
1930
|
}
|
|
1906
1931
|
//#endregion
|
|
1907
1932
|
//#region src/components/viewer-core/useSurfaceEmptyState.ts
|
|
1908
|
-
var
|
|
1909
|
-
function
|
|
1933
|
+
var dn = "no items available";
|
|
1934
|
+
function fn(e) {
|
|
1910
1935
|
let t = i(() => e.loading.value || e.itemCount.value > 0 || e.emptyStateMode.value === "hidden" ? null : {
|
|
1911
1936
|
loading: !!e.loading.value,
|
|
1912
|
-
message:
|
|
1937
|
+
message: dn,
|
|
1913
1938
|
mode: e.emptyStateMode.value === "badge" ? "badge" : "inline",
|
|
1914
1939
|
surface: e.surface,
|
|
1915
1940
|
total: e.itemCount.value
|
|
@@ -1917,23 +1942,23 @@ function ln(e) {
|
|
|
1917
1942
|
return {
|
|
1918
1943
|
emptyStateProps: t,
|
|
1919
1944
|
showBadgeEmptyState: i(() => t.value?.mode === "badge"),
|
|
1920
|
-
showCustomEmptyState: i(() =>
|
|
1945
|
+
showCustomEmptyState: i(() => ln(n.value)),
|
|
1921
1946
|
showInlineEmptyState: i(() => t.value?.mode === "inline")
|
|
1922
1947
|
};
|
|
1923
1948
|
}
|
|
1924
1949
|
//#endregion
|
|
1925
1950
|
//#region src/components/viewer-core/format.ts
|
|
1926
|
-
function
|
|
1951
|
+
function pn(e) {
|
|
1927
1952
|
if (!Number.isFinite(e) || e <= 0) return "0:00";
|
|
1928
1953
|
let t = Math.floor(e), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60;
|
|
1929
1954
|
return n > 0 ? `${n}:${String(r).padStart(2, "0")}:${String(i).padStart(2, "0")}` : `${r}:${String(i).padStart(2, "0")}`;
|
|
1930
1955
|
}
|
|
1931
1956
|
//#endregion
|
|
1932
1957
|
//#region src/components/viewer-core/surfaceStatus.ts
|
|
1933
|
-
function
|
|
1958
|
+
function mn(e) {
|
|
1934
1959
|
return e.phase ? e.phase : e.loading ? e.itemCount > 0 ? "loading" : "initializing" : "idle";
|
|
1935
1960
|
}
|
|
1936
|
-
function
|
|
1961
|
+
function hn(e) {
|
|
1937
1962
|
return e.phase === "failed" ? {
|
|
1938
1963
|
kind: "failed",
|
|
1939
1964
|
message: e.errorMessage ?? (e.hasItems ? "The viewer could not load more items." : "The viewer could not load items.")
|
|
@@ -1956,7 +1981,7 @@ function fn(e) {
|
|
|
1956
1981
|
}
|
|
1957
1982
|
//#endregion
|
|
1958
1983
|
//#region src/components/viewer-core/useActivation.ts
|
|
1959
|
-
function
|
|
1984
|
+
function gn(e) {
|
|
1960
1985
|
let t = !1;
|
|
1961
1986
|
z(e.enabled, async (t) => {
|
|
1962
1987
|
if (n(t), t) {
|
|
@@ -1979,7 +2004,7 @@ function pn(e) {
|
|
|
1979
2004
|
}
|
|
1980
2005
|
//#endregion
|
|
1981
2006
|
//#region src/components/viewer-core/assetState.ts
|
|
1982
|
-
var
|
|
2007
|
+
var _n = {
|
|
1983
2008
|
currentTime: 0,
|
|
1984
2009
|
duration: 0,
|
|
1985
2010
|
errorKind: null,
|
|
@@ -1988,38 +2013,38 @@ var mn = {
|
|
|
1988
2013
|
ready: !1,
|
|
1989
2014
|
volume: 1
|
|
1990
2015
|
};
|
|
1991
|
-
function
|
|
1992
|
-
return { ...
|
|
2016
|
+
function vn() {
|
|
2017
|
+
return { ..._n };
|
|
1993
2018
|
}
|
|
1994
|
-
function
|
|
2019
|
+
function yn(e) {
|
|
1995
2020
|
return e.complete && !!(e.currentSrc || e.getAttribute("src"));
|
|
1996
2021
|
}
|
|
1997
|
-
function
|
|
1998
|
-
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 =
|
|
2022
|
+
function bn(e, t, n) {
|
|
2023
|
+
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 = xn(t, n);
|
|
1999
2024
|
}
|
|
2000
|
-
function
|
|
2025
|
+
function xn(e, t) {
|
|
2001
2026
|
return t === "error" || t === "loadstart" || t === "waiting" || t === "stalled" ? !1 : t === "canplay" || t === "canplaythrough" || t === "playing" ? !0 : e.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA;
|
|
2002
2027
|
}
|
|
2003
2028
|
//#endregion
|
|
2004
2029
|
//#region src/components/viewer-core/loadError.ts
|
|
2005
|
-
var
|
|
2006
|
-
function
|
|
2030
|
+
var Sn = /* @__PURE__ */ new Map();
|
|
2031
|
+
function Cn(e) {
|
|
2007
2032
|
return e === "not-found" ? "404" : "Load error";
|
|
2008
2033
|
}
|
|
2009
|
-
function
|
|
2034
|
+
function wn(e) {
|
|
2010
2035
|
return e === "generic";
|
|
2011
2036
|
}
|
|
2012
|
-
function
|
|
2013
|
-
return
|
|
2037
|
+
function Tn(e) {
|
|
2038
|
+
return En(e).then((e) => e ?? "generic");
|
|
2014
2039
|
}
|
|
2015
|
-
function
|
|
2016
|
-
let t =
|
|
2040
|
+
function En(e) {
|
|
2041
|
+
let t = Sn.get(e);
|
|
2017
2042
|
if (t) return t;
|
|
2018
|
-
let n =
|
|
2019
|
-
return
|
|
2043
|
+
let n = Dn(e);
|
|
2044
|
+
return Sn.set(e, n), n;
|
|
2020
2045
|
}
|
|
2021
|
-
async function
|
|
2022
|
-
if (!
|
|
2046
|
+
async function Dn(e) {
|
|
2047
|
+
if (!On(e)) return null;
|
|
2023
2048
|
try {
|
|
2024
2049
|
let t = await fetch(e, { method: "HEAD" });
|
|
2025
2050
|
return t.ok ? null : t.status === 404 ? "not-found" : "generic";
|
|
@@ -2027,12 +2052,12 @@ async function wn(e) {
|
|
|
2027
2052
|
return "generic";
|
|
2028
2053
|
}
|
|
2029
2054
|
}
|
|
2030
|
-
function
|
|
2055
|
+
function On(e) {
|
|
2031
2056
|
return /^(https?:\/\/|\/)/i.test(e);
|
|
2032
2057
|
}
|
|
2033
2058
|
//#endregion
|
|
2034
2059
|
//#region src/components/viewer-core/mediaPlayback.ts
|
|
2035
|
-
function
|
|
2060
|
+
function kn(e) {
|
|
2036
2061
|
try {
|
|
2037
2062
|
let t = e.play();
|
|
2038
2063
|
t && typeof t.catch == "function" && t.catch(() => {});
|
|
@@ -2040,11 +2065,11 @@ function En(e) {
|
|
|
2040
2065
|
}
|
|
2041
2066
|
//#endregion
|
|
2042
2067
|
//#region src/components/viewer-core/nativeVideoFullscreen.ts
|
|
2043
|
-
function
|
|
2068
|
+
function An(e) {
|
|
2044
2069
|
let t = typeof document > "u" ? null : document;
|
|
2045
2070
|
return typeof document < "u" && typeof HTMLVideoElement < "u" && e instanceof HTMLVideoElement && (document.fullscreenElement === e || t?.webkitFullscreenElement === e);
|
|
2046
2071
|
}
|
|
2047
|
-
function
|
|
2072
|
+
function jn(e) {
|
|
2048
2073
|
let t = e.requestFullscreen?.bind(e);
|
|
2049
2074
|
if (t) {
|
|
2050
2075
|
let e = t();
|
|
@@ -2060,12 +2085,12 @@ function On(e) {
|
|
|
2060
2085
|
}
|
|
2061
2086
|
//#endregion
|
|
2062
2087
|
//#region src/components/viewer-core/useMedia.ts
|
|
2063
|
-
function
|
|
2088
|
+
function Mn(e) {
|
|
2064
2089
|
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(() => {
|
|
2065
2090
|
let t = /* @__PURE__ */ new Map();
|
|
2066
2091
|
for (let n of e.items.value) t.set($(n), n);
|
|
2067
2092
|
return t;
|
|
2068
|
-
}), p = i(() => d.value ? r.value[d.value] ??
|
|
2093
|
+
}), p = i(() => d.value ? r.value[d.value] ?? _n : _n), m = i(() => d.value ? p.value.duration : 0), h = i(() => m.value <= 0 ? 0 : Nn(p.value.currentTime / m.value * 100, 0, 100)), g = i(() => u.value ? L(u.value) : null);
|
|
2069
2094
|
z(() => u.value, async () => {
|
|
2070
2095
|
await C();
|
|
2071
2096
|
}), z(() => e.itemCount.value, async () => {
|
|
@@ -2088,7 +2113,7 @@ function kn(e) {
|
|
|
2088
2113
|
c.delete(e);
|
|
2089
2114
|
}
|
|
2090
2115
|
function b(e, r) {
|
|
2091
|
-
r instanceof HTMLImageElement &&
|
|
2116
|
+
r instanceof HTMLImageElement && yn(r) && (t.value[e] = !0, n.value[e] = null, J(e, r.currentSrc || r.src || ie(e)));
|
|
2092
2117
|
}
|
|
2093
2118
|
function x() {
|
|
2094
2119
|
U(), a.value = {}, n.value = {}, t.value = {}, o.value = {}, r.value = {}, l.clear();
|
|
@@ -2110,14 +2135,14 @@ function kn(e) {
|
|
|
2110
2135
|
H(i, n);
|
|
2111
2136
|
continue;
|
|
2112
2137
|
}
|
|
2113
|
-
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0,
|
|
2138
|
+
i.muted = !1, i.loop = e.loopFullscreenVideo.value, i.playsInline = !0, kn(i), W(n, i);
|
|
2114
2139
|
}
|
|
2115
2140
|
for (let [e, n] of c.entries()) {
|
|
2116
2141
|
if (e !== t || r.value[e]?.errorKind) {
|
|
2117
2142
|
H(n, e);
|
|
2118
2143
|
continue;
|
|
2119
2144
|
}
|
|
2120
|
-
|
|
2145
|
+
kn(n), W(e, n);
|
|
2121
2146
|
}
|
|
2122
2147
|
}
|
|
2123
2148
|
function w(e, t) {
|
|
@@ -2126,16 +2151,16 @@ function kn(e) {
|
|
|
2126
2151
|
let i = r.value[e]?.ready ?? !1;
|
|
2127
2152
|
W(e, n, t.type);
|
|
2128
2153
|
let a = r.value[e]?.ready ?? !1;
|
|
2129
|
-
!i && a &&
|
|
2154
|
+
!i && a && J(e, n.currentSrc || n.src || ie(e));
|
|
2130
2155
|
}
|
|
2131
2156
|
}
|
|
2132
2157
|
function T(e, r) {
|
|
2133
|
-
t.value[e] = !0, n.value[e] = null,
|
|
2158
|
+
t.value[e] = !0, n.value[e] = null, J(e, r);
|
|
2134
2159
|
}
|
|
2135
2160
|
async function E(r, i) {
|
|
2136
|
-
let a =
|
|
2161
|
+
let a = Y(r) ?? e.activeItem.value;
|
|
2137
2162
|
t.value[r] = !1, n.value[r] = "generic";
|
|
2138
|
-
let o = await
|
|
2163
|
+
let o = await Tn(i);
|
|
2139
2164
|
n.value[r] = o, a && e.onAssetError?.({
|
|
2140
2165
|
item: a,
|
|
2141
2166
|
occurrenceKey: r,
|
|
@@ -2145,7 +2170,7 @@ function kn(e) {
|
|
|
2145
2170
|
});
|
|
2146
2171
|
}
|
|
2147
2172
|
async function O(t, n) {
|
|
2148
|
-
let r =
|
|
2173
|
+
let r = K(t), i = te(t), a = Y(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
|
|
2149
2174
|
if (r) {
|
|
2150
2175
|
r.pause();
|
|
2151
2176
|
try {
|
|
@@ -2153,7 +2178,7 @@ function kn(e) {
|
|
|
2153
2178
|
} catch {}
|
|
2154
2179
|
}
|
|
2155
2180
|
i.currentTime = 0, i.duration = 0, i.paused = !0, i.ready = !1, i.errorKind = "generic";
|
|
2156
|
-
let o = await
|
|
2181
|
+
let o = await Tn(n);
|
|
2157
2182
|
i.errorKind = o, a && e.onAssetError?.({
|
|
2158
2183
|
item: a,
|
|
2159
2184
|
occurrenceKey: t,
|
|
@@ -2163,28 +2188,28 @@ function kn(e) {
|
|
|
2163
2188
|
});
|
|
2164
2189
|
}
|
|
2165
2190
|
function k(e, t, n) {
|
|
2166
|
-
e.button !== 0 || Date.now() < n ||
|
|
2191
|
+
e.button !== 0 || Date.now() < n || An(e.currentTarget) || re(s.get(t) ?? null);
|
|
2167
2192
|
}
|
|
2168
2193
|
function A(e, t, n) {
|
|
2169
|
-
e.button !== 0 || Date.now() < n ||
|
|
2194
|
+
e.button !== 0 || Date.now() < n || re(K(t));
|
|
2170
2195
|
}
|
|
2171
2196
|
function j(e) {
|
|
2172
|
-
let t =
|
|
2197
|
+
let t = q(), n = d.value;
|
|
2173
2198
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
2174
2199
|
let r = Number.parseFloat(e.target.value);
|
|
2175
2200
|
if (!Number.isFinite(r)) return;
|
|
2176
|
-
let i =
|
|
2177
|
-
|
|
2201
|
+
let i = Nn(r, 0, m.value || 0);
|
|
2202
|
+
ne(n, i, t), t.currentTime = i;
|
|
2178
2203
|
}
|
|
2179
2204
|
function M(e) {
|
|
2180
|
-
let t =
|
|
2205
|
+
let t = q(), n = d.value;
|
|
2181
2206
|
if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
|
|
2182
|
-
let r =
|
|
2207
|
+
let r = Nn(Number.parseFloat(e.target.value), 0, 1);
|
|
2183
2208
|
t.volume = r, t.muted = r <= 0, r > 0 && (o.value[n] = r), W(n, t);
|
|
2184
2209
|
}
|
|
2185
2210
|
function N() {
|
|
2186
|
-
let e =
|
|
2187
|
-
!e || !t || (e.muted || e.volume <= 0 ? (e.volume =
|
|
2211
|
+
let e = q(), t = d.value;
|
|
2212
|
+
!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));
|
|
2188
2213
|
}
|
|
2189
2214
|
function P(e) {
|
|
2190
2215
|
return !!t.value[e] && !n.value[e];
|
|
@@ -2200,10 +2225,10 @@ function kn(e) {
|
|
|
2200
2225
|
}
|
|
2201
2226
|
function R(e) {
|
|
2202
2227
|
let t = L(e);
|
|
2203
|
-
return t ?
|
|
2228
|
+
return t ? Cn(t) : null;
|
|
2204
2229
|
}
|
|
2205
2230
|
function ee(e) {
|
|
2206
|
-
return
|
|
2231
|
+
return wn(L(e));
|
|
2207
2232
|
}
|
|
2208
2233
|
function B(e) {
|
|
2209
2234
|
return `${e}:${a.value[e] ?? 0}`;
|
|
@@ -2213,7 +2238,7 @@ function kn(e) {
|
|
|
2213
2238
|
t.value[e] = !1, n.value[e] = null;
|
|
2214
2239
|
let r = te(e);
|
|
2215
2240
|
r.currentTime = 0, r.duration = 0, r.paused = !0, r.ready = !1, r.errorKind = null;
|
|
2216
|
-
let i =
|
|
2241
|
+
let i = K(e);
|
|
2217
2242
|
i && H(i, e), l.forEach((t) => {
|
|
2218
2243
|
t.startsWith(`${e}|`) && l.delete(t);
|
|
2219
2244
|
}), a.value[e] = (a.value[e] ?? 0) + 1, await _(), await C();
|
|
@@ -2230,35 +2255,35 @@ function kn(e) {
|
|
|
2230
2255
|
for (let [e, t] of c.entries()) H(t, e);
|
|
2231
2256
|
}
|
|
2232
2257
|
function te(e) {
|
|
2233
|
-
return r.value[e] || (r.value[e] =
|
|
2258
|
+
return r.value[e] || (r.value[e] = vn()), r.value[e];
|
|
2234
2259
|
}
|
|
2235
2260
|
function W(e, t, n) {
|
|
2236
|
-
|
|
2261
|
+
bn(te(e), t, n), !t.muted && t.volume > 0 && (o.value[e] = t.volume);
|
|
2237
2262
|
}
|
|
2238
|
-
function
|
|
2263
|
+
function ne(e, t, n) {
|
|
2239
2264
|
let r = te(e);
|
|
2240
2265
|
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;
|
|
2241
2266
|
}
|
|
2242
|
-
function
|
|
2243
|
-
return
|
|
2267
|
+
function G(e) {
|
|
2268
|
+
return Nn(o.value[e] ?? 1, 0, 1);
|
|
2244
2269
|
}
|
|
2245
|
-
function
|
|
2270
|
+
function K(e) {
|
|
2246
2271
|
return s.get(e) ?? c.get(e) ?? null;
|
|
2247
2272
|
}
|
|
2248
|
-
function
|
|
2249
|
-
return d.value ?
|
|
2273
|
+
function q() {
|
|
2274
|
+
return d.value ? K(d.value) : null;
|
|
2250
2275
|
}
|
|
2251
|
-
function
|
|
2276
|
+
function re(e) {
|
|
2252
2277
|
if (e) {
|
|
2253
2278
|
if (e.paused) {
|
|
2254
|
-
|
|
2279
|
+
kn(e);
|
|
2255
2280
|
return;
|
|
2256
2281
|
}
|
|
2257
2282
|
e.pause();
|
|
2258
2283
|
}
|
|
2259
2284
|
}
|
|
2260
|
-
function
|
|
2261
|
-
let r =
|
|
2285
|
+
function J(t, n) {
|
|
2286
|
+
let r = Y(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
|
|
2262
2287
|
if (!r || !n) return;
|
|
2263
2288
|
let i = `${t}|${n}`;
|
|
2264
2289
|
l.has(i) || (l.add(i), e.onAssetLoad?.({
|
|
@@ -2268,11 +2293,11 @@ function kn(e) {
|
|
|
2268
2293
|
url: n
|
|
2269
2294
|
}));
|
|
2270
2295
|
}
|
|
2271
|
-
function
|
|
2296
|
+
function Y(e) {
|
|
2272
2297
|
return f.value.get(e) ?? null;
|
|
2273
2298
|
}
|
|
2274
|
-
function
|
|
2275
|
-
return
|
|
2299
|
+
function ie(e) {
|
|
2300
|
+
return Y(e)?.url ?? null;
|
|
2276
2301
|
}
|
|
2277
2302
|
return {
|
|
2278
2303
|
activeAssetErrorKind: g,
|
|
@@ -2305,16 +2330,16 @@ function kn(e) {
|
|
|
2305
2330
|
syncMediaPlayback: C
|
|
2306
2331
|
};
|
|
2307
2332
|
}
|
|
2308
|
-
function
|
|
2333
|
+
function Nn(e, t, n) {
|
|
2309
2334
|
return Math.min(Math.max(e, t), n);
|
|
2310
2335
|
}
|
|
2311
2336
|
//#endregion
|
|
2312
2337
|
//#region src/components/viewer-core/virtualization.ts
|
|
2313
|
-
var
|
|
2338
|
+
var Pn = {
|
|
2314
2339
|
backward: 1,
|
|
2315
2340
|
forward: 3
|
|
2316
2341
|
};
|
|
2317
|
-
function
|
|
2342
|
+
function Fn(e, t, n = Pn) {
|
|
2318
2343
|
return t <= 0 ? {
|
|
2319
2344
|
start: 0,
|
|
2320
2345
|
end: -1
|
|
@@ -2323,14 +2348,14 @@ function Mn(e, t, n = jn) {
|
|
|
2323
2348
|
end: Math.min(t - 1, e + n.forward)
|
|
2324
2349
|
};
|
|
2325
2350
|
}
|
|
2326
|
-
function
|
|
2327
|
-
let r =
|
|
2351
|
+
function In(e, t, n = Pn) {
|
|
2352
|
+
let r = Fn(t, e.length, n);
|
|
2328
2353
|
return r.end < r.start ? [] : e.slice(r.start, r.end + 1).map((e, t) => ({
|
|
2329
2354
|
item: e,
|
|
2330
2355
|
index: r.start + t
|
|
2331
2356
|
}));
|
|
2332
2357
|
}
|
|
2333
|
-
function
|
|
2358
|
+
function Ln(e, t, n, r, i) {
|
|
2334
2359
|
return {
|
|
2335
2360
|
transform: `translate3d(0, ${(e - t) * n + r}px, 0)`,
|
|
2336
2361
|
transition: i ? "none" : "transform 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
@@ -2338,12 +2363,12 @@ function Pn(e, t, n, r, i) {
|
|
|
2338
2363
|
}
|
|
2339
2364
|
//#endregion
|
|
2340
2365
|
//#region src/components/viewer-core/useViewer.ts
|
|
2341
|
-
function
|
|
2342
|
-
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(() =>
|
|
2366
|
+
function Rn(e, t, n = {}) {
|
|
2367
|
+
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(() => mn({
|
|
2343
2368
|
itemCount: r.value.length,
|
|
2344
2369
|
loading: s.value,
|
|
2345
2370
|
phase: e.phase
|
|
2346
|
-
})), 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 =
|
|
2371
|
+
})), 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 = Mn({
|
|
2347
2372
|
items: r,
|
|
2348
2373
|
activeItem: C,
|
|
2349
2374
|
activeMediaItem: w,
|
|
@@ -2352,14 +2377,14 @@ function Fn(e, t, n = {}) {
|
|
|
2352
2377
|
loopFullscreenVideo: l,
|
|
2353
2378
|
onAssetError: n.onAssetError,
|
|
2354
2379
|
onAssetLoad: n.onAssetLoad
|
|
2355
|
-
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() =>
|
|
2380
|
+
}), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() => hn({
|
|
2356
2381
|
errorMessage: o.value,
|
|
2357
2382
|
hasItems: r.value.length > 0,
|
|
2358
2383
|
hasNextPage: c.value,
|
|
2359
2384
|
phase: d.value,
|
|
2360
2385
|
surface: "fullscreen"
|
|
2361
|
-
})), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() =>
|
|
2362
|
-
|
|
2386
|
+
})), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() => Fn(S.value, r.value.length)), N = i(() => In(r.value, S.value));
|
|
2387
|
+
gn({
|
|
2363
2388
|
enabled: _,
|
|
2364
2389
|
onDisable() {
|
|
2365
2390
|
U(), T.resetMediaState();
|
|
@@ -2389,7 +2414,7 @@ function Fn(e, t, n = {}) {
|
|
|
2389
2414
|
return t && !I(-1) || n && !I(1) ? e * .24 : e;
|
|
2390
2415
|
}
|
|
2391
2416
|
function z(e) {
|
|
2392
|
-
!_.value || r.value.length === 0 || e.pointerType === "mouse" ||
|
|
2417
|
+
!_.value || r.value.length === 0 || e.pointerType === "mouse" || ye(e.target) || (v = e.pointerId, y = e.clientY, m.value = 0, h.value = !0, p.value?.setPointerCapture?.(e.pointerId));
|
|
2393
2418
|
}
|
|
2394
2419
|
function ee(e) {
|
|
2395
2420
|
!_.value || !h.value || v !== e.pointerId || (m.value = R(e.clientY - y));
|
|
@@ -2407,37 +2432,37 @@ function Fn(e, t, n = {}) {
|
|
|
2407
2432
|
m.value = 0, h.value = !1, v = null;
|
|
2408
2433
|
}
|
|
2409
2434
|
function te(e) {
|
|
2410
|
-
if (!_.value || r.value.length === 0 || h.value ||
|
|
2435
|
+
if (!_.value || r.value.length === 0 || h.value || ye(e.target) || Math.abs(e.deltaY) < Math.max(Math.abs(e.deltaX), 24)) return;
|
|
2411
2436
|
e.preventDefault();
|
|
2412
2437
|
let t = Date.now();
|
|
2413
2438
|
t < b || (b = t + 400, L(e.deltaY > 0 ? 1 : -1));
|
|
2414
2439
|
}
|
|
2415
2440
|
function W(e) {
|
|
2416
|
-
!_.value || r.value.length === 0 ||
|
|
2441
|
+
!_.value || r.value.length === 0 || ve(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(), L(1)), (e.key === "ArrowUp" || e.key === "PageUp") && (e.preventDefault(), L(-1)));
|
|
2417
2442
|
}
|
|
2418
|
-
function
|
|
2443
|
+
function ne(e, t) {
|
|
2419
2444
|
T.onVideoClick(e, t, x);
|
|
2420
2445
|
}
|
|
2421
|
-
function
|
|
2446
|
+
function G(e, t) {
|
|
2422
2447
|
T.onAudioCoverClick(e, t, x);
|
|
2423
2448
|
}
|
|
2424
|
-
function
|
|
2449
|
+
function K(e) {
|
|
2425
2450
|
T.onMediaSeekInput(e);
|
|
2426
2451
|
}
|
|
2427
|
-
function
|
|
2452
|
+
function q(e) {
|
|
2428
2453
|
T.onMediaVolumeInput(e);
|
|
2429
2454
|
}
|
|
2430
|
-
function
|
|
2455
|
+
function re() {
|
|
2431
2456
|
T.onMediaVolumeToggle();
|
|
2432
2457
|
}
|
|
2433
|
-
function
|
|
2458
|
+
function J(e) {
|
|
2434
2459
|
return e.type === "image" || e.type === "video";
|
|
2435
2460
|
}
|
|
2436
|
-
function
|
|
2461
|
+
function Y(e) {
|
|
2437
2462
|
return e.type === "audio";
|
|
2438
2463
|
}
|
|
2439
|
-
function
|
|
2440
|
-
return
|
|
2464
|
+
function ie(e) {
|
|
2465
|
+
return Ln(e, S.value, g.value, m.value, h.value);
|
|
2441
2466
|
}
|
|
2442
2467
|
return {
|
|
2443
2468
|
activeItem: C,
|
|
@@ -2452,31 +2477,31 @@ function Fn(e, t, n = {}) {
|
|
|
2452
2477
|
getAssetErrorKind: T.getAssetErrorKind,
|
|
2453
2478
|
getAssetErrorLabel: T.getAssetErrorLabel,
|
|
2454
2479
|
getAssetRenderKey: T.getAssetRenderKey,
|
|
2455
|
-
formatPlaybackTime:
|
|
2480
|
+
formatPlaybackTime: pn,
|
|
2456
2481
|
getImageSource: T.getImageSource,
|
|
2457
|
-
getSlideStyle:
|
|
2482
|
+
getSlideStyle: ie,
|
|
2458
2483
|
hasNextPage: c,
|
|
2459
2484
|
isAtEnd: E,
|
|
2460
|
-
isAudio:
|
|
2461
|
-
isVisual:
|
|
2485
|
+
isAudio: Y,
|
|
2486
|
+
isVisual: J,
|
|
2462
2487
|
items: r,
|
|
2463
2488
|
loading: s,
|
|
2464
2489
|
mediaStates: T.mediaStates,
|
|
2465
2490
|
isImageReady: T.isImageReady,
|
|
2466
2491
|
isMediaReady: T.isMediaReady,
|
|
2467
|
-
onAudioCoverClick:
|
|
2492
|
+
onAudioCoverClick: G,
|
|
2468
2493
|
onImageError: T.onImageError,
|
|
2469
2494
|
onImageLoad: T.onImageLoad,
|
|
2470
2495
|
onMediaEvent: T.onMediaEvent,
|
|
2471
2496
|
onMediaError: T.onMediaError,
|
|
2472
|
-
onMediaSeekInput:
|
|
2473
|
-
onMediaVolumeInput:
|
|
2474
|
-
onMediaVolumeToggle:
|
|
2497
|
+
onMediaSeekInput: K,
|
|
2498
|
+
onMediaVolumeInput: q,
|
|
2499
|
+
onMediaVolumeToggle: re,
|
|
2475
2500
|
onPointerCancel: V,
|
|
2476
2501
|
onPointerDown: z,
|
|
2477
2502
|
onPointerMove: ee,
|
|
2478
2503
|
onPointerUp: B,
|
|
2479
|
-
onVideoClick:
|
|
2504
|
+
onVideoClick: ne,
|
|
2480
2505
|
onWheel: te,
|
|
2481
2506
|
registerAudioElement: T.registerAudioElement,
|
|
2482
2507
|
registerImageElement: T.registerImageElement,
|
|
@@ -2496,21 +2521,21 @@ function Fn(e, t, n = {}) {
|
|
|
2496
2521
|
}
|
|
2497
2522
|
//#endregion
|
|
2498
2523
|
//#region src/components/viewer-core/theme.ts
|
|
2499
|
-
var
|
|
2524
|
+
var zn = "bg-[linear-gradient(180deg,#0a0b10,#05060a)]", Bn = "bg-[linear-gradient(180deg,#0b0c11,#06070b)]", Vn = {
|
|
2500
2525
|
image: !0,
|
|
2501
2526
|
video: !0,
|
|
2502
2527
|
audio: !0,
|
|
2503
2528
|
other: !0
|
|
2504
2529
|
};
|
|
2505
|
-
function
|
|
2506
|
-
return
|
|
2530
|
+
function Hn(e) {
|
|
2531
|
+
return Vn[e], zn;
|
|
2507
2532
|
}
|
|
2508
|
-
function
|
|
2509
|
-
return
|
|
2533
|
+
function Un(e) {
|
|
2534
|
+
return Vn[e], Bn;
|
|
2510
2535
|
}
|
|
2511
2536
|
//#endregion
|
|
2512
2537
|
//#region src/components/viewer-core/useFullscreenAssetEvents.ts
|
|
2513
|
-
function
|
|
2538
|
+
function Wn(e) {
|
|
2514
2539
|
function t(t, n) {
|
|
2515
2540
|
return e.fullscreenMedia.shouldHandleSlideAssetEvent(t, n) ? e.fullscreenMedia.getItemKey(n) : null;
|
|
2516
2541
|
}
|
|
@@ -2543,7 +2568,7 @@ function Vn(e) {
|
|
|
2543
2568
|
}
|
|
2544
2569
|
//#endregion
|
|
2545
2570
|
//#region src/components/viewer-core/dominantImageTone.ts
|
|
2546
|
-
function
|
|
2571
|
+
function Gn(e) {
|
|
2547
2572
|
if (e.naturalWidth <= 0 || e.naturalHeight <= 0) return null;
|
|
2548
2573
|
let t = document.createElement("canvas"), n = t.getContext("2d", { willReadFrequently: !0 });
|
|
2549
2574
|
if (!n) return null;
|
|
@@ -2558,20 +2583,20 @@ function Hn(e) {
|
|
|
2558
2583
|
r += d, i += s * d, a += c * d, o += l * d;
|
|
2559
2584
|
}
|
|
2560
2585
|
return r <= 0 ? null : {
|
|
2561
|
-
r:
|
|
2562
|
-
g:
|
|
2563
|
-
b:
|
|
2586
|
+
r: Kn(Math.round(i / r)),
|
|
2587
|
+
g: Kn(Math.round(a / r)),
|
|
2588
|
+
b: Kn(Math.round(o / r))
|
|
2564
2589
|
};
|
|
2565
2590
|
} catch {
|
|
2566
2591
|
return null;
|
|
2567
2592
|
}
|
|
2568
2593
|
}
|
|
2569
|
-
function
|
|
2594
|
+
function Kn(e) {
|
|
2570
2595
|
return Math.min(235, Math.max(26, e));
|
|
2571
2596
|
}
|
|
2572
2597
|
//#endregion
|
|
2573
2598
|
//#region src/components/viewer-core/useFullscreenDominantTone.ts
|
|
2574
|
-
function
|
|
2599
|
+
function qn(e) {
|
|
2575
2600
|
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(() => {
|
|
2576
2601
|
if (!r.value) return;
|
|
2577
2602
|
let { r: e, g: t, b: n } = r.value;
|
|
@@ -2586,7 +2611,7 @@ function Wn(e) {
|
|
|
2586
2611
|
});
|
|
2587
2612
|
function s(n, r) {
|
|
2588
2613
|
if (!e.showDominantImageTone.value) return;
|
|
2589
|
-
let i =
|
|
2614
|
+
let i = Gn(r);
|
|
2590
2615
|
i && (t.value[n] = i);
|
|
2591
2616
|
}
|
|
2592
2617
|
return {
|
|
@@ -2597,7 +2622,7 @@ function Wn(e) {
|
|
|
2597
2622
|
}
|
|
2598
2623
|
//#endregion
|
|
2599
2624
|
//#region src/components/viewer-core/useVideoFullscreen.ts
|
|
2600
|
-
function
|
|
2625
|
+
function Jn(e) {
|
|
2601
2626
|
let t = /* @__PURE__ */ new Map();
|
|
2602
2627
|
function n(e, n) {
|
|
2603
2628
|
if (n instanceof HTMLVideoElement) {
|
|
@@ -2608,7 +2633,7 @@ function Gn(e) {
|
|
|
2608
2633
|
}
|
|
2609
2634
|
function r() {
|
|
2610
2635
|
let n = e.activeItem.value, r = n?.type === "video" ? t.get(e.getItemKey(n)) : null;
|
|
2611
|
-
r &&
|
|
2636
|
+
r && jn(r);
|
|
2612
2637
|
}
|
|
2613
2638
|
return {
|
|
2614
2639
|
registerElement: n,
|
|
@@ -2617,20 +2642,20 @@ function Gn(e) {
|
|
|
2617
2642
|
}
|
|
2618
2643
|
//#endregion
|
|
2619
2644
|
//#region src/components/FullscreenForwardFillPlaceholder.vue?vue&type=script&setup=true&lang.ts
|
|
2620
|
-
var
|
|
2645
|
+
var Yn = {
|
|
2621
2646
|
"data-testid": "vibe-forward-fill-placeholder",
|
|
2622
2647
|
class: "grid h-full min-h-0 place-items-center px-6 text-center"
|
|
2623
|
-
},
|
|
2648
|
+
}, Xn = { class: "grid w-full max-w-[22rem] justify-items-center gap-4 border border-white/14 bg-black/40 px-8 py-7 backdrop-blur-[18px]" }, Zn = { 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)]" }, Qn = {
|
|
2624
2649
|
"data-testid": "vibe-forward-fill-message",
|
|
2625
2650
|
class: "m-0 text-[0.78rem] font-bold uppercase tracking-[0.24em] text-[#f7f1ea]/72"
|
|
2626
|
-
},
|
|
2651
|
+
}, $n = {
|
|
2627
2652
|
key: 0,
|
|
2628
2653
|
"data-testid": "vibe-forward-fill-progress",
|
|
2629
2654
|
class: "grid w-full gap-2"
|
|
2630
|
-
},
|
|
2655
|
+
}, er = { class: "flex items-center justify-between gap-4 text-[0.62rem] font-bold uppercase tracking-[0.16em] text-[#f7f1ea]/58" }, tr = { key: 0 }, nr = {
|
|
2631
2656
|
key: 0,
|
|
2632
2657
|
class: "h-1 w-full overflow-hidden bg-white/10"
|
|
2633
|
-
},
|
|
2658
|
+
}, rr = /* @__PURE__ */ d({
|
|
2634
2659
|
__name: "FullscreenForwardFillPlaceholder",
|
|
2635
2660
|
props: {
|
|
2636
2661
|
fillCollectedCount: { default: null },
|
|
@@ -2675,20 +2700,20 @@ var Kn = {
|
|
|
2675
2700
|
function h(e) {
|
|
2676
2701
|
return Math.min(Math.max(e, 0), 1);
|
|
2677
2702
|
}
|
|
2678
|
-
return (e, t) => (w(), s("div",
|
|
2679
|
-
c("span",
|
|
2703
|
+
return (e, t) => (w(), s("div", Yn, [c("div", Xn, [
|
|
2704
|
+
c("span", Zn, [u(F(se), {
|
|
2680
2705
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
2681
2706
|
"aria-hidden": "true"
|
|
2682
2707
|
})]),
|
|
2683
|
-
c("p",
|
|
2684
|
-
l.value ? (w(), s("div",
|
|
2708
|
+
c("p", Qn, M(n.value), 1),
|
|
2709
|
+
l.value ? (w(), s("div", $n, [c("div", er, [c("span", null, M(l.value), 1), d.value ? (w(), s("span", tr, M(d.value), 1)) : o("", !0)]), a.value === null ? o("", !0) : (w(), s("div", nr, [c("span", {
|
|
2685
2710
|
"data-testid": "vibe-forward-fill-progress-bar",
|
|
2686
2711
|
class: "block h-full bg-[#f7f1ea]/58 transition-[width] duration-200",
|
|
2687
2712
|
style: b(f.value)
|
|
2688
2713
|
}, null, 4)]))])) : o("", !0)
|
|
2689
2714
|
])]));
|
|
2690
2715
|
}
|
|
2691
|
-
}),
|
|
2716
|
+
}), ir = ["data-surface"], ar = ["data-surface"], or = /* @__PURE__ */ d({
|
|
2692
2717
|
inheritAttrs: !1,
|
|
2693
2718
|
__name: "SurfaceEmptyState",
|
|
2694
2719
|
props: {
|
|
@@ -2702,30 +2727,30 @@ var Kn = {
|
|
|
2702
2727
|
"data-testid": "vibe-empty-state-inline",
|
|
2703
2728
|
"data-surface": e.surface,
|
|
2704
2729
|
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)]"]
|
|
2705
|
-
}), [k(n.$slots, "default", {}, () => [c("p", { class: v(["m-0 text-[0.82rem] font-medium tracking-[0.08em]", e.surface === "grid" ? "text-[#f7f1ea]/58" : "text-[#f7f1ea]/64"]) }, M(e.message), 3)])], 16,
|
|
2730
|
+
}), [k(n.$slots, "default", {}, () => [c("p", { class: v(["m-0 text-[0.82rem] font-medium tracking-[0.08em]", e.surface === "grid" ? "text-[#f7f1ea]/58" : "text-[#f7f1ea]/64"]) }, M(e.message), 3)])], 16, ir)) : (w(), s("div", g({ key: 1 }, F(t), { class: ["pointer-events-none absolute z-[4]", e.surface === "grid" ? "inset-x-0 bottom-0 flex justify-center px-6" : "bottom-[1.8rem] left-1/2 -translate-x-1/2 max-[720px]:bottom-[1.3rem]"] }), [k(n.$slots, "default", {}, () => [c("span", {
|
|
2706
2731
|
"data-testid": "vibe-empty-state-badge",
|
|
2707
2732
|
"data-surface": e.surface,
|
|
2708
2733
|
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"])
|
|
2709
|
-
}, M(e.message), 11,
|
|
2734
|
+
}, M(e.message), 11, ar)])], 16));
|
|
2710
2735
|
}
|
|
2711
|
-
}),
|
|
2712
|
-
function
|
|
2736
|
+
}), sr = 1, cr = .5;
|
|
2737
|
+
function lr(e) {
|
|
2713
2738
|
if (e.type !== "image" && e.type !== "video") return {
|
|
2714
|
-
width:
|
|
2715
|
-
height:
|
|
2739
|
+
width: sr,
|
|
2740
|
+
height: sr,
|
|
2716
2741
|
source: "fallback"
|
|
2717
2742
|
};
|
|
2718
2743
|
let t = e.preview?.width, n = e.preview?.height;
|
|
2719
|
-
if (
|
|
2720
|
-
let r =
|
|
2744
|
+
if (vr(t) && vr(n)) {
|
|
2745
|
+
let r = yr(e, t, n);
|
|
2721
2746
|
return {
|
|
2722
2747
|
width: r.width,
|
|
2723
2748
|
height: r.height,
|
|
2724
2749
|
source: "preview"
|
|
2725
2750
|
};
|
|
2726
2751
|
}
|
|
2727
|
-
if (
|
|
2728
|
-
let t =
|
|
2752
|
+
if (vr(e.width) && vr(e.height)) {
|
|
2753
|
+
let t = yr(e, e.width, e.height);
|
|
2729
2754
|
return {
|
|
2730
2755
|
width: t.width,
|
|
2731
2756
|
height: t.height,
|
|
@@ -2733,24 +2758,24 @@ function or(e) {
|
|
|
2733
2758
|
};
|
|
2734
2759
|
}
|
|
2735
2760
|
return {
|
|
2736
|
-
width:
|
|
2737
|
-
height:
|
|
2761
|
+
width: sr,
|
|
2762
|
+
height: sr,
|
|
2738
2763
|
source: "fallback"
|
|
2739
2764
|
};
|
|
2740
2765
|
}
|
|
2741
|
-
function
|
|
2766
|
+
function ur(e, t) {
|
|
2742
2767
|
return !e || e <= 0 || !t || t <= 0 ? 1 : Math.max(1, Math.floor(e / t));
|
|
2743
2768
|
}
|
|
2744
|
-
function
|
|
2769
|
+
function dr(e, t, n, r = 0) {
|
|
2745
2770
|
if (!e || e <= 0 || !t || t <= 0) return n;
|
|
2746
2771
|
let i = typeof r == "number" && r > 0 ? r : 0, a = e - Math.max(0, t - 1) * i;
|
|
2747
2772
|
return !a || a <= 0 ? n : a / t;
|
|
2748
2773
|
}
|
|
2749
|
-
function
|
|
2750
|
-
let n =
|
|
2774
|
+
function fr(e, t) {
|
|
2775
|
+
let n = lr(e);
|
|
2751
2776
|
return n.height / n.width * t;
|
|
2752
2777
|
}
|
|
2753
|
-
function
|
|
2778
|
+
function pr(e, t) {
|
|
2754
2779
|
let n = Array.from({ length: t.columnCount }, () => 0), r = {
|
|
2755
2780
|
positions: Array(e.length),
|
|
2756
2781
|
heights: Array(e.length),
|
|
@@ -2759,18 +2784,18 @@ function ur(e, t) {
|
|
|
2759
2784
|
indexById: /* @__PURE__ */ new Map(),
|
|
2760
2785
|
columnHeights: n
|
|
2761
2786
|
};
|
|
2762
|
-
return
|
|
2787
|
+
return mr(r, e, {
|
|
2763
2788
|
...t,
|
|
2764
2789
|
startIndex: 0
|
|
2765
2790
|
}), r;
|
|
2766
2791
|
}
|
|
2767
|
-
function
|
|
2792
|
+
function mr(e, t, n) {
|
|
2768
2793
|
for (let r = 0; r < t.length; r += 1) {
|
|
2769
2794
|
let i = t[r], a = n.startIndex + r;
|
|
2770
2795
|
e.indexById.set($(i), a);
|
|
2771
2796
|
let o = 0;
|
|
2772
2797
|
for (let t = 1; t < e.columnHeights.length; t += 1) e.columnHeights[t] < e.columnHeights[o] && (o = t);
|
|
2773
|
-
let s = o * (n.columnWidth + n.gapX), c = e.columnHeights[o], l =
|
|
2798
|
+
let s = o * (n.columnWidth + n.gapX), c = e.columnHeights[o], l = fr(i, n.columnWidth);
|
|
2774
2799
|
e.positions[a] = {
|
|
2775
2800
|
x: s + (n.positionOffsetX ?? 0),
|
|
2776
2801
|
y: c + (n.positionOffsetY ?? 0)
|
|
@@ -2783,20 +2808,20 @@ function dr(e, t, n) {
|
|
|
2783
2808
|
}
|
|
2784
2809
|
return e;
|
|
2785
2810
|
}
|
|
2786
|
-
function
|
|
2811
|
+
function hr(e, t) {
|
|
2787
2812
|
let n = [...t.columnHeights], r = t.contentHeight;
|
|
2788
2813
|
for (let i of e) {
|
|
2789
2814
|
let e = 0;
|
|
2790
2815
|
for (let t = 1; t < n.length; t += 1) n[t] < n[e] && (e = t);
|
|
2791
|
-
let a = n[e], o =
|
|
2816
|
+
let a = n[e], o = fr(i, t.columnWidth);
|
|
2792
2817
|
n[e] = a + o + t.gapY, r = Math.max(r, a + o);
|
|
2793
2818
|
}
|
|
2794
2819
|
return r;
|
|
2795
2820
|
}
|
|
2796
|
-
function
|
|
2821
|
+
function gr(e) {
|
|
2797
2822
|
return e.addedItems.length === 0 || e.removedItemCount > 0 || e.isPrepend || e.previousItems.length === 0 || e.layoutItemCount !== e.previousItems.length || e.columnHeights.length !== e.columnCount || e.currentItems.length !== e.previousItems.length + e.addedItems.length ? !1 : e.previousItems.every((t, n) => $(t) === $(e.currentItems[n]));
|
|
2798
2823
|
}
|
|
2799
|
-
function
|
|
2824
|
+
function _r(e) {
|
|
2800
2825
|
if (e.itemCount <= 0) return [];
|
|
2801
2826
|
if (e.viewportHeight <= 0) return Array.from({ length: e.itemCount }, (e, t) => t);
|
|
2802
2827
|
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();
|
|
@@ -2806,11 +2831,11 @@ function mr(e) {
|
|
|
2806
2831
|
}
|
|
2807
2832
|
return Array.from(a).sort((e, t) => e - t);
|
|
2808
2833
|
}
|
|
2809
|
-
function
|
|
2834
|
+
function vr(e) {
|
|
2810
2835
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
2811
2836
|
}
|
|
2812
|
-
function
|
|
2813
|
-
return e.type !== "image" || n / t >=
|
|
2837
|
+
function yr(e, t, n) {
|
|
2838
|
+
return e.type !== "image" || n / t >= cr ? {
|
|
2814
2839
|
width: t,
|
|
2815
2840
|
height: n
|
|
2816
2841
|
} : {
|
|
@@ -2820,9 +2845,9 @@ function gr(e, t, n) {
|
|
|
2820
2845
|
}
|
|
2821
2846
|
//#endregion
|
|
2822
2847
|
//#region src/components/viewer-core/listPreview.ts
|
|
2823
|
-
var
|
|
2824
|
-
function
|
|
2825
|
-
let t =
|
|
2848
|
+
var br = /\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i, xr = /\.(m4v|mov|mp4|mpeg|ogg|ogv|webm)(\?|#|$)/i, Sr = /^(?:(?:https?:)?\/\/[^/]+)?\/api\/files\/[^/?#]+\/(?:preview|downloaded)(?:\?|#|$)/i;
|
|
2849
|
+
function Cr(e) {
|
|
2850
|
+
let t = wr(e), n = t?.url, r = lr(e), i = e.title?.trim() || Yt(e.type);
|
|
2826
2851
|
return t?.mediaType === "video" && typeof n == "string" ? {
|
|
2827
2852
|
kind: "video",
|
|
2828
2853
|
url: n,
|
|
@@ -2841,13 +2866,13 @@ function br(e) {
|
|
|
2841
2866
|
width: r.width,
|
|
2842
2867
|
height: r.height,
|
|
2843
2868
|
label: i
|
|
2844
|
-
} : typeof n == "string" &&
|
|
2869
|
+
} : typeof n == "string" && Er(e, n) ? {
|
|
2845
2870
|
kind: "video",
|
|
2846
2871
|
url: n,
|
|
2847
2872
|
width: r.width,
|
|
2848
2873
|
height: r.height,
|
|
2849
2874
|
label: i
|
|
2850
|
-
} : typeof n == "string" &&
|
|
2875
|
+
} : typeof n == "string" && Tr(e, n) ? {
|
|
2851
2876
|
kind: "image",
|
|
2852
2877
|
url: n,
|
|
2853
2878
|
width: r.width,
|
|
@@ -2861,51 +2886,51 @@ function br(e) {
|
|
|
2861
2886
|
label: i
|
|
2862
2887
|
};
|
|
2863
2888
|
}
|
|
2864
|
-
function
|
|
2889
|
+
function wr(e) {
|
|
2865
2890
|
return e.preview?.url ? e.preview : typeof e.url != "string" || e.url.trim() === "" ? null : { url: e.url };
|
|
2866
2891
|
}
|
|
2867
|
-
function
|
|
2868
|
-
return e.type !== "image" || typeof t != "string" ? !1 :
|
|
2892
|
+
function Tr(e, t) {
|
|
2893
|
+
return e.type !== "image" || typeof t != "string" ? !1 : br.test(t) || Dr(t);
|
|
2869
2894
|
}
|
|
2870
|
-
function
|
|
2871
|
-
return e.type !== "video" || typeof t != "string" ? !1 :
|
|
2895
|
+
function Er(e, t) {
|
|
2896
|
+
return e.type !== "video" || typeof t != "string" ? !1 : xr.test(t) || Or(t);
|
|
2872
2897
|
}
|
|
2873
|
-
function
|
|
2898
|
+
function Dr(e) {
|
|
2874
2899
|
return /^(https?:\/\/|\/\/|\/(?!\/)|\.{1,2}\/|blob:|data:)/i.test(e);
|
|
2875
2900
|
}
|
|
2876
|
-
function
|
|
2877
|
-
return
|
|
2901
|
+
function Or(e) {
|
|
2902
|
+
return Sr.test(e) || /^blob:/i.test(e) || /^data:video\//i.test(e);
|
|
2878
2903
|
}
|
|
2879
2904
|
//#endregion
|
|
2880
2905
|
//#region src/components/viewer-core/fullscreenPreviews.ts
|
|
2881
|
-
function
|
|
2906
|
+
function kr(e, t, n = 2) {
|
|
2882
2907
|
return e.slice(t + 1, t + 1 + n).map((e, n) => ({
|
|
2883
|
-
asset:
|
|
2908
|
+
asset: Cr(e),
|
|
2884
2909
|
index: t + n + 1,
|
|
2885
2910
|
item: e
|
|
2886
2911
|
}));
|
|
2887
2912
|
}
|
|
2888
2913
|
//#endregion
|
|
2889
2914
|
//#region src/components/FullscreenSurface.vue?vue&type=script&setup=true&lang.ts
|
|
2890
|
-
var
|
|
2915
|
+
var Ar = { class: "relative flex h-full min-h-0 flex-col overflow-hidden bg-[#05060a] text-[#f7f1ea]" }, jr = { class: "relative z-[1] flex h-full min-h-0" }, Mr = { class: "relative flex min-h-0 min-w-0 flex-1 flex-col" }, Nr = { class: "relative min-h-0 flex-1" }, Pr = {
|
|
2891
2916
|
key: 0,
|
|
2892
2917
|
class: "relative h-full min-h-0"
|
|
2893
|
-
},
|
|
2918
|
+
}, Fr = [
|
|
2894
2919
|
"data-item-id",
|
|
2895
2920
|
"data-occurrence-key",
|
|
2896
2921
|
"data-index",
|
|
2897
2922
|
"data-active",
|
|
2898
2923
|
"aria-hidden"
|
|
2899
|
-
],
|
|
2924
|
+
], Ir = {
|
|
2900
2925
|
key: 0,
|
|
2901
2926
|
"data-testid": "vibe-asset-spinner",
|
|
2902
2927
|
class: "pointer-events-none absolute inset-0 z-[2] grid place-items-center"
|
|
2903
|
-
},
|
|
2928
|
+
}, Lr = { 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]" }, Rr = ["data-kind"], zr = { class: "grid justify-items-center gap-4 border border-white/14 bg-black/45 px-8 py-7 text-center backdrop-blur-[18px]" }, Br = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, Vr = ["onClick"], Hr = [
|
|
2904
2929
|
"src",
|
|
2905
2930
|
"alt",
|
|
2906
2931
|
"onLoad",
|
|
2907
2932
|
"onError"
|
|
2908
|
-
],
|
|
2933
|
+
], Ur = [
|
|
2909
2934
|
"loop",
|
|
2910
2935
|
"src",
|
|
2911
2936
|
"preload",
|
|
@@ -2924,18 +2949,18 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
2924
2949
|
"onStalled",
|
|
2925
2950
|
"onTimeupdate",
|
|
2926
2951
|
"onWaiting"
|
|
2927
|
-
],
|
|
2952
|
+
], Wr = { class: "relative grid aspect-square w-[clamp(320px,46vw,560px)] max-w-[calc(100vw-2.5rem)] place-items-center" }, Gr = [
|
|
2928
2953
|
"aria-label",
|
|
2929
2954
|
"disabled",
|
|
2930
2955
|
"onClick"
|
|
2931
|
-
],
|
|
2956
|
+
], Kr = ["src", "alt"], qr = {
|
|
2932
2957
|
key: 1,
|
|
2933
2958
|
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]"
|
|
2934
|
-
},
|
|
2959
|
+
}, Jr = { 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]" }, Yr = {
|
|
2935
2960
|
key: 0,
|
|
2936
2961
|
"data-testid": "vibe-asset-spinner",
|
|
2937
2962
|
class: "pointer-events-none absolute inset-0 z-[3] grid place-items-center"
|
|
2938
|
-
},
|
|
2963
|
+
}, Xr = { 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]" }, Zr = ["data-kind"], Qr = { class: "m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70" }, $r = ["onClick"], ei = [
|
|
2939
2964
|
"src",
|
|
2940
2965
|
"preload",
|
|
2941
2966
|
"onCanplay",
|
|
@@ -2951,22 +2976,22 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
2951
2976
|
"onStalled",
|
|
2952
2977
|
"onTimeupdate",
|
|
2953
2978
|
"onWaiting"
|
|
2954
|
-
],
|
|
2979
|
+
], ti = {
|
|
2955
2980
|
key: 2,
|
|
2956
2981
|
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"
|
|
2957
|
-
},
|
|
2982
|
+
}, ni = { 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]" }, ri = {
|
|
2958
2983
|
key: 0,
|
|
2959
2984
|
"data-testid": "vibe-fullscreen-overlay",
|
|
2960
2985
|
class: "pointer-events-none absolute inset-0 z-[6]"
|
|
2961
|
-
},
|
|
2986
|
+
}, ii = { class: "h-full w-full" }, ai = {
|
|
2962
2987
|
key: 0,
|
|
2963
2988
|
"data-testid": "vibe-fullscreen-aside",
|
|
2964
|
-
class: "h-full min-h-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]"
|
|
2965
|
-
},
|
|
2989
|
+
class: "h-full min-h-0 w-[var(--vibe-fullscreen-aside-width,22rem)] shrink-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]"
|
|
2990
|
+
}, oi = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, si = {
|
|
2966
2991
|
key: 0,
|
|
2967
2992
|
"data-testid": "vibe-fullscreen-aside",
|
|
2968
2993
|
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]"
|
|
2969
|
-
},
|
|
2994
|
+
}, ci = { class: "h-full min-h-0 overflow-y-auto overscroll-y-contain" }, li = 1280, ui = 768, di = /* @__PURE__ */ d({
|
|
2970
2995
|
__name: "FullscreenSurface",
|
|
2971
2996
|
props: {
|
|
2972
2997
|
active: {
|
|
@@ -3026,48 +3051,45 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3026
3051
|
},
|
|
3027
3052
|
emits: ["back-to-list", "update:activeIndex"],
|
|
3028
3053
|
setup(e, { emit: n }) {
|
|
3029
|
-
let d = e, f = L(), m = n, h =
|
|
3054
|
+
let d = e, f = L(), m = n, h = Rn(d, (e, t) => {
|
|
3030
3055
|
m("update:activeIndex", t);
|
|
3031
3056
|
}, {
|
|
3032
3057
|
enabled: N(d, "active"),
|
|
3033
3058
|
onAssetError: d.reportAssetError ?? void 0,
|
|
3034
3059
|
onAssetLoad: d.reportAssetLoad ?? void 0
|
|
3035
|
-
}), _ = D(typeof window > "u" ?
|
|
3060
|
+
}), _ = D(typeof window > "u" ? li : window.innerWidth || li), C = cn({
|
|
3036
3061
|
active: N(d, "active"),
|
|
3037
3062
|
items: h.items,
|
|
3038
3063
|
resolvedActiveIndex: h.resolvedActiveIndex,
|
|
3039
3064
|
viewer: h
|
|
3040
|
-
}), T =
|
|
3065
|
+
}), T = Jn({
|
|
3041
3066
|
activeItem: h.activeItem,
|
|
3042
3067
|
getItemKey: C.getItemKey
|
|
3043
|
-
}), E = i(() =>
|
|
3068
|
+
}), E = i(() => Hn(h.activeItem.value?.type ?? "image")), { activeSlideToneStyle: j, activeStageToneStyle: P, updateFromImageElement: I } = qn({
|
|
3044
3069
|
activeItem: h.activeItem,
|
|
3045
3070
|
getItemKey: C.getItemKey,
|
|
3046
3071
|
isImageReady: h.isImageReady,
|
|
3047
3072
|
showDominantImageTone: N(d, "showDominantImageTone")
|
|
3048
|
-
}), R =
|
|
3073
|
+
}), R = Wn({
|
|
3049
3074
|
fullscreenMedia: C,
|
|
3050
|
-
updateDominantToneFromImageElement:
|
|
3075
|
+
updateDominantToneFromImageElement: xe,
|
|
3051
3076
|
viewer: h
|
|
3052
|
-
}), z = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value
|
|
3077
|
+
}), z = i(() => !!h.activeMediaItem.value && !h.activeAssetErrorKind.value), ee = i(() => _.value < ui ? "vertical" : "horizontal"), V = i(() => d.activeIndex >= d.items.length && (d.loading || d.hasNextPage)), U = i(() => {
|
|
3053
3078
|
let e = h.activeItem.value;
|
|
3054
3079
|
return e ? {
|
|
3055
3080
|
hasNextPage: d.hasNextPage,
|
|
3056
3081
|
index: h.resolvedActiveIndex.value,
|
|
3057
3082
|
item: e,
|
|
3058
3083
|
loading: d.loading,
|
|
3059
|
-
nextPreviews:
|
|
3084
|
+
nextPreviews: kr(h.items.value, h.resolvedActiveIndex.value),
|
|
3060
3085
|
paginationDetail: d.paginationDetail,
|
|
3061
3086
|
total: d.items.length
|
|
3062
3087
|
} : null;
|
|
3063
|
-
}),
|
|
3064
|
-
...
|
|
3088
|
+
}), te = i(() => !U.value || !f["fullscreen-header-actions"] ? [] : f["fullscreen-header-actions"](U.value)), W = i(() => !U.value || !f["fullscreen-footer"] ? [] : f["fullscreen-footer"](U.value)), ne = i(() => !U.value || !f["fullscreen-aside"] ? [] : f["fullscreen-aside"](U.value)), G = i(() => !d.showStatusBadges || !U.value || !h.statusKind.value || !h.statusMessage.value ? null : {
|
|
3089
|
+
...U.value,
|
|
3065
3090
|
kind: h.statusKind.value,
|
|
3066
3091
|
message: h.statusMessage.value
|
|
3067
|
-
}),
|
|
3068
|
-
gridTemplateColumns: re.value ? "minmax(0, 1fr) 22rem" : "minmax(0, 1fr) 0rem",
|
|
3069
|
-
transition: "grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
3070
|
-
})), Y = i(() => on(G.value)), X = i(() => on(K.value)), re = i(() => X.value && _.value >= ri), ie = i(() => X.value && !re.value), ae = i(() => on(J.value)), { emptyStateProps: oe, showBadgeEmptyState: ce, showCustomEmptyState: fe, showInlineEmptyState: pe } = ln({
|
|
3092
|
+
}), K = i(() => !G.value || !f["fullscreen-status"] ? [] : f["fullscreen-status"](G.value)), q = i(() => ln(te.value)), re = i(() => ln(ne.value)), J = i(() => ln(W.value)), Y = i(() => re.value && _.value >= li), ie = i(() => re.value && !Y.value), ae = i(() => ln(K.value)), oe = i(() => !!(h.activeItem.value && (d.showBackToList || h.activeItem.value.title || h.items.value.length || q.value))), ce = i(() => d.showEndBadge && h.isAtEnd.value && !h.hasNextPage.value && !h.loading.value), fe = i(() => J.value || !!G.value || ce.value), pe = i(() => z.value ? "pb-[5.75rem] max-[720px]:pb-[7rem]" : ""), { emptyStateProps: X, showBadgeEmptyState: me, showCustomEmptyState: he, showInlineEmptyState: ge } = fn({
|
|
3071
3093
|
emptyStateMode: N(d, "emptyStateMode"),
|
|
3072
3094
|
itemCount: i(() => d.items.length),
|
|
3073
3095
|
loading: N(d, "loading"),
|
|
@@ -3075,30 +3097,30 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3075
3097
|
surface: "fullscreen"
|
|
3076
3098
|
});
|
|
3077
3099
|
S(() => {
|
|
3078
|
-
window.addEventListener("resize",
|
|
3100
|
+
window.addEventListener("resize", _e);
|
|
3079
3101
|
}), x(() => {
|
|
3080
|
-
window.removeEventListener("resize",
|
|
3102
|
+
window.removeEventListener("resize", _e);
|
|
3081
3103
|
});
|
|
3082
|
-
function
|
|
3083
|
-
_.value = window.innerWidth ||
|
|
3104
|
+
function _e() {
|
|
3105
|
+
_.value = window.innerWidth || li;
|
|
3084
3106
|
}
|
|
3085
|
-
function
|
|
3086
|
-
C.registerImageElement(e, t), h.registerImageElement(e, t), t instanceof HTMLImageElement &&
|
|
3107
|
+
function ve(e, t) {
|
|
3108
|
+
C.registerImageElement(e, t), h.registerImageElement(e, t), t instanceof HTMLImageElement && xe(e, t);
|
|
3087
3109
|
}
|
|
3088
|
-
function
|
|
3110
|
+
function ye(e, t) {
|
|
3089
3111
|
C.registerMediaElement(e, t), h.registerVideoElement(e, t), T.registerElement(e, t);
|
|
3090
3112
|
}
|
|
3091
|
-
function
|
|
3113
|
+
function be(e, t) {
|
|
3092
3114
|
C.registerMediaElement(e, t), h.registerAudioElement(e, t);
|
|
3093
3115
|
}
|
|
3094
3116
|
function Z(e, t, n) {
|
|
3095
3117
|
let r = R.onFullscreenMediaEvent(e, t, n), i = n.currentTarget, a = typeof HTMLMediaElement > "u" ? 1 : HTMLMediaElement.HAVE_METADATA;
|
|
3096
3118
|
r && i instanceof HTMLMediaElement && i.readyState >= a && C.settleAssetPreload(r);
|
|
3097
3119
|
}
|
|
3098
|
-
function
|
|
3120
|
+
function xe(e, t) {
|
|
3099
3121
|
I(e, t);
|
|
3100
3122
|
}
|
|
3101
|
-
function
|
|
3123
|
+
function Se(e, t, n) {
|
|
3102
3124
|
let r = R.getHandledItemKey(t, n);
|
|
3103
3125
|
if (!r || (h.onMediaEvent(r, e), !d.loopFullscreenVideo)) return;
|
|
3104
3126
|
let i = e.currentTarget;
|
|
@@ -3109,288 +3131,296 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3109
3131
|
let a = i.play();
|
|
3110
3132
|
a && typeof a.catch == "function" && a.catch(() => {});
|
|
3111
3133
|
}
|
|
3112
|
-
return (e, n) => (w(), s("div",
|
|
3134
|
+
return (e, n) => (w(), s("div", Ar, [
|
|
3113
3135
|
c("div", {
|
|
3114
3136
|
class: v(["absolute inset-0 transition-[background] duration-200", E.value]),
|
|
3115
3137
|
style: b(F(P))
|
|
3116
3138
|
}, null, 6),
|
|
3117
|
-
c("div",
|
|
3118
|
-
|
|
3119
|
-
style: b(ne.value)
|
|
3120
|
-
}, [c("div", {
|
|
3121
|
-
ref: "viewer.stageRef",
|
|
3122
|
-
"data-testid": "vibe-stage",
|
|
3123
|
-
class: "relative h-full min-h-0 touch-none overflow-hidden",
|
|
3124
|
-
onPointerdown: n[1] ||= (...e) => F(h).onPointerDown && F(h).onPointerDown(...e),
|
|
3125
|
-
onPointermove: n[2] ||= (...e) => F(h).onPointerMove && F(h).onPointerMove(...e),
|
|
3126
|
-
onPointerup: n[3] ||= (...e) => F(h).onPointerUp && F(h).onPointerUp(...e),
|
|
3127
|
-
onPointercancel: n[4] ||= (...e) => F(h).onPointerCancel && F(h).onPointerCancel(...e),
|
|
3128
|
-
onWheel: n[5] ||= (...e) => F(h).onWheel && F(h).onWheel(...e)
|
|
3129
|
-
}, [F(h).activeItem.value ? (w(), s("div", Or, [
|
|
3130
|
-
(w(!0), s(t, null, O(F(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
|
|
3131
|
-
key: F(C).getItemKey(r),
|
|
3132
|
-
"data-testid": "vibe-slide",
|
|
3133
|
-
"data-item-id": r.id,
|
|
3134
|
-
"data-occurrence-key": F(C).getItemKey(r),
|
|
3135
|
-
"data-index": i,
|
|
3136
|
-
"data-active": i === F(h).resolvedActiveIndex.value,
|
|
3137
|
-
"aria-hidden": i === F(h).resolvedActiveIndex.value ? "false" : "true",
|
|
3138
|
-
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i === F(h).resolvedActiveIndex.value ? "pointer-events-auto" : "pointer-events-none"]),
|
|
3139
|
-
style: b(F(h).getSlideStyle(i))
|
|
3140
|
-
}, [c("div", {
|
|
3141
|
-
class: v(["absolute inset-0 opacity-85", F(Bn)(r.type)]),
|
|
3142
|
-
style: b(i === F(h).resolvedActiveIndex.value && r.type === "image" ? F(j) : void 0)
|
|
3143
|
-
}, null, 6), F(h).isVisual(r) ? (w(), s("div", {
|
|
3139
|
+
c("div", jr, [c("div", Mr, [
|
|
3140
|
+
oe.value ? (w(), a(Bt, {
|
|
3144
3141
|
key: 0,
|
|
3145
|
-
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === F(h).resolvedActiveIndex.value ? U.value : ""])
|
|
3146
|
-
}, [F(C).isAssetLoading(i, r) ? (w(), s("div", Ar, [c("span", jr, [u(F(se), {
|
|
3147
|
-
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
3148
|
-
"aria-hidden": "true"
|
|
3149
|
-
})])])) : o("", !0), F(C).isAssetErrored(i, r) ? (w(), s("div", {
|
|
3150
|
-
key: 1,
|
|
3151
|
-
"data-testid": "vibe-asset-error",
|
|
3152
|
-
"data-kind": F(C).getAssetErrorKind(r),
|
|
3153
|
-
class: "grid h-full w-full place-items-center"
|
|
3154
|
-
}, [c("div", Nr, [
|
|
3155
|
-
u(F(de), {
|
|
3156
|
-
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
3157
|
-
"aria-hidden": "true"
|
|
3158
|
-
}),
|
|
3159
|
-
c("p", Pr, M(F(C).getAssetErrorLabel(r)), 1),
|
|
3160
|
-
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
3161
|
-
key: 0,
|
|
3162
|
-
type: "button",
|
|
3163
|
-
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",
|
|
3164
|
-
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
3165
|
-
}, " Retry ", 8, Fr)) : o("", !0)
|
|
3166
|
-
])], 8, Mr)) : r.type === "image" ? (w(), s("img", {
|
|
3167
|
-
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3168
|
-
src: F(C).getFullscreenImageSource(i, r),
|
|
3169
|
-
alt: r.title ?? "",
|
|
3170
|
-
crossorigin: "anonymous",
|
|
3171
|
-
draggable: "false",
|
|
3172
|
-
class: v(["block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isImageReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
3173
|
-
ref_for: !0,
|
|
3174
|
-
ref: (e) => he(F(C).getItemKey(r), e),
|
|
3175
|
-
onLoad: (e) => F(R).onFullscreenImageLoad(e, i, r),
|
|
3176
|
-
onError: (e) => F(R).onFullscreenImageError(i, r)
|
|
3177
|
-
}, null, 42, Ir)) : (w(), s("video", {
|
|
3178
|
-
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3179
|
-
class: v(["block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isMediaReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
3180
|
-
playsinline: "",
|
|
3181
|
-
loop: d.loopFullscreenVideo,
|
|
3182
|
-
src: F(C).getFullscreenMediaSource(i, r),
|
|
3183
|
-
preload: F(C).getFullscreenMediaPreload(i),
|
|
3184
|
-
ref_for: !0,
|
|
3185
|
-
ref: (e) => ge(F(C).getItemKey(r), e),
|
|
3186
|
-
onClick: H((e) => F(h).onVideoClick(e, F(C).getItemKey(r)), ["stop"]),
|
|
3187
|
-
onCanplay: (e) => Z(i, r, e),
|
|
3188
|
-
onDurationchange: (e) => Z(i, r, e),
|
|
3189
|
-
onEnded: (e) => ye(e, i, r),
|
|
3190
|
-
onError: (e) => F(R).onFullscreenMediaError(i, r),
|
|
3191
|
-
onLoadstart: (e) => Z(i, r, e),
|
|
3192
|
-
onLoadedmetadata: (e) => Z(i, r, e),
|
|
3193
|
-
onPause: (e) => Z(i, r, e),
|
|
3194
|
-
onPlay: (e) => Z(i, r, e),
|
|
3195
|
-
onPlaying: (e) => Z(i, r, e),
|
|
3196
|
-
onSeeking: (e) => Z(i, r, e),
|
|
3197
|
-
onSeeked: (e) => Z(i, r, e),
|
|
3198
|
-
onStalled: (e) => Z(i, r, e),
|
|
3199
|
-
onTimeupdate: (e) => Z(i, r, e),
|
|
3200
|
-
onWaiting: (e) => Z(i, r, e)
|
|
3201
|
-
}, null, 42, Lr))], 2)) : F(h).isAudio(r) ? (w(), s("div", {
|
|
3202
|
-
key: 1,
|
|
3203
|
-
class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i === F(h).resolvedActiveIndex.value ? U.value : ""])
|
|
3204
|
-
}, [c("div", Rr, [
|
|
3205
|
-
c("button", {
|
|
3206
|
-
type: "button",
|
|
3207
|
-
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]",
|
|
3208
|
-
"aria-label": F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(C).getMediaActionLabel("Play", r) : F(C).getMediaActionLabel("Pause", r),
|
|
3209
|
-
disabled: !!F(C).getAssetErrorKind(r),
|
|
3210
|
-
onClick: (e) => F(h).onAudioCoverClick(e, F(C).getItemKey(r))
|
|
3211
|
-
}, [
|
|
3212
|
-
F(C).getFullscreenAudioCoverSource(r) ? (w(), s("img", {
|
|
3213
|
-
key: 0,
|
|
3214
|
-
"data-testid": "vibe-fullscreen-audio-cover",
|
|
3215
|
-
src: F(C).getFullscreenAudioCoverSource(r) ?? void 0,
|
|
3216
|
-
alt: r.title ?? "",
|
|
3217
|
-
draggable: "false",
|
|
3218
|
-
class: "pointer-events-none absolute inset-0 h-full w-full object-cover"
|
|
3219
|
-
}, null, 8, Br)) : o("", !0),
|
|
3220
|
-
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),
|
|
3221
|
-
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),
|
|
3222
|
-
F(C).getFullscreenAudioCoverSource(r) ? o("", !0) : (w(), s("span", Vr, [k(e.$slots, "item-icon", {
|
|
3223
|
-
icon: F(Gt)(r.type),
|
|
3224
|
-
item: r
|
|
3225
|
-
}, () => [(w(), a(A(F(Gt)(r.type)), {
|
|
3226
|
-
class: "h-6 w-6 stroke-[1.9]",
|
|
3227
|
-
"aria-hidden": "true"
|
|
3228
|
-
}))])])),
|
|
3229
|
-
c("span", Hr, [(w(), a(A(F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(ue) : F(le)), {
|
|
3230
|
-
class: "h-4 w-4 stroke-2",
|
|
3231
|
-
"aria-hidden": "true"
|
|
3232
|
-
}))])
|
|
3233
|
-
], 8, zr),
|
|
3234
|
-
F(C).isAssetLoading(i, r) ? (w(), s("div", Ur, [c("span", Wr, [u(F(se), {
|
|
3235
|
-
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
3236
|
-
"aria-hidden": "true"
|
|
3237
|
-
})])])) : o("", !0),
|
|
3238
|
-
F(C).getAssetErrorKind(r) ? (w(), s(t, { key: 1 }, [n[8] ||= c("div", { class: "pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(239,68,68,0.12),transparent_66%)]" }, null, -1), c("div", {
|
|
3239
|
-
"data-testid": "vibe-asset-error",
|
|
3240
|
-
"data-kind": F(C).getAssetErrorKind(r),
|
|
3241
|
-
class: "relative z-[1] grid justify-items-center gap-4"
|
|
3242
|
-
}, [
|
|
3243
|
-
u(F(de), {
|
|
3244
|
-
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
3245
|
-
"aria-hidden": "true"
|
|
3246
|
-
}),
|
|
3247
|
-
c("p", Kr, M(F(C).getAssetErrorLabel(r)), 1),
|
|
3248
|
-
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
3249
|
-
key: 0,
|
|
3250
|
-
type: "button",
|
|
3251
|
-
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",
|
|
3252
|
-
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
3253
|
-
}, " Retry ", 8, qr)) : o("", !0)
|
|
3254
|
-
], 8, Gr)], 64)) : o("", !0)
|
|
3255
|
-
]), (w(), s("audio", {
|
|
3256
|
-
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3257
|
-
src: F(C).getFullscreenMediaSource(i, r),
|
|
3258
|
-
preload: F(C).getFullscreenMediaPreload(i),
|
|
3259
|
-
class: "pointer-events-none absolute h-px w-px opacity-0",
|
|
3260
|
-
ref_for: !0,
|
|
3261
|
-
ref: (e) => _e(F(C).getItemKey(r), e),
|
|
3262
|
-
onCanplay: (e) => Z(i, r, e),
|
|
3263
|
-
onDurationchange: (e) => Z(i, r, e),
|
|
3264
|
-
onError: (e) => F(R).onFullscreenMediaError(i, r),
|
|
3265
|
-
onLoadstart: (e) => Z(i, r, e),
|
|
3266
|
-
onLoadedmetadata: (e) => Z(i, r, e),
|
|
3267
|
-
onPause: (e) => Z(i, r, e),
|
|
3268
|
-
onPlay: (e) => Z(i, r, e),
|
|
3269
|
-
onPlaying: (e) => Z(i, r, e),
|
|
3270
|
-
onSeeking: (e) => Z(i, r, e),
|
|
3271
|
-
onSeeked: (e) => Z(i, r, e),
|
|
3272
|
-
onStalled: (e) => Z(i, r, e),
|
|
3273
|
-
onTimeupdate: (e) => Z(i, r, e),
|
|
3274
|
-
onWaiting: (e) => Z(i, r, e)
|
|
3275
|
-
}, null, 40, Jr))], 2)) : (w(), s("div", Yr, [c("div", Xr, [k(e.$slots, "item-icon", {
|
|
3276
|
-
icon: F(Gt)(r.type),
|
|
3277
|
-
item: r
|
|
3278
|
-
}, () => [(w(), a(A(F(Gt)(r.type)), {
|
|
3279
|
-
class: "h-6 w-6 stroke-[1.9]",
|
|
3280
|
-
"aria-hidden": "true"
|
|
3281
|
-
}))])])]))], 14, kr))), 128)),
|
|
3282
|
-
W.value && f["fullscreen-overlay"] ? (w(), s("div", Zr, [c("div", Qr, [k(e.$slots, "fullscreen-overlay", y(p(W.value)))])])) : o("", !0),
|
|
3283
|
-
F(h).activeItem.value ? (w(), a(Ht, {
|
|
3284
|
-
key: 1,
|
|
3285
3142
|
"current-index": F(h).resolvedActiveIndex.value,
|
|
3286
3143
|
loading: d.loading,
|
|
3287
3144
|
"pagination-detail": F(h).paginationDetail.value,
|
|
3288
3145
|
"show-back-to-list": d.showBackToList,
|
|
3289
|
-
|
|
3290
|
-
title: F(h).activeItem.value.title ?? null,
|
|
3146
|
+
title: F(h).activeItem.value?.title ?? null,
|
|
3291
3147
|
total: F(h).items.value.length,
|
|
3292
3148
|
onBackToList: n[0] ||= (e) => m("back-to-list")
|
|
3293
|
-
}, l({ _: 2 }, [
|
|
3149
|
+
}, l({ _: 2 }, [q.value && U.value ? {
|
|
3294
3150
|
name: "actions",
|
|
3295
|
-
fn: B(() => [k(e.$slots, "fullscreen-header-actions", y(p(
|
|
3151
|
+
fn: B(() => [k(e.$slots, "fullscreen-header-actions", y(p(U.value)))]),
|
|
3296
3152
|
key: "0"
|
|
3297
3153
|
} : void 0]), 1032, [
|
|
3298
3154
|
"current-index",
|
|
3299
3155
|
"loading",
|
|
3300
3156
|
"pagination-detail",
|
|
3301
3157
|
"show-back-to-list",
|
|
3302
|
-
"show-end-badge",
|
|
3303
3158
|
"title",
|
|
3304
3159
|
"total"
|
|
3305
3160
|
])) : o("", !0),
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
"
|
|
3309
|
-
"
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3161
|
+
c("div", Nr, [c("div", {
|
|
3162
|
+
ref: "viewer.stageRef",
|
|
3163
|
+
"data-testid": "vibe-stage",
|
|
3164
|
+
class: "relative h-full min-h-0 touch-none overflow-hidden",
|
|
3165
|
+
onPointerdown: n[1] ||= (...e) => F(h).onPointerDown && F(h).onPointerDown(...e),
|
|
3166
|
+
onPointermove: n[2] ||= (...e) => F(h).onPointerMove && F(h).onPointerMove(...e),
|
|
3167
|
+
onPointerup: n[3] ||= (...e) => F(h).onPointerUp && F(h).onPointerUp(...e),
|
|
3168
|
+
onPointercancel: n[4] ||= (...e) => F(h).onPointerCancel && F(h).onPointerCancel(...e),
|
|
3169
|
+
onWheel: n[5] ||= (...e) => F(h).onWheel && F(h).onWheel(...e)
|
|
3170
|
+
}, [F(h).activeItem.value ? (w(), s("div", Pr, [
|
|
3171
|
+
(w(!0), s(t, null, O(F(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
|
|
3172
|
+
key: F(C).getItemKey(r),
|
|
3173
|
+
"data-testid": "vibe-slide",
|
|
3174
|
+
"data-item-id": r.id,
|
|
3175
|
+
"data-occurrence-key": F(C).getItemKey(r),
|
|
3176
|
+
"data-index": i,
|
|
3177
|
+
"data-active": i === F(h).resolvedActiveIndex.value,
|
|
3178
|
+
"aria-hidden": i === F(h).resolvedActiveIndex.value ? "false" : "true",
|
|
3179
|
+
class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i === F(h).resolvedActiveIndex.value ? "pointer-events-auto" : "pointer-events-none"]),
|
|
3180
|
+
style: b(F(h).getSlideStyle(i))
|
|
3181
|
+
}, [c("div", {
|
|
3182
|
+
class: v(["absolute inset-0 opacity-85", F(Un)(r.type)]),
|
|
3183
|
+
style: b(i === F(h).resolvedActiveIndex.value && r.type === "image" ? F(j) : void 0)
|
|
3184
|
+
}, null, 6), F(h).isVisual(r) ? (w(), s("div", {
|
|
3185
|
+
key: 0,
|
|
3186
|
+
class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === F(h).resolvedActiveIndex.value ? pe.value : ""])
|
|
3187
|
+
}, [F(C).isAssetLoading(i, r) ? (w(), s("div", Ir, [c("span", Lr, [u(F(se), {
|
|
3188
|
+
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
3189
|
+
"aria-hidden": "true"
|
|
3190
|
+
})])])) : o("", !0), F(C).isAssetErrored(i, r) ? (w(), s("div", {
|
|
3191
|
+
key: 1,
|
|
3192
|
+
"data-testid": "vibe-asset-error",
|
|
3193
|
+
"data-kind": F(C).getAssetErrorKind(r),
|
|
3194
|
+
class: "grid h-full w-full place-items-center"
|
|
3195
|
+
}, [c("div", zr, [
|
|
3196
|
+
u(F(de), {
|
|
3197
|
+
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
3198
|
+
"aria-hidden": "true"
|
|
3199
|
+
}),
|
|
3200
|
+
c("p", Br, M(F(C).getAssetErrorLabel(r)), 1),
|
|
3201
|
+
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
3202
|
+
key: 0,
|
|
3203
|
+
type: "button",
|
|
3204
|
+
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",
|
|
3205
|
+
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
3206
|
+
}, " Retry ", 8, Vr)) : o("", !0)
|
|
3207
|
+
])], 8, Rr)) : r.type === "image" ? (w(), s("img", {
|
|
3208
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3209
|
+
src: F(C).getFullscreenImageSource(i, r),
|
|
3210
|
+
alt: r.title ?? "",
|
|
3211
|
+
crossorigin: "anonymous",
|
|
3212
|
+
draggable: "false",
|
|
3213
|
+
class: v(["block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isImageReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
3214
|
+
ref_for: !0,
|
|
3215
|
+
ref: (e) => ve(F(C).getItemKey(r), e),
|
|
3216
|
+
onLoad: (e) => F(R).onFullscreenImageLoad(e, i, r),
|
|
3217
|
+
onError: (e) => F(R).onFullscreenImageError(i, r)
|
|
3218
|
+
}, null, 42, Hr)) : (w(), s("video", {
|
|
3219
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3220
|
+
class: v(["block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", F(h).isMediaReady(F(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
|
|
3221
|
+
playsinline: "",
|
|
3222
|
+
loop: d.loopFullscreenVideo,
|
|
3223
|
+
src: F(C).getFullscreenMediaSource(i, r),
|
|
3224
|
+
preload: F(C).getFullscreenMediaPreload(i),
|
|
3225
|
+
ref_for: !0,
|
|
3226
|
+
ref: (e) => ye(F(C).getItemKey(r), e),
|
|
3227
|
+
onClick: H((e) => F(h).onVideoClick(e, F(C).getItemKey(r)), ["stop"]),
|
|
3228
|
+
onCanplay: (e) => Z(i, r, e),
|
|
3229
|
+
onDurationchange: (e) => Z(i, r, e),
|
|
3230
|
+
onEnded: (e) => Se(e, i, r),
|
|
3231
|
+
onError: (e) => F(R).onFullscreenMediaError(i, r),
|
|
3232
|
+
onLoadstart: (e) => Z(i, r, e),
|
|
3233
|
+
onLoadedmetadata: (e) => Z(i, r, e),
|
|
3234
|
+
onPause: (e) => Z(i, r, e),
|
|
3235
|
+
onPlay: (e) => Z(i, r, e),
|
|
3236
|
+
onPlaying: (e) => Z(i, r, e),
|
|
3237
|
+
onSeeking: (e) => Z(i, r, e),
|
|
3238
|
+
onSeeked: (e) => Z(i, r, e),
|
|
3239
|
+
onStalled: (e) => Z(i, r, e),
|
|
3240
|
+
onTimeupdate: (e) => Z(i, r, e),
|
|
3241
|
+
onWaiting: (e) => Z(i, r, e)
|
|
3242
|
+
}, null, 42, Ur))], 2)) : F(h).isAudio(r) ? (w(), s("div", {
|
|
3243
|
+
key: 1,
|
|
3244
|
+
class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i === F(h).resolvedActiveIndex.value ? pe.value : ""])
|
|
3245
|
+
}, [c("div", Wr, [
|
|
3246
|
+
c("button", {
|
|
3247
|
+
type: "button",
|
|
3248
|
+
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]",
|
|
3249
|
+
"aria-label": F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(C).getMediaActionLabel("Play", r) : F(C).getMediaActionLabel("Pause", r),
|
|
3250
|
+
disabled: !!F(C).getAssetErrorKind(r),
|
|
3251
|
+
onClick: (e) => F(h).onAudioCoverClick(e, F(C).getItemKey(r))
|
|
3252
|
+
}, [
|
|
3253
|
+
F(C).getFullscreenAudioCoverSource(r) ? (w(), s("img", {
|
|
3254
|
+
key: 0,
|
|
3255
|
+
"data-testid": "vibe-fullscreen-audio-cover",
|
|
3256
|
+
src: F(C).getFullscreenAudioCoverSource(r) ?? void 0,
|
|
3257
|
+
alt: r.title ?? "",
|
|
3258
|
+
draggable: "false",
|
|
3259
|
+
class: "pointer-events-none absolute inset-0 h-full w-full object-cover"
|
|
3260
|
+
}, null, 8, Kr)) : o("", !0),
|
|
3261
|
+
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),
|
|
3262
|
+
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),
|
|
3263
|
+
F(C).getFullscreenAudioCoverSource(r) ? o("", !0) : (w(), s("span", qr, [k(e.$slots, "item-icon", {
|
|
3264
|
+
icon: F(Jt)(r.type),
|
|
3265
|
+
item: r
|
|
3266
|
+
}, () => [(w(), a(A(F(Jt)(r.type)), {
|
|
3267
|
+
class: "h-6 w-6 stroke-[1.9]",
|
|
3268
|
+
"aria-hidden": "true"
|
|
3269
|
+
}))])])),
|
|
3270
|
+
c("span", Jr, [(w(), a(A(F(h).mediaStates.value[F(C).getItemKey(r)]?.paused ?? !0 ? F(ue) : F(le)), {
|
|
3271
|
+
class: "h-4 w-4 stroke-2",
|
|
3272
|
+
"aria-hidden": "true"
|
|
3273
|
+
}))])
|
|
3274
|
+
], 8, Gr),
|
|
3275
|
+
F(C).isAssetLoading(i, r) ? (w(), s("div", Yr, [c("span", Xr, [u(F(se), {
|
|
3276
|
+
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
3277
|
+
"aria-hidden": "true"
|
|
3278
|
+
})])])) : o("", !0),
|
|
3279
|
+
F(C).getAssetErrorKind(r) ? (w(), s(t, { key: 1 }, [n[8] ||= c("div", { class: "pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(239,68,68,0.12),transparent_66%)]" }, null, -1), c("div", {
|
|
3280
|
+
"data-testid": "vibe-asset-error",
|
|
3281
|
+
"data-kind": F(C).getAssetErrorKind(r),
|
|
3282
|
+
class: "relative z-[1] grid justify-items-center gap-4"
|
|
3283
|
+
}, [
|
|
3284
|
+
u(F(de), {
|
|
3285
|
+
class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
|
|
3286
|
+
"aria-hidden": "true"
|
|
3287
|
+
}),
|
|
3288
|
+
c("p", Qr, M(F(C).getAssetErrorLabel(r)), 1),
|
|
3289
|
+
F(h).canRetryAsset(F(C).getItemKey(r)) ? (w(), s("button", {
|
|
3290
|
+
key: 0,
|
|
3291
|
+
type: "button",
|
|
3292
|
+
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",
|
|
3293
|
+
onClick: H((e) => F(h).retryAsset(F(C).getItemKey(r)), ["stop"])
|
|
3294
|
+
}, " Retry ", 8, $r)) : o("", !0)
|
|
3295
|
+
], 8, Zr)], 64)) : o("", !0)
|
|
3296
|
+
]), (w(), s("audio", {
|
|
3297
|
+
key: F(h).getAssetRenderKey(F(C).getItemKey(r)),
|
|
3298
|
+
src: F(C).getFullscreenMediaSource(i, r),
|
|
3299
|
+
preload: F(C).getFullscreenMediaPreload(i),
|
|
3300
|
+
class: "pointer-events-none absolute h-px w-px opacity-0",
|
|
3301
|
+
ref_for: !0,
|
|
3302
|
+
ref: (e) => be(F(C).getItemKey(r), e),
|
|
3303
|
+
onCanplay: (e) => Z(i, r, e),
|
|
3304
|
+
onDurationchange: (e) => Z(i, r, e),
|
|
3305
|
+
onError: (e) => F(R).onFullscreenMediaError(i, r),
|
|
3306
|
+
onLoadstart: (e) => Z(i, r, e),
|
|
3307
|
+
onLoadedmetadata: (e) => Z(i, r, e),
|
|
3308
|
+
onPause: (e) => Z(i, r, e),
|
|
3309
|
+
onPlay: (e) => Z(i, r, e),
|
|
3310
|
+
onPlaying: (e) => Z(i, r, e),
|
|
3311
|
+
onSeeking: (e) => Z(i, r, e),
|
|
3312
|
+
onSeeked: (e) => Z(i, r, e),
|
|
3313
|
+
onStalled: (e) => Z(i, r, e),
|
|
3314
|
+
onTimeupdate: (e) => Z(i, r, e),
|
|
3315
|
+
onWaiting: (e) => Z(i, r, e)
|
|
3316
|
+
}, null, 40, ei))], 2)) : (w(), s("div", ti, [c("div", ni, [k(e.$slots, "item-icon", {
|
|
3317
|
+
icon: F(Jt)(r.type),
|
|
3318
|
+
item: r
|
|
3319
|
+
}, () => [(w(), a(A(F(Jt)(r.type)), {
|
|
3320
|
+
class: "h-6 w-6 stroke-[1.9]",
|
|
3321
|
+
"aria-hidden": "true"
|
|
3322
|
+
}))])])]))], 14, Fr))), 128)),
|
|
3323
|
+
U.value && f["fullscreen-overlay"] ? (w(), s("div", ri, [c("div", ii, [k(e.$slots, "fullscreen-overlay", y(p(U.value)))])])) : o("", !0),
|
|
3324
|
+
z.value ? (w(), a(jt, {
|
|
3325
|
+
key: 1,
|
|
3326
|
+
"current-time": F(h).activeMediaState.value.currentTime,
|
|
3327
|
+
"current-time-label": F(h).formatPlaybackTime(F(h).activeMediaState.value.currentTime),
|
|
3328
|
+
duration: F(h).activeMediaDuration.value,
|
|
3329
|
+
"duration-label": F(h).formatPlaybackTime(F(h).activeMediaDuration.value),
|
|
3330
|
+
muted: F(h).activeMediaState.value.muted,
|
|
3331
|
+
progress: F(h).activeMediaProgress.value,
|
|
3332
|
+
"show-fullscreen-control": F(h).activeMediaItem.value?.type === "video",
|
|
3333
|
+
volume: F(h).activeMediaState.value.volume,
|
|
3334
|
+
"volume-control-layout": ee.value,
|
|
3335
|
+
onFullscreenRequest: F(T).request,
|
|
3336
|
+
onSeekInput: F(h).onMediaSeekInput,
|
|
3337
|
+
onVolumeInput: F(h).onMediaVolumeInput,
|
|
3338
|
+
onVolumeToggle: F(h).onMediaVolumeToggle
|
|
3339
|
+
}, null, 8, [
|
|
3340
|
+
"current-time",
|
|
3341
|
+
"current-time-label",
|
|
3342
|
+
"duration",
|
|
3343
|
+
"duration-label",
|
|
3344
|
+
"muted",
|
|
3345
|
+
"progress",
|
|
3346
|
+
"show-fullscreen-control",
|
|
3347
|
+
"volume",
|
|
3348
|
+
"volume-control-layout",
|
|
3349
|
+
"onFullscreenRequest",
|
|
3350
|
+
"onSeekInput",
|
|
3351
|
+
"onVolumeInput",
|
|
3352
|
+
"onVolumeToggle"
|
|
3353
|
+
])) : o("", !0)
|
|
3354
|
+
])) : V.value ? (w(), a(rr, {
|
|
3355
|
+
key: 1,
|
|
3356
|
+
"fill-collected-count": d.fillCollectedCount,
|
|
3357
|
+
"fill-completed-calls": d.fillCompletedCalls,
|
|
3358
|
+
"fill-loaded-count": d.fillLoadedCount,
|
|
3359
|
+
"fill-mode": d.fillMode,
|
|
3360
|
+
"fill-progress": d.fillProgress,
|
|
3361
|
+
"fill-target-calls": d.fillTargetCalls,
|
|
3362
|
+
"fill-target-count": d.fillTargetCount,
|
|
3363
|
+
"fill-total-count": d.fillTotalCount,
|
|
3364
|
+
"has-next-page": d.hasNextPage,
|
|
3365
|
+
phase: d.phase,
|
|
3366
|
+
"status-message": F(h).statusMessage.value
|
|
3321
3367
|
}, null, 8, [
|
|
3322
|
-
"
|
|
3323
|
-
"
|
|
3324
|
-
"
|
|
3325
|
-
"
|
|
3326
|
-
"
|
|
3327
|
-
"
|
|
3328
|
-
"
|
|
3329
|
-
"
|
|
3330
|
-
"
|
|
3331
|
-
"
|
|
3332
|
-
"
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3368
|
+
"fill-collected-count",
|
|
3369
|
+
"fill-completed-calls",
|
|
3370
|
+
"fill-loaded-count",
|
|
3371
|
+
"fill-mode",
|
|
3372
|
+
"fill-progress",
|
|
3373
|
+
"fill-target-calls",
|
|
3374
|
+
"fill-target-count",
|
|
3375
|
+
"fill-total-count",
|
|
3376
|
+
"has-next-page",
|
|
3377
|
+
"phase",
|
|
3378
|
+
"status-message"
|
|
3379
|
+
])) : F(ge) && F(X) ? (w(), a(or, {
|
|
3380
|
+
key: 2,
|
|
3381
|
+
message: F(X).message,
|
|
3382
|
+
mode: F(X).mode,
|
|
3383
|
+
surface: F(X).surface
|
|
3384
|
+
}, {
|
|
3385
|
+
default: B(() => [F(he) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(X)))) : o("", !0)]),
|
|
3386
|
+
_: 3
|
|
3387
|
+
}, 8, [
|
|
3388
|
+
"message",
|
|
3389
|
+
"mode",
|
|
3390
|
+
"surface"
|
|
3391
|
+
])) : o("", !0), F(me) && F(X) ? (w(), a(or, {
|
|
3337
3392
|
key: 3,
|
|
3338
|
-
|
|
3339
|
-
|
|
3393
|
+
message: F(X).message,
|
|
3394
|
+
mode: F(X).mode,
|
|
3395
|
+
surface: F(X).surface
|
|
3396
|
+
}, {
|
|
3397
|
+
default: B(() => [F(he) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(X)))) : o("", !0)]),
|
|
3398
|
+
_: 3
|
|
3399
|
+
}, 8, [
|
|
3400
|
+
"message",
|
|
3401
|
+
"mode",
|
|
3402
|
+
"surface"
|
|
3403
|
+
])) : o("", !0)], 544)]),
|
|
3404
|
+
fe.value ? (w(), a(Gt, {
|
|
3340
3405
|
key: 1,
|
|
3341
|
-
"
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
"fill-completed-calls",
|
|
3360
|
-
"fill-loaded-count",
|
|
3361
|
-
"fill-mode",
|
|
3362
|
-
"fill-progress",
|
|
3363
|
-
"fill-target-calls",
|
|
3364
|
-
"fill-target-count",
|
|
3365
|
-
"fill-total-count",
|
|
3366
|
-
"has-next-page",
|
|
3367
|
-
"phase",
|
|
3368
|
-
"status-message"
|
|
3369
|
-
])) : F(pe) && F(oe) ? (w(), a(rr, {
|
|
3370
|
-
key: 2,
|
|
3371
|
-
message: F(oe).message,
|
|
3372
|
-
mode: F(oe).mode,
|
|
3373
|
-
surface: F(oe).surface
|
|
3374
|
-
}, {
|
|
3375
|
-
default: B(() => [F(fe) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(oe)))) : o("", !0)]),
|
|
3376
|
-
_: 3
|
|
3377
|
-
}, 8, [
|
|
3378
|
-
"message",
|
|
3379
|
-
"mode",
|
|
3380
|
-
"surface"
|
|
3381
|
-
])) : o("", !0), F(ce) && F(oe) ? (w(), a(rr, {
|
|
3382
|
-
key: 3,
|
|
3383
|
-
message: F(oe).message,
|
|
3384
|
-
mode: F(oe).mode,
|
|
3385
|
-
surface: F(oe).surface
|
|
3386
|
-
}, {
|
|
3387
|
-
default: B(() => [F(fe) ? k(e.$slots, "empty-state", y(g({ key: 0 }, F(oe)))) : o("", !0)]),
|
|
3388
|
-
_: 3
|
|
3389
|
-
}, 8, [
|
|
3390
|
-
"message",
|
|
3391
|
-
"mode",
|
|
3392
|
-
"surface"
|
|
3393
|
-
])) : o("", !0)], 544), u(r, {
|
|
3406
|
+
"show-end-badge": ce.value,
|
|
3407
|
+
"show-status": !!G.value,
|
|
3408
|
+
"status-kind": G.value?.kind ?? null,
|
|
3409
|
+
"status-message": G.value?.message ?? null
|
|
3410
|
+
}, l({
|
|
3411
|
+
default: B(() => [J.value && U.value ? k(e.$slots, "fullscreen-footer", y(g({ key: 0 }, U.value))) : o("", !0)]),
|
|
3412
|
+
_: 2
|
|
3413
|
+
}, [ae.value && G.value ? {
|
|
3414
|
+
name: "status",
|
|
3415
|
+
fn: B(() => [k(e.$slots, "fullscreen-status", y(p(G.value)))]),
|
|
3416
|
+
key: "0"
|
|
3417
|
+
} : void 0]), 1032, [
|
|
3418
|
+
"show-end-badge",
|
|
3419
|
+
"show-status",
|
|
3420
|
+
"status-kind",
|
|
3421
|
+
"status-message"
|
|
3422
|
+
])) : o("", !0)
|
|
3423
|
+
]), u(r, {
|
|
3394
3424
|
"enter-active-class": "transform-gpu transition-all duration-320 ease-out",
|
|
3395
3425
|
"enter-from-class": "translate-x-full opacity-0",
|
|
3396
3426
|
"enter-to-class": "translate-x-0 opacity-100",
|
|
@@ -3398,9 +3428,9 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3398
3428
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
3399
3429
|
"leave-to-class": "translate-x-full opacity-0"
|
|
3400
3430
|
}, {
|
|
3401
|
-
default: B(() => [
|
|
3431
|
+
default: B(() => [Y.value && U.value ? (w(), s("aside", ai, [c("div", oi, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
|
|
3402
3432
|
_: 3
|
|
3403
|
-
})]
|
|
3433
|
+
})]),
|
|
3404
3434
|
u(r, {
|
|
3405
3435
|
"enter-active-class": "transform-gpu transition-all duration-320 ease-out",
|
|
3406
3436
|
"enter-from-class": "translate-x-full opacity-0",
|
|
@@ -3409,7 +3439,7 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3409
3439
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
3410
3440
|
"leave-to-class": "translate-x-full opacity-0"
|
|
3411
3441
|
}, {
|
|
3412
|
-
default: B(() => [ie.value &&
|
|
3442
|
+
default: B(() => [ie.value && U.value ? (w(), s("aside", si, [c("div", ci, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
|
|
3413
3443
|
_: 3
|
|
3414
3444
|
})
|
|
3415
3445
|
]));
|
|
@@ -3417,10 +3447,10 @@ var Dr = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f
|
|
|
3417
3447
|
});
|
|
3418
3448
|
//#endregion
|
|
3419
3449
|
//#region src/components/viewer-core/masonryLayoutState.ts
|
|
3420
|
-
function
|
|
3450
|
+
function fi(e) {
|
|
3421
3451
|
let t = j([]), n = j([]), r = j(/* @__PURE__ */ new Map()), i = j(0), a = j(/* @__PURE__ */ new Map()), o = j([]);
|
|
3422
3452
|
function s(s, c, l) {
|
|
3423
|
-
let u =
|
|
3453
|
+
let u = pr(s, {
|
|
3424
3454
|
columnCount: c,
|
|
3425
3455
|
columnWidth: l,
|
|
3426
3456
|
gapX: e.gapPx,
|
|
@@ -3430,7 +3460,7 @@ function oi(e) {
|
|
|
3430
3460
|
t.value = u.positions.map(d), n.value = u.heights, r.value = u.buckets, i.value = u.contentHeight, a.value = u.indexById, o.value = u.columnHeights;
|
|
3431
3461
|
}
|
|
3432
3462
|
function c(s, c, l, d) {
|
|
3433
|
-
i.value =
|
|
3463
|
+
i.value = mr(u(), s, {
|
|
3434
3464
|
columnCount: l,
|
|
3435
3465
|
columnWidth: d,
|
|
3436
3466
|
gapX: e.gapPx,
|
|
@@ -3442,7 +3472,7 @@ function oi(e) {
|
|
|
3442
3472
|
}).contentHeight, P(t), P(n), P(r), P(a), P(o);
|
|
3443
3473
|
}
|
|
3444
3474
|
function l(e, n, r, i) {
|
|
3445
|
-
return
|
|
3475
|
+
return gr({
|
|
3446
3476
|
addedItems: r.addedItems,
|
|
3447
3477
|
columnCount: i,
|
|
3448
3478
|
columnHeights: o.value,
|
|
@@ -3483,24 +3513,24 @@ function oi(e) {
|
|
|
3483
3513
|
}
|
|
3484
3514
|
//#endregion
|
|
3485
3515
|
//#region src/components/viewer-core/useMasonryMotion.ts
|
|
3486
|
-
var
|
|
3487
|
-
function
|
|
3516
|
+
var pi = 300, mi = 600, hi = 40, gi = 300, _i = 400, vi = 300;
|
|
3517
|
+
function yi(e, t) {
|
|
3488
3518
|
return t === "top" ? [...e].reverse() : e;
|
|
3489
3519
|
}
|
|
3490
|
-
function
|
|
3491
|
-
return e <= 0 ?
|
|
3520
|
+
function bi(e) {
|
|
3521
|
+
return e <= 0 ? mi : mi + Math.min((e - 1) * hi, _i);
|
|
3492
3522
|
}
|
|
3493
|
-
function
|
|
3523
|
+
function xi(e, t, n = vi) {
|
|
3494
3524
|
return e + t > n;
|
|
3495
3525
|
}
|
|
3496
|
-
function
|
|
3497
|
-
return
|
|
3526
|
+
function Si() {
|
|
3527
|
+
return gi;
|
|
3498
3528
|
}
|
|
3499
|
-
function
|
|
3529
|
+
function Ci(e) {
|
|
3500
3530
|
let t = e.itemHeight > 0 ? e.itemHeight : e.columnWidth;
|
|
3501
3531
|
return e.direction === "top" ? e.scrollTop - t : e.scrollTop + e.viewportHeight + t;
|
|
3502
3532
|
}
|
|
3503
|
-
function
|
|
3533
|
+
function wi(e) {
|
|
3504
3534
|
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()));
|
|
3505
3535
|
z(e.visibleIndices, (i) => {
|
|
3506
3536
|
if (!i.length) return;
|
|
@@ -3510,20 +3540,20 @@ function vi(e) {
|
|
|
3510
3540
|
!r || !t.value.has(r) || d.has(r) || (d.add(r), o.push(r));
|
|
3511
3541
|
}
|
|
3512
3542
|
if (!o.length) return;
|
|
3513
|
-
let s =
|
|
3514
|
-
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e *
|
|
3515
|
-
r.value = c,
|
|
3543
|
+
let s = yi(o, a.value.get(o[0]) ?? "bottom"), c = new Map(r.value);
|
|
3544
|
+
for (let e = 0; e < s.length; e += 1) c.set(s[e], Math.min(e * hi, _i));
|
|
3545
|
+
r.value = c, Ti(() => {
|
|
3516
3546
|
let e = new Set(n.value);
|
|
3517
3547
|
for (let t of o) e.add(t);
|
|
3518
3548
|
n.value = e;
|
|
3519
|
-
}),
|
|
3549
|
+
}), Ei(() => {
|
|
3520
3550
|
let e = new Set(t.value);
|
|
3521
3551
|
for (let t of o) e.delete(t);
|
|
3522
3552
|
t.value = e, w(() => {
|
|
3523
3553
|
let e = new Set(n.value), t = new Map(r.value), i = new Map(a.value);
|
|
3524
3554
|
for (let n of o) e.delete(n), t.delete(n), i.delete(n), d.delete(n);
|
|
3525
3555
|
n.value = e, r.value = t, a.value = i;
|
|
3526
|
-
},
|
|
3556
|
+
}, bi(o.length));
|
|
3527
3557
|
});
|
|
3528
3558
|
}, { flush: "post" }), z(() => e.items.value.map((e) => $(e)), (e) => {
|
|
3529
3559
|
if (!e.length || !o.value.size) return;
|
|
@@ -3536,7 +3566,7 @@ function vi(e) {
|
|
|
3536
3566
|
});
|
|
3537
3567
|
function m(n, r = "bottom") {
|
|
3538
3568
|
if (!n.length) return;
|
|
3539
|
-
let i =
|
|
3569
|
+
let i = xi(t.value.size, n.length), o = i ? new Set(e.visibleIndices.value) : null, s = o ? h(o) : new Set(t.value), c = i ? g(s) : new Map(a.value);
|
|
3540
3570
|
for (let t of n) {
|
|
3541
3571
|
let n = $(t), a = i ? e.indexById.value.get(n) : null;
|
|
3542
3572
|
o && (a == null || !o.has(a)) || (s.add(n), c.set(n, r));
|
|
@@ -3568,7 +3598,7 @@ function vi(e) {
|
|
|
3568
3598
|
let e = $(t.item);
|
|
3569
3599
|
p.push(e), i.set(e, t), c.delete(e), l.delete(e), u.delete(e), f.delete(e), d.delete(e);
|
|
3570
3600
|
}
|
|
3571
|
-
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f,
|
|
3601
|
+
o.value = i, t.value = c, n.value = l, r.value = u, a.value = f, Ti(() => {
|
|
3572
3602
|
let e = new Set(s.value);
|
|
3573
3603
|
for (let t of p) e.add(t);
|
|
3574
3604
|
s.value = e;
|
|
@@ -3576,9 +3606,9 @@ function vi(e) {
|
|
|
3576
3606
|
let e = new Map(o.value), t = new Set(s.value);
|
|
3577
3607
|
for (let n of p) e.delete(n), t.delete(n);
|
|
3578
3608
|
o.value = e, s.value = t;
|
|
3579
|
-
},
|
|
3609
|
+
}, gi);
|
|
3580
3610
|
}
|
|
3581
|
-
function v(t, n, r =
|
|
3611
|
+
function v(t, n, r = pi) {
|
|
3582
3612
|
if (!t.size) return;
|
|
3583
3613
|
let i = /* @__PURE__ */ new Map(), a = [];
|
|
3584
3614
|
for (let [r, o] of t.entries()) {
|
|
@@ -3597,8 +3627,8 @@ function vi(e) {
|
|
|
3597
3627
|
c.value = i, u.value = /* @__PURE__ */ new Set();
|
|
3598
3628
|
let o = new Map(l.value);
|
|
3599
3629
|
for (let e of a) o.set(e, r);
|
|
3600
|
-
l.value = o,
|
|
3601
|
-
u.value = new Set(a),
|
|
3630
|
+
l.value = o, Ti(() => {
|
|
3631
|
+
u.value = new Set(a), Ti(() => {
|
|
3602
3632
|
c.value = /* @__PURE__ */ new Map();
|
|
3603
3633
|
});
|
|
3604
3634
|
}), w(() => {
|
|
@@ -3609,8 +3639,8 @@ function vi(e) {
|
|
|
3609
3639
|
}, r);
|
|
3610
3640
|
}
|
|
3611
3641
|
function y(e) {
|
|
3612
|
-
if (n.value.has(e)) return `transform ${
|
|
3613
|
-
if (u.value.has(e)) return `transform ${l.value.get(e) ??
|
|
3642
|
+
if (n.value.has(e)) return `transform ${mi}ms ease-out`;
|
|
3643
|
+
if (u.value.has(e)) return `transform ${l.value.get(e) ?? pi}ms ease-out`;
|
|
3614
3644
|
}
|
|
3615
3645
|
function b(e) {
|
|
3616
3646
|
if (!n.value.has(e)) return;
|
|
@@ -3627,7 +3657,7 @@ function vi(e) {
|
|
|
3627
3657
|
} : {
|
|
3628
3658
|
dx: 0,
|
|
3629
3659
|
dy: 0
|
|
3630
|
-
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ?
|
|
3660
|
+
}, u = s ? a.value.get(s) ?? "bottom" : "bottom", d = s && t.value.has(s) ? Ci({
|
|
3631
3661
|
columnWidth: e.columnWidth.value,
|
|
3632
3662
|
direction: u,
|
|
3633
3663
|
itemHeight: o,
|
|
@@ -3641,14 +3671,14 @@ function vi(e) {
|
|
|
3641
3671
|
if (!r) return {
|
|
3642
3672
|
opacity: "0",
|
|
3643
3673
|
transform: "translate3d(0, 0, 0) scale(0.96)",
|
|
3644
|
-
transition: `opacity ${
|
|
3674
|
+
transition: `opacity ${gi}ms ease-out, transform ${gi}ms ease-out`
|
|
3645
3675
|
};
|
|
3646
3676
|
let i = s.value.has(n);
|
|
3647
3677
|
return {
|
|
3648
3678
|
height: `${r.height}px`,
|
|
3649
3679
|
opacity: i ? "0" : "1",
|
|
3650
3680
|
transform: `translate3d(${r.position.x}px, ${r.position.y}px, 0) scale(${i ? "0.96" : "1"})`,
|
|
3651
|
-
transition: `opacity ${
|
|
3681
|
+
transition: `opacity ${gi}ms ease-out, transform ${gi}ms ease-out`,
|
|
3652
3682
|
width: `${e.columnWidth.value}px`
|
|
3653
3683
|
};
|
|
3654
3684
|
}
|
|
@@ -3669,28 +3699,28 @@ function vi(e) {
|
|
|
3669
3699
|
playFlipMoveAnimation: v
|
|
3670
3700
|
};
|
|
3671
3701
|
}
|
|
3672
|
-
function
|
|
3702
|
+
function Ti(e) {
|
|
3673
3703
|
if (typeof requestAnimationFrame == "function") {
|
|
3674
3704
|
requestAnimationFrame(() => e());
|
|
3675
3705
|
return;
|
|
3676
3706
|
}
|
|
3677
3707
|
setTimeout(e, 0);
|
|
3678
3708
|
}
|
|
3679
|
-
function
|
|
3680
|
-
|
|
3709
|
+
function Ei(e) {
|
|
3710
|
+
Ti(() => Ti(e));
|
|
3681
3711
|
}
|
|
3682
3712
|
//#endregion
|
|
3683
3713
|
//#region src/components/viewer-core/masonryViewport.ts
|
|
3684
|
-
function
|
|
3714
|
+
function Di(e, t) {
|
|
3685
3715
|
return e?.clientHeight || Math.round(e?.getBoundingClientRect().height ?? 0) || t || window.innerHeight || 1;
|
|
3686
3716
|
}
|
|
3687
|
-
function
|
|
3717
|
+
function Oi(e, t, n) {
|
|
3688
3718
|
return e?.clientWidth || Math.round(e?.getBoundingClientRect().width ?? 0) || t || window.innerWidth || n;
|
|
3689
3719
|
}
|
|
3690
|
-
function
|
|
3720
|
+
function ki(e, t, n, r) {
|
|
3691
3721
|
return Math.max(e?.scrollHeight ?? 0, r) - (t + n);
|
|
3692
3722
|
}
|
|
3693
|
-
function
|
|
3723
|
+
function Ai(e, t) {
|
|
3694
3724
|
return {
|
|
3695
3725
|
height: `${e}px`,
|
|
3696
3726
|
transform: `translate3d(0, ${t}px, 0)`
|
|
@@ -3698,11 +3728,11 @@ function wi(e, t) {
|
|
|
3698
3728
|
}
|
|
3699
3729
|
//#endregion
|
|
3700
3730
|
//#region src/components/viewer-core/masonryScrollBehavior.ts
|
|
3701
|
-
var
|
|
3702
|
-
function
|
|
3731
|
+
var ji = 24, Mi = 48;
|
|
3732
|
+
function Ni(e) {
|
|
3703
3733
|
let t = D(0), n = 0, r = 0;
|
|
3704
3734
|
function i(e) {
|
|
3705
|
-
if (t.value =
|
|
3735
|
+
if (t.value = Ri(e), t.value <= 0) {
|
|
3706
3736
|
o();
|
|
3707
3737
|
return;
|
|
3708
3738
|
}
|
|
@@ -3722,7 +3752,7 @@ function Di(e) {
|
|
|
3722
3752
|
let s = e.getViewport();
|
|
3723
3753
|
if (s && r > 0) {
|
|
3724
3754
|
let n = Math.min(Math.max(0, i - r), 250), a = t.value * n / 1e3;
|
|
3725
|
-
s.scrollTop =
|
|
3755
|
+
s.scrollTop = zi(s.scrollTop + a, 0, e.getMaxScrollTop()), e.onScroll();
|
|
3726
3756
|
}
|
|
3727
3757
|
r = i, a();
|
|
3728
3758
|
}
|
|
@@ -3732,44 +3762,44 @@ function Di(e) {
|
|
|
3732
3762
|
stop: o
|
|
3733
3763
|
};
|
|
3734
3764
|
}
|
|
3735
|
-
function
|
|
3765
|
+
function Pi(e) {
|
|
3736
3766
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3737
3767
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3738
|
-
return t <= 0 ? 1 :
|
|
3768
|
+
return t <= 0 ? 1 : zi(1 - (e.progressDistancePx - e.thresholdPx) / t, 0, 1);
|
|
3739
3769
|
}
|
|
3740
|
-
function
|
|
3770
|
+
function Fi(e) {
|
|
3741
3771
|
if (!e.active || !e.triggerEnabled) return 0;
|
|
3742
3772
|
let t = Math.max(0, e.maxScrollTop - e.thresholdPx);
|
|
3743
|
-
return t <= 0 ? 1 :
|
|
3773
|
+
return t <= 0 ? 1 : zi(e.progressDistancePx / t, 0, 1);
|
|
3744
3774
|
}
|
|
3745
|
-
function
|
|
3746
|
-
let t = i(() => Math.max(0, e.viewportHeight.value -
|
|
3775
|
+
function Ii(e) {
|
|
3776
|
+
let t = i(() => Math.max(0, e.viewportHeight.value - ji * 2)), n = i(() => e.containerHeight.value > e.viewportHeight.value + 1 && t.value > 0), r = i(() => {
|
|
3747
3777
|
if (!n.value) return 0;
|
|
3748
3778
|
let r = e.viewportHeight.value / e.containerHeight.value * t.value;
|
|
3749
|
-
return Math.min(t.value, Math.max(
|
|
3779
|
+
return Math.min(t.value, Math.max(Mi, r));
|
|
3750
3780
|
}), a = i(() => {
|
|
3751
|
-
if (!n.value) return
|
|
3781
|
+
if (!n.value) return ji;
|
|
3752
3782
|
let i = Math.max(0, e.containerHeight.value - e.viewportHeight.value);
|
|
3753
|
-
return
|
|
3783
|
+
return ji + Math.max(0, t.value - r.value) * (i > 0 ? zi(e.scrollTop.value / i, 0, 1) : 0);
|
|
3754
3784
|
});
|
|
3755
3785
|
return {
|
|
3756
|
-
getScrollbarThumbStyle: () =>
|
|
3786
|
+
getScrollbarThumbStyle: () => Ai(r.value, a.value),
|
|
3757
3787
|
showScrollbar: n
|
|
3758
3788
|
};
|
|
3759
3789
|
}
|
|
3760
|
-
function
|
|
3790
|
+
function Li(e) {
|
|
3761
3791
|
return typeof e == "number" && Number.isFinite(e) ? Math.max(0, e) : 0;
|
|
3762
3792
|
}
|
|
3763
|
-
function
|
|
3793
|
+
function Ri(e) {
|
|
3764
3794
|
return Number.isFinite(e) ? Math.max(0, e) : 0;
|
|
3765
3795
|
}
|
|
3766
|
-
function
|
|
3796
|
+
function zi(e, t, n) {
|
|
3767
3797
|
return Math.min(Math.max(e, t), n);
|
|
3768
3798
|
}
|
|
3769
3799
|
//#endregion
|
|
3770
3800
|
//#region src/components/viewer-core/useEdgeBoundary.ts
|
|
3771
|
-
var
|
|
3772
|
-
function
|
|
3801
|
+
var Bi = 250, Vi = 1e3;
|
|
3802
|
+
function Hi(e) {
|
|
3773
3803
|
let t = D(!1), n = D(!1), r = D(0), i = D(0), a = D(!1), o = D(!1), s = D(!1), c = 0, l = null;
|
|
3774
3804
|
x(() => {
|
|
3775
3805
|
S();
|
|
@@ -3792,7 +3822,7 @@ function Ii(e) {
|
|
|
3792
3822
|
if (!C(t) || !e.isAtBoundary()) return;
|
|
3793
3823
|
let n = Date.now();
|
|
3794
3824
|
if (!(n < c)) {
|
|
3795
|
-
if (c = n +
|
|
3825
|
+
if (c = n + Bi, a.value) {
|
|
3796
3826
|
s.value = !0;
|
|
3797
3827
|
return;
|
|
3798
3828
|
}
|
|
@@ -3831,7 +3861,7 @@ function Ii(e) {
|
|
|
3831
3861
|
return e.hasPage.value && t.value && r.value > i.value && !e.interactionLocked?.value && !e.loading.value && !a.value && typeof e.requestPage.value == "function";
|
|
3832
3862
|
}
|
|
3833
3863
|
function v() {
|
|
3834
|
-
o.value = !1, y(
|
|
3864
|
+
o.value = !1, y(Vi);
|
|
3835
3865
|
}
|
|
3836
3866
|
function y(e) {
|
|
3837
3867
|
S(), a.value = !0, l = setTimeout(() => {
|
|
@@ -3863,7 +3893,7 @@ function Ii(e) {
|
|
|
3863
3893
|
}
|
|
3864
3894
|
//#endregion
|
|
3865
3895
|
//#region src/components/viewer-core/masonryBoundaryLock.ts
|
|
3866
|
-
function
|
|
3896
|
+
function Ui() {
|
|
3867
3897
|
let e = D(!1), t = null;
|
|
3868
3898
|
x(() => {
|
|
3869
3899
|
r();
|
|
@@ -3884,8 +3914,8 @@ function Li() {
|
|
|
3884
3914
|
}
|
|
3885
3915
|
//#endregion
|
|
3886
3916
|
//#region src/components/viewer-core/masonryItemMutation.ts
|
|
3887
|
-
function
|
|
3888
|
-
let t = e.currentItems.map((e) => $(e)), n = e.previousItems.map((e) => $(e)), r =
|
|
3917
|
+
function Wi(e) {
|
|
3918
|
+
let t = e.currentItems.map((e) => $(e)), n = e.previousItems.map((e) => $(e)), r = Ki(e.previousItems, e.layoutIndexById, e.layoutHeights), i = qi(e.previousItems, e.layoutIndexById, e.layoutPositions), a = new Set(n), o = new Set(t), s = e.currentItems.filter((e) => !a.has($(e))), c = Gi(e.previousItems, o, r, i), l = t.length > n.length && n.length > 0 && t[0] !== n[0], u = e.scrollTop > e.contentInsetPx + e.gapPx, d = l && u ? e.currentItems[e.activeIndex] : null;
|
|
3889
3919
|
return {
|
|
3890
3920
|
addedItems: s,
|
|
3891
3921
|
anchorId: d ? $(d) : null,
|
|
@@ -3897,7 +3927,7 @@ function Ri(e) {
|
|
|
3897
3927
|
shouldResetScrollForEmptyRemoval: e.currentItems.length === 0 && e.previousItems.length > 0 && c.length > 0 && e.scrollTop > 0
|
|
3898
3928
|
};
|
|
3899
3929
|
}
|
|
3900
|
-
function
|
|
3930
|
+
function Gi(e, t, n, r) {
|
|
3901
3931
|
return e.flatMap((e) => {
|
|
3902
3932
|
let i = $(e);
|
|
3903
3933
|
if (t.has(i)) return [];
|
|
@@ -3909,7 +3939,7 @@ function zi(e, t, n, r) {
|
|
|
3909
3939
|
}] : [];
|
|
3910
3940
|
});
|
|
3911
3941
|
}
|
|
3912
|
-
function
|
|
3942
|
+
function Ki(e, t, n) {
|
|
3913
3943
|
let r = /* @__PURE__ */ new Map();
|
|
3914
3944
|
for (let i of e) {
|
|
3915
3945
|
let e = $(i), a = t.get(e), o = a == null ? void 0 : n[a];
|
|
@@ -3917,7 +3947,7 @@ function Bi(e, t, n) {
|
|
|
3917
3947
|
}
|
|
3918
3948
|
return r;
|
|
3919
3949
|
}
|
|
3920
|
-
function
|
|
3950
|
+
function qi(e, t, n) {
|
|
3921
3951
|
let r = /* @__PURE__ */ new Map();
|
|
3922
3952
|
for (let i of e) {
|
|
3923
3953
|
let e = $(i), a = t.get(e), o = a == null ? void 0 : n[a];
|
|
@@ -3927,7 +3957,7 @@ function Vi(e, t, n) {
|
|
|
3927
3957
|
}
|
|
3928
3958
|
//#endregion
|
|
3929
3959
|
//#region src/components/viewer-core/masonryPendingAppend.ts
|
|
3930
|
-
function
|
|
3960
|
+
function Ji(e) {
|
|
3931
3961
|
let t = D(null), n = D(!1), r = null;
|
|
3932
3962
|
function i() {
|
|
3933
3963
|
o(), e.pendingAppendItems.value.length && (t.value = c([...e.items.value, ...e.pendingAppendItems.value]), s());
|
|
@@ -3950,12 +3980,12 @@ function Hi(e) {
|
|
|
3950
3980
|
}, 300));
|
|
3951
3981
|
}
|
|
3952
3982
|
function c(t) {
|
|
3953
|
-
return t.length ? e.pendingAppendItems.value.length && e.columnHeights.value.length === e.columnCount.value ?
|
|
3983
|
+
return t.length ? e.pendingAppendItems.value.length && e.columnHeights.value.length === e.columnCount.value ? hr(e.pendingAppendItems.value, {
|
|
3954
3984
|
columnHeights: e.columnHeights.value,
|
|
3955
3985
|
columnWidth: e.columnWidth.value,
|
|
3956
3986
|
contentHeight: e.contentHeight.value,
|
|
3957
3987
|
gapY: e.gapPx
|
|
3958
|
-
}) + e.contentInsetPx * 2 :
|
|
3988
|
+
}) + e.contentInsetPx * 2 : pr(t, {
|
|
3959
3989
|
bucketPx: e.bucketPx,
|
|
3960
3990
|
columnCount: e.columnCount.value,
|
|
3961
3991
|
columnWidth: e.columnWidth.value,
|
|
@@ -3972,42 +4002,42 @@ function Hi(e) {
|
|
|
3972
4002
|
}
|
|
3973
4003
|
//#endregion
|
|
3974
4004
|
//#region src/components/viewer-core/useMasonryList.ts
|
|
3975
|
-
var
|
|
3976
|
-
function
|
|
3977
|
-
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth ||
|
|
3978
|
-
bucketPx:
|
|
3979
|
-
contentInsetPx:
|
|
3980
|
-
gapPx:
|
|
3981
|
-
}), { buckets: s, columnHeights: c, contentHeight: l, heights: u, indexById: d, positions: f } = o, p = D(null), m =
|
|
4005
|
+
var Yi = 600, Xi = 24, Zi = 16, Qi = 300, $i = 200, ea = 0, ta = 1, na = Xi + Zi, ra = 200, ia = 500, aa = 1e3;
|
|
4006
|
+
function oa(e) {
|
|
4007
|
+
let t = D(null), n = D(0), r = D(typeof window > "u" ? 0 : window.innerHeight || 0), a = D(typeof window > "u" ? 0 : window.innerWidth || Qi), o = fi({
|
|
4008
|
+
bucketPx: Yi,
|
|
4009
|
+
contentInsetPx: Xi,
|
|
4010
|
+
gapPx: Zi
|
|
4011
|
+
}), { buckets: s, columnHeights: c, contentHeight: l, heights: u, indexById: d, positions: f } = o, p = D(null), m = Ui(), h = i(() => Math.max(Qi, a.value - Xi * 2)), g = i(() => ur(h.value, Qi)), v = i(() => dr(h.value, g.value, Qi, Zi)), y = i(() => Li(e.bottomLoadBufferPx.value)), b = i(() => sa(e.activeIndex.value, 0, Math.max(0, e.items.value.length - 1))), C = i(() => _r({
|
|
3982
4012
|
itemCount: e.items.value.length,
|
|
3983
4013
|
viewportHeight: r.value,
|
|
3984
4014
|
scrollTop: n.value,
|
|
3985
|
-
overscanPx:
|
|
3986
|
-
bucketPx:
|
|
4015
|
+
overscanPx: $i,
|
|
4016
|
+
bucketPx: Yi,
|
|
3987
4017
|
buckets: s.value
|
|
3988
4018
|
})), w = i(() => C.value.map((t) => ({
|
|
3989
4019
|
item: e.items.value[t],
|
|
3990
4020
|
index: t
|
|
3991
4021
|
}))), T = i(() => {
|
|
3992
|
-
let e = l.value +
|
|
3993
|
-
return Math.max(e, t, r.value) +
|
|
3994
|
-
}), E = i(() => e.hasNextPage.value || e.allowExhaustedNextPageRefresh.value), O = i(() =>
|
|
4022
|
+
let e = l.value + Xi * 2, t = I.reservedContentHeight.value ?? 0;
|
|
4023
|
+
return Math.max(e, t, r.value) + ra + y.value;
|
|
4024
|
+
}), E = i(() => e.hasNextPage.value || e.allowExhaustedNextPageRefresh.value), O = i(() => Fi({
|
|
3995
4025
|
active: e.active.value,
|
|
3996
|
-
maxScrollTop:
|
|
4026
|
+
maxScrollTop: Y(),
|
|
3997
4027
|
progressDistancePx: n.value,
|
|
3998
|
-
thresholdPx:
|
|
4028
|
+
thresholdPx: ea,
|
|
3999
4029
|
triggerEnabled: E.value
|
|
4000
|
-
})), k = i(() => e.items.value.length > 0 ? `${b.value + 1} / ${e.items.value.length}` : "0 / 0"), A = i(() =>
|
|
4030
|
+
})), k = i(() => e.items.value.length > 0 ? `${b.value + 1} / ${e.items.value.length}` : "0 / 0"), A = i(() => Pi({
|
|
4001
4031
|
active: e.active.value,
|
|
4002
|
-
maxScrollTop:
|
|
4032
|
+
maxScrollTop: Y(),
|
|
4003
4033
|
progressDistancePx: n.value,
|
|
4004
|
-
thresholdPx:
|
|
4034
|
+
thresholdPx: na,
|
|
4005
4035
|
triggerEnabled: e.hasPreviousPage.value
|
|
4006
|
-
})), j =
|
|
4036
|
+
})), j = Ii({
|
|
4007
4037
|
containerHeight: T,
|
|
4008
4038
|
scrollTop: n,
|
|
4009
4039
|
viewportHeight: r
|
|
4010
|
-
}), M =
|
|
4040
|
+
}), M = wi({
|
|
4011
4041
|
items: e.items,
|
|
4012
4042
|
visibleIndices: C,
|
|
4013
4043
|
positions: f,
|
|
@@ -4016,44 +4046,44 @@ function ea(e) {
|
|
|
4016
4046
|
columnWidth: v,
|
|
4017
4047
|
scrollTop: n,
|
|
4018
4048
|
viewportHeight: r
|
|
4019
|
-
}), N =
|
|
4049
|
+
}), N = Hi({
|
|
4020
4050
|
direction: "top",
|
|
4021
4051
|
getAnimationLockMs(e) {
|
|
4022
|
-
return Math.max(
|
|
4052
|
+
return Math.max(ia, bi(e)) + aa;
|
|
4023
4053
|
},
|
|
4024
4054
|
hasPage: e.hasPreviousPage,
|
|
4025
4055
|
interactionLocked: m.isBoundaryInteractionLocked,
|
|
4026
4056
|
isAtBoundary() {
|
|
4027
|
-
return n.value <=
|
|
4057
|
+
return n.value <= na;
|
|
4028
4058
|
},
|
|
4029
4059
|
loading: e.loading,
|
|
4030
4060
|
requestPage: e.requestPreviousPage
|
|
4031
|
-
}), P =
|
|
4061
|
+
}), P = Hi({
|
|
4032
4062
|
direction: "bottom",
|
|
4033
4063
|
getAnimationLockMs(e) {
|
|
4034
|
-
return
|
|
4064
|
+
return bi(e) + aa;
|
|
4035
4065
|
},
|
|
4036
4066
|
hasPage: E,
|
|
4037
4067
|
interactionLocked: m.isBoundaryInteractionLocked,
|
|
4038
4068
|
isAtBoundary() {
|
|
4039
|
-
return
|
|
4069
|
+
return J() <= ta;
|
|
4040
4070
|
},
|
|
4041
4071
|
loading: e.loading,
|
|
4042
4072
|
requestPage: e.requestNextPage
|
|
4043
|
-
}), F =
|
|
4073
|
+
}), F = Ni({
|
|
4044
4074
|
active: e.active,
|
|
4045
|
-
getMaxScrollTop:
|
|
4075
|
+
getMaxScrollTop: Y,
|
|
4046
4076
|
getViewport: () => t.value,
|
|
4047
4077
|
onScroll: ee
|
|
4048
|
-
}), I =
|
|
4049
|
-
bucketPx:
|
|
4078
|
+
}), I = Ji({
|
|
4079
|
+
bucketPx: Yi,
|
|
4050
4080
|
columnHeights: c,
|
|
4051
4081
|
columnCount: g,
|
|
4052
4082
|
columnWidth: v,
|
|
4053
4083
|
commitPendingAppend: e.commitPendingAppend,
|
|
4054
4084
|
contentHeight: l,
|
|
4055
|
-
contentInsetPx:
|
|
4056
|
-
gapPx:
|
|
4085
|
+
contentInsetPx: Xi,
|
|
4086
|
+
gapPx: Zi,
|
|
4057
4087
|
items: e.items,
|
|
4058
4088
|
pendingAppendItems: e.pendingAppendItems
|
|
4059
4089
|
}), L = null, R = 0;
|
|
@@ -4062,20 +4092,20 @@ function ea(e) {
|
|
|
4062
4092
|
g,
|
|
4063
4093
|
v
|
|
4064
4094
|
], async ([t], [r = []]) => {
|
|
4065
|
-
let i =
|
|
4095
|
+
let i = Wi({
|
|
4066
4096
|
activeIndex: b.value,
|
|
4067
|
-
contentInsetPx:
|
|
4097
|
+
contentInsetPx: Xi,
|
|
4068
4098
|
currentItems: t,
|
|
4069
|
-
gapPx:
|
|
4099
|
+
gapPx: Zi,
|
|
4070
4100
|
layoutHeights: u.value,
|
|
4071
4101
|
layoutIndexById: d.value,
|
|
4072
4102
|
layoutPositions: f.value,
|
|
4073
4103
|
previousItems: r ?? [],
|
|
4074
4104
|
scrollTop: n.value
|
|
4075
4105
|
});
|
|
4076
|
-
i.shouldLockBoundaryInteractionForRemoval && m.lockBoundaryInteraction(
|
|
4106
|
+
i.shouldLockBoundaryInteractionForRemoval && m.lockBoundaryInteraction(Si() + aa), i.shouldResetScrollForEmptyRemoval && te();
|
|
4077
4107
|
let a = r ?? [];
|
|
4078
|
-
o.canAppend(t, a, i, g.value) ? o.append(i.addedItems, a.length, g.value, v.value) : o.rebuild(t, g.value, v.value), i.removedItems.length > 0 && M.markLeave(i.removedItems), i.addedItems.length > 0 && (M.markEnter(i.addedItems, i.isPrepend ? "top" : "bottom"), i.isPrepend ? N.onItemsMutated(i.addedItems.length) : P.onItemsMutated(i.addedItems.length)), M.playFlipMoveAnimation(i.oldPositionsById, new Set(i.addedItems.map((e) => $(e))), i.isPrepend ?
|
|
4108
|
+
o.canAppend(t, a, i, g.value) ? o.append(i.addedItems, a.length, g.value, v.value) : o.rebuild(t, g.value, v.value), i.removedItems.length > 0 && M.markLeave(i.removedItems), i.addedItems.length > 0 && (M.markEnter(i.addedItems, i.isPrepend ? "top" : "bottom"), i.isPrepend ? N.onItemsMutated(i.addedItems.length) : P.onItemsMutated(i.addedItems.length)), M.playFlipMoveAnimation(i.oldPositionsById, new Set(i.addedItems.map((e) => $(e))), i.isPrepend ? ia : void 0), i.anchorId ? (await _(), U(i.anchorId, i.oldPositionsById)) : e.active.value && i.previousIds.length > 0 && ne();
|
|
4079
4109
|
}, { immediate: !0 }), z([
|
|
4080
4110
|
() => e.pendingAppendItems.value.map((e) => $(e)),
|
|
4081
4111
|
g,
|
|
@@ -4089,24 +4119,24 @@ function ea(e) {
|
|
|
4089
4119
|
}
|
|
4090
4120
|
if (F.start(), !a || i !== !1 || p.value == null) return;
|
|
4091
4121
|
await _();
|
|
4092
|
-
let o = Math.max(0, T.value - r.value), s =
|
|
4122
|
+
let o = Math.max(0, T.value - r.value), s = sa(p.value, 0, o);
|
|
4093
4123
|
a.scrollTop = s, n.value = s, N.syncBoundary(), P.syncBoundary();
|
|
4094
4124
|
}), z(() => e.loading.value, async (e) => {
|
|
4095
4125
|
I.clearReservedHeightWhenIdle(e), N.onLoadingChange(e), P.onLoadingChange(e), await _();
|
|
4096
4126
|
}), S(async () => {
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
}), t.value && L.observe(t.value)) : window.addEventListener("resize",
|
|
4127
|
+
K(), await _(), b.value > 0 ? H(b.value, "center") : W(), N.syncBoundary(), P.syncBoundary(), typeof ResizeObserver < "u" ? (L = new ResizeObserver(() => {
|
|
4128
|
+
K();
|
|
4129
|
+
}), t.value && L.observe(t.value)) : window.addEventListener("resize", K);
|
|
4100
4130
|
}), x(() => {
|
|
4101
|
-
L?.disconnect(), L = null, window.removeEventListener("resize",
|
|
4131
|
+
L?.disconnect(), L = null, window.removeEventListener("resize", K), I.clearAppendCommitTimer(), m.clearBoundaryInteractionReleaseTimer(), R &&= (cancelAnimationFrame(R), 0), F.stop();
|
|
4102
4132
|
});
|
|
4103
4133
|
function ee() {
|
|
4104
|
-
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value =
|
|
4134
|
+
e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = q(), N.syncBoundary("scroll"), P.syncBoundary("scroll"), G(), !ne() && (R ||= requestAnimationFrame(() => {
|
|
4105
4135
|
R = 0, W();
|
|
4106
4136
|
})));
|
|
4107
4137
|
}
|
|
4108
4138
|
function B(t) {
|
|
4109
|
-
e.active.value && (N.onWheel(t), P.onWheel(t),
|
|
4139
|
+
e.active.value && (N.onWheel(t), P.onWheel(t), G());
|
|
4110
4140
|
}
|
|
4111
4141
|
function V(t) {
|
|
4112
4142
|
let n = e.items.value[t], r = n ? $(n) : "";
|
|
@@ -4122,7 +4152,7 @@ function ea(e) {
|
|
|
4122
4152
|
let a = t.value, o = f.value[e], s = u.value[e];
|
|
4123
4153
|
if (!a || !o || !s) return;
|
|
4124
4154
|
let c = a.scrollTop, l = Math.max(0, T.value - r.value);
|
|
4125
|
-
i === "center" ? c = o.y - (r.value - s) / 2 : o.y < a.scrollTop ? c = o.y -
|
|
4155
|
+
i === "center" ? c = o.y - (r.value - s) / 2 : o.y < a.scrollTop ? c = o.y - Xi : o.y + s > a.scrollTop + r.value && (c = o.y + s - r.value + Xi), a.scrollTop = sa(c, 0, l), n.value = a.scrollTop, W();
|
|
4126
4156
|
}
|
|
4127
4157
|
function U(e, r) {
|
|
4128
4158
|
let i = t.value, a = r.get(e), o = d.value.get(e), s = o == null ? null : f.value[o];
|
|
@@ -4139,7 +4169,7 @@ function ea(e) {
|
|
|
4139
4169
|
e.scrollTop = 0, n.value = 0, N.syncBoundary(), P.syncBoundary();
|
|
4140
4170
|
}
|
|
4141
4171
|
function W() {
|
|
4142
|
-
if (!C.value.length ||
|
|
4172
|
+
if (!C.value.length || ne()) return;
|
|
4143
4173
|
let t = n.value + r.value / 2, i = b.value, a = Infinity;
|
|
4144
4174
|
for (let e of C.value) {
|
|
4145
4175
|
let n = f.value[e], r = u.value[e];
|
|
@@ -4149,26 +4179,26 @@ function ea(e) {
|
|
|
4149
4179
|
}
|
|
4150
4180
|
e.setActiveIndex(i);
|
|
4151
4181
|
}
|
|
4152
|
-
function
|
|
4153
|
-
let t = n.value <=
|
|
4182
|
+
function ne() {
|
|
4183
|
+
let t = n.value <= na, r = J() <= ta;
|
|
4154
4184
|
return t ? (e.setActiveIndex(0), !0) : r ? (e.setActiveIndex(Math.max(0, e.items.value.length - 1)), !0) : !1;
|
|
4155
4185
|
}
|
|
4156
|
-
function
|
|
4186
|
+
function G() {
|
|
4157
4187
|
N.maybeRequestPage(), P.maybeRequestPage();
|
|
4158
4188
|
}
|
|
4189
|
+
function K() {
|
|
4190
|
+
r.value = q(), a.value = re();
|
|
4191
|
+
}
|
|
4159
4192
|
function q() {
|
|
4160
|
-
|
|
4193
|
+
return Di(t.value, r.value);
|
|
4161
4194
|
}
|
|
4162
|
-
function
|
|
4163
|
-
return
|
|
4195
|
+
function re() {
|
|
4196
|
+
return Oi(t.value, a.value, Qi);
|
|
4164
4197
|
}
|
|
4165
|
-
function
|
|
4166
|
-
return
|
|
4198
|
+
function J() {
|
|
4199
|
+
return ki(t.value, n.value, r.value, T.value);
|
|
4167
4200
|
}
|
|
4168
4201
|
function Y() {
|
|
4169
|
-
return Ci(t.value, n.value, r.value, T.value);
|
|
4170
|
-
}
|
|
4171
|
-
function X() {
|
|
4172
4202
|
let e = Math.max(t.value?.scrollHeight ?? 0, T.value);
|
|
4173
4203
|
return Math.max(0, e - r.value);
|
|
4174
4204
|
}
|
|
@@ -4192,17 +4222,17 @@ function ea(e) {
|
|
|
4192
4222
|
scrollViewportRef: t
|
|
4193
4223
|
};
|
|
4194
4224
|
}
|
|
4195
|
-
function
|
|
4225
|
+
function sa(e, t, n) {
|
|
4196
4226
|
return Math.min(Math.max(e, t), n);
|
|
4197
4227
|
}
|
|
4198
4228
|
//#endregion
|
|
4199
4229
|
//#region src/components/viewer-core/listCardAsset.ts
|
|
4200
|
-
function
|
|
4230
|
+
function ca(e) {
|
|
4201
4231
|
if (e) try {
|
|
4202
4232
|
e.removeAttribute("src"), e.src = "";
|
|
4203
4233
|
} catch {}
|
|
4204
4234
|
}
|
|
4205
|
-
function
|
|
4235
|
+
function la(e) {
|
|
4206
4236
|
if (e) {
|
|
4207
4237
|
try {
|
|
4208
4238
|
e.currentTime = 0;
|
|
@@ -4213,12 +4243,12 @@ function ra(e) {
|
|
|
4213
4243
|
} catch {}
|
|
4214
4244
|
}
|
|
4215
4245
|
}
|
|
4216
|
-
function
|
|
4246
|
+
function ua(e, t) {
|
|
4217
4247
|
if (t) return e.bottom > t.top && e.top < t.bottom;
|
|
4218
4248
|
let n = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
4219
4249
|
return e.bottom > 0 && e.top < n;
|
|
4220
4250
|
}
|
|
4221
|
-
function
|
|
4251
|
+
function da(e) {
|
|
4222
4252
|
if (!e) return null;
|
|
4223
4253
|
try {
|
|
4224
4254
|
return new URL(e, window.location.href).href;
|
|
@@ -4228,9 +4258,9 @@ function aa(e) {
|
|
|
4228
4258
|
}
|
|
4229
4259
|
//#endregion
|
|
4230
4260
|
//#region src/components/viewer-core/useListCardHealthCheck.ts
|
|
4231
|
-
function
|
|
4261
|
+
function fa(e) {
|
|
4232
4262
|
let t = D(null), n = i(() => {
|
|
4233
|
-
let t = typeof e.item.value.healthCheck?.url == "string" ?
|
|
4263
|
+
let t = typeof e.item.value.healthCheck?.url == "string" ? da(e.item.value.healthCheck.url) : null;
|
|
4234
4264
|
return !t || t === e.attachedAssetUrl.value ? null : t;
|
|
4235
4265
|
}), r = null, a = 0, o = /* @__PURE__ */ new Map();
|
|
4236
4266
|
z(n, (e, n) => {
|
|
@@ -4262,7 +4292,7 @@ function oa(e) {
|
|
|
4262
4292
|
r.refresh();
|
|
4263
4293
|
return;
|
|
4264
4294
|
}
|
|
4265
|
-
r =
|
|
4295
|
+
r = Zt.request({
|
|
4266
4296
|
assetType: "probe",
|
|
4267
4297
|
getPriority: e.getPriority,
|
|
4268
4298
|
onGrant() {
|
|
@@ -4272,7 +4302,7 @@ function oa(e) {
|
|
|
4272
4302
|
return;
|
|
4273
4303
|
}
|
|
4274
4304
|
let i = ++a;
|
|
4275
|
-
|
|
4305
|
+
En(r).then((s) => {
|
|
4276
4306
|
if (!(i !== a || n.value !== r)) {
|
|
4277
4307
|
if (o.set(r, s ?? null), !s) {
|
|
4278
4308
|
t.value = null;
|
|
@@ -4308,14 +4338,14 @@ function oa(e) {
|
|
|
4308
4338
|
}
|
|
4309
4339
|
//#endregion
|
|
4310
4340
|
//#region src/components/ListCard.vue?vue&type=script&setup=true&lang.ts
|
|
4311
|
-
var
|
|
4341
|
+
var pa = ["aria-label"], ma = {
|
|
4312
4342
|
key: 0,
|
|
4313
4343
|
"data-testid": "vibe-list-card-spinner",
|
|
4314
4344
|
class: "pointer-events-none absolute inset-0 z-[4] grid place-items-center bg-black/18"
|
|
4315
|
-
},
|
|
4345
|
+
}, ha = { 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]" }, ga = ["src", "alt"], _a = ["src"], va = ["data-kind"], ya = { class: "grid justify-items-center gap-3 px-4 text-center" }, ba = { class: "text-[0.68rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, xa = {
|
|
4316
4346
|
key: 4,
|
|
4317
4347
|
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))]"
|
|
4318
|
-
},
|
|
4348
|
+
}, Sa = { class: "inline-flex h-14 w-14 items-center justify-center border border-white/16 bg-black/20" }, Ca = { class: "pointer-events-none absolute inset-0 z-[3]" }, wa = /* @__PURE__ */ d({
|
|
4319
4349
|
__name: "ListCard",
|
|
4320
4350
|
props: {
|
|
4321
4351
|
active: {
|
|
@@ -4339,98 +4369,98 @@ var sa = ["aria-label"], ca = {
|
|
|
4339
4369
|
},
|
|
4340
4370
|
emits: ["open"],
|
|
4341
4371
|
setup(e, { emit: t }) {
|
|
4342
|
-
let n = e, r = t, l = i(() =>
|
|
4372
|
+
let n = e, r = t, l = i(() => Cr(n.item)), d = D(!1), f = D(!1), p = D(!1), m = D(l.value.kind === "fallback"), h = D(!1), g = D(null), _ = D(null), y = D(null), b = D(null), C = D(null), T = D(l.value.kind === "fallback"), E = i(() => T.value ? n.surfaceActive ? d.value ? l.value.url : null : l.value.url : null), O = i(() => n.surfaceActive && d.value && (l.value.kind === "image" || l.value.kind === "video") && !!l.value.url), j = i(() => l.value.kind === "image" && !!E.value), N = i(() => l.value.kind === "video" && !!E.value), P = fa({
|
|
4343
4373
|
attachedAssetUrl: E,
|
|
4344
|
-
getPriority:
|
|
4374
|
+
getPriority: le,
|
|
4345
4375
|
isInView: d,
|
|
4346
4376
|
isReady: m,
|
|
4347
4377
|
item: i(() => n.item),
|
|
4348
4378
|
loadErrorKind: g,
|
|
4349
4379
|
reportAssetError: n.reportAssetError,
|
|
4350
4380
|
surfaceActive: i(() => n.surfaceActive)
|
|
4351
|
-
}), I = i(() => P.errorKind.value ?? g.value), L = i(() => !!I.value), R = i(() =>
|
|
4381
|
+
}), I = i(() => P.errorKind.value ?? g.value), L = i(() => !!I.value), R = i(() => wn(I.value)), ee = i(() => O.value && !g.value && (!T.value || !m.value)), B = null, V = null, U = /* @__PURE__ */ new Set();
|
|
4352
4382
|
z([E, () => l.value.kind], () => {
|
|
4353
4383
|
let e = l.value.kind === "fallback";
|
|
4354
4384
|
m.value = e, h.value = !1, g.value = null, e && (T.value = !0);
|
|
4355
4385
|
}), z(O, () => {
|
|
4356
|
-
|
|
4386
|
+
K();
|
|
4357
4387
|
}), z([
|
|
4358
4388
|
d,
|
|
4359
4389
|
m,
|
|
4360
4390
|
E
|
|
4361
4391
|
], () => {
|
|
4362
|
-
|
|
4392
|
+
q();
|
|
4363
4393
|
}), z(() => n.surfaceActive, (e) => {
|
|
4364
4394
|
if (!e) {
|
|
4365
|
-
|
|
4395
|
+
J(), q();
|
|
4366
4396
|
return;
|
|
4367
4397
|
}
|
|
4368
4398
|
requestAnimationFrame(() => {
|
|
4369
|
-
|
|
4399
|
+
Y(), K(), q();
|
|
4370
4400
|
});
|
|
4371
4401
|
}), S(() => {
|
|
4372
4402
|
if (!y.value || typeof IntersectionObserver > "u") {
|
|
4373
|
-
b.value = null, d.value = !0,
|
|
4403
|
+
b.value = null, d.value = !0, K();
|
|
4374
4404
|
return;
|
|
4375
4405
|
}
|
|
4376
4406
|
b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"), B = new IntersectionObserver((e) => {
|
|
4377
|
-
for (let t of e) t.target === y.value && (n.surfaceActive &&
|
|
4407
|
+
for (let t of e) t.target === y.value && (n.surfaceActive && Y(t), K(), q());
|
|
4378
4408
|
}, {
|
|
4379
4409
|
root: b.value,
|
|
4380
4410
|
threshold: [0, 1]
|
|
4381
4411
|
}), B.observe(y.value);
|
|
4382
4412
|
}), x(() => {
|
|
4383
|
-
|
|
4413
|
+
re(), P.release(), B?.disconnect(), B = null;
|
|
4384
4414
|
});
|
|
4385
4415
|
function te() {
|
|
4386
|
-
|
|
4416
|
+
ue(_.value) && (m.value = !0, g.value = null, ie(E.value ?? n.item.url), J());
|
|
4387
4417
|
}
|
|
4388
4418
|
async function W() {
|
|
4389
|
-
if (!
|
|
4419
|
+
if (!ue(_.value)) return;
|
|
4390
4420
|
let e = E.value ?? n.item.url;
|
|
4391
4421
|
m.value = !1, g.value = "generic";
|
|
4392
|
-
let t = await
|
|
4422
|
+
let t = await Tn(e);
|
|
4393
4423
|
g.value = t, n.reportAssetError?.({
|
|
4394
4424
|
item: n.item,
|
|
4395
4425
|
occurrenceKey: $(n.item),
|
|
4396
4426
|
url: e,
|
|
4397
4427
|
kind: t,
|
|
4398
4428
|
surface: "grid"
|
|
4399
|
-
}),
|
|
4429
|
+
}), J();
|
|
4430
|
+
}
|
|
4431
|
+
function ne() {
|
|
4432
|
+
ue(C.value) && (h.value = !0, m.value = !0, g.value = null, ie(E.value ?? n.item.url), J(), q());
|
|
4400
4433
|
}
|
|
4401
4434
|
function G() {
|
|
4402
|
-
|
|
4435
|
+
ue(C.value) && (h.value || (m.value = !1));
|
|
4403
4436
|
}
|
|
4404
4437
|
function K() {
|
|
4405
|
-
le(C.value) && (h.value || (m.value = !1));
|
|
4406
|
-
}
|
|
4407
|
-
function q() {
|
|
4408
4438
|
if (l.value.kind === "fallback") {
|
|
4409
|
-
|
|
4439
|
+
re(!1);
|
|
4410
4440
|
return;
|
|
4411
4441
|
}
|
|
4412
4442
|
if (!n.surfaceActive) {
|
|
4413
|
-
|
|
4443
|
+
J();
|
|
4414
4444
|
return;
|
|
4415
4445
|
}
|
|
4416
4446
|
if (!O.value) {
|
|
4417
|
-
|
|
4447
|
+
re();
|
|
4418
4448
|
return;
|
|
4419
4449
|
}
|
|
4420
4450
|
if (T.value || V) {
|
|
4421
4451
|
V?.refresh();
|
|
4422
4452
|
return;
|
|
4423
4453
|
}
|
|
4424
|
-
V =
|
|
4454
|
+
V = Zt.request({
|
|
4425
4455
|
assetType: l.value.kind,
|
|
4426
|
-
getPriority:
|
|
4456
|
+
getPriority: le,
|
|
4427
4457
|
onGrant() {
|
|
4428
4458
|
T.value = !0, m.value = !1, g.value = null;
|
|
4429
4459
|
},
|
|
4430
4460
|
url: l.value.url ?? n.item.url
|
|
4431
4461
|
});
|
|
4432
4462
|
}
|
|
4433
|
-
function
|
|
4463
|
+
function q() {
|
|
4434
4464
|
let e = C.value;
|
|
4435
4465
|
if (!(!e || l.value.kind !== "video")) {
|
|
4436
4466
|
if (I.value) {
|
|
@@ -4438,7 +4468,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4438
4468
|
return;
|
|
4439
4469
|
}
|
|
4440
4470
|
if (E.value && d.value && m.value) {
|
|
4441
|
-
e.muted = !0, e.loop = !0, e.playsInline = !0,
|
|
4471
|
+
e.muted = !0, e.loop = !0, e.playsInline = !0, kn(e);
|
|
4442
4472
|
return;
|
|
4443
4473
|
}
|
|
4444
4474
|
try {
|
|
@@ -4447,21 +4477,21 @@ var sa = ["aria-label"], ca = {
|
|
|
4447
4477
|
e.pause();
|
|
4448
4478
|
}
|
|
4449
4479
|
}
|
|
4450
|
-
function
|
|
4451
|
-
T.value = l.value.kind === "fallback", g.value = null, m.value = l.value.kind === "fallback", e && (
|
|
4480
|
+
function re(e = !0) {
|
|
4481
|
+
T.value = l.value.kind === "fallback", g.value = null, m.value = l.value.kind === "fallback", e && (oe(), ce()), J();
|
|
4452
4482
|
}
|
|
4453
|
-
function
|
|
4483
|
+
function J() {
|
|
4454
4484
|
V?.release(), V = null;
|
|
4455
4485
|
}
|
|
4456
|
-
function
|
|
4486
|
+
function Y(e) {
|
|
4457
4487
|
let t = y.value;
|
|
4458
4488
|
if (!t) {
|
|
4459
4489
|
d.value = !0;
|
|
4460
4490
|
return;
|
|
4461
4491
|
}
|
|
4462
|
-
d.value =
|
|
4492
|
+
d.value = ua(e?.boundingClientRect ?? t.getBoundingClientRect(), e?.rootBounds ?? b.value?.getBoundingClientRect() ?? null);
|
|
4463
4493
|
}
|
|
4464
|
-
function
|
|
4494
|
+
function ie(e) {
|
|
4465
4495
|
if (!e) return;
|
|
4466
4496
|
let t = $(n.item), r = `${t}|${e}`;
|
|
4467
4497
|
U.has(r) || (U.add(r), n.reportAssetLoad?.({
|
|
@@ -4471,20 +4501,20 @@ var sa = ["aria-label"], ca = {
|
|
|
4471
4501
|
url: e
|
|
4472
4502
|
}));
|
|
4473
4503
|
}
|
|
4474
|
-
function
|
|
4504
|
+
function ae() {
|
|
4475
4505
|
if (!R.value || P.retry()) return;
|
|
4476
4506
|
let e = $(n.item);
|
|
4477
4507
|
U.forEach((t) => {
|
|
4478
4508
|
t.startsWith(`${e}|`) && U.delete(t);
|
|
4479
|
-
}), g.value = null, m.value = !1, T.value = !1,
|
|
4480
|
-
}
|
|
4481
|
-
function ae() {
|
|
4482
|
-
na(_.value);
|
|
4509
|
+
}), g.value = null, m.value = !1, T.value = !1, J(), K();
|
|
4483
4510
|
}
|
|
4484
4511
|
function oe() {
|
|
4485
|
-
|
|
4512
|
+
ca(_.value);
|
|
4486
4513
|
}
|
|
4487
4514
|
function ce() {
|
|
4515
|
+
la(C.value);
|
|
4516
|
+
}
|
|
4517
|
+
function le() {
|
|
4488
4518
|
let e = y.value;
|
|
4489
4519
|
if (!e) return Infinity;
|
|
4490
4520
|
let t = e.getBoundingClientRect();
|
|
@@ -4495,17 +4525,17 @@ var sa = ["aria-label"], ca = {
|
|
|
4495
4525
|
let n = window.innerHeight / 2;
|
|
4496
4526
|
return Math.abs((t.top + t.bottom) / 2 - n);
|
|
4497
4527
|
}
|
|
4498
|
-
function
|
|
4499
|
-
let t =
|
|
4500
|
-
return !e || !t ? !1 :
|
|
4528
|
+
function ue(e) {
|
|
4529
|
+
let t = da(E.value);
|
|
4530
|
+
return !e || !t ? !1 : da("currentSrc" in e && e.currentSrc || e.getAttribute("src")) === t;
|
|
4501
4531
|
}
|
|
4502
|
-
function
|
|
4532
|
+
function fe() {
|
|
4503
4533
|
r("open");
|
|
4504
4534
|
}
|
|
4505
|
-
function
|
|
4535
|
+
function pe() {
|
|
4506
4536
|
f.value = !0;
|
|
4507
4537
|
}
|
|
4508
|
-
function
|
|
4538
|
+
function X(e) {
|
|
4509
4539
|
let t = e.relatedTarget;
|
|
4510
4540
|
y.value && t instanceof Node && y.value.contains(t) || (f.value = !1);
|
|
4511
4541
|
}
|
|
@@ -4514,8 +4544,8 @@ var sa = ["aria-label"], ca = {
|
|
|
4514
4544
|
ref: y,
|
|
4515
4545
|
"data-testid": "vibe-list-card-inner",
|
|
4516
4546
|
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"]),
|
|
4517
|
-
onFocusin:
|
|
4518
|
-
onFocusout:
|
|
4547
|
+
onFocusin: pe,
|
|
4548
|
+
onFocusout: X,
|
|
4519
4549
|
onPointerenter: t[0] ||= (e) => p.value = !0,
|
|
4520
4550
|
onPointerleave: t[1] ||= (e) => p.value = !1
|
|
4521
4551
|
}, [
|
|
@@ -4524,9 +4554,9 @@ var sa = ["aria-label"], ca = {
|
|
|
4524
4554
|
"data-testid": "vibe-list-card-open",
|
|
4525
4555
|
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]",
|
|
4526
4556
|
"aria-label": n.item.title || `Open item ${n.index + 1}`,
|
|
4527
|
-
onClick:
|
|
4528
|
-
}, null, 8,
|
|
4529
|
-
ee.value ? (w(), s("div",
|
|
4557
|
+
onClick: fe
|
|
4558
|
+
}, null, 8, pa),
|
|
4559
|
+
ee.value ? (w(), s("div", ma, [c("span", ha, [u(F(se), {
|
|
4530
4560
|
class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
|
|
4531
4561
|
"aria-hidden": "true"
|
|
4532
4562
|
})])])) : o("", !0),
|
|
@@ -4540,7 +4570,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4540
4570
|
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"]),
|
|
4541
4571
|
onLoad: te,
|
|
4542
4572
|
onError: W
|
|
4543
|
-
}, null, 42,
|
|
4573
|
+
}, null, 42, ga)) : N.value && E.value && !L.value ? (w(), s("video", {
|
|
4544
4574
|
key: 2,
|
|
4545
4575
|
ref_key: "videoRef",
|
|
4546
4576
|
ref: C,
|
|
@@ -4550,64 +4580,64 @@ var sa = ["aria-label"], ca = {
|
|
|
4550
4580
|
playsinline: "",
|
|
4551
4581
|
preload: "metadata",
|
|
4552
4582
|
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"]),
|
|
4553
|
-
onCanplay:
|
|
4583
|
+
onCanplay: ne,
|
|
4554
4584
|
onError: W,
|
|
4555
|
-
onLoadstart:
|
|
4556
|
-
onPlaying:
|
|
4557
|
-
onStalled:
|
|
4558
|
-
onWaiting:
|
|
4559
|
-
}, null, 42,
|
|
4585
|
+
onLoadstart: G,
|
|
4586
|
+
onPlaying: ne,
|
|
4587
|
+
onStalled: G,
|
|
4588
|
+
onWaiting: G
|
|
4589
|
+
}, null, 42, _a)) : L.value ? (w(), s("div", {
|
|
4560
4590
|
key: 3,
|
|
4561
4591
|
"data-testid": "vibe-list-card-error",
|
|
4562
4592
|
"data-kind": I.value,
|
|
4563
4593
|
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))]"
|
|
4564
|
-
}, [c("div",
|
|
4594
|
+
}, [c("div", ya, [
|
|
4565
4595
|
u(F(de), {
|
|
4566
4596
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
4567
4597
|
"aria-hidden": "true"
|
|
4568
4598
|
}),
|
|
4569
|
-
c("span",
|
|
4599
|
+
c("span", ba, M(F(Cn)(I.value)), 1),
|
|
4570
4600
|
R.value ? (w(), s("button", {
|
|
4571
4601
|
key: 0,
|
|
4572
4602
|
type: "button",
|
|
4573
4603
|
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",
|
|
4574
|
-
onClick: H(
|
|
4604
|
+
onClick: H(ae, ["stop"])
|
|
4575
4605
|
}, " Retry ")) : o("", !0)
|
|
4576
|
-
])], 8,
|
|
4577
|
-
icon: F(
|
|
4606
|
+
])], 8, va)) : (w(), s("div", xa, [c("div", Sa, [k(e.$slots, "item-icon", {
|
|
4607
|
+
icon: F(Jt)(n.item.type),
|
|
4578
4608
|
item: n.item
|
|
4579
|
-
}, () => [(w(), a(A(F(
|
|
4609
|
+
}, () => [(w(), a(A(F(Jt)(n.item.type)), {
|
|
4580
4610
|
class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
|
|
4581
4611
|
"aria-hidden": "true"
|
|
4582
4612
|
}))])])])),
|
|
4583
|
-
c("div",
|
|
4613
|
+
c("div", Ca, [k(e.$slots, "grid-item-overlay", {
|
|
4584
4614
|
active: n.active,
|
|
4585
4615
|
focused: f.value,
|
|
4586
4616
|
hovered: p.value,
|
|
4587
4617
|
index: n.index,
|
|
4588
4618
|
item: n.item,
|
|
4589
|
-
openFullscreen:
|
|
4619
|
+
openFullscreen: fe
|
|
4590
4620
|
})])
|
|
4591
4621
|
], 34));
|
|
4592
4622
|
}
|
|
4593
|
-
}),
|
|
4623
|
+
}), Ta = { 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)]" }, Ea = { class: "pointer-events-none absolute inset-x-0 top-0 z-[2] flex justify-end p-6" }, Da = {
|
|
4594
4624
|
"data-testid": "vibe-pagination",
|
|
4595
4625
|
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]"
|
|
4596
|
-
},
|
|
4626
|
+
}, Oa = { class: "whitespace-nowrap" }, ka = {
|
|
4597
4627
|
key: 0,
|
|
4598
4628
|
class: "whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3"
|
|
4599
|
-
},
|
|
4629
|
+
}, Aa = [
|
|
4600
4630
|
"data-active",
|
|
4601
4631
|
"data-index",
|
|
4602
4632
|
"data-item-id",
|
|
4603
4633
|
"data-occurrence-key"
|
|
4604
|
-
],
|
|
4634
|
+
], ja = ["data-item-id"], Ma = {
|
|
4605
4635
|
key: 0,
|
|
4606
4636
|
class: "pointer-events-none absolute inset-y-0 right-0 z-[3] hidden w-8 min-[1024px]:block"
|
|
4607
|
-
},
|
|
4637
|
+
}, Na = {
|
|
4608
4638
|
key: 1,
|
|
4609
4639
|
class: "pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6"
|
|
4610
|
-
},
|
|
4640
|
+
}, Pa = { class: "mx-auto flex w-full justify-center" }, Fa = /* @__PURE__ */ d({
|
|
4611
4641
|
__name: "ListSurface",
|
|
4612
4642
|
props: {
|
|
4613
4643
|
active: {
|
|
@@ -4669,7 +4699,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4669
4699
|
"update:activeIndex"
|
|
4670
4700
|
],
|
|
4671
4701
|
setup(e, { expose: n, emit: r }) {
|
|
4672
|
-
let d = e, f = L(), p = r, m =
|
|
4702
|
+
let d = e, f = L(), p = r, m = oa({
|
|
4673
4703
|
active: N(d, "active"),
|
|
4674
4704
|
allowExhaustedNextPageRefresh: N(d, "allowExhaustedNextPageRefresh"),
|
|
4675
4705
|
bottomLoadBufferPx: N(d, "bottomLoadBufferPx"),
|
|
@@ -4688,11 +4718,11 @@ var sa = ["aria-label"], ca = {
|
|
|
4688
4718
|
}
|
|
4689
4719
|
});
|
|
4690
4720
|
n({ autoScroll: m.autoScroll });
|
|
4691
|
-
let h = i(() =>
|
|
4721
|
+
let h = i(() => mn({
|
|
4692
4722
|
itemCount: d.items.length,
|
|
4693
4723
|
loading: d.loading,
|
|
4694
4724
|
phase: d.phase
|
|
4695
|
-
})), _ = i(() =>
|
|
4725
|
+
})), _ = i(() => hn({
|
|
4696
4726
|
errorMessage: d.errorMessage,
|
|
4697
4727
|
hasItems: d.items.length > 0,
|
|
4698
4728
|
hasNextPage: d.hasNextPage,
|
|
@@ -4705,7 +4735,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4705
4735
|
message: _.value.message,
|
|
4706
4736
|
paginationDetail: d.paginationDetail,
|
|
4707
4737
|
total: d.items.length
|
|
4708
|
-
}), S = i(() => !x.value || !f["grid-status"] ? [] : f["grid-status"](x.value)), C = i(() =>
|
|
4738
|
+
}), S = i(() => !x.value || !f["grid-status"] ? [] : f["grid-status"](x.value)), C = i(() => ln(S.value)), T = i(() => d.items.length + m.leavingItems.value.length), { emptyStateProps: E, showBadgeEmptyState: D, showCustomEmptyState: A, showInlineEmptyState: j } = fn({
|
|
4709
4739
|
emptyStateMode: N(d, "emptyStateMode"),
|
|
4710
4740
|
itemCount: T,
|
|
4711
4741
|
loading: N(d, "loading"),
|
|
@@ -4717,8 +4747,8 @@ var sa = ["aria-label"], ca = {
|
|
|
4717
4747
|
nextBoundaryLoadProgress: e,
|
|
4718
4748
|
previousBoundaryLoadProgress: t
|
|
4719
4749
|
});
|
|
4720
|
-
}, { immediate: !0 }), (e, n) => (w(), s("div",
|
|
4721
|
-
c("div",
|
|
4750
|
+
}, { immediate: !0 }), (e, n) => (w(), s("div", Ta, [
|
|
4751
|
+
c("div", Ea, [c("span", Da, [c("span", Oa, M(F(m).paginationLabel.value), 1), d.paginationDetail ? (w(), s("span", ka, M(d.paginationDetail), 1)) : o("", !0)])]),
|
|
4722
4752
|
c("div", {
|
|
4723
4753
|
ref: F(m).scrollViewportRef,
|
|
4724
4754
|
"data-testid": "vibe-list-scroll",
|
|
@@ -4739,7 +4769,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4739
4769
|
"data-occurrence-key": F($)(t),
|
|
4740
4770
|
class: "absolute will-change-transform",
|
|
4741
4771
|
style: b(F(m).getCardStyle(n))
|
|
4742
|
-
}, [u(
|
|
4772
|
+
}, [u(wa, {
|
|
4743
4773
|
active: n === F(m).resolvedActiveIndex.value,
|
|
4744
4774
|
index: n,
|
|
4745
4775
|
item: t,
|
|
@@ -4763,14 +4793,14 @@ var sa = ["aria-label"], ca = {
|
|
|
4763
4793
|
"report-asset-load",
|
|
4764
4794
|
"surface-active",
|
|
4765
4795
|
"onOpen"
|
|
4766
|
-
])], 12,
|
|
4796
|
+
])], 12, Aa))), 128)),
|
|
4767
4797
|
(w(!0), s(t, null, O(F(m).leavingItems.value, (t) => (w(), s("article", {
|
|
4768
4798
|
key: `leaving-${F($)(t.item)}`,
|
|
4769
4799
|
"data-testid": "vibe-list-card-leaving",
|
|
4770
4800
|
"data-item-id": t.item.id,
|
|
4771
4801
|
class: "pointer-events-none absolute z-[2] will-change-[opacity,transform]",
|
|
4772
4802
|
style: b(F(m).getLeavingCardStyle(t.item))
|
|
4773
|
-
}, [u(
|
|
4803
|
+
}, [u(wa, {
|
|
4774
4804
|
active: !1,
|
|
4775
4805
|
index: -1,
|
|
4776
4806
|
item: t.item,
|
|
@@ -4785,8 +4815,8 @@ var sa = ["aria-label"], ca = {
|
|
|
4785
4815
|
"item",
|
|
4786
4816
|
"report-asset-error",
|
|
4787
4817
|
"report-asset-load"
|
|
4788
|
-
])], 12,
|
|
4789
|
-
F(j) && F(E) ? (w(), a(
|
|
4818
|
+
])], 12, ja))), 128)),
|
|
4819
|
+
F(j) && F(E) ? (w(), a(or, {
|
|
4790
4820
|
key: 0,
|
|
4791
4821
|
message: F(E).message,
|
|
4792
4822
|
mode: F(E).mode,
|
|
@@ -4800,12 +4830,12 @@ var sa = ["aria-label"], ca = {
|
|
|
4800
4830
|
"surface"
|
|
4801
4831
|
])) : o("", !0)
|
|
4802
4832
|
], 4)], 544),
|
|
4803
|
-
F(m).showScrollbar.value ? (w(), s("div",
|
|
4833
|
+
F(m).showScrollbar.value ? (w(), s("div", Ma, [n[2] ||= c("div", { class: "absolute bottom-6 right-3 top-6 w-px bg-white/8" }, null, -1), c("div", {
|
|
4804
4834
|
"data-testid": "vibe-list-scrollbar-thumb",
|
|
4805
4835
|
class: v(["absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out", d.loading ? "bg-white/52" : "bg-white/34"]),
|
|
4806
4836
|
style: b(F(m).getScrollbarThumbStyle())
|
|
4807
4837
|
}, null, 6)])) : o("", !0),
|
|
4808
|
-
f["grid-footer"] ? (w(), s("div",
|
|
4838
|
+
f["grid-footer"] ? (w(), s("div", Na, [c("div", Pa, [k(e.$slots, "grid-footer")])])) : o("", !0),
|
|
4809
4839
|
x.value ? (w(), s("div", {
|
|
4810
4840
|
key: 2,
|
|
4811
4841
|
class: v(["pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6", f["grid-footer"] ? "pb-24" : "pb-6"])
|
|
@@ -4814,7 +4844,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4814
4844
|
"data-testid": "vibe-grid-status-badge",
|
|
4815
4845
|
class: v(["inline-flex items-center border border-white/14 bg-black/55 px-4 py-3 text-[0.7rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/72 backdrop-blur-[18px]", x.value.kind === "end" ? "border-amber-300/35 text-amber-200" : x.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
|
|
4816
4846
|
}, M(x.value.message), 3))], 2)) : o("", !0),
|
|
4817
|
-
F(D) && F(E) ? (w(), a(
|
|
4847
|
+
F(D) && F(E) ? (w(), a(or, {
|
|
4818
4848
|
key: 3,
|
|
4819
4849
|
class: v(["z-[3]", f["grid-footer"] ? "pb-24" : "pb-6"]),
|
|
4820
4850
|
message: F(E).message,
|
|
@@ -4831,13 +4861,13 @@ var sa = ["aria-label"], ca = {
|
|
|
4831
4861
|
])) : o("", !0)
|
|
4832
4862
|
]));
|
|
4833
4863
|
}
|
|
4834
|
-
}),
|
|
4864
|
+
}), Ia = ["data-surface-mode"], La = {
|
|
4835
4865
|
key: 1,
|
|
4836
4866
|
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"
|
|
4837
|
-
},
|
|
4867
|
+
}, Ra = ["data-visible", "inert"], za = ["data-visible", "inert"], Ba = {
|
|
4838
4868
|
key: 3,
|
|
4839
4869
|
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"
|
|
4840
|
-
},
|
|
4870
|
+
}, Va = /* @__PURE__ */ d({
|
|
4841
4871
|
name: "VibeLayout",
|
|
4842
4872
|
__name: "Layout",
|
|
4843
4873
|
props: {
|
|
@@ -4905,7 +4935,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4905
4935
|
type: "button",
|
|
4906
4936
|
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",
|
|
4907
4937
|
onClick: n[0] ||= (...e) => F(h).retryInitialLoad && F(h).retryInitialLoad(...e)
|
|
4908
|
-
}, " Retry ")) : F(h).errorMessage.value && F(h).items.value.length > 0 ? (w(), s("div",
|
|
4938
|
+
}, " Retry ")) : F(h).errorMessage.value && F(h).items.value.length > 0 ? (w(), s("div", La, M(F(h).errorMessage.value), 1)) : o("", !0), F(h).isDesktop.value ? (w(), s(t, { key: 2 }, [u(r, {
|
|
4909
4939
|
appear: "",
|
|
4910
4940
|
"enter-active-class": "transition-[opacity,transform] duration-300 ease-out",
|
|
4911
4941
|
"enter-from-class": "translate-y-3 opacity-0",
|
|
@@ -4919,7 +4949,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4919
4949
|
"data-visible": F(h).surfaceMode.value === "list" ? "true" : "false",
|
|
4920
4950
|
inert: F(h).surfaceMode.value !== "list",
|
|
4921
4951
|
class: "absolute inset-0 z-[2]"
|
|
4922
|
-
}, [u(
|
|
4952
|
+
}, [u(Fa, {
|
|
4923
4953
|
ref_key: "listSurfaceRef",
|
|
4924
4954
|
ref: g,
|
|
4925
4955
|
active: F(h).surfaceMode.value === "list",
|
|
@@ -4993,7 +5023,7 @@ var sa = ["aria-label"], ca = {
|
|
|
4993
5023
|
"onBoundaryLoadProgress",
|
|
4994
5024
|
"onOpenFullscreen",
|
|
4995
5025
|
"onUpdate:activeIndex"
|
|
4996
|
-
])], 8,
|
|
5026
|
+
])], 8, Ra), [[R, F(h).surfaceMode.value === "list"]])]),
|
|
4997
5027
|
_: 3
|
|
4998
5028
|
}), u(r, {
|
|
4999
5029
|
appear: "",
|
|
@@ -5009,7 +5039,7 @@ var sa = ["aria-label"], ca = {
|
|
|
5009
5039
|
"data-visible": F(h).surfaceMode.value === "fullscreen" ? "true" : "false",
|
|
5010
5040
|
inert: F(h).surfaceMode.value !== "fullscreen",
|
|
5011
5041
|
class: "absolute inset-0 z-[3]"
|
|
5012
|
-
}, [u(
|
|
5042
|
+
}, [u(di, {
|
|
5013
5043
|
items: F(h).items.value,
|
|
5014
5044
|
active: F(h).surfaceMode.value === "fullscreen",
|
|
5015
5045
|
"active-index": F(h).activeIndex.value,
|
|
@@ -5052,27 +5082,32 @@ var sa = ["aria-label"], ca = {
|
|
|
5052
5082
|
fn: B((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
5053
5083
|
key: "2"
|
|
5054
5084
|
} : void 0,
|
|
5085
|
+
f["fullscreen-footer"] ? {
|
|
5086
|
+
name: "fullscreen-footer",
|
|
5087
|
+
fn: B((t) => [k(e.$slots, "fullscreen-footer", y(p(t)))]),
|
|
5088
|
+
key: "3"
|
|
5089
|
+
} : void 0,
|
|
5055
5090
|
f["fullscreen-header-actions"] ? {
|
|
5056
5091
|
name: "fullscreen-header-actions",
|
|
5057
5092
|
fn: B((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
5058
|
-
key: "
|
|
5093
|
+
key: "4"
|
|
5059
5094
|
} : void 0,
|
|
5060
5095
|
f["fullscreen-status"] ? {
|
|
5061
5096
|
name: "fullscreen-status",
|
|
5062
5097
|
fn: B((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
5063
|
-
key: "
|
|
5098
|
+
key: "5"
|
|
5064
5099
|
} : void 0,
|
|
5065
5100
|
f["item-icon"] ? {
|
|
5066
5101
|
name: "item-icon",
|
|
5067
5102
|
fn: B((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
5068
|
-
key: "
|
|
5103
|
+
key: "6"
|
|
5069
5104
|
} : void 0
|
|
5070
|
-
]), 1032, /* @__PURE__ */ "items.active.active-index.error-message.fill-collected-count.fill-completed-calls.fill-loaded-count.fill-mode.fill-progress.fill-target-calls.fill-target-count.fill-total-count.loading.has-next-page.pagination-detail.phase.report-asset-error.report-asset-load.empty-state-mode.loop-fullscreen-video.show-dominant-image-tone.show-end-badge.show-status-badges.show-back-to-list.onBackToList.onUpdate:activeIndex".split("."))], 8,
|
|
5105
|
+
]), 1032, /* @__PURE__ */ "items.active.active-index.error-message.fill-collected-count.fill-completed-calls.fill-loaded-count.fill-mode.fill-progress.fill-target-calls.fill-target-count.fill-total-count.loading.has-next-page.pagination-detail.phase.report-asset-error.report-asset-load.empty-state-mode.loop-fullscreen-video.show-dominant-image-tone.show-end-badge.show-status-badges.show-back-to-list.onBackToList.onUpdate:activeIndex".split("."))], 8, za), [[R, F(h).surfaceMode.value === "fullscreen"]])]),
|
|
5071
5106
|
_: 3
|
|
5072
|
-
})], 64)) : F(h).items.value.length === 0 && F(h).loading.value && F(h).phase.value === "initializing" ? (w(), s("div",
|
|
5107
|
+
})], 64)) : F(h).items.value.length === 0 && F(h).loading.value && F(h).phase.value === "initializing" ? (w(), s("div", Ba, [u(F(se), {
|
|
5073
5108
|
class: "size-10 animate-spin text-[#f7f1ea]/82",
|
|
5074
5109
|
"aria-hidden": "true"
|
|
5075
|
-
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(
|
|
5110
|
+
}), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(di, {
|
|
5076
5111
|
key: 4,
|
|
5077
5112
|
items: F(h).items.value,
|
|
5078
5113
|
active: !0,
|
|
@@ -5116,20 +5151,25 @@ var sa = ["aria-label"], ca = {
|
|
|
5116
5151
|
fn: B((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
|
|
5117
5152
|
key: "2"
|
|
5118
5153
|
} : void 0,
|
|
5154
|
+
f["fullscreen-footer"] ? {
|
|
5155
|
+
name: "fullscreen-footer",
|
|
5156
|
+
fn: B((t) => [k(e.$slots, "fullscreen-footer", y(p(t)))]),
|
|
5157
|
+
key: "3"
|
|
5158
|
+
} : void 0,
|
|
5119
5159
|
f["fullscreen-header-actions"] ? {
|
|
5120
5160
|
name: "fullscreen-header-actions",
|
|
5121
5161
|
fn: B((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
|
|
5122
|
-
key: "
|
|
5162
|
+
key: "4"
|
|
5123
5163
|
} : void 0,
|
|
5124
5164
|
f["fullscreen-status"] ? {
|
|
5125
5165
|
name: "fullscreen-status",
|
|
5126
5166
|
fn: B((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
|
|
5127
|
-
key: "
|
|
5167
|
+
key: "5"
|
|
5128
5168
|
} : void 0,
|
|
5129
5169
|
f["item-icon"] ? {
|
|
5130
5170
|
name: "item-icon",
|
|
5131
5171
|
fn: B((t) => [k(e.$slots, "item-icon", y(p(t)))]),
|
|
5132
|
-
key: "
|
|
5172
|
+
key: "6"
|
|
5133
5173
|
} : void 0
|
|
5134
5174
|
]), 1032, [
|
|
5135
5175
|
"items",
|
|
@@ -5156,10 +5196,10 @@ var sa = ["aria-label"], ca = {
|
|
|
5156
5196
|
"show-status-badges",
|
|
5157
5197
|
"onBackToList",
|
|
5158
5198
|
"onUpdate:activeIndex"
|
|
5159
|
-
]))], 8,
|
|
5199
|
+
]))], 8, Ia));
|
|
5160
5200
|
}
|
|
5161
|
-
}),
|
|
5162
|
-
e.component("VibeLayout",
|
|
5201
|
+
}), Ha = { install(e) {
|
|
5202
|
+
e.component("VibeLayout", Va);
|
|
5163
5203
|
} };
|
|
5164
5204
|
//#endregion
|
|
5165
|
-
export {
|
|
5205
|
+
export { Va as VibeLayout, Ha as VibePlugin, Ha as default };
|