@ovalbee/reportifact 0.0.1

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 (116) hide show
  1. package/README.md +841 -0
  2. package/dist/Chart.vue_vue_type_style_index_0_lang-B4novMFC.cjs +1 -0
  3. package/dist/Chart.vue_vue_type_style_index_0_lang-BYILFTfl.js +5895 -0
  4. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-BB4dG0CB.cjs +1 -0
  5. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-DPY6mSdA.js +191 -0
  6. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-BZbc-Wkf.js +49 -0
  7. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-WpuALh8Z.cjs +1 -0
  8. package/dist/MetricCards.vue_vue_type_style_index_0_lang-CDPSu7no.cjs +1 -0
  9. package/dist/MetricCards.vue_vue_type_style_index_0_lang-CfxCCXmB.js +33 -0
  10. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-BzrxoJW4.cjs +1 -0
  11. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-CO9HvYfr.js +132 -0
  12. package/dist/Reportifact.vue.d.ts +40 -0
  13. package/dist/ReportifactWidgetHost-A73gQ3bT.cjs +1 -0
  14. package/dist/ReportifactWidgetHost-BjKBwCWI.js +17 -0
  15. package/dist/Timeline.vue_vue_type_style_index_0_lang-BIyC7N9b.cjs +2 -0
  16. package/dist/Timeline.vue_vue_type_style_index_0_lang-BnrgKBMh.js +2598 -0
  17. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-BQQ4Vv5j.cjs +1 -0
  18. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-D-oXqmI2.js +59 -0
  19. package/dist/components/TableOfContents.vue.d.ts +15 -0
  20. package/dist/composables/useDelayedLoading.d.ts +6 -0
  21. package/dist/composables/useFetch.d.ts +13 -0
  22. package/dist/customWidgets.d.ts +18 -0
  23. package/dist/entries/chart.d.ts +3 -0
  24. package/dist/entries/contracts.d.ts +3 -0
  25. package/dist/entries/figure.d.ts +1 -0
  26. package/dist/entries/host.d.ts +1 -0
  27. package/dist/entries/imageGallery.d.ts +3 -0
  28. package/dist/entries/metricCallout.d.ts +2 -0
  29. package/dist/entries/metricCards.d.ts +2 -0
  30. package/dist/entries/metricsTable.d.ts +2 -0
  31. package/dist/entries/timeline.d.ts +2 -0
  32. package/dist/index-DFz2A8yJ.js +21229 -0
  33. package/dist/index-DmTzvbys.cjs +47 -0
  34. package/dist/index.d.ts +6 -0
  35. package/dist/markdownTable-B5207r3E.js +32 -0
  36. package/dist/markdownTable-Cbn1Du3L.cjs +2 -0
  37. package/dist/mediaResolver.d.ts +18 -0
  38. package/dist/middleware.cjs +1 -0
  39. package/dist/middleware.d.ts +21 -0
  40. package/dist/middleware.js +177 -0
  41. package/dist/portable/ReportifactFigure.vue.d.ts +36 -0
  42. package/dist/portable/ReportifactWidgetHost.vue.d.ts +17 -0
  43. package/dist/portable/contracts.d.ts +54 -0
  44. package/dist/reportifact.cjs +67 -0
  45. package/dist/reportifact.d.ts +2 -0
  46. package/dist/reportifact.js +5272 -0
  47. package/dist/style.css +13 -0
  48. package/dist/useFetch-BfOAq-Kg.cjs +1 -0
  49. package/dist/useFetch-CHQm_TmB.js +35 -0
  50. package/dist/utils/createMarked.d.ts +7 -0
  51. package/dist/utils/parseIndexMd.d.ts +29 -0
  52. package/dist/utils/tfeventsParser.cjs +1 -0
  53. package/dist/utils/tfeventsParser.d.ts +21 -0
  54. package/dist/utils/tfeventsParser.js +336 -0
  55. package/dist/widgets/Card.vue.d.ts +6 -0
  56. package/dist/widgets/Chart.vue.d.ts +26 -0
  57. package/dist/widgets/HelpTooltip.vue.d.ts +5 -0
  58. package/dist/widgets/ImageGallery.vue.d.ts +26 -0
  59. package/dist/widgets/Markdown.vue.d.ts +8 -0
  60. package/dist/widgets/MetricCallout.vue.d.ts +19 -0
  61. package/dist/widgets/MetricCards.vue.d.ts +13 -0
  62. package/dist/widgets/MetricTable.vue.d.ts +6 -0
  63. package/dist/widgets/MetricsTable.vue.d.ts +17 -0
  64. package/dist/widgets/ModelClassComparison.vue.d.ts +7 -0
  65. package/dist/widgets/ModelComparisonGallery.vue.d.ts +15 -0
  66. package/dist/widgets/Notice.vue.d.ts +6 -0
  67. package/dist/widgets/ReportifactWidget.vue.d.ts +23 -0
  68. package/dist/widgets/Scope.vue.d.ts +8 -0
  69. package/dist/widgets/Table.vue.d.ts +18 -0
  70. package/dist/widgets/Tensorboard.vue.d.ts +13 -0
  71. package/dist/widgets/Timeline.vue.d.ts +21 -0
  72. package/dist/widgets/WidgetWrapper.vue.d.ts +28 -0
  73. package/dist/widgets/chart-config/barGradient.d.ts +2 -0
  74. package/dist/widgets/chart-config/barGrouped.d.ts +2 -0
  75. package/dist/widgets/chart-config/barNormalized.d.ts +2 -0
  76. package/dist/widgets/chart-config/barStacked.d.ts +2 -0
  77. package/dist/widgets/chart-config/customGauge.d.ts +2 -0
  78. package/dist/widgets/chart-config/gaugeGrade.d.ts +2 -0
  79. package/dist/widgets/chart-config/heatmap.d.ts +2 -0
  80. package/dist/widgets/chart-config/index.d.ts +4 -0
  81. package/dist/widgets/chart-config/line.d.ts +2 -0
  82. package/dist/widgets/chart-config/pie.d.ts +2 -0
  83. package/dist/widgets/chart-config/radar.d.ts +2 -0
  84. package/dist/widgets/chart-config/shared.d.ts +15 -0
  85. package/dist/widgets/chart-config/types.d.ts +96 -0
  86. package/dist/widgets/chart.cjs +1 -0
  87. package/dist/widgets/chart.d.ts +6 -0
  88. package/dist/widgets/chart.js +5 -0
  89. package/dist/widgets/chartSizing.d.ts +1 -0
  90. package/dist/widgets/contracts.cjs +1 -0
  91. package/dist/widgets/contracts.d.ts +2 -0
  92. package/dist/widgets/contracts.js +1 -0
  93. package/dist/widgets/figure.cjs +1 -0
  94. package/dist/widgets/figure.d.ts +6 -0
  95. package/dist/widgets/figure.js +84 -0
  96. package/dist/widgets/host.cjs +1 -0
  97. package/dist/widgets/host.d.ts +6 -0
  98. package/dist/widgets/host.js +5 -0
  99. package/dist/widgets/image-gallery.cjs +1 -0
  100. package/dist/widgets/image-gallery.d.ts +6 -0
  101. package/dist/widgets/image-gallery.js +5 -0
  102. package/dist/widgets/markdownTable.d.ts +4 -0
  103. package/dist/widgets/metric-callout.cjs +1 -0
  104. package/dist/widgets/metric-callout.d.ts +6 -0
  105. package/dist/widgets/metric-callout.js +5 -0
  106. package/dist/widgets/metric-cards.cjs +1 -0
  107. package/dist/widgets/metric-cards.d.ts +6 -0
  108. package/dist/widgets/metric-cards.js +5 -0
  109. package/dist/widgets/metrics-table.cjs +1 -0
  110. package/dist/widgets/metrics-table.d.ts +6 -0
  111. package/dist/widgets/metrics-table.js +5 -0
  112. package/dist/widgets/scope.d.ts +77 -0
  113. package/dist/widgets/timeline.cjs +1 -0
  114. package/dist/widgets/timeline.d.ts +6 -0
  115. package/dist/widgets/timeline.js +5 -0
  116. package/package.json +125 -0
@@ -0,0 +1,2598 @@
1
+ import { defineComponent as vr, ref as Be, onMounted as pr, onUnmounted as gr, computed as se, watch as mr, createBlock as vt, openBlock as Ne, withCtx as pt, createElementVNode as ue, normalizeStyle as gt, createCommentVNode as yr, createElementBlock as xr, Fragment as _r, renderList as Sr, normalizeClass as wr, toDisplayString as Mr, unref as br } from "vue";
2
+ import { m as pe, r as Ar, n as Er, a as je, _ as ee, b as C, c as jt, e as he, d as De, i as mt, s as Pe, E as Cr, f as rt, g as Dr, S as Rr, h as Ee, t as L, j as E, k as v, l as qt, o as Tr, w as at, p as I, q as Pr, u as ge, T as be, v as Lr, x as nt, y as me, D as Jt, P as Qt, z as zr, A as Zr, B as Or, C as kr, F as Vr, G as Br, H as Nr, I as Wr, J as Fr, K as Hr, L as qe, M as Gr, N as yt, O as xt, Q as _t, Z as Yr, R as er, U as Je, V as We, W as St, X as Xr, Y as $r, $ as Ir, a0 as Ur, a1 as le, a2 as wt, a3 as Kr, a4 as Qe, a5 as jr, a6 as qr, a7 as Jr, a8 as k, a9 as Me, aa as Ae, ab as Qr, ac as ea, ad as ta, ae as tr, af as rr, ag as Mt, ah as ra, ai as aa, aj as na, ak as oa, al as Re, am as ia, an as sa, ao as bt, ap as At, aq as la, ar as ua, as as fa, at as Et, au as ca, av as da, aw as ha, ax as va, ay as et, az as pa, aA as ga, aB as ma, aC as ya, aD as xa, aE as _a, aF as Sa } from "./index-DFz2A8yJ.js";
3
+ import { u as wa } from "./useFetch-CHQm_TmB.js";
4
+ import { _ as Ma } from "./WidgetWrapper.vue_vue_type_style_index_0_lang-D-oXqmI2.js";
5
+ var ba = pe();
6
+ function Ct(r, e) {
7
+ return !!ba(r)[e];
8
+ }
9
+ Ar({
10
+ type: "takeGlobalCursor",
11
+ event: "globalCursorTaken",
12
+ update: "update"
13
+ }, Er);
14
+ var Aa = {
15
+ axisPointer: 1,
16
+ tooltip: 1,
17
+ brush: 1
18
+ };
19
+ function Ea(r, e, t) {
20
+ var a = e.getComponentByElement(r.topTarget);
21
+ if (!a || a === t || Aa.hasOwnProperty(a.mainType))
22
+ return !1;
23
+ var o = a.coordinateSystem;
24
+ if (!o || o.model === t)
25
+ return !1;
26
+ var i = je(a), n = je(t);
27
+ return !((i.zlevel - n.zlevel || i.z - n.z) <= 0);
28
+ }
29
+ var Ca = (
30
+ /** @class */
31
+ (function(r) {
32
+ ee(e, r);
33
+ function e(t) {
34
+ var a = r.call(this) || this;
35
+ a._zr = t;
36
+ var o = C(a._mousedownHandler, a), i = C(a._mousemoveHandler, a), n = C(a._mouseupHandler, a), s = C(a._mousewheelHandler, a), l = C(a._pinchHandler, a);
37
+ return a.enable = function(u, f) {
38
+ var c = f.zInfo, d = je(c.component), h = d.z, p = d.zlevel, x = {
39
+ component: c.component,
40
+ z: h,
41
+ zlevel: p,
42
+ // By default roam controller is the lowest z2 comparing to other elememts in a component.
43
+ z2: jt(c.z2, -1 / 0)
44
+ }, w = he({}, f.triggerInfo);
45
+ this._opt = De(he({}, f), {
46
+ zoomOnMouseWheel: !0,
47
+ moveOnMouseMove: !0,
48
+ // By default, wheel do not trigger move.
49
+ moveOnMouseWheel: !1,
50
+ preventDefaultMouseMove: !0,
51
+ zInfoParsed: x,
52
+ triggerInfo: w
53
+ }), u == null && (u = !0), (!this._enabled || this._controlType !== u) && (this._enabled = !0, this.disable(), (u === !0 || u === "move" || u === "pan") && (xe(t, "mousedown", o, x), xe(t, "mousemove", i, x), xe(t, "mouseup", n, x)), (u === !0 || u === "scale" || u === "zoom") && (xe(t, "mousewheel", s, x), xe(t, "pinch", l, x)));
54
+ }, a.disable = function() {
55
+ this._enabled = !1, _e(t, "mousedown", o), _e(t, "mousemove", i), _e(t, "mouseup", n), _e(t, "mousewheel", s), _e(t, "pinch", l);
56
+ }, a;
57
+ }
58
+ return e.prototype.isDragging = function() {
59
+ return this._dragging;
60
+ }, e.prototype.isPinching = function() {
61
+ return this._pinching;
62
+ }, e.prototype._checkPointer = function(t, a, o) {
63
+ var i = this._opt, n = i.zInfoParsed;
64
+ if (Ea(t, i.api, n.component))
65
+ return !1;
66
+ var s = i.triggerInfo, l = s.roamTrigger, u = !1;
67
+ return l === "global" && (u = !0), u || (u = s.isInSelf(t, a, o)), u && s.isInClip && !s.isInClip(t, a, o) && (u = !1), u;
68
+ }, e.prototype._decideCursorStyle = function(t, a, o, i) {
69
+ var n = t.target;
70
+ if (!n && this._checkPointer(t, a, o))
71
+ return "grab";
72
+ if (i)
73
+ return n && n.cursor || "default";
74
+ }, e.prototype.dispose = function() {
75
+ this.disable();
76
+ }, e.prototype._mousedownHandler = function(t) {
77
+ if (!(mt(t) || ye(t))) {
78
+ for (var a = t.target; a; ) {
79
+ if (a.draggable)
80
+ return;
81
+ a = a.__hostTarget || a.parent;
82
+ }
83
+ var o = t.offsetX, i = t.offsetY;
84
+ this._checkPointer(t, o, i) && (this._x = o, this._y = i, this._dragging = !0);
85
+ }
86
+ }, e.prototype._mousemoveHandler = function(t) {
87
+ var a = this._zr;
88
+ if (!(t.gestureEvent === "pinch" || Ct(a, "globalPan") || ye(t))) {
89
+ var o = t.offsetX, i = t.offsetY;
90
+ if (!this._dragging || !Te("moveOnMouseMove", t, this._opt)) {
91
+ var n = this._decideCursorStyle(t, o, i, !1);
92
+ n && a.setCursorStyle(n);
93
+ return;
94
+ }
95
+ a.setCursorStyle("grabbing");
96
+ var s = this._x, l = this._y, u = o - s, f = i - l;
97
+ this._x = o, this._y = i, this._opt.preventDefaultMouseMove && Pe(t.event), t.__ecRoamConsumed = !0, Dt(this, "pan", "moveOnMouseMove", t, {
98
+ dx: u,
99
+ dy: f,
100
+ oldX: s,
101
+ oldY: l,
102
+ newX: o,
103
+ newY: i,
104
+ isAvailableBehavior: null
105
+ });
106
+ }
107
+ }, e.prototype._mouseupHandler = function(t) {
108
+ if (!ye(t)) {
109
+ var a = this._zr;
110
+ if (!mt(t)) {
111
+ this._dragging = !1;
112
+ var o = this._decideCursorStyle(t, t.offsetX, t.offsetY, !0);
113
+ o && a.setCursorStyle(o);
114
+ }
115
+ }
116
+ }, e.prototype._mousewheelHandler = function(t) {
117
+ if (!ye(t)) {
118
+ var a = Te("zoomOnMouseWheel", t, this._opt), o = Te("moveOnMouseWheel", t, this._opt), i = t.wheelDelta, n = Math.abs(i), s = t.offsetX, l = t.offsetY;
119
+ if (!(i === 0 || !a && !o)) {
120
+ if (a) {
121
+ var u = n > 3 ? 1.4 : n > 1 ? 1.2 : 1.1, f = i > 0 ? u : 1 / u;
122
+ this._checkTriggerMoveZoom(this, "zoom", "zoomOnMouseWheel", t, {
123
+ scale: f,
124
+ originX: s,
125
+ originY: l,
126
+ isAvailableBehavior: null
127
+ });
128
+ }
129
+ if (o) {
130
+ var c = Math.abs(i), d = (i > 0 ? 1 : -1) * (c > 3 ? 0.4 : c > 1 ? 0.15 : 0.05);
131
+ this._checkTriggerMoveZoom(this, "scrollMove", "moveOnMouseWheel", t, {
132
+ scrollDelta: d,
133
+ originX: s,
134
+ originY: l,
135
+ isAvailableBehavior: null
136
+ });
137
+ }
138
+ }
139
+ }
140
+ }, e.prototype._pinchHandler = function(t) {
141
+ if (!(Ct(this._zr, "globalPan") || ye(t))) {
142
+ var a = t.pinchScale > 1 ? 1.1 : 1 / 1.1;
143
+ this._checkTriggerMoveZoom(this, "zoom", null, t, {
144
+ scale: a,
145
+ originX: t.pinchX,
146
+ originY: t.pinchY,
147
+ isAvailableBehavior: null
148
+ });
149
+ }
150
+ }, e.prototype._checkTriggerMoveZoom = function(t, a, o, i, n) {
151
+ t._checkPointer(i, n.originX, n.originY) && (Pe(i.event), i.__ecRoamConsumed = !0, Dt(t, a, o, i, n));
152
+ }, e;
153
+ })(Cr)
154
+ );
155
+ function ye(r) {
156
+ return r.__ecRoamConsumed;
157
+ }
158
+ var Da = pe();
159
+ function Ve(r) {
160
+ var e = Da(r);
161
+ return e.roam = e.roam || {}, e.uniform = e.uniform || {}, e;
162
+ }
163
+ function xe(r, e, t, a) {
164
+ for (var o = Ve(r), i = o.roam, n = i[e] = i[e] || [], s = 0; s < n.length; s++) {
165
+ var l = n[s].zInfoParsed;
166
+ if ((l.zlevel - a.zlevel || l.z - a.z || l.z2 - a.z2) <= 0)
167
+ break;
168
+ }
169
+ n.splice(s, 0, {
170
+ listener: t,
171
+ zInfoParsed: a
172
+ }), Ra(r, e);
173
+ }
174
+ function _e(r, e, t) {
175
+ for (var a = Ve(r), o = a.roam[e] || [], i = 0; i < o.length; i++)
176
+ if (o[i].listener === t) {
177
+ o.splice(i, 1), o.length || Ta(r, e);
178
+ return;
179
+ }
180
+ }
181
+ function Ra(r, e) {
182
+ var t = Ve(r);
183
+ t.uniform[e] || r.on(e, t.uniform[e] = function(a) {
184
+ var o = t.roam[e];
185
+ if (o)
186
+ for (var i = 0; i < o.length; i++)
187
+ o[i].listener(a);
188
+ });
189
+ }
190
+ function Ta(r, e) {
191
+ var t = Ve(r), a = t.uniform;
192
+ a[e] && (r.off(e, a[e]), a[e] = null);
193
+ }
194
+ function Dt(r, e, t, a, o) {
195
+ o.isAvailableBehavior = C(Te, null, t, a), r.trigger(e, o);
196
+ }
197
+ function Te(r, e, t) {
198
+ var a = t[r];
199
+ return !r || a && (!rt(a) || e.event[a + "Key"]);
200
+ }
201
+ var Rt = {
202
+ color: "fill",
203
+ borderColor: "stroke"
204
+ }, Pa = {
205
+ symbol: 1,
206
+ symbolSize: 1,
207
+ symbolKeepAspect: 1,
208
+ legendIcon: 1,
209
+ visualMeta: 1,
210
+ liftZ: 1,
211
+ decal: 1
212
+ }, J = pe(), La = (
213
+ /** @class */
214
+ (function(r) {
215
+ ee(e, r);
216
+ function e() {
217
+ var t = r !== null && r.apply(this, arguments) || this;
218
+ return t.type = e.type, t;
219
+ }
220
+ return e.prototype.optionUpdated = function() {
221
+ this.currentZLevel = this.get("zlevel", !0), this.currentZ = this.get("z", !0);
222
+ }, e.prototype.getInitialData = function(t, a) {
223
+ return Dr(null, this);
224
+ }, e.prototype.getDataParams = function(t, a, o) {
225
+ var i = r.prototype.getDataParams.call(this, t, a);
226
+ return o && (i.info = J(o).info), i;
227
+ }, e.type = "series.custom", e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar", "matrix"], e.defaultOption = {
228
+ coordinateSystem: "cartesian2d",
229
+ // zlevel: 0,
230
+ z: 2,
231
+ legendHoverLink: !0,
232
+ // Custom series will not clip by default.
233
+ // Some case will use custom series to draw label
234
+ // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
235
+ clip: !1
236
+ // Cartesian coordinate system
237
+ // xAxisIndex: 0,
238
+ // yAxisIndex: 0,
239
+ // Polar coordinate system
240
+ // polarIndex: 0,
241
+ // Geo coordinate system
242
+ // geoIndex: 0,
243
+ }, e;
244
+ })(Rr)
245
+ );
246
+ function za(r, e) {
247
+ return e = e || [0, 0], Ee(["x", "y"], function(t, a) {
248
+ var o = this.getAxis(t), i = e[a], n = r[a] / 2;
249
+ return o.type === "category" ? o.getBandWidth() : Math.abs(o.dataToCoord(i - n) - o.dataToCoord(i + n));
250
+ }, this);
251
+ }
252
+ function Za(r) {
253
+ var e = r.master.getRect();
254
+ return {
255
+ coordSys: {
256
+ // The name exposed to user is always 'cartesian2d' but not 'grid'.
257
+ type: "cartesian2d",
258
+ x: e.x,
259
+ y: e.y,
260
+ width: e.width,
261
+ height: e.height
262
+ },
263
+ api: {
264
+ coord: function(t) {
265
+ return r.dataToPoint(t);
266
+ },
267
+ size: C(za, r)
268
+ }
269
+ };
270
+ }
271
+ function Oa(r, e) {
272
+ return e = e || [0, 0], Ee([0, 1], function(t) {
273
+ var a = e[t], o = r[t] / 2, i = [], n = [];
274
+ return i[t] = a - o, n[t] = a + o, i[1 - t] = n[1 - t] = e[1 - t], Math.abs(this.dataToPoint(i)[t] - this.dataToPoint(n)[t]);
275
+ }, this);
276
+ }
277
+ function ka(r) {
278
+ var e = r.getBoundingRect();
279
+ return {
280
+ coordSys: {
281
+ type: "geo",
282
+ x: e.x,
283
+ y: e.y,
284
+ width: e.width,
285
+ height: e.height,
286
+ zoom: r.getZoom()
287
+ },
288
+ api: {
289
+ coord: function(t) {
290
+ return r.dataToPoint(t);
291
+ },
292
+ size: C(Oa, r)
293
+ }
294
+ };
295
+ }
296
+ function Va(r, e) {
297
+ var t = this.getAxis(), a = e instanceof Array ? e[0] : e, o = (r instanceof Array ? r[0] : r) / 2;
298
+ return t.type === "category" ? t.getBandWidth() : Math.abs(t.dataToCoord(a - o) - t.dataToCoord(a + o));
299
+ }
300
+ function Ba(r) {
301
+ var e = r.getRect();
302
+ return {
303
+ coordSys: {
304
+ type: "singleAxis",
305
+ x: e.x,
306
+ y: e.y,
307
+ width: e.width,
308
+ height: e.height
309
+ },
310
+ api: {
311
+ coord: function(t) {
312
+ return r.dataToPoint(t);
313
+ },
314
+ size: C(Va, r)
315
+ }
316
+ };
317
+ }
318
+ function Na(r, e) {
319
+ return e = e || [0, 0], Ee(["Radius", "Angle"], function(t, a) {
320
+ var o = "get" + t + "Axis", i = this[o](), n = e[a], s = r[a] / 2, l = i.type === "category" ? i.getBandWidth() : Math.abs(i.dataToCoord(n - s) - i.dataToCoord(n + s));
321
+ return t === "Angle" && (l = l * Math.PI / 180), l;
322
+ }, this);
323
+ }
324
+ function Wa(r) {
325
+ var e = r.getRadiusAxis(), t = r.getAngleAxis(), a = e.getExtent();
326
+ return a[0] > a[1] && a.reverse(), {
327
+ coordSys: {
328
+ type: "polar",
329
+ cx: r.cx,
330
+ cy: r.cy,
331
+ r: a[1],
332
+ r0: a[0]
333
+ },
334
+ api: {
335
+ coord: function(o) {
336
+ var i = e.dataToRadius(o[0]), n = t.dataToAngle(o[1]), s = r.coordToPoint([i, n]);
337
+ return s.push(i, n * Math.PI / 180), s;
338
+ },
339
+ size: C(Na, r)
340
+ }
341
+ };
342
+ }
343
+ function Fa(r) {
344
+ var e = r.getRect(), t = r.getRangeInfo();
345
+ return {
346
+ coordSys: {
347
+ type: "calendar",
348
+ x: e.x,
349
+ y: e.y,
350
+ width: e.width,
351
+ height: e.height,
352
+ cellWidth: r.getCellWidth(),
353
+ cellHeight: r.getCellHeight(),
354
+ rangeInfo: {
355
+ start: t.start,
356
+ end: t.end,
357
+ weeks: t.weeks,
358
+ dayCount: t.allDay
359
+ }
360
+ },
361
+ api: {
362
+ coord: function(a, o) {
363
+ return r.dataToPoint(a, o);
364
+ },
365
+ layout: function(a, o) {
366
+ return r.dataToLayout(a, o);
367
+ }
368
+ }
369
+ };
370
+ }
371
+ function Ha(r) {
372
+ var e = r.getRect();
373
+ return {
374
+ coordSys: {
375
+ type: "matrix",
376
+ x: e.x,
377
+ y: e.y,
378
+ width: e.width,
379
+ height: e.height
380
+ },
381
+ api: {
382
+ coord: function(t, a) {
383
+ return r.dataToPoint(t, a);
384
+ },
385
+ layout: function(t, a) {
386
+ return r.dataToLayout(t, a);
387
+ }
388
+ }
389
+ };
390
+ }
391
+ var Tt = {};
392
+ function Ga(r, e, t, a) {
393
+ return r && (r.legacy || r.legacy !== !1 && !t && !a && e !== "tspan" && (e === "text" || v(r, "text")));
394
+ }
395
+ function Ya(r, e, t) {
396
+ var a = r, o, i, n;
397
+ if (e === "text")
398
+ n = a;
399
+ else {
400
+ n = {}, v(a, "text") && (n.text = a.text), v(a, "rich") && (n.rich = a.rich), v(a, "textFill") && (n.fill = a.textFill), v(a, "textStroke") && (n.stroke = a.textStroke), v(a, "fontFamily") && (n.fontFamily = a.fontFamily), v(a, "fontSize") && (n.fontSize = a.fontSize), v(a, "fontStyle") && (n.fontStyle = a.fontStyle), v(a, "fontWeight") && (n.fontWeight = a.fontWeight), i = {
401
+ type: "text",
402
+ style: n,
403
+ // ec4 does not support rectText trigger.
404
+ // And when text position is different in normal and emphasis
405
+ // => hover text trigger emphasis;
406
+ // => text position changed, leave mouse pointer immediately;
407
+ // That might cause incorrect state.
408
+ silent: !0
409
+ }, o = {};
410
+ var s = v(a, "textPosition");
411
+ t ? o.position = s ? a.textPosition : "inside" : s && (o.position = a.textPosition), v(a, "textPosition") && (o.position = a.textPosition), v(a, "textOffset") && (o.offset = a.textOffset), v(a, "textRotation") && (o.rotation = a.textRotation), v(a, "textDistance") && (o.distance = a.textDistance);
412
+ }
413
+ return Pt(n, r), E(n.rich, function(l) {
414
+ Pt(l, l);
415
+ }), {
416
+ textConfig: o,
417
+ textContent: i
418
+ };
419
+ }
420
+ function Pt(r, e) {
421
+ e && (e.font = e.textFont || e.font, v(e, "textStrokeWidth") && (r.lineWidth = e.textStrokeWidth), v(e, "textAlign") && (r.align = e.textAlign), v(e, "textVerticalAlign") && (r.verticalAlign = e.textVerticalAlign), v(e, "textLineHeight") && (r.lineHeight = e.textLineHeight), v(e, "textWidth") && (r.width = e.textWidth), v(e, "textHeight") && (r.height = e.textHeight), v(e, "textBackgroundColor") && (r.backgroundColor = e.textBackgroundColor), v(e, "textPadding") && (r.padding = e.textPadding), v(e, "textBorderColor") && (r.borderColor = e.textBorderColor), v(e, "textBorderWidth") && (r.borderWidth = e.textBorderWidth), v(e, "textBorderRadius") && (r.borderRadius = e.textBorderRadius), v(e, "textBoxShadowColor") && (r.shadowColor = e.textBoxShadowColor), v(e, "textBoxShadowBlur") && (r.shadowBlur = e.textBoxShadowBlur), v(e, "textBoxShadowOffsetX") && (r.shadowOffsetX = e.textBoxShadowOffsetX), v(e, "textBoxShadowOffsetY") && (r.shadowOffsetY = e.textBoxShadowOffsetY));
422
+ }
423
+ function Lt(r, e, t) {
424
+ var a = r;
425
+ a.textPosition = a.textPosition || t.position || "inside", t.offset != null && (a.textOffset = t.offset), t.rotation != null && (a.textRotation = t.rotation), t.distance != null && (a.textDistance = t.distance);
426
+ var o = a.textPosition.indexOf("inside") >= 0, i = r.fill || L.color.neutral99;
427
+ zt(a, e);
428
+ var n = a.textFill == null;
429
+ return o ? n && (a.textFill = t.insideFill || L.color.neutral00, !a.textStroke && t.insideStroke && (a.textStroke = t.insideStroke), !a.textStroke && (a.textStroke = i), a.textStrokeWidth == null && (a.textStrokeWidth = 2)) : (n && (a.textFill = r.fill || t.outsideFill || L.color.neutral00), !a.textStroke && t.outsideStroke && (a.textStroke = t.outsideStroke)), a.text = e.text, a.rich = e.rich, E(e.rich, function(s) {
430
+ zt(s, s);
431
+ }), a;
432
+ }
433
+ function zt(r, e) {
434
+ e && (v(e, "fill") && (r.textFill = e.fill), v(e, "stroke") && (r.textStroke = e.fill), v(e, "lineWidth") && (r.textStrokeWidth = e.lineWidth), v(e, "font") && (r.font = e.font), v(e, "fontStyle") && (r.fontStyle = e.fontStyle), v(e, "fontWeight") && (r.fontWeight = e.fontWeight), v(e, "fontSize") && (r.fontSize = e.fontSize), v(e, "fontFamily") && (r.fontFamily = e.fontFamily), v(e, "align") && (r.textAlign = e.align), v(e, "verticalAlign") && (r.textVerticalAlign = e.verticalAlign), v(e, "lineHeight") && (r.textLineHeight = e.lineHeight), v(e, "width") && (r.textWidth = e.width), v(e, "height") && (r.textHeight = e.height), v(e, "backgroundColor") && (r.textBackgroundColor = e.backgroundColor), v(e, "padding") && (r.textPadding = e.padding), v(e, "borderColor") && (r.textBorderColor = e.borderColor), v(e, "borderWidth") && (r.textBorderWidth = e.borderWidth), v(e, "borderRadius") && (r.textBorderRadius = e.borderRadius), v(e, "shadowColor") && (r.textBoxShadowColor = e.shadowColor), v(e, "shadowBlur") && (r.textBoxShadowBlur = e.shadowBlur), v(e, "shadowOffsetX") && (r.textBoxShadowOffsetX = e.shadowOffsetX), v(e, "shadowOffsetY") && (r.textBoxShadowOffsetY = e.shadowOffsetY), v(e, "textShadowColor") && (r.textShadowColor = e.textShadowColor), v(e, "textShadowBlur") && (r.textShadowBlur = e.textShadowBlur), v(e, "textShadowOffsetX") && (r.textShadowOffsetX = e.textShadowOffsetX), v(e, "textShadowOffsetY") && (r.textShadowOffsetY = e.textShadowOffsetY));
435
+ }
436
+ function Zt(r, e) {
437
+ if (process.env.NODE_ENV !== "production") {
438
+ var t = r + "^_^" + e;
439
+ Tt[t] || (console.warn('[ECharts] DEPRECATED: "' + r + '" has been deprecated. ' + e), Tt[t] = !0);
440
+ }
441
+ }
442
+ var ar = {
443
+ position: ["x", "y"],
444
+ scale: ["scaleX", "scaleY"],
445
+ origin: ["originX", "originY"]
446
+ }, Ot = ge(ar), Le = Pr(be, function(r, e) {
447
+ return r[e] = 1, r;
448
+ }, {}), kt = be.join(", "), ze = ["", "style", "shape", "extra"], ve = pe();
449
+ function ot(r, e, t, a, o) {
450
+ var i = r + "Animation", n = qt(r, a, o) || {}, s = ve(e).userDuring;
451
+ return n.duration > 0 && (n.during = s ? C(qa, {
452
+ el: e,
453
+ userDuring: s
454
+ }) : null, n.setToFinal = !0, n.scope = r), he(n, t[i]), n;
455
+ }
456
+ function Xa(r, e, t, a) {
457
+ a = a || {};
458
+ var o = a.dataIndex, i = a.isInit, n = a.clearStyle, s = t.isAnimationEnabled(), l = ve(r), u = e.style;
459
+ l.userDuring = e.during;
460
+ var f = {}, c = {};
461
+ if (Qa(r, e, c), r.type === "compound")
462
+ for (var d = r.shape.paths, h = e.shape.paths, p = 0; p < h.length; p++) {
463
+ var x = h[p];
464
+ Fe("shape", x, d[p]);
465
+ }
466
+ else
467
+ Fe("shape", e, c), Fe("extra", e, c);
468
+ if (!i && s && (Ja(r, e, f), Vt("shape", r, e, f), Vt("extra", r, e, f), en(r, e, u, f)), c.style = u, Ia(r, c, n), Ka(r, e), s)
469
+ if (i) {
470
+ var w = {};
471
+ E(ze, function(M) {
472
+ var z = M ? e[M] : e;
473
+ z && z.enterFrom && (M && (w[M] = w[M] || {}), he(M ? w[M] : w, z.enterFrom));
474
+ });
475
+ var A = ot("enter", r, e, t, o);
476
+ A.duration > 0 && r.animateFrom(w, A);
477
+ } else
478
+ Ua(r, e, o || 0, t, f);
479
+ $a(r, e), u ? r.dirty() : r.markRedraw();
480
+ }
481
+ function $a(r, e) {
482
+ for (var t = ve(r).leaveToProps, a = 0; a < ze.length; a++) {
483
+ var o = ze[a], i = o ? e[o] : e;
484
+ i && i.leaveTo && (t || (t = ve(r).leaveToProps = {}), o && (t[o] = t[o] || {}), he(o ? t[o] : t, i.leaveTo));
485
+ }
486
+ }
487
+ function it(r, e, t, a) {
488
+ if (r) {
489
+ var o = r.parent, i = ve(r).leaveToProps;
490
+ if (i) {
491
+ var n = ot("update", r, e, t, 0);
492
+ n.done = function() {
493
+ o && o.remove(r);
494
+ }, r.animateTo(i, n);
495
+ } else
496
+ o && o.remove(r);
497
+ }
498
+ }
499
+ function de(r) {
500
+ return r === "all";
501
+ }
502
+ function Ia(r, e, t) {
503
+ var a = e.style;
504
+ if (!r.isGroup && a) {
505
+ if (t) {
506
+ r.useStyle({});
507
+ for (var o = r.animators, i = 0; i < o.length; i++) {
508
+ var n = o[i];
509
+ n.targetName === "style" && n.changeTarget(r.style);
510
+ }
511
+ }
512
+ r.setStyle(a);
513
+ }
514
+ e && (e.style = null, e && r.attr(e), e.style = a);
515
+ }
516
+ function Ua(r, e, t, a, o) {
517
+ if (o) {
518
+ var i = ot("update", r, e, a, t);
519
+ i.duration > 0 && r.animateFrom(o, i);
520
+ }
521
+ }
522
+ function Ka(r, e) {
523
+ v(e, "silent") && (r.silent = e.silent), v(e, "ignore") && (r.ignore = e.ignore), r instanceof Jt && v(e, "invisible") && (r.invisible = e.invisible), r instanceof Qt && v(e, "autoBatch") && (r.autoBatch = e.autoBatch);
524
+ }
525
+ var j = {}, ja = {
526
+ // Usually other props do not need to be changed in animation during.
527
+ setTransform: function(r, e) {
528
+ return process.env.NODE_ENV !== "production" && I(v(Le, r), "Only " + kt + " available in `setTransform`."), j.el[r] = e, this;
529
+ },
530
+ getTransform: function(r) {
531
+ return process.env.NODE_ENV !== "production" && I(v(Le, r), "Only " + kt + " available in `getTransform`."), j.el[r];
532
+ },
533
+ setShape: function(r, e) {
534
+ process.env.NODE_ENV !== "production" && fe(r);
535
+ var t = j.el, a = t.shape || (t.shape = {});
536
+ return a[r] = e, t.dirtyShape && t.dirtyShape(), this;
537
+ },
538
+ getShape: function(r) {
539
+ process.env.NODE_ENV !== "production" && fe(r);
540
+ var e = j.el.shape;
541
+ if (e)
542
+ return e[r];
543
+ },
544
+ setStyle: function(r, e) {
545
+ process.env.NODE_ENV !== "production" && fe(r);
546
+ var t = j.el, a = t.style;
547
+ return a && (process.env.NODE_ENV !== "production" && Tr(e) && at("style." + r + " must not be assigned with NaN."), a[r] = e, t.dirtyStyle && t.dirtyStyle()), this;
548
+ },
549
+ getStyle: function(r) {
550
+ process.env.NODE_ENV !== "production" && fe(r);
551
+ var e = j.el.style;
552
+ if (e)
553
+ return e[r];
554
+ },
555
+ setExtra: function(r, e) {
556
+ process.env.NODE_ENV !== "production" && fe(r);
557
+ var t = j.el.extra || (j.el.extra = {});
558
+ return t[r] = e, this;
559
+ },
560
+ getExtra: function(r) {
561
+ process.env.NODE_ENV !== "production" && fe(r);
562
+ var e = j.el.extra;
563
+ if (e)
564
+ return e[r];
565
+ }
566
+ };
567
+ function fe(r) {
568
+ if (process.env.NODE_ENV !== "production" && (r === "transition" || r === "enterFrom" || r === "leaveTo"))
569
+ throw new Error('key must not be "' + r + '"');
570
+ }
571
+ function qa() {
572
+ var r = this, e = r.el;
573
+ if (e) {
574
+ var t = ve(e).userDuring, a = r.userDuring;
575
+ if (t !== a) {
576
+ r.el = r.userDuring = null;
577
+ return;
578
+ }
579
+ j.el = e, a(ja);
580
+ }
581
+ }
582
+ function Vt(r, e, t, a) {
583
+ var o = t[r];
584
+ if (o) {
585
+ var i = e[r], n;
586
+ if (i) {
587
+ var s = t.transition, l = o.transition;
588
+ if (l)
589
+ if (!n && (n = a[r] = {}), de(l))
590
+ he(n, i);
591
+ else
592
+ for (var u = nt(l), f = 0; f < u.length; f++) {
593
+ var c = u[f], d = i[c];
594
+ n[c] = d;
595
+ }
596
+ else if (de(s) || me(s, r) >= 0) {
597
+ !n && (n = a[r] = {});
598
+ for (var h = ge(i), f = 0; f < h.length; f++) {
599
+ var c = h[f], d = i[c];
600
+ tn(o[c], d) && (n[c] = d);
601
+ }
602
+ }
603
+ }
604
+ }
605
+ }
606
+ function Fe(r, e, t) {
607
+ var a = e[r];
608
+ if (a)
609
+ for (var o = t[r] = {}, i = ge(a), n = 0; n < i.length; n++) {
610
+ var s = i[n];
611
+ o[s] = Lr(a[s]);
612
+ }
613
+ }
614
+ function Ja(r, e, t) {
615
+ for (var a = e.transition, o = de(a) ? be : nt(a || []), i = 0; i < o.length; i++) {
616
+ var n = o[i];
617
+ if (!(n === "style" || n === "shape" || n === "extra")) {
618
+ var s = r[n];
619
+ process.env.NODE_ENV !== "production" && nr(n, "el.transition"), t[n] = s;
620
+ }
621
+ }
622
+ }
623
+ function Qa(r, e, t) {
624
+ for (var a = 0; a < Ot.length; a++) {
625
+ var o = Ot[a], i = ar[o], n = e[o];
626
+ n && (t[i[0]] = n[0], t[i[1]] = n[1]);
627
+ }
628
+ for (var a = 0; a < be.length; a++) {
629
+ var s = be[a];
630
+ e[s] != null && (t[s] = e[s]);
631
+ }
632
+ }
633
+ function en(r, e, t, a) {
634
+ if (t) {
635
+ var o = r.style, i;
636
+ if (o) {
637
+ var n = t.transition, s = e.transition;
638
+ if (n && !de(n)) {
639
+ var l = nt(n);
640
+ !i && (i = a.style = {});
641
+ for (var u = 0; u < l.length; u++) {
642
+ var f = l[u], c = o[f];
643
+ i[f] = c;
644
+ }
645
+ } else if (r.getAnimationStyleProps && (de(s) || de(n) || me(s, "style") >= 0)) {
646
+ var d = r.getAnimationStyleProps(), h = d ? d.style : null;
647
+ if (h) {
648
+ !i && (i = a.style = {});
649
+ for (var p = ge(t), u = 0; u < p.length; u++) {
650
+ var f = p[u];
651
+ if (h[f]) {
652
+ var c = o[f];
653
+ i[f] = c;
654
+ }
655
+ }
656
+ }
657
+ }
658
+ }
659
+ }
660
+ }
661
+ function tn(r, e) {
662
+ return zr(r) ? r !== e : r != null && isFinite(r);
663
+ }
664
+ var nr;
665
+ process.env.NODE_ENV !== "production" && (nr = function(r, e) {
666
+ v(Le, r) || at("Prop `" + r + "` is not a permitted in `" + e + "`. Only `" + ge(Le).join("`, `") + "` are permitted.");
667
+ });
668
+ var or = pe(), rn = ["percent", "easing", "shape", "style", "extra"];
669
+ function an(r) {
670
+ r.stopAnimation("keyframe"), r.attr(or(r));
671
+ }
672
+ function ir(r, e, t) {
673
+ if (!(!t.isAnimationEnabled() || !e)) {
674
+ if (Zr(e)) {
675
+ E(e, function(s) {
676
+ ir(r, s, t);
677
+ });
678
+ return;
679
+ }
680
+ var a = e.keyframes, o = e.duration;
681
+ if (t && o == null) {
682
+ var i = qt("enter", t, 0);
683
+ o = i && i.duration;
684
+ }
685
+ if (!(!a || !o)) {
686
+ var n = or(r);
687
+ E(ze, function(s) {
688
+ if (!(s && !r[s])) {
689
+ var l, u = !1;
690
+ a.sort(function(f, c) {
691
+ return f.percent - c.percent;
692
+ }), E(a, function(f) {
693
+ var c = r.animators, d = s ? f[s] : f;
694
+ if (process.env.NODE_ENV !== "production" && f.percent >= 1 && (u = !0), !!d) {
695
+ var h = ge(d);
696
+ if (s || (h = Or(h, function(w) {
697
+ return me(rn, w) < 0;
698
+ })), !!h.length) {
699
+ l || (l = r.animate(s, e.loop, !0), l.scope = "keyframe");
700
+ for (var p = 0; p < c.length; p++)
701
+ c[p] !== l && c[p].targetName === l.targetName && c[p].stopTracks(h);
702
+ s && (n[s] = n[s] || {});
703
+ var x = s ? n[s] : n;
704
+ E(h, function(w) {
705
+ x[w] = ((s ? r[s] : r) || {})[w];
706
+ }), l.whenWithKeys(o * f.percent, d, h, f.easing);
707
+ }
708
+ }
709
+ }), l && (process.env.NODE_ENV !== "production" && (u || at("End frame with percent: 1 is missing in the keyframeAnimation.", !0)), l.delay(e.delay || 0).duration(o).start(e.easing));
710
+ }
711
+ });
712
+ }
713
+ }
714
+ }
715
+ var Q = "emphasis", ae = "normal", st = "blur", lt = "select", oe = [ae, Q, st, lt], He = {
716
+ normal: ["itemStyle"],
717
+ emphasis: [Q, "itemStyle"],
718
+ blur: [st, "itemStyle"],
719
+ select: [lt, "itemStyle"]
720
+ }, Ge = {
721
+ normal: ["label"],
722
+ emphasis: [Q, "label"],
723
+ blur: [st, "label"],
724
+ select: [lt, "label"]
725
+ }, nn = ["x", "y"], on = "e\0\0", H = {
726
+ normal: {},
727
+ emphasis: {},
728
+ blur: {},
729
+ select: {}
730
+ }, Bt = {
731
+ cartesian2d: Za,
732
+ geo: ka,
733
+ single: Ba,
734
+ polar: Wa,
735
+ calendar: Fa,
736
+ matrix: Ha
737
+ };
738
+ function Ze(r) {
739
+ return r instanceof Qt;
740
+ }
741
+ function tt(r) {
742
+ return r instanceof Jt;
743
+ }
744
+ function sn(r, e) {
745
+ e.copyTransform(r), tt(e) && tt(r) && (e.setStyle(r.style), e.z = r.z, e.z2 = r.z2, e.zlevel = r.zlevel, e.invisible = r.invisible, e.ignore = r.ignore, Ze(e) && Ze(r) && e.setShape(r.shape));
746
+ }
747
+ var ln = (
748
+ /** @class */
749
+ (function(r) {
750
+ ee(e, r);
751
+ function e() {
752
+ var t = r !== null && r.apply(this, arguments) || this;
753
+ return t.type = e.type, t;
754
+ }
755
+ return e.prototype.render = function(t, a, o, i) {
756
+ this._progressiveEls = null;
757
+ var n = this._data, s = t.getData(), l = this.group, u = Nt(t, s, a, o);
758
+ n || l.removeAll(), s.diff(n).add(function(c) {
759
+ Ye(o, null, c, u(c, i), t, l, s);
760
+ }).remove(function(c) {
761
+ var d = n.getItemGraphicEl(c);
762
+ d && it(d, J(d).option, t);
763
+ }).update(function(c, d) {
764
+ var h = n.getItemGraphicEl(d);
765
+ Ye(o, h, c, u(c, i), t, l, s);
766
+ }).execute();
767
+ var f = t.get("clip", !0) ? kr(t.coordinateSystem, !1, t) : null;
768
+ f ? l.setClipPath(f) : l.removeClipPath(), this._data = s;
769
+ }, e.prototype.incrementalPrepareRender = function(t, a, o) {
770
+ this.group.removeAll(), this._data = null;
771
+ }, e.prototype.incrementalRender = function(t, a, o, i, n) {
772
+ var s = a.getData(), l = Nt(a, s, o, i), u = this._progressiveEls = [];
773
+ function f(h) {
774
+ h.isGroup || (h.incremental = !0, h.ensureState("emphasis").hoverLayer = !0);
775
+ }
776
+ for (var c = t.start; c < t.end; c++) {
777
+ var d = Ye(null, null, c, l(c, n), a, this.group, s);
778
+ d && (d.traverse(f), u.push(d));
779
+ }
780
+ }, e.prototype.eachRendered = function(t) {
781
+ Vr(this._progressiveEls || this.group, t);
782
+ }, e.prototype.filterForExposedEvent = function(t, a, o, i) {
783
+ var n = a.element;
784
+ if (n == null || o.name === n)
785
+ return !0;
786
+ for (; (o = o.__hostTarget || o.parent) && o !== this.group; )
787
+ if (o.name === n)
788
+ return !0;
789
+ return !1;
790
+ }, e.type = "custom", e;
791
+ })(Br)
792
+ );
793
+ function ut(r) {
794
+ var e = r.type, t;
795
+ if (e === "path") {
796
+ var a = r.shape, o = a.width != null && a.height != null ? {
797
+ x: a.x || 0,
798
+ y: a.y || 0,
799
+ width: a.width,
800
+ height: a.height
801
+ } : null, i = ur(a);
802
+ t = _t(i, null, o, a.layout || "center"), J(t).customPathData = i;
803
+ } else if (e === "image")
804
+ t = new Yr({}), J(t).customImagePath = r.style.image;
805
+ else if (e === "text")
806
+ t = new er({});
807
+ else if (e === "group")
808
+ t = new Je();
809
+ else if (e === "compoundPath") {
810
+ var a = r.shape;
811
+ if (!a || !a.paths) {
812
+ var n = "";
813
+ process.env.NODE_ENV !== "production" && (n = "shape.paths must be specified in compoundPath"), We(n);
814
+ }
815
+ var s = Ee(a.paths, function(f) {
816
+ if (f.type === "path")
817
+ return _t(f.shape.pathData, f, null);
818
+ var c = St(f.type);
819
+ if (!c) {
820
+ var d = "";
821
+ process.env.NODE_ENV !== "production" && (d = 'graphic type "' + e + '" can not be found.'), We(d);
822
+ }
823
+ return new c();
824
+ });
825
+ t = new Xr({
826
+ shape: {
827
+ paths: s
828
+ }
829
+ });
830
+ } else {
831
+ var l = St(e);
832
+ if (!l) {
833
+ var n = "";
834
+ process.env.NODE_ENV !== "production" && (n = 'graphic type "' + e + '" can not be found.'), We(n);
835
+ }
836
+ t = new l();
837
+ }
838
+ return J(t).customGraphicType = e, t.name = r.name, t.z2EmphasisLift = 1, t.z2SelectLift = 1, t;
839
+ }
840
+ function ft(r, e, t, a, o, i, n) {
841
+ an(e);
842
+ var s = o && o.normal.cfg;
843
+ s && e.setTextConfig(s), a && a.transition == null && (a.transition = nn);
844
+ var l = a && a.style;
845
+ if (l) {
846
+ if (e.type === "text") {
847
+ var u = l;
848
+ v(u, "textFill") && (u.fill = u.textFill), v(u, "textStroke") && (u.stroke = u.textStroke);
849
+ }
850
+ var f = void 0, c = Ze(e) ? l.decal : null;
851
+ r && c && (c.dirty = !0, f = $r(c, r)), l.__decalPattern = f;
852
+ }
853
+ if (tt(e) && l) {
854
+ var f = l.__decalPattern;
855
+ f && (l.decal = f);
856
+ }
857
+ Xa(e, a, i, {
858
+ dataIndex: t,
859
+ isInit: n,
860
+ clearStyle: !0
861
+ }), ir(e, a.keyframeAnimation, i);
862
+ }
863
+ function sr(r, e, t, a, o) {
864
+ var i = e.isGroup ? null : e, n = o && o[r].cfg;
865
+ if (i) {
866
+ var s = i.ensureState(r);
867
+ if (a === !1) {
868
+ var l = i.getState(r);
869
+ l && (l.style = null);
870
+ } else
871
+ s.style = a || null;
872
+ n && (s.textConfig = n), Ir(i);
873
+ }
874
+ }
875
+ function un(r, e, t) {
876
+ if (!r.isGroup) {
877
+ var a = r, o = t.currentZ, i = t.currentZLevel;
878
+ a.z = o, a.zlevel = i;
879
+ var n = e.z2;
880
+ n != null && (a.z2 = n || 0);
881
+ for (var s = 0; s < oe.length; s++)
882
+ fn(a, e, oe[s]);
883
+ }
884
+ }
885
+ function fn(r, e, t) {
886
+ var a = t === ae, o = a ? e : Oe(e, t), i = o ? o.z2 : null, n;
887
+ i != null && (n = a ? r : r.ensureState(t), n.z2 = i || 0);
888
+ }
889
+ function Nt(r, e, t, a) {
890
+ var o = r.get("renderItem");
891
+ if (typeof o == "string") {
892
+ var i = Nr(o);
893
+ i ? o = i : process.env.NODE_ENV !== "production" && console.warn("Custom series renderItem '" + o + `' not found.
894
+ Call 'echarts.registerCustomSeries' to register it.`);
895
+ }
896
+ var n = r.coordinateSystem, s = {};
897
+ n && (process.env.NODE_ENV !== "production" && (I(o, "series.render is required."), I(n.prepareCustoms || Bt[n.type], "This coordSys does not support custom series.")), s = n.prepareCustoms ? n.prepareCustoms(n) : Bt[n.type](n));
898
+ for (var l = De({
899
+ getWidth: a.getWidth,
900
+ getHeight: a.getHeight,
901
+ getZr: a.getZr,
902
+ getDevicePixelRatio: a.getDevicePixelRatio,
903
+ value: R,
904
+ style: U,
905
+ ordinalRawValue: q,
906
+ styleEmphasis: te,
907
+ visual: re,
908
+ barLayout: ie,
909
+ currentSeriesIndices: W,
910
+ font: K
911
+ }, s.api || {}), u = {
912
+ // The life cycle of context: current round of rendering.
913
+ // The global life cycle is probably not necessary, because
914
+ // user can store global status by themselves.
915
+ context: {},
916
+ seriesId: r.id,
917
+ seriesName: r.name,
918
+ seriesIndex: r.seriesIndex,
919
+ coordSys: s.coordSys,
920
+ dataInsideLength: e.count(),
921
+ encode: cn(r.getData()),
922
+ itemPayload: r.get("itemPayload") || {}
923
+ }, f, c, d = {}, h = {}, p = {}, x = {}, w = 0; w < oe.length; w++) {
924
+ var A = oe[w];
925
+ p[A] = r.getModel(He[A]), x[A] = r.getModel(Ge[A]);
926
+ }
927
+ function M(m) {
928
+ return m === f ? c || (c = e.getItemModel(m)) : e.getItemModel(m);
929
+ }
930
+ function z(m, g) {
931
+ return e.hasItemOption ? m === f ? d[g] || (d[g] = M(m).getModel(He[g])) : M(m).getModel(He[g]) : p[g];
932
+ }
933
+ function P(m, g) {
934
+ return e.hasItemOption ? m === f ? h[g] || (h[g] = M(m).getModel(Ge[g])) : M(m).getModel(Ge[g]) : x[g];
935
+ }
936
+ return function(m, g) {
937
+ return f = m, c = null, d = {}, h = {}, o && o(De({
938
+ dataIndexInside: m,
939
+ dataIndex: e.getRawIndex(m),
940
+ // Can be used for optimization when zoom or roam.
941
+ actionType: g ? g.type : null
942
+ }, u), l);
943
+ };
944
+ function R(m, g) {
945
+ return g == null && (g = f), e.getStore().get(e.getDimensionIndex(m || 0), g);
946
+ }
947
+ function q(m, g) {
948
+ g == null && (g = f), m = m || 0;
949
+ var D = e.getDimensionInfo(m);
950
+ if (!D) {
951
+ var B = e.getDimensionIndex(m);
952
+ return B >= 0 ? e.getStore().get(B, g) : void 0;
953
+ }
954
+ var X = e.get(D.name, g), Z = D && D.ordinalMeta;
955
+ return Z ? Z.categories[X] : X;
956
+ }
957
+ function U(m, g) {
958
+ process.env.NODE_ENV !== "production" && Zt("api.style", "Please write literal style directly instead."), g == null && (g = f);
959
+ var D = e.getItemVisual(g, "style"), B = D && D.fill, X = D && D.opacity, Z = z(g, ae).getItemStyle();
960
+ B != null && (Z.fill = B), X != null && (Z.opacity = X);
961
+ var _ = {
962
+ inheritColor: rt(B) ? B : L.color.neutral99
963
+ }, S = P(g, ae), b = qe(S, null, _, !1, !0);
964
+ b.text = S.getShallow("show") ? jt(r.getFormattedLabel(g, ae), yt(e, g)) : null;
965
+ var y = xt(S, _, !1);
966
+ return Y(m, Z), Z = Lt(Z, b, y), m && G(Z, m), Z.legacy = !0, Z;
967
+ }
968
+ function te(m, g) {
969
+ process.env.NODE_ENV !== "production" && Zt("api.styleEmphasis", "Please write literal style directly instead."), g == null && (g = f);
970
+ var D = z(g, Q).getItemStyle(), B = P(g, Q), X = qe(B, null, null, !0, !0);
971
+ X.text = B.getShallow("show") ? Gr(r.getFormattedLabel(g, Q), r.getFormattedLabel(g, ae), yt(e, g)) : null;
972
+ var Z = xt(B, null, !0);
973
+ return Y(m, D), D = Lt(D, X, Z), m && G(D, m), D.legacy = !0, D;
974
+ }
975
+ function G(m, g) {
976
+ for (var D in g)
977
+ v(g, D) && (m[D] = g[D]);
978
+ }
979
+ function Y(m, g) {
980
+ m && (m.textFill && (g.textFill = m.textFill), m.textPosition && (g.textPosition = m.textPosition));
981
+ }
982
+ function re(m, g) {
983
+ if (g == null && (g = f), v(Rt, m)) {
984
+ var D = e.getItemVisual(g, "style");
985
+ return D ? D[Rt[m]] : null;
986
+ }
987
+ if (v(Pa, m))
988
+ return e.getItemVisual(g, m);
989
+ }
990
+ function ie(m) {
991
+ if (n.type === "cartesian2d") {
992
+ var g = n.getBaseAxis();
993
+ return Hr(De({
994
+ axis: g
995
+ }, m));
996
+ }
997
+ }
998
+ function W() {
999
+ return t.getCurrentSeriesIndices();
1000
+ }
1001
+ function K(m) {
1002
+ return Fr(m, t);
1003
+ }
1004
+ }
1005
+ function cn(r) {
1006
+ var e = {};
1007
+ return E(r.dimensions, function(t) {
1008
+ var a = r.getDimensionInfo(t);
1009
+ if (!a.isExtraCoord) {
1010
+ var o = a.coordDim, i = e[o] = e[o] || [];
1011
+ i[a.coordDimIndex] = r.getDimensionIndex(t);
1012
+ }
1013
+ }), e;
1014
+ }
1015
+ function Ye(r, e, t, a, o, i, n) {
1016
+ if (!a) {
1017
+ i.remove(e);
1018
+ return;
1019
+ }
1020
+ var s = ct(r, e, t, a, o, i);
1021
+ return s && n.setItemGraphicEl(t, s), s && Wr(s, a.focus, a.blurScope, a.emphasisDisabled), s;
1022
+ }
1023
+ function ct(r, e, t, a, o, i) {
1024
+ process.env.NODE_ENV !== "production" && I(a, "should not have an null/undefined element setting");
1025
+ var n = -1, s = e;
1026
+ e && lr(e, a, o) && (n = me(i.childrenRef(), e), e = null);
1027
+ var l = !e, u = e;
1028
+ u ? u.clearStates() : (u = ut(a), s && sn(s, u)), a.morph === !1 ? u.disableMorphing = !0 : u.disableMorphing && (u.disableMorphing = !1), a.tooltipDisabled && (u.tooltipDisabled = !0), H.normal.cfg = H.normal.conOpt = H.emphasis.cfg = H.emphasis.conOpt = H.blur.cfg = H.blur.conOpt = H.select.cfg = H.select.conOpt = null, H.isLegacy = !1, hn(u, t, a, o, l, H), dn(u, t, a, o, l), ft(r, u, t, a, H, o, l), v(a, "info") && (J(u).info = a.info);
1029
+ for (var f = 0; f < oe.length; f++) {
1030
+ var c = oe[f];
1031
+ if (c !== ae) {
1032
+ var d = Oe(a, c), h = dt(a, d, c);
1033
+ sr(c, u, d, h, H);
1034
+ }
1035
+ }
1036
+ return un(u, a, o), a.type === "group" && vn(r, u, t, a, o), n >= 0 ? i.replaceAt(u, n) : i.add(u), u;
1037
+ }
1038
+ function lr(r, e, t) {
1039
+ var a = J(r), o = e.type, i = e.shape, n = e.style;
1040
+ return (
1041
+ // Always create new if universal transition is enabled.
1042
+ // Because we do transition after render. It needs to know what old element is. Replacement will loose it.
1043
+ t.isUniversalTransitionEnabled() || o != null && o !== a.customGraphicType || o === "path" && yn(i) && ur(i) !== a.customPathData || o === "image" && v(n, "image") && n.image !== a.customImagePath
1044
+ );
1045
+ }
1046
+ function dn(r, e, t, a, o) {
1047
+ var i = t.clipPath;
1048
+ if (i === !1)
1049
+ r && r.getClipPath() && r.removeClipPath();
1050
+ else if (i) {
1051
+ var n = r.getClipPath();
1052
+ n && lr(n, i, a) && (n = null), n || (n = ut(i), process.env.NODE_ENV !== "production" && I(Ze(n), "Only any type of `path` can be used in `clipPath`, rather than " + n.type + "."), r.setClipPath(n)), ft(null, n, e, i, null, a, o);
1053
+ }
1054
+ }
1055
+ function hn(r, e, t, a, o, i) {
1056
+ if (!(r.isGroup || r.type === "compoundPath")) {
1057
+ Wt(t, null, i), Wt(t, Q, i);
1058
+ var n = i.normal.conOpt, s = i.emphasis.conOpt, l = i.blur.conOpt, u = i.select.conOpt;
1059
+ if (n != null || s != null || u != null || l != null) {
1060
+ var f = r.getTextContent();
1061
+ if (n === !1)
1062
+ f && r.removeTextContent();
1063
+ else {
1064
+ n = i.normal.conOpt = n || {
1065
+ type: "text"
1066
+ }, f ? f.clearStates() : (f = ut(n), r.setTextContent(f)), ft(null, f, e, n, null, a, o);
1067
+ for (var c = n && n.style, d = 0; d < oe.length; d++) {
1068
+ var h = oe[d];
1069
+ if (h !== ae) {
1070
+ var p = i[h].conOpt;
1071
+ sr(h, f, p, dt(n, p, h), null);
1072
+ }
1073
+ }
1074
+ c ? f.dirty() : f.markRedraw();
1075
+ }
1076
+ }
1077
+ }
1078
+ }
1079
+ function Wt(r, e, t) {
1080
+ var a = e ? Oe(r, e) : r, o = e ? dt(r, a, Q) : r.style, i = r.type, n = a ? a.textConfig : null, s = r.textContent, l = s ? e ? Oe(s, e) : s : null;
1081
+ if (o && // Because emphasis style has little info to detect legacy,
1082
+ // if normal is legacy, emphasis is trade as legacy.
1083
+ (t.isLegacy || Ga(o, i, !!n, !!l))) {
1084
+ t.isLegacy = !0;
1085
+ var u = Ya(o, i, !e);
1086
+ !n && u.textConfig && (n = u.textConfig), !l && u.textContent && (l = u.textContent);
1087
+ }
1088
+ if (!e && l) {
1089
+ var f = l;
1090
+ !f.type && (f.type = "text"), process.env.NODE_ENV !== "production" && I(f.type === "text", 'textContent.type must be "text"');
1091
+ }
1092
+ var c = e ? t[e] : t.normal;
1093
+ c.cfg = n, c.conOpt = l;
1094
+ }
1095
+ function Oe(r, e) {
1096
+ return e ? r ? r[e] : null : r;
1097
+ }
1098
+ function dt(r, e, t) {
1099
+ var a = e && e.style;
1100
+ return a == null && t === Q && r && (a = r.styleEmphasis), a;
1101
+ }
1102
+ function vn(r, e, t, a, o) {
1103
+ var i = a.children, n = i ? i.length : 0, s = a.$mergeChildren, l = s === "byName" || a.diffChildrenByName, u = s === !1;
1104
+ if (!(!n && !l && !u)) {
1105
+ if (l) {
1106
+ gn({
1107
+ api: r,
1108
+ oldChildren: e.children() || [],
1109
+ newChildren: i || [],
1110
+ dataIndex: t,
1111
+ seriesModel: o,
1112
+ group: e
1113
+ });
1114
+ return;
1115
+ }
1116
+ u && e.removeAll();
1117
+ for (var f = 0; f < n; f++) {
1118
+ var c = i[f], d = e.childAt(f);
1119
+ c ? (c.ignore == null && (c.ignore = !1), ct(r, d, t, c, o, e)) : (process.env.NODE_ENV !== "production" && I(d, "renderItem should not return a group containing elements as null/undefined/{} if they do not exist before."), d.ignore = !0);
1120
+ }
1121
+ for (var h = e.childCount() - 1; h >= f; h--) {
1122
+ var p = e.childAt(h);
1123
+ pn(e, p, o);
1124
+ }
1125
+ }
1126
+ }
1127
+ function pn(r, e, t) {
1128
+ e && it(e, J(r).option, t);
1129
+ }
1130
+ function gn(r) {
1131
+ new Ur(r.oldChildren, r.newChildren, Ft, Ft, r).add(Ht).update(Ht).remove(mn).execute();
1132
+ }
1133
+ function Ft(r, e) {
1134
+ var t = r && r.name;
1135
+ return t ?? on + e;
1136
+ }
1137
+ function Ht(r, e) {
1138
+ var t = this.context, a = r != null ? t.newChildren[r] : null, o = e != null ? t.oldChildren[e] : null;
1139
+ ct(t.api, o, t.dataIndex, a, t.seriesModel, t.group);
1140
+ }
1141
+ function mn(r) {
1142
+ var e = this.context, t = e.oldChildren[r];
1143
+ t && it(t, J(t).option, e.seriesModel);
1144
+ }
1145
+ function ur(r) {
1146
+ return r && (r.pathData || r.d);
1147
+ }
1148
+ function yn(r) {
1149
+ return r && (v(r, "pathData") || v(r, "d"));
1150
+ }
1151
+ function xn(r) {
1152
+ r.registerChartView(ln), r.registerSeriesModel(La);
1153
+ }
1154
+ var Gt = ["x", "y", "radius", "angle", "single"], _n = ["cartesian2d", "polar", "singleAxis"];
1155
+ function Sn(r) {
1156
+ var e = r.get("coordinateSystem");
1157
+ return me(_n, e) >= 0;
1158
+ }
1159
+ function ne(r) {
1160
+ return process.env.NODE_ENV !== "production" && I(r), r + "Axis";
1161
+ }
1162
+ function wn(r, e) {
1163
+ var t = le(), a = [], o = le();
1164
+ r.eachComponent({
1165
+ mainType: "dataZoom",
1166
+ query: e
1167
+ }, function(f) {
1168
+ o.get(f.uid) || s(f);
1169
+ });
1170
+ var i;
1171
+ do
1172
+ i = !1, r.eachComponent("dataZoom", n);
1173
+ while (i);
1174
+ function n(f) {
1175
+ !o.get(f.uid) && l(f) && (s(f), i = !0);
1176
+ }
1177
+ function s(f) {
1178
+ o.set(f.uid, !0), a.push(f), u(f);
1179
+ }
1180
+ function l(f) {
1181
+ var c = !1;
1182
+ return f.eachTargetAxis(function(d, h) {
1183
+ var p = t.get(d);
1184
+ p && p[h] && (c = !0);
1185
+ }), c;
1186
+ }
1187
+ function u(f) {
1188
+ f.eachTargetAxis(function(c, d) {
1189
+ (t.get(c) || t.set(c, []))[d] = !0;
1190
+ });
1191
+ }
1192
+ return a;
1193
+ }
1194
+ function fr(r) {
1195
+ var e = r.ecModel, t = {
1196
+ infoList: [],
1197
+ infoMap: le()
1198
+ };
1199
+ return r.eachTargetAxis(function(a, o) {
1200
+ var i = e.getComponent(ne(a), o);
1201
+ if (i) {
1202
+ var n = i.getCoordSysModel();
1203
+ if (n) {
1204
+ var s = n.uid, l = t.infoMap.get(s);
1205
+ l || (l = {
1206
+ model: n,
1207
+ axisModels: []
1208
+ }, t.infoList.push(l), t.infoMap.set(s, l)), l.axisModels.push(i);
1209
+ }
1210
+ }
1211
+ }), t;
1212
+ }
1213
+ var Xe = (
1214
+ /** @class */
1215
+ (function() {
1216
+ function r() {
1217
+ this.indexList = [], this.indexMap = [];
1218
+ }
1219
+ return r.prototype.add = function(e) {
1220
+ this.indexMap[e] || (this.indexList.push(e), this.indexMap[e] = !0);
1221
+ }, r;
1222
+ })()
1223
+ ), ke = (
1224
+ /** @class */
1225
+ (function(r) {
1226
+ ee(e, r);
1227
+ function e() {
1228
+ var t = r !== null && r.apply(this, arguments) || this;
1229
+ return t.type = e.type, t._autoThrottle = !0, t._noTarget = !0, t._rangePropMode = ["percent", "percent"], t;
1230
+ }
1231
+ return e.prototype.init = function(t, a, o) {
1232
+ var i = Yt(t);
1233
+ this.settledOption = i, this.mergeDefaultAndTheme(t, o), this._doInit(i);
1234
+ }, e.prototype.mergeOption = function(t) {
1235
+ var a = Yt(t);
1236
+ wt(this.option, t, !0), wt(this.settledOption, a, !0), this._doInit(a);
1237
+ }, e.prototype._doInit = function(t) {
1238
+ var a = this.option;
1239
+ this._setDefaultThrottle(t), this._updateRangeUse(t);
1240
+ var o = this.settledOption;
1241
+ E([["start", "startValue"], ["end", "endValue"]], function(i, n) {
1242
+ this._rangePropMode[n] === "value" && (a[i[0]] = o[i[0]] = null);
1243
+ }, this), this._resetTarget();
1244
+ }, e.prototype._resetTarget = function() {
1245
+ var t = this.get("orient", !0), a = this._targetAxisInfoMap = le(), o = this._fillSpecifiedTargetAxis(a);
1246
+ o ? this._orient = t || this._makeAutoOrientByTargetAxis() : (this._orient = t || "horizontal", this._fillAutoTargetAxisByOrient(a, this._orient)), this._noTarget = !0, a.each(function(i) {
1247
+ i.indexList.length && (this._noTarget = !1);
1248
+ }, this);
1249
+ }, e.prototype._fillSpecifiedTargetAxis = function(t) {
1250
+ var a = !1;
1251
+ return E(Gt, function(o) {
1252
+ var i = this.getReferringComponents(ne(o), Kr);
1253
+ if (i.specified) {
1254
+ a = !0;
1255
+ var n = new Xe();
1256
+ E(i.models, function(s) {
1257
+ n.add(s.componentIndex);
1258
+ }), t.set(o, n);
1259
+ }
1260
+ }, this), a;
1261
+ }, e.prototype._fillAutoTargetAxisByOrient = function(t, a) {
1262
+ var o = this.ecModel, i = !0;
1263
+ if (i) {
1264
+ var n = a === "vertical" ? "y" : "x", s = o.findComponents({
1265
+ mainType: n + "Axis"
1266
+ });
1267
+ l(s, n);
1268
+ }
1269
+ if (i) {
1270
+ var s = o.findComponents({
1271
+ mainType: "singleAxis",
1272
+ filter: function(f) {
1273
+ return f.get("orient", !0) === a;
1274
+ }
1275
+ });
1276
+ l(s, "single");
1277
+ }
1278
+ function l(u, f) {
1279
+ var c = u[0];
1280
+ if (c) {
1281
+ var d = new Xe();
1282
+ if (d.add(c.componentIndex), t.set(f, d), i = !1, f === "x" || f === "y") {
1283
+ var h = c.getReferringComponents("grid", Qe).models[0];
1284
+ h && E(u, function(p) {
1285
+ c.componentIndex !== p.componentIndex && h === p.getReferringComponents("grid", Qe).models[0] && d.add(p.componentIndex);
1286
+ });
1287
+ }
1288
+ }
1289
+ }
1290
+ i && E(Gt, function(u) {
1291
+ if (i) {
1292
+ var f = o.findComponents({
1293
+ mainType: ne(u),
1294
+ filter: function(d) {
1295
+ return d.get("type", !0) === "category";
1296
+ }
1297
+ });
1298
+ if (f[0]) {
1299
+ var c = new Xe();
1300
+ c.add(f[0].componentIndex), t.set(u, c), i = !1;
1301
+ }
1302
+ }
1303
+ }, this);
1304
+ }, e.prototype._makeAutoOrientByTargetAxis = function() {
1305
+ var t;
1306
+ return this.eachTargetAxis(function(a) {
1307
+ !t && (t = a);
1308
+ }, this), t === "y" ? "vertical" : "horizontal";
1309
+ }, e.prototype._setDefaultThrottle = function(t) {
1310
+ if (t.hasOwnProperty("throttle") && (this._autoThrottle = !1), this._autoThrottle) {
1311
+ var a = this.ecModel.option;
1312
+ this.option.throttle = a.animation && a.animationDurationUpdate > 0 ? 100 : 20;
1313
+ }
1314
+ }, e.prototype._updateRangeUse = function(t) {
1315
+ var a = this._rangePropMode, o = this.get("rangeMode");
1316
+ E([["start", "startValue"], ["end", "endValue"]], function(i, n) {
1317
+ var s = t[i[0]] != null, l = t[i[1]] != null;
1318
+ s && !l ? a[n] = "percent" : !s && l ? a[n] = "value" : o ? a[n] = o[n] : s && (a[n] = "percent");
1319
+ });
1320
+ }, e.prototype.noTarget = function() {
1321
+ return this._noTarget;
1322
+ }, e.prototype.getFirstTargetAxisModel = function() {
1323
+ var t;
1324
+ return this.eachTargetAxis(function(a, o) {
1325
+ t == null && (t = this.ecModel.getComponent(ne(a), o));
1326
+ }, this), t;
1327
+ }, e.prototype.eachTargetAxis = function(t, a) {
1328
+ this._targetAxisInfoMap.each(function(o, i) {
1329
+ E(o.indexList, function(n) {
1330
+ t.call(a, i, n);
1331
+ });
1332
+ });
1333
+ }, e.prototype.getAxisProxy = function(t, a) {
1334
+ var o = this.getAxisModel(t, a);
1335
+ if (o)
1336
+ return o.__dzAxisProxy;
1337
+ }, e.prototype.getAxisModel = function(t, a) {
1338
+ process.env.NODE_ENV !== "production" && I(t && a != null);
1339
+ var o = this._targetAxisInfoMap.get(t);
1340
+ if (o && o.indexMap[a])
1341
+ return this.ecModel.getComponent(ne(t), a);
1342
+ }, e.prototype.setRawRange = function(t) {
1343
+ var a = this.option, o = this.settledOption;
1344
+ E([["start", "startValue"], ["end", "endValue"]], function(i) {
1345
+ (t[i[0]] != null || t[i[1]] != null) && (a[i[0]] = o[i[0]] = t[i[0]], a[i[1]] = o[i[1]] = t[i[1]]);
1346
+ }, this), this._updateRangeUse(t);
1347
+ }, e.prototype.setCalculatedRange = function(t) {
1348
+ var a = this.option;
1349
+ E(["start", "startValue", "end", "endValue"], function(o) {
1350
+ a[o] = t[o];
1351
+ });
1352
+ }, e.prototype.getPercentRange = function() {
1353
+ var t = this.findRepresentativeAxisProxy();
1354
+ if (t)
1355
+ return t.getDataPercentWindow();
1356
+ }, e.prototype.getValueRange = function(t, a) {
1357
+ if (t == null && a == null) {
1358
+ var o = this.findRepresentativeAxisProxy();
1359
+ if (o)
1360
+ return o.getDataValueWindow();
1361
+ } else
1362
+ return this.getAxisProxy(t, a).getDataValueWindow();
1363
+ }, e.prototype.findRepresentativeAxisProxy = function(t) {
1364
+ if (t)
1365
+ return t.__dzAxisProxy;
1366
+ for (var a, o = this._targetAxisInfoMap.keys(), i = 0; i < o.length; i++)
1367
+ for (var n = o[i], s = this._targetAxisInfoMap.get(n), l = 0; l < s.indexList.length; l++) {
1368
+ var u = this.getAxisProxy(n, s.indexList[l]);
1369
+ if (u.hostedBy(this))
1370
+ return u;
1371
+ a || (a = u);
1372
+ }
1373
+ return a;
1374
+ }, e.prototype.getRangePropMode = function() {
1375
+ return this._rangePropMode.slice();
1376
+ }, e.prototype.getOrient = function() {
1377
+ return process.env.NODE_ENV !== "production" && I(this._orient), this._orient;
1378
+ }, e.type = "dataZoom", e.dependencies = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "series", "toolbox"], e.defaultOption = {
1379
+ // zlevel: 0,
1380
+ z: 4,
1381
+ filterMode: "filter",
1382
+ start: 0,
1383
+ end: 100
1384
+ }, e;
1385
+ })(jr)
1386
+ );
1387
+ function Yt(r) {
1388
+ var e = {};
1389
+ return E(["start", "end", "startValue", "endValue", "throttle"], function(t) {
1390
+ r.hasOwnProperty(t) && (e[t] = r[t]);
1391
+ }), e;
1392
+ }
1393
+ var cr = (
1394
+ /** @class */
1395
+ (function(r) {
1396
+ ee(e, r);
1397
+ function e() {
1398
+ var t = r !== null && r.apply(this, arguments) || this;
1399
+ return t.type = e.type, t;
1400
+ }
1401
+ return e.prototype.render = function(t, a, o, i) {
1402
+ this.dataZoomModel = t, this.ecModel = a, this.api = o;
1403
+ }, e.type = "dataZoom", e;
1404
+ })(qr)
1405
+ ), ce = E, Xt = Me, Mn = (
1406
+ /** @class */
1407
+ (function() {
1408
+ function r(e, t, a, o) {
1409
+ this._dimName = e, this._axisIndex = t, this.ecModel = o, this._dataZoomModel = a;
1410
+ }
1411
+ return r.prototype.hostedBy = function(e) {
1412
+ return this._dataZoomModel === e;
1413
+ }, r.prototype.getDataValueWindow = function() {
1414
+ return this._valueWindow.slice();
1415
+ }, r.prototype.getDataPercentWindow = function() {
1416
+ return this._percentWindow.slice();
1417
+ }, r.prototype.getTargetSeriesModels = function() {
1418
+ var e = [];
1419
+ return this.ecModel.eachSeries(function(t) {
1420
+ if (Sn(t)) {
1421
+ var a = ne(this._dimName), o = t.getReferringComponents(a, Qe).models[0];
1422
+ o && this._axisIndex === o.componentIndex && e.push(t);
1423
+ }
1424
+ }, this), e;
1425
+ }, r.prototype.getAxisModel = function() {
1426
+ return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex);
1427
+ }, r.prototype.getMinMaxSpan = function() {
1428
+ return Jr(this._minMaxSpan);
1429
+ }, r.prototype.calculateDataWindow = function(e) {
1430
+ var t = this._dataExtent, a = this.getAxisModel(), o = a.axis.scale, i = this._dataZoomModel.getRangePropMode(), n = [0, 100], s = [], l = [], u;
1431
+ ce(["start", "end"], function(d, h) {
1432
+ var p = e[d], x = e[d + "Value"];
1433
+ i[h] === "percent" ? (p == null && (p = n[h]), x = o.parse(k(p, n, t))) : (u = !0, x = x == null ? t[h] : o.parse(x), p = k(x, t, n)), l[h] = x == null || isNaN(x) ? t[h] : x, s[h] = p == null || isNaN(p) ? n[h] : p;
1434
+ }), Xt(l), Xt(s);
1435
+ var f = this._minMaxSpan;
1436
+ u ? c(l, s, t, n, !1) : c(s, l, n, t, !0);
1437
+ function c(d, h, p, x, w) {
1438
+ var A = w ? "Span" : "ValueSpan";
1439
+ Ae(0, d, p, "all", f["min" + A], f["max" + A]);
1440
+ for (var M = 0; M < 2; M++)
1441
+ h[M] = k(d[M], p, x, !0), w && (h[M] = o.parse(h[M]));
1442
+ }
1443
+ return {
1444
+ valueWindow: l,
1445
+ percentWindow: s
1446
+ };
1447
+ }, r.prototype.reset = function(e) {
1448
+ if (e === this._dataZoomModel) {
1449
+ var t = this.getTargetSeriesModels();
1450
+ this._dataExtent = bn(this, this._dimName, t), this._updateMinMaxSpan();
1451
+ var a = this.calculateDataWindow(e.settledOption);
1452
+ this._valueWindow = a.valueWindow, this._percentWindow = a.percentWindow, this._setAxisModel();
1453
+ }
1454
+ }, r.prototype.filterData = function(e, t) {
1455
+ if (e !== this._dataZoomModel)
1456
+ return;
1457
+ var a = this._dimName, o = this.getTargetSeriesModels(), i = e.get("filterMode"), n = this._valueWindow;
1458
+ if (i === "none")
1459
+ return;
1460
+ ce(o, function(l) {
1461
+ var u = l.getData(), f = u.mapDimensionsAll(a);
1462
+ if (f.length) {
1463
+ if (i === "weakFilter") {
1464
+ var c = u.getStore(), d = Ee(f, function(h) {
1465
+ return u.getDimensionIndex(h);
1466
+ }, u);
1467
+ u.filterSelf(function(h) {
1468
+ for (var p, x, w, A = 0; A < f.length; A++) {
1469
+ var M = c.get(d[A], h), z = !isNaN(M), P = M < n[0], R = M > n[1];
1470
+ if (z && !P && !R)
1471
+ return !0;
1472
+ z && (w = !0), P && (p = !0), R && (x = !0);
1473
+ }
1474
+ return w && p && x;
1475
+ });
1476
+ } else
1477
+ ce(f, function(h) {
1478
+ if (i === "empty")
1479
+ l.setData(u = u.map(h, function(x) {
1480
+ return s(x) ? x : NaN;
1481
+ }));
1482
+ else {
1483
+ var p = {};
1484
+ p[h] = n, u.selectRange(p);
1485
+ }
1486
+ });
1487
+ ce(f, function(h) {
1488
+ u.setApproximateExtent(n, h);
1489
+ });
1490
+ }
1491
+ });
1492
+ function s(l) {
1493
+ return l >= n[0] && l <= n[1];
1494
+ }
1495
+ }, r.prototype._updateMinMaxSpan = function() {
1496
+ var e = this._minMaxSpan = {}, t = this._dataZoomModel, a = this._dataExtent;
1497
+ ce(["min", "max"], function(o) {
1498
+ var i = t.get(o + "Span"), n = t.get(o + "ValueSpan");
1499
+ n != null && (n = this.getAxisModel().axis.scale.parse(n)), n != null ? i = k(a[0] + n, a, [0, 100], !0) : i != null && (n = k(i, [0, 100], a, !0) - a[0]), e[o + "Span"] = i, e[o + "ValueSpan"] = n;
1500
+ }, this);
1501
+ }, r.prototype._setAxisModel = function() {
1502
+ var e = this.getAxisModel(), t = this._percentWindow, a = this._valueWindow;
1503
+ if (t) {
1504
+ var o = Qr(a, [0, 500]);
1505
+ o = Math.min(o, 20);
1506
+ var i = e.axis.scale.rawExtentInfo;
1507
+ t[0] !== 0 && i.setDeterminedMinMax("min", +a[0].toFixed(o)), t[1] !== 100 && i.setDeterminedMinMax("max", +a[1].toFixed(o)), i.freeze();
1508
+ }
1509
+ }, r;
1510
+ })()
1511
+ );
1512
+ function bn(r, e, t) {
1513
+ var a = [1 / 0, -1 / 0];
1514
+ ce(t, function(n) {
1515
+ ea(a, n.getData(), e);
1516
+ });
1517
+ var o = r.getAxisModel(), i = ta(o.axis.scale, o, a).calculate();
1518
+ return [i.min, i.max];
1519
+ }
1520
+ var An = {
1521
+ // `dataZoomProcessor` will only be performed in needed series. Consider if
1522
+ // there is a line series and a pie series, it is better not to update the
1523
+ // line series if only pie series is needed to be updated.
1524
+ getTargetSeries: function(r) {
1525
+ function e(o) {
1526
+ r.eachComponent("dataZoom", function(i) {
1527
+ i.eachTargetAxis(function(n, s) {
1528
+ var l = r.getComponent(ne(n), s);
1529
+ o(n, s, l, i);
1530
+ });
1531
+ });
1532
+ }
1533
+ e(function(o, i, n, s) {
1534
+ n.__dzAxisProxy = null;
1535
+ });
1536
+ var t = [];
1537
+ e(function(o, i, n, s) {
1538
+ n.__dzAxisProxy || (n.__dzAxisProxy = new Mn(o, i, s, r), t.push(n.__dzAxisProxy));
1539
+ });
1540
+ var a = le();
1541
+ return E(t, function(o) {
1542
+ E(o.getTargetSeriesModels(), function(i) {
1543
+ a.set(i.uid, i);
1544
+ });
1545
+ }), a;
1546
+ },
1547
+ // Consider appendData, where filter should be performed. Because data process is
1548
+ // in block mode currently, it is not need to worry about that the overallProgress
1549
+ // execute every frame.
1550
+ overallReset: function(r, e) {
1551
+ r.eachComponent("dataZoom", function(t) {
1552
+ t.eachTargetAxis(function(a, o) {
1553
+ t.getAxisProxy(a, o).reset(t);
1554
+ }), t.eachTargetAxis(function(a, o) {
1555
+ t.getAxisProxy(a, o).filterData(t, e);
1556
+ });
1557
+ }), r.eachComponent("dataZoom", function(t) {
1558
+ var a = t.findRepresentativeAxisProxy();
1559
+ if (a) {
1560
+ var o = a.getDataPercentWindow(), i = a.getDataValueWindow();
1561
+ t.setCalculatedRange({
1562
+ start: o[0],
1563
+ end: o[1],
1564
+ startValue: i[0],
1565
+ endValue: i[1]
1566
+ });
1567
+ }
1568
+ });
1569
+ }
1570
+ };
1571
+ function En(r) {
1572
+ r.registerAction("dataZoom", function(e, t) {
1573
+ var a = wn(t, e);
1574
+ E(a, function(o) {
1575
+ o.setRawRange({
1576
+ start: e.start,
1577
+ end: e.end,
1578
+ startValue: e.startValue,
1579
+ endValue: e.endValue
1580
+ });
1581
+ });
1582
+ });
1583
+ }
1584
+ var $t = !1;
1585
+ function dr(r) {
1586
+ $t || ($t = !0, r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER, An), En(r), r.registerSubTypeDefaulter("dataZoom", function() {
1587
+ return "slider";
1588
+ }));
1589
+ }
1590
+ var Cn = (
1591
+ /** @class */
1592
+ (function(r) {
1593
+ ee(e, r);
1594
+ function e() {
1595
+ var t = r !== null && r.apply(this, arguments) || this;
1596
+ return t.type = e.type, t;
1597
+ }
1598
+ return e.type = "dataZoom.inside", e.defaultOption = tr(ke.defaultOption, {
1599
+ disabled: !1,
1600
+ zoomLock: !1,
1601
+ zoomOnMouseWheel: !0,
1602
+ moveOnMouseMove: !0,
1603
+ moveOnMouseWheel: !1,
1604
+ preventDefaultMouseMove: !0
1605
+ }), e;
1606
+ })(ke)
1607
+ ), ht = pe();
1608
+ function Dn(r, e, t) {
1609
+ ht(r).coordSysRecordMap.each(function(a) {
1610
+ var o = a.dataZoomInfoMap.get(e.uid);
1611
+ o && (o.getRange = t);
1612
+ });
1613
+ }
1614
+ function Rn(r, e) {
1615
+ for (var t = ht(r).coordSysRecordMap, a = t.keys(), o = 0; o < a.length; o++) {
1616
+ var i = a[o], n = t.get(i), s = n.dataZoomInfoMap;
1617
+ if (s) {
1618
+ var l = e.uid, u = s.get(l);
1619
+ u && (s.removeKey(l), s.keys().length || hr(t, n));
1620
+ }
1621
+ }
1622
+ }
1623
+ function hr(r, e) {
1624
+ if (e) {
1625
+ r.removeKey(e.model.uid);
1626
+ var t = e.controller;
1627
+ t && t.dispose();
1628
+ }
1629
+ }
1630
+ function Tn(r, e) {
1631
+ var t = {
1632
+ model: e,
1633
+ containsPoint: Mt(Ln, e),
1634
+ dispatchAction: Mt(Pn, r),
1635
+ dataZoomInfoMap: null,
1636
+ controller: null
1637
+ }, a = t.controller = new Ca(r.getZr());
1638
+ return E(["pan", "zoom", "scrollMove"], function(o) {
1639
+ a.on(o, function(i) {
1640
+ var n = [];
1641
+ t.dataZoomInfoMap.each(function(s) {
1642
+ if (i.isAvailableBehavior(s.model.option)) {
1643
+ var l = (s.getRange || {})[o], u = l && l(s.dzReferCoordSysInfo, t.model.mainType, t.controller, i);
1644
+ !s.model.get("disabled", !0) && u && n.push({
1645
+ dataZoomId: s.model.id,
1646
+ start: u[0],
1647
+ end: u[1]
1648
+ });
1649
+ }
1650
+ }), n.length && t.dispatchAction(n);
1651
+ });
1652
+ }), t;
1653
+ }
1654
+ function Pn(r, e) {
1655
+ r.isDisposed() || r.dispatchAction({
1656
+ type: "dataZoom",
1657
+ animation: {
1658
+ easing: "cubicOut",
1659
+ duration: 100
1660
+ },
1661
+ batch: e
1662
+ });
1663
+ }
1664
+ function Ln(r, e, t, a) {
1665
+ return r.coordinateSystem.containPoint([t, a]);
1666
+ }
1667
+ function zn(r, e, t) {
1668
+ var a, o = "type_", i = {
1669
+ type_true: 2,
1670
+ type_move: 1,
1671
+ type_false: 0,
1672
+ type_undefined: -1
1673
+ }, n = !0;
1674
+ return r.each(function(s) {
1675
+ var l = s.model, u = l.get("disabled", !0) ? !1 : l.get("zoomLock", !0) ? "move" : !0;
1676
+ i[o + u] > i[o + a] && (a = u), n = n && l.get("preventDefaultMouseMove", !0);
1677
+ }), {
1678
+ controlType: a,
1679
+ opt: {
1680
+ // RoamController will enable all of these functionalities,
1681
+ // and the final behavior is determined by its event listener
1682
+ // provided by each inside zoom.
1683
+ zoomOnMouseWheel: !0,
1684
+ moveOnMouseMove: !0,
1685
+ moveOnMouseWheel: !0,
1686
+ preventDefaultMouseMove: !!n,
1687
+ api: t,
1688
+ zInfo: {
1689
+ component: e.model
1690
+ },
1691
+ triggerInfo: {
1692
+ roamTrigger: null,
1693
+ isInSelf: e.containsPoint
1694
+ }
1695
+ }
1696
+ };
1697
+ }
1698
+ function Zn(r) {
1699
+ r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER, function(e, t) {
1700
+ var a = ht(t), o = a.coordSysRecordMap || (a.coordSysRecordMap = le());
1701
+ o.each(function(i) {
1702
+ i.dataZoomInfoMap = null;
1703
+ }), e.eachComponent({
1704
+ mainType: "dataZoom",
1705
+ subType: "inside"
1706
+ }, function(i) {
1707
+ var n = fr(i);
1708
+ E(n.infoList, function(s) {
1709
+ var l = s.model.uid, u = o.get(l) || o.set(l, Tn(t, s.model)), f = u.dataZoomInfoMap || (u.dataZoomInfoMap = le());
1710
+ f.set(i.uid, {
1711
+ dzReferCoordSysInfo: s,
1712
+ model: i,
1713
+ getRange: null
1714
+ });
1715
+ });
1716
+ }), o.each(function(i) {
1717
+ var n = i.controller, s, l = i.dataZoomInfoMap;
1718
+ if (l) {
1719
+ var u = l.keys()[0];
1720
+ u != null && (s = l.get(u));
1721
+ }
1722
+ if (!s) {
1723
+ hr(o, i);
1724
+ return;
1725
+ }
1726
+ var f = zn(l, i, t);
1727
+ n.enable(f.controlType, f.opt), rr(i, "dispatchAction", s.model.get("throttle", !0), "fixRate");
1728
+ });
1729
+ });
1730
+ }
1731
+ var On = (
1732
+ /** @class */
1733
+ (function(r) {
1734
+ ee(e, r);
1735
+ function e() {
1736
+ var t = r !== null && r.apply(this, arguments) || this;
1737
+ return t.type = "dataZoom.inside", t;
1738
+ }
1739
+ return e.prototype.render = function(t, a, o) {
1740
+ if (r.prototype.render.apply(this, arguments), t.noTarget()) {
1741
+ this._clear();
1742
+ return;
1743
+ }
1744
+ this.range = t.getPercentRange(), Dn(o, t, {
1745
+ pan: C($e.pan, this),
1746
+ zoom: C($e.zoom, this),
1747
+ scrollMove: C($e.scrollMove, this)
1748
+ });
1749
+ }, e.prototype.dispose = function() {
1750
+ this._clear(), r.prototype.dispose.apply(this, arguments);
1751
+ }, e.prototype._clear = function() {
1752
+ Rn(this.api, this.dataZoomModel), this.range = null;
1753
+ }, e.type = "dataZoom.inside", e;
1754
+ })(cr)
1755
+ ), $e = {
1756
+ zoom: function(r, e, t, a) {
1757
+ var o = this.range, i = o.slice(), n = r.axisModels[0];
1758
+ if (n) {
1759
+ var s = Ie[e](null, [a.originX, a.originY], n, t, r), l = (s.signal > 0 ? s.pixelStart + s.pixelLength - s.pixel : s.pixel - s.pixelStart) / s.pixelLength * (i[1] - i[0]) + i[0], u = Math.max(1 / a.scale, 0);
1760
+ i[0] = (i[0] - l) * u + l, i[1] = (i[1] - l) * u + l;
1761
+ var f = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
1762
+ if (Ae(0, i, [0, 100], 0, f.minSpan, f.maxSpan), this.range = i, o[0] !== i[0] || o[1] !== i[1])
1763
+ return i;
1764
+ }
1765
+ },
1766
+ pan: It(function(r, e, t, a, o, i) {
1767
+ var n = Ie[a]([i.oldX, i.oldY], [i.newX, i.newY], e, o, t);
1768
+ return n.signal * (r[1] - r[0]) * n.pixel / n.pixelLength;
1769
+ }),
1770
+ scrollMove: It(function(r, e, t, a, o, i) {
1771
+ var n = Ie[a]([0, 0], [i.scrollDelta, i.scrollDelta], e, o, t);
1772
+ return n.signal * (r[1] - r[0]) * i.scrollDelta;
1773
+ })
1774
+ };
1775
+ function It(r) {
1776
+ return function(e, t, a, o) {
1777
+ var i = this.range, n = i.slice(), s = e.axisModels[0];
1778
+ if (s) {
1779
+ var l = r(n, s, e, t, a, o);
1780
+ if (Ae(l, n, [0, 100], "all"), this.range = n, i[0] !== n[0] || i[1] !== n[1])
1781
+ return n;
1782
+ }
1783
+ };
1784
+ }
1785
+ var Ie = {
1786
+ grid: function(r, e, t, a, o) {
1787
+ var i = t.axis, n = {}, s = o.model.coordinateSystem.getRect();
1788
+ return r = r || [0, 0], i.dim === "x" ? (n.pixel = e[0] - r[0], n.pixelLength = s.width, n.pixelStart = s.x, n.signal = i.inverse ? 1 : -1) : (n.pixel = e[1] - r[1], n.pixelLength = s.height, n.pixelStart = s.y, n.signal = i.inverse ? -1 : 1), n;
1789
+ },
1790
+ polar: function(r, e, t, a, o) {
1791
+ var i = t.axis, n = {}, s = o.model.coordinateSystem, l = s.getRadiusAxis().getExtent(), u = s.getAngleAxis().getExtent();
1792
+ return r = r ? s.pointToCoord(r) : [0, 0], e = s.pointToCoord(e), t.mainType === "radiusAxis" ? (n.pixel = e[0] - r[0], n.pixelLength = l[1] - l[0], n.pixelStart = l[0], n.signal = i.inverse ? 1 : -1) : (n.pixel = e[1] - r[1], n.pixelLength = u[1] - u[0], n.pixelStart = u[0], n.signal = i.inverse ? -1 : 1), n;
1793
+ },
1794
+ singleAxis: function(r, e, t, a, o) {
1795
+ var i = t.axis, n = o.model.coordinateSystem.getRect(), s = {};
1796
+ return r = r || [0, 0], i.orient === "horizontal" ? (s.pixel = e[0] - r[0], s.pixelLength = n.width, s.pixelStart = n.x, s.signal = i.inverse ? 1 : -1) : (s.pixel = e[1] - r[1], s.pixelLength = n.height, s.pixelStart = n.y, s.signal = i.inverse ? -1 : 1), s;
1797
+ }
1798
+ };
1799
+ function kn(r) {
1800
+ dr(r), r.registerComponentModel(Cn), r.registerComponentView(On), Zn(r);
1801
+ }
1802
+ var Vn = (
1803
+ /** @class */
1804
+ (function(r) {
1805
+ ee(e, r);
1806
+ function e() {
1807
+ var t = r !== null && r.apply(this, arguments) || this;
1808
+ return t.type = e.type, t;
1809
+ }
1810
+ return e.type = "dataZoom.slider", e.layoutMode = "box", e.defaultOption = tr(ke.defaultOption, {
1811
+ show: !0,
1812
+ // deault value can only be drived in view stage.
1813
+ right: "ph",
1814
+ top: "ph",
1815
+ width: "ph",
1816
+ height: "ph",
1817
+ left: null,
1818
+ bottom: null,
1819
+ borderColor: L.color.accent10,
1820
+ borderRadius: 0,
1821
+ backgroundColor: L.color.transparent,
1822
+ // dataBackgroundColor: '#ddd',
1823
+ dataBackground: {
1824
+ lineStyle: {
1825
+ color: L.color.accent30,
1826
+ width: 0.5
1827
+ },
1828
+ areaStyle: {
1829
+ color: L.color.accent20,
1830
+ opacity: 0.2
1831
+ }
1832
+ },
1833
+ selectedDataBackground: {
1834
+ lineStyle: {
1835
+ color: L.color.accent40,
1836
+ width: 0.5
1837
+ },
1838
+ areaStyle: {
1839
+ color: L.color.accent20,
1840
+ opacity: 0.3
1841
+ }
1842
+ },
1843
+ // Color of selected window.
1844
+ fillerColor: "rgba(135,175,274,0.2)",
1845
+ handleIcon: "path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",
1846
+ // Percent of the slider height
1847
+ handleSize: "100%",
1848
+ handleStyle: {
1849
+ color: L.color.neutral00,
1850
+ borderColor: L.color.accent20
1851
+ },
1852
+ moveHandleSize: 7,
1853
+ moveHandleIcon: "path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",
1854
+ moveHandleStyle: {
1855
+ color: L.color.accent40,
1856
+ opacity: 0.5
1857
+ },
1858
+ showDetail: !0,
1859
+ showDataShadow: "auto",
1860
+ realtime: !0,
1861
+ zoomLock: !1,
1862
+ textStyle: {
1863
+ color: L.color.tertiary
1864
+ },
1865
+ brushSelect: !0,
1866
+ brushStyle: {
1867
+ color: L.color.accent30,
1868
+ opacity: 0.3
1869
+ },
1870
+ emphasis: {
1871
+ handleLabel: {
1872
+ show: !0
1873
+ },
1874
+ handleStyle: {
1875
+ borderColor: L.color.accent40
1876
+ },
1877
+ moveHandleStyle: {
1878
+ opacity: 0.8
1879
+ }
1880
+ },
1881
+ defaultLocationEdgeGap: 15
1882
+ }), e;
1883
+ })(ke)
1884
+ ), Se = Re, Bn = 1, Ue = 30, Nn = 7, we = "horizontal", Ut = "vertical", Wn = 5, Fn = ["line", "bar", "candlestick", "scatter"], Hn = {
1885
+ easing: "cubicOut",
1886
+ duration: 100,
1887
+ delay: 0
1888
+ }, Gn = (
1889
+ /** @class */
1890
+ (function(r) {
1891
+ ee(e, r);
1892
+ function e() {
1893
+ var t = r !== null && r.apply(this, arguments) || this;
1894
+ return t.type = e.type, t._displayables = {}, t;
1895
+ }
1896
+ return e.prototype.init = function(t, a) {
1897
+ this.api = a, this._onBrush = C(this._onBrush, this), this._onBrushEnd = C(this._onBrushEnd, this);
1898
+ }, e.prototype.render = function(t, a, o, i) {
1899
+ if (r.prototype.render.apply(this, arguments), rr(this, "_dispatchZoomAction", t.get("throttle"), "fixRate"), this._orient = t.getOrient(), t.get("show") === !1) {
1900
+ this.group.removeAll();
1901
+ return;
1902
+ }
1903
+ if (t.noTarget()) {
1904
+ this._clear(), this.group.removeAll();
1905
+ return;
1906
+ }
1907
+ (!i || i.type !== "dataZoom" || i.from !== this.uid) && this._buildView(), this._updateView();
1908
+ }, e.prototype.dispose = function() {
1909
+ this._clear(), r.prototype.dispose.apply(this, arguments);
1910
+ }, e.prototype._clear = function() {
1911
+ ra(this, "_dispatchZoomAction");
1912
+ var t = this.api.getZr();
1913
+ t.off("mousemove", this._onBrush), t.off("mouseup", this._onBrushEnd);
1914
+ }, e.prototype._buildView = function() {
1915
+ var t = this.group;
1916
+ t.removeAll(), this._brushing = !1, this._displayables.brushRect = null, this._resetLocation(), this._resetInterval();
1917
+ var a = this._displayables.sliderGroup = new Je();
1918
+ this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(a), this._positionGroup();
1919
+ }, e.prototype._resetLocation = function() {
1920
+ var t = this.dataZoomModel, a = this.api, o = t.get("brushSelect"), i = o ? Nn : 0, n = aa(t, a).refContainer, s = this._findCoordRect(), l = t.get("defaultLocationEdgeGap", !0) || 0, u = this._orient === we ? {
1921
+ // Why using 'right', because right should be used in vertical,
1922
+ // and it is better to be consistent for dealing with position param merge.
1923
+ right: n.width - s.x - s.width,
1924
+ top: n.height - Ue - l - i,
1925
+ width: s.width,
1926
+ height: Ue
1927
+ } : {
1928
+ right: l,
1929
+ top: s.y,
1930
+ width: Ue,
1931
+ height: s.height
1932
+ }, f = na(t.option);
1933
+ E(["right", "top", "width", "height"], function(d) {
1934
+ f[d] === "ph" && (f[d] = u[d]);
1935
+ });
1936
+ var c = oa(f, n);
1937
+ this._location = {
1938
+ x: c.x,
1939
+ y: c.y
1940
+ }, this._size = [c.width, c.height], this._orient === Ut && this._size.reverse();
1941
+ }, e.prototype._positionGroup = function() {
1942
+ var t = this.group, a = this._location, o = this._orient, i = this.dataZoomModel.getFirstTargetAxisModel(), n = i && i.get("inverse"), s = this._displayables.sliderGroup, l = (this._dataShadowInfo || {}).otherAxisInverse;
1943
+ s.attr(o === we && !n ? {
1944
+ scaleY: l ? 1 : -1,
1945
+ scaleX: 1
1946
+ } : o === we && n ? {
1947
+ scaleY: l ? 1 : -1,
1948
+ scaleX: -1
1949
+ } : o === Ut && !n ? {
1950
+ scaleY: l ? -1 : 1,
1951
+ scaleX: 1,
1952
+ rotation: Math.PI / 2
1953
+ } : {
1954
+ scaleY: l ? -1 : 1,
1955
+ scaleX: -1,
1956
+ rotation: Math.PI / 2
1957
+ });
1958
+ var u = t.getBoundingRect([s]);
1959
+ t.x = a.x - u.x, t.y = a.y - u.y, t.markRedraw();
1960
+ }, e.prototype._getViewExtent = function() {
1961
+ return [0, this._size[0]];
1962
+ }, e.prototype._renderBackground = function() {
1963
+ var t = this.dataZoomModel, a = this._size, o = this._displayables.sliderGroup, i = t.get("brushSelect");
1964
+ o.add(new Se({
1965
+ silent: !0,
1966
+ shape: {
1967
+ x: 0,
1968
+ y: 0,
1969
+ width: a[0],
1970
+ height: a[1]
1971
+ },
1972
+ style: {
1973
+ fill: t.get("backgroundColor")
1974
+ },
1975
+ z2: -40
1976
+ }));
1977
+ var n = new Se({
1978
+ shape: {
1979
+ x: 0,
1980
+ y: 0,
1981
+ width: a[0],
1982
+ height: a[1]
1983
+ },
1984
+ style: {
1985
+ fill: "transparent"
1986
+ },
1987
+ z2: 0,
1988
+ onclick: C(this._onClickPanel, this)
1989
+ }), s = this.api.getZr();
1990
+ i ? (n.on("mousedown", this._onBrushStart, this), n.cursor = "crosshair", s.on("mousemove", this._onBrush), s.on("mouseup", this._onBrushEnd)) : (s.off("mousemove", this._onBrush), s.off("mouseup", this._onBrushEnd)), o.add(n);
1991
+ }, e.prototype._renderDataShadow = function() {
1992
+ var t = this._dataShadowInfo = this._prepareDataShadowInfo();
1993
+ if (this._displayables.dataShadowSegs = [], !t)
1994
+ return;
1995
+ var a = this._size, o = this._shadowSize || [], i = t.series, n = i.getRawData(), s = i.getShadowDim && i.getShadowDim(), l = s && n.getDimensionInfo(s) ? i.getShadowDim() : t.otherDim;
1996
+ if (l == null)
1997
+ return;
1998
+ var u = this._shadowPolygonPts, f = this._shadowPolylinePts;
1999
+ if (n !== this._shadowData || l !== this._shadowDim || a[0] !== o[0] || a[1] !== o[1]) {
2000
+ var c = n.getDataExtent(t.thisDim), d = n.getDataExtent(l), h = (d[1] - d[0]) * 0.3;
2001
+ d = [d[0] - h, d[1] + h];
2002
+ var p = [0, a[1]], x = [0, a[0]], w = [[a[0], 0], [0, 0]], A = [], M = x[1] / Math.max(1, n.count() - 1), z = a[0] / (c[1] - c[0]), P = t.thisAxis.type === "time", R = -M, q = Math.round(n.count() / a[0]), U;
2003
+ n.each([t.thisDim, l], function(ie, W, K) {
2004
+ if (q > 0 && K % q) {
2005
+ P || (R += M);
2006
+ return;
2007
+ }
2008
+ R = P ? (+ie - c[0]) * z : R + M;
2009
+ var m = W == null || isNaN(W) || W === "", g = m ? 0 : k(W, d, p, !0);
2010
+ m && !U && K ? (w.push([w[w.length - 1][0], 0]), A.push([A[A.length - 1][0], 0])) : !m && U && (w.push([R, 0]), A.push([R, 0])), m || (w.push([R, g]), A.push([R, g])), U = m;
2011
+ }), u = this._shadowPolygonPts = w, f = this._shadowPolylinePts = A;
2012
+ }
2013
+ this._shadowData = n, this._shadowDim = l, this._shadowSize = [a[0], a[1]];
2014
+ var te = this.dataZoomModel;
2015
+ function G(ie) {
2016
+ var W = te.getModel(ie ? "selectedDataBackground" : "dataBackground"), K = new Je(), m = new ha({
2017
+ shape: {
2018
+ points: u
2019
+ },
2020
+ segmentIgnoreThreshold: 1,
2021
+ style: W.getModel("areaStyle").getAreaStyle(),
2022
+ silent: !0,
2023
+ z2: -20
2024
+ }), g = new va({
2025
+ shape: {
2026
+ points: f
2027
+ },
2028
+ segmentIgnoreThreshold: 1,
2029
+ style: W.getModel("lineStyle").getLineStyle(),
2030
+ silent: !0,
2031
+ z2: -19
2032
+ });
2033
+ return K.add(m), K.add(g), K;
2034
+ }
2035
+ for (var Y = 0; Y < 3; Y++) {
2036
+ var re = G(Y === 1);
2037
+ this._displayables.sliderGroup.add(re), this._displayables.dataShadowSegs.push(re);
2038
+ }
2039
+ }, e.prototype._prepareDataShadowInfo = function() {
2040
+ var t = this.dataZoomModel, a = t.get("showDataShadow");
2041
+ if (a !== !1) {
2042
+ var o, i = this.ecModel;
2043
+ return t.eachTargetAxis(function(n, s) {
2044
+ var l = t.getAxisProxy(n, s).getTargetSeriesModels();
2045
+ E(l, function(u) {
2046
+ if (!o && !(a !== !0 && me(Fn, u.get("type")) < 0)) {
2047
+ var f = i.getComponent(ne(n), s).axis, c = Yn(n), d, h = u.coordinateSystem;
2048
+ c != null && h.getOtherAxis && (d = h.getOtherAxis(f).inverse), c = u.getData().mapDimension(c);
2049
+ var p = u.getData().mapDimension(n);
2050
+ o = {
2051
+ thisAxis: f,
2052
+ series: u,
2053
+ thisDim: p,
2054
+ otherDim: c,
2055
+ otherAxisInverse: d
2056
+ };
2057
+ }
2058
+ }, this);
2059
+ }, this), o;
2060
+ }
2061
+ }, e.prototype._renderHandle = function() {
2062
+ var t = this.group, a = this._displayables, o = a.handles = [null, null], i = a.handleLabels = [null, null], n = this._displayables.sliderGroup, s = this._size, l = this.dataZoomModel, u = this.api, f = l.get("borderRadius") || 0, c = l.get("brushSelect"), d = a.filler = new Se({
2063
+ silent: c,
2064
+ style: {
2065
+ fill: l.get("fillerColor")
2066
+ },
2067
+ textConfig: {
2068
+ position: "inside"
2069
+ }
2070
+ });
2071
+ n.add(d), n.add(new Se({
2072
+ silent: !0,
2073
+ subPixelOptimize: !0,
2074
+ shape: {
2075
+ x: 0,
2076
+ y: 0,
2077
+ width: s[0],
2078
+ height: s[1],
2079
+ r: f
2080
+ },
2081
+ style: {
2082
+ // deprecated option
2083
+ stroke: l.get("dataBackgroundColor") || l.get("borderColor"),
2084
+ lineWidth: Bn,
2085
+ fill: L.color.transparent
2086
+ }
2087
+ })), E([0, 1], function(z) {
2088
+ var P = l.get("handleIcon");
2089
+ !ia[P] && P.indexOf("path://") < 0 && P.indexOf("image://") < 0 && (P = "path://" + P, process.env.NODE_ENV !== "production" && sa("handleIcon now needs 'path://' prefix when using a path string"));
2090
+ var R = bt(P, -1, 0, 2, 2, null, !0);
2091
+ R.attr({
2092
+ cursor: Xn(this._orient),
2093
+ draggable: !0,
2094
+ drift: C(this._onDragMove, this, z),
2095
+ ondragend: C(this._onDragEnd, this),
2096
+ onmouseover: C(this._showDataInfo, this, !0),
2097
+ onmouseout: C(this._showDataInfo, this, !1),
2098
+ z2: 5
2099
+ });
2100
+ var q = R.getBoundingRect(), U = l.get("handleSize");
2101
+ this._handleHeight = At(U, this._size[1]), this._handleWidth = q.width / q.height * this._handleHeight, R.setStyle(l.getModel("handleStyle").getItemStyle()), R.style.strokeNoScale = !0, R.rectHover = !0, R.ensureState("emphasis").style = l.getModel(["emphasis", "handleStyle"]).getItemStyle(), la(R);
2102
+ var te = l.get("handleColor");
2103
+ te != null && (R.style.fill = te), n.add(o[z] = R);
2104
+ var G = l.getModel("textStyle"), Y = l.get("handleLabel") || {}, re = Y.show || !1;
2105
+ t.add(i[z] = new er({
2106
+ silent: !0,
2107
+ invisible: !re,
2108
+ style: qe(G, {
2109
+ x: 0,
2110
+ y: 0,
2111
+ text: "",
2112
+ verticalAlign: "middle",
2113
+ align: "center",
2114
+ fill: G.getTextColor(),
2115
+ font: G.getFont()
2116
+ }),
2117
+ z2: 10
2118
+ }));
2119
+ }, this);
2120
+ var h = d;
2121
+ if (c) {
2122
+ var p = At(l.get("moveHandleSize"), s[1]), x = a.moveHandle = new Re({
2123
+ style: l.getModel("moveHandleStyle").getItemStyle(),
2124
+ silent: !0,
2125
+ shape: {
2126
+ r: [0, 0, 2, 2],
2127
+ y: s[1] - 0.5,
2128
+ height: p
2129
+ }
2130
+ }), w = p * 0.8, A = a.moveHandleIcon = bt(l.get("moveHandleIcon"), -w / 2, -w / 2, w, w, L.color.neutral00, !0);
2131
+ A.silent = !0, A.y = s[1] + p / 2 - 0.5, x.ensureState("emphasis").style = l.getModel(["emphasis", "moveHandleStyle"]).getItemStyle();
2132
+ var M = Math.min(s[1] / 2, Math.max(p, 10));
2133
+ h = a.moveZone = new Re({
2134
+ invisible: !0,
2135
+ shape: {
2136
+ y: s[1] - M,
2137
+ height: p + M
2138
+ }
2139
+ }), h.on("mouseover", function() {
2140
+ u.enterEmphasis(x);
2141
+ }).on("mouseout", function() {
2142
+ u.leaveEmphasis(x);
2143
+ }), n.add(x), n.add(A), n.add(h);
2144
+ }
2145
+ h.attr({
2146
+ draggable: !0,
2147
+ cursor: "default",
2148
+ drift: C(this._onDragMove, this, "all"),
2149
+ ondragstart: C(this._showDataInfo, this, !0),
2150
+ ondragend: C(this._onDragEnd, this),
2151
+ onmouseover: C(this._showDataInfo, this, !0),
2152
+ onmouseout: C(this._showDataInfo, this, !1)
2153
+ });
2154
+ }, e.prototype._resetInterval = function() {
2155
+ var t = this._range = this.dataZoomModel.getPercentRange(), a = this._getViewExtent();
2156
+ this._handleEnds = [k(t[0], [0, 100], a, !0), k(t[1], [0, 100], a, !0)];
2157
+ }, e.prototype._updateInterval = function(t, a) {
2158
+ var o = this.dataZoomModel, i = this._handleEnds, n = this._getViewExtent(), s = o.findRepresentativeAxisProxy().getMinMaxSpan(), l = [0, 100];
2159
+ Ae(a, i, n, o.get("zoomLock") ? "all" : t, s.minSpan != null ? k(s.minSpan, l, n, !0) : null, s.maxSpan != null ? k(s.maxSpan, l, n, !0) : null);
2160
+ var u = this._range, f = this._range = Me([k(i[0], n, l, !0), k(i[1], n, l, !0)]);
2161
+ return !u || u[0] !== f[0] || u[1] !== f[1];
2162
+ }, e.prototype._updateView = function(t) {
2163
+ var a = this._displayables, o = this._handleEnds, i = Me(o.slice()), n = this._size;
2164
+ E([0, 1], function(h) {
2165
+ var p = a.handles[h], x = this._handleHeight;
2166
+ p.attr({
2167
+ scaleX: x / 2,
2168
+ scaleY: x / 2,
2169
+ // This is a trick, by adding an extra tiny offset to let the default handle's end point align to the drag window.
2170
+ // NOTE: It may affect some custom shapes a bit. But we prefer to have better result by default.
2171
+ x: o[h] + (h ? -1 : 1),
2172
+ y: n[1] / 2 - x / 2
2173
+ });
2174
+ }, this), a.filler.setShape({
2175
+ x: i[0],
2176
+ y: 0,
2177
+ width: i[1] - i[0],
2178
+ height: n[1]
2179
+ });
2180
+ var s = {
2181
+ x: i[0],
2182
+ width: i[1] - i[0]
2183
+ };
2184
+ a.moveHandle && (a.moveHandle.setShape(s), a.moveZone.setShape(s), a.moveZone.getBoundingRect(), a.moveHandleIcon && a.moveHandleIcon.attr("x", s.x + s.width / 2));
2185
+ for (var l = a.dataShadowSegs, u = [0, i[0], i[1], n[0]], f = 0; f < l.length; f++) {
2186
+ var c = l[f], d = c.getClipPath();
2187
+ d || (d = new Re(), c.setClipPath(d)), d.setShape({
2188
+ x: u[f],
2189
+ y: 0,
2190
+ width: u[f + 1] - u[f],
2191
+ height: n[1]
2192
+ });
2193
+ }
2194
+ this._updateDataInfo(t);
2195
+ }, e.prototype._updateDataInfo = function(t) {
2196
+ var a = this.dataZoomModel, o = this._displayables, i = o.handleLabels, n = this._orient, s = ["", ""];
2197
+ if (a.get("showDetail")) {
2198
+ var l = a.findRepresentativeAxisProxy();
2199
+ if (l) {
2200
+ var u = l.getAxisModel().axis, f = this._range, c = t ? l.calculateDataWindow({
2201
+ start: f[0],
2202
+ end: f[1]
2203
+ }).valueWindow : l.getDataValueWindow();
2204
+ s = [this._formatLabel(c[0], u), this._formatLabel(c[1], u)];
2205
+ }
2206
+ }
2207
+ var d = Me(this._handleEnds.slice());
2208
+ h.call(this, 0), h.call(this, 1);
2209
+ function h(p) {
2210
+ var x = ua(o.handles[p].parent, this.group), w = fa(p === 0 ? "right" : "left", x), A = this._handleWidth / 2 + Wn, M = Et([d[p] + (p === 0 ? -A : A), this._size[1] / 2], x);
2211
+ i[p].setStyle({
2212
+ x: M[0],
2213
+ y: M[1],
2214
+ verticalAlign: n === we ? "middle" : w,
2215
+ align: n === we ? w : "center",
2216
+ text: s[p]
2217
+ });
2218
+ }
2219
+ }, e.prototype._formatLabel = function(t, a) {
2220
+ var o = this.dataZoomModel, i = o.get("labelFormatter"), n = o.get("labelPrecision");
2221
+ (n == null || n === "auto") && (n = a.getPixelPrecision());
2222
+ var s = t == null || isNaN(t) ? "" : a.type === "category" || a.type === "time" ? a.scale.getLabel({
2223
+ value: Math.round(t)
2224
+ }) : t.toFixed(Math.min(n, 20));
2225
+ return ca(i) ? i(t, s) : rt(i) ? i.replace("{value}", s) : s;
2226
+ }, e.prototype._showDataInfo = function(t) {
2227
+ var a = this.dataZoomModel.get("handleLabel") || {}, o = a.show || !1, i = this.dataZoomModel.getModel(["emphasis", "handleLabel"]), n = i.get("show") || !1, s = t || this._dragging ? n : o, l = this._displayables, u = l.handleLabels;
2228
+ u[0].attr("invisible", !s), u[1].attr("invisible", !s), l.moveHandle && this.api[s ? "enterEmphasis" : "leaveEmphasis"](l.moveHandle, 1);
2229
+ }, e.prototype._onDragMove = function(t, a, o, i) {
2230
+ this._dragging = !0, Pe(i.event);
2231
+ var n = this._displayables.sliderGroup.getLocalTransform(), s = Et([a, o], n, !0), l = this._updateInterval(t, s[0]), u = this.dataZoomModel.get("realtime");
2232
+ this._updateView(!u), l && u && this._dispatchZoomAction(!0);
2233
+ }, e.prototype._onDragEnd = function() {
2234
+ this._dragging = !1, this._showDataInfo(!1);
2235
+ var t = this.dataZoomModel.get("realtime");
2236
+ !t && this._dispatchZoomAction(!1);
2237
+ }, e.prototype._onClickPanel = function(t) {
2238
+ var a = this._size, o = this._displayables.sliderGroup.transformCoordToLocal(t.offsetX, t.offsetY);
2239
+ if (!(o[0] < 0 || o[0] > a[0] || o[1] < 0 || o[1] > a[1])) {
2240
+ var i = this._handleEnds, n = (i[0] + i[1]) / 2, s = this._updateInterval("all", o[0] - n);
2241
+ this._updateView(), s && this._dispatchZoomAction(!1);
2242
+ }
2243
+ }, e.prototype._onBrushStart = function(t) {
2244
+ var a = t.offsetX, o = t.offsetY;
2245
+ this._brushStart = new da(a, o), this._brushing = !0, this._brushStartTime = +/* @__PURE__ */ new Date();
2246
+ }, e.prototype._onBrushEnd = function(t) {
2247
+ if (this._brushing) {
2248
+ var a = this._displayables.brushRect;
2249
+ if (this._brushing = !1, !!a) {
2250
+ a.attr("ignore", !0);
2251
+ var o = a.shape, i = +/* @__PURE__ */ new Date();
2252
+ if (!(i - this._brushStartTime < 200 && Math.abs(o.width) < 5)) {
2253
+ var n = this._getViewExtent(), s = [0, 100], l = this._handleEnds = [o.x, o.x + o.width], u = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
2254
+ Ae(0, l, n, 0, u.minSpan != null ? k(u.minSpan, s, n, !0) : null, u.maxSpan != null ? k(u.maxSpan, s, n, !0) : null), this._range = Me([k(l[0], n, s, !0), k(l[1], n, s, !0)]), this._updateView(), this._dispatchZoomAction(!1);
2255
+ }
2256
+ }
2257
+ }
2258
+ }, e.prototype._onBrush = function(t) {
2259
+ this._brushing && (Pe(t.event), this._updateBrushRect(t.offsetX, t.offsetY));
2260
+ }, e.prototype._updateBrushRect = function(t, a) {
2261
+ var o = this._displayables, i = this.dataZoomModel, n = o.brushRect;
2262
+ n || (n = o.brushRect = new Se({
2263
+ silent: !0,
2264
+ style: i.getModel("brushStyle").getItemStyle()
2265
+ }), o.sliderGroup.add(n)), n.attr("ignore", !1);
2266
+ var s = this._brushStart, l = this._displayables.sliderGroup, u = l.transformCoordToLocal(t, a), f = l.transformCoordToLocal(s.x, s.y), c = this._size;
2267
+ u[0] = Math.max(Math.min(c[0], u[0]), 0), n.setShape({
2268
+ x: f[0],
2269
+ y: 0,
2270
+ width: u[0] - f[0],
2271
+ height: c[1]
2272
+ });
2273
+ }, e.prototype._dispatchZoomAction = function(t) {
2274
+ var a = this._range;
2275
+ this.api.dispatchAction({
2276
+ type: "dataZoom",
2277
+ from: this.uid,
2278
+ dataZoomId: this.dataZoomModel.id,
2279
+ animation: t ? Hn : null,
2280
+ start: a[0],
2281
+ end: a[1]
2282
+ });
2283
+ }, e.prototype._findCoordRect = function() {
2284
+ var t, a = fr(this.dataZoomModel).infoList;
2285
+ if (!t && a.length) {
2286
+ var o = a[0].model.coordinateSystem;
2287
+ t = o.getRect && o.getRect();
2288
+ }
2289
+ if (!t) {
2290
+ var i = this.api.getWidth(), n = this.api.getHeight();
2291
+ t = {
2292
+ x: i * 0.2,
2293
+ y: n * 0.2,
2294
+ width: i * 0.6,
2295
+ height: n * 0.6
2296
+ };
2297
+ }
2298
+ return t;
2299
+ }, e.type = "dataZoom.slider", e;
2300
+ })(cr)
2301
+ );
2302
+ function Yn(r) {
2303
+ var e = {
2304
+ x: "y",
2305
+ y: "x",
2306
+ radius: "angle",
2307
+ angle: "radius"
2308
+ };
2309
+ return e[r];
2310
+ }
2311
+ function Xn(r) {
2312
+ return r === "vertical" ? "ns-resize" : "ew-resize";
2313
+ }
2314
+ function $n(r) {
2315
+ r.registerComponentModel(Vn), r.registerComponentView(Gn), dr(r);
2316
+ }
2317
+ function In(r) {
2318
+ et(kn), et($n);
2319
+ }
2320
+ const Un = { class: "reportifact-timeline-toolbar" }, Kn = ["onClick"], Kt = "#ef4444", Ke = "Cuts", jn = 22, to = /* @__PURE__ */ vr({
2321
+ __name: "Timeline",
2322
+ props: {
2323
+ url: { default: void 0 },
2324
+ src: { default: void 0 },
2325
+ data: { default: void 0 },
2326
+ options: { default: void 0 }
2327
+ },
2328
+ emits: ["row-click"],
2329
+ setup(r, { expose: e, emit: t }) {
2330
+ var B, X, Z;
2331
+ et([
2332
+ ga,
2333
+ xn,
2334
+ ma,
2335
+ ya,
2336
+ xa,
2337
+ _a,
2338
+ In
2339
+ ]);
2340
+ const a = [
2341
+ "#3b82f6",
2342
+ // blue
2343
+ "#f59e0b",
2344
+ // amber
2345
+ "#10b981",
2346
+ // emerald
2347
+ "#8b5cf6",
2348
+ // violet
2349
+ "#0ea5e9",
2350
+ // sky
2351
+ "#64748b",
2352
+ // slate
2353
+ "#ec4899",
2354
+ // pink
2355
+ "#14b8a6"
2356
+ // teal
2357
+ ], o = [
2358
+ { value: "seconds", label: "sec" },
2359
+ { value: "clock", label: "mm:ss" }
2360
+ ], i = Be(!1);
2361
+ let n = null;
2362
+ pr(() => {
2363
+ i.value = document.documentElement.classList.contains("dark"), n = new MutationObserver(() => {
2364
+ i.value = document.documentElement.classList.contains("dark");
2365
+ }), n.observe(document.documentElement, { attributes: !0, attributeFilter: ["class"] });
2366
+ }), gr(() => {
2367
+ n == null || n.disconnect();
2368
+ });
2369
+ const s = r, l = t, u = Be([]), f = se(() => s.data === void 0 ? s.src ?? s.url ?? "" : ""), c = Be(((B = s.options) == null ? void 0 : B.timeFormat) === "clock" ? "clock" : "seconds"), d = ((X = s.options) == null ? void 0 : X.zoom) === !0 || ((Z = s.options) == null ? void 0 : Z.zoom) === "true", { loading: h, error: p, fetchData: x } = wa(f, {
2370
+ async onSuccess(_) {
2371
+ M(await _.json());
2372
+ }
2373
+ }), w = se(() => s.data === void 0 && h.value), A = se(() => s.data !== void 0 ? null : s.src || s.url ? p.value : "Resource not found in asset");
2374
+ function M(_) {
2375
+ const S = Array.isArray(_) ? _ : typeof _ == "object" && _ !== null && "rows" in _ ? _.rows : [];
2376
+ u.value = z(S);
2377
+ }
2378
+ mr(
2379
+ () => s.data,
2380
+ (_) => {
2381
+ _ !== void 0 && M(_);
2382
+ },
2383
+ { immediate: !0, deep: !0 }
2384
+ );
2385
+ function z(_) {
2386
+ if (!Array.isArray(_)) return [];
2387
+ const S = [];
2388
+ for (const b of _) {
2389
+ if (typeof b != "object" || b === null) continue;
2390
+ const y = b, N = Number(y.end);
2391
+ if (typeof y.name != "string" || !Number.isFinite(N)) continue;
2392
+ const V = Number(y.start), F = Array.isArray(y.cuts) ? y.cuts.map(Number).filter(Number.isFinite).sort((O, T) => O - T) : [];
2393
+ S.push({
2394
+ id: typeof y.id == "string" ? y.id : void 0,
2395
+ name: y.name,
2396
+ group: typeof y.group == "string" && y.group ? y.group : void 0,
2397
+ color: typeof y.color == "string" && y.color ? y.color : void 0,
2398
+ start: Number.isFinite(V) ? V : 0,
2399
+ end: N,
2400
+ cuts: F,
2401
+ click: typeof y.click == "object" && y.click !== null ? y.click : void 0
2402
+ });
2403
+ }
2404
+ return S;
2405
+ }
2406
+ const P = se(
2407
+ () => `${Math.max(280, u.value.length * jn + (d ? 150 : 126))}px`
2408
+ ), R = se(() => u.value.reduce((_, S) => Math.max(_, S.end), 0));
2409
+ function q(_, S, b) {
2410
+ const y = Math.max(0, Math.round(_));
2411
+ if (S === "seconds") return `${y}s`;
2412
+ const N = Math.floor(y / 3600), V = Math.floor(y % 3600 / 60), F = y % 60, O = (T) => String(T).padStart(2, "0");
2413
+ return b >= 3600 ? `${O(N)}:${O(V)}:${O(F)}` : `${O(V)}:${O(F)}`;
2414
+ }
2415
+ const U = se(() => {
2416
+ const _ = [];
2417
+ for (const S of u.value) {
2418
+ const b = S.group ?? "";
2419
+ _.includes(b) || _.push(b);
2420
+ }
2421
+ return _;
2422
+ });
2423
+ function te(_) {
2424
+ const S = U.value.indexOf(_);
2425
+ return a[Math.max(0, S) % a.length];
2426
+ }
2427
+ function G(_, S) {
2428
+ return Sa(S, _.coordSys);
2429
+ }
2430
+ function Y(_) {
2431
+ return Math.min(_.size([0, 1])[1] * 0.6, 14);
2432
+ }
2433
+ function re(_, S) {
2434
+ const b = S.value(0), y = S.coord([S.value(1), b]), N = S.coord([S.value(2), b]), V = Y(S), F = G(_, {
2435
+ x: y[0],
2436
+ y: y[1] - V / 2,
2437
+ width: Math.max(N[0] - y[0], 1),
2438
+ height: V
2439
+ });
2440
+ if (!F) return;
2441
+ const O = u.value[b];
2442
+ return {
2443
+ type: "rect",
2444
+ shape: { ...F, r: 2 },
2445
+ style: { fill: (O == null ? void 0 : O.color) ?? S.visual("color") }
2446
+ };
2447
+ }
2448
+ function ie(_, S) {
2449
+ const b = S.value(0), y = S.coord([S.value(1), b]), N = Y(S) + 4, V = G(_, {
2450
+ x: y[0] - 1,
2451
+ y: y[1] - N / 2,
2452
+ width: 2,
2453
+ height: N
2454
+ });
2455
+ if (V)
2456
+ return {
2457
+ type: "rect",
2458
+ shape: V,
2459
+ style: { fill: Kt }
2460
+ };
2461
+ }
2462
+ function W(_) {
2463
+ return typeof _ == "object" && _ !== null && "rowIndex" in _;
2464
+ }
2465
+ function K(_, S) {
2466
+ var T;
2467
+ const b = _;
2468
+ if (!W(b.data)) return "";
2469
+ const y = u.value[b.data.rowIndex];
2470
+ if (!y) return "";
2471
+ if (b.seriesName === Ke) {
2472
+ const $ = b.data.value[1];
2473
+ return `${y.name}<br/>cut @ <strong>${S($)}</strong>`;
2474
+ }
2475
+ const N = S(y.end - (y.start ?? 0)), V = `${S(y.start ?? 0)} – ${S(y.end)}`, F = y.group ? `${y.group} · ` : "", O = (T = y.cuts) != null && T.length ? `${y.cuts.length} cuts: ${y.cuts.map(($) => S($)).join(", ")}` : "no cuts";
2476
+ return `<strong>${y.name}</strong><br/>${F}${N} (${V})<br/>${O}`;
2477
+ }
2478
+ const m = se(() => {
2479
+ var O;
2480
+ if (!u.value.length) return null;
2481
+ const _ = c.value, S = R.value || 1, b = (T) => q(T, _, S), y = U.value.map((T) => ({
2482
+ name: T || "videos",
2483
+ type: "custom",
2484
+ renderItem: re,
2485
+ itemStyle: { color: te(T) },
2486
+ encode: { x: [1, 2], y: 0 },
2487
+ data: u.value.map(($, Ce) => ({
2488
+ value: [Ce, $.start ?? 0, $.end],
2489
+ rowIndex: Ce
2490
+ })).filter(($) => (u.value[$.rowIndex].group ?? "") === T)
2491
+ })), N = u.value.flatMap(
2492
+ (T, $) => (T.cuts ?? []).map((Ce) => ({ value: [$, Ce], rowIndex: $ }))
2493
+ ), V = {
2494
+ name: Ke,
2495
+ type: "custom",
2496
+ renderItem: ie,
2497
+ itemStyle: { color: Kt },
2498
+ encode: { x: 1, y: 0 },
2499
+ z: 10,
2500
+ data: N
2501
+ }, F = typeof ((O = s.options) == null ? void 0 : O.title) == "string" ? s.options.title : "";
2502
+ return {
2503
+ animationDurationUpdate: 0,
2504
+ backgroundColor: "transparent",
2505
+ title: F ? { text: F, left: 0, top: 0, textStyle: { fontSize: 14 } } : void 0,
2506
+ // The mode toolbar sits at the top-right corner, keep the legend centered.
2507
+ legend: {
2508
+ top: 0,
2509
+ left: "center",
2510
+ data: [...y.map((T) => T.name), Ke]
2511
+ },
2512
+ tooltip: {
2513
+ trigger: "item",
2514
+ textStyle: { fontSize: 12 },
2515
+ formatter: (T) => K(T, b)
2516
+ },
2517
+ grid: { left: 8, right: 16, top: 32, bottom: d ? 44 : 24, containLabel: !0 },
2518
+ xAxis: {
2519
+ type: "value",
2520
+ min: 0,
2521
+ max: S,
2522
+ axisLabel: { fontSize: 10, formatter: b }
2523
+ },
2524
+ yAxis: {
2525
+ type: "category",
2526
+ inverse: !0,
2527
+ data: u.value.map((T) => T.name),
2528
+ axisLabel: { fontSize: 10, width: 180, overflow: "truncate" }
2529
+ },
2530
+ dataZoom: d ? [
2531
+ { type: "inside", xAxisIndex: 0 },
2532
+ {
2533
+ type: "slider",
2534
+ xAxisIndex: 0,
2535
+ height: 16,
2536
+ bottom: 8,
2537
+ labelFormatter: b
2538
+ }
2539
+ ] : void 0,
2540
+ series: [...y, V]
2541
+ };
2542
+ });
2543
+ function g(_) {
2544
+ var y;
2545
+ const S = _;
2546
+ if (!W(S.data)) return;
2547
+ const b = (y = u.value[S.data.rowIndex]) == null ? void 0 : y.click;
2548
+ b && l("row-click", b);
2549
+ }
2550
+ function D() {
2551
+ s.data !== void 0 ? M(s.data) : x();
2552
+ }
2553
+ return e({ refresh: D }), (_, S) => (Ne(), vt(Ma, {
2554
+ loading: !u.value.length && w.value,
2555
+ error: A.value
2556
+ }, {
2557
+ skeleton: pt(() => [
2558
+ ue("div", {
2559
+ class: "reportifact-chart-skeleton",
2560
+ style: gt({ "--reportifact-chart-height": P.value })
2561
+ }, [...S[0] || (S[0] = [
2562
+ ue("div", {
2563
+ class: "reportifact-skeleton-line",
2564
+ style: { width: "200px", height: "24px", "margin-bottom": "16px" }
2565
+ }, null, -1),
2566
+ ue("div", { class: "reportifact-skeleton-line reportifact-chart-skeleton-body" }, null, -1)
2567
+ ])], 4)
2568
+ ]),
2569
+ default: pt(() => [
2570
+ ue("div", {
2571
+ class: "reportifact-timeline-container",
2572
+ style: gt({ "--reportifact-chart-height": P.value })
2573
+ }, [
2574
+ ue("div", Un, [
2575
+ (Ne(), xr(_r, null, Sr(o, (b) => ue("button", {
2576
+ key: b.value,
2577
+ type: "button",
2578
+ class: wr(["reportifact-timeline-mode", { "is-active": c.value === b.value }]),
2579
+ onClick: (y) => c.value = b.value
2580
+ }, Mr(b.label), 11, Kn)), 64))
2581
+ ]),
2582
+ m.value ? (Ne(), vt(br(pa), {
2583
+ key: 0,
2584
+ option: m.value,
2585
+ theme: i.value ? "dark" : void 0,
2586
+ autoresize: !0,
2587
+ class: "reportifact-chart",
2588
+ onClick: g
2589
+ }, null, 8, ["option", "theme"])) : yr("", !0)
2590
+ ], 4)
2591
+ ]),
2592
+ _: 1
2593
+ }, 8, ["loading", "error"]));
2594
+ }
2595
+ });
2596
+ export {
2597
+ to as _
2598
+ };