@wyxos/vibe 4.5.0 → 4.5.2

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.
@@ -16,6 +16,7 @@ declare const __VLS_export: import("vue").DefineComponent<ReelFeedProps, {
16
16
  retryEnd: () => any;
17
17
  mediaChange: (postId: VibeItemId, mediaIndex: number) => any;
18
18
  activeChange: (postId: VibeItemId) => any;
19
+ retryForward: () => any;
19
20
  }, string, import("vue").PublicProps, Readonly<ReelFeedProps> & Readonly<{
20
21
  onReady?: ((postId: VibeItemId, mediaIndex: number) => any) | undefined;
21
22
  onError?: ((postId: VibeItemId, mediaIndex: number) => any) | undefined;
@@ -23,6 +24,9 @@ declare const __VLS_export: import("vue").DefineComponent<ReelFeedProps, {
23
24
  onRetryEnd?: (() => any) | undefined;
24
25
  onMediaChange?: ((postId: VibeItemId, mediaIndex: number) => any) | undefined;
25
26
  onActiveChange?: ((postId: VibeItemId) => any) | undefined;
26
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ onRetryForward?: (() => any) | undefined;
28
+ }>, {
29
+ reelForward: import("..").VibeReelForwardState;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
31
  declare const _default: typeof __VLS_export;
28
32
  export default _default;
@@ -14,6 +14,7 @@ declare const __VLS_export: import("vue").DefineComponent<ReelLayoutProps, {
14
14
  retryEnd: () => any;
15
15
  mediaChange: (postId: VibeItemId, mediaIndex: number) => any;
16
16
  activeChange: (postId: VibeItemId) => any;
17
+ retryForward: () => any;
17
18
  closeInfoSheet: () => any;
18
19
  }, string, import("vue").PublicProps, Readonly<ReelLayoutProps> & Readonly<{
19
20
  onReady?: ((postId: VibeItemId, mediaIndex: number) => any) | undefined;
@@ -22,7 +23,12 @@ declare const __VLS_export: import("vue").DefineComponent<ReelLayoutProps, {
22
23
  onRetryEnd?: (() => any) | undefined;
23
24
  onMediaChange?: ((postId: VibeItemId, mediaIndex: number) => any) | undefined;
24
25
  onActiveChange?: ((postId: VibeItemId) => any) | undefined;
26
+ onRetryForward?: (() => any) | undefined;
25
27
  onCloseInfoSheet?: (() => any) | undefined;
26
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ }>, {
29
+ reelForward: import("..").VibeReelForwardState;
30
+ forwardIndex: number | null;
31
+ forwardItem: import("..").VibeItem | null;
32
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
33
  declare const _default: typeof __VLS_export;
28
34
  export default _default;
@@ -24,6 +24,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
24
24
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
25
  loadMore: () => any;
26
26
  retryEnd: () => any;
27
+ retryForward: () => any;
27
28
  activeReelChange: (postId: VibeItemId) => any;
28
29
  closeReel: () => any;
29
30
  openReel: (postId: VibeItemId) => any;
@@ -31,6 +32,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
31
32
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
32
33
  onLoadMore?: (() => any) | undefined;
33
34
  onRetryEnd?: (() => any) | undefined;
35
+ onRetryForward?: (() => any) | undefined;
34
36
  onActiveReelChange?: ((postId: VibeItemId) => any) | undefined;
35
37
  onCloseReel?: (() => any) | undefined;
36
38
  onOpenReel?: ((postId: VibeItemId) => any) | undefined;
@@ -0,0 +1,3 @@
1
+ import type { VibeRuntimeState } from './runtime';
2
+ import type { VibeItem, VibeItemId, VibeItemPlacement } from '../types';
3
+ export declare function restoreActiveItemAfterRemoval(state: VibeRuntimeState, placements: readonly VibeItemPlacement[], activeIndex: number, activate: (postId: VibeItemId) => void, loadForward: (postIndex: number, item: VibeItem) => void): void;
@@ -0,0 +1,23 @@
1
+ import type { ReelForwardController } from './reelForwardController';
2
+ import type { VibeRuntimeState } from './runtime';
3
+ import type { VibeItemId, VibeMediaRemoval, VibeMediaTarget } from '../types';
4
+ interface ExactMediaRemovalControllerOptions {
5
+ onActivate: (postId: VibeItemId) => void;
6
+ reelForward: ReelForwardController;
7
+ state: VibeRuntimeState;
8
+ }
9
+ export declare class ExactMediaRemovalController {
10
+ private readonly options;
11
+ private generation;
12
+ private readonly metadata;
13
+ private readonly state;
14
+ constructor(options: ExactMediaRemovalControllerOptions);
15
+ remove(target: VibeMediaTarget): VibeMediaRemoval | null;
16
+ reset(): void;
17
+ restore(removal: VibeMediaRemoval): boolean;
18
+ private advanceFromRemovedPost;
19
+ private isReelOpen;
20
+ private restoreIntoPost;
21
+ private updateMediaIndexAfterRemoval;
22
+ }
23
+ export {};
@@ -1,4 +1,4 @@
1
- import type { VibeCardRegion, VibeFeedFooter, VibeFeedFooterActions, VibeItem, VibeItemId, VibeMediaSource, VibeMediaCardOptions, VibeReelAutoAdvanceState, VibeReelInfoSheetOptions, VibeReelOrigin, VibeState } from '../types';
1
+ import type { VibeCardRegion, VibeFeedFooter, VibeFeedFooterActions, VibeItem, VibeItemId, VibeMediaSource, VibeMediaCardOptions, VibeReelAutoAdvanceState, VibeReelForwardState, VibeReelInfoSheetOptions, VibeReelOrigin, VibeState } from '../types';
2
2
  import type { MediaPreviewState } from './mediaPreview';
3
3
  export interface FeedRendererProps {
4
4
  canRetryEnd: boolean;
@@ -29,8 +29,11 @@ export interface ReelFeedProps extends FeedRendererProps {
29
29
  initialPostId?: VibeItemId | null;
30
30
  mediaSource?: VibeMediaSource;
31
31
  reelAutoAdvance: VibeReelAutoAdvanceState;
32
+ reelForward?: VibeReelForwardState;
32
33
  }
33
34
  export interface ReelLayoutProps extends ReelFeedProps {
35
+ forwardIndex?: number | null;
36
+ forwardItem?: VibeItem | null;
34
37
  infoSheet?: VibeReelInfoSheetOptions;
35
38
  infoSheetEnabled: boolean;
36
39
  infoSheetOverlay: boolean;
@@ -2,7 +2,8 @@ import type { VibeRuntimeState } from './runtime';
2
2
  import type { VibeItemId, VibeItemPlacement, VibeRemoval } from '../types';
3
3
  interface ItemRemovalControllerOptions {
4
4
  historyLimit?: number;
5
- onItemsRemoved: (placements: readonly VibeItemPlacement[], activeIndex: number) => void;
5
+ onItemsRemoved: (removal: VibeRemoval, placements: readonly VibeItemPlacement[], activeIndex: number) => void;
6
+ onRemovalRestored: (removal: VibeRemoval) => void;
6
7
  startRemoval: (postIds: readonly VibeItemId[]) => number;
7
8
  state: VibeRuntimeState;
8
9
  }
@@ -0,0 +1,24 @@
1
+ import type { VibeRuntimeState } from './runtime';
2
+ import type { VibeItem, VibeItemId } from '../types';
3
+ interface ReelForwardControllerOptions {
4
+ loadNext: () => Promise<void>;
5
+ onActivate: (postId: VibeItemId) => void;
6
+ retryEnd: () => Promise<void>;
7
+ state: VibeRuntimeState;
8
+ }
9
+ export declare class ReelForwardController {
10
+ private readonly options;
11
+ private forward;
12
+ private forwardPromise;
13
+ private forwardVersion;
14
+ private readonly state;
15
+ constructor(options: ReelForwardControllerOptions);
16
+ start(token: object, postIndex: number, item: VibeItem): void;
17
+ cancel(token: object): VibeItem | null;
18
+ reset(): void;
19
+ retry(): Promise<void>;
20
+ private clearState;
21
+ private startForwardRequest;
22
+ private loadForward;
23
+ }
24
+ export {};
@@ -0,0 +1,20 @@
1
+ import { ExactMediaRemovalController } from './exactMediaRemovalController';
2
+ import { ItemRemovalController } from './itemRemovalController';
3
+ import { ReelForwardController } from './reelForwardController';
4
+ import type { VibeRuntimeState } from './runtime';
5
+ import type { VibeItemId } from '../types';
6
+ interface RemovalControllerOptions {
7
+ historyLimit: number | undefined;
8
+ loadNext: () => Promise<void>;
9
+ onActivate: (postId: VibeItemId) => void;
10
+ retryEnd: () => Promise<void>;
11
+ startRemoval: (postIds: readonly VibeItemId[]) => number;
12
+ state: VibeRuntimeState;
13
+ }
14
+ export interface RemovalControllers {
15
+ exactMediaRemoval: ExactMediaRemovalController;
16
+ itemRemoval: ItemRemovalController;
17
+ reelForward: ReelForwardController;
18
+ }
19
+ export declare function createRemovalControllers(options: RemovalControllerOptions): RemovalControllers;
20
+ export {};
@@ -1,4 +1,4 @@
1
- import type { VibeAutoScrollState, VibeAutofillState, VibeCursor, VibeFillState, VibeItem, VibeItemId, VibeLayout, VibeReelAutoAdvanceState, VibeReelInfoSheetState, VibeState } from '../types';
1
+ import type { VibeAutoScrollState, VibeAutofillState, VibeCursor, VibeFillState, VibeItem, VibeItemId, VibeLayout, VibeReelAutoAdvanceState, VibeReelForwardState, VibeReelInfoSheetState, VibeState } from '../types';
2
2
  export interface VibeRuntimeState {
3
3
  activeReelPostId: VibeItemId | null;
4
4
  autoScroll: VibeAutoScrollState;
@@ -11,9 +11,13 @@ export interface VibeRuntimeState {
11
11
  items: VibeItem[];
12
12
  layout: VibeLayout;
13
13
  loadMoreLocked: boolean;
14
+ mediaIndices: Map<VibeItemId, number>;
14
15
  next: VibeCursor;
15
16
  nextPageError: unknown | null;
16
17
  reelAutoAdvance: VibeReelAutoAdvanceState;
18
+ reelForward: VibeReelForwardState;
19
+ reelForwardIndex: number | null;
20
+ reelForwardItem: VibeItem | null;
17
21
  reelInfoSheet: VibeReelInfoSheetState;
18
22
  reelInfoSheetOverlay: boolean;
19
23
  reelMediaSource: 'original' | 'preview';