curves.ts

  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};