85 lines
No EOL
3.6 KiB
JavaScript
85 lines
No EOL
3.6 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
make.colors = {
|
|
any: function () {
|
|
return random.pick([
|
|
make.colors.rgb,
|
|
make.colors.hsl,
|
|
make.colors.keyword
|
|
]);
|
|
},
|
|
|
|
rgb: 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);
|
|
}
|
|
},
|
|
|
|
hsl: 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(',') + ")";
|
|
}
|
|
},
|
|
|
|
keyword: 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"
|
|
]);
|
|
}
|
|
}; |