@phun-ky/moebius 1.0.5 → 2.0.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 +19 -4
- package/dist/moebius.d.ts +10 -9
- package/dist/moebius.js +27 -57
- package/dist/moebius.js.map +1 -1
- package/package.json +38 -40
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
> Automatically generate color palettes!
|
|
6
6
|
|
|
7
|
-
[](http://commitizen.github.io/cz-cli/) [](http://makeapullrequest.com) [](http://semver.org/spec/v2.0.0.html)       [](https://codecov.io/gh/phun-ky/moebius)
|
|
7
|
+
[](http://commitizen.github.io/cz-cli/) [](http://makeapullrequest.com) [](http://semver.org/spec/v2.0.0.html)       [](https://codecov.io/gh/phun-ky/moebius) [](https://github.com/phun-ky/moebius/actions/workflows/check.yml)
|
|
8
8
|
|
|
9
9
|
- [@phun-ky/moebius `möbius`](#phun-kymoebius-möbius)
|
|
10
10
|
- [About](#about)
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- [API](#api)
|
|
14
14
|
- [Usage](#usage)
|
|
15
15
|
- [Creating paletts](#creating-paletts)
|
|
16
|
+
- [Default options](#default-options)
|
|
16
17
|
- [Interpolate](#interpolate)
|
|
17
18
|
- [Luminance shift](#luminance-shift)
|
|
18
19
|
- [Monochromatic](#monochromatic)
|
|
@@ -29,6 +30,8 @@
|
|
|
29
30
|
- [toFloat](#tofloat)
|
|
30
31
|
- [Types](#types)
|
|
31
32
|
- [Contributing](#contributing)
|
|
33
|
+
- [License](#license)
|
|
34
|
+
- [Changelog](#changelog)
|
|
32
35
|
- [Sponsor me](#sponsor-me)
|
|
33
36
|
|
|
34
37
|
## About
|
|
@@ -63,7 +66,7 @@ const { MoebiusColor, MoebiusPalettes } = await Moebius();
|
|
|
63
66
|
|
|
64
67
|
The main feature is the ability to create palettes with a given primary color and a secondary color (used for diverging palettes). You can also give the color to diverge to/from.
|
|
65
68
|
|
|
66
|
-
|
|
69
|
+
#### Default options
|
|
67
70
|
|
|
68
71
|
```ts
|
|
69
72
|
const defaultOptions = {
|
|
@@ -409,7 +412,15 @@ Types can be found in `@phun-ky/moebius/moebius.d.ts`.
|
|
|
409
412
|
|
|
410
413
|
## Contributing
|
|
411
414
|
|
|
412
|
-
|
|
415
|
+
Want to contribute? Please read the [CONTRIBUTING.md](https://github.com/phun-ky/moebius/blob/main/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](https://github.com/phun-ky/moebius/blob/main/CODE_OF_CONDUCT.md)
|
|
416
|
+
|
|
417
|
+
## License
|
|
418
|
+
|
|
419
|
+
This project is licensed under the MIT License - see the [LICENSE](https://github.com/phun-ky/moebius/blob/main/LICENSE) file for details.
|
|
420
|
+
|
|
421
|
+
## Changelog
|
|
422
|
+
|
|
423
|
+
See the [CHANGELOG.md](https://github.com/phun-ky/moebius/blob/main/CHANGELOG.md) for details on the latest updates.
|
|
413
424
|
|
|
414
425
|
## Sponsor me
|
|
415
426
|
|
|
@@ -417,4 +428,8 @@ I'm an Open Source evangelist, creating stuff that does not exist yet to help ge
|
|
|
417
428
|
|
|
418
429
|
The sponsorship is an unique opportunity to alleviate more hours for me to maintain my projects, create new ones and contribute to the large community we're all part of :)
|
|
419
430
|
|
|
420
|
-
[Support me
|
|
431
|
+
[Support me on GitHub Sponsors](https://github.com/sponsors/phun-ky).
|
|
432
|
+
|
|
433
|
+

|
|
434
|
+
|
|
435
|
+
p.s. **Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help**. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to [Red Cross](https://www.icrc.org/en/donate/ukraine), [Ukraine humanitarian organisation](https://savelife.in.ua/en/donate-en/#donate-army-card-weekly) or [donate Ambulances for Ukraine](https://www.gofundme.com/f/help-to-save-the-lives-of-civilians-in-a-war-zone).
|
package/dist/moebius.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ interface MoebiusPaletteColorsInterface {
|
|
|
48
48
|
* Represents a palette of colors with different themes.
|
|
49
49
|
*/
|
|
50
50
|
interface MoebiusThemeColorsInterface {
|
|
51
|
-
|
|
51
|
+
darkMode: Record<string, MoebiusColorValueHexType[]>;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* Represents a palette of accent colors with different schemes.
|
|
@@ -209,7 +209,7 @@ type MoebiusChromaColorInputType = MoebiusCMYKObjectType | MoebiusLCHObjectType
|
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
211
|
* MoebiusColor class representing a color with various formats and conversions.
|
|
212
|
-
*
|
|
212
|
+
*
|
|
213
213
|
* @example
|
|
214
214
|
* ```ts
|
|
215
215
|
* const mColor = new MoebiusColor('#ff9900')
|
|
@@ -234,9 +234,9 @@ declare class MoebiusColor implements MoebiusColorInterface {
|
|
|
234
234
|
hslFloat: MoebiusHSLObjectType;
|
|
235
235
|
/**
|
|
236
236
|
* Creates an instance of MoebiusColor.
|
|
237
|
-
* @param {MoebiusChromaColorInputType}
|
|
237
|
+
* @param {MoebiusChromaColorInputType} color - The hex value of the color.
|
|
238
238
|
* @param {string} name - The name of the color
|
|
239
|
-
*
|
|
239
|
+
*
|
|
240
240
|
* @throws Will throw an error if init has not been run before creating an instance.
|
|
241
241
|
*/
|
|
242
242
|
constructor(color: MoebiusChromaColorInputType, name: string);
|
|
@@ -256,7 +256,7 @@ declare class MoebiusColor implements MoebiusColorInterface {
|
|
|
256
256
|
|
|
257
257
|
/**
|
|
258
258
|
* MoebiusPalettes class representing a set of color palettes and their variations.
|
|
259
|
-
*
|
|
259
|
+
*
|
|
260
260
|
*/
|
|
261
261
|
declare class MoebiusPalettes implements MoebiusPaletteInterface {
|
|
262
262
|
baseColor: MoebiusColorInterface;
|
|
@@ -304,11 +304,11 @@ declare class MoebiusPalettes implements MoebiusPaletteInterface {
|
|
|
304
304
|
* const baseColor = '#3498db';
|
|
305
305
|
* const secondaryColor = '#2ecc71';
|
|
306
306
|
* const options = { bezier: true, colorScaleMode: 'lch' };
|
|
307
|
-
* const palette =
|
|
307
|
+
* const palette = darkMode(baseColor, secondaryColor, options);
|
|
308
308
|
* console.log(palette);
|
|
309
309
|
* ```
|
|
310
310
|
*/
|
|
311
|
-
|
|
311
|
+
darkMode(baseColor: MoebiusChromaColorInputType, secondaryColor: MoebiusChromaColorInputType, options?: Record<string, unknown> | MoebiusPaletteOptionsType): Record<string, MoebiusColorValueHexType[]>;
|
|
312
312
|
/**
|
|
313
313
|
* Generate a split color palette based on the input color.
|
|
314
314
|
*
|
|
@@ -511,7 +511,7 @@ declare class MoebiusPalettes implements MoebiusPaletteInterface {
|
|
|
511
511
|
declare class MoebiusSVGHelper {
|
|
512
512
|
xlmns: string;
|
|
513
513
|
/**
|
|
514
|
-
* Gets SVG paths for
|
|
514
|
+
* Gets SVG paths for coloured pie slices based on the provided colors.
|
|
515
515
|
* @param {MoebiusColorValueHexType[][]} colors - Array of color groups.
|
|
516
516
|
* @param {number} [size=256] - Size of the SVG.
|
|
517
517
|
* @returns {DocumentFragment} - Document fragment containing the SVG paths.
|
|
@@ -539,4 +539,5 @@ type MoebiusReturnType = Promise<{
|
|
|
539
539
|
*/
|
|
540
540
|
declare function Moebius(): MoebiusReturnType;
|
|
541
541
|
|
|
542
|
-
export {
|
|
542
|
+
export { Moebius as default };
|
|
543
|
+
export type { MoebiusCMYKObjectType, MoebiusChromaColorInputType, MoebiusColorInterface, MoebiusColorValueHexType, MoebiusColorValueHslType, MoebiusColorValueHslaType, MoebiusColorValueRgbType, MoebiusColorValueRgbaType, MoebiusHSIObjectType, MoebiusHSLObjectType, MoebiusHSVObjectType, MoebiusHWBObjectType, MoebiusLABObjectType, MoebiusLCHObjectType, MoebiusPaletteAccentColorsInterface, MoebiusPaletteColorsInterface, MoebiusPaletteDefaultOptionsType, MoebiusPaletteInterface, MoebiusPaletteOptionsType, MoebiusRGBObjectType, MoebiusReturnType, MoebiusThemeColorsInterface, MoebiusXYZObjectType, NearestColorColorMatchInterface, NearestColorColorSpecInterface };
|
package/dist/moebius.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @phun-ky/moebius
|
|
3
3
|
* Automatically generate color palettes!
|
|
4
4
|
* @author Alexander Vassbotn Røyne-Helgesen <alexander+github.com@phun-ky.net>
|
|
5
|
-
* @version
|
|
5
|
+
* @version 2.0.0
|
|
6
6
|
* @license
|
|
7
7
|
* Copyright (c) 2023 Alexander Vassbotn Røyne-Helgesen
|
|
8
8
|
*
|
|
@@ -24,61 +24,31 @@
|
|
|
24
24
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
25
|
* SOFTWARE.
|
|
26
26
|
*/
|
|
27
|
-
var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var e={exports:{}};
|
|
28
27
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
55
|
-
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
56
|
-
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
57
|
-
*
|
|
58
|
-
* -------------------------------------------------------
|
|
59
|
-
*
|
|
60
|
-
* chroma.js includes colors from colorbrewer2.org, which are released under
|
|
61
|
-
* the following license:
|
|
62
|
-
*
|
|
63
|
-
* Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
|
|
64
|
-
* and The Pennsylvania State University.
|
|
65
|
-
*
|
|
66
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
67
|
-
* you may not use this file except in compliance with the License.
|
|
68
|
-
* You may obtain a copy of the License at
|
|
69
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
70
|
-
*
|
|
71
|
-
* Unless required by applicable law or agreed to in writing,
|
|
72
|
-
* software distributed under the License is distributed on an
|
|
73
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
74
|
-
* either express or implied. See the License for the specific
|
|
75
|
-
* language governing permissions and limitations under the License.
|
|
76
|
-
*
|
|
77
|
-
* ------------------------------------------------------
|
|
78
|
-
*
|
|
79
|
-
* Named colors are taken from X11 Color Names.
|
|
80
|
-
* http://www.w3.org/TR/css3-color/#svg-color
|
|
81
|
-
*
|
|
82
|
-
* @preserve
|
|
83
|
-
*/e.exports=function(){for(var t=function(t,r,e){return void 0===r&&(r=0),void 0===e&&(e=1),t<r?r:t>e?e:t},r=t,e=function(t){t._clipped=!1,t._unclipped=t.slice(0);for(var e=0;e<=3;e++)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]=r(t[e],0,255)):3===e&&(t[e]=r(t[e],0,1));return t},n={},o=0,a=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];o<a.length;o+=1){var i=a[o];n["[object "+i+"]"]=i.toLowerCase()}var c=function(t){return n[Object.prototype.toString.call(t)]||"object"},f=c,s=function(t,r){return void 0===r&&(r=null),t.length>=3?Array.prototype.slice.call(t):"object"==f(t[0])&&r?r.split("").filter((function(r){return void 0!==t[0][r]})).map((function(r){return t[0][r]})):t[0]},u=c,l=function(t){if(t.length<2)return null;var r=t.length-1;return"string"==u(t[r])?t[r].toLowerCase():null},h=Math.PI,d={clip_rgb:e,limit:t,type:c,unpack:s,last:l,PI:h,TWOPI:2*h,PITHIRD:h/3,DEG2RAD:h/180,RAD2DEG:180/h},b={format:{},autodetect:[]},p=d.last,g=d.clip_rgb,m=d.type,v=b,y=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=this;if("object"===m(t[0])&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];var n=p(t),o=!1;if(!n){o=!0,v.sorted||(v.autodetect=v.autodetect.sort((function(t,r){return r.p-t.p})),v.sorted=!0);for(var a=0,i=v.autodetect;a<i.length;a+=1){var c=i[a];if(n=c.test.apply(c,t))break}}if(!v.format[n])throw new Error("unknown format: "+t);var f=v.format[n].apply(null,o?t:t.slice(0,-1));e._rgb=g(f),3===e._rgb.length&&e._rgb.push(1)};y.prototype.toString=function(){return"function"==m(this.hex)?this.hex():"["+this._rgb.join(",")+"]"};var w=y,k=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(k.Color,[null].concat(t)))};k.Color=w,k.version="2.4.2";var x=k,N=d.unpack,M=Math.max,S=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=N(t,"rgb"),n=e[0],o=e[1],a=e[2],i=1-M(n/=255,M(o/=255,a/=255)),c=i<1?1/(1-i):0;return[(1-n-i)*c,(1-o-i)*c,(1-a-i)*c,i]},F=S,O=d.unpack,C=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=(t=O(t,"cmyk"))[0],n=t[1],o=t[2],a=t[3],i=t.length>4?t[4]:1;return 1===a?[0,0,0,i]:[e>=1?0:255*(1-e)*(1-a),n>=1?0:255*(1-n)*(1-a),o>=1?0:255*(1-o)*(1-a),i]},A=C,_=x,L=w,$=b,j=d.unpack,E=d.type,P=F;L.prototype.cmyk=function(){return P(this._rgb)},_.cmyk=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(L,[null].concat(t,["cmyk"])))},$.format.cmyk=A,$.autodetect.push({p:2,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=j(t,"cmyk"),"array"===E(t)&&4===t.length)return"cmyk"}});var D=d.unpack,R=d.last,z=function(t){return Math.round(100*t)/100},I=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=D(t,"hsla"),n=R(t)||"lsa";return e[0]=z(e[0]||0),e[1]=z(100*e[1])+"%",e[2]=z(100*e[2])+"%","hsla"===n||e.length>3&&e[3]<1?(e[3]=e.length>3?e[3]:1,n="hsla"):e.length=3,n+"("+e.join(",")+")"},q=I,G=d.unpack,B=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=(t=G(t,"rgba"))[0],n=t[1],o=t[2];e/=255,n/=255,o/=255;var a,i,c=Math.min(e,n,o),f=Math.max(e,n,o),s=(f+c)/2;return f===c?(a=0,i=Number.NaN):a=s<.5?(f-c)/(f+c):(f-c)/(2-f-c),e==f?i=(n-o)/(f-c):n==f?i=2+(o-e)/(f-c):o==f&&(i=4+(e-n)/(f-c)),(i*=60)<0&&(i+=360),t.length>3&&void 0!==t[3]?[i,a,s,t[3]]:[i,a,s]},T=B,Y=d.unpack,U=d.last,V=q,X=T,W=Math.round,Z=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Y(t,"rgba"),n=U(t)||"rgb";return"hsl"==n.substr(0,3)?V(X(e),n):(e[0]=W(e[0]),e[1]=W(e[1]),e[2]=W(e[2]),("rgba"===n||e.length>3&&e[3]<1)&&(e[3]=e.length>3?e[3]:1,n="rgba"),n+"("+e.slice(0,"rgb"===n?3:4).join(",")+")")},H=Z,K=d.unpack,J=Math.round,Q=function(){for(var t,r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,o,a,i=(r=K(r,"hsl"))[0],c=r[1],f=r[2];if(0===c)n=o=a=255*f;else{var s=[0,0,0],u=[0,0,0],l=f<.5?f*(1+c):f+c-f*c,h=2*f-l,d=i/360;s[0]=d+1/3,s[1]=d,s[2]=d-1/3;for(var b=0;b<3;b++)s[b]<0&&(s[b]+=1),s[b]>1&&(s[b]-=1),6*s[b]<1?u[b]=h+6*(l-h)*s[b]:2*s[b]<1?u[b]=l:3*s[b]<2?u[b]=h+(l-h)*(2/3-s[b])*6:u[b]=h;n=(t=[J(255*u[0]),J(255*u[1]),J(255*u[2])])[0],o=t[1],a=t[2]}return r.length>3?[n,o,a,r[3]]:[n,o,a,1]},tt=Q,rt=tt,et=b,nt=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,ot=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,at=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,it=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ct=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,ft=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,st=Math.round,ut=function(t){var r;if(t=t.toLowerCase().trim(),et.format.named)try{return et.format.named(t)}catch(t){}if(r=t.match(nt)){for(var e=r.slice(1,4),n=0;n<3;n++)e[n]=+e[n];return e[3]=1,e}if(r=t.match(ot)){for(var o=r.slice(1,5),a=0;a<4;a++)o[a]=+o[a];return o}if(r=t.match(at)){for(var i=r.slice(1,4),c=0;c<3;c++)i[c]=st(2.55*i[c]);return i[3]=1,i}if(r=t.match(it)){for(var f=r.slice(1,5),s=0;s<3;s++)f[s]=st(2.55*f[s]);return f[3]=+f[3],f}if(r=t.match(ct)){var u=r.slice(1,4);u[1]*=.01,u[2]*=.01;var l=rt(u);return l[3]=1,l}if(r=t.match(ft)){var h=r.slice(1,4);h[1]*=.01,h[2]*=.01;var d=rt(h);return d[3]=+r[4],d}};ut.test=function(t){return nt.test(t)||ot.test(t)||at.test(t)||it.test(t)||ct.test(t)||ft.test(t)};var lt=ut,ht=x,dt=w,bt=b,pt=d.type,gt=H,mt=lt;dt.prototype.css=function(t){return gt(this._rgb,t)},ht.css=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(dt,[null].concat(t,["css"])))},bt.format.css=mt,bt.autodetect.push({p:5,test:function(t){for(var r=[],e=arguments.length-1;e-- >0;)r[e]=arguments[e+1];if(!r.length&&"string"===pt(t)&&mt.test(t))return"css"}});var vt=w,yt=x,wt=b,kt=d.unpack;wt.format.gl=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=kt(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},yt.gl=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(vt,[null].concat(t,["gl"])))},vt.prototype.gl=function(){var t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]};var xt=d.unpack,Nt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e,n=xt(t,"rgb"),o=n[0],a=n[1],i=n[2],c=Math.min(o,a,i),f=Math.max(o,a,i),s=f-c,u=100*s/255,l=c/(255-s)*100;return 0===s?e=Number.NaN:(o===f&&(e=(a-i)/s),a===f&&(e=2+(i-o)/s),i===f&&(e=4+(o-a)/s),(e*=60)<0&&(e+=360)),[e,u,l]},Mt=Nt,St=d.unpack,Ft=Math.floor,Ot=function(){for(var t,r,e,n,o,a,i=[],c=arguments.length;c--;)i[c]=arguments[c];var f,s,u,l=(i=St(i,"hcg"))[0],h=i[1],d=i[2];d*=255;var b=255*h;if(0===h)f=s=u=d;else{360===l&&(l=0),l>360&&(l-=360),l<0&&(l+=360);var p=Ft(l/=60),g=l-p,m=d*(1-h),v=m+b*(1-g),y=m+b*g,w=m+b;switch(p){case 0:f=(t=[w,y,m])[0],s=t[1],u=t[2];break;case 1:f=(r=[v,w,m])[0],s=r[1],u=r[2];break;case 2:f=(e=[m,w,y])[0],s=e[1],u=e[2];break;case 3:f=(n=[m,v,w])[0],s=n[1],u=n[2];break;case 4:f=(o=[y,m,w])[0],s=o[1],u=o[2];break;case 5:f=(a=[w,m,v])[0],s=a[1],u=a[2]}}return[f,s,u,i.length>3?i[3]:1]},Ct=Ot,At=d.unpack,_t=d.type,Lt=x,$t=w,jt=b,Et=Mt;$t.prototype.hcg=function(){return Et(this._rgb)},Lt.hcg=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply($t,[null].concat(t,["hcg"])))},jt.format.hcg=Ct,jt.autodetect.push({p:1,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=At(t,"hcg"),"array"===_t(t)&&3===t.length)return"hcg"}});var Pt=d.unpack,Dt=d.last,Rt=Math.round,zt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Pt(t,"rgba"),n=e[0],o=e[1],a=e[2],i=e[3],c=Dt(t)||"auto";void 0===i&&(i=1),"auto"===c&&(c=i<1?"rgba":"rgb");var f="000000"+((n=Rt(n))<<16|(o=Rt(o))<<8|(a=Rt(a))).toString(16);f=f.substr(f.length-6);var s="0"+Rt(255*i).toString(16);switch(s=s.substr(s.length-2),c.toLowerCase()){case"rgba":return"#"+f+s;case"argb":return"#"+s+f;default:return"#"+f}},It=zt,qt=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Gt=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Bt=function(t){if(t.match(qt)){4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);var r=parseInt(t,16);return[r>>16,r>>8&255,255&r,1]}if(t.match(Gt)){5!==t.length&&9!==t.length||(t=t.substr(1)),4===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);var e=parseInt(t,16);return[e>>24&255,e>>16&255,e>>8&255,Math.round((255&e)/255*100)/100]}throw new Error("unknown hex color: "+t)},Tt=x,Yt=w,Ut=d.type,Vt=b,Xt=It;Yt.prototype.hex=function(t){return Xt(this._rgb,t)},Tt.hex=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(Yt,[null].concat(t,["hex"])))},Vt.format.hex=Bt,Vt.autodetect.push({p:4,test:function(t){for(var r=[],e=arguments.length-1;e-- >0;)r[e]=arguments[e+1];if(!r.length&&"string"===Ut(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});var Wt=d.unpack,Zt=d.TWOPI,Ht=Math.min,Kt=Math.sqrt,Jt=Math.acos,Qt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e,n=Wt(t,"rgb"),o=n[0],a=n[1],i=n[2],c=Ht(o/=255,a/=255,i/=255),f=(o+a+i)/3,s=f>0?1-c/f:0;return 0===s?e=NaN:(e=(o-a+(o-i))/2,e/=Kt((o-a)*(o-a)+(o-i)*(a-i)),e=Jt(e),i>a&&(e=Zt-e),e/=Zt),[360*e,s,f]},tr=Qt,rr=d.unpack,er=d.limit,nr=d.TWOPI,or=d.PITHIRD,ar=Math.cos,ir=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e,n,o,a=(t=rr(t,"hsi"))[0],i=t[1],c=t[2];return isNaN(a)&&(a=0),isNaN(i)&&(i=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?n=1-((o=(1-i)/3)+(e=(1+i*ar(nr*a)/ar(or-nr*a))/3)):a<2/3?o=1-((e=(1-i)/3)+(n=(1+i*ar(nr*(a-=1/3))/ar(or-nr*a))/3)):e=1-((n=(1-i)/3)+(o=(1+i*ar(nr*(a-=2/3))/ar(or-nr*a))/3)),[255*(e=er(c*e*3)),255*(n=er(c*n*3)),255*(o=er(c*o*3)),t.length>3?t[3]:1]},cr=ir,fr=d.unpack,sr=d.type,ur=x,lr=w,hr=b,dr=tr;lr.prototype.hsi=function(){return dr(this._rgb)},ur.hsi=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(lr,[null].concat(t,["hsi"])))},hr.format.hsi=cr,hr.autodetect.push({p:2,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=fr(t,"hsi"),"array"===sr(t)&&3===t.length)return"hsi"}});var br=d.unpack,pr=d.type,gr=x,mr=w,vr=b,yr=T;mr.prototype.hsl=function(){return yr(this._rgb)},gr.hsl=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(mr,[null].concat(t,["hsl"])))},vr.format.hsl=tt,vr.autodetect.push({p:2,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=br(t,"hsl"),"array"===pr(t)&&3===t.length)return"hsl"}});var wr=d.unpack,kr=Math.min,xr=Math.max,Nr=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e,n,o,a=(t=wr(t,"rgb"))[0],i=t[1],c=t[2],f=kr(a,i,c),s=xr(a,i,c),u=s-f;return o=s/255,0===s?(e=Number.NaN,n=0):(n=u/s,a===s&&(e=(i-c)/u),i===s&&(e=2+(c-a)/u),c===s&&(e=4+(a-i)/u),(e*=60)<0&&(e+=360)),[e,n,o]},Mr=Nr,Sr=d.unpack,Fr=Math.floor,Or=function(){for(var t,r,e,n,o,a,i=[],c=arguments.length;c--;)i[c]=arguments[c];var f,s,u,l=(i=Sr(i,"hsv"))[0],h=i[1],d=i[2];if(d*=255,0===h)f=s=u=d;else{360===l&&(l=0),l>360&&(l-=360),l<0&&(l+=360);var b=Fr(l/=60),p=l-b,g=d*(1-h),m=d*(1-h*p),v=d*(1-h*(1-p));switch(b){case 0:f=(t=[d,v,g])[0],s=t[1],u=t[2];break;case 1:f=(r=[m,d,g])[0],s=r[1],u=r[2];break;case 2:f=(e=[g,d,v])[0],s=e[1],u=e[2];break;case 3:f=(n=[g,m,d])[0],s=n[1],u=n[2];break;case 4:f=(o=[v,g,d])[0],s=o[1],u=o[2];break;case 5:f=(a=[d,g,m])[0],s=a[1],u=a[2]}}return[f,s,u,i.length>3?i[3]:1]},Cr=Or,Ar=d.unpack,_r=d.type,Lr=x,$r=w,jr=b,Er=Mr;$r.prototype.hsv=function(){return Er(this._rgb)},Lr.hsv=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply($r,[null].concat(t,["hsv"])))},jr.format.hsv=Cr,jr.autodetect.push({p:2,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=Ar(t,"hsv"),"array"===_r(t)&&3===t.length)return"hsv"}});var Pr={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Dr=Pr,Rr=d.unpack,zr=Math.pow,Ir=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Rr(t,"rgb"),n=e[0],o=e[1],a=e[2],i=Br(n,o,a),c=i[0],f=i[1],s=116*f-16;return[s<0?0:s,500*(c-f),200*(f-i[2])]},qr=function(t){return(t/=255)<=.04045?t/12.92:zr((t+.055)/1.055,2.4)},Gr=function(t){return t>Dr.t3?zr(t,1/3):t/Dr.t2+Dr.t0},Br=function(t,r,e){return t=qr(t),r=qr(r),e=qr(e),[Gr((.4124564*t+.3575761*r+.1804375*e)/Dr.Xn),Gr((.2126729*t+.7151522*r+.072175*e)/Dr.Yn),Gr((.0193339*t+.119192*r+.9503041*e)/Dr.Zn)]},Tr=Ir,Yr=Pr,Ur=d.unpack,Vr=Math.pow,Xr=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e,n,o,a=(t=Ur(t,"lab"))[0],i=t[1],c=t[2];return n=(a+16)/116,e=isNaN(i)?n:n+i/500,o=isNaN(c)?n:n-c/200,n=Yr.Yn*Zr(n),e=Yr.Xn*Zr(e),o=Yr.Zn*Zr(o),[Wr(3.2404542*e-1.5371385*n-.4985314*o),Wr(-.969266*e+1.8760108*n+.041556*o),Wr(.0556434*e-.2040259*n+1.0572252*o),t.length>3?t[3]:1]},Wr=function(t){return 255*(t<=.00304?12.92*t:1.055*Vr(t,1/2.4)-.055)},Zr=function(t){return t>Yr.t1?t*t*t:Yr.t2*(t-Yr.t0)},Hr=Xr,Kr=d.unpack,Jr=d.type,Qr=x,te=w,re=b,ee=Tr;te.prototype.lab=function(){return ee(this._rgb)},Qr.lab=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(te,[null].concat(t,["lab"])))},re.format.lab=Hr,re.autodetect.push({p:2,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=Kr(t,"lab"),"array"===Jr(t)&&3===t.length)return"lab"}});var ne=d.unpack,oe=d.RAD2DEG,ae=Math.sqrt,ie=Math.atan2,ce=Math.round,fe=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=ne(t,"lab"),n=e[0],o=e[1],a=e[2],i=ae(o*o+a*a),c=(ie(a,o)*oe+360)%360;return 0===ce(1e4*i)&&(c=Number.NaN),[n,i,c]},se=fe,ue=d.unpack,le=Tr,he=se,de=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=ue(t,"rgb"),n=e[0],o=e[1],a=e[2],i=le(n,o,a),c=i[0],f=i[1],s=i[2];return he(c,f,s)},be=de,pe=d.unpack,ge=d.DEG2RAD,me=Math.sin,ve=Math.cos,ye=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=pe(t,"lch"),n=e[0],o=e[1],a=e[2];return isNaN(a)&&(a=0),[n,ve(a*=ge)*o,me(a)*o]},we=ye,ke=d.unpack,xe=we,Ne=Hr,Me=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=(t=ke(t,"lch"))[0],n=t[1],o=t[2],a=xe(e,n,o),i=a[0],c=a[1],f=a[2],s=Ne(i,c,f);return[s[0],s[1],s[2],t.length>3?t[3]:1]},Se=Me,Fe=d.unpack,Oe=Se,Ce=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Fe(t,"hcl").reverse();return Oe.apply(void 0,e)},Ae=Ce,_e=d.unpack,Le=d.type,$e=x,je=w,Ee=b,Pe=be;je.prototype.lch=function(){return Pe(this._rgb)},je.prototype.hcl=function(){return Pe(this._rgb).reverse()},$e.lch=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(je,[null].concat(t,["lch"])))},$e.hcl=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(je,[null].concat(t,["hcl"])))},Ee.format.lch=Se,Ee.format.hcl=Ae,["lch","hcl"].forEach((function(t){return Ee.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=_e(r,t),"array"===Le(r)&&3===r.length)return t}})}));var De={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",cornflower:"#6495ed",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",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",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",maroon2:"#7f0000",maroon3:"#b03060",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",purple2:"#7f007f",purple3:"#a020f0",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"},Re=w,ze=b,Ie=d.type,qe=De,Ge=Bt,Be=It;Re.prototype.name=function(){for(var t=Be(this._rgb,"rgb"),r=0,e=Object.keys(qe);r<e.length;r+=1){var n=e[r];if(qe[n]===t)return n.toLowerCase()}return t},ze.format.named=function(t){if(t=t.toLowerCase(),qe[t])return Ge(qe[t]);throw new Error("unknown color name: "+t)},ze.autodetect.push({p:5,test:function(t){for(var r=[],e=arguments.length-1;e-- >0;)r[e]=arguments[e+1];if(!r.length&&"string"===Ie(t)&&qe[t.toLowerCase()])return"named"}});var Te=d.unpack,Ye=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Te(t,"rgb");return(e[0]<<16)+(e[1]<<8)+e[2]},Ue=Ye,Ve=d.type,Xe=function(t){if("number"==Ve(t)&&t>=0&&t<=16777215)return[t>>16,t>>8&255,255&t,1];throw new Error("unknown num color: "+t)},We=x,Ze=w,He=b,Ke=d.type,Je=Ue;Ze.prototype.num=function(){return Je(this._rgb)},We.num=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(Ze,[null].concat(t,["num"])))},He.format.num=Xe,He.autodetect.push({p:5,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(1===t.length&&"number"===Ke(t[0])&&t[0]>=0&&t[0]<=16777215)return"num"}});var Qe=x,tn=w,rn=b,en=d.unpack,nn=d.type,on=Math.round;tn.prototype.rgb=function(t){return void 0===t&&(t=!0),!1===t?this._rgb.slice(0,3):this._rgb.slice(0,3).map(on)},tn.prototype.rgba=function(t){return void 0===t&&(t=!0),this._rgb.slice(0,4).map((function(r,e){return e<3?!1===t?r:on(r):r}))},Qe.rgb=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(tn,[null].concat(t,["rgb"])))},rn.format.rgb=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=en(t,"rgba");return void 0===e[3]&&(e[3]=1),e},rn.autodetect.push({p:3,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=en(t,"rgba"),"array"===nn(t)&&(3===t.length||4===t.length&&"number"==nn(t[3])&&t[3]>=0&&t[3]<=1))return"rgb"}});var an=Math.log,cn=function(t){var r,e,n,o=t/100;return o<66?(r=255,e=o<6?0:-155.25485562709179-.44596950469579133*(e=o-2)+104.49216199393888*an(e),n=o<20?0:.8274096064007395*(n=o-10)-254.76935184120902+115.67994401066147*an(n)):(r=351.97690566805693+.114206453784165*(r=o-55)-40.25366309332127*an(r),e=325.4494125711974+.07943456536662342*(e=o-50)-28.0852963507957*an(e),n=255),[r,e,n,1]},fn=cn,sn=d.unpack,un=Math.round,ln=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];for(var e,n=sn(t,"rgb"),o=n[0],a=n[2],i=1e3,c=4e4,f=.4;c-i>f;){var s=fn(e=.5*(c+i));s[2]/s[0]>=a/o?c=e:i=e}return un(e)},hn=x,dn=w,bn=b,pn=ln;dn.prototype.temp=dn.prototype.kelvin=dn.prototype.temperature=function(){return pn(this._rgb)},hn.temp=hn.kelvin=hn.temperature=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(dn,[null].concat(t,["temp"])))},bn.format.temp=bn.format.kelvin=bn.format.temperature=cn;var gn=d.unpack,mn=Math.cbrt,vn=Math.pow,yn=Math.sign,wn=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=gn(t,"rgb"),n=e[0],o=e[1],a=e[2],i=[xn(n/255),xn(o/255),xn(a/255)],c=i[0],f=i[1],s=i[2],u=mn(.4122214708*c+.5363325363*f+.0514459929*s),l=mn(.2119034982*c+.6806995451*f+.1073969566*s),h=mn(.0883024619*c+.2817188376*f+.6299787005*s);return[.2104542553*u+.793617785*l-.0040720468*h,1.9779984951*u-2.428592205*l+.4505937099*h,.0259040371*u+.7827717662*l-.808675766*h]},kn=wn;function xn(t){var r=Math.abs(t);return r<.04045?t/12.92:(yn(t)||1)*vn((r+.055)/1.055,2.4)}var Nn=d.unpack,Mn=Math.pow,Sn=Math.sign,Fn=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=(t=Nn(t,"lab"))[0],n=t[1],o=t[2],a=Mn(e+.3963377774*n+.2158037573*o,3),i=Mn(e-.1055613458*n-.0638541728*o,3),c=Mn(e-.0894841775*n-1.291485548*o,3);return[255*Cn(4.0767416621*a-3.3077115913*i+.2309699292*c),255*Cn(-1.2684380046*a+2.6097574011*i-.3413193965*c),255*Cn(-.0041960863*a-.7034186147*i+1.707614701*c),t.length>3?t[3]:1]},On=Fn;function Cn(t){var r=Math.abs(t);return r>.0031308?(Sn(t)||1)*(1.055*Mn(r,1/2.4)-.055):12.92*t}var An=d.unpack,_n=d.type,Ln=x,$n=w,jn=b,En=kn;$n.prototype.oklab=function(){return En(this._rgb)},Ln.oklab=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply($n,[null].concat(t,["oklab"])))},jn.format.oklab=On,jn.autodetect.push({p:3,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=An(t,"oklab"),"array"===_n(t)&&3===t.length)return"oklab"}});var Pn=d.unpack,Dn=kn,Rn=se,zn=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=Pn(t,"rgb"),n=e[0],o=e[1],a=e[2],i=Dn(n,o,a),c=i[0],f=i[1],s=i[2];return Rn(c,f,s)},In=zn,qn=d.unpack,Gn=we,Bn=On,Tn=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var e=(t=qn(t,"lch"))[0],n=t[1],o=t[2],a=Gn(e,n,o),i=a[0],c=a[1],f=a[2],s=Bn(i,c,f);return[s[0],s[1],s[2],t.length>3?t[3]:1]},Yn=Tn,Un=d.unpack,Vn=d.type,Xn=x,Wn=w,Zn=b,Hn=In;Wn.prototype.oklch=function(){return Hn(this._rgb)},Xn.oklch=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(Wn,[null].concat(t,["oklch"])))},Zn.format.oklch=Yn,Zn.autodetect.push({p:3,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=Un(t,"oklch"),"array"===Vn(t)&&3===t.length)return"oklch"}});var Kn=w,Jn=d.type;Kn.prototype.alpha=function(t,r){return void 0===r&&(r=!1),void 0!==t&&"number"===Jn(t)?r?(this._rgb[3]=t,this):new Kn([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]},w.prototype.clipped=function(){return this._rgb._clipped||!1};var Qn=w,to=Pr;Qn.prototype.darken=function(t){void 0===t&&(t=1);var r=this,e=r.lab();return e[0]-=to.Kn*t,new Qn(e,"lab").alpha(r.alpha(),!0)},Qn.prototype.brighten=function(t){return void 0===t&&(t=1),this.darken(-t)},Qn.prototype.darker=Qn.prototype.darken,Qn.prototype.brighter=Qn.prototype.brighten,w.prototype.get=function(t){var r=t.split("."),e=r[0],n=r[1],o=this[e]();if(n){var a=e.indexOf(n)-("ok"===e.substr(0,2)?2:0);if(a>-1)return o[a];throw new Error("unknown channel "+n+" in mode "+e)}return o};var ro=w,eo=d.type,no=Math.pow,oo=1e-7,ao=20;ro.prototype.luminance=function(t){if(void 0!==t&&"number"===eo(t)){if(0===t)return new ro([0,0,0,this._rgb[3]],"rgb");if(1===t)return new ro([255,255,255,this._rgb[3]],"rgb");var r=this.luminance(),e="rgb",n=ao,o=function(r,a){var i=r.interpolate(a,.5,e),c=i.luminance();return Math.abs(t-c)<oo||!n--?i:c>t?o(r,i):o(i,a)},a=(r>t?o(new ro([0,0,0]),this):o(this,new ro([255,255,255]))).rgb();return new ro(a.concat([this._rgb[3]]))}return io.apply(void 0,this._rgb.slice(0,3))};var io=function(t,r,e){return.2126*(t=co(t))+.7152*(r=co(r))+.0722*(e=co(e))},co=function(t){return(t/=255)<=.03928?t/12.92:no((t+.055)/1.055,2.4)},fo={},so=w,uo=d.type,lo=fo,ho=function(t,r,e){void 0===e&&(e=.5);for(var n=[],o=arguments.length-3;o-- >0;)n[o]=arguments[o+3];var a=n[0]||"lrgb";if(lo[a]||n.length||(a=Object.keys(lo)[0]),!lo[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==uo(t)&&(t=new so(t)),"object"!==uo(r)&&(r=new so(r)),lo[a](t,r,e).alpha(t.alpha()+e*(r.alpha()-t.alpha()))},bo=w,po=ho;bo.prototype.mix=bo.prototype.interpolate=function(t,r){void 0===r&&(r=.5);for(var e=[],n=arguments.length-2;n-- >0;)e[n]=arguments[n+2];return po.apply(void 0,[this,t,r].concat(e))};var go=w;go.prototype.premultiply=function(t){void 0===t&&(t=!1);var r=this._rgb,e=r[3];return t?(this._rgb=[r[0]*e,r[1]*e,r[2]*e,e],this):new go([r[0]*e,r[1]*e,r[2]*e,e],"rgb")};var mo=w,vo=Pr;mo.prototype.saturate=function(t){void 0===t&&(t=1);var r=this,e=r.lch();return e[1]+=vo.Kn*t,e[1]<0&&(e[1]=0),new mo(e,"lch").alpha(r.alpha(),!0)},mo.prototype.desaturate=function(t){return void 0===t&&(t=1),this.saturate(-t)};var yo=w,wo=d.type;yo.prototype.set=function(t,r,e){void 0===e&&(e=!1);var n=t.split("."),o=n[0],a=n[1],i=this[o]();if(a){var c=o.indexOf(a)-("ok"===o.substr(0,2)?2:0);if(c>-1){if("string"==wo(r))switch(r.charAt(0)){case"+":case"-":i[c]+=+r;break;case"*":i[c]*=+r.substr(1);break;case"/":i[c]/=+r.substr(1);break;default:i[c]=+r}else{if("number"!==wo(r))throw new Error("unsupported value for Color.set");i[c]=r}var f=new yo(i,o);return e?(this._rgb=f._rgb,this):f}throw new Error("unknown channel "+a+" in mode "+o)}return i};var ko=w,xo=function(t,r,e){var n=t._rgb,o=r._rgb;return new ko(n[0]+e*(o[0]-n[0]),n[1]+e*(o[1]-n[1]),n[2]+e*(o[2]-n[2]),"rgb")};fo.rgb=xo;var No=w,Mo=Math.sqrt,So=Math.pow,Fo=function(t,r,e){var n=t._rgb,o=n[0],a=n[1],i=n[2],c=r._rgb,f=c[0],s=c[1],u=c[2];return new No(Mo(So(o,2)*(1-e)+So(f,2)*e),Mo(So(a,2)*(1-e)+So(s,2)*e),Mo(So(i,2)*(1-e)+So(u,2)*e),"rgb")};fo.lrgb=Fo;var Oo=w,Co=function(t,r,e){var n=t.lab(),o=r.lab();return new Oo(n[0]+e*(o[0]-n[0]),n[1]+e*(o[1]-n[1]),n[2]+e*(o[2]-n[2]),"lab")};fo.lab=Co;var Ao=w,_o=function(t,r,e,n){var o,a,i,c,f,s,u,l,h,d,b,p,g;return"hsl"===n?(i=t.hsl(),c=r.hsl()):"hsv"===n?(i=t.hsv(),c=r.hsv()):"hcg"===n?(i=t.hcg(),c=r.hcg()):"hsi"===n?(i=t.hsi(),c=r.hsi()):"lch"===n||"hcl"===n?(n="hcl",i=t.hcl(),c=r.hcl()):"oklch"===n&&(i=t.oklch().reverse(),c=r.oklch().reverse()),"h"!==n.substr(0,1)&&"oklch"!==n||(f=(o=i)[0],u=o[1],h=o[2],s=(a=c)[0],l=a[1],d=a[2]),isNaN(f)||isNaN(s)?isNaN(f)?isNaN(s)?p=Number.NaN:(p=s,1!=h&&0!=h||"hsv"==n||(b=l)):(p=f,1!=d&&0!=d||"hsv"==n||(b=u)):p=f+e*(s>f&&s-f>180?s-(f+360):s<f&&f-s>180?s+360-f:s-f),void 0===b&&(b=u+e*(l-u)),g=h+e*(d-h),new Ao("oklch"===n?[g,b,p]:[p,b,g],n)},Lo=_o,$o=function(t,r,e){return Lo(t,r,e,"lch")};fo.lch=$o,fo.hcl=$o;var jo=w,Eo=function(t,r,e){var n=t.num(),o=r.num();return new jo(n+e*(o-n),"num")};fo.num=Eo;var Po=_o,Do=function(t,r,e){return Po(t,r,e,"hcg")};fo.hcg=Do;var Ro=_o,zo=function(t,r,e){return Ro(t,r,e,"hsi")};fo.hsi=zo;var Io=_o,qo=function(t,r,e){return Io(t,r,e,"hsl")};fo.hsl=qo;var Go=_o,Bo=function(t,r,e){return Go(t,r,e,"hsv")};fo.hsv=Bo;var To=w,Yo=function(t,r,e){var n=t.oklab(),o=r.oklab();return new To(n[0]+e*(o[0]-n[0]),n[1]+e*(o[1]-n[1]),n[2]+e*(o[2]-n[2]),"oklab")};fo.oklab=Yo;var Uo=_o,Vo=function(t,r,e){return Uo(t,r,e,"oklch")};fo.oklch=Vo;var Xo=w,Wo=d.clip_rgb,Zo=Math.pow,Ho=Math.sqrt,Ko=Math.PI,Jo=Math.cos,Qo=Math.sin,ta=Math.atan2,ra=function(t,r,e){void 0===r&&(r="lrgb"),void 0===e&&(e=null);var n=t.length;e||(e=Array.from(new Array(n)).map((function(){return 1})));var o=n/e.reduce((function(t,r){return t+r}));if(e.forEach((function(t,r){e[r]*=o})),t=t.map((function(t){return new Xo(t)})),"lrgb"===r)return ea(t,e);for(var a=t.shift(),i=a.get(r),c=[],f=0,s=0,u=0;u<i.length;u++)if(i[u]=(i[u]||0)*e[0],c.push(isNaN(i[u])?0:e[0]),"h"===r.charAt(u)&&!isNaN(i[u])){var l=i[u]/180*Ko;f+=Jo(l)*e[0],s+=Qo(l)*e[0]}var h=a.alpha()*e[0];t.forEach((function(t,n){var o=t.get(r);h+=t.alpha()*e[n+1];for(var a=0;a<i.length;a++)if(!isNaN(o[a]))if(c[a]+=e[n+1],"h"===r.charAt(a)){var u=o[a]/180*Ko;f+=Jo(u)*e[n+1],s+=Qo(u)*e[n+1]}else i[a]+=o[a]*e[n+1]}));for(var d=0;d<i.length;d++)if("h"===r.charAt(d)){for(var b=ta(s/c[d],f/c[d])/Ko*180;b<0;)b+=360;for(;b>=360;)b-=360;i[d]=b}else i[d]=i[d]/c[d];return h/=n,new Xo(i,r).alpha(h>.99999?1:h,!0)},ea=function(t,r){for(var e=t.length,n=[0,0,0,0],o=0;o<t.length;o++){var a=t[o],i=r[o]/e,c=a._rgb;n[0]+=Zo(c[0],2)*i,n[1]+=Zo(c[1],2)*i,n[2]+=Zo(c[2],2)*i,n[3]+=c[3]*i}return n[0]=Ho(n[0]),n[1]=Ho(n[1]),n[2]=Ho(n[2]),n[3]>.9999999&&(n[3]=1),new Xo(Wo(n))},na=x,oa=d.type,aa=Math.pow,ia=function(t){var r="rgb",e=na("#ccc"),n=0,o=[0,1],a=[],i=[0,0],c=!1,f=[],s=!1,u=0,l=1,h=!1,d={},b=!0,p=1,g=function(t){if((t=t||["#fff","#000"])&&"string"===oa(t)&&na.brewer&&na.brewer[t.toLowerCase()]&&(t=na.brewer[t.toLowerCase()]),"array"===oa(t)){1===t.length&&(t=[t[0],t[0]]),t=t.slice(0);for(var r=0;r<t.length;r++)t[r]=na(t[r]);a.length=0;for(var e=0;e<t.length;e++)a.push(e/(t.length-1))}return k(),f=t},m=function(t){if(null!=c){for(var r=c.length-1,e=0;e<r&&t>=c[e];)e++;return e-1}return 0},v=function(t){return t},y=function(t){return t},w=function(t,n){var o,s;if(null==n&&(n=!1),isNaN(t)||null===t)return e;s=n?t:c&&c.length>2?m(t)/(c.length-2):l!==u?(t-u)/(l-u):1,s=y(s),n||(s=v(s)),1!==p&&(s=aa(s,p)),s=i[0]+s*(1-i[0]-i[1]),s=Math.min(1,Math.max(0,s));var h=Math.floor(1e4*s);if(b&&d[h])o=d[h];else{if("array"===oa(f))for(var g=0;g<a.length;g++){var w=a[g];if(s<=w){o=f[g];break}if(s>=w&&g===a.length-1){o=f[g];break}if(s>w&&s<a[g+1]){s=(s-w)/(a[g+1]-w),o=na.interpolate(f[g],f[g+1],s,r);break}}else"function"===oa(f)&&(o=f(s));b&&(d[h]=o)}return o},k=function(){return d={}};g(t);var x=function(t){var r=na(w(t));return s&&r[s]?r[s]():r};return x.classes=function(t){if(null!=t){if("array"===oa(t))c=t,o=[t[0],t[t.length-1]];else{var r=na.analyze(o);c=0===t?[r.min,r.max]:na.limits(r,"e",t)}return x}return c},x.domain=function(t){if(!arguments.length)return o;u=t[0],l=t[t.length-1],a=[];var r=f.length;if(t.length===r&&u!==l)for(var e=0,n=Array.from(t);e<n.length;e+=1){var i=n[e];a.push((i-u)/(l-u))}else{for(var c=0;c<r;c++)a.push(c/(r-1));if(t.length>2){var s=t.map((function(r,e){return e/(t.length-1)})),h=t.map((function(t){return(t-u)/(l-u)}));h.every((function(t,r){return s[r]===t}))||(y=function(t){if(t<=0||t>=1)return t;for(var r=0;t>=h[r+1];)r++;var e=(t-h[r])/(h[r+1]-h[r]);return s[r]+e*(s[r+1]-s[r])})}}return o=[u,l],x},x.mode=function(t){return arguments.length?(r=t,k(),x):r},x.range=function(t,r){return g(t),x},x.out=function(t){return s=t,x},x.spread=function(t){return arguments.length?(n=t,x):n},x.correctLightness=function(t){return null==t&&(t=!0),h=t,k(),v=h?function(t){for(var r=w(0,!0).lab()[0],e=w(1,!0).lab()[0],n=r>e,o=w(t,!0).lab()[0],a=r+(e-r)*t,i=o-a,c=0,f=1,s=20;Math.abs(i)>.01&&s-- >0;)n&&(i*=-1),i<0?(c=t,t+=.5*(f-t)):(f=t,t+=.5*(c-t)),o=w(t,!0).lab()[0],i=o-a;return t}:function(t){return t},x},x.padding=function(t){return null!=t?("number"===oa(t)&&(t=[t,t]),i=t,x):i},x.colors=function(r,e){arguments.length<2&&(e="hex");var n=[];if(0===arguments.length)n=f.slice(0);else if(1===r)n=[x(.5)];else if(r>1){var a=o[0],i=o[1]-a;n=ca(0,r,!1).map((function(t){return x(a+t/(r-1)*i)}))}else{t=[];var s=[];if(c&&c.length>2)for(var u=1,l=c.length,h=1<=l;h?u<l:u>l;h?u++:u--)s.push(.5*(c[u-1]+c[u]));else s=o;n=s.map((function(t){return x(t)}))}return na[e]&&(n=n.map((function(t){return t[e]()}))),n},x.cache=function(t){return null!=t?(b=t,x):b},x.gamma=function(t){return null!=t?(p=t,x):p},x.nodata=function(t){return null!=t?(e=na(t),x):e},x};function ca(t,r,e){for(var n=[],o=t<r,a=e?o?r+1:r-1:r,i=t;o?i<a:i>a;o?i++:i--)n.push(i);return n}var fa=w,sa=ia,ua=function(t){for(var r=[1,1],e=1;e<t;e++){for(var n=[1],o=1;o<=r.length;o++)n[o]=(r[o]||0)+r[o-1];r=n}return r},la=function(t){var r,e,n,o,a,i,c;if(2===(t=t.map((function(t){return new fa(t)}))).length)r=t.map((function(t){return t.lab()})),a=r[0],i=r[1],o=function(t){var r=[0,1,2].map((function(r){return a[r]+t*(i[r]-a[r])}));return new fa(r,"lab")};else if(3===t.length)e=t.map((function(t){return t.lab()})),a=e[0],i=e[1],c=e[2],o=function(t){var r=[0,1,2].map((function(r){return(1-t)*(1-t)*a[r]+2*(1-t)*t*i[r]+t*t*c[r]}));return new fa(r,"lab")};else if(4===t.length){var f;n=t.map((function(t){return t.lab()})),a=n[0],i=n[1],c=n[2],f=n[3],o=function(t){var r=[0,1,2].map((function(r){return(1-t)*(1-t)*(1-t)*a[r]+3*(1-t)*(1-t)*t*i[r]+3*(1-t)*t*t*c[r]+t*t*t*f[r]}));return new fa(r,"lab")}}else{if(!(t.length>=5))throw new RangeError("No point in running bezier with only one color.");var s,u,l;s=t.map((function(t){return t.lab()})),l=t.length-1,u=ua(l),o=function(t){var r=1-t,e=[0,1,2].map((function(e){return s.reduce((function(n,o,a){return n+u[a]*Math.pow(r,l-a)*Math.pow(t,a)*o[e]}),0)}));return new fa(e,"lab")}}return o},ha=function(t){var r=la(t);return r.scale=function(){return sa(r)},r},da=x,ba=function(t,r,e){if(!ba[e])throw new Error("unknown blend mode "+e);return ba[e](t,r)},pa=function(t){return function(r,e){var n=da(e).rgb(),o=da(r).rgb();return da.rgb(t(n,o))}},ga=function(t){return function(r,e){var n=[];return n[0]=t(r[0],e[0]),n[1]=t(r[1],e[1]),n[2]=t(r[2],e[2]),n}},ma=function(t){return t},va=function(t,r){return t*r/255},ya=function(t,r){return t>r?r:t},wa=function(t,r){return t>r?t:r},ka=function(t,r){return 255*(1-(1-t/255)*(1-r/255))},xa=function(t,r){return r<128?2*t*r/255:255*(1-2*(1-t/255)*(1-r/255))},Na=function(t,r){return 255*(1-(1-r/255)/(t/255))},Ma=function(t,r){return 255===t||(t=r/255*255/(1-t/255))>255?255:t};ba.normal=pa(ga(ma)),ba.multiply=pa(ga(va)),ba.screen=pa(ga(ka)),ba.overlay=pa(ga(xa)),ba.darken=pa(ga(ya)),ba.lighten=pa(ga(wa)),ba.dodge=pa(ga(Ma)),ba.burn=pa(ga(Na));for(var Sa=ba,Fa=d.type,Oa=d.clip_rgb,Ca=d.TWOPI,Aa=Math.pow,_a=Math.sin,La=Math.cos,$a=x,ja=function(t,r,e,n,o){void 0===t&&(t=300),void 0===r&&(r=-1.5),void 0===e&&(e=1),void 0===n&&(n=1),void 0===o&&(o=[0,1]);var a,i=0;"array"===Fa(o)?a=o[1]-o[0]:(a=0,o=[o,o]);var c=function(c){var f=Ca*((t+120)/360+r*c),s=Aa(o[0]+a*c,n),u=(0!==i?e[0]+c*i:e)*s*(1-s)/2,l=La(f),h=_a(f);return $a(Oa([255*(s+u*(-.14861*l+1.78277*h)),255*(s+u*(-.29227*l-.90649*h)),255*(s+u*(1.97294*l)),1]))};return c.start=function(r){return null==r?t:(t=r,c)},c.rotations=function(t){return null==t?r:(r=t,c)},c.gamma=function(t){return null==t?n:(n=t,c)},c.hue=function(t){return null==t?e:("array"===Fa(e=t)?0==(i=e[1]-e[0])&&(e=e[1]):i=0,c)},c.lightness=function(t){return null==t?o:("array"===Fa(t)?(o=t,a=t[1]-t[0]):(o=[t,t],a=0),c)},c.scale=function(){return $a.scale(c)},c.hue(e),c},Ea=w,Pa="0123456789abcdef",Da=Math.floor,Ra=Math.random,za=function(){for(var t="#",r=0;r<6;r++)t+=Pa.charAt(Da(16*Ra()));return new Ea(t,"hex")},Ia=c,qa=Math.log,Ga=Math.pow,Ba=Math.floor,Ta=Math.abs,Ya=function(t,r){void 0===r&&(r=null);var e={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Ia(t)&&(t=Object.values(t)),t.forEach((function(t){r&&"object"===Ia(t)&&(t=t[r]),null==t||isNaN(t)||(e.values.push(t),e.sum+=t,t<e.min&&(e.min=t),t>e.max&&(e.max=t),e.count+=1)})),e.domain=[e.min,e.max],e.limits=function(t,r){return Ua(e,t,r)},e},Ua=function(t,r,e){void 0===r&&(r="equal"),void 0===e&&(e=7),"array"==Ia(t)&&(t=Ya(t));var n=t.min,o=t.max,a=t.values.sort((function(t,r){return t-r}));if(1===e)return[n,o];var i=[];if("c"===r.substr(0,1)&&(i.push(n),i.push(o)),"e"===r.substr(0,1)){i.push(n);for(var c=1;c<e;c++)i.push(n+c/e*(o-n));i.push(o)}else if("l"===r.substr(0,1)){if(n<=0)throw new Error("Logarithmic scales are only possible for values > 0");var f=Math.LOG10E*qa(n),s=Math.LOG10E*qa(o);i.push(n);for(var u=1;u<e;u++)i.push(Ga(10,f+u/e*(s-f)));i.push(o)}else if("q"===r.substr(0,1)){i.push(n);for(var l=1;l<e;l++){var h=(a.length-1)*l/e,d=Ba(h);if(d===h)i.push(a[d]);else{var b=h-d;i.push(a[d]*(1-b)+a[d+1]*b)}}i.push(o)}else if("k"===r.substr(0,1)){var p,g=a.length,m=new Array(g),v=new Array(e),y=!0,w=0,k=null;(k=[]).push(n);for(var x=1;x<e;x++)k.push(n+x/e*(o-n));for(k.push(o);y;){for(var N=0;N<e;N++)v[N]=0;for(var M=0;M<g;M++)for(var S=a[M],F=Number.MAX_VALUE,O=void 0,C=0;C<e;C++){var A=Ta(k[C]-S);A<F&&(F=A,O=C),v[O]++,m[M]=O}for(var _=new Array(e),L=0;L<e;L++)_[L]=null;for(var $=0;$<g;$++)null===_[p=m[$]]?_[p]=a[$]:_[p]+=a[$];for(var j=0;j<e;j++)_[j]*=1/v[j];y=!1;for(var E=0;E<e;E++)if(_[E]!==k[E]){y=!0;break}k=_,++w>200&&(y=!1)}for(var P={},D=0;D<e;D++)P[D]=[];for(var R=0;R<g;R++)P[p=m[R]].push(a[R]);for(var z=[],I=0;I<e;I++)z.push(P[I][0]),z.push(P[I][P[I].length-1]);z=z.sort((function(t,r){return t-r})),i.push(z[0]);for(var q=1;q<z.length;q+=2){var G=z[q];isNaN(G)||-1!==i.indexOf(G)||i.push(G)}}return i},Va={analyze:Ya,limits:Ua},Xa=w,Wa=function(t,r){t=new Xa(t),r=new Xa(r);var e=t.luminance(),n=r.luminance();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},Za=w,Ha=Math.sqrt,Ka=Math.pow,Ja=Math.min,Qa=Math.max,ti=Math.atan2,ri=Math.abs,ei=Math.cos,ni=Math.sin,oi=Math.exp,ai=Math.PI,ii=function(t,r,e,n,o){void 0===e&&(e=1),void 0===n&&(n=1),void 0===o&&(o=1);var a=function(t){return 360*t/(2*ai)},i=function(t){return 2*ai*t/360};t=new Za(t),r=new Za(r);var c=Array.from(t.lab()),f=c[0],s=c[1],u=c[2],l=Array.from(r.lab()),h=l[0],d=l[1],b=l[2],p=(f+h)/2,g=(Ha(Ka(s,2)+Ka(u,2))+Ha(Ka(d,2)+Ka(b,2)))/2,m=.5*(1-Ha(Ka(g,7)/(Ka(g,7)+Ka(25,7)))),v=s*(1+m),y=d*(1+m),w=Ha(Ka(v,2)+Ka(u,2)),k=Ha(Ka(y,2)+Ka(b,2)),x=(w+k)/2,N=a(ti(u,v)),M=a(ti(b,y)),S=N>=0?N:N+360,F=M>=0?M:M+360,O=ri(S-F)>180?(S+F+360)/2:(S+F)/2,C=1-.17*ei(i(O-30))+.24*ei(i(2*O))+.32*ei(i(3*O+6))-.2*ei(i(4*O-63)),A=F-S;A=ri(A)<=180?A:F<=S?A+360:A-360,A=2*Ha(w*k)*ni(i(A)/2);var _=h-f,L=k-w,$=1+.015*Ka(p-50,2)/Ha(20+Ka(p-50,2)),j=1+.045*x,E=1+.015*x*C,P=30*oi(-Ka((O-275)/25,2)),D=-2*Ha(Ka(x,7)/(Ka(x,7)+Ka(25,7)))*ni(2*i(P)),R=Ha(Ka(_/(e*$),2)+Ka(L/(n*j),2)+Ka(A/(o*E),2)+D*(L/(n*j))*(A/(o*E)));return Qa(0,Ja(100,R))},ci=w,fi=function(t,r,e){void 0===e&&(e="lab"),t=new ci(t),r=new ci(r);var n=t.get(e),o=r.get(e),a=0;for(var i in n){var c=(n[i]||0)-(o[i]||0);a+=c*c}return Math.sqrt(a)},si=w,ui=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];try{return new(Function.prototype.bind.apply(si,[null].concat(t))),!0}catch(t){return!1}},li=x,hi=ia,di={cool:function(){return hi([li.hsl(180,1,.9),li.hsl(250,.7,.4)])},hot:function(){return hi(["#000","#f00","#ff0","#fff"]).mode("rgb")}},bi={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},pi=0,gi=Object.keys(bi);pi<gi.length;pi+=1){var mi=gi[pi];bi[mi.toLowerCase()]=bi[mi]}var vi=bi,yi=x;yi.average=ra,yi.bezier=ha,yi.blend=Sa,yi.cubehelix=ja,yi.mix=yi.interpolate=ho,yi.random=za,yi.scale=ia,yi.analyze=Va.analyze,yi.contrast=Wa,yi.deltaE=ii,yi.distance=fi,yi.limits=Va.limits,yi.valid=ui,yi.scales=di,yi.colors=De,yi.brewer=vi;var wi=yi;return wi}();var n,o=r(e.exports),a={exports:{}};n=a,function(t){function r(t,e){if(!(t=o(t)))return null;var n,a,i,c=1/0;e||(e=r.DEFAULT_COLORS);for(var f=0;f<e.length;++f)a=e[f].rgb,(n=Math.pow(t.r-a.r,2)+Math.pow(t.g-a.g,2)+Math.pow(t.b-a.b,2))<c&&(c=n,i=e[f]);return i.name?{name:i.name,value:i.source,rgb:i.rgb,distance:Math.sqrt(c)}:i.source}function e(t){return t instanceof Array?t.map((function(t){return a(t)})):Object.keys(t).map((function(r){return a(t[r],r)}))}function o(t){if("object"==typeof t)return t;if(t in r.STANDARD_COLORS)return o(r.STANDARD_COLORS[t]);var e=t.match(/^#?((?:[0-9a-f]{3}){1,2})$/i);if(e)return e=3===(e=e[1]).length?[e.charAt(0)+e.charAt(0),e.charAt(1)+e.charAt(1),e.charAt(2)+e.charAt(2)]:[e.substring(0,2),e.substring(2,4),e.substring(4,6)],{r:parseInt(e[0],16),g:parseInt(e[1],16),b:parseInt(e[2],16)};var n=t.match(/^rgb\(\s*(\d{1,3}%?),\s*(\d{1,3}%?),\s*(\d{1,3}%?)\s*\)$/i);if(n)return{r:i(n[1]),g:i(n[2]),b:i(n[3])};throw Error('"'+t+'" is not a valid color')}function a(t,r){var e,n={};if(r&&(n.name=r),"string"==typeof t)n.source=t,n.rgb=o(t);else if("object"==typeof t){if(t.source)return a(t.source,t.name);n.rgb=t,n.source="#"+c((e=t).r.toString(16))+c(e.g.toString(16))+c(e.b.toString(16))}return n}function i(t){return"%"===t.charAt(t.length-1)?Math.round(255*parseInt(t,10)/100):Number(t)}function c(t){return 1===t.length&&(t="0"+t),t}r.from=function t(n){var o=e(n),a=r,i=function(t){return a(t,o)};return i.from=t,i.or=function(t){var n=o.concat(e(t));return r.from(n)},i},r.STANDARD_COLORS={aqua:"#0ff",black:"#000",blue:"#00f",fuchsia:"#f0f",gray:"#808080",green:"#008000",lime:"#0f0",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",purple:"#800080",red:"#f00",silver:"#c0c0c0",teal:"#008080",white:"#fff",yellow:"#ff0"},r.DEFAULT_COLORS=e(["#f00","#f80","#ff0","#0f0","#00f","#008","#808"]),r.VERSION="0.4.4",n&&n.exports?n.exports=r:t.nearestColor=r}(t);var i=r(a.exports);const c=function([t,r,e]){this.h=Number(isNaN(t)?0:t.toFixed(0)),this.s=Number((100*r).toFixed()),this.l=Number((100*e).toFixed())};c.prototype.toString=function(){return`hsl(${Object.keys(this).map(((t,r)=>`${this[t]}${0!==r?"%":""}`)).join(", ")})`};const f=function([t,r,e]){this.h=Number(isNaN(t)?0:t.toFixed(0)),this.s=Number(r.toFixed(2)),this.l=Number(e.toFixed(2))};f.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const s=function({x:t,y:r,z:e}){this.x=t,this.y=r,this.z=e};s.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const u=function({c:t,m:r,y:e,k:n}){this.c=t,this.m=r,this.y=e,this.k=n};u.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const l=function({r:t,g:r,b:e}){this.r=t,this.g=r,this.b=e};l.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const h=function({h:t,w:r,b:e}){this.h=t,this.w=r,this.b=e};h.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const d=function([t,r,e]){this.l=Number(t.toFixed(2)),this.a=Number(r.toFixed(2)),this.b=Number(e.toFixed(2))};d.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const b=function([t,r,e]){this.l=Number(t.toFixed(2)),this.a=Number(r.toFixed(2)),this.b=Number(e.toFixed(2))};b.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const p=function([t,r,e]){this.h=Number(isNaN(t)?0:t.toFixed(2)),this.s=Number(r.toFixed(2)),this.v=Number(e.toFixed(2))};p.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const g=function([t,r,e]){this.l=Number(t.toFixed(2)),this.c=Number(r.toFixed(2)),this.h=Number(isNaN(e)?0:e.toFixed(2))};g.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const m=function([t,r,e]){this.l=Number(t.toFixed(2)),this.c=Number(r.toFixed(2)),this.h=Number(isNaN(e)?0:e.toFixed(2))};m.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const v=function([t,r,e]){this.h=Number(isNaN(t)?0:t.toFixed(2)),this.s=Number(r.toFixed(2)),this.i=Number(e.toFixed(2))};v.prototype.toString=function(){return Object.keys(this).map((t=>`${this[t]}`)).join(", ")};const y=(t,r)=>{if("hsl"===r)return new f(o(t).hsl());const e=o(t).rgb();return new l({r:Number((e[0]/255).toFixed(2)),g:Number((e[1]/255).toFixed(2)),b:Number((e[2]/255).toFixed(2))})},w=t=>(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4),k=t=>t>.008856452?Math.pow(t,1/3):t/.12841855+.137931034;class x{color;name;hex;rgb;hsl;hwb;hsv;lab;xyz;lch;oklch;hsi;oklab;cmyk;rgbFloat;hslFloat;constructor(t,r){this.color=t,this.name=r,this.hex=(t=>o(t).hex())(this.color),this.cmyk=(t=>{let[r,e,n]=o(t).rgb();r/=255,n/=255,e/=255;const a=+(1-Math.max(r,n,e)),i=+((1-n-a)/(1-a)||0),c=+((1-e-a)/(1-a)||0);return new u({c:Number((100*+((1-r-a)/(1-a)||0)).toFixed()),m:Number((100*i).toFixed()),y:Number((100*c).toFixed()),k:Number((100*a).toFixed())})})(this.color),this.xyz=(t=>{let[r,e,n]=o(t).rgb();r=w(r),n=w(n),e=w(e);const a=k((.4124564*r+.3575761*n+.1804375*e)/.95047),i=k((.2126729*r+.7151522*n+.072175*e)/1),c=k((.0193339*r+.119192*n+.9503041*e)/1.08883);return new s({x:Number(a.toFixed(2)),y:Number(i.toFixed(2)),z:Number(c.toFixed(2))})})(this.color),this.hsl=(t=>new c(o(t).hsl()))(this.color),this.hwb=(t=>{let[r,e,n]=o(t).rgb();r/=255,n/=255,e/=255;const a=Math.min(r,n,e),i=Math.max(r,n,e),c=1-i;return i===a?{h:0,w:a,b:c}:new h({h:Number((((r===a?3:n===a?5:1)-(r===a?n-e:n===a?e-r:r-n)/(i-a))/6).toFixed(2)),w:Number(a.toFixed(2)),b:Number(c.toFixed(2))})})(this.color),this.lab=(t=>new d(o(t).lab()))(this.color),this.oklab=(t=>new b(o(t).oklab()))(this.color),this.hsv=(t=>new p(o(t).hsv()))(this.color),this.lch=(t=>new g(o(t).lch()))(this.color),this.oklch=(t=>new m(o(t).oklch()))(this.color),this.hsi=(t=>new v(o(t).hsi()))(this.color),this.rgb=(t=>{const[r,e,n]=o(t).rgb();return`rgb(${r}, ${e}, ${n})`})(this.color),this.rgbFloat=y(this.color),this.hslFloat=y(this.color,"hsl")}toObject(t){return((t,r)=>{if("hsl"===r){const[r,e,n]=o(t).hsl();return{h:Number(isNaN(r)?0:r.toFixed(0)),s:Number((100*e).toFixed()),l:Number((100*n).toFixed())}}const e=o(t).rgb();return{r:e[0],g:e[1],b:e[2]}})(this.color,t)}toFloat(t){return y(this.color,t)}}const N={diverging:!1,bezier:!1,randomOffset:!1,correctLightness:!1,noDuplicates:!0,colorScaleMode:"lch",reverseDirection:!1},M=(t,r,e,n,a={})=>{const{noDuplicates:i=!0}=a,c=[o(t).hex()];let[f,s,u]=o(t).hsl();isNaN(f)&&(f=0),s=Number((100*s).toFixed()),u=Number((100*u).toFixed());for(let t=r;t<=e;t+=n){const r=Number(((f+t)%360).toFixed());c.push(o(`hsl(${r}, ${s}%, ${u}%)`).hex())}let l=c;return i&&(l=[...new Set(c)]),l},S=(t,r)=>Math.floor(Math.random()*(t-r+1))+r,F=(t,r={})=>{const{numberOfColors:e=8,bezier:n=!1,randomOffset:a=!1,colorScaleMode:i,noDuplicates:c=!0,reverseDirection:f=!1,correctLightness:s=!0}=r;let[u,l,h]=o(t).hsl();isNaN(u)&&(u=0),u=Number(u.toFixed(0)),l=Number((100*l).toFixed(0)),h=Number((100*h).toFixed(0));const d=[];if(d.push(o(`hsl(${u}, ${l}%, ${h<0?0:h}%)`).hex()),a)for(let t=1;t<e;t++)f?(h+=S(0,10),u+=S(-5,5)):(h-=S(0,10),u-=S(-5,5)),u>359&&(u=359),u<0&&(u=0),d.push(o(`hsl(${u}, ${l}%, ${h<0?0:h}%)`).hex());else for(let t=1;t<e;t++)f?(h+=5,u+=5):(h-=5,u-=5),u>359&&(u=359),u<0&&(u=0),d.push(o(`hsl(${u}, ${l}%, ${h<0?0:h}%)`).hex());let b=d.map((t=>o(t).hex()));return c&&(b=[...new Set(b)]),n&&(b=b.length>1?o.bezier(b).scale().mode(i).correctLightness(s).colors(e):o.scale(b).mode(i).correctLightness(s).colors(e)),b},O=(t,r={})=>{if(!t)throw new Error("MoebiusPalettes: missing input `color`");const{diverging:e=!1,numberOfColors:n=7}=r,[a,i,c]=o(t).lab(),f=100*(.95-1/n),s=f/(n-1),u=.5*(100-f),l=((t,r,e)=>{const n=[];for(let o=t;o<r;o+=e)n.push(o);return n})(u,u+n*s,s);let h=0;if(!e){h=9999;for(let t=0;t<n;t++){const r=a-l[t];Math.abs(r)<Math.abs(h)&&(h=r)}}return l.map((t=>o.lab([t+h,i,c]).hex()))},C=(t,r={})=>{const{numberOfColors:e,reverseDirection:n=!1,diverging:a=!1,divergentColor:i}=r;if(a){const r=O(o(t).hex(),{numberOfColors:Math.ceil(e/2)}).concat(i);return n&&r.reverse(),r}return O(t,{numberOfColors:e})},A=(t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r;try{return o.bezier(t).scale().mode(n).correctLightness(a).colors(e)}catch{return[]}},_=(t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r;try{return o.scale(t).mode(n).correctLightness(a).colors(e)}catch{return[]}};class L{interpolate;luminanceShift;monochromatic;complement;split;triadic;tetradic;pentadic;hexadic;analogous;constructor(t,r){Object.keys(t).forEach((e=>{this[e]=t[e].map((t=>F(t,{...r,numberOfColors:9})))}))}toArray(){return[...this.interpolate,...this.luminanceShift,...this.monochromatic,...this.complement,...this.split,...this.triadic,...this.tetradic,...this.pentadic,...this.hexadic,...this.analogous].flat()}}class ${interpolate;luminanceShift;monochromatic;complement;split;triadic;tetradic;pentadic;hexadic;analogous;constructor(t){Object.keys(t).forEach((r=>{this[r]=t[r]}))}toArray(){return[...this.interpolate,...this.luminanceShift,...this.monochromatic,...this.complement,...this.split,...this.triadic,...this.tetradic,...this.pentadic,...this.hexadic,...this.analogous].flat()}}class j{darkmode;constructor(t){Object.keys(t).forEach((r=>{this[r]=t[r]}))}}class E{baseColor;secondaryColor;colors={};themes={};defaultOptions={...N,divergentColor:"#f5f5f5"};options;all=[];accents;constructor(t){this.options={...this.defaultOptions,...t},this.baseColor=this.options.baseColor,this.secondaryColor=this.options.secondaryColor,this.themes=new j({darkmode:this.darkmode(this.baseColor.hex,this.secondaryColor.hex,{...this.options,reverseDirection:!this.options.reverseDirection})}),this.colors=new $({interpolate:this.interpolate(this.baseColor.hex,this.secondaryColor.hex,this.options),luminanceShift:this.luminanceShift([this.baseColor.hex],[this.secondaryColor.hex],this.options),monochromatic:this.monochromatic(this.baseColor.hex),complement:this.complement(this.baseColor.hex),split:this.split(this.baseColor.hex),triadic:this.triadic(this.baseColor.hex),tetradic:this.tetradic(this.baseColor.hex),pentadic:this.pentadic(this.baseColor.hex),hexadic:this.hexadic(this.baseColor.hex),analogous:this.analogous(this.baseColor.hex)}),this.accents=new L(this.colors,this.options),this.all=[...new Set([...this.accents.toArray(),...this.colors.toArray()].flat())]}complement(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,180,180,1);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}darkmode(t,r,e={}){return((t,r,e={})=>{const{bezier:n=!1,colorScaleMode:a,noDuplicates:i=!0}=e,c=F(t,e),f=F(r,e),s=f.map(((t,r)=>o.mix(c[r],t,.99-.02*r,a).hex())),u={primary:c,surface:f,mixed:s};return i&&(u.primary=[...new Set(c)],u.surface=[...new Set(f)],u.mixed=[...new Set(s)]),n&&(u.primary.length>1&&u.surface.length>1&&u.mixed.length>1?(u.primary=A(u.primary,e),u.surface=A(u.surface,e),u.mixed=A(u.mixed,e)):(u.primary=_(u.primary,e),u.surface=_(u.surface,e),u.mixed=_(u.mixed,e))),u})(t,r,{...this.options,...e})}split(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,150,210,60);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}triadic(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,120,240,120);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}tetradic(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,90,270,90);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}pentadic(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,144,360,72);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}hexadic(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,120,360,60);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}analogous(t,r={}){return((t,r={})=>{const{numberOfColors:e=8,colorScaleMode:n,correctLightness:a=!0}=r,i=M(t,30,90,30);return o.scale(i).mode(n).correctLightness(a).colors(e)})(t,{...this.options,...r})}interpolate(t,r,e={}){return((t,r,e={})=>{const{numberOfColors:n=8,colorScaleMode:a,bezier:i=!1,correctLightness:c=!0}=e;let f=o.scale([t,r]).mode(a).correctLightness(c).colors(n);return i&&(f=o.bezier([t,r]).scale().mode(a).correctLightness(c).colors(n)),f})(t,r,{...this.options,...e})}luminanceShift(t,r=[],e={}){return((t,r=[],e={})=>{const{numberOfColors:n=8,diverging:a=!1,colorScaleMode:i,bezier:c=!1,divergentColor:f="#f5f5f5",correctLightness:s=!0}=e;r=0===r.length?[M(t[0],90,270,90)[3]]:r;const u=n%2==0,l=a?Math.ceil(n/2)+(u?1:0):n,h=a?Math.ceil(n/2)+(u?1:0):0,d=1!==t.length?t:C(t[0],{numberOfColors:l,divergentColor:f});let b=[];a&&(b=1!==r.length?r:C(r[0],{numberOfColors:h,divergentColor:f,reverse:!1,diverging:a}));let p=t.length?o.scale(d).mode(i).correctLightness(s).colors(l):[];c&&(p=t.length?o.bezier(d).scale().mode(i).correctLightness(s).colors(l):[]);let g=a&&r.length?o.scale(b).mode(i).correctLightness(s).colors(h):[];c&&(g=a&&r.length?o.bezier(b).scale().mode(i).correctLightness(s).colors(h):[]);let m=p;return m=(a?p.slice(0,p.length-(l%2!=0?0:1)):p).concat(g.reverse()),m})(t,r,{...this.options,...e})}monochromatic(t,r={}){const e={...this.options,...r};return F(t,e)}harmonize(t,r,e,n,o={}){const a={...this.options,...o};return M(t,r,e,n,a)}}class P{xlmns="http://www.w3.org/2000/svg";getColorPiePaths(t,r=256){const e=document.createDocumentFragment(),n=document.createElementNS(this.xlmns,"defs"),o=document.createElementNS(this.xlmns,"mask"),a=document.createElementNS(this.xlmns,"rect"),i=document.createElementNS(this.xlmns,"g"),c=360/t.length,f="_"+Math.random().toString(36).substring(2,11);o.setAttributeNS(null,"id",f),a.setAttributeNS(null,"height","100%"),a.setAttributeNS(null,"width","100%"),a.setAttributeNS(null,"fill","white"),i.setAttributeNS(null,"mask",`url(#${f})`),o.appendChild(a);const s=360/t.length;var u,l;for(let r=(u=s/2,4===(l=t.length)||8===l||12===l?0:3===l||9===l?30:7===l?12:5===l?55:u);r<360;r+=s){const t=document.createElementNS(this.xlmns,"line");t.setAttributeNS(null,"x1","128"),t.setAttributeNS(null,"y1","128"),t.setAttributeNS(null,"x2","0"),t.setAttributeNS(null,"y2","128"),t.setAttributeNS(null,"stroke","black"),t.setAttributeNS(null,"stroke-width","6"),t.setAttributeNS(null,"transform",`rotate(${r} 128 128)`),o.appendChild(t)}let h=0;return t.forEach((t=>{const e=r/2/t.length;return h+=c,t.forEach(((t,n)=>{const o=r/2-n*e,a=document.createElementNS(this.xlmns,"path");a.setAttributeNS(null,"fill",t),a.setAttributeNS(null,"data-color-hex",t),a.setAttributeNS(null,"data-r",`${o}`),a.setAttributeNS(null,"d",((t,r,e,n=256)=>{const o=n/2,a=o;let i=t+r;if(t>i){const r=t;t=i,i=r}return`M ${o+e*Math.cos((90-t)*(Math.PI/180))} ${a+e*Math.sin((90-t)*(Math.PI/180))} A ${e} ${e} 0 ${i-t<=180?"0":"1"} 0 ${o+e*Math.cos((90-i)*(Math.PI/180))} ${a+e*Math.sin((90-i)*(Math.PI/180))} L ${o} ${a} Z`})(h,c,o)),i.appendChild(a)}))})),n.appendChild(o),e.appendChild(n),e.appendChild(i),e}}async function D(){const t=await(async()=>{const t=await fetch("https://color-names.herokuapp.com/v1/"),r=(await t.json()).colors,e={};return r.forEach((t=>{e[t.name]=t.hex})),i.from(e)})();return{MoebiusColor:class extends x{constructor(r){super(o(r).hex(),"string"==typeof t(r)?t(r):t(r).name)}},MoebiusPalettes:E,MoebiusSVGHelper:P}}export{D as default};
|
|
28
|
+
* @phun-ky/typeof
|
|
29
|
+
* A set of JavaScript helper functions to check for types
|
|
30
|
+
* @author Alexander Vassbotn Røyne-Helgesen <alexander@phun-ky.net>
|
|
31
|
+
* @version 1.2.10
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright (c) 2024 Alexander Vassbotn Røyne-Helgesen
|
|
34
|
+
*
|
|
35
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
36
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
37
|
+
* in the Software without restriction, including without limitation the rights
|
|
38
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
39
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
40
|
+
* furnished to do so, subject to the following conditions:
|
|
41
|
+
*
|
|
42
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
43
|
+
* copies or substantial portions of the Software.
|
|
44
|
+
*
|
|
45
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
46
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
47
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
48
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
49
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
50
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
51
|
+
* SOFTWARE.
|
|
52
|
+
*/
|
|
53
|
+
var t=(t,e=0,r=1)=>a(i(e,t),r),e=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let r=0;r<=3;r++)r<3?((e[r]<0||e[r]>255)&&(e._clipped=!0),e[r]=t(e[r],0,255)):3===r&&(e[r]=t(e[r],0,1));return e};const r={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])r[`[object ${t}]`]=t.toLowerCase();function n(t){return r[Object.prototype.toString.call(t)]||"object"}var o=(t,e=null)=>t.length>=3?Array.prototype.slice.call(t):"object"==n(t[0])&&e?e.split("").filter((e=>void 0!==t[0][e])).map((e=>t[0][e])):t[0],s=t=>{if(t.length<2)return null;const e=t.length-1;return"string"==n(t[e])?t[e].toLowerCase():null};const{PI:c,min:a,max:i}=Math,l=2*c,f=c/3,h=c/180,u=180/c;var b={format:{},autodetect:[]};class d{constructor(...t){const r=this;if("object"===n(t[0])&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];let o=s(t),c=!1;if(!o){c=!0,b.sorted||(b.autodetect=b.autodetect.sort(((t,e)=>e.p-t.p)),b.sorted=!0);for(let e of b.autodetect)if(o=e.test(...t),o)break}if(!b.format[o])throw new Error("unknown format: "+t);{const n=b.format[o].apply(null,c?t:t.slice(0,-1));r._rgb=e(n)}3===r._rgb.length&&r._rgb.push(1)}toString(){return"function"==n(this.hex)?this.hex():`[${this._rgb.join(",")}]`}}const g=(...t)=>new g.Color(...t);g.Color=d,g.version="2.6.0";const{max:m}=Math;d.prototype.cmyk=function(){return((...t)=>{let[e,r,n]=o(t,"rgb");e/=255,r/=255,n/=255;const s=1-m(e,m(r,n)),c=s<1?1/(1-s):0;return[(1-e-s)*c,(1-r-s)*c,(1-n-s)*c,s]})(this._rgb)},g.cmyk=(...t)=>new d(...t,"cmyk"),b.format.cmyk=(...t)=>{t=o(t,"cmyk");const[e,r,n,s]=t,c=t.length>4?t[4]:1;return 1===s?[0,0,0,c]:[e>=1?0:255*(1-e)*(1-s),r>=1?0:255*(1-r)*(1-s),n>=1?0:255*(1-n)*(1-s),c]},b.autodetect.push({p:2,test:(...t)=>{if("array"===n(t=o(t,"cmyk"))&&4===t.length)return"cmyk"}});const p=t=>Math.round(100*t)/100,w=(...t)=>{t=o(t,"rgba");let[e,r,n]=t;e/=255,r/=255,n/=255;const s=a(e,r,n),c=i(e,r,n),l=(c+s)/2;let f,h;return c===s?(f=0,h=Number.NaN):f=l<.5?(c-s)/(c+s):(c-s)/(2-c-s),e==c?h=(r-n)/(c-s):r==c?h=2+(n-e)/(c-s):n==c&&(h=4+(e-r)/(c-s)),h*=60,h<0&&(h+=360),t.length>3&&void 0!==t[3]?[h,f,l,t[3]]:[h,f,l]},{round:y}=Math,x=(...t)=>{const e=o(t,"rgba");let r=s(t)||"rgb";return"hsl"==r.substr(0,3)?((...t)=>{const e=o(t,"hsla");let r=s(t)||"lsa";return e[0]=p(e[0]||0),e[1]=p(100*e[1])+"%",e[2]=p(100*e[2])+"%","hsla"===r||e.length>3&&e[3]<1?(e[3]=e.length>3?e[3]:1,r="hsla"):e.length=3,`${r}(${e.join(",")})`})(w(e),r):(e[0]=y(e[0]),e[1]=y(e[1]),e[2]=y(e[2]),("rgba"===r||e.length>3&&e[3]<1)&&(e[3]=e.length>3?e[3]:1,r="rgba"),`${r}(${e.slice(0,"rgb"===r?3:4).join(",")})`)},{round:N}=Math,k=(...t)=>{t=o(t,"hsl");const[e,r,n]=t;let s,c,a;if(0===r)s=c=a=255*n;else{const t=[0,0,0],o=[0,0,0],i=n<.5?n*(1+r):n+r-n*r,l=2*n-i,f=e/360;t[0]=f+1/3,t[1]=f,t[2]=f-1/3;for(let e=0;e<3;e++)t[e]<0&&(t[e]+=1),t[e]>1&&(t[e]-=1),6*t[e]<1?o[e]=l+6*(i-l)*t[e]:2*t[e]<1?o[e]=i:3*t[e]<2?o[e]=l+(i-l)*(2/3-t[e])*6:o[e]=l;[s,c,a]=[N(255*o[0]),N(255*o[1]),N(255*o[2])]}return t.length>3?[s,c,a,t[3]]:[s,c,a,1]},v=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,M=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,$=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,S=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,C=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,A=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,{round:F}=Math,O=t=>{let e;if(t=t.toLowerCase().trim(),b.format.named)try{return b.format.named(t)}catch(t){}if(e=t.match(v)){const t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=+t[e];return t[3]=1,t}if(e=t.match(M)){const t=e.slice(1,5);for(let e=0;e<4;e++)t[e]=+t[e];return t}if(e=t.match($)){const t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=F(2.55*t[e]);return t[3]=1,t}if(e=t.match(S)){const t=e.slice(1,5);for(let e=0;e<3;e++)t[e]=F(2.55*t[e]);return t[3]=+t[3],t}if(e=t.match(C)){const t=e.slice(1,4);t[1]*=.01,t[2]*=.01;const r=k(t);return r[3]=1,r}if(e=t.match(A)){const t=e.slice(1,4);t[1]*=.01,t[2]*=.01;const r=k(t);return r[3]=+e[4],r}};O.test=t=>v.test(t)||M.test(t)||$.test(t)||S.test(t)||C.test(t)||A.test(t),d.prototype.css=function(t){return x(this._rgb,t)},g.css=(...t)=>new d(...t,"css"),b.format.css=O,b.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===n(t)&&O.test(t))return"css"}}),b.format.gl=(...t)=>{const e=o(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},g.gl=(...t)=>new d(...t,"gl"),d.prototype.gl=function(){const t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]};const{floor:_}=Math;d.prototype.hcg=function(){return((...t)=>{const[e,r,n]=o(t,"rgb"),s=a(e,r,n),c=i(e,r,n),l=c-s,f=100*l/255,h=s/(255-l)*100;let u;return 0===l?u=Number.NaN:(e===c&&(u=(r-n)/l),r===c&&(u=2+(n-e)/l),n===c&&(u=4+(e-r)/l),u*=60,u<0&&(u+=360)),[u,f,h]})(this._rgb)},g.hcg=(...t)=>new d(...t,"hcg"),b.format.hcg=(...t)=>{t=o(t,"hcg");let e,r,n,[s,c,a]=t;a*=255;const i=255*c;if(0===c)e=r=n=a;else{360===s&&(s=0),s>360&&(s-=360),s<0&&(s+=360),s/=60;const t=_(s),o=s-t,l=a*(1-c),f=l+i*(1-o),h=l+i*o,u=l+i;switch(t){case 0:[e,r,n]=[u,h,l];break;case 1:[e,r,n]=[f,u,l];break;case 2:[e,r,n]=[l,u,h];break;case 3:[e,r,n]=[l,f,u];break;case 4:[e,r,n]=[h,l,u];break;case 5:[e,r,n]=[u,l,f]}}return[e,r,n,t.length>3?t[3]:1]},b.autodetect.push({p:1,test:(...t)=>{if("array"===n(t=o(t,"hcg"))&&3===t.length)return"hcg"}});const L=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,E=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,j=t=>{if(t.match(L)){4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const e=parseInt(t,16);return[e>>16,e>>8&255,255&e,1]}if(t.match(E)){5!==t.length&&9!==t.length||(t=t.substr(1)),4===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=parseInt(t,16);return[e>>24&255,e>>16&255,e>>8&255,Math.round((255&e)/255*100)/100]}throw new Error(`unknown hex color: ${t}`)},{round:P}=Math,z=(...t)=>{let[e,r,n,c]=o(t,"rgba"),a=s(t)||"auto";void 0===c&&(c=1),"auto"===a&&(a=c<1?"rgba":"rgb"),e=P(e),r=P(r),n=P(n);let i="000000"+(e<<16|r<<8|n).toString(16);i=i.substr(i.length-6);let l="0"+P(255*c).toString(16);switch(l=l.substr(l.length-2),a.toLowerCase()){case"rgba":return`#${i}${l}`;case"argb":return`#${l}${i}`;default:return`#${i}`}};d.prototype.hex=function(t){return z(this._rgb,t)},g.hex=(...t)=>new d(...t,"hex"),b.format.hex=j,b.autodetect.push({p:4,test:(t,...e)=>{if(!e.length&&"string"===n(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});const{cos:R}=Math,{min:D,sqrt:q,acos:G}=Math;d.prototype.hsi=function(){return((...t)=>{let e,[r,n,s]=o(t,"rgb");r/=255,n/=255,s/=255;const c=D(r,n,s),a=(r+n+s)/3,i=a>0?1-c/a:0;return 0===i?e=NaN:(e=(r-n+(r-s))/2,e/=q((r-n)*(r-n)+(r-s)*(n-s)),e=G(e),s>n&&(e=l-e),e/=l),[360*e,i,a]})(this._rgb)},g.hsi=(...t)=>new d(...t,"hsi"),b.format.hsi=(...e)=>{e=o(e,"hsi");let r,n,s,[c,a,i]=e;return isNaN(c)&&(c=0),isNaN(a)&&(a=0),c>360&&(c-=360),c<0&&(c+=360),c/=360,c<1/3?(s=(1-a)/3,r=(1+a*R(l*c)/R(f-l*c))/3,n=1-(s+r)):c<2/3?(c-=1/3,r=(1-a)/3,n=(1+a*R(l*c)/R(f-l*c))/3,s=1-(r+n)):(c-=2/3,n=(1-a)/3,s=(1+a*R(l*c)/R(f-l*c))/3,r=1-(n+s)),r=t(i*r*3),n=t(i*n*3),s=t(i*s*3),[255*r,255*n,255*s,e.length>3?e[3]:1]},b.autodetect.push({p:2,test:(...t)=>{if("array"===n(t=o(t,"hsi"))&&3===t.length)return"hsi"}}),d.prototype.hsl=function(){return w(this._rgb)},g.hsl=(...t)=>new d(...t,"hsl"),b.format.hsl=k,b.autodetect.push({p:2,test:(...t)=>{if("array"===n(t=o(t,"hsl"))&&3===t.length)return"hsl"}});const{floor:I}=Math,{min:B,max:Y}=Math;d.prototype.hsv=function(){return((...t)=>{t=o(t,"rgb");let[e,r,n]=t;const s=B(e,r,n),c=Y(e,r,n),a=c-s;let i,l,f;return f=c/255,0===c?(i=Number.NaN,l=0):(l=a/c,e===c&&(i=(r-n)/a),r===c&&(i=2+(n-e)/a),n===c&&(i=4+(e-r)/a),i*=60,i<0&&(i+=360)),[i,l,f]})(this._rgb)},g.hsv=(...t)=>new d(...t,"hsv"),b.format.hsv=(...t)=>{t=o(t,"hsv");let e,r,n,[s,c,a]=t;if(a*=255,0===c)e=r=n=a;else{360===s&&(s=0),s>360&&(s-=360),s<0&&(s+=360),s/=60;const t=I(s),o=s-t,i=a*(1-c),l=a*(1-c*o),f=a*(1-c*(1-o));switch(t){case 0:[e,r,n]=[a,f,i];break;case 1:[e,r,n]=[l,a,i];break;case 2:[e,r,n]=[i,a,f];break;case 3:[e,r,n]=[i,l,a];break;case 4:[e,r,n]=[f,i,a];break;case 5:[e,r,n]=[a,i,l]}}return[e,r,n,t.length>3?t[3]:1]},b.autodetect.push({p:2,test:(...t)=>{if("array"===n(t=o(t,"hsv"))&&3===t.length)return"hsv"}});var U=18,V=.95047,T=1,X=1.08883,H=.137931034,Z=.206896552,J=.12841855,K=.008856452;const{pow:Q}=Math,W=(...t)=>{t=o(t,"lab");const[e,r,n]=t;let s,c,a,i,l,f;return c=(e+16)/116,s=isNaN(r)?c:c+r/500,a=isNaN(n)?c:c-n/200,c=T*et(c),s=V*et(s),a=X*et(a),i=tt(3.2404542*s-1.5371385*c-.4985314*a),l=tt(-.969266*s+1.8760108*c+.041556*a),f=tt(.0556434*s-.2040259*c+1.0572252*a),[i,l,f,t.length>3?t[3]:1]},tt=t=>255*(t<=.00304?12.92*t:1.055*Q(t,1/2.4)-.055),et=t=>t>Z?t*t*t:J*(t-H),{pow:rt}=Math,nt=(...t)=>{const[e,r,n]=o(t,"rgb"),[s,c,a]=ct(e,r,n),i=116*c-16;return[i<0?0:i,500*(s-c),200*(c-a)]},ot=t=>(t/=255)<=.04045?t/12.92:rt((t+.055)/1.055,2.4),st=t=>t>K?rt(t,1/3):t/J+H,ct=(t,e,r)=>{t=ot(t),e=ot(e),r=ot(r);return[st((.4124564*t+.3575761*e+.1804375*r)/V),st((.2126729*t+.7151522*e+.072175*r)/T),st((.0193339*t+.119192*e+.9503041*r)/X)]};d.prototype.lab=function(){return nt(this._rgb)},g.lab=(...t)=>new d(...t,"lab"),b.format.lab=W,b.autodetect.push({p:2,test:(...t)=>{if("array"===n(t=o(t,"lab"))&&3===t.length)return"lab"}});const{sin:at,cos:it}=Math,lt=(...t)=>{let[e,r,n]=o(t,"lch");return isNaN(n)&&(n=0),n*=h,[e,it(n)*r,at(n)*r]},ft=(...t)=>{t=o(t,"lch");const[e,r,n]=t,[s,c,a]=lt(e,r,n),[i,l,f]=W(s,c,a);return[i,l,f,t.length>3?t[3]:1]},{sqrt:ht,atan2:ut,round:bt}=Math,dt=(...t)=>{const[e,r,n]=o(t,"lab"),s=ht(r*r+n*n);let c=(ut(n,r)*u+360)%360;return 0===bt(1e4*s)&&(c=Number.NaN),[e,s,c]},gt=(...t)=>{const[e,r,n]=o(t,"rgb"),[s,c,a]=nt(e,r,n);return dt(s,c,a)};d.prototype.lch=function(){return gt(this._rgb)},d.prototype.hcl=function(){return gt(this._rgb).reverse()},g.lch=(...t)=>new d(...t,"lch"),g.hcl=(...t)=>new d(...t,"hcl"),b.format.lch=ft,b.format.hcl=(...t)=>{const e=o(t,"hcl").reverse();return ft(...e)},["lch","hcl"].forEach((t=>b.autodetect.push({p:2,test:(...e)=>{if("array"===n(e=o(e,t))&&3===e.length)return t}})));const mt={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",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",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",maroon2:"#7f0000",maroon3:"#b03060",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",purple2:"#7f007f",purple3:"#a020f0",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"};d.prototype.name=function(){const t=z(this._rgb,"rgb");for(let e of Object.keys(mt))if(mt[e]===t)return e.toLowerCase();return t},b.format.named=t=>{if(t=t.toLowerCase(),mt[t])return j(mt[t]);throw new Error("unknown color name: "+t)},b.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===n(t)&&mt[t.toLowerCase()])return"named"}});d.prototype.num=function(){return((...t)=>{const[e,r,n]=o(t,"rgb");return(e<<16)+(r<<8)+n})(this._rgb)},g.num=(...t)=>new d(...t,"num"),b.format.num=t=>{if("number"==n(t)&&t>=0&&t<=16777215){return[t>>16,t>>8&255,255&t,1]}throw new Error("unknown num color: "+t)},b.autodetect.push({p:5,test:(...t)=>{if(1===t.length&&"number"===n(t[0])&&t[0]>=0&&t[0]<=16777215)return"num"}});const{round:pt}=Math;d.prototype.rgb=function(t=!0){return!1===t?this._rgb.slice(0,3):this._rgb.slice(0,3).map(pt)},d.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map(((e,r)=>r<3?!1===t?e:pt(e):e))},g.rgb=(...t)=>new d(...t,"rgb"),b.format.rgb=(...t)=>{const e=o(t,"rgba");return void 0===e[3]&&(e[3]=1),e},b.autodetect.push({p:3,test:(...t)=>{if("array"===n(t=o(t,"rgba"))&&(3===t.length||4===t.length&&"number"==n(t[3])&&t[3]>=0&&t[3]<=1))return"rgb"}});const{log:wt}=Math,yt=t=>{const e=t/100;let r,n,o;return e<66?(r=255,n=e<6?0:-155.25485562709179-.44596950469579133*(n=e-2)+104.49216199393888*wt(n),o=e<20?0:.8274096064007395*(o=e-10)-254.76935184120902+115.67994401066147*wt(o)):(r=351.97690566805693+.114206453784165*(r=e-55)-40.25366309332127*wt(r),n=325.4494125711974+.07943456536662342*(n=e-50)-28.0852963507957*wt(n),o=255),[r,n,o,1]},{round:xt}=Math;d.prototype.temp=d.prototype.kelvin=d.prototype.temperature=function(){return((...t)=>{const e=o(t,"rgb"),r=e[0],n=e[2];let s,c=1e3,a=4e4;for(;a-c>.4;){s=.5*(a+c);const t=yt(s);t[2]/t[0]>=n/r?a=s:c=s}return xt(s)})(this._rgb)},g.temp=g.kelvin=g.temperature=(...t)=>new d(...t,"temp"),b.format.temp=b.format.kelvin=b.format.temperature=yt;const{pow:Nt,sign:kt}=Math,vt=(...t)=>{t=o(t,"lab");const[e,r,n]=t,s=Nt(e+.3963377774*r+.2158037573*n,3),c=Nt(e-.1055613458*r-.0638541728*n,3),a=Nt(e-.0894841775*r-1.291485548*n,3);return[255*Mt(4.0767416621*s-3.3077115913*c+.2309699292*a),255*Mt(-1.2684380046*s+2.6097574011*c-.3413193965*a),255*Mt(-.0041960863*s-.7034186147*c+1.707614701*a),t.length>3?t[3]:1]};function Mt(t){const e=Math.abs(t);return e>.0031308?(kt(t)||1)*(1.055*Nt(e,1/2.4)-.055):12.92*t}const{cbrt:$t,pow:St,sign:Ct}=Math,At=(...t)=>{const[e,r,n]=o(t,"rgb"),[s,c,a]=[Ft(e/255),Ft(r/255),Ft(n/255)],i=$t(.4122214708*s+.5363325363*c+.0514459929*a),l=$t(.2119034982*s+.6806995451*c+.1073969566*a),f=$t(.0883024619*s+.2817188376*c+.6299787005*a);return[.2104542553*i+.793617785*l-.0040720468*f,1.9779984951*i-2.428592205*l+.4505937099*f,.0259040371*i+.7827717662*l-.808675766*f]};function Ft(t){const e=Math.abs(t);return e<.04045?t/12.92:(Ct(t)||1)*St((e+.055)/1.055,2.4)}d.prototype.oklab=function(){return At(this._rgb)},g.oklab=(...t)=>new d(...t,"oklab"),b.format.oklab=vt,b.autodetect.push({p:3,test:(...t)=>{if("array"===n(t=o(t,"oklab"))&&3===t.length)return"oklab"}});d.prototype.oklch=function(){return((...t)=>{const[e,r,n]=o(t,"rgb"),[s,c,a]=At(e,r,n);return dt(s,c,a)})(this._rgb)},g.oklch=(...t)=>new d(...t,"oklch"),b.format.oklch=(...t)=>{t=o(t,"lch");const[e,r,n]=t,[s,c,a]=lt(e,r,n),[i,l,f]=vt(s,c,a);return[i,l,f,t.length>3?t[3]:1]},b.autodetect.push({p:3,test:(...t)=>{if("array"===n(t=o(t,"oklch"))&&3===t.length)return"oklch"}}),d.prototype.alpha=function(t,e=!1){return void 0!==t&&"number"===n(t)?e?(this._rgb[3]=t,this):new d([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]},d.prototype.clipped=function(){return this._rgb._clipped||!1},d.prototype.darken=function(t=1){const e=this.lab();return e[0]-=U*t,new d(e,"lab").alpha(this.alpha(),!0)},d.prototype.brighten=function(t=1){return this.darken(-t)},d.prototype.darker=d.prototype.darken,d.prototype.brighter=d.prototype.brighten,d.prototype.get=function(t){const[e,r]=t.split("."),n=this[e]();if(r){const t=e.indexOf(r)-("ok"===e.substr(0,2)?2:0);if(t>-1)return n[t];throw new Error(`unknown channel ${r} in mode ${e}`)}return n};const{pow:Ot}=Math;d.prototype.luminance=function(t,e="rgb"){if(void 0!==t&&"number"===n(t)){if(0===t)return new d([0,0,0,this._rgb[3]],"rgb");if(1===t)return new d([255,255,255,this._rgb[3]],"rgb");let r=this.luminance(),n=20;const o=(r,s)=>{const c=r.interpolate(s,.5,e),a=c.luminance();return Math.abs(t-a)<1e-7||!n--?c:a>t?o(r,c):o(c,s)},s=(r>t?o(new d([0,0,0]),this):o(this,new d([255,255,255]))).rgb();return new d([...s,this._rgb[3]])}return _t(...this._rgb.slice(0,3))};const _t=(t,e,r)=>.2126*(t=Lt(t))+.7152*(e=Lt(e))+.0722*(r=Lt(r)),Lt=t=>(t/=255)<=.03928?t/12.92:Ot((t+.055)/1.055,2.4);var Et={},jt=(t,e,r=.5,...o)=>{let s=o[0]||"lrgb";if(Et[s]||o.length||(s=Object.keys(Et)[0]),!Et[s])throw new Error(`interpolation mode ${s} is not defined`);return"object"!==n(t)&&(t=new d(t)),"object"!==n(e)&&(e=new d(e)),Et[s](t,e,r).alpha(t.alpha()+r*(e.alpha()-t.alpha()))};d.prototype.mix=d.prototype.interpolate=function(t,e=.5,...r){return jt(this,t,e,...r)},d.prototype.premultiply=function(t=!1){const e=this._rgb,r=e[3];return t?(this._rgb=[e[0]*r,e[1]*r,e[2]*r,r],this):new d([e[0]*r,e[1]*r,e[2]*r,r],"rgb")},d.prototype.saturate=function(t=1){const e=this.lch();return e[1]+=U*t,e[1]<0&&(e[1]=0),new d(e,"lch").alpha(this.alpha(),!0)},d.prototype.desaturate=function(t=1){return this.saturate(-t)},d.prototype.set=function(t,e,r=!1){const[o,s]=t.split("."),c=this[o]();if(s){const t=o.indexOf(s)-("ok"===o.substr(0,2)?2:0);if(t>-1){if("string"==n(e))switch(e.charAt(0)){case"+":case"-":c[t]+=+e;break;case"*":c[t]*=+e.substr(1);break;case"/":c[t]/=+e.substr(1);break;default:c[t]=+e}else{if("number"!==n(e))throw new Error("unsupported value for Color.set");c[t]=e}const s=new d(c,o);return r?(this._rgb=s._rgb,this):s}throw new Error(`unknown channel ${s} in mode ${o}`)}return c},d.prototype.tint=function(t=.5,...e){return jt(this,"white",t,...e)},d.prototype.shade=function(t=.5,...e){return jt(this,"black",t,...e)};Et.rgb=(t,e,r)=>{const n=t._rgb,o=e._rgb;return new d(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"rgb")};const{sqrt:Pt,pow:zt}=Math;Et.lrgb=(t,e,r)=>{const[n,o,s]=t._rgb,[c,a,i]=e._rgb;return new d(Pt(zt(n,2)*(1-r)+zt(c,2)*r),Pt(zt(o,2)*(1-r)+zt(a,2)*r),Pt(zt(s,2)*(1-r)+zt(i,2)*r),"rgb")};Et.lab=(t,e,r)=>{const n=t.lab(),o=e.lab();return new d(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"lab")};var Rt=(t,e,r,n)=>{let o,s,c,a,i,l,f,h,u,b,g,m;return"hsl"===n?(o=t.hsl(),s=e.hsl()):"hsv"===n?(o=t.hsv(),s=e.hsv()):"hcg"===n?(o=t.hcg(),s=e.hcg()):"hsi"===n?(o=t.hsi(),s=e.hsi()):"lch"===n||"hcl"===n?(n="hcl",o=t.hcl(),s=e.hcl()):"oklch"===n&&(o=t.oklch().reverse(),s=e.oklch().reverse()),"h"!==n.substr(0,1)&&"oklch"!==n||([c,i,f]=o,[a,l,h]=s),isNaN(c)||isNaN(a)?isNaN(c)?isNaN(a)?b=Number.NaN:(b=a,1!=f&&0!=f||"hsv"==n||(u=l)):(b=c,1!=h&&0!=h||"hsv"==n||(u=i)):(m=a>c&&a-c>180?a-(c+360):a<c&&c-a>180?a+360-c:a-c,b=c+r*m),void 0===u&&(u=i+r*(l-i)),g=f+r*(h-f),new d("oklch"===n?[g,u,b]:[b,u,g],n)};const Dt=(t,e,r)=>Rt(t,e,r,"lch");Et.lch=Dt,Et.hcl=Dt;Et.num=(t,e,r)=>{const n=t.num(),o=e.num();return new d(n+r*(o-n),"num")};Et.hcg=(t,e,r)=>Rt(t,e,r,"hcg");Et.hsi=(t,e,r)=>Rt(t,e,r,"hsi");Et.hsl=(t,e,r)=>Rt(t,e,r,"hsl");Et.hsv=(t,e,r)=>Rt(t,e,r,"hsv");Et.oklab=(t,e,r)=>{const n=t.oklab(),o=e.oklab();return new d(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"oklab")};Et.oklch=(t,e,r)=>Rt(t,e,r,"oklch");const{pow:qt,sqrt:Gt,PI:It,cos:Bt,sin:Yt,atan2:Ut}=Math;const Vt=(t,r)=>{const n=t.length,o=[0,0,0,0];for(let e=0;e<t.length;e++){const s=t[e],c=r[e]/n,a=s._rgb;o[0]+=qt(a[0],2)*c,o[1]+=qt(a[1],2)*c,o[2]+=qt(a[2],2)*c,o[3]+=a[3]*c}return o[0]=Gt(o[0]),o[1]=Gt(o[1]),o[2]=Gt(o[2]),o[3]>.9999999&&(o[3]=1),new d(e(o))},{pow:Tt}=Math;function Xt(e){let r="rgb",o=g("#ccc"),s=0,c=[0,1],a=[],i=[0,0],l=!1,f=[],h=!1,u=0,b=1,d=!1,m={},p=!0,w=1;const y=function(t){if((t=t||["#fff","#000"])&&"string"===n(t)&&g.brewer&&g.brewer[t.toLowerCase()]&&(t=g.brewer[t.toLowerCase()]),"array"===n(t)){1===t.length&&(t=[t[0],t[0]]),t=t.slice(0);for(let e=0;e<t.length;e++)t[e]=g(t[e]);a.length=0;for(let e=0;e<t.length;e++)a.push(e/(t.length-1))}return v(),f=t};let x=t=>t,N=t=>t;const k=function(e,s){let c,h;if(null==s&&(s=!1),isNaN(e)||null===e)return o;if(s)h=e;else if(l&&l.length>2){h=function(t){if(null!=l){const e=l.length-1;let r=0;for(;r<e&&t>=l[r];)r++;return r-1}return 0}(e)/(l.length-2)}else h=b!==u?(e-u)/(b-u):1;h=N(h),s||(h=x(h)),1!==w&&(h=Tt(h,w)),h=i[0]+h*(1-i[0]-i[1]),h=t(h,0,1);const d=Math.floor(1e4*h);if(p&&m[d])c=m[d];else{if("array"===n(f))for(let t=0;t<a.length;t++){const e=a[t];if(h<=e){c=f[t];break}if(h>=e&&t===a.length-1){c=f[t];break}if(h>e&&h<a[t+1]){h=(h-e)/(a[t+1]-e),c=g.interpolate(f[t],f[t+1],h,r);break}}else"function"===n(f)&&(c=f(h));p&&(m[d]=c)}return c};var v=()=>m={};y(e);const M=function(t){const e=g(k(t));return h&&e[h]?e[h]():e};return M.classes=function(t){if(null!=t){if("array"===n(t))l=t,c=[t[0],t[t.length-1]];else{const e=g.analyze(c);l=0===t?[e.min,e.max]:g.limits(e,"e",t)}return M}return l},M.domain=function(t){if(!arguments.length)return c;u=t[0],b=t[t.length-1],a=[];const e=f.length;if(t.length===e&&u!==b)for(let e of Array.from(t))a.push((e-u)/(b-u));else{for(let t=0;t<e;t++)a.push(t/(e-1));if(t.length>2){const e=t.map(((e,r)=>r/(t.length-1))),r=t.map((t=>(t-u)/(b-u)));r.every(((t,r)=>e[r]===t))||(N=t=>{if(t<=0||t>=1)return t;let n=0;for(;t>=r[n+1];)n++;const o=(t-r[n])/(r[n+1]-r[n]);return e[n]+o*(e[n+1]-e[n])})}}return c=[u,b],M},M.mode=function(t){return arguments.length?(r=t,v(),M):r},M.range=function(t,e){return y(t),M},M.out=function(t){return h=t,M},M.spread=function(t){return arguments.length?(s=t,M):s},M.correctLightness=function(t){return null==t&&(t=!0),d=t,v(),x=d?function(t){const e=k(0,!0).lab()[0],r=k(1,!0).lab()[0],n=e>r;let o=k(t,!0).lab()[0];const s=e+(r-e)*t;let c=o-s,a=0,i=1,l=20;for(;Math.abs(c)>.01&&l-- >0;)n&&(c*=-1),c<0?(a=t,t+=.5*(i-t)):(i=t,t+=.5*(a-t)),o=k(t,!0).lab()[0],c=o-s;return t}:t=>t,M},M.padding=function(t){return null!=t?("number"===n(t)&&(t=[t,t]),i=t,M):i},M.colors=function(t,r){arguments.length<2&&(r="hex");let n=[];if(0===arguments.length)n=f.slice(0);else if(1===t)n=[M(.5)];else if(t>1){const e=c[0],r=c[1]-e;n=function(t,e){let r=[],n=t<e,o=e;for(let e=t;n?e<o:e>o;n?e++:e--)r.push(e);return r}(0,t).map((n=>M(e+n/(t-1)*r)))}else{e=[];let t=[];if(l&&l.length>2)for(let e=1,r=l.length,n=1<=r;n?e<r:e>r;n?e++:e--)t.push(.5*(l[e-1]+l[e]));else t=c;n=t.map((t=>M(t)))}return g[r]&&(n=n.map((t=>t[r]()))),n},M.cache=function(t){return null!=t?(p=t,M):p},M.gamma=function(t){return null!=t?(w=t,M):w},M.nodata=function(t){return null!=t?(o=g(t),M):o},M}const Ht=(t,e,r)=>{if(!Ht[r])throw new Error("unknown blend mode "+r);return Ht[r](t,e)},Zt=t=>(e,r)=>{const n=g(r).rgb(),o=g(e).rgb();return g.rgb(t(n,o))},Jt=t=>(e,r)=>{const n=[];return n[0]=t(e[0],r[0]),n[1]=t(e[1],r[1]),n[2]=t(e[2],r[2]),n};Ht.normal=Zt(Jt((t=>t))),Ht.multiply=Zt(Jt(((t,e)=>t*e/255))),Ht.screen=Zt(Jt(((t,e)=>255*(1-(1-t/255)*(1-e/255))))),Ht.overlay=Zt(Jt(((t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))))),Ht.darken=Zt(Jt(((t,e)=>t>e?e:t))),Ht.lighten=Zt(Jt(((t,e)=>t>e?t:e))),Ht.dodge=Zt(Jt(((t,e)=>255===t||(t=e/255*255/(1-t/255))>255?255:t))),Ht.burn=Zt(Jt(((t,e)=>255*(1-(1-e/255)/(t/255)))));const{pow:Kt,sin:Qt,cos:Wt}=Math;const{floor:te,random:ee}=Math;const{log:re,pow:ne,floor:oe,abs:se}=Math;function ce(t,e=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===n(t)&&(t=Object.values(t)),t.forEach((t=>{e&&"object"===n(t)&&(t=t[e]),null==t||isNaN(t)||(r.values.push(t),r.sum+=t,t<r.min&&(r.min=t),t>r.max&&(r.max=t),r.count+=1)})),r.domain=[r.min,r.max],r.limits=(t,e)=>ae(r,t,e),r}function ae(t,e="equal",r=7){"array"==n(t)&&(t=ce(t));const{min:o,max:s}=t,c=t.values.sort(((t,e)=>t-e));if(1===r)return[o,s];const a=[];if("c"===e.substr(0,1)&&(a.push(o),a.push(s)),"e"===e.substr(0,1)){a.push(o);for(let t=1;t<r;t++)a.push(o+t/r*(s-o));a.push(s)}else if("l"===e.substr(0,1)){if(o<=0)throw new Error("Logarithmic scales are only possible for values > 0");const t=Math.LOG10E*re(o),e=Math.LOG10E*re(s);a.push(o);for(let n=1;n<r;n++)a.push(ne(10,t+n/r*(e-t)));a.push(s)}else if("q"===e.substr(0,1)){a.push(o);for(let t=1;t<r;t++){const e=(c.length-1)*t/r,n=oe(e);if(n===e)a.push(c[n]);else{const t=e-n;a.push(c[n]*(1-t)+c[n+1]*t)}}a.push(s)}else if("k"===e.substr(0,1)){let t;const e=c.length,n=new Array(e),i=new Array(r);let l=!0,f=0,h=null;h=[],h.push(o);for(let t=1;t<r;t++)h.push(o+t/r*(s-o));for(h.push(s);l;){for(let t=0;t<r;t++)i[t]=0;for(let t=0;t<e;t++){const e=c[t];let o,s=Number.MAX_VALUE;for(let c=0;c<r;c++){const r=se(h[c]-e);r<s&&(s=r,o=c),i[o]++,n[t]=o}}const o=new Array(r);for(let t=0;t<r;t++)o[t]=null;for(let r=0;r<e;r++)t=n[r],null===o[t]?o[t]=c[r]:o[t]+=c[r];for(let t=0;t<r;t++)o[t]*=1/i[t];l=!1;for(let t=0;t<r;t++)if(o[t]!==h[t]){l=!0;break}h=o,f++,f>200&&(l=!1)}const u={};for(let t=0;t<r;t++)u[t]=[];for(let r=0;r<e;r++)t=n[r],u[t].push(c[r]);let b=[];for(let t=0;t<r;t++)b.push(u[t][0]),b.push(u[t][u[t].length-1]);b=b.sort(((t,e)=>t-e)),a.push(b[0]);for(let t=1;t<b.length;t+=2){const e=b[t];isNaN(e)||-1!==a.indexOf(e)||a.push(e)}}return a}const{sqrt:ie,pow:le,min:fe,max:he,atan2:ue,abs:be,cos:de,sin:ge,exp:me,PI:pe}=Math;var we={cool:()=>Xt([g.hsl(180,1,.9),g.hsl(250,.7,.4)]),hot:()=>Xt(["#000","#f00","#ff0","#fff"]).mode("rgb")};const ye={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]};for(let t of Object.keys(ye))ye[t.toLowerCase()]=ye[t];function xe(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}Object.assign(g,{average:(t,e="lrgb",r=null)=>{const n=t.length;r||(r=Array.from(new Array(n)).map((()=>1)));const o=n/r.reduce((function(t,e){return t+e}));if(r.forEach(((t,e)=>{r[e]*=o})),t=t.map((t=>new d(t))),"lrgb"===e)return Vt(t,r);const s=t.shift(),c=s.get(e),a=[];let i=0,l=0;for(let t=0;t<c.length;t++)if(c[t]=(c[t]||0)*r[0],a.push(isNaN(c[t])?0:r[0]),"h"===e.charAt(t)&&!isNaN(c[t])){const e=c[t]/180*It;i+=Bt(e)*r[0],l+=Yt(e)*r[0]}let f=s.alpha()*r[0];t.forEach(((t,n)=>{const o=t.get(e);f+=t.alpha()*r[n+1];for(let t=0;t<c.length;t++)if(!isNaN(o[t]))if(a[t]+=r[n+1],"h"===e.charAt(t)){const e=o[t]/180*It;i+=Bt(e)*r[n+1],l+=Yt(e)*r[n+1]}else c[t]+=o[t]*r[n+1]}));for(let t=0;t<c.length;t++)if("h"===e.charAt(t)){let e=Ut(l/a[t],i/a[t])/It*180;for(;e<0;)e+=360;for(;e>=360;)e-=360;c[t]=e}else c[t]=c[t]/a[t];return f/=n,new d(c,e).alpha(f>.99999?1:f,!0)},bezier:t=>{const e=function(t){let e,r,n,o;if(2===(t=t.map((t=>new d(t)))).length)[r,n]=t.map((t=>t.lab())),e=function(t){const e=[0,1,2].map((e=>r[e]+t*(n[e]-r[e])));return new d(e,"lab")};else if(3===t.length)[r,n,o]=t.map((t=>t.lab())),e=function(t){const e=[0,1,2].map((e=>(1-t)*(1-t)*r[e]+2*(1-t)*t*n[e]+t*t*o[e]));return new d(e,"lab")};else if(4===t.length){let s;[r,n,o,s]=t.map((t=>t.lab())),e=function(t){const e=[0,1,2].map((e=>(1-t)*(1-t)*(1-t)*r[e]+3*(1-t)*(1-t)*t*n[e]+3*(1-t)*t*t*o[e]+t*t*t*s[e]));return new d(e,"lab")}}else{if(!(t.length>=5))throw new RangeError("No point in running bezier with only one color.");{let r,n,o;r=t.map((t=>t.lab())),o=t.length-1,n=function(t){let e=[1,1];for(let r=1;r<t;r++){let t=[1];for(let r=1;r<=e.length;r++)t[r]=(e[r]||0)+e[r-1];e=t}return e}(o),e=function(t){const e=1-t,s=[0,1,2].map((s=>r.reduce(((r,c,a)=>r+n[a]*e**(o-a)*t**a*c[s]),0)));return new d(s,"lab")}}}return e}(t);return e.scale=()=>Xt(e),e},blend:Ht,cubehelix:function(t=300,r=-1.5,o=1,s=1,c=[0,1]){let a,i=0;"array"===n(c)?a=c[1]-c[0]:(a=0,c=[c,c]);const f=function(n){const f=l*((t+120)/360+r*n),h=Kt(c[0]+a*n,s),u=(0!==i?o[0]+n*i:o)*h*(1-h)/2,b=Wt(f),d=Qt(f);return g(e([255*(h+u*(-.14861*b+1.78277*d)),255*(h+u*(-.29227*b-.90649*d)),255*(h+u*(1.97294*b)),1]))};return f.start=function(e){return null==e?t:(t=e,f)},f.rotations=function(t){return null==t?r:(r=t,f)},f.gamma=function(t){return null==t?s:(s=t,f)},f.hue=function(t){return null==t?o:("array"===n(o=t)?(i=o[1]-o[0],0===i&&(o=o[1])):i=0,f)},f.lightness=function(t){return null==t?c:("array"===n(t)?(c=t,a=t[1]-t[0]):(c=[t,t],a=0),f)},f.scale=()=>g.scale(f),f.hue(o),f},mix:jt,interpolate:jt,random:()=>{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(te(16*ee()));return new d(t,"hex")},scale:Xt,analyze:ce,contrast:(t,e)=>{t=new d(t),e=new d(e);const r=t.luminance(),n=e.luminance();return r>n?(r+.05)/(n+.05):(n+.05)/(r+.05)},deltaE:function(t,e,r=1,n=1,o=1){var s=function(t){return 360*t/(2*pe)},c=function(t){return 2*pe*t/360};t=new d(t),e=new d(e);const[a,i,l]=Array.from(t.lab()),[f,h,u]=Array.from(e.lab()),b=(a+f)/2,g=(ie(le(i,2)+le(l,2))+ie(le(h,2)+le(u,2)))/2,m=.5*(1-ie(le(g,7)/(le(g,7)+le(25,7)))),p=i*(1+m),w=h*(1+m),y=ie(le(p,2)+le(l,2)),x=ie(le(w,2)+le(u,2)),N=(y+x)/2,k=s(ue(l,p)),v=s(ue(u,w)),M=k>=0?k:k+360,$=v>=0?v:v+360,S=be(M-$)>180?(M+$+360)/2:(M+$)/2,C=1-.17*de(c(S-30))+.24*de(c(2*S))+.32*de(c(3*S+6))-.2*de(c(4*S-63));let A=$-M;A=be(A)<=180?A:$<=M?A+360:A-360,A=2*ie(y*x)*ge(c(A)/2);const F=f-a,O=x-y,_=1+.015*le(b-50,2)/ie(20+le(b-50,2)),L=1+.045*N,E=1+.015*N*C,j=30*me(-le((S-275)/25,2)),P=-(2*ie(le(N,7)/(le(N,7)+le(25,7))))*ge(2*c(j)),z=ie(le(F/(r*_),2)+le(O/(n*L),2)+le(A/(o*E),2)+P*(O/(n*L))*(A/(o*E)));return he(0,fe(100,z))},distance:function(t,e,r="lab"){t=new d(t),e=new d(e);const n=t.get(r),o=e.get(r);let s=0;for(let t in n){const e=(n[t]||0)-(o[t]||0);s+=e*e}return Math.sqrt(s)},limits:ae,valid:(...t)=>{try{return new d(...t),!0}catch(t){return!1}},scales:we,input:b,colors:mt,brewer:ye});var Ne,ke={exports:{}};var ve,Me=(Ne||(Ne=1,ve=ke,function(t){function e(t,r){if(!(t=n(t)))return null;var o,s,c,a=1/0;r||(r=e.DEFAULT_COLORS);for(var i=0;i<r.length;++i)s=r[i].rgb,(o=Math.pow(t.r-s.r,2)+Math.pow(t.g-s.g,2)+Math.pow(t.b-s.b,2))<a&&(a=o,c=r[i]);return c.name?{name:c.name,value:c.source,rgb:c.rgb,distance:Math.sqrt(a)}:c.source}function r(t){return t instanceof Array?t.map((function(t){return o(t)})):Object.keys(t).map((function(e){return o(t[e],e)}))}function n(t){if("object"==typeof t)return t;if(t in e.STANDARD_COLORS)return n(e.STANDARD_COLORS[t]);var r=t.match(/^#?((?:[0-9a-f]{3}){1,2})$/i);if(r)return r=3===(r=r[1]).length?[r.charAt(0)+r.charAt(0),r.charAt(1)+r.charAt(1),r.charAt(2)+r.charAt(2)]:[r.substring(0,2),r.substring(2,4),r.substring(4,6)],{r:parseInt(r[0],16),g:parseInt(r[1],16),b:parseInt(r[2],16)};var o=t.match(/^rgb\(\s*(\d{1,3}%?),\s*(\d{1,3}%?),\s*(\d{1,3}%?)\s*\)$/i);if(o)return{r:s(o[1]),g:s(o[2]),b:s(o[3])};throw Error('"'+t+'" is not a valid color')}function o(t,e){var r={};if(e&&(r.name=e),"string"==typeof t)r.source=t,r.rgb=n(t);else if("object"==typeof t){if(t.source)return o(t.source,t.name);r.rgb=t,r.source=function(t){return"#"+c(t.r.toString(16))+c(t.g.toString(16))+c(t.b.toString(16))}(t)}return r}function s(t){return"%"===t.charAt(t.length-1)?Math.round(255*parseInt(t,10)/100):Number(t)}function c(t){return 1===t.length&&(t="0"+t),t}e.from=function t(n){var o=r(n),s=e,c=function(t){return s(t,o)};return c.from=t,c.or=function(t){var n=o.concat(r(t));return e.from(n)},c},e.STANDARD_COLORS={aqua:"#0ff",black:"#000",blue:"#00f",fuchsia:"#f0f",gray:"#808080",green:"#008000",lime:"#0f0",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",purple:"#800080",red:"#f00",silver:"#c0c0c0",teal:"#008080",white:"#fff",yellow:"#ff0"},e.DEFAULT_COLORS=r(["#f00","#f80","#ff0","#0f0","#00f","#008","#808"]),e.VERSION="0.4.4",ve&&ve.exports?ve.exports=e:t.nearestColor=e}(ke.exports)),ke.exports),$e=xe(Me);class Se{h;s;l;constructor([t,e,r]){this.h=Number(isNaN(t)?"0":t.toFixed(0)),this.s=Number((100*e).toFixed(0)),this.l=Number((100*r).toFixed(0))}toString(){return`hsl(${this.h}, ${this.s}%, ${this.l}%)`}}class Ce{h;s;l;constructor([t,e,r]){this.h=Number(isNaN(t)?"0":t.toFixed(0)),this.s=Number(e.toFixed(2)),this.l=Number(r.toFixed(2))}toString(){return`${this.h}, ${this.s}, ${this.l}`}}class Ae{x;y;z;constructor({x:t,y:e,z:r}){this.x=t,this.y=e,this.z=r}toString(){return`${this.x}, ${this.y}, ${this.z}`}}class Fe{c;m;y;k;constructor({c:t,m:e,y:r,k:n}){this.c=t,this.m=e,this.y=r,this.k=n}toString(){return`${this.c}, ${this.m}, ${this.y}, ${this.k}`}}class Oe{r;g;b;constructor({r:t,g:e,b:r}){this.r=t,this.g=e,this.b=r}toString(){return`${this.r}, ${this.g}, ${this.b}`}}class _e{h;w;b;constructor({h:t,w:e,b:r}){this.h=t,this.w=e,this.b=r}toString(){return`${this.h}, ${this.w}, ${this.b}`}}class Le{l;a;b;constructor([t,e,r]){this.l=Number(t.toFixed(2)),this.a=Number(e.toFixed(2)),this.b=Number(r.toFixed(2))}toString(){return`${this.l}, ${this.a}, ${this.b}`}}class Ee{l;a;b;constructor([t,e,r]){this.l=Number(t.toFixed(2)),this.a=Number(e.toFixed(2)),this.b=Number(r.toFixed(2))}toString(){return`${this.l}, ${this.a}, ${this.b}`}}class je{h;s;v;constructor([t,e,r]){this.h=Number(isNaN(t)?"0":t.toFixed(2)),this.s=Number(e.toFixed(2)),this.v=Number(r.toFixed(2))}toString(){return`${this.h}, ${this.s}, ${this.v}`}}class Pe{l;c;h;constructor([t,e,r]){this.l=Number(t.toFixed(2)),this.c=Number(e.toFixed(2)),this.h=Number(isNaN(r)?"0":r.toFixed(2))}toString(){return`${this.l}, ${this.c}, ${this.h}`}}class ze{l;c;h;constructor([t,e,r]){this.l=Number(t.toFixed(2)),this.c=Number(e.toFixed(2)),this.h=Number(isNaN(r)?"0":r.toFixed(2))}toString(){return`${this.l}, ${this.c}, ${this.h}`}}class Re{h;s;i;constructor([t,e,r]){this.h=Number(isNaN(t)?"0":t.toFixed(2)),this.s=Number(e.toFixed(2)),this.i=Number(r.toFixed(2))}toString(){return`${this.h}, ${this.s}, ${this.i}`}}const De=(t,e)=>{if("hsl"===e)return new Ce(g(t).hsl());const r=g(t).rgb();return new Oe({r:Number((r[0]/255).toFixed(2)),g:Number((r[1]/255).toFixed(2)),b:Number((r[2]/255).toFixed(2))})},qe=t=>(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4),Ge=t=>t>.008856452?Math.pow(t,1/3):t/.12841855+.137931034;class Ie{color;name;hex;rgb;hsl;hwb;hsv;lab;xyz;lch;oklch;hsi;oklab;cmyk;rgbFloat;hslFloat;constructor(t,e){this.color=t,this.name=e,this.hex=(t=>g(t).hex())(this.color),this.cmyk=(t=>{let[e,r,n]=g(t).rgb();e/=255,n/=255,r/=255;const o=+(1-Math.max(e,n,r)),s=+((1-n-o)/(1-o)||0),c=+((1-r-o)/(1-o)||0);return new Fe({c:Number((100*+((1-e-o)/(1-o)||0)).toFixed()),m:Number((100*s).toFixed()),y:Number((100*c).toFixed()),k:Number((100*o).toFixed())})})(this.color),this.xyz=(t=>{let[e,r,n]=g(t).rgb();e=qe(e),n=qe(n),r=qe(r);const o=Ge((.4124564*e+.3575761*n+.1804375*r)/.95047),s=Ge((.2126729*e+.7151522*n+.072175*r)/1),c=Ge((.0193339*e+.119192*n+.9503041*r)/1.08883);return new Ae({x:Number(o.toFixed(2)),y:Number(s.toFixed(2)),z:Number(c.toFixed(2))})})(this.color),this.hsl=(t=>new Se(g(t).hsl()))(this.color),this.hwb=(t=>{let[e,r,n]=g(t).rgb();e/=255,n/=255,r/=255;const o=Math.min(e,n,r),s=Math.max(e,n,r),c=1-s;return s===o?{h:0,w:o,b:c}:new _e({h:Number((((e===o?3:n===o?5:1)-(e===o?n-r:n===o?r-e:e-n)/(s-o))/6).toFixed(2)),w:Number(o.toFixed(2)),b:Number(c.toFixed(2))})})(this.color),this.lab=(t=>new Le(g(t).lab()))(this.color),this.oklab=(t=>new Ee(g(t).oklab()))(this.color),this.hsv=(t=>new je(g(t).hsv()))(this.color),this.lch=(t=>new Pe(g(t).lch()))(this.color),this.oklch=(t=>new ze(g(t).oklch()))(this.color),this.hsi=(t=>new Re(g(t).hsi()))(this.color),this.rgb=(t=>{const[e,r,n]=g(t).rgb();return`rgb(${e}, ${r}, ${n})`})(this.color),this.rgbFloat=De(this.color),this.hslFloat=De(this.color,"hsl")}toObject(t){return((t,e)=>{if("hsl"===e){const[e,r,n]=g(t).hsl();return{h:Number(isNaN(e)?0:e.toFixed(0)),s:Number((100*r).toFixed()),l:Number((100*n).toFixed())}}const r=g(t).rgb();return{r:r[0],g:r[1],b:r[2]}})(this.color,t)}toFloat(t){return De(this.color,t)}}const Be={diverging:!1,bezier:!1,randomOffset:!1,correctLightness:!1,noDuplicates:!0,colorScaleMode:"lch",reverseDirection:!1},Ye=(t,e,r,n,o={})=>{const{noDuplicates:s=!0}=o,c=[g(t).hex()];let[a,i,l]=g(t).hsl();isNaN(a)&&(a=0),i=Number((100*i).toFixed()),l=Number((100*l).toFixed());for(let t=e;t<=r;t+=n){const e=Number(((a+t)%360).toFixed());c.push(g(`hsl(${e}, ${i}%, ${l}%)`).hex())}let f=c;return s&&(f=[...new Set(c)]),f},Ue=(t,e)=>Math.floor(Math.random()*(t-e+1))+e,Ve=(t,e={})=>{const{numberOfColors:r=8,bezier:n=!1,randomOffset:o=!1,colorScaleMode:s,noDuplicates:c=!0,reverseDirection:a=!1,correctLightness:i=!0}=e;let[l,f,h]=g(t).hsl();isNaN(l)&&(l=0),l=Number(l.toFixed(0)),f=Number((100*f).toFixed(0)),h=Number((100*h).toFixed(0));const u=[];if(u.push(g(`hsl(${l}, ${f}%, ${h<0?0:h}%)`).hex()),o)for(let t=1;t<r;t++)a?(h+=Ue(0,10),l+=Ue(-5,5)):(h-=Ue(0,10),l-=Ue(-5,5)),l>359&&(l=359),l<0&&(l=0),u.push(g(`hsl(${l}, ${f}%, ${h<0?0:h}%)`).hex());else for(let t=1;t<r;t++)a?(h+=5,l+=5):(h-=5,l-=5),l>359&&(l=359),l<0&&(l=0),u.push(g(`hsl(${l}, ${f}%, ${h<0?0:h}%)`).hex());let b=u.map((t=>g(t).hex()));return c&&(b=[...new Set(b)]),n&&(b=b.length>1?g.bezier(b).scale().mode(s).correctLightness(i).colors(r):g.scale(b).mode(s).correctLightness(i).colors(r)),b},Te=(t,e={})=>{if(!t)throw Error("MoebiusPalettes: missing input `color`");const{diverging:r=!1,numberOfColors:n=7}=e,[o,s,c]=g(t).lab(),a=100*(.95-1/n),i=a/(n-1),l=.5*(100-a),f=((t,e,r)=>{const n=[];for(let o=t;o<e;o+=r)n.push(o);return n})(l,l+n*i,i);let h=0;if(!r){h=9999;for(let t=0;t<n;t++){const e=o-f[t];Math.abs(e)<Math.abs(h)&&(h=e)}}return f.map((t=>g.lab([t+h,s,c]).hex()))},Xe=(t,e={})=>{const{numberOfColors:r,reverseDirection:n=!1,diverging:o=!1,divergentColor:s}=e;if(o){const e=Te(g(t).hex(),{numberOfColors:Math.ceil(r/2)}).concat(s);return n&&e.reverse(),e}return Te(t,{numberOfColors:r})},He=(t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e;try{return g.bezier(t).scale().mode(n).correctLightness(o).colors(r)}catch{return[]}},Ze=(t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e;try{return g.scale(t).mode(n).correctLightness(o).colors(r)}catch{return[]}};class Je{interpolate;luminanceShift;monochromatic;complement;split;triadic;tetradic;pentadic;hexadic;analogous;constructor(t,e){Object.keys(t).forEach((r=>{this[r]=t[r].map((t=>Ve(t,{...e,numberOfColors:9})))}))}toArray(){return[...this.interpolate,...this.luminanceShift,...this.monochromatic,...this.complement,...this.split,...this.triadic,...this.tetradic,...this.pentadic,...this.hexadic,...this.analogous].flat()}}class Ke{interpolate;luminanceShift;monochromatic;complement;split;triadic;tetradic;pentadic;hexadic;analogous;constructor(t){Object.keys(t).forEach((e=>{this[e]=t[e]}))}toArray(){return[...this.interpolate,...this.luminanceShift,...this.monochromatic,...this.complement,...this.split,...this.triadic,...this.tetradic,...this.pentadic,...this.hexadic,...this.analogous].flat()}}class Qe{darkMode;constructor(t){Object.keys(t).forEach((e=>{this[e]=t[e]}))}}class We{baseColor;secondaryColor;colors={};themes={};defaultOptions={...Be,divergentColor:"#f5f5f5"};options;all=[];accents;constructor(t){this.options={...this.defaultOptions,...t},this.baseColor=this.options.baseColor,this.secondaryColor=this.options.secondaryColor,this.themes=new Qe({darkMode:this.darkMode(this.baseColor.hex,this.secondaryColor.hex,{...this.options,reverseDirection:!this.options.reverseDirection})}),this.colors=new Ke({interpolate:this.interpolate(this.baseColor.hex,this.secondaryColor.hex,this.options),luminanceShift:this.luminanceShift([this.baseColor.hex],[this.secondaryColor.hex],this.options),monochromatic:this.monochromatic(this.baseColor.hex),complement:this.complement(this.baseColor.hex),split:this.split(this.baseColor.hex),triadic:this.triadic(this.baseColor.hex),tetradic:this.tetradic(this.baseColor.hex),pentadic:this.pentadic(this.baseColor.hex),hexadic:this.hexadic(this.baseColor.hex),analogous:this.analogous(this.baseColor.hex)}),this.accents=new Je(this.colors,this.options),this.all=[...new Set([...this.accents.toArray(),...this.colors.toArray()].flat())]}complement(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,180,180,1);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}darkMode(t,e,r={}){return((t,e,r={})=>{const{bezier:n=!1,colorScaleMode:o,noDuplicates:s=!0}=r,c=Ve(t,r),a=Ve(e,r),i=a.map(((t,e)=>g.mix(c[e],t,.99-.02*e,o).hex())),l={primary:c,surface:a,mixed:i};return s&&(l.primary=[...new Set(c)],l.surface=[...new Set(a)],l.mixed=[...new Set(i)]),n&&(l.primary.length>1&&l.surface.length>1&&l.mixed.length>1?(l.primary=He(l.primary,r),l.surface=He(l.surface,r),l.mixed=He(l.mixed,r)):(l.primary=Ze(l.primary,r),l.surface=Ze(l.surface,r),l.mixed=Ze(l.mixed,r))),l})(t,e,{...this.options,...r})}split(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,150,210,60);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}triadic(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,120,240,120);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}tetradic(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,90,270,90);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}pentadic(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,144,360,72);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}hexadic(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,120,360,60);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}analogous(t,e={}){return((t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e,s=Ye(t,30,90,30);return g.scale(s).mode(n).correctLightness(o).colors(r)})(t,{...this.options,...e})}interpolate(t,e,r={}){return((t,e,r={})=>{const{numberOfColors:n=8,colorScaleMode:o,bezier:s=!1,correctLightness:c=!0}=r;let a=g.scale([t,e]).mode(o).correctLightness(c).colors(n);return s&&(a=g.bezier([t,e]).scale().mode(o).correctLightness(c).colors(n)),a})(t,e,{...this.options,...r})}luminanceShift(t,e=[],r={}){return((t,e=[],r={})=>{const{numberOfColors:n=8,diverging:o=!1,colorScaleMode:s,bezier:c=!1,divergentColor:a="#f5f5f5",correctLightness:i=!0}=r;e=0===e.length?[Ye(t[0],90,270,90)[3]]:e;const l=n%2==0,f=o?Math.ceil(n/2)+(l?1:0):n,h=o?Math.ceil(n/2)+(l?1:0):0,u=1!==t.length?t:Xe(t[0],{numberOfColors:f,divergentColor:a});let b=[];o&&(b=1!==e.length?e:Xe(e[0],{numberOfColors:h,divergentColor:a,diverging:o}));let d=t.length?g.scale(u).mode(s).correctLightness(i).colors(f):[];c&&(d=t.length?g.bezier(u).scale().mode(s).correctLightness(i).colors(f):[]);let m=o&&e.length?g.scale(b).mode(s).correctLightness(i).colors(h):[];c&&(m=o&&e.length?g.bezier(b).scale().mode(s).correctLightness(i).colors(h):[]);let p=d;return p=(o?d.slice(0,d.length-(f%2!=0?0:1)):d).concat(m.reverse()),p})(t,e,{...this.options,...r})}monochromatic(t,e={}){const r={...this.options,...e};return Ve(t,r)}harmonize(t,e,r,n,o={}){const s={...this.options,...o};return Ye(t,e,r,n,s)}}class tr{xlmns="http://www.w3.org/2000/svg";getColorPiePaths(t,e=256){const r=document.createDocumentFragment(),n=document.createElementNS(this.xlmns,"defs"),o=document.createElementNS(this.xlmns,"mask"),s=document.createElementNS(this.xlmns,"rect"),c=document.createElementNS(this.xlmns,"g"),a=360/t.length,i="_"+Math.random().toString(36).substring(2,11);o.setAttributeNS(null,"id",i),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"fill","white"),c.setAttributeNS(null,"mask",`url(#${i})`),o.appendChild(s);const l=360/t.length;var f,h;for(let e=(f=l/2,4===(h=t.length)||8===h||12===h?0:3===h||9===h?30:7===h?12:5===h?55:f);e<360;e+=l){const t=document.createElementNS(this.xlmns,"line");t.setAttributeNS(null,"x1","128"),t.setAttributeNS(null,"y1","128"),t.setAttributeNS(null,"x2","0"),t.setAttributeNS(null,"y2","128"),t.setAttributeNS(null,"stroke","black"),t.setAttributeNS(null,"stroke-width","6"),t.setAttributeNS(null,"transform",`rotate(${e} 128 128)`),o.appendChild(t)}let u=0;return t.forEach((t=>{const r=e/2/t.length;return u+=a,t.forEach(((t,n)=>{const o=e/2-n*r,s=document.createElementNS(this.xlmns,"path");s.setAttributeNS(null,"fill",t),s.setAttributeNS(null,"data-color-hex",t),s.setAttributeNS(null,"data-r",`${o}`),s.setAttributeNS(null,"d",((t,e,r,n=256)=>{const o=n/2,s=o;let c=t+e;if(t>c){const e=t;t=c,c=e}return`M ${o+r*Math.cos((90-t)*(Math.PI/180))} ${s+r*Math.sin((90-t)*(Math.PI/180))} A ${r} ${r} 0 ${c-t<=180?"0":"1"} 0 ${o+r*Math.cos((90-c)*(Math.PI/180))} ${s+r*Math.sin((90-c)*(Math.PI/180))} L ${o} ${s} Z`})(u,a,o)),c.appendChild(s)}))})),n.appendChild(o),r.appendChild(n),r.appendChild(c),r}}async function er(){const t=await(async()=>{const t=await fetch("https://color-names.herokuapp.com/v1/"),e=(await t.json()).colors,r={};return e.forEach((t=>{r[t.name]=t.hex})),$e.from(r)})();return{MoebiusColor:class extends Ie{constructor(e){super(g(e).hex(),(t=>"string"==typeof t)(t(e))?t(e):t(e).name)}},MoebiusPalettes:We,MoebiusSVGHelper:tr}}export{er as default};
|
|
84
54
|
//# sourceMappingURL=moebius.js.map
|