vuepress-plugin-md-enhance
Version:
Markdown enhancement plugin for vuepress
3 lines (2 loc) • 1.08 kB
JavaScript
import{decodeData as u,LoadingIcon as p}from"@vuepress/helper/client";import{useEventListener as c,useDebounceFn as f}from"@vueuse/core";import{defineComponent as m,shallowRef as w,ref as i,computed as v,h as d,onMounted as h,onUnmounted as g}from"vue";import"../styles/flowchart.scss";import{f as y}from"../index-D5Lp0y24.js";var C=m({name:"FlowChart",props:{code:{type:String,required:!0},id:{type:String,required:!0},preset:{type:String,default:"vue"}},setup(r){let a=null;const s=w(),t=i(!0),o=i(1),n=v(()=>y[r.preset]),l=e=>e<419?.8:e>1280?1:.9;return c("resize",f(()=>{if(a){const e=l(window.innerWidth);o.value!==e&&(o.value=e,a.draw(r.id,{...n.value,scale:e}))}},100)),h(async()=>{const{parse:e}=await import("flowchart.ts");a=e(u(r.code)),o.value=l(window.innerWidth),t.value=!1,a.draw(r.id,{...n.value,scale:o.value})}),g(()=>{a?.clean(),a=null}),()=>[t.value?d(p,{class:"flowchart-loading",height:192}):null,d("div",{ref:s,class:["flowchart-wrapper",r.preset],id:r.id,style:{display:t.value?"none":"block"}})]}});export{C as default};
//# sourceMappingURL=FlowChart.js.map