UNPKG

2.1 kBTypeScriptView Raw
1import * as React from 'react';
2
3export type Easing =
4 'easeInSine' |
5 'easeOutSine' |
6 'easeInOutSine' |
7 'easeInCirc' |
8 'easeOutCirc' |
9 'easeInOutCirc' |
10 'easeInElastic' |
11 'easeOutElastic' |
12 'easeInOutElastic' |
13 'easeInBack' |
14 'easeOutBack' |
15 'easeInOutBack' |
16 'easeInBounce' |
17 'easeOutBounce' |
18 'easeInOutBounce' |
19 'easeInQuad' |
20 'easeOutQuad' |
21 'easeInOutQuad' |
22 'easeInCubic' |
23 'easeOutCubic' |
24 'easeInOutCubic' |
25 'easeInQuart' |
26 'easeOutQuart' |
27 'easeInOutQuart' |
28 'easeInQuint' |
29 'easeOutQuint' |
30 'easeInOutQuint' |
31 'easeInExpo' |
32 'easeOutExpo' |
33 'easeInOutExpo' |
34 'linear' |
35 [number, number, number, number];
36
37export type AnimeValue =
38 {
39 value: string | number,
40 delay: ((el: Element, index?: number, len?: number) => number) | number,
41 duration?: ((el: Element, index?: number, len?: number) => number) | number,
42 easing?: Easing
43 } |
44 string |
45 number |
46 ((el: Element, index?: number) => string | number);
47
48export type AnimeProps = {
49 children: any[],
50 delay?: ((el: Element, index?: number, len?: number) => number) | number,
51 duration?: ((el: Element, index?: number, len?: number) => number) | number,
52 autoplay?: boolean,
53 loop?: number | boolean,
54 direction?: 'normal' | 'reverse' | 'alternate';
55 easing?: Easing,
56 elasticity?: number,
57 round?: number | boolean,
58 begin?: Function,
59 update?: Function,
60 complete?: Function,
61
62 // DOM
63 value: AnimeValue | AnimeValue[],
64
65
66 // Transformations
67 translateX: AnimeValue | AnimeValue[],
68 translateY: AnimeValue | AnimeValue[],
69 rotate: AnimeValue | AnimeValue[],
70 scale: AnimeValue | AnimeValue[],
71
72 // CSS
73 opacity: AnimeValue | AnimeValue[],
74 color: AnimeValue | AnimeValue[],
75 backgroundColor: AnimeValue | AnimeValue[],
76
77 //SVG
78 points: AnimeValue | AnimeValue[],
79 strokeDashoffset: AnimeValue | AnimeValue[],
80
81 // Custom Props
82 [prop: string]: any
83
84}
85
86declare class Anime extends React.Component<AnimeProps, any> { }
87
88export default Anime;
89
\No newline at end of file