{"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 : ((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 1;\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  if (_loop(_model)) 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","_toConsumableArray","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","concat","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","_ref","entries","_ref2","_slicedToArray","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","_loop","_model","includes","_len","arguments","_key","assertArray","raw","_len2","_key2","roundTo","number","Number","toFixed","channel","modifier","isArray","m","v","module","exports"],"sources":["/Users/Daniel.Antelo/Workspaces/expo-template-reactrouter-nativebase/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"}