You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					164 lines
				
				3.7 KiB
			
		
		
			
		
	
	
					164 lines
				
				3.7 KiB
			| 
											3 years ago
										 | // @flow | ||
|  | const namedColorMap = { | ||
|  |   aliceblue: 'f0f8ff', | ||
|  |   antiquewhite: 'faebd7', | ||
|  |   aqua: '00ffff', | ||
|  |   aquamarine: '7fffd4', | ||
|  |   azure: 'f0ffff', | ||
|  |   beige: 'f5f5dc', | ||
|  |   bisque: 'ffe4c4', | ||
|  |   black: '000', | ||
|  |   blanchedalmond: 'ffebcd', | ||
|  |   blue: '0000ff', | ||
|  |   blueviolet: '8a2be2', | ||
|  |   brown: 'a52a2a', | ||
|  |   burlywood: 'deb887', | ||
|  |   cadetblue: '5f9ea0', | ||
|  |   chartreuse: '7fff00', | ||
|  |   chocolate: 'd2691e', | ||
|  |   coral: 'ff7f50', | ||
|  |   cornflowerblue: '6495ed', | ||
|  |   cornsilk: 'fff8dc', | ||
|  |   crimson: 'dc143c', | ||
|  |   cyan: '00ffff', | ||
|  |   darkblue: '00008b', | ||
|  |   darkcyan: '008b8b', | ||
|  |   darkgoldenrod: 'b8860b', | ||
|  |   darkgray: 'a9a9a9', | ||
|  |   darkgreen: '006400', | ||
|  |   darkgrey: 'a9a9a9', | ||
|  |   darkkhaki: 'bdb76b', | ||
|  |   darkmagenta: '8b008b', | ||
|  |   darkolivegreen: '556b2f', | ||
|  |   darkorange: 'ff8c00', | ||
|  |   darkorchid: '9932cc', | ||
|  |   darkred: '8b0000', | ||
|  |   darksalmon: 'e9967a', | ||
|  |   darkseagreen: '8fbc8f', | ||
|  |   darkslateblue: '483d8b', | ||
|  |   darkslategray: '2f4f4f', | ||
|  |   darkslategrey: '2f4f4f', | ||
|  |   darkturquoise: '00ced1', | ||
|  |   darkviolet: '9400d3', | ||
|  |   deeppink: 'ff1493', | ||
|  |   deepskyblue: '00bfff', | ||
|  |   dimgray: '696969', | ||
|  |   dimgrey: '696969', | ||
|  |   dodgerblue: '1e90ff', | ||
|  |   firebrick: 'b22222', | ||
|  |   floralwhite: 'fffaf0', | ||
|  |   forestgreen: '228b22', | ||
|  |   fuchsia: 'ff00ff', | ||
|  |   gainsboro: 'dcdcdc', | ||
|  |   ghostwhite: 'f8f8ff', | ||
|  |   gold: 'ffd700', | ||
|  |   goldenrod: 'daa520', | ||
|  |   gray: '808080', | ||
|  |   green: '008000', | ||
|  |   greenyellow: 'adff2f', | ||
|  |   grey: '808080', | ||
|  |   honeydew: 'f0fff0', | ||
|  |   hotpink: 'ff69b4', | ||
|  |   indianred: 'cd5c5c', | ||
|  |   indigo: '4b0082', | ||
|  |   ivory: 'fffff0', | ||
|  |   khaki: 'f0e68c', | ||
|  |   lavender: 'e6e6fa', | ||
|  |   lavenderblush: 'fff0f5', | ||
|  |   lawngreen: '7cfc00', | ||
|  |   lemonchiffon: 'fffacd', | ||
|  |   lightblue: 'add8e6', | ||
|  |   lightcoral: 'f08080', | ||
|  |   lightcyan: 'e0ffff', | ||
|  |   lightgoldenrodyellow: 'fafad2', | ||
|  |   lightgray: 'd3d3d3', | ||
|  |   lightgreen: '90ee90', | ||
|  |   lightgrey: 'd3d3d3', | ||
|  |   lightpink: 'ffb6c1', | ||
|  |   lightsalmon: 'ffa07a', | ||
|  |   lightseagreen: '20b2aa', | ||
|  |   lightskyblue: '87cefa', | ||
|  |   lightslategray: '789', | ||
|  |   lightslategrey: '789', | ||
|  |   lightsteelblue: 'b0c4de', | ||
|  |   lightyellow: 'ffffe0', | ||
|  |   lime: '0f0', | ||
|  |   limegreen: '32cd32', | ||
|  |   linen: 'faf0e6', | ||
|  |   magenta: 'f0f', | ||
|  |   maroon: '800000', | ||
|  |   mediumaquamarine: '66cdaa', | ||
|  |   mediumblue: '0000cd', | ||
|  |   mediumorchid: 'ba55d3', | ||
|  |   mediumpurple: '9370db', | ||
|  |   mediumseagreen: '3cb371', | ||
|  |   mediumslateblue: '7b68ee', | ||
|  |   mediumspringgreen: '00fa9a', | ||
|  |   mediumturquoise: '48d1cc', | ||
|  |   mediumvioletred: 'c71585', | ||
|  |   midnightblue: '191970', | ||
|  |   mintcream: 'f5fffa', | ||
|  |   mistyrose: 'ffe4e1', | ||
|  |   moccasin: 'ffe4b5', | ||
|  |   navajowhite: 'ffdead', | ||
|  |   navy: '000080', | ||
|  |   oldlace: 'fdf5e6', | ||
|  |   olive: '808000', | ||
|  |   olivedrab: '6b8e23', | ||
|  |   orange: 'ffa500', | ||
|  |   orangered: 'ff4500', | ||
|  |   orchid: 'da70d6', | ||
|  |   palegoldenrod: 'eee8aa', | ||
|  |   palegreen: '98fb98', | ||
|  |   paleturquoise: 'afeeee', | ||
|  |   palevioletred: 'db7093', | ||
|  |   papayawhip: 'ffefd5', | ||
|  |   peachpuff: 'ffdab9', | ||
|  |   peru: 'cd853f', | ||
|  |   pink: 'ffc0cb', | ||
|  |   plum: 'dda0dd', | ||
|  |   powderblue: 'b0e0e6', | ||
|  |   purple: '800080', | ||
|  |   rebeccapurple: '639', | ||
|  |   red: 'f00', | ||
|  |   rosybrown: 'bc8f8f', | ||
|  |   royalblue: '4169e1', | ||
|  |   saddlebrown: '8b4513', | ||
|  |   salmon: 'fa8072', | ||
|  |   sandybrown: 'f4a460', | ||
|  |   seagreen: '2e8b57', | ||
|  |   seashell: 'fff5ee', | ||
|  |   sienna: 'a0522d', | ||
|  |   silver: 'c0c0c0', | ||
|  |   skyblue: '87ceeb', | ||
|  |   slateblue: '6a5acd', | ||
|  |   slategray: '708090', | ||
|  |   slategrey: '708090', | ||
|  |   snow: 'fffafa', | ||
|  |   springgreen: '00ff7f', | ||
|  |   steelblue: '4682b4', | ||
|  |   tan: 'd2b48c', | ||
|  |   teal: '008080', | ||
|  |   thistle: 'd8bfd8', | ||
|  |   tomato: 'ff6347', | ||
|  |   turquoise: '40e0d0', | ||
|  |   violet: 'ee82ee', | ||
|  |   wheat: 'f5deb3', | ||
|  |   white: 'fff', | ||
|  |   whitesmoke: 'f5f5f5', | ||
|  |   yellow: 'ff0', | ||
|  |   yellowgreen: '9acd32', | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color. | ||
|  |  * @private | ||
|  |  */ | ||
|  | function nameToHex(color: string): string { | ||
|  |   if (typeof color !== 'string') return color | ||
|  |   const normalizedColorName = color.toLowerCase() | ||
|  |   return namedColorMap[normalizedColorName] ? `#${namedColorMap[normalizedColorName]}` : color | ||
|  | } | ||
|  | 
 | ||
|  | export default nameToHex |