UNPKG

@sberdevices/plasma-temple

Version:

SberDevices CanvasApp Templates.

66 lines 1.87 kB
/// <reference types="react" /> export declare enum ControlType { PLAYBACK = "playback", JUMP_BACK = "jumpBack", JUMP_FORWARD = "jumpForward", BACK = "back", NEXT = "next", TIMELINE = "timeline", HEADER = "header" } export interface PlayerTypeMap { audio: HTMLAudioElement; video: HTMLVideoElement; } export declare type PlayerType = keyof PlayerTypeMap; export interface MediaPlayerPropsMap { audio: React.VideoHTMLAttributes<HTMLAudioElement>; video: React.VideoHTMLAttributes<HTMLVideoElement>; } export interface MediaPlayerState { duration: number; paused: boolean; muted: boolean; currentTime: number; loading: boolean; } export interface MediaPlayerActions { playback: () => void; seekTo: (time: number) => void; jumpTo: (sign: 1 | -1) => void; } export interface CustomMediaPlayerControlsProps<T extends HTMLVideoElement | HTMLAudioElement> { state: MediaPlayerState & { backDisabled?: boolean; nextDisabled?: boolean; finished: boolean; }; actions: MediaPlayerActions & { goBack?: () => void; goNext?: () => void; }; playerRef: React.RefObject<T>; controlsHidden: boolean; } export interface MediaPlayerTimelineProps<T extends PlayerType> { className?: string; playerRef: React.RefObject<PlayerTypeMap[T]>; onTimeUpdate?: (time: number) => void; currentTime?: number; duration?: number; showTick?: boolean; } export interface MediaPlayerControlsProps { playback: () => void; jumpTo: MediaPlayerActions['jumpTo']; goBack?: () => void; goNext?: () => void; paused: boolean; finished: boolean; backDisabled?: boolean; nextDisabled?: boolean; canPlay: boolean; visibleControlList?: ControlType[]; className?: string; } //# sourceMappingURL=types.d.ts.map