You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
41 KiB

{"ast":null,"code":"var _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\nvar _toConsumableArray = require(\"@babel/runtime/helpers/toConsumableArray\");\nvar colorString = require('color-string');\nvar convert = require('color-convert');\nvar skippedModels = ['keyword', 'gray', 'hex'];\nvar hashedModelKeys = {};\nfor (var model of Object.keys(convert)) {\n hashedModelKeys[_toConsumableArray(convert[model].labels).sort().join('')] = model;\n}\nvar limiters = {};\nfunction Color(object, model) {\n if (!(this instanceof Color)) {\n return new Color(object, model);\n }\n if (model && model in skippedModels) {\n model = null;\n }\n if (model && !(model in convert)) {\n throw new Error('Unknown model: ' + model);\n }\n var i;\n var channels;\n if (object == null) {\n this.model = 'rgb';\n this.color = [0, 0, 0];\n this.valpha = 1;\n } else if (object instanceof Color) {\n this.model = object.model;\n this.color = _toConsumableArray(object.color);\n this.valpha = object.valpha;\n } else if (typeof object === 'string') {\n var result = colorString.get(object);\n if (result === null) {\n throw new Error('Unable to parse color from string: ' + object);\n }\n this.model = result.model;\n channels = convert[this.model].channels;\n this.color = result.value.slice(0, channels);\n this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n } else if (object.length > 0) {\n this.model = model || 'rgb';\n channels = convert[this.model].channels;\n var newArray = Array.prototype.slice.call(object, 0, channels);\n this.color = zeroArray(newArray, channels);\n this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n } else if (typeof object === 'number') {\n this.model = 'rgb';\n this.color = [object >> 16 & 0xFF, object >> 8 & 0xFF, object & 0xFF];\n this.valpha = 1;\n } else {\n this.valpha = 1;\n var keys = Object.keys(object);\n if ('alpha' in object) {\n keys.splice(keys.indexOf('alpha'), 1);\n this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n }\n var hashedKeys = keys.sort().join('');\n if (!(hashedKeys in hashedModelKeys)) {\n throw new Error('Unable to parse color from object: ' + JSON.stringify(object));\n }\n this.model = hashedModelKeys[hashedKeys];\n var labels = convert[this.model].labels;\n var color = [];\n for (i = 0; i < labels.length; i++) {\n color.push(object[labels[i]]);\n }\n this.color = zeroArray(color);\n }\n if (limiters[this.model]) {\n channels = convert[this.model].channels;\n for (i = 0; i < channels; i++) {\n var limit = limiters[this.model][i];\n if (limit) {\n this.color[i] = limit(this.color[i]);\n }\n }\n }\n this.valpha = Math.max(0, Math.min(1, this.valpha));\n if (Object.freeze) {\n Object.freeze(this);\n }\n}\nColor.prototype = {\n toString: function toString() {\n return this.string();\n },\n toJSON: function toJSON() {\n return this[this.model]();\n },\n string: function string(places) {\n var self = this.model in colorString.to ? this : this.rgb();\n self = self.round(typeof places === 'number' ? places : 1);\n var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);\n return colorString.to[self.model](args);\n },\n percentString: function percentString(places) {\n var self = this.rgb().round(typeof places === 'number' ? places : 1);\n var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);\n return colorString.to.rgb.percent(args);\n },\n array: function array() {\n return this.valpha === 1 ? _toConsumableArray(this.color) : [].concat(_toConsumableArray(this.color), [this.valpha]);\n },\n object: function object() {\n var result = {};\n var channels = convert[this.model].channels;\n var labels = convert[this.model].labels;\n for (var i = 0; i < channels; i++) {\n result[labels[i]] = this.color[i];\n }\n if (this.valpha !== 1) {\n result.alpha = this.valpha;\n }\n return result;\n },\n unitArray: function unitArray() {\n var rgb = this.rgb().color;\n rgb[0] /= 255;\n rgb[1] /= 255;\n rgb[2] /= 255;\n if (this.valpha !== 1) {\n rgb.push(this.valpha);\n }\n return rgb;\n },\n unitObject: function unitObject() {\n var rgb = this.rgb().object();\n rgb.r /= 255;\n rgb.g /= 255;\n rgb.b /= 255;\n if (this.valpha !== 1) {\n rgb.alpha = this.valpha;\n }\n return rgb;\n },\n round: function round(places) {\n places = Math.max(places || 0, 0);\n return new Color([].concat(_toConsumableArray(this.color.map(roundToPlace(places))), [this.valpha]), this.model);\n },\n alpha: function alpha(value) {\n if (value !== undefined) {\n return new Color([].concat(_toConsumableArray(this.color), [Math.max(0, Math.min(1, value))]), this.model);\n }\n return this.valpha;\n },\n red: getset('rgb', 0, maxfn(255)),\n green: getset('rgb', 1, maxfn(255)),\n blue: getset('rgb', 2, maxfn(255)),\n hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (value) {\n return (value % 360 + 360) % 360;\n }),\n saturationl: getset('hsl', 1, maxfn(100)),\n lightness: getset('hsl', 2, maxfn(100)),\n saturationv: getset('hsv', 1, maxfn(100)),\n value: getset('hsv', 2, maxfn(100)),\n chroma: getset('hcg', 1, maxfn(100)),\n gray: getset('hcg', 2, maxfn(100)),\n white: getset('hwb', 1, maxfn(100)),\n wblack: getset('hwb', 2, maxfn(100)),\n cyan: getset('cmyk', 0, maxfn(100)),\n magenta: getset('cmyk', 1, maxfn(100)),\n yellow: getset('cmyk', 2, maxfn(100)),\n black: getset('cmyk', 3, maxfn(100)),\n x: getset('xyz', 0, maxfn(95.047)),\n y: getset('xyz', 1, maxfn(100)),\n z: getset('xyz', 2, maxfn(108.833)),\n l: getset('lab', 0, maxfn(100)),\n a: getset('lab', 1),\n b: getset('lab', 2),\n keyword: function keyword(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n return convert[this.model].keyword(this.color);\n },\n hex: function hex(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n return colorString.to.hex(this.rgb().round().color);\n },\n hexa: function hexa(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n var rgbArray = this.rgb().round().color;\n var alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n if (alphaHex.length === 1) {\n alphaHex = '0' + alphaHex;\n }\n return colorString.to.hex(rgbArray) + alphaHex;\n },\n rgbNumber: function rgbNumber() {\n var rgb = this.rgb().color;\n return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;\n },\n luminosity: function luminosity() {\n var rgb = this.rgb().color;\n var lum = [];\n for (var _ref of rgb.entries()) {\n var _ref2 = _slicedToArray(_ref, 2);\n var i = _ref2[0];\n var element = _ref2[1];\n var chan = element / 255;\n lum[i] = chan <= 0.04045 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n },\n contrast: function contrast(color2) {\n var lum1 = this.luminosity();\n var lum2 = color2.luminosity();\n if (lum1 > lum2) {\n return (lum1 + 0.05) / (lum2 + 0.05);\n }\n return (lum2 + 0.05) / (lum1 + 0.05);\n },\n level: function level(color2) {\n var contrastRatio = this.contrast(color2);\n if (contrastRatio >= 7) {\n return 'AAA';\n }\n return contrastRatio >= 4.5 ? 'AA' : '';\n },\n isDark: function isDark() {\n var rgb = this.rgb().color;\n var yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n return yiq < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n negate: function negate() {\n var rgb = this.rgb();\n for (var i = 0; i < 3; i++) {\n rgb.color[i] = 255 - rgb.color[i];\n }\n return rgb;\n },\n lighten: function lighten(ratio) {\n var hsl = this.hsl();\n hsl.color[2] += hsl.color[2] * ratio;\n return hsl;\n },\n darken: function darken(ratio) {\n var hsl = this.hsl();\n hsl.color[2] -= hsl.color[2] * ratio;\n return hsl;\n },\n saturate: function saturate(ratio) {\n var hsl = this.hsl();\n hsl.color[1] += hsl.color[1] * ratio;\n return hsl;\n },\n desaturate: function desaturate(ratio) {\n var hsl = this.hsl();\n hsl.color[1] -= hsl.color[1] * ratio;\n return hsl;\n },\n whiten: function whiten(ratio) {\n var hwb = this.hwb();\n hwb.color[1] += hwb.color[1] * ratio;\n return hwb;\n },\n blacken: function blacken(ratio) {\n var hwb = this.hwb();\n hwb.color[2] += hwb.color[2] * ratio;\n return hwb;\n },\n grayscale: function grayscale() {\n var rgb = this.rgb().color;\n var value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n return Color.rgb(value, value, value);\n },\n fade: function fade(ratio) {\n return this.alpha(this.valpha - this.valpha * ratio);\n },\n opaquer: function opaquer(ratio) {\n return this.alpha(this.valpha + this.valpha * ratio);\n },\n rotate: function rotate(degrees) {\n var hsl = this.hsl();\n var hue = hsl.color[0];\n hue = (hue + degrees) % 360;\n hue = hue < 0 ? 360 + hue : hue;\n hsl.color[0] = hue;\n return hsl;\n },\n mix: function mix(mixinColor, weight) {\n if (!mixinColor || !mixinColor.rgb) {\n throw new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n }\n var color1 = mixinColor.rgb();\n var color2 = this.rgb();\n var p = weight === undefined ? 0.5 : weight;\n var w = 2 * p - 1;\n var a = color1.alpha() - color2.alpha();\n var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;\n var w2 = 1 - w1;\n return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));\n }\n};\nvar _loop = function _loop(model) {\n if (skippedModels.includes(model)) {\n return \"continue\";\n }\n var channels = convert[model].channels;\n Color.prototype[model] = function () {\n if (this.model === model) {\n return new Color(this);\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length > 0) {\n return new Color(args, model);\n }\n return new Color([].concat(_toConsumableArray(assertArray(convert[this.model][model].raw(this.color))), [this.valpha]), model);\n };\n Color[model] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var color = args[0];\n if (typeof color === 'number') {\n color = zeroArray(args, channels);\n }\n return new Color(color, model);\n };\n};\nfor (var _model of Object.keys(convert)) {\n var _ret = _loop(_model);\n if (_ret === \"continue\") continue;\n}\nfunction roundTo(number, places) {\n return Number(number.toFixed(places));\n}\nfunction roundToPlace(places) {\n return function (number) {\n return roundTo(number, places);\n };\n}\nfunction getset(model, channel, modifier) {\n model = Array.isArray(model) ? model : [model];\n for (var m of model) {\n (limiters[m] || (limiters[m] = []))[channel] = modifier;\n }\n model = model[0];\n return function (value) {\n var result;\n if (value !== undefined) {\n if (modifier) {\n value = modifier(value);\n }\n result = this[model]();\n result.color[channel] = value;\n return result;\n }\n result = this[model]().color[channel];\n if (modifier) {\n result = modifier(result);\n }\n return result;\n };\n}\nfunction maxfn(max) {\n return function (v) {\n return Math.max(0, Math.min(max, v));\n };\n}\nfunction assertArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nfunction zeroArray(array, length) {\n for (var i = 0; i < length; i++) {\n if (typeof array[i] !== 'number') {\n array[i] = 0;\n }\n }\n return array;\n}\nmodule.exports = Color;","map":{"version":3,"names":["colorString","require","convert","skippedModels","hashedModelKeys","model","Object","keys","labels","sort","join","limiters","Color","object","Error","i","channels","color","valpha","result","get","value","slice","length","newArray","Array","prototype","call","zeroArray","splice","indexOf","alpha","hashedKeys","JSON","stringify","push","limit","Math","max","min","freeze","toString","string","toJSON","places","self","to","rgb","round","args","percentString","percent","array","unitArray","unitObject","r","g","b","map","roundToPlace","undefined","red","getset","maxfn","green","blue","hue","saturationl","lightness","saturationv","chroma","gray","white","wblack","cyan","magenta","yellow","black","x","y","z","l","a","keyword","hex","hexa","rgbArray","alphaHex","toUpperCase","rgbNumber","luminosity","lum","entries","element","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","yiq","isLight","negate","lighten","ratio","hsl","darken","saturate","desaturate","whiten","hwb","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","p","w","w1","w2","includes","assertArray","raw","roundTo","number","Number","toFixed","channel","modifier","isArray","m","v","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@react-navigation/bottom-tabs/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"],"mappings":"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"},"metadata":{},"sourceType":"script"}