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 = {
|
name: string;
|
isLoaded: boolean;
|
currentFrame: number;
|
currentRawFrame: number;
|
firstFrame: number;
|
totalFrames: number;
|
frameRate: number;
|
frameMult: number;
|
playSpeed: number;
|
playDirection: number;
|
playCount: number;
|
isPaused: boolean;
|
autoplay: boolean;
|
loop: boolean | number;
|
renderer: any;
|
animationID: string;
|
assetsPath: string;
|
timeCompleted: number;
|
segmentPos: number;
|
isSubframeEnabled: boolean;
|
segments: AnimationSegment | AnimationSegment[];
|
play(name?: string): void;
|
stop(name?: string): void;
|
togglePause(name?: string): void;
|
destroy(name?: string): void;
|
pause(name?: string): void;
|
goToAndStop(value: number | string, isFrame?: boolean, name?: string): void;
|
goToAndPlay(value: number | string, isFrame?: boolean, name?: string): void;
|
includeLayers(data: any): void;
|
setSegment(init: number, end: number): void;
|
resetSegments(forceFlag: boolean): void;
|
hide(): void;
|
show(): void;
|
resize(): void;
|
setSpeed(speed: number): void;
|
setDirection(direction: AnimationDirection): void;
|
playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag?: boolean): void;
|
setSubframe(useSubFrames: boolean): 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;
|
filterSize?: FilterSizeConfig;
|
};
|
|
export type CanvasRendererConfig = BaseRendererConfig & {
|
clearCanvas?: boolean;
|
context?: CanvasRenderingContext2D;
|
progressiveLoad?: boolean;
|
preserveAspectRatio?: string;
|
};
|
|
export type HTMLRendererConfig = BaseRendererConfig & {
|
hideOnTransparent?: boolean;
|
};
|
|
export type RendererType = 'svg' | 'canvas' | 'html';
|
|
export type AnimationConfig<T extends RendererType = 'svg'> = {
|
container: Element;
|
renderer?: T;
|
loop?: boolean | number;
|
autoplay?: boolean;
|
initialSegment?: AnimationSegment;
|
name?: string;
|
assetsPath?: string;
|
rendererSettings?: {
|
svg: SVGRendererConfig;
|
canvas: CanvasRendererConfig;
|
html: HTMLRendererConfig;
|
}[T]
|
audioFactory?(assetPath: string): {
|
play(): void
|
seek(): void
|
playing(): void
|
rate(): void
|
setVolume(): void
|
}
|
}
|
|
export type TextDocumentData = {
|
t?: string;
|
s?: number;
|
f?: string;
|
ca?: number;
|
j?: number;
|
tr?: number;
|
lh?: number;
|
ls?: number;
|
fc?: [number, number, number];
|
}
|
|
export type AnimationConfigWithPath<T extends RendererType = 'svg'> = AnimationConfig<T> & {
|
path?: string;
|
}
|
|
export type AnimationConfigWithData<T extends RendererType = 'svg'> = AnimationConfig<T> & {
|
animationData?: any;
|
}
|
|
export type FilterSizeConfig = {
|
width: string;
|
height: string;
|
x: string;
|
y: string;
|
};
|
|
export type LottiePlayer = {
|
play(name?: string): void;
|
pause(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<T extends RendererType = 'svg'>(params: AnimationConfigWithPath<T> | AnimationConfigWithData<T>): AnimationItem;
|
destroy(name?: string): void;
|
registerAnimation(element: Element, animationData?: any): void;
|
setQuality(quality: string | number): void;
|
setLocationHref(href: string): void;
|
setIDPrefix(prefix: string): void;
|
updateDocumentData(path: (string|number)[], documentData: TextDocumentData, index: number): void;
|
};
|
|
declare const Lottie: LottiePlayer;
|
|
export default Lottie;
|