@wyxos/vibe 3.1.35 → 4.0.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.
Files changed (104) hide show
  1. package/README.md +531 -309
  2. package/lib/components/CardRegion.vue.d.ts +15 -0
  3. package/lib/components/GalleryFooter.vue.d.ts +17 -0
  4. package/lib/components/GalleryScrollbar.vue.d.ts +9 -0
  5. package/lib/components/MasonryFeed.vue.d.ts +24 -0
  6. package/lib/components/MediaCard.vue.d.ts +35 -0
  7. package/lib/components/MediaControls.vue.d.ts +22 -0
  8. package/lib/components/ReelAutoAdvanceProgress.vue.d.ts +11 -0
  9. package/lib/components/ReelFeed.vue.d.ts +28 -0
  10. package/lib/components/ReelLayout.vue.d.ts +28 -0
  11. package/lib/components/VibeSurface.vue.d.ts +35 -0
  12. package/lib/core/autoScroll.d.ts +26 -0
  13. package/lib/core/autofill.d.ts +35 -0
  14. package/lib/core/backendAutofill.d.ts +5 -0
  15. package/lib/core/backendFill.d.ts +5 -0
  16. package/lib/core/createVibe.d.ts +2 -0
  17. package/lib/core/feed.d.ts +40 -0
  18. package/lib/core/fill.d.ts +29 -0
  19. package/lib/core/fillController.d.ts +28 -0
  20. package/lib/core/initialAutofill.d.ts +12 -0
  21. package/lib/core/initialRuntimeState.d.ts +3 -0
  22. package/lib/core/masonry.d.ts +37 -0
  23. package/lib/core/mediaAsset.d.ts +5 -0
  24. package/lib/core/mediaPreview.d.ts +3 -0
  25. package/lib/core/mediaType.d.ts +1 -0
  26. package/lib/core/options.d.ts +3 -0
  27. package/lib/core/page.d.ts +3 -0
  28. package/lib/core/reelAutoAdvance.d.ts +5 -0
  29. package/lib/core/reelInfoSheet.d.ts +3 -0
  30. package/lib/core/requestDelay.d.ts +24 -0
  31. package/lib/core/responsiveLayout.d.ts +13 -0
  32. package/lib/core/runtime.d.ts +23 -0
  33. package/lib/core/scrollbar.d.ts +15 -0
  34. package/lib/core/vibeRouting.d.ts +11 -0
  35. package/lib/index.cjs +1 -1
  36. package/lib/index.d.ts +3 -73
  37. package/lib/index.js +2587 -4959
  38. package/lib/style.css +1 -2
  39. package/lib/types.d.ts +323 -0
  40. package/package.json +13 -7
  41. package/lib/components/FullscreenFooter.vue.d.ts +0 -22
  42. package/lib/components/FullscreenForwardFillPlaceholder.vue.d.ts +0 -29
  43. package/lib/components/FullscreenHeader.vue.d.ts +0 -25
  44. package/lib/components/FullscreenMediaBar.vue.d.ts +0 -26
  45. package/lib/components/FullscreenSurface.vue.d.ts +0 -83
  46. package/lib/components/Layout.vue.d.ts +0 -48
  47. package/lib/components/ListCard.vue.d.ts +0 -44
  48. package/lib/components/ListSurface.vue.d.ts +0 -87
  49. package/lib/components/SurfaceEmptyState.vue.d.ts +0 -21
  50. package/lib/components/viewer-core/assetErrors.d.ts +0 -30
  51. package/lib/components/viewer-core/assetState.d.ts +0 -14
  52. package/lib/components/viewer-core/autoBuckets.d.ts +0 -24
  53. package/lib/components/viewer-core/autoResolveBucketFactory.d.ts +0 -15
  54. package/lib/components/viewer-core/autoResolveCursors.d.ts +0 -15
  55. package/lib/components/viewer-core/autoResolveFillUntil.d.ts +0 -47
  56. package/lib/components/viewer-core/autoResolveHelpers.d.ts +0 -20
  57. package/lib/components/viewer-core/autoResolveLoading.d.ts +0 -44
  58. package/lib/components/viewer-core/autoResolveState.d.ts +0 -72
  59. package/lib/components/viewer-core/dom.d.ts +0 -2
  60. package/lib/components/viewer-core/dominantImageTone.d.ts +0 -6
  61. package/lib/components/viewer-core/emptyVisiblePrefetch.d.ts +0 -18
  62. package/lib/components/viewer-core/fillDelay.d.ts +0 -10
  63. package/lib/components/viewer-core/fillProgress.d.ts +0 -12
  64. package/lib/components/viewer-core/format.d.ts +0 -1
  65. package/lib/components/viewer-core/fullscreenPreviews.d.ts +0 -8
  66. package/lib/components/viewer-core/itemIdentity.d.ts +0 -6
  67. package/lib/components/viewer-core/listCardAsset.d.ts +0 -4
  68. package/lib/components/viewer-core/listPreview.d.ts +0 -10
  69. package/lib/components/viewer-core/loadError.d.ts +0 -5
  70. package/lib/components/viewer-core/masonryBoundaryLock.d.ts +0 -5
  71. package/lib/components/viewer-core/masonryItemMutation.d.ts +0 -35
  72. package/lib/components/viewer-core/masonryLayout.d.ts +0 -64
  73. package/lib/components/viewer-core/masonryLayoutState.d.ts +0 -22
  74. package/lib/components/viewer-core/masonryPendingAppend.d.ts +0 -19
  75. package/lib/components/viewer-core/masonryScrollBehavior.d.ts +0 -37
  76. package/lib/components/viewer-core/masonryViewport.d.ts +0 -7
  77. package/lib/components/viewer-core/media.d.ts +0 -4
  78. package/lib/components/viewer-core/mediaPlayback.d.ts +0 -1
  79. package/lib/components/viewer-core/nativeVideoFullscreen.d.ts +0 -2
  80. package/lib/components/viewer-core/removalState.d.ts +0 -71
  81. package/lib/components/viewer-core/slotContent.d.ts +0 -2
  82. package/lib/components/viewer-core/surfaceSlots.d.ts +0 -33
  83. package/lib/components/viewer-core/surfaceStatus.d.ts +0 -18
  84. package/lib/components/viewer-core/theme.d.ts +0 -3
  85. package/lib/components/viewer-core/useActivation.d.ts +0 -8
  86. package/lib/components/viewer-core/useAssetLoadQueue.d.ts +0 -17
  87. package/lib/components/viewer-core/useAutoResolveSource.d.ts +0 -68
  88. package/lib/components/viewer-core/useController.d.ts +0 -98
  89. package/lib/components/viewer-core/useDataSource.d.ts +0 -99
  90. package/lib/components/viewer-core/useEdgeBoundary.d.ts +0 -18
  91. package/lib/components/viewer-core/useFullscreen.d.ts +0 -1
  92. package/lib/components/viewer-core/useFullscreenAssetEvents.d.ts +0 -24
  93. package/lib/components/viewer-core/useFullscreenDominantTone.d.ts +0 -12
  94. package/lib/components/viewer-core/useFullscreenPreloadController.d.ts +0 -18
  95. package/lib/components/viewer-core/useFullscreenSurfaceMedia.d.ts +0 -32
  96. package/lib/components/viewer-core/useListCardHealthCheck.d.ts +0 -20
  97. package/lib/components/viewer-core/useMasonryList.d.ts +0 -85
  98. package/lib/components/viewer-core/useMasonryMotion.d.ts +0 -76
  99. package/lib/components/viewer-core/useMedia.d.ts +0 -44
  100. package/lib/components/viewer-core/useSurfaceEmptyState.d.ts +0 -15
  101. package/lib/components/viewer-core/useVideoFullscreen.d.ts +0 -9
  102. package/lib/components/viewer-core/useViewer.d.ts +0 -78
  103. package/lib/components/viewer-core/virtualization.d.ts +0 -18
  104. package/lib/components/viewer.d.ts +0 -23
@@ -1,83 +0,0 @@
1
- import type { Component } from 'vue';
2
- import type { VibeViewerItem } from './viewer';
3
- import type { VibeAssetErrorReporter, VibeAssetLoadReporter } from './viewer-core/assetErrors';
4
- import type { VibeEmptyStateMode, VibeEmptyStateSlotProps, VibeFullscreenStatusSlotProps, VibeSurfaceSlotProps } from './viewer-core/surfaceSlots';
5
- import type { VibeFillMode, VibeLoadPhase } from './viewer-core/useViewer';
6
- import './viewer-core/fullscreenMediaBar.css';
7
- interface FullscreenSurfaceProps {
8
- active?: boolean;
9
- activeIndex?: number;
10
- emptyStateMode?: VibeEmptyStateMode;
11
- errorMessage?: string | null;
12
- fillCollectedCount?: number | null;
13
- fillCompletedCalls?: number | null;
14
- fillLoadedCount?: number | null;
15
- fillMode?: VibeFillMode | null;
16
- fillProgress?: number | null;
17
- fillTargetCalls?: number | null;
18
- fillTargetCount?: number | null;
19
- fillTotalCount?: number | null;
20
- hasNextPage?: boolean;
21
- items: VibeViewerItem[];
22
- loading?: boolean;
23
- loopFullscreenVideo?: boolean;
24
- paginationDetail?: string | null;
25
- phase?: VibeLoadPhase | null;
26
- reportAssetError?: VibeAssetErrorReporter | null;
27
- reportAssetLoad?: VibeAssetLoadReporter | null;
28
- showDominantImageTone?: boolean;
29
- showBackToList?: boolean;
30
- showEndBadge?: boolean;
31
- showStatusBadges?: boolean;
32
- }
33
- type __VLS_Slots = {
34
- 'empty-state'?: (props: VibeEmptyStateSlotProps) => unknown;
35
- 'fullscreen-aside'?: (props: VibeSurfaceSlotProps) => unknown;
36
- 'fullscreen-footer'?: (props: VibeSurfaceSlotProps) => unknown;
37
- 'fullscreen-header-actions'?: (props: VibeSurfaceSlotProps) => unknown;
38
- 'fullscreen-overlay'?: (props: VibeSurfaceSlotProps) => unknown;
39
- 'fullscreen-status'?: (props: VibeFullscreenStatusSlotProps) => unknown;
40
- 'item-icon'?: (props: {
41
- icon: Component;
42
- item: VibeViewerItem;
43
- }) => unknown;
44
- };
45
- declare const __VLS_base: import("vue").DefineComponent<FullscreenSurfaceProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
46
- "update:activeIndex": (value: number) => any;
47
- "back-to-list": () => any;
48
- }, string, import("vue").PublicProps, Readonly<FullscreenSurfaceProps> & Readonly<{
49
- "onUpdate:activeIndex"?: ((value: number) => any) | undefined;
50
- "onBack-to-list"?: (() => any) | undefined;
51
- }>, {
52
- loading: boolean;
53
- emptyStateMode: VibeEmptyStateMode;
54
- loopFullscreenVideo: boolean;
55
- paginationDetail: string | null;
56
- showDominantImageTone: boolean;
57
- showEndBadge: boolean;
58
- showStatusBadges: boolean;
59
- activeIndex: number;
60
- errorMessage: string | null;
61
- hasNextPage: boolean;
62
- phase: VibeLoadPhase | null;
63
- fillCollectedCount: number | null;
64
- fillCompletedCalls: number | null;
65
- fillLoadedCount: number | null;
66
- fillMode: VibeFillMode | null;
67
- fillProgress: number | null;
68
- fillTargetCalls: number | null;
69
- fillTargetCount: number | null;
70
- fillTotalCount: number | null;
71
- showBackToList: boolean;
72
- active: boolean;
73
- reportAssetError: VibeAssetErrorReporter | null;
74
- reportAssetLoad: VibeAssetLoadReporter | null;
75
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
76
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
77
- declare const _default: typeof __VLS_export;
78
- export default _default;
79
- type __VLS_WithSlots<T, S> = T & {
80
- new (): {
81
- $slots: S;
82
- };
83
- };
@@ -1,48 +0,0 @@
1
- import { type Component } from 'vue';
2
- import type { VibeViewerItem } from './viewer';
3
- import { type VibeAssetErrorEvent, type VibeAssetLoadEvent } from './viewer-core/assetErrors';
4
- import type { VibeEmptyStateSlotProps, VibeFullscreenStatusSlotProps, VibeGridStatusSlotProps, VibeSurfaceSlotProps } from './viewer-core/surfaceSlots';
5
- import type { VibeHandle, VibeProps } from './viewer-core/useViewer';
6
- type __VLS_Slots = {
7
- 'empty-state'?: (props: VibeEmptyStateSlotProps) => unknown;
8
- 'fullscreen-aside'?: (props: VibeSurfaceSlotProps) => unknown;
9
- 'fullscreen-footer'?: (props: VibeSurfaceSlotProps) => unknown;
10
- 'fullscreen-header-actions'?: (props: VibeSurfaceSlotProps) => unknown;
11
- 'fullscreen-overlay'?: (props: VibeSurfaceSlotProps) => unknown;
12
- 'fullscreen-status'?: (props: VibeFullscreenStatusSlotProps) => unknown;
13
- 'grid-footer'?: () => unknown;
14
- 'grid-item-overlay'?: (props: {
15
- active: boolean;
16
- focused: boolean;
17
- hovered: boolean;
18
- index: number;
19
- item: VibeViewerItem;
20
- openFullscreen: () => void;
21
- }) => unknown;
22
- 'grid-status'?: (props: VibeGridStatusSlotProps) => unknown;
23
- 'item-icon'?: (props: {
24
- icon: Component;
25
- item: VibeViewerItem;
26
- }) => unknown;
27
- };
28
- declare const __VLS_base: import("vue").DefineComponent<VibeProps, VibeHandle, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
- "update:activeIndex": (value: number) => any;
30
- "update:surfaceMode": (value: "fullscreen" | "list") => any;
31
- "asset-errors": (errors: VibeAssetErrorEvent[]) => any;
32
- "asset-loads": (loads: VibeAssetLoadEvent[]) => any;
33
- "items-change": (items: VibeViewerItem[]) => any;
34
- }, string, import("vue").PublicProps, Readonly<VibeProps> & Readonly<{
35
- "onUpdate:activeIndex"?: ((value: number) => any) | undefined;
36
- "onUpdate:surfaceMode"?: ((value: "fullscreen" | "list") => any) | undefined;
37
- "onAsset-errors"?: ((errors: VibeAssetErrorEvent[]) => any) | undefined;
38
- "onAsset-loads"?: ((loads: VibeAssetLoadEvent[]) => any) | undefined;
39
- "onItems-change"?: ((items: VibeViewerItem[]) => any) | undefined;
40
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
- declare const _default: typeof __VLS_export;
43
- export default _default;
44
- type __VLS_WithSlots<T, S> = T & {
45
- new (): {
46
- $slots: S;
47
- };
48
- };
@@ -1,44 +0,0 @@
1
- import type { Component } from 'vue';
2
- import type { VibeViewerItem } from './viewer';
3
- import type { VibeAssetErrorReporter, VibeAssetLoadReporter } from './viewer-core/assetErrors';
4
- type __VLS_Props = {
5
- active?: boolean;
6
- index?: number;
7
- item: VibeViewerItem;
8
- reportAssetError?: VibeAssetErrorReporter | null;
9
- reportAssetLoad?: VibeAssetLoadReporter | null;
10
- surfaceActive?: boolean;
11
- };
12
- type __VLS_Slots = {
13
- 'grid-item-overlay'?: (props: {
14
- active: boolean;
15
- focused: boolean;
16
- hovered: boolean;
17
- index: number;
18
- item: VibeViewerItem;
19
- openFullscreen: () => void;
20
- }) => unknown;
21
- 'item-icon'?: (props: {
22
- icon: Component;
23
- item: VibeViewerItem;
24
- }) => unknown;
25
- };
26
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
- open: () => any;
28
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
29
- onOpen?: (() => any) | undefined;
30
- }>, {
31
- index: number;
32
- active: boolean;
33
- reportAssetError: VibeAssetErrorReporter | null;
34
- reportAssetLoad: VibeAssetLoadReporter | null;
35
- surfaceActive: boolean;
36
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
- declare const _default: typeof __VLS_export;
39
- export default _default;
40
- type __VLS_WithSlots<T, S> = T & {
41
- new (): {
42
- $slots: S;
43
- };
44
- };
@@ -1,87 +0,0 @@
1
- import type { Component } from 'vue';
2
- import type { VibeViewerItem } from './viewer';
3
- import type { VibeAssetErrorReporter, VibeAssetLoadReporter } from './viewer-core/assetErrors';
4
- import type { VibeEmptyStateMode, VibeEmptyStateSlotProps, VibeGridStatusSlotProps } from './viewer-core/surfaceSlots';
5
- import type { VibeLoadPhase } from './viewer-core/useViewer';
6
- type __VLS_Props = {
7
- active?: boolean;
8
- activeIndex?: number;
9
- allowExhaustedNextPageRefresh?: boolean;
10
- bottomLoadBufferPx?: number;
11
- commitPendingAppend?: (() => void | Promise<void>) | null;
12
- emptyStateMode?: VibeEmptyStateMode;
13
- errorMessage?: string | null;
14
- hasNextPage?: boolean;
15
- hasPreviousPage?: boolean;
16
- items: VibeViewerItem[];
17
- loading?: boolean;
18
- pendingAppendItems?: VibeViewerItem[];
19
- paginationDetail?: string | null;
20
- phase?: VibeLoadPhase | null;
21
- reportAssetError?: VibeAssetErrorReporter | null;
22
- reportAssetLoad?: VibeAssetLoadReporter | null;
23
- requestNextPage?: (() => void | Promise<void>) | null;
24
- requestPreviousPage?: (() => void | Promise<void>) | null;
25
- showStatusBadges?: boolean;
26
- };
27
- type __VLS_Slots = {
28
- 'empty-state'?: (props: VibeEmptyStateSlotProps) => unknown;
29
- 'grid-footer'?: () => unknown;
30
- 'grid-item-overlay'?: (props: {
31
- active: boolean;
32
- focused: boolean;
33
- hovered: boolean;
34
- index: number;
35
- item: VibeViewerItem;
36
- openFullscreen: () => void;
37
- }) => unknown;
38
- 'grid-status'?: (props: VibeGridStatusSlotProps) => unknown;
39
- 'item-icon'?: (props: {
40
- icon: Component;
41
- item: VibeViewerItem;
42
- }) => unknown;
43
- };
44
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
45
- autoScroll: (speed: number) => void;
46
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
47
- "update:activeIndex": (value: number) => any;
48
- "boundary-load-progress": (value: {
49
- nextBoundaryLoadProgress: number;
50
- previousBoundaryLoadProgress: number;
51
- }) => any;
52
- "open-fullscreen": (index: number) => any;
53
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
54
- "onUpdate:activeIndex"?: ((value: number) => any) | undefined;
55
- "onBoundary-load-progress"?: ((value: {
56
- nextBoundaryLoadProgress: number;
57
- previousBoundaryLoadProgress: number;
58
- }) => any) | undefined;
59
- "onOpen-fullscreen"?: ((index: number) => any) | undefined;
60
- }>, {
61
- loading: boolean;
62
- bottomLoadBufferPx: number;
63
- emptyStateMode: VibeEmptyStateMode;
64
- paginationDetail: string | null;
65
- showStatusBadges: boolean;
66
- activeIndex: number;
67
- errorMessage: string | null;
68
- hasNextPage: boolean;
69
- phase: VibeLoadPhase | null;
70
- hasPreviousPage: boolean;
71
- active: boolean;
72
- reportAssetError: VibeAssetErrorReporter | null;
73
- reportAssetLoad: VibeAssetLoadReporter | null;
74
- allowExhaustedNextPageRefresh: boolean;
75
- commitPendingAppend: (() => void | Promise<void>) | null;
76
- pendingAppendItems: VibeViewerItem[];
77
- requestNextPage: (() => void | Promise<void>) | null;
78
- requestPreviousPage: (() => void | Promise<void>) | null;
79
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
80
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
81
- declare const _default: typeof __VLS_export;
82
- export default _default;
83
- type __VLS_WithSlots<T, S> = T & {
84
- new (): {
85
- $slots: S;
86
- };
87
- };
@@ -1,21 +0,0 @@
1
- import type { VibeEmptyStateSlotProps } from './viewer-core/surfaceSlots';
2
- type __VLS_Props = {
3
- message: string;
4
- mode: VibeEmptyStateSlotProps['mode'];
5
- surface: VibeEmptyStateSlotProps['surface'];
6
- };
7
- declare var __VLS_1: {}, __VLS_3: {};
8
- type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_1) => any;
10
- } & {
11
- default?: (props: typeof __VLS_3) => any;
12
- };
13
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
- declare const _default: typeof __VLS_export;
16
- export default _default;
17
- type __VLS_WithSlots<T, S> = T & {
18
- new (): {
19
- $slots: S;
20
- };
21
- };
@@ -1,30 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- import type { VibeAssetErrorKind } from './loadError';
3
- export type VibeAssetErrorSurface = 'fullscreen' | 'grid';
4
- export type VibeAssetLoadSurface = VibeAssetErrorSurface;
5
- export interface VibeAssetErrorEvent {
6
- item: VibeViewerItem;
7
- occurrenceKey: string;
8
- url: string;
9
- kind: VibeAssetErrorKind;
10
- surface: VibeAssetErrorSurface;
11
- }
12
- export interface VibeAssetLoadEvent {
13
- item: VibeViewerItem;
14
- occurrenceKey: string;
15
- surface: VibeAssetLoadSurface;
16
- url: string;
17
- }
18
- export type VibeAssetErrorReporter = (error: VibeAssetErrorEvent) => void;
19
- export type VibeAssetLoadReporter = (load: VibeAssetLoadEvent) => void;
20
- export declare const DEFAULT_ASSET_ERROR_BATCH_WINDOW_MS = 150;
21
- export declare function createAssetErrorBatchReporter(emitErrors: (errors: VibeAssetErrorEvent[]) => void, batchWindowMs?: number): {
22
- flush: () => void;
23
- report: (entry: VibeAssetErrorEvent) => void;
24
- stop: () => void;
25
- };
26
- export declare function createAssetLoadBatchReporter(emitLoads: (loads: VibeAssetLoadEvent[]) => void, batchWindowMs?: number): {
27
- flush: () => void;
28
- report: (entry: VibeAssetLoadEvent) => void;
29
- stop: () => void;
30
- };
@@ -1,14 +0,0 @@
1
- import type { VibeAssetErrorKind } from './loadError';
2
- export interface MediaUiState {
3
- currentTime: number;
4
- duration: number;
5
- paused: boolean;
6
- ready: boolean;
7
- errorKind: VibeAssetErrorKind | null;
8
- muted: boolean;
9
- volume: number;
10
- }
11
- export declare const DEFAULT_MEDIA_UI_STATE: MediaUiState;
12
- export declare function createMediaUiState(): MediaUiState;
13
- export declare function isImageElementReady(element: HTMLImageElement): boolean;
14
- export declare function syncMediaUiState(state: MediaUiState, media: HTMLMediaElement, eventType?: string): void;
@@ -1,24 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- export interface VibeAutoBucket {
3
- cursor: string | null;
4
- items: VibeViewerItem[];
5
- nextCursor: string | null;
6
- nextCursorExhausted: boolean;
7
- previousCursor: string | null;
8
- }
9
- export declare function flattenVibeBuckets(buckets: VibeAutoBucket[]): VibeViewerItem[];
10
- export declare function filterRemovedItems(items: VibeViewerItem[], removedIds: Set<string>): VibeViewerItem[];
11
- export declare function getVibeBucketVisibleItems(bucket: VibeAutoBucket, removedIds: Set<string>): VibeViewerItem[];
12
- export declare function getVibeBucketVisibleCount(bucket: VibeAutoBucket, removedIds: Set<string>): number;
13
- export declare function getVibeVisibleItemCount(buckets: VibeAutoBucket[], removedIds: Set<string>): number;
14
- export declare function getVibeCursorAtVisibleIndex(buckets: VibeAutoBucket[], removedIds: Set<string>, index: number): string | null;
15
- export declare function replaceVibeBucketAtCursor(buckets: VibeAutoBucket[], cursor: string | null, nextBucket: VibeAutoBucket): VibeAutoBucket[];
16
- export declare function resolveVibeBucketItems(nextItems: VibeViewerItem[], previousItems: VibeViewerItem[], sequence: number): {
17
- items: VibeViewerItem[];
18
- nextSequence: number;
19
- };
20
- export declare function mergeRefreshedVibeBucketItems(nextItems: VibeViewerItem[], previousItems: VibeViewerItem[], sequence: number): {
21
- insertedCount: number;
22
- items: VibeViewerItem[];
23
- nextSequence: number;
24
- };
@@ -1,15 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- import { type VibeAutoBucket } from './autoBuckets';
3
- export interface AutoResolveBucketInput {
4
- cursor: string | null;
5
- nextCursor: string | null;
6
- nextCursorExhausted?: boolean;
7
- nextItems: VibeViewerItem[];
8
- previousCursor: string | null;
9
- previousItems: VibeViewerItem[];
10
- }
11
- export type CreateAutoResolveBucket = (options: AutoResolveBucketInput) => VibeAutoBucket;
12
- export declare function createAutoResolveBucketFactory(options: {
13
- getSequence: () => number;
14
- setSequence: (sequence: number) => void;
15
- }): CreateAutoResolveBucket;
@@ -1,15 +0,0 @@
1
- import { type VibeAutoBucket } from './autoBuckets';
2
- import type { VibeAutoDirection } from './autoResolveHelpers';
3
- export declare function findLeadingBoundaryBucket(buckets: VibeAutoBucket[], removedIds: Set<string>): VibeAutoBucket;
4
- export declare function findTrailingBoundaryBucket(buckets: VibeAutoBucket[], removedIds: Set<string>): VibeAutoBucket;
5
- export declare function getExhaustedNextCursor(bucket: VibeAutoBucket | null): string | null;
6
- export declare function markVibeNextCursorExhausted(buckets: VibeAutoBucket[], originCursor: string | null | undefined, cursor: string | null, exhausted: boolean): VibeAutoBucket[];
7
- export declare function resolveCollectedNextCursor(direction: VibeAutoDirection, cursor: string | null, nextPage: string | null): {
8
- cursor: string | null;
9
- exhausted: boolean;
10
- };
11
- export declare function resolveRefreshedNextCursor(bucket: VibeAutoBucket, nextPage: string | null): {
12
- cursor: string | null;
13
- exhausted: boolean;
14
- };
15
- export declare function trimVibeBucketsToVisibleWindow(buckets: VibeAutoBucket[], removedIds: Set<string>): VibeAutoBucket[];
@@ -1,47 +0,0 @@
1
- import type { Ref } from 'vue';
2
- import type { VibeAutoBucket } from './autoBuckets';
3
- import { type ResolveFn } from './autoResolveHelpers';
4
- import type { CreateAutoResolveBucket } from './autoResolveBucketFactory';
5
- import type { VibeFillMode, VibeLoadPhase } from './removalState';
6
- export declare function createAutoResolveFillUntilController(options: {
7
- autoBuckets: Ref<VibeAutoBucket[]>;
8
- clearActiveResolveController: (controller: AbortController | null) => void;
9
- clearFillDelay: (cancel?: boolean) => void;
10
- createBucket: CreateAutoResolveBucket;
11
- errorMessage: Ref<string | null>;
12
- fillCollectedCount: Ref<number | null>;
13
- fillCompletedCalls: Ref<number>;
14
- fillCursor: Ref<string | null>;
15
- fillLoadedCount: Ref<number>;
16
- fillMode: Ref<VibeFillMode>;
17
- fillProgress: Ref<number | null>;
18
- fillTargetCalls: Ref<number | null>;
19
- fillTargetCount: Ref<number | null>;
20
- fillTotalCount: Ref<number | null>;
21
- finishLoadPhase: () => void;
22
- getHasNextPage: () => boolean;
23
- getFillDelayMs: (fillRequestIndex: number) => number;
24
- getIsLoading: () => boolean;
25
- getIsManualPageLoadingLocked: () => boolean;
26
- getLoadedItemCount: () => number;
27
- getNextCursor: () => string | null;
28
- getOperationIsCurrent: (operationId: number) => boolean;
29
- getPageSize: () => number;
30
- getResolve: () => ResolveFn | undefined;
31
- getTrailingBoundaryBucket: () => VibeAutoBucket | null;
32
- getVisibleItemCount: () => number;
33
- inFlightCursors: Set<string>;
34
- isAwaitingAppendCommit: Ref<boolean>;
35
- isFillUntilActive: Ref<boolean>;
36
- nextOperationId: () => number;
37
- operationPhase: Ref<VibeLoadPhase>;
38
- pendingAppendBuckets: Ref<VibeAutoBucket[]>;
39
- refreshTrailingBoundaryBeforeEnd: () => Promise<void>;
40
- setActiveResolveController: (controller: AbortController | null) => void;
41
- setLastLoadAttempt: (attempt: () => Promise<void>) => void;
42
- waitFillDelay: (delayMs: number) => Promise<void>;
43
- }): {
44
- cancel: () => void;
45
- fillUntil: (cursorOrCount: number | string) => Promise<void>;
46
- fillUntilEnd: () => Promise<void>;
47
- };
@@ -1,20 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- import type { VibeLoadPhase } from './removalState';
3
- export declare const DEFAULT_PAGE_SIZE = 25;
4
- export declare const PREFETCH_OFFSET = 3;
5
- export declare const INITIAL_CURSOR_KEY = "__vibe_initial_cursor__";
6
- export type ResolveFn = (params: {
7
- cursor: string | null;
8
- pageSize: number;
9
- signal?: AbortSignal;
10
- }) => Promise<{
11
- items: VibeViewerItem[];
12
- nextPage: string | null;
13
- previousPage?: string | null;
14
- total?: number | null;
15
- }>;
16
- export type VibeAutoDirection = 'backward' | 'forward';
17
- export declare function isActiveLoadPhase(phase: VibeLoadPhase): phase is "filling" | "initializing" | "refreshing" | "loading";
18
- export declare function normalizePageSize(value: number | undefined): number;
19
- export declare function getCursorKey(cursor: string | null): string;
20
- export declare function clamp(value: number, min: number, max: number): number;
@@ -1,44 +0,0 @@
1
- import type { Ref } from 'vue';
2
- import { type VibeAutoBucket } from './autoBuckets';
3
- import type { CreateAutoResolveBucket } from './autoResolveBucketFactory';
4
- import { type ResolveFn, type VibeAutoDirection } from './autoResolveHelpers';
5
- import { type VibeCollectedBuckets } from './autoResolveState';
6
- import type { VibeLoadPhase } from './removalState';
7
- export declare function createAutoResolveLoadingController(options: {
8
- autoBuckets: Ref<VibeAutoBucket[]>;
9
- clearActiveResolveController: (controller: AbortController | null) => void;
10
- clearFillState: () => void;
11
- createBucket: CreateAutoResolveBucket;
12
- errorMessage: Ref<string | null>;
13
- fillCollectedCount: Ref<number | null>;
14
- fillCursor: Ref<string | null>;
15
- fillTargetCount: Ref<number | null>;
16
- finishLoadPhase: () => void;
17
- getActiveOccurrenceKey: () => string | null;
18
- getBoundaryBucket: (edge: 'leading' | 'trailing') => VibeAutoBucket | null | undefined;
19
- getFillDelayMs: (index: number) => number;
20
- getOperationIsCurrent: (operationId: number) => boolean;
21
- getPageSize: () => number;
22
- getResolve: () => ResolveFn | undefined;
23
- getSequence: () => number;
24
- inFlightCursors: Set<string>;
25
- isManualPageLoadingLocked: Ref<boolean>;
26
- nextOperationId: () => number;
27
- operationPhase: Ref<VibeLoadPhase>;
28
- removedIds: Ref<Set<string>>;
29
- setActiveResolveController: (controller: AbortController | null) => void;
30
- setSequence: (sequence: number) => void;
31
- syncActiveIndexAfterVisibilityChange: (anchorOccurrenceKey: string | null) => void;
32
- waitFillDelay: (delayMs: number) => Promise<void>;
33
- }): {
34
- collectBuckets: (request: {
35
- continueUntilFilled: boolean;
36
- cursor: string | null;
37
- direction: VibeAutoDirection;
38
- phase: Extract<VibeLoadPhase, "filling" | "initializing" | "loading">;
39
- }) => Promise<VibeCollectedBuckets | null>;
40
- reloadBoundaryBucket: (edge: "leading" | "trailing") => Promise<{
41
- followCursor: string | null;
42
- itemsInserted: number;
43
- } | null>;
44
- };
@@ -1,72 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- import { type VibeAutoBucket } from './autoBuckets';
3
- import { type VibeAutoDirection } from './autoResolveHelpers';
4
- export interface VibeCollectedBuckets {
5
- buckets: VibeAutoBucket[];
6
- canceled: boolean;
7
- visibleCount: number;
8
- }
9
- export interface VibeInitialAutoState {
10
- activeIndex?: number;
11
- cursor: string | null;
12
- items: VibeViewerItem[];
13
- nextCursor?: string | null;
14
- previousCursor?: string | null;
15
- }
16
- export declare function isAbortError(error: unknown): boolean;
17
- export declare function createAutoResolveBucket(options: {
18
- cursor: string | null;
19
- nextCursor: string | null;
20
- nextCursorExhausted?: boolean;
21
- nextItems: VibeViewerItem[];
22
- previousCursor: string | null;
23
- previousItems: VibeViewerItem[];
24
- sequence: number;
25
- }): {
26
- bucket: {
27
- cursor: string | null;
28
- items: VibeViewerItem[];
29
- nextCursor: string | null;
30
- nextCursorExhausted: boolean;
31
- previousCursor: string | null;
32
- };
33
- nextSequence: number;
34
- };
35
- export declare function refreshAutoResolveBucket(options: {
36
- cursor: string | null;
37
- nextCursor: string | null;
38
- nextCursorExhausted?: boolean;
39
- nextItems: VibeViewerItem[];
40
- previousCursor: string | null;
41
- previousItems: VibeViewerItem[];
42
- sequence: number;
43
- }): {
44
- bucket: {
45
- cursor: string | null;
46
- items: VibeViewerItem[];
47
- nextCursor: string | null;
48
- nextCursorExhausted: boolean;
49
- previousCursor: string | null;
50
- };
51
- insertedCount: number;
52
- nextSequence: number;
53
- };
54
- export declare function finalizeCollectedBuckets(buckets: VibeAutoBucket[], direction: VibeAutoDirection, removedIds: Set<string>, canceled: boolean): VibeCollectedBuckets | null;
55
- export declare function hydrateAutoResolveState(options: {
56
- initialState: VibeInitialAutoState;
57
- removedIds: Set<string>;
58
- sequence: number;
59
- }): {
60
- activeIndex: number;
61
- buckets: {
62
- cursor: string | null;
63
- items: VibeViewerItem[];
64
- nextCursor: string | null;
65
- nextCursorExhausted: boolean;
66
- previousCursor: string | null;
67
- }[];
68
- nextSequence: number;
69
- };
70
- export declare function getActiveOccurrenceKey(items: VibeViewerItem[], activeIndex: number): string | null;
71
- export declare function getSyncedActiveIndex(items: VibeViewerItem[], activeIndex: number, anchorOccurrenceKey?: string | null): number;
72
- export declare function isBoundaryPageUnderfilled(bucket: VibeAutoBucket | null, removedIds: Set<string>, pageSize: number): boolean;
@@ -1,2 +0,0 @@
1
- export declare function isEditableTarget(target: EventTarget | null): boolean;
2
- export declare function isInteractiveTarget(target: EventTarget | null): boolean;
@@ -1,6 +0,0 @@
1
- export interface DominantImageTone {
2
- r: number;
3
- g: number;
4
- b: number;
5
- }
6
- export declare function extractDominantImageTone(image: HTMLImageElement): DominantImageTone | null;
@@ -1,18 +0,0 @@
1
- import { type Ref } from 'vue';
2
- import type { VibeViewerItem } from '../viewer';
3
- import type { VibeAutoBucket } from './autoBuckets';
4
- export interface EmptyVisiblePrefetchOptions {
5
- canRefreshTrailingBoundary: Readonly<Ref<boolean>>;
6
- hasNextPage: Readonly<Ref<boolean>>;
7
- isInitialLoading: () => boolean;
8
- isPageLoadingLocked: Readonly<Ref<boolean>>;
9
- items: Readonly<Ref<VibeViewerItem[]>>;
10
- loading: Readonly<Ref<boolean>>;
11
- prefetchNextPage: () => Promise<void>;
12
- removedIds: Readonly<Ref<Set<string>>>;
13
- trailingBoundaryBucket: Readonly<Ref<VibeAutoBucket | null>>;
14
- }
15
- export declare function createEmptyVisiblePrefetchScheduler(options: EmptyVisiblePrefetchOptions): {
16
- resetRefreshAttempt: () => void;
17
- schedule: () => void;
18
- };
@@ -1,10 +0,0 @@
1
- export declare const DEFAULT_FILL_DELAY_MS = 2000;
2
- export declare const DEFAULT_FILL_DELAY_STEP_MS = 1000;
3
- export declare function getFillDelayMs(fillRequestIndex: number, baseDelayMs?: number, stepDelayMs?: number, maxDelayMs?: number): number;
4
- export declare function normalizeFillDelayMs(value: number | undefined, fallback: number): number;
5
- export declare function normalizeFillDelayMaxMs(value: number | undefined): number | undefined;
6
- export declare function useFillDelayCountdown(): {
7
- clear: (resolvePending?: boolean) => void;
8
- remainingMs: import("vue").Ref<number | null, number | null>;
9
- wait: (delayMs: number) => Promise<void>;
10
- };
@@ -1,12 +0,0 @@
1
- import type { VibeFillMode } from './removalState';
2
- export declare function useFillProgressState(getLoadedItemCount: () => number): {
3
- refs: {
4
- fillCompletedCalls: import("vue").Ref<number, number>;
5
- fillLoadedCount: import("vue").Ref<number, number>;
6
- fillMode: import("vue").Ref<VibeFillMode, VibeFillMode>;
7
- fillProgress: import("vue").Ref<number | null, number | null>;
8
- fillTargetCalls: import("vue").Ref<number | null, number | null>;
9
- fillTotalCount: import("vue").Ref<number | null, number | null>;
10
- };
11
- reset: () => void;
12
- };
@@ -1 +0,0 @@
1
- export declare function formatPlaybackTime(value: number): string;
@@ -1,8 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- import { type VibeListRenderableAsset } from './listPreview';
3
- export interface VibeFullscreenPreviewItem {
4
- asset: VibeListRenderableAsset;
5
- index: number;
6
- item: VibeViewerItem;
7
- }
8
- export declare function getFullscreenNextPreviews(items: VibeViewerItem[], activeIndex: number, maxItems?: number): VibeFullscreenPreviewItem[];
@@ -1,6 +0,0 @@
1
- import type { VibeViewerItem } from '../viewer';
2
- export declare function getVibeOccurrenceKey(item: VibeViewerItem): string;
3
- export declare function reconcileVibeOccurrenceKeys(nextItems: VibeViewerItem[], previousItems: VibeViewerItem[], nextSequence: number): {
4
- items: VibeViewerItem[];
5
- nextSequence: number;
6
- };