@aiquants/markdown 1.6.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs → abnfDiagram-VRR7QNED-BKvRUGcR.cjs} +2 -2
  2. package/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs.map → abnfDiagram-VRR7QNED-BKvRUGcR.cjs.map} +1 -1
  3. package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js → abnfDiagram-VRR7QNED-C-27Yna6.js} +4 -4
  4. package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js.map → abnfDiagram-VRR7QNED-C-27Yna6.js.map} +1 -1
  5. package/dist/{arc-BmnitkkN.cjs → arc-CUOoCqkh.cjs} +2 -2
  6. package/dist/{arc-BmnitkkN.cjs.map → arc-CUOoCqkh.cjs.map} +1 -1
  7. package/dist/{arc-C-DBDbuo.js → arc-UxDDNW0x.js} +2 -2
  8. package/dist/{arc-C-DBDbuo.js.map → arc-UxDDNW0x.js.map} +1 -1
  9. package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js} +3 -3
  10. package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js.map → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js.map} +1 -1
  11. package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs} +2 -2
  12. package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs.map → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs.map} +1 -1
  13. package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs → blockDiagram-677ZJIJ3-BbjxBeAD.cjs} +2 -2
  14. package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs.map → blockDiagram-677ZJIJ3-BbjxBeAD.cjs.map} +1 -1
  15. package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js → blockDiagram-677ZJIJ3-CuCBVVNa.js} +4 -4
  16. package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js.map → blockDiagram-677ZJIJ3-CuCBVVNa.js.map} +1 -1
  17. package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js → c4Diagram-LMCZKHZV-BdJV5ivG.js} +3 -3
  18. package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js.map → c4Diagram-LMCZKHZV-BdJV5ivG.js.map} +1 -1
  19. package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs → c4Diagram-LMCZKHZV-BgTfc_W8.cjs} +2 -2
  20. package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs.map → c4Diagram-LMCZKHZV-BgTfc_W8.cjs.map} +1 -1
  21. package/dist/channel-BaZK7NhX.js +6 -0
  22. package/dist/{channel-B6gYWXtQ.js.map → channel-BaZK7NhX.js.map} +1 -1
  23. package/dist/channel-DcZBUEY6.cjs +2 -0
  24. package/dist/{channel-CZceKK2b.cjs.map → channel-DcZBUEY6.cjs.map} +1 -1
  25. package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js → chunk-2Q5K7J3B-CSlHTmMh.js} +2 -2
  26. package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js.map → chunk-2Q5K7J3B-CSlHTmMh.js.map} +1 -1
  27. package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs → chunk-2Q5K7J3B-D9s6eCoM.cjs} +2 -2
  28. package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs.map → chunk-2Q5K7J3B-D9s6eCoM.cjs.map} +1 -1
  29. package/dist/{chunk-32BRIVSS-CrDpazxa.js → chunk-32BRIVSS-CXH5EQUk.js} +2 -2
  30. package/dist/{chunk-32BRIVSS-CrDpazxa.js.map → chunk-32BRIVSS-CXH5EQUk.js.map} +1 -1
  31. package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs → chunk-32BRIVSS-D2F2B9TZ.cjs} +2 -2
  32. package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs.map → chunk-32BRIVSS-D2F2B9TZ.cjs.map} +1 -1
  33. package/dist/{chunk-5VM5RSS4-DnTlok-Z.js → chunk-5VM5RSS4-BhTMtA9l.js} +2 -2
  34. package/dist/{chunk-5VM5RSS4-DnTlok-Z.js.map → chunk-5VM5RSS4-BhTMtA9l.js.map} +1 -1
  35. package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs → chunk-5VM5RSS4-CxjaLXsB.cjs} +2 -2
  36. package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs.map → chunk-5VM5RSS4-CxjaLXsB.cjs.map} +1 -1
  37. package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs → chunk-EX3LRPZG-BCQ_eMbL.cjs} +2 -2
  38. package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs.map → chunk-EX3LRPZG-BCQ_eMbL.cjs.map} +1 -1
  39. package/dist/{chunk-EX3LRPZG-BXZN3BP6.js → chunk-EX3LRPZG-BOcBE4jP.js} +5 -5
  40. package/dist/{chunk-EX3LRPZG-BXZN3BP6.js.map → chunk-EX3LRPZG-BOcBE4jP.js.map} +1 -1
  41. package/dist/{chunk-JWPE2WC7-BOZsBb5v.js → chunk-JWPE2WC7-C20BXRVN.js} +2 -2
  42. package/dist/{chunk-JWPE2WC7-BOZsBb5v.js.map → chunk-JWPE2WC7-C20BXRVN.js.map} +1 -1
  43. package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs → chunk-JWPE2WC7-CLCAyxUO.cjs} +2 -2
  44. package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs.map → chunk-JWPE2WC7-CLCAyxUO.cjs.map} +1 -1
  45. package/dist/{chunk-MOJQB5TN-CODLoYka.js → chunk-MOJQB5TN-B_C5dwTy.js} +2 -2
  46. package/dist/{chunk-MOJQB5TN-CODLoYka.js.map → chunk-MOJQB5TN-B_C5dwTy.js.map} +1 -1
  47. package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs → chunk-MOJQB5TN-Bbpbi357.cjs} +2 -2
  48. package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs.map → chunk-MOJQB5TN-Bbpbi357.cjs.map} +1 -1
  49. package/dist/{chunk-PUDLZKDR-Vzafz0p_.js → chunk-PUDLZKDR-C0EKSRvH.js} +7 -7
  50. package/dist/{chunk-PUDLZKDR-Vzafz0p_.js.map → chunk-PUDLZKDR-C0EKSRvH.js.map} +1 -1
  51. package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs → chunk-PUDLZKDR-Cpp-nasK.cjs} +2 -2
  52. package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs.map → chunk-PUDLZKDR-Cpp-nasK.cjs.map} +1 -1
  53. package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js → chunk-RYQCIY6F-BuIkG6A2.js} +2 -2
  54. package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js.map → chunk-RYQCIY6F-BuIkG6A2.js.map} +1 -1
  55. package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs → chunk-RYQCIY6F-he5fUSYo.cjs} +2 -2
  56. package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs.map → chunk-RYQCIY6F-he5fUSYo.cjs.map} +1 -1
  57. package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs → chunk-V7JOEXUC-BcBXzffo.cjs} +2 -2
  58. package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs.map → chunk-V7JOEXUC-BcBXzffo.cjs.map} +1 -1
  59. package/dist/{chunk-V7JOEXUC-Csiot9oO.js → chunk-V7JOEXUC-DWnZRQBl.js} +6 -6
  60. package/dist/{chunk-V7JOEXUC-Csiot9oO.js.map → chunk-V7JOEXUC-DWnZRQBl.js.map} +1 -1
  61. package/dist/{chunk-VR4S4FIN-DH6f42Mu.js → chunk-VR4S4FIN-BWCLM0a0.js} +2 -2
  62. package/dist/{chunk-VR4S4FIN-DH6f42Mu.js.map → chunk-VR4S4FIN-BWCLM0a0.js.map} +1 -1
  63. package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs → chunk-VR4S4FIN-Bd3wwAe8.cjs} +2 -2
  64. package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs.map → chunk-VR4S4FIN-Bd3wwAe8.cjs.map} +1 -1
  65. package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs → chunk-XXDRQBXY-C2UaLfce.cjs} +2 -2
  66. package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs.map → chunk-XXDRQBXY-C2UaLfce.cjs.map} +1 -1
  67. package/dist/{chunk-XXDRQBXY-Csac6tCf.js → chunk-XXDRQBXY-qt9x9red.js} +2 -2
  68. package/dist/{chunk-XXDRQBXY-Csac6tCf.js.map → chunk-XXDRQBXY-qt9x9red.js.map} +1 -1
  69. package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js → classDiagram-OUVF2IWQ-B0lJPbAq.js} +3 -3
  70. package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js.map → classDiagram-OUVF2IWQ-B0lJPbAq.js.map} +1 -1
  71. package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs → classDiagram-OUVF2IWQ-BoGCNSIO.cjs} +2 -2
  72. package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs.map → classDiagram-OUVF2IWQ-BoGCNSIO.cjs.map} +1 -1
  73. package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js → classDiagram-v2-EOCWNBFH-B0lJPbAq.js} +3 -3
  74. package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js.map → classDiagram-v2-EOCWNBFH-B0lJPbAq.js.map} +1 -1
  75. package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs} +2 -2
  76. package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs.map → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs.map} +1 -1
  77. package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js → cose-bilkent-JH36ORCC-BXH9dl_0.js} +2 -2
  78. package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js.map → cose-bilkent-JH36ORCC-BXH9dl_0.js.map} +1 -1
  79. package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs → cose-bilkent-JH36ORCC-DRBzHIcA.cjs} +2 -2
  80. package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs.map → cose-bilkent-JH36ORCC-DRBzHIcA.cjs.map} +1 -1
  81. package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js → cynefinDiagram-TSTJHNR4-2jnqksgG.js} +3 -3
  82. package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js.map → cynefinDiagram-TSTJHNR4-2jnqksgG.js.map} +1 -1
  83. package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs} +2 -2
  84. package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs.map → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs.map} +1 -1
  85. package/dist/{dagre-VKFMJZFB-D9fBL_yM.js → dagre-VKFMJZFB-BqLynzOx.js} +3 -3
  86. package/dist/{dagre-VKFMJZFB-D9fBL_yM.js.map → dagre-VKFMJZFB-BqLynzOx.js.map} +1 -1
  87. package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs → dagre-VKFMJZFB-C7QheUvc.cjs} +2 -2
  88. package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs.map → dagre-VKFMJZFB-C7QheUvc.cjs.map} +1 -1
  89. package/dist/{diagram-FQU43EPY-Di26xB9f.cjs → diagram-FQU43EPY-CSPyECaU.cjs} +2 -2
  90. package/dist/{diagram-FQU43EPY-Di26xB9f.cjs.map → diagram-FQU43EPY-CSPyECaU.cjs.map} +1 -1
  91. package/dist/{diagram-FQU43EPY-DPR8KMs9.js → diagram-FQU43EPY-DUwsAw4u.js} +3 -3
  92. package/dist/{diagram-FQU43EPY-DPR8KMs9.js.map → diagram-FQU43EPY-DUwsAw4u.js.map} +1 -1
  93. package/dist/{diagram-G47NLZAW-71hjWkYs.cjs → diagram-G47NLZAW-BaP0Lyg0.cjs} +2 -2
  94. package/dist/{diagram-G47NLZAW-71hjWkYs.cjs.map → diagram-G47NLZAW-BaP0Lyg0.cjs.map} +1 -1
  95. package/dist/{diagram-G47NLZAW-BfL1Ut0H.js → diagram-G47NLZAW-h09HILJg.js} +4 -4
  96. package/dist/{diagram-G47NLZAW-BfL1Ut0H.js.map → diagram-G47NLZAW-h09HILJg.js.map} +1 -1
  97. package/dist/{diagram-NH7WQ7WH-BjJctDxT.js → diagram-NH7WQ7WH-BE3XRcGY.js} +3 -3
  98. package/dist/{diagram-NH7WQ7WH-BjJctDxT.js.map → diagram-NH7WQ7WH-BE3XRcGY.js.map} +1 -1
  99. package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs → diagram-NH7WQ7WH-DyJw7-Gl.cjs} +2 -2
  100. package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs.map → diagram-NH7WQ7WH-DyJw7-Gl.cjs.map} +1 -1
  101. package/dist/{diagram-OA4YK3LP-BoFOwiXF.js → diagram-OA4YK3LP-BfAM9MZv.js} +4 -4
  102. package/dist/{diagram-OA4YK3LP-BoFOwiXF.js.map → diagram-OA4YK3LP-BfAM9MZv.js.map} +1 -1
  103. package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs → diagram-OA4YK3LP-DqYpt5F6.cjs} +2 -2
  104. package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs.map → diagram-OA4YK3LP-DqYpt5F6.cjs.map} +1 -1
  105. package/dist/{diagram-WEI45ONY-COXEDGCZ.js → diagram-WEI45ONY-DtFOpBM4.js} +3 -3
  106. package/dist/{diagram-WEI45ONY-COXEDGCZ.js.map → diagram-WEI45ONY-DtFOpBM4.js.map} +1 -1
  107. package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs → diagram-WEI45ONY-fz5dqgqy.cjs} +2 -2
  108. package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs.map → diagram-WEI45ONY-fz5dqgqy.cjs.map} +1 -1
  109. package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js → ebnfDiagram-CCIWWBDH-CyKVhKIb.js} +4 -4
  110. package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js.map → ebnfDiagram-CCIWWBDH-CyKVhKIb.js.map} +1 -1
  111. package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs → ebnfDiagram-CCIWWBDH-Haez4su4.cjs} +2 -2
  112. package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs.map → ebnfDiagram-CCIWWBDH-Haez4su4.cjs.map} +1 -1
  113. package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js → erDiagram-Q63AITRT-9hM3kPUW.js} +5 -5
  114. package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js.map → erDiagram-Q63AITRT-9hM3kPUW.js.map} +1 -1
  115. package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs → erDiagram-Q63AITRT-BGEWGa_b.cjs} +2 -2
  116. package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs.map → erDiagram-Q63AITRT-BGEWGa_b.cjs.map} +1 -1
  117. package/dist/{extractHeadings-BiNpEj-K.js → extractHeadings-BH0T7P4n.js} +3834 -3824
  118. package/dist/{extractHeadings-BiNpEj-K.js.map → extractHeadings-BH0T7P4n.js.map} +1 -1
  119. package/dist/{extractHeadings-vnYM8Eet.cjs → extractHeadings-BsiIYa_e.cjs} +62 -62
  120. package/dist/{extractHeadings-vnYM8Eet.cjs.map → extractHeadings-BsiIYa_e.cjs.map} +1 -1
  121. package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs +2 -0
  122. package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs.map +1 -0
  123. package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js +8 -0
  124. package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js.map +1 -0
  125. package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs → ganttDiagram-NO4QXBWP-4BbeHi64.cjs} +2 -2
  126. package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs.map → ganttDiagram-NO4QXBWP-4BbeHi64.cjs.map} +1 -1
  127. package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js → ganttDiagram-NO4QXBWP-DtM5HL0C.js} +3 -3
  128. package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js.map → ganttDiagram-NO4QXBWP-DtM5HL0C.js.map} +1 -1
  129. package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs} +2 -2
  130. package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs.map → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs.map} +1 -1
  131. package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js} +4 -4
  132. package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js.map → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js.map} +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.client.cjs +1 -1
  135. package/dist/index.client.js +1 -1
  136. package/dist/index.js +1 -1
  137. package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs} +2 -2
  138. package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs.map → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs.map} +1 -1
  139. package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js → infoDiagram-FWYZ7A6U-ZRUjO8nW.js} +2 -2
  140. package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js.map → infoDiagram-FWYZ7A6U-ZRUjO8nW.js.map} +1 -1
  141. package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs} +2 -2
  142. package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs.map → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs.map} +1 -1
  143. package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js} +2 -2
  144. package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js.map → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js.map} +1 -1
  145. package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js → journeyDiagram-5HDEW3XC-BXlXmDhR.js} +5 -5
  146. package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js.map → journeyDiagram-5HDEW3XC-BXlXmDhR.js.map} +1 -1
  147. package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs} +2 -2
  148. package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs.map → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs.map} +1 -1
  149. package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js → kanban-definition-HUTT4EX6-C9IdgWIg.js} +3 -3
  150. package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js.map → kanban-definition-HUTT4EX6-C9IdgWIg.js.map} +1 -1
  151. package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs → kanban-definition-HUTT4EX6-D5_pDh9h.cjs} +2 -2
  152. package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs.map → kanban-definition-HUTT4EX6-D5_pDh9h.cjs.map} +1 -1
  153. package/dist/{linear-DA8CNisd.js → linear-CTibpBci.js} +2 -2
  154. package/dist/{linear-DA8CNisd.js.map → linear-CTibpBci.js.map} +1 -1
  155. package/dist/{linear-BgdXLHZt.cjs → linear-DDWdtbxq.cjs} +2 -2
  156. package/dist/{linear-BgdXLHZt.cjs.map → linear-DDWdtbxq.cjs.map} +1 -1
  157. package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js → mindmap-definition-LN4V7U3C-CXaKAu6n.js} +4 -4
  158. package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js.map → mindmap-definition-LN4V7U3C-CXaKAu6n.js.map} +1 -1
  159. package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs → mindmap-definition-LN4V7U3C-gBn938NF.cjs} +2 -2
  160. package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs.map → mindmap-definition-LN4V7U3C-gBn938NF.cjs.map} +1 -1
  161. package/dist/{pegDiagram-2B236MQR-DpzcFesN.js → pegDiagram-2B236MQR-BiQyejnD.js} +4 -4
  162. package/dist/{pegDiagram-2B236MQR-DpzcFesN.js.map → pegDiagram-2B236MQR-BiQyejnD.js.map} +1 -1
  163. package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs → pegDiagram-2B236MQR-fR_9AvHk.cjs} +2 -2
  164. package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs.map → pegDiagram-2B236MQR-fR_9AvHk.cjs.map} +1 -1
  165. package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs → pieDiagram-ENE6RG2P-BZtqlfyU.cjs} +2 -2
  166. package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs.map → pieDiagram-ENE6RG2P-BZtqlfyU.cjs.map} +1 -1
  167. package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js → pieDiagram-ENE6RG2P-CZTZpVqy.js} +4 -4
  168. package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js.map → pieDiagram-ENE6RG2P-CZTZpVqy.js.map} +1 -1
  169. package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js} +3 -3
  170. package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js.map → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js.map} +1 -1
  171. package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs} +2 -2
  172. package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs.map → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs.map} +1 -1
  173. package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js → railroadDiagram-RFXS5EU6-C99zfAzl.js} +4 -4
  174. package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js.map → railroadDiagram-RFXS5EU6-C99zfAzl.js.map} +1 -1
  175. package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs → railroadDiagram-RFXS5EU6-_YckPr2T.cjs} +2 -2
  176. package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs.map → railroadDiagram-RFXS5EU6-_YckPr2T.cjs.map} +1 -1
  177. package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs} +2 -2
  178. package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs.map → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs.map} +1 -1
  179. package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js → requirementDiagram-TGXJPOKE-DBzuXzE9.js} +4 -4
  180. package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js.map → requirementDiagram-TGXJPOKE-DBzuXzE9.js.map} +1 -1
  181. package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js} +2 -2
  182. package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js.map → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js.map} +1 -1
  183. package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs} +2 -2
  184. package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs.map → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs.map} +1 -1
  185. package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js} +4 -4
  186. package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js.map → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js.map} +1 -1
  187. package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs} +2 -2
  188. package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs.map → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs.map} +1 -1
  189. package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js → sizeCapture-X5ZJPWSS-9Q2RBacx.js} +2 -2
  190. package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js.map → sizeCapture-X5ZJPWSS-9Q2RBacx.js.map} +1 -1
  191. package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs → sizeCapture-X5ZJPWSS-CedNWC9b.cjs} +2 -2
  192. package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs.map → sizeCapture-X5ZJPWSS-CedNWC9b.cjs.map} +1 -1
  193. package/dist/src/components/MarkdownRenderer.d.ts +31 -1
  194. package/dist/src/components/MarkdownRenderer.d.ts.map +1 -1
  195. package/dist/src/components/MarkdownViewer.d.ts +9 -1
  196. package/dist/src/components/MarkdownViewer.d.ts.map +1 -1
  197. package/dist/src/index.client.d.ts +1 -1
  198. package/dist/src/index.client.d.ts.map +1 -1
  199. package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs → stateDiagram-2N3HPSRC-BFjEDzN5.cjs} +2 -2
  200. package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs.map → stateDiagram-2N3HPSRC-BFjEDzN5.cjs.map} +1 -1
  201. package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js → stateDiagram-2N3HPSRC-DVXBUdgS.js} +3 -3
  202. package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js.map → stateDiagram-2N3HPSRC-DVXBUdgS.js.map} +1 -1
  203. package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs} +2 -2
  204. package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs.map → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs.map} +1 -1
  205. package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js → stateDiagram-v2-6OUMAXLB-etkgI8XE.js} +3 -3
  206. package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js.map → stateDiagram-v2-6OUMAXLB-etkgI8XE.js.map} +1 -1
  207. package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs → swimlanes-5IMT3BWC-ByyaHYdJ.cjs} +2 -2
  208. package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs.map → swimlanes-5IMT3BWC-ByyaHYdJ.cjs.map} +1 -1
  209. package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js → swimlanes-5IMT3BWC-CRF_hU5-.js} +4 -4
  210. package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js.map → swimlanes-5IMT3BWC-CRF_hU5-.js.map} +1 -1
  211. package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs} +2 -2
  212. package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs.map → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs.map} +1 -1
  213. package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js → swimlanesDiagram-G3AALYLV-qE56wCfv.js} +3 -3
  214. package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js.map → swimlanesDiagram-G3AALYLV-qE56wCfv.js.map} +1 -1
  215. package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs → timeline-definition-FHXFAJF6-CYpydtqC.cjs} +2 -2
  216. package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs.map → timeline-definition-FHXFAJF6-CYpydtqC.cjs.map} +1 -1
  217. package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js → timeline-definition-FHXFAJF6-U6tU13YO.js} +3 -3
  218. package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js.map → timeline-definition-FHXFAJF6-U6tU13YO.js.map} +1 -1
  219. package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs → vennDiagram-L72KCM5P-CfbVR5CF.cjs} +2 -2
  220. package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs.map → vennDiagram-L72KCM5P-CfbVR5CF.cjs.map} +1 -1
  221. package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js → vennDiagram-L72KCM5P-q79Xn7UV.js} +2 -2
  222. package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js.map → vennDiagram-L72KCM5P-q79Xn7UV.js.map} +1 -1
  223. package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js → wardleyDiagram-EHGQE667-BG3W74MX.js} +3 -3
  224. package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js.map → wardleyDiagram-EHGQE667-BG3W74MX.js.map} +1 -1
  225. package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs → wardleyDiagram-EHGQE667-CSJ22zfj.cjs} +2 -2
  226. package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs.map → wardleyDiagram-EHGQE667-CSJ22zfj.cjs.map} +1 -1
  227. package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js → xychartDiagram-FW5EYKEG-BISI4a7c.js} +3 -3
  228. package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js.map → xychartDiagram-FW5EYKEG-BISI4a7c.js.map} +1 -1
  229. package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs} +2 -2
  230. package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs.map → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs.map} +1 -1
  231. package/package.json +1 -1
  232. package/dist/channel-B6gYWXtQ.js +0 -6
  233. package/dist/channel-CZceKK2b.cjs +0 -2
  234. package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs +0 -2
  235. package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs.map +0 -1
  236. package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js +0 -8
  237. package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dagre-VKFMJZFB-D9fBL_yM.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-VKFMJZFB.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-52WLFC77.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-ZGVPDNZ5.mjs\";\nimport \"./chunk-C7G6YPKG.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-OGEWGWER.mjs\";\nimport \"./chunk-Q4XR5HBZ.mjs\";\nimport \"./chunk-HOUHSVGY.mjs\";\nimport \"./chunk-ICXQ74PX.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"dagre-VKFMJZFB-BqLynzOx.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-VKFMJZFB.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-52WLFC77.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-ZGVPDNZ5.mjs\";\nimport \"./chunk-C7G6YPKG.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-OGEWGWER.mjs\";\nimport \"./chunk-Q4XR5HBZ.mjs\";\nimport \"./chunk-HOUHSVGY.mjs\";\nimport \"./chunk-ICXQ74PX.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./chunk-RYQCIY6F-BgbNR_-2.cjs"),n=require("./extractHeadings-vnYM8Eet.cjs"),C=require("./graph-BgRih2Qv.cjs"),T=require("./layout-OMlh6_XH.cjs");var I=n.__name((i,t,f)=>Math.max(t,Math.min(f,i)),"clamp"),_=n.__name((i="TB")=>{switch(i){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),G=n.__name(i=>i==="flowchart"||i==="flowchart-v2"||i==="stateDiagram","shouldMergeSelfLoopSegments"),k=n.__name((i,t,f,y,c)=>{const s=[],d=new Set;if(f.forEach(({start:r,end:o})=>{r!==y&&d.add(r),o!==y&&d.add(o)}),d.forEach(r=>{const o=i.node(r);typeof o?.x=="number"&&typeof o?.y=="number"&&s.push(o)}),s.length===0&&f.forEach(({edge:r})=>{(r.points??[]).forEach(o=>{typeof o?.x=="number"&&typeof o?.y=="number"&&s.push(o)})}),s.length===0)return _(c);const g=s.reduce((r,o)=>({x:r.x+o.x/s.length,y:r.y+o.y/s.length}),{x:0,y:0}),h=g.x-t.x,a=g.y-t.y;return Math.abs(h)>Math.abs(a)?h>0?"right":"left":Math.abs(a)>0?a>0?"bottom":"top":_(c)},"getSelfLoopSide"),B=n.__name((i,t="top",f=0,y=0)=>{const c=i.x,s=i.y-f,d=i.width/2,g=i.height/2,h=Math.max(36,Math.min(100,i.width*.8)),a=I(Math.max(y,i.width*.35),36,h),r=I(Math.min(i.width,i.height)*.45,24,48);switch(t){case"bottom":{const o=s+g;return[{x:c-a/2,y:o},{x:c-a/2,y:o+r},{x:c+a/2,y:o+r},{x:c+a/2,y:o}]}case"right":{const o=c+d;return[{x:o,y:s-a/2},{x:o+r,y:s-a/2},{x:o+r,y:s+a/2},{x:o,y:s+a/2}]}case"left":{const o=c-d;return[{x:o,y:s-a/2},{x:o-r,y:s-a/2},{x:o-r,y:s+a/2},{x:o,y:s+a/2}]}default:{const o=s-g;return[{x:c-a/2,y:o},{x:c-a/2,y:o-r},{x:c+a/2,y:o-r},{x:c+a/2,y:o}]}}},"getSelfLoopPoints"),D=n.__name((i,t,f="top",y=0,c={})=>{const d=i.x,g=i.y-y,h=c.width??0,a=c.height??0;switch(f){case"bottom":return{x:d,y:Math.max(...t.map(r=>r.y))+a/2+4};case"right":return{x:Math.max(...t.map(r=>r.x))+h/2+4,y:g};case"left":return{x:Math.min(...t.map(r=>r.x))-h/2-4,y:g};default:return{x:d,y:Math.min(...t.map(r=>r.y))-a/2-4}}},"getSelfLoopLabelPosition"),M=n.__name((i,t=0,{mergeSelfLoops:f=!0}={})=>{const y=new Map,c=[],s=i.graph()?.rankdir;return i.edges().forEach(d=>{const g=i.edge(d);if(f&&g.selfLoop){const h=g.selfLoop.id;y.has(h)||y.set(h,[]),y.get(h).push({edge:g,start:d.v,end:d.w})}else c.push({edge:g,start:d.v,end:d.w})}),y.forEach(d=>{if(d.length!==3){d.forEach(X=>c.push(X));return}d.sort((X,l)=>X.edge.selfLoop.order-l.edge.selfLoop.order);const[g,h,a]=d,r=g.edge.originalEdge??h.edge.originalEdge??a.edge.originalEdge??h.edge,o=i.node(r.start);if(!o){d.forEach(X=>c.push(X));return}const p={width:h.edge.width,height:h.edge.height},w=k(i,o,d,r.start,s),E=B(o,w,t,p.width??0),x=D(o,E,w,t,p),b={...h.edge,...r,id:r.id,points:E,start:r.start,end:r.end,x:x.x,y:x.y,width:p.width,height:p.height,labelStyle:h.edge.labelStyle,fromCluster:g.edge.fromCluster??h.edge.fromCluster??a.edge.fromCluster,toCluster:g.edge.toCluster??h.edge.toCluster??a.edge.toCluster};delete b.selfLoop,delete b.originalEdge,c.push({edge:b,start:b.start,end:b.end})}),c},"getEdgesToRender"),P=n.__name(async(i,t,f,y,c,s)=>{n.log.warn("Graph in recursive render:XAX",m.write(t),c);const d=t.graph().rankdir;n.log.trace("Dir in recursive render - dir:",d);const g=i.insert("g").attr("class","root");t.nodes()?n.log.info("Recursive render XXX",t.nodes()):n.log.info("No nodes found for",t),t.edges().length>0&&n.log.info("Recursive edges",t.edge(t.edges()[0]));const h=g.insert("g").attr("class","clusters"),a=g.insert("g").attr("class","edgePaths"),r=g.insert("g").attr("class","edgeLabels"),o=g.insert("g").attr("class","nodes"),p=G(f);await Promise.all(t.nodes().map(async function(l){const e=t.node(l);if(c!==void 0){const u=JSON.parse(JSON.stringify(c.clusterData));n.log.trace(`Setting data for parent cluster XXX
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./chunk-RYQCIY6F-he5fUSYo.cjs"),n=require("./extractHeadings-BsiIYa_e.cjs"),C=require("./graph-BgRih2Qv.cjs"),T=require("./layout-OMlh6_XH.cjs");var I=n.__name((i,t,f)=>Math.max(t,Math.min(f,i)),"clamp"),_=n.__name((i="TB")=>{switch(i){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),G=n.__name(i=>i==="flowchart"||i==="flowchart-v2"||i==="stateDiagram","shouldMergeSelfLoopSegments"),k=n.__name((i,t,f,y,c)=>{const s=[],d=new Set;if(f.forEach(({start:r,end:o})=>{r!==y&&d.add(r),o!==y&&d.add(o)}),d.forEach(r=>{const o=i.node(r);typeof o?.x=="number"&&typeof o?.y=="number"&&s.push(o)}),s.length===0&&f.forEach(({edge:r})=>{(r.points??[]).forEach(o=>{typeof o?.x=="number"&&typeof o?.y=="number"&&s.push(o)})}),s.length===0)return _(c);const g=s.reduce((r,o)=>({x:r.x+o.x/s.length,y:r.y+o.y/s.length}),{x:0,y:0}),h=g.x-t.x,a=g.y-t.y;return Math.abs(h)>Math.abs(a)?h>0?"right":"left":Math.abs(a)>0?a>0?"bottom":"top":_(c)},"getSelfLoopSide"),B=n.__name((i,t="top",f=0,y=0)=>{const c=i.x,s=i.y-f,d=i.width/2,g=i.height/2,h=Math.max(36,Math.min(100,i.width*.8)),a=I(Math.max(y,i.width*.35),36,h),r=I(Math.min(i.width,i.height)*.45,24,48);switch(t){case"bottom":{const o=s+g;return[{x:c-a/2,y:o},{x:c-a/2,y:o+r},{x:c+a/2,y:o+r},{x:c+a/2,y:o}]}case"right":{const o=c+d;return[{x:o,y:s-a/2},{x:o+r,y:s-a/2},{x:o+r,y:s+a/2},{x:o,y:s+a/2}]}case"left":{const o=c-d;return[{x:o,y:s-a/2},{x:o-r,y:s-a/2},{x:o-r,y:s+a/2},{x:o,y:s+a/2}]}default:{const o=s-g;return[{x:c-a/2,y:o},{x:c-a/2,y:o-r},{x:c+a/2,y:o-r},{x:c+a/2,y:o}]}}},"getSelfLoopPoints"),D=n.__name((i,t,f="top",y=0,c={})=>{const d=i.x,g=i.y-y,h=c.width??0,a=c.height??0;switch(f){case"bottom":return{x:d,y:Math.max(...t.map(r=>r.y))+a/2+4};case"right":return{x:Math.max(...t.map(r=>r.x))+h/2+4,y:g};case"left":return{x:Math.min(...t.map(r=>r.x))-h/2-4,y:g};default:return{x:d,y:Math.min(...t.map(r=>r.y))-a/2-4}}},"getSelfLoopLabelPosition"),M=n.__name((i,t=0,{mergeSelfLoops:f=!0}={})=>{const y=new Map,c=[],s=i.graph()?.rankdir;return i.edges().forEach(d=>{const g=i.edge(d);if(f&&g.selfLoop){const h=g.selfLoop.id;y.has(h)||y.set(h,[]),y.get(h).push({edge:g,start:d.v,end:d.w})}else c.push({edge:g,start:d.v,end:d.w})}),y.forEach(d=>{if(d.length!==3){d.forEach(X=>c.push(X));return}d.sort((X,l)=>X.edge.selfLoop.order-l.edge.selfLoop.order);const[g,h,a]=d,r=g.edge.originalEdge??h.edge.originalEdge??a.edge.originalEdge??h.edge,o=i.node(r.start);if(!o){d.forEach(X=>c.push(X));return}const p={width:h.edge.width,height:h.edge.height},w=k(i,o,d,r.start,s),E=B(o,w,t,p.width??0),x=D(o,E,w,t,p),b={...h.edge,...r,id:r.id,points:E,start:r.start,end:r.end,x:x.x,y:x.y,width:p.width,height:p.height,labelStyle:h.edge.labelStyle,fromCluster:g.edge.fromCluster??h.edge.fromCluster??a.edge.fromCluster,toCluster:g.edge.toCluster??h.edge.toCluster??a.edge.toCluster};delete b.selfLoop,delete b.originalEdge,c.push({edge:b,start:b.start,end:b.end})}),c},"getEdgesToRender"),P=n.__name(async(i,t,f,y,c,s)=>{n.log.warn("Graph in recursive render:XAX",m.write(t),c);const d=t.graph().rankdir;n.log.trace("Dir in recursive render - dir:",d);const g=i.insert("g").attr("class","root");t.nodes()?n.log.info("Recursive render XXX",t.nodes()):n.log.info("No nodes found for",t),t.edges().length>0&&n.log.info("Recursive edges",t.edge(t.edges()[0]));const h=g.insert("g").attr("class","clusters"),a=g.insert("g").attr("class","edgePaths"),r=g.insert("g").attr("class","edgeLabels"),o=g.insert("g").attr("class","nodes"),p=G(f);await Promise.all(t.nodes().map(async function(l){const e=t.node(l);if(c!==void 0){const u=JSON.parse(JSON.stringify(c.clusterData));n.log.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,l,`
3
3
  data=`,u.height,`
4
4
  Parent cluster`,c.height),t.setNode(c.id,u),t.parent(l)||(n.log.trace("Setting parent",l,c.id),t.setParent(l,c.id,u))}if(n.log.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),e?.clusterNode){n.log.info("Cluster identified XBX",l,e.width,t.node(l));const{ranksep:u,nodesep:S}=t.graph();e.graph.setGraph({...e.graph.graph(),ranksep:u+25,nodesep:S});const L=await P(o,e.graph,f,y,t.node(l),s),N=L.elem;n.updateNodeBounds(e,N),e.diff=L.diff||0,n.log.info("New compound node after recursive render XAX",l,"width",e.width,"height",e.height),n.setNodeElem(N,e)}else t.children(l).length>0?(n.log.trace("Cluster - the non recursive path XBX",l,e.id,e,e.width,"Graph:",t),n.log.trace(m.findNonClusterChild(e.id,t)),m.clusterDb.set(e.id,{id:m.findNonClusterChild(e.id,t),node:e})):(n.log.trace("Node - the non recursive path XAX",l,o,t.node(l),d),await n.insertNode(o,t.node(l),{config:s,dir:d}))})),await n.__name(async()=>{const l=t.edges().map(async function(e){const u=t.edge(e.v,e.w,e.name);if(n.log.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),n.log.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),n.log.info("Fix",m.clusterDb,"ids:",e.v,e.w,"Translating: ",m.clusterDb.get(e.v),m.clusterDb.get(e.w)),p&&u.selfLoop){if(u.selfLoop.order!==1)return;const S=u.id;u.id=u.selfLoop.id,await n.insertEdgeLabel(r,u),u.id=S;return}await n.insertEdgeLabel(r,u)});await Promise.all(l)},"processEdges")(),n.log.info("Graph before layout:",JSON.stringify(m.write(t))),n.log.info("############################################# XXX"),n.log.info("### Layout ### XXX"),n.log.info("############################################# XXX"),T.layout(t),n.log.info("Graph after layout:",JSON.stringify(m.write(t)));let E=0,{subGraphTitleTotalMargin:x}=n.getSubGraphTitleMargins(s);await Promise.all(m.sortNodesByHierarchy(t).map(async function(l){const e=t.node(l);if(n.log.info("Position XBX => "+l+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e?.clusterNode)e.y+=x,n.log.info("A tainted cluster node XBX1",l,e.id,e.width,e.height,e.x,e.y,t.parent(l)),m.clusterDb.get(e.id).node=e,n.positionNode(e);else if(t.children(l).length>0){n.log.info("A pure cluster node XBX1",l,e.id,e.x,e.y,e.width,e.height,t.parent(l)),e.height+=x,t.node(e.parentId);const u=e?.padding/2||0,S=e?.labelBBox?.height||0,L=S-u||0;n.log.debug("OffsetY",L,"labelHeight",S,"halfPadding",u),await n.insertCluster(h,e),m.clusterDb.get(e.id).node=e}else{const u=t.node(e.parentId);e.y+=x/2,n.log.info("A regular node XBX1 - using the padding",e.id,"parent",e.parentId,e.width,e.height,e.x,e.y,"offsetY",e.offsetY,"parent",u,u?.offsetY,e),n.positionNode(e)}}));const b=x/2;return M(t,b,{mergeSelfLoops:p}).forEach(function({edge:l,start:e,end:u}){n.log.info("Edge "+e+" -> "+u+": "+JSON.stringify(l),l),l.points.forEach(R=>R.y+=b);const S=t.node(e),L=t.node(u),N=n.insertEdge(a,l,m.clusterDb,f,S,L,y);n.positionEdgeLabel(l,N)}),t.nodes().forEach(function(l){const e=t.node(l);n.log.info(l,e.type,e.diff),e.isGroup&&(E=e.diff)}),n.log.warn("Returning from recursive render XAX",g,E),{elem:g,diff:E}},"recursiveRender"),O=n.__name(async(i,t)=>{const f=new C.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:i.direction,nodesep:i.config?.nodeSpacing||i.config?.flowchart?.nodeSpacing||i.nodeSpacing,ranksep:i.config?.rankSpacing||i.config?.flowchart?.rankSpacing||i.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=t.select("g");n.markers_default(y,i.markers,i.type,i.diagramId),n.clear2(),n.clear$1(),n.clear$2(),m.clear(),i.nodes.forEach(s=>{f.setNode(s.id,{...s}),s.parentId&&f.setParent(s.id,s.parentId)}),n.log.debug("Edges:",i.edges),i.edges.forEach(s=>{if(s.start===s.end){const d=s.start,g=d+"---"+d+"---1",h=d+"---"+d+"---2",a=f.node(d);f.setNode(g,{domId:g,id:g,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),f.setParent(g,a.parentId),f.setNode(h,{domId:h,id:h,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),f.setParent(h,a.parentId);const r=structuredClone(s),o=structuredClone(s),p=structuredClone(s),w=structuredClone(s);o.originalEdge=r,o.selfLoop={id:r.id,order:0},p.originalEdge=r,p.selfLoop={id:r.id,order:1},w.originalEdge=r,w.selfLoop={id:r.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=d+"-cyclic-special-1",p.startLabelRight="",p.startLabelLeft="",p.endLabelLeft="",p.endLabelRight="",p.arrowTypeStart="none",p.arrowTypeEnd="none",p.id=d+"-cyclic-special-mid",w.label="",w.startLabelRight="",w.startLabelLeft="",w.arrowTypeStart="none",a.isGroup&&(o.fromCluster=d,w.toCluster=d),w.id=d+"-cyclic-special-2",w.arrowTypeStart="none",f.setEdge(d,g,o,d+"-cyclic-special-0"),f.setEdge(g,h,p,d+"-cyclic-special-1"),f.setEdge(h,d,w,d+"-cyclic-special-2")}else f.setEdge(s.start,s.end,{...s},s.id)}),n.log.warn("Graph at first:",JSON.stringify(m.write(f))),m.adjustClustersAndEdges(f),n.log.warn("Graph after XAX:",JSON.stringify(m.write(f)));const c=n.getConfig2();await P(y,f,i.type,i.diagramId,void 0,c)},"render");exports.getEdgesToRender=M;exports.render=O;
5
- //# sourceMappingURL=dagre-VKFMJZFB-BlRE-U3S.cjs.map
5
+ //# sourceMappingURL=dagre-VKFMJZFB-C7QheUvc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dagre-VKFMJZFB-BlRE-U3S.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-VKFMJZFB.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-52WLFC77.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-ZGVPDNZ5.mjs\";\nimport \"./chunk-C7G6YPKG.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-OGEWGWER.mjs\";\nimport \"./chunk-Q4XR5HBZ.mjs\";\nimport \"./chunk-HOUHSVGY.mjs\";\nimport \"./chunk-ICXQ74PX.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"dagre-VKFMJZFB-C7QheUvc.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-VKFMJZFB.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-52WLFC77.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-ZGVPDNZ5.mjs\";\nimport \"./chunk-C7G6YPKG.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-OGEWGWER.mjs\";\nimport \"./chunk-Q4XR5HBZ.mjs\";\nimport \"./chunk-HOUHSVGY.mjs\";\nimport \"./chunk-ICXQ74PX.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("./chunk-JWPE2WC7-u2Y2E01t.cjs"),i=require("./extractHeadings-vnYM8Eet.cjs"),M=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var B="position frame",E="frame positioned",w="position relation",A="relation positioned",ne=i.__name(function(e){i.log.debug("options str",e)},"setOptions"),ie=i.__name(function(){return{}},"getOptions"),ae=i.__name(function(){T(),i.clear()},"clear");function T(){P={}}i.__name(T,"reset");var re=i.defaultConfig_default.eventmodeling,oe=i.__name(()=>i.cleanAndMerge({...re,...i.getConfig().eventmodeling}),"getConfig"),P={};function D(){let e=se;const{ast:n}=P,t=S();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((a,r)=>{const o=I(a,n.dataEntities,t);e=p(e,{$kind:B,index:r,frame:a,textProps:o});let l;X(a)?(i.log.debug("source frame",a.sourceFrames),l=n.frames.filter(d=>a.sourceFrames.some(c=>c.$refText===d.name)),l.forEach(d=>{e=p(e,{$kind:w,index:r,frame:a,sourceFrame:d})})):e=p(e,{$kind:w,index:r,frame:a})}),e={...e,sortedSwimlanesArray:k(e.swimlanes)},e}i.__name(D,"getState");function R(e){P.ast=e}i.__name(R,"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}i.__name(S,"getDiagramProps");var se={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){const n=e.split(".");if(n.length===2)return n[0]}i.__name(C,"extractNamespace");function $(e){const n=e.split(".");return n.length===2?n[1]:e}i.__name($,"extractName");function N(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}i.__name(N,"findSwimlaneByNamespace");function b(e,n,t){return Math.max(n,...Object.keys(e).filter(a=>{const r=Number.parseInt(a);return r>n&&r<t}).map(a=>Number.parseInt(a)))+1}i.__name(b,"findNextAvailableIndex");function O(e,n){const t=C(e.entityIdentifier),a=N(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return a?{index:a.index,label:a.namespace||s.labelUiAutomation}:t?{index:b(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return a?{index:a.index,label:a.namespace||s.labelCommandReadModel}:t?{index:b(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};default:return a?{index:a.index,label:a.namespace||s.labelEvents}:t?{index:b(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}i.__name(O,"calculateSwimlaneProps");function W(e){const{themeVariables:n}=i.getConfig();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"}}}i.__name(W,"calculateEntityVisualProps");function I(e,n,t){const a=i.getConfig(),r=i.sanitizeText($(e.entityIdentifier)??"",a);let o;const l={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${i.wrapLabel(r,t.textMaxWidth,l)}</b>`;if(e.dataInlineValue&&(o=e.dataInlineValue,o=o.substring(o.indexOf("{")+1),o=o.substring(0,o.lastIndexOf("}")-1),o=i.sanitizeText(o,a),o=i.wrapLabel(o,t.textMaxWidth,l),o=o.replaceAll(" ","&nbsp;")),e.dataReference){const h=n.find(v=>v.name===e.dataReference?.$refText);h&&(o=h.dataBlockValue,o=o.substring(o.indexOf(`{
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("./chunk-JWPE2WC7-CLCAyxUO.cjs"),i=require("./extractHeadings-BsiIYa_e.cjs"),M=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var B="position frame",E="frame positioned",w="position relation",A="relation positioned",ne=i.__name(function(e){i.log.debug("options str",e)},"setOptions"),ie=i.__name(function(){return{}},"getOptions"),ae=i.__name(function(){T(),i.clear()},"clear");function T(){P={}}i.__name(T,"reset");var re=i.defaultConfig_default.eventmodeling,oe=i.__name(()=>i.cleanAndMerge({...re,...i.getConfig().eventmodeling}),"getConfig"),P={};function D(){let e=se;const{ast:n}=P,t=S();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((a,r)=>{const o=I(a,n.dataEntities,t);e=p(e,{$kind:B,index:r,frame:a,textProps:o});let l;X(a)?(i.log.debug("source frame",a.sourceFrames),l=n.frames.filter(d=>a.sourceFrames.some(c=>c.$refText===d.name)),l.forEach(d=>{e=p(e,{$kind:w,index:r,frame:a,sourceFrame:d})})):e=p(e,{$kind:w,index:r,frame:a})}),e={...e,sortedSwimlanesArray:k(e.swimlanes)},e}i.__name(D,"getState");function R(e){P.ast=e}i.__name(R,"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}i.__name(S,"getDiagramProps");var se={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){const n=e.split(".");if(n.length===2)return n[0]}i.__name(C,"extractNamespace");function $(e){const n=e.split(".");return n.length===2?n[1]:e}i.__name($,"extractName");function N(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}i.__name(N,"findSwimlaneByNamespace");function b(e,n,t){return Math.max(n,...Object.keys(e).filter(a=>{const r=Number.parseInt(a);return r>n&&r<t}).map(a=>Number.parseInt(a)))+1}i.__name(b,"findNextAvailableIndex");function O(e,n){const t=C(e.entityIdentifier),a=N(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return a?{index:a.index,label:a.namespace||s.labelUiAutomation}:t?{index:b(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return a?{index:a.index,label:a.namespace||s.labelCommandReadModel}:t?{index:b(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};default:return a?{index:a.index,label:a.namespace||s.labelEvents}:t?{index:b(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}i.__name(O,"calculateSwimlaneProps");function W(e){const{themeVariables:n}=i.getConfig();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"}}}i.__name(W,"calculateEntityVisualProps");function I(e,n,t){const a=i.getConfig(),r=i.sanitizeText($(e.entityIdentifier)??"",a);let o;const l={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${i.wrapLabel(r,t.textMaxWidth,l)}</b>`;if(e.dataInlineValue&&(o=e.dataInlineValue,o=o.substring(o.indexOf("{")+1),o=o.substring(0,o.lastIndexOf("}")-1),o=i.sanitizeText(o,a),o=i.wrapLabel(o,t.textMaxWidth,l),o=o.replaceAll(" ","&nbsp;")),e.dataReference){const h=n.find(v=>v.name===e.dataReference?.$refText);h&&(o=h.dataBlockValue,o=o.substring(o.indexOf(`{
2
2
  `)+2),o=o.substring(0,o.lastIndexOf("}")-1),o=i.sanitizeText(o,a),o=i.wrapLabel(o,t.textMaxWidth,l),o=o.replaceAll(" ","&nbsp;"),o+="<br/>")}const m=o!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${o}</code>`);const x={fontSize:l.fontSize,fontWeight:l.fontWeight,fontFamily:l.fontFamily},u=i.calculateTextDimensions(c,x),f=m?u.width/3:u.width,g={content:c,width:f,height:u.height};return i.log.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}i.__name(I,"calculateTextProps");function H(e,n){const t=n,a=W(t.frame),r={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:E,frame:t.frame,index:t.index,visual:a,dimension:r,textProps:t.textProps}]}i.__name(H,"decidePositionFrame");function U(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}i.__name(U,"calculateX");function L(e,n){const t=[...e.map(a=>a.r),n];return Math.max(...t)}i.__name(L,"calculateMaxRight");function k(e){return Object.values(e).sort((n,t)=>n.index-t.index)}i.__name(k,"sortedSwimlanesArray");function V(e,n){const t=n,a=O(t.frame,e.swimlanes);let r;a.index in e.swimlanes?r=e.swimlanes[a.index]:r={index:a.index,label:a.label,r:0,y:a.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const o=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,l=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,d={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=U(r,l,o),m=c+d.width+s.boxPadding,x=L(Object.values(e.swimlanes),m);r.r=c+d.width,r.maxHeight=Math.max(r.maxHeight,d.height),r.height=Math.max(s.swimlaneMinHeight,r.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+r.y,r:m,dimension:d,leftSibling:!1,swimlane:r,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},f={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${r.index}`]:r},previousSwimlaneNumber:a.index,previousFrame:t.frame,maxR:x},g=k(f.swimlanes);g.length>0&&(g[0].y=0);for(let h=1;h<g.length;h++){const v=g[h],F=g[h-1];v.y=F.y+F.height+s.swimlaneGap}return f}i.__name(V,"evolveFramePositioned");function G(e,n){return e===0&&n.sourceFrames.length===0}i.__name(G,"isFirstFrame");function X(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}i.__name(X,"hasSourceFrame");function _(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}i.__name(_,"findBoxByFrame");function j(e,n,t){if(!(t<0))for(let a=t;a>=0;a--){const r=e[a];if(r.swimlane.index!==n)return r}}i.__name(j,"findBoxByLineIndex");function Y(e,n){const t=n;if(M.isEmResetFrame(t.frame)||G(t.index,t.frame))return[];const a=_(e.boxes,t.frame);if(a===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let r;return t.sourceFrame?r=_(e.boxes,t.sourceFrame):r=j(e.boxes,a.swimlane.index,t.index-1),r===void 0?[]:[{$kind:A,frame:t.frame,index:t.index,sourceBox:r,targetBox:a}]}i.__name(Y,"decidePositionRelation");function z(e,n){const t=n,a={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,a]}}i.__name(z,"evolveRelationPositioned");var le={[B]:H,[w]:Y},de={[E]:V,[A]:z};function K(e,n){const t=le[n.$kind];if(t==null)return[];const a=t(e,n);return i.log.debug("decided events",a),a}i.__name(K,"decide");function q(e,n){const t=n.reduce((a,r)=>{const o=de[r.$kind];return o==null?a:o(a,r)},e);return i.log.debug("evolve events",{state:e,newState:t,events:n}),t}i.__name(q,"evolve");function p(e,n){const t=K(e,n);return q(e,t)}i.__name(p,"dispatch");var y={getConfig:oe,setOptions:ne,getOptions:ie,clear:ae,setAccTitle:i.setAccTitle,getAccTitle:i.getAccTitle,getAccDescription:i.getAccDescription,setAccDescription:i.setAccDescription,setDiagramTitle:i.setDiagramTitle,getDiagramTitle:i.getDiagramTitle,setAst:R,getDiagramProps:S,getState:D},ce={parse:i.__name(async e=>{const n=await M.parse("eventmodeling",e);i.log.debug(n),y.setAst(n),te.populateCommonDb(n,y)},"parse")},me=i.getConfig2(),ue=me?.eventmodeling;function J(e,n){return t=>{const a=t.swimlane.y+n.swimlanePadding,r=e.append("g").attr("class","em-box");r.append("rect").attr("x",t.x).attr("y",a).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),r.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",a+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)}}i.__name(J,"renderD3Box");function Q(e,n){return e>n}i.__name(Q,"dirUpwards");function Z(e,n,t,a){return r=>{const o=r.sourceBox.swimlane.y+n.swimlanePadding,l=r.targetBox.swimlane.y+n.swimlanePadding,d=Q(o,l),c=r.sourceBox.x+r.sourceBox.dimension.width*2/3,m=r.targetBox.x+r.targetBox.dimension.width/3;let x,u;i.log.debug(`rendering relation up=${d} for `,{sourceBox:r.sourceBox,targetBox:r.targetBox}),d?(x=o,u=l+r.targetBox.dimension.height):(x=o+r.sourceBox.dimension.height,u=l);const f=a.emRelationStroke??r.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",r.visual.fill).attr("stroke",f).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}i.__name(Z,"renderD3Relation");function ee(e,n,t,a){return r=>{const o=e.append("g").attr("class","em-swimlane"),l=a.emSwimlaneBackgroundOdd??"rgb(250,250,250)",d=a.emSwimlaneBackgroundStroke??"rgb(240,240,240)";o.append("rect").attr("x",0).attr("y",r.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",r.height).attr("fill",l).attr("stroke",d),o.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",r.y+30).text(r.label)}}i.__name(ee,"renderD3Swimlane");var xe=i.__name(function(e,n,t,a){if(i.log.debug("in eventmodeling renderer",e+`
3
3
  `,"id:",n,t),!ue)throw new Error("EventModeling config not found");const r=a.db,{themeVariables:o,eventmodeling:l}=i.getConfig2(),d=i.select(`[id="${n}"]`),c=r.getDiagramProps(),m=r.getState(),x=`em-arrowhead-${n}`,u=o.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(ee(d,m.maxR,c,o)),m.boxes.forEach(J(d,c)),m.relations.forEach(Z(d,c,x,o)),d.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),i.setupGraphViewbox2(void 0,d,l?.padding??30,l?.useMaxWidth)},"draw"),ge={draw:xe},fe=i.__name(e=>"","getStyles"),he=fe,be={parser:ce,db:y,renderer:ge,styles:he};exports.diagram=be;
4
- //# sourceMappingURL=diagram-FQU43EPY-Di26xB9f.cjs.map
4
+ //# sourceMappingURL=diagram-FQU43EPY-CSPyECaU.cjs.map