mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
2 lines (1 loc) • 1.42 kB
JavaScript
import{g as f}from"./chunk-TECWHJ6D.mjs";import{t as h}from"./chunk-QADHU5CF.mjs";import{b as n}from"./chunk-L2B47AAZ.mjs";import{a as i}from"./chunk-QVIEFLGF.mjs";var c=i(({flowchart:e})=>{let t=e?.subGraphTitleMargin?.top??0,a=e?.subGraphTitleMargin?.bottom??0,r=t+a;return{subGraphTitleTopMargin:t,subGraphTitleBottomMargin:a,subGraphTitleTotalMargin:r}},"getSubGraphTitleMargins");var l=new Map;async function T(e,t,a){let r,s;t.shape==="rect"&&(t.rx&&t.ry?t.shape="roundedRect":t.shape="squareRect");let o=t.shape?f[t.shape]:void 0;if(!o)throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let p;a.config.securityLevel==="sandbox"?p="_top":t.linkTarget&&(p=t.linkTarget||"_blank"),r=e.insert("svg:a").attr("xlink:href",t.link).attr("target",p??null),s=await o(r,t,a)}else s=await o(e,t,a),r=s;return r.attr("data-look",h(t.look)),t.tooltip&&s.attr("title",t.tooltip),l.set(t.id,r),t.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}i(T,"insertNode");var G=i((e,t)=>{l.set(t.id,e)},"setNodeElem"),N=i(()=>{l.clear()},"clear"),d=i(e=>{let t=l.get(e.id);n.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");let a=8,r=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+r-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),r},"positionNode");export{c as a,T as b,G as c,N as d,d as e};