@upv/react-ui-core
Version:
**USHI Design System — Modern UI Component Library**
37 lines (36 loc) • 1.25 kB
TypeScript
import React from 'react';
export interface ReactionOption {
icon: React.ReactNode;
value: string;
}
export interface EliMediaPlayerProps extends React.VideoHTMLAttributes<HTMLVideoElement> {
mediaName: string;
baseUrl: string;
videoExt?: 'mp4' | 'webm' | 'm3u8';
thumbnailExt?: 'jpg' | 'png' | 'webp';
enableFullscreen?: boolean;
forceWatchSpeed?: number;
disableSeek?: boolean;
hideNativeControls?: boolean;
autoHideControls?: boolean;
onMilestoneProgress?: (percent: number) => void;
onVideoComplete?: () => void;
onAnalyticsEvent?: (event: string, data?: any) => void;
onWatchTimeUpdate?: (secondsWatched: number, percent: number) => void;
reactions?: ReactionOption[];
autoPlay?: boolean;
loop?: boolean;
muted?: boolean;
playsInline?: boolean;
forceMobile?: boolean;
showXPNotifications?: boolean;
showProgressOverlay?: boolean;
allowOverflow?: boolean;
}
export interface EliMediaPlayerHandle {
play: () => void;
pause: () => void;
seekTo: (seconds: number) => void;
getDuration?: () => number;
}
export declare const EliMediaPlayer: React.ForwardRefExoticComponent<EliMediaPlayerProps & React.RefAttributes<EliMediaPlayerHandle>>;