forked from One-com/one-color
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathone-color-all.map
1 lines (1 loc) · 47.8 KB
/
one-color-all.map
1
{"version":3,"sources":["lib/color.js","lib/XYZ.js","lib/LAB.js","lib/HSV.js","lib/HSL.js","lib/CMYK.js","lib/plugins/namedColors.js","lib/plugins/clearer.js","lib/plugins/luminance.js","lib/plugins/contrast.js","lib/plugins/darken.js","lib/plugins/desaturate.js","lib/plugins/grayscale.js","lib/plugins/isDark.js","lib/plugins/isLight.js","lib/plugins/lighten.js","lib/plugins/mix.js","lib/plugins/negate.js","lib/plugins/opaquer.js","lib/plugins/rotate.js","lib/plugins/saturate.js","lib/plugins/toAlpha.js","index.js"],"names":["color","obj","Array","isArray","slice","length","RGB","lowerCased","toLowerCase","namedColors","matchCssSyntax","match","cssColorRegExp","colorSpaceName","toUpperCase","alpha","undef","parseFloat","hasHue","firstChannelDivisor","secondChannelDivisor","thirdChannelDivisor","Error","replace","hexMatch","parseInt","CMYK","cmykMatch","RegExp","percentageChannelRegExp","source","isColor","installedColorSpaces","channelRegExp","installColorSpace","propertyNames","config","installForeignMethods","targetColorSpaceName","sourceColorSpaceName","this","rgb","forEach","propertyName","shortName","charAt","value","isDelta","prop","hasOwnProperty","undefined","prototype","a1","args","arguments","i","propertyValue","_alpha","isNaN","join","_hue","Math","floor","methodName","hex","equals","otherColor","epsilon","abs","toJSON","concat","map","matchFromColorSpace","toString","constructor","otherPropertyName","otherColorSpaceName","push","pluginList","use","plugin","indexOf","installMethod","name","fn","colorSpace","hexString","round","_red","_green","_blue","substr","hexa","alphaString","css","cssa","color_1","XYZ","fromRgb","convert","channel","pow","r","g","b","x","_x","y","_y","z","_z","lab","LAB","require$$0","xyz","_l","_a","_b","HSV","red","green","blue","hue","saturation","_saturation","_value","min","f","p","q","t","hsl","l","sv","svDivisor","HSL","max","delta","hsv","_lightness","s","_cyan","_black","_magenta","_yellow","cyan","magenta","yellow","black","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellowgreen","clearer","amount","luminance","channelLuminance","contrast","color2","lum1","lum2","darken","lightness","desaturate","grayscale","gs","val","isDark","isLight","lighten","mix","weight","w","a","weight1","weight2","negate","opaquer","rotate","degrees","saturate","toAlpha","me","other","channels","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21"],"mappings":"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","sourcesContent":["var installedColorSpaces = [],\n undef = function (obj) {\n return typeof obj === 'undefined';\n },\n channelRegExp = /\\s*(\\.\\d+|\\d+(?:\\.\\d+)?)(%)?\\s*/,\n percentageChannelRegExp = /\\s*(\\.\\d+|100|\\d?\\d(?:\\.\\d+)?)%\\s*/,\n alphaChannelRegExp = /\\s*(\\.\\d+|\\d+(?:\\.\\d+)?)\\s*/,\n cssColorRegExp = new RegExp(\n '^(rgb|hsl|hsv)a?' +\n '\\\\(' +\n channelRegExp.source + ',' +\n channelRegExp.source + ',' +\n channelRegExp.source +\n '(?:,' + alphaChannelRegExp.source + ')?' +\n '\\\\)$', 'i');\n\nfunction color(obj) {\n if (Array.isArray(obj)) {\n if (typeof obj[0] === 'string' && typeof color[obj[0]] === 'function') {\n // Assumed array from .toJSON()\n return new color[obj[0]](obj.slice(1, obj.length));\n } else if (obj.length === 4) {\n // Assumed 4 element int RGB array from canvas with all channels [0;255]\n return new color.RGB(obj[0] / 255, obj[1] / 255, obj[2] / 255, obj[3] / 255);\n }\n } else if (typeof obj === 'string') {\n var lowerCased = obj.toLowerCase();\n if (color.namedColors[lowerCased]) {\n obj = '#' + color.namedColors[lowerCased];\n }\n if (lowerCased === 'transparent') {\n obj = 'rgba(0,0,0,0)';\n }\n // Test for CSS rgb(....) string\n var matchCssSyntax = obj.match(cssColorRegExp);\n if (matchCssSyntax) {\n var colorSpaceName = matchCssSyntax[1].toUpperCase(),\n alpha = undef(matchCssSyntax[8]) ? matchCssSyntax[8] : parseFloat(matchCssSyntax[8]),\n hasHue = colorSpaceName[0] === 'H',\n firstChannelDivisor = matchCssSyntax[3] ? 100 : (hasHue ? 360 : 255),\n secondChannelDivisor = (matchCssSyntax[5] || hasHue) ? 100 : 255,\n thirdChannelDivisor = (matchCssSyntax[7] || hasHue) ? 100 : 255;\n if (undef(color[colorSpaceName])) {\n throw new Error('color.' + colorSpaceName + ' is not installed.');\n }\n return new color[colorSpaceName](\n parseFloat(matchCssSyntax[2]) / firstChannelDivisor,\n parseFloat(matchCssSyntax[4]) / secondChannelDivisor,\n parseFloat(matchCssSyntax[6]) / thirdChannelDivisor,\n alpha\n );\n }\n // Assume hex syntax\n if (obj.length < 6) {\n // Allow CSS shorthand\n obj = obj.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, '$1$1$2$2$3$3');\n }\n // Split obj into red, green, and blue components\n var hexMatch = obj.match(/^#?([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$/i);\n if (hexMatch) {\n return new color.RGB(\n parseInt(hexMatch[1], 16) / 255,\n parseInt(hexMatch[2], 16) / 255,\n parseInt(hexMatch[3], 16) / 255\n );\n }\n\n // No match so far. Lets try the less likely ones\n if (color.CMYK) {\n var cmykMatch = obj.match(new RegExp(\n '^cmyk' +\n '\\\\(' +\n percentageChannelRegExp.source + ',' +\n percentageChannelRegExp.source + ',' +\n percentageChannelRegExp.source + ',' +\n percentageChannelRegExp.source +\n '\\\\)$', 'i'));\n if (cmykMatch) {\n return new color.CMYK(\n parseFloat(cmykMatch[1]) / 100,\n parseFloat(cmykMatch[2]) / 100,\n parseFloat(cmykMatch[3]) / 100,\n parseFloat(cmykMatch[4]) / 100\n );\n }\n }\n } else if (typeof obj === 'object' && obj.isColor) {\n return obj;\n }\n return false;\n}\n\ncolor.namedColors = {};\n\ncolor.installColorSpace = function (colorSpaceName, propertyNames, config) {\n color[colorSpaceName] = function (a1) { // ...\n var args = Array.isArray(a1) ? a1 : arguments;\n propertyNames.forEach(function (propertyName, i) {\n var propertyValue = args[i];\n if (propertyName === 'alpha') {\n this._alpha = (isNaN(propertyValue) || propertyValue > 1) ? 1 : (propertyValue < 0 ? 0 : propertyValue);\n } else {\n if (isNaN(propertyValue)) {\n throw new Error('[' + colorSpaceName + ']: Invalid color: (' + propertyNames.join(',') + ')');\n }\n if (propertyName === 'hue') {\n this._hue = propertyValue < 0 ? propertyValue - Math.floor(propertyValue) : propertyValue % 1;\n } else {\n this['_' + propertyName] = propertyValue < 0 ? 0 : (propertyValue > 1 ? 1 : propertyValue);\n }\n }\n }, this);\n };\n color[colorSpaceName].propertyNames = propertyNames;\n\n var prototype = color[colorSpaceName].prototype;\n\n ['valueOf', 'hex', 'hexa', 'css', 'cssa'].forEach(function (methodName) {\n prototype[methodName] = prototype[methodName] || (colorSpaceName === 'RGB' ? prototype.hex : function () {\n return this.rgb()[methodName]();\n });\n });\n\n prototype.isColor = true;\n\n prototype.equals = function (otherColor, epsilon) {\n if (undef(epsilon)) {\n epsilon = 1e-10;\n }\n\n otherColor = otherColor[colorSpaceName.toLowerCase()]();\n\n for (var i = 0; i < propertyNames.length; i = i + 1) {\n if (Math.abs(this['_' + propertyNames[i]] - otherColor['_' + propertyNames[i]]) > epsilon) {\n return false;\n }\n }\n\n return true;\n };\n\n prototype.toJSON = function () {\n return [colorSpaceName].concat(propertyNames.map(function (propertyName) {\n return this['_' + propertyName];\n }, this));\n };\n\n for (var propertyName in config) {\n if (config.hasOwnProperty(propertyName)) {\n var matchFromColorSpace = propertyName.match(/^from(.*)$/);\n if (matchFromColorSpace) {\n color[matchFromColorSpace[1].toUpperCase()].prototype[colorSpaceName.toLowerCase()] = config[propertyName];\n } else {\n prototype[propertyName] = config[propertyName];\n }\n }\n }\n\n // It is pretty easy to implement the conversion to the same color space:\n prototype[colorSpaceName.toLowerCase()] = function () {\n return this;\n };\n prototype.toString = function () {\n return '[' + colorSpaceName + ' ' + propertyNames.map(function (propertyName) {\n return this['_' + propertyName];\n }, this).join(', ') + ']';\n };\n\n // Generate getters and setters\n propertyNames.forEach(function (propertyName) {\n var shortName = propertyName === 'black' ? 'k' : propertyName.charAt(0);\n prototype[propertyName] = prototype[shortName] = function (value, isDelta) {\n // Simple getter mode: color.red()\n if (typeof value === 'undefined') {\n return this['_' + propertyName];\n } else if (isDelta) {\n // Adjuster: color.red(+.2, true)\n return new this.constructor(propertyNames.map(function (otherPropertyName) {\n return this['_' + otherPropertyName] + (propertyName === otherPropertyName ? value : 0);\n }, this));\n } else {\n // Setter: color.red(.2);\n return new this.constructor(propertyNames.map(function (otherPropertyName) {\n return (propertyName === otherPropertyName) ? value : this['_' + otherPropertyName];\n }, this));\n }\n };\n });\n\n function installForeignMethods(targetColorSpaceName, sourceColorSpaceName) {\n var obj = {};\n obj[sourceColorSpaceName.toLowerCase()] = function () {\n return this.rgb()[sourceColorSpaceName.toLowerCase()]();\n };\n color[sourceColorSpaceName].propertyNames.forEach(function (propertyName) {\n var shortName = propertyName === 'black' ? 'k' : propertyName.charAt(0);\n obj[propertyName] = obj[shortName] = function (value, isDelta) {\n return this[sourceColorSpaceName.toLowerCase()]()[propertyName](value, isDelta);\n };\n });\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop) && color[targetColorSpaceName].prototype[prop] === undefined) {\n color[targetColorSpaceName].prototype[prop] = obj[prop];\n }\n }\n }\n\n installedColorSpaces.forEach(function (otherColorSpaceName) {\n installForeignMethods(colorSpaceName, otherColorSpaceName);\n installForeignMethods(otherColorSpaceName, colorSpaceName);\n });\n\n installedColorSpaces.push(colorSpaceName);\n return color;\n};\n\ncolor.pluginList = [];\n\ncolor.use = function (plugin) {\n if (color.pluginList.indexOf(plugin) === -1) {\n this.pluginList.push(plugin);\n plugin(color);\n }\n return color;\n};\n\ncolor.installMethod = function (name, fn) {\n installedColorSpaces.forEach(function (colorSpace) {\n color[colorSpace].prototype[name] = fn;\n });\n return this;\n};\n\ncolor.installColorSpace('RGB', ['red', 'green', 'blue', 'alpha'], {\n hex: function () {\n var hexString = (Math.round(255 * this._red) * 0x10000 + Math.round(255 * this._green) * 0x100 + Math.round(255 * this._blue)).toString(16);\n return '#' + ('00000'.substr(0, 6 - hexString.length)) + hexString;\n },\n\n hexa: function () {\n var alphaString = Math.round(this._alpha * 255).toString(16);\n return '#' + '00'.substr(0, 2 - alphaString.length) + alphaString + this.hex().substr(1, 6);\n },\n\n css: function () {\n return 'rgb(' + Math.round(255 * this._red) + ',' + Math.round(255 * this._green) + ',' + Math.round(255 * this._blue) + ')';\n },\n\n cssa: function () {\n return 'rgba(' + Math.round(255 * this._red) + ',' + Math.round(255 * this._green) + ',' + Math.round(255 * this._blue) + ',' + this._alpha + ')';\n }\n});\n\nmodule.exports = color;\n","module.exports = function XYZ(color) {\n color.installColorSpace('XYZ', ['x', 'y', 'z', 'alpha'], {\n fromRgb: function () {\n // http://www.easyrgb.com/index.php?X=MATH&H=02#text2\n var convert = function (channel) {\n return channel > 0.04045 ?\n Math.pow((channel + 0.055) / 1.055, 2.4) :\n channel / 12.92;\n },\n r = convert(this._red),\n g = convert(this._green),\n b = convert(this._blue);\n\n // Reference white point sRGB D65:\n // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n return new color.XYZ(\n r * 0.4124564 + g * 0.3575761 + b * 0.1804375,\n r * 0.2126729 + g * 0.7151522 + b * 0.0721750,\n r * 0.0193339 + g * 0.1191920 + b * 0.9503041,\n this._alpha\n );\n },\n\n rgb: function () {\n // http://www.easyrgb.com/index.php?X=MATH&H=01#text1\n var x = this._x,\n y = this._y,\n z = this._z,\n convert = function (channel) {\n return channel > 0.0031308 ?\n 1.055 * Math.pow(channel, 1 / 2.4) - 0.055 :\n 12.92 * channel;\n };\n\n // Reference white point sRGB D65:\n // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n return new color.RGB(\n convert(x * 3.2404542 + y * -1.5371385 + z * -0.4985314),\n convert(x * -0.9692660 + y * 1.8760108 + z * 0.0415560),\n convert(x * 0.0556434 + y * -0.2040259 + z * 1.0572252),\n this._alpha\n );\n },\n\n lab: function () {\n // http://www.easyrgb.com/index.php?X=MATH&H=07#text7\n var convert = function (channel) {\n return channel > 0.008856 ?\n Math.pow(channel, 1 / 3) :\n 7.787037 * channel + 4 / 29;\n },\n x = convert(this._x / 95.047),\n y = convert(this._y / 100.000),\n z = convert(this._z / 108.883);\n\n return new color.LAB(\n (116 * y) - 16,\n 500 * (x - y),\n 200 * (y - z),\n this._alpha\n );\n }\n });\n};\n","module.exports = function LAB(color) {\n color.use(require('./XYZ.js'));\n\n color.installColorSpace('LAB', ['l', 'a', 'b', 'alpha'], {\n fromRgb: function () {\n return this.xyz().lab();\n },\n\n rgb: function () {\n return this.xyz().rgb();\n },\n\n xyz: function () {\n // http://www.easyrgb.com/index.php?X=MATH&H=08#text8\n var convert = function (channel) {\n var pow = Math.pow(channel, 3);\n return pow > 0.008856 ?\n pow :\n (channel - 16 / 116) / 7.87;\n },\n y = (this._l + 16) / 116,\n x = this._a / 500 + y,\n z = y - this._b / 200;\n\n return new color.XYZ(\n convert(x) * 95.047,\n convert(y) * 100.000,\n convert(z) * 108.883,\n this._alpha\n );\n }\n });\n};\n","module.exports = function HSV(color) {\n color.installColorSpace('HSV', ['hue', 'saturation', 'value', 'alpha'], {\n rgb: function () {\n var hue = this._hue,\n saturation = this._saturation,\n value = this._value,\n i = Math.min(5, Math.floor(hue * 6)),\n f = hue * 6 - i,\n p = value * (1 - saturation),\n q = value * (1 - f * saturation),\n t = value * (1 - (1 - f) * saturation),\n red,\n green,\n blue;\n switch (i) {\n case 0:\n red = value;\n green = t;\n blue = p;\n break;\n case 1:\n red = q;\n green = value;\n blue = p;\n break;\n case 2:\n red = p;\n green = value;\n blue = t;\n break;\n case 3:\n red = p;\n green = q;\n blue = value;\n break;\n case 4:\n red = t;\n green = p;\n blue = value;\n break;\n case 5:\n red = value;\n green = p;\n blue = q;\n break;\n }\n return new color.RGB(red, green, blue, this._alpha);\n },\n\n hsl: function () {\n var l = (2 - this._saturation) * this._value,\n sv = this._saturation * this._value,\n svDivisor = l <= 1 ? l : (2 - l),\n saturation;\n\n // Avoid division by zero when lightness approaches zero:\n if (svDivisor < 1e-9) {\n saturation = 0;\n } else {\n saturation = sv / svDivisor;\n }\n return new color.HSL(this._hue, saturation, l / 2, this._alpha);\n },\n\n fromRgb: function () { // Becomes one.color.RGB.prototype.hsv\n var red = this._red,\n green = this._green,\n blue = this._blue,\n max = Math.max(red, green, blue),\n min = Math.min(red, green, blue),\n delta = max - min,\n hue,\n saturation = (max === 0) ? 0 : (delta / max),\n value = max;\n if (delta === 0) {\n hue = 0;\n } else {\n switch (max) {\n case red:\n hue = (green - blue) / delta / 6 + (green < blue ? 1 : 0);\n break;\n case green:\n hue = (blue - red) / delta / 6 + 1 / 3;\n break;\n case blue:\n hue = (red - green) / delta / 6 + 2 / 3;\n break;\n }\n }\n return new color.HSV(hue, saturation, value, this._alpha);\n }\n });\n};\n","module.exports = function HSL(color) {\n color.use(require('./HSV'));\n\n color.installColorSpace('HSL', ['hue', 'saturation', 'lightness', 'alpha'], {\n hsv: function () {\n // Algorithm adapted from http://wiki.secondlife.com/wiki/Color_conversion_scripts\n var l = this._lightness * 2,\n s = this._saturation * ((l <= 1) ? l : 2 - l),\n saturation;\n\n // Avoid division by zero when l + s is very small (approaching black):\n if (l + s < 1e-9) {\n saturation = 0;\n } else {\n saturation = (2 * s) / (l + s);\n }\n\n return new color.HSV(this._hue, saturation, (l + s) / 2, this._alpha);\n },\n\n rgb: function () {\n return this.hsv().rgb();\n },\n\n fromRgb: function () { // Becomes one.color.RGB.prototype.hsv\n return this.hsv().hsl();\n }\n });\n};\n","module.exports = function CMYK(color) {\n color.installColorSpace('CMYK', ['cyan', 'magenta', 'yellow', 'black', 'alpha'], {\n rgb: function () {\n return new color.RGB((1 - this._cyan * (1 - this._black) - this._black),\n (1 - this._magenta * (1 - this._black) - this._black),\n (1 - this._yellow * (1 - this._black) - this._black),\n this._alpha);\n },\n\n fromRgb: function () { // Becomes one.color.RGB.prototype.cmyk\n // Adapted from http://www.javascripter.net/faq/rgb2cmyk.htm\n var red = this._red,\n green = this._green,\n blue = this._blue,\n cyan = 1 - red,\n magenta = 1 - green,\n yellow = 1 - blue,\n black = 1;\n if (red || green || blue) {\n black = Math.min(cyan, Math.min(magenta, yellow));\n cyan = (cyan - black) / (1 - black);\n magenta = (magenta - black) / (1 - black);\n yellow = (yellow - black) / (1 - black);\n } else {\n black = 1;\n }\n return new color.CMYK(cyan, magenta, yellow, black, this._alpha);\n }\n });\n};\n","module.exports = function namedColors(color) {\n color.namedColors = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '0ff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '00f',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '0ff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgrey: 'a9a9a9',\n darkgreen: '006400',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'f0f',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n grey: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgrey: 'd3d3d3',\n lightgreen: '90ee90',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370d8',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'd87093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n };\n};\n","module.exports = function clearer(color) {\n color.installMethod('clearer', function (amount) {\n return this.alpha(isNaN(amount) ? -0.1 : -amount, true);\n });\n};\n","module.exports = function luminance(color) {\n // http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\n function channelLuminance(value) {\n return (value <= 0.03928) ? value / 12.92 : Math.pow(((value + 0.055) / 1.055), 2.4);\n }\n\n color.installMethod('luminance', function () {\n var rgb = this.rgb();\n return 0.2126 * channelLuminance(rgb._red) + 0.7152 * channelLuminance(rgb._green) + 0.0722 * channelLuminance(rgb._blue);\n });\n};\n","module.exports = function contrast(color) {\n // http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\n color.use(require('./luminance'));\n\n color.installMethod('contrast', function (color2) {\n var lum1 = this.luminance();\n var lum2 = color2.luminance();\n if (lum1 > lum2) {\n return (lum1 + 0.05) / (lum2 + 0.05);\n }\n\n return (lum2 + 0.05) / (lum1 + 0.05);\n });\n};\n","module.exports = function darken(color) {\n color.use(require('../HSL'));\n\n color.installMethod('darken', function (amount) {\n return this.lightness(isNaN(amount) ? -0.1 : -amount, true);\n });\n};\n","module.exports = function desaturate(color) {\n color.use(require('../HSL'));\n\n color.installMethod('desaturate', function (amount) {\n return this.saturation(isNaN(amount) ? -0.1 : -amount, true);\n });\n};\n","module.exports = function grayscale(color) {\n function gs () {\n /*jslint strict:false*/\n var rgb = this.rgb(),\n val = rgb._red * 0.3 + rgb._green * 0.59 + rgb._blue * 0.11;\n\n return new color.RGB(val, val, val, rgb._alpha);\n }\n\n color.installMethod('greyscale', gs).installMethod('grayscale', gs);\n};\n","module.exports = function isDark(color) {\n\n color.installMethod('isDark', function () {\n var rgb = this.rgb();\n\n // YIQ equation from http://24ways.org/2010/calculating-color-contrast\n var yiq = (rgb._red * 255 * 299 + rgb._green * 255 * 587 + rgb._blue * 255 * 114) / 1000;\n return yiq < 128;\n });\n};\n","module.exports = function isLight(color) {\n\n color.use(require('./isDark'));\n\n color.installMethod('isLight', function () {\n return !this.isDark();\n });\n};\n","module.exports = function lighten(color) {\n color.use(require('../HSL'));\n\n color.installMethod('lighten', function (amount) {\n return this.lightness(isNaN(amount) ? 0.1 : amount, true);\n });\n};\n","module.exports = function mix(color) {\n color.installMethod('mix', function (otherColor, weight) {\n otherColor = color(otherColor).rgb();\n weight = 1 - (isNaN(weight) ? 0.5 : weight);\n\n var w = weight * 2 - 1,\n a = this._alpha - otherColor._alpha,\n weight1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2,\n weight2 = 1 - weight1,\n rgb = this.rgb();\n\n return new color.RGB(\n rgb._red * weight1 + otherColor._red * weight2,\n rgb._green * weight1 + otherColor._green * weight2,\n rgb._blue * weight1 + otherColor._blue * weight2,\n rgb._alpha * weight + otherColor._alpha * (1 - weight)\n );\n });\n};\n","module.exports = function negate(color) {\n color.installMethod('negate', function () {\n var rgb = this.rgb();\n return new color.RGB(1 - rgb._red, 1 - rgb._green, 1 - rgb._blue, this._alpha);\n });\n};\n","module.exports = function opaquer(color) {\n color.installMethod('opaquer', function (amount) {\n return this.alpha(isNaN(amount) ? 0.1 : amount, true);\n });\n};\n","module.exports = function rotate(color) {\n color.use(require('../HSL'));\n\n color.installMethod('rotate', function (degrees) {\n return this.hue((degrees || 0) / 360, true);\n });\n};\n","module.exports = function saturate(color) {\n color.use(require('../HSL'));\n\n color.installMethod('saturate', function (amount) {\n return this.saturation(isNaN(amount) ? 0.1 : amount, true);\n });\n};\n","// Adapted from http://gimp.sourcearchive.com/documentation/2.6.6-1ubuntu1/color-to-alpha_8c-source.html\n// toAlpha returns a color where the values of the argument have been converted to alpha\nmodule.exports = function toAlpha(color) {\n color.installMethod('toAlpha', function (color) {\n var me = this.rgb(),\n other = color(color).rgb(),\n epsilon = 1e-10,\n a = new color.RGB(0, 0, 0, me._alpha),\n channels = ['_red', '_green', '_blue'];\n\n channels.forEach(function (channel) {\n if (me[channel] < epsilon) {\n a[channel] = me[channel];\n } else if (me[channel] > other[channel]) {\n a[channel] = (me[channel] - other[channel]) / (1 - other[channel]);\n } else if (me[channel] > other[channel]) {\n a[channel] = (other[channel] - me[channel]) / other[channel];\n } else {\n a[channel] = 0;\n }\n });\n\n if (a._red > a._green) {\n if (a._red > a._blue) {\n me._alpha = a._red;\n } else {\n me._alpha = a._blue;\n }\n } else if (a._green > a._blue) {\n me._alpha = a._green;\n } else {\n me._alpha = a._blue;\n }\n\n if (me._alpha < epsilon) {\n return me;\n }\n\n channels.forEach(function (channel) {\n me[channel] = (me[channel] - other[channel]) / me._alpha + other[channel];\n });\n me._alpha *= a._alpha;\n\n return me;\n });\n};\n","module.exports = require('./lib/color')\n .use(require('./lib/XYZ'))\n .use(require('./lib/LAB'))\n .use(require('./lib/HSV'))\n .use(require('./lib/HSL'))\n .use(require('./lib/CMYK'))\n\n // Convenience functions\n .use(require('./lib/plugins/namedColors'))\n .use(require('./lib/plugins/clearer.js'))\n .use(require('./lib/plugins/contrast.js'))\n .use(require('./lib/plugins/darken.js'))\n .use(require('./lib/plugins/desaturate.js'))\n .use(require('./lib/plugins/grayscale.js'))\n .use(require('./lib/plugins/isDark.js'))\n .use(require('./lib/plugins/isLight.js'))\n .use(require('./lib/plugins/lighten.js'))\n .use(require('./lib/plugins/luminance.js'))\n .use(require('./lib/plugins/mix.js'))\n .use(require('./lib/plugins/negate.js'))\n .use(require('./lib/plugins/opaquer.js'))\n .use(require('./lib/plugins/rotate.js'))\n .use(require('./lib/plugins/saturate.js'))\n .use(require('./lib/plugins/toAlpha.js'));\n"]}