gradient
Version:
A class for generating gradients.
1 lines • 29.9 kB
JavaScript
var Color=function(){var a=function(b,c){var d=a.resolve(b,c||"/"),e=a.modules[d];if(!e)throw new Error("Failed to resolve module "+b+", tried "+d);var f=e._cached?e._cached:e();return f},c=a;return a.paths=[],a.modules={},a.extensions=[".js",".coffee"],a.resolve=function(){var b=["assert","events","fs","path","vm"].reduce(function(a,b){return a[b]=!0,a},{});return function(c,d){function i(b){if(a.modules[b])return b;for(var c=0;c<a.extensions.length;c++){var d=a.extensions[c];if(a.modules[b+d])return b+d}}function j(b){b=b.replace(/\/+$/,"");var c=b+"/package.json";if(a.modules[c]){var d=a.modules[c](),f=d.browserify;if(typeof f=="object"&&f.main){var g=i(e.resolve(b,f.main));if(g)return g}else if(typeof f=="string"){var g=i(e.resolve(b,f));if(g)return g}else if(d.main){var g=i(e.resolve(b,d.main));if(g)return g}}return i(b+"/index")}function k(a,b){var c=l(b);for(var d=0;d<c.length;d++){var e=c[d],f=i(e+"/"+a);if(f)return f;var g=j(e+"/"+a);if(g)return g}var f=i(a);if(f)return f}function l(a){var b;a==="/"?b=[""]:b=e.normalize(a).split(/\/+/);var c=[];for(var d=b.length-1;d>=0;d--){if(b[d]==="node_modules")continue;var f=b.slice(0,d+1).join("/")+"/node_modules";c.push(f)}return c}d||(d="/");if(b[c])return c;var e=a.modules.path(),f=d||".";if(c.match(/^(?:\.\.?\/|\/)/)){var g=i(e.resolve(f,c))||j(e.resolve(f,c));if(g)return g}var h=k(c,f);if(h)return h;throw new Error("Cannot find module '"+c+"'")}}(),a.alias=function(b,c){var d=a.modules.path(),e=null;try{e=a.resolve(b+"/package.json","/")}catch(f){e=a.resolve(b,"/")}var g=d.dirname(e);Object.keys(a.modules).forEach(function(b){if(b.slice(0,g.length+1)===g+"/"){var d=b.slice(g.length);a.modules[c+d]=a.modules[g+d]}else b===g&&(a.modules[c]=a.modules[g])})},typeof process=="undefined"&&(process={}),process.nextTick||(process.nextTick=function(a){setTimeout(a,0)}),process.title||(process.title="browser"),process.binding||(process.binding=function(b){if(b==="evals")return a("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),a.modules.path=function(){var a={exports:{}},b=a.exports,d=".",e="path",f=function(a){return c(a,".")};return f.resolve=function(a){return c.resolve(name,".")},f.modules=c.modules,c.modules.path._cached=a.exports,function(){function a(a,b){var c=0;for(var d=a.length;d>=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var c=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;b.resolve=function(){var b="",c=!1;for(var d=arguments.length;d>=-1&&!c;d--){var e=d>=0?arguments[d]:process.cwd();if(typeof e!="string"||!e)continue;b=e+"/"+b,c=e.charAt(0)==="/"}return b=a(b.split("/").filter(function(a){return!!a}),!c).join("/"),(c?"/":"")+b||"."},b.normalize=function(b){var c=b.charAt(0)==="/",d=b.slice(-1)==="/";return b=a(b.split("/").filter(function(a){return!!a}),!c).join("/"),!b&&!c&&(b="."),b&&d&&(b+="/"),(c?"/":"")+b},b.join=function(){var a=Array.prototype.slice.call(arguments,0);return b.normalize(a.filter(function(a,b){return a&&typeof a=="string"}).join("/"))},b.dirname=function(a){var b=c.exec(a)[1]||"",d=!1;return b?b.length===1||d&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},b.basename=function(a,b){var d=c.exec(a)[2]||"";return b&&d.substr(-1*b.length)===b&&(d=d.substr(0,d.length-b.length)),d},b.extname=function(a){return c.exec(a)[3]||""}}.call(a.exports),c.modules.path._cached=a.exports,a.exports},a.modules["/gradient.js"]=function(){var a={exports:{}},b=a.exports,d="/",e="/gradient.js",f=function(a){return c(a,"/")};return f.resolve=function(a){return c.resolve(name,"/")},f.modules=c.modules,c.modules["/gradient.js"]._cached=a.exports,function(){var b=function(a){var b=function(c,d){return d==a.length||!a[d+1]?c:(c.push([a[d],a[d+1]]),b(c,d+1))};return b([],0)},c=f("color"),d=function(){var a=arguments[0];this.stops=[],this.steps=2;if(Object.prototype.toString.call(a[0])==="[object Array]"){for(var b=0;b<a[0].length;b++)this.stops.push(c(a[0][b]));this.steps=a[1]}else{for(var b=0;b<a.length-1;b++)this.stops.push(c(a[b]));this.steps=a[a.length-1]}};(function(a){var d=function(a,b,d){var e=[a];if(d<0){e.push(b);for(var f=0;f<Math.abs(d);f++)e.pop()}else{var g={h:a.hue(),s:a.saturation(),l:a.lightness(),a:a.alpha()},h={h:(g.h-b.hue())/d,s:(g.s-b.saturation())/d,l:(g.l-b.lightness())/d,a:(g.a-b.alpha())/d};for(var f=1;f<=d;f++){var i=g.h-h.h*f,j=g.s-h.s*f,k=g.l-h.l*f,l=g.a-h.a*f;i>360?i-=360:i<0&&(i+=360),j>100?j=100:j<0&&(j=0),k>100?k=100:k<0&&(k=0),l>1?l=1:l<0&&(l=0);var m=c().hue(i).saturation(j).lightness(k).alpha(l);e.push(m)}e.push(b)}return e};a.toArray=function(a){if(typeof this.__cache=="undefined"){var c=this.stops,e=this.steps,f=Math.floor(c.length/2),g=[];b(c).forEach(function(a){var b;c.length===2?b=e:(b=Math.floor(e/(c.length-1)),f>0&&e%(c.length-1)!=0&&(b+=1,f--)),b-=2,g=g.concat(d(a[0],a[1],b))}),this.__cache=g}return typeof a!="undefined"?this.__cache.map(function(b){return b[a]()}):this.__cache}})(d.prototype),a.exports=function(){return new d(Array.prototype.slice.call(arguments,0))}}.call(a.exports),c.modules["/gradient.js"]._cached=a.exports,a.exports},a.modules["color/package.json"]=function(){var a={exports:{}},b=a.exports,d="color",e="color/package.json",f=function(a){return c(a,"color")};return f.resolve=function(a){return c.resolve(name,"color")},f.modules=c.modules,c.modules["color/package.json"]._cached=a.exports,function(){a.exports={name:"color",description:"Color conversion and manipulation with CSS string support",version:"0.7.1",author:{name:"Heather Arthur",email:"fayearthur@gmail.com"},repository:{type:"git",url:"http://github.com/harthur/color.git"},main:"./color",dependencies:{"color-convert":"0.5.x","color-string":"0.2.x"},devDependencies:{nomnom:"~1.5.2",browserify:"~2.18.1",grunt:"~0.4.1","grunt-contrib-uglify":"~0.2.0"},keywords:["color","colour","css"],bugs:{url:"https://github.com/harthur/color/issues"},homepage:"https://github.com/harthur/color",_id:"color@0.7.1",dist:{shasum:"a2676f19c6ccb708b7586dc98b5c6e37dc9a199c",tarball:"http://registry.npmjs.org/color/-/color-0.7.1.tgz"},_from:"color@>=0.4.0",_npmVersion:"1.3.25",_npmUser:{name:"harth",email:"fayearthur@gmail.com"},maintainers:[{name:"harth",email:"fayearthur@gmail.com"}],directories:{},_shasum:"a2676f19c6ccb708b7586dc98b5c6e37dc9a199c",_resolved:"https://registry.npmjs.org/color/-/color-0.7.1.tgz"}}.call(a.exports),c.modules["color/package.json"]._cached=a.exports,a.exports},a.modules.color=function(){var a={exports:{}},b=a.exports,d=".",e="color",f=function(a){return c(a,".")};return f.resolve=function(a){return c.resolve(name,".")},f.modules=c.modules,c.modules.color._cached=a.exports,function(){var b=f("color-convert"),c=f("color-string");a.exports=function(a){return new d(a)};var d=function(a){this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};if(typeof a=="string"){var b=c.getRgba(a);if(b)this.setValues("rgb",b);else if(b=c.getHsla(a))this.setValues("hsl",b);else if(b=c.getHwb(a))this.setValues("hwb",b);else throw new Error("Unable to parse color from string "+a)}else if(typeof a=="object"){var b=a;if(b.r!==undefined||b.red!==undefined)this.setValues("rgb",b);else if(b.l!==undefined||b.lightness!==undefined)this.setValues("hsl",b);else if(b.v!==undefined||b.value!==undefined)this.setValues("hsv",b);else if(b.w!==undefined||b.whiteness!==undefined)this.setValues("hwb",b);else if(b.c!==undefined||b.cyan!==undefined)this.setValues("cmyk",b);else throw new Error("Unable to parse color from object "+JSON.stringify(a))}};d.prototype={rgb:function(a){return this.setSpace("rgb",arguments)},hsl:function(a){return this.setSpace("hsl",arguments)},hsv:function(a){return this.setSpace("hsv",arguments)},hwb:function(a){return this.setSpace("hwb",arguments)},cmyk:function(a){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){return this.values.alpha!==1?this.values.hwb.concat([this.values.alpha]):this.values.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var a=this.values.rgb;return a.concat([this.values.alpha])},hslaArray:function(){var a=this.values.hsl;return a.concat([this.values.alpha])},alpha:function(a){return a===undefined?this.values.alpha:(this.setValues("alpha",a),this)},red:function(a){return this.setChannel("rgb",0,a)},green:function(a){return this.setChannel("rgb",1,a)},blue:function(a){return this.setChannel("rgb",2,a)},hue:function(a){return this.setChannel("hsl",0,a)},saturation:function(a){return this.setChannel("hsl",1,a)},lightness:function(a){return this.setChannel("hsl",2,a)},saturationv:function(a){return this.setChannel("hsv",1,a)},whiteness:function(a){return this.setChannel("hwb",1,a)},blackness:function(a){return this.setChannel("hwb",2,a)},value:function(a){return this.setChannel("hsv",2,a)},cyan:function(a){return this.setChannel("cmyk",0,a)},magenta:function(a){return this.setChannel("cmyk",1,a)},yellow:function(a){return this.setChannel("cmyk",2,a)},black:function(a){return this.setChannel("cmyk",3,a)},hexString:function(){return c.hexString(this.values.rgb)},rgbString:function(){return c.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return c.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return c.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return c.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return c.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return c.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return c.keyword(this.values.rgb,this.values.alpha)},luminosity:function(){var a=this.values.rgb,b=[];for(var c=0;c<a.length;c++){var d=a[c]/255;b[c]=d<=.03928?d/12.92:Math.pow((d+.055)/1.055,2.4)}return.2126*b[0]+.7152*b[1]+.0722*b[2]},contrast:function(a){var b=this.luminosity(),c=a.luminosity();return b>c?(b+.05)/(c+.05):(c+.05)/(b+.05)},level:function(a){var b=this.contrast(a);return b>=7.1?"AAA":b>=4.5?"AA":""},dark:function(){var a=this.values.rgb,b=(a[0]*299+a[1]*587+a[2]*114)/1e3;return b<128},light:function(){return!this.dark()},negate:function(){var a=[];for(var b=0;b<3;b++)a[b]=255-this.values.rgb[b];return this.setValues("rgb",a),this},lighten:function(a){return this.values.hsl[2]+=this.values.hsl[2]*a,this.setValues("hsl",this.values.hsl),this},darken:function(a){return this.values.hsl[2]-=this.values.hsl[2]*a,this.setValues("hsl",this.values.hsl),this},saturate:function(a){return this.values.hsl[1]+=this.values.hsl[1]*a,this.setValues("hsl",this.values.hsl),this},desaturate:function(a){return this.values.hsl[1]-=this.values.hsl[1]*a,this.setValues("hsl",this.values.hsl),this},whiten:function(a){return this.values.hwb[1]+=this.values.hwb[1]*a,this.setValues("hwb",this.values.hwb),this},blacken:function(a){return this.values.hwb[2]+=this.values.hwb[2]*a,this.setValues("hwb",this.values.hwb),this},greyscale:function(){var a=this.values.rgb,b=a[0]*.3+a[1]*.59+a[2]*.11;return this.setValues("rgb",[b,b,b]),this},clearer:function(a){return this.setValues("alpha",this.values.alpha-this.values.alpha*a),this},opaquer:function(a){return this.setValues("alpha",this.values.alpha+this.values.alpha*a),this},rotate:function(a){var b=this.values.hsl[0];return b=(b+a)%360,b=b<0?360+b:b,this.values.hsl[0]=b,this.setValues("hsl",this.values.hsl),this},mix:function(a,b){b=1-(b==null?.5:b);var c=b*2-1,d=this.alpha()-a.alpha(),e=((c*d==-1?c:(c+d)/(1+c*d))+1)/2,f=1-e,g=this.rgbArray(),h=a.rgbArray();for(var i=0;i<g.length;i++)g[i]=g[i]*e+h[i]*f;this.setValues("rgb",g);var j=this.alpha()*b+a.alpha()*(1-b);return this.setValues("alpha",j),this},toJSON:function(){return this.rgb()},clone:function(){return new d(this.rgb())}},d.prototype.getValues=function(a){var b={};for(var c=0;c<a.length;c++)b[a[c]]=this.values[a][c];return this.values.alpha!=1&&(b.a=this.values.alpha),b},d.prototype.setValues=function(a,c){var d={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},e={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},f=1;if(a=="alpha")f=c;else if(c.length)this.values[a]=c.slice(0,a.length),f=c[a.length];else if(c[a[0]]!==undefined){for(var g=0;g<a.length;g++)this.values[a][g]=c[a[g]];f=c.a}else if(c[d[a][0]]!==undefined){var h=d[a];for(var g=0;g<a.length;g++)this.values[a][g]=c[h[g]];f=c.alpha}this.values.alpha=Math.max(0,Math.min(1,f!==undefined?f:this.values.alpha));if(a=="alpha")return;for(var g=0;g<a.length;g++){var i=Math.max(0,Math.min(e[a][g],this.values[a][g]));this.values[a][g]=Math.round(i)}for(var j in d){j!=a&&(this.values[j]=b[a][j](this.values[a]));for(var g=0;g<j.length;g++){var i=Math.max(0,Math.min(e[j][g],this.values[j][g]));this.values[j][g]=Math.round(i)}}return!0},d.prototype.setSpace=function(a,b){var c=b[0];return c===undefined?this.getValues(a):(typeof c=="number"&&(c=Array.prototype.slice.call(b)),this.setValues(a,c),this)},d.prototype.setChannel=function(a,b,c){return c===undefined?this.values[a][b]:(this.values[a][b]=c,this.setValues(a,this.values[a]),this)}}.call(a.exports),c.modules.color._cached=a.exports,a.exports},a.modules["color/node_modules/color-convert/package.json"]=function(){var a={exports:{}},b=a.exports,d="color/node_modules/color-convert",e="color/node_modules/color-convert/package.json",f=function(a){return c(a,"color/node_modules/color-convert")};return f.resolve=function(a){return c.resolve(name,"color/node_modules/color-convert")},f.modules=c.modules,c.modules["color/node_modules/color-convert/package.json"]._cached=a.exports,function(){a.exports={name:"color-convert",description:"Plain color conversion functions",version:"0.5.0",author:{name:"Heather Arthur",email:"fayearthur@gmail.com"},repository:{type:"git",url:"http://github.com/harthur/color-convert.git"},main:"./index",devDependencies:{browserify:">=1.0.0","uglify-js":"1.0.x"},keywords:["color","colour","rgb"],bugs:{url:"https://github.com/harthur/color-convert/issues"},homepage:"https://github.com/harthur/color-convert",_id:"color-convert@0.5.0",_shasum:"4032cab2128c81670c7b394d77b6783f49caaaf7",_from:"color-convert@>=0.5.0 <0.6.0",_npmVersion:"1.4.9",_npmUser:{name:"harth",email:"fayearthur@gmail.com"},maintainers:[{name:"harth",email:"fayearthur@gmail.com"}],dist:{shasum:"4032cab2128c81670c7b394d77b6783f49caaaf7",tarball:"http://registry.npmjs.org/color-convert/-/color-convert-0.5.0.tgz"},directories:{},_resolved:"https://registry.npmjs.org/color-convert/-/color-convert-0.5.0.tgz"}}.call(a.exports),c.modules["color/node_modules/color-convert/package.json"]._cached=a.exports,a.exports},a.modules["color-convert"]=function(){var a={exports:{}},b=a.exports,d=".",e="color-convert",f=function(a){return c(a,".")};return f.resolve=function(a){return c.resolve(name,".")},f.modules=c.modules,c.modules["color-convert"]._cached=a.exports,function(){var b=f("./conversions"),c=function(){return new i};for(var d in b){c[d+"Raw"]=function(a){return function(c){return typeof c=="number"&&(c=Array.prototype.slice.call(arguments)),b[a](c)}}(d);var e=/(\w+)2(\w+)/.exec(d),g=e[1],h=e[2];c[g]=c[g]||{},c[g][h]=c[d]=function(a){return function(c){typeof c=="number"&&(c=Array.prototype.slice.call(arguments));var d=b[a](c);if(typeof d=="string"||d===undefined)return d;for(var e=0;e<d.length;e++)d[e]=Math.round(d[e]);return d}}(d)}var i=function(){this.convs={}};i.prototype.routeSpace=function(a,b){var c=b[0];return c===undefined?this.getValues(a):(typeof c=="number"&&(c=Array.prototype.slice.call(b)),this.setValues(a,c))},i.prototype.setValues=function(a,b){return this.space=a,this.convs={},this.convs[a]=b,this},i.prototype.getValues=function(a){var b=this.convs[a];if(!b){var d=this.space,e=this.convs[d];b=c[d][a](e),this.convs[a]=b}return b},["rgb","hsl","hsv","cmyk","keyword"].forEach(function(a){i.prototype[a]=function(b){return this.routeSpace(a,arguments)}}),a.exports=c}.call(a.exports),c.modules["color-convert"]._cached=a.exports,a.exports},a.modules["./conversions"]=function(){var a={exports:{}},d=a.exports,e=".",f="./conversions",h=function(a){return c(a,".")};return h.resolve=function(a){return c.resolve(name,".")},h.modules=c.modules,c.modules["./conversions"]._cached=a.exports,function(){function c(a){var b=a[0]/255,c=a[1]/255,d=a[2]/255,e=Math.min(b,c,d),f=Math.max(b,c,d),g=f-e,h,i,j;return f==e?h=0:b==f?h=(c-d)/g:c==f?h=2+(d-b)/g:d==f&&(h=4+(b-c)/g),h=Math.min(h*60,360),h<0&&(h+=360),j=(e+f)/2,f==e?i=0:j<=.5?i=g/(f+e):i=g/(2-f-e),[h,i*100,j*100]}function d(a){var b=a[0],c=a[1],d=a[2],e=Math.min(b,c,d),f=Math.max(b,c,d),g=f-e,h,i,j;return f==0?i=0:i=g/f*1e3/10,f==e?h=0:b==f?h=(c-d)/g:c==f?h=2+(d-b)/g:d==f&&(h=4+(b-c)/g),h=Math.min(h*60,360),h<0&&(h+=360),j=f/255*1e3/10,[h,i,j]}function e(a){var b=a[0],d=a[1],e=a[2],f=c(a)[0];return w=1/255*Math.min(b,Math.min(d,e)),e=1-1/255*Math.max(b,Math.max(d,e)),[f,w*100,e*100]}function f(a){var b=a[0]/255,c=a[1]/255,d=a[2]/255,e,f,g,h;return h=Math.min(1-b,1-c,1-d),e=(1-b-h)/(1-h),f=(1-c-h)/(1-h),g=(1-d-h)/(1-h),[e*100,f*100,g*100,h*100]}function h(a){return Y[JSON.stringify(a)]}function i(a){var b=a[0]/255,c=a[1]/255,d=a[2]/255;b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92,c=c>.04045?Math.pow((c+.055)/1.055,2.4):c/12.92,d=d>.04045?Math.pow((d+.055)/1.055,2.4):d/12.92;var e=b*.4124+c*.3576+d*.1805,f=b*.2126+c*.7152+d*.0722,g=b*.0193+c*.1192+d*.9505;return[e*100,f*100,g*100]}function j(a){var b=i(a),c=b[0],d=b[1],e=b[2],f,g,h;return c/=95.047,d/=100,e/=108.883,c=c>.008856?Math.pow(c,1/3):7.787*c+16/116,d=d>.008856?Math.pow(d,1/3):7.787*d+16/116,e=e>.008856?Math.pow(e,1/3):7.787*e+16/116,f=116*d-16,g=500*(c-d),h=200*(d-e),[f,g,h]}function k(a){return L(j(a))}function l(a){var b=a[0]/360,c=a[1]/100,d=a[2]/100,e,f,g,h,i;if(c==0)return i=d*255,[i,i,i];d<.5?f=d*(1+c):f=d+c-d*c,e=2*d-f,h=[0,0,0];for(var j=0;j<3;j++)g=b+1/3*-(j-1),g<0&&g++,g>1&&g--,6*g<1?i=e+(f-e)*6*g:2*g<1?i=f:3*g<2?i=e+(f-e)*(2/3-g)*6:i=e,h[j]=i*255;return h}function m(a){var b=a[0],c=a[1]/100,d=a[2]/100,e,f;return d*=2,c*=d<=1?d:2-d,f=(d+c)/2,e=2*c/(d+c),[b,e*100,f*100]}function n(a){return e(l(a))}function o(a){return f(l(a))}function p(a){return h(l(a))}function q(a){var b=a[0]/60,c=a[1]/100,d=a[2]/100,e=Math.floor(b)%6,f=b-Math.floor(b),g=255*d*(1-c),h=255*d*(1-c*f),i=255*d*(1-c*(1-f)),d=255*d;switch(e){case 0:return[d,i,g];case 1:return[h,d,g];case 2:return[g,d,i];case 3:return[g,h,d];case 4:return[i,g,d];case 5:return[d,g,h]}}function s(a){var b=a[0],c=a[1]/100,d=a[2]/100,e,f;return f=(2-c)*d,e=c*d,e/=f<=1?f:2-f,f/=2,[b,e*100,f*100]}function t(a){return e(q(a))}function u(a){return f(q(a))}function v(a){return h(q(a))}function x(a){var c=a[0]/360,d=a[1]/100,e=a[2]/100,f=d+e,h,i,j,k;f>1&&(d/=f,e/=f),h=Math.floor(6*c),i=1-e,j=6*c-h,(h&1)!=0&&(j=1-j),k=d+j*(i-d);switch(h){default:case 6:case 0:r=i,g=k,b=d;break;case 1:r=k,g=i,b=d;break;case 2:r=d,g=i,b=k;break;case 3:r=d,g=k,b=i;break;case 4:r=k,g=d,b=i;break;case 5:r=i,g=d,b=k}return[r*255,g*255,b*255]}function y(a){return c(x(a))}function z(a){return d(x(a))}function A(a){return f(x(a))}function B(a){return h(x(a))}function C(a){var b=a[0]/100,c=a[1]/100,d=a[2]/100,e=a[3]/100,f,g,h;return f=1-Math.min(1,b*(1-e)+e),g=1-Math.min(1,c*(1-e)+e),h=1-Math.min(1,d*(1-e)+e),[f*255,g*255,h*255]}function D(a){return c(C(a))}function E(a){return d(C(a))}function F(a){return e(C(a))}function G(a){return h(C(a))}function H(a){var b=a[0]/100,c=a[1]/100,d=a[2]/100,e,f,g;return e=b*3.2406+c*-1.5372+d*-0.4986,f=b*-0.9689+c*1.8758+d*.0415,g=b*.0557+c*-0.204+d*1.057,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e=e*12.92,f=f>.0031308?1.055*Math.pow(f,1/2.4)-.055:f=f*12.92,g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g=g*12.92,e=Math.min(Math.max(0,e),1),f=Math.min(Math.max(0,f),1),g=Math.min(Math.max(0,g),1),[e*255,f*255,g*255]}function I(a){var b=a[0],c=a[1],d=a[2],e,f,g;return b/=95.047,c/=100,d/=108.883,b=b>.008856?Math.pow(b,1/3):7.787*b+16/116,c=c>.008856?Math.pow(c,1/3):7.787*c+16/116,d=d>.008856?Math.pow(d,1/3):7.787*d+16/116,e=116*c-16,f=500*(b-c),g=200*(c-d),[e,f,g]}function J(a){return L(I(a))}function K(a){var b=a[0],c=a[1],d=a[2],e,f,g,h;return b<=8?(f=b*100/903.3,h=7.787*(f/100)+16/116):(f=100*Math.pow((b+16)/116,3),h=Math.pow(f/100,1/3)),e=e/95.047<=.008856?e=95.047*(c/500+h-16/116)/7.787:95.047*Math.pow(c/500+h,3),g=g/108.883<=.008859?g=108.883*(h-d/200-16/116)/7.787:108.883*Math.pow(h-d/200,3),[e,f,g]}function L(a){var b=a[0],c=a[1],d=a[2],e,f,g;return e=Math.atan2(d,c),f=e*360/2/Math.PI,f<0&&(f+=360),g=Math.sqrt(c*c+d*d),[b,g,f]}function M(a){return H(K(a))}function N(a){var b=a[0],c=a[1],d=a[2],e,f,g;return g=d/360*2*Math.PI,e=c*Math.cos(g),f=c*Math.sin(g),[b,e,f]}function O(a){return K(N(a))}function P(a){return M(N(a))}function Q(a){return X[a]}function R(a){return c(Q(a))}function S(a){return d(Q(a))}function T(a){return e(Q(a))}function U(a){return f(Q(a))}function V(a){return j(Q(a))}function W(a){return i(Q(a))}a.exports={rgb2hsl:c,rgb2hsv:d,rgb2hwb:e,rgb2cmyk:f,rgb2keyword:h,rgb2xyz:i,rgb2lab:j,rgb2lch:k,hsl2rgb:l,hsl2hsv:m,hsl2hwb:n,hsl2cmyk:o,hsl2keyword:p,hsv2rgb:q,hsv2hsl:s,hsv2hwb:t,hsv2cmyk:u,hsv2keyword:v,hwb2rgb:x,hwb2hsl:y,hwb2hsv:z,hwb2cmyk:A,hwb2keyword:B,cmyk2rgb:C,cmyk2hsl:D,cmyk2hsv:E,cmyk2hwb:F,cmyk2keyword:G,keyword2rgb:Q,keyword2hsl:R,keyword2hsv:S,keyword2hwb:T,keyword2cmyk:U,keyword2lab:V,keyword2xyz:W,xyz2rgb:H,xyz2lab:I,xyz2lch:J,lab2xyz:K,lab2rgb:M,lab2lch:L,lch2lab:N,lch2xyz:O,lch2rgb:P};var X={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Y={};for(var Z in X)Y[JSON.stringify(X[Z])]=Z}.call(a.exports),c.modules["./conversions"]._cached=a.exports,a.exports},a.modules["color/node_modules/color-string/package.json"]=function(){var a={exports:{}},b=a.exports,d="color/node_modules/color-string",e="color/node_modules/color-string/package.json",f=function(a){return c(a,"color/node_modules/color-string")};return f.resolve=function(a){return c.resolve(name,"color/node_modules/color-string")},f.modules=c.modules,c.modules["color/node_modules/color-string/package.json"]._cached=a.exports,function(){a.exports={name:"color-string",description:"Parser and generator for CSS color strings",version:"0.2.1",author:{name:"Heather Arthur",email:"fayearthur@gmail.com"},repository:{type:"git",url:"http://github.com/harthur/color-string.git"},main:"./color-string",dependencies:{"color-convert":"0.5.x"},devDependencies:{browserify:">=1.0.0","uglify-js":"1.0.x"},keywords:["color","colour","rgb","css"],bugs:{url:"https://github.com/harthur/color-string/issues"},homepage:"https://github.com/harthur/color-string",_id:"color-string@0.2.1",dist:{shasum:"2f3c1e6c1d04ddf751633b28db7fbc152055d34e",tarball:"http://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz"},_from:"color-string@>=0.2.0 <0.3.0",_npmVersion:"1.3.25",_npmUser:{name:"harth",email:"fayearthur@gmail.com"},maintainers:[{name:"harth",email:"fayearthur@gmail.com"}],directories:{},_shasum:"2f3c1e6c1d04ddf751633b28db7fbc152055d34e",_resolved:"https://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz"}}.call(a.exports),c.modules["color/node_modules/color-string/package.json"]._cached=a.exports,a.exports},a.modules["color-string"]=function(){var a={exports:{}},b=a.exports,d=".",e="color-string",f=function(a){return c(a,".")};return f.resolve=function(a){return c.resolve(name,".")},f.modules=c.modules,c.modules["color-string"]._cached=a.exports,function(){function c(a){if(!a)return;var c=/^#([a-fA-F0-9]{3})$/,d=/^#([a-fA-F0-9]{6})$/,e=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d\.]+)\s*)?\)$/,f=/^rgba?\(\s*([\d\.]+)\%\s*,\s*([\d\.]+)\%\s*,\s*([\d\.]+)\%\s*(?:,\s*([\d\.]+)\s*)?\)$/,g=/(\D+)/,h=[0,0,0],i=1,j=a.match(c);if(j){j=j[1];for(var k=0;k<h.length;k++)h[k]=parseInt(j[k]+j[k],16)}else if(j=a.match(d)){j=j[1];for(var k=0;k<h.length;k++)h[k]=parseInt(j.slice(k*2,k*2+2),16)}else if(j=a.match(e)){for(var k=0;k<h.length;k++)h[k]=parseInt(j[k+1]);i=parseFloat(j[4])}else if(j=a.match(f)){for(var k=0;k<h.length;k++)h[k]=Math.round(parseFloat(j[k+1])*2.55);i=parseFloat(j[4])}else if(j=a.match(g)){if(j[1]=="transparent")return[0,0,0,0];h=b.keyword2rgb(j[1]);if(!h)return}for(var k=0;k<h.length;k++)h[k]=s(h[k],0,255);return!i&&i!=0?i=1:i=s(i,0,1),h.push(i),h}function d(a){if(!a)return;var b=/^hsla?\(\s*(\d+)\s*,\s*([\d\.]+)%\s*,\s*([\d\.]+)%\s*(?:,\s*([\d\.]+)\s*)?\)/,c=a.match(b);if(c){var d=s(parseInt(c[1]),0,360),e=s(parseFloat(c[2]),0,100),f=s(parseFloat(c[3]),0,100),g=s(parseFloat(c[4])||1,0,1);return[d,e,f,g]}}function e(a){if(!a)return;var b=/^hwb\(\s*(\d+)\s*,\s*([\d\.]+)%\s*,\s*([\d\.]+)%\s*(?:,\s*([\d\.]+)\s*)?\)/,c=a.match(b);if(c){var d=s(parseInt(c[1]),0,360),e=s(parseFloat(c[2]),0,100),f=s(parseFloat(c[3]),0,100),g=s(parseFloat(c[4])||1,0,1);return[d,e,f,g]}}function g(a){var b=c(a);return b&&b.slice(0,3)}function h(a){var b=d(a);return b&&b.slice(0,3)}function i(a){var b=c(a);if(b)return b[3];if(b=d(a))return b[3];if(b=e(a))return b[3]}function j(a){return"#"+t(a[0])+t(a[1])+t(a[2])}function k(a,b){return b<1||a[3]&&a[3]<1?l(a,b):"rgb("+a[0]+", "+a[1]+", "+a[2]+")"}function l(a,b){return b===undefined&&(b=a[3]!==undefined?a[3]:1),"rgba("+a[0]+", "+a[1]+", "+a[2]+", "+b+")"}function m(a,b){if(b<1||a[3]&&a[3]<1)return n(a,b);var c=Math.round(a[0]/255*100),d=Math.round(a[1]/255*100),e=Math.round(a[2]/255*100);return"rgb("+c+"%, "+d+"%, "+e+"%)"}function n(a,b){var c=Math.round(a[0]/255*100),d=Math.round(a[1]/255*100),e=Math.round(a[2]/255*100);return"rgba("+c+"%, "+d+"%, "+e+"%, "+(b||a[3]||1)+")"}function o(a,b){return b<1||a[3]&&a[3]<1?p(a,b):"hsl("+a[0]+", "+a[1]+"%, "+a[2]+"%)"}function p(a,b){return b===undefined&&(b=a[3]!==undefined?a[3]:1),"hsla("+a[0]+", "+a[1]+"%, "+a[2]+"%, "+b+")"}function q(a,b){return b===undefined&&(b=a[3]!==undefined?a[3]:1),"hwb("+a[0]+", "+a[1]+"%, "+a[2]+"%"+(b!==undefined&&b!==1?", "+b:"")+")"}function r(a){return b.rgb2keyword(a.slice(0,3))}function s(a,b,c){return Math.min(Math.max(b,a),c)}function t(a){var b=a.toString(16).toUpperCase();return b.length<2?"0"+b:b}var b=f("color-convert");a.exports={getRgba:c,getHsla:d,getRgb:g,getHsl:h,getHwb:e,getAlpha:i,hexString:j,rgbString:k,rgbaString:l,percentString:m,percentaString:n,hslString:o,hslaString:p,hwbString:q,keyword:r}}.call(a.exports),c.modules["color-string"]._cached=a.exports,a.exports},a("/color")}()