ixfx
Version:
Bundle of ixfx libraries
1 lines • 86.9 kB
JavaScript
import{n as e}from"./chunk-BKBlUVio.js";import{H as t,Wt as n}from"./src-DlHqXvlb.js";import{C as r,M as i,O as a,S as o,p as s,w as c}from"./src-CrVWx2VD.js";import{v as l}from"./src-BGZztchK.js";import{f as u,i as d,u as f}from"./src-ZyALqz2x.js";import{n as p}from"./src-CIW3LrR8.js";import{A as ee,P as m,V as te,b as ne,g as re,p as ie,rt as h,y as ae}from"./src-CWZAMrn_.js";import{C as g,G as oe,W as _}from"./src-wu7Ls46R.js";import{At as se,B as v,D as y,E as ce,Ft as le,H as ue,I as de,It as fe,Kt as pe,Mt as me,Nt as he,Pt as ge,U as _e,Ut as ve,Wt as ye,Xt as be,Yt as xe,_ as Se,g as Ce,h as we,i as Te,j as Ee,jt as De,m as Oe,o as ke,qt as Ae,z as je,zt as Me}from"./src-YsNzeaaT.js";import{G as Ne}from"./src-B8K2o5HY.js";var Pe=Object.defineProperty,Fe=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ie=(e,t)=>{for(var n in t)Pe(e,n,{get:t[n],enumerable:!0})},Le=(e,t,n)=>Fe(e,typeof t==`symbol`?t:t+``,n),b={hsl:[`h`,`s`,`l`],oklab:[`l`,`a`,`b`],oklch:[`l`,`c`,`h`],rgb:[`r`,`g`,`b`]},Re=[`hsl`,`oklab`,`oklch`,`rgb`],ze=Math.PI/180,Be={l:[.3963377773761749,.2158037573099136],m:[-.1055613458156586,-.0638541728258133],s:[-.0894841775298119,-1.2914855480194092]},x={l:[.4122214708,.5363325363,.0514459929],m:[.2119034982,.6806995451,.1073969566],s:[.0883024619,.2817188376,.6299787005]},S={l:[.2104542553,.793617785,.0040720468],a:[1.9779984951,2.428592205,.4505937099],b:[.0259040371,.7827717662,.808675766]},C={r:[4.076741636075958,-3.307711539258063,.2309699031821043],g:[-1.2684379732850315,2.609757349287688,-.341319376002657],b:[-.0041960761386756,-.7034186179359362,1.7076146940746117]},Ve=5,He=180/Math.PI,w={alpha:`alpha must be a number between 0 and 1`,alphaAdjustment:`alpha must be a number between -1 and 1`,amount:`amount must be a number between 0 and 100`,colorRequired:`color is required`,degreesRange:`degrees must be a number between -360 and 360`,hueArgs:`point, chroma and h are required`,hueRange:`hue must be a number between 0 and 360`,input:`input is required`,inputHex:`input is required and must be a hex`,inputNumber:`input is required and must be a number`,inputString:`input is required and must be a string`,invalid:`invalid input`,invalidColor:`invalid color`,invalidCSS:`invalid CSS string`,invalidHex:`invalid hex`,invalidKey:`invalid key`,invalidModel:`invalid model`,invalidRange:`color value out of range`,left:`left is required and must be a string`,lightnessRange:`lightness must be a number between 0 and 1`,options:`invalid options`,paletteSize:`palette size must be at least 2`,ratioRange:`ratio must be a number between 0 and 1`,right:`right is required and must be a string`,threshold:`threshold must be a number between 0 and 255`,thresholdNormalized:`threshold must be a number between 0 and 1`};function T(e,t){if(e)return;let n=t?Error(t):Error(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);throw n.name=`colorizr`,n}var Ue={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,grey:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},We=/^#(?:[\da-f]{3,4}|[\da-f]{6,8})$/i;function Ge(e){return Array.isArray(e)&&e.length===6}function E(e){return k(e)?We.test(e):!1}function Ke(e){if(!Xe(e))return!1;let t=Object.entries(e);return!!t.length&&t.every(([e,t])=>e===`h`?t>=0&&t<=360:e===`alpha`?t>=0&&t<=1:b.hsl.includes(e)&&t>=0&&t<=100)}function qe(e){if(!Xe(e))return!1;let t=Object.entries(e);return!!t.length&&t.every(([e,t])=>e===`l`?t>=0&&t<=100:e===`alpha`?t>=0&&t<=1:b.oklab.includes(e)&&t>=-1&&t<=1)}function Je(e){if(!Xe(e))return!1;let t=Object.entries(e);return!!t.length&&t.every(([e,t])=>e===`l`?t>=0&&t<=100:e===`alpha`?t>=0&&t<=1:b.oklch.includes(e)&&t>=0&&t<=(e===`h`?360:1))}function D(e){return k(e)&&Object.keys(Ue).includes(e.toLowerCase())}function O(e){return typeof e==`number`&&!Number.isNaN(e)}function Ye(e,t,n){return O(e)&&e>=t&&e<=n}function Xe(e){if(!e)return!1;let{toString:t}=Object.prototype,n=Object.getPrototypeOf(e);return t.call(e)===`[object Object]`&&(n===null||n===Object.getPrototypeOf({}))}function Ze(e){if(!Xe(e))return!1;let t=Object.entries(e);return!!t.length&&t.every(([e,t])=>e===`alpha`?t>=0&&t<=1:b.rgb.includes(e)&&t>=0&&t<=255)}function k(e,t=!0){let n=typeof e==`string`;return t?n&&!!e.trim().length:n}function Qe(e){return Ke(e)||Ze(e)||qe(e)||Je(e)}function $e(e){T(E(e),w.inputHex);let t=e.replace(`#`,``);if(t.length===3||t.length===4){let e=[...t];t=``,e.forEach(e=>{t+=`${e}${e}`})}let n=`#${t}`;return T(E(n),w.invalidHex),n}function A(e,t){T(Qe(e),w.invalid);let n=t;return n===void 0||(n>1&&(n/=100),n===1)?e:{...e,alpha:n}}function j(e,t=0,n=100){return Math.min(Math.max(e,t),n)}function et(e,t){T(O(e),w.inputNumber);let n=e+t;return n>360&&(n%=360),n<0&&(n+=360),Math.abs(n)}function M(e){if(!Array.isArray(e))return e.alpha}function N(e,t,n){switch(T(O(e),w.inputNumber),T(Re.includes(t),`${w.invalidModel}${t?`: ${t}`:``}`),T(b[t].includes(n),`${w.invalidKey}${n?`: ${n}`:``}`),t){case`hsl`:return T(b.hsl.includes(n),w.invalidKey),[`l`,`s`].includes(n)?j(e):j(e,0,360);case`rgb`:return T(b.rgb.includes(n),w.invalidKey),j(e,0,255);default:throw Error(`Invalid inputs`)}}function P(e,t){let n=b[t],r={hsl:Ke,oklab:qe,oklch:Je,rgb:Ze};T(Xe(e)||Array.isArray(e),w.invalid);let i=Array.isArray(e)?{[n[0]]:e[0],[n[1]]:e[1],[n[2]]:e[2]}:e;return T(r[t](i),`${w.invalidColor}: ${t}`),i}function tt(e,t=Ve,n=!0){let r=new Map(Object.entries(e));for(let[e,i]of r.entries())r.set(e,F(i,t,n));return Object.fromEntries(r)}function F(e,t=2,n=!0){if(!O(e)||e===0)return 0;if(n){let n=10**t;return Math.round(e*n)/n}let r=Math.abs(e),i=Math.abs(Math.ceil(Math.log(r)/Math.LN10));i===0?i=2:i>t&&(i=t);let a=t-(i<0?0:i);a<=1&&t>1?a=2:(a>t||a===0)&&(a=t);let o=10**a;return Math.round(e*o)/o}function nt(e,t){return T(E(e),w.inputHex),T(Ye(t,0,1),w.alpha),t>=1?it(e):`${it(e)}${rt(t)}`}function rt(e){T(O(e),w.inputNumber);let t=e;return e>1&&(t/=100),Math.round(t*255).toString(16).padStart(2,`0`)}function I(e){T(E(e),w.inputString);let t=e.substring(7,9);return t?F(parseInt(t,16)/255):1}function it(e){return T(E(e),w.inputHex),e.length===5?e.substring(0,4):e.substring(0,7)}function L(e){T(E(e),w.inputHex);let t=$e(e).slice(1),n=I(e);return A({r:parseInt(t.charAt(0)+t.charAt(1),16),g:parseInt(t.charAt(2)+t.charAt(3),16),b:parseInt(t.charAt(4)+t.charAt(5),16)},n)}var at={};Ie(at,{hex2hsl:()=>ot,hex2oklab:()=>dt,hex2oklch:()=>gt,hex2rgb:()=>L,hsl2hex:()=>yt,hsl2oklab:()=>bt,hsl2oklch:()=>xt,hsl2rgb:()=>z,oklab2hex:()=>Tt,oklab2hsl:()=>Et,oklab2oklch:()=>mt,oklab2rgb:()=>wt,oklch2hex:()=>jt,oklch2hsl:()=>Mt,oklch2oklab:()=>kt,oklch2rgb:()=>At,rgb2hex:()=>vt,rgb2hsl:()=>R,rgb2oklab:()=>ut,rgb2oklch:()=>ht});function R(e){let t=P(e,`rgb`),n=M(e),r=N(t.r,`rgb`,`r`)/255,i=N(t.g,`rgb`,`g`)/255,a=N(t.b,`rgb`,`b`)/255,o=Math.min(r,i,a),s=Math.max(r,i,a),c=s-o,l=0,u,d=(s+o)/2,f;switch(s){case r:f=c?(i-a)/c:0,l=60*f;break;case i:f=(a-r)/c,l=60*f+120;break;case a:f=(r-i)/c,l=60*f+240;break;default:break}return l<0&&(l=360+l),u=o===s?0:d<.5?c/(2*d):c/(2-2*d),A({h:Math.abs(+(l%360).toFixed(2)),s:+(u*100).toFixed(2),l:+(d*100).toFixed(2)},n)}function ot(e){T(E(e),w.inputHex);let t=I(e);return A(R(L(e)),t)}var{cbrt:st,sign:ct}=Math;function lt(e){let t=Math.abs(e);return t<.04045?e/12.92:(ct(e)||1)*((t+.055)/1.055)**2.4}function ut(e,t=Ve){let n=P(e,`rgb`),r=M(e),[i,a,o]=[lt(n.r/255),lt(n.g/255),lt(n.b/255)],s=st(x.l[0]*i+x.l[1]*a+x.l[2]*o),c=st(x.m[0]*i+x.m[1]*a+x.m[2]*o),l=st(x.s[0]*i+x.s[1]*a+x.s[2]*o);return A(tt({l:S.l[0]*s+S.l[1]*c-S.l[2]*l,a:S.a[0]*s-S.a[1]*c+S.a[2]*l,b:S.b[0]*s+S.b[1]*c-S.b[2]*l},t),r)}function dt(e,t){T(E(e),w.inputHex);let n=I(e);return A(ut(L(e),t),n)}var{atan2:ft,sqrt:pt}=Math;function mt(e,t){let{l:n,a:r,b:i}=tt(P(e,`oklab`)),a=M(e),o=pt(r**2+i**2),s=(ft(i,r)*He+360)%360;return F(o*1e4)===0&&(s=0),A(tt({l:n,c:o,h:s},t),a)}function ht(e,t){let n=P(e,`rgb`),r=M(e);return A(mt(ut(n,t),t),r)}function gt(e,t){T(E(e),w.inputHex);let n=I(e);return A(ht(L(e),t),n)}function _t(e,t,n){T(O(e)&&O(t)&&O(n),w.hueArgs);let r=n;return r<0&&(r+=1),r>1&&--r,F(r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e,4)}function z(e){let t=P(e,`hsl`),n=M(e),r=F(t.h)/360,i=F(t.s)/100,a=F(t.l)/100,o,s,c,l,u;return i===0?(o=a,s=a,c=a):(u=a<.5?a*(1+i):a+i-a*i,l=2*a-u,o=_t(l,u,r+1/3),s=_t(l,u,r),c=_t(l,u,r-1/3)),A({r:Math.round(o*255),g:Math.round(s*255),b:Math.round(c*255)},n)}function vt(e){let t=P(e,`rgb`),n=M(e),r=`#${[t.r,t.g,t.b].map(e=>`0${Math.floor(e).toString(16)}`.slice(-2)).join(``)}`;return n!==void 0&&n<1?nt(r,n):r}function yt(e){let t=P(e,`hsl`),n=M(e),r=vt(z(t));return n!==void 0&&n<1?nt(r,n):r}function bt(e,t){let n=P(e,`hsl`),r=M(e);return A(ut(z(n),t),r)}function xt(e,t){let n=P(e,`hsl`),r=M(e);return A(ht(z(n),t),r)}var{abs:St}=Math;function Ct(e){let t=St(e);return t>.0031308?(e<0?-1:1)*(t**(1/2.4)*1.055-.055):e*12.92}function wt(e,t=0){let{l:n,a:r,b:i}=P(e,`oklab`),a=M(e),o=(n+Be.l[0]*r+Be.l[1]*i)**3,s=(n+Be.m[0]*r+Be.m[1]*i)**3,c=(n+Be.s[0]*r+Be.s[1]*i)**3,l=255*Ct(C.r[0]*o+C.r[1]*s+C.r[2]*c),u=255*Ct(C.g[0]*o+C.g[1]*s+C.g[2]*c),d=255*Ct(C.b[0]*o+C.b[1]*s+C.b[2]*c);return A({r:j(F(l,t),0,255),g:j(F(u,t),0,255),b:j(F(d,t),0,255)},a)}function Tt(e){let t=P(e,`oklab`),n=M(e),r=vt(wt(t));return n!==void 0&&n<1?nt(r,n):r}function Et(e){let t=P(e,`oklab`),n=M(e);return A(R(wt(t)),n)}var{sin:Dt,cos:Ot}=Math;function kt(e,t){let{l:n,c:r,h:i}=P(e,`oklch`),a=M(e);return(Number.isNaN(i)||i<0)&&(i=0),A(tt({l:n,a:r*Ot(i*ze),b:r*Dt(i*ze)},t),a)}function At(e,t=0){let n=P(e,`oklch`),r=M(e);return A(wt(kt(n),t),r)}function jt(e){let t=P(e,`oklch`),n=M(e),r=vt(At(t));return n!==void 0&&n<1?nt(r,n):r}function Mt(e){let t=P(e,`oklch`),n=M(e);return A(R(At(t)),n)}var Nt=`(rgb|hsl|oklab|oklch)a?`,Pt=`(?:\\s*[,/]\\s*|\\s+)`,Ft=`(none|[\\d%.-]+(?:deg|grad|rad|turn)?)`,It=RegExp(`${Nt}\\s*\\(\\s*${Ft}${Pt}${Ft}${Pt}${Ft}(?:${Pt}${Ft})?\\s*\\)`,`i`);function Lt(e){let t=parseFloat(e),n;return n=e.endsWith(`grad`)?t*.9:e.endsWith(`rad`)?t*(180/Math.PI):e.endsWith(`turn`)?t*360:t,Math.round(n*1e5)/1e5}function B(e){if(T(k(e),w.inputString),E(e)){let t=b.rgb,{r:n,g:r,b:i}=L(e),a=I(e);return{model:`rgb`,[t[0]]:n,[t[1]]:r,[t[2]]:i,alpha:a<1?a:void 0}}let t=It.exec(e);T(Ge(t),w.invalidCSS);let n=t[1],r=b[n],i=t[5]?parseFloat(t[5]):1;i>1&&(i/=100);let a=(e,t)=>{if(e===`none`)return 0;if(n===`hsl`&&t===0||n===`oklch`&&t===2)return Lt(e);let r=parseFloat(e);if(!e.includes(`%`))return r;if(n===`oklch`){if(t===1)return r*.4/100}else if(n===`oklab`&&(t===1||t===2))return r*.4/100;return r},o=[a(t[2],0),a(t[3],1),a(t[4],2)];return n===`oklab`?(T(o[1]>=-.4&&o[1]<=.4,w.invalidRange),T(o[2]>=-.4&&o[2]<=.4,w.invalidRange)):n===`oklch`&&T(o[1]>=0&&o[1]<=.4,w.invalidRange),{model:n,[r[0]]:o[0],[r[1]]:o[1],[r[2]]:o[2],alpha:i<1?i:void 0}}var Rt={oklab:Et,oklch:Mt,rgb:R},zt={hsl:bt,oklch:kt,rgb:ut},Bt={hsl:xt,oklab:mt,rgb:ht},Vt={hsl:z,oklab:wt,oklch:At},Ht={hsl:yt,oklab:Tt,oklch:jt,rgb:vt},Ut={hsl:ot,oklab:dt,oklch:gt,rgb:L},Wt={hsl:Rt,oklab:zt,oklch:Bt,rgb:Vt};function Gt(e,t){let{alpha:n,model:r,...i}=B(e);[`oklab`,`oklch`].includes(r)&&i.l>1&&(i.l=F(i.l/100,Ve));let a=Object.values(i);if(t===`hex`){let e=n?rt(n):``;return`${Ht[r](a)}${e}`}let o=Wt[t]?.[r];return A(o?o(a):i,n)}function Kt(e,t){let n=I(e);return t===`hex`?`${it(e)}${n===1?``:rt(n)}`:A(Ut[t](e),n)}function V(e,t){T(k(e),w.inputString);let n=D(e)?Ue[e.toLowerCase()]:e,r=t??(E(n)?`hex`:B(n).model);return E(n)?Kt(n,r):Gt(n,r)}var qt=2.4,Jt=.56,Yt=.57,Xt=.65,Zt=.62,Qt=.2126729,$t=.7151522,en=.072175,tn=.022,nn=1.414,rn=1.14,an=1.14,on=.027,sn=.027,cn=.1,ln=5e-4;function un(e){return e>tn?e:e+(tn-e)**nn}function dn(e,t,n){return Qt*(e/255)**qt+$t*(t/255)**qt+en*(n/255)**qt}function fn(e,t){T(k(e),w.inputString),T(k(t),w.inputString);let n=L(V(e,`hex`)),r=L(V(t,`hex`)),i=un(dn(r.r,r.g,r.b)),a=un(dn(n.r,n.g,n.b));if(Math.abs(a-i)<ln)return 0;let o=a>i?(a**Jt-i**Yt)*rn:(a**Xt-i**Zt)*an;return Math.abs(o)<cn?0:F(o>0?(o-on)*100:(o+sn)*100,5)}function pn(e,t,n=Ve){T(k(e),w.left),T(k(t),w.right);let r=V(e,`rgb`),i=V(t,`rgb`),a=(r.r*299+r.g*587+r.b*114)/1e3,o=(i.r*299+i.g*587+i.b*114)/1e3;return F(Math.abs(o-a),n)}function mn(e){T(k(e),w.inputString);let{r:t,g:n,b:r}=V(e,`rgb`);return F((Math.max(t,n,r)-Math.min(t,n,r))/255,4)}function hn(e,t){T(k(e),w.left),T(k(t),w.right);let n=V(e,`rgb`),r=V(t,`rgb`);return Math.max(n.r,r.r)-Math.min(n.r,r.r)+(Math.max(n.g,r.g)-Math.min(n.g,r.g))+(Math.max(n.b,r.b)-Math.min(n.b,r.b))}function gn(e){T(k(e),w.inputString);let{r:t,g:n,b:r}=V(e,`rgb`),i=[t/255,n/255,r/255];for(let e=0;e<i.length;e++)i[e]<=.04045?i[e]/=12.92:i[e]=((i[e]+.055)/1.055)**2.4;return F(.2126*i[0]+.7152*i[1]+.0722*i[2],4)}function _n(e,t){T(k(e),w.left),T(k(t),w.right);let n=gn(e),r=gn(t);return F(n>=r?(n+.05)/(r+.05):(r+.05)/(n+.05))}function vn(e,t){T(k(e),w.left),T(k(t),w.right);let n=hn(e,t),r=_n(e,t),i=pn(e,t),a=i>=125,o=n>=500,s=0;return a&&o?s=2:(a||o)&&(s=1),{brightnessDifference:i,colorDifference:n,compliant:s,contrast:r,largeAA:r>=3,largeAAA:r>=4.5,normalAA:r>=4.5,normalAAA:r>=7}}function yn(e){if(E(e)||D(e))return`hex`;if(Ke(e))return`hsl`;if(qe(e))return`oklab`;if(Je(e))return`oklch`;if(Ze(e))return`rgb`;throw Error(w.invalid)}function bn(e,t){let n=D(e)?Ue[e.toLowerCase()]:e,r=yn(n);if(r===t)return n;let i=at[`${r}2${t}`];if(!i)throw Error(`Converter not found for ${r} to ${t}`);return i(n)}function H(e,t={}){T(E(e)||Qe(e),w.invalid);let{alpha:n,format:r=`hex`,precision:i=Ve,separator:a=` `}=t,o=n&&n!==1?`${F(n*100)}%`:null,s=[],c=a;switch(r){case`hsl`:{let{h:t,s:n,l:r}=bn(e,`hsl`);s=[t,`${n}%`,`${r}%`];break}case`oklab`:{c=` `;let{l:t,a:n,b:r}=tt(bn(e,`oklab`),i);s=[`${F(t*100,i)}%`,n,r];break}case`oklch`:{c=` `;let{l:t,c:n,h:r}=tt(bn(e,`oklch`),i);s=[`${F(t*100,i)}%`,n,r];break}case`rgb`:{let{r:t,g:n,b:r}=bn(e,`rgb`);s=[t,n,r];break}default:{let t=it(bn(e,`hex`));return n&&n!==1?`${t}${rt(n)}`:t}}return`${r}(${s.join(c)}${o?` / ${o}`:``})`}function xn(e,t,n){return(r,i)=>{T(k(r),w.inputString),T(Ye(i,0,100),w.amount);let a=V(r,`hsl`),o=E(r)||D(r)?`hex`:B(r).model;return H({...a,[e]:j(a[e]+(t===`+`?i:-i),0,100)},{format:n??o})}}function Sn(e,t,n){return xn(`l`,`-`,n)(e,t)}function Cn(e,t,n){return xn(`s`,`-`,n)(e,t)}function wn(e,t){T(k(e),w.inputString);let n=E(e)||D(e)?`hex`:B(e).model,r=V(e,`oklch`);return H({...r,c:0},{format:t??n,alpha:r.alpha})}function Tn(e,t,n){T(k(e),w.inputString),T(Ye(t,-360,360),w.degreesRange);let r=V(e,`hsl`),i=E(e)||D(e)?`hex`:B(e).model;return H({...r,h:et(r.h,t)},{format:n??i})}function En(e){T(k(e),w.inputString);let t=E(e)||D(e)?`hex`:B(e).model;return H(Tn(V(e,`hex`),180),{format:t})}function Dn(e,t,n){return xn(`l`,`+`,n)(e,t)}function On(e,t,n,r,i){if(n<1e-4)return t;if(r<1e-4)return e;let a=t-e;a>180?a-=360:a<-180&&(a+=360);let o=e+a*i;return o<0?o+=360:o>=360&&(o-=360),o}function kn(e,t,n=.5,r){T(k(e),w.inputString),T(k(t),w.inputString),T(Ye(n,0,1),w.ratioRange);let i=E(e)||D(e)?`hex`:B(e).model,a=V(e,`oklch`),o=V(t,`oklch`),s=a.l+(o.l-a.l)*n,c=a.c+(o.c-a.c)*n,l=On(a.h,o.h,a.c,o.c,n),u=a.alpha??1,d=u+((o.alpha??1)-u)*n;return H({l:s,c,h:l},{format:r??i,alpha:d<1?d:void 0})}function An(e){T(!!e,w.input);let t={};if(k(e)){let{alpha:n=1}=B(e),r=E(e)?`hex`:B(e).model;t.hex=nt(V(e,`hex`),n),t.hsl=A(V(e,`hsl`),n),t.oklab=A(V(e,`oklab`),n),t.oklch=A(V(e,`oklch`),n),t.rgb=A(V(e,`rgb`),n),t.alpha=n,t.type=r}else if(Xe(e)){let{alpha:n=1}=e;if(Ke(e))t.hsl={h:N(e.h,`hsl`,`h`),s:N(e.s,`hsl`,`s`),l:N(e.l,`hsl`,`l`)},t.rgb=z(t.hsl),t.oklab=bt(t.hsl),t.oklch=xt(t.hsl),t.type=`hsl`;else if(qe(e))t.hsl=Et(e),t.oklab=e,t.oklch=mt(e),t.rgb=wt(e),t.type=`oklab`;else if(Je(e))t.hsl=Mt(e),t.oklab=kt(e),t.oklch=e,t.rgb=At(e),t.type=`oklch`;else if(Ze(e))t.rgb={r:N(e.r,`rgb`,`r`),g:N(e.g,`rgb`,`g`),b:N(e.b,`rgb`,`b`)},t.hsl=R(t.rgb),t.oklab=ut(t.rgb),t.oklch=ht(t.rgb),t.type=`rgb`;else throw Error(`invalid color`);t.hex=nt(yt(t.hsl),n),t.hsl=A(t.hsl,n),t.oklab=A(t.oklab,n),t.oklch=A(t.oklch,n),t.rgb=A(t.rgb,n),t.alpha=n}else throw Error(w.input);return t}function jn(e,t,n){T(k(e),w.inputString),T(Ye(t,0,1),w.alpha);let r=E(e)||D(e)?`hex`:B(e).model;return H(V(e,`rgb`),{format:n??r,alpha:t})}function Mn(e){if(T(k(e),w.inputString),E(e))return I(e);if(Object.keys(Ue).includes(e))return 1;let{alpha:t}=B(e);return t||1}function Nn(e,t,n,r){return e>=t?n:r}function Pn(e,t={}){let{darkColor:n=`#000000`,lightColor:r=`#ffffff`,method:i=`yiq`,threshold:a}=t;switch(T(k(e),w.inputString),i){case`yiq`:{let t=a??128;T(t>=0&&t<=255,w.threshold);let{r:i,g:o,b:s}=L(V(e,`hex`));return(i*299+o*587+s*114)/1e3>=t?n:r}case`wcag`:{let t=a??.5;return T(t>=0&&t<=1,w.thresholdNormalized),gn(e)>=t?n:r}case`contrast`:return Nn(_n(n,e),_n(r,e),n,r);case`oklab`:{let t=a??.5;T(t>=0&&t<=1,w.thresholdNormalized);let{l:i}=dt(V(e,`hex`));return i>=t?n:r}case`apca`:return Nn(Math.abs(fn(e,n)),Math.abs(fn(e,r)),n,r);default:throw Error(`Unknown method: ${i}`)}}function Fn(e,t,n){return xn(`s`,`+`,n)(e,t)}function In(e,t,n){return T(k(e),w.inputString),T(Ye(t,-1,1),w.alphaAdjustment),H(V(e,`oklab`),{format:n,alpha:F(j(Mn(e)-t,0,1))})}var Ln=class{constructor(e,t={}){Le(this,`alpha`),Le(this,`hex`),Le(this,`hsl`),Le(this,`oklab`),Le(this,`oklch`),Le(this,`rgb`),Le(this,`type`),T(!!e,w.colorRequired);let{alpha:n,hex:r,hsl:i,oklab:a,oklch:o,rgb:s,type:c}=An(e);this.hex=r,this.hsl=i,this.oklab=a,this.oklch=o,this.rgb=s,this.alpha=n,this.type=t.format??c}get css(){return this.currentColor}get red(){return this.rgb.r}get green(){return this.rgb.g}get blue(){return this.rgb.b}get hue(){return this.hsl.h}get saturation(){return this.hsl.s}get lightness(){return this.hsl.l}get luminance(){return gn(this.currentColor)}get chroma(){return mn(this.currentColor)}get opacity(){return Mn(this.currentColor)}get readableColor(){return Pn(this.currentColor)}get currentColor(){return H(this[this.type],{format:this.type,alpha:this.alpha})}brightnessDifference(e){return pn(this.currentColor,e)}colorDifference(e){return hn(this.currentColor,e)}compare(e){return vn(this.currentColor,e)}contrast(e){return _n(this.currentColor,e)}format(e,t){return H(this.rgb,{alpha:this.alpha,format:e,precision:t})}lighten(e){return Dn(this.currentColor,e)}darken(e){return Sn(this.currentColor,e)}saturate(e){return Fn(this.currentColor,e)}desaturate(e){return Cn(this.currentColor,e)}grayscale(){return wn(this.currentColor)}invert(){return En(this.currentColor)}mix(e,t){return kn(this.currentColor,e,t)}opacify(e=.9){return jn(this.currentColor,e,this.type)}rotate(e){return Tn(this.currentColor,e)}transparentize(e=.1){return In(this.currentColor,e,this.type)}};function Rn(e,t){return H(V(e,t),{format:t})}function U(e){return!(typeof e!=`object`||!(`h`in e)||!(`s`in e)||!(`l`in e)||!(`unit`in e)||!(`space`in e)||e.space!==`hsl`)}function W(e){return typeof e!=`object`||!(`r`in e)||!(`g`in e)||!(`b`in e)||!(`space`in e)||!(`unit`in e)?!1:e.space===`srgb`}function zn(e){if(typeof e!=`object`)throw TypeError(`Param 'v' is expected to be an object, got: ${typeof e}`);if(`r`in e&&`g`in e&&`b`in e){if(!(`unit`in e))if(e.r<=1&&e.g<=1&&e.b<=1)e.unit=`scalar`;else if(e.r>255&&e.g<=255&&e.b<=255)return;else e.unit=`8bit`;return`space`in e||(e.space=`srgb`),e}}function Bn(e){if(`h`in e&&`s`in e&&`l`in e){if(!(`unit`in e))if(e.s<=1&&e.l<=1)e.unit=`scalar`;else if(e.s>100||e.l>100)return;else e.unit=`absolute`;return`space`in e||(e.space=`hsl`),e}}function Vn(e){return typeof e!=`object`||!(`l`in e)||!(`c`in e)||!(`h`in e)||!(`unit`in e)||!(`space`in e)?!1:e.space===`lch`||e.space===`oklch`}function Hn(e){return typeof e==`string`?!0:typeof e==`object`?!!(U(e)||Vn(e)||W(e)):!1}function Un(e,t,n=1){let r=-1,i=-1;t<e?(r=t-e,i=n-(e-t)):(r=t-e,i=r-n);let a=i>0?i:r,o=i>0?r:i;if(Math.abs(r)<Math.abs(i)){let e=i;i=r,r=e}return{long:r,short:i,forward:a,backward:o}}function Wn(e){let t=e=>{let t=Math.floor(e).toString(16);return t.length===1?`0${t}`:t},n=`#${t(e.r)}${t(e.g)}${t(e.b)}`;return e.alpha!==void 0&&e.alpha!==255&&(n+=t(e.alpha)),n}function Gn(e){return e%=1,e<0?(1-Math.abs(e))%1:e}var Kn=e({absolute:()=>cr,changeLightness:()=>Jn,fromCss:()=>Qn,fromHexString:()=>Zn,generateScalar:()=>rr,guard:()=>ar,interpolator:()=>or,parseCssHslFunction:()=>lr,scalar:()=>sr,toAbsolute:()=>nr,toCssString:()=>$n,toHexString:()=>er,toLibraryRgb:()=>ur,toScalar:()=>ir,withOpacity:()=>qn});function qn(e,t){switch(e.unit){case`absolute`:return{...e,opacity:t((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:t(e.opacity??1,e)}}}function Jn(e,t){let n=0;if(t.pdelta!==void 0)n=e.l+e.l*t.pdelta;else if(t.delta!==void 0)n=t.delta+e.l;else if(t.fixed!==void 0){if(t.fixed<0)throw TypeError(`Cannot use negative value with 'fixed'`);n=t.fixed}else throw TypeError(`Parameter 'amount' is missing 'delta/pdelta/fixed' properties`);return{...e,l:Yn(e,n,`l`)}}function Yn(e,t,n){return e.unit===`scalar`?t>1?t=1:t<0&&(t=0):t>100?t=100:t<0&&(t=0),t}const Xn=Object.freeze({h:0,s:0,l:0,opacity:0,unit:`absolute`,space:`hsl`});function Zn(e,t={}){return tr(ot(e),t)}function Qn(e,t={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);if(e.startsWith(`#`))return Zn(e,t);if(e.startsWith(`--`))try{e=qr(e)}catch(n){if(t.fallbackString!==void 0&&(e=t.fallbackString),t.fallbackColour!==void 0)return t.fallbackColour;throw n}if(e===`transparent`)return Xn;if(K[e]!==void 0)return Zn(K[e],t);if(e.startsWith(`rgb(`))return tr(Or(e),t);if(!e.startsWith(`hsl(`))try{e=Rn(e,`hsl`)}catch(n){if(t.fallbackString)e=t.fallbackString;else throw n}try{let n=lr(e);return t.scalar?ir(n):nr(n)}catch(e){if(t.fallbackColour)return t.fallbackColour;throw e}}function $n(e){let t=nr(e),n=`hsl(${t.h}deg ${t.s}% ${t.l}%`;return`opacity`in t&&t.opacity!==void 0&&t.opacity<100&&(n+=` / ${t.opacity}%`),n+=`)`,n}function er(e){return Wn(ur(e))}function tr(e,t={}){if(e==null&&t.fallbackColour)return t.fallbackColour;let n=t.scalar??!0;return i(o(e.h,0,360,`h`),o(e.s,0,100,`s`),o(e.l,0,100,`l`),c(e.alpha??1,`alpha`)),n?sr(e.h/360,e.s/100,e.l/100,e.alpha??1):cr(e.h,e.s,e.l,(e.alpha??1)*100)}function nr(e){if(typeof e==`string`)return Qn(e,{scalar:!1});if(W(e))return nr(tr(Or(e),{scalar:!1}));let t=e;return ar(t),t.unit===`absolute`?t:{h:t.h*360,s:t.s*100,l:t.l*100,opacity:(t.opacity??1)*100,unit:`absolute`,space:`hsl`}}function rr(e,t=1,n=.5,r=1){typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim());let i=_e(e);if(t>1)throw TypeError(`Param 'saturation' must be between 0..1`);if(n>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(r>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{h:ue(i,`deg`).value/360,s:t,l:n,opacity:r,unit:`scalar`,space:`hsl`}}function ir(e){if(typeof e==`string`)return Qn(e,{scalar:!0});if(W(e))return ir(tr(Or(e),{scalar:!0}));let t=e;return ar(t),t.unit===`scalar`?t:{h:t.h/360,s:t.s/100,l:t.l/100,opacity:(t.opacity??1)/100,unit:`scalar`,space:`hsl`}}function ar(e){let{h:t,s:n,l:a,opacity:s,space:c,unit:l}=e;if(c!==`hsl`)throw Error(`Space is expected to be 'hsl'. Got: ${c}`);if(l===`absolute`)i(r(t,`finite`,`h`),o(n,0,100,`s`),o(a,0,100,`l`),()=>{if(typeof s==`number`)return o(s,0,100,`opacity`)});else if(l===`scalar`)i(r(t,`percentage`,`h`),r(n,`percentage`,`s`),r(a,`percentage`,`l`),()=>{if(typeof s==`number`)return r(s,`percentage`,`opacity`)});else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${l}`)}function or(e,t,n=`shorter`){e=ir(e),t=ir(t);let r=e.opacity??1,i=Un(e.h,t.h,1),a=n===`longer`?i.long:i.short,o=t.s-e.s,s=t.l-e.l,c=(t.opacity??1)-r;return t=>{t=h(t);let n=m(t,0,Math.abs(a));n=a<0?e.h-n:e.h+n;let i=m(t,0,o),l=m(t,0,s),u=m(t,0,c);return sr(Gn(n),i+e.s,l+e.l,u+r)}}function sr(e=.5,t=1,n=.5,r=1){let i={unit:`scalar`,space:`hsl`,h:e,s:t,l:n,opacity:r};return ar(i),i}function cr(e=200,t=100,n=50,r=100){let i={unit:`absolute`,space:`hsl`,h:e,s:t,l:n,opacity:r};return ar(i),i}function lr(e){if(e.startsWith(`hsla`))throw Error(`hsla() is not supported`);if(!e.startsWith(`hsl(`))throw Error(`Expected hsl(..) CSS colour`);let t=e.indexOf(`(`),n=e.indexOf(`)`);if(n<t)throw Error(`Is hsl() not terminated? Missing ')'`);let r=e.substring(t+1,n).split(/[\s,]+/);if(r.length<3)throw Error(`Expected three tokens. Got: ${r.length} length`);let i=!1;r[0].endsWith(`%`)&&(i=!0),r[1].endsWith(`%`)&&r[2].endsWith(`%`)&&(i=!0);let a=(e,t)=>{if(e===`none`)return 0;if(e.endsWith(`%`))return Number.parseFloat(e.substring(0,e.length-1))/100;e.endsWith(`deg`)&&t===0&&(e=e.substring(0,e.length-3));let n=Number.parseFloat(e);return t===0?n/360:t===3?n:n/100},o=(e,t)=>{if(e===`none`)return 0;if(e.endsWith(`%`)){let n=Number.parseFloat(e.substring(0,e.length-1));return t===0?n*360:n}return e.endsWith(`deg`)&&t===0?Number.parseFloat(e.substring(0,e.length-3)):Number.parseFloat(e)};return r.length>3&&r[3]===`/`&&(r=[r[0],r[1],r[2],r[4]]),i?sr(a(r[0],0),a(r[1],1),a(r[2],2),a(r[3]??`100%`,3)):cr(o(r[0],0),o(r[1],1),o(r[2],2),o(r[3]??`100%`,3))}function ur(e){return typeof e==`string`?ur(Qn(e,{scalar:!1})):(e=nr(e),{...z({h:e.h,s:e.s,l:e.l}),alpha:(e.opacity??100)/100*255})}var dr=e({changeLightness:()=>Sr,eightBit:()=>wr,fromCss:()=>hr,fromHexString:()=>pr,guard:()=>xr,interpolator:()=>Dr,lightness:()=>Cr,parseCssRgbFunction:()=>Er,scalar:()=>Tr,to8bit:()=>G,toCssString:()=>_r,toHexString:()=>gr,toLibraryHsl:()=>Or,toScalar:()=>br,withOpacity:()=>fr});function fr(e,t){switch(e.unit){case`8bit`:return{...e,opacity:t((e.opacity??255)/255,e)*255};case`scalar`:return{...e,opacity:t(e.opacity??1,e)}}}function pr(e,t=!0){return yr(L(e),{scalar:t})}const mr=Object.freeze({r:0,g:0,b:0,opacity:0,unit:`8bit`,space:`srgb`});function hr(e,t={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);let n=t.scalar??!0;if(e.startsWith(`#`))return pr(e,n);if(e===`transparent`)return mr;if(K[e]!==void 0)return pr(K[e],n);if(e.startsWith(`hsl(`))return yr(ur(e),t);if(!e.startsWith(`rgb(`))try{e=Rn(e,`rgb`)}catch(n){if(t.fallbackString)e=t.fallbackString;else throw n}try{let t=Er(e);return n?br(t):G(t)}catch(e){if(t.fallbackColour)return t.fallbackColour;throw e}}function gr(e){return Wn(vr(e))}function _r(e){switch(xr(e),e.unit){case`8bit`:return e.opacity===void 0||e.opacity===255?`rgb(${e.r} ${e.g} ${e.b})`:`rgb(${e.r} ${e.g} ${e.b} / ${(e.opacity??255)/255})`;case`scalar`:return e.opacity===void 0||e.opacity===1?`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}%)`:`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}% / ${(e.opacity??1)*100}%)`;default:throw Error(`Unknown unit: ${e.unit}`)}}function vr(e){let t=G(e);return{r:t.r,g:t.g,b:t.b,alpha:t.opacity}}function yr(e,t={}){return t.scalar?{r:e.r/255,g:e.g/255,b:e.b/255,opacity:e.alpha??1,unit:`scalar`,space:`srgb`}:{r:e.r,g:e.g,b:e.b,opacity:e.alpha??255,unit:`8bit`,space:`srgb`}}function G(e){return typeof e==`string`?hr(e,{scalar:!1}):U(e)?G(yr(ur(e),{scalar:!1})):(xr(e),e.unit===`8bit`?e:{r:e.r*255,g:e.g*255,b:e.b*255,opacity:(e.opacity??1)*255,unit:`8bit`,space:`srgb`})}function br(e){return typeof e==`string`?hr(e,{scalar:!0}):U(e)?br(yr(ur(e),{scalar:!0})):(xr(e),e.unit===`scalar`?e:{r:e.r/255,g:e.g/255,b:e.b/255,opacity:(e.opacity??1)/255,unit:`scalar`,space:`srgb`})}function xr(e){let{r:t,g:n,b:a,opacity:s,space:c,unit:l}=e;if(c!==`srgb`)throw Error(`Space is expected to be 'srgb'. Got: ${c}`);if(l===`8bit`)i(o(t,0,255,`r`),o(n,0,255,`g`),o(a,0,255,`b`),()=>{if(typeof s==`number`)return o(s,0,255,`opacity`)});else if(l===`scalar`)i(r(t,`percentage`,`r`),r(n,`percentage`,`g`),r(a,`percentage`,`b`),()=>{if(typeof s==`number`)return r(s,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${l}`)}function Sr(e,t){let n=0,r=new Ln(_r(e)),i=e.unit===`scalar`;if(t.pdelta!==void 0)n=r.oklab.l+r.oklab.l*t.pdelta;else if(t.delta!==void 0)n=r.oklab.l+t.delta;else if(t.fixed!==void 0){if(t.fixed<0)throw TypeError(`Amount cannot be negative when using 'fixed'`);n=t.fixed}else throw TypeError(`Parameter 'amount' is missing 'pdelta/delta/fixed' properties`);return n<0?n=0:n>1&&(n=1),yr(wt({a:r.oklab.a,b:r.oklab.b,l:n,alpha:r.oklab.alpha}),{scalar:i})}function Cr(e){return new Ln(_r(e)).oklab.l}function wr(e=100,t=100,n=100,r=255){let i={unit:`8bit`,space:`srgb`,r:e,g:t,b:n,opacity:r};return xr(i),i}function Tr(e=.5,t=.5,n=.5,r=1){let i={unit:`scalar`,space:`srgb`,r:e,g:t,b:n,opacity:r};return xr(i),i}function Er(e){if(e.startsWith(`rgba`))throw Error(`RGBA is not supported`);if(!e.startsWith(`rgb(`))throw Error(`Expected rgb(..) CSS colour`);let t=e.indexOf(`(`),n=e.indexOf(`)`);if(n<t)throw Error(`Is rgb() not terminated? Missing ')'`);let r=e.substring(t+1,n).split(/[\s,]+/);if(r.length<3)throw Error(`Expected three tokens. Got: ${r.length} length`);let i=0;for(let e of r)e.endsWith(`%`)&&i++;let a=(e,t)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100:t<3?Number.parseFloat(e)/255:Number.parseFloat(e),o=(e,t)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100*255:t<3?Number.parseFloat(e):Number.parseFloat(e)*255;return r.length>3&&r[3]===`/`&&(r=[r[0],r[1],r[2],r[4]]),i>1?Tr(a(r[0],0),a(r[1],1),a(r[2],2),a(r[3]??`1`,3)):wr(o(r[0],0),o(r[1],1),o(r[2],2),o(r[3]??`1`,3))}function Dr(e,t){let n=br(e),r=br(t),i=n.opacity??1,a=(r.opacity??1)-i,o=r.r-n.r,s=r.g-n.g,c=r.b-n.b;return e=>(e=h(e),Tr(n.r+m(e,0,o),n.g+m(e,0,s),n.b+m(e,0,c),i+m(e,0,a)))}function Or(e){return typeof e==`string`?Or(hr(e,{scalar:!1})):(e=G(e),{...R({r:e.r,g:e.g,b:e.b}),alpha:(e.opacity??255)/255})}var kr=e({OKLCH_CHROMA_MAX:()=>Ar,absolute:()=>Gr,fromCss:()=>Fr,fromHexString:()=>Nr,fromLibrary:()=>Mr,generateScalar:()=>Vr,guard:()=>jr,interpolator:()=>Ur,scalar:()=>Wr,toAbsolute:()=>Ir,toCssString:()=>zr,toHexString:()=>Br,toScalar:()=>Lr,withOpacity:()=>Hr});const Ar=.4;function jr(e){let{l:t,c:n,h:r,opacity:a,space:s,unit:l}=e;if(s!==`oklch`)throw Error(`Space is expected to be 'oklch'. Got: ${s}`);if(l===`absolute`)i(c(t,`l`),()=>{if(typeof n==`number`)return o(n,0,Ar,`c`)},()=>{if(typeof r==`number`)return o(r,0,360,`h`)},c(a??1,`opacity`));else if(l===`scalar`)i(c(t,`l`),c(n,`c`),c(r,`h`),c(e.opacity??1,`opacity`));else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${l}`)}function Mr(e,t={}){if(e==null&&t.fallbackColour)return t.fallbackColour;let n=t.scalar??!0;return i(c(e.l,`l`),c(e.c,`c`),o(e.h,0,360,`h`),c(e.alpha??1,`alpha`)),n?Wr(e.l,e.c/Ar,e.h/360,e.alpha??1):Gr(e.l,e.c,e.h,e.alpha??1)}function Nr(e,t={}){return Mr(gt(e),t)}const Pr=Object.freeze({l:0,c:0,h:0,opacity:0,unit:`absolute`,space:`oklch`});function Fr(e,t={}){if(e=e.toLowerCase(),e.startsWith(`#`))return Nr(e,t);if(e===`transparent`)return Pr;if(K[e]!==void 0)return Nr(K[e],t);if(e.startsWith(`rgb(`)){let n=G(Er(e));return Mr(ht({r:n.r,g:n.g,b:n.b}),t)}if(!e.startsWith(`hsl(`)&&!e.startsWith(`oklch(`))try{e=Rn(e,`oklch`)}catch(n){if(t.fallbackString)e=t.fallbackString;else throw n}let n=new Ln(e).oklch;return Mr(n,t)}function Ir(e){return typeof e==`string`?Ir(Fr(e,{scalar:!0})):(jr(e),e.unit===`absolute`?e:{space:`oklch`,unit:`absolute`,l:e.l,c:e.c*Ar,h:e.h*360,opacity:e.opacity})}function Lr(e){if(typeof e==`string`)return Lr(Fr(e,{scalar:!0}));let t=e;return jr(t),t.unit===`scalar`?t:{l:t.l,c:t.c/Ar,h:t.h/360,opacity:t.opacity??1,unit:`scalar`,space:`oklch`}}function Rr(e){let t=Ir(e);return{l:t.l,c:t.c,h:t.h,alpha:t.opacity}}function zr(e,t=3){jr(e);let{l:n,c:r,h:i,opacity:a}=e,o=``;switch(e.unit){case`absolute`:o=`oklch(${(n*100).toFixed(t)}% ${r.toFixed(t)} ${i.toFixed(t)}`;break;case`scalar`:o=`oklch(${n.toFixed(t)} ${(r*Ar).toFixed(t)} ${(i*360).toFixed(t)}`;break}return a!==void 0&&a!==1&&(o+=` / ${a.toFixed(t)}`),o+=`)`,o}function Br(e){return Wn(At(Rr(e)))}function Vr(e,t=1,n=.5,r=1){if(typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim()),n>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(t>1)throw TypeError(`Param 'chroma' must be between 0..1`);let i=ue(_e(e),`deg`).value/360;if(r>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{l:n,c:t,h:i,opacity:r,unit:`scalar`,space:`oklch`}}function Hr(e,t){switch(e.unit){case`absolute`:return{...e,opacity:t((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:t(e.opacity??1,e)}}}function Ur(e,t,n=`shorter`){e=Lr(e),t=Lr(t);let r=e.opacity??1,i=Un(e.h,t.h,1),a=n===`longer`?i.long:i.short,o=t.c-e.c,s=t.l-e.l,c=(t.opacity??1)-r;return t=>{t=h(t);let n=m(t,0,Math.abs(a));n=a<0?e.h-n:e.h+n;let i=m(t,0,o),l=m(t,0,s),u=m(t,0,c);return Wr(l+e.l,i+e.c,Gn(n),u+r)}}function Wr(e=.7,t=.1,n=.5,r=1){let i={unit:`scalar`,space:`oklch`,l:e,c:t,h:n,opacity:r};return jr(i),i}function Gr(e,t,n,r=1){let i={space:`oklch`,unit:`absolute`,opacity:r,l:e,c:t,h:n};return jr(i),i}const Kr=e=>{if(e.startsWith(`#`))return pr(e,!0);if(e.startsWith(`--`)){let t=getComputedStyle(document.body).getPropertyValue(e).trim();if(t.length===0||t===null)throw Error(`Variable missing: ${e}`);return Kr(t)}let t=e.toLowerCase();if(K[t]!==void 0)return pr(K[t],!0);if(t.startsWith(`hsl(`))return Qn(e,{scalar:!0});if(t.startsWith(`rgb(`))return hr(e,{scalar:!0});if(t.startsWith(`oklch(`))return Fr(e,{scalar:!0});throw Error(`String colour is not a hex colour, CSS variable nor well-defined colour. Input: '${e}'`)};function qr(e,t){if(e.startsWith(`--`)){let n=getComputedStyle(document.body).getPropertyValue(e).trim();if(n.length===0||n===null){if(t!==void 0)return t;throw Error(`CSS variable missing: '${e}'`)}return qr(n)}return K[e]===void 0?e:K[e]}const K=Object.freeze({aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`,transparent:`#00000000`});function q(e,t){if(t===`hsl-scalar`){if(typeof e==`string`||U(e)||W(e))return ir(e)}else if(t===`hsl-absolute`){if(typeof e==`string`||U(e))return nr(e)}else if(t===`oklch-scalar`){if(typeof e==`string`||Vn(e))return Lr(e)}else if(t===`oklch-absolute`){if(typeof e==`string`||Vn(e))return Ir(e)}else if(t===`srgb-8bit`){if(typeof e==`string`||W(e))return G(e)}else if(t===`srgb-scalar`){if(typeof e==`string`||W(e))return br(e)}else throw Error(`Destination '${t}' not supported for input: ${JSON.stringify(e)}`);return q(J(e),t)}function Jr(e,t){return J(q(e,t))}function Yr(e,t){if(t===`oklch`)return q(e,`oklch-scalar`);if(t===`srgb`)return q(e,`srgb-scalar`);if(t===`hsl`)return q(e,`hsl-scalar`);throw Error(`Unknown destination: '${t}'`)}function J(e){if(typeof e==`string`)return e;if(U(e))return $n(e);if(W(e))return _r(e);if(Vn(e))return zr(e);let t=zn(e);if(t)return _r(t);let n=Bn(e);if(n)return $n(n);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function Xr(e){if(U(e))return er(e);if(W(e))return gr(e);if(Vn(e))return Br(e);if(typeof e==`string`)return e.startsWith(`#`)?e:gr(q(e,`srgb-8bit`));let t=zn(e);if(t)return gr(t);let n=Bn(e);if(n)return er(n);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function Zr(e){return new Ln(J(e))}function Qr(e){switch(e.space){case`hsl`:ar(e);break;case`srgb`:xr(e);break;case`oklch`:jr(e);break;default:throw Error(`Unsupported colour space: '${e.space}'`)}}function $r(e){if(!Hn(e))throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc. Got: ${JSON.stringify(e)}`);let t;if(t=typeof e==`string`?Kr(e):e,t===void 0)throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc.`);return Qr(t),t}function ei(...e){for(let t of e)if(t!=null)try{return J($r(t))}catch{}return`rebeccapurple`}function ti(e,t){let{r:n,g:r,b:i}=e,a=e.opacity??1;e.unit===`8bit`&&(n/=255,r/=255,i/=255);let o=Math.max(n,r,i),s=Math.min(n,r,i),c=(o+s)/2,l=c,u=c;if(o===s)return t?sr(0,0,0,a):cr(0,0,0,a);let d=o-s;switch(l=u>=.5?d/(2-(o+s)):d/(o+s),o){case n:c=((r-i)/d+0)*60;break;case r:c=((i-n)/d+2)*60;break;case i:c=((n-r)/d+4)*60;break}return t?sr(c/360,l,u,a):cr(c,l*100,u*100,a)}const ni=(e,t=.5,n=.75,a=1)=>(i(r(e,`positive`,`index`),r(t,`percentage`,`saturation`),r(n,`percentage`,`lightness`),r(a,`percentage`,`alpha`)),$n(sr(e*137.508%360/360,t,n,a))),ri=(e=Math.random)=>e()*360;function ii(e,t={}){let n=t.direction??`shorter`,r=t.destination??`oklch-scalar`,i=t.space??`oklch`,a=ai(e,i),o=a.map(e=>ci(e[0],e[1],{space:i,direction:n,destination:r})),s=e.map(e=>q(e,r));return e=>{if(e>=1)return s.at(-1);if(e<=0)return s.at(0);let t=ie(e,0,1,0,a.length),n=Math.floor(t),r=t-n,i=o[n];return i(r)}}function ai(e,t=`hsl`){if(!Array.isArray(e))throw Error(`Param 'colours' is not an array as expected. Got: ${typeof e}`);if(e.length<2)throw Error(`Param 'colours' should be at least two in length. Got: ${e.length}`);return[...l(e.map(e=>Yr(e,t)))]}function oi(e){return`linear-gradient(to right, ${e.map(e=>J(e)).join(`, `)})`}function si(e,t,n={}){let r=ci(e,t,n);return e=>J(r(e))}function ci(e,t,n={}){let r=n.space??`oklch`,i=n.direction??`shorter`,a=n.destination??`oklch-scalar`,o;switch(r){case`hsl`:{let n=or(q(e,`hsl-scalar`),q(t,`hsl-scalar`),i);o=e=>q(n(e),a);break}case`srgb`:{let n=Dr(q(e,`srgb-scalar`),q(t,`srgb-scalar`));o=e=>q(n(e),a);break}default:{let n=Ur(q(e,`oklch-scalar`),q(t,`oklch-scalar`),i);o=e=>q(n(e),a)}}return e=>o(e)}function li(e,t={}){let n=t.direction??`shorter`,r=t.space??`oklch`,i=ai(e,r),a=0;if(typeof t.stepsBetween==`number`){if(a=t.stepsBetween,a<1)throw Error(`Param 'stepsBetween' must be at least 1`)}else if(typeof t.stepsTotal==`number`){if(t.stepsTotal<=e.length)throw Error(`Param 'stepsTotal' must be greater than number of provided colour stops (${e.length}) +1 per stop`);let n=t.stepsTotal-e.length;a=Math.floor(n/i.length)}let o=i.map(e=>{let t=ui(e[0],e[1],{steps:a,space:r,direction:n,exclusive:!0});return t.push(e[1]),t}),s=i[0];return o.unshift([s[0]]),o.flat().map(e=>J(e))}function ui(e,t,n={}){let r=n.exclusive??!1,i=n.steps??5,a=n.space??`oklch`,o=n.direction??`shorter`;if(!r&&i<2)throw Error(`Param 'steps' should be at least 2 when 'exclusive' is false`);if(r&&i<1)throw Error(`Param 'steps' should be at least 1 when 'exlusive' is true`);let s=Yr(e,a),c=Yr(t,a),l;switch(a){case`hsl`:l=or(s,c,o);break;case`oklch`:l=Ur(s,c,o);break;case`srgb`:l=Dr(s,c);break;default:throw Error(`Colour space '${a}' not supported for interpolation.`)}if(!l)throw Error(`Could not create interpolator for space: ${a}`);let u=0,d=0,f=1;r?(u=1/(i+1),d=u,f=1-u):u=1/(i-1);let p=[];for(let e=d;e<=f;e+=u)p.push(l(e));return p}function di(e,t){return fi(e,e=>h(e*t))}function fi(e,t){let n=$r(e),r;switch(n.space){case`hsl`:r=qn(n,t);break;case`srgb`:r=fr(n,t);break;case`oklch`:r=Hr(n,t);break;default:throw Error(`Unknown space: '${n.space}'. Expected hsl, srgb, oklch`)}if(!r)throw Error(`Is colour in correct form?`);return typeof e==`string`?J(r):r}function pi(e,t){let n=$r(e);return n.opacity=t,typeof e==`string`?J(n):n}function mi(e){return e.r<<16|e.g<<8|e.b}function hi(e){if(e>16777215)throw TypeError(`Param 'colour' is out of range. Expected max value of 16_777_215, got ${e}`);return{r:e>>16&255,g:e>>8&255,b:e&255,unit:`8bit`,space:`srgb`}}function gi(e){let t=e.r>>3&31,n=e.g>>2&63,r=e.b>>3&31;return t<<11|n<<5|r}function _i(e){if(e>65535)throw TypeError(`Param 'colour' is out of range. Expected max: 65_535. Got: ${e}`);return{r:(e>>11&31)<<3,g:(e>>5&63)<<2,b:(e&31)<<3,unit:`8bit`,space:`srgb`}}var vi=e({eightBit:()=>yi,fromCss:()=>Ti,fromHexString:()=>wi,fromSrgTo8bit:()=>xi,guard:()=>Di,scalar:()=>bi,to8bit:()=>Ci,toHexString:()=>Oi,toScalar:()=>Ei,toSrgb8bit:()=>Si});function yi(e=100,t=100,n=100,r=255){let i={unit:`8bit`,space:`ycbcr`,y:e,cb:t,cr:n,opacity:r};return Di(i),i}function bi(e=.5,t=.5,n=.5,r=1){let i={unit:`scalar`,space:`ycbcr`,y:e,cb:t,cr:n,opacity:r};return Di(i),i}function xi(e){let{r:t,g:n,b:r,opacity:i}=G(e);return yi(.299*t+.587*n+.114*r+0,-.169*t+-.331*n+.5*r+128,.5*t+-.419*n+-.081*r+128,i)}function Si(e){let{y:t,cb:n,cr:r,opacity:i}=Ci(e);return{unit:`8bit`,space:`srgb`,r:1*t+0*(n-128)+1.4*(r-128),g:1*t+-.343*(n-128)+-.711*(r-128),b:1*t+1.765*(n-128)+0*(r-128),opacity:i}}function Ci(e){if(Di(e),e.unit===`8bit`)return e;let{y:t,cb:n,cr:r,opacity:i}=e;return yi(t*255,n*255,r*255,typeof i==`number`?i*255:255)}function wi(e,t={}){return xi(pr(e,!1))}function Ti(e,t={}){let n=t.scalar??!1,r=hr(e,{fallbackString:t.fallbackString,scalar:!1,ensureSafe:t.ensureSafe});return n?Ei(xi(r)):xi(r)}function Ei(e){if(typeof e==`string`)return Ti(e,{scalar:!0});if(U(e)||W(e))return Ei(xi(br(e)));if(Di(e),e.unit===`scalar`)return e;let{y:t,cb:n,cr:r,opacity:i}=e;return bi(t/255,n/255,r/255,typeof i==`number`?i/255:1)}function Di(e){let{y:t,cb:n,cr:a,opacity:s,space:c,unit:l}=e;if(c!==`ycbcr`)throw Error(`Space is expected to be 'ycbcr'. Got: ${c}`);if(l===`8bit`)i(o(t,0,255,`y`),o(n,0,255,`cb`),o(a,0,255,`cr`),()=>{if(typeof s==`number`)return o(s,0,255,`opacity`)});else if(l===`scalar`)i(r(t,`percentage`,`y`),r(n,`percentage`,`cb`),r(a,`percentage`,`cr`),()=>{if(typeof s==`number`)return r(s,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${l}`)}function Oi(e){return gr(Si(e))}var ki=e({HslSpace:()=>Kn,OklchSpace:()=>kr,SrgbSpace:()=>dr,YCbCrSpace:()=>vi,convert:()=>q,convertScalar:()=>Yr,convertToString:()=>Jr,createSteps:()=>ui,cssDefinedHexColours:()=>K,cssLinearGradient:()=>oi,decodeRgbFrom16Bit565:()=>_i,decodeRgbFrom24Bit:()=>hi,encodeRgbTo16Bit565:()=>gi,encodeRgbTo24Bit:()=>mi,fromCssColour:()=>Kr,goldenAngleColour:()=>ni,guard:()=>Qr,interpolator:()=>ii,interpolatorDual:()=>ci,interpolatorDualToString:()=>si,isColourish:()=>Hn,isHsl:()=>U,isOkLch:()=>Vn,isRgb:()=>W,multiplyOpacity:()=>di,randomHue:()=>ri,resolveCss:()=>qr,rgbToHsl:()=>ti,scale:()=>li,setOpacity:()=>pi,toColour:()=>$r,toCssColour:()=>J,toHexColour:()=>Xr,toLibraryColour:()=>Zr,toStringFirst:()=>ei,tryParseObjectToHsl:()=>Bn,tryParseObjectToRgb:()=>zn,withOpacity:()=>fi}),Ai=e({arc:()=>Fi,bezier:()=>qi,circle:()=>Bi,connectedPoints:()=>Ui,copyToImg:()=>Ki,dot:()=>X,drawingStack:()=>Ri,ellipse:()=>Vi,getContext:()=>Mi,line:()=>Zi,lineThroughPoints:()=>zi,makeHelper:()=>Ni,paths:()=>Hi,pointLabels:()=>Wi,polarRay:()=>Xi,rect:()=>$i,textBlock:()=>ra,textBlockAligned:()=>ia,textHeight:()=>na,textRect:()=>ta,textWidth:()=>ea,translatePoint:()=>Gi,triangle:()=>Qi});const ji=Math.PI*2,Mi=e=>{if(e===null)throw Error(`canvasElCtxOrQuery null. Must be a 2d drawing context or Canvas element`);if(e===void 0)throw Error(`canvasElCtxOrQuery undefined. Must be a 2d drawing context or Canvas element`);let t=e instanceof CanvasRenderingContext2D?e:e instanceof HTMLCanvasElement?e.getContext(`2d`):typeof e==`string`?_(e).getContext(`2d`):e;if(t===null)throw Error(`Could not create 2d context for canvas`);return t},Ni=(e,t)=>{let n=Mi(e);return{ctx:n,paths(e,t){Hi(n,e,t)},polarRay(e,t){Xi(n,e,t)},line(e,t){Zi(n,e,t)},rect(e,t){$i(n,e,t)},bezier(e,t){qi(n,e,t)},connectedPoints(e,t){Ui(n,e,t)},pointLabels(e,t){Wi(n,e,t)},dot(e,t){X(n,e,t)},circle(e,t){Bi(n,e,t)},arc(e,t){Fi(n,e,t)},textBlock(e,r){r.bounds===void 0&&t!==void 0&&(r={...r,bounds:{...t,x:0,y:0}}),ra(n,e,r)}}},Pi=e=>Ii(e.strokeStyle,e.fillStyle),Y=(e,t={},...n)=>{if(e===void 0)throw Error(`ctx undefined`);let r=Ri(e).push(Pi(t),...n);return r.apply(),r},Fi=(e,t,n={})=>{Y(e,n);let r=t=>{e.beginPath(),e.arc(t.x,t.y,t.radius,t.startRadian,t.endRadian),e.stroke()},i=Array.isArray(t)?t:[t];for(let e of i)r(e)},Ii=(e,t)=>n=>{t&&(n.fillStyle=t),e&&(n.strokeStyle=e)},Li=(e,t,n)=>r=>{e&&(r.lineWidth=e),t&&(r.lineJoin=t),n&&(r.lineCap=n)},Ri=(e,t)=>(t??=new d,{push:(...n)=>{t??=new d;let r=t.push(...n);for(let t of n)t(e);return Ri(e,r)},pop:()=>{let n=t?.pop();return Ri(e,n)},apply:()=>{if(t===void 0)return Ri(e);for(let n of t.data)n(e);return Ri(e,t)}}),zi=(e,t,n)=>{Y(e,n),e.moveTo(t[0].x,t[0].y);for(let[n,r]of t.entries()){if(n+2>=t.length)continue;let i=t[n+1],a={x:(r.x+i.x)/2,y:(r.y+i.y)/2},o=(a.x+r.x)/2,s=(a.x+i.x)/2;e.quadraticCurveTo(o,i.y,a.x,a.y),e.quadraticCurveTo(s,i.y,i.x,i.y)}},Bi=(e,t,n={})=>{Y(e,n);let r=t=>{e.beginPath(),e.arc(t.x,t.y,t.radius,0,ji),n.strokeStyle&&e.stroke(),n.fillStyle&&e.fill()};if(Array.isArray(t))for(let e of t)r(e);else r(t)},Vi=(e,t,n={})=>{Y(e,n);let r=t=>{e.beginPath();let r=t.rotation??0,i=t.startAngle??0,a=t.endAngle??ji;e.ellipse(t.x,t.y,t.radiusX,t.radiusY,r,i,a),n.strokeStyle&&e.stroke(),n.fillStyle&&e.fill()},i=Array.isArray(t)?t:[t];for(let e of i)r(e)}