st-comp 0.0.122 → 0.0.124

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 (92) hide show
  1. package/es/ChartLayout.js +2 -2
  2. package/es/Dialog.cjs +1 -1
  3. package/es/Dialog.js +14 -13
  4. package/es/FactorWarning.cjs +1 -1
  5. package/es/FactorWarning.js +26 -25
  6. package/es/Kline.cjs +1 -1
  7. package/es/Kline.js +849 -1605
  8. package/es/KlineBasic.cjs +6 -0
  9. package/es/KlineBasic.js +2888 -0
  10. package/es/KlineNew.cjs +1 -1
  11. package/es/KlineNew.js +12 -12
  12. package/es/Pagination.cjs +1 -1
  13. package/es/Pagination.js +18 -17
  14. package/es/Pie.cjs +1 -1
  15. package/es/Pie.js +1 -1
  16. package/es/Table.cjs +1 -1
  17. package/es/Table.js +18 -17
  18. package/es/User.cjs +1 -1
  19. package/es/User.js +75 -74
  20. package/es/VarietySearch.cjs +1 -1
  21. package/es/VarietySearch.js +903 -1253
  22. package/es/VirtualTable.cjs +1 -1
  23. package/es/VirtualTable.js +13 -12
  24. package/es/{base-f7877059.js → base-a8f938bd.js} +6 -6
  25. package/es/{castArray-18f43497.js → castArray-5c01dae1.js} +1 -1
  26. package/es/config-provider-4954003d.cjs +1 -0
  27. package/es/{config-provider-6479d795.js → config-provider-d3edea8a.js} +3 -3
  28. package/es/{debounce-2336e546.js → debounce-edbff018.js} +10 -10
  29. package/es/{dropdown-46daf582.js → dropdown-7e381525.js} +4 -4
  30. package/es/el-button-c7b375c4.cjs +1 -0
  31. package/es/{el-button-802f579a.js → el-button-ce99c64e.js} +6 -5
  32. package/es/{el-empty-3c5ec277.js → el-empty-ed6c115b.js} +1 -1
  33. package/es/{el-form-item-84099d46.js → el-form-item-b686a8bb.js} +9 -9
  34. package/es/{el-form-item-c39f717e.cjs → el-form-item-ff0d8d07.cjs} +1 -1
  35. package/es/{el-input-fac5b401.js → el-input-21e079e4.js} +5 -5
  36. package/es/el-menu-item-9369a2ad.js +771 -0
  37. package/es/el-menu-item-dc904a35.cjs +1 -0
  38. package/es/el-message-e97bdea1.cjs +1 -0
  39. package/es/el-message-fd827012.js +374 -0
  40. package/es/el-overlay-7b90d61c.cjs +1 -0
  41. package/es/{el-overlay-69e9ae49.js → el-overlay-9245ec1e.js} +77 -76
  42. package/es/{el-popover-694ded47.js → el-popover-6f075cee.js} +4 -4
  43. package/es/{el-popover-8735b1fa.cjs → el-popover-6f48d00b.cjs} +1 -1
  44. package/es/{el-popper-6126b1f6.js → el-popper-8dca8dd4.js} +4 -4
  45. package/es/{el-scrollbar-e0493906.js → el-scrollbar-906103f8.js} +1 -1
  46. package/es/{el-select-513126a5.js → el-select-6d6093eb.js} +10 -10
  47. package/es/el-table-column-26e7f13f.cjs +14 -0
  48. package/es/{el-table-column-3c920bdd.js → el-table-column-3f388c44.js} +15 -14
  49. package/es/{el-tag-5becabc9.js → el-tag-cdf0019e.js} +19 -19
  50. package/es/{index-7e40be25.js → index-53bce290.js} +3 -3
  51. package/es/index-669a0983.js +14 -0
  52. package/es/{index-048dca7e.js → index-6ced00c4.js} +1 -1
  53. package/es/index-c4649a37.cjs +3 -0
  54. package/es/{index-dc273ea2.cjs → index-d1b7c61e.cjs} +39 -39
  55. package/es/{index-57f8f7b9.js → index-f8e448bc.js} +5893 -5856
  56. package/es/{raf-07da7cdf.js → raf-b584bce8.js} +1 -1
  57. package/es/{refs-1b1fe6ca.js → refs-e1675167.js} +1 -1
  58. package/es/{scroll-3b521d81.js → scroll-25ec9230.js} +1 -1
  59. package/es/style.css +1 -1
  60. package/es/{use-form-common-props-f3a520d0.js → use-form-common-props-f7d2e83c.js} +18 -18
  61. package/es/use-global-config-8429db7d.js +72 -0
  62. package/es/{index-8a0b1c53.cjs → use-global-config-ac2dad80.cjs} +1 -3
  63. package/es/{vnode-25d7c2f5.js → vnode-699e61cb.js} +1 -1
  64. package/es/{zh-cn-74781bbd.js → zh-cn-61ca7f91.js} +2 -2
  65. package/es/{zh-cn-ab9a583d.cjs → zh-cn-a20960b5.cjs} +1 -1
  66. package/lib/bundle.js +1 -1
  67. package/lib/bundle.umd.cjs +213 -208
  68. package/lib/{index-62c62885.js → index-741ecbcc.js} +38391 -35484
  69. package/lib/{python-6cdad7a6.js → python-5a672b35.js} +1 -1
  70. package/lib/style.css +1 -1
  71. package/package.json +2 -2
  72. package/packages/KlineBasic/api.js +60 -0
  73. package/packages/KlineBasic/components/Contextmenu/index.vue +105 -0
  74. package/packages/KlineBasic/components/KlineSub/index.vue +297 -0
  75. package/packages/KlineBasic/components/KlineTips/index.vue +66 -0
  76. package/packages/KlineBasic/components/Tips/index.vue +33 -0
  77. package/packages/KlineBasic/index.ts +8 -0
  78. package/packages/KlineBasic/index.vue +565 -0
  79. package/packages/KlineBasic/utils.js +86 -0
  80. package/packages/VarietySearch/components/FactorScreen/index.vue +7 -7
  81. package/packages/index.ts +2 -0
  82. package/src/main.ts +2 -0
  83. package/src/pages/KlineBasic/api.js +45 -0
  84. package/src/pages/KlineBasic/index.vue +74 -0
  85. package/src/pages/KlineBasic/indicator.js +114 -0
  86. package/src/pages/VarietySearch/index.vue +3 -2
  87. package/src/router/routes.ts +5 -0
  88. package/es/config-provider-7cdfca4d.cjs +0 -1
  89. package/es/el-button-196807af.cjs +0 -1
  90. package/es/el-overlay-891dcc40.cjs +0 -1
  91. package/es/el-table-column-dd8b62aa.cjs +0 -14
  92. package/es/index-35117549.js +0 -81
package/es/Kline.js CHANGED
@@ -1,782 +1,26 @@
1
- import { u as q, _ as Ie, w as Je, n as Ne, r as Le, o as dt, b as Ee, t as je, i as ie, p as $e, d as ge, g as Nt, q as Ve, s as Xe, v as Se } from "./base-f7877059.js";
1
+ import "./base-a8f938bd.js";
2
+ import { E as he, a as Ce } from "./el-menu-item-9369a2ad.js";
2
3
  import "./el-tooltip-4ed993c7.js";
3
- import { E as qe } from "./el-popper-6126b1f6.js";
4
- import { defineComponent as H, openBlock as E, createBlock as ce, Transition as Ke, mergeProps as et, unref as zt, toHandlers as yt, withCtx as ee, renderSlot as X, computed as w, getCurrentInstance as _e, inject as pe, ref as k, reactive as Fe, watch as J, provide as Oe, onMounted as se, onBeforeUnmount as tt, h as U, Fragment as ne, withDirectives as nt, vShow as jt, watchEffect as gt, nextTick as Qe, toRef as pt, resolveComponent as ft, createElementBlock as Q, normalizeClass as Me, createElementVNode as te, createTextVNode as ot, toDisplayString as le, renderList as me, normalizeStyle as Pe, createCommentVNode as at, onUnmounted as Be, createVNode as K } from "vue";
5
- import * as fe from "echarts";
6
- import { _ as oe } from "./_plugin-vue_export-helper-dad06003.js";
7
- import { x as De } from "./index-57f8f7b9.js";
8
- import { i as Tt, t as It } from "./index.esm-8d9a2abe.js";
9
- import { a as mt } from "./el-scrollbar-e0493906.js";
10
- import { g as Dt, h as Lt, E as it, j as ue, m as vt } from "./use-form-common-props-f3a520d0.js";
11
- import { E as G, t as ye } from "./index-048dca7e.js";
12
- import { T as ht } from "./index-657047bb.js";
13
- import { C as xt } from "./el-tag-5becabc9.js";
14
- import { m as Yt } from "./typescript-7ae59c4c.js";
15
- import { f as At } from "./vnode-25d7c2f5.js";
16
- import { E as Ct, a as bt } from "./el-select-513126a5.js";
17
- import "./index-7e40be25.js";
18
- import "./castArray-18f43497.js";
4
+ import "./el-popper-8dca8dd4.js";
5
+ import { defineComponent as Me, openBlock as C, createElementBlock as v, createElementVNode as K, Fragment as ae, renderList as le, normalizeStyle as ye, toDisplayString as q, ref as S, renderSlot as De, createCommentVNode as xe, nextTick as Ye, computed as W, watch as H, onMounted as de, onUnmounted as ge, createVNode as V, withCtx as X, createBlock as Ae, createTextVNode as Oe, normalizeClass as ke } from "vue";
6
+ import * as oe from "echarts";
7
+ import { _ as $ } from "./_plugin-vue_export-helper-dad06003.js";
8
+ import { x as re } from "./index-f8e448bc.js";
9
+ import { i as ve, t as be } from "./index.esm-8d9a2abe.js";
10
+ import "./el-tag-cdf0019e.js";
11
+ import { E as Ee, a as Se } from "./el-select-6d6093eb.js";
12
+ import "./el-scrollbar-906103f8.js";
13
+ import "./use-form-common-props-f7d2e83c.js";
14
+ import "./index-6ced00c4.js";
15
+ import "./index-657047bb.js";
16
+ import "./typescript-7ae59c4c.js";
17
+ import "./vnode-699e61cb.js";
18
+ import "./index-53bce290.js";
19
+ import "./castArray-5c01dae1.js";
19
20
  import "./event-09e37cc8.js";
20
- import "./scroll-3b521d81.js";
21
- import "./debounce-2336e546.js";
22
- const wt = H({
23
- name: "ElCollapseTransition"
24
- }), Ot = /* @__PURE__ */ H({
25
- ...wt,
26
- setup(e) {
27
- const n = q("collapse-transition"), o = (t) => {
28
- t.style.maxHeight = "", t.style.overflow = t.dataset.oldOverflow, t.style.paddingTop = t.dataset.oldPaddingTop, t.style.paddingBottom = t.dataset.oldPaddingBottom;
29
- }, a = {
30
- beforeEnter(t) {
31
- t.dataset || (t.dataset = {}), t.dataset.oldPaddingTop = t.style.paddingTop, t.dataset.oldPaddingBottom = t.style.paddingBottom, t.style.height && (t.dataset.elExistsHeight = t.style.height), t.style.maxHeight = 0, t.style.paddingTop = 0, t.style.paddingBottom = 0;
32
- },
33
- enter(t) {
34
- requestAnimationFrame(() => {
35
- t.dataset.oldOverflow = t.style.overflow, t.dataset.elExistsHeight ? t.style.maxHeight = t.dataset.elExistsHeight : t.scrollHeight !== 0 ? t.style.maxHeight = `${t.scrollHeight}px` : t.style.maxHeight = 0, t.style.paddingTop = t.dataset.oldPaddingTop, t.style.paddingBottom = t.dataset.oldPaddingBottom, t.style.overflow = "hidden";
36
- });
37
- },
38
- afterEnter(t) {
39
- t.style.maxHeight = "", t.style.overflow = t.dataset.oldOverflow;
40
- },
41
- enterCancelled(t) {
42
- o(t);
43
- },
44
- beforeLeave(t) {
45
- t.dataset || (t.dataset = {}), t.dataset.oldPaddingTop = t.style.paddingTop, t.dataset.oldPaddingBottom = t.style.paddingBottom, t.dataset.oldOverflow = t.style.overflow, t.style.maxHeight = `${t.scrollHeight}px`, t.style.overflow = "hidden";
46
- },
47
- leave(t) {
48
- t.scrollHeight !== 0 && (t.style.maxHeight = 0, t.style.paddingTop = 0, t.style.paddingBottom = 0);
49
- },
50
- afterLeave(t) {
51
- o(t);
52
- },
53
- leaveCancelled(t) {
54
- o(t);
55
- }
56
- };
57
- return (t, l) => (E(), ce(Ke, et({
58
- name: zt(n).b()
59
- }, yt(a)), {
60
- default: ee(() => [
61
- X(t.$slots, "default")
62
- ]),
63
- _: 3
64
- }, 16, ["name"]));
65
- }
66
- });
67
- var kt = /* @__PURE__ */ Ie(Ot, [["__file", "collapse-transition.vue"]]);
68
- const Et = Je(kt);
69
- let St = class {
70
- constructor(n, o) {
71
- this.parent = n, this.domNode = o, this.subIndex = 0, this.subIndex = 0, this.init();
72
- }
73
- init() {
74
- this.subMenuItems = this.domNode.querySelectorAll("li"), this.addListeners();
75
- }
76
- gotoSubIndex(n) {
77
- n === this.subMenuItems.length ? n = 0 : n < 0 && (n = this.subMenuItems.length - 1), this.subMenuItems[n].focus(), this.subIndex = n;
78
- }
79
- addListeners() {
80
- const n = this.parent.domNode;
81
- Array.prototype.forEach.call(this.subMenuItems, (o) => {
82
- o.addEventListener("keydown", (a) => {
83
- let t = !1;
84
- switch (a.code) {
85
- case G.down: {
86
- this.gotoSubIndex(this.subIndex + 1), t = !0;
87
- break;
88
- }
89
- case G.up: {
90
- this.gotoSubIndex(this.subIndex - 1), t = !0;
91
- break;
92
- }
93
- case G.tab: {
94
- ye(n, "mouseleave");
95
- break;
96
- }
97
- case G.enter:
98
- case G.numpadEnter:
99
- case G.space: {
100
- t = !0, a.currentTarget.click();
101
- break;
102
- }
103
- }
104
- return t && (a.preventDefault(), a.stopPropagation()), !1;
105
- });
106
- });
107
- }
108
- }, _t = class {
109
- constructor(n, o) {
110
- this.domNode = n, this.submenu = null, this.submenu = null, this.init(o);
111
- }
112
- init(n) {
113
- this.domNode.setAttribute("tabindex", "0");
114
- const o = this.domNode.querySelector(`.${n}-menu`);
115
- o && (this.submenu = new St(this, o)), this.addListeners();
116
- }
117
- addListeners() {
118
- this.domNode.addEventListener("keydown", (n) => {
119
- let o = !1;
120
- switch (n.code) {
121
- case G.down: {
122
- ye(n.currentTarget, "mouseenter"), this.submenu && this.submenu.gotoSubIndex(0), o = !0;
123
- break;
124
- }
125
- case G.up: {
126
- ye(n.currentTarget, "mouseenter"), this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1), o = !0;
127
- break;
128
- }
129
- case G.tab: {
130
- ye(n.currentTarget, "mouseleave");
131
- break;
132
- }
133
- case G.enter:
134
- case G.numpadEnter:
135
- case G.space: {
136
- o = !0, n.currentTarget.click();
137
- break;
138
- }
139
- }
140
- o && n.preventDefault();
141
- });
142
- }
143
- }, Ft = class {
144
- constructor(n, o) {
145
- this.domNode = n, this.init(o);
146
- }
147
- init(n) {
148
- const o = this.domNode.childNodes;
149
- Array.from(o).forEach((a) => {
150
- a.nodeType === 1 && new _t(a, n);
151
- });
152
- }
153
- };
154
- const Qt = H({
155
- name: "ElMenuCollapseTransition",
156
- setup() {
157
- const e = q("menu");
158
- return {
159
- listeners: {
160
- onBeforeEnter: (o) => o.style.opacity = "0.2",
161
- onEnter(o, a) {
162
- Ne(o, `${e.namespace.value}-opacity-transition`), o.style.opacity = "1", a();
163
- },
164
- onAfterEnter(o) {
165
- Le(o, `${e.namespace.value}-opacity-transition`), o.style.opacity = "";
166
- },
167
- onBeforeLeave(o) {
168
- o.dataset || (o.dataset = {}), dt(o, e.m("collapse")) ? (Le(o, e.m("collapse")), o.dataset.oldOverflow = o.style.overflow, o.dataset.scrollWidth = o.clientWidth.toString(), Ne(o, e.m("collapse"))) : (Ne(o, e.m("collapse")), o.dataset.oldOverflow = o.style.overflow, o.dataset.scrollWidth = o.clientWidth.toString(), Le(o, e.m("collapse"))), o.style.width = `${o.scrollWidth}px`, o.style.overflow = "hidden";
169
- },
170
- onLeave(o) {
171
- Ne(o, "horizontal-collapse-transition"), o.style.width = `${o.dataset.scrollWidth}px`;
172
- }
173
- }
174
- };
175
- }
176
- });
177
- function Pt(e, n, o, a, t, l) {
178
- return E(), ce(Ke, et({ mode: "out-in" }, e.listeners), {
179
- default: ee(() => [
180
- X(e.$slots, "default")
181
- ]),
182
- _: 3
183
- }, 16);
184
- }
185
- var Bt = /* @__PURE__ */ Ie(Qt, [["render", Pt], ["__file", "menu-collapse-transition.vue"]]);
186
- function lt(e, n) {
187
- const o = w(() => {
188
- let t = e.parent;
189
- const l = [n.value];
190
- for (; t.type.name !== "ElMenu"; )
191
- t.props.index && l.unshift(t.props.index), t = t.parent;
192
- return l;
193
- });
194
- return {
195
- parentMenu: w(() => {
196
- let t = e.parent;
197
- for (; t && !["ElMenu", "ElSubMenu"].includes(t.type.name); )
198
- t = t.parent;
199
- return t;
200
- }),
201
- indexPath: o
202
- };
203
- }
204
- function Rt(e) {
205
- return w(() => {
206
- const o = e.backgroundColor;
207
- return o ? new ht(o).shade(20).toString() : "";
208
- });
209
- }
210
- const st = (e, n) => {
211
- const o = q("menu");
212
- return w(() => o.cssVarBlock({
213
- "text-color": e.textColor || "",
214
- "hover-text-color": e.textColor || "",
215
- "bg-color": e.backgroundColor || "",
216
- "hover-bg-color": Rt(e).value || "",
217
- "active-color": e.activeTextColor || "",
218
- level: `${n}`
219
- }));
220
- }, Ut = Ee({
221
- index: {
222
- type: String,
223
- required: !0
224
- },
225
- showTimeout: Number,
226
- hideTimeout: Number,
227
- popperClass: String,
228
- disabled: Boolean,
229
- teleported: {
230
- type: Boolean,
231
- default: void 0
232
- },
233
- popperOffset: Number,
234
- expandCloseIcon: {
235
- type: ue
236
- },
237
- expandOpenIcon: {
238
- type: ue
239
- },
240
- collapseCloseIcon: {
241
- type: ue
242
- },
243
- collapseOpenIcon: {
244
- type: ue
245
- }
246
- }), ve = "ElSubMenu";
247
- var Re = H({
248
- name: ve,
249
- props: Ut,
250
- setup(e, { slots: n, expose: o }) {
251
- const a = _e(), { indexPath: t, parentMenu: l } = lt(a, w(() => e.index)), M = q("menu"), u = q("sub-menu"), i = pe("rootMenu");
252
- i || je(ve, "can not inject root menu");
253
- const s = pe(`subMenu:${l.value.uid}`);
254
- s || je(ve, "can not inject sub menu");
255
- const c = k({}), p = k({});
256
- let d;
257
- const y = k(!1), m = k(), N = k(null), v = w(() => x.value === "horizontal" && b.value ? "bottom-start" : "right-start"), C = w(() => x.value === "horizontal" && b.value || x.value === "vertical" && !i.props.collapse ? e.expandCloseIcon && e.expandOpenIcon ? T.value ? e.expandOpenIcon : e.expandCloseIcon : Dt : e.collapseCloseIcon && e.collapseOpenIcon ? T.value ? e.collapseOpenIcon : e.collapseCloseIcon : Lt), b = w(() => s.level === 0), F = w(() => {
258
- const D = e.teleported;
259
- return D === void 0 ? b.value : D;
260
- }), g = w(() => i.props.collapse ? `${M.namespace.value}-zoom-in-left` : `${M.namespace.value}-zoom-in-top`), f = w(() => x.value === "horizontal" && b.value ? [
261
- "bottom-start",
262
- "bottom-end",
263
- "top-start",
264
- "top-end",
265
- "right-start",
266
- "left-start"
267
- ] : [
268
- "right-start",
269
- "right",
270
- "right-end",
271
- "left-start",
272
- "bottom-start",
273
- "bottom-end",
274
- "top-start",
275
- "top-end"
276
- ]), T = w(() => i.openedMenus.includes(e.index)), h = w(() => {
277
- let D = !1;
278
- return Object.values(c.value).forEach((A) => {
279
- A.active && (D = !0);
280
- }), Object.values(p.value).forEach((A) => {
281
- A.active && (D = !0);
282
- }), D;
283
- }), x = w(() => i.props.mode), S = Fe({
284
- index: e.index,
285
- indexPath: t,
286
- active: h
287
- }), P = st(i.props, s.level + 1), W = w(() => {
288
- var D;
289
- return (D = e.popperOffset) != null ? D : i.props.popperOffset;
290
- }), B = w(() => {
291
- var D;
292
- return (D = e.popperClass) != null ? D : i.props.popperClass;
293
- }), Z = w(() => {
294
- var D;
295
- return (D = e.showTimeout) != null ? D : i.props.showTimeout;
296
- }), I = w(() => {
297
- var D;
298
- return (D = e.hideTimeout) != null ? D : i.props.hideTimeout;
299
- }), j = () => {
300
- var D, A, O;
301
- return (O = (A = (D = N.value) == null ? void 0 : D.popperRef) == null ? void 0 : A.popperInstanceRef) == null ? void 0 : O.destroy();
302
- }, z = (D) => {
303
- D || j();
304
- }, r = () => {
305
- i.props.menuTrigger === "hover" && i.props.mode === "horizontal" || i.props.collapse && i.props.mode === "vertical" || e.disabled || i.handleSubMenuClick({
306
- index: e.index,
307
- indexPath: t.value,
308
- active: h.value
309
- });
310
- }, L = (D, A = Z.value) => {
311
- var O;
312
- if (D.type !== "focus") {
313
- if (i.props.menuTrigger === "click" && i.props.mode === "horizontal" || !i.props.collapse && i.props.mode === "vertical" || e.disabled) {
314
- s.mouseInChild.value = !0;
315
- return;
316
- }
317
- s.mouseInChild.value = !0, d == null || d(), { stop: d } = $e(() => {
318
- i.openMenu(e.index, t.value);
319
- }, A), F.value && ((O = l.value.vnode.el) == null || O.dispatchEvent(new MouseEvent("mouseenter")));
320
- }
321
- }, Y = (D = !1) => {
322
- var A;
323
- if (i.props.menuTrigger === "click" && i.props.mode === "horizontal" || !i.props.collapse && i.props.mode === "vertical") {
324
- s.mouseInChild.value = !1;
325
- return;
326
- }
327
- d == null || d(), s.mouseInChild.value = !1, { stop: d } = $e(() => !y.value && i.closeMenu(e.index, t.value), I.value), F.value && D && ((A = s.handleMouseleave) == null || A.call(s, !0));
328
- };
329
- J(() => i.props.collapse, (D) => z(!!D));
330
- {
331
- const D = (O) => {
332
- p.value[O.index] = O;
333
- }, A = (O) => {
334
- delete p.value[O.index];
335
- };
336
- Oe(`subMenu:${a.uid}`, {
337
- addSubMenu: D,
338
- removeSubMenu: A,
339
- handleMouseleave: Y,
340
- mouseInChild: y,
341
- level: s.level + 1
342
- });
343
- }
344
- return o({
345
- opened: T
346
- }), se(() => {
347
- i.addSubMenu(S), s.addSubMenu(S);
348
- }), tt(() => {
349
- s.removeSubMenu(S), i.removeSubMenu(S);
350
- }), () => {
351
- var D;
352
- const A = [
353
- (D = n.title) == null ? void 0 : D.call(n),
354
- U(it, {
355
- class: u.e("icon-arrow"),
356
- style: {
357
- transform: T.value ? e.expandCloseIcon && e.expandOpenIcon || e.collapseCloseIcon && e.collapseOpenIcon && i.props.collapse ? "none" : "rotateZ(180deg)" : "none"
358
- }
359
- }, {
360
- default: () => ie(C.value) ? U(a.appContext.components[C.value]) : U(C.value)
361
- })
362
- ], O = i.isMenuPopup ? U(qe, {
363
- ref: N,
364
- visible: T.value,
365
- effect: "light",
366
- pure: !0,
367
- offset: W.value,
368
- showArrow: !1,
369
- persistent: !0,
370
- popperClass: B.value,
371
- placement: v.value,
372
- teleported: F.value,
373
- fallbackPlacements: f.value,
374
- transition: g.value,
375
- gpuAcceleration: !1
376
- }, {
377
- content: () => {
378
- var _;
379
- return U("div", {
380
- class: [
381
- M.m(x.value),
382
- M.m("popup-container"),
383
- B.value
384
- ],
385
- onMouseenter: (V) => L(V, 100),
386
- onMouseleave: () => Y(!0),
387
- onFocus: (V) => L(V, 100)
388
- }, [
389
- U("ul", {
390
- class: [
391
- M.b(),
392
- M.m("popup"),
393
- M.m(`popup-${v.value}`)
394
- ],
395
- style: P.value
396
- }, [(_ = n.default) == null ? void 0 : _.call(n)])
397
- ]);
398
- },
399
- default: () => U("div", {
400
- class: u.e("title"),
401
- onClick: r
402
- }, A)
403
- }) : U(ne, {}, [
404
- U("div", {
405
- class: u.e("title"),
406
- ref: m,
407
- onClick: r
408
- }, A),
409
- U(Et, {}, {
410
- default: () => {
411
- var _;
412
- return nt(U("ul", {
413
- role: "menu",
414
- class: [M.b(), M.m("inline")],
415
- style: P.value
416
- }, [(_ = n.default) == null ? void 0 : _.call(n)]), [[jt, T.value]]);
417
- }
418
- })
419
- ]);
420
- return U("li", {
421
- class: [
422
- u.b(),
423
- u.is("active", h.value),
424
- u.is("opened", T.value),
425
- u.is("disabled", e.disabled)
426
- ],
427
- role: "menuitem",
428
- ariaHaspopup: !0,
429
- ariaExpanded: T.value,
430
- onMouseenter: L,
431
- onMouseleave: () => Y(),
432
- onFocus: L
433
- }, [O]);
434
- };
435
- }
436
- });
437
- const $t = Ee({
438
- mode: {
439
- type: String,
440
- values: ["horizontal", "vertical"],
441
- default: "vertical"
442
- },
443
- defaultActive: {
444
- type: String,
445
- default: ""
446
- },
447
- defaultOpeneds: {
448
- type: ge(Array),
449
- default: () => Yt([])
450
- },
451
- uniqueOpened: Boolean,
452
- router: Boolean,
453
- menuTrigger: {
454
- type: String,
455
- values: ["hover", "click"],
456
- default: "hover"
457
- },
458
- collapse: Boolean,
459
- backgroundColor: String,
460
- textColor: String,
461
- activeTextColor: String,
462
- closeOnClickOutside: Boolean,
463
- collapseTransition: {
464
- type: Boolean,
465
- default: !0
466
- },
467
- ellipsis: {
468
- type: Boolean,
469
- default: !0
470
- },
471
- popperOffset: {
472
- type: Number,
473
- default: 6
474
- },
475
- ellipsisIcon: {
476
- type: ue,
477
- default: () => vt
478
- },
479
- popperEffect: {
480
- type: ge(String),
481
- default: "dark"
482
- },
483
- popperClass: String,
484
- showTimeout: {
485
- type: Number,
486
- default: 300
487
- },
488
- hideTimeout: {
489
- type: Number,
490
- default: 300
491
- }
492
- }), he = (e) => Xe(e) && e.every((n) => ie(n)), Vt = {
493
- close: (e, n) => ie(e) && he(n),
494
- open: (e, n) => ie(e) && he(n),
495
- select: (e, n, o, a) => ie(e) && he(n) && Nt(o) && (a === void 0 || a instanceof Promise)
496
- };
497
- var Wt = H({
498
- name: "ElMenu",
499
- props: $t,
500
- emits: Vt,
501
- setup(e, { emit: n, slots: o, expose: a }) {
502
- const t = _e(), l = t.appContext.config.globalProperties.$router, M = k(), u = q("menu"), i = q("sub-menu"), s = k(-1), c = k(e.defaultOpeneds && !e.collapse ? e.defaultOpeneds.slice(0) : []), p = k(e.defaultActive), d = k({}), y = k({}), m = w(() => e.mode === "horizontal" || e.mode === "vertical" && e.collapse), N = () => {
503
- const j = p.value && d.value[p.value];
504
- if (!j || e.mode === "horizontal" || e.collapse)
505
- return;
506
- j.indexPath.forEach((r) => {
507
- const L = y.value[r];
508
- L && v(r, L.indexPath);
509
- });
510
- }, v = (j, z) => {
511
- c.value.includes(j) || (e.uniqueOpened && (c.value = c.value.filter((r) => z.includes(r))), c.value.push(j), n("open", j, z));
512
- }, C = (j) => {
513
- const z = c.value.indexOf(j);
514
- z !== -1 && c.value.splice(z, 1);
515
- }, b = (j, z) => {
516
- C(j), n("close", j, z);
517
- }, F = ({
518
- index: j,
519
- indexPath: z
520
- }) => {
521
- c.value.includes(j) ? b(j, z) : v(j, z);
522
- }, g = (j) => {
523
- (e.mode === "horizontal" || e.collapse) && (c.value = []);
524
- const { index: z, indexPath: r } = j;
525
- if (!(Ve(z) || Ve(r)))
526
- if (e.router && l) {
527
- const L = j.route || z, Y = l.push(L).then((D) => (D || (p.value = z), D));
528
- n("select", z, r, { index: z, indexPath: r, route: L }, Y);
529
- } else
530
- p.value = z, n("select", z, r, { index: z, indexPath: r });
531
- }, f = (j) => {
532
- const z = d.value, r = z[j] || p.value && z[p.value] || z[e.defaultActive];
533
- r ? p.value = r.index : p.value = j;
534
- }, T = (j) => {
535
- const z = getComputedStyle(j), r = Number.parseInt(z.marginLeft, 10), L = Number.parseInt(z.marginRight, 10);
536
- return j.offsetWidth + r + L || 0;
537
- }, h = () => {
538
- var j, z;
539
- if (!M.value)
540
- return -1;
541
- const r = Array.from((z = (j = M.value) == null ? void 0 : j.childNodes) != null ? z : []).filter((R) => R.nodeName !== "#text" || R.nodeValue), L = 64, Y = getComputedStyle(M.value), D = Number.parseInt(Y.paddingLeft, 10), A = Number.parseInt(Y.paddingRight, 10), O = M.value.clientWidth - D - A;
542
- let _ = 0, V = 0;
543
- return r.forEach((R, ae) => {
544
- R.nodeName !== "#comment" && (_ += T(R), _ <= O - L && (V = ae + 1));
545
- }), V === r.length ? -1 : V;
546
- }, x = (j) => y.value[j].indexPath, S = (j, z = 33.34) => {
547
- let r;
548
- return () => {
549
- r && clearTimeout(r), r = setTimeout(() => {
550
- j();
551
- }, z);
552
- };
553
- };
554
- let P = !0;
555
- const W = () => {
556
- if (s.value === h())
557
- return;
558
- const j = () => {
559
- s.value = -1, Qe(() => {
560
- s.value = h();
561
- });
562
- };
563
- P ? j() : S(j)(), P = !1;
564
- };
565
- J(() => e.defaultActive, (j) => {
566
- d.value[j] || (p.value = ""), f(j);
567
- }), J(() => e.collapse, (j) => {
568
- j && (c.value = []);
569
- }), J(d.value, N);
570
- let B;
571
- gt(() => {
572
- e.mode === "horizontal" && e.ellipsis ? B = mt(M, W).stop : B == null || B();
573
- });
574
- const Z = k(!1);
575
- {
576
- const j = (Y) => {
577
- y.value[Y.index] = Y;
578
- }, z = (Y) => {
579
- delete y.value[Y.index];
580
- };
581
- Oe("rootMenu", Fe({
582
- props: e,
583
- openedMenus: c,
584
- items: d,
585
- subMenus: y,
586
- activeIndex: p,
587
- isMenuPopup: m,
588
- addMenuItem: (Y) => {
589
- d.value[Y.index] = Y;
590
- },
591
- removeMenuItem: (Y) => {
592
- delete d.value[Y.index];
593
- },
594
- addSubMenu: j,
595
- removeSubMenu: z,
596
- openMenu: v,
597
- closeMenu: b,
598
- handleMenuItemClick: g,
599
- handleSubMenuClick: F
600
- })), Oe(`subMenu:${t.uid}`, {
601
- addSubMenu: j,
602
- removeSubMenu: z,
603
- mouseInChild: Z,
604
- level: 0
605
- });
606
- }
607
- se(() => {
608
- e.mode === "horizontal" && new Ft(t.vnode.el, u.namespace.value);
609
- }), a({
610
- open: (z) => {
611
- const { indexPath: r } = y.value[z];
612
- r.forEach((L) => v(L, r));
613
- },
614
- close: C,
615
- handleResize: W
616
- });
617
- const I = st(e, 0);
618
- return () => {
619
- var j, z;
620
- let r = (z = (j = o.default) == null ? void 0 : j.call(o)) != null ? z : [];
621
- const L = [];
622
- if (e.mode === "horizontal" && M.value) {
623
- const A = At(r), O = s.value === -1 ? A : A.slice(0, s.value), _ = s.value === -1 ? [] : A.slice(s.value);
624
- _ != null && _.length && e.ellipsis && (r = O, L.push(U(Re, {
625
- index: "sub-menu-more",
626
- class: i.e("hide-arrow"),
627
- popperOffset: e.popperOffset
628
- }, {
629
- title: () => U(it, {
630
- class: i.e("icon-more")
631
- }, {
632
- default: () => U(e.ellipsisIcon)
633
- }),
634
- default: () => _
635
- })));
636
- }
637
- const Y = e.closeOnClickOutside ? [
638
- [
639
- xt,
640
- () => {
641
- c.value.length && (Z.value || (c.value.forEach((A) => n("close", A, x(A))), c.value = []));
642
- }
643
- ]
644
- ] : [], D = nt(U("ul", {
645
- key: String(e.collapse),
646
- role: "menubar",
647
- ref: M,
648
- style: I.value,
649
- class: {
650
- [u.b()]: !0,
651
- [u.m(e.mode)]: !0,
652
- [u.m("collapse")]: e.collapse
653
- }
654
- }, [...r, ...L]), Y);
655
- return e.collapseTransition && e.mode === "vertical" ? U(Bt, () => D) : D;
656
- };
657
- }
658
- });
659
- const Zt = Ee({
660
- index: {
661
- type: ge([String, null]),
662
- default: null
663
- },
664
- route: {
665
- type: ge([String, Object])
666
- },
667
- disabled: Boolean
668
- }), Gt = {
669
- click: (e) => ie(e.index) && Xe(e.indexPath)
670
- }, xe = "ElMenuItem", Ht = H({
671
- name: xe,
672
- components: {
673
- ElTooltip: qe
674
- },
675
- props: Zt,
676
- emits: Gt,
677
- setup(e, { emit: n }) {
678
- const o = _e(), a = pe("rootMenu"), t = q("menu"), l = q("menu-item");
679
- a || je(xe, "can not inject root menu");
680
- const { parentMenu: M, indexPath: u } = lt(o, pt(e, "index")), i = pe(`subMenu:${M.value.uid}`);
681
- i || je(xe, "can not inject sub menu");
682
- const s = w(() => e.index === a.activeIndex), c = Fe({
683
- index: e.index,
684
- indexPath: u,
685
- active: s
686
- }), p = () => {
687
- e.disabled || (a.handleMenuItemClick({
688
- index: e.index,
689
- indexPath: u.value,
690
- route: e.route
691
- }), n("click", c));
692
- };
693
- return se(() => {
694
- i.addSubMenu(c), a.addMenuItem(c);
695
- }), tt(() => {
696
- i.removeSubMenu(c), a.removeMenuItem(c);
697
- }), {
698
- parentMenu: M,
699
- rootMenu: a,
700
- active: s,
701
- nsMenu: t,
702
- nsMenuItem: l,
703
- handleClick: p
704
- };
705
- }
706
- });
707
- function Jt(e, n, o, a, t, l) {
708
- const M = ft("el-tooltip");
709
- return E(), Q("li", {
710
- class: Me([
711
- e.nsMenuItem.b(),
712
- e.nsMenuItem.is("active", e.active),
713
- e.nsMenuItem.is("disabled", e.disabled)
714
- ]),
715
- role: "menuitem",
716
- tabindex: "-1",
717
- onClick: e.handleClick
718
- }, [
719
- e.parentMenu.type.name === "ElMenu" && e.rootMenu.props.collapse && e.$slots.title ? (E(), ce(M, {
720
- key: 0,
721
- effect: e.rootMenu.props.popperEffect,
722
- placement: "right",
723
- "fallback-placements": ["left"],
724
- persistent: ""
725
- }, {
726
- content: ee(() => [
727
- X(e.$slots, "title")
728
- ]),
729
- default: ee(() => [
730
- te("div", {
731
- class: Me(e.nsMenu.be("tooltip", "trigger"))
732
- }, [
733
- X(e.$slots, "default")
734
- ], 2)
735
- ]),
736
- _: 3
737
- }, 8, ["effect"])) : (E(), Q(ne, { key: 1 }, [
738
- X(e.$slots, "default"),
739
- X(e.$slots, "title")
740
- ], 64))
741
- ], 10, ["onClick"]);
742
- }
743
- var rt = /* @__PURE__ */ Ie(Ht, [["render", Jt], ["__file", "menu-item.vue"]]);
744
- const Xt = {
745
- title: String
746
- }, qt = "ElMenuItemGroup", Kt = H({
747
- name: qt,
748
- props: Xt,
749
- setup() {
750
- return {
751
- ns: q("menu-item-group")
752
- };
753
- }
754
- });
755
- function en(e, n, o, a, t, l) {
756
- return E(), Q("li", {
757
- class: Me(e.ns.b())
758
- }, [
759
- te("div", {
760
- class: Me(e.ns.e("title"))
761
- }, [
762
- e.$slots.title ? X(e.$slots, "title", { key: 1 }) : (E(), Q(ne, { key: 0 }, [
763
- ot(le(e.title), 1)
764
- ], 64))
765
- ], 2),
766
- te("ul", null, [
767
- X(e.$slots, "default")
768
- ])
769
- ], 2);
770
- }
771
- var ut = /* @__PURE__ */ Ie(Kt, [["render", en], ["__file", "menu-item-group.vue"]]);
772
- const tn = Je(Wt, {
773
- MenuItem: rt,
774
- MenuItemGroup: ut,
775
- SubMenu: Re
776
- }), nn = Se(rt);
777
- Se(ut);
778
- Se(Re);
779
- const on = { class: "st-kline-tips" }, an = { class: "st-kline-tips-row" }, ln = /* @__PURE__ */ H({
21
+ import "./scroll-25ec9230.js";
22
+ import "./debounce-edbff018.js";
23
+ const Fe = { class: "st-kline-tips" }, Qe = { class: "st-kline-tips-row" }, _e = /* @__PURE__ */ Me({
780
24
  __name: "index",
781
25
  props: {
782
26
  // 提示数据
@@ -785,120 +29,120 @@ const on = { class: "st-kline-tips" }, an = { class: "st-kline-tips-row" }, ln =
785
29
  default: () => []
786
30
  }
787
31
  },
788
- setup(e) {
789
- return (n, o) => (E(), Q("div", on, [
790
- te("div", an, [
791
- (E(!0), Q(ne, null, me(e.data, (a) => (E(), Q("div", {
32
+ setup(a) {
33
+ return (t, i) => (C(), v("div", Fe, [
34
+ K("div", Qe, [
35
+ (C(!0), v(ae, null, le(a.data, (e) => (C(), v("div", {
792
36
  class: "st-kline-tips-row-item",
793
- style: Pe({ color: a.color })
794
- }, le(a.label) + " " + le(a.value), 5))), 256))
37
+ style: ye({ color: e.color })
38
+ }, q(e.label) + " " + q(e.value), 5))), 256))
795
39
  ])
796
40
  ]));
797
41
  }
798
42
  });
799
- const Ye = /* @__PURE__ */ oe(ln, [["__scopeId", "data-v-78aed210"]]), sn = /* @__PURE__ */ H({
43
+ const se = /* @__PURE__ */ $(_e, [["__scopeId", "data-v-78aed210"]]), Ue = /* @__PURE__ */ Me({
800
44
  __name: "index",
801
45
  emits: ["closeContextMenuCallBack"],
802
- setup(e, { emit: n }) {
803
- const o = n, a = k(), t = k(), l = k({
46
+ setup(a, { emit: t }) {
47
+ const i = t, e = S(), n = S(), o = S({
804
48
  display: "none",
805
49
  top: "0px",
806
50
  left: "0px"
807
- }), M = () => {
808
- l.value.display = "none", o("closeContextMenuCallBack"), document.removeEventListener("click", M);
809
- }, u = (i) => {
810
- if (i.preventDefault(), i.stopPropagation(), l.value.display === "block") {
811
- const { offsetX: s, offsetY: c } = i, { offsetWidth: p, offsetHeight: d } = t.value;
812
- if (s <= p && c <= d)
51
+ }), z = () => {
52
+ o.value.display = "none", i("closeContextMenuCallBack"), document.removeEventListener("click", z);
53
+ }, s = (l) => {
54
+ if (l.preventDefault(), l.stopPropagation(), o.value.display === "block") {
55
+ const { offsetX: r, offsetY: j } = l, { offsetWidth: D, offsetHeight: c } = n.value;
56
+ if (r <= D && j <= c)
813
57
  return;
814
58
  }
815
- a.value.click(), l.value = {
59
+ e.value.click(), o.value = {
816
60
  display: "block",
817
- top: `${i.offsetY}px`,
818
- left: `${i.offsetX}px`
819
- }, Qe(() => {
820
- const { bottom: s, height: c, right: p, width: d } = t.value.getBoundingClientRect();
821
- s > window.innerHeight ? l.value = {
61
+ top: `${l.offsetY}px`,
62
+ left: `${l.offsetX}px`
63
+ }, Ye(() => {
64
+ const { bottom: r, height: j, right: D, width: c } = n.value.getBoundingClientRect();
65
+ r > window.innerHeight ? o.value = {
822
66
  display: "block",
823
- top: `${i.offsetY - c}px`,
824
- left: `${i.offsetX}px`
825
- } : p > window.innerWidth && (l.value = {
67
+ top: `${l.offsetY - j}px`,
68
+ left: `${l.offsetX}px`
69
+ } : D > window.innerWidth && (o.value = {
826
70
  display: "block",
827
- top: `${i.offsetY}px`,
828
- left: `${i.offsetX - d}px`
71
+ top: `${l.offsetY}px`,
72
+ left: `${l.offsetX - c}px`
829
73
  });
830
- }), document.addEventListener("click", M);
74
+ }), document.addEventListener("click", z);
831
75
  };
832
- return (i, s) => (E(), Q("div", {
76
+ return (l, r) => (C(), v("div", {
833
77
  ref_key: "contextmenuRef",
834
- ref: a,
78
+ ref: e,
835
79
  class: "contextmenu",
836
- onContextmenu: u,
837
- onMouseleave: M
80
+ onContextmenu: s,
81
+ onMouseleave: z
838
82
  }, [
839
- X(i.$slots, "default", {}, void 0, !0),
840
- l.value.display !== "none" ? (E(), Q("div", {
83
+ De(l.$slots, "default", {}, void 0, !0),
84
+ o.value.display !== "none" ? (C(), v("div", {
841
85
  key: 0,
842
86
  ref_key: "contextmenuContentRef",
843
- ref: t,
87
+ ref: n,
844
88
  class: "contextmenu-popover",
845
- style: Pe(l.value)
89
+ style: ye(o.value)
846
90
  }, [
847
- X(i.$slots, "popover", {}, void 0, !0)
848
- ], 4)) : at("", !0)
91
+ De(l.$slots, "popover", {}, void 0, !0)
92
+ ], 4)) : xe("", !0)
849
93
  ], 544));
850
94
  }
851
95
  });
852
- const rn = /* @__PURE__ */ oe(sn, [["__scopeId", "data-v-249fd104"]]);
853
- let We = !1, Ze = !0, Ge = [];
854
- const He = (e) => {
855
- const n = [], o = [], a = [], t = [], l = [], M = [];
856
- return e.forEach((u, i) => {
857
- n.push(u[0]), o.push(u[1]), a.push(u[4]), t.push(u[2]), l.push(u[3]), M.push([u[1], u[4], u[3], u[2], Number(u[6]), i === 0 ? u[4] : e[i - 1][4]]);
858
- }), { time: n, open: o, close: a, high: t, low: l, kLineData: M };
859
- }, un = async () => {
860
- if (!We)
861
- We = !0, await Tt("./talib.wasm"), Ze = !1, Ge.forEach((e) => {
862
- e();
96
+ const Re = /* @__PURE__ */ $(Ue, [["__scopeId", "data-v-249fd104"]]);
97
+ let Ie = !1, Le = !0, pe = [];
98
+ const fe = (a) => {
99
+ const t = [], i = [], e = [], n = [], o = [], z = [];
100
+ return a.forEach((s, l) => {
101
+ t.push(s[0]), i.push(s[1]), e.push(s[4]), n.push(s[2]), o.push(s[3]), z.push([s[1], s[4], s[3], s[2], Number(s[6]), l === 0 ? s[4] : a[l - 1][4]]);
102
+ }), { time: t, open: i, close: e, high: n, low: o, kLineData: z };
103
+ }, Be = async () => {
104
+ if (!Ie)
105
+ Ie = !0, await ve("./talib.wasm"), Le = !1, pe.forEach((a) => {
106
+ a();
863
107
  });
864
- else if (Ze)
865
- return new Promise((e) => {
866
- Ge.push(e);
108
+ else if (Le)
109
+ return new Promise((a) => {
110
+ pe.push(a);
867
111
  });
868
- }, ze = (e, n) => e.length > n ? e.slice(e.length - n) : e, Mn = (e, n, o) => e.calculationFn ? e.calculationFn(It, n, o) : new Array(n.time.length).fill(null), cn = async (e, n, o) => {
869
- const a = He(e);
870
- let t = [];
871
- return t = He(t), await un(), {
872
- originData: ze(e, o),
873
- kLine: ze(a.kLineData, o),
874
- time: ze(a.time, o),
875
- indicator: n.config.reduce((l, M) => (l.push({
876
- key: M.key,
877
- color: M.color,
878
- data: ze(Mn(M, a, t), o)
879
- }), l), [])
112
+ }, ne = (a, t) => a.length > t ? a.slice(a.length - t) : a, Ve = (a, t, i) => a.calculationFn ? a.calculationFn(be, t, i) : new Array(t.time.length).fill(null), Pe = async (a, t, i) => {
113
+ const e = fe(a);
114
+ let n = [];
115
+ return n = fe(n), await Be(), {
116
+ originData: ne(a, i),
117
+ kLine: ne(e.kLineData, i),
118
+ time: ne(e.time, i),
119
+ indicator: t.config.reduce((o, z) => (o.push({
120
+ key: z.key,
121
+ color: z.color,
122
+ data: ne(Ve(z, e, n), i)
123
+ }), o), [])
880
124
  };
881
- }, Ae = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Ce = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", be = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", re = (e, n) => {
882
- const { type: o = "log", color: a = "black" } = n ?? {};
883
- localStorage.getItem("st-kline-console-show") === "true" && console[o](`%c${e}`, `color:${a}`);
884
- }, $ = (e) => e || e === 0 ? Math.round(e * 1e3) / 1e3 : null, dn = (e) => e >= 1e12 ? `${(e / 1e12).toFixed(2)}万亿` : e >= 1e8 ? `${(e / 1e8).toFixed(2)}亿` : e >= 1e4 ? `${(e / 1e4).toFixed(2)}万` : e.toFixed(2), Nn = (e) => {
885
- const { y: n, text: o, info: a, gridLeft: t, gridRight: l, echartsWidth: M, echartsInstance: u } = e, { config: i, event: s } = a;
886
- let c = 0;
125
+ }, ce = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Ne = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", J = (a, t) => {
126
+ const { type: i = "log", color: e = "black" } = t ?? {};
127
+ localStorage.getItem("st-kline-console-show") === "true" && console[i](`%c${a}`, `color:${e}`);
128
+ }, h = (a) => a || a === 0 ? Math.round(a * 1e3) / 1e3 : null, We = (a) => a >= 1e12 ? `${(a / 1e12).toFixed(2)}万亿` : a >= 1e8 ? `${(a / 1e8).toFixed(2)}亿` : a >= 1e4 ? `${(a / 1e4).toFixed(2)}万` : a.toFixed(2), Ze = (a) => {
129
+ const { y: t, text: i, info: e, gridLeft: n, gridRight: o, echartsWidth: z, echartsInstance: s } = a, { config: l, event: r } = e;
130
+ let j = 0;
887
131
  return {
888
132
  type: "group",
889
- draggable: i.draggable ? "vertical" : !1,
133
+ draggable: l.draggable ? "vertical" : !1,
890
134
  children: [
891
135
  {
892
136
  type: "line",
893
- info: a,
137
+ info: e,
894
138
  shape: {
895
- x1: t,
896
- y1: n,
897
- x2: M - l,
898
- y2: n
139
+ x1: n,
140
+ y1: t,
141
+ x2: z - o,
142
+ y2: t
899
143
  },
900
144
  style: {
901
- stroke: i.lineColor,
145
+ stroke: l.lineColor,
902
146
  lineWidth: 1,
903
147
  lineDash: [8, 4]
904
148
  },
@@ -906,16 +150,16 @@ const He = (e) => {
906
150
  },
907
151
  {
908
152
  type: "group",
909
- x: M,
910
- y: n - 5,
153
+ x: z,
154
+ y: t - 5,
911
155
  children: [
912
156
  {
913
157
  type: "text",
914
- left: -1 * l,
915
- info: a,
158
+ left: -1 * o,
159
+ info: e,
916
160
  style: {
917
- fill: i.textColor,
918
- text: o,
161
+ fill: l.textColor,
162
+ text: i,
919
163
  stroke: "#000",
920
164
  lineWidth: 1,
921
165
  opacity: 1
@@ -926,70 +170,70 @@ const He = (e) => {
926
170
  }
927
171
  ],
928
172
  // 事件:鼠标滑入
929
- onmouseover: (p) => {
930
- s.onmouseover instanceof Function && s.onmouseover(p, a);
173
+ onmouseover: (D) => {
174
+ r.onmouseover instanceof Function && r.onmouseover(D, e);
931
175
  },
932
176
  // 事件:鼠标滑出
933
- onmouseout: (p) => {
934
- s.onmouseout instanceof Function && s.onmouseout(p, a);
177
+ onmouseout: (D) => {
178
+ r.onmouseout instanceof Function && r.onmouseout(D, e);
935
179
  },
936
180
  // 事件:开始拖拽
937
- ondragstart: (p) => {
938
- s.ondragstart instanceof Function && i.draggable && (c = p.offsetY, s.ondragstart(p, a));
181
+ ondragstart: (D) => {
182
+ r.ondragstart instanceof Function && l.draggable && (j = D.offsetY, r.ondragstart(D, e));
939
183
  },
940
184
  // 事件:结束拖拽
941
- ondragend: (p) => {
942
- if (s.ondragend instanceof Function && i.draggable) {
943
- const y = p.offsetY - c;
944
- if (y === 0)
185
+ ondragend: (D) => {
186
+ if (r.ondragend instanceof Function && l.draggable) {
187
+ const u = D.offsetY - j;
188
+ if (u === 0)
945
189
  return;
946
- const m = u.convertFromPixel({ yAxisIndex: 0 }, n + y);
947
- s.ondragend(p, a, m);
190
+ const I = s.convertFromPixel({ yAxisIndex: 0 }, t + u);
191
+ r.ondragend(D, e, I);
948
192
  }
949
193
  }
950
194
  };
951
- }, zn = (e) => {
952
- const { y: n, text: o, info: a, gridLeft: t, gridRight: l, echartsWidth: M, echartsInstance: u } = e, { config: i, event: s } = a;
953
- let c = 0;
954
- const p = (y) => {
955
- let m = null;
956
- y.target.type === "line" ? m = y.target.parent : y.target.type === "tspan" && (m = y.target.parent.parent.parent), m.children()[1].children()[0].animate("style", !1).when(200, { opacity: 1 }).start();
957
- }, d = (y) => {
958
- let m = null;
959
- y.target.type === "line" ? m = y.target.parent : y.target.type === "tspan" && (m = y.target.parent.parent.parent), m.children()[1].children()[0].animate("style", !1).when(200, { opacity: 0 }).start();
195
+ }, Ge = (a) => {
196
+ const { y: t, text: i, info: e, gridLeft: n, gridRight: o, echartsWidth: z, echartsInstance: s } = a, { config: l, event: r } = e;
197
+ let j = 0;
198
+ const D = (u) => {
199
+ let I = null;
200
+ u.target.type === "line" ? I = u.target.parent : u.target.type === "tspan" && (I = u.target.parent.parent.parent), I.children()[1].children()[0].animate("style", !1).when(200, { opacity: 1 }).start();
201
+ }, c = (u) => {
202
+ let I = null;
203
+ u.target.type === "line" ? I = u.target.parent : u.target.type === "tspan" && (I = u.target.parent.parent.parent), I.children()[1].children()[0].animate("style", !1).when(200, { opacity: 0 }).start();
960
204
  };
961
205
  return {
962
206
  type: "group",
963
- draggable: i.draggable ? "vertical" : !1,
207
+ draggable: l.draggable ? "vertical" : !1,
964
208
  // 是否支持拖拽
965
209
  children: [
966
210
  {
967
211
  type: "line",
968
- info: a,
212
+ info: e,
969
213
  shape: {
970
- x1: t,
971
- y1: n,
972
- x2: M - l,
973
- y2: n
214
+ x1: n,
215
+ y1: t,
216
+ x2: z - o,
217
+ y2: t
974
218
  },
975
219
  style: {
976
- stroke: i.lineColor,
220
+ stroke: l.lineColor,
977
221
  lineWidth: 1
978
222
  },
979
223
  z: 10
980
224
  },
981
225
  {
982
226
  type: "group",
983
- x: M / 2,
984
- y: n - 5,
227
+ x: z / 2,
228
+ y: t - 5,
985
229
  children: [
986
230
  {
987
231
  type: "text",
988
232
  left: "center",
989
- info: a,
233
+ info: e,
990
234
  style: {
991
- fill: i.textColor,
992
- text: o,
235
+ fill: l.textColor,
236
+ text: i,
993
237
  stroke: "#000",
994
238
  lineWidth: 1,
995
239
  opacity: 0
@@ -1001,62 +245,62 @@ const He = (e) => {
1001
245
  }
1002
246
  ],
1003
247
  // 事件:鼠标滑入
1004
- onmouseover: (y) => {
1005
- s.onmouseover instanceof Function ? s.onmouseover(y, a) : p(y);
248
+ onmouseover: (u) => {
249
+ r.onmouseover instanceof Function ? r.onmouseover(u, e) : D(u);
1006
250
  },
1007
251
  // 事件:鼠标滑出
1008
- onmouseout: (y) => {
1009
- s.onmouseout instanceof Function ? s.onmouseout(y, a) : d(y);
252
+ onmouseout: (u) => {
253
+ r.onmouseout instanceof Function ? r.onmouseout(u, e) : c(u);
1010
254
  },
1011
255
  // 事件:开始拖拽
1012
- ondragstart: (y) => {
1013
- s.ondragstart instanceof Function && i.draggable && (c = y.offsetY, s.ondragstart(y, a));
256
+ ondragstart: (u) => {
257
+ r.ondragstart instanceof Function && l.draggable && (j = u.offsetY, r.ondragstart(u, e));
1014
258
  },
1015
259
  // 事件:结束拖拽
1016
- ondragend: (y) => {
1017
- if (s.ondragend instanceof Function && i.draggable) {
1018
- const N = y.offsetY - c;
1019
- if (N === 0)
260
+ ondragend: (u) => {
261
+ if (r.ondragend instanceof Function && l.draggable) {
262
+ const M = u.offsetY - j;
263
+ if (M === 0)
1020
264
  return;
1021
- const v = u.convertFromPixel({ yAxisIndex: 0 }, n + N);
1022
- s.ondragend(y, a, v);
265
+ const p = s.convertFromPixel({ yAxisIndex: 0 }, t + M);
266
+ r.ondragend(u, e, p);
1023
267
  }
1024
268
  }
1025
269
  };
1026
- }, yn = (e) => {
1027
- const { y: n, text: o, profitY: a, profitText: t, lossY: l, lossText: M, info: u, gridLeft: i, gridRight: s, echartsWidth: c, echartsInstance: p } = e, { config: d, event: y } = u;
1028
- let m = 0, N = null, v = null;
1029
- const C = (g, f) => {
1030
- var T, h, x, S;
1031
- (T = g.children()[2]) == null || T.animate("style", !1).when(200, { opacity: ~~f }).start(), (h = g.children()[3].children()[0]) == null || h.animate("style", !1).when(200, { opacity: ~~f }).start(), (x = g.children()[4]) == null || x.animate("style", !1).when(200, { opacity: ~~f }).start(), (S = g.children()[5].children()[0]) == null || S.animate("style", !1).when(200, { opacity: ~~f }).start();
1032
- }, b = (g) => {
1033
- let f = null;
1034
- g.target.type === "line" ? f = g.target.parent : g.target.type === "tspan" && (f = g.target.parent.parent.parent), N = (T) => {
1035
- T.preventDefault(), (T.code === "AltLeft" || T.code === "AltRight") && C(f, !0);
1036
- }, v = (T) => {
1037
- (T.code === "AltLeft" || T.code === "AltRight") && C(f, !1);
1038
- }, window.addEventListener("keydown", N), window.addEventListener("keyup", v);
1039
- }, F = (g) => {
1040
- let f = null;
1041
- g.target.type === "line" ? f = g.target.parent : g.target.type === "tspan" && (f = g.target.parent.parent.parent), C(f, !1), window.removeEventListener("keydown", N), window.removeEventListener("keyup", v);
270
+ }, $e = (a) => {
271
+ const { y: t, text: i, profitY: e, profitText: n, lossY: o, lossText: z, info: s, gridLeft: l, gridRight: r, echartsWidth: j, echartsInstance: D } = a, { config: c, event: u } = s;
272
+ let I = 0, M = null, p = null;
273
+ const m = (N, d) => {
274
+ var T, x, A, k;
275
+ (T = N.children()[2]) == null || T.animate("style", !1).when(200, { opacity: ~~d }).start(), (x = N.children()[3].children()[0]) == null || x.animate("style", !1).when(200, { opacity: ~~d }).start(), (A = N.children()[4]) == null || A.animate("style", !1).when(200, { opacity: ~~d }).start(), (k = N.children()[5].children()[0]) == null || k.animate("style", !1).when(200, { opacity: ~~d }).start();
276
+ }, w = (N) => {
277
+ let d = null;
278
+ N.target.type === "line" ? d = N.target.parent : N.target.type === "tspan" && (d = N.target.parent.parent.parent), M = (T) => {
279
+ T.preventDefault(), (T.code === "AltLeft" || T.code === "AltRight") && m(d, !0);
280
+ }, p = (T) => {
281
+ (T.code === "AltLeft" || T.code === "AltRight") && m(d, !1);
282
+ }, window.addEventListener("keydown", M), window.addEventListener("keyup", p);
283
+ }, b = (N) => {
284
+ let d = null;
285
+ N.target.type === "line" ? d = N.target.parent : N.target.type === "tspan" && (d = N.target.parent.parent.parent), m(d, !1), window.removeEventListener("keydown", M), window.removeEventListener("keyup", p);
1042
286
  };
1043
287
  return {
1044
288
  type: "group",
1045
- draggable: d.draggable ? "vertical" : !1,
289
+ draggable: c.draggable ? "vertical" : !1,
1046
290
  // 是否支持拖拽
1047
291
  children: [
1048
292
  // 条件单-主线
1049
293
  {
1050
294
  type: "line",
1051
- info: u,
295
+ info: s,
1052
296
  shape: {
1053
- x1: i,
1054
- y1: n,
1055
- x2: c - s,
1056
- y2: n
297
+ x1: l,
298
+ y1: t,
299
+ x2: j - r,
300
+ y2: t
1057
301
  },
1058
302
  style: {
1059
- stroke: d.lineColor,
303
+ stroke: c.lineColor,
1060
304
  lineWidth: 1
1061
305
  },
1062
306
  z: 10
@@ -1064,17 +308,17 @@ const He = (e) => {
1064
308
  // 条件单-文本内容
1065
309
  {
1066
310
  type: "group",
1067
- x: c / 2,
1068
- y: n - 5,
311
+ x: j / 2,
312
+ y: t - 5,
1069
313
  children: [
1070
314
  {
1071
315
  type: "text",
1072
316
  left: "center",
1073
- info: u,
317
+ info: s,
1074
318
  style: {
1075
- fill: d.textColor,
319
+ fill: c.textColor,
1076
320
  // 填充色
1077
- text: o,
321
+ text: i,
1078
322
  stroke: "#000",
1079
323
  // 线条颜色
1080
324
  lineWidth: 1,
@@ -1088,15 +332,15 @@ const He = (e) => {
1088
332
  // 条件单-止盈线
1089
333
  {
1090
334
  type: "line",
1091
- info: u,
335
+ info: s,
1092
336
  shape: {
1093
- x1: i,
1094
- y1: a,
1095
- x2: c - s,
1096
- y2: a
337
+ x1: l,
338
+ y1: e,
339
+ x2: j - r,
340
+ y2: e
1097
341
  },
1098
342
  style: {
1099
- stroke: d.profitLineColor,
343
+ stroke: c.profitLineColor,
1100
344
  lineWidth: 1,
1101
345
  lineDash: [8, 4],
1102
346
  opacity: 0
@@ -1106,16 +350,16 @@ const He = (e) => {
1106
350
  // 条件单-止盈线文本内容
1107
351
  {
1108
352
  type: "group",
1109
- x: c / 2,
1110
- y: a - 5,
353
+ x: j / 2,
354
+ y: e - 5,
1111
355
  children: [
1112
356
  {
1113
357
  type: "text",
1114
358
  left: "center",
1115
- info: u,
359
+ info: s,
1116
360
  style: {
1117
- fill: d.profitTextColor,
1118
- text: t,
361
+ fill: c.profitTextColor,
362
+ text: n,
1119
363
  stroke: "#000",
1120
364
  lineWidth: 1,
1121
365
  opacity: 0
@@ -1127,15 +371,15 @@ const He = (e) => {
1127
371
  // 条件单-止损线
1128
372
  {
1129
373
  type: "line",
1130
- info: u,
374
+ info: s,
1131
375
  shape: {
1132
- x1: i,
1133
- y1: l,
1134
- x2: c - s,
1135
- y2: l
376
+ x1: l,
377
+ y1: o,
378
+ x2: j - r,
379
+ y2: o
1136
380
  },
1137
381
  style: {
1138
- stroke: d.lossLineColor,
382
+ stroke: c.lossLineColor,
1139
383
  lineWidth: 1,
1140
384
  lineDash: [8, 4],
1141
385
  opacity: 0
@@ -1145,16 +389,16 @@ const He = (e) => {
1145
389
  // 条件单-止损线文本内容
1146
390
  {
1147
391
  type: "group",
1148
- x: c / 2,
1149
- y: l - 5,
392
+ x: j / 2,
393
+ y: o - 5,
1150
394
  children: [
1151
395
  {
1152
396
  type: "text",
1153
397
  left: "center",
1154
- info: u,
398
+ info: s,
1155
399
  style: {
1156
- fill: d.lossTextColor,
1157
- text: M,
400
+ fill: c.lossTextColor,
401
+ text: z,
1158
402
  stroke: "#000",
1159
403
  lineWidth: 1,
1160
404
  opacity: 0
@@ -1165,205 +409,205 @@ const He = (e) => {
1165
409
  }
1166
410
  ],
1167
411
  // 事件:鼠标滑入
1168
- onmouseover: (g) => {
1169
- y.onmouseover instanceof Function ? y.onmouseover(g, u) : b(g);
412
+ onmouseover: (N) => {
413
+ u.onmouseover instanceof Function ? u.onmouseover(N, s) : w(N);
1170
414
  },
1171
415
  // 事件:鼠标滑出
1172
- onmouseout: (g) => {
1173
- y.onmouseout instanceof Function ? y.onmouseout(g, u) : F(g);
416
+ onmouseout: (N) => {
417
+ u.onmouseout instanceof Function ? u.onmouseout(N, s) : b(N);
1174
418
  },
1175
419
  // 事件:开始拖拽
1176
- ondragstart: (g) => {
1177
- y.ondragstart instanceof Function && d.draggable && (m = g.offsetY, y.ondragstart(g, u));
420
+ ondragstart: (N) => {
421
+ u.ondragstart instanceof Function && c.draggable && (I = N.offsetY, u.ondragstart(N, s));
1178
422
  },
1179
423
  // 事件:结束拖拽
1180
- ondragend: (g) => {
1181
- if (y.ondragend instanceof Function && d.draggable) {
1182
- const T = g.offsetY - m;
424
+ ondragend: (N) => {
425
+ if (u.ondragend instanceof Function && c.draggable) {
426
+ const T = N.offsetY - I;
1183
427
  if (T === 0)
1184
428
  return;
1185
- const h = p.convertFromPixel({ yAxisIndex: 0 }, n + T);
1186
- y.ondragend(g, u, h);
429
+ const x = D.convertFromPixel({ yAxisIndex: 0 }, t + T);
430
+ u.ondragend(N, s, x);
1187
431
  }
1188
432
  }
1189
433
  };
1190
- }, Te = (e, n) => {
1191
- const { direction: o = "", tradeAction: a = "", tradeType: t = "" } = e;
1192
- if (n === "sellBuy") {
1193
- const l = t ?? o + a;
434
+ }, ie = (a, t) => {
435
+ const { direction: i = "", tradeAction: e = "", tradeType: n = "" } = a;
436
+ if (t === "sellBuy") {
437
+ const o = n ?? i + e;
1194
438
  return (/* @__PURE__ */ new Map([
1195
439
  ["开多", "买"],
1196
440
  ["平多", "卖"],
1197
441
  ["开空", "卖"],
1198
442
  ["平空", "买"]
1199
- ])).get(l);
1200
- } else if (n === "openClose")
1201
- return t ?? o + a;
1202
- }, jn = (e, n) => e.reduce((o, a) => {
1203
- var c;
1204
- const t = Te(a, "sellBuy"), l = e.filter((p) => p.time === a.time);
1205
- let M = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ae, "./images/sell.svg": Ce, "./images/t.svg": be }))[`./images/${t === "买" ? "buy" : "sell"}.svg`], self.location).href;
1206
- l.length > 1 ? [...new Set(l.map((d) => Te(d, "sellBuy")))].length > 1 ? M = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : M = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ae, "./images/sell.svg": Ce, "./images/t.svg": be }))[`./images/${t === "买" ? "buy" : "sell"}.svg`], self.location).href : M = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ae, "./images/sell.svg": Ce, "./images/t.svg": be }))[`./images/${t === "买" ? "buy" : "sell"}.svg`], self.location).href;
1207
- const i = (n.find((p) => p[0] === a.time) ?? [])[2], s = ((c = a == null ? void 0 : a.markLineTarget) == null ? void 0 : c.map((p) => {
1208
- const d = a.time, y = i + "", m = p.time, N = n.find((C) => C[0] === p.time), v = N ? N[3] : null;
443
+ ])).get(o);
444
+ } else if (t === "openClose")
445
+ return n ?? i + e;
446
+ }, He = (a, t) => a.reduce((i, e) => {
447
+ var j;
448
+ const n = ie(e, "sellBuy"), o = a.filter((D) => D.time === e.time);
449
+ let z = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": ce, "./images/sell.svg": ue, "./images/t.svg": Ne }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
450
+ o.length > 1 ? [...new Set(o.map((c) => ie(c, "sellBuy")))].length > 1 ? z = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : z = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": ce, "./images/sell.svg": ue, "./images/t.svg": Ne }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href : z = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": ce, "./images/sell.svg": ue, "./images/t.svg": Ne }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
451
+ const l = (t.find((D) => D[0] === e.time) ?? [])[2], r = ((j = e == null ? void 0 : e.markLineTarget) == null ? void 0 : j.map((D) => {
452
+ const c = e.time, u = l + "", I = D.time, M = t.find((m) => m[0] === D.time), p = M ? M[3] : null;
1209
453
  return [
1210
454
  {
1211
- coord: [d, y],
1212
- lineStyle: p.lineStyle
455
+ coord: [c, u],
456
+ lineStyle: D.lineStyle
1213
457
  },
1214
458
  {
1215
- coord: [m, v]
459
+ coord: [I, p]
1216
460
  }
1217
461
  ];
1218
462
  })) ?? null;
1219
- return o.push({
1220
- symbol: M,
463
+ return i.push({
464
+ symbol: z,
1221
465
  // 图标
1222
466
  symbolSize: 25,
1223
467
  // 图标大小
1224
468
  animation: !1,
1225
469
  // 是否展示动画
1226
- coord: [a.time + "", i],
470
+ coord: [e.time + "", l],
1227
471
  // X轴[时间],Y轴[最高价]
1228
472
  symbolRotate: 0,
1229
473
  // 旋转角度
1230
474
  symbolOffset: [0, "-7"],
1231
475
  // 偏移距离
1232
- markLineTarget: s
1233
- }), o;
1234
- }, []), gn = (e, n) => e.reduce((o, a, t) => {
1235
- var p;
1236
- const l = Te(a, "openClose"), M = l === "开多" || l === "开空" ? "top" : "bottom", u = n.find((d) => d[0] === a.time) ?? [], i = M === "top" ? u[2] : u[3];
1237
- let s = 7;
1238
- s += e.slice(0, t).filter((d) => {
1239
- const y = Te(d, "openClose");
1240
- return (y === "开多" || y === "开空" ? "top" : "bottom") === M && d.time === a.time;
476
+ markLineTarget: r
477
+ }), i;
478
+ }, []), Je = (a, t) => a.reduce((i, e, n) => {
479
+ var D;
480
+ const o = ie(e, "openClose"), z = o === "开多" || o === "开空" ? "top" : "bottom", s = t.find((c) => c[0] === e.time) ?? [], l = z === "top" ? s[2] : s[3];
481
+ let r = 7;
482
+ r += a.slice(0, n).filter((c) => {
483
+ const u = ie(c, "openClose");
484
+ return (u === "开多" || u === "开空" ? "top" : "bottom") === z && c.time === e.time;
1241
485
  }).length * 7;
1242
- const c = ((p = a == null ? void 0 : a.markLineTarget) == null ? void 0 : p.map((d) => {
1243
- const y = a.time, m = i + "", N = d.time, v = n.find((C) => C[0] === d.time)[3];
486
+ const j = ((D = e == null ? void 0 : e.markLineTarget) == null ? void 0 : D.map((c) => {
487
+ const u = e.time, I = l + "", M = c.time, p = t.find((m) => m[0] === c.time)[3];
1244
488
  return [
1245
489
  {
1246
- coord: [y, m],
1247
- lineStyle: d.lineStyle
490
+ coord: [u, I],
491
+ lineStyle: c.lineStyle
1248
492
  },
1249
493
  {
1250
- coord: [N, v]
494
+ coord: [M, p]
1251
495
  }
1252
496
  ];
1253
497
  })) ?? null;
1254
- return o.push({
498
+ return i.push({
1255
499
  symbol: "triangle",
1256
500
  // 图标
1257
501
  symbolSize: [10, 12],
1258
502
  // 图标大小
1259
503
  animation: !1,
1260
504
  // 是否展示动画
1261
- coord: [a.time + "", i],
505
+ coord: [e.time + "", l],
1262
506
  // X轴[时间],Y轴[最高价||最低价]
1263
- symbolRotate: M === "top" ? 180 : 0,
507
+ symbolRotate: z === "top" ? 180 : 0,
1264
508
  //标注旋转角度
1265
- symbolOffset: [0, `${M === "top" ? s * -1 : s}`],
509
+ symbolOffset: [0, `${z === "top" ? r * -1 : r}`],
1266
510
  //标注偏移距离
1267
- itemStyle: { color: M === "top" ? "#FF0000" : "#389e0d" },
511
+ itemStyle: { color: z === "top" ? "#FF0000" : "#389e0d" },
1268
512
  // 图标颜色
1269
513
  // 文本
1270
514
  label: {
1271
515
  show: !0,
1272
516
  // 是否展示
1273
- position: M,
517
+ position: z,
1274
518
  color: "#fff",
1275
- formatter: `${l} ${M === "top" ? "+" : "-"} ${a.amount}手 ${a.part ? `(${a.part}份)` : ""}`
519
+ formatter: `${o} ${z === "top" ? "+" : "-"} ${e.amount}手 ${e.part ? `(${e.part}份)` : ""}`
1276
520
  },
1277
- markLineTarget: c
1278
- }), o;
1279
- }, []), pn = (e, n) => e.reduce((o, a) => {
1280
- const { key: t, data: l } = a;
1281
- if (l === null || l.length === 0)
1282
- return o;
1283
- const u = (/* @__PURE__ */ new Map([
521
+ markLineTarget: j
522
+ }), i;
523
+ }, []), Xe = (a, t) => a.reduce((i, e) => {
524
+ const { key: n, data: o } = e;
525
+ if (o === null || o.length === 0)
526
+ return i;
527
+ const s = (/* @__PURE__ */ new Map([
1284
528
  // 买卖点
1285
529
  [
1286
530
  "sellBuy",
1287
- () => jn(l, n)
531
+ () => He(o, t)
1288
532
  ],
1289
533
  // 开平点
1290
534
  [
1291
535
  "openClose",
1292
- () => gn(l, n)
536
+ () => Je(o, t)
1293
537
  ],
1294
538
  // 信号点
1295
539
  ["signal", () => {
1296
540
  }]
1297
- ])).get(t);
1298
- return u instanceof Function && o.push(...u()), o;
1299
- }, []), we = async (e, n, o, a, t, l) => {
1300
- const { totalBarCount: M, defaultShowBarCount: u, maxValueSpan: i, gridLeft: s, gridTop: c, gridRight: p, gridBottom: d, zoomLock: y } = a, { time: m, kLine: N, originData: v, indicator: C } = await cn(e, o, M), b = C.map((f) => {
1301
- const { key: T, data: h, color: x } = f;
541
+ ])).get(n);
542
+ return s instanceof Function && i.push(...s()), i;
543
+ }, []), ze = async (a, t, i, e, n, o) => {
544
+ const { totalBarCount: z, defaultShowBarCount: s, maxValueSpan: l, gridLeft: r, gridTop: j, gridRight: D, gridBottom: c, zoomLock: u } = e, { time: I, kLine: M, originData: p, indicator: m } = await Pe(a, i, z), w = m.map((d) => {
545
+ const { key: T, data: x, color: A } = d;
1302
546
  return {
1303
547
  name: T,
1304
548
  type: "line",
1305
549
  silent: !0,
1306
550
  symbol: "none",
1307
- data: h,
551
+ data: x,
1308
552
  lineStyle: {
1309
553
  width: 1
1310
554
  },
1311
555
  itemStyle: {
1312
- color: x
556
+ color: A
1313
557
  }
1314
558
  };
1315
- }), F = pn(n, v);
1316
- let g = [];
1317
- return F.forEach((f) => {
1318
- f.markLineTarget && (g = [...g, ...f.markLineTarget]);
559
+ }), b = Xe(t, p);
560
+ let N = [];
561
+ return b.forEach((d) => {
562
+ d.markLineTarget && (N = [...N, ...d.markLineTarget]);
1319
563
  }), {
1320
564
  animation: !1,
1321
565
  dataset: {
1322
566
  id: "data",
1323
567
  source: {
1324
- klineData: N,
1325
- indicatorData: C
568
+ klineData: M,
569
+ indicatorData: m
1326
570
  }
1327
571
  },
1328
572
  grid: {
1329
- left: `${s}px`,
1330
- top: `${c}px`,
1331
- right: `${p}px`,
1332
- bottom: `${d}px`
573
+ left: `${r}px`,
574
+ top: `${j}px`,
575
+ right: `${D}px`,
576
+ bottom: `${c}px`
1333
577
  },
1334
578
  tooltip: {
1335
579
  trigger: "axis",
1336
580
  axisPointer: {
1337
581
  type: "cross",
1338
582
  label: {
1339
- formatter: (f) => {
1340
- const { axisDimension: T, value: h } = f;
1341
- return T === "x" ? h : String($(h));
583
+ formatter: (d) => {
584
+ const { axisDimension: T, value: x } = d;
585
+ return T === "x" ? x : String(h(x));
1342
586
  }
1343
587
  }
1344
588
  },
1345
- formatter: (f) => {
1346
- let T = null, h = "";
1347
- return f.forEach((x) => {
1348
- x.seriesName === "资产持仓净值" && x.data !== null && (h += `<div>资产持仓净值: ${x.data}</div>`), x.componentSubType === "candlestick" && n.forEach((S) => {
1349
- const { key: P, data: W } = S;
1350
- if (P === "sellBuy") {
1351
- const B = W.filter((j) => j.time === x.axisValue);
1352
- let Z = 0, I = 0;
1353
- B.forEach((j) => {
1354
- j.tradeType === "开多" || j.tradeType === "平空" ? Z += j.amount : I += j.amount;
1355
- }), Z && (h += `<div>买: ${Z}</div>`), I && (h += `<div>卖: ${I}</div>`);
589
+ formatter: (d) => {
590
+ let T = null, x = "";
591
+ return d.forEach((A) => {
592
+ A.seriesName === "资产持仓净值" && A.data !== null && (x += `<div>资产持仓净值: ${A.data}</div>`), A.componentSubType === "candlestick" && t.forEach((k) => {
593
+ const { key: E, data: U } = k;
594
+ if (E === "sellBuy") {
595
+ const F = U.filter((f) => f.time === A.axisValue);
596
+ let B = 0, g = 0;
597
+ F.forEach((f) => {
598
+ f.tradeType === "开多" || f.tradeType === "平空" ? B += f.amount : g += f.amount;
599
+ }), B && (x += `<div>买: ${B}</div>`), g && (x += `<div>卖: ${g}</div>`);
1356
600
  }
1357
- P === "openClose" && W.forEach((B) => {
1358
- B.time === x.axisValue && (h += B.tooltip);
601
+ E === "openClose" && U.forEach((F) => {
602
+ F.time === A.axisValue && (x += F.tooltip);
1359
603
  });
1360
- }), h && (T = `<div><span style="font-weight: bold;">${x.axisValue}</span>${h}</div>`);
604
+ }), x && (T = `<div><span style="font-weight: bold;">${A.axisValue}</span>${x}</div>`);
1361
605
  }), T;
1362
606
  }
1363
607
  },
1364
608
  xAxis: {
1365
609
  type: "category",
1366
- data: m,
610
+ data: I,
1367
611
  axisLine: {
1368
612
  show: !0
1369
613
  },
@@ -1376,7 +620,7 @@ const He = (e) => {
1376
620
  },
1377
621
  axisLabel: {
1378
622
  show: !0,
1379
- formatter: (f) => f
623
+ formatter: (d) => d
1380
624
  }
1381
625
  },
1382
626
  yAxis: [
@@ -1389,19 +633,19 @@ const He = (e) => {
1389
633
  color: "#333"
1390
634
  }
1391
635
  },
1392
- min: (f) => {
1393
- const { min: T, max: h } = f, x = Math.abs((h - T) / 10);
1394
- return T - x;
636
+ min: (d) => {
637
+ const { min: T, max: x } = d, A = Math.abs((x - T) / 10);
638
+ return T - A;
1395
639
  },
1396
- max: (f) => {
1397
- const { min: T, max: h } = f, x = Math.abs((h - T) / 10);
1398
- return h + x;
640
+ max: (d) => {
641
+ const { min: T, max: x } = d, A = Math.abs((x - T) / 10);
642
+ return x + A;
1399
643
  },
1400
644
  axisLine: {
1401
645
  show: !0
1402
646
  },
1403
647
  axisLabel: {
1404
- formatter: (f) => $(f),
648
+ formatter: (d) => h(d),
1405
649
  showMaxLabel: !1
1406
650
  }
1407
651
  },
@@ -1414,9 +658,9 @@ const He = (e) => {
1414
658
  {
1415
659
  type: "inside",
1416
660
  xAxisIndex: [0, 0],
1417
- zoomLock: y,
1418
- maxValueSpan: i,
1419
- start: N.length >= u ? (N.length - u) / N.length * 100 : 0,
661
+ zoomLock: u,
662
+ maxValueSpan: l,
663
+ start: M.length >= s ? (M.length - s) / M.length * 100 : 0,
1420
664
  end: 99.99
1421
665
  // startValue: kLine.length >= defaultShowBarCount ? kLine.length - defaultShowBarCount : 0,
1422
666
  // endValue: kLine.length - 1,
@@ -1426,15 +670,15 @@ const He = (e) => {
1426
670
  {
1427
671
  name: "k线",
1428
672
  type: "candlestick",
1429
- data: N,
673
+ data: M,
1430
674
  markPoint: {
1431
- data: F
675
+ data: b
1432
676
  },
1433
677
  markLine: {
1434
678
  position: "middle",
1435
679
  textStyle: { color: "blue", fontSize: 15 },
1436
680
  animation: !1,
1437
- data: g,
681
+ data: N,
1438
682
  lineStyle: {
1439
683
  width: 3,
1440
684
  type: "solid"
@@ -1450,11 +694,11 @@ const He = (e) => {
1450
694
  },
1451
695
  z: 1
1452
696
  },
1453
- ...b,
697
+ ...w,
1454
698
  {
1455
699
  name: "资产持仓净值",
1456
700
  type: "line",
1457
- data: t ?? [],
701
+ data: n ?? [],
1458
702
  symbol: "none",
1459
703
  yAxisIndex: 1,
1460
704
  connectNulls: !0,
@@ -1465,7 +709,7 @@ const He = (e) => {
1465
709
  {
1466
710
  name: "二腿相关度",
1467
711
  type: "line",
1468
- data: l ?? [],
712
+ data: o ?? [],
1469
713
  symbol: "none",
1470
714
  yAxisIndex: 1,
1471
715
  connectNulls: !0,
@@ -1481,7 +725,7 @@ const He = (e) => {
1481
725
  // 显示文字
1482
726
  position: "top",
1483
727
  // 文字位置
1484
- formatter: (f) => `相关度: ${f.data[1]}`,
728
+ formatter: (d) => `相关度: ${d.data[1]}`,
1485
729
  textStyle: {
1486
730
  color: "#FFF",
1487
731
  // 文字颜色
@@ -1507,82 +751,82 @@ const He = (e) => {
1507
751
  }
1508
752
  }
1509
753
  };
1510
- }, fn = (e, n, o) => {
1511
- var p;
1512
- const { gridLeft: a, gridRight: t, gridBottom: l, warningConfig: M, positionConfig: u, conditionConfig: i, isOpenDS: s } = n;
1513
- let c = [];
1514
- if ((p = o == null ? void 0 : o.getModel()) != null && p.getComponent) {
1515
- const [d, y] = o.getModel().getComponent("yAxis").axis.scale._extent;
1516
- let m = [], N = {}, v = [], C = {}, b = [], F = {};
1517
- if (e.forEach(({ key: g, data: f, ...T }) => {
1518
- g === "warning" ? (m = f, N = T) : g === "position" ? (v = f, C = T) : g === "condition" && (b = f, F = T);
1519
- }), m.length > 0 && (c = m.reduce((g, f) => {
1520
- const { value: T, text: h, info: x, config: S } = f;
1521
- if (T > y || T < d)
1522
- return g;
1523
- const P = {
1524
- y: o.convertToPixel({ yAxisIndex: 0 }, T),
1525
- text: h,
1526
- info: { info: x, config: { ...M, ...S }, event: { ...N } },
1527
- gridLeft: a,
1528
- gridRight: t,
1529
- echartsWidth: o.getWidth(),
1530
- echartsInstance: o
754
+ }, Ke = (a, t, i) => {
755
+ var D;
756
+ const { gridLeft: e, gridRight: n, gridBottom: o, warningConfig: z, positionConfig: s, conditionConfig: l, isOpenDS: r } = t;
757
+ let j = [];
758
+ if ((D = i == null ? void 0 : i.getModel()) != null && D.getComponent) {
759
+ const [c, u] = i.getModel().getComponent("yAxis").axis.scale._extent;
760
+ let I = [], M = {}, p = [], m = {}, w = [], b = {};
761
+ if (a.forEach(({ key: N, data: d, ...T }) => {
762
+ N === "warning" ? (I = d, M = T) : N === "position" ? (p = d, m = T) : N === "condition" && (w = d, b = T);
763
+ }), I.length > 0 && (j = I.reduce((N, d) => {
764
+ const { value: T, text: x, info: A, config: k } = d;
765
+ if (T > u || T < c)
766
+ return N;
767
+ const E = {
768
+ y: i.convertToPixel({ yAxisIndex: 0 }, T),
769
+ text: x,
770
+ info: { info: A, config: { ...z, ...k }, event: { ...M } },
771
+ gridLeft: e,
772
+ gridRight: n,
773
+ echartsWidth: i.getWidth(),
774
+ echartsInstance: i
1531
775
  };
1532
- return [...g, Nn(P)];
1533
- }, c)), v.length > 0 && (c = v.reduce((g, f) => {
1534
- const { value: T, text: h, info: x, config: S } = f;
1535
- if (T > y || T < d)
1536
- return g;
1537
- const P = {
1538
- y: o.convertToPixel({ yAxisIndex: 0 }, T),
1539
- text: h,
1540
- info: { info: x, config: { ...u, ...S }, event: { ...C } },
1541
- gridLeft: a,
1542
- gridRight: t,
1543
- echartsWidth: o.getWidth(),
1544
- echartsInstance: o
776
+ return [...N, Ze(E)];
777
+ }, j)), p.length > 0 && (j = p.reduce((N, d) => {
778
+ const { value: T, text: x, info: A, config: k } = d;
779
+ if (T > u || T < c)
780
+ return N;
781
+ const E = {
782
+ y: i.convertToPixel({ yAxisIndex: 0 }, T),
783
+ text: x,
784
+ info: { info: A, config: { ...s, ...k }, event: { ...m } },
785
+ gridLeft: e,
786
+ gridRight: n,
787
+ echartsWidth: i.getWidth(),
788
+ echartsInstance: i
1545
789
  };
1546
- return [...g, zn(P)];
1547
- }, c)), b.length > 0 && (c = b.reduce((g, f) => {
1548
- const { value: T, text: h, profitValue: x, profitText: S, lossValue: P, lossText: W, info: B, config: Z } = f;
1549
- if (T > y || T < d)
1550
- return g;
1551
- const I = {
1552
- y: o.convertToPixel({ yAxisIndex: 0 }, T),
1553
- text: h,
1554
- profitY: o.convertToPixel({ yAxisIndex: 0 }, x),
1555
- profitText: S,
1556
- lossY: o.convertToPixel({ yAxisIndex: 0 }, P),
1557
- lossText: W,
1558
- info: { info: B, config: { ...i, ...Z }, event: { ...F } },
1559
- gridLeft: a,
1560
- gridRight: t,
1561
- echartsWidth: o.getWidth(),
1562
- echartsInstance: o
790
+ return [...N, Ge(E)];
791
+ }, j)), w.length > 0 && (j = w.reduce((N, d) => {
792
+ const { value: T, text: x, profitValue: A, profitText: k, lossValue: E, lossText: U, info: F, config: B } = d;
793
+ if (T > u || T < c)
794
+ return N;
795
+ const g = {
796
+ y: i.convertToPixel({ yAxisIndex: 0 }, T),
797
+ text: x,
798
+ profitY: i.convertToPixel({ yAxisIndex: 0 }, A),
799
+ profitText: k,
800
+ lossY: i.convertToPixel({ yAxisIndex: 0 }, E),
801
+ lossText: U,
802
+ info: { info: F, config: { ...l, ...B }, event: { ...b } },
803
+ gridLeft: e,
804
+ gridRight: n,
805
+ echartsWidth: i.getWidth(),
806
+ echartsInstance: i
1563
807
  };
1564
- return [...g, yn(I)];
1565
- }, c)), s) {
1566
- const g = o.getOption(), f = g.dataset[0].source.klineData.slice(
1567
- g.dataZoom[0].startValue,
1568
- g.dataZoom[0].endValue + 1
808
+ return [...N, $e(g)];
809
+ }, j)), r) {
810
+ const N = i.getOption(), d = N.dataset[0].source.klineData.slice(
811
+ N.dataZoom[0].startValue,
812
+ N.dataZoom[0].endValue + 1
1569
813
  ), T = {};
1570
- f.forEach((I) => {
1571
- T[I[1]] ? T[I[1]] += 1 : T[I[1]] = 1;
814
+ d.forEach((g) => {
815
+ T[g[1]] ? T[g[1]] += 1 : T[g[1]] = 1;
1572
816
  });
1573
- const h = f[f.length - 1][1], x = f.reduce((I, j) => I + j[1], 0) / f.length, S = h - x, P = In(f, 1, 50), W = mn(f), B = W ? S / W : 0, Z = Tn(f, 1, h);
1574
- c = [
1575
- ...c,
817
+ const x = d[d.length - 1][1], A = d.reduce((g, f) => g + f[1], 0) / d.length, k = x - A, E = et(d, 1, 50), U = tt(d), F = U ? k / U : 0, B = qe(d, 1, x);
818
+ j = [
819
+ ...j,
1576
820
  {
1577
821
  type: "group",
1578
822
  draggable: !1,
1579
- children: Object.keys(T).map((I) => ({
823
+ children: Object.keys(T).map((g) => ({
1580
824
  type: "line",
1581
825
  shape: {
1582
- x1: o.getWidth() - t - 100 * T[I],
1583
- y1: o.convertToPixel({ yAxisIndex: 0 }, I),
1584
- x2: o.getWidth() - t,
1585
- y2: o.convertToPixel({ yAxisIndex: 0 }, I)
826
+ x1: i.getWidth() - n - 100 * T[g],
827
+ y1: i.convertToPixel({ yAxisIndex: 0 }, g),
828
+ x2: i.getWidth() - n,
829
+ y2: i.convertToPixel({ yAxisIndex: 0 }, g)
1586
830
  },
1587
831
  style: {
1588
832
  stroke: "rgb(124,124,124)",
@@ -1593,16 +837,16 @@ const He = (e) => {
1593
837
  },
1594
838
  {
1595
839
  type: "text",
1596
- x: a + 6,
1597
- y: o.getHeight() - l - 20,
840
+ x: e + 6,
841
+ y: i.getHeight() - o - 20,
1598
842
  style: {
1599
843
  fill: "#FFF",
1600
- text: `均值: ${$(x)}    距均值: ${$(
1601
- S
1602
- )}    中值: ${$(P)}    标准差: ${$(
1603
- W
1604
- )}    距均值/标准差: ${$(B)}    百分位: ${$(
1605
- Z
844
+ text: `均值: ${h(A)}    距均值: ${h(
845
+ k
846
+ )}    中值: ${h(E)}    标准差: ${h(
847
+ U
848
+ )}    距均值/标准差: ${h(F)}    百分位: ${h(
849
+ B
1606
850
  )}%`,
1607
851
  lineWidth: 1,
1608
852
  opacity: 1
@@ -1612,43 +856,43 @@ const He = (e) => {
1612
856
  ];
1613
857
  }
1614
858
  }
1615
- return { elements: c };
1616
- }, Tn = (e, n, o) => {
1617
- const { round: a, add: t, subtract: l, multiply: M, divide: u } = De, i = e.map((c) => c[n]).sort((c, p) => c - p);
1618
- let s = 0;
1619
- for (let c = 0; c < i.length; c++)
1620
- if (i[c] === o) {
1621
- s = c;
859
+ return { elements: j };
860
+ }, qe = (a, t, i) => {
861
+ const { round: e, add: n, subtract: o, multiply: z, divide: s } = re, l = a.map((j) => j[t]).sort((j, D) => j - D);
862
+ let r = 0;
863
+ for (let j = 0; j < l.length; j++)
864
+ if (l[j] === i) {
865
+ r = j;
1622
866
  break;
1623
- } else if (i[c] >= o) {
1624
- s = t(c, u(l(i[c + 1], i[c]), i[c]));
867
+ } else if (l[j] >= i) {
868
+ r = n(j, s(o(l[j + 1], l[j]), l[j]));
1625
869
  break;
1626
870
  }
1627
- return a(u(M(s, 100), e.length + 1));
1628
- }, In = (e, n, o) => {
1629
- const { round: a, add: t, subtract: l, multiply: M, divide: u } = De, i = e.map((d) => d[n]).sort((d, y) => d - y), s = M(e.length + 1, u(o, 100)), c = Math.floor(s), p = l(s, c);
1630
- return a(p === 0 ? i[s] : t(
1631
- i[c],
1632
- M(
1633
- l(
1634
- i[c >= e.length - 1 ? c : c + 1],
1635
- i[c]
871
+ return e(s(z(r, 100), a.length + 1));
872
+ }, et = (a, t, i) => {
873
+ const { round: e, add: n, subtract: o, multiply: z, divide: s } = re, l = a.map((c) => c[t]).sort((c, u) => c - u), r = z(a.length + 1, s(i, 100)), j = Math.floor(r), D = o(r, j);
874
+ return e(D === 0 ? l[r] : n(
875
+ l[j],
876
+ z(
877
+ o(
878
+ l[j >= a.length - 1 ? j : j + 1],
879
+ l[j]
1636
880
  ),
1637
- p
881
+ D
1638
882
  )
1639
883
  ));
1640
884
  };
1641
- function mn(e) {
1642
- const n = e.map((M) => M[1]), o = n.length;
1643
- let a = 0, t = 0;
1644
- for (const M of n)
1645
- a += M;
1646
- const l = a / o;
1647
- for (const M of n)
1648
- t += Math.pow(M - l, 2);
1649
- return Math.sqrt(t / o);
885
+ function tt(a) {
886
+ const t = a.map((z) => z[1]), i = t.length;
887
+ let e = 0, n = 0;
888
+ for (const z of t)
889
+ e += z;
890
+ const o = e / i;
891
+ for (const z of t)
892
+ n += Math.pow(z - o, 2);
893
+ return Math.sqrt(n / i);
1650
894
  }
1651
- const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, hn = /* @__PURE__ */ H({
895
+ const nt = { class: "st-kline" }, ot = { class: "st-kline-header" }, it = 300, Mt = /* @__PURE__ */ Me({
1652
896
  __name: "index",
1653
897
  props: {
1654
898
  indicator: {
@@ -1700,8 +944,8 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1700
944
  default: () => ({})
1701
945
  }
1702
946
  },
1703
- setup(e) {
1704
- const n = e, o = {
947
+ setup(a) {
948
+ const t = a, i = {
1705
949
  totalBarCount: 2e3,
1706
950
  defaultShowBarCount: 200,
1707
951
  preBarCount: 800,
@@ -1754,26 +998,26 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1754
998
  zoomLock: !1,
1755
999
  // 是否启用计算收盘价分布统计功能
1756
1000
  isOpenDS: !1
1757
- }, a = w(() => ({ ...o, ...n.config })), t = k(null), l = k(-1), M = w(() => {
1758
- var I, j;
1759
- if (t.value && ((j = (I = t.value.dataset[0]) == null ? void 0 : I.source) != null && j.klineData[l.value])) {
1760
- const z = t.value.dataset[0].source.klineData[l.value], r = [], { open: L, heigh: Y, low: D, close: A, business: O, riseAndFall: _ } = a.value.tipsConfig;
1761
- if (L && r.push({ label: "开", value: $(z[0]), color: "rgb(153, 153, 153)" }), Y && r.push({ label: "高", value: $(z[3]), color: "rgb(153, 153, 153)" }), D && r.push({ label: "低", value: $(z[2]), color: "rgb(153, 153, 153)" }), A && r.push({ label: "收", value: $(z[1]), color: "rgb(153, 153, 153)" }), O && r.push({ label: "额", value: dn(z[4]), color: "rgb(153, 153, 153)" }), _) {
1762
- let V = ((z[1] - z[5]) / z[1] * 100).toFixed(2), R = +V == 0 ? "white" : +V > 0 ? "red" : "#00ff00";
1763
- r.push({ label: "涨跌", value: `${V}%`, color: R });
1001
+ }, e = W(() => ({ ...i, ...t.config })), n = S(null), o = S(-1), z = W(() => {
1002
+ var g, f;
1003
+ if (n.value && ((f = (g = n.value.dataset[0]) == null ? void 0 : g.source) != null && f.klineData[o.value])) {
1004
+ const L = n.value.dataset[0].source.klineData[o.value], y = [], { open: Y, heigh: O, low: Q, close: R, business: Z, riseAndFall: G } = e.value.tipsConfig;
1005
+ if (Y && y.push({ label: "开", value: h(L[0]), color: "rgb(153, 153, 153)" }), O && y.push({ label: "高", value: h(L[3]), color: "rgb(153, 153, 153)" }), Q && y.push({ label: "低", value: h(L[2]), color: "rgb(153, 153, 153)" }), R && y.push({ label: "收", value: h(L[1]), color: "rgb(153, 153, 153)" }), Z && y.push({ label: "额", value: We(L[4]), color: "rgb(153, 153, 153)" }), G) {
1006
+ let P = ((L[1] - L[5]) / L[1] * 100).toFixed(2), _ = +P == 0 ? "white" : +P > 0 ? "red" : "#00ff00";
1007
+ y.push({ label: "涨跌", value: `${P}%`, color: _ });
1764
1008
  }
1765
- return r;
1009
+ return y;
1766
1010
  }
1767
1011
  return [];
1768
- }), u = w(() => {
1769
- var I, j;
1770
- return t.value && ((j = (I = t.value.dataset[0]) == null ? void 0 : I.source) != null && j.indicatorData) ? t.value.dataset[0].source.indicatorData.reduce((z, r) => (r.data[l.value] && z.push({
1771
- label: r.key,
1772
- value: $(r.data[l.value]),
1773
- color: r.color
1774
- }), z), []) : [];
1775
- }), i = w(() => {
1776
- const I = [
1012
+ }), s = W(() => {
1013
+ var g, f;
1014
+ return n.value && ((f = (g = n.value.dataset[0]) == null ? void 0 : g.source) != null && f.indicatorData) ? n.value.dataset[0].source.indicatorData.reduce((L, y) => (y.data[o.value] && L.push({
1015
+ label: y.key,
1016
+ value: h(y.data[o.value]),
1017
+ color: y.color
1018
+ }), L), []) : [];
1019
+ }), l = W(() => {
1020
+ const g = [
1777
1021
  "#FFFFFF",
1778
1022
  "#FFDD00",
1779
1023
  "#FF00FF",
@@ -1785,178 +1029,178 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1785
1029
  "#FB9A0E",
1786
1030
  "#00B7FF"
1787
1031
  ];
1788
- if (n.priceTrendData.length > 0) {
1789
- const j = [];
1790
- return n.priceTrendData.forEach((z, r) => {
1791
- var Y;
1792
- (z.data[l.value] ? $(z.data[l.value][1]) : null) !== null && j.push({
1793
- label: z.name,
1794
- value: $((Y = z.data[l.value]) == null ? void 0 : Y[1]),
1795
- color: I[r]
1032
+ if (t.priceTrendData.length > 0) {
1033
+ const f = [];
1034
+ return t.priceTrendData.forEach((L, y) => {
1035
+ var O;
1036
+ (L.data[o.value] ? h(L.data[o.value][1]) : null) !== null && f.push({
1037
+ label: L.name,
1038
+ value: h((O = L.data[o.value]) == null ? void 0 : O[1]),
1039
+ color: g[y]
1796
1040
  });
1797
- }), j;
1041
+ }), f;
1798
1042
  }
1799
- if (n.priceTrendPercentData.length > 0) {
1800
- const j = [];
1801
- return N.getOption().series.filter((r) => r.name.includes("二腿价格走势百分比图")).forEach((r, L) => {
1802
- var D;
1803
- (r.data[l.value] ? $(r.data[l.value][1]) : null) !== null && j.push({
1804
- label: r.name.split("-")[1],
1805
- value: `${$((D = r.data[l.value]) == null ? void 0 : D[1])}%`,
1806
- color: I[L]
1043
+ if (t.priceTrendPercentData.length > 0) {
1044
+ const f = [];
1045
+ return M.getOption().series.filter((y) => y.name.includes("二腿价格走势百分比图")).forEach((y, Y) => {
1046
+ var Q;
1047
+ (y.data[o.value] ? h(y.data[o.value][1]) : null) !== null && f.push({
1048
+ label: y.name.split("-")[1],
1049
+ value: `${h((Q = y.data[o.value]) == null ? void 0 : Q[1])}%`,
1050
+ color: g[Y]
1807
1051
  });
1808
- }), j;
1052
+ }), f;
1809
1053
  }
1810
1054
  return [];
1811
1055
  });
1812
- J(
1813
- () => [n.klineData, n.indicator, n.markData, n.netPositionData, n.relevanceData],
1056
+ H(
1057
+ () => [t.klineData, t.indicator, t.markData, t.netPositionData, t.relevanceData],
1814
1058
  () => {
1815
- s();
1059
+ r();
1816
1060
  },
1817
1061
  {
1818
1062
  deep: !0
1819
1063
  }
1820
- ), J(
1821
- () => n.lineData,
1064
+ ), H(
1065
+ () => t.lineData,
1822
1066
  async () => {
1823
- re("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line", {
1067
+ J("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line", {
1824
1068
  color: "red"
1825
- }), s("line");
1069
+ }), r("line");
1826
1070
  },
1827
1071
  {
1828
1072
  deep: !0
1829
1073
  }
1830
- ), J(
1831
- () => n.brushRange,
1074
+ ), H(
1075
+ () => t.brushRange,
1832
1076
  async () => {
1833
- re("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush", {
1077
+ J("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush", {
1834
1078
  color: "red"
1835
- }), s("brush");
1079
+ }), r("brush");
1836
1080
  },
1837
1081
  {
1838
1082
  deep: !0
1839
1083
  }
1840
- ), J(
1841
- () => n.priceTrendData,
1084
+ ), H(
1085
+ () => t.priceTrendData,
1842
1086
  async () => {
1843
- s("priceTrend");
1087
+ r("priceTrend");
1844
1088
  },
1845
1089
  {
1846
1090
  deep: !0
1847
1091
  }
1848
- ), J(
1849
- () => n.priceTrendPercentData,
1092
+ ), H(
1093
+ () => t.priceTrendPercentData,
1850
1094
  async () => {
1851
- s("priceTrendPercent");
1095
+ r("priceTrendPercent");
1852
1096
  },
1853
1097
  {
1854
1098
  deep: !0
1855
1099
  }
1856
1100
  );
1857
- const s = async (I) => {
1858
- const z = (/* @__PURE__ */ new Map([
1101
+ const r = async (g) => {
1102
+ const L = (/* @__PURE__ */ new Map([
1859
1103
  // kline-K线绘制
1860
1104
  [
1861
1105
  "kline",
1862
1106
  async () => {
1863
- const r = await we(
1864
- n.klineData,
1865
- n.markData,
1866
- n.indicator,
1867
- a.value,
1868
- n.netPositionData,
1869
- n.relevanceData
1870
- ), { graphic: L } = N.getOption() ?? { graphic: [] };
1871
- t.value = { ...r, graphic: L }, N.setOption(t.value, !0), re("st-kline组件消息:K线绘制完毕-draw", { color: "green" });
1107
+ const y = await ze(
1108
+ t.klineData,
1109
+ t.markData,
1110
+ t.indicator,
1111
+ e.value,
1112
+ t.netPositionData,
1113
+ t.relevanceData
1114
+ ), { graphic: Y } = M.getOption() ?? { graphic: [] };
1115
+ n.value = { ...y, graphic: Y }, M.setOption(n.value, !0), J("st-kline组件消息:K线绘制完毕-draw", { color: "green" });
1872
1116
  }
1873
1117
  ],
1874
1118
  // line-额外线条绘制
1875
1119
  [
1876
1120
  "line",
1877
1121
  () => {
1878
- const r = N.getOption(), L = fn(n.lineData, a.value, N);
1879
- t.value = { ...r, graphic: L }, N.setOption(t.value, {
1122
+ const y = M.getOption(), Y = Ke(t.lineData, e.value, M);
1123
+ n.value = { ...y, graphic: Y }, M.setOption(n.value, {
1880
1124
  replaceMerge: ["graphic"]
1881
- }), re("st-kline组件消息:额外画线绘制完毕-draw", { color: "green" });
1125
+ }), J("st-kline组件消息:额外画线绘制完毕-draw", { color: "green" });
1882
1126
  }
1883
1127
  ],
1884
1128
  // brush-区域刷选
1885
1129
  [
1886
1130
  "brush",
1887
1131
  () => {
1888
- const { brushRange: r } = n;
1889
- r instanceof Array && r.length > 0 && (N.dispatchAction({
1132
+ const { brushRange: y } = t;
1133
+ y instanceof Array && y.length > 0 && (M.dispatchAction({
1890
1134
  type: "brush",
1891
1135
  areas: [
1892
1136
  {
1893
1137
  brushType: "lineX",
1894
- coordRange: [r[0] + "", r[1] + ""],
1138
+ coordRange: [y[0] + "", y[1] + ""],
1895
1139
  xAxisIndex: 0
1896
1140
  }
1897
1141
  ]
1898
- }), re("st-kline组件消息:区域刷选绘制完毕-draw", { color: "green" }));
1142
+ }), J("st-kline组件消息:区域刷选绘制完毕-draw", { color: "green" }));
1899
1143
  }
1900
1144
  ],
1901
1145
  // 全部绘制
1902
1146
  [
1903
1147
  void 0,
1904
1148
  async () => {
1905
- await s("kline"), await s("line"), await s("priceTrend"), await s("priceTrendPercent"), await s("brush");
1149
+ await r("kline"), await r("line"), await r("priceTrend"), await r("priceTrendPercent"), await r("brush");
1906
1150
  }
1907
1151
  ],
1908
1152
  // history-K线历史数据绘制
1909
1153
  [
1910
1154
  "history",
1911
1155
  async () => {
1912
- const r = N.getOption(), L = await we(
1913
- n.klineData,
1914
- n.markData,
1915
- n.indicator,
1916
- a.value,
1917
- n.netPositionData,
1918
- n.relevanceData
1919
- ), Y = L.dataset.source.klineData.length - r.dataset[0].source.klineData.length;
1920
- N.setOption(
1156
+ const y = M.getOption(), Y = await ze(
1157
+ t.klineData,
1158
+ t.markData,
1159
+ t.indicator,
1160
+ e.value,
1161
+ t.netPositionData,
1162
+ t.relevanceData
1163
+ ), O = Y.dataset.source.klineData.length - y.dataset[0].source.klineData.length;
1164
+ M.setOption(
1921
1165
  {
1922
- ...L,
1166
+ ...Y,
1923
1167
  dataZoom: [
1924
1168
  {
1925
1169
  type: "inside",
1926
1170
  xAxisIndex: [0, 0],
1927
- zoomLock: a.value.zoomLock,
1928
- maxValueSpan: a.value.maxValueSpan,
1929
- startValue: r.dataZoom[0].startValue + Y,
1930
- endValue: r.dataZoom[0].endValue + Y
1171
+ zoomLock: e.value.zoomLock,
1172
+ maxValueSpan: e.value.maxValueSpan,
1173
+ startValue: y.dataZoom[0].startValue + O,
1174
+ endValue: y.dataZoom[0].endValue + O
1931
1175
  }
1932
1176
  ]
1933
1177
  },
1934
1178
  !0
1935
- ), await s("priceTrend");
1179
+ ), await r("priceTrend");
1936
1180
  }
1937
1181
  ],
1938
1182
  // future-K线后续数据绘制
1939
1183
  [
1940
1184
  "future",
1941
1185
  async () => {
1942
- const r = N.getOption(), L = await we(
1943
- n.klineData,
1944
- n.markData,
1945
- n.indicator,
1946
- a.value,
1947
- n.netPositionData,
1948
- n.relevanceData
1186
+ const y = M.getOption(), Y = await ze(
1187
+ t.klineData,
1188
+ t.markData,
1189
+ t.indicator,
1190
+ e.value,
1191
+ t.netPositionData,
1192
+ t.relevanceData
1949
1193
  );
1950
- L.dataZoom[0].start = (n.klineData.length - r.dataZoom[0].endValue + r.dataZoom[0].startValue) / n.klineData.length * 100, N.setOption(L, !0), await s("priceTrend");
1194
+ Y.dataZoom[0].start = (t.klineData.length - y.dataZoom[0].endValue + y.dataZoom[0].startValue) / t.klineData.length * 100, M.setOption(Y, !0), await r("priceTrend");
1951
1195
  }
1952
1196
  ],
1953
1197
  // priceTrend-二腿价格趋势绘制
1954
1198
  [
1955
1199
  "priceTrend",
1956
1200
  () => {
1957
- if (n.priceTrendData.length === 0)
1201
+ if (t.priceTrendData.length === 0)
1958
1202
  return;
1959
- const r = N.getOption(), L = [
1203
+ const y = M.getOption(), Y = [
1960
1204
  "#FFFFFF",
1961
1205
  "#FFDD00",
1962
1206
  "#FF00FF",
@@ -1967,16 +1211,16 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1967
1211
  "#FF0000",
1968
1212
  "#FB9A0E",
1969
1213
  "#00B7FF"
1970
- ], Y = n.priceTrendData.reduce((D, A, O) => {
1971
- const { name: _, data: V } = A, R = {
1972
- name: `二腿价格走势图-${_}`,
1214
+ ], O = t.priceTrendData.reduce((Q, R, Z) => {
1215
+ const { name: G, data: P } = R, _ = {
1216
+ name: `二腿价格走势图-${G}`,
1973
1217
  type: "line",
1974
- data: V,
1218
+ data: P,
1975
1219
  symbol: "none",
1976
1220
  yAxisIndex: 1,
1977
1221
  connectNulls: !0,
1978
1222
  itemStyle: {
1979
- color: L[O]
1223
+ color: Y[Z]
1980
1224
  },
1981
1225
  lineStyle: {
1982
1226
  type: "dashed",
@@ -1984,9 +1228,9 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1984
1228
  width: 1
1985
1229
  }
1986
1230
  };
1987
- return D.push(R), D;
1231
+ return Q.push(_), Q;
1988
1232
  }, []);
1989
- t.value = { ...r, series: [...r.series, ...Y] }, N.setOption(t.value, {
1233
+ n.value = { ...y, series: [...y.series, ...O] }, M.setOption(n.value, {
1990
1234
  replaceMerge: ["series"]
1991
1235
  });
1992
1236
  }
@@ -1995,9 +1239,9 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
1995
1239
  [
1996
1240
  "priceTrendPercent",
1997
1241
  async () => {
1998
- if (n.priceTrendPercentData.length === 0)
1242
+ if (t.priceTrendPercentData.length === 0)
1999
1243
  return;
2000
- const r = N.getOption(), L = [
1244
+ const y = M.getOption(), Y = [
2001
1245
  "#FFFFFF",
2002
1246
  "#FFDD00",
2003
1247
  "#FF00FF",
@@ -2008,16 +1252,16 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
2008
1252
  "#FF0000",
2009
1253
  "#FB9A0E",
2010
1254
  "#00B7FF"
2011
- ], Y = r.dataZoom[0].startValue, D = n.priceTrendPercentData.reduce((A, O, _) => {
2012
- const { name: V, data: R } = O, ae = R.length > a.value.totalBarCount ? R.slice(R.length - a.value.totalBarCount) : R, de = ae[Y][1], Mt = ae.map((Ue) => [Ue[0], (Ue[1] - de) / de * 100]), ct = {
2013
- name: `二腿价格走势百分比图-${V}`,
1255
+ ], O = y.dataZoom[0].startValue, Q = t.priceTrendPercentData.reduce((R, Z, G) => {
1256
+ const { name: P, data: _ } = Z, ee = _.length > e.value.totalBarCount ? _.slice(_.length - e.value.totalBarCount) : _, te = ee[O][1], me = ee.map((Te) => [Te[0], (Te[1] - te) / te * 100]), we = {
1257
+ name: `二腿价格走势百分比图-${P}`,
2014
1258
  type: "line",
2015
- data: Mt,
1259
+ data: me,
2016
1260
  symbol: "none",
2017
1261
  yAxisIndex: 1,
2018
1262
  connectNulls: !0,
2019
1263
  itemStyle: {
2020
- color: L[_]
1264
+ color: Y[G]
2021
1265
  },
2022
1266
  lineStyle: {
2023
1267
  type: "dashed",
@@ -2025,155 +1269,155 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
2025
1269
  width: 1
2026
1270
  }
2027
1271
  };
2028
- return A.push(ct), A;
1272
+ return R.push(we), R;
2029
1273
  }, []);
2030
- r.series = [...r.series.filter((A) => !A.name.includes("二腿价格走势百分比图")), ...D], N.setOption(r, !0);
1274
+ y.series = [...y.series.filter((R) => !R.name.includes("二腿价格走势百分比图")), ...Q], M.setOption(y, !0);
2031
1275
  }
2032
1276
  ]
2033
- ])).get(I);
2034
- z instanceof Function && await z();
2035
- }, c = k(!1), p = k([]), d = (I) => {
2036
- const { callBack: j } = I;
2037
- j instanceof Function && j(N, c);
2038
- }, y = () => {
2039
- p.value = n.defaultMenuData;
2040
- }, m = k();
2041
- let N, v;
2042
- const C = (I, j) => {
2043
- var z, r;
2044
- if (I)
2045
- l.value = typeof ((z = I == null ? void 0 : I.batch[0]) == null ? void 0 : z.dataIndex) == "number" ? (r = I == null ? void 0 : I.batch[0]) == null ? void 0 : r.dataIndex : -1;
1277
+ ])).get(g);
1278
+ L instanceof Function && await L();
1279
+ }, j = S(!1), D = S([]), c = (g) => {
1280
+ const { callBack: f } = g;
1281
+ f instanceof Function && f(M, j);
1282
+ }, u = () => {
1283
+ D.value = t.defaultMenuData;
1284
+ }, I = S();
1285
+ let M, p;
1286
+ const m = (g, f) => {
1287
+ var L, y;
1288
+ if (g)
1289
+ o.value = typeof ((L = g == null ? void 0 : g.batch[0]) == null ? void 0 : L.dataIndex) == "number" ? (y = g == null ? void 0 : g.batch[0]) == null ? void 0 : y.dataIndex : -1;
2046
1290
  else {
2047
- const L = j.getOption();
2048
- L.dataZoom instanceof Array && (l.value = L.dataZoom[0].endValue);
1291
+ const Y = f.getOption();
1292
+ Y.dataZoom instanceof Array && (o.value = Y.dataZoom[0].endValue);
2049
1293
  }
2050
1294
  };
2051
- let b = null, F = !1, g = k(!1), f = !1, T = k(!1);
2052
- const h = async (I) => {
2053
- const j = I.batch ? I.batch[0].start * a.value.totalBarCount : I.startValue;
2054
- a.value.dynamicLoadConfig.historyVisible && j <= 100 && !F && !g.value && (F = !0, await a.value.dynamicLoadConfig.historyLoadCallBack(g), await s("history"), F = !1);
2055
- const z = I.batch ? I.batch[0].end === 100 : I.endValue >= n.klineData.length - a.value.preBarCount - 1, r = I.actionIsWheel;
2056
- a.value.dynamicLoadConfig.futureVisible && z && !f && !T.value && !r && (f = !0, await a.value.dynamicLoadConfig.futureLoadCallBack(T), await s("future"), f = !1), clearTimeout(b), b = setTimeout(() => {
2057
- s("line"), s("priceTrendPercent"), clearTimeout(b), b = null;
2058
- }, vn);
1295
+ let w = null, b = !1, N = S(!1), d = !1, T = S(!1);
1296
+ const x = async (g) => {
1297
+ const f = g.batch ? g.batch[0].start * e.value.totalBarCount : g.startValue;
1298
+ e.value.dynamicLoadConfig.historyVisible && f <= 100 && !b && !N.value && (b = !0, await e.value.dynamicLoadConfig.historyLoadCallBack(N), await r("history"), b = !1);
1299
+ const L = g.batch ? g.batch[0].end === 100 : g.endValue >= t.klineData.length - e.value.preBarCount - 1, y = g.actionIsWheel;
1300
+ e.value.dynamicLoadConfig.futureVisible && L && !d && !T.value && !y && (d = !0, await e.value.dynamicLoadConfig.futureLoadCallBack(T), await r("future"), d = !1), clearTimeout(w), w = setTimeout(() => {
1301
+ r("line"), r("priceTrendPercent"), clearTimeout(w), w = null;
1302
+ }, it);
2059
1303
  };
2060
- let x = null;
2061
- const S = (I) => {
2062
- x = setTimeout(() => {
2063
- var j;
2064
- if (I.componentType === "graphic") {
2065
- const { oncontextmenu: z } = ((j = I.info) == null ? void 0 : j.event) ?? {};
2066
- z instanceof Function && z(I, I.info, p);
1304
+ let A = null;
1305
+ const k = (g) => {
1306
+ A = setTimeout(() => {
1307
+ var f;
1308
+ if (g.componentType === "graphic") {
1309
+ const { oncontextmenu: L } = ((f = g.info) == null ? void 0 : f.event) ?? {};
1310
+ L instanceof Function && L(g, g.info, D);
2067
1311
  }
2068
- clearTimeout(x), x = null;
1312
+ clearTimeout(A), A = null;
2069
1313
  });
2070
- }, P = () => {
2071
- N.on("highlight", (I) => {
2072
- C(I, N);
2073
- }), N.on("globalout", () => {
2074
- C(null, N);
2075
- }), N.on("contextmenu", (I) => {
2076
- S(I);
2077
- }), N.on("datazoom", (I) => {
2078
- h(I);
1314
+ }, E = () => {
1315
+ M.on("highlight", (g) => {
1316
+ m(g, M);
1317
+ }), M.on("globalout", () => {
1318
+ m(null, M);
1319
+ }), M.on("contextmenu", (g) => {
1320
+ k(g);
1321
+ }), M.on("datazoom", (g) => {
1322
+ x(g);
2079
1323
  });
2080
- }, W = () => {
2081
- N.off("highlight"), N.off("globalout"), N.off("contextmenu"), N.off("datazoom");
2082
- }, B = (I) => {
2083
- if (!N || !(I.ctrlKey || n.isSelect))
1324
+ }, U = () => {
1325
+ M.off("highlight"), M.off("globalout"), M.off("contextmenu"), M.off("datazoom");
1326
+ }, F = (g) => {
1327
+ if (!M || !(g.ctrlKey || t.isSelect))
2084
1328
  return;
2085
- const j = N.getOption();
2086
- let { startValue: z, endValue: r, start: L, end: Y } = j.dataZoom[0];
2087
- const D = () => {
2088
- z !== 0 && (z = z - 1, r = r - 1, N.dispatchAction({
1329
+ const f = M.getOption();
1330
+ let { startValue: L, endValue: y, start: Y, end: O } = f.dataZoom[0];
1331
+ const Q = () => {
1332
+ L !== 0 && (L = L - 1, y = y - 1, M.dispatchAction({
2089
1333
  type: "dataZoom",
2090
- startValue: z,
2091
- endValue: r,
2092
- maxValueSpan: a.value.maxValueSpan
1334
+ startValue: L,
1335
+ endValue: y,
1336
+ maxValueSpan: e.value.maxValueSpan
2093
1337
  }));
2094
- }, A = () => {
2095
- if (a.value.dynamicLoadConfig.futureVisible && !f && !T.value)
2096
- z = z + 1, r = r + 1, N.dispatchAction({
1338
+ }, R = () => {
1339
+ if (e.value.dynamicLoadConfig.futureVisible && !d && !T.value)
1340
+ L = L + 1, y = y + 1, M.dispatchAction({
2097
1341
  type: "dataZoom",
2098
- startValue: z,
2099
- endValue: r,
2100
- maxValueSpan: a.value.maxValueSpan
1342
+ startValue: L,
1343
+ endValue: y,
1344
+ maxValueSpan: e.value.maxValueSpan
2101
1345
  });
2102
1346
  else {
2103
- if (r === j.xAxis[0].data.length - 1)
1347
+ if (y === f.xAxis[0].data.length - 1)
2104
1348
  return;
2105
- z = z + 1, r = r + 1, N.dispatchAction({
1349
+ L = L + 1, y = y + 1, M.dispatchAction({
2106
1350
  type: "dataZoom",
2107
- startValue: z,
2108
- endValue: r,
2109
- maxValueSpan: a.value.maxValueSpan
1351
+ startValue: L,
1352
+ endValue: y,
1353
+ maxValueSpan: e.value.maxValueSpan
2110
1354
  });
2111
1355
  }
2112
- }, O = () => {
2113
- if (r - z < 5)
1356
+ }, Z = () => {
1357
+ if (y - L < 5)
2114
1358
  return;
2115
- const ae = Math.floor((l.value - z) / 2) + 1, de = Math.floor((r - l.value) / 2) + 1;
2116
- z = z + ae, r = r - de, N.dispatchAction({
1359
+ const ee = Math.floor((o.value - L) / 2) + 1, te = Math.floor((y - o.value) / 2) + 1;
1360
+ L = L + ee, y = y - te, M.dispatchAction({
2117
1361
  type: "dataZoom",
2118
- startValue: z,
2119
- endValue: r,
1362
+ startValue: L,
1363
+ endValue: y,
2120
1364
  actionIsWheel: !0,
2121
1365
  // 标记为缩放
2122
- maxValueSpan: a.value.maxValueSpan
1366
+ maxValueSpan: e.value.maxValueSpan
2123
1367
  });
2124
- }, _ = () => {
2125
- L = L - (Y - L) / 4, N.dispatchAction({
1368
+ }, G = () => {
1369
+ Y = Y - (O - Y) / 4, M.dispatchAction({
2126
1370
  type: "dataZoom",
2127
- start: L,
2128
- end: Y,
1371
+ start: Y,
1372
+ end: O,
2129
1373
  actionIsWheel: !0,
2130
1374
  // 标记为缩放
2131
- maxValueSpan: a.value.maxValueSpan
1375
+ maxValueSpan: e.value.maxValueSpan
2132
1376
  });
2133
- }, R = (/* @__PURE__ */ new Map([
2134
- ["ArrowLeft", D],
2135
- ["ArrowRight", A],
2136
- ["ArrowUp", O],
2137
- ["ArrowDown", _]
2138
- ])).get(I.code);
2139
- R instanceof Function && R();
2140
- }, Z = async () => {
2141
- let I = !0;
2142
- N = fe.init(m.value), await s(), p.value = n.defaultMenuData, l.value = N.getOption().dataZoom[0].endValue ?? -1, P(), v = new ResizeObserver(() => {
2143
- if (I) {
2144
- I = null;
1377
+ }, _ = (/* @__PURE__ */ new Map([
1378
+ ["ArrowLeft", Q],
1379
+ ["ArrowRight", R],
1380
+ ["ArrowUp", Z],
1381
+ ["ArrowDown", G]
1382
+ ])).get(g.code);
1383
+ _ instanceof Function && _();
1384
+ }, B = async () => {
1385
+ let g = !0;
1386
+ M = oe.init(I.value), await r(), D.value = t.defaultMenuData, o.value = M.getOption().dataZoom[0].endValue ?? -1, E(), p = new ResizeObserver(() => {
1387
+ if (g) {
1388
+ g = null;
2145
1389
  return;
2146
1390
  }
2147
- N.resize(), s("line");
2148
- }), v.observe(m.value), window.addEventListener("keydown", B);
1391
+ M.resize(), r("line");
1392
+ }), p.observe(I.value), window.addEventListener("keydown", F);
2149
1393
  };
2150
- return se(() => {
2151
- Z();
2152
- }), Be(() => {
2153
- W(), window.removeEventListener("keydown", B), N.dispose(), v.disconnect(), v = null;
2154
- }), (I, j) => {
2155
- const z = nn, r = tn;
2156
- return E(), Q("div", Dn, [
2157
- te("div", Ln, [
2158
- K(Ye, { data: M.value }, null, 8, ["data"]),
2159
- K(Ye, { data: u.value }, null, 8, ["data"]),
2160
- K(Ye, { data: i.value }, null, 8, ["data"])
1394
+ return de(() => {
1395
+ B();
1396
+ }), ge(() => {
1397
+ U(), window.removeEventListener("keydown", F), M.dispose(), p.disconnect(), p = null;
1398
+ }), (g, f) => {
1399
+ const L = he, y = Ce;
1400
+ return C(), v("div", nt, [
1401
+ K("div", ot, [
1402
+ V(se, { data: z.value }, null, 8, ["data"]),
1403
+ V(se, { data: s.value }, null, 8, ["data"]),
1404
+ V(se, { data: l.value }, null, 8, ["data"])
2161
1405
  ]),
2162
- K(rn, {
1406
+ V(Re, {
2163
1407
  class: "st-kline-body",
2164
- onCloseContextMenuCallBack: y
1408
+ onCloseContextMenuCallBack: u
2165
1409
  }, {
2166
- popover: ee(() => [
2167
- K(r, { class: "menu" }, {
2168
- default: ee(() => [
2169
- (E(!0), Q(ne, null, me(p.value, (L) => (E(), ce(z, {
2170
- key: L.label,
2171
- index: L.label,
1410
+ popover: X(() => [
1411
+ V(y, { class: "menu" }, {
1412
+ default: X(() => [
1413
+ (C(!0), v(ae, null, le(D.value, (Y) => (C(), Ae(L, {
1414
+ key: Y.label,
1415
+ index: Y.label,
2172
1416
  class: "menuItem",
2173
- onClick: (Y) => d(L)
1417
+ onClick: (O) => c(Y)
2174
1418
  }, {
2175
- default: ee(() => [
2176
- ot(le(L.label), 1)
1419
+ default: X(() => [
1420
+ Oe(q(Y.label), 1)
2177
1421
  ]),
2178
1422
  _: 2
2179
1423
  }, 1032, ["index", "onClick"]))), 128))
@@ -2181,11 +1425,11 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
2181
1425
  _: 1
2182
1426
  })
2183
1427
  ]),
2184
- default: ee(() => [
2185
- te("div", {
1428
+ default: X(() => [
1429
+ K("div", {
2186
1430
  ref_key: "echartsRef",
2187
- ref: m,
2188
- class: Me(c.value ? "st-kline-chart cursorPen" : "st-kline-chart")
1431
+ ref: I,
1432
+ class: ke(j.value ? "st-kline-chart cursorPen" : "st-kline-chart")
2189
1433
  }, null, 2)
2190
1434
  ]),
2191
1435
  _: 1
@@ -2194,7 +1438,7 @@ const Dn = { class: "st-kline" }, Ln = { class: "st-kline-header" }, vn = 300, h
2194
1438
  };
2195
1439
  }
2196
1440
  });
2197
- const xn = /* @__PURE__ */ oe(hn, [["__scopeId", "data-v-7f014d0e"]]), Yn = { class: "kline-tips" }, An = /* @__PURE__ */ H({
1441
+ const at = /* @__PURE__ */ $(Mt, [["__scopeId", "data-v-7f014d0e"]]), lt = { class: "kline-tips" }, rt = /* @__PURE__ */ Me({
2198
1442
  __name: "index",
2199
1443
  props: {
2200
1444
  // 提示数据
@@ -2203,21 +1447,21 @@ const xn = /* @__PURE__ */ oe(hn, [["__scopeId", "data-v-7f014d0e"]]), Yn = { cl
2203
1447
  require: !0
2204
1448
  }
2205
1449
  },
2206
- setup(e) {
2207
- return (n, o) => (E(), Q("div", Yn, [
2208
- (E(!0), Q(ne, null, me(e.data, (a, t) => (E(), Q("div", {
2209
- key: t,
1450
+ setup(a) {
1451
+ return (t, i) => (C(), v("div", lt, [
1452
+ (C(!0), v(ae, null, le(a.data, (e, n) => (C(), v("div", {
1453
+ key: n,
2210
1454
  class: "kline-tips-item",
2211
- style: Pe({ color: a.color })
2212
- }, le(a.label) + " " + le(a.value), 5))), 128))
1455
+ style: ye({ color: e.color })
1456
+ }, q(e.label) + " " + q(e.value), 5))), 128))
2213
1457
  ]));
2214
1458
  }
2215
1459
  });
2216
- const ke = /* @__PURE__ */ oe(An, [["__scopeId", "data-v-dc7d381b"]]);
2217
- const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
1460
+ const je = /* @__PURE__ */ $(rt, [["__scopeId", "data-v-dc7d381b"]]);
1461
+ const st = { class: "klineSub" }, ct = { class: "klineSub-tips" }, ut = {
2218
1462
  key: 0,
2219
1463
  class: "klineSub-tips-select"
2220
- }, On = {
1464
+ }, Nt = {
2221
1465
  __name: "index",
2222
1466
  props: {
2223
1467
  data: { type: Object, require: !0 },
@@ -2228,57 +1472,57 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2228
1472
  // 副图指标列表
2229
1473
  },
2230
1474
  emits: ["update:modelValue"],
2231
- setup(e, { expose: n, emit: o }) {
2232
- const { round: a } = De;
2233
- let t, l;
2234
- const M = o, u = e, i = k(), s = w({
1475
+ setup(a, { expose: t, emit: i }) {
1476
+ const { round: e } = re;
1477
+ let n, o;
1478
+ const z = i, s = a, l = S(), r = W({
2235
1479
  get() {
2236
- return u.modelValue;
1480
+ return s.modelValue;
2237
1481
  },
2238
- set(d) {
2239
- M("update:modelValue", d);
1482
+ set(c) {
1483
+ z("update:modelValue", c);
2240
1484
  }
2241
- }), c = w(() => {
2242
- var m;
2243
- const { data: d, activeIndex: y } = u;
2244
- return ((m = d == null ? void 0 : d.subIndicator) == null ? void 0 : m.map((N) => ({ label: N.key, color: N.color, value: N.data[y] || "-" }))) || [];
1485
+ }), j = W(() => {
1486
+ var I;
1487
+ const { data: c, activeIndex: u } = s;
1488
+ return ((I = c == null ? void 0 : c.subIndicator) == null ? void 0 : I.map((M) => ({ label: M.key, color: M.color, value: M.data[u] || "-" }))) || [];
2245
1489
  });
2246
- se(() => {
2247
- t = fe.init(i.value);
2248
- let d = !0;
2249
- l = new ResizeObserver(() => {
2250
- if (d) {
2251
- d = null;
1490
+ de(() => {
1491
+ n = oe.init(l.value);
1492
+ let c = !0;
1493
+ o = new ResizeObserver(() => {
1494
+ if (c) {
1495
+ c = null;
2252
1496
  return;
2253
1497
  }
2254
- t.resize();
2255
- }), l.observe(i.value);
2256
- }), Be(() => {
2257
- t.dispose(), l.disconnect(), l = null;
1498
+ n.resize();
1499
+ }), o.observe(l.value);
1500
+ }), ge(() => {
1501
+ n.dispose(), o.disconnect(), o = null;
2258
1502
  });
2259
- const p = (d, y) => {
2260
- const m = d[y], N = y === 0 ? d[y] : d[y - 1];
2261
- return m[0] === m[1] ? m[0] >= N[1] ? {
1503
+ const D = (c, u) => {
1504
+ const I = c[u], M = u === 0 ? c[u] : c[u - 1];
1505
+ return I[0] === I[1] ? I[0] >= M[1] ? {
2262
1506
  color: "transparent",
2263
1507
  borderColor: "#FF0000"
2264
1508
  } : {
2265
1509
  color: "#00FFFF"
2266
- } : m[1] > m[0] ? {
1510
+ } : I[1] > I[0] ? {
2267
1511
  color: "transparent",
2268
1512
  borderColor: "#FF0000"
2269
1513
  } : {
2270
1514
  color: "#00FFFF"
2271
1515
  };
2272
1516
  };
2273
- return n({
2274
- connect: (d) => {
2275
- fe.connect([d, t]);
1517
+ return t({
1518
+ connect: (c) => {
1519
+ oe.connect([c, n]);
2276
1520
  },
2277
1521
  // 联动
2278
- draw: (d, y) => {
2279
- Qe(() => {
2280
- const { startValue: m, endValue: N, maxValueSpan: v } = d, { leftYAxisRange: C, rightYAxisRange: b } = u.data.subIndicator[0], F = u.data.subIndicator.map((g) => {
2281
- if (g.series === "bar")
1522
+ draw: (c, u) => {
1523
+ Ye(() => {
1524
+ const { startValue: I, endValue: M, maxValueSpan: p } = c, { leftYAxisRange: m, rightYAxisRange: w } = s.data.subIndicator[0], b = s.data.subIndicator.map((N) => {
1525
+ if (N.series === "bar")
2282
1526
  return {
2283
1527
  name: "subMain",
2284
1528
  xAxisIndex: 0,
@@ -2286,53 +1530,53 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2286
1530
  type: "bar",
2287
1531
  silent: !0,
2288
1532
  symbol: "none",
2289
- data: g.data.map((f, T) => g.seriesColor === "kline" ? {
2290
- value: f,
2291
- itemStyle: p(u.data.data, T)
2292
- } : g.seriesColor === "value" ? {
2293
- value: f,
1533
+ data: N.data.map((d, T) => N.seriesColor === "kline" ? {
1534
+ value: d,
1535
+ itemStyle: D(s.data.data, T)
1536
+ } : N.seriesColor === "value" ? {
1537
+ value: d,
2294
1538
  itemStyle: {
2295
- color: f >= 0 ? "#FF0000" : "#00FFFF"
1539
+ color: d >= 0 ? "#FF0000" : "#00FFFF"
2296
1540
  }
2297
1541
  } : {
2298
- value: f,
1542
+ value: d,
2299
1543
  itemStyle: {
2300
- color: g.seriesColor
1544
+ color: N.seriesColor
2301
1545
  }
2302
1546
  })
2303
1547
  };
2304
- if (g.series === "line")
1548
+ if (N.series === "line")
2305
1549
  return {
2306
1550
  xAxisIndex: 0,
2307
- yAxisIndex: g.yAxis === "right" ? 2 : 1,
2308
- name: g.key,
1551
+ yAxisIndex: N.yAxis === "right" ? 2 : 1,
1552
+ name: N.key,
2309
1553
  type: "line",
2310
1554
  silent: !0,
2311
1555
  symbol: "none",
2312
- data: g.data,
1556
+ data: N.data,
2313
1557
  lineStyle: {
2314
1558
  width: 1
2315
1559
  },
2316
1560
  itemStyle: {
2317
- color: g.color
1561
+ color: N.color
2318
1562
  }
2319
1563
  };
2320
1564
  });
2321
- t.setOption(
1565
+ n.setOption(
2322
1566
  {
2323
1567
  animation: !1,
2324
1568
  grid: {
2325
- left: `${y.gridLeft}px`,
1569
+ left: `${u.gridLeft}px`,
2326
1570
  top: "10px",
2327
- right: `${y.gridRight}px`,
1571
+ right: `${u.gridRight}px`,
2328
1572
  bottom: "20px"
2329
1573
  },
2330
1574
  dataZoom: [
2331
1575
  {
2332
1576
  type: "inside",
2333
- startValue: m,
2334
- endValue: N,
2335
- maxValueSpan: v
1577
+ startValue: I,
1578
+ endValue: M,
1579
+ maxValueSpan: p
2336
1580
  }
2337
1581
  ],
2338
1582
  tooltip: {
@@ -2343,12 +1587,12 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2343
1587
  type: "cross",
2344
1588
  label: {
2345
1589
  rich: {},
2346
- formatter: (g) => {
2347
- const { axisDimension: f, value: T } = g;
2348
- if (f === "x")
1590
+ formatter: (N) => {
1591
+ const { axisDimension: d, value: T } = N;
1592
+ if (d === "x")
2349
1593
  return T;
2350
- if (g.axisIndex === 1)
2351
- return String(a(T));
1594
+ if (N.axisIndex === 1)
1595
+ return String(e(T));
2352
1596
  }
2353
1597
  }
2354
1598
  },
@@ -2356,7 +1600,7 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2356
1600
  },
2357
1601
  xAxis: {
2358
1602
  type: "category",
2359
- data: u.data.time,
1603
+ data: s.data.time,
2360
1604
  axisLine: {
2361
1605
  show: !0
2362
1606
  },
@@ -2365,7 +1609,7 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2365
1609
  },
2366
1610
  axisLabel: {
2367
1611
  show: !0,
2368
- formatter: (g) => g
1612
+ formatter: (N) => N
2369
1613
  }
2370
1614
  },
2371
1615
  yAxis: [
@@ -2374,8 +1618,8 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2374
1618
  },
2375
1619
  {
2376
1620
  position: "left",
2377
- min: C === "cover" ? (g) => g.min : null,
2378
- max: C === "cover" ? (g) => g.max : null,
1621
+ min: m === "cover" ? (N) => N.min : null,
1622
+ max: m === "cover" ? (N) => N.max : null,
2379
1623
  splitNumber: 1,
2380
1624
  axisLine: {
2381
1625
  show: !0
@@ -2390,8 +1634,8 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2390
1634
  },
2391
1635
  {
2392
1636
  position: "right",
2393
- min: b === "cover" ? (g) => g.min : null,
2394
- max: b === "cover" ? (g) => g.max : null,
1637
+ min: w === "cover" ? (N) => N.min : null,
1638
+ max: w === "cover" ? (N) => N.max : null,
2395
1639
  splitNumber: 1,
2396
1640
  axisLine: {
2397
1641
  show: !1
@@ -2404,47 +1648,47 @@ const Cn = { class: "klineSub" }, bn = { class: "klineSub-tips" }, wn = {
2404
1648
  }
2405
1649
  }
2406
1650
  ],
2407
- series: F
1651
+ series: b
2408
1652
  },
2409
1653
  !0
2410
1654
  );
2411
1655
  });
2412
1656
  }
2413
1657
  // 重置
2414
- }), (d, y) => {
2415
- const m = Ct, N = bt;
2416
- return E(), Q("div", Cn, [
2417
- te("div", bn, [
2418
- c.value.length ? (E(), Q("div", wn, [
2419
- K(N, {
2420
- modelValue: s.value,
2421
- "onUpdate:modelValue": y[0] || (y[0] = (v) => s.value = v),
1658
+ }), (c, u) => {
1659
+ const I = Ee, M = Se;
1660
+ return C(), v("div", st, [
1661
+ K("div", ct, [
1662
+ j.value.length ? (C(), v("div", ut, [
1663
+ V(M, {
1664
+ modelValue: r.value,
1665
+ "onUpdate:modelValue": u[0] || (u[0] = (p) => r.value = p),
2422
1666
  size: "small",
2423
1667
  "popper-class": "element-dark",
2424
1668
  class: "element-dark subIndicator"
2425
1669
  }, {
2426
- default: ee(() => [
2427
- (E(!0), Q(ne, null, me(e.subIndicatorList, (v) => (E(), ce(m, {
2428
- key: v.value,
2429
- label: v.label,
2430
- value: v.value
1670
+ default: X(() => [
1671
+ (C(!0), v(ae, null, le(a.subIndicatorList, (p) => (C(), Ae(I, {
1672
+ key: p.value,
1673
+ label: p.label,
1674
+ value: p.value
2431
1675
  }, null, 8, ["label", "value"]))), 128))
2432
1676
  ]),
2433
1677
  _: 1
2434
1678
  }, 8, ["modelValue"])
2435
- ])) : at("", !0),
2436
- K(ke, { data: c.value }, null, 8, ["data"])
1679
+ ])) : xe("", !0),
1680
+ V(je, { data: j.value }, null, 8, ["data"])
2437
1681
  ]),
2438
- te("div", {
1682
+ K("div", {
2439
1683
  class: "klineSub-chart",
2440
1684
  ref_key: "subChartRef",
2441
- ref: i
1685
+ ref: l
2442
1686
  }, null, 512)
2443
1687
  ]);
2444
1688
  };
2445
1689
  }
2446
- }, kn = /* @__PURE__ */ oe(On, [["__scopeId", "data-v-aba58678"]]);
2447
- const En = { class: "kline-tips" }, Sn = {
1690
+ }, zt = /* @__PURE__ */ $(Nt, [["__scopeId", "data-v-aba58678"]]);
1691
+ const jt = { class: "kline-tips" }, yt = {
2448
1692
  __name: "index",
2449
1693
  props: {
2450
1694
  // 提示数据
@@ -2457,140 +1701,140 @@ const En = { class: "kline-tips" }, Sn = {
2457
1701
  require: !0
2458
1702
  }
2459
1703
  },
2460
- setup(e) {
2461
- const { round: n, formatValue: o } = De, a = e, t = w(() => {
2462
- const { data: M, activeIndex: u } = a;
2463
- if (M.data && M.data[u]) {
2464
- const i = M.data[u], s = [
2465
- { label: "开", value: n(i[0]) },
2466
- { label: "高", value: n(i[3]) },
2467
- { label: "低", value: n(i[2]) },
2468
- { label: "收", value: n(i[1]) }
1704
+ setup(a) {
1705
+ const { round: t, formatValue: i } = re, e = a, n = W(() => {
1706
+ const { data: z, activeIndex: s } = e;
1707
+ if (z.data && z.data[s]) {
1708
+ const l = z.data[s], r = [
1709
+ { label: "开", value: t(l[0]) },
1710
+ { label: "高", value: t(l[3]) },
1711
+ { label: "低", value: t(l[2]) },
1712
+ { label: "收", value: t(l[1]) }
2469
1713
  ];
2470
- i[4] !== null && s.push({ label: "额", value: o(i[4]) });
2471
- let c;
2472
- return i[6] > 0 ? c = "red" : i[6] < 0 && (c = "green"), s.push({ label: "涨跌", value: `${n(i[6])}%`, color: c }), s;
1714
+ l[4] !== null && r.push({ label: "额", value: i(l[4]) });
1715
+ let j;
1716
+ return l[6] > 0 ? j = "red" : l[6] < 0 && (j = "green"), r.push({ label: "涨跌", value: `${t(l[6])}%`, color: j }), r;
2473
1717
  }
2474
1718
  return [];
2475
- }), l = w(() => {
2476
- var i;
2477
- const { data: M, activeIndex: u } = a;
2478
- return ((i = M == null ? void 0 : M.mainIndicator) == null ? void 0 : i.map((s) => ({ label: s.key, value: n(s.data[u]), color: s.color }))) || [];
1719
+ }), o = W(() => {
1720
+ var l;
1721
+ const { data: z, activeIndex: s } = e;
1722
+ return ((l = z == null ? void 0 : z.mainIndicator) == null ? void 0 : l.map((r) => ({ label: r.key, value: t(r.data[s]), color: r.color }))) || [];
2479
1723
  });
2480
- return (M, u) => (E(), Q("div", En, [
2481
- K(ke, { data: t.value }, null, 8, ["data"]),
2482
- K(ke, { data: l.value }, null, 8, ["data"])
1724
+ return (z, s) => (C(), v("div", jt, [
1725
+ V(je, { data: n.value }, null, 8, ["data"]),
1726
+ V(je, { data: o.value }, null, 8, ["data"])
2483
1727
  ]));
2484
1728
  }
2485
- }, _n = /* @__PURE__ */ oe(Sn, [["__scopeId", "data-v-a12855fe"]]), Fn = {
1729
+ }, dt = /* @__PURE__ */ $(yt, [["__scopeId", "data-v-a12855fe"]]), gt = {
2486
1730
  __name: "index",
2487
- setup(e, { expose: n }) {
2488
- return n({
1731
+ setup(a, { expose: t }) {
1732
+ return t({
2489
1733
  // 键盘事件处理
2490
- handleKeyDown: (o, a) => {
2491
- let { startValue: t, endValue: l, maxIndex: M } = a;
2492
- if (o.code === "ArrowLeft") {
2493
- if (t === 0)
1734
+ handleKeyDown: (i, e) => {
1735
+ let { startValue: n, endValue: o, maxIndex: z } = e;
1736
+ if (i.code === "ArrowLeft") {
1737
+ if (n === 0)
2494
1738
  return;
2495
- t = t - 1, l = l - 1;
2496
- } else if (o.code === "ArrowRight") {
2497
- if (l === M)
1739
+ n = n - 1, o = o - 1;
1740
+ } else if (i.code === "ArrowRight") {
1741
+ if (o === z)
2498
1742
  return;
2499
- t = t + 1, l = l + 1;
2500
- } else if (o.code === "ArrowUp") {
2501
- if (l - t < 5)
1743
+ n = n + 1, o = o + 1;
1744
+ } else if (i.code === "ArrowUp") {
1745
+ if (o - n < 5)
2502
1746
  return;
2503
- const u = Math.floor((l - t) / 2) + 1;
2504
- t = t + u, l - t < 5 && (t = l - 4);
2505
- } else if (o.code === "ArrowDown") {
2506
- const u = Math.min(500, l - t);
2507
- t = t - u - 1;
1747
+ const s = Math.floor((o - n) / 2) + 1;
1748
+ n = n + s, o - n < 5 && (n = o - 4);
1749
+ } else if (i.code === "ArrowDown") {
1750
+ const s = Math.min(500, o - n);
1751
+ n = n - s - 1;
2508
1752
  }
2509
1753
  return {
2510
- startValue: t,
2511
- endValue: l
1754
+ startValue: n,
1755
+ endValue: o
2512
1756
  };
2513
1757
  },
2514
1758
  // 合并数据
2515
- mergeData: (o, a) => ({
2516
- time: [...o.time, ...a.time.slice(1)],
2517
- data: [...o.data, ...a.data.slice(1)],
2518
- mainIndicator: o.mainIndicator.map((t, l) => ({
2519
- ...t,
2520
- data: [...t.data, ...a.mainIndicator[l].data.slice(1)]
1759
+ mergeData: (i, e) => ({
1760
+ time: [...i.time, ...e.time.slice(1)],
1761
+ data: [...i.data, ...e.data.slice(1)],
1762
+ mainIndicator: i.mainIndicator.map((n, o) => ({
1763
+ ...n,
1764
+ data: [...n.data, ...e.mainIndicator[o].data.slice(1)]
2521
1765
  })),
2522
- subIndicator: o.subIndicator.map((t, l) => ({
2523
- ...t,
2524
- data: [...t.data, ...a.subIndicator[l].data.slice(1)]
1766
+ subIndicator: i.subIndicator.map((n, o) => ({
1767
+ ...n,
1768
+ data: [...n.data, ...e.subIndicator[o].data.slice(1)]
2525
1769
  }))
2526
1770
  }),
2527
1771
  // 根据时间解析dataZoom
2528
- getDataZoomInfoByTime: (o) => {
2529
- const { showStartTime: a, showEndTime: t, maxShowDays: l } = o;
2530
- let M = -1, u = -1, i = {};
2531
- return o.time.forEach((s, c) => {
2532
- const p = s.split(" ")[0];
2533
- i[p] = i[p] || 0, i[p] += 1, M === -1 && new Date(s) >= new Date(a) && (M = c), u === -1 && new Date(s) >= new Date(t) && (u = c);
2534
- }), u = u === -1 ? o.time.length - 1 : u, {
2535
- startValue: M,
2536
- endValue: u,
2537
- maxValueSpan: Math.max(...Object.values(i)) * l
1772
+ getDataZoomInfoByTime: (i) => {
1773
+ const { showStartTime: e, showEndTime: n, maxShowDays: o } = i;
1774
+ let z = -1, s = -1, l = {};
1775
+ return i.time.forEach((r, j) => {
1776
+ const D = r.split(" ")[0];
1777
+ l[D] = l[D] || 0, l[D] += 1, z === -1 && new Date(r) >= new Date(e) && (z = j), s === -1 && new Date(r) >= new Date(n) && (s = j);
1778
+ }), s = s === -1 ? i.time.length - 1 : s, {
1779
+ startValue: z,
1780
+ endValue: s,
1781
+ maxValueSpan: Math.max(...Object.values(l)) * o
2538
1782
  };
2539
1783
  }
2540
- }), (o, a) => null;
1784
+ }), (i, e) => null;
2541
1785
  }
2542
1786
  };
2543
- const Qn = {
1787
+ const Tt = {
2544
1788
  __name: "index",
2545
1789
  props: {
2546
1790
  data: { type: Array, default: () => [] }
2547
1791
  // 时间数据
2548
1792
  },
2549
1793
  emits: ["change"],
2550
- setup(e, { expose: n, emit: o }) {
2551
- let a, t, l = null;
2552
- const M = o, u = e, i = k();
2553
- J(
2554
- () => u.data,
1794
+ setup(a, { expose: t, emit: i }) {
1795
+ let e, n, o = null;
1796
+ const z = i, s = a, l = S();
1797
+ H(
1798
+ () => s.data,
2555
1799
  () => {
2556
- p();
1800
+ D();
2557
1801
  },
2558
1802
  { deep: !0 }
2559
- ), se(() => {
2560
- a = fe.init(i.value), s(), p();
2561
- let d = !0;
2562
- t = new ResizeObserver(() => {
2563
- if (d) {
2564
- d = null;
1803
+ ), de(() => {
1804
+ e = oe.init(l.value), r(), D();
1805
+ let c = !0;
1806
+ n = new ResizeObserver(() => {
1807
+ if (c) {
1808
+ c = null;
2565
1809
  return;
2566
1810
  }
2567
- a.resize();
2568
- }), t.observe(i.value);
2569
- }), Be(() => {
2570
- a.off("datazoom"), a.dispose(), t.disconnect(), t = null;
1811
+ e.resize();
1812
+ }), n.observe(l.value);
1813
+ }), ge(() => {
1814
+ e.off("datazoom"), e.dispose(), n.disconnect(), n = null;
2571
1815
  });
2572
- const s = () => {
2573
- a.on("datazoom", (d) => {
2574
- d.dataZoomId && (clearTimeout(l), l = setTimeout(() => {
2575
- const { data: y } = u, { start: m, end: N } = d, v = Math.floor(m * y.length / 100), C = N === 100 ? y.length - 1 : Math.floor(N * y.length / 100);
2576
- c(v, C), clearTimeout(l);
1816
+ const r = () => {
1817
+ e.on("datazoom", (c) => {
1818
+ c.dataZoomId && (clearTimeout(o), o = setTimeout(() => {
1819
+ const { data: u } = s, { start: I, end: M } = c, p = Math.floor(I * u.length / 100), m = M === 100 ? u.length - 1 : Math.floor(M * u.length / 100);
1820
+ j(p, m), clearTimeout(o);
2577
1821
  }, 100));
2578
1822
  });
2579
- }, c = (d, y) => {
2580
- const m = u.data;
2581
- if (m.length === 0)
1823
+ }, j = (c, u) => {
1824
+ const I = s.data;
1825
+ if (I.length === 0)
2582
1826
  return;
2583
- const N = m[d][0].split(" ")[0], v = m[y][0].split(" ")[0];
2584
- M("change", {
2585
- startTime: `${N} 00:00:00`,
2586
- endTime: `${v} 24:00:00`
1827
+ const M = I[c][0].split(" ")[0], p = I[u][0].split(" ")[0];
1828
+ z("change", {
1829
+ startTime: `${M} 00:00:00`,
1830
+ endTime: `${p} 24:00:00`
2587
1831
  });
2588
- }, p = () => {
2589
- const { data: d } = u;
2590
- if (d.length === 0)
1832
+ }, D = () => {
1833
+ const { data: c } = s;
1834
+ if (c.length === 0)
2591
1835
  return;
2592
- const y = d.map((N) => N[0].split(" ")[0]), m = d.map((N) => N[1]);
2593
- a.setOption({
1836
+ const u = c.map((M) => M[0].split(" ")[0]), I = c.map((M) => M[1]);
1837
+ e.setOption({
2594
1838
  grid: {
2595
1839
  height: 0,
2596
1840
  left: "80px",
@@ -2598,7 +1842,7 @@ const Qn = {
2598
1842
  },
2599
1843
  xAxis: {
2600
1844
  type: "category",
2601
- data: y,
1845
+ data: u,
2602
1846
  show: !1
2603
1847
  },
2604
1848
  yAxis: {
@@ -2606,52 +1850,52 @@ const Qn = {
2606
1850
  },
2607
1851
  series: [
2608
1852
  {
2609
- data: m,
1853
+ data: I,
2610
1854
  type: "line"
2611
1855
  }
2612
1856
  ]
2613
1857
  }, !0);
2614
1858
  };
2615
- return n({
2616
- resetSlide: (d, y, m) => {
2617
- let N = -1, v = -1;
2618
- u.data.forEach((C, b) => {
2619
- N === -1 && C[0] === d ? N = b : N === -1 && new Date(C[0]) > new Date(d) && (N = b - 1), (v === -1 && C[0] === y || v === -1 && new Date(C[0]) > new Date(y)) && (v = b);
2620
- }), v = v === -1 ? u.data.length - 1 : v, a.setOption({
1859
+ return t({
1860
+ resetSlide: (c, u, I) => {
1861
+ let M = -1, p = -1;
1862
+ s.data.forEach((m, w) => {
1863
+ M === -1 && m[0] === c ? M = w : M === -1 && new Date(m[0]) > new Date(c) && (M = w - 1), (p === -1 && m[0] === u || p === -1 && new Date(m[0]) > new Date(u)) && (p = w);
1864
+ }), p = p === -1 ? s.data.length - 1 : p, e.setOption({
2621
1865
  dataZoom: [
2622
1866
  {
2623
1867
  show: !0,
2624
- startValue: N,
2625
- endValue: v,
2626
- maxValueSpan: m,
1868
+ startValue: M,
1869
+ endValue: p,
1870
+ maxValueSpan: I,
2627
1871
  textStyle: {
2628
1872
  color: "#ccc"
2629
1873
  }
2630
1874
  },
2631
1875
  {
2632
1876
  type: "inside",
2633
- startValue: N,
2634
- endValue: v,
2635
- maxValueSpan: m
1877
+ startValue: M,
1878
+ endValue: p,
1879
+ maxValueSpan: I
2636
1880
  }
2637
1881
  ]
2638
1882
  });
2639
1883
  },
2640
1884
  // 重置
2641
1885
  resize: () => {
2642
- a == null || a.resize();
1886
+ e == null || e.resize();
2643
1887
  }
2644
- }), (d, y) => (E(), Q("div", {
1888
+ }), (c, u) => (C(), v("div", {
2645
1889
  class: "klineSlide",
2646
1890
  ref_key: "slideChartRef",
2647
- ref: i
1891
+ ref: l
2648
1892
  }, null, 512));
2649
1893
  }
2650
- }, Pn = /* @__PURE__ */ oe(Qn, [["__scopeId", "data-v-7a2f3dd0"]]), Mo = {
2651
- install(e) {
2652
- e.component("st-kline", xn), e.component("st-kline-sub-new", kn), e.component("st-kline-tips-new", _n), e.component("st-kline-slide-new", Pn), e.component("st-kline-utils-new", Fn);
1894
+ }, Dt = /* @__PURE__ */ $(Tt, [["__scopeId", "data-v-7a2f3dd0"]]), Rt = {
1895
+ install(a) {
1896
+ a.component("st-kline", at), a.component("st-kline-sub-new", zt), a.component("st-kline-tips-new", dt), a.component("st-kline-slide-new", Dt), a.component("st-kline-utils-new", gt);
2653
1897
  }
2654
1898
  };
2655
1899
  export {
2656
- Mo as default
1900
+ Rt as default
2657
1901
  };