@wyxos/vibe 3.1.7 → 3.1.8

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,6 +1,6 @@
1
- import { Comment as e, Fragment as t, Text as n, Transition as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createSlots as l, createVNode as u, defineComponent as d, getCurrentScope as f, guardReactiveProps as p, h as m, isVNode as h, mergeProps as g, nextTick as _, normalizeClass as v, normalizeProps as y, normalizeStyle as b, onBeforeUnmount as x, onMounted as S, onScopeDispose as C, openBlock as w, reactive as T, readonly as E, ref as D, renderList as O, renderSlot as k, resolveDynamicComponent as A, toDisplayString as j, toRef as M, unref as N, useAttrs as P, useSlots as F, vShow as I, watch as L, watchEffect as R, withCtx as z, withDirectives as B, withModifiers as ee } from "vue";
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 ee, renderSlot as O, resolveDynamicComponent as k, toDisplayString as A, toRef as j, unref as M, useAttrs as N, useSlots as P, vShow as F, watch as I, watchEffect as L, withCtx as R, withDirectives as z, withModifiers as te } from "vue";
2
2
  //#region node_modules/lucide-vue-next/dist/esm/shared/src/utils/hasA11yProp.js
3
- var te = (e) => {
3
+ var B = (e) => {
4
4
  for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
5
5
  return !1;
6
6
  }, V = (e) => e === "", H = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), U = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), W = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), ne = (e) => {
@@ -24,7 +24,7 @@ var te = (e) => {
24
24
  stroke: s,
25
25
  "stroke-width": V(n) || V(r) || n === !0 || r === !0 ? Number(i || a || G["stroke-width"]) * 24 / Number(o) : i || a || G["stroke-width"],
26
26
  class: H("lucide", c.class, ...e ? [`lucide-${U(ne(e))}-icon`, `lucide-${U(e)}`] : ["lucide-icon"]),
27
- ...!l.default && !te(c) && { "aria-hidden": "true" }
27
+ ...!l.default && !B(c) && { "aria-hidden": "true" }
28
28
  }, [...t.map((e) => m(...e)), ...l.default ? [l.default()] : []]), q = (e, t) => (n, { slots: r, attrs: i }) => m(K, {
29
29
  ...i,
30
30
  ...n,
@@ -179,10 +179,10 @@ var te = (e) => {
179
179
  key: "5ykzw1"
180
180
  }]
181
181
  ]);
182
- function fe(e, t = 150) {
182
+ function Z(e, t = 150) {
183
183
  return pe(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`, t);
184
184
  }
185
- function Z(e, t = 150) {
185
+ function fe(e, t = 150) {
186
186
  return pe(e, (e) => `${e.surface}|${e.occurrenceKey}|${e.url}`, t);
187
187
  }
188
188
  function pe(e, t, n) {
@@ -437,178 +437,185 @@ function Ue() {
437
437
  //#endregion
438
438
  //#region src/components/viewer-core/useAutoResolveSource.ts
439
439
  function We(e) {
440
- let t = !!e.initialState?.items.length, n = D([]), r = D(0), a = D([]), o = D(!1), s = D(null), c = D(!t && typeof e.resolve == "function" ? "initializing" : "idle"), l = D(null), u = Ue(), d = u.remainingMs, f = D(null), p = D(!1), m = D(!0), h = D(!1), g = /* @__PURE__ */ new Set(), _ = null, v = null, y = 0, b = 0, C = i(() => He(e.fillDelayMs, Re)), w = i(() => He(e.fillDelayStepMs, ze)), T = i(() => typeof e.resolve == "function"), E = i(() => e.mode ?? "dynamic"), O = i(() => _e(e.pageSize)), k = i(() => we(n.value)), A = i(() => Te(k.value, e.removedIds.value)), j = i(() => r.value), M = i(() => ge(c.value) || p.value), N = i(() => Ge(n.value, e.removedIds.value)), P = i(() => Ke(n.value, e.removedIds.value)), F = i(() => P.value?.nextCursor ?? null), I = i(() => o.value ? null : N.value?.previousCursor ?? null), R = i(() => !!F.value), z = i(() => !!I.value), B = i(() => T.value && n.value.length > 0), ee = i(() => Te(we(a.value), e.removedIds.value)), te = i(() => Oe(n.value, e.removedIds.value, j.value)), V = i(() => !A.value.length && !M.value && !!s.value);
441
- L(() => A.value.length, (e) => {
440
+ let t = !!e.initialState?.items.length, n = D([]), r = D(0), a = D([]), o = D(!1), s = D(null), c = D(!t && typeof e.resolve == "function" ? "initializing" : "idle"), l = D(null), u = Ue(), d = u.remainingMs, f = D(null), p = D(!1), m = D(!0), h = D(!1), g = /* @__PURE__ */ new Set(), _ = null, v = null, y = 0, b = 0, C = i(() => He(e.fillDelayMs, Re)), w = i(() => He(e.fillDelayStepMs, ze)), T = i(() => typeof e.resolve == "function"), E = i(() => _e(e.pageSize)), ee = i(() => we(n.value)), O = i(() => Te(ee.value, e.removedIds.value)), k = i(() => r.value), A = i(() => ge(c.value) || p.value), j = i(() => Ge(n.value, e.removedIds.value)), M = i(() => Ke(n.value, e.removedIds.value)), N = i(() => M.value?.nextCursor ?? null), P = i(() => o.value ? null : j.value?.previousCursor ?? null), F = i(() => !!N.value), L = i(() => !!P.value), R = i(() => T.value && n.value.length > 0), z = i(() => Te(we(a.value), e.removedIds.value)), te = i(() => Oe(n.value, e.removedIds.value, k.value)), B = i(() => !O.value.length && !A.value && !!s.value);
441
+ I(() => O.value.length, (e) => {
442
442
  if (e === 0) {
443
443
  r.value = 0;
444
444
  return;
445
445
  }
446
- o.value &&= (ye(), !1), r.value > e - 1 && (r.value = e - 1);
447
- }), L(() => r.value, () => {
448
- m.value && ce();
446
+ o.value &&= (he(), !1), r.value > e - 1 && (r.value = e - 1);
447
+ }), I(() => r.value, () => {
448
+ m.value && se();
449
449
  }), S(() => {
450
- pe() || e.resolve && H();
450
+ fe() || e.resolve && V();
451
451
  }), x(() => {
452
452
  _?.abort(), _ = null, u.clear(!0);
453
453
  });
454
- async function H() {
455
- v = H;
456
- let t = await de({
457
- continueUntilFilled: E.value === "dynamic",
454
+ async function V() {
455
+ v = V;
456
+ let t = await ue({
457
+ continueUntilFilled: !0,
458
458
  cursor: e.initialCursor ?? null,
459
459
  direction: "forward",
460
460
  phase: "initializing"
461
461
  });
462
462
  t && (n.value = t.buckets, r.value = 0, Z());
463
463
  }
464
- async function U() {
465
- if (!(h.value || M.value)) {
466
- if (!R.value) return B.value ? ue("trailing") : void 0;
467
- if (E.value === "static" && he("trailing")) return ue("trailing");
468
- await le(F.value);
464
+ async function H() {
465
+ if (!(h.value || A.value)) {
466
+ if (me("trailing") || !F.value) {
467
+ if (!R.value) return;
468
+ let e = await X("trailing");
469
+ e?.itemsLoaded === 0 && e.followCursor && await ce(e.followCursor);
470
+ return;
471
+ }
472
+ await ce(N.value);
469
473
  }
470
474
  }
471
- async function W() {
472
- if (!(h.value || !z.value || M.value)) {
473
- if (E.value === "static" && he("leading")) return ue("leading");
474
- await X(I.value);
475
+ async function U() {
476
+ if (!(h.value || !L.value || A.value)) {
477
+ if (me("leading")) {
478
+ let e = await X("leading");
479
+ e?.itemsLoaded === 0 && e.followCursor && await le(e.followCursor);
480
+ return;
481
+ }
482
+ await le(P.value);
475
483
  }
476
484
  }
477
- async function ne() {
478
- if (V.value) {
479
- if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = T.value ? "initializing" : "idle", l.value = null, f.value = null, p.value = !1, g.clear(), _?.abort(), _ = null, u.clear(!0), pe()) {
485
+ async function W() {
486
+ if (B.value) {
487
+ if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = T.value ? "initializing" : "idle", l.value = null, f.value = null, p.value = !1, g.clear(), _?.abort(), _ = null, u.clear(!0), fe()) {
480
488
  Z();
481
489
  return;
482
490
  }
483
- await H();
491
+ await V();
484
492
  }
485
493
  }
486
- async function G() {
487
- if (V.value) return ne();
494
+ async function ne() {
495
+ if (B.value) return W();
488
496
  h.value || c.value !== "failed" || !v || (s.value = null, await v());
489
497
  }
490
- async function K() {
498
+ async function G() {
491
499
  if (!a.value.length) return p.value = !1, Z();
492
500
  n.value = [...n.value, ...a.value], a.value = [], p.value = !1, Z();
493
501
  }
494
- function q(t) {
495
- let n = A.value;
502
+ function K(t) {
503
+ let n = O.value;
496
504
  if (!n.length) return;
497
505
  let i = Q(t, 0, n.length - 1);
498
506
  i !== r.value && (r.value = i, e.emit("update:activeIndex", i));
499
507
  }
500
- function re(e) {
508
+ function q(e) {
501
509
  m.value = e;
502
510
  }
503
- function J() {
511
+ function re() {
504
512
  h.value = !0, u.clear(!0);
505
513
  }
506
- function Y() {
514
+ function J() {
507
515
  h.value = !1;
508
516
  }
509
- function ie() {
517
+ function Y() {
510
518
  y += 1, _?.abort(), _ = null, u.clear(!0), g.clear(), s.value = null, l.value = null, f.value = null, a.value.length > 0 && (n.value = [...n.value, ...a.value], a.value = []), p.value = !1, o.value = !1, Z();
511
519
  }
512
- function ae() {
513
- return Fe(A.value, j.value);
520
+ function ie() {
521
+ return Fe(O.value, k.value);
514
522
  }
515
- function oe(e = null, t = {}) {
516
- if (A.value.length === 0) {
523
+ function ae(e = null, t = {}) {
524
+ if (O.value.length === 0) {
517
525
  r.value = 0, !t.preserveTrailingPlaceholder && n.value.length > 0 && (o.value = !0);
518
526
  return;
519
527
  }
520
528
  if (e) {
521
- let t = A.value.findIndex((t) => $(t) === e);
529
+ let t = O.value.findIndex((t) => $(t) === e);
522
530
  if (t >= 0) {
523
531
  r.value = t;
524
532
  return;
525
533
  }
526
534
  }
527
- if (t.preserveTrailingPlaceholder && r.value >= A.value.length) {
528
- r.value = A.value.length;
535
+ if (t.preserveTrailingPlaceholder && r.value >= O.value.length) {
536
+ r.value = O.value.length;
529
537
  return;
530
538
  }
531
- r.value = Ie(A.value, j.value, e);
539
+ r.value = Ie(O.value, k.value, e);
532
540
  }
533
- function se() {
534
- a.value.length > 0 && !ee.value.length && K();
541
+ function oe() {
542
+ a.value.length > 0 && !z.value.length && G();
535
543
  }
536
- async function ce() {
537
- if (!(!m.value || me())) {
538
- if (!A.value.length) {
539
- R.value && await U();
544
+ async function se() {
545
+ if (!(!m.value || pe())) {
546
+ if (!O.value.length) {
547
+ F.value && await H();
540
548
  return;
541
549
  }
542
- z.value && r.value < 3 && await W(), R.value && r.value >= A.value.length - 3 && await U();
550
+ L.value && r.value < 3 && await U(), F.value && r.value >= O.value.length - 3 && await H();
543
551
  }
544
552
  }
545
- async function le(e) {
553
+ async function ce(e) {
546
554
  v = async () => {
547
- await le(e);
555
+ await ce(e);
548
556
  };
549
- let t = await de({
550
- continueUntilFilled: E.value === "dynamic",
557
+ let t = await ue({
558
+ continueUntilFilled: !0,
551
559
  cursor: e,
552
560
  direction: "forward",
553
561
  phase: "loading"
554
562
  });
555
563
  if (t) {
556
564
  if (t.canceled) return n.value = [...n.value, ...t.buckets], a.value = [], p.value = !1, Z();
557
- if (a.value = t.buckets, !ee.value.length) return n.value = [...n.value, ...a.value], a.value = [], p.value = !1, Z();
565
+ if (a.value = t.buckets, !z.value.length) return n.value = [...n.value, ...a.value], a.value = [], p.value = !1, Z();
558
566
  p.value = !0;
559
567
  }
560
568
  }
561
- async function X(e) {
569
+ async function le(e) {
562
570
  v = async () => {
563
- await X(e);
571
+ await le(e);
564
572
  };
565
- let t = await de({
566
- continueUntilFilled: E.value === "dynamic",
573
+ let t = await ue({
574
+ continueUntilFilled: !0,
567
575
  cursor: e,
568
576
  direction: "backward",
569
577
  phase: "loading"
570
578
  });
571
579
  if (!t) return;
572
- let r = ae();
573
- n.value = [...t.buckets, ...n.value], oe(r), Z();
580
+ let r = ie();
581
+ n.value = [...t.buckets, ...n.value], ae(r), Z();
574
582
  }
575
- async function ue(t) {
583
+ async function X(t) {
576
584
  if (v = async () => {
577
- await ue(t);
578
- }, !e.resolve) return;
579
- let r = t === "leading" ? N.value : P.value;
580
- if (!r) return;
585
+ await X(t);
586
+ }, !e.resolve) return null;
587
+ let r = t === "leading" ? j.value : M.value;
588
+ if (!r) return null;
581
589
  let i = ve(r.cursor);
582
- if (g.has(i)) return;
590
+ if (g.has(i)) return null;
583
591
  g.add(i), s.value = null, c.value = "refreshing", l.value = null, f.value = null;
584
592
  let a = ++y, o = typeof AbortController > "u" ? null : new AbortController();
585
593
  _ = o;
586
594
  try {
587
- let t = await e.resolve({
595
+ let i = await e.resolve({
588
596
  cursor: r.cursor,
589
- pageSize: O.value,
597
+ pageSize: E.value,
590
598
  signal: o?.signal
591
599
  });
592
- if (a !== y) return Z();
593
- let i = fe({
600
+ if (a !== y) return Z(), null;
601
+ let s = de({
594
602
  cursor: r.cursor,
595
- nextCursor: t.nextPage,
596
- nextItems: t.items,
597
- previousCursor: t.previousPage ?? null,
603
+ nextCursor: i.nextPage,
604
+ nextItems: i.items,
605
+ previousCursor: i.previousPage ?? null,
598
606
  previousItems: r.items
599
- }), s = ae();
600
- n.value = ke(n.value, r.cursor, i), oe(s), Z();
607
+ }), c = ie();
608
+ return n.value = ke(n.value, r.cursor, s), ae(c), Z(), {
609
+ followCursor: t === "leading" ? i.previousPage ?? null : i.nextPage,
610
+ itemsLoaded: i.items.length
611
+ };
601
612
  } catch (e) {
602
- if (je(e) || a !== y) {
603
- Z();
604
- return;
605
- }
606
- s.value = e instanceof Error ? e.message : "The viewer could not load items.", c.value = "failed", l.value = null, f.value = null;
613
+ return je(e) || a !== y ? (Z(), null) : (s.value = e instanceof Error ? e.message : "The viewer could not load items.", c.value = "failed", l.value = null, f.value = null, null);
607
614
  } finally {
608
615
  _ === o && (_ = null), g.delete(i);
609
616
  }
610
617
  }
611
- async function de(t) {
618
+ async function ue(t) {
612
619
  if (!e.resolve) return null;
613
620
  let n = ++y, r = /* @__PURE__ */ new Set(), i = [], a = t.cursor, o = 0;
614
621
  for (s.value = null, c.value = t.phase, l.value = null, f.value = null;;) {
@@ -622,11 +629,11 @@ function We(e) {
622
629
  try {
623
630
  let r = await e.resolve({
624
631
  cursor: a,
625
- pageSize: O.value,
632
+ pageSize: E.value,
626
633
  signal: p?.signal
627
634
  });
628
635
  if (n !== y) return Ne(i, t.direction, e.removedIds.value, !0);
629
- let s = fe({
636
+ let s = de({
630
637
  cursor: a,
631
638
  nextCursor: r.nextPage,
632
639
  nextItems: r.items,
@@ -635,13 +642,13 @@ function We(e) {
635
642
  });
636
643
  i.push(s);
637
644
  let d = i.reduce((t, n) => t + De(n, e.removedIds.value), 0), m = t.direction === "forward" ? s.nextCursor : s.previousCursor;
638
- if (!t.continueUntilFilled || d >= O.value || !m) return {
645
+ if (!t.continueUntilFilled || d >= E.value || !m) return {
639
646
  canceled: !1,
640
647
  buckets: t.direction === "backward" ? [...i].reverse() : i,
641
648
  visibleCount: d
642
649
  };
643
650
  if (h.value) return Ne(i, t.direction, e.removedIds.value, !1);
644
- c.value = "filling", l.value = d, f.value = O.value, o += 1;
651
+ c.value = "filling", l.value = d, f.value = E.value, o += 1;
645
652
  let g = Ve(o, C.value, w.value);
646
653
  if (await u.wait(g), n !== y) return Ne(i, t.direction, e.removedIds.value, !0);
647
654
  a = m;
@@ -653,7 +660,7 @@ function We(e) {
653
660
  }
654
661
  return Ne(i, t.direction, e.removedIds.value, !1);
655
662
  }
656
- function fe(e) {
663
+ function de(e) {
657
664
  let t = Me({
658
665
  cursor: e.cursor,
659
666
  nextCursor: e.nextCursor,
@@ -667,7 +674,7 @@ function We(e) {
667
674
  function Z() {
668
675
  c.value = "idle", l.value = null, f.value = null, u.clear();
669
676
  }
670
- function pe() {
677
+ function fe() {
671
678
  if (!e.initialState || !e.initialState.items.length) return !1;
672
679
  let t = Pe({
673
680
  initialState: e.initialState,
@@ -676,13 +683,13 @@ function We(e) {
676
683
  });
677
684
  return n.value = t.buckets, r.value = t.activeIndex, b = t.nextSequence, o.value = !1, s.value = null, a.value = [], p.value = !1, !0;
678
685
  }
679
- function me() {
686
+ function pe() {
680
687
  return c.value === "initializing";
681
688
  }
682
- function he(t) {
683
- return Le(t === "leading" ? N.value : P.value, e.removedIds.value, O.value);
689
+ function me(t) {
690
+ return Le(t === "leading" ? j.value : M.value, e.removedIds.value, E.value);
684
691
  }
685
- function ye() {
692
+ function he() {
686
693
  let t = n.value.findIndex((t) => De(t, e.removedIds.value) > 0);
687
694
  if (t < 0) return;
688
695
  let r = t;
@@ -693,39 +700,38 @@ function We(e) {
693
700
  n.value = n.value.slice(t, r + 1);
694
701
  }
695
702
  return {
696
- activeIndex: j,
697
- canRetryInitialLoad: V,
698
- cancel: ie,
699
- canRefreshTrailingBoundary: B,
700
- commitPendingAppend: K,
703
+ activeIndex: k,
704
+ canRetryInitialLoad: B,
705
+ cancel: Y,
706
+ canRefreshTrailingBoundary: R,
707
+ commitPendingAppend: G,
701
708
  currentCursor: te,
702
709
  errorMessage: s,
703
710
  fillCollectedCount: l,
704
711
  fillDelayRemainingMs: d,
705
712
  fillTargetCount: f,
706
- hasNextPage: R,
707
- hasPreviousPage: z,
713
+ hasNextPage: F,
714
+ hasPreviousPage: L,
708
715
  isAutoPrefetchEnabled: m,
709
716
  isPageLoadingLocked: h,
710
- items: A,
711
- lockPageLoading: J,
712
- loading: M,
713
- mode: E,
714
- maybePrefetchAround: ce,
715
- nextCursor: F,
716
- pendingAppendItems: ee,
717
+ items: O,
718
+ lockPageLoading: re,
719
+ loading: A,
720
+ maybePrefetchAround: se,
721
+ nextCursor: N,
722
+ pendingAppendItems: z,
717
723
  phase: c,
718
- prefetchNextPage: U,
719
- prefetchPreviousPage: W,
720
- previousCursor: I,
721
- retryInitialLoad: ne,
722
- retry: G,
723
- setActiveIndex: q,
724
- setAutoPrefetchEnabled: re,
725
- syncActiveIndexAfterVisibilityChange: oe,
726
- unlockPageLoading: Y,
727
- getActiveOccurrenceKey: ae,
728
- maybeCommitPendingAppendWhenFilteredOut: se
724
+ prefetchNextPage: H,
725
+ prefetchPreviousPage: U,
726
+ previousCursor: P,
727
+ retryInitialLoad: W,
728
+ retry: ne,
729
+ setActiveIndex: K,
730
+ setAutoPrefetchEnabled: q,
731
+ syncActiveIndexAfterVisibilityChange: ae,
732
+ unlockPageLoading: J,
733
+ getActiveOccurrenceKey: ie,
734
+ maybeCommitPendingAppendWhenFilteredOut: oe
729
735
  };
730
736
  }
731
737
  function Ge(e, t) {
@@ -747,7 +753,6 @@ function qe(e, t) {
747
753
  fillDelayStepMs: e.fillDelayStepMs,
748
754
  initialCursor: e.initialCursor,
749
755
  initialState: e.initialState,
750
- mode: e.mode,
751
756
  pageSize: e.pageSize,
752
757
  removedIds: o,
753
758
  resolve: e.resolve
@@ -808,7 +813,6 @@ function qe(e, t) {
808
813
  loading: f,
809
814
  loadNext: T,
810
815
  loadPrevious: E,
811
- mode: l.mode,
812
816
  nextCursor: l.nextCursor,
813
817
  paginationDetail: g,
814
818
  pendingAppendItems: l.pendingAppendItems,
@@ -845,7 +849,6 @@ function Ye(e, t) {
845
849
  hasPreviousPage: !1,
846
850
  itemCount: 0,
847
851
  loadState: "loaded",
848
- mode: "dynamic",
849
852
  nextBoundaryLoadProgress: 0,
850
853
  nextCursor: null,
851
854
  pageLoadingLocked: !1,
@@ -856,23 +859,23 @@ function Ye(e, t) {
856
859
  removedIds: [],
857
860
  surfaceMode: "list"
858
861
  }), c = i(() => a.value >= Je), l = i(() => c.value ? o.value : "fullscreen"), u = i(() => c.value && l.value === "fullscreen");
859
- L(c, (e) => {
862
+ I(c, (e) => {
860
863
  e && h();
861
- }), L(() => e.surfaceMode, () => {
864
+ }), I(() => e.surfaceMode, () => {
862
865
  h();
863
- }), L([l, () => n.pendingAppendItems.value.length], ([e, t]) => {
866
+ }), I([l, () => n.pendingAppendItems.value.length], ([e, t]) => {
864
867
  e === "list" || t <= 0 || n.commitPendingAppend();
865
- }), L([
868
+ }), I([
866
869
  () => n.items.value.length,
867
870
  () => n.loading.value,
868
871
  () => n.hasNextPage.value,
869
872
  () => n.pendingAppendItems.value.length
870
873
  ], ([e, n, r, i]) => {
871
874
  !c.value || e > 0 || o.value === "list" || n || r || i > 0 || (o.value = "list", t("update:surfaceMode", "list"));
872
- }), L(l, (e) => {
875
+ }), I(l, (e) => {
873
876
  n.setAutoPrefetchEnabled(e === "fullscreen");
874
- }, { immediate: !0 }), R(() => {
875
- s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillTargetCount = n.fillTargetCount.value, s.hasNextPage = n.hasNextPage.value, s.hasPreviousPage = n.hasPreviousPage.value, s.itemCount = n.items.value.length, s.loadState = n.loading.value ? "loading" : n.errorMessage.value ? "failed" : "loaded", s.mode = n.mode.value, 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;
877
+ }, { immediate: !0 }), L(() => {
878
+ s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillTargetCount = n.fillTargetCount.value, s.hasNextPage = n.hasNextPage.value, s.hasPreviousPage = n.hasPreviousPage.value, s.itemCount = n.items.value.length, s.loadState = n.loading.value ? "loading" : n.errorMessage.value ? "failed" : "loaded", s.nextBoundaryLoadProgress = r.nextBoundaryLoadProgress, s.nextCursor = n.nextCursor.value, s.pageLoadingLocked = n.isPageLoadingLocked.value, s.phase = n.phase.value, s.previousBoundaryLoadProgress = r.previousBoundaryLoadProgress, s.previousCursor = n.previousCursor.value, s.removedCount = n.removedCount.value, s.removedIds = n.getRemovedIds(), s.surfaceMode = l.value;
876
879
  }), S(() => {
877
880
  m(), h(), window.addEventListener("keydown", p), window.addEventListener("resize", m);
878
881
  }), x(() => {
@@ -951,7 +954,7 @@ var Ze = {
951
954
  ],
952
955
  setup(e, { emit: t }) {
953
956
  let n = e, r = t, l = D(null), u = D(!1), d = i(() => n.volumeControlLayout === "vertical"), f = i(() => C(n.volume, 0, 1)), p = i(() => Math.round(f.value * 100)), m = i(() => n.muted || f.value <= 0 ? de : f.value < .5 ? X : ue), h = i(() => n.muted || f.value <= 0 ? "Unmute active media" : "Mute active media"), g = i(() => d.value && !u.value ? "Show volume controls" : h.value), _ = i(() => n.volumeControlLayout === "vertical" ? { height: `${p.value}%` } : { width: `${p.value}%` });
954
- L(d, (e) => {
957
+ I(d, (e) => {
955
958
  e || (u.value = !1);
956
959
  }), S(() => {
957
960
  document.addEventListener("pointerdown", v);
@@ -976,7 +979,7 @@ var Ze = {
976
979
  return Math.min(Math.max(e, t), n);
977
980
  }
978
981
  return (e, t) => (w(), s("div", Ze, [c("div", Qe, [
979
- c("span", $e, j(n.currentTimeLabel), 1),
982
+ c("span", $e, A(n.currentTimeLabel), 1),
980
983
  c("div", et, [
981
984
  t[3] ||= c("div", { class: "absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12" }, null, -1),
982
985
  c("div", {
@@ -996,7 +999,7 @@ var Ze = {
996
999
  onInput: t[0] ||= (e) => r("seek-input", e)
997
1000
  }, null, 40, tt)
998
1001
  ]),
999
- c("span", nt, j(n.durationLabel), 1),
1002
+ c("span", nt, A(n.durationLabel), 1),
1000
1003
  c("div", {
1001
1004
  ref_key: "rootRef",
1002
1005
  ref: l,
@@ -1027,7 +1030,7 @@ var Ze = {
1027
1030
  "aria-label": g.value,
1028
1031
  class: "inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/65",
1029
1032
  onClick: y
1030
- }, [(w(), a(A(m.value), {
1033
+ }, [(w(), a(k(m.value), {
1031
1034
  class: "h-4 w-4 stroke-[1.9]",
1032
1035
  "aria-hidden": "true"
1033
1036
  }))], 8, ct), n.volumeControlLayout === "horizontal" ? (w(), s("div", lt, [
@@ -1085,19 +1088,19 @@ var Ze = {
1085
1088
  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",
1086
1089
  "aria-label": "Back to list",
1087
1090
  onClick: t[0] ||= (e) => r("back-to-list")
1088
- }, [u(N(re), {
1091
+ }, [u(M(re), {
1089
1092
  class: "h-4 w-4 stroke-[2.2]",
1090
1093
  "aria-hidden": "true"
1091
- })])) : o("", !0), n.title ? (w(), s("h2", gt, j(n.title), 1)) : o("", !0)]), c("div", _t, [c("span", vt, [
1092
- n.loading ? (w(), a(N(oe), {
1094
+ })])) : o("", !0), n.title ? (w(), s("h2", gt, A(n.title), 1)) : o("", !0)]), c("div", _t, [c("span", vt, [
1095
+ n.loading ? (w(), a(M(oe), {
1093
1096
  key: 0,
1094
1097
  "data-testid": "vibe-pagination-spinner",
1095
1098
  class: "h-3.5 w-3.5 animate-spin stroke-[1.9]",
1096
1099
  "aria-hidden": "true"
1097
1100
  })) : o("", !0),
1098
- c("span", yt, j(n.currentIndex + 1) + " / " + j(n.total), 1),
1099
- n.paginationDetail ? (w(), s("span", bt, j(n.paginationDetail), 1)) : o("", !0)
1100
- ]), k(e.$slots, "actions")])])]), n.showEndBadge ? (w(), s("div", xt, [...t[1] ||= [c("span", { class: "inline-flex items-center border border-amber-300/35 bg-black/40 px-4 py-3 text-[0.74rem] font-bold uppercase tracking-[0.2em] text-amber-200 backdrop-blur-[18px]" }, " End reached ", -1)]])) : o("", !0)]));
1101
+ c("span", yt, A(n.currentIndex + 1) + " / " + A(n.total), 1),
1102
+ n.paginationDetail ? (w(), s("span", bt, A(n.paginationDetail), 1)) : o("", !0)
1103
+ ]), O(e.$slots, "actions")])])]), n.showEndBadge ? (w(), s("div", xt, [...t[1] ||= [c("span", { class: "inline-flex items-center border border-amber-300/35 bg-black/40 px-4 py-3 text-[0.74rem] font-bold uppercase tracking-[0.2em] text-amber-200 backdrop-blur-[18px]" }, " End reached ", -1)]])) : o("", !0)]));
1101
1104
  }
1102
1105
  }), Ct = {
1103
1106
  image: ae,
@@ -1197,7 +1200,7 @@ function Nt(e) {
1197
1200
  maxPerDomain: 1,
1198
1201
  maxVideoPerDomain: 1
1199
1202
  }), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set();
1200
- L([
1203
+ I([
1201
1204
  e.active,
1202
1205
  e.items,
1203
1206
  e.resolvedActiveIndex
@@ -1489,7 +1492,7 @@ function Gt(e) {
1489
1492
  //#region src/components/viewer-core/useActivation.ts
1490
1493
  function Kt(e) {
1491
1494
  let t = !1;
1492
- L(e.enabled, async (t) => {
1495
+ I(e.enabled, async (t) => {
1493
1496
  if (n(t), t) {
1494
1497
  e.onResize(), await e.onEnable();
1495
1498
  return;
@@ -1576,12 +1579,12 @@ function sn(e) {
1576
1579
  let t = /* @__PURE__ */ new Map();
1577
1580
  for (let n of e.items.value) t.set($(n), n);
1578
1581
  return t;
1579
- }), p = i(() => d.value ? r.value[d.value] ?? qt : qt), 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);
1580
- L(() => u.value, async () => {
1582
+ }), p = i(() => d.value ? r.value[d.value] ?? qt : qt), 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 ? L(u.value) : null);
1583
+ I(() => u.value, async () => {
1581
1584
  await C();
1582
- }), L(() => e.itemCount.value, async () => {
1585
+ }), I(() => e.itemCount.value, async () => {
1583
1586
  await C();
1584
- }), L(() => e.loopFullscreenVideo.value, async () => {
1587
+ }), I(() => e.loopFullscreenVideo.value, async () => {
1585
1588
  await C();
1586
1589
  });
1587
1590
  function v(e, t) {
@@ -1655,7 +1658,7 @@ function sn(e) {
1655
1658
  surface: "fullscreen"
1656
1659
  });
1657
1660
  }
1658
- async function O(t, n) {
1661
+ async function ee(t, n) {
1659
1662
  let r = K(t), i = U(t), a = Y(t) ?? e.activeMediaItem.value ?? e.activeItem.value;
1660
1663
  if (r) {
1661
1664
  r.pause();
@@ -1673,13 +1676,13 @@ function sn(e) {
1673
1676
  surface: "fullscreen"
1674
1677
  });
1675
1678
  }
1676
- function k(e, t, n) {
1679
+ function O(e, t, n) {
1677
1680
  e.button !== 0 || Date.now() < n || re(s.get(t) ?? null);
1678
1681
  }
1679
- function A(e, t, n) {
1682
+ function k(e, t, n) {
1680
1683
  e.button !== 0 || Date.now() < n || re(K(t));
1681
1684
  }
1682
- function j(e) {
1685
+ function A(e) {
1683
1686
  let t = q(), n = d.value;
1684
1687
  if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
1685
1688
  let r = Number.parseFloat(e.target.value);
@@ -1687,40 +1690,40 @@ function sn(e) {
1687
1690
  let i = cn(r, 0, m.value || 0);
1688
1691
  ne(n, i, t), t.currentTime = i;
1689
1692
  }
1690
- function M(e) {
1693
+ function j(e) {
1691
1694
  let t = q(), n = d.value;
1692
1695
  if (!t || !n || !(e.target instanceof HTMLInputElement)) return;
1693
1696
  let r = cn(Number.parseFloat(e.target.value), 0, 1);
1694
1697
  t.volume = r, t.muted = r <= 0, r > 0 && (o.value[n] = r), W(n, t);
1695
1698
  }
1696
- function N() {
1699
+ function M() {
1697
1700
  let e = q(), t = d.value;
1698
1701
  !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));
1699
1702
  }
1700
- function P(e) {
1703
+ function N(e) {
1701
1704
  return !!t.value[e] && !n.value[e];
1702
1705
  }
1703
- function F(e) {
1706
+ function P(e) {
1704
1707
  return (r.value[e]?.ready ?? !1) && !r.value[e]?.errorKind;
1705
1708
  }
1706
- function I(e) {
1709
+ function F(e) {
1707
1710
  return e.url;
1708
1711
  }
1709
- function R(e) {
1712
+ function L(e) {
1710
1713
  return n.value[e] ?? r.value[e]?.errorKind ?? null;
1711
1714
  }
1712
- function z(e) {
1713
- let t = R(e);
1715
+ function R(e) {
1716
+ let t = L(e);
1714
1717
  return t ? $t(t) : null;
1715
1718
  }
1716
- function B(e) {
1717
- return en(R(e));
1719
+ function z(e) {
1720
+ return en(L(e));
1718
1721
  }
1719
- function ee(e) {
1722
+ function te(e) {
1720
1723
  return `${e}:${a.value[e] ?? 0}`;
1721
1724
  }
1722
- async function te(e) {
1723
- if (!B(e)) return;
1725
+ async function B(e) {
1726
+ if (!z(e)) return;
1724
1727
  t.value[e] = !1, n.value[e] = null;
1725
1728
  let r = U(e);
1726
1729
  r.currentTime = 0, r.duration = 0, r.paused = !0, r.ready = !1, r.errorKind = null;
@@ -1790,29 +1793,29 @@ function sn(e) {
1790
1793
  activeMediaDuration: m,
1791
1794
  activeMediaProgress: h,
1792
1795
  activeMediaState: p,
1793
- getAssetErrorKind: R,
1794
- getAssetErrorLabel: z,
1795
- getAssetRenderKey: ee,
1796
- getImageSource: I,
1797
- isImageReady: P,
1798
- isMediaReady: F,
1799
- canRetryAsset: B,
1796
+ getAssetErrorKind: L,
1797
+ getAssetErrorLabel: R,
1798
+ getAssetRenderKey: te,
1799
+ getImageSource: F,
1800
+ isImageReady: N,
1801
+ isMediaReady: P,
1802
+ canRetryAsset: z,
1800
1803
  mediaStates: r,
1801
- onAudioCoverClick: A,
1804
+ onAudioCoverClick: k,
1802
1805
  onImageError: E,
1803
1806
  onImageLoad: T,
1804
- onMediaError: O,
1807
+ onMediaError: ee,
1805
1808
  onMediaEvent: w,
1806
- onMediaSeekInput: j,
1807
- onMediaVolumeInput: M,
1808
- onMediaVolumeToggle: N,
1809
- onVideoClick: k,
1809
+ onMediaSeekInput: A,
1810
+ onMediaVolumeInput: j,
1811
+ onMediaVolumeToggle: M,
1812
+ onVideoClick: O,
1810
1813
  registerAudioElement: y,
1811
1814
  registerImageElement: b,
1812
1815
  registerVideoElement: v,
1813
1816
  resetAssetState: S,
1814
1817
  resetMediaState: x,
1815
- retryAsset: te,
1818
+ retryAsset: B,
1816
1819
  syncMediaPlayback: C
1817
1820
  };
1818
1821
  }
@@ -1848,7 +1851,7 @@ function fn(e, t, n = {}) {
1848
1851
  itemCount: r.value.length,
1849
1852
  loading: s.value,
1850
1853
  phase: e.phase
1851
- })), 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({
1854
+ })), f = i(() => !1), p = D(null), m = D(0), h = D(!1), g = D(1), _ = n.enabled ?? i(() => !0), v = null, y = 0, b = 0, x = 0, S = i(() => r.value.length === 0 ? 0 : N(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({
1852
1855
  items: r,
1853
1856
  activeItem: C,
1854
1857
  activeMediaItem: w,
@@ -1857,13 +1860,13 @@ function fn(e, t, n = {}) {
1857
1860
  loopFullscreenVideo: l,
1858
1861
  onAssetError: n.onAssetError,
1859
1862
  onAssetLoad: n.onAssetLoad
1860
- }), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), O = i(() => Gt({
1863
+ }), E = i(() => r.value.length > 0 && S.value === r.value.length - 1), ee = i(() => Gt({
1861
1864
  errorMessage: o.value,
1862
1865
  hasItems: r.value.length > 0,
1863
1866
  hasNextPage: c.value,
1864
1867
  phase: d.value,
1865
1868
  surface: "fullscreen"
1866
- })), k = i(() => O.value?.kind ?? null), A = i(() => O.value?.message ?? null), j = i(() => Math.min(96, g.value * .15 || 96)), M = i(() => ln(S.value, r.value.length)), N = i(() => un(r.value, S.value));
1869
+ })), O = i(() => ee.value?.kind ?? null), k = i(() => ee.value?.message ?? null), A = i(() => Math.min(96, g.value * .15 || 96)), j = i(() => ln(S.value, r.value.length)), M = i(() => un(r.value, S.value));
1867
1870
  Kt({
1868
1871
  enabled: _,
1869
1872
  onDisable() {
@@ -1873,40 +1876,40 @@ function fn(e, t, n = {}) {
1873
1876
  return T.syncMediaPlayback();
1874
1877
  },
1875
1878
  onKeydown: W,
1876
- onResize: F
1879
+ onResize: P
1877
1880
  });
1878
- function P(e, t, n) {
1881
+ function N(e, t, n) {
1879
1882
  return Math.min(Math.max(e, t), n);
1880
1883
  }
1881
- function F() {
1884
+ function P() {
1882
1885
  g.value = p.value?.clientHeight || window.innerHeight || 1;
1883
1886
  }
1884
- function I(e) {
1885
- return r.value.length === 0 ? !1 : P(S.value + e, 0, r.value.length - 1) !== S.value;
1887
+ function F(e) {
1888
+ return r.value.length === 0 ? !1 : N(S.value + e, 0, r.value.length - 1) !== S.value;
1886
1889
  }
1887
- function L(e) {
1890
+ function I(e) {
1888
1891
  if (r.value.length === 0) return;
1889
- let n = P(S.value + e, 0, r.value.length - 1);
1892
+ let n = N(S.value + e, 0, r.value.length - 1);
1890
1893
  n !== S.value && t("update:activeIndex", n);
1891
1894
  }
1892
- function R(e) {
1895
+ function L(e) {
1893
1896
  let t = e > 0, n = e < 0;
1894
- return t && !I(-1) || n && !I(1) ? e * .24 : e;
1897
+ return t && !F(-1) || n && !F(1) ? e * .24 : e;
1895
1898
  }
1896
- function z(e) {
1899
+ function R(e) {
1897
1900
  !_.value || r.value.length === 0 || e.pointerType === "mouse" || he(e.target) || (v = e.pointerId, y = e.clientY, m.value = 0, h.value = !0, p.value?.setPointerCapture?.(e.pointerId));
1898
1901
  }
1899
- function B(e) {
1900
- !_.value || !h.value || v !== e.pointerId || (m.value = R(e.clientY - y));
1902
+ function z(e) {
1903
+ !_.value || !h.value || v !== e.pointerId || (m.value = L(e.clientY - y));
1901
1904
  }
1902
- function ee(e) {
1905
+ function te(e) {
1903
1906
  !_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), V());
1904
1907
  }
1905
- function te(e) {
1908
+ function B(e) {
1906
1909
  !_.value || v !== e.pointerId || (p.value?.releasePointerCapture?.(e.pointerId), H());
1907
1910
  }
1908
1911
  function V() {
1909
- Math.abs(m.value) >= j.value && (x = Date.now() + 250, L(m.value < 0 ? 1 : -1)), H();
1912
+ Math.abs(m.value) >= A.value && (x = Date.now() + 250, I(m.value < 0 ? 1 : -1)), H();
1910
1913
  }
1911
1914
  function H() {
1912
1915
  m.value = 0, h.value = !1, v = null;
@@ -1915,10 +1918,10 @@ function fn(e, t, n = {}) {
1915
1918
  if (!_.value || r.value.length === 0 || h.value || he(e.target) || Math.abs(e.deltaY) < Math.max(Math.abs(e.deltaX), 24)) return;
1916
1919
  e.preventDefault();
1917
1920
  let t = Date.now();
1918
- t < b || (b = t + 400, L(e.deltaY > 0 ? 1 : -1));
1921
+ t < b || (b = t + 400, I(e.deltaY > 0 ? 1 : -1));
1919
1922
  }
1920
1923
  function W(e) {
1921
- !_.value || r.value.length === 0 || me(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(), L(1)), (e.key === "ArrowUp" || e.key === "PageUp") && (e.preventDefault(), L(-1)));
1924
+ !_.value || r.value.length === 0 || me(e.target) || ((e.key === "ArrowDown" || e.key === "PageDown") && (e.preventDefault(), I(1)), (e.key === "ArrowUp" || e.key === "PageUp") && (e.preventDefault(), I(-1)));
1922
1925
  }
1923
1926
  function ne(e, t) {
1924
1927
  T.onVideoClick(e, t, x);
@@ -1977,24 +1980,24 @@ function fn(e, t, n = {}) {
1977
1980
  onMediaSeekInput: K,
1978
1981
  onMediaVolumeInput: q,
1979
1982
  onMediaVolumeToggle: re,
1980
- onPointerCancel: te,
1981
- onPointerDown: z,
1982
- onPointerMove: B,
1983
- onPointerUp: ee,
1983
+ onPointerCancel: B,
1984
+ onPointerDown: R,
1985
+ onPointerMove: z,
1986
+ onPointerUp: te,
1984
1987
  onVideoClick: ne,
1985
1988
  onWheel: U,
1986
1989
  registerAudioElement: T.registerAudioElement,
1987
1990
  registerImageElement: T.registerImageElement,
1988
1991
  registerVideoElement: T.registerVideoElement,
1989
- renderedItems: N,
1990
- renderedRange: M,
1992
+ renderedItems: M,
1993
+ renderedRange: j,
1991
1994
  resolvedActiveIndex: S,
1992
1995
  resetAssetState: T.resetAssetState,
1993
1996
  retryInitialLoad: async () => {},
1994
1997
  retryAsset: T.retryAsset,
1995
1998
  stageRef: p,
1996
- statusKind: k,
1997
- statusMessage: A,
1999
+ statusKind: O,
2000
+ statusMessage: k,
1998
2001
  paginationDetail: u,
1999
2002
  phase: d
2000
2003
  };
@@ -2053,7 +2056,7 @@ function bn(e) {
2053
2056
  let { r: e, g: t, b: n } = r.value;
2054
2057
  return { background: `radial-gradient(circle at center, rgba(${e},${t},${n},0.42) 0%, transparent 44%), linear-gradient(180deg,#0b0c11,#06070b)` };
2055
2058
  });
2056
- L(() => e.showDominantImageTone.value, (e) => {
2059
+ I(() => e.showDominantImageTone.value, (e) => {
2057
2060
  e || (t.value = {});
2058
2061
  });
2059
2062
  function s(n, r) {
@@ -2078,16 +2081,16 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2078
2081
  surface: {}
2079
2082
  },
2080
2083
  setup(e) {
2081
- let t = P();
2082
- return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 }, N(t), {
2084
+ let t = N();
2085
+ return (n, r) => e.mode === "inline" ? (w(), s("div", g({ key: 0 }, M(t), {
2083
2086
  "data-testid": "vibe-empty-state-inline",
2084
2087
  "data-surface": e.surface,
2085
2088
  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)]"]
2086
- }), [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, xn)) : (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", {
2089
+ }), [O(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"]) }, A(e.message), 3)])], 16, xn)) : (w(), s("div", g({ key: 1 }, M(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]"] }), [O(n.$slots, "default", {}, () => [c("span", {
2087
2090
  "data-testid": "vibe-empty-state-badge",
2088
2091
  "data-surface": e.surface,
2089
2092
  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"])
2090
- }, j(e.message), 11, Sn)])], 16));
2093
+ }, A(e.message), 11, Sn)])], 16));
2091
2094
  }
2092
2095
  }), wn = { class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]" }, Tn = {
2093
2096
  key: 0,
@@ -2221,23 +2224,23 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2221
2224
  },
2222
2225
  emits: ["back-to-list", "update:activeIndex"],
2223
2226
  setup(e, { emit: n }) {
2224
- let d = e, f = F(), m = n, h = fn(d, (e, t) => {
2227
+ let d = e, f = P(), m = n, h = fn(d, (e, t) => {
2225
2228
  m("update:activeIndex", t);
2226
2229
  }, {
2227
- enabled: M(d, "active"),
2230
+ enabled: j(d, "active"),
2228
2231
  onAssetError: d.reportAssetError ?? void 0,
2229
2232
  onAssetLoad: d.reportAssetLoad ?? void 0
2230
2233
  }), _ = D(typeof window > "u" ? rr : window.innerWidth || rr), C = Rt({
2231
- active: M(d, "active"),
2234
+ active: j(d, "active"),
2232
2235
  items: h.items,
2233
2236
  resolvedActiveIndex: h.resolvedActiveIndex,
2234
2237
  viewer: h
2235
- }), T = i(() => gn(h.activeItem.value?.type ?? "image")), { activeSlideToneStyle: E, activeStageToneStyle: P, updateFromImageElement: I } = bn({
2238
+ }), T = i(() => gn(h.activeItem.value?.type ?? "image")), { activeSlideToneStyle: E, activeStageToneStyle: N, updateFromImageElement: F } = bn({
2236
2239
  activeItem: h.activeItem,
2237
2240
  getItemKey: C.getItemKey,
2238
2241
  isImageReady: h.isImageReady,
2239
- showDominantImageTone: M(d, "showDominantImageTone")
2240
- }), L = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value ? "bottom-[5.8rem] max-[720px]:bottom-[7.4rem]" : "bottom-[1.8rem] max-[720px]:bottom-[1.3rem]"), R = i(() => !!h.activeMediaItem.value && !h.activeAssetErrorKind.value), B = i(() => _.value < ir ? "vertical" : "horizontal"), te = i(() => R.value ? "pb-[5.75rem] max-[720px]:pb-[7rem]" : ""), V = i(() => d.activeIndex >= d.items.length && (d.loading || d.hasNextPage)), H = i(() => d.hasNextPage ? "Loading more items" : h.statusMessage.value ?? "Loading more items"), U = i(() => {
2242
+ showDominantImageTone: j(d, "showDominantImageTone")
2243
+ }), I = i(() => h.activeMediaItem.value && !h.activeAssetErrorKind.value ? "bottom-[5.8rem] max-[720px]:bottom-[7.4rem]" : "bottom-[1.8rem] max-[720px]:bottom-[1.3rem]"), L = i(() => !!h.activeMediaItem.value && !h.activeAssetErrorKind.value), z = i(() => _.value < ir ? "vertical" : "horizontal"), B = i(() => L.value ? "pb-[5.75rem] max-[720px]:pb-[7rem]" : ""), V = i(() => d.activeIndex >= d.items.length && (d.loading || d.hasNextPage)), H = i(() => d.hasNextPage ? "Loading more items" : h.statusMessage.value ?? "Loading more items"), U = i(() => {
2241
2244
  let e = h.activeItem.value;
2242
2245
  return e ? {
2243
2246
  hasNextPage: d.hasNextPage,
@@ -2254,19 +2257,19 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2254
2257
  }), K = i(() => !G.value || !f["fullscreen-status"] ? [] : f["fullscreen-status"](G.value)), q = i(() => ({
2255
2258
  gridTemplateColumns: Y.value ? "minmax(0, 1fr) 22rem" : "minmax(0, 1fr) 0rem",
2256
2259
  transition: "grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)"
2257
- })), re = i(() => zt(W.value)), J = i(() => zt(ne.value)), Y = i(() => J.value && _.value >= rr), ie = i(() => J.value && !Y.value), ae = i(() => zt(K.value)), { emptyStateProps: X, showBadgeEmptyState: ue, showCustomEmptyState: de, showInlineEmptyState: fe } = Ht({
2258
- emptyStateMode: M(d, "emptyStateMode"),
2260
+ })), re = i(() => zt(W.value)), J = i(() => zt(ne.value)), Y = i(() => J.value && _.value >= rr), ie = i(() => J.value && !Y.value), ae = i(() => zt(K.value)), { emptyStateProps: X, showBadgeEmptyState: ue, showCustomEmptyState: de, showInlineEmptyState: Z } = Ht({
2261
+ emptyStateMode: j(d, "emptyStateMode"),
2259
2262
  itemCount: i(() => d.items.length),
2260
- loading: M(d, "loading"),
2263
+ loading: j(d, "loading"),
2261
2264
  renderSlot: f["empty-state"],
2262
2265
  surface: "fullscreen"
2263
2266
  });
2264
2267
  S(() => {
2265
- window.addEventListener("resize", Z);
2268
+ window.addEventListener("resize", fe);
2266
2269
  }), x(() => {
2267
- window.removeEventListener("resize", Z);
2270
+ window.removeEventListener("resize", fe);
2268
2271
  });
2269
- function Z() {
2272
+ function fe() {
2270
2273
  _.value = window.innerWidth || rr;
2271
2274
  }
2272
2275
  function pe(e, t, n) {
@@ -2295,7 +2298,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2295
2298
  n instanceof HTMLMediaElement && n.readyState >= r && C.settleBackgroundPreload(e);
2296
2299
  }
2297
2300
  function ye(e, t) {
2298
- I(e, t);
2301
+ F(e, t);
2299
2302
  }
2300
2303
  function be(e, t) {
2301
2304
  if (Q(t, e), !d.loopFullscreenVideo) return;
@@ -2310,7 +2313,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2310
2313
  return (e, n) => (w(), s("div", wn, [
2311
2314
  c("div", {
2312
2315
  class: v(["absolute inset-0 transition-[background] duration-200", T.value]),
2313
- style: b(N(P))
2316
+ style: b(M(N))
2314
2317
  }, null, 6),
2315
2318
  c("div", {
2316
2319
  class: "relative z-[1] grid h-full min-h-0",
@@ -2319,170 +2322,170 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2319
2322
  ref: "viewer.stageRef",
2320
2323
  "data-testid": "vibe-stage",
2321
2324
  class: "relative h-full min-h-0 touch-none overflow-hidden",
2322
- onPointerdown: n[1] ||= (...e) => N(h).onPointerDown && N(h).onPointerDown(...e),
2323
- onPointermove: n[2] ||= (...e) => N(h).onPointerMove && N(h).onPointerMove(...e),
2324
- onPointerup: n[3] ||= (...e) => N(h).onPointerUp && N(h).onPointerUp(...e),
2325
- onPointercancel: n[4] ||= (...e) => N(h).onPointerCancel && N(h).onPointerCancel(...e),
2326
- onWheel: n[5] ||= (...e) => N(h).onWheel && N(h).onWheel(...e)
2327
- }, [N(h).activeItem.value ? (w(), s("div", Tn, [
2328
- (w(!0), s(t, null, O(N(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
2329
- key: N(C).getItemKey(r),
2325
+ onPointerdown: n[1] ||= (...e) => M(h).onPointerDown && M(h).onPointerDown(...e),
2326
+ onPointermove: n[2] ||= (...e) => M(h).onPointerMove && M(h).onPointerMove(...e),
2327
+ onPointerup: n[3] ||= (...e) => M(h).onPointerUp && M(h).onPointerUp(...e),
2328
+ onPointercancel: n[4] ||= (...e) => M(h).onPointerCancel && M(h).onPointerCancel(...e),
2329
+ onWheel: n[5] ||= (...e) => M(h).onWheel && M(h).onWheel(...e)
2330
+ }, [M(h).activeItem.value ? (w(), s("div", Tn, [
2331
+ (w(!0), s(t, null, ee(M(h).renderedItems.value, ({ item: r, index: i }) => (w(), s("article", {
2332
+ key: M(C).getItemKey(r),
2330
2333
  "data-testid": "vibe-slide",
2331
2334
  "data-item-id": r.id,
2332
- "data-occurrence-key": N(C).getItemKey(r),
2335
+ "data-occurrence-key": M(C).getItemKey(r),
2333
2336
  "data-index": i,
2334
- "data-active": i === N(h).resolvedActiveIndex.value,
2335
- "aria-hidden": i === N(h).resolvedActiveIndex.value ? "false" : "true",
2336
- 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"]),
2337
- style: b(N(h).getSlideStyle(i))
2337
+ "data-active": i === M(h).resolvedActiveIndex.value,
2338
+ "aria-hidden": i === M(h).resolvedActiveIndex.value ? "false" : "true",
2339
+ class: v(["absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform", i === M(h).resolvedActiveIndex.value ? "pointer-events-auto" : "pointer-events-none"]),
2340
+ style: b(M(h).getSlideStyle(i))
2338
2341
  }, [c("div", {
2339
- class: v(["absolute inset-0 opacity-85", N(_n)(r.type)]),
2340
- style: b(i === N(h).resolvedActiveIndex.value && r.type === "image" ? N(E) : void 0)
2341
- }, null, 6), N(h).isVisual(r) ? (w(), s("div", {
2342
+ class: v(["absolute inset-0 opacity-85", M(_n)(r.type)]),
2343
+ style: b(i === M(h).resolvedActiveIndex.value && r.type === "image" ? M(E) : void 0)
2344
+ }, null, 6), M(h).isVisual(r) ? (w(), s("div", {
2342
2345
  key: 0,
2343
- class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === N(h).resolvedActiveIndex.value ? te.value : ""])
2344
- }, [N(C).isAssetLoading(i, r) ? (w(), s("div", Dn, [c("span", On, [u(N(oe), {
2346
+ class: v(["relative z-[1] flex h-full w-full items-center justify-center overflow-hidden", i === M(h).resolvedActiveIndex.value ? B.value : ""])
2347
+ }, [M(C).isAssetLoading(i, r) ? (w(), s("div", Dn, [c("span", On, [u(M(oe), {
2345
2348
  class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
2346
2349
  "aria-hidden": "true"
2347
- })])])) : o("", !0), N(C).isAssetErrored(i, r) ? (w(), s("div", {
2350
+ })])])) : o("", !0), M(C).isAssetErrored(i, r) ? (w(), s("div", {
2348
2351
  key: 1,
2349
2352
  "data-testid": "vibe-asset-error",
2350
- "data-kind": N(C).getAssetErrorKind(r),
2353
+ "data-kind": M(C).getAssetErrorKind(r),
2351
2354
  class: "grid h-full w-full place-items-center"
2352
2355
  }, [c("div", An, [
2353
- u(N(le), {
2356
+ u(M(le), {
2354
2357
  class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
2355
2358
  "aria-hidden": "true"
2356
2359
  }),
2357
- c("p", jn, j(N(C).getAssetErrorLabel(r)), 1),
2358
- N(h).canRetryAsset(N(C).getItemKey(r)) ? (w(), s("button", {
2360
+ c("p", jn, A(M(C).getAssetErrorLabel(r)), 1),
2361
+ M(h).canRetryAsset(M(C).getItemKey(r)) ? (w(), s("button", {
2359
2362
  key: 0,
2360
2363
  type: "button",
2361
2364
  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",
2362
- onClick: ee((e) => N(h).retryAsset(N(C).getItemKey(r)), ["stop"])
2365
+ onClick: te((e) => M(h).retryAsset(M(C).getItemKey(r)), ["stop"])
2363
2366
  }, " Retry ", 8, Mn)) : o("", !0)
2364
2367
  ])], 8, kn)) : r.type === "image" ? (w(), s("img", {
2365
- key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
2366
- src: N(C).getFullscreenImageSource(i, r),
2368
+ key: M(h).getAssetRenderKey(M(C).getItemKey(r)),
2369
+ src: M(C).getFullscreenImageSource(i, r),
2367
2370
  alt: r.title ?? "",
2368
2371
  crossorigin: "anonymous",
2369
2372
  draggable: "false",
2370
- 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"]),
2373
+ class: v(["block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", M(h).isImageReady(M(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
2371
2374
  ref_for: !0,
2372
- ref: (e) => he(N(C).getItemKey(r), e),
2373
- onLoad: (e) => pe(e, N(C).getItemKey(r), r.url),
2374
- onError: (e) => me(N(C).getItemKey(r), r.url)
2375
+ ref: (e) => he(M(C).getItemKey(r), e),
2376
+ onLoad: (e) => pe(e, M(C).getItemKey(r), r.url),
2377
+ onError: (e) => me(M(C).getItemKey(r), r.url)
2375
2378
  }, null, 42, Nn)) : (w(), s("video", {
2376
- key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
2377
- 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"]),
2379
+ key: M(h).getAssetRenderKey(M(C).getItemKey(r)),
2380
+ class: v(["block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300", M(h).isMediaReady(M(C).getItemKey(r)) ? "opacity-100" : "opacity-0"]),
2378
2381
  playsinline: "",
2379
2382
  loop: d.loopFullscreenVideo,
2380
- src: N(C).getFullscreenMediaSource(i, r),
2381
- preload: N(C).getFullscreenMediaPreload(i),
2383
+ src: M(C).getFullscreenMediaSource(i, r),
2384
+ preload: M(C).getFullscreenMediaPreload(i),
2382
2385
  ref_for: !0,
2383
- ref: (e) => ge(N(C).getItemKey(r), e),
2384
- onClick: ee((e) => N(h).onVideoClick(e, N(C).getItemKey(r)), ["stop"]),
2385
- onCanplay: (e) => Q(N(C).getItemKey(r), e),
2386
- onDurationchange: (e) => Q(N(C).getItemKey(r), e),
2387
- onEnded: (e) => be(e, N(C).getItemKey(r)),
2388
- onError: (e) => ve(N(C).getItemKey(r), r.url),
2389
- onLoadstart: (e) => Q(N(C).getItemKey(r), e),
2390
- onLoadedmetadata: (e) => Q(N(C).getItemKey(r), e),
2391
- onPause: (e) => Q(N(C).getItemKey(r), e),
2392
- onPlay: (e) => Q(N(C).getItemKey(r), e),
2393
- onPlaying: (e) => Q(N(C).getItemKey(r), e),
2394
- onSeeking: (e) => Q(N(C).getItemKey(r), e),
2395
- onSeeked: (e) => Q(N(C).getItemKey(r), e),
2396
- onStalled: (e) => Q(N(C).getItemKey(r), e),
2397
- onTimeupdate: (e) => Q(N(C).getItemKey(r), e),
2398
- onWaiting: (e) => Q(N(C).getItemKey(r), e)
2399
- }, null, 42, Pn))], 2)) : N(h).isAudio(r) ? (w(), s("div", {
2386
+ ref: (e) => ge(M(C).getItemKey(r), e),
2387
+ onClick: te((e) => M(h).onVideoClick(e, M(C).getItemKey(r)), ["stop"]),
2388
+ onCanplay: (e) => Q(M(C).getItemKey(r), e),
2389
+ onDurationchange: (e) => Q(M(C).getItemKey(r), e),
2390
+ onEnded: (e) => be(e, M(C).getItemKey(r)),
2391
+ onError: (e) => ve(M(C).getItemKey(r), r.url),
2392
+ onLoadstart: (e) => Q(M(C).getItemKey(r), e),
2393
+ onLoadedmetadata: (e) => Q(M(C).getItemKey(r), e),
2394
+ onPause: (e) => Q(M(C).getItemKey(r), e),
2395
+ onPlay: (e) => Q(M(C).getItemKey(r), e),
2396
+ onPlaying: (e) => Q(M(C).getItemKey(r), e),
2397
+ onSeeking: (e) => Q(M(C).getItemKey(r), e),
2398
+ onSeeked: (e) => Q(M(C).getItemKey(r), e),
2399
+ onStalled: (e) => Q(M(C).getItemKey(r), e),
2400
+ onTimeupdate: (e) => Q(M(C).getItemKey(r), e),
2401
+ onWaiting: (e) => Q(M(C).getItemKey(r), e)
2402
+ }, null, 42, Pn))], 2)) : M(h).isAudio(r) ? (w(), s("div", {
2400
2403
  key: 1,
2401
- class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i === N(h).resolvedActiveIndex.value ? te.value : ""])
2404
+ class: v(["relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center", i === M(h).resolvedActiveIndex.value ? B.value : ""])
2402
2405
  }, [c("div", Fn, [
2403
2406
  c("button", {
2404
2407
  type: "button",
2405
2408
  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]",
2406
- "aria-label": N(h).mediaStates.value[N(C).getItemKey(r)]?.paused ?? !0 ? N(C).getMediaActionLabel("Play", r) : N(C).getMediaActionLabel("Pause", r),
2407
- disabled: !!N(C).getAssetErrorKind(r),
2408
- onClick: (e) => N(h).onAudioCoverClick(e, N(C).getItemKey(r))
2409
+ "aria-label": M(h).mediaStates.value[M(C).getItemKey(r)]?.paused ?? !0 ? M(C).getMediaActionLabel("Play", r) : M(C).getMediaActionLabel("Pause", r),
2410
+ disabled: !!M(C).getAssetErrorKind(r),
2411
+ onClick: (e) => M(h).onAudioCoverClick(e, M(C).getItemKey(r))
2409
2412
  }, [
2410
2413
  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),
2411
2414
  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),
2412
- c("span", Ln, [k(e.$slots, "item-icon", {
2413
- icon: N(Tt)(r.type),
2415
+ c("span", Ln, [O(e.$slots, "item-icon", {
2416
+ icon: M(Tt)(r.type),
2414
2417
  item: r
2415
- }, () => [(w(), a(A(N(Tt)(r.type)), {
2418
+ }, () => [(w(), a(k(M(Tt)(r.type)), {
2416
2419
  class: "h-6 w-6 stroke-[1.9]",
2417
2420
  "aria-hidden": "true"
2418
2421
  }))])]),
2419
- c("span", Rn, [(w(), a(A(N(h).mediaStates.value[N(C).getItemKey(r)]?.paused ?? !0 ? N(ce) : N(se)), {
2422
+ c("span", Rn, [(w(), a(k(M(h).mediaStates.value[M(C).getItemKey(r)]?.paused ?? !0 ? M(ce) : M(se)), {
2420
2423
  class: "h-4 w-4 stroke-2",
2421
2424
  "aria-hidden": "true"
2422
2425
  }))])
2423
2426
  ], 8, In),
2424
- N(C).isAssetLoading(i, r) ? (w(), s("div", zn, [c("span", Bn, [u(N(oe), {
2427
+ M(C).isAssetLoading(i, r) ? (w(), s("div", zn, [c("span", Bn, [u(M(oe), {
2425
2428
  class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
2426
2429
  "aria-hidden": "true"
2427
2430
  })])])) : o("", !0),
2428
- 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", {
2431
+ M(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", {
2429
2432
  "data-testid": "vibe-asset-error",
2430
- "data-kind": N(C).getAssetErrorKind(r),
2433
+ "data-kind": M(C).getAssetErrorKind(r),
2431
2434
  class: "relative z-[1] grid justify-items-center gap-4"
2432
2435
  }, [
2433
- u(N(le), {
2436
+ u(M(le), {
2434
2437
  class: "h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72",
2435
2438
  "aria-hidden": "true"
2436
2439
  }),
2437
- c("p", Hn, j(N(C).getAssetErrorLabel(r)), 1),
2438
- N(h).canRetryAsset(N(C).getItemKey(r)) ? (w(), s("button", {
2440
+ c("p", Hn, A(M(C).getAssetErrorLabel(r)), 1),
2441
+ M(h).canRetryAsset(M(C).getItemKey(r)) ? (w(), s("button", {
2439
2442
  key: 0,
2440
2443
  type: "button",
2441
2444
  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",
2442
- onClick: ee((e) => N(h).retryAsset(N(C).getItemKey(r)), ["stop"])
2445
+ onClick: te((e) => M(h).retryAsset(M(C).getItemKey(r)), ["stop"])
2443
2446
  }, " Retry ", 8, Un)) : o("", !0)
2444
2447
  ], 8, Vn)], 64)) : o("", !0)
2445
2448
  ]), (w(), s("audio", {
2446
- key: N(h).getAssetRenderKey(N(C).getItemKey(r)),
2447
- src: N(C).getFullscreenMediaSource(i, r),
2448
- preload: N(C).getFullscreenMediaPreload(i),
2449
+ key: M(h).getAssetRenderKey(M(C).getItemKey(r)),
2450
+ src: M(C).getFullscreenMediaSource(i, r),
2451
+ preload: M(C).getFullscreenMediaPreload(i),
2449
2452
  class: "pointer-events-none absolute h-px w-px opacity-0",
2450
2453
  ref_for: !0,
2451
- ref: (e) => _e(N(C).getItemKey(r), e),
2452
- onCanplay: (e) => Q(N(C).getItemKey(r), e),
2453
- onDurationchange: (e) => Q(N(C).getItemKey(r), e),
2454
- onError: (e) => ve(N(C).getItemKey(r), r.url),
2455
- onLoadstart: (e) => Q(N(C).getItemKey(r), e),
2456
- onLoadedmetadata: (e) => Q(N(C).getItemKey(r), e),
2457
- onPause: (e) => Q(N(C).getItemKey(r), e),
2458
- onPlay: (e) => Q(N(C).getItemKey(r), e),
2459
- onPlaying: (e) => Q(N(C).getItemKey(r), e),
2460
- onSeeking: (e) => Q(N(C).getItemKey(r), e),
2461
- onSeeked: (e) => Q(N(C).getItemKey(r), e),
2462
- onStalled: (e) => Q(N(C).getItemKey(r), e),
2463
- onTimeupdate: (e) => Q(N(C).getItemKey(r), e),
2464
- onWaiting: (e) => Q(N(C).getItemKey(r), e)
2465
- }, null, 40, Wn))], 2)) : (w(), s("div", Gn, [c("div", Kn, [k(e.$slots, "item-icon", {
2466
- icon: N(Tt)(r.type),
2454
+ ref: (e) => _e(M(C).getItemKey(r), e),
2455
+ onCanplay: (e) => Q(M(C).getItemKey(r), e),
2456
+ onDurationchange: (e) => Q(M(C).getItemKey(r), e),
2457
+ onError: (e) => ve(M(C).getItemKey(r), r.url),
2458
+ onLoadstart: (e) => Q(M(C).getItemKey(r), e),
2459
+ onLoadedmetadata: (e) => Q(M(C).getItemKey(r), e),
2460
+ onPause: (e) => Q(M(C).getItemKey(r), e),
2461
+ onPlay: (e) => Q(M(C).getItemKey(r), e),
2462
+ onPlaying: (e) => Q(M(C).getItemKey(r), e),
2463
+ onSeeking: (e) => Q(M(C).getItemKey(r), e),
2464
+ onSeeked: (e) => Q(M(C).getItemKey(r), e),
2465
+ onStalled: (e) => Q(M(C).getItemKey(r), e),
2466
+ onTimeupdate: (e) => Q(M(C).getItemKey(r), e),
2467
+ onWaiting: (e) => Q(M(C).getItemKey(r), e)
2468
+ }, null, 40, Wn))], 2)) : (w(), s("div", Gn, [c("div", Kn, [O(e.$slots, "item-icon", {
2469
+ icon: M(Tt)(r.type),
2467
2470
  item: r
2468
- }, () => [(w(), a(A(N(Tt)(r.type)), {
2471
+ }, () => [(w(), a(k(M(Tt)(r.type)), {
2469
2472
  class: "h-6 w-6 stroke-[1.9]",
2470
2473
  "aria-hidden": "true"
2471
2474
  }))])])]))], 14, En))), 128)),
2472
- U.value && f["fullscreen-overlay"] ? (w(), s("div", qn, [c("div", Jn, [k(e.$slots, "fullscreen-overlay", y(p(U.value)))])])) : o("", !0),
2473
- N(h).activeItem.value ? (w(), a(St, {
2475
+ U.value && f["fullscreen-overlay"] ? (w(), s("div", qn, [c("div", Jn, [O(e.$slots, "fullscreen-overlay", y(p(U.value)))])])) : o("", !0),
2476
+ M(h).activeItem.value ? (w(), a(St, {
2474
2477
  key: 1,
2475
- "current-index": N(h).resolvedActiveIndex.value,
2478
+ "current-index": M(h).resolvedActiveIndex.value,
2476
2479
  loading: d.loading,
2477
- "pagination-detail": N(h).paginationDetail.value,
2480
+ "pagination-detail": M(h).paginationDetail.value,
2478
2481
  "show-back-to-list": d.showBackToList,
2479
- "show-end-badge": d.showEndBadge && N(h).isAtEnd.value && !N(h).hasNextPage.value && !N(h).loading.value,
2480
- title: N(h).activeItem.value.title ?? null,
2481
- total: N(h).items.value.length,
2482
+ "show-end-badge": d.showEndBadge && M(h).isAtEnd.value && !M(h).hasNextPage.value && !M(h).loading.value,
2483
+ title: M(h).activeItem.value.title ?? null,
2484
+ total: M(h).items.value.length,
2482
2485
  onBackToList: n[0] ||= (e) => m("back-to-list")
2483
2486
  }, l({ _: 2 }, [re.value && U.value ? {
2484
2487
  name: "actions",
2485
- fn: z(() => [k(e.$slots, "fullscreen-header-actions", y(p(U.value)))]),
2488
+ fn: R(() => [O(e.$slots, "fullscreen-header-actions", y(p(U.value)))]),
2486
2489
  key: "0"
2487
2490
  } : void 0]), 1032, [
2488
2491
  "current-index",
@@ -2493,19 +2496,19 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2493
2496
  "title",
2494
2497
  "total"
2495
2498
  ])) : o("", !0),
2496
- R.value ? (w(), a(dt, {
2499
+ L.value ? (w(), a(dt, {
2497
2500
  key: 2,
2498
- "current-time": N(h).activeMediaState.value.currentTime,
2499
- "current-time-label": N(h).formatPlaybackTime(N(h).activeMediaState.value.currentTime),
2500
- duration: N(h).activeMediaDuration.value,
2501
- "duration-label": N(h).formatPlaybackTime(N(h).activeMediaDuration.value),
2502
- muted: N(h).activeMediaState.value.muted,
2503
- progress: N(h).activeMediaProgress.value,
2504
- volume: N(h).activeMediaState.value.volume,
2505
- "volume-control-layout": B.value,
2506
- onSeekInput: N(h).onMediaSeekInput,
2507
- onVolumeInput: N(h).onMediaVolumeInput,
2508
- onVolumeToggle: N(h).onMediaVolumeToggle
2501
+ "current-time": M(h).activeMediaState.value.currentTime,
2502
+ "current-time-label": M(h).formatPlaybackTime(M(h).activeMediaState.value.currentTime),
2503
+ duration: M(h).activeMediaDuration.value,
2504
+ "duration-label": M(h).formatPlaybackTime(M(h).activeMediaDuration.value),
2505
+ muted: M(h).activeMediaState.value.muted,
2506
+ progress: M(h).activeMediaProgress.value,
2507
+ volume: M(h).activeMediaState.value.volume,
2508
+ "volume-control-layout": z.value,
2509
+ onSeekInput: M(h).onMediaSeekInput,
2510
+ onVolumeInput: M(h).onMediaVolumeInput,
2511
+ onVolumeToggle: M(h).onMediaVolumeToggle
2509
2512
  }, null, 8, [
2510
2513
  "current-time",
2511
2514
  "current-time-label",
@@ -2521,34 +2524,34 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2521
2524
  ])) : o("", !0),
2522
2525
  G.value ? (w(), s("div", {
2523
2526
  key: 3,
2524
- class: v(["absolute left-1/2 z-[4] -translate-x-1/2", L.value])
2525
- }, [ae.value ? k(e.$slots, "fullscreen-status", y(g({ key: 0 }, G.value))) : (w(), s("div", {
2527
+ class: v(["absolute left-1/2 z-[4] -translate-x-1/2", I.value])
2528
+ }, [ae.value ? O(e.$slots, "fullscreen-status", y(g({ key: 0 }, G.value))) : (w(), s("div", {
2526
2529
  key: 1,
2527
2530
  "data-testid": "vibe-fullscreen-status-badge",
2528
2531
  class: v(["inline-flex w-auto items-center border border-white/14 bg-black/40 px-5 py-3 text-[0.75rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74 backdrop-blur-[18px] max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center", G.value.kind === "end" ? "border-amber-300/35 text-amber-200" : G.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
2529
- }, j(G.value.message), 3))], 2)) : o("", !0)
2530
- ])) : V.value ? (w(), s("div", Yn, [c("div", Xn, [c("span", Zn, [u(N(oe), {
2532
+ }, A(G.value.message), 3))], 2)) : o("", !0)
2533
+ ])) : V.value ? (w(), s("div", Yn, [c("div", Xn, [c("span", Zn, [u(M(oe), {
2531
2534
  class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
2532
2535
  "aria-hidden": "true"
2533
- })]), c("p", Qn, j(H.value), 1)])])) : N(fe) && N(X) ? (w(), a(Cn, {
2536
+ })]), c("p", Qn, A(H.value), 1)])])) : M(Z) && M(X) ? (w(), a(Cn, {
2534
2537
  key: 2,
2535
- message: N(X).message,
2536
- mode: N(X).mode,
2537
- surface: N(X).surface
2538
+ message: M(X).message,
2539
+ mode: M(X).mode,
2540
+ surface: M(X).surface
2538
2541
  }, {
2539
- default: z(() => [N(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(X)))) : o("", !0)]),
2542
+ default: R(() => [M(de) ? O(e.$slots, "empty-state", y(g({ key: 0 }, M(X)))) : o("", !0)]),
2540
2543
  _: 3
2541
2544
  }, 8, [
2542
2545
  "message",
2543
2546
  "mode",
2544
2547
  "surface"
2545
- ])) : o("", !0), N(ue) && N(X) ? (w(), a(Cn, {
2548
+ ])) : o("", !0), M(ue) && M(X) ? (w(), a(Cn, {
2546
2549
  key: 3,
2547
- message: N(X).message,
2548
- mode: N(X).mode,
2549
- surface: N(X).surface
2550
+ message: M(X).message,
2551
+ mode: M(X).mode,
2552
+ surface: M(X).surface
2550
2553
  }, {
2551
- default: z(() => [N(de) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(X)))) : o("", !0)]),
2554
+ default: R(() => [M(de) ? O(e.$slots, "empty-state", y(g({ key: 0 }, M(X)))) : o("", !0)]),
2552
2555
  _: 3
2553
2556
  }, 8, [
2554
2557
  "message",
@@ -2562,7 +2565,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2562
2565
  "leave-from-class": "translate-x-0 opacity-100",
2563
2566
  "leave-to-class": "translate-x-full opacity-0"
2564
2567
  }, {
2565
- default: z(() => [Y.value && U.value ? (w(), s("aside", $n, [c("div", er, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
2568
+ default: R(() => [Y.value && U.value ? (w(), s("aside", $n, [c("div", er, [O(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
2566
2569
  _: 3
2567
2570
  })], 4),
2568
2571
  u(r, {
@@ -2573,7 +2576,7 @@ var xn = ["data-surface"], Sn = ["data-surface"], Cn = /* @__PURE__ */ d({
2573
2576
  "leave-from-class": "translate-x-0 opacity-100",
2574
2577
  "leave-to-class": "translate-x-full opacity-0"
2575
2578
  }, {
2576
- default: z(() => [ie.value && U.value ? (w(), s("aside", tr, [c("div", nr, [k(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
2579
+ default: R(() => [ie.value && U.value ? (w(), s("aside", tr, [c("div", nr, [O(e.$slots, "fullscreen-aside", y(p(U.value)))])])) : o("", !0)]),
2577
2580
  _: 3
2578
2581
  })
2579
2582
  ]));
@@ -2696,7 +2699,7 @@ function Tr(e) {
2696
2699
  }
2697
2700
  function Er(e) {
2698
2701
  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()));
2699
- L(e.visibleIndices, (i) => {
2702
+ I(e.visibleIndices, (i) => {
2700
2703
  if (!i.length) return;
2701
2704
  let o = [];
2702
2705
  for (let n of i) {
@@ -2719,7 +2722,7 @@ function Er(e) {
2719
2722
  n.value = e, r.value = t, a.value = i;
2720
2723
  }, Cr(o.length));
2721
2724
  });
2722
- }, { flush: "post" }), L(() => e.items.value.map((e) => $(e)), (e) => {
2725
+ }, { flush: "post" }), I(() => e.items.value.map((e) => $(e)), (e) => {
2723
2726
  if (!e.length || !o.value.size) return;
2724
2727
  let t = new Set(e), n = null, r = null;
2725
2728
  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));
@@ -2969,21 +2972,21 @@ function Yr(e) {
2969
2972
  progressDistancePx: n.value,
2970
2973
  thresholdPx: Vr,
2971
2974
  triggerEnabled: w.value
2972
- })), E = i(() => e.items.value.length > 0 ? `${v.value + 1} / ${e.items.value.length}` : "0 / 0"), O = i(() => Zr({
2975
+ })), E = i(() => e.items.value.length > 0 ? `${v.value + 1} / ${e.items.value.length}` : "0 / 0"), ee = i(() => Zr({
2973
2976
  active: e.active.value,
2974
2977
  maxScrollTop: se(),
2975
2978
  progressDistancePx: n.value,
2976
2979
  thresholdPx: Hr,
2977
2980
  triggerEnabled: e.hasPreviousPage.value
2978
- })), k = i(() => Math.max(0, r.value - Gr * 2)), A = i(() => C.value > r.value + 1 && k.value > 0), j = i(() => {
2979
- if (!A.value) return 0;
2980
- let e = r.value / C.value * k.value;
2981
- return Math.min(k.value, Math.max(Kr, e));
2982
- }), M = i(() => {
2983
- if (!A.value) return Gr;
2981
+ })), O = i(() => Math.max(0, r.value - Gr * 2)), k = i(() => C.value > r.value + 1 && O.value > 0), A = i(() => {
2982
+ if (!k.value) return 0;
2983
+ let e = r.value / C.value * O.value;
2984
+ return Math.min(O.value, Math.max(Kr, e));
2985
+ }), j = i(() => {
2986
+ if (!k.value) return Gr;
2984
2987
  let e = Math.max(0, C.value - r.value);
2985
- return Gr + Math.max(0, k.value - j.value) * (e > 0 ? Xr(n.value / e, 0, 1) : 0);
2986
- }), N = Er({
2988
+ return Gr + Math.max(0, O.value - A.value) * (e > 0 ? Xr(n.value / e, 0, 1) : 0);
2989
+ }), M = Er({
2987
2990
  items: e.items,
2988
2991
  visibleIndices: y,
2989
2992
  positions: o,
@@ -2992,7 +2995,7 @@ function Yr(e) {
2992
2995
  columnWidth: g,
2993
2996
  scrollTop: n,
2994
2997
  viewportHeight: r
2995
- }), P = Fr({
2998
+ }), N = Fr({
2996
2999
  direction: "top",
2997
3000
  getAnimationLockMs(e) {
2998
3001
  return Math.max(qr, Cr(e)) + Jr;
@@ -3004,7 +3007,7 @@ function Yr(e) {
3004
3007
  },
3005
3008
  loading: e.loading,
3006
3009
  requestPage: e.requestPreviousPage
3007
- }), F = Fr({
3010
+ }), P = Fr({
3008
3011
  direction: "bottom",
3009
3012
  getAnimationLockMs(e) {
3010
3013
  return Cr(e) + Jr;
@@ -3016,8 +3019,8 @@ function Yr(e) {
3016
3019
  },
3017
3020
  loading: e.loading,
3018
3021
  requestPage: e.requestNextPage
3019
- }), I = null, R = 0, z = null, B = null, ee = !1;
3020
- L([
3022
+ }), F = null, L = 0, R = null, z = null, te = !1;
3023
+ I([
3021
3024
  () => e.items.value,
3022
3025
  h,
3023
3026
  g
@@ -3032,15 +3035,15 @@ function Yr(e) {
3032
3035
  position: n
3033
3036
  }];
3034
3037
  }), h = i.length > s.length && s.length > 0 && i[0] !== s[0], g = t.length === 0 && a.length > 0 && m.length > 0 && n.value > 0, y = m.length > 0 && n.value > Lr + Rr, b = h && n.value > Lr + Rr ? t[v.value] : null, x = b ? $(b) : null;
3035
- y && K(wr() + Jr), g && G(), te(), m.length > 0 && N.markLeave(m), p.length > 0 && (N.markEnter(p, h ? "top" : "bottom"), h ? P.onItemsMutated(p.length) : F.onItemsMutated(p.length)), N.playFlipMoveAnimation(c, new Set(p.map((e) => $(e))), h ? qr : void 0), x ? (await _(), ne(x, c)) : e.active.value && s.length > 0 && re();
3036
- }, { immediate: !0 }), L([
3038
+ y && K(wr() + Jr), g && G(), B(), m.length > 0 && M.markLeave(m), p.length > 0 && (M.markEnter(p, h ? "top" : "bottom"), h ? N.onItemsMutated(p.length) : P.onItemsMutated(p.length)), M.playFlipMoveAnimation(c, new Set(p.map((e) => $(e))), h ? qr : void 0), x ? (await _(), ne(x, c)) : e.active.value && s.length > 0 && re();
3039
+ }, { immediate: !0 }), I([
3037
3040
  () => e.pendingAppendItems.value.map((e) => $(e)),
3038
3041
  h,
3039
3042
  g,
3040
3043
  r
3041
3044
  ], ([t]) => {
3042
3045
  de(), t.length && (d.value = le([...e.items.value, ...e.pendingAppendItems.value]), ue());
3043
- }, { immediate: !0 }), L(() => e.active.value, async (e, i) => {
3046
+ }, { immediate: !0 }), I(() => e.active.value, async (e, i) => {
3044
3047
  let a = t.value;
3045
3048
  if (!a) return;
3046
3049
  if (!e) {
@@ -3050,17 +3053,17 @@ function Yr(e) {
3050
3053
  if (i !== !1 || f.value == null) return;
3051
3054
  await _();
3052
3055
  let o = Math.max(0, C.value - r.value), s = Xr(f.value, 0, o);
3053
- a.scrollTop = s, n.value = s, P.syncBoundary(), F.syncBoundary();
3054
- }), L(() => e.loading.value, async (t) => {
3055
- !t && !e.pendingAppendItems.value.length && !z && !ee && (d.value = null), P.onLoadingChange(t), F.onLoadingChange(t), await _();
3056
+ a.scrollTop = s, n.value = s, N.syncBoundary(), P.syncBoundary();
3057
+ }), I(() => e.loading.value, async (t) => {
3058
+ !t && !e.pendingAppendItems.value.length && !R && !te && (d.value = null), N.onLoadingChange(t), P.onLoadingChange(t), await _();
3056
3059
  }), S(async () => {
3057
- Y(), await _(), v.value > 0 ? W(v.value, "center") : q(), P.syncBoundary(), F.syncBoundary(), typeof ResizeObserver < "u" ? (I = new ResizeObserver(() => {
3060
+ Y(), await _(), v.value > 0 ? W(v.value, "center") : q(), N.syncBoundary(), P.syncBoundary(), typeof ResizeObserver < "u" ? (F = new ResizeObserver(() => {
3058
3061
  Y();
3059
- }), t.value && I.observe(t.value)) : window.addEventListener("resize", Y);
3062
+ }), t.value && F.observe(t.value)) : window.addEventListener("resize", Y);
3060
3063
  }), x(() => {
3061
- I?.disconnect(), I = null, window.removeEventListener("resize", Y), de(), fe(), R &&= (cancelAnimationFrame(R), 0);
3064
+ F?.disconnect(), F = null, window.removeEventListener("resize", Y), de(), Z(), L &&= (cancelAnimationFrame(L), 0);
3062
3065
  });
3063
- function te() {
3066
+ function B() {
3064
3067
  let t = fr(e.items.value, {
3065
3068
  columnCount: h.value,
3066
3069
  columnWidth: g.value,
@@ -3074,21 +3077,21 @@ function Yr(e) {
3074
3077
  })), s.value = t.heights, c.value = t.buckets, l.value = t.contentHeight, u.value = t.indexById;
3075
3078
  }
3076
3079
  function V() {
3077
- e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = ie(), P.syncBoundary(), F.syncBoundary(), J(), !re() && (R ||= requestAnimationFrame(() => {
3078
- R = 0, q();
3080
+ e.active.value && (n.value = t.value?.scrollTop ?? 0, r.value = ie(), N.syncBoundary(), P.syncBoundary(), J(), !re() && (L ||= requestAnimationFrame(() => {
3081
+ L = 0, q();
3079
3082
  })));
3080
3083
  }
3081
3084
  function H(t) {
3082
- e.active.value && (P.onWheel(t), F.onWheel(t), J());
3085
+ e.active.value && (N.onWheel(t), P.onWheel(t), J());
3083
3086
  }
3084
3087
  function U(t) {
3085
3088
  let n = e.items.value[t], r = n ? $(n) : "";
3086
3089
  return {
3087
3090
  height: `${s.value[t] ?? g.value}px`,
3088
3091
  width: `${g.value}px`,
3089
- transition: r ? N.getCardTransition(r) : void 0,
3090
- transitionDelay: r ? N.getCardTransitionDelay(r) : void 0,
3091
- transform: N.getCardTransform(t)
3092
+ transition: r ? M.getCardTransition(r) : void 0,
3093
+ transitionDelay: r ? M.getCardTransitionDelay(r) : void 0,
3094
+ transform: M.getCardTransform(t)
3092
3095
  };
3093
3096
  }
3094
3097
  function W(e, i) {
@@ -3109,11 +3112,11 @@ function Yr(e) {
3109
3112
  n.value = 0;
3110
3113
  return;
3111
3114
  }
3112
- e.scrollTop = 0, n.value = 0, P.syncBoundary(), F.syncBoundary();
3115
+ e.scrollTop = 0, n.value = 0, N.syncBoundary(), P.syncBoundary();
3113
3116
  }
3114
3117
  function K(e) {
3115
- fe(), p.value = !0, B = setTimeout(() => {
3116
- B = null, p.value = !1;
3118
+ Z(), p.value = !0, z = setTimeout(() => {
3119
+ z = null, p.value = !1;
3117
3120
  }, Math.max(0, e));
3118
3121
  }
3119
3122
  function q() {
@@ -3132,7 +3135,7 @@ function Yr(e) {
3132
3135
  return t ? (e.setActiveIndex(0), !0) : r ? (e.setActiveIndex(Math.max(0, e.items.value.length - 1)), !0) : !1;
3133
3136
  }
3134
3137
  function J() {
3135
- P.maybeRequestPage(), F.maybeRequestPage();
3138
+ N.maybeRequestPage(), P.maybeRequestPage();
3136
3139
  }
3137
3140
  function Y() {
3138
3141
  r.value = ie(), a.value = ae();
@@ -3151,7 +3154,7 @@ function Yr(e) {
3151
3154
  return Math.max(0, e - r.value);
3152
3155
  }
3153
3156
  function ce() {
3154
- return Mr(j.value, M.value);
3157
+ return Mr(A.value, j.value);
3155
3158
  }
3156
3159
  function le(e) {
3157
3160
  return e.length ? fr(e, {
@@ -3174,38 +3177,38 @@ function Yr(e) {
3174
3177
  }
3175
3178
  function ue() {
3176
3179
  let t = e.commitPendingAppend.value;
3177
- typeof t == "function" && (z = setTimeout(async () => {
3178
- z = null, ee = !0;
3180
+ typeof t == "function" && (R = setTimeout(async () => {
3181
+ R = null, te = !0;
3179
3182
  try {
3180
3183
  if (!e.pendingAppendItems.value.length) return;
3181
3184
  await t(), await _(), await _();
3182
3185
  } finally {
3183
- d.value = null, ee = !1;
3186
+ d.value = null, te = !1;
3184
3187
  }
3185
3188
  }, Wr));
3186
3189
  }
3187
3190
  function de() {
3188
- z &&= (clearTimeout(z), null);
3191
+ R &&= (clearTimeout(R), null);
3189
3192
  }
3190
- function fe() {
3191
- B && (clearTimeout(B), B = null, p.value = !1);
3193
+ function Z() {
3194
+ z && (clearTimeout(z), z = null, p.value = !1);
3192
3195
  }
3193
3196
  return {
3194
3197
  columnWidth: g,
3195
3198
  containerHeight: C,
3196
3199
  getCardStyle: U,
3197
- getLeavingCardStyle: N.getLeavingCardStyle,
3200
+ getLeavingCardStyle: M.getLeavingCardStyle,
3198
3201
  getScrollbarThumbStyle: ce,
3199
- leavingItems: N.leavingItems,
3202
+ leavingItems: M.leavingItems,
3200
3203
  nextBoundaryLoadProgress: T,
3201
3204
  onScroll: V,
3202
3205
  onWheel: H,
3203
3206
  paginationLabel: E,
3204
- previousBoundaryLoadProgress: O,
3207
+ previousBoundaryLoadProgress: ee,
3205
3208
  renderedItems: b,
3206
3209
  resolvedActiveIndex: v,
3207
3210
  scrollToIndex: W,
3208
- showScrollbar: A,
3211
+ showScrollbar: k,
3209
3212
  scrollViewportRef: t
3210
3213
  };
3211
3214
  }
@@ -3318,9 +3321,9 @@ function fi(e) {
3318
3321
  let t = typeof e.item.value.healthCheck?.url == "string" ? ni(e.item.value.healthCheck.url) : null;
3319
3322
  return !t || t === e.attachedAssetUrl.value ? null : t;
3320
3323
  }), r = null, a = 0, o = /* @__PURE__ */ new Map();
3321
- L(n, (e, n) => {
3324
+ I(n, (e, n) => {
3322
3325
  e !== n && (t.value = null, l(), a += 1);
3323
- }), L([
3326
+ }), I([
3324
3327
  n,
3325
3328
  e.surfaceActive,
3326
3329
  e.isInView,
@@ -3424,7 +3427,7 @@ var pi = ["aria-label"], mi = {
3424
3427
  },
3425
3428
  emits: ["open"],
3426
3429
  setup(e, { emit: t }) {
3427
- let n = e, r = t, l = i(() => oi(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 = fi({
3430
+ let n = e, r = t, l = i(() => oi(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), ee = 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 = fi({
3428
3431
  attachedAssetUrl: E,
3429
3432
  getPriority: X,
3430
3433
  isInView: d,
@@ -3433,19 +3436,19 @@ var pi = ["aria-label"], mi = {
3433
3436
  loadErrorKind: g,
3434
3437
  reportAssetError: n.reportAssetError,
3435
3438
  surfaceActive: i(() => n.surfaceActive)
3436
- }), I = i(() => F.errorKind.value ?? g.value), R = i(() => !!I.value), z = i(() => en(I.value)), B = i(() => O.value && !g.value && (!T.value || !m.value)), te = null, V = null, H = /* @__PURE__ */ new Set();
3437
- L([E, () => l.value.kind], () => {
3439
+ }), F = i(() => P.errorKind.value ?? g.value), L = i(() => !!F.value), R = i(() => en(F.value)), z = i(() => ee.value && !g.value && (!T.value || !m.value)), B = null, V = null, H = /* @__PURE__ */ new Set();
3440
+ I([E, () => l.value.kind], () => {
3438
3441
  let e = l.value.kind === "fallback";
3439
3442
  m.value = e, h.value = !1, g.value = null, e && (T.value = !0);
3440
- }), L(O, () => {
3443
+ }), I(ee, () => {
3441
3444
  K();
3442
- }), L([
3445
+ }), I([
3443
3446
  d,
3444
3447
  m,
3445
3448
  E
3446
3449
  ], () => {
3447
3450
  q();
3448
- }), L(() => n.surfaceActive, (e) => {
3451
+ }), I(() => n.surfaceActive, (e) => {
3449
3452
  if (!e) {
3450
3453
  J(), q();
3451
3454
  return;
@@ -3458,14 +3461,14 @@ var pi = ["aria-label"], mi = {
3458
3461
  b.value = null, d.value = !0, K();
3459
3462
  return;
3460
3463
  }
3461
- b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"), te = new IntersectionObserver((e) => {
3464
+ b.value = y.value.closest("[data-testid=\"vibe-list-scroll\"]"), B = new IntersectionObserver((e) => {
3462
3465
  for (let t of e) t.target === y.value && (n.surfaceActive && Y(t), K(), q());
3463
3466
  }, {
3464
3467
  root: b.value,
3465
3468
  threshold: [0, 1]
3466
- }), te.observe(y.value);
3469
+ }), B.observe(y.value);
3467
3470
  }), x(() => {
3468
- re(), F.release(), te?.disconnect(), te = null;
3471
+ re(), P.release(), B?.disconnect(), B = null;
3469
3472
  });
3470
3473
  function U() {
3471
3474
  ue(_.value) && (m.value = !0, g.value = null, ie(E.value ?? n.item.url), J());
@@ -3498,7 +3501,7 @@ var pi = ["aria-label"], mi = {
3498
3501
  J();
3499
3502
  return;
3500
3503
  }
3501
- if (!O.value) {
3504
+ if (!ee.value) {
3502
3505
  re();
3503
3506
  return;
3504
3507
  }
@@ -3518,7 +3521,7 @@ var pi = ["aria-label"], mi = {
3518
3521
  function q() {
3519
3522
  let e = C.value;
3520
3523
  if (!(!e || l.value.kind !== "video")) {
3521
- if (I.value) {
3524
+ if (F.value) {
3522
3525
  e.pause();
3523
3526
  return;
3524
3527
  }
@@ -3557,7 +3560,7 @@ var pi = ["aria-label"], mi = {
3557
3560
  }));
3558
3561
  }
3559
3562
  function ae() {
3560
- if (!z.value || F.retry()) return;
3563
+ if (!R.value || P.retry()) return;
3561
3564
  let e = $(n.item);
3562
3565
  H.forEach((t) => {
3563
3566
  t.startsWith(`${e}|`) && H.delete(t);
@@ -3587,10 +3590,10 @@ var pi = ["aria-label"], mi = {
3587
3590
  function de() {
3588
3591
  r("open");
3589
3592
  }
3590
- function fe() {
3593
+ function Z() {
3591
3594
  f.value = !0;
3592
3595
  }
3593
- function Z(e) {
3596
+ function fe(e) {
3594
3597
  let t = e.relatedTarget;
3595
3598
  y.value && t instanceof Node && y.value.contains(t) || (f.value = !1);
3596
3599
  }
@@ -3599,8 +3602,8 @@ var pi = ["aria-label"], mi = {
3599
3602
  ref: y,
3600
3603
  "data-testid": "vibe-list-card-inner",
3601
3604
  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"]),
3602
- onFocusin: fe,
3603
- onFocusout: Z,
3605
+ onFocusin: Z,
3606
+ onFocusout: fe,
3604
3607
  onPointerenter: t[0] ||= (e) => p.value = !0,
3605
3608
  onPointerleave: t[1] ||= (e) => p.value = !1
3606
3609
  }, [
@@ -3611,11 +3614,11 @@ var pi = ["aria-label"], mi = {
3611
3614
  "aria-label": n.item.title || `Open item ${n.index + 1}`,
3612
3615
  onClick: de
3613
3616
  }, null, 8, pi),
3614
- B.value ? (w(), s("div", mi, [c("span", hi, [u(N(oe), {
3617
+ z.value ? (w(), s("div", mi, [c("span", hi, [u(M(oe), {
3615
3618
  class: "h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78",
3616
3619
  "aria-hidden": "true"
3617
3620
  })])])) : o("", !0),
3618
- M.value && E.value && !R.value ? (w(), s("img", {
3621
+ j.value && E.value && !L.value ? (w(), s("img", {
3619
3622
  key: 1,
3620
3623
  ref_key: "imageRef",
3621
3624
  ref: _,
@@ -3625,7 +3628,7 @@ var pi = ["aria-label"], mi = {
3625
3628
  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"]),
3626
3629
  onLoad: U,
3627
3630
  onError: W
3628
- }, null, 42, gi)) : P.value && E.value && !R.value ? (w(), s("video", {
3631
+ }, null, 42, gi)) : N.value && E.value && !L.value ? (w(), s("video", {
3629
3632
  key: 2,
3630
3633
  ref_key: "videoRef",
3631
3634
  ref: C,
@@ -3641,31 +3644,31 @@ var pi = ["aria-label"], mi = {
3641
3644
  onPlaying: ne,
3642
3645
  onStalled: G,
3643
3646
  onWaiting: G
3644
- }, null, 42, _i)) : R.value ? (w(), s("div", {
3647
+ }, null, 42, _i)) : L.value ? (w(), s("div", {
3645
3648
  key: 3,
3646
3649
  "data-testid": "vibe-list-card-error",
3647
- "data-kind": I.value,
3650
+ "data-kind": F.value,
3648
3651
  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))]"
3649
3652
  }, [c("div", yi, [
3650
- u(N(le), {
3653
+ u(M(le), {
3651
3654
  class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
3652
3655
  "aria-hidden": "true"
3653
3656
  }),
3654
- c("span", bi, j(N($t)(I.value)), 1),
3655
- z.value ? (w(), s("button", {
3657
+ c("span", bi, A(M($t)(F.value)), 1),
3658
+ R.value ? (w(), s("button", {
3656
3659
  key: 0,
3657
3660
  type: "button",
3658
3661
  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",
3659
- onClick: ee(ae, ["stop"])
3662
+ onClick: te(ae, ["stop"])
3660
3663
  }, " Retry ")) : o("", !0)
3661
- ])], 8, vi)) : (w(), s("div", xi, [c("div", Si, [k(e.$slots, "item-icon", {
3662
- icon: N(Tt)(n.item.type),
3664
+ ])], 8, vi)) : (w(), s("div", xi, [c("div", Si, [O(e.$slots, "item-icon", {
3665
+ icon: M(Tt)(n.item.type),
3663
3666
  item: n.item
3664
- }, () => [(w(), a(A(N(Tt)(n.item.type)), {
3667
+ }, () => [(w(), a(k(M(Tt)(n.item.type)), {
3665
3668
  class: "h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78",
3666
3669
  "aria-hidden": "true"
3667
3670
  }))])])])),
3668
- c("div", Ci, [k(e.$slots, "grid-item-overlay", {
3671
+ c("div", Ci, [O(e.$slots, "grid-item-overlay", {
3669
3672
  active: n.active,
3670
3673
  focused: f.value,
3671
3674
  hovered: p.value,
@@ -3753,19 +3756,19 @@ var pi = ["aria-label"], mi = {
3753
3756
  "update:activeIndex"
3754
3757
  ],
3755
3758
  setup(e, { emit: n }) {
3756
- let r = e, d = F(), f = n, p = Yr({
3757
- active: M(r, "active"),
3758
- allowExhaustedNextPageRefresh: M(r, "allowExhaustedNextPageRefresh"),
3759
- items: M(r, "items"),
3760
- activeIndex: M(r, "activeIndex"),
3761
- loading: M(r, "loading"),
3762
- hasNextPage: M(r, "hasNextPage"),
3763
- hasPreviousPage: M(r, "hasPreviousPage"),
3764
- paginationDetail: M(r, "paginationDetail"),
3765
- pendingAppendItems: M(r, "pendingAppendItems"),
3766
- commitPendingAppend: M(r, "commitPendingAppend"),
3767
- requestNextPage: M(r, "requestNextPage"),
3768
- requestPreviousPage: M(r, "requestPreviousPage"),
3759
+ let r = e, d = P(), f = n, p = Yr({
3760
+ active: j(r, "active"),
3761
+ allowExhaustedNextPageRefresh: j(r, "allowExhaustedNextPageRefresh"),
3762
+ items: j(r, "items"),
3763
+ activeIndex: j(r, "activeIndex"),
3764
+ loading: j(r, "loading"),
3765
+ hasNextPage: j(r, "hasNextPage"),
3766
+ hasPreviousPage: j(r, "hasPreviousPage"),
3767
+ paginationDetail: j(r, "paginationDetail"),
3768
+ pendingAppendItems: j(r, "pendingAppendItems"),
3769
+ commitPendingAppend: j(r, "commitPendingAppend"),
3770
+ requestNextPage: j(r, "requestNextPage"),
3771
+ requestPreviousPage: j(r, "requestPreviousPage"),
3769
3772
  setActiveIndex(e) {
3770
3773
  f("update:activeIndex", e);
3771
3774
  }
@@ -3786,42 +3789,42 @@ var pi = ["aria-label"], mi = {
3786
3789
  message: h.value.message,
3787
3790
  paginationDetail: r.paginationDetail,
3788
3791
  total: r.items.length
3789
- }), x = i(() => !_.value || !d["grid-status"] ? [] : d["grid-status"](_.value)), S = i(() => zt(x.value)), C = i(() => r.items.length + p.leavingItems.value.length), { emptyStateProps: T, showBadgeEmptyState: E, showCustomEmptyState: D, showInlineEmptyState: A } = Ht({
3790
- emptyStateMode: M(r, "emptyStateMode"),
3792
+ }), x = i(() => !_.value || !d["grid-status"] ? [] : d["grid-status"](_.value)), S = i(() => zt(x.value)), C = i(() => r.items.length + p.leavingItems.value.length), { emptyStateProps: T, showBadgeEmptyState: E, showCustomEmptyState: D, showInlineEmptyState: k } = Ht({
3793
+ emptyStateMode: j(r, "emptyStateMode"),
3791
3794
  itemCount: C,
3792
- loading: M(r, "loading"),
3795
+ loading: j(r, "loading"),
3793
3796
  renderSlot: d["empty-state"],
3794
3797
  surface: "grid"
3795
3798
  });
3796
- return L([p.nextBoundaryLoadProgress, p.previousBoundaryLoadProgress], ([e, t]) => {
3799
+ return I([p.nextBoundaryLoadProgress, p.previousBoundaryLoadProgress], ([e, t]) => {
3797
3800
  f("boundary-load-progress", {
3798
3801
  nextBoundaryLoadProgress: e,
3799
3802
  previousBoundaryLoadProgress: t
3800
3803
  });
3801
3804
  }, { immediate: !0 }), (e, n) => (w(), s("div", Ti, [
3802
- c("div", Ei, [c("span", Di, [c("span", Oi, j(N(p).paginationLabel.value), 1), r.paginationDetail ? (w(), s("span", ki, j(r.paginationDetail), 1)) : o("", !0)])]),
3805
+ c("div", Ei, [c("span", Di, [c("span", Oi, A(M(p).paginationLabel.value), 1), r.paginationDetail ? (w(), s("span", ki, A(r.paginationDetail), 1)) : o("", !0)])]),
3803
3806
  c("div", {
3804
- ref: N(p).scrollViewportRef,
3807
+ ref: M(p).scrollViewportRef,
3805
3808
  "data-testid": "vibe-list-scroll",
3806
3809
  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",
3807
- onScroll: n[0] ||= (...e) => N(p).onScroll && N(p).onScroll(...e),
3808
- onWheel: n[1] ||= (...e) => N(p).onWheel && N(p).onWheel(...e)
3810
+ onScroll: n[0] ||= (...e) => M(p).onScroll && M(p).onScroll(...e),
3811
+ onWheel: n[1] ||= (...e) => M(p).onWheel && M(p).onWheel(...e)
3809
3812
  }, [c("div", {
3810
3813
  "data-testid": "vibe-list-content",
3811
3814
  class: "relative",
3812
- style: b({ height: `${N(p).containerHeight.value}px` })
3815
+ style: b({ height: `${M(p).containerHeight.value}px` })
3813
3816
  }, [
3814
- (w(!0), s(t, null, O(N(p).renderedItems.value, ({ item: t, index: n }) => (w(), s("article", {
3815
- key: N($)(t),
3817
+ (w(!0), s(t, null, ee(M(p).renderedItems.value, ({ item: t, index: n }) => (w(), s("article", {
3818
+ key: M($)(t),
3816
3819
  "data-testid": "vibe-list-card",
3817
- "data-active": n === N(p).resolvedActiveIndex.value ? "true" : "false",
3820
+ "data-active": n === M(p).resolvedActiveIndex.value ? "true" : "false",
3818
3821
  "data-index": n,
3819
3822
  "data-item-id": t.id,
3820
- "data-occurrence-key": N($)(t),
3823
+ "data-occurrence-key": M($)(t),
3821
3824
  class: "absolute will-change-transform",
3822
- style: b(N(p).getCardStyle(n))
3825
+ style: b(M(p).getCardStyle(n))
3823
3826
  }, [u(wi, {
3824
- active: n === N(p).resolvedActiveIndex.value,
3827
+ active: n === M(p).resolvedActiveIndex.value,
3825
3828
  index: n,
3826
3829
  item: t,
3827
3830
  "report-asset-error": r.reportAssetError,
@@ -3830,11 +3833,11 @@ var pi = ["aria-label"], mi = {
3830
3833
  onOpen: (e) => f("open-fullscreen", n)
3831
3834
  }, l({ _: 2 }, [d["grid-item-overlay"] ? {
3832
3835
  name: "grid-item-overlay",
3833
- fn: z((t) => [k(e.$slots, "grid-item-overlay", g({ ref_for: !0 }, t))]),
3836
+ fn: R((t) => [O(e.$slots, "grid-item-overlay", g({ ref_for: !0 }, t))]),
3834
3837
  key: "0"
3835
3838
  } : void 0, d["item-icon"] ? {
3836
3839
  name: "item-icon",
3837
- fn: z((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
3840
+ fn: R((t) => [O(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
3838
3841
  key: "1"
3839
3842
  } : void 0]), 1032, [
3840
3843
  "active",
@@ -3845,12 +3848,12 @@ var pi = ["aria-label"], mi = {
3845
3848
  "surface-active",
3846
3849
  "onOpen"
3847
3850
  ])], 12, Ai))), 128)),
3848
- (w(!0), s(t, null, O(N(p).leavingItems.value, (t) => (w(), s("article", {
3849
- key: `leaving-${N($)(t.item)}`,
3851
+ (w(!0), s(t, null, ee(M(p).leavingItems.value, (t) => (w(), s("article", {
3852
+ key: `leaving-${M($)(t.item)}`,
3850
3853
  "data-testid": "vibe-list-card-leaving",
3851
3854
  "data-item-id": t.item.id,
3852
3855
  class: "pointer-events-none absolute z-[2] will-change-[opacity,transform]",
3853
- style: b(N(p).getLeavingCardStyle(t.item))
3856
+ style: b(M(p).getLeavingCardStyle(t.item))
3854
3857
  }, [u(wi, {
3855
3858
  active: !1,
3856
3859
  index: -1,
@@ -3860,20 +3863,20 @@ var pi = ["aria-label"], mi = {
3860
3863
  "surface-active": !1
3861
3864
  }, l({ _: 2 }, [d["item-icon"] ? {
3862
3865
  name: "item-icon",
3863
- fn: z((t) => [k(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
3866
+ fn: R((t) => [O(e.$slots, "item-icon", g({ ref_for: !0 }, t))]),
3864
3867
  key: "0"
3865
3868
  } : void 0]), 1032, [
3866
3869
  "item",
3867
3870
  "report-asset-error",
3868
3871
  "report-asset-load"
3869
3872
  ])], 12, ji))), 128)),
3870
- N(A) && N(T) ? (w(), a(Cn, {
3873
+ M(k) && M(T) ? (w(), a(Cn, {
3871
3874
  key: 0,
3872
- message: N(T).message,
3873
- mode: N(T).mode,
3874
- surface: N(T).surface
3875
+ message: M(T).message,
3876
+ mode: M(T).mode,
3877
+ surface: M(T).surface
3875
3878
  }, {
3876
- default: z(() => [N(D) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(T)))) : o("", !0)]),
3879
+ default: R(() => [M(D) ? O(e.$slots, "empty-state", y(g({ key: 0 }, M(T)))) : o("", !0)]),
3877
3880
  _: 3
3878
3881
  }, 8, [
3879
3882
  "message",
@@ -3881,28 +3884,28 @@ var pi = ["aria-label"], mi = {
3881
3884
  "surface"
3882
3885
  ])) : o("", !0)
3883
3886
  ], 4)], 544),
3884
- N(p).showScrollbar.value ? (w(), s("div", Mi, [n[2] ||= c("div", { class: "absolute bottom-6 right-3 top-6 w-px bg-white/8" }, null, -1), c("div", {
3887
+ M(p).showScrollbar.value ? (w(), s("div", Mi, [n[2] ||= c("div", { class: "absolute bottom-6 right-3 top-6 w-px bg-white/8" }, null, -1), c("div", {
3885
3888
  "data-testid": "vibe-list-scrollbar-thumb",
3886
3889
  class: v(["absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out", r.loading ? "bg-white/52" : "bg-white/34"]),
3887
- style: b(N(p).getScrollbarThumbStyle())
3890
+ style: b(M(p).getScrollbarThumbStyle())
3888
3891
  }, null, 6)])) : o("", !0),
3889
- d["grid-footer"] ? (w(), s("div", Ni, [c("div", Pi, [k(e.$slots, "grid-footer")])])) : o("", !0),
3892
+ d["grid-footer"] ? (w(), s("div", Ni, [c("div", Pi, [O(e.$slots, "grid-footer")])])) : o("", !0),
3890
3893
  _.value ? (w(), s("div", {
3891
3894
  key: 2,
3892
3895
  class: v(["pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6", d["grid-footer"] ? "pb-24" : "pb-6"])
3893
- }, [S.value ? k(e.$slots, "grid-status", y(g({ key: 0 }, _.value))) : (w(), s("span", {
3896
+ }, [S.value ? O(e.$slots, "grid-status", y(g({ key: 0 }, _.value))) : (w(), s("span", {
3894
3897
  key: 1,
3895
3898
  "data-testid": "vibe-grid-status-badge",
3896
3899
  class: v(["inline-flex items-center border border-white/14 bg-black/55 px-4 py-3 text-[0.7rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/72 backdrop-blur-[18px]", _.value.kind === "end" ? "border-amber-300/35 text-amber-200" : _.value.kind === "failed" ? "border-rose-400/45 text-rose-100" : ""])
3897
- }, j(_.value.message), 3))], 2)) : o("", !0),
3898
- N(E) && N(T) ? (w(), a(Cn, {
3900
+ }, A(_.value.message), 3))], 2)) : o("", !0),
3901
+ M(E) && M(T) ? (w(), a(Cn, {
3899
3902
  key: 3,
3900
3903
  class: v(["z-[3]", d["grid-footer"] ? "pb-24" : "pb-6"]),
3901
- message: N(T).message,
3902
- mode: N(T).mode,
3903
- surface: N(T).surface
3904
+ message: M(T).message,
3905
+ mode: M(T).mode,
3906
+ surface: M(T).surface
3904
3907
  }, {
3905
- default: z(() => [N(D) ? k(e.$slots, "empty-state", y(g({ key: 0 }, N(T)))) : o("", !0)]),
3908
+ default: R(() => [M(D) ? O(e.$slots, "empty-state", y(g({ key: 0 }, M(T)))) : o("", !0)]),
3906
3909
  _: 3
3907
3910
  }, 8, [
3908
3911
  "class",
@@ -3928,7 +3931,6 @@ var pi = ["aria-label"], mi = {
3928
3931
  initialCursor: {},
3929
3932
  initialState: {},
3930
3933
  loopFullscreenVideo: { type: Boolean },
3931
- mode: {},
3932
3934
  pageSize: {},
3933
3935
  paginationDetail: {},
3934
3936
  resolve: { type: Function },
@@ -3944,9 +3946,9 @@ var pi = ["aria-label"], mi = {
3944
3946
  "update:surfaceMode"
3945
3947
  ],
3946
3948
  setup(e, { expose: n, emit: i }) {
3947
- let d = e, f = F(), m = i, h = Ye(d, m), g = fe((e) => {
3949
+ let d = e, f = P(), m = i, h = Ye(d, m), g = Z((e) => {
3948
3950
  m("asset-errors", e);
3949
- }), _ = Z((e) => {
3951
+ }), _ = fe((e) => {
3950
3952
  m("asset-loads", e);
3951
3953
  });
3952
3954
  return x(() => {
@@ -3966,14 +3968,14 @@ var pi = ["aria-label"], mi = {
3966
3968
  unlockPageLoading: h.unlockPageLoading
3967
3969
  }), (e, n) => (w(), s("section", {
3968
3970
  "data-testid": "vibe",
3969
- "data-surface-mode": N(h).surfaceMode.value,
3971
+ "data-surface-mode": M(h).surfaceMode.value,
3970
3972
  class: "relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]"
3971
- }, [N(h).canRetryInitialLoad.value ? (w(), s("button", {
3973
+ }, [M(h).canRetryInitialLoad.value ? (w(), s("button", {
3972
3974
  key: 0,
3973
3975
  type: "button",
3974
3976
  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",
3975
- onClick: n[0] ||= (...e) => N(h).retryInitialLoad && N(h).retryInitialLoad(...e)
3976
- }, " Retry ")) : N(h).errorMessage.value && N(h).items.value.length > 0 ? (w(), s("div", Li, j(N(h).errorMessage.value), 1)) : o("", !0), N(h).isDesktop.value ? (w(), s(t, { key: 2 }, [u(r, {
3977
+ onClick: n[0] ||= (...e) => M(h).retryInitialLoad && M(h).retryInitialLoad(...e)
3978
+ }, " Retry ")) : M(h).errorMessage.value && M(h).items.value.length > 0 ? (w(), s("div", Li, A(M(h).errorMessage.value), 1)) : o("", !0), M(h).isDesktop.value ? (w(), s(t, { key: 2 }, [u(r, {
3977
3979
  appear: "",
3978
3980
  "enter-active-class": "transition-[opacity,transform] duration-300 ease-out",
3979
3981
  "enter-from-class": "translate-y-3 opacity-0",
@@ -3982,57 +3984,57 @@ var pi = ["aria-label"], mi = {
3982
3984
  "leave-from-class": "translate-y-0 opacity-100",
3983
3985
  "leave-to-class": "translate-y-3 opacity-0"
3984
3986
  }, {
3985
- default: z(() => [B(c("div", {
3987
+ default: R(() => [z(c("div", {
3986
3988
  "data-testid": "vibe-list-surface",
3987
- "data-visible": N(h).surfaceMode.value === "list" ? "true" : "false",
3988
- inert: N(h).surfaceMode.value !== "list",
3989
+ "data-visible": M(h).surfaceMode.value === "list" ? "true" : "false",
3990
+ inert: M(h).surfaceMode.value !== "list",
3989
3991
  class: "absolute inset-0 z-[2]"
3990
3992
  }, [u(Fi, {
3991
- active: N(h).surfaceMode.value === "list",
3992
- "allow-exhausted-next-page-refresh": N(h).canRefreshExhaustedNextPage.value,
3993
- items: N(h).items.value,
3994
- "active-index": N(h).activeIndex.value,
3995
- "error-message": N(h).errorMessage.value,
3996
- loading: N(h).loading.value,
3997
- "has-next-page": N(h).hasNextPage.value,
3998
- "has-previous-page": N(h).hasPreviousPage.value,
3999
- "pending-append-items": N(h).pendingAppendItems.value,
4000
- phase: N(h).phase.value,
4001
- "commit-pending-append": N(h).commitPendingAppend,
4002
- "pagination-detail": N(h).paginationDetail.value,
4003
- "report-asset-error": N(g).report,
4004
- "report-asset-load": N(_).report,
4005
- "request-next-page": N(h).prefetchNextPage,
4006
- "request-previous-page": N(h).prefetchPreviousPage,
3993
+ active: M(h).surfaceMode.value === "list",
3994
+ "allow-exhausted-next-page-refresh": M(h).canRefreshExhaustedNextPage.value,
3995
+ items: M(h).items.value,
3996
+ "active-index": M(h).activeIndex.value,
3997
+ "error-message": M(h).errorMessage.value,
3998
+ loading: M(h).loading.value,
3999
+ "has-next-page": M(h).hasNextPage.value,
4000
+ "has-previous-page": M(h).hasPreviousPage.value,
4001
+ "pending-append-items": M(h).pendingAppendItems.value,
4002
+ phase: M(h).phase.value,
4003
+ "commit-pending-append": M(h).commitPendingAppend,
4004
+ "pagination-detail": M(h).paginationDetail.value,
4005
+ "report-asset-error": M(g).report,
4006
+ "report-asset-load": M(_).report,
4007
+ "request-next-page": M(h).prefetchNextPage,
4008
+ "request-previous-page": M(h).prefetchPreviousPage,
4007
4009
  "empty-state-mode": d.emptyStateMode,
4008
4010
  "show-status-badges": d.showStatusBadges ?? !0,
4009
- onBoundaryLoadProgress: N(h).setBoundaryLoadProgress,
4010
- onOpenFullscreen: N(h).openFullscreen,
4011
- "onUpdate:activeIndex": N(h).setActiveIndex
4011
+ onBoundaryLoadProgress: M(h).setBoundaryLoadProgress,
4012
+ onOpenFullscreen: M(h).openFullscreen,
4013
+ "onUpdate:activeIndex": M(h).setActiveIndex
4012
4014
  }, l({ _: 2 }, [
4013
4015
  f["empty-state"] ? {
4014
4016
  name: "empty-state",
4015
- fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
4017
+ fn: R((t) => [O(e.$slots, "empty-state", y(p(t)))]),
4016
4018
  key: "0"
4017
4019
  } : void 0,
4018
4020
  f["grid-footer"] ? {
4019
4021
  name: "grid-footer",
4020
- fn: z(() => [k(e.$slots, "grid-footer")]),
4022
+ fn: R(() => [O(e.$slots, "grid-footer")]),
4021
4023
  key: "1"
4022
4024
  } : void 0,
4023
4025
  f["grid-item-overlay"] ? {
4024
4026
  name: "grid-item-overlay",
4025
- fn: z((t) => [k(e.$slots, "grid-item-overlay", y(p(t)))]),
4027
+ fn: R((t) => [O(e.$slots, "grid-item-overlay", y(p(t)))]),
4026
4028
  key: "2"
4027
4029
  } : void 0,
4028
4030
  f["grid-status"] ? {
4029
4031
  name: "grid-status",
4030
- fn: z((t) => [k(e.$slots, "grid-status", y(p(t)))]),
4032
+ fn: R((t) => [O(e.$slots, "grid-status", y(p(t)))]),
4031
4033
  key: "3"
4032
4034
  } : void 0,
4033
4035
  f["item-icon"] ? {
4034
4036
  name: "item-icon",
4035
- fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
4037
+ fn: R((t) => [O(e.$slots, "item-icon", y(p(t)))]),
4036
4038
  key: "4"
4037
4039
  } : void 0
4038
4040
  ]), 1032, [
@@ -4057,7 +4059,7 @@ var pi = ["aria-label"], mi = {
4057
4059
  "onBoundaryLoadProgress",
4058
4060
  "onOpenFullscreen",
4059
4061
  "onUpdate:activeIndex"
4060
- ])], 8, Ri), [[I, N(h).surfaceMode.value === "list"]])]),
4062
+ ])], 8, Ri), [[F, M(h).surfaceMode.value === "list"]])]),
4061
4063
  _: 3
4062
4064
  }), u(r, {
4063
4065
  appear: "",
@@ -4068,59 +4070,59 @@ var pi = ["aria-label"], mi = {
4068
4070
  "leave-from-class": "translate-y-0 opacity-100",
4069
4071
  "leave-to-class": "-translate-y-3 opacity-0"
4070
4072
  }, {
4071
- default: z(() => [B(c("div", {
4073
+ default: R(() => [z(c("div", {
4072
4074
  "data-testid": "vibe-fullscreen-surface",
4073
- "data-visible": N(h).surfaceMode.value === "fullscreen" ? "true" : "false",
4074
- inert: N(h).surfaceMode.value !== "fullscreen",
4075
+ "data-visible": M(h).surfaceMode.value === "fullscreen" ? "true" : "false",
4076
+ inert: M(h).surfaceMode.value !== "fullscreen",
4075
4077
  class: "absolute inset-0 z-[3]"
4076
4078
  }, [u(ar, {
4077
- items: N(h).items.value,
4078
- active: N(h).surfaceMode.value === "fullscreen",
4079
- "active-index": N(h).activeIndex.value,
4080
- "error-message": N(h).errorMessage.value,
4081
- loading: N(h).loading.value,
4082
- "has-next-page": N(h).hasNextPage.value,
4083
- "pagination-detail": N(h).paginationDetail.value,
4084
- phase: N(h).phase.value,
4085
- "report-asset-error": N(g).report,
4086
- "report-asset-load": N(_).report,
4079
+ items: M(h).items.value,
4080
+ active: M(h).surfaceMode.value === "fullscreen",
4081
+ "active-index": M(h).activeIndex.value,
4082
+ "error-message": M(h).errorMessage.value,
4083
+ loading: M(h).loading.value,
4084
+ "has-next-page": M(h).hasNextPage.value,
4085
+ "pagination-detail": M(h).paginationDetail.value,
4086
+ phase: M(h).phase.value,
4087
+ "report-asset-error": M(g).report,
4088
+ "report-asset-load": M(_).report,
4087
4089
  "empty-state-mode": d.emptyStateMode,
4088
4090
  "loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
4089
4091
  "show-dominant-image-tone": d.showDominantImageTone ?? !0,
4090
4092
  "show-end-badge": d.showEndBadge ?? !0,
4091
4093
  "show-status-badges": d.showStatusBadges ?? !0,
4092
- "show-back-to-list": N(h).showBackToList.value,
4093
- onBackToList: N(h).returnToList,
4094
- "onUpdate:activeIndex": N(h).setActiveIndex
4094
+ "show-back-to-list": M(h).showBackToList.value,
4095
+ onBackToList: M(h).returnToList,
4096
+ "onUpdate:activeIndex": M(h).setActiveIndex
4095
4097
  }, l({ _: 2 }, [
4096
4098
  f["empty-state"] ? {
4097
4099
  name: "empty-state",
4098
- fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
4100
+ fn: R((t) => [O(e.$slots, "empty-state", y(p(t)))]),
4099
4101
  key: "0"
4100
4102
  } : void 0,
4101
4103
  f["fullscreen-overlay"] ? {
4102
4104
  name: "fullscreen-overlay",
4103
- fn: z((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
4105
+ fn: R((t) => [O(e.$slots, "fullscreen-overlay", y(p(t)))]),
4104
4106
  key: "1"
4105
4107
  } : void 0,
4106
4108
  f["fullscreen-aside"] ? {
4107
4109
  name: "fullscreen-aside",
4108
- fn: z((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
4110
+ fn: R((t) => [O(e.$slots, "fullscreen-aside", y(p(t)))]),
4109
4111
  key: "2"
4110
4112
  } : void 0,
4111
4113
  f["fullscreen-header-actions"] ? {
4112
4114
  name: "fullscreen-header-actions",
4113
- fn: z((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
4115
+ fn: R((t) => [O(e.$slots, "fullscreen-header-actions", y(p(t)))]),
4114
4116
  key: "3"
4115
4117
  } : void 0,
4116
4118
  f["fullscreen-status"] ? {
4117
4119
  name: "fullscreen-status",
4118
- fn: z((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
4120
+ fn: R((t) => [O(e.$slots, "fullscreen-status", y(p(t)))]),
4119
4121
  key: "4"
4120
4122
  } : void 0,
4121
4123
  f["item-icon"] ? {
4122
4124
  name: "item-icon",
4123
- fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
4125
+ fn: R((t) => [O(e.$slots, "item-icon", y(p(t)))]),
4124
4126
  key: "5"
4125
4127
  } : void 0
4126
4128
  ]), 1032, [
@@ -4142,60 +4144,60 @@ var pi = ["aria-label"], mi = {
4142
4144
  "show-back-to-list",
4143
4145
  "onBackToList",
4144
4146
  "onUpdate:activeIndex"
4145
- ])], 8, zi), [[I, N(h).surfaceMode.value === "fullscreen"]])]),
4147
+ ])], 8, zi), [[F, M(h).surfaceMode.value === "fullscreen"]])]),
4146
4148
  _: 3
4147
- })], 64)) : N(h).items.value.length === 0 && N(h).loading.value ? (w(), s("div", Bi, [u(N(oe), {
4149
+ })], 64)) : M(h).items.value.length === 0 && M(h).loading.value ? (w(), s("div", Bi, [u(M(oe), {
4148
4150
  class: "size-10 animate-spin text-[#f7f1ea]/82",
4149
4151
  "aria-hidden": "true"
4150
4152
  }), n[1] ||= c("p", { class: "m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72" }, " Loading... ", -1)])) : (w(), a(ar, {
4151
4153
  key: 4,
4152
- items: N(h).items.value,
4154
+ items: M(h).items.value,
4153
4155
  active: !0,
4154
- "active-index": N(h).activeIndex.value,
4155
- "error-message": N(h).errorMessage.value,
4156
- loading: N(h).loading.value,
4157
- "has-next-page": N(h).hasNextPage.value,
4158
- "pagination-detail": N(h).paginationDetail.value,
4159
- phase: N(h).phase.value,
4160
- "report-asset-error": N(g).report,
4161
- "report-asset-load": N(_).report,
4156
+ "active-index": M(h).activeIndex.value,
4157
+ "error-message": M(h).errorMessage.value,
4158
+ loading: M(h).loading.value,
4159
+ "has-next-page": M(h).hasNextPage.value,
4160
+ "pagination-detail": M(h).paginationDetail.value,
4161
+ phase: M(h).phase.value,
4162
+ "report-asset-error": M(g).report,
4163
+ "report-asset-load": M(_).report,
4162
4164
  "empty-state-mode": d.emptyStateMode,
4163
4165
  "loop-fullscreen-video": d.loopFullscreenVideo ?? !0,
4164
4166
  "show-dominant-image-tone": d.showDominantImageTone ?? !0,
4165
4167
  "show-end-badge": d.showEndBadge ?? !0,
4166
4168
  "show-status-badges": d.showStatusBadges ?? !0,
4167
4169
  "show-back-to-list": !1,
4168
- onBackToList: N(h).returnToList,
4169
- "onUpdate:activeIndex": N(h).setActiveIndex
4170
+ onBackToList: M(h).returnToList,
4171
+ "onUpdate:activeIndex": M(h).setActiveIndex
4170
4172
  }, l({ _: 2 }, [
4171
4173
  f["empty-state"] ? {
4172
4174
  name: "empty-state",
4173
- fn: z((t) => [k(e.$slots, "empty-state", y(p(t)))]),
4175
+ fn: R((t) => [O(e.$slots, "empty-state", y(p(t)))]),
4174
4176
  key: "0"
4175
4177
  } : void 0,
4176
4178
  f["fullscreen-overlay"] ? {
4177
4179
  name: "fullscreen-overlay",
4178
- fn: z((t) => [k(e.$slots, "fullscreen-overlay", y(p(t)))]),
4180
+ fn: R((t) => [O(e.$slots, "fullscreen-overlay", y(p(t)))]),
4179
4181
  key: "1"
4180
4182
  } : void 0,
4181
4183
  f["fullscreen-aside"] ? {
4182
4184
  name: "fullscreen-aside",
4183
- fn: z((t) => [k(e.$slots, "fullscreen-aside", y(p(t)))]),
4185
+ fn: R((t) => [O(e.$slots, "fullscreen-aside", y(p(t)))]),
4184
4186
  key: "2"
4185
4187
  } : void 0,
4186
4188
  f["fullscreen-header-actions"] ? {
4187
4189
  name: "fullscreen-header-actions",
4188
- fn: z((t) => [k(e.$slots, "fullscreen-header-actions", y(p(t)))]),
4190
+ fn: R((t) => [O(e.$slots, "fullscreen-header-actions", y(p(t)))]),
4189
4191
  key: "3"
4190
4192
  } : void 0,
4191
4193
  f["fullscreen-status"] ? {
4192
4194
  name: "fullscreen-status",
4193
- fn: z((t) => [k(e.$slots, "fullscreen-status", y(p(t)))]),
4195
+ fn: R((t) => [O(e.$slots, "fullscreen-status", y(p(t)))]),
4194
4196
  key: "4"
4195
4197
  } : void 0,
4196
4198
  f["item-icon"] ? {
4197
4199
  name: "item-icon",
4198
- fn: z((t) => [k(e.$slots, "item-icon", y(p(t)))]),
4200
+ fn: R((t) => [O(e.$slots, "item-icon", y(p(t)))]),
4199
4201
  key: "5"
4200
4202
  } : void 0
4201
4203
  ]), 1032, [