UNPKG

@smoovy/tween

Version:
52 lines (51 loc) 2.34 kB
import { TweenController, TweenControllerConfig } from './controller'; import { DOMTweenProps } from './props'; import { SimpleTweenConfig } from './tween'; export interface TimelineConfig extends Omit<TweenControllerConfig, 'duration' | 'initSeek'> { items?: Partial<TimelineItem>[]; } export interface TimelineItemConfig { offset?: number; } export interface TimlineSideEffect { callback: () => void; item?: TimelineItem; config: TimelineItemConfig; called: boolean; } export type TimelineDynamicController = () => TweenController; export interface TimelineItem { controller?: TweenController; dynamic?: TimelineDynamicController; config: TimelineItemConfig; } export declare class Timeline extends TweenController<TimelineConfig> { protected config: TimelineConfig; readonly items: TimelineItem[]; private sideEffects; private timelineReversed; constructor(config: TimelineConfig); call(callback: () => void, config?: TimelineItemConfig): this; clear(): this; add(item: TweenController | TweenController[] | TimelineDynamicController, config?: TimelineItemConfig): this; to<V extends DOMTweenProps>(from: HTMLElement, to: Partial<V>, config?: SimpleTweenConfig<V> & TimelineItemConfig): Timeline; to<V extends object>(from: V, to: Partial<V>, config?: SimpleTweenConfig<V> & TimelineItemConfig): Timeline; fromTo<V extends DOMTweenProps>(target: HTMLElement, from: Partial<V>, to: Partial<V>, config?: SimpleTweenConfig<V> & TimelineItemConfig): Timeline; fromTo<V extends object>(target: V, from: Partial<V>, to: Partial<V>, config?: SimpleTweenConfig<V> & TimelineItemConfig): Timeline; remove(controller: TweenController): this; /** @todo make more memory efficient: less arrays more floats */ private updateDuration; revealAllItems(): this; revealItem(item: TimelineItem): TimelineItem & { controller: TweenController; }; isDynamic(): boolean; protected getStartMs(items: TimelineItem[], index: number, noDelay?: boolean): number; private callEffects; seek(ms: number, noDelay?: boolean, noEvents?: boolean, force?: boolean): this; protected beforeStart(): void; reverse(): this; stop(silent?: boolean): this; resetEffects(): void; reset(seek?: number, noEvents?: boolean): this; }