tinycolor.min.js 13 KB

12
  1. (function(){var r=/^[\s,#]+/,e=/\s+$/,t=0,a=Math,n=a.round,i=a.min,f=a.max,s=a.random;var o=function M(r,e){r=r?r:"";e=e||{};if(r instanceof M){return r}if(!(this instanceof M)){return new M(r,e)}var a=h(r);this._r=a.r,this._g=a.g,this._b=a.b,this._a=a.a,this._roundA=n(100*this._a)/100,this._format=e.format||a.format;this._gradientType=e.gradientType;if(this._r<1){this._r=n(this._r)}if(this._g<1){this._g=n(this._g)}if(this._b<1){this._b=n(this._b)}this._ok=a.ok;this._tc_id=t++};o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var r=this.toRgb();return(r.r*299+r.g*587+r.b*114)/1e3},setAlpha:function(r){this._a=y(r);this._roundA=n(100*this._a)/100;return this},toHsv:function(){var r=c(this._r,this._g,this._b);return{h:r.h*360,s:r.s,v:r.v,a:this._a}},toHsvString:function(){var r=c(this._r,this._g,this._b);var e=n(r.h*360),t=n(r.s*100),a=n(r.v*100);return this._a==1?"hsv("+e+", "+t+"%, "+a+"%)":"hsva("+e+", "+t+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var r=l(this._r,this._g,this._b);return{h:r.h*360,s:r.s,l:r.l,a:this._a}},toHslString:function(){var r=l(this._r,this._g,this._b);var e=n(r.h*360),t=n(r.s*100),a=n(r.l*100);return this._a==1?"hsl("+e+", "+t+"%, "+a+"%)":"hsla("+e+", "+t+"%, "+a+"%, "+this._roundA+")"},toHex:function(r){return d(this._r,this._g,this._b,r)},toHexString:function(r){return"#"+this.toHex(r)},toHex8:function(){return v(this._r,this._g,this._b,this._a)},toHex8String:function(){return"#"+this.toHex8()},toRgb:function(){return{r:n(this._r),g:n(this._g),b:n(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+n(this._r)+", "+n(this._g)+", "+n(this._b)+")":"rgba("+n(this._r)+", "+n(this._g)+", "+n(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:n(x(this._r,255)*100)+"%",g:n(x(this._g,255)*100)+"%",b:n(x(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+n(x(this._r,255)*100)+"%, "+n(x(this._g,255)*100)+"%, "+n(x(this._b,255)*100)+"%)":"rgba("+n(x(this._r,255)*100)+"%, "+n(x(this._g,255)*100)+"%, "+n(x(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){if(this._a===0){return"transparent"}if(this._a<1){return false}return _[d(this._r,this._g,this._b,true)]||false},toFilter:function(r){var e="#"+v(this._r,this._g,this._b,this._a);var t=e;var a=this._gradientType?"GradientType = 1, ":"";if(r){var n=o(r);t=n.toHex8String()}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+e+",endColorstr="+t+")"},toString:function(r){var e=!!r;r=r||this._format;var t=false;var a=this._a<1&&this._a>=0;var n=!e&&a&&(r==="hex"||r==="hex6"||r==="hex3"||r==="name");if(n){if(r==="name"&&this._a===0){return this.toName()}return this.toRgbString()}if(r==="rgb"){t=this.toRgbString()}if(r==="prgb"){t=this.toPercentageRgbString()}if(r==="hex"||r==="hex6"){t=this.toHexString()}if(r==="hex3"){t=this.toHexString(true)}if(r==="hex8"){t=this.toHex8String()}if(r==="name"){t=this.toName()}if(r==="hsl"){t=this.toHslString()}if(r==="hsv"){t=this.toHsvString()}return t||this.toHexString()}};o.fromRatio=function(r,e){if(typeof r=="object"){var t={};for(var a in r){if(r.hasOwnProperty(a)){if(a==="a"){t[a]=r[a]}else{t[a]=R(r[a])}}}r=t}return o(r,e)};function h(r){var e={r:0,g:0,b:0};var t=1;var a=false;var n=false;if(typeof r=="string"){r=q(r)}if(typeof r=="object"){if(r.hasOwnProperty("r")&&r.hasOwnProperty("g")&&r.hasOwnProperty("b")){e=u(r.r,r.g,r.b);a=true;n=String(r.r).substr(-1)==="%"?"prgb":"rgb"}else if(r.hasOwnProperty("h")&&r.hasOwnProperty("s")&&r.hasOwnProperty("v")){r.s=R(r.s);r.v=R(r.v);e=b(r.h,r.s,r.v);a=true;n="hsv"}else if(r.hasOwnProperty("h")&&r.hasOwnProperty("s")&&r.hasOwnProperty("l")){r.s=R(r.s);r.l=R(r.l);e=g(r.h,r.s,r.l);a=true;n="hsl"}if(r.hasOwnProperty("a")){t=r.a}}t=y(t);return{ok:a,format:r.format||n,r:i(255,f(e.r,0)),g:i(255,f(e.g,0)),b:i(255,f(e.b,0)),a:t}}function u(r,e,t){return{r:x(r,255)*255,g:x(e,255)*255,b:x(t,255)*255}}function l(r,e,t){r=x(r,255);e=x(e,255);t=x(t,255);var a=f(r,e,t),n=i(r,e,t);var s,o,h=(a+n)/2;if(a==n){s=o=0}else{var u=a-n;o=h>.5?u/(2-a-n):u/(a+n);switch(a){case r:s=(e-t)/u+(e<t?6:0);break;case e:s=(t-r)/u+2;break;case t:s=(r-e)/u+4;break}s/=6}return{h:s,s:o,l:h}}function g(r,e,t){var a,n,i;r=x(r,360);e=x(e,100);t=x(t,100);function f(r,e,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return r+(e-r)*6*t;if(t<1/2)return e;if(t<2/3)return r+(e-r)*(2/3-t)*6;return r}if(e===0){a=n=i=t}else{var s=t<.5?t*(1+e):t+e-t*e;var o=2*t-s;a=f(o,s,r+1/3);n=f(o,s,r);i=f(o,s,r-1/3)}return{r:a*255,g:n*255,b:i*255}}function c(r,e,t){r=x(r,255);e=x(e,255);t=x(t,255);var a=f(r,e,t),n=i(r,e,t);var s,o,h=a;var u=a-n;o=a===0?0:u/a;if(a==n){s=0}else{switch(a){case r:s=(e-t)/u+(e<t?6:0);break;case e:s=(t-r)/u+2;break;case t:s=(r-e)/u+4;break}s/=6}return{h:s,s:o,v:h}}function b(r,e,t){r=x(r,360)*6;e=x(e,100);t=x(t,100);var n=a.floor(r),i=r-n,f=t*(1-e),s=t*(1-i*e),o=t*(1-(1-i)*e),h=n%6,u=[t,s,f,f,o,t][h],l=[o,t,t,s,f,f][h],g=[f,f,o,t,t,s][h];return{r:u*255,g:l*255,b:g*255}}function d(r,e,t,a){var i=[S(n(r).toString(16)),S(n(e).toString(16)),S(n(t).toString(16))];if(a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)){return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)}return i.join("")}function v(r,e,t,a){var i=[S(F(a)),S(n(r).toString(16)),S(n(e).toString(16)),S(n(t).toString(16))];return i.join("")}o.equals=function(r,e){if(!r||!e){return false}return o(r).toRgbString()==o(e).toRgbString()};o.random=function(){return o.fromRatio({r:s(),g:s(),b:s()})};o.desaturate=function(r,e){e=e===0?0:e||10;var t=o(r).toHsl();t.s-=e/100;t.s=k(t.s);return o(t)};o.saturate=function(r,e){e=e===0?0:e||10;var t=o(r).toHsl();t.s+=e/100;t.s=k(t.s);return o(t)};o.greyscale=function(r){return o.desaturate(r,100)};o.lighten=function(r,e){e=e===0?0:e||10;var t=o(r).toHsl();t.l+=e/100;t.l=k(t.l);return o(t)};o.brighten=function(r,e){e=e===0?0:e||10;var t=o(r).toRgb();t.r=f(0,i(255,t.r-n(255*-(e/100))));t.g=f(0,i(255,t.g-n(255*-(e/100))));t.b=f(0,i(255,t.b-n(255*-(e/100))));return o(t)};o.darken=function(r,e){e=e===0?0:e||10;var t=o(r).toHsl();t.l-=e/100;t.l=k(t.l);return o(t)};o.complement=function(r){var e=o(r).toHsl();e.h=(e.h+180)%360;return o(e)};o.spin=function(r,e){var t=o(r).toHsl();var a=(n(t.h)+e)%360;t.h=a<0?360+a:a;return o(t)};o.mix=function(r,e,t){t=t===0?0:t||50;var a=o(r).toRgb();var n=o(e).toRgb();var i=t/100;var f=i*2-1;var s=n.a-a.a;var h;if(f*s==-1){h=f}else{h=(f+s)/(1+f*s)}h=(h+1)/2;var u=1-h;var l={r:n.r*h+a.r*u,g:n.g*h+a.g*u,b:n.b*h+a.b*u,a:n.a*i+a.a*(1-i)};return o(l)};o.triad=function(r){var e=o(r).toHsl();var t=e.h;return[o(r),o({h:(t+120)%360,s:e.s,l:e.l}),o({h:(t+240)%360,s:e.s,l:e.l})]};o.tetrad=function(r){var e=o(r).toHsl();var t=e.h;return[o(r),o({h:(t+90)%360,s:e.s,l:e.l}),o({h:(t+180)%360,s:e.s,l:e.l}),o({h:(t+270)%360,s:e.s,l:e.l})]};o.splitcomplement=function(r){var e=o(r).toHsl();var t=e.h;return[o(r),o({h:(t+72)%360,s:e.s,l:e.l}),o({h:(t+216)%360,s:e.s,l:e.l})]};o.analogous=function(r,e,t){e=e||6;t=t||30;var a=o(r).toHsl();var n=360/t;var i=[o(r)];for(a.h=(a.h-(n*e>>1)+720)%360;--e;){a.h=(a.h+n)%360;i.push(o(a))}return i};o.monochromatic=function(r,e){e=e||6;var t=o(r).toHsv();var a=t.h,n=t.s,i=t.v;var f=[];var s=1/e;while(e--){f.push(o({h:a,s:n,v:i}));i=(i+s)%1}return f};o.readability=function(r,e){var t=o(r);var a=o(e);var n=t.toRgb();var i=a.toRgb();var f=t.getBrightness();var s=a.getBrightness();var h=Math.max(n.r,i.r)-Math.min(n.r,i.r)+Math.max(n.g,i.g)-Math.min(n.g,i.g)+Math.max(n.b,i.b)-Math.min(n.b,i.b);return{brightness:Math.abs(f-s),color:h}};o.readable=function(r,e){var t=o.readability(r,e);return t.brightness>125&&t.color>500};o.mostReadable=function(r,e){var t=null;var a=0;var n=false;for(var i=0;i<e.length;i++){var f=o.readability(r,e[i]);var s=f.brightness>125&&f.color>500;var h=3*(f.brightness/125)+f.color/500;if(s&&!n||s&&n&&h>a||!s&&!n&&h>a){n=s;a=h;t=o(e[i])}}return t};var m=o.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var _=o.hexNames=p(m);function p(r){var e={};for(var t in r){if(r.hasOwnProperty(t)){e[r[t]]=t}}return e}function y(r){r=parseFloat(r);if(isNaN(r)||r<0||r>1){r=1}return r}function x(r,e){if(H(r)){r="100%"}var t=A(r);r=i(e,f(0,parseFloat(r)));if(t){r=parseInt(r*e,10)/100}if(a.abs(r-e)<1e-6){return 1}return r%e/parseFloat(e)}function k(r){return i(1,f(0,r))}function w(r){return parseInt(r,16)}function H(r){return typeof r=="string"&&r.indexOf(".")!=-1&&parseFloat(r)===1}function A(r){return typeof r==="string"&&r.indexOf("%")!=-1}function S(r){return r.length==1?"0"+r:""+r}function R(r){if(r<=1){r=r*100+"%"}return r}function F(r){return Math.round(parseFloat(r)*255).toString(16)}function P(r){return w(r)/255}var O=function(){var r="[-\\+]?\\d+%?";var e="[-\\+]?\\d*\\.\\d+%?";var t="(?:"+e+")|(?:"+r+")";var a="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";var n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{rgb:new RegExp("rgb"+a),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+a),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+a),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex8:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function q(t){t=t.replace(r,"").replace(e,"").toLowerCase();var a=false;if(m[t]){t=m[t];a=true}else if(t=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var n;if(n=O.rgb.exec(t)){return{r:n[1],g:n[2],b:n[3]}}if(n=O.rgba.exec(t)){return{r:n[1],g:n[2],b:n[3],a:n[4]}}if(n=O.hsl.exec(t)){return{h:n[1],s:n[2],l:n[3]}}if(n=O.hsla.exec(t)){return{h:n[1],s:n[2],l:n[3],a:n[4]}}if(n=O.hsv.exec(t)){return{h:n[1],s:n[2],v:n[3]}}if(n=O.hex8.exec(t)){return{a:P(n[1]),r:w(n[2]),g:w(n[3]),b:w(n[4]),format:a?"name":"hex8"}}if(n=O.hex6.exec(t)){return{r:w(n[1]),g:w(n[2]),b:w(n[3]),format:a?"name":"hex"}}if(n=O.hex3.exec(t)){return{r:w(n[1]+""+n[1]),g:w(n[2]+""+n[2]),b:w(n[3]+""+n[3]),format:a?"name":"hex"}}return false}if(typeof module!=="undefined"&&module.exports){module.exports=o}else if(typeof define==="function"&&define.amd){define(function(){return o})}else{window.tinycolor=o}})();
  2. //# sourceMappingURL=tinycolor.min.map