@wyxos/vibe 5.9.0 → 5.10.1

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.
@@ -1,8 +1,9 @@
1
- import type { VibeLayout } from '../types';
1
+ import type { VibeLayout, VibeMediaType } from '../types';
2
2
  type __VLS_Props = {
3
3
  currentTime: number;
4
4
  duration: number;
5
5
  layout: VibeLayout;
6
+ mediaType: Extract<VibeMediaType, 'audio' | 'video'>;
6
7
  muted: boolean;
7
8
  playing: boolean;
8
9
  volume: number;
@@ -6,12 +6,12 @@ interface MediaCardAudioOptions {
6
6
  mediaCard: () => VibeMediaCardOptions | undefined;
7
7
  onChange: (state: VibeReelAudioState) => void;
8
8
  reelAudioState: () => VibeReelAudioState | undefined;
9
- videoElement: Ref<HTMLVideoElement | null>;
9
+ mediaElement: Ref<HTMLMediaElement | null>;
10
10
  }
11
11
  export declare function useMediaCardAudio(options: MediaCardAudioOptions): {
12
12
  apply: () => void;
13
13
  setVolume: (volume: number) => void;
14
- sync: (video: HTMLVideoElement, syncMuted: boolean) => void;
14
+ sync: (media: HTMLMediaElement, syncMuted: boolean) => void;
15
15
  toggleMute: () => void;
16
16
  videoIsMuted: import("vue").ShallowRef<boolean, boolean>;
17
17
  videoVolume: import("vue").ShallowRef<number, number>;
@@ -0,0 +1,15 @@
1
+ import type { VibeItem, VibeLayout } from '../types';
2
+ interface MediaCarouselNavigationOptions {
3
+ item: () => VibeItem;
4
+ layout: () => VibeLayout;
5
+ mediaIndex: () => number;
6
+ onChange: (mediaIndex: number) => void;
7
+ }
8
+ export declare function useMediaCarouselNavigation(options: MediaCarouselNavigationOptions): {
9
+ change: (index: number, event?: MouseEvent) => void;
10
+ direction: import("vue").ShallowRef<"next" | "previous", "next" | "previous">;
11
+ onTouchEnd: (event: TouchEvent) => void;
12
+ onTouchStart: (event: TouchEvent) => void;
13
+ onWheel: (event: WheelEvent) => void;
14
+ };
15
+ export {};
@@ -6,11 +6,11 @@ interface MediaLoadingOptions {
6
6
  layout: () => VibeLayout;
7
7
  mediaSource: () => string;
8
8
  mediaType: () => VibeMediaType | undefined;
9
- videoElement: ShallowRef<HTMLVideoElement | null>;
9
+ mediaElement: ShallowRef<HTMLMediaElement | null>;
10
10
  }
11
11
  export declare function useMediaLoading(options: MediaLoadingOptions): {
12
12
  imageLoading: import("vue").ComputedRef<"lazy" | "eager">;
13
13
  mediaIsTimed: import("vue").ComputedRef<boolean>;
14
- videoPreload: import("vue").ComputedRef<"none" | "metadata" | "auto">;
14
+ timedMediaPreload: import("vue").ComputedRef<"none" | "metadata" | "auto">;
15
15
  };
16
16
  export {};
@@ -15,6 +15,6 @@ export declare function useMediaReadiness(options: MediaReadinessOptions): {
15
15
  retrySource: () => void;
16
16
  retrying: import("vue").ShallowRef<boolean, boolean>;
17
17
  sourceGeneration: import("vue").ShallowRef<number, number>;
18
- videoElement: import("vue").ShallowRef<HTMLVideoElement | null, HTMLVideoElement | null>;
18
+ mediaElement: import("vue").ShallowRef<HTMLMediaElement | null, HTMLMediaElement | null>;
19
19
  };
20
20
  export {};
@@ -1,13 +1,13 @@
1
1
  import { type Ref } from 'vue';
2
2
  import type { VibeLayout } from '../types';
3
- interface ReelVideoActivityOptions {
3
+ interface ReelTimedMediaActivityOptions {
4
4
  active: () => boolean | undefined;
5
5
  layout: () => VibeLayout;
6
- videoElement: Ref<HTMLVideoElement | null>;
7
- videoIsMuted: Ref<boolean>;
8
- videoIsPlaying: Ref<boolean>;
6
+ mediaElement: Ref<HTMLMediaElement | null>;
7
+ mediaIsMuted: Ref<boolean>;
8
+ mediaIsPlaying: Ref<boolean>;
9
9
  }
10
- export declare function useReelVideoActivity(options: ReelVideoActivityOptions): {
10
+ export declare function useReelTimedMediaActivity(options: ReelTimedMediaActivityOptions): {
11
11
  effectiveMuted: import("vue").ComputedRef<boolean>;
12
12
  onPlaying: () => void;
13
13
  playbackAllowed: import("vue").ComputedRef<boolean>;
@@ -0,0 +1,30 @@
1
+ import { type Ref } from 'vue';
2
+ import type { VibeLayout, VibeMediaCardOptions, VibeReelAudioState } from '../types';
3
+ interface TimedMediaCardOptions {
4
+ active: () => boolean | undefined;
5
+ layout: () => VibeLayout;
6
+ mediaCard: () => VibeMediaCardOptions | undefined;
7
+ mediaElement: Ref<HTMLMediaElement | null>;
8
+ onAudioChange: (state: VibeReelAudioState) => void;
9
+ onEnded: () => void;
10
+ onReady: (event: Event) => void;
11
+ reelAudioState: () => VibeReelAudioState | undefined;
12
+ }
13
+ export declare function useTimedMediaCard(options: TimedMediaCardOptions): {
14
+ currentTime: import("vue").ShallowRef<number, number>;
15
+ duration: import("vue").ShallowRef<number, number>;
16
+ effectiveMuted: import("vue").ComputedRef<boolean>;
17
+ isMuted: import("vue").ShallowRef<boolean, boolean>;
18
+ isPlaying: import("vue").ShallowRef<boolean, boolean>;
19
+ onEnded: () => void;
20
+ onLoadedMetadata: (event: Event) => void;
21
+ onPlaying: () => void;
22
+ playbackAllowed: import("vue").ComputedRef<boolean>;
23
+ seek: (time: number) => void;
24
+ setVolume: (volume: number) => void;
25
+ sync: (event?: Event) => void;
26
+ toggleMute: () => void;
27
+ togglePlayback: () => Promise<void>;
28
+ volume: import("vue").ShallowRef<number, number>;
29
+ };
30
+ export {};
@@ -1,7 +1,7 @@
1
1
  export interface MasonryMediaDimensions {
2
2
  width: number | null;
3
3
  height: number | null;
4
- preview: {
4
+ preview?: {
5
5
  width: number | null;
6
6
  height: number | null;
7
7
  };
@@ -1,5 +1,7 @@
1
1
  import type { VibeItem, VibeItemId, VibeMediaAsset, VibeMediaSource, VibeMediaVariant } from '../types';
2
2
  export declare function mediaVariantForSource(asset: VibeMediaAsset, source: VibeMediaSource): VibeMediaVariant;
3
+ export declare function audioCoverVariant(asset: VibeMediaAsset): VibeMediaVariant | null;
4
+ export declare function mediaPlaybackVariantForSource(asset: VibeMediaAsset, source: VibeMediaSource): VibeMediaVariant;
3
5
  export declare function mediaAssets(item: VibeItem): readonly VibeMediaAsset[];
4
6
  export declare function clampMediaIndex(item: VibeItem, index: number): number;
5
7
  export declare function mediaAssetAt(item: VibeItem, index: number): VibeMediaAsset;
@@ -1,3 +1,5 @@
1
1
  import type { VibeMediaType } from '../types';
2
+ export declare function inferMediaType(src: string): VibeMediaType;
3
+ export declare function resolveMediaType(type: VibeMediaType | undefined, src: string): VibeMediaType;
2
4
  export declare function isTimedMediaSource(src: string): boolean;
3
5
  export declare function isTimedMedia(type: VibeMediaType | undefined, src: string): boolean;