st-comp 0.0.262 → 0.0.263

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