color-combos 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,6 +28,35 @@ The default shape of the returned array can be expressed as:
28
28
  aaa: boolean;
29
29
  aaaLarge: boolean;
30
30
  };
31
+ apca?: {
32
+ lc: number;
33
+ polarity: 'light-on-dark' | 'dark-on-light';
34
+ minimumFontSize: {
35
+ 100: number | 'prohibited';
36
+ 200: number | 'prohibited';
37
+ 300: number | 'prohibited';
38
+ 400: number | 'prohibited';
39
+ 500: number | 'prohibited';
40
+ 600: number | 'prohibited';
41
+ 700: number | 'prohibited';
42
+ 800: number | 'prohibited';
43
+ 900: number | 'prohibited';
44
+ };
45
+ fontRequirement?: {
46
+ fontSize: number;
47
+ fontWeight: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
48
+ minimumFontSize: number | 'prohibited';
49
+ meetsRequirement: boolean;
50
+ };
51
+ readability: {
52
+ fluentText: { thresholdLc: number; meets: boolean };
53
+ bodyText: { thresholdLc: number; meets: boolean };
54
+ contentText: { thresholdLc: number; meets: boolean };
55
+ largeText: { thresholdLc: number; meets: boolean };
56
+ minimumText: { thresholdLc: number; meets: boolean };
57
+ nonText: { thresholdLc: number; meets: boolean };
58
+ };
59
+ };
31
60
  }
32
61
  ];
33
62
  }
@@ -42,7 +71,7 @@ import ColorCombos from 'color-combos';
42
71
 
43
72
  ## Usage
44
73
 
45
- `ColorCombos` takes two arguments; `colors: string[] | { [name: string]: string }` and optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; }`
74
+ `ColorCombos` takes two arguments; `colors: string[] | { [name: string]: string }` and optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; apca?: { fontSize?: number; fontWeight?: FontWeight } }`
46
75
 
47
76
  ```ts
48
77
  ColorCombos(
@@ -51,6 +80,10 @@ ColorCombos(
51
80
  compact?: boolean;
52
81
  threshold?: number;
53
82
  uniq?: boolean;
83
+ apca?: {
84
+ fontSize?: number;
85
+ fontWeight?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
86
+ };
54
87
  }
55
88
  )
56
89
  ```
@@ -208,15 +241,16 @@ returns
208
241
  ]
209
242
  ```
210
243
 
211
- ### Optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; }`
244
+ ### Optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; apca?: {...} }`
212
245
 
213
- `ColorCombos` can take some optional options that can affect the returned array of colors. Options are represented as an object that can have three keys; `compact`, `threshold`, and `uniq`. By default those options are set to:
246
+ `ColorCombos` can take some optional options that can affect the returned array of colors. Options are represented as an object that can have four keys; `compact`, `threshold`, `uniq`, and `apca`. By default those options are set to:
214
247
 
215
248
  ```json
216
249
  {
217
250
  "compact": false,
218
251
  "threshold": 0,
219
- "uniq": true
252
+ "uniq": true,
253
+ "apca": undefined
220
254
  }
221
255
  ```
222
256
 
@@ -339,3 +373,66 @@ ColorCombos(['#fff', 'rgb(255,255,255)', '#000'], { compact: true, uniq: false }
339
373
  ```
340
374
 
341
375
  Even though `#fff` and `rgb(255,255,255)` are the same color, `ColorCombos` will not omit the duplicate from the returned results.
376
+
377
+ ## APCA (WCAG 3 Candidate)
378
+
379
+ `ColorCombos` includes an `apca` result for each color pair with three main features:
380
+
381
+ ### 1. Lc Value and Polarity
382
+
383
+ - `apca.lc` is the signed APCA Lightness Contrast value (negative = light text on dark background, positive = dark text on light background).
384
+ - `apca.polarity` indicates the contrast direction: `'light-on-dark'` or `'dark-on-light'`
385
+
386
+ ### 2. Minimum Font Size Lookup Table
387
+
388
+ `apca.minimumFontSize` provides the minimum font size (in px) required for each font weight at the given contrast level:
389
+
390
+ ```ts
391
+ apca.minimumFontSize: {
392
+ 100: 48, // weight 100 needs at least 48px
393
+ 200: 32, // weight 200 needs at least 32px
394
+ 300: 21,
395
+ 400: 16, // weight 400 (normal) needs at least 16px
396
+ 500: 15.5,
397
+ 600: 14.5,
398
+ 700: 14, // weight 700 (bold) needs at least 14px
399
+ 800: 16,
400
+ 900: 18
401
+ }
402
+ ```
403
+
404
+ If a weight returns `'prohibited'`, the contrast is too low for any font size at that weight.
405
+
406
+ ### 3. Font Requirement Check (Optional)
407
+
408
+ Pass `fontSize` and `fontWeight` in the options to get a `fontRequirement` result:
409
+
410
+ ```ts
411
+ ColorCombos(['white', 'black'], {
412
+ apca: { fontSize: 16, fontWeight: 400 }
413
+ });
414
+
415
+ // Returns:
416
+ apca.fontRequirement: {
417
+ fontSize: 16,
418
+ fontWeight: 400,
419
+ minimumFontSize: 16, // minimum required at this weight
420
+ meetsRequirement: true // 16px >= 16px minimum
421
+ }
422
+ ```
423
+
424
+ ### 4. Readability Thresholds
425
+
426
+ `apca.readability.*.meets` compares `Math.abs(apca.lc)` against the APCAeasyIntro "Use‑Case Ranges" thresholds:
427
+ - `fluentText`: `Lc 90` (preferred; for fluent/body text columns at ≥14px/400)
428
+ - `bodyText`: `Lc 75` (minimum; for body text columns at ≥18px/400)
429
+ - `contentText`: `Lc 60` (minimum; for content text at ≥24px/400 or ≥16px/700)
430
+ - `largeText`: `Lc 45` (minimum; for large text/headlines at ≥36px/400 or ≥24px/700)
431
+ - `minimumText`: `Lc 30` (absolute minimum; for text not listed above, and large/solid non‑text)
432
+ - `nonText`: `Lc 15` (absolute minimum; for discernible non‑text ≥5px)
433
+
434
+ ### Caveats
435
+
436
+ - APCA is the candidate contrast method for WCAG 3 and is still under development; these booleans are a convenience check against published guidance, not an official "conformance" result.
437
+ - Font size lookup values are based on the reference font (Barlow) and may vary for other typefaces.
438
+ - Inputs with alpha (e.g. `rgba(...)`) are not composited against a background for APCA; results assume opaque colors.
package/dist/index.d.ts CHANGED
@@ -1,31 +1,72 @@
1
1
  export interface Accessibility {
2
- aa: boolean;
3
- aaLarge: boolean;
4
- aaa: boolean;
5
- aaaLarge: boolean;
2
+ aa: boolean;
3
+ aaLarge: boolean;
4
+ aaa: boolean;
5
+ aaaLarge: boolean;
6
+ }
7
+ export interface ApcaEvaluation {
8
+ thresholdLc: number;
9
+ meets: boolean;
10
+ }
11
+ export type FontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
12
+ export interface MinimumFontSize {
13
+ 100: number | "prohibited";
14
+ 200: number | "prohibited";
15
+ 300: number | "prohibited";
16
+ 400: number | "prohibited";
17
+ 500: number | "prohibited";
18
+ 600: number | "prohibited";
19
+ 700: number | "prohibited";
20
+ 800: number | "prohibited";
21
+ 900: number | "prohibited";
22
+ }
23
+ export interface ApcaOptions {
24
+ fontSize?: number;
25
+ fontWeight?: FontWeight;
26
+ }
27
+ export interface FontRequirement {
28
+ fontSize: number;
29
+ fontWeight: FontWeight;
30
+ minimumFontSize: number | "prohibited";
31
+ meetsRequirement: boolean;
32
+ }
33
+ export interface ApcaAccessibility {
34
+ lc: number;
35
+ polarity: "light-on-dark" | "dark-on-light";
36
+ minimumFontSize: MinimumFontSize;
37
+ fontRequirement?: FontRequirement;
38
+ readability: {
39
+ fluentText: ApcaEvaluation;
40
+ bodyText: ApcaEvaluation;
41
+ contentText: ApcaEvaluation;
42
+ largeText: ApcaEvaluation;
43
+ minimumText: ApcaEvaluation;
44
+ nonText: ApcaEvaluation;
45
+ };
6
46
  }
7
47
  export interface Combination {
8
- accessibility: Accessibility;
9
- color?: number[];
10
- contrast: number;
11
- hex: string;
12
- model?: string;
13
- valpha?: number;
48
+ accessibility: Accessibility;
49
+ color?: number[];
50
+ contrast: number;
51
+ hex: string;
52
+ model?: string;
53
+ valpha?: number;
54
+ apca?: ApcaAccessibility;
14
55
  }
15
56
  export interface ColorCombo {
16
- color?: number[];
17
- combinations: Combination[];
18
- hex: string;
19
- model?: string;
20
- valpha?: number;
57
+ color?: number[];
58
+ combinations: Combination[];
59
+ hex: string;
60
+ model?: string;
61
+ valpha?: number;
21
62
  }
22
63
  interface Options {
23
- threshold?: number;
24
- compact?: boolean;
25
- uniq?: boolean;
64
+ threshold?: number;
65
+ compact?: boolean;
66
+ uniq?: boolean;
67
+ apca?: ApcaOptions;
26
68
  }
27
69
  declare const ColorCombos: (colors: string[] | {
28
- [name: string]: string;
70
+ [name: string]: string;
29
71
  }, options?: Options) => ColorCombo[] | false;
30
72
  export default ColorCombos;
31
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var W2=Object.create;var{getPrototypeOf:Z2,defineProperty:z,getOwnPropertyNames:s,getOwnPropertyDescriptor:U2}=Object,t=Object.prototype.hasOwnProperty;var Y2=(q,O,L)=>{L=q!=null?W2(Z2(q)):{};let Q=O||!q||!q.__esModule?z(L,"default",{value:q,enumerable:!0}):L;for(let X of s(q))if(!t.call(Q,X))z(Q,X,{get:()=>q[X],enumerable:!0});return Q},o=new WeakMap,J2=(q)=>{var O=o.get(q),L;if(O)return O;if(O=z({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function")s(q).map((Q)=>!t.call(O,Q)&&z(O,Q,{get:()=>q[Q],enumerable:!(L=U2(q,Q))||L.enumerable}));return o.set(q,O),O},G2=(q,O)=>()=>(O||q((O={exports:{}}).exports,O),O.exports);var E2=(q,O)=>{for(var L in O)z(q,L,{get:O[L],enumerable:!0,configurable:!0,set:(Q)=>O[L]=()=>Q})};var V2=G2((u5,$2)=>{var N2=200,v="__lodash_hash_undefined__",C2=1/0,M2="[object Function]",z2="[object GeneratorFunction]",j2=/[\\^$.*+?()[\]{}|]/g,w2=/^\[object .+?Constructor\]$/,k2=typeof global=="object"&&global&&global.Object===Object&&global,f2=typeof self=="object"&&self&&self.Object===Object&&self,h=k2||f2||Function("return this")();function x2(q,O){var L=q?q.length:0;return!!L&&y2(q,O,0)>-1}function p2(q,O,L){var Q=-1,X=q?q.length:0;while(++Q<X)if(L(O,q[Q]))return!0;return!1}function d2(q,O,L,Q){var X=q.length,V=L+(Q?1:-1);while(Q?V--:++V<X)if(O(q[V],V,q))return V;return-1}function y2(q,O,L){if(O!==O)return d2(q,u2,L);var Q=L-1,X=q.length;while(++Q<X)if(q[Q]===O)return Q;return-1}function u2(q){return q!==q}function i2(q,O){return q.has(O)}function m2(q,O){return q==null?void 0:q[O]}function b2(q){var O=!1;if(q!=null&&typeof q.toString!="function")try{O=!!(q+"")}catch(L){}return O}function O2(q){var O=-1,L=Array(q.size);return q.forEach(function(Q){L[++O]=Q}),L}var v2=Array.prototype,h2=Function.prototype,L2=Object.prototype,m=h["__core-js_shared__"],q2=function(){var q=/[^.]+$/.exec(m&&m.keys&&m.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}(),Q2=h2.toString,n=L2.hasOwnProperty,n2=L2.toString,g2=RegExp("^"+Q2.call(n).replace(j2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),c2=v2.splice,o2=g(h,"Map"),b=g(h,"Set"),j=g(Object,"create");function S(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function s2(){this.__data__=j?j(null):{}}function t2(q){return this.has(q)&&delete this.__data__[q]}function l2(q){var O=this.__data__;if(j){var L=O[q];return L===v?void 0:L}return n.call(O,q)?O[q]:void 0}function a2(q){var O=this.__data__;return j?O[q]!==void 0:n.call(O,q)}function r2(q,O){var L=this.__data__;return L[q]=j&&O===void 0?v:O,this}S.prototype.clear=s2;S.prototype.delete=t2;S.prototype.get=l2;S.prototype.has=a2;S.prototype.set=r2;function C(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function e2(){this.__data__=[]}function q5(q){var O=this.__data__,L=x(O,q);if(L<0)return!1;var Q=O.length-1;if(L==Q)O.pop();else c2.call(O,L,1);return!0}function O5(q){var O=this.__data__,L=x(O,q);return L<0?void 0:O[L][1]}function L5(q){return x(this.__data__,q)>-1}function Q5(q,O){var L=this.__data__,Q=x(L,q);if(Q<0)L.push([q,O]);else L[Q][1]=O;return this}C.prototype.clear=e2;C.prototype.delete=q5;C.prototype.get=O5;C.prototype.has=L5;C.prototype.set=Q5;function M(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function X5(){this.__data__={hash:new S,map:new(o2||C),string:new S}}function $5(q){return p(this,q).delete(q)}function V5(q){return p(this,q).get(q)}function W5(q){return p(this,q).has(q)}function Z5(q,O){return p(this,q).set(q,O),this}M.prototype.clear=X5;M.prototype.delete=$5;M.prototype.get=V5;M.prototype.has=W5;M.prototype.set=Z5;function f(q){var O=-1,L=q?q.length:0;this.__data__=new M;while(++O<L)this.add(q[O])}function U5(q){return this.__data__.set(q,v),this}function Y5(q){return this.__data__.has(q)}f.prototype.add=f.prototype.push=U5;f.prototype.has=Y5;function x(q,O){var L=q.length;while(L--)if(F5(q[L][0],O))return L;return-1}function J5(q){if(!X2(q)||B5(q))return!1;var O=D5(q)||b2(q)?g2:w2;return O.test(R5(q))}function G5(q,O,L){var Q=-1,X=x2,V=q.length,$=!0,W=[],Z=W;if(L)$=!1,X=p2;else if(V>=N2){var Y=O?null:E5(q);if(Y)return O2(Y);$=!1,X=i2,Z=new f}else Z=O?[]:W;q:while(++Q<V){var J=q[Q],P=O?O(J):J;if(J=L||J!==0?J:0,$&&P===P){var w=Z.length;while(w--)if(Z[w]===P)continue q;if(O)Z.push(P);W.push(J)}else if(!X(Z,P,L)){if(Z!==W)Z.push(P);W.push(J)}}return W}var E5=!(b&&1/O2(new b([,-0]))[1]==C2)?A5:function(q){return new b(q)};function p(q,O){var L=q.__data__;return P5(O)?L[typeof O=="string"?"string":"hash"]:L.map}function g(q,O){var L=m2(q,O);return J5(L)?L:void 0}function P5(q){var O=typeof q;return O=="string"||O=="number"||O=="symbol"||O=="boolean"?q!=="__proto__":q===null}function B5(q){return!!q2&&q2 in q}function R5(q){if(q!=null){try{return Q2.call(q)}catch(O){}try{return q+""}catch(O){}}return""}function K5(q){return q&&q.length?G5(q):[]}function F5(q,O){return q===O||q!==q&&O!==O}function D5(q){var O=X2(q)?n2.call(q):"";return O==M2||O==z2}function X2(q){var O=typeof q;return!!q&&(O=="object"||O=="function")}function A5(){}$2.exports=K5});var T5={};E2(T5,{default:()=>S5});module.exports=J2(T5);var F={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var l=Object.create(null);for(let q in F)if(Object.hasOwn(F,q))l[F[q]]=q;var R={to:{},get:{}};R.get=function(q){let O=q.slice(0,3).toLowerCase(),L,Q;switch(O){case"hsl":{L=R.get.hsl(q),Q="hsl";break}case"hwb":{L=R.get.hwb(q),Q="hwb";break}default:{L=R.get.rgb(q),Q="rgb";break}}if(!L)return null;return{model:Q,value:L}};R.get.rgb=function(q){if(!q)return null;let O=/^#([a-f\d]{3,4})$/i,L=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Q=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,X=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,V=/^(\w+)$/,$=[0,0,0,1],W,Z,Y;if(W=q.match(L)){Y=W[2],W=W[1];for(Z=0;Z<3;Z++){let J=Z*2;$[Z]=Number.parseInt(W.slice(J,J+2),16)}if(Y)$[3]=Number.parseInt(Y,16)/255}else if(W=q.match(O)){W=W[1],Y=W[3];for(Z=0;Z<3;Z++)$[Z]=Number.parseInt(W[Z]+W[Z],16);if(Y)$[3]=Number.parseInt(Y+Y,16)/255}else if(W=q.match(Q)){for(Z=0;Z<3;Z++)$[Z]=Number.parseInt(W[Z+1],10);if(W[4])$[3]=W[5]?Number.parseFloat(W[4])*0.01:Number.parseFloat(W[4])}else if(W=q.match(X)){for(Z=0;Z<3;Z++)$[Z]=Math.round(Number.parseFloat(W[Z+1])*2.55);if(W[4])$[3]=W[5]?Number.parseFloat(W[4])*0.01:Number.parseFloat(W[4])}else if(W=q.match(V)){if(W[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(F,W[1]))return null;return $=F[W[1]],$[3]=1,$}else return null;for(Z=0;Z<3;Z++)$[Z]=H($[Z],0,255);return $[3]=H($[3],0,1),$};R.get.hsl=function(q){if(!q)return null;let O=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,L=q.match(O);if(L){let Q=Number.parseFloat(L[4]),X=(Number.parseFloat(L[1])%360+360)%360,V=H(Number.parseFloat(L[2]),0,100),$=H(Number.parseFloat(L[3]),0,100),W=H(Number.isNaN(Q)?1:Q,0,1);return[X,V,$,W]}return null};R.get.hwb=function(q){if(!q)return null;let O=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,L=q.match(O);if(L){let Q=Number.parseFloat(L[4]),X=(Number.parseFloat(L[1])%360+360)%360,V=H(Number.parseFloat(L[2]),0,100),$=H(Number.parseFloat(L[3]),0,100),W=H(Number.isNaN(Q)?1:Q,0,1);return[X,V,$,W]}return null};R.to.hex=function(...q){return"#"+k(q[0])+k(q[1])+k(q[2])+(q[3]<1?k(Math.round(q[3]*255)):"")};R.to.rgb=function(...q){return q.length<4||q[3]===1?"rgb("+Math.round(q[0])+", "+Math.round(q[1])+", "+Math.round(q[2])+")":"rgba("+Math.round(q[0])+", "+Math.round(q[1])+", "+Math.round(q[2])+", "+q[3]+")"};R.to.rgb.percent=function(...q){let O=Math.round(q[0]/255*100),L=Math.round(q[1]/255*100),Q=Math.round(q[2]/255*100);return q.length<4||q[3]===1?"rgb("+O+"%, "+L+"%, "+Q+"%)":"rgba("+O+"%, "+L+"%, "+Q+"%, "+q[3]+")"};R.to.hsl=function(...q){return q.length<4||q[3]===1?"hsl("+q[0]+", "+q[1]+"%, "+q[2]+"%)":"hsla("+q[0]+", "+q[1]+"%, "+q[2]+"%, "+q[3]+")"};R.to.hwb=function(...q){let O="";if(q.length>=4&&q[3]!==1)O=", "+q[3];return"hwb("+q[0]+", "+q[1]+"%, "+q[2]+"%"+O+")"};R.to.keyword=function(...q){return l[q.slice(0,3)]};function H(q,O,L){return Math.min(Math.max(O,q),L)}function k(q){let O=Math.round(q).toString(16).toUpperCase();return O.length<2?"0"+O:O}var T=R;var a={};for(let q of Object.keys(F))a[F[q]]=q;var U={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},A=U,D=0.008856451679035631;function I(q){let O=q>0.0031308?1.055*q**0.4166666666666667-0.055:q*12.92;return Math.min(Math.max(0,O),1)}function _(q){return q>0.04045?((q+0.055)/1.055)**2.4:q/12.92}for(let q of Object.keys(U)){if(!("channels"in U[q]))throw new Error("missing channels property: "+q);if(!("labels"in U[q]))throw new Error("missing channel labels property: "+q);if(U[q].labels.length!==U[q].channels)throw new Error("channel and label counts mismatch: "+q);let{channels:O,labels:L}=U[q];delete U[q].channels,delete U[q].labels,Object.defineProperty(U[q],"channels",{value:O}),Object.defineProperty(U[q],"labels",{value:L})}U.rgb.hsl=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.min(O,L,Q),V=Math.max(O,L,Q),$=V-X,W,Z;switch(V){case X:{W=0;break}case O:{W=(L-Q)/$;break}case L:{W=2+(Q-O)/$;break}case Q:{W=4+(O-L)/$;break}}if(W=Math.min(W*60,360),W<0)W+=360;let Y=(X+V)/2;if(V===X)Z=0;else if(Y<=0.5)Z=$/(V+X);else Z=$/(2-V-X);return[W,Z*100,Y*100]};U.rgb.hsv=function(q){let O,L,Q,X,V,$=q[0]/255,W=q[1]/255,Z=q[2]/255,Y=Math.max($,W,Z),J=Y-Math.min($,W,Z),P=function(w){return(Y-w)/6/J+0.5};if(J===0)X=0,V=0;else{switch(V=J/Y,O=P($),L=P(W),Q=P(Z),Y){case $:{X=Q-L;break}case W:{X=0.3333333333333333+O-Q;break}case Z:{X=0.6666666666666666+L-O;break}}if(X<0)X+=1;else if(X>1)X-=1}return[X*360,V*100,Y*100]};U.rgb.hwb=function(q){let O=q[0],L=q[1],Q=q[2],X=U.rgb.hsl(q)[0],V=0.00392156862745098*Math.min(O,Math.min(L,Q));return Q=1-0.00392156862745098*Math.max(O,Math.max(L,Q)),[X,V*100,Q*100]};U.rgb.oklab=function(q){let O=_(q[0]/255),L=_(q[1]/255),Q=_(q[2]/255),X=Math.cbrt(0.4122214708*O+0.5363325363*L+0.0514459929*Q),V=Math.cbrt(0.2119034982*O+0.6806995451*L+0.1073969566*Q),$=Math.cbrt(0.0883024619*O+0.2817188376*L+0.6299787005*Q),W=0.2104542553*X+0.793617785*V-0.0040720468*$,Z=1.9779984951*X-2.428592205*V+0.4505937099*$,Y=0.0259040371*X+0.7827717662*V-0.808675766*$;return[W*100,Z*100,Y*100]};U.rgb.cmyk=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.min(1-O,1-L,1-Q),V=(1-O-X)/(1-X)||0,$=(1-L-X)/(1-X)||0,W=(1-Q-X)/(1-X)||0;return[V*100,$*100,W*100,X*100]};function P2(q,O){return(q[0]-O[0])**2+(q[1]-O[1])**2+(q[2]-O[2])**2}U.rgb.keyword=function(q){let O=a[q];if(O)return O;let L=Number.POSITIVE_INFINITY,Q;for(let X of Object.keys(F)){let V=F[X],$=P2(q,V);if($<L)L=$,Q=X}return Q};U.keyword.rgb=function(q){return F[q]};U.rgb.xyz=function(q){let O=_(q[0]/255),L=_(q[1]/255),Q=_(q[2]/255),X=O*0.4124564+L*0.3575761+Q*0.1804375,V=O*0.2126729+L*0.7151522+Q*0.072175,$=O*0.0193339+L*0.119192+Q*0.9503041;return[X*100,V*100,$*100]};U.rgb.lab=function(q){let O=U.rgb.xyz(q),L=O[0],Q=O[1],X=O[2];L/=95.047,Q/=100,X/=108.883,L=L>D?L**0.3333333333333333:7.787*L+0.13793103448275862,Q=Q>D?Q**0.3333333333333333:7.787*Q+0.13793103448275862,X=X>D?X**0.3333333333333333:7.787*X+0.13793103448275862;let V=116*Q-16,$=500*(L-Q),W=200*(Q-X);return[V,$,W]};U.hsl.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100,X,V;if(L===0)return V=Q*255,[V,V,V];let $=Q<0.5?Q*(1+L):Q+L-Q*L,W=2*Q-$,Z=[0,0,0];for(let Y=0;Y<3;Y++){if(X=O+0.3333333333333333*-(Y-1),X<0)X++;if(X>1)X--;if(6*X<1)V=W+($-W)*6*X;else if(2*X<1)V=$;else if(3*X<2)V=W+($-W)*(0.6666666666666666-X)*6;else V=W;Z[Y]=V*255}return Z};U.hsl.hsv=function(q){let O=q[0],L=q[1]/100,Q=q[2]/100,X=L,V=Math.max(Q,0.01);Q*=2,L*=Q<=1?Q:2-Q,X*=V<=1?V:2-V;let $=(Q+L)/2,W=Q===0?2*X/(V+X):2*L/(Q+L);return[O,W*100,$*100]};U.hsv.rgb=function(q){let O=q[0]/60,L=q[1]/100,Q=q[2]/100,X=Math.floor(O)%6,V=O-Math.floor(O),$=255*Q*(1-L),W=255*Q*(1-L*V),Z=255*Q*(1-L*(1-V));switch(Q*=255,X){case 0:return[Q,Z,$];case 1:return[W,Q,$];case 2:return[$,Q,Z];case 3:return[$,W,Q];case 4:return[Z,$,Q];case 5:return[Q,$,W]}};U.hsv.hsl=function(q){let O=q[0],L=q[1]/100,Q=q[2]/100,X=Math.max(Q,0.01),V,$;$=(2-L)*Q;let W=(2-L)*X;return V=L*X,V/=W<=1?W:2-W,V=V||0,$/=2,[O,V*100,$*100]};U.hwb.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100,X=L+Q,V;if(X>1)L/=X,Q/=X;let $=Math.floor(6*O),W=1-Q;if(V=6*O-$,($&1)!==0)V=1-V;let Z=L+V*(W-L),Y,J,P;switch($){default:case 6:case 0:{Y=W,J=Z,P=L;break}case 1:{Y=Z,J=W,P=L;break}case 2:{Y=L,J=W,P=Z;break}case 3:{Y=L,J=Z,P=W;break}case 4:{Y=Z,J=L,P=W;break}case 5:{Y=W,J=L,P=Z;break}}return[Y*255,J*255,P*255]};U.cmyk.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=q[3]/100,V=1-Math.min(1,O*(1-X)+X),$=1-Math.min(1,L*(1-X)+X),W=1-Math.min(1,Q*(1-X)+X);return[V*255,$*255,W*255]};U.xyz.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X,V,$;return X=O*3.2404542+L*-1.5371385+Q*-0.4985314,V=O*-0.969266+L*1.8760108+Q*0.041556,$=O*0.0556434+L*-0.2040259+Q*1.0572252,X=I(X),V=I(V),$=I($),[X*255,V*255,$*255]};U.xyz.lab=function(q){let O=q[0],L=q[1],Q=q[2];O/=95.047,L/=100,Q/=108.883,O=O>D?O**0.3333333333333333:7.787*O+0.13793103448275862,L=L>D?L**0.3333333333333333:7.787*L+0.13793103448275862,Q=Q>D?Q**0.3333333333333333:7.787*Q+0.13793103448275862;let X=116*L-16,V=500*(O-L),$=200*(L-Q);return[X,V,$]};U.xyz.oklab=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=Math.cbrt(0.8189330101*O+0.3618667424*L-0.1288597137*Q),V=Math.cbrt(0.0329845436*O+0.9293118715*L+0.0361456387*Q),$=Math.cbrt(0.0482003018*O+0.2643662691*L+0.633851707*Q),W=0.2104542553*X+0.793617785*V-0.0040720468*$,Z=1.9779984951*X-2.428592205*V+0.4505937099*$,Y=0.0259040371*X+0.7827717662*V-0.808675766*$;return[W*100,Z*100,Y*100]};U.oklab.oklch=function(q){return U.lab.lch(q)};U.oklab.xyz=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=(0.999999998*O+0.396337792*L+0.215803758*Q)**3,V=(1.000000008*O-0.105561342*L-0.063854175*Q)**3,$=(1.000000055*O-0.089484182*L-1.291485538*Q)**3,W=1.227013851*X-0.55779998*V+0.281256149*$,Z=-0.040580178*X+1.11225687*V-0.071676679*$,Y=-0.076381285*X-0.421481978*V+1.58616322*$;return[W*100,Z*100,Y*100]};U.oklab.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=(O+0.3963377774*L+0.2158037573*Q)**3,V=(O-0.1055613458*L-0.0638541728*Q)**3,$=(O-0.0894841775*L-1.291485548*Q)**3,W=I(4.0767416621*X-3.3077115913*V+0.2309699292*$),Z=I(-1.2684380046*X+2.6097574011*V-0.3413193965*$),Y=I(-0.0041960863*X-0.7034186147*V+1.707614701*$);return[W*255,Z*255,Y*255]};U.oklch.oklab=function(q){return U.lch.lab(q)};U.lab.xyz=function(q){let O=q[0],L=q[1],Q=q[2],X,V,$;V=(O+16)/116,X=L/500+V,$=V-Q/200;let W=V**3,Z=X**3,Y=$**3;return V=W>D?W:(V-0.13793103448275862)/7.787,X=Z>D?Z:(X-0.13793103448275862)/7.787,$=Y>D?Y:($-0.13793103448275862)/7.787,X*=95.047,V*=100,$*=108.883,[X,V,$]};U.lab.lch=function(q){let O=q[0],L=q[1],Q=q[2],X;if(X=Math.atan2(Q,L)*360/2/Math.PI,X<0)X+=360;let $=Math.sqrt(L*L+Q*Q);return[O,$,X]};U.lch.lab=function(q){let O=q[0],L=q[1],X=q[2]/360*2*Math.PI,V=L*Math.cos(X),$=L*Math.sin(X);return[O,V,$]};U.rgb.ansi16=function(q,O=null){let[L,Q,X]=q,V=O===null?U.rgb.hsv(q)[2]:O;if(V=Math.round(V/50),V===0)return 30;let $=30+(Math.round(X/255)<<2|Math.round(Q/255)<<1|Math.round(L/255));if(V===2)$+=60;return $};U.hsv.ansi16=function(q){return U.rgb.ansi16(U.hsv.rgb(q),q[2])};U.rgb.ansi256=function(q){let O=q[0],L=q[1],Q=q[2];if(O>>4===L>>4&&L>>4===Q>>4){if(O<8)return 16;if(O>248)return 231;return Math.round((O-8)/247*24)+232}return 16+36*Math.round(O/255*5)+6*Math.round(L/255*5)+Math.round(Q/255*5)};U.ansi16.rgb=function(q){q=q[0];let O=q%10;if(O===0||O===7){if(q>50)O+=3.5;return O=O/10.5*255,[O,O,O]}let L=(Math.trunc(q>50)+1)*0.5,Q=(O&1)*L*255,X=(O>>1&1)*L*255,V=(O>>2&1)*L*255;return[Q,X,V]};U.ansi256.rgb=function(q){if(q=q[0],q>=232){let V=(q-232)*10+8;return[V,V,V]}q-=16;let O,L=Math.floor(q/36)/5*255,Q=Math.floor((O=q%36)/6)/5*255,X=O%6/5*255;return[L,Q,X]};U.rgb.hex=function(q){let L=(((Math.round(q[0])&255)<<16)+((Math.round(q[1])&255)<<8)+(Math.round(q[2])&255)).toString(16).toUpperCase();return"000000".slice(L.length)+L};U.hex.rgb=function(q){let O=q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!O)return[0,0,0];let L=O[0];if(O[0].length===3)L=[...L].map((W)=>W+W).join("");let Q=Number.parseInt(L,16),X=Q>>16&255,V=Q>>8&255,$=Q&255;return[X,V,$]};U.rgb.hcg=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.max(Math.max(O,L),Q),V=Math.min(Math.min(O,L),Q),$=X-V,W,Z=$<1?V/(1-$):0;if($<=0)W=0;else if(X===O)W=(L-Q)/$%6;else if(X===L)W=2+(Q-O)/$;else W=4+(O-L)/$;return W/=6,W%=1,[W*360,$*100,Z*100]};U.hsl.hcg=function(q){let O=q[1]/100,L=q[2]/100,Q=L<0.5?2*O*L:2*O*(1-L),X=0;if(Q<1)X=(L-0.5*Q)/(1-Q);return[q[0],Q*100,X*100]};U.hsv.hcg=function(q){let O=q[1]/100,L=q[2]/100,Q=O*L,X=0;if(Q<1)X=(L-Q)/(1-Q);return[q[0],Q*100,X*100]};U.hcg.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100;if(L===0)return[Q*255,Q*255,Q*255];let X=[0,0,0],V=O%1*6,$=V%1,W=1-$,Z=0;switch(Math.floor(V)){case 0:{X[0]=1,X[1]=$,X[2]=0;break}case 1:{X[0]=W,X[1]=1,X[2]=0;break}case 2:{X[0]=0,X[1]=1,X[2]=$;break}case 3:{X[0]=0,X[1]=W,X[2]=1;break}case 4:{X[0]=$,X[1]=0,X[2]=1;break}default:X[0]=1,X[1]=0,X[2]=W}return Z=(1-L)*Q,[(L*X[0]+Z)*255,(L*X[1]+Z)*255,(L*X[2]+Z)*255]};U.hcg.hsv=function(q){let O=q[1]/100,L=q[2]/100,Q=O+L*(1-O),X=0;if(Q>0)X=O/Q;return[q[0],X*100,Q*100]};U.hcg.hsl=function(q){let O=q[1]/100,Q=q[2]/100*(1-O)+0.5*O,X=0;if(Q>0&&Q<0.5)X=O/(2*Q);else if(Q>=0.5&&Q<1)X=O/(2*(1-Q));return[q[0],X*100,Q*100]};U.hcg.hwb=function(q){let O=q[1]/100,L=q[2]/100,Q=O+L*(1-O);return[q[0],(Q-O)*100,(1-Q)*100]};U.hwb.hcg=function(q){let O=q[1]/100,Q=1-q[2]/100,X=Q-O,V=0;if(X<1)V=(Q-X)/(1-X);return[q[0],X*100,V*100]};U.apple.rgb=function(q){return[q[0]/65535*255,q[1]/65535*255,q[2]/65535*255]};U.rgb.apple=function(q){return[q[0]/255*65535,q[1]/255*65535,q[2]/255*65535]};U.gray.rgb=function(q){return[q[0]/100*255,q[0]/100*255,q[0]/100*255]};U.gray.hsl=function(q){return[0,0,q[0]]};U.gray.hsv=U.gray.hsl;U.gray.hwb=function(q){return[0,100,q[0]]};U.gray.cmyk=function(q){return[0,0,0,q[0]]};U.gray.lab=function(q){return[q[0],0,0]};U.gray.hex=function(q){let O=Math.round(q[0]/100*255)&255,Q=((O<<16)+(O<<8)+O).toString(16).toUpperCase();return"000000".slice(Q.length)+Q};U.rgb.gray=function(q){return[(q[0]+q[1]+q[2])/3/255*100]};function B2(){let q={},O=Object.keys(A);for(let{length:L}=O,Q=0;Q<L;Q++)q[O[Q]]={distance:-1,parent:null};return q}function R2(q){let O=B2(),L=[q];O[q].distance=0;while(L.length>0){let Q=L.pop(),X=Object.keys(A[Q]);for(let{length:V}=X,$=0;$<V;$++){let W=X[$],Z=O[W];if(Z.distance===-1)Z.distance=O[Q].distance+1,Z.parent=Q,L.unshift(W)}}return O}function K2(q,O){return function(L){return O(q(L))}}function F2(q,O){let L=[O[q].parent,q],Q=A[O[q].parent][q],X=O[q].parent;while(O[X].parent)L.unshift(O[X].parent),Q=K2(A[O[X].parent][X],Q),X=O[X].parent;return Q.conversion=L,Q}function D2(q){let O=R2(q),L={},Q=Object.keys(O);for(let{length:X}=Q,V=0;V<X;V++){let $=Q[V];if(O[$].parent===null)continue;L[$]=F2($,O)}return L}var r=D2;var N={},A2=Object.keys(A);function H2(q){let O=function(...L){let Q=L[0];if(Q===void 0||Q===null)return Q;if(Q.length>1)L=Q;return q(L)};if("conversion"in q)O.conversion=q.conversion;return O}function T2(q){let O=function(...L){let Q=L[0];if(Q===void 0||Q===null)return Q;if(Q.length>1)L=Q;let X=q(L);if(typeof X==="object")for(let{length:V}=X,$=0;$<V;$++)X[$]=Math.round(X[$]);return X};if("conversion"in q)O.conversion=q.conversion;return O}for(let q of A2){N[q]={},Object.defineProperty(N[q],"channels",{value:A[q].channels}),Object.defineProperty(N[q],"labels",{value:A[q].labels});let O=r(q),L=Object.keys(O);for(let Q of L){let X=O[Q];N[q][Q]=T2(X),N[q][Q].raw=H2(X)}}var K=N;var e=["keyword","gray","hex"],d={};for(let q of Object.keys(K))d[[...K[q].labels].sort().join("")]=q;var y={};function B(q,O){if(!(this instanceof B))return new B(q,O);if(O&&O in e)O=null;if(O&&!(O in K))throw new Error("Unknown model: "+O);let L,Q;if(q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(q instanceof B)this.model=q.model,this.color=[...q.color],this.valpha=q.valpha;else if(typeof q==="string"){let X=T.get(q);if(X===null)throw new Error("Unable to parse color from string: "+q);this.model=X.model,Q=K[this.model].channels,this.color=X.value.slice(0,Q),this.valpha=typeof X.value[Q]==="number"?X.value[Q]:1}else if(q.length>0){this.model=O||"rgb",Q=K[this.model].channels;let X=Array.prototype.slice.call(q,0,Q);this.color=u(X,Q),this.valpha=typeof q[Q]==="number"?q[Q]:1}else if(typeof q==="number")this.model="rgb",this.color=[q>>16&255,q>>8&255,q&255],this.valpha=1;else{this.valpha=1;let X=Object.keys(q);if("alpha"in q)X.splice(X.indexOf("alpha"),1),this.valpha=typeof q.alpha==="number"?q.alpha:0;let V=X.sort().join("");if(!(V in d))throw new Error("Unable to parse color from object: "+JSON.stringify(q));this.model=d[V];let{labels:$}=K[this.model],W=[];for(L=0;L<$.length;L++)W.push(q[$[L]]);this.color=u(W)}if(y[this.model]){Q=K[this.model].channels;for(L=0;L<Q;L++){let X=y[this.model][L];if(X)this.color[L]=X(this.color[L])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}B.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(q){let O=this.model in T.to?this:this.rgb();O=O.round(typeof q==="number"?q:1);let L=O.valpha===1?O.color:[...O.color,this.valpha];return T.to[O.model](...L)},percentString(q){let O=this.rgb().round(typeof q==="number"?q:1),L=O.valpha===1?O.color:[...O.color,this.valpha];return T.to.rgb.percent(...L)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let q={},{channels:O}=K[this.model],{labels:L}=K[this.model];for(let Q=0;Q<O;Q++)q[L[Q]]=this.color[Q];if(this.valpha!==1)q.alpha=this.valpha;return q},unitArray(){let q=this.rgb().color;if(q[0]/=255,q[1]/=255,q[2]/=255,this.valpha!==1)q.push(this.valpha);return q},unitObject(){let q=this.rgb().object();if(q.r/=255,q.g/=255,q.b/=255,this.valpha!==1)q.alpha=this.valpha;return q},round(q){return q=Math.max(q||0,0),new B([...this.color.map(I2(q)),this.valpha],this.model)},alpha(q){if(q!==void 0)return new B([...this.color,Math.max(0,Math.min(1,q))],this.model);return this.valpha},red:G("rgb",0,E(255)),green:G("rgb",1,E(255)),blue:G("rgb",2,E(255)),hue:G(["hsl","hsv","hsl","hwb","hcg"],0,(q)=>(q%360+360)%360),saturationl:G("hsl",1,E(100)),lightness:G("hsl",2,E(100)),saturationv:G("hsv",1,E(100)),value:G("hsv",2,E(100)),chroma:G("hcg",1,E(100)),gray:G("hcg",2,E(100)),white:G("hwb",1,E(100)),wblack:G("hwb",2,E(100)),cyan:G("cmyk",0,E(100)),magenta:G("cmyk",1,E(100)),yellow:G("cmyk",2,E(100)),black:G("cmyk",3,E(100)),x:G("xyz",0,E(95.047)),y:G("xyz",1,E(100)),z:G("xyz",2,E(108.833)),l:G("lab",0,E(100)),a:G("lab",1),b:G("lab",2),keyword(q){if(q!==void 0)return new B(q);return K[this.model].keyword(this.color)},hex(q){if(q!==void 0)return new B(q);return T.to.hex(...this.rgb().round().color)},hexa(q){if(q!==void 0)return new B(q);let O=this.rgb().round().color,L=Math.round(this.valpha*255).toString(16).toUpperCase();if(L.length===1)L="0"+L;return T.to.hex(...O)+L},rgbNumber(){let q=this.rgb().color;return(q[0]&255)<<16|(q[1]&255)<<8|q[2]&255},luminosity(){let q=this.rgb().color,O=[];for(let[L,Q]of q.entries()){let X=Q/255;O[L]=X<=0.04045?X/12.92:((X+0.055)/1.055)**2.4}return 0.2126*O[0]+0.7152*O[1]+0.0722*O[2]},contrast(q){let O=this.luminosity(),L=q.luminosity();if(O>L)return(O+0.05)/(L+0.05);return(L+0.05)/(O+0.05)},level(q){let O=this.contrast(q);if(O>=7)return"AAA";return O>=4.5?"AA":""},isDark(){let q=this.rgb().color;return(q[0]*2126+q[1]*7152+q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let q=this.rgb();for(let O=0;O<3;O++)q.color[O]=255-q.color[O];return q},lighten(q){let O=this.hsl();return O.color[2]+=O.color[2]*q,O},darken(q){let O=this.hsl();return O.color[2]-=O.color[2]*q,O},saturate(q){let O=this.hsl();return O.color[1]+=O.color[1]*q,O},desaturate(q){let O=this.hsl();return O.color[1]-=O.color[1]*q,O},whiten(q){let O=this.hwb();return O.color[1]+=O.color[1]*q,O},blacken(q){let O=this.hwb();return O.color[2]+=O.color[2]*q,O},grayscale(){let q=this.rgb().color,O=q[0]*0.3+q[1]*0.59+q[2]*0.11;return B.rgb(O,O,O)},fade(q){return this.alpha(this.valpha-this.valpha*q)},opaquer(q){return this.alpha(this.valpha+this.valpha*q)},rotate(q){let O=this.hsl(),L=O.color[0];return L=(L+q)%360,L=L<0?360+L:L,O.color[0]=L,O},mix(q,O){if(!q||!q.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof q);let L=q.rgb(),Q=this.rgb(),X=O===void 0?0.5:O,V=2*X-1,$=L.alpha()-Q.alpha(),W=((V*$===-1?V:(V+$)/(1+V*$))+1)/2,Z=1-W;return B.rgb(W*L.red()+Z*Q.red(),W*L.green()+Z*Q.green(),W*L.blue()+Z*Q.blue(),L.alpha()*X+Q.alpha()*(1-X))}};for(let q of Object.keys(K)){if(e.includes(q))continue;let{channels:O}=K[q];B.prototype[q]=function(...L){if(this.model===q)return new B(this);if(L.length>0)return new B(L,q);return new B([..._2(K[this.model][q].raw(this.color)),this.valpha],q)},B[q]=function(...L){let Q=L[0];if(typeof Q==="number")Q=u(L,O);return new B(Q,q)}}function S2(q,O){return Number(q.toFixed(O))}function I2(q){return function(O){return S2(O,q)}}function G(q,O,L){q=Array.isArray(q)?q:[q];for(let Q of q)(y[Q]||=[])[O]=L;return q=q[0],function(Q){let X;if(Q!==void 0){if(L)Q=L(Q);return X=this[q](),X.color[O]=Q,X}if(X=this[q]().color[O],L)X=L(X);return X}}function E(q){return function(O){return Math.max(0,Math.min(q,O))}}function _2(q){return Array.isArray(q)?q:[q]}function u(q,O){for(let L=0;L<O;L++)if(typeof q[L]!=="number")q[L]=0;return q}var i=B;var c=Y2(V2()),H5=(q,O={})=>{let L=[],Q=[],X={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},$=Object.assign({threshold:0,compact:!1,uniq:!0},O);if(Array.isArray(q)){let W=q;if($.uniq)W=c.default(q);if(W!==void 0)L=W.map((Z)=>i(Z))}else if(typeof q==="object"){if(L=Object.keys(q).map((W)=>i(q[W])),$.uniq)L=c.default(L)}else return console.error("Must provide an array or object"),!1;return Q=L.map((W)=>{let Z=$.compact?{hex:"",combinations:[]}:{color:W.color,model:W.model,valpha:W.valpha,hex:"",combinations:[]};return Z.hex=W.hex(),Z.combinations=L.filter((Y)=>W!==Y).filter((Y)=>{if($.threshold!==void 0)return W.contrast(Y)>$.threshold;return!0}).map((Y)=>{let J=$.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:Y.color,model:Y.model,valpha:Y.valpha};return J=Object.assign(J,{hex:Y.hex(),contrast:W.contrast(Y)}),J.accessibility={aa:J.contrast>=X.aa,aaLarge:J.contrast>=X.aaLarge,aaa:J.contrast>=X.aaa,aaaLarge:J.contrast>=X.aaaLarge},J}),Z}),Q},S5=H5;
1
+ var G2=Object.create;var{getPrototypeOf:z2,defineProperty:u,getOwnPropertyNames:W2,getOwnPropertyDescriptor:j2}=Object,V2=Object.prototype.hasOwnProperty;var _2=(Q,X,$)=>{$=Q!=null?G2(z2(Q)):{};let Z=X||!Q||!Q.__esModule?u($,"default",{value:Q,enumerable:!0}):$;for(let J of W2(Q))if(!V2.call(Z,J))u(Z,J,{get:()=>Q[J],enumerable:!0});return Z},J2=new WeakMap,Y2=(Q)=>{var X=J2.get(Q),$;if(X)return X;if(X=u({},"__esModule",{value:!0}),Q&&typeof Q==="object"||typeof Q==="function")W2(Q).map((Z)=>!V2.call(X,Z)&&u(X,Z,{get:()=>Q[Z],enumerable:!($=j2(Q,Z))||$.enumerable}));return J2.set(Q,X),X},C2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var I2=(Q,X)=>{for(var $ in X)u(Q,$,{get:X[$],enumerable:!0,configurable:!0,set:(Z)=>X[$]=()=>Z})};var L2=C2((W5,P2)=>{var i2=200,r="__lodash_hash_undefined__",c2=1/0,n2="[object Function]",l2="[object GeneratorFunction]",s2=/[\\^$.*+?()[\]{}|]/g,t2=/^\[object .+?Constructor\]$/,o2=typeof global=="object"&&global&&global.Object===Object&&global,a2=typeof self=="object"&&self&&self.Object===Object&&self,Q2=o2||a2||Function("return this")();function e2(Q,X){var $=Q?Q.length:0;return!!$&&X1(Q,X,0)>-1}function r2(Q,X,$){var Z=-1,J=Q?Q.length:0;while(++Z<J)if($(X,Q[Z]))return!0;return!1}function Q1(Q,X,$,Z){var J=Q.length,V=$+(Z?1:-1);while(Z?V--:++V<J)if(X(Q[V],V,Q))return V;return-1}function X1(Q,X,$){if(X!==X)return Q1(Q,$1,$);var Z=$-1,J=Q.length;while(++Z<J)if(Q[Z]===X)return Z;return-1}function $1(Q){return Q!==Q}function Z1(Q,X){return Q.has(X)}function J1(Q,X){return Q==null?void 0:Q[X]}function W1(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function O2(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(Z){$[++X]=Z}),$}var V1=Array.prototype,q1=Function.prototype,N2=Object.prototype,a=Q2["__core-js_shared__"],E2=function(){var Q=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),T2=q1.toString,X2=N2.hasOwnProperty,U1=N2.toString,K1=RegExp("^"+T2.call(X2).replace(s2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),R1=V1.splice,B1=$2(Q2,"Map"),e=$2(Q2,"Set"),m=$2(Object,"create");function w(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function D1(){this.__data__=m?m(null):{}}function H1(Q){return this.has(Q)&&delete this.__data__[Q]}function E1(Q){var X=this.__data__;if(m){var $=X[Q];return $===r?void 0:$}return X2.call(X,Q)?X[Q]:void 0}function O1(Q){var X=this.__data__;return m?X[Q]!==void 0:X2.call(X,Q)}function N1(Q,X){var $=this.__data__;return $[Q]=m&&X===void 0?r:X,this}w.prototype.clear=D1;w.prototype.delete=H1;w.prototype.get=E1;w.prototype.has=O1;w.prototype.set=N1;function p(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function T1(){this.__data__=[]}function F1(Q){var X=this.__data__,$=i(X,Q);if($<0)return!1;var Z=X.length-1;if($==Z)X.pop();else R1.call(X,$,1);return!0}function P1(Q){var X=this.__data__,$=i(X,Q);return $<0?void 0:X[$][1]}function L1(Q){return i(this.__data__,Q)>-1}function M1(Q,X){var $=this.__data__,Z=i($,Q);if(Z<0)$.push([Q,X]);else $[Z][1]=X;return this}p.prototype.clear=T1;p.prototype.delete=F1;p.prototype.get=P1;p.prototype.has=L1;p.prototype.set=M1;function v(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function G1(){this.__data__={hash:new w,map:new(B1||p),string:new w}}function z1(Q){return c(this,Q).delete(Q)}function j1(Q){return c(this,Q).get(Q)}function _1(Q){return c(this,Q).has(Q)}function Y1(Q,X){return c(this,Q).set(Q,X),this}v.prototype.clear=G1;v.prototype.delete=z1;v.prototype.get=j1;v.prototype.has=_1;v.prototype.set=Y1;function g(Q){var X=-1,$=Q?Q.length:0;this.__data__=new v;while(++X<$)this.add(Q[X])}function C1(Q){return this.__data__.set(Q,r),this}function I1(Q){return this.__data__.has(Q)}g.prototype.add=g.prototype.push=C1;g.prototype.has=I1;function i(Q,X){var $=Q.length;while($--)if(y1(Q[$][0],X))return $;return-1}function S1(Q){if(!F2(Q)||f1(Q))return!1;var X=p1(Q)||W1(Q)?K1:t2;return X.test(x1(Q))}function k1(Q,X,$){var Z=-1,J=e2,V=Q.length,W=!0,q=[],U=q;if($)W=!1,J=r2;else if(V>=i2){var K=X?null:w1(Q);if(K)return O2(K);W=!1,J=Z1,U=new g}else U=X?[]:q;Q:while(++Z<V){var D=Q[Z],H=X?X(D):D;if(D=$||D!==0?D:0,W&&H===H){var N=U.length;while(N--)if(U[N]===H)continue Q;if(X)U.push(H);q.push(D)}else if(!J(U,H,$)){if(U!==q)U.push(H);q.push(D)}}return q}var w1=!(e&&1/O2(new e([,-0]))[1]==c2)?v1:function(Q){return new e(Q)};function c(Q,X){var $=Q.__data__;return A1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function $2(Q,X){var $=J1(Q,X);return S1($)?$:void 0}function A1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function f1(Q){return!!E2&&E2 in Q}function x1(Q){if(Q!=null){try{return T2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function d1(Q){return Q&&Q.length?k1(Q):[]}function y1(Q,X){return Q===X||Q!==Q&&X!==X}function p1(Q){var X=F2(Q)?U1.call(Q):"";return X==n2||X==l2}function F2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function v1(){}P2.exports=d1});var m1={};I2(m1,{default:()=>h1});module.exports=Y2(m1);function n(Q){if(typeof Q==="string")return S2(Q);else if(typeof Q==="number")return[(Q&16711680)>>16,(Q&65280)>>8,Q&255,1,!0,"unknown"];else if(typeof Q==="object"){if(Array.isArray(Q))return Q;else if(!isNaN(Q.r)||!isNaN(Q.red)){let X=[0,0,0,0,!1,"unknown"];return X[0]=Q.r?Q.r:Q.red?Q.red:!1,X[1]=Q.g?Q.g:Q.green?Q.green:!1,X[2]=Q.b?Q.b:Q.blue?Q.blue:!1,X[3]=Q.a?Q.a:Q.alpha?Q.alpha:1,X[4]=X[0]&&X[1]&&X[2]?!0:!1,X[5]=Q.space?Q.space:Q.colorSpace?Q.colorSpace:Q.colorspace?Q.colorspace:"unknown",X}}return console.log("colorParsley error: invalid input"),[0,0,0,0,!1,"inputError"]}function S2(Q="#abcdef"){Q=Q.replace(/[^\w,.#%()\/ -]/g,""),Q=Q.toLowerCase();let X=!1,Z=[0,0,0,0,X,"sRGB"];if(Q.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)){let W={gray0:"000000",gray1:"111111",gray2:"222222",gray3:"333333",gray4:"444444",gray5:"555555",gray6:"666666",gray7:"777777",gray8:"888888",gray9:"999999",graya:"aaaaaa",grayb:"bbbbbb",grayc:"cccccc",grayd:"dddddd",graye:"eeeeee",grayf:"ffffff",midgray:"a0a0a0",grey0:"000000",grey1:"111111",grey2:"222222",grey3:"333333",grey4:"444444",grey5:"555555",grey6:"666666",grey7:"777777",grey8:"888888",grey9:"999999",greya:"aaaaaa",greyb:"bbbbbb",greyc:"cccccc",greyd:"dddddd",greye:"eeeeee",greyf:"ffffff",midgrey:"a0a0a0",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",darkgrey:"a9a9a9",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",green:"008000",greenyellow:"adff2f",grey:"808080",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"};for(let q in W)if(Q==q){let U={rex:/^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,sprig:function(D){for(let H=0;H<3;H++)Z[H]=parseInt(D[H+1],16);return Z[3]=1,!0}},K=U.rex.exec(W[q]);return Z[4]=X=U.sprig(K),Z}}let J={rex:/(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,parsley:function(W){let q=0,U=0,K=10,D=100,H=2.55,N="1";if(W[23])N=W[23],delete W[23];Z[3]=N.match(/%/g)?parseFloat(N)/D:parseFloat(N);for(let B=1;B<W.length;B++)if(W[B])q=q?q:B,U=B;switch(U){case 4:K=16,D=15,Z[3]=parseInt(W[U],K)/D;case 3:K=16;for(let B=0;B<3;B++)Z[B]=parseInt(W[q+B]+W[q+B],K);break;case 5:K=16;case 9:Z[0]=Z[1]=Z[2]=K==10?parseFloat(W[U]):parseInt(W[U],K);break;case 12:Z[0]=Z[1]=Z[2]=parseFloat(W[U])*H;break;case 8:K=16,D=255,Z[3]=parseInt(W[8],K)/D;case 7:K=16;case 11:for(let B=0;B<3;B++)Z[B]=K==10?parseFloat(W[q+B]):parseInt(W[q+B],K);break;case 14:for(let B=0;B<3;B++)Z[B]=parseFloat(W[q+B])*H;break;case 18:Z[5]=W[15];for(let B=0;B<3;B++)q++,Z[B]=W[q].match(/%/g)?parseFloat(W[q])*2.55:parseFloat(W[q])*255;break;case 22:Z[5]=W[q];for(let B=0;B<3;B++)q++,Z[B]=W[q]?W[q].match(/%/g)?parseFloat(W[q])/D:parseFloat(W[q]):0;if(Z[5].match(/^(?:hsla?|hwba?)/i)){let j=function(h){let f=(h+A/30)%12,M2=B*Math.min(_,1-_);return _-M2*Math.max(-1,Math.min(f-3,9-f,1))},B,_,T,L,I,A=Z[0]%360;if(A<0)A+=360;if(Z[5].match(/^hsla?/i))B=Z[1],_=Z[2],T=0,I=1;else if(Z[5].match(/^hwba?/i)){if(T=Z[1],L=Z[2],T+L>=1){Z[0]=Z[1]=Z[2]=T/(T+L),Z[5]="sRGB";break}B=1,_=0.5,I=1-T-L}Z[0]=Math.round(255*(j(0)*I+T)),Z[1]=Math.round(255*(j(8)*I+T)),Z[2]=Math.round(255*(j(4)*I+T)),Z[5]="sRGB"}break}return!0}},V=J.rex.exec(Q);if(V)return Z[4]=X=J.parsley(V),Z;else return X=!1,console.log("colorParsley error: unable to parse string"),[0,0,0,0,X,"parsleyError"]}var O={mainTRC:2.4,get mainTRCencode(){return 1/this.mainTRC},sRco:0.2126729,sGco:0.7151522,sBco:0.072175,normBG:0.56,normTXT:0.57,revTXT:0.62,revBG:0.65,blkThrs:0.022,blkClmp:1.414,scaleBoW:1.14,scaleWoB:1.14,loBoWoffset:0.027,loWoBoffset:0.027,deltaYmin:0.0005,loClip:0.1,mFactor:1.9468554433171,get mFactInv(){return 1/this.mFactor},mOffsetIn:0.0387393816571401,mExpAdj:0.283343396420869,get mExp(){return this.mExpAdj/this.blkClmp},mOffsetOut:0.312865795870758};function k2(Q,X,$=-1){let Z=[0,1.1];if(isNaN(Q)||isNaN(X)||Math.min(Q,X)<Z[0]||Math.max(Q,X)>Z[1])return 0;let J=0,V=0,W="BoW";if(Q=Q>O.blkThrs?Q:Q+Math.pow(O.blkThrs-Q,O.blkClmp),X=X>O.blkThrs?X:X+Math.pow(O.blkThrs-X,O.blkClmp),Math.abs(X-Q)<O.deltaYmin)return 0;if(X>Q)J=(Math.pow(X,O.normBG)-Math.pow(Q,O.normTXT))*O.scaleBoW,V=J<O.loClip?0:J-O.loBoWoffset;else W="WoB",J=(Math.pow(X,O.revBG)-Math.pow(Q,O.revTXT))*O.scaleWoB,V=J>-O.loClip?0:J+O.loWoBoffset;if($<0)return V*100;else if($==0)return Math.round(Math.abs(V)*100)+"<sub>"+W+"</sub>";else if(Number.isInteger($))return(V*100).toFixed($);else return 0}function U2(Q,X,$=-1,Z=!0){let J=n(X),V=n(Q);if(V[3]==""||V[3]==1?!1:!0)V=w2(V,J,Z);return k2(q2(V),q2(J),$)}function K2(Q,X=2){let $=[["Lc",100,200,300,400,500,600,700,800,900],[0,999,999,999,999,999,999,999,999,999],[10,999,999,999,999,999,999,999,999,999],[15,777,777,777,777,777,777,777,777,777],[20,777,777,777,777,777,777,777,777,777],[25,777,777,777,120,120,108,96,96,96],[30,777,777,120,108,108,96,72,72,72],[35,777,120,108,96,72,60,48,48,48],[40,120,108,96,60,48,42,32,32,32],[45,108,96,72,42,32,28,24,24,24],[50,96,72,60,32,28,24,21,21,21],[55,80,60,48,28,24,21,18,18,18],[60,72,48,42,24,21,18,16,16,18],[65,68,46,32,21.75,19,17,15,16,18],[70,64,44,28,19.5,18,16,14.5,16,18],[75,60,42,24,18,16,15,14,16,18],[80,56,38.25,23,17.25,15.81,14.81,14,16,18],[85,52,34.5,22,16.5,15.625,14.625,14,16,18],[90,48,32,21,16,15.5,14.5,14,16,18],[95,45,28,19.5,15.5,15,14,13.5,16,18],[100,42,26.5,18.5,15,14.5,13.5,13,16,18],[105,39,25,18,14.5,14,13,12,16,18],[110,36,24,18,14,13,12,11,16,18],[115,34.5,22.5,17.25,12.5,11.875,11.25,10.625,14.5,16.5],[120,33,21,16.5,11,10.75,10.5,10.25,13,15],[125,32,20,16,10,10,10,10,12,14]],Z=[["∆Lc",100,200,300,400,500,600,700,800,900],[0,0,0,0,0,0,0,0,0,0],[10,0,0,0,0,0,0,0,0,0],[15,0,0,0,0,0,0,0,0,0],[20,0,0,0,0,0,0,0,0,0],[25,0,0,0,12,12,12,24,24,24],[30,0,0,12,12,36,36,24,24,24],[35,0,12,12,36,24,18,16,16,16],[40,12,12,24,18,16,14,8,8,8],[45,12,24,12,10,4,4,3,3,3],[50,16,12,12,4,4,3,3,3,3],[55,8,12,6,4,3,3,2,2,0],[60,4,2,10,2.25,2,1,1,0,0],[65,4,2,4,2.25,1,1,0.5,0,0],[70,4,2,4,1.5,2,1,0.5,0,0],[75,4,3.75,1,0.75,0.188,0.188,0,0,0],[80,4,3.75,1,0.75,0.188,0.188,0,0,0],[85,4,2.5,1,0.5,0.125,0.125,0,0,0],[90,3,4,1.5,0.5,0.5,0.5,0.5,0,0],[95,3,1.5,1,0.5,0.5,0.5,0.5,0,0],[100,3,1.5,0.5,0.5,0.5,0.5,1,0,0],[105,3,1,0,0.5,1,1,1,0,0],[110,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[115,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[120,1,1,0.5,1,0.75,0.5,0.25,1,1],[125,0,0,0,0,0,0,0,0,0]],V=[0,100,200,300,400,500,600,700,800,900].length,W=[Q.toFixed(X),0,0,0,0,0,0,0,0,0],q=W.length,K=["lc",0,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125].length,D=777;Q=Math.abs(Q);let H=0.2,N=Q==0?1:Q*H|0,B=0,_=(Q-$[N][B])*H;B++;for(;B<V;B++)if(D=$[N][B],D>400)W[B]=D;else if(Q<14.5)W[B]=999;else if(Q<29.5)W[B]=777;else D>24?W[B]=Math.round(D-Z[N][B]*_):W[B]=D-(2*Z[N][B]*_|0)*0.5;return W}function q2(Q=[0,0,0]){function X($){return Math.pow($/255,O.mainTRC)}return O.sRco*X(Q[0])+O.sGco*X(Q[1])+O.sBco*X(Q[2])}function w2(Q=[0,0,0,1],X=[0,0,0],$=!0){Q[3]=Math.max(Math.min(Q[3],1),0);let Z=1-Q[3],J=[0,0,0,1,!0];for(let V=0;V<3;V++)if(J[V]=X[V]*Z+Q[V]*Q[3],$)J[V]=Math.min(Math.round(J[V]),255);return J}var z={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var R2=Object.create(null);for(let Q in z)if(Object.hasOwn(z,Q))R2[z[Q]]=Q;var M={to:{},get:{}};M.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,Z;switch(X){case"hsl":{$=M.get.hsl(Q),Z="hsl";break}case"hwb":{$=M.get.hwb(Q),Z="hwb";break}default:{$=M.get.rgb(Q),Z="rgb";break}}if(!$)return null;return{model:Z,value:$}};M.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Z=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,J=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,V=/^(\w+)$/,W=[0,0,0,1],q,U,K;if(q=Q.match($)){K=q[2],q=q[1];for(U=0;U<3;U++){let D=U*2;W[U]=Number.parseInt(q.slice(D,D+2),16)}if(K)W[3]=Number.parseInt(K,16)/255}else if(q=Q.match(X)){q=q[1],K=q[3];for(U=0;U<3;U++)W[U]=Number.parseInt(q[U]+q[U],16);if(K)W[3]=Number.parseInt(K+K,16)/255}else if(q=Q.match(Z)){for(U=0;U<3;U++)W[U]=Number.parseFloat(q[U+1]);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.match(J)){for(U=0;U<3;U++)W[U]=Math.round(Number.parseFloat(q[U+1])*2.55);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.toLowerCase().match(V)){if(q[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(z,q[1]))return null;return W=z[q[1]].slice(),W[3]=1,W}else return null;for(U=0;U<3;U++)W[U]=S(W[U],0,255);return W[3]=S(W[3],0,1),W};M.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.to.hex=function(...Q){return"#"+b(Q[0])+b(Q[1])+b(Q[2])+(Q[3]<1?b(Math.round(Q[3]*255)):"")};M.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};M.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),Z=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+Z+"%)":"rgba("+X+"%, "+$+"%, "+Z+"%, "+Q[3]+")"};M.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};M.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};M.to.keyword=function(...Q){return R2[Q.slice(0,3)]};function S(Q,X,$){return Math.min(Math.max(X,Q),$)}function b(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var k=M;var B2={};for(let Q of Object.keys(z))B2[z[Q]]=Q;var R={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},C=R,Y=0.008856451679035631;function x(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function d(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(R)){if(!("channels"in R[Q]))throw Error("missing channels property: "+Q);if(!("labels"in R[Q]))throw Error("missing channel labels property: "+Q);if(R[Q].labels.length!==R[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=R[Q];delete R[Q].channels,delete R[Q].labels,Object.defineProperty(R[Q],"channels",{value:X}),Object.defineProperty(R[Q],"labels",{value:$})}R.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(X,$,Z),V=Math.max(X,$,Z),W=V-J,q,U;switch(V){case J:{q=0;break}case X:{q=($-Z)/W;break}case $:{q=2+(Z-X)/W;break}case Z:{q=4+(X-$)/W;break}}if(q=Math.min(q*60,360),q<0)q+=360;let K=(J+V)/2;if(V===J)U=0;else if(K<=0.5)U=W/(V+J);else U=W/(2-V-J);return[q,U*100,K*100]};R.rgb.hsv=function(Q){let X,$,Z,J,V,W=Q[0]/255,q=Q[1]/255,U=Q[2]/255,K=Math.max(W,q,U),D=K-Math.min(W,q,U),H=function(N){return(K-N)/6/D+0.5};if(D===0)J=0,V=0;else{switch(V=D/K,X=H(W),$=H(q),Z=H(U),K){case W:{J=Z-$;break}case q:{J=0.3333333333333333+X-Z;break}case U:{J=0.6666666666666666+$-X;break}}if(J<0)J+=1;else if(J>1)J-=1}return[J*360,V*100,K*100]};R.rgb.hwb=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J=R.rgb.hsl(Q)[0],V=0.00392156862745098*Math.min(X,Math.min($,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max($,Z)),[J,V*100,Z*100]};R.rgb.oklab=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*Z),V=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*Z),W=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(1-X,1-$,1-Z),V=(1-X-J)/(1-J)||0,W=(1-$-J)/(1-J)||0,q=(1-Z-J)/(1-J)||0;return[V*100,W*100,q*100,J*100]};function A2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}R.rgb.keyword=function(Q){let X=B2[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,Z;for(let J of Object.keys(z)){let V=z[J],W=A2(Q,V);if(W<$)$=W,Z=J}return Z};R.keyword.rgb=function(Q){return[...z[Q]]};R.rgb.xyz=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=X*0.4124564+$*0.3575761+Z*0.1804375,V=X*0.2126729+$*0.7151522+Z*0.072175,W=X*0.0193339+$*0.119192+Z*0.9503041;return[J*100,V*100,W*100]};R.rgb.lab=function(Q){let X=R.rgb.xyz(Q),$=X[0],Z=X[1],J=X[2];$/=95.047,Z/=100,J/=108.883,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>Y?J**0.3333333333333333:7.787*J+0.13793103448275862;let V=116*Z-16,W=500*($-Z),q=200*(Z-J);return[V,W,q]};R.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J,V;if($===0)return V=Z*255,[V,V,V];let W=Z<0.5?Z*(1+$):Z+$-Z*$,q=2*Z-W,U=[0,0,0];for(let K=0;K<3;K++){if(J=X+0.3333333333333333*-(K-1),J<0)J++;if(J>1)J--;if(6*J<1)V=q+(W-q)*6*J;else if(2*J<1)V=W;else if(3*J<2)V=q+(W-q)*(0.6666666666666666-J)*6;else V=q;U[K]=V*255}return U};R.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=$,V=Math.max(Z,0.01);Z*=2,$*=Z<=1?Z:2-Z,J*=V<=1?V:2-V;let W=(Z+$)/2,q=Z===0?2*J/(V+J):2*$/(Z+$);return[X,q*100,W*100]};R.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,Z=Q[2]/100,J=Math.floor(X)%6,V=X-Math.floor(X),W=255*Z*(1-$),q=255*Z*(1-$*V),U=255*Z*(1-$*(1-V));switch(Z*=255,J){case 0:return[Z,U,W];case 1:return[q,Z,W];case 2:return[W,Z,U];case 3:return[W,q,Z];case 4:return[U,W,Z];case 5:return[Z,W,q]}};R.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=Math.max(Z,0.01),V,W;W=(2-$)*Z;let q=(2-$)*J;return V=$*J,V/=q<=1?q:2-q,V=V||0,W/=2,[X,V*100,W*100]};R.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J=$+Z,V;if(J>1)$/=J,Z/=J;let W=Math.floor(6*X),q=1-Z;if(V=6*X-W,(W&1)!==0)V=1-V;let U=$+V*(q-$),K,D,H;switch(W){default:case 6:case 0:{K=q,D=U,H=$;break}case 1:{K=U,D=q,H=$;break}case 2:{K=$,D=q,H=U;break}case 3:{K=$,D=U,H=q;break}case 4:{K=U,D=$,H=q;break}case 5:{K=q,D=$,H=U;break}}return[K*255,D*255,H*255]};R.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Q[3]/100,V=1-Math.min(1,X*(1-J)+J),W=1-Math.min(1,$*(1-J)+J),q=1-Math.min(1,Z*(1-J)+J);return[V*255,W*255,q*255]};R.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J,V,W;return J=X*3.2404542+$*-1.5371385+Z*-0.4985314,V=X*-0.969266+$*1.8760108+Z*0.041556,W=X*0.0556434+$*-0.2040259+Z*1.0572252,J=x(J),V=x(V),W=x(W),[J*255,V*255,W*255]};R.xyz.lab=function(Q){let X=Q[0],$=Q[1],Z=Q[2];X/=95.047,$/=100,Z/=108.883,X=X>Y?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*$-16,V=500*(X-$),W=200*($-Z);return[J,V,W]};R.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*Z),V=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*Z),W=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.oklab.oklch=function(Q){return R.lab.lch(Q)};R.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(0.999999998*X+0.396337792*$+0.215803758*Z)**3,V=(1.000000008*X-0.105561342*$-0.063854175*Z)**3,W=(1.000000055*X-0.089484182*$-1.291485538*Z)**3,q=1.227013851*J-0.55779998*V+0.281256149*W,U=-0.040580178*J+1.11225687*V-0.071676679*W,K=-0.076381285*J-0.421481978*V+1.58616322*W;return[q*100,U*100,K*100]};R.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(X+0.3963377774*$+0.2158037573*Z)**3,V=(X-0.1055613458*$-0.0638541728*Z)**3,W=(X-0.0894841775*$-1.291485548*Z)**3,q=x(4.0767416621*J-3.3077115913*V+0.2309699292*W),U=x(-1.2684380046*J+2.6097574011*V-0.3413193965*W),K=x(-0.0041960863*J-0.7034186147*V+1.707614701*W);return[q*255,U*255,K*255]};R.oklch.oklab=function(Q){return R.lch.lab(Q)};R.lab.xyz=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J,V,W;V=(X+16)/116,J=$/500+V,W=V-Z/200;let q=V**3,U=J**3,K=W**3;return V=q>Y?q:(V-0.13793103448275862)/7.787,J=U>Y?U:(J-0.13793103448275862)/7.787,W=K>Y?K:(W-0.13793103448275862)/7.787,J*=95.047,V*=100,W*=108.883,[J,V,W]};R.lab.lch=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J;if(J=Math.atan2(Z,$)*360/2/Math.PI,J<0)J+=360;let W=Math.sqrt($*$+Z*Z);return[X,W,J]};R.lch.lab=function(Q){let X=Q[0],$=Q[1],J=Q[2]/360*2*Math.PI,V=$*Math.cos(J),W=$*Math.sin(J);return[X,V,W]};R.rgb.ansi16=function(Q,X=null){let[$,Z,J]=Q,V=X===null?R.rgb.hsv(Q)[2]:X;if(V=Math.round(V/50),V===0)return 30;let W=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round($/255));if(V===2)W+=60;return W};R.hsv.ansi16=function(Q){return R.rgb.ansi16(R.hsv.rgb(Q),Q[2])};R.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],Z=Q[2];if(X>>4===$>>4&&$>>4===Z>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(Z/255*5)};R.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,Z=(X&1)*$*255,J=(X>>1&1)*$*255,V=(X>>2&1)*$*255;return[Z,J,V]};R.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let V=(Q-232)*10+8;return[V,V,V]}Q-=16;let X,$=Math.floor(Q/36)/5*255,Z=Math.floor((X=Q%36)/6)/5*255,J=X%6/5*255;return[$,Z,J]};R.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};R.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((q)=>q+q).join("");let Z=Number.parseInt($,16),J=Z>>16&255,V=Z>>8&255,W=Z&255;return[J,V,W]};R.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.max(Math.max(X,$),Z),V=Math.min(Math.min(X,$),Z),W=J-V,q,U=W<1?V/(1-W):0;if(W<=0)q=0;else if(J===X)q=($-Z)/W%6;else if(J===$)q=2+(Z-X)/W;else q=4+(X-$)/W;return q/=6,q%=1,[q*360,W*100,U*100]};R.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=$<0.5?2*X*$:2*X*(1-$),J=0;if(Z<1)J=($-0.5*Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X*$,J=0;if(Z<1)J=($-Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100;if($===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],V=X%1*6,W=V%1,q=1-W,U=0;switch(Math.floor(V)){case 0:{J[0]=1,J[1]=W,J[2]=0;break}case 1:{J[0]=q,J[1]=1,J[2]=0;break}case 2:{J[0]=0,J[1]=1,J[2]=W;break}case 3:{J[0]=0,J[1]=q,J[2]=1;break}case 4:{J[0]=W,J[1]=0,J[2]=1;break}default:J[0]=1,J[1]=0,J[2]=q}return U=(1-$)*Z,[($*J[0]+U)*255,($*J[1]+U)*255,($*J[2]+U)*255]};R.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X),J=0;if(Z>0)J=X/Z;return[Q[0],J*100,Z*100]};R.hcg.hsl=function(Q){let X=Q[1]/100,Z=Q[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[Q[0],J*100,Z*100]};R.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X);return[Q[0],(Z-X)*100,(1-Z)*100]};R.hwb.hcg=function(Q){let X=Q[1]/100,Z=1-Q[2]/100,J=Z-X,V=0;if(J<1)V=(Z-J)/(1-J);return[Q[0],J*100,V*100]};R.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};R.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};R.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};R.gray.hsl=function(Q){return[0,0,Q[0]]};R.gray.hsv=R.gray.hsl;R.gray.hwb=function(Q){return[0,100,Q[0]]};R.gray.cmyk=function(Q){return[0,0,0,Q[0]]};R.gray.lab=function(Q){return[Q[0],0,0]};R.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(Z.length)+Z};R.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function f2(){let Q={},X=Object.keys(C);for(let{length:$}=X,Z=0;Z<$;Z++)Q[X[Z]]={distance:-1,parent:null};return Q}function x2(Q){let X=f2(),$=[Q];X[Q].distance=0;while($.length>0){let Z=$.pop(),J=Object.keys(C[Z]);for(let{length:V}=J,W=0;W<V;W++){let q=J[W],U=X[q];if(U.distance===-1)U.distance=X[Z].distance+1,U.parent=Z,$.unshift(q)}}return X}function d2(Q,X){return function($){return X(Q($))}}function y2(Q,X){let $=[X[Q].parent,Q],Z=C[X[Q].parent][Q],J=X[Q].parent;while(X[J].parent)$.unshift(X[J].parent),Z=d2(C[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=$,Z}function p2(Q){let X=x2(Q),$={},Z=Object.keys(X);for(let{length:J}=Z,V=0;V<J;V++){let W=Z[V];if(X[W].parent===null)continue;$[W]=y2(W,X)}return $}var D2=p2;var y={},v2=Object.keys(C);function u2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function m2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;let J=Q($);if(typeof J==="object")for(let{length:V}=J,W=0;W<V;W++)J[W]=Math.round(J[W]);return J};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of v2){y[Q]={},Object.defineProperty(y[Q],"channels",{value:C[Q].channels}),Object.defineProperty(y[Q],"labels",{value:C[Q].labels});let X=D2(Q),$=Object.keys(X);for(let Z of $){let J=X[Z];y[Q][Z]=m2(J),y[Q][Z].raw=u2(J)}}var G=y;var H2=["keyword","gray","hex"],l={};for(let Q of Object.keys(G))l[[...G[Q].labels].sort().join("")]=Q;var s={};function P(Q,X){if(!(this instanceof P))return new P(Q,X);if(X&&X in H2)X=null;if(X&&!(X in G))throw Error("Unknown model: "+X);let $,Z;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof P)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let J=k.get(Q);if(J===null)throw Error("Unable to parse color from string: "+Q);this.model=J.model,Z=G[this.model].channels,this.color=J.value.slice(0,Z),this.valpha=typeof J.value[Z]==="number"?J.value[Z]:1}else if(Q.length>0){this.model=X||"rgb",Z=G[this.model].channels;let J=Array.prototype.slice.call(Q,0,Z);this.color=t(J,Z),this.valpha=typeof Q[Z]==="number"?Q[Z]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let J=Object.keys(Q);if("alpha"in Q)J.splice(J.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let V=J.sort().join("");if(!(V in l))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=l[V];let{labels:W}=G[this.model],q=[];for($=0;$<W.length;$++)q.push(Q[W[$]]);this.color=t(q)}if(s[this.model]){Z=G[this.model].channels;for($=0;$<Z;$++){let J=s[this.model][$];if(J)this.color[$]=J(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}P.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in k.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return k.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return k.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=G[this.model],{labels:$}=G[this.model];for(let Z=0;Z<X;Z++)Q[$[Z]]=this.color[Z];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new P([...this.color.map(b2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new P([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:E("rgb",0,F(255)),green:E("rgb",1,F(255)),blue:E("rgb",2,F(255)),hue:E(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:E("hsl",1,F(100)),lightness:E("hsl",2,F(100)),saturationv:E("hsv",1,F(100)),value:E("hsv",2,F(100)),chroma:E("hcg",1,F(100)),gray:E("hcg",2,F(100)),white:E("hwb",1,F(100)),wblack:E("hwb",2,F(100)),cyan:E("cmyk",0,F(100)),magenta:E("cmyk",1,F(100)),yellow:E("cmyk",2,F(100)),black:E("cmyk",3,F(100)),x:E("xyz",0,F(95.047)),y:E("xyz",1,F(100)),z:E("xyz",2,F(108.833)),l:E("lab",0,F(100)),a:E("lab",1),b:E("lab",2),keyword(Q){if(Q!==void 0)return new P(Q);return G[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new P(Q);return k.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new P(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return k.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,Z]of Q.entries()){let J=Z/255;X[$]=J<=0.04045?J/12.92:((J+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return P.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),Z=this.rgb(),J=X===void 0?0.5:X,V=2*J-1,W=$.alpha()-Z.alpha(),q=((V*W===-1?V:(V+W)/(1+V*W))+1)/2,U=1-q;return P.rgb(q*$.red()+U*Z.red(),q*$.green()+U*Z.green(),q*$.blue()+U*Z.blue(),$.alpha()*J+Z.alpha()*(1-J))}};for(let Q of Object.keys(G)){if(H2.includes(Q))continue;let{channels:X}=G[Q];P.prototype[Q]=function(...$){if(this.model===Q)return new P(this);if($.length>0)return new P($,Q);return new P([...g2(G[this.model][Q].raw(this.color)),this.valpha],Q)},P[Q]=function(...$){let Z=$[0];if(typeof Z==="number")Z=t($,X);return new P(Z,Q)}}function h2(Q,X){return Number(Q.toFixed(X))}function b2(Q){return function(X){return h2(X,Q)}}function E(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let Z of Q)(s[Z]||=[])[X]=$;return Q=Q[0],function(Z){let J;if(Z!==void 0){if($)Z=$(Z);return J=this[Q](),J.color[X]=Z,J}if(J=this[Q]().color[X],$)J=$(J);return J}}function F(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function g2(Q){return Array.isArray(Q)?Q:[Q]}function t(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var o=P;var Z2=_2(L2(),1),u1=(Q,X={})=>{let $=[],Z=[],J={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},W=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let q=Q;if(W.uniq)q=Z2.default(Q);if(q!==void 0)$=q.map((U)=>o(U))}else if(typeof Q==="object"){if($=Object.keys(Q).map((q)=>o(Q[q])),W.uniq)$=Z2.default($)}else return console.error("Must provide an array or object"),!1;return Z=$.map((q)=>{let U=W.compact?{hex:"",combinations:[]}:{color:q.color,model:q.model,valpha:q.valpha,hex:"",combinations:[]};return U.hex=q.hex(),U.combinations=$.filter((K)=>q!==K).filter((K)=>{if(W.threshold!==void 0)return q.contrast(K)>W.threshold;return!0}).map((K)=>{let D=W.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:K.color,model:K.model,valpha:K.valpha};D=Object.assign(D,{hex:K.hex(),contrast:q.contrast(K)}),D.accessibility={aa:D.contrast>=J.aa,aaLarge:D.contrast>=J.aaLarge,aaa:D.contrast>=J.aaa,aaaLarge:D.contrast>=J.aaaLarge};let H=U2(q.hex(),K.hex());if(typeof H==="number"){let N=H,B=Math.abs(N),_=400,T=K2(N),L=(j)=>{if(typeof j==="number"&&j<400)return j;return"prohibited"},I={100:L(T[1]),200:L(T[2]),300:L(T[3]),400:L(T[4]),500:L(T[5]),600:L(T[6]),700:L(T[7]),800:L(T[8]),900:L(T[9])},A={lc:N,polarity:N<0?"light-on-dark":"dark-on-light",minimumFontSize:I,readability:{fluentText:{thresholdLc:90,meets:B>=90},bodyText:{thresholdLc:75,meets:B>=75},contentText:{thresholdLc:60,meets:B>=60},largeText:{thresholdLc:45,meets:B>=45},minimumText:{thresholdLc:30,meets:B>=30},nonText:{thresholdLc:15,meets:B>=15}}};if(W.apca?.fontSize&&W.apca?.fontWeight&&Number.isFinite(W.apca.fontSize)){let{fontSize:j,fontWeight:h}=W.apca,f=I[h];A.fontRequirement={fontSize:j,fontWeight:h,minimumFontSize:f,meetsRequirement:f!=="prohibited"&&j>=f}}D.apca=A}return D}),U}),Z},h1=u1;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var X2=Object.create;var{getPrototypeOf:$2,defineProperty:c,getOwnPropertyNames:V2}=Object;var W2=Object.prototype.hasOwnProperty;var Z2=(q,O,L)=>{L=q!=null?X2($2(q)):{};let Q=O||!q||!q.__esModule?c(L,"default",{value:q,enumerable:!0}):L;for(let X of V2(q))if(!W2.call(Q,X))c(Q,X,{get:()=>q[X],enumerable:!0});return Q};var U2=(q,O)=>()=>(O||q((O={exports:{}}).exports,O),O.exports);var Q2=U2((k5,L2)=>{var T2=200,b="__lodash_hash_undefined__",S2=1/0,I2="[object Function]",_2="[object GeneratorFunction]",N2=/[\\^$.*+?()[\]{}|]/g,C2=/^\[object .+?Constructor\]$/,M2=typeof global=="object"&&global&&global.Object===Object&&global,z2=typeof self=="object"&&self&&self.Object===Object&&self,v=M2||z2||Function("return this")();function j2(q,O){var L=q?q.length:0;return!!L&&f2(q,O,0)>-1}function w2(q,O,L){var Q=-1,X=q?q.length:0;while(++Q<X)if(L(O,q[Q]))return!0;return!1}function k2(q,O,L,Q){var X=q.length,V=L+(Q?1:-1);while(Q?V--:++V<X)if(O(q[V],V,q))return V;return-1}function f2(q,O,L){if(O!==O)return k2(q,x2,L);var Q=L-1,X=q.length;while(++Q<X)if(q[Q]===O)return Q;return-1}function x2(q){return q!==q}function p2(q,O){return q.has(O)}function d2(q,O){return q==null?void 0:q[O]}function y2(q){var O=!1;if(q!=null&&typeof q.toString!="function")try{O=!!(q+"")}catch(L){}return O}function r(q){var O=-1,L=Array(q.size);return q.forEach(function(Q){L[++O]=Q}),L}var u2=Array.prototype,i2=Function.prototype,e=Object.prototype,i=v["__core-js_shared__"],a=function(){var q=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}(),q2=i2.toString,h=e.hasOwnProperty,m2=e.toString,b2=RegExp("^"+q2.call(h).replace(N2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),v2=u2.splice,h2=n(v,"Map"),m=n(v,"Set"),z=n(Object,"create");function S(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function n2(){this.__data__=z?z(null):{}}function g2(q){return this.has(q)&&delete this.__data__[q]}function c2(q){var O=this.__data__;if(z){var L=O[q];return L===b?void 0:L}return h.call(O,q)?O[q]:void 0}function o2(q){var O=this.__data__;return z?O[q]!==void 0:h.call(O,q)}function s2(q,O){var L=this.__data__;return L[q]=z&&O===void 0?b:O,this}S.prototype.clear=n2;S.prototype.delete=g2;S.prototype.get=c2;S.prototype.has=o2;S.prototype.set=s2;function C(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function t2(){this.__data__=[]}function l2(q){var O=this.__data__,L=f(O,q);if(L<0)return!1;var Q=O.length-1;if(L==Q)O.pop();else v2.call(O,L,1);return!0}function a2(q){var O=this.__data__,L=f(O,q);return L<0?void 0:O[L][1]}function r2(q){return f(this.__data__,q)>-1}function e2(q,O){var L=this.__data__,Q=f(L,q);if(Q<0)L.push([q,O]);else L[Q][1]=O;return this}C.prototype.clear=t2;C.prototype.delete=l2;C.prototype.get=a2;C.prototype.has=r2;C.prototype.set=e2;function M(q){var O=-1,L=q?q.length:0;this.clear();while(++O<L){var Q=q[O];this.set(Q[0],Q[1])}}function q5(){this.__data__={hash:new S,map:new(h2||C),string:new S}}function O5(q){return x(this,q).delete(q)}function L5(q){return x(this,q).get(q)}function Q5(q){return x(this,q).has(q)}function X5(q,O){return x(this,q).set(q,O),this}M.prototype.clear=q5;M.prototype.delete=O5;M.prototype.get=L5;M.prototype.has=Q5;M.prototype.set=X5;function k(q){var O=-1,L=q?q.length:0;this.__data__=new M;while(++O<L)this.add(q[O])}function $5(q){return this.__data__.set(q,b),this}function V5(q){return this.__data__.has(q)}k.prototype.add=k.prototype.push=$5;k.prototype.has=V5;function f(q,O){var L=q.length;while(L--)if(P5(q[L][0],O))return L;return-1}function W5(q){if(!O2(q)||J5(q))return!1;var O=B5(q)||y2(q)?b2:C2;return O.test(G5(q))}function Z5(q,O,L){var Q=-1,X=j2,V=q.length,$=!0,W=[],Z=W;if(L)$=!1,X=w2;else if(V>=T2){var Y=O?null:U5(q);if(Y)return r(Y);$=!1,X=p2,Z=new k}else Z=O?[]:W;q:while(++Q<V){var J=q[Q],P=O?O(J):J;if(J=L||J!==0?J:0,$&&P===P){var j=Z.length;while(j--)if(Z[j]===P)continue q;if(O)Z.push(P);W.push(J)}else if(!X(Z,P,L)){if(Z!==W)Z.push(P);W.push(J)}}return W}var U5=!(m&&1/r(new m([,-0]))[1]==S2)?R5:function(q){return new m(q)};function x(q,O){var L=q.__data__;return Y5(O)?L[typeof O=="string"?"string":"hash"]:L.map}function n(q,O){var L=d2(q,O);return W5(L)?L:void 0}function Y5(q){var O=typeof q;return O=="string"||O=="number"||O=="symbol"||O=="boolean"?q!=="__proto__":q===null}function J5(q){return!!a&&a in q}function G5(q){if(q!=null){try{return q2.call(q)}catch(O){}try{return q+""}catch(O){}}return""}function E5(q){return q&&q.length?Z5(q):[]}function P5(q,O){return q===O||q!==q&&O!==O}function B5(q){var O=O2(q)?m2.call(q):"";return O==I2||O==_2}function O2(q){var O=typeof q;return!!q&&(O=="object"||O=="function")}function R5(){}L2.exports=E5});var F={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var o=Object.create(null);for(let q in F)if(Object.hasOwn(F,q))o[F[q]]=q;var R={to:{},get:{}};R.get=function(q){let O=q.slice(0,3).toLowerCase(),L,Q;switch(O){case"hsl":{L=R.get.hsl(q),Q="hsl";break}case"hwb":{L=R.get.hwb(q),Q="hwb";break}default:{L=R.get.rgb(q),Q="rgb";break}}if(!L)return null;return{model:Q,value:L}};R.get.rgb=function(q){if(!q)return null;let O=/^#([a-f\d]{3,4})$/i,L=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Q=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,X=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,V=/^(\w+)$/,$=[0,0,0,1],W,Z,Y;if(W=q.match(L)){Y=W[2],W=W[1];for(Z=0;Z<3;Z++){let J=Z*2;$[Z]=Number.parseInt(W.slice(J,J+2),16)}if(Y)$[3]=Number.parseInt(Y,16)/255}else if(W=q.match(O)){W=W[1],Y=W[3];for(Z=0;Z<3;Z++)$[Z]=Number.parseInt(W[Z]+W[Z],16);if(Y)$[3]=Number.parseInt(Y+Y,16)/255}else if(W=q.match(Q)){for(Z=0;Z<3;Z++)$[Z]=Number.parseInt(W[Z+1],10);if(W[4])$[3]=W[5]?Number.parseFloat(W[4])*0.01:Number.parseFloat(W[4])}else if(W=q.match(X)){for(Z=0;Z<3;Z++)$[Z]=Math.round(Number.parseFloat(W[Z+1])*2.55);if(W[4])$[3]=W[5]?Number.parseFloat(W[4])*0.01:Number.parseFloat(W[4])}else if(W=q.match(V)){if(W[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(F,W[1]))return null;return $=F[W[1]],$[3]=1,$}else return null;for(Z=0;Z<3;Z++)$[Z]=H($[Z],0,255);return $[3]=H($[3],0,1),$};R.get.hsl=function(q){if(!q)return null;let O=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,L=q.match(O);if(L){let Q=Number.parseFloat(L[4]),X=(Number.parseFloat(L[1])%360+360)%360,V=H(Number.parseFloat(L[2]),0,100),$=H(Number.parseFloat(L[3]),0,100),W=H(Number.isNaN(Q)?1:Q,0,1);return[X,V,$,W]}return null};R.get.hwb=function(q){if(!q)return null;let O=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,L=q.match(O);if(L){let Q=Number.parseFloat(L[4]),X=(Number.parseFloat(L[1])%360+360)%360,V=H(Number.parseFloat(L[2]),0,100),$=H(Number.parseFloat(L[3]),0,100),W=H(Number.isNaN(Q)?1:Q,0,1);return[X,V,$,W]}return null};R.to.hex=function(...q){return"#"+w(q[0])+w(q[1])+w(q[2])+(q[3]<1?w(Math.round(q[3]*255)):"")};R.to.rgb=function(...q){return q.length<4||q[3]===1?"rgb("+Math.round(q[0])+", "+Math.round(q[1])+", "+Math.round(q[2])+")":"rgba("+Math.round(q[0])+", "+Math.round(q[1])+", "+Math.round(q[2])+", "+q[3]+")"};R.to.rgb.percent=function(...q){let O=Math.round(q[0]/255*100),L=Math.round(q[1]/255*100),Q=Math.round(q[2]/255*100);return q.length<4||q[3]===1?"rgb("+O+"%, "+L+"%, "+Q+"%)":"rgba("+O+"%, "+L+"%, "+Q+"%, "+q[3]+")"};R.to.hsl=function(...q){return q.length<4||q[3]===1?"hsl("+q[0]+", "+q[1]+"%, "+q[2]+"%)":"hsla("+q[0]+", "+q[1]+"%, "+q[2]+"%, "+q[3]+")"};R.to.hwb=function(...q){let O="";if(q.length>=4&&q[3]!==1)O=", "+q[3];return"hwb("+q[0]+", "+q[1]+"%, "+q[2]+"%"+O+")"};R.to.keyword=function(...q){return o[q.slice(0,3)]};function H(q,O,L){return Math.min(Math.max(O,q),L)}function w(q){let O=Math.round(q).toString(16).toUpperCase();return O.length<2?"0"+O:O}var T=R;var s={};for(let q of Object.keys(F))s[F[q]]=q;var U={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},A=U,D=0.008856451679035631;function I(q){let O=q>0.0031308?1.055*q**0.4166666666666667-0.055:q*12.92;return Math.min(Math.max(0,O),1)}function _(q){return q>0.04045?((q+0.055)/1.055)**2.4:q/12.92}for(let q of Object.keys(U)){if(!("channels"in U[q]))throw new Error("missing channels property: "+q);if(!("labels"in U[q]))throw new Error("missing channel labels property: "+q);if(U[q].labels.length!==U[q].channels)throw new Error("channel and label counts mismatch: "+q);let{channels:O,labels:L}=U[q];delete U[q].channels,delete U[q].labels,Object.defineProperty(U[q],"channels",{value:O}),Object.defineProperty(U[q],"labels",{value:L})}U.rgb.hsl=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.min(O,L,Q),V=Math.max(O,L,Q),$=V-X,W,Z;switch(V){case X:{W=0;break}case O:{W=(L-Q)/$;break}case L:{W=2+(Q-O)/$;break}case Q:{W=4+(O-L)/$;break}}if(W=Math.min(W*60,360),W<0)W+=360;let Y=(X+V)/2;if(V===X)Z=0;else if(Y<=0.5)Z=$/(V+X);else Z=$/(2-V-X);return[W,Z*100,Y*100]};U.rgb.hsv=function(q){let O,L,Q,X,V,$=q[0]/255,W=q[1]/255,Z=q[2]/255,Y=Math.max($,W,Z),J=Y-Math.min($,W,Z),P=function(j){return(Y-j)/6/J+0.5};if(J===0)X=0,V=0;else{switch(V=J/Y,O=P($),L=P(W),Q=P(Z),Y){case $:{X=Q-L;break}case W:{X=0.3333333333333333+O-Q;break}case Z:{X=0.6666666666666666+L-O;break}}if(X<0)X+=1;else if(X>1)X-=1}return[X*360,V*100,Y*100]};U.rgb.hwb=function(q){let O=q[0],L=q[1],Q=q[2],X=U.rgb.hsl(q)[0],V=0.00392156862745098*Math.min(O,Math.min(L,Q));return Q=1-0.00392156862745098*Math.max(O,Math.max(L,Q)),[X,V*100,Q*100]};U.rgb.oklab=function(q){let O=_(q[0]/255),L=_(q[1]/255),Q=_(q[2]/255),X=Math.cbrt(0.4122214708*O+0.5363325363*L+0.0514459929*Q),V=Math.cbrt(0.2119034982*O+0.6806995451*L+0.1073969566*Q),$=Math.cbrt(0.0883024619*O+0.2817188376*L+0.6299787005*Q),W=0.2104542553*X+0.793617785*V-0.0040720468*$,Z=1.9779984951*X-2.428592205*V+0.4505937099*$,Y=0.0259040371*X+0.7827717662*V-0.808675766*$;return[W*100,Z*100,Y*100]};U.rgb.cmyk=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.min(1-O,1-L,1-Q),V=(1-O-X)/(1-X)||0,$=(1-L-X)/(1-X)||0,W=(1-Q-X)/(1-X)||0;return[V*100,$*100,W*100,X*100]};function Y2(q,O){return(q[0]-O[0])**2+(q[1]-O[1])**2+(q[2]-O[2])**2}U.rgb.keyword=function(q){let O=s[q];if(O)return O;let L=Number.POSITIVE_INFINITY,Q;for(let X of Object.keys(F)){let V=F[X],$=Y2(q,V);if($<L)L=$,Q=X}return Q};U.keyword.rgb=function(q){return F[q]};U.rgb.xyz=function(q){let O=_(q[0]/255),L=_(q[1]/255),Q=_(q[2]/255),X=O*0.4124564+L*0.3575761+Q*0.1804375,V=O*0.2126729+L*0.7151522+Q*0.072175,$=O*0.0193339+L*0.119192+Q*0.9503041;return[X*100,V*100,$*100]};U.rgb.lab=function(q){let O=U.rgb.xyz(q),L=O[0],Q=O[1],X=O[2];L/=95.047,Q/=100,X/=108.883,L=L>D?L**0.3333333333333333:7.787*L+0.13793103448275862,Q=Q>D?Q**0.3333333333333333:7.787*Q+0.13793103448275862,X=X>D?X**0.3333333333333333:7.787*X+0.13793103448275862;let V=116*Q-16,$=500*(L-Q),W=200*(Q-X);return[V,$,W]};U.hsl.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100,X,V;if(L===0)return V=Q*255,[V,V,V];let $=Q<0.5?Q*(1+L):Q+L-Q*L,W=2*Q-$,Z=[0,0,0];for(let Y=0;Y<3;Y++){if(X=O+0.3333333333333333*-(Y-1),X<0)X++;if(X>1)X--;if(6*X<1)V=W+($-W)*6*X;else if(2*X<1)V=$;else if(3*X<2)V=W+($-W)*(0.6666666666666666-X)*6;else V=W;Z[Y]=V*255}return Z};U.hsl.hsv=function(q){let O=q[0],L=q[1]/100,Q=q[2]/100,X=L,V=Math.max(Q,0.01);Q*=2,L*=Q<=1?Q:2-Q,X*=V<=1?V:2-V;let $=(Q+L)/2,W=Q===0?2*X/(V+X):2*L/(Q+L);return[O,W*100,$*100]};U.hsv.rgb=function(q){let O=q[0]/60,L=q[1]/100,Q=q[2]/100,X=Math.floor(O)%6,V=O-Math.floor(O),$=255*Q*(1-L),W=255*Q*(1-L*V),Z=255*Q*(1-L*(1-V));switch(Q*=255,X){case 0:return[Q,Z,$];case 1:return[W,Q,$];case 2:return[$,Q,Z];case 3:return[$,W,Q];case 4:return[Z,$,Q];case 5:return[Q,$,W]}};U.hsv.hsl=function(q){let O=q[0],L=q[1]/100,Q=q[2]/100,X=Math.max(Q,0.01),V,$;$=(2-L)*Q;let W=(2-L)*X;return V=L*X,V/=W<=1?W:2-W,V=V||0,$/=2,[O,V*100,$*100]};U.hwb.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100,X=L+Q,V;if(X>1)L/=X,Q/=X;let $=Math.floor(6*O),W=1-Q;if(V=6*O-$,($&1)!==0)V=1-V;let Z=L+V*(W-L),Y,J,P;switch($){default:case 6:case 0:{Y=W,J=Z,P=L;break}case 1:{Y=Z,J=W,P=L;break}case 2:{Y=L,J=W,P=Z;break}case 3:{Y=L,J=Z,P=W;break}case 4:{Y=Z,J=L,P=W;break}case 5:{Y=W,J=L,P=Z;break}}return[Y*255,J*255,P*255]};U.cmyk.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=q[3]/100,V=1-Math.min(1,O*(1-X)+X),$=1-Math.min(1,L*(1-X)+X),W=1-Math.min(1,Q*(1-X)+X);return[V*255,$*255,W*255]};U.xyz.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X,V,$;return X=O*3.2404542+L*-1.5371385+Q*-0.4985314,V=O*-0.969266+L*1.8760108+Q*0.041556,$=O*0.0556434+L*-0.2040259+Q*1.0572252,X=I(X),V=I(V),$=I($),[X*255,V*255,$*255]};U.xyz.lab=function(q){let O=q[0],L=q[1],Q=q[2];O/=95.047,L/=100,Q/=108.883,O=O>D?O**0.3333333333333333:7.787*O+0.13793103448275862,L=L>D?L**0.3333333333333333:7.787*L+0.13793103448275862,Q=Q>D?Q**0.3333333333333333:7.787*Q+0.13793103448275862;let X=116*L-16,V=500*(O-L),$=200*(L-Q);return[X,V,$]};U.xyz.oklab=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=Math.cbrt(0.8189330101*O+0.3618667424*L-0.1288597137*Q),V=Math.cbrt(0.0329845436*O+0.9293118715*L+0.0361456387*Q),$=Math.cbrt(0.0482003018*O+0.2643662691*L+0.633851707*Q),W=0.2104542553*X+0.793617785*V-0.0040720468*$,Z=1.9779984951*X-2.428592205*V+0.4505937099*$,Y=0.0259040371*X+0.7827717662*V-0.808675766*$;return[W*100,Z*100,Y*100]};U.oklab.oklch=function(q){return U.lab.lch(q)};U.oklab.xyz=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=(0.999999998*O+0.396337792*L+0.215803758*Q)**3,V=(1.000000008*O-0.105561342*L-0.063854175*Q)**3,$=(1.000000055*O-0.089484182*L-1.291485538*Q)**3,W=1.227013851*X-0.55779998*V+0.281256149*$,Z=-0.040580178*X+1.11225687*V-0.071676679*$,Y=-0.076381285*X-0.421481978*V+1.58616322*$;return[W*100,Z*100,Y*100]};U.oklab.rgb=function(q){let O=q[0]/100,L=q[1]/100,Q=q[2]/100,X=(O+0.3963377774*L+0.2158037573*Q)**3,V=(O-0.1055613458*L-0.0638541728*Q)**3,$=(O-0.0894841775*L-1.291485548*Q)**3,W=I(4.0767416621*X-3.3077115913*V+0.2309699292*$),Z=I(-1.2684380046*X+2.6097574011*V-0.3413193965*$),Y=I(-0.0041960863*X-0.7034186147*V+1.707614701*$);return[W*255,Z*255,Y*255]};U.oklch.oklab=function(q){return U.lch.lab(q)};U.lab.xyz=function(q){let O=q[0],L=q[1],Q=q[2],X,V,$;V=(O+16)/116,X=L/500+V,$=V-Q/200;let W=V**3,Z=X**3,Y=$**3;return V=W>D?W:(V-0.13793103448275862)/7.787,X=Z>D?Z:(X-0.13793103448275862)/7.787,$=Y>D?Y:($-0.13793103448275862)/7.787,X*=95.047,V*=100,$*=108.883,[X,V,$]};U.lab.lch=function(q){let O=q[0],L=q[1],Q=q[2],X;if(X=Math.atan2(Q,L)*360/2/Math.PI,X<0)X+=360;let $=Math.sqrt(L*L+Q*Q);return[O,$,X]};U.lch.lab=function(q){let O=q[0],L=q[1],X=q[2]/360*2*Math.PI,V=L*Math.cos(X),$=L*Math.sin(X);return[O,V,$]};U.rgb.ansi16=function(q,O=null){let[L,Q,X]=q,V=O===null?U.rgb.hsv(q)[2]:O;if(V=Math.round(V/50),V===0)return 30;let $=30+(Math.round(X/255)<<2|Math.round(Q/255)<<1|Math.round(L/255));if(V===2)$+=60;return $};U.hsv.ansi16=function(q){return U.rgb.ansi16(U.hsv.rgb(q),q[2])};U.rgb.ansi256=function(q){let O=q[0],L=q[1],Q=q[2];if(O>>4===L>>4&&L>>4===Q>>4){if(O<8)return 16;if(O>248)return 231;return Math.round((O-8)/247*24)+232}return 16+36*Math.round(O/255*5)+6*Math.round(L/255*5)+Math.round(Q/255*5)};U.ansi16.rgb=function(q){q=q[0];let O=q%10;if(O===0||O===7){if(q>50)O+=3.5;return O=O/10.5*255,[O,O,O]}let L=(Math.trunc(q>50)+1)*0.5,Q=(O&1)*L*255,X=(O>>1&1)*L*255,V=(O>>2&1)*L*255;return[Q,X,V]};U.ansi256.rgb=function(q){if(q=q[0],q>=232){let V=(q-232)*10+8;return[V,V,V]}q-=16;let O,L=Math.floor(q/36)/5*255,Q=Math.floor((O=q%36)/6)/5*255,X=O%6/5*255;return[L,Q,X]};U.rgb.hex=function(q){let L=(((Math.round(q[0])&255)<<16)+((Math.round(q[1])&255)<<8)+(Math.round(q[2])&255)).toString(16).toUpperCase();return"000000".slice(L.length)+L};U.hex.rgb=function(q){let O=q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!O)return[0,0,0];let L=O[0];if(O[0].length===3)L=[...L].map((W)=>W+W).join("");let Q=Number.parseInt(L,16),X=Q>>16&255,V=Q>>8&255,$=Q&255;return[X,V,$]};U.rgb.hcg=function(q){let O=q[0]/255,L=q[1]/255,Q=q[2]/255,X=Math.max(Math.max(O,L),Q),V=Math.min(Math.min(O,L),Q),$=X-V,W,Z=$<1?V/(1-$):0;if($<=0)W=0;else if(X===O)W=(L-Q)/$%6;else if(X===L)W=2+(Q-O)/$;else W=4+(O-L)/$;return W/=6,W%=1,[W*360,$*100,Z*100]};U.hsl.hcg=function(q){let O=q[1]/100,L=q[2]/100,Q=L<0.5?2*O*L:2*O*(1-L),X=0;if(Q<1)X=(L-0.5*Q)/(1-Q);return[q[0],Q*100,X*100]};U.hsv.hcg=function(q){let O=q[1]/100,L=q[2]/100,Q=O*L,X=0;if(Q<1)X=(L-Q)/(1-Q);return[q[0],Q*100,X*100]};U.hcg.rgb=function(q){let O=q[0]/360,L=q[1]/100,Q=q[2]/100;if(L===0)return[Q*255,Q*255,Q*255];let X=[0,0,0],V=O%1*6,$=V%1,W=1-$,Z=0;switch(Math.floor(V)){case 0:{X[0]=1,X[1]=$,X[2]=0;break}case 1:{X[0]=W,X[1]=1,X[2]=0;break}case 2:{X[0]=0,X[1]=1,X[2]=$;break}case 3:{X[0]=0,X[1]=W,X[2]=1;break}case 4:{X[0]=$,X[1]=0,X[2]=1;break}default:X[0]=1,X[1]=0,X[2]=W}return Z=(1-L)*Q,[(L*X[0]+Z)*255,(L*X[1]+Z)*255,(L*X[2]+Z)*255]};U.hcg.hsv=function(q){let O=q[1]/100,L=q[2]/100,Q=O+L*(1-O),X=0;if(Q>0)X=O/Q;return[q[0],X*100,Q*100]};U.hcg.hsl=function(q){let O=q[1]/100,Q=q[2]/100*(1-O)+0.5*O,X=0;if(Q>0&&Q<0.5)X=O/(2*Q);else if(Q>=0.5&&Q<1)X=O/(2*(1-Q));return[q[0],X*100,Q*100]};U.hcg.hwb=function(q){let O=q[1]/100,L=q[2]/100,Q=O+L*(1-O);return[q[0],(Q-O)*100,(1-Q)*100]};U.hwb.hcg=function(q){let O=q[1]/100,Q=1-q[2]/100,X=Q-O,V=0;if(X<1)V=(Q-X)/(1-X);return[q[0],X*100,V*100]};U.apple.rgb=function(q){return[q[0]/65535*255,q[1]/65535*255,q[2]/65535*255]};U.rgb.apple=function(q){return[q[0]/255*65535,q[1]/255*65535,q[2]/255*65535]};U.gray.rgb=function(q){return[q[0]/100*255,q[0]/100*255,q[0]/100*255]};U.gray.hsl=function(q){return[0,0,q[0]]};U.gray.hsv=U.gray.hsl;U.gray.hwb=function(q){return[0,100,q[0]]};U.gray.cmyk=function(q){return[0,0,0,q[0]]};U.gray.lab=function(q){return[q[0],0,0]};U.gray.hex=function(q){let O=Math.round(q[0]/100*255)&255,Q=((O<<16)+(O<<8)+O).toString(16).toUpperCase();return"000000".slice(Q.length)+Q};U.rgb.gray=function(q){return[(q[0]+q[1]+q[2])/3/255*100]};function J2(){let q={},O=Object.keys(A);for(let{length:L}=O,Q=0;Q<L;Q++)q[O[Q]]={distance:-1,parent:null};return q}function G2(q){let O=J2(),L=[q];O[q].distance=0;while(L.length>0){let Q=L.pop(),X=Object.keys(A[Q]);for(let{length:V}=X,$=0;$<V;$++){let W=X[$],Z=O[W];if(Z.distance===-1)Z.distance=O[Q].distance+1,Z.parent=Q,L.unshift(W)}}return O}function E2(q,O){return function(L){return O(q(L))}}function P2(q,O){let L=[O[q].parent,q],Q=A[O[q].parent][q],X=O[q].parent;while(O[X].parent)L.unshift(O[X].parent),Q=E2(A[O[X].parent][X],Q),X=O[X].parent;return Q.conversion=L,Q}function B2(q){let O=G2(q),L={},Q=Object.keys(O);for(let{length:X}=Q,V=0;V<X;V++){let $=Q[V];if(O[$].parent===null)continue;L[$]=P2($,O)}return L}var t=B2;var N={},R2=Object.keys(A);function K2(q){let O=function(...L){let Q=L[0];if(Q===void 0||Q===null)return Q;if(Q.length>1)L=Q;return q(L)};if("conversion"in q)O.conversion=q.conversion;return O}function F2(q){let O=function(...L){let Q=L[0];if(Q===void 0||Q===null)return Q;if(Q.length>1)L=Q;let X=q(L);if(typeof X==="object")for(let{length:V}=X,$=0;$<V;$++)X[$]=Math.round(X[$]);return X};if("conversion"in q)O.conversion=q.conversion;return O}for(let q of R2){N[q]={},Object.defineProperty(N[q],"channels",{value:A[q].channels}),Object.defineProperty(N[q],"labels",{value:A[q].labels});let O=t(q),L=Object.keys(O);for(let Q of L){let X=O[Q];N[q][Q]=F2(X),N[q][Q].raw=K2(X)}}var K=N;var l=["keyword","gray","hex"],p={};for(let q of Object.keys(K))p[[...K[q].labels].sort().join("")]=q;var d={};function B(q,O){if(!(this instanceof B))return new B(q,O);if(O&&O in l)O=null;if(O&&!(O in K))throw new Error("Unknown model: "+O);let L,Q;if(q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(q instanceof B)this.model=q.model,this.color=[...q.color],this.valpha=q.valpha;else if(typeof q==="string"){let X=T.get(q);if(X===null)throw new Error("Unable to parse color from string: "+q);this.model=X.model,Q=K[this.model].channels,this.color=X.value.slice(0,Q),this.valpha=typeof X.value[Q]==="number"?X.value[Q]:1}else if(q.length>0){this.model=O||"rgb",Q=K[this.model].channels;let X=Array.prototype.slice.call(q,0,Q);this.color=y(X,Q),this.valpha=typeof q[Q]==="number"?q[Q]:1}else if(typeof q==="number")this.model="rgb",this.color=[q>>16&255,q>>8&255,q&255],this.valpha=1;else{this.valpha=1;let X=Object.keys(q);if("alpha"in q)X.splice(X.indexOf("alpha"),1),this.valpha=typeof q.alpha==="number"?q.alpha:0;let V=X.sort().join("");if(!(V in p))throw new Error("Unable to parse color from object: "+JSON.stringify(q));this.model=p[V];let{labels:$}=K[this.model],W=[];for(L=0;L<$.length;L++)W.push(q[$[L]]);this.color=y(W)}if(d[this.model]){Q=K[this.model].channels;for(L=0;L<Q;L++){let X=d[this.model][L];if(X)this.color[L]=X(this.color[L])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}B.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(q){let O=this.model in T.to?this:this.rgb();O=O.round(typeof q==="number"?q:1);let L=O.valpha===1?O.color:[...O.color,this.valpha];return T.to[O.model](...L)},percentString(q){let O=this.rgb().round(typeof q==="number"?q:1),L=O.valpha===1?O.color:[...O.color,this.valpha];return T.to.rgb.percent(...L)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let q={},{channels:O}=K[this.model],{labels:L}=K[this.model];for(let Q=0;Q<O;Q++)q[L[Q]]=this.color[Q];if(this.valpha!==1)q.alpha=this.valpha;return q},unitArray(){let q=this.rgb().color;if(q[0]/=255,q[1]/=255,q[2]/=255,this.valpha!==1)q.push(this.valpha);return q},unitObject(){let q=this.rgb().object();if(q.r/=255,q.g/=255,q.b/=255,this.valpha!==1)q.alpha=this.valpha;return q},round(q){return q=Math.max(q||0,0),new B([...this.color.map(A2(q)),this.valpha],this.model)},alpha(q){if(q!==void 0)return new B([...this.color,Math.max(0,Math.min(1,q))],this.model);return this.valpha},red:G("rgb",0,E(255)),green:G("rgb",1,E(255)),blue:G("rgb",2,E(255)),hue:G(["hsl","hsv","hsl","hwb","hcg"],0,(q)=>(q%360+360)%360),saturationl:G("hsl",1,E(100)),lightness:G("hsl",2,E(100)),saturationv:G("hsv",1,E(100)),value:G("hsv",2,E(100)),chroma:G("hcg",1,E(100)),gray:G("hcg",2,E(100)),white:G("hwb",1,E(100)),wblack:G("hwb",2,E(100)),cyan:G("cmyk",0,E(100)),magenta:G("cmyk",1,E(100)),yellow:G("cmyk",2,E(100)),black:G("cmyk",3,E(100)),x:G("xyz",0,E(95.047)),y:G("xyz",1,E(100)),z:G("xyz",2,E(108.833)),l:G("lab",0,E(100)),a:G("lab",1),b:G("lab",2),keyword(q){if(q!==void 0)return new B(q);return K[this.model].keyword(this.color)},hex(q){if(q!==void 0)return new B(q);return T.to.hex(...this.rgb().round().color)},hexa(q){if(q!==void 0)return new B(q);let O=this.rgb().round().color,L=Math.round(this.valpha*255).toString(16).toUpperCase();if(L.length===1)L="0"+L;return T.to.hex(...O)+L},rgbNumber(){let q=this.rgb().color;return(q[0]&255)<<16|(q[1]&255)<<8|q[2]&255},luminosity(){let q=this.rgb().color,O=[];for(let[L,Q]of q.entries()){let X=Q/255;O[L]=X<=0.04045?X/12.92:((X+0.055)/1.055)**2.4}return 0.2126*O[0]+0.7152*O[1]+0.0722*O[2]},contrast(q){let O=this.luminosity(),L=q.luminosity();if(O>L)return(O+0.05)/(L+0.05);return(L+0.05)/(O+0.05)},level(q){let O=this.contrast(q);if(O>=7)return"AAA";return O>=4.5?"AA":""},isDark(){let q=this.rgb().color;return(q[0]*2126+q[1]*7152+q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let q=this.rgb();for(let O=0;O<3;O++)q.color[O]=255-q.color[O];return q},lighten(q){let O=this.hsl();return O.color[2]+=O.color[2]*q,O},darken(q){let O=this.hsl();return O.color[2]-=O.color[2]*q,O},saturate(q){let O=this.hsl();return O.color[1]+=O.color[1]*q,O},desaturate(q){let O=this.hsl();return O.color[1]-=O.color[1]*q,O},whiten(q){let O=this.hwb();return O.color[1]+=O.color[1]*q,O},blacken(q){let O=this.hwb();return O.color[2]+=O.color[2]*q,O},grayscale(){let q=this.rgb().color,O=q[0]*0.3+q[1]*0.59+q[2]*0.11;return B.rgb(O,O,O)},fade(q){return this.alpha(this.valpha-this.valpha*q)},opaquer(q){return this.alpha(this.valpha+this.valpha*q)},rotate(q){let O=this.hsl(),L=O.color[0];return L=(L+q)%360,L=L<0?360+L:L,O.color[0]=L,O},mix(q,O){if(!q||!q.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof q);let L=q.rgb(),Q=this.rgb(),X=O===void 0?0.5:O,V=2*X-1,$=L.alpha()-Q.alpha(),W=((V*$===-1?V:(V+$)/(1+V*$))+1)/2,Z=1-W;return B.rgb(W*L.red()+Z*Q.red(),W*L.green()+Z*Q.green(),W*L.blue()+Z*Q.blue(),L.alpha()*X+Q.alpha()*(1-X))}};for(let q of Object.keys(K)){if(l.includes(q))continue;let{channels:O}=K[q];B.prototype[q]=function(...L){if(this.model===q)return new B(this);if(L.length>0)return new B(L,q);return new B([...H2(K[this.model][q].raw(this.color)),this.valpha],q)},B[q]=function(...L){let Q=L[0];if(typeof Q==="number")Q=y(L,O);return new B(Q,q)}}function D2(q,O){return Number(q.toFixed(O))}function A2(q){return function(O){return D2(O,q)}}function G(q,O,L){q=Array.isArray(q)?q:[q];for(let Q of q)(d[Q]||=[])[O]=L;return q=q[0],function(Q){let X;if(Q!==void 0){if(L)Q=L(Q);return X=this[q](),X.color[O]=Q,X}if(X=this[q]().color[O],L)X=L(X);return X}}function E(q){return function(O){return Math.max(0,Math.min(q,O))}}function H2(q){return Array.isArray(q)?q:[q]}function y(q,O){for(let L=0;L<O;L++)if(typeof q[L]!=="number")q[L]=0;return q}var u=B;var g=Z2(Q2(),1),K5=(q,O={})=>{let L=[],Q=[],X={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},$=Object.assign({threshold:0,compact:!1,uniq:!0},O);if(Array.isArray(q)){let W=q;if($.uniq)W=g.default(q);if(W!==void 0)L=W.map((Z)=>u(Z))}else if(typeof q==="object"){if(L=Object.keys(q).map((W)=>u(q[W])),$.uniq)L=g.default(L)}else return console.error("Must provide an array or object"),!1;return Q=L.map((W)=>{let Z=$.compact?{hex:"",combinations:[]}:{color:W.color,model:W.model,valpha:W.valpha,hex:"",combinations:[]};return Z.hex=W.hex(),Z.combinations=L.filter((Y)=>W!==Y).filter((Y)=>{if($.threshold!==void 0)return W.contrast(Y)>$.threshold;return!0}).map((Y)=>{let J=$.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:Y.color,model:Y.model,valpha:Y.valpha};return J=Object.assign(J,{hex:Y.hex(),contrast:W.contrast(Y)}),J.accessibility={aa:J.contrast>=X.aa,aaLarge:J.contrast>=X.aaLarge,aaa:J.contrast>=X.aaa,aaaLarge:J.contrast>=X.aaaLarge},J}),Z}),Q},p5=K5;export{p5 as default};
1
+ var P2=Object.create;var{getPrototypeOf:L2,defineProperty:Z2,getOwnPropertyNames:M2}=Object;var G2=Object.prototype.hasOwnProperty;var z2=(Q,X,$)=>{$=Q!=null?P2(L2(Q)):{};let Z=X||!Q||!Q.__esModule?Z2($,"default",{value:Q,enumerable:!0}):$;for(let J of M2(Q))if(!G2.call(Z,J))Z2(Z,J,{get:()=>Q[J],enumerable:!0});return Z};var j2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var T2=j2((r1,N2)=>{var m2=200,e="__lodash_hash_undefined__",h2=1/0,b2="[object Function]",g2="[object GeneratorFunction]",i2=/[\\^$.*+?()[\]{}|]/g,c2=/^\[object .+?Constructor\]$/,n2=typeof global=="object"&&global&&global.Object===Object&&global,l2=typeof self=="object"&&self&&self.Object===Object&&self,r=n2||l2||Function("return this")();function s2(Q,X){var $=Q?Q.length:0;return!!$&&a2(Q,X,0)>-1}function t2(Q,X,$){var Z=-1,J=Q?Q.length:0;while(++Z<J)if($(X,Q[Z]))return!0;return!1}function o2(Q,X,$,Z){var J=Q.length,V=$+(Z?1:-1);while(Z?V--:++V<J)if(X(Q[V],V,Q))return V;return-1}function a2(Q,X,$){if(X!==X)return o2(Q,e2,$);var Z=$-1,J=Q.length;while(++Z<J)if(Q[Z]===X)return Z;return-1}function e2(Q){return Q!==Q}function r2(Q,X){return Q.has(X)}function Q1(Q,X){return Q==null?void 0:Q[X]}function X1(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function D2(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(Z){$[++X]=Z}),$}var $1=Array.prototype,Z1=Function.prototype,H2=Object.prototype,o=r["__core-js_shared__"],B2=function(){var Q=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),E2=Z1.toString,Q2=H2.hasOwnProperty,J1=H2.toString,W1=RegExp("^"+E2.call(Q2).replace(i2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),V1=$1.splice,q1=X2(r,"Map"),a=X2(r,"Set"),u=X2(Object,"create");function w(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function U1(){this.__data__=u?u(null):{}}function K1(Q){return this.has(Q)&&delete this.__data__[Q]}function R1(Q){var X=this.__data__;if(u){var $=X[Q];return $===e?void 0:$}return Q2.call(X,Q)?X[Q]:void 0}function B1(Q){var X=this.__data__;return u?X[Q]!==void 0:Q2.call(X,Q)}function D1(Q,X){var $=this.__data__;return $[Q]=u&&X===void 0?e:X,this}w.prototype.clear=U1;w.prototype.delete=K1;w.prototype.get=R1;w.prototype.has=B1;w.prototype.set=D1;function p(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function H1(){this.__data__=[]}function E1(Q){var X=this.__data__,$=g(X,Q);if($<0)return!1;var Z=X.length-1;if($==Z)X.pop();else V1.call(X,$,1);return!0}function O1(Q){var X=this.__data__,$=g(X,Q);return $<0?void 0:X[$][1]}function N1(Q){return g(this.__data__,Q)>-1}function T1(Q,X){var $=this.__data__,Z=g($,Q);if(Z<0)$.push([Q,X]);else $[Z][1]=X;return this}p.prototype.clear=H1;p.prototype.delete=E1;p.prototype.get=O1;p.prototype.has=N1;p.prototype.set=T1;function v(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function F1(){this.__data__={hash:new w,map:new(q1||p),string:new w}}function P1(Q){return i(this,Q).delete(Q)}function L1(Q){return i(this,Q).get(Q)}function M1(Q){return i(this,Q).has(Q)}function G1(Q,X){return i(this,Q).set(Q,X),this}v.prototype.clear=F1;v.prototype.delete=P1;v.prototype.get=L1;v.prototype.has=M1;v.prototype.set=G1;function b(Q){var X=-1,$=Q?Q.length:0;this.__data__=new v;while(++X<$)this.add(Q[X])}function z1(Q){return this.__data__.set(Q,e),this}function j1(Q){return this.__data__.has(Q)}b.prototype.add=b.prototype.push=z1;b.prototype.has=j1;function g(Q,X){var $=Q.length;while($--)if(A1(Q[$][0],X))return $;return-1}function _1(Q){if(!O2(Q)||S1(Q))return!1;var X=f1(Q)||X1(Q)?W1:c2;return X.test(k1(Q))}function Y1(Q,X,$){var Z=-1,J=s2,V=Q.length,W=!0,q=[],U=q;if($)W=!1,J=t2;else if(V>=m2){var K=X?null:C1(Q);if(K)return D2(K);W=!1,J=r2,U=new b}else U=X?[]:q;Q:while(++Z<V){var D=Q[Z],H=X?X(D):D;if(D=$||D!==0?D:0,W&&H===H){var N=U.length;while(N--)if(U[N]===H)continue Q;if(X)U.push(H);q.push(D)}else if(!J(U,H,$)){if(U!==q)U.push(H);q.push(D)}}return q}var C1=!(a&&1/D2(new a([,-0]))[1]==h2)?x1:function(Q){return new a(Q)};function i(Q,X){var $=Q.__data__;return I1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function X2(Q,X){var $=Q1(Q,X);return _1($)?$:void 0}function I1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function S1(Q){return!!B2&&B2 in Q}function k1(Q){if(Q!=null){try{return E2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function w1(Q){return Q&&Q.length?Y1(Q):[]}function A1(Q,X){return Q===X||Q!==Q&&X!==X}function f1(Q){var X=O2(Q)?J1.call(Q):"";return X==b2||X==g2}function O2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function x1(){}N2.exports=w1});function c(Q){if(typeof Q==="string")return _2(Q);else if(typeof Q==="number")return[(Q&16711680)>>16,(Q&65280)>>8,Q&255,1,!0,"unknown"];else if(typeof Q==="object"){if(Array.isArray(Q))return Q;else if(!isNaN(Q.r)||!isNaN(Q.red)){let X=[0,0,0,0,!1,"unknown"];return X[0]=Q.r?Q.r:Q.red?Q.red:!1,X[1]=Q.g?Q.g:Q.green?Q.green:!1,X[2]=Q.b?Q.b:Q.blue?Q.blue:!1,X[3]=Q.a?Q.a:Q.alpha?Q.alpha:1,X[4]=X[0]&&X[1]&&X[2]?!0:!1,X[5]=Q.space?Q.space:Q.colorSpace?Q.colorSpace:Q.colorspace?Q.colorspace:"unknown",X}}return console.log("colorParsley error: invalid input"),[0,0,0,0,!1,"inputError"]}function _2(Q="#abcdef"){Q=Q.replace(/[^\w,.#%()\/ -]/g,""),Q=Q.toLowerCase();let X=!1,Z=[0,0,0,0,X,"sRGB"];if(Q.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)){let W={gray0:"000000",gray1:"111111",gray2:"222222",gray3:"333333",gray4:"444444",gray5:"555555",gray6:"666666",gray7:"777777",gray8:"888888",gray9:"999999",graya:"aaaaaa",grayb:"bbbbbb",grayc:"cccccc",grayd:"dddddd",graye:"eeeeee",grayf:"ffffff",midgray:"a0a0a0",grey0:"000000",grey1:"111111",grey2:"222222",grey3:"333333",grey4:"444444",grey5:"555555",grey6:"666666",grey7:"777777",grey8:"888888",grey9:"999999",greya:"aaaaaa",greyb:"bbbbbb",greyc:"cccccc",greyd:"dddddd",greye:"eeeeee",greyf:"ffffff",midgrey:"a0a0a0",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",darkgrey:"a9a9a9",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",green:"008000",greenyellow:"adff2f",grey:"808080",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"};for(let q in W)if(Q==q){let U={rex:/^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,sprig:function(D){for(let H=0;H<3;H++)Z[H]=parseInt(D[H+1],16);return Z[3]=1,!0}},K=U.rex.exec(W[q]);return Z[4]=X=U.sprig(K),Z}}let J={rex:/(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,parsley:function(W){let q=0,U=0,K=10,D=100,H=2.55,N="1";if(W[23])N=W[23],delete W[23];Z[3]=N.match(/%/g)?parseFloat(N)/D:parseFloat(N);for(let B=1;B<W.length;B++)if(W[B])q=q?q:B,U=B;switch(U){case 4:K=16,D=15,Z[3]=parseInt(W[U],K)/D;case 3:K=16;for(let B=0;B<3;B++)Z[B]=parseInt(W[q+B]+W[q+B],K);break;case 5:K=16;case 9:Z[0]=Z[1]=Z[2]=K==10?parseFloat(W[U]):parseInt(W[U],K);break;case 12:Z[0]=Z[1]=Z[2]=parseFloat(W[U])*H;break;case 8:K=16,D=255,Z[3]=parseInt(W[8],K)/D;case 7:K=16;case 11:for(let B=0;B<3;B++)Z[B]=K==10?parseFloat(W[q+B]):parseInt(W[q+B],K);break;case 14:for(let B=0;B<3;B++)Z[B]=parseFloat(W[q+B])*H;break;case 18:Z[5]=W[15];for(let B=0;B<3;B++)q++,Z[B]=W[q].match(/%/g)?parseFloat(W[q])*2.55:parseFloat(W[q])*255;break;case 22:Z[5]=W[q];for(let B=0;B<3;B++)q++,Z[B]=W[q]?W[q].match(/%/g)?parseFloat(W[q])/D:parseFloat(W[q]):0;if(Z[5].match(/^(?:hsla?|hwba?)/i)){let j=function(m){let f=(m+A/30)%12,F2=B*Math.min(_,1-_);return _-F2*Math.max(-1,Math.min(f-3,9-f,1))},B,_,T,L,I,A=Z[0]%360;if(A<0)A+=360;if(Z[5].match(/^hsla?/i))B=Z[1],_=Z[2],T=0,I=1;else if(Z[5].match(/^hwba?/i)){if(T=Z[1],L=Z[2],T+L>=1){Z[0]=Z[1]=Z[2]=T/(T+L),Z[5]="sRGB";break}B=1,_=0.5,I=1-T-L}Z[0]=Math.round(255*(j(0)*I+T)),Z[1]=Math.round(255*(j(8)*I+T)),Z[2]=Math.round(255*(j(4)*I+T)),Z[5]="sRGB"}break}return!0}},V=J.rex.exec(Q);if(V)return Z[4]=X=J.parsley(V),Z;else return X=!1,console.log("colorParsley error: unable to parse string"),[0,0,0,0,X,"parsleyError"]}var O={mainTRC:2.4,get mainTRCencode(){return 1/this.mainTRC},sRco:0.2126729,sGco:0.7151522,sBco:0.072175,normBG:0.56,normTXT:0.57,revTXT:0.62,revBG:0.65,blkThrs:0.022,blkClmp:1.414,scaleBoW:1.14,scaleWoB:1.14,loBoWoffset:0.027,loWoBoffset:0.027,deltaYmin:0.0005,loClip:0.1,mFactor:1.9468554433171,get mFactInv(){return 1/this.mFactor},mOffsetIn:0.0387393816571401,mExpAdj:0.283343396420869,get mExp(){return this.mExpAdj/this.blkClmp},mOffsetOut:0.312865795870758};function Y2(Q,X,$=-1){let Z=[0,1.1];if(isNaN(Q)||isNaN(X)||Math.min(Q,X)<Z[0]||Math.max(Q,X)>Z[1])return 0;let J=0,V=0,W="BoW";if(Q=Q>O.blkThrs?Q:Q+Math.pow(O.blkThrs-Q,O.blkClmp),X=X>O.blkThrs?X:X+Math.pow(O.blkThrs-X,O.blkClmp),Math.abs(X-Q)<O.deltaYmin)return 0;if(X>Q)J=(Math.pow(X,O.normBG)-Math.pow(Q,O.normTXT))*O.scaleBoW,V=J<O.loClip?0:J-O.loBoWoffset;else W="WoB",J=(Math.pow(X,O.revBG)-Math.pow(Q,O.revTXT))*O.scaleWoB,V=J>-O.loClip?0:J+O.loWoBoffset;if($<0)return V*100;else if($==0)return Math.round(Math.abs(V)*100)+"<sub>"+W+"</sub>";else if(Number.isInteger($))return(V*100).toFixed($);else return 0}function W2(Q,X,$=-1,Z=!0){let J=c(X),V=c(Q);if(V[3]==""||V[3]==1?!1:!0)V=C2(V,J,Z);return Y2(J2(V),J2(J),$)}function V2(Q,X=2){let $=[["Lc",100,200,300,400,500,600,700,800,900],[0,999,999,999,999,999,999,999,999,999],[10,999,999,999,999,999,999,999,999,999],[15,777,777,777,777,777,777,777,777,777],[20,777,777,777,777,777,777,777,777,777],[25,777,777,777,120,120,108,96,96,96],[30,777,777,120,108,108,96,72,72,72],[35,777,120,108,96,72,60,48,48,48],[40,120,108,96,60,48,42,32,32,32],[45,108,96,72,42,32,28,24,24,24],[50,96,72,60,32,28,24,21,21,21],[55,80,60,48,28,24,21,18,18,18],[60,72,48,42,24,21,18,16,16,18],[65,68,46,32,21.75,19,17,15,16,18],[70,64,44,28,19.5,18,16,14.5,16,18],[75,60,42,24,18,16,15,14,16,18],[80,56,38.25,23,17.25,15.81,14.81,14,16,18],[85,52,34.5,22,16.5,15.625,14.625,14,16,18],[90,48,32,21,16,15.5,14.5,14,16,18],[95,45,28,19.5,15.5,15,14,13.5,16,18],[100,42,26.5,18.5,15,14.5,13.5,13,16,18],[105,39,25,18,14.5,14,13,12,16,18],[110,36,24,18,14,13,12,11,16,18],[115,34.5,22.5,17.25,12.5,11.875,11.25,10.625,14.5,16.5],[120,33,21,16.5,11,10.75,10.5,10.25,13,15],[125,32,20,16,10,10,10,10,12,14]],Z=[["∆Lc",100,200,300,400,500,600,700,800,900],[0,0,0,0,0,0,0,0,0,0],[10,0,0,0,0,0,0,0,0,0],[15,0,0,0,0,0,0,0,0,0],[20,0,0,0,0,0,0,0,0,0],[25,0,0,0,12,12,12,24,24,24],[30,0,0,12,12,36,36,24,24,24],[35,0,12,12,36,24,18,16,16,16],[40,12,12,24,18,16,14,8,8,8],[45,12,24,12,10,4,4,3,3,3],[50,16,12,12,4,4,3,3,3,3],[55,8,12,6,4,3,3,2,2,0],[60,4,2,10,2.25,2,1,1,0,0],[65,4,2,4,2.25,1,1,0.5,0,0],[70,4,2,4,1.5,2,1,0.5,0,0],[75,4,3.75,1,0.75,0.188,0.188,0,0,0],[80,4,3.75,1,0.75,0.188,0.188,0,0,0],[85,4,2.5,1,0.5,0.125,0.125,0,0,0],[90,3,4,1.5,0.5,0.5,0.5,0.5,0,0],[95,3,1.5,1,0.5,0.5,0.5,0.5,0,0],[100,3,1.5,0.5,0.5,0.5,0.5,1,0,0],[105,3,1,0,0.5,1,1,1,0,0],[110,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[115,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[120,1,1,0.5,1,0.75,0.5,0.25,1,1],[125,0,0,0,0,0,0,0,0,0]],V=[0,100,200,300,400,500,600,700,800,900].length,W=[Q.toFixed(X),0,0,0,0,0,0,0,0,0],q=W.length,K=["lc",0,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125].length,D=777;Q=Math.abs(Q);let H=0.2,N=Q==0?1:Q*H|0,B=0,_=(Q-$[N][B])*H;B++;for(;B<V;B++)if(D=$[N][B],D>400)W[B]=D;else if(Q<14.5)W[B]=999;else if(Q<29.5)W[B]=777;else D>24?W[B]=Math.round(D-Z[N][B]*_):W[B]=D-(2*Z[N][B]*_|0)*0.5;return W}function J2(Q=[0,0,0]){function X($){return Math.pow($/255,O.mainTRC)}return O.sRco*X(Q[0])+O.sGco*X(Q[1])+O.sBco*X(Q[2])}function C2(Q=[0,0,0,1],X=[0,0,0],$=!0){Q[3]=Math.max(Math.min(Q[3],1),0);let Z=1-Q[3],J=[0,0,0,1,!0];for(let V=0;V<3;V++)if(J[V]=X[V]*Z+Q[V]*Q[3],$)J[V]=Math.min(Math.round(J[V]),255);return J}var z={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var q2=Object.create(null);for(let Q in z)if(Object.hasOwn(z,Q))q2[z[Q]]=Q;var M={to:{},get:{}};M.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,Z;switch(X){case"hsl":{$=M.get.hsl(Q),Z="hsl";break}case"hwb":{$=M.get.hwb(Q),Z="hwb";break}default:{$=M.get.rgb(Q),Z="rgb";break}}if(!$)return null;return{model:Z,value:$}};M.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Z=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,J=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,V=/^(\w+)$/,W=[0,0,0,1],q,U,K;if(q=Q.match($)){K=q[2],q=q[1];for(U=0;U<3;U++){let D=U*2;W[U]=Number.parseInt(q.slice(D,D+2),16)}if(K)W[3]=Number.parseInt(K,16)/255}else if(q=Q.match(X)){q=q[1],K=q[3];for(U=0;U<3;U++)W[U]=Number.parseInt(q[U]+q[U],16);if(K)W[3]=Number.parseInt(K+K,16)/255}else if(q=Q.match(Z)){for(U=0;U<3;U++)W[U]=Number.parseFloat(q[U+1]);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.match(J)){for(U=0;U<3;U++)W[U]=Math.round(Number.parseFloat(q[U+1])*2.55);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.toLowerCase().match(V)){if(q[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(z,q[1]))return null;return W=z[q[1]].slice(),W[3]=1,W}else return null;for(U=0;U<3;U++)W[U]=S(W[U],0,255);return W[3]=S(W[3],0,1),W};M.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.to.hex=function(...Q){return"#"+h(Q[0])+h(Q[1])+h(Q[2])+(Q[3]<1?h(Math.round(Q[3]*255)):"")};M.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};M.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),Z=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+Z+"%)":"rgba("+X+"%, "+$+"%, "+Z+"%, "+Q[3]+")"};M.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};M.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};M.to.keyword=function(...Q){return q2[Q.slice(0,3)]};function S(Q,X,$){return Math.min(Math.max(X,Q),$)}function h(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var k=M;var U2={};for(let Q of Object.keys(z))U2[z[Q]]=Q;var R={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},C=R,Y=0.008856451679035631;function x(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function d(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(R)){if(!("channels"in R[Q]))throw Error("missing channels property: "+Q);if(!("labels"in R[Q]))throw Error("missing channel labels property: "+Q);if(R[Q].labels.length!==R[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=R[Q];delete R[Q].channels,delete R[Q].labels,Object.defineProperty(R[Q],"channels",{value:X}),Object.defineProperty(R[Q],"labels",{value:$})}R.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(X,$,Z),V=Math.max(X,$,Z),W=V-J,q,U;switch(V){case J:{q=0;break}case X:{q=($-Z)/W;break}case $:{q=2+(Z-X)/W;break}case Z:{q=4+(X-$)/W;break}}if(q=Math.min(q*60,360),q<0)q+=360;let K=(J+V)/2;if(V===J)U=0;else if(K<=0.5)U=W/(V+J);else U=W/(2-V-J);return[q,U*100,K*100]};R.rgb.hsv=function(Q){let X,$,Z,J,V,W=Q[0]/255,q=Q[1]/255,U=Q[2]/255,K=Math.max(W,q,U),D=K-Math.min(W,q,U),H=function(N){return(K-N)/6/D+0.5};if(D===0)J=0,V=0;else{switch(V=D/K,X=H(W),$=H(q),Z=H(U),K){case W:{J=Z-$;break}case q:{J=0.3333333333333333+X-Z;break}case U:{J=0.6666666666666666+$-X;break}}if(J<0)J+=1;else if(J>1)J-=1}return[J*360,V*100,K*100]};R.rgb.hwb=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J=R.rgb.hsl(Q)[0],V=0.00392156862745098*Math.min(X,Math.min($,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max($,Z)),[J,V*100,Z*100]};R.rgb.oklab=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*Z),V=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*Z),W=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(1-X,1-$,1-Z),V=(1-X-J)/(1-J)||0,W=(1-$-J)/(1-J)||0,q=(1-Z-J)/(1-J)||0;return[V*100,W*100,q*100,J*100]};function I2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}R.rgb.keyword=function(Q){let X=U2[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,Z;for(let J of Object.keys(z)){let V=z[J],W=I2(Q,V);if(W<$)$=W,Z=J}return Z};R.keyword.rgb=function(Q){return[...z[Q]]};R.rgb.xyz=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=X*0.4124564+$*0.3575761+Z*0.1804375,V=X*0.2126729+$*0.7151522+Z*0.072175,W=X*0.0193339+$*0.119192+Z*0.9503041;return[J*100,V*100,W*100]};R.rgb.lab=function(Q){let X=R.rgb.xyz(Q),$=X[0],Z=X[1],J=X[2];$/=95.047,Z/=100,J/=108.883,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>Y?J**0.3333333333333333:7.787*J+0.13793103448275862;let V=116*Z-16,W=500*($-Z),q=200*(Z-J);return[V,W,q]};R.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J,V;if($===0)return V=Z*255,[V,V,V];let W=Z<0.5?Z*(1+$):Z+$-Z*$,q=2*Z-W,U=[0,0,0];for(let K=0;K<3;K++){if(J=X+0.3333333333333333*-(K-1),J<0)J++;if(J>1)J--;if(6*J<1)V=q+(W-q)*6*J;else if(2*J<1)V=W;else if(3*J<2)V=q+(W-q)*(0.6666666666666666-J)*6;else V=q;U[K]=V*255}return U};R.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=$,V=Math.max(Z,0.01);Z*=2,$*=Z<=1?Z:2-Z,J*=V<=1?V:2-V;let W=(Z+$)/2,q=Z===0?2*J/(V+J):2*$/(Z+$);return[X,q*100,W*100]};R.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,Z=Q[2]/100,J=Math.floor(X)%6,V=X-Math.floor(X),W=255*Z*(1-$),q=255*Z*(1-$*V),U=255*Z*(1-$*(1-V));switch(Z*=255,J){case 0:return[Z,U,W];case 1:return[q,Z,W];case 2:return[W,Z,U];case 3:return[W,q,Z];case 4:return[U,W,Z];case 5:return[Z,W,q]}};R.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=Math.max(Z,0.01),V,W;W=(2-$)*Z;let q=(2-$)*J;return V=$*J,V/=q<=1?q:2-q,V=V||0,W/=2,[X,V*100,W*100]};R.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J=$+Z,V;if(J>1)$/=J,Z/=J;let W=Math.floor(6*X),q=1-Z;if(V=6*X-W,(W&1)!==0)V=1-V;let U=$+V*(q-$),K,D,H;switch(W){default:case 6:case 0:{K=q,D=U,H=$;break}case 1:{K=U,D=q,H=$;break}case 2:{K=$,D=q,H=U;break}case 3:{K=$,D=U,H=q;break}case 4:{K=U,D=$,H=q;break}case 5:{K=q,D=$,H=U;break}}return[K*255,D*255,H*255]};R.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Q[3]/100,V=1-Math.min(1,X*(1-J)+J),W=1-Math.min(1,$*(1-J)+J),q=1-Math.min(1,Z*(1-J)+J);return[V*255,W*255,q*255]};R.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J,V,W;return J=X*3.2404542+$*-1.5371385+Z*-0.4985314,V=X*-0.969266+$*1.8760108+Z*0.041556,W=X*0.0556434+$*-0.2040259+Z*1.0572252,J=x(J),V=x(V),W=x(W),[J*255,V*255,W*255]};R.xyz.lab=function(Q){let X=Q[0],$=Q[1],Z=Q[2];X/=95.047,$/=100,Z/=108.883,X=X>Y?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*$-16,V=500*(X-$),W=200*($-Z);return[J,V,W]};R.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*Z),V=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*Z),W=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.oklab.oklch=function(Q){return R.lab.lch(Q)};R.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(0.999999998*X+0.396337792*$+0.215803758*Z)**3,V=(1.000000008*X-0.105561342*$-0.063854175*Z)**3,W=(1.000000055*X-0.089484182*$-1.291485538*Z)**3,q=1.227013851*J-0.55779998*V+0.281256149*W,U=-0.040580178*J+1.11225687*V-0.071676679*W,K=-0.076381285*J-0.421481978*V+1.58616322*W;return[q*100,U*100,K*100]};R.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(X+0.3963377774*$+0.2158037573*Z)**3,V=(X-0.1055613458*$-0.0638541728*Z)**3,W=(X-0.0894841775*$-1.291485548*Z)**3,q=x(4.0767416621*J-3.3077115913*V+0.2309699292*W),U=x(-1.2684380046*J+2.6097574011*V-0.3413193965*W),K=x(-0.0041960863*J-0.7034186147*V+1.707614701*W);return[q*255,U*255,K*255]};R.oklch.oklab=function(Q){return R.lch.lab(Q)};R.lab.xyz=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J,V,W;V=(X+16)/116,J=$/500+V,W=V-Z/200;let q=V**3,U=J**3,K=W**3;return V=q>Y?q:(V-0.13793103448275862)/7.787,J=U>Y?U:(J-0.13793103448275862)/7.787,W=K>Y?K:(W-0.13793103448275862)/7.787,J*=95.047,V*=100,W*=108.883,[J,V,W]};R.lab.lch=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J;if(J=Math.atan2(Z,$)*360/2/Math.PI,J<0)J+=360;let W=Math.sqrt($*$+Z*Z);return[X,W,J]};R.lch.lab=function(Q){let X=Q[0],$=Q[1],J=Q[2]/360*2*Math.PI,V=$*Math.cos(J),W=$*Math.sin(J);return[X,V,W]};R.rgb.ansi16=function(Q,X=null){let[$,Z,J]=Q,V=X===null?R.rgb.hsv(Q)[2]:X;if(V=Math.round(V/50),V===0)return 30;let W=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round($/255));if(V===2)W+=60;return W};R.hsv.ansi16=function(Q){return R.rgb.ansi16(R.hsv.rgb(Q),Q[2])};R.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],Z=Q[2];if(X>>4===$>>4&&$>>4===Z>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(Z/255*5)};R.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,Z=(X&1)*$*255,J=(X>>1&1)*$*255,V=(X>>2&1)*$*255;return[Z,J,V]};R.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let V=(Q-232)*10+8;return[V,V,V]}Q-=16;let X,$=Math.floor(Q/36)/5*255,Z=Math.floor((X=Q%36)/6)/5*255,J=X%6/5*255;return[$,Z,J]};R.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};R.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((q)=>q+q).join("");let Z=Number.parseInt($,16),J=Z>>16&255,V=Z>>8&255,W=Z&255;return[J,V,W]};R.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.max(Math.max(X,$),Z),V=Math.min(Math.min(X,$),Z),W=J-V,q,U=W<1?V/(1-W):0;if(W<=0)q=0;else if(J===X)q=($-Z)/W%6;else if(J===$)q=2+(Z-X)/W;else q=4+(X-$)/W;return q/=6,q%=1,[q*360,W*100,U*100]};R.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=$<0.5?2*X*$:2*X*(1-$),J=0;if(Z<1)J=($-0.5*Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X*$,J=0;if(Z<1)J=($-Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100;if($===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],V=X%1*6,W=V%1,q=1-W,U=0;switch(Math.floor(V)){case 0:{J[0]=1,J[1]=W,J[2]=0;break}case 1:{J[0]=q,J[1]=1,J[2]=0;break}case 2:{J[0]=0,J[1]=1,J[2]=W;break}case 3:{J[0]=0,J[1]=q,J[2]=1;break}case 4:{J[0]=W,J[1]=0,J[2]=1;break}default:J[0]=1,J[1]=0,J[2]=q}return U=(1-$)*Z,[($*J[0]+U)*255,($*J[1]+U)*255,($*J[2]+U)*255]};R.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X),J=0;if(Z>0)J=X/Z;return[Q[0],J*100,Z*100]};R.hcg.hsl=function(Q){let X=Q[1]/100,Z=Q[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[Q[0],J*100,Z*100]};R.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X);return[Q[0],(Z-X)*100,(1-Z)*100]};R.hwb.hcg=function(Q){let X=Q[1]/100,Z=1-Q[2]/100,J=Z-X,V=0;if(J<1)V=(Z-J)/(1-J);return[Q[0],J*100,V*100]};R.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};R.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};R.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};R.gray.hsl=function(Q){return[0,0,Q[0]]};R.gray.hsv=R.gray.hsl;R.gray.hwb=function(Q){return[0,100,Q[0]]};R.gray.cmyk=function(Q){return[0,0,0,Q[0]]};R.gray.lab=function(Q){return[Q[0],0,0]};R.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(Z.length)+Z};R.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function S2(){let Q={},X=Object.keys(C);for(let{length:$}=X,Z=0;Z<$;Z++)Q[X[Z]]={distance:-1,parent:null};return Q}function k2(Q){let X=S2(),$=[Q];X[Q].distance=0;while($.length>0){let Z=$.pop(),J=Object.keys(C[Z]);for(let{length:V}=J,W=0;W<V;W++){let q=J[W],U=X[q];if(U.distance===-1)U.distance=X[Z].distance+1,U.parent=Z,$.unshift(q)}}return X}function w2(Q,X){return function($){return X(Q($))}}function A2(Q,X){let $=[X[Q].parent,Q],Z=C[X[Q].parent][Q],J=X[Q].parent;while(X[J].parent)$.unshift(X[J].parent),Z=w2(C[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=$,Z}function f2(Q){let X=k2(Q),$={},Z=Object.keys(X);for(let{length:J}=Z,V=0;V<J;V++){let W=Z[V];if(X[W].parent===null)continue;$[W]=A2(W,X)}return $}var K2=f2;var y={},x2=Object.keys(C);function d2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function y2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;let J=Q($);if(typeof J==="object")for(let{length:V}=J,W=0;W<V;W++)J[W]=Math.round(J[W]);return J};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of x2){y[Q]={},Object.defineProperty(y[Q],"channels",{value:C[Q].channels}),Object.defineProperty(y[Q],"labels",{value:C[Q].labels});let X=K2(Q),$=Object.keys(X);for(let Z of $){let J=X[Z];y[Q][Z]=y2(J),y[Q][Z].raw=d2(J)}}var G=y;var R2=["keyword","gray","hex"],n={};for(let Q of Object.keys(G))n[[...G[Q].labels].sort().join("")]=Q;var l={};function P(Q,X){if(!(this instanceof P))return new P(Q,X);if(X&&X in R2)X=null;if(X&&!(X in G))throw Error("Unknown model: "+X);let $,Z;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof P)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let J=k.get(Q);if(J===null)throw Error("Unable to parse color from string: "+Q);this.model=J.model,Z=G[this.model].channels,this.color=J.value.slice(0,Z),this.valpha=typeof J.value[Z]==="number"?J.value[Z]:1}else if(Q.length>0){this.model=X||"rgb",Z=G[this.model].channels;let J=Array.prototype.slice.call(Q,0,Z);this.color=s(J,Z),this.valpha=typeof Q[Z]==="number"?Q[Z]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let J=Object.keys(Q);if("alpha"in Q)J.splice(J.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let V=J.sort().join("");if(!(V in n))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=n[V];let{labels:W}=G[this.model],q=[];for($=0;$<W.length;$++)q.push(Q[W[$]]);this.color=s(q)}if(l[this.model]){Z=G[this.model].channels;for($=0;$<Z;$++){let J=l[this.model][$];if(J)this.color[$]=J(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}P.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in k.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return k.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return k.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=G[this.model],{labels:$}=G[this.model];for(let Z=0;Z<X;Z++)Q[$[Z]]=this.color[Z];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new P([...this.color.map(v2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new P([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:E("rgb",0,F(255)),green:E("rgb",1,F(255)),blue:E("rgb",2,F(255)),hue:E(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:E("hsl",1,F(100)),lightness:E("hsl",2,F(100)),saturationv:E("hsv",1,F(100)),value:E("hsv",2,F(100)),chroma:E("hcg",1,F(100)),gray:E("hcg",2,F(100)),white:E("hwb",1,F(100)),wblack:E("hwb",2,F(100)),cyan:E("cmyk",0,F(100)),magenta:E("cmyk",1,F(100)),yellow:E("cmyk",2,F(100)),black:E("cmyk",3,F(100)),x:E("xyz",0,F(95.047)),y:E("xyz",1,F(100)),z:E("xyz",2,F(108.833)),l:E("lab",0,F(100)),a:E("lab",1),b:E("lab",2),keyword(Q){if(Q!==void 0)return new P(Q);return G[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new P(Q);return k.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new P(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return k.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,Z]of Q.entries()){let J=Z/255;X[$]=J<=0.04045?J/12.92:((J+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return P.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),Z=this.rgb(),J=X===void 0?0.5:X,V=2*J-1,W=$.alpha()-Z.alpha(),q=((V*W===-1?V:(V+W)/(1+V*W))+1)/2,U=1-q;return P.rgb(q*$.red()+U*Z.red(),q*$.green()+U*Z.green(),q*$.blue()+U*Z.blue(),$.alpha()*J+Z.alpha()*(1-J))}};for(let Q of Object.keys(G)){if(R2.includes(Q))continue;let{channels:X}=G[Q];P.prototype[Q]=function(...$){if(this.model===Q)return new P(this);if($.length>0)return new P($,Q);return new P([...u2(G[this.model][Q].raw(this.color)),this.valpha],Q)},P[Q]=function(...$){let Z=$[0];if(typeof Z==="number")Z=s($,X);return new P(Z,Q)}}function p2(Q,X){return Number(Q.toFixed(X))}function v2(Q){return function(X){return p2(X,Q)}}function E(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let Z of Q)(l[Z]||=[])[X]=$;return Q=Q[0],function(Z){let J;if(Z!==void 0){if($)Z=$(Z);return J=this[Q](),J.color[X]=Z,J}if(J=this[Q]().color[X],$)J=$(J);return J}}function F(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function u2(Q){return Array.isArray(Q)?Q:[Q]}function s(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var t=P;var $2=z2(T2(),1),d1=(Q,X={})=>{let $=[],Z=[],J={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},W=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let q=Q;if(W.uniq)q=$2.default(Q);if(q!==void 0)$=q.map((U)=>t(U))}else if(typeof Q==="object"){if($=Object.keys(Q).map((q)=>t(Q[q])),W.uniq)$=$2.default($)}else return console.error("Must provide an array or object"),!1;return Z=$.map((q)=>{let U=W.compact?{hex:"",combinations:[]}:{color:q.color,model:q.model,valpha:q.valpha,hex:"",combinations:[]};return U.hex=q.hex(),U.combinations=$.filter((K)=>q!==K).filter((K)=>{if(W.threshold!==void 0)return q.contrast(K)>W.threshold;return!0}).map((K)=>{let D=W.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:K.color,model:K.model,valpha:K.valpha};D=Object.assign(D,{hex:K.hex(),contrast:q.contrast(K)}),D.accessibility={aa:D.contrast>=J.aa,aaLarge:D.contrast>=J.aaLarge,aaa:D.contrast>=J.aaa,aaaLarge:D.contrast>=J.aaaLarge};let H=W2(q.hex(),K.hex());if(typeof H==="number"){let N=H,B=Math.abs(N),_=400,T=V2(N),L=(j)=>{if(typeof j==="number"&&j<400)return j;return"prohibited"},I={100:L(T[1]),200:L(T[2]),300:L(T[3]),400:L(T[4]),500:L(T[5]),600:L(T[6]),700:L(T[7]),800:L(T[8]),900:L(T[9])},A={lc:N,polarity:N<0?"light-on-dark":"dark-on-light",minimumFontSize:I,readability:{fluentText:{thresholdLc:90,meets:B>=90},bodyText:{thresholdLc:75,meets:B>=75},contentText:{thresholdLc:60,meets:B>=60},largeText:{thresholdLc:45,meets:B>=45},minimumText:{thresholdLc:30,meets:B>=30},nonText:{thresholdLc:15,meets:B>=15}}};if(W.apca?.fontSize&&W.apca?.fontWeight&&Number.isFinite(W.apca.fontSize)){let{fontSize:j,fontWeight:m}=W.apca,f=I[m];A.fontRequirement={fontSize:j,fontWeight:m,minimumFontSize:f,meetsRequirement:f!=="prohibited"&&j>=f}}D.apca=A}return D}),U}),Z},Z5=d1;export{Z5 as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "color-combos",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Get accessibility information about colour combinations",
5
5
  "entry": "src/index.ts",
6
6
  "type": "module",
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "engines": {
23
- "node": ">=22.0.0",
23
+ "node": "24.12.0",
24
24
  "bun": ">=1.0.0"
25
25
  },
26
26
  "files": [
@@ -28,13 +28,11 @@
28
28
  "README.md"
29
29
  ],
30
30
  "scripts": {
31
- "build": "bun run clean && bun run compile && bun run compile:types",
31
+ "build": "bun run clean && bun run compile",
32
32
  "build:dev": "bun run clean && bun run compile:dev",
33
- "bundlesize": "bundlesize",
34
33
  "clean": "rm -rf ./dist",
35
34
  "compile": "NODE_ENV=production bun run build.ts",
36
35
  "compile:dev": "NODE_ENV=development bun run build.ts",
37
- "compile:types": "mkdir -p dist && bunx tsc src/index.ts --declaration --declarationMap --emitDeclarationOnly --outDir dist --esModuleInterop",
38
36
  "lint": "biome check .",
39
37
  "lint:fix": "biome check --write .",
40
38
  "format": "biome format .",
@@ -67,32 +65,34 @@
67
65
  },
68
66
  "homepage": "https://github.com/SiTaggart/color-combos#readme",
69
67
  "dependencies": {
70
- "color": "5.0.0",
68
+ "apca-w3": "^0.1.9",
69
+ "color": "5.0.3",
71
70
  "lodash.uniq": "4.5.0"
72
71
  },
73
72
  "devDependencies": {
74
- "@biomejs/biome": "2.0.0-beta.6",
75
- "@sitaggart/lint-config": "^1.0.1",
76
- "@size-limit/preset-big-lib": "^11.2.0",
77
- "@types/bun": "^1.2.15",
78
- "@types/color": "3.0.6",
79
- "@types/lodash": "4.17.17",
73
+ "@biomejs/biome": "2.3.10",
74
+ "@sitaggart/lint-config": "1.0.3",
75
+ "@size-limit/preset-big-lib": "12.0.0",
76
+ "@types/apca-w3": "^0.1.3",
77
+ "@types/bun": "1.3.5",
78
+ "@types/color": "4.2.0",
79
+ "@types/lodash": "4.17.21",
80
80
  "@types/lodash.uniq": "4.5.9",
81
- "@types/node": "20.19.0",
81
+ "@types/node": "24.10.4",
82
82
  "husky": "9.1.7",
83
+ "oxc-transform": "0.104.0",
83
84
  "precise-commits": "1.0.2",
84
- "semantic-release": "22.0.12",
85
- "size-limit": "^11.2.0",
86
- "typescript": "5.8.3"
85
+ "semantic-release": "25.0.2",
86
+ "size-limit": "12.0.0"
87
87
  },
88
88
  "size-limit": [
89
89
  {
90
90
  "path": "dist/*.js",
91
- "limit": "11 kB"
91
+ "limit": "14 kB"
92
92
  },
93
93
  {
94
94
  "path": "dist/*.mjs",
95
- "limit": "11 kB",
95
+ "limit": "14 kB",
96
96
  "import": "ColorCombos"
97
97
  }
98
98
  ],
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,OAAO;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,QAAA,MAAM,WAAW,GACf,QAAQ,MAAM,EAAE,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC7C,UAAS,OAAY,KACpB,UAAU,EAAE,GAAG,KAiHjB,CAAC;AAEF,eAAe,WAAW,CAAC"}