colortranslator
Version:
A JavaScript library, written in TypeScript, to convert among different color models
2 lines (1 loc) • 45.8 kB
JavaScript
"use strict";const t=255,e=100,s=125,r=150;var a,i,n,c;!function(t){t.HEX="HEX",t.RGB="RGB",t.HWB="HWB",t.HSL="HSL",t.CIELab="CIELab",t.LCH="LCH",t.CMYK="CMYK"}(a||(a={})),exports.Harmony=void 0,(i=exports.Harmony||(exports.Harmony={})).ANALOGOUS="ANALOGOUS",i.COMPLEMENTARY="COMPLEMENTARY",i.SPLIT_COMPLEMENTARY="SPLIT_COMPLEMENTARY",i.TRIADIC="TRIADIC",i.TETRADIC="TETRADIC",i.SQUARE="SQUARE",exports.Mix=void 0,(n=exports.Mix||(exports.Mix={})).ADDITIVE="ADDITIVE",n.SUBTRACTIVE="SUBTRACTIVE",function(t){t.black="#000000",t.silver="#C0C0C0",t.gray="#808080",t.white="#FFFFFF",t.maroon="#800000",t.red="#FF0000",t.purple="#800080",t.fuchsia="#FF00FF",t.green="#008000",t.lime="#00FF00",t.olive="#808000",t.yellow="#FFFF00",t.navy="#000080",t.blue="#0000FF",t.teal="#008080",t.aqua="#00FFFF",t.orange="#FFA500",t.aliceblue="#F0F8FF",t.antiquewhite="#FAEBD7",t.aquamarine="#7FFFD4",t.azure="#F0FFFF",t.beige="#F5F5DC",t.bisque="#FFE4C4",t.blanchedalmond="#FFEBCD",t.blueviolet="#8A2BE2",t.brown="#A52A2A",t.burlywood="#DEB887",t.cadetblue="#5F9EA0",t.chartreuse="#7FFF00",t.chocolate="#D2691E",t.coral="#FF7F50",t.cornflowerblue="#6495ED",t.cornsilk="#FFF8DC",t.crimson="#DC143C",t.cyan="#00FFFF",t.darkblue="#00008B",t.darkcyan="#008B8B",t.darkgoldenrod="#B8860B",t.darkgray="#A9A9A9",t.darkgreen="#006400",t.darkgrey="#A9A9A9",t.darkkhaki="#BDB76B",t.darkmagenta="#8B008B",t.darkolivegreen="#556B2F",t.darkorange="#FF8C00",t.darkorchid="#9932CC",t.darkred="#8B0000",t.darksalmon="#E9967A",t.darkseagreen="#8FBC8F",t.darkslateblue="#483D8B",t.darkslategray="#2F4F4F",t.darkslategrey="#2F4F4F",t.darkturquoise="#00CED1",t.darkviolet="#9400D3",t.deeppink="#FF1493",t.deepskyblue="#00BFFF",t.dimgray="#696969",t.dimgrey="#696969",t.dodgerblue="#1E90FF",t.firebrick="#B22222",t.floralwhite="#FFFAF0",t.forestgreen="#228B22",t.gainsboro="#DCDCDC",t.ghostwhite="#F8F8FF",t.gold="#FFD700",t.goldenrod="#DAA520",t.greenyellow="#ADFF2F",t.grey="#808080",t.honeydew="#F0FFF0",t.hotpink="#FF69B4",t.indianred="#CD5C5C",t.indigo="#4B0082",t.ivory="#FFFFF0",t.khaki="#F0E68C",t.lavender="#E6E6FA",t.lavenderblush="#FFF0F5",t.lawngreen="#7CFC00",t.lemonchiffon="#FFFACD",t.lightblue="#ADD8E6",t.lightcoral="#F08080",t.lightcyan="#E0FFFF",t.lightgoldenrodyellow="#FAFAD2",t.lightgray="#D3D3D3",t.lightgreen="#90EE90",t.lightgrey="#D3D3D3",t.lightpink="#FFB6C1",t.lightsalmon="#FFA07A",t.lightseagreen="#20B2AA",t.lightskyblue="#87CEFA",t.lightslategray="#778899",t.lightslategrey="#778899",t.lightsteelblue="#B0C4DE",t.lightyellow="#FFFFE0",t.limegreen="#32CD32",t.linen="#FAF0E6",t.magenta="#FF00FF",t.mediumaquamarine="#66CDAA",t.mediumblue="#0000CD",t.mediumorchid="#BA55D3",t.mediumpurple="#9370DB",t.mediumseagreen="#3CB371",t.mediumslateblue="#7B68EE",t.mediumspringgreen="#00FA9A",t.mediumturquoise="#48D1CC",t.mediumvioletred="#C71585",t.midnightblue="#191970",t.mintcream="#F5FFFA",t.mistyrose="#FFE4E1",t.moccasin="#FFE4B5",t.navajowhite="#FFDEAD",t.oldlace="#FDF5E6",t.olivedrab="#6B8E23",t.orangered="#FF4500",t.orchid="#DA70D6",t.palegoldenrod="#EEE8AA",t.palegreen="#98FB98",t.paleturquoise="#AFEEEE",t.palevioletred="#DB7093",t.papayawhip="#FFEFD5",t.peachpuff="#FFDAB9",t.peru="#CD853F",t.pink="#FFC0CB",t.plum="#DDA0DD",t.powderblue="#B0E0E6",t.rosybrown="#BC8F8F",t.royalblue="#4169E1",t.saddlebrown="#8B4513",t.salmon="#FA8072",t.sandybrown="#F4A460",t.seagreen="#2E8B57",t.seashell="#FFF5EE",t.sienna="#A0522D",t.skyblue="#87CEEB",t.slateblue="#6A5ACD",t.slategray="#708090",t.slategrey="#708090",t.snow="#FFFAFA",t.springgreen="#00FF7F",t.steelblue="#4682B4",t.tan="#D2B48C",t.thistle="#D8BFD8",t.tomato="#FF6347",t.turquoise="#40E0D0",t.violet="#EE82EE",t.wheat="#F5DEB3",t.whitesmoke="#F5F5F5",t.yellowgreen="#9ACD32",t.rebeccapurple="#663399"}(c||(c={}));const o=Object.keys(c),h={HEX:["R","G","B","A"],RGB:["R","G","B","A"],HSL:["H","S","L","A"],HWB:["H","W","B","A"],CIELab:["L","a","b","A"],LCH:["L","C","H","A"],CMYK:["C","M","Y","K","A"]},l={ABGR:a.RGB,ABHW:a.HWB,ACHL:a.LCH,ACKMY:a.CMYK,AHLS:a.HSL,ALAB:a.CIELab,BGR:a.RGB,BHW:a.HWB,CHL:a.LCH,CKMY:a.CMYK,HLS:a.HSL,LAB:a.CIELab};var u;!function(t){t.NUMBER="number",t.BOOLEAN="boolean"}(u||(u={}));const d={[a.HEX]:/^#(?:(?<r>[a-f\d])(?<g>[a-f\d])(?<b>[a-f\d])(?<a>[a-f\d])?|(?<rr>[a-f\d]{2})(?<gg>[a-f\d]{2})(?<bb>[a-f\d]{2})(?<aa>[a-f\d]{2})?)$/i,[a.RGB]:/^rgba?\s*\(\s*(?:(?<r_legacy>(?:\d*\.)?\d+%?)\s*,\s*(?<g_legacy>(?:\d*\.)?\d+%?)\s*,\s*(?<b_legacy>(?:\d*\.)?\d+%?)(?:\s*,\s*(?<a_legacy>(?:\d*\.)?\d+))?|(?<r>(?:\d*\.)?\d+%?)\s+(?<g>(?:\d*\.)?\d+%?)\s+(?<b>(?:\d*\.)?\d+%?)(?:\s*\/\s*(?<a>(?:\d*\.)?\d+%?))?|from\s+(?<from>(?:\w+|\w+\(\s*[^())]+\s*\)|\w+\(from\s+\w+\(.*\)\s*\)|#[a-fA-F\d]+))\s+(?<relative_r>(?:[rgb]|(?:\d*\.)?\d+|calc\([rgb()/*\-+\d.\s]+\)))\s+(?<relative_g>(?:[rgb]|(?:\d*\.)?\d+|calc\([rgb()/*\-+\d.\s]+\)))\s+(?<relative_b>(?:[rgb]|(?:\d*\.)?\d+|calc\([rgb()/*\-+\d.\s]+\)))(?:\s*\/\s*(?<relative_a>(?:(?:\d*\.)?\d+%?|calc\([()/*\-+\d.\s\w]*(?:alpha)?[()/*\-+\d.\s\w]*\)|alpha)))?)\s*\)$/,[a.HWB]:/^hwb\s*\(\s*(?:(?<h>(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)\s+(?<w>(?:\d*\.)?\d+)%\s+(?<b>(?:\d*\.)?\d+)%(?:\s*\/\s*(?<a>(?:\d*\.)?\d+%?))?|from\s+(?<from>(?:\w+|\w+\(\s*[^())]+\s*\)|\w+\(from\s+\w+\(.*\)\s*\)|#[a-fA-F\d]+))\s+(?<relative_h>(?:[hwb]|(?:\d*\.)?\d+|calc\([hwb()/*\-+\d.\s]+\)))\s+(?<relative_w>(?:[hwb]|(?:\d*\.)?\d+|calc\([hwb()/*\-+\d.\s]+\)))%?\s+(?<relative_b>(?:[hwb]|(?:\d*\.)?\d+|calc\([hwb()/*\-+\d.\s]+\)))%?(?:\s*\/\s*(?<relative_a>(?:(?:\d*\.)?\d+%?|calc\([()/*\-+\d.\s\w]*(?:alpha)?[()/*\-+\d.\s\w]*\)|alpha)))?)\s*\)$/,[a.HSL]:/^hsla?\s*\(\s*(?:(?<h_legacy>-?(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)\s*,\s*(?<s_legacy>(?:\d*\.)?\d+)%\s*,\s*(?<l_legacy>(?:\d*\.)?\d+)%(?:\s*,\s*(?<a_legacy>(?:\d*\.)?\d+))?|(?<h>-?(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)\s+(?<s>(?:\d*\.)?\d+)%?\s+(?<l>(?:\d*\.)?\d+)%?(?:\s*\/\s*(?<a>(?:\d*\.)?\d+%?))?|from\s+(?<from>(?:\w+|\w+\(\s*[^())]+\s*\)|\w+\(from\s+\w+\(.*\)\s*\)|#[a-fA-F\d]+))\s+(?<relative_h>(?:[hsl]|(?:\d*\.)?\d+|calc\([hsl()/*\-+\d.\s]+\)))\s+(?<relative_s>(?:[hsl]|(?:\d*\.)?\d+|calc\([hsl()/*\-+\d.\s]+\)))%?\s+(?<relative_l>(?:[hsl]|(?:\d*\.)?\d+|calc\([hsl()/*\-+\d.\s]+\)))%?(?:\s*\/\s*(?<relative_a>(?:(?:\d*\.)?\d+%?|calc\([()/*\-+\d.\s\w]*(?:alpha)?[()/*\-+\d.\s\w]*\)|alpha)))?)\s*\)$/,[a.CIELab]:/^lab\s*\(\s*(?:(?<L>(?:\d*\.)?\d+%?)\s+(?<a>-?(?:\d*\.)?\d+%?)\s+(?<b>-?(?:\d*\.)?\d+%?)(?:\s*\/\s*(?<A>(?:\d*\.)?\d+%?))?|from\s+(?<from>(?:\w+|\w+\(\s*[^())]+\s*\)|\w+\(from\s+\w+\(.*\)\s*\)|#[a-fA-F\d]+))\s+(?<relative_L>(?:[lab]|(?:\d*\.)?\d+|calc\([lab()/*\-+\d.\s]+\)))\s+(?<relative_a>(?:[lab]|(?:\d*\.)?\d+|calc\([lab()/*\-+\d.\s]+\)))\s+(?<relative_b>(?:[lab]|(?:\d*\.)?\d+|calc\([lab()/*\-+\d.\s]+\)))(?:\s*\/\s*(?<relative_A>(?:(?:\d*\.)?\d+%?|calc\([()/*\-+\d.\s\w]*(?:alpha)?[()/*\-+\d.\s\w]*\)|alpha)))?)\s*\)$/,[a.LCH]:/^lch\s*\(\s*(?:(?<l>(?:\d*\.)?\d+%?)\s+(?<c>-?(?:\d*\.)?\d+%?)\s+(?<h>-?(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)(?:\s*\/\s*(?<a>(?:\d*\.)?\d+%?))?|from\s+(?<from>(?:\w+|\w+\(\s*[^())]+\s*\)|\w+\(from\s+\w+\(.*\)\s*\)|#[a-fA-F\d]+))\s+(?<relative_l>(?:[lch]|(?:\d*\.)?\d+|calc\([lch()/*\-+\d.\s]+\)))\s+(?<relative_c>(?:[lch]|(?:\d*\.)?\d+|calc\([lch()/*\-+\d.\s]+\)))\s+(?<relative_h>(?:[lch]|(?:\d*\.)?\d+|calc\([lch()/*\-+\d.\s]+\)))(?:\s*\/\s*(?<relative_a>(?:(?:\d*\.)?\d+%?|calc\([()/*\-+\d.\s\w]*(?:alpha)?[()/*\-+\d.\s\w]*\)|alpha)))?)\s*\)$/,[a.CMYK]:/^(?:device-cmyk|cmyk)\s*\(\s*(?:(?<c_legacy>(?:\d*\.)?\d+%?)\s*,\s*(?<m_legacy>(?:\d*\.)?\d+%?)\s*,\s*(?<y_legacy>(?:\d*\.)?\d+%?)\s*,\s*(?<k_legacy>(?:\d*\.)?\d+%?)(?:\s*,\s*(?<a_legacy>(?:\d*\.)?\d+))?|(?<c>(?:\d*\.)?\d+%?)\s+(?<m>(?:\d*\.)?\d+%?)\s+(?<y>(?:\d*\.)?\d+%?)\s+(?<k>(?:\d*\.)?\d+%?)(?:\s*\/\s*(?<a>(?:\d*\.)?\d+%?))?)\s*\)$/},A={REGEXP:/^calc\(\s*(?<operation>[\d./*+-\w\s]+)\s*\)$/,SCOPED:/\(\s*([^()]+)\s*\)/g,DIVISION:/\s*(?<left>(?:(?:\d*\.)?\d+|\w+))\s*\/\s*(?<right>(?:(?:\d*\.)?\d+|\w+))\s*/,MULTIPLICATION:/\s*(?<left>(?:(?:\d*\.)?\d+|\w+))\s*\*\s*(?<right>(?:(?:\d*\.)?\d+|\w+))\s*/,SUM:/\s*(?<left>(?:(?:\d*\.)?\d+|\w+))\s*\+\s*(?<right>(?:(?:\d*\.)?\d+|\w+))\s*/,REST:/\s*(?<left>(?:(?:\d*\.)?\d+|\w+))\s*-\s*(?<right>(?:(?:\d*\.)?\d+|\w+))\s*/},m=/^(?<number>-?(?:\d*\.)?\d+)(?<units>(?:deg|grad|rad|turn)?)$/,b=/^(-?\d+(?:\.\d+)?|-?\.\d+)%$/,g=/^0x([a-f\d]{1,2})$/i,H=/\{(\d+)\}/g,C=/,( +|\d+)/g,L=/ +/,B="The provided string color doesn't have a correct format",E="The provided color object doesn't have the proper keys or format",p="is not a valid operation for a relative color";var F,R,_;!function(t){t.NONE="none",t.DEGREES="deg",t.GRADIANS="grad",t.RADIANS="rad",t.TURNS="turn"}(F||(F={})),function(t){t.NONE="none",t.PERCENT="percent"}(R||(R={})),function(t){t.DEVICE_CMYK="device-cmyk",t.CMYK="cmyk"}(_||(_={}));const M={decimals:6,legacyCSS:!1,spacesAfterCommas:!1,anglesUnit:F.NONE,rgbUnit:R.NONE,labUnit:R.NONE,lchUnit:R.NONE,cmykUnit:R.PERCENT,alphaUnit:R.NONE,cmykFunction:_.DEVICE_CMYK},f=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),S=t=>+`${t}`.replace(b,"$1"),G=t=>b.test(`${t}`)?S(t):Math.min(+t,100),y=t=>(1===t.length&&(t+=t),parseInt(t,16)),I=t=>{const e=k(t,0).toString(16).toUpperCase();return 1===e.length?`0x0${e}`:`0x${e}`},w=(e,s=!1)=>!s&&b.test(e)?Math.min(t*S(e)/100,t):g.test(e)?(3===e.length&&(e+=e.slice(-1)),s?k(e)/t:k(e)):Math.min(+e,s?1:t),P=t=>b.test(t)?W(s*S(t)/100,-125,s):W(+t,-125,s),x=t=>b.test(t)?W(r*S(t)/100,-150,r):W(+t,-150,r),O=t=>Math.min(b.test(t)?S(t)/100:+t,1),D=t=>[...t].sort().join("").toUpperCase(),k=(t,e=6)=>{const s=Math.pow(10,e);return Math.round(+t*s)/s},W=(t,e,s)=>Math.max(e,Math.min(t,s)),j=t=>180*t/Math.PI,v=t=>t*Math.PI/180,N=360,$=t=>{if("string"==typeof t){const e=t.match(m).groups,s=+e.number;switch(e.units){case F.RADIANS:t=k(j(s));break;case F.TURNS:t=k(s*N);break;case F.GRADIANS:t=k(.9*s);break;case F.DEGREES:default:t=s}}return(t>360||t<0)&&(t-=Math.floor(t/N)*N),t},X=t=>("string"==typeof t&&(t=b.test(t)?S(t)/100:+t),isNaN(+t)||t>1?1:k(t)),Y=(t,e)=>{let s;switch(e){case F.RADIANS:s=k(v(t));break;case F.TURNS:s=k(t/N);break;case F.GRADIANS:s=k(10/9*t);break;case F.DEGREES:case F.NONE:default:s=t}return s},U=t=>`${t}`in exports.Mix,T=[[.4360747,.3850649,.1430804],[.2225045,.7168786,.0606169],[.0139322,.0971045,.7141733]],K=[[3.1338561,-1.6168667,-.4906146],[-.9787684,1.9161415,.033454],[.0719453,-.2289914,1.4052427]],V=T.map((t=>t.reduce(((t,e)=>t+e),0))),q=(e,s,r)=>(r<0&&(r+=6),r>=6&&(r-=6),k(r<1?((s-e)*r+e)*t:r<3?s*t:r<4?((s-e)*(4-r)+e)*t:e*t)),z=t=>t<=.04045?t/12.92:((t+.055)/1.055)**2.4,Q=t=>t<=.0031308?12.92*t:1.055*t**(1/2.4)-.055,J=(t,e,s,r)=>{const a=[0,0,0],i=[t,e,s];return r.forEach(((t,e)=>{t.forEach(((t,s)=>{a[e]+=t*i[s]}))})),a},Z=(t,e,s)=>{e/=100;const r=(s/=100)<=.5?s*(e+1):s+e-s*e,a=2*s-r;return{R:q(a,r,(t/=60)+2),G:q(a,r,t),B:q(a,r,t-2)}},tt=(e,s,r,a=1)=>{e/=t,s/=t,r/=t,a=Math.min(a,1);const i=Math.max(e,s,r),n=Math.min(e,s,r),c=i-n;let o=0,h=0;const l=(i+n)/2;if(0!==c){switch(i){case e:o=(s-r)/c%6;break;case s:o=(r-e)/c+2;break;case r:o=(e-s)/c+4}o=k(60*o),o<0&&(o+=360),h=c/(1-Math.abs(2*l-1))}return{H:o,S:k(100*h),L:k(100*l),A:a}},et=(e,s,r)=>{const a=[e/t,s/t,r/t].map(z),i=J(a[0],a[1],a[2],T),n=((t,e,s)=>{const r=t=>t>(6/29)**3?Math.cbrt(t):t/(3*(6/29)**2)+4/29,a=r(t/V[0]),i=r(e/V[1]);return[116*i-16,500*(a-i),200*(i-r(s/V[2]))]})(i[0],i[1],i[2]);return{L:n[0],a:n[1],b:n[2]}},st=(e,s,r)=>{const a=((t,e,s)=>{const r=t=>t>6/29?t**3:3*(6/29)**2*(t-4/29),a=(t+16)/116,i=e/500,n=s/200;return[V[0]*r(a+i),V[1]*r(a),V[2]*r(a-n)]})(e,s,r),i=J(a[0],a[1],a[2],K).map(Q);return{R:W(i[0]*t,0,t),G:W(i[1]*t,0,t),B:W(i[2]*t,0,t)}},rt=(t,e,s)=>{const r=Math.sqrt(e**2+s**2),a=j(Math.atan2(s,e));return{L:t,C:r,H:$(a)}},at=(t,e,s)=>{const r=v(s);return{L:t,a:e*Math.cos(r),b:e*Math.sin(r)}},it=(t,e,s)=>{const r=et(t,e,s);return rt(r.L,r.a,r.b)},nt=(t,e,s)=>{const r=at(t,e,s);return st(r.L,r.a,r.b)},ct=(e,s,r,a=1)=>({H:tt(e,s,r,a).H,W:k(Math.min(e,s,r)/t*100),B:k(100*(1-Math.max(e,s,r)/t)),A:a}),ot=(e,s,r)=>{const a=1-(r/=100)-(s/=100),i=a*(1-Math.abs(e/60%2-1));let n=0,c=0,o=0;return e<60?(n=a,c=i,o=0):e>=60&&e<120?(n=i,c=a,o=0):e>=120&&e<180?(n=0,c=a,o=i):e>=180&&e<240?(n=0,c=i,o=a):e>=240&&e<300?(n=i,c=0,o=a):e>=300&&(n=a,c=0,o=i),n+=s,c+=s,o+=s,{R:W(n*t,0,t),G:W(c*t,0,t),B:W(o*t,0,t)}},ht=(e,s,r,a)=>({R:k(t*(1-e)*(a=1-a)),G:k(t*(1-s)*a),B:k(t*(1-r)*a)}),lt=(e,s,r)=>{e/=t,s/=t,r/=t;const a=1-Math.max(e,s,r),i=1-a,n=i&&(i-s)/i,c=i&&(i-r)/i;return{C:k(100*(i&&(i-e)/i)),M:k(100*n),Y:k(100*c),K:k(100*a)}},ut=(t,e)=>{if(t<0&&(t+=360),t>360&&(t-=360),360===t||0===t)return t;const s=[[0,120],[120,180],[180,240],[240,360]],r=[[0,60],[60,120],[120,240],[240,360]],a=e?r:s;let i=0,n=0,c=0,o=0;return(e?s:r).find(((e,s)=>t>=e[0]&&t<e[1]&&(i=e[0],n=e[1],c=a[s][0],o=a[s][1],!0))),c+(o-c)/(n-i)*(t-i)};class dt{get rgb(){return this._rgb}}class At extends dt{constructor(e){super();const s=e.match(d.HEX).groups;this._r=s.r??s.rr,this._g=s.g??s.gg,this._b=s.b??s.bb,this._a=s.a??s.aa;const r={R:y(this._r),G:y(this._g),B:y(this._b)};void 0!==this._a&&(r.A=y(this._a)/t),this._rgb=r}}class mt{constructor(t,e,s){this._operations=new Map([[A.DIVISION,this._division],[A.MULTIPLICATION,this._multiplication],[A.SUM,this._sum],[A.REST,this._rest]]),this._colorIndex=t;let r=e,a=0;if(Number.isNaN(+e))if(e in s)this._result=s[e];else if(A.REGEXP.test(r))A.REGEXP.lastIndex=0,this._result=this._getCalcValue(r,s);else{for(;A.SCOPED.test(r)&&a<100;){if(A.SCOPED.lastIndex=0,r=r.replace(A.SCOPED,((t,e)=>this._calculate(e,s).toString())),A.REGEXP.test(r)){A.REGEXP.lastIndex=0;break}a++}this._result=this._getCalcValue(r,s)}else this._result=+e}_division(t,e){return t/e}_multiplication(t,e){return t*e}_sum(t,e){return t+e}_rest(t,e){return t-e}_getCalcValue(t,e){const s=t.match(A.REGEXP).groups.operation,r=this._calculate(s,e);if(Number.isNaN(r))throw new Error(`Invalid value for ${this._colorIndex}. ${s} ${p}`);return r}_calculate(t,e){return this._operations.forEach(((s,r)=>{let a=0;for(;r.test(t)&&a<100;)t=t.replace(r,((t,r,a)=>s(e[r]??+r,e[a]??+a).toString())),a++})),+t}get result(){return this._result}}class bt extends dt{get hasPercentageAlpha(){return b.test(this._a)}}class gt extends bt{constructor(e,s){super();const r=e.match(d.RGB).groups,{r_legacy:a,g_legacy:i,b_legacy:n,a_legacy:c,r:o,g:h,b:l,a:u,from:A,relative_r:m,relative_g:b,relative_b:g,relative_a:H}=r;if(A){const e=s(A),r={r:e.R,g:e.G,b:e.B,alpha:e.A??1},a=new mt("r",m,r).result,i=new mt("g",b,r).result,n=new mt("b",g,r).result,c={R:Math.min(a,t),G:Math.min(i,t),B:Math.min(n,t)};if(H){const t=new mt("alpha",H,r).result;c.A=Math.min(t,1)}this._rgb=c}else{this._r=a??o,this._g=i??h,this._b=n??l,this._a=c??u;const e={R:Math.min(w(this._r),t),G:Math.min(w(this._g),t),B:Math.min(w(this._b),t)};void 0!==this._a&&(e.A=X(this._a)),this._rgb=e}}get hasPercentageValues(){return b.test(this._r)&&b.test(this._g)&&b.test(this._b)}static test(t){return d.RGB.test(t)}}class Ht extends bt{get angleUnit(){if(this._h){const t=this._h.match(m).groups.units;return""===t?F.NONE:t}return F.NONE}}class Ct extends Ht{constructor(t,s){super();const r=t.match(d.HSL).groups,{h_legacy:a,s_legacy:i,l_legacy:n,a_legacy:c,h:o,s:h,l:l,a:u,from:A,relative_h:m,relative_s:b,relative_l:g,relative_a:H}=r;if(A){const t=s(A),r=tt(t.R,t.G,t.B,t.A),a={h:r.H,s:r.S,l:r.L,alpha:r.A},i=new mt("h",m,a).result,n=new mt("s",b,a).result,c=new mt("l",g,a).result,o=Z(W(i,0,360),W(n,0,e),W(c,0,e));if(H){const t=new mt("alpha",H,a).result;o.A=W(t,0,1)}this._rgb=o}else{this._h=a??o,this._s=i??h,this._l=n??l,this._a=c??u;const t=Z($(this._h),G(this._s),G(this._l));void 0!==this._a&&(t.A=X(this._a)),this._rgb=t}}static test(t){return d.HSL.test(t)}}class Lt extends Ht{constructor(t,s){super();const r=t.match(d.HWB).groups,{h:a,w:i,b:n,a:c,from:o,relative_h:h,relative_w:l,relative_b:u,relative_a:A}=r;if(o){const t=s(o),r=ct(t.R,t.G,t.B,t.A),a={h:r.H,w:r.W,b:r.B,alpha:r.A},i=new mt("h",h,a).result,n=new mt("w",l,a).result,c=new mt("b",u,a).result,d=ot(W(i,0,360),W(n,0,e),W(c,0,e));if(A){const t=new mt("alpha",A,a).result;d.A=W(t,0,1)}this._rgb=d}else{this._h=a,this._w=i,this._b=n,this._a=c;const t=ot($(this._h),G(this._w),G(this._b));void 0!==this._a&&(t.A=X(this._a)),this._rgb=t}}static test(t){return d.HWB.test(t)}}class Bt extends bt{constructor(t,r){super();const a=t.match(d.CIELab).groups,{L:i,a:n,b:c,A:o,from:h,relative_L:l,relative_a:u,relative_b:A,relative_A:m}=a;if(h){const t=r(h),a=et(t.R,t.G,t.B),i={l:a.L,a:a.a,b:a.b,alpha:t.A??1},n=new mt("l",l,i).result,c=new mt("a",u,i).result,o=new mt("b",A,i).result,d=st(W(n,0,e),W(c,-125,s),W(o,-125,s));if(m){const t=new mt("alpha",m,i).result;d.A=W(t,0,1)}this._rgb=d}else{this._L=i,this._A=n,this._B=c,this._a=o;const t=st(G(this._L),P(this._A),P(this._B));void 0!==this._a&&(t.A=X(this._a)),this._rgb=t}}get hasPercentageValues(){return b.test(this._L)&&b.test(this._A)&&b.test(this._B)}static test(t){return d.CIELab.test(t)}}class Et extends Ht{constructor(t,s){super();const a=t.match(d.LCH).groups,{l:i,c:n,h:c,a:o,from:h,relative_l:l,relative_c:u,relative_h:A,relative_a:m}=a;if(h){const t=s(h),a=it(t.R,t.G,t.B),i={l:a.L,c:a.C,h:a.H,alpha:t.A??1},n=new mt("l",l,i).result,c=new mt("c",u,i).result,o=new mt("h",A,i).result,d=nt(W(n,0,e),W(c,-150,r),$(o));if(m){const t=new mt("alpha",m,i).result;d.A=W(t,0,1)}this._rgb=d}else{this._l=i,this._c=n,this._h=c,this._a=o;const t=nt(G(this._l),x(this._c),$(this._h));void 0!==this._a&&(t.A=X(this._a)),this._rgb=t}}get hasPercentageValues(){return b.test(this._l)&&b.test(this._c)}static test(t){return d.LCH.test(t)}}class pt extends bt{constructor(t){super();const e=t.match(d.CMYK).groups;this._c=e.c_legacy??e.c,this._m=e.m_legacy??e.m,this._y=e.y_legacy??e.y,this._k=e.k_legacy??e.k,this._a=e.a_legacy??e.a;const s=ht(O(this._c),O(this._m),O(this._y),O(this._k));void 0!==this._a&&(s.A=X(this._a)),this._rgb=s}get hasPercentageValues(){return b.test(this._c)&&b.test(this._m)&&b.test(this._y)&&b.test(this._k)}static test(t){return d.CMYK.test(t)}}const Ft=e=>"string"==typeof e?(t=>{let e;if(Object.keys(a).some((s=>{if(d[s].test(t))return e=s,!0})),!e&&~o.indexOf(t)&&(e=a.HEX),!e)throw new Error(B);return e})(e):(e=>{let s,r=!1;const i=D(Object.keys(e));if(l[i]&&(s=l[i]),s&&s===a.RGB){const i=Object.entries(e).some((t=>!g.test(`${t[1]}`))),n=Object.entries(e).some((e=>!(b.test(`${e[1]}`)||!g.test(`${e[1]}`)&&!isNaN(+e[1])&&+e[1]<=t)));i&&n&&(r=!0),i||(s=a.HEX)}if(!s||r)throw new Error(E);return s})(e),Rt={[a.HEX](t){const e=~o.indexOf(t)?c[t]:t;return new At(e).rgb},[a.RGB]:t=>new gt(t,Mt).rgb,[a.HSL]:t=>new Ct(t,Mt).rgb,[a.HWB]:t=>new Lt(t,Mt).rgb,[a.CIELab]:t=>new Bt(t,Mt).rgb,[a.LCH]:t=>new Et(t,Mt).rgb,[a.CMYK]:t=>new pt(t).rgb},_t={[a.HEX](t){const e={R:w(`${t.R}`),G:w(`${t.G}`),B:w(`${t.B}`)};return f(t,"A")&&(e.A=Math.min(w(`${t.A}`,!0),1)),e},[a.RGB](t){return this.HEX(t)},[a.HSL](t){const e=G(`${t.S}`),s=G(`${t.L}`),r=Z($(t.H),e,s);return f(t,"A")&&(r.A=X(t.A)),r},[a.HWB](t){const e=G(`${t.W}`),s=G(`${t.B}`),r=ot($(t.H),e,s);return f(t,"A")&&(r.A=X(t.A)),r},[a.CIELab](t){const e=G(`${t.L}`),s=P(`${t.a}`),r=P(`${t.b}`),a=st(e,s,r);return f(t,"A")&&(a.A=X(t.A)),a},[a.LCH](t){const e=G(`${t.L}`),s=x(`${t.C}`),r=$(`${t.H}`),a=nt(e,s,r);return f(t,"A")&&(a.A=X(t.A)),a},[a.CMYK](t){const e=O(`${t.C}`),s=O(`${t.M}`),r=O(`${t.Y}`),a=O(`${t.K}`),i=ht(e,s,r,a);return f(t,"A")&&(i.A=X(t.A)),i}},Mt=(t,e=Ft(t))=>"string"==typeof t?Rt[e](t):_t[e](t),ft=(t,...e)=>{const s=[],r=[],a=[],i=[],n=[],c=[],o=[],h=Object.values(F),l=Object.values(R),d=Object.values(_),A={legacyCSS:0,spacesAfterCommas:0,cmykFunction:0};for(const t of e)if("string"==typeof t){if(s.push(t),t.includes(",")){A.legacyCSS++;const e=t.match(C);1===new Set(e).size&&L.test(e[0].slice(1))&&A.spacesAfterCommas++}if(Ct.test(t)){const e=new Ct(t,Mt);r.push(e.angleUnit),o.push(e.hasPercentageAlpha);continue}if(Lt.test(t)){const e=new Lt(t,Mt);r.push(e.angleUnit),o.push(e.hasPercentageAlpha);continue}if(gt.test(t)){const e=new gt(t,Mt);a.push(e.hasPercentageValues),o.push(e.hasPercentageAlpha);continue}if(Bt.test(t)){const e=new Bt(t,Mt);i.push(e.hasPercentageValues),o.push(e.hasPercentageAlpha);continue}if(Et.test(t)){const e=new Et(t,Mt);r.push(e.angleUnit),n.push(e.hasPercentageValues),o.push(e.hasPercentageAlpha);continue}if(pt.test(t)){const e=new pt(t);c.push(e.hasPercentageValues),t.startsWith("cmyk")&&A.cmykFunction++,o.push(e.hasPercentageAlpha)}}return{decimals:typeof t.decimals===u.NUMBER?t.decimals:M.decimals,legacyCSS:typeof t.legacyCSS===u.BOOLEAN?t.legacyCSS:Boolean(s.length&&A.legacyCSS===s.length)||M.legacyCSS,spacesAfterCommas:typeof t.spacesAfterCommas===u.BOOLEAN?t.spacesAfterCommas:Boolean(s.length&&A.spacesAfterCommas===s.length)||M.spacesAfterCommas,anglesUnit:t.anglesUnit&&h.includes(t.anglesUnit)?t.anglesUnit:1===new Set(r).size?r[0]:M.anglesUnit,rgbUnit:t.rgbUnit&&l.includes(t.rgbUnit)?t.rgbUnit:1===new Set(a).size&&a[0]?R.PERCENT:M.rgbUnit,labUnit:t.labUnit&&l.includes(t.labUnit)?t.labUnit:1===new Set(i).size&&i[0]?R.PERCENT:M.labUnit,lchUnit:t.lchUnit&&l.includes(t.lchUnit)?t.lchUnit:1===new Set(n).size&&n[0]?R.PERCENT:M.lchUnit,cmykUnit:t.cmykUnit&&l.includes(t.cmykUnit)?t.cmykUnit:1!==new Set(c).size||c[0]?M.cmykUnit:R.NONE,alphaUnit:t.alphaUnit&&l.includes(t.alphaUnit)?t.alphaUnit:1===new Set(o).size&&o[0]?R.PERCENT:M.alphaUnit,cmykFunction:t.cmykFunction&&d.includes(t.cmykFunction)?t.cmykFunction:c.length&&c.length===A.cmykFunction?_.CMYK:M.cmykFunction}},St=(t,e)=>({H:k(t.H,e),S:k(t.S,e),L:k(t.L,e)}),Gt=t=>t?", ":",",yt=(t,e)=>{const s=D(Object.keys(t));return h[l[s]].reduce(((s,r,a)=>{const i=t[r];return void 0!==i&&s.push(e(i,a)),s}),[])},It=(t,e)=>t.replace(H,((t,s)=>`${e[+s-1]}`)),wt=(t,e,s=!1)=>{const{alphaUnit:r,legacyCSS:a,decimals:i}=e;return r!==R.PERCENT||a&&!s?k(t,i):`${k(100*t,i)}%`},Pt=t=>{const{anglesUnit:e,decimals:s}=t;return(r,a)=>{if(0===a&&e!==F.NONE){return`${k(Y(r,e),s)}${e}`}return 3===a?wt(r,t):k(r,s)}},xt={[a.HEX]:t=>{const e=yt(t,(t=>(t=>{let e=k(t,0).toString(16).toUpperCase();return 1===e.length&&(e=`0${e}`),e})(k(t)))),s=4===e.length?"#{1}{2}{3}{4}":"#{1}{2}{3}";return It(s,e)},[a.RGB]:(e,s)=>{const{decimals:r,legacyCSS:a,spacesAfterCommas:i,rgbUnit:n}=s,c=Gt(i),o=yt(e,((e,a)=>n===R.PERCENT&&a<3?`${((e,s)=>k(e/t*100,s))(e,r)}%`:3===a?wt(e,s):k(e,r))),h=a?4===o.length?`rgba({1}${c}{2}${c}{3}${c}{4})`:`rgb({1}${c}{2}${c}{3})`:4===o.length?"rgb({1} {2} {3} / {4})":"rgb({1} {2} {3})";return It(h,o)},[a.HSL]:(t,e)=>{const{legacyCSS:s,spacesAfterCommas:r}=e,a=Gt(r),i=Pt(e),n=yt(t,i),c=s?4===n.length?`hsla({1}${a}{2}%${a}{3}%${a}{4})`:`hsl({1}${a}{2}%${a}{3}%)`:4===n.length?"hsl({1} {2}% {3}% / {4})":"hsl({1} {2}% {3}%)";return It(c,n)},[a.HWB]:(t,e)=>{const s=Pt(e),r=yt(t,s),a=4===r.length?"hwb({1} {2}% {3}% / {4})":"hwb({1} {2}% {3}%)";return It(a,r)},[a.CIELab]:(t,e)=>{const{decimals:r,labUnit:a}=e,i=yt(t,((t,i)=>{if(0===i){const e=k(G(t),r);return a===R.PERCENT?`${e}%`:`${e}`}return i<3?a===R.PERCENT?`${((t,e)=>k(t/s*100,e))(t,r)}%`:k(t,r):wt(t,e,!0)})),n=4===i.length?"lab({1} {2} {3} / {4})":"lab({1} {2} {3})";return It(n,i)},[a.LCH]:(t,e)=>{const{decimals:s,lchUnit:a,anglesUnit:i}=e,n=yt(t,((t,n)=>{if(0===n){const e=k(G(t),s);return a===R.PERCENT?`${e}%`:`${e}`}if(1===n)return a===R.PERCENT?`${((t,e)=>k(t/r*100,e))(t,s)}%`:k(t,s);if(2===n){if(i!==F.NONE){return`${k(Y(t,i),s)}${i}`}return k(t,s)}return wt(t,e,!0)})),c=4===n.length?"lch({1} {2} {3} / {4})":"lch({1} {2} {3})";return It(c,n)},[a.CMYK]:(t,e)=>{const{decimals:s,legacyCSS:r,spacesAfterCommas:a,cmykUnit:i,cmykFunction:n}=e,c=Gt(a),o=yt(t,((t,r)=>i===R.PERCENT&&r<4?`${k(t,s)}%`:4===r?wt(t,e):k(t/100,s))),h=r?5===o.length?`${n}({1}${c}{2}${c}{3}${c}{4}${c}{5})`:`${n}({1}${c}{2}${c}{3}${c}{4})`:5===o.length?`${n}({1} {2} {3} {4} / {5})`:`${n}({1} {2} {3} {4})`;return It(h,o)}},Ot=(t,e,s)=>e.reduce(((e,r)=>[...e,{...t,H:s===exports.Mix.ADDITIVE?$(t.H+r):$(ut(ut(t.H,!1)+r,!0))}]),[{...t}]),Dt=(t,e)=>Ot(t,[30,-30],e),kt=(t,e)=>Ot(t,[180],e),Wt=(t,e)=>Ot(t,[150,-150],e),jt=(t,e)=>Ot(t,[120,-120],e),vt=(t,e)=>Ot(t,[60,-120,180],e),Nt=(t,e)=>Ot(t,[90,-90,180],e),$t={[a.HEX]:t=>({R:I(t.R),G:I(t.G),B:I(t.B)}),HEXA(e){const s=$t.HEX(e);return s.A=f(e,"A")?I(e.A*t):"0xFF",s},[a.RGB](t,e){const s=Tt(t,e);return f(s,"A")&&delete s.A,s},RGBA(t,e){const s=$t.RGB(t,e);return s.A=f(t,"A")?k(t.A):1,s},[a.HSL](t,e){const s=tt(t.R,t.G,t.B);return delete s.A,St(s,e)},HSLA(t,e){const s=$t.HSL(t,e);return s.A=f(t,"A")?k(t.A,e):1,s},[a.HWB](t,e){const s=ct(t.R,t.G,t.B);return delete s.A,((t,e)=>({H:k(t.H,e),W:k(t.W,e),B:k(t.B,e)}))(s,e)},HWBA(t,e){const s=$t.HWB(t,e);return s.A=f(t,"A")?k(t.A,e):1,s},[a.CIELab]:(t,e)=>((t,e)=>({L:k(t.L,e),a:k(t.a,e),b:k(t.b,e)}))(et(t.R,t.G,t.B),e),CIELabA(t,e){const s=$t.CIELab(t,e);return s.A=f(t,"A")?k(t.A,e):1,s},[a.LCH]:(t,e)=>((t,e)=>({L:k(t.L,e),C:k(t.C,e),H:k(t.H,e)}))(it(t.R,t.G,t.B),e),LCHA(t,e){const s=$t.LCH(t,e);return s.A=f(t,"A")?k(t.A,e):1,s},[a.CMYK]:(t,e)=>((t,e)=>({C:k(t.C,e),M:k(t.M,e),Y:k(t.Y,e),K:k(t.K,e)}))(lt(t.R,t.G,t.B),e),CMYKA(t,e){const s=$t.CMYK(t,e);return s.A=f(t,"A")?k(t.A,e):1,s}},Xt=(e,s,r,i)=>{const n=Ft(e),c="string"==typeof e,o=Mt(e,n),h="string"==typeof e&&f(o,"A")||"string"!=typeof e&&f(e,"A"),l=tt(o.R,o.G,o.B,o.A);h||delete l.A;const u=r?l.L/(s+1):(100-l.L)/(s+1),d=Array(s).fill(null).map(((t,e)=>({...l,L:l.L+u*(e+1)*(1-2*+r)})));switch(n){case a.HEX:default:return d.map((e=>{const s=Z(e.H,e.S,e.L);return h&&(s.A=e.A),c?h?xt.HEX({...s,A:k(s.A*t)}):xt.HEX(s):h?$t.HEXA(s):$t.HEX(s)}));case a.RGB:return d.map((t=>{const e=Z(t.H,t.S,t.L);return h&&(e.A=t.A),c?xt.RGB(e,i):h?$t.RGBA(e,i.decimals):$t.RGB(e,i.decimals)}));case a.HSL:return d.map((t=>c?xt.HSL(t,i):h?$t.HSLA({...Z(t.H,t.S,t.L),A:t.A},i.decimals):$t.HSL(Z(t.H,t.S,t.L),i.decimals)));case a.HWB:return d.map((t=>{const e=Z(t.H,t.S,t.L);h&&(e.A=t.A);const s=h?$t.HWBA(e,i.decimals):$t.HWB(e,i.decimals);return c?xt.HWB(s,i):s}));case a.CIELab:return d.map((t=>{const e=Z(t.H,t.S,t.L);h&&(e.A=t.A);const s=h?$t.CIELabA(e,i.decimals):$t.CIELab(e,i.decimals);return c?xt.CIELab(s,i):s}));case a.LCH:return d.map((t=>{const e=Z(t.H,t.S,t.L),s=it(e.R,e.G,e.B);return h&&(s.A=t.A),c?xt.LCH(s,i):h?$t.LCHA({...e,A:t.A},i.decimals):$t.LCH(e,i.decimals)}))}},Yt={buildHarmony(t,e,s,r){const i=Ft(t),n=Mt(t,i),c=tt(n.R,n.G,n.B,n.A),o="string"==typeof t&&f(n,"A")||"string"!=typeof t&&f(t,"A"),h="string"==typeof t;switch(i){case a.HEX:default:return o?this.HEXA(St(c,0),e,s,h):this.HEX(St(c,0),e,s,h);case a.HSL:return o?this.HSLA(c,e,s,h,r):this.HSL(c,e,s,h,r);case a.HWB:return o?this.HWBA(c,e,s,h,r):this.HWB(c,e,s,h,r);case a.RGB:return o?this.RGBA(c,e,s,h,r):this.RGB(c,e,s,h,r);case a.CIELab:return o?this.CIELabA(c,e,s,h,r):this.CIELab(c,e,s,h,r);case a.LCH:return o?this.LCHA(c,e,s,h,r):this.LCH(c,e,s,h,r)}},[a.HEX]:(t,e,s,r)=>e(t,s).map((t=>r?xt.HEX(Z(t.H,t.S,t.L)):$t.HEX(Z(t.H,t.S,t.L)))),HEXA:(e,s,r,a)=>s(e,r).map((e=>a?xt.HEX({...Z(e.H,e.S,e.L),A:X(e.A)*t}):$t.HEXA({...Z(e.H,e.S,e.L),A:X(e.A)}))),[a.RGB]:(t,e,s,r,a)=>e(t,s).map((t=>r?xt.RGB(Z(t.H,t.S,t.L),a):$t.RGB(Z(t.H,t.S,t.L),a.decimals))),RGBA:(t,e,s,r,a)=>e(t,s).map((t=>r?xt.RGB({...Z(t.H,t.S,t.L),A:X(t.A)},a):$t.RGBA({...Z(t.H,t.S,t.L),A:X(t.A)},a.decimals))),[a.HSL]:(t,e,s,r,a)=>e(t,s).map((t=>r?xt.HSL({H:t.H,S:t.S,L:t.L},a):$t.HSL(Z(t.H,t.S,t.L),a.decimals))),HSLA:(t,e,s,r,a)=>e(t,s).map((t=>r?xt.HSL({...t,A:X(t.A)},a):$t.HSLA({...Z(t.H,t.S,t.L),A:X(t.A)},a.decimals))),[a.HWB]:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L),s=ct(e.R,e.G,e.B);return r?xt.HWB({H:s.H,W:s.W,B:s.B},a):$t.HWB(e,a.decimals)})),HWBA:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L),s=ct(e.R,e.G,e.B);return r?xt.HWB({...s,A:X(t.A)},a):$t.HWBA({...e,A:X(t.A)},a.decimals)})),[a.CIELab]:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L);return r?xt.CIELab(et(e.R,e.G,e.B),a):$t.CIELab(e,a.decimals)})),CIELabA:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L);return r?xt.CIELab({...et(e.R,e.G,e.B),A:X(t.A)},a):$t.CIELabA({...e,A:X(t.A)},a.decimals)})),[a.LCH]:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L);return r?xt.LCH(it(e.R,e.G,e.B),a):$t.LCH(e,a.decimals)})),LCHA:(t,e,s,r,a)=>e(t,s).map((t=>{const e=Z(t.H,t.S,t.L);return r?xt.LCH({...it(e.R,e.G,e.B),A:X(t.A)},a):$t.LCHA({...e,A:X(t.A)},a.decimals)}))},Ut={mix(e,s){const r=e.map((t=>{const e=Ft(t);return Mt(t,e)})),a=s===exports.Mix.SUBTRACTIVE?r.map((e=>{const s=((e,s,r)=>{const a=Math.min(e,s,r),i=Math.min(t-e,t-s,t-r),n=e-a,c=s-a,o=r-a,h=Math.min(n,c),l=n-h,u=(c+h)/2,d=(o+c-h)/2,A=Math.max(l,u,d)/Math.max(n,c,o),m=isNaN(A)||A===1/0||A<=0?1:A;return{R:l/m+i,Y:u/m+i,B:d/m+i}})(e.R,e.G,e.B);return f(e,"A")&&(s.A=e.A),s})):null;function i(e){const r=s===exports.Mix.ADDITIVE?{R:0,G:0,B:0,A:0}:{R:0,Y:0,B:0,A:0};return e.reduce(((e,r)=>{const a=f(r,"A")?r.A:1,i={R:Math.min(e.R+r.R*a,t),B:Math.min(e.B+r.B*a,t),A:1-(1-a)*(1-e.A)},n="G"in e?e.G:e.Y,c="G"in r?r.G:r.Y;return{...i,...s===exports.Mix.ADDITIVE?{G:Math.min(n+c*a,t)}:{Y:Math.min(n+c*a,t)}}}),r)}let n;if(s===exports.Mix.ADDITIVE)n=i(r);else{const e=i(a);n=((e,s,r)=>{const a=Math.min(e,s,r),i=Math.min(t-e,t-s,t-r),n=e-a,c=s-a,o=r-a,h=Math.min(c,o),l=n+c-h,u=c+h,d=2*(o-h),A=Math.max(l,u,d)/Math.max(n,c,o),m=isNaN(A)||A===1/0||A<=0?1:A;return{R:l/m+i,G:u/m+i,B:d/m+i}})(e.R,e.Y,e.B),n.A=e.A}return{R:k(n.R),G:k(n.G),B:k(n.B),A:W(n.A,0,1)}},[a.HEX](t,e,s){const r=this.mix(t,e);return delete r.A,s?xt.HEX(r):$t.HEX(r)},HEXA(e,s,r){const a=this.mix(e,s);return a.A=r?X(a.A)*t:X(a.A),r?xt.HEX(a):$t.HEXA(a)},[a.RGB](t,e,s,r){const a=this.mix(t,e);return delete a.A,s?xt.RGB(a,r):$t.RGB(a,r.decimals)},RGBA(t,e,s,r){const a=this.mix(t,e);return s?xt.RGB(a,r):$t.RGBA(a,r.decimals)},[a.HSL](t,e,s,r){const a=this.mix(t,e),i=tt(a.R,a.G,a.B);return delete a.A,delete i.A,s?xt.HSL(i,r):$t.HSL(a,r.decimals)},HSLA(t,e,s,r){const a=this.mix(t,e),i=tt(a.R,a.G,a.B,a.A);return s?xt.HSL(i,r):$t.HSLA(a,r.decimals)},[a.HWB](t,e,s,r){const a=this.mix(t,e),i=ct(a.R,a.G,a.B);return delete a.A,delete i.A,s?xt.HWB(i,r):$t.HWB(a,r.decimals)},HWBA(t,e,s,r){const a=this.mix(t,e),i=ct(a.R,a.G,a.B,a.A);return s?xt.HWB(i,r):$t.HWBA(a,r.decimals)},[a.CIELab](t,e,s,r){const a=this.mix(t,e),i=et(a.R,a.G,a.B);return delete a.A,s?xt.CIELab(i,r):$t.CIELab(a,r.decimals)},CIELabA(t,e,s,r){const a=this.mix(t,e),i=et(a.R,a.G,a.B);return f(a,"A")&&(i.A=a.A),s?xt.CIELab(i,r):$t.CIELabA(a,r.decimals)},[a.LCH](t,e,s,r){const a=this.mix(t,e),i=it(a.R,a.G,a.B);return delete a.A,s?xt.LCH(i,r):$t.LCH(a,r.decimals)},LCHA(t,e,s,r){const a=this.mix(t,e),i=it(a.R,a.G,a.B);return f(a,"A")&&(i.A=a.A),s?xt.LCH(i,r):$t.LCHA(a,r.decimals)}},Tt=(t,e)=>({R:k(t.R,e),G:k(t.G,e),B:k(t.B,e),...f(t,"A")?{A:k(t.A,e)}:{}}),Kt=(t,e,s,r)=>r(Mt(t,e),s),Vt=(t,e,s,r,a)=>{s<1&&(s=5);const i=((t,e,s)=>{const r=s-1,a=(e.R-t.R)/r,i=(e.G-t.G)/r,n=(e.B-t.B)/r,c=X(t.A),o=(X(e.A)-c)/r;return Array(s).fill(null).map(((s,h)=>0===h?t:h===r?e:{R:k(t.R+a*h),G:k(t.G+i*h),B:k(t.B+n*h),A:k(c+o*h)}))})(Mt(t),Mt(e),s);return i.map((t=>a(t,r)))};function qt(t){const{from:e,to:s,thirdParameter:r,fourthParameter:a,translateFunction:i,cssFunction:n}=t,c="number"==typeof r?Vt(e,s,r,a?.decimals,i):Vt(e,s,5,r?.decimals,i);return n?c.map((t=>n(t,ft(("number"==typeof r?a:r)??{},e,s)))):c}function zt(t){const{colors:e,secondParameter:s,thirdParameter:r,colorMixerFunction:a,css:i}=t,n=ft(("string"==typeof s?r:s)??{},...e);return a(e,"string"==typeof s?s:exports.Mix.ADDITIVE,i,n)}const Qt=(t,e,s,r)=>({[exports.Harmony.ANALOGOUS]:Yt.buildHarmony(e,Dt,s,r),[exports.Harmony.COMPLEMENTARY]:Yt.buildHarmony(e,kt,s,r),[exports.Harmony.SPLIT_COMPLEMENTARY]:Yt.buildHarmony(e,Wt,s,r),[exports.Harmony.TRIADIC]:Yt.buildHarmony(e,jt,s,r),[exports.Harmony.TETRADIC]:Yt.buildHarmony(e,vt,s,r),[exports.Harmony.SQUARE]:Yt.buildHarmony(e,Nt,s,r)}[t]),Jt=Object.fromEntries(Object.entries(Ut).map((t=>{const[e,s]=t;return[e,s.bind(Ut)]})));class Zt{constructor(t,e={}){this._options=ft(e,t),this.rgb=Mt(t),this.update("rgb")}update(...t){t.includes("rgb")||this.updateRGB(),t.includes("hsl")||this.updateHSL(),t.includes("hwb")||this.updateHWB(),t.includes("lab")||this.updateLAB(),t.includes("lch")||this.updateLCH(),t.includes("cmyk")||this.updateCMYK()}updateRGB(){this.rgb={...Z(this.hsl.H,this.hsl.S,this.hsl.L),A:this.hsl.A}}updateHSL(){this.hsl=tt(this.rgb.R,this.rgb.G,this.rgb.B,this.rgb.A)}updateHWB(){this.hwb=ct(this.rgb.R,this.rgb.G,this.rgb.B,this.rgb.A)}updateLAB(){this.lab={...et(this.rgb.R,this.rgb.G,this.rgb.B),A:this.rgb.A}}updateLCH(){this.lch={...it(this.rgb.R,this.rgb.G,this.rgb.B),A:this.rgb.A}}updateCMYK(){this.cmyk=lt(this.rgb.R,this.rgb.G,this.rgb.B)}updateRGBFromHWB(){this.rgb={...ot(this.hwb.H,this.hwb.W,this.hwb.B),A:this.rgb.A}}updateRGBFromLCH(){this.rgb={...nt(this.lch.L,this.lch.C,this.lch.H),A:this.rgb.A}}updateRGBFromCMYK(){this.rgb={...ht(this.cmyk.C,this.cmyk.M,this.cmyk.Y,this.cmyk.K),A:this.rgb.A}}updateRGBFromLAB(){this.rgb={...st(this.lab.L,this.lab.a,this.lab.b),A:this.rgb.A}}updateLCHFromLAB(){this.lch={...rt(this.lab.L,this.lab.a,this.lab.b),A:this.lab.A}}updateLABromLCH(){this.lab={...at(this.lch.L,this.lch.C,this.lch.H),A:this.lch.A}}setOptions(t={}){return this._options={...this._options,...t},this}setR(e){this.rgb.R=W(e,0,t),this.update("rgb")}setG(e){return this.rgb.G=W(e,0,t),this.update("rgb"),this}setB(e){return this.rgb.B=W(e,0,t),this.update("rgb"),this}setH(t){return this.hsl.H=$(t),this.update("hsl"),this}setS(t){return this.hsl.S=W(t,0,e),this.update("hsl"),this}setL(t){return this.hsl.L=W(t,0,e),this.update("hsl"),this}setWhiteness(t){return this.hwb.W=W(t,0,e),this.updateRGBFromHWB(),this.update("rgb","hwb"),this}setBlackness(t){return this.hwb.B=W(t,0,e),this.updateRGBFromHWB(),this.update("rgb","hwb"),this}setCIEL(t){return this.lab.L=W(t,0,e),this.updateRGBFromLAB(),this.updateLCHFromLAB(),this.update("rgb","lab","lch"),this}setCIEa(t){return this.lab.a=W(t,-125,s),this.updateRGBFromLAB(),this.updateLCHFromLAB(),this.update("rgb","lab","lch"),this}setCIEb(t){return this.lab.b=W(t,-125,s),this.updateRGBFromLAB(),this.updateLCHFromLAB(),this.update("rgb","lab","lch"),this}setLCHL(t){return this.lch.L=W(t,0,e),this.updateRGBFromLCH(),this.updateLABromLCH(),this.update("rgb","lab","lch"),this}setLCHC(t){return this.lch.C=W(t,0,r),this.updateRGBFromLCH(),this.updateLABromLCH(),this.update("rgb","lab","lch"),this}setLCHH(t){return this.lch.H=$(t),this.updateRGBFromLCH(),this.updateLABromLCH(),this.update("rgb","lab","lch"),this}setA(t){const e=W(t,0,1);return this.rgb.A=e,this.hsl.A=e,this.hwb.A=e,this.lab.A=e,this.lch.A=e,this.cmyk.A=e,this}setC(t){return this.cmyk.C=W(t,0,100),this.updateRGBFromCMYK(),this.update("cmyk"),this}setM(t){return this.cmyk.M=W(t,0,100),this.updateRGBFromCMYK(),this.update("cmyk"),this}setY(t){return this.cmyk.Y=W(t,0,100),this.updateRGBFromCMYK(),this.update("cmyk"),this}setK(t){return this.cmyk.K=W(t,0,100),this.updateRGBFromCMYK(),this.update("cmyk"),this}get options(){return this._options}get R(){return k(this.rgb.R,this.options.decimals)}get G(){return k(this.rgb.G,this.options.decimals)}get B(){return k(this.rgb.B,this.options.decimals)}get H(){return k(this.hsl.H,this.options.decimals)}get S(){return k(this.hsl.S,this.options.decimals)}get L(){return k(this.hsl.L,this.options.decimals)}get Whiteness(){return k(this.hwb.W,this.options.decimals)}get Blackness(){return k(this.hwb.B,this.options.decimals)}get CIEL(){return k(this.lab.L,this.options.decimals)}get CIEa(){return k(this.lab.a,this.options.decimals)}get CIEb(){return k(this.lab.b,this.options.decimals)}get LCHL(){return k(this.lch.L,this.options.decimals)}get LCHC(){return k(this.lch.C,this.options.decimals)}get LCHH(){return k(this.lch.H,this.options.decimals)}get A(){return k(this.hsl.A,this.options.decimals)}get C(){return k(this.cmyk.C,this.options.decimals)}get M(){return k(this.cmyk.M,this.options.decimals)}get Y(){return k(this.cmyk.Y,this.options.decimals)}get K(){return k(this.cmyk.K,this.options.decimals)}get HEXObject(){return $t.HEX(this.rgb)}get HEXAObject(){return $t.HEXA(this.rgb)}get RGBObject(){return{R:this.R,G:this.G,B:this.B}}get RGBAObject(){return{...this.RGBObject,A:this.A}}get HSLObject(){return{H:this.H,S:this.S,L:this.L}}get HSLAObject(){return{...this.HSLObject,A:this.A}}get HWBObject(){return{H:this.H,W:this.Whiteness,B:this.Blackness}}get HWBAObject(){return{...this.HWBObject,A:this.A}}get CIELabObject(){return{L:this.CIEL,a:this.CIEa,b:this.CIEb}}get CIELabAObject(){return{...this.CIELabObject,A:this.A}}get LCHObject(){return{L:this.LCHL,C:this.LCHC,H:this.LCHH}}get LCHAObject(){return{...this.LCHObject,A:this.A}}get CMYKObject(){return{C:this.C,M:this.M,Y:this.Y,K:this.K}}get CMYKAObject(){return{...this.CMYKObject,A:this.A}}get HEX(){return xt.HEX({R:this.R,G:this.G,B:this.B})}get HEXA(){return xt.HEX({R:this.R,G:this.G,B:this.B,A:this.A*t})}get RGB(){return xt.RGB({R:this.R,G:this.G,B:this.B},this.options)}get RGBA(){return xt.RGB({R:this.R,G:this.G,B:this.B,A:this.A},this.options)}get HSL(){return xt.HSL({H:this.H,S:this.S,L:this.L},this.options)}get HSLA(){return xt.HSL({H:this.H,S:this.S,L:this.L,A:this.A},this.options)}get HWB(){return xt.HWB({H:this.H,W:this.Whiteness,B:this.Blackness},this.options)}get HWBA(){return xt.HWB({H:this.H,W:this.Whiteness,B:this.Blackness,A:this.A},this.options)}get CIELab(){return xt.CIELab({L:this.CIEL,a:this.CIEa,b:this.CIEb},this.options)}get CIELabA(){return xt.CIELab({L:this.CIEL,a:this.CIEa,b:this.CIEb,A:this.A},this.options)}get LCH(){return xt.LCH({L:this.LCHL,C:this.LCHC,H:this.LCHH},this.options)}get LCHA(){return xt.LCH({L:this.LCHL,C:this.LCHC,H:this.LCHH,A:this.A},this.options)}get CMYK(){return xt.CMYK({C:this.C,M:this.M,Y:this.Y,K:this.K},this.options)}get CMYKA(){return xt.CMYK({C:this.C,M:this.M,Y:this.Y,K:this.K,A:this.A},this.options)}static toHEXObject(t){const e=Ft(t);return Kt(t,e,0,$t.HEX)}static toHEX(t){return xt.HEX(Zt.toHEXObject(t))}static toHEXAObject(t){const e=Ft(t);return Kt(t,e,0,$t.HEXA)}static toHEXA(t){return xt.HEX(Zt.toHEXAObject(t))}static toRGBObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.RGB)}static toRGB(t,e={}){const s=Zt.toRGBObject(t,e),r=ft(e,t);return xt.RGB(s,r)}static toRGBAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.RGBA)}static toRGBA(t,e={}){const s=Zt.toRGBAObject(t,e),r=ft(e,t);return xt.RGB(s,r)}static toHSLObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.HSL)}static toHSL(t,e={}){const s=Zt.toHSLObject(t,e),r=ft(e,t);return xt.HSL(s,r)}static toHSLAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.HSLA)}static toHSLA(t,e={}){const s=Zt.toHSLAObject(t,e),r=ft(e,t);return xt.HSL(s,r)}static toHWBObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.HWB)}static toHWB(t,e={}){const s=Zt.toHWBObject(t,e),r=ft(e,t);return xt.HWB(s,r)}static toHWBAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.HWBA)}static toHWBA(t,e={}){const s=Zt.toHWBAObject(t,e),r=ft(e,t);return xt.HWB(s,r)}static toCIELabObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.CIELab)}static toCIELab(t,e={}){const s=Zt.toCIELabObject(t,e),r=ft(e,t);return xt.CIELab(s,r)}static toCIELabAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.CIELabA)}static toCIELabA(t,e={}){const s=Zt.toCIELabAObject(t,e),r=ft(e,t);return xt.CIELab(s,r)}static toLCHObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.LCH)}static toLCH(t,e={}){const s=Zt.toLCHObject(t,e),r=ft(e,t);return xt.LCH(s,r)}static toLCHAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.LCHA)}static toLCHA(t,e={}){const s=Zt.toLCHAObject(t,e),r=ft(e,t);return xt.LCH(s,r)}static toCMYKObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.CMYK)}static toCMYK(t,e={}){const s=Zt.toCMYKObject(t,e),r=ft(e,t);return xt.CMYK(s,r)}static toCMYKAObject(t,e={}){const s=Ft(t);return Kt(t,s,e.decimals,$t.CMYKA)}static toCMYKA(t,e={}){const s=Zt.toCMYKAObject(t,e),r=ft(e,t);return xt.CMYK(s,r)}static getBlendHEXObject(t,e,s=5){return Vt(t,e,s,0,$t.HEX)}static getBlendHEX(t,e,s=5){return Zt.getBlendHEXObject(t,e,s).map((t=>xt.HEX(t)))}static getBlendHEXAObject(t,e,s=5){return Vt(t,e,s,0,$t.HEXA)}static getBlendHEXA(t,e,s=5){return Zt.getBlendHEXAObject(t,e,s).map((t=>xt.HEX(t)))}static getBlendRGBObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.RGB})}static getBlendRGB(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.RGB,cssFunction:xt.RGB})}static getBlendRGBAObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.RGBA})}static getBlendRGBA(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.RGBA,cssFunction:xt.RGB})}static getBlendHSLObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HSL})}static getBlendHSL(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HSL,cssFunction:xt.HSL})}static getBlendHSLAObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HSLA})}static getBlendHSLA(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HSLA,cssFunction:xt.HSL})}static getBlendHWBObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HWB})}static getBlendHWB(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HWB,cssFunction:xt.HWB})}static getBlendHWBAObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HWBA})}static getBlendHWBA(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.HWBA,cssFunction:xt.HWB})}static getBlendCIELabObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.CIELab})}static getBlendCIELab(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.CIELab,cssFunction:xt.CIELab})}static getBlendCIELabAObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.CIELabA})}static getBlendCIELabA(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.CIELabA,cssFunction:xt.CIELab})}static getBlendLCHObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.LCH})}static getBlendLCH(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.LCH,cssFunction:xt.LCH})}static getBlendLCHAObject(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.LCHA})}static getBlendLCHA(t,e,s,r){return qt({from:t,to:e,thirdParameter:s,fourthParameter:r,translateFunction:$t.LCHA,cssFunction:xt.LCH})}static getMixHEXObject(t,e=exports.Mix.ADDITIVE){return Ut.HEX(t,e,!1)}static getMixHEX(t,e=exports.Mix.ADDITIVE){return Ut.HEX(t,e,!0)}static getMixHEXAObject(t,e=exports.Mix.ADDITIVE){return Ut.HEXA(t,e,!1)}static getMixHEXA(t,e=exports.Mix.ADDITIVE){return Ut.HEXA(t,e,!0)}static getMixRGBObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.RGB,css:!1})}static getMixRGB(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.RGB,css:!0})}static getMixRGBAObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.RGBA,css:!1})}static getMixRGBA(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.RGBA,css:!0})}static getMixHSLObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HSL,css:!1})}static getMixHSL(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HSL,css:!0})}static getMixHSLAObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HSLA,css:!1})}static getMixHSLA(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HSLA,css:!0})}static getMixHWBObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HWB,css:!1})}static getMixHWB(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HWB,css:!0})}static getMixHWBAObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HWBA,css:!1})}static getMixHWBA(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.HWBA,css:!0})}static getMixCIELabObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.CIELab,css:!1})}static getMixCIELab(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.CIELab,css:!0})}static getMixCIELabAObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.CIELabA,css:!1})}static getMixCIELabA(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.CIELabA,css:!0})}static getMixLCHObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.LCH,css:!1})}static getMixLCH(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.LCH,css:!0})}static getMixLCHAObject(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.LCHA,css:!1})}static getMixLCHA(t,e,s){return zt({colors:t,secondParameter:e,thirdParameter:s,colorMixerFunction:Jt.LCHA,css:!0})}static getShades(t,e,s){return"number"==typeof e?Xt(t,e,!0,ft(s||{},t)):Xt(t,5,!0,ft(e||{},t))}static getTints(t,e,s){return"number"==typeof e?Xt(t,e,!1,ft(s||{},t)):Xt(t,5,!1,ft(e||{},t))}static getHarmony(t,e,s,r){return`${e}`in exports.Harmony?Qt(e,t,U(s)?s:exports.Mix.ADDITIVE,ft(U(s)?r||{}:s||{},t)):U(e)?Qt(exports.Harmony.COMPLEMENTARY,t,e,ft(s||{},t)):Qt(exports.Harmony.COMPLEMENTARY,t,exports.Mix.ADDITIVE,ft(e||{},t))}}exports.ColorTranslator=Zt;