@wyxos/vibe 3.1.7 → 3.1.9

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.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Plugin } from 'vue';
2
2
  import './style.css';
3
3
  export type { VibeViewerAsset, VibeViewerItem, VibeViewerType } from './components/viewer';
4
- export type { VibeAssetErrorEvent, VibeAssetErrorKind, VibeAssetErrorSurface, VibeAssetLoadEvent, VibeAssetLoadSurface, VibeEmptyStateMode, VibeEmptyStateSlotProps, VibeResolveParams, VibeResolveResult, VibeFeedMode, VibeHandle, VibeInitialState, VibeLoadPhase, VibeProps, VibeSurfaceMode, VibeStatus, } from './components/viewer-core/useViewer';
4
+ export type { VibeAssetErrorEvent, VibeAssetErrorKind, VibeAssetErrorSurface, VibeAssetLoadEvent, VibeAssetLoadSurface, VibeEmptyStateMode, VibeEmptyStateSlotProps, VibeResolveParams, VibeResolveResult, VibeHandle, VibeInitialState, VibeLoadPhase, VibeProps, VibeSurfaceMode, VibeStatus, } from './components/viewer-core/useViewer';
5
5
  export declare const VibeLayout: {
6
6
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import(".").VibeProps> & Readonly<{
7
7
  "onUpdate:activeIndex"?: ((value: number) => any) | undefined;
package/lib/index.js CHANGED
@@ -437,7 +437,7 @@ 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);
440
+ let t = !!e.initialState?.items.length, n = D([]), r = D(0), a = D([]), o = D(!1), s = D(null), c = D(!t && typeof e.resolve == "function" ? "initializing" : "idle"), l = D(null), u = D(null), d = Ue(), f = d.remainingMs, p = D(null), m = D(!1), h = D(!0), g = D(!1), _ = /* @__PURE__ */ new Set(), v = null, y = null, b = 0, C = 0, w = i(() => He(e.fillDelayMs, Re)), T = i(() => He(e.fillDelayStepMs, ze)), E = i(() => typeof e.resolve == "function"), O = i(() => _e(e.pageSize)), k = i(() => we(n.value)), A = i(() => Te(k.value, e.removedIds.value)), j = i(() => r.value), M = i(() => ge(c.value) || m.value), N = i(() => Ge(n.value, e.removedIds.value)), P = i(() => Ke(n.value, e.removedIds.value)), F = i(() => P.value?.nextCursor ?? null), I = i(() => o.value ? null : N.value?.previousCursor ?? null), R = i(() => !!F.value), z = i(() => !!I.value), B = i(() => E.value && n.value.length > 0), ee = i(() => Te(we(a.value), e.removedIds.value)), te = i(() => Oe(n.value, e.removedIds.value, j.value)), V = i(() => !A.value.length && !M.value && !!s.value);
441
441
  L(() => A.value.length, (e) => {
442
442
  if (e === 0) {
443
443
  r.value = 0;
@@ -445,16 +445,16 @@ function We(e) {
445
445
  }
446
446
  o.value &&= (ye(), !1), r.value > e - 1 && (r.value = e - 1);
447
447
  }), L(() => r.value, () => {
448
- m.value && ce();
448
+ h.value && ce();
449
449
  }), S(() => {
450
450
  pe() || e.resolve && H();
451
451
  }), x(() => {
452
- _?.abort(), _ = null, u.clear(!0);
452
+ v?.abort(), v = null, d.clear(!0);
453
453
  });
454
454
  async function H() {
455
- v = H;
455
+ y = H;
456
456
  let t = await de({
457
- continueUntilFilled: E.value === "dynamic",
457
+ continueUntilFilled: !0,
458
458
  cursor: e.initialCursor ?? null,
459
459
  direction: "forward",
460
460
  phase: "initializing"
@@ -462,21 +462,29 @@ function We(e) {
462
462
  t && (n.value = t.buckets, r.value = 0, Z());
463
463
  }
464
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");
465
+ if (!(g.value || M.value)) {
466
+ if (he("trailing") || !R.value) {
467
+ if (!B.value) return;
468
+ let e = await ue("trailing");
469
+ e?.itemsLoaded === 0 && e.followCursor && await le(e.followCursor);
470
+ return;
471
+ }
468
472
  await le(F.value);
469
473
  }
470
474
  }
471
475
  async function W() {
472
- if (!(h.value || !z.value || M.value)) {
473
- if (E.value === "static" && he("leading")) return ue("leading");
476
+ if (!(g.value || !z.value || M.value)) {
477
+ if (he("leading")) {
478
+ let e = await ue("leading");
479
+ e?.itemsLoaded === 0 && e.followCursor && await X(e.followCursor);
480
+ return;
481
+ }
474
482
  await X(I.value);
475
483
  }
476
484
  }
477
485
  async function ne() {
478
486
  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()) {
487
+ if (n.value = [], r.value = 0, a.value = [], o.value = !1, s.value = null, c.value = E.value ? "initializing" : "idle", l.value = null, u.value = null, p.value = null, m.value = !1, _.clear(), v?.abort(), v = null, d.clear(!0), pe()) {
480
488
  Z();
481
489
  return;
482
490
  }
@@ -485,11 +493,11 @@ function We(e) {
485
493
  }
486
494
  async function G() {
487
495
  if (V.value) return ne();
488
- h.value || c.value !== "failed" || !v || (s.value = null, await v());
496
+ g.value || c.value !== "failed" || !y || (s.value = null, await y());
489
497
  }
490
498
  async function K() {
491
- if (!a.value.length) return p.value = !1, Z();
492
- n.value = [...n.value, ...a.value], a.value = [], p.value = !1, Z();
499
+ if (!a.value.length) return m.value = !1, Z();
500
+ n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Z();
493
501
  }
494
502
  function q(t) {
495
503
  let n = A.value;
@@ -498,16 +506,16 @@ function We(e) {
498
506
  i !== r.value && (r.value = i, e.emit("update:activeIndex", i));
499
507
  }
500
508
  function re(e) {
501
- m.value = e;
509
+ h.value = e;
502
510
  }
503
511
  function J() {
504
- h.value = !0, u.clear(!0);
512
+ g.value = !0, d.clear(!0);
505
513
  }
506
514
  function Y() {
507
- h.value = !1;
515
+ g.value = !1;
508
516
  }
509
517
  function ie() {
510
- 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();
518
+ b += 1, v?.abort(), v = null, d.clear(!0), _.clear(), s.value = null, l.value = null, u.value = null, p.value = null, a.value.length > 0 && (n.value = [...n.value, ...a.value], a.value = []), m.value = !1, o.value = !1, Z();
511
519
  }
512
520
  function ae() {
513
521
  return Fe(A.value, j.value);
@@ -534,7 +542,7 @@ function We(e) {
534
542
  a.value.length > 0 && !ee.value.length && K();
535
543
  }
536
544
  async function ce() {
537
- if (!(!m.value || me())) {
545
+ if (!(!h.value || me())) {
538
546
  if (!A.value.length) {
539
547
  R.value && await U();
540
548
  return;
@@ -543,27 +551,27 @@ function We(e) {
543
551
  }
544
552
  }
545
553
  async function le(e) {
546
- v = async () => {
554
+ y = async () => {
547
555
  await le(e);
548
556
  };
549
557
  let t = await de({
550
- continueUntilFilled: E.value === "dynamic",
558
+ continueUntilFilled: !0,
551
559
  cursor: e,
552
560
  direction: "forward",
553
561
  phase: "loading"
554
562
  });
555
563
  if (t) {
556
- 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();
558
- p.value = !0;
564
+ if (t.canceled) return n.value = [...n.value, ...t.buckets], a.value = [], m.value = !1, Z();
565
+ if (a.value = t.buckets, !ee.value.length) return n.value = [...n.value, ...a.value], a.value = [], m.value = !1, Z();
566
+ m.value = !0;
559
567
  }
560
568
  }
561
569
  async function X(e) {
562
- v = async () => {
570
+ y = async () => {
563
571
  await X(e);
564
572
  };
565
573
  let t = await de({
566
- continueUntilFilled: E.value === "dynamic",
574
+ continueUntilFilled: !0,
567
575
  cursor: e,
568
576
  direction: "backward",
569
577
  phase: "loading"
@@ -573,59 +581,58 @@ function We(e) {
573
581
  n.value = [...t.buckets, ...n.value], oe(r), Z();
574
582
  }
575
583
  async function ue(t) {
576
- if (v = async () => {
584
+ if (y = async () => {
577
585
  await ue(t);
578
- }, !e.resolve) return;
586
+ }, !e.resolve) return null;
579
587
  let r = t === "leading" ? N.value : P.value;
580
- if (!r) return;
588
+ if (!r) return null;
581
589
  let i = ve(r.cursor);
582
- if (g.has(i)) return;
583
- g.add(i), s.value = null, c.value = "refreshing", l.value = null, f.value = null;
584
- let a = ++y, o = typeof AbortController > "u" ? null : new AbortController();
585
- _ = o;
590
+ if (_.has(i)) return null;
591
+ _.add(i), s.value = null, c.value = "refreshing", l.value = null, u.value = null, p.value = null;
592
+ let a = ++b, o = typeof AbortController > "u" ? null : new AbortController();
593
+ v = o;
586
594
  try {
587
- let t = await e.resolve({
595
+ let i = await e.resolve({
588
596
  cursor: r.cursor,
589
597
  pageSize: O.value,
590
598
  signal: o?.signal
591
599
  });
592
- if (a !== y) return Z();
593
- let i = fe({
600
+ if (a !== b) return Z(), null;
601
+ let s = fe({
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 = ae();
608
+ return n.value = ke(n.value, r.cursor, s), oe(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 !== b ? (Z(), null) : (s.value = e instanceof Error ? e.message : "The viewer could not load items.", c.value = "failed", l.value = null, u.value = null, p.value = null, null);
607
614
  } finally {
608
- _ === o && (_ = null), g.delete(i);
615
+ v === o && (v = null), _.delete(i);
609
616
  }
610
617
  }
611
618
  async function de(t) {
612
619
  if (!e.resolve) return null;
613
- let n = ++y, r = /* @__PURE__ */ new Set(), i = [], a = t.cursor, o = 0;
614
- for (s.value = null, c.value = t.phase, l.value = null, f.value = null;;) {
615
- if (n !== y) return Ne(i, t.direction, e.removedIds.value, !0);
616
- if (i.length > 0 && h.value) return Ne(i, t.direction, e.removedIds.value, !1);
617
- let d = ve(a);
618
- if (r.has(d) || g.has(d)) break;
619
- r.add(d), g.add(d);
620
- let p = typeof AbortController > "u" ? null : new AbortController();
621
- _ = p;
620
+ let n = ++b, r = /* @__PURE__ */ new Set(), i = [], a = t.cursor, o = 0;
621
+ for (s.value = null, c.value = t.phase, l.value = null, u.value = null, p.value = null;;) {
622
+ if (n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
623
+ if (i.length > 0 && g.value) return Ne(i, t.direction, e.removedIds.value, !1);
624
+ let f = ve(a);
625
+ if (r.has(f) || _.has(f)) break;
626
+ r.add(f), _.add(f);
627
+ let m = typeof AbortController > "u" ? null : new AbortController();
628
+ v = m;
622
629
  try {
623
630
  let r = await e.resolve({
624
631
  cursor: a,
625
632
  pageSize: O.value,
626
- signal: p?.signal
633
+ signal: m?.signal
627
634
  });
628
- if (n !== y) return Ne(i, t.direction, e.removedIds.value, !0);
635
+ if (n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
629
636
  let s = fe({
630
637
  cursor: a,
631
638
  nextCursor: r.nextPage,
@@ -634,21 +641,21 @@ function We(e) {
634
641
  previousItems: []
635
642
  });
636
643
  i.push(s);
637
- 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 {
644
+ let f = i.reduce((t, n) => t + De(n, e.removedIds.value), 0), h = t.direction === "forward" ? s.nextCursor : s.previousCursor;
645
+ if (!t.continueUntilFilled || f >= O.value || !h) return u.value = null, {
639
646
  canceled: !1,
640
647
  buckets: t.direction === "backward" ? [...i].reverse() : i,
641
- visibleCount: d
648
+ visibleCount: f
642
649
  };
643
- 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;
645
- let g = Ve(o, C.value, w.value);
646
- if (await u.wait(g), n !== y) return Ne(i, t.direction, e.removedIds.value, !0);
647
- a = m;
650
+ if (g.value) return Ne(i, t.direction, e.removedIds.value, !1);
651
+ c.value = "filling", l.value = f, u.value = h, p.value = O.value, o += 1;
652
+ let _ = Ve(o, w.value, T.value);
653
+ if (await d.wait(_), n !== b) return Ne(i, t.direction, e.removedIds.value, !0);
654
+ a = h;
648
655
  } catch (r) {
649
- return je(r) || n !== y ? Ne(i, t.direction, e.removedIds.value, !0) : (s.value = r instanceof Error ? r.message : "The viewer could not load items.", c.value = "failed", l.value = null, f.value = null, null);
656
+ return je(r) || n !== b ? Ne(i, t.direction, e.removedIds.value, !0) : (s.value = r instanceof Error ? r.message : "The viewer could not load items.", c.value = "failed", l.value = null, u.value = null, p.value = null, null);
650
657
  } finally {
651
- _ === p && (_ = null), g.delete(d);
658
+ v === m && (v = null), _.delete(f);
652
659
  }
653
660
  }
654
661
  return Ne(i, t.direction, e.removedIds.value, !1);
@@ -660,21 +667,21 @@ function We(e) {
660
667
  nextItems: e.nextItems,
661
668
  previousCursor: e.previousCursor,
662
669
  previousItems: e.previousItems,
663
- sequence: b
670
+ sequence: C
664
671
  });
665
- return b = t.nextSequence, t.bucket;
672
+ return C = t.nextSequence, t.bucket;
666
673
  }
667
674
  function Z() {
668
- c.value = "idle", l.value = null, f.value = null, u.clear();
675
+ c.value = "idle", l.value = null, u.value = null, p.value = null, d.clear();
669
676
  }
670
677
  function pe() {
671
678
  if (!e.initialState || !e.initialState.items.length) return !1;
672
679
  let t = Pe({
673
680
  initialState: e.initialState,
674
681
  removedIds: e.removedIds.value,
675
- sequence: b
682
+ sequence: C
676
683
  });
677
- return n.value = t.buckets, r.value = t.activeIndex, b = t.nextSequence, o.value = !1, s.value = null, a.value = [], p.value = !1, !0;
684
+ return n.value = t.buckets, r.value = t.activeIndex, C = t.nextSequence, o.value = !1, s.value = null, a.value = [], m.value = !1, !0;
678
685
  }
679
686
  function me() {
680
687
  return c.value === "initializing";
@@ -701,16 +708,16 @@ function We(e) {
701
708
  currentCursor: te,
702
709
  errorMessage: s,
703
710
  fillCollectedCount: l,
704
- fillDelayRemainingMs: d,
705
- fillTargetCount: f,
711
+ fillCursor: u,
712
+ fillDelayRemainingMs: f,
713
+ fillTargetCount: p,
706
714
  hasNextPage: R,
707
715
  hasPreviousPage: z,
708
- isAutoPrefetchEnabled: m,
709
- isPageLoadingLocked: h,
716
+ isAutoPrefetchEnabled: h,
717
+ isPageLoadingLocked: g,
710
718
  items: A,
711
719
  lockPageLoading: J,
712
720
  loading: M,
713
- mode: E,
714
721
  maybePrefetchAround: ce,
715
722
  nextCursor: F,
716
723
  pendingAppendItems: ee,
@@ -747,7 +754,6 @@ function qe(e, t) {
747
754
  fillDelayStepMs: e.fillDelayStepMs,
748
755
  initialCursor: e.initialCursor,
749
756
  initialState: e.initialState,
750
- mode: e.mode,
751
757
  pageSize: e.pageSize,
752
758
  removedIds: o,
753
759
  resolve: e.resolve
@@ -797,6 +803,7 @@ function qe(e, t) {
797
803
  currentCursor: l.currentCursor,
798
804
  errorMessage: l.errorMessage,
799
805
  fillCollectedCount: l.fillCollectedCount,
806
+ fillCursor: l.fillCursor,
800
807
  fillDelayRemainingMs: l.fillDelayRemainingMs,
801
808
  fillTargetCount: l.fillTargetCount,
802
809
  getRemovedIds: r,
@@ -808,7 +815,6 @@ function qe(e, t) {
808
815
  loading: f,
809
816
  loadNext: T,
810
817
  loadPrevious: E,
811
- mode: l.mode,
812
818
  nextCursor: l.nextCursor,
813
819
  paginationDetail: g,
814
820
  pendingAppendItems: l.pendingAppendItems,
@@ -839,13 +845,13 @@ function Ye(e, t) {
839
845
  currentCursor: null,
840
846
  errorMessage: null,
841
847
  fillCollectedCount: null,
848
+ fillCursor: null,
842
849
  fillDelayRemainingMs: null,
843
850
  fillTargetCount: null,
844
851
  hasNextPage: !1,
845
852
  hasPreviousPage: !1,
846
853
  itemCount: 0,
847
854
  loadState: "loaded",
848
- mode: "dynamic",
849
855
  nextBoundaryLoadProgress: 0,
850
856
  nextCursor: null,
851
857
  pageLoadingLocked: !1,
@@ -872,7 +878,7 @@ function Ye(e, t) {
872
878
  }), L(l, (e) => {
873
879
  n.setAutoPrefetchEnabled(e === "fullscreen");
874
880
  }, { 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;
881
+ s.activeIndex = n.activeIndex.value, s.currentCursor = n.currentCursor.value, s.errorMessage = n.errorMessage.value, s.fillCollectedCount = n.fillCollectedCount.value, s.fillCursor = n.fillCursor.value, s.fillDelayRemainingMs = n.fillDelayRemainingMs.value, s.fillTargetCount = n.fillTargetCount.value, s.hasNextPage = n.hasNextPage.value, s.hasPreviousPage = n.hasPreviousPage.value, s.itemCount = n.items.value.length, s.loadState = n.loading.value ? "loading" : n.errorMessage.value ? "failed" : "loaded", s.nextBoundaryLoadProgress = r.nextBoundaryLoadProgress, s.nextCursor = n.nextCursor.value, s.pageLoadingLocked = n.isPageLoadingLocked.value, s.phase = n.phase.value, s.previousBoundaryLoadProgress = r.previousBoundaryLoadProgress, s.previousCursor = n.previousCursor.value, s.removedCount = n.removedCount.value, s.removedIds = n.getRemovedIds(), s.surfaceMode = l.value;
876
882
  }), S(() => {
877
883
  m(), h(), window.addEventListener("keydown", p), window.addEventListener("resize", m);
878
884
  }), x(() => {
@@ -3928,7 +3934,6 @@ var pi = ["aria-label"], mi = {
3928
3934
  initialCursor: {},
3929
3935
  initialState: {},
3930
3936
  loopFullscreenVideo: { type: Boolean },
3931
- mode: {},
3932
3937
  pageSize: {},
3933
3938
  paginationDetail: {},
3934
3939
  resolve: { type: Function },