@tdb/util
Version:
Shared helpers and utilities.
22 lines (21 loc) • 772 B
TypeScript
import { Observable } from 'rxjs';
export declare type MoveType = 'spring' | 'bounce' | 'forceWithGravity' | 'gravity' | 'easeInOut' | 'easeIn' | 'easeOut' | 'linear' | 'bezier';
export declare type MoveObservable = Observable<MoveTargetProps>;
export declare type MoveTargetProps = {
[key: string]: number | string;
};
export interface IMoveOptions {
type: MoveType;
duration: number;
frequency?: number;
friction?: number;
bounciness?: number;
delay?: number;
anticipationSize?: number;
anticipationStrength?: number;
}
export interface IMoveObservableOptions extends IMoveOptions {
target: MoveTargetProps;
current: () => object;
}
export declare function start(options: IMoveObservableOptions): Observable<MoveTargetProps>;