import{LoadingIcon as h,decodeData as v}from"@vuepress/helper/client";import{useEventListener as F,useDebounceFn as b}from"@vueuse/core";import{defineComponent as y,useId as _,toRefs as E,shallowRef as C,ref as u,h as d,onMounted as D,watch as S,nextTick as g,onUnmounted as x}from"vue";import{onContentUpdated as A}from"vuepress/client";import"../styles/flowchart.css";var i={x:0,y:0,"line-width":2,"line-length":40,"text-margin":8,"font-size":14,"font-color":"#8DA1AC","line-color":"#8DA1AC","element-color":"black",fill:"white","yes-text":"Yes","no-text":"No","arrow-end":"block",scale:1},R={...i,symbols:{start:{class:"start-element","font-color":"#fff",fill:"#595959","line-width":0},end:{class:"end-element","font-color":"#fff",fill:"#595959","line-width":0},operation:{class:"operation-element","font-color":"#fff",fill:"#1890ff","line-width":0},inputoutput:{class:"inputoutput-element","font-color":"#fff",fill:"#1890ff","line-width":0},subroutine:{class:"subroutine-element","font-color":"#fff",fill:"#FF485E","element-color":"#fff","line-color":"red"},condition:{class:"condition-element","font-color":"#fff",fill:"#FF485E","line-width":0},parallel:{class:"parallel-element","font-color":"#fff",fill:"#1890ff","line-width":0}}},k={...i,"line-width":1,symbols:{start:{class:"start-element",fill:"#ccc","line-color":"#5c6ac4","font-color":"#000"},end:{class:"end-element",fill:"#ccc","line-color":"#5c6ac4","font-color":"#000"},operation:{class:"operation-element",fill:"#f1f1f1","line-color":"#5c6ac4","font-color":"#000"},inputoutput:{class:"inputoutput-element",fill:"#f1f1f1","line-color":"#5c6ac4","font-color":"#000"},subroutine:{class:"subroutine-element",fill:"#f1f1f1","line-color":"#5c6ac4","font-color":"#000"},condition:{class:"condition-element",fill:"#f1f1f1","line-color":"#5c6ac4","font-color":"#000"},parallel:{class:"parallel-element",fill:"#f1f1f1","line-color":"#5c6ac4","font-color":"#000"}}},U={...i,symbols:{start:{class:"start-element","font-color":"#fff",fill:"#2F495F","line-width":0},end:{class:"end-element","font-color":"#fff",fill:"#2F495F","line-width":0},operation:{class:"operation-element","font-color":"#fff",fill:"#00BC7D","line-width":0},inputoutput:{class:"inputoutput-element","font-color":"#fff",fill:"#EB4D5D","line-width":0},subroutine:{class:"subroutine-element","font-color":"#fff",fill:"#937AC4","element-color":"#fff","line-color":"red"},condition:{class:"condition-element","font-color":"#fff",fill:"#FFB500","line-width":0},parallel:{class:"parallel-element","font-color":"#fff",fill:"#2F495F","line-width":0}}};const p={ant:R,vue:U,pie:k};var B=y({name:"FlowChart",props:{code:{type:String,required:!0},preset:{type:String,default:"vue"}},setup(o){const n=_(),{code:r,preset:m}=E(o),w=C(),f=u(!1),t=u(1);let e=null;const c=l=>l<419?.8:l>1280?1:.9;F("resize",b(()=>{if(e){const l=c(window.innerWidth);t.value!==l&&(t.value=l,e.draw(n,{...p[o.preset],scale:l}))}},100));const a=()=>{e?.clean(),e=null},s=async()=>{if(__VUEPRESS_SSR__)return;const{parse:l}=await import("flowchart.ts");e=l(v(r.value)),t.value=c(window.innerWidth),f.value=!0,e.draw(n,{...p[o.preset],scale:t.value})};return A(async l=>{l==="mounted"&&await s()}),D(()=>{__VUEPRESS_DEV__&&S([r,m],async()=>{a(),await g(),await s()},{flush:"post"})}),x(a),()=>[f.value?null:d(h,{class:"flowchart-loading",height:192}),d("div",{ref:w,class:["flowchart-wrapper",o.preset],id:n,style:{display:f.value?"block":"none"}})]}});export{B as default}; //# sourceMappingURL=FlowChart.js.map