UNPKG

@smoovy/tween

Version:
39 lines (38 loc) 1.29 kB
import { TweenController, TweenControllerConfig } from './controller'; import { TweenProps } from './props'; export interface TweenConfig<V extends (TweenProps | object)> extends TweenControllerConfig { from: V | HTMLElement; to: Partial<V>; key?: any; target?: V | HTMLElement; recover?: boolean; units?: Record<string, string>; mutate?: boolean; overwrite?: boolean; seekUpdate?: boolean; onOverwrite?: () => void; onUpdate?: (values: V, state: { target: Tween<V>; linear: number; eased: number; }) => void; } export type SimpleTweenConfig<V extends (TweenProps | object)> = Omit<TweenConfig<V>, 'from' | 'to'>; /** @todo improve typing (prevent any) */ export declare class Tween<T extends (TweenProps | object) = TweenProps> extends TweenController<TweenConfig<T>> { protected config: TweenConfig<T>; private static registry; private registry; private originState; private changedState; private resultState; private domTarget?; constructor(config: TweenConfig<T>); get key(): any; protected updateRegistry(): void; protected beforeStop(): void; protected beforeSeek(): void; private overwrite; update(): this; process(eased: number, linear: number): this; }