@wyxos/vibe 3.1.23 → 3.1.26

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