lookatstudy-mobile 0.31.0 → 0.31.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 (165) hide show
  1. package/package.json +1 -1
  2. package/server.cjs +15331 -9819
  3. package/sql-wasm.wasm +0 -0
  4. package/web/assets/{CanvasStage-Cyt4NB7v.js → CanvasStage-BbqLSbD4.js} +1 -1
  5. package/web/assets/{CommandPalette-maHlqYwL.js → CommandPalette-DQ5w84ic.js} +1 -1
  6. package/web/assets/{CompanionBotLab-BjbCeiRW.js → CompanionBotLab-4Juuhsy3.js} +1 -1
  7. package/web/assets/{CourseSearchPanel-wyjGWBGr.js → CourseSearchPanel-ThxY4JL1.js} +1 -1
  8. package/web/assets/{ExamView-BoGgfcwj.js → ExamView-DVLRcljJ.js} +1 -1
  9. package/web/assets/{ReviewPanel-BxY2T_Ut.js → ReviewPanel-D1jKVMQK.js} +1 -1
  10. package/web/assets/{SettingsView-CdxkxEkP.js → SettingsView-BHoTkY38.js} +2 -2
  11. package/web/assets/{VoicePanel-BzRCM6vH.js → VoicePanel-BP1Ur7sF.js} +1 -1
  12. package/web/assets/{abnfDiagram-N423BO3Z-iXwATPSN.js → abnfDiagram-VCTEODGH-Ca-5zS8J.js} +1 -1
  13. package/web/assets/{abnfDiagram-VCTEODGH-ODA7YWAP-C1yAT6qh.js → abnfDiagram-VCTEODGH-ODA7YWAP-ZI6_0Jfq.js} +1 -1
  14. package/web/assets/{arc-DIdxrd7q.js → arc-D2ssjz3E.js} +1 -1
  15. package/web/assets/{architectureDiagram-5GKGNRK7-C4PU3XN7-NvY1Ic-5.js → architectureDiagram-5GKGNRK7-C4PU3XN7-B2bOUqy0.js} +1 -1
  16. package/web/assets/{architectureDiagram-T3A2C74G-DwrvQJhj.js → architectureDiagram-5GKGNRK7-DCEYr1uX.js} +1 -1
  17. package/web/assets/{arrow-right-33rr0pBZ.js → arrow-right---oCZhx2.js} +1 -1
  18. package/web/assets/blockDiagram-I7D4REHJ-Dx9xiTwp.js +129 -0
  19. package/web/assets/{blockDiagram-NRAW4CY4-UMJ6PMQQ-DsNh9SAm.js → blockDiagram-NRAW4CY4-UMJ6PMQQ-Do5yGQuh.js} +1 -1
  20. package/web/assets/c4Diagram-7LVT6UL2-DXh9Ebug.js +38 -0
  21. package/web/assets/{c4Diagram-UCG6FXSJ-75X3U2P3-Df4YtSzV.js → c4Diagram-UCG6FXSJ-75X3U2P3-DH7ShBLp.js} +1 -1
  22. package/web/assets/channel-CNRWz7VW.js +1 -0
  23. package/web/assets/{chunk-2Q5K7J3B-D2YxB7H3.js → chunk-2Q5K7J3B-Bbluh_im.js} +1 -1
  24. package/web/assets/{chunk-5VM5RSS4-CdfFIz--.js → chunk-5VM5RSS4-CwJZ1eAQ.js} +1 -1
  25. package/web/assets/{chunk-7XDTSPCN-BBCpJUAH.js → chunk-7XDTSPCN-3TtQfLC2.js} +1 -1
  26. package/web/assets/{chunk-CTNIYPP6-DW2rJhu_.js → chunk-CTNIYPP6--48noAMq.js} +1 -1
  27. package/web/assets/{chunk-CXNFBKHE-renpw2QE.js → chunk-CXNFBKHE-BMfLUSYr.js} +1 -1
  28. package/web/assets/{chunk-2GRJ4B5K-BqUg5toN.js → chunk-F27PBJKO-DQz5Eh8R.js} +1 -1
  29. package/web/assets/{chunk-5RXB4S5H-zfO8batT.js → chunk-IMKFNOWR-mEHtzDJe.js} +5 -5
  30. package/web/assets/{chunk-ISA7TJRJ-DhN-xjNX.js → chunk-ISA7TJRJ-Cua7d2fi.js} +1 -1
  31. package/web/assets/{chunk-JWPE2WC7-smESCI0k.js → chunk-JWPE2WC7-DqWkk9f8.js} +1 -1
  32. package/web/assets/{chunk-LV3HUYFY-DTGGOw_N.js → chunk-LV3HUYFY-BCzMQT8Q.js} +1 -1
  33. package/web/assets/{chunk-M3IUQBOH-Cp2xYH3K.js → chunk-M3IUQBOH-B-r9ydC6.js} +1 -1
  34. package/web/assets/{chunk-NDIOYS4C-B_iYUPk5.js → chunk-NDIOYS4C-DkAwrWHj.js} +1 -1
  35. package/web/assets/{chunk-KBJHAD2P-CLazgX1V.js → chunk-POPQ4Y6H-BjpioqkZ.js} +1 -1
  36. package/web/assets/{chunk-RE4WF27V-DFrNGxeZ.js → chunk-RE4WF27V-CJEnGv6g.js} +1 -1
  37. package/web/assets/{chunk-6Q2QTUOP-c0FQ_SfU.js → chunk-SVP7TREG-DGaiaQgi.js} +4 -4
  38. package/web/assets/{chunk-GF5L2VYU-DiF8ZWcT.js → chunk-TICWLB2K-DqXyoflV.js} +1 -1
  39. package/web/assets/{chunk-VII2H2IX-CTIhHlIp.js → chunk-VII2H2IX-CHqS8QXi.js} +1 -1
  40. package/web/assets/{chunk-X5GNSKZ3-BnL2P09p.js → chunk-X5GNSKZ3-CPiurspk.js} +1 -1
  41. package/web/assets/{chunk-XCWWM2C3-B3diWYxV.js → chunk-XCWWM2C3-CnpRc-BX.js} +1 -1
  42. package/web/assets/{chunk-XXDRQBXY-Cm9DsbCI.js → chunk-XXDRQBXY-xXPgDheN.js} +1 -1
  43. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-C5s2iR9J.js +1 -0
  44. package/web/assets/classDiagram-ZZMXUADV-Cjli-tvb.js +1 -0
  45. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-C5s2iR9J.js +1 -0
  46. package/web/assets/classDiagram-v2-VYDZK3BY-Cjli-tvb.js +1 -0
  47. package/web/assets/{core-CnhTLa0G.js → core-iYZpQJa6.js} +1 -1
  48. package/web/assets/{cose-bilkent-JH36ORCC-B1ZJcbUV.js → cose-bilkent-JH36ORCC-Dr_WUhVB.js} +1 -1
  49. package/web/assets/{cose-bilkent-JH36ORCC-OB24KH3T-BJpRu0cc.js → cose-bilkent-JH36ORCC-OB24KH3T-CQsWVK5X.js} +1 -1
  50. package/web/assets/{cynefin-OW5HDTMX-GVF3BKWE-CLl32jOg.js → cynefin-OW5HDTMX-GVF3BKWE-DwLRaQ37.js} +1 -1
  51. package/web/assets/{cynefin-VYW2F7L2-BFZHy-wK.js → cynefin-OW5HDTMX-fybCqBi3.js} +3 -3
  52. package/web/assets/{cynefinDiagram-MW4NZA55-BECq_tlH.js → cynefinDiagram-5FMLGOSQ-BLqywzF8.js} +2 -2
  53. package/web/assets/{cynefinDiagram-5FMLGOSQ-H3WIRU3N-BpmHF9Wo.js → cynefinDiagram-5FMLGOSQ-H3WIRU3N-D7Mzcgjs.js} +1 -1
  54. package/web/assets/cytoscape.esm-Ix0LnXOy.js +331 -0
  55. package/web/assets/{dagre-3AP2YEHR-DCERTXHT-DIUrMTsj.js → dagre-3AP2YEHR-DCERTXHT-C3dpohva.js} +1 -1
  56. package/web/assets/dagre-GXQ25YYZ-QPjECY_W.js +4 -0
  57. package/web/assets/diagram-S7CK7UJ4-CwZRApeF.js +30 -0
  58. package/web/assets/{diagram-S7CK7UJ4-MULGZGEL-Bpt08-bP.js → diagram-S7CK7UJ4-MULGZGEL-Czqn_Fna.js} +1 -1
  59. package/web/assets/diagram-UQ7AKVKN-Bo8gzrdx.js +41 -0
  60. package/web/assets/{diagram-UQ7AKVKN-YQBY353J-DORAQMoA.js → diagram-UQ7AKVKN-YQBY353J-CgDXcRAT.js} +1 -1
  61. package/web/assets/{diagram-B4RE2ZJO-dNtQBNGN.js → diagram-VSXAHHWV-0w4db5zY.js} +3 -3
  62. package/web/assets/{diagram-VSXAHHWV-WLNH2ELY-Ce82dDi6.js → diagram-VSXAHHWV-WLNH2ELY-DbTl04rE.js} +1 -1
  63. package/web/assets/{diagram-Q27KOJAE-Bi0oJVBH.js → diagram-VX7I27RA-DJvH_pmt.js} +11 -11
  64. package/web/assets/{diagram-VX7I27RA-XW6YQV5G-D-fdo9DM.js → diagram-VX7I27RA-XW6YQV5G-fzWHr6UJ.js} +1 -1
  65. package/web/assets/{diagram-LBJQPF4R-BoiQEUHl.js → diagram-Z3DM3KII-DsT5qGVe.js} +2 -2
  66. package/web/assets/{diagram-Z3DM3KII-HG7RF65D-ZqMt25Js.js → diagram-Z3DM3KII-HG7RF65D-CDqb1-LL.js} +1 -1
  67. package/web/assets/{ebnfDiagram-BXEA7PRR-R3UwRAR7.js → ebnfDiagram-PWID7BFC-BoB0yBxV.js} +1 -1
  68. package/web/assets/{ebnfDiagram-PWID7BFC-OKY4VHYD-DDVM1P1I.js → ebnfDiagram-PWID7BFC-OKY4VHYD-Dl7tZHv0.js} +1 -1
  69. package/web/assets/{elk.bundled-Dv5OJ-BO.js → elk.bundled-Fo5ndUql.js} +1 -1
  70. package/web/assets/erDiagram-RLTQ6QDP-TcPkrxxF.js +99 -0
  71. package/web/assets/{erDiagram-SSCWMZ5O-PIPKOIK7-CxTLMFn2.js → erDiagram-SSCWMZ5O-PIPKOIK7-C13XODn3.js} +1 -1
  72. package/web/assets/{flowDiagram-A5DVABFB-2Z4AVO5R-DRUX3zZ5.js → flowDiagram-A5DVABFB-2Z4AVO5R-DNbmNTnm.js} +1 -1
  73. package/web/assets/flowDiagram-HODETNUW-D2o5XxIm.js +168 -0
  74. package/web/assets/{ganttDiagram-PKOTCBZU-D-5FV0PV.js → ganttDiagram-EL5Y4UJY-D36iMZvH.js} +1 -1
  75. package/web/assets/{ganttDiagram-EL5Y4UJY-JZNG7GOG-DjG0obYU.js → ganttDiagram-EL5Y4UJY-JZNG7GOG-C5IgtJLL.js} +1 -1
  76. package/web/assets/{gitGraphDiagram-WWUBYQGX-DMWMLL3G-D70uly9x.js → gitGraphDiagram-WWUBYQGX-DMWMLL3G-BA7YVBKU.js} +1 -1
  77. package/web/assets/{gitGraphDiagram-DS77QQ5N-DF-LawNi.js → gitGraphDiagram-WWUBYQGX-DoayvLMW.js} +3 -3
  78. package/web/assets/{index-X3hjUtR3.js → index-5UvRMS_e.js} +1 -1
  79. package/web/assets/index-CJuEfFQr.js +53 -0
  80. package/web/assets/{index-CApU5KjU.js → index-DtMB_WdP.js} +1 -1
  81. package/web/assets/{index-DawWPxKA.js → index-Zmq94tKz.js} +4 -4
  82. package/web/assets/{infoDiagram-6WML65LV-w8kz4hEa.js → infoDiagram-27XIBGKW-DbMBXMvx.js} +1 -1
  83. package/web/assets/{infoDiagram-RXCK75RN-HANS5KVC-C1PHC-YD.js → infoDiagram-RXCK75RN-HANS5KVC-NdEBDyb0.js} +1 -1
  84. package/web/assets/{ishikawaDiagram-5VMMS53U-7GCIT7WU-BrPFk2Ox.js → ishikawaDiagram-5VMMS53U-7GCIT7WU-CzqV69s-.js} +1 -1
  85. package/web/assets/{ishikawaDiagram-WSZJBQD7-C34Z0ADb.js → ishikawaDiagram-5VMMS53U-j9THtiQE.js} +4 -4
  86. package/web/assets/{journeyDiagram-NVQOT4AX-B6wtGi4C.js → journeyDiagram-3NMN7TZE-C3h3msUP.js} +2 -2
  87. package/web/assets/{journeyDiagram-EYS64GPL-OAPELBT7-CVn7FA19.js → journeyDiagram-EYS64GPL-OAPELBT7-ChETfPiS.js} +1 -1
  88. package/web/assets/{kanban-definition-3QL26DDD-I7RKWQQY-DSkHnZWn.js → kanban-definition-3QL26DDD-I7RKWQQY-Wjr70XLu.js} +1 -1
  89. package/web/assets/{kanban-definition-27J2QSJJ-Cauno8t4.js → kanban-definition-UXKFOSKX-C1b6cL5N.js} +6 -6
  90. package/web/assets/{katex-N6JRN4PM-7jQy_F2_.js → katex-N6JRN4PM-BIpBcqrZ.js} +1 -1
  91. package/web/assets/layout-D2XzcM9d.js +1 -0
  92. package/web/assets/{linear-DQOfHiUP.js → linear-CZIIlCMp.js} +1 -1
  93. package/web/assets/{main-BXa7WYYr.css → main-D9IB7N5p.css} +1 -1
  94. package/web/assets/{main-CmJlqSDk.js → main-Dj875aWF.js} +83 -83
  95. package/web/assets/{mermaid-layout-elk.core-h_IjwDpP.js → mermaid-layout-elk.core-CNNSrMhF.js} +2 -2
  96. package/web/assets/mermaid.core-CnNeOEec.js +312 -0
  97. package/web/assets/{mindmap-definition-FBJOCRG2-KIYZG64Y-De94GIvB.js → mindmap-definition-FBJOCRG2-KIYZG64Y-CE91aZQc.js} +1 -1
  98. package/web/assets/{mindmap-definition-FAOFIHXS-oc1QsLGD.js → mindmap-definition-YA3MSWOX-Dz0JwUgH.js} +1 -1
  99. package/web/assets/{pegDiagram-VL7TDLO6-C9eNGZDr.js → pegDiagram-XKGWAZYB-BEOg8IHd.js} +1 -1
  100. package/web/assets/{pegDiagram-XKGWAZYB-OIP57N6J-C2k8WABX.js → pegDiagram-XKGWAZYB-OIP57N6J-CB6_i_dk.js} +1 -1
  101. package/web/assets/{pet-D6jEJc1f.js → pet-B9Zl6XGT.js} +1 -1
  102. package/web/assets/pie-CJLEE_I4.js +1 -0
  103. package/web/assets/{pieDiagram-E7YTZNPT-2UOTW327-h1VN7kXL.js → pieDiagram-E7YTZNPT-2UOTW327-C_aP-GDD.js} +1 -1
  104. package/web/assets/{pieDiagram-7S7Q4E2Y-lAjmXNe_.js → pieDiagram-E7YTZNPT-Btcl-uz0.js} +3 -3
  105. package/web/assets/{quadrantDiagram-CIZ2JOQS-B0NfwoFD.js → quadrantDiagram-AXDQQJYC-CA7HBTBO.js} +1 -1
  106. package/web/assets/{quadrantDiagram-AXDQQJYC-SN3ASJJK-CVllGfdW.js → quadrantDiagram-AXDQQJYC-SN3ASJJK-CAd5tIhG.js} +1 -1
  107. package/web/assets/{railroadDiagram-O6MQD6OU-34742W6X-CqYqMw2v.js → railroadDiagram-O6MQD6OU-34742W6X-CLWiLZG6.js} +1 -1
  108. package/web/assets/{railroadDiagram-AXF67PYL-BiLISELA.js → railroadDiagram-O6MQD6OU-B7dkMwzi.js} +1 -1
  109. package/web/assets/{render-O7CIS3YK-C1DYXW0Z.js → render-O7CIS3YK-DQb_czkx.js} +7 -7
  110. package/web/assets/{requirementDiagram-LRYGKXZP-BMUGWzen.js → requirementDiagram-BXWQKSXE-C70GJhMZ.js} +5 -5
  111. package/web/assets/{requirementDiagram-EFPCY7ZU-NGAFFSMB-6i5RYobc.js → requirementDiagram-EFPCY7ZU-NGAFFSMB-Bc0CRxi2.js} +1 -1
  112. package/web/assets/{rotate-ccw-DhViz0iw.js → rotate-ccw-JEjtXKlH.js} +1 -1
  113. package/web/assets/{sankeyDiagram-P5KCCOFB-3D3M4XPB-EtCUQUn1.js → sankeyDiagram-P5KCCOFB-3D3M4XPB-B9PL6--N.js} +1 -1
  114. package/web/assets/{sankeyDiagram-W5VNT64P-C_r4P5MM.js → sankeyDiagram-P5KCCOFB-BJl2AqaQ.js} +2 -2
  115. package/web/assets/{sequenceDiagram-SI44F4Z6-pG01U8Cr.js → sequenceDiagram-WJ2MYXX4-DtmTM2Q1.js} +4 -4
  116. package/web/assets/{sequenceDiagram-WJ2MYXX4-Q2IOPB4R-sL3lWU4l.js → sequenceDiagram-WJ2MYXX4-Q2IOPB4R-DH1L8a7Q.js} +1 -1
  117. package/web/assets/{sizeCapture-X5ZJPWSS-TfK3b41W.js → sizeCapture-INFHLROL-e9akerky.js} +1 -1
  118. package/web/assets/{sizeCapture-X5ZJPWSS-PSGVOMYM-VHssc8WH.js → sizeCapture-X5ZJPWSS-PSGVOMYM-CSyLq32l.js} +1 -1
  119. package/web/assets/stateDiagram-D77RDMKH-Dc057ccO.js +1 -0
  120. package/web/assets/{stateDiagram-HBIQ2CUA-4M2S6MAN-DY0svUZL.js → stateDiagram-HBIQ2CUA-4M2S6MAN-D_uV5i1Q.js} +1 -1
  121. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-DBkBTIqA.js +1 -0
  122. package/web/assets/stateDiagram-v2-MP3YSRHH-D6iIkIH3.js +1 -0
  123. package/web/assets/swimlanes-42K2YHIH-ILKBiMPk.js +1 -0
  124. package/web/assets/{swimlanes-XN3QIQJK-N6N2CCQ6-tXCXpXUD.js → swimlanes-XN3QIQJK-N6N2CCQ6-CJ7qUhPg.js} +1 -1
  125. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-lkgr5sGZ.js +8 -0
  126. package/web/assets/swimlanesDiagram-VR7AAH4N-D-ke9u7H.js +8 -0
  127. package/web/assets/{time-BgujFIZT.js → time-C0TNQg6r.js} +1 -1
  128. package/web/assets/{timeline-definition-Z64GVDOM-BID9BJj_.js → timeline-definition-24CTP7MA-BckRkRye.js} +3 -3
  129. package/web/assets/{timeline-definition-24CTP7MA-KN7RSRVM-uhQqtZRP.js → timeline-definition-24CTP7MA-KN7RSRVM-DxSbNuQs.js} +1 -1
  130. package/web/assets/{transform-B5_amWNh.js → transform-Bd_a5eGM.js} +1 -1
  131. package/web/assets/{vennDiagram-4TSXK5OY-AKJ7LXAN-MJEMZHM_.js → vennDiagram-4TSXK5OY-AKJ7LXAN-hG9roRh0.js} +1 -1
  132. package/web/assets/{vennDiagram-T6HMQDX7-noYkNxPf.js → vennDiagram-4TSXK5OY-Bxkq0y0p.js} +5 -5
  133. package/web/assets/{wardleyDiagram-VM6X3IG4-3B6A3BN5-D_oZuxaD.js → wardleyDiagram-VM6X3IG4-3B6A3BN5-CLmKLRJP.js} +1 -1
  134. package/web/assets/{wardleyDiagram-T6FBY63Y-CnUMOnEG.js → wardleyDiagram-VM6X3IG4-CaTbamBI.js} +1 -1
  135. package/web/assets/xychartDiagram-S5SC5T6Z-CHtC3u6M.js +7 -0
  136. package/web/assets/{xychartDiagram-S5SC5T6Z-OBDNV6WG-Cd6y2GuD.js → xychartDiagram-S5SC5T6Z-OBDNV6WG-ZjDcqfTl.js} +1 -1
  137. package/web/index.html +3 -3
  138. package/web/pet.html +2 -2
  139. package/web/assets/blockDiagram-VBNYF7ZC-BX4qMKoE.js +0 -132
  140. package/web/assets/c4Diagram-5PPSVZJV-wjiwvuPV.js +0 -10
  141. package/web/assets/channel-D9baWZnV.js +0 -1
  142. package/web/assets/chunk-RYQCIY6F-CXmfoCP1.js +0 -1
  143. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-CiuZ0TyW.js +0 -1
  144. package/web/assets/classDiagram-JCYQIIEL-DJMqLmfy.js +0 -1
  145. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-CiuZ0TyW.js +0 -1
  146. package/web/assets/classDiagram-v2-OCEON4UE-DJMqLmfy.js +0 -1
  147. package/web/assets/cytoscape.esm-DTSO7Bv0.js +0 -331
  148. package/web/assets/dagre-VZM6K2ZE-D-oITinM.js +0 -4
  149. package/web/assets/diagram-7IWD3JNH-07yeFgf1.js +0 -30
  150. package/web/assets/diagram-UB23O5K3-FLVFr6Cc.js +0 -41
  151. package/web/assets/erDiagram-JOGREHBK-Dr_g_g8q.js +0 -85
  152. package/web/assets/flowDiagram-UKHOOZJN-BEX6wJhw.js +0 -156
  153. package/web/assets/graph-C9eacEi8.js +0 -1
  154. package/web/assets/index-DZN4z5wF.js +0 -53
  155. package/web/assets/layout-DEXfKzaS.js +0 -1
  156. package/web/assets/map-Czzmt4hB.js +0 -1
  157. package/web/assets/mermaid.core-n1vgOa_E.js +0 -314
  158. package/web/assets/pie-5VdQHRMI.js +0 -1
  159. package/web/assets/stateDiagram-OKZ733FA-CHPWqFKU.js +0 -1
  160. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-B2GuWRPu.js +0 -1
  161. package/web/assets/stateDiagram-v2-UEYNNEHI-mdLp8HQQ.js +0 -1
  162. package/web/assets/swimlanes-SLNWSIFB-BoK2wZ7r.js +0 -2
  163. package/web/assets/swimlanesDiagram-ULZ7WXOC-CI3RFQDZ.js +0 -8
  164. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-DLkFvd5d.js +0 -8
  165. package/web/assets/xychartDiagram-ELKLHX3M-Ck_2zrW5.js +0 -7
@@ -1,4 +1,4 @@
1
- import{l as A}from"./chunk-CTNIYPP6-DW2rJhu_.js";import{_ as L,aM as D,c as T,T as Y,l as p,aN as _,aO as z,aP as b,aQ as H,aR as J,aS as F,aT as R,aU as U,aV as W,az as C,av as P,at as j,ay as q,aA as Q}from"./render-O7CIS3YK-C1DYXW0Z.js";import"./mermaid-layout-elk.core-h_IjwDpP.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var v=L((t,e,d)=>Math.max(e,Math.min(d,t)),"clamp"),M=L((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),V=L(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),K=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Z=L((t,e,d,g,s)=>{const h=[],m=new Set;if(d.forEach(({start:l,end:r})=>{l!==g&&m.add(l),r!==g&&m.add(r)}),m.forEach(l=>{const r=t.node(l);typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)}),h.length===0&&d.forEach(({edge:l})=>{(l.points??[]).forEach(r=>{typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)})}),h.length===0)return M(s);const c=h.reduce((l,r)=>({x:l.x+r.x/h.length,y:l.y+r.y/h.length}),{x:0,y:0}),i=c.x-e.x,o=c.y-e.y;return Math.abs(i)>Math.abs(o)?i>0?"right":"left":Math.abs(o)>0?o>0?"bottom":"top":M(s)},"getSelfLoopSide"),$=L((t,e="top",d=0,g=0)=>{const s=t.x,h=t.y-d,m=t.width/2,c=t.height/2,i=Math.max(36,Math.min(100,t.width*.8)),o=v(Math.max(g,t.width*.35),36,i),l=v(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const r=h+c;return[{x:s-o/2,y:r},{x:s-o/2,y:r+l},{x:s+o/2,y:r+l},{x:s+o/2,y:r}]}case"right":{const r=s+m;return[{x:r,y:h-o/2},{x:r+l,y:h-o/2},{x:r+l,y:h+o/2},{x:r,y:h+o/2}]}case"left":{const r=s-m;return[{x:r,y:h-o/2},{x:r-l,y:h-o/2},{x:r-l,y:h+o/2},{x:r,y:h+o/2}]}case"top":default:{const r=h-c;return[{x:s-o/2,y:r},{x:s-o/2,y:r-l},{x:s+o/2,y:r-l},{x:s+o/2,y:r}]}}},"getSelfLoopPoints"),ee=L((t,e,d="top",g=0,s={})=>{const m=t.x,c=t.y-g,i=s.width??0,o=s.height??0;switch(d){case"bottom":return{x:m,y:Math.max(...e.map(l=>l.y))+o/2+4};case"right":return{x:Math.max(...e.map(l=>l.x))+i/2+4,y:c};case"left":return{x:Math.min(...e.map(l=>l.x))-i/2-4,y:c};case"top":default:return{x:m,y:Math.min(...e.map(l=>l.y))-o/2-4}}},"getSelfLoopLabelPosition"),I=L((t,e=0,{mergeSelfLoops:d=!0}={})=>{var m;const g=new Map,s=[],h=(m=t.graph())==null?void 0:m.rankdir;return t.edges().forEach(c=>{const i=t.edge(c);if(d&&i.selfLoop){const o=i.selfLoop.id;g.has(o)||g.set(o,[]),g.get(o).push({edge:i,start:c.v,end:c.w})}else s.push({edge:i,start:c.v,end:c.w})}),g.forEach(c=>{if(c.length!==3){c.forEach(w=>s.push(w));return}c.sort((w,x)=>w.edge.selfLoop.order-x.edge.selfLoop.order);const[i,o,l]=c,r=i.edge.originalEdge??o.edge.originalEdge??l.edge.originalEdge??o.edge,a=t.node(r.start);if(!a){c.forEach(w=>s.push(w));return}const E={width:o.edge.width,height:o.edge.height},y=Z(t,a,c,r.start,h),f=$(a,y,e,E.width??0),n=ee(a,f,y,e,E),u={...o.edge,...r,id:r.id,points:f,start:r.start,end:r.end,x:n.x,y:n.y,width:E.width,height:E.height,labelStyle:o.edge.labelStyle,fromCluster:i.edge.fromCluster??o.edge.fromCluster??l.edge.fromCluster,toCluster:i.edge.toCluster??o.edge.toCluster??l.edge.toCluster};delete u.selfLoop,delete u.originalEdge,s.push({edge:u,start:u.start,end:u.end})}),s},"getEdgesToRender"),G=L(async({element:t,graph:e,diagramType:d,id:g,parentCluster:s,siteConfig:h})=>{const m=e.graph().rankdir;p.trace("Dir in recursive render - dir:",m);const{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r}=H(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const a=V(d);await Promise.all(e.nodes().map(async function(f){const n=e.node(f);if(s!==void 0){const u=JSON.parse(JSON.stringify(s.clusterData));p.trace(`Setting data for parent cluster XXX
1
+ import{l as A}from"./chunk-CTNIYPP6--48noAMq.js";import{_ as L,aM as D,c as T,T as Y,l as p,aN as _,aO as z,aP as b,aQ as H,aR as J,aS as F,aT as R,aU as U,aV as W,az as C,av as P,at as j,ay as q,aA as Q}from"./render-O7CIS3YK-DQb_czkx.js";import"./mermaid-layout-elk.core-CNNSrMhF.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var v=L((t,e,d)=>Math.max(e,Math.min(d,t)),"clamp"),M=L((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),V=L(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),K=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Z=L((t,e,d,g,s)=>{const h=[],m=new Set;if(d.forEach(({start:l,end:r})=>{l!==g&&m.add(l),r!==g&&m.add(r)}),m.forEach(l=>{const r=t.node(l);typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)}),h.length===0&&d.forEach(({edge:l})=>{(l.points??[]).forEach(r=>{typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)})}),h.length===0)return M(s);const c=h.reduce((l,r)=>({x:l.x+r.x/h.length,y:l.y+r.y/h.length}),{x:0,y:0}),i=c.x-e.x,o=c.y-e.y;return Math.abs(i)>Math.abs(o)?i>0?"right":"left":Math.abs(o)>0?o>0?"bottom":"top":M(s)},"getSelfLoopSide"),$=L((t,e="top",d=0,g=0)=>{const s=t.x,h=t.y-d,m=t.width/2,c=t.height/2,i=Math.max(36,Math.min(100,t.width*.8)),o=v(Math.max(g,t.width*.35),36,i),l=v(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const r=h+c;return[{x:s-o/2,y:r},{x:s-o/2,y:r+l},{x:s+o/2,y:r+l},{x:s+o/2,y:r}]}case"right":{const r=s+m;return[{x:r,y:h-o/2},{x:r+l,y:h-o/2},{x:r+l,y:h+o/2},{x:r,y:h+o/2}]}case"left":{const r=s-m;return[{x:r,y:h-o/2},{x:r-l,y:h-o/2},{x:r-l,y:h+o/2},{x:r,y:h+o/2}]}case"top":default:{const r=h-c;return[{x:s-o/2,y:r},{x:s-o/2,y:r-l},{x:s+o/2,y:r-l},{x:s+o/2,y:r}]}}},"getSelfLoopPoints"),ee=L((t,e,d="top",g=0,s={})=>{const m=t.x,c=t.y-g,i=s.width??0,o=s.height??0;switch(d){case"bottom":return{x:m,y:Math.max(...e.map(l=>l.y))+o/2+4};case"right":return{x:Math.max(...e.map(l=>l.x))+i/2+4,y:c};case"left":return{x:Math.min(...e.map(l=>l.x))-i/2-4,y:c};case"top":default:return{x:m,y:Math.min(...e.map(l=>l.y))-o/2-4}}},"getSelfLoopLabelPosition"),I=L((t,e=0,{mergeSelfLoops:d=!0}={})=>{var m;const g=new Map,s=[],h=(m=t.graph())==null?void 0:m.rankdir;return t.edges().forEach(c=>{const i=t.edge(c);if(d&&i.selfLoop){const o=i.selfLoop.id;g.has(o)||g.set(o,[]),g.get(o).push({edge:i,start:c.v,end:c.w})}else s.push({edge:i,start:c.v,end:c.w})}),g.forEach(c=>{if(c.length!==3){c.forEach(w=>s.push(w));return}c.sort((w,x)=>w.edge.selfLoop.order-x.edge.selfLoop.order);const[i,o,l]=c,r=i.edge.originalEdge??o.edge.originalEdge??l.edge.originalEdge??o.edge,a=t.node(r.start);if(!a){c.forEach(w=>s.push(w));return}const E={width:o.edge.width,height:o.edge.height},y=Z(t,a,c,r.start,h),f=$(a,y,e,E.width??0),n=ee(a,f,y,e,E),u={...o.edge,...r,id:r.id,points:f,start:r.start,end:r.end,x:n.x,y:n.y,width:E.width,height:E.height,labelStyle:o.edge.labelStyle,fromCluster:i.edge.fromCluster??o.edge.fromCluster??l.edge.fromCluster,toCluster:i.edge.toCluster??o.edge.toCluster??l.edge.toCluster};delete u.selfLoop,delete u.originalEdge,s.push({edge:u,start:u.start,end:u.end})}),s},"getEdgesToRender"),G=L(async({element:t,graph:e,diagramType:d,id:g,parentCluster:s,siteConfig:h})=>{const m=e.graph().rankdir;p.trace("Dir in recursive render - dir:",m);const{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r}=H(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const a=V(d);await Promise.all(e.nodes().map(async function(f){const n=e.node(f);if(s!==void 0){const u=JSON.parse(JSON.stringify(s.clusterData));p.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,f,`
3
3
  data=`,u.height,`
4
4
  Parent cluster`,s.height),e.setNode(s.id,u),e.parent(f)||(p.trace("Setting parent",f,s.id),e.setParent(f,s.id,u))}if(p.info("(Insert) Node XXX"+f+": "+JSON.stringify(e.node(f))),n!=null&&n.clusterNode){p.info("Cluster identified XBX",f,n.width,e.node(f));const{ranksep:u,nodesep:w}=e.graph();n.graph.setGraph({...n.graph.graph(),ranksep:u+25,nodesep:w});const x=await ne({element:l,graph:n.graph,diagramType:d,id:g,parentCluster:e.node(f),siteConfig:h}),S=x.elem;J(n,S),n.diff=x.diff||0,p.info("New compound node after recursive render XAX",f,"width",n.width,"height",n.height),F(S,n)}else e.children(f).length>0?(p.trace("Cluster - the non recursive path XBX",f,n.id,n,n.width,"Graph:",e),p.trace(R(n.id,e)),b.set(n.id,{id:R(n.id,e),node:n})):(p.trace("Node - the non recursive path XAX",f,l,e.node(f),m),await U(l,e.node(f),{config:h,dir:m}))})),await L(async()=>{const f=e.edges().map(async function(n){var w,x,S,X;const u=e.edge(n.v,n.w,n.name);if(p.info("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),p.info("Edge "+n.v+" -> "+n.w+": ",n," ",JSON.stringify(e.edge(n))),p.info("Fix",b,"ids:",n.v,n.w,"Translating: ",b.get(n.v),b.get(n.w)),a&&u.selfLoop){if(u.selfLoop.order!==1)return;const N={...u.originalEdge,...u,id:u.selfLoop.id,startLabelLeft:((w=u.originalEdge)==null?void 0:w.startLabelLeft)??u.startLabelLeft,startLabelRight:((x=u.originalEdge)==null?void 0:x.startLabelRight)??u.startLabelRight,endLabelLeft:((S=u.originalEdge)==null?void 0:S.endLabelLeft)??u.endLabelLeft,endLabelRight:((X=u.originalEdge)==null?void 0:X.endLabelRight)??u.endLabelRight};await C(o,N),u.width=N.width,u.height=N.height,u.labelStyle=N.labelStyle;return}await C(o,u)});await Promise.all(f)},"processEdges")();const{subGraphTitleTotalMargin:y}=W(h);return{elem:r,graph:e,groups:{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r},diagramType:d,id:g,mergeSelfLoops:a,subGraphTitleTotalMargin:y}},"measureDagreGraph"),O=L(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),A(t)},"runDagreGraphLayout"),te=L((t,e,d)=>{const g=t.node(e);if(!g)return;const s={...g};return g!=null&&g.clusterNode?s.y=(g.y??0)+d:t.children(e).length>0?s.height=(g.height??0)+d:s.y=(g.y??0)+d/2,s},"normalizeDagreNode"),B=L((t,e)=>{K.forEach(d=>{e[d]!==void 0&&(t[d]=e[d])})},"applyDagreNodeLayout"),re=L((t,e,d,g)=>({...t,start:t.start??e,end:t.end??d,points:(t.points??[]).map(s=>({...s,y:typeof s.y=="number"?s.y+g:s.y}))}),"normalizeDagreEdge"),ae=L((t,e)=>{const{graph:d,mergeSelfLoops:g,subGraphTitleTotalMargin:s=0}=e,h=new Map(t.nodes.map(c=>[c.id,c]));D(d).forEach(c=>{const i=te(d,c,s);if(!i)return;B(d.node(c),i);const o=h.get(c);o&&B(o,i)});const m=s/2;return t.edges=I(d,m,{mergeSelfLoops:g}).map(({edge:c,start:i,end:o})=>re(c,i,o,m)),t},"applyDagreLayoutResult"),oe=L(async({elem:t,graph:e,groups:{clusters:d,edgePaths:g},diagramType:s,id:h,mergeSelfLoops:m,subGraphTitleTotalMargin:c})=>{let i=0;await Promise.all(D(e).map(async function(r){var E;const a=e.node(r);if(p.info("Position XBX => "+r+": ("+a.x,","+a.y,") width: ",a.width," height: ",a.height),a!=null&&a.clusterNode)a.y+=c,p.info("A tainted cluster node XBX1",r,a.id,a.width,a.height,a.x,a.y,e.parent(r)),b.get(a.id).node=a,P(a);else if(e.children(r).length>0){p.info("A pure cluster node XBX1",r,a.id,a.x,a.y,a.width,a.height,e.parent(r)),a.height+=c,e.node(a.parentId);const y=(a==null?void 0:a.padding)/2||0,f=((E=a==null?void 0:a.labelBBox)==null?void 0:E.height)||0,n=f-y||0;p.debug("OffsetY",n,"labelHeight",f,"halfPadding",y),await j(d,a),b.get(a.id).node=a}else{const y=e.node(a.parentId);a.y+=c/2,p.info("A regular node XBX1 - using the padding",a.id,"parent",a.parentId,a.width,a.height,a.x,a.y,"offsetY",a.offsetY,"parent",y,y==null?void 0:y.offsetY,a),P(a)}}));const o=c/2;return I(e,o,{mergeSelfLoops:m}).forEach(function({edge:r,start:a,end:E}){p.info("Edge "+a+" -> "+E+": "+JSON.stringify(r),r),r.points.forEach(u=>u.y+=o);const y=e.node(a),f=e.node(E),n=q(g,r,b,s,y,f,h);Q(r,n)}),e.nodes().forEach(function(r){const a=e.node(r);p.info(r,a.type,a.diff),a.isGroup&&(i=a.diff)}),p.warn("Returning from recursive render XAX",t,i),{elem:t,diff:i}},"paintDagreLayoutCore"),ne=L(async t=>{const e=await G(t);return O(e.graph),await oe(e)},"renderDagreSubgraph"),k=L(t=>{var d,g,s,h,m,c;const e=new Y({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:((d=t.config)==null?void 0:d.nodeSpacing)||t.nodeSpacing||((s=(g=t.config)==null?void 0:g.flowchart)==null?void 0:s.nodeSpacing),ranksep:((h=t.config)==null?void 0:h.rankSpacing)||t.rankSpacing||((c=(m=t.config)==null?void 0:m.flowchart)==null?void 0:c.rankSpacing),marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(i=>{e.setNode(i.id,{...i}),i.parentId&&e.setParent(i.id,i.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(i=>{if(i.start===i.end){const o=i.start,l=o+"---"+o+"---1",r=o+"---"+o+"---2",a=e.node(o);e.setNode(l,{domId:l,id:l,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(l,a.parentId),e.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(r,a.parentId);const E=structuredClone(i),y=structuredClone(i),f=structuredClone(i),n=structuredClone(i);y.originalEdge=E,y.selfLoop={id:E.id,order:0},f.originalEdge=E,f.selfLoop={id:E.id,order:1},n.originalEdge=E,n.selfLoop={id:E.id,order:2},y.label="",y.arrowTypeEnd="none",y.endLabelLeft="",y.endLabelRight="",y.startLabelLeft="",y.id=o+"-cyclic-special-1",f.startLabelRight="",f.startLabelLeft="",f.endLabelLeft="",f.endLabelRight="",f.arrowTypeStart="none",f.arrowTypeEnd="none",f.id=o+"-cyclic-special-mid",n.label="",n.startLabelRight="",n.startLabelLeft="",n.arrowTypeStart="none",a.isGroup&&(y.fromCluster=o,n.toCluster=o),n.id=o+"-cyclic-special-2",n.arrowTypeStart="none",e.setEdge(o,l,y,o+"-cyclic-special-0"),e.setEdge(l,r,f,o+"-cyclic-special-1"),e.setEdge(r,o,n,o+"-cyclic-special-2")}else e.setEdge(i.start,i.end,{...i},i.id)}),_(e),{graph:e}},"prepareLayoutForDagre"),se=L(async(t,{element:e,preparedLayout:d})=>{const g=d??k(t),s=T(),h=await G({element:e,graph:g.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:s});return g.measuredLayout=h,h},"measureDagreLayout"),ie=L((t,e)=>{var g;const d=(g=e.preparedLayout)==null?void 0:g.measuredLayout;if(!d)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return O(d.graph),ae(t,d),d},"runDagreLayoutCore"),de=L((t,{measure:e})=>D(e.graph).map(d=>e.graph.node(d)).filter(Boolean),"getDagrePaintNodes"),le=L((t,e,{measure:d})=>t?d.graph.node(t):void 0,"getDagreEdgeNode"),me=z({prepareLayout:k,measureLayout:se,runLayoutCore:ie,paintOptions:{clusterDb:b,getNodes:de,getEdgeNode:le,skipNode:L((t,{measure:e})=>!e.graph.hasNode(t.id),"skipNode"),isCluster:L((t,{measure:e})=>e.graph.hasNode(t.id)&&(e.graph.children(t.id)??[]).length>0,"isCluster")}});export{ae as applyDagreLayoutResult,I as getEdgesToRender,se as measureDagreLayout,k as prepareLayoutForDagre,me as render,ie as runDagreLayoutCore};
@@ -0,0 +1,4 @@
1
+ import{_ as m,a9 as D,c as A,S as Y,l as p,aa as _,ab as H,ac as w,ad as J,ae as T,af as z,ag as R,ah as F,ai as j,aj as C,a2 as P,a0 as W,ak as q,al as U}from"./mermaid.core-CnNeOEec.js";import{l as K}from"./layout-D2XzcM9d.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";var v=m((t,e,d)=>Math.max(e,Math.min(d,t)),"clamp"),B=m((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),Q=m(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),V=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Z=m((t,e,d,g,s)=>{const h=[],L=new Set;if(d.forEach(({start:l,end:r})=>{l!==g&&L.add(l),r!==g&&L.add(r)}),L.forEach(l=>{const r=t.node(l);typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)}),h.length===0&&d.forEach(({edge:l})=>{(l.points??[]).forEach(r=>{typeof(r==null?void 0:r.x)=="number"&&typeof(r==null?void 0:r.y)=="number"&&h.push(r)})}),h.length===0)return B(s);const c=h.reduce((l,r)=>({x:l.x+r.x/h.length,y:l.y+r.y/h.length}),{x:0,y:0}),i=c.x-e.x,o=c.y-e.y;return Math.abs(i)>Math.abs(o)?i>0?"right":"left":Math.abs(o)>0?o>0?"bottom":"top":B(s)},"getSelfLoopSide"),$=m((t,e="top",d=0,g=0)=>{const s=t.x,h=t.y-d,L=t.width/2,c=t.height/2,i=Math.max(36,Math.min(100,t.width*.8)),o=v(Math.max(g,t.width*.35),36,i),l=v(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const r=h+c;return[{x:s-o/2,y:r},{x:s-o/2,y:r+l},{x:s+o/2,y:r+l},{x:s+o/2,y:r}]}case"right":{const r=s+L;return[{x:r,y:h-o/2},{x:r+l,y:h-o/2},{x:r+l,y:h+o/2},{x:r,y:h+o/2}]}case"left":{const r=s-L;return[{x:r,y:h-o/2},{x:r-l,y:h-o/2},{x:r-l,y:h+o/2},{x:r,y:h+o/2}]}case"top":default:{const r=h-c;return[{x:s-o/2,y:r},{x:s-o/2,y:r-l},{x:s+o/2,y:r-l},{x:s+o/2,y:r}]}}},"getSelfLoopPoints"),ee=m((t,e,d="top",g=0,s={})=>{const L=t.x,c=t.y-g,i=s.width??0,o=s.height??0;switch(d){case"bottom":return{x:L,y:Math.max(...e.map(l=>l.y))+o/2+4};case"right":return{x:Math.max(...e.map(l=>l.x))+i/2+4,y:c};case"left":return{x:Math.min(...e.map(l=>l.x))-i/2-4,y:c};case"top":default:return{x:L,y:Math.min(...e.map(l=>l.y))-o/2-4}}},"getSelfLoopLabelPosition"),M=m((t,e=0,{mergeSelfLoops:d=!0}={})=>{var L;const g=new Map,s=[],h=(L=t.graph())==null?void 0:L.rankdir;return t.edges().forEach(c=>{const i=t.edge(c);if(d&&i.selfLoop){const o=i.selfLoop.id;g.has(o)||g.set(o,[]),g.get(o).push({edge:i,start:c.v,end:c.w})}else s.push({edge:i,start:c.v,end:c.w})}),g.forEach(c=>{if(c.length!==3){c.forEach(b=>s.push(b));return}c.sort((b,x)=>b.edge.selfLoop.order-x.edge.selfLoop.order);const[i,o,l]=c,r=i.edge.originalEdge??o.edge.originalEdge??l.edge.originalEdge??o.edge,a=t.node(r.start);if(!a){c.forEach(b=>s.push(b));return}const E={width:o.edge.width,height:o.edge.height},y=Z(t,a,c,r.start,h),f=$(a,y,e,E.width??0),n=ee(a,f,y,e,E),u={...o.edge,...r,id:r.id,points:f,start:r.start,end:r.end,x:n.x,y:n.y,width:E.width,height:E.height,labelStyle:o.edge.labelStyle,fromCluster:i.edge.fromCluster??o.edge.fromCluster??l.edge.fromCluster,toCluster:i.edge.toCluster??o.edge.toCluster??l.edge.toCluster};delete u.selfLoop,delete u.originalEdge,s.push({edge:u,start:u.start,end:u.end})}),s},"getEdgesToRender"),k=m(async({element:t,graph:e,diagramType:d,id:g,parentCluster:s,siteConfig:h})=>{const L=e.graph().rankdir;p.trace("Dir in recursive render - dir:",L);const{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r}=J(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const a=Q(d);await Promise.all(e.nodes().map(async function(f){const n=e.node(f);if(s!==void 0){const u=JSON.parse(JSON.stringify(s.clusterData));p.trace(`Setting data for parent cluster XXX
2
+ Node.id = `,f,`
3
+ data=`,u.height,`
4
+ Parent cluster`,s.height),e.setNode(s.id,u),e.parent(f)||(p.trace("Setting parent",f,s.id),e.setParent(f,s.id,u))}if(p.info("(Insert) Node XXX"+f+": "+JSON.stringify(e.node(f))),n!=null&&n.clusterNode){p.info("Cluster identified XBX",f,n.width,e.node(f));const{ranksep:u,nodesep:b}=e.graph();n.graph.setGraph({...n.graph.graph(),ranksep:u+25,nodesep:b});const x=await ne({element:l,graph:n.graph,diagramType:d,id:g,parentCluster:e.node(f),siteConfig:h}),S=x.elem;T(n,S),n.diff=x.diff||0,p.info("New compound node after recursive render XAX",f,"width",n.width,"height",n.height),z(S,n)}else e.children(f).length>0?(p.trace("Cluster - the non recursive path XBX",f,n.id,n,n.width,"Graph:",e),p.trace(R(n.id,e)),w.set(n.id,{id:R(n.id,e),node:n})):(p.trace("Node - the non recursive path XAX",f,l,e.node(f),L),await F(l,e.node(f),{config:h,dir:L}))})),await m(async()=>{const f=e.edges().map(async function(n){var b,x,S,X;const u=e.edge(n.v,n.w,n.name);if(p.info("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),p.info("Edge "+n.v+" -> "+n.w+": ",n," ",JSON.stringify(e.edge(n))),p.info("Fix",w,"ids:",n.v,n.w,"Translating: ",w.get(n.v),w.get(n.w)),a&&u.selfLoop){if(u.selfLoop.order!==1)return;const N={...u.originalEdge,...u,id:u.selfLoop.id,startLabelLeft:((b=u.originalEdge)==null?void 0:b.startLabelLeft)??u.startLabelLeft,startLabelRight:((x=u.originalEdge)==null?void 0:x.startLabelRight)??u.startLabelRight,endLabelLeft:((S=u.originalEdge)==null?void 0:S.endLabelLeft)??u.endLabelLeft,endLabelRight:((X=u.originalEdge)==null?void 0:X.endLabelRight)??u.endLabelRight};await C(o,N),u.width=N.width,u.height=N.height,u.labelStyle=N.labelStyle;return}await C(o,u)});await Promise.all(f)},"processEdges")();const{subGraphTitleTotalMargin:y}=j(h);return{elem:r,graph:e,groups:{clusters:c,edgePaths:i,edgeLabels:o,nodes:l,rootGroups:r},diagramType:d,id:g,mergeSelfLoops:a,subGraphTitleTotalMargin:y}},"measureDagreGraph"),G=m(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),K(t)},"runDagreGraphLayout"),te=m((t,e,d)=>{const g=t.node(e);if(!g)return;const s={...g};return g!=null&&g.clusterNode?s.y=(g.y??0)+d:t.children(e).length>0?s.height=(g.height??0)+d:s.y=(g.y??0)+d/2,s},"normalizeDagreNode"),I=m((t,e)=>{V.forEach(d=>{e[d]!==void 0&&(t[d]=e[d])})},"applyDagreNodeLayout"),re=m((t,e,d,g)=>({...t,start:t.start??e,end:t.end??d,points:(t.points??[]).map(s=>({...s,y:typeof s.y=="number"?s.y+g:s.y}))}),"normalizeDagreEdge"),ae=m((t,e)=>{const{graph:d,mergeSelfLoops:g,subGraphTitleTotalMargin:s=0}=e,h=new Map(t.nodes.map(c=>[c.id,c]));D(d).forEach(c=>{const i=te(d,c,s);if(!i)return;I(d.node(c),i);const o=h.get(c);o&&I(o,i)});const L=s/2;return t.edges=M(d,L,{mergeSelfLoops:g}).map(({edge:c,start:i,end:o})=>re(c,i,o,L)),t},"applyDagreLayoutResult"),oe=m(async({elem:t,graph:e,groups:{clusters:d,edgePaths:g},diagramType:s,id:h,mergeSelfLoops:L,subGraphTitleTotalMargin:c})=>{let i=0;await Promise.all(D(e).map(async function(r){var E;const a=e.node(r);if(p.info("Position XBX => "+r+": ("+a.x,","+a.y,") width: ",a.width," height: ",a.height),a!=null&&a.clusterNode)a.y+=c,p.info("A tainted cluster node XBX1",r,a.id,a.width,a.height,a.x,a.y,e.parent(r)),w.get(a.id).node=a,P(a);else if(e.children(r).length>0){p.info("A pure cluster node XBX1",r,a.id,a.x,a.y,a.width,a.height,e.parent(r)),a.height+=c,e.node(a.parentId);const y=(a==null?void 0:a.padding)/2||0,f=((E=a==null?void 0:a.labelBBox)==null?void 0:E.height)||0,n=f-y||0;p.debug("OffsetY",n,"labelHeight",f,"halfPadding",y),await W(d,a),w.get(a.id).node=a}else{const y=e.node(a.parentId);a.y+=c/2,p.info("A regular node XBX1 - using the padding",a.id,"parent",a.parentId,a.width,a.height,a.x,a.y,"offsetY",a.offsetY,"parent",y,y==null?void 0:y.offsetY,a),P(a)}}));const o=c/2;return M(e,o,{mergeSelfLoops:L}).forEach(function({edge:r,start:a,end:E}){p.info("Edge "+a+" -> "+E+": "+JSON.stringify(r),r),r.points.forEach(u=>u.y+=o);const y=e.node(a),f=e.node(E),n=q(g,r,w,s,y,f,h);U(r,n)}),e.nodes().forEach(function(r){const a=e.node(r);p.info(r,a.type,a.diff),a.isGroup&&(i=a.diff)}),p.warn("Returning from recursive render XAX",t,i),{elem:t,diff:i}},"paintDagreLayoutCore"),ne=m(async t=>{const e=await k(t);return G(e.graph),await oe(e)},"renderDagreSubgraph"),O=m(t=>{var d,g,s,h,L,c;const e=new Y({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:((d=t.config)==null?void 0:d.nodeSpacing)||t.nodeSpacing||((s=(g=t.config)==null?void 0:g.flowchart)==null?void 0:s.nodeSpacing),ranksep:((h=t.config)==null?void 0:h.rankSpacing)||t.rankSpacing||((c=(L=t.config)==null?void 0:L.flowchart)==null?void 0:c.rankSpacing),marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(i=>{e.setNode(i.id,{...i}),i.parentId&&e.setParent(i.id,i.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(i=>{if(i.start===i.end){const o=i.start,l=o+"---"+o+"---1",r=o+"---"+o+"---2",a=e.node(o);e.setNode(l,{domId:l,id:l,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(l,a.parentId),e.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(r,a.parentId);const E=structuredClone(i),y=structuredClone(i),f=structuredClone(i),n=structuredClone(i);y.originalEdge=E,y.selfLoop={id:E.id,order:0},f.originalEdge=E,f.selfLoop={id:E.id,order:1},n.originalEdge=E,n.selfLoop={id:E.id,order:2},y.label="",y.arrowTypeEnd="none",y.endLabelLeft="",y.endLabelRight="",y.startLabelLeft="",y.id=o+"-cyclic-special-1",f.startLabelRight="",f.startLabelLeft="",f.endLabelLeft="",f.endLabelRight="",f.arrowTypeStart="none",f.arrowTypeEnd="none",f.id=o+"-cyclic-special-mid",n.label="",n.startLabelRight="",n.startLabelLeft="",n.arrowTypeStart="none",a.isGroup&&(y.fromCluster=o,n.toCluster=o),n.id=o+"-cyclic-special-2",n.arrowTypeStart="none",e.setEdge(o,l,y,o+"-cyclic-special-0"),e.setEdge(l,r,f,o+"-cyclic-special-1"),e.setEdge(r,o,n,o+"-cyclic-special-2")}else e.setEdge(i.start,i.end,{...i},i.id)}),_(e),{graph:e}},"prepareLayoutForDagre"),se=m(async(t,{element:e,preparedLayout:d})=>{const g=d??O(t),s=A(),h=await k({element:e,graph:g.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:s});return g.measuredLayout=h,h},"measureDagreLayout"),ie=m((t,e)=>{var g;const d=(g=e.preparedLayout)==null?void 0:g.measuredLayout;if(!d)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return G(d.graph),ae(t,d),d},"runDagreLayoutCore"),de=m((t,{measure:e})=>D(e.graph).map(d=>e.graph.node(d)).filter(Boolean),"getDagrePaintNodes"),le=m((t,e,{measure:d})=>t?d.graph.node(t):void 0,"getDagreEdgeNode"),pe=H({prepareLayout:O,measureLayout:se,runLayoutCore:ie,paintOptions:{clusterDb:w,getNodes:de,getEdgeNode:le,skipNode:m((t,{measure:e})=>!e.graph.hasNode(t.id),"skipNode"),isCluster:m((t,{measure:e})=>e.graph.hasNode(t.id)&&(e.graph.children(t.id)??[]).length>0,"isCluster")}});export{ae as applyDagreLayoutResult,M as getEdgesToRender,se as measureDagreLayout,O as prepareLayoutForDagre,pe as render,ie as runDagreLayoutCore};
@@ -0,0 +1,30 @@
1
+ import{I as W}from"./chunk-2Q5K7J3B-Bbluh_im.js";import{p as X}from"./chunk-JWPE2WC7-DqWkk9f8.js";import{o as O,b as G,s as Y,p as F,g as P,a as q,_ as g,B as A,l as E,F as Z,d as U,z as D,q as j,i as J,a3 as K,D as Q,a4 as ee}from"./mermaid.core-CnNeOEec.js";import{p as te}from"./cynefin-OW5HDTMX-fybCqBi3.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";var L=/[─━│┃└┗├┣]/,_=/[└┗├┣]/,re=/[─━]/,V=/^[\s│┃]+$/,$=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,k=/^\s*%%/,ne=" ";function S(r){return r.some(t=>L.test(t))}g(S,"isBoxDrawingFormat");function M(r){for(const t of r){const e=_.exec(t);if(e!=null&&e.index&&e.index>0)return e.index}return 4}g(M,"inferSegmentWidth");function R(r,t){return r.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{const s=parseInt(i,10),o=t.get(s);return o?`line ${o}`:e})}g(R,"remapErrorLines");function H(r){const t=r.split(`
2
+ `),e=new Map;let i=-1;for(const[d,l]of t.entries())if(l.trim()==="treeView-beta"){i=d;break}if(i===-1)return{text:r,lineMap:e};const s=[];for(let d=i+1;d<t.length;d++){const l=t[d];l.trim()===""||k.test(l)||$.test(l)||V.test(l)||s.push(l.replace(/\t/g," "))}if(!S(s))return{text:r,lineMap:e};const o=M(s),n=[];let c=0;for(let d=0;d<=i;d++)n.push(t[d]),c++,e.set(c,d+1);for(let d=i+1;d<t.length;d++){const l=t[d],u=l.trim(),a=d+1;if(u===""){n.push(l),c++,e.set(c,a);continue}if(k.test(l)){n.push(l),c++,e.set(c,a);continue}if($.test(l)){n.push(l),c++,e.set(c,a);continue}if(V.test(l))continue;const p=l.replace(/\t/g," "),h=_.exec(p);if((h==null?void 0:h.index)!==void 0){const m=h.index,w=Math.round(m/o)+1;let f=m+1;for(;f<p.length&&re.test(p[f]);)f++;for(;f<p.length&&p[f]===" ";)f++;const v=p.slice(f).trimEnd();if(!v)throw new Error(`Line ${a}: Empty node — expected a filename or directory name after the box-drawing prefix`);const b=ne.repeat(w);n.push(b+v),c++,e.set(c,a)}else{if(/^[\s─━│┃└┗├┣]+$/.test(p))continue;if(L.test(p))n.push(l),c++,e.set(c,a);else{if(/^\s+/.test(p))throw new Error(`Line ${a}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);n.push(l),c++,e.set(c,a)}}}return{text:n.join(`
3
+ `),lineMap:e}}g(H,"preprocessBoxDrawing");var x=new W(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),ie=g(()=>{x.reset(),j()},"clear"),oe=g(()=>x.records.stack[0],"getRoot"),se=g(()=>x.records.cnt,"getCount"),ae=Q.treeView,ce=g(()=>A(ae,D().treeView),"getConfig"),le=g((r,t,e,i,s,o)=>{for(;r<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const n={id:x.records.cnt++,level:r,name:t,nodeType:e,icon:s,cssClass:i,description:o,children:[]};x.records.stack[x.records.stack.length-1].children.push(n),x.records.stack.push(n)},"addNode"),de={clear:ie,addNode:le,getRoot:oe,getCount:se,getConfig:ce,getAccTitle:q,getAccDescription:P,getDiagramTitle:F,setAccDescription:Y,setAccTitle:G,setDiagramTitle:O},I=de,he=g(r=>{X(r,I);for(const t of r.nodes){const e=typeof t.indent=="number"?t.indent:0;let i=t.name;const s=i.endsWith("/");s&&(i=i.slice(0,-1));const o=s?"directory":"file",n=t.classAnnotation||void 0,c=t.iconAnnotation,d=c!==void 0?c||"none":void 0,l=t.descAnnotation||void 0,u=l?J(l,D()):void 0;I.addNode(e,i,o,n,d,u)}},"populate"),pe={parse:g(async r=>{const{text:t,lineMap:e}=H(r);try{const i=await te("treeView",t);E.debug(i),he(i)}catch(i){throw e.size>0&&i instanceof Error&&(i.message=R(i.message,e)),i}},"parse")},C={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function z(r,t){var s;const e=(s=t==null?void 0:t.filenameIcons)==null?void 0:s[r];if(e)return e;const i=r.lastIndexOf(".");if(i>0){const o=r.substring(i).toLowerCase(),n=t==null?void 0:t.extensionIcons;return(n==null?void 0:n[o])??(n==null?void 0:n[o.slice(1)])}}g(z,"detectIcon");function y(r,t){return r.includes(":")?r:r in C.icons||!t?`${C.prefix}:${r}`:`${t}:${r}`}g(y,"qualifyIcon");function T(r,t){if(r.icon!=="none"){if(r.icon)return y(r.icon,t.defaultIconPack);if(t.showIcons){if(r.nodeType==="file"){const e=z(r.name,t);if(e==="none")return;if(e)return y(e,t.defaultIconPack)}return`${C.prefix}:${r.nodeType==="directory"?"folder":"file"}`}}}g(T,"getNodeIcon");ee([{name:C.prefix,icons:C}]);var B=14,ge=4,fe=16,ue=g(async(r,t)=>{const e=[],i=g(o=>{const n=T(o,t);n&&e.push({icon:n,node:o}),o.children.forEach(i)},"collect");i(r);const s=await Promise.all(e.map(async({icon:o,node:n})=>({id:n.id,svg:await K(o,{height:B,width:B})})));return new Map(s.map(({id:o,svg:n})=>[o,n]))},"resolveNodeIcons"),we=g((r,t,e,i,s,o)=>{var b;const n=i.append("g");let c="treeView-node-label";e.nodeType==="directory"&&(c+=" treeView-node-dir"),e.cssClass&&(c+=` ${e.cssClass}`);const d=B+ge,l=T(e,s),u=l!==void 0;l&&n.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${r+s.paddingX}, ${t+s.paddingY})`).html(o.get(e.id)??"");const a=n.append("text").text(e.name).attr("dominant-baseline","middle").attr("class",c),{height:p,width:h}=a.node().getBBox(),m=p+s.paddingY*2,w=r+s.paddingX+(u?d:0);a.attr("x",w),a.attr("y",t+m/2);const f=w+h,v=h+s.paddingX*2+(u?d:0);return e.BBox={x:r,y:t,width:v,height:m},(b=e.cssClass)!=null&&b.split(/\s+/).includes("highlight")&&n.insert("rect",":first-child").attr("x",r).attr("y",t+1).attr("width",0).attr("height",m-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:e,nodeGroup:n,labelRightEdge:f,centerY:t+m/2}},"positionLabel"),N=g((r,t,e,i,s,o)=>r.append("line").attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",s).attr("stroke-width",o).attr("class","treeView-node-line"),"positionLine"),me=g((r,t,e,i)=>{var u;let s=0,o=0;const n=[],c=g((a,p,h,m)=>{const w=m*(h.rowIndent+h.paddingX),f=we(w,s,p,a,h,i);n.push(f);const{height:v,width:b}=p.BBox;N(a,w-h.rowIndent,s+v/2,w,s+v/2,h.lineThickness),o=Math.max(o,w+b),s+=v},"drawNode"),d=g((a,p=0)=>{c(r,a,e,p),a.children.forEach(f=>{d(f,p+1)});const{x:h,y:m,height:w}=a.BBox;if(a.children.length){const{y:f,height:v}=a.children[a.children.length-1].BBox;N(r,h+e.paddingX,m+w,h+e.paddingX,f+v/2+e.lineThickness/2,e.lineThickness)}},"processNode");d(t);const l=n.filter(a=>a.node.description);if(l.length>0){const p=Math.max(...n.map(h=>h.labelRightEdge))+fe;for(const h of l){const w=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",h.centerY).node().getBBox();o=Math.max(o,p+w.width+e.paddingX)}}for(const a of n)if((u=a.node.cssClass)!=null&&u.split(/\s+/).includes("highlight")){const p=a.nodeGroup.select(".treeView-highlight-bg");if(!p.empty()){const h=o-a.node.BBox.x+8;p.attr("width",h),o=Math.max(o,a.node.BBox.x+h+2)}}return{totalHeight:s,totalWidth:o}},"drawTree"),ve=g(async(r,t,e,i)=>{E.debug(`Rendering treeView diagram
4
+ `+r);const s=i.db,o=s.getRoot(),n=s.getConfig(),c=Z(t),d=c.append("g");d.attr("class","tree-view");const l=await ue(o,n),{totalHeight:u,totalWidth:a}=me(d,o,n,l);c.attr("viewBox",`-${n.lineThickness/2} 0 ${a} ${u}`),U(c,u,a,n.useMaxWidth)},"draw"),xe={draw:ve},be=xe,Ce={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Ie=g(({treeView:r})=>{const{labelFontSize:t,labelColor:e,lineColor:i,iconColor:s,descriptionColor:o,highlightBg:n,highlightStroke:c}=A(Ce,r);return`
5
+ .treeView-node-label {
6
+ font-size: ${t};
7
+ fill: ${e};
8
+ white-space: pre;
9
+ }
10
+ .treeView-node-dir {
11
+ font-weight: bold;
12
+ }
13
+ .treeView-node-line {
14
+ stroke: ${i};
15
+ }
16
+ .treeView-node-icon {
17
+ color: ${s};
18
+ }
19
+ .treeView-node-description {
20
+ font-size: ${t};
21
+ fill: ${o};
22
+ font-style: italic;
23
+ white-space: pre;
24
+ }
25
+ .treeView-highlight-bg {
26
+ fill: ${n};
27
+ stroke: ${c};
28
+ stroke-width: 1;
29
+ }
30
+ `},"styles"),ye=Ie,Ee={db:I,renderer:be,parser:pe,styles:ye};export{Ee as diagram};
@@ -1,4 +1,4 @@
1
- import{I as z}from"./chunk-RE4WF27V-DFrNGxeZ.js";import{p as O}from"./chunk-VII2H2IX-CTIhHlIp.js";import{p as G}from"./cynefin-OW5HDTMX-GVF3BKWE-CLl32jOg.js";import{n as Y,b as F,s as P,o as q,g as Z,a as U,_ as g,C as M,l as R,G as j,d as J,A as H,p as K,h as Q,aD as ee,D as te,aE as re}from"./render-O7CIS3YK-C1DYXW0Z.js";import{_ as b}from"./mermaid-layout-elk.core-h_IjwDpP.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var W=/[─━│┃└┗├┣]/,X=/[└┗├┣]/,ne=/[─━]/,E=/^[\s│┃]+$/,_=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,L=/^\s*%%/,ie=" ";function V(r){return r.some(t=>W.test(t))}b(V,"isBoxDrawingFormat");g(V,"isBoxDrawingFormat");function $(r){for(const t of r){const e=X.exec(t);if(e!=null&&e.index&&e.index>0)return e.index}return 4}b($,"inferSegmentWidth");g($,"inferSegmentWidth");function k(r,t){return r.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{const s=parseInt(i,10),o=t.get(s);return o?`line ${o}`:e})}b(k,"remapErrorLines");g(k,"remapErrorLines");function A(r){const t=r.split(`
1
+ import{I as z}from"./chunk-RE4WF27V-CJEnGv6g.js";import{p as O}from"./chunk-VII2H2IX-CHqS8QXi.js";import{p as G}from"./cynefin-OW5HDTMX-GVF3BKWE-DwLRaQ37.js";import{n as Y,b as F,s as P,o as q,g as Z,a as U,_ as g,C as M,l as R,G as j,d as J,A as H,p as K,h as Q,aD as ee,D as te,aE as re}from"./render-O7CIS3YK-DQb_czkx.js";import{_ as b}from"./mermaid-layout-elk.core-CNNSrMhF.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var W=/[─━│┃└┗├┣]/,X=/[└┗├┣]/,ne=/[─━]/,E=/^[\s│┃]+$/,_=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,L=/^\s*%%/,ie=" ";function V(r){return r.some(t=>W.test(t))}b(V,"isBoxDrawingFormat");g(V,"isBoxDrawingFormat");function $(r){for(const t of r){const e=X.exec(t);if(e!=null&&e.index&&e.index>0)return e.index}return 4}b($,"inferSegmentWidth");g($,"inferSegmentWidth");function k(r,t){return r.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{const s=parseInt(i,10),o=t.get(s);return o?`line ${o}`:e})}b(k,"remapErrorLines");g(k,"remapErrorLines");function A(r){const t=r.split(`
2
2
  `),e=new Map;let i=-1;for(const[d,l]of t.entries())if(l.trim()==="treeView-beta"){i=d;break}if(i===-1)return{text:r,lineMap:e};const s=[];for(let d=i+1;d<t.length;d++){const l=t[d];l.trim()===""||L.test(l)||_.test(l)||E.test(l)||s.push(l.replace(/\t/g," "))}if(!V(s))return{text:r,lineMap:e};const o=$(s),n=[];let c=0;for(let d=0;d<=i;d++)n.push(t[d]),c++,e.set(c,d+1);for(let d=i+1;d<t.length;d++){const l=t[d],u=l.trim(),a=d+1;if(u===""){n.push(l),c++,e.set(c,a);continue}if(L.test(l)){n.push(l),c++,e.set(c,a);continue}if(_.test(l)){n.push(l),c++,e.set(c,a);continue}if(E.test(l))continue;const p=l.replace(/\t/g," "),h=X.exec(p);if((h==null?void 0:h.index)!==void 0){const w=h.index,m=Math.round(w/o)+1;let f=w+1;for(;f<p.length&&ne.test(p[f]);)f++;for(;f<p.length&&p[f]===" ";)f++;const v=p.slice(f).trimEnd();if(!v)throw new Error(`Line ${a}: Empty node — expected a filename or directory name after the box-drawing prefix`);const C=ie.repeat(m);n.push(C+v),c++,e.set(c,a)}else{if(/^[\s─━│┃└┗├┣]+$/.test(p))continue;if(W.test(p))n.push(l),c++,e.set(c,a);else{if(/^\s+/.test(p))throw new Error(`Line ${a}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);n.push(l),c++,e.set(c,a)}}}return{text:n.join(`
3
3
  `),lineMap:e}}b(A,"preprocessBoxDrawing");g(A,"preprocessBoxDrawing");var x=new z(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),oe=g(()=>{x.reset(),K()},"clear"),se=g(()=>x.records.stack[0],"getRoot"),ae=g(()=>x.records.cnt,"getCount"),ce=te.treeView,le=g(()=>M(ce,H().treeView),"getConfig"),de=g((r,t,e,i,s,o)=>{for(;r<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const n={id:x.records.cnt++,level:r,name:t,nodeType:e,icon:s,cssClass:i,description:o,children:[]};x.records.stack[x.records.stack.length-1].children.push(n),x.records.stack.push(n)},"addNode"),he={clear:oe,addNode:de,getRoot:se,getCount:ae,getConfig:le,getAccTitle:U,getAccDescription:Z,getDiagramTitle:q,setAccDescription:P,setAccTitle:F,setDiagramTitle:Y},N=he,pe=g(r=>{O(r,N);for(const t of r.nodes){const e=typeof t.indent=="number"?t.indent:0;let i=t.name;const s=i.endsWith("/");s&&(i=i.slice(0,-1));const o=s?"directory":"file",n=t.classAnnotation||void 0,c=t.iconAnnotation,d=c!==void 0?c||"none":void 0,l=t.descAnnotation||void 0,u=l?Q(l,H()):void 0;N.addNode(e,i,o,n,d,u)}},"populate"),ge={parse:g(async r=>{const{text:t,lineMap:e}=A(r);try{const i=await G("treeView",t);R.debug(i),pe(i)}catch(i){throw e.size>0&&i instanceof Error&&(i.message=k(i.message,e)),i}},"parse")},I={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function D(r,t){var s;const e=(s=t==null?void 0:t.filenameIcons)==null?void 0:s[r];if(e)return e;const i=r.lastIndexOf(".");if(i>0){const o=r.substring(i).toLowerCase(),n=t==null?void 0:t.extensionIcons;return(n==null?void 0:n[o])??(n==null?void 0:n[o.slice(1)])}}b(D,"detectIcon");g(D,"detectIcon");function y(r,t){return r.includes(":")?r:r in I.icons||!t?`${I.prefix}:${r}`:`${t}:${r}`}b(y,"qualifyIcon");g(y,"qualifyIcon");function B(r,t){if(r.icon!=="none"){if(r.icon)return y(r.icon,t.defaultIconPack);if(t.showIcons){if(r.nodeType==="file"){const e=D(r.name,t);if(e==="none")return;if(e)return y(e,t.defaultIconPack)}return`${I.prefix}:${r.nodeType==="directory"?"folder":"file"}`}}}b(B,"getNodeIcon");g(B,"getNodeIcon");re([{name:I.prefix,icons:I}]);var T=14,fe=4,ue=16,me=g(async(r,t)=>{const e=[],i=g(o=>{const n=B(o,t);n&&e.push({icon:n,node:o}),o.children.forEach(i)},"collect");i(r);const s=await Promise.all(e.map(async({icon:o,node:n})=>({id:n.id,svg:await ee(o,{height:T,width:T})})));return new Map(s.map(({id:o,svg:n})=>[o,n]))},"resolveNodeIcons"),we=g((r,t,e,i,s,o)=>{var C;const n=i.append("g");let c="treeView-node-label";e.nodeType==="directory"&&(c+=" treeView-node-dir"),e.cssClass&&(c+=` ${e.cssClass}`);const d=T+fe,l=B(e,s),u=l!==void 0;l&&n.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${r+s.paddingX}, ${t+s.paddingY})`).html(o.get(e.id)??"");const a=n.append("text").text(e.name).attr("dominant-baseline","middle").attr("class",c),{height:p,width:h}=a.node().getBBox(),w=p+s.paddingY*2,m=r+s.paddingX+(u?d:0);a.attr("x",m),a.attr("y",t+w/2);const f=m+h,v=h+s.paddingX*2+(u?d:0);return e.BBox={x:r,y:t,width:v,height:w},(C=e.cssClass)!=null&&C.split(/\s+/).includes("highlight")&&n.insert("rect",":first-child").attr("x",r).attr("y",t+1).attr("width",0).attr("height",w-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:e,nodeGroup:n,labelRightEdge:f,centerY:t+w/2}},"positionLabel"),S=g((r,t,e,i,s,o)=>r.append("line").attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",s).attr("stroke-width",o).attr("class","treeView-node-line"),"positionLine"),ve=g((r,t,e,i)=>{var u;let s=0,o=0;const n=[],c=g((a,p,h,w)=>{const m=w*(h.rowIndent+h.paddingX),f=we(m,s,p,a,h,i);n.push(f);const{height:v,width:C}=p.BBox;S(a,m-h.rowIndent,s+v/2,m,s+v/2,h.lineThickness),o=Math.max(o,m+C),s+=v},"drawNode"),d=g((a,p=0)=>{c(r,a,e,p),a.children.forEach(f=>{d(f,p+1)});const{x:h,y:w,height:m}=a.BBox;if(a.children.length){const{y:f,height:v}=a.children[a.children.length-1].BBox;S(r,h+e.paddingX,w+m,h+e.paddingX,f+v/2+e.lineThickness/2,e.lineThickness)}},"processNode");d(t);const l=n.filter(a=>a.node.description);if(l.length>0){const p=Math.max(...n.map(h=>h.labelRightEdge))+ue;for(const h of l){const m=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",h.centerY).node().getBBox();o=Math.max(o,p+m.width+e.paddingX)}}for(const a of n)if((u=a.node.cssClass)!=null&&u.split(/\s+/).includes("highlight")){const p=a.nodeGroup.select(".treeView-highlight-bg");if(!p.empty()){const h=o-a.node.BBox.x+8;p.attr("width",h),o=Math.max(o,a.node.BBox.x+h+2)}}return{totalHeight:s,totalWidth:o}},"drawTree"),xe=g(async(r,t,e,i)=>{R.debug(`Rendering treeView diagram
4
4
  `+r);const s=i.db,o=s.getRoot(),n=s.getConfig(),c=j(t),d=c.append("g");d.attr("class","tree-view");const l=await me(o,n),{totalHeight:u,totalWidth:a}=ve(d,o,n,l);c.attr("viewBox",`-${n.lineThickness/2} 0 ${a} ${u}`),J(c,u,a,n.useMaxWidth)},"draw"),be={draw:xe},Ce=be,Ie={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},ye=g(({treeView:r})=>{const{labelFontSize:t,labelColor:e,lineColor:i,iconColor:s,descriptionColor:o,highlightBg:n,highlightStroke:c}=M(Ie,r);return`
@@ -0,0 +1,41 @@
1
+ import{p as I}from"./chunk-JWPE2WC7-DqWkk9f8.js";import{s as _,g as F,p as D,o as E,a as z,b as P,_ as c,F as G,q as B,B as w,z as C,D as W,l as b,H,d as V}from"./mermaid.core-CnNeOEec.js";import{p as j}from"./cynefin-OW5HDTMX-fybCqBi3.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,A={axes:[],curves:[],options:x},m=structuredClone(A),U=W.radar,X=c(()=>w({...U,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),q=c(()=>m.curves,"getCurves"),K=c(()=>m.options,"getOptions"),N=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),Q=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:q,getOptions:K,setAxes:N,setCurves:Y,setOptions:J,getConfig:X,clear:Q,setAccTitle:P,getAccTitle:z,setDiagramTitle:E,getDiagramTitle:D,getAccDescription:F,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await j("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),u=G(t),p=rt(u,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(p,n,v,o.ticks,o.graticule),nt(p,n,v,i),L(p,n,l,h,g,o.graticule,i),k(p,l,o.showLegend,i),p.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return V(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n<r;n++){const l=e*(n+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(s==="polygon"){const n=t.length;for(let l=0;l<r;l++){const o=e*(l+1)/r,i=t.map((d,u)=>{const p=2*u*Math.PI/n-Math.PI/2,g=o*Math.cos(p),h=o*Math.sin(p);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n<s;n++){const l=t[n].label,o=2*n*Math.PI/s-Math.PI/2,i=Math.cos(o),d=Math.sin(o);a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*i).attr("y2",e*r.axisScaleFactor*d).attr("class","radarAxisLine");const u=i>.01?"start":i<-.01?"end":"middle",p=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",u).attr("dominant-baseline",p).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,u)=>{if(d.entries.length!==o)return;const p=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(p,l.curveTension)).attr("class",`radarCurve-${u}`):n==="polygon"&&a.append("polygon").attr("points",p.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${u}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const n=a[(s-1+e)%e],l=a[s],o=a[(s+1)%e],i=a[(s+2)%e],d={x:l.x+(o.x-n.x)*t,y:l.y+(o.y-n.y)*t},u={x:o.x-(i.x-l.x)*t,y:o.y-(i.y-l.y)*t};r+=` C${d.x},${d.y} ${u.x},${u.y} ${o.x},${o.y}`}return`${r} Z`}c(S,"closedRoundCurve");function k(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((o,i)=>{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
+ .radarCurve-${r} {
3
+ color: ${s};
4
+ fill: ${s};
5
+ fill-opacity: ${t.curveOpacity};
6
+ stroke: ${s};
7
+ stroke-width: ${t.curveStrokeWidth};
8
+ }
9
+ .radarLegendBox-${r} {
10
+ fill: ${s};
11
+ fill-opacity: ${t.curveOpacity};
12
+ stroke: ${s};
13
+ }
14
+ `}return e},"genIndexStyles"),lt=c(a=>{const t=H(),e=C(),r=w(t,e.themeVariables),s=w(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),ct=c(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=lt(a);return`
15
+ .radarTitle {
16
+ font-size: ${t.fontSize};
17
+ color: ${t.titleColor};
18
+ dominant-baseline: hanging;
19
+ text-anchor: middle;
20
+ }
21
+ .radarAxisLine {
22
+ stroke: ${e.axisColor};
23
+ stroke-width: ${e.axisStrokeWidth};
24
+ }
25
+ .radarAxisLabel {
26
+ font-size: ${e.axisLabelFontSize}px;
27
+ color: ${e.axisColor};
28
+ }
29
+ .radarGraticule {
30
+ fill: ${e.graticuleColor};
31
+ fill-opacity: ${e.graticuleOpacity};
32
+ stroke: ${e.graticuleColor};
33
+ stroke-width: ${e.graticuleStrokeWidth};
34
+ }
35
+ .radarLegendText {
36
+ text-anchor: start;
37
+ font-size: ${e.legendFontSize}px;
38
+ dominant-baseline: hanging;
39
+ }
40
+ ${it(t,e)}
41
+ `},"styles"),ht={parser:et,db:$,renderer:ot,styles:ct};export{ht as diagram};
@@ -1,4 +1,4 @@
1
- import{p as I}from"./chunk-VII2H2IX-CTIhHlIp.js";import{p as D}from"./cynefin-OW5HDTMX-GVF3BKWE-CLl32jOg.js";import{s as E,g as F,o as G,n as P,a as z,b as B,_ as c,G as W,p as V,C as w,A as T,D as H,l as S,I as j,d as U}from"./render-O7CIS3YK-C1DYXW0Z.js";import{_ as C}from"./mermaid-layout-elk.core-h_IjwDpP.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,k={axes:[],curves:[],options:x},m=structuredClone(k),X=H.radar,K=c(()=>w({...X,...T().radar}),"getConfig"),O=c(()=>m.axes,"getAxes"),N=c(()=>m.curves,"getCurves"),Y=c(()=>m.options,"getOptions"),Z=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),q=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:J(t.entries)}))},"setCurves"),J=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=O();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),Q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(S.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),tt=c(()=>{V(),m=structuredClone(k)},"clear"),$={getAxes:O,getCurves:N,getOptions:Y,setAxes:Z,setCurves:q,setOptions:Q,getConfig:K,clear:tt,setAccTitle:B,getAccTitle:z,setDiagramTitle:P,getDiagramTitle:G,getAccDescription:F,setAccDescription:E},et=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),at={parse:c(async a=>{const t=await D("radar",a);S.debug(t),et(t)},"parse")},rt=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=W(t),u=st(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;nt(u,n,v,o.ticks,o.graticule),ot(u,n,v,i),b(u,n,l,h,g,o.graticule,i),L(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),st=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return U(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),nt=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n<r;n++){const l=e*(n+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(s==="polygon"){const n=t.length;for(let l=0;l<r;l++){const o=e*(l+1)/r,i=t.map((d,p)=>{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),ot=c((a,t,e,r)=>{const s=t.length;for(let n=0;n<s;n++){const l=t[n].label,o=2*n*Math.PI/s-Math.PI/2,i=Math.cos(o),d=Math.sin(o);a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*i).attr("y2",e*r.axisScaleFactor*d).attr("class","radarAxisLine");const p=i>.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function b(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=A(g,r,s,i),R=f*Math.cos(v),_=f*Math.sin(v);return{x:R,y:_}});n==="circle"?a.append("path").attr("d",M(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}C(b,"drawCurves");c(b,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}C(A,"relativeRadius");c(A,"relativeRadius");function M(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const n=a[(s-1+e)%e],l=a[s],o=a[(s+1)%e],i=a[(s+2)%e],d={x:l.x+(o.x-n.x)*t,y:l.y+(o.y-n.y)*t},p={x:o.x-(i.x-l.x)*t,y:o.y-(i.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${o.x},${o.y}`}return`${r} Z`}C(M,"closedRoundCurve");c(M,"closedRoundCurve");function L(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((o,i)=>{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}C(L,"drawLegend");c(L,"drawLegend");var it={draw:rt},lt=c((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
1
+ import{p as I}from"./chunk-VII2H2IX-CHqS8QXi.js";import{p as D}from"./cynefin-OW5HDTMX-GVF3BKWE-DwLRaQ37.js";import{s as E,g as F,o as G,n as P,a as z,b as B,_ as c,G as W,p as V,C as w,A as T,D as H,l as S,I as j,d as U}from"./render-O7CIS3YK-DQb_czkx.js";import{_ as C}from"./mermaid-layout-elk.core-CNNSrMhF.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,k={axes:[],curves:[],options:x},m=structuredClone(k),X=H.radar,K=c(()=>w({...X,...T().radar}),"getConfig"),O=c(()=>m.axes,"getAxes"),N=c(()=>m.curves,"getCurves"),Y=c(()=>m.options,"getOptions"),Z=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),q=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:J(t.entries)}))},"setCurves"),J=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=O();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),Q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(S.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),tt=c(()=>{V(),m=structuredClone(k)},"clear"),$={getAxes:O,getCurves:N,getOptions:Y,setAxes:Z,setCurves:q,setOptions:Q,getConfig:K,clear:tt,setAccTitle:B,getAccTitle:z,setDiagramTitle:P,getDiagramTitle:G,getAccDescription:F,setAccDescription:E},et=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),at={parse:c(async a=>{const t=await D("radar",a);S.debug(t),et(t)},"parse")},rt=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=W(t),u=st(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;nt(u,n,v,o.ticks,o.graticule),ot(u,n,v,i),b(u,n,l,h,g,o.graticule,i),L(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),st=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return U(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),nt=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n<r;n++){const l=e*(n+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(s==="polygon"){const n=t.length;for(let l=0;l<r;l++){const o=e*(l+1)/r,i=t.map((d,p)=>{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),ot=c((a,t,e,r)=>{const s=t.length;for(let n=0;n<s;n++){const l=t[n].label,o=2*n*Math.PI/s-Math.PI/2,i=Math.cos(o),d=Math.sin(o);a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*i).attr("y2",e*r.axisScaleFactor*d).attr("class","radarAxisLine");const p=i>.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function b(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=A(g,r,s,i),R=f*Math.cos(v),_=f*Math.sin(v);return{x:R,y:_}});n==="circle"?a.append("path").attr("d",M(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}C(b,"drawCurves");c(b,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}C(A,"relativeRadius");c(A,"relativeRadius");function M(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const n=a[(s-1+e)%e],l=a[s],o=a[(s+1)%e],i=a[(s+2)%e],d={x:l.x+(o.x-n.x)*t,y:l.y+(o.y-n.y)*t},p={x:o.x-(i.x-l.x)*t,y:o.y-(i.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${o.x},${o.y}`}return`${r} Z`}C(M,"closedRoundCurve");c(M,"closedRoundCurve");function L(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((o,i)=>{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}C(L,"drawLegend");c(L,"drawLegend");var it={draw:rt},lt=c((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
2
  .radarCurve-${r} {
3
3
  color: ${s};
4
4
  fill: ${s};
@@ -1,3 +1,3 @@
1
- import{p as oe}from"./chunk-JWPE2WC7-smESCI0k.js";import{o as se,n as de,s as le,g as ce,a as me,b as ue,_ as o,l as g,c as T,z as xe,p as fe,A as ge,y as E,B as he,h as P,w as S,a3 as pe}from"./mermaid.core-n1vgOa_E.js";import{p as be,i as ve}from"./cynefin-VYW2F7L2-BFZHy-wK.js";import{s as we}from"./transform-B5_amWNh.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";var D="position frame",N="frame positioned",M="position relation",C="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){O(),fe()},"clear");function O(){A={}}o(O,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),A={};function W(){let e=Be;const{ast:n}=A,t=R();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=X(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){A.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function R(){return s}o(R,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function _(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(_,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&a<t}).map(i=>Number.parseInt(i)))+1}o(v,"findNextAvailableIndex");function V(e,n){const t=H(e.entityIdentifier),i=_(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(V,"calculateSwimlaneProps");function L(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(L,"calculateEntityVisualProps");function X(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${S(a,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{
2
- `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;"),r+="<br/>")}const m=r!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(X,"calculateTextProps");function G(e,n){const t=n,i=L(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(G,"decidePositionFrame");function j(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(j,"calculateX");function Y(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(Y,"calculateMaxRight");function $(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o($,"sortedSwimlanesArray");function z(e,n){const t=n,i=V(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=j(a,d,r),m=c+l.width+s.boxPadding,x=Y(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=$(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p<f.length;p++){const y=f[p],b=f[p-1];y.y=b.y+b.height+s.swimlaneGap}return h}o(z,"evolveFramePositioned");function K(e,n){return e===0&&n.sourceFrames.length===0}o(K,"isFirstFrame");function q(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}o(q,"hasSourceFrame");function B(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(B,"findBoxByFrame");function J(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(J,"findBoxByLineIndex");function Q(e,n){const t=n;if(ve(t.frame)||K(t.index,t.frame))return[];const i=B(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=B(e.boxes,t.sourceFrame):a=J(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:C,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(Q,"decidePositionRelation");function Z(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Z,"evolveRelationPositioned");var Fe={[D]:G,[M]:Q},Ee={[N]:z,[C]:Z};function ee(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(ee,"decide");function te(e,n){const t=n.reduce((i,a)=>{const r=Ee[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(te,"evolve");function w(e,n){const t=ee(e,n);return te(e,t)}o(w,"dispatch");var F={getConfig:Me,setOptions:ye,getOptions:Pe,clear:Se,setAccTitle:ue,getAccTitle:me,getAccDescription:ce,setAccDescription:le,setDiagramTitle:de,getDiagramTitle:se,setAst:I,getDiagramProps:R,getState:W},Ae={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),oe(n,F)},"parse")},k=T(),Re=k==null?void 0:k.eventmodeling;function ne(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(ne,"renderD3Box");function ie(e,n){return e>n}o(ie,"dirUpwards");function ae(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ie(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ae,"renderD3Relation");function re(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(re,"renderD3Swimlane");var $e=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+`
3
- `,"id:",n,t),!Re)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=T(),l=we(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(re(l,m.maxR,c,r)),m.boxes.forEach(ne(l,c)),m.relations.forEach(ae(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,(d==null?void 0:d.padding)??30,d==null?void 0:d.useMaxWidth)},"draw"),Te={draw:$e},De=o(e=>"","getStyles"),Ne=De,_e={parser:Ae,db:F,renderer:Te,styles:Ne};export{_e as diagram};
1
+ import{p as oe}from"./chunk-JWPE2WC7-DqWkk9f8.js";import{p as se,o as de,s as le,g as ce,a as me,b as ue,_ as o,l as g,c as D,A as xe,q as fe,B as ge,z as E,D as he,i as P,w as S,a5 as pe}from"./mermaid.core-CnNeOEec.js";import{p as be,i as ve}from"./cynefin-OW5HDTMX-fybCqBi3.js";import{s as we}from"./transform-Bd_a5eGM.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";var T="position frame",N="frame positioned",M="position relation",C="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){O(),fe()},"clear");function O(){A={}}o(O,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),A={};function W(){let e=Be;const{ast:n}=A,t=R();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=X(i,n.dataEntities,t);e=w(e,{$kind:T,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){A.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function R(){return s}o(R,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function _(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(_,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&a<t}).map(i=>Number.parseInt(i)))+1}o(v,"findNextAvailableIndex");function V(e,n){const t=H(e.entityIdentifier),i=_(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(V,"calculateSwimlaneProps");function L(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(L,"calculateEntityVisualProps");function X(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${S(a,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{
2
+ `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;"),r+="<br/>")}const m=r!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(X,"calculateTextProps");function G(e,n){const t=n,i=L(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(G,"decidePositionFrame");function j(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(j,"calculateX");function Y(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(Y,"calculateMaxRight");function $(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o($,"sortedSwimlanesArray");function z(e,n){const t=n,i=V(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=j(a,d,r),m=c+l.width+s.boxPadding,x=Y(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=$(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p<f.length;p++){const y=f[p],b=f[p-1];y.y=b.y+b.height+s.swimlaneGap}return h}o(z,"evolveFramePositioned");function K(e,n){return e===0&&n.sourceFrames.length===0}o(K,"isFirstFrame");function q(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}o(q,"hasSourceFrame");function B(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(B,"findBoxByFrame");function J(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(J,"findBoxByLineIndex");function Q(e,n){const t=n;if(ve(t.frame)||K(t.index,t.frame))return[];const i=B(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=B(e.boxes,t.sourceFrame):a=J(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:C,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(Q,"decidePositionRelation");function Z(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Z,"evolveRelationPositioned");var Fe={[T]:G,[M]:Q},Ee={[N]:z,[C]:Z};function ee(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(ee,"decide");function te(e,n){const t=n.reduce((i,a)=>{const r=Ee[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(te,"evolve");function w(e,n){const t=ee(e,n);return te(e,t)}o(w,"dispatch");var F={getConfig:Me,setOptions:ye,getOptions:Pe,clear:Se,setAccTitle:ue,getAccTitle:me,getAccDescription:ce,setAccDescription:le,setDiagramTitle:de,getDiagramTitle:se,setAst:I,getDiagramProps:R,getState:W},Ae={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),oe(n,F)},"parse")},k=D(),Re=k==null?void 0:k.eventmodeling;function ne(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(ne,"renderD3Box");function ie(e,n){return e>n}o(ie,"dirUpwards");function ae(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ie(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ae,"renderD3Relation");function re(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(re,"renderD3Swimlane");var $e=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+`
3
+ `,"id:",n,t),!Re)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=D(),l=we(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(re(l,m.maxR,c,r)),m.boxes.forEach(ne(l,c)),m.relations.forEach(ae(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,(d==null?void 0:d.padding)??30,d==null?void 0:d.useMaxWidth)},"draw"),De={draw:$e},Te=o(e=>"","getStyles"),Ne=Te,_e={parser:Ae,db:F,renderer:De,styles:Ne};export{_e as diagram};
@@ -1,3 +1,3 @@
1
- import{p as se}from"./chunk-VII2H2IX-CTIhHlIp.js";import{p as le,i as de}from"./cynefin-OW5HDTMX-GVF3BKWE-CLl32jOg.js";import{o as ce,n as me,s as ue,g as xe,a as fe,b as ge,_ as o,l as h,c as ie,B as he,p as pe,C as be,A as D,D as ve,h as M,w as k,aH as we}from"./render-O7CIS3YK-C1DYXW0Z.js";import{_ as l}from"./mermaid-layout-elk.core-h_IjwDpP.js";import{s as ye}from"./transform-B5_amWNh.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var ae="position frame",re="frame positioned",R="position relation",oe="relation positioned",Pe=o(function(e){h.debug("options str",e)},"setOptions"),Se=o(function(){return{}},"getOptions"),Be=o(function(){N(),pe()},"clear");function N(){$={}}l(N,"reset");o(N,"reset");var Fe=ve.eventmodeling,Me=o(()=>be({...Fe,...D().eventmodeling}),"getConfig"),$={};function T(){let e=ke;const{ast:n}=$,t=S();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=_(i,n.dataEntities,t);e=y(e,{$kind:ae,index:a,frame:i,textProps:r});let d;Y(i)?(h.debug("source frame",i.sourceFrames),d=n.frames.filter(c=>i.sourceFrames.some(m=>m.$refText===c.name)),d.forEach(c=>{e=y(e,{$kind:R,index:a,frame:i,sourceFrame:c})})):e=y(e,{$kind:R,index:a,frame:i})}),e={...e,sortedSwimlanesArray:B(e.swimlanes)},e}l(T,"getState");o(T,"getState");function C(e){$.ast=e}l(C,"setAst");o(C,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function S(){return s}l(S,"getDiagramProps");o(S,"getDiagramProps");var ke={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function I(e){const n=e.split(".");if(n.length===2)return n[0]}l(I,"extractNamespace");o(I,"extractNamespace");function O(e){const n=e.split(".");return n.length===2?n[1]:e}l(O,"extractName");o(O,"extractName");function W(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}l(W,"findSwimlaneByNamespace");o(W,"findSwimlaneByNamespace");function w(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&a<t}).map(i=>Number.parseInt(i)))+1}l(w,"findNextAvailableIndex");o(w,"findNextAvailableIndex");function H(e,n){const t=I(e.entityIdentifier),i=W(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:w(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:w(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:w(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}l(H,"calculateSwimlaneProps");o(H,"calculateSwimlaneProps");function U(e){const{themeVariables:n}=D();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}l(U,"calculateEntityVisualProps");o(U,"calculateEntityVisualProps");function _(e,n,t){const i=D(),a=M(O(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let m=`<b>${k(a,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=M(r,i),r=k(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;")),e.dataReference){const b=n.find(F=>{var v;return F.name===((v=e.dataReference)==null?void 0:v.$refText)});b&&(r=b.dataBlockValue,r=r.substring(r.indexOf(`{
1
+ import{p as se}from"./chunk-VII2H2IX-CHqS8QXi.js";import{p as le,i as de}from"./cynefin-OW5HDTMX-GVF3BKWE-DwLRaQ37.js";import{o as ce,n as me,s as ue,g as xe,a as fe,b as ge,_ as o,l as h,c as ie,B as he,p as pe,C as be,A as D,D as ve,h as M,w as k,aH as we}from"./render-O7CIS3YK-DQb_czkx.js";import{_ as l}from"./mermaid-layout-elk.core-CNNSrMhF.js";import{s as ye}from"./transform-Bd_a5eGM.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var ae="position frame",re="frame positioned",R="position relation",oe="relation positioned",Pe=o(function(e){h.debug("options str",e)},"setOptions"),Se=o(function(){return{}},"getOptions"),Be=o(function(){N(),pe()},"clear");function N(){$={}}l(N,"reset");o(N,"reset");var Fe=ve.eventmodeling,Me=o(()=>be({...Fe,...D().eventmodeling}),"getConfig"),$={};function T(){let e=ke;const{ast:n}=$,t=S();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=_(i,n.dataEntities,t);e=y(e,{$kind:ae,index:a,frame:i,textProps:r});let d;Y(i)?(h.debug("source frame",i.sourceFrames),d=n.frames.filter(c=>i.sourceFrames.some(m=>m.$refText===c.name)),d.forEach(c=>{e=y(e,{$kind:R,index:a,frame:i,sourceFrame:c})})):e=y(e,{$kind:R,index:a,frame:i})}),e={...e,sortedSwimlanesArray:B(e.swimlanes)},e}l(T,"getState");o(T,"getState");function C(e){$.ast=e}l(C,"setAst");o(C,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function S(){return s}l(S,"getDiagramProps");o(S,"getDiagramProps");var ke={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function I(e){const n=e.split(".");if(n.length===2)return n[0]}l(I,"extractNamespace");o(I,"extractNamespace");function O(e){const n=e.split(".");return n.length===2?n[1]:e}l(O,"extractName");o(O,"extractName");function W(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}l(W,"findSwimlaneByNamespace");o(W,"findSwimlaneByNamespace");function w(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&a<t}).map(i=>Number.parseInt(i)))+1}l(w,"findNextAvailableIndex");o(w,"findNextAvailableIndex");function H(e,n){const t=I(e.entityIdentifier),i=W(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:w(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:w(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:w(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}l(H,"calculateSwimlaneProps");o(H,"calculateSwimlaneProps");function U(e){const{themeVariables:n}=D();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}l(U,"calculateEntityVisualProps");o(U,"calculateEntityVisualProps");function _(e,n,t){const i=D(),a=M(O(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let m=`<b>${k(a,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=M(r,i),r=k(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;")),e.dataReference){const b=n.find(F=>{var v;return F.name===((v=e.dataReference)==null?void 0:v.$refText)});b&&(r=b.dataBlockValue,r=r.substring(r.indexOf(`{
2
2
  `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=M(r,i),r=k(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;"),r+="<br/>")}const u=r!==void 0;u&&(m+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);const f={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},x=we(m,f),p=u?x.width/3:x.width,g={content:m,width:p,height:x.height};return h.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}l(_,"calculateTextProps");o(_,"calculateTextProps");function V(e,n){const t=n,i=U(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:re,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}l(V,"decidePositionFrame");o(V,"decidePositionFrame");function L(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}l(L,"calculateX");o(L,"calculateX");function X(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}l(X,"calculateMaxRight");o(X,"calculateMaxRight");function B(e){return Object.values(e).sort((n,t)=>n.index-t.index)}l(B,"sortedSwimlanesArray");o(B,"sortedSwimlanesArray");function G(e,n){const t=n,i=H(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,c={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},m=L(a,d,r),u=m+c.width+s.boxPadding,f=X(Object.values(e.swimlanes),u);a.r=m+c.width,a.maxHeight=Math.max(a.maxHeight,c.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const x={x:m,y:s.swimlanePadding+a.y,r:u,dimension:c,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},p={...e,boxes:[...e.boxes,x],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:f},g=B(p.swimlanes);g.length>0&&(g[0].y=0);for(let b=1;b<g.length;b++){const F=g[b],v=g[b-1];F.y=v.y+v.height+s.swimlaneGap}return p}l(G,"evolveFramePositioned");o(G,"evolveFramePositioned");function j(e,n){return e===0&&n.sourceFrames.length===0}l(j,"isFirstFrame");o(j,"isFirstFrame");function Y(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}l(Y,"hasSourceFrame");o(Y,"hasSourceFrame");function P(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}l(P,"findBoxByFrame");o(P,"findBoxByFrame");function z(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}l(z,"findBoxByLineIndex");o(z,"findBoxByLineIndex");function K(e,n){const t=n;if(de(t.frame)||j(t.index,t.frame))return[];const i=P(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=P(e.boxes,t.sourceFrame):a=z(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:oe,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}l(K,"decidePositionRelation");o(K,"decidePositionRelation");function q(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}l(q,"evolveRelationPositioned");o(q,"evolveRelationPositioned");var Ee={[ae]:V,[R]:K},Re={[re]:G,[oe]:q};function J(e,n){const t=Ee[n.$kind];if(t==null)return[];const i=t(e,n);return h.debug("decided events",i),i}l(J,"decide");o(J,"decide");function Q(e,n){const t=n.reduce((i,a)=>{const r=Re[a.$kind];return r==null?i:r(i,a)},e);return h.debug("evolve events",{state:e,newState:t,events:n}),t}l(Q,"evolve");o(Q,"evolve");function y(e,n){const t=J(e,n);return Q(e,t)}l(y,"dispatch");o(y,"dispatch");var A={getConfig:Me,setOptions:Pe,getOptions:Se,clear:Be,setAccTitle:ge,getAccTitle:fe,getAccDescription:xe,setAccDescription:ue,setDiagramTitle:me,getDiagramTitle:ce,setAst:C,getDiagramProps:S,getState:T},Ae={parse:o(async e=>{const n=await le("eventmodeling",e);h.debug(n),A.setAst(n),se(n,A)},"parse")},E=ie(),De=E==null?void 0:E.eventmodeling;function Z(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}l(Z,"renderD3Box");o(Z,"renderD3Box");function ee(e,n){return e>n}l(ee,"dirUpwards");o(ee,"dirUpwards");function te(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,c=ee(r,d),m=a.sourceBox.x+a.sourceBox.dimension.width*2/3,u=a.targetBox.x+a.targetBox.dimension.width/3;let f,x;h.debug(`rendering relation up=${c} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),c?(f=r,x=d+a.targetBox.dimension.height):(f=r+a.sourceBox.dimension.height,x=d);const p=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",p).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${m} ${f} L${u} ${x}`)}}l(te,"renderD3Relation");o(te,"renderD3Relation");function ne(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",c=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",c),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}l(ne,"renderD3Swimlane");o(ne,"renderD3Swimlane");var Ne=o(function(e,n,t,i){if(h.debug("in eventmodeling renderer",e+`
3
3
  `,"id:",n,t),!De)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=ie(),c=ye(`[id="${n}"]`),m=a.getDiagramProps(),u=a.getState(),f=`em-arrowhead-${n}`,x=r.emArrowhead??"#000000";u.sortedSwimlanesArray.forEach(ne(c,u.maxR,m,r)),u.boxes.forEach(Z(c,m)),u.relations.forEach(te(c,m,f,r)),c.append("defs").append("marker").attr("id",f).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",x),he(void 0,c,(d==null?void 0:d.padding)??30,d==null?void 0:d.useMaxWidth)},"draw"),$e={draw:Ne},Te=o(e=>"","getStyles"),Ce=Te,Xe={parser:Ae,db:A,renderer:$e,styles:Ce};export{Xe as diagram};
@@ -1,24 +1,24 @@
1
- import{p as de}from"./chunk-JWPE2WC7-smESCI0k.js";import{_ as m,G as he,y as Y,A as O,E as me,d as ue,l as X,a5 as L,b as fe,a as ye,n as ge,o as Se,g as xe,s as be,B as ve,a6 as Ce,p as we}from"./mermaid.core-n1vgOa_E.js";import{s as Te}from"./chunk-KBJHAD2P-CLazgX1V.js";import{p as $e}from"./cynefin-VYW2F7L2-BFZHy-wK.js";import{s as H}from"./transform-B5_amWNh.js";import{f as V}from"./defaultLocale-5voVPcsN.js";import{o as G}from"./ordinal-Cboi1Yqb.js";import{h as Le,t as Fe}from"./index-CvYzv8kf.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./init-Gi6I4Gst.js";var N,te=(N=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=fe,this.getAccTitle=ye,this.setDiagramTitle=ge,this.getDiagramTitle=Se,this.getAccDescription=xe,this.setAccDescription=be}getNodes(){return this.nodes}getConfig(){const r=ve,o=Y();return O({...r.treemap,...o.treemap??{}})}addNode(r,o){this.nodes.push(r),this.levels.set(r,o),o===0&&(this.outerNodes.push(r),this.root??(this.root=r))}getRoot(){return{name:"",children:this.outerNodes}}addClass(r,o){const l=this.classes.get(r)??{id:r,styles:[],textStyles:[]},n=o.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");n&&n.forEach(s=>{Ce(s)&&(l!=null&&l.textStyles?l.textStyles.push(s):l.textStyles=[s]),l!=null&&l.styles?l.styles.push(s):l.styles=[s]}),this.classes.set(r,l)}getClasses(){return this.classes}getStylesForClass(r){var o;return((o=this.classes.get(r))==null?void 0:o.styles)??[]}clear(){we(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},m(N,"TreeMapDB"),N);function ae(p){if(!p.length)return[];const r=[],o=[];return p.forEach(l=>{const n={name:l.name,children:l.type==="Leaf"?void 0:[]};for(n.classSelector=l==null?void 0:l.classSelector,l!=null&&l.cssCompiledStyles&&(n.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(n.value=l.value);o.length>0&&o[o.length-1].level>=l.level;)o.pop();if(o.length===0)r.push(n);else{const s=o[o.length-1].node;s.children?s.children.push(n):s.children=[n]}l.type!=="Leaf"&&o.push({node:n,level:l.level})}),r}m(ae,"buildHierarchy");var Ne=m((p,r)=>{de(p,r);const o=[];for(const s of p.TreemapRows??[])s.$type==="ClassDefStatement"&&r.addClass(s.className??"",s.styleText??"");for(const s of p.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,k=ze(d),a=d.classSelector?r.getStylesForClass(d.classSelector):[],z=a.length>0?a:void 0,x={level:h,name:k,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:z};o.push(x)}const l=ae(o),n=m((s,d)=>{for(const h of s)r.addNode(h,d),h.children&&h.children.length>0&&n(h.children,d+1)},"addNodesRecursively");n(l,0)},"populate"),ze=m(p=>p.name?String(p.name):"","getItemName"),le={parser:{yy:void 0},parse:m(async p=>{var r;try{const l=await $e("treemap",p);X.debug("Treemap AST:",l);const n=(r=le.parser)==null?void 0:r.yy;if(!(n instanceof te))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ne(l,n)}catch(o){throw X.error("Error parsing treemap:",o),o}},"parse")},Ae=10,F=10,M=25,Pe=m((p,r,o,l)=>{const n=l.db,s=n.getConfig(),d=s.padding??Ae,h=n.getDiagramTitle(),k=n.getRoot(),{themeVariables:a}=Y();if(!k)return;const z=h?30:0,x=me(r),j=s.nodeWidth?s.nodeWidth*F:960,U=s.nodeHeight?s.nodeHeight*F:500,R=j,q=U+z;x.attr("viewBox",`0 0 ${R} ${q}`),ue(x,q,R,s.useMaxWidth);let b;try{const e=s.valueFormat||",";if(e==="$0,0")b=m(t=>"$"+V(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),i=t?t[0]:"";b=m(u=>"$"+V(","+i)(u),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);b=m(i=>"$"+V(t||"")(i),"valueFormat")}else b=V(e)}catch(e){X.error("Error creating format function:",e),b=V(",")}const A=G().range(["transparent",a.cScale0,a.cScale1,a.cScale2,a.cScale3,a.cScale4,a.cScale5,a.cScale6,a.cScale7,a.cScale8,a.cScale9,a.cScale10,a.cScale11]),se=G().range(["transparent",a.cScalePeer0,a.cScalePeer1,a.cScalePeer2,a.cScalePeer3,a.cScalePeer4,a.cScalePeer5,a.cScalePeer6,a.cScalePeer7,a.cScalePeer8,a.cScalePeer9,a.cScalePeer10,a.cScalePeer11]),E=G().range([a.cScaleLabel0,a.cScaleLabel1,a.cScaleLabel2,a.cScaleLabel3,a.cScaleLabel4,a.cScaleLabel5,a.cScaleLabel6,a.cScaleLabel7,a.cScaleLabel8,a.cScaleLabel9,a.cScaleLabel10,a.cScaleLabel11]);h&&x.append("text").attr("x",R/2).attr("y",z/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const J=x.append("g").attr("transform",`translate(0, ${z})`).attr("class","treemapContainer"),re=Le(k).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),K=Fe().size([j,U]).paddingTop(e=>e.children&&e.children.length>0?M+F:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?F:0).paddingRight(e=>e.children&&e.children.length>0?F:0).paddingBottom(e=>e.children&&e.children.length>0?F:0).round(!0)(re),ne=K.descendants().filter(e=>e.children&&e.children.length>0),P=J.selectAll(".treemapSection").data(ne).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);P.append("rect").attr("width",e=>e.x1-e.x0).attr("height",M).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),P.append("clipPath").attr("id",(e,t)=>`clip-section-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",M),P.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>se(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const t=L({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),P.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,t)=>`url(#clip-section-${r}-${t})`).attr("style",e=>{if(e.depth===0)return"display: none;";const t="dominant-baseline: middle; font-size: 12px; fill:"+E(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const t=H(this),i=e.data.name;t.text(i);const u=e.x1-e.x0,y=6;let f;s.showValues!==!1&&e.value?f=u-10-30-10-y:f=u-y-6;const c=Math.max(15,f),v=t.node();if(v.getComputedTextLength()>c){let w=i;for(;w.length>0;){if(w=i.substring(0,w.length-1),w.length===0){t.text("..."),v.getComputedTextLength()>c&&t.text("");break}if(t.text(w+"..."),v.getComputedTextLength()<=c)break}}}),s.showValues!==!1&&P.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",M/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?b(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+E(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")});const Q=K.leaves(),g=Q.length>20,oe=g?16:38,W=g?14:28,T=g?4:8,D=g?4:6,B=g?2:4,Z=g?8:10,I=g?1:2,_=J.selectAll(".treemapLeafGroup").data(Q).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);_.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>L({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),_.append("clipPath").attr("id",(e,t)=>`clip-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),_.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const t=`text-anchor: middle; dominant-baseline: middle; font-size: ${oe}px;fill:`+E(e.data.name)+";",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.data.name).each(function(e){const t=H(this),i=e.x1-e.x0,u=e.y1-e.y0,y=t.node(),f=i-2*B,$=u-2*B;if(f<Z||$<Z){t.style("display","none");return}let c=parseInt(t.style("font-size"),10);const v=.6;for(;y.getComputedTextLength()>f&&c>T;)c--,t.style("font-size",`${c}px`);let S=Math.max(D,Math.min(W,Math.round(c*v))),C=c+I+S;for(;C>$&&c>T&&(c--,S=Math.max(D,Math.min(W,Math.round(c*v))),!(S<D&&c===T));)t.style("font-size",`${c}px`),C=c+I+S;t.style("font-size",`${c}px`),g?(c<T||$<T)&&t.style("display","none"):(y.getComputedTextLength()>f||c<T||$<c)&&t.style("display","none")}),s.showValues!==!1&&_.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{const i=`text-anchor: middle; dominant-baseline: hanging; font-size: ${W}px;fill:`+E(t.data.name)+";",u=L({cssCompiledStyles:t.data.cssCompiledStyles});return i+u.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${r}-${i})`).text(t=>t.value?b(t.value):"").each(function(t){const i=H(this),u=this.parentNode;if(!u){i.style("display","none");return}const y=H(u).select(".treemapLabel");if(y.empty()||y.style("display")==="none"){i.style("display","none");return}const f=parseFloat(y.style("font-size")),c=Math.max(D,Math.min(W,Math.round(f*.6)));i.style("font-size",`${c}px`);const S=(t.y1-t.y0)/2+f/2+I;i.attr("y",S);const C=t.x1-t.x0,ee=t.y1-t.y0-4,pe=C-2*B;i.node().getComputedTextLength()>pe||S+c>ee||c<D?i.style("display","none"):i.style("display",null)});const ie=s.diagramPadding??8;Te(x,ie,"flowchart",(s==null?void 0:s.useMaxWidth)||!1)},"draw"),De=m(function(p,r){return r.db.getClasses()},"getClasses"),Ve={draw:Pe,getClasses:De},Me={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},ke=m(({treemap:p}={})=>{const r=he(),o=Y(),l=O(r,o.themeVariables),n=O(Me,p),s=n.titleColor??l.titleColor,d=n.labelColor??l.textColor,h=n.valueColor??l.textColor;return`
1
+ import{p as de}from"./chunk-JWPE2WC7-DqWkk9f8.js";import{_ as m,H as he,z as Y,B as O,F as me,d as ue,l as X,a7 as L,b as fe,a as ye,o as ge,p as Se,g as xe,s as be,D as ve,a8 as Ce,q as we}from"./mermaid.core-CnNeOEec.js";import{s as Te}from"./chunk-POPQ4Y6H-BjpioqkZ.js";import{p as $e}from"./cynefin-OW5HDTMX-fybCqBi3.js";import{s as H}from"./transform-Bd_a5eGM.js";import{f as V}from"./defaultLocale-5voVPcsN.js";import{o as G}from"./ordinal-Cboi1Yqb.js";import{h as Le,t as Fe}from"./index-CvYzv8kf.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./init-Gi6I4Gst.js";var z,te=(z=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=fe,this.getAccTitle=ye,this.setDiagramTitle=ge,this.getDiagramTitle=Se,this.getAccDescription=xe,this.setAccDescription=be}getNodes(){return this.nodes}getConfig(){const r=ve,n=Y();return O({...r.treemap,...n.treemap??{}})}addNode(r,n){this.nodes.push(r),this.levels.set(r,n),n===0&&(this.outerNodes.push(r),this.root??(this.root=r))}getRoot(){return{name:"",children:this.outerNodes}}addClass(r,n){const l=this.classes.get(r)??{id:r,styles:[],textStyles:[]},o=n.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{Ce(s)&&(l!=null&&l.textStyles?l.textStyles.push(s):l.textStyles=[s]),l!=null&&l.styles?l.styles.push(s):l.styles=[s]}),this.classes.set(r,l)}getClasses(){return this.classes}getStylesForClass(r){var n;return((n=this.classes.get(r))==null?void 0:n.styles)??[]}clear(){we(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},m(z,"TreeMapDB"),z);function ae(p){if(!p.length)return[];const r=[],n=[];return p.forEach(l=>{const o={name:l.name,children:l.type==="Leaf"?void 0:[]};for(o.classSelector=l==null?void 0:l.classSelector,l!=null&&l.cssCompiledStyles&&(o.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(o.value=l.value);n.length>0&&n[n.length-1].level>=l.level;)n.pop();if(n.length===0)r.push(o);else{const s=n[n.length-1].node;s.children?s.children.push(o):s.children=[o]}l.type!=="Leaf"&&n.push({node:o,level:l.level})}),r}m(ae,"buildHierarchy");var ze=m((p,r)=>{de(p,r);const n=[];for(const s of p.TreemapRows??[])s.$type==="ClassDefStatement"&&r.addClass(s.className??"",s.styleText??"");for(const s of p.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,k=Ne(d),a=d.classSelector?r.getStylesForClass(d.classSelector):[],N=a.length>0?a:void 0,x={level:h,name:k,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:N};n.push(x)}const l=ae(n),o=m((s,d)=>{for(const h of s)r.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(l,0)},"populate"),Ne=m(p=>p.name?String(p.name):"","getItemName"),le={parser:{yy:void 0},parse:m(async p=>{var r;try{const l=await $e("treemap",p);X.debug("Treemap AST:",l);const o=(r=le.parser)==null?void 0:r.yy;if(!(o instanceof te))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ze(l,o)}catch(n){throw X.error("Error parsing treemap:",n),n}},"parse")},Ae=10,F=10,M=25,De=m((p,r,n,l)=>{const o=l.db,s=o.getConfig(),d=s.padding??Ae,h=o.getDiagramTitle(),k=o.getRoot(),{themeVariables:a}=Y();if(!k)return;const N=h?30:0,x=me(r),j=s.nodeWidth?s.nodeWidth*F:960,q=s.nodeHeight?s.nodeHeight*F:500,R=j,U=q+N;x.attr("viewBox",`0 0 ${R} ${U}`),ue(x,U,R,s.useMaxWidth);let b;try{const e=s.valueFormat||",";if(e==="$0,0")b=m(t=>"$"+V(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),i=t?t[0]:"";b=m(u=>"$"+V(","+i)(u),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);b=m(i=>"$"+V(t||"")(i),"valueFormat")}else b=V(e)}catch(e){X.error("Error creating format function:",e),b=V(",")}const A=G().range(["transparent",a.cScale0,a.cScale1,a.cScale2,a.cScale3,a.cScale4,a.cScale5,a.cScale6,a.cScale7,a.cScale8,a.cScale9,a.cScale10,a.cScale11]),se=G().range(["transparent",a.cScalePeer0,a.cScalePeer1,a.cScalePeer2,a.cScalePeer3,a.cScalePeer4,a.cScalePeer5,a.cScalePeer6,a.cScalePeer7,a.cScalePeer8,a.cScalePeer9,a.cScalePeer10,a.cScalePeer11]),W=G().range([a.cScaleLabel0,a.cScaleLabel1,a.cScaleLabel2,a.cScaleLabel3,a.cScaleLabel4,a.cScaleLabel5,a.cScaleLabel6,a.cScaleLabel7,a.cScaleLabel8,a.cScaleLabel9,a.cScaleLabel10,a.cScaleLabel11]);h&&x.append("text").attr("x",R/2).attr("y",N/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const J=x.append("g").attr("transform",`translate(0, ${N})`).attr("class","treemapContainer"),re=Le(k).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),K=Fe().size([j,q]).paddingTop(e=>e.children&&e.children.length>0?M+F:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?F:0).paddingRight(e=>e.children&&e.children.length>0?F:0).paddingBottom(e=>e.children&&e.children.length>0?F:0).round(!0)(re),oe=K.descendants().filter(e=>e.children&&e.children.length>0),D=J.selectAll(".treemapSection").data(oe).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",M).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),D.append("clipPath").attr("id",(e,t)=>`clip-section-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",M),D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>se(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const t=L({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),D.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,t)=>`url(#clip-section-${r}-${t})`).attr("style",e=>{if(e.depth===0)return"display: none;";const t="dominant-baseline: middle; font-size: 12px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const t=H(this),i=e.data.name;t.text(i);const u=e.x1-e.x0,y=6;let f;s.showValues!==!1&&e.value?f=u-10-30-10-y:f=u-y-6;const c=Math.max(15,f),v=t.node();if(v.getComputedTextLength()>c){let w=i;for(;w.length>0;){if(w=i.substring(0,w.length-1),w.length===0){t.text("..."),v.getComputedTextLength()>c&&t.text("");break}if(t.text(w+"..."),v.getComputedTextLength()<=c)break}}}),s.showValues!==!1&&D.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",M/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?b(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")});const Q=K.leaves(),g=Q.length>20,ne=g?16:38,E=g?14:28,T=g?4:8,P=g?4:6,B=g?2:4,Z=g?8:10,I=g?1:2,_=J.selectAll(".treemapLeafGroup").data(Q).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);_.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>L({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),_.append("clipPath").attr("id",(e,t)=>`clip-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),_.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const t=`text-anchor: middle; dominant-baseline: middle; font-size: ${ne}px;fill:`+W(e.data.name)+";",i=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.data.name).each(function(e){const t=H(this),i=e.x1-e.x0,u=e.y1-e.y0,y=t.node(),f=i-2*B,$=u-2*B;if(f<Z||$<Z){t.style("display","none");return}let c=parseInt(t.style("font-size"),10);const v=.6;for(;y.getComputedTextLength()>f&&c>T;)c--,t.style("font-size",`${c}px`);let S=Math.max(P,Math.min(E,Math.round(c*v))),C=c+I+S;for(;C>$&&c>T&&(c--,S=Math.max(P,Math.min(E,Math.round(c*v))),!(S<P&&c===T));)t.style("font-size",`${c}px`),C=c+I+S;t.style("font-size",`${c}px`),g?(c<T||$<T)&&t.style("display","none"):(y.getComputedTextLength()>f||c<T||$<c)&&t.style("display","none")}),s.showValues!==!1&&_.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{const i=`text-anchor: middle; dominant-baseline: hanging; font-size: ${E}px;fill:`+W(t.data.name)+";",u=L({cssCompiledStyles:t.data.cssCompiledStyles});return i+u.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${r}-${i})`).text(t=>t.value?b(t.value):"").each(function(t){const i=H(this),u=this.parentNode;if(!u){i.style("display","none");return}const y=H(u).select(".treemapLabel");if(y.empty()||y.style("display")==="none"){i.style("display","none");return}const f=parseFloat(y.style("font-size")),c=Math.max(P,Math.min(E,Math.round(f*.6)));i.style("font-size",`${c}px`);const S=(t.y1-t.y0)/2+f/2+I;i.attr("y",S);const C=t.x1-t.x0,ee=t.y1-t.y0-4,pe=C-2*B;i.node().getComputedTextLength()>pe||S+c>ee||c<P?i.style("display","none"):i.style("display",null)});const ie=s.diagramPadding??8;Te(x,ie,"flowchart",(s==null?void 0:s.useMaxWidth)||!1)},"draw"),Pe=m(function(p,r){return r.db.getClasses()},"getClasses"),Ve={draw:De,getClasses:Pe},Me={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},ke=m(({treemap:p}={})=>{const r=he(),n=Y(),l=O(r,n.themeVariables),o=O(Me,p),s=o.titleColor??l.titleColor,d=o.labelColor??l.textColor,h=o.valueColor??l.textColor;return`
2
2
  .treemapNode.section {
3
- stroke: ${n.sectionStrokeColor};
4
- stroke-width: ${n.sectionStrokeWidth};
5
- fill: ${n.sectionFillColor};
3
+ stroke: ${o.sectionStrokeColor};
4
+ stroke-width: ${o.sectionStrokeWidth};
5
+ fill: ${o.sectionFillColor};
6
6
  }
7
7
  .treemapNode.leaf {
8
- stroke: ${n.leafStrokeColor};
9
- stroke-width: ${n.leafStrokeWidth};
10
- fill: ${n.leafFillColor};
8
+ stroke: ${o.leafStrokeColor};
9
+ stroke-width: ${o.leafStrokeWidth};
10
+ fill: ${o.leafFillColor};
11
11
  }
12
12
  .treemapLabel {
13
13
  fill: ${d};
14
- font-size: ${n.labelFontSize};
14
+ font-size: ${o.labelFontSize};
15
15
  }
16
16
  .treemapValue {
17
17
  fill: ${h};
18
- font-size: ${n.valueFontSize};
18
+ font-size: ${o.valueFontSize};
19
19
  }
20
20
  .treemapTitle {
21
21
  fill: ${s};
22
- font-size: ${n.titleFontSize};
22
+ font-size: ${o.titleFontSize};
23
23
  }
24
- `},"getStyles"),Ee=ke,Je={parser:le,get db(){return new te},renderer:Ve,styles:Ee};export{Je as diagram};
24
+ `},"getStyles"),We=ke,Je={parser:le,get db(){return new te},renderer:Ve,styles:We};export{Je as diagram};
@@ -1,4 +1,4 @@
1
- import{p as he}from"./chunk-VII2H2IX-CTIhHlIp.js";import{p as me}from"./cynefin-OW5HDTMX-GVF3BKWE-CLl32jOg.js";import{_ as m,I as ue,A as Y,C as O,G as fe,d as ye,l as X,aK as F,b as ge,a as Se,n as xe,o as be,g as ve,s as Ce,D as we,aL as Te,p as $e}from"./render-O7CIS3YK-C1DYXW0Z.js";import{s as Le}from"./chunk-ISA7TJRJ-DhN-xjNX.js";import{_ as ae}from"./mermaid-layout-elk.core-h_IjwDpP.js";import{s as H}from"./transform-B5_amWNh.js";import{f as M}from"./defaultLocale-5voVPcsN.js";import{o as G}from"./ordinal-Cboi1Yqb.js";import{h as Fe,t as Ne}from"./index-CvYzv8kf.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./init-Gi6I4Gst.js";var T,le=(T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=ge,this.getAccTitle=Se,this.setDiagramTitle=xe,this.getDiagramTitle=be,this.getAccDescription=ve,this.setAccDescription=Ce}getNodes(){return this.nodes}getConfig(){const r=we,n=Y();return O({...r.treemap,...n.treemap??{}})}addNode(r,n){this.nodes.push(r),this.levels.set(r,n),n===0&&(this.outerNodes.push(r),this.root??(this.root=r))}getRoot(){return{name:"",children:this.outerNodes}}addClass(r,n){const l=this.classes.get(r)??{id:r,styles:[],textStyles:[]},o=n.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{Te(s)&&(l!=null&&l.textStyles?l.textStyles.push(s):l.textStyles=[s]),l!=null&&l.styles?l.styles.push(s):l.styles=[s]}),this.classes.set(r,l)}getClasses(){return this.classes}getStylesForClass(r){var n;return((n=this.classes.get(r))==null?void 0:n.styles)??[]}clear(){$e(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},ae(T,"TreeMapDB"),m(T,"TreeMapDB"),T);function j(p){if(!p.length)return[];const r=[],n=[];return p.forEach(l=>{const o={name:l.name,children:l.type==="Leaf"?void 0:[]};for(o.classSelector=l==null?void 0:l.classSelector,l!=null&&l.cssCompiledStyles&&(o.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(o.value=l.value);n.length>0&&n[n.length-1].level>=l.level;)n.pop();if(n.length===0)r.push(o);else{const s=n[n.length-1].node;s.children?s.children.push(o):s.children=[o]}l.type!=="Leaf"&&n.push({node:o,level:l.level})}),r}ae(j,"buildHierarchy");m(j,"buildHierarchy");var ze=m((p,r)=>{he(p,r);const n=[];for(const s of p.TreemapRows??[])s.$type==="ClassDefStatement"&&r.addClass(s.className??"",s.styleText??"");for(const s of p.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,k=Ae(d),a=d.classSelector?r.getStylesForClass(d.classSelector):[],z=a.length>0?a:void 0,x={level:h,name:k,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:z};n.push(x)}const l=j(n),o=m((s,d)=>{for(const h of s)r.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(l,0)},"populate"),Ae=m(p=>p.name?String(p.name):"","getItemName"),se={parser:{yy:void 0},parse:m(async p=>{var r;try{const l=await me("treemap",p);X.debug("Treemap AST:",l);const o=(r=se.parser)==null?void 0:r.yy;if(!(o instanceof le))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ze(l,o)}catch(n){throw X.error("Error parsing treemap:",n),n}},"parse")},De=10,N=10,V=25,Pe=m((p,r,n,l)=>{const o=l.db,s=o.getConfig(),d=s.padding??De,h=o.getDiagramTitle(),k=o.getRoot(),{themeVariables:a}=Y();if(!k)return;const z=h?30:0,x=fe(r),K=s.nodeWidth?s.nodeWidth*N:960,U=s.nodeHeight?s.nodeHeight*N:500,R=K,q=U+z;x.attr("viewBox",`0 0 ${R} ${q}`),ye(x,q,R,s.useMaxWidth);let b;try{const e=s.valueFormat||",";if(e==="$0,0")b=m(t=>"$"+M(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),i=t?t[0]:"";b=m(u=>"$"+M(","+i)(u),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);b=m(i=>"$"+M(t||"")(i),"valueFormat")}else b=M(e)}catch(e){X.error("Error creating format function:",e),b=M(",")}const A=G().range(["transparent",a.cScale0,a.cScale1,a.cScale2,a.cScale3,a.cScale4,a.cScale5,a.cScale6,a.cScale7,a.cScale8,a.cScale9,a.cScale10,a.cScale11]),re=G().range(["transparent",a.cScalePeer0,a.cScalePeer1,a.cScalePeer2,a.cScalePeer3,a.cScalePeer4,a.cScalePeer5,a.cScalePeer6,a.cScalePeer7,a.cScalePeer8,a.cScalePeer9,a.cScalePeer10,a.cScalePeer11]),_=G().range([a.cScaleLabel0,a.cScaleLabel1,a.cScaleLabel2,a.cScaleLabel3,a.cScaleLabel4,a.cScaleLabel5,a.cScaleLabel6,a.cScaleLabel7,a.cScaleLabel8,a.cScaleLabel9,a.cScaleLabel10,a.cScaleLabel11]);h&&x.append("text").attr("x",R/2).attr("y",z/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const J=x.append("g").attr("transform",`translate(0, ${z})`).attr("class","treemapContainer"),oe=Fe(k).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),Q=Ne().size([K,U]).paddingTop(e=>e.children&&e.children.length>0?V+N:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?N:0).paddingRight(e=>e.children&&e.children.length>0?N:0).paddingBottom(e=>e.children&&e.children.length>0?N:0).round(!0)(oe),ne=Q.descendants().filter(e=>e.children&&e.children.length>0),D=J.selectAll(".treemapSection").data(ne).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",V).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),D.append("clipPath").attr("id",(e,t)=>`clip-section-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",V),D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>re(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const t=F({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),D.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",V/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,t)=>`url(#clip-section-${r}-${t})`).attr("style",e=>{if(e.depth===0)return"display: none;";const t="dominant-baseline: middle; font-size: 12px; fill:"+_(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const t=H(this),i=e.data.name;t.text(i);const u=e.x1-e.x0,y=6;let f;s.showValues!==!1&&e.value?f=u-10-30-10-y:f=u-y-6;const c=Math.max(15,f),v=t.node();if(v.getComputedTextLength()>c){let w=i;for(;w.length>0;){if(w=i.substring(0,w.length-1),w.length===0){t.text("..."),v.getComputedTextLength()>c&&t.text("");break}if(t.text(w+"..."),v.getComputedTextLength()<=c)break}}}),s.showValues!==!1&&D.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",V/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?b(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+_(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")});const Z=Q.leaves(),g=Z.length>20,ie=g?16:38,W=g?14:28,$=g?4:8,P=g?4:6,B=g?2:4,ee=g?8:10,I=g?1:2,E=J.selectAll(".treemapLeafGroup").data(Z).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);E.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>F({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),E.append("clipPath").attr("id",(e,t)=>`clip-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),E.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const t=`text-anchor: middle; dominant-baseline: middle; font-size: ${ie}px;fill:`+_(e.data.name)+";",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.data.name).each(function(e){const t=H(this),i=e.x1-e.x0,u=e.y1-e.y0,y=t.node(),f=i-2*B,L=u-2*B;if(f<ee||L<ee){t.style("display","none");return}let c=parseInt(t.style("font-size"),10);const v=.6;for(;y.getComputedTextLength()>f&&c>$;)c--,t.style("font-size",`${c}px`);let S=Math.max(P,Math.min(W,Math.round(c*v))),C=c+I+S;for(;C>L&&c>$&&(c--,S=Math.max(P,Math.min(W,Math.round(c*v))),!(S<P&&c===$));)t.style("font-size",`${c}px`),C=c+I+S;t.style("font-size",`${c}px`),g?(c<$||L<$)&&t.style("display","none"):(y.getComputedTextLength()>f||c<$||L<c)&&t.style("display","none")}),s.showValues!==!1&&E.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{const i=`text-anchor: middle; dominant-baseline: hanging; font-size: ${W}px;fill:`+_(t.data.name)+";",u=F({cssCompiledStyles:t.data.cssCompiledStyles});return i+u.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${r}-${i})`).text(t=>t.value?b(t.value):"").each(function(t){const i=H(this),u=this.parentNode;if(!u){i.style("display","none");return}const y=H(u).select(".treemapLabel");if(y.empty()||y.style("display")==="none"){i.style("display","none");return}const f=parseFloat(y.style("font-size")),c=Math.max(P,Math.min(W,Math.round(f*.6)));i.style("font-size",`${c}px`);const S=(t.y1-t.y0)/2+f/2+I;i.attr("y",S);const C=t.x1-t.x0,te=t.y1-t.y0-4,de=C-2*B;i.node().getComputedTextLength()>de||S+c>te||c<P?i.style("display","none"):i.style("display",null)});const ce=s.diagramPadding??8;Le(x,ce,"flowchart",(s==null?void 0:s.useMaxWidth)||!1)},"draw"),Me=m(function(p,r){return r.db.getClasses()},"getClasses"),Ve={draw:Pe,getClasses:Me},ke={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},_e=m(({treemap:p}={})=>{const r=ue(),n=Y(),l=O(r,n.themeVariables),o=O(ke,p),s=o.titleColor??l.titleColor,d=o.labelColor??l.textColor,h=o.valueColor??l.textColor;return`
1
+ import{p as he}from"./chunk-VII2H2IX-CHqS8QXi.js";import{p as me}from"./cynefin-OW5HDTMX-GVF3BKWE-DwLRaQ37.js";import{_ as m,I as ue,A as Y,C as O,G as fe,d as ye,l as X,aK as F,b as ge,a as Se,n as xe,o as be,g as ve,s as Ce,D as we,aL as Te,p as $e}from"./render-O7CIS3YK-DQb_czkx.js";import{s as Le}from"./chunk-ISA7TJRJ-Cua7d2fi.js";import{_ as ae}from"./mermaid-layout-elk.core-CNNSrMhF.js";import{s as H}from"./transform-Bd_a5eGM.js";import{f as M}from"./defaultLocale-5voVPcsN.js";import{o as G}from"./ordinal-Cboi1Yqb.js";import{h as Fe,t as Ne}from"./index-CvYzv8kf.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./init-Gi6I4Gst.js";var T,le=(T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=ge,this.getAccTitle=Se,this.setDiagramTitle=xe,this.getDiagramTitle=be,this.getAccDescription=ve,this.setAccDescription=Ce}getNodes(){return this.nodes}getConfig(){const r=we,n=Y();return O({...r.treemap,...n.treemap??{}})}addNode(r,n){this.nodes.push(r),this.levels.set(r,n),n===0&&(this.outerNodes.push(r),this.root??(this.root=r))}getRoot(){return{name:"",children:this.outerNodes}}addClass(r,n){const l=this.classes.get(r)??{id:r,styles:[],textStyles:[]},o=n.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{Te(s)&&(l!=null&&l.textStyles?l.textStyles.push(s):l.textStyles=[s]),l!=null&&l.styles?l.styles.push(s):l.styles=[s]}),this.classes.set(r,l)}getClasses(){return this.classes}getStylesForClass(r){var n;return((n=this.classes.get(r))==null?void 0:n.styles)??[]}clear(){$e(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},ae(T,"TreeMapDB"),m(T,"TreeMapDB"),T);function j(p){if(!p.length)return[];const r=[],n=[];return p.forEach(l=>{const o={name:l.name,children:l.type==="Leaf"?void 0:[]};for(o.classSelector=l==null?void 0:l.classSelector,l!=null&&l.cssCompiledStyles&&(o.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(o.value=l.value);n.length>0&&n[n.length-1].level>=l.level;)n.pop();if(n.length===0)r.push(o);else{const s=n[n.length-1].node;s.children?s.children.push(o):s.children=[o]}l.type!=="Leaf"&&n.push({node:o,level:l.level})}),r}ae(j,"buildHierarchy");m(j,"buildHierarchy");var ze=m((p,r)=>{he(p,r);const n=[];for(const s of p.TreemapRows??[])s.$type==="ClassDefStatement"&&r.addClass(s.className??"",s.styleText??"");for(const s of p.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,k=Ae(d),a=d.classSelector?r.getStylesForClass(d.classSelector):[],z=a.length>0?a:void 0,x={level:h,name:k,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:z};n.push(x)}const l=j(n),o=m((s,d)=>{for(const h of s)r.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(l,0)},"populate"),Ae=m(p=>p.name?String(p.name):"","getItemName"),se={parser:{yy:void 0},parse:m(async p=>{var r;try{const l=await me("treemap",p);X.debug("Treemap AST:",l);const o=(r=se.parser)==null?void 0:r.yy;if(!(o instanceof le))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ze(l,o)}catch(n){throw X.error("Error parsing treemap:",n),n}},"parse")},De=10,N=10,V=25,Pe=m((p,r,n,l)=>{const o=l.db,s=o.getConfig(),d=s.padding??De,h=o.getDiagramTitle(),k=o.getRoot(),{themeVariables:a}=Y();if(!k)return;const z=h?30:0,x=fe(r),K=s.nodeWidth?s.nodeWidth*N:960,U=s.nodeHeight?s.nodeHeight*N:500,R=K,q=U+z;x.attr("viewBox",`0 0 ${R} ${q}`),ye(x,q,R,s.useMaxWidth);let b;try{const e=s.valueFormat||",";if(e==="$0,0")b=m(t=>"$"+M(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),i=t?t[0]:"";b=m(u=>"$"+M(","+i)(u),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);b=m(i=>"$"+M(t||"")(i),"valueFormat")}else b=M(e)}catch(e){X.error("Error creating format function:",e),b=M(",")}const A=G().range(["transparent",a.cScale0,a.cScale1,a.cScale2,a.cScale3,a.cScale4,a.cScale5,a.cScale6,a.cScale7,a.cScale8,a.cScale9,a.cScale10,a.cScale11]),re=G().range(["transparent",a.cScalePeer0,a.cScalePeer1,a.cScalePeer2,a.cScalePeer3,a.cScalePeer4,a.cScalePeer5,a.cScalePeer6,a.cScalePeer7,a.cScalePeer8,a.cScalePeer9,a.cScalePeer10,a.cScalePeer11]),_=G().range([a.cScaleLabel0,a.cScaleLabel1,a.cScaleLabel2,a.cScaleLabel3,a.cScaleLabel4,a.cScaleLabel5,a.cScaleLabel6,a.cScaleLabel7,a.cScaleLabel8,a.cScaleLabel9,a.cScaleLabel10,a.cScaleLabel11]);h&&x.append("text").attr("x",R/2).attr("y",z/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const J=x.append("g").attr("transform",`translate(0, ${z})`).attr("class","treemapContainer"),oe=Fe(k).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),Q=Ne().size([K,U]).paddingTop(e=>e.children&&e.children.length>0?V+N:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?N:0).paddingRight(e=>e.children&&e.children.length>0?N:0).paddingBottom(e=>e.children&&e.children.length>0?N:0).round(!0)(oe),ne=Q.descendants().filter(e=>e.children&&e.children.length>0),D=J.selectAll(".treemapSection").data(ne).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",V).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),D.append("clipPath").attr("id",(e,t)=>`clip-section-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",V),D.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>re(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const t=F({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),D.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",V/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,t)=>`url(#clip-section-${r}-${t})`).attr("style",e=>{if(e.depth===0)return"display: none;";const t="dominant-baseline: middle; font-size: 12px; fill:"+_(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const t=H(this),i=e.data.name;t.text(i);const u=e.x1-e.x0,y=6;let f;s.showValues!==!1&&e.value?f=u-10-30-10-y:f=u-y-6;const c=Math.max(15,f),v=t.node();if(v.getComputedTextLength()>c){let w=i;for(;w.length>0;){if(w=i.substring(0,w.length-1),w.length===0){t.text("..."),v.getComputedTextLength()>c&&t.text("");break}if(t.text(w+"..."),v.getComputedTextLength()<=c)break}}}),s.showValues!==!1&&D.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",V/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?b(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+_(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")});const Z=Q.leaves(),g=Z.length>20,ie=g?16:38,W=g?14:28,$=g?4:8,P=g?4:6,B=g?2:4,ee=g?8:10,I=g?1:2,E=J.selectAll(".treemapLeafGroup").data(Z).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);E.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>F({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),E.append("clipPath").attr("id",(e,t)=>`clip-${r}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),E.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const t=`text-anchor: middle; dominant-baseline: middle; font-size: ${ie}px;fill:`+_(e.data.name)+";",i=F({cssCompiledStyles:e.data.cssCompiledStyles});return t+i.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.data.name).each(function(e){const t=H(this),i=e.x1-e.x0,u=e.y1-e.y0,y=t.node(),f=i-2*B,L=u-2*B;if(f<ee||L<ee){t.style("display","none");return}let c=parseInt(t.style("font-size"),10);const v=.6;for(;y.getComputedTextLength()>f&&c>$;)c--,t.style("font-size",`${c}px`);let S=Math.max(P,Math.min(W,Math.round(c*v))),C=c+I+S;for(;C>L&&c>$&&(c--,S=Math.max(P,Math.min(W,Math.round(c*v))),!(S<P&&c===$));)t.style("font-size",`${c}px`),C=c+I+S;t.style("font-size",`${c}px`),g?(c<$||L<$)&&t.style("display","none"):(y.getComputedTextLength()>f||c<$||L<c)&&t.style("display","none")}),s.showValues!==!1&&E.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{const i=`text-anchor: middle; dominant-baseline: hanging; font-size: ${W}px;fill:`+_(t.data.name)+";",u=F({cssCompiledStyles:t.data.cssCompiledStyles});return i+u.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${r}-${i})`).text(t=>t.value?b(t.value):"").each(function(t){const i=H(this),u=this.parentNode;if(!u){i.style("display","none");return}const y=H(u).select(".treemapLabel");if(y.empty()||y.style("display")==="none"){i.style("display","none");return}const f=parseFloat(y.style("font-size")),c=Math.max(P,Math.min(W,Math.round(f*.6)));i.style("font-size",`${c}px`);const S=(t.y1-t.y0)/2+f/2+I;i.attr("y",S);const C=t.x1-t.x0,te=t.y1-t.y0-4,de=C-2*B;i.node().getComputedTextLength()>de||S+c>te||c<P?i.style("display","none"):i.style("display",null)});const ce=s.diagramPadding??8;Le(x,ce,"flowchart",(s==null?void 0:s.useMaxWidth)||!1)},"draw"),Me=m(function(p,r){return r.db.getClasses()},"getClasses"),Ve={draw:Pe,getClasses:Me},ke={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},_e=m(({treemap:p}={})=>{const r=ue(),n=Y(),l=O(r,n.themeVariables),o=O(ke,p),s=o.titleColor??l.titleColor,d=o.labelColor??l.textColor,h=o.valueColor??l.textColor;return`
2
2
  .treemapNode.section {
3
3
  stroke: ${o.sectionStrokeColor};
4
4
  stroke-width: ${o.sectionStrokeWidth};
@@ -1,4 +1,4 @@
1
- import{p as $}from"./chunk-JWPE2WC7-smESCI0k.js";import{_ as b,A as m,E as C,d as S,l as w,b as D,a as T,n as E,o as P,g as z,s as A,y as F,B as W,p as _}from"./mermaid.core-n1vgOa_E.js";import{p as N}from"./cynefin-VYW2F7L2-BFZHy-wK.js";import"./main-CmJlqSDk.js";import"./index-DZN4z5wF.js";import"./transform-B5_amWNh.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=E,this.getDiagramTitle=P,this.getAccDescription=z,this.setAccDescription=A}getConfig(){const t=m({...L,...F().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,Y=b((e,t)=>{$(e,t);let o=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??(a=o+1),a!==o+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${o+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??(i=a+(d??1)-1),d??(d=i-a+1),o=i,w.debug(`Packet block ${a} - ${o} with label ${c}`);r.length<=l+1&&t.getPacket().length<M;){const[p,s]=I({start:a,end:i,bits:d,label:c},n,l);if(r.push(p),p.end+1===n*l&&(t.pushWord(r),r=[],n++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}t.pushWord(r)},"populate"),I=b((e,t,o)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*o)return[e,void 0];const r=t*o-1,n=t*o;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),o=(r=x.parser)==null?void 0:r.yy;if(!(o instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),Y(t,o)},"parse")},O=b((e,t,o,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,B]of p.entries())j(f,B,y,l);f.append("text").text(s).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=b((e,t,o,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=o*(r+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),G={draw:O},H={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=b(({packet:e}={})=>{const t=m(H,e);return`
1
+ import{p as $}from"./chunk-JWPE2WC7-DqWkk9f8.js";import{_ as b,B as m,F as C,d as S,l as w,b as D,a as T,o as z,p as F,g as P,s as E,z as A,D as W,q as _}from"./mermaid.core-CnNeOEec.js";import{p as N}from"./cynefin-OW5HDTMX-fybCqBi3.js";import"./main-Dj875aWF.js";import"./index-CJuEfFQr.js";import"./transform-Bd_a5eGM.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=z,this.getDiagramTitle=F,this.getAccDescription=P,this.setAccDescription=E}getConfig(){const t=m({...L,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,Y=b((e,t)=>{$(e,t);let o=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??(a=o+1),a!==o+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${o+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??(i=a+(d??1)-1),d??(d=i-a+1),o=i,w.debug(`Packet block ${a} - ${o} with label ${c}`);r.length<=l+1&&t.getPacket().length<M;){const[p,s]=I({start:a,end:i,bits:d,label:c},n,l);if(r.push(p),p.end+1===n*l&&(t.pushWord(r),r=[],n++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}t.pushWord(r)},"populate"),I=b((e,t,o)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*o)return[e,void 0];const r=t*o-1,n=t*o;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),o=(r=x.parser)==null?void 0:r.yy;if(!(o instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),Y(t,o)},"parse")},O=b((e,t,o,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,B]of p.entries())j(f,B,y,l);f.append("text").text(s).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=b((e,t,o,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=o*(r+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),q={draw:O},G={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},H=b(({packet:e}={})=>{const t=m(G,e);return`
2
2
  .packetByte {
3
3
  font-size: ${t.byteFontSize};
4
4
  }
@@ -21,4 +21,4 @@ import{p as $}from"./chunk-JWPE2WC7-smESCI0k.js";import{_ as b,A as m,E as C,d a
21
21
  stroke-width: ${t.blockStrokeWidth};
22
22
  fill: ${t.blockFillColor};
23
23
  }
24
- `},"styles"),V={parser:x,get db(){return new v},renderer:G,styles:K};export{V as diagram};
24
+ `},"styles"),V={parser:x,get db(){return new v},renderer:q,styles:H};export{V as diagram};