forked from airbnb/lottie-web
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.d.ts
81 lines (70 loc) · 2.54 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
export type AnimationDirection = 1 | -1;
export type AnimationSegment = [number, number];
export type AnimationEventName = 'enterFrame' | 'loopComplete' | 'complete' | 'segmentStart' | 'destroy';
export type AnimationEventCallback<T = any> = (args: T) => void;
export type AnimationItem = {
play();
stop();
pause();
setLocationHref(href: string);
setSpeed(speed: number);
goToAndPlay(value: number, isFrame?: boolean);
goToAndStop(value: number, isFrame?: boolean);
setDirection(direction: AnimationDirection);
playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag?: boolean);
setSubframe(useSubFrames: boolean);
destroy();
getDuration(inFrames?: boolean): number;
triggerEvent<T = any>(name: AnimationEventName, args: T);
addEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>);
removeEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>);
}
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;
};
export type CanavasRendererConfig = 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;
rendererSettings?: SVGRendererConfig | CanavasRendererConfig | HTMLRendererConfig;
}
export type AnimationConfigWithPath = AnimationConfig & {
path?: string;
}
export type AnimationConfigWithData = AnimationConfig & {
animationData?: any;
}
type LottiePlayer = {
play(name?: string);
stop(name?: string);
setSpeed(speed: number, name?: string);
setDirection(direction: AnimationDirection, name?: string);
searchAnimations(animationData?: any, standalone?: boolean, renderer?: string);
loadAnimation(params: AnimationConfigWithPath | AnimationConfigWithData): AnimationItem;
destroy(name?: string);
registerAnimation(element: Element, animationData?: any);
setQuality(quality: string | number);
}
const Lottie: LottiePlayer;
export default Lottie;