Skip to content

Commit 37c5694

Browse files
committed
fix: add hex values for known colors
1 parent 86311bb commit 37c5694

File tree

1 file changed

+153
-154
lines changed

1 file changed

+153
-154
lines changed

src/colors.ts

Lines changed: 153 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -1,155 +1,154 @@
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'],
153152
])
154153

155154
const DEPRECATED_SYSTEM_COLORS = new Set([
@@ -183,15 +182,15 @@ const DEPRECATED_SYSTEM_COLORS = new Set([
183182
'WindowText',
184183
])
185184

186-
const COLORS = new Set([...NAMED_COLORS, ...DEPRECATED_SYSTEM_COLORS])
185+
const COLORS = new Set([...KNOWN_COLORS, ...NAMED_COLORS.keys(), ...DEPRECATED_SYSTEM_COLORS])
187186

188187
const isColorLike = (value: string): boolean =>
189188
/^((#[\da-f]{3,8})|(((rgb|hsl)[a]?)\(?([\d]?\.?[\d]+%?,?\s?){3,4}\)?))$/i.test(value)
190189

191190
// TODO function with opacityValue
192191
export const getColor = (value: unknown): string | undefined => {
193192
if (typeof value == 'string' && (COLORS.has(value) || isColorLike(value))) {
194-
return value
193+
return NAMED_COLORS.get(value) || value
195194
}
196195

197196
return undefined

0 commit comments

Comments
 (0)