UNPKG

web-atoms-core

Version:
277 lines • 15 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // tslint:disable:member-ordering var ColorItem = /** @class */ (function () { function ColorItem(colorCodeOrRed, namedColorOrGreen, blue, alpha) { if (typeof colorCodeOrRed === "string") { this.colorCode = colorCodeOrRed; if (typeof namedColorOrGreen === "string") { this.namedColor = namedColorOrGreen; } var r = ColorItem.parseRgb(this.colorCode); this.red = r.red; this.green = r.green; this.blue = r.blue; this.alpha = r.alpha; } else { this.red = colorCodeOrRed; if (typeof namedColorOrGreen === "number") { this.green = namedColorOrGreen; } this.blue = blue; this.alpha = alpha; this.colorCode = ColorItem.rgb(this.red, this.green, this.blue, this.alpha); } } ColorItem.prototype.toString = function () { return this.colorCode; }; ColorItem.prototype.withAlphaPercent = function (a) { // a = a * 255; return new ColorItem(this.red, this.green, this.blue, a); }; ColorItem.parseRgb = function (rgba) { if (/^\#/.test(rgba)) { rgba = rgba.substr(1); // this is hex... if (rgba.length === 3) { rgba = rgba.split("").map(function (x) { return x + x; }).join(""); } var red = Number.parseInt(rgba[0] + rgba[1], 16); var green = Number.parseInt(rgba[2] + rgba[3], 16); var blue = Number.parseInt(rgba[4] + rgba[5], 16); if (rgba.length > 6) { var alpha = Number.parseInt(rgba[6] + rgba[7], 16); return { red: red, green: green, blue: blue, alpha: alpha }; } return { red: red, green: green, blue: blue }; } if (/^rgba/i.test(rgba)) { rgba = rgba.substr(5); rgba = rgba.substr(0, rgba.length - 1); var a = rgba.split(",").map(function (x, i) { return i === 3 ? Number.parseFloat(x) : Number.parseInt(x, 10); }); return { red: a[0], green: a[1], blue: a[2], alpha: a[3] }; } if (/^rgb/i.test(rgba)) { rgba = rgba.substr(4); rgba = rgba.substr(0, rgba.length - 1); var a = rgba.split(",").map(function (x) { return Number.parseInt(x, 10); }); return { red: a[0], green: a[1], blue: a[2] }; } throw new Error("Unknown color format " + rgba); }; ColorItem.rgb = function (r, g, b, a) { // if (!isInt(r)) { // // all must be less than one... // if (isInt(g) || isInt(b) || (a !== undefined && isInt(a))) { // throw new Error("All color values must be either fractions or integers between 0 to 255"); // } // r = r * 255; // g = g * 255; // b = b * 255; // } if (a !== undefined) { return "rgba(" + r + "," + g + "," + b + "," + a + ")"; } return "#" + toFixedString(r) + toFixedString(g) + toFixedString(b); }; return ColorItem; }()); exports.ColorItem = ColorItem; // function isInt(n: number): boolean { // return Number(n) === n && n % 1 === 0; // } function toFixedString(t) { return ("0" + t.toString(16)).slice(-2); } var Colors = /** @class */ (function () { function Colors() { } Colors.rgba = function (red, green, blue, alpha) { return new ColorItem(red, green, blue, alpha); }; Colors.parse = function (color) { if (!color) { return null; } color = color.toLowerCase(); // check if exists in current... for (var key in Colors) { if (Colors.hasOwnProperty(key)) { var element = Colors[key]; if (element instanceof ColorItem) { var ci = element; if (ci.namedColor === color) { return ci; } } } } if (/^(\#|rgb\(|rgba\()/i.test(color)) { return new ColorItem(color); } throw new Error("Invalid color format " + color); }; Colors.black = new ColorItem("#000000", "black"); Colors.silver = new ColorItem("#c0c0c0", "silver"); Colors.gray = new ColorItem("#808080", "gray"); Colors.white = new ColorItem("#ffffff", "white"); Colors.maroon = new ColorItem("#800000", "maroon"); Colors.red = new ColorItem("#ff0000", "red"); Colors.purple = new ColorItem("#800080", "purple"); Colors.fuchsia = new ColorItem("#ff00ff", "fuchsia"); Colors.green = new ColorItem("#008000", "green"); Colors.lime = new ColorItem("#00ff00", "lime"); Colors.olive = new ColorItem("#808000", "olive"); Colors.yellow = new ColorItem("#ffff00", "yellow"); Colors.navy = new ColorItem("#000080", "navy"); Colors.blue = new ColorItem("#0000ff", "blue"); Colors.teal = new ColorItem("#008080", "teal"); Colors.aqua = new ColorItem("#00ffff", "aqua"); Colors.orange = new ColorItem("#ffa500", "orange"); Colors.aliceBlue = new ColorItem("#f0f8ff", "aliceblue"); Colors.antiqueWhite = new ColorItem("#faebd7", "antiquewhite"); Colors.aquaMarine = new ColorItem("#7fffd4", "aquamarine"); Colors.azure = new ColorItem("#f0ffff", "azure"); Colors.beige = new ColorItem("#f5f5dc", "beige"); Colors.bisque = new ColorItem("#ffe4c4", "bisque"); Colors.blanchedAlmond = new ColorItem("#ffebcd", "blanchedalmond"); Colors.blueViolet = new ColorItem("#8a2be2", "blueviolet"); Colors.brown = new ColorItem("#a52a2a", "brown"); Colors.burlyWood = new ColorItem("#deb887", "burlywood"); Colors.cadetBlue = new ColorItem("#5f9ea0", "cadetblue"); Colors.chartReuse = new ColorItem("#7fff00", "chartreuse"); Colors.chocolate = new ColorItem("#d2691e", "chocolate"); Colors.coral = new ColorItem("#ff7f50", "coral"); Colors.cornFlowerBlue = new ColorItem("#6495ed", "cornflowerblue"); Colors.cornSilk = new ColorItem("#fff8dc", "cornsilk"); Colors.crimson = new ColorItem("#dc143c", "crimson"); Colors.cyan = new ColorItem("#00ffff", "cyan"); Colors.darkBlue = new ColorItem("#00008b", "darkblue"); Colors.darkCyan = new ColorItem("#008b8b", "darkcyan"); Colors.darkGoldenRod = new ColorItem("#b8860b", "darkgoldenrod"); Colors.darkGray = new ColorItem("#a9a9a9", "darkgray"); Colors.darkGreen = new ColorItem("#006400", "darkgreen"); Colors.darkGrey = new ColorItem("#a9a9a9", "darkgrey"); Colors.darkKhaki = new ColorItem("#bdb76b", "darkkhaki"); Colors.darkMagenta = new ColorItem("#8b008b", "darkmagenta"); Colors.darkOliveGreen = new ColorItem("#556b2f", "darkolivegreen"); Colors.darkOrange = new ColorItem("#ff8c00", "darkorange"); Colors.darkOrchid = new ColorItem("#9932cc", "darkorchid"); Colors.darkRed = new ColorItem("#8b0000", "darkred"); Colors.darkSalmon = new ColorItem("#e9967a", "darksalmon"); Colors.darkSeaGreen = new ColorItem("#8fbc8f", "darkseagreen"); Colors.darkSlateBlue = new ColorItem("#483d8b", "darkslateblue"); Colors.darkSlateGray = new ColorItem("#2f4f4f", "darkslategray"); Colors.darkSlateGrey = new ColorItem("#2f4f4f", "darkslategrey"); Colors.darkTurquoise = new ColorItem("#00ced1", "darkturquoise"); Colors.darkViolet = new ColorItem("#9400d3", "darkviolet"); Colors.deepPink = new ColorItem("#ff1493", "deeppink"); Colors.deepSkyBlue = new ColorItem("#00bfff", "deepskyblue"); Colors.dimGray = new ColorItem("#696969", "dimgray"); Colors.dimGrey = new ColorItem("#696969", "dimgrey"); Colors.dodgerBlue = new ColorItem("#1e90ff", "dodgerblue"); Colors.fireBrick = new ColorItem("#b22222", "firebrick"); Colors.floralWhite = new ColorItem("#fffaf0", "floralwhite"); Colors.forestGreen = new ColorItem("#228b22", "forestgreen"); Colors.gainsboro = new ColorItem("#dcdcdc", "gainsboro"); Colors.ghostWhite = new ColorItem("#f8f8ff", "ghostwhite"); Colors.gold = new ColorItem("#ffd700", "gold"); Colors.goldenRod = new ColorItem("#daa520", "goldenrod"); Colors.greenYellow = new ColorItem("#adff2f", "greenyellow"); Colors.grey = new ColorItem("#808080", "grey"); Colors.honeyDew = new ColorItem("#f0fff0", "honeydew"); Colors.hotPink = new ColorItem("#ff69b4", "hotpink"); Colors.indianRed = new ColorItem("#cd5c5c", "indianred"); Colors.indigo = new ColorItem("#4b0082", "indigo"); Colors.ivory = new ColorItem("#fffff0", "ivory"); Colors.khaki = new ColorItem("#f0e68c", "khaki"); Colors.lavender = new ColorItem("#e6e6fa", "lavender"); Colors.lavenderBlush = new ColorItem("#fff0f5", "lavenderblush"); Colors.lawnGreen = new ColorItem("#7cfc00", "lawngreen"); Colors.lemonChiffon = new ColorItem("#fffacd", "lemonchiffon"); Colors.lightBlue = new ColorItem("#add8e6", "lightblue"); Colors.lightCoral = new ColorItem("#f08080", "lightcoral"); Colors.lightCyan = new ColorItem("#e0ffff", "lightcyan"); Colors.lightGoldenRodYellow = new ColorItem("#fafad2", "lightgoldenrodyellow"); Colors.lightGray = new ColorItem("#d3d3d3", "lightgray"); Colors.lightGreen = new ColorItem("#90ee90", "lightgreen"); Colors.lightGrey = new ColorItem("#d3d3d3", "lightgrey"); Colors.lightPink = new ColorItem("#ffb6c1", "lightpink"); Colors.lightSalmon = new ColorItem("#ffa07a", "lightsalmon"); Colors.lightSeaGreen = new ColorItem("#20b2aa", "lightseagreen"); Colors.lightSkyBlue = new ColorItem("#87cefa", "lightskyblue"); Colors.lightSlateGray = new ColorItem("#778899", "lightslategray"); Colors.lightSlateGrey = new ColorItem("#778899", "lightslategrey"); Colors.lightSteelBlue = new ColorItem("#b0c4de", "lightsteelblue"); Colors.lightYellow = new ColorItem("#ffffe0", "lightyellow"); Colors.limeGreen = new ColorItem("#32cd32", "limegreen"); Colors.linen = new ColorItem("#faf0e6", "linen"); Colors.magenta = new ColorItem("#ff00ff", "magenta"); Colors.mediumAquaMarine = new ColorItem("#66cdaa", "mediumaquamarine"); Colors.mediumBlue = new ColorItem("#0000cd", "mediumblue"); Colors.mediumOrchid = new ColorItem("#ba55d3", "mediumorchid"); Colors.mediumPurple = new ColorItem("#9370db", "mediumpurple"); Colors.mediumSeaGreen = new ColorItem("#3cb371", "mediumseagreen"); Colors.mediumSlateBlue = new ColorItem("#7b68ee", "mediumslateblue"); Colors.mediumSpringGreen = new ColorItem("#00fa9a", "mediumspringgreen"); Colors.mediumTurquoise = new ColorItem("#48d1cc", "mediumturquoise"); Colors.mediumVioletred = new ColorItem("#c71585", "mediumvioletred"); Colors.midNightBlue = new ColorItem("#191970", "midnightblue"); Colors.mintCream = new ColorItem("#f5fffa", "mintcream"); Colors.mistyRose = new ColorItem("#ffe4e1", "mistyrose"); Colors.moccasin = new ColorItem("#ffe4b5", "moccasin"); Colors.navajoWhite = new ColorItem("#ffdead", "navajowhite"); Colors.oldLace = new ColorItem("#fdf5e6", "oldlace"); Colors.oliveDrab = new ColorItem("#6b8e23", "olivedrab"); Colors.orangeRed = new ColorItem("#ff4500", "orangered"); Colors.orchid = new ColorItem("#da70d6", "orchid"); Colors.paleGoldenRod = new ColorItem("#eee8aa", "palegoldenrod"); Colors.paleGreen = new ColorItem("#98fb98", "palegreen"); Colors.paleTurquoise = new ColorItem("#afeeee", "paleturquoise"); Colors.paleVioletRed = new ColorItem("#db7093", "palevioletred"); Colors.papayaWhip = new ColorItem("#ffefd5", "papayawhip"); Colors.peachPuff = new ColorItem("#ffdab9", "peachpuff"); Colors.peru = new ColorItem("#cd853f", "peru"); Colors.pink = new ColorItem("#ffc0cb", "pink"); Colors.plum = new ColorItem("#dda0dd", "plum"); Colors.powderBlue = new ColorItem("#b0e0e6", "powderblue"); Colors.rosyBrown = new ColorItem("#bc8f8f", "rosybrown"); Colors.royalBlue = new ColorItem("#4169e1", "royalblue"); Colors.saddleBrown = new ColorItem("#8b4513", "saddlebrown"); Colors.salmon = new ColorItem("#fa8072", "salmon"); Colors.sandyBrown = new ColorItem("#f4a460", "sandybrown"); Colors.seaGreen = new ColorItem("#2e8b57", "seagreen"); Colors.seaShell = new ColorItem("#fff5ee", "seashell"); Colors.sienna = new ColorItem("#a0522d", "sienna"); Colors.skyBlue = new ColorItem("#87ceeb", "skyblue"); Colors.slateBlue = new ColorItem("#6a5acd", "slateblue"); Colors.slateGray = new ColorItem("#708090", "slategray"); Colors.slateGrey = new ColorItem("#708090", "slategrey"); Colors.snow = new ColorItem("#fffafa", "snow"); Colors.springGreen = new ColorItem("#00ff7f", "springgreen"); Colors.steelBlue = new ColorItem("#4682b4", "steelblue"); Colors.tan = new ColorItem("#d2b48c", "tan"); Colors.thistle = new ColorItem("#d8bfd8", "thistle"); Colors.tomato = new ColorItem("#ff6347", "tomato"); Colors.turquoise = new ColorItem("#40e0d0", "turquoise"); Colors.violet = new ColorItem("#ee82ee", "violet"); Colors.wheat = new ColorItem("#f5deb3", "wheat"); Colors.whiteSmoke = new ColorItem("#f5f5f5", "whitesmoke"); Colors.yellowGreen = new ColorItem("#9acd32", "yellowgreen"); Colors.rebeccaPurple = new ColorItem("#663399", "rebeccapurple"); return Colors; }()); exports.default = Colors; }); //# sourceMappingURL=Colors.js.map