@dpuse/dpuse-tool-highcharts-visualiser 0.0.79 → 0.0.82

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.
Files changed (35) hide show
  1. package/dist/{AnimationUtilities-Bby2idBR.js → AnimationUtilities-CJw-tdb_.js} +74 -83
  2. package/dist/AnimationUtilities-CJw-tdb_.js.map +1 -0
  3. package/dist/BorderRadius-CqHYi9va.js +135 -0
  4. package/dist/BorderRadius-CqHYi9va.js.map +1 -0
  5. package/dist/CenteredUtilities-BTUT7_Ld.js +1316 -0
  6. package/dist/CenteredUtilities-BTUT7_Ld.js.map +1 -0
  7. package/dist/{SVGElement-BmvC_qu3.js → SVGElement-uTuGcjav.js} +101 -103
  8. package/dist/SVGElement-uTuGcjav.js.map +1 -0
  9. package/dist/SeriesRegistry-CXsAINSj.js +376 -0
  10. package/dist/SeriesRegistry-CXsAINSj.js.map +1 -0
  11. package/dist/{TextPath-DK4Jkzd7.js → TextPath-Coabnrz0.js} +32 -34
  12. package/dist/{TextPath-DK4Jkzd7.js.map → TextPath-Coabnrz0.js.map} +1 -1
  13. package/dist/{dependency-wheel.src-BHmwx9rW.js → dependency-wheel.src-ByNiAiZS.js} +26 -27
  14. package/dist/dependency-wheel.src-ByNiAiZS.js.map +1 -0
  15. package/dist/dpuse-tool-highcharts-visualiser.es.js +2437 -2415
  16. package/dist/dpuse-tool-highcharts-visualiser.es.js.map +1 -1
  17. package/dist/highchartsMoreCustom-Cm6MkFMu.js +1178 -0
  18. package/dist/highchartsMoreCustom-Cm6MkFMu.js.map +1 -0
  19. package/dist/{pattern-fill.src-BPmr3DQg.js → pattern-fill.src-CGZp553r.js} +30 -32
  20. package/dist/{pattern-fill.src-BPmr3DQg.js.map → pattern-fill.src-CGZp553r.js.map} +1 -1
  21. package/dist/{sankey.src-DocCurOx.js → sankey.src-Buj1zAlU.js} +115 -117
  22. package/dist/sankey.src-Buj1zAlU.js.map +1 -0
  23. package/dist/{streamgraph.src-Bn6PY8Fd.js → streamgraph.src-DjMW1U2g.js} +4 -6
  24. package/dist/{streamgraph.src-Bn6PY8Fd.js.map → streamgraph.src-DjMW1U2g.js.map} +1 -1
  25. package/package.json +12 -12
  26. package/dist/AnimationUtilities-Bby2idBR.js.map +0 -1
  27. package/dist/BorderRadius-2zMZW_aK.js +0 -1445
  28. package/dist/BorderRadius-2zMZW_aK.js.map +0 -1
  29. package/dist/SVGElement-BmvC_qu3.js.map +0 -1
  30. package/dist/SeriesRegistry-0cj0ZJqn.js +0 -374
  31. package/dist/SeriesRegistry-0cj0ZJqn.js.map +0 -1
  32. package/dist/dependency-wheel.src-BHmwx9rW.js.map +0 -1
  33. package/dist/highchartsMoreCustom-CcpfmVny.js +0 -1110
  34. package/dist/highchartsMoreCustom-CcpfmVny.js.map +0 -1
  35. package/dist/sankey.src-DocCurOx.js.map +0 -1
@@ -0,0 +1,1178 @@
1
+ import { $ as e, J as t, K as n, M as r, N as i, Q as a, S as o, U as s, W as c, _ as l, b as u, c as d, et as f, g as p, h as m, j as h, k as g, lt as _, p as v, rt as y, st as b, t as x, w as S, y as C, z as w } from "./AnimationUtilities-CJw-tdb_.js";
2
+ import { n as T, t as E } from "./SeriesRegistry-CXsAINSj.js";
3
+ import { i as D, n as O, r as k, t as A } from "./CenteredUtilities-BTUT7_Ld.js";
4
+ import { t as j } from "./BorderRadius-CqHYi9va.js";
5
+ //#region node_modules/highcharts/es-modules/Series/AreaRange/AreaRangePoint.js
6
+ var { area: { prototype: { pointClass: M, pointClass: { prototype: N } } } } = E.seriesTypes, ee = class extends M {
7
+ setState() {
8
+ let e = this.state, t = this.series, n = t.chart.polar;
9
+ S(this.plotHigh) || (this.plotHigh = t.yAxis.toPixels(this.high, !0)), S(this.plotLow) || (this.plotLow = this.plotY = t.yAxis.toPixels(this.low, !0)), t.lowerStateMarkerGraphic = t.stateMarkerGraphic, t.stateMarkerGraphic = t.upperStateMarkerGraphic, this.graphic = this.graphics && this.graphics[1], this.plotY = this.plotHigh, n && s(this.plotHighX) && (this.plotX = this.plotHighX), N.setState.apply(this, arguments), this.state = e, this.plotY = this.plotLow, this.graphic = this.graphics && this.graphics[0], n && s(this.plotLowX) && (this.plotX = this.plotLowX), t.upperStateMarkerGraphic = t.stateMarkerGraphic, t.stateMarkerGraphic = t.lowerStateMarkerGraphic, t.lowerStateMarkerGraphic = void 0;
10
+ let r = t.modifyMarkerSettings();
11
+ N.setState.apply(this, arguments), t.restoreMarkerSettings(r);
12
+ }
13
+ haloPath() {
14
+ let e = this.series.chart.polar, t = [];
15
+ return this.plotY = this.plotLow, e && s(this.plotLowX) && (this.plotX = this.plotLowX), this.isInside && (t = N.haloPath.apply(this, arguments)), this.plotY = this.plotHigh, e && s(this.plotHighX) && (this.plotX = this.plotHighX), this.isTopInside && (t = t.concat(N.haloPath.apply(this, arguments))), t;
16
+ }
17
+ isValid() {
18
+ return s(this.low) && s(this.high);
19
+ }
20
+ }, P;
21
+ (function(e) {
22
+ let t = {
23
+ close: ["plotClose"],
24
+ high: ["highPlot", "plotHigh"],
25
+ low: ["lowPlot", "plotLow"],
26
+ median: ["medianPlot"],
27
+ open: ["plotOpen"],
28
+ q1: ["q1Plot"],
29
+ q3: ["q3Plot"],
30
+ y: ["plotY"]
31
+ };
32
+ function n(e, n) {
33
+ let r = t[n] ?? [];
34
+ for (let t of r) {
35
+ let n = e[t];
36
+ if (s(n)) return n;
37
+ }
38
+ }
39
+ function r(e, t, r) {
40
+ let i = n(e, "high"), a = n(e, "low");
41
+ return s(i) && s(a) ? t.inside ? r === Math.min(i, a) : r === Math.max(i, a) : !1;
42
+ }
43
+ function i(e) {
44
+ let t = e.prototype;
45
+ return t.alignDataLabel = u, e;
46
+ }
47
+ e.compose = i;
48
+ function a(e) {
49
+ let t = e.alignToKey ? this.getNestedProperty(e.alignToKey) : this.y, n = s(t) ? t : this.y;
50
+ return s(n) ? this.series.chart.numberFormatter(n, -1) : "";
51
+ }
52
+ e.formatter = a;
53
+ function c(e) {
54
+ let { alignToKey: t, format: n } = e;
55
+ t && n && (e.format = n.replace(/\{(?:point\.)?y([:}])/g, "{point." + t + "$1"));
56
+ }
57
+ e.applyAlignToKeyValue = c;
58
+ function l(e, t) {
59
+ return t && e.pointArrayMap.indexOf(t) > -1 ? t : e.pointValKey;
60
+ }
61
+ e.resolveAlignToKey = l;
62
+ function u(e, t, i, a, c) {
63
+ let u = this, d = n(e, l(u, i.alignToKey)), f = e.shapeArgs, p = e.plotY, m = e.dlBox, h = e.below;
64
+ if (s(d)) {
65
+ e.plotY = d, f && !i.inside && (e.dlBox = {
66
+ x: f.x ?? 0,
67
+ y: o(d, u.borderWidth, u.chart.inverted),
68
+ width: f.width ?? 0,
69
+ height: 0
70
+ });
71
+ let t = e.below = r(e, i, d);
72
+ u.chart.inverted ? i.align ??= t ? "right" : "left" : i.verticalAlign ??= t ? "top" : "bottom";
73
+ }
74
+ O.prototype.alignDataLabel.call(u, e, t, i, a, c), e.plotY = p, e.dlBox = m, e.below = h;
75
+ }
76
+ e.alignDataLabel = u;
77
+ })(P ||= {});
78
+ var F = P, { noop: te } = _, { area: I, area: { prototype: L } } = E.seriesTypes, R = {
79
+ lineWidth: 1,
80
+ threshold: null,
81
+ tooltip: { pointFormat: "<span style=\"color:{series.color}\">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>" },
82
+ trackByArea: !0,
83
+ dataLabels: {
84
+ align: void 0,
85
+ formatter: F.formatter,
86
+ verticalAlign: void 0,
87
+ xLow: 0,
88
+ xHigh: 0,
89
+ yLow: 0,
90
+ yHigh: 0
91
+ }
92
+ };
93
+ function ne(e) {
94
+ let t = e.options.dataLabels;
95
+ return w(t) ? Array.from({ length: Math.max(t.length, 2) }, (r, i) => {
96
+ let a = t[i], o = i === 0 ? "high" : i === 1 ? "low" : e.pointValKey, s = a?.alignToKey ?? o;
97
+ return n(a ?? { enabled: !1 }, { alignToKey: s });
98
+ }) : t?.alignToKey ? [n(t, t.alignToKey === "high" ? {
99
+ x: t.xHigh,
100
+ y: t.yHigh
101
+ } : t.alignToKey === "low" ? {
102
+ x: t.xLow,
103
+ y: t.yLow
104
+ } : {})] : [n(t, {
105
+ alignToKey: "high",
106
+ x: t?.xHigh,
107
+ y: t?.yHigh
108
+ }), n(t, {
109
+ alignToKey: "low",
110
+ x: t?.xLow,
111
+ y: t?.yLow
112
+ })];
113
+ }
114
+ var z = class extends I {
115
+ toYData(e) {
116
+ return [e.low, e.high];
117
+ }
118
+ highToXY(e) {
119
+ let t = this.chart, n = this.xAxis.postTranslate(e.rectPlotX || 0, this.yAxis.len - (e.plotHigh || 0));
120
+ e.plotHighX = n.x - t.plotLeft, e.plotHigh = n.y - t.plotTop, e.plotLowX = e.plotX;
121
+ }
122
+ getGraphPath(e) {
123
+ let t = [], n = [], r = L.getGraphPath, i = this.options, a = this.chart.polar, o = a && i.connectEnds !== !1, s = i.connectNulls, c, l, u, d = i.step;
124
+ for (e ||= this.points, c = e.length; c--;) {
125
+ l = e[c];
126
+ let r = a ? {
127
+ plotX: l.rectPlotX,
128
+ plotY: l.yBottom,
129
+ doCurve: !1
130
+ } : {
131
+ plotX: l.plotX,
132
+ plotY: l.plotY,
133
+ doCurve: !1
134
+ };
135
+ !l.isNull && !o && !s && (!e[c + 1] || e[c + 1].isNull) && n.push(r), u = {
136
+ polarPlotY: l.polarPlotY,
137
+ rectPlotX: l.rectPlotX,
138
+ yBottom: l.yBottom,
139
+ plotX: l.plotHighX ?? l.plotX,
140
+ plotY: l.plotHigh,
141
+ isNull: l.isNull
142
+ }, n.push(u), t.push(u), !l.isNull && !o && !s && (!e[c - 1] || e[c - 1].isNull) && n.push(r);
143
+ }
144
+ let f = r.call(this, e);
145
+ d && (d === !0 && (d = "left"), i.step = {
146
+ left: "right",
147
+ center: "center",
148
+ right: "left"
149
+ }[d]);
150
+ let p = r.call(this, t), m = r.call(this, n);
151
+ i.step = d;
152
+ let h = [].concat(f, p);
153
+ return !this.chart.polar && m[0] && m[0][0] === "M" && (m[0] = [
154
+ "L",
155
+ m[0][1],
156
+ m[0][2]
157
+ ]), this.graphPath = h, this.areaPath = f.concat(m), h.isArea = !0, h.xMap = f.xMap, this.areaPath.xMap = f.xMap, h;
158
+ }
159
+ drawDataLabels() {
160
+ let e = this, t = e.options.dataLabels;
161
+ if (t) {
162
+ let n = ne(e);
163
+ n.forEach(F.applyAlignToKeyValue), e.options.dataLabels = n, L.drawDataLabels && L.drawDataLabels.call(e), e.options.dataLabels = t;
164
+ for (let t of e.points) {
165
+ let n = t.dataLabels ?? [];
166
+ t.dataLabelUpper = n.find((t) => F.resolveAlignToKey(e, t.options?.alignToKey) === "high"), t.dataLabel = n.find((t) => F.resolveAlignToKey(e, t.options?.alignToKey) === "low");
167
+ }
168
+ }
169
+ }
170
+ modifyMarkerSettings() {
171
+ let e = this, t = {
172
+ marker: e.options.marker,
173
+ symbol: e.symbol
174
+ };
175
+ if (e.options.lowMarker) {
176
+ let { options: { marker: t, lowMarker: r } } = e;
177
+ e.options.marker = n(t, r), r.symbol && (e.symbol = r.symbol);
178
+ }
179
+ return t;
180
+ }
181
+ restoreMarkerSettings(e) {
182
+ let t = this;
183
+ t.options.marker = e.marker, t.symbol = e.symbol;
184
+ }
185
+ drawPoints() {
186
+ let e = this, t = e.points.length, n, r, i = e.modifyMarkerSettings();
187
+ for (L.drawPoints.apply(e, arguments), e.restoreMarkerSettings(i), n = 0; n < t;) r = e.points[n], r.graphics = r.graphics || [], r.origProps = {
188
+ plotY: r.plotY,
189
+ plotX: r.plotX,
190
+ isInside: r.isInside,
191
+ negative: r.negative,
192
+ zone: r.zone,
193
+ y: r.y
194
+ }, (r.graphic || r.graphics[0]) && (r.graphics[0] = r.graphic), r.graphic = r.graphics[1], r.plotY = r.plotHigh, S(r.plotHighX) && (r.plotX = r.plotHighX), r.y = r.high ?? r.origProps.y, r.negative = r.y < (e.options.threshold || 0), e.zones.length && (r.zone = r.getZone()), e.chart.polar || (r.isInside = r.isTopInside = r.plotY !== void 0 && r.plotY >= 0 && r.plotY <= e.yAxis.len && r.plotX >= 0 && r.plotX <= e.xAxis.len), n++;
195
+ for (L.drawPoints.apply(e, arguments), n = 0; n < t;) r = e.points[n], r.graphics = r.graphics || [], (r.graphic || r.graphics[1]) && (r.graphics[1] = r.graphic), r.graphic = r.graphics[0], r.origProps && (g(r, r.origProps), delete r.origProps), n++;
196
+ }
197
+ hasMarkerChanged(e, t) {
198
+ let n = e.lowMarker, r = t.lowMarker || {};
199
+ return n && (n.enabled === !1 || r.symbol !== n.symbol || r.height !== n.height || r.width !== n.width) || super.hasMarkerChanged(e, t);
200
+ }
201
+ };
202
+ z.defaultOptions = n(I.defaultOptions, R), m(z, "afterTranslate", function() {
203
+ this.pointArrayMap.join(",") === "low,high" && this.points.forEach((e) => {
204
+ let t = e.high, n = e.plotY;
205
+ e.isNull ? e.plotY = void 0 : (e.plotLow = n, e.plotHigh = s(t) ? this.yAxis.translate(this.dataModify ? this.dataModify.modifyValue(t) : t, !1, !0, void 0, !0) : void 0, this.dataModify && (e.yBottom = e.plotHigh));
206
+ });
207
+ }, { order: 0 }), m(z, "afterTranslate", function() {
208
+ this.points.forEach((e) => {
209
+ if (this.chart.polar) this.highToXY(e), e.plotLow = e.plotY, e.tooltipPos = [((e.plotHighX || 0) + (e.plotLowX || 0)) / 2, ((e.plotHigh || 0) + (e.plotLow || 0)) / 2];
210
+ else {
211
+ let t = e.pos(!1, void 0, e.plotLow), n = e.pos(!1, void 0, e.plotHigh);
212
+ t && n && (t[0] = (t[0] + n[0]) / 2, t[1] = (t[1] + n[1]) / 2), e.tooltipPos = t;
213
+ }
214
+ });
215
+ }, { order: 3 }), g(z.prototype, {
216
+ deferTranslatePolar: !0,
217
+ pointArrayMap: ["low", "high"],
218
+ pointClass: ee,
219
+ pointValKey: "low",
220
+ setStackedPoints: te
221
+ }), F.compose(z), E.registerSeriesType("arearange", z);
222
+ //#endregion
223
+ //#region node_modules/highcharts/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js
224
+ var { spline: { prototype: re } } = E.seriesTypes, B = class extends z {};
225
+ B.defaultOptions = n(z.defaultOptions), g(B.prototype, { getPointSpline: re.getPointSpline }), E.registerSeriesType("areasplinerange", B);
226
+ //#endregion
227
+ //#region node_modules/highcharts/es-modules/Series/ColumnRange/ColumnRangePoint.js
228
+ var { seriesTypes: { column: { prototype: { pointClass: { prototype: ie } } }, arearange: { prototype: { pointClass: ae } } } } = E, V = class extends ae {
229
+ isValid() {
230
+ return s(this.low);
231
+ }
232
+ };
233
+ g(V.prototype, { setState: ie.setState });
234
+ //#endregion
235
+ //#region node_modules/highcharts/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js
236
+ var oe = {
237
+ borderRadius: { where: "all" },
238
+ pointRange: null,
239
+ legendSymbol: "rectangle",
240
+ marker: null,
241
+ states: { hover: { halo: !1 } }
242
+ }, { noop: se } = _, { seriesTypes: { arearange: H, column: ce, column: { prototype: U } } } = E, W = class extends H {
243
+ setOptions() {
244
+ return n(!0, arguments[0], { stacking: void 0 }), H.prototype.setOptions.apply(this, arguments);
245
+ }
246
+ translate() {
247
+ return U.translate.apply(this);
248
+ }
249
+ pointAttribs() {
250
+ return U.pointAttribs.apply(this, arguments);
251
+ }
252
+ translate3dPoints() {
253
+ return U.translate3dPoints.apply(this, arguments);
254
+ }
255
+ translate3dShapes() {
256
+ return U.translate3dShapes.apply(this, arguments);
257
+ }
258
+ afterColumnTranslate() {
259
+ let e = this.yAxis, t = this.xAxis, r = t.startAngleRad, i = this.chart, o = this.xAxis.isRadial, c = Math.max(i.chartWidth, i.chartHeight) + 999, l, u, d, f;
260
+ function p(e) {
261
+ return C(e, -c, c);
262
+ }
263
+ this.points.forEach((c) => {
264
+ let m = c.shapeArgs || {}, h = this.options.minPointLength, g = c.plotY, _ = e.translate(c.high, 0, 1, 0, 1);
265
+ if (s(_) && s(g)) {
266
+ if (c.plotHigh = p(_), c.plotLow = p(g), f = c.plotHigh, l = a(c.rectPlotY, c.plotY) - c.plotHigh, Math.abs(l) < h ? (u = h - l, l += u, f -= u / 2) : l < 0 && (l *= -1, f -= l), o && this.polar) d = c.barX + r, c.shapeType = "arc", c.shapeArgs = this.polar.arc(f + l, f, d, d + (c.pointWidth || 0));
267
+ else {
268
+ m.height = l, m.y = f;
269
+ let { x: r = 0, width: a = 0 } = m;
270
+ c.shapeArgs = n(c.shapeArgs, this.crispCol(r, f, a, l)), c.tooltipPos = i.inverted ? [
271
+ e.len + e.pos - i.plotLeft - f - l / 2,
272
+ t.len + t.pos - i.plotTop - r - a / 2,
273
+ l
274
+ ] : [
275
+ t.left - i.plotLeft + r + a / 2,
276
+ e.pos - i.plotTop + f + l / 2,
277
+ l
278
+ ];
279
+ }
280
+ }
281
+ });
282
+ }
283
+ };
284
+ W.defaultOptions = n(ce.defaultOptions, H.defaultOptions, oe), m(W, "afterColumnTranslate", function() {
285
+ W.prototype.afterColumnTranslate.apply(this);
286
+ }, { order: 5 }), g(W.prototype, {
287
+ directTouch: !0,
288
+ pointClass: V,
289
+ trackerGroups: ["group", "dataLabelsGroup"],
290
+ adjustForMissingColumns: U.adjustForMissingColumns,
291
+ animate: U.animate,
292
+ crispCol: U.crispCol,
293
+ drawGraph: se,
294
+ drawPoints: U.drawPoints,
295
+ getSymbol: se,
296
+ drawTracker: U.drawTracker,
297
+ getColumnMetrics: U.getColumnMetrics
298
+ }), E.registerSeriesType("columnrange", W);
299
+ //#endregion
300
+ //#region node_modules/highcharts/es-modules/Extensions/Pane/PaneComposition.js
301
+ function le(e) {
302
+ let t = this, n;
303
+ return e && t.pane.forEach((r) => {
304
+ G(e.chartX - t.plotLeft, e.chartY - t.plotTop, r.center) && (n = r);
305
+ }), n;
306
+ }
307
+ function ue(e, t) {
308
+ let n = e.prototype;
309
+ n.getHoverPane || (n.collectionsWithUpdate.push("pane"), n.getHoverPane = le, m(e, "afterIsInsidePlot", de), m(t, "afterGetHoverData", fe), m(t, "beforeGetHoverData", pe));
310
+ }
311
+ function G(e, t, n, r, i) {
312
+ let a = !0, o = n[0], s = n[1], c = 2 * Math.PI, l = Math.sqrt((e - o) ** 2 + (t - s) ** 2);
313
+ if (S(r) && S(i)) {
314
+ let n = Math.atan2(u(t - s, 8), u(e - o, 8));
315
+ n = (n + c) % c, r = (r + c) % c, i = (i + c) % c, Math.abs(i - r) > 1e-6 && (a = r > i ? n >= r || n <= i : n >= r && n <= i);
316
+ } else a = !0;
317
+ return l <= Math.ceil(n[2] / 2) && a;
318
+ }
319
+ function de(e) {
320
+ let t = this;
321
+ t.polar && (e.options.inverted && ([e.x, e.y] = [e.y, e.x]), e.isInsidePlot = t.pane.some((t) => G(e.x, e.y, t.center, t.axis && t.axis.normalizedStartAngleRad, t.axis && t.axis.normalizedEndAngleRad)));
322
+ }
323
+ function fe(e) {
324
+ let t = this.chart;
325
+ e.hoverPoint && e.hoverPoint.plotX && e.hoverPoint.plotY && t.hoverPane && !G(e.hoverPoint.plotX, e.hoverPoint.plotY, t.hoverPane.center) && (e.hoverPoint = void 0);
326
+ }
327
+ function pe(e) {
328
+ let t = this.chart;
329
+ t.polar ? (t.hoverPane = t.getHoverPane(e), e.filter = function(n) {
330
+ return n.visible && !(!e.shared && n.directTouch) && a(n.options.enableMouseTracking, !0) && (!t.hoverPane || n.xAxis.pane === t.hoverPane);
331
+ }) : t.hoverPane = void 0;
332
+ }
333
+ var me = { compose: ue }, { defaultOptions: he } = d, ge = {
334
+ shape: "arc",
335
+ borderRadius: void 0,
336
+ borderWidth: 0,
337
+ borderColor: "var(--highcharts-neutral-color-20)",
338
+ backgroundColor: "var(--highcharts-neutral-color-3)",
339
+ from: -Number.MAX_VALUE,
340
+ to: Number.MAX_VALUE,
341
+ outerRadius: "100%"
342
+ }, _e = {
343
+ borderRadius: 3,
344
+ margin: void 0
345
+ };
346
+ he.pane = _e;
347
+ var ve = {
348
+ pane: _e,
349
+ background: ge
350
+ }, K = class {
351
+ constructor(e, t) {
352
+ this.coll = "pane", this.init(e, t);
353
+ }
354
+ init(e, t) {
355
+ this.chart = t, this.background = [], t.pane.push(this), this.setOptions(e);
356
+ }
357
+ hasSeriesType(e) {
358
+ return !!(this.chart.options?.chart?.type === e || this.chart.options?.series?.some((t) => t.type === e));
359
+ }
360
+ setOptions(e) {
361
+ this.options = n(ve.pane, this.chart.angular ? {
362
+ background: {},
363
+ innerSize: "85%"
364
+ } : {}, e);
365
+ }
366
+ render() {
367
+ let e = this.options, t = this.chart.renderer;
368
+ this.group ||= t.g("pane-group").attr({ zIndex: e.zIndex || 0 }).add(), this.updateCenter();
369
+ let r = this.options.background;
370
+ if (r) {
371
+ r = y(r);
372
+ let e = Math.max(r.length, this.background.length || 0);
373
+ for (let t = 0; t < e; t++) r[t] && this.axis ? this.renderBackground(n(ve.background, { borderRadius: this.options.borderRadius }, r[t]), t) : this.background[t] && (this.background[t] = this.background[t].destroy(), this.background.splice(t, 1));
374
+ }
375
+ }
376
+ renderBackground(e, t) {
377
+ let n = { class: "highcharts-pane " + (e.className || "") }, r = "animate";
378
+ this.chart.styledMode || g(n, {
379
+ fill: e.backgroundColor,
380
+ stroke: e.borderColor,
381
+ "stroke-width": e.borderWidth
382
+ }), this.background[t] || (this.background[t] = this.chart.renderer.path().add(this.group), r = "attr"), this.background[t][r]({ d: this.axis.getPlotBandPath(e.from, e.to, e) }).attr(n);
383
+ }
384
+ updateCenter() {
385
+ let { axis: e, chart: t, options: n } = this, { plotHeight: r, plotWidth: a } = t, o = n.center?.[1], c = n.margin, l = this.axis?.options.labels, u = n.thickness, d = Array.isArray(c) ? c : [
386
+ c,
387
+ c,
388
+ c,
389
+ c
390
+ ], p = [], m = n.size, h, g = 0, _ = 0, v = Math.min(t.series.reduce((e, t) => {
391
+ if (!t.is("gauge") || t.yAxis?.pane !== this) return e;
392
+ let n = y(t.options.dataLabels)[0], r = 0;
393
+ return n && n.enabled !== !1 && (r = (1 - i(n.verticalAlign)) * 30 + (n.y || 0)), Math.max(e, r);
394
+ }, 0), r * .3);
395
+ if (l?.enabled) {
396
+ let e = String(l.style?.fontSize || ""), t = (/px$/.test(e) ? parseFloat(e) : /em$/.test(e) ? parseFloat(e) * 12 : 12) * 1.2;
397
+ _ = Math.max(l.distance || 0, 0) + t / 2;
398
+ }
399
+ if (d.forEach((e, t) => {
400
+ p[t] = e ?? Math.max(_ || 0);
401
+ }), e && (m === void 0 || o === void 0)) {
402
+ let { endAngleRad: t, startAngleRad: i } = e, o = Math.PI * 2 / 360, s = i < Math.PI / 2 && t > Math.PI / 2 || y(n.background).some((e) => e?.shape === "circle") ? Math.PI : Math.max(Math.abs(i + Math.PI / 2), Math.abs(t + Math.PI / 2)), c = Math.sin(s - Math.PI / 2), l = .5 + .5 * Math.max(c, Math.sin(o * 0));
403
+ if (h = (r - p[0] - p[2]) / l, m === void 0) {
404
+ m = Math.max(Math.min(h, a - p[1] - p[3]), 1);
405
+ let e = m + p[0] + p[2] + 2 * (v - r);
406
+ e > 0 && (g = e, m = Math.max(1, m - g));
407
+ }
408
+ }
409
+ this.center = (e || {}).center = A.getCenter.call(this), s(m) && m >= 0 && (this.center[2] = m, s(u) ? this.center[3] = this.center[2] - u * 2 : this.center[3] = Math.min(m, f(n.innerSize || 0, m))), S(o) || (n.size ? this.center[1] = r / 2 : s(h) && (this.center[1] = (h + this.center[2] - g) / 4 + p[0]));
410
+ }
411
+ update(e, t) {
412
+ n(!0, this.options, e), this.setOptions(this.options), this.render(), this.chart.axes.forEach(function(e) {
413
+ e.pane === this && (e.pane = null, e.update({}, t));
414
+ }, this);
415
+ }
416
+ };
417
+ K.compose = me.compose;
418
+ //#endregion
419
+ //#region node_modules/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js
420
+ var ye = {
421
+ circular: {
422
+ gridLineWidth: 1,
423
+ labels: {
424
+ align: void 0,
425
+ x: 0,
426
+ y: void 0
427
+ },
428
+ maxPadding: 0,
429
+ minPadding: 0,
430
+ showLastLabel: !1,
431
+ tickLength: 0
432
+ },
433
+ radial: {
434
+ gridLineInterpolation: "circle",
435
+ gridLineWidth: 1,
436
+ labels: {
437
+ align: "right",
438
+ padding: 5,
439
+ x: -3,
440
+ y: -2
441
+ },
442
+ showLastLabel: !1,
443
+ title: {
444
+ x: 4,
445
+ text: null,
446
+ rotation: 90
447
+ }
448
+ },
449
+ radialGauge: {
450
+ gridLineWidth: 0,
451
+ labels: {
452
+ align: "center",
453
+ distance: 15,
454
+ x: 0,
455
+ y: void 0
456
+ },
457
+ minorGridLineWidth: 0,
458
+ minorTickLength: 5,
459
+ minorTickPosition: "inside",
460
+ minorTicksPerMajor: 10,
461
+ minorTickWidth: 1,
462
+ tickLength: void 0,
463
+ tickWidth: 2,
464
+ tickPixelInterval: 100,
465
+ tickPosition: "inside",
466
+ title: {
467
+ rotation: 0,
468
+ text: ""
469
+ },
470
+ zIndex: 2
471
+ }
472
+ }, { defaultOptions: q } = d, { composed: be, noop: J } = _, xe;
473
+ (function(t) {
474
+ t.radialDefaultOptions = n(ye);
475
+ function i() {
476
+ this.autoConnect = this.isCircular && a(this.userMax, this.options.max) === void 0 && u(this.endAngleRad - this.startAngleRad) === u(2 * Math.PI), !this.isCircular && this.chart.inverted && this.max++, this.autoConnect && s(this.max) && (this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0);
477
+ }
478
+ function o(t, n) {
479
+ return e(be, "Axis.Radial") && (m(t, "afterInit", k), m(t, "afterTickSize", A), m(t, "autoLabelAlign", M), m(t, "destroy", N), m(t, "init", ee), m(t, "initialAxisTranslation", P), m(n, "afterGetLabelPosition", F), m(n, "afterGetPosition", te), m(_, "setOptions", I), b(t.prototype, "getMinorTickInterval", B), b(n.prototype, "getMarkPath", ie)), t;
480
+ }
481
+ t.compose = o;
482
+ function l() {
483
+ return () => {
484
+ if (this.isRadial && this.tickPositions && this.options.labels && this.options.labels.allowOverlap !== !0) return this.tickPositions.map((e) => this.ticks[e]?.label).filter((e) => !!e);
485
+ };
486
+ }
487
+ function d() {
488
+ return J;
489
+ }
490
+ function p(e, t, n) {
491
+ let r = this.pane.center, i = e.value, a, o, s, c;
492
+ return this.isCircular ? (S(i) ? e.point && (a = e.point.shapeArgs || {}, a.start && (i = this.chart.inverted ? this.translate(e.point.rectPlotY, !0) : e.point.x)) : (s = e.chartX || 0, c = e.chartY || 0, i = this.translate(Math.atan2(c - n, s - t) - this.startAngleRad, !0)), o = this.getPosition(i), s = o.x, c = o.y) : (S(i) || (s = e.chartX, c = e.chartY), S(s) && S(c) && (n = r[1] + this.chart.plotTop, i = this.translate(Math.min(Math.sqrt((s - t) ** 2 + (c - n) ** 2), r[2] / 2) - r[3] / 2, !0))), [
493
+ i,
494
+ s || 0,
495
+ c || 0
496
+ ];
497
+ }
498
+ function h(e, t, n) {
499
+ let r = this.pane.center, i = this.chart, o = this.left || 0, s = this.top || 0, c, l, u = a(t, r[2] / 2 - this.offset);
500
+ return n ??= this.horiz ? 0 : this.center && -this.center[3] / 2, n && n > 0 && (u += n), this.isCircular || t !== void 0 ? (l = this.chart.renderer.symbols.arc(o + r[0], s + r[1], u, u, {
501
+ start: this.startAngleRad,
502
+ end: this.endAngleRad,
503
+ open: !0,
504
+ innerR: 0
505
+ }), l.xBounds = [o + r[0]], l.yBounds = [s + r[1] - u]) : (c = this.postTranslate(this.angleRad, u), l = [[
506
+ "M",
507
+ this.center[0] + i.plotLeft,
508
+ this.center[1] + i.plotTop
509
+ ], [
510
+ "L",
511
+ c.x,
512
+ c.y
513
+ ]]), l;
514
+ }
515
+ function v() {
516
+ this.constructor.prototype.getOffset.call(this);
517
+ let e = this.options.offset ?? (this.pane.hasSeriesType("gauge") ? "-20%" : void 0);
518
+ S(e) && (this.offset = f(e, this.center[2] / 2) * -1), this.chart.axisOffset[this.side] = 0;
519
+ }
520
+ function x(e, t, n) {
521
+ let r = this.chart, i = (e) => {
522
+ if (typeof e == "string") {
523
+ let t = parseInt(e, 10);
524
+ return h.test(e) && (t = t * d / 100), t;
525
+ }
526
+ return e;
527
+ }, o = this.center, { endAngleRad: c, startAngleRad: l } = this, u = j(n.borderRadius ?? this.pane.options.borderRadius), d = o[2] / 2, f = Math.min(this.offset || 0, 0), p = this.left || 0, m = this.top || 0, h = /%$/, g = this.isCircular, _ = this.options.plotBands || [], v = _.indexOf(n), y, b, x, S, C, w, T = a(i(n.outerRadius), d), E = i(n.innerRadius), D = i(n.thickness), O = !0, k = !0;
528
+ if (u.radius && u.scope === "stack" && v > -1 && (_[v - 1] && _[v - 1].to === e && (O = !1), _[v + 1] && _[v + 1].from === t && (k = !1)), this.options.gridLineInterpolation === "polygon") w = this.getPlotLinePath({ value: e }).concat(this.getPlotLinePath({
529
+ value: t,
530
+ reverse: !0
531
+ }));
532
+ else {
533
+ s(this.min) && (e = Math.max(e, this.min)), s(this.max) && (t = Math.min(t, this.max));
534
+ let i = this.translate(e), d = this.translate(t);
535
+ g || (T = i || 0, E = d || 0), !s(this.min) && !s(this.max) && !n.color && !n.className ? (y = l, b = c) : n.shape === "circle" || !g ? (y = -Math.PI / 2, b = Math.PI * 1.5, C = !0) : (y = l + (i || 0), b = l + (d || 0)), T -= f, s(D) && (D -= f), w = r.renderer.symbols.arc(p + o[0], m + o[1], T, T, {
536
+ start: Math.min(y, b),
537
+ end: Math.max(y, b),
538
+ innerR: a(E, s(D) ? T - D : void 0, this.center[3] / 2),
539
+ open: C,
540
+ borderRadius: u.radius,
541
+ brStart: O,
542
+ brEnd: k
543
+ }), g && (x = (b + y) / 2, S = p + o[0] + o[2] / 2 * Math.cos(x), w.xBounds = x > -Math.PI / 2 && x < Math.PI / 2 ? [S, r.plotWidth] : [0, S], w.yBounds = [m + o[1] + o[2] / 2 * Math.sin(x)], w.yBounds[0] += x > -Math.PI && x < 0 || x > Math.PI ? -10 : 10);
544
+ }
545
+ return w;
546
+ }
547
+ function w(e) {
548
+ let t = this.pane.center, n = this.chart, r = n.inverted, i = e.reverse, a = this.pane.options.background, o = a ? y(a)[0] : {}, s = o.innerRadius || "0%", c = o.outerRadius || "100%", l = t[0] + n.plotLeft, u = t[1] + n.plotTop, d = this.height, p = e.isCrosshair, m = t[3] / 2, h = n.time.parse(e.value) || 0, g, _, v, b, x, S, w, T, E, D = this.getPosition(h, t[2] / 2 + (this.isCircular ? this.offset : 0)), O = D.x, k = D.y;
549
+ if (p && (T = this.getCrosshairPosition(e, l, u), h = T[0] || 0, O = T[1], k = T[2]), this.isCircular) _ = Math.sqrt((O - l) ** 2 + (k - u) ** 2), v = typeof s == "string" ? f(s, 1) : s / _, b = typeof c == "string" ? f(c, 1) : c / _, t && m && (g = m / _, v < g && (v = g), b < g && (b = g)), E = [[
550
+ "M",
551
+ l + v * (O - l),
552
+ u - v * (u - k)
553
+ ], [
554
+ "L",
555
+ O - (1 - b) * (O - l),
556
+ k + (1 - b) * (u - k)
557
+ ]];
558
+ else {
559
+ let e = C(this.translate(h), 0, d);
560
+ if (this.options.gridLineInterpolation === "circle") E = this.getLinePath(0, e, m);
561
+ else if (E = [], n[r ? "yAxis" : "xAxis"].forEach((e) => {
562
+ e.pane === this.pane && (x = e);
563
+ }), x) {
564
+ w = x.tickPositions, x.autoConnect && (w = w.concat([w[0]])), i && (w = w.slice().reverse()), e && (e += m);
565
+ for (let t = 0; t < w.length; t++) S = x.getPosition(w[t], e), E.push(t ? [
566
+ "L",
567
+ S.x,
568
+ S.y
569
+ ] : [
570
+ "M",
571
+ S.x,
572
+ S.y
573
+ ]);
574
+ }
575
+ }
576
+ return E;
577
+ }
578
+ function T(e, t) {
579
+ let n = this.translate(e);
580
+ return this.postTranslate(this.isCircular ? n : this.angleRad, a(this.isCircular ? t : n < 0 ? 0 : n, this.center[2] / 2) - this.offset);
581
+ }
582
+ function E() {
583
+ let e = this.center, t = this.chart, n = this.options.title;
584
+ return {
585
+ x: t.plotLeft + e[0] + (n.x || 0),
586
+ y: t.plotTop + e[1] - {
587
+ high: .5,
588
+ middle: .25,
589
+ low: 0
590
+ }[n.align] * e[2] + (n.y || 0)
591
+ };
592
+ }
593
+ function D(e) {
594
+ e.beforeSetTickPositions = i, e.createLabelCollector = l, e.getCrosshairPosition = p, e.getLinePath = h, e.getOffset = v, e.getPlotBandPath = x, e.getPlotLinePath = w, e.getPosition = T, e.getTitlePosition = E, e.postTranslate = L, e.setAxisSize = ne, e.setAxisTranslation = z, e.setOptions = re;
595
+ }
596
+ function O(e) {
597
+ e.isHidden = !0, e.createLabelCollector = d, e.getOffset = J, e.redraw = R, e.render = R, e.setCategories = J, e.setTitle = J;
598
+ }
599
+ function k() {
600
+ let e = this.chart, t = this.options, n = e.angular && this.isXAxis, r = this.pane, i = r?.options;
601
+ if (!n && r && (e.angular || e.polar)) {
602
+ let n = Math.PI * 2, r = i.startAngle ?? (e.angular ? -135 : 0), o = (r - 90) * Math.PI / 180, s = (a(i.endAngle, r + (e.angular ? 270 : 360)) - 90) * Math.PI / 180;
603
+ this.angleRad = (t.angle || 0) * Math.PI / 180, this.startAngleRad = o, this.endAngleRad = s;
604
+ let c = (o % n + n) % n, l = (s % n + n) % n;
605
+ c > Math.PI && (c -= n), l > Math.PI && (l -= n), this.normalizedStartAngleRad = c, this.normalizedEndAngleRad = l;
606
+ }
607
+ }
608
+ function A(e) {
609
+ if (this.chart.angular) {
610
+ let { options: t, pane: n } = this;
611
+ n.hasSeriesType("gauge") && (e.tickSize = [t[`${e.prefix}Length`] ?? 10, t[`${e.prefix}Width`] ?? 1], t[`${e.prefix}Position`] === "inside" && (e.tickSize[0] *= -1));
612
+ }
613
+ }
614
+ function M(e) {
615
+ this.isRadial && (e.align = void 0, e.preventDefault());
616
+ }
617
+ function N() {
618
+ if (this.chart?.labelCollectors) {
619
+ let e = this.labelCollector ? this.chart.labelCollectors.indexOf(this.labelCollector) : -1;
620
+ e >= 0 && this.chart.labelCollectors.splice(e, 1);
621
+ }
622
+ }
623
+ function ee(e) {
624
+ let t = this.chart, n = t.angular, r = t.polar, i = this.isXAxis, a = this.coll, o = n && i, s = e.userOptions.pane || 0, c = this.pane = t.pane && t.pane[s], l;
625
+ if (a === "colorAxis") {
626
+ this.isRadial = !1;
627
+ return;
628
+ }
629
+ n ? (o ? O(this) : D(this), l = !i) : r && (D(this), l = this.horiz), n || r ? (this.isRadial = !0, this.labelCollector ||= this.createLabelCollector(), this.labelCollector && t.labelCollectors.push(this.labelCollector)) : this.isRadial = !1, c && l && (c.axis = this), this.isCircular = l;
630
+ }
631
+ function P() {
632
+ this.isRadial && this.beforeSetTickPositions?.();
633
+ }
634
+ function F(e) {
635
+ let t = this.label;
636
+ if (!t) return;
637
+ let n = this.axis, r = t.getBBox(), i = n.options.labels, a = (n.translate(this.pos) + n.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360, o = Math.round(a), s = S(i.y) ? 0 : -r.height * .3, c = i.y, l, u = 20, d = i.align, p = "end", m = o < 0 ? o + 360 : o, h = m, g = 0, _ = 0;
638
+ n.isRadial && (l = n.getPosition(this.pos, n.center[2] / 2 + f(i.distance ?? -25, n.center[2] / 2) + n.offset), i.rotation === "auto" ? t.attr({ rotation: a }) : S(c) || (c = n.chart.renderer.fontMetrics(t).b - r.height / 2), S(d) || (n.isCircular ? (r.width > n.len * n.tickInterval / (n.max - n.min) && (u = 0), d = a > u && a < 180 - u ? "left" : a > 180 + u && a < 360 - u ? "right" : "center") : d = "center", t.attr({ align: d })), d === "auto" && n.tickPositions.length === 2 && n.isCircular && (m > 90 && m < 180 ? m = 180 - m : m > 270 && m <= 360 && (m = 540 - m), h > 180 && h <= 360 && (h = 360 - h), (n.pane.options.startAngle === o || n.pane.options.startAngle === o + 360 || n.pane.options.startAngle === o - 360) && (p = "start"), d = o >= -90 && o <= 90 || o >= -360 && o <= -270 || o >= 270 && o <= 360 ? p === "start" ? "right" : "left" : p === "start" ? "left" : "right", h > 70 && h < 110 && (d = "center"), m < 15 || m >= 180 && m < 195 ? g = r.height * .3 : m >= 15 && m <= 35 ? g = p === "start" ? 0 : r.height * .75 : m >= 195 && m <= 215 ? g = p === "start" ? r.height * .75 : 0 : m > 35 && m <= 90 ? g = p === "start" ? -r.height * .25 : r.height : m > 215 && m <= 270 && (g = p === "start" ? r.height : -r.height * .25), h < 15 ? _ = p === "start" ? -r.height * .15 : r.height * .15 : h > 165 && h <= 180 && (_ = p === "start" ? r.height * .15 : -r.height * .15), t.attr({ align: d }), t.translate(_, g + s)), e.pos.x = l.x + (i.x || 0), e.pos.y = l.y + (c || 0));
639
+ }
640
+ function te(e) {
641
+ this.axis.getPosition && g(e.pos, this.axis.getPosition(this.pos));
642
+ }
643
+ function I({ options: e }) {
644
+ e.xAxis && n(!0, t.radialDefaultOptions.circular, e.xAxis), e.yAxis && n(!0, t.radialDefaultOptions.radialGauge, e.yAxis);
645
+ }
646
+ function L(e, t) {
647
+ let n = this.chart, r = this.center;
648
+ return e = this.startAngleRad + e, {
649
+ x: n.plotLeft + r[0] + Math.cos(e) * t,
650
+ y: n.plotTop + r[1] + Math.sin(e) * t
651
+ };
652
+ }
653
+ function R() {
654
+ this.isDirty = !1;
655
+ }
656
+ function ne() {
657
+ let e = this.constructor.prototype, t, n;
658
+ e.setAxisSize.call(this), this.isRadial && (this.pane.updateCenter(), t = this.center = this.pane.center.slice(), this.isCircular ? (this.sector = this.endAngleRad - this.startAngleRad, this.len = this.width = this.height = t[2] * this.sector / 2) : (n = this.postTranslate(this.angleRad, t[3] / 2), t[0] = n.x - this.chart.plotLeft, t[1] = n.y - this.chart.plotTop, this.len = this.width = this.height = (t[2] - t[3]) / 2));
659
+ }
660
+ function z() {
661
+ this.constructor.prototype.setAxisTranslation.call(this), this.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) / (this.max - this.min || 1) : (this.center[2] - this.center[3]) / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0);
662
+ }
663
+ function re(e) {
664
+ let { coll: i } = this, { angular: a, inverted: o, polar: s } = this.chart, l = {};
665
+ a ? this.isXAxis || (l = n(q.yAxis, t.radialDefaultOptions.radialGauge)) : s && (l = this.horiz ? n(q.xAxis, t.radialDefaultOptions.circular) : n(i === "xAxis" ? q.xAxis : q.yAxis, t.radialDefaultOptions.radial)), o && i === "yAxis" && (l.stackLabels = c(q.yAxis, !0) ? q.yAxis.stackLabels : {}, l.reversedStacks = !0);
666
+ let u = this.options = n(l, e);
667
+ u.plotBands ||= [], r(this, "afterSetOptions");
668
+ }
669
+ function B(e) {
670
+ return !S(this.options.minorTicks) && this.pane.hasSeriesType("gauge") ? "auto" : e.apply(this, Array.prototype.slice.call(arguments, 1));
671
+ }
672
+ function ie(e, t, n, r, i, a, o) {
673
+ let s = this.axis, c, l;
674
+ return s.isRadial ? (c = s.getPosition(this.pos, s.center[2] / 2 + r), l = [
675
+ "M",
676
+ t,
677
+ n,
678
+ "L",
679
+ c.x,
680
+ c.y
681
+ ]) : l = e.call(this, t, n, r, i, a, o), l;
682
+ }
683
+ })(xe ||= {});
684
+ var Se = xe, { defaultOptions: Ce } = d, { composed: we } = _;
685
+ function Te(e, t, n, r, i) {
686
+ let a = v(), o = e.createElement("clipPath").attr({ id: a }).add(e.defs), s = i ? e.arc(t, n, r, i, 0, 2 * Math.PI).add(o) : e.circle(t, n, r).add(o);
687
+ return s.id = a, s.clipPath = o, s;
688
+ }
689
+ function Ee(e, t) {
690
+ let n, r;
691
+ return t.align === null && (n = e > 20 && e < 160 ? "left" : e > 200 && e < 340 ? "right" : "center", t.align = n), t.verticalAlign === null && (r = e < 45 || e > 315 ? "bottom" : e > 135 && e < 225 ? "top" : "middle", t.verticalAlign = r), t;
692
+ }
693
+ function De(e, t, n, r) {
694
+ let i = 1.5, a = 2.5, o = +!!r, s, c, l, u, d, f;
695
+ s = t >= 0 && t <= e.length - 1 ? t : t < 0 ? e.length - 1 + t : 0;
696
+ let p = s - 1 < 0 ? e.length - (1 + o) : s - 1, m = s + 1 > e.length - 1 ? o : s + 1, h = e[p], g = e[m], _ = h.plotX, v = h.plotY, y = g.plotX, b = g.plotY, x = e[s].plotX, S = e[s].plotY;
697
+ c = (i * x + _) / a, l = (i * S + v) / a, u = (i * x + y) / a, d = (i * S + b) / a;
698
+ let C = Math.sqrt((c - x) ** 2 + (l - S) ** 2), w = Math.sqrt((u - x) ** 2 + (d - S) ** 2), T = Math.atan2(l - S, c - x), E = Math.atan2(d - S, u - x);
699
+ f = Math.PI / 2 + (T + E) / 2, Math.abs(T - f) > Math.PI / 2 && (f -= Math.PI), c = x + Math.cos(f) * C, l = S + Math.sin(f) * C, u = x + Math.cos(Math.PI + f) * w, d = S + Math.sin(Math.PI + f) * w;
700
+ let D = {
701
+ rightContX: u,
702
+ rightContY: d,
703
+ leftContX: c,
704
+ leftContY: l,
705
+ plotX: x,
706
+ plotY: S
707
+ };
708
+ return n && (D.prevPointCont = De(e, p, !1, r)), D;
709
+ }
710
+ function Oe() {
711
+ (this.pane || []).forEach((e) => {
712
+ e.render();
713
+ });
714
+ }
715
+ function ke(e) {
716
+ let t = e.args[0].xAxis, n = e.args[0].yAxis, r = e.args[0].chart;
717
+ t && n && (n.gridLineInterpolation === "polygon" ? (t.startOnTick = !0, t.endOnTick = !0) : t.gridLineInterpolation === "polygon" && r.inverted && (n.startOnTick = !0, n.endOnTick = !0));
718
+ }
719
+ function Ae() {
720
+ this.pane ||= [], this.options.pane = y(this.options.pane || {}), y(this.userOptions.pane || {}).forEach((e) => {
721
+ new K(e, this);
722
+ }, this);
723
+ }
724
+ function je(e) {
725
+ let t = e.args.marker, n = this.chart.xAxis[0], r = this.chart.yAxis[0], i = this.chart.inverted, a = i ? r : n, o = i ? n : r;
726
+ if (this.chart.polar) {
727
+ e.preventDefault();
728
+ let n = (t.attr ? t.attr("start") : t.start) - a.startAngleRad, r = t.attr ? t.attr("r") : t.r, i = (t.attr ? t.attr("end") : t.end) - a.startAngleRad, s = t.attr ? t.attr("innerR") : t.innerR;
729
+ e.result.x = n + a.pos, e.result.width = i - n, e.result.y = o.len + o.pos - r, e.result.height = r - s;
730
+ }
731
+ }
732
+ function Me(e) {
733
+ let t = this.chart;
734
+ if (t.polar && t.hoverPane && t.hoverPane.axis) {
735
+ e.preventDefault();
736
+ let n = t.hoverPane.center, r = t.mouseDownX || 0, i = t.mouseDownY || 0, a = e.args.chartY, o = e.args.chartX, s = Math.PI * 2, c = t.hoverPane.axis.startAngleRad, l = t.hoverPane.axis.endAngleRad, u = t.inverted ? t.xAxis[0] : t.yAxis[0], d = {}, f = "arc";
737
+ if (d.x = n[0] + t.plotLeft, d.y = n[1] + t.plotTop, this.zoomHor) {
738
+ let e = c > 0 ? l - c : Math.abs(c) + Math.abs(l), p = Math.atan2(i - t.plotTop - n[1], r - t.plotLeft - n[0]) - c, m = Math.atan2(a - t.plotTop - n[1], o - t.plotLeft - n[0]) - c;
739
+ if (d.r = n[2] / 2, d.innerR = n[3] / 2, p <= 0 && (p += s), m <= 0 && (m += s), m < p && (m = [p, p = m][0]), e < s) {
740
+ let t = l + (s - e) / 2;
741
+ c + m > t && (m = p, p = c <= 0 ? c : 0);
742
+ }
743
+ let h = d.start = Math.max(p + c, c), g = d.end = Math.min(m + c, l);
744
+ if (u.options.gridLineInterpolation === "polygon") {
745
+ let e = t.hoverPane.axis, r = h - e.startAngleRad + e.pos, i = g - h, a = u.getPlotLinePath({ value: u.max }), o = e.toValue(r), s = e.toValue(r + i);
746
+ if (o < e.getExtremes().min) {
747
+ let { min: t, max: n } = e.getExtremes();
748
+ o = n - (t - o);
749
+ }
750
+ if (s < e.getExtremes().min) {
751
+ let { min: t, max: n } = e.getExtremes();
752
+ s = n - (t - s);
753
+ }
754
+ s < o && (s = [o, o = s][0]), a = Y(a, o, s, e), a.push([
755
+ "L",
756
+ n[0] + t.plotLeft,
757
+ t.plotTop + n[1]
758
+ ]), d.d = a, f = "path";
759
+ }
760
+ }
761
+ if (this.zoomVert) {
762
+ let e = t.inverted ? t.xAxis[0] : t.yAxis[0], s = Math.sqrt((r - t.plotLeft - n[0]) ** 2 + (i - t.plotTop - n[1]) ** 2), u = Math.sqrt((o - t.plotLeft - n[0]) ** 2 + (a - t.plotTop - n[1]) ** 2);
763
+ if (u < s && (s = [u, u = s][0]), u > n[2] / 2 && (u = n[2] / 2), s < n[3] / 2 && (s = n[3] / 2), this.zoomHor || (d.start = c, d.end = l), d.r = u, d.innerR = s, e.options.gridLineInterpolation === "polygon") {
764
+ let t = e.toValue(e.len + e.pos - s), n = e.toValue(e.len + e.pos - u);
765
+ d.d = e.getPlotLinePath({ value: n }).concat(e.getPlotLinePath({
766
+ value: t,
767
+ reverse: !0
768
+ })), f = "path";
769
+ }
770
+ }
771
+ if (this.zoomHor && this.zoomVert && u.options.gridLineInterpolation === "polygon") {
772
+ let e = t.hoverPane.axis, n = d.start || 0, r = d.end || 0, i = n - e.startAngleRad + e.pos, a = r - n, o = e.toValue(i), s = e.toValue(i + a);
773
+ if (d.d instanceof Array) {
774
+ let e = d.d.slice(0, d.d.length / 2), n = d.d.slice(d.d.length / 2, d.d.length);
775
+ n = [...n].reverse();
776
+ let r = t.hoverPane.axis;
777
+ e = Y(e, o, s, r), n = Y(n, o, s, r), n && (n[0][0] = "L"), n = [...n].reverse(), d.d = e.concat(n), f = "path";
778
+ }
779
+ }
780
+ e.attrs = d, e.shapeType = f;
781
+ }
782
+ }
783
+ function Ne() {
784
+ let e = this.chart;
785
+ e.polar && (this.polar = new Ke(this), e.inverted && (this.isRadialSeries = !0, this.is("column") && (this.isRadialBar = !0)));
786
+ }
787
+ function Pe() {
788
+ let { chart: e, options: t, yAxis: n } = this;
789
+ if (t.borderRadius && e.polar && e.inverted) {
790
+ let e = Ce.plotOptions?.[this.type]?.borderRadius, { scope: r, where: i = "end" } = j(t.borderRadius, c(e) ? e : {});
791
+ for (let e of this.points) {
792
+ let { shapeArgs: a } = e;
793
+ if (e.shapeType === "arc" && a) {
794
+ let o = i === "all", s = !0;
795
+ t.stacking && r === "stack" && (o = e.stackY === e.y && i === "all", s = e.stackY === e.stackTotal), n.reversed && ([o, s] = [s, o]), a.brStart = o, a.brEnd = s;
796
+ }
797
+ }
798
+ }
799
+ }
800
+ function Fe() {
801
+ if (this.chart.polar && this.xAxis) {
802
+ let e = this, { xAxis: t, yAxis: n } = e, r = e.chart;
803
+ e.kdByAngle = r.tooltip && r.tooltip.shared, e.kdByAngle || r.inverted ? e.searchPoint = Ie : e.options.findNearestPointBy = "xy";
804
+ let i = e.points, o = i.length;
805
+ for (; o--;) !e.is("column") && !e.is("columnrange") && e.polar.toXY(i[o]), !r.hasParallelCoordinates && !e.yAxis.reversed && (a(i[o].y, Number.MIN_VALUE) < n.min || i[o].x < t.min || i[o].x > t.max ? (i[o].isNull = !0, i[o].plotY = NaN) : i[o].isNull = i[o].isValid && !i[o].isValid());
806
+ this.hasClipCircleSetter ||= !!e.eventsToUnbind.push(m(e, "afterRender", function() {
807
+ let e;
808
+ r.polar && this.options.clip !== !1 && (e = this.yAxis.pane.center, this.clipCircle ? this.clipCircle.animate({
809
+ x: e[0],
810
+ y: e[1],
811
+ r: e[2] / 2,
812
+ innerR: e[3] / 2
813
+ }) : this.clipCircle = Te(r.renderer, e[0], e[1], e[2] / 2, e[3] / 2), this.group.clip(this.clipCircle), this.setClip = _.noop);
814
+ }));
815
+ }
816
+ }
817
+ function Ie(e) {
818
+ let t = this, n = t.chart, r = t.xAxis, i = t.yAxis, a = r.pane && r.pane.center, o = e.chartX - (a && a[0] || 0) - n.plotLeft, s = e.chartY - (a && a[1] || 0) - n.plotTop, c = n.inverted ? {
819
+ clientX: e.chartX - i.pos,
820
+ plotY: e.chartY - r.pos
821
+ } : { clientX: 180 + -180 / Math.PI * Math.atan2(o, s) };
822
+ return t.searchKDTree(c);
823
+ }
824
+ function Y(e, t, n, r) {
825
+ let i = r.tickInterval, a = r.tickPositions, o = h(a, (e) => e >= n), s = h([...a].reverse(), (e) => e <= t);
826
+ return S(o) || (o = a[a.length - 1]), S(s) || (s = a[0], o += i, e[0][0] = "L", e.unshift(e[e.length - 3])), e = e.slice(a.indexOf(s), a.indexOf(o) + 1), e[0][0] = "M", e;
827
+ }
828
+ function Le(e, t) {
829
+ return h(this.pane || [], (e) => e.options.id === t) || e.call(this, t);
830
+ }
831
+ function Re(e, t, r, i, o, s) {
832
+ let c = this.chart, l = a(i.inside, !!this.options.stacking), u, d, f;
833
+ c.polar ? (u = t.rectPlotX / Math.PI * 180, c.inverted ? (this.forceDL = c.isInsidePlot(t.plotX, t.plotY), l && t.shapeArgs ? (d = t.shapeArgs, f = this.yAxis.postTranslate(((d.start || 0) + (d.end || 0)) / 2 - this.xAxis.startAngleRad, t.barX + (t.pointWidth || 0) / 2), o = n(o, {
834
+ x: f.x - c.plotLeft,
835
+ y: f.y - c.plotTop
836
+ })) : t.tooltipPos && (o = n(o, {
837
+ x: t.tooltipPos[0],
838
+ y: t.tooltipPos[1]
839
+ })), i.align = a(i.align, "center"), i.verticalAlign = a(i.verticalAlign, "middle")) : i = Ee(u, i), D.prototype.alignDataLabel.call(this, t, r, i, o, s), this.isRadialBar && t.shapeArgs && t.shapeArgs.start === t.shapeArgs.end ? r.hide() : r.show()) : e.call(this, t, r, i, o, s);
840
+ }
841
+ function ze() {
842
+ let e = this, { chart: t, options: n, xAxis: r, yAxis: i } = e, a = n.stacking, { center: o, reversed: c } = i, { endAngleRad: l, startAngleRad: u } = r, d = l - u, p = n.threshold, m = 0, h, g, _, v, y, b = 0, x = 0, w, T, E, D, O, k, A, M;
843
+ if (r.isRadial) for (h = e.points, _ = h.length, v = i.translate(i.min), y = i.translate(i.max), p = n.threshold || 0, t.inverted && s(p) && (m = i.translate(p), S(m) && (m < 0 ? m = 0 : m > d && (m = d), e.translatedThreshold = m + u)); _--;) {
844
+ if (g = h[_], k = g.barX, T = g.x, E = g.y, g.shapeType = "arc", t.inverted) {
845
+ g.plotY = i.translate(E), a && i.stacking ? (O = i.stacking.stacks[(E < 0 ? "-" : "") + e.stackKey], e.visible && O && O[T] && (g.isNull || (D = O[T].points[e.getStackIndicator(void 0, T, e.index).key], b = i.translate(D[0]), x = i.translate(D[1]), S(b) && (b = C(b, 0, d))))) : (b = m, x = g.plotY), b > x && (x = [b, b = x][0]), c ? x > v ? x = v : b < y ? b = y : (b > v || x < y) && (b = x = d) : b < v ? b = v : x > y ? x = y : (x < v || b > y) && (b = x = 0), i.min > i.max && (b = x = c ? d : 0), b += u, x += u, o && (g.barX = k += o[3] / 2), A = Math.max(k, 0), M = Math.max(k + (g.pointWidth || 0), 0);
846
+ let t = j(n.borderRadius), r = f(t.radius, M - A);
847
+ g.shapeArgs = {
848
+ x: o[0],
849
+ y: o[1],
850
+ r: M,
851
+ innerR: A,
852
+ start: b,
853
+ end: x,
854
+ borderRadius: r
855
+ }, g.opacity = b === x ? 0 : void 0, g.plotY = (S(e.translatedThreshold) && (b < e.translatedThreshold ? b : x)) - u;
856
+ } else b = k + u, g.shapeArgs = e.polar.arc(g.yBottom, g.plotY, b, b + (g.pointWidth || 0)), g.shapeArgs.borderRadius = 0;
857
+ e.polar.toXY(g), t.inverted ? (w = i.postTranslate(g.rectPlotY, k + (g.pointWidth || 0) / 2), g.tooltipPos = [w.x - t.plotLeft, w.y - t.plotTop]) : g.tooltipPos = [g.plotX, g.plotY], o && (g.ttBelow = g.plotY > o[1]);
858
+ }
859
+ }
860
+ function Be(e, t) {
861
+ let n = this, r, i;
862
+ if (this.chart.polar) {
863
+ t ||= this.points;
864
+ for (let e = 0; e < t.length; e++) if (!t[e].isNull) {
865
+ r = e;
866
+ break;
867
+ }
868
+ this.options.connectEnds !== !1 && r !== void 0 && (this.connectEnds = !0, t.splice(t.length, 0, t[r]), i = !0), t.forEach((e) => {
869
+ e.polarPlotY === void 0 && n.polar.toXY(e);
870
+ });
871
+ }
872
+ let a = e.apply(this, [].slice.call(arguments, 1));
873
+ return i && t.pop(), a;
874
+ }
875
+ function Ve(e, t) {
876
+ let n = this.chart, r = {
877
+ xAxis: [],
878
+ yAxis: []
879
+ };
880
+ return n.polar ? n.axes.forEach((e) => {
881
+ if (e.coll === "colorAxis") return;
882
+ let i = e.isXAxis, a = e.center, o = t.chartX - a[0] - n.plotLeft, s = t.chartY - a[1] - n.plotTop;
883
+ r[i ? "xAxis" : "yAxis"].push({
884
+ axis: e,
885
+ value: e.translate(i ? Math.PI - Math.atan2(o, s) : Math.sqrt(o ** 2 + s ** 2), !0)
886
+ });
887
+ }) : r = e.call(this, t), r;
888
+ }
889
+ function He(e, t) {
890
+ this.chart.polar || e.call(this, t);
891
+ }
892
+ function Ue(e, t) {
893
+ let n = this, r = this.chart, i = this.group, o = this.markerGroup, s = this.xAxis && this.xAxis.center, c = r.plotLeft, l = r.plotTop, u = this.options.animation, d, f, p, m, h, g;
894
+ r.polar ? n.isRadialBar ? t || (n.startAngleRad = a(n.translatedThreshold, n.xAxis.startAngleRad), _.seriesTypes.pie.prototype.animate.call(n, t)) : (u = x(u), n.is("column") ? t || (f = s[3] / 2, n.points.forEach((e) => {
895
+ p = e.graphic, m = e.shapeArgs, h = m && m.r, g = m && m.innerR, p && m && (p.attr({
896
+ r: f,
897
+ innerR: f
898
+ }), p.animate({
899
+ r: h,
900
+ innerR: g
901
+ }, n.options.animation));
902
+ })) : t ? (d = {
903
+ translateX: s[0] + c,
904
+ translateY: s[1] + l,
905
+ scaleX: .001,
906
+ scaleY: .001
907
+ }, i.attr(d), o && o.attr(d)) : (d = {
908
+ translateX: c,
909
+ translateY: l,
910
+ scaleX: 1,
911
+ scaleY: 1
912
+ }, i.animate(d, u), o && o.animate(d, u))) : e.call(this, t);
913
+ }
914
+ function We(e, t, n, r) {
915
+ let i, a;
916
+ if (this.chart.polar) {
917
+ if (!r) i = [
918
+ "M",
919
+ n.plotX,
920
+ n.plotY
921
+ ];
922
+ else {
923
+ a = De(t, r, !0, this.connectEnds);
924
+ let e = a.prevPointCont && a.prevPointCont.rightContX, n = a.prevPointCont && a.prevPointCont.rightContY;
925
+ i = [
926
+ "C",
927
+ s(e) ? e : a.plotX,
928
+ s(n) ? n : a.plotY,
929
+ s(a.leftContX) ? a.leftContX : a.plotX,
930
+ s(a.leftContY) ? a.leftContY : a.plotY,
931
+ a.plotX,
932
+ a.plotY
933
+ ];
934
+ }
935
+ } else i = e.call(this, t, n, r);
936
+ return i;
937
+ }
938
+ function Ge(e, t, n = this.plotX, r = this.plotY) {
939
+ let { series: i } = this, { chart: a } = i || {};
940
+ return a?.polar && s(n) && s(r) ? [n + (t ? a.plotLeft : 0), r + (t ? a.plotTop : 0)] : e.call(this, t, n, r);
941
+ }
942
+ var Ke = class {
943
+ static compose(t, n, r, i, a, o, s, c, l, u) {
944
+ if (K.compose(n, r), Se.compose(t, a), e(we, "Polar")) {
945
+ let e = n.prototype, t = o.prototype, a = r.prototype, d = i.prototype;
946
+ if (m(n, "afterDrawChartBox", Oe), m(n, "createAxes", Ae), m(n, "init", ke), b(e, "get", Le), b(a, "getCoordinates", Ve), b(a, "pinch", He), m(r, "getSelectionMarkerAttrs", Me), m(r, "getSelectionBox", je), m(i, "afterInit", Ne), m(i, "afterColumnTranslate", Pe, { order: 9 }), m(i, "afterTranslate", Fe, { order: 2 }), m(i, "afterColumnTranslate", ze, { order: 4 }), b(d, "animate", Ue), b(t, "pos", Ge), c) {
947
+ let e = c.prototype;
948
+ b(e, "alignDataLabel", Re), b(e, "animate", Ue);
949
+ }
950
+ if (l) {
951
+ let e = l.prototype;
952
+ b(e, "getGraphPath", Be);
953
+ }
954
+ if (u) {
955
+ let e = u.prototype;
956
+ if (b(e, "getPointSpline", We), s) {
957
+ let t = s.prototype;
958
+ t.getPointSpline = e.getPointSpline;
959
+ }
960
+ }
961
+ }
962
+ }
963
+ constructor(e) {
964
+ this.series = e;
965
+ }
966
+ arc(e, t, n, r) {
967
+ let i = this.series, o = i.xAxis.center, s = i.yAxis.len, c = o[3] / 2, l = s - t + c, u = s - a(e, s) + c;
968
+ return i.yAxis.reversed && (l < 0 && (l = c), u < 0 && (u = c)), {
969
+ x: o[0],
970
+ y: o[1],
971
+ r: l,
972
+ innerR: u,
973
+ start: n,
974
+ end: r
975
+ };
976
+ }
977
+ toXY(e) {
978
+ let t = this.series, n = t.chart, r = t.xAxis, i = t.yAxis, a = e.plotX, o = n.inverted, c = e.y, l = e.plotY, u = o ? a : i.len - l, d;
979
+ if (o && t && !t.isRadialBar && (e.plotY = l = s(c) ? i.translate(c) : 0), e.rectPlotX = a, e.rectPlotY = l, i.center && (u += i.center[3] / 2), s(l)) {
980
+ let t = o ? i.postTranslate(l, u) : r.postTranslate(a, u);
981
+ e.plotX = e.polarPlotX = t.x - n.plotLeft, e.plotY = e.polarPlotY = t.y - n.plotTop;
982
+ }
983
+ t.kdByAngle ? (d = (a / Math.PI * 180 + (r.pane.options.startAngle || 0)) % 360, d < 0 && (d += 360), e.clientX = d) : e.clientX = e.plotX;
984
+ }
985
+ }, { composed: qe } = _, Je;
986
+ (function(n) {
987
+ function r(t, n) {
988
+ e(qe, "Axis.Waterfall") && (m(t, "init", o), m(t, "afterBuildStacks", i), m(t, "afterRender", a), m(n, "beforeRedraw", s));
989
+ }
990
+ n.compose = r;
991
+ function i() {
992
+ let e = this.waterfall?.stacks;
993
+ e && (e.changed = !1, delete e.alreadyChanged);
994
+ }
995
+ function a() {
996
+ let e = this;
997
+ e.options.stackLabels?.enabled && e.waterfall?.stacks && e.waterfall.renderStackTotals();
998
+ }
999
+ function o() {
1000
+ let e = this;
1001
+ e.waterfall ||= new c(e);
1002
+ }
1003
+ function s() {
1004
+ let e = this.axes, t = this.series;
1005
+ for (let n of t) if (n.options.stacking) {
1006
+ for (let t of e) !t.isXAxis && t.waterfall && (t.waterfall.stacks.changed = !0);
1007
+ break;
1008
+ }
1009
+ }
1010
+ class c {
1011
+ constructor(e) {
1012
+ this.axis = e, this.stacks = { changed: !1 };
1013
+ }
1014
+ renderStackTotals() {
1015
+ let e = this.axis, n = e.waterfall?.stacks, r = e.stacking?.stackTotalGroup, i = new k(e, e.options.stackLabels || {}, !1, 0, void 0);
1016
+ this.dummyStackItem = i, r && t(n, (e) => {
1017
+ t(e, (e, t) => {
1018
+ i.total = e.stackTotal, i.x = +t, e.label && (i.label = e.label), k.prototype.render.call(i, r), e.label = i.label, delete i.label;
1019
+ });
1020
+ }), i.total = null;
1021
+ }
1022
+ }
1023
+ n.Composition = c;
1024
+ })(Je ||= {});
1025
+ var Ye = Je, Xe = class extends O.prototype.pointClass {
1026
+ getClassName() {
1027
+ let e = T.prototype.getClassName.call(this);
1028
+ return this.isSum ? e += " highcharts-sum" : this.isIntermediateSum && (e += " highcharts-intermediate-sum"), e;
1029
+ }
1030
+ isValid() {
1031
+ return s(this.y) || this.isSum || !!this.isIntermediateSum;
1032
+ }
1033
+ }, Ze = {
1034
+ dataLabels: { inside: !0 },
1035
+ lineWidth: 1,
1036
+ lineColor: "var(--highcharts-neutral-color-80)",
1037
+ dashStyle: "Dot",
1038
+ borderColor: "var(--highcharts-neutral-color-80)",
1039
+ states: { hover: { lineWidthPlus: 0 } }
1040
+ }, { column: X, line: Qe } = E.seriesTypes;
1041
+ function Z(e, t) {
1042
+ return Object.hasOwnProperty.call(e, t);
1043
+ }
1044
+ var Q = class extends X {
1045
+ generatePoints() {
1046
+ X.prototype.generatePoints.apply(this);
1047
+ let e = this.getColumn("y", !0);
1048
+ for (let t = 0, n = this.points.length; t < n; t++) {
1049
+ let n = this.points[t], r = e[t];
1050
+ s(r) && (n.isIntermediateSum || n.isSum) && (n.y = u(r));
1051
+ }
1052
+ }
1053
+ processData(e) {
1054
+ let t = this, n = t.options, r = t.getColumn("y"), i = t.getColumn("isSum"), a = t.getColumn("isIntermediateSum"), o = r.length, s = n.threshold || 0, c, l, d, f, p;
1055
+ l = c = d = f = 0;
1056
+ for (let e = 0; e < o; e++) p = r[e], p === "sum" || i[e] ? r[e] = u(l) : p === "intermediateSum" || a[e] ? (r[e] = u(c), c = 0) : (l += p, c += p), d = Math.min(l, d), f = Math.max(l, f);
1057
+ super.processData.call(this, e), n.stacking || (t.dataMin = d + s, t.dataMax = f);
1058
+ }
1059
+ toYData(e) {
1060
+ return e.isSum ? "sum" : e.isIntermediateSum ? "intermediateSum" : e.y;
1061
+ }
1062
+ pointAttribs(e, t) {
1063
+ let n = this.options.upColor;
1064
+ n && e && !e.options.color && s(e.y) && (e.color = e.y > 0 ? n : void 0);
1065
+ let r = X.prototype.pointAttribs.call(this, e, t);
1066
+ return delete r.dashstyle, r;
1067
+ }
1068
+ getGraphPath() {
1069
+ return this.graph?.pathArray || [[
1070
+ "M",
1071
+ 0,
1072
+ 0
1073
+ ]];
1074
+ }
1075
+ getCrispPath() {
1076
+ let e = this.points.filter((e) => s(e.y)), t = this.yAxis, n = e.length, r = this.graph?.strokeWidth() || 0, i = this.xAxis.reversed, a = this.yAxis.reversed, c = this.options.stacking, l = [];
1077
+ for (let u = 1; u < n; u++) {
1078
+ if (!(this.options.connectNulls || s(this.data[e[u].index - 1].y))) continue;
1079
+ let n = e[u].box, d = e[u - 1], f = d.y || 0, p = e[u - 1].box;
1080
+ if (!n || !p) continue;
1081
+ let m = t.waterfall?.stacks[this.stackKey], h = f > 0 ? -p.height : 0;
1082
+ if (m && p && n) {
1083
+ let e = m[u - 1], s;
1084
+ s = o(c ? t.translate(e.connectorThreshold || 0, !1, !0, !1, !0) + (a ? h : 0) : p.y + (d.minPointLengthOffset || 0), r), l.push([
1085
+ "M",
1086
+ (p.x || 0) + (i ? 0 : p.width || 0),
1087
+ s
1088
+ ], [
1089
+ "L",
1090
+ (n.x || 0) + (i && n.width || 0),
1091
+ s
1092
+ ]);
1093
+ }
1094
+ if (p && l.length && (!c && f < 0 && !a || f > 0 && a)) {
1095
+ let e = l[l.length - 2];
1096
+ e && typeof e[2] == "number" && (e[2] += p.height || 0);
1097
+ let t = l[l.length - 1];
1098
+ t && typeof t[2] == "number" && (t[2] += p.height || 0);
1099
+ }
1100
+ }
1101
+ return l;
1102
+ }
1103
+ drawGraph() {
1104
+ Qe.prototype.drawGraph.call(this), this.graph?.animate({ d: this.getCrispPath() });
1105
+ }
1106
+ setStackedPoints(e) {
1107
+ let t = this, n = t.options, r = e.waterfall?.stacks, i = n.threshold || 0, a = t.stackKey, o = t.getColumn("x"), s = t.getColumn("y"), l = o.length, u = i, d = u, f, p = 0, m = 0, h = 0, g, _, v, y, b, x, S, C, w = (e, t, n, r) => {
1108
+ if (f) {
1109
+ if (!g) f.stackState[0] = e, g = f.stackState.length;
1110
+ else for (; n < g; n++) f.stackState[n] += r;
1111
+ f.stackState.push(f.stackState[g - 1] + t);
1112
+ }
1113
+ };
1114
+ if (e.stacking && r && t.reserveSpace()) {
1115
+ C = r.changed, S = r.alreadyChanged, S && S.indexOf(a) < 0 && (C = !0), r[a] || (r[a] = {});
1116
+ let e = r[a];
1117
+ if (e) for (let t = 0; t < l; t++) x = o[t], (!e[x] || C) && (e[x] = {
1118
+ negTotal: 0,
1119
+ posTotal: 0,
1120
+ stackTotal: 0,
1121
+ threshold: 0,
1122
+ stateIndex: 0,
1123
+ stackState: [],
1124
+ label: C && e[x] ? e[x].label : void 0
1125
+ }), f = e[x], b = s[t], b >= 0 ? f.posTotal += b : f.negTotal += b, y = n.data?.[t], _ = f.absolutePos = f.posTotal, v = f.absoluteNeg = f.negTotal, f.stackTotal = _ + v, g = f.stackState.length, c(y, !0) && y.isIntermediateSum ? (w(h, m, 0, h), h = m, m = i, u ^= d, d ^= u, u ^= d) : c(y, !0) && y.isSum ? (w(i, p, g, 0), u = i) : (w(u, b, 0, p), y && (p += b, m += b)), f.stateIndex++, f.threshold = u, u += f.stackTotal;
1126
+ r.changed = !1, r.alreadyChanged ||= [], r.alreadyChanged.push(a);
1127
+ }
1128
+ }
1129
+ getExtremes() {
1130
+ let e = this.options.stacking, n = this.yAxis.waterfall?.stacks, r, i;
1131
+ return e && n ? (r = this.stackedYNeg = [], i = this.stackedYPos = [], e === "overlap" ? t(n[this.stackKey], function(e) {
1132
+ r.push(l(e.stackState)), i.push(p(e.stackState));
1133
+ }) : t(n[this.stackKey], function(e) {
1134
+ r.push(e.negTotal + e.threshold), i.push(e.posTotal + e.threshold);
1135
+ }), {
1136
+ dataMin: l(r),
1137
+ dataMax: p(i)
1138
+ }) : {
1139
+ dataMin: this.dataMin,
1140
+ dataMax: this.dataMax
1141
+ };
1142
+ }
1143
+ };
1144
+ Q.defaultOptions = n(X.defaultOptions, Ze), Q.compose = Ye.compose, g(Q.prototype, {
1145
+ pointValKey: "y",
1146
+ showLine: !0,
1147
+ pointClass: Xe
1148
+ }), m(Q, "afterColumnTranslate", function() {
1149
+ let e = this, { options: t, points: r, yAxis: i } = e, c = a(t.minPointLength, 5), l = c / 2, u = t.threshold || 0, d = t.stacking, f = i.waterfall?.stacks[e.stackKey], p = e.getColumn("y", !0), m = u, h = u, _, v, y;
1150
+ for (let t = 0; t < r.length; t++) {
1151
+ let a = r[t], b = p[t], x = a.shapeArgs, S = g({
1152
+ x: 0,
1153
+ y: 0,
1154
+ width: 0,
1155
+ height: 0
1156
+ }, x || {});
1157
+ a.box = S;
1158
+ let C = [0, b], w = a.y || 0;
1159
+ if (d) {
1160
+ if (f) {
1161
+ let n = f[t];
1162
+ d === "overlap" ? (v = n.stackState[n.stateIndex--], _ = w >= 0 ? v : v - w, Z(n, "absolutePos") && delete n.absolutePos, Z(n, "absoluteNeg") && delete n.absoluteNeg) : (w >= 0 ? (v = n.threshold + n.posTotal, n.posTotal -= w, _ = v) : (v = n.threshold + n.negTotal, n.negTotal -= w, _ = v - w), n.posTotal || s(n.absolutePos) && Z(n, "absolutePos") && (n.posTotal = n.absolutePos, delete n.absolutePos), n.negTotal || s(n.absoluteNeg) && Z(n, "absoluteNeg") && (n.negTotal = n.absoluteNeg, delete n.absoluteNeg)), a.isSum || (n.connectorThreshold = n.threshold + n.stackTotal), y = _ - Math.abs(w), i.reversed && ([_, y] = [y, _]), a.below = _ <= u, S.y = i.translate(_, !1, !0, !1, !0), S.height = i.translate(y, !1, !0, !1, !0) - S.y;
1163
+ let r = i.waterfall?.dummyStackItem;
1164
+ r && (r.x = t, r.label = f[t].label, r.setOffset(e.pointXOffset || 0, e.barW || 0, e.stackedYNeg[t], e.stackedYPos[t], void 0, this.xAxis));
1165
+ }
1166
+ } else _ = Math.max(h, h + w) + C[0], S.y = i.translate(_, !1, !0, !1, !0), a.isSum ? (S.y = i.translate(C[1], !1, !0, !1, !0), S.height = Math.min(i.translate(C[0], !1, !0, !1, !0), i.len) - S.y, a.below = C[1] <= u) : a.isIntermediateSum ? (w >= 0 ? (_ = C[1] + m, y = m) : (_ = m, y = C[1] + m), i.reversed && ([_, y] = [y, _]), S.y = i.translate(_, !1, !0, !1, !0), S.height = Math.abs(S.y - Math.min(i.translate(y, !1, !0, !1, !0), i.len)), m += C[1], a.below = _ <= u) : (S.height = b > 0 ? i.translate(h, !1, !0, !1, !0) - S.y : i.translate(h + b, !1, !0, !1, !0) - i.translate(h, !1, !0, !1, !0), h += b, a.below = h < u);
1167
+ S.height < 0 && (S.y += S.height, S.height *= -1), a.plotY = S.y, a.yBottom = S.y + S.height, S.height <= c && !a.isNull ? (S.height = c, S.y -= l, a.yBottom = S.y + S.height, a.plotY = S.y, a.minPointLengthOffset = w < 0 ? -l : l) : (a.isNull && (S.width = 0), a.minPointLengthOffset = 0);
1168
+ let T = a.plotY + (a.negative ? S.height : 0);
1169
+ a.below && (a.plotY += S.height), a.tooltipPos && (e.chart.inverted ? a.tooltipPos[0] = i.len - T : a.tooltipPos[1] = T), a.isInside = this.isPointInside(a);
1170
+ let E = o(a.yBottom, e.borderWidth);
1171
+ S.y = o(S.y, e.borderWidth), S.height = E - S.y, n(!0, a.shapeArgs, S);
1172
+ }
1173
+ }, { order: 2 }), E.registerSeriesType("waterfall", Q);
1174
+ //#endregion
1175
+ //#region src/highchartsMoreCustom.ts
1176
+ var $ = _;
1177
+ $.RadialAxis = Se, K.compose($.Chart, $.Pointer), Ke.compose($.Axis, $.Chart, $.Pointer, $.Series, $.Tick, $.Point, E.seriesTypes.areasplinerange, E.seriesTypes.column, E.seriesTypes.line, E.seriesTypes.spline), Q.compose($.Axis, $.Chart);
1178
+ //#endregion