@aiquants/markdown 1.6.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs → abnfDiagram-VRR7QNED-BKvRUGcR.cjs} +2 -2
  2. package/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs.map → abnfDiagram-VRR7QNED-BKvRUGcR.cjs.map} +1 -1
  3. package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js → abnfDiagram-VRR7QNED-C-27Yna6.js} +4 -4
  4. package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js.map → abnfDiagram-VRR7QNED-C-27Yna6.js.map} +1 -1
  5. package/dist/{arc-BmnitkkN.cjs → arc-CUOoCqkh.cjs} +2 -2
  6. package/dist/{arc-BmnitkkN.cjs.map → arc-CUOoCqkh.cjs.map} +1 -1
  7. package/dist/{arc-C-DBDbuo.js → arc-UxDDNW0x.js} +2 -2
  8. package/dist/{arc-C-DBDbuo.js.map → arc-UxDDNW0x.js.map} +1 -1
  9. package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js} +3 -3
  10. package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js.map → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js.map} +1 -1
  11. package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs} +2 -2
  12. package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs.map → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs.map} +1 -1
  13. package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs → blockDiagram-677ZJIJ3-BbjxBeAD.cjs} +2 -2
  14. package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs.map → blockDiagram-677ZJIJ3-BbjxBeAD.cjs.map} +1 -1
  15. package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js → blockDiagram-677ZJIJ3-CuCBVVNa.js} +4 -4
  16. package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js.map → blockDiagram-677ZJIJ3-CuCBVVNa.js.map} +1 -1
  17. package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js → c4Diagram-LMCZKHZV-BdJV5ivG.js} +3 -3
  18. package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js.map → c4Diagram-LMCZKHZV-BdJV5ivG.js.map} +1 -1
  19. package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs → c4Diagram-LMCZKHZV-BgTfc_W8.cjs} +2 -2
  20. package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs.map → c4Diagram-LMCZKHZV-BgTfc_W8.cjs.map} +1 -1
  21. package/dist/channel-BaZK7NhX.js +6 -0
  22. package/dist/{channel-B6gYWXtQ.js.map → channel-BaZK7NhX.js.map} +1 -1
  23. package/dist/channel-DcZBUEY6.cjs +2 -0
  24. package/dist/{channel-CZceKK2b.cjs.map → channel-DcZBUEY6.cjs.map} +1 -1
  25. package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js → chunk-2Q5K7J3B-CSlHTmMh.js} +2 -2
  26. package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js.map → chunk-2Q5K7J3B-CSlHTmMh.js.map} +1 -1
  27. package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs → chunk-2Q5K7J3B-D9s6eCoM.cjs} +2 -2
  28. package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs.map → chunk-2Q5K7J3B-D9s6eCoM.cjs.map} +1 -1
  29. package/dist/{chunk-32BRIVSS-CrDpazxa.js → chunk-32BRIVSS-CXH5EQUk.js} +2 -2
  30. package/dist/{chunk-32BRIVSS-CrDpazxa.js.map → chunk-32BRIVSS-CXH5EQUk.js.map} +1 -1
  31. package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs → chunk-32BRIVSS-D2F2B9TZ.cjs} +2 -2
  32. package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs.map → chunk-32BRIVSS-D2F2B9TZ.cjs.map} +1 -1
  33. package/dist/{chunk-5VM5RSS4-DnTlok-Z.js → chunk-5VM5RSS4-BhTMtA9l.js} +2 -2
  34. package/dist/{chunk-5VM5RSS4-DnTlok-Z.js.map → chunk-5VM5RSS4-BhTMtA9l.js.map} +1 -1
  35. package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs → chunk-5VM5RSS4-CxjaLXsB.cjs} +2 -2
  36. package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs.map → chunk-5VM5RSS4-CxjaLXsB.cjs.map} +1 -1
  37. package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs → chunk-EX3LRPZG-BCQ_eMbL.cjs} +2 -2
  38. package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs.map → chunk-EX3LRPZG-BCQ_eMbL.cjs.map} +1 -1
  39. package/dist/{chunk-EX3LRPZG-BXZN3BP6.js → chunk-EX3LRPZG-BOcBE4jP.js} +5 -5
  40. package/dist/{chunk-EX3LRPZG-BXZN3BP6.js.map → chunk-EX3LRPZG-BOcBE4jP.js.map} +1 -1
  41. package/dist/{chunk-JWPE2WC7-BOZsBb5v.js → chunk-JWPE2WC7-C20BXRVN.js} +2 -2
  42. package/dist/{chunk-JWPE2WC7-BOZsBb5v.js.map → chunk-JWPE2WC7-C20BXRVN.js.map} +1 -1
  43. package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs → chunk-JWPE2WC7-CLCAyxUO.cjs} +2 -2
  44. package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs.map → chunk-JWPE2WC7-CLCAyxUO.cjs.map} +1 -1
  45. package/dist/{chunk-MOJQB5TN-CODLoYka.js → chunk-MOJQB5TN-B_C5dwTy.js} +2 -2
  46. package/dist/{chunk-MOJQB5TN-CODLoYka.js.map → chunk-MOJQB5TN-B_C5dwTy.js.map} +1 -1
  47. package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs → chunk-MOJQB5TN-Bbpbi357.cjs} +2 -2
  48. package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs.map → chunk-MOJQB5TN-Bbpbi357.cjs.map} +1 -1
  49. package/dist/{chunk-PUDLZKDR-Vzafz0p_.js → chunk-PUDLZKDR-C0EKSRvH.js} +7 -7
  50. package/dist/{chunk-PUDLZKDR-Vzafz0p_.js.map → chunk-PUDLZKDR-C0EKSRvH.js.map} +1 -1
  51. package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs → chunk-PUDLZKDR-Cpp-nasK.cjs} +2 -2
  52. package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs.map → chunk-PUDLZKDR-Cpp-nasK.cjs.map} +1 -1
  53. package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js → chunk-RYQCIY6F-BuIkG6A2.js} +2 -2
  54. package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js.map → chunk-RYQCIY6F-BuIkG6A2.js.map} +1 -1
  55. package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs → chunk-RYQCIY6F-he5fUSYo.cjs} +2 -2
  56. package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs.map → chunk-RYQCIY6F-he5fUSYo.cjs.map} +1 -1
  57. package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs → chunk-V7JOEXUC-BcBXzffo.cjs} +2 -2
  58. package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs.map → chunk-V7JOEXUC-BcBXzffo.cjs.map} +1 -1
  59. package/dist/{chunk-V7JOEXUC-Csiot9oO.js → chunk-V7JOEXUC-DWnZRQBl.js} +6 -6
  60. package/dist/{chunk-V7JOEXUC-Csiot9oO.js.map → chunk-V7JOEXUC-DWnZRQBl.js.map} +1 -1
  61. package/dist/{chunk-VR4S4FIN-DH6f42Mu.js → chunk-VR4S4FIN-BWCLM0a0.js} +2 -2
  62. package/dist/{chunk-VR4S4FIN-DH6f42Mu.js.map → chunk-VR4S4FIN-BWCLM0a0.js.map} +1 -1
  63. package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs → chunk-VR4S4FIN-Bd3wwAe8.cjs} +2 -2
  64. package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs.map → chunk-VR4S4FIN-Bd3wwAe8.cjs.map} +1 -1
  65. package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs → chunk-XXDRQBXY-C2UaLfce.cjs} +2 -2
  66. package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs.map → chunk-XXDRQBXY-C2UaLfce.cjs.map} +1 -1
  67. package/dist/{chunk-XXDRQBXY-Csac6tCf.js → chunk-XXDRQBXY-qt9x9red.js} +2 -2
  68. package/dist/{chunk-XXDRQBXY-Csac6tCf.js.map → chunk-XXDRQBXY-qt9x9red.js.map} +1 -1
  69. package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js → classDiagram-OUVF2IWQ-B0lJPbAq.js} +3 -3
  70. package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js.map → classDiagram-OUVF2IWQ-B0lJPbAq.js.map} +1 -1
  71. package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs → classDiagram-OUVF2IWQ-BoGCNSIO.cjs} +2 -2
  72. package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs.map → classDiagram-OUVF2IWQ-BoGCNSIO.cjs.map} +1 -1
  73. package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js → classDiagram-v2-EOCWNBFH-B0lJPbAq.js} +3 -3
  74. package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js.map → classDiagram-v2-EOCWNBFH-B0lJPbAq.js.map} +1 -1
  75. package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs} +2 -2
  76. package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs.map → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs.map} +1 -1
  77. package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js → cose-bilkent-JH36ORCC-BXH9dl_0.js} +2 -2
  78. package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js.map → cose-bilkent-JH36ORCC-BXH9dl_0.js.map} +1 -1
  79. package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs → cose-bilkent-JH36ORCC-DRBzHIcA.cjs} +2 -2
  80. package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs.map → cose-bilkent-JH36ORCC-DRBzHIcA.cjs.map} +1 -1
  81. package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js → cynefinDiagram-TSTJHNR4-2jnqksgG.js} +3 -3
  82. package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js.map → cynefinDiagram-TSTJHNR4-2jnqksgG.js.map} +1 -1
  83. package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs} +2 -2
  84. package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs.map → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs.map} +1 -1
  85. package/dist/{dagre-VKFMJZFB-D9fBL_yM.js → dagre-VKFMJZFB-BqLynzOx.js} +3 -3
  86. package/dist/{dagre-VKFMJZFB-D9fBL_yM.js.map → dagre-VKFMJZFB-BqLynzOx.js.map} +1 -1
  87. package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs → dagre-VKFMJZFB-C7QheUvc.cjs} +2 -2
  88. package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs.map → dagre-VKFMJZFB-C7QheUvc.cjs.map} +1 -1
  89. package/dist/{diagram-FQU43EPY-Di26xB9f.cjs → diagram-FQU43EPY-CSPyECaU.cjs} +2 -2
  90. package/dist/{diagram-FQU43EPY-Di26xB9f.cjs.map → diagram-FQU43EPY-CSPyECaU.cjs.map} +1 -1
  91. package/dist/{diagram-FQU43EPY-DPR8KMs9.js → diagram-FQU43EPY-DUwsAw4u.js} +3 -3
  92. package/dist/{diagram-FQU43EPY-DPR8KMs9.js.map → diagram-FQU43EPY-DUwsAw4u.js.map} +1 -1
  93. package/dist/{diagram-G47NLZAW-71hjWkYs.cjs → diagram-G47NLZAW-BaP0Lyg0.cjs} +2 -2
  94. package/dist/{diagram-G47NLZAW-71hjWkYs.cjs.map → diagram-G47NLZAW-BaP0Lyg0.cjs.map} +1 -1
  95. package/dist/{diagram-G47NLZAW-BfL1Ut0H.js → diagram-G47NLZAW-h09HILJg.js} +4 -4
  96. package/dist/{diagram-G47NLZAW-BfL1Ut0H.js.map → diagram-G47NLZAW-h09HILJg.js.map} +1 -1
  97. package/dist/{diagram-NH7WQ7WH-BjJctDxT.js → diagram-NH7WQ7WH-BE3XRcGY.js} +3 -3
  98. package/dist/{diagram-NH7WQ7WH-BjJctDxT.js.map → diagram-NH7WQ7WH-BE3XRcGY.js.map} +1 -1
  99. package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs → diagram-NH7WQ7WH-DyJw7-Gl.cjs} +2 -2
  100. package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs.map → diagram-NH7WQ7WH-DyJw7-Gl.cjs.map} +1 -1
  101. package/dist/{diagram-OA4YK3LP-BoFOwiXF.js → diagram-OA4YK3LP-BfAM9MZv.js} +4 -4
  102. package/dist/{diagram-OA4YK3LP-BoFOwiXF.js.map → diagram-OA4YK3LP-BfAM9MZv.js.map} +1 -1
  103. package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs → diagram-OA4YK3LP-DqYpt5F6.cjs} +2 -2
  104. package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs.map → diagram-OA4YK3LP-DqYpt5F6.cjs.map} +1 -1
  105. package/dist/{diagram-WEI45ONY-COXEDGCZ.js → diagram-WEI45ONY-DtFOpBM4.js} +3 -3
  106. package/dist/{diagram-WEI45ONY-COXEDGCZ.js.map → diagram-WEI45ONY-DtFOpBM4.js.map} +1 -1
  107. package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs → diagram-WEI45ONY-fz5dqgqy.cjs} +2 -2
  108. package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs.map → diagram-WEI45ONY-fz5dqgqy.cjs.map} +1 -1
  109. package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js → ebnfDiagram-CCIWWBDH-CyKVhKIb.js} +4 -4
  110. package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js.map → ebnfDiagram-CCIWWBDH-CyKVhKIb.js.map} +1 -1
  111. package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs → ebnfDiagram-CCIWWBDH-Haez4su4.cjs} +2 -2
  112. package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs.map → ebnfDiagram-CCIWWBDH-Haez4su4.cjs.map} +1 -1
  113. package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js → erDiagram-Q63AITRT-9hM3kPUW.js} +5 -5
  114. package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js.map → erDiagram-Q63AITRT-9hM3kPUW.js.map} +1 -1
  115. package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs → erDiagram-Q63AITRT-BGEWGa_b.cjs} +2 -2
  116. package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs.map → erDiagram-Q63AITRT-BGEWGa_b.cjs.map} +1 -1
  117. package/dist/{extractHeadings-BiNpEj-K.js → extractHeadings-BH0T7P4n.js} +3834 -3824
  118. package/dist/{extractHeadings-BiNpEj-K.js.map → extractHeadings-BH0T7P4n.js.map} +1 -1
  119. package/dist/{extractHeadings-vnYM8Eet.cjs → extractHeadings-BsiIYa_e.cjs} +62 -62
  120. package/dist/{extractHeadings-vnYM8Eet.cjs.map → extractHeadings-BsiIYa_e.cjs.map} +1 -1
  121. package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs +2 -0
  122. package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs.map +1 -0
  123. package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js +8 -0
  124. package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js.map +1 -0
  125. package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs → ganttDiagram-NO4QXBWP-4BbeHi64.cjs} +2 -2
  126. package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs.map → ganttDiagram-NO4QXBWP-4BbeHi64.cjs.map} +1 -1
  127. package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js → ganttDiagram-NO4QXBWP-DtM5HL0C.js} +3 -3
  128. package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js.map → ganttDiagram-NO4QXBWP-DtM5HL0C.js.map} +1 -1
  129. package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs} +2 -2
  130. package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs.map → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs.map} +1 -1
  131. package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js} +4 -4
  132. package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js.map → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js.map} +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.client.cjs +1 -1
  135. package/dist/index.client.js +1 -1
  136. package/dist/index.js +1 -1
  137. package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs} +2 -2
  138. package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs.map → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs.map} +1 -1
  139. package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js → infoDiagram-FWYZ7A6U-ZRUjO8nW.js} +2 -2
  140. package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js.map → infoDiagram-FWYZ7A6U-ZRUjO8nW.js.map} +1 -1
  141. package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs} +2 -2
  142. package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs.map → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs.map} +1 -1
  143. package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js} +2 -2
  144. package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js.map → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js.map} +1 -1
  145. package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js → journeyDiagram-5HDEW3XC-BXlXmDhR.js} +5 -5
  146. package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js.map → journeyDiagram-5HDEW3XC-BXlXmDhR.js.map} +1 -1
  147. package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs} +2 -2
  148. package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs.map → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs.map} +1 -1
  149. package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js → kanban-definition-HUTT4EX6-C9IdgWIg.js} +3 -3
  150. package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js.map → kanban-definition-HUTT4EX6-C9IdgWIg.js.map} +1 -1
  151. package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs → kanban-definition-HUTT4EX6-D5_pDh9h.cjs} +2 -2
  152. package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs.map → kanban-definition-HUTT4EX6-D5_pDh9h.cjs.map} +1 -1
  153. package/dist/{linear-DA8CNisd.js → linear-CTibpBci.js} +2 -2
  154. package/dist/{linear-DA8CNisd.js.map → linear-CTibpBci.js.map} +1 -1
  155. package/dist/{linear-BgdXLHZt.cjs → linear-DDWdtbxq.cjs} +2 -2
  156. package/dist/{linear-BgdXLHZt.cjs.map → linear-DDWdtbxq.cjs.map} +1 -1
  157. package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js → mindmap-definition-LN4V7U3C-CXaKAu6n.js} +4 -4
  158. package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js.map → mindmap-definition-LN4V7U3C-CXaKAu6n.js.map} +1 -1
  159. package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs → mindmap-definition-LN4V7U3C-gBn938NF.cjs} +2 -2
  160. package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs.map → mindmap-definition-LN4V7U3C-gBn938NF.cjs.map} +1 -1
  161. package/dist/{pegDiagram-2B236MQR-DpzcFesN.js → pegDiagram-2B236MQR-BiQyejnD.js} +4 -4
  162. package/dist/{pegDiagram-2B236MQR-DpzcFesN.js.map → pegDiagram-2B236MQR-BiQyejnD.js.map} +1 -1
  163. package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs → pegDiagram-2B236MQR-fR_9AvHk.cjs} +2 -2
  164. package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs.map → pegDiagram-2B236MQR-fR_9AvHk.cjs.map} +1 -1
  165. package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs → pieDiagram-ENE6RG2P-BZtqlfyU.cjs} +2 -2
  166. package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs.map → pieDiagram-ENE6RG2P-BZtqlfyU.cjs.map} +1 -1
  167. package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js → pieDiagram-ENE6RG2P-CZTZpVqy.js} +4 -4
  168. package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js.map → pieDiagram-ENE6RG2P-CZTZpVqy.js.map} +1 -1
  169. package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js} +3 -3
  170. package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js.map → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js.map} +1 -1
  171. package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs} +2 -2
  172. package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs.map → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs.map} +1 -1
  173. package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js → railroadDiagram-RFXS5EU6-C99zfAzl.js} +4 -4
  174. package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js.map → railroadDiagram-RFXS5EU6-C99zfAzl.js.map} +1 -1
  175. package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs → railroadDiagram-RFXS5EU6-_YckPr2T.cjs} +2 -2
  176. package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs.map → railroadDiagram-RFXS5EU6-_YckPr2T.cjs.map} +1 -1
  177. package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs} +2 -2
  178. package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs.map → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs.map} +1 -1
  179. package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js → requirementDiagram-TGXJPOKE-DBzuXzE9.js} +4 -4
  180. package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js.map → requirementDiagram-TGXJPOKE-DBzuXzE9.js.map} +1 -1
  181. package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js} +2 -2
  182. package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js.map → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js.map} +1 -1
  183. package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs} +2 -2
  184. package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs.map → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs.map} +1 -1
  185. package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js} +4 -4
  186. package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js.map → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js.map} +1 -1
  187. package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs} +2 -2
  188. package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs.map → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs.map} +1 -1
  189. package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js → sizeCapture-X5ZJPWSS-9Q2RBacx.js} +2 -2
  190. package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js.map → sizeCapture-X5ZJPWSS-9Q2RBacx.js.map} +1 -1
  191. package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs → sizeCapture-X5ZJPWSS-CedNWC9b.cjs} +2 -2
  192. package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs.map → sizeCapture-X5ZJPWSS-CedNWC9b.cjs.map} +1 -1
  193. package/dist/src/components/MarkdownRenderer.d.ts +31 -1
  194. package/dist/src/components/MarkdownRenderer.d.ts.map +1 -1
  195. package/dist/src/components/MarkdownViewer.d.ts +9 -1
  196. package/dist/src/components/MarkdownViewer.d.ts.map +1 -1
  197. package/dist/src/index.client.d.ts +1 -1
  198. package/dist/src/index.client.d.ts.map +1 -1
  199. package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs → stateDiagram-2N3HPSRC-BFjEDzN5.cjs} +2 -2
  200. package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs.map → stateDiagram-2N3HPSRC-BFjEDzN5.cjs.map} +1 -1
  201. package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js → stateDiagram-2N3HPSRC-DVXBUdgS.js} +3 -3
  202. package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js.map → stateDiagram-2N3HPSRC-DVXBUdgS.js.map} +1 -1
  203. package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs} +2 -2
  204. package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs.map → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs.map} +1 -1
  205. package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js → stateDiagram-v2-6OUMAXLB-etkgI8XE.js} +3 -3
  206. package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js.map → stateDiagram-v2-6OUMAXLB-etkgI8XE.js.map} +1 -1
  207. package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs → swimlanes-5IMT3BWC-ByyaHYdJ.cjs} +2 -2
  208. package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs.map → swimlanes-5IMT3BWC-ByyaHYdJ.cjs.map} +1 -1
  209. package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js → swimlanes-5IMT3BWC-CRF_hU5-.js} +4 -4
  210. package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js.map → swimlanes-5IMT3BWC-CRF_hU5-.js.map} +1 -1
  211. package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs} +2 -2
  212. package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs.map → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs.map} +1 -1
  213. package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js → swimlanesDiagram-G3AALYLV-qE56wCfv.js} +3 -3
  214. package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js.map → swimlanesDiagram-G3AALYLV-qE56wCfv.js.map} +1 -1
  215. package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs → timeline-definition-FHXFAJF6-CYpydtqC.cjs} +2 -2
  216. package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs.map → timeline-definition-FHXFAJF6-CYpydtqC.cjs.map} +1 -1
  217. package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js → timeline-definition-FHXFAJF6-U6tU13YO.js} +3 -3
  218. package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js.map → timeline-definition-FHXFAJF6-U6tU13YO.js.map} +1 -1
  219. package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs → vennDiagram-L72KCM5P-CfbVR5CF.cjs} +2 -2
  220. package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs.map → vennDiagram-L72KCM5P-CfbVR5CF.cjs.map} +1 -1
  221. package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js → vennDiagram-L72KCM5P-q79Xn7UV.js} +2 -2
  222. package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js.map → vennDiagram-L72KCM5P-q79Xn7UV.js.map} +1 -1
  223. package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js → wardleyDiagram-EHGQE667-BG3W74MX.js} +3 -3
  224. package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js.map → wardleyDiagram-EHGQE667-BG3W74MX.js.map} +1 -1
  225. package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs → wardleyDiagram-EHGQE667-CSJ22zfj.cjs} +2 -2
  226. package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs.map → wardleyDiagram-EHGQE667-CSJ22zfj.cjs.map} +1 -1
  227. package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js → xychartDiagram-FW5EYKEG-BISI4a7c.js} +3 -3
  228. package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js.map → xychartDiagram-FW5EYKEG-BISI4a7c.js.map} +1 -1
  229. package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs} +2 -2
  230. package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs.map → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs.map} +1 -1
  231. package/package.json +1 -1
  232. package/dist/channel-B6gYWXtQ.js +0 -6
  233. package/dist/channel-CZceKK2b.cjs +0 -2
  234. package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs +0 -2
  235. package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs.map +0 -1
  236. package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js +0 -8
  237. package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-OA4YK3LP-BoFOwiXF.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-BfAM9MZv.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-UoZ4tiIj.cjs"),H=require("./chunk-JWPE2WC7-u2Y2E01t.cjs"),r=require("./extractHeadings-vnYM8Eet.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(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-2Q5K7J3B-D9s6eCoM.cjs"),H=require("./chunk-JWPE2WC7-CLCAyxUO.cjs"),r=require("./extractHeadings-BsiIYa_e.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-C1ORbLEL.cjs.map
31
+ //# sourceMappingURL=diagram-OA4YK3LP-DqYpt5F6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-OA4YK3LP-C1ORbLEL.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-DqYpt5F6.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":"qQAwCA,IAAIA,EAAgB,aAChBC,EAAc,SACdC,EAAY,OACZC,EAAkB,YAClBC,EAAgB,sDAChBC,EAAe,SACfC,EAAc,OAClB,SAASC,EAAmBC,EAAO,CACjC,OAAOA,EAAM,KAAMC,GAAST,EAAc,KAAKS,CAAI,CAAC,CACtD,CACAC,EAAAA,OAAOH,EAAoB,oBAAoB,EAC/C,SAASI,EAAkBC,EAAc,CACvC,UAAWH,KAAQG,EAAc,CAC/B,MAAMC,EAAQZ,EAAY,KAAKQ,CAAI,EACnC,GAAII,GAAO,OAASA,EAAM,MAAQ,EAChC,OAAOA,EAAM,KAEjB,CACA,MAAO,EACT,CACAH,EAAAA,OAAOC,EAAmB,mBAAmB,EAC7C,SAASG,EAAgBC,EAASC,EAAS,CACzC,OAAOD,EAAQ,QAAQ,qBAAsB,CAACF,EAAOI,IAAY,CAC/D,MAAMR,EAAO,SAASQ,EAAS,EAAE,EAC3BC,EAAWF,EAAQ,IAAIP,CAAI,EACjC,OAAOS,EAAW,QAAQA,CAAQ,GAAKL,CACzC,CAAC,CACH,CACAH,EAAAA,OAAOI,EAAiB,iBAAiB,EACzC,SAASK,EAAqBC,EAAO,CACnC,MAAMZ,EAAQY,EAAM,MAAM;AAAA,CAAI,EACxBJ,EAA0B,IAAI,IACpC,IAAIK,EAAa,GACjB,SAAW,CAACC,EAAGb,CAAI,IAAKD,EAAM,QAAO,EACnC,GAAIC,EAAK,KAAI,IAAO,gBAAiB,CACnCY,EAAaC,EACb,KACF,CAEF,GAAID,IAAe,GACjB,MAAO,CAAE,KAAMD,EAAO,QAAAJ,CAAO,EAE/B,MAAMO,EAAmB,CAAA,EACzB,QAASD,EAAID,EAAa,EAAGC,EAAId,EAAM,OAAQc,IAAK,CAClD,MAAMb,EAAOD,EAAMc,CAAC,EACJb,EAAK,KAAI,IACT,IAAMJ,EAAa,KAAKI,CAAI,GAAKL,EAAc,KAAKK,CAAI,GAGpEN,EAAgB,KAAKM,CAAI,GAG7Bc,EAAiB,KAAKd,EAAK,QAAQ,MAAO,MAAM,CAAC,CACnD,CACA,GAAI,CAACF,EAAmBgB,CAAgB,EACtC,MAAO,CAAE,KAAMH,EAAO,QAAAJ,CAAO,EAE/B,MAAMQ,EAAeb,EAAkBY,CAAgB,EACjDE,EAAc,CAAA,EACpB,IAAIC,EAAY,EAChB,QAASJ,EAAI,EAAGA,GAAKD,EAAYC,IAC/BG,EAAY,KAAKjB,EAAMc,CAAC,CAAC,EACzBI,IACAV,EAAQ,IAAIU,EAAWJ,EAAI,CAAC,EAE9B,QAASA,EAAID,EAAa,EAAGC,EAAId,EAAM,OAAQc,IAAK,CAClD,MAAMb,EAAOD,EAAMc,CAAC,EACdK,EAAUlB,EAAK,KAAI,EACnBmB,EAAaN,EAAI,EACvB,GAAIK,IAAY,GAAI,CAClBF,EAAY,KAAKhB,CAAI,EACrBiB,IACAV,EAAQ,IAAIU,EAAWE,CAAU,EACjC,QACF,CACA,GAAIvB,EAAa,KAAKI,CAAI,EAAG,CAC3BgB,EAAY,KAAKhB,CAAI,EACrBiB,IACAV,EAAQ,IAAIU,EAAWE,CAAU,EACjC,QACF,CACA,GAAIxB,EAAc,KAAKK,CAAI,EAAG,CAC5BgB,EAAY,KAAKhB,CAAI,EACrBiB,IACAV,EAAQ,IAAIU,EAAWE,CAAU,EACjC,QACF,CACA,GAAIzB,EAAgB,KAAKM,CAAI,EAC3B,SAEF,MAAMoB,EAAapB,EAAK,QAAQ,MAAO,MAAM,EACvCqB,EAAc7B,EAAY,KAAK4B,CAAU,EAC/C,GAAIC,GAAa,QAAU,OAAQ,CACjC,MAAMC,EAAYD,EAAY,MACxBE,EAAQ,KAAK,MAAMD,EAAYP,CAAY,EAAI,EACrD,IAAIS,EAAMF,EAAY,EACtB,KAAOE,EAAMJ,EAAW,QAAU3B,EAAU,KAAK2B,EAAWI,CAAG,CAAC,GAC9DA,IAEF,KAAOA,EAAMJ,EAAW,QAAUA,EAAWI,CAAG,IAAM,KACpDA,IAEF,MAAMC,EAAUL,EAAW,MAAMI,CAAG,EAAE,QAAO,EAC7C,GAAI,CAACC,EACH,MAAM,IAAI,MACR,QAAQN,CAAU,mFAC5B,EAEM,MAAMO,EAAS7B,EAAY,OAAO0B,CAAK,EACvCP,EAAY,KAAKU,EAASD,CAAO,EACjCR,IACAV,EAAQ,IAAIU,EAAWE,CAAU,CACnC,KAAO,IAAI,kBAAkB,KAAKC,CAAU,EAC1C,SACK,GAAI7B,EAAc,KAAK6B,CAAU,EACtCJ,EAAY,KAAKhB,CAAI,EACrBiB,IACAV,EAAQ,IAAIU,EAAWE,CAAU,MAC5B,IAAI,OAAO,KAAKC,CAAU,EAC/B,MAAM,IAAI,MACR,QAAQD,CAAU,6HAC1B,EAEMH,EAAY,KAAKhB,CAAI,EACrBiB,IACAV,EAAQ,IAAIU,EAAWE,CAAU,GAErC,CACA,MAAO,CAAE,KAAMH,EAAY,KAAK;AAAA,CAAI,EAAG,QAAAT,CAAO,CAChD,CACAN,EAAAA,OAAOS,EAAsB,sBAAsB,EAGnD,IAAIiB,EAAQ,IAAIC,EAAAA,gBAAgB,KAAO,CACrC,IAAK,EACL,MAAO,CACL,CACE,GAAI,EACJ,MAAO,GACP,KAAM,IACN,SAAU,YACV,SAAU,CAAA,CAChB,CACA,CACA,EAAE,EACEC,EAAyB5B,EAAAA,OAAO,IAAM,CACxC0B,EAAM,MAAK,EACXG,QAAK,CACP,EAAG,OAAO,EACNC,EAA0B9B,EAAAA,OAAO,IAC5B0B,EAAM,QAAQ,MAAM,CAAC,EAC3B,SAAS,EACRK,EAA2B/B,EAAAA,OAAO,IAAM0B,EAAM,QAAQ,IAAK,UAAU,EACrEM,EAAgBC,EAAAA,sBAAsB,SACtCC,EAA6BlC,EAAAA,OAAO,IAC/BmC,gBAAcH,EAAeI,EAAAA,UAAS,EAAG,QAAQ,EACvD,WAAW,EACVC,EAA0BrC,EAAAA,OAAO,CAACsC,EAAOC,EAAMC,EAAUC,EAAUC,EAAMC,IAAgB,CAC3F,KAAOL,GAASZ,EAAM,QAAQ,MAAMA,EAAM,QAAQ,MAAM,OAAS,CAAC,EAAE,OAClEA,EAAM,QAAQ,MAAM,IAAG,EAEzB,MAAMkB,EAAO,CACX,GAAIlB,EAAM,QAAQ,MAClB,MAAAY,EACA,KAAAC,EACA,SAAAC,EACA,KAAAE,EACA,SAAAD,EACA,YAAAE,EACA,SAAU,CAAA,CACd,EACEjB,EAAM,QAAQ,MAAMA,EAAM,QAAQ,MAAM,OAAS,CAAC,EAAE,SAAS,KAAKkB,CAAI,EACtElB,EAAM,QAAQ,MAAM,KAAKkB,CAAI,CAC/B,EAAG,SAAS,EACRC,EAAK,CACP,MAAOjB,EACP,QAAAS,EACA,QAAAP,EACA,SAAAC,EACA,UAAWG,EACb,YAAEY,EAAAA,YACF,kBAAEC,EAAAA,kBACF,gBAAEC,EAAAA,gBACF,kBAAEC,EAAAA,kBACF,YAAEC,EAAAA,YACF,gBAAEC,EAAAA,eACF,EACIC,EAAaP,EAGbQ,EAA2BrD,EAAAA,OAAQsD,GAAQ,CAC7CC,EAAAA,iBAAiBD,EAAKF,CAAU,EAChC,UAAWR,KAAQU,EAAI,MAAO,CAC5B,MAAMhB,EAAQ,OAAOM,EAAK,QAAW,SAAWA,EAAK,OAAS,EAC9D,IAAIL,EAAOK,EAAK,KAChB,MAAMY,EAAcjB,EAAK,SAAS,GAAG,EACjCiB,IACFjB,EAAOA,EAAK,MAAM,EAAG,EAAE,GAEzB,MAAMC,EAAWgB,EAAc,YAAc,OACvCf,EAAWG,EAAK,iBAAmB,OACnCa,EAAUb,EAAK,eACfF,EAAOe,IAAY,OAASA,GAAW,OAAS,OAChDC,EAAUd,EAAK,gBAAkB,OACjCD,EAAce,EAAUC,EAAAA,aAAaD,EAAStB,EAAAA,UAAS,CAAE,EAAI,OACnEgB,EAAW,QAAQd,EAAOC,EAAMC,EAAUC,EAAUC,EAAMC,CAAW,CACvE,CACF,EAAG,UAAU,EACTiB,EAAS,CACX,MAAuB5D,EAAAA,OAAO,MAAOU,GAAU,CAC7C,KAAM,CAAE,KAAAmD,EAAM,QAAAvD,GAAYG,EAAqBC,CAAK,EACpD,GAAI,CACF,MAAM4C,EAAM,MAAMQ,QAAM,WAAYD,CAAI,EACxCE,EAAAA,IAAI,MAAMT,CAAG,EACbD,EAASC,CAAG,CACd,OAASU,EAAO,CACd,MAAI1D,EAAQ,KAAO,GAAK0D,aAAiB,QACvCA,EAAM,QAAU5D,EAAgB4D,EAAM,QAAS1D,CAAO,GAElD0D,CACR,CACF,EAAG,OAAO,CACZ,EAGIC,EAAgB,CAClB,OAAQ,mBACR,OAAQ,GACR,MAAO,GACP,MAAO,CACL,OAAQ,CACN,KAAM,uIACZ,EACI,KAAM,CACJ,KAAM,8NACZ,CACA,CACA,EACA,SAASC,EAAW3B,EAAM4B,EAAQ,CAChC,MAAMC,EAAeD,GAAQ,gBAAgB5B,CAAI,EACjD,GAAI6B,EACF,OAAOA,EAET,MAAMC,EAAS9B,EAAK,YAAY,GAAG,EACnC,GAAI8B,EAAS,EAAG,CACd,MAAMC,EAAM/B,EAAK,UAAU8B,CAAM,EAAE,YAAW,EACxCE,EAAiBJ,GAAQ,eAC/B,OAAOI,IAAiBD,CAAG,GAAKC,IAAiBD,EAAI,MAAM,CAAC,CAAC,CAC/D,CAEF,CACAtE,EAAAA,OAAOkE,EAAY,YAAY,EAC/B,SAASM,EAAY9B,EAAM+B,EAAiB,CAC1C,OAAI/B,EAAK,SAAS,GAAG,EACZA,EAELA,KAAQuB,EAAc,OAAS,CAACQ,EAC3B,GAAGR,EAAc,MAAM,IAAIvB,CAAI,GAEjC,GAAG+B,CAAe,IAAI/B,CAAI,EACnC,CACA1C,EAAAA,OAAOwE,EAAa,aAAa,EACjC,SAASE,EAAY9B,EAAMuB,EAAQ,CACjC,GAAIvB,EAAK,OAAS,OAGlB,IAAIA,EAAK,KACP,OAAO4B,EAAY5B,EAAK,KAAMuB,EAAO,eAAe,EAEtD,GAAKA,EAAO,UAGZ,IAAIvB,EAAK,WAAa,OAAQ,CAC5B,MAAM+B,EAAWT,EAAWtB,EAAK,KAAMuB,CAAM,EAC7C,GAAIQ,IAAa,OACf,OAEF,GAAIA,EACF,OAAOH,EAAYG,EAAUR,EAAO,eAAe,CAEvD,CACA,MAAO,GAAGF,EAAc,MAAM,IAAIrB,EAAK,WAAa,YAAc,SAAW,MAAM,IACrF,CACA5C,EAAAA,OAAO0E,EAAa,aAAa,EAGjCE,EAAAA,kBAAkB,CAChB,CACE,KAAMX,EAAc,OACpB,MAAOA,CACX,CACA,CAAC,EACD,IAAIY,EAAY,GACZC,EAAW,EACXC,EAAW,GACXC,EAA+BhF,EAAAA,OAAO,CAACiF,EAAWvC,IAAS,WAAWuC,CAAS,IAAIvC,EAAK,QAAQ,UAAW,GAAG,CAAC,GAAI,cAAc,EACjIwC,GAAiClF,EAAAA,OAAO,MAAOmF,EAAKC,EAAMjB,EAAQc,IAAc,CAClF,MAAMI,EAA4B,IAAI,IAChCC,EAA0BtF,SAAQ4C,GAAS,CAC/C,MAAMF,EAAOgC,EAAY9B,EAAMuB,CAAM,EACjCzB,GACF2C,EAAU,IAAI3C,CAAI,EAEpBE,EAAK,SAAS,QAAQ0C,CAAO,CAC/B,EAAG,SAAS,EAEZ,GADAA,EAAQF,CAAI,EACRC,EAAU,OAAS,EACrB,OAEF,MAAME,EAAW,MAAM,QAAQ,IAC7B,CAAC,GAAGF,CAAS,EAAE,IAAI,MAAO3C,IAAU,CAClC,KAAAA,EACA,IAAK,MAAM8C,EAAAA,WAAW9C,EAAM,CAC1B,OAAQmC,EACR,MAAOA,CACf,CAAO,CACP,EAAM,CACN,EACQY,EAAON,EAAI,OAAO,MAAM,EAC9B,SAAW,CAAE,KAAAzC,EAAM,IAAKgD,CAAO,IAAMH,EACnCE,EAAK,OAAO,GAAG,EAAE,KAAK,KAAMT,EAAaC,EAAWvC,CAAI,CAAC,EAAE,KAAKgD,CAAO,CAE3E,EAAG,gBAAgB,EACfC,GAAgC3F,EAAAA,OAAO,CAAC4F,EAAGC,EAAGjD,EAAMkD,EAAS3B,EAAQc,IAAc,CACrF,MAAMc,EAAYD,EAAQ,OAAO,GAAG,EACpC,IAAIE,EAAa,sBACbpD,EAAK,WAAa,cACpBoD,GAAc,sBAEZpD,EAAK,WACPoD,GAAc,IAAIpD,EAAK,QAAQ,IAEjC,MAAMqD,EAAapB,EAAYC,EACzBpC,EAAOgC,EAAY9B,EAAMuB,CAAM,EAC/B+B,EAAWxD,IAAS,OACtBA,GACFqD,EAAU,OAAO,KAAK,EAAE,KAAK,aAAc,IAAIf,EAAaC,EAAWvC,CAAI,CAAC,EAAE,EAAE,KAAK,IAAKkD,EAAIzB,EAAO,QAAQ,EAAE,KAAK,IAAK0B,EAAI1B,EAAO,QAAQ,EAAE,KAAK,QAAS,oBAAoB,EAElL,MAAMgC,EAAQJ,EAAU,OAAO,MAAM,EAAE,KAAKnD,EAAK,IAAI,EAAE,KAAK,oBAAqB,QAAQ,EAAE,KAAK,QAASoD,CAAU,EAC7G,CAAE,OAAQI,EAAa,MAAOC,CAAU,EAAKF,EAAM,KAAI,EAAG,QAAO,EACjEG,EAASF,EAAcjC,EAAO,SAAW,EACzCoC,EAASX,EAAIzB,EAAO,UAAY+B,EAAWD,EAAa,GAC9DE,EAAM,KAAK,IAAKI,CAAM,EACtBJ,EAAM,KAAK,IAAKN,EAAIS,EAAS,CAAC,EAC9B,MAAME,EAAiBD,EAASF,EAC1BI,EAAQJ,EAAalC,EAAO,SAAW,GAAK+B,EAAWD,EAAa,GAC1E,OAAArD,EAAK,KAAO,CAAE,EAAAgD,EAAG,EAAAC,EAAG,MAAAY,EAAO,OAAAH,CAAM,EAC7B1D,EAAK,UAAU,MAAM,KAAK,EAAE,SAAS,WAAW,GAClDmD,EAAU,OAAO,OAAQ,cAAc,EAAE,KAAK,IAAKH,CAAC,EAAE,KAAK,IAAKC,EAAI,CAAC,EAAE,KAAK,QAAS,CAAC,EAAE,KAAK,SAAUS,EAAS,CAAC,EAAE,KAAK,KAAM,CAAC,EAAE,KAAK,QAAS,uBAAuB,EAEjK,CAAE,KAAA1D,EAAM,UAAAmD,EAAW,eAAAS,EAAgB,QAASX,EAAIS,EAAS,CAAC,CACnE,EAAG,eAAe,EACdI,EAA+B1G,EAAAA,OAAO,CAAC8F,EAASa,EAAIC,EAAIC,EAAIC,EAAIC,IAC3DjB,EAAQ,OAAO,MAAM,EAAE,KAAK,KAAMa,CAAE,EAAE,KAAK,KAAMC,CAAE,EAAE,KAAK,KAAMC,CAAE,EAAE,KAAK,KAAMC,CAAE,EAAE,KAAK,eAAgBC,CAAa,EAAE,KAAK,QAAS,oBAAoB,EAC/J,cAAc,EACbC,GAA2BhH,EAAAA,OAAO,CAACiH,EAAM7B,EAAMjB,EAAQc,IAAc,CACvE,IAAIiC,EAAc,EACdC,EAAa,EACjB,MAAMC,EAAc,CAAA,EACdC,EAA2BrH,EAAAA,OAAO,CAACsH,EAAO1E,EAAM2E,EAASjG,IAAU,CACvE,MAAMG,EAASH,GAASiG,EAAQ,UAAYA,EAAQ,UAC9CC,EAAO7B,GAAclE,EAAQyF,EAAatE,EAAM0E,EAAOC,EAAStC,CAAS,EAC/EmC,EAAY,KAAKI,CAAI,EACrB,KAAM,CAAE,OAAAlB,EAAQ,MAAAG,CAAK,EAAK7D,EAAK,KAC/B8D,EACEY,EACA7F,EAAS8F,EAAQ,UACjBL,EAAcZ,EAAS,EACvB7E,EACAyF,EAAcZ,EAAS,EACvBiB,EAAQ,aACd,EACIJ,EAAa,KAAK,IAAIA,EAAY1F,EAASgF,CAAK,EAChDS,GAAeZ,CACjB,EAAG,UAAU,EACPmB,EAA8BzH,EAAAA,OAAO,CAAC4C,EAAMtB,EAAQ,IAAM,CAC9D+F,EAASJ,EAAMrE,EAAMuB,EAAQ7C,CAAK,EAClCsB,EAAK,SAAS,QAAS8E,GAAU,CAC/BD,EAAYC,EAAOpG,EAAQ,CAAC,CAC9B,CAAC,EACD,KAAM,CAAE,EAAAsE,EAAG,EAAAC,EAAG,OAAAS,CAAM,EAAK1D,EAAK,KAC9B,GAAIA,EAAK,SAAS,OAAQ,CACxB,KAAM,CAAE,EAAG+E,EAAM,OAAQC,CAAS,EAAKhF,EAAK,SAASA,EAAK,SAAS,OAAS,CAAC,EAAE,KAC/E8D,EACEO,EACArB,EAAIzB,EAAO,SACX0B,EAAIS,EACJV,EAAIzB,EAAO,SACXwD,EAAOC,EAAY,EAAIzD,EAAO,cAAgB,EAC9CA,EAAO,aACf,CACI,CACF,EAAG,aAAa,EAChBsD,EAAYrC,CAAI,EAChB,MAAMyC,EAAgBT,EAAY,OAAQU,GAAOA,EAAG,KAAK,WAAW,EACpE,GAAID,EAAc,OAAS,EAAG,CAE5B,MAAME,EADgB,KAAK,IAAI,GAAGX,EAAY,IAAKU,GAAOA,EAAG,cAAc,CAAC,EAC9C/C,EAC9B,UAAW+C,KAAMD,EAAe,CAE9B,MAAMG,EADOF,EAAG,UAAU,OAAO,MAAM,EAAE,KAAKA,EAAG,KAAK,WAAW,EAAE,KAAK,oBAAqB,QAAQ,EAAE,KAAK,QAAS,2BAA2B,EAAE,KAAK,IAAKC,CAAK,EAAE,KAAK,IAAKD,EAAG,OAAO,EACjK,KAAI,EAAG,QAAO,EACpCX,EAAa,KAAK,IAAIA,EAAYY,EAAQC,EAAS,MAAQ7D,EAAO,QAAQ,CAC5E,CACF,CACA,UAAW2D,KAAMV,EACf,GAAIU,EAAG,KAAK,UAAU,MAAM,KAAK,EAAE,SAAS,WAAW,EAAG,CACxD,MAAMG,EAAOH,EAAG,UAAU,OAAO,wBAAwB,EACzD,GAAI,CAACG,EAAK,QAAS,CACjB,MAAMC,EAAYf,EAAaW,EAAG,KAAK,KAAK,EAAI,EAChDG,EAAK,KAAK,QAASC,CAAS,EAC5Bf,EAAa,KAAK,IAAIA,EAAYW,EAAG,KAAK,KAAK,EAAII,EAAY,CAAC,CAClE,CACF,CAEF,MAAO,CAAE,YAAAhB,EAAa,WAAAC,CAAU,CAClC,EAAG,UAAU,EACTgB,GAAuBnI,EAAAA,OAAO,MAAO6D,EAAMuE,EAAIC,EAAMC,IAAY,CACnEvE,MAAI,MAAM;AAAA,EAAiCF,CAAI,EAC/C,MAAM0E,EAAMD,EAAQ,GACdlD,EAAOmD,EAAI,QAAO,EAClBpE,EAASoE,EAAI,UAAS,EACtBpD,EAAMqD,EAAAA,iBAAiBJ,CAAE,EAC/B,MAAMlD,GAAeC,EAAKC,EAAMjB,EAAQiE,CAAE,EAC1C,MAAMK,EAAWtD,EAAI,OAAO,GAAG,EAC/BsD,EAAS,KAAK,QAAS,WAAW,EAClC,KAAM,CAAE,YAAAvB,EAAa,WAAAC,GAAeH,GAASyB,EAAUrD,EAAMjB,EAAQiE,CAAE,EACvEjD,EAAI,KAAK,UAAW,IAAIhB,EAAO,cAAgB,CAAC,MAAMgD,CAAU,IAAID,CAAW,EAAE,EACjFwB,EAAAA,iBAAiBvD,EAAK+B,EAAaC,EAAYhD,EAAO,WAAW,CACnE,EAAG,MAAM,EACLwE,GAAW,CACb,KAAAR,EACF,EACIS,GAAmBD,GAGnBE,GAA+B,CACjC,cAAe,OACf,WAAY,QACZ,UAAW,QACX,UAAW,UACX,iBAAkB,UAClB,YAAa,0BACb,gBAAiB,SACnB,EACIC,GAAyB9I,EAAAA,OAAO,CAAC,CACnC,SAAA+I,CACF,IAAM,CACJ,KAAM,CACJ,cAAAC,EACA,WAAAC,EACA,UAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,gBAAAC,CACJ,EAAMnH,EAAAA,cAAc0G,GAA8BE,CAAQ,EACxD,MAAO;AAAA;AAAA,qBAEYC,CAAa;AAAA,gBAClBC,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAORC,CAAS;AAAA;AAAA;AAAA,iBAGVC,CAAS;AAAA;AAAA;AAAA,qBAGLH,CAAa;AAAA,gBAClBI,CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKhBC,CAAW;AAAA,kBACTC,CAAe;AAAA;AAAA;AAAA,KAIjC,EAAG,QAAQ,EACPC,GAAiBT,GAGjBU,GAAU,CACZ,GAAIpG,EACJ,SAAUwF,GACV,OAAAhF,EACA,OAAQ2F,EACV","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { p as k } from "./chunk-JWPE2WC7-BOZsBb5v.js";
2
- import { U as R, V as I, ag as _, af as E, W as F, X as D, _ as c, au as P, al as z, ar as y, ap as C, as as G, a1 as W, av as B, a2 as V } from "./extractHeadings-BiNpEj-K.js";
1
+ import { p as k } from "./chunk-JWPE2WC7-C20BXRVN.js";
2
+ import { U as R, V as I, ag as _, af as E, W as F, X as D, _ as c, au as P, al as z, ar as y, ap as C, as as G, a1 as W, av as B, a2 as V } from "./extractHeadings-BH0T7P4n.js";
3
3
  import { p as H } from "./cynefin-VYW2F7L2-Bkk-F_Js.js";
4
4
  var h = {
5
5
  showLegend: !0,
@@ -215,4 +215,4 @@ var nt = { draw: et }, ot = /* @__PURE__ */ c((a, t) => {
215
215
  export {
216
216
  pt as diagram
217
217
  };
218
- //# sourceMappingURL=diagram-WEI45ONY-COXEDGCZ.js.map
218
+ //# sourceMappingURL=diagram-WEI45ONY-DtFOpBM4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-WEI45ONY-COXEDGCZ.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-WEI45ONY.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.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 getThemeVariables,\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/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`).attr(\"overflow\", \"visible\");\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n const cosA = Math.cos(angle);\n const sinA = Math.sin(angle);\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * cosA).attr(\"y2\", radius * config.axisScaleFactor * sinA).attr(\"class\", \"radarAxisLine\");\n const textAnchor = cosA > 0.01 ? \"start\" : cosA < -0.01 ? \"end\" : \"middle\";\n const dominantBaseline = sinA > 0.01 ? \"hanging\" : sinA < -0.01 ? \"auto\" : \"central\";\n const labelPad = 4;\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * cosA + labelPad * cosA).attr(\"y\", radius * config.axisLabelFactor * sinA + labelPad * sinA).attr(\"text-anchor\", textAnchor).attr(\"dominant-baseline\", dominantBaseline).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["defaultOptions","defaultRadarData","data","DEFAULT_RADAR_CONFIG","defaultConfig_default","getConfig2","__name","cleanAndMerge","getConfig","getAxes","getCurves","getOptions","setAxes","axes","axis","setCurves","curves","curve","computeCurveEntries","entries","entry","entry2","setOptions","options","optionMap","acc","option","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","populate","ast","populateCommonDb","parser","input","parse","log","draw","_text","id","_version","diagram2","db2","config","title","svg","selectSvgElement","g","drawFrame","maxValue","minValue","radius","drawGraticule","drawAxes","drawCurves","drawLegend","totalWidth","totalHeight","center","configureSvgSize","ticks","graticule","r","numAxes","i","points","_","j","angle","x","y","label","cosA","sinA","textAnchor","dominantBaseline","labelPad","index","relativeRadius","closedRoundCurve","p","value","clippedValue","tension","numPoints","d","p0","p1","p2","p3","cp1","cp2","showLegend","legendX","legendY","lineHeight","itemGroup","renderer","genIndexStyles","themeVariables","radarOptions","sections","indexColor","buildRadarStyleOptions","radar","defaultThemeVariables","getThemeVariables","currentConfig","styles","diagram"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"diagram-WEI45ONY-DtFOpBM4.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-WEI45ONY.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.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 getThemeVariables,\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/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`).attr(\"overflow\", \"visible\");\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n const cosA = Math.cos(angle);\n const sinA = Math.sin(angle);\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * cosA).attr(\"y2\", radius * config.axisScaleFactor * sinA).attr(\"class\", \"radarAxisLine\");\n const textAnchor = cosA > 0.01 ? \"start\" : cosA < -0.01 ? \"end\" : \"middle\";\n const dominantBaseline = sinA > 0.01 ? \"hanging\" : sinA < -0.01 ? \"auto\" : \"central\";\n const labelPad = 4;\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * cosA + labelPad * cosA).attr(\"y\", radius * config.axisLabelFactor * sinA + labelPad * sinA).attr(\"text-anchor\", textAnchor).attr(\"dominant-baseline\", dominantBaseline).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["defaultOptions","defaultRadarData","data","DEFAULT_RADAR_CONFIG","defaultConfig_default","getConfig2","__name","cleanAndMerge","getConfig","getAxes","getCurves","getOptions","setAxes","axes","axis","setCurves","curves","curve","computeCurveEntries","entries","entry","entry2","setOptions","options","optionMap","acc","option","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","populate","ast","populateCommonDb","parser","input","parse","log","draw","_text","id","_version","diagram2","db2","config","title","svg","selectSvgElement","g","drawFrame","maxValue","minValue","radius","drawGraticule","drawAxes","drawCurves","drawLegend","totalWidth","totalHeight","center","configureSvgSize","ticks","graticule","r","numAxes","i","points","_","j","angle","x","y","label","cosA","sinA","textAnchor","dominantBaseline","labelPad","index","relativeRadius","closedRoundCurve","p","value","clippedValue","tension","numPoints","d","p0","p1","p2","p3","cp1","cp2","showLegend","legendX","legendY","lineHeight","itemGroup","renderer","genIndexStyles","themeVariables","radarOptions","sections","indexColor","buildRadarStyleOptions","radar","defaultThemeVariables","getThemeVariables","currentConfig","styles","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-u2Y2E01t.cjs"),n=require("./extractHeadings-vnYM8Eet.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+=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("./chunk-JWPE2WC7-CLCAyxUO.cjs"),n=require("./extractHeadings-BsiIYa_e.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-BzuHWp9D.cjs.map
42
+ //# sourceMappingURL=diagram-WEI45ONY-fz5dqgqy.cjs.map