-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathjquery.color.min.js
1 lines (1 loc) · 6.97 KB
/
jquery.color.min.js
1
(function(m,c){var i="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color outlineColor".split(" "),f=/^([\-+])=\s*(\d+\.?\d*)/,e=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(n){return[n[1],n[2],n[3],n[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(n){return[2.55*n[1],2.55*n[2],2.55*n[3],n[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(n){return[n[1],n[2]/100,n[3]/100,n[4]]}}],d=m.Color=function(o,p,n,q){return new m.Color.fn.parse(o,p,n,q)},h={rgba:{cache:"_rgba",props:{red:{idx:0,min:0,max:255,type:"int",empty:true},green:{idx:1,min:0,max:255,type:"int",empty:true},blue:{idx:2,min:0,max:255,type:"int",empty:true},alpha:{idx:3,min:0,max:1,type:"float",def:1}}},hsla:{cache:"_hsla",props:{hue:{idx:0,mod:360,type:"int",empty:true},saturation:{idx:1,min:0,max:1,type:"float",empty:true},lightness:{idx:2,min:0,max:1,type:"float",empty:true}}}},k=h.rgba.props,l=d.support={},a,j=m.each;h.hsla.props.alpha=k.alpha;function g(o,p,n){if((p.empty||n)&&o==null){return null}if(p.def&&o==null){return p.def}if(p.type==="int"){o=~~o}if(p.mod){o=(o<0?o+p.mod*(1+~~(-o/p.mod)):o)%p.mod}if(p.type==="float"){o=parseFloat(o)}if(m.isNaN(o)){o=p.def}return p.min>o?p.min:p.max<o?p.max:o}d.fn=d.prototype={constructor:d,parse:function(u,s,n,t){if(u===c){this._rgba=[null,null,null,null];return this}if(u instanceof m||u.nodeType){u=u instanceof m?u.css(s):m(u).css(s);s=c}var r=this,p=m.type(u),o=this._rgba=[],q;if(s!==c){u=[u,s,n,t];p="array"}if(p==="string"){u=u.toLowerCase();j(e,function(A,B){var z=B.re.exec(u),y=z&&B.parse(z),x,w=B.space||"rgba",v=h[w].cache;if(y){x=r[w](y);if(w!="rgba"){r[v]=x[v]}o=r._rgba=x._rgba;return false}});if(o.length!==0){if(Math.max.apply(Math,o)===0){$.extend(o,a.transparent)}return this}u=a[u]||a._default;return this.parse(u)}if(p==="array"){j(k,function(v,w){o[w.idx]=g(u[w.idx],w)});return this}if(p==="object"){if(u instanceof d){j(h,function(v,w){if(u[w.cache]){r[w.cache]=u[w.cache].slice()}})}else{j(h,function(v,w){j(w.props,function(y,z){var x=w.cache;if(!r[x]&&w.to){if(u[y]==null||y==="alpha"){return}r[x]=w.to(r._rgba)}r[x][z.idx]=g(u[y],z,true)})})}return this}},is:function(p){var o=d(p),q=true,n=this;j(h,function(r,t){var s=o[t.cache],u;if(s){u=n[t.cache]||t.to&&t.to(n._rgba)||[];j(t.props,function(v,w){if(s[w.idx]!=null){q=(s[w.idx]==u[w.idx]);return q}})}return q});return q},_space:function(){var n=[],o=this;j(h,function(p,q){if(o[q.cache]){n.push(p)}});return n.pop()},transition:function(o,t){var p=d(o),q=p._space(),r=h[q],s=this[r.cache]||r.to(this._rgba),n=s.slice();p=p[r.cache];j(r.props,function(u,x){var v=s[x.idx],w=p[x.idx];if(w===null){return}if(v===null){n[x.idx]=w}else{if(x.mod){if(w-v>x.mod/2){v+=x.mod}else{if(v-w>x.mod/2){v-=x.mod}}}n[x.idx]=g((w-v)*t+v,x)}});return this[q](n)},blend:function(q){if(this._rgba[3]===1){return this}var p=this._rgba.slice(),o=p.pop(),n=d(q)._rgba;return d(m.map(p,function(r,s){return(1-o)*n[s]+o*r}))},toRgbaString:function(){var n=m.map(this._rgba,function(o,p){return o==null?(p>2?1:0):o});if(n[3]===1){n.length=3}return(n.length===3?"rgb(":"rgba(")+n.join(",")+")"},toHslaString:function(){var n=m.map(this.hsla(),function(o,p){o=o==null?(p>2?1:0):o;if(p===1||p===2){o=Math.round(o*100)+"%"}return o});if(n[3]===1){n.length=3}return(n.length===3?"hsl(":"hsla(")+n.join(",")+")"},toHexString:function(n){var o=this._rgba.slice();if(!n){o.length=3}return"#"+m.map(o,function(p,q){var r=(q===3)?255:1,s=(p*r).toString(16);return s.length===1?"0"+s:s.substr(0,2)}).join("")},toString:function(){if(this._rgba[3]===0){return"transparent"}return this.toRgbaString()}};d.fn.parse.prototype=d.fn;function b(r,o,n){n=(n+1)%1;if(n*6<1){return r+(o-r)*6*n}if(n*2<1){return o}if(n*3<2){return r+(o-r)*((2/3)-n)*6}return r}h.hsla.to=function(p){if(p[0]==null||p[1]==null||p[2]==null){return[null,null,null,p[3]]}var n=p[0]/255,u=p[1]/255,v=p[2]/255,x=p[3],w=Math.max(n,u,v),q=Math.min(n,u,v),y=w-q,z=w+q,o=z*0.5,t,A;if(q===w){t=0}else{if(n===w){t=(60*(u-v)/y)+360}else{if(u===w){t=(60*(v-n)/y)+120}else{t=(60*(n-u)/y)+240}}}if(o===0||o===1){A=o}else{if(o<=0.5){A=y/z}else{A=y/(2-z)}}return[Math.round(t)%360,A,o,x==null?1:x]};h.hsla.from=function(t){if(t[0]==null||t[1]==null||t[2]==null){return[null,null,null,t[3]]}var w=t[0]/360,A=t[1],v=t[2],z=t[3],o=v<=0.5?v*(1+A):v+A-v*A,u=2*v-o,n,x,y;return[Math.round(b(u,o,w+(1/3))*255),Math.round(b(u,o,w)*255),Math.round(b(u,o,w-(1/3))*255),z]};j(h,function(o,q){var p=q.props,n=q.cache,s=q.to,r=q.from;d.fn[o]=function(x){if(s&&!this[n]){this[n]=s(this._rgba)}if(x===c){return this[n].slice()}var w=m.type(x),t=(w==="array"||w==="object")?x:arguments,v=this[n].slice(),u;j(p,function(y,A){var z=t[w==="object"?y:A.idx];if(z==null){z=v[A.idx]}v[A.idx]=g(z,A)});if(r){u=d(r(v));u[n]=v;return u}else{return d(v)}};j(p,function(t,u){if(d.fn[t]){return}d.fn[t]=function(y){var A=m.type(y),x=(t==="alpha"?(this._hsla?"hsla":"rgba"):o),w=this[x](),z=w[u.idx],v;if(A==="undefined"){return z}if(A==="function"){y=y.call(this,z);A=m.type(y)}if(y==null&&u.empty){return this}if(A==="string"){v=f.exec(y);if(v){y=z+parseFloat(v[2])*(v[1]==="+"?1:-1)}}w[u.idx]=y;return this[x](w)}})});j(i,function(n,o){m.cssHooks[o]={set:function(r,s){s=d(s);if(!l.rgba&&s._rgba[3]!==1){var q=o==="backgroundColor"?r.parentNode:r,p;do{p=m.curCSS(q,"backgroundColor");if(p!==""&&p!=="transparent"){break}}while((r=r.parentNode)&&r.style);s=s.blend(d(p||"_default"))}s=s.toRgbaString();r.style[o]=s}};m.fx.step[o]=function(p){if(!p.colorInit){p.start=d(p.elem,o);p.end=d(p.end);p.colorInit=true}m.cssHooks[o].set(p.elem,p.start.transition(p.end,p.pos))}});m(function(){var o=document.createElement("div"),n=o.style;n.cssText="background-color:rgba(150,255,150,.5)";l.rgba=n.backgroundColor.indexOf("rgba")>-1});a=m.Color.names={aqua:"#00ffff",azure:"#f0ffff",beige:"#f5f5dc",black:"#000000",blue:"#0000ff",brown:"#a52a2a",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkviolet:"#9400d3",fuchsia:"#ff00ff",gold:"#ffd700",green:"#008000",indigo:"#4b0082",khaki:"#f0e68c",lightblue:"#add8e6",lightcyan:"#e0ffff",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightyellow:"#ffffe0",lime:"#00ff00",magenta:"#ff00ff",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",pink:"#ffc0cb",purple:"#800080",violet:"#800080",red:"#ff0000",silver:"#c0c0c0",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}})(jQuery);