@marimo-team/frontend 0.10.20-dev5 → 0.10.20-dev7

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 (83) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-yFFb96iT.js → ConnectedDataExplorerComponent-PT241s9s.js} +1 -1
  2. package/dist/assets/{VegaLite-BNxMm-Co.js → VegaLite-BP0pseq3.js} +1 -1
  3. package/dist/assets/{_baseEach-DIjafkx3.js → _baseEach-DTAAvc0j.js} +1 -1
  4. package/dist/assets/_baseMap-DA6uSGd8.js +1 -0
  5. package/dist/assets/{_baseUniq-DCqXUnel.js → _baseUniq-D0mt6Nkw.js} +1 -1
  6. package/dist/assets/{any-language-editor-OaIqFa3A.js → any-language-editor-76Ce6BDI.js} +1 -1
  7. package/dist/assets/{architectureDiagram-IFBEXTG3-C_LynsMm.js → architectureDiagram-IFBEXTG3-DuiGNA3m.js} +1 -1
  8. package/dist/assets/{blockDiagram-TCMKQVZ6-BkJ8w2Km.js → blockDiagram-TCMKQVZ6-CU7RFV-3.js} +1 -1
  9. package/dist/assets/{c4Diagram-ZCSEYPFN-DCMk7PQb.js → c4Diagram-ZCSEYPFN-BMYAF5DJ.js} +1 -1
  10. package/dist/assets/channel-BoXCWD92.js +1 -0
  11. package/dist/assets/{chunk-4LC2V6XN-CiaN7Ln3.js → chunk-4LC2V6XN-BCddnwDz.js} +1 -1
  12. package/dist/assets/{chunk-5RIWM3LS-CtcIAtfH.js → chunk-5RIWM3LS-DVEKLlJ6.js} +1 -1
  13. package/dist/assets/{chunk-6JKP7OK7-s_kh4nPG.js → chunk-6JKP7OK7-uJeBZhPS.js} +1 -1
  14. package/dist/assets/{chunk-NGC4727B-BQzEs090.js → chunk-NGC4727B-DR3CLtBq.js} +1 -1
  15. package/dist/assets/{chunk-REEJFE46-D-tQcFs7.js → chunk-REEJFE46-BZy19elD.js} +1 -1
  16. package/dist/assets/{chunk-RYO7GUH3-CukwfQZY.js → chunk-RYO7GUH3-C1HMoAro.js} +1 -1
  17. package/dist/assets/{chunk-V35ELUW5-ujf7GFb0.js → chunk-V35ELUW5-WUZZuMyF.js} +1 -1
  18. package/dist/assets/{classDiagram-Q73GJZWF-B24YoNgH.js → classDiagram-Q73GJZWF-B451WWew.js} +1 -1
  19. package/dist/assets/{classDiagram-v2-C6QPLPW4-CTFjV0X-.js → classDiagram-v2-C6QPLPW4-CKLewyHZ.js} +1 -1
  20. package/dist/assets/clone-CVp_a3QL.js +1 -0
  21. package/dist/assets/{compile-C_l9LEsi.js → compile-DQRHgdZC.js} +1 -1
  22. package/dist/assets/{createWsUrl-YEr1j21s.js → createWsUrl-D9zRztxQ.js} +1 -1
  23. package/dist/assets/{dagre-7KT5K2WU-CUejqvLZ.js → dagre-7KT5K2WU--j2ePfcf.js} +1 -1
  24. package/dist/assets/{data-editor-Br8vLhok.js → data-editor-BK7sRYbg.js} +1 -1
  25. package/dist/assets/{diagram-AVGMFHF7-Cq0xlHgh.js → diagram-AVGMFHF7-DcuQ3u3j.js} +1 -1
  26. package/dist/assets/edit-page-CTe_w_dz.js +14 -0
  27. package/dist/assets/{erDiagram-DKC2X5TE-DRjjaBJz.js → erDiagram-DKC2X5TE-D2GjJTuU.js} +1 -1
  28. package/dist/assets/{flowDiagram-NWEUNK3L-NFSK6HcM.js → flowDiagram-NWEUNK3L-Dkj2j-Q8.js} +1 -1
  29. package/dist/assets/{ganttDiagram-HLVPPPRE-BLMrzFvn.js → ganttDiagram-HLVPPPRE-UIyfj9cY.js} +1 -1
  30. package/dist/assets/{gitGraph-YCYPL57B-ChgNPcWM.js → gitGraph-YCYPL57B-7jLKpAoy.js} +1 -1
  31. package/dist/assets/{gitGraphDiagram-JPZ3KUXI-JxaFib9_.js → gitGraphDiagram-JPZ3KUXI-Dj2xfEA2.js} +1 -1
  32. package/dist/assets/{graph-DdADGOru.js → graph-j_j5l0yg.js} +1 -1
  33. package/dist/assets/{home-page-Dc18tEzK.js → home-page-B0Xm7Js0.js} +1 -1
  34. package/dist/assets/{index-DC0wXkIa.js → index-5XK8JZUE.js} +1 -1
  35. package/dist/assets/{index-K4dZrqa6.js → index-BGgjVUWn.js} +1 -1
  36. package/dist/assets/{index-DNfH0GB8.js → index-BTSgZG_9.js} +1 -1
  37. package/dist/assets/{index-Ch9qSets.js → index-BkV6rRxR.js} +1 -1
  38. package/dist/assets/{index-BI9V22Pa.js → index-BkscgfRZ.js} +1 -1
  39. package/dist/assets/{index-BOid0ZO7.js → index-BvBBcqei.js} +1 -1
  40. package/dist/assets/{index-ms66T3nF.js → index-Bwj5V2li.js} +1 -1
  41. package/dist/assets/{index-DlLKzksC.js → index-C0y_bI6U.js} +1 -1
  42. package/dist/assets/{index-BSLlyii9.js → index-CB1FPEQs.js} +1 -1
  43. package/dist/assets/{index-r6wBevTg.js → index-CDOpYdZi.js} +1 -1
  44. package/dist/assets/{index-D69f6gEq.js → index-Cqc_LFIt.js} +1 -1
  45. package/dist/assets/{index-BP46tb_O.js → index-D7orpHkH.js} +1 -1
  46. package/dist/assets/{index-C9haayjz.js → index-DD3jzvS9.js} +1 -1
  47. package/dist/assets/{index-CPri-PMa.js → index-DTxGuEq_.js} +1 -1
  48. package/dist/assets/{index-CgcUtxn_.js → index-PGu0zYxG.js} +1 -1
  49. package/dist/assets/{index-yPPzOFi7.js → index-ZV0iUv59.js} +1 -1
  50. package/dist/assets/{index-Czf0P_31.js → index-cuU-cCxn.js} +4 -4
  51. package/dist/assets/{infoDiagram-RZZSJVI2-BC604r1O.js → infoDiagram-RZZSJVI2-BVEOMGia.js} +1 -1
  52. package/dist/assets/{journeyDiagram-BLD6N6MZ-DO_CIOO4.js → journeyDiagram-BLD6N6MZ-yGxGOh5v.js} +1 -1
  53. package/dist/assets/{json-yf_vWmgp.js → json-iXgdlIGP.js} +1 -1
  54. package/dist/assets/{layout-DG2h9DvT.js → layout-Z74chQBE.js} +1 -1
  55. package/dist/assets/{linear-BSTPblql.js → linear-DZqNyy1M.js} +1 -1
  56. package/dist/assets/{mermaid-BNQ_dopT.js → mermaid-Dx1NNIRx.js} +3 -3
  57. package/dist/assets/{min-BIubUKUD.js → min-Y3uj9mWt.js} +1 -1
  58. package/dist/assets/{mindmap-definition-OEB2RXX2-CTbOs_cj.js → mindmap-definition-OEB2RXX2-BhYKZCK0.js} +1 -1
  59. package/dist/assets/{pieDiagram-X7YZ5ZEZ-CRLRSWsA.js → pieDiagram-X7YZ5ZEZ-DTDCt-_m.js} +1 -1
  60. package/dist/assets/{quadrantDiagram-F36EZAVT-DwV_s3Au.js → quadrantDiagram-F36EZAVT-Cj9Jx8NV.js} +1 -1
  61. package/dist/assets/{react-plotly-Bd2Ml0II.js → react-plotly-BLPiLd4F.js} +1 -1
  62. package/dist/assets/{requirementDiagram-JG2LMPGF-CkN62lyM.js → requirementDiagram-JG2LMPGF-D60lctCh.js} +1 -1
  63. package/dist/assets/{run-page-BcI7L9NG.js → run-page-CeVoQd4Z.js} +1 -1
  64. package/dist/assets/{sankeyDiagram-ATFNWWW6-sWy9MCa9.js → sankeyDiagram-ATFNWWW6-DRKQTjZ-.js} +1 -1
  65. package/dist/assets/{sequenceDiagram-WK7YDQ3N-dRd4PIdU.js → sequenceDiagram-WK7YDQ3N-BWcGSXmW.js} +1 -1
  66. package/dist/assets/{slides-component-CUySrZGt.js → slides-component-CbUUB2cx.js} +1 -1
  67. package/dist/assets/{sortBy-RWqkCoE9.js → sortBy-CEfN9PQC.js} +1 -1
  68. package/dist/assets/{stateDiagram-4JV6CC6H-DXbF4Ymr.js → stateDiagram-4JV6CC6H-DeFxhGm-.js} +1 -1
  69. package/dist/assets/stateDiagram-v2-7KT6RKTD-CI62rNZ4.js +1 -0
  70. package/dist/assets/{terminal-DhLWshJ4.js → terminal-ohkMRy2E.js} +1 -1
  71. package/dist/assets/{time-CCypEmqU.js → time-ta14Ajg4.js} +1 -1
  72. package/dist/assets/{timeline-definition-3ZMEY6HS-gjvMU2ty.js → timeline-definition-3ZMEY6HS-HNDKSpB1.js} +1 -1
  73. package/dist/assets/{tree-Bv6ZiTby.js → tree-CL_cBcne.js} +1 -1
  74. package/dist/assets/{useMarimoWebSocket-DHvF6kjP.js → useMarimoWebSocket-BvGipXJ_.js} +3 -3
  75. package/dist/assets/{vega-component-DflGdbEq.js → vega-component-IdXl2jwI.js} +1 -1
  76. package/dist/assets/{xychartDiagram-KECQ2H5Q-DgaWndt1.js → xychartDiagram-KECQ2H5Q-9PqrE2ED.js} +1 -1
  77. package/dist/index.html +1 -1
  78. package/package.json +1 -1
  79. package/dist/assets/_baseMap-DULNqShX.js +0 -1
  80. package/dist/assets/channel-CYOqIFAR.js +0 -1
  81. package/dist/assets/clone-DRG_CBNx.js +0 -1
  82. package/dist/assets/edit-page-BbP9MiPZ.js +0 -14
  83. package/dist/assets/stateDiagram-v2-7KT6RKTD-DgMOPA_Q.js +0 -1
@@ -1 +1 @@
1
- import{_ as t,l as e,d as a,T as r,V as i,S as s,u as n,W as l,X as d,Y as o,i as h}from"./mermaid-BNQ_dopT.js";import{s as c}from"./transform-BZgIUWgO.js";import{l as y,k as p}from"./step-CjxFKgSe.js";var g=t(((t,e,a,r)=>{e.forEach((e=>{x[e](t,a,r)}))}),"insertMarkers"),x={extension:t(((t,a,r)=>{e.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",a+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb")},f=g;function u(t,e){e&&t.attr("style",e)}function w(t){const e=c(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=e.append("xhtml:div"),r=t.label,i=t.isNode?"nodeLabel":"edgeLabel",s=a.append("span");return s.html(r),u(s,t.labelStyle),s.attr("class",i),u(a,t.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}t(u,"applyStyle"),t(w,"addHtmlLabel");var b=t(((t,i,s,n)=>{let l=t||"";if("object"==typeof l&&(l=l[0]),r(a().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),e.debug("vertexText"+l);return w({isNode:n,label:d(o(l)),labelStyle:i.replace("fill:","color:")})}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",i.replace("color:","fill:"));let e=[];e="string"==typeof l?l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?l:[];for(const a of e){const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),s?e.setAttribute("class","title-row"):e.setAttribute("class","row"),e.textContent=a.trim(),t.appendChild(e)}return t}}),"createLabel"),m=t((async(e,s,n,l)=>{const d=a();let y;const p=s.useHtmlLabels||r(d.flowchart.htmlLabels);y=n||"node default";const g=e.insert("g").attr("class",y).attr("id",s.domId||s.id),x=g.insert("g").attr("class","label").attr("style",s.labelStyle);let f;f=void 0===s.labelText?"":"string"==typeof s.labelText?s.labelText:s.labelText[0];const u=x.node();let w;w="markdown"===s.labelType?i(x,h(o(f),d),{useHtmlLabels:p,width:s.width||d.flowchart.wrappingWidth,classes:"markdown-node-label"},d):u.appendChild(b(h(o(f),d),s.labelStyle,!1,l));let m=w.getBBox();const k=s.padding/2;if(r(d.flowchart.htmlLabels)){const e=w.children[0],a=c(w),r=e.getElementsByTagName("img");if(r){const e=""===f.replace(/<img[^>]*>/g,"").trim();await Promise.all([...r].map((a=>new Promise((r=>{function i(){if(a.style.display="flex",a.style.flexDirection="column",e){const t=d.fontSize?d.fontSize:window.getComputedStyle(document.body).fontSize,e=5,r=parseInt(t,10)*e+"px";a.style.minWidth=r,a.style.maxWidth=r}else a.style.width="100%";r(a)}t(i,"setupImage"),setTimeout((()=>{a.complete&&i()})),a.addEventListener("error",i),a.addEventListener("load",i)})))))}m=e.getBoundingClientRect(),a.attr("width",m.width),a.attr("height",m.height)}return p?x.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"):x.attr("transform","translate(0, "+-m.height/2+")"),s.centerLabel&&x.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"),x.insert("rect",":first-child"),{shapeSvg:g,bbox:m,halfPadding:k,label:x}}),"labelHelper"),k=t(((t,e)=>{const a=e.node().getBBox();t.width=a.width,t.height=a.height}),"updateNodeBounds");function v(t,e,a,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+a/2+")")}t(v,"insertPolygonShape");var L=t((t=>{const e=new Set;for(const a of t)switch(a){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(a)}return e}),"expandAndDeduplicateDirections"),S=t(((t,e,a)=>{const r=L(t),i=e.height+2*a.padding,s=i/2,n=e.width+2*s+a.padding,l=a.padding/2;return r.has("right")&&r.has("left")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*l},{x:n-s,y:0},{x:n,y:0},{x:n,y:-i/3},{x:n+2*l,y:-i/2},{x:n,y:-2*i/3},{x:n,y:-i},{x:n-s,y:-i},{x:n/2,y:-i-2*l},{x:s,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*l,y:-i/2},{x:0,y:-i/3}]:r.has("right")&&r.has("left")&&r.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}]:r.has("right")&&r.has("left")&&r.has("down")?[{x:0,y:0},{x:s,y:-i},{x:n-s,y:-i},{x:n,y:0}]:r.has("right")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-i+s},{x:0,y:-i}]:r.has("left")&&r.has("up")&&r.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-i+s},{x:n,y:-i}]:r.has("right")&&r.has("left")?[{x:s,y:0},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i},{x:0,y:-i/2}]:r.has("up")&&r.has("down")?[{x:n/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-i+l},{x:0,y:-i+l},{x:n/2,y:-i},{x:n,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l},{x:n,y:-l}]:r.has("right")&&r.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-i}]:r.has("right")&&r.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-i}]:r.has("left")&&r.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-i}]:r.has("left")&&r.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-i}]:r.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i+l}]:r.has("left")?[{x:s,y:0},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i},{x:0,y:-i/2}]:r.has("up")?[{x:s,y:-l},{x:s,y:-i+l},{x:0,y:-i+l},{x:n/2,y:-i},{x:n,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l}]:r.has("down")?[{x:n/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l},{x:n,y:-l}]:[{x:0,y:0}]}),"getArrowPoints");function M(t,e){return t.intersect(e)}t(M,"intersectNode");var _=M;function B(t,e,a,r){var i=t.x,s=t.y,n=i-r.x,l=s-r.y,d=Math.sqrt(e*e*l*l+a*a*n*n),o=Math.abs(e*a*n/d);r.x<i&&(o=-o);var h=Math.abs(e*a*l/d);return r.y<s&&(h=-h),{x:i+o,y:s+h}}t(B,"intersectEllipse");var T=B;function C(t,e,a){return T(t,e,e,a)}t(C,"intersectCircle");var E=C;function $(t,e,a,r){var i,s,n,l,d,o,h,c,y,p,g,x,f;if(i=e.y-t.y,n=t.x-e.x,d=e.x*t.y-t.x*e.y,y=i*a.x+n*a.y+d,p=i*r.x+n*r.y+d,!(0!==y&&0!==p&&P(y,p)||(s=r.y-a.y,l=a.x-r.x,o=r.x*a.y-a.x*r.y,h=s*t.x+l*t.y+o,c=s*e.x+l*e.y+o,0!==h&&0!==c&&P(h,c)||0==(g=i*l-s*n))))return x=Math.abs(g/2),{x:(f=n*o-l*d)<0?(f-x)/g:(f+x)/g,y:(f=s*d-i*o)<0?(f-x)/g:(f+x)/g}}function P(t,e){return t*e>0}t($,"intersectLine"),t(P,"sameSign");var N=$,R=W;function W(t,e,a){var r=t.x,i=t.y,s=[],n=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){n=Math.min(n,t.x),l=Math.min(l,t.y)})):(n=Math.min(n,e.x),l=Math.min(l,e.y));for(var d=r-t.width/2-n,o=i-t.height/2-l,h=0;h<e.length;h++){var c=e[h],y=e[h<e.length-1?h+1:0],p=N(t,a,{x:d+c.x,y:o+c.y},{x:d+y.x,y:o+y.y});p&&s.push(p)}return s.length?(s.length>1&&s.sort((function(t,e){var r=t.x-a.x,i=t.y-a.y,s=Math.sqrt(r*r+i*i),n=e.x-a.x,l=e.y-a.y,d=Math.sqrt(n*n+l*l);return s<d?-1:s===d?0:1})),s[0]):t}t(W,"intersectPolygon");var H=t(((t,e)=>{var a,r,i=t.x,s=t.y,n=e.x-i,l=e.y-s,d=t.width/2,o=t.height/2;return Math.abs(l)*d>Math.abs(n)*o?(l<0&&(o=-o),a=0===l?0:o*n/l,r=o):(n<0&&(d=-d),a=d,r=0===n?0:d*l/n),{x:i+a,y:s+r}}),"intersectRect"),I={node:_,circle:E,ellipse:T,polygon:R,rect:H},Y=t((async(t,r)=>{r.useHtmlLabels||a().flowchart.htmlLabels||(r.centerLabel=!0);const{shapeSvg:i,bbox:s,halfPadding:n}=await m(t,r,"node "+r.classes,!0);e.info("Classes = ",r.classes);const l=i.insert("rect",":first-child");return l.attr("rx",r.rx).attr("ry",r.ry).attr("x",-s.width/2-n).attr("y",-s.height/2-n).attr("width",s.width+r.padding).attr("height",s.height+r.padding),k(r,l),r.intersect=function(t){return I.rect(r,t)},i}),"note"),D=t((t=>t?" "+t:""),"formatClass"),X=t(((t,e)=>`${e||"node default"}${D(t.classes)} ${D(t.class)}`),"getClassesFromNode"),j=t((async(t,a)=>{const{shapeSvg:r,bbox:i}=await m(t,a,X(a,void 0),!0),s=i.width+a.padding+(i.height+a.padding),n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];e.info("Question main (Circle)");const l=v(r,s,s,n);return l.attr("style",a.style),k(a,l),a.intersect=function(t){return e.warn("Intersect called"),I.polygon(a,n,t)},r}),"question"),U=t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return a.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return I.circle(e,14,t)},a}),"choice"),A=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.height+e.padding,s=i/4,n=r.width+2*s+e.padding,l=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],d=v(a,n,i,l);return d.attr("style",e.style),k(e,d),e.intersect=function(t){return I.polygon(e,l,t)},a}),"hexagon"),O=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,void 0,!0),i=r.height+2*e.padding,s=i/2,n=r.width+2*s+e.padding,l=S(e.directions,r,e),d=v(a,n,i,l);return d.attr("style",e.style),k(e,d),e.intersect=function(t){return I.polygon(e,l,t)},a}),"block_arrow"),z=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-s/2,y:0},{x:i,y:0},{x:i,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return v(a,i,s,n).attr("style",e.style),e.width=i+s,e.height=s,e.intersect=function(t){return I.polygon(e,n,t)},a}),"rect_left_inv_arrow"),Z=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"lean_right"),q=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:2*s/6,y:0},{x:i+s/6,y:0},{x:i-2*s/6,y:-s},{x:-s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"lean_left"),V=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:i+2*s/6,y:0},{x:i-s/6,y:-s},{x:s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"trapezoid"),F=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:-2*s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"inv_trapezoid"),J=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:i+s/2,y:0},{x:i,y:-s/2},{x:i+s/2,y:-s},{x:0,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"rect_right_inv_arrow"),Q=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=i/2,n=s/(2.5+i/50),l=r.height+n+e.padding,d="M 0,"+n+" a "+s+","+n+" 0,0,0 "+i+" 0 a "+s+","+n+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+s+","+n+" 0,0,0 "+i+" 0 l 0,"+-l,o=a.attr("label-offset-y",n).insert("path",":first-child").attr("style",e.style).attr("d",d).attr("transform","translate("+-i/2+","+-(l/2+n)+")");return k(e,o),e.intersect=function(t){const a=I.rect(e,t),r=a.x-e.x;if(0!=s&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(a.y-e.y)>e.height/2-n)){let i=n*n*(1-r*r/(s*s));0!=i&&(i=Math.sqrt(i)),i=n-i,t.y-e.y>0&&(i=-i),a.y+=i}return a},a}),"cylinder"),G=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,"node "+a.classes+" "+a.class,!0),n=r.insert("rect",":first-child"),l=a.positioned?a.width:i.width+a.padding,d=a.positioned?a.height:i.height+a.padding,o=a.positioned?-l/2:-i.width/2-s,h=a.positioned?-d/2:-i.height/2-s;if(n.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",o).attr("y",h).attr("width",l).attr("height",d),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(n,a.props.borders,l,d),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,n),a.intersect=function(t){return I.rect(a,t)},r}),"rect"),K=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,"node "+a.classes,!0),n=r.insert("rect",":first-child"),l=a.positioned?a.width:i.width+a.padding,d=a.positioned?a.height:i.height+a.padding,o=a.positioned?-l/2:-i.width/2-s,h=a.positioned?-d/2:-i.height/2-s;if(n.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",o).attr("y",h).attr("width",l).attr("height",d),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(n,a.props.borders,l,d),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,n),a.intersect=function(t){return I.rect(a,t)},r}),"composite"),tt=t((async(t,a)=>{const{shapeSvg:r}=await m(t,a,"label",!0);e.trace("Classes = ",a.class);const i=r.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(i,a.props.borders,0,0),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,i),a.intersect=function(t){return I.rect(a,t)},r}),"labelRect");function et(a,r,i,s){const n=[],l=t((t=>{n.push(t,0)}),"addBorder"),d=t((t=>{n.push(0,t)}),"skipBorder");r.includes("t")?(e.debug("add top border"),l(i)):d(i),r.includes("r")?(e.debug("add right border"),l(s)):d(s),r.includes("b")?(e.debug("add bottom border"),l(i)):d(i),r.includes("l")?(e.debug("add left border"),l(s)):d(s),a.attr("stroke-dasharray",n.join(" "))}t(et,"applyNodePropertyBorders");var at=t(((t,i)=>{let s;s=i.classes?"node "+i.classes:"node default";const n=t.insert("g").attr("class",s).attr("id",i.domId||i.id),l=n.insert("rect",":first-child"),d=n.insert("line"),o=n.insert("g").attr("class","label"),h=i.labelText.flat?i.labelText.flat():i.labelText;let y="";y="object"==typeof h?h[0]:h,e.info("Label text abc79",y,h,"object"==typeof h);const p=o.node().appendChild(b(y,i.labelStyle,!0,!0));let g={width:0,height:0};if(r(a().flowchart.htmlLabels)){const t=p.children[0],e=c(p);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}e.info("Text 2",h);const x=h.slice(1,h.length);let f=p.getBBox();const u=o.node().appendChild(b(x.join?x.join("<br/>"):x,i.labelStyle,!0,!0));if(r(a().flowchart.htmlLabels)){const t=u.children[0],e=c(u);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}const w=i.padding/2;return c(u).attr("transform","translate( "+(g.width>f.width?0:(f.width-g.width)/2)+", "+(f.height+w+5)+")"),c(p).attr("transform","translate( "+(g.width<f.width?0:-(f.width-g.width)/2)+", 0)"),g=o.node().getBBox(),o.attr("transform","translate("+-g.width/2+", "+(-g.height/2-w+3)+")"),l.attr("class","outer title-state").attr("x",-g.width/2-w).attr("y",-g.height/2-w).attr("width",g.width+i.padding).attr("height",g.height+i.padding),d.attr("class","divider").attr("x1",-g.width/2-w).attr("x2",g.width/2+w).attr("y1",-g.height/2-w+f.height+w).attr("y2",-g.height/2-w+f.height+w),k(i,l),i.intersect=function(t){return I.rect(i,t)},n}),"rectWithTitle"),rt=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.height+e.padding,s=r.width+i/4+e.padding,n=a.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-s/2).attr("y",-i/2).attr("width",s).attr("height",i);return k(e,n),e.intersect=function(t){return I.rect(e,t)},a}),"stadium"),it=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,X(a,void 0),!0),n=r.insert("circle",":first-child");return n.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s).attr("width",i.width+a.padding).attr("height",i.height+a.padding),e.info("Circle main"),k(a,n),a.intersect=function(t){return e.info("Circle intersect",a,i.width/2+s,t),I.circle(a,i.width/2+s,t)},r}),"circle"),st=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,X(a,void 0),!0),n=r.insert("g",":first-child"),l=n.insert("circle"),d=n.insert("circle");return n.attr("class",a.class),l.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s+5).attr("width",i.width+a.padding+10).attr("height",i.height+a.padding+10),d.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s).attr("width",i.width+a.padding).attr("height",i.height+a.padding),e.info("DoubleCircle main"),k(a,l),a.intersect=function(t){return e.info("DoubleCircle intersect",a,i.width/2+s+5,t),I.circle(a,i.width/2+s+5,t)},r}),"doublecircle"),nt=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:i,y:0},{x:i,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"subroutine"),lt=t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=a.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),k(e,r),e.intersect=function(t){return I.circle(e,7,t)},a}),"start"),dt=t(((t,e,a)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,s=10;"LR"===a&&(i=10,s=70);const n=r.append("rect").attr("x",-1*i/2).attr("y",-1*s/2).attr("width",i).attr("height",s).attr("class","fork-join");return k(e,n),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return I.rect(e,t)},r}),"forkJoin"),ot={rhombus:j,composite:K,question:j,rect:G,labelRect:tt,rectWithTitle:at,choice:U,circle:it,doublecircle:st,stadium:rt,hexagon:A,block_arrow:O,rect_left_inv_arrow:z,lean_right:Z,lean_left:q,trapezoid:V,inv_trapezoid:F,rect_right_inv_arrow:J,cylinder:Q,start:lt,end:t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=a.insert("circle",":first-child"),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),k(e,i),e.intersect=function(t){return I.circle(e,7,t)},a}),"end"),note:Y,subroutine:nt,fork:dt,join:dt,class_box:t(((t,e)=>{var i;const s=e.padding/2;let n;n=e.classes?"node "+e.classes:"node default";const l=t.insert("g").attr("class",n).attr("id",e.domId||e.id),d=l.insert("rect",":first-child"),o=l.insert("line"),h=l.insert("line");let y=0,p=4;const g=l.insert("g").attr("class","label");let x=0;const f=null==(i=e.classData.annotations)?void 0:i[0],u=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",w=g.node().appendChild(b(u,e.labelStyle,!0,!0));let m=w.getBBox();if(r(a().flowchart.htmlLabels)){const t=w.children[0],e=c(w);m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}e.classData.annotations[0]&&(p+=m.height+4,y+=m.width);let v=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&(a().flowchart.htmlLabels?v+="&lt;"+e.classData.type+"&gt;":v+="<"+e.classData.type+">");const L=g.node().appendChild(b(v,e.labelStyle,!0,!0));c(L).attr("class","classTitle");let S=L.getBBox();if(r(a().flowchart.htmlLabels)){const t=L.children[0],e=c(L);S=t.getBoundingClientRect(),e.attr("width",S.width),e.attr("height",S.height)}p+=S.height+4,S.width>y&&(y=S.width);const M=[];e.classData.members.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;a().flowchart.htmlLabels&&(s=s.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=g.node().appendChild(b(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let l=n.getBBox();if(r(a().flowchart.htmlLabels)){const t=n.children[0],e=c(n);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),p+=l.height+4,M.push(n)})),p+=8;const _=[];if(e.classData.methods.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;a().flowchart.htmlLabels&&(s=s.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=g.node().appendChild(b(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let l=n.getBBox();if(r(a().flowchart.htmlLabels)){const t=n.children[0],e=c(n);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),p+=l.height+4,_.push(n)})),p+=8,f){let t=(y-m.width)/2;c(w).attr("transform","translate( "+(-1*y/2+t)+", "+-1*p/2+")"),x=m.height+4}let B=(y-S.width)/2;return c(L).attr("transform","translate( "+(-1*y/2+B)+", "+(-1*p/2+x)+")"),x+=S.height+4,o.attr("class","divider").attr("x1",-y/2-s).attr("x2",y/2+s).attr("y1",-p/2-s+8+x).attr("y2",-p/2-s+8+x),x+=8,M.forEach((t=>{c(t).attr("transform","translate( "+-y/2+", "+(-1*p/2+x+4)+")");const e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4})),x+=8,h.attr("class","divider").attr("x1",-y/2-s).attr("x2",y/2+s).attr("y1",-p/2-s+8+x).attr("y2",-p/2-s+8+x),x+=8,_.forEach((t=>{c(t).attr("transform","translate( "+-y/2+", "+(-1*p/2+x)+")");const e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4})),d.attr("style",e.style).attr("class","outer title-state").attr("x",-y/2-s).attr("y",-p/2-s).attr("width",y+e.padding).attr("height",p+e.padding),k(e,d),e.intersect=function(t){return I.rect(e,t)},l}),"class_box")},ht={},ct=t((async(t,e,r)=>{let i,s;if(e.link){let n;"sandbox"===a().securityLevel?n="_top":e.linkTarget&&(n=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",n),s=await ot[e.shape](i,e,r)}else s=await ot[e.shape](t,e,r),i=s;return e.tooltip&&s.attr("title",e.tooltip),e.class&&s.attr("class","node default "+e.class),ht[e.id]=i,e.haveCallback&&ht[e.id].attr("class",ht[e.id].attr("class")+" clickable"),i}),"insertNode"),yt=t(((t,e)=>{ht[e.id]=t}),"setNodeElem"),pt=t((()=>{ht={}}),"clear"),gt=t((t=>{const a=ht[t.id];e.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?a.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):a.attr("transform","translate("+t.x+", "+t.y+")"),r}),"positionNode"),xt=t(((t,e,a,r,i)=>{e.arrowTypeStart&&ut(t,"start",e.arrowTypeStart,a,r,i),e.arrowTypeEnd&&ut(t,"end",e.arrowTypeEnd,a,r,i)}),"addEdgeMarkers"),ft={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ut=t(((t,a,r,i,s,n)=>{const l=ft[r];if(!l)return void e.warn(`Unknown arrow type: ${r}`);const d="start"===a?"Start":"End";t.attr(`marker-${a}`,`url(${i}#${s}_${n}-${l}${d})`)}),"addEdgeMarker"),wt={},bt={},mt=t((()=>{wt={},bt={}}),"clear"),kt=t(((t,e)=>{const s=a(),n=r(s.flowchart.htmlLabels),l="markdown"===e.labelType?i(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},s):b(e.label,e.labelStyle),d=t.insert("g").attr("class","edgeLabel"),o=d.insert("g").attr("class","label");o.node().appendChild(l);let h,y=l.getBBox();if(n){const t=l.children[0],e=c(l);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}if(o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),wt[e.id]=d,e.width=y.width,e.height=y.height,e.startLabelLeft){const a=b(e.startLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),bt[e.id]||(bt[e.id]={}),bt[e.id].startLeft=r,vt(h,e.startLabelLeft)}if(e.startLabelRight){const a=b(e.startLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=r.node().appendChild(a),i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),bt[e.id]||(bt[e.id]={}),bt[e.id].startRight=r,vt(h,e.startLabelRight)}if(e.endLabelLeft){const a=b(e.endLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(a),bt[e.id]||(bt[e.id]={}),bt[e.id].endLeft=r,vt(h,e.endLabelLeft)}if(e.endLabelRight){const a=b(e.endLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(a),bt[e.id]||(bt[e.id]={}),bt[e.id].endRight=r,vt(h,e.endLabelRight)}return l}),"insertEdgeLabel");function vt(t,e){a().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}t(vt,"setTerminalWidth");var Lt=t(((t,r)=>{e.debug("Moving label abc88 ",t.id,t.label,wt[t.id],r);let i=r.updatedPath?r.updatedPath:r.originalPath;const l=a(),{subGraphTitleTotalMargin:d}=s(l);if(t.label){const a=wt[t.id];let s=t.x,l=t.y;if(i){const a=n.calcLabelPosition(i);e.debug("Moving label "+t.label+" from (",s,",",l,") to (",a.x,",",a.y,") abc88"),r.updatedPath&&(s=a.x,l=a.y)}a.attr("transform",`translate(${s}, ${l+d/2})`)}if(t.startLabelLeft){const e=bt[t.id].startLeft;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.startLabelRight){const e=bt[t.id].startRight;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.endLabelLeft){const e=bt[t.id].endLeft;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.endLabelRight){const e=bt[t.id].endRight;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}}),"positionEdgeLabel"),St=t(((t,e)=>{const a=t.x,r=t.y,i=Math.abs(e.x-a),s=Math.abs(e.y-r),n=t.width/2,l=t.height/2;return i>=n||s>=l}),"outsideNode"),Mt=t(((t,a,r)=>{e.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(a)}\n insidePoint : ${JSON.stringify(r)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const i=t.x,s=t.y,n=Math.abs(i-r.x),l=t.width/2;let d=r.x<a.x?l-n:l+n;const o=t.height/2,h=Math.abs(a.y-r.y),c=Math.abs(a.x-r.x);if(Math.abs(s-a.y)*l>Math.abs(i-a.x)*o){let t=r.y<a.y?a.y-o-s:s-o-a.y;d=c*t/h;const i={x:r.x<a.x?r.x+d:r.x-c+d,y:r.y<a.y?r.y+h-t:r.y-h+t};return 0===d&&(i.x=a.x,i.y=a.y),0===c&&(i.x=a.x),0===h&&(i.y=a.y),e.debug(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${c}, r ${d}`,i),i}{d=r.x<a.x?a.x-l-i:i-l-a.x;let t=h*d/c,s=r.x<a.x?r.x+c-d:r.x-c+d,n=r.y<a.y?r.y+t:r.y-t;return e.debug(`sides calc abc89, Q ${h}, q ${t}, R ${c}, r ${d}`,{_x:s,_y:n}),0===d&&(s=a.x,n=a.y),0===c&&(s=a.x),0===h&&(n=a.y),{x:s,y:n}}}),"intersection"),_t=t(((t,a)=>{e.debug("abc88 cutPathAtIntersect",t,a);let r=[],i=t[0],s=!1;return t.forEach((t=>{if(St(a,t)||s)i=t,s||r.push(t);else{const e=Mt(a,i,t);let n=!1;r.forEach((t=>{n=n||t.x===e.x&&t.y===e.y})),r.some((t=>t.x===e.x&&t.y===e.y))||r.push(e),s=!0}})),r}),"cutPathAtIntersect"),Bt=t((function(t,r,i,s,n,d,o){let h=i.points;e.debug("abc88 InsertEdge: edge=",i,"e=",r);let c=!1;const g=d.node(r.v);var x=d.node(r.w);(null==x?void 0:x.intersect)&&(null==g?void 0:g.intersect)&&(h=h.slice(1,i.points.length-1),h.unshift(g.intersect(h[0])),h.push(x.intersect(h[h.length-1]))),i.toCluster&&(e.debug("to cluster abc88",s[i.toCluster]),h=_t(i.points,s[i.toCluster].node),c=!0),i.fromCluster&&(e.debug("from cluster abc88",s[i.fromCluster]),h=_t(h.reverse(),s[i.fromCluster].node).reverse(),c=!0);const f=h.filter((t=>!Number.isNaN(t.y)));let u=p;!i.curve||"graph"!==n&&"flowchart"!==n||(u=i.curve);const{x:w,y:b}=l(i),m=y().x(w).y(b).curve(u);let k;switch(i.thickness){case"normal":k="edge-thickness-normal";break;case"thick":case"invisible":k="edge-thickness-thick";break;default:k=""}switch(i.pattern){case"solid":k+=" edge-pattern-solid";break;case"dotted":k+=" edge-pattern-dotted";break;case"dashed":k+=" edge-pattern-dashed"}const v=t.append("path").attr("d",m(f)).attr("id",i.id).attr("class"," "+k+(i.classes?" "+i.classes:"")).attr("style",i.style);let L="";(a().flowchart.arrowMarkerAbsolute||a().state.arrowMarkerAbsolute)&&(L=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,L=L.replace(/\(/g,"\\("),L=L.replace(/\)/g,"\\)")),xt(v,i,L,o,n);let S={};return c&&(S.updatedPath=h),S.originalPath=i.points,S}),"insertEdge");export{mt as a,kt as b,pt as c,Bt as d,Lt as e,b as f,H as g,ct as i,f as m,gt as p,yt as s,k as u};
1
+ import{_ as t,l as e,d as a,T as r,V as i,S as s,u as n,W as l,X as d,Y as o,i as h}from"./mermaid-Dx1NNIRx.js";import{s as c}from"./transform-BZgIUWgO.js";import{l as y,k as p}from"./step-CjxFKgSe.js";var g=t(((t,e,a,r)=>{e.forEach((e=>{x[e](t,a,r)}))}),"insertMarkers"),x={extension:t(((t,a,r)=>{e.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",a+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",a+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:t(((t,e,a)=>{t.append("marker").attr("id",a+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",a+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:t(((t,e,a)=>{t.append("defs").append("marker").attr("id",a+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb")},f=g;function u(t,e){e&&t.attr("style",e)}function w(t){const e=c(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=e.append("xhtml:div"),r=t.label,i=t.isNode?"nodeLabel":"edgeLabel",s=a.append("span");return s.html(r),u(s,t.labelStyle),s.attr("class",i),u(a,t.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}t(u,"applyStyle"),t(w,"addHtmlLabel");var b=t(((t,i,s,n)=>{let l=t||"";if("object"==typeof l&&(l=l[0]),r(a().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),e.debug("vertexText"+l);return w({isNode:n,label:d(o(l)),labelStyle:i.replace("fill:","color:")})}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",i.replace("color:","fill:"));let e=[];e="string"==typeof l?l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?l:[];for(const a of e){const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),s?e.setAttribute("class","title-row"):e.setAttribute("class","row"),e.textContent=a.trim(),t.appendChild(e)}return t}}),"createLabel"),m=t((async(e,s,n,l)=>{const d=a();let y;const p=s.useHtmlLabels||r(d.flowchart.htmlLabels);y=n||"node default";const g=e.insert("g").attr("class",y).attr("id",s.domId||s.id),x=g.insert("g").attr("class","label").attr("style",s.labelStyle);let f;f=void 0===s.labelText?"":"string"==typeof s.labelText?s.labelText:s.labelText[0];const u=x.node();let w;w="markdown"===s.labelType?i(x,h(o(f),d),{useHtmlLabels:p,width:s.width||d.flowchart.wrappingWidth,classes:"markdown-node-label"},d):u.appendChild(b(h(o(f),d),s.labelStyle,!1,l));let m=w.getBBox();const k=s.padding/2;if(r(d.flowchart.htmlLabels)){const e=w.children[0],a=c(w),r=e.getElementsByTagName("img");if(r){const e=""===f.replace(/<img[^>]*>/g,"").trim();await Promise.all([...r].map((a=>new Promise((r=>{function i(){if(a.style.display="flex",a.style.flexDirection="column",e){const t=d.fontSize?d.fontSize:window.getComputedStyle(document.body).fontSize,e=5,r=parseInt(t,10)*e+"px";a.style.minWidth=r,a.style.maxWidth=r}else a.style.width="100%";r(a)}t(i,"setupImage"),setTimeout((()=>{a.complete&&i()})),a.addEventListener("error",i),a.addEventListener("load",i)})))))}m=e.getBoundingClientRect(),a.attr("width",m.width),a.attr("height",m.height)}return p?x.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"):x.attr("transform","translate(0, "+-m.height/2+")"),s.centerLabel&&x.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"),x.insert("rect",":first-child"),{shapeSvg:g,bbox:m,halfPadding:k,label:x}}),"labelHelper"),k=t(((t,e)=>{const a=e.node().getBBox();t.width=a.width,t.height=a.height}),"updateNodeBounds");function v(t,e,a,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+a/2+")")}t(v,"insertPolygonShape");var L=t((t=>{const e=new Set;for(const a of t)switch(a){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(a)}return e}),"expandAndDeduplicateDirections"),S=t(((t,e,a)=>{const r=L(t),i=e.height+2*a.padding,s=i/2,n=e.width+2*s+a.padding,l=a.padding/2;return r.has("right")&&r.has("left")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*l},{x:n-s,y:0},{x:n,y:0},{x:n,y:-i/3},{x:n+2*l,y:-i/2},{x:n,y:-2*i/3},{x:n,y:-i},{x:n-s,y:-i},{x:n/2,y:-i-2*l},{x:s,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*l,y:-i/2},{x:0,y:-i/3}]:r.has("right")&&r.has("left")&&r.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}]:r.has("right")&&r.has("left")&&r.has("down")?[{x:0,y:0},{x:s,y:-i},{x:n-s,y:-i},{x:n,y:0}]:r.has("right")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-i+s},{x:0,y:-i}]:r.has("left")&&r.has("up")&&r.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-i+s},{x:n,y:-i}]:r.has("right")&&r.has("left")?[{x:s,y:0},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i},{x:0,y:-i/2}]:r.has("up")&&r.has("down")?[{x:n/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-i+l},{x:0,y:-i+l},{x:n/2,y:-i},{x:n,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l},{x:n,y:-l}]:r.has("right")&&r.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-i}]:r.has("right")&&r.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-i}]:r.has("left")&&r.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-i}]:r.has("left")&&r.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-i}]:r.has("right")?[{x:s,y:-l},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i+l}]:r.has("left")?[{x:s,y:0},{x:s,y:-l},{x:n-s,y:-l},{x:n-s,y:-i+l},{x:s,y:-i+l},{x:s,y:-i},{x:0,y:-i/2}]:r.has("up")?[{x:s,y:-l},{x:s,y:-i+l},{x:0,y:-i+l},{x:n/2,y:-i},{x:n,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l}]:r.has("down")?[{x:n/2,y:0},{x:0,y:-l},{x:s,y:-l},{x:s,y:-i+l},{x:n-s,y:-i+l},{x:n-s,y:-l},{x:n,y:-l}]:[{x:0,y:0}]}),"getArrowPoints");function M(t,e){return t.intersect(e)}t(M,"intersectNode");var _=M;function B(t,e,a,r){var i=t.x,s=t.y,n=i-r.x,l=s-r.y,d=Math.sqrt(e*e*l*l+a*a*n*n),o=Math.abs(e*a*n/d);r.x<i&&(o=-o);var h=Math.abs(e*a*l/d);return r.y<s&&(h=-h),{x:i+o,y:s+h}}t(B,"intersectEllipse");var T=B;function C(t,e,a){return T(t,e,e,a)}t(C,"intersectCircle");var E=C;function $(t,e,a,r){var i,s,n,l,d,o,h,c,y,p,g,x,f;if(i=e.y-t.y,n=t.x-e.x,d=e.x*t.y-t.x*e.y,y=i*a.x+n*a.y+d,p=i*r.x+n*r.y+d,!(0!==y&&0!==p&&P(y,p)||(s=r.y-a.y,l=a.x-r.x,o=r.x*a.y-a.x*r.y,h=s*t.x+l*t.y+o,c=s*e.x+l*e.y+o,0!==h&&0!==c&&P(h,c)||0==(g=i*l-s*n))))return x=Math.abs(g/2),{x:(f=n*o-l*d)<0?(f-x)/g:(f+x)/g,y:(f=s*d-i*o)<0?(f-x)/g:(f+x)/g}}function P(t,e){return t*e>0}t($,"intersectLine"),t(P,"sameSign");var N=$,R=W;function W(t,e,a){var r=t.x,i=t.y,s=[],n=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){n=Math.min(n,t.x),l=Math.min(l,t.y)})):(n=Math.min(n,e.x),l=Math.min(l,e.y));for(var d=r-t.width/2-n,o=i-t.height/2-l,h=0;h<e.length;h++){var c=e[h],y=e[h<e.length-1?h+1:0],p=N(t,a,{x:d+c.x,y:o+c.y},{x:d+y.x,y:o+y.y});p&&s.push(p)}return s.length?(s.length>1&&s.sort((function(t,e){var r=t.x-a.x,i=t.y-a.y,s=Math.sqrt(r*r+i*i),n=e.x-a.x,l=e.y-a.y,d=Math.sqrt(n*n+l*l);return s<d?-1:s===d?0:1})),s[0]):t}t(W,"intersectPolygon");var H=t(((t,e)=>{var a,r,i=t.x,s=t.y,n=e.x-i,l=e.y-s,d=t.width/2,o=t.height/2;return Math.abs(l)*d>Math.abs(n)*o?(l<0&&(o=-o),a=0===l?0:o*n/l,r=o):(n<0&&(d=-d),a=d,r=0===n?0:d*l/n),{x:i+a,y:s+r}}),"intersectRect"),I={node:_,circle:E,ellipse:T,polygon:R,rect:H},Y=t((async(t,r)=>{r.useHtmlLabels||a().flowchart.htmlLabels||(r.centerLabel=!0);const{shapeSvg:i,bbox:s,halfPadding:n}=await m(t,r,"node "+r.classes,!0);e.info("Classes = ",r.classes);const l=i.insert("rect",":first-child");return l.attr("rx",r.rx).attr("ry",r.ry).attr("x",-s.width/2-n).attr("y",-s.height/2-n).attr("width",s.width+r.padding).attr("height",s.height+r.padding),k(r,l),r.intersect=function(t){return I.rect(r,t)},i}),"note"),D=t((t=>t?" "+t:""),"formatClass"),X=t(((t,e)=>`${e||"node default"}${D(t.classes)} ${D(t.class)}`),"getClassesFromNode"),j=t((async(t,a)=>{const{shapeSvg:r,bbox:i}=await m(t,a,X(a,void 0),!0),s=i.width+a.padding+(i.height+a.padding),n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];e.info("Question main (Circle)");const l=v(r,s,s,n);return l.attr("style",a.style),k(a,l),a.intersect=function(t){return e.warn("Intersect called"),I.polygon(a,n,t)},r}),"question"),U=t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return a.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return I.circle(e,14,t)},a}),"choice"),A=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.height+e.padding,s=i/4,n=r.width+2*s+e.padding,l=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-i/2},{x:n-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],d=v(a,n,i,l);return d.attr("style",e.style),k(e,d),e.intersect=function(t){return I.polygon(e,l,t)},a}),"hexagon"),O=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,void 0,!0),i=r.height+2*e.padding,s=i/2,n=r.width+2*s+e.padding,l=S(e.directions,r,e),d=v(a,n,i,l);return d.attr("style",e.style),k(e,d),e.intersect=function(t){return I.polygon(e,l,t)},a}),"block_arrow"),z=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-s/2,y:0},{x:i,y:0},{x:i,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return v(a,i,s,n).attr("style",e.style),e.width=i+s,e.height=s,e.intersect=function(t){return I.polygon(e,n,t)},a}),"rect_left_inv_arrow"),Z=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"lean_right"),q=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:2*s/6,y:0},{x:i+s/6,y:0},{x:i-2*s/6,y:-s},{x:-s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"lean_left"),V=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:i+2*s/6,y:0},{x:i-s/6,y:-s},{x:s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"trapezoid"),F=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:-2*s/6,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"inv_trapezoid"),J=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:i+s/2,y:0},{x:i,y:-s/2},{x:i+s/2,y:-s},{x:0,y:-s}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"rect_right_inv_arrow"),Q=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=i/2,n=s/(2.5+i/50),l=r.height+n+e.padding,d="M 0,"+n+" a "+s+","+n+" 0,0,0 "+i+" 0 a "+s+","+n+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+s+","+n+" 0,0,0 "+i+" 0 l 0,"+-l,o=a.attr("label-offset-y",n).insert("path",":first-child").attr("style",e.style).attr("d",d).attr("transform","translate("+-i/2+","+-(l/2+n)+")");return k(e,o),e.intersect=function(t){const a=I.rect(e,t),r=a.x-e.x;if(0!=s&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(a.y-e.y)>e.height/2-n)){let i=n*n*(1-r*r/(s*s));0!=i&&(i=Math.sqrt(i)),i=n-i,t.y-e.y>0&&(i=-i),a.y+=i}return a},a}),"cylinder"),G=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,"node "+a.classes+" "+a.class,!0),n=r.insert("rect",":first-child"),l=a.positioned?a.width:i.width+a.padding,d=a.positioned?a.height:i.height+a.padding,o=a.positioned?-l/2:-i.width/2-s,h=a.positioned?-d/2:-i.height/2-s;if(n.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",o).attr("y",h).attr("width",l).attr("height",d),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(n,a.props.borders,l,d),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,n),a.intersect=function(t){return I.rect(a,t)},r}),"rect"),K=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,"node "+a.classes,!0),n=r.insert("rect",":first-child"),l=a.positioned?a.width:i.width+a.padding,d=a.positioned?a.height:i.height+a.padding,o=a.positioned?-l/2:-i.width/2-s,h=a.positioned?-d/2:-i.height/2-s;if(n.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",o).attr("y",h).attr("width",l).attr("height",d),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(n,a.props.borders,l,d),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,n),a.intersect=function(t){return I.rect(a,t)},r}),"composite"),tt=t((async(t,a)=>{const{shapeSvg:r}=await m(t,a,"label",!0);e.trace("Classes = ",a.class);const i=r.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),a.props){const t=new Set(Object.keys(a.props));a.props.borders&&(et(i,a.props.borders,0,0),t.delete("borders")),t.forEach((t=>{e.warn(`Unknown node property ${t}`)}))}return k(a,i),a.intersect=function(t){return I.rect(a,t)},r}),"labelRect");function et(a,r,i,s){const n=[],l=t((t=>{n.push(t,0)}),"addBorder"),d=t((t=>{n.push(0,t)}),"skipBorder");r.includes("t")?(e.debug("add top border"),l(i)):d(i),r.includes("r")?(e.debug("add right border"),l(s)):d(s),r.includes("b")?(e.debug("add bottom border"),l(i)):d(i),r.includes("l")?(e.debug("add left border"),l(s)):d(s),a.attr("stroke-dasharray",n.join(" "))}t(et,"applyNodePropertyBorders");var at=t(((t,i)=>{let s;s=i.classes?"node "+i.classes:"node default";const n=t.insert("g").attr("class",s).attr("id",i.domId||i.id),l=n.insert("rect",":first-child"),d=n.insert("line"),o=n.insert("g").attr("class","label"),h=i.labelText.flat?i.labelText.flat():i.labelText;let y="";y="object"==typeof h?h[0]:h,e.info("Label text abc79",y,h,"object"==typeof h);const p=o.node().appendChild(b(y,i.labelStyle,!0,!0));let g={width:0,height:0};if(r(a().flowchart.htmlLabels)){const t=p.children[0],e=c(p);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}e.info("Text 2",h);const x=h.slice(1,h.length);let f=p.getBBox();const u=o.node().appendChild(b(x.join?x.join("<br/>"):x,i.labelStyle,!0,!0));if(r(a().flowchart.htmlLabels)){const t=u.children[0],e=c(u);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}const w=i.padding/2;return c(u).attr("transform","translate( "+(g.width>f.width?0:(f.width-g.width)/2)+", "+(f.height+w+5)+")"),c(p).attr("transform","translate( "+(g.width<f.width?0:-(f.width-g.width)/2)+", 0)"),g=o.node().getBBox(),o.attr("transform","translate("+-g.width/2+", "+(-g.height/2-w+3)+")"),l.attr("class","outer title-state").attr("x",-g.width/2-w).attr("y",-g.height/2-w).attr("width",g.width+i.padding).attr("height",g.height+i.padding),d.attr("class","divider").attr("x1",-g.width/2-w).attr("x2",g.width/2+w).attr("y1",-g.height/2-w+f.height+w).attr("y2",-g.height/2-w+f.height+w),k(i,l),i.intersect=function(t){return I.rect(i,t)},n}),"rectWithTitle"),rt=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.height+e.padding,s=r.width+i/4+e.padding,n=a.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-s/2).attr("y",-i/2).attr("width",s).attr("height",i);return k(e,n),e.intersect=function(t){return I.rect(e,t)},a}),"stadium"),it=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,X(a,void 0),!0),n=r.insert("circle",":first-child");return n.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s).attr("width",i.width+a.padding).attr("height",i.height+a.padding),e.info("Circle main"),k(a,n),a.intersect=function(t){return e.info("Circle intersect",a,i.width/2+s,t),I.circle(a,i.width/2+s,t)},r}),"circle"),st=t((async(t,a)=>{const{shapeSvg:r,bbox:i,halfPadding:s}=await m(t,a,X(a,void 0),!0),n=r.insert("g",":first-child"),l=n.insert("circle"),d=n.insert("circle");return n.attr("class",a.class),l.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s+5).attr("width",i.width+a.padding+10).attr("height",i.height+a.padding+10),d.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",i.width/2+s).attr("width",i.width+a.padding).attr("height",i.height+a.padding),e.info("DoubleCircle main"),k(a,l),a.intersect=function(t){return e.info("DoubleCircle intersect",a,i.width/2+s+5,t),I.circle(a,i.width/2+s+5,t)},r}),"doublecircle"),nt=t((async(t,e)=>{const{shapeSvg:a,bbox:r}=await m(t,e,X(e,void 0),!0),i=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:i,y:0},{x:i,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],l=v(a,i,s,n);return l.attr("style",e.style),k(e,l),e.intersect=function(t){return I.polygon(e,n,t)},a}),"subroutine"),lt=t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=a.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),k(e,r),e.intersect=function(t){return I.circle(e,7,t)},a}),"start"),dt=t(((t,e,a)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,s=10;"LR"===a&&(i=10,s=70);const n=r.append("rect").attr("x",-1*i/2).attr("y",-1*s/2).attr("width",i).attr("height",s).attr("class","fork-join");return k(e,n),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return I.rect(e,t)},r}),"forkJoin"),ot={rhombus:j,composite:K,question:j,rect:G,labelRect:tt,rectWithTitle:at,choice:U,circle:it,doublecircle:st,stadium:rt,hexagon:A,block_arrow:O,rect_left_inv_arrow:z,lean_right:Z,lean_left:q,trapezoid:V,inv_trapezoid:F,rect_right_inv_arrow:J,cylinder:Q,start:lt,end:t(((t,e)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=a.insert("circle",":first-child"),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),k(e,i),e.intersect=function(t){return I.circle(e,7,t)},a}),"end"),note:Y,subroutine:nt,fork:dt,join:dt,class_box:t(((t,e)=>{var i;const s=e.padding/2;let n;n=e.classes?"node "+e.classes:"node default";const l=t.insert("g").attr("class",n).attr("id",e.domId||e.id),d=l.insert("rect",":first-child"),o=l.insert("line"),h=l.insert("line");let y=0,p=4;const g=l.insert("g").attr("class","label");let x=0;const f=null==(i=e.classData.annotations)?void 0:i[0],u=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",w=g.node().appendChild(b(u,e.labelStyle,!0,!0));let m=w.getBBox();if(r(a().flowchart.htmlLabels)){const t=w.children[0],e=c(w);m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}e.classData.annotations[0]&&(p+=m.height+4,y+=m.width);let v=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&(a().flowchart.htmlLabels?v+="&lt;"+e.classData.type+"&gt;":v+="<"+e.classData.type+">");const L=g.node().appendChild(b(v,e.labelStyle,!0,!0));c(L).attr("class","classTitle");let S=L.getBBox();if(r(a().flowchart.htmlLabels)){const t=L.children[0],e=c(L);S=t.getBoundingClientRect(),e.attr("width",S.width),e.attr("height",S.height)}p+=S.height+4,S.width>y&&(y=S.width);const M=[];e.classData.members.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;a().flowchart.htmlLabels&&(s=s.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=g.node().appendChild(b(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let l=n.getBBox();if(r(a().flowchart.htmlLabels)){const t=n.children[0],e=c(n);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),p+=l.height+4,M.push(n)})),p+=8;const _=[];if(e.classData.methods.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;a().flowchart.htmlLabels&&(s=s.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=g.node().appendChild(b(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let l=n.getBBox();if(r(a().flowchart.htmlLabels)){const t=n.children[0],e=c(n);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),p+=l.height+4,_.push(n)})),p+=8,f){let t=(y-m.width)/2;c(w).attr("transform","translate( "+(-1*y/2+t)+", "+-1*p/2+")"),x=m.height+4}let B=(y-S.width)/2;return c(L).attr("transform","translate( "+(-1*y/2+B)+", "+(-1*p/2+x)+")"),x+=S.height+4,o.attr("class","divider").attr("x1",-y/2-s).attr("x2",y/2+s).attr("y1",-p/2-s+8+x).attr("y2",-p/2-s+8+x),x+=8,M.forEach((t=>{c(t).attr("transform","translate( "+-y/2+", "+(-1*p/2+x+4)+")");const e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4})),x+=8,h.attr("class","divider").attr("x1",-y/2-s).attr("x2",y/2+s).attr("y1",-p/2-s+8+x).attr("y2",-p/2-s+8+x),x+=8,_.forEach((t=>{c(t).attr("transform","translate( "+-y/2+", "+(-1*p/2+x)+")");const e=null==t?void 0:t.getBBox();x+=((null==e?void 0:e.height)??0)+4})),d.attr("style",e.style).attr("class","outer title-state").attr("x",-y/2-s).attr("y",-p/2-s).attr("width",y+e.padding).attr("height",p+e.padding),k(e,d),e.intersect=function(t){return I.rect(e,t)},l}),"class_box")},ht={},ct=t((async(t,e,r)=>{let i,s;if(e.link){let n;"sandbox"===a().securityLevel?n="_top":e.linkTarget&&(n=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",n),s=await ot[e.shape](i,e,r)}else s=await ot[e.shape](t,e,r),i=s;return e.tooltip&&s.attr("title",e.tooltip),e.class&&s.attr("class","node default "+e.class),ht[e.id]=i,e.haveCallback&&ht[e.id].attr("class",ht[e.id].attr("class")+" clickable"),i}),"insertNode"),yt=t(((t,e)=>{ht[e.id]=t}),"setNodeElem"),pt=t((()=>{ht={}}),"clear"),gt=t((t=>{const a=ht[t.id];e.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?a.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):a.attr("transform","translate("+t.x+", "+t.y+")"),r}),"positionNode"),xt=t(((t,e,a,r,i)=>{e.arrowTypeStart&&ut(t,"start",e.arrowTypeStart,a,r,i),e.arrowTypeEnd&&ut(t,"end",e.arrowTypeEnd,a,r,i)}),"addEdgeMarkers"),ft={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ut=t(((t,a,r,i,s,n)=>{const l=ft[r];if(!l)return void e.warn(`Unknown arrow type: ${r}`);const d="start"===a?"Start":"End";t.attr(`marker-${a}`,`url(${i}#${s}_${n}-${l}${d})`)}),"addEdgeMarker"),wt={},bt={},mt=t((()=>{wt={},bt={}}),"clear"),kt=t(((t,e)=>{const s=a(),n=r(s.flowchart.htmlLabels),l="markdown"===e.labelType?i(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},s):b(e.label,e.labelStyle),d=t.insert("g").attr("class","edgeLabel"),o=d.insert("g").attr("class","label");o.node().appendChild(l);let h,y=l.getBBox();if(n){const t=l.children[0],e=c(l);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}if(o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),wt[e.id]=d,e.width=y.width,e.height=y.height,e.startLabelLeft){const a=b(e.startLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),bt[e.id]||(bt[e.id]={}),bt[e.id].startLeft=r,vt(h,e.startLabelLeft)}if(e.startLabelRight){const a=b(e.startLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=r.node().appendChild(a),i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),bt[e.id]||(bt[e.id]={}),bt[e.id].startRight=r,vt(h,e.startLabelRight)}if(e.endLabelLeft){const a=b(e.endLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(a),bt[e.id]||(bt[e.id]={}),bt[e.id].endLeft=r,vt(h,e.endLabelLeft)}if(e.endLabelRight){const a=b(e.endLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");h=i.node().appendChild(a);const s=a.getBBox();i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(a),bt[e.id]||(bt[e.id]={}),bt[e.id].endRight=r,vt(h,e.endLabelRight)}return l}),"insertEdgeLabel");function vt(t,e){a().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}t(vt,"setTerminalWidth");var Lt=t(((t,r)=>{e.debug("Moving label abc88 ",t.id,t.label,wt[t.id],r);let i=r.updatedPath?r.updatedPath:r.originalPath;const l=a(),{subGraphTitleTotalMargin:d}=s(l);if(t.label){const a=wt[t.id];let s=t.x,l=t.y;if(i){const a=n.calcLabelPosition(i);e.debug("Moving label "+t.label+" from (",s,",",l,") to (",a.x,",",a.y,") abc88"),r.updatedPath&&(s=a.x,l=a.y)}a.attr("transform",`translate(${s}, ${l+d/2})`)}if(t.startLabelLeft){const e=bt[t.id].startLeft;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.startLabelRight){const e=bt[t.id].startRight;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.endLabelLeft){const e=bt[t.id].endLeft;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}if(t.endLabelRight){const e=bt[t.id].endRight;let a=t.x,r=t.y;if(i){const e=n.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",i);a=e.x,r=e.y}e.attr("transform",`translate(${a}, ${r})`)}}),"positionEdgeLabel"),St=t(((t,e)=>{const a=t.x,r=t.y,i=Math.abs(e.x-a),s=Math.abs(e.y-r),n=t.width/2,l=t.height/2;return i>=n||s>=l}),"outsideNode"),Mt=t(((t,a,r)=>{e.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(a)}\n insidePoint : ${JSON.stringify(r)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const i=t.x,s=t.y,n=Math.abs(i-r.x),l=t.width/2;let d=r.x<a.x?l-n:l+n;const o=t.height/2,h=Math.abs(a.y-r.y),c=Math.abs(a.x-r.x);if(Math.abs(s-a.y)*l>Math.abs(i-a.x)*o){let t=r.y<a.y?a.y-o-s:s-o-a.y;d=c*t/h;const i={x:r.x<a.x?r.x+d:r.x-c+d,y:r.y<a.y?r.y+h-t:r.y-h+t};return 0===d&&(i.x=a.x,i.y=a.y),0===c&&(i.x=a.x),0===h&&(i.y=a.y),e.debug(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${c}, r ${d}`,i),i}{d=r.x<a.x?a.x-l-i:i-l-a.x;let t=h*d/c,s=r.x<a.x?r.x+c-d:r.x-c+d,n=r.y<a.y?r.y+t:r.y-t;return e.debug(`sides calc abc89, Q ${h}, q ${t}, R ${c}, r ${d}`,{_x:s,_y:n}),0===d&&(s=a.x,n=a.y),0===c&&(s=a.x),0===h&&(n=a.y),{x:s,y:n}}}),"intersection"),_t=t(((t,a)=>{e.debug("abc88 cutPathAtIntersect",t,a);let r=[],i=t[0],s=!1;return t.forEach((t=>{if(St(a,t)||s)i=t,s||r.push(t);else{const e=Mt(a,i,t);let n=!1;r.forEach((t=>{n=n||t.x===e.x&&t.y===e.y})),r.some((t=>t.x===e.x&&t.y===e.y))||r.push(e),s=!0}})),r}),"cutPathAtIntersect"),Bt=t((function(t,r,i,s,n,d,o){let h=i.points;e.debug("abc88 InsertEdge: edge=",i,"e=",r);let c=!1;const g=d.node(r.v);var x=d.node(r.w);(null==x?void 0:x.intersect)&&(null==g?void 0:g.intersect)&&(h=h.slice(1,i.points.length-1),h.unshift(g.intersect(h[0])),h.push(x.intersect(h[h.length-1]))),i.toCluster&&(e.debug("to cluster abc88",s[i.toCluster]),h=_t(i.points,s[i.toCluster].node),c=!0),i.fromCluster&&(e.debug("from cluster abc88",s[i.fromCluster]),h=_t(h.reverse(),s[i.fromCluster].node).reverse(),c=!0);const f=h.filter((t=>!Number.isNaN(t.y)));let u=p;!i.curve||"graph"!==n&&"flowchart"!==n||(u=i.curve);const{x:w,y:b}=l(i),m=y().x(w).y(b).curve(u);let k;switch(i.thickness){case"normal":k="edge-thickness-normal";break;case"thick":case"invisible":k="edge-thickness-thick";break;default:k=""}switch(i.pattern){case"solid":k+=" edge-pattern-solid";break;case"dotted":k+=" edge-pattern-dotted";break;case"dashed":k+=" edge-pattern-dashed"}const v=t.append("path").attr("d",m(f)).attr("id",i.id).attr("class"," "+k+(i.classes?" "+i.classes:"")).attr("style",i.style);let L="";(a().flowchart.arrowMarkerAbsolute||a().state.arrowMarkerAbsolute)&&(L=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,L=L.replace(/\(/g,"\\("),L=L.replace(/\)/g,"\\)")),xt(v,i,L,o,n);let S={};return c&&(S.updatedPath=h),S.originalPath=i.points,S}),"insertEdge");export{mt as a,kt as b,pt as c,Bt as d,Lt as e,b as f,H as g,ct as i,f as m,gt as p,yt as s,k as u};
@@ -1 +1 @@
1
- import{_ as c}from"./mermaid-BNQ_dopT.js";function l(c,l){var t,e,a;c.accDescr&&(null==(t=l.setAccDescription)||t.call(l,c.accDescr)),c.accTitle&&(null==(e=l.setAccTitle)||e.call(l,c.accTitle)),c.title&&(null==(a=l.setDiagramTitle)||a.call(l,c.title))}c(l,"populateCommonDb");export{l as p};
1
+ import{_ as c}from"./mermaid-Dx1NNIRx.js";function l(c,l){var t,e,a;c.accDescr&&(null==(t=l.setAccDescription)||t.call(l,c.accDescr)),c.accTitle&&(null==(e=l.setAccTitle)||e.call(l,c.accTitle)),c.title&&(null==(a=l.setDiagramTitle)||a.call(l,c.title))}c(l,"populateCommonDb");export{l as p};
@@ -1 +1 @@
1
- import{_ as t,m as a,k as r}from"./mermaid-BNQ_dopT.js";var s=t(((t,a)=>{const r=t.append("rect");if(r.attr("x",a.x),r.attr("y",a.y),r.attr("fill",a.fill),r.attr("stroke",a.stroke),r.attr("width",a.width),r.attr("height",a.height),a.name&&r.attr("name",a.name),a.rx&&r.attr("rx",a.rx),a.ry&&r.attr("ry",a.ry),void 0!==a.attrs)for(const s in a.attrs)r.attr(s,a.attrs[s]);return a.class&&r.attr("class",a.class),r}),"drawRect"),e=t(((t,a)=>{const r={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};s(t,r).lower()}),"drawBackgroundRect"),n=t(((t,r)=>{const s=r.text.replace(a," "),e=t.append("text");e.attr("x",r.x),e.attr("y",r.y),e.attr("class","legend"),e.style("text-anchor",r.anchor),r.class&&e.attr("class",r.class);const n=e.append("tspan");return n.attr("x",r.x+2*r.textMargin),n.text(s),e}),"drawText"),x=t(((t,a,s,e)=>{const n=t.append("image");n.attr("x",a),n.attr("y",s);const x=r(e);n.attr("xlink:href",x)}),"drawImage"),c=t(((t,a,s,e)=>{const n=t.append("use");n.attr("x",a),n.attr("y",s);const x=r(e);n.attr("xlink:href",`#${x}`)}),"drawEmbeddedImage"),o=t((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),i=t((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj");export{i as a,e as b,c,s as d,x as e,n as f,o as g};
1
+ import{_ as t,m as a,k as r}from"./mermaid-Dx1NNIRx.js";var s=t(((t,a)=>{const r=t.append("rect");if(r.attr("x",a.x),r.attr("y",a.y),r.attr("fill",a.fill),r.attr("stroke",a.stroke),r.attr("width",a.width),r.attr("height",a.height),a.name&&r.attr("name",a.name),a.rx&&r.attr("rx",a.rx),a.ry&&r.attr("ry",a.ry),void 0!==a.attrs)for(const s in a.attrs)r.attr(s,a.attrs[s]);return a.class&&r.attr("class",a.class),r}),"drawRect"),e=t(((t,a)=>{const r={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};s(t,r).lower()}),"drawBackgroundRect"),n=t(((t,r)=>{const s=r.text.replace(a," "),e=t.append("text");e.attr("x",r.x),e.attr("y",r.y),e.attr("class","legend"),e.style("text-anchor",r.anchor),r.class&&e.attr("class",r.class);const n=e.append("tspan");return n.attr("x",r.x+2*r.textMargin),n.text(s),e}),"drawText"),x=t(((t,a,s,e)=>{const n=t.append("image");n.attr("x",a),n.attr("y",s);const x=r(e);n.attr("xlink:href",x)}),"drawImage"),c=t(((t,a,s,e)=>{const n=t.append("use");n.attr("x",a),n.attr("y",s);const x=r(e);n.attr("xlink:href",`#${x}`)}),"drawEmbeddedImage"),o=t((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),i=t((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj");export{i as a,e as b,c,s as d,x as e,n as f,o as g};
@@ -1 +1 @@
1
- import{c as t,a as e,s as a}from"./chunk-NGC4727B-BQzEs090.js";import{_ as r,d as i,l as n,j as d,u as o,O as s}from"./mermaid-BNQ_dopT.js";import{s as p}from"./transform-BZgIUWgO.js";import{G as l}from"./graph-DdADGOru.js";import{l as g}from"./layout-DG2h9DvT.js";import{l as c,k as h}from"./step-CjxFKgSe.js";import"./index-Czf0P_31.js";import"./_baseUniq-DCqXUnel.js";import"./_baseEach-DIjafkx3.js";import"./min-BIubUKUD.js";import"./_baseMap-DULNqShX.js";import"./sortBy-RWqkCoE9.js";var f=0,x=r((function(t,e,a,i,d){const s=r((function(t){switch(t){case d.db.relationType.AGGREGATION:return"aggregation";case d.db.relationType.EXTENSION:return"extension";case d.db.relationType.COMPOSITION:return"composition";case d.db.relationType.DEPENDENCY:return"dependency";case d.db.relationType.LOLLIPOP:return"lollipop"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));const p=e.points,l=c().x((function(t){return t.x})).y((function(t){return t.y})).curve(h),g=t.append("path").attr("d",l(p)).attr("id","edge"+f).attr("class","relation");let x,y,u="";i.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),1==a.relation.lineType&&g.attr("class","relation dashed-line"),10==a.relation.lineType&&g.attr("class","relation dotted-line"),"none"!==a.relation.type1&&g.attr("marker-start","url("+u+"#"+s(a.relation.type1)+"Start)"),"none"!==a.relation.type2&&g.attr("marker-end","url("+u+"#"+s(a.relation.type2)+"End)");const m=e.points.length;let b,w,k,E,L=o.calcLabelPosition(e.points);if(x=L.x,y=L.y,m%2!=0&&m>1){let t=o.calcCardinalityPosition("none"!==a.relation.type1,e.points,e.points[0]),r=o.calcCardinalityPosition("none"!==a.relation.type2,e.points,e.points[m-1]);n.debug("cardinality_1_point "+JSON.stringify(t)),n.debug("cardinality_2_point "+JSON.stringify(r)),b=t.x,w=t.y,k=r.x,E=r.y}if(void 0!==a.title){const e=t.append("g").attr("class","classLabel"),r=e.append("text").attr("class","label").attr("x",x).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(a.title);window.label=r;const n=r.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",n.x-i.padding/2).attr("y",n.y-i.padding/2).attr("width",n.width+i.padding).attr("height",n.height+i.padding)}if(n.info("Rendering relation "+JSON.stringify(a)),void 0!==a.relationTitle1&&"none"!==a.relationTitle1){t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",b).attr("y",w).attr("fill","black").attr("font-size","6").text(a.relationTitle1)}if(void 0!==a.relationTitle2&&"none"!==a.relationTitle2){t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",k).attr("y",E).attr("fill","black").attr("font-size","6").text(a.relationTitle2)}f++}),"drawEdge"),y=r((function(t,e,a,r){n.debug("Rendering class ",e,a);const i=e.id,d={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",r.db.lookUpDomId(i)).attr("class","classGroup");let s;s=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",a.textHeight+a.padding).attr("x",0):o.append("text").attr("y",a.textHeight+a.padding).attr("x",0);let p=!0;e.annotations.forEach((function(t){const e=s.append("tspan").text("«"+t+"»");p||e.attr("dy",a.textHeight),p=!1}));let l=u(e);const g=s.append("tspan").text(l).attr("class","title");p||g.attr("dy",a.textHeight);const c=s.node().getBBox().height;let h,f,x;if(e.members.length>0){h=o.append("line").attr("x1",0).attr("y1",a.padding+c+a.dividerMargin/2).attr("y2",a.padding+c+a.dividerMargin/2);const t=o.append("text").attr("x",a.padding).attr("y",c+a.dividerMargin+a.textHeight).attr("fill","white").attr("class","classText");p=!0,e.members.forEach((function(e){b(t,e,p,a),p=!1})),f=t.node().getBBox()}if(e.methods.length>0){x=o.append("line").attr("x1",0).attr("y1",a.padding+c+a.dividerMargin+f.height).attr("y2",a.padding+c+a.dividerMargin+f.height);const t=o.append("text").attr("x",a.padding).attr("y",c+2*a.dividerMargin+f.height+a.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach((function(e){b(t,e,p,a),p=!1}))}const y=o.node().getBBox();var m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));const w=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*a.padding).attr("height",y.height+a.padding+.5*a.dividerMargin).attr("class",m).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(w-t.getBBox().width)/2)})),e.tooltip&&s.insert("title").text(e.tooltip),h&&h.attr("x2",w),x&&x.attr("x2",w),d.width=w,d.height=y.height+a.padding+.5*a.dividerMargin,d}),"drawClass"),u=r((function(t){let e=t.id;return t.type&&(e+="<"+s(t.type)+">"),e}),"getClassTitleString"),m=r((function(t,e,a,r){n.debug("Rendering note ",e,a);const i=e.id,d={id:i,text:e.text,width:0,height:0},o=t.append("g").attr("id",i).attr("class","classGroup");let s=o.append("text").attr("y",a.textHeight+a.padding).attr("x",0);const p=JSON.parse(`"${e.text}"`).split("\n");p.forEach((function(t){n.debug(`Adding line: ${t}`),s.append("tspan").text(t).attr("class","title").attr("dy",a.textHeight)}));const l=o.node().getBBox(),g=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",l.width+2*a.padding).attr("height",l.height+p.length*a.textHeight+a.padding+.5*a.dividerMargin).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(g-t.getBBox().width)/2)})),d.width=g,d.height=l.height+p.length*a.textHeight+a.padding+.5*a.dividerMargin,d}),"drawNote"),b=r((function(t,e,a,r){const{displayText:i,cssStyle:n}=e.getDisplayDetails(),d=t.append("tspan").attr("x",r.padding).text(i);""!==n&&d.attr("style",e.cssStyle),a||d.attr("dy",r.textHeight)}),"addTspan"),w={getClassTitleString:u,drawClass:y,drawEdge:x,drawNote:m},k={},E=r((function(t){const e=Object.entries(k).find((e=>e[1].label===t));if(e)return e[0]}),"getGraphId"),L=r((function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),N={parser:t,db:e,renderer:{draw:r((function(t,e,a,r){const o=i().class;k={},n.info("Rendering diagram "+t);const s=i().securityLevel;let c;"sandbox"===s&&(c=p("#i"+e));const h=p("sandbox"===s?c.nodes()[0].contentDocument.body:"body"),f=h.select(`[id='${e}']`);L(f);const x=new l({multigraph:!0});x.setGraph({isMultiGraph:!0}),x.setDefaultEdgeLabel((function(){return{}}));const y=r.db.getClasses(),u=[...y.keys()];for(const i of u){const t=y.get(i),e=w.drawClass(f,t,o,r);k[e.id]=e,x.setNode(e.id,e),n.info("Org height: "+e.height)}r.db.getRelations().forEach((function(t){n.info("tjoho"+E(t.id1)+E(t.id2)+JSON.stringify(t)),x.setEdge(E(t.id1),E(t.id2),{relation:t},t.title||"DEFAULT")}));r.db.getNotes().forEach((function(t){n.debug(`Adding note: ${JSON.stringify(t)}`);const e=w.drawNote(f,t,o,r);k[e.id]=e,x.setNode(e.id,e),t.class&&y.has(t.class)&&x.setEdge(t.id,E(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),g(x),x.nodes().forEach((function(t){void 0!==t&&void 0!==x.node(t)&&(n.debug("Node "+t+": "+JSON.stringify(x.node(t))),h.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(x.node(t).x-x.node(t).width/2)+","+(x.node(t).y-x.node(t).height/2)+" )"))})),x.edges().forEach((function(t){void 0!==t&&void 0!==x.edge(t)&&(n.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(x.edge(t))),w.drawEdge(f,x.edge(t),x.edge(t).relation,o,r))}));const m=f.node().getBBox(),b=m.width+40,N=m.height+40;d(f,N,b,o.useMaxWidth);const T=`${m.x-20} ${m.y-20} ${b} ${N}`;n.debug(`viewBox ${T}`),f.attr("viewBox",T)}),"draw")},styles:a,init:r((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,e.clear()}),"init")};export{N as diagram};
1
+ import{c as t,a as e,s as a}from"./chunk-NGC4727B-DR3CLtBq.js";import{_ as r,d as i,l as n,j as d,u as o,O as s}from"./mermaid-Dx1NNIRx.js";import{s as p}from"./transform-BZgIUWgO.js";import{G as l}from"./graph-j_j5l0yg.js";import{l as g}from"./layout-Z74chQBE.js";import{l as c,k as h}from"./step-CjxFKgSe.js";import"./index-cuU-cCxn.js";import"./_baseUniq-D0mt6Nkw.js";import"./_baseEach-DTAAvc0j.js";import"./min-Y3uj9mWt.js";import"./_baseMap-DA6uSGd8.js";import"./sortBy-CEfN9PQC.js";var f=0,x=r((function(t,e,a,i,d){const s=r((function(t){switch(t){case d.db.relationType.AGGREGATION:return"aggregation";case d.db.relationType.EXTENSION:return"extension";case d.db.relationType.COMPOSITION:return"composition";case d.db.relationType.DEPENDENCY:return"dependency";case d.db.relationType.LOLLIPOP:return"lollipop"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));const p=e.points,l=c().x((function(t){return t.x})).y((function(t){return t.y})).curve(h),g=t.append("path").attr("d",l(p)).attr("id","edge"+f).attr("class","relation");let x,y,u="";i.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),1==a.relation.lineType&&g.attr("class","relation dashed-line"),10==a.relation.lineType&&g.attr("class","relation dotted-line"),"none"!==a.relation.type1&&g.attr("marker-start","url("+u+"#"+s(a.relation.type1)+"Start)"),"none"!==a.relation.type2&&g.attr("marker-end","url("+u+"#"+s(a.relation.type2)+"End)");const m=e.points.length;let b,w,k,E,L=o.calcLabelPosition(e.points);if(x=L.x,y=L.y,m%2!=0&&m>1){let t=o.calcCardinalityPosition("none"!==a.relation.type1,e.points,e.points[0]),r=o.calcCardinalityPosition("none"!==a.relation.type2,e.points,e.points[m-1]);n.debug("cardinality_1_point "+JSON.stringify(t)),n.debug("cardinality_2_point "+JSON.stringify(r)),b=t.x,w=t.y,k=r.x,E=r.y}if(void 0!==a.title){const e=t.append("g").attr("class","classLabel"),r=e.append("text").attr("class","label").attr("x",x).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(a.title);window.label=r;const n=r.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",n.x-i.padding/2).attr("y",n.y-i.padding/2).attr("width",n.width+i.padding).attr("height",n.height+i.padding)}if(n.info("Rendering relation "+JSON.stringify(a)),void 0!==a.relationTitle1&&"none"!==a.relationTitle1){t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",b).attr("y",w).attr("fill","black").attr("font-size","6").text(a.relationTitle1)}if(void 0!==a.relationTitle2&&"none"!==a.relationTitle2){t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",k).attr("y",E).attr("fill","black").attr("font-size","6").text(a.relationTitle2)}f++}),"drawEdge"),y=r((function(t,e,a,r){n.debug("Rendering class ",e,a);const i=e.id,d={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",r.db.lookUpDomId(i)).attr("class","classGroup");let s;s=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",a.textHeight+a.padding).attr("x",0):o.append("text").attr("y",a.textHeight+a.padding).attr("x",0);let p=!0;e.annotations.forEach((function(t){const e=s.append("tspan").text("«"+t+"»");p||e.attr("dy",a.textHeight),p=!1}));let l=u(e);const g=s.append("tspan").text(l).attr("class","title");p||g.attr("dy",a.textHeight);const c=s.node().getBBox().height;let h,f,x;if(e.members.length>0){h=o.append("line").attr("x1",0).attr("y1",a.padding+c+a.dividerMargin/2).attr("y2",a.padding+c+a.dividerMargin/2);const t=o.append("text").attr("x",a.padding).attr("y",c+a.dividerMargin+a.textHeight).attr("fill","white").attr("class","classText");p=!0,e.members.forEach((function(e){b(t,e,p,a),p=!1})),f=t.node().getBBox()}if(e.methods.length>0){x=o.append("line").attr("x1",0).attr("y1",a.padding+c+a.dividerMargin+f.height).attr("y2",a.padding+c+a.dividerMargin+f.height);const t=o.append("text").attr("x",a.padding).attr("y",c+2*a.dividerMargin+f.height+a.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach((function(e){b(t,e,p,a),p=!1}))}const y=o.node().getBBox();var m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));const w=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*a.padding).attr("height",y.height+a.padding+.5*a.dividerMargin).attr("class",m).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(w-t.getBBox().width)/2)})),e.tooltip&&s.insert("title").text(e.tooltip),h&&h.attr("x2",w),x&&x.attr("x2",w),d.width=w,d.height=y.height+a.padding+.5*a.dividerMargin,d}),"drawClass"),u=r((function(t){let e=t.id;return t.type&&(e+="<"+s(t.type)+">"),e}),"getClassTitleString"),m=r((function(t,e,a,r){n.debug("Rendering note ",e,a);const i=e.id,d={id:i,text:e.text,width:0,height:0},o=t.append("g").attr("id",i).attr("class","classGroup");let s=o.append("text").attr("y",a.textHeight+a.padding).attr("x",0);const p=JSON.parse(`"${e.text}"`).split("\n");p.forEach((function(t){n.debug(`Adding line: ${t}`),s.append("tspan").text(t).attr("class","title").attr("dy",a.textHeight)}));const l=o.node().getBBox(),g=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",l.width+2*a.padding).attr("height",l.height+p.length*a.textHeight+a.padding+.5*a.dividerMargin).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(g-t.getBBox().width)/2)})),d.width=g,d.height=l.height+p.length*a.textHeight+a.padding+.5*a.dividerMargin,d}),"drawNote"),b=r((function(t,e,a,r){const{displayText:i,cssStyle:n}=e.getDisplayDetails(),d=t.append("tspan").attr("x",r.padding).text(i);""!==n&&d.attr("style",e.cssStyle),a||d.attr("dy",r.textHeight)}),"addTspan"),w={getClassTitleString:u,drawClass:y,drawEdge:x,drawNote:m},k={},E=r((function(t){const e=Object.entries(k).find((e=>e[1].label===t));if(e)return e[0]}),"getGraphId"),L=r((function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),N={parser:t,db:e,renderer:{draw:r((function(t,e,a,r){const o=i().class;k={},n.info("Rendering diagram "+t);const s=i().securityLevel;let c;"sandbox"===s&&(c=p("#i"+e));const h=p("sandbox"===s?c.nodes()[0].contentDocument.body:"body"),f=h.select(`[id='${e}']`);L(f);const x=new l({multigraph:!0});x.setGraph({isMultiGraph:!0}),x.setDefaultEdgeLabel((function(){return{}}));const y=r.db.getClasses(),u=[...y.keys()];for(const i of u){const t=y.get(i),e=w.drawClass(f,t,o,r);k[e.id]=e,x.setNode(e.id,e),n.info("Org height: "+e.height)}r.db.getRelations().forEach((function(t){n.info("tjoho"+E(t.id1)+E(t.id2)+JSON.stringify(t)),x.setEdge(E(t.id1),E(t.id2),{relation:t},t.title||"DEFAULT")}));r.db.getNotes().forEach((function(t){n.debug(`Adding note: ${JSON.stringify(t)}`);const e=w.drawNote(f,t,o,r);k[e.id]=e,x.setNode(e.id,e),t.class&&y.has(t.class)&&x.setEdge(t.id,E(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),g(x),x.nodes().forEach((function(t){void 0!==t&&void 0!==x.node(t)&&(n.debug("Node "+t+": "+JSON.stringify(x.node(t))),h.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(x.node(t).x-x.node(t).width/2)+","+(x.node(t).y-x.node(t).height/2)+" )"))})),x.edges().forEach((function(t){void 0!==t&&void 0!==x.edge(t)&&(n.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(x.edge(t))),w.drawEdge(f,x.edge(t),x.edge(t).relation,o,r))}));const m=f.node().getBBox(),b=m.width+40,N=m.height+40;d(f,N,b,o.useMaxWidth);const T=`${m.x-20} ${m.y-20} ${b} ${N}`;n.debug(`viewBox ${T}`),f.attr("viewBox",T)}),"draw")},styles:a,init:r((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,e.clear()}),"init")};export{N as diagram};
@@ -1 +1 @@
1
- import{m as e,c as t,a as n,u as i,s as r,i as a,b as o,p as s,d,e as l,f as c,g as h}from"./chunk-REEJFE46-D-tQcFs7.js";import{c as g,a as f,s as p}from"./chunk-NGC4727B-BQzEs090.js";import{_ as u,l as w,d as y,u as b,P as v,Q as m,R as x,v as N,e as E,S,T,V as C}from"./mermaid-BNQ_dopT.js";import{s as k}from"./transform-BZgIUWgO.js";import{G as X}from"./graph-DdADGOru.js";import{l as D}from"./layout-DG2h9DvT.js";import{w as B}from"./json-yf_vWmgp.js";import{n as j}from"./step-CjxFKgSe.js";import"./index-Czf0P_31.js";import"./_baseUniq-DCqXUnel.js";import"./_baseEach-DIjafkx3.js";import"./min-BIubUKUD.js";import"./_baseMap-DULNqShX.js";import"./sortBy-RWqkCoE9.js";import"./clone-DRG_CBNx.js";var L={},O={},R={},G=u((()=>{O={},R={},L={}}),"clear"),I=u(((e,t)=>(w.trace("In isDescendant",t," ",e," = ",O[t].includes(e)),!!O[t].includes(e))),"isDescendant"),J=u(((e,t)=>(w.info("Descendants of ",t," is ",O[t]),w.info("Edge is ",e),e.v!==t&&(e.w!==t&&(O[t]?O[t].includes(e.v)||I(e.v,t)||I(e.w,t)||O[t].includes(e.w):(w.debug("Tilt, ",t,",not in descendants"),!1))))),"edgeInCluster"),A=u(((e,t,n,i)=>{w.warn("Copying children of ",e,"root",i,"data",t.node(e),i);const r=t.children(e)||[];e!==i&&r.push(e),w.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach((r=>{if(t.children(r).length>0)A(r,t,n,i);else{const a=t.node(r);w.info("cp ",r," to ",i," with parent ",e),n.setNode(r,a),i!==t.parent(r)&&(w.warn("Setting parent",r,t.parent(r)),n.setParent(r,t.parent(r))),e!==i&&r!==e?(w.debug("Setting parent",r,e),n.setParent(r,e)):(w.info("In copy ",e,"root",i,"data",t.node(e),i),w.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==i,"node!==clusterId",r!==e));const o=t.edges(r);w.debug("Copying Edges",o),o.forEach((r=>{w.info("Edge",r);const a=t.edge(r.v,r.w,r.name);w.info("Edge data",a,i);try{J(r,i)?(w.info("Copying as ",r.v,r.w,a,r.name),n.setEdge(r.v,r.w,a,r.name),w.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):w.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",i," clusterId:",e)}catch(o){w.error(o)}}))}w.debug("Removing node",r),t.removeNode(r)}))}),"copy"),M=u(((e,t)=>{const n=t.children(e);let i=[...n];for(const r of n)R[r]=e,i=[...i,...M(r,t)];return i}),"extractDescendants"),P=u(((e,t)=>{w.trace("Searching",e);const n=t.children(e);if(w.trace("Searching children of id ",e,n),n.length<1)return w.trace("This is a valid node",e),e;for(const i of n){const n=P(i,t);if(n)return w.trace("Found replacement for",e," => ",n),n}}),"findNonClusterChild"),F=u((e=>L[e]&&L[e].externalConnections&&L[e]?L[e].id:e),"getAnchorId"),$=u(((e,t)=>{if(!e||t>10)w.debug("Opting out, no graph ");else{w.debug("Opting in, graph "),e.nodes().forEach((function(t){e.children(t).length>0&&(w.warn("Cluster identified",t," Replacement id in edges: ",P(t,e)),O[t]=M(t,e),L[t]={id:P(t,e),clusterData:e.node(t)})})),e.nodes().forEach((function(t){const n=e.children(t),i=e.edges();n.length>0?(w.debug("Cluster identified",t,O),i.forEach((e=>{if(e.v!==t&&e.w!==t){I(e.v,t)^I(e.w,t)&&(w.warn("Edge: ",e," leaves cluster ",t),w.warn("Descendants of XXX ",t,": ",O[t]),L[t].externalConnections=!0)}}))):w.debug("Not a cluster ",t,O)}));for(let t of Object.keys(L)){const n=L[t].id,i=e.parent(n);i!==t&&L[i]&&!L[i].externalConnections&&(L[t].id=i)}e.edges().forEach((function(t){const n=e.edge(t);w.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),w.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let i=t.v,r=t.w;if(w.warn("Fix XXX",L,"ids:",t.v,t.w,"Translating: ",L[t.v]," --- ",L[t.w]),L[t.v]&&L[t.w]&&L[t.v]===L[t.w]){w.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),w.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=F(t.v),r=F(t.w),e.removeEdge(t.v,t.w,t.name);const a=t.w+"---"+t.v;e.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const o=structuredClone(n),s=structuredClone(n);o.label="",o.arrowTypeEnd="none",s.label="",o.fromCluster=t.v,s.toCluster=t.v,e.setEdge(i,a,o,t.name+"-cyclic-special"),e.setEdge(a,r,s,t.name+"-cyclic-special")}else if(L[t.v]||L[t.w]){if(w.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=F(t.v),r=F(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){const r=e.parent(i);L[r].externalConnections=!0,n.fromCluster=t.v}if(r!==t.w){const i=e.parent(r);L[i].externalConnections=!0,n.toCluster=t.w}w.warn("Fix Replacing with XXX",i,r,t.name),e.setEdge(i,r,n,t.name)}})),w.warn("Adjusted Graph",B(e)),_(e,0),w.trace(L)}}),"adjustClustersAndEdges"),_=u(((e,t)=>{var n,i;if(w.warn("extractor - ",t,B(e),e.children("D")),t>10)return void w.error("Bailing out");let r=e.nodes(),a=!1;for(const o of r){const t=e.children(o);a=a||t.length>0}if(a){w.debug("Nodes = ",r,t);for(const a of r)if(w.debug("Extracting node",a,L,L[a]&&!L[a].externalConnections,!e.parent(a),e.node(a),e.children("D")," Depth ",t),L[a])if(!L[a].externalConnections&&e.children(a)&&e.children(a).length>0){w.warn("Cluster without external connections, without a parent and with children",a,t);let r="TB"===e.graph().rankdir?"LR":"TB";(null==(i=null==(n=L[a])?void 0:n.clusterData)?void 0:i.dir)&&(r=L[a].clusterData.dir,w.warn("Fixing dir",L[a].clusterData.dir,r));const o=new X({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));w.warn("Old graph before copy",B(e)),A(a,e,o,a),e.setNode(a,{clusterNode:!0,id:a,clusterData:L[a].clusterData,labelText:L[a].labelText,graph:o}),w.warn("New graph after copy node: (",a,")",B(o)),w.debug("Old graph after copy",B(e))}else w.warn("Cluster ** ",a," **not meeting the criteria !externalConnections:",!L[a].externalConnections," no parent: ",!e.parent(a)," children ",e.children(a)&&e.children(a).length>0,e.children("D"),t),w.debug(L);else w.debug("Not a cluster",a,t);r=e.nodes(),w.warn("New list of nodes",r);for(const n of r){const i=e.node(n);w.warn(" Now next level",n,i),i.clusterNode&&_(i.graph,t+1)}}else w.debug("Done, no node has children",e.nodes())}),"extractor"),H=u(((e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach((t=>{const i=e.children(t),r=H(e,i);n=[...n,...r]})),n}),"sorter"),W=u((e=>H(e,e.children())),"sortNodesByHierarchy"),q=u(((e,t)=>{w.info("Creating subgraph rect for ",t.id,t);const n=y(),i=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=i.insert("rect",":first-child"),a=T(n.flowchart.htmlLabels),o=i.insert("g").attr("class","cluster-label"),s="markdown"===t.labelType?C(o,t.labelText,{style:t.labelStyle,useHtmlLabels:a},n):o.node().appendChild(c(t.labelText,t.labelStyle,void 0,!0));let d=s.getBBox();if(T(n.flowchart.htmlLabels)){const e=s.children[0],t=k(s);d=e.getBoundingClientRect(),t.attr("width",d.width),t.attr("height",d.height)}const l=0*t.padding,g=l/2,f=t.width<=d.width+l?d.width+l:t.width;t.width<=d.width+l?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,w.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-f/2).attr("y",t.y-t.height/2-g).attr("width",f).attr("height",t.height+l);const{subGraphTitleTopMargin:p}=S(n);a?o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+p})`):o.attr("transform",`translate(${t.x}, ${t.y-t.height/2+p})`);const u=r.node().getBBox();return t.width=u.width,t.height=u.height,t.intersect=function(e){return h(t,e)},i}),"rect"),z=u(((e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding,a=r/2;i.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+r).attr("height",t.height+r).attr("fill","none");const o=i.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return h(t,e)},n}),"noteGroup"),Q={rect:q,roundedWithTitle:u(((e,t)=>{const n=y(),i=e.insert("g").attr("class",t.classes).attr("id",t.id),r=i.insert("rect",":first-child"),a=i.insert("g").attr("class","cluster-label"),o=i.append("rect"),s=a.node().appendChild(c(t.labelText,t.labelStyle,void 0,!0));let d=s.getBBox();if(T(n.flowchart.htmlLabels)){const e=s.children[0],t=k(s);d=e.getBoundingClientRect(),t.attr("width",d.width),t.attr("height",d.height)}d=s.getBBox();const l=0*t.padding,g=l/2,f=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g).attr("width",f+l).attr("height",t.height+l),o.attr("class","inner").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g+d.height-1).attr("width",f+l).attr("height",t.height+l-d.height-3);const{subGraphTitleTopMargin:p}=S(n);a.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(T(n.flowchart.htmlLabels)?5:3)+p})`);const u=r.node().getBBox();return t.height=u.height,t.intersect=function(e){return h(t,e)},i}),"roundedWithTitle"),noteGroup:z,divider:u(((e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding,a=r/2;i.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+r).attr("height",t.height+r);const o=i.node().getBBox();return t.width=o.width,t.height=o.height,t.diff=-t.padding/2,t.intersect=function(e){return h(t,e)},n}),"divider")},U={},V=u(((e,t)=>{w.trace("Inserting cluster");const n=t.shape||"rect";U[t.id]=Q[n](e,t)}),"insertCluster"),Y=u((()=>{U={}}),"clear"),K=u((async(e,t,n,c,h,g)=>{w.info("Graph in recursive render: XXX",B(t),h);const f=t.graph().rankdir;w.trace("Dir in recursive render - dir:",f);const p=e.insert("g").attr("class","root");t.nodes()?w.info("Recursive render XXX",t.nodes()):w.info("No nodes found for",t),t.edges().length>0&&w.trace("Recursive edges",t.edge(t.edges()[0]));const u=p.insert("g").attr("class","clusters"),y=p.insert("g").attr("class","edgePaths"),b=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");await Promise.all(t.nodes().map((async function(e){const o=t.node(e);if(void 0!==h){const n=JSON.parse(JSON.stringify(h.clusterData));w.info("Setting data for cluster XXX (",e,") ",n,h),t.setNode(h.id,n),t.parent(e)||(w.trace("Setting parent",e,h.id),t.setParent(e,h.id,n))}if(w.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),null==o?void 0:o.clusterNode){w.info("Cluster identified",e,o.width,t.node(e));const{ranksep:a,nodesep:s}=t.graph();o.graph.setGraph({...o.graph.graph(),ranksep:a,nodesep:s});const d=await K(v,o.graph,n,c,t.node(e),g),l=d.elem;i(o,l),o.diff=d.diff||0,w.info("Node bounds (abc123)",e,o,o.width,o.x,o.y),r(l,o),w.warn("Recursive render complete ",l,o)}else t.children(e).length>0?(w.info("Cluster - the non recursive path XXX",e,o.id,o,t),w.info(P(o.id,t)),L[o.id]={id:P(o.id,t),node:o}):(w.info("Node - the non recursive path",e,o.id,o),await a(v,t.node(e),{config:g,dir:f}))}))),t.edges().forEach((async function(e){const n=t.edge(e.v,e.w,e.name);w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),w.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),w.info("Fix",L,"ids:",e.v,e.w,"Translating: ",L[e.v],L[e.w]),await o(b,n)})),t.edges().forEach((function(e){w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))})),w.info("Graph before layout:",JSON.stringify(B(t))),w.info("#############################################"),w.info("### Layout ###"),w.info("#############################################"),w.info(t),D(t),w.info("Graph after layout:",JSON.stringify(B(t)));let m=0;const{subGraphTitleTotalMargin:x}=S(g);return W(t).forEach((function(e){const n=t.node(e);w.info("Position "+e+": "+JSON.stringify(t.node(e))),w.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),(null==n?void 0:n.clusterNode)?(n.y+=x,s(n)):t.children(e).length>0?(n.height+=x,V(u,n),L[n.id].node=n):(n.y+=x/2,s(n))})),t.edges().forEach((function(e){const i=t.edge(e);w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(i),i),i.points.forEach((e=>e.y+=x/2));const r=d(y,e,i,L,n,t,c);l(i,r)})),t.nodes().forEach((function(e){const n=t.node(e);w.info(e,n.type,n.diff),"group"===n.type&&(m=n.diff)})),{elem:p,diff:m}}),"recursiveRender"),Z=u((async(i,r,a,o,s)=>{e(i,a,o,s),t(),n(),Y(),G(),w.warn("Graph at first:",JSON.stringify(B(r))),$(r),w.warn("Graph after:",JSON.stringify(B(r)));const d=y();await K(i,r,o,s,void 0,d)}),"render"),ee=u((e=>E.sanitizeText(e,y())),"sanitizeText"),te={dividerMargin:10,padding:5,textHeight:10,curve:void 0},ne=u((function(e,t,n,i){w.info("keys:",[...e.keys()]),w.info(e),e.forEach((function(e){var r,a;const o={shape:"rect",id:e.id,domId:e.domId,labelText:ee(e.id),labelStyle:"",style:"fill: none; stroke: black",padding:(null==(r=y().flowchart)?void 0:r.padding)??(null==(a=y().class)?void 0:a.padding)};t.setNode(e.id,o),ie(e.classes,t,n,i,e.id),w.info("setNode",o)}))}),"addNamespaces"),ie=u((function(e,t,n,i,r){w.info("keys:",[...e.keys()]),w.info(e),[...e.values()].filter((e=>e.parent===r)).forEach((function(e){var n,a;const o=e.cssClasses.join(" "),s=m(e.styles),d=e.label??e.id,l={labelStyle:s.labelStyle,shape:"class_box",labelText:ee(d),classData:e,rx:0,ry:0,class:o,style:s.style,id:e.id,domId:e.domId,tooltip:i.db.getTooltip(e.id,r)||"",haveCallback:e.haveCallback,link:e.link,width:"group"===e.type?500:void 0,type:e.type,padding:(null==(n=y().flowchart)?void 0:n.padding)??(null==(a=y().class)?void 0:a.padding)};t.setNode(e.id,l),r&&t.setParent(e.id,r),w.info("setNode",l)}))}),"addClasses"),re=u((function(e,t,n,i){w.info(e),e.forEach((function(e,r){var a,o;const s=e,d="",l="",c=s.text,h={labelStyle:d,shape:"note",labelText:ee(c),noteData:s,rx:0,ry:0,class:"",style:l,id:s.id,domId:s.id,tooltip:"",type:"note",padding:(null==(a=y().flowchart)?void 0:a.padding)??(null==(o=y().class)?void 0:o.padding)};if(t.setNode(s.id,h),w.info("setNode",h),!s.class||!i.has(s.class))return;const g=n+r,f={id:`edgeNote${g}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:x(te.curve,j)};t.setEdge(s.id,s.class,f,g)}))}),"addNotes"),ae=u((function(e,t){const n=y().flowchart;let i=0;e.forEach((function(e){var r;i++;const a={classes:"relation",pattern:1==e.relation.lineType?"dashed":"solid",id:N(e.id1,e.id2,{prefix:"id",counter:i}),arrowhead:"arrow_open"===e.type?"none":"normal",startLabelRight:"none"===e.relationTitle1?"":e.relationTitle1,endLabelLeft:"none"===e.relationTitle2?"":e.relationTitle2,arrowTypeStart:de(e.relation.type1),arrowTypeEnd:de(e.relation.type2),style:"fill:none",labelStyle:"",curve:x(null==n?void 0:n.curve,j)};if(w.info(a,e),void 0!==e.style){const t=m(e.style);a.style=t.style,a.labelStyle=t.labelStyle}e.text=e.title,void 0===e.text?void 0!==e.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",(null==(r=y().flowchart)?void 0:r.htmlLabels)??y().htmlLabels?(a.labelType="html",a.label='<span class="edgeLabel">'+e.text+"</span>"):(a.labelType="text",a.label=e.text.replace(E.lineBreakRegex,"\n"),void 0===e.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,a,i)}))}),"addRelations"),oe=u((function(e){te={...te,...e}}),"setConf"),se=u((async function(e,t,n,i){w.info("Drawing class - ",t);const r=y().flowchart??y().class,a=y().securityLevel;w.info("config:",r);const o=(null==r?void 0:r.nodeSpacing)??50,s=(null==r?void 0:r.rankSpacing)??50,d=new X({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),l=i.db.getNamespaces(),c=i.db.getClasses(),h=i.db.getRelations(),g=i.db.getNotes();let f;w.info(h),ne(l,d,t,i),ie(c,d,t,i),ae(h,d),re(g,d,h.length+1,c),"sandbox"===a&&(f=k("#i"+t));const p=k("sandbox"===a?f.nodes()[0].contentDocument.body:"body"),u=p.select(`[id="${t}"]`),m=p.select("#"+t+" g");if(await Z(m,d,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),b.insertTitle(u,"classTitleText",(null==r?void 0:r.titleTopMargin)??5,i.db.getDiagramTitle()),v(d,u,null==r?void 0:r.diagramPadding,null==r?void 0:r.useMaxWidth),!(null==r?void 0:r.htmlLabels)){const e="sandbox"===a?f.nodes()[0].contentDocument:document,n=e.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of n){const n=t.getBBox(),i=e.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",n.width),i.setAttribute("height",n.height),t.insertBefore(i,t.firstChild)}}}),"draw");function de(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}u(de,"getArrowMarker");var le={parser:g,db:f,renderer:{setConf:oe,draw:se},styles:p,init:u((e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,f.clear()}),"init")};export{le as diagram};
1
+ import{m as e,c as t,a as n,u as i,s as r,i as a,b as o,p as s,d,e as l,f as c,g as h}from"./chunk-REEJFE46-BZy19elD.js";import{c as g,a as f,s as p}from"./chunk-NGC4727B-DR3CLtBq.js";import{_ as u,l as w,d as y,u as b,P as v,Q as m,R as x,v as N,e as E,S,T,V as C}from"./mermaid-Dx1NNIRx.js";import{s as k}from"./transform-BZgIUWgO.js";import{G as X}from"./graph-j_j5l0yg.js";import{l as D}from"./layout-Z74chQBE.js";import{w as B}from"./json-iXgdlIGP.js";import{n as j}from"./step-CjxFKgSe.js";import"./index-cuU-cCxn.js";import"./_baseUniq-D0mt6Nkw.js";import"./_baseEach-DTAAvc0j.js";import"./min-Y3uj9mWt.js";import"./_baseMap-DA6uSGd8.js";import"./sortBy-CEfN9PQC.js";import"./clone-CVp_a3QL.js";var L={},O={},R={},G=u((()=>{O={},R={},L={}}),"clear"),I=u(((e,t)=>(w.trace("In isDescendant",t," ",e," = ",O[t].includes(e)),!!O[t].includes(e))),"isDescendant"),J=u(((e,t)=>(w.info("Descendants of ",t," is ",O[t]),w.info("Edge is ",e),e.v!==t&&(e.w!==t&&(O[t]?O[t].includes(e.v)||I(e.v,t)||I(e.w,t)||O[t].includes(e.w):(w.debug("Tilt, ",t,",not in descendants"),!1))))),"edgeInCluster"),A=u(((e,t,n,i)=>{w.warn("Copying children of ",e,"root",i,"data",t.node(e),i);const r=t.children(e)||[];e!==i&&r.push(e),w.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach((r=>{if(t.children(r).length>0)A(r,t,n,i);else{const a=t.node(r);w.info("cp ",r," to ",i," with parent ",e),n.setNode(r,a),i!==t.parent(r)&&(w.warn("Setting parent",r,t.parent(r)),n.setParent(r,t.parent(r))),e!==i&&r!==e?(w.debug("Setting parent",r,e),n.setParent(r,e)):(w.info("In copy ",e,"root",i,"data",t.node(e),i),w.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==i,"node!==clusterId",r!==e));const o=t.edges(r);w.debug("Copying Edges",o),o.forEach((r=>{w.info("Edge",r);const a=t.edge(r.v,r.w,r.name);w.info("Edge data",a,i);try{J(r,i)?(w.info("Copying as ",r.v,r.w,a,r.name),n.setEdge(r.v,r.w,a,r.name),w.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):w.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",i," clusterId:",e)}catch(o){w.error(o)}}))}w.debug("Removing node",r),t.removeNode(r)}))}),"copy"),M=u(((e,t)=>{const n=t.children(e);let i=[...n];for(const r of n)R[r]=e,i=[...i,...M(r,t)];return i}),"extractDescendants"),P=u(((e,t)=>{w.trace("Searching",e);const n=t.children(e);if(w.trace("Searching children of id ",e,n),n.length<1)return w.trace("This is a valid node",e),e;for(const i of n){const n=P(i,t);if(n)return w.trace("Found replacement for",e," => ",n),n}}),"findNonClusterChild"),F=u((e=>L[e]&&L[e].externalConnections&&L[e]?L[e].id:e),"getAnchorId"),$=u(((e,t)=>{if(!e||t>10)w.debug("Opting out, no graph ");else{w.debug("Opting in, graph "),e.nodes().forEach((function(t){e.children(t).length>0&&(w.warn("Cluster identified",t," Replacement id in edges: ",P(t,e)),O[t]=M(t,e),L[t]={id:P(t,e),clusterData:e.node(t)})})),e.nodes().forEach((function(t){const n=e.children(t),i=e.edges();n.length>0?(w.debug("Cluster identified",t,O),i.forEach((e=>{if(e.v!==t&&e.w!==t){I(e.v,t)^I(e.w,t)&&(w.warn("Edge: ",e," leaves cluster ",t),w.warn("Descendants of XXX ",t,": ",O[t]),L[t].externalConnections=!0)}}))):w.debug("Not a cluster ",t,O)}));for(let t of Object.keys(L)){const n=L[t].id,i=e.parent(n);i!==t&&L[i]&&!L[i].externalConnections&&(L[t].id=i)}e.edges().forEach((function(t){const n=e.edge(t);w.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),w.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let i=t.v,r=t.w;if(w.warn("Fix XXX",L,"ids:",t.v,t.w,"Translating: ",L[t.v]," --- ",L[t.w]),L[t.v]&&L[t.w]&&L[t.v]===L[t.w]){w.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),w.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=F(t.v),r=F(t.w),e.removeEdge(t.v,t.w,t.name);const a=t.w+"---"+t.v;e.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const o=structuredClone(n),s=structuredClone(n);o.label="",o.arrowTypeEnd="none",s.label="",o.fromCluster=t.v,s.toCluster=t.v,e.setEdge(i,a,o,t.name+"-cyclic-special"),e.setEdge(a,r,s,t.name+"-cyclic-special")}else if(L[t.v]||L[t.w]){if(w.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=F(t.v),r=F(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){const r=e.parent(i);L[r].externalConnections=!0,n.fromCluster=t.v}if(r!==t.w){const i=e.parent(r);L[i].externalConnections=!0,n.toCluster=t.w}w.warn("Fix Replacing with XXX",i,r,t.name),e.setEdge(i,r,n,t.name)}})),w.warn("Adjusted Graph",B(e)),_(e,0),w.trace(L)}}),"adjustClustersAndEdges"),_=u(((e,t)=>{var n,i;if(w.warn("extractor - ",t,B(e),e.children("D")),t>10)return void w.error("Bailing out");let r=e.nodes(),a=!1;for(const o of r){const t=e.children(o);a=a||t.length>0}if(a){w.debug("Nodes = ",r,t);for(const a of r)if(w.debug("Extracting node",a,L,L[a]&&!L[a].externalConnections,!e.parent(a),e.node(a),e.children("D")," Depth ",t),L[a])if(!L[a].externalConnections&&e.children(a)&&e.children(a).length>0){w.warn("Cluster without external connections, without a parent and with children",a,t);let r="TB"===e.graph().rankdir?"LR":"TB";(null==(i=null==(n=L[a])?void 0:n.clusterData)?void 0:i.dir)&&(r=L[a].clusterData.dir,w.warn("Fixing dir",L[a].clusterData.dir,r));const o=new X({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));w.warn("Old graph before copy",B(e)),A(a,e,o,a),e.setNode(a,{clusterNode:!0,id:a,clusterData:L[a].clusterData,labelText:L[a].labelText,graph:o}),w.warn("New graph after copy node: (",a,")",B(o)),w.debug("Old graph after copy",B(e))}else w.warn("Cluster ** ",a," **not meeting the criteria !externalConnections:",!L[a].externalConnections," no parent: ",!e.parent(a)," children ",e.children(a)&&e.children(a).length>0,e.children("D"),t),w.debug(L);else w.debug("Not a cluster",a,t);r=e.nodes(),w.warn("New list of nodes",r);for(const n of r){const i=e.node(n);w.warn(" Now next level",n,i),i.clusterNode&&_(i.graph,t+1)}}else w.debug("Done, no node has children",e.nodes())}),"extractor"),H=u(((e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach((t=>{const i=e.children(t),r=H(e,i);n=[...n,...r]})),n}),"sorter"),W=u((e=>H(e,e.children())),"sortNodesByHierarchy"),q=u(((e,t)=>{w.info("Creating subgraph rect for ",t.id,t);const n=y(),i=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=i.insert("rect",":first-child"),a=T(n.flowchart.htmlLabels),o=i.insert("g").attr("class","cluster-label"),s="markdown"===t.labelType?C(o,t.labelText,{style:t.labelStyle,useHtmlLabels:a},n):o.node().appendChild(c(t.labelText,t.labelStyle,void 0,!0));let d=s.getBBox();if(T(n.flowchart.htmlLabels)){const e=s.children[0],t=k(s);d=e.getBoundingClientRect(),t.attr("width",d.width),t.attr("height",d.height)}const l=0*t.padding,g=l/2,f=t.width<=d.width+l?d.width+l:t.width;t.width<=d.width+l?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,w.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-f/2).attr("y",t.y-t.height/2-g).attr("width",f).attr("height",t.height+l);const{subGraphTitleTopMargin:p}=S(n);a?o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+p})`):o.attr("transform",`translate(${t.x}, ${t.y-t.height/2+p})`);const u=r.node().getBBox();return t.width=u.width,t.height=u.height,t.intersect=function(e){return h(t,e)},i}),"rect"),z=u(((e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding,a=r/2;i.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+r).attr("height",t.height+r).attr("fill","none");const o=i.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return h(t,e)},n}),"noteGroup"),Q={rect:q,roundedWithTitle:u(((e,t)=>{const n=y(),i=e.insert("g").attr("class",t.classes).attr("id",t.id),r=i.insert("rect",":first-child"),a=i.insert("g").attr("class","cluster-label"),o=i.append("rect"),s=a.node().appendChild(c(t.labelText,t.labelStyle,void 0,!0));let d=s.getBBox();if(T(n.flowchart.htmlLabels)){const e=s.children[0],t=k(s);d=e.getBoundingClientRect(),t.attr("width",d.width),t.attr("height",d.height)}d=s.getBBox();const l=0*t.padding,g=l/2,f=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g).attr("width",f+l).attr("height",t.height+l),o.attr("class","inner").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g+d.height-1).attr("width",f+l).attr("height",t.height+l-d.height-3);const{subGraphTitleTopMargin:p}=S(n);a.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(T(n.flowchart.htmlLabels)?5:3)+p})`);const u=r.node().getBBox();return t.height=u.height,t.intersect=function(e){return h(t,e)},i}),"roundedWithTitle"),noteGroup:z,divider:u(((e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding,a=r/2;i.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+r).attr("height",t.height+r);const o=i.node().getBBox();return t.width=o.width,t.height=o.height,t.diff=-t.padding/2,t.intersect=function(e){return h(t,e)},n}),"divider")},U={},V=u(((e,t)=>{w.trace("Inserting cluster");const n=t.shape||"rect";U[t.id]=Q[n](e,t)}),"insertCluster"),Y=u((()=>{U={}}),"clear"),K=u((async(e,t,n,c,h,g)=>{w.info("Graph in recursive render: XXX",B(t),h);const f=t.graph().rankdir;w.trace("Dir in recursive render - dir:",f);const p=e.insert("g").attr("class","root");t.nodes()?w.info("Recursive render XXX",t.nodes()):w.info("No nodes found for",t),t.edges().length>0&&w.trace("Recursive edges",t.edge(t.edges()[0]));const u=p.insert("g").attr("class","clusters"),y=p.insert("g").attr("class","edgePaths"),b=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");await Promise.all(t.nodes().map((async function(e){const o=t.node(e);if(void 0!==h){const n=JSON.parse(JSON.stringify(h.clusterData));w.info("Setting data for cluster XXX (",e,") ",n,h),t.setNode(h.id,n),t.parent(e)||(w.trace("Setting parent",e,h.id),t.setParent(e,h.id,n))}if(w.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),null==o?void 0:o.clusterNode){w.info("Cluster identified",e,o.width,t.node(e));const{ranksep:a,nodesep:s}=t.graph();o.graph.setGraph({...o.graph.graph(),ranksep:a,nodesep:s});const d=await K(v,o.graph,n,c,t.node(e),g),l=d.elem;i(o,l),o.diff=d.diff||0,w.info("Node bounds (abc123)",e,o,o.width,o.x,o.y),r(l,o),w.warn("Recursive render complete ",l,o)}else t.children(e).length>0?(w.info("Cluster - the non recursive path XXX",e,o.id,o,t),w.info(P(o.id,t)),L[o.id]={id:P(o.id,t),node:o}):(w.info("Node - the non recursive path",e,o.id,o),await a(v,t.node(e),{config:g,dir:f}))}))),t.edges().forEach((async function(e){const n=t.edge(e.v,e.w,e.name);w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),w.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),w.info("Fix",L,"ids:",e.v,e.w,"Translating: ",L[e.v],L[e.w]),await o(b,n)})),t.edges().forEach((function(e){w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))})),w.info("Graph before layout:",JSON.stringify(B(t))),w.info("#############################################"),w.info("### Layout ###"),w.info("#############################################"),w.info(t),D(t),w.info("Graph after layout:",JSON.stringify(B(t)));let m=0;const{subGraphTitleTotalMargin:x}=S(g);return W(t).forEach((function(e){const n=t.node(e);w.info("Position "+e+": "+JSON.stringify(t.node(e))),w.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),(null==n?void 0:n.clusterNode)?(n.y+=x,s(n)):t.children(e).length>0?(n.height+=x,V(u,n),L[n.id].node=n):(n.y+=x/2,s(n))})),t.edges().forEach((function(e){const i=t.edge(e);w.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(i),i),i.points.forEach((e=>e.y+=x/2));const r=d(y,e,i,L,n,t,c);l(i,r)})),t.nodes().forEach((function(e){const n=t.node(e);w.info(e,n.type,n.diff),"group"===n.type&&(m=n.diff)})),{elem:p,diff:m}}),"recursiveRender"),Z=u((async(i,r,a,o,s)=>{e(i,a,o,s),t(),n(),Y(),G(),w.warn("Graph at first:",JSON.stringify(B(r))),$(r),w.warn("Graph after:",JSON.stringify(B(r)));const d=y();await K(i,r,o,s,void 0,d)}),"render"),ee=u((e=>E.sanitizeText(e,y())),"sanitizeText"),te={dividerMargin:10,padding:5,textHeight:10,curve:void 0},ne=u((function(e,t,n,i){w.info("keys:",[...e.keys()]),w.info(e),e.forEach((function(e){var r,a;const o={shape:"rect",id:e.id,domId:e.domId,labelText:ee(e.id),labelStyle:"",style:"fill: none; stroke: black",padding:(null==(r=y().flowchart)?void 0:r.padding)??(null==(a=y().class)?void 0:a.padding)};t.setNode(e.id,o),ie(e.classes,t,n,i,e.id),w.info("setNode",o)}))}),"addNamespaces"),ie=u((function(e,t,n,i,r){w.info("keys:",[...e.keys()]),w.info(e),[...e.values()].filter((e=>e.parent===r)).forEach((function(e){var n,a;const o=e.cssClasses.join(" "),s=m(e.styles),d=e.label??e.id,l={labelStyle:s.labelStyle,shape:"class_box",labelText:ee(d),classData:e,rx:0,ry:0,class:o,style:s.style,id:e.id,domId:e.domId,tooltip:i.db.getTooltip(e.id,r)||"",haveCallback:e.haveCallback,link:e.link,width:"group"===e.type?500:void 0,type:e.type,padding:(null==(n=y().flowchart)?void 0:n.padding)??(null==(a=y().class)?void 0:a.padding)};t.setNode(e.id,l),r&&t.setParent(e.id,r),w.info("setNode",l)}))}),"addClasses"),re=u((function(e,t,n,i){w.info(e),e.forEach((function(e,r){var a,o;const s=e,d="",l="",c=s.text,h={labelStyle:d,shape:"note",labelText:ee(c),noteData:s,rx:0,ry:0,class:"",style:l,id:s.id,domId:s.id,tooltip:"",type:"note",padding:(null==(a=y().flowchart)?void 0:a.padding)??(null==(o=y().class)?void 0:o.padding)};if(t.setNode(s.id,h),w.info("setNode",h),!s.class||!i.has(s.class))return;const g=n+r,f={id:`edgeNote${g}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:x(te.curve,j)};t.setEdge(s.id,s.class,f,g)}))}),"addNotes"),ae=u((function(e,t){const n=y().flowchart;let i=0;e.forEach((function(e){var r;i++;const a={classes:"relation",pattern:1==e.relation.lineType?"dashed":"solid",id:N(e.id1,e.id2,{prefix:"id",counter:i}),arrowhead:"arrow_open"===e.type?"none":"normal",startLabelRight:"none"===e.relationTitle1?"":e.relationTitle1,endLabelLeft:"none"===e.relationTitle2?"":e.relationTitle2,arrowTypeStart:de(e.relation.type1),arrowTypeEnd:de(e.relation.type2),style:"fill:none",labelStyle:"",curve:x(null==n?void 0:n.curve,j)};if(w.info(a,e),void 0!==e.style){const t=m(e.style);a.style=t.style,a.labelStyle=t.labelStyle}e.text=e.title,void 0===e.text?void 0!==e.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",(null==(r=y().flowchart)?void 0:r.htmlLabels)??y().htmlLabels?(a.labelType="html",a.label='<span class="edgeLabel">'+e.text+"</span>"):(a.labelType="text",a.label=e.text.replace(E.lineBreakRegex,"\n"),void 0===e.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,a,i)}))}),"addRelations"),oe=u((function(e){te={...te,...e}}),"setConf"),se=u((async function(e,t,n,i){w.info("Drawing class - ",t);const r=y().flowchart??y().class,a=y().securityLevel;w.info("config:",r);const o=(null==r?void 0:r.nodeSpacing)??50,s=(null==r?void 0:r.rankSpacing)??50,d=new X({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),l=i.db.getNamespaces(),c=i.db.getClasses(),h=i.db.getRelations(),g=i.db.getNotes();let f;w.info(h),ne(l,d,t,i),ie(c,d,t,i),ae(h,d),re(g,d,h.length+1,c),"sandbox"===a&&(f=k("#i"+t));const p=k("sandbox"===a?f.nodes()[0].contentDocument.body:"body"),u=p.select(`[id="${t}"]`),m=p.select("#"+t+" g");if(await Z(m,d,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),b.insertTitle(u,"classTitleText",(null==r?void 0:r.titleTopMargin)??5,i.db.getDiagramTitle()),v(d,u,null==r?void 0:r.diagramPadding,null==r?void 0:r.useMaxWidth),!(null==r?void 0:r.htmlLabels)){const e="sandbox"===a?f.nodes()[0].contentDocument:document,n=e.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of n){const n=t.getBBox(),i=e.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",n.width),i.setAttribute("height",n.height),t.insertBefore(i,t.firstChild)}}}),"draw");function de(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}u(de,"getArrowMarker");var le={parser:g,db:f,renderer:{setConf:oe,draw:se},styles:p,init:u((e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,f.clear()}),"init")};export{le as diagram};
@@ -0,0 +1 @@
1
+ import{b as r}from"./_baseUniq-D0mt6Nkw.js";function n(n){return r(n,4)}export{n as c};