UNPKG

@remotion/player

Version:

React component for embedding a Remotion preview into your app

65 lines (64 loc) 3.3 kB
import type { ComponentType } from 'react'; import React from 'react'; import type { CompProps, LogLevel } from 'remotion'; import type { AnyZodObject } from 'zod'; import type { RenderMuteButton } from './MediaVolumeSlider.js'; import type { RenderFullscreenButton, RenderPlayPauseButton } from './PlayerControls.js'; import type { PosterFillMode, RenderLoading, RenderPoster } from './PlayerUI.js'; import type { BrowserMediaControlsBehavior } from './browser-mediasession.js'; import type { PlayerRef } from './player-methods.js'; import type { RenderVolumeSlider } from './render-volume-slider.js'; import type { PropsIfHasProps } from './utils/props-if-has-props.js'; export type ErrorFallback = (info: { error: Error; }) => React.ReactNode; export type PlayerProps<Schema extends AnyZodObject, Props extends Record<string, unknown>> = { readonly durationInFrames: number; readonly compositionWidth: number; readonly compositionHeight: number; readonly fps: number; readonly showVolumeControls?: boolean; readonly controls?: boolean; readonly errorFallback?: ErrorFallback; readonly style?: React.CSSProperties; readonly loop?: boolean; readonly autoPlay?: boolean; readonly allowFullscreen?: boolean; readonly clickToPlay?: boolean; readonly doubleClickToFullscreen?: boolean; readonly spaceKeyToPlayOrPause?: boolean; readonly numberOfSharedAudioTags?: number; readonly playbackRate?: number; readonly renderLoading?: RenderLoading; readonly moveToBeginningWhenEnded?: boolean; readonly className?: string; readonly initialFrame?: number; readonly renderPoster?: RenderPoster; readonly showPosterWhenPaused?: boolean; readonly showPosterWhenEnded?: boolean; readonly showPosterWhenUnplayed?: boolean; readonly showPosterWhenBuffering?: boolean; readonly inFrame?: number | null; readonly outFrame?: number | null; readonly initiallyShowControls?: number | boolean; readonly renderPlayPauseButton?: RenderPlayPauseButton; readonly renderFullscreenButton?: RenderFullscreenButton; readonly renderMuteButton?: RenderMuteButton; readonly renderVolumeSlider?: RenderVolumeSlider; readonly alwaysShowControls?: boolean; readonly schema?: Schema; readonly initiallyMuted?: boolean; readonly showPlaybackRateControl?: boolean | number[]; readonly posterFillMode?: PosterFillMode; readonly bufferStateDelayInMilliseconds?: number; readonly hideControlsWhenPointerDoesntMove?: boolean | number; readonly overflowVisible?: boolean; readonly browserMediaControlsBehavior?: BrowserMediaControlsBehavior; readonly overrideInternalClassName?: string; readonly logLevel?: LogLevel; readonly noSuspense?: boolean; readonly acknowledgeRemotionLicense?: boolean; } & CompProps<Props> & PropsIfHasProps<Schema, Props>; export type PlayerPropsWithoutZod<Props extends Record<string, unknown>> = PlayerProps<AnyZodObject, Props>; export declare const componentOrNullIfLazy: <Props>(props: CompProps<Props>) => ComponentType<Props> | null; export declare const Player: <Schema extends AnyZodObject, Props extends Record<string, unknown>>(props: PlayerProps<Schema, Props> & React.RefAttributes<PlayerRef>) => React.ReactElement | null;