generate-color
Version:
Generate random color(s), support RGB, material and web standard, rgb、rgba、hex format, node.js and browser environment.
569 lines (564 loc) • 9.27 kB
JavaScript
// https://material.io/guidelines/style/color.html#color-color-palette
import genColor from './base'
// export const materialColorList = [
// // 'Red'
// '50 #FFEBEE',
// '100 #FFCDD2',
// '200 #EF9A9A',
// '300 #E57373',
// '400 #EF5350',
// '500 #F44336',
// '600 #E53935',
// '700 #D32F2F',
// '800 #C62828',
// '900 #B71C1C',
// 'A100 #FF8A80',
// 'A200 #FF5252',
// 'A400 #FF1744',
// 'A700 #D50000',
// // 'Pink'
// '50 #FCE4EC',
// '100 #F8BBD0',
// '200 #F48FB1',
// '300 #F06292',
// '400 #EC407A',
// '500 #E91E63',
// '600 #D81B60',
// '700 #C2185B',
// '800 #AD1457',
// '900 #880E4F',
// 'A100 #FF80AB',
// 'A200 #FF4081',
// 'A400 #F50057',
// 'A700 #C51162',
// // 'Purple'
// '50 #F3E5F5',
// '100 #E1BEE7',
// '200 #CE93D8',
// '300 #BA68C8',
// '400 #AB47BC',
// '500 #9C27B0',
// '600 #8E24AA',
// '700 #7B1FA2',
// '800 #6A1B9A',
// '900 #4A148C',
// 'A100 #EA80FC',
// 'A200 #E040FB',
// 'A400 #D500F9',
// 'A700 #AA00FF',
// // 'Deep Purple'
// '50 #EDE7F6',
// '100 #D1C4E9',
// '200 #B39DDB',
// '300 #9575CD',
// '400 #7E57C2',
// '500 #673AB7',
// '600 #5E35B1',
// '700 #512DA8',
// '800 #4527A0',
// '900 #311B92',
// 'A100 #B388FF',
// 'A200 #7C4DFF',
// 'A400 #651FFF',
// 'A700 #6200EA',
// // 'Indigo'
// '50 #E8EAF6',
// '100 #C5CAE9',
// '200 #9FA8DA',
// '300 #7986CB',
// '400 #5C6BC0',
// '500 #3F51B5',
// '600 #3949AB',
// '700 #303F9F',
// '800 #283593',
// '900 #1A237E',
// 'A100 #8C9EFF',
// 'A200 #536DFE',
// 'A400 #3D5AFE',
// 'A700 #304FFE',
// // 'Blue'
// '50 #E3F2FD',
// '100 #BBDEFB',
// '200 #90CAF9',
// '300 #64B5F6',
// '400 #42A5F5',
// '500 #2196F3',
// '600 #1E88E5',
// '700 #1976D2',
// '800 #1565C0',
// '900 #0D47A1',
// 'A100 #82B1FF',
// 'A200 #448AFF',
// 'A400 #2979FF',
// 'A700 #2962FF',
// // 'Light Blue'
// '50 #E1F5FE',
// '100 #B3E5FC',
// '200 #81D4FA',
// '300 #4FC3F7',
// '400 #29B6F6',
// '500 #03A9F4',
// '600 #039BE5',
// '700 #0288D1',
// '800 #0277BD',
// '900 #01579B',
// 'A100 #80D8FF',
// 'A200 #40C4FF',
// 'A400 #00B0FF',
// 'A700 #0091EA',
// // 'Cyan'
// '50 #E0F7FA',
// '100 #B2EBF2',
// '200 #80DEEA',
// '300 #4DD0E1',
// '400 #26C6DA',
// '500 #00BCD4',
// '600 #00ACC1',
// '700 #0097A7',
// '800 #00838F',
// '900 #006064',
// 'A100 #84FFFF',
// 'A200 #18FFFF',
// 'A400 #00E5FF',
// 'A700 #00B8D4',
// // 'Teal'
// '50 #E0F2F1',
// '100 #B2DFDB',
// '200 #80CBC4',
// '300 #4DB6AC',
// '400 #26A69A',
// '500 #009688',
// '600 #00897B',
// '700 #00796B',
// '800 #00695C',
// '900 #004D40',
// 'A100 #A7FFEB',
// 'A200 #64FFDA',
// 'A400 #1DE9B6',
// 'A700 #00BFA5',
// // 'Green'
// '50 #E8F5E9',
// '100 #C8E6C9',
// '200 #A5D6A7',
// '300 #81C784',
// '400 #66BB6A',
// '500 #4CAF50',
// '600 #43A047',
// '700 #388E3C',
// '800 #2E7D32',
// '900 #1B5E20',
// 'A100 #B9F6CA',
// 'A200 #69F0AE',
// 'A400 #00E676',
// 'A700 #00C853',
// // 'Light Green'
// '50 #F1F8E9',
// '100 #DCEDC8',
// '200 #C5E1A5',
// '300 #AED581',
// '400 #9CCC65',
// '500 #8BC34A',
// '600 #7CB342',
// '700 #689F38',
// '800 #558B2F',
// '900 #33691E',
// 'A100 #CCFF90',
// 'A200 #B2FF59',
// 'A400 #76FF03',
// 'A700 #64DD17',
// // 'Lime'
// '50 #F9FBE7',
// '100 #F0F4C3',
// '200 #E6EE9C',
// '300 #DCE775',
// '400 #D4E157',
// '500 #CDDC39',
// '600 #C0CA33',
// '700 #AFB42B',
// '800 #9E9D24',
// '900 #827717',
// 'A100 #F4FF81',
// 'A200 #EEFF41',
// 'A400 #C6FF00',
// 'A700 #AEEA00',
// // 'Yellow'
// '50 #FFFDE7',
// '100 #FFF9C4',
// '200 #FFF59D',
// '300 #FFF176',
// '400 #FFEE58',
// '500 #FFEB3B',
// '600 #FDD835',
// '700 #FBC02D',
// '800 #F9A825',
// '900 #F57F17',
// 'A100 #FFFF8D',
// 'A200 #FFFF00',
// 'A400 #FFEA00',
// 'A700 #FFD600',
// // 'Amber'
// '50 #FFF8E1',
// '100 #FFECB3',
// '200 #FFE082',
// '300 #FFD54F',
// '400 #FFCA28',
// '500 #FFC107',
// '600 #FFB300',
// '700 #FFA000',
// '800 #FF8F00',
// '900 #FF6F00',
// 'A100 #FFE57F',
// 'A200 #FFD740',
// 'A400 #FFC400',
// 'A700 #FFAB00',
// // 'Orange'
// '50 #FFF3E0',
// '100 #FFE0B2',
// '200 #FFCC80',
// '300 #FFB74D',
// '400 #FFA726',
// '500 #FF9800',
// '600 #FB8C00',
// '700 #F57C00',
// '800 #EF6C00',
// '900 #E65100',
// 'A100 #FFD180',
// 'A200 #FFAB40',
// 'A400 #FF9100',
// 'A700 #FF6D00',
// // 'Deep Orange'
// '50 #FBE9E7',
// '100 #FFCCBC',
// '200 #FFAB91',
// '300 #FF8A65',
// '400 #FF7043',
// '500 #FF5722',
// '600 #F4511E',
// '700 #E64A19',
// '800 #D84315',
// '900 #BF360C',
// 'A100 #FF9E80',
// 'A200 #FF6E40',
// 'A400 #FF3D00',
// 'A700 #DD2C00',
// // 'Brown'
// '50 #EFEBE9',
// '100 #D7CCC8',
// '200 #BCAAA4',
// '300 #A1887F',
// '400 #8D6E63',
// '500 #795548',
// '600 #6D4C41',
// '700 #5D4037',
// '800 #4E342E',
// '900 #3E2723',
// // 'Grey'
// '50 #FAFAFA',
// '100 #F5F5F5',
// '200 #EEEEEE',
// '300 #E0E0E0',
// '400 #BDBDBD',
// '500 #9E9E9E',
// '600 #757575',
// '700 #616161',
// '800 #424242',
// '900 #212121',
// // 'Blue Grey'
// '50 #ECEFF1',
// '100 #CFD8DC',
// '200 #B0BEC5',
// '300 #90A4AE',
// '400 #78909C',
// '500 #607D8B',
// '600 #546E7A',
// '700 #455A64',
// '800 #37474F',
// '900 #263238',
// // 'Black'
// 'Black #000000',
// // 'White'
// 'White #FFFFFF'
// ]
export const materialColorList = [
// 'Red'
'FFEBEE',
'FFCDD2',
'EF9A9A',
'E57373',
'EF5350',
'F44336',
'E53935',
'D32F2F',
'C62828',
'B71C1C',
'FF8A80',
'FF5252',
'FF1744',
'D50000',
// 'Pink'
'FCE4EC',
'F8BBD0',
'F48FB1',
'F06292',
'EC407A',
'E91E63',
'D81B60',
'C2185B',
'AD1457',
'880E4F',
'FF80AB',
'FF4081',
'F50057',
'C51162',
// 'Purple'
'F3E5F5',
'E1BEE7',
'CE93D8',
'BA68C8',
'AB47BC',
'9C27B0',
'8E24AA',
'7B1FA2',
'6A1B9A',
'4A148C',
'EA80FC',
'E040FB',
'D500F9',
'AA00FF',
// 'Deep Purple'
'EDE7F6',
'D1C4E9',
'B39DDB',
'9575CD',
'7E57C2',
'673AB7',
'5E35B1',
'512DA8',
'4527A0',
'311B92',
'B388FF',
'7C4DFF',
'651FFF',
'6200EA',
// 'Indigo'
'E8EAF6',
'C5CAE9',
'9FA8DA',
'7986CB',
'5C6BC0',
'3F51B5',
'3949AB',
'303F9F',
'283593',
'1A237E',
'8C9EFF',
'536DFE',
'3D5AFE',
'304FFE',
// 'Blue'
'E3F2FD',
'BBDEFB',
'90CAF9',
'64B5F6',
'42A5F5',
'2196F3',
'1E88E5',
'1976D2',
'1565C0',
'0D47A1',
'82B1FF',
'448AFF',
'2979FF',
'2962FF',
// 'Light Blue'
'E1F5FE',
'B3E5FC',
'81D4FA',
'4FC3F7',
'29B6F6',
'03A9F4',
'039BE5',
'0288D1',
'0277BD',
'01579B',
'80D8FF',
'40C4FF',
'00B0FF',
'0091EA',
// 'Cyan'
'E0F7FA',
'B2EBF2',
'80DEEA',
'4DD0E1',
'26C6DA',
'00BCD4',
'00ACC1',
'0097A7',
'00838F',
'006064',
'84FFFF',
'18FFFF',
'00E5FF',
'00B8D4',
// 'Teal'
'E0F2F1',
'B2DFDB',
'80CBC4',
'4DB6AC',
'26A69A',
'009688',
'00897B',
'00796B',
'00695C',
'004D40',
'A7FFEB',
'64FFDA',
'1DE9B6',
'00BFA5',
// 'Green'
'E8F5E9',
'C8E6C9',
'A5D6A7',
'81C784',
'66BB6A',
'4CAF50',
'43A047',
'388E3C',
'2E7D32',
'1B5E20',
'B9F6CA',
'69F0AE',
'00E676',
'00C853',
// 'Light Green'
'F1F8E9',
'DCEDC8',
'C5E1A5',
'AED581',
'9CCC65',
'8BC34A',
'7CB342',
'689F38',
'558B2F',
'33691E',
'CCFF90',
'B2FF59',
'76FF03',
'64DD17',
// 'Lime'
'F9FBE7',
'F0F4C3',
'E6EE9C',
'DCE775',
'D4E157',
'CDDC39',
'C0CA33',
'AFB42B',
'9E9D24',
'827717',
'F4FF81',
'EEFF41',
'C6FF00',
'AEEA00',
// 'Yellow'
'FFFDE7',
'FFF9C4',
'FFF59D',
'FFF176',
'FFEE58',
'FFEB3B',
'FDD835',
'FBC02D',
'F9A825',
'F57F17',
'FFFF8D',
'FFFF00',
'FFEA00',
'FFD600',
// 'Amber'
'FFF8E1',
'FFECB3',
'FFE082',
'FFD54F',
'FFCA28',
'FFC107',
'FFB300',
'FFA000',
'FF8F00',
'FF6F00',
'FFE57F',
'FFD740',
'FFC400',
'FFAB00',
// 'Orange'
'FFF3E0',
'FFE0B2',
'FFCC80',
'FFB74D',
'FFA726',
'FF9800',
'FB8C00',
'F57C00',
'EF6C00',
'E65100',
'FFD180',
'FFAB40',
'FF9100',
'FF6D00',
// 'Deep Orange'
'FBE9E7',
'FFCCBC',
'FFAB91',
'FF8A65',
'FF7043',
'FF5722',
'F4511E',
'E64A19',
'D84315',
'BF360C',
'FF9E80',
'FF6E40',
'FF3D00',
'DD2C00',
// 'Brown'
'EFEBE9',
'D7CCC8',
'BCAAA4',
'A1887F',
'8D6E63',
'795548',
'6D4C41',
'5D4037',
'4E342E',
'3E2723',
// 'Grey'
'FAFAFA',
'F5F5F5',
'EEEEEE',
'E0E0E0',
'BDBDBD',
'9E9E9E',
'757575',
'616161',
'424242',
'212121',
// 'Blue Grey'
'ECEFF1',
'CFD8DC',
'B0BEC5',
'90A4AE',
'78909C',
'607D8B',
'546E7A',
'455A64',
'37474F',
'263238',
// 'Black'
'000000',
// 'White'
'FFFFFF'
]
export default function (param) {
return typeof param === 'object' ? genColor(param, materialColorList)
: `#${materialColorList[Math.floor(materialColorList.length * Math.random())]}`
}