@phun-ky/moebius 1.0.6 → 2.0.1
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 +38 -54
- package/dist/moebius.js.map +1 -1
- package/package.json +45 -47
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.1
|
|
6
6
|
* @license
|
|
7
7
|
* Copyright (c) 2023 Alexander Vassbotn Røyne-Helgesen
|
|
8
8
|
*
|
|
@@ -24,61 +24,45 @@
|
|
|
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
|
-
|
|
56
|
-
*
|
|
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.
|
|
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
|
+
const{min:t,max:e}=Math;var r=(r,n=0,o=1)=>t(e(n,r),o),n=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let 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};const o={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])o[`[object ${t}]`]=t.toLowerCase();function s(t){return o[Object.prototype.toString.call(t)]||"object"}var a=(t,e=null)=>t.length>=3?Array.prototype.slice.call(t):"object"==s(t[0])&&e?e.split("").filter((e=>void 0!==t[0][e])).map((e=>t[0][e])):t[0].slice(0),c=t=>{if(t.length<2)return null;const e=t.length-1;return"string"==s(t[e])?t[e].toLowerCase():null};const{PI:i,min:l,max:h}=Math,f=t=>Math.round(100*t)/100,u=t=>Math.round(100*t)/100,b=2*i,d=i/3,m=i/180,g=180/i;function p(t){return[...t.slice(0,3).reverse(),...t.slice(3)]}var w={format:{},autodetect:[]};class y{constructor(...t){const e=this;if("object"===s(t[0])&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];let r=c(t),o=!1;if(!r){o=!0,w.sorted||(w.autodetect=w.autodetect.sort(((t,e)=>e.p-t.p)),w.sorted=!0);for(let e of w.autodetect)if(r=e.test(...t),r)break}if(!w.format[r])throw new Error("unknown format: "+t);{const s=w.format[r].apply(null,o?t:t.slice(0,-1));e._rgb=n(s)}3===e._rgb.length&&e._rgb.push(1)}toString(){return"function"==s(this.hex)?this.hex():`[${this._rgb.join(",")}]`}}const x=(...t)=>new y(...t);x.version="3.1.2";const k={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"},N=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,M=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,v=t=>{if(t.match(N)){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(M)){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:$}=Math,S=(...t)=>{let[e,r,n,o]=a(t,"rgba"),s=c(t)||"auto";void 0===o&&(o=1),"auto"===s&&(s=o<1?"rgba":"rgb"),e=$(e),r=$(r),n=$(n);let i="000000"+(e<<16|r<<8|n).toString(16);i=i.substr(i.length-6);let l="0"+$(255*o).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return`#${i}${l}`;case"argb":return`#${l}${i}`;default:return`#${i}`}};y.prototype.name=function(){const t=S(this._rgb,"rgb");for(let e of Object.keys(k))if(k[e]===t)return e.toLowerCase();return t},w.format.named=t=>{if(t=t.toLowerCase(),k[t])return v(k[t]);throw new Error("unknown color name: "+t)},w.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===s(t)&&k[t.toLowerCase()])return"named"}}),y.prototype.alpha=function(t,e=!1){return void 0!==t&&"number"===s(t)?e?(this._rgb[3]=t,this):new y([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]},y.prototype.clipped=function(){return this._rgb._clipped||!1};const A={Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},C=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function O(t){const e=C.get(String(t).toLowerCase());if(!e)throw new Error("unknown Lab illuminant "+t);A.labWhitePoint=t,A.Xn=e[0],A.Zn=e[1]}function F(){return A.labWhitePoint}const L=(...t)=>{t=a(t,"lab");const[e,r,n]=t,[o,s,c]=_(e,r,n),[i,l,h]=j(o,s,c);return[i,l,h,t.length>3?t[3]:1]},_=(t,e,r)=>{const{kE:n,kK:o,kKE:s,Xn:a,Yn:c,Zn:i}=A,l=(t+16)/116,h=.002*e+l,f=l-.005*r,u=h*h*h,b=f*f*f;return[(u>n?u:(116*h-16)/o)*a,(t>s?Math.pow((t+16)/116,3):t/o)*c,(b>n?b:(116*f-16)/o)*i]},E=t=>{const e=Math.sign(t);return((t=Math.abs(t))<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)*e},j=(t,e,r)=>{const{MtxAdaptMa:n,MtxAdaptMaI:o,MtxXYZ2RGB:s,RefWhiteRGB:a,Xn:c,Yn:i,Zn:l}=A,h=c*n.m00+i*n.m10+l*n.m20,f=c*n.m01+i*n.m11+l*n.m21,u=c*n.m02+i*n.m12+l*n.m22,b=a.X*n.m00+a.Y*n.m10+a.Z*n.m20,d=a.X*n.m01+a.Y*n.m11+a.Z*n.m21,m=a.X*n.m02+a.Y*n.m12+a.Z*n.m22,g=(t*n.m00+e*n.m10+r*n.m20)*(b/h),p=(t*n.m01+e*n.m11+r*n.m21)*(d/f),w=(t*n.m02+e*n.m12+r*n.m22)*(m/u),y=g*o.m00+p*o.m10+w*o.m20,x=g*o.m01+p*o.m11+w*o.m21,k=g*o.m02+p*o.m12+w*o.m22;return[255*E(y*s.m00+x*s.m10+k*s.m20),255*E(y*s.m01+x*s.m11+k*s.m21),255*E(y*s.m02+x*s.m12+k*s.m22)]},R=(...t)=>{const[e,r,n,...o]=a(t,"rgb"),[s,c,i]=z(e,r,n),[l,h,f]=function(t,e,r){const{Xn:n,Yn:o,Zn:s,kE:a,kK:c}=A,i=t/n,l=e/o,h=r/s,f=i>a?Math.pow(i,1/3):(c*i+16)/116,u=l>a?Math.pow(l,1/3):(c*l+16)/116,b=h>a?Math.pow(h,1/3):(c*h+16)/116;return[116*u-16,500*(f-u),200*(u-b)]}(s,c,i);return[l,h,f,...o.length>0&&o[0]<1?[o[0]]:[]]};function P(t){const e=Math.sign(t);return((t=Math.abs(t))<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4))*e}const z=(t,e,r)=>{t=P(t/255),e=P(e/255),r=P(r/255);const{MtxRGB2XYZ:n,MtxAdaptMa:o,MtxAdaptMaI:s,Xn:a,Yn:c,Zn:i,As:l,Bs:h,Cs:f}=A;let u=t*n.m00+e*n.m10+r*n.m20,b=t*n.m01+e*n.m11+r*n.m21,d=t*n.m02+e*n.m12+r*n.m22;const m=a*o.m00+c*o.m10+i*o.m20,g=a*o.m01+c*o.m11+i*o.m21,p=a*o.m02+c*o.m12+i*o.m22;let w=u*o.m00+b*o.m10+d*o.m20,y=u*o.m01+b*o.m11+d*o.m21,x=u*o.m02+b*o.m12+d*o.m22;return w*=m/l,y*=g/h,x*=p/f,u=w*s.m00+y*s.m10+x*s.m20,b=w*s.m01+y*s.m11+x*s.m21,d=w*s.m02+y*s.m12+x*s.m22,[u,b,d]};y.prototype.lab=function(){return R(this._rgb)};Object.assign(x,{lab:(...t)=>new y(...t,"lab"),getLabWhitePoint:F,setLabWhitePoint:O}),w.format.lab=L,w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"lab"))&&3===t.length)return"lab"}}),y.prototype.darken=function(t=1){const e=this.lab();return e[0]-=A.Kn*t,new y(e,"lab").alpha(this.alpha(),!0)},y.prototype.brighten=function(t=1){return this.darken(-t)},y.prototype.darker=y.prototype.darken,y.prototype.brighter=y.prototype.brighten,y.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:B}=Math;y.prototype.luminance=function(t,e="rgb"){if(void 0!==t&&"number"===s(t)){if(0===t)return new y([0,0,0,this._rgb[3]],"rgb");if(1===t)return new y([255,255,255,this._rgb[3]],"rgb");let r=this.luminance(),n=20;const o=(r,s)=>{const a=r.interpolate(s,.5,e),c=a.luminance();return Math.abs(t-c)<1e-7||!n--?a:c>t?o(r,a):o(a,s)},s=(r>t?o(new y([0,0,0]),this):o(this,new y([255,255,255]))).rgb();return new y([...s,this._rgb[3]])}return G(...this._rgb.slice(0,3))};const G=(t,e,r)=>.2126*(t=D(t))+.7152*(e=D(e))+.0722*(r=D(r)),D=t=>(t/=255)<=.03928?t/12.92:B((t+.055)/1.055,2.4);var Y={},q=(t,e,r=.5,...n)=>{let o=n[0]||"lrgb";if(Y[o]||n.length||(o=Object.keys(Y)[0]),!Y[o])throw new Error(`interpolation mode ${o} is not defined`);return"object"!==s(t)&&(t=new y(t)),"object"!==s(e)&&(e=new y(e)),Y[o](t,e,r).alpha(t.alpha()+r*(e.alpha()-t.alpha()))};y.prototype.mix=y.prototype.interpolate=function(t,e=.5,...r){return q(this,t,e,...r)},y.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 y([e[0]*r,e[1]*r,e[2]*r,r],"rgb")};const{sin:I,cos:X}=Math,Z=(...t)=>{let[e,r,n]=a(t,"lch");return isNaN(n)&&(n=0),n*=m,[e,X(n)*r,I(n)*r]},K=(...t)=>{t=a(t,"lch");const[e,r,n]=t,[o,s,c]=Z(e,r,n),[i,l,h]=L(o,s,c);return[i,l,h,t.length>3?t[3]:1]},{sqrt:W,atan2:U,round:V}=Math,T=(...t)=>{const[e,r,n]=a(t,"lab"),o=W(r*r+n*n);let s=(U(n,r)*g+360)%360;return 0===V(1e4*o)&&(s=Number.NaN),[e,o,s]},H=(...t)=>{const[e,r,n,...o]=a(t,"rgb"),[s,c,i]=R(e,r,n),[l,h,f]=T(s,c,i);return[l,h,f,...o.length>0&&o[0]<1?[o[0]]:[]]};y.prototype.lch=function(){return H(this._rgb)},y.prototype.hcl=function(){return p(H(this._rgb))};Object.assign(x,{lch:(...t)=>new y(...t,"lch"),hcl:(...t)=>new y(...t,"hcl")}),w.format.lch=K,w.format.hcl=(...t)=>{const e=p(a(t,"hcl"));return K(...e)},["lch","hcl"].forEach((t=>w.autodetect.push({p:2,test:(...e)=>{if("array"===s(e=a(e,t))&&3===e.length)return t}}))),y.prototype.saturate=function(t=1){const e=this.lch();return e[1]+=A.Kn*t,e[1]<0&&(e[1]=0),new y(e,"lch").alpha(this.alpha(),!0)},y.prototype.desaturate=function(t=1){return this.saturate(-t)},y.prototype.set=function(t,e,r=!1){const[n,o]=t.split("."),a=this[n]();if(o){const t=n.indexOf(o)-("ok"===n.substr(0,2)?2:0);if(t>-1){if("string"==s(e))switch(e.charAt(0)){case"+":case"-":a[t]+=+e;break;case"*":a[t]*=+e.substr(1);break;case"/":a[t]/=+e.substr(1);break;default:a[t]=+e}else{if("number"!==s(e))throw new Error("unsupported value for Color.set");a[t]=e}const o=new y(a,n);return r?(this._rgb=o._rgb,this):o}throw new Error(`unknown channel ${o} in mode ${n}`)}return a},y.prototype.tint=function(t=.5,...e){return q(this,"white",t,...e)},y.prototype.shade=function(t=.5,...e){return q(this,"black",t,...e)};Y.rgb=(t,e,r)=>{const n=t._rgb,o=e._rgb;return new y(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"rgb")};const{sqrt:J,pow:Q}=Math;Y.lrgb=(t,e,r)=>{const[n,o,s]=t._rgb,[a,c,i]=e._rgb;return new y(J(Q(n,2)*(1-r)+Q(a,2)*r),J(Q(o,2)*(1-r)+Q(c,2)*r),J(Q(s,2)*(1-r)+Q(i,2)*r),"rgb")};Y.lab=(t,e,r)=>{const n=t.lab(),o=e.lab();return new y(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"lab")};var tt=(t,e,r,n)=>{let o,s,a,c,i,l,h,f,u,b,d,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||([a,i,h]=o,[c,l,f]=s),isNaN(a)||isNaN(c)?isNaN(a)?isNaN(c)?b=Number.NaN:(b=c,1!=h&&0!=h||"hsv"==n||(u=l)):(b=a,1!=f&&0!=f||"hsv"==n||(u=i)):(m=c>a&&c-a>180?c-(a+360):c<a&&a-c>180?c+360-a:c-a,b=a+r*m),void 0===u&&(u=i+r*(l-i)),d=h+r*(f-h),new y("oklch"===n?[d,u,b]:[b,u,d],n)};const et=(t,e,r)=>tt(t,e,r,"lch");Y.lch=et,Y.hcl=et;y.prototype.num=function(){return((...t)=>{const[e,r,n]=a(t,"rgb");return(e<<16)+(r<<8)+n})(this._rgb)};Object.assign(x,{num:(...t)=>new y(...t,"num")}),w.format.num=t=>{if("number"==s(t)&&t>=0&&t<=16777215){return[t>>16,t>>8&255,255&t,1]}throw new Error("unknown num color: "+t)},w.autodetect.push({p:5,test:(...t)=>{if(1===t.length&&"number"===s(t[0])&&t[0]>=0&&t[0]<=16777215)return"num"}});Y.num=(t,e,r)=>{const n=t.num(),o=e.num();return new y(n+r*(o-n),"num")};const{floor:rt}=Math;y.prototype.hcg=function(){return((...t)=>{const[e,r,n]=a(t,"rgb"),o=l(e,r,n),s=h(e,r,n),c=s-o,i=100*c/255,f=o/(255-c)*100;let u;return 0===c?u=Number.NaN:(e===s&&(u=(r-n)/c),r===s&&(u=2+(n-e)/c),n===s&&(u=4+(e-r)/c),u*=60,u<0&&(u+=360)),[u,i,f]})(this._rgb)};x.hcg=(...t)=>new y(...t,"hcg"),w.format.hcg=(...t)=>{t=a(t,"hcg");let e,r,n,[o,s,c]=t;c*=255;const i=255*s;if(0===s)e=r=n=c;else{360===o&&(o=0),o>360&&(o-=360),o<0&&(o+=360),o/=60;const t=rt(o),a=o-t,l=c*(1-s),h=l+i*(1-a),f=l+i*a,u=l+i;switch(t){case 0:[e,r,n]=[u,f,l];break;case 1:[e,r,n]=[h,u,l];break;case 2:[e,r,n]=[l,u,f];break;case 3:[e,r,n]=[l,h,u];break;case 4:[e,r,n]=[f,l,u];break;case 5:[e,r,n]=[u,l,h]}}return[e,r,n,t.length>3?t[3]:1]},w.autodetect.push({p:1,test:(...t)=>{if("array"===s(t=a(t,"hcg"))&&3===t.length)return"hcg"}});Y.hcg=(t,e,r)=>tt(t,e,r,"hcg");const{cos:nt}=Math,{min:ot,sqrt:st,acos:at}=Math;y.prototype.hsi=function(){return((...t)=>{let e,[r,n,o]=a(t,"rgb");r/=255,n/=255,o/=255;const s=ot(r,n,o),c=(r+n+o)/3,i=c>0?1-s/c:0;return 0===i?e=NaN:(e=(r-n+(r-o))/2,e/=st((r-n)*(r-n)+(r-o)*(n-o)),e=at(e),o>n&&(e=b-e),e/=b),[360*e,i,c]})(this._rgb)};x.hsi=(...t)=>new y(...t,"hsi"),w.format.hsi=(...t)=>{t=a(t,"hsi");let e,n,o,[s,c,i]=t;return isNaN(s)&&(s=0),isNaN(c)&&(c=0),s>360&&(s-=360),s<0&&(s+=360),s/=360,s<1/3?(o=(1-c)/3,e=(1+c*nt(b*s)/nt(d-b*s))/3,n=1-(o+e)):s<2/3?(s-=1/3,e=(1-c)/3,n=(1+c*nt(b*s)/nt(d-b*s))/3,o=1-(e+n)):(s-=2/3,n=(1-c)/3,o=(1+c*nt(b*s)/nt(d-b*s))/3,e=1-(n+o)),e=r(i*e*3),n=r(i*n*3),o=r(i*o*3),[255*e,255*n,255*o,t.length>3?t[3]:1]},w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"hsi"))&&3===t.length)return"hsi"}});Y.hsi=(t,e,r)=>tt(t,e,r,"hsi");const ct=(...t)=>{t=a(t,"hsl");const[e,r,n]=t;let o,s,c;if(0===r)o=s=c=255*n;else{const t=[0,0,0],a=[0,0,0],i=n<.5?n*(1+r):n+r-n*r,l=2*n-i,h=e/360;t[0]=h+1/3,t[1]=h,t[2]=h-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?a[e]=l+6*(i-l)*t[e]:2*t[e]<1?a[e]=i:3*t[e]<2?a[e]=l+(i-l)*(2/3-t[e])*6:a[e]=l;[o,s,c]=[255*a[0],255*a[1],255*a[2]]}return t.length>3?[o,s,c,t[3]]:[o,s,c,1]},it=(...t)=>{t=a(t,"rgba");let[e,r,n]=t;e/=255,r/=255,n/=255;const o=l(e,r,n),s=h(e,r,n),c=(s+o)/2;let i,f;return s===o?(i=0,f=Number.NaN):i=c<.5?(s-o)/(s+o):(s-o)/(2-s-o),e==s?f=(r-n)/(s-o):r==s?f=2+(n-e)/(s-o):n==s&&(f=4+(e-r)/(s-o)),f*=60,f<0&&(f+=360),t.length>3&&void 0!==t[3]?[f,i,c,t[3]]:[f,i,c]};y.prototype.hsl=function(){return it(this._rgb)};x.hsl=(...t)=>new y(...t,"hsl"),w.format.hsl=ct,w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"hsl"))&&3===t.length)return"hsl"}});Y.hsl=(t,e,r)=>tt(t,e,r,"hsl");const{floor:lt}=Math,{min:ht,max:ft}=Math;y.prototype.hsv=function(){return((...t)=>{t=a(t,"rgb");let[e,r,n]=t;const o=ht(e,r,n),s=ft(e,r,n),c=s-o;let i,l,h;return h=s/255,0===s?(i=Number.NaN,l=0):(l=c/s,e===s&&(i=(r-n)/c),r===s&&(i=2+(n-e)/c),n===s&&(i=4+(e-r)/c),i*=60,i<0&&(i+=360)),[i,l,h]})(this._rgb)};x.hsv=(...t)=>new y(...t,"hsv"),w.format.hsv=(...t)=>{t=a(t,"hsv");let e,r,n,[o,s,c]=t;if(c*=255,0===s)e=r=n=c;else{360===o&&(o=0),o>360&&(o-=360),o<0&&(o+=360),o/=60;const t=lt(o),a=o-t,i=c*(1-s),l=c*(1-s*a),h=c*(1-s*(1-a));switch(t){case 0:[e,r,n]=[c,h,i];break;case 1:[e,r,n]=[l,c,i];break;case 2:[e,r,n]=[i,c,h];break;case 3:[e,r,n]=[i,l,c];break;case 4:[e,r,n]=[h,i,c];break;case 5:[e,r,n]=[c,i,l]}}return[e,r,n,t.length>3?t[3]:1]},w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"hsv"))&&3===t.length)return"hsv"}});function ut(t,e){let r=t.length;Array.isArray(t[0])||(t=[t]),Array.isArray(e[0])||(e=e.map((t=>[t])));let n=e[0].length,o=e[0].map(((t,r)=>e.map((t=>t[r])))),s=t.map((t=>o.map((e=>Array.isArray(t)?t.reduce(((t,r,n)=>t+r*(e[n]||0)),0):e.reduce(((e,r)=>e+r*t),0)))));return 1===r&&(s=s[0]),1===n?s.map((t=>t[0])):s}Y.hsv=(t,e,r)=>tt(t,e,r,"hsv");const bt=(...t)=>{t=a(t,"lab");const[e,r,n,...o]=t,[s,c,i]=(l=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],h=ut([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],[e,r,n]),ut(l,h.map((t=>t**3))));var l,h;const[f,u,b]=j(s,c,i);return[f,u,b,...o.length>0&&o[0]<1?[o[0]]:[]]};const dt=(...t)=>{const[e,r,n,...o]=a(t,"rgb");return[...function(t){const e=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],r=ut([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],t);return ut(e,r.map((t=>Math.cbrt(t))))}(z(e,r,n)),...o.length>0&&o[0]<1?[o[0]]:[]]};y.prototype.oklab=function(){return dt(this._rgb)};Object.assign(x,{oklab:(...t)=>new y(...t,"oklab")}),w.format.oklab=bt,w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"oklab"))&&3===t.length)return"oklab"}});Y.oklab=(t,e,r)=>{const n=t.oklab(),o=e.oklab();return new y(n[0]+r*(o[0]-n[0]),n[1]+r*(o[1]-n[1]),n[2]+r*(o[2]-n[2]),"oklab")};Y.oklch=(t,e,r)=>tt(t,e,r,"oklch");const{pow:mt,sqrt:gt,PI:pt,cos:wt,sin:yt,atan2:xt}=Math;const kt=(t,e)=>{const r=t.length,o=[0,0,0,0];for(let n=0;n<t.length;n++){const s=t[n],a=e[n]/r,c=s._rgb;o[0]+=mt(c[0],2)*a,o[1]+=mt(c[1],2)*a,o[2]+=mt(c[2],2)*a,o[3]+=c[3]*a}return o[0]=gt(o[0]),o[1]=gt(o[1]),o[2]=gt(o[2]),o[3]>.9999999&&(o[3]=1),new y(n(o))},{pow:Nt}=Math;function Mt(t){let e="rgb",n=x("#ccc"),o=0,a=[0,1],c=[],i=[0,0],l=!1,h=[],f=!1,u=0,b=1,d=!1,m={},g=!0,p=1;const w=function(t){if((t=t||["#fff","#000"])&&"string"===s(t)&&x.brewer&&x.brewer[t.toLowerCase()]&&(t=x.brewer[t.toLowerCase()]),"array"===s(t)){1===t.length&&(t=[t[0],t[0]]),t=t.slice(0);for(let e=0;e<t.length;e++)t[e]=x(t[e]);c.length=0;for(let e=0;e<t.length;e++)c.push(e/(t.length-1))}return M(),h=t};let y=t=>t,k=t=>t;const N=function(t,o){let a,f;if(null==o&&(o=!1),isNaN(t)||null===t)return n;if(o)f=t;else if(l&&l.length>2){f=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}(t)/(l.length-2)}else f=b!==u?(t-u)/(b-u):1;f=k(f),o||(f=y(f)),1!==p&&(f=Nt(f,p)),f=i[0]+f*(1-i[0]-i[1]),f=r(f,0,1);const d=Math.floor(1e4*f);if(g&&m[d])a=m[d];else{if("array"===s(h))for(let t=0;t<c.length;t++){const r=c[t];if(f<=r){a=h[t];break}if(f>=r&&t===c.length-1){a=h[t];break}if(f>r&&f<c[t+1]){f=(f-r)/(c[t+1]-r),a=x.interpolate(h[t],h[t+1],f,e);break}}else"function"===s(h)&&(a=h(f));g&&(m[d]=a)}return a};var M=()=>m={};w(t);const v=function(t){const e=x(N(t));return f&&e[f]?e[f]():e};return v.classes=function(t){if(null!=t){if("array"===s(t))l=t,a=[t[0],t[t.length-1]];else{const e=x.analyze(a);l=0===t?[e.min,e.max]:x.limits(e,"e",t)}return v}return l},v.domain=function(t){if(!arguments.length)return a;u=t[0],b=t[t.length-1],c=[];const e=h.length;if(t.length===e&&u!==b)for(let e of Array.from(t))c.push((e-u)/(b-u));else{for(let t=0;t<e;t++)c.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))||(k=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 a=[u,b],v},v.mode=function(t){return arguments.length?(e=t,M(),v):e},v.range=function(t,e){return w(t),v},v.out=function(t){return f=t,v},v.spread=function(t){return arguments.length?(o=t,v):o},v.correctLightness=function(t){return null==t&&(t=!0),d=t,M(),y=d?function(t){const e=N(0,!0).lab()[0],r=N(1,!0).lab()[0],n=e>r;let o=N(t,!0).lab()[0];const s=e+(r-e)*t;let a=o-s,c=0,i=1,l=20;for(;Math.abs(a)>.01&&l-- >0;)n&&(a*=-1),a<0?(c=t,t+=.5*(i-t)):(i=t,t+=.5*(c-t)),o=N(t,!0).lab()[0],a=o-s;return t}:t=>t,v},v.padding=function(t){return null!=t?("number"===s(t)&&(t=[t,t]),i=t,v):i},v.colors=function(e,r){arguments.length<2&&(r="hex");let n=[];if(0===arguments.length)n=h.slice(0);else if(1===e)n=[v(.5)];else if(e>1){const t=a[0],r=a[1]-t;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,e).map((n=>v(t+n/(e-1)*r)))}else{t=[];let e=[];if(l&&l.length>2)for(let t=1,r=l.length,n=1<=r;n?t<r:t>r;n?t++:t--)e.push(.5*(l[t-1]+l[t]));else e=a;n=e.map((t=>v(t)))}return x[r]&&(n=n.map((t=>t[r]()))),n},v.cache=function(t){return null!=t?(g=t,v):g},v.gamma=function(t){return null!=t?(p=t,v):p},v.nodata=function(t){return null!=t?(n=x(t),v):n},v}const{round:vt}=Math;y.prototype.rgb=function(t=!0){return!1===t?this._rgb.slice(0,3):this._rgb.slice(0,3).map(vt)},y.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map(((e,r)=>r<3?!1===t?e:vt(e):e))};Object.assign(x,{rgb:(...t)=>new y(...t,"rgb")}),w.format.rgb=(...t)=>{const e=a(t,"rgba");return void 0===e[3]&&(e[3]=1),e},w.autodetect.push({p:3,test:(...t)=>{if("array"===s(t=a(t,"rgba"))&&(3===t.length||4===t.length&&"number"==s(t[3])&&t[3]>=0&&t[3]<=1))return"rgb"}});const $t=(t,e,r)=>{if(!$t[r])throw new Error("unknown blend mode "+r);return $t[r](t,e)},St=t=>(e,r)=>{const n=x(r).rgb(),o=x(e).rgb();return x.rgb(t(n,o))},At=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};$t.normal=St(At((t=>t))),$t.multiply=St(At(((t,e)=>t*e/255))),$t.screen=St(At(((t,e)=>255*(1-(1-t/255)*(1-e/255))))),$t.overlay=St(At(((t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))))),$t.darken=St(At(((t,e)=>t>e?e:t))),$t.lighten=St(At(((t,e)=>t>e?t:e))),$t.dodge=St(At(((t,e)=>255===t||(t=e/255*255/(1-t/255))>255?255:t))),$t.burn=St(At(((t,e)=>255*(1-(1-e/255)/(t/255)))));const{pow:Ct,sin:Ot,cos:Ft}=Math;const{floor:Lt,random:_t}=Math;const{log:Et,pow:jt,floor:Rt,abs:Pt}=Math;function zt(t,e=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===s(t)&&(t=Object.values(t)),t.forEach((t=>{e&&"object"===s(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)=>Bt(r,t,e),r}function Bt(t,e="equal",r=7){"array"==s(t)&&(t=zt(t));const{min:n,max:o}=t,a=t.values.sort(((t,e)=>t-e));if(1===r)return[n,o];const c=[];if("c"===e.substr(0,1)&&(c.push(n),c.push(o)),"e"===e.substr(0,1)){c.push(n);for(let t=1;t<r;t++)c.push(n+t/r*(o-n));c.push(o)}else if("l"===e.substr(0,1)){if(n<=0)throw new Error("Logarithmic scales are only possible for values > 0");const t=Math.LOG10E*Et(n),e=Math.LOG10E*Et(o);c.push(n);for(let n=1;n<r;n++)c.push(jt(10,t+n/r*(e-t)));c.push(o)}else if("q"===e.substr(0,1)){c.push(n);for(let t=1;t<r;t++){const e=(a.length-1)*t/r,n=Rt(e);if(n===e)c.push(a[n]);else{const t=e-n;c.push(a[n]*(1-t)+a[n+1]*t)}}c.push(o)}else if("k"===e.substr(0,1)){let t;const e=a.length,s=new Array(e),i=new Array(r);let l=!0,h=0,f=null;f=[],f.push(n);for(let t=1;t<r;t++)f.push(n+t/r*(o-n));for(f.push(o);l;){for(let t=0;t<r;t++)i[t]=0;for(let t=0;t<e;t++){const e=a[t];let n,o=Number.MAX_VALUE;for(let a=0;a<r;a++){const r=Pt(f[a]-e);r<o&&(o=r,n=a),i[n]++,s[t]=n}}const n=new Array(r);for(let t=0;t<r;t++)n[t]=null;for(let r=0;r<e;r++)t=s[r],null===n[t]?n[t]=a[r]:n[t]+=a[r];for(let t=0;t<r;t++)n[t]*=1/i[t];l=!1;for(let t=0;t<r;t++)if(n[t]!==f[t]){l=!0;break}f=n,h++,h>200&&(l=!1)}const u={};for(let t=0;t<r;t++)u[t]=[];for(let r=0;r<e;r++)t=s[r],u[t].push(a[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)),c.push(b[0]);for(let t=1;t<b.length;t+=2){const e=b[t];isNaN(e)||-1!==c.indexOf(e)||c.push(e)}}return c}
|
|
54
|
+
/**
|
|
55
|
+
* @license
|
|
76
56
|
*
|
|
77
|
-
*
|
|
57
|
+
* The APCA contrast prediction algorithm is based of the formulas published
|
|
58
|
+
* in the APCA-1.0.98G specification by Myndex. The specification is available at:
|
|
59
|
+
* https://raw.githubusercontent.com/Myndex/apca-w3/master/images/APCAw3_0.1.17_APCA0.0.98G.svg
|
|
78
60
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
61
|
+
* Note that the APCA implementation is still beta, so please update to
|
|
62
|
+
* future versions of chroma.js when they become available.
|
|
81
63
|
*
|
|
82
|
-
*
|
|
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};
|
|
64
|
+
* You can read more about the APCA Readability Criterion at
|
|
65
|
+
* https://readtech.org/ARC/
|
|
66
|
+
*/
|
|
67
|
+
const Gt=.022;function Dt(t,e,r){return.2126729*Math.pow(t/255,2.4)+.7151522*Math.pow(e/255,2.4)+.072175*Math.pow(r/255,2.4)}const{sqrt:Yt,pow:qt,min:It,max:Xt,atan2:Zt,abs:Kt,cos:Wt,sin:Ut,exp:Vt,PI:Tt}=Math;var Ht={cool:()=>Mt([x.hsl(180,1,.9),x.hsl(250,.7,.4)]),hot:()=>Mt(["#000","#f00","#ff0","#fff"]).mode("rgb")};const Jt={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"]},Qt=Object.keys(Jt),te=new Map(Qt.map((t=>[t.toLowerCase(),t]))),ee="function"==typeof Proxy?new Proxy(Jt,{get(t,e){const r=e.toLowerCase();if(te.has(r))return t[te.get(r)]},getOwnPropertyNames:()=>Object.getOwnPropertyNames(Qt)}):Jt,{max:re}=Math;y.prototype.cmyk=function(){return((...t)=>{let[e,r,n]=a(t,"rgb");e/=255,r/=255,n/=255;const o=1-re(e,re(r,n)),s=o<1?1/(1-o):0;return[(1-e-o)*s,(1-r-o)*s,(1-n-o)*s,o]})(this._rgb)};Object.assign(x,{cmyk:(...t)=>new y(...t,"cmyk")}),w.format.cmyk=(...t)=>{t=a(t,"cmyk");const[e,r,n,o]=t,s=t.length>4?t[4]:1;return 1===o?[0,0,0,s]:[e>=1?0:255*(1-e)*(1-o),r>=1?0:255*(1-r)*(1-o),n>=1?0:255*(1-n)*(1-o),s]},w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"cmyk"))&&4===t.length)return"cmyk"}});const ne=(...t)=>{const[e,r,n,...o]=a(t,"rgb"),[s,c,i]=dt(e,r,n),[l,h,f]=T(s,c,i);return[l,h,f,...o.length>0&&o[0]<1?[o[0]]:[]]},{round:oe}=Math,se=(...t)=>{const e=a(t,"rgba");let r=c(t)||"rgb";if("hsl"===r.substr(0,3))return((...t)=>{const e=a(t,"hsla");let r=c(t)||"lsa";return e[0]=f(e[0]||0)+"deg",e[1]=f(100*e[1])+"%",e[2]=f(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.substr(0,3)}(${e.join(" ")})`})(it(e),r);if("lab"===r.substr(0,3)){const t=F();O("d50");const n=((...t)=>{const e=a(t,"lab");let r=c(t)||"lab";return e[0]=f(e[0])+"%",e[1]=f(e[1]),e[2]=f(e[2]),"laba"===r||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lab(${e.join(" ")})`})(R(e),r);return O(t),n}if("lch"===r.substr(0,3)){const t=F();O("d50");const n=((...t)=>{const e=a(t,"lch");let r=c(t)||"lab";return e[0]=f(e[0])+"%",e[1]=f(e[1]),e[2]=isNaN(e[2])?"none":f(e[2])+"deg","lcha"===r||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lch(${e.join(" ")})`})(H(e),r);return O(t),n}return"oklab"===r.substr(0,5)?((...t)=>{const e=a(t,"lab");return e[0]=f(100*e[0])+"%",e[1]=u(e[1]),e[2]=u(e[2]),e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklab(${e.join(" ")})`})(dt(e)):"oklch"===r.substr(0,5)?((...t)=>{const e=a(t,"lch");return e[0]=f(100*e[0])+"%",e[1]=u(e[1]),e[2]=isNaN(e[2])?"none":f(e[2])+"deg",e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklch(${e.join(" ")})`})(ne(e)):(e[0]=oe(e[0]),e[1]=oe(e[1]),e[2]=oe(e[2]),("rgba"===r||e.length>3&&e[3]<1)&&(e[3]="/ "+(e.length>3?e[3]:1),r="rgba"),`${r.substr(0,3)}(${e.slice(0,"rgb"===r?3:4).join(" ")})`)},ae=(...t)=>{t=a(t,"lch");const[e,r,n,...o]=t,[s,c,i]=Z(e,r,n),[l,h,f]=bt(s,c,i);return[l,h,f,...o.length>0&&o[0]<1?[o[0]]:[]]},ce=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,ie=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,le=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,he=/\s*/.source,fe=/\s+/.source,ue=/\s*,\s*/.source,be=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,de=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,me=new RegExp("^rgba?\\("+he+[ce,ce,ce].join(fe)+de+"\\)$"),ge=new RegExp("^rgb\\("+he+[ce,ce,ce].join(ue)+he+"\\)$"),pe=new RegExp("^rgba\\("+he+[ce,ce,ce,ie].join(ue)+he+"\\)$"),we=new RegExp("^hsla?\\("+he+[be,le,le].join(fe)+de+"\\)$"),ye=new RegExp("^hsl?\\("+he+[be,le,le].join(ue)+he+"\\)$"),xe=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ke=new RegExp("^lab\\("+he+[ie,ie,ie].join(fe)+de+"\\)$"),Ne=new RegExp("^lch\\("+he+[ie,ie,be].join(fe)+de+"\\)$"),Me=new RegExp("^oklab\\("+he+[ie,ie,ie].join(fe)+de+"\\)$"),ve=new RegExp("^oklch\\("+he+[ie,ie,be].join(fe)+de+"\\)$"),{round:$e}=Math,Se=t=>t.map(((t,e)=>e<=2?r($e(t),0,255):t)),Ae=(t,e=0,r=100,n=!1)=>("string"==typeof t&&t.endsWith("%")&&(t=parseFloat(t.substring(0,t.length-1))/100,t=n?e+.5*(t+1)*(r-e):e+t*(r-e)),+t),Ce=(t,e)=>"none"===t?e:t,Oe=t=>{if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];let e;if(w.format.named)try{return w.format.named(t)}catch(t){}if((e=t.match(me))||(e=t.match(ge))){let t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=+Ae(Ce(t[e],0),0,255);t=Se(t);const r=void 0!==e[4]?+Ae(e[4],0,1):1;return t[3]=r,t}if(e=t.match(pe)){const t=e.slice(1,5);for(let e=0;e<4;e++)t[e]=+Ae(t[e],0,255);return t}if((e=t.match(we))||(e=t.match(ye))){const t=e.slice(1,4);t[0]=+Ce(t[0].replace("deg",""),0),t[1]=.01*+Ae(Ce(t[1],0),0,100),t[2]=.01*+Ae(Ce(t[2],0),0,100);const r=Se(ct(t)),n=void 0!==e[4]?+Ae(e[4],0,1):1;return r[3]=n,r}if(e=t.match(xe)){const t=e.slice(1,4);t[1]*=.01,t[2]*=.01;const r=ct(t);for(let t=0;t<3;t++)r[t]=$e(r[t]);return r[3]=+e[4],r}if(e=t.match(ke)){const t=e.slice(1,4);t[0]=Ae(Ce(t[0],0),0,100),t[1]=Ae(Ce(t[1],0),-125,125,!0),t[2]=Ae(Ce(t[2],0),-125,125,!0);const r=F();O("d50");const n=Se(L(t));O(r);const o=void 0!==e[4]?+Ae(e[4],0,1):1;return n[3]=o,n}if(e=t.match(Ne)){const t=e.slice(1,4);t[0]=Ae(t[0],0,100),t[1]=Ae(Ce(t[1],0),0,150,!1),t[2]=+Ce(t[2].replace("deg",""),0);const r=F();O("d50");const n=Se(K(t));O(r);const o=void 0!==e[4]?+Ae(e[4],0,1):1;return n[3]=o,n}if(e=t.match(Me)){const t=e.slice(1,4);t[0]=Ae(Ce(t[0],0),0,1),t[1]=Ae(Ce(t[1],0),-.4,.4,!0),t[2]=Ae(Ce(t[2],0),-.4,.4,!0);const r=Se(bt(t)),n=void 0!==e[4]?+Ae(e[4],0,1):1;return r[3]=n,r}if(e=t.match(ve)){const t=e.slice(1,4);t[0]=Ae(Ce(t[0],0),0,1),t[1]=Ae(Ce(t[1],0),0,.4,!1),t[2]=+Ce(t[2].replace("deg",""),0);const r=Se(ae(t)),n=void 0!==e[4]?+Ae(e[4],0,1):1;return r[3]=n,r}};Oe.test=t=>me.test(t)||we.test(t)||ke.test(t)||Ne.test(t)||Me.test(t)||ve.test(t)||ge.test(t)||pe.test(t)||ye.test(t)||xe.test(t)||"transparent"===t,y.prototype.css=function(t){return se(this._rgb,t)};x.css=(...t)=>new y(...t,"css"),w.format.css=Oe,w.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===s(t)&&Oe.test(t))return"css"}}),w.format.gl=(...t)=>{const e=a(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e};x.gl=(...t)=>new y(...t,"gl"),y.prototype.gl=function(){const t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]},y.prototype.hex=function(t){return S(this._rgb,t)};x.hex=(...t)=>new y(...t,"hex"),w.format.hex=v,w.autodetect.push({p:4,test:(t,...e)=>{if(!e.length&&"string"===s(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});const{log:Fe}=Math,Le=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*Fe(n),o=e<20?0:.8274096064007395*(o=e-10)-254.76935184120902+115.67994401066147*Fe(o)):(r=351.97690566805693+.114206453784165*(r=e-55)-40.25366309332127*Fe(r),n=325.4494125711974+.07943456536662342*(n=e-50)-28.0852963507957*Fe(n),o=255),[r,n,o,1]},{round:_e}=Math;y.prototype.temp=y.prototype.kelvin=y.prototype.temperature=function(){return((...t)=>{const e=a(t,"rgb"),r=e[0],n=e[2];let o,s=1e3,c=4e4;for(;c-s>.4;){o=.5*(c+s);const t=Le(o);t[2]/t[0]>=n/r?c=o:s=o}return _e(o)})(this._rgb)};const Ee=(...t)=>new y(...t,"temp");Object.assign(x,{temp:Ee,kelvin:Ee,temperature:Ee}),w.format.temp=w.format.kelvin=w.format.temperature=Le,y.prototype.oklch=function(){return ne(this._rgb)};function je(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}Object.assign(x,{oklch:(...t)=>new y(...t,"oklch")}),w.format.oklch=ae,w.autodetect.push({p:2,test:(...t)=>{if("array"===s(t=a(t,"oklch"))&&3===t.length)return"oklch"}}),Object.assign(x,{analyze:zt,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 y(t))),"lrgb"===e)return kt(t,r);const s=t.shift(),a=s.get(e),c=[];let i=0,l=0;for(let t=0;t<a.length;t++)if(a[t]=(a[t]||0)*r[0],c.push(isNaN(a[t])?0:r[0]),"h"===e.charAt(t)&&!isNaN(a[t])){const e=a[t]/180*pt;i+=wt(e)*r[0],l+=yt(e)*r[0]}let h=s.alpha()*r[0];t.forEach(((t,n)=>{const o=t.get(e);h+=t.alpha()*r[n+1];for(let t=0;t<a.length;t++)if(!isNaN(o[t]))if(c[t]+=r[n+1],"h"===e.charAt(t)){const e=o[t]/180*pt;i+=wt(e)*r[n+1],l+=yt(e)*r[n+1]}else a[t]+=o[t]*r[n+1]}));for(let t=0;t<a.length;t++)if("h"===e.charAt(t)){let e=xt(l/c[t],i/c[t])/pt*180;for(;e<0;)e+=360;for(;e>=360;)e-=360;a[t]=e}else a[t]=a[t]/c[t];return h/=n,new y(a,e).alpha(h>.99999?1:h,!0)},bezier:t=>{const e=function(t){let e,r,n,o;if(2===(t=t.map((t=>new y(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 y(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 y(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 y(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,a,c)=>r+n[c]*e**(o-c)*t**c*a[s]),0)));return new y(s,"lab")}}}return e}(t);return e.scale=()=>Mt(e),e},blend:$t,brewer:ee,Color:y,colors:k,contrast:(t,e)=>{t=new y(t),e=new y(e);const r=t.luminance(),n=e.luminance();return r>n?(r+.05)/(n+.05):(n+.05)/(r+.05)},contrastAPCA:(t,e)=>{t=new y(t),e=new y(e),t.alpha()<1&&(t=q(e,t,t.alpha(),"rgb"));const r=Dt(...t.rgb()),n=Dt(...e.rgb()),o=r>=Gt?r:r+Math.pow(Gt-r,1.414),s=n>=Gt?n:n+Math.pow(Gt-n,1.414),a=Math.pow(s,.56)-Math.pow(o,.57),c=Math.pow(s,.65)-Math.pow(o,.62),i=Math.abs(s-o)<5e-4?0:o<s?1.14*a:1.14*c;return 100*(Math.abs(i)<.1?0:i>0?i-.027:i+.027)},cubehelix:function(t=300,e=-1.5,r=1,o=1,a=[0,1]){let c,i=0;"array"===s(a)?c=a[1]-a[0]:(c=0,a=[a,a]);const l=function(s){const l=b*((t+120)/360+e*s),h=Ct(a[0]+c*s,o),f=(0!==i?r[0]+s*i:r)*h*(1-h)/2,u=Ft(l),d=Ot(l);return x(n([255*(h+f*(-.14861*u+1.78277*d)),255*(h+f*(-.29227*u-.90649*d)),255*(h+f*(1.97294*u)),1]))};return l.start=function(e){return null==e?t:(t=e,l)},l.rotations=function(t){return null==t?e:(e=t,l)},l.gamma=function(t){return null==t?o:(o=t,l)},l.hue=function(t){return null==t?r:("array"===s(r=t)?(i=r[1]-r[0],0===i&&(r=r[1])):i=0,l)},l.lightness=function(t){return null==t?a:("array"===s(t)?(a=t,c=t[1]-t[0]):(a=[t,t],c=0),l)},l.scale=()=>x.scale(l),l.hue(r),l},deltaE:function(t,e,r=1,n=1,o=1){var s=function(t){return 360*t/(2*Tt)},a=function(t){return 2*Tt*t/360};t=new y(t),e=new y(e);const[c,i,l]=Array.from(t.lab()),[h,f,u]=Array.from(e.lab()),b=(c+h)/2,d=(Yt(qt(i,2)+qt(l,2))+Yt(qt(f,2)+qt(u,2)))/2,m=.5*(1-Yt(qt(d,7)/(qt(d,7)+qt(25,7)))),g=i*(1+m),p=f*(1+m),w=Yt(qt(g,2)+qt(l,2)),x=Yt(qt(p,2)+qt(u,2)),k=(w+x)/2,N=s(Zt(l,g)),M=s(Zt(u,p)),v=N>=0?N:N+360,$=M>=0?M:M+360,S=Kt(v-$)>180?(v+$+360)/2:(v+$)/2,A=1-.17*Wt(a(S-30))+.24*Wt(a(2*S))+.32*Wt(a(3*S+6))-.2*Wt(a(4*S-63));let C=$-v;C=Kt(C)<=180?C:$<=v?C+360:C-360,C=2*Yt(w*x)*Ut(a(C)/2);const O=h-c,F=x-w,L=1+.015*qt(b-50,2)/Yt(20+qt(b-50,2)),_=1+.045*k,E=1+.015*k*A,j=30*Vt(-qt((S-275)/25,2)),R=-(2*Yt(qt(k,7)/(qt(k,7)+qt(25,7))))*Ut(2*a(j)),P=Yt(qt(O/(r*L),2)+qt(F/(n*_),2)+qt(C/(o*E),2)+R*(F/(n*_))*(C/(o*E)));return Xt(0,It(100,P))},distance:function(t,e,r="lab"){t=new y(t),e=new y(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)},input:w,interpolate:q,limits:Bt,mix:q,random:()=>{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(Lt(16*_t()));return new y(t,"hex")},scale:Mt,scales:Ht,valid:(...t)=>{try{return new y(...t),!0}catch(t){return!1}}});var Re,Pe={exports:{}};var ze,Be=(Re||(Re=1,ze=Pe,function(t){function e(t,r){if(!(t=n(t)))return null;var o,s,a,c=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))<c&&(c=o,a=r[i]);return a.name?{name:a.name,value:a.source,rgb:a.rgb,distance:Math.sqrt(c)}:a.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"#"+a(t.r.toString(16))+a(t.g.toString(16))+a(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 a(t){return 1===t.length&&(t="0"+t),t}e.from=function t(n){var o=r(n),s=e,a=function(t){return s(t,o)};return a.from=t,a.or=function(t){var n=o.concat(r(t));return e.from(n)},a},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",ze&&ze.exports?ze.exports=e:t.nearestColor=e}(Pe.exports)),Pe.exports),Ge=je(Be);class De{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 Ye{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 qe{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 Ie{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 Xe{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 Ze{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 Ke{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 We{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 Ue{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 Ve{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 Te{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 He{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 Je=(t,e)=>{if("hsl"===e)return new Ye(x(t).hsl());const r=x(t).rgb();return new Xe({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),tr=t=>t>.008856452?Math.pow(t,1/3):t/.12841855+.137931034;class er{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=>x(t).hex())(this.color),this.cmyk=(t=>{let[e,r,n]=x(t).rgb();e/=255,n/=255,r/=255;const o=+(1-Math.max(e,n,r)),s=+((1-n-o)/(1-o)||0),a=+((1-r-o)/(1-o)||0);return new Ie({c:Number((100*+((1-e-o)/(1-o)||0)).toFixed()),m:Number((100*s).toFixed()),y:Number((100*a).toFixed()),k:Number((100*o).toFixed())})})(this.color),this.xyz=(t=>{let[e,r,n]=x(t).rgb();e=Qe(e),n=Qe(n),r=Qe(r);const o=tr((.4124564*e+.3575761*n+.1804375*r)/.95047),s=tr((.2126729*e+.7151522*n+.072175*r)/1),a=tr((.0193339*e+.119192*n+.9503041*r)/1.08883);return new qe({x:Number(o.toFixed(2)),y:Number(s.toFixed(2)),z:Number(a.toFixed(2))})})(this.color),this.hsl=(t=>new De(x(t).hsl()))(this.color),this.hwb=(t=>{let[e,r,n]=x(t).rgb();e/=255,n/=255,r/=255;const o=Math.min(e,n,r),s=Math.max(e,n,r),a=1-s;return s===o?{h:0,w:o,b:a}:new Ze({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(a.toFixed(2))})})(this.color),this.lab=(t=>new Ke(x(t).lab()))(this.color),this.oklab=(t=>new We(x(t).oklab()))(this.color),this.hsv=(t=>new Ue(x(t).hsv()))(this.color),this.lch=(t=>new Ve(x(t).lch()))(this.color),this.oklch=(t=>new Te(x(t).oklch()))(this.color),this.hsi=(t=>new He(x(t).hsi()))(this.color),this.rgb=(t=>{const[e,r,n]=x(t).rgb();return`rgb(${e}, ${r}, ${n})`})(this.color),this.rgbFloat=Je(this.color),this.hslFloat=Je(this.color,"hsl")}toObject(t){return((t,e)=>{if("hsl"===e){const[e,r,n]=x(t).hsl();return{h:Number(isNaN(e)?0:e.toFixed(0)),s:Number((100*r).toFixed()),l:Number((100*n).toFixed())}}const r=x(t).rgb();return{r:r[0],g:r[1],b:r[2]}})(this.color,t)}toFloat(t){return Je(this.color,t)}}const rr={diverging:!1,bezier:!1,randomOffset:!1,correctLightness:!1,noDuplicates:!0,colorScaleMode:"lch",reverseDirection:!1},nr=(t,e,r,n,o={})=>{const{noDuplicates:s=!0}=o,a=[x(t).hex()];let[c,i,l]=x(t).hsl();isNaN(c)&&(c=0),i=Number((100*i).toFixed()),l=Number((100*l).toFixed());for(let t=e;t<=r;t+=n){const e=Number(((c+t)%360).toFixed());a.push(x(`hsl(${e}, ${i}%, ${l}%)`).hex())}let h=a;return s&&(h=[...new Set(a)]),h},or=(t,e)=>Math.floor(Math.random()*(t-e+1))+e,sr=(t,e={})=>{const{numberOfColors:r=8,bezier:n=!1,randomOffset:o=!1,colorScaleMode:s,noDuplicates:a=!0,reverseDirection:c=!1,correctLightness:i=!0}=e;let[l,h,f]=x(t).hsl();isNaN(l)&&(l=0),l=Number(l.toFixed(0)),h=Number((100*h).toFixed(0)),f=Number((100*f).toFixed(0));const u=[];if(u.push(x(`hsl(${l}, ${h}%, ${f<0?0:f}%)`).hex()),o)for(let t=1;t<r;t++)c?(f+=or(0,10),l+=or(-5,5)):(f-=or(0,10),l-=or(-5,5)),l>359&&(l=359),l<0&&(l=0),u.push(x(`hsl(${l}, ${h}%, ${f<0?0:f}%)`).hex());else for(let t=1;t<r;t++)c?(f+=5,l+=5):(f-=5,l-=5),l>359&&(l=359),l<0&&(l=0),u.push(x(`hsl(${l}, ${h}%, ${f<0?0:f}%)`).hex());let b=u.map((t=>x(t).hex()));return a&&(b=[...new Set(b)]),n&&(b=b.length>1?x.bezier(b).scale().mode(s).correctLightness(i).colors(r):x.scale(b).mode(s).correctLightness(i).colors(r)),b},ar=(t,e={})=>{if(!t)throw Error("MoebiusPalettes: missing input `color`");const{diverging:r=!1,numberOfColors:n=7}=e,[o,s,a]=x(t).lab(),c=100*(.95-1/n),i=c/(n-1),l=.5*(100-c),h=((t,e,r)=>{const n=[];for(let o=t;o<e;o+=r)n.push(o);return n})(l,l+n*i,i);let f=0;if(!r){f=9999;for(let t=0;t<n;t++){const e=o-h[t];Math.abs(e)<Math.abs(f)&&(f=e)}}return h.map((t=>x.lab([t+f,s,a]).hex()))},cr=(t,e={})=>{const{numberOfColors:r,reverseDirection:n=!1,diverging:o=!1,divergentColor:s}=e;if(o){const e=ar(x(t).hex(),{numberOfColors:Math.ceil(r/2)}).concat(s);return n&&e.reverse(),e}return ar(t,{numberOfColors:r})},ir=(t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e;try{return x.bezier(t).scale().mode(n).correctLightness(o).colors(r)}catch{return[]}},lr=(t,e={})=>{const{numberOfColors:r=8,colorScaleMode:n,correctLightness:o=!0}=e;try{return x.scale(t).mode(n).correctLightness(o).colors(r)}catch{return[]}};class hr{interpolate;luminanceShift;monochromatic;complement;split;triadic;tetradic;pentadic;hexadic;analogous;constructor(t,e){Object.keys(t).forEach((r=>{this[r]=t[r].map((t=>sr(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 fr{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 ur{darkMode;constructor(t){Object.keys(t).forEach((e=>{this[e]=t[e]}))}}class br{baseColor;secondaryColor;colors={};themes={};defaultOptions={...rr,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 ur({darkMode:this.darkMode(this.baseColor.hex,this.secondaryColor.hex,{...this.options,reverseDirection:!this.options.reverseDirection})}),this.colors=new fr({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 hr(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=nr(t,180,180,1);return x.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,a=sr(t,r),c=sr(e,r),i=c.map(((t,e)=>x.mix(a[e],t,.99-.02*e,o).hex())),l={primary:a,surface:c,mixed:i};return s&&(l.primary=[...new Set(a)],l.surface=[...new Set(c)],l.mixed=[...new Set(i)]),n&&(l.primary.length>1&&l.surface.length>1&&l.mixed.length>1?(l.primary=ir(l.primary,r),l.surface=ir(l.surface,r),l.mixed=ir(l.mixed,r)):(l.primary=lr(l.primary,r),l.surface=lr(l.surface,r),l.mixed=lr(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=nr(t,150,210,60);return x.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=nr(t,120,240,120);return x.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=nr(t,90,270,90);return x.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=nr(t,144,360,72);return x.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=nr(t,120,360,60);return x.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=nr(t,30,90,30);return x.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:a=!0}=r;let c=x.scale([t,e]).mode(o).correctLightness(a).colors(n);return s&&(c=x.bezier([t,e]).scale().mode(o).correctLightness(a).colors(n)),c})(t,e,{...this.options,...r})}luminanceShift(t,e=[],r={}){return((t,e=[],r={})=>{const{numberOfColors:n=8,diverging:o=!1,colorScaleMode:s,bezier:a=!1,divergentColor:c="#f5f5f5",correctLightness:i=!0}=r;e=0===e.length?[nr(t[0],90,270,90)[3]]:e;const l=n%2==0,h=o?Math.ceil(n/2)+(l?1:0):n,f=o?Math.ceil(n/2)+(l?1:0):0,u=1!==t.length?t:cr(t[0],{numberOfColors:h,divergentColor:c});let b=[];o&&(b=1!==e.length?e:cr(e[0],{numberOfColors:f,divergentColor:c,diverging:o}));let d=t.length?x.scale(u).mode(s).correctLightness(i).colors(h):[];a&&(d=t.length?x.bezier(u).scale().mode(s).correctLightness(i).colors(h):[]);let m=o&&e.length?x.scale(b).mode(s).correctLightness(i).colors(f):[];a&&(m=o&&e.length?x.bezier(b).scale().mode(s).correctLightness(i).colors(f):[]);let g=d;return g=(o?d.slice(0,d.length-(h%2!=0?0:1)):d).concat(m.reverse()),g})(t,e,{...this.options,...r})}monochromatic(t,e={}){const r={...this.options,...e};return sr(t,r)}harmonize(t,e,r,n,o={}){const s={...this.options,...o};return nr(t,e,r,n,s)}}class dr{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"),a=document.createElementNS(this.xlmns,"g"),c=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"),a.setAttributeNS(null,"mask",`url(#${i})`),o.appendChild(s);const l=360/t.length;var h,f;for(let e=(h=l/2,4===(f=t.length)||8===f||12===f?0:3===f||9===f?30:7===f?12:5===f?55:h);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+=c,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 a=t+e;if(t>a){const e=t;t=a,a=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 ${a-t<=180?"0":"1"} 0 ${o+r*Math.cos((90-a)*(Math.PI/180))} ${s+r*Math.sin((90-a)*(Math.PI/180))} L ${o} ${s} Z`})(u,c,o)),a.appendChild(s)}))})),n.appendChild(o),r.appendChild(n),r.appendChild(a),r}}async function mr(){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})),Ge.from(r)})();return{MoebiusColor:class extends er{constructor(e){super(x(e).hex(),(t=>"string"==typeof t)(t(e))?t(e):t(e).name)}},MoebiusPalettes:br,MoebiusSVGHelper:dr}}export{mr as default};
|
|
84
68
|
//# sourceMappingURL=moebius.js.map
|