@usepagelet/runtime 0.1.0
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.
- package/README.md +24 -0
- package/dist/v1/capabilities.md +59 -0
- package/dist/v1/chunks/architecture-7EHR7CIX-CDRXMAVQ.js +2 -0
- package/dist/v1/chunks/architecture-7EHR7CIX-CDRXMAVQ.js.map +7 -0
- package/dist/v1/chunks/architectureDiagram-3BPJPVTR-EYIVUOEK.js +37 -0
- package/dist/v1/chunks/architectureDiagram-3BPJPVTR-EYIVUOEK.js.map +7 -0
- package/dist/v1/chunks/blockDiagram-GPEHLZMM-P7MBAWVH.js +133 -0
- package/dist/v1/chunks/blockDiagram-GPEHLZMM-P7MBAWVH.js.map +7 -0
- package/dist/v1/chunks/c4Diagram-AAUBKEIU-2XSL5LGB.js +11 -0
- package/dist/v1/chunks/c4Diagram-AAUBKEIU-2XSL5LGB.js.map +7 -0
- package/dist/v1/chunks/chunk-2STBDRRH.js +2 -0
- package/dist/v1/chunks/chunk-2STBDRRH.js.map +7 -0
- package/dist/v1/chunks/chunk-6AA7JQNC.js +71 -0
- package/dist/v1/chunks/chunk-6AA7JQNC.js.map +7 -0
- package/dist/v1/chunks/chunk-72WSJX2P.js +2 -0
- package/dist/v1/chunks/chunk-72WSJX2P.js.map +7 -0
- package/dist/v1/chunks/chunk-AUV7QZZ7.js +2 -0
- package/dist/v1/chunks/chunk-AUV7QZZ7.js.map +7 -0
- package/dist/v1/chunks/chunk-AZFF2WJO.js +2 -0
- package/dist/v1/chunks/chunk-AZFF2WJO.js.map +7 -0
- package/dist/v1/chunks/chunk-C2IUOGBD.js +2 -0
- package/dist/v1/chunks/chunk-C2IUOGBD.js.map +7 -0
- package/dist/v1/chunks/chunk-DKQVSAO3.js +2 -0
- package/dist/v1/chunks/chunk-DKQVSAO3.js.map +7 -0
- package/dist/v1/chunks/chunk-DS52DG6H.js +2 -0
- package/dist/v1/chunks/chunk-DS52DG6H.js.map +7 -0
- package/dist/v1/chunks/chunk-DXEOG5W4.js +2 -0
- package/dist/v1/chunks/chunk-DXEOG5W4.js.map +7 -0
- package/dist/v1/chunks/chunk-EHSK6IMI.js +3 -0
- package/dist/v1/chunks/chunk-EHSK6IMI.js.map +7 -0
- package/dist/v1/chunks/chunk-FWZR474D.js +2 -0
- package/dist/v1/chunks/chunk-FWZR474D.js.map +7 -0
- package/dist/v1/chunks/chunk-FYLAOHYS.js +2 -0
- package/dist/v1/chunks/chunk-FYLAOHYS.js.map +7 -0
- package/dist/v1/chunks/chunk-G6W4FKMG.js +2 -0
- package/dist/v1/chunks/chunk-G6W4FKMG.js.map +7 -0
- package/dist/v1/chunks/chunk-HLP6UJDY.js +2 -0
- package/dist/v1/chunks/chunk-HLP6UJDY.js.map +7 -0
- package/dist/v1/chunks/chunk-IGLPGT7W.js +160 -0
- package/dist/v1/chunks/chunk-IGLPGT7W.js.map +7 -0
- package/dist/v1/chunks/chunk-IQVRW6XA.js +322 -0
- package/dist/v1/chunks/chunk-IQVRW6XA.js.map +7 -0
- package/dist/v1/chunks/chunk-IY5OUPDU.js +5 -0
- package/dist/v1/chunks/chunk-IY5OUPDU.js.map +7 -0
- package/dist/v1/chunks/chunk-JOJIMF7A.js +2 -0
- package/dist/v1/chunks/chunk-JOJIMF7A.js.map +7 -0
- package/dist/v1/chunks/chunk-NWD66TP4.js +2 -0
- package/dist/v1/chunks/chunk-NWD66TP4.js.map +7 -0
- package/dist/v1/chunks/chunk-PLQZIFSO.js +2 -0
- package/dist/v1/chunks/chunk-PLQZIFSO.js.map +7 -0
- package/dist/v1/chunks/chunk-PVPXGQIV.js +2 -0
- package/dist/v1/chunks/chunk-PVPXGQIV.js.map +7 -0
- package/dist/v1/chunks/chunk-QDJGX3SU.js +16 -0
- package/dist/v1/chunks/chunk-QDJGX3SU.js.map +7 -0
- package/dist/v1/chunks/chunk-QSGUWHXF.js +2 -0
- package/dist/v1/chunks/chunk-QSGUWHXF.js.map +7 -0
- package/dist/v1/chunks/chunk-RCIRWMC7.js +2 -0
- package/dist/v1/chunks/chunk-RCIRWMC7.js.map +7 -0
- package/dist/v1/chunks/chunk-S4ACHXBI.js +2 -0
- package/dist/v1/chunks/chunk-S4ACHXBI.js.map +7 -0
- package/dist/v1/chunks/chunk-SA4K3XYV.js +2 -0
- package/dist/v1/chunks/chunk-SA4K3XYV.js.map +7 -0
- package/dist/v1/chunks/chunk-SAENYLYK.js +232 -0
- package/dist/v1/chunks/chunk-SAENYLYK.js.map +7 -0
- package/dist/v1/chunks/chunk-SN6BTAM3.js +4 -0
- package/dist/v1/chunks/chunk-SN6BTAM3.js.map +7 -0
- package/dist/v1/chunks/chunk-SWJRRCAF.js +2 -0
- package/dist/v1/chunks/chunk-SWJRRCAF.js.map +7 -0
- package/dist/v1/chunks/chunk-TGL5CWDU.js +63 -0
- package/dist/v1/chunks/chunk-TGL5CWDU.js.map +7 -0
- package/dist/v1/chunks/chunk-TVSQ2OZ6.js +11 -0
- package/dist/v1/chunks/chunk-TVSQ2OZ6.js.map +7 -0
- package/dist/v1/chunks/chunk-URGT6V7R.js +2 -0
- package/dist/v1/chunks/chunk-URGT6V7R.js.map +7 -0
- package/dist/v1/chunks/chunk-WBEUYPCI.js +123 -0
- package/dist/v1/chunks/chunk-WBEUYPCI.js.map +7 -0
- package/dist/v1/chunks/chunk-WEZ3ELJO.js +2 -0
- package/dist/v1/chunks/chunk-WEZ3ELJO.js.map +7 -0
- package/dist/v1/chunks/chunk-WIIGSS4X.js +2 -0
- package/dist/v1/chunks/chunk-WIIGSS4X.js.map +7 -0
- package/dist/v1/chunks/chunk-XUJKMBZ5.js +2 -0
- package/dist/v1/chunks/chunk-XUJKMBZ5.js.map +7 -0
- package/dist/v1/chunks/chunk-YC75LZ32.js +33 -0
- package/dist/v1/chunks/chunk-YC75LZ32.js.map +7 -0
- package/dist/v1/chunks/chunk-YK2CHHQT.js +207 -0
- package/dist/v1/chunks/chunk-YK2CHHQT.js.map +7 -0
- package/dist/v1/chunks/chunk-YYWGGXI6.js +2 -0
- package/dist/v1/chunks/chunk-YYWGGXI6.js.map +7 -0
- package/dist/v1/chunks/chunk-ZY7EQCMR.js +4 -0
- package/dist/v1/chunks/chunk-ZY7EQCMR.js.map +7 -0
- package/dist/v1/chunks/classDiagram-4FO5ZUOK-4VU3VATX.js +2 -0
- package/dist/v1/chunks/classDiagram-4FO5ZUOK-4VU3VATX.js.map +7 -0
- package/dist/v1/chunks/classDiagram-v2-Q7XG4LA2-QIBN3KO6.js +2 -0
- package/dist/v1/chunks/classDiagram-v2-Q7XG4LA2-QIBN3KO6.js.map +7 -0
- package/dist/v1/chunks/cose-bilkent-S5V4N54A-MHLDSCZY.js +2 -0
- package/dist/v1/chunks/cose-bilkent-S5V4N54A-MHLDSCZY.js.map +7 -0
- package/dist/v1/chunks/dagre-BM42HDAG-U3ECKIMS.js +5 -0
- package/dist/v1/chunks/dagre-BM42HDAG-U3ECKIMS.js.map +7 -0
- package/dist/v1/chunks/diagram-2AECGRRQ-BNRGNWOM.js +44 -0
- package/dist/v1/chunks/diagram-2AECGRRQ-BNRGNWOM.js.map +7 -0
- package/dist/v1/chunks/diagram-5GNKFQAL-CPWZIJ4M.js +11 -0
- package/dist/v1/chunks/diagram-5GNKFQAL-CPWZIJ4M.js.map +7 -0
- package/dist/v1/chunks/diagram-KO2AKTUF-7CDCIBL3.js +4 -0
- package/dist/v1/chunks/diagram-KO2AKTUF-7CDCIBL3.js.map +7 -0
- package/dist/v1/chunks/diagram-LMA3HP47-LPHFNXWX.js +25 -0
- package/dist/v1/chunks/diagram-LMA3HP47-LPHFNXWX.js.map +7 -0
- package/dist/v1/chunks/diagram-OG6HWLK6-FWJ2MCGI.js +25 -0
- package/dist/v1/chunks/diagram-OG6HWLK6-FWJ2MCGI.js.map +7 -0
- package/dist/v1/chunks/erDiagram-TEJ5UH35-OX62GPYU.js +86 -0
- package/dist/v1/chunks/erDiagram-TEJ5UH35-OX62GPYU.js.map +7 -0
- package/dist/v1/chunks/eventmodeling-FCH6USID-NRRIBZEB.js +2 -0
- package/dist/v1/chunks/eventmodeling-FCH6USID-NRRIBZEB.js.map +7 -0
- package/dist/v1/chunks/flowDiagram-I6XJVG4X-I4ULL6MS.js +163 -0
- package/dist/v1/chunks/flowDiagram-I6XJVG4X-I4ULL6MS.js.map +7 -0
- package/dist/v1/chunks/ganttDiagram-6RSMTGT7-TIDOVKXT.js +293 -0
- package/dist/v1/chunks/ganttDiagram-6RSMTGT7-TIDOVKXT.js.map +7 -0
- package/dist/v1/chunks/gitGraph-WXDBUCRP-4LEEA2GI.js +2 -0
- package/dist/v1/chunks/gitGraph-WXDBUCRP-4LEEA2GI.js.map +7 -0
- package/dist/v1/chunks/gitGraphDiagram-PVQCEYII-BPEBW2KG.js +107 -0
- package/dist/v1/chunks/gitGraphDiagram-PVQCEYII-BPEBW2KG.js.map +7 -0
- package/dist/v1/chunks/info-J43DQDTF-EI2RS372.js +2 -0
- package/dist/v1/chunks/info-J43DQDTF-EI2RS372.js.map +7 -0
- package/dist/v1/chunks/infoDiagram-5YYISTIA-5GFVQYI7.js +3 -0
- package/dist/v1/chunks/infoDiagram-5YYISTIA-5GFVQYI7.js.map +7 -0
- package/dist/v1/chunks/ishikawaDiagram-YF4QCWOH-AZ7PAHIN.js +71 -0
- package/dist/v1/chunks/ishikawaDiagram-YF4QCWOH-AZ7PAHIN.js.map +7 -0
- package/dist/v1/chunks/journeyDiagram-JHISSGLW-B4ZN6VTS.js +140 -0
- package/dist/v1/chunks/journeyDiagram-JHISSGLW-B4ZN6VTS.js.map +7 -0
- package/dist/v1/chunks/kanban-definition-UN3LZRKU-5THRXHJP.js +90 -0
- package/dist/v1/chunks/kanban-definition-UN3LZRKU-5THRXHJP.js.map +7 -0
- package/dist/v1/chunks/katex-CLI7E3QC.js +258 -0
- package/dist/v1/chunks/katex-CLI7E3QC.js.map +7 -0
- package/dist/v1/chunks/mindmap-definition-RKZ34NQL-E57QDEMN.js +97 -0
- package/dist/v1/chunks/mindmap-definition-RKZ34NQL-E57QDEMN.js.map +7 -0
- package/dist/v1/chunks/packet-YPE3B663-PKWGZRBL.js +2 -0
- package/dist/v1/chunks/packet-YPE3B663-PKWGZRBL.js.map +7 -0
- package/dist/v1/chunks/pie-LRSECV5Y-QSTOXR4H.js +2 -0
- package/dist/v1/chunks/pie-LRSECV5Y-QSTOXR4H.js.map +7 -0
- package/dist/v1/chunks/pieDiagram-4H26LBE5-CZULUIHM.js +31 -0
- package/dist/v1/chunks/pieDiagram-4H26LBE5-CZULUIHM.js.map +7 -0
- package/dist/v1/chunks/quadrantDiagram-W4KKPZXB-WRXQ2LCP.js +8 -0
- package/dist/v1/chunks/quadrantDiagram-W4KKPZXB-WRXQ2LCP.js.map +7 -0
- package/dist/v1/chunks/radar-GUYGQ44K-UJHF7VJA.js +2 -0
- package/dist/v1/chunks/radar-GUYGQ44K-UJHF7VJA.js.map +7 -0
- package/dist/v1/chunks/requirementDiagram-4Y6WPE33-LUKBHY3G.js +85 -0
- package/dist/v1/chunks/requirementDiagram-4Y6WPE33-LUKBHY3G.js.map +7 -0
- package/dist/v1/chunks/sankeyDiagram-5OEKKPKP-IHGIKQ7Q.js +41 -0
- package/dist/v1/chunks/sankeyDiagram-5OEKKPKP-IHGIKQ7Q.js.map +7 -0
- package/dist/v1/chunks/sequenceDiagram-3UESZ5HK-AZIJM7V2.js +163 -0
- package/dist/v1/chunks/sequenceDiagram-3UESZ5HK-AZIJM7V2.js.map +7 -0
- package/dist/v1/chunks/stateDiagram-AJRCARHV-7TL53ICK.js +2 -0
- package/dist/v1/chunks/stateDiagram-AJRCARHV-7TL53ICK.js.map +7 -0
- package/dist/v1/chunks/stateDiagram-v2-BHNVJYJU-TJ245A24.js +2 -0
- package/dist/v1/chunks/stateDiagram-v2-BHNVJYJU-TJ245A24.js.map +7 -0
- package/dist/v1/chunks/timeline-definition-PNZ67QCA-C5FF5CVI.js +121 -0
- package/dist/v1/chunks/timeline-definition-PNZ67QCA-C5FF5CVI.js.map +7 -0
- package/dist/v1/chunks/treeView-BLDUP644-2MCPJRE2.js +2 -0
- package/dist/v1/chunks/treeView-BLDUP644-2MCPJRE2.js.map +7 -0
- package/dist/v1/chunks/treemap-LRROVOQU-WSVRI32O.js +2 -0
- package/dist/v1/chunks/treemap-LRROVOQU-WSVRI32O.js.map +7 -0
- package/dist/v1/chunks/vennDiagram-CIIHVFJN-NQU7FBQX.js +35 -0
- package/dist/v1/chunks/vennDiagram-CIIHVFJN-NQU7FBQX.js.map +7 -0
- package/dist/v1/chunks/wardley-L42UT6IY-GONRRIFG.js +2 -0
- package/dist/v1/chunks/wardley-L42UT6IY-GONRRIFG.js.map +7 -0
- package/dist/v1/chunks/wardleyDiagram-YWT4CUSO-KNM7EB5A.js +79 -0
- package/dist/v1/chunks/wardleyDiagram-YWT4CUSO-KNM7EB5A.js.map +7 -0
- package/dist/v1/chunks/xychartDiagram-2RQKCTM6-CMGOBHPC.js +8 -0
- package/dist/v1/chunks/xychartDiagram-2RQKCTM6-CMGOBHPC.js.map +7 -0
- package/dist/v1/modules/charts.js +4 -0
- package/dist/v1/modules/charts.js.map +7 -0
- package/dist/v1/modules/code.js +26 -0
- package/dist/v1/modules/code.js.map +7 -0
- package/dist/v1/modules/markdown.js +65 -0
- package/dist/v1/modules/markdown.js.map +7 -0
- package/dist/v1/modules/math.js +258 -0
- package/dist/v1/modules/math.js.map +7 -0
- package/dist/v1/modules/mermaid.js +9 -0
- package/dist/v1/modules/mermaid.js.map +7 -0
- package/dist/v1/modules/png.js +3 -0
- package/dist/v1/modules/png.js.map +7 -0
- package/dist/v1/pagelet.js +128 -0
- package/dist/v1/pagelet.js.map +7 -0
- package/package.json +40 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as q}from"./chunk-2STBDRRH.js";import{D as C,d as V,l as k,q as y}from"./chunk-AZFF2WJO.js";import{a as F,b as U,c as Y,d as H,e as j}from"./chunk-TVSQ2OZ6.js";import"./chunk-RCIRWMC7.js";import{b as B,d as A,e as G,g as T,h as L,i as M,j as O}from"./chunk-TGL5CWDU.js";import{a as _}from"./chunk-XUJKMBZ5.js";import"./chunk-AUV7QZZ7.js";import"./chunk-HLP6UJDY.js";import"./chunk-6AA7JQNC.js";import"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{Z as R}from"./chunk-WBEUYPCI.js";import{b as g,d as r}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ne(e),edges:te(e)};return y(e.graph())||(t.value=V(e.graph())),t}function ne(e){return k(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),s={v:t};return y(n)||(s.value=n),y(a)||(s.parent=a),s})}function te(e){return k(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return y(t.name)||(a.name=t.name),y(n)||(a.value=n),a})}var d=new Map,X=new Map,Q=new Map,ie=g(()=>{X.clear(),Q.clear(),d.clear()},"clear"),J=g((e,t)=>{let n=X.get(t)||[];return r.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=g((e,t)=>{let n=X.get(t)||[];return r.info("Descendants of ",t," is ",n),r.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||J(e.v,t)||J(e.w,t)||n.includes(e.w):(r.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),W=g((e,t,n,a)=>{r.warn("Copying children of ",e,"root",a,"data",t.node(e),a);let s=t.children(e)||[];e!==a&&s.push(e),r.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)W(o,t,n,a);else{let l=t.node(o);r.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(r.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(r.debug("Setting parent",o,e),n.setParent(o,e)):(r.info("In copy ",e,"root",a,"data",t.node(e),a),r.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));let u=t.edges(o);r.debug("Copying Edges",u),u.forEach(c=>{r.info("Edge",c);let m=t.edge(c.v,c.w,c.name);r.info("Edge data",m,a);try{se(c,a)?(r.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){r.error(h)}})}r.debug("Removing node",o),t.removeNode(o)})},"copy"),Z=g((e,t)=>{let n=t.children(e),a=[...n];for(let s of n)Q.set(s,e),a=[...a,...Z(s,t)];return a},"extractDescendants"),oe=g((e,t,n)=>{let a=e.edges().filter(c=>c.v===t||c.w===t),s=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=s.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),S=g((e,t,n)=>{let a=t.children(e);if(r.trace("Searching children of id ",e,a),a.length<1)return e;let s;for(let o of a){let l=S(o,t,n),u=oe(t,n,l);if(l)if(u.length>0)s=l;else return l}return s},"findNonClusterChild"),K=g(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),ae=g((e,t)=>{if(!e||t>10){r.debug("Opting out, no graph ");return}else r.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(r.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),X.set(n,Z(n,e)),d.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let a=e.children(n),s=e.edges();a.length>0?(r.debug("Cluster identified",n,X),s.forEach(o=>{let l=J(o.v,n),u=J(o.w,n);l^u&&(r.warn("Edge: ",o," leaves cluster ",n),r.warn("Descendants of XXX ",n,": ",X.get(n)),d.get(n).externalConnections=!0)})):r.debug("Not a cluster ",n,X)});for(let n of d.keys()){let a=d.get(n).id,s=e.parent(a);s!==n&&d.has(s)&&!d.get(s).externalConnections&&(d.get(n).id=s)}e.edges().forEach(function(n){let a=e.edge(n);r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(r.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(r.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),s=K(n.v),o=K(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){let l=e.parent(s);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){let l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}r.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,a,n.name)}}),r.warn("Adjusted Graph",v(e)),$(e,0),r.trace(d)},"adjustClustersAndEdges"),$=g((e,t)=>{if(r.warn("extractor - ",t,v(e),e.children("D")),t>10){r.error("Bailing out");return}let n=e.nodes(),a=!1;for(let s of n){let o=e.children(s);a=a||o.length>0}if(!a){r.debug("Done, no node has children",e.nodes());return}r.debug("Nodes = ",n,t);for(let s of n)if(r.debug("Extracting node",s,d,d.has(s)&&!d.get(s).externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!d.has(s))r.debug("Not a cluster",s,t);else if(!d.get(s).externalConnections&&e.children(s)&&e.children(s).length>0){r.warn("Cluster without external connections, without a parent and with children",s,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(s)?.clusterData?.dir&&(l=d.get(s).clusterData.dir,r.warn("Fixing dir",d.get(s).clusterData.dir,l));let u=new C({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});r.warn("Old graph before copy",v(e)),W(s,e,u,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:d.get(s).clusterData,label:d.get(s).label,graph:u}),r.warn("New graph after copy node: (",s,")",v(u)),r.debug("Old graph after copy",v(e))}else r.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!d.get(s).externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),r.debug(d);n=e.nodes(),r.warn("New list of nodes",n);for(let s of n){let o=e.node(s);r.warn(" Now next level",s,o),o?.clusterNode&&$(o.graph,t+1)}},"extractor"),I=g((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{let s=e.children(a),o=I(e,s);n=[...n,...o]}),n},"sorter"),ce=g(e=>I(e,e.children()),"sortNodesByHierarchy"),ee=g(async(e,t,n,a,s,o)=>{r.warn("Graph in recursive render:XAX",v(t),s);let l=t.graph().rankdir;r.trace("Dir in recursive render - dir:",l);let u=e.insert("g").attr("class","root");t.nodes()?r.info("Recursive render XXX",t.nodes()):r.info("No nodes found for",t),t.edges().length>0&&r.info("Recursive edges",t.edge(t.edges()[0]));let c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),p=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){let i=t.node(f);if(s!==void 0){let w=JSON.parse(JSON.stringify(s.clusterData));r.trace(`Setting data for parent cluster XXX
|
|
2
|
+
Node.id = `,f,`
|
|
3
|
+
data=`,w.height,`
|
|
4
|
+
Parent cluster`,s.height),t.setNode(s.id,w),t.parent(f)||(r.trace("Setting parent",f,s.id),t.setParent(f,s.id,w))}if(r.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),i?.clusterNode){r.info("Cluster identified XBX",f,i.width,t.node(f));let{ranksep:w,nodesep:E}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:w+25,nodesep:E});let N=await ee(p,i.graph,n,a,t.node(f),o),D=N.elem;B(i,D),i.diff=N.diff||0,r.info("New compound node after recursive render XAX",f,"width",i.width,"height",i.height),L(D,i)}else t.children(f).length>0?(r.trace("Cluster - the non recursive path XBX",f,i.id,i,i.width,"Graph:",t),r.trace(S(i.id,t)),d.set(i.id,{id:S(i.id,t),node:i})):(r.trace("Node - the non recursive path XAX",f,p,t.node(f),l),await T(p,t.node(f),{config:o,dir:l}))})),await g(async()=>{let f=t.edges().map(async function(i){let w=t.edge(i.v,i.w,i.name);r.info("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(i)),r.info("Edge "+i.v+" -> "+i.w+": ",i," ",JSON.stringify(t.edge(i))),r.info("Fix",d,"ids:",i.v,i.w,"Translating: ",d.get(i.v),d.get(i.w)),await U(h,w)});await Promise.all(f)},"processEdges")(),r.info("Graph before layout:",JSON.stringify(v(t))),r.info("############################################# XXX"),r.info("### Layout ### XXX"),r.info("############################################# XXX"),q(t),r.info("Graph after layout:",JSON.stringify(v(t)));let P=0,{subGraphTitleTotalMargin:x}=_(o);return await Promise.all(ce(t).map(async function(f){let i=t.node(f);if(r.info("Position XBX => "+f+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode)i.y+=x,r.info("A tainted cluster node XBX1",f,i.id,i.width,i.height,i.x,i.y,t.parent(f)),d.get(i.id).node=i,O(i);else if(t.children(f).length>0){r.info("A pure cluster node XBX1",f,i.id,i.x,i.y,i.width,i.height,t.parent(f)),i.height+=x,t.node(i.parentId);let w=i?.padding/2||0,E=i?.labelBBox?.height||0,N=E-w||0;r.debug("OffsetY",N,"labelHeight",E,"halfPadding",w),await A(c,i),d.get(i.id).node=i}else{let w=t.node(i.parentId);i.y+=x/2,r.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",w,w?.offsetY,i),O(i)}})),t.edges().forEach(function(f){let i=t.edge(f);r.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i),i),i.points.forEach(D=>D.y+=x/2);let w=t.node(f.v);var E=t.node(f.w);let N=H(m,i,d,n,w,E,a);Y(i,N)}),t.nodes().forEach(function(f){let i=t.node(f);r.info(f,i.type,i.diff),i.isGroup&&(P=i.diff)}),r.warn("Returning from recursive render XAX",u,P),{elem:u,diff:P}},"recursiveRender"),Ne=g(async(e,t)=>{let n=new C({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");j(a,e.markers,e.type,e.diagramId),M(),F(),G(),ie(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),r.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){let l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);let h=structuredClone(o),p=structuredClone(o),b=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.endLabelLeft="",h.endLabelRight="",h.startLabelLeft="",h.id=l+"-cyclic-special-1",p.startLabelRight="",p.startLabelLeft="",p.endLabelLeft="",p.endLabelRight="",p.arrowTypeStart="none",p.arrowTypeEnd="none",p.id=l+"-cyclic-special-mid",b.label="",b.startLabelRight="",b.startLabelLeft="",b.arrowTypeStart="none",m.isGroup&&(h.fromCluster=l,b.toCluster=l),b.id=l+"-cyclic-special-2",b.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,p,l+"-cyclic-special-1"),n.setEdge(c,l,b,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),r.warn("Graph at first:",JSON.stringify(v(n))),ae(n),r.warn("Graph after XAX:",JSON.stringify(v(n)));let s=R();await ee(a,n,e.type,e.diagramId,void 0,s)},"render");export{Ne as render};
|
|
5
|
+
//# sourceMappingURL=dagre-BM42HDAG-U3ECKIMS.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/dagre-d3-es@7.0.14/node_modules/dagre-d3-es/src/graphlib/json.js", "../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-BM42HDAG.mjs"],
|
|
4
|
+
"sourcesContent": ["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n", "import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-3OPIFGDE.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport \"./chunk-5ZQYHXKU.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["write", "g", "json", "writeNodes", "writeEdges", "isUndefined_default", "clone_default", "map_default", "v", "nodeValue", "parent", "node", "e", "edgeValue", "edge", "clusterDb", "descendants", "parents", "clear4", "__name", "isDescendant", "id", "ancestorId", "ancestorDescendants", "log", "edgeInCluster", "edge", "clusterId", "clusterDescendants", "copy", "graph", "newGraph", "rootId", "nodes", "node", "data", "edges", "data2", "e", "extractDescendants", "children", "res", "child", "findCommonEdges", "id1", "id2", "edges1", "edges2", "edges1Prim", "edges2Prim", "edgeIn1", "findNonClusterChild", "reserve", "_id", "commonEdges", "getAnchorId", "adjustClustersAndEdges", "depth", "d1", "d2", "nonClusterChild", "parent", "v", "w", "write", "extractor", "hasChildren", "dir", "clusterGraph", "Graph", "sorter", "result", "sorted", "sortNodesByHierarchy", "recursiveRender", "_elem", "diagramType", "parentCluster", "siteConfig", "elem", "clusters", "edgePaths", "edgeLabels", "ranksep", "nodesep", "o", "newEl", "updateNodeBounds", "setNodeElem", "insertNode", "edgePromises", "insertEdgeLabel", "layout", "diff", "subGraphTitleTotalMargin", "getSubGraphTitleMargins", "positionNode", "halfPadding", "labelHeight", "offsetY", "insertCluster", "point", "startNode", "endNode", "paths", "insertEdge", "positionEdgeLabel", "n", "render", "data4Layout", "svg", "element", "markers_default", "clear2", "clear", "nodeId", "specialId1", "specialId2", "edge1", "edgeMid", "edge2", "getConfig2"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import{a as F}from"./chunk-DS52DG6H.js";import{a as _}from"./chunk-ZY7EQCMR.js";import"./chunk-72WSJX2P.js";import"./chunk-WIIGSS4X.js";import"./chunk-FWZR474D.js";import"./chunk-C2IUOGBD.js";import"./chunk-YYWGGXI6.js";import"./chunk-SWJRRCAF.js";import"./chunk-WEZ3ELJO.js";import"./chunk-NWD66TP4.js";import"./chunk-PLQZIFSO.js";import"./chunk-QSGUWHXF.js";import"./chunk-IGLPGT7W.js";import{a as E}from"./chunk-DXEOG5W4.js";import{o as y}from"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{A as C,N as A,S as L,T,U as S,V as O,W as k,X as R,Y as I,o as b,q as M}from"./chunk-WBEUYPCI.js";import{b as o,d as w}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},D={axes:[],curves:[],options:x},g=structuredClone(D),j=M.radar,N=o(()=>y({...j,...C().radar}),"getConfig"),z=o(()=>g.axes,"getAxes"),U=o(()=>g.curves,"getCurves"),X=o(()=>g.options,"getOptions"),Y=o(a=>{g.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Z=o(a=>{g.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:q(t.entries)}))},"setCurves"),q=o(a=>{if(a[0].axis==null)return a.map(e=>e.value);let t=z();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{let r=a.find(n=>n.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=o(a=>{let t=a.reduce((e,r)=>(e[r.name]=r,e),{});g.options={showLegend:t.showLegend?.value??x.showLegend,ticks:t.ticks?.value??x.ticks,max:t.max?.value??x.max,min:t.min?.value??x.min,graticule:t.graticule?.value??x.graticule}},"setOptions"),K=o(()=>{L(),g=structuredClone(D)},"clear"),$={getAxes:z,getCurves:U,getOptions:X,setAxes:Y,setCurves:Z,setOptions:J,getConfig:N,clear:K,setAccTitle:T,getAccTitle:S,setDiagramTitle:R,getDiagramTitle:I,getAccDescription:k,setAccDescription:O},Q=o(a=>{F(a,$);let{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),tt={parse:o(async a=>{let t=await _("radar",a);w.debug(t),Q(t)},"parse")},et=o((a,t,e,r)=>{let n=r.db,i=n.getAxes(),l=n.getCurves(),s=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),p=E(t),u=at(p,c),m=s.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=s.min,v=Math.min(c.width,c.height)/2;rt(u,i,v,s.ticks,s.graticule),nt(u,i,v,c),G(u,i,l,h,m,s.graticule,c),B(u,l,s.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),at=o((a,t)=>{let e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,n={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return A(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${n.x}, ${n.y})`)},"drawFrame"),rt=o((a,t,e,r,n)=>{if(n==="circle")for(let i=0;i<r;i++){let l=e*(i+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(n==="polygon"){let i=t.length;for(let l=0;l<r;l++){let s=e*(l+1)/r,c=t.map((d,p)=>{let u=2*p*Math.PI/i-Math.PI/2,m=s*Math.cos(u),h=s*Math.sin(u);return`${m},${h}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),nt=o((a,t,e,r)=>{let n=t.length;for(let i=0;i<n;i++){let l=t[i].label,s=2*i*Math.PI/n-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(s)).attr("y2",e*r.axisScaleFactor*Math.sin(s)).attr("class","radarAxisLine"),a.append("text").text(l).attr("x",e*r.axisLabelFactor*Math.cos(s)).attr("y",e*r.axisLabelFactor*Math.sin(s)).attr("class","radarAxisLabel")}},"drawAxes");function G(a,t,e,r,n,i,l){let s=t.length,c=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==s)return;let u=d.entries.map((m,h)=>{let v=2*Math.PI*h/s-Math.PI/2,f=P(m,r,n,c),V=f*Math.cos(v),H=f*Math.sin(v);return{x:V,y:H}});i==="circle"?a.append("path").attr("d",W(u,l.curveTension)).attr("class",`radarCurve-${p}`):i==="polygon"&&a.append("polygon").attr("points",u.map(m=>`${m.x},${m.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}o(G,"drawCurves");function P(a,t,e,r){let n=Math.min(Math.max(a,t),e);return r*(n-t)/(e-t)}o(P,"relativeRadius");function W(a,t){let e=a.length,r=`M${a[0].x},${a[0].y}`;for(let n=0;n<e;n++){let i=a[(n-1+e)%e],l=a[n],s=a[(n+1)%e],c=a[(n+2)%e],d={x:l.x+(s.x-i.x)*t,y:l.y+(s.y-i.y)*t},p={x:s.x-(c.x-l.x)*t,y:s.y-(c.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${s.x},${s.y}`}return`${r} Z`}o(W,"closedRoundCurve");function B(a,t,e,r){if(!e)return;let n=(r.width/2+r.marginRight)*3/4,i=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((s,c)=>{let d=a.append("g").attr("transform",`translate(${n}, ${i+c*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(s.label)})}o(B,"drawLegend");var st={draw:et},ot=o((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){let n=a[`cScale${r}`];e+=`
|
|
2
|
+
.radarCurve-${r} {
|
|
3
|
+
color: ${n};
|
|
4
|
+
fill: ${n};
|
|
5
|
+
fill-opacity: ${t.curveOpacity};
|
|
6
|
+
stroke: ${n};
|
|
7
|
+
stroke-width: ${t.curveStrokeWidth};
|
|
8
|
+
}
|
|
9
|
+
.radarLegendBox-${r} {
|
|
10
|
+
fill: ${n};
|
|
11
|
+
fill-opacity: ${t.curveOpacity};
|
|
12
|
+
stroke: ${n};
|
|
13
|
+
}
|
|
14
|
+
`}return e},"genIndexStyles"),it=o(a=>{let t=b(),e=C(),r=y(t,e.themeVariables),n=y(r.radar,a);return{themeVariables:r,radarOptions:n}},"buildRadarStyleOptions"),lt=o(({radar:a}={})=>{let{themeVariables:t,radarOptions:e}=it(a);return`
|
|
15
|
+
.radarTitle {
|
|
16
|
+
font-size: ${t.fontSize};
|
|
17
|
+
color: ${t.titleColor};
|
|
18
|
+
dominant-baseline: hanging;
|
|
19
|
+
text-anchor: middle;
|
|
20
|
+
}
|
|
21
|
+
.radarAxisLine {
|
|
22
|
+
stroke: ${e.axisColor};
|
|
23
|
+
stroke-width: ${e.axisStrokeWidth};
|
|
24
|
+
}
|
|
25
|
+
.radarAxisLabel {
|
|
26
|
+
dominant-baseline: middle;
|
|
27
|
+
text-anchor: middle;
|
|
28
|
+
font-size: ${e.axisLabelFontSize}px;
|
|
29
|
+
color: ${e.axisColor};
|
|
30
|
+
}
|
|
31
|
+
.radarGraticule {
|
|
32
|
+
fill: ${e.graticuleColor};
|
|
33
|
+
fill-opacity: ${e.graticuleOpacity};
|
|
34
|
+
stroke: ${e.graticuleColor};
|
|
35
|
+
stroke-width: ${e.graticuleStrokeWidth};
|
|
36
|
+
}
|
|
37
|
+
.radarLegendText {
|
|
38
|
+
text-anchor: start;
|
|
39
|
+
font-size: ${e.legendFontSize}px;
|
|
40
|
+
dominant-baseline: hanging;
|
|
41
|
+
}
|
|
42
|
+
${ot(t,e)}
|
|
43
|
+
`},"styles"),xt={parser:tt,db:$,renderer:st,styles:lt};export{xt as diagram};
|
|
44
|
+
//# sourceMappingURL=diagram-2AECGRRQ-BNRGNWOM.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-2AECGRRQ.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * Math.cos(angle)).attr(\"y2\", radius * config.axisScaleFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLine\");\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * Math.cos(angle)).attr(\"y\", radius * config.axisLabelFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defaultOptions", "defaultRadarData", "data", "DEFAULT_RADAR_CONFIG", "defaultConfig_default", "getConfig2", "__name", "cleanAndMerge", "getConfig", "getAxes", "getCurves", "getOptions", "setAxes", "axes", "axis", "setCurves", "curves", "curve", "computeCurveEntries", "entries", "entry", "entry2", "setOptions", "options", "optionMap", "acc", "option", "clear2", "clear", "db", "setAccTitle", "getAccTitle", "setDiagramTitle", "getDiagramTitle", "getAccDescription", "setAccDescription", "populate", "ast", "populateCommonDb", "parser", "input", "parse", "log", "draw", "_text", "id", "_version", "diagram2", "db2", "config", "title", "svg", "selectSvgElement", "g", "drawFrame", "maxValue", "minValue", "radius", "drawGraticule", "drawAxes", "drawCurves", "drawLegend", "totalWidth", "totalHeight", "center", "configureSvgSize", "ticks", "graticule", "r", "numAxes", "i", "points", "_", "j", "angle", "x", "y", "label", "index", "relativeRadius", "closedRoundCurve", "p", "value", "clippedValue", "tension", "numPoints", "d", "p0", "p1", "p2", "p3", "cp1", "cp2", "showLegend", "legendX", "legendY", "lineHeight", "itemGroup", "renderer", "genIndexStyles", "themeVariables", "radarOptions", "sections", "indexColor", "buildRadarStyleOptions", "radar", "defaultThemeVariables", "getThemeVariables3", "currentConfig", "styles", "diagram"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as D}from"./chunk-DS52DG6H.js";import{a as A}from"./chunk-ZY7EQCMR.js";import{a as $}from"./chunk-FYLAOHYS.js";import"./chunk-72WSJX2P.js";import"./chunk-WIIGSS4X.js";import"./chunk-FWZR474D.js";import"./chunk-C2IUOGBD.js";import"./chunk-YYWGGXI6.js";import"./chunk-SWJRRCAF.js";import"./chunk-WEZ3ELJO.js";import"./chunk-NWD66TP4.js";import"./chunk-PLQZIFSO.js";import"./chunk-QSGUWHXF.js";import"./chunk-IGLPGT7W.js";import{a as _}from"./chunk-DXEOG5W4.js";import{o as u}from"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{A as k,N as x,S as C,T as B,U as T,V as y,W as V,X as N,Y as S,q as f}from"./chunk-WBEUYPCI.js";import{b as o,d as w}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var l=new $(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),z=o(()=>{l.reset(),C()},"clear"),H=o(()=>l.records.stack[0],"getRoot"),I=o(()=>l.records.cnt,"getCount"),L=f.treeView,R=o(()=>u(L,k().treeView),"getConfig"),W=o((e,t)=>{for(;e<=l.records.stack[l.records.stack.length-1].level;)l.records.stack.pop();let r={id:l.records.cnt++,level:e,name:t,children:[]};l.records.stack[l.records.stack.length-1].children.push(r),l.records.stack.push(r)},"addNode"),E={clear:z,addNode:W,getRoot:H,getCount:I,getConfig:R,getAccTitle:T,getAccDescription:V,getDiagramTitle:S,setAccDescription:y,setAccTitle:B,setDiagramTitle:N},b=E,M=o(e=>{D(e,b),e.nodes.map(t=>b.addNode(t.indent?parseInt(t.indent):0,t.name))},"populate"),F={parse:o(async e=>{let t=await A("treeView",e);w.debug(t),M(t)},"parse")},Y=o((e,t,r,n,s)=>{let c=n.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:g,width:a}=c.node().getBBox(),d=g+s.paddingY*2,i=a+s.paddingX*2;c.attr("x",e+s.paddingX),c.attr("y",t+d/2),r.BBox={x:e,y:t,width:i,height:d}},"positionLabel"),X=o((e,t,r,n,s,c)=>e.append("line").attr("x1",t).attr("y1",r).attr("x2",n).attr("y2",s).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),j=o((e,t,r)=>{let n=0,s=0,c=o((a,d,i,h)=>{let m=h*(i.rowIndent+i.paddingX);Y(m,n,d,a,i);let{height:p,width:v}=d.BBox;X(a,m-i.rowIndent,n+p/2,m,n+p/2,i.lineThickness),s=Math.max(s,m+v),n+=p},"drawNode"),g=o((a,d=0)=>{c(e,a,r,d),a.children.forEach(p=>{g(p,d+1)});let{x:i,y:h,height:m}=a.BBox;if(a.children.length){let{y:p,height:v}=a.children[a.children.length-1].BBox;X(e,i+r.paddingX,h+m,i+r.paddingX,p+v/2+r.lineThickness/2,r.lineThickness)}},"processNode");return g(t),{totalHeight:n,totalWidth:s}},"drawTree"),q=o((e,t,r,n)=>{w.debug(`Rendering treeView diagram
|
|
2
|
+
`+e);let s=n.db,c=s.getRoot(),g=s.getConfig(),a=_(t),d=a.append("g");d.attr("class","tree-view");let{totalHeight:i,totalWidth:h}=j(d,c,g);a.attr("viewBox",`-${g.lineThickness/2} 0 ${h} ${i}`),x(a,i,h,g.useMaxWidth)},"draw"),G={draw:q},J=G,K={labelFontSize:"16px",labelColor:"black",lineColor:"black"},O=o(({treeView:e})=>{let{labelFontSize:t,labelColor:r,lineColor:n}=u(K,e);return`
|
|
3
|
+
.treeView-node-label {
|
|
4
|
+
font-size: ${t};
|
|
5
|
+
fill: ${r};
|
|
6
|
+
}
|
|
7
|
+
.treeView-node-line {
|
|
8
|
+
stroke: ${n};
|
|
9
|
+
}
|
|
10
|
+
`},"styles"),P=O,oe={db:b,renderer:J,parser:F,styles:P};export{oe as diagram};
|
|
11
|
+
//# sourceMappingURL=diagram-5GNKFQAL-CPWZIJ4M.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-5GNKFQAL.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-QZHKN3VN.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n ast.nodes.map((node) => db_default.addNode(node.indent ? parseInt(node.indent) : 0, node.name));\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"treeView\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/treeView/renderer.ts\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config) => {\n const label = domElem.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-label\");\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const width = labelWidth + config.paddingX * 2;\n label.attr(\"x\", x + config.paddingX);\n label.attr(\"y\", y + height / 2);\n node.BBox = {\n x,\n y,\n width,\n height\n };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n positionLabel(indent, totalHeight, node, elem2, config2);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name((text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const { labelFontSize, labelColor, lineColor } = cleanAndMerge(\n defaultTreeViewDiagramStyles,\n treeView\n );\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["state", "ImperativeState", "clear2", "__name", "clear", "getRoot", "getCount", "defaultConfig", "defaultConfig_default", "getConfig2", "cleanAndMerge", "getConfig", "addNode", "level", "name", "node", "db", "getAccTitle", "getAccDescription", "getDiagramTitle", "setAccDescription", "setAccTitle", "setDiagramTitle", "db_default", "populate", "ast", "populateCommonDb", "parser", "input", "parse", "log", "positionLabel", "x", "y", "domElem", "config", "label", "labelHeight", "labelWidth", "height", "width", "positionLine", "x1", "y1", "x2", "y2", "lineThickness", "drawTree", "elem", "root", "totalHeight", "totalWidth", "drawNode", "elem2", "config2", "depth", "indent", "processNode", "child", "endY", "endHeight", "draw", "text", "id", "_ver", "diagObj", "db2", "svg", "selectSvgElement", "treeElem", "configureSvgSize", "renderer", "renderer_default", "defaultTreeViewDiagramStyles", "styles", "treeView", "labelFontSize", "labelColor", "lineColor", "styles_default", "diagram"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as V}from"./chunk-DS52DG6H.js";import{a as j}from"./chunk-ZY7EQCMR.js";import"./chunk-72WSJX2P.js";import"./chunk-WIIGSS4X.js";import"./chunk-FWZR474D.js";import"./chunk-C2IUOGBD.js";import"./chunk-YYWGGXI6.js";import"./chunk-SWJRRCAF.js";import"./chunk-WEZ3ELJO.js";import"./chunk-NWD66TP4.js";import"./chunk-PLQZIFSO.js";import"./chunk-QSGUWHXF.js";import{f as X}from"./chunk-IGLPGT7W.js";import{i as w,l as G,o as L}from"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{A as b,G as v,S as D,T as N,U as C,V as O,W as I,X as W,Y as H,Z as M,ba as U,q as $}from"./chunk-WBEUYPCI.js";import{b as o,d as f,j as _}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var Y="position frame",z="frame positioned",k="position relation",K="relation positioned",we=o(function(e){f.debug("options str",e)},"setOptions"),ye=o(function(){return{}},"getOptions"),Pe=o(function(){q(),D()},"clear");function q(){E={}}o(q,"reset");var Se=$.eventmodeling,Me=o(()=>L({...Se,...b().eventmodeling}),"getConfig"),E={};function J(){let e=ke,{ast:n}=E,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,r)=>{let a=re(i,n.dataEntities,t);e=P(e,{$kind:Y,index:r,frame:i,textProps:a});let d;ce(i)?(f.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=P(e,{$kind:k,index:r,frame:i,sourceFrame:l})})):e=P(e,{$kind:k,index:r,frame:i})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}o(J,"getState");function Q(e){E.ast=e}o(Q,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var ke={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function Z(e){let n=e.split(".");if(n.length===2)return n[0]}o(Z,"extractNamespace");function ee(e){let n=e.split(".");return n.length===2?n[1]:e}o(ee,"extractName");function te(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(te,"findSwimlaneByNamespace");function y(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{let r=Number.parseInt(i);return r>n&&r<t}).map(i=>Number.parseInt(i)))+1}o(y,"findNextAvailableIndex");function ne(e,n){let t=Z(e.entityIdentifier),i=te(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:y(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:y(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:y(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(ne,"calculateSwimlaneProps");function ie(e){let{themeVariables:n}=b();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(ie,"calculateEntityVisualProps");function re(e,n,t){let i=b(),r=v(ee(e.entityIdentifier)??"",i),a,d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},c=`<b>${w(r,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(a=e.dataInlineValue,a=a.substring(a.indexOf("{")+1),a=a.substring(0,a.lastIndexOf("}")-1),a=v(a,i),a=w(a,t.textMaxWidth,d),a=a.replaceAll(" "," ")),e.dataReference){let p=n.find(S=>S.name===e.dataReference?.$refText);p&&(a=p.dataBlockValue,a=a.substring(a.indexOf(`{
|
|
2
|
+
`)+2),a=a.substring(0,a.lastIndexOf("}")-1),a=v(a,i),a=w(a,t.textMaxWidth,d),a=a.replaceAll(" "," "),a+="<br/>")}let m=a!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${a}</code>`);let x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=G(c,x),h=m?u.width/3:u.width,g={content:c,width:h,height:u.height};return f.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}o(re,"calculateTextProps");function ae(e,n){let t=n,i=ie(t.frame),r={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:z,frame:t.frame,index:t.index,visual:i,dimension:r,textProps:t.textProps}]}o(ae,"decidePositionFrame");function oe(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(oe,"calculateX");function se(e,n){let t=[...e.map(i=>i.r),n];return Math.max(...t)}o(se,"calculateMaxRight");function R(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o(R,"sortedSwimlanesArray");function de(e,n){let t=n,i=ne(t.frame,e.swimlanes),r;i.index in e.swimlanes?r=e.swimlanes[i.index]:r={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=oe(r,d,a),m=c+l.width+s.boxPadding,x=se(Object.values(e.swimlanes),m);r.r=c+l.width,r.maxHeight=Math.max(r.maxHeight,l.height),r.height=Math.max(s.swimlaneMinHeight,r.maxHeight)+2*s.swimlanePadding;let u={x:c,y:s.swimlanePadding+r.y,r:m,dimension:l,leftSibling:!1,swimlane:r,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${r.index}`]:r},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},g=R(h.swimlanes);g.length>0&&(g[0].y=0);for(let p=1;p<g.length;p++){let S=g[p],T=g[p-1];S.y=T.y+T.height+s.swimlaneGap}return h}o(de,"evolveFramePositioned");function le(e,n){return e===0&&n.sourceFrames.length===0}o(le,"isFirstFrame");function ce(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}o(ce,"hasSourceFrame");function F(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(F,"findBoxByFrame");function me(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){let r=e[i];if(r.swimlane.index!==n)return r}}o(me,"findBoxByLineIndex");function ue(e,n){let t=n;if(X(t.frame)||le(t.index,t.frame))return[];let i=F(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let r;return t.sourceFrame?r=F(e.boxes,t.sourceFrame):r=me(e.boxes,i.swimlane.index,t.index-1),r===void 0?[]:[{$kind:K,frame:t.frame,index:t.index,sourceBox:r,targetBox:i}]}o(ue,"decidePositionRelation");function xe(e,n){let t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(xe,"evolveRelationPositioned");var Fe={[Y]:ae,[k]:ue},Be={[z]:de,[K]:xe};function fe(e,n){let t=Fe[n.$kind];if(t==null)return[];let i=t(e,n);return f.debug("decided events",i),i}o(fe,"decide");function ge(e,n){let t=n.reduce((i,r)=>{let a=Be[r.$kind];return a==null?i:a(i,r)},e);return f.debug("evolve events",{state:e,newState:t,events:n}),t}o(ge,"evolve");function P(e,n){let t=fe(e,n);return ge(e,t)}o(P,"dispatch");var B={getConfig:Me,setOptions:we,getOptions:ye,clear:Pe,setAccTitle:N,getAccTitle:C,getAccDescription:I,setAccDescription:O,setDiagramTitle:W,getDiagramTitle:H,setAst:Q,getDiagramProps:A,getState:J},Ee={parse:o(async e=>{let n=await j("eventmodeling",e);f.debug(n),B.setAst(n),V(n,B)},"parse")},Ae=M(),Re=Ae?.eventmodeling;function he(e,n){return t=>{let i=t.swimlane.y+n.swimlanePadding,r=e.append("g").attr("class","em-box");r.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),r.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(he,"renderD3Box");function pe(e,n){return e>n}o(pe,"dirUpwards");function be(e,n,t,i){return r=>{let a=r.sourceBox.swimlane.y+n.swimlanePadding,d=r.targetBox.swimlane.y+n.swimlanePadding,l=pe(a,d),c=r.sourceBox.x+r.sourceBox.dimension.width*2/3,m=r.targetBox.x+r.targetBox.dimension.width/3,x,u;f.debug(`rendering relation up=${l} for `,{sourceBox:r.sourceBox,targetBox:r.targetBox}),l?(x=a,u=d+r.targetBox.dimension.height):(x=a+r.sourceBox.dimension.height,u=d);let h=i.emRelationStroke??r.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",r.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(be,"renderD3Relation");function ve(e,n,t,i){return r=>{let a=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";a.append("rect").attr("x",0).attr("y",r.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",r.height).attr("fill",d).attr("stroke",l),a.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",r.y+30).text(r.label)}}o(ve,"renderD3Swimlane");var Te=o(function(e,n,t,i){if(f.debug("in eventmodeling renderer",e+`
|
|
3
|
+
`,"id:",n,t),!Re)throw new Error("EventModeling config not found");let r=i.db,{themeVariables:a,eventmodeling:d}=M(),l=_(`[id="${n}"]`),c=r.getDiagramProps(),m=r.getState(),x=`em-arrowhead-${n}`,u=a.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(ve(l,m.maxR,c,a)),m.boxes.forEach(he(l,c)),m.relations.forEach(be(l,c,x,a)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),U(void 0,l,d?.padding??30,d?.useMaxWidth)},"draw"),$e={draw:Te},De=o(e=>"","getStyles"),Ne=De,Ge={parser:Ee,db:B,renderer:$e,styles:Ne};export{Ge as diagram};
|
|
4
|
+
//# sourceMappingURL=diagram-KO2AKTUF-7CDCIBL3.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n calculateTextDimensions,\n cleanAndMerge,\n wrapLabel\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/eventmodeling/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/db.ts\nimport { isEmResetFrame } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/types.ts\nvar PositionFrameKind = \"position frame\";\nvar FramePositionedKind = \"frame positioned\";\nvar PositionRelationKind = \"position relation\";\nvar RelationPositionedKind = \"relation positioned\";\n\n// src/diagrams/eventmodeling/db.ts\nvar setOptions = /* @__PURE__ */ __name(function(_rawOptString) {\n log.debug(\"options str\", _rawOptString);\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return {};\n}, \"getOptions\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n reset();\n clear();\n}, \"clear\");\nfunction reset() {\n store = {};\n}\n__name(reset, \"reset\");\nvar DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_EVENTMODELING_CONFIG,\n ...getConfig().eventmodeling\n });\n return config;\n}, \"getConfig\");\nvar store = {};\nfunction getState() {\n let state = initial;\n const { ast } = store;\n const diagramProps2 = getDiagramProps();\n if (!ast) {\n throw new Error(\"No data for EventModel\");\n }\n ast.frames.forEach((frame, index) => {\n const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);\n state = dispatch(state, {\n $kind: PositionFrameKind,\n index,\n frame,\n textProps\n });\n let sourceFrames = void 0;\n if (hasSourceFrame(frame)) {\n log.debug(`source frame`, frame.sourceFrames);\n sourceFrames = ast.frames.filter((currentFrame) => {\n return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);\n });\n sourceFrames.forEach((sourceFrame) => {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame,\n sourceFrame\n });\n });\n } else {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame\n });\n }\n });\n state = {\n ...state,\n sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)\n };\n return state;\n}\n__name(getState, \"getState\");\nfunction setAst(ast) {\n store.ast = ast;\n}\n__name(setAst, \"setAst\");\nvar diagramProps = {\n swimlaneMinHeight: 70,\n swimlanePadding: 15,\n swimlaneGap: 10,\n boxPadding: 10,\n boxOverlap: 90,\n boxDefaultY: 0,\n boxMinWidth: 80,\n boxMaxWidth: 450,\n boxMinHeight: 80,\n boxMaxHeight: 750,\n contentStartX: 250,\n textMaxWidth: 450 - 2 * 10,\n boxTextFontWeight: \"bold\",\n boxTextPadding: 10,\n swimlaneTextFontWeight: \"bold\",\n labelUiAutomation: \"UI/Automation\",\n labelUiAutomationPrefix: \"UI/A: \",\n labelCommandReadModel: \"Command/Read Model\",\n labelCommandReadModelPrefix: \"C/RM: \",\n labelEvents: \"Events\",\n labelEventsPrefix: \"Stream: \"\n};\nfunction getDiagramProps() {\n return diagramProps;\n}\n__name(getDiagramProps, \"getDiagramProps\");\nvar initial = {\n boxes: [],\n swimlanes: {},\n relations: [],\n maxR: 0,\n sortedSwimlanesArray: []\n};\nfunction extractNamespace(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[0];\n }\n return void 0;\n}\n__name(extractNamespace, \"extractNamespace\");\nfunction extractName(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[1];\n }\n return entityIdentifier;\n}\n__name(extractName, \"extractName\");\nfunction findSwimlaneByNamespace(swimlanes, namespace) {\n if (!namespace || namespace.length === 0) {\n return void 0;\n }\n return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);\n}\n__name(findSwimlaneByNamespace, \"findSwimlaneByNamespace\");\nfunction findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {\n return Math.max(\n boundaryMin,\n ...Object.keys(swimlanes).filter((key) => {\n const index = Number.parseInt(key);\n return index > boundaryMin && index < boundaryMax;\n }).map((key) => Number.parseInt(key))\n ) + 1;\n}\n__name(findNextAvailableIndex, \"findNextAvailableIndex\");\nfunction calculateSwimlaneProps(frame, swimlanes) {\n const namespace = extractNamespace(frame.entityIdentifier);\n const sw = findSwimlaneByNamespace(swimlanes, namespace);\n switch (frame.modelEntityType) {\n case \"ui\":\n case \"pcr\":\n case \"processor\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelUiAutomation\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 0, 100),\n label: diagramProps.labelUiAutomationPrefix + namespace\n };\n }\n return { index: 0, label: diagramProps.labelUiAutomation };\n case \"rmo\":\n case \"readmodel\":\n case \"cmd\":\n case \"command\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelCommandReadModel\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 100, 200),\n label: diagramProps.labelCommandReadModelPrefix + namespace\n };\n }\n return { index: 100, label: diagramProps.labelCommandReadModel };\n case \"evt\":\n case \"event\":\n default:\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelEvents\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 200, 300),\n label: diagramProps.labelEventsPrefix + namespace\n };\n }\n return { index: 200, label: diagramProps.labelEvents };\n }\n}\n__name(calculateSwimlaneProps, \"calculateSwimlaneProps\");\nfunction calculateEntityVisualProps(frame) {\n const { themeVariables } = getConfig();\n switch (frame.modelEntityType) {\n case \"ui\":\n return {\n fill: themeVariables.emUiFill ?? \"white\",\n stroke: themeVariables.emUiStroke ?? \"#dbdada\"\n };\n case \"pcr\":\n case \"processor\":\n return {\n fill: themeVariables.emProcessorFill ?? \"#edb3f6\",\n stroke: themeVariables.emProcessorStroke ?? \"#b88cbf\"\n };\n case \"rmo\":\n case \"readmodel\":\n return {\n fill: themeVariables.emReadModelFill ?? \"#d3f1a2\",\n stroke: themeVariables.emReadModelStroke ?? \"#a3b732\"\n };\n case \"cmd\":\n case \"command\":\n return {\n fill: themeVariables.emCommandFill ?? \"#bcd6fe\",\n stroke: themeVariables.emCommandStroke ?? \"#679ac3\"\n };\n case \"evt\":\n case \"event\":\n return {\n fill: themeVariables.emEventFill ?? \"#ffb778\",\n stroke: themeVariables.emEventStroke ?? \"#c19a0f\"\n };\n default:\n return {\n fill: \"red\",\n stroke: \"black\"\n };\n }\n}\n__name(calculateEntityVisualProps, \"calculateEntityVisualProps\");\nfunction calculateTextProps(frame, dataEntities, diagramProps2) {\n const config = getConfig();\n const name = sanitizeText(extractName(frame.entityIdentifier) ?? \"\", config);\n let toHtml;\n const wrapLabelConfig = {\n fontSize: 16,\n fontWeight: 700,\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n joinWith: \"<br/>\"\n };\n const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);\n let content = `<b>${wrappedName}</b>`;\n if (frame.dataInlineValue) {\n toHtml = frame.dataInlineValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\") + 1);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \" \");\n }\n if (frame.dataReference) {\n const dataEntity = dataEntities.find(\n (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText\n );\n if (dataEntity) {\n toHtml = dataEntity.dataBlockValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\\n\") + 2);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \" \");\n toHtml += `<br/>`;\n }\n }\n const hasRenderedData = toHtml !== void 0;\n if (hasRenderedData) {\n content += `<br/><br/><code style=\"text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px\">${toHtml}</code>`;\n }\n const textDimensionConfig = {\n fontSize: wrapLabelConfig.fontSize,\n fontWeight: wrapLabelConfig.fontWeight,\n fontFamily: wrapLabelConfig.fontFamily\n };\n const dimensions = calculateTextDimensions(content, textDimensionConfig);\n const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;\n const props = {\n content,\n width: calculatedWidthFix,\n height: dimensions.height\n };\n log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);\n return props;\n}\n__name(calculateTextProps, \"calculateTextProps\");\nfunction decidePositionFrame(state, _command) {\n const command = _command;\n const visual = calculateEntityVisualProps(command.frame);\n const dimension = {\n width: command.textProps.width + 2 * diagramProps.boxTextPadding,\n height: command.textProps.height + 2 * diagramProps.boxTextPadding\n };\n const event = {\n $kind: FramePositionedKind,\n frame: command.frame,\n index: command.index,\n visual,\n dimension,\n textProps: command.textProps\n };\n return [event];\n}\n__name(decidePositionFrame, \"decidePositionFrame\");\nfunction calculateX(swimlane, previousSwimlane, lastBox) {\n if (previousSwimlane === void 0) {\n return diagramProps.contentStartX;\n }\n if (previousSwimlane.index === swimlane.index && swimlane.r) {\n return swimlane.r + diagramProps.boxPadding;\n }\n if (lastBox === void 0) {\n return diagramProps.contentStartX;\n }\n return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;\n}\n__name(calculateX, \"calculateX\");\nfunction calculateMaxRight(swimlanes, swimlaneR) {\n const rs = [...swimlanes.map((s) => s.r), swimlaneR];\n return Math.max(...rs);\n}\n__name(calculateMaxRight, \"calculateMaxRight\");\nfunction sortedSwimlanesArray(swimlanes) {\n return Object.values(swimlanes).sort((a, b) => a.index - b.index);\n}\n__name(sortedSwimlanesArray, \"sortedSwimlanesArray\");\nfunction evolveFramePositioned(state, _event) {\n const event = _event;\n const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);\n let swimlane;\n if (swimlaneProps.index in state.swimlanes) {\n swimlane = state.swimlanes[swimlaneProps.index];\n } else {\n swimlane = {\n index: swimlaneProps.index,\n label: swimlaneProps.label,\n r: 0,\n y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,\n height: diagramProps.swimlaneMinHeight,\n maxHeight: diagramProps.swimlaneMinHeight\n };\n }\n const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;\n const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;\n const dimension = {\n width: Math.max(\n diagramProps.boxMinWidth,\n Math.min(diagramProps.boxMaxWidth, event.dimension.width)\n ) + 2 * diagramProps.boxPadding,\n height: Math.max(\n diagramProps.boxMinHeight,\n Math.min(diagramProps.boxMaxHeight, event.dimension.height)\n ) + 2 * diagramProps.boxPadding\n };\n const x = calculateX(swimlane, previousSwimlane, lastBox);\n const r = x + dimension.width + diagramProps.boxPadding;\n const maxR = calculateMaxRight(Object.values(state.swimlanes), r);\n swimlane.r = x + dimension.width;\n swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);\n swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;\n const box = {\n x,\n y: diagramProps.swimlanePadding + swimlane.y,\n // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),\n r,\n dimension,\n leftSibling: false,\n swimlane,\n visual: event.visual,\n text: event.textProps.content,\n frame: event.frame,\n index: event.index\n };\n const newState = {\n ...state,\n boxes: [...state.boxes, box],\n swimlanes: {\n ...state.swimlanes,\n [`${swimlane.index}`]: swimlane\n },\n previousSwimlaneNumber: swimlaneProps.index,\n previousFrame: event.frame,\n maxR\n };\n const swimlanes = sortedSwimlanesArray(newState.swimlanes);\n if (swimlanes.length > 0) {\n swimlanes[0].y = 0;\n }\n for (let i = 1; i < swimlanes.length; i++) {\n const sw = swimlanes[i];\n const prevSw = swimlanes[i - 1];\n sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;\n }\n return newState;\n}\n__name(evolveFramePositioned, \"evolveFramePositioned\");\nfunction isFirstFrame(index, frame) {\n if (index === 0 && frame.sourceFrames.length === 0) {\n return true;\n }\n return false;\n}\n__name(isFirstFrame, \"isFirstFrame\");\nfunction hasSourceFrame(frame) {\n return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;\n}\n__name(hasSourceFrame, \"hasSourceFrame\");\nfunction findBoxByFrame(boxes, frame) {\n if (frame === void 0 || frame === null) {\n return void 0;\n }\n return boxes.find((box) => box.frame.name === frame.name);\n}\n__name(findBoxByFrame, \"findBoxByFrame\");\nfunction findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {\n if (lineIndex < 0) {\n return void 0;\n }\n for (let i = lineIndex; i >= 0; i--) {\n const box = boxes[i];\n if (box.swimlane.index !== targetSwimlane) {\n return box;\n }\n }\n return void 0;\n}\n__name(findBoxByLineIndex, \"findBoxByLineIndex\");\nfunction decidePositionRelation(state, _command) {\n const command = _command;\n if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {\n return [];\n }\n const targetBox = findBoxByFrame(state.boxes, command.frame);\n if (targetBox === void 0) {\n throw new Error(`Target box not found for frame ${command.frame.name}`);\n }\n let sourceBox;\n if (command.sourceFrame) {\n sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);\n } else {\n sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);\n }\n if (sourceBox === void 0) {\n return [];\n }\n const event = {\n $kind: RelationPositionedKind,\n frame: command.frame,\n index: command.index,\n sourceBox,\n targetBox\n };\n return [event];\n}\n__name(decidePositionRelation, \"decidePositionRelation\");\nfunction evolveRelationPositioned(state, _event) {\n const event = _event;\n const relation = {\n visual: {\n fill: \"none\",\n stroke: \"#000\"\n },\n source: {\n x: event.sourceBox.x,\n y: event.sourceBox.y\n },\n target: {\n x: event.targetBox.x,\n y: event.targetBox.y\n },\n sourceBox: event.sourceBox,\n targetBox: event.targetBox\n };\n const newState = {\n ...state,\n relations: [...state.relations, relation]\n };\n return newState;\n}\n__name(evolveRelationPositioned, \"evolveRelationPositioned\");\nvar deciders = {\n [PositionFrameKind]: decidePositionFrame,\n [PositionRelationKind]: decidePositionRelation\n};\nvar evolvers = {\n [FramePositionedKind]: evolveFramePositioned,\n [RelationPositionedKind]: evolveRelationPositioned\n};\nfunction decide(state, command) {\n const fn = deciders[command.$kind];\n if (fn === void 0 || fn === null) {\n return [];\n }\n const events = fn(state, command);\n log.debug(`decided events`, events);\n return events;\n}\n__name(decide, \"decide\");\nfunction evolve(state, events) {\n const newState = events.reduce((previousState, event) => {\n const fn = evolvers[event.$kind];\n if (fn === void 0 || fn === null) {\n return previousState;\n }\n return fn(previousState, event);\n }, state);\n log.debug(`evolve events`, { state, newState, events });\n return newState;\n}\n__name(evolve, \"evolve\");\nfunction dispatch(state, command) {\n const events = decide(state, command);\n const newState = evolve(state, events);\n return newState;\n}\n__name(dispatch, \"dispatch\");\nvar db = {\n getConfig: getConfig3,\n setOptions,\n getOptions,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n setAst,\n getDiagramProps,\n getState\n};\n\n// src/diagrams/eventmodeling/parser.ts\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"eventmodeling\", input);\n log.debug(ast);\n db.setAst(ast);\n populateCommonDb(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"EventModeling Parser\", () => {\n it(\"should parse simple model\", () => {\n const result = parser.parse(`eventmodeling\n tf 01 evt Start\n\n `);\n expect(result !== void 0);\n });\n });\n}\n\n// src/diagrams/eventmodeling/renderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;\nfunction renderD3Box(diagram2, diagramProps2) {\n return (box) => {\n const y = box.swimlane.y + diagramProps2.swimlanePadding;\n const g = diagram2.append(\"g\").attr(\"class\", \"em-box\");\n g.append(\"rect\").attr(\"x\", box.x).attr(\"y\", y).attr(\"rx\", \"3\").attr(\"width\", box.dimension.width).attr(\"height\", box.dimension.height).attr(\"stroke\", box.visual.stroke).attr(\"fill\", box.visual.fill);\n const f = g.append(\"foreignObject\").attr(\"x\", box.x + diagramProps2.boxPadding).attr(\"y\", y + 10).attr(\"width\", box.dimension.width - 2 * diagramProps2.boxPadding).attr(\"height\", box.dimension.height - 2 * diagramProps2.boxPadding);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"span\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(box.text);\n };\n}\n__name(renderD3Box, \"renderD3Box\");\nfunction dirUpwards(sourceY, targetY) {\n return sourceY > targetY;\n}\n__name(dirUpwards, \"dirUpwards\");\nfunction renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {\n return (relation) => {\n const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;\n const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;\n const upwards = dirUpwards(sourceBoxY, targetBoxY);\n const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;\n const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;\n let sourceY;\n let targetY;\n log.debug(`rendering relation up=${upwards} for `, {\n sourceBox: relation.sourceBox,\n targetBox: relation.targetBox\n });\n if (upwards) {\n sourceY = sourceBoxY;\n targetY = targetBoxY + relation.targetBox.dimension.height;\n } else {\n sourceY = sourceBoxY + relation.sourceBox.dimension.height;\n targetY = targetBoxY;\n }\n const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;\n diagram2.append(\"path\").attr(\"class\", \"em-relation\").attr(\"fill\", relation.visual.fill).attr(\"stroke\", relationStroke).attr(\"stroke-width\", \"1\").attr(\"marker-end\", `url(#${arrowheadId})`).attr(\"d\", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);\n };\n}\n__name(renderD3Relation, \"renderD3Relation\");\nfunction renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {\n return (swimlane) => {\n const g = diagram2.append(\"g\").attr(\"class\", \"em-swimlane\");\n const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? \"rgb(250,250,250)\";\n const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? \"rgb(240,240,240)\";\n g.append(\"rect\").attr(\"x\", 0).attr(\"y\", swimlane.y).attr(\"rx\", \"3\").attr(\"width\", maxR + diagramProps2.swimlanePadding).attr(\"height\", swimlane.height).attr(\"fill\", oddBackground).attr(\"stroke\", backgroundStroke);\n g.append(\"text\").attr(\"font-weight\", diagramProps2.swimlaneTextFontWeight).attr(\"x\", 30).attr(\"y\", swimlane.y + 30).text(swimlane.label);\n };\n}\n__name(renderD3Swimlane, \"renderD3Swimlane\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n log.debug(\"in eventmodeling renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_EVENTMODELING_CONFIG2) {\n throw new Error(\"EventModeling config not found\");\n }\n const db2 = diagObj.db;\n const { themeVariables, eventmodeling: config } = getConfig2();\n const diagram2 = select(`[id=\"${id}\"]`);\n const diagramProps2 = db2.getDiagramProps();\n const state = db2.getState();\n const arrowheadId = `em-arrowhead-${id}`;\n const arrowheadColor = themeVariables.emArrowhead ?? \"#000000\";\n state.sortedSwimlanesArray.forEach(\n renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)\n );\n state.boxes.forEach(renderD3Box(diagram2, diagramProps2));\n state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));\n const marker = diagram2.append(\"defs\").append(\"marker\").attr(\"id\", arrowheadId).attr(\"markerWidth\", \"10\").attr(\"markerHeight\", \"7\").attr(\"refX\", \"10\").attr(\"refY\", \"3.5\").attr(\"orient\", \"auto\");\n marker.append(\"polygon\").attr(\"points\", \"0 0, 10 3.5, 0 7\").attr(\"fill\", arrowheadColor);\n setupGraphViewbox(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);\n}, \"draw\");\nvar renderer_default = {\n draw\n};\n\n// src/diagrams/eventmodeling/styles.js\nvar getStyles = /* @__PURE__ */ __name((_options) => ``, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/eventmodeling/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer: renderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["PositionFrameKind", "FramePositionedKind", "PositionRelationKind", "RelationPositionedKind", "setOptions", "__name", "_rawOptString", "log", "getOptions", "clear2", "reset", "clear", "store", "DEFAULT_EVENTMODELING_CONFIG", "defaultConfig_default", "getConfig3", "cleanAndMerge", "getConfig", "getState", "state", "initial", "ast", "diagramProps2", "getDiagramProps", "frame", "index", "textProps", "calculateTextProps", "dispatch", "sourceFrames", "hasSourceFrame", "currentFrame", "sf", "sourceFrame", "sortedSwimlanesArray", "setAst", "diagramProps", "extractNamespace", "entityIdentifier", "spl", "extractName", "findSwimlaneByNamespace", "swimlanes", "namespace", "swimlane", "findNextAvailableIndex", "boundaryMin", "boundaryMax", "key", "calculateSwimlaneProps", "sw", "calculateEntityVisualProps", "themeVariables", "dataEntities", "config", "name", "sanitizeText", "toHtml", "wrapLabelConfig", "content", "wrapLabel", "dataEntity", "dataEntity2", "hasRenderedData", "textDimensionConfig", "dimensions", "calculateTextDimensions", "calculatedWidthFix", "props", "decidePositionFrame", "_command", "command", "visual", "dimension", "calculateX", "previousSwimlane", "lastBox", "calculateMaxRight", "swimlaneR", "rs", "s", "a", "b", "evolveFramePositioned", "_event", "event", "swimlaneProps", "x", "r", "maxR", "box", "newState", "i", "prevSw", "isFirstFrame", "findBoxByFrame", "boxes", "findBoxByLineIndex", "targetSwimlane", "lineIndex", "decidePositionRelation", "isEmResetFrame", "targetBox", "sourceBox", "evolveRelationPositioned", "relation", "deciders", "evolvers", "decide", "fn", "events", "evolve", "previousState", "db", "setAccTitle", "getAccTitle", "getAccDescription", "setAccDescription", "setDiagramTitle", "getDiagramTitle", "parser", "input", "parse", "populateCommonDb", "DEFAULT_CONFIG", "getConfig2", "DEFAULT_EVENTMODELING_CONFIG2", "renderD3Box", "diagram2", "y", "g", "dirUpwards", "sourceY", "targetY", "renderD3Relation", "arrowheadId", "sourceBoxY", "targetBoxY", "upwards", "sourceX", "targetX", "relationStroke", "renderD3Swimlane", "oddBackground", "backgroundStroke", "draw", "txt", "id", "ver", "diagObj", "db2", "select_default", "arrowheadColor", "setupGraphViewbox2", "renderer_default", "getStyles", "_options", "styles_default", "diagram"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{a as E}from"./chunk-DS52DG6H.js";import{a as F}from"./chunk-ZY7EQCMR.js";import"./chunk-72WSJX2P.js";import"./chunk-WIIGSS4X.js";import"./chunk-FWZR474D.js";import"./chunk-C2IUOGBD.js";import"./chunk-YYWGGXI6.js";import"./chunk-SWJRRCAF.js";import"./chunk-WEZ3ELJO.js";import"./chunk-NWD66TP4.js";import"./chunk-PLQZIFSO.js";import"./chunk-QSGUWHXF.js";import"./chunk-IGLPGT7W.js";import{a as z}from"./chunk-DXEOG5W4.js";import{o as w}from"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{A as x,N as y,S as $,T as B,U as C,V as S,W as D,X as T,Y as P,q as v}from"./chunk-WBEUYPCI.js";import{b as h,d as u}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var L=v.packet,m,A=(m=class{constructor(){this.packet=[],this.setAccTitle=B,this.getAccTitle=C,this.setDiagramTitle=T,this.getDiagramTitle=P,this.getAccDescription=D,this.setAccDescription=S}getConfig(){let t=w({...L,...x().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){$(),this.packet=[]}},h(m,"PacketDB"),m),M=1e4,Y=h((e,t)=>{E(e,t);let a=-1,o=[],n=1,{bitsPerRow:l}=t.getConfig();for(let{start:r,end:s,bits:d,label:c}of e.blocks){if(r!==void 0&&s!==void 0&&s<r)throw new Error(`Packet block ${r} - ${s} is invalid. End must be greater than start.`);if(r??(r=a+1),r!==a+1)throw new Error(`Packet block ${r} - ${s??r} is not contiguous. It should start from ${a+1}.`);if(d===0)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(s??(s=r+(d??1)-1),d??(d=s-r+1),a=s,u.debug(`Packet block ${r} - ${a} with label ${c}`);o.length<=l+1&&t.getPacket().length<M;){let[p,i]=I({start:r,end:s,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(t.pushWord(o),o=[],n++),!i)break;({start:r,end:s,bits:d,label:c}=i)}}t.pushWord(o)},"populate"),I=h((e,t,a)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*a)return[e,void 0];let o=t*a-1,n=t*a;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),W={parser:{yy:void 0},parse:h(async e=>{let t=await F("packet",e),a=W.parser?.yy;if(!(a instanceof A))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");u.debug(t),Y(t,a)},"parse")},O=h((e,t,a,o)=>{let n=o.db,l=n.getConfig(),{rowHeight:r,paddingY:s,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),i=n.getDiagramTitle(),f=r+s,g=f*(p.length+1)-(i?0:r),k=d*c+2,b=z(t);b.attr("viewBox",`0 0 ${k} ${g}`),y(b,g,k,l.useMaxWidth);for(let[_,N]of p.entries())j(b,N,_,l);b.append("text").text(i).attr("x",k/2).attr("y",g-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=h((e,t,a,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:r,bitsPerRow:s,showBits:d})=>{let c=e.append("g"),p=a*(o+l)+l;for(let i of t){let f=i.start%s*r+1,g=(i.end-i.start+1)*r-n;if(c.append("rect").attr("x",f).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",f+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(i.label),!d)continue;let k=i.end===i.start,b=p-2;c.append("text").attr("x",f+(k?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(i.start),k||c.append("text").attr("x",f+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(i.end)}},"drawWord"),G={draw:O},H={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=h(({packet:e}={})=>{let t=w(H,e);return`
|
|
2
|
+
.packetByte {
|
|
3
|
+
font-size: ${t.byteFontSize};
|
|
4
|
+
}
|
|
5
|
+
.packetByte.start {
|
|
6
|
+
fill: ${t.startByteColor};
|
|
7
|
+
}
|
|
8
|
+
.packetByte.end {
|
|
9
|
+
fill: ${t.endByteColor};
|
|
10
|
+
}
|
|
11
|
+
.packetLabel {
|
|
12
|
+
fill: ${t.labelColor};
|
|
13
|
+
font-size: ${t.labelFontSize};
|
|
14
|
+
}
|
|
15
|
+
.packetTitle {
|
|
16
|
+
fill: ${t.titleColor};
|
|
17
|
+
font-size: ${t.titleFontSize};
|
|
18
|
+
}
|
|
19
|
+
.packetBlock {
|
|
20
|
+
stroke: ${t.blockStrokeColor};
|
|
21
|
+
stroke-width: ${t.blockStrokeWidth};
|
|
22
|
+
fill: ${t.blockFillColor};
|
|
23
|
+
}
|
|
24
|
+
`},"styles"),V={parser:W,get db(){return new A},renderer:G,styles:K};export{V as diagram};
|
|
25
|
+
//# sourceMappingURL=diagram-LMA3HP47-LPHFNXWX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-LMA3HP47.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/packet/db.ts\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar PacketDB = class {\n constructor() {\n this.packet = [];\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"PacketDB\");\n }\n getConfig() {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n }\n getPacket() {\n return this.packet;\n }\n pushWord(word) {\n if (word.length > 0) {\n this.packet.push(word);\n }\n }\n clear() {\n clear();\n this.packet = [];\n }\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n // @ts-expect-error - PacketDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n const db = parser.parser?.yy;\n if (!(db instanceof PacketDB)) {\n throw new Error(\n \"parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const config = db.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db.getPacket();\n const title = db.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new PacketDB();\n },\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DEFAULT_PACKET_CONFIG", "defaultConfig_default", "_a", "PacketDB", "setAccTitle", "getAccTitle", "setDiagramTitle", "getDiagramTitle", "getAccDescription", "setAccDescription", "config", "cleanAndMerge", "getConfig", "word", "clear", "__name", "maxPacketSize", "populate", "ast", "db", "populateCommonDb", "lastBit", "row", "bitsPerRow", "start", "end", "bits", "label", "log", "block", "nextBlock", "getNextFittingBlock", "rowEnd", "rowStart", "parser", "input", "parse", "draw", "_text", "id", "_version", "diagram2", "rowHeight", "paddingY", "bitWidth", "words", "title", "totalRowHeight", "svgHeight", "svgWidth", "svg", "selectSvgElement", "configureSvgSize", "packet", "drawWord", "rowNumber", "paddingX", "showBits", "group", "wordY", "blockX", "width", "isSingleBlock", "bitNumberY", "renderer", "defaultPacketStyleOptions", "styles", "options", "diagram"]
|
|
7
|
+
}
|