1// Adapted from @k-vyn/coloralgorithm
2
3export interface Curve {
4 name: string;
5 formatted_name: string;
6 value: number[];
7}
8
9export interface Curves {
10 linear: Curve;
11 easeInCubic: Curve;
12 easeOutCubic: Curve;
13 easeInOutCubic: Curve;
14 easeInSine: Curve;
15 easeOutSine: Curve;
16 easeInOutSine: Curve;
17 easeInQuad: Curve;
18 easeOutQuad: Curve;
19 easeInOutQuad: Curve;
20 easeInQuart: Curve;
21 easeOutQuart: Curve;
22 easeInOutQuart: Curve;
23 easeInQuint: Curve;
24 easeOutQuint: Curve;
25 easeInOutQuint: Curve;
26 easeInExpo: Curve;
27 easeOutExpo: Curve;
28 easeInOutExpo: Curve;
29 easeInCirc: Curve;
30 easeOutCirc: Curve;
31 easeInOutCirc: Curve;
32 easeInBack: Curve;
33 easeOutBack: Curve;
34 easeInOutBack: Curve;
35}
36
37export const curve: Curves = {
38 linear: {
39 name: "linear",
40 formatted_name: "Linear",
41 value: [0.5, 0.5, 0.5, 0.5],
42 },
43 easeInCubic: {
44 name: "easeInCubic",
45 formatted_name: "Cubic - EaseIn",
46 value: [0.55, 0.055, 0.675, 0.19],
47 },
48 easeOutCubic: {
49 name: "easeOutCubic",
50 formatted_name: "Cubic - EaseOut",
51 value: [0.215, 0.61, 0.355, 1],
52 },
53 easeInOutCubic: {
54 name: "easeInOutCubic",
55 formatted_name: "Cubic - EaseInOut",
56 value: [0.645, 0.045, 0.355, 1],
57 },
58 easeInSine: {
59 name: "easeInSine",
60 formatted_name: "Sine - EaseIn",
61 value: [0.47, 0, 0.745, 0.715],
62 },
63 easeOutSine: {
64 name: "easeOutSine",
65 formatted_name: "Sine - EaseOut",
66 value: [0.39, 0.575, 0.565, 1],
67 },
68 easeInOutSine: {
69 name: "easeInOutSine",
70 formatted_name: "Sine - EaseInOut",
71 value: [0.445, 0.05, 0.55, 0.95],
72 },
73 easeInQuad: {
74 name: "easeInQuad",
75 formatted_name: "Quad - EaseIn",
76 value: [0.55, 0.085, 0.68, 0.53],
77 },
78 easeOutQuad: {
79 name: "easeOutQuad",
80 formatted_name: "Quad - EaseOut",
81 value: [0.25, 0.46, 0.45, 0.94],
82 },
83 easeInOutQuad: {
84 name: "easeInOutQuad",
85 formatted_name: "Quad - EaseInOut",
86 value: [0.455, 0.03, 0.515, 0.955],
87 },
88 easeInQuart: {
89 name: "easeInQuart",
90 formatted_name: "Quart - EaseIn",
91 value: [0.895, 0.03, 0.685, 0.22],
92 },
93 easeOutQuart: {
94 name: "easeOutQuart",
95 formatted_name: "Quart - EaseOut",
96 value: [0.165, 0.84, 0.44, 1],
97 },
98 easeInOutQuart: {
99 name: "easeInOutQuart",
100 formatted_name: "Quart - EaseInOut",
101 value: [0.77, 0, 0.175, 1],
102 },
103 easeInQuint: {
104 name: "easeInQuint",
105 formatted_name: "Quint - EaseIn",
106 value: [0.755, 0.05, 0.855, 0.06],
107 },
108 easeOutQuint: {
109 name: "easeOutQuint",
110 formatted_name: "Quint - EaseOut",
111 value: [0.23, 1, 0.32, 1],
112 },
113 easeInOutQuint: {
114 name: "easeInOutQuint",
115 formatted_name: "Quint - EaseInOut",
116 value: [0.86, 0, 0.07, 1],
117 },
118 easeInCirc: {
119 name: "easeInCirc",
120 formatted_name: "Circ - EaseIn",
121 value: [0.6, 0.04, 0.98, 0.335],
122 },
123 easeOutCirc: {
124 name: "easeOutCirc",
125 formatted_name: "Circ - EaseOut",
126 value: [0.075, 0.82, 0.165, 1],
127 },
128 easeInOutCirc: {
129 name: "easeInOutCirc",
130 formatted_name: "Circ - EaseInOut",
131 value: [0.785, 0.135, 0.15, 0.86],
132 },
133 easeInExpo: {
134 name: "easeInExpo",
135 formatted_name: "Expo - EaseIn",
136 value: [0.95, 0.05, 0.795, 0.035],
137 },
138 easeOutExpo: {
139 name: "easeOutExpo",
140 formatted_name: "Expo - EaseOut",
141 value: [0.19, 1, 0.22, 1],
142 },
143 easeInOutExpo: {
144 name: "easeInOutExpo",
145 formatted_name: "Expo - EaseInOut",
146 value: [1, 0, 0, 1],
147 },
148 easeInBack: {
149 name: "easeInBack",
150 formatted_name: "Back - EaseIn",
151 value: [0.6, -0.28, 0.735, 0.045],
152 },
153 easeOutBack: {
154 name: "easeOutBack",
155 formatted_name: "Back - EaseOut",
156 value: [0.175, 0.885, 0.32, 1.275],
157 },
158 easeInOutBack: {
159 name: "easeInOutBack",
160 formatted_name: "Back - EaseInOut",
161 value: [0.68, -0.55, 0.265, 1.55],
162 },
163};