@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,8 +1,8 @@
|
|
|
1
|
-
import { I as
|
|
2
|
-
import { p as O } from "./chunk-JWPE2WC7-
|
|
3
|
-
import {
|
|
1
|
+
import { I as X } from "./chunk-2Q5K7J3B-DejpXtzn.js";
|
|
2
|
+
import { p as O } from "./chunk-JWPE2WC7-Cu3ql0Gi.js";
|
|
3
|
+
import { ae as G, W as Y, Q as P, af as F, U as j, V as q, _ as f, aq as A, a0 as N, at as U, a1 as Z, ao as D, ak as Q, a4 as J, b3 as K, ar as ee, b4 as te } from "./extractHeadings-Dgzd324l.js";
|
|
4
4
|
import { p as ne } from "./cynefin-VYW2F7L2-Bkk-F_Js.js";
|
|
5
|
-
var E = /[─━│┃└┗├┣]/, S = /[└┗├┣]/, re = /[─━]/, V = /^[\s│┃]+$/,
|
|
5
|
+
var E = /[─━│┃└┗├┣]/, S = /[└┗├┣]/, re = /[─━]/, V = /^[\s│┃]+$/, k = /^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/, $ = /^\s*%%/, ie = " ";
|
|
6
6
|
function L(n) {
|
|
7
7
|
return n.some((e) => E.test(e));
|
|
8
8
|
}
|
|
@@ -37,7 +37,7 @@ function R(n) {
|
|
|
37
37
|
const i = [];
|
|
38
38
|
for (let s = r + 1; s < e.length; s++) {
|
|
39
39
|
const o = e[s];
|
|
40
|
-
o.trim() === "" ||
|
|
40
|
+
o.trim() === "" || $.test(o) || k.test(o) || V.test(o) || i.push(o.replace(/\t/g, " "));
|
|
41
41
|
}
|
|
42
42
|
if (!L(i))
|
|
43
43
|
return { text: n, lineMap: t };
|
|
@@ -51,11 +51,11 @@ function R(n) {
|
|
|
51
51
|
c.push(o), l++, t.set(l, p);
|
|
52
52
|
continue;
|
|
53
53
|
}
|
|
54
|
-
if (
|
|
54
|
+
if ($.test(o)) {
|
|
55
55
|
c.push(o), l++, t.set(l, p);
|
|
56
56
|
continue;
|
|
57
57
|
}
|
|
58
|
-
if (
|
|
58
|
+
if (k.test(o)) {
|
|
59
59
|
c.push(o), l++, t.set(l, p);
|
|
60
60
|
continue;
|
|
61
61
|
}
|
|
@@ -74,8 +74,8 @@ function R(n) {
|
|
|
74
74
|
throw new Error(
|
|
75
75
|
`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`
|
|
76
76
|
);
|
|
77
|
-
const
|
|
78
|
-
c.push(
|
|
77
|
+
const z = ie.repeat(m);
|
|
78
|
+
c.push(z + v), l++, t.set(l, p);
|
|
79
79
|
} else {
|
|
80
80
|
if (/^[\s─━│┃└┗├┣]+$/.test(d))
|
|
81
81
|
continue;
|
|
@@ -94,7 +94,7 @@ function R(n) {
|
|
|
94
94
|
`), lineMap: t };
|
|
95
95
|
}
|
|
96
96
|
f(R, "preprocessBoxDrawing");
|
|
97
|
-
var x = new
|
|
97
|
+
var x = new X(() => ({
|
|
98
98
|
cnt: 1,
|
|
99
99
|
stack: [
|
|
100
100
|
{
|
|
@@ -106,7 +106,7 @@ var x = new z(() => ({
|
|
|
106
106
|
}
|
|
107
107
|
]
|
|
108
108
|
})), oe = /* @__PURE__ */ f(() => {
|
|
109
|
-
x.reset(),
|
|
109
|
+
x.reset(), Q();
|
|
110
110
|
}, "clear"), se = /* @__PURE__ */ f(() => x.records.stack[0], "getRoot"), ae = /* @__PURE__ */ f(() => x.records.cnt, "getCount"), ce = ee.treeView, le = /* @__PURE__ */ f(() => A(ce, D().treeView), "getConfig"), de = /* @__PURE__ */ f((n, e, t, r, i, a) => {
|
|
111
111
|
for (; n <= x.records.stack[x.records.stack.length - 1].level; )
|
|
112
112
|
x.records.stack.pop();
|
|
@@ -140,7 +140,7 @@ var x = new z(() => ({
|
|
|
140
140
|
let r = e.name;
|
|
141
141
|
const i = r.endsWith("/");
|
|
142
142
|
i && (r = r.slice(0, -1));
|
|
143
|
-
const a = i ? "directory" : "file", c = e.classAnnotation || void 0, l = e.iconAnnotation, s = l !== void 0 ? l || "none" : void 0, o = e.descAnnotation || void 0, h = o ?
|
|
143
|
+
const a = i ? "directory" : "file", c = e.classAnnotation || void 0, l = e.iconAnnotation, s = l !== void 0 ? l || "none" : void 0, o = e.descAnnotation || void 0, h = o ? J(o, D()) : void 0;
|
|
144
144
|
I.addNode(t, r, a, c, s, h);
|
|
145
145
|
}
|
|
146
146
|
}, "populate"), fe = {
|
|
@@ -214,7 +214,7 @@ var y = 14, ge = 4, ue = 16, W = /* @__PURE__ */ f((n, e) => `tv-icon-${n}-${e.r
|
|
|
214
214
|
const c = await Promise.all(
|
|
215
215
|
[...i].map(async (s) => ({
|
|
216
216
|
icon: s,
|
|
217
|
-
svg: await
|
|
217
|
+
svg: await K(s, {
|
|
218
218
|
height: y,
|
|
219
219
|
width: y
|
|
220
220
|
})
|
|
@@ -284,12 +284,12 @@ var y = 14, ge = 4, ue = 16, W = /* @__PURE__ */ f((n, e) => `tv-icon-${n}-${e.r
|
|
|
284
284
|
}, "drawTree"), ve = /* @__PURE__ */ f(async (n, e, t, r) => {
|
|
285
285
|
N.debug(`Rendering treeView diagram
|
|
286
286
|
` + n);
|
|
287
|
-
const i = r.db, a = i.getRoot(), c = i.getConfig(), l =
|
|
287
|
+
const i = r.db, a = i.getRoot(), c = i.getConfig(), l = U(e);
|
|
288
288
|
await we(l, a, c, e);
|
|
289
289
|
const s = l.append("g");
|
|
290
290
|
s.attr("class", "tree-view");
|
|
291
291
|
const { totalHeight: o, totalWidth: h } = xe(s, a, c, e);
|
|
292
|
-
l.attr("viewBox", `-${c.lineThickness / 2} 0 ${h} ${o}`),
|
|
292
|
+
l.attr("viewBox", `-${c.lineThickness / 2} 0 ${h} ${o}`), Z(l, o, h, c.useMaxWidth);
|
|
293
293
|
}, "draw"), be = {
|
|
294
294
|
draw: ve
|
|
295
295
|
}, Ie = be, Ce = {
|
|
@@ -348,4 +348,4 @@ var y = 14, ge = 4, ue = 16, W = /* @__PURE__ */ f((n, e) => `tv-icon-${n}-${e.r
|
|
|
348
348
|
export {
|
|
349
349
|
Ae as diagram
|
|
350
350
|
};
|
|
351
|
-
//# sourceMappingURL=diagram-OA4YK3LP-
|
|
351
|
+
//# sourceMappingURL=diagram-OA4YK3LP-CROsfore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-OA4YK3LP-C3WyYBi_.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OA4YK3LP.mjs"],"sourcesContent":["import {\n ImperativeState\n} from \"./chunk-2Q5K7J3B.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n getIconSVG,\n registerIconPacks\n} from \"./chunk-HOUHSVGY.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treeView/boxDrawingPreprocessor.ts\nvar ALL_BOX_CHARS = /[─━│┃└┗├┣]/;\nvar BRANCH_CHAR = /[└┗├┣]/;\nvar DASH_CHAR = /[─━]/;\nvar DECORATION_ONLY = /^[\\s│┃]+$/;\nvar METADATA_LINE = /^\\s*(title[\\t ]|accTitle[\\t ]*:|accDescr[\\t ]*[:{])/;\nvar COMMENT_LINE = /^\\s*%%/;\nvar INDENT_UNIT = \" \";\nfunction isBoxDrawingFormat(lines) {\n return lines.some((line) => ALL_BOX_CHARS.test(line));\n}\n__name(isBoxDrawingFormat, \"isBoxDrawingFormat\");\nfunction inferSegmentWidth(contentLines) {\n for (const line of contentLines) {\n const match = BRANCH_CHAR.exec(line);\n if (match?.index && match.index > 0) {\n return match.index;\n }\n }\n return 4;\n}\n__name(inferSegmentWidth, \"inferSegmentWidth\");\nfunction remapErrorLines(message, lineMap) {\n return message.replace(/\\bline\\s+(\\d+)\\b/gi, (match, lineStr) => {\n const line = parseInt(lineStr, 10);\n const original = lineMap.get(line);\n return original ? `line ${original}` : match;\n });\n}\n__name(remapErrorLines, \"remapErrorLines\");\nfunction preprocessBoxDrawing(input) {\n const lines = input.split(\"\\n\");\n const lineMap = /* @__PURE__ */ new Map();\n let keywordIdx = -1;\n for (const [i, line] of lines.entries()) {\n if (line.trim() === \"treeView-beta\") {\n keywordIdx = i;\n break;\n }\n }\n if (keywordIdx === -1) {\n return { text: input, lineMap };\n }\n const contentLineTexts = [];\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n if (trimmed === \"\" || COMMENT_LINE.test(line) || METADATA_LINE.test(line)) {\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n contentLineTexts.push(line.replace(/\\t/g, \" \"));\n }\n if (!isBoxDrawingFormat(contentLineTexts)) {\n return { text: input, lineMap };\n }\n const segmentWidth = inferSegmentWidth(contentLineTexts);\n const outputLines = [];\n let outLineNo = 0;\n for (let i = 0; i <= keywordIdx; i++) {\n outputLines.push(lines[i]);\n outLineNo++;\n lineMap.set(outLineNo, i + 1);\n }\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n const origLineNo = i + 1;\n if (trimmed === \"\") {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (COMMENT_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (METADATA_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n const normalized = line.replace(/\\t/g, \" \");\n const branchMatch = BRANCH_CHAR.exec(normalized);\n if (branchMatch?.index !== void 0) {\n const branchCol = branchMatch.index;\n const depth = Math.round(branchCol / segmentWidth) + 1;\n let pos = branchCol + 1;\n while (pos < normalized.length && DASH_CHAR.test(normalized[pos])) {\n pos++;\n }\n while (pos < normalized.length && normalized[pos] === \" \") {\n pos++;\n }\n const content = normalized.slice(pos).trimEnd();\n if (!content) {\n throw new Error(\n `Line ${origLineNo}: Empty node \\u2014 expected a filename or directory name after the box-drawing prefix`\n );\n }\n const indent = INDENT_UNIT.repeat(depth);\n outputLines.push(indent + content);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^[\\s─━│┃└┗├┣]+$/.test(normalized)) {\n continue;\n } else if (ALL_BOX_CHARS.test(normalized)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^\\s+/.test(normalized)) {\n throw new Error(\n `Line ${origLineNo}: Unexpected indentation without box-drawing characters. In box-drawing format, use \\u251C\\u2500\\u2500 or \\u2514\\u2500\\u2500 prefixes for indented nodes.`\n );\n } else {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n }\n }\n return { text: outputLines.join(\"\\n\"), lineMap };\n}\n__name(preprocessBoxDrawing, \"preprocessBoxDrawing\");\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n nodeType: \"directory\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name, nodeType, cssClass, icon, description) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n nodeType,\n icon,\n cssClass,\n description,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n for (const node of ast.nodes) {\n const level = typeof node.indent === \"number\" ? node.indent : 0;\n let name = node.name;\n const isDirectory = name.endsWith(\"/\");\n if (isDirectory) {\n name = name.slice(0, -1);\n }\n const nodeType = isDirectory ? \"directory\" : \"file\";\n const cssClass = node.classAnnotation || void 0;\n const rawIcon = node.iconAnnotation;\n const icon = rawIcon !== void 0 ? rawIcon || \"none\" : void 0;\n const rawDesc = node.descAnnotation || void 0;\n const description = rawDesc ? sanitizeText(rawDesc, getConfig()) : void 0;\n db_default.addNode(level, name, nodeType, cssClass, icon, description);\n }\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const { text, lineMap } = preprocessBoxDrawing(input);\n try {\n const ast = await parse(\"treeView\", text);\n log.debug(ast);\n populate(ast);\n } catch (error) {\n if (lineMap.size > 0 && error instanceof Error) {\n error.message = remapErrorLines(error.message, lineMap);\n }\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treeView/icons.ts\nvar treeViewIcons = {\n prefix: \"mermaid-treeview\",\n height: 24,\n width: 24,\n icons: {\n folder: {\n body: '<path fill=\"currentColor\" d=\"M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z\"/>'\n },\n file: {\n body: '<path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z\" clip-rule=\"evenodd\"/>'\n }\n }\n};\nfunction detectIcon(name, config) {\n const filenameIcon = config?.filenameIcons?.[name];\n if (filenameIcon) {\n return filenameIcon;\n }\n const dotIdx = name.lastIndexOf(\".\");\n if (dotIdx > 0) {\n const ext = name.substring(dotIdx).toLowerCase();\n const extensionIcons = config?.extensionIcons;\n return extensionIcons?.[ext] ?? extensionIcons?.[ext.slice(1)];\n }\n return void 0;\n}\n__name(detectIcon, \"detectIcon\");\nfunction qualifyIcon(icon, defaultIconPack) {\n if (icon.includes(\":\")) {\n return icon;\n }\n if (icon in treeViewIcons.icons || !defaultIconPack) {\n return `${treeViewIcons.prefix}:${icon}`;\n }\n return `${defaultIconPack}:${icon}`;\n}\n__name(qualifyIcon, \"qualifyIcon\");\nfunction getNodeIcon(node, config) {\n if (node.icon === \"none\") {\n return void 0;\n }\n if (node.icon) {\n return qualifyIcon(node.icon, config.defaultIconPack);\n }\n if (!config.showIcons) {\n return void 0;\n }\n if (node.nodeType === \"file\") {\n const detected = detectIcon(node.name, config);\n if (detected === \"none\") {\n return void 0;\n }\n if (detected) {\n return qualifyIcon(detected, config.defaultIconPack);\n }\n }\n return `${treeViewIcons.prefix}:${node.nodeType === \"directory\" ? \"folder\" : \"file\"}`;\n}\n__name(getNodeIcon, \"getNodeIcon\");\n\n// src/diagrams/treeView/renderer.ts\nregisterIconPacks([\n {\n name: treeViewIcons.prefix,\n icons: treeViewIcons\n }\n]);\nvar ICON_SIZE = 14;\nvar ICON_GAP = 4;\nvar DESC_GAP = 16;\nvar iconSymbolId = /* @__PURE__ */ __name((diagramId, icon) => `tv-icon-${diagramId}-${icon.replace(/[^\\w-]/g, \"-\")}`, \"iconSymbolId\");\nvar injectIconDefs = /* @__PURE__ */ __name(async (svg, root, config, diagramId) => {\n const usedIcons = /* @__PURE__ */ new Set();\n const collect = /* @__PURE__ */ __name((node) => {\n const icon = getNodeIcon(node, config);\n if (icon) {\n usedIcons.add(icon);\n }\n node.children.forEach(collect);\n }, \"collect\");\n collect(root);\n if (usedIcons.size === 0) {\n return;\n }\n const iconSVGs = await Promise.all(\n [...usedIcons].map(async (icon) => ({\n icon,\n svg: await getIconSVG(icon, {\n height: ICON_SIZE,\n width: ICON_SIZE\n })\n }))\n );\n const defs = svg.append(\"defs\");\n for (const { icon, svg: iconSVG } of iconSVGs) {\n defs.append(\"g\").attr(\"id\", iconSymbolId(diagramId, icon)).html(iconSVG);\n }\n}, \"injectIconDefs\");\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config, diagramId) => {\n const nodeGroup = domElem.append(\"g\");\n let cssClasses = \"treeView-node-label\";\n if (node.nodeType === \"directory\") {\n cssClasses += \" treeView-node-dir\";\n }\n if (node.cssClass) {\n cssClasses += ` ${node.cssClass}`;\n }\n const iconOffset = ICON_SIZE + ICON_GAP;\n const icon = getNodeIcon(node, config);\n const showIcon = icon !== void 0;\n if (icon) {\n nodeGroup.append(\"use\").attr(\"xlink:href\", `#${iconSymbolId(diagramId, icon)}`).attr(\"x\", x + config.paddingX).attr(\"y\", y + config.paddingY).attr(\"class\", \"treeView-node-icon\");\n }\n const label = nodeGroup.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", cssClasses);\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const labelX = x + config.paddingX + (showIcon ? iconOffset : 0);\n label.attr(\"x\", labelX);\n label.attr(\"y\", y + height / 2);\n const labelRightEdge = labelX + labelWidth;\n const width = labelWidth + config.paddingX * 2 + (showIcon ? iconOffset : 0);\n node.BBox = { x, y, width, height };\n if (node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n nodeGroup.insert(\"rect\", \":first-child\").attr(\"x\", x).attr(\"y\", y + 1).attr(\"width\", 0).attr(\"height\", height - 2).attr(\"rx\", 3).attr(\"class\", \"treeView-highlight-bg\");\n }\n return { node, nodeGroup, labelRightEdge, centerY: y + height / 2 };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config, diagramId) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const renderInfos = [];\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n const info = positionLabel(indent, totalHeight, node, elem2, config2, diagramId);\n renderInfos.push(info);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n const nodesWithDesc = renderInfos.filter((ri) => ri.node.description);\n if (nodesWithDesc.length > 0) {\n const maxLabelRight = Math.max(...renderInfos.map((ri) => ri.labelRightEdge));\n const descX = maxLabelRight + DESC_GAP;\n for (const ri of nodesWithDesc) {\n const desc = ri.nodeGroup.append(\"text\").text(ri.node.description).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-description\").attr(\"x\", descX).attr(\"y\", ri.centerY);\n const descBBox = desc.node().getBBox();\n totalWidth = Math.max(totalWidth, descX + descBBox.width + config.paddingX);\n }\n }\n for (const ri of renderInfos) {\n if (ri.node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n const rect = ri.nodeGroup.select(\".treeView-highlight-bg\");\n if (!rect.empty()) {\n const rectWidth = totalWidth - ri.node.BBox.x + 8;\n rect.attr(\"width\", rectWidth);\n totalWidth = Math.max(totalWidth, ri.node.BBox.x + rectWidth + 2);\n }\n }\n }\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n await injectIconDefs(svg, root, config, id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config, id);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\",\n iconColor: \"#546e7a\",\n descriptionColor: \"#6a9955\",\n highlightBg: \"rgba(255, 193, 7, 0.15)\",\n highlightStroke: \"#ffc107\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const {\n labelFontSize,\n labelColor,\n lineColor,\n iconColor,\n descriptionColor,\n highlightBg,\n highlightStroke\n } = cleanAndMerge(defaultTreeViewDiagramStyles, treeView);\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n .treeView-node-icon {\n color: ${iconColor};\n }\n .treeView-node-description {\n font-size: ${labelFontSize};\n fill: ${descriptionColor};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${highlightBg};\n stroke: ${highlightStroke};\n stroke-width: 1;\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["ALL_BOX_CHARS","BRANCH_CHAR","DASH_CHAR","DECORATION_ONLY","METADATA_LINE","COMMENT_LINE","INDENT_UNIT","isBoxDrawingFormat","lines","line","__name","inferSegmentWidth","contentLines","match","remapErrorLines","message","lineMap","lineStr","original","preprocessBoxDrawing","input","keywordIdx","i","contentLineTexts","segmentWidth","outputLines","outLineNo","trimmed","origLineNo","normalized","branchMatch","branchCol","depth","pos","content","indent","state","ImperativeState","clear2","clear","getRoot","getCount","defaultConfig","defaultConfig_default","getConfig2","cleanAndMerge","getConfig","addNode","level","name","nodeType","cssClass","icon","description","node","db","getAccTitle","getAccDescription","getDiagramTitle","setAccDescription","setAccTitle","setDiagramTitle","db_default","populate","ast","populateCommonDb","isDirectory","rawIcon","rawDesc","sanitizeText","parser","text","parse","log","error","treeViewIcons","detectIcon","config","filenameIcon","dotIdx","ext","extensionIcons","qualifyIcon","defaultIconPack","getNodeIcon","detected","registerIconPacks","ICON_SIZE","ICON_GAP","DESC_GAP","iconSymbolId","diagramId","injectIconDefs","svg","root","usedIcons","collect","iconSVGs","getIconSVG","defs","iconSVG","positionLabel","x","y","domElem","nodeGroup","cssClasses","iconOffset","showIcon","label","labelHeight","labelWidth","height","labelX","labelRightEdge","width","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","totalHeight","totalWidth","renderInfos","drawNode","elem2","config2","info","processNode","child","endY","endHeight","nodesWithDesc","ri","descX","descBBox","rect","rectWidth","draw","id","_ver","diagObj","db2","selectSvgElement","treeElem","configureSvgSize","renderer","renderer_default","defaultTreeViewDiagramStyles","styles","treeView","labelFontSize","labelColor","lineColor","iconColor","descriptionColor","highlightBg","highlightStroke","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"diagram-OA4YK3LP-CROsfore.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OA4YK3LP.mjs"],"sourcesContent":["import {\n ImperativeState\n} from \"./chunk-2Q5K7J3B.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n getIconSVG,\n registerIconPacks\n} from \"./chunk-HOUHSVGY.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treeView/boxDrawingPreprocessor.ts\nvar ALL_BOX_CHARS = /[─━│┃└┗├┣]/;\nvar BRANCH_CHAR = /[└┗├┣]/;\nvar DASH_CHAR = /[─━]/;\nvar DECORATION_ONLY = /^[\\s│┃]+$/;\nvar METADATA_LINE = /^\\s*(title[\\t ]|accTitle[\\t ]*:|accDescr[\\t ]*[:{])/;\nvar COMMENT_LINE = /^\\s*%%/;\nvar INDENT_UNIT = \" \";\nfunction isBoxDrawingFormat(lines) {\n return lines.some((line) => ALL_BOX_CHARS.test(line));\n}\n__name(isBoxDrawingFormat, \"isBoxDrawingFormat\");\nfunction inferSegmentWidth(contentLines) {\n for (const line of contentLines) {\n const match = BRANCH_CHAR.exec(line);\n if (match?.index && match.index > 0) {\n return match.index;\n }\n }\n return 4;\n}\n__name(inferSegmentWidth, \"inferSegmentWidth\");\nfunction remapErrorLines(message, lineMap) {\n return message.replace(/\\bline\\s+(\\d+)\\b/gi, (match, lineStr) => {\n const line = parseInt(lineStr, 10);\n const original = lineMap.get(line);\n return original ? `line ${original}` : match;\n });\n}\n__name(remapErrorLines, \"remapErrorLines\");\nfunction preprocessBoxDrawing(input) {\n const lines = input.split(\"\\n\");\n const lineMap = /* @__PURE__ */ new Map();\n let keywordIdx = -1;\n for (const [i, line] of lines.entries()) {\n if (line.trim() === \"treeView-beta\") {\n keywordIdx = i;\n break;\n }\n }\n if (keywordIdx === -1) {\n return { text: input, lineMap };\n }\n const contentLineTexts = [];\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n if (trimmed === \"\" || COMMENT_LINE.test(line) || METADATA_LINE.test(line)) {\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n contentLineTexts.push(line.replace(/\\t/g, \" \"));\n }\n if (!isBoxDrawingFormat(contentLineTexts)) {\n return { text: input, lineMap };\n }\n const segmentWidth = inferSegmentWidth(contentLineTexts);\n const outputLines = [];\n let outLineNo = 0;\n for (let i = 0; i <= keywordIdx; i++) {\n outputLines.push(lines[i]);\n outLineNo++;\n lineMap.set(outLineNo, i + 1);\n }\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n const origLineNo = i + 1;\n if (trimmed === \"\") {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (COMMENT_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (METADATA_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n const normalized = line.replace(/\\t/g, \" \");\n const branchMatch = BRANCH_CHAR.exec(normalized);\n if (branchMatch?.index !== void 0) {\n const branchCol = branchMatch.index;\n const depth = Math.round(branchCol / segmentWidth) + 1;\n let pos = branchCol + 1;\n while (pos < normalized.length && DASH_CHAR.test(normalized[pos])) {\n pos++;\n }\n while (pos < normalized.length && normalized[pos] === \" \") {\n pos++;\n }\n const content = normalized.slice(pos).trimEnd();\n if (!content) {\n throw new Error(\n `Line ${origLineNo}: Empty node \\u2014 expected a filename or directory name after the box-drawing prefix`\n );\n }\n const indent = INDENT_UNIT.repeat(depth);\n outputLines.push(indent + content);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^[\\s─━│┃└┗├┣]+$/.test(normalized)) {\n continue;\n } else if (ALL_BOX_CHARS.test(normalized)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^\\s+/.test(normalized)) {\n throw new Error(\n `Line ${origLineNo}: Unexpected indentation without box-drawing characters. In box-drawing format, use \\u251C\\u2500\\u2500 or \\u2514\\u2500\\u2500 prefixes for indented nodes.`\n );\n } else {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n }\n }\n return { text: outputLines.join(\"\\n\"), lineMap };\n}\n__name(preprocessBoxDrawing, \"preprocessBoxDrawing\");\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n nodeType: \"directory\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name, nodeType, cssClass, icon, description) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n nodeType,\n icon,\n cssClass,\n description,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n for (const node of ast.nodes) {\n const level = typeof node.indent === \"number\" ? node.indent : 0;\n let name = node.name;\n const isDirectory = name.endsWith(\"/\");\n if (isDirectory) {\n name = name.slice(0, -1);\n }\n const nodeType = isDirectory ? \"directory\" : \"file\";\n const cssClass = node.classAnnotation || void 0;\n const rawIcon = node.iconAnnotation;\n const icon = rawIcon !== void 0 ? rawIcon || \"none\" : void 0;\n const rawDesc = node.descAnnotation || void 0;\n const description = rawDesc ? sanitizeText(rawDesc, getConfig()) : void 0;\n db_default.addNode(level, name, nodeType, cssClass, icon, description);\n }\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const { text, lineMap } = preprocessBoxDrawing(input);\n try {\n const ast = await parse(\"treeView\", text);\n log.debug(ast);\n populate(ast);\n } catch (error) {\n if (lineMap.size > 0 && error instanceof Error) {\n error.message = remapErrorLines(error.message, lineMap);\n }\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treeView/icons.ts\nvar treeViewIcons = {\n prefix: \"mermaid-treeview\",\n height: 24,\n width: 24,\n icons: {\n folder: {\n body: '<path fill=\"currentColor\" d=\"M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z\"/>'\n },\n file: {\n body: '<path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z\" clip-rule=\"evenodd\"/>'\n }\n }\n};\nfunction detectIcon(name, config) {\n const filenameIcon = config?.filenameIcons?.[name];\n if (filenameIcon) {\n return filenameIcon;\n }\n const dotIdx = name.lastIndexOf(\".\");\n if (dotIdx > 0) {\n const ext = name.substring(dotIdx).toLowerCase();\n const extensionIcons = config?.extensionIcons;\n return extensionIcons?.[ext] ?? extensionIcons?.[ext.slice(1)];\n }\n return void 0;\n}\n__name(detectIcon, \"detectIcon\");\nfunction qualifyIcon(icon, defaultIconPack) {\n if (icon.includes(\":\")) {\n return icon;\n }\n if (icon in treeViewIcons.icons || !defaultIconPack) {\n return `${treeViewIcons.prefix}:${icon}`;\n }\n return `${defaultIconPack}:${icon}`;\n}\n__name(qualifyIcon, \"qualifyIcon\");\nfunction getNodeIcon(node, config) {\n if (node.icon === \"none\") {\n return void 0;\n }\n if (node.icon) {\n return qualifyIcon(node.icon, config.defaultIconPack);\n }\n if (!config.showIcons) {\n return void 0;\n }\n if (node.nodeType === \"file\") {\n const detected = detectIcon(node.name, config);\n if (detected === \"none\") {\n return void 0;\n }\n if (detected) {\n return qualifyIcon(detected, config.defaultIconPack);\n }\n }\n return `${treeViewIcons.prefix}:${node.nodeType === \"directory\" ? \"folder\" : \"file\"}`;\n}\n__name(getNodeIcon, \"getNodeIcon\");\n\n// src/diagrams/treeView/renderer.ts\nregisterIconPacks([\n {\n name: treeViewIcons.prefix,\n icons: treeViewIcons\n }\n]);\nvar ICON_SIZE = 14;\nvar ICON_GAP = 4;\nvar DESC_GAP = 16;\nvar iconSymbolId = /* @__PURE__ */ __name((diagramId, icon) => `tv-icon-${diagramId}-${icon.replace(/[^\\w-]/g, \"-\")}`, \"iconSymbolId\");\nvar injectIconDefs = /* @__PURE__ */ __name(async (svg, root, config, diagramId) => {\n const usedIcons = /* @__PURE__ */ new Set();\n const collect = /* @__PURE__ */ __name((node) => {\n const icon = getNodeIcon(node, config);\n if (icon) {\n usedIcons.add(icon);\n }\n node.children.forEach(collect);\n }, \"collect\");\n collect(root);\n if (usedIcons.size === 0) {\n return;\n }\n const iconSVGs = await Promise.all(\n [...usedIcons].map(async (icon) => ({\n icon,\n svg: await getIconSVG(icon, {\n height: ICON_SIZE,\n width: ICON_SIZE\n })\n }))\n );\n const defs = svg.append(\"defs\");\n for (const { icon, svg: iconSVG } of iconSVGs) {\n defs.append(\"g\").attr(\"id\", iconSymbolId(diagramId, icon)).html(iconSVG);\n }\n}, \"injectIconDefs\");\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config, diagramId) => {\n const nodeGroup = domElem.append(\"g\");\n let cssClasses = \"treeView-node-label\";\n if (node.nodeType === \"directory\") {\n cssClasses += \" treeView-node-dir\";\n }\n if (node.cssClass) {\n cssClasses += ` ${node.cssClass}`;\n }\n const iconOffset = ICON_SIZE + ICON_GAP;\n const icon = getNodeIcon(node, config);\n const showIcon = icon !== void 0;\n if (icon) {\n nodeGroup.append(\"use\").attr(\"xlink:href\", `#${iconSymbolId(diagramId, icon)}`).attr(\"x\", x + config.paddingX).attr(\"y\", y + config.paddingY).attr(\"class\", \"treeView-node-icon\");\n }\n const label = nodeGroup.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", cssClasses);\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const labelX = x + config.paddingX + (showIcon ? iconOffset : 0);\n label.attr(\"x\", labelX);\n label.attr(\"y\", y + height / 2);\n const labelRightEdge = labelX + labelWidth;\n const width = labelWidth + config.paddingX * 2 + (showIcon ? iconOffset : 0);\n node.BBox = { x, y, width, height };\n if (node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n nodeGroup.insert(\"rect\", \":first-child\").attr(\"x\", x).attr(\"y\", y + 1).attr(\"width\", 0).attr(\"height\", height - 2).attr(\"rx\", 3).attr(\"class\", \"treeView-highlight-bg\");\n }\n return { node, nodeGroup, labelRightEdge, centerY: y + height / 2 };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config, diagramId) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const renderInfos = [];\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n const info = positionLabel(indent, totalHeight, node, elem2, config2, diagramId);\n renderInfos.push(info);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n const nodesWithDesc = renderInfos.filter((ri) => ri.node.description);\n if (nodesWithDesc.length > 0) {\n const maxLabelRight = Math.max(...renderInfos.map((ri) => ri.labelRightEdge));\n const descX = maxLabelRight + DESC_GAP;\n for (const ri of nodesWithDesc) {\n const desc = ri.nodeGroup.append(\"text\").text(ri.node.description).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-description\").attr(\"x\", descX).attr(\"y\", ri.centerY);\n const descBBox = desc.node().getBBox();\n totalWidth = Math.max(totalWidth, descX + descBBox.width + config.paddingX);\n }\n }\n for (const ri of renderInfos) {\n if (ri.node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n const rect = ri.nodeGroup.select(\".treeView-highlight-bg\");\n if (!rect.empty()) {\n const rectWidth = totalWidth - ri.node.BBox.x + 8;\n rect.attr(\"width\", rectWidth);\n totalWidth = Math.max(totalWidth, ri.node.BBox.x + rectWidth + 2);\n }\n }\n }\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n await injectIconDefs(svg, root, config, id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config, id);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\",\n iconColor: \"#546e7a\",\n descriptionColor: \"#6a9955\",\n highlightBg: \"rgba(255, 193, 7, 0.15)\",\n highlightStroke: \"#ffc107\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const {\n labelFontSize,\n labelColor,\n lineColor,\n iconColor,\n descriptionColor,\n highlightBg,\n highlightStroke\n } = cleanAndMerge(defaultTreeViewDiagramStyles, treeView);\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n .treeView-node-icon {\n color: ${iconColor};\n }\n .treeView-node-description {\n font-size: ${labelFontSize};\n fill: ${descriptionColor};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${highlightBg};\n stroke: ${highlightStroke};\n stroke-width: 1;\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["ALL_BOX_CHARS","BRANCH_CHAR","DASH_CHAR","DECORATION_ONLY","METADATA_LINE","COMMENT_LINE","INDENT_UNIT","isBoxDrawingFormat","lines","line","__name","inferSegmentWidth","contentLines","match","remapErrorLines","message","lineMap","lineStr","original","preprocessBoxDrawing","input","keywordIdx","i","contentLineTexts","segmentWidth","outputLines","outLineNo","trimmed","origLineNo","normalized","branchMatch","branchCol","depth","pos","content","indent","state","ImperativeState","clear2","clear","getRoot","getCount","defaultConfig","defaultConfig_default","getConfig2","cleanAndMerge","getConfig","addNode","level","name","nodeType","cssClass","icon","description","node","db","getAccTitle","getAccDescription","getDiagramTitle","setAccDescription","setAccTitle","setDiagramTitle","db_default","populate","ast","populateCommonDb","isDirectory","rawIcon","rawDesc","sanitizeText","parser","text","parse","log","error","treeViewIcons","detectIcon","config","filenameIcon","dotIdx","ext","extensionIcons","qualifyIcon","defaultIconPack","getNodeIcon","detected","registerIconPacks","ICON_SIZE","ICON_GAP","DESC_GAP","iconSymbolId","diagramId","injectIconDefs","svg","root","usedIcons","collect","iconSVGs","getIconSVG","defs","iconSVG","positionLabel","x","y","domElem","nodeGroup","cssClasses","iconOffset","showIcon","label","labelHeight","labelWidth","height","labelX","labelRightEdge","width","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","totalHeight","totalWidth","renderInfos","drawNode","elem2","config2","info","processNode","child","endY","endHeight","nodesWithDesc","ri","descX","descBBox","rect","rectWidth","draw","id","_ver","diagObj","db2","selectSvgElement","treeElem","configureSvgSize","renderer","renderer_default","defaultTreeViewDiagramStyles","styles","treeView","labelFontSize","labelColor","lineColor","iconColor","descriptionColor","highlightBg","highlightStroke","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-2Q5K7J3B-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-2Q5K7J3B-BrnUlAaZ.cjs"),H=require("./chunk-JWPE2WC7-CNFRDah7.cjs"),r=require("./extractHeadings-BrLI2qQF.cjs"),z=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var V=/[─━│┃└┗├┣]/,$=/[└┗├┣]/,O=/[─━]/,T=/^[\s│┃]+$/,B=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,k=/^\s*%%/,X=" ";function D(n){return n.some(e=>V.test(e))}r.__name(D,"isBoxDrawingFormat");function S(n){for(const e of n){const t=$.exec(e);if(t?.index&&t.index>0)return t.index}return 4}r.__name(S,"inferSegmentWidth");function E(n,e){return n.replace(/\bline\s+(\d+)\b/gi,(t,i)=>{const o=parseInt(i,10),c=e.get(o);return c?`line ${c}`:t})}r.__name(E,"remapErrorLines");function N(n){const e=n.split(`
|
|
2
2
|
`),t=new Map;let i=-1;for(const[a,s]of e.entries())if(s.trim()==="treeView-beta"){i=a;break}if(i===-1)return{text:n,lineMap:t};const o=[];for(let a=i+1;a<e.length;a++){const s=e[a];s.trim()===""||k.test(s)||B.test(s)||T.test(s)||o.push(s.replace(/\t/g," "))}if(!D(o))return{text:n,lineMap:t};const c=S(o),l=[];let d=0;for(let a=0;a<=i;a++)l.push(e[a]),d++,t.set(d,a+1);for(let a=i+1;a<e.length;a++){const s=e[a],g=s.trim(),p=a+1;if(g===""){l.push(s),d++,t.set(d,p);continue}if(k.test(s)){l.push(s),d++,t.set(d,p);continue}if(B.test(s)){l.push(s),d++,t.set(d,p);continue}if(T.test(s))continue;const h=s.replace(/\t/g," "),m=$.exec(h);if(m?.index!==void 0){const f=m.index,w=Math.round(f/c)+1;let u=f+1;for(;u<h.length&&O.test(h[u]);)u++;for(;u<h.length&&h[u]===" ";)u++;const _=h.slice(u).trimEnd();if(!_)throw new Error(`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`);const R=X.repeat(w);l.push(R+_),d++,t.set(d,p)}else{if(/^[\s─━│┃└┗├┣]+$/.test(h))continue;if(V.test(h))l.push(s),d++,t.set(d,p);else{if(/^\s+/.test(h))throw new Error(`Line ${p}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);l.push(s),d++,t.set(d,p)}}}return{text:l.join(`
|
|
3
3
|
`),lineMap:t}}r.__name(N,"preprocessBoxDrawing");var x=new W.ImperativeState(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),G=r.__name(()=>{x.reset(),r.clear()},"clear"),P=r.__name(()=>x.records.stack[0],"getRoot"),Y=r.__name(()=>x.records.cnt,"getCount"),q=r.defaultConfig_default.treeView,F=r.__name(()=>r.cleanAndMerge(q,r.getConfig().treeView),"getConfig"),j=r.__name((n,e,t,i,o,c)=>{for(;n<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const l={id:x.records.cnt++,level:n,name:e,nodeType:t,icon:o,cssClass:i,description:c,children:[]};x.records.stack[x.records.stack.length-1].children.push(l),x.records.stack.push(l)},"addNode"),Z={clear:G,addNode:j,getRoot:P,getCount:Y,getConfig:F,getAccTitle:r.getAccTitle,getAccDescription:r.getAccDescription,getDiagramTitle:r.getDiagramTitle,setAccDescription:r.setAccDescription,setAccTitle:r.setAccTitle,setDiagramTitle:r.setDiagramTitle},b=Z,J=r.__name(n=>{H.populateCommonDb(n,b);for(const e of n.nodes){const t=typeof e.indent=="number"?e.indent:0;let i=e.name;const o=i.endsWith("/");o&&(i=i.slice(0,-1));const c=o?"directory":"file",l=e.classAnnotation||void 0,d=e.iconAnnotation,a=d!==void 0?d||"none":void 0,s=e.descAnnotation||void 0,g=s?r.sanitizeText(s,r.getConfig()):void 0;b.addNode(t,i,c,l,a,g)}},"populate"),U={parse:r.__name(async n=>{const{text:e,lineMap:t}=N(n);try{const i=await z.parse("treeView",e);r.log.debug(i),J(i)}catch(i){throw t.size>0&&i instanceof Error&&(i.message=E(i.message,t)),i}},"parse")},v={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function L(n,e){const t=e?.filenameIcons?.[n];if(t)return t;const i=n.lastIndexOf(".");if(i>0){const o=n.substring(i).toLowerCase(),c=e?.extensionIcons;return c?.[o]??c?.[o.slice(1)]}}r.__name(L,"detectIcon");function C(n,e){return n.includes(":")?n:n in v.icons||!e?`${v.prefix}:${n}`:`${e}:${n}`}r.__name(C,"qualifyIcon");function I(n,e){if(n.icon!=="none"){if(n.icon)return C(n.icon,e.defaultIconPack);if(e.showIcons){if(n.nodeType==="file"){const t=L(n.name,e);if(t==="none")return;if(t)return C(t,e.defaultIconPack)}return`${v.prefix}:${n.nodeType==="directory"?"folder":"file"}`}}}r.__name(I,"getNodeIcon");r.registerIconPacks([{name:v.prefix,icons:v}]);var y=14,K=4,Q=16,M=r.__name((n,e)=>`tv-icon-${n}-${e.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),ee=r.__name(async(n,e,t,i)=>{const o=new Set,c=r.__name(a=>{const s=I(a,t);s&&o.add(s),a.children.forEach(c)},"collect");if(c(e),o.size===0)return;const l=await Promise.all([...o].map(async a=>({icon:a,svg:await r.getIconSVG(a,{height:y,width:y})}))),d=n.append("defs");for(const{icon:a,svg:s}of l)d.append("g").attr("id",M(i,a)).html(s)},"injectIconDefs"),te=r.__name((n,e,t,i,o,c)=>{const l=i.append("g");let d="treeView-node-label";t.nodeType==="directory"&&(d+=" treeView-node-dir"),t.cssClass&&(d+=` ${t.cssClass}`);const a=y+K,s=I(t,o),g=s!==void 0;s&&l.append("use").attr("xlink:href",`#${M(c,s)}`).attr("x",n+o.paddingX).attr("y",e+o.paddingY).attr("class","treeView-node-icon");const p=l.append("text").text(t.name).attr("dominant-baseline","middle").attr("class",d),{height:h,width:m}=p.node().getBBox(),f=h+o.paddingY*2,w=n+o.paddingX+(g?a:0);p.attr("x",w),p.attr("y",e+f/2);const u=w+m,_=m+o.paddingX*2+(g?a:0);return t.BBox={x:n,y:e,width:_,height:f},t.cssClass?.split(/\s+/).includes("highlight")&&l.insert("rect",":first-child").attr("x",n).attr("y",e+1).attr("width",0).attr("height",f-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:t,nodeGroup:l,labelRightEdge:u,centerY:e+f/2}},"positionLabel"),A=r.__name((n,e,t,i,o,c)=>n.append("line").attr("x1",e).attr("y1",t).attr("x2",i).attr("y2",o).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),ne=r.__name((n,e,t,i)=>{let o=0,c=0;const l=[],d=r.__name((g,p,h,m)=>{const f=m*(h.rowIndent+h.paddingX),w=te(f,o,p,g,h,i);l.push(w);const{height:u,width:_}=p.BBox;A(g,f-h.rowIndent,o+u/2,f,o+u/2,h.lineThickness),c=Math.max(c,f+_),o+=u},"drawNode"),a=r.__name((g,p=0)=>{d(n,g,t,p),g.children.forEach(w=>{a(w,p+1)});const{x:h,y:m,height:f}=g.BBox;if(g.children.length){const{y:w,height:u}=g.children[g.children.length-1].BBox;A(n,h+t.paddingX,m+f,h+t.paddingX,w+u/2+t.lineThickness/2,t.lineThickness)}},"processNode");a(e);const s=l.filter(g=>g.node.description);if(s.length>0){const p=Math.max(...l.map(h=>h.labelRightEdge))+Q;for(const h of s){const f=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",h.centerY).node().getBBox();c=Math.max(c,p+f.width+t.paddingX)}}for(const g of l)if(g.node.cssClass?.split(/\s+/).includes("highlight")){const p=g.nodeGroup.select(".treeView-highlight-bg");if(!p.empty()){const h=c-g.node.BBox.x+8;p.attr("width",h),c=Math.max(c,g.node.BBox.x+h+2)}}return{totalHeight:o,totalWidth:c}},"drawTree"),re=r.__name(async(n,e,t,i)=>{r.log.debug(`Rendering treeView diagram
|
|
4
4
|
`+n);const o=i.db,c=o.getRoot(),l=o.getConfig(),d=r.selectSvgElement(e);await ee(d,c,l,e);const a=d.append("g");a.attr("class","tree-view");const{totalHeight:s,totalWidth:g}=ne(a,c,l,e);d.attr("viewBox",`-${l.lineThickness/2} 0 ${g} ${s}`),r.configureSvgSize(d,s,g,l.useMaxWidth)},"draw"),ie={draw:re},oe=ie,se={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},ae=r.__name(({treeView:n})=>{const{labelFontSize:e,labelColor:t,lineColor:i,iconColor:o,descriptionColor:c,highlightBg:l,highlightStroke:d}=r.cleanAndMerge(se,n);return`
|
|
@@ -28,4 +28,4 @@
|
|
|
28
28
|
stroke-width: 1;
|
|
29
29
|
}
|
|
30
30
|
`},"styles"),ce=ae,le={db:b,renderer:oe,parser:U,styles:ce};exports.diagram=le;
|
|
31
|
-
//# sourceMappingURL=diagram-OA4YK3LP-
|
|
31
|
+
//# sourceMappingURL=diagram-OA4YK3LP-DSeI6RLe.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-OA4YK3LP-B8TMBlbb.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OA4YK3LP.mjs"],"sourcesContent":["import {\n ImperativeState\n} from \"./chunk-2Q5K7J3B.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n getIconSVG,\n registerIconPacks\n} from \"./chunk-HOUHSVGY.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treeView/boxDrawingPreprocessor.ts\nvar ALL_BOX_CHARS = /[─━│┃└┗├┣]/;\nvar BRANCH_CHAR = /[└┗├┣]/;\nvar DASH_CHAR = /[─━]/;\nvar DECORATION_ONLY = /^[\\s│┃]+$/;\nvar METADATA_LINE = /^\\s*(title[\\t ]|accTitle[\\t ]*:|accDescr[\\t ]*[:{])/;\nvar COMMENT_LINE = /^\\s*%%/;\nvar INDENT_UNIT = \" \";\nfunction isBoxDrawingFormat(lines) {\n return lines.some((line) => ALL_BOX_CHARS.test(line));\n}\n__name(isBoxDrawingFormat, \"isBoxDrawingFormat\");\nfunction inferSegmentWidth(contentLines) {\n for (const line of contentLines) {\n const match = BRANCH_CHAR.exec(line);\n if (match?.index && match.index > 0) {\n return match.index;\n }\n }\n return 4;\n}\n__name(inferSegmentWidth, \"inferSegmentWidth\");\nfunction remapErrorLines(message, lineMap) {\n return message.replace(/\\bline\\s+(\\d+)\\b/gi, (match, lineStr) => {\n const line = parseInt(lineStr, 10);\n const original = lineMap.get(line);\n return original ? `line ${original}` : match;\n });\n}\n__name(remapErrorLines, \"remapErrorLines\");\nfunction preprocessBoxDrawing(input) {\n const lines = input.split(\"\\n\");\n const lineMap = /* @__PURE__ */ new Map();\n let keywordIdx = -1;\n for (const [i, line] of lines.entries()) {\n if (line.trim() === \"treeView-beta\") {\n keywordIdx = i;\n break;\n }\n }\n if (keywordIdx === -1) {\n return { text: input, lineMap };\n }\n const contentLineTexts = [];\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n if (trimmed === \"\" || COMMENT_LINE.test(line) || METADATA_LINE.test(line)) {\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n contentLineTexts.push(line.replace(/\\t/g, \" \"));\n }\n if (!isBoxDrawingFormat(contentLineTexts)) {\n return { text: input, lineMap };\n }\n const segmentWidth = inferSegmentWidth(contentLineTexts);\n const outputLines = [];\n let outLineNo = 0;\n for (let i = 0; i <= keywordIdx; i++) {\n outputLines.push(lines[i]);\n outLineNo++;\n lineMap.set(outLineNo, i + 1);\n }\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n const origLineNo = i + 1;\n if (trimmed === \"\") {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (COMMENT_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (METADATA_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n const normalized = line.replace(/\\t/g, \" \");\n const branchMatch = BRANCH_CHAR.exec(normalized);\n if (branchMatch?.index !== void 0) {\n const branchCol = branchMatch.index;\n const depth = Math.round(branchCol / segmentWidth) + 1;\n let pos = branchCol + 1;\n while (pos < normalized.length && DASH_CHAR.test(normalized[pos])) {\n pos++;\n }\n while (pos < normalized.length && normalized[pos] === \" \") {\n pos++;\n }\n const content = normalized.slice(pos).trimEnd();\n if (!content) {\n throw new Error(\n `Line ${origLineNo}: Empty node \\u2014 expected a filename or directory name after the box-drawing prefix`\n );\n }\n const indent = INDENT_UNIT.repeat(depth);\n outputLines.push(indent + content);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^[\\s─━│┃└┗├┣]+$/.test(normalized)) {\n continue;\n } else if (ALL_BOX_CHARS.test(normalized)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^\\s+/.test(normalized)) {\n throw new Error(\n `Line ${origLineNo}: Unexpected indentation without box-drawing characters. In box-drawing format, use \\u251C\\u2500\\u2500 or \\u2514\\u2500\\u2500 prefixes for indented nodes.`\n );\n } else {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n }\n }\n return { text: outputLines.join(\"\\n\"), lineMap };\n}\n__name(preprocessBoxDrawing, \"preprocessBoxDrawing\");\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n nodeType: \"directory\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name, nodeType, cssClass, icon, description) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n nodeType,\n icon,\n cssClass,\n description,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n for (const node of ast.nodes) {\n const level = typeof node.indent === \"number\" ? node.indent : 0;\n let name = node.name;\n const isDirectory = name.endsWith(\"/\");\n if (isDirectory) {\n name = name.slice(0, -1);\n }\n const nodeType = isDirectory ? \"directory\" : \"file\";\n const cssClass = node.classAnnotation || void 0;\n const rawIcon = node.iconAnnotation;\n const icon = rawIcon !== void 0 ? rawIcon || \"none\" : void 0;\n const rawDesc = node.descAnnotation || void 0;\n const description = rawDesc ? sanitizeText(rawDesc, getConfig()) : void 0;\n db_default.addNode(level, name, nodeType, cssClass, icon, description);\n }\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const { text, lineMap } = preprocessBoxDrawing(input);\n try {\n const ast = await parse(\"treeView\", text);\n log.debug(ast);\n populate(ast);\n } catch (error) {\n if (lineMap.size > 0 && error instanceof Error) {\n error.message = remapErrorLines(error.message, lineMap);\n }\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treeView/icons.ts\nvar treeViewIcons = {\n prefix: \"mermaid-treeview\",\n height: 24,\n width: 24,\n icons: {\n folder: {\n body: '<path fill=\"currentColor\" d=\"M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z\"/>'\n },\n file: {\n body: '<path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z\" clip-rule=\"evenodd\"/>'\n }\n }\n};\nfunction detectIcon(name, config) {\n const filenameIcon = config?.filenameIcons?.[name];\n if (filenameIcon) {\n return filenameIcon;\n }\n const dotIdx = name.lastIndexOf(\".\");\n if (dotIdx > 0) {\n const ext = name.substring(dotIdx).toLowerCase();\n const extensionIcons = config?.extensionIcons;\n return extensionIcons?.[ext] ?? extensionIcons?.[ext.slice(1)];\n }\n return void 0;\n}\n__name(detectIcon, \"detectIcon\");\nfunction qualifyIcon(icon, defaultIconPack) {\n if (icon.includes(\":\")) {\n return icon;\n }\n if (icon in treeViewIcons.icons || !defaultIconPack) {\n return `${treeViewIcons.prefix}:${icon}`;\n }\n return `${defaultIconPack}:${icon}`;\n}\n__name(qualifyIcon, \"qualifyIcon\");\nfunction getNodeIcon(node, config) {\n if (node.icon === \"none\") {\n return void 0;\n }\n if (node.icon) {\n return qualifyIcon(node.icon, config.defaultIconPack);\n }\n if (!config.showIcons) {\n return void 0;\n }\n if (node.nodeType === \"file\") {\n const detected = detectIcon(node.name, config);\n if (detected === \"none\") {\n return void 0;\n }\n if (detected) {\n return qualifyIcon(detected, config.defaultIconPack);\n }\n }\n return `${treeViewIcons.prefix}:${node.nodeType === \"directory\" ? \"folder\" : \"file\"}`;\n}\n__name(getNodeIcon, \"getNodeIcon\");\n\n// src/diagrams/treeView/renderer.ts\nregisterIconPacks([\n {\n name: treeViewIcons.prefix,\n icons: treeViewIcons\n }\n]);\nvar ICON_SIZE = 14;\nvar ICON_GAP = 4;\nvar DESC_GAP = 16;\nvar iconSymbolId = /* @__PURE__ */ __name((diagramId, icon) => `tv-icon-${diagramId}-${icon.replace(/[^\\w-]/g, \"-\")}`, \"iconSymbolId\");\nvar injectIconDefs = /* @__PURE__ */ __name(async (svg, root, config, diagramId) => {\n const usedIcons = /* @__PURE__ */ new Set();\n const collect = /* @__PURE__ */ __name((node) => {\n const icon = getNodeIcon(node, config);\n if (icon) {\n usedIcons.add(icon);\n }\n node.children.forEach(collect);\n }, \"collect\");\n collect(root);\n if (usedIcons.size === 0) {\n return;\n }\n const iconSVGs = await Promise.all(\n [...usedIcons].map(async (icon) => ({\n icon,\n svg: await getIconSVG(icon, {\n height: ICON_SIZE,\n width: ICON_SIZE\n })\n }))\n );\n const defs = svg.append(\"defs\");\n for (const { icon, svg: iconSVG } of iconSVGs) {\n defs.append(\"g\").attr(\"id\", iconSymbolId(diagramId, icon)).html(iconSVG);\n }\n}, \"injectIconDefs\");\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config, diagramId) => {\n const nodeGroup = domElem.append(\"g\");\n let cssClasses = \"treeView-node-label\";\n if (node.nodeType === \"directory\") {\n cssClasses += \" treeView-node-dir\";\n }\n if (node.cssClass) {\n cssClasses += ` ${node.cssClass}`;\n }\n const iconOffset = ICON_SIZE + ICON_GAP;\n const icon = getNodeIcon(node, config);\n const showIcon = icon !== void 0;\n if (icon) {\n nodeGroup.append(\"use\").attr(\"xlink:href\", `#${iconSymbolId(diagramId, icon)}`).attr(\"x\", x + config.paddingX).attr(\"y\", y + config.paddingY).attr(\"class\", \"treeView-node-icon\");\n }\n const label = nodeGroup.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", cssClasses);\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const labelX = x + config.paddingX + (showIcon ? iconOffset : 0);\n label.attr(\"x\", labelX);\n label.attr(\"y\", y + height / 2);\n const labelRightEdge = labelX + labelWidth;\n const width = labelWidth + config.paddingX * 2 + (showIcon ? iconOffset : 0);\n node.BBox = { x, y, width, height };\n if (node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n nodeGroup.insert(\"rect\", \":first-child\").attr(\"x\", x).attr(\"y\", y + 1).attr(\"width\", 0).attr(\"height\", height - 2).attr(\"rx\", 3).attr(\"class\", \"treeView-highlight-bg\");\n }\n return { node, nodeGroup, labelRightEdge, centerY: y + height / 2 };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config, diagramId) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const renderInfos = [];\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n const info = positionLabel(indent, totalHeight, node, elem2, config2, diagramId);\n renderInfos.push(info);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n const nodesWithDesc = renderInfos.filter((ri) => ri.node.description);\n if (nodesWithDesc.length > 0) {\n const maxLabelRight = Math.max(...renderInfos.map((ri) => ri.labelRightEdge));\n const descX = maxLabelRight + DESC_GAP;\n for (const ri of nodesWithDesc) {\n const desc = ri.nodeGroup.append(\"text\").text(ri.node.description).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-description\").attr(\"x\", descX).attr(\"y\", ri.centerY);\n const descBBox = desc.node().getBBox();\n totalWidth = Math.max(totalWidth, descX + descBBox.width + config.paddingX);\n }\n }\n for (const ri of renderInfos) {\n if (ri.node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n const rect = ri.nodeGroup.select(\".treeView-highlight-bg\");\n if (!rect.empty()) {\n const rectWidth = totalWidth - ri.node.BBox.x + 8;\n rect.attr(\"width\", rectWidth);\n totalWidth = Math.max(totalWidth, ri.node.BBox.x + rectWidth + 2);\n }\n }\n }\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n await injectIconDefs(svg, root, config, id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config, id);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\",\n iconColor: \"#546e7a\",\n descriptionColor: \"#6a9955\",\n highlightBg: \"rgba(255, 193, 7, 0.15)\",\n highlightStroke: \"#ffc107\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const {\n labelFontSize,\n labelColor,\n lineColor,\n iconColor,\n descriptionColor,\n highlightBg,\n highlightStroke\n } = cleanAndMerge(defaultTreeViewDiagramStyles, treeView);\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n .treeView-node-icon {\n color: ${iconColor};\n }\n .treeView-node-description {\n font-size: ${labelFontSize};\n fill: ${descriptionColor};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${highlightBg};\n stroke: ${highlightStroke};\n stroke-width: 1;\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["ALL_BOX_CHARS","BRANCH_CHAR","DASH_CHAR","DECORATION_ONLY","METADATA_LINE","COMMENT_LINE","INDENT_UNIT","isBoxDrawingFormat","lines","line","__name","inferSegmentWidth","contentLines","match","remapErrorLines","message","lineMap","lineStr","original","preprocessBoxDrawing","input","keywordIdx","i","contentLineTexts","segmentWidth","outputLines","outLineNo","trimmed","origLineNo","normalized","branchMatch","branchCol","depth","pos","content","indent","state","ImperativeState","clear2","clear","getRoot","getCount","defaultConfig","defaultConfig_default","getConfig2","cleanAndMerge","getConfig","addNode","level","name","nodeType","cssClass","icon","description","node","db","getAccTitle","getAccDescription","getDiagramTitle","setAccDescription","setAccTitle","setDiagramTitle","db_default","populate","ast","populateCommonDb","isDirectory","rawIcon","rawDesc","sanitizeText","parser","text","parse","log","error","treeViewIcons","detectIcon","config","filenameIcon","dotIdx","ext","extensionIcons","qualifyIcon","defaultIconPack","getNodeIcon","detected","registerIconPacks","ICON_SIZE","ICON_GAP","DESC_GAP","iconSymbolId","diagramId","injectIconDefs","svg","root","usedIcons","collect","iconSVGs","getIconSVG","defs","iconSVG","positionLabel","x","y","domElem","nodeGroup","cssClasses","iconOffset","showIcon","label","labelHeight","labelWidth","height","labelX","labelRightEdge","width","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","totalHeight","totalWidth","renderInfos","drawNode","elem2","config2","info","processNode","child","endY","endHeight","nodesWithDesc","ri","descX","descBBox","rect","rectWidth","draw","id","_ver","diagObj","db2","selectSvgElement","treeElem","configureSvgSize","renderer","renderer_default","defaultTreeViewDiagramStyles","styles","treeView","labelFontSize","labelColor","lineColor","iconColor","descriptionColor","highlightBg","highlightStroke","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"diagram-OA4YK3LP-DSeI6RLe.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OA4YK3LP.mjs"],"sourcesContent":["import {\n ImperativeState\n} from \"./chunk-2Q5K7J3B.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n getIconSVG,\n registerIconPacks\n} from \"./chunk-HOUHSVGY.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treeView/boxDrawingPreprocessor.ts\nvar ALL_BOX_CHARS = /[─━│┃└┗├┣]/;\nvar BRANCH_CHAR = /[└┗├┣]/;\nvar DASH_CHAR = /[─━]/;\nvar DECORATION_ONLY = /^[\\s│┃]+$/;\nvar METADATA_LINE = /^\\s*(title[\\t ]|accTitle[\\t ]*:|accDescr[\\t ]*[:{])/;\nvar COMMENT_LINE = /^\\s*%%/;\nvar INDENT_UNIT = \" \";\nfunction isBoxDrawingFormat(lines) {\n return lines.some((line) => ALL_BOX_CHARS.test(line));\n}\n__name(isBoxDrawingFormat, \"isBoxDrawingFormat\");\nfunction inferSegmentWidth(contentLines) {\n for (const line of contentLines) {\n const match = BRANCH_CHAR.exec(line);\n if (match?.index && match.index > 0) {\n return match.index;\n }\n }\n return 4;\n}\n__name(inferSegmentWidth, \"inferSegmentWidth\");\nfunction remapErrorLines(message, lineMap) {\n return message.replace(/\\bline\\s+(\\d+)\\b/gi, (match, lineStr) => {\n const line = parseInt(lineStr, 10);\n const original = lineMap.get(line);\n return original ? `line ${original}` : match;\n });\n}\n__name(remapErrorLines, \"remapErrorLines\");\nfunction preprocessBoxDrawing(input) {\n const lines = input.split(\"\\n\");\n const lineMap = /* @__PURE__ */ new Map();\n let keywordIdx = -1;\n for (const [i, line] of lines.entries()) {\n if (line.trim() === \"treeView-beta\") {\n keywordIdx = i;\n break;\n }\n }\n if (keywordIdx === -1) {\n return { text: input, lineMap };\n }\n const contentLineTexts = [];\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n if (trimmed === \"\" || COMMENT_LINE.test(line) || METADATA_LINE.test(line)) {\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n contentLineTexts.push(line.replace(/\\t/g, \" \"));\n }\n if (!isBoxDrawingFormat(contentLineTexts)) {\n return { text: input, lineMap };\n }\n const segmentWidth = inferSegmentWidth(contentLineTexts);\n const outputLines = [];\n let outLineNo = 0;\n for (let i = 0; i <= keywordIdx; i++) {\n outputLines.push(lines[i]);\n outLineNo++;\n lineMap.set(outLineNo, i + 1);\n }\n for (let i = keywordIdx + 1; i < lines.length; i++) {\n const line = lines[i];\n const trimmed = line.trim();\n const origLineNo = i + 1;\n if (trimmed === \"\") {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (COMMENT_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (METADATA_LINE.test(line)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n continue;\n }\n if (DECORATION_ONLY.test(line)) {\n continue;\n }\n const normalized = line.replace(/\\t/g, \" \");\n const branchMatch = BRANCH_CHAR.exec(normalized);\n if (branchMatch?.index !== void 0) {\n const branchCol = branchMatch.index;\n const depth = Math.round(branchCol / segmentWidth) + 1;\n let pos = branchCol + 1;\n while (pos < normalized.length && DASH_CHAR.test(normalized[pos])) {\n pos++;\n }\n while (pos < normalized.length && normalized[pos] === \" \") {\n pos++;\n }\n const content = normalized.slice(pos).trimEnd();\n if (!content) {\n throw new Error(\n `Line ${origLineNo}: Empty node \\u2014 expected a filename or directory name after the box-drawing prefix`\n );\n }\n const indent = INDENT_UNIT.repeat(depth);\n outputLines.push(indent + content);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^[\\s─━│┃└┗├┣]+$/.test(normalized)) {\n continue;\n } else if (ALL_BOX_CHARS.test(normalized)) {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n } else if (/^\\s+/.test(normalized)) {\n throw new Error(\n `Line ${origLineNo}: Unexpected indentation without box-drawing characters. In box-drawing format, use \\u251C\\u2500\\u2500 or \\u2514\\u2500\\u2500 prefixes for indented nodes.`\n );\n } else {\n outputLines.push(line);\n outLineNo++;\n lineMap.set(outLineNo, origLineNo);\n }\n }\n return { text: outputLines.join(\"\\n\"), lineMap };\n}\n__name(preprocessBoxDrawing, \"preprocessBoxDrawing\");\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n nodeType: \"directory\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name, nodeType, cssClass, icon, description) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n nodeType,\n icon,\n cssClass,\n description,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n for (const node of ast.nodes) {\n const level = typeof node.indent === \"number\" ? node.indent : 0;\n let name = node.name;\n const isDirectory = name.endsWith(\"/\");\n if (isDirectory) {\n name = name.slice(0, -1);\n }\n const nodeType = isDirectory ? \"directory\" : \"file\";\n const cssClass = node.classAnnotation || void 0;\n const rawIcon = node.iconAnnotation;\n const icon = rawIcon !== void 0 ? rawIcon || \"none\" : void 0;\n const rawDesc = node.descAnnotation || void 0;\n const description = rawDesc ? sanitizeText(rawDesc, getConfig()) : void 0;\n db_default.addNode(level, name, nodeType, cssClass, icon, description);\n }\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const { text, lineMap } = preprocessBoxDrawing(input);\n try {\n const ast = await parse(\"treeView\", text);\n log.debug(ast);\n populate(ast);\n } catch (error) {\n if (lineMap.size > 0 && error instanceof Error) {\n error.message = remapErrorLines(error.message, lineMap);\n }\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treeView/icons.ts\nvar treeViewIcons = {\n prefix: \"mermaid-treeview\",\n height: 24,\n width: 24,\n icons: {\n folder: {\n body: '<path fill=\"currentColor\" d=\"M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z\"/>'\n },\n file: {\n body: '<path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z\" clip-rule=\"evenodd\"/>'\n }\n }\n};\nfunction detectIcon(name, config) {\n const filenameIcon = config?.filenameIcons?.[name];\n if (filenameIcon) {\n return filenameIcon;\n }\n const dotIdx = name.lastIndexOf(\".\");\n if (dotIdx > 0) {\n const ext = name.substring(dotIdx).toLowerCase();\n const extensionIcons = config?.extensionIcons;\n return extensionIcons?.[ext] ?? extensionIcons?.[ext.slice(1)];\n }\n return void 0;\n}\n__name(detectIcon, \"detectIcon\");\nfunction qualifyIcon(icon, defaultIconPack) {\n if (icon.includes(\":\")) {\n return icon;\n }\n if (icon in treeViewIcons.icons || !defaultIconPack) {\n return `${treeViewIcons.prefix}:${icon}`;\n }\n return `${defaultIconPack}:${icon}`;\n}\n__name(qualifyIcon, \"qualifyIcon\");\nfunction getNodeIcon(node, config) {\n if (node.icon === \"none\") {\n return void 0;\n }\n if (node.icon) {\n return qualifyIcon(node.icon, config.defaultIconPack);\n }\n if (!config.showIcons) {\n return void 0;\n }\n if (node.nodeType === \"file\") {\n const detected = detectIcon(node.name, config);\n if (detected === \"none\") {\n return void 0;\n }\n if (detected) {\n return qualifyIcon(detected, config.defaultIconPack);\n }\n }\n return `${treeViewIcons.prefix}:${node.nodeType === \"directory\" ? \"folder\" : \"file\"}`;\n}\n__name(getNodeIcon, \"getNodeIcon\");\n\n// src/diagrams/treeView/renderer.ts\nregisterIconPacks([\n {\n name: treeViewIcons.prefix,\n icons: treeViewIcons\n }\n]);\nvar ICON_SIZE = 14;\nvar ICON_GAP = 4;\nvar DESC_GAP = 16;\nvar iconSymbolId = /* @__PURE__ */ __name((diagramId, icon) => `tv-icon-${diagramId}-${icon.replace(/[^\\w-]/g, \"-\")}`, \"iconSymbolId\");\nvar injectIconDefs = /* @__PURE__ */ __name(async (svg, root, config, diagramId) => {\n const usedIcons = /* @__PURE__ */ new Set();\n const collect = /* @__PURE__ */ __name((node) => {\n const icon = getNodeIcon(node, config);\n if (icon) {\n usedIcons.add(icon);\n }\n node.children.forEach(collect);\n }, \"collect\");\n collect(root);\n if (usedIcons.size === 0) {\n return;\n }\n const iconSVGs = await Promise.all(\n [...usedIcons].map(async (icon) => ({\n icon,\n svg: await getIconSVG(icon, {\n height: ICON_SIZE,\n width: ICON_SIZE\n })\n }))\n );\n const defs = svg.append(\"defs\");\n for (const { icon, svg: iconSVG } of iconSVGs) {\n defs.append(\"g\").attr(\"id\", iconSymbolId(diagramId, icon)).html(iconSVG);\n }\n}, \"injectIconDefs\");\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config, diagramId) => {\n const nodeGroup = domElem.append(\"g\");\n let cssClasses = \"treeView-node-label\";\n if (node.nodeType === \"directory\") {\n cssClasses += \" treeView-node-dir\";\n }\n if (node.cssClass) {\n cssClasses += ` ${node.cssClass}`;\n }\n const iconOffset = ICON_SIZE + ICON_GAP;\n const icon = getNodeIcon(node, config);\n const showIcon = icon !== void 0;\n if (icon) {\n nodeGroup.append(\"use\").attr(\"xlink:href\", `#${iconSymbolId(diagramId, icon)}`).attr(\"x\", x + config.paddingX).attr(\"y\", y + config.paddingY).attr(\"class\", \"treeView-node-icon\");\n }\n const label = nodeGroup.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", cssClasses);\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const labelX = x + config.paddingX + (showIcon ? iconOffset : 0);\n label.attr(\"x\", labelX);\n label.attr(\"y\", y + height / 2);\n const labelRightEdge = labelX + labelWidth;\n const width = labelWidth + config.paddingX * 2 + (showIcon ? iconOffset : 0);\n node.BBox = { x, y, width, height };\n if (node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n nodeGroup.insert(\"rect\", \":first-child\").attr(\"x\", x).attr(\"y\", y + 1).attr(\"width\", 0).attr(\"height\", height - 2).attr(\"rx\", 3).attr(\"class\", \"treeView-highlight-bg\");\n }\n return { node, nodeGroup, labelRightEdge, centerY: y + height / 2 };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config, diagramId) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const renderInfos = [];\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n const info = positionLabel(indent, totalHeight, node, elem2, config2, diagramId);\n renderInfos.push(info);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n const nodesWithDesc = renderInfos.filter((ri) => ri.node.description);\n if (nodesWithDesc.length > 0) {\n const maxLabelRight = Math.max(...renderInfos.map((ri) => ri.labelRightEdge));\n const descX = maxLabelRight + DESC_GAP;\n for (const ri of nodesWithDesc) {\n const desc = ri.nodeGroup.append(\"text\").text(ri.node.description).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-description\").attr(\"x\", descX).attr(\"y\", ri.centerY);\n const descBBox = desc.node().getBBox();\n totalWidth = Math.max(totalWidth, descX + descBBox.width + config.paddingX);\n }\n }\n for (const ri of renderInfos) {\n if (ri.node.cssClass?.split(/\\s+/).includes(\"highlight\")) {\n const rect = ri.nodeGroup.select(\".treeView-highlight-bg\");\n if (!rect.empty()) {\n const rectWidth = totalWidth - ri.node.BBox.x + 8;\n rect.attr(\"width\", rectWidth);\n totalWidth = Math.max(totalWidth, ri.node.BBox.x + rectWidth + 2);\n }\n }\n }\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n await injectIconDefs(svg, root, config, id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config, id);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\",\n iconColor: \"#546e7a\",\n descriptionColor: \"#6a9955\",\n highlightBg: \"rgba(255, 193, 7, 0.15)\",\n highlightStroke: \"#ffc107\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const {\n labelFontSize,\n labelColor,\n lineColor,\n iconColor,\n descriptionColor,\n highlightBg,\n highlightStroke\n } = cleanAndMerge(defaultTreeViewDiagramStyles, treeView);\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n .treeView-node-icon {\n color: ${iconColor};\n }\n .treeView-node-description {\n font-size: ${labelFontSize};\n fill: ${descriptionColor};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${highlightBg};\n stroke: ${highlightStroke};\n stroke-width: 1;\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["ALL_BOX_CHARS","BRANCH_CHAR","DASH_CHAR","DECORATION_ONLY","METADATA_LINE","COMMENT_LINE","INDENT_UNIT","isBoxDrawingFormat","lines","line","__name","inferSegmentWidth","contentLines","match","remapErrorLines","message","lineMap","lineStr","original","preprocessBoxDrawing","input","keywordIdx","i","contentLineTexts","segmentWidth","outputLines","outLineNo","trimmed","origLineNo","normalized","branchMatch","branchCol","depth","pos","content","indent","state","ImperativeState","clear2","clear","getRoot","getCount","defaultConfig","defaultConfig_default","getConfig2","cleanAndMerge","getConfig","addNode","level","name","nodeType","cssClass","icon","description","node","db","getAccTitle","getAccDescription","getDiagramTitle","setAccDescription","setAccTitle","setDiagramTitle","db_default","populate","ast","populateCommonDb","isDirectory","rawIcon","rawDesc","sanitizeText","parser","text","parse","log","error","treeViewIcons","detectIcon","config","filenameIcon","dotIdx","ext","extensionIcons","qualifyIcon","defaultIconPack","getNodeIcon","detected","registerIconPacks","ICON_SIZE","ICON_GAP","DESC_GAP","iconSymbolId","diagramId","injectIconDefs","svg","root","usedIcons","collect","iconSVGs","getIconSVG","defs","iconSVG","positionLabel","x","y","domElem","nodeGroup","cssClasses","iconOffset","showIcon","label","labelHeight","labelWidth","height","labelX","labelRightEdge","width","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","totalHeight","totalWidth","renderInfos","drawNode","elem2","config2","info","processNode","child","endY","endHeight","nodesWithDesc","ri","descX","descBBox","rect","rectWidth","draw","id","_ver","diagObj","db2","selectSvgElement","treeElem","configureSvgSize","renderer","renderer_default","defaultTreeViewDiagramStyles","styles","treeView","labelFontSize","labelColor","lineColor","iconColor","descriptionColor","highlightBg","highlightStroke","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("./chunk-JWPE2WC7-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("./chunk-JWPE2WC7-CNFRDah7.cjs"),n=require("./extractHeadings-BrLI2qQF.cjs"),S=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y={axes:[],curves:[],options:x},p=structuredClone(y),O=n.defaultConfig_default.radar,k=n.__name(()=>n.cleanAndMerge({...O,...n.getConfig().radar}),"getConfig"),f=n.__name(()=>p.axes,"getAxes"),D=n.__name(()=>p.curves,"getCurves"),R=n.__name(()=>p.options,"getOptions"),E=n.__name(a=>{p.axes=a.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),F=n.__name(a=>{p.curves=a.map(e=>({name:e.name,label:e.label??e.name,entries:I(e.entries)}))},"setCurves"),I=n.__name(a=>{if(a[0].axis==null)return a.map(t=>t.value);const e=f();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(t=>{const r=a.find(s=>s.axis?.$refText===t.name);if(r===void 0)throw new Error("Missing entry for axis "+t.label);return r.value})},"computeCurveEntries"),P=n.__name(a=>{const e=a.reduce((t,r)=>(t[r.name]=r,t),{});p.options={showLegend:e.showLegend?.value??x.showLegend,ticks:e.ticks?.value??x.ticks,max:e.max?.value??x.max,min:e.min?.value??x.min,graticule:e.graticule?.value??x.graticule}},"setOptions"),W=n.__name(()=>{n.clear(),p=structuredClone(y)},"clear"),_={getAxes:f,getCurves:D,getOptions:R,setAxes:E,setCurves:F,setOptions:P,getConfig:k,clear:W,setAccTitle:n.setAccTitle,getAccTitle:n.getAccTitle,setDiagramTitle:n.setDiagramTitle,getDiagramTitle:n.getDiagramTitle,getAccDescription:n.getAccDescription,setAccDescription:n.setAccDescription},z=n.__name(a=>{L.populateCommonDb(a,_);const{axes:e,curves:t,options:r}=a;_.setAxes(e),_.setCurves(t),_.setOptions(r)},"populate"),G={parse:n.__name(async a=>{const e=await S.parse("radar",a);n.log.debug(e),z(e)},"parse")},B=n.__name((a,e,t,r)=>{const s=r.db,l=s.getAxes(),c=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),g=n.selectSvgElement(e),u=V(g,i),m=o.max??Math.max(...c.map($=>Math.max(...$.entries))),h=o.min,v=Math.min(i.width,i.height)/2;H(u,l,v,o.ticks,o.graticule),j(u,l,v,i),C(u,l,c,h,m,o.graticule,i),A(u,c,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),V=n.__name((a,e)=>{const t=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,s={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return n.configureSvgSize(a,r,t,e.useMaxWidth??!0),a.attr("viewBox",`0 0 ${t} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),H=n.__name((a,e,t,r,s)=>{if(s==="circle")for(let l=0;l<r;l++){const c=t*(l+1)/r;a.append("circle").attr("r",c).attr("class","radarGraticule")}else if(s==="polygon"){const l=e.length;for(let c=0;c<r;c++){const o=t*(c+1)/r,i=e.map((d,g)=>{const u=2*g*Math.PI/l-Math.PI/2,m=o*Math.cos(u),h=o*Math.sin(u);return`${m},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),j=n.__name((a,e,t,r)=>{const s=e.length;for(let l=0;l<s;l++){const c=e[l].label,o=2*l*Math.PI/s-Math.PI/2,i=Math.cos(o),d=Math.sin(o);a.append("line").attr("x1",0).attr("y1",0).attr("x2",t*r.axisScaleFactor*i).attr("y2",t*r.axisScaleFactor*d).attr("class","radarAxisLine");const g=i>.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",m=4;a.append("text").text(c).attr("x",t*r.axisLabelFactor*i+m*i).attr("y",t*r.axisLabelFactor*d+m*d).attr("text-anchor",g).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function C(a,e,t,r,s,l,c){const o=e.length,i=Math.min(c.width,c.height)/2;t.forEach((d,g)=>{if(d.entries.length!==o)return;const u=d.entries.map((m,h)=>{const v=2*Math.PI*h/o-Math.PI/2,$=b(m,r,s,i),M=$*Math.cos(v),T=$*Math.sin(v);return{x:M,y:T}});l==="circle"?a.append("path").attr("d",w(u,c.curveTension)).attr("class",`radarCurve-${g}`):l==="polygon"&&a.append("polygon").attr("points",u.map(m=>`${m.x},${m.y}`).join(" ")).attr("class",`radarCurve-${g}`)})}n.__name(C,"drawCurves");function b(a,e,t,r){const s=Math.min(Math.max(a,e),t);return r*(s-e)/(t-e)}n.__name(b,"relativeRadius");function w(a,e){const t=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<t;s++){const l=a[(s-1+t)%t],c=a[s],o=a[(s+1)%t],i=a[(s+2)%t],d={x:c.x+(o.x-l.x)*e,y:c.y+(o.y-l.y)*e},g={x:o.x-(i.x-c.x)*e,y:o.y-(i.y-c.y)*e};r+=` C${d.x},${d.y} ${g.x},${g.y} ${o.x},${o.y}`}return`${r} Z`}n.__name(w,"closedRoundCurve");function A(a,e,t,r){if(!t)return;const s=(r.width/2+r.marginRight)*3/4,l=-(r.height/2+r.marginTop)*3/4,c=20;e.forEach((o,i)=>{const d=a.append("g").attr("transform",`translate(${s}, ${l+i*c})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}n.__name(A,"drawLegend");var q={draw:B},Y=n.__name((a,e)=>{let t="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];t+=`
|
|
2
2
|
.radarCurve-${r} {
|
|
3
3
|
color: ${s};
|
|
4
4
|
fill: ${s};
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
}
|
|
40
40
|
${Y(e,t)}
|
|
41
41
|
`},"styles"),U={parser:G,db:_,renderer:q,styles:N};exports.diagram=U;
|
|
42
|
-
//# sourceMappingURL=diagram-WEI45ONY-
|
|
42
|
+
//# sourceMappingURL=diagram-WEI45ONY-CCJwQ42c.cjs.map
|