/** @packageDocumentation * @module Timeline */ import "./TimelineComponent.scss"; import * as React from "react"; import { PlaybackSettings } from "./interfaces"; /** * [[TimelineMenuItemOption]]: specifies how the app wants the timeline speeds to be installed on the TimelineComponent's ContextMenu * "replace" : use the app-supplied items in place of the standard items * "append" : add the app-supplied items following the standard items * "prefix" : add the app-supplied items before the standard items * * @public */ export declare type TimelineMenuItemOption = "replace" | "append" | "prefix"; /** * [[TimelineMenuItemProps]] specifies playback speed entries in the Timeline's ContextMenu * @public */ export interface TimelineMenuItemProps { /** localized label for menu item */ label: string; /** duration for the entire timeline to play */ timelineDuration: number; } /** * [[TimelineComponentProps]] configure the timeline * @public */ export interface TimelineComponentProps { startDate?: Date; endDate?: Date; totalDuration: number; initialDuration?: number; minimized?: boolean; repeat?: boolean; showDuration?: boolean; onChange?: (duration: number) => void; onPlayPause?: (playing: boolean) => void; onJump?: (forward: boolean) => void; onSettingsChange?: (arg: PlaybackSettings) => void; alwaysMinimized?: boolean; componentId?: string; includeRepeat?: boolean; appMenuItems?: TimelineMenuItemProps[]; appMenuItemOption?: TimelineMenuItemOption; timeZoneOffset?: number; } /** @internal */ interface TimelineComponentState { isSettingsOpen: boolean; isPlaying: boolean; minimized?: boolean; currentDuration: number; totalDuration: number; repeat: boolean; includeRepeat: boolean; } /** * [[TimelineComponent]] is used to playback timeline data * @public */ export declare class TimelineComponent extends React.Component { private _timeLastCycle; private _requestFrame; private _unmounted; private _settings; private _repeatLabel; private _removeListener?; private _standardTimelineMenuItems; constructor(props: TimelineComponentProps); componentWillUnmount(): void; shouldComponentUpdate(nextProps: TimelineComponentProps, nextState: TimelineComponentState): boolean; componentDidUpdate(prevProps: TimelineComponentProps): void; private _handleTimelinePausePlayEvent; private _onBackward; private _onForward; private _onPlay; private _onPause; private _onTimelineChange; private _setDuration; private _updateAnimation; private _play; private _replay; private _displayTime; private _getMilliseconds; private _onTotalDurationChange; private _onSettingsClick; private _onCloseSettings; private _changeRepeatSetting; private _onRepeatChanged; private _currentDate; private _onSetTotalDuration; private _createMenuItemNodes; private _createMenuItemNode; private _renderSettings; render(): JSX.Element; } export {}; //# sourceMappingURL=TimelineComponent.d.ts.map