toosoon-utils 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +703 -142
- package/lib/classes/_pool.d.ts +56 -0
- package/lib/classes/_pool.js +92 -0
- package/lib/classes/color-scale.d.ts +52 -0
- package/lib/classes/color-scale.js +160 -0
- package/lib/classes/frame-rate.d.ts +25 -0
- package/lib/classes/frame-rate.js +48 -0
- package/lib/colors.d.ts +9 -1
- package/lib/colors.js +59 -64
- package/lib/constants.d.ts +155 -155
- package/lib/constants.js +161 -164
- package/lib/dom.d.ts +2 -2
- package/lib/dom.js +5 -11
- package/lib/files.d.ts +1 -1
- package/lib/files.js +3 -8
- package/lib/functions.d.ts +6 -2
- package/lib/functions.js +30 -10
- package/lib/geometry.d.ts +2 -2
- package/lib/geometry.js +15 -27
- package/lib/maths.d.ts +11 -9
- package/lib/maths.js +32 -51
- package/lib/prng.d.ts +45 -0
- package/lib/prng.js +113 -0
- package/lib/random.d.ts +24 -24
- package/lib/random.js +36 -53
- package/lib/strings.js +2 -7
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +8 -5
- package/lib/types.js +1 -2
- package/package.json +6 -4
- package/src/classes/_pool.ts +92 -0
- package/src/classes/color-scale.ts +181 -0
- package/src/classes/frame-rate.ts +49 -0
- package/src/colors.ts +32 -19
- package/src/constants.ts +155 -155
- package/src/dom.ts +3 -3
- package/src/files.ts +1 -1
- package/src/functions.ts +27 -2
- package/src/geometry.ts +2 -2
- package/src/maths.ts +23 -12
- package/src/prng.ts +119 -0
- package/src/random.ts +24 -24
- package/src/types.ts +18 -9
- package/tsconfig.json +2 -1
- package/src/now.ts +0 -26
package/lib/colors.js
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { W3CX11 } from './constants';
|
|
2
|
+
import { toDegrees, toRadians } from './geometry';
|
|
3
|
+
import { clamp } from './maths';
|
|
4
|
+
/**
|
|
5
|
+
* Normalize a color representation into RGB
|
|
6
|
+
*
|
|
7
|
+
* @param {ColorRepresentation} color Color representation
|
|
8
|
+
* @returns {[number,number,number]} Normalized RGB color
|
|
9
|
+
*/
|
|
10
|
+
export function normalizeColor(color) {
|
|
11
|
+
var _a;
|
|
12
|
+
if (typeof color === 'string') {
|
|
13
|
+
return hexToRgb((_a = W3CX11[color]) !== null && _a !== void 0 ? _a : color);
|
|
14
|
+
}
|
|
15
|
+
else if (typeof color === 'number') {
|
|
16
|
+
return hexToRgb(color);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return color;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
6
22
|
// ******************************************
|
|
7
23
|
// RGB & Hexadecimal color spaces
|
|
8
24
|
// ******************************************
|
|
9
25
|
/**
|
|
10
26
|
* Normalize an hexadecimal string
|
|
11
27
|
*
|
|
12
|
-
* @param
|
|
28
|
+
* @param {string} hex Hexadecimal string
|
|
13
29
|
* @returns {string} Normalized hexadecimal string
|
|
14
30
|
*/
|
|
15
|
-
function normalizeHexString(hex) {
|
|
31
|
+
export function normalizeHexString(hex) {
|
|
16
32
|
var match;
|
|
17
33
|
var result = '000000';
|
|
18
34
|
hex = hex.toLocaleLowerCase();
|
|
@@ -30,7 +46,6 @@ function normalizeHexString(hex) {
|
|
|
30
46
|
}
|
|
31
47
|
return "#".concat(result);
|
|
32
48
|
}
|
|
33
|
-
exports.normalizeHexString = normalizeHexString;
|
|
34
49
|
/**
|
|
35
50
|
* Convert RGB to hexadecimal
|
|
36
51
|
* Note: rgb values are contained in the interval [0, 1]
|
|
@@ -38,11 +53,10 @@ exports.normalizeHexString = normalizeHexString;
|
|
|
38
53
|
* @param {[number, number, number]} rgb RGB color
|
|
39
54
|
* @returns {number} Hexadecimal color
|
|
40
55
|
*/
|
|
41
|
-
function rgbToHex(_a) {
|
|
56
|
+
export function rgbToHex(_a) {
|
|
42
57
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
43
58
|
return ((r * 255) << 16) ^ ((g * 255) << 8) ^ ((b * 255) << 0);
|
|
44
59
|
}
|
|
45
|
-
exports.rgbToHex = rgbToHex;
|
|
46
60
|
/**
|
|
47
61
|
* Convert RGB to hexadecimal string
|
|
48
62
|
* Note: rgb values are contained in the interval [0, 1]
|
|
@@ -50,15 +64,14 @@ exports.rgbToHex = rgbToHex;
|
|
|
50
64
|
* @param {[number, number, number]} rgb RGB color
|
|
51
65
|
* @returns {string} Hexadecimal string
|
|
52
66
|
*/
|
|
53
|
-
function rgbToHexString(_a) {
|
|
67
|
+
export function rgbToHexString(_a) {
|
|
54
68
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
var result = (
|
|
69
|
+
r = clamp(Math.round(r * 255), 0, 255);
|
|
70
|
+
g = clamp(Math.round(g * 255), 0, 255);
|
|
71
|
+
b = clamp(Math.round(b * 255), 0, 255);
|
|
72
|
+
var result = (b | (g << 8) | (r << 16) | (1 << 24)).toString(16).slice(1);
|
|
59
73
|
return "#".concat(result);
|
|
60
74
|
}
|
|
61
|
-
exports.rgbToHexString = rgbToHexString;
|
|
62
75
|
/**
|
|
63
76
|
* Convert hexadecimal to RGB
|
|
64
77
|
* Note: rgb values are contained in the interval [0, 1]
|
|
@@ -66,7 +79,7 @@ exports.rgbToHexString = rgbToHexString;
|
|
|
66
79
|
* @param {(number|string)} hex Hexadecimal color
|
|
67
80
|
* @returns {[number, number, number]} RGB color
|
|
68
81
|
*/
|
|
69
|
-
function hexToRgb(hex) {
|
|
82
|
+
export function hexToRgb(hex) {
|
|
70
83
|
if (typeof hex === 'number') {
|
|
71
84
|
hex = Math.floor(hex);
|
|
72
85
|
}
|
|
@@ -74,12 +87,11 @@ function hexToRgb(hex) {
|
|
|
74
87
|
hex = normalizeHexString(hex).replace(/^#/, '');
|
|
75
88
|
hex = parseInt(hex, 16);
|
|
76
89
|
}
|
|
77
|
-
var
|
|
78
|
-
var
|
|
79
|
-
var
|
|
80
|
-
return [
|
|
90
|
+
var r = ((hex >> 16) & 255) / 255;
|
|
91
|
+
var g = ((hex >> 8) & 255) / 255;
|
|
92
|
+
var b = (hex & 255) / 255;
|
|
93
|
+
return [r, g, b];
|
|
81
94
|
}
|
|
82
|
-
exports.hexToRgb = hexToRgb;
|
|
83
95
|
/**
|
|
84
96
|
* Lighten a color
|
|
85
97
|
*
|
|
@@ -87,7 +99,7 @@ exports.hexToRgb = hexToRgb;
|
|
|
87
99
|
* @param {number} [amount=0] Amount of the color offset
|
|
88
100
|
* @returns {string} Computed hexadecimal
|
|
89
101
|
*/
|
|
90
|
-
function lighten(hex, amount) {
|
|
102
|
+
export function lighten(hex, amount) {
|
|
91
103
|
if (amount === void 0) { amount = 0; }
|
|
92
104
|
var prefix = '';
|
|
93
105
|
if (hex[0] === '#') {
|
|
@@ -95,19 +107,15 @@ function lighten(hex, amount) {
|
|
|
95
107
|
prefix = '#';
|
|
96
108
|
}
|
|
97
109
|
var value = parseInt(hex, 16);
|
|
98
|
-
var r = (value >> 16) + amount;
|
|
99
|
-
|
|
100
|
-
var
|
|
101
|
-
b = (0, maths_1.clamp)(b, 0, 255);
|
|
102
|
-
var g = (value & 0x0000ff) + amount;
|
|
103
|
-
g = (0, maths_1.clamp)(g, 0, 255);
|
|
110
|
+
var r = clamp((value >> 16) + amount, 0, 255);
|
|
111
|
+
var b = clamp(((value >> 8) & 0x00ff) + amount, 0, 255);
|
|
112
|
+
var g = clamp((value & 0x0000ff) + amount, 0, 255);
|
|
104
113
|
var result = g | (b << 8) | (r << 16);
|
|
105
114
|
if (r === 0 && g === 0 && b === 0 && amount !== 0) {
|
|
106
115
|
result = '000000';
|
|
107
116
|
}
|
|
108
117
|
return prefix + result.toString(16);
|
|
109
118
|
}
|
|
110
|
-
exports.lighten = lighten;
|
|
111
119
|
/**
|
|
112
120
|
* Darken a color
|
|
113
121
|
*
|
|
@@ -115,11 +123,10 @@ exports.lighten = lighten;
|
|
|
115
123
|
* @param {number} [amount=0] Amount of the color offset
|
|
116
124
|
* @returns {string} Computed hexadecimal
|
|
117
125
|
*/
|
|
118
|
-
function darken(hex, amount) {
|
|
126
|
+
export function darken(hex, amount) {
|
|
119
127
|
if (amount === void 0) { amount = 0; }
|
|
120
128
|
return lighten(hex, -amount);
|
|
121
129
|
}
|
|
122
|
-
exports.darken = darken;
|
|
123
130
|
// ***************************************************
|
|
124
131
|
// RGB & Hue-Saturation-Lightness (HSL) color spaces
|
|
125
132
|
// ***************************************************
|
|
@@ -130,12 +137,11 @@ exports.darken = darken;
|
|
|
130
137
|
* @param {string} hsl HSL string (format: 'hsl(360, 100%, 100%)')
|
|
131
138
|
* @returns {[number, number, number]} Normalized HSL color
|
|
132
139
|
*/
|
|
133
|
-
function normalizeHslString(hsl) {
|
|
140
|
+
export function normalizeHslString(hsl) {
|
|
134
141
|
var _a, _b;
|
|
135
|
-
var _c = (_b = (_a = hsl.match(/\d+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) !== null && _b !== void 0 ? _b : [0, 0, 0],
|
|
136
|
-
return [
|
|
142
|
+
var _c = (_b = (_a = hsl.match(/\d+/g)) === null || _a === void 0 ? void 0 : _a.map(Number)) !== null && _b !== void 0 ? _b : [0, 0, 0], h = _c[0], s = _c[1], l = _c[2];
|
|
143
|
+
return [h, s / 100, l / 100];
|
|
137
144
|
}
|
|
138
|
-
exports.normalizeHslString = normalizeHslString;
|
|
139
145
|
/**
|
|
140
146
|
* Convert RGB to HSL
|
|
141
147
|
* Notes:
|
|
@@ -145,7 +151,7 @@ exports.normalizeHslString = normalizeHslString;
|
|
|
145
151
|
* @param {[number, number, number]} rgb RGB color
|
|
146
152
|
* @returns {[number, number, number]} HSL color
|
|
147
153
|
*/
|
|
148
|
-
function rgbToHsl(_a) {
|
|
154
|
+
export function rgbToHsl(_a) {
|
|
149
155
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
150
156
|
var l = Math.max(r, g, b);
|
|
151
157
|
var s = l - Math.min(r, g, b);
|
|
@@ -156,7 +162,6 @@ function rgbToHsl(_a) {
|
|
|
156
162
|
(2 * l - s) / 2
|
|
157
163
|
];
|
|
158
164
|
}
|
|
159
|
-
exports.rgbToHsl = rgbToHsl;
|
|
160
165
|
/**
|
|
161
166
|
* Convert HSL to RGB
|
|
162
167
|
* Notes:
|
|
@@ -166,14 +171,13 @@ exports.rgbToHsl = rgbToHsl;
|
|
|
166
171
|
* @param {[number, number, number]} hsl HSL color
|
|
167
172
|
* @returns {[number, number, number]} RGB color
|
|
168
173
|
*/
|
|
169
|
-
function hslToRgb(_a) {
|
|
174
|
+
export function hslToRgb(_a) {
|
|
170
175
|
var h = _a[0], s = _a[1], l = _a[2];
|
|
171
176
|
var a = s * Math.min(l, 1 - l);
|
|
172
177
|
var k = function (v) { return (v + h / 30) % 12; };
|
|
173
178
|
var f = function (v) { return l - a * Math.max(-1, Math.min(k(v) - 3, Math.min(9 - k(v), 1))); };
|
|
174
179
|
return [f(0), f(8), f(4)];
|
|
175
180
|
}
|
|
176
|
-
exports.hslToRgb = hslToRgb;
|
|
177
181
|
// ***************************************************
|
|
178
182
|
// RGB & Hue-Saturation-Brightness (HSB) color spaces
|
|
179
183
|
// ***************************************************
|
|
@@ -186,7 +190,7 @@ exports.hslToRgb = hslToRgb;
|
|
|
186
190
|
* @param {[number, number, number]} rgb RGB color
|
|
187
191
|
* @returns {[number, number, number]} HSB color
|
|
188
192
|
*/
|
|
189
|
-
function rgbToHsb(_a) {
|
|
193
|
+
export function rgbToHsb(_a) {
|
|
190
194
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
191
195
|
var max = Math.max(r, g, b);
|
|
192
196
|
var min = Math.min(r, g, b);
|
|
@@ -194,7 +198,6 @@ function rgbToHsb(_a) {
|
|
|
194
198
|
var h = delta === 0 ? 0 : delta && max === r ? (g - b) / delta : max === g ? 2 + (b - r) / delta : 4 + (r - g) / delta;
|
|
195
199
|
return [60 * (h < 0 ? h + 6 : h), max && delta / max, max];
|
|
196
200
|
}
|
|
197
|
-
exports.rgbToHsb = rgbToHsb;
|
|
198
201
|
/**
|
|
199
202
|
* Convert HSB to RGB
|
|
200
203
|
* Notes:
|
|
@@ -204,13 +207,12 @@ exports.rgbToHsb = rgbToHsb;
|
|
|
204
207
|
* @param {[number, number, number]} hsb HSB color
|
|
205
208
|
* @returns {[number, number, number]} RGB color
|
|
206
209
|
*/
|
|
207
|
-
function hsbToRgb(_a) {
|
|
210
|
+
export function hsbToRgb(_a) {
|
|
208
211
|
var h = _a[0], s = _a[1], b = _a[2];
|
|
209
212
|
var k = function (v) { return (v + h / 60) % 6; };
|
|
210
213
|
var f = function (v) { return b * (1 - s * Math.max(0, Math.min(k(v), 4 - k(v), 1))); };
|
|
211
214
|
return [f(5), f(3), f(1)];
|
|
212
215
|
}
|
|
213
|
-
exports.hsbToRgb = hsbToRgb;
|
|
214
216
|
// *********************************************
|
|
215
217
|
// LAB & Hue-Chroma-Luminance (HCL) color spaces
|
|
216
218
|
// *********************************************
|
|
@@ -221,13 +223,12 @@ exports.hsbToRgb = hsbToRgb;
|
|
|
221
223
|
* @param {[number, number, number]} lab LAB color
|
|
222
224
|
* @returns {[number, number, number]} HCL color
|
|
223
225
|
*/
|
|
224
|
-
function labToHcl(_a) {
|
|
226
|
+
export function labToHcl(_a) {
|
|
225
227
|
var l = _a[0], a = _a[1], b = _a[2];
|
|
226
228
|
var c = Math.sqrt(a * a + b * b);
|
|
227
229
|
var h = abToHue(a, b);
|
|
228
230
|
return [h, c, l];
|
|
229
231
|
}
|
|
230
|
-
exports.labToHcl = labToHcl;
|
|
231
232
|
/**
|
|
232
233
|
* Convert HCL to LAB
|
|
233
234
|
* -> http://www.brucelindbloom.com/index.html?Eqn_LCH_to_Lab.html
|
|
@@ -235,13 +236,12 @@ exports.labToHcl = labToHcl;
|
|
|
235
236
|
* @param {[number, number, number]} hcl HCL color
|
|
236
237
|
* @returns {[number, number, number]} LAB color space
|
|
237
238
|
*/
|
|
238
|
-
function hclToLab(_a) {
|
|
239
|
+
export function hclToLab(_a) {
|
|
239
240
|
var h = _a[0], c = _a[1], l = _a[2];
|
|
240
|
-
var a = c * Math.cos(
|
|
241
|
-
var b = c * Math.sin(
|
|
241
|
+
var a = c * Math.cos(toRadians(h));
|
|
242
|
+
var b = c * Math.sin(toRadians(h));
|
|
242
243
|
return [l, a, b];
|
|
243
244
|
}
|
|
244
|
-
exports.hclToLab = hclToLab;
|
|
245
245
|
/**
|
|
246
246
|
* Convert A and B of LAB to Hue of LCH
|
|
247
247
|
* -> https://stackoverflow.com/questions/53733379/conversion-of-cielab-to-cielchab-not-yielding-correct-result
|
|
@@ -273,7 +273,7 @@ function abToHue(a, b) {
|
|
|
273
273
|
else if (a > 0 && b < 0) {
|
|
274
274
|
xBias = 360;
|
|
275
275
|
}
|
|
276
|
-
return
|
|
276
|
+
return toDegrees(Math.atan(b / a)) + xBias;
|
|
277
277
|
}
|
|
278
278
|
// ******************************************
|
|
279
279
|
// LAB & RGB color spaces
|
|
@@ -288,7 +288,7 @@ var f4 = function (v) { return (v > 0.008856 ? Math.pow(v, 1 / 3) : 7.787 * v +
|
|
|
288
288
|
* @param {[number, number, number]} lab LAB color
|
|
289
289
|
* @returns {[number, number, number]} RGB color
|
|
290
290
|
*/
|
|
291
|
-
function labToRgb(_a) {
|
|
291
|
+
export function labToRgb(_a) {
|
|
292
292
|
var l = _a[0], a = _a[1], b = _a[2];
|
|
293
293
|
var y = (l + 16) / 116;
|
|
294
294
|
var x = a / 500 + y;
|
|
@@ -297,19 +297,18 @@ function labToRgb(_a) {
|
|
|
297
297
|
y = 1.0 * f1(y);
|
|
298
298
|
z = 1.08883 * f1(z);
|
|
299
299
|
return [
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
300
|
+
clamp(f2(x * 3.2406 + y * -1.5372 + z * -0.4986)),
|
|
301
|
+
clamp(f2(x * -0.9689 + y * 1.8758 + z * 0.0415)),
|
|
302
|
+
clamp(f2(x * 0.0557 + y * -0.204 + z * 1.057))
|
|
303
303
|
];
|
|
304
304
|
}
|
|
305
|
-
exports.labToRgb = labToRgb;
|
|
306
305
|
/**
|
|
307
306
|
* Converts RGB to LAB
|
|
308
307
|
*
|
|
309
308
|
* @param {[number, number, number]} rgb RGB color
|
|
310
309
|
* @returns {[number, number, number]} LAB color
|
|
311
310
|
*/
|
|
312
|
-
function rgbToLab(_a) {
|
|
311
|
+
export function rgbToLab(_a) {
|
|
313
312
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
314
313
|
r = f3(r);
|
|
315
314
|
g = f3(g);
|
|
@@ -319,7 +318,6 @@ function rgbToLab(_a) {
|
|
|
319
318
|
var z = f4((r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883);
|
|
320
319
|
return [116 * y - 16, 500 * (x - y), 200 * (y - z)];
|
|
321
320
|
}
|
|
322
|
-
exports.rgbToLab = rgbToLab;
|
|
323
321
|
/**
|
|
324
322
|
* Get the delta from two LAB colors
|
|
325
323
|
*
|
|
@@ -327,7 +325,7 @@ exports.rgbToLab = rgbToLab;
|
|
|
327
325
|
* @param {[number, number, number]} labB Second LAB color
|
|
328
326
|
* @returns {number} Delta
|
|
329
327
|
*/
|
|
330
|
-
function deltaE(labA, labB) {
|
|
328
|
+
export function deltaE(labA, labB) {
|
|
331
329
|
var deltaL = labA[0] - labB[0];
|
|
332
330
|
var deltaA = labA[1] - labB[1];
|
|
333
331
|
var deltaB = labA[2] - labB[2];
|
|
@@ -344,7 +342,6 @@ function deltaE(labA, labB) {
|
|
|
344
342
|
var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh;
|
|
345
343
|
return i < 0 ? 0 : Math.sqrt(i);
|
|
346
344
|
}
|
|
347
|
-
exports.deltaE = deltaE;
|
|
348
345
|
// *********************************************
|
|
349
346
|
// RGB & Hue-Chroma-Luminance (HCL) color spaces
|
|
350
347
|
// *********************************************
|
|
@@ -354,19 +351,17 @@ exports.deltaE = deltaE;
|
|
|
354
351
|
* @param {[number, number, number]} rgb RGB color
|
|
355
352
|
* @returns {[number, number, number]} HCL color
|
|
356
353
|
*/
|
|
357
|
-
function rgbToHcl(_a) {
|
|
354
|
+
export function rgbToHcl(_a) {
|
|
358
355
|
var r = _a[0], g = _a[1], b = _a[2];
|
|
359
356
|
return labToHcl(rgbToLab([r, g, b]));
|
|
360
357
|
}
|
|
361
|
-
exports.rgbToHcl = rgbToHcl;
|
|
362
358
|
/**
|
|
363
359
|
* Converts HCL to RGB
|
|
364
360
|
*
|
|
365
361
|
* @param {[number, number, number]} hcl RGB color
|
|
366
362
|
* @returns {[number, number, number]} RGB color
|
|
367
363
|
*/
|
|
368
|
-
function hclToRgb(_a) {
|
|
364
|
+
export function hclToRgb(_a) {
|
|
369
365
|
var h = _a[0], c = _a[1], l = _a[2];
|
|
370
366
|
return labToRgb(hclToLab([h, c, l]));
|
|
371
367
|
}
|
|
372
|
-
exports.hclToRgb = hclToRgb;
|
package/lib/constants.d.ts
CHANGED
|
@@ -4,159 +4,159 @@ export declare const TWO_PI: number;
|
|
|
4
4
|
export declare const HALF_PI: number;
|
|
5
5
|
export declare const QUARTER_PI: number;
|
|
6
6
|
export declare const W3CX11: {
|
|
7
|
-
aliceblue:
|
|
8
|
-
antiquewhite:
|
|
9
|
-
aqua:
|
|
10
|
-
aquamarine:
|
|
11
|
-
azure:
|
|
12
|
-
beige:
|
|
13
|
-
bisque:
|
|
14
|
-
black:
|
|
15
|
-
blanchedalmond:
|
|
16
|
-
blue:
|
|
17
|
-
blueviolet:
|
|
18
|
-
brown:
|
|
19
|
-
burlywood:
|
|
20
|
-
cadetblue:
|
|
21
|
-
chartreuse:
|
|
22
|
-
chocolate:
|
|
23
|
-
coral:
|
|
24
|
-
cornflower:
|
|
25
|
-
cornflowerblue:
|
|
26
|
-
cornsilk:
|
|
27
|
-
crimson:
|
|
28
|
-
cyan:
|
|
29
|
-
darkblue:
|
|
30
|
-
darkcyan:
|
|
31
|
-
darkgoldenrod:
|
|
32
|
-
darkgray:
|
|
33
|
-
darkgreen:
|
|
34
|
-
darkgrey:
|
|
35
|
-
darkkhaki:
|
|
36
|
-
darkmagenta:
|
|
37
|
-
darkolivegreen:
|
|
38
|
-
darkorange:
|
|
39
|
-
darkorchid:
|
|
40
|
-
darkred:
|
|
41
|
-
darksalmon:
|
|
42
|
-
darkseagreen:
|
|
43
|
-
darkslateblue:
|
|
44
|
-
darkslategray:
|
|
45
|
-
darkslategrey:
|
|
46
|
-
darkturquoise:
|
|
47
|
-
darkviolet:
|
|
48
|
-
deeppink:
|
|
49
|
-
deepskyblue:
|
|
50
|
-
dimgray:
|
|
51
|
-
dimgrey:
|
|
52
|
-
dodgerblue:
|
|
53
|
-
firebrick:
|
|
54
|
-
floralwhite:
|
|
55
|
-
forestgreen:
|
|
56
|
-
fuchsia:
|
|
57
|
-
gainsboro:
|
|
58
|
-
ghostwhite:
|
|
59
|
-
gold:
|
|
60
|
-
goldenrod:
|
|
61
|
-
gray:
|
|
62
|
-
green:
|
|
63
|
-
greenyellow:
|
|
64
|
-
grey:
|
|
65
|
-
honeydew:
|
|
66
|
-
hotpink:
|
|
67
|
-
indianred:
|
|
68
|
-
indigo:
|
|
69
|
-
ivory:
|
|
70
|
-
khaki:
|
|
71
|
-
laserlemon:
|
|
72
|
-
lavender:
|
|
73
|
-
lavenderblush:
|
|
74
|
-
lawngreen:
|
|
75
|
-
lemonchiffon:
|
|
76
|
-
lightblue:
|
|
77
|
-
lightcoral:
|
|
78
|
-
lightcyan:
|
|
79
|
-
lightgoldenrod:
|
|
80
|
-
lightgoldenrodyellow:
|
|
81
|
-
lightgray:
|
|
82
|
-
lightgreen:
|
|
83
|
-
lightgrey:
|
|
84
|
-
lightpink:
|
|
85
|
-
lightsalmon:
|
|
86
|
-
lightseagreen:
|
|
87
|
-
lightskyblue:
|
|
88
|
-
lightslategray:
|
|
89
|
-
lightslategrey:
|
|
90
|
-
lightsteelblue:
|
|
91
|
-
lightyellow:
|
|
92
|
-
lime:
|
|
93
|
-
limegreen:
|
|
94
|
-
linen:
|
|
95
|
-
magenta:
|
|
96
|
-
maroon:
|
|
97
|
-
maroon2:
|
|
98
|
-
maroon3:
|
|
99
|
-
mediumaquamarine:
|
|
100
|
-
mediumblue:
|
|
101
|
-
mediumorchid:
|
|
102
|
-
mediumpurple:
|
|
103
|
-
mediumseagreen:
|
|
104
|
-
mediumslateblue:
|
|
105
|
-
mediumspringgreen:
|
|
106
|
-
mediumturquoise:
|
|
107
|
-
mediumvioletred:
|
|
108
|
-
midnightblue:
|
|
109
|
-
mintcream:
|
|
110
|
-
mistyrose:
|
|
111
|
-
moccasin:
|
|
112
|
-
navajowhite:
|
|
113
|
-
navy:
|
|
114
|
-
oldlace:
|
|
115
|
-
olive:
|
|
116
|
-
olivedrab:
|
|
117
|
-
orange:
|
|
118
|
-
orangered:
|
|
119
|
-
orchid:
|
|
120
|
-
palegoldenrod:
|
|
121
|
-
palegreen:
|
|
122
|
-
paleturquoise:
|
|
123
|
-
palevioletred:
|
|
124
|
-
papayawhip:
|
|
125
|
-
peachpuff:
|
|
126
|
-
peru:
|
|
127
|
-
pink:
|
|
128
|
-
plum:
|
|
129
|
-
powderblue:
|
|
130
|
-
purple:
|
|
131
|
-
purple2:
|
|
132
|
-
purple3:
|
|
133
|
-
rebeccapurple:
|
|
134
|
-
red:
|
|
135
|
-
rosybrown:
|
|
136
|
-
royalblue:
|
|
137
|
-
saddlebrown:
|
|
138
|
-
salmon:
|
|
139
|
-
sandybrown:
|
|
140
|
-
seagreen:
|
|
141
|
-
seashell:
|
|
142
|
-
sienna:
|
|
143
|
-
silver:
|
|
144
|
-
skyblue:
|
|
145
|
-
slateblue:
|
|
146
|
-
slategray:
|
|
147
|
-
slategrey:
|
|
148
|
-
snow:
|
|
149
|
-
springgreen:
|
|
150
|
-
steelblue:
|
|
151
|
-
tan:
|
|
152
|
-
teal:
|
|
153
|
-
thistle:
|
|
154
|
-
tomato:
|
|
155
|
-
turquoise:
|
|
156
|
-
violet:
|
|
157
|
-
wheat:
|
|
158
|
-
white:
|
|
159
|
-
whitesmoke:
|
|
160
|
-
yellow:
|
|
161
|
-
yellowgreen:
|
|
7
|
+
aliceblue: number;
|
|
8
|
+
antiquewhite: number;
|
|
9
|
+
aqua: number;
|
|
10
|
+
aquamarine: number;
|
|
11
|
+
azure: number;
|
|
12
|
+
beige: number;
|
|
13
|
+
bisque: number;
|
|
14
|
+
black: number;
|
|
15
|
+
blanchedalmond: number;
|
|
16
|
+
blue: number;
|
|
17
|
+
blueviolet: number;
|
|
18
|
+
brown: number;
|
|
19
|
+
burlywood: number;
|
|
20
|
+
cadetblue: number;
|
|
21
|
+
chartreuse: number;
|
|
22
|
+
chocolate: number;
|
|
23
|
+
coral: number;
|
|
24
|
+
cornflower: number;
|
|
25
|
+
cornflowerblue: number;
|
|
26
|
+
cornsilk: number;
|
|
27
|
+
crimson: number;
|
|
28
|
+
cyan: number;
|
|
29
|
+
darkblue: number;
|
|
30
|
+
darkcyan: number;
|
|
31
|
+
darkgoldenrod: number;
|
|
32
|
+
darkgray: number;
|
|
33
|
+
darkgreen: number;
|
|
34
|
+
darkgrey: number;
|
|
35
|
+
darkkhaki: number;
|
|
36
|
+
darkmagenta: number;
|
|
37
|
+
darkolivegreen: number;
|
|
38
|
+
darkorange: number;
|
|
39
|
+
darkorchid: number;
|
|
40
|
+
darkred: number;
|
|
41
|
+
darksalmon: number;
|
|
42
|
+
darkseagreen: number;
|
|
43
|
+
darkslateblue: number;
|
|
44
|
+
darkslategray: number;
|
|
45
|
+
darkslategrey: number;
|
|
46
|
+
darkturquoise: number;
|
|
47
|
+
darkviolet: number;
|
|
48
|
+
deeppink: number;
|
|
49
|
+
deepskyblue: number;
|
|
50
|
+
dimgray: number;
|
|
51
|
+
dimgrey: number;
|
|
52
|
+
dodgerblue: number;
|
|
53
|
+
firebrick: number;
|
|
54
|
+
floralwhite: number;
|
|
55
|
+
forestgreen: number;
|
|
56
|
+
fuchsia: number;
|
|
57
|
+
gainsboro: number;
|
|
58
|
+
ghostwhite: number;
|
|
59
|
+
gold: number;
|
|
60
|
+
goldenrod: number;
|
|
61
|
+
gray: number;
|
|
62
|
+
green: number;
|
|
63
|
+
greenyellow: number;
|
|
64
|
+
grey: number;
|
|
65
|
+
honeydew: number;
|
|
66
|
+
hotpink: number;
|
|
67
|
+
indianred: number;
|
|
68
|
+
indigo: number;
|
|
69
|
+
ivory: number;
|
|
70
|
+
khaki: number;
|
|
71
|
+
laserlemon: number;
|
|
72
|
+
lavender: number;
|
|
73
|
+
lavenderblush: number;
|
|
74
|
+
lawngreen: number;
|
|
75
|
+
lemonchiffon: number;
|
|
76
|
+
lightblue: number;
|
|
77
|
+
lightcoral: number;
|
|
78
|
+
lightcyan: number;
|
|
79
|
+
lightgoldenrod: number;
|
|
80
|
+
lightgoldenrodyellow: number;
|
|
81
|
+
lightgray: number;
|
|
82
|
+
lightgreen: number;
|
|
83
|
+
lightgrey: number;
|
|
84
|
+
lightpink: number;
|
|
85
|
+
lightsalmon: number;
|
|
86
|
+
lightseagreen: number;
|
|
87
|
+
lightskyblue: number;
|
|
88
|
+
lightslategray: number;
|
|
89
|
+
lightslategrey: number;
|
|
90
|
+
lightsteelblue: number;
|
|
91
|
+
lightyellow: number;
|
|
92
|
+
lime: number;
|
|
93
|
+
limegreen: number;
|
|
94
|
+
linen: number;
|
|
95
|
+
magenta: number;
|
|
96
|
+
maroon: number;
|
|
97
|
+
maroon2: number;
|
|
98
|
+
maroon3: number;
|
|
99
|
+
mediumaquamarine: number;
|
|
100
|
+
mediumblue: number;
|
|
101
|
+
mediumorchid: number;
|
|
102
|
+
mediumpurple: number;
|
|
103
|
+
mediumseagreen: number;
|
|
104
|
+
mediumslateblue: number;
|
|
105
|
+
mediumspringgreen: number;
|
|
106
|
+
mediumturquoise: number;
|
|
107
|
+
mediumvioletred: number;
|
|
108
|
+
midnightblue: number;
|
|
109
|
+
mintcream: number;
|
|
110
|
+
mistyrose: number;
|
|
111
|
+
moccasin: number;
|
|
112
|
+
navajowhite: number;
|
|
113
|
+
navy: number;
|
|
114
|
+
oldlace: number;
|
|
115
|
+
olive: number;
|
|
116
|
+
olivedrab: number;
|
|
117
|
+
orange: number;
|
|
118
|
+
orangered: number;
|
|
119
|
+
orchid: number;
|
|
120
|
+
palegoldenrod: number;
|
|
121
|
+
palegreen: number;
|
|
122
|
+
paleturquoise: number;
|
|
123
|
+
palevioletred: number;
|
|
124
|
+
papayawhip: number;
|
|
125
|
+
peachpuff: number;
|
|
126
|
+
peru: number;
|
|
127
|
+
pink: number;
|
|
128
|
+
plum: number;
|
|
129
|
+
powderblue: number;
|
|
130
|
+
purple: number;
|
|
131
|
+
purple2: number;
|
|
132
|
+
purple3: number;
|
|
133
|
+
rebeccapurple: number;
|
|
134
|
+
red: number;
|
|
135
|
+
rosybrown: number;
|
|
136
|
+
royalblue: number;
|
|
137
|
+
saddlebrown: number;
|
|
138
|
+
salmon: number;
|
|
139
|
+
sandybrown: number;
|
|
140
|
+
seagreen: number;
|
|
141
|
+
seashell: number;
|
|
142
|
+
sienna: number;
|
|
143
|
+
silver: number;
|
|
144
|
+
skyblue: number;
|
|
145
|
+
slateblue: number;
|
|
146
|
+
slategray: number;
|
|
147
|
+
slategrey: number;
|
|
148
|
+
snow: number;
|
|
149
|
+
springgreen: number;
|
|
150
|
+
steelblue: number;
|
|
151
|
+
tan: number;
|
|
152
|
+
teal: number;
|
|
153
|
+
thistle: number;
|
|
154
|
+
tomato: number;
|
|
155
|
+
turquoise: number;
|
|
156
|
+
violet: number;
|
|
157
|
+
wheat: number;
|
|
158
|
+
white: number;
|
|
159
|
+
whitesmoke: number;
|
|
160
|
+
yellow: number;
|
|
161
|
+
yellowgreen: number;
|
|
162
162
|
};
|