@iconsets/svg-morpheus-ts
Version:
ESM TypeScript library enabling SVG icons to morph from one to the other. It implements Material Design's Delightful Details transitions. Refactored with modern TypeScript + Vite + pnpm stack. Supports both Chinese and English documentation.
7 lines • 85.2 kB
JavaScript
"use strict";/*!
* SVG Morpheus TypeScript
* Version: v1.3.1
* Build Date: 2025-08-08T22:48:47.821Z
* Repository: https://github.com/caixw/SVG-Morpheus-ts
*/Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const $t=`
\v\f\r \u2028\u2029`,Ar=new RegExp("([a-z])["+$t+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+$t+"]*,?["+$t+"]*)+)","ig"),Br=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+$t+"]*,?["+$t+"]*","ig");function Ee(t){if(!t)return null;if(Array.isArray(t))return t;{const e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},n=[];return String(t).replace(Ar,function(r,s,a){const o=[];let i=s.toLowerCase();if(a.replace(Br,function(c,l){return l&&o.push(+l),""}),i==="m"&&o.length>2&&(n.push([s.charCodeAt(0)].concat(o.splice(0,2))),i="l",s=s==="m"?"l":"L"),i==="o"&&o.length===1&&n.push([s.charCodeAt(0),o[0]]),i==="r")n.push([s.charCodeAt(0)].concat(o));else for(;o.length>=e[i]&&(n.push([s.charCodeAt(0)].concat(o.splice(0,e[i]))),!!e[i]););return""}),n}}function Ut(t){const e=Ee(t);if(!e||!e.length)return[["M",0,0]];const n=[];let r=0,s=0,a=0,o=0,i=0;e[0][0]===77&&(r=+e[0][1],s=+e[0][2],a=r,o=s,i++,n[0]=["M",r,s]);for(let c=i,l=e.length;c<l;c++){const u=[],f=e[c],d=f[0],h=String.fromCharCode(d);if(h!==h.toUpperCase())switch(u[0]=h.toUpperCase(),u[0]){case"A":u[1]=f[1],u[2]=f[2],u[3]=f[3],u[4]=f[4],u[5]=f[5],u[6]=+f[6]+r,u[7]=+f[7]+s;break;case"V":u[1]=+f[1]+s;break;case"H":u[1]=+f[1]+r;break;case"M":a=+f[1]+r,o=+f[2]+s;default:for(let m=1,g=f.length;m<g;m++)u[m]=+f[m]+(m%2?r:s);break}else{u[0]=h;for(let m=1,g=f.length;m<g;m++)u[m]=f[m]}switch(u[0]){case"Z":r=a,s=o;break;case"H":r=u[1];break;case"V":s=u[1];break;case"M":a=u[1],o=u[2],r=u[1],s=u[2];break;default:r=u[u.length-2],s=u[u.length-1]}n.push(u)}return n}function Wt(t,e){const n=Ut(t),r=e&&Ut(e),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=function(h,m,g){let p,M;if(!h)return["C",m.x,m.y,m.x,m.y,m.x,m.y];switch(!(h[0]in{T:1,Q:1})&&(m.qx=m.qy=null),h[0]){case"M":m.X=h[1],m.Y=h[2];break;case"A":h=["C"].concat(jn.apply(0,[m.x,m.y].concat(h.slice(1))));break;case"S":g=="C"||g=="S"?(p=m.x*2-m.bx,M=m.y*2-m.by):(p=m.x,M=m.y),h=["C",p,M].concat(h.slice(1));break;case"T":g=="Q"||g=="T"?(m.qx=m.x*2-m.qx,m.qy=m.y*2-m.qy):(m.qx=m.x,m.qy=m.y),h=["C"].concat(Te(m.x,m.y,m.qx,m.qy,h[1],h[2]));break;case"Q":m.qx=h[1],m.qy=h[2],h=["C"].concat(Te(m.x,m.y,h[1],h[2],h[3],h[4]));break;case"L":h=["C"].concat(zt(m.x,m.y,h[1],h[2]));break;case"H":h=["C"].concat(zt(m.x,m.y,h[1],m.y));break;case"V":h=["C"].concat(zt(m.x,m.y,m.x,h[1]));break;case"Z":h=["C"].concat(zt(m.x,m.y,m.X,m.Y));break}return h},i=function(h,m){if(h[m].length>7){h[m].shift();const g=h[m];for(;g.length;)l[m]="A",r&&(u[m]="A"),h.splice(m++,0,["C"].concat(g.splice(0,6)));h.splice(m,1)}},c=function(h,m,g,p,M){h&&m&&h[M][0]=="M"&&m[M][0]!="M"&&(m.splice(M,0,["M",p.x,p.y]),g.bx=0,g.by=0,g.x=h[M][1],g.y=h[M][2])},l=[],u=[];let f="",d="";for(let h=0,m=Math.max(n.length,r&&r.length||0);h<m;h++){n[h]&&(f=n[h][0]),f!="C"&&(l[h]=f,h&&(d=l[h-1])),n[h]=o(n[h],s,d),l[h]!="A"&&f=="C"&&(l[h]="C"),i(n,h),r&&(r[h]&&(f=r[h][0]),f!="C"&&(u[h]=f,h&&(d=u[h-1])),r[h]=o(r[h],a,d),u[h]!="A"&&f=="C"&&(u[h]="C"),i(r,h)),c(n,r,s,a,h),c(r,n,a,s,h);const g=n[h],p=r&&r[h],M=g.length,w=r&&p.length;s.x=g[M-2],s.y=g[M-1],s.bx=parseFloat(g[M-4])||s.x,s.by=parseFloat(g[M-3])||s.y,a.bx=r&&(parseFloat(p[w-4])||a.x),a.by=r&&(parseFloat(p[w-3])||a.y),a.x=r&&p[w-2],a.y=r&&p[w-1]}return r?[n,r]:n}function zt(t,e,n,r){return[t,e,n,r,n,r]}function Te(t,e,n,r,s,a){var o=.3333333333333333,i=2/3;return[o*t+i*n,o*e+i*r,o*s+i*n,o*a+i*r,s,a]}function jn(t,e,n,r,s,a,o,i,c,l){var u=Math.PI*120/180,f=Math.PI/180*(+s||0),d=[],h,m=function(Bt,Pt,ht){return{x:Bt*Math.cos(ht)-Pt*Math.sin(ht),y:Bt*Math.sin(ht)+Pt*Math.cos(ht)}};if(l)x=l[0],C=l[1],I=l[2],B=l[3];else{h=m(t,e,-f),t=h.x,e=h.y,h=m(i,c,-f),i=h.x,c=h.y;var g=(t-i)/2,p=(e-c)/2,M=g*g/(n*n)+p*p/(r*r);M>1&&(M=Math.sqrt(M),n=M*n,r=M*r);var w=n*n,_=r*r,y=(a==o?-1:1)*Math.sqrt(Math.abs((w*_-w*p*p-_*g*g)/(w*p*p+_*g*g))),I=y*n*p/r+(t+i)/2,B=y*-r*g/n+(e+c)/2,x=Math.asin(+((e-B)/r).toFixed(9)),C=Math.asin(+((c-B)/r).toFixed(9));x=t<I?Math.PI-x:x,C=i<I?Math.PI-C:C,x<0&&(x=Math.PI*2+x),C<0&&(C=Math.PI*2+C),o&&x>C&&(x=x-Math.PI*2),!o&&C>x&&(C=C-Math.PI*2)}var N=C-x;if(Math.abs(N)>u){var Y=C,V=i,ut=c;C=x+u*(o&&C>x?1:-1),i=I+n*Math.cos(C),c=B+r*Math.sin(C),d=jn(i,c,n,r,s,0,o,V,ut,[C,Y,I,B])}N=C-x;var Z=Math.cos(x),U=Math.sin(x),H=Math.cos(C),O=Math.sin(C),K=Math.tan(N/4),W=4/3*n*K,J=4/3*r*K,E=[t,e],R=[t+W*U,e-J*Z],It=[i+W*O,c-J*H],vt=[i,c];if(R[0]=2*E[0]-R[0],R[1]=2*E[1]-R[1],l)return[R,It,vt].concat(d);d=[R,It,vt].concat(d).join().split(",");for(var ot=[],D=0,ft=d.length;D<ft;D++)ot[D]=D%2?m(d[D-1],d[D],f).y:m(d[D],d[D+1],f).x;return ot}const Pr=/,?([a-z]),?/gi;function Re(t){return t.join(",").replace(Pr,"$1")}function Ct(t){if(!t||!Array.isArray(t)||t.length===0)return Ot(0,0,0,0);let e=0,n=0;const r=[],s=[];let a;for(let u=0,f=t.length;u<f;u++)if(a=t[u],a[0]=="M")e=isFinite(a[1])?a[1]:0,n=isFinite(a[2])?a[2]:0,r.push(e),s.push(n);else{const d=e,h=n,m=isFinite(a[1])?a[1]:0,g=isFinite(a[2])?a[2]:0,p=isFinite(a[3])?a[3]:0,M=isFinite(a[4])?a[4]:0,w=isFinite(a[5])?a[5]:0,_=isFinite(a[6])?a[6]:0,y=Dr(d,h,m,g,p,M,w,_);isFinite(y.min.x)&&isFinite(y.max.x)&&isFinite(y.min.y)&&isFinite(y.max.y)&&(r.push(y.min.x,y.max.x),s.push(y.min.y,y.max.y)),e=w,n=_}if(r.length===0||s.length===0)return Ot(0,0,0,0);const o=Math.min(...r),i=Math.min(...s),c=Math.max(...r),l=Math.max(...s);return!isFinite(o)||!isFinite(i)||!isFinite(c)||!isFinite(l)?Ot(0,0,0,0):Ot(o,i,c-o,l-i)}function Ot(t,e,n,r){return t=isFinite(t)?t:0,e=isFinite(e)?e:0,n=isFinite(n)?n:0,r=isFinite(r)?r:0,{x:t,y:e,w:n,h:r,cx:t+n/2,cy:e+r/2}}function Dr(t,e,n,r,s,a,o,i){for(var c=[],l=[[],[]],u,f,d,h,m,g,p,M,w=0;w<2;++w){if(w==0?(f=6*t-12*n+6*s,u=-3*t+9*n-9*s+3*o,d=3*n-3*t):(f=6*e-12*r+6*a,u=-3*e+9*r-9*a+3*i,d=3*r-3*e),Math.abs(u)<1e-12){if(Math.abs(f)<1e-12)continue;h=-d/f,0<h&&h<1&&c.push(h);continue}p=f*f-4*d*u,M=Math.sqrt(p),!(p<0)&&(m=(-f+M)/(2*u),0<m&&m<1&&c.push(m),g=(-f-M)/(2*u),0<g&&g<1&&c.push(g))}for(var _=c.length,y=_,I;_--;)h=c[_],I=1-h,l[0][_]=I*I*I*t+3*I*I*h*n+3*I*h*h*s+h*h*h*o,l[1][_]=I*I*I*e+3*I*I*h*r+3*I*h*h*a+h*h*h*i;return l[0][y]=t,l[1][y]=e,l[0][y+1]=o,l[1][y+1]=i,l[0].length=l[1].length=y+2,{min:{x:Math.min.apply(0,l[0]),y:Math.min.apply(0,l[1])},max:{x:Math.max.apply(0,l[0]),y:Math.max.apply(0,l[1])}}}function je(t,e){const[n,r,s,a]=t.values,[o,i,c,l]=e.values,u=c/s,f=l/a,d=o-n*u,h=i-r*f;return{scaleX:u,scaleY:f,translateX:d,translateY:h}}function tt(t,e,n){return[t*n.scaleX+n.translateX,e*n.scaleY+n.translateY]}function zr(t,e){if(!t||!t.trim())return t;try{const n=Ee(t),s=Ut(n).map(a=>{const o=a[0],i=a.slice(1),c=[o];switch(o){case"M":case"L":if(i.length>=2){const[l,u]=tt(i[0],i[1],e);c.push(l,u);for(let f=2;f<i.length;f+=2)if(f+1<i.length){const[d,h]=tt(i[f],i[f+1],e);c.push(d,h)}}break;case"C":if(i.length>=6){for(let l=0;l<i.length;l+=2)if(l+1<i.length){const[u,f]=tt(i[l],i[l+1],e);c.push(u,f)}}break;case"Q":if(i.length>=4){for(let l=0;l<i.length;l+=2)if(l+1<i.length){const[u,f]=tt(i[l],i[l+1],e);c.push(u,f)}}break;case"A":if(i.length>=7){const l=i[0]*e.scaleX,u=i[1]*e.scaleY,[f,d]=tt(i[5],i[6],e);c.push(l,u,i[2],i[3],i[4],f,d)}break;case"H":if(i.length>=1){const[l]=tt(i[0],0,e);c.push(l)}break;case"V":if(i.length>=1){const[,l]=tt(0,i[0],e);c.push(l)}break;case"Z":case"z":break;default:for(let l=0;l<i.length;l+=2)if(l+1<i.length){const[u,f]=tt(i[l],i[l+1],e);c.push(u,f)}else c.push(i[l])}return c});return Re(s)}catch(n){return console.warn("Path transformation failed:",n),t}}function Ge(t,e="",n){const r={gradients:{},patterns:{},others:{}};for(const[s,a]of Object.entries(t.gradients)){const o=e+s;let i=a;i=i.replace(new RegExp(`id="${s}"`,"g"),`id="${o}"`),i=i.replace(new RegExp(`id='${s}'`,"g"),`id='${o}'`),n&&(i=Or(i,n)),r.gradients[o]=i}for(const[s,a]of Object.entries(t.patterns)){const o=e+s;let i=a;i=i.replace(new RegExp(`id="${s}"`,"g"),`id="${o}"`),i=i.replace(new RegExp(`id='${s}'`,"g"),`id='${o}'`),n&&(i=qr(i,n)),r.patterns[o]=i}for(const[s,a]of Object.entries(t.others)){const o=e+s;let i=a;i=i.replace(new RegExp(`id="${s}"`,"g"),`id="${o}"`),i=i.replace(new RegExp(`id='${s}'`,"g"),`id='${o}'`),r.others[o]=i}return r}function Or(t,e){let n=t;return t.includes("linearGradient")&&(n=n.replace(/\b(x1|y1|x2|y2)=["']([^"']+)["']/g,(r,s,a)=>{const o=be(s,a,e);return`${s}="${o}"`})),t.includes("radialGradient")&&(n=n.replace(/\b(cx|cy|fx|fy|r)=["']([^"']+)["']/g,(r,s,a)=>{const o=be(s,a,e);return`${s}="${o}"`})),n}function qr(t,e){let n=t;return n=n.replace(/\b(x|y|width|height)=["']([^"']+)["']/g,(r,s,a)=>{const o=be(s,a,e);return`${s}="${o}"`}),n}function be(t,e,n){if(e.endsWith("%"))return e;const r=parseFloat(e);if(isNaN(r))return e;let s;switch(t){case"x1":case"x2":case"cx":case"fx":case"x":s=r*n.scaleX+n.translateX;break;case"y1":case"y2":case"cy":case"fy":case"y":s=r*n.scaleY+n.translateY;break;case"r":s=r*Math.sqrt(n.scaleX*n.scaleY);break;case"width":s=r*n.scaleX;break;case"height":s=r*n.scaleY;break;default:s=r}return s.toFixed(3)}function qt(t,e,n){let r={...e};for(const[s,a]of Object.entries(r))if(typeof a=="string"&&a.startsWith("url(#")){const o=a.match(/url\(#([^)]+)\)/);o&&n[o[1]]&&(r[s]=`url(#${n[o[1]]})`)}return{pathData:t,attrs:r}}const Jt={"circ-in":t=>-1*(Math.sqrt(1-t*t)-1),"circ-out":t=>Math.sqrt(1-(t=t-1)*t),"circ-in-out":t=>(t/=1/2)<1?-1/2*(Math.sqrt(1-t*t)-1):1/2*(Math.sqrt(1-(t-=2)*t)+1),"cubic-in":t=>t*t*t,"cubic-out":t=>--t*t*t+1,"cubic-in-out":t=>t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1,"elastic-in":t=>{var r=1.70158,e=0,n=1;if(t==0)return 0;if(t==1)return 1;if(e||(e=.3),n<Math.abs(1)){n=1;var r=e/4}else var r=e/(2*Math.PI)*Math.asin(1/n);return-(n*Math.pow(2,10*(t-=1))*Math.sin((t-r)*(2*Math.PI)/e))},"elastic-out":t=>{var r=1.70158,e=0,n=1;if(t==0)return 0;if(t==1)return 1;if(e||(e=.3),n<Math.abs(1)){n=1;var r=e/4}else var r=e/(2*Math.PI)*Math.asin(1/n);return n*Math.pow(2,-10*t)*Math.sin((t-r)*(2*Math.PI)/e)+1},"elastic-in-out":t=>{var r=1.70158,e=0,n=1;if(t==0)return 0;if((t/=1/2)==2)return 1;if(e||(e=1*(.3*1.5)),n<Math.abs(1)){n=1;var r=e/4}else var r=e/(2*Math.PI)*Math.asin(1/n);return t<1?-.5*(n*Math.pow(2,10*(t-=1))*Math.sin((t-r)*(2*Math.PI)/e)):n*Math.pow(2,-10*(t-=1))*Math.sin((t-r)*(2*Math.PI)/e)*.5+1},"expo-in":t=>t==0?0:Math.pow(2,10*(t-1)),"expo-out":t=>t==1?1:1-Math.pow(2,-10*t),"expo-in-out":t=>t==0?0:t==1?1:(t/=1/2)<1?1/2*Math.pow(2,10*(t-1)):1/2*(-Math.pow(2,-10*--t)+2),linear:t=>t,"quad-in":t=>t*t,"quad-out":t=>t*(2-t),"quad-in-out":t=>t<.5?2*t*t:-1+(4-2*t)*t,"quart-in":t=>t*t*t*t,"quart-out":t=>1- --t*t*t*t,"quart-in-out":t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,"quint-in":t=>t*t*t*t*t,"quint-out":t=>1+--t*t*t*t*t,"quint-in-out":t=>t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t,"sine-in":t=>1-Math.cos(t*(Math.PI/2)),"sine-out":t=>Math.sin(t*(Math.PI/2)),"sine-in-out":t=>1/2*(1-Math.cos(Math.PI*t))};function k(t,e){let n=t.length;Array.isArray(t[0])||(t=[t]),Array.isArray(e[0])||(e=e.map(o=>[o]));let r=e[0].length,s=e[0].map((o,i)=>e.map(c=>c[i])),a=t.map(o=>s.map(i=>{let c=0;if(!Array.isArray(o)){for(let l of i)c+=o*l;return c}for(let l=0;l<o.length;l++)c+=o[l]*(i[l]||0);return c}));return n===1&&(a=a[0]),r===1?a.map(o=>o[0]):a}function Rt(t){return et(t)==="string"}function et(t){return(Object.prototype.toString.call(t).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function Kt(t,{precision:e,unit:n}){return nt(t)?"none":Gn(t,e)+(n??"")}function nt(t){return Number.isNaN(t)||t instanceof Number&&t?.none}function L(t){return nt(t)?0:t}function Gn(t,e){if(t===0)return 0;let n=~~t,r=0;n&&e&&(r=~~Math.log10(Math.abs(n))+1);const s=10**(e-r);return Math.floor(t*s+.5)/s}const Tr={deg:1,grad:.9,rad:180/Math.PI,turn:360};function Yn(t){if(!t)return;t=t.trim();const e=/^([a-z]+)\((.+?)\)$/i,n=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,s=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g;let a=t.match(e);if(a){let o=[];return a[2].replace(s,(i,c)=>{let l=c.match(r),u=c;if(l){let f=l[0],d=u.slice(0,-f.length);f==="%"?(u=new Number(d/100),u.type="<percentage>"):(u=new Number(d*Tr[f]),u.type="<angle>",u.unit=f)}else n.test(u)?(u=new Number(u),u.type="<number>"):u==="none"&&(u=new Number(NaN),u.none=!0);i.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),o.push(u)}),{name:a[1].toLowerCase(),rawName:a[1],rawArgs:a[2],args:o}}}function Hn(t){return t[t.length-1]}function kt(t,e,n){return isNaN(t)?e:isNaN(e)?t:t+(e-t)*n}function Fn(t,e,n){return(n-t)/(e-t)}function Le(t,e,n){return kt(e[0],e[1],Fn(t[0],t[1],n))}function Xn(t){return t.map(e=>e.split("|").map(n=>{n=n.trim();let r=n.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let s=new String(r[1]);return s.range=[+r[2],+r[3]],s}return n}))}function Vn(t,e,n){return Math.max(Math.min(n,e),t)}function re(t,e){return Math.sign(t)===Math.sign(e)?t:-t}function F(t,e){return re(Math.abs(t)**e,t)}function Ae(t,e){return e===0?0:t/e}function Zn(t,e,n=0,r=t.length){for(;n<r;){const s=n+r>>1;t[s]<e?n=s+1:r=s}return n}var jr=Object.freeze({__proto__:null,bisectLeft:Zn,clamp:Vn,copySign:re,interpolate:kt,interpolateInv:Fn,isNone:nt,isString:Rt,last:Hn,mapRange:Le,multiplyMatrices:k,parseCoordGrammar:Xn,parseFunction:Yn,serializeNumber:Kt,skipNone:L,spow:F,toPrecision:Gn,type:et,zdiv:Ae});class Gr{add(e,n,r){if(typeof arguments[0]!="string"){for(var e in arguments[0])this.add(e,arguments[0][e],arguments[1]);return}(Array.isArray(e)?e:[e]).forEach(function(s){this[s]=this[s]||[],n&&this[s][r?"unshift":"push"](n)},this)}run(e,n){this[e]=this[e]||[],this[e].forEach(function(r){r.call(n&&n.context?n.context:n,n)})}}const rt=new Gr;var G={gamut_mapping:"css",precision:5,deltaE:"76",verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!=="test",warn:function(e){this.verbose&&globalThis?.console?.warn?.(e)}};const z={D50:[.3457/.3585,1,(1-.3457-.3585)/.3585],D65:[.3127/.329,1,(1-.3127-.329)/.329]};function Me(t){return Array.isArray(t)?t:z[t]}function te(t,e,n,r={}){if(t=Me(t),e=Me(e),!t||!e)throw new TypeError(`Missing white point to convert ${t?"":"from"}${!t&&!e?"/":""}${e?"":"to"}`);if(t===e)return n;let s={W1:t,W2:e,XYZ:n,options:r};if(rt.run("chromatic-adaptation-start",s),s.M||(s.W1===z.D65&&s.W2===z.D50?s.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:s.W1===z.D50&&s.W2===z.D65&&(s.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),rt.run("chromatic-adaptation-end",s),s.M)return k(s.M,s.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}const Yr=new Set(["<number>","<percentage>","<angle>"]);function Ye(t,e,n,r){return Object.entries(t.coords).map(([a,o],i)=>{let c=e.coordGrammar[i],l=r[i],u=l?.type,f;if(l.none?f=c.find(m=>Yr.has(m)):f=c.find(m=>m==u),!f){let m=o.name||a;throw new TypeError(`${u??l.raw} not allowed for ${m} in ${n}()`)}let d=f.range;u==="<percentage>"&&(d||=[0,1]);let h=o.range||o.refRange;return d&&h&&(r[i]=Le(d,h,r[i])),f})}function Wn(t,{meta:e}={}){let n={str:String(t)?.trim()};if(rt.run("parse-start",n),n.color)return n.color;if(n.parsed=Yn(n.str),n.parsed){let r=n.parsed.name;if(r==="color"){let s=n.parsed.args.shift(),a=s.startsWith("--")?s.substring(2):`--${s}`,o=[s,a],i=n.parsed.rawArgs.indexOf("/")>0?n.parsed.args.pop():1;for(let u of b.all){let f=u.getFormat("color");if(f&&(o.includes(f.id)||f.ids?.filter(d=>o.includes(d)).length)){const d=Object.keys(u.coords).map((m,g)=>n.parsed.args[g]||0);let h;return f.coordGrammar&&(h=Ye(u,f,"color",d)),e&&Object.assign(e,{formatId:"color",types:h}),f.id.startsWith("--")&&!s.startsWith("--")&&G.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${f.id}) instead of color(${s}).`),s.startsWith("--")&&!f.id.startsWith("--")&&G.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${f.id}) instead of prefixed color(${s}).`),{spaceId:u.id,coords:d,alpha:i}}}let c="",l=s in b.registry?s:a;if(l in b.registry){let u=b.registry[l].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${s}). `+(c||"Missing a plugin?"))}else for(let s of b.all){let a=s.getFormat(r);if(a&&a.type==="function"){let o=1;(a.lastAlpha||Hn(n.parsed.args).alpha)&&(o=n.parsed.args.pop());let i=n.parsed.args,c;return a.coordGrammar&&(c=Ye(s,a,r,i)),e&&Object.assign(e,{formatId:a.name,types:c}),{spaceId:s.id,coords:i,alpha:o}}}}else for(let r of b.all)for(let s in r.formats){let a=r.formats[s];if(a.type!=="custom"||a.test&&!a.test(n.str))continue;let o=a.parse(n.str);if(o)return o.alpha??=1,e&&(e.formatId=s),o}throw new TypeError(`Could not parse ${t} as a color. Missing a plugin?`)}function v(t){if(Array.isArray(t))return t.map(v);if(!t)throw new TypeError("Empty color reference");Rt(t)&&(t=Wn(t));let e=t.space||t.spaceId;return e instanceof b||(t.space=b.get(e)),t.alpha===void 0&&(t.alpha=1),t}const Hr=75e-6;class b{constructor(e){this.id=e.id,this.name=e.name,this.base=e.base?b.get(e.base):null,this.aliases=e.aliases,this.base&&(this.fromBase=e.fromBase,this.toBase=e.toBase);let n=e.coords??this.base.coords;for(let s in n)"name"in n[s]||(n[s].name=s);this.coords=n;let r=e.white??this.base.white??"D65";this.white=Me(r),this.formats=e.formats??{};for(let s in this.formats){let a=this.formats[s];a.type||="function",a.name||=s}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:e.cssId||this.id}),e.gamutSpace?this.gamutSpace=e.gamutSpace==="self"?this:b.get(e.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(s,a)=>!0),this.referred=e.referred,Object.defineProperty(this,"path",{value:Fr(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),rt.run("colorspace-init-end",this)}inGamut(e,{epsilon:n=Hr}={}){if(!this.equals(this.gamutSpace))return e=this.to(this.gamutSpace,e),this.gamutSpace.inGamut(e,{epsilon:n});let r=Object.values(this.coords);return e.every((s,a)=>{let o=r[a];if(o.type!=="angle"&&o.range){if(Number.isNaN(s))return!0;let[i,c]=o.range;return(i===void 0||s>=i-n)&&(c===void 0||s<=c+n)}return!0})}get isUnbounded(){return Object.values(this.coords).every(e=>!("range"in e))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let e in this.coords)if(this.coords[e].type==="angle")return!0;return!1}getFormat(e){if(typeof e=="object")return e=He(e,this),e;let n;return e==="default"?n=Object.values(this.formats)[0]:n=this.formats[e],n?(n=He(n,this),n):null}equals(e){return e?this===e||this.id===e||this.id===e.id:!1}to(e,n){if(arguments.length===1){const i=v(e);[e,n]=[i.space,i.coords]}if(e=b.get(e),this.equals(e))return n;n=n.map(i=>Number.isNaN(i)?0:i);let r=this.path,s=e.path,a,o;for(let i=0;i<r.length&&r[i].equals(s[i]);i++)a=r[i],o=i;if(!a)throw new Error(`Cannot convert between color spaces ${this} and ${e}: no connection space was found`);for(let i=r.length-1;i>o;i--)n=r[i].toBase(n);for(let i=o+1;i<s.length;i++)n=s[i].fromBase(n);return n}from(e,n){if(arguments.length===1){const r=v(e);[e,n]=[r.space,r.coords]}return e=b.get(e),e.to(this,n)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let e=[];for(let n in this.coords){let r=this.coords[n],s=r.range||r.refRange;e.push(s?.min??0)}return e}static registry={};static get all(){return[...new Set(Object.values(b.registry))]}static register(e,n){if(arguments.length===1&&(n=arguments[0],e=n.id),n=this.get(n),this.registry[e]&&this.registry[e]!==n)throw new Error(`Duplicate color space registration: '${e}'`);if(this.registry[e]=n,arguments.length===1&&n.aliases)for(let r of n.aliases)this.register(r,n);return n}static get(e,...n){if(!e||e instanceof b)return e;if(et(e)==="string"){let s=b.registry[e.toLowerCase()];if(!s)throw new TypeError(`No color space found with id = "${e}"`);return s}if(n.length)return b.get(...n);throw new TypeError(`${e} is not a valid color space`)}static resolveCoord(e,n){let r=et(e),s,a;if(r==="string"?e.includes(".")?[s,a]=e.split("."):[s,a]=[,e]:Array.isArray(e)?[s,a]=e:(s=e.space,a=e.coordId),s=b.get(s),s||(s=n),!s)throw new TypeError(`Cannot resolve coordinate reference ${e}: No color space specified and relative references are not allowed here`);if(r=et(a),r==="number"||r==="string"&&a>=0){let c=Object.entries(s.coords)[a];if(c)return{space:s,id:c[0],index:a,...c[1]}}s=b.get(s);let o=a.toLowerCase(),i=0;for(let c in s.coords){let l=s.coords[c];if(c.toLowerCase()===o||l.name?.toLowerCase()===o)return{space:s,id:c,index:i,...l};i++}throw new TypeError(`No "${a}" coordinate found in ${s.name}. Its coordinates are: ${Object.keys(s.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}}function Fr(t){let e=[t];for(let n=t;n=n.base;)e.push(n);return e}function He(t,{coords:e}={}){if(t.coords&&!t.coordGrammar){t.type||="function",t.name||="color",t.coordGrammar=Xn(t.coords);let n=Object.entries(e).map(([r,s],a)=>{let o=t.coordGrammar[a][0],i=s.range||s.refRange,c=o.range,l="";return o=="<percentage>"?(c=[0,100],l="%"):o=="<angle>"&&(l="deg"),{fromRange:i,toRange:c,suffix:l}});t.serializeCoords=(r,s)=>r.map((a,o)=>{let{fromRange:i,toRange:c,suffix:l}=n[o];return i&&c&&(a=Le(i,c,a)),a=Kt(a,{precision:s,unit:l}),a})}return t}var P=new b({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]});class q extends b{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=P),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=n=>{let r=k(e.toXYZ_M,n);return this.white!==this.base.white&&(r=te(this.white,this.base.white,r)),r},e.fromBase??=n=>(n=te(this.base.white,this.white,n),k(e.fromXYZ_M,n))),e.referred??="display",super(e)}}function Lt(t,e){return t=v(t),!e||t.space.equals(e)?t.coords.slice():(e=b.get(e),e.from(t))}function T(t,e){t=v(t);let{space:n,index:r}=b.resolveCoord(e,t.space);return Lt(t,n)[r]}function Be(t,e,n){return t=v(t),e=b.get(e),t.coords=e.to(t.space,n),t}Be.returns="color";function Q(t,e,n){if(t=v(t),arguments.length===2&&et(arguments[1])==="object"){let r=arguments[1];for(let s in r)Q(t,s,r[s])}else{typeof n=="function"&&(n=n(T(t,e)));let{space:r,index:s}=b.resolveCoord(e,t.space),a=Lt(t,r);a[s]=n,Be(t,r,a)}return t}Q.returns="color";var Pe=new b({id:"xyz-d50",name:"XYZ D50",white:"D50",base:P,fromBase:t=>te(P.white,"D50",t),toBase:t=>te("D50",P.white,t)});const Xr=216/24389,Fe=24/116,Tt=24389/27;let ie=z.D50;var j=new b({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:ie,base:Pe,fromBase(t){let n=t.map((r,s)=>r/ie[s]).map(r=>r>Xr?Math.cbrt(r):(Tt*r+16)/116);return[116*n[1]-16,500*(n[0]-n[1]),200*(n[1]-n[2])]},toBase(t){let e=[];return e[1]=(t[0]+16)/116,e[0]=t[1]/500+e[1],e[2]=e[1]-t[2]/200,[e[0]>Fe?Math.pow(e[0],3):(116*e[0]-16)/Tt,t[0]>8?Math.pow((t[0]+16)/116,3):t[0]/Tt,e[2]>Fe?Math.pow(e[2],3):(116*e[2]-16)/Tt].map((r,s)=>r*ie[s])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function X(t){return(t%360+360)%360}function Vr(t,e){if(t==="raw")return e;let[n,r]=e.map(X),s=r-n;return t==="increasing"?s<0&&(r+=360):t==="decreasing"?s>0&&(n+=360):t==="longer"?-180<s&&s<180&&(s>0?n+=360:r+=360):t==="shorter"&&(s>180?n+=360:s<-180&&(r+=360)),[n,r]}var Nt=new b({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:j,fromBase(t){let[e,n,r]=t,s;const a=.02;return Math.abs(n)<a&&Math.abs(r)<a?s=NaN:s=Math.atan2(r,n)*180/Math.PI,[e,Math.sqrt(n**2+r**2),X(s)]},toBase(t){let[e,n,r]=t;return n<0&&(n=0),isNaN(r)&&(r=0),[e,n*Math.cos(r*Math.PI/180),n*Math.sin(r*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}});const Xe=25**7,ee=Math.PI,Ve=180/ee,mt=ee/180;function Ze(t){const e=t*t;return e*e*e*t}function Jn(t,e,{kL:n=1,kC:r=1,kH:s=1}={}){[t,e]=v([t,e]);let[a,o,i]=j.from(t),c=Nt.from(j,[a,o,i])[1],[l,u,f]=j.from(e),d=Nt.from(j,[l,u,f])[1];c<0&&(c=0),d<0&&(d=0);let h=(c+d)/2,m=Ze(h),g=.5*(1-Math.sqrt(m/(m+Xe))),p=(1+g)*o,M=(1+g)*u,w=Math.sqrt(p**2+i**2),_=Math.sqrt(M**2+f**2),y=p===0&&i===0?0:Math.atan2(i,p),I=M===0&&f===0?0:Math.atan2(f,M);y<0&&(y+=2*ee),I<0&&(I+=2*ee),y*=Ve,I*=Ve;let B=l-a,x=_-w,C=I-y,N=y+I,Y=Math.abs(C),V;w*_===0?V=0:Y<=180?V=C:C>180?V=C-360:C<-180?V=C+360:G.warn("the unthinkable has happened");let ut=2*Math.sqrt(_*w)*Math.sin(V*mt/2),Z=(a+l)/2,U=(w+_)/2,H=Ze(U),O;w*_===0?O=N:Y<=180?O=N/2:N<360?O=(N+360)/2:O=(N-360)/2;let K=(Z-50)**2,W=1+.015*K/Math.sqrt(20+K),J=1+.045*U,E=1;E-=.17*Math.cos((O-30)*mt),E+=.24*Math.cos(2*O*mt),E+=.32*Math.cos((3*O+6)*mt),E-=.2*Math.cos((4*O-63)*mt);let R=1+.015*U*E,It=30*Math.exp(-1*((O-275)/25)**2),vt=2*Math.sqrt(H/(H+Xe)),ot=-1*Math.sin(2*It*mt)*vt,D=(B/(n*W))**2;return D+=(x/(r*J))**2,D+=(ut/(s*R))**2,D+=ot*(x/(r*J))*(ut/(s*R)),Math.sqrt(D)}const Zr=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],Wr=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Jr=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Qr=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]];var Mt=new b({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:P,fromBase(t){let n=k(Zr,t).map(r=>Math.cbrt(r));return k(Jr,n)},toBase(t){let n=k(Qr,t).map(r=>r**3);return k(Wr,n)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function we(t,e){[t,e]=v([t,e]);let[n,r,s]=Mt.from(t),[a,o,i]=Mt.from(e),c=n-a,l=r-o,u=s-i;return Math.sqrt(c**2+l**2+u**2)}const Ur=75e-6;function lt(t,e,{epsilon:n=Ur}={}){t=v(t),e||(e=t.space),e=b.get(e);let r=t.coords;return e!==t.space&&(r=e.from(t)),e.inGamut(r,{epsilon:n})}function wt(t){return{space:t.space,coords:t.coords.slice(),alpha:t.alpha}}function Qn(t,e,n="lab"){n=b.get(n);let r=n.from(t),s=n.from(e);return Math.sqrt(r.reduce((a,o,i)=>{let c=s[i];return isNaN(o)||isNaN(c)?a:a+(c-o)**2},0))}function Kr(t,e){return Qn(t,e,"lab")}const ts=Math.PI,We=ts/180;function es(t,e,{l:n=2,c:r=1}={}){[t,e]=v([t,e]);let[s,a,o]=j.from(t),[,i,c]=Nt.from(j,[s,a,o]),[l,u,f]=j.from(e),d=Nt.from(j,[l,u,f])[1];i<0&&(i=0),d<0&&(d=0);let h=s-l,m=i-d,g=a-u,p=o-f,M=g**2+p**2-m**2,w=.511;s>=16&&(w=.040975*s/(1+.01765*s));let _=.0638*i/(1+.0131*i)+.638,y;Number.isNaN(c)&&(c=0),c>=164&&c<=345?y=.56+Math.abs(.2*Math.cos((c+168)*We)):y=.36+Math.abs(.4*Math.cos((c+35)*We));let I=Math.pow(i,4),B=Math.sqrt(I/(I+1900)),x=_*(B*y+1-B),C=(h/(n*w))**2;return C+=(m/(r*_))**2,C+=M/x**2,Math.sqrt(C)}const Je=203;var De=new b({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:P,fromBase(t){return t.map(e=>Math.max(e*Je,0))},toBase(t){return t.map(e=>Math.max(e/Je,0))}});const jt=1.15,Gt=.66,Qe=2610/2**14,ns=2**14/2610,Ue=3424/2**12,Ke=2413/2**7,tn=2392/2**7,rs=1.7*2523/2**5,en=2**5/(1.7*2523),Yt=-.56,ce=16295499532821565e-27,ss=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],as=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],os=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],is=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]];var Un=new b({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:De,fromBase(t){let[e,n,r]=t,s=jt*e-(jt-1)*r,a=Gt*n-(Gt-1)*e,i=k(ss,[s,a,r]).map(function(d){let h=Ue+Ke*(d/1e4)**Qe,m=1+tn*(d/1e4)**Qe;return(h/m)**rs}),[c,l,u]=k(os,i);return[(1+Yt)*c/(1+Yt*c)-ce,l,u]},toBase(t){let[e,n,r]=t,s=(e+ce)/(1+Yt-Yt*(e+ce)),o=k(is,[s,n,r]).map(function(d){let h=Ue-d**en,m=tn*d**en-Ke;return 1e4*(h/m)**ns}),[i,c,l]=k(as,o),u=(i+(jt-1)*l)/jt,f=(c+(Gt-1)*u)/Gt;return[u,f,l]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),ye=new b({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:Un,fromBase(t){let[e,n,r]=t,s;const a=2e-4;return Math.abs(n)<a&&Math.abs(r)<a?s=NaN:s=Math.atan2(r,n)*180/Math.PI,[e,Math.sqrt(n**2+r**2),X(s)]},toBase(t){return[t[0],t[1]*Math.cos(t[2]*Math.PI/180),t[1]*Math.sin(t[2]*Math.PI/180)]}});function cs(t,e){[t,e]=v([t,e]);let[n,r,s]=ye.from(t),[a,o,i]=ye.from(e),c=n-a,l=r-o;Number.isNaN(s)&&Number.isNaN(i)?(s=0,i=0):Number.isNaN(s)?s=i:Number.isNaN(i)&&(i=s);let u=s-i,f=2*Math.sqrt(r*o)*Math.sin(u/2*(Math.PI/180));return Math.sqrt(c**2+l**2+f**2)}const Kn=3424/4096,tr=2413/128,er=2392/128,nn=2610/16384,ls=2523/32,us=16384/2610,rn=32/2523,fs=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],hs=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],ms=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],ds=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]];var _e=new b({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:De,fromBase(t){let e=k(fs,t);return gs(e)},toBase(t){let e=ps(t);return k(ds,e)}});function gs(t){let e=t.map(function(n){let r=Kn+tr*(n/1e4)**nn,s=1+er*(n/1e4)**nn;return(r/s)**ls});return k(hs,e)}function ps(t){return k(ms,t).map(function(r){let s=Math.max(r**rn-Kn,0),a=tr-er*r**rn;return 1e4*(s/a)**us})}function bs(t,e){[t,e]=v([t,e]);let[n,r,s]=_e.from(t),[a,o,i]=_e.from(e);return 720*Math.sqrt((n-a)**2+.25*(r-o)**2+(s-i)**2)}const Ms=z.D65,nr=.42,sn=1/nr,le=2*Math.PI,rr=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],ws=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],ys=[[460,451,288],[460,-891,-261],[460,-220,-6300]],_s={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},ct={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Is=180/Math.PI,an=Math.PI/180;function sr(t,e){return t.map(r=>{const s=F(e*Math.abs(r)*.01,nr);return 400*re(s,r)/(s+27.13)})}function vs(t,e){const n=100/e*27.13**sn;return t.map(r=>{const s=Math.abs(r);return re(n*F(s/(400-s),sn),r)})}function Cs(t){let e=X(t);e<=ct.h[0]&&(e+=360);const n=Zn(ct.h,e)-1,[r,s]=ct.h.slice(n,n+2),[a,o]=ct.e.slice(n,n+2),i=ct.H[n],c=(e-r)/a;return i+100*c/(c+(s-e)/o)}function xs(t){let e=(t%400+400)%400;const n=Math.floor(.01*e);e=e%100;const[r,s]=ct.h.slice(n,n+2),[a,o]=ct.e.slice(n,n+2);return X((e*(o*r-a*s)-100*r*o)/(e*(o-a)-100*o))}function ar(t,e,n,r,s){const a={};a.discounting=s,a.refWhite=t,a.surround=r;const o=t.map(g=>g*100);a.la=e,a.yb=n;const i=o[1],c=k(rr,o);r=_s[a.surround];const l=r[0];a.c=r[1],a.nc=r[2];const f=(1/(5*a.la+1))**4;a.fl=f*a.la+.1*(1-f)*(1-f)*Math.cbrt(5*a.la),a.flRoot=a.fl**.25,a.n=a.yb/i,a.z=1.48+Math.sqrt(a.n),a.nbb=.725*a.n**-.2,a.ncb=a.nbb;const d=Math.max(Math.min(l*(1-1/3.6*Math.exp((-a.la-42)/92)),1),0);a.dRgb=c.map(g=>kt(1,i/g,d)),a.dRgbInv=a.dRgb.map(g=>1/g);const h=c.map((g,p)=>g*a.dRgb[p]),m=sr(h,a.fl);return a.aW=a.nbb*(2*m[0]+m[1]+.05*m[2]),a}const on=ar(Ms,64/Math.PI*.2,20,"average",!1);function Ie(t,e){if(!(t.J!==void 0^t.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(t.C!==void 0^t.M!==void 0^t.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(t.h!==void 0^t.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(t.J===0||t.Q===0)return[0,0,0];let n=0;t.h!==void 0?n=X(t.h)*an:n=xs(t.H)*an;const r=Math.cos(n),s=Math.sin(n);let a=0;t.J!==void 0?a=F(t.J,1/2)*.1:t.Q!==void 0&&(a=.25*e.c*t.Q/((e.aW+4)*e.flRoot));let o=0;t.C!==void 0?o=t.C/a:t.M!==void 0?o=t.M/e.flRoot/a:t.s!==void 0&&(o=4e-4*t.s**2*(e.aW+4)/e.c);const i=F(o*Math.pow(1.64-Math.pow(.29,e.n),-.73),10/9),c=.25*(Math.cos(n+2)+3.8),l=e.aW*F(a,2/e.c/e.z),u=5e4/13*e.nc*e.ncb*c,f=l/e.nbb,d=23*(f+.305)*Ae(i,23*u+i*(11*r+108*s)),h=d*r,m=d*s,g=vs(k(ys,[f,h,m]).map(p=>p*1/1403),e.fl);return k(ws,g.map((p,M)=>p*e.dRgbInv[M])).map(p=>p/100)}function or(t,e){const n=t.map(_=>_*100),r=sr(k(rr,n).map((_,y)=>_*e.dRgb[y]),e.fl),s=r[0]+(-12*r[1]+r[2])/11,a=(r[0]+r[1]-2*r[2])/9,o=(Math.atan2(a,s)%le+le)%le,i=.25*(Math.cos(o+2)+3.8),c=5e4/13*e.nc*e.ncb*Ae(i*Math.sqrt(s**2+a**2),r[0]+r[1]+1.05*r[2]+.305),l=F(c,.9)*Math.pow(1.64-Math.pow(.29,e.n),.73),u=e.nbb*(2*r[0]+r[1]+.05*r[2]),f=F(u/e.aW,.5*e.c*e.z),d=100*F(f,2),h=4/e.c*f*(e.aW+4)*e.flRoot,m=l*f,g=m*e.flRoot,p=X(o*Is),M=Cs(p),w=50*F(e.c*l/(e.aW+4),1/2);return{J:d,C:m,h:p,s:w,Q:h,M:g,H:M}}var $s=new b({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:P,fromBase(t){const e=or(t,on);return[e.J,e.M,e.h]},toBase(t){return Ie({J:t[0],M:t[1],h:t[2]},on)}});const Ss=z.D65,ks=216/24389,ir=24389/27;function Ns(t){return 116*(t>ks?Math.cbrt(t):(ir*t+16)/116)-16}function ve(t){return t>8?Math.pow((t+16)/116,3):t/ir}function Es(t,e){let[n,r,s]=t,a=[],o=0;if(s===0)return[0,0,0];let i=ve(s);s>0?o=.00379058511492914*s**2+.608983189401032*s+.9155088574762233:o=9514440756550361e-21*s**2+.08693057439788597*s-21.928975842194614;const c=2e-12,l=15;let u=0,f=1/0;for(;u<=l;){a=Ie({J:o,C:r,h:n},e);const d=Math.abs(a[1]-i);if(d<f){if(d<=c)return a;f=d}o=o-(a[1]-i)*o/(2*a[1]),u+=1}return Ie({J:o,C:r,h:n},e)}function Rs(t,e){const n=Ns(t[1]);if(n===0)return[0,0,0];const r=or(t,ze);return[X(r.h),r.C,n]}const ze=ar(Ss,200/Math.PI*ve(50),ve(50)*100,"average",!1);var Et=new b({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:P,fromBase(t){return Rs(t)},toBase(t){return Es(t,ze)},formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const Ls=Math.PI/180,cn=[1,.007,.0228];function ln(t){t[1]<0&&(t=Et.fromBase(Et.toBase(t)));const e=Math.log(Math.max(1+cn[2]*t[1]*ze.flRoot,1))/cn[2],n=t[0]*Ls,r=e*Math.cos(n),s=e*Math.sin(n);return[t[2],r,s]}function As(t,e){[t,e]=v([t,e]);let[n,r,s]=ln(Et.from(t)),[a,o,i]=ln(Et.from(e));return Math.sqrt((n-a)**2+(r-o)**2+(s-i)**2)}var yt={deltaE76:Kr,deltaECMC:es,deltaE2000:Jn,deltaEJz:cs,deltaEITP:bs,deltaEOK:we,deltaEHCT:As};function Bs(t){const e=t?Math.floor(Math.log10(Math.abs(t))):0;return Math.max(parseFloat(`1e${e-2}`),1e-6)}const un={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function st(t,{method:e=G.gamut_mapping,space:n=void 0,deltaEMethod:r="",jnd:s=2,blackWhiteClamp:a={}}={}){if(t=v(t),Rt(arguments[1])?n=arguments[1]:n||(n=t.space),n=b.get(n),lt(t,n,{epsilon:0}))return t;let o;if(e==="css")o=Ps(t,{space:n});else{if(e!=="clip"&&!lt(t,n)){Object.prototype.hasOwnProperty.call(un,e)&&({method:e,jnd:s,deltaEMethod:r,blackWhiteClamp:a}=un[e]);let i=Jn;if(r!==""){for(let l in yt)if("deltae"+r.toLowerCase()===l.toLowerCase()){i=yt[l];break}}let c=st(S(t,n),{method:"clip",space:n});if(i(t,c)>s){if(Object.keys(a).length===3){let w=b.resolveCoord(a.channel),_=T(S(t,w.space),w.id);if(nt(_)&&(_=0),_>=a.max)return S({space:"xyz-d65",coords:z.D65},t.space);if(_<=a.min)return S({space:"xyz-d65",coords:[0,0,0]},t.space)}let l=b.resolveCoord(e),u=l.space,f=l.id,d=S(t,u);d.coords.forEach((w,_)=>{nt(w)&&(d.coords[_]=0)});let m=(l.range||l.refRange)[0],g=Bs(s),p=m,M=T(d,f);for(;M-p>g;){let w=wt(d);w=st(w,{space:n,method:"clip"}),i(d,w)-s<g?p=T(d,f):M=T(d,f),Q(d,f,(p+M)/2)}o=S(d,n)}else o=c}else o=S(t,n);if(e==="clip"||!lt(o,n,{epsilon:0})){let i=Object.values(n.coords).map(c=>c.range||[]);o.coords=o.coords.map((c,l)=>{let[u,f]=i[l];return u!==void 0&&(c=Math.max(u,c)),f!==void 0&&(c=Math.min(c,f)),c})}}return n!==t.space&&(o=S(o,t.space)),t.coords=o.coords,t}st.returns="color";const fn={WHITE:{space:Mt,coords:[1,0,0]},BLACK:{space:Mt,coords:[0,0,0]}};function Ps(t,{space:e}={}){t=v(t),e||(e=t.space),e=b.get(e);const s=b.get("oklch");if(e.isUnbounded)return S(t,e);const a=S(t,s);let o=a.coords[0];if(o>=1){const m=S(fn.WHITE,e);return m.alpha=t.alpha,S(m,e)}if(o<=0){const m=S(fn.BLACK,e);return m.alpha=t.alpha,S(m,e)}if(lt(a,e,{epsilon:0}))return S(a,e);function i(m){const g=S(m,e),p=Object.values(e.coords);return g.coords=g.coords.map((M,w)=>{if("range"in p[w]){const[_,y]=p[w].range;return Vn(_,M,y)}return M}),g}let c=0,l=a.coords[1],u=!0,f=wt(a),d=i(f),h=we(d,f);if(h<.02)return d;for(;l-c>1e-4;){const m=(c+l)/2;if(f.coords[1]=m,u&<(f,e,{epsilon:0}))c=m;else if(d=i(f),h=we(d,f),h<.02){if(.02-h<1e-4)break;u=!1,c=m}else l=m}return d}function S(t,e,{inGamut:n}={}){t=v(t),e=b.get(e);let r=e.from(t),s={space:e,coords:r,alpha:t.alpha};return n&&(s=st(s,n===!0?void 0:n)),s}S.returns="color";function St(t,{precision:e=G.precision,format:n="default",inGamut:r=!0,...s}={}){let a;t=v(t);let o=n;n=t.space.getFormat(n)??t.space.getFormat("default")??b.DEFAULT_FORMAT;let i=t.coords.slice();if(r||=n.toGamut,r&&!lt(t)&&(i=st(wt(t),r===!0?void 0:r).coords),n.type==="custom")if(s.precision=e,n.serialize)a=n.serialize(i,t.alpha,s);else throw new TypeError(`format ${o} can only be used to parse colors, not for serialization`);else{let c=n.name||"color";n.serializeCoords?i=n.serializeCoords(i,e):e!==null&&(i=i.map(d=>Kt(d,{precision:e})));let l=[...i];if(c==="color"){let d=n.id||n.ids?.[0]||t.space.id;l.unshift(d)}let u=t.alpha;e!==null&&(u=Kt(u,{precision:e}));let f=t.alpha>=1||n.noAlpha?"":`${n.commas?",":" /"} ${u}`;a=`${c}(${l.join(n.commas?", ":" ")}${f})`}return a}const Ds=[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],zs=[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]];var se=new q({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:Ds,fromXYZ_M:zs});const Ht=1.09929682680944,hn=.018053968510807;var cr=new q({id:"rec2020",name:"REC.2020",base:se,toBase(t){return t.map(function(e){return e<hn*4.5?e/4.5:Math.pow((e+Ht-1)/Ht,1/.45)})},fromBase(t){return t.map(function(e){return e>=hn?Ht*Math.pow(e,.45)-(Ht-1):4.5*e})}});const Os=[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],qs=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]];var lr=new q({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:Os,fromXYZ_M:qs});const Ts=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],A=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]];var ur=new q({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:Ts,fromXYZ_M:A}),mn={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]};let dn=Array(3).fill("<percentage> | <number>[0, 255]"),gn=Array(3).fill("<number>[0, 255]");var _t=new q({id:"srgb",name:"sRGB",base:ur,fromBase:t=>t.map(e=>{let n=e<0?-1:1,r=e*n;return r>.0031308?n*(1.055*r**(1/2.4)-.055):12.92*e}),toBase:t=>t.map(e=>{let n=e<0?-1:1,r=e*n;return r<=.04045?e/12.92:n*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:dn},rgb_number:{name:"rgb",commas:!0,coords:gn,noAlpha:!0},color:{},rgba:{coords:dn,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:gn},hex:{type:"custom",toGamut:!0,test:t=>/^#([a-f0-9]{3,4}){1,2}$/i.test(t),parse(t){t.length<=5&&(t=t.replace(/[a-f0-9]/gi,"$&$&"));let e=[];return t.replace(/[a-f0-9]{2}/gi,n=>{e.push(parseInt(n,16)/255)}),{spaceId:"srgb",coords:e.slice(0,3),alpha:e.slice(3)[0]}},serialize:(t,e,{collapse:n=!0}={})=>{e<1&&t.push(e),t=t.map(a=>Math.round(a*255));let r=n&&t.every(a=>a%17===0);return"#"+t.map(a=>r?(a/17).toString(16):a.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:t=>/^[a-z]+$/i.test(t),parse(t){t=t.toLowerCase();let e={spaceId:"srgb",coords:null,alpha:1};if(t==="transparent"?(e.coords=mn.black,e.alpha=0):e.coords=mn[t],e.coords)return e}}}}),fr=new q({id:"p3",cssId:"display-p3",name:"P3",base:lr,fromBase:_t.fromBase,toBase:_t.toBase});G.display_space=_t;let js;if(typeof CSS<"u"&&CSS.supports)for(let t of[j,cr,fr]){let e=t.getMinCoords(),r=St({space:t,coords:e,alpha:1});if(CSS.supports("color",r)){G.display_space=t;break}}function Gs(t,{space:e=G.display_space,...n}={}){let r=St(t,n);if(typeof CSS>"u"||CSS.supports("color",r)||!G.display_space)r=new String(r),r.color=t;else{let s=t;if((t.coords.some(nt)||nt(t.alpha))&&!(js??=CSS.supports("color","hsl(none 50% 50%)"))&&(s=wt(t),s.coords=s.coords.map(L),s.alpha=L(s.alpha),r=St(s,n),CSS.supports("color",r)))return r=new String(r),r.color=s,r;s=S(s,e),r=new String(St(s,n)),r.color=s}return r}function Ys(t,e){return t=v(t),e=v(e),t.space===e.space&&t.alpha===e.alpha&&t.coords.every((n,r)=>n===e.coords[r])}function at(t){return T(t,[P,"y"])}function hr(t,e){Q(t,[P,"y"],e)}function Hs(t){Object.defineProperty(t.prototype,"luminance",{get(){return at(this)},set(e){hr(this,e)}})}var Fs=Object.freeze({__proto__:null,getLuminance:at,register:Hs,setLuminance:hr});function Xs(t,e){t=v(t),e=v(e);let n=Math.max(at(t),0),r=Math.max(at(e),0);return r>n&&([n,r]=[r,n]),(n+.05)/(r+.05)}const Vs=.56,Zs=.57,Ws=.62,Js=.65,pn=.022,Qs=1.414,Us=.1,Ks=5e-4,ta=1.14,bn=.027,ea=1.14;function Mn(t){return t>=pn?t:t+(pn-t)**Qs}function dt(t){let e=t<0?-1:1,n=Math.abs(t);return e*Math.pow(n,2.4)}function na(t,e){e=v(e),t=v(t);let n,r,s,a,o,i;e=S(e,"srgb"),[a,o,i]=e.coords;let c=dt(a)*.2126729+dt(o)*.7151522+dt(i)*.072175;t=S(t,"srgb"),[a,o,i]=t.coords;let l=dt(a)*.2126729+dt(o)*.7151522+dt(i)*.072175,u=Mn(c),f=Mn(l),d=f>u;return Math.abs(f-u)<Ks?r=0:d?(n=f**Vs-u**Zs,r=n*ta):(n=f**Js-u**Ws,r=n*ea),Math.abs(r)<Us?s=0:r>0?s=r-bn:s=r+bn,s*100}function ra(t,e){t=v(t),e=v(e);let n=Math.max(at(t),0),r=Math.max(at(e),0);r>n&&([n,r]=[r,n]);let s=n+r;return s===0?0:(n-r)/s}const sa=5e4;function aa(t,e){t=v(t),e=v(e);let n=Math.max(at(t),0),r=Math.max(at(e),0);return r>n&&([n,r]=[r,n]),r===0?sa:(n-r)/r}function oa(t,e){t=v(t),e=v(e);let n=T(t,[j,"l"]),r=T(e,[j,"l"]);return Math.abs(n-r)}const ia=216/24389,wn=24/116,Ft=24389/27;let ue=z.D65;var Ce=new b({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:ue,base:P,fromBase(t){let n=t.map((r,s)=>r/ue[s]).map(r=>r>ia?Math.cbrt(r):(Ft*r+16)/116);return[116*n[1]-16,500*(n[0]-n[1]),200*(n[1]-n[2])]},toBase(t){let e=[];return e[1]=(t[0]+16)/116,e[0]=t[1]/500+e[1],e[2]=e[1]-t[2]/200,[e[0]>wn?Math.pow(e[0],3):(116*e[0]-16)/Ft,t[0]>8?Math.pow((t[0]+16)/116,3):t[0]/Ft,e[2]>wn?Math.pow(e[2],3):(116*e[2]-16)/Ft].map((r,s)=>r*ue[s])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});const fe=Math.pow(5,.5)*.5+.5;function ca(t,e){t=v(t),e=v(e);let n=T(t,[Ce,"l"]),r=T(e,[Ce,"l"]),s=Math.abs(Math.pow(n,fe)-Math.pow(r,fe)),a=Math.pow(s,1/fe)*Math.SQRT2-40;return a<7.5?0:a}var Qt=Object.freeze({__proto__:null,contrastAPCA:na,contrastDeltaPhi:ca,contrastLstar:oa,contrastMichelson:ra,contrastWCAG21:Xs,contrastWeber:aa});function la(t,e,n={}){Rt(n)&&(n={algorithm:n});let{algorithm:r,...s}=n;if(!r){let a=Object.keys(Qt).map(o=>o.replace(/^cont