@gobistories/gobi-web-integration
Version:
This library will let you put your Gobi stories on your site.
40 lines (39 loc) • 1.48 kB
TypeScript
import { RefObject } from 'react';
import { Chapter, Story } from '../types/story.types';
import { VideoProgress } from './video-progress';
import { MediaPlayer } from '../components/Player';
export interface VideoContext {
playerRef: RefObject<MediaPlayer>;
story: Story;
play: boolean;
muted: boolean;
ready: boolean;
preloader: boolean;
hasStartedAtLeastOnce: boolean;
loading: boolean;
currentChapter: Chapter;
currentChapterIndex: number;
focused: boolean;
videoProgress: VideoProgress;
setPlay: (data: boolean) => void;
setMuted: (data: boolean) => void;
setFocused: (data: boolean) => void;
setPreloader: (data: boolean) => void;
handleDrift?: (seconds: number) => void;
handleProgress?: (seconds: number) => void;
handleError?: () => void;
handleLinkClicked?: (linkUrl: string) => void;
handlePlay?: () => void;
handlePause?: () => void;
handleStart?: () => void;
handleEnded?: () => void;
handleReady?: (startSeconds?: number) => void;
handleBuffer?: () => void;
handleBufferEnd?: () => void;
goToPreviousChapter: () => void;
goToNextChapter: () => void;
onKeyDown: (event: KeyboardEvent) => void;
}
export declare const VIDEO_DEFAULT_VALUE: VideoContext;
export declare const useVideo: (playerRef: RefObject<MediaPlayer>, story: Story, inlineMode?: boolean) => VideoContext;
export declare const videoContext: import("react").Context<VideoContext>;