1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | module.exports = {
|
8 | transitionDelay: {
|
9 | 0: '0ms',
|
10 | },
|
11 | transitionDuration: {
|
12 | DEFAULT: '500ms',
|
13 | 0: '0ms',
|
14 | },
|
15 | transitionTimingFunction: {
|
16 | DEFAULT: 'cubic-bezier(.23,1,.32,1)',
|
17 | in: 'cubic-bezier(.755,.05,.855,.06)',
|
18 | out: 'cubic-bezier(.23,1,.32,1)',
|
19 | 'in-out': 'cubic-bezier(.86,0,.07,1)',
|
20 | 'in-sine': 'cubic-bezier(.47,0,.745,.715)',
|
21 | 'out-sine': 'cubic-bezier(.39,.575,.565,1)',
|
22 | 'in-out-sine': 'cubic-bezier(.445,.05,.55,.95)',
|
23 | 'in-quad': 'cubic-bezier(.55,.085,.68,.53)',
|
24 | 'out-quad': 'cubic-bezier(.25,.46,.45,.94)',
|
25 | 'in-out-quad': 'cubic-bezier(.455,.03,.515,.955)',
|
26 | 'in-cubic': 'cubic-bezier(.55,.055,.675,.19)',
|
27 | 'out-cubic': 'cubic-bezier(.215,.61,.355,1)',
|
28 | 'in-out-cubic': 'cubic-bezier(.645,.045,.355,1)',
|
29 | 'in-quart': 'cubic-bezier(.895,.03,.685,.22)',
|
30 | 'out-quart': 'cubic-bezier(.165,.84,.44,1)',
|
31 | 'in-out-quart': 'cubic-bezier(.77,0,.175,1)',
|
32 | 'in-quint': 'cubic-bezier(.755,.05,.855,.06)',
|
33 | 'out-quint': 'cubic-bezier(.23,1,.32,1)',
|
34 | 'in-out-quint': 'cubic-bezier(.86,0,.07,1)',
|
35 | 'in-expo': 'cubic-bezier(.95,.05,.795,.035)',
|
36 | 'out-expo': 'cubic-bezier(.19,1,.22,1)',
|
37 | 'in-out-expo': 'cubic-bezier(1,0,0,1)',
|
38 | 'in-circ': 'cubic-bezier(.6,.04,.98,.335)',
|
39 | 'out-circ': 'cubic-bezier(.075,.82,.165,1)',
|
40 | 'in-out-circ': 'cubic-bezier(.785,.135,.15,.86)',
|
41 | 'in-back': 'cubic-bezier(.6,-.28,.735,.045)',
|
42 | 'out-back': 'cubic-bezier(.175,.885,.32,1.275)',
|
43 | 'in-out-back': 'cubic-bezier(.68,-.55,.265,1.55)',
|
44 | },
|
45 | animation: {
|
46 | 'xt-spinner': 'xt-spinner 1500ms infinite',
|
47 | 'xt-filler-x': 'xt-filler-x 1500ms infinite',
|
48 | 'xt-filler-y': 'xt-filler-y 1500ms infinite',
|
49 | },
|
50 | keyframes: theme => ({
|
51 | 'xt-spinner': {
|
52 | '0%': {
|
53 | strokeDashoffset: '628',
|
54 | transform: 'rotateY(0deg) rotateZ(-90deg)',
|
55 | animationTimingFunction: theme('transitionTimingFunction.in'),
|
56 | },
|
57 | '50%': {
|
58 | strokeDashoffset: '0',
|
59 | transform: 'rotateY(0deg) rotateZ(90deg)',
|
60 | },
|
61 | '50.0001%': {
|
62 | strokeDashoffset: '0',
|
63 | transform: 'rotateY(180deg) rotateZ(90deg)',
|
64 | animationTimingFunction: theme('transitionTimingFunction.out'),
|
65 | },
|
66 | '100%': {
|
67 | strokeDashoffset: '628',
|
68 | transform: 'rotateY(180deg) rotateZ(-90deg)',
|
69 | },
|
70 | },
|
71 | 'xt-filler-x': {
|
72 | '0%': {
|
73 | left: '0',
|
74 | width: '0',
|
75 | animationTimingFunction: theme('transitionTimingFunction.in'),
|
76 | },
|
77 | '50%': {
|
78 | left: '0',
|
79 | width: '100%',
|
80 | animationTimingFunction: theme('transitionTimingFunction.out'),
|
81 | },
|
82 | '100%': {
|
83 | left: '100%',
|
84 | width: '0',
|
85 | },
|
86 | },
|
87 | 'xt-filler-y': {
|
88 | '0%': {
|
89 | top: '0',
|
90 | height: '0',
|
91 | animationTimingFunction: theme('transitionTimingFunction.in'),
|
92 | },
|
93 | '50%': {
|
94 | top: '0',
|
95 | height: '100%',
|
96 | animationTimingFunction: theme('transitionTimingFunction.out'),
|
97 | },
|
98 | '100%': {
|
99 | top: '100%',
|
100 | height: '0',
|
101 | },
|
102 | },
|
103 | }),
|
104 | component: {
|
105 |
|
106 | '.xt-body:not(.xt-optout-initial)': {
|
107 | '.initial': {
|
108 | '&, *': {
|
109 | transitionDuration: 'initial !important',
|
110 | transitionDelay: 'initial !important',
|
111 | animationDuration: 'initial !important',
|
112 | animationDelay: 'initial !important',
|
113 | animationIterationCount: '1 !important',
|
114 | },
|
115 | },
|
116 | },
|
117 |
|
118 | '@media (prefers-reduced-motion: reduce), (update: slow)': {
|
119 | '.xt-body:not(.xt-optout-prm)': {
|
120 | '*': {
|
121 | transitionDuration: 'initial !important',
|
122 | transitionDelay: 'initial !important',
|
123 | animationDuration: 'initial !important',
|
124 | animationDelay: 'initial !important',
|
125 | animationIterationCount: '1 !important',
|
126 | },
|
127 | },
|
128 | },
|
129 | },
|
130 | }
|