@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.
- package/LICENSE +21 -0
- package/README.md +329 -0
- package/dist/AnimationUtilities-Bby2idBR.js +1176 -0
- package/dist/AnimationUtilities-Bby2idBR.js.map +1 -0
- package/dist/BorderRadius-2zMZW_aK.js +1445 -0
- package/dist/BorderRadius-2zMZW_aK.js.map +1 -0
- package/dist/SVGElement-BmvC_qu3.js +394 -0
- package/dist/SVGElement-BmvC_qu3.js.map +1 -0
- package/dist/SeriesRegistry-0cj0ZJqn.js +374 -0
- package/dist/SeriesRegistry-0cj0ZJqn.js.map +1 -0
- package/dist/TextPath-DK4Jkzd7.js +133 -0
- package/dist/TextPath-DK4Jkzd7.js.map +1 -0
- package/dist/dependency-wheel.src-BHmwx9rW.js +194 -0
- package/dist/dependency-wheel.src-BHmwx9rW.js.map +1 -0
- package/dist/dpuse-tool-highcharts-visualiser.es.js +10154 -0
- package/dist/dpuse-tool-highcharts-visualiser.es.js.map +1 -0
- package/dist/highchartsMoreCustom-CcpfmVny.js +1110 -0
- package/dist/highchartsMoreCustom-CcpfmVny.js.map +1 -0
- package/dist/pattern-fill.src-BPmr3DQg.js +169 -0
- package/dist/pattern-fill.src-BPmr3DQg.js.map +1 -0
- package/dist/sankey.src-DocCurOx.js +524 -0
- package/dist/sankey.src-DocCurOx.js.map +1 -0
- package/dist/streamgraph.src-Bn6PY8Fd.js +19 -0
- package/dist/streamgraph.src-Bn6PY8Fd.js.map +1 -0
- package/dist/types/eslint.config.d.ts +3 -0
- package/dist/types/src/highchartsMoreCustom.d.ts +2 -0
- package/dist/types/src/index.d.ts +18 -0
- package/dist/types/tests/highchartsMoreCustom.test.d.ts +1 -0
- package/dist/types/tests/importIndex.test.d.ts +1 -0
- package/dist/types/vite.config.d.ts +2 -0
- package/dist/types/vitest.config.d.ts +2 -0
- 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
|