@aiquants/markdown 1.9.2 → 1.10.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 (232) hide show
  1. package/dist/{abnfDiagram-VRR7QNED-Dr7UU5eU.js → abnfDiagram-VRR7QNED-B-z-xQDd.js} +4 -4
  2. package/dist/{abnfDiagram-VRR7QNED-Dr7UU5eU.js.map → abnfDiagram-VRR7QNED-B-z-xQDd.js.map} +1 -1
  3. package/dist/{abnfDiagram-VRR7QNED-osaZqj2I.cjs → abnfDiagram-VRR7QNED-CiccE9Dh.cjs} +2 -2
  4. package/dist/{abnfDiagram-VRR7QNED-osaZqj2I.cjs.map → abnfDiagram-VRR7QNED-CiccE9Dh.cjs.map} +1 -1
  5. package/dist/{arc-C8EnnvAn.cjs → arc-2IUtxpgY.cjs} +2 -2
  6. package/dist/{arc-C8EnnvAn.cjs.map → arc-2IUtxpgY.cjs.map} +1 -1
  7. package/dist/{arc-g46vGFIF.js → arc-C1qs8DDn.js} +2 -2
  8. package/dist/{arc-g46vGFIF.js.map → arc-C1qs8DDn.js.map} +1 -1
  9. package/dist/{architectureDiagram-ZJ3FMSHR-CYGLP-kN.cjs → architectureDiagram-ZJ3FMSHR-Bu8bp5PS.cjs} +2 -2
  10. package/dist/{architectureDiagram-ZJ3FMSHR-CYGLP-kN.cjs.map → architectureDiagram-ZJ3FMSHR-Bu8bp5PS.cjs.map} +1 -1
  11. package/dist/{architectureDiagram-ZJ3FMSHR-3oAk2bEr.js → architectureDiagram-ZJ3FMSHR-DMAqsHwH.js} +3 -3
  12. package/dist/{architectureDiagram-ZJ3FMSHR-3oAk2bEr.js.map → architectureDiagram-ZJ3FMSHR-DMAqsHwH.js.map} +1 -1
  13. package/dist/{blockDiagram-677ZJIJ3-Bjc5iLcZ.cjs → blockDiagram-677ZJIJ3-MoxFCasQ.cjs} +2 -2
  14. package/dist/{blockDiagram-677ZJIJ3-Bjc5iLcZ.cjs.map → blockDiagram-677ZJIJ3-MoxFCasQ.cjs.map} +1 -1
  15. package/dist/{blockDiagram-677ZJIJ3-BVG2lo9V.js → blockDiagram-677ZJIJ3-jCcaJq2a.js} +4 -4
  16. package/dist/{blockDiagram-677ZJIJ3-BVG2lo9V.js.map → blockDiagram-677ZJIJ3-jCcaJq2a.js.map} +1 -1
  17. package/dist/{c4Diagram-LMCZKHZV-eoTI_-fn.cjs → c4Diagram-LMCZKHZV-Ce6ig06u.cjs} +2 -2
  18. package/dist/{c4Diagram-LMCZKHZV-eoTI_-fn.cjs.map → c4Diagram-LMCZKHZV-Ce6ig06u.cjs.map} +1 -1
  19. package/dist/{c4Diagram-LMCZKHZV-CxAlsF4T.js → c4Diagram-LMCZKHZV-CqAl5q32.js} +3 -3
  20. package/dist/{c4Diagram-LMCZKHZV-CxAlsF4T.js.map → c4Diagram-LMCZKHZV-CqAl5q32.js.map} +1 -1
  21. package/dist/channel-DE38-vXn.js +6 -0
  22. package/dist/{channel-D_6dvHAs.js.map → channel-DE38-vXn.js.map} +1 -1
  23. package/dist/channel-Y185eoRi.cjs +2 -0
  24. package/dist/{channel-zt9HkRFF.cjs.map → channel-Y185eoRi.cjs.map} +1 -1
  25. package/dist/{chunk-2Q5K7J3B-FJUed_m_.cjs → chunk-2Q5K7J3B-CUeeE8Rt.cjs} +2 -2
  26. package/dist/{chunk-2Q5K7J3B-FJUed_m_.cjs.map → chunk-2Q5K7J3B-CUeeE8Rt.cjs.map} +1 -1
  27. package/dist/{chunk-2Q5K7J3B-DXf8udxv.js → chunk-2Q5K7J3B-CZx8YU1q.js} +2 -2
  28. package/dist/{chunk-2Q5K7J3B-DXf8udxv.js.map → chunk-2Q5K7J3B-CZx8YU1q.js.map} +1 -1
  29. package/dist/{chunk-32BRIVSS-B-weOSo5.cjs → chunk-32BRIVSS-6NUu3pur.cjs} +2 -2
  30. package/dist/{chunk-32BRIVSS-B-weOSo5.cjs.map → chunk-32BRIVSS-6NUu3pur.cjs.map} +1 -1
  31. package/dist/{chunk-32BRIVSS-RrFz8EL9.js → chunk-32BRIVSS-E7rtICR_.js} +2 -2
  32. package/dist/{chunk-32BRIVSS-RrFz8EL9.js.map → chunk-32BRIVSS-E7rtICR_.js.map} +1 -1
  33. package/dist/{chunk-5VM5RSS4-BzNAhFN7.js → chunk-5VM5RSS4-BBd3GG10.js} +2 -2
  34. package/dist/{chunk-5VM5RSS4-BzNAhFN7.js.map → chunk-5VM5RSS4-BBd3GG10.js.map} +1 -1
  35. package/dist/{chunk-5VM5RSS4-BF_oSGlQ.cjs → chunk-5VM5RSS4-CLh00kAT.cjs} +2 -2
  36. package/dist/{chunk-5VM5RSS4-BF_oSGlQ.cjs.map → chunk-5VM5RSS4-CLh00kAT.cjs.map} +1 -1
  37. package/dist/{chunk-EX3LRPZG-B9zZRXsZ.js → chunk-EX3LRPZG-CIUdYJfN.js} +5 -5
  38. package/dist/{chunk-EX3LRPZG-B9zZRXsZ.js.map → chunk-EX3LRPZG-CIUdYJfN.js.map} +1 -1
  39. package/dist/{chunk-EX3LRPZG-Gb8J8JVA.cjs → chunk-EX3LRPZG-DP4w662u.cjs} +2 -2
  40. package/dist/{chunk-EX3LRPZG-Gb8J8JVA.cjs.map → chunk-EX3LRPZG-DP4w662u.cjs.map} +1 -1
  41. package/dist/{chunk-JWPE2WC7-9QA7E4CD.cjs → chunk-JWPE2WC7-B2hQCXGJ.cjs} +2 -2
  42. package/dist/{chunk-JWPE2WC7-9QA7E4CD.cjs.map → chunk-JWPE2WC7-B2hQCXGJ.cjs.map} +1 -1
  43. package/dist/{chunk-JWPE2WC7-Ys8O39it.js → chunk-JWPE2WC7-B9A2BpdU.js} +2 -2
  44. package/dist/{chunk-JWPE2WC7-Ys8O39it.js.map → chunk-JWPE2WC7-B9A2BpdU.js.map} +1 -1
  45. package/dist/{chunk-MOJQB5TN-Kf285FEV.cjs → chunk-MOJQB5TN-B9k7Bi6O.cjs} +2 -2
  46. package/dist/{chunk-MOJQB5TN-Kf285FEV.cjs.map → chunk-MOJQB5TN-B9k7Bi6O.cjs.map} +1 -1
  47. package/dist/{chunk-MOJQB5TN-DdwwbAD7.js → chunk-MOJQB5TN-uc6Tpcza.js} +2 -2
  48. package/dist/{chunk-MOJQB5TN-DdwwbAD7.js.map → chunk-MOJQB5TN-uc6Tpcza.js.map} +1 -1
  49. package/dist/{chunk-PUDLZKDR-Bt1FlwaU.cjs → chunk-PUDLZKDR-DC8YYVco.cjs} +2 -2
  50. package/dist/{chunk-PUDLZKDR-Bt1FlwaU.cjs.map → chunk-PUDLZKDR-DC8YYVco.cjs.map} +1 -1
  51. package/dist/{chunk-PUDLZKDR-Be-8gjs7.js → chunk-PUDLZKDR-DP-764cy.js} +7 -7
  52. package/dist/{chunk-PUDLZKDR-Be-8gjs7.js.map → chunk-PUDLZKDR-DP-764cy.js.map} +1 -1
  53. package/dist/{chunk-RYQCIY6F-BaozHSpS.cjs → chunk-RYQCIY6F-CTZYTf8k.cjs} +2 -2
  54. package/dist/{chunk-RYQCIY6F-BaozHSpS.cjs.map → chunk-RYQCIY6F-CTZYTf8k.cjs.map} +1 -1
  55. package/dist/{chunk-RYQCIY6F-BBUUnDvx.js → chunk-RYQCIY6F-CnVNieyH.js} +2 -2
  56. package/dist/{chunk-RYQCIY6F-BBUUnDvx.js.map → chunk-RYQCIY6F-CnVNieyH.js.map} +1 -1
  57. package/dist/{chunk-V7JOEXUC-CyfQVQj2.cjs → chunk-V7JOEXUC-Bg0BmJYe.cjs} +2 -2
  58. package/dist/{chunk-V7JOEXUC-CyfQVQj2.cjs.map → chunk-V7JOEXUC-Bg0BmJYe.cjs.map} +1 -1
  59. package/dist/{chunk-V7JOEXUC-BpOeSTIu.js → chunk-V7JOEXUC-CxfPvQqf.js} +6 -6
  60. package/dist/{chunk-V7JOEXUC-BpOeSTIu.js.map → chunk-V7JOEXUC-CxfPvQqf.js.map} +1 -1
  61. package/dist/{chunk-VR4S4FIN-Dshtsgib.js → chunk-VR4S4FIN-BC8LoE8F.js} +2 -2
  62. package/dist/{chunk-VR4S4FIN-Dshtsgib.js.map → chunk-VR4S4FIN-BC8LoE8F.js.map} +1 -1
  63. package/dist/{chunk-VR4S4FIN-B8N8meZf.cjs → chunk-VR4S4FIN-x1hG3E6D.cjs} +2 -2
  64. package/dist/{chunk-VR4S4FIN-B8N8meZf.cjs.map → chunk-VR4S4FIN-x1hG3E6D.cjs.map} +1 -1
  65. package/dist/{chunk-XXDRQBXY-CxhRgT48.cjs → chunk-XXDRQBXY-4p-LcxlZ.cjs} +2 -2
  66. package/dist/{chunk-XXDRQBXY-CxhRgT48.cjs.map → chunk-XXDRQBXY-4p-LcxlZ.cjs.map} +1 -1
  67. package/dist/{chunk-XXDRQBXY-Bcfw5A34.js → chunk-XXDRQBXY-CrqV-Y-W.js} +2 -2
  68. package/dist/{chunk-XXDRQBXY-Bcfw5A34.js.map → chunk-XXDRQBXY-CrqV-Y-W.js.map} +1 -1
  69. package/dist/{classDiagram-OUVF2IWQ-B_3EhS80.js → classDiagram-OUVF2IWQ-CY6xTOe7.js} +3 -3
  70. package/dist/{classDiagram-OUVF2IWQ-B_3EhS80.js.map → classDiagram-OUVF2IWQ-CY6xTOe7.js.map} +1 -1
  71. package/dist/{classDiagram-OUVF2IWQ-DOcjEhYu.cjs → classDiagram-OUVF2IWQ-D_Rw9UKt.cjs} +2 -2
  72. package/dist/{classDiagram-OUVF2IWQ-DOcjEhYu.cjs.map → classDiagram-OUVF2IWQ-D_Rw9UKt.cjs.map} +1 -1
  73. package/dist/{classDiagram-v2-EOCWNBFH-B_3EhS80.js → classDiagram-v2-EOCWNBFH-CY6xTOe7.js} +3 -3
  74. package/dist/{classDiagram-v2-EOCWNBFH-B_3EhS80.js.map → classDiagram-v2-EOCWNBFH-CY6xTOe7.js.map} +1 -1
  75. package/dist/{classDiagram-v2-EOCWNBFH-DOcjEhYu.cjs → classDiagram-v2-EOCWNBFH-D_Rw9UKt.cjs} +2 -2
  76. package/dist/{classDiagram-v2-EOCWNBFH-DOcjEhYu.cjs.map → classDiagram-v2-EOCWNBFH-D_Rw9UKt.cjs.map} +1 -1
  77. package/dist/{cose-bilkent-JH36ORCC-C71XbNqh.cjs → cose-bilkent-JH36ORCC-CCPjlG3l.cjs} +2 -2
  78. package/dist/{cose-bilkent-JH36ORCC-C71XbNqh.cjs.map → cose-bilkent-JH36ORCC-CCPjlG3l.cjs.map} +1 -1
  79. package/dist/{cose-bilkent-JH36ORCC-4Q9Bop96.js → cose-bilkent-JH36ORCC-DZXWm3b4.js} +2 -2
  80. package/dist/{cose-bilkent-JH36ORCC-4Q9Bop96.js.map → cose-bilkent-JH36ORCC-DZXWm3b4.js.map} +1 -1
  81. package/dist/{cynefinDiagram-TSTJHNR4-BaRDmYD8.js → cynefinDiagram-TSTJHNR4-C_jLr8OF.js} +3 -3
  82. package/dist/{cynefinDiagram-TSTJHNR4-BaRDmYD8.js.map → cynefinDiagram-TSTJHNR4-C_jLr8OF.js.map} +1 -1
  83. package/dist/{cynefinDiagram-TSTJHNR4-VoNIIOad.cjs → cynefinDiagram-TSTJHNR4-DArSGzt5.cjs} +2 -2
  84. package/dist/{cynefinDiagram-TSTJHNR4-VoNIIOad.cjs.map → cynefinDiagram-TSTJHNR4-DArSGzt5.cjs.map} +1 -1
  85. package/dist/{dagre-VKFMJZFB-D52PY7nT.cjs → dagre-VKFMJZFB-CDLGY9Bv.cjs} +2 -2
  86. package/dist/{dagre-VKFMJZFB-D52PY7nT.cjs.map → dagre-VKFMJZFB-CDLGY9Bv.cjs.map} +1 -1
  87. package/dist/{dagre-VKFMJZFB-BGA-FZZP.js → dagre-VKFMJZFB-CtUCyCpT.js} +3 -3
  88. package/dist/{dagre-VKFMJZFB-BGA-FZZP.js.map → dagre-VKFMJZFB-CtUCyCpT.js.map} +1 -1
  89. package/dist/{diagram-FQU43EPY-DYIgOEEc.cjs → diagram-FQU43EPY-BAaJ0d4P.cjs} +2 -2
  90. package/dist/{diagram-FQU43EPY-DYIgOEEc.cjs.map → diagram-FQU43EPY-BAaJ0d4P.cjs.map} +1 -1
  91. package/dist/{diagram-FQU43EPY-BH34FnjN.js → diagram-FQU43EPY-Dbadtgzw.js} +3 -3
  92. package/dist/{diagram-FQU43EPY-BH34FnjN.js.map → diagram-FQU43EPY-Dbadtgzw.js.map} +1 -1
  93. package/dist/{diagram-G47NLZAW-mH3HKzoo.cjs → diagram-G47NLZAW-CGuDuG2a.cjs} +2 -2
  94. package/dist/{diagram-G47NLZAW-mH3HKzoo.cjs.map → diagram-G47NLZAW-CGuDuG2a.cjs.map} +1 -1
  95. package/dist/{diagram-G47NLZAW-WChF28z7.js → diagram-G47NLZAW-Cy4F56i2.js} +4 -4
  96. package/dist/{diagram-G47NLZAW-WChF28z7.js.map → diagram-G47NLZAW-Cy4F56i2.js.map} +1 -1
  97. package/dist/{diagram-NH7WQ7WH-tdTq_AHi.cjs → diagram-NH7WQ7WH-CYHJ_YsO.cjs} +2 -2
  98. package/dist/{diagram-NH7WQ7WH-tdTq_AHi.cjs.map → diagram-NH7WQ7WH-CYHJ_YsO.cjs.map} +1 -1
  99. package/dist/{diagram-NH7WQ7WH-Kd0O24I4.js → diagram-NH7WQ7WH-Cmzx4_kK.js} +3 -3
  100. package/dist/{diagram-NH7WQ7WH-Kd0O24I4.js.map → diagram-NH7WQ7WH-Cmzx4_kK.js.map} +1 -1
  101. package/dist/{diagram-OA4YK3LP-qCKyKhei.js → diagram-OA4YK3LP-BQkPy1gL.js} +4 -4
  102. package/dist/{diagram-OA4YK3LP-qCKyKhei.js.map → diagram-OA4YK3LP-BQkPy1gL.js.map} +1 -1
  103. package/dist/{diagram-OA4YK3LP-CPiH3LUJ.cjs → diagram-OA4YK3LP-U41B3NZl.cjs} +2 -2
  104. package/dist/{diagram-OA4YK3LP-CPiH3LUJ.cjs.map → diagram-OA4YK3LP-U41B3NZl.cjs.map} +1 -1
  105. package/dist/{diagram-WEI45ONY-CkB_vnAD.cjs → diagram-WEI45ONY-CqYKIPbE.cjs} +2 -2
  106. package/dist/{diagram-WEI45ONY-CkB_vnAD.cjs.map → diagram-WEI45ONY-CqYKIPbE.cjs.map} +1 -1
  107. package/dist/{diagram-WEI45ONY-I3v-4Jps.js → diagram-WEI45ONY-DCYXnsL3.js} +3 -3
  108. package/dist/{diagram-WEI45ONY-I3v-4Jps.js.map → diagram-WEI45ONY-DCYXnsL3.js.map} +1 -1
  109. package/dist/{ebnfDiagram-CCIWWBDH-D01FrBLw.cjs → ebnfDiagram-CCIWWBDH-CDdS5aKT.cjs} +2 -2
  110. package/dist/{ebnfDiagram-CCIWWBDH-D01FrBLw.cjs.map → ebnfDiagram-CCIWWBDH-CDdS5aKT.cjs.map} +1 -1
  111. package/dist/{ebnfDiagram-CCIWWBDH-qRQliEDI.js → ebnfDiagram-CCIWWBDH-D0HtPvdW.js} +4 -4
  112. package/dist/{ebnfDiagram-CCIWWBDH-qRQliEDI.js.map → ebnfDiagram-CCIWWBDH-D0HtPvdW.js.map} +1 -1
  113. package/dist/{erDiagram-Q63AITRT-81z7zEmD.js → erDiagram-Q63AITRT-DSHmVsfi.js} +5 -5
  114. package/dist/{erDiagram-Q63AITRT-81z7zEmD.js.map → erDiagram-Q63AITRT-DSHmVsfi.js.map} +1 -1
  115. package/dist/{erDiagram-Q63AITRT-CaLgABim.cjs → erDiagram-Q63AITRT-DYV2_G4O.cjs} +2 -2
  116. package/dist/{erDiagram-Q63AITRT-CaLgABim.cjs.map → erDiagram-Q63AITRT-DYV2_G4O.cjs.map} +1 -1
  117. package/dist/{extractHeadings-Bfq3sy4n.js → extractHeadings-C8-uflNg.js} +43 -43
  118. package/dist/{extractHeadings-Bfq3sy4n.js.map → extractHeadings-C8-uflNg.js.map} +1 -1
  119. package/dist/{extractHeadings-D7EoVxUv.cjs → extractHeadings-D0L5hMHB.cjs} +4 -4
  120. package/dist/{extractHeadings-D7EoVxUv.cjs.map → extractHeadings-D0L5hMHB.cjs.map} +1 -1
  121. package/dist/flowDiagram-23GEKE2U-Cf-gVgCQ.cjs +2 -0
  122. package/dist/flowDiagram-23GEKE2U-Cf-gVgCQ.cjs.map +1 -0
  123. package/dist/flowDiagram-23GEKE2U-V8nxVw67.js +8 -0
  124. package/dist/flowDiagram-23GEKE2U-V8nxVw67.js.map +1 -0
  125. package/dist/{ganttDiagram-NO4QXBWP-Dru2eObx.js → ganttDiagram-NO4QXBWP-D1yn3qF6.js} +3 -3
  126. package/dist/{ganttDiagram-NO4QXBWP-Dru2eObx.js.map → ganttDiagram-NO4QXBWP-D1yn3qF6.js.map} +1 -1
  127. package/dist/{ganttDiagram-NO4QXBWP-DM3HYvkR.cjs → ganttDiagram-NO4QXBWP-Dzp77-Og.cjs} +2 -2
  128. package/dist/{ganttDiagram-NO4QXBWP-DM3HYvkR.cjs.map → ganttDiagram-NO4QXBWP-Dzp77-Og.cjs.map} +1 -1
  129. package/dist/{gitGraphDiagram-IHSO6WYX-CSSBQ0pN.cjs → gitGraphDiagram-IHSO6WYX-Bav20D09.cjs} +2 -2
  130. package/dist/{gitGraphDiagram-IHSO6WYX-CSSBQ0pN.cjs.map → gitGraphDiagram-IHSO6WYX-Bav20D09.cjs.map} +1 -1
  131. package/dist/{gitGraphDiagram-IHSO6WYX-Dh6JCVl_.js → gitGraphDiagram-IHSO6WYX-Bjjt_fvH.js} +4 -4
  132. package/dist/{gitGraphDiagram-IHSO6WYX-Dh6JCVl_.js.map → gitGraphDiagram-IHSO6WYX-Bjjt_fvH.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-CToqLObg.js → infoDiagram-FWYZ7A6U-B2fQgHuK.js} +2 -2
  138. package/dist/{infoDiagram-FWYZ7A6U-CToqLObg.js.map → infoDiagram-FWYZ7A6U-B2fQgHuK.js.map} +1 -1
  139. package/dist/{infoDiagram-FWYZ7A6U-B1gCSk-C.cjs → infoDiagram-FWYZ7A6U-CmMedEcN.cjs} +2 -2
  140. package/dist/{infoDiagram-FWYZ7A6U-B1gCSk-C.cjs.map → infoDiagram-FWYZ7A6U-CmMedEcN.cjs.map} +1 -1
  141. package/dist/{ishikawaDiagram-FXEZZL3T-BAHxx9AA.js → ishikawaDiagram-FXEZZL3T-CzCEw_Ul.js} +2 -2
  142. package/dist/{ishikawaDiagram-FXEZZL3T-BAHxx9AA.js.map → ishikawaDiagram-FXEZZL3T-CzCEw_Ul.js.map} +1 -1
  143. package/dist/{ishikawaDiagram-FXEZZL3T-CJ7d67cm.cjs → ishikawaDiagram-FXEZZL3T-DJyX5Gha.cjs} +2 -2
  144. package/dist/{ishikawaDiagram-FXEZZL3T-CJ7d67cm.cjs.map → ishikawaDiagram-FXEZZL3T-DJyX5Gha.cjs.map} +1 -1
  145. package/dist/{journeyDiagram-5HDEW3XC-Dz8rXYFV.js → journeyDiagram-5HDEW3XC-BGN5aU4q.js} +5 -5
  146. package/dist/{journeyDiagram-5HDEW3XC-Dz8rXYFV.js.map → journeyDiagram-5HDEW3XC-BGN5aU4q.js.map} +1 -1
  147. package/dist/{journeyDiagram-5HDEW3XC-C7asd6DP.cjs → journeyDiagram-5HDEW3XC-CIvJdEj0.cjs} +2 -2
  148. package/dist/{journeyDiagram-5HDEW3XC-C7asd6DP.cjs.map → journeyDiagram-5HDEW3XC-CIvJdEj0.cjs.map} +1 -1
  149. package/dist/{kanban-definition-HUTT4EX6-CZcRrcA5.js → kanban-definition-HUTT4EX6-D35VyFf4.js} +3 -3
  150. package/dist/{kanban-definition-HUTT4EX6-CZcRrcA5.js.map → kanban-definition-HUTT4EX6-D35VyFf4.js.map} +1 -1
  151. package/dist/{kanban-definition-HUTT4EX6-BoJjVrzF.cjs → kanban-definition-HUTT4EX6-iEIg5sKs.cjs} +2 -2
  152. package/dist/{kanban-definition-HUTT4EX6-BoJjVrzF.cjs.map → kanban-definition-HUTT4EX6-iEIg5sKs.cjs.map} +1 -1
  153. package/dist/{linear-CgDXuRrh.js → linear-Cmh-DOwR.js} +2 -2
  154. package/dist/{linear-CgDXuRrh.js.map → linear-Cmh-DOwR.js.map} +1 -1
  155. package/dist/{linear-D2rGcy0L.cjs → linear-l2OX_Le7.cjs} +2 -2
  156. package/dist/{linear-D2rGcy0L.cjs.map → linear-l2OX_Le7.cjs.map} +1 -1
  157. package/dist/{mindmap-definition-LN4V7U3C-BXWAe9Ds.js → mindmap-definition-LN4V7U3C-BgHuUUsq.js} +4 -4
  158. package/dist/{mindmap-definition-LN4V7U3C-BXWAe9Ds.js.map → mindmap-definition-LN4V7U3C-BgHuUUsq.js.map} +1 -1
  159. package/dist/{mindmap-definition-LN4V7U3C-DGZVDvzX.cjs → mindmap-definition-LN4V7U3C-Btqpo9UV.cjs} +2 -2
  160. package/dist/{mindmap-definition-LN4V7U3C-DGZVDvzX.cjs.map → mindmap-definition-LN4V7U3C-Btqpo9UV.cjs.map} +1 -1
  161. package/dist/{pegDiagram-2B236MQR-CQ0Tx9fr.js → pegDiagram-2B236MQR-DLJzscb9.js} +4 -4
  162. package/dist/{pegDiagram-2B236MQR-CQ0Tx9fr.js.map → pegDiagram-2B236MQR-DLJzscb9.js.map} +1 -1
  163. package/dist/{pegDiagram-2B236MQR-BbOSWb4V.cjs → pegDiagram-2B236MQR-roiPWRiH.cjs} +2 -2
  164. package/dist/{pegDiagram-2B236MQR-BbOSWb4V.cjs.map → pegDiagram-2B236MQR-roiPWRiH.cjs.map} +1 -1
  165. package/dist/{pieDiagram-ENE6RG2P-CFlgwb-W.cjs → pieDiagram-ENE6RG2P-CGlCA23u.cjs} +2 -2
  166. package/dist/{pieDiagram-ENE6RG2P-CFlgwb-W.cjs.map → pieDiagram-ENE6RG2P-CGlCA23u.cjs.map} +1 -1
  167. package/dist/{pieDiagram-ENE6RG2P-CxlDG1MC.js → pieDiagram-ENE6RG2P-Z0Tr5rLS.js} +4 -4
  168. package/dist/{pieDiagram-ENE6RG2P-CxlDG1MC.js.map → pieDiagram-ENE6RG2P-Z0Tr5rLS.js.map} +1 -1
  169. package/dist/{quadrantDiagram-ABIIQ3AL-yjLgVTuz.js → quadrantDiagram-ABIIQ3AL-CJ1ISOQ0.js} +3 -3
  170. package/dist/{quadrantDiagram-ABIIQ3AL-yjLgVTuz.js.map → quadrantDiagram-ABIIQ3AL-CJ1ISOQ0.js.map} +1 -1
  171. package/dist/{quadrantDiagram-ABIIQ3AL-5Yu2fHHi.cjs → quadrantDiagram-ABIIQ3AL-DorNYvMy.cjs} +2 -2
  172. package/dist/{quadrantDiagram-ABIIQ3AL-5Yu2fHHi.cjs.map → quadrantDiagram-ABIIQ3AL-DorNYvMy.cjs.map} +1 -1
  173. package/dist/{railroadDiagram-RFXS5EU6-ItaHc4Vp.cjs → railroadDiagram-RFXS5EU6-B_4eQzNx.cjs} +2 -2
  174. package/dist/{railroadDiagram-RFXS5EU6-ItaHc4Vp.cjs.map → railroadDiagram-RFXS5EU6-B_4eQzNx.cjs.map} +1 -1
  175. package/dist/{railroadDiagram-RFXS5EU6-pGDCfgIi.js → railroadDiagram-RFXS5EU6-D7btuBis.js} +4 -4
  176. package/dist/{railroadDiagram-RFXS5EU6-pGDCfgIi.js.map → railroadDiagram-RFXS5EU6-D7btuBis.js.map} +1 -1
  177. package/dist/{requirementDiagram-TGXJPOKE-M6nAiu_t.js → requirementDiagram-TGXJPOKE-Bn0TBPZZ.js} +4 -4
  178. package/dist/{requirementDiagram-TGXJPOKE-M6nAiu_t.js.map → requirementDiagram-TGXJPOKE-Bn0TBPZZ.js.map} +1 -1
  179. package/dist/{requirementDiagram-TGXJPOKE-D23EvAvl.cjs → requirementDiagram-TGXJPOKE-Coq4TPEH.cjs} +2 -2
  180. package/dist/{requirementDiagram-TGXJPOKE-D23EvAvl.cjs.map → requirementDiagram-TGXJPOKE-Coq4TPEH.cjs.map} +1 -1
  181. package/dist/{sankeyDiagram-HTMAVEWB-Ds8_2jXN.js → sankeyDiagram-HTMAVEWB-BrZE6B7z.js} +2 -2
  182. package/dist/{sankeyDiagram-HTMAVEWB-Ds8_2jXN.js.map → sankeyDiagram-HTMAVEWB-BrZE6B7z.js.map} +1 -1
  183. package/dist/{sankeyDiagram-HTMAVEWB-9bEQyXhc.cjs → sankeyDiagram-HTMAVEWB-uvKU8Z1V.cjs} +2 -2
  184. package/dist/{sankeyDiagram-HTMAVEWB-9bEQyXhc.cjs.map → sankeyDiagram-HTMAVEWB-uvKU8Z1V.cjs.map} +1 -1
  185. package/dist/{sequenceDiagram-DBY2YBRQ-o1ydGqHW.cjs → sequenceDiagram-DBY2YBRQ-DYLA-hiX.cjs} +2 -2
  186. package/dist/{sequenceDiagram-DBY2YBRQ-o1ydGqHW.cjs.map → sequenceDiagram-DBY2YBRQ-DYLA-hiX.cjs.map} +1 -1
  187. package/dist/{sequenceDiagram-DBY2YBRQ-DAV72IKm.js → sequenceDiagram-DBY2YBRQ-Ld9DjEAL.js} +4 -4
  188. package/dist/{sequenceDiagram-DBY2YBRQ-DAV72IKm.js.map → sequenceDiagram-DBY2YBRQ-Ld9DjEAL.js.map} +1 -1
  189. package/dist/{sizeCapture-X5ZJPWSS-CZQIHvLg.js → sizeCapture-X5ZJPWSS-COd46XYA.js} +2 -2
  190. package/dist/{sizeCapture-X5ZJPWSS-CZQIHvLg.js.map → sizeCapture-X5ZJPWSS-COd46XYA.js.map} +1 -1
  191. package/dist/{sizeCapture-X5ZJPWSS-U39maAgM.cjs → sizeCapture-X5ZJPWSS-DekqMlF3.cjs} +2 -2
  192. package/dist/{sizeCapture-X5ZJPWSS-U39maAgM.cjs.map → sizeCapture-X5ZJPWSS-DekqMlF3.cjs.map} +1 -1
  193. package/dist/src/components/mdastNodes/TwitterEmbedNode.d.ts.map +1 -1
  194. package/dist/{stateDiagram-2N3HPSRC-CPx2N_bR.cjs → stateDiagram-2N3HPSRC-CqFpcc2E.cjs} +2 -2
  195. package/dist/{stateDiagram-2N3HPSRC-CPx2N_bR.cjs.map → stateDiagram-2N3HPSRC-CqFpcc2E.cjs.map} +1 -1
  196. package/dist/{stateDiagram-2N3HPSRC-C3hijqyg.js → stateDiagram-2N3HPSRC-c5IFARv9.js} +3 -3
  197. package/dist/{stateDiagram-2N3HPSRC-C3hijqyg.js.map → stateDiagram-2N3HPSRC-c5IFARv9.js.map} +1 -1
  198. package/dist/{stateDiagram-v2-6OUMAXLB-B4JnO7oF.js → stateDiagram-v2-6OUMAXLB-DE5qVbne.js} +3 -3
  199. package/dist/{stateDiagram-v2-6OUMAXLB-B4JnO7oF.js.map → stateDiagram-v2-6OUMAXLB-DE5qVbne.js.map} +1 -1
  200. package/dist/{stateDiagram-v2-6OUMAXLB-7vyxBco-.cjs → stateDiagram-v2-6OUMAXLB-Y2OIOAuG.cjs} +2 -2
  201. package/dist/{stateDiagram-v2-6OUMAXLB-7vyxBco-.cjs.map → stateDiagram-v2-6OUMAXLB-Y2OIOAuG.cjs.map} +1 -1
  202. package/dist/{swimlanes-5IMT3BWC-hi85Pjjn.cjs → swimlanes-5IMT3BWC-D9QsN5z9.cjs} +2 -2
  203. package/dist/{swimlanes-5IMT3BWC-hi85Pjjn.cjs.map → swimlanes-5IMT3BWC-D9QsN5z9.cjs.map} +1 -1
  204. package/dist/{swimlanes-5IMT3BWC-CCxOuH7b.js → swimlanes-5IMT3BWC-Dk5rHErR.js} +4 -4
  205. package/dist/{swimlanes-5IMT3BWC-CCxOuH7b.js.map → swimlanes-5IMT3BWC-Dk5rHErR.js.map} +1 -1
  206. package/dist/{swimlanesDiagram-G3AALYLV-BLfz3eDk.js → swimlanesDiagram-G3AALYLV-Bv7kKcuh.js} +3 -3
  207. package/dist/{swimlanesDiagram-G3AALYLV-BLfz3eDk.js.map → swimlanesDiagram-G3AALYLV-Bv7kKcuh.js.map} +1 -1
  208. package/dist/{swimlanesDiagram-G3AALYLV-CtztPY5m.cjs → swimlanesDiagram-G3AALYLV-CYI3Y5AN.cjs} +2 -2
  209. package/dist/{swimlanesDiagram-G3AALYLV-CtztPY5m.cjs.map → swimlanesDiagram-G3AALYLV-CYI3Y5AN.cjs.map} +1 -1
  210. package/dist/{timeline-definition-FHXFAJF6-BeZJW4pc.cjs → timeline-definition-FHXFAJF6-BjtmBcJ0.cjs} +2 -2
  211. package/dist/{timeline-definition-FHXFAJF6-BeZJW4pc.cjs.map → timeline-definition-FHXFAJF6-BjtmBcJ0.cjs.map} +1 -1
  212. package/dist/{timeline-definition-FHXFAJF6-CSCk8LV7.js → timeline-definition-FHXFAJF6-neQ5HF9O.js} +3 -3
  213. package/dist/{timeline-definition-FHXFAJF6-CSCk8LV7.js.map → timeline-definition-FHXFAJF6-neQ5HF9O.js.map} +1 -1
  214. package/dist/{vennDiagram-L72KCM5P-hIHAAgUv.js → vennDiagram-L72KCM5P-BWCx0JWU.js} +2 -2
  215. package/dist/{vennDiagram-L72KCM5P-hIHAAgUv.js.map → vennDiagram-L72KCM5P-BWCx0JWU.js.map} +1 -1
  216. package/dist/{vennDiagram-L72KCM5P-Bv4y-Znw.cjs → vennDiagram-L72KCM5P-CmbNlDXz.cjs} +2 -2
  217. package/dist/{vennDiagram-L72KCM5P-Bv4y-Znw.cjs.map → vennDiagram-L72KCM5P-CmbNlDXz.cjs.map} +1 -1
  218. package/dist/{wardleyDiagram-EHGQE667-DrYyxkNS.js → wardleyDiagram-EHGQE667-BSQjKey2.js} +3 -3
  219. package/dist/{wardleyDiagram-EHGQE667-DrYyxkNS.js.map → wardleyDiagram-EHGQE667-BSQjKey2.js.map} +1 -1
  220. package/dist/{wardleyDiagram-EHGQE667-CpNEWFuw.cjs → wardleyDiagram-EHGQE667-D9Skt5ER.cjs} +2 -2
  221. package/dist/{wardleyDiagram-EHGQE667-CpNEWFuw.cjs.map → wardleyDiagram-EHGQE667-D9Skt5ER.cjs.map} +1 -1
  222. package/dist/{xychartDiagram-FW5EYKEG-tJDvrCsf.js → xychartDiagram-FW5EYKEG-Bb1p0f9X.js} +3 -3
  223. package/dist/{xychartDiagram-FW5EYKEG-tJDvrCsf.js.map → xychartDiagram-FW5EYKEG-Bb1p0f9X.js.map} +1 -1
  224. package/dist/{xychartDiagram-FW5EYKEG-CQmjL5Xe.cjs → xychartDiagram-FW5EYKEG-Bo1zygix.cjs} +2 -2
  225. package/dist/{xychartDiagram-FW5EYKEG-CQmjL5Xe.cjs.map → xychartDiagram-FW5EYKEG-Bo1zygix.cjs.map} +1 -1
  226. package/package.json +1 -1
  227. package/dist/channel-D_6dvHAs.js +0 -6
  228. package/dist/channel-zt9HkRFF.cjs +0 -2
  229. package/dist/flowDiagram-23GEKE2U-DC7fT93H.js +0 -8
  230. package/dist/flowDiagram-23GEKE2U-DC7fT93H.js.map +0 -1
  231. package/dist/flowDiagram-23GEKE2U-Dd4et2lu.cjs +0 -2
  232. package/dist/flowDiagram-23GEKE2U-Dd4et2lu.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-MOJQB5TN-DdwwbAD7.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MOJQB5TN.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n clear,\n configureSvgSize,\n getConfig,\n getConfig2,\n getThemeVariables,\n sanitizeText\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/railroad/railroadDb.ts\nvar diagramTitle = \"\";\nvar accTitle = \"\";\nvar accDescription = \"\";\nvar rules = [];\nvar ruleMap = /* @__PURE__ */ new Map();\nvar sanitizeText2 = /* @__PURE__ */ __name((text) => {\n return sanitizeText(text, getConfig2());\n}, \"sanitizeText\");\nvar sanitizeAstNode = /* @__PURE__ */ __name((node) => {\n switch (node.type) {\n case \"terminal\":\n return { ...node, value: sanitizeText2(node.value) };\n case \"nonterminal\":\n return { ...node, name: sanitizeText2(node.name) };\n case \"sequence\":\n return { ...node, elements: node.elements.map(sanitizeAstNode) };\n case \"choice\":\n return { ...node, alternatives: node.alternatives.map(sanitizeAstNode) };\n case \"optional\":\n return { ...node, element: sanitizeAstNode(node.element) };\n case \"repetition\":\n return {\n ...node,\n element: sanitizeAstNode(node.element),\n separator: node.separator ? sanitizeAstNode(node.separator) : void 0\n };\n case \"special\":\n return { ...node, text: sanitizeText2(node.text) };\n }\n}, \"sanitizeAstNode\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n diagramTitle = \"\";\n accTitle = \"\";\n accDescription = \"\";\n rules.length = 0;\n ruleMap.clear();\n clear();\n log.debug(\"[Railroad] Database cleared\");\n}, \"clear\");\nvar setTitle = /* @__PURE__ */ __name((text) => {\n diagramTitle = sanitizeText2(text);\n log.debug(\"[Railroad] Title set:\", text);\n}, \"setTitle\");\nvar getTitle = /* @__PURE__ */ __name(() => {\n return diagramTitle;\n}, \"getTitle\");\nvar addRule = /* @__PURE__ */ __name((rule) => {\n const sanitizedRule = {\n ...rule,\n name: sanitizeText2(rule.name),\n definition: sanitizeAstNode(rule.definition),\n comment: rule.comment ? sanitizeText2(rule.comment) : void 0\n };\n log.debug(\"[Railroad] Adding rule:\", sanitizedRule.name);\n if (ruleMap.has(sanitizedRule.name)) {\n log.warn(`[Railroad] Rule '${sanitizedRule.name}' is already defined. Overwriting.`);\n }\n rules.push(sanitizedRule);\n ruleMap.set(sanitizedRule.name, sanitizedRule);\n}, \"addRule\");\nvar getRules = /* @__PURE__ */ __name(() => {\n return rules;\n}, \"getRules\");\nvar getRule = /* @__PURE__ */ __name((name) => {\n return ruleMap.get(name);\n}, \"getRule\");\nvar setAccTitle = /* @__PURE__ */ __name((text) => {\n accTitle = sanitizeText2(text).replace(/^\\s+/g, \"\");\n log.debug(\"[Railroad] Accessibility title set:\", text);\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => {\n return accTitle;\n}, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((text) => {\n accDescription = sanitizeText2(text).replace(/\\n\\s+/g, \"\\n\");\n log.debug(\"[Railroad] Accessibility description set:\", text);\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => {\n return accDescription;\n}, \"getAccDescription\");\nvar setDiagramTitle = setTitle;\nvar getDiagramTitle = getTitle;\nvar db = {\n clear: clear2,\n setTitle,\n getTitle,\n addRule,\n getRules,\n getRule,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/railroad/railroadTypes.ts\nvar DEFAULT_RAILROAD_CONFIG = {\n // Layout\n compactMode: false,\n // Spacing\n padding: 10,\n verticalSeparation: 8,\n horizontalSeparation: 10,\n arcRadius: 10,\n // Typography\n fontSize: 14,\n fontFamily: \"monospace\",\n // Colors - Terminal\n terminalFill: \"#FFFFC0\",\n terminalStroke: \"#000000\",\n terminalTextColor: \"#000000\",\n // Colors - Non-terminal\n nonTerminalFill: \"#FFFFFF\",\n nonTerminalStroke: \"#000000\",\n nonTerminalTextColor: \"#000000\",\n // Colors - Lines\n lineColor: \"#000000\",\n strokeWidth: 2,\n // Colors - Markers\n markerFill: \"#000000\",\n // Colors - Comment\n commentFill: \"#E8E8E8\",\n commentStroke: \"#888888\",\n commentTextColor: \"#666666\",\n // Colors - Special\n specialFill: \"#F0E0FF\",\n specialStroke: \"#8800CC\",\n // Other\n ruleNameColor: \"#000066\",\n showMarkers: true,\n markerRadius: 5\n};\n\n// src/diagrams/railroad/styles.ts\nvar COLOR_VALUE_PATTERN = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\\([\\d\\s%+,./-]+\\)$|^[a-z]+$/i;\nvar FONT_FAMILY_PATTERN = /^[\\w \"',.-]+$/;\nvar RAILROAD_STYLE_OPTION_KEYS = /* @__PURE__ */ new Set([\n \"compactMode\",\n \"padding\",\n \"verticalSeparation\",\n \"horizontalSeparation\",\n \"arcRadius\",\n \"fontSize\",\n \"fontFamily\",\n \"terminalFill\",\n \"terminalStroke\",\n \"terminalTextColor\",\n \"nonTerminalFill\",\n \"nonTerminalStroke\",\n \"nonTerminalTextColor\",\n \"lineColor\",\n \"strokeWidth\",\n \"markerFill\",\n \"commentFill\",\n \"commentStroke\",\n \"commentTextColor\",\n \"specialFill\",\n \"specialStroke\",\n \"ruleNameColor\",\n \"showMarkers\",\n \"markerRadius\"\n]);\nvar isRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return false;\n }\n return Object.keys(options).every(\n (key) => key === \"railroad\" || RAILROAD_STYLE_OPTION_KEYS.has(key)\n );\n}, \"isRailroadStyleOptions\");\nvar extractRailroadOverrides = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return {};\n }\n if (\"railroad\" in options && options.railroad) {\n return options.railroad;\n }\n return isRailroadStyleOptions(options) ? options : {};\n}, \"extractRailroadOverrides\");\nvar extractThemeOverrides = /* @__PURE__ */ __name((options) => {\n if (!options || isRailroadStyleOptions(options)) {\n return {};\n }\n const {\n railroad: _railroad,\n svgId: _svgId,\n theme: _theme,\n look: _look,\n ...themeOverrides\n } = options;\n return themeOverrides;\n}, \"extractThemeOverrides\");\nvar sanitizeColorValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return COLOR_VALUE_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeColorValue\");\nvar sanitizeFontFamilyValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return FONT_FAMILY_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeFontFamilyValue\");\nvar sanitizeNumberValue = /* @__PURE__ */ __name((value, fallback) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;\n}, \"sanitizeNumberValue\");\nvar parseThemeFontSize = /* @__PURE__ */ __name((value) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed > 0 ? parsed : void 0;\n}, \"parseThemeFontSize\");\nvar buildThemeDefaults = /* @__PURE__ */ __name((themeVariables) => {\n const fontFamily = sanitizeFontFamilyValue(\n themeVariables.fontFamily,\n DEFAULT_RAILROAD_CONFIG.fontFamily\n );\n const fontSize = parseThemeFontSize(themeVariables.fontSize) ?? DEFAULT_RAILROAD_CONFIG.fontSize;\n return {\n ...DEFAULT_RAILROAD_CONFIG,\n fontFamily,\n fontSize,\n terminalFill: sanitizeColorValue(\n themeVariables.secondBkg ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.terminalFill\n ),\n terminalStroke: sanitizeColorValue(\n themeVariables.secondaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n themeVariables.secondaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n themeVariables.mainBkg ?? themeVariables.background,\n DEFAULT_RAILROAD_CONFIG.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n themeVariables.primaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n themeVariables.primaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.lineColor),\n markerFill: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.markerFill),\n commentFill: sanitizeColorValue(\n themeVariables.labelBackground ?? themeVariables.tertiaryColor,\n DEFAULT_RAILROAD_CONFIG.commentFill\n ),\n commentStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.commentStroke\n ),\n commentTextColor: sanitizeColorValue(\n themeVariables.tertiaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.commentTextColor\n ),\n specialFill: sanitizeColorValue(\n themeVariables.tertiaryColor ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.specialFill\n ),\n specialStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.secondaryBorderColor,\n DEFAULT_RAILROAD_CONFIG.specialStroke\n ),\n ruleNameColor: sanitizeColorValue(\n themeVariables.titleColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.ruleNameColor\n )\n };\n}, \"buildThemeDefaults\");\nvar buildRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n const currentConfig = getConfig();\n const themeVariables = {\n ...getThemeVariables(),\n ...currentConfig.themeVariables ?? {},\n ...extractThemeOverrides(options)\n };\n const themeDefaults = buildThemeDefaults(themeVariables);\n const railroadOptions = {\n ...currentConfig.railroad ?? {},\n ...extractRailroadOverrides(options)\n };\n return {\n compactMode: railroadOptions.compactMode ?? themeDefaults.compactMode,\n padding: sanitizeNumberValue(railroadOptions.padding, themeDefaults.padding),\n verticalSeparation: sanitizeNumberValue(\n railroadOptions.verticalSeparation,\n themeDefaults.verticalSeparation\n ),\n horizontalSeparation: sanitizeNumberValue(\n railroadOptions.horizontalSeparation,\n themeDefaults.horizontalSeparation\n ),\n arcRadius: sanitizeNumberValue(railroadOptions.arcRadius, themeDefaults.arcRadius),\n fontSize: sanitizeNumberValue(railroadOptions.fontSize, themeDefaults.fontSize),\n fontFamily: sanitizeFontFamilyValue(railroadOptions.fontFamily, themeDefaults.fontFamily),\n terminalFill: sanitizeColorValue(railroadOptions.terminalFill, themeDefaults.terminalFill),\n terminalStroke: sanitizeColorValue(\n railroadOptions.terminalStroke,\n themeDefaults.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n railroadOptions.terminalTextColor,\n themeDefaults.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n railroadOptions.nonTerminalFill,\n themeDefaults.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n railroadOptions.nonTerminalStroke,\n themeDefaults.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n railroadOptions.nonTerminalTextColor,\n themeDefaults.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(railroadOptions.lineColor, themeDefaults.lineColor),\n strokeWidth: sanitizeNumberValue(railroadOptions.strokeWidth, themeDefaults.strokeWidth),\n markerFill: sanitizeColorValue(railroadOptions.markerFill, themeDefaults.markerFill),\n commentFill: sanitizeColorValue(railroadOptions.commentFill, themeDefaults.commentFill),\n commentStroke: sanitizeColorValue(railroadOptions.commentStroke, themeDefaults.commentStroke),\n commentTextColor: sanitizeColorValue(\n railroadOptions.commentTextColor,\n themeDefaults.commentTextColor\n ),\n specialFill: sanitizeColorValue(railroadOptions.specialFill, themeDefaults.specialFill),\n specialStroke: sanitizeColorValue(railroadOptions.specialStroke, themeDefaults.specialStroke),\n ruleNameColor: sanitizeColorValue(railroadOptions.ruleNameColor, themeDefaults.ruleNameColor),\n showMarkers: railroadOptions.showMarkers ?? themeDefaults.showMarkers,\n markerRadius: sanitizeNumberValue(railroadOptions.markerRadius, themeDefaults.markerRadius)\n };\n}, \"buildRailroadStyleOptions\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const {\n fontFamily,\n fontSize,\n terminalFill,\n terminalStroke,\n terminalTextColor,\n nonTerminalFill,\n nonTerminalStroke,\n nonTerminalTextColor,\n lineColor,\n strokeWidth,\n markerFill,\n commentFill,\n commentStroke,\n commentTextColor,\n specialFill,\n specialStroke,\n ruleNameColor\n } = buildRailroadStyleOptions(options);\n return `\n .railroad-diagram {\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-terminal rect {\n fill: ${terminalFill};\n stroke: ${terminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-terminal text {\n fill: ${terminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-nonterminal rect {\n fill: ${nonTerminalFill};\n stroke: ${nonTerminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-nonterminal text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-line {\n stroke: ${lineColor};\n stroke-width: ${strokeWidth}px;\n fill: none;\n }\n\n .railroad-start circle,\n .railroad-end circle {\n fill: ${markerFill};\n }\n\n .railroad-comment ellipse {\n fill: ${commentFill};\n stroke: ${commentStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-comment text {\n fill: ${commentTextColor};\n font-style: italic;\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-special rect {\n fill: ${specialFill};\n stroke: ${specialStroke};\n stroke-width: ${strokeWidth}px;\n stroke-dasharray: 5,3;\n }\n\n .railroad-special text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-rule-name {\n font-weight: bold;\n fill: ${ruleNameColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-group {\n /* Grouping container, no specific styles */\n }\n`;\n}, \"getStyles\");\n\n// src/diagrams/railroad/railroadRenderer.ts\nvar PathBuilder = class {\n constructor() {\n this.d = \"\";\n }\n static {\n __name(this, \"PathBuilder\");\n }\n moveTo(x, y) {\n this.d += `M ${x} ${y} `;\n return this;\n }\n lineTo(x, y) {\n this.d += `L ${x} ${y} `;\n return this;\n }\n horizontalTo(x) {\n this.d += `H ${x} `;\n return this;\n }\n verticalTo(y) {\n this.d += `V ${y} `;\n return this;\n }\n arcTo(rx, ry, rotation, largeArc, sweep, x, y) {\n this.d += `A ${rx} ${ry} ${rotation} ${largeArc ? 1 : 0} ${sweep ? 1 : 0} ${x} ${y} `;\n return this;\n }\n build() {\n return this.d.trim();\n }\n};\nvar RailroadRenderer = class {\n constructor(svg, config = buildRailroadStyleOptions()) {\n this.textCache = /* @__PURE__ */ new Map();\n this.svg = svg;\n this.config = config;\n }\n static {\n __name(this, \"RailroadRenderer\");\n }\n /**\n * Measure text dimensions\n */\n measureText(text) {\n if (this.textCache.has(text)) {\n return this.textCache.get(text);\n }\n const tempText = this.svg.append(\"text\").attr(\"font-family\", this.config.fontFamily).attr(\"font-size\", this.config.fontSize).text(text);\n const bbox = tempText.node().getBBox();\n const dimensions = { width: bbox.width, height: bbox.height };\n tempText.remove();\n this.textCache.set(text, dimensions);\n return dimensions;\n }\n /**\n * Render terminal symbol (rounded rectangle)\n */\n renderTerminal(parent, value) {\n const textDim = this.measureText(value);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-terminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height).attr(\"rx\", 10).attr(\"ry\", 10);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(value);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render non-terminal symbol (rectangle)\n */\n renderNonTerminal(parent, name) {\n const textDim = this.measureText(name);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-nonterminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(name);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render sequence (horizontal concatenation)\n */\n renderSequence(parent, elements) {\n const rendered = elements.map((e) => this.renderExpression(parent, e));\n let totalWidth = 0;\n let maxUp = 0;\n let maxDown = 0;\n for (const r of rendered) {\n totalWidth += r.dimensions.width;\n maxUp = Math.max(maxUp, r.dimensions.up);\n maxDown = Math.max(maxDown, r.dimensions.down);\n }\n totalWidth += (rendered.length - 1) * this.config.horizontalSeparation;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-sequence\");\n let x = 0;\n for (let i = 0; i < rendered.length; i++) {\n const r = rendered[i];\n const y = maxUp - r.dimensions.up;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${x}, ${y})`);\n if (i < rendered.length - 1) {\n const lineX1 = x + r.dimensions.width;\n const lineX2 = lineX1 + this.config.horizontalSeparation;\n const lineY = maxUp;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", new PathBuilder().moveTo(lineX1, lineY).lineTo(lineX2, lineY).build());\n }\n x += r.dimensions.width + this.config.horizontalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: maxUp + maxDown,\n up: maxUp,\n down: maxDown\n }\n };\n }\n /**\n * Render choice (vertical alternatives)\n */\n renderChoice(parent, alternatives) {\n const rendered = alternatives.map((a) => this.renderExpression(parent, a));\n let maxWidth = 0;\n let totalHeight = 0;\n for (const r of rendered) {\n maxWidth = Math.max(maxWidth, r.dimensions.width);\n totalHeight += r.dimensions.height;\n }\n totalHeight += (rendered.length - 1) * this.config.verticalSeparation;\n const arcRadius = this.config.arcRadius;\n const arcWidth = arcRadius * 4;\n const totalWidth = maxWidth + arcWidth;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-choice\");\n let y = 0;\n const centerY = totalHeight / 2;\n for (const r of rendered) {\n const elemY = y;\n const elemCenterY = elemY + r.dimensions.up;\n const elemX = arcRadius * 2 + (maxWidth - r.dimensions.width) / 2;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const leftPath = new PathBuilder();\n const isBelowCenter = elemCenterY > centerY;\n if (elemCenterY === centerY) {\n leftPath.moveTo(0, centerY).lineTo(elemX, elemCenterY);\n } else {\n leftPath.moveTo(0, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n isBelowCenter,\n arcRadius,\n centerY + (isBelowCenter ? arcRadius : -arcRadius)\n ).lineTo(arcRadius, elemCenterY - (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, !isBelowCenter, arcRadius * 2, elemCenterY).lineTo(elemX, elemCenterY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", leftPath.build());\n const rightPath = new PathBuilder();\n const rightStart = elemX + r.dimensions.width;\n const rightLaneX = totalWidth - arcRadius * 2;\n if (elemCenterY === centerY) {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(totalWidth, centerY);\n } else {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(rightLaneX, elemCenterY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n !isBelowCenter,\n totalWidth - arcRadius,\n elemCenterY + (isBelowCenter ? -arcRadius : arcRadius)\n ).lineTo(totalWidth - arcRadius, centerY + (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, isBelowCenter, totalWidth, centerY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", rightPath.build());\n y += r.dimensions.height + this.config.verticalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render optional (bypass path above)\n */\n renderOptional(parent, element) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const totalHeight = inner.dimensions.height + arcHeight;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-optional\");\n const elemX = arcRadius * 2;\n const elemY = arcHeight;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n const lowerPath = new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath.build());\n const lowerPath2 = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath2.build());\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render repetition (loop back path)\n */\n renderRepetition(parent, element, min) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const hasBypass = min === 0;\n const totalHeight = inner.dimensions.height + arcHeight + (hasBypass ? arcHeight : 0);\n const group = parent.append(\"g\").attr(\"class\", \"railroad-repetition\");\n const elemX = arcRadius * 2;\n const elemY = hasBypass ? arcHeight : 0;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY).build()\n );\n const loopY = elemY + inner.dimensions.height + arcRadius;\n const loopPath = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width + arcRadius,\n centerY + arcRadius\n ).lineTo(elemX + inner.dimensions.width + arcRadius, loopY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width,\n loopY + arcRadius\n ).lineTo(arcRadius * 2, loopY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius, loopY).lineTo(arcRadius, centerY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", loopPath.build());\n if (hasBypass) {\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render special sequence\n */\n renderSpecial(parent, text) {\n const textDim = this.measureText(\"? \" + text + \" ?\");\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-special\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(\"? \" + text + \" ?\");\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render an expression (recursive)\n */\n renderExpression(parent, node) {\n switch (node.type) {\n case \"terminal\":\n return this.renderTerminal(parent, node.value);\n case \"nonterminal\":\n return this.renderNonTerminal(parent, node.name);\n case \"sequence\":\n return this.renderSequence(parent, node.elements);\n case \"choice\":\n return this.renderChoice(parent, node.alternatives);\n case \"optional\":\n return this.renderOptional(parent, node.element);\n case \"repetition\":\n return this.renderRepetition(parent, node.element, node.min);\n case \"special\":\n return this.renderSpecial(parent, node.text);\n default:\n throw new Error(`Unknown node type: ${node.type}`);\n }\n }\n /**\n * Render a single rule\n */\n renderRule(rule, y) {\n const group = this.svg.append(\"g\").attr(\"class\", \"railroad-rule\").attr(\"transform\", `translate(0, ${y})`);\n const ruleName = rule.name + \" =\";\n const nameWidth = this.measureText(ruleName).width + 20;\n const definitionX = nameWidth + 20;\n const defGroup = group.append(\"g\");\n const result = this.renderExpression(defGroup, rule.definition);\n const baselineY = Math.max(20, result.dimensions.up);\n const definitionY = baselineY - result.dimensions.up;\n defGroup.attr(\"transform\", `translate(${definitionX}, ${definitionY})`);\n const nameGroup = group.append(\"g\").attr(\"class\", \"railroad-rule-name-group\");\n nameGroup.append(\"text\").attr(\"class\", \"railroad-rule-name\").attr(\"x\", 0).attr(\"y\", baselineY).text(ruleName);\n const startMarker = group.append(\"g\").attr(\"class\", \"railroad-start\");\n startMarker.append(\"circle\").attr(\"cx\", nameWidth).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n const endMarker = group.append(\"g\").attr(\"class\", \"railroad-end\");\n endMarker.append(\"circle\").attr(\"cx\", definitionX + result.dimensions.width + 10).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(nameWidth + this.config.markerRadius, baselineY).lineTo(definitionX, baselineY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(definitionX + result.dimensions.width, baselineY).lineTo(definitionX + result.dimensions.width + 10 - this.config.markerRadius, baselineY).build()\n );\n return {\n height: Math.max(40, definitionY + result.dimensions.height + this.config.padding * 2),\n width: definitionX + result.dimensions.width + 10 + this.config.markerRadius\n };\n }\n /**\n * Render all rules\n */\n renderDiagram(rules2) {\n let y = this.config.padding;\n let maxWidth = 0;\n for (const rule of rules2) {\n const result = this.renderRule(rule, y);\n y += result.height + this.config.verticalSeparation;\n maxWidth = Math.max(maxWidth, result.width);\n }\n return {\n width: maxWidth + this.config.padding * 2,\n height: y + this.config.padding\n };\n }\n};\nvar configureRailroadSvgSize = /* @__PURE__ */ __name((svg, dimensions, useMaxWidth) => {\n configureSvgSize(svg, dimensions.height, dimensions.width, useMaxWidth);\n svg.attr(\"viewBox\", `0 0 ${dimensions.width} ${dimensions.height}`);\n}, \"configureRailroadSvgSize\");\nvar draw = /* @__PURE__ */ __name((text, id, _version) => {\n log.debug(\"[Railroad] Rendering diagram\\n\" + text);\n try {\n const svg = selectSvgElement(id);\n svg.attr(\"class\", \"railroad-diagram\");\n const railroadConfig = getConfig().railroad;\n const useMaxWidth = railroadConfig?.useMaxWidth ?? true;\n const rules2 = db.getRules();\n log.debug(`[Railroad] Rendering ${rules2.length} rules`);\n if (rules2.length === 0) {\n log.warn(\"[Railroad] No rules to render\");\n configureRailroadSvgSize(svg, { height: 100, width: 200 }, useMaxWidth);\n return;\n }\n const renderer2 = new RailroadRenderer(svg, buildRailroadStyleOptions());\n const dimensions = renderer2.renderDiagram(rules2);\n configureRailroadSvgSize(svg, dimensions, useMaxWidth);\n log.debug(\"[Railroad] Render complete\");\n } catch (error) {\n log.error(\"[Railroad] Render error:\", error);\n throw error;\n }\n}, \"draw\");\nvar renderer = { draw };\n\nexport {\n db,\n getStyles,\n renderer\n};\n"],"names":["diagramTitle","accTitle","accDescription","rules","ruleMap","sanitizeText2","__name","text","sanitizeText","getConfig2","sanitizeAstNode","node","clear2","clear","log","setTitle","getTitle","addRule","rule","sanitizedRule","getRules","getRule","name","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","db","DEFAULT_RAILROAD_CONFIG","COLOR_VALUE_PATTERN","FONT_FAMILY_PATTERN","RAILROAD_STYLE_OPTION_KEYS","isRailroadStyleOptions","options","key","extractRailroadOverrides","extractThemeOverrides","_railroad","_svgId","_theme","_look","themeOverrides","sanitizeColorValue","value","fallback","normalized","sanitizeFontFamilyValue","sanitizeNumberValue","parsed","parseThemeFontSize","buildThemeDefaults","themeVariables","fontFamily","fontSize","buildRailroadStyleOptions","currentConfig","getConfig","getThemeVariables","themeDefaults","railroadOptions","getStyles","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","PathBuilder","_a","x","y","rx","ry","rotation","largeArc","sweep","RailroadRenderer","svg","config","tempText","bbox","dimensions","parent","textDim","width","height","group","elements","rendered","e","totalWidth","maxUp","maxDown","r","i","lineX1","lineX2","lineY","alternatives","a","maxWidth","totalHeight","arcRadius","arcWidth","centerY","elemY","elemCenterY","elemX","leftPath","isBelowCenter","rightPath","rightStart","rightLaneX","element","inner","arcHeight","lowerPath","lowerPath2","bypassPath","min","hasBypass","loopY","loopPath","ruleName","nameWidth","definitionX","defGroup","result","baselineY","definitionY","rules2","configureRailroadSvgSize","useMaxWidth","configureSvgSize","draw","id","_version","selectSvgElement","error","renderer"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"chunk-MOJQB5TN-uc6Tpcza.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MOJQB5TN.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n clear,\n configureSvgSize,\n getConfig,\n getConfig2,\n getThemeVariables,\n sanitizeText\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/railroad/railroadDb.ts\nvar diagramTitle = \"\";\nvar accTitle = \"\";\nvar accDescription = \"\";\nvar rules = [];\nvar ruleMap = /* @__PURE__ */ new Map();\nvar sanitizeText2 = /* @__PURE__ */ __name((text) => {\n return sanitizeText(text, getConfig2());\n}, \"sanitizeText\");\nvar sanitizeAstNode = /* @__PURE__ */ __name((node) => {\n switch (node.type) {\n case \"terminal\":\n return { ...node, value: sanitizeText2(node.value) };\n case \"nonterminal\":\n return { ...node, name: sanitizeText2(node.name) };\n case \"sequence\":\n return { ...node, elements: node.elements.map(sanitizeAstNode) };\n case \"choice\":\n return { ...node, alternatives: node.alternatives.map(sanitizeAstNode) };\n case \"optional\":\n return { ...node, element: sanitizeAstNode(node.element) };\n case \"repetition\":\n return {\n ...node,\n element: sanitizeAstNode(node.element),\n separator: node.separator ? sanitizeAstNode(node.separator) : void 0\n };\n case \"special\":\n return { ...node, text: sanitizeText2(node.text) };\n }\n}, \"sanitizeAstNode\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n diagramTitle = \"\";\n accTitle = \"\";\n accDescription = \"\";\n rules.length = 0;\n ruleMap.clear();\n clear();\n log.debug(\"[Railroad] Database cleared\");\n}, \"clear\");\nvar setTitle = /* @__PURE__ */ __name((text) => {\n diagramTitle = sanitizeText2(text);\n log.debug(\"[Railroad] Title set:\", text);\n}, \"setTitle\");\nvar getTitle = /* @__PURE__ */ __name(() => {\n return diagramTitle;\n}, \"getTitle\");\nvar addRule = /* @__PURE__ */ __name((rule) => {\n const sanitizedRule = {\n ...rule,\n name: sanitizeText2(rule.name),\n definition: sanitizeAstNode(rule.definition),\n comment: rule.comment ? sanitizeText2(rule.comment) : void 0\n };\n log.debug(\"[Railroad] Adding rule:\", sanitizedRule.name);\n if (ruleMap.has(sanitizedRule.name)) {\n log.warn(`[Railroad] Rule '${sanitizedRule.name}' is already defined. Overwriting.`);\n }\n rules.push(sanitizedRule);\n ruleMap.set(sanitizedRule.name, sanitizedRule);\n}, \"addRule\");\nvar getRules = /* @__PURE__ */ __name(() => {\n return rules;\n}, \"getRules\");\nvar getRule = /* @__PURE__ */ __name((name) => {\n return ruleMap.get(name);\n}, \"getRule\");\nvar setAccTitle = /* @__PURE__ */ __name((text) => {\n accTitle = sanitizeText2(text).replace(/^\\s+/g, \"\");\n log.debug(\"[Railroad] Accessibility title set:\", text);\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => {\n return accTitle;\n}, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((text) => {\n accDescription = sanitizeText2(text).replace(/\\n\\s+/g, \"\\n\");\n log.debug(\"[Railroad] Accessibility description set:\", text);\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => {\n return accDescription;\n}, \"getAccDescription\");\nvar setDiagramTitle = setTitle;\nvar getDiagramTitle = getTitle;\nvar db = {\n clear: clear2,\n setTitle,\n getTitle,\n addRule,\n getRules,\n getRule,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/railroad/railroadTypes.ts\nvar DEFAULT_RAILROAD_CONFIG = {\n // Layout\n compactMode: false,\n // Spacing\n padding: 10,\n verticalSeparation: 8,\n horizontalSeparation: 10,\n arcRadius: 10,\n // Typography\n fontSize: 14,\n fontFamily: \"monospace\",\n // Colors - Terminal\n terminalFill: \"#FFFFC0\",\n terminalStroke: \"#000000\",\n terminalTextColor: \"#000000\",\n // Colors - Non-terminal\n nonTerminalFill: \"#FFFFFF\",\n nonTerminalStroke: \"#000000\",\n nonTerminalTextColor: \"#000000\",\n // Colors - Lines\n lineColor: \"#000000\",\n strokeWidth: 2,\n // Colors - Markers\n markerFill: \"#000000\",\n // Colors - Comment\n commentFill: \"#E8E8E8\",\n commentStroke: \"#888888\",\n commentTextColor: \"#666666\",\n // Colors - Special\n specialFill: \"#F0E0FF\",\n specialStroke: \"#8800CC\",\n // Other\n ruleNameColor: \"#000066\",\n showMarkers: true,\n markerRadius: 5\n};\n\n// src/diagrams/railroad/styles.ts\nvar COLOR_VALUE_PATTERN = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\\([\\d\\s%+,./-]+\\)$|^[a-z]+$/i;\nvar FONT_FAMILY_PATTERN = /^[\\w \"',.-]+$/;\nvar RAILROAD_STYLE_OPTION_KEYS = /* @__PURE__ */ new Set([\n \"compactMode\",\n \"padding\",\n \"verticalSeparation\",\n \"horizontalSeparation\",\n \"arcRadius\",\n \"fontSize\",\n \"fontFamily\",\n \"terminalFill\",\n \"terminalStroke\",\n \"terminalTextColor\",\n \"nonTerminalFill\",\n \"nonTerminalStroke\",\n \"nonTerminalTextColor\",\n \"lineColor\",\n \"strokeWidth\",\n \"markerFill\",\n \"commentFill\",\n \"commentStroke\",\n \"commentTextColor\",\n \"specialFill\",\n \"specialStroke\",\n \"ruleNameColor\",\n \"showMarkers\",\n \"markerRadius\"\n]);\nvar isRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return false;\n }\n return Object.keys(options).every(\n (key) => key === \"railroad\" || RAILROAD_STYLE_OPTION_KEYS.has(key)\n );\n}, \"isRailroadStyleOptions\");\nvar extractRailroadOverrides = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return {};\n }\n if (\"railroad\" in options && options.railroad) {\n return options.railroad;\n }\n return isRailroadStyleOptions(options) ? options : {};\n}, \"extractRailroadOverrides\");\nvar extractThemeOverrides = /* @__PURE__ */ __name((options) => {\n if (!options || isRailroadStyleOptions(options)) {\n return {};\n }\n const {\n railroad: _railroad,\n svgId: _svgId,\n theme: _theme,\n look: _look,\n ...themeOverrides\n } = options;\n return themeOverrides;\n}, \"extractThemeOverrides\");\nvar sanitizeColorValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return COLOR_VALUE_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeColorValue\");\nvar sanitizeFontFamilyValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return FONT_FAMILY_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeFontFamilyValue\");\nvar sanitizeNumberValue = /* @__PURE__ */ __name((value, fallback) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;\n}, \"sanitizeNumberValue\");\nvar parseThemeFontSize = /* @__PURE__ */ __name((value) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed > 0 ? parsed : void 0;\n}, \"parseThemeFontSize\");\nvar buildThemeDefaults = /* @__PURE__ */ __name((themeVariables) => {\n const fontFamily = sanitizeFontFamilyValue(\n themeVariables.fontFamily,\n DEFAULT_RAILROAD_CONFIG.fontFamily\n );\n const fontSize = parseThemeFontSize(themeVariables.fontSize) ?? DEFAULT_RAILROAD_CONFIG.fontSize;\n return {\n ...DEFAULT_RAILROAD_CONFIG,\n fontFamily,\n fontSize,\n terminalFill: sanitizeColorValue(\n themeVariables.secondBkg ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.terminalFill\n ),\n terminalStroke: sanitizeColorValue(\n themeVariables.secondaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n themeVariables.secondaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n themeVariables.mainBkg ?? themeVariables.background,\n DEFAULT_RAILROAD_CONFIG.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n themeVariables.primaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n themeVariables.primaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.lineColor),\n markerFill: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.markerFill),\n commentFill: sanitizeColorValue(\n themeVariables.labelBackground ?? themeVariables.tertiaryColor,\n DEFAULT_RAILROAD_CONFIG.commentFill\n ),\n commentStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.commentStroke\n ),\n commentTextColor: sanitizeColorValue(\n themeVariables.tertiaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.commentTextColor\n ),\n specialFill: sanitizeColorValue(\n themeVariables.tertiaryColor ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.specialFill\n ),\n specialStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.secondaryBorderColor,\n DEFAULT_RAILROAD_CONFIG.specialStroke\n ),\n ruleNameColor: sanitizeColorValue(\n themeVariables.titleColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.ruleNameColor\n )\n };\n}, \"buildThemeDefaults\");\nvar buildRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n const currentConfig = getConfig();\n const themeVariables = {\n ...getThemeVariables(),\n ...currentConfig.themeVariables ?? {},\n ...extractThemeOverrides(options)\n };\n const themeDefaults = buildThemeDefaults(themeVariables);\n const railroadOptions = {\n ...currentConfig.railroad ?? {},\n ...extractRailroadOverrides(options)\n };\n return {\n compactMode: railroadOptions.compactMode ?? themeDefaults.compactMode,\n padding: sanitizeNumberValue(railroadOptions.padding, themeDefaults.padding),\n verticalSeparation: sanitizeNumberValue(\n railroadOptions.verticalSeparation,\n themeDefaults.verticalSeparation\n ),\n horizontalSeparation: sanitizeNumberValue(\n railroadOptions.horizontalSeparation,\n themeDefaults.horizontalSeparation\n ),\n arcRadius: sanitizeNumberValue(railroadOptions.arcRadius, themeDefaults.arcRadius),\n fontSize: sanitizeNumberValue(railroadOptions.fontSize, themeDefaults.fontSize),\n fontFamily: sanitizeFontFamilyValue(railroadOptions.fontFamily, themeDefaults.fontFamily),\n terminalFill: sanitizeColorValue(railroadOptions.terminalFill, themeDefaults.terminalFill),\n terminalStroke: sanitizeColorValue(\n railroadOptions.terminalStroke,\n themeDefaults.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n railroadOptions.terminalTextColor,\n themeDefaults.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n railroadOptions.nonTerminalFill,\n themeDefaults.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n railroadOptions.nonTerminalStroke,\n themeDefaults.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n railroadOptions.nonTerminalTextColor,\n themeDefaults.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(railroadOptions.lineColor, themeDefaults.lineColor),\n strokeWidth: sanitizeNumberValue(railroadOptions.strokeWidth, themeDefaults.strokeWidth),\n markerFill: sanitizeColorValue(railroadOptions.markerFill, themeDefaults.markerFill),\n commentFill: sanitizeColorValue(railroadOptions.commentFill, themeDefaults.commentFill),\n commentStroke: sanitizeColorValue(railroadOptions.commentStroke, themeDefaults.commentStroke),\n commentTextColor: sanitizeColorValue(\n railroadOptions.commentTextColor,\n themeDefaults.commentTextColor\n ),\n specialFill: sanitizeColorValue(railroadOptions.specialFill, themeDefaults.specialFill),\n specialStroke: sanitizeColorValue(railroadOptions.specialStroke, themeDefaults.specialStroke),\n ruleNameColor: sanitizeColorValue(railroadOptions.ruleNameColor, themeDefaults.ruleNameColor),\n showMarkers: railroadOptions.showMarkers ?? themeDefaults.showMarkers,\n markerRadius: sanitizeNumberValue(railroadOptions.markerRadius, themeDefaults.markerRadius)\n };\n}, \"buildRailroadStyleOptions\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const {\n fontFamily,\n fontSize,\n terminalFill,\n terminalStroke,\n terminalTextColor,\n nonTerminalFill,\n nonTerminalStroke,\n nonTerminalTextColor,\n lineColor,\n strokeWidth,\n markerFill,\n commentFill,\n commentStroke,\n commentTextColor,\n specialFill,\n specialStroke,\n ruleNameColor\n } = buildRailroadStyleOptions(options);\n return `\n .railroad-diagram {\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-terminal rect {\n fill: ${terminalFill};\n stroke: ${terminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-terminal text {\n fill: ${terminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-nonterminal rect {\n fill: ${nonTerminalFill};\n stroke: ${nonTerminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-nonterminal text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-line {\n stroke: ${lineColor};\n stroke-width: ${strokeWidth}px;\n fill: none;\n }\n\n .railroad-start circle,\n .railroad-end circle {\n fill: ${markerFill};\n }\n\n .railroad-comment ellipse {\n fill: ${commentFill};\n stroke: ${commentStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-comment text {\n fill: ${commentTextColor};\n font-style: italic;\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-special rect {\n fill: ${specialFill};\n stroke: ${specialStroke};\n stroke-width: ${strokeWidth}px;\n stroke-dasharray: 5,3;\n }\n\n .railroad-special text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-rule-name {\n font-weight: bold;\n fill: ${ruleNameColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-group {\n /* Grouping container, no specific styles */\n }\n`;\n}, \"getStyles\");\n\n// src/diagrams/railroad/railroadRenderer.ts\nvar PathBuilder = class {\n constructor() {\n this.d = \"\";\n }\n static {\n __name(this, \"PathBuilder\");\n }\n moveTo(x, y) {\n this.d += `M ${x} ${y} `;\n return this;\n }\n lineTo(x, y) {\n this.d += `L ${x} ${y} `;\n return this;\n }\n horizontalTo(x) {\n this.d += `H ${x} `;\n return this;\n }\n verticalTo(y) {\n this.d += `V ${y} `;\n return this;\n }\n arcTo(rx, ry, rotation, largeArc, sweep, x, y) {\n this.d += `A ${rx} ${ry} ${rotation} ${largeArc ? 1 : 0} ${sweep ? 1 : 0} ${x} ${y} `;\n return this;\n }\n build() {\n return this.d.trim();\n }\n};\nvar RailroadRenderer = class {\n constructor(svg, config = buildRailroadStyleOptions()) {\n this.textCache = /* @__PURE__ */ new Map();\n this.svg = svg;\n this.config = config;\n }\n static {\n __name(this, \"RailroadRenderer\");\n }\n /**\n * Measure text dimensions\n */\n measureText(text) {\n if (this.textCache.has(text)) {\n return this.textCache.get(text);\n }\n const tempText = this.svg.append(\"text\").attr(\"font-family\", this.config.fontFamily).attr(\"font-size\", this.config.fontSize).text(text);\n const bbox = tempText.node().getBBox();\n const dimensions = { width: bbox.width, height: bbox.height };\n tempText.remove();\n this.textCache.set(text, dimensions);\n return dimensions;\n }\n /**\n * Render terminal symbol (rounded rectangle)\n */\n renderTerminal(parent, value) {\n const textDim = this.measureText(value);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-terminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height).attr(\"rx\", 10).attr(\"ry\", 10);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(value);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render non-terminal symbol (rectangle)\n */\n renderNonTerminal(parent, name) {\n const textDim = this.measureText(name);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-nonterminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(name);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render sequence (horizontal concatenation)\n */\n renderSequence(parent, elements) {\n const rendered = elements.map((e) => this.renderExpression(parent, e));\n let totalWidth = 0;\n let maxUp = 0;\n let maxDown = 0;\n for (const r of rendered) {\n totalWidth += r.dimensions.width;\n maxUp = Math.max(maxUp, r.dimensions.up);\n maxDown = Math.max(maxDown, r.dimensions.down);\n }\n totalWidth += (rendered.length - 1) * this.config.horizontalSeparation;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-sequence\");\n let x = 0;\n for (let i = 0; i < rendered.length; i++) {\n const r = rendered[i];\n const y = maxUp - r.dimensions.up;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${x}, ${y})`);\n if (i < rendered.length - 1) {\n const lineX1 = x + r.dimensions.width;\n const lineX2 = lineX1 + this.config.horizontalSeparation;\n const lineY = maxUp;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", new PathBuilder().moveTo(lineX1, lineY).lineTo(lineX2, lineY).build());\n }\n x += r.dimensions.width + this.config.horizontalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: maxUp + maxDown,\n up: maxUp,\n down: maxDown\n }\n };\n }\n /**\n * Render choice (vertical alternatives)\n */\n renderChoice(parent, alternatives) {\n const rendered = alternatives.map((a) => this.renderExpression(parent, a));\n let maxWidth = 0;\n let totalHeight = 0;\n for (const r of rendered) {\n maxWidth = Math.max(maxWidth, r.dimensions.width);\n totalHeight += r.dimensions.height;\n }\n totalHeight += (rendered.length - 1) * this.config.verticalSeparation;\n const arcRadius = this.config.arcRadius;\n const arcWidth = arcRadius * 4;\n const totalWidth = maxWidth + arcWidth;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-choice\");\n let y = 0;\n const centerY = totalHeight / 2;\n for (const r of rendered) {\n const elemY = y;\n const elemCenterY = elemY + r.dimensions.up;\n const elemX = arcRadius * 2 + (maxWidth - r.dimensions.width) / 2;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const leftPath = new PathBuilder();\n const isBelowCenter = elemCenterY > centerY;\n if (elemCenterY === centerY) {\n leftPath.moveTo(0, centerY).lineTo(elemX, elemCenterY);\n } else {\n leftPath.moveTo(0, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n isBelowCenter,\n arcRadius,\n centerY + (isBelowCenter ? arcRadius : -arcRadius)\n ).lineTo(arcRadius, elemCenterY - (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, !isBelowCenter, arcRadius * 2, elemCenterY).lineTo(elemX, elemCenterY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", leftPath.build());\n const rightPath = new PathBuilder();\n const rightStart = elemX + r.dimensions.width;\n const rightLaneX = totalWidth - arcRadius * 2;\n if (elemCenterY === centerY) {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(totalWidth, centerY);\n } else {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(rightLaneX, elemCenterY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n !isBelowCenter,\n totalWidth - arcRadius,\n elemCenterY + (isBelowCenter ? -arcRadius : arcRadius)\n ).lineTo(totalWidth - arcRadius, centerY + (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, isBelowCenter, totalWidth, centerY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", rightPath.build());\n y += r.dimensions.height + this.config.verticalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render optional (bypass path above)\n */\n renderOptional(parent, element) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const totalHeight = inner.dimensions.height + arcHeight;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-optional\");\n const elemX = arcRadius * 2;\n const elemY = arcHeight;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n const lowerPath = new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath.build());\n const lowerPath2 = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath2.build());\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render repetition (loop back path)\n */\n renderRepetition(parent, element, min) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const hasBypass = min === 0;\n const totalHeight = inner.dimensions.height + arcHeight + (hasBypass ? arcHeight : 0);\n const group = parent.append(\"g\").attr(\"class\", \"railroad-repetition\");\n const elemX = arcRadius * 2;\n const elemY = hasBypass ? arcHeight : 0;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY).build()\n );\n const loopY = elemY + inner.dimensions.height + arcRadius;\n const loopPath = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width + arcRadius,\n centerY + arcRadius\n ).lineTo(elemX + inner.dimensions.width + arcRadius, loopY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width,\n loopY + arcRadius\n ).lineTo(arcRadius * 2, loopY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius, loopY).lineTo(arcRadius, centerY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", loopPath.build());\n if (hasBypass) {\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render special sequence\n */\n renderSpecial(parent, text) {\n const textDim = this.measureText(\"? \" + text + \" ?\");\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-special\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(\"? \" + text + \" ?\");\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render an expression (recursive)\n */\n renderExpression(parent, node) {\n switch (node.type) {\n case \"terminal\":\n return this.renderTerminal(parent, node.value);\n case \"nonterminal\":\n return this.renderNonTerminal(parent, node.name);\n case \"sequence\":\n return this.renderSequence(parent, node.elements);\n case \"choice\":\n return this.renderChoice(parent, node.alternatives);\n case \"optional\":\n return this.renderOptional(parent, node.element);\n case \"repetition\":\n return this.renderRepetition(parent, node.element, node.min);\n case \"special\":\n return this.renderSpecial(parent, node.text);\n default:\n throw new Error(`Unknown node type: ${node.type}`);\n }\n }\n /**\n * Render a single rule\n */\n renderRule(rule, y) {\n const group = this.svg.append(\"g\").attr(\"class\", \"railroad-rule\").attr(\"transform\", `translate(0, ${y})`);\n const ruleName = rule.name + \" =\";\n const nameWidth = this.measureText(ruleName).width + 20;\n const definitionX = nameWidth + 20;\n const defGroup = group.append(\"g\");\n const result = this.renderExpression(defGroup, rule.definition);\n const baselineY = Math.max(20, result.dimensions.up);\n const definitionY = baselineY - result.dimensions.up;\n defGroup.attr(\"transform\", `translate(${definitionX}, ${definitionY})`);\n const nameGroup = group.append(\"g\").attr(\"class\", \"railroad-rule-name-group\");\n nameGroup.append(\"text\").attr(\"class\", \"railroad-rule-name\").attr(\"x\", 0).attr(\"y\", baselineY).text(ruleName);\n const startMarker = group.append(\"g\").attr(\"class\", \"railroad-start\");\n startMarker.append(\"circle\").attr(\"cx\", nameWidth).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n const endMarker = group.append(\"g\").attr(\"class\", \"railroad-end\");\n endMarker.append(\"circle\").attr(\"cx\", definitionX + result.dimensions.width + 10).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(nameWidth + this.config.markerRadius, baselineY).lineTo(definitionX, baselineY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(definitionX + result.dimensions.width, baselineY).lineTo(definitionX + result.dimensions.width + 10 - this.config.markerRadius, baselineY).build()\n );\n return {\n height: Math.max(40, definitionY + result.dimensions.height + this.config.padding * 2),\n width: definitionX + result.dimensions.width + 10 + this.config.markerRadius\n };\n }\n /**\n * Render all rules\n */\n renderDiagram(rules2) {\n let y = this.config.padding;\n let maxWidth = 0;\n for (const rule of rules2) {\n const result = this.renderRule(rule, y);\n y += result.height + this.config.verticalSeparation;\n maxWidth = Math.max(maxWidth, result.width);\n }\n return {\n width: maxWidth + this.config.padding * 2,\n height: y + this.config.padding\n };\n }\n};\nvar configureRailroadSvgSize = /* @__PURE__ */ __name((svg, dimensions, useMaxWidth) => {\n configureSvgSize(svg, dimensions.height, dimensions.width, useMaxWidth);\n svg.attr(\"viewBox\", `0 0 ${dimensions.width} ${dimensions.height}`);\n}, \"configureRailroadSvgSize\");\nvar draw = /* @__PURE__ */ __name((text, id, _version) => {\n log.debug(\"[Railroad] Rendering diagram\\n\" + text);\n try {\n const svg = selectSvgElement(id);\n svg.attr(\"class\", \"railroad-diagram\");\n const railroadConfig = getConfig().railroad;\n const useMaxWidth = railroadConfig?.useMaxWidth ?? true;\n const rules2 = db.getRules();\n log.debug(`[Railroad] Rendering ${rules2.length} rules`);\n if (rules2.length === 0) {\n log.warn(\"[Railroad] No rules to render\");\n configureRailroadSvgSize(svg, { height: 100, width: 200 }, useMaxWidth);\n return;\n }\n const renderer2 = new RailroadRenderer(svg, buildRailroadStyleOptions());\n const dimensions = renderer2.renderDiagram(rules2);\n configureRailroadSvgSize(svg, dimensions, useMaxWidth);\n log.debug(\"[Railroad] Render complete\");\n } catch (error) {\n log.error(\"[Railroad] Render error:\", error);\n throw error;\n }\n}, \"draw\");\nvar renderer = { draw };\n\nexport {\n db,\n getStyles,\n renderer\n};\n"],"names":["diagramTitle","accTitle","accDescription","rules","ruleMap","sanitizeText2","__name","text","sanitizeText","getConfig2","sanitizeAstNode","node","clear2","clear","log","setTitle","getTitle","addRule","rule","sanitizedRule","getRules","getRule","name","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","db","DEFAULT_RAILROAD_CONFIG","COLOR_VALUE_PATTERN","FONT_FAMILY_PATTERN","RAILROAD_STYLE_OPTION_KEYS","isRailroadStyleOptions","options","key","extractRailroadOverrides","extractThemeOverrides","_railroad","_svgId","_theme","_look","themeOverrides","sanitizeColorValue","value","fallback","normalized","sanitizeFontFamilyValue","sanitizeNumberValue","parsed","parseThemeFontSize","buildThemeDefaults","themeVariables","fontFamily","fontSize","buildRailroadStyleOptions","currentConfig","getConfig","getThemeVariables","themeDefaults","railroadOptions","getStyles","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","PathBuilder","_a","x","y","rx","ry","rotation","largeArc","sweep","RailroadRenderer","svg","config","tempText","bbox","dimensions","parent","textDim","width","height","group","elements","rendered","e","totalWidth","maxUp","maxDown","r","i","lineX1","lineX2","lineY","alternatives","a","maxWidth","totalHeight","arcRadius","arcWidth","centerY","elemY","elemCenterY","elemX","leftPath","isBelowCenter","rightPath","rightStart","rightLaneX","element","inner","arcHeight","lowerPath","lowerPath2","bypassPath","min","hasBypass","loopY","loopPath","ruleName","nameWidth","definitionX","defGroup","result","baselineY","definitionY","rules2","configureRailroadSvgSize","useMaxWidth","configureSvgSize","draw","id","_version","selectSvgElement","error","renderer"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- "use strict";const q1=require("./chunk-5VM5RSS4-BF_oSGlQ.cjs"),K1=require("./chunk-XXDRQBXY-CxhRgT48.cjs"),j1=require("./chunk-VR4S4FIN-B8N8meZf.cjs"),l=require("./extractHeadings-D7EoVxUv.cjs"),Y1=require("./chunk-32BRIVSS-B-weOSo5.cjs"),H1=require("dompurify"),X1=require("./channel-zt9HkRFF.cjs");var Q1="flowchart-",Re,J1=(Re=class{constructor(){this.vertexCounter=0,this.config=l.getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=l.setAccTitle,this.setAccDescription=l.setAccDescription,this.setDiagramTitle=l.setDiagramTitle,this.getAccTitle=l.getAccTitle,this.getAccDescription=l.getAccDescription,this.getDiagramTitle=l.getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return l.common_default.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,c,f,h={},b){if(!i||i.trim().length===0)return;let u;if(b!==void 0){let m;b.includes(`
1
+ "use strict";const q1=require("./chunk-5VM5RSS4-CLh00kAT.cjs"),K1=require("./chunk-XXDRQBXY-4p-LcxlZ.cjs"),j1=require("./chunk-VR4S4FIN-x1hG3E6D.cjs"),l=require("./extractHeadings-D0L5hMHB.cjs"),Y1=require("./chunk-32BRIVSS-6NUu3pur.cjs"),H1=require("dompurify"),X1=require("./channel-Y185eoRi.cjs");var Q1="flowchart-",Re,J1=(Re=class{constructor(){this.vertexCounter=0,this.config=l.getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=l.setAccTitle,this.setAccDescription=l.setAccDescription,this.setDiagramTitle=l.setDiagramTitle,this.getAccTitle=l.getAccTitle,this.getAccDescription=l.getAccDescription,this.getDiagramTitle=l.getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return l.common_default.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,c,f,h={},b){if(!i||i.trim().length===0)return;let u;if(b!==void 0){let m;b.includes(`
2
2
  `)?m=b+`
3
3
  `:m=`{
4
4
  `+b+`
@@ -154,4 +154,4 @@ Expecting `+Ye.join(", ")+", got '"+(this.terminals_[j]||j)+"'":$e="Parse error
154
154
  }
155
155
  ${q1.getIconStyles()}
156
156
  `,"getStyles"),G1=it,P1=l.__name(({defaultLayout:s,styles:i=G1}={})=>({parser:tt,get db(){return new J1},renderer:et,styles:i,init:l.__name(r=>{r.flowchart||(r.flowchart={});const a=l.getUserDefinedConfig().layout??s??r.layout;a&&l.setConfig2({layout:a}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,l.setConfig2({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),rt=P1();exports.createFlowDiagram=P1;exports.diagram=rt;exports.styles_default=G1;
157
- //# sourceMappingURL=chunk-PUDLZKDR-Bt1FlwaU.cjs.map
157
+ //# sourceMappingURL=chunk-PUDLZKDR-DC8YYVco.cjs.map