69 lines
3.5 KiB
TypeScript
69 lines
3.5 KiB
TypeScript
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, RenderCustomControls } 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 showPosterWhenBufferingAndPaused?: 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 renderCustomControls?: RenderCustomControls;
|
|
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;
|
|
readonly audioLatencyHint?: AudioContextLatencyCategory;
|
|
readonly volumePersistenceKey?: string;
|
|
} & 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;
|