@d3plus/color 3.0.1 → 3.0.3
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/es/src/defaults.js
CHANGED
package/package.json
CHANGED
package/umd/d3plus-color.full.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d3plus-color.full.js","sources":["../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../src/add.js","../../../node_modules/internmap/src/index.js","../../../node_modules/d3-scale/src/init.js","../../../node_modules/d3-scale/src/ordinal.js","../../../node_modules/open-color/open-color.js","../src/defaults.js","../src/assign.js","../src/contrast.js","../src/legible.js","../src/lighter.js","../src/subtract.js"],"sourcesContent":["export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorAdd\n @desc Adds two colors together.\n @param {String} c1 The first color, a valid CSS color string.\n @param {String} c2 The second color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = Math.abs(c2.h * o2 - c1.h * o1);\n if (d > 180) d -= 360;\n let h = (Math.min(c1.h, c2.h) + d / 2) % 360;\n const l = c1.l + (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s + (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 + (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","/*\n *\n * 𝗖 𝗢 𝗟 𝗢 𝗥\n * v 1.9.1\n *\n * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\nmodule.exports = {\n theme: {\n colors: {\n white: \"#ffffff\",\n black: \"#000000\",\n gray: {\n 50: \"#f8f9fa\",\n 100: \"#f1f3f5\",\n 200: \"#e9ecef\",\n 300: \"#dee2e6\",\n 400: \"#ced4da\",\n 500: \"#adb5bd\",\n 600: \"#868e96\",\n 700: \"#495057\",\n 800: \"#343a40\",\n 900: \"#212529\",\n },\n red: {\n 50: \"#fff5f5\",\n 100: \"#ffe3e3\",\n 200: \"#ffc9c9\",\n 300: \"#ffa8a8\",\n 400: \"#ff8787\",\n 500: \"#ff6b6b\",\n 600: \"#fa5252\",\n 700: \"#f03e3e\",\n 800: \"#e03131\",\n 900: \"#c92a2a\",\n },\n pink: {\n 50: \"#fff0f6\",\n 100: \"#ffdeeb\",\n 200: \"#fcc2d7\",\n 300: \"#faa2c1\",\n 400: \"#f783ac\",\n 500: \"#f06595\",\n 600: \"#e64980\",\n 700: \"#d6336c\",\n 800: \"#c2255c\",\n 900: \"#a61e4d\",\n },\n grape: {\n 50: \"#f8f0fc\",\n 100: \"#f3d9fa\",\n 200: \"#eebefa\",\n 300: \"#e599f7\",\n 400: \"#da77f2\",\n 500: \"#cc5de8\",\n 600: \"#be4bdb\",\n 700: \"#ae3ec9\",\n 800: \"#9c36b5\",\n 900: \"#862e9c\",\n },\n violet: {\n 50: \"#f3f0ff\",\n 100: \"#e5dbff\",\n 200: \"#d0bfff\",\n 300: \"#b197fc\",\n 400: \"#9775fa\",\n 500: \"#845ef7\",\n 600: \"#7950f2\",\n 700: \"#7048e8\",\n 800: \"#6741d9\",\n 900: \"#5f3dc4\",\n },\n indigo: {\n 50: \"#edf2ff\",\n 100: \"#dbe4ff\",\n 200: \"#bac8ff\",\n 300: \"#91a7ff\",\n 400: \"#748ffc\",\n 500: \"#5c7cfa\",\n 600: \"#4c6ef5\",\n 700: \"#4263eb\",\n 800: \"#3b5bdb\",\n 900: \"#364fc7\",\n },\n blue: {\n 50: \"#e7f5ff\",\n 100: \"#d0ebff\",\n 200: \"#a5d8ff\",\n 300: \"#74c0fc\",\n 400: \"#4dabf7\",\n 500: \"#339af0\",\n 600: \"#228be6\",\n 700: \"#1c7ed6\",\n 800: \"#1971c2\",\n 900: \"#1864ab\",\n },\n cyan: {\n 50: \"#e3fafc\",\n 100: \"#c5f6fa\",\n 200: \"#99e9f2\",\n 300: \"#66d9e8\",\n 400: \"#3bc9db\",\n 500: \"#22b8cf\",\n 600: \"#15aabf\",\n 700: \"#1098ad\",\n 800: \"#0c8599\",\n 900: \"#0b7285\",\n },\n teal: {\n 50: \"#e6fcf5\",\n 100: \"#c3fae8\",\n 200: \"#96f2d7\",\n 300: \"#63e6be\",\n 400: \"#38d9a9\",\n 500: \"#20c997\",\n 600: \"#12b886\",\n 700: \"#0ca678\",\n 800: \"#099268\",\n 900: \"#087f5b\",\n },\n green: {\n 50: \"#ebfbee\",\n 100: \"#d3f9d8\",\n 200: \"#b2f2bb\",\n 300: \"#8ce99a\",\n 400: \"#69db7c\",\n 500: \"#51cf66\",\n 600: \"#40c057\",\n 700: \"#37b24d\",\n 800: \"#2f9e44\",\n 900: \"#2b8a3e\",\n },\n lime: {\n 50: \"#f4fce3\",\n 100: \"#e9fac8\",\n 200: \"#d8f5a2\",\n 300: \"#c0eb75\",\n 400: \"#a9e34b\",\n 500: \"#94d82d\",\n 600: \"#82c91e\",\n 700: \"#74b816\",\n 800: \"#66a80f\",\n 900: \"#5c940d\",\n },\n yellow: {\n 50: \"#fff9db\",\n 100: \"#fff3bf\",\n 200: \"#ffec99\",\n 300: \"#ffe066\",\n 400: \"#ffd43b\",\n 500: \"#fcc419\",\n 600: \"#fab005\",\n 700: \"#f59f00\",\n 800: \"#f08c00\",\n 900: \"#e67700\",\n },\n orange: {\n 50: \"#fff4e6\",\n 100: \"#ffe8cc\",\n 200: \"#ffd8a8\",\n 300: \"#ffc078\",\n 400: \"#ffa94d\",\n 500: \"#ff922b\",\n 600: \"#fd7e14\",\n 700: \"#f76707\",\n 800: \"#e8590c\",\n 900: \"#d9480f\",\n },\n },\n },\n plugins: [],\n};\n","import {scaleOrdinal} from \"d3-scale\";\nimport pkg from 'open-color/open-color.js';\nconst {theme: openColor} = pkg;\n\n/**\n @namespace {Object} colorDefaults\n @desc A set of default color values used when assigning colors based on data.\n*/\nconst defaults = {\n dark: openColor.colors.gray[700],\n light: openColor.colors.gray[50],\n missing: openColor.colors.gray[400],\n off: openColor.colors.red[900],\n on: openColor.colors.green[900],\n scale: scaleOrdinal().range([\n openColor.colors.indigo[900],\n openColor.colors.yellow[600],\n openColor.colors.red[900],\n openColor.colors.green[900],\n openColor.colors.orange[600],\n openColor.colors.grape[900],\n openColor.colors.cyan[600],\n openColor.colors.pink[600],\n openColor.colors.lime[600],\n openColor.colors.blue[300],\n openColor.colors.pink[300],\n openColor.colors.lime[300],\n openColor.colors.violet[300],\n openColor.colors.cyan[100],\n openColor.colors.orange[100],\n openColor.colors.green[100],\n openColor.colors.grape[100],\n openColor.colors.red[100],\n ])\n};\n\n/**\n Returns a color based on a key, whether it is present in a user supplied object or in the default object.\n @returns {String}\n @private\n*/\nexport function getColor(k, u = {}) {\n return k in u ? u[k] : k in defaults ? defaults[k] : defaults.missing;\n}\n\nexport default defaults;\n","import {color} from \"d3-color\";\nimport {getColor} from \"./defaults.js\";\n\n/**\n @function colorAssign\n @desc Assigns a color to a value using a predefined set of defaults.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n\n // If the value is null or undefined, set to grey.\n if ([null, void 0].indexOf(c) >= 0) return getColor(\"missing\", u);\n // Else if the value is true, set to green.\n else if (c === true) return getColor(\"on\", u);\n // Else if the value is false, set to red.\n else if (c === false) return getColor(\"off\", u);\n\n const p = color(c);\n // If the value is not a valid color string, use the color scale.\n if (!p) return getColor(\"scale\", u)(c);\n\n return c.toString();\n\n}\n","import {getColor} from \"./defaults.js\";\nimport {rgb} from \"d3-color\";\n\n/**\n @function colorContrast\n @desc A set of default color values used when assigning colors based on data.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n c = rgb(c);\n const yiq = (c.r * 299 + c.g * 587 + c.b * 114) / 1000;\n return yiq >= 128 ? getColor(\"dark\", u) : getColor(\"light\", u);\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLegible\n @desc Darkens a color so that it will appear legible on a white background.\n @param {String} c A valid CSS color string.\n @returns {String}\n*/\nexport default function(c) {\n c = hsl(c);\n if (c.l > 0.45) {\n if (c.s > 0.8) c.s = 0.8;\n c.l = 0.45;\n }\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLighter\n @desc Similar to d3.color.brighter, except that this also reduces saturation so that colors don't appear neon.\n @param {String} c A valid CSS color string.\n @param {String} [i = 0.5] A value from 0 to 1 dictating the strength of the function.\n @returns {String}\n*/\nexport default function(c, i = 0.5) {\n c = hsl(c);\n i *= 1 - c.l;\n c.l += i;\n c.s -= i;\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorSubtract\n @desc Subtracts one color from another.\n @param {String} c1 The base color, a valid CSS color string.\n @param {String} c2 The color to remove from the base color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = c2.h * o2 - c1.h * o1;\n if (Math.abs(d) > 180) d -= 360;\n let h = (c1.h - d) % 360;\n const l = c1.l - (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s - (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 - (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n"],"names":["constructor","factory","prototype","extend","parent","definition","Object","create","key","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","define","color","copy","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHex8","color_formatHex8","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","format","m","l","trim","toLowerCase","exec","length","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","NaN","n","r","g","b","a","rgbConvert","o","opacity","arguments","k","Math","pow","clamp","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","isNaN","max","min","value","round","h","s","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","c1","c2","o1","o2","d","abs","InternMap","Map","get","intern_get","has","set","intern_set","delete","intern_delete","entries","keyof","defineProperties","_intern","_key","valueOf","initRange","domain","range","implicit","Symbol","ordinal","index","unknown","scale","i","undefined","push","_","slice","Array","from","apply","module","theme","colors","grape","plugins","openColor","pkg","defaults","dark","light","missing","off","on","scaleOrdinal","getColor","u","c","indexOf","p","yiq"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"d3plus-color.full.js","sources":["../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../src/add.js","../../../node_modules/internmap/src/index.js","../../../node_modules/d3-scale/src/init.js","../../../node_modules/d3-scale/src/ordinal.js","../../../node_modules/open-color/open-color.js","../src/defaults.js","../src/assign.js","../src/contrast.js","../src/legible.js","../src/lighter.js","../src/subtract.js"],"sourcesContent":["export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorAdd\n @desc Adds two colors together.\n @param {String} c1 The first color, a valid CSS color string.\n @param {String} c2 The second color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = Math.abs(c2.h * o2 - c1.h * o1);\n if (d > 180) d -= 360;\n let h = (Math.min(c1.h, c2.h) + d / 2) % 360;\n const l = c1.l + (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s + (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 + (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","/*\n *\n * 𝗖 𝗢 𝗟 𝗢 𝗥\n * v 1.9.1\n *\n * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\nmodule.exports = {\n theme: {\n colors: {\n white: \"#ffffff\",\n black: \"#000000\",\n gray: {\n 50: \"#f8f9fa\",\n 100: \"#f1f3f5\",\n 200: \"#e9ecef\",\n 300: \"#dee2e6\",\n 400: \"#ced4da\",\n 500: \"#adb5bd\",\n 600: \"#868e96\",\n 700: \"#495057\",\n 800: \"#343a40\",\n 900: \"#212529\",\n },\n red: {\n 50: \"#fff5f5\",\n 100: \"#ffe3e3\",\n 200: \"#ffc9c9\",\n 300: \"#ffa8a8\",\n 400: \"#ff8787\",\n 500: \"#ff6b6b\",\n 600: \"#fa5252\",\n 700: \"#f03e3e\",\n 800: \"#e03131\",\n 900: \"#c92a2a\",\n },\n pink: {\n 50: \"#fff0f6\",\n 100: \"#ffdeeb\",\n 200: \"#fcc2d7\",\n 300: \"#faa2c1\",\n 400: \"#f783ac\",\n 500: \"#f06595\",\n 600: \"#e64980\",\n 700: \"#d6336c\",\n 800: \"#c2255c\",\n 900: \"#a61e4d\",\n },\n grape: {\n 50: \"#f8f0fc\",\n 100: \"#f3d9fa\",\n 200: \"#eebefa\",\n 300: \"#e599f7\",\n 400: \"#da77f2\",\n 500: \"#cc5de8\",\n 600: \"#be4bdb\",\n 700: \"#ae3ec9\",\n 800: \"#9c36b5\",\n 900: \"#862e9c\",\n },\n violet: {\n 50: \"#f3f0ff\",\n 100: \"#e5dbff\",\n 200: \"#d0bfff\",\n 300: \"#b197fc\",\n 400: \"#9775fa\",\n 500: \"#845ef7\",\n 600: \"#7950f2\",\n 700: \"#7048e8\",\n 800: \"#6741d9\",\n 900: \"#5f3dc4\",\n },\n indigo: {\n 50: \"#edf2ff\",\n 100: \"#dbe4ff\",\n 200: \"#bac8ff\",\n 300: \"#91a7ff\",\n 400: \"#748ffc\",\n 500: \"#5c7cfa\",\n 600: \"#4c6ef5\",\n 700: \"#4263eb\",\n 800: \"#3b5bdb\",\n 900: \"#364fc7\",\n },\n blue: {\n 50: \"#e7f5ff\",\n 100: \"#d0ebff\",\n 200: \"#a5d8ff\",\n 300: \"#74c0fc\",\n 400: \"#4dabf7\",\n 500: \"#339af0\",\n 600: \"#228be6\",\n 700: \"#1c7ed6\",\n 800: \"#1971c2\",\n 900: \"#1864ab\",\n },\n cyan: {\n 50: \"#e3fafc\",\n 100: \"#c5f6fa\",\n 200: \"#99e9f2\",\n 300: \"#66d9e8\",\n 400: \"#3bc9db\",\n 500: \"#22b8cf\",\n 600: \"#15aabf\",\n 700: \"#1098ad\",\n 800: \"#0c8599\",\n 900: \"#0b7285\",\n },\n teal: {\n 50: \"#e6fcf5\",\n 100: \"#c3fae8\",\n 200: \"#96f2d7\",\n 300: \"#63e6be\",\n 400: \"#38d9a9\",\n 500: \"#20c997\",\n 600: \"#12b886\",\n 700: \"#0ca678\",\n 800: \"#099268\",\n 900: \"#087f5b\",\n },\n green: {\n 50: \"#ebfbee\",\n 100: \"#d3f9d8\",\n 200: \"#b2f2bb\",\n 300: \"#8ce99a\",\n 400: \"#69db7c\",\n 500: \"#51cf66\",\n 600: \"#40c057\",\n 700: \"#37b24d\",\n 800: \"#2f9e44\",\n 900: \"#2b8a3e\",\n },\n lime: {\n 50: \"#f4fce3\",\n 100: \"#e9fac8\",\n 200: \"#d8f5a2\",\n 300: \"#c0eb75\",\n 400: \"#a9e34b\",\n 500: \"#94d82d\",\n 600: \"#82c91e\",\n 700: \"#74b816\",\n 800: \"#66a80f\",\n 900: \"#5c940d\",\n },\n yellow: {\n 50: \"#fff9db\",\n 100: \"#fff3bf\",\n 200: \"#ffec99\",\n 300: \"#ffe066\",\n 400: \"#ffd43b\",\n 500: \"#fcc419\",\n 600: \"#fab005\",\n 700: \"#f59f00\",\n 800: \"#f08c00\",\n 900: \"#e67700\",\n },\n orange: {\n 50: \"#fff4e6\",\n 100: \"#ffe8cc\",\n 200: \"#ffd8a8\",\n 300: \"#ffc078\",\n 400: \"#ffa94d\",\n 500: \"#ff922b\",\n 600: \"#fd7e14\",\n 700: \"#f76707\",\n 800: \"#e8590c\",\n 900: \"#d9480f\",\n },\n },\n },\n plugins: [],\n};\n","import {scaleOrdinal} from \"d3-scale\";\nimport pkg from \"open-color/open-color.js\";\nconst {theme: openColor} = pkg;\n\n/**\n @namespace {Object} colorDefaults\n @desc A set of default color values used when assigning colors based on data.\n*/\nconst defaults = {\n dark: openColor.colors.gray[700],\n light: openColor.colors.gray[50],\n missing: openColor.colors.gray[400],\n off: openColor.colors.red[900],\n on: openColor.colors.green[900],\n scale: scaleOrdinal().range([\n openColor.colors.indigo[900],\n openColor.colors.yellow[600],\n openColor.colors.red[900],\n openColor.colors.green[900],\n openColor.colors.orange[600],\n openColor.colors.grape[900],\n openColor.colors.cyan[600],\n openColor.colors.pink[600],\n openColor.colors.lime[600],\n openColor.colors.blue[300],\n openColor.colors.pink[300],\n openColor.colors.lime[300],\n openColor.colors.violet[300],\n openColor.colors.cyan[100],\n openColor.colors.orange[100],\n openColor.colors.green[100],\n openColor.colors.grape[100],\n openColor.colors.red[100],\n ])\n};\n\n/**\n Returns a color based on a key, whether it is present in a user supplied object or in the default object.\n @returns {String}\n @private\n*/\nexport function getColor(k, u = {}) {\n return k in u ? u[k] : k in defaults ? defaults[k] : defaults.missing;\n}\n\nexport default defaults;\n","import {color} from \"d3-color\";\nimport {getColor} from \"./defaults.js\";\n\n/**\n @function colorAssign\n @desc Assigns a color to a value using a predefined set of defaults.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n\n // If the value is null or undefined, set to grey.\n if ([null, void 0].indexOf(c) >= 0) return getColor(\"missing\", u);\n // Else if the value is true, set to green.\n else if (c === true) return getColor(\"on\", u);\n // Else if the value is false, set to red.\n else if (c === false) return getColor(\"off\", u);\n\n const p = color(c);\n // If the value is not a valid color string, use the color scale.\n if (!p) return getColor(\"scale\", u)(c);\n\n return c.toString();\n\n}\n","import {getColor} from \"./defaults.js\";\nimport {rgb} from \"d3-color\";\n\n/**\n @function colorContrast\n @desc A set of default color values used when assigning colors based on data.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n c = rgb(c);\n const yiq = (c.r * 299 + c.g * 587 + c.b * 114) / 1000;\n return yiq >= 128 ? getColor(\"dark\", u) : getColor(\"light\", u);\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLegible\n @desc Darkens a color so that it will appear legible on a white background.\n @param {String} c A valid CSS color string.\n @returns {String}\n*/\nexport default function(c) {\n c = hsl(c);\n if (c.l > 0.45) {\n if (c.s > 0.8) c.s = 0.8;\n c.l = 0.45;\n }\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLighter\n @desc Similar to d3.color.brighter, except that this also reduces saturation so that colors don't appear neon.\n @param {String} c A valid CSS color string.\n @param {String} [i = 0.5] A value from 0 to 1 dictating the strength of the function.\n @returns {String}\n*/\nexport default function(c, i = 0.5) {\n c = hsl(c);\n i *= 1 - c.l;\n c.l += i;\n c.s -= i;\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorSubtract\n @desc Subtracts one color from another.\n @param {String} c1 The base color, a valid CSS color string.\n @param {String} c2 The color to remove from the base color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = c2.h * o2 - c1.h * o1;\n if (Math.abs(d) > 180) d -= 360;\n let h = (c1.h - d) % 360;\n const l = c1.l - (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s - (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 - (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n"],"names":["constructor","factory","prototype","extend","parent","definition","Object","create","key","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","define","color","copy","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHex8","color_formatHex8","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","format","m","l","trim","toLowerCase","exec","length","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","NaN","n","r","g","b","a","rgbConvert","o","opacity","arguments","k","Math","pow","clamp","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","isNaN","max","min","value","round","h","s","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","c1","c2","o1","o2","d","abs","InternMap","Map","get","intern_get","has","set","intern_set","delete","intern_delete","entries","keyof","defineProperties","_intern","_key","valueOf","initRange","domain","range","implicit","Symbol","ordinal","index","unknown","scale","i","undefined","push","_","slice","Array","from","apply","module","theme","colors","grape","plugins","openColor","pkg","defaults","dark","light","missing","off","on","scaleOrdinal","getColor","u","c","indexOf","p","yiq"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAe,eAASA,CAAAA,WAAW,EAAEC,OAAO,EAAEC,SAAS,EAAA;EACrDF,IAAAA,WAAAA,CAAYE,SAAS,GAAGD,OAAQC,CAAAA,SAAS,GAAGA,SAAAA;EAC5CA,IAAAA,SAAAA,CAAUF,WAAW,GAAGA,WAAAA;EAC1B;EAEO,SAASG,MAAAA,CAAOC,MAAM,EAAEC,UAAU,EAAA;EACvC,IAAA,IAAIH,SAAYI,GAAAA,MAAAA,CAAOC,MAAM,CAACH,OAAOF,SAAS,CAAA;MAC9C,IAAK,IAAIM,OAAOH,UAAYH,CAAAA,SAAS,CAACM,GAAI,CAAA,GAAGH,UAAU,CAACG,GAAI,CAAA;MAC5D,OAAON,SAAAA;EACT;;ECPO,SAASO,KAAS,GAAA;EAElB,IAAIC,SAAS,GAAI;EACjB,IAAIC,QAAW,GAAA,CAAA,GAAID,MAAO;EAEjC,IAAIE,GAAAA,GAAM,qBACNC,EAAAA,GAAAA,GAAM,mDACNC,EAAAA,GAAAA,GAAM,sDACNC,KAAQ,GAAA,oBAAA,EACRC,YAAe,GAAA,IAAIC,MAAO,CAAA,CAAC,OAAO,EAAEL,GAAAA,CAAI,CAAC,EAAEA,GAAI,CAAA,CAAC,EAAEA,GAAI,CAAA,IAAI,CAAC,CAAA,EAC3DM,YAAe,GAAA,IAAID,OAAO,CAAC,OAAO,EAAEH,GAAAA,CAAI,CAAC,EAAEA,IAAI,CAAC,EAAEA,GAAI,CAAA,IAAI,CAAC,CAAA,EAC3DK,gBAAgB,IAAIF,MAAAA,CAAO,CAAC,QAAQ,EAAEL,GAAAA,CAAI,CAAC,EAAEA,GAAI,CAAA,CAAC,EAAEA,GAAAA,CAAI,CAAC,EAAEC,IAAI,IAAI,CAAC,CACpEO,EAAAA,aAAAA,GAAgB,IAAIH,MAAAA,CAAO,CAAC,QAAQ,EAAEH,GAAI,CAAA,CAAC,EAAEA,GAAAA,CAAI,CAAC,EAAEA,GAAAA,CAAI,CAAC,EAAED,GAAI,CAAA,IAAI,CAAC,CAAA,EACpEQ,YAAe,GAAA,IAAIJ,MAAO,CAAA,CAAC,OAAO,EAAEJ,IAAI,CAAC,EAAEC,GAAI,CAAA,CAAC,EAAEA,GAAAA,CAAI,IAAI,CAAC,CAAA,EAC3DQ,aAAgB,GAAA,IAAIL,MAAO,CAAA,CAAC,QAAQ,EAAEJ,GAAAA,CAAI,CAAC,EAAEC,GAAI,CAAA,CAAC,EAAEA,GAAAA,CAAI,CAAC,EAAED,GAAI,CAAA,IAAI,CAAC,CAAA;EAExE,IAAIU,KAAQ,GAAA;MACVC,SAAW,EAAA,QAAA;MACXC,YAAc,EAAA,QAAA;MACdC,IAAM,EAAA,QAAA;MACNC,UAAY,EAAA,QAAA;MACZC,KAAO,EAAA,QAAA;MACPC,KAAO,EAAA,QAAA;MACPC,MAAQ,EAAA,QAAA;MACRC,KAAO,EAAA,QAAA;MACPC,cAAgB,EAAA,QAAA;MAChBC,IAAM,EAAA,QAAA;MACNC,UAAY,EAAA,QAAA;MACZC,KAAO,EAAA,QAAA;MACPC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,UAAY,EAAA,QAAA;MACZC,SAAW,EAAA,QAAA;MACXC,KAAO,EAAA,QAAA;MACPC,cAAgB,EAAA,QAAA;MAChBC,QAAU,EAAA,QAAA;MACVC,OAAS,EAAA,QAAA;MACTC,IAAM,EAAA,QAAA;MACNC,QAAU,EAAA,QAAA;MACVC,QAAU,EAAA,QAAA;MACVC,aAAe,EAAA,QAAA;MACfC,QAAU,EAAA,QAAA;MACVC,SAAW,EAAA,QAAA;MACXC,QAAU,EAAA,QAAA;MACVC,SAAW,EAAA,QAAA;MACXC,WAAa,EAAA,QAAA;MACbC,cAAgB,EAAA,QAAA;MAChBC,UAAY,EAAA,QAAA;MACZC,UAAY,EAAA,QAAA;MACZC,OAAS,EAAA,QAAA;MACTC,UAAY,EAAA,QAAA;MACZC,YAAc,EAAA,QAAA;MACdC,aAAe,EAAA,QAAA;MACfC,aAAe,EAAA,QAAA;MACfC,aAAe,EAAA,QAAA;MACfC,aAAe,EAAA,QAAA;MACfC,UAAY,EAAA,QAAA;MACZC,QAAU,EAAA,QAAA;MACVC,WAAa,EAAA,QAAA;MACbC,OAAS,EAAA,QAAA;MACTC,OAAS,EAAA,QAAA;MACTC,UAAY,EAAA,QAAA;MACZC,SAAW,EAAA,QAAA;MACXC,WAAa,EAAA,QAAA;MACbC,WAAa,EAAA,QAAA;MACbC,OAAS,EAAA,QAAA;MACTC,SAAW,EAAA,QAAA;MACXC,UAAY,EAAA,QAAA;MACZC,IAAM,EAAA,QAAA;MACNC,SAAW,EAAA,QAAA;MACXC,IAAM,EAAA,QAAA;MACNC,KAAO,EAAA,QAAA;MACPC,WAAa,EAAA,QAAA;MACbC,IAAM,EAAA,QAAA;MACNC,QAAU,EAAA,QAAA;MACVC,OAAS,EAAA,QAAA;MACTC,SAAW,EAAA,QAAA;MACXC,MAAQ,EAAA,QAAA;MACRC,KAAO,EAAA,QAAA;MACPC,KAAO,EAAA,QAAA;MACPC,QAAU,EAAA,QAAA;MACVC,aAAe,EAAA,QAAA;MACfC,SAAW,EAAA,QAAA;MACXC,YAAc,EAAA,QAAA;MACdC,SAAW,EAAA,QAAA;MACXC,UAAY,EAAA,QAAA;MACZC,SAAW,EAAA,QAAA;MACXC,oBAAsB,EAAA,QAAA;MACtBC,SAAW,EAAA,QAAA;MACXC,UAAY,EAAA,QAAA;MACZC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,WAAa,EAAA,QAAA;MACbC,aAAe,EAAA,QAAA;MACfC,YAAc,EAAA,QAAA;MACdC,cAAgB,EAAA,QAAA;MAChBC,cAAgB,EAAA,QAAA;MAChBC,cAAgB,EAAA,QAAA;MAChBC,WAAa,EAAA,QAAA;MACbC,IAAM,EAAA,QAAA;MACNC,SAAW,EAAA,QAAA;MACXC,KAAO,EAAA,QAAA;MACPC,OAAS,EAAA,QAAA;MACTC,MAAQ,EAAA,QAAA;MACRC,gBAAkB,EAAA,QAAA;MAClBC,UAAY,EAAA,QAAA;MACZC,YAAc,EAAA,QAAA;MACdC,YAAc,EAAA,QAAA;MACdC,cAAgB,EAAA,QAAA;MAChBC,eAAiB,EAAA,QAAA;MACjBC,iBAAmB,EAAA,QAAA;MACnBC,eAAiB,EAAA,QAAA;MACjBC,eAAiB,EAAA,QAAA;MACjBC,YAAc,EAAA,QAAA;MACdC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,QAAU,EAAA,QAAA;MACVC,WAAa,EAAA,QAAA;MACbC,IAAM,EAAA,QAAA;MACNC,OAAS,EAAA,QAAA;MACTC,KAAO,EAAA,QAAA;MACPC,SAAW,EAAA,QAAA;MACXC,MAAQ,EAAA,QAAA;MACRC,SAAW,EAAA,QAAA;MACXC,MAAQ,EAAA,QAAA;MACRC,aAAe,EAAA,QAAA;MACfC,SAAW,EAAA,QAAA;MACXC,aAAe,EAAA,QAAA;MACfC,aAAe,EAAA,QAAA;MACfC,UAAY,EAAA,QAAA;MACZC,SAAW,EAAA,QAAA;MACXC,IAAM,EAAA,QAAA;MACNC,IAAM,EAAA,QAAA;MACNC,IAAM,EAAA,QAAA;MACNC,UAAY,EAAA,QAAA;MACZC,MAAQ,EAAA,QAAA;MACRC,aAAe,EAAA,QAAA;MACfC,GAAK,EAAA,QAAA;MACLC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,WAAa,EAAA,QAAA;MACbC,MAAQ,EAAA,QAAA;MACRC,UAAY,EAAA,QAAA;MACZC,QAAU,EAAA,QAAA;MACVC,QAAU,EAAA,QAAA;MACVC,MAAQ,EAAA,QAAA;MACRC,MAAQ,EAAA,QAAA;MACRC,OAAS,EAAA,QAAA;MACTC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,SAAW,EAAA,QAAA;MACXC,IAAM,EAAA,QAAA;MACNC,WAAa,EAAA,QAAA;MACbC,SAAW,EAAA,QAAA;MACXC,GAAK,EAAA,QAAA;MACLC,IAAM,EAAA,QAAA;MACNC,OAAS,EAAA,QAAA;MACTC,MAAQ,EAAA,QAAA;MACRC,SAAW,EAAA,QAAA;MACXC,MAAQ,EAAA,QAAA;MACRC,KAAO,EAAA,QAAA;MACPC,KAAO,EAAA,QAAA;MACPC,UAAY,EAAA,QAAA;MACZC,MAAQ,EAAA,QAAA;MACRC,WAAa,EAAA;EACf,CAAA;EAEAC,MAAAA,CAAOnK,OAAOoK,KAAO,EAAA;EACnBC,IAAAA,IAAAA,CAAAA,CAAKC,QAAQ,EAAA;UACX,OAAOzK,MAAAA,CAAO0K,MAAM,CAAC,IAAI,IAAI,CAAChL,WAAW,EAAE,IAAI,EAAE+K,QAAAA,CAAAA;EACnD,KAAA;EACAE,IAAAA,WAAAA,CAAAA,GAAAA;EACE,QAAA,OAAO,IAAI,CAACC,GAAG,EAAA,CAAGD,WAAW,EAAA;EAC/B,KAAA;MACAE,GAAKC,EAAAA,eAAAA;MACLC,SAAWD,EAAAA,eAAAA;MACXE,UAAYC,EAAAA,gBAAAA;MACZC,SAAWC,EAAAA,eAAAA;MACXC,SAAWC,EAAAA,eAAAA;MACXC,QAAUD,EAAAA;EACZ,CAAA,CAAA;EAEA,SAASP,eAAAA,GAAAA;EACP,IAAA,OAAO,IAAI,CAACF,GAAG,EAAA,CAAGG,SAAS,EAAA;EAC7B;EAEA,SAASE,gBAAAA,GAAAA;EACP,IAAA,OAAO,IAAI,CAACL,GAAG,EAAA,CAAGI,UAAU,EAAA;EAC9B;EAEA,SAASG,eAAAA,GAAAA;MACP,OAAOI,UAAAA,CAAW,IAAI,CAAA,CAAEL,SAAS,EAAA;EACnC;EAEA,SAASG,eAAAA,GAAAA;EACP,IAAA,OAAO,IAAI,CAACT,GAAG,EAAA,CAAGQ,SAAS,EAAA;EAC7B;EAEe,SAASb,MAAMiB,MAAM,EAAA;EAClC,IAAA,IAAIC,CAAGC,EAAAA,CAAAA;EACPF,IAAAA,MAAAA,GAAS,CAACA,MAAAA,GAAS,EAAC,EAAGG,IAAI,GAAGC,WAAW,EAAA;MACzC,OAAQH,CAAAA,CAAAA,GAAIhL,KAAMoL,CAAAA,IAAI,CAACL,MAAAA,CAAM,KAAME,CAAID,GAAAA,CAAC,CAAC,CAAA,CAAE,CAACK,MAAM,EAAEL,CAAAA,GAAIM,QAASN,CAAAA,CAAC,CAAC,CAAA,CAAE,EAAE,EAAA,CAAA,EAAKC,CAAM,KAAA,CAAA,GAAIM,IAAKP,CAAAA,CAAAA,CAAAA;SACrFC,CAAM,KAAA,CAAA,GAAI,IAAIO,GAAAA,CAAI,CAACR,IAAK,IAAI,GAAQA,GAAAA,CAAAA,IAAK,CAAI,GAAA,IAAA,EAAO,CAACA,IAAK,IAAI,GAAQA,GAAAA,CAAAA,GAAI,IAAO,EAAEA,CAAAA,CAAAA,GAAI,GAAE,KAAM,CAAMA,GAAAA,CAAAA,GAAI,GAAM,EAAA,CAAA,CAAA;EAC/GC,OAAAA,CAAAA,KAAM,IAAIQ,IAAKT,CAAAA,CAAAA,IAAK,EAAK,GAAA,IAAA,EAAMA,KAAK,EAAK,GAAA,IAAA,EAAMA,CAAK,IAAA,CAAA,GAAI,MAAM,CAACA,IAAI,IAAG,IAAK;EAC3EC,OAAAA,CAAAA,KAAM,CAAIQ,GAAAA,IAAAA,CAAK,CAACT,IAAK,KAAK,GAAQA,GAAAA,CAAAA,IAAK,CAAI,GAAA,IAAA,EAAO,CAAM,IAAA,CAAA,GAAI,GAAQA,GAAAA,CAAAA,IAAK,IAAI,IAAO,EAACA,CAAK,IAAA,CAAA,GAAI,GAAQA,GAAAA,CAAAA,GAAI,IAAO,EAAC,CAAA,CAAEA,CAAI,GAAA,GAAE,KAAM,CAAMA,GAAAA,CAAAA,GAAI,GAAG,IAAK;EAClJ,OAAA,IAAA;UACCA,CAAAA,CAAI/K,GAAAA,YAAAA,CAAamL,IAAI,CAACL,MAAAA,CAAM,IAAK,IAAIS,GAAIR,CAAAA,CAAC,CAAC,CAAE,CAAA,EAAEA,CAAC,CAAC,CAAE,CAAA,EAAEA,CAAC,CAAC,CAAA,CAAE,EAAE,CAAA,CAAA;EAC5D,OAACA,CAAAA,CAAAA,GAAI7K,YAAaiL,CAAAA,IAAI,CAACL,MAAAA,CAAM,IAAK,IAAIS,GAAIR,CAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,GAAM,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,GAAM,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,GAAM,GAAK,EAAA,CAAA,CAAA;SAChG,CAACA,CAAI5K,GAAAA,aAAAA,CAAcgL,IAAI,CAACL,OAAM,IAAKU,IAAAA,CAAKT,CAAC,CAAC,CAAE,CAAA,EAAEA,CAAC,CAAC,CAAA,CAAE,EAAEA,CAAC,CAAC,CAAA,CAAE,EAAEA,CAAC,CAAC,CAAE,CAAA,CAAA;EAC9D,OAACA,CAAAA,CAAAA,GAAI3K,aAAc+K,CAAAA,IAAI,CAACL,MAAAA,CAAM,IAAKU,IAAAA,CAAKT,CAAC,CAAC,CAAE,CAAA,GAAG,MAAM,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,GAAM,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,GAAM,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE;SAClG,CAACA,IAAI1K,YAAa8K,CAAAA,IAAI,CAACL,MAAM,CAAA,IAAKW,IAAKV,CAAAA,CAAC,CAAC,CAAA,CAAE,EAAEA,CAAC,CAAC,CAAE,CAAA,GAAG,GAAKA,EAAAA,CAAC,CAAC,CAAE,CAAA,GAAG,GAAK,EAAA,CAAA,CAAA;SACrE,CAACA,CAAIzK,GAAAA,aAAAA,CAAc6K,IAAI,CAACL,MAAM,CAAA,IAAKW,IAAKV,CAAAA,CAAC,CAAC,CAAA,CAAE,EAAEA,CAAC,CAAC,CAAE,CAAA,GAAG,GAAKA,EAAAA,CAAC,CAAC,CAAA,CAAE,GAAG,GAAA,EAAKA,CAAC,CAAC,CAAE,CAAA,CAAA;SAC1ExK,KAAMmL,CAAAA,cAAc,CAACZ,MAAUQ,CAAAA,GAAAA,IAAAA,CAAK/K,KAAK,CAACuK,MAAAA,CAAO;EACjDA,OAAAA,MAAAA,KAAW,gBAAgB,IAAIS,GAAAA,CAAII,GAAKA,EAAAA,GAAAA,EAAKA,KAAK,CAClD,CAAA,GAAA,IAAA;EACR;EAEA,SAASL,KAAKM,CAAC,EAAA;MACb,OAAO,IAAIL,IAAIK,CAAK,IAAA,EAAA,GAAK,MAAMA,CAAK,IAAA,CAAA,GAAI,IAAMA,EAAAA,CAAAA,GAAI,IAAM,EAAA,CAAA,CAAA;EAC1D;EAEA,SAASJ,KAAKK,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAA;EACtB,IAAA,IAAIA,CAAK,IAAA,CAAA,EAAGH,CAAIC,GAAAA,CAAAA,GAAIC,CAAIJ,GAAAA,GAAAA;EACxB,IAAA,OAAO,IAAIJ,GAAAA,CAAIM,CAAGC,EAAAA,CAAAA,EAAGC,CAAGC,EAAAA,CAAAA,CAAAA;EAC1B;EAEO,SAASC,WAAWC,CAAC,EAAA;EAC1B,IAAA,IAAI,EAAEA,CAAAA,YAAazM,KAAI,CAAA,EAAIyM,IAAIrC,KAAMqC,CAAAA,CAAAA,CAAAA;MACrC,IAAI,CAACA,CAAG,EAAA,OAAO,IAAIX,GAAAA;EACnBW,IAAAA,CAAAA,GAAIA,EAAEhC,GAAG,EAAA;EACT,IAAA,OAAO,IAAIqB,GAAAA,CAAIW,CAAEL,CAAAA,CAAC,EAAEK,CAAAA,CAAEJ,CAAC,EAAEI,CAAEH,CAAAA,CAAC,EAAEG,CAAAA,CAAEC,OAAO,CAAA;EACzC;EAEO,SAASjC,IAAI2B,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEI,OAAO,EAAA;EAClC,IAAA,OAAOC,SAAUhB,CAAAA,MAAM,KAAK,CAAA,GAAIa,UAAWJ,CAAAA,CAAAA,CAAAA,GAAK,IAAIN,GAAAA,CAAIM,CAAGC,EAAAA,CAAAA,EAAGC,CAAGI,EAAAA,OAAAA,IAAW,OAAO,CAAIA,GAAAA,OAAAA,CAAAA;EACzF;EAEO,SAASZ,IAAIM,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEI,OAAO,EAAA;MAClC,IAAI,CAACN,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACC,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACC,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACI,OAAO,GAAG,CAACA,OAAAA;EAClB;EAEAvC,MAAO2B,CAAAA,GAAAA,EAAKrB,GAAK/K,EAAAA,MAAAA,CAAOM,KAAO,EAAA;EAC7BE,IAAAA,QAAAA,CAAAA,CAAS0M,CAAC,EAAA;EACRA,QAAAA,CAAAA,GAAIA,KAAK,IAAO1M,GAAAA,QAAAA,GAAW2M,IAAKC,CAAAA,GAAG,CAAC5M,QAAU0M,EAAAA,CAAAA,CAAAA;EAC9C,QAAA,OAAO,IAAId,GAAI,CAAA,IAAI,CAACM,CAAC,GAAGQ,GAAG,IAAI,CAACP,CAAC,GAAGO,CAAAA,EAAG,IAAI,CAACN,CAAC,GAAGM,CAAG,EAAA,IAAI,CAACF,OAAO,CAAA;EACjE,KAAA;EACAzM,IAAAA,MAAAA,CAAAA,CAAO2M,CAAC,EAAA;EACNA,QAAAA,CAAAA,GAAIA,KAAK,IAAO3M,GAAAA,MAAAA,GAAS4M,IAAKC,CAAAA,GAAG,CAAC7M,MAAQ2M,EAAAA,CAAAA,CAAAA;EAC1C,QAAA,OAAO,IAAId,GAAI,CAAA,IAAI,CAACM,CAAC,GAAGQ,GAAG,IAAI,CAACP,CAAC,GAAGO,CAAAA,EAAG,IAAI,CAACN,CAAC,GAAGM,CAAG,EAAA,IAAI,CAACF,OAAO,CAAA;EACjE,KAAA;EACAjC,IAAAA,GAAAA,CAAAA,GAAAA;EACE,QAAA,OAAO,IAAI;EACb,KAAA;EACAsC,IAAAA,KAAAA,CAAAA,GAAAA;UACE,OAAO,IAAIjB,IAAIkB,MAAO,CAAA,IAAI,CAACZ,CAAC,CAAA,EAAGY,OAAO,IAAI,CAACX,CAAC,CAAGW,EAAAA,MAAAA,CAAO,IAAI,CAACV,CAAC,GAAGW,MAAO,CAAA,IAAI,CAACP,OAAO,CAAA,CAAA;EACpF,KAAA;EACAlC,IAAAA,WAAAA,CAAAA,GAAAA;EACE,QAAA,OAAO,IAAE,IAAO,IAAI,CAAC4B,CAAC,IAAI,IAAI,CAACA,CAAC,GAAG,KAAA,IAC3B,IAAQ,IAAA,IAAI,CAACC,CAAC,IAAI,IAAI,CAACA,CAAC,GAAG,KAAA,IAC3B,IAAQ,IAAA,IAAI,CAACC,CAAC,IAAI,IAAI,CAACA,CAAC,GAAG,KAC3B,IAAA,CAAA,IAAK,IAAI,CAACI,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,CAAA;EAC/C,KAAA;MACAhC,GAAKwC,EAAAA,aAAAA;MACLtC,SAAWsC,EAAAA,aAAAA;MACXrC,UAAYsC,EAAAA,cAAAA;MACZlC,SAAWmC,EAAAA,aAAAA;MACXjC,QAAUiC,EAAAA;EACZ,CAAA,CAAA,CAAA;EAEA,SAASF,aAAAA,GAAAA;EACP,IAAA,OAAO,CAAC,CAAC,EAAExC,GAAI,CAAA,IAAI,CAAC0B,CAAC,CAAA,CAAA,EAAI1B,GAAI,CAAA,IAAI,CAAC2B,CAAC,CAAA,CAAA,EAAI3B,IAAI,IAAI,CAAC4B,CAAC,CAAG,CAAA,CAAA;EACtD;EAEA,SAASa,cAAAA,GAAAA;EACP,IAAA,OAAO,CAAC,CAAC,EAAEzC,GAAAA,CAAI,IAAI,CAAC0B,CAAC,CAAI1B,CAAAA,EAAAA,GAAAA,CAAI,IAAI,CAAC2B,CAAC,CAAA,CAAA,EAAI3B,IAAI,IAAI,CAAC4B,CAAC,CAAA,CAAA,EAAI5B,GAAI,CAAC2C,CAAAA,KAAAA,CAAM,IAAI,CAACX,OAAO,CAAI,GAAA,CAAA,GAAI,IAAI,CAACA,OAAM,IAAK,GAAM,CAAA,CAAA,CAAA;EAC5G;EAEA,SAASU,aAAAA,GAAAA;EACP,IAAA,MAAMb,CAAIU,GAAAA,MAAAA,CAAO,IAAI,CAACP,OAAO,CAAA;EAC7B,IAAA,OAAO,CAAGH,EAAAA,CAAAA,KAAM,CAAI,GAAA,MAAA,GAAS,UAAUS,MAAO,CAAA,IAAI,CAACZ,CAAC,CAAE,CAAA,EAAE,EAAEY,MAAAA,CAAO,IAAI,CAACX,CAAC,CAAE,CAAA,EAAE,EAAEW,MAAAA,CAAO,IAAI,CAACV,CAAC,CAAIC,CAAAA,EAAAA,CAAAA,KAAM,CAAI,GAAA,GAAA,GAAM,CAAC,EAAE,EAAEA,CAAE,CAAA,CAAC,CAAC,CAAE,CAAA;EAC3H;EAEA,SAASU,OAAOP,OAAO,EAAA;MACrB,OAAOW,KAAAA,CAAMX,OAAW,CAAA,GAAA,CAAA,GAAIG,IAAKS,CAAAA,GAAG,CAAC,CAAGT,EAAAA,IAAAA,CAAKU,GAAG,CAAC,CAAGb,EAAAA,OAAAA,CAAAA,CAAAA;EACtD;EAEA,SAASM,OAAOQ,KAAK,EAAA;MACnB,OAAOX,IAAAA,CAAKS,GAAG,CAAC,CAAGT,EAAAA,IAAAA,CAAKU,GAAG,CAAC,GAAKV,EAAAA,IAAAA,CAAKY,KAAK,CAACD,KAAU,CAAA,IAAA,CAAA,CAAA,CAAA;EACxD;EAEA,SAAS9C,IAAI8C,KAAK,EAAA;EAChBA,IAAAA,KAAAA,GAAQR,MAAOQ,CAAAA,KAAAA,CAAAA;MACf,OAAQA,CAAAA,KAAQ,GAAA,EAAA,GAAK,MAAM,EAAC,IAAKA,KAAMrC,CAAAA,QAAQ,CAAC,EAAA,CAAA;EAClD;EAEA,SAASa,KAAK0B,CAAC,EAAEC,CAAC,EAAEpC,CAAC,EAAEgB,CAAC,EAAA;EACtB,IAAA,IAAIA,CAAK,IAAA,CAAA,EAAGmB,CAAIC,GAAAA,CAAAA,GAAIpC,CAAIW,GAAAA,GAAAA;EACnB,SAAA,IAAIX,CAAK,IAAA,CAAA,IAAKA,CAAK,IAAA,CAAA,EAAGmC,IAAIC,CAAIzB,GAAAA,GAAAA;WAC9B,IAAIyB,CAAAA,IAAK,GAAGD,CAAIxB,GAAAA,GAAAA;EACrB,IAAA,OAAO,IAAI0B,GAAAA,CAAIF,CAAGC,EAAAA,CAAAA,EAAGpC,CAAGgB,EAAAA,CAAAA,CAAAA;EAC1B;EAEO,SAASnB,WAAWqB,CAAC,EAAA;EAC1B,IAAA,IAAIA,CAAamB,YAAAA,GAAAA,EAAK,OAAO,IAAIA,IAAInB,CAAEiB,CAAAA,CAAC,EAAEjB,CAAAA,CAAEkB,CAAC,EAAElB,CAAAA,CAAElB,CAAC,EAAEkB,EAAEC,OAAO,CAAA;EAC7D,IAAA,IAAI,EAAED,CAAAA,YAAazM,KAAI,CAAA,EAAIyM,IAAIrC,KAAMqC,CAAAA,CAAAA,CAAAA;MACrC,IAAI,CAACA,CAAG,EAAA,OAAO,IAAImB,GAAAA;MACnB,IAAInB,CAAAA,YAAamB,KAAK,OAAOnB,CAAAA;EAC7BA,IAAAA,CAAAA,GAAIA,EAAEhC,GAAG,EAAA;EACT,IAAA,IAAI2B,IAAIK,CAAEL,CAAAA,CAAC,GAAG,GAAA,EACVC,IAAII,CAAEJ,CAAAA,CAAC,GAAG,GAAA,EACVC,IAAIG,CAAEH,CAAAA,CAAC,GAAG,GACViB,EAAAA,GAAAA,GAAMV,KAAKU,GAAG,CAACnB,CAAGC,EAAAA,CAAAA,EAAGC,IACrBgB,GAAMT,GAAAA,IAAAA,CAAKS,GAAG,CAAClB,CAAAA,EAAGC,GAAGC,CACrBoB,CAAAA,EAAAA,CAAAA,GAAIxB,GACJyB,EAAAA,CAAAA,GAAIL,MAAMC,GACVhC,EAAAA,CAAAA,GAAI,CAAC+B,GAAAA,GAAMC,GAAE,IAAK,CAAA;EACtB,IAAA,IAAII,CAAG,EAAA;EACL,QAAA,IAAIvB,CAAMkB,KAAAA,GAAAA,EAAKI,CAAI,GAACrB,CAAAA,CAAAA,GAAIC,CAAAA,IAAKqB,CAAI,GAACtB,CAAAA,CAAAA,GAAIC,CAAAA,IAAK,CAAA;eACtC,IAAID,CAAAA,KAAMiB,KAAKI,CAAI,GAACpB,CAAAA,CAAIF,GAAAA,CAAAA,IAAKuB,CAAI,GAAA,CAAA;EACjCD,aAAAA,CAAAA,GAAI,CAACtB,CAAIC,GAAAA,CAAAA,IAAKsB,CAAI,GAAA,CAAA;EACvBA,QAAAA,CAAAA,IAAKpC,CAAI,GAAA,GAAA,GAAM+B,GAAMC,GAAAA,GAAAA,GAAM,IAAID,GAAMC,GAAAA,GAAAA;UACrCG,CAAK,IAAA,EAAA;OACA,MAAA;EACLC,QAAAA,CAAAA,GAAIpC,CAAI,GAAA,CAAA,IAAKA,CAAI,GAAA,CAAA,GAAI,CAAImC,GAAAA,CAAAA;EAC3B;EACA,IAAA,OAAO,IAAIE,GAAIF,CAAAA,CAAAA,EAAGC,CAAGpC,EAAAA,CAAAA,EAAGkB,EAAEC,OAAO,CAAA;EACnC;EAEO,SAASmB,IAAIH,CAAC,EAAEC,CAAC,EAAEpC,CAAC,EAAEmB,OAAO,EAAA;EAClC,IAAA,OAAOC,SAAUhB,CAAAA,MAAM,KAAK,CAAA,GAAIP,UAAWsC,CAAAA,CAAAA,CAAAA,GAAK,IAAIE,GAAAA,CAAIF,CAAGC,EAAAA,CAAAA,EAAGpC,CAAGmB,EAAAA,OAAAA,IAAW,OAAO,CAAIA,GAAAA,OAAAA,CAAAA;EACzF;EAEA,SAASkB,IAAIF,CAAC,EAAEC,CAAC,EAAEpC,CAAC,EAAEmB,OAAO,EAAA;MAC3B,IAAI,CAACgB,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACC,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACpC,CAAC,GAAG,CAACA,CAAAA;MACV,IAAI,CAACmB,OAAO,GAAG,CAACA,OAAAA;EAClB;EAEAvC,MAAOyD,CAAAA,GAAAA,EAAKC,GAAKnO,EAAAA,MAAAA,CAAOM,KAAO,EAAA;EAC7BE,IAAAA,QAAAA,CAAAA,CAAS0M,CAAC,EAAA;EACRA,QAAAA,CAAAA,GAAIA,KAAK,IAAO1M,GAAAA,QAAAA,GAAW2M,IAAKC,CAAAA,GAAG,CAAC5M,QAAU0M,EAAAA,CAAAA,CAAAA;EAC9C,QAAA,OAAO,IAAIgB,GAAI,CAAA,IAAI,CAACF,CAAC,EAAE,IAAI,CAACC,CAAC,EAAE,IAAI,CAACpC,CAAC,GAAGqB,CAAG,EAAA,IAAI,CAACF,OAAO,CAAA;EACzD,KAAA;EACAzM,IAAAA,MAAAA,CAAAA,CAAO2M,CAAC,EAAA;EACNA,QAAAA,CAAAA,GAAIA,KAAK,IAAO3M,GAAAA,MAAAA,GAAS4M,IAAKC,CAAAA,GAAG,CAAC7M,MAAQ2M,EAAAA,CAAAA,CAAAA;EAC1C,QAAA,OAAO,IAAIgB,GAAI,CAAA,IAAI,CAACF,CAAC,EAAE,IAAI,CAACC,CAAC,EAAE,IAAI,CAACpC,CAAC,GAAGqB,CAAG,EAAA,IAAI,CAACF,OAAO,CAAA;EACzD,KAAA;EACAjC,IAAAA,GAAAA,CAAAA,GAAAA;UACE,IAAIiD,CAAAA,GAAI,IAAI,CAACA,CAAC,GAAG,GAAM,GAAC,CAAA,IAAI,CAACA,CAAC,GAAG,CAAA,IAAK,GAClCC,EAAAA,CAAAA,GAAIN,MAAMK,CAAML,CAAAA,IAAAA,KAAAA,CAAM,IAAI,CAACM,CAAC,CAAA,GAAI,IAAI,IAAI,CAACA,CAAC,EAC1CpC,CAAAA,GAAI,IAAI,CAACA,CAAC,EACVuC,EAAKvC,GAAAA,CAAAA,GAAI,CAACA,CAAAA,GAAI,MAAMA,CAAI,GAAA,CAAA,GAAIA,CAAAA,IAAKoC,CAAAA,EACjCI,EAAK,GAAA,CAAA,GAAIxC,CAAIuC,GAAAA,EAAAA;UACjB,OAAO,IAAIhC,GACTkC,CAAAA,OAAAA,CAAQN,CAAK,IAAA,GAAA,GAAMA,CAAI,GAAA,GAAA,GAAMA,CAAI,GAAA,GAAA,EAAKK,EAAID,EAAAA,EAAAA,CAAAA,EAC1CE,OAAQN,CAAAA,CAAAA,EAAGK,IAAID,EACfE,CAAAA,EAAAA,OAAAA,CAAQN,CAAI,GAAA,GAAA,GAAMA,CAAI,GAAA,GAAA,GAAMA,CAAI,GAAA,GAAA,EAAKK,EAAID,EAAAA,EAAAA,CAAAA,EACzC,IAAI,CAACpB,OAAO,CAAA;EAEhB,KAAA;EACAK,IAAAA,KAAAA,CAAAA,GAAAA;UACE,OAAO,IAAIa,IAAIK,MAAO,CAAA,IAAI,CAACP,CAAC,CAAA,EAAGQ,OAAO,IAAI,CAACP,CAAC,CAAGO,EAAAA,MAAAA,CAAO,IAAI,CAAC3C,CAAC,GAAG0B,MAAO,CAAA,IAAI,CAACP,OAAO,CAAA,CAAA;EACpF,KAAA;EACAlC,IAAAA,WAAAA,CAAAA,GAAAA;EACE,QAAA,OAAO,CAAC,CAAA,IAAK,IAAI,CAACmD,CAAC,IAAI,IAAI,CAACA,CAAC,IAAI,CAAKN,IAAAA,KAAAA,CAAM,IAAI,CAACM,CAAC,CAAA,KAC1C,CAAK,IAAA,IAAI,CAACpC,CAAC,IAAI,IAAI,CAACA,CAAC,IAAI,CAAA,IACzB,CAAK,IAAA,IAAI,CAACmB,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,CAAA;EAC/C,KAAA;EACA3B,IAAAA,SAAAA,CAAAA,GAAAA;EACE,QAAA,MAAMwB,CAAIU,GAAAA,MAAAA,CAAO,IAAI,CAACP,OAAO,CAAA;EAC7B,QAAA,OAAO,GAAGH,CAAM,KAAA,CAAA,GAAI,MAAS,GAAA,OAAA,CAAA,EAAU0B,OAAO,IAAI,CAACP,CAAC,CAAA,CAAE,EAAE,EAAEQ,MAAAA,CAAO,IAAI,CAACP,CAAC,CAAI,GAAA,GAAA,CAAI,GAAG,EAAEO,OAAO,IAAI,CAAC3C,CAAC,CAAA,GAAI,IAAI,CAAC,EAAEgB,CAAM,KAAA,CAAA,GAAI,MAAM,CAAC,EAAE,EAAEA,CAAE,CAAA,CAAC,CAAC,CAAE,CAAA;EACzI;EACF,CAAA,CAAA,CAAA;EAEA,SAAS0B,OAAOT,KAAK,EAAA;EACnBA,IAAAA,KAAAA,GAAQ,CAACA,KAAS,IAAA,CAAA,IAAK,GAAA;MACvB,OAAOA,KAAAA,GAAQ,CAAIA,GAAAA,KAAAA,GAAQ,GAAMA,GAAAA,KAAAA;EACnC;EAEA,SAASU,OAAOV,KAAK,EAAA;MACnB,OAAOX,IAAAA,CAAKS,GAAG,CAAC,CAAA,EAAGT,KAAKU,GAAG,CAAC,GAAGC,KAAS,IAAA,CAAA,CAAA,CAAA;EAC1C;EAEA,+CACA,SAASQ,OAAAA,CAAQN,CAAC,EAAEK,EAAE,EAAED,EAAE,EAAA;EACxB,IAAA,OAAO,CAACJ,CAAI,GAAA,EAAA,GAAKK,EAAK,GAACD,CAAAA,EAAAA,GAAKC,EAAC,IAAKL,CAAI,GAAA,EAAA,GAChCA,CAAI,GAAA,GAAA,GAAMI,EACVJ,GAAAA,CAAAA,GAAI,GAAMK,GAAAA,EAAAA,GAAK,CAACD,EAAKC,GAAAA,EAAC,KAAM,GAAML,GAAAA,CAAAA,CAAK,GAAA,EAAA,GACvCK,EAAC,IAAK,GAAA;EACd;;ECzYA;;;;;;;;EAQA,GACe,YAASI,CAAAA,EAAE,EAAEC,EAAE,EAAEC,EAAK,GAAA,CAAC,EAAEC,EAAAA,GAAK,CAAC,EAAA;EAC5CH,IAAAA,EAAAA,GAAKN,GAAIM,CAAAA,EAAAA,CAAAA;EACTC,IAAAA,EAAAA,GAAKP,GAAIO,CAAAA,EAAAA,CAAAA;MACT,IAAIG,CAAAA,GAAI1B,IAAK2B,CAAAA,GAAG,CAACJ,EAAAA,CAAGV,CAAC,GAAGY,EAAAA,GAAKH,EAAGT,CAAAA,CAAC,GAAGW,EAAAA,CAAAA;MACpC,IAAIE,CAAAA,GAAI,KAAKA,CAAK,IAAA,GAAA;EAClB,IAAA,IAAIb,CAAI,GAACb,CAAAA,IAAAA,CAAKU,GAAG,CAACY,EAAAA,CAAGT,CAAC,EAAEU,EAAGV,CAAAA,CAAC,CAAIa,GAAAA,CAAAA,GAAI,CAAA,IAAK,GAAA;EACzC,IAAA,MAAMhD,CAAI4C,GAAAA,EAAAA,CAAG5C,CAAC,GAAG,CAAC6C,EAAG7C,CAAAA,CAAC,GAAG+C,EAAAA,GAAKH,EAAG5C,CAAAA,CAAC,GAAG8C,EAAC,IAAK,CACrCV,EAAAA,CAAAA,GAAIQ,EAAGR,CAAAA,CAAC,GAAIS,CAAAA,EAAAA,CAAGT,CAAC,GAAGW,EAAKH,GAAAA,EAAAA,CAAGR,CAAC,GAAGU,EAAC,IAAK,CAAA;;MAE3C,IAAIX,CAAAA,GAAI,GAAGA,CAAK,IAAA,GAAA;EAChB,IAAA,OAAOG,IAAI,CAAC,IAAI,EAAEH,CAAAA,CAAE,CAAC,EAAEC,CAAAA,GAAI,GAAI,CAAA,EAAE,EAAEpC,CAAI,GAAA,GAAA,CAAI,EAAE,CAAC,EAAEJ,QAAQ,EAAA;EACxD;EACF;;ECvBO,MAAMsD,SAAkBC,SAAAA,GAAAA,CAAAA;EAM7BC,IAAAA,GAAAA,CAAI5O,GAAG,EAAE;EACP,QAAA,OAAO,KAAK,CAAC4O,GAAIC,CAAAA,UAAAA,CAAW,IAAI,EAAE7O,GAAAA,CAAAA,CAAAA;EACpC;EACA8O,IAAAA,GAAAA,CAAI9O,GAAG,EAAE;EACP,QAAA,OAAO,KAAK,CAAC8O,GAAID,CAAAA,UAAAA,CAAW,IAAI,EAAE7O,GAAAA,CAAAA,CAAAA;EACpC;MACA+O,GAAI/O,CAAAA,GAAG,EAAEyN,KAAK,EAAE;EACd,QAAA,OAAO,KAAK,CAACsB,GAAAA,CAAIC,UAAW,CAAA,IAAI,EAAEhP,GAAMyN,CAAAA,EAAAA,KAAAA,CAAAA;EAC1C;EACAwB,IAAAA,MAAAA,CAAOjP,GAAG,EAAE;EACV,QAAA,OAAO,KAAK,CAACiP,MAAOC,CAAAA,aAAAA,CAAc,IAAI,EAAElP,GAAAA,CAAAA,CAAAA;EAC1C;EAhBAR,IAAAA,WAAAA,CAAY2P,OAAO,EAAEnP,GAAMoP,GAAAA,KAAK,CAAE;UAChC,KAAK,EAAA;UACLtP,MAAOuP,CAAAA,gBAAgB,CAAC,IAAI,EAAE;cAACC,OAAS,EAAA;EAAC7B,gBAAAA,KAAAA,EAAO,IAAIkB,GAAAA;EAAK,aAAA;cAAGY,IAAM,EAAA;kBAAC9B,KAAOzN,EAAAA;EAAG;EAAC,SAAA,CAAA;EAC9E,QAAA,IAAImP,OAAW,IAAA,IAAA,EAAM,KAAK,MAAM,CAACnP,GAAAA,EAAKyN,KAAM,CAAA,IAAI0B,OAAS,CAAA,IAAI,CAACJ,GAAG,CAAC/O,GAAKyN,EAAAA,KAAAA,CAAAA;EACzE;EAaF;EAmBA,SAASoB,WAAW,EAACS,OAAO,EAAEC,IAAI,EAAC,EAAE9B,KAAK,EAAA;EACxC,IAAA,MAAMzN,MAAMuP,IAAK9B,CAAAA,KAAAA,CAAAA;EACjB,IAAA,OAAO6B,QAAQR,GAAG,CAAC9O,OAAOsP,OAAQV,CAAAA,GAAG,CAAC5O,GAAOyN,CAAAA,GAAAA,KAAAA;EAC/C;EAEA,SAASuB,WAAW,EAACM,OAAO,EAAEC,IAAI,EAAC,EAAE9B,KAAK,EAAA;EACxC,IAAA,MAAMzN,MAAMuP,IAAK9B,CAAAA,KAAAA,CAAAA;EACjB,IAAA,IAAI6B,QAAQR,GAAG,CAAC9O,MAAM,OAAOsP,OAAAA,CAAQV,GAAG,CAAC5O,GAAAA,CAAAA;MACzCsP,OAAQP,CAAAA,GAAG,CAAC/O,GAAKyN,EAAAA,KAAAA,CAAAA;MACjB,OAAOA,KAAAA;EACT;EAEA,SAASyB,cAAc,EAACI,OAAO,EAAEC,IAAI,EAAC,EAAE9B,KAAK,EAAA;EAC3C,IAAA,MAAMzN,MAAMuP,IAAK9B,CAAAA,KAAAA,CAAAA;MACjB,IAAI6B,OAAAA,CAAQR,GAAG,CAAC9O,GAAM,CAAA,EAAA;UACpByN,KAAQ6B,GAAAA,OAAAA,CAAQV,GAAG,CAAC5O,GAAAA,CAAAA;EACpBsP,QAAAA,OAAAA,CAAQL,MAAM,CAACjP,GAAAA,CAAAA;EACjB;MACA,OAAOyN,KAAAA;EACT;EAEA,SAAS2B,MAAM3B,KAAK,EAAA;EAClB,IAAA,OAAOA,UAAU,IAAQ,IAAA,OAAOA,UAAU,QAAWA,GAAAA,KAAAA,CAAM+B,OAAO,EAAK/B,GAAAA,KAAAA;EACzE;;EC5DO,SAASgC,SAAAA,CAAUC,MAAM,EAAEC,KAAK,EAAA;EACrC,IAAA,OAAQ/C,UAAUhB,MAAM;UACtB,KAAK,CAAA;EAAG,YAAA;UACR,KAAK,CAAA;cAAG,IAAI,CAAC+D,KAAK,CAACD,MAAAA,CAAAA;EAAS,YAAA;EAC5B,QAAA;EAAS,YAAA,IAAI,CAACC,KAAK,CAACA,KAAAA,CAAAA,CAAOD,MAAM,CAACA,MAAAA,CAAAA;EAAS,YAAA;EAC7C;EACA,IAAA,OAAO,IAAI;EACb;;ECJO,MAAME,QAAWC,GAAAA,MAAAA,CAAO,UAAY,CAAA;EAE5B,SAASC,OAAAA,GAAAA;MACtB,IAAIC,KAAAA,GAAQ,IAAIrB,SACZgB,EAAAA,EAAAA,MAAAA,GAAS,EAAE,EACXC,KAAAA,GAAQ,EAAE,EACVK,OAAUJ,GAAAA,QAAAA;EAEd,IAAA,SAASK,MAAMzB,CAAC,EAAA;UACd,IAAI0B,CAAAA,GAAIH,KAAMnB,CAAAA,GAAG,CAACJ,CAAAA,CAAAA;EAClB,QAAA,IAAI0B,MAAMC,SAAW,EAAA;cACnB,IAAIH,OAAAA,KAAYJ,UAAU,OAAOI,OAAAA;EACjCD,YAAAA,KAAAA,CAAMhB,GAAG,CAACP,CAAAA,EAAG0B,IAAIR,MAAOU,CAAAA,IAAI,CAAC5B,CAAK,CAAA,GAAA,CAAA,CAAA;EACpC;EACA,QAAA,OAAOmB,KAAK,CAACO,CAAIP,GAAAA,KAAAA,CAAM/D,MAAM,CAAC;EAChC;MAEAqE,KAAMP,CAAAA,MAAM,GAAG,SAASW,CAAC,EAAA;EACvB,QAAA,IAAI,CAACzD,SAAUhB,CAAAA,MAAM,EAAE,OAAO8D,OAAOY,KAAK,EAAA;UAC1CZ,MAAS,GAAA,EAAE,EAAEK,KAAAA,GAAQ,IAAIrB,SAAAA,EAAAA;UACzB,KAAK,MAAMjB,SAAS4C,CAAG,CAAA;cACrB,IAAIN,KAAAA,CAAMjB,GAAG,CAACrB,KAAQ,CAAA,EAAA;EACtBsC,YAAAA,KAAAA,CAAMhB,GAAG,CAACtB,KAAAA,EAAOiC,MAAOU,CAAAA,IAAI,CAAC3C,KAAS,CAAA,GAAA,CAAA,CAAA;EACxC;UACA,OAAOwC,KAAAA;EACT,KAAA;MAEAA,KAAMN,CAAAA,KAAK,GAAG,SAASU,CAAC,EAAA;EACtB,QAAA,OAAOzD,SAAUhB,CAAAA,MAAM,IAAI+D,KAAQY,GAAAA,KAAAA,CAAMC,IAAI,CAACH,CAAIJ,CAAAA,EAAAA,KAAI,IAAKN,KAAAA,CAAMW,KAAK,EAAA;EACxE,KAAA;MAEAL,KAAMD,CAAAA,OAAO,GAAG,SAASK,CAAC,EAAA;EACxB,QAAA,OAAOzD,UAAUhB,MAAM,IAAIoE,OAAUK,GAAAA,CAAAA,EAAGJ,KAAI,IAAKD,OAAAA;EACnD,KAAA;EAEAC,IAAAA,KAAAA,CAAM3F,IAAI,GAAG,WAAA;EACX,QAAA,OAAOwF,OAAQJ,CAAAA,MAAAA,EAAQC,KAAOK,CAAAA,CAAAA,OAAO,CAACA,OAAAA,CAAAA;EACxC,KAAA;MAEAP,SAAUgB,CAAAA,KAAK,CAACR,KAAOrD,EAAAA,SAAAA,CAAAA;MAEvB,OAAOqD,KAAAA;EACT;;;;;;;;;;;;;;;;;;;ECtCAS,CAAAA,WAAc,GAAG;OACfC,KAAO,EAAA;WACLC,MAAQ,EAAA;eACN5G,KAAO,EAAA,SAAA;eACPzI,KAAO,EAAA,SAAA;eACP8C,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAmE,GAAK,EAAA;mBACH,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAL,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACA0I,KAAO,EAAA;mBACL,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACA/G,MAAQ,EAAA;mBACN,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAlF,MAAQ,EAAA;mBACN,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAnD,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAW,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAsH,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACApF,KAAO,EAAA;mBACL,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACA4B,IAAM,EAAA;mBACJ,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAgE,MAAQ,EAAA;mBACN,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;gBACP;eACAzC,MAAQ,EAAA;mBACN,EAAI,EAAA,SAAA;mBACJ,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA,SAAA;mBACL,GAAK,EAAA;EACP;EACF;QACF;EACAqJ,KAAAA,OAAAA,EAAS;IACX;;;;;;;ECzKA,MAAM,EAACH,KAAAA,EAAOI,SAAS,EAAC,GAAGC,GAAAA;EAE3B;;;EAGA,SACMC,QAAW,GAAA;EACfC,IAAAA,IAAAA,EAAMH,SAAUH,CAAAA,MAAM,CAACvM,IAAI,CAAC,GAAI,CAAA;EAChC8M,IAAAA,KAAAA,EAAOJ,SAAUH,CAAAA,MAAM,CAACvM,IAAI,CAAC,EAAG,CAAA;EAChC+M,IAAAA,OAAAA,EAASL,SAAUH,CAAAA,MAAM,CAACvM,IAAI,CAAC,GAAI,CAAA;EACnCgN,IAAAA,GAAAA,EAAKN,SAAUH,CAAAA,MAAM,CAACpI,GAAG,CAAC,GAAI,CAAA;EAC9B8I,IAAAA,EAAAA,EAAIP,SAAUH,CAAAA,MAAM,CAACtM,KAAK,CAAC,GAAI,CAAA;MAC/B2L,KAAOsB,EAAAA,OAAAA,EAAAA,CAAe5B,KAAK,CAAC;EAC1BoB,QAAAA,SAAAA,CAAUH,MAAM,CAAChM,MAAM,CAAC,GAAI,CAAA;EAC5BmM,QAAAA,SAAAA,CAAUH,MAAM,CAAC1G,MAAM,CAAC,GAAI,CAAA;EAC5B6G,QAAAA,SAAAA,CAAUH,MAAM,CAACpI,GAAG,CAAC,GAAI,CAAA;EACzBuI,QAAAA,SAAAA,CAAUH,MAAM,CAACtM,KAAK,CAAC,GAAI,CAAA;EAC3ByM,QAAAA,SAAAA,CAAUH,MAAM,CAACnJ,MAAM,CAAC,GAAI,CAAA;EAC5BsJ,QAAAA,SAAAA,CAAUH,MAAM,CAACC,KAAK,CAAC,GAAI,CAAA;EAC3BE,QAAAA,SAAAA,CAAUH,MAAM,CAACxO,IAAI,CAAC,GAAI,CAAA;EAC1B2O,QAAAA,SAAAA,CAAUH,MAAM,CAACzI,IAAI,CAAC,GAAI,CAAA;EAC1B4I,QAAAA,SAAAA,CAAUH,MAAM,CAAC1K,IAAI,CAAC,GAAI,CAAA;EAC1B6K,QAAAA,SAAAA,CAAUH,MAAM,CAACnP,IAAI,CAAC,GAAI,CAAA;EAC1BsP,QAAAA,SAAAA,CAAUH,MAAM,CAACzI,IAAI,CAAC,GAAI,CAAA;EAC1B4I,QAAAA,SAAAA,CAAUH,MAAM,CAAC1K,IAAI,CAAC,GAAI,CAAA;EAC1B6K,QAAAA,SAAAA,CAAUH,MAAM,CAAC9G,MAAM,CAAC,GAAI,CAAA;EAC5BiH,QAAAA,SAAAA,CAAUH,MAAM,CAACxO,IAAI,CAAC,GAAI,CAAA;EAC1B2O,QAAAA,SAAAA,CAAUH,MAAM,CAACnJ,MAAM,CAAC,GAAI,CAAA;EAC5BsJ,QAAAA,SAAAA,CAAUH,MAAM,CAACtM,KAAK,CAAC,GAAI,CAAA;EAC3ByM,QAAAA,SAAAA,CAAUH,MAAM,CAACC,KAAK,CAAC,GAAI,CAAA;EAC3BE,QAAAA,SAAAA,CAAUH,MAAM,CAACpI,GAAG,CAAC,GAAI;EAC1B,KAAA;EACH;EAEA;;;;EAIA,GACO,SAASgJ,QAAAA,CAAS3E,CAAC,EAAE4E,CAAAA,GAAI,EAAE,EAAA;EAChC,IAAA,OAAO5E,CAAK4E,IAAAA,CAAAA,GAAIA,CAAC,CAAC5E,CAAE,CAAA,GAAGA,CAAKoE,IAAAA,QAAAA,GAAWA,QAAQ,CAACpE,CAAE,CAAA,GAAGoE,SAASG,OAAO;EACvE;;ECxCA;;;;;;EAMA,GACe,eAASM,CAAAA,CAAC,EAAED,CAAAA,GAAI,EAAE,EAAA;;MAG/B,IAAI;EAAC,QAAA,IAAA;UAAM;EAAO,KAAA,CAACE,OAAO,CAACD,CAAAA,CAAAA,IAAM,CAAG,EAAA,OAAOF,SAAS,SAAWC,EAAAA,CAAAA,CAAAA;EAE1D,SAAA,IAAIC,CAAM,KAAA,IAAA,EAAM,OAAOF,QAAAA,CAAS,IAAMC,EAAAA,CAAAA,CAAAA;EAEtC,SAAA,IAAIC,CAAM,KAAA,KAAA,EAAO,OAAOF,QAAAA,CAAS,KAAOC,EAAAA,CAAAA,CAAAA;EAE7C,IAAA,MAAMG,IAAIvH,KAAMqH,CAAAA,CAAAA,CAAAA;;EAEhB,IAAA,IAAI,CAACE,CAAAA,EAAG,OAAOJ,QAAAA,CAAS,SAASC,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA;EAEpC,IAAA,OAAOA,EAAEtG,QAAQ,EAAA;EAEnB;;ECtBA;;;;;;EAMA,GACe,iBAASsG,CAAAA,CAAC,EAAED,CAAAA,GAAI,EAAE,EAAA;EAC/BC,IAAAA,CAAAA,GAAIhH,GAAIgH,CAAAA,CAAAA,CAAAA;EACR,IAAA,MAAMG,GAAM,GAACH,CAAAA,CAAAA,CAAErF,CAAC,GAAG,GAAA,GAAMqF,CAAEpF,CAAAA,CAAC,GAAG,GAAMoF,GAAAA,CAAAA,CAAEnF,CAAC,GAAG,GAAE,IAAK,IAAA;EAClD,IAAA,OAAOsF,OAAO,GAAML,GAAAA,QAAAA,CAAS,MAAQC,EAAAA,CAAAA,CAAAA,GAAKD,SAAS,OAASC,EAAAA,CAAAA,CAAAA;EAC9D;;ECZA;;;;;EAKA,GACe,iBAASC,CAAC,EAAA;EACvBA,IAAAA,CAAAA,GAAI5D,GAAI4D,CAAAA,CAAAA,CAAAA;MACR,IAAIA,CAAAA,CAAElG,CAAC,GAAG,IAAM,EAAA;EACd,QAAA,IAAIkG,EAAE9D,CAAC,GAAG,GAAK8D,EAAAA,CAAAA,CAAE9D,CAAC,GAAG,GAAA;EACrB8D,QAAAA,CAAAA,CAAElG,CAAC,GAAG,IAAA;EACR;EACA,IAAA,OAAOkG,EAAEtG,QAAQ,EAAA;EACnB;;ECbA;;;;;;EAMA,GACe,gBAAA,CAASsG,CAAC,EAAExB,IAAI,GAAG,EAAA;EAChCwB,IAAAA,CAAAA,GAAI5D,GAAI4D,CAAAA,CAAAA,CAAAA;MACRxB,CAAK,IAAA,CAAA,GAAIwB,EAAElG,CAAC;EACZkG,IAAAA,CAAAA,CAAElG,CAAC,IAAI0E,CAAAA;EACPwB,IAAAA,CAAAA,CAAE9D,CAAC,IAAIsC,CAAAA;EACP,IAAA,OAAOwB,EAAEtG,QAAQ,EAAA;EACnB;;ECbA;;;;;;;;EAQA,GACe,iBAASgD,CAAAA,EAAE,EAAEC,EAAE,EAAEC,EAAK,GAAA,CAAC,EAAEC,EAAAA,GAAK,CAAC,EAAA;EAC5CH,IAAAA,EAAAA,GAAKN,GAAIM,CAAAA,EAAAA,CAAAA;EACTC,IAAAA,EAAAA,GAAKP,GAAIO,CAAAA,EAAAA,CAAAA;EACT,IAAA,IAAIG,IAAIH,EAAGV,CAAAA,CAAC,GAAGY,EAAKH,GAAAA,EAAAA,CAAGT,CAAC,GAAGW,EAAAA;EAC3B,IAAA,IAAIxB,IAAK2B,CAAAA,GAAG,CAACD,CAAAA,CAAAA,GAAK,KAAKA,CAAK,IAAA,GAAA;EAC5B,IAAA,IAAIb,IAAI,CAACS,GAAGT,CAAC,GAAGa,CAAAA,IAAK,GAAA;EACrB,IAAA,MAAMhD,CAAI4C,GAAAA,EAAAA,CAAG5C,CAAC,GAAG,CAAC6C,EAAG7C,CAAAA,CAAC,GAAG+C,EAAAA,GAAKH,EAAG5C,CAAAA,CAAC,GAAG8C,EAAC,IAAK,CACrCV,EAAAA,CAAAA,GAAIQ,EAAGR,CAAAA,CAAC,GAAIS,CAAAA,EAAAA,CAAGT,CAAC,GAAGW,EAAKH,GAAAA,EAAAA,CAAGR,CAAC,GAAGU,EAAC,IAAK,CAAA;;MAE3C,IAAIX,CAAAA,GAAI,GAAGA,CAAK,IAAA,GAAA;EAChB,IAAA,OAAOG,IAAI,CAAC,IAAI,EAAEH,CAAAA,CAAE,CAAC,EAAEC,CAAAA,GAAI,GAAI,CAAA,EAAE,EAAEpC,CAAI,GAAA,GAAA,CAAI,EAAE,CAAC,EAAEJ,QAAQ,EAAA;EACxD;EACF;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,3,4,5,6]}
|
package/umd/d3plus-color.js
CHANGED
package/umd/d3plus-color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d3plus-color.js","sources":["../src/add.js","../src/defaults.js","../src/assign.js","../src/contrast.js","../src/legible.js","../src/lighter.js","../src/subtract.js"],"sourcesContent":["import {hsl} from \"d3-color\";\n\n/**\n @function colorAdd\n @desc Adds two colors together.\n @param {String} c1 The first color, a valid CSS color string.\n @param {String} c2 The second color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = Math.abs(c2.h * o2 - c1.h * o1);\n if (d > 180) d -= 360;\n let h = (Math.min(c1.h, c2.h) + d / 2) % 360;\n const l = c1.l + (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s + (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 + (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n","import {scaleOrdinal} from \"d3-scale\";\nimport pkg from 'open-color/open-color.js';\nconst {theme: openColor} = pkg;\n\n/**\n @namespace {Object} colorDefaults\n @desc A set of default color values used when assigning colors based on data.\n*/\nconst defaults = {\n dark: openColor.colors.gray[700],\n light: openColor.colors.gray[50],\n missing: openColor.colors.gray[400],\n off: openColor.colors.red[900],\n on: openColor.colors.green[900],\n scale: scaleOrdinal().range([\n openColor.colors.indigo[900],\n openColor.colors.yellow[600],\n openColor.colors.red[900],\n openColor.colors.green[900],\n openColor.colors.orange[600],\n openColor.colors.grape[900],\n openColor.colors.cyan[600],\n openColor.colors.pink[600],\n openColor.colors.lime[600],\n openColor.colors.blue[300],\n openColor.colors.pink[300],\n openColor.colors.lime[300],\n openColor.colors.violet[300],\n openColor.colors.cyan[100],\n openColor.colors.orange[100],\n openColor.colors.green[100],\n openColor.colors.grape[100],\n openColor.colors.red[100],\n ])\n};\n\n/**\n Returns a color based on a key, whether it is present in a user supplied object or in the default object.\n @returns {String}\n @private\n*/\nexport function getColor(k, u = {}) {\n return k in u ? u[k] : k in defaults ? defaults[k] : defaults.missing;\n}\n\nexport default defaults;\n","import {color} from \"d3-color\";\nimport {getColor} from \"./defaults.js\";\n\n/**\n @function colorAssign\n @desc Assigns a color to a value using a predefined set of defaults.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n\n // If the value is null or undefined, set to grey.\n if ([null, void 0].indexOf(c) >= 0) return getColor(\"missing\", u);\n // Else if the value is true, set to green.\n else if (c === true) return getColor(\"on\", u);\n // Else if the value is false, set to red.\n else if (c === false) return getColor(\"off\", u);\n\n const p = color(c);\n // If the value is not a valid color string, use the color scale.\n if (!p) return getColor(\"scale\", u)(c);\n\n return c.toString();\n\n}\n","import {getColor} from \"./defaults.js\";\nimport {rgb} from \"d3-color\";\n\n/**\n @function colorContrast\n @desc A set of default color values used when assigning colors based on data.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n c = rgb(c);\n const yiq = (c.r * 299 + c.g * 587 + c.b * 114) / 1000;\n return yiq >= 128 ? getColor(\"dark\", u) : getColor(\"light\", u);\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLegible\n @desc Darkens a color so that it will appear legible on a white background.\n @param {String} c A valid CSS color string.\n @returns {String}\n*/\nexport default function(c) {\n c = hsl(c);\n if (c.l > 0.45) {\n if (c.s > 0.8) c.s = 0.8;\n c.l = 0.45;\n }\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLighter\n @desc Similar to d3.color.brighter, except that this also reduces saturation so that colors don't appear neon.\n @param {String} c A valid CSS color string.\n @param {String} [i = 0.5] A value from 0 to 1 dictating the strength of the function.\n @returns {String}\n*/\nexport default function(c, i = 0.5) {\n c = hsl(c);\n i *= 1 - c.l;\n c.l += i;\n c.s -= i;\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorSubtract\n @desc Subtracts one color from another.\n @param {String} c1 The base color, a valid CSS color string.\n @param {String} c2 The color to remove from the base color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = c2.h * o2 - c1.h * o1;\n if (Math.abs(d) > 180) d -= 360;\n let h = (c1.h - d) % 360;\n const l = c1.l - (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s - (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 - (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n"],"names":["c1","c2","o1","o2","hsl","d","Math","abs","h","min","l","s","toString","theme","openColor","pkg","defaults","dark","colors","gray","light","missing","off","red","on","green","scale","scaleOrdinal","range","indigo","yellow","orange","grape","cyan","pink","lime","blue","violet","getColor","k","u","c","indexOf","p","color","rgb","yiq","r","g","b","i"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"d3plus-color.js","sources":["../src/add.js","../src/defaults.js","../src/assign.js","../src/contrast.js","../src/legible.js","../src/lighter.js","../src/subtract.js"],"sourcesContent":["import {hsl} from \"d3-color\";\n\n/**\n @function colorAdd\n @desc Adds two colors together.\n @param {String} c1 The first color, a valid CSS color string.\n @param {String} c2 The second color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = Math.abs(c2.h * o2 - c1.h * o1);\n if (d > 180) d -= 360;\n let h = (Math.min(c1.h, c2.h) + d / 2) % 360;\n const l = c1.l + (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s + (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 + (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n","import {scaleOrdinal} from \"d3-scale\";\nimport pkg from \"open-color/open-color.js\";\nconst {theme: openColor} = pkg;\n\n/**\n @namespace {Object} colorDefaults\n @desc A set of default color values used when assigning colors based on data.\n*/\nconst defaults = {\n dark: openColor.colors.gray[700],\n light: openColor.colors.gray[50],\n missing: openColor.colors.gray[400],\n off: openColor.colors.red[900],\n on: openColor.colors.green[900],\n scale: scaleOrdinal().range([\n openColor.colors.indigo[900],\n openColor.colors.yellow[600],\n openColor.colors.red[900],\n openColor.colors.green[900],\n openColor.colors.orange[600],\n openColor.colors.grape[900],\n openColor.colors.cyan[600],\n openColor.colors.pink[600],\n openColor.colors.lime[600],\n openColor.colors.blue[300],\n openColor.colors.pink[300],\n openColor.colors.lime[300],\n openColor.colors.violet[300],\n openColor.colors.cyan[100],\n openColor.colors.orange[100],\n openColor.colors.green[100],\n openColor.colors.grape[100],\n openColor.colors.red[100],\n ])\n};\n\n/**\n Returns a color based on a key, whether it is present in a user supplied object or in the default object.\n @returns {String}\n @private\n*/\nexport function getColor(k, u = {}) {\n return k in u ? u[k] : k in defaults ? defaults[k] : defaults.missing;\n}\n\nexport default defaults;\n","import {color} from \"d3-color\";\nimport {getColor} from \"./defaults.js\";\n\n/**\n @function colorAssign\n @desc Assigns a color to a value using a predefined set of defaults.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n\n // If the value is null or undefined, set to grey.\n if ([null, void 0].indexOf(c) >= 0) return getColor(\"missing\", u);\n // Else if the value is true, set to green.\n else if (c === true) return getColor(\"on\", u);\n // Else if the value is false, set to red.\n else if (c === false) return getColor(\"off\", u);\n\n const p = color(c);\n // If the value is not a valid color string, use the color scale.\n if (!p) return getColor(\"scale\", u)(c);\n\n return c.toString();\n\n}\n","import {getColor} from \"./defaults.js\";\nimport {rgb} from \"d3-color\";\n\n/**\n @function colorContrast\n @desc A set of default color values used when assigning colors based on data.\n @param {String} c A valid CSS color string.\n @param {Object} [u = defaults] An object containing overrides of the default colors.\n @returns {String}\n*/\nexport default function(c, u = {}) {\n c = rgb(c);\n const yiq = (c.r * 299 + c.g * 587 + c.b * 114) / 1000;\n return yiq >= 128 ? getColor(\"dark\", u) : getColor(\"light\", u);\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLegible\n @desc Darkens a color so that it will appear legible on a white background.\n @param {String} c A valid CSS color string.\n @returns {String}\n*/\nexport default function(c) {\n c = hsl(c);\n if (c.l > 0.45) {\n if (c.s > 0.8) c.s = 0.8;\n c.l = 0.45;\n }\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorLighter\n @desc Similar to d3.color.brighter, except that this also reduces saturation so that colors don't appear neon.\n @param {String} c A valid CSS color string.\n @param {String} [i = 0.5] A value from 0 to 1 dictating the strength of the function.\n @returns {String}\n*/\nexport default function(c, i = 0.5) {\n c = hsl(c);\n i *= 1 - c.l;\n c.l += i;\n c.s -= i;\n return c.toString();\n}\n","import {hsl} from \"d3-color\";\n\n/**\n @function colorSubtract\n @desc Subtracts one color from another.\n @param {String} c1 The base color, a valid CSS color string.\n @param {String} c2 The color to remove from the base color, also a valid CSS color string.\n @param {String} [o1 = 1] Value from 0 to 1 of the first color's opacity.\n @param {String} [o2 = 1] Value from 0 to 1 of the first color's opacity.\n @returns {String}\n*/\nexport default function(c1, c2, o1 = 1, o2 = 1) {\n c1 = hsl(c1);\n c2 = hsl(c2);\n let d = c2.h * o2 - c1.h * o1;\n if (Math.abs(d) > 180) d -= 360;\n let h = (c1.h - d) % 360;\n const l = c1.l - (c2.l * o2 - c1.l * o1) / 2,\n s = c1.s - (c2.s * o2 - c1.s * o1) / 2;\n // a = o1 - (o2 - o1) / 2;\n if (h < 0) h += 360;\n return hsl(`hsl(${h},${s * 100}%,${l * 100}%)`).toString();\n // return hsl(`hsl(${h},${s * 100}%,${l * 100}%,${a})`).toString();\n}\n"],"names":["c1","c2","o1","o2","hsl","d","Math","abs","h","min","l","s","toString","theme","openColor","pkg","defaults","dark","colors","gray","light","missing","off","red","on","green","scale","scaleOrdinal","range","indigo","yellow","orange","grape","cyan","pink","lime","blue","violet","getColor","k","u","c","indexOf","p","color","rgb","yiq","r","g","b","i"],"mappings":"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"}
|
package/umd/d3plus-color.min.js
CHANGED