st-comp 0.0.88 → 0.0.90

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 (71) hide show
  1. package/es/ChartLayout.cjs +1 -1
  2. package/es/ChartLayout.js +2 -2
  3. package/es/Dialog.cjs +1 -1
  4. package/es/Dialog.js +10 -10
  5. package/es/Kline.cjs +1 -1
  6. package/es/Kline.js +89 -89
  7. package/es/KlineNew.cjs +1 -1
  8. package/es/KlineNew.js +7 -7
  9. package/es/Pagination.cjs +1 -1
  10. package/es/Pagination.js +138 -138
  11. package/es/Table.cjs +1 -1
  12. package/es/Table.js +27 -27
  13. package/es/TreeMap.cjs +2 -1
  14. package/es/TreeMap.js +163 -1
  15. package/es/VarietySearch.cjs +2 -2
  16. package/es/VarietySearch.js +336 -312
  17. package/es/VirtualTable.cjs +3 -3
  18. package/es/VirtualTable.js +119 -119
  19. package/es/{base-2b869b95.cjs → base-315cbfab.cjs} +1 -1
  20. package/es/{base-5e2578a9.js → base-e85dae08.js} +66 -66
  21. package/es/{castArray-9b96e1ad.js → castArray-b93d1330.js} +1 -1
  22. package/es/castArray-f54f6f75.cjs +1 -0
  23. package/es/{config-provider-25d2db4b.cjs → config-provider-17c85684.cjs} +1 -1
  24. package/es/{config-provider-ddbd0b1c.js → config-provider-cb918d0f.js} +8 -8
  25. package/es/{el-button-daeb181f.js → el-button-aab1dbd4.js} +60 -60
  26. package/es/{el-button-8fca9a5d.cjs → el-button-ec16f484.cjs} +1 -1
  27. package/es/{el-empty-d83469ab.cjs → el-empty-16ceef82.cjs} +1 -1
  28. package/es/{el-empty-b1d5d1e4.js → el-empty-ab3ce002.js} +11 -11
  29. package/es/{el-icon-0bfbe0c8.js → el-icon-2d22f211.js} +673 -673
  30. package/es/el-icon-773986c7.cjs +20 -0
  31. package/es/el-overlay-6d0c5cc3.cjs +5 -0
  32. package/es/{el-overlay-fcd84f34.js → el-overlay-98d7f866.js} +66 -66
  33. package/es/{el-scrollbar-0f49204a.js → el-scrollbar-7b9d83d5.js} +44 -44
  34. package/es/{el-scrollbar-43353984.cjs → el-scrollbar-9473fd47.cjs} +1 -1
  35. package/es/el-select-d3f15536.cjs +9 -0
  36. package/es/{el-select-1a2f2c95.js → el-select-fd76b16b.js} +239 -239
  37. package/es/{el-tag-1e32cb79.js → el-tag-87576c55.js} +144 -144
  38. package/es/el-tag-a6a4d4ef.cjs +1 -0
  39. package/es/{focus-trap-82e6ab3c.js → focus-trap-067be6d2.js} +12 -12
  40. package/es/{focus-trap-19c04a47.cjs → focus-trap-ea177336.cjs} +1 -1
  41. package/es/raf-b091dc88.js +6 -0
  42. package/es/{raf-a8539dc6.cjs → raf-c437ab23.cjs} +1 -1
  43. package/es/{scroll-8d15ce5a.js → scroll-510cef88.js} +1 -1
  44. package/es/{scroll-5ec08336.cjs → scroll-a80e1458.cjs} +1 -1
  45. package/es/style.css +1 -1
  46. package/es/{use-form-item-ea29755c.js → use-form-item-439ac27c.js} +135 -135
  47. package/es/{use-form-item-3d2a7ac7.cjs → use-form-item-7924b6c1.cjs} +1 -1
  48. package/es/use-global-config-857b51f5.js +110 -0
  49. package/es/use-global-config-d02be80b.cjs +1 -0
  50. package/es/{vnode-b447c505.cjs → vnode-85a610a2.cjs} +1 -1
  51. package/es/{vnode-2ad5aae4.js → vnode-8c7963dc.js} +1 -1
  52. package/es/{zh-cn-35bd18a8.cjs → zh-cn-0024c96d.cjs} +1 -1
  53. package/es/{zh-cn-6a7c1846.js → zh-cn-c2b42b5f.js} +2 -2
  54. package/lib/bundle.js +1 -1
  55. package/lib/bundle.umd.cjs +1 -1
  56. package/lib/{index-cf938a55.js → index-4512909d.js} +63 -39
  57. package/lib/{python-40015c17.js → python-7403caa0.js} +1 -1
  58. package/lib/style.css +1 -1
  59. package/package.json +1 -1
  60. package/packages/VarietySearch/components/CommonIndicator/index.vue +5 -40
  61. package/packages/VarietySearch/config.js +9 -9
  62. package/packages/VarietySearch/index.vue +41 -20
  63. package/src/pages/VarietySearch/index.vue +9 -9
  64. package/es/castArray-adec592d.cjs +0 -1
  65. package/es/el-icon-19bc1691.cjs +0 -20
  66. package/es/el-overlay-88994e77.cjs +0 -5
  67. package/es/el-select-c3d21536.cjs +0 -9
  68. package/es/el-tag-7737bede.cjs +0 -1
  69. package/es/raf-7414f3eb.js +0 -6
  70. package/es/use-global-config-3496cd4f.cjs +0 -1
  71. package/es/use-global-config-9eba4e5e.js +0 -110
@@ -1 +1 @@
1
- "use strict";require("./base-2b869b95.cjs");const i=require("./el-empty-d83469ab.cjs"),t=require("vue"),r=require("./_plugin-vue_export-helper-f246444f.cjs");const o={__name:"index",props:{data:{type:Array,default:()=>[]},spacing:{type:Number,default:()=>2},row:{type:Number,default:()=>3},col:{type:Number,default:()=>3},emptyText:{type:String,default:()=>"暂无数据"}},setup(e){return(a,s)=>{const n=i.ElEmpty;return e.data&&e.data.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chartLayout",style:t.normalizeStyle({width:`calc(100% + ${e.spacing}px)`,height:`calc(100% + ${e.spacing}px)`})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data.slice(0,e.col*e.row),(c,l)=>(t.openBlock(),t.createElementBlock("div",{key:c.key,class:"chartLayout-item",style:t.normalizeStyle({margin:`0 ${e.spacing}px ${e.spacing}px 0`,width:`calc(100% / ${e.row} - ${e.spacing}px)`,height:`calc(100% / ${e.col} - ${e.spacing}px)`})},[t.renderSlot(a.$slots,"default",{data:c,index:l},void 0,!0)],4))),128))],4)):(t.openBlock(),t.createBlock(n,{key:1,description:e.emptyText,style:{height:"80%"}},null,8,["description"]))}}},u=r._export_sfc(o,[["__scopeId","data-v-578f611c"]]),d={install(e){e.component("st-chartLayout",u)}};module.exports=d;
1
+ "use strict";require("./base-315cbfab.cjs");const i=require("./el-empty-16ceef82.cjs"),t=require("vue"),r=require("./_plugin-vue_export-helper-f246444f.cjs");const o={__name:"index",props:{data:{type:Array,default:()=>[]},spacing:{type:Number,default:()=>2},row:{type:Number,default:()=>3},col:{type:Number,default:()=>3},emptyText:{type:String,default:()=>"暂无数据"}},setup(e){return(a,s)=>{const n=i.ElEmpty;return e.data&&e.data.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chartLayout",style:t.normalizeStyle({width:`calc(100% + ${e.spacing}px)`,height:`calc(100% + ${e.spacing}px)`})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data.slice(0,e.col*e.row),(c,l)=>(t.openBlock(),t.createElementBlock("div",{key:c.key,class:"chartLayout-item",style:t.normalizeStyle({margin:`0 ${e.spacing}px ${e.spacing}px 0`,width:`calc(100% / ${e.row} - ${e.spacing}px)`,height:`calc(100% / ${e.col} - ${e.spacing}px)`})},[t.renderSlot(a.$slots,"default",{data:c,index:l},void 0,!0)],4))),128))],4)):(t.openBlock(),t.createBlock(n,{key:1,description:e.emptyText,style:{height:"80%"}},null,8,["description"]))}}},u=r._export_sfc(o,[["__scopeId","data-v-578f611c"]]),d={install(e){e.component("st-chartLayout",u)}};module.exports=d;
package/es/ChartLayout.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./base-5e2578a9.js";
2
- import { E as r } from "./el-empty-b1d5d1e4.js";
1
+ import "./base-e85dae08.js";
2
+ import { E as r } from "./el-empty-ab3ce002.js";
3
3
  import { openBlock as e, createElementBlock as a, normalizeStyle as n, Fragment as o, renderList as u, renderSlot as s, createBlock as y } from "vue";
4
4
  import { _ as m } from "./_plugin-vue_export-helper-dad06003.js";
5
5
  const f = {
package/es/Dialog.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";require("./base-2b869b95.cjs");const u=require("./zh-cn-35bd18a8.cjs"),f=require("./el-overlay-88994e77.cjs"),V=require("./el-button-8fca9a5d.cjs"),e=require("vue");require("./config-provider-25d2db4b.cjs");require("./use-global-config-3496cd4f.cjs");require("./use-form-item-3d2a7ac7.cjs");require("./vnode-b447c505.cjs");require("./focus-trap-19c04a47.cjs");require("./scroll-5ec08336.cjs");require("./index-eea0bcb3.cjs");const C=e.createElementVNode("span",null,"This is a message",-1),_={class:"dialog-footer"},q=e.defineComponent({__name:"index",props:{modelValue:{type:Boolean,required:!0},title:{type:String,default:()=>""},style:{type:String,default:()=>""}},emits:["update:modelValue"],setup(o,{emit:s}){const i=s,d=o,l=e.computed({get(){return d.modelValue},set(n){i("update:modelValue",n)}}),c=n=>{i("update:modelValue",!1)};return(n,t)=>{const a=V.ElButton,m=f.ElDialog,p=u.ElConfigProvider;return e.openBlock(),e.createBlock(p,{locale:e.unref(u.zhCn)},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:l.value,"onUpdate:modelValue":t[2]||(t[2]=r=>l.value=r),title:o.title,width:"30%","before-close":c,style:e.normalizeStyle(o.style)},{footer:e.withCtx(()=>[e.createElementVNode("span",_,[e.createVNode(a,{onClick:t[0]||(t[0]=r=>l.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("Cancel")]),_:1}),e.createVNode(a,{type:"primary",onClick:t[1]||(t[1]=r=>l.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" Confirm ")]),_:1})])]),default:e.withCtx(()=>[C]),_:1},8,["modelValue","title","style"])]),_:1},8,["locale"])}}}),v={install(o){o.component("st-dialog",q)}};module.exports=v;
1
+ "use strict";require("./base-315cbfab.cjs");const u=require("./zh-cn-0024c96d.cjs"),f=require("./el-overlay-6d0c5cc3.cjs"),V=require("./el-button-ec16f484.cjs"),e=require("vue");require("./config-provider-17c85684.cjs");require("./use-global-config-d02be80b.cjs");require("./use-form-item-7924b6c1.cjs");require("./vnode-85a610a2.cjs");require("./focus-trap-ea177336.cjs");require("./scroll-a80e1458.cjs");require("./index-eea0bcb3.cjs");const C=e.createElementVNode("span",null,"This is a message",-1),_={class:"dialog-footer"},q=e.defineComponent({__name:"index",props:{modelValue:{type:Boolean,required:!0},title:{type:String,default:()=>""},style:{type:String,default:()=>""}},emits:["update:modelValue"],setup(o,{emit:s}){const i=s,d=o,l=e.computed({get(){return d.modelValue},set(n){i("update:modelValue",n)}}),c=n=>{i("update:modelValue",!1)};return(n,t)=>{const a=V.ElButton,m=f.ElDialog,p=u.ElConfigProvider;return e.openBlock(),e.createBlock(p,{locale:e.unref(u.zhCn)},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:l.value,"onUpdate:modelValue":t[2]||(t[2]=r=>l.value=r),title:o.title,width:"30%","before-close":c,style:e.normalizeStyle(o.style)},{footer:e.withCtx(()=>[e.createElementVNode("span",_,[e.createVNode(a,{onClick:t[0]||(t[0]=r=>l.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("Cancel")]),_:1}),e.createVNode(a,{type:"primary",onClick:t[1]||(t[1]=r=>l.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" Confirm ")]),_:1})])]),default:e.withCtx(()=>[C]),_:1},8,["modelValue","title","style"])]),_:1},8,["locale"])}}}),v={install(o){o.component("st-dialog",q)}};module.exports=v;
package/es/Dialog.js CHANGED
@@ -1,14 +1,14 @@
1
- import "./base-5e2578a9.js";
2
- import { z as V, E as g } from "./zh-cn-6a7c1846.js";
3
- import { E as y } from "./el-overlay-fcd84f34.js";
4
- import { E as v } from "./el-button-daeb181f.js";
1
+ import "./base-e85dae08.js";
2
+ import { z as V, E as g } from "./zh-cn-c2b42b5f.js";
3
+ import { E as y } from "./el-overlay-98d7f866.js";
4
+ import { E as v } from "./el-button-aab1dbd4.js";
5
5
  import { defineComponent as C, computed as E, openBlock as x, createBlock as k, unref as B, withCtx as o, createVNode as i, normalizeStyle as b, createElementVNode as d, createTextVNode as m } from "vue";
6
- import "./config-provider-ddbd0b1c.js";
7
- import "./use-global-config-9eba4e5e.js";
8
- import "./use-form-item-ea29755c.js";
9
- import "./vnode-2ad5aae4.js";
10
- import "./focus-trap-82e6ab3c.js";
11
- import "./scroll-8d15ce5a.js";
6
+ import "./config-provider-cb918d0f.js";
7
+ import "./use-global-config-857b51f5.js";
8
+ import "./use-form-item-439ac27c.js";
9
+ import "./vnode-8c7963dc.js";
10
+ import "./focus-trap-067be6d2.js";
11
+ import "./scroll-510cef88.js";
12
12
  import "./index-657047bb.js";
13
13
  const z = /* @__PURE__ */ d("span", null, "This is a message", -1), N = { class: "dialog-footer" }, S = /* @__PURE__ */ C({
14
14
  __name: "index",
package/es/Kline.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const x=require("./base-2b869b95.cjs");require("./el-tooltip-0ea8fbf8.cjs");const fe=require("./el-tag-7737bede.cjs"),e=require("vue"),xe=require("echarts"),Z=require("./_plugin-vue_export-helper-f246444f.cjs"),oe=require("./bundle.umd-c5698c50.cjs"),me=require("./index.esm-94a95a2a.cjs"),Ae=require("./el-scrollbar-43353984.cjs"),W=require("./use-form-item-3d2a7ac7.cjs"),U=require("./focus-trap-19c04a47.cjs"),Ye=require("./index-eea0bcb3.cjs"),Ce=require("./typescript-b63f8e83.cjs"),we=require("./vnode-b447c505.cjs"),ye=require("./el-select-c3d21536.cjs");require("./_commonjsHelpers-87b0abe8.cjs");require("./scroll-5ec08336.cjs");function be(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const l in t)if(l!=="default"){const a=Object.getOwnPropertyDescriptor(t,l);Object.defineProperty(o,l,a.get?a:{enumerable:!0,get:()=>t[l]})}}return o.default=t,Object.freeze(o)}const te=be(xe),K=function(t,o,...l){let a;o.includes("mouse")||o.includes("click")?a="MouseEvents":o.includes("key")?a="KeyboardEvent":a="HTMLEvents";const n=document.createEvent(a);return n.initEvent(o,...l),t.dispatchEvent(n),t},ke=e.defineComponent({name:"ElCollapseTransition"}),Oe=e.defineComponent({...ke,setup(t){const o=x.useNamespace("collapse-transition"),l=n=>{n.style.maxHeight="",n.style.overflow=n.dataset.oldOverflow,n.style.paddingTop=n.dataset.oldPaddingTop,n.style.paddingBottom=n.dataset.oldPaddingBottom},a={beforeEnter(n){n.dataset||(n.dataset={}),n.dataset.oldPaddingTop=n.style.paddingTop,n.dataset.oldPaddingBottom=n.style.paddingBottom,n.style.maxHeight=0,n.style.paddingTop=0,n.style.paddingBottom=0},enter(n){n.dataset.oldOverflow=n.style.overflow,n.scrollHeight!==0?n.style.maxHeight=`${n.scrollHeight}px`:n.style.maxHeight=0,n.style.paddingTop=n.dataset.oldPaddingTop,n.style.paddingBottom=n.dataset.oldPaddingBottom,n.style.overflow="hidden"},afterEnter(n){n.style.maxHeight="",n.style.overflow=n.dataset.oldOverflow},enterCancelled(n){l(n)},beforeLeave(n){n.dataset||(n.dataset={}),n.dataset.oldPaddingTop=n.style.paddingTop,n.dataset.oldPaddingBottom=n.style.paddingBottom,n.dataset.oldOverflow=n.style.overflow,n.style.maxHeight=`${n.scrollHeight}px`,n.style.overflow="hidden"},leave(n){n.scrollHeight!==0&&(n.style.maxHeight=0,n.style.paddingTop=0,n.style.paddingBottom=0)},afterLeave(n){l(n)},leaveCancelled(n){l(n)}};return(n,s)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(o).b()},e.toHandlers(a)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["name"]))}});var ee=x._export_sfc(Oe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);ee.install=t=>{t.component(ee.name,ee)};const Ee=ee;let Se=class{constructor(o,l){this.parent=o,this.domNode=l,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,l=>{l.addEventListener("keydown",a=>{let n=!1;switch(a.code){case U.EVENT_CODE.down:{this.gotoSubIndex(this.subIndex+1),n=!0;break}case U.EVENT_CODE.up:{this.gotoSubIndex(this.subIndex-1),n=!0;break}case U.EVENT_CODE.tab:{K(o,"mouseleave");break}case U.EVENT_CODE.enter:case U.EVENT_CODE.space:{n=!0,a.currentTarget.click();break}}return n&&(a.preventDefault(),a.stopPropagation()),!1})})}},_e=class{constructor(o,l){this.domNode=o,this.submenu=null,this.submenu=null,this.init(l)}init(o){this.domNode.setAttribute("tabindex","0");const l=this.domNode.querySelector(`.${o}-menu`);l&&(this.submenu=new Se(this,l)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let l=!1;switch(o.code){case U.EVENT_CODE.down:{K(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),l=!0;break}case U.EVENT_CODE.up:{K(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),l=!0;break}case U.EVENT_CODE.tab:{K(o.currentTarget,"mouseleave");break}case U.EVENT_CODE.enter:case U.EVENT_CODE.space:{l=!0,o.currentTarget.click();break}}l&&o.preventDefault()})}},Fe=class{constructor(o,l){this.domNode=o,this.init(l)}init(o){const l=this.domNode.childNodes;Array.from(l).forEach(a=>{a.nodeType===1&&new _e(a,o)})}};const Qe=e.defineComponent({name:"ElMenuCollapseTransition",setup(){const t=x.useNamespace("menu");return{listeners:{onBeforeEnter:l=>l.style.opacity="0.2",onEnter(l,a){x.addClass(l,`${t.namespace.value}-opacity-transition`),l.style.opacity="1",a()},onAfterEnter(l){x.removeClass(l,`${t.namespace.value}-opacity-transition`),l.style.opacity=""},onBeforeLeave(l){l.dataset||(l.dataset={}),x.hasClass(l,t.m("collapse"))?(x.removeClass(l,t.m("collapse")),l.dataset.oldOverflow=l.style.overflow,l.dataset.scrollWidth=l.clientWidth.toString(),x.addClass(l,t.m("collapse"))):(x.addClass(l,t.m("collapse")),l.dataset.oldOverflow=l.style.overflow,l.dataset.scrollWidth=l.clientWidth.toString(),x.removeClass(l,t.m("collapse"))),l.style.width=`${l.scrollWidth}px`,l.style.overflow="hidden"},onLeave(l){x.addClass(l,"horizontal-collapse-transition"),l.style.width=`${l.dataset.scrollWidth}px`}}}}});function Be(t,o,l,a,n,s){return e.openBlock(),e.createBlock(e.Transition,e.mergeProps({mode:"out-in"},t.listeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)}var Pe=x._export_sfc(Qe,[["render",Be],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function Te(t,o){const l=e.computed(()=>{let n=t.parent;const s=[o.value];for(;n.type.name!=="ElMenu";)n.props.index&&s.unshift(n.props.index),n=n.parent;return s});return{parentMenu:e.computed(()=>{let n=t.parent;for(;n&&!["ElMenu","ElSubMenu"].includes(n.type.name);)n=n.parent;return n}),indexPath:l}}function Ve(t){return e.computed(()=>{const l=t.backgroundColor;return l?new Ye.TinyColor(l).shade(20).toString():""})}const Ie=(t,o)=>{const l=x.useNamespace("menu");return e.computed(()=>l.cssVarBlock({"text-color":t.textColor||"","hover-text-color":t.textColor||"","bg-color":t.backgroundColor||"","hover-bg-color":Ve(t).value||"","active-color":t.activeTextColor||"",level:`${o}`}))},Re=x.buildProps({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:W.iconPropType},expandOpenIcon:{type:W.iconPropType},collapseCloseIcon:{type:W.iconPropType},collapseOpenIcon:{type:W.iconPropType}}),J="ElSubMenu";var de=e.defineComponent({name:J,props:Re,setup(t,{slots:o,expose:l}){W.useDeprecated({from:"popper-append-to-body",replacement:"teleported",scope:J,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},e.computed(()=>t.popperAppendToBody!==void 0));const a=e.getCurrentInstance(),{indexPath:n,parentMenu:s}=Te(a,e.computed(()=>t.index)),u=x.useNamespace("menu"),c=x.useNamespace("sub-menu"),i=e.inject("rootMenu");i||x.throwError(J,"can not inject root menu");const r=e.inject(`subMenu:${s.value.uid}`);r||x.throwError(J,"can not inject sub menu");const N=e.ref({}),g=e.ref({});let M;const y=e.ref(!1),I=e.ref(),d=e.ref(null),h=e.computed(()=>T.value==="horizontal"&&E.value?"bottom-start":"right-start"),k=e.computed(()=>T.value==="horizontal"&&E.value||T.value==="vertical"&&!i.props.collapse?t.expandCloseIcon&&t.expandOpenIcon?m.value?t.expandOpenIcon:t.expandCloseIcon:W.arrow_down_default:t.collapseCloseIcon&&t.collapseOpenIcon?m.value?t.collapseOpenIcon:t.collapseCloseIcon:W.arrow_right_default),E=e.computed(()=>r.level===0),Q=e.computed(()=>{var w;const O=(w=t.teleported)!=null?w:t.popperAppendToBody;return O===void 0?E.value:O}),j=e.computed(()=>i.props.collapse?`${u.namespace.value}-zoom-in-left`:`${u.namespace.value}-zoom-in-top`),f=e.computed(()=>T.value==="horizontal"&&E.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),m=e.computed(()=>i.openedMenus.includes(t.index)),C=e.computed(()=>{let w=!1;return Object.values(N.value).forEach(O=>{O.active&&(w=!0)}),Object.values(g.value).forEach(O=>{O.active&&(w=!0)}),w}),b=e.computed(()=>i.props.backgroundColor||""),F=e.computed(()=>i.props.activeTextColor||""),B=e.computed(()=>i.props.textColor||""),T=e.computed(()=>i.props.mode),L=e.reactive({index:t.index,indexPath:n,active:C}),A=Ie(i.props,r.level+1),z=e.computed(()=>T.value!=="horizontal"?{color:B.value}:{borderBottomColor:C.value?i.props.activeTextColor?F.value:"":"transparent",color:C.value?F.value:B.value}),v=()=>{var w,O,_;return(_=(O=(w=d.value)==null?void 0:w.popperRef)==null?void 0:O.popperInstanceRef)==null?void 0:_.destroy()},D=w=>{w||v()},p=()=>{i.props.menuTrigger==="hover"&&i.props.mode==="horizontal"||i.props.collapse&&i.props.mode==="vertical"||t.disabled||i.handleSubMenuClick({index:t.index,indexPath:n.value,active:C.value})},Y=(w,O=t.showTimeout)=>{var _;w.type!=="focus"&&(i.props.menuTrigger==="click"&&i.props.mode==="horizontal"||!i.props.collapse&&i.props.mode==="vertical"||t.disabled||(r.mouseInChild.value=!0,M==null||M(),{stop:M}=x.useTimeoutFn(()=>{i.openMenu(t.index,n.value)},O),Q.value&&((_=s.value.vnode.el)==null||_.dispatchEvent(new MouseEvent("mouseenter")))))},S=(w=!1)=>{var O,_;i.props.menuTrigger==="click"&&i.props.mode==="horizontal"||!i.props.collapse&&i.props.mode==="vertical"||(M==null||M(),r.mouseInChild.value=!1,{stop:M}=x.useTimeoutFn(()=>!y.value&&i.closeMenu(t.index,n.value),t.hideTimeout),Q.value&&w&&((O=a.parent)==null?void 0:O.type.name)==="ElSubMenu"&&((_=r.handleMouseleave)==null||_.call(r,!0)))};e.watch(()=>i.props.collapse,w=>D(!!w));{const w=_=>{g.value[_.index]=_},O=_=>{delete g.value[_.index]};e.provide(`subMenu:${a.uid}`,{addSubMenu:w,removeSubMenu:O,handleMouseleave:S,mouseInChild:y,level:r.level+1})}return l({opened:m}),e.onMounted(()=>{i.addSubMenu(L),r.addSubMenu(L)}),e.onBeforeUnmount(()=>{r.removeSubMenu(L),i.removeSubMenu(L)}),()=>{var w;const O=[(w=o.title)==null?void 0:w.call(o),e.h(W.ElIcon,{class:c.e("icon-arrow"),style:{transform:m.value?t.expandCloseIcon&&t.expandOpenIcon||t.collapseCloseIcon&&t.collapseOpenIcon&&i.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>x.isString(k.value)?e.h(a.appContext.components[k.value]):e.h(k.value)})],_=i.isMenuPopup?e.h(fe.ElTooltip,{ref:d,visible:m.value,effect:"light",pure:!0,offset:t.popperOffset,showArrow:!1,persistent:!0,popperClass:t.popperClass,placement:h.value,teleported:Q.value,fallbackPlacements:f.value,transition:j.value,gpuAcceleration:!1},{content:()=>{var V;return e.h("div",{class:[u.m(T.value),u.m("popup-container"),t.popperClass],onMouseenter:R=>Y(R,100),onMouseleave:()=>S(!0),onFocus:R=>Y(R,100)},[e.h("ul",{class:[u.b(),u.m("popup"),u.m(`popup-${h.value}`)],style:A.value},[(V=o.default)==null?void 0:V.call(o)])])},default:()=>e.h("div",{class:c.e("title"),style:[z.value,{backgroundColor:b.value}],onClick:p},O)}):e.h(e.Fragment,{},[e.h("div",{class:c.e("title"),style:[z.value,{backgroundColor:b.value}],ref:I,onClick:p},O),e.h(Ee,{},{default:()=>{var V;return e.withDirectives(e.h("ul",{role:"menu",class:[u.b(),u.m("inline")],style:A.value},[(V=o.default)==null?void 0:V.call(o)]),[[e.vShow,m.value]])}})]);return e.h("li",{class:[c.b(),c.is("active",C.value),c.is("opened",m.value),c.is("disabled",t.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:m.value,onMouseenter:Y,onMouseleave:()=>S(!0),onFocus:Y},[_])}}});const Ue=x.buildProps({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:x.definePropType(Array),default:()=>Ce.mutable([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperEffect:{type:String,values:["dark","light"],default:"dark"}}),ae=t=>Array.isArray(t)&&t.every(o=>x.isString(o)),$e={close:(t,o)=>x.isString(t)&&ae(o),open:(t,o)=>x.isString(t)&&ae(o),select:(t,o,l,a)=>x.isString(t)&&ae(o)&&x.isObject$1(l)&&(a===void 0||a instanceof Promise)};var We=e.defineComponent({name:"ElMenu",props:Ue,emits:$e,setup(t,{emit:o,slots:l,expose:a}){const n=e.getCurrentInstance(),s=n.appContext.config.globalProperties.$router,u=e.ref(),c=x.useNamespace("menu"),i=x.useNamespace("sub-menu"),r=e.ref(-1),N=e.ref(t.defaultOpeneds&&!t.collapse?t.defaultOpeneds.slice(0):[]),g=e.ref(t.defaultActive),M=e.ref({}),y=e.ref({}),I=e.computed(()=>t.mode==="horizontal"||t.mode==="vertical"&&t.collapse),d=()=>{const T=g.value&&M.value[g.value];if(!T||t.mode==="horizontal"||t.collapse)return;T.indexPath.forEach(A=>{const z=y.value[A];z&&h(A,z.indexPath)})},h=(T,L)=>{N.value.includes(T)||(t.uniqueOpened&&(N.value=N.value.filter(A=>L.includes(A))),N.value.push(T),o("open",T,L))},k=T=>{const L=N.value.indexOf(T);L!==-1&&N.value.splice(L,1)},E=(T,L)=>{k(T),o("close",T,L)},Q=({index:T,indexPath:L})=>{N.value.includes(T)?E(T,L):h(T,L)},j=T=>{(t.mode==="horizontal"||t.collapse)&&(N.value=[]);const{index:L,indexPath:A}=T;if(!(U.isNil(L)||U.isNil(A)))if(t.router&&s){const z=T.route||L,v=s.push(z).then(D=>(D||(g.value=L),D));o("select",L,A,{index:L,indexPath:A,route:z},v)}else g.value=L,o("select",L,A,{index:L,indexPath:A})},f=T=>{const L=M.value,A=L[T]||g.value&&L[g.value]||L[t.defaultActive];A?g.value=A.index:g.value=T},m=()=>{var T,L;if(!u.value)return-1;const A=Array.from((L=(T=u.value)==null?void 0:T.childNodes)!=null?L:[]).filter(w=>w.nodeName!=="#comment"&&(w.nodeName!=="#text"||w.nodeValue)),z=64,v=Number.parseInt(getComputedStyle(u.value).paddingLeft,10),D=Number.parseInt(getComputedStyle(u.value).paddingRight,10),p=u.value.clientWidth-v-D;let Y=0,S=0;return A.forEach((w,O)=>{Y+=w.offsetWidth||0,Y<=p-z&&(S=O+1)}),S===A.length?-1:S},C=(T,L=33.34)=>{let A;return()=>{A&&clearTimeout(A),A=setTimeout(()=>{T()},L)}};let b=!0;const F=()=>{const T=()=>{r.value=-1,e.nextTick(()=>{r.value=m()})};b?T():C(T)(),b=!1};e.watch(()=>t.defaultActive,T=>{M.value[T]||(g.value=""),f(T)}),e.watch(()=>t.collapse,T=>{T&&(N.value=[])}),e.watch(M.value,d);let B;e.watchEffect(()=>{t.mode==="horizontal"&&t.ellipsis?B=Ae.useResizeObserver(u,F).stop:B==null||B()});{const T=v=>{y.value[v.index]=v},L=v=>{delete y.value[v.index]},A=v=>{M.value[v.index]=v},z=v=>{delete M.value[v.index]};e.provide("rootMenu",e.reactive({props:t,openedMenus:N,items:M,subMenus:y,activeIndex:g,isMenuPopup:I,addMenuItem:A,removeMenuItem:z,addSubMenu:T,removeSubMenu:L,openMenu:h,closeMenu:E,handleMenuItemClick:j,handleSubMenuClick:Q})),e.provide(`subMenu:${n.uid}`,{addSubMenu:T,removeSubMenu:L,mouseInChild:e.ref(!1),level:0})}return e.onMounted(()=>{t.mode==="horizontal"&&new Fe(n.vnode.el,c.namespace.value)}),a({open:L=>{const{indexPath:A}=y.value[L];A.forEach(z=>h(z,A))},close:k,handleResize:F}),()=>{var T,L;let A=(L=(T=l.default)==null?void 0:T.call(l))!=null?L:[];const z=[];if(t.mode==="horizontal"&&u.value){const p=we.flattedChildren(A),Y=r.value===-1?p:p.slice(0,r.value),S=r.value===-1?[]:p.slice(r.value);S!=null&&S.length&&t.ellipsis&&(A=Y,z.push(e.h(de,{index:"sub-menu-more",class:i.e("hide-arrow")},{title:()=>e.h(W.ElIcon,{class:i.e("icon-more")},{default:()=>e.h(W.more_default)}),default:()=>S})))}const v=Ie(t,0),D=e.h("ul",{key:String(t.collapse),role:"menubar",ref:u,style:v.value,class:{[c.b()]:!0,[c.m(t.mode)]:!0,[c.m("collapse")]:t.collapse}},[...A,...z]);return t.collapseTransition&&t.mode==="vertical"?e.h(Pe,()=>D):D}}});const Ze=x.buildProps({index:{type:x.definePropType([String,null]),default:null},route:{type:x.definePropType([String,Object])},disabled:Boolean}),Ge={click:t=>x.isString(t.index)&&Array.isArray(t.indexPath)},le="ElMenuItem",He=e.defineComponent({name:le,components:{ElTooltip:fe.ElTooltip},props:Ze,emits:Ge,setup(t,{emit:o}){const l=e.getCurrentInstance(),a=e.inject("rootMenu"),n=x.useNamespace("menu"),s=x.useNamespace("menu-item");a||x.throwError(le,"can not inject root menu");const{parentMenu:u,indexPath:c}=Te(l,e.toRef(t,"index")),i=e.inject(`subMenu:${u.value.uid}`);i||x.throwError(le,"can not inject sub menu");const r=e.computed(()=>t.index===a.activeIndex),N=e.reactive({index:t.index,indexPath:c,active:r}),g=()=>{t.disabled||(a.handleMenuItemClick({index:t.index,indexPath:c.value,route:t.route}),o("click",N))};return e.onMounted(()=>{i.addSubMenu(N),a.addMenuItem(N)}),e.onBeforeUnmount(()=>{i.removeSubMenu(N),a.removeMenuItem(N)}),{parentMenu:u,rootMenu:a,active:r,nsMenu:n,nsMenuItem:s,handleClick:g}}});function qe(t,o,l,a,n,s){const u=e.resolveComponent("el-tooltip");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass([t.nsMenuItem.b(),t.nsMenuItem.is("active",t.active),t.nsMenuItem.is("disabled",t.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...c)=>t.handleClick&&t.handleClick(...c))},[t.parentMenu.type.name==="ElMenu"&&t.rootMenu.props.collapse&&t.$slots.title?(e.openBlock(),e.createBlock(u,{key:0,effect:t.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:e.withCtx(()=>[e.renderSlot(t.$slots,"title")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(t.nsMenu.be("tooltip","trigger"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},8,["effect"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"title")],64))],2)}var De=x._export_sfc(He,[["render",qe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const Je={title:String},Xe="ElMenuItemGroup",Ke=e.defineComponent({name:Xe,props:Je,setup(){return{ns:x.useNamespace("menu-item-group")}}});function et(t,o,l,a,n,s){return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.ns.b())},[e.createElementVNode("div",{class:e.normalizeClass(t.ns.e("title"))},[t.$slots.title?e.renderSlot(t.$slots,"title",{key:1}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.title),1)],64))],2),e.createElementVNode("ul",null,[e.renderSlot(t.$slots,"default")])],2)}var Le=x._export_sfc(Ke,[["render",et],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const tt=x.withInstall(We,{MenuItem:De,MenuItemGroup:Le,SubMenu:de}),nt=x.withNoopInstall(De);x.withNoopInstall(Le);x.withNoopInstall(de);const ot={class:"st-kline-tips"},at={class:"st-kline-tips-row"},lt=e.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",ot,[e.createElementVNode("div",at,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,a=>(e.openBlock(),e.createElementBlock("div",{class:"st-kline-tips-row-item",style:e.normalizeStyle({color:a.color})},e.toDisplayString(a.label)+" "+e.toDisplayString(a.value),5))),256))])]))}});const ie=Z._export_sfc(lt,[["__scopeId","data-v-78aed210"]]),it=e.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(t,{emit:o}){const l=o,a=e.ref(),n=e.ref(),s=e.ref({display:"none",top:"0px",left:"0px"}),u=()=>{s.value.display="none",l("closeContextMenuCallBack"),document.removeEventListener("click",u)},c=i=>{if(i.preventDefault(),i.stopPropagation(),s.value.display==="block"){const{offsetX:r,offsetY:N}=i,{offsetWidth:g,offsetHeight:M}=n.value;if(r<=g&&N<=M)return}a.value.click(),s.value={display:"block",top:`${i.offsetY}px`,left:`${i.offsetX}px`},e.nextTick(()=>{const{bottom:r,height:N,right:g,width:M}=n.value.getBoundingClientRect();r>window.innerHeight?s.value={display:"block",top:`${i.offsetY-N}px`,left:`${i.offsetX}px`}:g>window.innerWidth&&(s.value={display:"block",top:`${i.offsetY}px`,left:`${i.offsetX-M}px`})}),document.addEventListener("click",u)};return(i,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextmenuRef",ref:a,class:"contextmenu",onContextmenu:c,onMouseleave:u},[e.renderSlot(i.$slots,"default",{},void 0,!0),s.value.display!=="none"?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:n,class:"contextmenu-popover",style:e.normalizeStyle(s.value)},[e.renderSlot(i.$slots,"popover",{},void 0,!0)],4)):e.createCommentVNode("",!0)],544))}});const st=Z._export_sfc(it,[["__scopeId","data-v-249fd104"]]);let ze=!1,je=!0,pe=[];const ge=t=>{const o=[],l=[],a=[],n=[],s=[],u=[];return t.forEach((c,i)=>{o.push(c[0]),l.push(c[1]),a.push(c[4]),n.push(c[2]),s.push(c[3]),u.push([c[1],c[4],c[3],c[2],Number(c[6]),i===0?c[4]:t[i-1][4]])}),{time:o,open:l,close:a,high:n,low:s,kLineData:u}},rt=async()=>{if(!ze)ze=!0,await me.init("./talib.wasm"),je=!1,pe.forEach(t=>{t()});else if(je)return new Promise(t=>{pe.push(t)})},X=(t,o)=>t.length>o?t.slice(t.length-o):t,ct=(t,o,l)=>t.calculationFn?t.calculationFn(me.talib,o,l):new Array(o.time.length).fill(null),ut=async(t,o,l)=>{const a=ge(t);let n=[];return n=ge(n),await rt(),{originData:X(t,l),kLine:X(a.kLineData,l),time:X(a.time,l),indicator:o.config.reduce((s,u)=>(s.push({key:u.key,color:u.color,data:X(ct(u,a,n),l)}),s),[])}},se="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",re="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",ce="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",G=(t,o)=>{const{type:l="log",color:a="black"}=o??{};localStorage.getItem("st-kline-console-show")==="true"&&console[l](`%c${t}`,`color:${a}`)},P=t=>t||t===0?Math.round(t*1e3)/1e3:null,Mt=t=>t>=1e12?`${(t/1e12).toFixed(2)}万亿`:t>=1e8?`${(t/1e8).toFixed(2)}亿`:t>=1e4?`${(t/1e4).toFixed(2)}万`:t.toFixed(2),dt=t=>{const{y:o,text:l,info:a,gridLeft:n,gridRight:s,echartsWidth:u,echartsInstance:c}=t,{config:i,event:r}=a;let N=0;return{type:"group",draggable:i.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:n,y1:o,x2:u-s,y2:o},style:{stroke:i.lineColor,lineWidth:1,lineDash:[8,4]},z:10},{type:"group",x:u,y:o-5,children:[{type:"text",left:-1*s,info:a,style:{fill:i.textColor,text:l,stroke:"#000",lineWidth:1,opacity:1},z:10}]}],onmouseover:g=>{r.onmouseover instanceof Function&&r.onmouseover(g,a)},onmouseout:g=>{r.onmouseout instanceof Function&&r.onmouseout(g,a)},ondragstart:g=>{r.ondragstart instanceof Function&&i.draggable&&(N=g.offsetY,r.ondragstart(g,a))},ondragend:g=>{if(r.ondragend instanceof Function&&i.draggable){const y=g.offsetY-N;if(y===0)return;const I=c.convertFromPixel({yAxisIndex:0},o+y);r.ondragend(g,a,I)}}}},Nt=t=>{const{y:o,text:l,info:a,gridLeft:n,gridRight:s,echartsWidth:u,echartsInstance:c}=t,{config:i,event:r}=a;let N=0;const g=y=>{let I=null;y.target.type==="line"?I=y.target.parent:y.target.type==="tspan"&&(I=y.target.parent.parent.parent),I.children()[1].children()[0].animate("style",!1).when(200,{opacity:1}).start()},M=y=>{let I=null;y.target.type==="line"?I=y.target.parent:y.target.type==="tspan"&&(I=y.target.parent.parent.parent),I.children()[1].children()[0].animate("style",!1).when(200,{opacity:0}).start()};return{type:"group",draggable:i.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:n,y1:o,x2:u-s,y2:o},style:{stroke:i.lineColor,lineWidth:1},z:10},{type:"group",x:u/2,y:o-5,children:[{type:"text",left:"center",info:a,style:{fill:i.textColor,text:l,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:y=>{r.onmouseover instanceof Function?r.onmouseover(y,a):g(y)},onmouseout:y=>{r.onmouseout instanceof Function?r.onmouseout(y,a):M(y)},ondragstart:y=>{r.ondragstart instanceof Function&&i.draggable&&(N=y.offsetY,r.ondragstart(y,a))},ondragend:y=>{if(r.ondragend instanceof Function&&i.draggable){const d=y.offsetY-N;if(d===0)return;const h=c.convertFromPixel({yAxisIndex:0},o+d);r.ondragend(y,a,h)}}}},yt=t=>{const{y:o,text:l,profitY:a,profitText:n,lossY:s,lossText:u,info:c,gridLeft:i,gridRight:r,echartsWidth:N,echartsInstance:g}=t,{config:M,event:y}=c;let I=0,d=null,h=null;const k=(j,f)=>{var m,C,b,F;(m=j.children()[2])==null||m.animate("style",!1).when(200,{opacity:~~f}).start(),(C=j.children()[3].children()[0])==null||C.animate("style",!1).when(200,{opacity:~~f}).start(),(b=j.children()[4])==null||b.animate("style",!1).when(200,{opacity:~~f}).start(),(F=j.children()[5].children()[0])==null||F.animate("style",!1).when(200,{opacity:~~f}).start()},E=j=>{let f=null;j.target.type==="line"?f=j.target.parent:j.target.type==="tspan"&&(f=j.target.parent.parent.parent),d=m=>{m.preventDefault(),(m.code==="AltLeft"||m.code==="AltRight")&&k(f,!0)},h=m=>{(m.code==="AltLeft"||m.code==="AltRight")&&k(f,!1)},window.addEventListener("keydown",d),window.addEventListener("keyup",h)},Q=j=>{let f=null;j.target.type==="line"?f=j.target.parent:j.target.type==="tspan"&&(f=j.target.parent.parent.parent),k(f,!1),window.removeEventListener("keydown",d),window.removeEventListener("keyup",h)};return{type:"group",draggable:M.draggable?"vertical":!1,children:[{type:"line",info:c,shape:{x1:i,y1:o,x2:N-r,y2:o},style:{stroke:M.lineColor,lineWidth:1},z:10},{type:"group",x:N/2,y:o-5,children:[{type:"text",left:"center",info:c,style:{fill:M.textColor,text:l,stroke:"#000",lineWidth:1,opacity:1},z:10}]},{type:"line",info:c,shape:{x1:i,y1:a,x2:N-r,y2:a},style:{stroke:M.profitLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:N/2,y:a-5,children:[{type:"text",left:"center",info:c,style:{fill:M.profitTextColor,text:n,stroke:"#000",lineWidth:1,opacity:0},z:10}]},{type:"line",info:c,shape:{x1:i,y1:s,x2:N-r,y2:s},style:{stroke:M.lossLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:N/2,y:s-5,children:[{type:"text",left:"center",info:c,style:{fill:M.lossTextColor,text:u,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:j=>{y.onmouseover instanceof Function?y.onmouseover(j,c):E(j)},onmouseout:j=>{y.onmouseout instanceof Function?y.onmouseout(j,c):Q(j)},ondragstart:j=>{y.ondragstart instanceof Function&&M.draggable&&(I=j.offsetY,y.ondragstart(j,c))},ondragend:j=>{if(y.ondragend instanceof Function&&M.draggable){const m=j.offsetY-I;if(m===0)return;const C=g.convertFromPixel({yAxisIndex:0},o+m);y.ondragend(j,c,C)}}}},ne=(t,o)=>{const{direction:l="",tradeAction:a="",tradeType:n=""}=t;if(o==="sellBuy"){const s=n??l+a;return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(s)}else if(o==="openClose")return n??l+a},zt=(t,o)=>t.reduce((l,a)=>{var N;const n=ne(a,"sellBuy"),s=t.filter(g=>g.time===a.time);let u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;s.length>1?[...new Set(s.map(M=>ne(M,"sellBuy")))].length>1?u="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href:u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;const i=(o.find(g=>g[0]===a.time)??[])[2],r=((N=a==null?void 0:a.markLineTarget)==null?void 0:N.map(g=>{const M=a.time,y=i+"",I=g.time,d=o.find(k=>k[0]===g.time),h=d?d[3]:null;return[{coord:[M,y],lineStyle:g.lineStyle},{coord:[I,h]}]}))??null;return l.push({symbol:u,symbolSize:25,animation:!1,coord:[a.time+"",i],symbolRotate:0,symbolOffset:[0,"-7"],markLineTarget:r}),l},[]),jt=(t,o)=>t.reduce((l,a,n)=>{var g;const s=ne(a,"openClose"),u=s==="开多"||s==="开空"?"top":"bottom",c=o.find(M=>M[0]===a.time)??[],i=u==="top"?c[2]:c[3];let r=7;r+=t.slice(0,n).filter(M=>{const y=ne(M,"openClose");return(y==="开多"||y==="开空"?"top":"bottom")===u&&M.time===a.time}).length*7;const N=((g=a==null?void 0:a.markLineTarget)==null?void 0:g.map(M=>{const y=a.time,I=i+"",d=M.time,h=o.find(k=>k[0]===M.time)[3];return[{coord:[y,I],lineStyle:M.lineStyle},{coord:[d,h]}]}))??null;return l.push({symbol:"triangle",symbolSize:[10,12],animation:!1,coord:[a.time+"",i],symbolRotate:u==="top"?180:0,symbolOffset:[0,`${u==="top"?r*-1:r}`],itemStyle:{color:u==="top"?"#FF0000":"#389e0d"},label:{show:!0,position:u,color:"#fff",formatter:`${s} ${u==="top"?"+":"-"} ${a.amount}手 ${a.part?`(${a.part}份)`:""}`},markLineTarget:N}),l},[]),pt=(t,o)=>t.reduce((l,a)=>{const{key:n,data:s}=a;if(s===null||s.length===0)return l;const c=new Map([["sellBuy",()=>zt(s,o)],["openClose",()=>jt(s,o)],["signal",()=>{}]]).get(n);return c instanceof Function&&l.push(...c()),l},[]),ue=async(t,o,l,a,n,s)=>{const{totalBarCount:u,defaultShowBarCount:c,maxValueSpan:i,gridLeft:r,gridTop:N,gridRight:g,gridBottom:M,zoomLock:y}=a,{time:I,kLine:d,originData:h,indicator:k}=await ut(t,l,u),E=k.map(f=>{const{key:m,data:C,color:b}=f;return{name:m,type:"line",silent:!0,symbol:"none",data:C,lineStyle:{width:1},itemStyle:{color:b}}}),Q=pt(o,h);let j=[];return Q.forEach(f=>{f.markLineTarget&&(j=[...j,...f.markLineTarget])}),{animation:!1,dataset:{id:"data",source:{klineData:d,indicatorData:k}},grid:{left:`${r}px`,top:`${N}px`,right:`${g}px`,bottom:`${M}px`},tooltip:{trigger:"axis",axisPointer:{type:"cross",label:{formatter:f=>{const{axisDimension:m,value:C}=f;return m==="x"?C:String(P(C))}}},formatter:f=>{let m=null,C="";return f.forEach(b=>{b.seriesName==="资产持仓净值"&&b.data!==null&&(C+=`<div>资产持仓净值: ${b.data}</div>`),b.componentSubType==="candlestick"&&o.forEach(F=>{const{key:B,data:T}=F;if(B==="sellBuy"){const L=T.filter(v=>v.time===b.axisValue);let A=0,z=0;L.forEach(v=>{v.tradeType==="开多"||v.tradeType==="平空"?A+=v.amount:z+=v.amount}),A&&(C+=`<div>买: ${A}</div>`),z&&(C+=`<div>卖: ${z}</div>`)}B==="openClose"&&T.forEach(L=>{L.time===b.axisValue&&(C+=L.tooltip)})}),C&&(m=`<div><span style="font-weight: bold;">${b.axisValue}</span>${C}</div>`)}),m}},xAxis:{type:"category",data:I,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},axisLabel:{show:!0,formatter:f=>f}},yAxis:[{index:0,splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:f=>{const{min:m,max:C}=f,b=Math.abs((C-m)/10);return m-b},max:f=>{const{min:m,max:C}=f,b=Math.abs((C-m)/10);return C+b},axisLine:{show:!0},axisLabel:{formatter:f=>P(f),showMaxLabel:!1}},{show:!1,min:"dataMin"}],dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:y,maxValueSpan:i,start:d.length>=c?(d.length-c)/d.length*100:0,end:99.99}],series:[{name:"k线",type:"candlestick",data:d,markPoint:{data:Q},markLine:{position:"middle",textStyle:{color:"blue",fontSize:15},animation:!1,data:j,lineStyle:{width:3,type:"solid"},symbol:["none","none"]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1},z:1},...E,{name:"资产持仓净值",type:"line",data:n??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666"}},{name:"二腿相关度",type:"line",data:s??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#FFF"},lineStyle:{width:2},label:{show:!0,position:"top",formatter:f=>`相关度: ${f.data[1]}`,textStyle:{color:"#FFF",fontSize:14}}}],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:1},brushStyle:{color:"rgba(120,140,180,0)",borderColor:"rgba(255,255,255,0.4)"}}}},gt=(t,o,l)=>{var g;const{gridLeft:a,gridRight:n,gridBottom:s,warningConfig:u,positionConfig:c,conditionConfig:i,isOpenDS:r}=o;let N=[];if((g=l==null?void 0:l.getModel())!=null&&g.getComponent){const[M,y]=l.getModel().getComponent("yAxis").axis.scale._extent;let I=[],d={},h=[],k={},E=[],Q={};if(t.forEach(({key:j,data:f,...m})=>{j==="warning"?(I=f,d=m):j==="position"?(h=f,k=m):j==="condition"&&(E=f,Q=m)}),I.length>0&&(N=I.reduce((j,f)=>{const{value:m,text:C,info:b,config:F}=f;if(m>y||m<M)return j;const B={y:l.convertToPixel({yAxisIndex:0},m),text:C,info:{info:b,config:{...u,...F},event:{...d}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,dt(B)]},N)),h.length>0&&(N=h.reduce((j,f)=>{const{value:m,text:C,info:b,config:F}=f;if(m>y||m<M)return j;const B={y:l.convertToPixel({yAxisIndex:0},m),text:C,info:{info:b,config:{...c,...F},event:{...k}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,Nt(B)]},N)),E.length>0&&(N=E.reduce((j,f)=>{const{value:m,text:C,profitValue:b,profitText:F,lossValue:B,lossText:T,info:L,config:A}=f;if(m>y||m<M)return j;const z={y:l.convertToPixel({yAxisIndex:0},m),text:C,profitY:l.convertToPixel({yAxisIndex:0},b),profitText:F,lossY:l.convertToPixel({yAxisIndex:0},B),lossText:T,info:{info:L,config:{...i,...A},event:{...Q}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,yt(z)]},N)),r){const j=l.getOption(),f=j.dataset[0].source.klineData.slice(j.dataZoom[0].startValue,j.dataZoom[0].endValue+1),m={};f.forEach(z=>{m[z[1]]?m[z[1]]+=1:m[z[1]]=1});const C=f[f.length-1][1],b=f.reduce((z,v)=>z+v[1],0)/f.length,F=C-b,B=mt(f,1,50),T=Tt(f),L=T?F/T:0,A=ft(f,1,C);N=[...N,{type:"group",draggable:!1,children:Object.keys(m).map(z=>({type:"line",shape:{x1:l.getWidth()-n-100*m[z],y1:l.convertToPixel({yAxisIndex:0},z),x2:l.getWidth()-n,y2:l.convertToPixel({yAxisIndex:0},z)},style:{stroke:"rgb(124,124,124)",lineWidth:1},z:10}))},{type:"text",x:a+6,y:l.getHeight()-s-20,style:{fill:"#FFF",text:`均值: ${P(b)}    距均值: ${P(F)}    中值: ${P(B)}    标准差: ${P(T)}    距均值/标准差: ${P(L)}    百分位: ${P(A)}%`,lineWidth:1,opacity:1},z:10}]}}return{elements:N}},ft=(t,o,l)=>{const{round:a,add:n,subtract:s,multiply:u,divide:c}=oe.bundle_umdExports.stMath,i=t.map(N=>N[o]).sort((N,g)=>N-g);let r=0;for(let N=0;N<i.length;N++)if(i[N]===l){r=N;break}else if(i[N]>=l){r=n(N,c(s(i[N+1],i[N]),i[N]));break}return a(c(u(r,100),t.length+1))},mt=(t,o,l)=>{const{round:a,add:n,subtract:s,multiply:u,divide:c}=oe.bundle_umdExports.stMath,i=t.map(M=>M[o]).sort((M,y)=>M-y),r=u(t.length+1,c(l,100)),N=Math.floor(r),g=s(r,N);return a(g===0?i[r]:n(i[N],u(s(i[N>=t.length-1?N:N+1],i[N]),g)))};function Tt(t){const o=t.map(u=>u[1]),l=o.length;let a=0,n=0;for(const u of o)a+=u;const s=a/l;for(const u of o)n+=Math.pow(u-s,2);return Math.sqrt(n/l)}const It={class:"st-kline"},Dt={class:"st-kline-header"},Lt=300,vt=e.defineComponent({__name:"index",props:{indicator:{type:Object,default:()=>({})},klineData:{type:Array,default:()=>[]},markData:{type:Array,default:()=>[]},lineData:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},relevanceData:{type:Array,default:()=>[]},priceTrendData:{type:Array,default:()=>[]},priceTrendPercentData:{type:Array,default:()=>[]},brushRange:{type:Array,default:()=>[]},defaultMenuData:{type:Array,default:()=>[]},isSelect:{type:Boolean,default:()=>!1},config:{type:Object,default:()=>({})}},setup(t){const o=t,l={totalBarCount:2e3,defaultShowBarCount:200,preBarCount:800,maxValueSpan:1e4,gridLeft:60,gridTop:0,gridRight:60,gridBottom:30,warningConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff"},positionConfig:{draggable:!1,lineColor:"#e45d07",textColor:"#fff"},conditionConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff",profitLineColor:"#b71e44",profitTextColor:"#fff",lossLineColor:"#749b66",lossTextColor:"#fff"},tipsConfig:{open:!0,heigh:!0,low:!0,close:!0,business:!0,riseAndFall:!0},dynamicLoadConfig:{historyVisible:!1,historyLoadCallBack:()=>{},futureVisible:!1,futureLoadCallBack:()=>{}},zoomLock:!1,isOpenDS:!1},a=e.computed(()=>({...l,...o.config})),n=e.ref(null),s=e.ref(-1),u=e.computed(()=>{var z,v;if(n.value&&((v=(z=n.value.dataset[0])==null?void 0:z.source)!=null&&v.klineData[s.value])){const D=n.value.dataset[0].source.klineData[s.value],p=[],{open:Y,heigh:S,low:w,close:O,business:_,riseAndFall:V}=a.value.tipsConfig;if(Y&&p.push({label:"开",value:P(D[0]),color:"rgb(153, 153, 153)"}),S&&p.push({label:"高",value:P(D[3]),color:"rgb(153, 153, 153)"}),w&&p.push({label:"低",value:P(D[2]),color:"rgb(153, 153, 153)"}),O&&p.push({label:"收",value:P(D[1]),color:"rgb(153, 153, 153)"}),_&&p.push({label:"额",value:Mt(D[4]),color:"rgb(153, 153, 153)"}),V){let R=((D[1]-D[5])/D[1]*100).toFixed(2),$=+R==0?"white":+R>0?"red":"#00ff00";p.push({label:"涨跌",value:`${R}%`,color:$})}return p}return[]}),c=e.computed(()=>{var z,v;return n.value&&((v=(z=n.value.dataset[0])==null?void 0:z.source)!=null&&v.indicatorData)?n.value.dataset[0].source.indicatorData.reduce((D,p)=>(p.data[s.value]&&D.push({label:p.key,value:P(p.data[s.value]),color:p.color}),D),[]):[]}),i=e.computed(()=>{const z=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"];if(o.priceTrendData.length>0){const v=[];return o.priceTrendData.forEach((D,p)=>{var S;(D.data[s.value]?P(D.data[s.value][1]):null)!==null&&v.push({label:D.name,value:P((S=D.data[s.value])==null?void 0:S[1]),color:z[p]})}),v}if(o.priceTrendPercentData.length>0){const v=[];return d.getOption().series.filter(p=>p.name.includes("二腿价格走势百分比图")).forEach((p,Y)=>{var w;(p.data[s.value]?P(p.data[s.value][1]):null)!==null&&v.push({label:p.name.split("-")[1],value:`${P((w=p.data[s.value])==null?void 0:w[1])}%`,color:z[Y]})}),v}return[]});e.watch(()=>[o.klineData,o.indicator,o.markData,o.netPositionData,o.relevanceData],()=>{r()},{deep:!0}),e.watch(()=>o.lineData,async()=>{G("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line",{color:"red"}),r("line")},{deep:!0}),e.watch(()=>o.brushRange,async()=>{G("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush",{color:"red"}),r("brush")},{deep:!0}),e.watch(()=>o.priceTrendData,async()=>{r("priceTrend")},{deep:!0}),e.watch(()=>o.priceTrendPercentData,async()=>{r("priceTrendPercent")},{deep:!0});const r=async z=>{const D=new Map([["kline",async()=>{const p=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData),{graphic:Y}=d.getOption()??{graphic:[]};n.value={...p,graphic:Y},d.setOption(n.value,!0),G("st-kline组件消息:K线绘制完毕-draw",{color:"green"})}],["line",()=>{const p=d.getOption(),Y=gt(o.lineData,a.value,d);n.value={...p,graphic:Y},d.setOption(n.value,{replaceMerge:["graphic"]}),G("st-kline组件消息:额外画线绘制完毕-draw",{color:"green"})}],["brush",()=>{const{brushRange:p}=o;p instanceof Array&&p.length>0&&(d.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[p[0]+"",p[1]+""],xAxisIndex:0}]}),G("st-kline组件消息:区域刷选绘制完毕-draw",{color:"green"}))}],[void 0,async()=>{await r("kline"),await r("line"),await r("priceTrend"),await r("priceTrendPercent"),await r("brush")}],["history",async()=>{const p=d.getOption(),Y=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData),S=Y.dataset.source.klineData.length-p.dataset[0].source.klineData.length;d.setOption({...Y,dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:a.value.zoomLock,maxValueSpan:a.value.maxValueSpan,startValue:p.dataZoom[0].startValue+S,endValue:p.dataZoom[0].endValue+S}]},!0),await r("priceTrend")}],["future",async()=>{const p=d.getOption(),Y=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData);Y.dataZoom[0].start=(o.klineData.length-p.dataZoom[0].endValue+p.dataZoom[0].startValue)/o.klineData.length*100,d.setOption(Y,!0),await r("priceTrend")}],["priceTrend",()=>{if(o.priceTrendData.length===0)return;const p=d.getOption(),Y=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],S=o.priceTrendData.reduce((w,O,_)=>{const{name:V,data:R}=O,$={name:`二腿价格走势图-${V}`,type:"line",data:R,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:Y[_]},lineStyle:{type:"dashed",width:1}};return w.push($),w},[]);n.value={...p,series:[...p.series,...S]},d.setOption(n.value,{replaceMerge:["series"]})}],["priceTrendPercent",async()=>{if(o.priceTrendPercentData.length===0)return;const p=d.getOption(),Y=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],S=p.dataZoom[0].startValue,w=o.priceTrendPercentData.reduce((O,_,V)=>{const{name:R,data:$}=_,H=$.length>a.value.totalBarCount?$.slice($.length-a.value.totalBarCount):$,q=H[S][1],ve=H.map(Ne=>[Ne[0],(Ne[1]-q)/q*100]),he={name:`二腿价格走势百分比图-${R}`,type:"line",data:ve,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:Y[V]},lineStyle:{type:"dashed",width:1}};return O.push(he),O},[]);p.series=[...p.series.filter(O=>!O.name.includes("二腿价格走势百分比图")),...w],d.setOption(p,!0)}]]).get(z);D instanceof Function&&await D()},N=e.ref(!1),g=e.ref([]),M=z=>{const{callBack:v}=z;v instanceof Function&&v(d,N)},y=()=>{g.value=o.defaultMenuData},I=e.ref();let d,h;const k=(z,v)=>{var D,p;if(z)s.value=typeof((D=z==null?void 0:z.batch[0])==null?void 0:D.dataIndex)=="number"?(p=z==null?void 0:z.batch[0])==null?void 0:p.dataIndex:-1;else{const Y=v.getOption();Y.dataZoom instanceof Array&&(s.value=Y.dataZoom[0].endValue)}};let E=null,Q=!1,j=e.ref(!1),f=!1,m=e.ref(!1);const C=async z=>{const v=z.batch?z.batch[0].start*a.value.totalBarCount:z.startValue;a.value.dynamicLoadConfig.historyVisible&&v<=100&&!Q&&!j.value&&(Q=!0,await a.value.dynamicLoadConfig.historyLoadCallBack(j),await r("history"),Q=!1);const D=z.batch?z.batch[0].end===100:z.endValue>=o.klineData.length-a.value.preBarCount-1,p=z.actionIsWheel;a.value.dynamicLoadConfig.futureVisible&&D&&!f&&!m.value&&!p&&(f=!0,await a.value.dynamicLoadConfig.futureLoadCallBack(m),await r("future"),f=!1),clearTimeout(E),E=setTimeout(()=>{r("line"),r("priceTrendPercent"),clearTimeout(E),E=null},Lt)};let b=null;const F=z=>{b=setTimeout(()=>{var v;if(z.componentType==="graphic"){const{oncontextmenu:D}=((v=z.info)==null?void 0:v.event)??{};D instanceof Function&&D(z,z.info,g)}clearTimeout(b),b=null})},B=()=>{d.on("highlight",z=>{k(z,d)}),d.on("globalout",()=>{k(null,d)}),d.on("contextmenu",z=>{F(z)}),d.on("datazoom",z=>{C(z)})},T=()=>{d.off("highlight"),d.off("globalout"),d.off("contextmenu"),d.off("datazoom")},L=z=>{if(!d||!(z.ctrlKey||o.isSelect))return;const v=d.getOption();let{startValue:D,endValue:p,start:Y,end:S}=v.dataZoom[0];const w=()=>{D!==0&&(D=D-1,p=p-1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan}))},O=()=>{if(a.value.dynamicLoadConfig.futureVisible&&!f&&!m.value)D=D+1,p=p+1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan});else{if(p===v.xAxis[0].data.length-1)return;D=D+1,p=p+1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan})}},_=()=>{if(p-D<5)return;const H=Math.floor((s.value-D)/2)+1,q=Math.floor((p-s.value)/2)+1;D=D+H,p=p-q,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,actionIsWheel:!0,maxValueSpan:a.value.maxValueSpan})},V=()=>{Y=Y-(S-Y)/4,d.dispatchAction({type:"dataZoom",start:Y,end:S,actionIsWheel:!0,maxValueSpan:a.value.maxValueSpan})},$=new Map([["ArrowLeft",w],["ArrowRight",O],["ArrowUp",_],["ArrowDown",V]]).get(z.code);$ instanceof Function&&$()},A=async()=>{let z=!0;d=te.init(I.value),await r(),g.value=o.defaultMenuData,s.value=d.getOption().dataZoom[0].endValue??-1,B(),h=new ResizeObserver(()=>{if(z){z=null;return}d.resize(),r("line")}),h.observe(I.value),window.addEventListener("keydown",L)};return e.onMounted(()=>{A()}),e.onUnmounted(()=>{T(),window.removeEventListener("keydown",L),d.dispose(),h.disconnect(),h=null}),(z,v)=>{const D=nt,p=tt;return e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("div",Dt,[e.createVNode(ie,{data:u.value},null,8,["data"]),e.createVNode(ie,{data:c.value},null,8,["data"]),e.createVNode(ie,{data:i.value},null,8,["data"])]),e.createVNode(st,{class:"st-kline-body",onCloseContextMenuCallBack:y},{popover:e.withCtx(()=>[e.createVNode(p,{class:"menu"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,Y=>(e.openBlock(),e.createBlock(D,{key:Y.label,index:Y.label,class:"menuItem",onClick:S=>M(Y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(Y.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"echartsRef",ref:I,class:e.normalizeClass(N.value?"st-kline-chart cursorPen":"st-kline-chart")},null,2)]),_:1})])}}});const ht=Z._export_sfc(vt,[["__scopeId","data-v-7f014d0e"]]),xt={class:"kline-tips"},At=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(a,n)=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"kline-tips-item",style:e.normalizeStyle({color:a.color})},e.toDisplayString(a.label)+" "+e.toDisplayString(a.value),5))),128))]))}});const Me=Z._export_sfc(At,[["__scopeId","data-v-dc7d381b"]]);const Yt={class:"klineSub"},Ct={class:"klineSub-tips"},wt={key:0,class:"klineSub-tips-select"},bt={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(t,{expose:o,emit:l}){const{round:a}=oe.bundle_umdExports.stMath;let n,s;const u=l,c=t,i=e.ref(),r=e.computed({get(){return c.modelValue},set(M){u("update:modelValue",M)}}),N=e.computed(()=>{var I;const{data:M,activeIndex:y}=c;return((I=M==null?void 0:M.subIndicator)==null?void 0:I.map(d=>({label:d.key,color:d.color,value:d.data[y]||"-"})))||[]});e.onMounted(()=>{n=te.init(i.value);let M=!0;s=new ResizeObserver(()=>{if(M){M=null;return}n.resize()}),s.observe(i.value)}),e.onUnmounted(()=>{n.dispose(),s.disconnect(),s=null});const g=(M,y)=>{const I=M[y],d=y===0?M[y]:M[y-1];return I[0]===I[1]?I[0]>=d[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:I[1]>I[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return o({connect:M=>{te.connect([M,n])},draw:(M,y)=>{e.nextTick(()=>{const{startValue:I,endValue:d,maxValueSpan:h}=M,{leftYAxisRange:k,rightYAxisRange:E}=c.data.subIndicator[0],Q=c.data.subIndicator.map(j=>{if(j.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:j.data.map((f,m)=>j.seriesColor==="kline"?{value:f,itemStyle:g(c.data.data,m)}:j.seriesColor==="value"?{value:f,itemStyle:{color:f>=0?"#FF0000":"#00FFFF"}}:{value:f,itemStyle:{color:j.seriesColor}})};if(j.series==="line")return{xAxisIndex:0,yAxisIndex:j.yAxis==="right"?2:1,name:j.key,type:"line",silent:!0,symbol:"none",data:j.data,lineStyle:{width:1},itemStyle:{color:j.color}}});n.setOption({animation:!1,grid:{left:`${y.gridLeft}px`,top:"10px",right:`${y.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:I,endValue:d,maxValueSpan:h}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:j=>{const{axisDimension:f,value:m}=j;if(f==="x")return m;if(j.axisIndex===1)return String(a(m))}}},formatter:()=>""},xAxis:{type:"category",data:c.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:j=>j}},yAxis:[{position:"right"},{position:"left",min:k==="cover"?j=>j.min:null,max:k==="cover"?j=>j.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:E==="cover"?j=>j.min:null,max:E==="cover"?j=>j.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:Q},!0)})}}),(M,y)=>{const I=ye.ElOption,d=ye.ElSelect;return e.openBlock(),e.createElementBlock("div",Yt,[e.createElementVNode("div",Ct,[N.value.length?(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(d,{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=h=>r.value=h),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.subIndicatorList,h=>(e.openBlock(),e.createBlock(I,{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createVNode(Me,{data:N.value},null,8,["data"])]),e.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:i},null,512)])}}},kt=Z._export_sfc(bt,[["__scopeId","data-v-4264b76c"]]);const Ot={class:"kline-tips"},Et={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0}},setup(t){const{round:o,formatValue:l}=oe.bundle_umdExports.stMath,a=t,n=e.computed(()=>{const{data:u,activeIndex:c}=a;if(u.data&&u.data[c]){const i=u.data[c],r=[{label:"开",value:o(i[0])},{label:"高",value:o(i[3])},{label:"低",value:o(i[2])},{label:"收",value:o(i[1])}];i[4]!==null&&r.push({label:"额",value:l(i[4])});let N;return i[6]>0?N="red":i[6]<0&&(N="green"),r.push({label:"涨跌",value:`${o(i[6])}%`,color:N}),r}return[]}),s=e.computed(()=>{var i;const{data:u,activeIndex:c}=a;return((i=u==null?void 0:u.mainIndicator)==null?void 0:i.map(r=>({label:r.key,value:o(r.data[c]),color:r.color})))||[]});return(u,c)=>(e.openBlock(),e.createElementBlock("div",Ot,[e.createVNode(Me,{data:n.value},null,8,["data"]),e.createVNode(Me,{data:s.value},null,8,["data"])]))}},St=Z._export_sfc(Et,[["__scopeId","data-v-a12855fe"]]),_t={__name:"index",setup(t,{expose:o}){return o({handleKeyDown:(l,a)=>{let{startValue:n,endValue:s,maxIndex:u}=a;if(l.code==="ArrowLeft"){if(n===0)return;n=n-1,s=s-1}else if(l.code==="ArrowRight"){if(s===u)return;n=n+1,s=s+1}else if(l.code==="ArrowUp"){if(s-n<5)return;const c=Math.floor((s-n)/2)+1;n=n+c,s-n<5&&(n=s-4)}else if(l.code==="ArrowDown"){const c=Math.min(500,s-n);n=n-c-1}return{startValue:n,endValue:s}},mergeData:(l,a)=>({time:[...l.time,...a.time.slice(1)],data:[...l.data,...a.data.slice(1)],mainIndicator:l.mainIndicator.map((n,s)=>({...n,data:[...n.data,...a.mainIndicator[s].data.slice(1)]})),subIndicator:l.subIndicator.map((n,s)=>({...n,data:[...n.data,...a.subIndicator[s].data.slice(1)]}))}),getDataZoomInfoByTime:l=>{const{showStartTime:a,showEndTime:n,maxShowDays:s}=l;let u=-1,c=-1,i={};return l.time.forEach((r,N)=>{const g=r.split(" ")[0];i[g]=i[g]||0,i[g]+=1,u===-1&&new Date(r)>=new Date(a)&&(u=N),c===-1&&new Date(r)>=new Date(n)&&(c=N)}),c=c===-1?l.time.length-1:c,{startValue:u,endValue:c,maxValueSpan:Math.max(...Object.values(i))*s}}}),(l,a)=>null}};const Ft={__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(t,{expose:o,emit:l}){let a,n,s=null;const u=l,c=t,i=e.ref();e.watch(()=>c.data,()=>{g()},{deep:!0}),e.onMounted(()=>{a=te.init(i.value),r(),g();let M=!0;n=new ResizeObserver(()=>{if(M){M=null;return}a.resize()}),n.observe(i.value)}),e.onUnmounted(()=>{a.off("datazoom"),a.dispose(),n.disconnect(),n=null});const r=()=>{a.on("datazoom",M=>{M.dataZoomId&&(clearTimeout(s),s=setTimeout(()=>{const{data:y}=c,{start:I,end:d}=M,h=Math.floor(I*y.length/100),k=d===100?y.length-1:Math.floor(d*y.length/100);N(h,k),clearTimeout(s)},100))})},N=(M,y)=>{const I=c.data;if(I.length===0)return;const d=I[M][0].split(" ")[0],h=I[y][0].split(" ")[0];u("change",{startTime:`${d} 00:00:00`,endTime:`${h} 24:00:00`})},g=()=>{const{data:M}=c;if(M.length===0)return;const y=M.map(d=>d[0].split(" ")[0]),I=M.map(d=>d[1]);a.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:y,show:!1},yAxis:{type:"value"},series:[{data:I,type:"line"}]},!0)};return o({resetSlide:(M,y,I)=>{let d=-1,h=-1;c.data.forEach((k,E)=>{d===-1&&k[0]===M?d=E:d===-1&&new Date(k[0])>new Date(M)&&(d=E-1),(h===-1&&k[0]===y||h===-1&&new Date(k[0])>new Date(y))&&(h=E)}),h=h===-1?c.data.length-1:h,a.setOption({dataZoom:[{show:!0,startValue:d,endValue:h,maxValueSpan:I,textStyle:{color:"#ccc"}},{type:"inside",startValue:d,endValue:h,maxValueSpan:I}]})},resize:()=>{a==null||a.resize()}}),(M,y)=>(e.openBlock(),e.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:i},null,512))}},Qt=Z._export_sfc(Ft,[["__scopeId","data-v-7a2f3dd0"]]),Bt={install(t){t.component("st-kline",ht),t.component("st-kline-sub-new",kt),t.component("st-kline-tips-new",St),t.component("st-kline-slide-new",Qt),t.component("st-kline-utils-new",_t)}};module.exports=Bt;
1
+ "use strict";const x=require("./base-315cbfab.cjs");require("./el-tooltip-0ea8fbf8.cjs");const fe=require("./el-tag-a6a4d4ef.cjs"),e=require("vue"),xe=require("echarts"),Z=require("./_plugin-vue_export-helper-f246444f.cjs"),oe=require("./bundle.umd-c5698c50.cjs"),me=require("./index.esm-94a95a2a.cjs"),Ae=require("./el-scrollbar-9473fd47.cjs"),W=require("./use-form-item-7924b6c1.cjs"),U=require("./focus-trap-ea177336.cjs"),Ye=require("./index-eea0bcb3.cjs"),Ce=require("./typescript-b63f8e83.cjs"),we=require("./vnode-85a610a2.cjs"),ye=require("./el-select-d3f15536.cjs");require("./_commonjsHelpers-87b0abe8.cjs");require("./scroll-a80e1458.cjs");function be(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const l in t)if(l!=="default"){const a=Object.getOwnPropertyDescriptor(t,l);Object.defineProperty(o,l,a.get?a:{enumerable:!0,get:()=>t[l]})}}return o.default=t,Object.freeze(o)}const te=be(xe),K=function(t,o,...l){let a;o.includes("mouse")||o.includes("click")?a="MouseEvents":o.includes("key")?a="KeyboardEvent":a="HTMLEvents";const n=document.createEvent(a);return n.initEvent(o,...l),t.dispatchEvent(n),t},ke=e.defineComponent({name:"ElCollapseTransition"}),Oe=e.defineComponent({...ke,setup(t){const o=x.useNamespace("collapse-transition"),l=n=>{n.style.maxHeight="",n.style.overflow=n.dataset.oldOverflow,n.style.paddingTop=n.dataset.oldPaddingTop,n.style.paddingBottom=n.dataset.oldPaddingBottom},a={beforeEnter(n){n.dataset||(n.dataset={}),n.dataset.oldPaddingTop=n.style.paddingTop,n.dataset.oldPaddingBottom=n.style.paddingBottom,n.style.maxHeight=0,n.style.paddingTop=0,n.style.paddingBottom=0},enter(n){n.dataset.oldOverflow=n.style.overflow,n.scrollHeight!==0?n.style.maxHeight=`${n.scrollHeight}px`:n.style.maxHeight=0,n.style.paddingTop=n.dataset.oldPaddingTop,n.style.paddingBottom=n.dataset.oldPaddingBottom,n.style.overflow="hidden"},afterEnter(n){n.style.maxHeight="",n.style.overflow=n.dataset.oldOverflow},enterCancelled(n){l(n)},beforeLeave(n){n.dataset||(n.dataset={}),n.dataset.oldPaddingTop=n.style.paddingTop,n.dataset.oldPaddingBottom=n.style.paddingBottom,n.dataset.oldOverflow=n.style.overflow,n.style.maxHeight=`${n.scrollHeight}px`,n.style.overflow="hidden"},leave(n){n.scrollHeight!==0&&(n.style.maxHeight=0,n.style.paddingTop=0,n.style.paddingBottom=0)},afterLeave(n){l(n)},leaveCancelled(n){l(n)}};return(n,s)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(o).b()},e.toHandlers(a)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["name"]))}});var ee=x._export_sfc(Oe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);ee.install=t=>{t.component(ee.name,ee)};const Ee=ee;let Se=class{constructor(o,l){this.parent=o,this.domNode=l,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,l=>{l.addEventListener("keydown",a=>{let n=!1;switch(a.code){case U.EVENT_CODE.down:{this.gotoSubIndex(this.subIndex+1),n=!0;break}case U.EVENT_CODE.up:{this.gotoSubIndex(this.subIndex-1),n=!0;break}case U.EVENT_CODE.tab:{K(o,"mouseleave");break}case U.EVENT_CODE.enter:case U.EVENT_CODE.space:{n=!0,a.currentTarget.click();break}}return n&&(a.preventDefault(),a.stopPropagation()),!1})})}},_e=class{constructor(o,l){this.domNode=o,this.submenu=null,this.submenu=null,this.init(l)}init(o){this.domNode.setAttribute("tabindex","0");const l=this.domNode.querySelector(`.${o}-menu`);l&&(this.submenu=new Se(this,l)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let l=!1;switch(o.code){case U.EVENT_CODE.down:{K(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),l=!0;break}case U.EVENT_CODE.up:{K(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),l=!0;break}case U.EVENT_CODE.tab:{K(o.currentTarget,"mouseleave");break}case U.EVENT_CODE.enter:case U.EVENT_CODE.space:{l=!0,o.currentTarget.click();break}}l&&o.preventDefault()})}},Fe=class{constructor(o,l){this.domNode=o,this.init(l)}init(o){const l=this.domNode.childNodes;Array.from(l).forEach(a=>{a.nodeType===1&&new _e(a,o)})}};const Qe=e.defineComponent({name:"ElMenuCollapseTransition",setup(){const t=x.useNamespace("menu");return{listeners:{onBeforeEnter:l=>l.style.opacity="0.2",onEnter(l,a){x.addClass(l,`${t.namespace.value}-opacity-transition`),l.style.opacity="1",a()},onAfterEnter(l){x.removeClass(l,`${t.namespace.value}-opacity-transition`),l.style.opacity=""},onBeforeLeave(l){l.dataset||(l.dataset={}),x.hasClass(l,t.m("collapse"))?(x.removeClass(l,t.m("collapse")),l.dataset.oldOverflow=l.style.overflow,l.dataset.scrollWidth=l.clientWidth.toString(),x.addClass(l,t.m("collapse"))):(x.addClass(l,t.m("collapse")),l.dataset.oldOverflow=l.style.overflow,l.dataset.scrollWidth=l.clientWidth.toString(),x.removeClass(l,t.m("collapse"))),l.style.width=`${l.scrollWidth}px`,l.style.overflow="hidden"},onLeave(l){x.addClass(l,"horizontal-collapse-transition"),l.style.width=`${l.dataset.scrollWidth}px`}}}}});function Be(t,o,l,a,n,s){return e.openBlock(),e.createBlock(e.Transition,e.mergeProps({mode:"out-in"},t.listeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)}var Pe=x._export_sfc(Qe,[["render",Be],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function Te(t,o){const l=e.computed(()=>{let n=t.parent;const s=[o.value];for(;n.type.name!=="ElMenu";)n.props.index&&s.unshift(n.props.index),n=n.parent;return s});return{parentMenu:e.computed(()=>{let n=t.parent;for(;n&&!["ElMenu","ElSubMenu"].includes(n.type.name);)n=n.parent;return n}),indexPath:l}}function Ve(t){return e.computed(()=>{const l=t.backgroundColor;return l?new Ye.TinyColor(l).shade(20).toString():""})}const Ie=(t,o)=>{const l=x.useNamespace("menu");return e.computed(()=>l.cssVarBlock({"text-color":t.textColor||"","hover-text-color":t.textColor||"","bg-color":t.backgroundColor||"","hover-bg-color":Ve(t).value||"","active-color":t.activeTextColor||"",level:`${o}`}))},Re=x.buildProps({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:W.iconPropType},expandOpenIcon:{type:W.iconPropType},collapseCloseIcon:{type:W.iconPropType},collapseOpenIcon:{type:W.iconPropType}}),J="ElSubMenu";var de=e.defineComponent({name:J,props:Re,setup(t,{slots:o,expose:l}){W.useDeprecated({from:"popper-append-to-body",replacement:"teleported",scope:J,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},e.computed(()=>t.popperAppendToBody!==void 0));const a=e.getCurrentInstance(),{indexPath:n,parentMenu:s}=Te(a,e.computed(()=>t.index)),u=x.useNamespace("menu"),c=x.useNamespace("sub-menu"),i=e.inject("rootMenu");i||x.throwError(J,"can not inject root menu");const r=e.inject(`subMenu:${s.value.uid}`);r||x.throwError(J,"can not inject sub menu");const N=e.ref({}),g=e.ref({});let M;const y=e.ref(!1),I=e.ref(),d=e.ref(null),h=e.computed(()=>T.value==="horizontal"&&E.value?"bottom-start":"right-start"),k=e.computed(()=>T.value==="horizontal"&&E.value||T.value==="vertical"&&!i.props.collapse?t.expandCloseIcon&&t.expandOpenIcon?m.value?t.expandOpenIcon:t.expandCloseIcon:W.arrow_down_default:t.collapseCloseIcon&&t.collapseOpenIcon?m.value?t.collapseOpenIcon:t.collapseCloseIcon:W.arrow_right_default),E=e.computed(()=>r.level===0),Q=e.computed(()=>{var w;const O=(w=t.teleported)!=null?w:t.popperAppendToBody;return O===void 0?E.value:O}),j=e.computed(()=>i.props.collapse?`${u.namespace.value}-zoom-in-left`:`${u.namespace.value}-zoom-in-top`),f=e.computed(()=>T.value==="horizontal"&&E.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),m=e.computed(()=>i.openedMenus.includes(t.index)),C=e.computed(()=>{let w=!1;return Object.values(N.value).forEach(O=>{O.active&&(w=!0)}),Object.values(g.value).forEach(O=>{O.active&&(w=!0)}),w}),b=e.computed(()=>i.props.backgroundColor||""),F=e.computed(()=>i.props.activeTextColor||""),B=e.computed(()=>i.props.textColor||""),T=e.computed(()=>i.props.mode),L=e.reactive({index:t.index,indexPath:n,active:C}),A=Ie(i.props,r.level+1),z=e.computed(()=>T.value!=="horizontal"?{color:B.value}:{borderBottomColor:C.value?i.props.activeTextColor?F.value:"":"transparent",color:C.value?F.value:B.value}),v=()=>{var w,O,_;return(_=(O=(w=d.value)==null?void 0:w.popperRef)==null?void 0:O.popperInstanceRef)==null?void 0:_.destroy()},D=w=>{w||v()},p=()=>{i.props.menuTrigger==="hover"&&i.props.mode==="horizontal"||i.props.collapse&&i.props.mode==="vertical"||t.disabled||i.handleSubMenuClick({index:t.index,indexPath:n.value,active:C.value})},Y=(w,O=t.showTimeout)=>{var _;w.type!=="focus"&&(i.props.menuTrigger==="click"&&i.props.mode==="horizontal"||!i.props.collapse&&i.props.mode==="vertical"||t.disabled||(r.mouseInChild.value=!0,M==null||M(),{stop:M}=x.useTimeoutFn(()=>{i.openMenu(t.index,n.value)},O),Q.value&&((_=s.value.vnode.el)==null||_.dispatchEvent(new MouseEvent("mouseenter")))))},S=(w=!1)=>{var O,_;i.props.menuTrigger==="click"&&i.props.mode==="horizontal"||!i.props.collapse&&i.props.mode==="vertical"||(M==null||M(),r.mouseInChild.value=!1,{stop:M}=x.useTimeoutFn(()=>!y.value&&i.closeMenu(t.index,n.value),t.hideTimeout),Q.value&&w&&((O=a.parent)==null?void 0:O.type.name)==="ElSubMenu"&&((_=r.handleMouseleave)==null||_.call(r,!0)))};e.watch(()=>i.props.collapse,w=>D(!!w));{const w=_=>{g.value[_.index]=_},O=_=>{delete g.value[_.index]};e.provide(`subMenu:${a.uid}`,{addSubMenu:w,removeSubMenu:O,handleMouseleave:S,mouseInChild:y,level:r.level+1})}return l({opened:m}),e.onMounted(()=>{i.addSubMenu(L),r.addSubMenu(L)}),e.onBeforeUnmount(()=>{r.removeSubMenu(L),i.removeSubMenu(L)}),()=>{var w;const O=[(w=o.title)==null?void 0:w.call(o),e.h(W.ElIcon,{class:c.e("icon-arrow"),style:{transform:m.value?t.expandCloseIcon&&t.expandOpenIcon||t.collapseCloseIcon&&t.collapseOpenIcon&&i.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>x.isString(k.value)?e.h(a.appContext.components[k.value]):e.h(k.value)})],_=i.isMenuPopup?e.h(fe.ElTooltip,{ref:d,visible:m.value,effect:"light",pure:!0,offset:t.popperOffset,showArrow:!1,persistent:!0,popperClass:t.popperClass,placement:h.value,teleported:Q.value,fallbackPlacements:f.value,transition:j.value,gpuAcceleration:!1},{content:()=>{var V;return e.h("div",{class:[u.m(T.value),u.m("popup-container"),t.popperClass],onMouseenter:R=>Y(R,100),onMouseleave:()=>S(!0),onFocus:R=>Y(R,100)},[e.h("ul",{class:[u.b(),u.m("popup"),u.m(`popup-${h.value}`)],style:A.value},[(V=o.default)==null?void 0:V.call(o)])])},default:()=>e.h("div",{class:c.e("title"),style:[z.value,{backgroundColor:b.value}],onClick:p},O)}):e.h(e.Fragment,{},[e.h("div",{class:c.e("title"),style:[z.value,{backgroundColor:b.value}],ref:I,onClick:p},O),e.h(Ee,{},{default:()=>{var V;return e.withDirectives(e.h("ul",{role:"menu",class:[u.b(),u.m("inline")],style:A.value},[(V=o.default)==null?void 0:V.call(o)]),[[e.vShow,m.value]])}})]);return e.h("li",{class:[c.b(),c.is("active",C.value),c.is("opened",m.value),c.is("disabled",t.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:m.value,onMouseenter:Y,onMouseleave:()=>S(!0),onFocus:Y},[_])}}});const Ue=x.buildProps({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:x.definePropType(Array),default:()=>Ce.mutable([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperEffect:{type:String,values:["dark","light"],default:"dark"}}),ae=t=>Array.isArray(t)&&t.every(o=>x.isString(o)),$e={close:(t,o)=>x.isString(t)&&ae(o),open:(t,o)=>x.isString(t)&&ae(o),select:(t,o,l,a)=>x.isString(t)&&ae(o)&&x.isObject(l)&&(a===void 0||a instanceof Promise)};var We=e.defineComponent({name:"ElMenu",props:Ue,emits:$e,setup(t,{emit:o,slots:l,expose:a}){const n=e.getCurrentInstance(),s=n.appContext.config.globalProperties.$router,u=e.ref(),c=x.useNamespace("menu"),i=x.useNamespace("sub-menu"),r=e.ref(-1),N=e.ref(t.defaultOpeneds&&!t.collapse?t.defaultOpeneds.slice(0):[]),g=e.ref(t.defaultActive),M=e.ref({}),y=e.ref({}),I=e.computed(()=>t.mode==="horizontal"||t.mode==="vertical"&&t.collapse),d=()=>{const T=g.value&&M.value[g.value];if(!T||t.mode==="horizontal"||t.collapse)return;T.indexPath.forEach(A=>{const z=y.value[A];z&&h(A,z.indexPath)})},h=(T,L)=>{N.value.includes(T)||(t.uniqueOpened&&(N.value=N.value.filter(A=>L.includes(A))),N.value.push(T),o("open",T,L))},k=T=>{const L=N.value.indexOf(T);L!==-1&&N.value.splice(L,1)},E=(T,L)=>{k(T),o("close",T,L)},Q=({index:T,indexPath:L})=>{N.value.includes(T)?E(T,L):h(T,L)},j=T=>{(t.mode==="horizontal"||t.collapse)&&(N.value=[]);const{index:L,indexPath:A}=T;if(!(U.isNil(L)||U.isNil(A)))if(t.router&&s){const z=T.route||L,v=s.push(z).then(D=>(D||(g.value=L),D));o("select",L,A,{index:L,indexPath:A,route:z},v)}else g.value=L,o("select",L,A,{index:L,indexPath:A})},f=T=>{const L=M.value,A=L[T]||g.value&&L[g.value]||L[t.defaultActive];A?g.value=A.index:g.value=T},m=()=>{var T,L;if(!u.value)return-1;const A=Array.from((L=(T=u.value)==null?void 0:T.childNodes)!=null?L:[]).filter(w=>w.nodeName!=="#comment"&&(w.nodeName!=="#text"||w.nodeValue)),z=64,v=Number.parseInt(getComputedStyle(u.value).paddingLeft,10),D=Number.parseInt(getComputedStyle(u.value).paddingRight,10),p=u.value.clientWidth-v-D;let Y=0,S=0;return A.forEach((w,O)=>{Y+=w.offsetWidth||0,Y<=p-z&&(S=O+1)}),S===A.length?-1:S},C=(T,L=33.34)=>{let A;return()=>{A&&clearTimeout(A),A=setTimeout(()=>{T()},L)}};let b=!0;const F=()=>{const T=()=>{r.value=-1,e.nextTick(()=>{r.value=m()})};b?T():C(T)(),b=!1};e.watch(()=>t.defaultActive,T=>{M.value[T]||(g.value=""),f(T)}),e.watch(()=>t.collapse,T=>{T&&(N.value=[])}),e.watch(M.value,d);let B;e.watchEffect(()=>{t.mode==="horizontal"&&t.ellipsis?B=Ae.useResizeObserver(u,F).stop:B==null||B()});{const T=v=>{y.value[v.index]=v},L=v=>{delete y.value[v.index]},A=v=>{M.value[v.index]=v},z=v=>{delete M.value[v.index]};e.provide("rootMenu",e.reactive({props:t,openedMenus:N,items:M,subMenus:y,activeIndex:g,isMenuPopup:I,addMenuItem:A,removeMenuItem:z,addSubMenu:T,removeSubMenu:L,openMenu:h,closeMenu:E,handleMenuItemClick:j,handleSubMenuClick:Q})),e.provide(`subMenu:${n.uid}`,{addSubMenu:T,removeSubMenu:L,mouseInChild:e.ref(!1),level:0})}return e.onMounted(()=>{t.mode==="horizontal"&&new Fe(n.vnode.el,c.namespace.value)}),a({open:L=>{const{indexPath:A}=y.value[L];A.forEach(z=>h(z,A))},close:k,handleResize:F}),()=>{var T,L;let A=(L=(T=l.default)==null?void 0:T.call(l))!=null?L:[];const z=[];if(t.mode==="horizontal"&&u.value){const p=we.flattedChildren(A),Y=r.value===-1?p:p.slice(0,r.value),S=r.value===-1?[]:p.slice(r.value);S!=null&&S.length&&t.ellipsis&&(A=Y,z.push(e.h(de,{index:"sub-menu-more",class:i.e("hide-arrow")},{title:()=>e.h(W.ElIcon,{class:i.e("icon-more")},{default:()=>e.h(W.more_default)}),default:()=>S})))}const v=Ie(t,0),D=e.h("ul",{key:String(t.collapse),role:"menubar",ref:u,style:v.value,class:{[c.b()]:!0,[c.m(t.mode)]:!0,[c.m("collapse")]:t.collapse}},[...A,...z]);return t.collapseTransition&&t.mode==="vertical"?e.h(Pe,()=>D):D}}});const Ze=x.buildProps({index:{type:x.definePropType([String,null]),default:null},route:{type:x.definePropType([String,Object])},disabled:Boolean}),Ge={click:t=>x.isString(t.index)&&Array.isArray(t.indexPath)},le="ElMenuItem",He=e.defineComponent({name:le,components:{ElTooltip:fe.ElTooltip},props:Ze,emits:Ge,setup(t,{emit:o}){const l=e.getCurrentInstance(),a=e.inject("rootMenu"),n=x.useNamespace("menu"),s=x.useNamespace("menu-item");a||x.throwError(le,"can not inject root menu");const{parentMenu:u,indexPath:c}=Te(l,e.toRef(t,"index")),i=e.inject(`subMenu:${u.value.uid}`);i||x.throwError(le,"can not inject sub menu");const r=e.computed(()=>t.index===a.activeIndex),N=e.reactive({index:t.index,indexPath:c,active:r}),g=()=>{t.disabled||(a.handleMenuItemClick({index:t.index,indexPath:c.value,route:t.route}),o("click",N))};return e.onMounted(()=>{i.addSubMenu(N),a.addMenuItem(N)}),e.onBeforeUnmount(()=>{i.removeSubMenu(N),a.removeMenuItem(N)}),{parentMenu:u,rootMenu:a,active:r,nsMenu:n,nsMenuItem:s,handleClick:g}}});function qe(t,o,l,a,n,s){const u=e.resolveComponent("el-tooltip");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass([t.nsMenuItem.b(),t.nsMenuItem.is("active",t.active),t.nsMenuItem.is("disabled",t.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...c)=>t.handleClick&&t.handleClick(...c))},[t.parentMenu.type.name==="ElMenu"&&t.rootMenu.props.collapse&&t.$slots.title?(e.openBlock(),e.createBlock(u,{key:0,effect:t.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:e.withCtx(()=>[e.renderSlot(t.$slots,"title")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(t.nsMenu.be("tooltip","trigger"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},8,["effect"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"title")],64))],2)}var De=x._export_sfc(He,[["render",qe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const Je={title:String},Xe="ElMenuItemGroup",Ke=e.defineComponent({name:Xe,props:Je,setup(){return{ns:x.useNamespace("menu-item-group")}}});function et(t,o,l,a,n,s){return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.ns.b())},[e.createElementVNode("div",{class:e.normalizeClass(t.ns.e("title"))},[t.$slots.title?e.renderSlot(t.$slots,"title",{key:1}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.title),1)],64))],2),e.createElementVNode("ul",null,[e.renderSlot(t.$slots,"default")])],2)}var Le=x._export_sfc(Ke,[["render",et],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const tt=x.withInstall(We,{MenuItem:De,MenuItemGroup:Le,SubMenu:de}),nt=x.withNoopInstall(De);x.withNoopInstall(Le);x.withNoopInstall(de);const ot={class:"st-kline-tips"},at={class:"st-kline-tips-row"},lt=e.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",ot,[e.createElementVNode("div",at,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,a=>(e.openBlock(),e.createElementBlock("div",{class:"st-kline-tips-row-item",style:e.normalizeStyle({color:a.color})},e.toDisplayString(a.label)+" "+e.toDisplayString(a.value),5))),256))])]))}});const ie=Z._export_sfc(lt,[["__scopeId","data-v-78aed210"]]),it=e.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(t,{emit:o}){const l=o,a=e.ref(),n=e.ref(),s=e.ref({display:"none",top:"0px",left:"0px"}),u=()=>{s.value.display="none",l("closeContextMenuCallBack"),document.removeEventListener("click",u)},c=i=>{if(i.preventDefault(),i.stopPropagation(),s.value.display==="block"){const{offsetX:r,offsetY:N}=i,{offsetWidth:g,offsetHeight:M}=n.value;if(r<=g&&N<=M)return}a.value.click(),s.value={display:"block",top:`${i.offsetY}px`,left:`${i.offsetX}px`},e.nextTick(()=>{const{bottom:r,height:N,right:g,width:M}=n.value.getBoundingClientRect();r>window.innerHeight?s.value={display:"block",top:`${i.offsetY-N}px`,left:`${i.offsetX}px`}:g>window.innerWidth&&(s.value={display:"block",top:`${i.offsetY}px`,left:`${i.offsetX-M}px`})}),document.addEventListener("click",u)};return(i,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextmenuRef",ref:a,class:"contextmenu",onContextmenu:c,onMouseleave:u},[e.renderSlot(i.$slots,"default",{},void 0,!0),s.value.display!=="none"?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:n,class:"contextmenu-popover",style:e.normalizeStyle(s.value)},[e.renderSlot(i.$slots,"popover",{},void 0,!0)],4)):e.createCommentVNode("",!0)],544))}});const st=Z._export_sfc(it,[["__scopeId","data-v-249fd104"]]);let ze=!1,je=!0,pe=[];const ge=t=>{const o=[],l=[],a=[],n=[],s=[],u=[];return t.forEach((c,i)=>{o.push(c[0]),l.push(c[1]),a.push(c[4]),n.push(c[2]),s.push(c[3]),u.push([c[1],c[4],c[3],c[2],Number(c[6]),i===0?c[4]:t[i-1][4]])}),{time:o,open:l,close:a,high:n,low:s,kLineData:u}},rt=async()=>{if(!ze)ze=!0,await me.init("./talib.wasm"),je=!1,pe.forEach(t=>{t()});else if(je)return new Promise(t=>{pe.push(t)})},X=(t,o)=>t.length>o?t.slice(t.length-o):t,ct=(t,o,l)=>t.calculationFn?t.calculationFn(me.talib,o,l):new Array(o.time.length).fill(null),ut=async(t,o,l)=>{const a=ge(t);let n=[];return n=ge(n),await rt(),{originData:X(t,l),kLine:X(a.kLineData,l),time:X(a.time,l),indicator:o.config.reduce((s,u)=>(s.push({key:u.key,color:u.color,data:X(ct(u,a,n),l)}),s),[])}},se="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",re="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",ce="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",G=(t,o)=>{const{type:l="log",color:a="black"}=o??{};localStorage.getItem("st-kline-console-show")==="true"&&console[l](`%c${t}`,`color:${a}`)},P=t=>t||t===0?Math.round(t*1e3)/1e3:null,Mt=t=>t>=1e12?`${(t/1e12).toFixed(2)}万亿`:t>=1e8?`${(t/1e8).toFixed(2)}亿`:t>=1e4?`${(t/1e4).toFixed(2)}万`:t.toFixed(2),dt=t=>{const{y:o,text:l,info:a,gridLeft:n,gridRight:s,echartsWidth:u,echartsInstance:c}=t,{config:i,event:r}=a;let N=0;return{type:"group",draggable:i.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:n,y1:o,x2:u-s,y2:o},style:{stroke:i.lineColor,lineWidth:1,lineDash:[8,4]},z:10},{type:"group",x:u,y:o-5,children:[{type:"text",left:-1*s,info:a,style:{fill:i.textColor,text:l,stroke:"#000",lineWidth:1,opacity:1},z:10}]}],onmouseover:g=>{r.onmouseover instanceof Function&&r.onmouseover(g,a)},onmouseout:g=>{r.onmouseout instanceof Function&&r.onmouseout(g,a)},ondragstart:g=>{r.ondragstart instanceof Function&&i.draggable&&(N=g.offsetY,r.ondragstart(g,a))},ondragend:g=>{if(r.ondragend instanceof Function&&i.draggable){const y=g.offsetY-N;if(y===0)return;const I=c.convertFromPixel({yAxisIndex:0},o+y);r.ondragend(g,a,I)}}}},Nt=t=>{const{y:o,text:l,info:a,gridLeft:n,gridRight:s,echartsWidth:u,echartsInstance:c}=t,{config:i,event:r}=a;let N=0;const g=y=>{let I=null;y.target.type==="line"?I=y.target.parent:y.target.type==="tspan"&&(I=y.target.parent.parent.parent),I.children()[1].children()[0].animate("style",!1).when(200,{opacity:1}).start()},M=y=>{let I=null;y.target.type==="line"?I=y.target.parent:y.target.type==="tspan"&&(I=y.target.parent.parent.parent),I.children()[1].children()[0].animate("style",!1).when(200,{opacity:0}).start()};return{type:"group",draggable:i.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:n,y1:o,x2:u-s,y2:o},style:{stroke:i.lineColor,lineWidth:1},z:10},{type:"group",x:u/2,y:o-5,children:[{type:"text",left:"center",info:a,style:{fill:i.textColor,text:l,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:y=>{r.onmouseover instanceof Function?r.onmouseover(y,a):g(y)},onmouseout:y=>{r.onmouseout instanceof Function?r.onmouseout(y,a):M(y)},ondragstart:y=>{r.ondragstart instanceof Function&&i.draggable&&(N=y.offsetY,r.ondragstart(y,a))},ondragend:y=>{if(r.ondragend instanceof Function&&i.draggable){const d=y.offsetY-N;if(d===0)return;const h=c.convertFromPixel({yAxisIndex:0},o+d);r.ondragend(y,a,h)}}}},yt=t=>{const{y:o,text:l,profitY:a,profitText:n,lossY:s,lossText:u,info:c,gridLeft:i,gridRight:r,echartsWidth:N,echartsInstance:g}=t,{config:M,event:y}=c;let I=0,d=null,h=null;const k=(j,f)=>{var m,C,b,F;(m=j.children()[2])==null||m.animate("style",!1).when(200,{opacity:~~f}).start(),(C=j.children()[3].children()[0])==null||C.animate("style",!1).when(200,{opacity:~~f}).start(),(b=j.children()[4])==null||b.animate("style",!1).when(200,{opacity:~~f}).start(),(F=j.children()[5].children()[0])==null||F.animate("style",!1).when(200,{opacity:~~f}).start()},E=j=>{let f=null;j.target.type==="line"?f=j.target.parent:j.target.type==="tspan"&&(f=j.target.parent.parent.parent),d=m=>{m.preventDefault(),(m.code==="AltLeft"||m.code==="AltRight")&&k(f,!0)},h=m=>{(m.code==="AltLeft"||m.code==="AltRight")&&k(f,!1)},window.addEventListener("keydown",d),window.addEventListener("keyup",h)},Q=j=>{let f=null;j.target.type==="line"?f=j.target.parent:j.target.type==="tspan"&&(f=j.target.parent.parent.parent),k(f,!1),window.removeEventListener("keydown",d),window.removeEventListener("keyup",h)};return{type:"group",draggable:M.draggable?"vertical":!1,children:[{type:"line",info:c,shape:{x1:i,y1:o,x2:N-r,y2:o},style:{stroke:M.lineColor,lineWidth:1},z:10},{type:"group",x:N/2,y:o-5,children:[{type:"text",left:"center",info:c,style:{fill:M.textColor,text:l,stroke:"#000",lineWidth:1,opacity:1},z:10}]},{type:"line",info:c,shape:{x1:i,y1:a,x2:N-r,y2:a},style:{stroke:M.profitLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:N/2,y:a-5,children:[{type:"text",left:"center",info:c,style:{fill:M.profitTextColor,text:n,stroke:"#000",lineWidth:1,opacity:0},z:10}]},{type:"line",info:c,shape:{x1:i,y1:s,x2:N-r,y2:s},style:{stroke:M.lossLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:N/2,y:s-5,children:[{type:"text",left:"center",info:c,style:{fill:M.lossTextColor,text:u,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:j=>{y.onmouseover instanceof Function?y.onmouseover(j,c):E(j)},onmouseout:j=>{y.onmouseout instanceof Function?y.onmouseout(j,c):Q(j)},ondragstart:j=>{y.ondragstart instanceof Function&&M.draggable&&(I=j.offsetY,y.ondragstart(j,c))},ondragend:j=>{if(y.ondragend instanceof Function&&M.draggable){const m=j.offsetY-I;if(m===0)return;const C=g.convertFromPixel({yAxisIndex:0},o+m);y.ondragend(j,c,C)}}}},ne=(t,o)=>{const{direction:l="",tradeAction:a="",tradeType:n=""}=t;if(o==="sellBuy"){const s=n??l+a;return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(s)}else if(o==="openClose")return n??l+a},zt=(t,o)=>t.reduce((l,a)=>{var N;const n=ne(a,"sellBuy"),s=t.filter(g=>g.time===a.time);let u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;s.length>1?[...new Set(s.map(M=>ne(M,"sellBuy")))].length>1?u="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href:u="image://"+new URL(Object.assign({"./images/buy.svg":se,"./images/sell.svg":re,"./images/t.svg":ce})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;const i=(o.find(g=>g[0]===a.time)??[])[2],r=((N=a==null?void 0:a.markLineTarget)==null?void 0:N.map(g=>{const M=a.time,y=i+"",I=g.time,d=o.find(k=>k[0]===g.time),h=d?d[3]:null;return[{coord:[M,y],lineStyle:g.lineStyle},{coord:[I,h]}]}))??null;return l.push({symbol:u,symbolSize:25,animation:!1,coord:[a.time+"",i],symbolRotate:0,symbolOffset:[0,"-7"],markLineTarget:r}),l},[]),jt=(t,o)=>t.reduce((l,a,n)=>{var g;const s=ne(a,"openClose"),u=s==="开多"||s==="开空"?"top":"bottom",c=o.find(M=>M[0]===a.time)??[],i=u==="top"?c[2]:c[3];let r=7;r+=t.slice(0,n).filter(M=>{const y=ne(M,"openClose");return(y==="开多"||y==="开空"?"top":"bottom")===u&&M.time===a.time}).length*7;const N=((g=a==null?void 0:a.markLineTarget)==null?void 0:g.map(M=>{const y=a.time,I=i+"",d=M.time,h=o.find(k=>k[0]===M.time)[3];return[{coord:[y,I],lineStyle:M.lineStyle},{coord:[d,h]}]}))??null;return l.push({symbol:"triangle",symbolSize:[10,12],animation:!1,coord:[a.time+"",i],symbolRotate:u==="top"?180:0,symbolOffset:[0,`${u==="top"?r*-1:r}`],itemStyle:{color:u==="top"?"#FF0000":"#389e0d"},label:{show:!0,position:u,color:"#fff",formatter:`${s} ${u==="top"?"+":"-"} ${a.amount}手 ${a.part?`(${a.part}份)`:""}`},markLineTarget:N}),l},[]),pt=(t,o)=>t.reduce((l,a)=>{const{key:n,data:s}=a;if(s===null||s.length===0)return l;const c=new Map([["sellBuy",()=>zt(s,o)],["openClose",()=>jt(s,o)],["signal",()=>{}]]).get(n);return c instanceof Function&&l.push(...c()),l},[]),ue=async(t,o,l,a,n,s)=>{const{totalBarCount:u,defaultShowBarCount:c,maxValueSpan:i,gridLeft:r,gridTop:N,gridRight:g,gridBottom:M,zoomLock:y}=a,{time:I,kLine:d,originData:h,indicator:k}=await ut(t,l,u),E=k.map(f=>{const{key:m,data:C,color:b}=f;return{name:m,type:"line",silent:!0,symbol:"none",data:C,lineStyle:{width:1},itemStyle:{color:b}}}),Q=pt(o,h);let j=[];return Q.forEach(f=>{f.markLineTarget&&(j=[...j,...f.markLineTarget])}),{animation:!1,dataset:{id:"data",source:{klineData:d,indicatorData:k}},grid:{left:`${r}px`,top:`${N}px`,right:`${g}px`,bottom:`${M}px`},tooltip:{trigger:"axis",axisPointer:{type:"cross",label:{formatter:f=>{const{axisDimension:m,value:C}=f;return m==="x"?C:String(P(C))}}},formatter:f=>{let m=null,C="";return f.forEach(b=>{b.seriesName==="资产持仓净值"&&b.data!==null&&(C+=`<div>资产持仓净值: ${b.data}</div>`),b.componentSubType==="candlestick"&&o.forEach(F=>{const{key:B,data:T}=F;if(B==="sellBuy"){const L=T.filter(v=>v.time===b.axisValue);let A=0,z=0;L.forEach(v=>{v.tradeType==="开多"||v.tradeType==="平空"?A+=v.amount:z+=v.amount}),A&&(C+=`<div>买: ${A}</div>`),z&&(C+=`<div>卖: ${z}</div>`)}B==="openClose"&&T.forEach(L=>{L.time===b.axisValue&&(C+=L.tooltip)})}),C&&(m=`<div><span style="font-weight: bold;">${b.axisValue}</span>${C}</div>`)}),m}},xAxis:{type:"category",data:I,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},axisLabel:{show:!0,formatter:f=>f}},yAxis:[{index:0,splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:f=>{const{min:m,max:C}=f,b=Math.abs((C-m)/10);return m-b},max:f=>{const{min:m,max:C}=f,b=Math.abs((C-m)/10);return C+b},axisLine:{show:!0},axisLabel:{formatter:f=>P(f),showMaxLabel:!1}},{show:!1,min:"dataMin"}],dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:y,maxValueSpan:i,start:d.length>=c?(d.length-c)/d.length*100:0,end:99.99}],series:[{name:"k线",type:"candlestick",data:d,markPoint:{data:Q},markLine:{position:"middle",textStyle:{color:"blue",fontSize:15},animation:!1,data:j,lineStyle:{width:3,type:"solid"},symbol:["none","none"]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1},z:1},...E,{name:"资产持仓净值",type:"line",data:n??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666"}},{name:"二腿相关度",type:"line",data:s??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#FFF"},lineStyle:{width:2},label:{show:!0,position:"top",formatter:f=>`相关度: ${f.data[1]}`,textStyle:{color:"#FFF",fontSize:14}}}],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:1},brushStyle:{color:"rgba(120,140,180,0)",borderColor:"rgba(255,255,255,0.4)"}}}},gt=(t,o,l)=>{var g;const{gridLeft:a,gridRight:n,gridBottom:s,warningConfig:u,positionConfig:c,conditionConfig:i,isOpenDS:r}=o;let N=[];if((g=l==null?void 0:l.getModel())!=null&&g.getComponent){const[M,y]=l.getModel().getComponent("yAxis").axis.scale._extent;let I=[],d={},h=[],k={},E=[],Q={};if(t.forEach(({key:j,data:f,...m})=>{j==="warning"?(I=f,d=m):j==="position"?(h=f,k=m):j==="condition"&&(E=f,Q=m)}),I.length>0&&(N=I.reduce((j,f)=>{const{value:m,text:C,info:b,config:F}=f;if(m>y||m<M)return j;const B={y:l.convertToPixel({yAxisIndex:0},m),text:C,info:{info:b,config:{...u,...F},event:{...d}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,dt(B)]},N)),h.length>0&&(N=h.reduce((j,f)=>{const{value:m,text:C,info:b,config:F}=f;if(m>y||m<M)return j;const B={y:l.convertToPixel({yAxisIndex:0},m),text:C,info:{info:b,config:{...c,...F},event:{...k}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,Nt(B)]},N)),E.length>0&&(N=E.reduce((j,f)=>{const{value:m,text:C,profitValue:b,profitText:F,lossValue:B,lossText:T,info:L,config:A}=f;if(m>y||m<M)return j;const z={y:l.convertToPixel({yAxisIndex:0},m),text:C,profitY:l.convertToPixel({yAxisIndex:0},b),profitText:F,lossY:l.convertToPixel({yAxisIndex:0},B),lossText:T,info:{info:L,config:{...i,...A},event:{...Q}},gridLeft:a,gridRight:n,echartsWidth:l.getWidth(),echartsInstance:l};return[...j,yt(z)]},N)),r){const j=l.getOption(),f=j.dataset[0].source.klineData.slice(j.dataZoom[0].startValue,j.dataZoom[0].endValue+1),m={};f.forEach(z=>{m[z[1]]?m[z[1]]+=1:m[z[1]]=1});const C=f[f.length-1][1],b=f.reduce((z,v)=>z+v[1],0)/f.length,F=C-b,B=mt(f,1,50),T=Tt(f),L=T?F/T:0,A=ft(f,1,C);N=[...N,{type:"group",draggable:!1,children:Object.keys(m).map(z=>({type:"line",shape:{x1:l.getWidth()-n-100*m[z],y1:l.convertToPixel({yAxisIndex:0},z),x2:l.getWidth()-n,y2:l.convertToPixel({yAxisIndex:0},z)},style:{stroke:"rgb(124,124,124)",lineWidth:1},z:10}))},{type:"text",x:a+6,y:l.getHeight()-s-20,style:{fill:"#FFF",text:`均值: ${P(b)}    距均值: ${P(F)}    中值: ${P(B)}    标准差: ${P(T)}    距均值/标准差: ${P(L)}    百分位: ${P(A)}%`,lineWidth:1,opacity:1},z:10}]}}return{elements:N}},ft=(t,o,l)=>{const{round:a,add:n,subtract:s,multiply:u,divide:c}=oe.bundle_umdExports.stMath,i=t.map(N=>N[o]).sort((N,g)=>N-g);let r=0;for(let N=0;N<i.length;N++)if(i[N]===l){r=N;break}else if(i[N]>=l){r=n(N,c(s(i[N+1],i[N]),i[N]));break}return a(c(u(r,100),t.length+1))},mt=(t,o,l)=>{const{round:a,add:n,subtract:s,multiply:u,divide:c}=oe.bundle_umdExports.stMath,i=t.map(M=>M[o]).sort((M,y)=>M-y),r=u(t.length+1,c(l,100)),N=Math.floor(r),g=s(r,N);return a(g===0?i[r]:n(i[N],u(s(i[N>=t.length-1?N:N+1],i[N]),g)))};function Tt(t){const o=t.map(u=>u[1]),l=o.length;let a=0,n=0;for(const u of o)a+=u;const s=a/l;for(const u of o)n+=Math.pow(u-s,2);return Math.sqrt(n/l)}const It={class:"st-kline"},Dt={class:"st-kline-header"},Lt=300,vt=e.defineComponent({__name:"index",props:{indicator:{type:Object,default:()=>({})},klineData:{type:Array,default:()=>[]},markData:{type:Array,default:()=>[]},lineData:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},relevanceData:{type:Array,default:()=>[]},priceTrendData:{type:Array,default:()=>[]},priceTrendPercentData:{type:Array,default:()=>[]},brushRange:{type:Array,default:()=>[]},defaultMenuData:{type:Array,default:()=>[]},isSelect:{type:Boolean,default:()=>!1},config:{type:Object,default:()=>({})}},setup(t){const o=t,l={totalBarCount:2e3,defaultShowBarCount:200,preBarCount:800,maxValueSpan:1e4,gridLeft:60,gridTop:0,gridRight:60,gridBottom:30,warningConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff"},positionConfig:{draggable:!1,lineColor:"#e45d07",textColor:"#fff"},conditionConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff",profitLineColor:"#b71e44",profitTextColor:"#fff",lossLineColor:"#749b66",lossTextColor:"#fff"},tipsConfig:{open:!0,heigh:!0,low:!0,close:!0,business:!0,riseAndFall:!0},dynamicLoadConfig:{historyVisible:!1,historyLoadCallBack:()=>{},futureVisible:!1,futureLoadCallBack:()=>{}},zoomLock:!1,isOpenDS:!1},a=e.computed(()=>({...l,...o.config})),n=e.ref(null),s=e.ref(-1),u=e.computed(()=>{var z,v;if(n.value&&((v=(z=n.value.dataset[0])==null?void 0:z.source)!=null&&v.klineData[s.value])){const D=n.value.dataset[0].source.klineData[s.value],p=[],{open:Y,heigh:S,low:w,close:O,business:_,riseAndFall:V}=a.value.tipsConfig;if(Y&&p.push({label:"开",value:P(D[0]),color:"rgb(153, 153, 153)"}),S&&p.push({label:"高",value:P(D[3]),color:"rgb(153, 153, 153)"}),w&&p.push({label:"低",value:P(D[2]),color:"rgb(153, 153, 153)"}),O&&p.push({label:"收",value:P(D[1]),color:"rgb(153, 153, 153)"}),_&&p.push({label:"额",value:Mt(D[4]),color:"rgb(153, 153, 153)"}),V){let R=((D[1]-D[5])/D[1]*100).toFixed(2),$=+R==0?"white":+R>0?"red":"#00ff00";p.push({label:"涨跌",value:`${R}%`,color:$})}return p}return[]}),c=e.computed(()=>{var z,v;return n.value&&((v=(z=n.value.dataset[0])==null?void 0:z.source)!=null&&v.indicatorData)?n.value.dataset[0].source.indicatorData.reduce((D,p)=>(p.data[s.value]&&D.push({label:p.key,value:P(p.data[s.value]),color:p.color}),D),[]):[]}),i=e.computed(()=>{const z=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"];if(o.priceTrendData.length>0){const v=[];return o.priceTrendData.forEach((D,p)=>{var S;(D.data[s.value]?P(D.data[s.value][1]):null)!==null&&v.push({label:D.name,value:P((S=D.data[s.value])==null?void 0:S[1]),color:z[p]})}),v}if(o.priceTrendPercentData.length>0){const v=[];return d.getOption().series.filter(p=>p.name.includes("二腿价格走势百分比图")).forEach((p,Y)=>{var w;(p.data[s.value]?P(p.data[s.value][1]):null)!==null&&v.push({label:p.name.split("-")[1],value:`${P((w=p.data[s.value])==null?void 0:w[1])}%`,color:z[Y]})}),v}return[]});e.watch(()=>[o.klineData,o.indicator,o.markData,o.netPositionData,o.relevanceData],()=>{r()},{deep:!0}),e.watch(()=>o.lineData,async()=>{G("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line",{color:"red"}),r("line")},{deep:!0}),e.watch(()=>o.brushRange,async()=>{G("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush",{color:"red"}),r("brush")},{deep:!0}),e.watch(()=>o.priceTrendData,async()=>{r("priceTrend")},{deep:!0}),e.watch(()=>o.priceTrendPercentData,async()=>{r("priceTrendPercent")},{deep:!0});const r=async z=>{const D=new Map([["kline",async()=>{const p=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData),{graphic:Y}=d.getOption()??{graphic:[]};n.value={...p,graphic:Y},d.setOption(n.value,!0),G("st-kline组件消息:K线绘制完毕-draw",{color:"green"})}],["line",()=>{const p=d.getOption(),Y=gt(o.lineData,a.value,d);n.value={...p,graphic:Y},d.setOption(n.value,{replaceMerge:["graphic"]}),G("st-kline组件消息:额外画线绘制完毕-draw",{color:"green"})}],["brush",()=>{const{brushRange:p}=o;p instanceof Array&&p.length>0&&(d.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[p[0]+"",p[1]+""],xAxisIndex:0}]}),G("st-kline组件消息:区域刷选绘制完毕-draw",{color:"green"}))}],[void 0,async()=>{await r("kline"),await r("line"),await r("priceTrend"),await r("priceTrendPercent"),await r("brush")}],["history",async()=>{const p=d.getOption(),Y=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData),S=Y.dataset.source.klineData.length-p.dataset[0].source.klineData.length;d.setOption({...Y,dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:a.value.zoomLock,maxValueSpan:a.value.maxValueSpan,startValue:p.dataZoom[0].startValue+S,endValue:p.dataZoom[0].endValue+S}]},!0),await r("priceTrend")}],["future",async()=>{const p=d.getOption(),Y=await ue(o.klineData,o.markData,o.indicator,a.value,o.netPositionData,o.relevanceData);Y.dataZoom[0].start=(o.klineData.length-p.dataZoom[0].endValue+p.dataZoom[0].startValue)/o.klineData.length*100,d.setOption(Y,!0),await r("priceTrend")}],["priceTrend",()=>{if(o.priceTrendData.length===0)return;const p=d.getOption(),Y=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],S=o.priceTrendData.reduce((w,O,_)=>{const{name:V,data:R}=O,$={name:`二腿价格走势图-${V}`,type:"line",data:R,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:Y[_]},lineStyle:{type:"dashed",width:1}};return w.push($),w},[]);n.value={...p,series:[...p.series,...S]},d.setOption(n.value,{replaceMerge:["series"]})}],["priceTrendPercent",async()=>{if(o.priceTrendPercentData.length===0)return;const p=d.getOption(),Y=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],S=p.dataZoom[0].startValue,w=o.priceTrendPercentData.reduce((O,_,V)=>{const{name:R,data:$}=_,H=$.length>a.value.totalBarCount?$.slice($.length-a.value.totalBarCount):$,q=H[S][1],ve=H.map(Ne=>[Ne[0],(Ne[1]-q)/q*100]),he={name:`二腿价格走势百分比图-${R}`,type:"line",data:ve,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:Y[V]},lineStyle:{type:"dashed",width:1}};return O.push(he),O},[]);p.series=[...p.series.filter(O=>!O.name.includes("二腿价格走势百分比图")),...w],d.setOption(p,!0)}]]).get(z);D instanceof Function&&await D()},N=e.ref(!1),g=e.ref([]),M=z=>{const{callBack:v}=z;v instanceof Function&&v(d,N)},y=()=>{g.value=o.defaultMenuData},I=e.ref();let d,h;const k=(z,v)=>{var D,p;if(z)s.value=typeof((D=z==null?void 0:z.batch[0])==null?void 0:D.dataIndex)=="number"?(p=z==null?void 0:z.batch[0])==null?void 0:p.dataIndex:-1;else{const Y=v.getOption();Y.dataZoom instanceof Array&&(s.value=Y.dataZoom[0].endValue)}};let E=null,Q=!1,j=e.ref(!1),f=!1,m=e.ref(!1);const C=async z=>{const v=z.batch?z.batch[0].start*a.value.totalBarCount:z.startValue;a.value.dynamicLoadConfig.historyVisible&&v<=100&&!Q&&!j.value&&(Q=!0,await a.value.dynamicLoadConfig.historyLoadCallBack(j),await r("history"),Q=!1);const D=z.batch?z.batch[0].end===100:z.endValue>=o.klineData.length-a.value.preBarCount-1,p=z.actionIsWheel;a.value.dynamicLoadConfig.futureVisible&&D&&!f&&!m.value&&!p&&(f=!0,await a.value.dynamicLoadConfig.futureLoadCallBack(m),await r("future"),f=!1),clearTimeout(E),E=setTimeout(()=>{r("line"),r("priceTrendPercent"),clearTimeout(E),E=null},Lt)};let b=null;const F=z=>{b=setTimeout(()=>{var v;if(z.componentType==="graphic"){const{oncontextmenu:D}=((v=z.info)==null?void 0:v.event)??{};D instanceof Function&&D(z,z.info,g)}clearTimeout(b),b=null})},B=()=>{d.on("highlight",z=>{k(z,d)}),d.on("globalout",()=>{k(null,d)}),d.on("contextmenu",z=>{F(z)}),d.on("datazoom",z=>{C(z)})},T=()=>{d.off("highlight"),d.off("globalout"),d.off("contextmenu"),d.off("datazoom")},L=z=>{if(!d||!(z.ctrlKey||o.isSelect))return;const v=d.getOption();let{startValue:D,endValue:p,start:Y,end:S}=v.dataZoom[0];const w=()=>{D!==0&&(D=D-1,p=p-1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan}))},O=()=>{if(a.value.dynamicLoadConfig.futureVisible&&!f&&!m.value)D=D+1,p=p+1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan});else{if(p===v.xAxis[0].data.length-1)return;D=D+1,p=p+1,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,maxValueSpan:a.value.maxValueSpan})}},_=()=>{if(p-D<5)return;const H=Math.floor((s.value-D)/2)+1,q=Math.floor((p-s.value)/2)+1;D=D+H,p=p-q,d.dispatchAction({type:"dataZoom",startValue:D,endValue:p,actionIsWheel:!0,maxValueSpan:a.value.maxValueSpan})},V=()=>{Y=Y-(S-Y)/4,d.dispatchAction({type:"dataZoom",start:Y,end:S,actionIsWheel:!0,maxValueSpan:a.value.maxValueSpan})},$=new Map([["ArrowLeft",w],["ArrowRight",O],["ArrowUp",_],["ArrowDown",V]]).get(z.code);$ instanceof Function&&$()},A=async()=>{let z=!0;d=te.init(I.value),await r(),g.value=o.defaultMenuData,s.value=d.getOption().dataZoom[0].endValue??-1,B(),h=new ResizeObserver(()=>{if(z){z=null;return}d.resize(),r("line")}),h.observe(I.value),window.addEventListener("keydown",L)};return e.onMounted(()=>{A()}),e.onUnmounted(()=>{T(),window.removeEventListener("keydown",L),d.dispose(),h.disconnect(),h=null}),(z,v)=>{const D=nt,p=tt;return e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("div",Dt,[e.createVNode(ie,{data:u.value},null,8,["data"]),e.createVNode(ie,{data:c.value},null,8,["data"]),e.createVNode(ie,{data:i.value},null,8,["data"])]),e.createVNode(st,{class:"st-kline-body",onCloseContextMenuCallBack:y},{popover:e.withCtx(()=>[e.createVNode(p,{class:"menu"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,Y=>(e.openBlock(),e.createBlock(D,{key:Y.label,index:Y.label,class:"menuItem",onClick:S=>M(Y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(Y.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"echartsRef",ref:I,class:e.normalizeClass(N.value?"st-kline-chart cursorPen":"st-kline-chart")},null,2)]),_:1})])}}});const ht=Z._export_sfc(vt,[["__scopeId","data-v-7f014d0e"]]),xt={class:"kline-tips"},At=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(a,n)=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"kline-tips-item",style:e.normalizeStyle({color:a.color})},e.toDisplayString(a.label)+" "+e.toDisplayString(a.value),5))),128))]))}});const Me=Z._export_sfc(At,[["__scopeId","data-v-dc7d381b"]]);const Yt={class:"klineSub"},Ct={class:"klineSub-tips"},wt={key:0,class:"klineSub-tips-select"},bt={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(t,{expose:o,emit:l}){const{round:a}=oe.bundle_umdExports.stMath;let n,s;const u=l,c=t,i=e.ref(),r=e.computed({get(){return c.modelValue},set(M){u("update:modelValue",M)}}),N=e.computed(()=>{var I;const{data:M,activeIndex:y}=c;return((I=M==null?void 0:M.subIndicator)==null?void 0:I.map(d=>({label:d.key,color:d.color,value:d.data[y]||"-"})))||[]});e.onMounted(()=>{n=te.init(i.value);let M=!0;s=new ResizeObserver(()=>{if(M){M=null;return}n.resize()}),s.observe(i.value)}),e.onUnmounted(()=>{n.dispose(),s.disconnect(),s=null});const g=(M,y)=>{const I=M[y],d=y===0?M[y]:M[y-1];return I[0]===I[1]?I[0]>=d[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:I[1]>I[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return o({connect:M=>{te.connect([M,n])},draw:(M,y)=>{e.nextTick(()=>{const{startValue:I,endValue:d,maxValueSpan:h}=M,{leftYAxisRange:k,rightYAxisRange:E}=c.data.subIndicator[0],Q=c.data.subIndicator.map(j=>{if(j.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:j.data.map((f,m)=>j.seriesColor==="kline"?{value:f,itemStyle:g(c.data.data,m)}:j.seriesColor==="value"?{value:f,itemStyle:{color:f>=0?"#FF0000":"#00FFFF"}}:{value:f,itemStyle:{color:j.seriesColor}})};if(j.series==="line")return{xAxisIndex:0,yAxisIndex:j.yAxis==="right"?2:1,name:j.key,type:"line",silent:!0,symbol:"none",data:j.data,lineStyle:{width:1},itemStyle:{color:j.color}}});n.setOption({animation:!1,grid:{left:`${y.gridLeft}px`,top:"10px",right:`${y.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:I,endValue:d,maxValueSpan:h}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:j=>{const{axisDimension:f,value:m}=j;if(f==="x")return m;if(j.axisIndex===1)return String(a(m))}}},formatter:()=>""},xAxis:{type:"category",data:c.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:j=>j}},yAxis:[{position:"right"},{position:"left",min:k==="cover"?j=>j.min:null,max:k==="cover"?j=>j.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:E==="cover"?j=>j.min:null,max:E==="cover"?j=>j.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:Q},!0)})}}),(M,y)=>{const I=ye.ElOption,d=ye.ElSelect;return e.openBlock(),e.createElementBlock("div",Yt,[e.createElementVNode("div",Ct,[N.value.length?(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(d,{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=h=>r.value=h),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.subIndicatorList,h=>(e.openBlock(),e.createBlock(I,{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createVNode(Me,{data:N.value},null,8,["data"])]),e.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:i},null,512)])}}},kt=Z._export_sfc(bt,[["__scopeId","data-v-4264b76c"]]);const Ot={class:"kline-tips"},Et={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0}},setup(t){const{round:o,formatValue:l}=oe.bundle_umdExports.stMath,a=t,n=e.computed(()=>{const{data:u,activeIndex:c}=a;if(u.data&&u.data[c]){const i=u.data[c],r=[{label:"开",value:o(i[0])},{label:"高",value:o(i[3])},{label:"低",value:o(i[2])},{label:"收",value:o(i[1])}];i[4]!==null&&r.push({label:"额",value:l(i[4])});let N;return i[6]>0?N="red":i[6]<0&&(N="green"),r.push({label:"涨跌",value:`${o(i[6])}%`,color:N}),r}return[]}),s=e.computed(()=>{var i;const{data:u,activeIndex:c}=a;return((i=u==null?void 0:u.mainIndicator)==null?void 0:i.map(r=>({label:r.key,value:o(r.data[c]),color:r.color})))||[]});return(u,c)=>(e.openBlock(),e.createElementBlock("div",Ot,[e.createVNode(Me,{data:n.value},null,8,["data"]),e.createVNode(Me,{data:s.value},null,8,["data"])]))}},St=Z._export_sfc(Et,[["__scopeId","data-v-a12855fe"]]),_t={__name:"index",setup(t,{expose:o}){return o({handleKeyDown:(l,a)=>{let{startValue:n,endValue:s,maxIndex:u}=a;if(l.code==="ArrowLeft"){if(n===0)return;n=n-1,s=s-1}else if(l.code==="ArrowRight"){if(s===u)return;n=n+1,s=s+1}else if(l.code==="ArrowUp"){if(s-n<5)return;const c=Math.floor((s-n)/2)+1;n=n+c,s-n<5&&(n=s-4)}else if(l.code==="ArrowDown"){const c=Math.min(500,s-n);n=n-c-1}return{startValue:n,endValue:s}},mergeData:(l,a)=>({time:[...l.time,...a.time.slice(1)],data:[...l.data,...a.data.slice(1)],mainIndicator:l.mainIndicator.map((n,s)=>({...n,data:[...n.data,...a.mainIndicator[s].data.slice(1)]})),subIndicator:l.subIndicator.map((n,s)=>({...n,data:[...n.data,...a.subIndicator[s].data.slice(1)]}))}),getDataZoomInfoByTime:l=>{const{showStartTime:a,showEndTime:n,maxShowDays:s}=l;let u=-1,c=-1,i={};return l.time.forEach((r,N)=>{const g=r.split(" ")[0];i[g]=i[g]||0,i[g]+=1,u===-1&&new Date(r)>=new Date(a)&&(u=N),c===-1&&new Date(r)>=new Date(n)&&(c=N)}),c=c===-1?l.time.length-1:c,{startValue:u,endValue:c,maxValueSpan:Math.max(...Object.values(i))*s}}}),(l,a)=>null}};const Ft={__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(t,{expose:o,emit:l}){let a,n,s=null;const u=l,c=t,i=e.ref();e.watch(()=>c.data,()=>{g()},{deep:!0}),e.onMounted(()=>{a=te.init(i.value),r(),g();let M=!0;n=new ResizeObserver(()=>{if(M){M=null;return}a.resize()}),n.observe(i.value)}),e.onUnmounted(()=>{a.off("datazoom"),a.dispose(),n.disconnect(),n=null});const r=()=>{a.on("datazoom",M=>{M.dataZoomId&&(clearTimeout(s),s=setTimeout(()=>{const{data:y}=c,{start:I,end:d}=M,h=Math.floor(I*y.length/100),k=d===100?y.length-1:Math.floor(d*y.length/100);N(h,k),clearTimeout(s)},100))})},N=(M,y)=>{const I=c.data;if(I.length===0)return;const d=I[M][0].split(" ")[0],h=I[y][0].split(" ")[0];u("change",{startTime:`${d} 00:00:00`,endTime:`${h} 24:00:00`})},g=()=>{const{data:M}=c;if(M.length===0)return;const y=M.map(d=>d[0].split(" ")[0]),I=M.map(d=>d[1]);a.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:y,show:!1},yAxis:{type:"value"},series:[{data:I,type:"line"}]},!0)};return o({resetSlide:(M,y,I)=>{let d=-1,h=-1;c.data.forEach((k,E)=>{d===-1&&k[0]===M?d=E:d===-1&&new Date(k[0])>new Date(M)&&(d=E-1),(h===-1&&k[0]===y||h===-1&&new Date(k[0])>new Date(y))&&(h=E)}),h=h===-1?c.data.length-1:h,a.setOption({dataZoom:[{show:!0,startValue:d,endValue:h,maxValueSpan:I,textStyle:{color:"#ccc"}},{type:"inside",startValue:d,endValue:h,maxValueSpan:I}]})},resize:()=>{a==null||a.resize()}}),(M,y)=>(e.openBlock(),e.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:i},null,512))}},Qt=Z._export_sfc(Ft,[["__scopeId","data-v-7a2f3dd0"]]),Bt={install(t){t.component("st-kline",ht),t.component("st-kline-sub-new",kt),t.component("st-kline-tips-new",St),t.component("st-kline-slide-new",Qt),t.component("st-kline-utils-new",_t)}};module.exports=Bt;