UNPKG

playable

Version:

Video player based on HTML5Video

91 lines (80 loc) 2.12 kB
import { IThemeService } from '../../core/theme'; import { ITooltipService } from '../../core/tooltip/types'; import { ITextMap } from '../../../text-map/types'; type IProgressViewStyles = { seekBlock: string; progressBarsWrapper: string; progressBar: string; background: string; buffered: string; seekTo: string; played: string; timeIndicators: string; hitbox: string; syncButton: string; hidden: string; inLive: string; isDragging: string; liveSync: string; }; type IProgressDragEvents = | { mouseDown: 'pointerdown'; mouseMove: 'pointermove'; mouseOut: 'pointerout'; mouseUp: 'pointerup'; } | { mouseDown: 'touchstart'; mouseMove: 'touchmove'; mouseOut: 'mouseout'; mouseUp: 'touchend'; } | { mouseDown: 'mousedown'; mouseMove: 'mousemove'; mouseOut: 'mouseout'; mouseUp: 'mouseup'; }; type IProgressViewCallbacks = { onChangePlayedPercent: (percent: number) => void; onSeekToByMouseStart: (percent: number) => void; onSeekToByMouseEnd: () => void; onSyncWithLiveClick: () => void; onSyncWithLiveMouseEnter: EventListenerOrEventListenerObject; onSyncWithLiveMouseLeave: EventListenerOrEventListenerObject; onDragStart: () => void; onDragEnd: () => void; }; type IProgressViewConfig = { callbacks: IProgressViewCallbacks; textMap: ITextMap; theme: IThemeService; tooltipService: ITooltipService; }; interface IProgressControl { getElement(): HTMLElement; addTimeIndicator(time: number): void; addTimeIndicators(times: number[]): void; clearTimeIndicators(): void; showPreviewOnProgressDrag(): void; seekOnProgressDrag(): void; show(): void; hide(): void; destroy(): void; } interface IProgressControlAPI { addTimeIndicator?(time: number): void; addTimeIndicators?(times: number[]): void; clearTimeIndicators?(): void; showPreviewOnProgressDrag?(): void; seekOnProgressDrag?(): void; } export { IProgressControlAPI, IProgressControl, IProgressViewStyles, IProgressViewCallbacks, IProgressViewConfig, IProgressDragEvents, };