@dpuse/dpuse-tool-d3 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -208
- package/dist/axis-DbjL_93j.js +1621 -0
- package/dist/axis-DbjL_93j.js.map +1 -0
- package/dist/bump-znhpCF6A.js +75 -0
- package/dist/bump-znhpCF6A.js.map +1 -0
- package/dist/dpuse-tool-d3.es.js +4958 -16433
- package/dist/dpuse-tool-d3.es.js.map +1 -1
- package/dist/drag-B46QGUMq.js +173 -0
- package/dist/drag-B46QGUMq.js.map +1 -0
- package/dist/{erdDiagram-DNEvMuIA.js → erdDiagram-b-qDkEhY.js} +22 -20
- package/dist/erdDiagram-b-qDkEhY.js.map +1 -0
- package/dist/linear-J4iYa1Bf.js +34 -0
- package/dist/linear-J4iYa1Bf.js.map +1 -0
- package/dist/link-Dti9fi9g.js +33 -0
- package/dist/link-Dti9fi9g.js.map +1 -0
- package/dist/networkDiagram-QWVy8iRy.js +493 -0
- package/dist/networkDiagram-QWVy8iRy.js.map +1 -0
- package/dist/observablePlot-CNlbR_T4.js +7008 -0
- package/dist/observablePlot-CNlbR_T4.js.map +1 -0
- package/dist/path-Bt1sPr2f.js +65 -0
- package/dist/path-Bt1sPr2f.js.map +1 -0
- package/dist/sankeyDiagram-Dgf87Zt4.js +360 -0
- package/dist/sankeyDiagram-Dgf87Zt4.js.map +1 -0
- package/dist/{bump-S1d-3Q8P.js → select-BIuoFcZG.js} +161 -325
- package/dist/select-BIuoFcZG.js.map +1 -0
- package/dist/src-B7SGbtRQ.js +332 -0
- package/dist/src-B7SGbtRQ.js.map +1 -0
- package/dist/src-DnMaAyIP.js +1194 -0
- package/dist/src-DnMaAyIP.js.map +1 -0
- package/dist/sum-BAZU479z.js +36 -0
- package/dist/sum-BAZU479z.js.map +1 -0
- package/dist/treeDiagram-BJ_QF4os.js +277 -0
- package/dist/treeDiagram-BJ_QF4os.js.map +1 -0
- package/dist/types/src/index.d.ts +6 -4
- package/dist/types/src/observablePlot.d.ts +8 -0
- package/package.json +1 -1
- package/dist/bump-S1d-3Q8P.js.map +0 -1
- package/dist/erdDiagram-DNEvMuIA.js.map +0 -1
- package/dist/types/src/plotBarChart.d.ts +0 -7
- /package/dist/types/tests/{plotBarChart.test.d.ts → observablePlot.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-DnMaAyIP.js","names":["sourceEvent","get","set","select","noevent","define","constant","rgb","colorRgb","basis","basisClosed","number","decompose","number","timeout","interpolateNumber","interpolateRgb","interpolateString","namespace","interpolateTransform","interpolate","namespace","matcher","selector","selectorAll","style","interpolateTransform","interpolate","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","easeCubicInOut","selection_interrupt","selection_transition"],"sources":["../node_modules/d3-selection/src/sourceEvent.js","../node_modules/d3-selection/src/pointer.js","../node_modules/d3-dispatch/src/dispatch.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-timer/src/timer.js","../node_modules/d3-timer/src/timeout.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-transition/src/selection/index.js"],"sourcesContent":["export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","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","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//#region node_modules/d3-array/src/max.js
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
let n;
|
|
4
|
+
if (t === void 0) for (let t of e) t != null && (n < t || n === void 0 && t >= t) && (n = t);
|
|
5
|
+
else {
|
|
6
|
+
let r = -1;
|
|
7
|
+
for (let i of e) (i = t(i, ++r, e)) != null && (n < i || n === void 0 && i >= i) && (n = i);
|
|
8
|
+
}
|
|
9
|
+
return n;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region node_modules/d3-array/src/min.js
|
|
13
|
+
function t(e, t) {
|
|
14
|
+
let n;
|
|
15
|
+
if (t === void 0) for (let t of e) t != null && (n > t || n === void 0 && t >= t) && (n = t);
|
|
16
|
+
else {
|
|
17
|
+
let r = -1;
|
|
18
|
+
for (let i of e) (i = t(i, ++r, e)) != null && (n > i || n === void 0 && i >= i) && (n = i);
|
|
19
|
+
}
|
|
20
|
+
return n;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region node_modules/d3-array/src/sum.js
|
|
24
|
+
function n(e, t) {
|
|
25
|
+
let n = 0;
|
|
26
|
+
if (t === void 0) for (let t of e) (t = +t) && (n += t);
|
|
27
|
+
else {
|
|
28
|
+
let r = -1;
|
|
29
|
+
for (let i of e) (i = +t(i, ++r, e)) && (n += i);
|
|
30
|
+
}
|
|
31
|
+
return n;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { t as n, e as r, n as t };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=sum-BAZU479z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sum-BAZU479z.js","names":[],"sources":["../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/sum.js"],"sourcesContent":["export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":";AAAA,SAAwB,EAAI,GAAQ,GAAS;CAC3C,IAAI;CACJ,IAAI,MAAY,KAAA,GACT,KAAA,IAAM,KAAS,GAClB,AAAI,KAAS,SACL,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;MAGL;EACL,IAAI,IAAQ;EACZ,KAAK,IAAI,KAAS,GAChB,CAAK,IAAQ,EAAQ,GAAO,EAAE,GAAO,CAAM,MAAM,SACzC,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;CAGZ;CACA,OAAO;AACT;;;ACnBA,SAAwB,EAAI,GAAQ,GAAS;CAC3C,IAAI;CACJ,IAAI,MAAY,KAAA,GACT,KAAA,IAAM,KAAS,GAClB,AAAI,KAAS,SACL,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;MAGL;EACL,IAAI,IAAQ;EACZ,KAAK,IAAI,KAAS,GAChB,CAAK,IAAQ,EAAQ,GAAO,EAAE,GAAO,CAAM,MAAM,SACzC,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;CAGZ;CACA,OAAO;AACT;;;ACnBA,SAAwB,EAAI,GAAQ,GAAS;CAC3C,IAAI,IAAM;CACV,IAAI,MAAY,KAAA,GACT,KAAA,IAAI,KAAS,GAChB,CAAI,IAAQ,CAAC,OACX,KAAO;MAGN;EACL,IAAI,IAAQ;EACZ,KAAK,IAAI,KAAS,GAChB,CAAI,IAAQ,CAAC,EAAQ,GAAO,EAAE,GAAO,CAAM,OACzC,KAAO;CAGb;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { t as e } from "./select-BIuoFcZG.js";
|
|
2
|
+
import { t } from "./link-Dti9fi9g.js";
|
|
3
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/count.js
|
|
4
|
+
function n(e) {
|
|
5
|
+
var t = 0, n = e.children, r = n && n.length;
|
|
6
|
+
if (!r) t = 1;
|
|
7
|
+
else for (; --r >= 0;) t += n[r].value;
|
|
8
|
+
e.value = t;
|
|
9
|
+
}
|
|
10
|
+
function r() {
|
|
11
|
+
return this.eachAfter(n);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/each.js
|
|
15
|
+
function i(e, t) {
|
|
16
|
+
let n = -1;
|
|
17
|
+
for (let r of this) e.call(t, r, ++n, this);
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/eachBefore.js
|
|
22
|
+
function a(e, t) {
|
|
23
|
+
for (var n = this, r = [n], i, a, o = -1; n = r.pop();) if (e.call(t, n, ++o, this), i = n.children) for (a = i.length - 1; a >= 0; --a) r.push(i[a]);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/eachAfter.js
|
|
28
|
+
function o(e, t) {
|
|
29
|
+
for (var n = this, r = [n], i = [], a, o, s, c = -1; n = r.pop();) if (i.push(n), a = n.children) for (o = 0, s = a.length; o < s; ++o) r.push(a[o]);
|
|
30
|
+
for (; n = i.pop();) e.call(t, n, ++c, this);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/find.js
|
|
35
|
+
function s(e, t) {
|
|
36
|
+
let n = -1;
|
|
37
|
+
for (let r of this) if (e.call(t, r, ++n, this)) return r;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/sum.js
|
|
41
|
+
function c(e) {
|
|
42
|
+
return this.eachAfter(function(t) {
|
|
43
|
+
for (var n = +e(t.data) || 0, r = t.children, i = r && r.length; --i >= 0;) n += r[i].value;
|
|
44
|
+
t.value = n;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/sort.js
|
|
49
|
+
function l(e) {
|
|
50
|
+
return this.eachBefore(function(t) {
|
|
51
|
+
t.children && t.children.sort(e);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/path.js
|
|
56
|
+
function u(e) {
|
|
57
|
+
for (var t = this, n = d(t, e), r = [t]; t !== n;) t = t.parent, r.push(t);
|
|
58
|
+
for (var i = r.length; e !== n;) r.splice(i, 0, e), e = e.parent;
|
|
59
|
+
return r;
|
|
60
|
+
}
|
|
61
|
+
function d(e, t) {
|
|
62
|
+
if (e === t) return e;
|
|
63
|
+
var n = e.ancestors(), r = t.ancestors(), i = null;
|
|
64
|
+
for (e = n.pop(), t = r.pop(); e === t;) i = e, e = n.pop(), t = r.pop();
|
|
65
|
+
return i;
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/ancestors.js
|
|
69
|
+
function f() {
|
|
70
|
+
for (var e = this, t = [e]; e = e.parent;) t.push(e);
|
|
71
|
+
return t;
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/descendants.js
|
|
75
|
+
function p() {
|
|
76
|
+
return Array.from(this);
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/leaves.js
|
|
80
|
+
function m() {
|
|
81
|
+
var e = [];
|
|
82
|
+
return this.eachBefore(function(t) {
|
|
83
|
+
t.children || e.push(t);
|
|
84
|
+
}), e;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/links.js
|
|
88
|
+
function h() {
|
|
89
|
+
var e = this, t = [];
|
|
90
|
+
return e.each(function(n) {
|
|
91
|
+
n !== e && t.push({
|
|
92
|
+
source: n.parent,
|
|
93
|
+
target: n
|
|
94
|
+
});
|
|
95
|
+
}), t;
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/iterator.js
|
|
99
|
+
function* g() {
|
|
100
|
+
var e = this, t, n = [e], r, i, a;
|
|
101
|
+
do
|
|
102
|
+
for (t = n.reverse(), n = []; e = t.pop();) if (yield e, r = e.children) for (i = 0, a = r.length; i < a; ++i) n.push(r[i]);
|
|
103
|
+
while (n.length);
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region node_modules/d3-hierarchy/src/hierarchy/index.js
|
|
107
|
+
function _(e, t) {
|
|
108
|
+
e instanceof Map ? (e = [void 0, e], t === void 0 && (t = b)) : t === void 0 && (t = y);
|
|
109
|
+
for (var n = new C(e), r, i = [n], a, o, s, c; r = i.pop();) if ((o = t(r.data)) && (c = (o = Array.from(o)).length)) for (r.children = o, s = c - 1; s >= 0; --s) i.push(a = o[s] = new C(o[s])), a.parent = r, a.depth = r.depth + 1;
|
|
110
|
+
return n.eachBefore(S);
|
|
111
|
+
}
|
|
112
|
+
function v() {
|
|
113
|
+
return _(this).eachBefore(x);
|
|
114
|
+
}
|
|
115
|
+
function y(e) {
|
|
116
|
+
return e.children;
|
|
117
|
+
}
|
|
118
|
+
function b(e) {
|
|
119
|
+
return Array.isArray(e) ? e[1] : null;
|
|
120
|
+
}
|
|
121
|
+
function x(e) {
|
|
122
|
+
e.data.value !== void 0 && (e.value = e.data.value), e.data = e.data.data;
|
|
123
|
+
}
|
|
124
|
+
function S(e) {
|
|
125
|
+
var t = 0;
|
|
126
|
+
do
|
|
127
|
+
e.height = t;
|
|
128
|
+
while ((e = e.parent) && e.height < ++t);
|
|
129
|
+
}
|
|
130
|
+
function C(e) {
|
|
131
|
+
this.data = e, this.depth = this.height = 0, this.parent = null;
|
|
132
|
+
}
|
|
133
|
+
C.prototype = _.prototype = {
|
|
134
|
+
constructor: C,
|
|
135
|
+
count: r,
|
|
136
|
+
each: i,
|
|
137
|
+
eachAfter: o,
|
|
138
|
+
eachBefore: a,
|
|
139
|
+
find: s,
|
|
140
|
+
sum: c,
|
|
141
|
+
sort: l,
|
|
142
|
+
path: u,
|
|
143
|
+
ancestors: f,
|
|
144
|
+
descendants: p,
|
|
145
|
+
leaves: m,
|
|
146
|
+
links: h,
|
|
147
|
+
copy: v,
|
|
148
|
+
[Symbol.iterator]: g
|
|
149
|
+
};
|
|
150
|
+
//#endregion
|
|
151
|
+
//#region node_modules/d3-hierarchy/src/tree.js
|
|
152
|
+
function w(e, t) {
|
|
153
|
+
return e.parent === t.parent ? 1 : 2;
|
|
154
|
+
}
|
|
155
|
+
function T(e) {
|
|
156
|
+
var t = e.children;
|
|
157
|
+
return t ? t[0] : e.t;
|
|
158
|
+
}
|
|
159
|
+
function E(e) {
|
|
160
|
+
var t = e.children;
|
|
161
|
+
return t ? t[t.length - 1] : e.t;
|
|
162
|
+
}
|
|
163
|
+
function D(e, t, n) {
|
|
164
|
+
var r = n / (t.i - e.i);
|
|
165
|
+
t.c -= r, t.s += n, e.c += r, t.z += n, t.m += n;
|
|
166
|
+
}
|
|
167
|
+
function O(e) {
|
|
168
|
+
for (var t = 0, n = 0, r = e.children, i = r.length, a; --i >= 0;) a = r[i], a.z += t, a.m += t, t += a.s + (n += a.c);
|
|
169
|
+
}
|
|
170
|
+
function k(e, t, n) {
|
|
171
|
+
return e.a.parent === t.parent ? e.a : n;
|
|
172
|
+
}
|
|
173
|
+
function A(e, t) {
|
|
174
|
+
this._ = e, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = t;
|
|
175
|
+
}
|
|
176
|
+
A.prototype = Object.create(C.prototype);
|
|
177
|
+
function j(e) {
|
|
178
|
+
for (var t = new A(e, 0), n, r = [t], i, a, o, s; n = r.pop();) if (a = n._.children) for (n.children = Array(s = a.length), o = s - 1; o >= 0; --o) r.push(i = n.children[o] = new A(a[o], o)), i.parent = n;
|
|
179
|
+
return (t.parent = new A(null, 0)).children = [t], t;
|
|
180
|
+
}
|
|
181
|
+
function M() {
|
|
182
|
+
var e = w, t = 1, n = 1, r = null;
|
|
183
|
+
function i(i) {
|
|
184
|
+
var s = j(i);
|
|
185
|
+
if (s.eachAfter(a), s.parent.m = -s.z, s.eachBefore(o), r) i.eachBefore(c);
|
|
186
|
+
else {
|
|
187
|
+
var l = i, u = i, d = i;
|
|
188
|
+
i.eachBefore(function(e) {
|
|
189
|
+
e.x < l.x && (l = e), e.x > u.x && (u = e), e.depth > d.depth && (d = e);
|
|
190
|
+
});
|
|
191
|
+
var f = l === u ? 1 : e(l, u) / 2, p = f - l.x, m = t / (u.x + f + p), h = n / (d.depth || 1);
|
|
192
|
+
i.eachBefore(function(e) {
|
|
193
|
+
e.x = (e.x + p) * m, e.y = e.depth * h;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return i;
|
|
197
|
+
}
|
|
198
|
+
function a(t) {
|
|
199
|
+
var n = t.children, r = t.parent.children, i = t.i ? r[t.i - 1] : null;
|
|
200
|
+
if (n) {
|
|
201
|
+
O(t);
|
|
202
|
+
var a = (n[0].z + n[n.length - 1].z) / 2;
|
|
203
|
+
i ? (t.z = i.z + e(t._, i._), t.m = t.z - a) : t.z = a;
|
|
204
|
+
} else i && (t.z = i.z + e(t._, i._));
|
|
205
|
+
t.parent.A = s(t, i, t.parent.A || r[0]);
|
|
206
|
+
}
|
|
207
|
+
function o(e) {
|
|
208
|
+
e._.x = e.z + e.parent.m, e.m += e.parent.m;
|
|
209
|
+
}
|
|
210
|
+
function s(t, n, r) {
|
|
211
|
+
if (n) {
|
|
212
|
+
for (var i = t, a = t, o = n, s = i.parent.children[0], c = i.m, l = a.m, u = o.m, d = s.m, f; o = E(o), i = T(i), o && i;) s = T(s), a = E(a), a.a = t, f = o.z + u - i.z - c + e(o._, i._), f > 0 && (D(k(o, t, r), t, f), c += f, l += f), u += o.m, c += i.m, d += s.m, l += a.m;
|
|
213
|
+
o && !E(a) && (a.t = o, a.m += u - l), i && !T(s) && (s.t = i, s.m += c - d, r = t);
|
|
214
|
+
}
|
|
215
|
+
return r;
|
|
216
|
+
}
|
|
217
|
+
function c(e) {
|
|
218
|
+
e.x *= t, e.y = e.depth * n;
|
|
219
|
+
}
|
|
220
|
+
return i.separation = function(t) {
|
|
221
|
+
return arguments.length ? (e = t, i) : e;
|
|
222
|
+
}, i.size = function(e) {
|
|
223
|
+
return arguments.length ? (r = !1, t = +e[0], n = +e[1], i) : r ? null : [t, n];
|
|
224
|
+
}, i.nodeSize = function(e) {
|
|
225
|
+
return arguments.length ? (r = !0, t = +e[0], n = +e[1], i) : r ? [t, n] : null;
|
|
226
|
+
}, i;
|
|
227
|
+
}
|
|
228
|
+
//#endregion
|
|
229
|
+
//#region src/treeDiagram.ts
|
|
230
|
+
var N = 140, P = 40, F = 24, I = 50, L = 8, R = {
|
|
231
|
+
branch: {
|
|
232
|
+
fill: "#ffe6cc",
|
|
233
|
+
stroke: "#d79b00"
|
|
234
|
+
},
|
|
235
|
+
leaf: {
|
|
236
|
+
fill: "#dae8fc",
|
|
237
|
+
stroke: "#6c8ebf"
|
|
238
|
+
},
|
|
239
|
+
root: {
|
|
240
|
+
fill: "#d5e8d4",
|
|
241
|
+
stroke: "#82b366"
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
function z(n, r, i = {}) {
|
|
245
|
+
let a = i.nodeWidth ?? N, o = i.nodeHeight ?? P, s = i.siblingGap ?? F, c = i.levelGap ?? I, l = i.padding ?? L, u = i.nodeColors ?? R;
|
|
246
|
+
function d(e) {
|
|
247
|
+
return e.depth === 0 ? "root" : e.children ? "branch" : "leaf";
|
|
248
|
+
}
|
|
249
|
+
function f() {
|
|
250
|
+
e(r).selectAll("svg").remove();
|
|
251
|
+
let i = _(n, (e) => e.children), f = M().nodeSize([o + s, a + c]).separation(() => 1)(i);
|
|
252
|
+
f.eachAfter((e) => {
|
|
253
|
+
let [t] = e.children ?? [];
|
|
254
|
+
t && (e.x = t.x);
|
|
255
|
+
});
|
|
256
|
+
let p = f.descendants(), m = Math.min(...p.map((e) => e.y)) - a / 2, h = Math.max(...p.map((e) => e.y)) + a / 2, g = Math.min(...p.map((e) => e.x)) - o / 2, v = Math.max(...p.map((e) => e.x)) + o / 2, y = h - m + l * 2, b = v - g + l * 2, x = e(r).append("svg").attr("viewBox", `0 0 ${String(y)} ${String(b)}`).attr("width", y).attr("height", b), S = x.append("g").attr("transform", `translate(${String(l - m)}, ${String(l - g)})`), C = t().x((e) => e.y).y((e) => e.x);
|
|
257
|
+
S.append("g").attr("fill", "none").attr("stroke", "#999999").attr("stroke-width", 1.5).selectAll("path").data(f.links()).join("path").attr("d", C);
|
|
258
|
+
let w = S.append("g").selectAll("g").data(p).join("g").attr("transform", (e) => `translate(${String(e.y - a / 2)}, ${String(e.x - o / 2)})`);
|
|
259
|
+
w.append("rect").attr("width", a).attr("height", o).attr("rx", 6).attr("fill", (e) => u[d(e)].fill).attr("stroke", (e) => u[d(e)].stroke), w.append("text").attr("x", a / 2).attr("y", o / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("font-family", "Helvetica, Arial, sans-serif").attr("font-size", 12).attr("fill", "#000000").text((e) => e.data.label);
|
|
260
|
+
let T = x.node();
|
|
261
|
+
if (T == null) throw Error("Failed to create tree diagram SVG element.");
|
|
262
|
+
return T;
|
|
263
|
+
}
|
|
264
|
+
let p = f();
|
|
265
|
+
return {
|
|
266
|
+
resize: () => {
|
|
267
|
+
p = f();
|
|
268
|
+
},
|
|
269
|
+
get svg() {
|
|
270
|
+
return p;
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
//#endregion
|
|
275
|
+
export { z as renderTreeDiagram };
|
|
276
|
+
|
|
277
|
+
//# sourceMappingURL=treeDiagram-BJ_QF4os.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeDiagram-BJ_QF4os.js","names":["node_count","node_each","node_eachAfter","node_eachBefore","node_find","node_sum","node_sort","node_path","node_ancestors","node_descendants","node_leaves","node_links","node_iterator"],"sources":["../node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/d3-hierarchy/src/hierarchy/find.js","../node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/d3-hierarchy/src/tree.js","../src/treeDiagram.ts"],"sourcesContent":["function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","import {Node} from \"./hierarchy/index.js\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","// ── External Dependencies & Registrations\nimport { linkHorizontal } from 'd3-shape';\nimport { select } from 'd3-selection';\nimport { hierarchy, type HierarchyPointLink, type HierarchyPointNode, tree } from 'd3-hierarchy';\n\n// ── Types ────────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport type TreeDiagramNodeRoleId = 'branch' | 'leaf' | 'root';\n\nexport interface TreeDiagramNode {\n children?: TreeDiagramNode[];\n id: string;\n label: string;\n}\n\nexport interface TreeDiagramOptions {\n levelGap?: number;\n nodeColors?: Record<TreeDiagramNodeRoleId, { fill: string; stroke: string }>;\n nodeHeight?: number;\n nodeWidth?: number;\n padding?: number;\n siblingGap?: number;\n}\n\nexport interface TreeDiagramHandle {\n resize: () => void;\n svg: SVGSVGElement;\n}\n\n// ── Constants ────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nconst DEFAULT_NODE_WIDTH = 140;\nconst DEFAULT_NODE_HEIGHT = 40;\nconst DEFAULT_SIBLING_GAP = 24;\nconst DEFAULT_LEVEL_GAP = 50;\nconst DEFAULT_PADDING = 8;\nconst DEFAULT_NODE_COLORS: Record<TreeDiagramNodeRoleId, { fill: string; stroke: string }> = {\n branch: { fill: '#ffe6cc', stroke: '#d79b00' },\n leaf: { fill: '#dae8fc', stroke: '#6c8ebf' },\n root: { fill: '#d5e8d4', stroke: '#82b366' }\n};\n\n// ── Actions ──────────────────────────────────────────────────────────────────────────────────────────────────────────\n\nexport function renderTreeDiagram(data: TreeDiagramNode, renderTo: HTMLElement, options: TreeDiagramOptions = {}): TreeDiagramHandle {\n const nodeWidth = options.nodeWidth ?? DEFAULT_NODE_WIDTH;\n const nodeHeight = options.nodeHeight ?? DEFAULT_NODE_HEIGHT;\n const siblingGap = options.siblingGap ?? DEFAULT_SIBLING_GAP;\n const levelGap = options.levelGap ?? DEFAULT_LEVEL_GAP;\n const padding = options.padding ?? DEFAULT_PADDING;\n const nodeColors = options.nodeColors ?? DEFAULT_NODE_COLORS;\n\n function getNodeRole(node: HierarchyPointNode<TreeDiagramNode>): TreeDiagramNodeRoleId {\n if (node.depth === 0) return 'root';\n return node.children ? 'branch' : 'leaf';\n }\n\n function draw(): SVGSVGElement {\n select(renderTo).selectAll('svg').remove();\n\n const root = hierarchy(data, (node) => node.children);\n const treeLayout = tree<TreeDiagramNode>()\n .nodeSize([nodeHeight + siblingGap, nodeWidth + levelGap])\n .separation(() => 1);\n const treeRoot = treeLayout(root);\n\n // Align each parent with its first child (instead of d3's default centering over all children) so the root sits at the top and the tree cascades downward.\n treeRoot.eachAfter((node) => {\n const [firstChild] = node.children ?? [];\n if (!firstChild) return;\n node.x = firstChild.x;\n });\n\n const treeNodes = treeRoot.descendants();\n\n // Screen axes are swapped for a left-to-right tree: node.y (depth) drives horizontal position, node.x (sibling spread) drives vertical.\n const minX = Math.min(...treeNodes.map((node) => node.y)) - nodeWidth / 2;\n const maxX = Math.max(...treeNodes.map((node) => node.y)) + nodeWidth / 2;\n const minY = Math.min(...treeNodes.map((node) => node.x)) - nodeHeight / 2;\n const maxY = Math.max(...treeNodes.map((node) => node.x)) + nodeHeight / 2;\n\n const viewBoxWidth = maxX - minX + padding * 2;\n const viewBoxHeight = maxY - minY + padding * 2;\n\n const svgSelection = select(renderTo)\n .append('svg')\n .attr('viewBox', `0 0 ${String(viewBoxWidth)} ${String(viewBoxHeight)}`)\n .attr('width', viewBoxWidth)\n .attr('height', viewBoxHeight);\n\n const canvas = svgSelection.append('g').attr('transform', `translate(${String(padding - minX)}, ${String(padding - minY)})`);\n\n const linkGenerator = linkHorizontal<HierarchyPointLink<TreeDiagramNode>, HierarchyPointNode<TreeDiagramNode>>()\n .x((node) => node.y)\n .y((node) => node.x);\n\n canvas.append('g').attr('fill', 'none').attr('stroke', '#999999').attr('stroke-width', 1.5).selectAll('path').data(treeRoot.links()).join('path').attr('d', linkGenerator);\n\n const nodeGroups = canvas\n .append('g')\n .selectAll('g')\n .data(treeNodes)\n .join('g')\n .attr('transform', (node) => `translate(${String(node.y - nodeWidth / 2)}, ${String(node.x - nodeHeight / 2)})`);\n\n nodeGroups\n .append('rect')\n .attr('width', nodeWidth)\n .attr('height', nodeHeight)\n .attr('rx', 6)\n .attr('fill', (node) => nodeColors[getNodeRole(node)].fill)\n .attr('stroke', (node) => nodeColors[getNodeRole(node)].stroke);\n\n nodeGroups\n .append('text')\n .attr('x', nodeWidth / 2)\n .attr('y', nodeHeight / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'middle')\n .attr('font-family', 'Helvetica, Arial, sans-serif')\n .attr('font-size', 12)\n .attr('fill', '#000000')\n .text((node) => node.data.label);\n\n const svgNode = svgSelection.node();\n if (svgNode == null) throw new Error('Failed to create tree diagram SVG element.');\n return svgNode;\n }\n\n let svg = draw();\n\n return {\n resize: () => {\n svg = draw();\n },\n get svg() {\n return svg;\n }\n };\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"mappings":"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"}
|