blob: f1bfac14f84229d3a2cb55769048f82a8046b775 [file] [log] [blame]
export type AnimationDirection = 1 | -1;
export type AnimationSegment = [number, number];
export type AnimationEventName = 'enterFrame' | 'loopComplete' | 'complete' | 'segmentStart' | 'destroy' | 'config_ready' | 'data_ready' | 'DOMLoaded' | 'error' | 'data_failed' | 'loaded_images';
export type AnimationEventCallback<T = any> = (args: T) => void;
export type AnimationItem = {
play(): void;
stop(): void;
pause(): void;
resize(): void;
setSpeed(speed: number): void;
goToAndPlay(value: number, isFrame?: boolean): void;
goToAndStop(value: number, isFrame?: boolean): void;
setDirection(direction: AnimationDirection): void;
playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag?: boolean): void;
setSubframe(useSubFrames: boolean): void;
destroy(): void;
getDuration(inFrames?: boolean): number;
triggerEvent<T = any>(name: AnimationEventName, args: T): void;
addEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>): void;
removeEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>): void;
}
export type BaseRendererConfig = {
imagePreserveAspectRatio?: string;
className?: string;
};
export type SVGRendererConfig = BaseRendererConfig & {
title?: string;
description?: string;
preserveAspectRatio?: string;
progressiveLoad?: boolean;
hideOnTransparent?: boolean;
viewBoxOnly?: boolean;
viewBoxSize?: string;
focusable?: boolean;
};
export type CanvasRendererConfig = BaseRendererConfig & {
clearCanvas?: boolean;
context?: CanvasRenderingContext2D;
progressiveLoad?: boolean;
preserveAspectRatio?: string;
};
export type HTMLRendererConfig = BaseRendererConfig & {
hideOnTransparent?: boolean;
};
export type AnimationConfig = {
container: Element;
renderer?: 'svg' | 'canvas' | 'html';
loop?: boolean | number;
autoplay?: boolean;
name?: string;
assetsPath?: string;
rendererSettings?: SVGRendererConfig | CanvasRendererConfig | HTMLRendererConfig;
}
export type AnimationConfigWithPath = AnimationConfig & {
path?: string;
}
export type AnimationConfigWithData = AnimationConfig & {
animationData?: any;
}
type LottiePlayer = {
play(name?: string): void;
stop(name?: string): void;
setSpeed(speed: number, name?: string): void;
setDirection(direction: AnimationDirection, name?: string): void;
searchAnimations(animationData?: any, standalone?: boolean, renderer?: string): void;
loadAnimation(params: AnimationConfigWithPath | AnimationConfigWithData): AnimationItem;
destroy(name?: string): void;
registerAnimation(element: Element, animationData?: any): void;
setQuality(quality: string | number): void;
setLocationHref(href: string): void;
};
declare const Lottie: LottiePlayer;
export default Lottie;