UNPKG

@johnny95731/color-utils

Version:

High-performance color utilities that including conversions, harmonies, mix, and sort.

2 lines (1 loc) 20.1 kB
"use strict";const cloneDeep=e=>{let t;if(null==e?t=e:[Number,String,Boolean].forEach((r=>{e instanceof r&&(t=r(e))})),void 0===t)if(Array.isArray(e)){t=[];for(const r of e)t.push(cloneDeep(r))}else if(e instanceof Date)t=new Date(e);else if("object"==typeof e){t={};for(const r in e)t[r]=cloneDeep(e[r])}else t=e;return t},map=(e,t,r)=>{const o=Array(r??=e.length??e);let s=0;if("number"==typeof e)for(;s<e;)o[s]=t(s++);else for(;s<r;)o[s]=t(e[s],s++);return o},normalizeOption=(e,t,r=t[0])=>("number"==typeof e&&(e=t[e]),e||(e=r),e),pow=(e,t)=>t?e?Math.exp(t*Math.log(e)):0:1,randInt=e=>Math.random()*(e+1)|0,round=(e,t=0)=>Math.round(10**t*e)/10**t,clip=(e,t,r)=>e<t?t:e>r?r:e,rangeMapping=(e,t,r,o,s,n)=>{const a=o+clip((e-t)/(r-t),0,1)*(s-o);return null==n?a:round(a,n)},[e,t]=(()=>{const e=Math.PI/180;return[t=>t*e,t=>t/e]})(),dot3=(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],squareSum4=(e,t,r=0,o=0)=>e*e+t*t+r*r+o*o,l2Norm3=(e,t,r=0)=>Math.sqrt(squareSum4(e,t,r)),l2Dist3=(e,t)=>l2Norm3(e[0]-t[0],e[1]-t[1],e[2]-t[2]),elementwiseMean=(e,t)=>map(Math.min(e.length,t.length),(r=>(e[r]+t[r])/2)),matVecProduct3=(e,t)=>[dot3(e[0],t),dot3(e[1],t),dot3(e[2],t)],r=/^#?([0-9a-f]{3,8})$/i,isValidHex=e=>{const t=r.exec(e)?.[1].length;return null!=t&&5!==t&&7!==t},rgb2hex=e=>{let t,r=alphaNormalize(e[3]),o=(16777216|e[0]+.5<<16|e[1]+.5<<8|e[2]+.5).toString(16).slice(1);return r<1&&(r=255*r+.5|0,t=r.toString(16),o+=r<16?"0"+t:t),("#"+o).toUpperCase()},hex2rgb=e=>{const t=r.exec(e),o=t?.[1].length;if(!o||5===o||7===o)return[0,0,0,1];const s=parseInt(t[1],16);let n;return o<5?(n=o<4?8:12,[17*(s>>n&15),17*(s>>n-4&15),17*(s>>n-8&15),o>3?17*(15&s)/255:1]):(n=o<8?16:24,[s>>n&255,s>>n-8&255,s>>n-16&255,o>6?(255&s)/255:1])},o=[],s=[],n=[],a={name_:"XYZ",labels_:["X","Y","Z"],isSupported_:!0},l=(()=>{const e=[[41.24564,35.75761,18.04375],[21.26729,71.51522,7.2175],[1.93339,11.9192,95.03041]],t=[[43.60747,38.50649,14.30804],[22.25045,71.68786,6.06169],[1.39322,9.71045,71.41733]],setReferenceWhite=r=>{const l="D50"===r?t:e,p=map(l,(e=>e[0]+e[1]+e[2])),i=(e=>{const[[t,r,o],[s,n,a],[l,p,i]]=e,g=n*i-p*a,u=a*l-s*i,c=s*p-l*n,h=t*g+r*u+o*c;return h?[[g/h,(o*p-r*i)/h,(r*a-o*n)/h],[u/h,(t*i-o*l)/h,(s*o-t*a)/h],[c/h,(l*r-t*p)/h,(t*n-s*r)/h]]:null})(l);i&&(o.splice(0,3,...cloneDeep(l)),s.splice(0,3,...i),n.splice(0,3,...p),a.max_=map(p,(e=>[0,e])),a.white_="D50"===r?"d50":"d65")};return setReferenceWhite("D65"),setReferenceWhite})(),[p,i]=(()=>{const e=6/29,t=e**3,r=841/108,o=4/29;return[e=>e>t?Math.cbrt(e):r*e+o,t=>t>e?t*t*t:(t-o)/r]})(),rgb2xyz=e=>{const t=e[3],r=[srgb2linearRgb(e[0]),srgb2linearRgb(e[1]),srgb2linearRgb(e[2])];return[dot3(o[0],r),dot3(o[1],r),dot3(o[2],r),t]},xyz2rgb=e=>{const t=e[3],r=dot3(s[0],e),o=dot3(s[1],e),n=dot3(s[2],e);return[linearRgb2srgb(r<1?r>0?r:0:1),linearRgb2srgb(o<1?o>0?o:0:1),linearRgb2srgb(n<1?n>0?n:0:1),t]},hsbHelper=e=>{const t=e[3],r=e[0],o=e[1],s=e[2],n=Math.max(r,o,s),a=Math.min(r,o,s),l=n-a;let p;return p=n===s?(r-o)/l+4:n===o?(s-r)/l+2:(o-s)/l+(o<s?6:0),[l&&60*p,a,n,l,t]},rgb2hsb=e=>{const[t,,r,o,s]=hsbHelper(e);return[t,o/r*100||0,r/2.55,s]},hsb2rgb=e=>{const t=e[3],r=e[0]/60,o=e[1]/100,s=2.55*e[2],n=s*o,f=e=>s-n*((e=(e=((e+r)%6+6)%6)<2?e:4-e)<1?e>0?e:0:1);return[f(5),f(3),f(1),t]},rgb2hsl=e=>{const[t,r,o,s,n]=hsbHelper(e),a=o+r;return[t,s/(a<255?a:510-a)*100||0,a/5.1,n]},hsl2rgb=e=>{const t=e[3],r=e[0]/30,o=2.55*e[2],s=e[1]/100*(o<127.5?o:255-o),f=e=>o-s*((e=(e=((e+r)%12+12)%12)<6?e-3:9-e)<1?e>-1?e:-1:1);return[f(0),f(8),f(4),t]},rgb2hwb=e=>{const[t,r,o,,s]=hsbHelper(e);return[t,r/2.55,100-o/2.55,s]},hwb2rgb=e=>{const t=e[3],r=e[2];let o=e[1],s=100-r;return o+r>100&&(s=o/=(o+r)/100),hsb2rgb([e[0],100-100*o/s||0,s,t])},rgb2cmyk=e=>{const t=e[3],r=e[0],o=e[1],s=e[2],n=.01*Math.max(r,o,s);return[100-r/n||0,100-o/n||0,100-s/n||0,100-n/.0255,t]},cmyk2rgb=e=>{const t=e[4],r=255-2.55*e[3];let o=1-e[0]/100,s=1-e[1]/100,n=1-e[2]/100;return o*=r,s*=r,n*=r,[o,s,n,t]},lcc2lch=e=>{const r=e[1],o=e[2],s=t(Math.atan2(o,r));return[e[0],l2Norm3(r,o),s<0?s+360:s,e[3]]},lch2lcc=t=>{const r=e(t[2]);return[t[0],t[1]*Math.cos(r),t[1]*Math.sin(r),t[3]]},rgb2lab=e=>{const t=e[3],r=rgb2xyz(e),o=p(r[1]/n[1]);return[116*o-16,500*(p(r[0]/n[0])-o),200*(o-p(r[2]/n[2])),t]},lab2rgb=e=>{const t=e[3],r=(e[0]+16)/116,o=r+e[1]/500,s=r-e[2]/200;return xyz2rgb([i(o)*n[0],i(r)*n[1],i(s)*n[2],t])},rgb2lchab=e=>lcc2lch(rgb2lab(e)),lchab2rgb=e=>lab2rgb(lch2lcc(e)),[g,u]=(()=>{const weightedSum=e=>e[0]+15*e[1]+3*e[2];return[e=>{const t=e[3],r=rgb2xyz(e),o=weightedSum(n),s=4*n[0]/o,a=9*n[1]/o,l=116*p(r[1]/n[1])-16,i=1/weightedSum(r);return[l,13*l*(4*r[0]*i-s)||0,13*l*(9*r[1]*i-a)||0,t]},e=>{if(!e[0])return[0,0,0,e[3]];const t=e[3],r=e[0],o=e[1],s=e[2],a=1/weightedSum(n),l=4*n[0]*a,p=9*n[1]*a,g=i((r+16)/116)*n[1],u=52/(o+13*r*l),c=39*g/(s+13*r*p);return xyz2rgb([3*c/u,g,r*c-c/u-5*g,t])}]})(),rgb2lchuv=e=>lcc2lch(g(e)),lchuv2rgb=e=>u(lch2lcc(e)),rgb2oklab=e=>{const t=rgb2xyz(e),r=t[3],o=t[0],s=t[1],n=t[2],a=Math.cbrt(.008189330101*o+.003618667424*s+-.001288597137*n),l=Math.cbrt(.000329845436*o+.009293118715*s+.000361456387*n),p=Math.cbrt(.000482003018*o+.002643662691*s+.00633851707*n);return[.2104542553*a+.793617785*l+-.0040720468*p,1.9779984951*a+-2.428592205*l+.4505937099*p,.0259040371*a+.7827717662*l+-.808675766*p,r]},oklab2rgb=e=>{const t=e[3],r=e[0],o=e[1],s=e[2];let n=.9999999984505199*r+.39633779217376786*o+.2158037580607588*s,a=1.0000000088817607*r+-.10556134232365634*o+-.0638541747717059*s,l=1.000000054672411*r+-.08948418209496577*o+-1.291485537864092*s;n*=n*n,a*=a*a,l*=l*l;return xyz2rgb([122.7013851103521*n+-55.77999806518222*a+28.12561489664678*l,-4.058017842328059*n+111.225686961683*a+-7.167667866560119*l,-7.63812845057069*n+-42.14819784180127*a+158.6163220440795*l,t])},rgb2oklch=e=>lcc2lch(rgb2oklab(e)),oklch2rgb=e=>oklab2rgb(lch2lcc(e)),c=(()=>{const e=[[0,360],[0,100],[0,100]],t=[[0,100],[0,150],[0,360]],identityMap=e=>[...e],r=[{name_:"RGB",fromRgb_:identityMap,toRgb_:identityMap,labels_:["Red","Green","Blue"],max_:map(3,(()=>[0,255])),isSupported_:!0},{name_:"HSL",fromRgb_:rgb2hsl,toRgb_:hsl2rgb,labels_:["Hue","Saturation","Luminance"],max_:e,isSupported_:!0},{name_:"HSB",fromRgb_:rgb2hsb,toRgb_:hsb2rgb,labels_:["Hue","Saturation","Brightness"],max_:e,isSupported_:!1},{name_:"HWB",fromRgb_:rgb2hwb,toRgb_:hwb2rgb,labels_:["Hue","Whiteness","Blackness"],max_:e,isSupported_:!0},{name_:"CMYK",fromRgb_:rgb2cmyk,toRgb_:cmyk2rgb,labels_:["Cyan","Magenta","Yellow","Black"],max_:map(4,(()=>[0,100])),isSupported_:!1},(a.fromRgb_=rgb2xyz,a.toRgb_=xyz2rgb,a),{name_:"LAB",fromRgb_:rgb2lab,toRgb_:lab2rgb,labels_:["L*","a*","b*"],max_:[[0,100],[-125,125],[-125,125]],isSupported_:!0},{name_:"LUV",fromRgb_:g,toRgb_:u,labels_:["L*","u*","v*"],max_:[[0,100],[-134,220],[-140,122]],isSupported_:!1},{name_:"LCHab",fromRgb_:rgb2lchab,toRgb_:lchab2rgb,labels_:["L*","C*","h"],max_:t,isSupported_:!0},{name_:"LCHuv",fromRgb_:rgb2lchuv,toRgb_:lchuv2rgb,labels_:["L*","C*","h"],max_:t,isSupported_:!1},{name_:"Oklab",fromRgb_:rgb2oklab,toRgb_:oklab2rgb,labels_:["L","a","b"],max_:[[0,1],[-.4,.4],[-.4,.4]],isSupported_:!0},{name_:"Oklch",fromRgb_:rgb2oklch,toRgb_:oklch2rgb,labels_:["L","C","h"],max_:[[0,1],[0,.4],[0,360]],isSupported_:!0}];if("undefined"!=typeof CSS)for(const e of r){const t=/^LCH/.test(e.name_)?"lch":e.name_,r=map(e.labels_,(()=>0)).join(" ");e.isSupported_=CSS.supports("color","XYZ"===t?`color(xyz ${r})`:`${t}(${r})`)}return r})(),h={RGB:0,HSL:1,HSB:2,HWB:3,CMYK:4,XYZ:5,LAB:6,LUV:7,LCHAB:8,LCHUV:9,OKLAB:10,OKLCH:11},getColorSpace=(e=c[0])=>"string"==typeof e?(e=e.toUpperCase(),c[h[e]??0]):e,getSpaceRange=e=>map(getColorSpace(e).max_,(e=>[e[0],e[1]])),toSpace=(e,t,r)=>(t=getColorSpace(t))===(r=getColorSpace(r))?[...e]:"RGB"===t.name_?r.fromRgb_(e):"RGB"===r.name_?t.toRgb_(e):r.fromRgb_(t.toRgb_(e)),getCssColor=(e,t="RGB",r={})=>{let o,s,n,a=0,l="",{checkSupport_:p=!1,sep_:i=" ",percent_:g=!0,place_:u=2}=r;if(t=getColorSpace(t),p&&!t.isSupported_)return getCssColor(t.toRgb_(e),c[0],r);i=p?" ":i,u=!0===u?2:u;const h=/^LCH/.test(t.name_)?"lch":t.name_.toLowerCase(),b="xyz"===h,x=!1===u?e=>e:round;for([,n]of t.max_)o=e[a++],s=g&&360!==n?"%":"",b&&!g&&p?o/=100:!b&&s&&(o*=100/n),l&&(l+=i),l+=x(o,u)+s;return o=alphaNormalize(e[a]),l+=o<1?" / "+(g?x(100*o,u)+"%":x(o,u)):"",b&&p?`color(xyz-${t.white_??"d65"} ${l})`:`${h}(${l})`},rgbArraylize=e=>"string"==typeof e?hex2rgb(e):e,alphaNormalize=e=>void 0===e?1:clip(e,0,1),getAlpha=e=>alphaNormalize(e[e.length-1]),mapNonAlpha=(e,t)=>map(e,((e,r)=>r<3?t(e,r):e)),rgb2hue=e=>hsbHelper(rgbArraylize(e))[0],srgb2linearRgb=e=>e<10.31475?e/3294.6:pow((e+14.025)/269.025,2.4),linearRgb2srgb=e=>e<.0031308?3294.6*e:269.025*pow(e,1/2.4)-14.025,rgb2gray=e=>dot3(rgbArraylize(e),[.299,.587,.114]),isLight=e=>rgb2gray(e)>127.5,rgb2luminance=e=>(e=rgbArraylize(e),.2126*srgb2linearRgb(e[0])+.7152*srgb2linearRgb(e[1])+.0722*srgb2linearRgb(e[2])),b=rgb2luminance,rgb2contrast=(e,t)=>{const r=(rgb2luminance(e)+.05)/(rgb2luminance(t)+.05);return round(r<1?1/r:r,2)},x=rgb2contrast,isReadable=(e,t,r={})=>{const{levelAAA:o,isLarge:s}=r,n=o&&!s?7:!o&&s?3:4.5;return rgb2contrast(e,t)>=n},randRgbGen=(e=!1)=>[randInt(255),randInt(255),randInt(255),e?Math.random():1],m=["mean","brighter","deeper","soft light","additive","weighted"],mix=(e,t,r=.5,o=1-r)=>{const s=Math.min(e.length,t.length);let n=r+o,a=n<1?n:1;return 1!==n&&(r/=n,o/=n),r*=getAlpha(e),o*=getAlpha(t),n=r+o,map(s,(l=>l<s-1?(r*e[l]+o*t[l])/n:n*a))},meanMix=(e,t)=>mix(e,t),gammaMix=(e,t,r=.3)=>{const o=mix(e,t),s=rgb2hsl(o);return s[1]=100*pow(s[1]/100,r),s[2]=100*pow(s[2]/100,r),hsl2rgb(s)},brighterMix=(e,t)=>gammaMix(e,t,.3),deeperMix=(e,t)=>gammaMix(e,t,1.5),blendAndComposite=(e,t,r)=>{const o=getAlpha(t),s=getAlpha(e),n=o*s,a=o-n,l=s-n,p=o+s-n;return map(4,(o=>{if(o<3){return(a*t[o]+l*e[o]+255*n*r(e[o]/255,t[o]/255))/p}return p}))},softLightBlend=(e,t,r="w3c")=>{let o,s;return o="photoshop"===r?(e,t)=>t<.5?e*(2*t+e*(1-2*t)):2*e*(1-t)+Math.sqrt(e)*(2*t-1):"pegtop"===r?(e,t)=>e*(2*t+e*(1-2*t)):"illusions.hu"===r?(e,t)=>pow(e,pow(2,1-2*t)):(e,t)=>t<=.5?e-(1-2*t)*e*(1-e):(s=e<=.25?((16*e-12)*e+4)*e:Math.sqrt(e),e+(2*t-1)*(s-e)),blendAndComposite(e,t,o)},additive=(e,t)=>{const r=getAlpha(e),o=getAlpha(t),s=clip(r+o,0,1);return map(e,((e,n)=>n<3?clip((r*e+o*t[n])/s,0,255):s),4)},mixColors=(e,t="mean",...r)=>{t=normalizeOption(t,m);const o={[m[0]]:meanMix,[m[1]]:brighterMix,[m[2]]:deeperMix,[m[3]]:softLightBlend,[m[4]]:additive,[m[5]]:mix}[t];let s=[...e[0]],n=1;for(;n<e.length;)s=o(s,e[n++],...r);return s},d=["shades","tints","tones","analogous","triadic","square","complementary","split complementary","tetradic1","tetradic2","tetradic3"],shiftHue=(e,t)=>{const[r,o,s,n]=e;return map(t,(e=>[r+e,o,s,n]))},shades=(e,t=6)=>{const[r,o,s,n]=e;return map(t,(e=>[r,o,s*(1-e/t),n]))},tints=(e,t=6)=>{const[r,o,s,n]=e;return map(t,(e=>[r,o*(1-e/t),s,n]))},tones=(e,t=6)=>{const[r,o,s,n]=e;return map(t,(e=>[r,o*(e=1-e/t),s*e,n]))},_={[d[0]]:shades,[d[1]]:tints,[d[2]]:tones,[d[3]]:[-30,0,30],[d[4]]:[0,120,240],[d[5]]:[0,90,180,270],[d[6]]:[0,180],[d[7]]:[0,150,210],[d[8]]:[0,30,180,210],[d[9]]:[0,60,180,240],[d[10]]:[0,30,150,180]},harmonize=(e,t,r)=>{t=normalizeOption(t,d,"analogous");const o=_[t],s=Array.isArray(o)?shiftHue(e,o):o(e,r);return map(s,(e=>hsb2rgb(e)))},M=["linear","gamma","auto enhancement","auto brightness"],scaling=(e,t=1)=>map(e,(e=>mapNonAlpha(e,(e=>clip(e*t,0,255))))),gammaCorrection=(e,t=1)=>map(e,(e=>mapNonAlpha(e,(e=>255*pow(e/255,t))))),autoEnhancement=e=>{let t,r=1/0,o=0,s=0;const n=map(e,(e=>{const t=rgb2lab(e),s=t[0];return s<r&&(r=s),s>o&&(o=s),t}));for(;s<n.length;)t=n[s],t[0]=rangeMapping(t[0],r,o,0,100),n[s++]=lab2rgb(t);return n},autoBrightness=(e,t=.7)=>{let r,o,s=0;const n=map(e,(e=>(o=rgb2lab(e),s+=o[0],o)));return t<=1e-7?map(n,(e=>mapNonAlpha(e,(e=>0)))):s<1e-5||1===t?map(n,(e=>mapNonAlpha(e,(e=>255)))):(r=Math.log(t)/Math.log(s/e.length/100),map(n,(e=>(e[0]=100*pow(e[0]/100,r),lab2rgb(e)))))},getAdjuster=e=>e===M[0]?scaling:e===M[1]?gammaCorrection:e===M[2]?autoEnhancement:autoBrightness,adjContrast=(e,t,...r)=>{t=normalizeOption(t,M);return getAdjuster(t)(e,...r)},y=["brightness","random","reversion","CIE76","CIE94","CIEDE2000"],diffBrightness=(e,t)=>rgb2gray(e)-rgb2gray(t),distE76=(e,t)=>l2Dist3(e,t),distE94=(e,t)=>{const r=e[0],o=e[1],s=e[2],n=t[0],a=t[1],l=t[2],p=l2Norm3(o,s),i=o-a,g=s-l,u=r-n,c=p-l2Norm3(a,l),h=Math.sqrt(i*i+g*g-c*c)||0;return l2Norm3(u,c/(1+.045*p),h/(1+.015*p))},R=(()=>{const r=Math.cos(e(6)),o=Math.sin(e(6)),s=Math.cos(e(30)),n=Math.cos(e(63)),a=Math.sin(e(63));return(l,p)=>{const i=l[0],g=l[1],u=l[2],c=p[0],h=p[1],b=p[2],x=l2Norm3(g,u),m=l2Norm3(h,b),d=pow((x+m)/2,7),_=(1-Math.sqrt(d/(d+6103515625)))/2,M=g*(1+_),y=h*(1+_),R=l2Norm3(M,u),k=l2Norm3(y,b);let S=t(Math.atan2(u,M)),C=t(Math.atan2(b,y));S<0&&(S+=360),C<0&&(C+=360);let w=C-S,v=(S+C)/2;R*k==0?(w=0,v*=2):(w>180||w<-180)&&(w+=360,v+=v<180?180:-180);const L=Math.cos(e(v)),H=Math.sin(e(v)),A=2*L*L-1,B=1+.2*n-.17*(L*s+H/2)+.32*((4*L*L-3)*L*r+(4*H*H-3)*H*o)+.4*A*(.6-A*n-2*L*H*a),q=((i+c)/2-50)**2,E=(R+k)/2,O=pow(E,7),D=1+.015*q/Math.sqrt(20+q),I=1+.045*E,G=1+.015*E*B,z=2*Math.sqrt(O/(O+6103515625))*Math.sin(e(60/Math.exp((v/25-11)**2))),N=(c-i)/D,T=(k-R)/I,Y=2*Math.sqrt(R*k)*Math.sin(e(w/2))/G;return Math.sqrt(squareSum4(N,T,Y)-z*T*Y)}})(),shuffle=e=>{let t;for(let r=e.length-1;r>0;r--)t=randInt(r),[e[r],e[t]]=[e[t],e[r]];return e},tspGreedy=(e,t,r,o=!1)=>{const s=e.length,n=map(e,(e=>rgb2lab(t(e)))),a=map(s-1,(e=>e+1)),l=[e[0]];let p,i,g,u,c,h=n[0],b=s-1;for(;b>1;){for(i=1/0,g=0,c=0;c<b;c++)p=r(h,n[a[c]]),p<i&&(i=p,g=c);u=a[g],a[g]=a[--b],a[b]=u,h=n[u],l.push(e[u])}return l.push(e[a[0]]),o?cloneDeep(l):l},sortColors=(e,t,r)=>{t=normalizeOption(t,y,"CIEDE2000");let o,s=cloneDeep(e);return t===y[0]?s=s.sort(((e,t)=>diffBrightness(r(e),r(t)))):t===y[1]?s=shuffle(s):t===y[2]?s.reverse():o=t===y[3]?distE76:t===y[4]?distE94:R,o&&(s=tspGreedy(s,r,o)),s},sortRgbs=(e,t)=>sortColors(e,t,(e=>e)),k=new Map(Object.entries({rosybrown:[188,143,143],indianred:[205,92,92],brown:[165,42,42],firebrick:[178,34,34],lightcoral:[240,128,128],maroon:[128,0,0],darkred:[139,0,0],red:[255,0,0],snow:[255,250,250],mistyrose:[255,228,225],salmon:[250,128,114],tomato:[255,99,71],darksalmon:[233,150,122],coral:[255,127,80],orangered:[255,69,0],lightsalmon:[255,160,122],sienna:[160,82,45],seashell:[255,245,238],chocolate:[210,105,30],saddlebrown:[139,69,19],sandybrown:[244,164,96],peachpuff:[255,218,185],peru:[205,133,63],linen:[250,240,230],bisque:[255,228,196],darkorange:[255,140,0],burlywood:[222,184,135],antiquewhite:[250,235,215],tan:[210,180,140],navajowhite:[255,222,173],blanchedalmond:[255,235,205],papayawhip:[255,239,213],moccasin:[255,228,181],orange:[255,165,0],wheat:[245,222,179],oldlace:[253,245,230],floralwhite:[255,250,240],darkgoldenrod:[184,134,11],goldenrod:[218,165,32],cornsilk:[255,248,220],gold:[255,215,0],lemonchiffon:[255,250,205],khaki:[240,230,140],palegoldenrod:[238,232,170],darkkhaki:[189,183,107],beige:[245,245,220],lightgoldenrodyellow:[250,250,210],olive:[128,128,0],yellow:[255,255,0],lightyellow:[255,255,224],ivory:[255,255,240],olivedrab:[107,142,35],yellowgreen:[154,205,50],darkolivegreen:[85,107,47],greenyellow:[173,255,47],chartreuse:[127,255,0],lawngreen:[124,252,0],darkseagreen:[143,188,143],forestgreen:[34,139,34],limegreen:[50,205,50],lightgreen:[144,238,144],palegreen:[152,251,152],darkgreen:[0,100,0],green:[0,128,0],lime:[0,255,0],honeydew:[240,255,240],seagreen:[46,139,87],mediumseagreen:[60,179,113],springgreen:[0,255,127],mintcream:[245,255,250],mediumspringgreen:[0,250,154],mediumaquamarine:[102,205,170],aquamarine:[127,255,212],turquoise:[64,224,208],lightseagreen:[32,178,170],mediumturquoise:[72,209,204],darkslategray:[47,79,79],paleturquoise:[175,238,238],teal:[0,128,128],darkcyan:[0,139,139],cyan:[0,255,255],lightcyan:[224,255,255],azure:[240,255,255],darkturquoise:[0,206,209],cadetblue:[95,158,160],powderblue:[176,224,230],lightblue:[173,216,230],deepskyblue:[0,191,255],skyblue:[135,206,235],lightskyblue:[135,206,250],steelblue:[70,130,180],aliceblue:[240,248,255],dodgerblue:[30,144,255],slategray:[112,128,144],lightslategray:[119,136,153],lightsteelblue:[176,196,222],cornflowerblue:[100,149,237],royalblue:[65,105,225],midnightblue:[25,25,112],lavender:[230,230,250],navy:[0,0,128],rebeccapurple:[102,51,153],darkblue:[0,0,139],mediumblue:[0,0,205],blue:[0,0,255],ghostwhite:[248,248,255],slateblue:[106,90,205],darkslateblue:[72,61,139],mediumslateblue:[123,104,238],mediumpurple:[147,112,216],blueviolet:[138,43,226],indigo:[75,0,130],darkorchid:[153,50,204],darkviolet:[148,0,211],mediumorchid:[186,85,211],thistle:[216,191,216],plum:[221,160,221],violet:[238,130,238],purple:[128,0,128],darkmagenta:[139,0,139],magenta:[255,0,255],orchid:[218,112,214],mediumvioletred:[199,21,133],deeppink:[255,20,147],hotpink:[255,105,180],palevioletred:[216,112,147],lavenderblush:[255,240,245],crimson:[220,20,60],pink:[255,192,203],lightpink:[255,182,193],white:[255,255,255],whitesmoke:[245,245,245],gainsboro:[220,220,220],lightgray:[211,211,211],silver:[192,192,192],darkgray:[169,169,169],gray:[128,128,128],dimgray:[105,105,105],black:[0,0,0]})),rgb2named=e=>{let t,r,o=1/0;for(const[s,n]of k)t=l2Dist3(e,n),t<o&&(r=s,o=t);return r},named2rgb=e=>{let t=k.get(e.toLowerCase());return void 0===t?t=[0,0,0,1]:t[3]=1,t};exports.COLOR_SPACES=c,exports.CONTRAST_METHODS=M,exports.HARMONY_METHODS=d,exports.MIXING_MODES=m,exports.SORTING_ACTIONS=y,exports.additive=additive,exports.adjContrast=adjContrast,exports.alphaNormalize=alphaNormalize,exports.autoBrightness=autoBrightness,exports.autoEnhancement=autoEnhancement,exports.blendAndComposite=blendAndComposite,exports.brighterMix=brighterMix,exports.cieTrans=p,exports.cieTransInv=i,exports.clip=clip,exports.cloneDeep=cloneDeep,exports.cmyk2rgb=cmyk2rgb,exports.deeperMix=deeperMix,exports.deg2rad=e,exports.diffBrightness=diffBrightness,exports.distE00=R,exports.distE76=distE76,exports.distE94=distE94,exports.dot3=dot3,exports.elementwiseMean=elementwiseMean,exports.gammaCorrection=gammaCorrection,exports.gammaMix=gammaMix,exports.getAdjuster=getAdjuster,exports.getAlpha=getAlpha,exports.getColorSpace=getColorSpace,exports.getContrastRatio=x,exports.getCssColor=getCssColor,exports.getRelativeLuminance=b,exports.getSpaceRange=getSpaceRange,exports.harmonize=harmonize,exports.hex2rgb=hex2rgb,exports.hsb2rgb=hsb2rgb,exports.hsbHelper=hsbHelper,exports.hsl2rgb=hsl2rgb,exports.hwb2rgb=hwb2rgb,exports.isLight=isLight,exports.isReadable=isReadable,exports.isValidHex=isValidHex,exports.l2Dist3=l2Dist3,exports.l2Norm3=l2Norm3,exports.lab2rgb=lab2rgb,exports.lcc2lch=lcc2lch,exports.lch2lcc=lch2lcc,exports.lchab2rgb=lchab2rgb,exports.lchuv2rgb=lchuv2rgb,exports.linearRgb2srgb=linearRgb2srgb,exports.luv2rgb=u,exports.map=map,exports.mapNonAlpha=mapNonAlpha,exports.matVecProduct3=matVecProduct3,exports.meanMix=meanMix,exports.mix=mix,exports.mixColors=mixColors,exports.named2rgb=named2rgb,exports.namedColor=k,exports.oklab2rgb=oklab2rgb,exports.oklch2rgb=oklch2rgb,exports.pow=pow,exports.rad2deg=t,exports.randInt=randInt,exports.randRgbGen=randRgbGen,exports.rangeMapping=rangeMapping,exports.rgb2cmyk=rgb2cmyk,exports.rgb2contrast=rgb2contrast,exports.rgb2gray=rgb2gray,exports.rgb2hex=rgb2hex,exports.rgb2hsb=rgb2hsb,exports.rgb2hsl=rgb2hsl,exports.rgb2hue=rgb2hue,exports.rgb2hwb=rgb2hwb,exports.rgb2lab=rgb2lab,exports.rgb2lchab=rgb2lchab,exports.rgb2lchuv=rgb2lchuv,exports.rgb2luminance=rgb2luminance,exports.rgb2luv=g,exports.rgb2named=rgb2named,exports.rgb2oklab=rgb2oklab,exports.rgb2oklch=rgb2oklch,exports.rgb2xyz=rgb2xyz,exports.rgbArraylize=rgbArraylize,exports.round=round,exports.scaling=scaling,exports.setReferenceWhite=l,exports.shades=shades,exports.shiftHue=shiftHue,exports.shuffle=shuffle,exports.softLightBlend=softLightBlend,exports.sortColors=sortColors,exports.sortRgbs=sortRgbs,exports.squareSum4=squareSum4,exports.srgb2linearRgb=srgb2linearRgb,exports.tints=tints,exports.toSpace=toSpace,exports.tones=tones,exports.tspGreedy=tspGreedy,exports.xyz2rgb=xyz2rgb;