UNPKG

@csstools/convert-colors

Version:

Convert colors between RGB, HEX, HSL, HWB, LAB, LCH, and more

3 lines (2 loc) 14.4 kB
function n(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}function t(t,r){return function(n){if(Array.isArray(n))return n}(t)||function(n,t){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var e,o,u,i,c=[],a=!0,l=!1;try{if(u=(r=r.call(n)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(e=u.call(r)).done)&&(c.push(e.value),c.length!==t);a=!0);}catch(n){l=!0,o=n}finally{try{if(!a&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(t,r)||function(t,r){if(t){if("string"==typeof t)return n(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?n(t,r):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(n,t,r,e=0){const i=o(n,t,r),c=i-u(n,t,r);if(c){const e=i===n?(t-r)/c:i===t?(r-n)/c:(n-t)/c;return 60*(e+(i===n?e<0?6:0:i===t?2:4))}return e}function e(n,t,r){const e=r<0?r+360:r>360?r-360:r;return 6*e<360?n+(t-n)*e/60:2*e<360?t:3*e<720?n+(t-n)*(240-e)/60:n}function o(n,t,r){return k(n,t,r)}function u(n,t,r){return v(n,t,r)}function i(n,t){return t.map(t=>t.reduce((t,r,e)=>t+n[e]*c*(r*c)/c/c,0))}const c=1e8,a=(n,t)=>s(h(n,t)),l=n=>p(f(n)),f=n=>n*w/180,s=n=>180*n/w,d=n=>I(f(n)),g=Math.abs,h=Math.atan2,m=Math.cbrt,p=Math.cos,y=Math.exp,b=Math.floor,k=Math.max,v=Math.min,w=Math.PI,M=Math.pow,I=Math.sin,q=Math.sqrt,S=M(6,3)/M(29,3),A=M(29,3)/M(3,3);function j(n,t,e,i){const c=r(n,t,e,i),a=o(n,t,e),l=u(n,t,e),f=a-l,s=(a+l)/2;return[c,0===f?0:f/(100-g(2*s-100))*100,s]}function x(n,t,r){const o=r<=50?r*(t+100)/100:r+t-r*t/100,u=2*r-o,i=[e(u,o,n+120),e(u,o,n),e(u,o,n-120)];return[i[0],i[1],i[2]]}function O(n,t,e,i){return[r(n,t,e,i),u(n,t,e),100-o(n,t,e)]}function $(n,r,e,o){const u=t(x(n,100,50).map(n=>n*(100-r-e)/100+r),3);return[u[0],u[1],u[2]]}function C(n,t,e,i){const c=o(n,t,e),a=u(n,t,e);return[r(n,t,e,i),c===a?0:(c-a)/c*100,c]}function z(n,r,e){const o=b(n/60),u=n/60-o&1?n/60-o:1-n/60-o,i=e*(100-r)/100,c=e*(100-r*u)/100,a=e*(100-(100-u)*r/100)/100,l=t(5===o?[e,i,c]:4===o?[a,i,e]:3===o?[i,c,e]:2===o?[i,e,a]:1===o?[c,e,i]:[e,a,i],3);return[l[0],l[1],l[2]]}function E(n,r,e){const o=t([n,r,e].map(n=>n>4.045?100*M((n+5.5)/105.5,2.4):n/12.92),3),u=t(i([o[0],o[1],o[2]],[[.4124564,.3575761,.1804375],[.2126729,.7151522,.072175],[.0193339,.119192,.9503041]]),3);return[u[0],u[1],u[2]]}function L(n,r,e){const o=t(i([n,r,e],[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]]),3),u=t([o[0],o[1],o[2]].map(n=>n>.31308?1.055*M(n/100,1/2.4)*100-5.5:12.92*n),3);return[u[0],u[1],u[2]]}function P(n,t,r){const e=t*(r<50?r:100-r)/100;return[n,0===e?0:2*e/(r+e)*100,r+e]}function T(n,t,r){const e=(200-t)*r/100;return[n,0===e||200===e?0:t*r/100/(e<=100?e:200-e)*100,5*e/10]}function U(n,t,r){return[n,100===r?0:100-t/(100-r)*100,100-r]}function B(n,t,r){return[n,(100-t)*r/100,100-r]}function D(n,r,e){const o=(n+16)/116,u=r/500+o,c=o-e/200,a=t(i([96.42*(M(u,3)>S?M(u,3):(116*u-16)/A),100*(n>A*S?M((n+16)/116,3):n/A),82.49*(M(c,3)>S?M(c,3):(116*c-16)/A)],[[.9555766,-.0230393,.0631636],[-.0282895,1.0099416,.0210077],[.0122982,-.020483,1.3299098]]),3);return[a[0],a[1],a[2]]}function F(n,r,e){const o=t(i([n,r,e],[[1.0478112,.0228866,-.050127],[.0295424,.9904844,-.0170491],[-.0092345,.0150436,.7521316]]),3),u=t([o[0]/96.42,o[1]/100,o[2]/82.49].map(n=>n>S?m(n):(A*n+16)/116),3),c=u[0],a=u[1];return[116*a-16,500*(c-a),200*(a-u[2])]}function G(n,t,r){const e=[q(M(t,2)+M(r,2)),s(h(r,t))];return[n,e[0],e[1]]}function H(n,t,r){return[n,t*l(r),t*d(r)]}function J(n,t){return function(n,t){const r=k(n,t),e=v(n,t);return(r*c+.05*c)/(e*c+.05*c)}(K(...n),K(...t))}function K(n,t,r){return(N(n)*V+N(t)*W+N(r)*X)/c}const N=n=>n<=3.928?n/R:Q(n),Q=n=>M((n+5.5)/105.5,2.4),R=1292,V=.2126*c,W=.7152*c,X=.0722*c;function Y(n){const r=t(n.match(_)||[],9),e=r[1],o=r[2],u=r[3],i=r[4],c=r[5],a=r[6],l=r[7],f=r[8];if(void 0!==c||void 0!==e){return[void 0!==c?parseInt(c,16):parseInt(e+e,16),void 0!==a?parseInt(a,16):parseInt(o+o,16),void 0!==l?parseInt(l,16):parseInt(u+u,16),void 0!==f?parseInt(f,16):void 0!==i?parseInt(i+i,16):255].map(n=>100*n/255)}}function Z(n,t,r){return`#${((1<<24)+(Math.round(255*n/100)<<16)+(Math.round(255*t/100)<<8)+Math.round(255*r/100)).toString(16).slice(1)}`}const _=/^#?(?:([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?)$/i;function nn(n){const t=tn[String(n).toLowerCase()];return t?t.map(n=>100*n/255):null}const tn={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],transparent:[0,0,0],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]};function rn([n,t,r],[e,o,u]){const i=q(M(t,2)+M(r,2)),f=q(M(o,2)+M(u,2)),s=e-n,h=(n+e)/2,m=M((i+f)/2,7),p=q(m/(m+M(25,7))),b=t+t/2*(1-p),k=o+o/2*(1-p),v=q(b*b+r*r),w=q(k*k+u*u),I=(v+w)/2,S=w-v,A=0===b&&0===r?0:a(r,b)%360,j=0===k&&0===u?0:a(u,k)%360;let x,O,$;0===v||0===w?(x=0,O=0,$=A+j):(x=g(A-j)<=180?j-A:j<=A?j-A+360:j-A-360,O=2*q(v*w)*d(x/2),$=g(A-j)<=180?(A+j)/2:A+j<360?(A+j+360)/2:(A+j-360)/2);const C=1-.17*c*l($-30)+.24*c*l(2*$)+.32*c*l(3*$+6)-.2*c*l(4*$-63)/c/c,z=(h-50)*(h-50),E=1+.015*c*z/q(20+z)/c,L=1+.045*c*I/c,P=1+.015*c*I*C/c,T=60*y(-($-275)/25*(($-275)/25)),U=-2*p*d(T),B=s/(en*E),D=S/(on*L),F=O/(un*P);return q(B*B+D*D+F*F+U*D*F)}const en=1,on=1,un=1;function cn(n,r,e){const o=t(E(n,r,e),3),u=t(F(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function an(n,r,e){const o=t(D(n,r,e),3),u=t(L(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function ln(n,r,e){const o=t(E(n,r,e),3),u=t(F(o[0],o[1],o[2]),3),i=t(G(u[0],u[1],u[2]),3);return[i[0],i[1],i[2]]}function fn(n,r,e){const o=t(H(n,r,e),3),u=t(D(o[0],o[1],o[2]),3),i=t(L(u[0],u[1],u[2]),3);return[i[0],i[1],i[2]]}function sn(n,r,e){const o=t(U(n,r,e),3),u=t(T(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function dn(n,r,e){const o=t(P(n,r,e),3),u=t(B(n,o[1],o[2]),3);return[n,u[1],u[2]]}function gn(n,r,e){const o=t(x(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3);return[i[0],i[1],i[2]]}function hn(n,r,e,o){const u=t(D(n,r,e),3),i=t(L(u[0],u[1],u[2]),3),c=t(j(i[0],i[1],i[2],o),3);return[c[0],c[1],c[2]]}function mn(n,r,e){const o=t(x(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3),c=t(G(i[0],i[1],i[2]),3);return[c[0],c[1],c[2]]}function pn(n,r,e,o){const u=t(H(n,r,e),3),i=t(D(u[0],u[1],u[2]),3),c=t(L(i[0],i[1],i[2]),3),a=t(j(c[0],c[1],c[2],o),3);return[a[0],a[1],a[2]]}function yn(n,r,e){const o=t(x(n,r,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function bn(n,r,e,o){const u=t(L(n,r,e),3),i=t(j(u[0],u[1],u[2],o),3);return[i[0],i[1],i[2]]}function kn(n,r,e){const o=t($(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3);return[i[0],i[1],i[2]]}function vn(n,r,e,o){const u=t(D(n,r,e),3),i=t(L(u[0],u[1],u[2]),3),c=t(O(i[0],i[1],i[2],o),3);return[c[0],c[1],c[2]]}function wn(n,r,e){const o=t($(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3),c=t(G(i[0],i[1],i[2]),3);return[c[0],c[1],c[2]]}function Mn(n,r,e,o){const u=t(H(n,r,e),3),i=t(D(u[0],u[1],u[2]),3),c=t(L(i[0],i[1],i[2]),3),a=t(O(c[0],c[1],c[2],o),3);return[a[0],a[1],a[2]]}function In(n,r,e){const o=t($(n,r,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function qn(n,r,e,o){const u=t(L(n,r,e),3),i=t(O(u[0],u[1],u[2],o),3);return[i[0],i[1],i[2]]}function Sn(n,r,e){const o=t(z(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3);return[i[0],i[1],i[2]]}function An(n,r,e,o){const u=t(D(n,r,e),3),i=t(L(u[0],u[1],u[2]),3),c=t(C(i[0],i[1],i[2],o),3);return[c[0],c[1],c[2]]}function jn(n,r,e){const o=t(z(n,r,e),3),u=t(E(o[0],o[1],o[2]),3),i=t(F(u[0],u[1],u[2]),3),c=t(G(i[0],i[1],i[2]),3);return[c[0],c[1],c[2]]}function xn(n,r,e,o){const u=t(H(n,r,e),3),i=t(D(u[0],u[1],u[2]),3),c=t(L(i[0],i[1],i[2]),3),a=t(C(c[0],c[1],c[2],o),3);return[a[0],a[1],a[2]]}function On(n,r,e){const o=t(z(n,r,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function $n(n,r,e,o){const u=t(L(n,r,e),3),i=t(C(u[0],u[1],u[2],o),3);return[i[0],i[1],i[2]]}function Cn(n,r,e){const o=t(F(n,r,e),3),u=t(G(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function zn(n,r,e){const o=t(H(n,r,e),3),u=t(D(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function En(n){return j(...Y(n))}function Ln(n){return C(...Y(n))}function Pn(n){return O(...Y(n))}function Tn(n){return cn(...Y(n))}function Un(n){return ln(...Y(n))}function Bn(n){return E(...Y(n))}function Dn(n,t,r){return Z(...x(n,t,r))}function Fn(n,t,r){return Z(...x(n,t,r))}function Gn(n,t,r){return Z(...$(n,t,r))}function Hn(n,t,r){return Z(...an(n,t,r))}function Jn(n,t,r){return Z(...fn(n,t,r))}function Kn(n,t,r){return Z(...L(n,t,r))}function Nn(n,t){return rn(Tn(n),Tn(t))}function Qn(n,t){return rn(gn(...n),gn(...t))}function Rn(n,t){return rn(Sn(...n),Sn(...t))}function Vn(n,t){return rn(kn(...n),kn(...t))}function Wn(n,t){return rn(st(n),st(t))}function Xn(n,t){return rn(H(...n),H(...t))}function Yn(n,t){return rn(cn(...n),cn(...t))}function Zn(n,t){return rn(F(...n),F(...t))}function _n(n,t){return J(Y(n),Y(t))}function nt(n,t){return J(x(...n),x(...t))}function tt(n,t){return J(z(...n),z(...t))}function rt(n,t){return J($(...n),$(...t))}function et(n,t){return J(nn(n),nn(t))}function ot(n,t){return J(an(...n),an(...t))}function ut(n,t){return J(fn(...n),fn(...t))}function it(n,t){return J(L(...n),L(...t))}function ct(n){return Z(...nn(n))}function at(n){return j(...nn(n))}function lt(n){return C(...nn(n))}function ft(n){return O(...nn(n))}function st(n){return cn(...nn(n))}function dt(n){return ln(...nn(n))}function gt(n){return E(...nn(n))}export{Nn as hex2ciede,_n as hex2contrast,En as hex2hsl,Ln as hex2hsv,Pn as hex2hwb,Tn as hex2lab,Un as hex2lch,Y as hex2rgb,Bn as hex2xyz,Qn as hsl2ciede,nt as hsl2contrast,Dn as hsl2hex,P as hsl2hsv,dn as hsl2hwb,gn as hsl2lab,mn as hsl2lch,x as hsl2rgb,yn as hsl2xyz,Rn as hsv2ciede,tt as hsv2contrast,Fn as hsv2hex,T as hsv2hsl,B as hsv2hwb,Sn as hsv2lab,jn as hsv2lch,z as hsv2rgb,On as hsv2xyz,Vn as hwb2ciede,rt as hwb2contrast,Gn as hwb2hex,sn as hwb2hsl,U as hwb2hsv,kn as hwb2lab,wn as hwb2lch,$ as hwb2rgb,In as hwb2xyz,Wn as keyword2ciede,et as keyword2contrast,ct as keyword2hex,at as keyword2hsl,lt as keyword2hsv,ft as keyword2hwb,st as keyword2lab,dt as keyword2lch,nn as keyword2rgb,gt as keyword2xyz,rn as lab2ciede,ot as lab2contrast,Hn as lab2hex,hn as lab2hsl,An as lab2hsv,vn as lab2hwb,G as lab2lch,an as lab2rgb,D as lab2xyz,Xn as lch2ciede,ut as lch2contrast,Jn as lch2hex,pn as lch2hsl,xn as lch2hsv,Mn as lch2hwb,H as lch2lab,fn as lch2rgb,zn as lch2xyz,Yn as rgb2ciede,J as rgb2contrast,Z as rgb2hex,j as rgb2hsl,C as rgb2hsv,O as rgb2hwb,cn as rgb2lab,ln as rgb2lch,E as rgb2xyz,Zn as xyz2ciede,it as xyz2contrast,Kn as xyz2hex,bn as xyz2hsl,$n as xyz2hsv,qn as xyz2hwb,F as xyz2lab,Cn as xyz2lch,L as xyz2rgb}; //# sourceMappingURL=index.mjs.map