{"version":3,"file":"color-CMbqu5KO.js","sources":["../../node_modules/color/index.js"],"sourcesContent":["const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n"],"names":["colorString","require$$0","convert","require$$1","skippedModels","hashedModelKeys","model","limiters","Color","object","i","channels","result","newArray","zeroArray","keys","hashedKeys","labels","color","limit","places","self","args","rgb","roundToPlace","value","getset","maxfn","rgbArray","alphaHex","lum","element","chan","color2","lum1","lum2","contrastRatio","ratio","hsl","hwb","degrees","hue","mixinColor","weight","color1","p","w","a","w1","w2","assertArray","roundTo","number","channel","modifier","m","max","v","array","length"],"mappings":"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","x_google_ignoreList":[0]}