|
1 |
| -const NAMED_COLORS = new Set([ |
2 |
| - 'transparent', |
3 |
| - 'currentColor', |
4 |
| - 'aliceblue', |
5 |
| - 'antiquewhite', |
6 |
| - 'aqua', |
7 |
| - 'aquamarine', |
8 |
| - 'azure', |
9 |
| - 'beige', |
10 |
| - 'bisque', |
11 |
| - 'black', |
12 |
| - 'blanchedalmond', |
13 |
| - 'blue', |
14 |
| - 'blueviolet', |
15 |
| - 'brown', |
16 |
| - 'burlywood', |
17 |
| - 'cadetblue', |
18 |
| - 'chartreuse', |
19 |
| - 'chocolate', |
20 |
| - 'coral', |
21 |
| - 'cornflowerblue', |
22 |
| - 'cornsilk', |
23 |
| - 'crimson', |
24 |
| - 'cyan', |
25 |
| - 'darkblue', |
26 |
| - 'darkcyan', |
27 |
| - 'darkgoldenrod', |
28 |
| - 'darkgray', |
29 |
| - 'darkgreen', |
30 |
| - 'darkgrey', |
31 |
| - 'darkkhaki', |
32 |
| - 'darkmagenta', |
33 |
| - 'darkolivegreen', |
34 |
| - 'darkorange', |
35 |
| - 'darkorchid', |
36 |
| - 'darkred', |
37 |
| - 'darksalmon', |
38 |
| - 'darkseagreen', |
39 |
| - 'darkslateblue', |
40 |
| - 'darkslategray', |
41 |
| - 'darkslategrey', |
42 |
| - 'darkturquoise', |
43 |
| - 'darkviolet', |
44 |
| - 'deeppink', |
45 |
| - 'deepskyblue', |
46 |
| - 'dimgray', |
47 |
| - 'dimgrey', |
48 |
| - 'dodgerblue', |
49 |
| - 'firebrick', |
50 |
| - 'floralwhite', |
51 |
| - 'forestgreen', |
52 |
| - 'fuchsia', |
53 |
| - 'gainsboro', |
54 |
| - 'ghostwhite', |
55 |
| - 'gold', |
56 |
| - 'goldenrod', |
57 |
| - 'gray', |
58 |
| - 'green', |
59 |
| - 'greenyellow', |
60 |
| - 'grey', |
61 |
| - 'honeydew', |
62 |
| - 'hotpink', |
63 |
| - 'indianred', |
64 |
| - 'indigo', |
65 |
| - 'ivory', |
66 |
| - 'khaki', |
67 |
| - 'lavender', |
68 |
| - 'lavenderblush', |
69 |
| - 'lawngreen', |
70 |
| - 'lemonchiffon', |
71 |
| - 'lightblue', |
72 |
| - 'lightcoral', |
73 |
| - 'lightcyan', |
74 |
| - 'lightgoldenrodyellow', |
75 |
| - 'lightgray', |
76 |
| - 'lightgreen', |
77 |
| - 'lightgrey', |
78 |
| - 'lightpink', |
79 |
| - 'lightsalmon', |
80 |
| - 'lightseagreen', |
81 |
| - 'lightskyblue', |
82 |
| - 'lightslategray', |
83 |
| - 'lightslategrey', |
84 |
| - 'lightsteelblue', |
85 |
| - 'lightyellow', |
86 |
| - 'lime', |
87 |
| - 'limegreen', |
88 |
| - 'linen', |
89 |
| - 'magenta', |
90 |
| - 'maroon', |
91 |
| - 'mediumaquamarine', |
92 |
| - 'mediumblue', |
93 |
| - 'mediumorchid', |
94 |
| - 'mediumpurple', |
95 |
| - 'mediumseagreen', |
96 |
| - 'mediumslateblue', |
97 |
| - 'mediumspringgreen', |
98 |
| - 'mediumturquoise', |
99 |
| - 'mediumvioletred', |
100 |
| - 'midnightblue', |
101 |
| - 'mintcream', |
102 |
| - 'mistyrose', |
103 |
| - 'moccasin', |
104 |
| - 'navajowhite', |
105 |
| - 'navy', |
106 |
| - 'oldlace', |
107 |
| - 'olive', |
108 |
| - 'olivedrab', |
109 |
| - 'orange', |
110 |
| - 'orangered', |
111 |
| - 'orchid', |
112 |
| - 'palegoldenrod', |
113 |
| - 'palegreen', |
114 |
| - 'paleturquoise', |
115 |
| - 'palevioletred', |
116 |
| - 'papayawhip', |
117 |
| - 'peachpuff', |
118 |
| - 'peru', |
119 |
| - 'pink', |
120 |
| - 'plum', |
121 |
| - 'powderblue', |
122 |
| - 'purple', |
123 |
| - 'rebeccapurple', |
124 |
| - 'red', |
125 |
| - 'rosybrown', |
126 |
| - 'royalblue', |
127 |
| - 'saddlebrown', |
128 |
| - 'salmon', |
129 |
| - 'sandybrown', |
130 |
| - 'seagreen', |
131 |
| - 'seashell', |
132 |
| - 'sienna', |
133 |
| - 'silver', |
134 |
| - 'skyblue', |
135 |
| - 'slateblue', |
136 |
| - 'slategray', |
137 |
| - 'slategrey', |
138 |
| - 'snow', |
139 |
| - 'springgreen', |
140 |
| - 'steelblue', |
141 |
| - 'tan', |
142 |
| - 'teal', |
143 |
| - 'thistle', |
144 |
| - 'tomato', |
145 |
| - 'transparent', |
146 |
| - 'turquoise', |
147 |
| - 'violet', |
148 |
| - 'wheat', |
149 |
| - 'white', |
150 |
| - 'whitesmoke', |
151 |
| - 'yellow', |
152 |
| - 'yellowgreen', |
| 1 | +const KNOWN_COLORS = new Set(['transparent', 'currentColor']) |
| 2 | + |
| 3 | +const NAMED_COLORS = new Map([ |
| 4 | + ['aliceblue', '#f0f8ff'], |
| 5 | + ['antiquewhite', '#faebd7'], |
| 6 | + ['aqua', '#00ffff'], |
| 7 | + ['aquamarine', '#7fffd4'], |
| 8 | + ['azure', '#f0ffff'], |
| 9 | + ['beige', '#f5f5dc'], |
| 10 | + ['bisque', '#ffe4c4'], |
| 11 | + ['black', '#000000'], |
| 12 | + ['blanchedalmond', '#ffebcd'], |
| 13 | + ['blue', '#0000ff'], |
| 14 | + ['blueviolet', '#8a2be2'], |
| 15 | + ['brown', '#a52a2a'], |
| 16 | + ['burlywood', '#deb887'], |
| 17 | + ['cadetblue', '#5f9ea0'], |
| 18 | + ['chartreuse', '#7fff00'], |
| 19 | + ['chocolate', '#d2691e'], |
| 20 | + ['coral', '#ff7f50'], |
| 21 | + ['cornflowerblue', '#6495ed'], |
| 22 | + ['cornsilk', '#fff8dc'], |
| 23 | + ['crimson', '#dc143c'], |
| 24 | + ['cyan', '#00ffff'], |
| 25 | + ['darkblue', '#00008b'], |
| 26 | + ['darkcyan', '#008b8b'], |
| 27 | + ['darkgoldenrod', '#b8860b'], |
| 28 | + ['darkgray', '#a9a9a9'], |
| 29 | + ['darkgrey', '#a9a9a9'], |
| 30 | + ['darkgreen', '#006400'], |
| 31 | + ['darkkhaki', '#bdb76b'], |
| 32 | + ['darkmagenta', '#8b008b'], |
| 33 | + ['darkolivegreen', '#556b2f'], |
| 34 | + ['darkorange', '#ff8c00'], |
| 35 | + ['darkorchid', '#9932cc'], |
| 36 | + ['darkred', '#8b0000'], |
| 37 | + ['darksalmon', '#e9967a'], |
| 38 | + ['darkseagreen', '#8fbc8f'], |
| 39 | + ['darkslateblue', '#483d8b'], |
| 40 | + ['darkslategray', '#2f4f4f'], |
| 41 | + ['darkslategrey', '#2f4f4f'], |
| 42 | + ['darkturquoise', '#00ced1'], |
| 43 | + ['darkviolet', '#9400d3'], |
| 44 | + ['deeppink', '#ff1493'], |
| 45 | + ['deepskyblue', '#00bfff'], |
| 46 | + ['dimgray', '#696969'], |
| 47 | + ['dimgrey', '#696969'], |
| 48 | + ['dodgerblue', '#1e90ff'], |
| 49 | + ['firebrick', '#b22222'], |
| 50 | + ['floralwhite', '#fffaf0'], |
| 51 | + ['forestgreen', '#228b22'], |
| 52 | + ['fuchsia', '#ff00ff'], |
| 53 | + ['gainsboro', '#dcdcdc'], |
| 54 | + ['ghostwhite', '#f8f8ff'], |
| 55 | + ['gold', '#ffd700'], |
| 56 | + ['goldenrod', '#daa520'], |
| 57 | + ['gray', '#808080'], |
| 58 | + ['grey', '#808080'], |
| 59 | + ['green', '#008000'], |
| 60 | + ['greenyellow', '#adff2f'], |
| 61 | + ['honeydew', '#f0fff0'], |
| 62 | + ['hotpink', '#ff69b4'], |
| 63 | + ['indianred', '#cd5c5c'], |
| 64 | + ['indigo', '#4b0082'], |
| 65 | + ['ivory', '#fffff0'], |
| 66 | + ['khaki', '#f0e68c'], |
| 67 | + ['lavender', '#e6e6fa'], |
| 68 | + ['lavenderblush', '#fff0f5'], |
| 69 | + ['lawngreen', '#7cfc00'], |
| 70 | + ['lemonchiffon', '#fffacd'], |
| 71 | + ['lightblue', '#add8e6'], |
| 72 | + ['lightcoral', '#f08080'], |
| 73 | + ['lightcyan', '#e0ffff'], |
| 74 | + ['lightgoldenrodyellow', '#fafad2'], |
| 75 | + ['lightgray', '#d3d3d3'], |
| 76 | + ['lightgrey', '#d3d3d3'], |
| 77 | + ['lightgreen', '#90ee90'], |
| 78 | + ['lightpink', '#ffb6c1'], |
| 79 | + ['lightsalmon', '#ffa07a'], |
| 80 | + ['lightseagreen', '#20b2aa'], |
| 81 | + ['lightskyblue', '#87cefa'], |
| 82 | + ['lightslategray', '#778899'], |
| 83 | + ['lightslategrey', '#778899'], |
| 84 | + ['lightsteelblue', '#b0c4de'], |
| 85 | + ['lightyellow', '#ffffe0'], |
| 86 | + ['lime', '#00ff00'], |
| 87 | + ['limegreen', '#32cd32'], |
| 88 | + ['linen', '#faf0e6'], |
| 89 | + ['magenta', '#ff00ff'], |
| 90 | + ['maroon', '#800000'], |
| 91 | + ['mediumaquamarine', '#66cdaa'], |
| 92 | + ['mediumblue', '#0000cd'], |
| 93 | + ['mediumorchid', '#ba55d3'], |
| 94 | + ['mediumpurple', '#9370d8'], |
| 95 | + ['mediumseagreen', '#3cb371'], |
| 96 | + ['mediumslateblue', '#7b68ee'], |
| 97 | + ['mediumspringgreen', '#00fa9a'], |
| 98 | + ['mediumturquoise', '#48d1cc'], |
| 99 | + ['mediumvioletred', '#c71585'], |
| 100 | + ['midnightblue', '#191970'], |
| 101 | + ['mintcream', '#f5fffa'], |
| 102 | + ['mistyrose', '#ffe4e1'], |
| 103 | + ['moccasin', '#ffe4b5'], |
| 104 | + ['navajowhite', '#ffdead'], |
| 105 | + ['navy', '#000080'], |
| 106 | + ['oldlace', '#fdf5e6'], |
| 107 | + ['olive', '#808000'], |
| 108 | + ['olivedrab', '#6b8e23'], |
| 109 | + ['orange', '#ffa500'], |
| 110 | + ['orangered', '#ff4500'], |
| 111 | + ['orchid', '#da70d6'], |
| 112 | + ['palegoldenrod', '#eee8aa'], |
| 113 | + ['palegreen', '#98fb98'], |
| 114 | + ['paleturquoise', '#afeeee'], |
| 115 | + ['palevioletred', '#d87093'], |
| 116 | + ['papayawhip', '#ffefd5'], |
| 117 | + ['peachpuff', '#ffdab9'], |
| 118 | + ['peru', '#cd853f'], |
| 119 | + ['pink', '#ffc0cb'], |
| 120 | + ['plum', '#dda0dd'], |
| 121 | + ['powderblue', '#b0e0e6'], |
| 122 | + ['purple', '#800080'], |
| 123 | + ['red', '#ff0000'], |
| 124 | + ['rebeccapurple', '#663399'], |
| 125 | + ['rosybrown', '#bc8f8f'], |
| 126 | + ['royalblue', '#4169e1'], |
| 127 | + ['saddlebrown', '#8b4513'], |
| 128 | + ['salmon', '#fa8072'], |
| 129 | + ['sandybrown', '#f4a460'], |
| 130 | + ['seagreen', '#2e8b57'], |
| 131 | + ['seashell', '#fff5ee'], |
| 132 | + ['sienna', '#a0522d'], |
| 133 | + ['silver', '#c0c0c0'], |
| 134 | + ['skyblue', '#87ceeb'], |
| 135 | + ['slateblue', '#6a5acd'], |
| 136 | + ['slategray', '#708090'], |
| 137 | + ['slategrey', '#708090'], |
| 138 | + ['snow', '#fffafa'], |
| 139 | + ['springgreen', '#00ff7f'], |
| 140 | + ['steelblue', '#4682b4'], |
| 141 | + ['tan', '#d2b48c'], |
| 142 | + ['teal', '#008080'], |
| 143 | + ['thistle', '#d8bfd8'], |
| 144 | + ['tomato', '#ff6347'], |
| 145 | + ['turquoise', '#40e0d0'], |
| 146 | + ['violet', '#ee82ee'], |
| 147 | + ['wheat', '#f5deb3'], |
| 148 | + ['white', '#ffffff'], |
| 149 | + ['whitesmoke', '#f5f5f5'], |
| 150 | + ['yellow', '#ffff00'], |
| 151 | + ['yellowgreen', '#9acd32'], |
153 | 152 | ])
|
154 | 153 |
|
155 | 154 | const DEPRECATED_SYSTEM_COLORS = new Set([
|
@@ -183,15 +182,15 @@ const DEPRECATED_SYSTEM_COLORS = new Set([
|
183 | 182 | 'WindowText',
|
184 | 183 | ])
|
185 | 184 |
|
186 |
| -const COLORS = new Set([...NAMED_COLORS, ...DEPRECATED_SYSTEM_COLORS]) |
| 185 | +const COLORS = new Set([...KNOWN_COLORS, ...NAMED_COLORS.keys(), ...DEPRECATED_SYSTEM_COLORS]) |
187 | 186 |
|
188 | 187 | const isColorLike = (value: string): boolean =>
|
189 | 188 | /^((#[\da-f]{3,8})|(((rgb|hsl)[a]?)\(?([\d]?\.?[\d]+%?,?\s?){3,4}\)?))$/i.test(value)
|
190 | 189 |
|
191 | 190 | // TODO function with opacityValue
|
192 | 191 | export const getColor = (value: unknown): string | undefined => {
|
193 | 192 | if (typeof value == 'string' && (COLORS.has(value) || isColorLike(value))) {
|
194 |
| - return value |
| 193 | + return NAMED_COLORS.get(value) || value |
195 | 194 | }
|
196 | 195 |
|
197 | 196 | return undefined
|
|
0 commit comments