import{LoadingIcon as u,decodeData as _}from"@vuepress/helper/client";import{useEventListener as h,useDebounceFn as d}from"@vueuse/core";import{defineComponent as f,shallowRef as m,ref as g,h as i,onMounted as w,watch as S,nextTick as v,onUnmounted as E}from"vue";import{onContentUpdated as y}from"vuepress/client";import"../styles/echarts.css";import{u as C}from"../echarts-C40_Ts42.js";const R=(async()=>{}).constructor,U=(t,o,n)=>o==="js"?R("echarts",`let width,height,option,__echarts_config__; { ${t} __echarts_config__={width,height,option}; } return __echarts_config__; `)(n):Promise.resolve({option:JSON.parse(t)});var P=f({name:"ECharts",props:{config:{type:String,required:!0},title:String,type:{type:String,default:"json"}},setup(t){const o=C(),n=m(),r=g(!1);let e=null;h("resize",d(()=>{e?.resize()},100));const a=()=>{e?.dispose(),e=null},c=async()=>{if(__VUEPRESS_SSR__)return;const s=await import("echarts");await o.setup?.(),e=s.init(n.value);const{option:p,...l}=await U(_(t.config),t.type,e);e.resize(l),e.setOption({...o.option,...p})};return y(async s=>{s==="mounted"&&(await c(),r.value=!0)}),w(()=>{__VUEPRESS_DEV__&&S(()=>t.config,async()=>{a(),await v(),await c()},{flush:"post"})}),E(a),()=>[t.title?i("div",{class:"echarts-title"},decodeURIComponent(t.title)):null,i("div",{class:"echarts-wrapper"},[i("div",{ref:n,class:"echarts-container"}),r.value?null:i(u,{class:"echarts-loading",height:360})])]}});export{P as default}; //# sourceMappingURL=ECharts.js.map