preview-artifact 0.1.0 → 0.1.1

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.
Files changed (100) hide show
  1. package/README.md +51 -23
  2. package/bin/preview-artifact.js +28 -11
  3. package/dist/assets/{arc-CJ3_-PAT.js → arc-BURSTmp3.js} +1 -1
  4. package/dist/assets/architecture-7EHR7CIX-vMwo1MDy.js +1 -0
  5. package/dist/assets/{architectureDiagram-3BPJPVTR--rREWXNq.js → architectureDiagram-3BPJPVTR-BgumLTXX.js} +1 -1
  6. package/dist/assets/{blockDiagram-GPEHLZMM-BV1c1Mfq.js → blockDiagram-GPEHLZMM-DZIqZdUb.js} +1 -1
  7. package/dist/assets/{c4Diagram-AAUBKEIU-Bc6XHTqW.js → c4Diagram-AAUBKEIU-LCHgN1jn.js} +1 -1
  8. package/dist/assets/channel-CxSUoqXK.js +1 -0
  9. package/dist/assets/{chunk-2J33WTMH-eTp7ioqm.js → chunk-2J33WTMH-DvEeoM9J.js} +1 -1
  10. package/dist/assets/{chunk-4BX2VUAB-DeAmcro3.js → chunk-4BX2VUAB-CYSoYAWK.js} +1 -1
  11. package/dist/assets/{chunk-55IACEB6-fvzFs169.js → chunk-55IACEB6-BRb7E5Qi.js} +1 -1
  12. package/dist/assets/{chunk-727SXJPM-BWnGyv0z.js → chunk-727SXJPM-B6j5-ndb.js} +1 -1
  13. package/dist/assets/{chunk-AQP2D5EJ-DpWR_SeI.js → chunk-AQP2D5EJ-CjQmIT1k.js} +1 -1
  14. package/dist/assets/{chunk-FMBD7UC4-DMyBW8iC.js → chunk-FMBD7UC4-CRSfU6H4.js} +1 -1
  15. package/dist/assets/{chunk-ND2GUHAM-BWO3mIks.js → chunk-ND2GUHAM-CA0wzQhE.js} +1 -1
  16. package/dist/assets/chunk-QZHKN3VN-qjaIE4NP.js +1 -0
  17. package/dist/assets/classDiagram-4FO5ZUOK-tEqL1CeM.js +1 -0
  18. package/dist/assets/classDiagram-v2-Q7XG4LA2-tEqL1CeM.js +1 -0
  19. package/dist/assets/{cose-bilkent-S5V4N54A-C0oZ9Wdh.js → cose-bilkent-S5V4N54A-BUHtitPb.js} +1 -1
  20. package/dist/assets/{dagre-DjzBNxbY.js → dagre-7vyoWyN2.js} +1 -1
  21. package/dist/assets/{dagre-BM42HDAG-8yabnAvH.js → dagre-BM42HDAG-BUTV0k5t.js} +1 -1
  22. package/dist/assets/{diagram-2AECGRRQ-8ounJ_ea.js → diagram-2AECGRRQ-voc56b5-.js} +1 -1
  23. package/dist/assets/{diagram-5GNKFQAL-Dis8fSWn.js → diagram-5GNKFQAL-C7HSNbqS.js} +1 -1
  24. package/dist/assets/{diagram-KO2AKTUF-C6EHdpm4.js → diagram-KO2AKTUF-CT_9xb24.js} +1 -1
  25. package/dist/assets/{diagram-LMA3HP47-DNFfc6f_.js → diagram-LMA3HP47-DrHSwoeD.js} +1 -1
  26. package/dist/assets/{diagram-OG6HWLK6-T3xi-usC.js → diagram-OG6HWLK6-BlSHz05Y.js} +1 -1
  27. package/dist/assets/{dist-D9o03QzN.js → dist-0d-akqae.js} +1 -1
  28. package/dist/assets/{dist-BzXJV1j0.js → dist-B2HVEpJX.js} +1 -1
  29. package/dist/assets/{dist-DbgoG8p0.js → dist-B7_xrEdo.js} +1 -1
  30. package/dist/assets/{dist-C4F0WDhe.js → dist-B9KjjRWM.js} +1 -1
  31. package/dist/assets/{dist-Dx7RIjDF.js → dist-BPuA80LW.js} +1 -1
  32. package/dist/assets/{dist-CxkjL8u9.js → dist-BmnAXazp.js} +1 -1
  33. package/dist/assets/{dist-CEGhJ1xl.js → dist-CA3Pk7v2.js} +1 -1
  34. package/dist/assets/{dist-r1yFQKfc.js → dist-CFQxyybE.js} +1 -1
  35. package/dist/assets/{dist-CF78u7GS.js → dist-CtSpiN1s.js} +1 -1
  36. package/dist/assets/{dist-CMxhtH1e.js → dist-Cwfv_tyI.js} +1 -1
  37. package/dist/assets/{dist-CO6gjtrq.js → dist-Cz05ErgZ.js} +1 -1
  38. package/dist/assets/{dist-CN0qWAiT.js → dist-D7NejwjW.js} +1 -1
  39. package/dist/assets/{dist-DVp3z0N1.js → dist-DKqiadCC.js} +1 -1
  40. package/dist/assets/{dist-CwfCEqoZ.js → dist-D_laSL_U.js} +1 -1
  41. package/dist/assets/{dist-BBZDeMcg.js → dist-Dg8qYpln.js} +1 -1
  42. package/dist/assets/{dist-D3Gxtn_g.js → dist-Dk3xCloY.js} +1 -1
  43. package/dist/assets/{dist-BaQ073UB.js → dist-DrNtdG-E.js} +1 -1
  44. package/dist/assets/{dist-BQ3j-7m-.js → dist-_PpeBmXb.js} +1 -1
  45. package/dist/assets/{dist-DUVOpSfr.js → dist-fwzYOjXD.js} +1 -1
  46. package/dist/assets/{dist-Bat5IVRd.js → dist-hkW4HGTf.js} +1 -1
  47. package/dist/assets/{dist-hHJOGFR3.js → dist-uNrLmmfA.js} +1 -1
  48. package/dist/assets/{dist-3LHbYvzB.js → dist-vmhdhx9-.js} +1 -1
  49. package/dist/assets/{erDiagram-TEJ5UH35-DmLQldz3.js → erDiagram-TEJ5UH35-BdUg-F90.js} +1 -1
  50. package/dist/assets/eventmodeling-FCH6USID-CarTby87.js +1 -0
  51. package/dist/assets/{flowDiagram-I6XJVG4X-DVUVTV7y.js → flowDiagram-I6XJVG4X-5hDnkzmr.js} +1 -1
  52. package/dist/assets/{ganttDiagram-6RSMTGT7-B29Uh60s.js → ganttDiagram-6RSMTGT7-DBd6oZBy.js} +1 -1
  53. package/dist/assets/gitGraph-WXDBUCRP-DQQMJkO5.js +1 -0
  54. package/dist/assets/{gitGraphDiagram-PVQCEYII-smrXHnBr.js → gitGraphDiagram-PVQCEYII-jpG4B7NZ.js} +1 -1
  55. package/dist/assets/{graphlib-DpLcPBYV.js → graphlib-BhyPxx7t.js} +1 -1
  56. package/dist/assets/{index-nBHjSfNd.css → index-7fg9xGWU.css} +1 -1
  57. package/dist/assets/{index-Czi2sVlL.js → index-D3M38wf4.js} +202 -202
  58. package/dist/assets/info-J43DQDTF-BLewHZ0P.js +1 -0
  59. package/dist/assets/{infoDiagram-5YYISTIA-B1Gf8Uv-.js → infoDiagram-5YYISTIA-14qdu6o4.js} +1 -1
  60. package/dist/assets/{ishikawaDiagram-YF4QCWOH-D02jcukO.js → ishikawaDiagram-YF4QCWOH-k9M2sROT.js} +1 -1
  61. package/dist/assets/{journeyDiagram-JHISSGLW-B2VXi2OP.js → journeyDiagram-JHISSGLW-B2Z9trvc.js} +1 -1
  62. package/dist/assets/{kanban-definition-UN3LZRKU-2-V_ZAd5.js → kanban-definition-UN3LZRKU-DPaaxbtF.js} +1 -1
  63. package/dist/assets/{linear-BEHGKHxt.js → linear-CPH32Ioh.js} +1 -1
  64. package/dist/assets/{mermaid-parser.core-DedvXRIg.js → mermaid-parser.core-E4GbSOma.js} +2 -2
  65. package/dist/assets/{mindmap-definition-RKZ34NQL-CmE26Ash.js → mindmap-definition-RKZ34NQL-CtNQ-qFb.js} +1 -1
  66. package/dist/assets/packet-YPE3B663-DBVABQ0X.js +1 -0
  67. package/dist/assets/pie-LRSECV5Y-Cc2CPikn.js +1 -0
  68. package/dist/assets/{pieDiagram-4H26LBE5-DA8Tc6HA.js → pieDiagram-4H26LBE5-C-r-uEXr.js} +1 -1
  69. package/dist/assets/{quadrantDiagram-W4KKPZXB-Kkoca0z9.js → quadrantDiagram-W4KKPZXB-DtbLg6VZ.js} +1 -1
  70. package/dist/assets/radar-GUYGQ44K-DebC3Kbw.js +1 -0
  71. package/dist/assets/{requirementDiagram-4Y6WPE33-lfBTeFxy.js → requirementDiagram-4Y6WPE33-j3kBTdyC.js} +1 -1
  72. package/dist/assets/{sankeyDiagram-5OEKKPKP-I9io9g_r.js → sankeyDiagram-5OEKKPKP-BglSwOKH.js} +1 -1
  73. package/dist/assets/{sequenceDiagram-3UESZ5HK-DctmO3Ji.js → sequenceDiagram-3UESZ5HK-_USq3wx4.js} +1 -1
  74. package/dist/assets/{stateDiagram-AJRCARHV-C5Nx7EBG.js → stateDiagram-AJRCARHV-dQ9LsVy-.js} +1 -1
  75. package/dist/assets/stateDiagram-v2-BHNVJYJU-DC6g--EQ.js +1 -0
  76. package/dist/assets/{timeline-definition-PNZ67QCA-Dg9cWzqH.js → timeline-definition-PNZ67QCA-CNRy3iur.js} +1 -1
  77. package/dist/assets/treeView-BLDUP644-BgNRg2b1.js +1 -0
  78. package/dist/assets/treemap-LRROVOQU-Bg67wSlB.js +1 -0
  79. package/dist/assets/{vennDiagram-CIIHVFJN-Cq75Ue3t.js → vennDiagram-CIIHVFJN-kg3yNHOS.js} +1 -1
  80. package/dist/assets/wardley-L42UT6IY-C2sV-5KB.js +1 -0
  81. package/dist/assets/{wardleyDiagram-YWT4CUSO-DDjtFIKf.js → wardleyDiagram-YWT4CUSO-kTnm6q2P.js} +1 -1
  82. package/dist/assets/{xychartDiagram-2RQKCTM6-xtq4jnQX.js → xychartDiagram-2RQKCTM6-Bswc68Nb.js} +1 -1
  83. package/dist/index.html +2 -2
  84. package/package.json +1 -1
  85. package/server/index.mjs +64 -1
  86. package/dist/assets/architecture-7EHR7CIX-Z0xF5NqR.js +0 -1
  87. package/dist/assets/channel-Bj7QtUIY.js +0 -1
  88. package/dist/assets/chunk-QZHKN3VN-BZ-TNixB.js +0 -1
  89. package/dist/assets/classDiagram-4FO5ZUOK-DfFXNbKt.js +0 -1
  90. package/dist/assets/classDiagram-v2-Q7XG4LA2-DfFXNbKt.js +0 -1
  91. package/dist/assets/eventmodeling-FCH6USID-CjbfWKFY.js +0 -1
  92. package/dist/assets/gitGraph-WXDBUCRP-UjXKP53I.js +0 -1
  93. package/dist/assets/info-J43DQDTF-D0rV5uTf.js +0 -1
  94. package/dist/assets/packet-YPE3B663-BgNtBtap.js +0 -1
  95. package/dist/assets/pie-LRSECV5Y-BtNYo6fY.js +0 -1
  96. package/dist/assets/radar-GUYGQ44K-CT8UiwEf.js +0 -1
  97. package/dist/assets/stateDiagram-v2-BHNVJYJU-MxkuKT7f.js +0 -1
  98. package/dist/assets/treeView-BLDUP644-DwODQHAM.js +0 -1
  99. package/dist/assets/treemap-LRROVOQU-D1GWl9XK.js +0 -1
  100. package/dist/assets/wardley-L42UT6IY-C--1EU_5.js +0 -1
@@ -1,4 +1,4 @@
1
- import{r as e,t}from"./graphlib-DpLcPBYV.js";import{n,r,t as i}from"./dagre-DjzBNxbY.js";import{On as a,T as o,a as s,c,d as l,h as u,i as d,kn as f,l as p,m,o as h,p as g,r as _,rn as v,s as y,u as b}from"./index-Czi2sVlL.js";var x=4;function S(e){return r(e,x)}function C(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:w(t),edges:T(t)};return e(t.graph())||(n.value=S(t.graph())),n}function w(t){return n(t.nodes(),function(n){var r=t.node(n),i=t.parent(n),a={v:n};return e(r)||(a.value=r),e(i)||(a.parent=i),a})}function T(t){return n(t.edges(),function(n){var r=t.edge(n),i={v:n.v,w:n.w};return e(n.name)||(i.name=n.name),e(r)||(i.value=r),i})}var E=new Map,D=new Map,O=new Map,k=a(()=>{D.clear(),O.clear(),E.clear()},`clear`),A=a((e,t)=>{let n=D.get(t)||[];return f.trace(`In isDescendant`,t,` `,e,` = `,n.includes(e)),n.includes(e)},`isDescendant`),j=a((e,t)=>{let n=D.get(t)||[];return f.info(`Descendants of `,t,` is `,n),f.info(`Edge is `,e),e.v===t||e.w===t?!1:n?n.includes(e.v)||A(e.v,t)||A(e.w,t)||n.includes(e.w):(f.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),M=a((e,t,n,r)=>{f.warn(`Copying children of `,e,`root`,r,`data`,t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),f.warn(`Copying (nodes) clusterId`,e,`nodes`,i),i.forEach(i=>{if(t.children(i).length>0)M(i,t,n,r);else{let a=t.node(i);f.info(`cp `,i,` to `,r,` with parent `,e),n.setNode(i,a),r!==t.parent(i)&&(f.warn(`Setting parent`,i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(f.debug(`Setting parent`,i,e),n.setParent(i,e)):(f.info(`In copy `,e,`root`,r,`data`,t.node(e),r),f.debug(`Not Setting parent for node=`,i,`cluster!==rootId`,e!==r,`node!==clusterId`,i!==e));let o=t.edges(i);f.debug(`Copying Edges`,o),o.forEach(i=>{f.info(`Edge`,i);let a=t.edge(i.v,i.w,i.name);f.info(`Edge data`,a,r);try{j(i,r)?(f.info(`Copying as `,i.v,i.w,a,i.name),n.setEdge(i.v,i.w,a,i.name),f.info(`newGraph edges `,n.edges(),n.edge(n.edges()[0]))):f.info(`Skipping copy of edge `,i.v,`-->`,i.w,` rootId: `,r,` clusterId:`,e)}catch(e){f.error(e)}})}f.debug(`Removing node`,i),t.removeNode(i)})},`copy`),N=a((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)O.set(i,e),r=[...r,...N(i,t)];return r},`extractDescendants`),P=a((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),F=a((e,t,n)=>{let r=t.children(e);if(f.trace(`Searching children of id `,e,r),r.length<1)return e;let i;for(let e of r){let r=F(e,t,n),a=P(t,n,r);if(r)if(a.length>0)i=r;else return r}return i},`findNonClusterChild`),I=a(e=>!E.has(e)||!E.get(e).externalConnections?e:E.has(e)?E.get(e).id:e,`getAnchorId`),L=a((e,t)=>{if(!e||t>10){f.debug(`Opting out, no graph `);return}else f.debug(`Opting in, graph `);e.nodes().forEach(function(t){e.children(t).length>0&&(f.warn(`Cluster identified`,t,` Replacement id in edges: `,F(t,e,t)),D.set(t,N(t,e)),E.set(t,{id:F(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(f.debug(`Cluster identified`,t,D),r.forEach(e=>{A(e.v,t)^A(e.w,t)&&(f.warn(`Edge: `,e,` leaves cluster `,t),f.warn(`Descendants of XXX `,t,`: `,D.get(t)),E.get(t).externalConnections=!0)})):f.debug(`Not a cluster `,t,D)});for(let t of E.keys()){let n=E.get(t).id,r=e.parent(n);r!==t&&E.has(r)&&!E.get(r).externalConnections&&(E.get(t).id=r)}e.edges().forEach(function(t){let n=e.edge(t);f.warn(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),f.warn(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(f.warn(`Fix XXX`,E,`ids:`,t.v,t.w,`Translating: `,E.get(t.v),` --- `,E.get(t.w)),E.get(t.v)||E.get(t.w)){if(f.warn(`Fixing and trying - removing XXX`,t.v,t.w,t.name),r=I(t.v),i=I(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let i=e.parent(r);E.get(i).externalConnections=!0,n.fromCluster=t.v}if(i!==t.w){let r=e.parent(i);E.get(r).externalConnections=!0,n.toCluster=t.w}f.warn(`Fix Replacing with XXX`,r,i,t.name),e.setEdge(r,i,n,t.name)}}),f.warn(`Adjusted Graph`,C(e)),R(e,0),f.trace(E)},`adjustClustersAndEdges`),R=a((e,n)=>{if(f.warn(`extractor - `,n,C(e),e.children(`D`)),n>10){f.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){f.debug(`Done, no node has children`,e.nodes());return}f.debug(`Nodes = `,r,n);for(let i of r)if(f.debug(`Extracting node`,i,E,E.has(i)&&!E.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!E.has(i))f.debug(`Not a cluster`,i,n);else if(!E.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){f.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;E.get(i)?.clusterData?.dir&&(r=E.get(i).clusterData.dir,f.warn(`Fixing dir`,E.get(i).clusterData.dir,r));let a=new t({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});f.warn(`Old graph before copy`,C(e)),M(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:E.get(i).clusterData,label:E.get(i).label,graph:a}),f.warn(`New graph after copy node: (`,i,`)`,C(a)),f.debug(`Old graph after copy`,C(e))}else f.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!E.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),f.debug(E);r=e.nodes(),f.warn(`New list of nodes`,r);for(let t of r){let r=e.node(t);f.warn(` Now next level`,t,r),r?.clusterNode&&R(r.graph,n+1)}},`extractor`),z=a((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=z(e,e.children(t));n=[...n,...r]}),n},`sorter`),B=a(e=>z(e,e.children()),`sortNodesByHierarchy`),V=a(async(e,t,n,r,c,p)=>{f.warn(`Graph in recursive render:XAX`,C(t),c);let h=t.graph().rankdir;f.trace(`Dir in recursive render - dir:`,h);let _=e.insert(`g`).attr(`class`,`root`);t.nodes()?f.info(`Recursive render XXX`,t.nodes()):f.info(`No nodes found for`,t),t.edges().length>0&&f.info(`Recursive edges`,t.edge(t.edges()[0]));let v=_.insert(`g`).attr(`class`,`clusters`),x=_.insert(`g`).attr(`class`,`edgePaths`),S=_.insert(`g`).attr(`class`,`edgeLabels`),w=_.insert(`g`).attr(`class`,`nodes`);await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(c!==void 0){let n=JSON.parse(JSON.stringify(c.clusterData));f.trace(`Setting data for parent cluster XXX
1
+ import{r as e,t}from"./graphlib-BhyPxx7t.js";import{n,r,t as i}from"./dagre-7vyoWyN2.js";import{On as a,T as o,a as s,c,d as l,h as u,i as d,kn as f,l as p,m,o as h,p as g,r as _,rn as v,s as y,u as b}from"./index-D3M38wf4.js";var x=4;function S(e){return r(e,x)}function C(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:w(t),edges:T(t)};return e(t.graph())||(n.value=S(t.graph())),n}function w(t){return n(t.nodes(),function(n){var r=t.node(n),i=t.parent(n),a={v:n};return e(r)||(a.value=r),e(i)||(a.parent=i),a})}function T(t){return n(t.edges(),function(n){var r=t.edge(n),i={v:n.v,w:n.w};return e(n.name)||(i.name=n.name),e(r)||(i.value=r),i})}var E=new Map,D=new Map,O=new Map,k=a(()=>{D.clear(),O.clear(),E.clear()},`clear`),A=a((e,t)=>{let n=D.get(t)||[];return f.trace(`In isDescendant`,t,` `,e,` = `,n.includes(e)),n.includes(e)},`isDescendant`),j=a((e,t)=>{let n=D.get(t)||[];return f.info(`Descendants of `,t,` is `,n),f.info(`Edge is `,e),e.v===t||e.w===t?!1:n?n.includes(e.v)||A(e.v,t)||A(e.w,t)||n.includes(e.w):(f.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),M=a((e,t,n,r)=>{f.warn(`Copying children of `,e,`root`,r,`data`,t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),f.warn(`Copying (nodes) clusterId`,e,`nodes`,i),i.forEach(i=>{if(t.children(i).length>0)M(i,t,n,r);else{let a=t.node(i);f.info(`cp `,i,` to `,r,` with parent `,e),n.setNode(i,a),r!==t.parent(i)&&(f.warn(`Setting parent`,i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(f.debug(`Setting parent`,i,e),n.setParent(i,e)):(f.info(`In copy `,e,`root`,r,`data`,t.node(e),r),f.debug(`Not Setting parent for node=`,i,`cluster!==rootId`,e!==r,`node!==clusterId`,i!==e));let o=t.edges(i);f.debug(`Copying Edges`,o),o.forEach(i=>{f.info(`Edge`,i);let a=t.edge(i.v,i.w,i.name);f.info(`Edge data`,a,r);try{j(i,r)?(f.info(`Copying as `,i.v,i.w,a,i.name),n.setEdge(i.v,i.w,a,i.name),f.info(`newGraph edges `,n.edges(),n.edge(n.edges()[0]))):f.info(`Skipping copy of edge `,i.v,`-->`,i.w,` rootId: `,r,` clusterId:`,e)}catch(e){f.error(e)}})}f.debug(`Removing node`,i),t.removeNode(i)})},`copy`),N=a((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)O.set(i,e),r=[...r,...N(i,t)];return r},`extractDescendants`),P=a((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),F=a((e,t,n)=>{let r=t.children(e);if(f.trace(`Searching children of id `,e,r),r.length<1)return e;let i;for(let e of r){let r=F(e,t,n),a=P(t,n,r);if(r)if(a.length>0)i=r;else return r}return i},`findNonClusterChild`),I=a(e=>!E.has(e)||!E.get(e).externalConnections?e:E.has(e)?E.get(e).id:e,`getAnchorId`),L=a((e,t)=>{if(!e||t>10){f.debug(`Opting out, no graph `);return}else f.debug(`Opting in, graph `);e.nodes().forEach(function(t){e.children(t).length>0&&(f.warn(`Cluster identified`,t,` Replacement id in edges: `,F(t,e,t)),D.set(t,N(t,e)),E.set(t,{id:F(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(f.debug(`Cluster identified`,t,D),r.forEach(e=>{A(e.v,t)^A(e.w,t)&&(f.warn(`Edge: `,e,` leaves cluster `,t),f.warn(`Descendants of XXX `,t,`: `,D.get(t)),E.get(t).externalConnections=!0)})):f.debug(`Not a cluster `,t,D)});for(let t of E.keys()){let n=E.get(t).id,r=e.parent(n);r!==t&&E.has(r)&&!E.get(r).externalConnections&&(E.get(t).id=r)}e.edges().forEach(function(t){let n=e.edge(t);f.warn(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),f.warn(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(f.warn(`Fix XXX`,E,`ids:`,t.v,t.w,`Translating: `,E.get(t.v),` --- `,E.get(t.w)),E.get(t.v)||E.get(t.w)){if(f.warn(`Fixing and trying - removing XXX`,t.v,t.w,t.name),r=I(t.v),i=I(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let i=e.parent(r);E.get(i).externalConnections=!0,n.fromCluster=t.v}if(i!==t.w){let r=e.parent(i);E.get(r).externalConnections=!0,n.toCluster=t.w}f.warn(`Fix Replacing with XXX`,r,i,t.name),e.setEdge(r,i,n,t.name)}}),f.warn(`Adjusted Graph`,C(e)),R(e,0),f.trace(E)},`adjustClustersAndEdges`),R=a((e,n)=>{if(f.warn(`extractor - `,n,C(e),e.children(`D`)),n>10){f.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){f.debug(`Done, no node has children`,e.nodes());return}f.debug(`Nodes = `,r,n);for(let i of r)if(f.debug(`Extracting node`,i,E,E.has(i)&&!E.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!E.has(i))f.debug(`Not a cluster`,i,n);else if(!E.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){f.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;E.get(i)?.clusterData?.dir&&(r=E.get(i).clusterData.dir,f.warn(`Fixing dir`,E.get(i).clusterData.dir,r));let a=new t({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});f.warn(`Old graph before copy`,C(e)),M(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:E.get(i).clusterData,label:E.get(i).label,graph:a}),f.warn(`New graph after copy node: (`,i,`)`,C(a)),f.debug(`Old graph after copy`,C(e))}else f.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!E.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),f.debug(E);r=e.nodes(),f.warn(`New list of nodes`,r);for(let t of r){let r=e.node(t);f.warn(` Now next level`,t,r),r?.clusterNode&&R(r.graph,n+1)}},`extractor`),z=a((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=z(e,e.children(t));n=[...n,...r]}),n},`sorter`),B=a(e=>z(e,e.children()),`sortNodesByHierarchy`),V=a(async(e,t,n,r,c,p)=>{f.warn(`Graph in recursive render:XAX`,C(t),c);let h=t.graph().rankdir;f.trace(`Dir in recursive render - dir:`,h);let _=e.insert(`g`).attr(`class`,`root`);t.nodes()?f.info(`Recursive render XXX`,t.nodes()):f.info(`No nodes found for`,t),t.edges().length>0&&f.info(`Recursive edges`,t.edge(t.edges()[0]));let v=_.insert(`g`).attr(`class`,`clusters`),x=_.insert(`g`).attr(`class`,`edgePaths`),S=_.insert(`g`).attr(`class`,`edgeLabels`),w=_.insert(`g`).attr(`class`,`nodes`);await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(c!==void 0){let n=JSON.parse(JSON.stringify(c.clusterData));f.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,e,`
3
3
  data=`,n.height,`
4
4
  Parent cluster`,c.height),t.setNode(c.id,n),t.parent(e)||(f.trace(`Setting parent`,e,c.id),t.setParent(e,c.id,n))}if(f.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(t.node(e))),i?.clusterNode){f.info(`Cluster identified XBX`,e,i.width,t.node(e));let{ranksep:a,nodesep:o}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:a+25,nodesep:o});let s=await V(w,i.graph,n,r,t.node(e),p),c=s.elem;u(i,c),i.diff=s.diff||0,f.info(`New compound node after recursive render XAX`,e,`width`,i.width,`height`,i.height),m(c,i)}else t.children(e).length>0?(f.trace(`Cluster - the non recursive path XBX`,e,i.id,i,i.width,`Graph:`,t),f.trace(F(i.id,t)),E.set(i.id,{id:F(i.id,t),node:i})):(f.trace(`Node - the non recursive path XAX`,e,w,t.node(e),h),await l(w,t.node(e),{config:p,dir:h}))})),await a(async()=>{let e=t.edges().map(async function(e){let n=t.edge(e.v,e.w,e.name);f.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),f.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(t.edge(e))),f.info(`Fix`,E,`ids:`,e.v,e.w,`Translating: `,E.get(e.v),E.get(e.w)),await s(S,n)});await Promise.all(e)},`processEdges`)(),f.info(`Graph before layout:`,JSON.stringify(C(t))),f.info(`############################################# XXX`),f.info(`### Layout ### XXX`),f.info(`############################################# XXX`),i(t),f.info(`Graph after layout:`,JSON.stringify(C(t)));let T=0,{subGraphTitleTotalMargin:D}=o(p);return await Promise.all(B(t).map(async function(e){let n=t.node(e);if(f.info(`Position XBX => `+e+`: (`+n.x,`,`+n.y,`) width: `,n.width,` height: `,n.height),n?.clusterNode)n.y+=D,f.info(`A tainted cluster node XBX1`,e,n.id,n.width,n.height,n.x,n.y,t.parent(e)),E.get(n.id).node=n,g(n);else if(t.children(e).length>0){f.info(`A pure cluster node XBX1`,e,n.id,n.x,n.y,n.width,n.height,t.parent(e)),n.height+=D,t.node(n.parentId);let r=n?.padding/2||0,i=n?.labelBBox?.height||0,a=i-r||0;f.debug(`OffsetY`,a,`labelHeight`,i,`halfPadding`,r),await b(v,n),E.get(n.id).node=n}else{let e=t.node(n.parentId);n.y+=D/2,f.info(`A regular node XBX1 - using the padding`,n.id,`parent`,n.parentId,n.width,n.height,n.x,n.y,`offsetY`,n.offsetY,`parent`,e,e?.offsetY,n),g(n)}})),t.edges().forEach(function(e){let i=t.edge(e);f.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(i),i),i.points.forEach(e=>e.y+=D/2),y(i,d(x,i,E,n,t.node(e.v),t.node(e.w),r))}),t.nodes().forEach(function(e){let n=t.node(e);f.info(e,n.type,n.diff),n.isGroup&&(T=n.diff)}),f.warn(`Returning from recursive render XAX`,_,T),{elem:_,diff:T}},`recursiveRender`),H=a(async(e,n)=>{let r=new t({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{}}),i=n.select(`g`);h(i,e.markers,e.type,e.diagramId),p(),_(),c(),k(),e.nodes.forEach(e=>{r.setNode(e.id,{...e}),e.parentId&&r.setParent(e.id,e.parentId)}),f.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,n=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=r.node(t);r.setNode(n,{domId:n,id:n,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),r.setParent(n,a.parentId),r.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),r.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e);o.label=``,o.arrowTypeEnd=`none`,o.endLabelLeft=``,o.endLabelRight=``,o.startLabelLeft=``,o.id=t+`-cyclic-special-1`,s.startLabelRight=``,s.startLabelLeft=``,s.endLabelLeft=``,s.endLabelRight=``,s.arrowTypeStart=`none`,s.arrowTypeEnd=`none`,s.id=t+`-cyclic-special-mid`,c.label=``,c.startLabelRight=``,c.startLabelLeft=``,c.arrowTypeStart=`none`,a.isGroup&&(o.fromCluster=t,c.toCluster=t),c.id=t+`-cyclic-special-2`,c.arrowTypeStart=`none`,r.setEdge(t,n,o,t+`-cyclic-special-0`),r.setEdge(n,i,s,t+`-cyclic-special-1`),r.setEdge(i,t,c,t+`-cyc<lic-special-2`)}else r.setEdge(e.start,e.end,{...e},e.id)}),f.warn(`Graph at first:`,JSON.stringify(C(r))),L(r),f.warn(`Graph after XAX:`,JSON.stringify(C(r)));let a=v();await V(i,r,e.type,e.diagramId,void 0,a)},`render`);export{H as render};
@@ -1,4 +1,4 @@
1
- import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,on as p,tn as m}from"./index-Czi2sVlL.js";import{t as h}from"./mermaid-parser.core-DedvXRIg.js";import{t as g}from"./chunk-4BX2VUAB-DeAmcro3.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v={axes:[],curves:[],options:_},y=structuredClone(v),b=e.radar,x=n(()=>c({...b,...f().radar}),`getConfig`),S=n(()=>y.axes,`getAxes`),C=n(()=>y.curves,`getCurves`),w=n(()=>y.options,`getOptions`),T=n(e=>{y.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),E=n(e=>{y.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:D(e.entries)}))},`setCurves`),D=n(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=S();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),O={getAxes:S,getCurves:C,getOptions:w,setAxes:T,setCurves:E,setOptions:n(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});y.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule}},`setOptions`),getConfig:x,clear:n(()=>{t(),y=structuredClone(v)},`clear`),setAccTitle:o,getAccTitle:m,setDiagramTitle:i,getDiagramTitle:s,getAccDescription:a,setAccDescription:u},k=n(e=>{g(e,O);let{axes:t,curves:n,options:r}=e;O.setAxes(t),O.setCurves(n),O.setOptions(r)},`populate`),A={parse:n(async e=>{let t=await h(`radar`,e);l.debug(t),k(t)},`parse`)},j=n((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=M(d(t),c),f=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),p=s.min,m=Math.min(c.width,c.height)/2;N(u,a,m,s.ticks,s.graticule),P(u,a,m,c),F(u,a,o,p,f,s.graticule,c),R(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),M=n((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,i=t.height+t.marginTop+t.marginBottom,a={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return r(e,i,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${i}`),e.append(`g`).attr(`transform`,`translate(${a.x}, ${a.y})`)},`drawFrame`),N=n((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),P=n((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2;e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*Math.cos(s)).attr(`y2`,n*r.axisScaleFactor*Math.sin(s)).attr(`class`,`radarAxisLine`),e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*Math.cos(s)).attr(`y`,n*r.axisLabelFactor*Math.sin(s)).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function F(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=I(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,L(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}n(F,`drawCurves`);function I(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}n(I,`relativeRadius`);function L(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}n(L,`closedRoundCurve`);function R(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}n(R,`drawLegend`);var z={draw:j},B=n((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
1
+ import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,on as p,tn as m}from"./index-D3M38wf4.js";import{t as h}from"./mermaid-parser.core-E4GbSOma.js";import{t as g}from"./chunk-4BX2VUAB-CYSoYAWK.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v={axes:[],curves:[],options:_},y=structuredClone(v),b=e.radar,x=n(()=>c({...b,...f().radar}),`getConfig`),S=n(()=>y.axes,`getAxes`),C=n(()=>y.curves,`getCurves`),w=n(()=>y.options,`getOptions`),T=n(e=>{y.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),E=n(e=>{y.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:D(e.entries)}))},`setCurves`),D=n(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=S();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),O={getAxes:S,getCurves:C,getOptions:w,setAxes:T,setCurves:E,setOptions:n(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});y.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule}},`setOptions`),getConfig:x,clear:n(()=>{t(),y=structuredClone(v)},`clear`),setAccTitle:o,getAccTitle:m,setDiagramTitle:i,getDiagramTitle:s,getAccDescription:a,setAccDescription:u},k=n(e=>{g(e,O);let{axes:t,curves:n,options:r}=e;O.setAxes(t),O.setCurves(n),O.setOptions(r)},`populate`),A={parse:n(async e=>{let t=await h(`radar`,e);l.debug(t),k(t)},`parse`)},j=n((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=M(d(t),c),f=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),p=s.min,m=Math.min(c.width,c.height)/2;N(u,a,m,s.ticks,s.graticule),P(u,a,m,c),F(u,a,o,p,f,s.graticule,c),R(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),M=n((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,i=t.height+t.marginTop+t.marginBottom,a={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return r(e,i,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${i}`),e.append(`g`).attr(`transform`,`translate(${a.x}, ${a.y})`)},`drawFrame`),N=n((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),P=n((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2;e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*Math.cos(s)).attr(`y2`,n*r.axisScaleFactor*Math.sin(s)).attr(`class`,`radarAxisLine`),e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*Math.cos(s)).attr(`y`,n*r.axisLabelFactor*Math.sin(s)).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function F(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=I(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,L(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}n(F,`drawCurves`);function I(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}n(I,`relativeRadius`);function L(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}n(L,`closedRoundCurve`);function R(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}n(R,`drawLegend`);var z={draw:j},B=n((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
2
2
  .radarCurve-${r} {
3
3
  color: ${i};
4
4
  fill: ${i};
@@ -1,4 +1,4 @@
1
- import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,tn as p}from"./index-Czi2sVlL.js";import{t as m}from"./mermaid-parser.core-DedvXRIg.js";import{t as h}from"./chunk-4BX2VUAB-DeAmcro3.js";import{t as g}from"./chunk-QZHKN3VN-BZ-TNixB.js";var _=new g(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,children:[]}]})),v=n(()=>{_.reset(),t()},`clear`),y=n(()=>_.records.stack[0],`getRoot`),b=n(()=>_.records.cnt,`getCount`),x=e.treeView,S={clear:v,addNode:n((e,t)=>{for(;e<=_.records.stack[_.records.stack.length-1].level;)_.records.stack.pop();let n={id:_.records.cnt++,level:e,name:t,children:[]};_.records.stack[_.records.stack.length-1].children.push(n),_.records.stack.push(n)},`addNode`),getRoot:y,getCount:b,getConfig:n(()=>c(x,f().treeView),`getConfig`),getAccTitle:p,getAccDescription:a,getDiagramTitle:s,setAccDescription:u,setAccTitle:o,setDiagramTitle:i},C=n(e=>{h(e,S),e.nodes.map(e=>S.addNode(e.indent?parseInt(e.indent):0,e.name))},`populate`),w={parse:n(async e=>{let t=await m(`treeView`,e);l.debug(t),C(t)},`parse`)},T=n((e,t,n,r,i)=>{let a=r.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-label`),{height:o,width:s}=a.node().getBBox(),c=o+i.paddingY*2,l=s+i.paddingX*2;a.attr(`x`,e+i.paddingX),a.attr(`y`,t+c/2),n.BBox={x:e,y:t,width:l,height:c}},`positionLabel`),E=n((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),D=n((e,t,r)=>{let i=0,a=0,o=n((e,t,n,r)=>{let o=r*(n.rowIndent+n.paddingX);T(o,i,t,e,n);let{height:s,width:c}=t.BBox;E(e,o-n.rowIndent,i+s/2,o,i+s/2,n.lineThickness),a=Math.max(a,o+c),i+=s},`drawNode`),s=n((t,n=0)=>{o(e,t,r,n),t.children.forEach(e=>{s(e,n+1)});let{x:i,y:a,height:c}=t.BBox;if(t.children.length){let{y:n,height:o}=t.children[t.children.length-1].BBox;E(e,i+r.paddingX,a+c,i+r.paddingX,n+o/2+r.lineThickness/2,r.lineThickness)}},`processNode`);return s(t),{totalHeight:i,totalWidth:a}},`drawTree`),O={draw:n((e,t,n,i)=>{l.debug(`Rendering treeView diagram
1
+ import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,tn as p}from"./index-D3M38wf4.js";import{t as m}from"./mermaid-parser.core-E4GbSOma.js";import{t as h}from"./chunk-4BX2VUAB-CYSoYAWK.js";import{t as g}from"./chunk-QZHKN3VN-qjaIE4NP.js";var _=new g(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,children:[]}]})),v=n(()=>{_.reset(),t()},`clear`),y=n(()=>_.records.stack[0],`getRoot`),b=n(()=>_.records.cnt,`getCount`),x=e.treeView,S={clear:v,addNode:n((e,t)=>{for(;e<=_.records.stack[_.records.stack.length-1].level;)_.records.stack.pop();let n={id:_.records.cnt++,level:e,name:t,children:[]};_.records.stack[_.records.stack.length-1].children.push(n),_.records.stack.push(n)},`addNode`),getRoot:y,getCount:b,getConfig:n(()=>c(x,f().treeView),`getConfig`),getAccTitle:p,getAccDescription:a,getDiagramTitle:s,setAccDescription:u,setAccTitle:o,setDiagramTitle:i},C=n(e=>{h(e,S),e.nodes.map(e=>S.addNode(e.indent?parseInt(e.indent):0,e.name))},`populate`),w={parse:n(async e=>{let t=await m(`treeView`,e);l.debug(t),C(t)},`parse`)},T=n((e,t,n,r,i)=>{let a=r.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-label`),{height:o,width:s}=a.node().getBBox(),c=o+i.paddingY*2,l=s+i.paddingX*2;a.attr(`x`,e+i.paddingX),a.attr(`y`,t+c/2),n.BBox={x:e,y:t,width:l,height:c}},`positionLabel`),E=n((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),D=n((e,t,r)=>{let i=0,a=0,o=n((e,t,n,r)=>{let o=r*(n.rowIndent+n.paddingX);T(o,i,t,e,n);let{height:s,width:c}=t.BBox;E(e,o-n.rowIndent,i+s/2,o,i+s/2,n.lineThickness),a=Math.max(a,o+c),i+=s},`drawNode`),s=n((t,n=0)=>{o(e,t,r,n),t.children.forEach(e=>{s(e,n+1)});let{x:i,y:a,height:c}=t.BBox;if(t.children.length){let{y:n,height:o}=t.children[t.children.length-1].BBox;E(e,i+r.paddingX,a+c,i+r.paddingX,n+o/2+r.lineThickness/2,r.lineThickness)}},`processNode`);return s(t),{totalHeight:i,totalWidth:a}},`drawTree`),O={draw:n((e,t,n,i)=>{l.debug(`Rendering treeView diagram
2
2
  `+e);let a=i.db,o=a.getRoot(),s=a.getConfig(),c=d(t),u=c.append(`g`);u.attr(`class`,`tree-view`);let{totalHeight:f,totalWidth:p}=D(u,o,s);c.attr(`viewBox`,`-${s.lineThickness/2} 0 ${p} ${f}`),r(c,f,p,s.useMaxWidth)},`draw`)},k={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`},A={db:S,renderer:O,parser:w,styles:n(({treeView:e})=>{let{labelFontSize:t,labelColor:n,lineColor:r}=c(k,e);return`
3
3
  .treeView-node-label {
4
4
  font-size: ${t};
@@ -1,3 +1,3 @@
1
- import{$t as e,E as t,Gt as n,Jt as r,L as i,On as a,_n as o,en as s,hn as c,in as l,k as u,kn as d,mn as f,nn as p,pn as m,rn as h,tn as g,yn as _}from"./index-Czi2sVlL.js";import{S as ee,t as te}from"./mermaid-parser.core-DedvXRIg.js";import{t as ne}from"./chunk-4BX2VUAB-DeAmcro3.js";var v=`position frame`,y=`frame positioned`,b=`position relation`,x=`relation positioned`,re=a(function(e){d.debug(`options str`,e)},`setOptions`),ie=a(function(){return{}},`getOptions`),ae=a(function(){S(),r()},`clear`);function S(){C={}}a(S,`reset`);var oe=e.eventmodeling,se=a(()=>u({...oe,...p().eventmodeling}),`getConfig`),C={};function w(){let e=ce,{ast:t}=C,n=D();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((r,i)=>{let a=P(r,t.dataEntities,n);e=J(e,{$kind:v,index:i,frame:r,textProps:a});let o;V(r)?(d.debug(`source frame`,r.sourceFrames),o=t.frames.filter(e=>r.sourceFrames.some(t=>t.$refText===e.name)),o.forEach(t=>{e=J(e,{$kind:b,index:i,frame:r,sourceFrame:t})})):e=J(e,{$kind:b,index:i,frame:r})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}a(w,`getState`);function T(e){C.ast=e}a(T,`setAst`);var E={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 D(){return E}a(D,`getDiagramProps`);var ce={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function O(e){let t=e.split(`.`);if(t.length===2)return t[0]}a(O,`extractNamespace`);function k(e){let t=e.split(`.`);return t.length===2?t[1]:e}a(k,`extractName`);function A(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}a(A,`findSwimlaneByNamespace`);function j(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}a(j,`findNextAvailableIndex`);function M(e,t){let n=O(e.entityIdentifier),r=A(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||E.labelUiAutomation}:n?{index:j(t,0,100),label:E.labelUiAutomationPrefix+n}:{index:0,label:E.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||E.labelCommandReadModel}:n?{index:j(t,100,200),label:E.labelCommandReadModelPrefix+n}:{index:100,label:E.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||E.labelEvents}:n?{index:j(t,200,300),label:E.labelEventsPrefix+n}:{index:200,label:E.labelEvents}}}a(M,`calculateSwimlaneProps`);function N(e){let{themeVariables:t}=p();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}a(N,`calculateEntityVisualProps`);function P(e,n,r){let a=p(),o=m(k(e.entityIdentifier)??``,a),s,c={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},l=`<b>${i(o,r.textMaxWidth,c)}</b>`;if(e.dataInlineValue&&(s=e.dataInlineValue,s=s.substring(s.indexOf(`{`)+1),s=s.substring(0,s.lastIndexOf(`}`)-1),s=m(s,a),s=i(s,r.textMaxWidth,c),s=s.replaceAll(` `,`&nbsp;`)),e.dataReference){let t=n.find(t=>t.name===e.dataReference?.$refText);t&&(s=t.dataBlockValue,s=s.substring(s.indexOf(`{
1
+ import{$t as e,E as t,Gt as n,Jt as r,L as i,On as a,_n as o,en as s,hn as c,in as l,k as u,kn as d,mn as f,nn as p,pn as m,rn as h,tn as g,yn as _}from"./index-D3M38wf4.js";import{S as ee,t as te}from"./mermaid-parser.core-E4GbSOma.js";import{t as ne}from"./chunk-4BX2VUAB-CYSoYAWK.js";var v=`position frame`,y=`frame positioned`,b=`position relation`,x=`relation positioned`,re=a(function(e){d.debug(`options str`,e)},`setOptions`),ie=a(function(){return{}},`getOptions`),ae=a(function(){S(),r()},`clear`);function S(){C={}}a(S,`reset`);var oe=e.eventmodeling,se=a(()=>u({...oe,...p().eventmodeling}),`getConfig`),C={};function w(){let e=ce,{ast:t}=C,n=D();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((r,i)=>{let a=P(r,t.dataEntities,n);e=J(e,{$kind:v,index:i,frame:r,textProps:a});let o;V(r)?(d.debug(`source frame`,r.sourceFrames),o=t.frames.filter(e=>r.sourceFrames.some(t=>t.$refText===e.name)),o.forEach(t=>{e=J(e,{$kind:b,index:i,frame:r,sourceFrame:t})})):e=J(e,{$kind:b,index:i,frame:r})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}a(w,`getState`);function T(e){C.ast=e}a(T,`setAst`);var E={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 D(){return E}a(D,`getDiagramProps`);var ce={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function O(e){let t=e.split(`.`);if(t.length===2)return t[0]}a(O,`extractNamespace`);function k(e){let t=e.split(`.`);return t.length===2?t[1]:e}a(k,`extractName`);function A(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}a(A,`findSwimlaneByNamespace`);function j(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}a(j,`findNextAvailableIndex`);function M(e,t){let n=O(e.entityIdentifier),r=A(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||E.labelUiAutomation}:n?{index:j(t,0,100),label:E.labelUiAutomationPrefix+n}:{index:0,label:E.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||E.labelCommandReadModel}:n?{index:j(t,100,200),label:E.labelCommandReadModelPrefix+n}:{index:100,label:E.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||E.labelEvents}:n?{index:j(t,200,300),label:E.labelEventsPrefix+n}:{index:200,label:E.labelEvents}}}a(M,`calculateSwimlaneProps`);function N(e){let{themeVariables:t}=p();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}a(N,`calculateEntityVisualProps`);function P(e,n,r){let a=p(),o=m(k(e.entityIdentifier)??``,a),s,c={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},l=`<b>${i(o,r.textMaxWidth,c)}</b>`;if(e.dataInlineValue&&(s=e.dataInlineValue,s=s.substring(s.indexOf(`{`)+1),s=s.substring(0,s.lastIndexOf(`}`)-1),s=m(s,a),s=i(s,r.textMaxWidth,c),s=s.replaceAll(` `,`&nbsp;`)),e.dataReference){let t=n.find(t=>t.name===e.dataReference?.$refText);t&&(s=t.dataBlockValue,s=s.substring(s.indexOf(`{
2
2
  `)+2),s=s.substring(0,s.lastIndexOf(`}`)-1),s=m(s,a),s=i(s,r.textMaxWidth,c),s=s.replaceAll(` `,`&nbsp;`),s+=`<br/>`)}let u=s!==void 0;u&&(l+=`<br/><br/><code style="text-align: left; display: block;max-width:${r.textMaxWidth}px">${s}</code>`);let f={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},h=t(l,f),g=u?h.width/3:h.width,_={content:l,width:g,height:h.height};return d.debug(`[${e.name}] ${e.entityIdentifier} text`,_),_}a(P,`calculateTextProps`);function F(e,t){let n=t,r=N(n.frame),i={width:n.textProps.width+2*E.boxTextPadding,height:n.textProps.height+2*E.boxTextPadding};return[{$kind:y,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}a(F,`decidePositionFrame`);function I(e,t,n){return t===void 0?E.contentStartX:t.index===e.index&&e.r?e.r+E.boxPadding:n===void 0?E.contentStartX:n.r-E.boxOverlap+E.boxPadding}a(I,`calculateX`);function L(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}a(L,`calculateMaxRight`);function R(e){return Object.values(e).sort((e,t)=>e.index-t.index)}a(R,`sortedSwimlanesArray`);function z(e,t){let n=t,r=M(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*E.swimlaneMinHeight+E.swimlaneGap,height:E.swimlaneMinHeight,maxHeight:E.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(E.boxMinWidth,Math.min(E.boxMaxWidth,n.dimension.width))+2*E.boxPadding,height:Math.max(E.boxMinHeight,Math.min(E.boxMaxHeight,n.dimension.height))+2*E.boxPadding},c=I(i,o,a),l=c+s.width+E.boxPadding,u=L(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(E.swimlaneMinHeight,i.maxHeight)+2*E.swimlanePadding;let d={x:c,y:E.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=R(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+E.swimlaneGap}return f}a(z,`evolveFramePositioned`);function B(e,t){return e===0&&t.sourceFrames.length===0}a(B,`isFirstFrame`);function V(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}a(V,`hasSourceFrame`);function H(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}a(H,`findBoxByFrame`);function U(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}a(U,`findBoxByLineIndex`);function W(e,t){let n=t;if(ee(n.frame)||B(n.index,n.frame))return[];let r=H(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let i;return i=n.sourceFrame?H(e.boxes,n.sourceFrame):U(e.boxes,r.swimlane.index,n.index-1),i===void 0?[]:[{$kind:x,frame:n.frame,index:n.index,sourceBox:i,targetBox:r}]}a(W,`decidePositionRelation`);function G(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}a(G,`evolveRelationPositioned`);var le={[v]:F,[b]:W},ue={[y]:z,[x]:G};function K(e,t){let n=le[t.$kind];if(n==null)return[];let r=n(e,t);return d.debug(`decided events`,r),r}a(K,`decide`);function q(e,t){let n=t.reduce((e,t)=>{let n=ue[t.$kind];return n==null?e:n(e,t)},e);return d.debug(`evolve events`,{state:e,newState:n,events:t}),n}a(q,`evolve`);function J(e,t){return q(e,K(e,t))}a(J,`dispatch`);var Y={getConfig:se,setOptions:re,getOptions:ie,clear:ae,setAccTitle:c,getAccTitle:g,getAccDescription:s,setAccDescription:f,setDiagramTitle:o,getDiagramTitle:l,setAst:T,getDiagramProps:D,getState:w},de={parse:a(async e=>{let t=await te(`eventmodeling`,e);d.debug(t),Y.setAst(t),ne(t,Y)},`parse`)},fe=h()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.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(n.text)}}a(X,`renderD3Box`);function Z(e,t){return e>t}a(Z,`dirUpwards`);function Q(e,t,n,r){return i=>{let a=i.sourceBox.swimlane.y+t.swimlanePadding,o=i.targetBox.swimlane.y+t.swimlanePadding,s=Z(a,o),c=i.sourceBox.x+i.sourceBox.dimension.width*2/3,l=i.targetBox.x+i.targetBox.dimension.width/3,u,f;d.debug(`rendering relation up=${s} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),s?(u=a,f=o+i.targetBox.dimension.height):(u=a+i.sourceBox.dimension.height,f=o);let p=r.emRelationStroke??i.visual.stroke;e.append(`path`).attr(`class`,`em-relation`).attr(`fill`,i.visual.fill).attr(`stroke`,p).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${n})`).attr(`d`,`M${c} ${u} L${l} ${f}`)}}a(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}a($,`renderD3Swimlane`);var pe={parser:de,db:Y,renderer:{draw:a(function(e,t,r,i){if(d.debug(`in eventmodeling renderer`,e+`
3
3
  `,`id:`,t,r),!fe)throw Error(`EventModeling config not found`);let a=i.db,{themeVariables:o,eventmodeling:s}=h(),c=n(`[id="${t}"]`),l=a.getDiagramProps(),u=a.getState(),f=`em-arrowhead-${t}`,p=o.emArrowhead??`#000000`;u.sortedSwimlanesArray.forEach($(c,u.maxR,l,o)),u.boxes.forEach(X(c,l)),u.relations.forEach(Q(c,l,f,o)),c.append(`defs`).append(`marker`).attr(`id`,f).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`,p),_(void 0,c,s?.padding??30,s?.useMaxWidth)},`draw`)},styles:a(e=>``,`getStyles`)};export{pe as diagram};
@@ -1,4 +1,4 @@
1
- import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,tn as p}from"./index-Czi2sVlL.js";import{t as m}from"./mermaid-parser.core-DedvXRIg.js";import{t as h}from"./chunk-4BX2VUAB-DeAmcro3.js";var g=e.packet,_=class{constructor(){this.packet=[],this.setAccTitle=o,this.getAccTitle=p,this.setDiagramTitle=i,this.getDiagramTitle=s,this.getAccDescription=a,this.setAccDescription=u}static{n(this,`PacketDB`)}getConfig(){let e=c({...g,...f().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){t(),this.packet=[]}},v=1e4,y=n((e,t)=>{h(e,t);let n=-1,r=[],i=1,{bitsPerRow:a}=t.getConfig();for(let{start:o,end:s,bits:c,label:u}of e.blocks){if(o!==void 0&&s!==void 0&&s<o)throw Error(`Packet block ${o} - ${s} is invalid. End must be greater than start.`);if(o??=n+1,o!==n+1)throw Error(`Packet block ${o} - ${s??o} is not contiguous. It should start from ${n+1}.`);if(c===0)throw Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(s??=o+(c??1)-1,c??=s-o+1,n=s,l.debug(`Packet block ${o} - ${n} with label ${u}`);r.length<=a+1&&t.getPacket().length<v;){let[e,n]=b({start:o,end:s,bits:c,label:u},i,a);if(r.push(e),e.end+1===i*a&&(t.pushWord(r),r=[],i++),!n)break;({start:o,end:s,bits:c,label:u}=n)}}t.pushWord(r)},`populate`),b=n((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:n(async e=>{let t=await m(`packet`,e),n=x.parser?.yy;if(!(n instanceof _))throw 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.`);l.debug(t),y(t,n)},`parse`)},S=n((e,t,n,i)=>{let a=i.db,o=a.getConfig(),{rowHeight:s,paddingY:c,bitWidth:l,bitsPerRow:u}=o,f=a.getPacket(),p=a.getDiagramTitle(),m=s+c,h=m*(f.length+1)-(p?0:s),g=l*u+2,_=d(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),r(_,h,g,o.useMaxWidth);for(let[e,t]of f.entries())C(_,t,e,o);_.append(`text`).text(p).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=n((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:n(({packet:e}={})=>{let t=c(T,e);return`
1
+ import{$t as e,Jt as t,On as n,Zt as r,_n as i,en as a,hn as o,in as s,k as c,kn as l,mn as u,mt as d,nn as f,tn as p}from"./index-D3M38wf4.js";import{t as m}from"./mermaid-parser.core-E4GbSOma.js";import{t as h}from"./chunk-4BX2VUAB-CYSoYAWK.js";var g=e.packet,_=class{constructor(){this.packet=[],this.setAccTitle=o,this.getAccTitle=p,this.setDiagramTitle=i,this.getDiagramTitle=s,this.getAccDescription=a,this.setAccDescription=u}static{n(this,`PacketDB`)}getConfig(){let e=c({...g,...f().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){t(),this.packet=[]}},v=1e4,y=n((e,t)=>{h(e,t);let n=-1,r=[],i=1,{bitsPerRow:a}=t.getConfig();for(let{start:o,end:s,bits:c,label:u}of e.blocks){if(o!==void 0&&s!==void 0&&s<o)throw Error(`Packet block ${o} - ${s} is invalid. End must be greater than start.`);if(o??=n+1,o!==n+1)throw Error(`Packet block ${o} - ${s??o} is not contiguous. It should start from ${n+1}.`);if(c===0)throw Error(`Packet block ${o} is invalid. Cannot have a zero bit field.`);for(s??=o+(c??1)-1,c??=s-o+1,n=s,l.debug(`Packet block ${o} - ${n} with label ${u}`);r.length<=a+1&&t.getPacket().length<v;){let[e,n]=b({start:o,end:s,bits:c,label:u},i,a);if(r.push(e),e.end+1===i*a&&(t.pushWord(r),r=[],i++),!n)break;({start:o,end:s,bits:c,label:u}=n)}}t.pushWord(r)},`populate`),b=n((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:n(async e=>{let t=await m(`packet`,e),n=x.parser?.yy;if(!(n instanceof _))throw 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.`);l.debug(t),y(t,n)},`parse`)},S=n((e,t,n,i)=>{let a=i.db,o=a.getConfig(),{rowHeight:s,paddingY:c,bitWidth:l,bitsPerRow:u}=o,f=a.getPacket(),p=a.getDiagramTitle(),m=s+c,h=m*(f.length+1)-(p?0:s),g=l*u+2,_=d(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),r(_,h,g,o.useMaxWidth);for(let[e,t]of f.entries())C(_,t,e,o);_.append(`text`).text(p).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=n((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:n(({packet:e}={})=>{let t=c(T,e);return`
2
2
  .packetByte {
3
3
  font-size: ${t.byteFontSize};
4
4
  }
@@ -1,4 +1,4 @@
1
- import{t as e}from"./ordinal-hYBb2elL.js";import{t}from"./defaultLocale-C8Fc0cco.js";import{$t as n,C as r,Gt as i,Jt as a,On as o,S as s,Zt as c,_n as l,en as u,hn as d,in as f,k as p,kn as m,mn as h,mt as g,nn as _,on as v,tn as y}from"./index-Czi2sVlL.js";import{t as b}from"./mermaid-parser.core-DedvXRIg.js";import{t as x}from"./chunk-4BX2VUAB-DeAmcro3.js";import{t as S}from"./chunk-2J33WTMH-eTp7ioqm.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=d,this.getAccTitle=y,this.setDiagramTitle=l,this.getDiagramTitle=f,this.getAccDescription=u,this.setAccDescription=h}static{o(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=n,t=_();return p({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{s(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){a(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}o(X,`buildHierarchy`);var oe=o((e,t)=>{x(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=se(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=X(n),i=o((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),se=o(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:o(async e=>{try{let t=await b(`treemap`,e);m.debug(`Treemap AST:`,t);let n=Z.parser?.yy;if(!(n instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(t,n)}catch(e){throw m.error(`Error parsing treemap:`,e),e}},`parse`)},ce=10,Q=10,$=25,le={draw:o((n,a,s,l)=>{let u=l.db,d=u.getConfig(),f=d.padding??ce,p=u.getDiagramTitle(),h=u.getRoot(),{themeVariables:v}=_();if(!h)return;let y=p?30:0,b=g(a),x=d.nodeWidth?d.nodeWidth*Q:960,C=d.nodeHeight?d.nodeHeight*Q:500,w=x,T=C+y;b.attr(`viewBox`,`0 0 ${w} ${T}`),c(b,T,w,d.useMaxWidth);let E;try{let e=d.valueFormat||`,`;if(e===`$0,0`)E=o(e=>`$`+t(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=o(e=>`$`+t(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=o(e=>`$`+t(n||``)(e),`valueFormat`)}else E=t(e)}catch(e){m.error(`Error creating format function:`,e),E=t(`,`)}let D=e().range([`transparent`,v.cScale0,v.cScale1,v.cScale2,v.cScale3,v.cScale4,v.cScale5,v.cScale6,v.cScale7,v.cScale8,v.cScale9,v.cScale10,v.cScale11]),O=e().range([`transparent`,v.cScalePeer0,v.cScalePeer1,v.cScalePeer2,v.cScalePeer3,v.cScalePeer4,v.cScalePeer5,v.cScalePeer6,v.cScalePeer7,v.cScalePeer8,v.cScalePeer9,v.cScalePeer10,v.cScalePeer11]),k=e().range([v.cScaleLabel0,v.cScaleLabel1,v.cScaleLabel2,v.cScaleLabel3,v.cScaleLabel4,v.cScaleLabel5,v.cScaleLabel6,v.cScaleLabel7,v.cScaleLabel8,v.cScaleLabel9,v.cScaleLabel10,v.cScaleLabel11]);p&&b.append(`text`).attr(`x`,w/2).attr(`y`,y/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(p);let A=b.append(`g`).attr(`transform`,`translate(0, ${y})`).attr(`class`,`treemapContainer`),j=R(h).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(f).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${a}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=r({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=d.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),d.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>r({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${a}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-8,s=r-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),d.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),S(b,d.diagramPadding??8,`flowchart`,d?.useMaxWidth||!1)},`draw`),getClasses:o(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:o(({treemap:e}={})=>{let t=p(v(),_().themeVariables),n=p(ue,e),r=n.titleColor??t.titleColor,i=n.labelColor??t.textColor,a=n.valueColor??t.textColor;return`
1
+ import{t as e}from"./ordinal-hYBb2elL.js";import{t}from"./defaultLocale-C8Fc0cco.js";import{$t as n,C as r,Gt as i,Jt as a,On as o,S as s,Zt as c,_n as l,en as u,hn as d,in as f,k as p,kn as m,mn as h,mt as g,nn as _,on as v,tn as y}from"./index-D3M38wf4.js";import{t as b}from"./mermaid-parser.core-E4GbSOma.js";import{t as x}from"./chunk-4BX2VUAB-CYSoYAWK.js";import{t as S}from"./chunk-2J33WTMH-DvEeoM9J.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=d,this.getAccTitle=y,this.setDiagramTitle=l,this.getDiagramTitle=f,this.getAccDescription=u,this.setAccDescription=h}static{o(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=n,t=_();return p({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{s(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){a(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}o(X,`buildHierarchy`);var oe=o((e,t)=>{x(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=se(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=X(n),i=o((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),se=o(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:o(async e=>{try{let t=await b(`treemap`,e);m.debug(`Treemap AST:`,t);let n=Z.parser?.yy;if(!(n instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(t,n)}catch(e){throw m.error(`Error parsing treemap:`,e),e}},`parse`)},ce=10,Q=10,$=25,le={draw:o((n,a,s,l)=>{let u=l.db,d=u.getConfig(),f=d.padding??ce,p=u.getDiagramTitle(),h=u.getRoot(),{themeVariables:v}=_();if(!h)return;let y=p?30:0,b=g(a),x=d.nodeWidth?d.nodeWidth*Q:960,C=d.nodeHeight?d.nodeHeight*Q:500,w=x,T=C+y;b.attr(`viewBox`,`0 0 ${w} ${T}`),c(b,T,w,d.useMaxWidth);let E;try{let e=d.valueFormat||`,`;if(e===`$0,0`)E=o(e=>`$`+t(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=o(e=>`$`+t(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=o(e=>`$`+t(n||``)(e),`valueFormat`)}else E=t(e)}catch(e){m.error(`Error creating format function:`,e),E=t(`,`)}let D=e().range([`transparent`,v.cScale0,v.cScale1,v.cScale2,v.cScale3,v.cScale4,v.cScale5,v.cScale6,v.cScale7,v.cScale8,v.cScale9,v.cScale10,v.cScale11]),O=e().range([`transparent`,v.cScalePeer0,v.cScalePeer1,v.cScalePeer2,v.cScalePeer3,v.cScalePeer4,v.cScalePeer5,v.cScalePeer6,v.cScalePeer7,v.cScalePeer8,v.cScalePeer9,v.cScalePeer10,v.cScalePeer11]),k=e().range([v.cScaleLabel0,v.cScaleLabel1,v.cScaleLabel2,v.cScaleLabel3,v.cScaleLabel4,v.cScaleLabel5,v.cScaleLabel6,v.cScaleLabel7,v.cScaleLabel8,v.cScaleLabel9,v.cScaleLabel10,v.cScaleLabel11]);p&&b.append(`text`).attr(`x`,w/2).attr(`y`,y/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(p);let A=b.append(`g`).attr(`transform`,`translate(0, ${y})`).attr(`class`,`treemapContainer`),j=R(h).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(f).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${a}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=r({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=d.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),d.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>r({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${a}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-8,s=r-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),d.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+r({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),S(b,d.diagramPadding??8,`flowchart`,d?.useMaxWidth||!1)},`draw`),getClasses:o(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:o(({treemap:e}={})=>{let t=p(v(),_().themeVariables),n=p(ue,e),r=n.titleColor??t.titleColor,i=n.labelColor??t.textColor,a=n.valueColor??t.textColor;return`
2
2
  .treemapNode.section {
3
3
  stroke: ${n.sectionStrokeColor};
4
4
  stroke-width: ${n.sectionStrokeWidth};