palette.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. /**
  2. * google-material-color v1.2.6
  3. * https://github.com/danlevan/google-material-color
  4. */
  5. (function(root, factory) {
  6. if (typeof define === 'function' && define.amd) {
  7. define([], factory);
  8. } else if (typeof exports === 'object') {
  9. module.exports = factory();
  10. } else {
  11. root.palette = factory();
  12. }
  13. })(this, function() {
  14. // avoid using lodash in dependencies
  15. function keys(obj) {
  16. var keys, key;
  17. keys = [];
  18. for (var key in obj) if (obj.hasOwnProperty(key)) {
  19. keys.push(key);
  20. }
  21. return keys;
  22. }
  23. // avoid using lodash in dependencies
  24. function random(min, max) {
  25. return Math.floor(Math.random() * ( max - min + 1 )) + min;
  26. }
  27. return {
  28. palette: {
  29. 'red': {
  30. '50': '#FFEBEE',
  31. '100': '#FFCDD2',
  32. '200': '#EF9A9A',
  33. '300': '#E57373',
  34. '400': '#EF5350',
  35. '500': '#F44336',
  36. '600': '#E53935',
  37. '700': '#D32F2F',
  38. '800': '#C62828',
  39. '900': '#B71C1C',
  40. 'A100': '#FF8A80',
  41. 'A200': '#FF5252',
  42. 'A400': '#FF1744',
  43. 'A700': '#D50000',
  44. },
  45. 'pink': {
  46. '50': '#FCE4EC',
  47. '100': '#F8BBD0',
  48. '200': '#F48FB1',
  49. '300': '#F06292',
  50. '400': '#EC407A',
  51. '500': '#E91E63',
  52. '600': '#D81B60',
  53. '700': '#C2185B',
  54. '800': '#AD1457',
  55. '900': '#880E4F',
  56. 'A100': '#FF80AB',
  57. 'A200': '#FF4081',
  58. 'A400': '#F50057',
  59. 'A700': '#C51162',
  60. },
  61. 'purple': {
  62. '50': '#F3E5F5',
  63. '100': '#E1BEE7',
  64. '200': '#CE93D8',
  65. '300': '#BA68C8',
  66. '400': '#AB47BC',
  67. '500': '#9C27B0',
  68. '600': '#8E24AA',
  69. '700': '#7B1FA2',
  70. '800': '#6A1B9A',
  71. '900': '#4A148C',
  72. 'A100': '#EA80FC',
  73. 'A200': '#E040FB',
  74. 'A400': '#D500F9',
  75. 'A700': '#AA00FF',
  76. },
  77. 'deep-purple': {
  78. '50': '#EDE7F6',
  79. '100': '#D1C4E9',
  80. '200': '#B39DDB',
  81. '300': '#9575CD',
  82. '400': '#7E57C2',
  83. '500': '#673AB7',
  84. '600': '#5E35B1',
  85. '700': '#512DA8',
  86. '800': '#4527A0',
  87. '900': '#311B92',
  88. 'A100': '#B388FF',
  89. 'A200': '#7C4DFF',
  90. 'A400': '#651FFF',
  91. 'A700': '#6200EA',
  92. },
  93. 'indigo': {
  94. '50': '#E8EAF6',
  95. '100': '#C5CAE9',
  96. '200': '#9FA8DA',
  97. '300': '#7986CB',
  98. '400': '#5C6BC0',
  99. '500': '#3F51B5',
  100. '600': '#3949AB',
  101. '700': '#303F9F',
  102. '800': '#283593',
  103. '900': '#1A237E',
  104. 'A100': '#8C9EFF',
  105. 'A200': '#536DFE',
  106. 'A400': '#3D5AFE',
  107. 'A700': '#304FFE',
  108. },
  109. 'blue': {
  110. '50': '#E3F2FD',
  111. '100': '#BBDEFB',
  112. '200': '#90CAF9',
  113. '300': '#64B5F6',
  114. '400': '#42A5F5',
  115. '500': '#2196F3',
  116. '600': '#1E88E5',
  117. '700': '#1976D2',
  118. '800': '#1565C0',
  119. '900': '#0D47A1',
  120. 'A100': '#82B1FF',
  121. 'A200': '#448AFF',
  122. 'A400': '#2979FF',
  123. 'A700': '#2962FF',
  124. },
  125. 'light-blue': {
  126. '50': '#E1F5FE',
  127. '100': '#B3E5FC',
  128. '200': '#81D4FA',
  129. '300': '#4FC3F7',
  130. '400': '#29B6F6',
  131. '500': '#03A9F4',
  132. '600': '#039BE5',
  133. '700': '#0288D1',
  134. '800': '#0277BD',
  135. '900': '#01579B',
  136. 'A100': '#80D8FF',
  137. 'A200': '#40C4FF',
  138. 'A400': '#00B0FF',
  139. 'A700': '#0091EA',
  140. },
  141. 'cyan': {
  142. '50': '#E0F7FA',
  143. '100': '#B2EBF2',
  144. '200': '#80DEEA',
  145. '300': '#4DD0E1',
  146. '400': '#26C6DA',
  147. '500': '#00BCD4',
  148. '600': '#00ACC1',
  149. '700': '#0097A7',
  150. '800': '#00838F',
  151. '900': '#006064',
  152. 'A100': '#84FFFF',
  153. 'A200': '#18FFFF',
  154. 'A400': '#00E5FF',
  155. 'A700': '#00B8D4',
  156. },
  157. 'teal': {
  158. '50': '#E0F2F1',
  159. '100': '#B2DFDB',
  160. '200': '#80CBC4',
  161. '300': '#4DB6AC',
  162. '400': '#26A69A',
  163. '500': '#009688',
  164. '600': '#00897B',
  165. '700': '#00796B',
  166. '800': '#00695C',
  167. '900': '#004D40',
  168. 'A100': '#A7FFEB',
  169. 'A200': '#64FFDA',
  170. 'A400': '#1DE9B6',
  171. 'A700': '#00BFA5',
  172. },
  173. 'green': {
  174. '50': '#E8F5E9',
  175. '100': '#C8E6C9',
  176. '200': '#A5D6A7',
  177. '300': '#81C784',
  178. '400': '#66BB6A',
  179. '500': '#4CAF50',
  180. '600': '#43A047',
  181. '700': '#388E3C',
  182. '800': '#2E7D32',
  183. '900': '#1B5E20',
  184. 'A100': '#B9F6CA',
  185. 'A200': '#69F0AE',
  186. 'A400': '#00E676',
  187. 'A700': '#00C853',
  188. },
  189. 'light-green': {
  190. '50': '#F1F8E9',
  191. '100': '#DCEDC8',
  192. '200': '#C5E1A5',
  193. '300': '#AED581',
  194. '400': '#9CCC65',
  195. '500': '#8BC34A',
  196. '600': '#7CB342',
  197. '700': '#689F38',
  198. '800': '#558B2F',
  199. '900': '#33691E',
  200. 'A100': '#CCFF90',
  201. 'A200': '#B2FF59',
  202. 'A400': '#76FF03',
  203. 'A700': '#64DD17',
  204. },
  205. 'lime': {
  206. '50': '#F9FBE7',
  207. '100': '#F0F4C3',
  208. '200': '#E6EE9C',
  209. '300': '#DCE775',
  210. '400': '#D4E157',
  211. '500': '#CDDC39',
  212. '600': '#C0CA33',
  213. '700': '#AFB42B',
  214. '800': '#9E9D24',
  215. '900': '#827717',
  216. 'A100': '#F4FF81',
  217. 'A200': '#EEFF41',
  218. 'A400': '#C6FF00',
  219. 'A700': '#AEEA00',
  220. },
  221. 'yellow': {
  222. '50': '#FFFDE7',
  223. '100': '#FFF9C4',
  224. '200': '#FFF59D',
  225. '300': '#FFF176',
  226. '400': '#FFEE58',
  227. '500': '#FFEB3B',
  228. '600': '#FDD835',
  229. '700': '#FBC02D',
  230. '800': '#F9A825',
  231. '900': '#F57F17',
  232. 'A100': '#FFFF8D',
  233. 'A200': '#FFFF00',
  234. 'A400': '#FFEA00',
  235. 'A700': '#FFD600',
  236. },
  237. 'amber': {
  238. '50': '#FFF8E1',
  239. '100': '#FFECB3',
  240. '200': '#FFE082',
  241. '300': '#FFD54F',
  242. '400': '#FFCA28',
  243. '500': '#FFC107',
  244. '600': '#FFB300',
  245. '700': '#FFA000',
  246. '800': '#FF8F00',
  247. '900': '#FF6F00',
  248. 'A100': '#FFE57F',
  249. 'A200': '#FFD740',
  250. 'A400': '#FFC400',
  251. 'A700': '#FFAB00',
  252. },
  253. 'orange': {
  254. '50': '#FFF3E0',
  255. '100': '#FFE0B2',
  256. '200': '#FFCC80',
  257. '300': '#FFB74D',
  258. '400': '#FFA726',
  259. '500': '#FF9800',
  260. '600': '#FB8C00',
  261. '700': '#F57C00',
  262. '800': '#EF6C00',
  263. '900': '#E65100',
  264. 'A100': '#FFD180',
  265. 'A200': '#FFAB40',
  266. 'A400': '#FF9100',
  267. 'A700': '#FF6D00',
  268. },
  269. 'deep-orange': {
  270. '50': '#FBE9E7',
  271. '100': '#FFCCBC',
  272. '200': '#FFAB91',
  273. '300': '#FF8A65',
  274. '400': '#FF7043',
  275. '500': '#FF5722',
  276. '600': '#F4511E',
  277. '700': '#E64A19',
  278. '800': '#D84315',
  279. '900': '#BF360C',
  280. 'A100': '#FF9E80',
  281. 'A200': '#FF6E40',
  282. 'A400': '#FF3D00',
  283. 'A700': '#DD2C00',
  284. },
  285. 'brown': {
  286. '50': '#EFEBE9',
  287. '100': '#D7CCC8',
  288. '200': '#BCAAA4',
  289. '300': '#A1887F',
  290. '400': '#8D6E63',
  291. '500': '#795548',
  292. '600': '#6D4C41',
  293. '700': '#5D4037',
  294. '800': '#4E342E',
  295. '900': '#3E2723',
  296. },
  297. 'grey': {
  298. '50': '#FAFAFA',
  299. '100': '#F5F5F5',
  300. '200': '#EEEEEE',
  301. '300': '#E0E0E0',
  302. '400': '#BDBDBD',
  303. '500': '#9E9E9E',
  304. '600': '#757575',
  305. '700': '#616161',
  306. '800': '#424242',
  307. '900': '#212121',
  308. },
  309. 'blue-grey': {
  310. '50': '#ECEFF1',
  311. '100': '#CFD8DC',
  312. '200': '#B0BEC5',
  313. '300': '#90A4AE',
  314. '400': '#78909C',
  315. '500': '#607D8B',
  316. '600': '#546E7A',
  317. '700': '#455A64',
  318. '800': '#37474F',
  319. '900': '#263238',
  320. },
  321. 'black': {
  322. '500': '#000000',
  323. 'Text': 'rgba(0,0,0,0.87)',
  324. 'Secondary Text': 'rgba(0,0,0,0.54)',
  325. 'Icons': 'rgba(0,0,0,0.54)',
  326. 'Disabled': 'rgba(0,0,0,0.26)',
  327. 'Hint Text': 'rgba(0,0,0,0.26)',
  328. 'Dividers': 'rgba(0,0,0,0.12)',
  329. },
  330. 'white': {
  331. '500': '#ffffff',
  332. 'Text': '#ffffff',
  333. 'Secondary Text': 'rgba(255,255,255,0.7)',
  334. 'Icons': '#ffffff',
  335. 'Disabled': 'rgba(255,255,255,0.3)',
  336. 'Hint Text': 'rgba(255,255,255,0.3)',
  337. 'Dividers': 'rgba(255,255,255,0.12)',
  338. },
  339. },
  340. get: function (color, shade) {
  341. return this.palette[color][shade || '500'];
  342. },
  343. find: function(color){
  344. var colors = color.split('-'),
  345. color,
  346. shade = 500;
  347. if(colors.length == 3){
  348. color = colors[0]+'-'+colors[1];
  349. shade = colors[2];
  350. }
  351. if(colors.length == 2){
  352. if(colors[1].indexOf('0') > 0){
  353. color = colors[0];
  354. shade = colors[1];
  355. }else{
  356. color = colors[0]+'-'+colors[1];
  357. }
  358. }
  359. return this.get( color, shade );
  360. },
  361. random: function(shade) {
  362. var colors, color, shades;
  363. colors = keys(this.palette);
  364. color = colors[random(0, colors.length - 1)];
  365. if (shade == null) {
  366. shades = keys(color);
  367. shade = shades[random(0, shades.length - 1)];
  368. }
  369. return this.get(color, shade);
  370. }
  371. };
  372. });