@dpuse/dpuse-tool-highcharts-visualiser 0.0.80 → 0.0.83

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 (38) hide show
  1. package/dist/{AnimationUtilities-Bby2idBR.js → AnimationUtilities-HCzBkGkl.js} +122 -131
  2. package/dist/AnimationUtilities-HCzBkGkl.js.map +1 -0
  3. package/dist/BorderRadius-DsUUgNnR.js +135 -0
  4. package/dist/BorderRadius-DsUUgNnR.js.map +1 -0
  5. package/dist/CenteredUtilities-CBtdKzw5.js +1312 -0
  6. package/dist/CenteredUtilities-CBtdKzw5.js.map +1 -0
  7. package/dist/{SVGElement-BmvC_qu3.js → SVGElement-DQ_bI6Wv.js} +106 -108
  8. package/dist/SVGElement-DQ_bI6Wv.js.map +1 -0
  9. package/dist/SeriesRegistry-BO6tW97M.js +376 -0
  10. package/dist/SeriesRegistry-BO6tW97M.js.map +1 -0
  11. package/dist/{TextPath-DK4Jkzd7.js → TextPath-D9gJwxEx.js} +32 -34
  12. package/dist/{TextPath-DK4Jkzd7.js.map → TextPath-D9gJwxEx.js.map} +1 -1
  13. package/dist/{dependency-wheel.src-BHmwx9rW.js → dependency-wheel.src-CzVxcqBs.js} +26 -27
  14. package/dist/dependency-wheel.src-CzVxcqBs.js.map +1 -0
  15. package/dist/dpuse-tool-highcharts-visualiser.es.js +2495 -2463
  16. package/dist/dpuse-tool-highcharts-visualiser.es.js.map +1 -1
  17. package/dist/highchartsMoreCustom-C4nqraZj.js +1206 -0
  18. package/dist/highchartsMoreCustom-C4nqraZj.js.map +1 -0
  19. package/dist/{pattern-fill.src-BPmr3DQg.js → pattern-fill.src-B5NNMA8k.js} +53 -55
  20. package/dist/pattern-fill.src-B5NNMA8k.js.map +1 -0
  21. package/dist/sankey.src-CwyzwAVp.js +522 -0
  22. package/dist/sankey.src-CwyzwAVp.js.map +1 -0
  23. package/dist/{streamgraph.src-Bn6PY8Fd.js → streamgraph.src-BxwGr88G.js} +4 -6
  24. package/dist/streamgraph.src-BxwGr88G.js.map +1 -0
  25. package/package.json +14 -14
  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/pattern-fill.src-BPmr3DQg.js.map +0 -1
  36. package/dist/sankey.src-DocCurOx.js +0 -524
  37. package/dist/sankey.src-DocCurOx.js.map +0 -1
  38. package/dist/streamgraph.src-Bn6PY8Fd.js.map +0 -1
@@ -0,0 +1,1206 @@
1
+ import { $ as e, J as t, K as n, M as r, N as i, S as a, U as o, W as s, _ as c, b as l, c as u, et as d, g as f, h as p, j as m, k as h, lt as g, p as _, rt as v, st as y, t as b, w as x, y as S, z as C } from "./AnimationUtilities-HCzBkGkl.js";
2
+ import { n as w, t as T } from "./SeriesRegistry-BO6tW97M.js";
3
+ import { i as E, n as D, r as O, t as k } from "./CenteredUtilities-CBtdKzw5.js";
4
+ import { t as A } from "./BorderRadius-DsUUgNnR.js";
5
+ //#region node_modules/highcharts/es-modules/Series/AreaRange/AreaRangePoint.js
6
+ var { area: { prototype: { pointClass: j, pointClass: { prototype: M } } } } = T.seriesTypes, ee = class extends j {
7
+ setState() {
8
+ let e = this.state, t = this.series, n = t.chart.polar;
9
+ x(this.plotHigh) || (this.plotHigh = t.yAxis.toPixels(this.high, !0)), x(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 && o(this.plotHighX) && (this.plotX = this.plotHighX), M.setState.apply(this, arguments), this.state = e, this.plotY = this.plotLow, this.graphic = this.graphics && this.graphics[0], n && o(this.plotLowX) && (this.plotX = this.plotLowX), t.upperStateMarkerGraphic = t.stateMarkerGraphic, t.stateMarkerGraphic = t.lowerStateMarkerGraphic, t.lowerStateMarkerGraphic = void 0;
10
+ let r = t.modifyMarkerSettings();
11
+ M.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 && o(this.plotLowX) && (this.plotX = this.plotLowX), this.isInside && (t = M.haloPath.apply(this, arguments)), this.plotY = this.plotHigh, e && o(this.plotHighX) && (this.plotX = this.plotHighX), this.isTopInside && (t = t.concat(M.haloPath.apply(this, arguments))), t;
16
+ }
17
+ isValid() {
18
+ return o(this.low) && o(this.high);
19
+ }
20
+ }, N;
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 (o(n)) return n;
37
+ }
38
+ }
39
+ function r(e, t, r) {
40
+ let i = n(e, "high"), a = n(e, "low");
41
+ return o(i) && o(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 s(e) {
49
+ let t = e.alignToKey ? this.getNestedProperty(e.alignToKey) : this.y, n = o(t) ? t : this.y;
50
+ return o(n) ? this.series.chart.numberFormatter(n, -1) : "";
51
+ }
52
+ e.formatter = s;
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, s, 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 (o(d)) {
65
+ e.plotY = d, f && !i.inside && (e.dlBox = {
66
+ x: f.x ?? 0,
67
+ y: a(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
+ D.prototype.alignDataLabel.call(u, e, t, i, s, c), e.plotY = p, e.dlBox = m, e.below = h;
75
+ }
76
+ e.alignDataLabel = u;
77
+ })(N ||= {});
78
+ var P = N, { noop: te } = g, { area: F, area: { prototype: I } } = T.seriesTypes, ne = {
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: P.formatter,
86
+ verticalAlign: void 0,
87
+ xLow: 0,
88
+ xHigh: 0,
89
+ yLow: 0,
90
+ yHigh: 0
91
+ }
92
+ };
93
+ function re(e) {
94
+ let t = e.options.dataLabels;
95
+ return C(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 L = class extends F {
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 = I.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 = re(e);
163
+ n.forEach(P.applyAlignToKeyValue), e.options.dataLabels = n, I.drawDataLabels && I.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) => P.resolveAlignToKey(e, t.options?.alignToKey) === "high"), t.dataLabel = n.find((t) => P.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 (I.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, x(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 (I.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 && (h(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
+ L.defaultOptions = n(F.defaultOptions, ne), p(L, "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 = o(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 }), p(L, "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 }), h(L.prototype, {
216
+ deferTranslatePolar: !0,
217
+ pointArrayMap: ["low", "high"],
218
+ pointClass: ee,
219
+ pointValKey: "low",
220
+ setStackedPoints: te
221
+ }), P.compose(L), T.registerSeriesType("arearange", L);
222
+ //#endregion
223
+ //#region node_modules/highcharts/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js
224
+ var { spline: { prototype: ie } } = T.seriesTypes, R = class extends L {};
225
+ R.defaultOptions = n(L.defaultOptions), h(R.prototype, { getPointSpline: ie.getPointSpline }), T.registerSeriesType("areasplinerange", R);
226
+ //#endregion
227
+ //#region node_modules/highcharts/es-modules/Series/ColumnRange/ColumnRangePoint.js
228
+ var { seriesTypes: { column: { prototype: { pointClass: { prototype: z } } }, arearange: { prototype: { pointClass: ae } } } } = T, B = class extends ae {
229
+ isValid() {
230
+ return o(this.low);
231
+ }
232
+ };
233
+ h(B.prototype, { setState: z.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 } = g, { seriesTypes: { arearange: V, column: ce, column: { prototype: H } } } = T, U = class extends V {
243
+ setOptions() {
244
+ return n(!0, arguments[0], { stacking: void 0 }), V.prototype.setOptions.apply(this, arguments);
245
+ }
246
+ translate() {
247
+ return H.translate.apply(this);
248
+ }
249
+ pointAttribs() {
250
+ return H.pointAttribs.apply(this, arguments);
251
+ }
252
+ translate3dPoints() {
253
+ return H.translate3dPoints.apply(this, arguments);
254
+ }
255
+ translate3dShapes() {
256
+ return H.translate3dShapes.apply(this, arguments);
257
+ }
258
+ afterColumnTranslate() {
259
+ let e = this.yAxis, t = this.xAxis, r = t.startAngleRad, i = this.chart, a = this.xAxis.isRadial, s = Math.max(i.chartWidth, i.chartHeight) + 999, c, l, u, d;
260
+ function f(e) {
261
+ return S(e, -s, s);
262
+ }
263
+ this.points.forEach((s) => {
264
+ let p = s.shapeArgs || {}, m = this.options.minPointLength, h = s.plotY, g = e.translate(s.high, 0, 1, 0, 1);
265
+ if (o(g) && o(h)) {
266
+ if (s.plotHigh = f(g), s.plotLow = f(h), d = s.plotHigh, c = (s.rectPlotY ?? s.plotY) - s.plotHigh, Math.abs(c) < m ? (l = m - c, c += l, d -= l / 2) : c < 0 && (c *= -1, d -= c), a && this.polar) u = s.barX + r, s.shapeType = "arc", s.shapeArgs = this.polar.arc(d + c, d, u, u + (s.pointWidth || 0));
267
+ else {
268
+ p.height = c, p.y = d;
269
+ let { x: r = 0, width: a = 0 } = p;
270
+ s.shapeArgs = n(s.shapeArgs, this.crispCol(r, d, a, c)), s.tooltipPos = i.inverted ? [
271
+ e.len + e.pos - i.plotLeft - d - c / 2,
272
+ t.len + t.pos - i.plotTop - r - a / 2,
273
+ c
274
+ ] : [
275
+ t.left - i.plotLeft + r + a / 2,
276
+ e.pos - i.plotTop + d + c / 2,
277
+ c
278
+ ];
279
+ }
280
+ }
281
+ });
282
+ }
283
+ };
284
+ U.defaultOptions = n(ce.defaultOptions, V.defaultOptions, oe), p(U, "afterColumnTranslate", function() {
285
+ U.prototype.afterColumnTranslate.apply(this);
286
+ }, { order: 5 }), h(U.prototype, {
287
+ directTouch: !0,
288
+ pointClass: B,
289
+ trackerGroups: ["group", "dataLabelsGroup"],
290
+ adjustForMissingColumns: H.adjustForMissingColumns,
291
+ animate: H.animate,
292
+ crispCol: H.crispCol,
293
+ drawGraph: se,
294
+ drawPoints: H.drawPoints,
295
+ getSymbol: se,
296
+ drawTracker: H.drawTracker,
297
+ getColumnMetrics: H.getColumnMetrics
298
+ }), T.registerSeriesType("columnrange", U);
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
+ W(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, p(e, "afterIsInsidePlot", de), p(t, "afterGetHoverData", fe), p(t, "beforeGetHoverData", pe));
310
+ }
311
+ function W(e, t, n, r, i) {
312
+ let a = !0, o = n[0], s = n[1], c = 2 * Math.PI, u = Math.sqrt((e - o) ** 2 + (t - s) ** 2);
313
+ if (x(r) && x(i)) {
314
+ let n = Math.atan2(l(t - s, 8), l(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 u <= 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) => W(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 && !W(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) && (n.options.enableMouseTracking ?? !0) && (!t.hoverPane || n.xAxis.pane === t.hoverPane);
331
+ }) : t.hoverPane = void 0;
332
+ }
333
+ var me = { compose: ue }, { defaultOptions: he } = u, 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
+ }, G = 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 = v(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 || h(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, s = n.center?.[1], c = n.margin, l = this.axis?.options.labels, u = n.thickness, f = Array.isArray(c) ? c : [
386
+ c,
387
+ c,
388
+ c,
389
+ c
390
+ ], p = [], m = n.size, h, g = 0, _ = 0, y = Math.min(t.series.reduce((e, t) => {
391
+ if (!t.is("gauge") || t.yAxis?.pane !== this) return e;
392
+ let n = v(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 ?? 15, 0) + t / 2;
398
+ }
399
+ if (f.forEach((e, t) => {
400
+ p[t] = e ?? Math.max(_ || 0);
401
+ }), e && (m === void 0 || s === void 0)) {
402
+ let { endAngleRad: t, startAngleRad: i } = e, o = Math.PI * 2 / 360, s = i < Math.PI / 2 && t > Math.PI / 2 || v(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 * (y - r);
406
+ e > 0 && (g = e, m = Math.max(1, m - g));
407
+ }
408
+ }
409
+ this.center = (e || {}).center = k.getCenter.call(this), o(m) && m >= 0 && (this.center[2] = m, o(u) ? this.center[3] = this.center[2] - u * 2 : this.center[3] = Math.min(m, d(n.innerSize || 0, m))), x(s) || (n.size ? this.center[1] = r / 2 : o(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
+ G.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: K } = u, { composed: be, noop: q } = g, xe;
473
+ (function(t) {
474
+ t.radialDefaultOptions = n(ye);
475
+ function i() {
476
+ this.autoConnect = this.isCircular && (this.userMax ?? this.options.max) === void 0 && l(this.endAngleRad - this.startAngleRad) === l(2 * Math.PI), !this.isCircular && this.chart.inverted && this.max++, this.autoConnect && o(this.max) && (this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0);
477
+ }
478
+ function a(t, n) {
479
+ return e(be, "Axis.Radial") && (p(t, "afterInit", j), p(t, "afterTickSize", M), p(t, "autoLabelAlign", ee), p(t, "destroy", N), p(t, "init", P), p(t, "initialAxisTranslation", te), p(n, "afterGetLabelPosition", F), p(n, "afterGetPosition", I), p(g, "setOptions", ne), y(t.prototype, "getMinorTickInterval", ae), y(n.prototype, "getMarkPath", B)), t;
480
+ }
481
+ t.compose = a;
482
+ function c() {
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 u() {
488
+ return q;
489
+ }
490
+ function f(e, t, n) {
491
+ let r = this.pane.center, i = e.value, a, o, s, c;
492
+ return this.isCircular ? (x(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) : (x(i) || (s = e.chartX, c = e.chartY), x(s) && x(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 m(e, t, n) {
499
+ let r = this.pane.center, i = this.chart, a = this.left || 0, o = this.top || 0, s, c, l = t ?? r[2] / 2 - this.offset;
500
+ return n ??= this.horiz ? 0 : this.center && -this.center[3] / 2, n && n > 0 && (l += n), this.isCircular || t !== void 0 ? (c = this.chart.renderer.symbols.arc(a + r[0], o + r[1], l, l, {
501
+ start: this.startAngleRad,
502
+ end: this.endAngleRad,
503
+ open: !0,
504
+ innerR: 0
505
+ }), c.xBounds = [a + r[0]], c.yBounds = [o + r[1] - l]) : (s = this.postTranslate(this.angleRad, l), c = [[
506
+ "M",
507
+ this.center[0] + i.plotLeft,
508
+ this.center[1] + i.plotTop
509
+ ], [
510
+ "L",
511
+ s.x,
512
+ s.y
513
+ ]]), c;
514
+ }
515
+ function _() {
516
+ this.constructor.prototype.getOffset.call(this);
517
+ let e = this.options.offset ?? (this.pane.hasSeriesType("gauge") ? "-20%" : void 0);
518
+ x(e) && (this.offset = d(e, this.center[2] / 2) * -1), this.chart.axisOffset[this.side] = 0;
519
+ }
520
+ function b(e, t, n) {
521
+ let r = this.chart, i = (e) => {
522
+ if (typeof e == "string") {
523
+ let t = parseInt(e, 10);
524
+ return m.test(e) && (t = t * u / 100), t;
525
+ }
526
+ return e;
527
+ }, a = this.center, { endAngleRad: s, startAngleRad: c } = this, l = A(n.borderRadius ?? this.pane.options.borderRadius), u = a[2] / 2, d = Math.min(this.offset || 0, 0), f = this.left || 0, p = this.top || 0, m = /%$/, h = this.isCircular, g = this.options.plotBands || [], _ = g.indexOf(n), v, y, b, x, S, C, w = i(n.outerRadius) ?? u, T = i(n.innerRadius), E = i(n.thickness), D = !0, O = !0;
528
+ if (l.radius && l.scope === "stack" && _ > -1 && (g[_ - 1] && g[_ - 1].to === e && (D = !1), g[_ + 1] && g[_ + 1].from === t && (O = !1)), this.options.gridLineInterpolation === "polygon") C = this.getPlotLinePath({ value: e }).concat(this.getPlotLinePath({
529
+ value: t,
530
+ reverse: !0
531
+ }));
532
+ else {
533
+ o(this.min) && (e = Math.max(e, this.min)), o(this.max) && (t = Math.min(t, this.max));
534
+ let i = this.translate(e), u = this.translate(t);
535
+ h || (w = i || 0, T = u || 0), !o(this.min) && !o(this.max) && !n.color && !n.className ? (v = c, y = s) : n.shape === "circle" || !h ? (v = -Math.PI / 2, y = Math.PI * 1.5, S = !0) : (v = c + (i || 0), y = c + (u || 0)), w -= d, o(E) && (E -= d), C = r.renderer.symbols.arc(f + a[0], p + a[1], w, w, {
536
+ start: Math.min(v, y),
537
+ end: Math.max(v, y),
538
+ innerR: T ?? (o(E) ? w - E : this.center[3] / 2),
539
+ open: S,
540
+ borderRadius: l.radius,
541
+ brStart: D,
542
+ brEnd: O
543
+ }), h && (b = (y + v) / 2, x = f + a[0] + a[2] / 2 * Math.cos(b), C.xBounds = b > -Math.PI / 2 && b < Math.PI / 2 ? [x, r.plotWidth] : [0, x], C.yBounds = [p + a[1] + a[2] / 2 * Math.sin(b)], C.yBounds[0] += b > -Math.PI && b < 0 || b > Math.PI ? -10 : 10);
544
+ }
545
+ return C;
546
+ }
547
+ function C(e) {
548
+ let t = this.pane.center, n = this.chart, r = n.inverted, i = e.reverse, a = this.pane.options.background, o = a ? v(a)[0] : {}, s = o.innerRadius || "0%", c = o.outerRadius || "100%", l = t[0] + n.plotLeft, u = t[1] + n.plotTop, f = this.height, p = e.isCrosshair, m = t[3] / 2, h = n.time.parse(e.value) || 0, g, _, y, b, x, C, 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), y = typeof s == "string" ? d(s, 1) : s / _, b = typeof c == "string" ? d(c, 1) : c / _, t && m && (g = m / _, y < g && (y = g), b < g && (b = g)), E = [[
550
+ "M",
551
+ l + y * (O - l),
552
+ u - y * (u - k)
553
+ ], [
554
+ "L",
555
+ O - (1 - b) * (O - l),
556
+ k + (1 - b) * (u - k)
557
+ ]];
558
+ else {
559
+ let e = S(this.translate(h), 0, f);
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++) C = x.getPosition(w[t], e), E.push(t ? [
566
+ "L",
567
+ C.x,
568
+ C.y
569
+ ] : [
570
+ "M",
571
+ C.x,
572
+ C.y
573
+ ]);
574
+ }
575
+ }
576
+ return E;
577
+ }
578
+ function w(e, t) {
579
+ let n = this.translate(e), r = (this.center && this.center[2] || 0) / 2;
580
+ return this.postTranslate(this.isCircular ? n : this.angleRad, (this.isCircular ? t ?? r : typeof n == "number" && n < 0 ? 0 : n ?? r) - this.offset);
581
+ }
582
+ function T() {
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 E(e) {
594
+ e.unmodifiedProps ||= [
595
+ "beforeSetTickPositions",
596
+ "createLabelCollector",
597
+ "getCrosshairPosition",
598
+ "getLinePath",
599
+ "getOffset",
600
+ "getPlotBandPath",
601
+ "getPlotLinePath",
602
+ "getPosition",
603
+ "getTitlePosition",
604
+ "isHidden",
605
+ "postTranslate",
606
+ "redraw",
607
+ "render",
608
+ "setAxisSize",
609
+ "setAxisTranslation",
610
+ "setCategories",
611
+ "setOptions",
612
+ "setScale",
613
+ "setTitle"
614
+ ].reduce((t, n) => (t[n] = e[n], t), {});
615
+ }
616
+ function D(e) {
617
+ let t = e.unmodifiedProps;
618
+ s(t) && (h(e, t), delete e.unmodifiedProps);
619
+ }
620
+ function O(e) {
621
+ e.beforeSetTickPositions = i, e.createLabelCollector = c, e.getCrosshairPosition = f, e.getLinePath = m, e.getOffset = _, e.getPlotBandPath = b, e.getPlotLinePath = C, e.getPosition = w, e.getTitlePosition = T, e.postTranslate = re, e.setAxisSize = ie, e.setAxisTranslation = R, e.setOptions = z;
622
+ }
623
+ function k(e) {
624
+ e.isHidden = !0, e.createLabelCollector = u, e.getOffset = q, e.redraw = L, e.render = L, e.setCategories = q, e.setTitle = q;
625
+ }
626
+ function j() {
627
+ let e = this.chart, t = this.options, n = e.angular && this.isXAxis, r = this.pane, i = r?.options;
628
+ if (!n && r && (e.angular || e.polar)) {
629
+ let n = Math.PI * 2, r = i.startAngle ?? (e.angular ? -135 : 0), a = (r - 90) * Math.PI / 180, o = ((i.endAngle ?? r + (e.angular ? 270 : 360)) - 90) * Math.PI / 180;
630
+ this.angleRad = (t.angle || 0) * Math.PI / 180, this.startAngleRad = a, this.endAngleRad = o;
631
+ let s = (a % n + n) % n, c = (o % n + n) % n;
632
+ s > Math.PI && (s -= n), c > Math.PI && (c -= n), this.normalizedStartAngleRad = s, this.normalizedEndAngleRad = c;
633
+ }
634
+ }
635
+ function M(e) {
636
+ if (this.chart.angular) {
637
+ let { options: t, pane: n } = this;
638
+ n.hasSeriesType("gauge") && (e.tickSize = [t[`${e.prefix}Length`] ?? 10, t[`${e.prefix}Width`] ?? 1], t[`${e.prefix}Position`] === "inside" && (e.tickSize[0] *= -1));
639
+ }
640
+ }
641
+ function ee(e) {
642
+ this.isRadial && (e.align = void 0, e.preventDefault());
643
+ }
644
+ function N() {
645
+ if (this.chart?.labelCollectors) {
646
+ let e = this.labelCollector ? this.chart.labelCollectors.indexOf(this.labelCollector) : -1;
647
+ e >= 0 && this.chart.labelCollectors.splice(e, 1);
648
+ }
649
+ }
650
+ function P(e) {
651
+ 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;
652
+ if (a === "colorAxis") {
653
+ this.isRadial = !1;
654
+ return;
655
+ }
656
+ E(this), n ? (o ? k(this) : O(this), l = !i) : r ? (O(this), l = this.horiz) : D(this), 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;
657
+ }
658
+ function te() {
659
+ this.isRadial && this.beforeSetTickPositions?.();
660
+ }
661
+ function F(e) {
662
+ let t = this.label;
663
+ if (!t) return;
664
+ 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 = x(i.y) ? 0 : -r.height * .3, c = i.y, l, u = 20, f = i.align, p = "end", m = o < 0 ? o + 360 : o, h = m, g = 0, _ = 0;
665
+ n.isRadial && (l = n.getPosition(this.pos, n.center[2] / 2 + d(i.distance ?? 15, n.center[2] / 2) + n.offset), i.rotation === "auto" ? t.attr({ rotation: a }) : x(c) || (c = n.chart.renderer.fontMetrics(t).b - r.height / 2), x(f) || (n.isCircular ? (r.width > n.len * n.tickInterval / (n.max - n.min) && (u = 0), f = a > u && a < 180 - u ? "left" : a > 180 + u && a < 360 - u ? "right" : "center") : f = "center", t.attr({ align: f })), f === "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"), f = o >= -90 && o <= 90 || o >= -360 && o <= -270 || o >= 270 && o <= 360 ? p === "start" ? "right" : "left" : p === "start" ? "left" : "right", h > 70 && h < 110 && (f = "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: f }), t.translate(_, g + s)), e.pos.x = l.x + (i.x || 0), e.pos.y = l.y + (c || 0));
666
+ }
667
+ function I(e) {
668
+ this.axis.getPosition && h(e.pos, this.axis.getPosition(this.pos));
669
+ }
670
+ function ne({ options: e }) {
671
+ e.xAxis && n(!0, t.radialDefaultOptions.circular, e.xAxis), e.yAxis && n(!0, t.radialDefaultOptions.radialGauge, e.yAxis);
672
+ }
673
+ function re(e, t) {
674
+ let n = this.chart, r = this.center;
675
+ return e = this.startAngleRad + e, {
676
+ x: n.plotLeft + r[0] + Math.cos(e) * t,
677
+ y: n.plotTop + r[1] + Math.sin(e) * t
678
+ };
679
+ }
680
+ function L() {
681
+ this.isDirty = !1;
682
+ }
683
+ function ie() {
684
+ let e = this.constructor.prototype, t, n;
685
+ 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, delete this.sector, this.len = this.width = this.height = (t[2] - t[3]) / 2));
686
+ }
687
+ function R() {
688
+ 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);
689
+ }
690
+ function z(e) {
691
+ let { coll: i } = this, { angular: a, inverted: o, polar: c } = this.chart, l = {};
692
+ a ? this.isXAxis || (l = n(K.yAxis, t.radialDefaultOptions.radialGauge)) : c && (l = this.horiz ? n(K.xAxis, t.radialDefaultOptions.circular) : n(i === "xAxis" ? K.xAxis : K.yAxis, t.radialDefaultOptions.radial)), o && i === "yAxis" && (l.stackLabels = s(K.yAxis, !0) ? K.yAxis.stackLabels : {}, l.reversedStacks = !0);
693
+ let u = this.options = n(l, e);
694
+ u.plotBands ||= [], r(this, "afterSetOptions");
695
+ }
696
+ function ae(e) {
697
+ return !x(this.options.minorTicks) && this.pane.hasSeriesType("gauge") ? "auto" : e.apply(this, Array.prototype.slice.call(arguments, 1));
698
+ }
699
+ function B(e, t, n, r, i, a, o) {
700
+ let s = this.axis, c, l;
701
+ return s.isRadial ? (c = s.getPosition(this.pos, s.center[2] / 2 + r), l = [[
702
+ "M",
703
+ t,
704
+ n
705
+ ], [
706
+ "L",
707
+ c.x,
708
+ c.y
709
+ ]]) : l = e.call(this, t, n, r, i, a, o), l;
710
+ }
711
+ })(xe ||= {});
712
+ var Se = xe, { defaultOptions: Ce } = u, { composed: we } = g;
713
+ function Te(e, t, n, r, i) {
714
+ let a = _(), 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);
715
+ return s.id = a, s.clipPath = o, s;
716
+ }
717
+ function Ee(e, t) {
718
+ let n, r;
719
+ 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;
720
+ }
721
+ function De(e, t, n, r) {
722
+ let i = 1.5, a = 2.5, o = +!!r, s, c, l, u, d, f;
723
+ s = t >= 0 && t <= e.length - 1 ? t : t < 0 ? e.length - 1 + t : 0;
724
+ 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;
725
+ c = (i * x + _) / a, l = (i * S + v) / a, u = (i * x + y) / a, d = (i * S + b) / a;
726
+ 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);
727
+ 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;
728
+ let D = {
729
+ rightContX: u,
730
+ rightContY: d,
731
+ leftContX: c,
732
+ leftContY: l,
733
+ plotX: x,
734
+ plotY: S
735
+ };
736
+ return n && (D.prevPointCont = De(e, p, !1, r)), D;
737
+ }
738
+ function Oe() {
739
+ (this.pane || []).forEach((e) => {
740
+ e.render();
741
+ });
742
+ }
743
+ function ke(e) {
744
+ let t = e.args[0].xAxis, n = e.args[0].yAxis, r = e.args[0].chart;
745
+ t && n && (n.gridLineInterpolation === "polygon" ? (t.startOnTick = !0, t.endOnTick = !0) : t.gridLineInterpolation === "polygon" && r.inverted && (n.startOnTick = !0, n.endOnTick = !0));
746
+ }
747
+ function Ae() {
748
+ this.pane ||= [], this.options.pane = v(this.options.pane || {}), v(this.userOptions.pane || {}).forEach((e) => {
749
+ new G(e, this);
750
+ }, this);
751
+ }
752
+ function je(e) {
753
+ 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;
754
+ if (this.chart.polar) {
755
+ e.preventDefault();
756
+ 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;
757
+ e.result.x = n + a.pos, e.result.width = i - n, e.result.y = o.len + o.pos - r, e.result.height = r - s;
758
+ }
759
+ }
760
+ function Me(e) {
761
+ let t = this.chart;
762
+ if (t.polar && t.hoverPane && t.hoverPane.axis) {
763
+ e.preventDefault();
764
+ 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";
765
+ if (d.x = n[0] + t.plotLeft, d.y = n[1] + t.plotTop, this.zoomHor) {
766
+ 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;
767
+ 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) {
768
+ let t = l + (s - e) / 2;
769
+ c + m > t && (m = p, p = c <= 0 ? c : 0);
770
+ }
771
+ let h = d.start = Math.max(p + c, c), g = d.end = Math.min(m + c, l);
772
+ if (u.options.gridLineInterpolation === "polygon") {
773
+ 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);
774
+ if (o < e.getExtremes().min) {
775
+ let { min: t, max: n } = e.getExtremes();
776
+ o = n - (t - o);
777
+ }
778
+ if (s < e.getExtremes().min) {
779
+ let { min: t, max: n } = e.getExtremes();
780
+ s = n - (t - s);
781
+ }
782
+ s < o && (s = [o, o = s][0]), a = J(a, o, s, e), a.push([
783
+ "L",
784
+ n[0] + t.plotLeft,
785
+ t.plotTop + n[1]
786
+ ]), d.d = a, f = "path";
787
+ }
788
+ }
789
+ if (this.zoomVert) {
790
+ 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);
791
+ 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") {
792
+ let t = e.toValue(e.len + e.pos - s), n = e.toValue(e.len + e.pos - u);
793
+ d.d = e.getPlotLinePath({ value: n }).concat(e.getPlotLinePath({
794
+ value: t,
795
+ reverse: !0
796
+ })), f = "path";
797
+ }
798
+ }
799
+ if (this.zoomHor && this.zoomVert && u.options.gridLineInterpolation === "polygon") {
800
+ 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);
801
+ if (d.d instanceof Array) {
802
+ let e = d.d.slice(0, d.d.length / 2), n = d.d.slice(d.d.length / 2, d.d.length);
803
+ n = [...n].reverse();
804
+ let r = t.hoverPane.axis;
805
+ e = J(e, o, s, r), n = J(n, o, s, r), n && (n[0][0] = "L"), n = [...n].reverse(), d.d = e.concat(n), f = "path";
806
+ }
807
+ }
808
+ e.attrs = d, e.shapeType = f;
809
+ }
810
+ }
811
+ function Ne() {
812
+ let e = this.chart;
813
+ e.polar && (this.polar = new Ge(this), e.inverted && (this.isRadialSeries = !0, this.is("column") && (this.isRadialBar = !0)));
814
+ }
815
+ function Pe() {
816
+ let { chart: e, options: t, yAxis: n } = this;
817
+ if (t.borderRadius && e.polar && e.inverted) {
818
+ let e = Ce.plotOptions?.[this.type]?.borderRadius, { scope: r, where: i = "end" } = A(t.borderRadius, s(e) ? e : {});
819
+ for (let e of this.points) {
820
+ let { shapeArgs: a } = e;
821
+ if (e.shapeType === "arc" && a) {
822
+ let o = i === "all", s = !0;
823
+ 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;
824
+ }
825
+ }
826
+ }
827
+ }
828
+ function Fe() {
829
+ if (this.chart.polar && this.xAxis) {
830
+ let e = this, { xAxis: t, yAxis: n } = e, r = e.chart;
831
+ e.kdByAngle = r.tooltip && r.tooltip.shared, e.kdByAngle || r.inverted ? e.searchPoint = Ie : e.options.findNearestPointBy = "xy";
832
+ let i = e.points, a = i.length;
833
+ for (; a--;) !e.is("column") && !e.is("columnrange") && e.polar.toXY(i[a]), !r.hasParallelCoordinates && !e.yAxis.reversed && ((i[a].y ?? Number.MIN_VALUE) < n.min || i[a].x < t.min || i[a].x > t.max ? (i[a].isNull = !0, i[a].plotY = NaN) : i[a].isNull = i[a].isValid && !i[a].isValid());
834
+ this.hasClipCircleSetter ||= !!e.eventsToUnbind.push(p(e, "afterRender", function() {
835
+ let e;
836
+ r.polar && this.options.clip !== !1 && (e = this.yAxis.pane.center, this.clipCircle ? this.clipCircle.animate({
837
+ x: e[0],
838
+ y: e[1],
839
+ r: e[2] / 2,
840
+ innerR: e[3] / 2
841
+ }) : this.clipCircle = Te(r.renderer, e[0], e[1], e[2] / 2, e[3] / 2), this.group.clip(this.clipCircle), this.setClip = g.noop);
842
+ }));
843
+ }
844
+ }
845
+ function Ie(e) {
846
+ 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 ? {
847
+ clientX: e.chartX - i.pos,
848
+ plotY: e.chartY - r.pos
849
+ } : { clientX: 180 + -180 / Math.PI * Math.atan2(o, s) };
850
+ return t.searchKDTree(c);
851
+ }
852
+ function J(e, t, n, r) {
853
+ let i = r.tickInterval, a = r.tickPositions, o = m(a, (e) => e >= n), s = m([...a].reverse(), (e) => e <= t);
854
+ return x(o) || (o = a[a.length - 1]), x(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;
855
+ }
856
+ function Le(e, t) {
857
+ return m(this.pane || [], (e) => e.options.id === t) || e.call(this, t);
858
+ }
859
+ function Re(e, t, r, i, a, o) {
860
+ let s = this.chart, c = i.inside ?? !!this.options.stacking, l, u, d;
861
+ s.polar ? (l = t.rectPlotX / Math.PI * 180, s.inverted ? (this.forceDL = s.isInsidePlot(t.plotX, t.plotY), c && t.shapeArgs ? (u = t.shapeArgs, d = this.yAxis.postTranslate(((u.start || 0) + (u.end || 0)) / 2 - this.xAxis.startAngleRad, t.barX + (t.pointWidth || 0) / 2), a = n(a, {
862
+ x: d.x - s.plotLeft,
863
+ y: d.y - s.plotTop
864
+ })) : t.tooltipPos && (a = n(a, {
865
+ x: t.tooltipPos[0],
866
+ y: t.tooltipPos[1]
867
+ })), i.align = i.align ?? "center", i.verticalAlign = i.verticalAlign ?? "middle") : i = Ee(l, i), E.prototype.alignDataLabel.call(this, t, r, i, a, o), this.isRadialBar && t.shapeArgs && t.shapeArgs.start === t.shapeArgs.end ? r.hide() : r.show()) : e.call(this, t, r, i, a, o);
868
+ }
869
+ function ze() {
870
+ let e = this, { chart: t, options: n, xAxis: r, yAxis: i } = e, a = n.stacking, { center: s, reversed: c } = i, { endAngleRad: l, startAngleRad: u } = r, f = l - u, p = n.threshold, m = 0, h, g, _, v, y, b = 0, C = 0, w, T, E, D, O, k, j, M;
871
+ 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 && o(p) && (m = i.translate(p), x(m) && (m < 0 ? m = 0 : m > f && (m = f), e.translatedThreshold = m + u)); _--;) {
872
+ if (g = h[_], k = g.barX, T = g.x, E = g.y, g.shapeType = "arc", t.inverted) {
873
+ 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]), C = i.translate(D[1]), x(b) && (b = S(b, 0, f))))) : (b = m, C = g.plotY), b > C && (C = [b, b = C][0]), c ? C > v ? C = v : b < y ? b = y : (b > v || C < y) && (b = C = f) : b < v ? b = v : C > y ? C = y : (C < v || b > y) && (b = C = 0), i.min > i.max && (b = C = c ? f : 0), b += u, C += u, s && (g.barX = k += s[3] / 2), j = Math.max(k, 0), M = Math.max(k + (g.pointWidth || 0), 0);
874
+ let t = A(n.borderRadius), r = d(t.radius, M - j);
875
+ g.shapeArgs = {
876
+ x: s[0],
877
+ y: s[1],
878
+ r: M,
879
+ innerR: j,
880
+ start: b,
881
+ end: C,
882
+ borderRadius: r
883
+ }, g.opacity = b === C ? 0 : void 0, g.plotY = (x(e.translatedThreshold) && (b < e.translatedThreshold ? b : C)) - u;
884
+ } else b = k + u, g.shapeArgs = e.polar.arc(g.yBottom, g.plotY, b, b + (g.pointWidth || 0)), g.shapeArgs.borderRadius = 0;
885
+ 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], s && (g.ttBelow = g.plotY > s[1]);
886
+ }
887
+ }
888
+ function Be(e, t) {
889
+ let n = this, r, i;
890
+ if (this.chart.polar) {
891
+ t ||= this.points;
892
+ for (let e = 0; e < t.length; e++) if (!t[e].isNull) {
893
+ r = e;
894
+ break;
895
+ }
896
+ this.options.connectEnds !== !1 && r !== void 0 && (this.connectEnds = !0, t.splice(t.length, 0, t[r]), i = !0), t.forEach((e) => {
897
+ e.polarPlotY === void 0 && n.polar.toXY(e);
898
+ });
899
+ }
900
+ let a = e.apply(this, [].slice.call(arguments, 1));
901
+ return i && t.pop(), a;
902
+ }
903
+ function Ve(e, t) {
904
+ let n = this.chart, r = {
905
+ xAxis: [],
906
+ yAxis: []
907
+ };
908
+ return n.polar ? n.axes.forEach((e) => {
909
+ if (e.coll === "colorAxis") return;
910
+ let i = e.isXAxis, a = e.center, o = t.chartX - a[0] - n.plotLeft, s = t.chartY - a[1] - n.plotTop;
911
+ r[i ? "xAxis" : "yAxis"].push({
912
+ axis: e,
913
+ value: e.translate(i ? Math.PI - Math.atan2(o, s) : Math.sqrt(o ** 2 + s ** 2), !0)
914
+ });
915
+ }) : r = e.call(this, t), r;
916
+ }
917
+ function He(e, t) {
918
+ this.chart.polar || e.call(this, t);
919
+ }
920
+ function Y(e, t) {
921
+ let n = this, r = this.chart, i = this.group, a = this.markerGroup, o = this.xAxis && this.xAxis.center, s = r.plotLeft, c = r.plotTop, l = this.options.animation, u, d, f, p, m, h;
922
+ r.polar ? n.isRadialBar ? t || (n.startAngleRad = n.translatedThreshold ?? n.xAxis.startAngleRad, g.seriesTypes.pie.prototype.animate.call(n, t)) : (l = b(l), n.is("column") ? t || (d = o[3] / 2, n.points.forEach((e) => {
923
+ f = e.graphic, p = e.shapeArgs, m = p && p.r, h = p && p.innerR, f && p && (f.attr({
924
+ r: d,
925
+ innerR: d
926
+ }), f.animate({
927
+ r: m,
928
+ innerR: h
929
+ }, n.options.animation));
930
+ })) : t ? (u = {
931
+ translateX: o[0] + s,
932
+ translateY: o[1] + c,
933
+ scaleX: .001,
934
+ scaleY: .001
935
+ }, i.attr(u), a && a.attr(u)) : (u = {
936
+ translateX: s,
937
+ translateY: c,
938
+ scaleX: 1,
939
+ scaleY: 1
940
+ }, i.animate(u, l), a && a.animate(u, l))) : e.call(this, t);
941
+ }
942
+ function Ue(e, t, n, r) {
943
+ let i, a;
944
+ if (this.chart.polar) {
945
+ if (!r) i = [
946
+ "M",
947
+ n.plotX,
948
+ n.plotY
949
+ ];
950
+ else {
951
+ a = De(t, r, !0, this.connectEnds);
952
+ let e = a.prevPointCont && a.prevPointCont.rightContX, n = a.prevPointCont && a.prevPointCont.rightContY;
953
+ i = [
954
+ "C",
955
+ o(e) ? e : a.plotX,
956
+ o(n) ? n : a.plotY,
957
+ o(a.leftContX) ? a.leftContX : a.plotX,
958
+ o(a.leftContY) ? a.leftContY : a.plotY,
959
+ a.plotX,
960
+ a.plotY
961
+ ];
962
+ }
963
+ } else i = e.call(this, t, n, r);
964
+ return i;
965
+ }
966
+ function We(e, t, n = this.plotX, r = this.plotY) {
967
+ let { series: i } = this, { chart: a } = i || {};
968
+ return a?.polar && o(n) && o(r) ? [n + (t ? a.plotLeft : 0), r + (t ? a.plotTop : 0)] : e.call(this, t, n, r);
969
+ }
970
+ var Ge = class {
971
+ static compose(t, n, r, i, a, o, s, c, l, u) {
972
+ if (G.compose(n, r), Se.compose(t, a), e(we, "Polar")) {
973
+ let e = n.prototype, t = o.prototype, a = r.prototype, d = i.prototype;
974
+ if (p(n, "afterDrawChartBox", Oe), p(n, "createAxes", Ae), p(n, "init", ke), y(e, "get", Le), y(a, "getCoordinates", Ve), y(a, "pinch", He), p(r, "getSelectionMarkerAttrs", Me), p(r, "getSelectionBox", je), p(i, "afterInit", Ne), p(i, "afterColumnTranslate", Pe, { order: 9 }), p(i, "afterTranslate", Fe, { order: 2 }), p(i, "afterColumnTranslate", ze, { order: 4 }), y(d, "animate", Y), y(t, "pos", We), c) {
975
+ let e = c.prototype;
976
+ y(e, "alignDataLabel", Re), y(e, "animate", Y);
977
+ }
978
+ if (l) {
979
+ let e = l.prototype;
980
+ y(e, "getGraphPath", Be);
981
+ }
982
+ if (u) {
983
+ let e = u.prototype;
984
+ if (y(e, "getPointSpline", Ue), s) {
985
+ let t = s.prototype;
986
+ t.getPointSpline = e.getPointSpline;
987
+ }
988
+ }
989
+ }
990
+ }
991
+ constructor(e) {
992
+ this.series = e;
993
+ }
994
+ arc(e, t, n, r) {
995
+ let i = this.series, a = i.xAxis.center, o = i.yAxis.len, s = a[3] / 2, c = o - t + s, l = o - (e ?? o) + s;
996
+ return i.yAxis.reversed && (c < 0 && (c = s), l < 0 && (l = s)), {
997
+ x: a[0],
998
+ y: a[1],
999
+ r: c,
1000
+ innerR: l,
1001
+ start: n,
1002
+ end: r
1003
+ };
1004
+ }
1005
+ toXY(e) {
1006
+ let t = this.series, n = t.chart, r = t.xAxis, i = t.yAxis, a = e.plotX, s = n.inverted, c = e.y, l = e.plotY, u = s ? a : i.len - l, d;
1007
+ if (s && t && !t.isRadialBar && (e.plotY = l = o(c) ? i.translate(c) : 0), e.rectPlotX = a, e.rectPlotY = l, i.center && (u += i.center[3] / 2), o(l)) {
1008
+ let t = s ? i.postTranslate(l, u) : r.postTranslate(a, u);
1009
+ e.plotX = e.polarPlotX = t.x - n.plotLeft, e.plotY = e.polarPlotY = t.y - n.plotTop;
1010
+ }
1011
+ t.kdByAngle ? (d = (a / Math.PI * 180 + (r.pane.options.startAngle || 0)) % 360, d < 0 && (d += 360), e.clientX = d) : e.clientX = e.plotX;
1012
+ }
1013
+ }, { composed: Ke } = g, qe;
1014
+ (function(n) {
1015
+ function r(t, n) {
1016
+ e(Ke, "Axis.Waterfall") && (p(t, "init", o), p(t, "afterBuildStacks", i), p(t, "afterRender", a), p(n, "beforeRedraw", s));
1017
+ }
1018
+ n.compose = r;
1019
+ function i() {
1020
+ let e = this.waterfall?.stacks;
1021
+ e && (e.changed = !1, delete e.alreadyChanged);
1022
+ }
1023
+ function a() {
1024
+ let e = this;
1025
+ e.options.stackLabels?.enabled && e.waterfall?.stacks && e.waterfall.renderStackTotals();
1026
+ }
1027
+ function o() {
1028
+ let e = this;
1029
+ e.waterfall ||= new c(e);
1030
+ }
1031
+ function s() {
1032
+ let e = this.axes, t = this.series;
1033
+ for (let n of t) if (n.options.stacking) {
1034
+ for (let t of e) !t.isXAxis && t.waterfall && (t.waterfall.stacks.changed = !0);
1035
+ break;
1036
+ }
1037
+ }
1038
+ class c {
1039
+ constructor(e) {
1040
+ this.axis = e, this.stacks = { changed: !1 };
1041
+ }
1042
+ renderStackTotals() {
1043
+ let e = this.axis, n = e.waterfall?.stacks, r = e.stacking?.stackTotalGroup, i = new O(e, !1, 0, void 0);
1044
+ this.dummyStackItem = i, r && t(n, (e) => {
1045
+ t(e, (e, t) => {
1046
+ i.total = e.stackTotal, i.x = +t, e.label && (i.label = e.label), O.prototype.render.call(i, r), e.label = i.label, delete i.label;
1047
+ });
1048
+ }), i.total = null;
1049
+ }
1050
+ }
1051
+ n.Composition = c;
1052
+ })(qe ||= {});
1053
+ var Je = qe, Ye = class extends D.prototype.pointClass {
1054
+ getClassName() {
1055
+ let e = w.prototype.getClassName.call(this);
1056
+ return this.isSum ? e += " highcharts-sum" : this.isIntermediateSum && (e += " highcharts-intermediate-sum"), e;
1057
+ }
1058
+ isValid() {
1059
+ return o(this.y) || this.isSum || !!this.isIntermediateSum;
1060
+ }
1061
+ }, Xe = {
1062
+ dataLabels: { inside: !0 },
1063
+ lineWidth: 1,
1064
+ lineColor: "var(--highcharts-neutral-color-80)",
1065
+ dashStyle: "Dot",
1066
+ borderColor: "var(--highcharts-neutral-color-80)",
1067
+ states: { hover: { lineWidthPlus: 0 } }
1068
+ }, { column: X, line: Ze } = T.seriesTypes;
1069
+ function Z(e, t) {
1070
+ return Object.hasOwnProperty.call(e, t);
1071
+ }
1072
+ var Q = class extends X {
1073
+ generatePoints() {
1074
+ X.prototype.generatePoints.apply(this);
1075
+ let e = this.getColumn("y", !0);
1076
+ for (let t = 0, n = this.points.length; t < n; t++) {
1077
+ let n = this.points[t], r = e[t];
1078
+ o(r) && (n.isIntermediateSum || n.isSum) && (n.y = l(r));
1079
+ }
1080
+ }
1081
+ processData(e) {
1082
+ 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, u, d, f, p;
1083
+ u = c = d = f = 0;
1084
+ for (let e = 0; e < o; e++) p = r[e], p === "sum" || i[e] ? r[e] = l(u) : p === "intermediateSum" || a[e] ? (r[e] = l(c), c = 0) : (u += p, c += p), d = Math.min(u, d), f = Math.max(u, f);
1085
+ super.processData.call(this, e), n.stacking || (t.dataMin = d + s, t.dataMax = f);
1086
+ }
1087
+ toYData(e) {
1088
+ return e.isSum ? "sum" : e.isIntermediateSum ? "intermediateSum" : e.y;
1089
+ }
1090
+ pointAttribs(e, t) {
1091
+ let n = this.options.upColor;
1092
+ n && e && !e.options.color && o(e.y) && (e.color = e.y > 0 ? n : void 0);
1093
+ let r = X.prototype.pointAttribs.call(this, e, t);
1094
+ return delete r.dashstyle, r;
1095
+ }
1096
+ getGraphPath() {
1097
+ return this.graph?.pathArray || [[
1098
+ "M",
1099
+ 0,
1100
+ 0
1101
+ ]];
1102
+ }
1103
+ getCrispPath() {
1104
+ let e = this.points.filter((e) => o(e.y)), t = this.yAxis, n = e.length, r = this.graph?.strokeWidth() || 0, i = this.xAxis.reversed, s = this.yAxis.reversed, c = this.options.stacking, l = [];
1105
+ for (let u = 1; u < n; u++) {
1106
+ if (!(this.options.connectNulls || o(this.data[e[u].index - 1].y))) continue;
1107
+ let n = e[u].box, d = e[u - 1], f = d.y || 0, p = e[u - 1].box;
1108
+ if (!n || !p) continue;
1109
+ let m = t.waterfall?.stacks[this.stackKey], h = f > 0 ? -p.height : 0;
1110
+ if (m && p && n) {
1111
+ let e = m[u - 1], o;
1112
+ o = a(c ? t.translate(e.connectorThreshold || 0, !1, !0, !1, !0) + (s ? h : 0) : p.y + (d.minPointLengthOffset || 0), r), l.push([
1113
+ "M",
1114
+ (p.x || 0) + (i ? 0 : p.width || 0),
1115
+ o
1116
+ ], [
1117
+ "L",
1118
+ (n.x || 0) + (i && n.width || 0),
1119
+ o
1120
+ ]);
1121
+ }
1122
+ if (p && l.length && (!c && f < 0 && !s || f > 0 && s)) {
1123
+ let e = l[l.length - 2];
1124
+ e && typeof e[2] == "number" && (e[2] += p.height || 0);
1125
+ let t = l[l.length - 1];
1126
+ t && typeof t[2] == "number" && (t[2] += p.height || 0);
1127
+ }
1128
+ }
1129
+ return l;
1130
+ }
1131
+ drawGraph() {
1132
+ Ze.prototype.drawGraph.call(this), this.graph?.animate({ d: this.getCrispPath() });
1133
+ }
1134
+ setStackedPoints(e) {
1135
+ let t = this, n = t.options, r = e.waterfall?.stacks, i = n.threshold || 0, a = t.stackKey, o = t.getColumn("x"), c = 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) => {
1136
+ if (f) {
1137
+ if (!g) f.stackState[0] = e, g = f.stackState.length;
1138
+ else for (; n < g; n++) f.stackState[n] += r;
1139
+ f.stackState.push(f.stackState[g - 1] + t);
1140
+ }
1141
+ };
1142
+ if (e.stacking && r && t.reserveSpace()) {
1143
+ C = r.changed, S = r.alreadyChanged, S && S.indexOf(a) < 0 && (C = !0), r[a] || (r[a] = {});
1144
+ let e = r[a];
1145
+ if (e) for (let t = 0; t < l; t++) x = o[t], (!e[x] || C) && (e[x] = {
1146
+ negTotal: 0,
1147
+ posTotal: 0,
1148
+ stackTotal: 0,
1149
+ threshold: 0,
1150
+ stateIndex: 0,
1151
+ stackState: [],
1152
+ label: C && e[x] ? e[x].label : void 0
1153
+ }), f = e[x], b = c[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, s(y, !0) && y.isIntermediateSum ? (w(h, m, 0, h), h = m, m = i, u ^= d, d ^= u, u ^= d) : s(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;
1154
+ r.changed = !1, r.alreadyChanged ||= [], r.alreadyChanged.push(a);
1155
+ }
1156
+ }
1157
+ getExtremes() {
1158
+ let e = this.options.stacking, n = this.yAxis.waterfall?.stacks, r, i;
1159
+ return e && n ? (r = this.stackedYNeg = [], i = this.stackedYPos = [], e === "overlap" ? t(n[this.stackKey], function(e) {
1160
+ r.push(c(e.stackState)), i.push(f(e.stackState));
1161
+ }) : t(n[this.stackKey], function(e) {
1162
+ r.push(e.negTotal + e.threshold), i.push(e.posTotal + e.threshold);
1163
+ }), {
1164
+ dataMin: c(r),
1165
+ dataMax: f(i)
1166
+ }) : {
1167
+ dataMin: this.dataMin,
1168
+ dataMax: this.dataMax
1169
+ };
1170
+ }
1171
+ };
1172
+ Q.defaultOptions = n(X.defaultOptions, Xe), Q.compose = Je.compose, h(Q.prototype, {
1173
+ pointValKey: "y",
1174
+ showLine: !0,
1175
+ pointClass: Ye
1176
+ }), p(Q, "afterColumnTranslate", function() {
1177
+ let e = this, { options: t, points: r, yAxis: i } = e, s = t.minPointLength ?? 5, c = s / 2, l = t.threshold || 0, u = t.stacking, d = i.waterfall?.stacks[e.stackKey], f = e.getColumn("y", !0), p = l, m = l, g, _, v;
1178
+ for (let t = 0; t < r.length; t++) {
1179
+ let y = r[t], b = f[t], x = y.shapeArgs, S = h({
1180
+ x: 0,
1181
+ y: 0,
1182
+ width: 0,
1183
+ height: 0
1184
+ }, x || {});
1185
+ y.box = S;
1186
+ let C = [0, b], w = y.y || 0;
1187
+ if (u) {
1188
+ if (d) {
1189
+ let n = d[t];
1190
+ u === "overlap" ? (_ = n.stackState[n.stateIndex--], g = w >= 0 ? _ : _ - w, Z(n, "absolutePos") && delete n.absolutePos, Z(n, "absoluteNeg") && delete n.absoluteNeg) : (w >= 0 ? (_ = n.threshold + n.posTotal, n.posTotal -= w, g = _) : (_ = n.threshold + n.negTotal, n.negTotal -= w, g = _ - w), n.posTotal || o(n.absolutePos) && Z(n, "absolutePos") && (n.posTotal = n.absolutePos, delete n.absolutePos), n.negTotal || o(n.absoluteNeg) && Z(n, "absoluteNeg") && (n.negTotal = n.absoluteNeg, delete n.absoluteNeg)), y.isSum || (n.connectorThreshold = n.threshold + n.stackTotal), v = g - Math.abs(w), i.reversed && ([g, v] = [v, g]), y.below = g <= l, S.y = i.translate(g, !1, !0, !1, !0), S.height = i.translate(v, !1, !0, !1, !0) - S.y;
1191
+ let r = i.waterfall?.dummyStackItem;
1192
+ r && (r.x = t, r.label = d[t].label, r.setOffset(e.pointXOffset || 0, e.barW || 0, e.stackedYNeg[t], e.stackedYPos[t], void 0, this.xAxis));
1193
+ }
1194
+ } else g = Math.max(m, m + w) + C[0], S.y = i.translate(g, !1, !0, !1, !0), y.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, y.below = C[1] <= l) : y.isIntermediateSum ? (w >= 0 ? (g = C[1] + p, v = p) : (g = p, v = C[1] + p), i.reversed && ([g, v] = [v, g]), S.y = i.translate(g, !1, !0, !1, !0), S.height = Math.abs(S.y - Math.min(i.translate(v, !1, !0, !1, !0), i.len)), p += C[1], y.below = g <= l) : (S.height = b > 0 ? i.translate(m, !1, !0, !1, !0) - S.y : i.translate(m + b, !1, !0, !1, !0) - i.translate(m, !1, !0, !1, !0), m += b, y.below = m < l);
1195
+ S.height < 0 && (S.y += S.height, S.height *= -1), y.plotY = S.y, y.yBottom = S.y + S.height, S.height <= s && !y.isNull ? (S.height = s, S.y -= c, y.yBottom = S.y + S.height, y.plotY = S.y, y.minPointLengthOffset = w < 0 ? -c : c) : (y.isNull && (S.width = 0), y.minPointLengthOffset = 0);
1196
+ let T = y.plotY + (y.negative ? S.height : 0);
1197
+ y.below && (y.plotY += S.height), y.tooltipPos && (e.chart.inverted ? y.tooltipPos[0] = i.len - T : y.tooltipPos[1] = T), y.isInside = this.isPointInside(y);
1198
+ let E = a(y.yBottom, e.borderWidth);
1199
+ S.y = a(S.y, e.borderWidth), S.height = E - S.y, n(!0, y.shapeArgs, S);
1200
+ }
1201
+ }, { order: 2 }), T.registerSeriesType("waterfall", Q);
1202
+ //#endregion
1203
+ //#region src/highchartsMoreCustom.ts
1204
+ var $ = g;
1205
+ $.RadialAxis = Se, G.compose($.Chart, $.Pointer), Ge.compose($.Axis, $.Chart, $.Pointer, $.Series, $.Tick, $.Point, T.seriesTypes.areasplinerange, T.seriesTypes.column, T.seriesTypes.line, T.seriesTypes.spline), Q.compose($.Axis, $.Chart);
1206
+ //#endregion