@dpuse/dpuse-tool-highcharts-visualiser 0.0.76

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