make.colors = { colors: function () { return random.pick([ make.colors.colorRGB, make.colors.colorHSL, make.colors.colorKeywords ]); }, colorRGB: function () { let values; switch (random.number(4)) { case 0: // Rgb functional notation if (random.bool()) { // Ints values = [random.number(255), random.number(255), random.number(255)]; } else { // Percents values = ["%" + random.number(255), "%" + random.number(255), "%" + random.number(255)]; } return "rgba(" + values.join(',') + ")"; case 1: // Rgba functional notation values = [random.number(255), random.number(255), random.number(255), random.float()]; return "rgba(" + values.join(',') + ")"; case 2: // 4 char hex return "#" + random.hex(4); default: // 8 char hex return "#" + random.hex(8); } }, colorHSL: function () { let values, opt; switch (random.number(4)) { case 0: values = [random.number(255), "%" + random.number(255), "%" + random.number(255)]; return "hsl(" + values.join(',') + ")"; case 1: values = [random.number(255), "%" + random.number(255), "%" + random.number(255), "%" + random.number(255)]; return "hsl(" + values.join(',') + ")"; case 2: opt = random.pick(['deg', 'rad', 'grad', 'turn']); values = [random.number(255) + opt, "%" + random.number(255), "%" + random.number(255), "%" + random.number(255)]; return "hsl(" + values.join(',') + ")"; default: values = [random.number(255), "%" + random.number(255), "%" + random.number(255), random.float()]; return "hsl(" + values.join(',') + ")"; } }, colorKeywords: function () { return random.pick([ "lime", "red", "blue", "invert", "currentColor", "ActiveBorder", "ActiveCaption", "AppWorkspace", "Background", "ButtonFace", "ButtonHighlight", "ButtonShadow", "ButtonText", "CaptionText", "GrayText", "Highlight", "HighlightText", "InactiveBorder", "InactiveCaption", "InactiveCaptionText", "InfoBackground", "InfoText", "Menu", "MenuText", "Scrollbar", "ThreeDDarkShadow", "ThreeDFace", "ThreeDHighlight", "ThreeDLightShadow", "ThreeDShadow", "Window", "WindowFrame", "WindowText", "-moz-ButtonDefault", "-moz-ButtonHoverFace", "-moz-ButtonHoverText", "-moz-CellHighlight", "-moz-CellHighlightText", "-moz-Combobox", "-moz-ComboboxText", "-moz-Dialog", "-moz-DialogText", "-moz-dragtargetzone", "-moz-EvenTreeRow", "-moz-Field", "-moz-FieldText", "-moz-html-CellHighlight", "-moz-html-CellHighlightText", "-moz-mac-accentdarkestshadow", "-moz-mac-accentdarkshadow", "-moz-mac-accentface", "-moz-mac-accentlightesthighlight", "-moz-mac-accentlightshadow", "-moz-mac-accentregularhighlight", "-moz-mac-accentregularshadow", "-moz-mac-chrome-active", "-moz-mac-chrome-inactive", "-moz-mac-focusring", "-moz-mac-menuselect", "-moz-mac-menushadow", "-moz-mac-menutextselect", "-moz-MenuHover", "-moz-MenuHoverText", "-moz-MenuBarText", "-moz-MenuBarHoverText", "-moz-nativehyperlinktext", "-moz-OddTreeRow", "-moz-win-communicationstext", "-moz-win-mediatext", "-moz-activehyperlinktext", "-moz-default-background-color", "-moz-default-color", "-moz-hyperlinktext", "-moz-visitedhyperlinktext" ]); } };