@diffohq/diffo 0.17.1 → 0.17.2

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 (164) hide show
  1. package/dist/cli.mjs +29 -15
  2. package/dist/client/assets/{abnfDiagram-O67JEVCF-C4y4PNNf.js → abnfDiagram-YUKMZFIV-DCCl7rag.js} +1 -1
  3. package/dist/client/assets/{arc-CFoc9vPw.js → arc-CTNHvfmK.js} +1 -1
  4. package/dist/client/assets/architecture-WOLXFQ4H-DedTjxXh.js +1 -0
  5. package/dist/client/assets/architectureDiagram-47P4ROYG-lUM1bbDm.js +36 -0
  6. package/dist/client/assets/{blockDiagram-BEXU5L5S-CpA03aJs.js → blockDiagram-E7TT5TSB-CcPMgsS5.js} +3 -3
  7. package/dist/client/assets/c-Cz4nF6n_.js +1 -0
  8. package/dist/client/assets/{c4Diagram-YGBWAQC7-CYMsQutS.js → c4Diagram-CRA5TL53-bjY81K90.js} +2 -2
  9. package/dist/client/assets/channel-pdhhFqps.js +1 -0
  10. package/dist/client/assets/chunk-2BW5OAIV-o5RcgrVm.js +10 -0
  11. package/dist/client/assets/chunk-3YJQHVM4-DyXpsW73.js +2 -0
  12. package/dist/client/assets/{chunk-7PRAP22T-jooxFnA3.js → chunk-4EA7E6EY-DXcHzA4c.js} +1 -1
  13. package/dist/client/assets/{chunk-GWA4HPMP-CQHzk-qZ.js → chunk-7TKQ45FW-COALLfSo.js} +1 -1
  14. package/dist/client/assets/{chunk-GTNCS2PH-B4TC-ScJ.js → chunk-AW2ZBBNX-DQVomlA0.js} +3 -3
  15. package/dist/client/assets/{chunk-5DYCD2WN-BmQXtfyC.js → chunk-DBDB3WZW-BGe0utmm.js} +1 -1
  16. package/dist/client/assets/{chunk-MBY4JIJT-CH5sGI-E.js → chunk-E2ZNV5FY-sBUMLz3a.js} +8 -8
  17. package/dist/client/assets/chunk-EU5HNXII-DynXz8Hb.js +213 -0
  18. package/dist/client/assets/chunk-FVRAUYC3-B6UxZYLr.js +2 -0
  19. package/dist/client/assets/{chunk-742MDFTN-BTP6JNdv.js → chunk-HJ2JQQFS-BPuBOIfd.js} +1 -1
  20. package/dist/client/assets/{chunk-NETBCI7D-B5tMFrlX.js → chunk-HTAEGDNF-COsHxO6d.js} +1 -1
  21. package/dist/client/assets/{chunk-WEXAMYUT-Dnrs1Ld4.js → chunk-KQW6MTUR-D6ZD4OBU.js} +1 -1
  22. package/dist/client/assets/chunk-NGNAAXSQ-C2Wy9Xmz.js +136 -0
  23. package/dist/client/assets/{chunk-UA2S7LBM-DVU8-vtb.js → chunk-NTY3LDVX-BBhs2zfd.js} +1 -1
  24. package/dist/client/assets/chunk-VPRB5NB3-OEYWGbyv.js +127 -0
  25. package/dist/client/assets/{chunk-7INBJB4K-BsVmPyov.js → chunk-XC4XBNZT-BHfIsy-X.js} +10 -10
  26. package/dist/client/assets/{chunk-XXDRQBXY-BDPDpedV.js → chunk-XXDRQBXY-CwVoOjeq.js} +1 -1
  27. package/dist/client/assets/{classDiagram-v2-NBCMYWYE-DS3TfzLh.js → classDiagram-v2-K4WV4PDN-Cwjs5Fo7.js} +3 -3
  28. package/dist/client/assets/{core-C38j58LO.js → core-DON0baQC.js} +1 -1
  29. package/dist/client/assets/cose-bilkent-JH36ORCC-CanIWrad.js +1 -0
  30. package/dist/client/assets/cpp-DzjeI0uH.js +1 -0
  31. package/dist/client/assets/css-DgaLhXQH.js +1 -0
  32. package/dist/client/assets/cynefin-EF2NZ3EQ-BcMV4FxN.js +1 -0
  33. package/dist/client/assets/cynefinDiagram-3GCD6N5R-COPLrt2e.js +62 -0
  34. package/dist/client/assets/cytoscape.esm-CHBj4VkZ.js +321 -0
  35. package/dist/client/assets/dagre-W4DXFKR2-DcO2bm-4.js +4 -0
  36. package/dist/client/assets/diagram-2UJZ2QOL-D9Ko2dkJ.js +200 -0
  37. package/dist/client/assets/{diagram-3UASUU5V-DSX_Tpmv.js → diagram-OVF4WLC6-0c5jMwqP.js} +11 -11
  38. package/dist/client/assets/{diagram-CDSNMT55-BiLgPVAJ.js → diagram-PFPMY2P6-DZEfp0lQ.js} +4 -4
  39. package/dist/client/assets/{diagram-MLGK6HIB-BFgscT9R.js → diagram-UMYRVEAY-_k3WfcjG.js} +1 -1
  40. package/dist/client/assets/diagram-YEKJPTXX-D0oEcVM1.js +41 -0
  41. package/dist/client/assets/diagram-ZIFT7M5P-CpFbAbYg.js +3 -0
  42. package/dist/client/assets/{dist-CMYkujym.js → dist-BDtfWmIE.js} +1 -1
  43. package/dist/client/assets/{dist-B77Lw20A.js → dist-CnRLr4w2.js} +16 -16
  44. package/dist/client/assets/{ebnfDiagram-ZINNZB2B-x4kmvZzD.js → ebnfDiagram-VR2GEFS7-BbG7QvtS.js} +1 -1
  45. package/dist/client/assets/elk-IJKZMXRS-D9Wm7A4L.js +27 -0
  46. package/dist/client/assets/{engine-oniguruma-Ds-VbuSq.js → engine-oniguruma-5di9SuAb.js} +1 -1
  47. package/dist/client/assets/{erDiagram-OPXOYQCR-Bo1yx5ec.js → erDiagram-O2IAPWRE-BZ1E6x8g.js} +2 -2
  48. package/dist/client/assets/eventmodeling-K75KTNOO-6jgX-7pG.js +1 -0
  49. package/dist/client/assets/flowDiagram-OXPTDLAJ-DTCqNqx8.js +1 -0
  50. package/dist/client/assets/ganttDiagram-R7TSEDQI-BRYFh2jn.js +292 -0
  51. package/dist/client/assets/gitGraph-VSP46ZUC-DxTvmQVO.js +1 -0
  52. package/dist/client/assets/gitGraphDiagram-XJZIOB7I-DkJ3V-lX.js +106 -0
  53. package/dist/client/assets/html-BWDvXlHg.js +1 -0
  54. package/dist/client/assets/index-BSqcB6X4.js +93 -0
  55. package/dist/client/assets/info-OHQRW6UA-BKHS23vw.js +1 -0
  56. package/dist/client/assets/{infoDiagram-VRGFBTTK-CautEhHX.js → infoDiagram-5W2HQ5XZ-BVCz6PFV.js} +1 -1
  57. package/dist/client/assets/{ishikawaDiagram-OU5B5YK6-C8BUCcyV.js → ishikawaDiagram-K3B6WC7H-B4tLpzvT.js} +3 -3
  58. package/dist/client/assets/java-_ATy9zCa.js +1 -0
  59. package/dist/client/assets/javascript-CpIGwZ_Y.js +1 -0
  60. package/dist/client/assets/{journeyDiagram-ZHPQQLJL-BA5WG8Xf.js → journeyDiagram-COXZFDF6-DpkzSOyg.js} +3 -3
  61. package/dist/client/assets/json-C3WlssX3.js +1 -0
  62. package/dist/client/assets/jsx-C4yDKi0A.js +1 -0
  63. package/dist/client/assets/{kanban-definition-PNTS6WVX-DRXzEJBa.js → kanban-definition-P3RFRI5V-BkfcUIAv.js} +9 -9
  64. package/dist/client/assets/{katex-ZlcWpGUi.js → katex-DJhrJSbw.js} +1 -1
  65. package/dist/client/assets/{line-DAcfMF01.js → line-CUU9NBUe.js} +1 -1
  66. package/dist/client/assets/{linear-uYi6Pah9.js → linear-Cp1XQoq1.js} +1 -1
  67. package/dist/client/assets/mermaid-parser.core-Dk_N9wHc.js +7 -0
  68. package/dist/client/assets/mermaid.core-DFKfv8Jn.js +44 -0
  69. package/dist/client/assets/{mindmap-definition-NLK3R4M7-Bn4VqIyk.js → mindmap-definition-LZFPQGKD-Dgw3CRjk.js} +24 -24
  70. package/dist/client/assets/packet-JDAUHWVQ-2Mzusa3F.js +1 -0
  71. package/dist/client/assets/{pegDiagram-GJSIUBJH-BD1vaxu_.js → pegDiagram-BGZESJAR-DXCIRLqW.js} +1 -1
  72. package/dist/client/assets/pie-XZMESJXO-UECjOJM3.js +1 -0
  73. package/dist/client/assets/pieDiagram-CAPJLFHJ-DnDCb_c1.js +39 -0
  74. package/dist/client/assets/{quadrantDiagram-O4NWA36T-Co7yTeQ3.js → quadrantDiagram-GDMTTRAM-DRYlGsWP.js} +3 -3
  75. package/dist/client/assets/radar-ABXABTNO-D38H1WiB.js +1 -0
  76. package/dist/client/assets/railroad-I3PHUGI6-Cdf9S4Mf.js +1 -0
  77. package/dist/client/assets/railroad-abnf-LNEFI6M7-Y5BNc5fo.js +1 -0
  78. package/dist/client/assets/railroad-ebnf-DWYD2UWJ-C2o0Hwuh.js +1 -0
  79. package/dist/client/assets/railroad-peg-JR7BVNR7-ByFwOhZy.js +1 -0
  80. package/dist/client/assets/{railroadDiagram-XR7U4H2S-B2dydE7a.js → railroadDiagram-SM67HX2B-md_7ESU-.js} +1 -1
  81. package/dist/client/assets/{requirementDiagram-PLB6GJNP-orHF7QGe.js → requirementDiagram-X7JNWC4A-DV9e6p3j.js} +4 -4
  82. package/dist/client/assets/sankeyDiagram-UM26HJRW-CeZSnliY.js +40 -0
  83. package/dist/client/assets/sequenceDiagram-ZO4K6R2Y-2AFkjcMu.js +169 -0
  84. package/dist/client/assets/shellscript-CVTB3cr6.js +1 -0
  85. package/dist/client/assets/sql-CfM2IJm3.js +1 -0
  86. package/dist/client/assets/src-WAdTNUSJ.js +1 -0
  87. package/dist/client/assets/{stateDiagram-v2-GCMORJYK-CIs80eMe.js → stateDiagram-v2-TBUQTH76-CHxwC_Ic.js} +2 -2
  88. package/dist/client/assets/swimlanes-N4OXWK64-Cqxh_G4l.js +1 -0
  89. package/dist/client/assets/swimlanesDiagram-K3J5GTZL-CBFCal5k.js +8 -0
  90. package/dist/client/assets/{timeline-definition-EJHVYXUP-Bbz9sh3O.js → timeline-definition-YOQAKGHF-BUIhWEtW.js} +4 -4
  91. package/dist/client/assets/treeView-D4JQ5SDB-xtykCGnU.js +1 -0
  92. package/dist/client/assets/treemap-SAJKECNS-C51gkxvB.js +1 -0
  93. package/dist/client/assets/tsx-CGosfAUg.js +1 -0
  94. package/dist/client/assets/typescript-Bb1J8qyy.js +1 -0
  95. package/dist/client/assets/usecaseDiagram-VIAY4XPW-DG6OBLoV.js +328 -0
  96. package/dist/client/assets/{vennDiagram-UO4OBE2U-DvMMdO42.js → vennDiagram-BLWOH2XV-BHp7FuOy.js} +3 -3
  97. package/dist/client/assets/wardley-7MLQ67FV-D9GUzXWu.js +1 -0
  98. package/dist/client/assets/{wardleyDiagram-VNRHLVJA-CX0grRSr.js → wardleyDiagram-YMQ3BMBF-G-sqVoSl.js} +3 -3
  99. package/dist/client/assets/xml-DuKfbPI6.js +1 -0
  100. package/dist/client/assets/xychartDiagram-TAQBALBS-BURBvnuK.js +7 -0
  101. package/dist/client/assets/yaml-DDA_XMNu.js +1 -0
  102. package/dist/client/index.html +1 -1
  103. package/package.json +1 -1
  104. package/plugin.json +1 -1
  105. package/skills/diffo/SKILL.md +7 -4
  106. package/dist/client/assets/architecture-7GRP2DOG-D0AGQ72s.js +0 -1
  107. package/dist/client/assets/architectureDiagram-NJMV4G6O-Dr2fN1vr.js +0 -36
  108. package/dist/client/assets/c-DWGmR78Y.js +0 -1
  109. package/dist/client/assets/channel-BktdIn5n.js +0 -1
  110. package/dist/client/assets/chunk-3FUC2YCW-BjQ1itX5.js +0 -2
  111. package/dist/client/assets/chunk-7M6MHVWA-CsHA_fwz.js +0 -213
  112. package/dist/client/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
  113. package/dist/client/assets/chunk-O7XYJQB3-LPw4VP6e.js +0 -126
  114. package/dist/client/assets/chunk-Z7XXMR3K-C5ewXtqS.js +0 -10
  115. package/dist/client/assets/chunk-ZIGJFQKS-C3kX-TWN.js +0 -2
  116. package/dist/client/assets/cose-bilkent-JH36ORCC-DbTnvWg3.js +0 -1
  117. package/dist/client/assets/cpp-CJIxL8VH.js +0 -1
  118. package/dist/client/assets/css-DUjzNfgv.js +0 -1
  119. package/dist/client/assets/cynefin-OW5HDTMX-BNjAi5zC.js +0 -1
  120. package/dist/client/assets/cynefinDiagram-VND7K2PF-DO7VFekp.js +0 -62
  121. package/dist/client/assets/cytoscape.esm-Yq6u8L66.js +0 -321
  122. package/dist/client/assets/dagre-6A5THRUB-_yf_g5Eu.js +0 -4
  123. package/dist/client/assets/diagram-22UHCM2B-C_0zfVyF.js +0 -200
  124. package/dist/client/assets/diagram-ATOU4E4O-BjdH8AkF.js +0 -3
  125. package/dist/client/assets/diagram-MPIPVDR6-BuoIMiDa.js +0 -41
  126. package/dist/client/assets/elk-276RUBZZ-YAyM0RBx.js +0 -27
  127. package/dist/client/assets/eventmodeling-NTZA5JFV-G8nAQ-r0.js +0 -1
  128. package/dist/client/assets/flowDiagram-KWPJA3E3-JYut8MuN.js +0 -1
  129. package/dist/client/assets/ganttDiagram-FUAMR5RP-CIi9ZaVr.js +0 -292
  130. package/dist/client/assets/gitGraph-4MIJSDKK-DPr2GO72.js +0 -1
  131. package/dist/client/assets/gitGraphDiagram-X574FWY7-8akAig1Y.js +0 -106
  132. package/dist/client/assets/html-BlpXnbzK.js +0 -1
  133. package/dist/client/assets/index-IIP4HzAT.js +0 -93
  134. package/dist/client/assets/info-A6RAGUB7-Gtb-Ecti.js +0 -1
  135. package/dist/client/assets/java-DxlWrXwe.js +0 -1
  136. package/dist/client/assets/javascript-Yelw-5ZN.js +0 -1
  137. package/dist/client/assets/json-CaljABEy.js +0 -1
  138. package/dist/client/assets/jsx-hEbJ82HF.js +0 -1
  139. package/dist/client/assets/mermaid-parser.core-CUupN43F.js +0 -7
  140. package/dist/client/assets/mermaid.core-P7Zn0OkI.js +0 -44
  141. package/dist/client/assets/packet-AYTQ26CC-CCcEthJT.js +0 -1
  142. package/dist/client/assets/pie-WAS4IAKB-DJrFAJNb.js +0 -1
  143. package/dist/client/assets/pieDiagram-5QR66LMP-BHamJTzC.js +0 -39
  144. package/dist/client/assets/radar-RG4KPBEZ-C2VAxB0O.js +0 -1
  145. package/dist/client/assets/railroad-74A4TZTK-dcSfLPuR.js +0 -1
  146. package/dist/client/assets/railroad-abnf-HS5TGJTU-CZqf5C4_.js +0 -1
  147. package/dist/client/assets/railroad-ebnf-LZEXJU2U-BkzQPC_g.js +0 -1
  148. package/dist/client/assets/railroad-peg-WCYAUIDC-CnjsL3Wl.js +0 -1
  149. package/dist/client/assets/sankeyDiagram-IPEJSGJF-C_OsMuGS.js +0 -40
  150. package/dist/client/assets/sequenceDiagram-PO4LG4MO-Dh6-7-gO.js +0 -169
  151. package/dist/client/assets/shellscript-BiGZg9Om.js +0 -1
  152. package/dist/client/assets/sql-BOsskAmu.js +0 -1
  153. package/dist/client/assets/src-CoUI9Pvh.js +0 -1
  154. package/dist/client/assets/swimlanes-2SLR337P-Dwo3Yt9h.js +0 -1
  155. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-CINzeMsu.js +0 -8
  156. package/dist/client/assets/treeView-Q6P3EWNA-HHdzOu-n.js +0 -1
  157. package/dist/client/assets/treemap-WGGIJYW6-Bc3AMsxh.js +0 -1
  158. package/dist/client/assets/tsx-5f3ulCja.js +0 -1
  159. package/dist/client/assets/typescript-Utq2Cl8c.js +0 -1
  160. package/dist/client/assets/usecaseDiagram-POWQR4AR-Dx1EDbri.js +0 -328
  161. package/dist/client/assets/wardley-WFR3VGLG-BqMvXOfu.js +0 -1
  162. package/dist/client/assets/xml-CoDIzWF0.js +0 -1
  163. package/dist/client/assets/xychartDiagram-PMCCYNJV-BQQA3oHd.js +0 -7
  164. package/dist/client/assets/yaml-CxbubiML.js +0 -1
@@ -1 +1 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t,p as n}from"./src-CoUI9Pvh.js";import{T as r,g as i,x as a}from"./chunk-O7XYJQB3-LPw4VP6e.js";import{n as o}from"./chunk-MBY4JIJT-CH5sGI-E.js";import{a as s,i as c,t as l}from"./chunk-7PRAP22T-jooxFnA3.js";import{s as u}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import{t as d}from"./rough.esm-Dy-Kn_BL.js";import{i as f,n as p,t as m}from"./chunk-7INBJB4K-BsVmPyov.js";import{n as h}from"./chunk-5DYCD2WN-BmQXtfyC.js";var g=e(async(e,r)=>{let l=a(),{theme:p,themeVariables:m,handDrawnSeed:h}=l,{clusterBkg:g,clusterBorder:_,borderColorArray:v}=m,y=_,{labelStyles:b,nodeStyles:x,borderStyles:S,backgroundStyles:C}=c(r),w=e.insert(`g`).attr(`class`,`cluster swimlane `+(r.cssClasses||``)).attr(`id`,r.id).attr(`data-id`,r.id).attr(`data-et`,`cluster`).attr(`data-look`,r.look);u(w,r.colorIndex,p,v);let T=i(l.flowchart.htmlLabels),E=r.direction===`LR`,D=w.insert(`g`).attr(`class`,`cluster-label swimlane-label`),O=await o(D,r.label,{style:r.labelStyle,useHtmlLabels:T,isNode:!0,width:r.width}),k=O.getBBox();if(T){let e=O.children[0],t=n(O);k=e.getBoundingClientRect(),t.attr(`width`,k.width),t.attr(`height`,k.height)}let A=r.padding??0,j=r.width<=k.width+A?k.width+A:r.width;r.diff=r.width<=k.width+A?(j-r.width)/2-A:-A;let M=r.height,N=r.y-M/2,P=r.y+M/2,F=r.x-j/2,I=r.swimlaneContentTop===void 0?N+M/3:r.swimlaneContentTop,L=E?4:0,R=k.height+2*L,z,B;if(E){let e=Math.max(R,k.height+2*L),t=F+e,n=Math.max(0,j-e);if(r.look===`handDrawn`){let i=d.svg(w),a=s(r,{roughness:.7,fill:g,stroke:y,seed:h}),o=s(r,{roughness:.7,fill:`none`,stroke:y,seed:h}),c=i.rectangle(F,N,e,M,a);z=w.insert(()=>c,`:first-child`).attr(`class`,`swimlane-title`);let l=i.rectangle(t,N,n,M,o);B=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,F).attr(`y`,N).attr(`width`,e).attr(`height`,M).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,t).attr(`y`,N).attr(`width`,n).attr(`height`,M).attr(`fill`,`none`).attr(`stroke`,y);let i=F+e/2,a=r.y;D.attr(`transform`,`translate(${i}, ${a}) rotate(-90) translate(${-k.width/2}, ${-k.height/2})`)}else{let e=Math.max(0,I-N),t=Math.min(R,e),n=N+t,i=Math.max(0,P-n),a=r.x-j/2;if(r.look===`handDrawn`){let e=d.svg(w),o=s(r,{roughness:.7,fill:g,stroke:y,fillWeight:3,seed:h}),c=s(r,{roughness:.7,fill:`none`,stroke:y,seed:h}),l=e.rectangle(a,N,j,t,o);z=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-title`);let u=e.rectangle(a,n,j,i,c);B=w.insert(()=>u,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,a).attr(`y`,N).attr(`width`,j).attr(`height`,t).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,a).attr(`y`,n).attr(`width`,j).attr(`height`,i).attr(`fill`,`none`).attr(`stroke`,y);let o=r.x-k.width/2,c=N+(t-k.height)/2;D.attr(`transform`,`translate(${o}, ${c})`)}if(t.trace(`Swimlane data `,r,JSON.stringify(r)),b){let e=D.select(`span`);e&&e.attr(`style`,b)}return r.offsetX=0,r.width=j,r.height=M,r.offsetY=k.height-A/2,r.intersect=function(e){return f(r,e)},{cluster:w,labelBBox:k}},`swimlane`),_=e(async(e,i)=>{t.info(`Creating subgraph rect for `,i.id,i);let l=a(),{theme:g,themeVariables:_,handDrawnSeed:v}=l,{clusterBkg:y,clusterBorder:b,borderColorArray:x}=_,{labelStyles:S,nodeStyles:C,borderStyles:w,backgroundStyles:T}=c(i),E=e.insert(`g`).attr(`class`,`cluster `+i.cssClasses).attr(`id`,i.domId).attr(`data-look`,i.look);u(E,i.colorIndex,g,x);let D=r(l),O=E.insert(`g`).attr(`class`,`cluster-label `),k;k=i.labelType===`markdown`?await o(O,i.label,{style:i.labelStyle,useHtmlLabels:D,isNode:!0,width:i.width}):await m(O,i.label,i.labelStyle||``,!1,!0);let A=k.getBBox();if(r(l)){let e=k.children[0],t=n(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let j=i.width<=A.width+i.padding?A.width+i.padding:i.width;i.diff=i.width<=A.width+i.padding?(j-i.width)/2-i.padding:-i.padding;let M=i.height,N=i.x-j/2,P=i.y-M/2;t.trace(`Data `,i,JSON.stringify(i));let F;if(i.look===`handDrawn`){let e=d.svg(E),n=s(i,{roughness:.7,fill:y,stroke:b,fillWeight:3,seed:v}),r=e.path(p(N,P,j,M,0),n);F=E.insert(()=>(t.debug(`Rough node insert CXC`,r),r),`:first-child`),F.select(`path:nth-child(2)`).attr(`style`,w.join(`;`)),F.select(`path`).attr(`style`,T.join(`;`).replace(`fill`,`stroke`))}else F=E.insert(`rect`,`:first-child`),F.attr(`style`,C).attr(`rx`,i.rx).attr(`ry`,i.ry).attr(`x`,N).attr(`y`,P).attr(`width`,j).attr(`height`,M);let{subGraphTitleTopMargin:I}=h(l);if(O.attr(`transform`,`translate(${i.x-A.width/2}, ${i.y-i.height/2+I})`),S){let e=O.select(`span`);e&&e.attr(`style`,S)}let L=F.node().getBBox();return i.offsetX=0,i.width=L.width,i.height=L.height,i.offsetY=A.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:E,labelBBox:A}},`rect`),v=e((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.domId),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.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+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return f(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),y=e(async(e,t)=>{let i=a(),{theme:o,themeVariables:s,handDrawnSeed:c}=i,{altBackground:l,borderColorArray:h,compositeBackground:g,compositeTitleBackground:_,nodeBorder:v}=s,y=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-id`,t.id).attr(`data-look`,t.look);u(y,t.colorIndex,o,h);let b=y.insert(`g`,`:first-child`),x=y.insert(`g`).attr(`class`,`cluster-label`),S=y.append(`rect`),C=await m(x,t.label,t.labelStyle,void 0,!0),w=C.getBBox();if(r(i)){let e=C.children[0],t=n(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=0*t.padding,E=T/2,D=(t.width<=w.width+t.padding?w.width+t.padding:t.width)+T;t.diff=t.width<=w.width+t.padding?(D-t.width)/2-t.padding:-t.padding;let O=t.height+T,k=t.height+T-w.height-6,A=t.x-D/2,j=t.y-O/2;t.width=D;let M=t.y-t.height/2-E+w.height+2,N;if(t.look===`handDrawn`){let e=t.cssClasses.includes(`statediagram-cluster-alt`),n=d.svg(y),r=t.rx||t.ry?n.path(p(A,j,D,O,10),{roughness:.7,fill:_,fillStyle:`solid`,stroke:v,seed:c}):n.rectangle(A,j,D,O,{seed:c});N=y.insert(()=>r,`:first-child`);let i=n.rectangle(A,M,D,k,{fill:e?l:g,fillStyle:e?`hachure`:`solid`,stroke:v,seed:c});N=y.insert(()=>r,`:first-child`),S=y.insert(()=>i),N.attr(`class`,`outer`),S.attr(`class`,`inner`)}else N=b.insert(`rect`,`:first-child`),N.attr(`class`,`outer`).attr(`x`,A).attr(`y`,j).attr(`width`,D).attr(`height`,O).attr(`data-look`,t.look),S.attr(`class`,`inner`).attr(`x`,A).attr(`y`,M).attr(`width`,D).attr(`height`,k);return x.attr(`transform`,`translate(${t.x-w.width/2}, ${j+1-(r(i)?0:3)})`),t.height=N.node().getBBox().height,t.offsetX=0,t.offsetY=w.height-t.padding/2,t.labelBBox=w,t.intersect=function(e){return f(t,e)},{cluster:y,labelBBox:w}},`roundedWithTitle`),b=e(async(e,i)=>{t.info(`Creating subgraph rect for `,i.id,i);let l=a(),{themeVariables:u,handDrawnSeed:m}=l,{clusterBkg:g,clusterBorder:_}=u,{labelStyles:v,nodeStyles:y,borderStyles:b,backgroundStyles:x}=c(i),S=e.insert(`g`).attr(`class`,`cluster `+i.cssClasses).attr(`id`,i.domId).attr(`data-look`,i.look),C=r(l),w=S.insert(`g`).attr(`class`,`cluster-label `),T=await o(w,i.label,{style:i.labelStyle,useHtmlLabels:C,isNode:!0,width:i.width}),E=T.getBBox();if(r(l)){let e=T.children[0],t=n(T);E=e.getBoundingClientRect(),t.attr(`width`,E.width),t.attr(`height`,E.height)}let D=i.width<=E.width+i.padding?E.width+i.padding:i.width;i.diff=i.width<=E.width+i.padding?(D-i.width)/2-i.padding:-i.padding;let O=i.height,k=i.x-D/2,A=i.y-O/2;t.trace(`Data `,i,JSON.stringify(i));let j;if(i.look===`handDrawn`){let e=d.svg(S),n=s(i,{roughness:.7,fill:g,stroke:_,fillWeight:4,seed:m}),r=e.path(p(k,A,D,O,i.rx),n);j=S.insert(()=>(t.debug(`Rough node insert CXC`,r),r),`:first-child`),j.select(`path:nth-child(2)`).attr(`style`,b.join(`;`)),j.select(`path`).attr(`style`,x.join(`;`).replace(`fill`,`stroke`))}else j=S.insert(`rect`,`:first-child`),j.attr(`style`,y).attr(`rx`,i.rx).attr(`ry`,i.ry).attr(`x`,k).attr(`y`,A).attr(`width`,D).attr(`height`,O);let{subGraphTitleTopMargin:M}=h(l);if(w.attr(`transform`,`translate(${i.x-E.width/2}, ${i.y-i.height/2+M})`),v){let e=w.select(`span`);e&&e.attr(`style`,v)}let N=j.node().getBBox();return i.offsetX=0,i.width=N.width,i.height=N.height,i.offsetY=E.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:S,labelBBox:E}},`kanbanSection`),x=e((e,t)=>{let{theme:n,themeVariables:r,handDrawnSeed:i}=a(),{altBackground:o,nodeBorder:s,borderColorArray:c}=r,l=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look);u(l,t.colorIndex,n,c);let p=l.insert(`g`,`:first-child`),m=0*t.padding,h=t.width+m;t.diff=-t.padding;let g=t.height+m,_=t.x-h/2,v=t.y-g/2;t.width=h;let y;if(t.look===`handDrawn`){let e=d.svg(l).rectangle(_,v,h,g,{fill:o??`#efefef`,fillStyle:`solid`,roughness:.5,strokeLineDash:[5],stroke:s,seed:i});y=l.insert(()=>e,`:first-child`).attr(`class`,`divider`)}else{y=p.insert(`rect`,`:first-child`);let e=`outer`;e=(t.look,`divider`),y.attr(`class`,e).attr(`x`,_).attr(`y`,v).attr(`width`,h).attr(`height`,g).attr(`data-look`,t.look)}return t.height=y.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return f(t,e)},{cluster:l,labelBBox:{}}},`divider`),S=e(async(e,i,l)=>{t.info(`Creating ${l.cssClass} for `,i.id,i);let g=a(),{theme:_,themeVariables:v,handDrawnSeed:y}=g,{borderColorArray:b}=v,{labelStyles:x,borderStyles:S}=c(i),C=e.insert(`g`).attr(`class`,`cluster `+l.cssClass+` `+i.cssClasses).attr(`id`,i.domId??i.id).attr(`data-look`,i.look);u(C,i.colorIndex,_,b);let w=r(g),T=C.insert(`g`).attr(`class`,`cluster-label`),E={width:0,height:0},D=i.label?.trim();if(D){let e;if(e=i.labelType===`markdown`?await o(T,i.label,{style:i.labelStyle,useHtmlLabels:w,isNode:!0,width:i.width}):await m(T,i.label,i.labelStyle||``,!1,!0),E=e.getBBox(),w){let t=e.children[0],r=n(e);E=t.getBoundingClientRect(),r.attr(`width`,E.width),r.attr(`height`,E.height)}}let O=i.width<=E.width+i.padding?E.width+i.padding:i.width;i.diff=i.width<=E.width+i.padding?(O-i.width)/2-i.padding:-i.padding;let k=i.height,A=i.x-O/2,j=i.y-k/2,M;if(i.look===`handDrawn`){let e=d.svg(C),t=s(i,{roughness:l.roughness,fill:l.fill,stroke:l.stroke,strokeWidth:l.strokeWidth,seed:y,...l.fill===`none`?{fillWeight:0}:{fillStyle:`solid`},...l.strokeDash?{strokeLineDash:l.strokeDash}:{}}),n=e.path(p(A,j,O,k,l.rx),t);M=C.insert(()=>n,`:first-child`),M.select(`path:nth-child(2)`).attr(`style`,S.join(`;`))}else M=C.insert(`rect`,`:first-child`),M.attr(`rx`,l.rx).attr(`ry`,l.rx).attr(`x`,A).attr(`y`,j).attr(`width`,O).attr(`height`,k).attr(`fill`,l.fill).attr(`stroke`,l.stroke).attr(`stroke-width`,l.strokeWidth+`px`),l.strokeDash&&M.attr(`stroke-dasharray`,l.strokeDash.join(`, `));if(D){let{subGraphTitleTopMargin:e}=h(g);if(T.attr(`transform`,`translate(${i.x-E.width/2}, ${i.y-i.height/2+e})`),x){let e=T.select(`span`);e&&e.attr(`style`,x)}}let N=M.node().getBBox();return i.offsetX=0,i.width=N.width,i.height=N.height,i.offsetY=E.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:C,labelBBox:E}},`createContainerGroup`),C=e(async(e,t)=>{let{themeVariables:n}=a();return S(e,t,{cssClass:`flow-cluster`,rx:10,fill:`none`,stroke:n.flowContainerStroke||n.secondaryBorderColor,strokeWidth:.75,roughness:.7})},`flowGroup`),w=e((e,t)=>{let n=e.boundaryType||`rect`,r=n===`package`?20:e.padding,i=n===`package`?t.height+10:0,a=Math.max(e.width,t.width+r),o=n===`package`?Math.max(e.height,i+e.padding*2):e.height,s=e.x-a/2,c=e.y-o/2;return{boundaryType:n,width:a,height:o,x:s,y:c,bodyY:c+i,bodyHeight:o-i,tabHeight:i,tabWidth:n===`package`?Math.min(a,Math.max(80,t.width+20)):0}},`getUsecaseSystemBoundaryGeometry`),T={rect:_,squareRect:_,roundedWithTitle:y,noteGroup:v,divider:x,kanbanSection:b,flowGroup:C,usecaseSystemBoundary:e(async(e,i)=>{t.info(`Creating usecase system boundary for `,i.id,i);let p=a(),{theme:m,themeVariables:g,handDrawnSeed:_}=p,{clusterBkg:v,clusterBorder:y,borderColorArray:b}=g,{labelStyles:x,nodeStyles:S}=c(i),{stylesMap:C}=l(i),T=i.boundaryType||`rect`,E=e.insert(`g`).attr(`class`,`cluster usecase-system-boundary usecase-system-boundary-${T} ${i.cssClasses}`).attr(`id`,typeof i.domId==`string`?i.domId:i.id).attr(`data-boundary-type`,T).attr(`data-look`,i.look);u(E,i.colorIndex,m,b);let D=r(p),O=E.insert(`g`).attr(`class`,`cluster-label system-boundary-title`),k=await o(O,i.label,{style:x,useHtmlLabels:D,isNode:!0}),A=k.getBBox();if(D){let e=k.children[0],t=n(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let{width:j,height:M,x:N,y:P,bodyY:F,bodyHeight:I,tabHeight:L,tabWidth:R}=w(i,A);i.diff=i.width<=A.width+i.padding?(j-i.width)/2-i.padding:-i.padding;let z=s(i,{fill:C.get(`fill`)||v,stroke:C.get(`stroke`)||y,strokeWidth:C.get(`stroke-width`)?.replace(`px`,``)||1,seed:_});if(i.look===`handDrawn`){let e=d.svg(E),t=e.rectangle(N,F,j,I,z);if(E.insert(()=>t,`:first-child`).attr(`class`,`boundary-body label-container`),T===`package`){let t=e.rectangle(N,P,R,L,z);E.insert(()=>t,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`)}}else E.insert(`rect`,`:first-child`).attr(`class`,`boundary-body label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,F).attr(`width`,j).attr(`height`,I),T===`package`&&E.insert(`rect`,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,P).attr(`width`,R).attr(`height`,L);let{subGraphTitleTopMargin:B}=h(p);return T===`package`?O.attr(`transform`,`translate(${N+(R-A.width)/2}, ${P+(L-A.height)/2})`):O.attr(`transform`,`translate(${i.x-A.width/2}, ${P+B})`),x&&(O.attr(`style`,x),O.select(`span`).attr(`style`,x)),i.offsetX=0,i.width=j,i.height=M,i.offsetY=A.height-i.padding/2,i.labelBBox=A,i.intersect=function(e){return f(i,e)},{cluster:E,labelBBox:A}},`usecaseSystemBoundary`),swimlane:g},E=new Set([`noteGroup`,`divider`]),D=e(e=>!E.has(e??`rect`),`clusterPaintsTitle`),O=new Map,k=e(async(e,t)=>{let n=await T[t.shape||`rect`](e,t);return O.set(t.id,n),n},`insertCluster`),A=e(()=>{O=new Map},`clear`);export{D as n,k as r,A as t};
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t,p as n}from"./src-WAdTNUSJ.js";import{b as r,g as i,w as a}from"./chunk-VPRB5NB3-OEYWGbyv.js";import{n as o}from"./chunk-E2ZNV5FY-sBUMLz3a.js";import{a as s,i as c,t as l}from"./chunk-4EA7E6EY-DXcHzA4c.js";import{s as u}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import{t as d}from"./rough.esm-Dy-Kn_BL.js";import{i as f,n as p,t as m}from"./chunk-XC4XBNZT-BHfIsy-X.js";import{n as h}from"./chunk-DBDB3WZW-BGe0utmm.js";var g=e(async(e,a)=>{let l=r(),{theme:p,themeVariables:m,handDrawnSeed:h}=l,{clusterBkg:g,clusterBorder:_,borderColorArray:v}=m,y=_,{labelStyles:b,nodeStyles:x,borderStyles:S,backgroundStyles:C}=c(a),w=e.insert(`g`).attr(`class`,`cluster swimlane `+(a.cssClasses||``)).attr(`id`,a.id).attr(`data-id`,a.id).attr(`data-et`,`cluster`).attr(`data-look`,a.look);u(w,a.colorIndex,p,v);let T=i(l.flowchart.htmlLabels),E=a.direction===`LR`,D=w.insert(`g`).attr(`class`,`cluster-label swimlane-label`),O=await o(D,a.label,{style:a.labelStyle,useHtmlLabels:T,isNode:!0,width:a.width}),k=O.getBBox();if(T){let e=O.children[0],t=n(O);k=e.getBoundingClientRect(),t.attr(`width`,k.width),t.attr(`height`,k.height)}let A=a.padding??0,j=a.width<=k.width+A?k.width+A:a.width;a.diff=a.width<=k.width+A?(j-a.width)/2-A:-A;let M=a.height,N=a.y-M/2,P=a.y+M/2,F=a.x-j/2,I=a.swimlaneContentTop===void 0?N+M/3:a.swimlaneContentTop,L=E?4:0,R=k.height+2*L,z,B;if(E){let e=Math.max(R,k.height+2*L),t=F+e,n=Math.max(0,j-e);if(a.look===`handDrawn`){let r=d.svg(w),i=s(a,{roughness:.7,fill:g,stroke:y,seed:h}),o=s(a,{roughness:.7,fill:`none`,stroke:y,seed:h}),c=r.rectangle(F,N,e,M,i);z=w.insert(()=>c,`:first-child`).attr(`class`,`swimlane-title`);let l=r.rectangle(t,N,n,M,o);B=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,F).attr(`y`,N).attr(`width`,e).attr(`height`,M).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,t).attr(`y`,N).attr(`width`,n).attr(`height`,M).attr(`fill`,`none`).attr(`stroke`,y);let r=F+e/2,i=a.y;D.attr(`transform`,`translate(${r}, ${i}) rotate(-90) translate(${-k.width/2}, ${-k.height/2})`)}else{let e=Math.max(0,I-N),t=Math.min(R,e),n=N+t,r=Math.max(0,P-n),i=a.x-j/2;if(a.look===`handDrawn`){let e=d.svg(w),o=s(a,{roughness:.7,fill:g,stroke:y,fillWeight:3,seed:h}),c=s(a,{roughness:.7,fill:`none`,stroke:y,seed:h}),l=e.rectangle(i,N,j,t,o);z=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-title`);let u=e.rectangle(i,n,j,r,c);B=w.insert(()=>u,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,i).attr(`y`,N).attr(`width`,j).attr(`height`,t).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,i).attr(`y`,n).attr(`width`,j).attr(`height`,r).attr(`fill`,`none`).attr(`stroke`,y);let o=a.x-k.width/2,c=N+(t-k.height)/2;D.attr(`transform`,`translate(${o}, ${c})`)}if(t.trace(`Swimlane data `,a,JSON.stringify(a)),b){let e=D.select(`span`);e&&e.attr(`style`,b)}return a.offsetX=0,a.width=j,a.height=M,a.offsetY=k.height-A/2,a.intersect=function(e){return f(a,e)},{cluster:w,labelBBox:k}},`swimlane`),_=e(async(e,i)=>{t.info(`Creating subgraph rect for `,i.id,i);let l=r(),{theme:g,themeVariables:_,handDrawnSeed:v}=l,{clusterBkg:y,clusterBorder:b,borderColorArray:x}=_,{labelStyles:S,nodeStyles:C,borderStyles:w,backgroundStyles:T}=c(i),E=e.insert(`g`).attr(`class`,`cluster `+i.cssClasses).attr(`id`,i.domId).attr(`data-look`,i.look);u(E,i.colorIndex,g,x);let D=a(l),O=E.insert(`g`).attr(`class`,`cluster-label `),k;k=i.labelType===`markdown`?await o(O,i.label,{style:i.labelStyle,useHtmlLabels:D,isNode:!0,width:i.width}):await m(O,i.label,i.labelStyle||``,!1,!0);let A=k.getBBox();if(a(l)){let e=k.children[0],t=n(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let j=i.width<=A.width+i.padding?A.width+i.padding:i.width;i.diff=i.width<=A.width+i.padding?(j-i.width)/2-i.padding:-i.padding;let M=i.height,N=i.x-j/2,P=i.y-M/2;t.trace(`Data `,i,JSON.stringify(i));let F;if(i.look===`handDrawn`){let e=d.svg(E),n=s(i,{roughness:.7,fill:y,stroke:b,fillWeight:3,seed:v}),r=e.path(p(N,P,j,M,0),n);F=E.insert(()=>(t.debug(`Rough node insert CXC`,r),r),`:first-child`),F.select(`path:nth-child(2)`).attr(`style`,w.join(`;`)),F.select(`path`).attr(`style`,T.join(`;`).replace(`fill`,`stroke`))}else F=E.insert(`rect`,`:first-child`),F.attr(`style`,C).attr(`rx`,i.rx).attr(`ry`,i.ry).attr(`x`,N).attr(`y`,P).attr(`width`,j).attr(`height`,M);let{subGraphTitleTopMargin:I}=h(l);if(O.attr(`transform`,`translate(${i.x-A.width/2}, ${i.y-i.height/2+I})`),S){let e=O.select(`span`);e&&e.attr(`style`,S)}let L=F.node().getBBox();return i.offsetX=0,i.width=L.width,i.height=L.height,i.offsetY=A.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:E,labelBBox:A}},`rect`),v=e((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.domId),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.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+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return f(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),y=e(async(e,t)=>{let i=r(),{theme:o,themeVariables:s,handDrawnSeed:c}=i,{altBackground:l,borderColorArray:h,compositeBackground:g,compositeTitleBackground:_,nodeBorder:v}=s,y=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-id`,t.id).attr(`data-look`,t.look);u(y,t.colorIndex,o,h);let b=y.insert(`g`,`:first-child`),x=y.insert(`g`).attr(`class`,`cluster-label`),S=y.append(`rect`),C=await m(x,t.label,t.labelStyle,void 0,!0),w=C.getBBox();if(a(i)){let e=C.children[0],t=n(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=0*t.padding,E=T/2,D=(t.width<=w.width+t.padding?w.width+t.padding:t.width)+T;t.diff=t.width<=w.width+t.padding?(D-t.width)/2-t.padding:-t.padding;let O=t.height+T,k=t.height+T-w.height-6,A=t.x-D/2,j=t.y-O/2;t.width=D;let M=t.y-t.height/2-E+w.height+2,N;if(t.look===`handDrawn`){let e=t.cssClasses.includes(`statediagram-cluster-alt`),n=d.svg(y),r=t.rx||t.ry?n.path(p(A,j,D,O,10),{roughness:.7,fill:_,fillStyle:`solid`,stroke:v,seed:c}):n.rectangle(A,j,D,O,{seed:c});N=y.insert(()=>r,`:first-child`);let i=n.rectangle(A,M,D,k,{fill:e?l:g,fillStyle:e?`hachure`:`solid`,stroke:v,seed:c});N=y.insert(()=>r,`:first-child`),S=y.insert(()=>i),N.attr(`class`,`outer`),S.attr(`class`,`inner`)}else N=b.insert(`rect`,`:first-child`),N.attr(`class`,`outer`).attr(`x`,A).attr(`y`,j).attr(`width`,D).attr(`height`,O).attr(`data-look`,t.look),S.attr(`class`,`inner`).attr(`x`,A).attr(`y`,M).attr(`width`,D).attr(`height`,k);return x.attr(`transform`,`translate(${t.x-w.width/2}, ${j+1-(a(i)?0:3)})`),t.height=N.node().getBBox().height,t.offsetX=0,t.offsetY=w.height-t.padding/2,t.labelBBox=w,t.intersect=function(e){return f(t,e)},{cluster:y,labelBBox:w}},`roundedWithTitle`),b=e(async(e,i)=>{t.info(`Creating subgraph rect for `,i.id,i);let l=r(),{themeVariables:u,handDrawnSeed:m}=l,{clusterBkg:g,clusterBorder:_}=u,{labelStyles:v,nodeStyles:y,borderStyles:b,backgroundStyles:x}=c(i),S=e.insert(`g`).attr(`class`,`cluster `+i.cssClasses).attr(`id`,i.domId).attr(`data-look`,i.look),C=a(l),w=S.insert(`g`).attr(`class`,`cluster-label `),T=await o(w,i.label,{style:i.labelStyle,useHtmlLabels:C,isNode:!0,width:i.width}),E=T.getBBox();if(a(l)){let e=T.children[0],t=n(T);E=e.getBoundingClientRect(),t.attr(`width`,E.width),t.attr(`height`,E.height)}let D=i.width<=E.width+i.padding?E.width+i.padding:i.width;i.diff=i.width<=E.width+i.padding?(D-i.width)/2-i.padding:-i.padding;let O=i.height,k=i.x-D/2,A=i.y-O/2;t.trace(`Data `,i,JSON.stringify(i));let j;if(i.look===`handDrawn`){let e=d.svg(S),n=s(i,{roughness:.7,fill:g,stroke:_,fillWeight:4,seed:m}),r=e.path(p(k,A,D,O,i.rx),n);j=S.insert(()=>(t.debug(`Rough node insert CXC`,r),r),`:first-child`),j.select(`path:nth-child(2)`).attr(`style`,b.join(`;`)),j.select(`path`).attr(`style`,x.join(`;`).replace(`fill`,`stroke`))}else j=S.insert(`rect`,`:first-child`),j.attr(`style`,y).attr(`rx`,i.rx).attr(`ry`,i.ry).attr(`x`,k).attr(`y`,A).attr(`width`,D).attr(`height`,O);let{subGraphTitleTopMargin:M}=h(l);if(w.attr(`transform`,`translate(${i.x-E.width/2}, ${i.y-i.height/2+M})`),v){let e=w.select(`span`);e&&e.attr(`style`,v)}let N=j.node().getBBox();return i.offsetX=0,i.width=N.width,i.height=N.height,i.offsetY=E.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:S,labelBBox:E}},`kanbanSection`),x=e((e,t)=>{let{theme:n,themeVariables:i,handDrawnSeed:a}=r(),{altBackground:o,nodeBorder:s,borderColorArray:c}=i,l=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look);u(l,t.colorIndex,n,c);let p=l.insert(`g`,`:first-child`),m=0*t.padding,h=t.width+m;t.diff=-t.padding;let g=t.height+m,_=t.x-h/2,v=t.y-g/2;t.width=h;let y;if(t.look===`handDrawn`){let e=d.svg(l).rectangle(_,v,h,g,{fill:o??`#efefef`,fillStyle:`solid`,roughness:.5,strokeLineDash:[5],stroke:s,seed:a});y=l.insert(()=>e,`:first-child`).attr(`class`,`divider`)}else{y=p.insert(`rect`,`:first-child`);let e=`outer`;e=(t.look,`divider`),y.attr(`class`,e).attr(`x`,_).attr(`y`,v).attr(`width`,h).attr(`height`,g).attr(`data-look`,t.look)}return t.height=y.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return f(t,e)},{cluster:l,labelBBox:{}}},`divider`),S=e(async(e,i,l)=>{t.info(`Creating ${l.cssClass} for `,i.id,i);let g=r(),{theme:_,themeVariables:v,handDrawnSeed:y}=g,{borderColorArray:b}=v,{labelStyles:x,borderStyles:S}=c(i),C=e.insert(`g`).attr(`class`,`cluster `+l.cssClass+` `+i.cssClasses).attr(`id`,i.domId??i.id).attr(`data-look`,i.look);u(C,i.colorIndex,_,b);let w=a(g),T=C.insert(`g`).attr(`class`,`cluster-label`),E={width:0,height:0},D=i.label?.trim();if(D){let e;if(e=i.labelType===`markdown`?await o(T,i.label,{style:i.labelStyle,useHtmlLabels:w,isNode:!0,width:i.width}):await m(T,i.label,i.labelStyle||``,!1,!0),E=e.getBBox(),w){let t=e.children[0],r=n(e);E=t.getBoundingClientRect(),r.attr(`width`,E.width),r.attr(`height`,E.height)}}let O=i.width<=E.width+i.padding?E.width+i.padding:i.width;i.diff=i.width<=E.width+i.padding?(O-i.width)/2-i.padding:-i.padding;let k=i.height,A=i.x-O/2,j=i.y-k/2,M;if(i.look===`handDrawn`){let e=d.svg(C),t=s(i,{roughness:l.roughness,fill:l.fill,stroke:l.stroke,strokeWidth:l.strokeWidth,seed:y,...l.fill===`none`?{fillWeight:0}:{fillStyle:`solid`},...l.strokeDash?{strokeLineDash:l.strokeDash}:{}}),n=e.path(p(A,j,O,k,l.rx),t);M=C.insert(()=>n,`:first-child`),M.select(`path:nth-child(2)`).attr(`style`,S.join(`;`))}else M=C.insert(`rect`,`:first-child`),M.attr(`rx`,l.rx).attr(`ry`,l.rx).attr(`x`,A).attr(`y`,j).attr(`width`,O).attr(`height`,k).attr(`fill`,l.fill).attr(`stroke`,l.stroke).attr(`stroke-width`,l.strokeWidth+`px`),l.strokeDash&&M.attr(`stroke-dasharray`,l.strokeDash.join(`, `));if(D){let{subGraphTitleTopMargin:e}=h(g);if(T.attr(`transform`,`translate(${i.x-E.width/2}, ${i.y-i.height/2+e})`),x){let e=T.select(`span`);e&&e.attr(`style`,x)}}let N=M.node().getBBox();return i.offsetX=0,i.width=N.width,i.height=N.height,i.offsetY=E.height-i.padding/2,i.intersect=function(e){return f(i,e)},{cluster:C,labelBBox:E}},`createContainerGroup`),C=e(async(e,t)=>{let{themeVariables:n}=r();return S(e,t,{cssClass:`flow-cluster`,rx:10,fill:`none`,stroke:n.flowContainerStroke||n.secondaryBorderColor,strokeWidth:.75,roughness:.7})},`flowGroup`),w=e((e,t)=>{let n=e.boundaryType||`rect`,r=n===`package`?20:e.padding,i=n===`package`?t.height+10:0,a=Math.max(e.width,t.width+r),o=n===`package`?Math.max(e.height,i+e.padding*2):e.height,s=e.x-a/2,c=e.y-o/2;return{boundaryType:n,width:a,height:o,x:s,y:c,bodyY:c+i,bodyHeight:o-i,tabHeight:i,tabWidth:n===`package`?Math.min(a,Math.max(80,t.width+20)):0}},`getUsecaseSystemBoundaryGeometry`),T={rect:_,squareRect:_,roundedWithTitle:y,noteGroup:v,divider:x,kanbanSection:b,flowGroup:C,usecaseSystemBoundary:e(async(e,i)=>{t.info(`Creating usecase system boundary for `,i.id,i);let p=r(),{theme:m,themeVariables:g,handDrawnSeed:_}=p,{clusterBkg:v,clusterBorder:y,borderColorArray:b}=g,{labelStyles:x,nodeStyles:S}=c(i),{stylesMap:C}=l(i),T=i.boundaryType||`rect`,E=e.insert(`g`).attr(`class`,`cluster usecase-system-boundary usecase-system-boundary-${T} ${i.cssClasses}`).attr(`id`,typeof i.domId==`string`?i.domId:i.id).attr(`data-boundary-type`,T).attr(`data-look`,i.look);u(E,i.colorIndex,m,b);let D=a(p),O=E.insert(`g`).attr(`class`,`cluster-label system-boundary-title`),k=await o(O,i.label,{style:x,useHtmlLabels:D,isNode:!0}),A=k.getBBox();if(D){let e=k.children[0],t=n(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let{width:j,height:M,x:N,y:P,bodyY:F,bodyHeight:I,tabHeight:L,tabWidth:R}=w(i,A);i.diff=i.width<=A.width+i.padding?(j-i.width)/2-i.padding:-i.padding;let z=s(i,{fill:C.get(`fill`)||v,stroke:C.get(`stroke`)||y,strokeWidth:C.get(`stroke-width`)?.replace(`px`,``)||1,seed:_});if(i.look===`handDrawn`){let e=d.svg(E),t=e.rectangle(N,F,j,I,z);if(E.insert(()=>t,`:first-child`).attr(`class`,`boundary-body label-container`),T===`package`){let t=e.rectangle(N,P,R,L,z);E.insert(()=>t,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`)}}else E.insert(`rect`,`:first-child`).attr(`class`,`boundary-body label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,F).attr(`width`,j).attr(`height`,I),T===`package`&&E.insert(`rect`,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,P).attr(`width`,R).attr(`height`,L);let{subGraphTitleTopMargin:B}=h(p);return T===`package`?O.attr(`transform`,`translate(${N+(R-A.width)/2}, ${P+(L-A.height)/2})`):O.attr(`transform`,`translate(${i.x-A.width/2}, ${P+B})`),x&&(O.attr(`style`,x),O.select(`span`).attr(`style`,x)),i.offsetX=0,i.width=j,i.height=M,i.offsetY=A.height-i.padding/2,i.labelBBox=A,i.intersect=function(e){return f(i,e)},{cluster:E,labelBBox:A}},`usecaseSystemBoundary`),swimlane:g},E=new Set([`noteGroup`,`divider`]),D=e(e=>!E.has(e??`rect`),`clusterPaintsTitle`),O=new Map,k=e(async(e,t)=>{let n=await T[t.shape||`rect`](e,t);return O.set(t.id,n),n},`insertCluster`),A=e(()=>{O=new Map},`clear`);export{D as n,k as r,A as t};