@aiquants/markdown 1.17.4 → 2.0.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.
- package/dist/{abnfDiagram-VRR7QNED-DA16g2La.cjs → abnfDiagram-VRR7QNED-BBmog1I4.cjs} +2 -2
- package/dist/{abnfDiagram-VRR7QNED-DA16g2La.cjs.map → abnfDiagram-VRR7QNED-BBmog1I4.cjs.map} +1 -1
- package/dist/{abnfDiagram-VRR7QNED-DX13PCMc.js → abnfDiagram-VRR7QNED-CxfTrgXf.js} +4 -4
- package/dist/{abnfDiagram-VRR7QNED-DX13PCMc.js.map → abnfDiagram-VRR7QNED-CxfTrgXf.js.map} +1 -1
- package/dist/{arc-6qASHEoU.js → arc-ClGqtl_2.js} +33 -33
- package/dist/{arc-6qASHEoU.js.map → arc-ClGqtl_2.js.map} +1 -1
- package/dist/{arc-wW7j3gvo.cjs → arc-DKsAswGe.cjs} +2 -2
- package/dist/{arc-wW7j3gvo.cjs.map → arc-DKsAswGe.cjs.map} +1 -1
- package/dist/{architectureDiagram-ZJ3FMSHR-D5kaurkM.cjs → architectureDiagram-ZJ3FMSHR-BLhnaJyB.cjs} +2 -2
- package/dist/{architectureDiagram-ZJ3FMSHR-D5kaurkM.cjs.map → architectureDiagram-ZJ3FMSHR-BLhnaJyB.cjs.map} +1 -1
- package/dist/{architectureDiagram-ZJ3FMSHR-COTmquXj.js → architectureDiagram-ZJ3FMSHR-Dild3kjN.js} +3 -3
- package/dist/{architectureDiagram-ZJ3FMSHR-COTmquXj.js.map → architectureDiagram-ZJ3FMSHR-Dild3kjN.js.map} +1 -1
- package/dist/{blockDiagram-677ZJIJ3-BK0UI-j7.cjs → blockDiagram-677ZJIJ3-D72bpMhN.cjs} +2 -2
- package/dist/{blockDiagram-677ZJIJ3-BK0UI-j7.cjs.map → blockDiagram-677ZJIJ3-D72bpMhN.cjs.map} +1 -1
- package/dist/{blockDiagram-677ZJIJ3-CJIR-mk3.js → blockDiagram-677ZJIJ3-DD1l8WOn.js} +167 -167
- package/dist/{blockDiagram-677ZJIJ3-CJIR-mk3.js.map → blockDiagram-677ZJIJ3-DD1l8WOn.js.map} +1 -1
- package/dist/{c4Diagram-LMCZKHZV-D9nMfRhz.js → c4Diagram-LMCZKHZV-BJkJh-kC.js} +3 -3
- package/dist/{c4Diagram-LMCZKHZV-D9nMfRhz.js.map → c4Diagram-LMCZKHZV-BJkJh-kC.js.map} +1 -1
- package/dist/{c4Diagram-LMCZKHZV-DEvjxLqy.cjs → c4Diagram-LMCZKHZV-D3d1d4zO.cjs} +2 -2
- package/dist/{c4Diagram-LMCZKHZV-DEvjxLqy.cjs.map → c4Diagram-LMCZKHZV-D3d1d4zO.cjs.map} +1 -1
- package/dist/channel-DE5LXIMm.cjs +2 -0
- package/dist/{channel-BpIdowqO.cjs.map → channel-DE5LXIMm.cjs.map} +1 -1
- package/dist/channel-DaGDswnD.js +6 -0
- package/dist/{channel-DGDNA7RK.js.map → channel-DaGDswnD.js.map} +1 -1
- package/dist/{chunk-2Q5K7J3B-C9tb4Ct7.cjs → chunk-2Q5K7J3B-BrnUlAaZ.cjs} +2 -2
- package/dist/{chunk-2Q5K7J3B-C9tb4Ct7.cjs.map → chunk-2Q5K7J3B-BrnUlAaZ.cjs.map} +1 -1
- package/dist/{chunk-2Q5K7J3B-CXoKJ2zL.js → chunk-2Q5K7J3B-DejpXtzn.js} +2 -2
- package/dist/{chunk-2Q5K7J3B-CXoKJ2zL.js.map → chunk-2Q5K7J3B-DejpXtzn.js.map} +1 -1
- package/dist/{chunk-32BRIVSS-BsmIXWWd.js → chunk-32BRIVSS-BCAuSjpE.js} +2 -2
- package/dist/{chunk-32BRIVSS-BsmIXWWd.js.map → chunk-32BRIVSS-BCAuSjpE.js.map} +1 -1
- package/dist/{chunk-32BRIVSS-C2deE16j.cjs → chunk-32BRIVSS-CDxbP_I9.cjs} +2 -2
- package/dist/{chunk-32BRIVSS-C2deE16j.cjs.map → chunk-32BRIVSS-CDxbP_I9.cjs.map} +1 -1
- package/dist/{chunk-5VM5RSS4-BB5C4pQd.cjs → chunk-5VM5RSS4-C-cBAbST.cjs} +2 -2
- package/dist/{chunk-5VM5RSS4-BB5C4pQd.cjs.map → chunk-5VM5RSS4-C-cBAbST.cjs.map} +1 -1
- package/dist/{chunk-5VM5RSS4-8uhmWNYU.js → chunk-5VM5RSS4-DI1kbCYB.js} +2 -2
- package/dist/{chunk-5VM5RSS4-8uhmWNYU.js.map → chunk-5VM5RSS4-DI1kbCYB.js.map} +1 -1
- package/dist/{chunk-EX3LRPZG-BU7kj60F.js → chunk-EX3LRPZG-CVTsVkLX.js} +38 -38
- package/dist/{chunk-EX3LRPZG-BU7kj60F.js.map → chunk-EX3LRPZG-CVTsVkLX.js.map} +1 -1
- package/dist/{chunk-EX3LRPZG-DiJSOd35.cjs → chunk-EX3LRPZG-uKd75-FB.cjs} +2 -2
- package/dist/{chunk-EX3LRPZG-DiJSOd35.cjs.map → chunk-EX3LRPZG-uKd75-FB.cjs.map} +1 -1
- package/dist/{chunk-JWPE2WC7-CF2MvshB.cjs → chunk-JWPE2WC7-CNFRDah7.cjs} +2 -2
- package/dist/{chunk-JWPE2WC7-CF2MvshB.cjs.map → chunk-JWPE2WC7-CNFRDah7.cjs.map} +1 -1
- package/dist/{chunk-JWPE2WC7-CMI2UtKP.js → chunk-JWPE2WC7-Cu3ql0Gi.js} +2 -2
- package/dist/{chunk-JWPE2WC7-CMI2UtKP.js.map → chunk-JWPE2WC7-Cu3ql0Gi.js.map} +1 -1
- package/dist/{chunk-MOJQB5TN-1fb215ZL.js → chunk-MOJQB5TN-BZ0Sok4l.js} +12 -12
- package/dist/{chunk-MOJQB5TN-1fb215ZL.js.map → chunk-MOJQB5TN-BZ0Sok4l.js.map} +1 -1
- package/dist/{chunk-MOJQB5TN-DLz0IiiD.cjs → chunk-MOJQB5TN-Bs5Jj3Zh.cjs} +2 -2
- package/dist/{chunk-MOJQB5TN-DLz0IiiD.cjs.map → chunk-MOJQB5TN-Bs5Jj3Zh.cjs.map} +1 -1
- package/dist/{chunk-PUDLZKDR-BwE-M2dR.js → chunk-PUDLZKDR-3RVC5ezN.js} +7 -7
- package/dist/{chunk-PUDLZKDR-BwE-M2dR.js.map → chunk-PUDLZKDR-3RVC5ezN.js.map} +1 -1
- package/dist/{chunk-PUDLZKDR-C8mkuWDP.cjs → chunk-PUDLZKDR-DisfuynB.cjs} +2 -2
- package/dist/{chunk-PUDLZKDR-C8mkuWDP.cjs.map → chunk-PUDLZKDR-DisfuynB.cjs.map} +1 -1
- package/dist/{chunk-RYQCIY6F-Bje2GI9K.js → chunk-RYQCIY6F-CSpf1fBI.js} +13 -13
- package/dist/{chunk-RYQCIY6F-Bje2GI9K.js.map → chunk-RYQCIY6F-CSpf1fBI.js.map} +1 -1
- package/dist/{chunk-RYQCIY6F-C-CFpAHC.cjs → chunk-RYQCIY6F-xFTrTO6v.cjs} +2 -2
- package/dist/{chunk-RYQCIY6F-C-CFpAHC.cjs.map → chunk-RYQCIY6F-xFTrTO6v.cjs.map} +1 -1
- package/dist/{chunk-V7JOEXUC-7qyR9Bsr.js → chunk-V7JOEXUC-BnwuCkOT.js} +13 -13
- package/dist/{chunk-V7JOEXUC-7qyR9Bsr.js.map → chunk-V7JOEXUC-BnwuCkOT.js.map} +1 -1
- package/dist/{chunk-V7JOEXUC-D0cvK7qG.cjs → chunk-V7JOEXUC-BvkxRSjK.cjs} +2 -2
- package/dist/{chunk-V7JOEXUC-D0cvK7qG.cjs.map → chunk-V7JOEXUC-BvkxRSjK.cjs.map} +1 -1
- package/dist/{chunk-VR4S4FIN-D5ATG3nh.cjs → chunk-VR4S4FIN-DAwCjhU3.cjs} +2 -2
- package/dist/{chunk-VR4S4FIN-D5ATG3nh.cjs.map → chunk-VR4S4FIN-DAwCjhU3.cjs.map} +1 -1
- package/dist/{chunk-VR4S4FIN-B50Vp5sn.js → chunk-VR4S4FIN-DSW2sQDL.js} +4 -4
- package/dist/{chunk-VR4S4FIN-B50Vp5sn.js.map → chunk-VR4S4FIN-DSW2sQDL.js.map} +1 -1
- package/dist/{chunk-XXDRQBXY-Csz5m9Q0.cjs → chunk-XXDRQBXY-B7vX1DJv.cjs} +2 -2
- package/dist/{chunk-XXDRQBXY-Csz5m9Q0.cjs.map → chunk-XXDRQBXY-B7vX1DJv.cjs.map} +1 -1
- package/dist/{chunk-XXDRQBXY-C5GJuDGM.js → chunk-XXDRQBXY-DrE4gFtL.js} +2 -2
- package/dist/{chunk-XXDRQBXY-C5GJuDGM.js.map → chunk-XXDRQBXY-DrE4gFtL.js.map} +1 -1
- package/dist/{classDiagram-OUVF2IWQ-haL9UyE3.cjs → classDiagram-OUVF2IWQ-BxIt89EK.cjs} +2 -2
- package/dist/{classDiagram-OUVF2IWQ-haL9UyE3.cjs.map → classDiagram-OUVF2IWQ-BxIt89EK.cjs.map} +1 -1
- package/dist/{classDiagram-OUVF2IWQ-JmvsYqNb.js → classDiagram-OUVF2IWQ-DlER_wIi.js} +3 -3
- package/dist/{classDiagram-OUVF2IWQ-JmvsYqNb.js.map → classDiagram-OUVF2IWQ-DlER_wIi.js.map} +1 -1
- package/dist/{classDiagram-v2-EOCWNBFH-haL9UyE3.cjs → classDiagram-v2-EOCWNBFH-BxIt89EK.cjs} +2 -2
- package/dist/{classDiagram-v2-EOCWNBFH-haL9UyE3.cjs.map → classDiagram-v2-EOCWNBFH-BxIt89EK.cjs.map} +1 -1
- package/dist/{classDiagram-v2-EOCWNBFH-JmvsYqNb.js → classDiagram-v2-EOCWNBFH-DlER_wIi.js} +3 -3
- package/dist/{classDiagram-v2-EOCWNBFH-JmvsYqNb.js.map → classDiagram-v2-EOCWNBFH-DlER_wIi.js.map} +1 -1
- package/dist/{cose-bilkent-JH36ORCC-dEzYTN0Y.js → cose-bilkent-JH36ORCC-BvnlFiZm.js} +2 -2
- package/dist/{cose-bilkent-JH36ORCC-dEzYTN0Y.js.map → cose-bilkent-JH36ORCC-BvnlFiZm.js.map} +1 -1
- package/dist/{cose-bilkent-JH36ORCC-CctQ6RmA.cjs → cose-bilkent-JH36ORCC-BzL-a0Zv.cjs} +2 -2
- package/dist/{cose-bilkent-JH36ORCC-CctQ6RmA.cjs.map → cose-bilkent-JH36ORCC-BzL-a0Zv.cjs.map} +1 -1
- package/dist/{cynefinDiagram-TSTJHNR4-Dc593JI7.cjs → cynefinDiagram-TSTJHNR4-B1lNDIu_.cjs} +2 -2
- package/dist/{cynefinDiagram-TSTJHNR4-Dc593JI7.cjs.map → cynefinDiagram-TSTJHNR4-B1lNDIu_.cjs.map} +1 -1
- package/dist/{cynefinDiagram-TSTJHNR4-DA0IbaOf.js → cynefinDiagram-TSTJHNR4-CUwuCyMp.js} +14 -14
- package/dist/{cynefinDiagram-TSTJHNR4-DA0IbaOf.js.map → cynefinDiagram-TSTJHNR4-CUwuCyMp.js.map} +1 -1
- package/dist/{dagre-VKFMJZFB-UlVWPHEF.cjs → dagre-VKFMJZFB-COYURQTh.cjs} +2 -2
- package/dist/{dagre-VKFMJZFB-UlVWPHEF.cjs.map → dagre-VKFMJZFB-COYURQTh.cjs.map} +1 -1
- package/dist/{dagre-VKFMJZFB-BZ4KqiTp.js → dagre-VKFMJZFB-Ct0vbIs9.js} +3 -3
- package/dist/{dagre-VKFMJZFB-BZ4KqiTp.js.map → dagre-VKFMJZFB-Ct0vbIs9.js.map} +1 -1
- package/dist/{diagram-FQU43EPY-BUkX2dwX.js → diagram-FQU43EPY-B5HmiJPw.js} +89 -89
- package/dist/{diagram-FQU43EPY-BUkX2dwX.js.map → diagram-FQU43EPY-B5HmiJPw.js.map} +1 -1
- package/dist/{diagram-FQU43EPY-Cz9HQsDB.cjs → diagram-FQU43EPY-DkgdwwAT.cjs} +2 -2
- package/dist/{diagram-FQU43EPY-Cz9HQsDB.cjs.map → diagram-FQU43EPY-DkgdwwAT.cjs.map} +1 -1
- package/dist/{diagram-G47NLZAW-BHYy7jE3.js → diagram-G47NLZAW-C-nfBNGF.js} +131 -131
- package/dist/{diagram-G47NLZAW-BHYy7jE3.js.map → diagram-G47NLZAW-C-nfBNGF.js.map} +1 -1
- package/dist/{diagram-G47NLZAW-BCRCFiSM.cjs → diagram-G47NLZAW-CcXcBx81.cjs} +2 -2
- package/dist/{diagram-G47NLZAW-BCRCFiSM.cjs.map → diagram-G47NLZAW-CcXcBx81.cjs.map} +1 -1
- package/dist/{diagram-NH7WQ7WH-CerCbpUu.cjs → diagram-NH7WQ7WH-BMYzS0pm.cjs} +2 -2
- package/dist/{diagram-NH7WQ7WH-CerCbpUu.cjs.map → diagram-NH7WQ7WH-BMYzS0pm.cjs.map} +1 -1
- package/dist/{diagram-NH7WQ7WH-IhqPJd1s.js → diagram-NH7WQ7WH-yu8B8Q4y.js} +7 -7
- package/dist/{diagram-NH7WQ7WH-IhqPJd1s.js.map → diagram-NH7WQ7WH-yu8B8Q4y.js.map} +1 -1
- package/dist/{diagram-OA4YK3LP-C3WyYBi_.js → diagram-OA4YK3LP-CROsfore.js} +16 -16
- package/dist/{diagram-OA4YK3LP-C3WyYBi_.js.map → diagram-OA4YK3LP-CROsfore.js.map} +1 -1
- package/dist/{diagram-OA4YK3LP-B8TMBlbb.cjs → diagram-OA4YK3LP-DSeI6RLe.cjs} +2 -2
- package/dist/{diagram-OA4YK3LP-B8TMBlbb.cjs.map → diagram-OA4YK3LP-DSeI6RLe.cjs.map} +1 -1
- package/dist/{diagram-WEI45ONY-Be4piikM.cjs → diagram-WEI45ONY-CCJwQ42c.cjs} +2 -2
- package/dist/{diagram-WEI45ONY-Be4piikM.cjs.map → diagram-WEI45ONY-CCJwQ42c.cjs.map} +1 -1
- package/dist/{diagram-WEI45ONY-DIwaS9Jo.js → diagram-WEI45ONY-DmPpMglv.js} +21 -21
- package/dist/{diagram-WEI45ONY-DIwaS9Jo.js.map → diagram-WEI45ONY-DmPpMglv.js.map} +1 -1
- package/dist/{ebnfDiagram-CCIWWBDH-BjmRWGfS.js → ebnfDiagram-CCIWWBDH-B2ck9j39.js} +6 -6
- package/dist/{ebnfDiagram-CCIWWBDH-BjmRWGfS.js.map → ebnfDiagram-CCIWWBDH-B2ck9j39.js.map} +1 -1
- package/dist/{ebnfDiagram-CCIWWBDH-C5MvxXmd.cjs → ebnfDiagram-CCIWWBDH-D_nz1FvR.cjs} +2 -2
- package/dist/{ebnfDiagram-CCIWWBDH-C5MvxXmd.cjs.map → ebnfDiagram-CCIWWBDH-D_nz1FvR.cjs.map} +1 -1
- package/dist/{erDiagram-Q63AITRT-CGL15E8G.cjs → erDiagram-Q63AITRT-2r-lfgSt.cjs} +2 -2
- package/dist/{erDiagram-Q63AITRT-CGL15E8G.cjs.map → erDiagram-Q63AITRT-2r-lfgSt.cjs.map} +1 -1
- package/dist/{erDiagram-Q63AITRT-DxHlesHD.js → erDiagram-Q63AITRT-BfpyxqAV.js} +13 -13
- package/dist/{erDiagram-Q63AITRT-DxHlesHD.js.map → erDiagram-Q63AITRT-BfpyxqAV.js.map} +1 -1
- package/dist/{extractHeadings-DLMipVtZ.cjs → extractHeadings-BrLI2qQF.cjs} +57 -57
- package/dist/extractHeadings-BrLI2qQF.cjs.map +1 -0
- package/dist/{extractHeadings-DXqyEdSz.js → extractHeadings-Dgzd324l.js} +4982 -5024
- package/dist/extractHeadings-Dgzd324l.js.map +1 -0
- package/dist/flowDiagram-23GEKE2U-D3w55eDA.cjs +2 -0
- package/dist/flowDiagram-23GEKE2U-D3w55eDA.cjs.map +1 -0
- package/dist/flowDiagram-23GEKE2U-LZTzy0Rx.js +8 -0
- package/dist/flowDiagram-23GEKE2U-LZTzy0Rx.js.map +1 -0
- package/dist/{ganttDiagram-NO4QXBWP-DJ3jv8Rd.cjs → ganttDiagram-NO4QXBWP-CNhgpKSH.cjs} +2 -2
- package/dist/{ganttDiagram-NO4QXBWP-DJ3jv8Rd.cjs.map → ganttDiagram-NO4QXBWP-CNhgpKSH.cjs.map} +1 -1
- package/dist/{ganttDiagram-NO4QXBWP-Cr3YBegW.js → ganttDiagram-NO4QXBWP-DR3YQ-Kd.js} +3 -3
- package/dist/{ganttDiagram-NO4QXBWP-Cr3YBegW.js.map → ganttDiagram-NO4QXBWP-DR3YQ-Kd.js.map} +1 -1
- package/dist/{gitGraphDiagram-IHSO6WYX-DLtw9G3h.js → gitGraphDiagram-IHSO6WYX-CzLNLS8W.js} +15 -15
- package/dist/{gitGraphDiagram-IHSO6WYX-DLtw9G3h.js.map → gitGraphDiagram-IHSO6WYX-CzLNLS8W.js.map} +1 -1
- package/dist/{gitGraphDiagram-IHSO6WYX-DfeTcKQn.cjs → gitGraphDiagram-IHSO6WYX-D5IYosEF.cjs} +2 -2
- package/dist/{gitGraphDiagram-IHSO6WYX-DfeTcKQn.cjs.map → gitGraphDiagram-IHSO6WYX-D5IYosEF.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.client.cjs +1 -1
- package/dist/index.client.d.ts +1 -2
- package/dist/index.client.d.ts.map +1 -1
- package/dist/index.client.js +37 -39
- package/dist/index.js +37 -39
- package/dist/index.server.cjs +1 -1
- package/dist/index.server.cjs.map +1 -1
- package/dist/index.server.d.ts +11 -3
- package/dist/index.server.d.ts.map +1 -1
- package/dist/index.server.js +159 -220
- package/dist/index.server.js.map +1 -1
- package/dist/{infoDiagram-FWYZ7A6U-Ce8j8jph.js → infoDiagram-FWYZ7A6U-CBcx5GhE.js} +6 -6
- package/dist/{infoDiagram-FWYZ7A6U-Ce8j8jph.js.map → infoDiagram-FWYZ7A6U-CBcx5GhE.js.map} +1 -1
- package/dist/{infoDiagram-FWYZ7A6U-CW4-d4rX.cjs → infoDiagram-FWYZ7A6U-U2OiliOP.cjs} +2 -2
- package/dist/{infoDiagram-FWYZ7A6U-CW4-d4rX.cjs.map → infoDiagram-FWYZ7A6U-U2OiliOP.cjs.map} +1 -1
- package/dist/{ishikawaDiagram-FXEZZL3T-L8-waBZb.js → ishikawaDiagram-FXEZZL3T-CWXT_3xh.js} +29 -29
- package/dist/{ishikawaDiagram-FXEZZL3T-L8-waBZb.js.map → ishikawaDiagram-FXEZZL3T-CWXT_3xh.js.map} +1 -1
- package/dist/{ishikawaDiagram-FXEZZL3T-B12HxQJc.cjs → ishikawaDiagram-FXEZZL3T-DK3M6wrz.cjs} +2 -2
- package/dist/{ishikawaDiagram-FXEZZL3T-B12HxQJc.cjs.map → ishikawaDiagram-FXEZZL3T-DK3M6wrz.cjs.map} +1 -1
- package/dist/{journeyDiagram-5HDEW3XC-D8Grjliz.cjs → journeyDiagram-5HDEW3XC-B-BfhPr4.cjs} +2 -2
- package/dist/{journeyDiagram-5HDEW3XC-D8Grjliz.cjs.map → journeyDiagram-5HDEW3XC-B-BfhPr4.cjs.map} +1 -1
- package/dist/{journeyDiagram-5HDEW3XC-DT-oySwM.js → journeyDiagram-5HDEW3XC-DRbAj2Yz.js} +21 -21
- package/dist/{journeyDiagram-5HDEW3XC-DT-oySwM.js.map → journeyDiagram-5HDEW3XC-DRbAj2Yz.js.map} +1 -1
- package/dist/{kanban-definition-HUTT4EX6-CPeA5sWR.cjs → kanban-definition-HUTT4EX6-BvnLv2HN.cjs} +2 -2
- package/dist/{kanban-definition-HUTT4EX6-CPeA5sWR.cjs.map → kanban-definition-HUTT4EX6-BvnLv2HN.cjs.map} +1 -1
- package/dist/{kanban-definition-HUTT4EX6-Cu3hSZTf.js → kanban-definition-HUTT4EX6-DtRSv2_P.js} +122 -122
- package/dist/{kanban-definition-HUTT4EX6-Cu3hSZTf.js.map → kanban-definition-HUTT4EX6-DtRSv2_P.js.map} +1 -1
- package/dist/{linear-Dva-3TNI.cjs → linear-B9JMAP1U.cjs} +2 -2
- package/dist/{linear-Dva-3TNI.cjs.map → linear-B9JMAP1U.cjs.map} +1 -1
- package/dist/{linear-Cxhgo9L6.js → linear-HTaGrbQh.js} +16 -16
- package/dist/{linear-Cxhgo9L6.js.map → linear-HTaGrbQh.js.map} +1 -1
- package/dist/{mindmap-definition-LN4V7U3C-C6J9DUEU.js → mindmap-definition-LN4V7U3C-4cN-VjxO.js} +12 -12
- package/dist/{mindmap-definition-LN4V7U3C-C6J9DUEU.js.map → mindmap-definition-LN4V7U3C-4cN-VjxO.js.map} +1 -1
- package/dist/{mindmap-definition-LN4V7U3C-DA8vudfE.cjs → mindmap-definition-LN4V7U3C-asDDR5DU.cjs} +2 -2
- package/dist/{mindmap-definition-LN4V7U3C-DA8vudfE.cjs.map → mindmap-definition-LN4V7U3C-asDDR5DU.cjs.map} +1 -1
- package/dist/{pegDiagram-2B236MQR-Co6RWobn.cjs → pegDiagram-2B236MQR-C3qJlDiV.cjs} +2 -2
- package/dist/{pegDiagram-2B236MQR-Co6RWobn.cjs.map → pegDiagram-2B236MQR-C3qJlDiV.cjs.map} +1 -1
- package/dist/{pegDiagram-2B236MQR-SWh4hb5t.js → pegDiagram-2B236MQR-cMLC3Ggy.js} +6 -6
- package/dist/{pegDiagram-2B236MQR-SWh4hb5t.js.map → pegDiagram-2B236MQR-cMLC3Ggy.js.map} +1 -1
- package/dist/{pieDiagram-ENE6RG2P-B7DL32tJ.cjs → pieDiagram-ENE6RG2P-D5-meW-_.cjs} +2 -2
- package/dist/{pieDiagram-ENE6RG2P-B7DL32tJ.cjs.map → pieDiagram-ENE6RG2P-D5-meW-_.cjs.map} +1 -1
- package/dist/{pieDiagram-ENE6RG2P-CF-fsN5x.js → pieDiagram-ENE6RG2P-nk_3VO3x.js} +51 -51
- package/dist/{pieDiagram-ENE6RG2P-CF-fsN5x.js.map → pieDiagram-ENE6RG2P-nk_3VO3x.js.map} +1 -1
- package/dist/{quadrantDiagram-ABIIQ3AL-DwC6GYSw.cjs → quadrantDiagram-ABIIQ3AL-CmqrHJ4C.cjs} +2 -2
- package/dist/{quadrantDiagram-ABIIQ3AL-DwC6GYSw.cjs.map → quadrantDiagram-ABIIQ3AL-CmqrHJ4C.cjs.map} +1 -1
- package/dist/{quadrantDiagram-ABIIQ3AL-Bb9z5l9a.js → quadrantDiagram-ABIIQ3AL-Ctdfu4Qk.js} +3 -3
- package/dist/{quadrantDiagram-ABIIQ3AL-Bb9z5l9a.js.map → quadrantDiagram-ABIIQ3AL-Ctdfu4Qk.js.map} +1 -1
- package/dist/{railroadDiagram-RFXS5EU6-JArFWsDe.js → railroadDiagram-RFXS5EU6-2rLqmvj_.js} +4 -4
- package/dist/{railroadDiagram-RFXS5EU6-JArFWsDe.js.map → railroadDiagram-RFXS5EU6-2rLqmvj_.js.map} +1 -1
- package/dist/{railroadDiagram-RFXS5EU6-cKqfMCU4.cjs → railroadDiagram-RFXS5EU6-a-pSoUg2.cjs} +2 -2
- package/dist/{railroadDiagram-RFXS5EU6-cKqfMCU4.cjs.map → railroadDiagram-RFXS5EU6-a-pSoUg2.cjs.map} +1 -1
- package/dist/{requirementDiagram-TGXJPOKE-ADs_L_fO.cjs → requirementDiagram-TGXJPOKE-BaKLflmx.cjs} +2 -2
- package/dist/{requirementDiagram-TGXJPOKE-ADs_L_fO.cjs.map → requirementDiagram-TGXJPOKE-BaKLflmx.cjs.map} +1 -1
- package/dist/{requirementDiagram-TGXJPOKE-DhRBCdRa.js → requirementDiagram-TGXJPOKE-BlCu380H.js} +4 -4
- package/dist/{requirementDiagram-TGXJPOKE-DhRBCdRa.js.map → requirementDiagram-TGXJPOKE-BlCu380H.js.map} +1 -1
- package/dist/{sankeyDiagram-HTMAVEWB-BOS4mbGH.js → sankeyDiagram-HTMAVEWB-6lNyI55x.js} +24 -24
- package/dist/{sankeyDiagram-HTMAVEWB-BOS4mbGH.js.map → sankeyDiagram-HTMAVEWB-6lNyI55x.js.map} +1 -1
- package/dist/{sankeyDiagram-HTMAVEWB-DgIU2lNe.cjs → sankeyDiagram-HTMAVEWB-DuUzdIP0.cjs} +2 -2
- package/dist/{sankeyDiagram-HTMAVEWB-DgIU2lNe.cjs.map → sankeyDiagram-HTMAVEWB-DuUzdIP0.cjs.map} +1 -1
- package/dist/{sequenceDiagram-DBY2YBRQ-Dw2RmEIK.cjs → sequenceDiagram-DBY2YBRQ-B29fl34a.cjs} +2 -2
- package/dist/{sequenceDiagram-DBY2YBRQ-Dw2RmEIK.cjs.map → sequenceDiagram-DBY2YBRQ-B29fl34a.cjs.map} +1 -1
- package/dist/{sequenceDiagram-DBY2YBRQ-Digq5Uh2.js → sequenceDiagram-DBY2YBRQ-sgwpzZWi.js} +87 -87
- package/dist/{sequenceDiagram-DBY2YBRQ-Digq5Uh2.js.map → sequenceDiagram-DBY2YBRQ-sgwpzZWi.js.map} +1 -1
- package/dist/{sizeCapture-X5ZJPWSS-B-_sHCun.cjs → sizeCapture-X5ZJPWSS-DAiqtb_j.cjs} +2 -2
- package/dist/{sizeCapture-X5ZJPWSS-B-_sHCun.cjs.map → sizeCapture-X5ZJPWSS-DAiqtb_j.cjs.map} +1 -1
- package/dist/{sizeCapture-X5ZJPWSS-DrnV9G4V.js → sizeCapture-X5ZJPWSS-DMDy-RCU.js} +2 -2
- package/dist/{sizeCapture-X5ZJPWSS-DrnV9G4V.js.map → sizeCapture-X5ZJPWSS-DMDy-RCU.js.map} +1 -1
- package/dist/{stateDiagram-2N3HPSRC-BT1p37Yr.cjs → stateDiagram-2N3HPSRC-BXIH2aOp.cjs} +2 -2
- package/dist/{stateDiagram-2N3HPSRC-BT1p37Yr.cjs.map → stateDiagram-2N3HPSRC-BXIH2aOp.cjs.map} +1 -1
- package/dist/{stateDiagram-2N3HPSRC-z0szyb-H.js → stateDiagram-2N3HPSRC-DAN7ei1t.js} +25 -25
- package/dist/{stateDiagram-2N3HPSRC-z0szyb-H.js.map → stateDiagram-2N3HPSRC-DAN7ei1t.js.map} +1 -1
- package/dist/{stateDiagram-v2-6OUMAXLB-CrvSrtvg.js → stateDiagram-v2-6OUMAXLB--pCo5CzX.js} +5 -5
- package/dist/{stateDiagram-v2-6OUMAXLB-CrvSrtvg.js.map → stateDiagram-v2-6OUMAXLB--pCo5CzX.js.map} +1 -1
- package/dist/{stateDiagram-v2-6OUMAXLB-B_8yre-X.cjs → stateDiagram-v2-6OUMAXLB-8XTokhrn.cjs} +2 -2
- package/dist/{stateDiagram-v2-6OUMAXLB-B_8yre-X.cjs.map → stateDiagram-v2-6OUMAXLB-8XTokhrn.cjs.map} +1 -1
- package/dist/{swimlanes-5IMT3BWC-BlFH2q78.js → swimlanes-5IMT3BWC-B-sXtUgS.js} +4 -4
- package/dist/{swimlanes-5IMT3BWC-BlFH2q78.js.map → swimlanes-5IMT3BWC-B-sXtUgS.js.map} +1 -1
- package/dist/{swimlanes-5IMT3BWC-CoZRjeam.cjs → swimlanes-5IMT3BWC-BnT290KL.cjs} +2 -2
- package/dist/{swimlanes-5IMT3BWC-CoZRjeam.cjs.map → swimlanes-5IMT3BWC-BnT290KL.cjs.map} +1 -1
- package/dist/{swimlanesDiagram-G3AALYLV-k0jDcHWE.cjs → swimlanesDiagram-G3AALYLV-CAEjADeH.cjs} +2 -2
- package/dist/{swimlanesDiagram-G3AALYLV-k0jDcHWE.cjs.map → swimlanesDiagram-G3AALYLV-CAEjADeH.cjs.map} +1 -1
- package/dist/{swimlanesDiagram-G3AALYLV-DODB_7JB.js → swimlanesDiagram-G3AALYLV-CkxURj6O.js} +3 -3
- package/dist/{swimlanesDiagram-G3AALYLV-DODB_7JB.js.map → swimlanesDiagram-G3AALYLV-CkxURj6O.js.map} +1 -1
- package/dist/{timeline-definition-FHXFAJF6-Bf643DeG.js → timeline-definition-FHXFAJF6-D47CoBOm.js} +26 -26
- package/dist/{timeline-definition-FHXFAJF6-Bf643DeG.js.map → timeline-definition-FHXFAJF6-D47CoBOm.js.map} +1 -1
- package/dist/{timeline-definition-FHXFAJF6-CQpVzyuC.cjs → timeline-definition-FHXFAJF6-Dqdftl5b.cjs} +2 -2
- package/dist/{timeline-definition-FHXFAJF6-CQpVzyuC.cjs.map → timeline-definition-FHXFAJF6-Dqdftl5b.cjs.map} +1 -1
- package/dist/{vennDiagram-L72KCM5P-C0Qj1Ye9.cjs → vennDiagram-L72KCM5P-BxjgXNwH.cjs} +2 -2
- package/dist/{vennDiagram-L72KCM5P-C0Qj1Ye9.cjs.map → vennDiagram-L72KCM5P-BxjgXNwH.cjs.map} +1 -1
- package/dist/{vennDiagram-L72KCM5P-BHnPQYAv.js → vennDiagram-L72KCM5P-DzcOxkzh.js} +58 -58
- package/dist/{vennDiagram-L72KCM5P-BHnPQYAv.js.map → vennDiagram-L72KCM5P-DzcOxkzh.js.map} +1 -1
- package/dist/{wardleyDiagram-EHGQE667-BhRakVW4.cjs → wardleyDiagram-EHGQE667-CurWRCjn.cjs} +2 -2
- package/dist/{wardleyDiagram-EHGQE667-BhRakVW4.cjs.map → wardleyDiagram-EHGQE667-CurWRCjn.cjs.map} +1 -1
- package/dist/{wardleyDiagram-EHGQE667-QDSPpILj.js → wardleyDiagram-EHGQE667-tZJBiyrP.js} +87 -87
- package/dist/{wardleyDiagram-EHGQE667-QDSPpILj.js.map → wardleyDiagram-EHGQE667-tZJBiyrP.js.map} +1 -1
- package/dist/{xychartDiagram-FW5EYKEG-C7LGE11p.cjs → xychartDiagram-FW5EYKEG-D0ltrZo8.cjs} +2 -2
- package/dist/{xychartDiagram-FW5EYKEG-C7LGE11p.cjs.map → xychartDiagram-FW5EYKEG-D0ltrZo8.cjs.map} +1 -1
- package/dist/{xychartDiagram-FW5EYKEG-8socgV_y.js → xychartDiagram-FW5EYKEG-DRQ_o9WV.js} +20 -20
- package/dist/{xychartDiagram-FW5EYKEG-8socgV_y.js.map → xychartDiagram-FW5EYKEG-DRQ_o9WV.js.map} +1 -1
- package/package.json +7 -9
- package/dist/channel-BpIdowqO.cjs +0 -2
- package/dist/channel-DGDNA7RK.js +0 -6
- package/dist/extractHeadings-DLMipVtZ.cjs.map +0 -1
- package/dist/extractHeadings-DXqyEdSz.js.map +0 -1
- package/dist/flowDiagram-23GEKE2U-B4xwo9xK.cjs +0 -2
- package/dist/flowDiagram-23GEKE2U-B4xwo9xK.cjs.map +0 -1
- package/dist/flowDiagram-23GEKE2U-DdN3jXSO.js +0 -8
- package/dist/flowDiagram-23GEKE2U-DdN3jXSO.js.map +0 -1
- package/dist/plugins/remark-import-directive.async.server.d.ts +0 -16
- package/dist/plugins/remark-import-directive.async.server.d.ts.map +0 -1
- package/dist/plugins/remark-resolve-uri.async.d.ts +0 -13
- package/dist/plugins/remark-resolve-uri.async.d.ts.map +0 -1
- package/dist/plugins/transformUri.async.server.d.ts +0 -13
- package/dist/plugins/transformUri.async.server.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagre-VKFMJZFB-UlVWPHEF.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-COYURQTh.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,5 +1,5 @@
|
|
|
1
|
-
import { c as O, w as I, a as J, f as P, b as E, s as A } from "./chunk-RYQCIY6F-
|
|
2
|
-
import {
|
|
1
|
+
import { c as O, w as I, a as J, f as P, b as E, s as A } from "./chunk-RYQCIY6F-CSpf1fBI.js";
|
|
2
|
+
import { _ as b, b7 as v, b8 as D, b9 as H, ba as Y, a0 as l, X as _, bb as $, bc as W, a$ as j, bd as F, b0 as R, a_ as q, be as z, bf as K, bg as G } from "./extractHeadings-Dgzd324l.js";
|
|
3
3
|
import { G as Q } from "./graph-DAHC4kPm.js";
|
|
4
4
|
import { l as U } from "./layout-DBbo_M5I.js";
|
|
5
5
|
var C = /* @__PURE__ */ b((s, t, g) => Math.max(t, Math.min(g, s)), "clamp"), B = /* @__PURE__ */ b((s = "TB") => {
|
|
@@ -338,4 +338,4 @@ export {
|
|
|
338
338
|
ne as getEdgesToRender,
|
|
339
339
|
de as render
|
|
340
340
|
};
|
|
341
|
-
//# sourceMappingURL=dagre-VKFMJZFB-
|
|
341
|
+
//# sourceMappingURL=dagre-VKFMJZFB-Ct0vbIs9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagre-VKFMJZFB-BZ4KqiTp.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-Ct0vbIs9.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]}
|