You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6 lines
47 KiB
JavaScript

/*! colorPicker - v1.0.0 2016-05-18 */
!function(a,b){"use strict";function n(a,b,d,f,g){if("string"==typeof b){var b=q.txt2color(b);d=b.type,e[d]=b[d],g=void 0!==g?g:b.alpha}else if(b)for(var h in b)a[d][h]="Lab"===d?w(b[h],c[d][h][0],c[d][h][1]):w(b[h]/c[d][h][1],0,1);return void 0!==g&&(a.alpha=w(+g,0,1)),p(d,f?a:void 0)}function o(a,b,c){var e=d.options.grey,f={};return f.RGB={r:a.r,g:a.g,b:a.b},f.rgb={r:b.r,g:b.g,b:b.b},f.alpha=c,f.equivalentGrey=i.round(e.r*a.r+e.g*a.g+e.b*a.b),f.rgbaMixBlack=u(b,{r:0,g:0,b:0},c,1),f.rgbaMixWhite=u(b,{r:1,g:1,b:1},c,1),f.rgbaMixBlack.luminance=t(f.rgbaMixBlack,!0),f.rgbaMixWhite.luminance=t(f.rgbaMixWhite,!0),d.options.customBG&&(f.rgbaMixCustom=u(b,d.options.customBG,c,1),f.rgbaMixCustom.luminance=t(f.rgbaMixCustom,!0),d.options.customBG.luminance=t(d.options.customBG,!0)),f}function p(a,b){var m,y,z,f=i,g=b||e,h=q,j=d.options,k=c,l=g.RND,n="",p="",w={hsl:"hsv",cmyk:"cmy",rgb:a},x=l.rgb;if("alpha"!==a){for(var A in k)if(!k[A][A]){a!==A&&"XYZ"!==A&&(p=w[A]||"rgb",g[A]=h[p+"2"+A](g[p])),l[A]||(l[A]={}),m=g[A];for(n in m)l[A][n]=f.round(m[n]*("Lab"===A?1:k[A][n][1]))}"Lab"!==a&&delete g._rgb,x=l.rgb,g.HEX=h.RGB2HEX(x),g.equivalentGrey=j.grey.r*g.rgb.r+j.grey.g*g.rgb.g+j.grey.b*g.rgb.b,g.webSave=y=r(x,51),g.webSmart=z=r(x,17),g.saveColor=x.r===y.r&&x.g===y.g&&x.b===y.b?"web save":x.r===z.r&&x.g===z.g&&x.b===z.b?"web smart":"",g.hueRGB=h.hue2RGB(g.hsv.h),b&&(g.background=o(x,g.rgb,g.alpha))}var F,G,H,I,J,K,L,B=g.rgb,C=g.alpha,D="luminance",E=g.background,M=u,N=t,O=v,P=s;return F=M(B,{r:0,g:0,b:0},C,1),F[D]=N(F,!0),g.rgbaMixBlack=F,G=M(B,{r:1,g:1,b:1},C,1),G[D]=N(G,!0),g.rgbaMixWhite=G,j.allMixDetails&&(F.WCAG2Ratio=O(F[D],0),G.WCAG2Ratio=O(G[D],1),j.customBG&&(H=M(B,j.customBG,C,1),H[D]=N(H,!0),H.WCAG2Ratio=O(H[D],j.customBG[D]),g.rgbaMixCustom=H),I=M(B,E.rgb,C,E.alpha),I[D]=N(I,!0),g.rgbaMixBG=I,J=M(B,E.rgbaMixBlack,C,1),J[D]=N(J,!0),J.WCAG2Ratio=O(J[D],E.rgbaMixBlack[D]),J.luminanceDelta=f.abs(J[D]-E.rgbaMixBlack[D]),J.hueDelta=P(E.rgbaMixBlack,J,!0),g.rgbaMixBGMixBlack=J,K=M(B,E.rgbaMixWhite,C,1),K[D]=N(K,!0),K.WCAG2Ratio=O(K[D],E.rgbaMixWhite[D]),K.luminanceDelta=f.abs(K[D]-E.rgbaMixWhite[D]),K.hueDelta=P(E.rgbaMixWhite,K,!0),g.rgbaMixBGMixWhite=K),j.customBG&&(L=M(B,E.rgbaMixCustom,C,1),L[D]=N(L,!0),L.WCAG2Ratio=O(L[D],E.rgbaMixCustom[D]),g.rgbaMixBGMixCustom=L,L.luminanceDelta=f.abs(L[D]-E.rgbaMixCustom[D]),L.hueDelta=P(E.rgbaMixCustom,L,!0)),g.RGBLuminance=N(x),g.HUELuminance=N(g.hueRGB),j.convertCallback&&j.convertCallback(g,a),g}function r(a,b){var c={},d=0,e=b/2;for(var f in a)d=a[f]%b,c[f]=a[f]+(d>e?b-d:-d);return c}function s(a,b,c){var d=i;return(d.max(a.r-b.r,b.r-a.r)+d.max(a.g-b.g,b.g-a.g)+d.max(a.b-b.b,b.b-a.b))*(c?255:1)/765}function t(a,b){for(var c=b?1:255,e=[a.r/c,a.g/c,a.b/c],f=d.options.luminance,g=e.length;g--;)e[g]=e[g]<=.03928?e[g]/12.92:i.pow((e[g]+.055)/1.055,2.4);return f.r*e[0]+f.g*e[1]+f.b*e[2]}function u(a,b,c,d){var e={},f=void 0!==c?c:1,g=void 0!==d?d:1,h=f+g*(1-f);for(var i in a)e[i]=(a[i]*f+b[i]*g*(1-f))/h;return e.a=h,e}function v(a,b){var c=1;return c=a>=b?(a+.05)/(b+.05):(b+.05)/(a+.05),i.round(100*c)/100}function w(a,b,c){return a>c?c:a<b?b:a}var c={rgb:{r:[0,255],g:[0,255],b:[0,255]},hsv:{h:[0,360],s:[0,100],v:[0,100]},hsl:{h:[0,360],s:[0,100],l:[0,100]},cmy:{c:[0,100],m:[0,100],y:[0,100]},cmyk:{c:[0,100],m:[0,100],y:[0,100],k:[0,100]},Lab:{L:[0,100],a:[-128,127],b:[-128,127]},XYZ:{X:[0,100],Y:[0,100],Z:[0,100]},alpha:{alpha:[0,1]},HEX:{HEX:[0,16777215]}},d={},e={},f={X:[.4124564,.3575761,.1804375],Y:[.2126729,.7151522,.072175],Z:[.0193339,.119192,.9503041],R:[3.2404542,-1.5371385,-.4985314],G:[-.969266,1.8760108,.041556],B:[.0556434,-.2040259,1.0572252]},g={r:.298954,g:.586434,b:.114612},h={r:.2126,g:.7152,b:.0722},i=a.Math,k=(a.parseInt,b.Colors=function(a){this.colors={RND:{}},this.options={color:"rgba(204, 82, 37, 0.8)",XYZMatrix:f,grey:g,luminance:h,valueRanges:c},l(this,a||{})}),l=function(a,b){var c,g,f=a.options;m(a);for(var h in b)void 0!==b[h]&&(f[h]=b[h]);c=f.XYZMatrix,b.XYZReference||(f.XYZReference={X:c.X[0]+c.X[1]+c.X[2],Y:c.Y[0]+c.Y[1]+c.Y[2],Z:c.Z[0]+c.Z[1]+c.Z[2]}),g
X(),da(c)}function O(b){var c=b||a.event,d=ga(c),e=(d.Y-p.top)*y.scale,f=y.mode;return x[f.type][f.z]=1-ba(e/255,0,1),X(),da(c)}function P(b){var c=b||a.event,d=ga(c);return r=!0,x.alpha=ba(A.round((d.X-p.left)/p.width*100),0,100)/100,X("alpha"),da(c)}function Q(b){var k,d=b||a.event,e=ga(d),f=o.pageY-e.Y,g=y.delayOffset,i=m.type,j="alpha"===i;if(n||A.abs(f)>=g)return n||(n=(f>0?-g:g)+ +l.firstChild.data*(j?100:1),o.pageY+=n,f+=n,n=1,ea(z.panel,"start-change","do-change"),z.panelCover.style.cssText="position:absolute;left:0;top:0;right:0;bottom:0",c.activeElement.blur(),q=a[C]($)),"cmyk"===i&&y.cmyOnly&&(i="cmy"),j?(r=!0,x.alpha=ba(f/100,0,1)):(k=h[i][m.z],x[i][m.z]="Lab"===i?ba(f,k[0],k[1]):ba(f/k[1],0,1)),X(j?"alpha":i),da(d)}function R(b){var v,d=b||a.event,e=d.which||d.keyCode,f=String.fromCharCode(e),g=c.activeElement,i=g.className.replace(y.CSSPrefix,"").split("-"),k=i[0],l=i[1],m="alpha"===k,n="HEX"===k,o={k40:-1,k38:1,k34:-10,k33:10}["k"+e]/(m?100:1),p={HEX:/[0-9a-fA-F]/,Lab:/[\-0-9]/,alpha:/[\.0-9]/}[k]||/[0-9]/,q=h[k][k]||h[k][l],r=g.firstChild,s=ja(g),t=r.data,w="0"!==t||n?t.split(""):[];return/^(?:27|13)$/.test(e)?(da(d),g.blur()):"keydown"===d.type?(o?v=ba(A.round(1e6*(+t+o))/1e6,q[0],q[1]):/^(?:8|46)$/.test(e)&&(s.range||(s.range++,s.start-=8===e?1:0),w.splice(s.start,s.range),v=w.join("")||"0"),void 0!==v&&da(d,!0)):"keypress"===d.type&&(/^(?:37|39|8|46|9)$/.test(e)||da(d,!0),p.test(f)&&(w.splice(s.start,s.range,f),v=w.join("")),s.start++),13===e&&n?r.data.length%3===0||"0"===r.data?u.setColor("0"===r.data?"000":r.data,"rgb",x.alpha,!0):(da(d,!0),g.focus()):(n&&void 0!==v&&(v=/^0+/.test(v)?v:parseInt(""+v,16)||0),void(void 0!==v&&""!==v&&+v>=q[0]&&+v<=q[1]&&(n&&(v=v.toString(16).toUpperCase()||"0"),m?x[k]=+v:n||(x[k][l]=+v/("Lab"===k?1:q[1])),X(m?"alpha":k),Z(x),j=!0,M(b,d.type),r.data=v,ja(g,A.min(g.firstChild.data.length,s.start<0?0:s.start)))))}function S(b){var i,k,c=b||a.event,d=c.target||c.srcElement,e=d.className,f=d.parentNode,g=y,h=x.RND.rgb,l=y.mode,m="",n=g.CSSPrefix,o=/(?:hs|rgb)/.test(f.className)&&/^[HSBLRG]$/.test(d.firstChild?d.firstChild.data:""),p=/dblc/.test(c.type),q="";if(!p||o){if(e.indexOf("-labl "+n+"labl")!==-1)ea(z[e.split("-")[0]],n+"hide",""),ea(z[f.className.split("-")[1]],n+"hide");else if(e.indexOf(n+"butt")!==-1)if(o)p&&2===y.scale&&(m=/hs/.test(l.type)?"rgb":/hide/.test(z.hsl.className)?"hsv":"hsl",m=m+"-"+m[l.type.indexOf(l.z)]),u.setMode(m?m:e.replace("-butt","").split(" ")[0]),q="modeChange";else if(/^[rgb]/.test(e))m=e.split("-")[1],ea(z.colorPicker,"no-rgb-"+m,(g["noRGB"+m]=!g["noRGB"+m])?void 0:""),q="noRGB"+m;else if(d===z.alpha_labl)i=g.customBG,k=g.alphaBG,ea(z.colorPicker,"alpha-bg-"+k,"alpha-bg-"+(k=g.alphaBG=b.data||("w"===k?i?"c":"b":"c"===k?"b":"w"))),d.firstChild.data=k.toUpperCase(),z.ctrl.style.backgroundColor=z.memo.style.backgroundColor="c"!==k?"":"rgb("+A.round(255*i.r)+", "+A.round(255*i.g)+", "+A.round(255*i.b)+")",z.raster.style.cssText=z.raster_bg.previousSibling.style.cssText="c"!==k?"":ca(i.luminance<.22?.5:.4),q="alphaBackground";else if(d===z.alpha_butt)ea(z.colorPicker,"mute-alpha",(g.muteAlpha=!g.muteAlpha)?void 0:""),q="alphaState";else if(d===z.HEX_butt)ea(z.colorPicker,"no-HEX",(g.HEXState=!g.HEXState)?void 0:""),q="HEXState";else if(d===z.HEX_labl){var r="web save"===x.saveColor;"web smart"===x.saveColor||r?r?u.setColor(g.webUnsave,"rgb"):(g.webUnsave||(g.webUnsave=_(h)),u.setColor(x.webSave,"rgb")):(g.webUnsave=_(h),u.setColor(x.webSmart,"rgb")),q="webColorState"}else/Lab-x-labl/.test(e)&&(ea(z.colorPicker,"cmy-only",(g.cmyOnly=!g.cmyOnly)?void 0:""),q="cmykState");else if(d===z.bsav)Y(),q="saveAsBackground";else if(d===z.bres){var s=_(h),t=x.alpha;u.setColor(g.color),Y(),u.setColor(s,"rgb",t),q="resetColor"}else if(f===z.col1)x.hsv.h-=x.hsv.h>.5?.5:-.5,X("hsv"),q="shiftColor";else if(f===z.col2)u.setColor(d.style.backgroundColor,"rgb",x.background.alpha),q="setSavedColor";else if(f===z.memo){var v=function(){z.memos.blinker&&(z.memos.blinker.style.cssText=z.memos.cssText)},w=function(b){z.memos.blinker=b,b.style.cssText="background-color
//# sourceMappingURL=colorPicker.js.map