UNPKG

fleeta-components

Version:

A comprehensive React component library for fleet management applications

103 lines 3.49 kB
/** * VideoPlayer 관련 타입 정의 * VideoPlayer 컴포넌트와 관련된 모든 타입을 정의합니다. */ /** * VideoPlayer props interface * Defines all available props for the VideoPlayer component */ export interface VideoPlayerProps { /** Video source URL */ videoUrl: string | null; /** Enable automatic MP4 metadata parsing */ enableMetadataParsing?: boolean; /** GPS data points for map display */ gpsPoints?: import('./utils/gpsParser').GpsPoint[] | null; /** Sensor data for G-force visualization */ sensorData?: import('./utils/sensorParser').IAccel[] | null; /** Initial horizontal flip state */ initialHorizontalFlip?: boolean; /** Initial vertical flip state */ initialVerticalFlip?: boolean; /** Auto-play video on load */ autoPlay?: boolean; /** Show video controls */ showControls?: boolean; /** Additional CSS classes */ className?: string; /** Called when video time updates */ onTimeUpdate?: (currentTime: number) => void; /** Called when video duration changes */ onDurationChange?: (duration: number) => void; /** Called when video starts playing */ onPlay?: () => void; /** Called when video pauses */ onPause?: () => void; /** Called when video ends */ onEnded?: () => void; /** Called when video error occurs */ onError?: (error: string) => void; /** Called when download button is clicked */ onDownload?: () => void; /** Filename for downloaded video */ downloadFileName?: string; /** External loading state */ loading?: boolean; /** Loading message to display */ loadingMessage?: string; /** Show map component */ showMap?: boolean; /** Initial map position */ mapPosition?: { lat: number; lng: number; } | null; /** Map container height */ mapHeight?: string; /** Show G-sensor event component */ showEventComponent?: boolean; /** Map style to use */ mapStyle?: keyof typeof import('./hooks/useMapStyle').MAP_STYLES; /** Speed unit for display */ speedUnit?: 'km/h' | 'mph'; } /** * VideoPlayer state interface * 비디오 플레이어의 내부 상태를 정의합니다. */ export interface VideoState { playing: boolean; muted: boolean; volume: number; currentTime: number; duration: number; loading: boolean; error: string | null; isHorizontalFlipped: boolean; isVerticalFlipped: boolean; showMap: boolean; showEventComponent: boolean; showControls: boolean; controlsTimer: NodeJS.Timeout | null; autoParsedGpsPoints: import('./utils/gpsParser').GpsPoint[] | null; autoParsedSensorData: import('./utils/sensorParser').IAccel[] | null; parsingInProgress: boolean; } /** * Video control handlers interface * 비디오 컨트롤 관련 핸들러 함수들의 타입을 정의합니다. */ export interface VideoControlHandlers { handlePlayPause: () => void; handleSeek: (e: React.ChangeEvent<HTMLInputElement>) => void; handleVolumeChange: (e: React.ChangeEvent<HTMLInputElement>) => void; handleMute: () => void; handleFullscreen: () => void; handleFrameStep: (direction: 'forward' | 'backward') => void; handleToggleHorizontalFlip: () => void; handleToggleVerticalFlip: () => void; handleToggleMap: () => void; handleMouseEnter: () => void; handleMouseLeave: () => void; } //# sourceMappingURL=types.d.ts.map