@wyxos/vibe 5.12.0 → 5.13.0

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.
@@ -0,0 +1,17 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ import type { MasonryFeedProps } from '../core/feed';
3
+ import { type MasonryLayout } from '../core/masonry';
4
+ import { type MasonryViewportIndex } from '../core/masonryViewportIndex';
5
+ export declare function useSettledMasonryFeedLayout(options: {
6
+ additionalHeight: ComputedRef<number>;
7
+ gap: Ref<number>;
8
+ items: () => MasonryFeedProps['items'];
9
+ minColumnWidth: ComputedRef<number>;
10
+ packUntilBottom: () => number;
11
+ width: Ref<number>;
12
+ }): {
13
+ ensurePackedThrough(bottom: number): void;
14
+ layout: ComputedRef<MasonryLayout>;
15
+ reservedHeight: () => number;
16
+ viewportIndex: ComputedRef<MasonryViewportIndex>;
17
+ };
@@ -1,2 +1,2 @@
1
1
  import type { CreateVibeOptions, VibeInstance } from '../types';
2
- export declare function createVibe(options: CreateVibeOptions): VibeInstance;
2
+ export declare const createVibe: (options: CreateVibeOptions) => VibeInstance;
@@ -30,6 +30,10 @@ export interface MasonryVisibilityOptions {
30
30
  scrollTop: number;
31
31
  viewportHeight: number;
32
32
  }
33
+ export interface MasonryPackLimit {
34
+ untilBottom?: number;
35
+ untilIndex?: number;
36
+ }
33
37
  interface MasonryOptions {
34
38
  additionalHeight?: number;
35
39
  gap: number;
@@ -39,4 +43,9 @@ export declare function calculateMasonryEntryOffset(options: MasonryEntryOptions
39
43
  export declare function calculateVisibleMasonryIndices(items: MasonryPosition[], options: MasonryViewportOptions): number[];
40
44
  export declare function calculateFullyVisibleMasonryIndices(items: readonly MasonryPosition[], candidates: readonly number[], options: MasonryVisibilityOptions): number[];
41
45
  export declare function calculateMasonryLayout(media: readonly MasonryMediaDimensions[], containerWidth: number, options: MasonryOptions): MasonryLayout;
46
+ export declare function continueMasonryLayout(media: readonly MasonryMediaDimensions[], containerWidth: number, options: MasonryOptions, previous: MasonryLayout, fromIndex: number, limit?: MasonryPackLimit): MasonryLayout;
47
+ export declare function projectMasonryLayout(media: readonly MasonryMediaDimensions[], containerWidth: number, options: MasonryOptions, settled: MasonryLayout, skip: (index: number) => boolean, untilBottom?: number): MasonryLayout & {
48
+ fromIndex: number;
49
+ retainedIndices: number[];
50
+ };
42
51
  export {};
@@ -12,5 +12,7 @@ export interface MasonryViewportQuery {
12
12
  inspected: number;
13
13
  }
14
14
  export declare function createMasonryViewportIndex(items: readonly MasonryPosition[], sourceIndices?: readonly number[]): MasonryViewportIndex;
15
+ export declare function continueMasonryViewportIndex(items: readonly MasonryPosition[], previous: MasonryViewportIndex, fromIndex: number, sourceIndices?: readonly number[]): MasonryViewportIndex;
16
+ export declare function projectMasonryViewportIndex(items: readonly MasonryPosition[], retainedIndices: readonly number[], previous: MasonryViewportIndex, fromIndex: number): MasonryViewportIndex;
15
17
  export declare function queryMasonryViewportIndex(index: MasonryViewportIndex, options: MasonryViewportOptions): MasonryViewportQuery;
16
18
  export {};
@@ -2,6 +2,7 @@ import type { VibeRuntimeState } from './runtime';
2
2
  import type { VibeItem, VibeItemId } from '../types';
3
3
  interface ReelForwardControllerOptions {
4
4
  onActivate: (postId: VibeItemId) => void;
5
+ onCloseReel: () => void;
5
6
  replenishAfterRemoval: () => Promise<void>;
6
7
  state: VibeRuntimeState;
7
8
  }
@@ -17,6 +18,7 @@ export declare class ReelForwardController {
17
18
  reset(): void;
18
19
  retry(): Promise<void>;
19
20
  private clearState;
21
+ private stopAtLock;
20
22
  private startForwardRequest;
21
23
  private loadForward;
22
24
  }
@@ -8,6 +8,7 @@ import type { VibeItemId } from '../types';
8
8
  interface RemovalControllerOptions {
9
9
  historyLimit: number | undefined;
10
10
  onActivate: (postId: VibeItemId) => void;
11
+ onCloseReel: () => void;
11
12
  onItemsRemoved: (postIds: readonly VibeItemId[]) => void;
12
13
  onItemsRestored: (postIds: readonly VibeItemId[]) => void;
13
14
  replenishAfterRemoval: () => Promise<void>;