@wulperstudio/cms
Version:
Wulper Studio Library Components CMS
56 lines (55 loc) • 1.96 kB
TypeScript
import React, { ComponentType, CSSProperties, ReactElement, ReactNode } from 'react';
import { IconifyIcon } from '@iconify/react';
import ReactPlayer, { ReactPlayerProps } from 'react-player';
import { BoxProps } from '@mui/material';
export interface BlockVideoProgressModel {
url?: ReactPlayerProps['url'];
playing?: boolean;
loop?: boolean;
controls?: boolean;
volume?: number;
muted?: boolean;
playbackRate?: number;
width?: string | number;
height?: string | number;
style?: CSSProperties;
progressInterval?: number;
playsinline?: boolean;
playIcon?: ReactElement;
previewTabIndex?: number | null;
pip?: boolean;
stopOnUnmount?: boolean;
light?: boolean | string | ReactElement;
fallback?: ReactElement;
wrapper?: ComponentType<{
children: ReactNode;
}>;
onReady?: (player: ReactPlayer) => void;
onStart?: () => void;
onPlay?: () => void;
onPause?: () => void;
onBuffer?: () => void;
onBufferEnd?: () => void;
onEnded?: () => void;
onClickPreview?: (event: any) => void;
onEnablePIP?: () => void;
onDisablePIP?: () => void;
onError?: (error: any, data?: any, hlsInstance?: any, hlsGlobal?: any) => void;
onDuration?: (duration: number) => void;
onSeek?: (seconds: number) => void;
onProgress?: ReactPlayerProps['onProgress'];
config?: ReactPlayerProps['config'];
srcVideo: string;
backgroundImage: string;
iconName?: string | IconifyIcon;
containerProps?: BoxProps;
contentProps?: BoxProps;
isProgress?: boolean;
setProgressValue?: (value: number) => void;
children?: ReactNode;
}
interface BlockVideoProgressModelWithRef extends BlockVideoProgressModel {
playerRef?: React.Ref<ReactPlayer>;
}
export declare const BlockVideoProgress: React.ForwardRefExoticComponent<Omit<BlockVideoProgressModelWithRef, "reactPlayerRef"> & React.RefAttributes<ReactPlayer>>;
export {};