@diagrammo/dgmo 0.96.0 → 0.98.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 (264) hide show
  1. package/dist/advanced.d.ts +178 -8
  2. package/dist/advanced.js +232 -246
  3. package/dist/block.d.ts +8 -0
  4. package/dist/block.js +138 -66
  5. package/dist/{calculator-GIB7POFX.js → calculator-CIGGTURF.js} +2 -2
  6. package/dist/{chart-meta-uImk4eTn.d.ts → chart-meta-B7niEd52.d.ts} +3 -1
  7. package/dist/chart-meta.d.ts +2 -2
  8. package/dist/chart-meta.js +19 -19
  9. package/dist/{chart-types-CBVYiLqy.d.ts → chart-types-Dxtv4XSz.d.ts} +3 -0
  10. package/dist/{charts-d3-IRP5VANE.js → charts-d3-INWEGMSD.js} +14 -14
  11. package/dist/{chunk-VLI6AWS3.js → chunk-3C4OXVZJ.js} +2 -2
  12. package/dist/{chunk-I3ZRIMR7.js → chunk-3EDV56HL.js} +15 -15
  13. package/dist/{chunk-OO4GUE4E.js → chunk-3F74NDUY.js} +63 -18
  14. package/dist/{chunk-RGFVHYDP.js → chunk-3IUMSK72.js} +2 -2
  15. package/dist/chunk-42AZPI2W.js +150 -0
  16. package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
  17. package/dist/{chunk-FHX373L5.js → chunk-47INRTZ6.js} +2 -2
  18. package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
  19. package/dist/{chunk-JBAFAKGX.js → chunk-4PZP6URA.js} +41 -51
  20. package/dist/{chunk-5LG526X7.js → chunk-5TGZBHEJ.js} +1 -1
  21. package/dist/{chunk-BD4O4D2A.js → chunk-5WZYJC2P.js} +2 -2
  22. package/dist/{chunk-DPNSDCR3.js → chunk-65JFUANT.js} +1 -1
  23. package/dist/{chunk-EZ6BI5LL.js → chunk-6OUMYNAJ.js} +1 -1
  24. package/dist/{chunk-U6N547QA.js → chunk-6PUBFB6D.js} +24 -3
  25. package/dist/{chunk-IKXQ6NVR.js → chunk-6Q46GMKH.js} +21 -58
  26. package/dist/{chunk-DKCVAQU3.js → chunk-6YRTBI2F.js} +53 -75
  27. package/dist/{chunk-RTRORHSP.js → chunk-7QKWU7FX.js} +3 -3
  28. package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
  29. package/dist/{chunk-H7RQG4PH.js → chunk-A3N4UHHL.js} +2 -2
  30. package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
  31. package/dist/chunk-AHUBG6GR.js +188 -0
  32. package/dist/{chunk-P3PSLC2K.js → chunk-AULFF7L2.js} +2 -2
  33. package/dist/{chunk-SCYVGPLI.js → chunk-B7ZH5EQ2.js} +2 -2
  34. package/dist/{chunk-TUOZ6AXC.js → chunk-BTFB7W5Z.js} +16 -4
  35. package/dist/{chunk-THTYCJGF.js → chunk-BWVJTYTJ.js} +4 -4
  36. package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
  37. package/dist/{chunk-H7JVKUA5.js → chunk-CES7REQM.js} +44 -60
  38. package/dist/{chunk-B2YVZ3QU.js → chunk-CGP7RGLJ.js} +1 -1
  39. package/dist/{chunk-34JOHSVE.js → chunk-CUTEHGXO.js} +2 -2
  40. package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
  41. package/dist/{chunk-TPCP2UOI.js → chunk-D6XR22KO.js} +3 -3
  42. package/dist/{chunk-OAZ6BIIB.js → chunk-D7FHY6DO.js} +9 -7
  43. package/dist/{chunk-67N26CER.js → chunk-DA2GIHAY.js} +38 -5
  44. package/dist/{chunk-PGD6CNWO.js → chunk-DFEVFLEG.js} +3 -3
  45. package/dist/{chunk-VVTCUIPN.js → chunk-DKMZ4VMV.js} +1 -1
  46. package/dist/{chunk-VJ7NLYFE.js → chunk-DYI73PFY.js} +3 -3
  47. package/dist/{chunk-IQZSKWE5.js → chunk-E6GHXMH2.js} +8 -8
  48. package/dist/{chunk-I2I2FKAK.js → chunk-EBJLT7PH.js} +1 -1
  49. package/dist/{chunk-K2SFH3GJ.js → chunk-ENXENGW5.js} +3 -3
  50. package/dist/{chunk-FKJWZWNU.js → chunk-EUPUVYWO.js} +1 -1
  51. package/dist/{chunk-26EVL454.js → chunk-F4DGHT3F.js} +20 -0
  52. package/dist/{chunk-WLGOIMTI.js → chunk-FDVUD3PR.js} +4 -4
  53. package/dist/{chunk-IU7XKZA6.js → chunk-FK6HZYGK.js} +4 -14
  54. package/dist/{chunk-67RKJEKF.js → chunk-FTRW6YGU.js} +35 -11
  55. package/dist/{chunk-2M3K6GD2.js → chunk-FTW2E2YH.js} +6 -6
  56. package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
  57. package/dist/chunk-G24NSISJ.js +69 -0
  58. package/dist/{chunk-4B45SNZH.js → chunk-G36XKXWT.js} +17 -15
  59. package/dist/{chunk-5H7SA5ZD.js → chunk-GFQFLLP3.js} +2 -2
  60. package/dist/{chunk-MAYTYF5S.js → chunk-GMJBBFKC.js} +3 -3
  61. package/dist/{chunk-5BG4OSWJ.js → chunk-GNQYARON.js} +20 -57
  62. package/dist/{chunk-RVOSA4RR.js → chunk-GNWCMWTO.js} +441 -267
  63. package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
  64. package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
  65. package/dist/{chunk-7UWVHNPM.js → chunk-H242TVAE.js} +9 -9
  66. package/dist/{chunk-CD7VQCDL.js → chunk-H7XXQSYA.js} +63 -53
  67. package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
  68. package/dist/{chunk-WTPS73RM.js → chunk-II6D6NWX.js} +8 -8
  69. package/dist/{chunk-3W73ZP6W.js → chunk-IMBFWXHF.js} +3 -3
  70. package/dist/{chunk-5ARANBIE.js → chunk-IUFTAFGN.js} +2 -2
  71. package/dist/{chunk-AQRSEQZV.js → chunk-IZEKHIV6.js} +3 -3
  72. package/dist/{chunk-WGNP5ND2.js → chunk-J3YM6RA5.js} +3 -3
  73. package/dist/{chunk-YFIUABSF.js → chunk-J467QBZF.js} +23 -3
  74. package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
  75. package/dist/{chunk-TIPNNOZC.js → chunk-KKJG3LBY.js} +41 -19
  76. package/dist/{chunk-YVIPJGFG.js → chunk-KMB754DO.js} +33 -6
  77. package/dist/chunk-KNKZGRRB.js +439 -0
  78. package/dist/{chunk-SIABEREK.js → chunk-KTGJQJB3.js} +2 -2
  79. package/dist/{chunk-LGUFJ7Y2.js → chunk-KW3CC7SB.js} +1 -1
  80. package/dist/{chunk-ITDF3MWD.js → chunk-L3K5O3Z5.js} +3 -3
  81. package/dist/{chunk-NI4L6HEU.js → chunk-LZATSXAA.js} +1 -1
  82. package/dist/{chunk-EPB3UEMD.js → chunk-NBISN6FH.js} +2 -2
  83. package/dist/{chunk-VNAPEZX2.js → chunk-NHN6GBG7.js} +1 -1
  84. package/dist/{chunk-EM5SA7NC.js → chunk-NQFZ7LXC.js} +4 -4
  85. package/dist/chunk-NTDWVTEY.js +12 -0
  86. package/dist/{chunk-ZBOIYC2G.js → chunk-NXOIH5JK.js} +8 -13
  87. package/dist/{chunk-AUXUNV73.js → chunk-O3HRF25Z.js} +1 -1
  88. package/dist/{chunk-KDWEOT54.js → chunk-O5APWRZN.js} +192 -230
  89. package/dist/{chunk-GLL237AP.js → chunk-OSSA5UWA.js} +3 -3
  90. package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
  91. package/dist/{chunk-QEU6VM4O.js → chunk-PLQZJZ2K.js} +1 -1
  92. package/dist/chunk-PRG7NIUU.js +272 -0
  93. package/dist/{chunk-CP73WWLN.js → chunk-PRYAVMU6.js} +48 -14
  94. package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
  95. package/dist/{chunk-B7BSRVNC.js → chunk-PZ5LAAO3.js} +2 -2
  96. package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
  97. package/dist/{chunk-MVUNMJKO.js → chunk-Q6OKTHYL.js} +71 -57
  98. package/dist/{chunk-ZOKD5F7M.js → chunk-QDPTOIG7.js} +5 -5
  99. package/dist/{chunk-2BYFNZVM.js → chunk-QGSQ2LMB.js} +57 -15
  100. package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
  101. package/dist/{chunk-K2WXMXI2.js → chunk-QLIZ7SB7.js} +1 -1
  102. package/dist/{chunk-P6LKX3IQ.js → chunk-QOLRTPGH.js} +6 -6
  103. package/dist/{chunk-FBK32S4D.js → chunk-R4SXMBGF.js} +1 -1
  104. package/dist/chunk-R4U7IIRX.js +178 -0
  105. package/dist/{chunk-DWMQ24JR.js → chunk-RC6PISCK.js} +4 -2
  106. package/dist/{chunk-R5L5E3TC.js → chunk-REKLKGR6.js} +3 -3
  107. package/dist/{chunk-FUYEXLAN.js → chunk-RFGQDIOI.js} +837 -220
  108. package/dist/{chunk-W5MMPPGX.js → chunk-ROFSIFSY.js} +4 -4
  109. package/dist/{chunk-JCC3B2GS.js → chunk-ROH4LYBL.js} +65 -21
  110. package/dist/{chunk-MYHR3PMH.js → chunk-S5VZLZUQ.js} +7 -7
  111. package/dist/{chunk-JRN2CRXJ.js → chunk-TDUBTDXS.js} +1 -1
  112. package/dist/{chunk-IZFJZCF6.js → chunk-TGQQD2KC.js} +84 -16
  113. package/dist/{chunk-GM2SLMQW.js → chunk-TMB4YY3J.js} +34 -4
  114. package/dist/{chunk-HH3DHNQA.js → chunk-UWWQECLC.js} +2 -2
  115. package/dist/{chunk-HZX4QZGR.js → chunk-V65EDV6S.js} +3 -3
  116. package/dist/{chunk-OYGJZA24.js → chunk-VHVQT4EW.js} +39 -19
  117. package/dist/{chunk-KQAPFIYF.js → chunk-VQWLASDC.js} +2 -2
  118. package/dist/chunk-VTGGPBLW.js +14 -0
  119. package/dist/{chunk-LRHPBWOY.js → chunk-VUBCCY65.js} +32 -69
  120. package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
  121. package/dist/{chunk-D7DGLJ7N.js → chunk-VVZDBUHA.js} +2 -2
  122. package/dist/{chunk-B5CEV7IR.js → chunk-VYEIMHL5.js} +38 -14
  123. package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
  124. package/dist/{chunk-P2GNNEMN.js → chunk-WPYJAHRP.js} +1 -1
  125. package/dist/{chunk-RIK6WUMO.js → chunk-XCYGOCMS.js} +43 -26
  126. package/dist/{chunk-PWZEJNO6.js → chunk-XMUFXJI2.js} +6 -6
  127. package/dist/{chunk-5G4DOOX2.js → chunk-XPOEE2RW.js} +9 -5
  128. package/dist/{chunk-EMGNCG5C.js → chunk-XZGXVN4T.js} +5 -5
  129. package/dist/{chunk-BUVLLK3D.js → chunk-Y24QPREP.js} +27 -17
  130. package/dist/{chunk-GEHK4UD5.js → chunk-YCIOLYWL.js} +92 -23
  131. package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
  132. package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
  133. package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
  134. package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
  135. package/dist/{chunk-M4ZUIW3J.js → chunk-Z6V73LD6.js} +3 -3
  136. package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
  137. package/dist/{chunk-YSGOXZBB.js → chunk-ZMVMGZAJ.js} +1 -1
  138. package/dist/{chunk-O2HNVNKO.js → chunk-ZTKO2RD4.js} +5 -5
  139. package/dist/{chunk-5GU6C5WB.js → chunk-ZXPSNBZC.js} +3 -3
  140. package/dist/collapse-6IGH2B24.js +31 -0
  141. package/dist/collapse-GOWNCVHZ.js +7 -0
  142. package/dist/collapse-HNTPLB2Q.js +11 -0
  143. package/dist/collapse-NUM7DPJA.js +10 -0
  144. package/dist/completion-registry.js +27 -4
  145. package/dist/dgmo-router-RXV7BNPN.js +101 -0
  146. package/dist/dimensions-KXAI7U2B.js +21 -0
  147. package/dist/editor.js +882 -215
  148. package/dist/{flowchart-parser-SM5LHF2D.js → flowchart-parser-JAZRKKKJ.js} +5 -5
  149. package/dist/flowchart-renderer-JED3RESY.js +40 -0
  150. package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
  151. package/dist/highlight.js +883 -216
  152. package/dist/index.d.ts +52 -5
  153. package/dist/index.js +79 -63
  154. package/dist/{layout-LNVIH45F.js → layout-6QXAC2WA.js} +7 -6
  155. package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
  156. package/dist/layout-BSK374N6.js +11 -0
  157. package/dist/{layout-FCFUVCRI.js → layout-DJOZCSAP.js} +10 -10
  158. package/dist/{layout-R6G4MEO3.js → layout-FJDBY3WG.js} +5 -5
  159. package/dist/{layout-H2KP5A6M.js → layout-GC5XX2RH.js} +2 -2
  160. package/dist/{layout-KELSNWBD.js → layout-LCHMEGTV.js} +10 -10
  161. package/dist/{layout-PPIVGJXD.js → layout-ROI5KVSO.js} +3 -3
  162. package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
  163. package/dist/{layout-AF4KA5B2.js → layout-VHBM32OD.js} +6 -6
  164. package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
  165. package/dist/layout-WTHBGTH2.js +15 -0
  166. package/dist/layout-ZCCABSV7.js +15 -0
  167. package/dist/{layout-MPSH3YWE.js → layout-ZDMJL4KO.js} +10 -10
  168. package/dist/{layout-search-C2TYUH4L.js → layout-search-UZYZE4PR.js} +8 -8
  169. package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
  170. package/dist/{parser-6WURFLOB.js → parser-3KMY23A2.js} +3 -3
  171. package/dist/{parser-DGLKH4NT.js → parser-3PMYAVFL.js} +2 -2
  172. package/dist/{parser-OHBBDCG4.js → parser-5KVFS4RN.js} +2 -2
  173. package/dist/{parser-QWTECQEC.js → parser-ASXY2CPV.js} +6 -6
  174. package/dist/{parser-UHKROC7Z.js → parser-BA43YPIQ.js} +3 -3
  175. package/dist/{parser-F75WNYMK.js → parser-CFAYEWLF.js} +3 -3
  176. package/dist/{parser-MWINQNQW.js → parser-DRFEX6OX.js} +3 -3
  177. package/dist/{parser-W6NX3AIV.js → parser-DWVBRBB2.js} +3 -3
  178. package/dist/{parser-DRUGM3R6.js → parser-FWQY3HJX.js} +2 -2
  179. package/dist/{parser-4GHAYZKZ.js → parser-GBB5MYAN.js} +6 -6
  180. package/dist/{parser-GBQY3WOZ.js → parser-GMCXCJSP.js} +3 -3
  181. package/dist/{parser-BPYHIG24.js → parser-IHFHPFL7.js} +3 -3
  182. package/dist/{parser-TTGZYLYD.js → parser-JQGUTDSX.js} +3 -3
  183. package/dist/{parser-BNRX35NT.js → parser-JRKPOO2Z.js} +3 -3
  184. package/dist/{parser-B7SCN7FG.js → parser-KI2XYB2R.js} +2 -2
  185. package/dist/parser-LDVVBP7S.js +12 -0
  186. package/dist/{parser-L7SI3PW4.js → parser-MAGFK6OK.js} +4 -4
  187. package/dist/{parser-722KLLAQ.js → parser-MH5BDN7X.js} +3 -3
  188. package/dist/{parser-5RUD4A3X.js → parser-MUHFEM4G.js} +3 -3
  189. package/dist/{parser-Y7QXD2UR.js → parser-P375HO7Q.js} +2 -2
  190. package/dist/{parser-LUJX7AXO.js → parser-PYY5BRLQ.js} +2 -2
  191. package/dist/parser-QEMFMVF5.js +12 -0
  192. package/dist/{parser-WIKXZP4X.js → parser-QIPDBT5M.js} +2 -2
  193. package/dist/{parser-2AXU2MHJ.js → parser-RNBDDEGL.js} +3 -3
  194. package/dist/{parser-H6HT2WFQ.js → parser-SGX2PVR5.js} +2 -2
  195. package/dist/{parser-ZWWQZ4XZ.js → parser-SJUEFKNM.js} +3 -3
  196. package/dist/{parser-4BOP77CD.js → parser-UMNBPXG2.js} +2 -2
  197. package/dist/{parser-GM5B2EPW.js → parser-WE4VSBBY.js} +3 -3
  198. package/dist/{parser-XEJP37GQ.js → parser-WKEYS7N3.js} +3 -3
  199. package/dist/{parser-DWV2CYBS.js → parser-WPXUUNA2.js} +3 -3
  200. package/dist/{parser-5HQPPVHJ.js → parser-XP3RCOTN.js} +3 -3
  201. package/dist/{parser-F3JJNIFC.js → parser-YV4RBHG7.js} +3 -3
  202. package/dist/{parser-CRJYLOHA.js → parser-YZ3J542U.js} +2 -2
  203. package/dist/{parser-ZV756RMP.js → parser-ZSBMGGTD.js} +6 -6
  204. package/dist/renderer-37LMEGLD.js +26 -0
  205. package/dist/{renderer-TS5NHOQD.js → renderer-3EIZRVO3.js} +12 -11
  206. package/dist/renderer-4LK2RFHD.js +28 -0
  207. package/dist/{renderer-BYLQ37T2.js → renderer-4WD4ZIEH.js} +16 -15
  208. package/dist/renderer-67PNYODC.js +32 -0
  209. package/dist/{renderer-GKY55M4Z.js → renderer-6O5SV5YE.js} +10 -10
  210. package/dist/{renderer-VNJOZPSH.js → renderer-6VBL2DWH.js} +17 -17
  211. package/dist/{renderer-F7YGMEGQ.js → renderer-7OXMSF4R.js} +4 -4
  212. package/dist/{renderer-6HU44IGJ.js → renderer-A36NL2SS.js} +8 -8
  213. package/dist/renderer-CC6O6GQK.js +18 -0
  214. package/dist/renderer-CUEMI3PI.js +85 -0
  215. package/dist/{renderer-QZJZIAT3.js → renderer-D6BEC6LI.js} +6 -4
  216. package/dist/{renderer-5GP7YUS4.js → renderer-DT2PP7NJ.js} +7 -6
  217. package/dist/{renderer-MGF2NNGG.js → renderer-E7LC7HCU.js} +5 -5
  218. package/dist/{renderer-PEJF6R2I.js → renderer-F3JYZERE.js} +4 -4
  219. package/dist/{renderer-CVCCW7UT.js → renderer-FAFSRFGR.js} +9 -9
  220. package/dist/renderer-GHYW6Y3A.js +27 -0
  221. package/dist/{renderer-VUXAAGUG.js → renderer-HRUKL4T6.js} +12 -11
  222. package/dist/renderer-INQMQPNN.js +22 -0
  223. package/dist/{renderer-LJPUCG3U.js → renderer-KOPJ76GS.js} +10 -10
  224. package/dist/renderer-KVC7Z4T2.js +39 -0
  225. package/dist/{renderer-MVBAQP3M.js → renderer-MYKL6VG6.js} +6 -6
  226. package/dist/{renderer-D6EH5UQ6.js → renderer-QVUPRQ4L.js} +13 -12
  227. package/dist/{renderer-SYRH3B62.js → renderer-RBAMFLZQ.js} +14 -13
  228. package/dist/{renderer-YJVQT7QG.js → renderer-S6L3JR6C.js} +11 -11
  229. package/dist/{renderer-ONENGXFQ.js → renderer-SGRZKIMS.js} +14 -12
  230. package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
  231. package/dist/{renderer-66NCRXSC.js → renderer-TJPBVNVG.js} +14 -11
  232. package/dist/renderer-WK2BPXND.js +41 -0
  233. package/dist/renderer-ZG7WOBBN.js +30 -0
  234. package/dist/{renderer-N6PM5CSG.js → renderer-ZRPL5COW.js} +14 -13
  235. package/dist/{renderer-2V2XY2V7.js → renderer-ZTHXOBXW.js} +8 -8
  236. package/dist/{renderer-radial-4R7AKETK.js → renderer-radial-FC25BDCZ.js} +8 -8
  237. package/dist/{state-parser-EQBBEKHR.js → state-parser-LSFAJFMV.js} +6 -6
  238. package/dist/state-renderer-QTDBFB4F.js +43 -0
  239. package/dist/{themes-CbJL3w8L.d.ts → themes-DoLdhUXV.d.ts} +1 -1
  240. package/docs/ai-integration.md +4 -3
  241. package/docs/language-reference.md +100 -14
  242. package/gallery/fixtures/swot-relabel.dgmo +19 -0
  243. package/gallery/fixtures/swot-tags.dgmo +16 -0
  244. package/gallery/fixtures/swot.dgmo +13 -0
  245. package/package.json +1 -1
  246. package/dist/chunk-R2K5L4UA.js +0 -49
  247. package/dist/collapse-TCVK3RPO.js +0 -8
  248. package/dist/dgmo-router-EPBQKQW2.js +0 -100
  249. package/dist/dimensions-DBCRBZIU.js +0 -21
  250. package/dist/flowchart-renderer-PPS2GTTD.js +0 -40
  251. package/dist/layout-3J72UULM.js +0 -15
  252. package/dist/layout-IXQNVRBE.js +0 -15
  253. package/dist/layout-VDCJOZSH.js +0 -11
  254. package/dist/parser-HM6FEX5K.js +0 -14
  255. package/dist/renderer-2MCV75JQ.js +0 -41
  256. package/dist/renderer-5AEDVLAA.js +0 -31
  257. package/dist/renderer-7C76HP5W.js +0 -30
  258. package/dist/renderer-7RAMBMTH.js +0 -22
  259. package/dist/renderer-E3334XLT.js +0 -84
  260. package/dist/renderer-LFZKG2GR.js +0 -26
  261. package/dist/renderer-MZIWP55B.js +0 -28
  262. package/dist/renderer-N75E3UVY.js +0 -25
  263. package/dist/renderer-VNUDN6F5.js +0 -39
  264. package/dist/state-renderer-SOGZ2CNN.js +0 -42
@@ -6,124 +6,131 @@ import {
6
6
  parseHeatmap,
7
7
  parseSankey,
8
8
  parseScatter
9
- } from "./chunk-P2GNNEMN.js";
9
+ } from "./chunk-WPYJAHRP.js";
10
+ import {
11
+ MAP_DIAGNOSTICS
12
+ } from "./chunk-EOYPX6SF.js";
13
+ import {
14
+ parseTechRadar
15
+ } from "./chunk-DKMZ4VMV.js";
16
+ import {
17
+ parsePyramid
18
+ } from "./chunk-CGP7RGLJ.js";
10
19
  import {
11
20
  parseRing
12
- } from "./chunk-K2WXMXI2.js";
21
+ } from "./chunk-QLIZ7SB7.js";
13
22
  import {
14
23
  TREEMAP_DIAGNOSTICS,
15
24
  parseTreemap
16
- } from "./chunk-EPB3UEMD.js";
25
+ } from "./chunk-NBISN6FH.js";
17
26
  import {
18
- MAP_DIAGNOSTICS
19
- } from "./chunk-EOYPX6SF.js";
27
+ SWOT_DIAGNOSTICS,
28
+ parseSwot
29
+ } from "./chunk-KNKZGRRB.js";
20
30
  import {
21
31
  VERSION_CONTROL_DIAGNOSTICS,
22
32
  parseVersionControl
23
- } from "./chunk-FBK32S4D.js";
33
+ } from "./chunk-R4SXMBGF.js";
24
34
  import {
25
35
  parseMap
26
- } from "./chunk-5ARANBIE.js";
36
+ } from "./chunk-IUFTAFGN.js";
27
37
  import {
28
38
  WHITEBOARD_DIAGNOSTICS,
29
39
  parseWhiteboard
30
- } from "./chunk-P3PSLC2K.js";
40
+ } from "./chunk-AULFF7L2.js";
31
41
  import {
32
42
  SWIMLANE_DIAGNOSTICS,
33
43
  parseSwimlane
34
- } from "./chunk-B7BSRVNC.js";
44
+ } from "./chunk-PZ5LAAO3.js";
35
45
  import {
36
46
  parseMindmap
37
- } from "./chunk-SIABEREK.js";
38
- import {
39
- parseTechRadar
40
- } from "./chunk-VVTCUIPN.js";
41
- import {
42
- parsePyramid
43
- } from "./chunk-B2YVZ3QU.js";
47
+ } from "./chunk-KTGJQJB3.js";
44
48
  import {
45
49
  parseKanban
46
- } from "./chunk-SCYVGPLI.js";
50
+ } from "./chunk-B7ZH5EQ2.js";
47
51
  import {
48
52
  parseInfra
49
- } from "./chunk-VLI6AWS3.js";
53
+ } from "./chunk-3C4OXVZJ.js";
50
54
  import {
51
55
  parseJourneyMap
52
- } from "./chunk-GM2SLMQW.js";
56
+ } from "./chunk-TMB4YY3J.js";
57
+ import {
58
+ parseGantt
59
+ } from "./chunk-VQWLASDC.js";
53
60
  import {
54
61
  parseGoal
55
- } from "./chunk-YSGOXZBB.js";
62
+ } from "./chunk-ZMVMGZAJ.js";
56
63
  import {
57
64
  EVENT_LINE_DIAGNOSTICS,
58
65
  parseEventLine
59
- } from "./chunk-ITDF3MWD.js";
66
+ } from "./chunk-L3K5O3Z5.js";
60
67
  import {
61
68
  parseTimelineEventLine
62
- } from "./chunk-AUXUNV73.js";
69
+ } from "./chunk-O3HRF25Z.js";
63
70
  import {
64
71
  FAMILY_DIAGNOSTICS,
65
72
  parseFamily
66
- } from "./chunk-YFIUABSF.js";
67
- import {
68
- parseGantt
69
- } from "./chunk-KQAPFIYF.js";
73
+ } from "./chunk-J467QBZF.js";
70
74
  import {
71
75
  parseClock
72
- } from "./chunk-EZ6BI5LL.js";
76
+ } from "./chunk-6OUMYNAJ.js";
73
77
  import {
74
78
  parseCountdown
75
- } from "./chunk-I2I2FKAK.js";
79
+ } from "./chunk-EBJLT7PH.js";
76
80
  import {
77
81
  parseCycle
78
- } from "./chunk-QEU6VM4O.js";
82
+ } from "./chunk-PLQZJZ2K.js";
79
83
  import {
80
84
  parseBracket
81
- } from "./chunk-RGFVHYDP.js";
85
+ } from "./chunk-3IUMSK72.js";
82
86
  import {
83
87
  parseC4
84
- } from "./chunk-BD4O4D2A.js";
88
+ } from "./chunk-5WZYJC2P.js";
85
89
  import {
86
90
  parseBlock
87
- } from "./chunk-DWMQ24JR.js";
91
+ } from "./chunk-RC6PISCK.js";
88
92
  import {
89
93
  BODY_DIAGNOSTICS,
90
94
  parseBody
91
- } from "./chunk-IU7XKZA6.js";
95
+ } from "./chunk-FK6HZYGK.js";
92
96
  import {
93
97
  parseBoxesAndLines
94
- } from "./chunk-OAZ6BIIB.js";
98
+ } from "./chunk-D7FHY6DO.js";
95
99
  import {
96
100
  parseDgmoChartType
97
- } from "./chunk-I3ZRIMR7.js";
101
+ } from "./chunk-3EDV56HL.js";
98
102
  import {
99
103
  parseRaci
100
- } from "./chunk-U6N547QA.js";
104
+ } from "./chunk-6PUBFB6D.js";
105
+ import {
106
+ parseSitemap
107
+ } from "./chunk-KMB754DO.js";
108
+ import {
109
+ PERT_DIAGNOSTICS,
110
+ parsePert
111
+ } from "./chunk-CUTEHGXO.js";
101
112
  import {
102
113
  parseLiveLink
103
- } from "./chunk-DPNSDCR3.js";
114
+ } from "./chunk-65JFUANT.js";
104
115
  import {
105
116
  SEQUENCE_DIAGNOSTICS,
106
117
  parseSequenceDgmo
107
- } from "./chunk-JCC3B2GS.js";
118
+ } from "./chunk-ROH4LYBL.js";
108
119
  import {
109
120
  parseOrg
110
- } from "./chunk-WLGOIMTI.js";
121
+ } from "./chunk-FDVUD3PR.js";
111
122
  import {
112
- parseSitemap
113
- } from "./chunk-YVIPJGFG.js";
114
- import {
115
- PERT_DIAGNOSTICS,
116
- parsePert
117
- } from "./chunk-34JOHSVE.js";
123
+ parseState
124
+ } from "./chunk-D6XR22KO.js";
118
125
  import {
119
126
  parseFlowchart
120
- } from "./chunk-H7RQG4PH.js";
127
+ } from "./chunk-A3N4UHHL.js";
121
128
  import {
122
129
  GRAPH_DIAGNOSTICS
123
130
  } from "./chunk-TIVMAITN.js";
124
131
  import {
125
- parseState
126
- } from "./chunk-TPCP2UOI.js";
132
+ parseERDiagram
133
+ } from "./chunk-GMJBBFKC.js";
127
134
  import {
128
135
  makeYearContext,
129
136
  parseDateToken,
@@ -133,18 +140,15 @@ import {
133
140
  import {
134
141
  extractPaletteDirective
135
142
  } from "./chunk-CYTFO2LF.js";
136
- import {
137
- parseERDiagram
138
- } from "./chunk-MAYTYF5S.js";
139
143
  import {
140
144
  parseClassDiagram
141
- } from "./chunk-M4ZUIW3J.js";
145
+ } from "./chunk-Z6V73LD6.js";
142
146
  import {
143
147
  ARROW_DIAGNOSTIC_CODES
144
148
  } from "./chunk-N7VMGZCU.js";
145
149
  import {
146
150
  parseWireframe
147
- } from "./chunk-D7DGLJ7N.js";
151
+ } from "./chunk-VVZDBUHA.js";
148
152
  import {
149
153
  RACI_DIAGNOSTICS
150
154
  } from "./chunk-4WW3SGMH.js";
@@ -154,7 +158,7 @@ import {
154
158
  tagAttrKey,
155
159
  validateTagGroupNames,
156
160
  validateTagValues
157
- } from "./chunk-LGUFJ7Y2.js";
161
+ } from "./chunk-KW3CC7SB.js";
158
162
  import {
159
163
  ALIAS_DIAGNOSTICS,
160
164
  RETIRED_CHART_TYPES,
@@ -166,10 +170,11 @@ import {
166
170
  measureIndent,
167
171
  normalizeNumericToken,
168
172
  parseFirstLine,
173
+ peelTrailingCollapsedFlag,
169
174
  peelTrailingColorName,
170
175
  splitNameAndMeta,
171
176
  withTagAliases
172
- } from "./chunk-FUYEXLAN.js";
177
+ } from "./chunk-RFGQDIOI.js";
173
178
  import {
174
179
  resolveColorWithDiagnostic
175
180
  } from "./chunk-3J7O3CU6.js";
@@ -410,7 +415,9 @@ function parseVisualizationFull(content, palette) {
410
415
  const tlGroupMatch = line.match(/^\[(.+?)\]\s*(.*?)\s*$/);
411
416
  if (tlGroupMatch) {
412
417
  const name = tlGroupMatch[1].trim();
413
- const trailing = tlGroupMatch[2] ?? "";
418
+ const lanePeel = peelTrailingCollapsedFlag(tlGroupMatch[2] ?? "");
419
+ const trailing = lanePeel.rest;
420
+ let collapsed = lanePeel.collapsed;
414
421
  let color = null;
415
422
  let groupMeta = {};
416
423
  if (trailing) {
@@ -457,11 +464,16 @@ function parseVisualizationFull(content, palette) {
457
464
  }
458
465
  }
459
466
  }
467
+ if (groupMeta["collapsed"] !== void 0) {
468
+ if (groupMeta["collapsed"].toLowerCase() === "true") collapsed = true;
469
+ delete groupMeta["collapsed"];
470
+ }
460
471
  result.timelineGroups.push({
461
472
  name,
462
473
  color,
463
474
  metadata: groupMeta,
464
- lineNumber
475
+ lineNumber,
476
+ ...collapsed && { collapsed: true }
465
477
  });
466
478
  currentTimelineGroup = name;
467
479
  currentTimelineGroupMeta = groupMeta;
@@ -1629,6 +1641,7 @@ var REGISTRY = [
1629
1641
  ...UNIVERSAL_DIAGNOSTICS,
1630
1642
  ...SWIMLANE_DIAGNOSTICS,
1631
1643
  ...RACI_DIAGNOSTICS,
1644
+ ...SWOT_DIAGNOSTICS,
1632
1645
  ...TREEMAP_DIAGNOSTICS,
1633
1646
  ...EVENT_LINE_DIAGNOSTICS,
1634
1647
  ...BODY_DIAGNOSTICS,
@@ -1711,6 +1724,7 @@ var REGISTRY2 = {
1711
1724
  wireframe: { category: "diagram", parse: parseWireframe },
1712
1725
  "journey-map": { category: "diagram", parse: parseJourneyMap },
1713
1726
  raci: { category: "diagram", parse: parseRaci },
1727
+ swot: { category: "diagram", parse: parseSwot },
1714
1728
  // ── Standard ECharts charts (parseChart) ──────────────────
1715
1729
  bar: { category: "data-chart", parse: parseChart },
1716
1730
  line: { category: "data-chart", parse: parseChart },
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-24YPR5EH.js";
4
4
  import {
5
5
  TITLE_FONT_SIZE
6
- } from "./chunk-VLC6WNRD.js";
6
+ } from "./chunk-GULGSH2Z.js";
7
7
  import {
8
8
  renderIntegratedLegend
9
- } from "./chunk-PGD6CNWO.js";
9
+ } from "./chunk-DFEVFLEG.js";
10
10
  import {
11
11
  getMaxLegendReservedHeight
12
- } from "./chunk-JILEYZ2V.js";
12
+ } from "./chunk-VVL2KKG4.js";
13
13
  import {
14
14
  parseInlineMarkdown,
15
15
  safeHref
@@ -20,12 +20,12 @@ import {
20
20
  import {
21
21
  fillModeFromOptions,
22
22
  legendSuppressed
23
- } from "./chunk-FUYEXLAN.js";
23
+ } from "./chunk-RFGQDIOI.js";
24
24
  import {
25
25
  measureText,
26
26
  truncateText,
27
27
  wrapTextToWidth
28
- } from "./chunk-KAO7JL4I.js";
28
+ } from "./chunk-PU5X3P3T.js";
29
29
  import {
30
30
  contrastText,
31
31
  mix,
@@ -1,17 +1,20 @@
1
1
  import {
2
2
  ScaleContext
3
3
  } from "./chunk-24YPR5EH.js";
4
+ import {
5
+ renderCollapseBar
6
+ } from "./chunk-42AZPI2W.js";
4
7
  import {
5
8
  TITLE_FONT_SIZE,
6
9
  TITLE_FONT_WEIGHT,
7
10
  TITLE_Y
8
- } from "./chunk-VLC6WNRD.js";
11
+ } from "./chunk-GULGSH2Z.js";
9
12
  import {
10
13
  NODE_STROKE_WIDTH
11
- } from "./chunk-XCKNFFKM.js";
14
+ } from "./chunk-WH6E6SHC.js";
12
15
  import {
13
16
  allTasks
14
- } from "./chunk-U6N547QA.js";
17
+ } from "./chunk-6PUBFB6D.js";
15
18
  import {
16
19
  FONT_FAMILY
17
20
  } from "./chunk-ICLB27PZ.js";
@@ -21,12 +24,12 @@ import {
21
24
  import {
22
25
  fillModeFromOptions,
23
26
  legendSuppressed
24
- } from "./chunk-FUYEXLAN.js";
27
+ } from "./chunk-RFGQDIOI.js";
25
28
  import {
26
29
  measureText,
27
30
  truncateText,
28
31
  wrapTextToWidth
29
- } from "./chunk-KAO7JL4I.js";
32
+ } from "./chunk-PU5X3P3T.js";
30
33
  import {
31
34
  contrastText,
32
35
  mix,
@@ -35,6 +38,18 @@ import {
35
38
 
36
39
  // src/raci/renderer.ts
37
40
  import * as d3Selection from "d3-selection";
41
+
42
+ // src/raci/collapse.ts
43
+ function collapsedRaciPhasesFromSource(parsed, interactiveLines) {
44
+ const lines = new Set(interactiveLines ?? []);
45
+ const ids = /* @__PURE__ */ new Set();
46
+ for (const phase of parsed.phases) {
47
+ if (phase.collapsed || lines.has(phase.lineNumber)) ids.add(phase.id);
48
+ }
49
+ return ids;
50
+ }
51
+
52
+ // src/raci/renderer.ts
38
53
  function groupDiagnosticsByTask(parsed) {
39
54
  const map = /* @__PURE__ */ new Map();
40
55
  if (parsed.diagnostics.length === 0) return map;
@@ -429,7 +444,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
429
444
  sPhaseHeight,
430
445
  sPhaseFont,
431
446
  sColumnInset,
432
- sNodeRadius
447
+ sNodeRadius,
448
+ ctx
433
449
  );
434
450
  } else {
435
451
  renderTaskRow(
@@ -570,11 +586,25 @@ function renderLegend(svg, markers, variant, x, y, mode, chipW, palette, surface
570
586
  );
571
587
  });
572
588
  }
573
- function renderRaciForExport(container, parsed, palette, isDark, exportDims) {
574
- renderRaci(container, parsed, palette, isDark, {}, exportDims);
589
+ function renderRaciForExport(container, parsed, palette, isDark, exportDims, interactiveCollapsedLines) {
590
+ const collapsedPhases = collapsedRaciPhasesFromSource(
591
+ parsed,
592
+ interactiveCollapsedLines
593
+ );
594
+ renderRaci(
595
+ container,
596
+ parsed,
597
+ palette,
598
+ isDark,
599
+ { collapsedPhases },
600
+ exportDims
601
+ );
575
602
  }
576
- function renderPhaseBar(svg, phase, x, y, width, palette, collapsed, autoColor, roles, roleX, roleColW, variant, surfaceBg, fillMode, showSummary, sPhaseHeight, sPhaseFont, sColumnInset, sNodeRadius) {
577
- const phaseG = svg.append("g").attr("class", "raci-phase").attr("data-section", `phase-${phase.id}`).attr("data-section-toggle", "").attr("data-line-number", String(phase.lineNumber)).attr("data-phase-id", phase.id).attr("data-collapsed", collapsed ? "1" : "0").style("cursor", "pointer");
603
+ function renderPhaseBar(svg, phase, x, y, width, palette, collapsed, autoColor, roles, roleX, roleColW, variant, surfaceBg, fillMode, showSummary, sPhaseHeight, sPhaseFont, sColumnInset, sNodeRadius, scale) {
604
+ const phaseG = svg.append("g").attr("class", "raci-phase").attr("data-section", `phase-${phase.id}`).attr("data-line-number", String(phase.lineNumber)).attr("data-phase-id", phase.id).attr("data-collapsed", collapsed ? "1" : "0").style("cursor", "pointer");
605
+ if (phase.tasks.length > 0) {
606
+ phaseG.attr("data-group-toggle", phase.id).attr("aria-expanded", String(!collapsed)).attr("role", "button").attr("aria-label", phase.displayName);
607
+ }
578
608
  const phaseColor = phase.color ?? autoColor;
579
609
  const phaseRect = phaseG.append("rect").attr("x", x).attr("y", y + 4).attr("width", width).attr("height", sPhaseHeight - 8).attr(
580
610
  "fill",
@@ -583,17 +613,28 @@ function renderPhaseBar(svg, phase, x, y, width, palette, collapsed, autoColor,
583
613
  if (fillMode === "outline") {
584
614
  phaseRect.attr("stroke", phaseColor).attr("stroke-width", 1.25);
585
615
  }
586
- const chevX = x + 12;
587
- const chevY = y + sPhaseHeight / 2;
588
- phaseG.append("text").attr("x", chevX).attr("y", chevY).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", 9).attr("fill", palette.text).attr("opacity", 0.6).text(collapsed ? "\u25B6" : "\u25BC");
589
- phaseG.append("text").attr("x", x + 26).attr("y", y + (sPhaseHeight - 4) / 2 + 2).attr("dominant-baseline", "central").attr("font-size", sPhaseFont).attr("font-weight", "bold").attr("fill", palette.text).text(phase.displayName);
616
+ if (phase.tasks.length > 0) {
617
+ renderCollapseBar(phaseG, {
618
+ expanded: !collapsed,
619
+ x,
620
+ y: y + 4,
621
+ width,
622
+ height: sPhaseHeight - 8,
623
+ rx: 4,
624
+ fill: phaseColor,
625
+ clipId: `raci-phase-clip-${phase.id.replace(/[^A-Za-z0-9_-]/g, "_")}`,
626
+ prefix: "raci",
627
+ scale
628
+ });
629
+ }
630
+ phaseG.append("text").attr("x", x + 12).attr("y", y + (sPhaseHeight - 4) / 2 + 2).attr("dominant-baseline", "central").attr("font-size", sPhaseFont).attr("font-weight", "bold").attr("fill", palette.text).text(phase.displayName);
590
631
  if (collapsed) {
591
632
  const taskCount = phase.tasks.length;
592
633
  if (taskCount > 0) {
593
634
  const labelTextWidth = measureText(phase.displayName, sPhaseFont, {
594
635
  bold: true
595
636
  });
596
- phaseG.append("text").attr("x", x + 26 + labelTextWidth + 10).attr("y", y + (sPhaseHeight - 4) / 2 + 2).attr("dominant-baseline", "central").attr("font-size", sPhaseFont - 1).attr("font-weight", "normal").attr("fill", palette.textMuted).text(`${taskCount} ${taskCount === 1 ? "task" : "tasks"}`);
637
+ phaseG.append("text").attr("x", x + 12 + labelTextWidth + 10).attr("y", y + (sPhaseHeight - 4) / 2 + 2).attr("dominant-baseline", "central").attr("font-size", sPhaseFont - 1).attr("font-weight", "normal").attr("fill", palette.textMuted).text(`${taskCount} ${taskCount === 1 ? "task" : "tasks"}`);
597
638
  }
598
639
  if (!showSummary) return;
599
640
  const alphabet = VARIANTS[variant].alphabet;
@@ -855,6 +896,7 @@ function parseQuotedSegments(message) {
855
896
  }
856
897
 
857
898
  export {
899
+ collapsedRaciPhasesFromSource,
858
900
  MARKER_LABELS,
859
901
  renderRaci,
860
902
  renderRaciForExport
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  acyclicOrient
3
- } from "./chunk-VGAMBOOC.js";
3
+ } from "./chunk-C6ME2L4T.js";
4
4
 
5
5
  // src/swimlane/layout.ts
6
6
  var MARGIN = 30;
@@ -8,7 +8,7 @@ import {
8
8
  splitNameAndMeta,
9
9
  tryParseSharedOption,
10
10
  warnUnknownMetaKeys
11
- } from "./chunk-FUYEXLAN.js";
11
+ } from "./chunk-RFGQDIOI.js";
12
12
  import {
13
13
  RECOGNIZED_COLOR_NAMES,
14
14
  resolveColor
@@ -3,13 +3,13 @@ import {
3
3
  mapLegendConfig,
4
4
  mapLegendGroups,
5
5
  parsePathRings
6
- } from "./chunk-EMGNCG5C.js";
6
+ } from "./chunk-XZGXVN4T.js";
7
7
  import {
8
8
  buildSwatches
9
9
  } from "./chunk-T7NWBVSC.js";
10
10
  import {
11
11
  parseClock
12
- } from "./chunk-EZ6BI5LL.js";
12
+ } from "./chunk-6OUMYNAJ.js";
13
13
  import {
14
14
  fixedParts,
15
15
  fixedTimeCells,
@@ -22,19 +22,19 @@ import {
22
22
  TITLE_FONT_SIZE,
23
23
  TITLE_FONT_WEIGHT,
24
24
  TITLE_Y
25
- } from "./chunk-VLC6WNRD.js";
25
+ } from "./chunk-GULGSH2Z.js";
26
26
  import {
27
27
  renderIntegratedLegend
28
- } from "./chunk-PGD6CNWO.js";
28
+ } from "./chunk-DFEVFLEG.js";
29
29
  import {
30
30
  FONT_FAMILY
31
31
  } from "./chunk-ICLB27PZ.js";
32
32
  import {
33
33
  tagAttrKey
34
- } from "./chunk-LGUFJ7Y2.js";
34
+ } from "./chunk-KW3CC7SB.js";
35
35
  import {
36
36
  measureText
37
- } from "./chunk-KAO7JL4I.js";
37
+ } from "./chunk-PU5X3P3T.js";
38
38
  import {
39
39
  mix,
40
40
  themeBaseBg
@@ -2,7 +2,7 @@ import {
2
2
  extractColor,
3
3
  measureIndent,
4
4
  parseFirstLine
5
- } from "./chunk-FUYEXLAN.js";
5
+ } from "./chunk-RFGQDIOI.js";
6
6
  import {
7
7
  emit,
8
8
  formatDgmoError,
@@ -0,0 +1,178 @@
1
+ import {
2
+ isSequenceBlock,
3
+ isSequenceNote,
4
+ isSequenceSection
5
+ } from "./chunk-ROH4LYBL.js";
6
+
7
+ // src/sequence/collapse.ts
8
+ function isCollapsibleGroup(group) {
9
+ return group.participantIds.length > 1;
10
+ }
11
+ function collapsedGroupId(group, groups) {
12
+ const shared = groups.some((g) => g !== group && g.name === group.name);
13
+ return shared ? `${group.name}@${group.lineNumber}` : group.name;
14
+ }
15
+ function applyCollapseProjection(parsed, requestedGroups) {
16
+ const collapsedGroups = new Set(
17
+ parsed.groups.filter((g) => requestedGroups.has(g.lineNumber) && isCollapsibleGroup(g)).map((g) => g.lineNumber)
18
+ );
19
+ if (collapsedGroups.size === 0) {
20
+ return {
21
+ participants: parsed.participants,
22
+ messages: parsed.messages,
23
+ elements: parsed.elements,
24
+ groups: parsed.groups,
25
+ collapsedGroupIds: /* @__PURE__ */ new Map()
26
+ };
27
+ }
28
+ const byName = new Map(parsed.groups.map((g) => [g.name, g]));
29
+ const insideCollapsed = (group) => {
30
+ let parentName = group.parent;
31
+ const seen = /* @__PURE__ */ new Set();
32
+ while (parentName !== void 0 && !seen.has(parentName)) {
33
+ seen.add(parentName);
34
+ const ancestor = byName.get(parentName);
35
+ if (!ancestor) return false;
36
+ if (collapsedGroups.has(ancestor.lineNumber)) return true;
37
+ parentName = ancestor.parent;
38
+ }
39
+ return false;
40
+ };
41
+ const memberToGroup = /* @__PURE__ */ new Map();
42
+ const virtualIds = /* @__PURE__ */ new Set();
43
+ const groupById = /* @__PURE__ */ new Map();
44
+ const byDepth = [...parsed.groups].sort((a, b) => a.depth - b.depth);
45
+ for (const group of byDepth) {
46
+ if (!collapsedGroups.has(group.lineNumber)) continue;
47
+ if (insideCollapsed(group)) continue;
48
+ const id = collapsedGroupId(group, parsed.groups);
49
+ virtualIds.add(id);
50
+ groupById.set(id, group);
51
+ for (const memberId of group.participantIds) {
52
+ if (!memberToGroup.has(memberId)) {
53
+ memberToGroup.set(memberId, id);
54
+ }
55
+ }
56
+ }
57
+ const participants = [];
58
+ const insertedGroups = /* @__PURE__ */ new Set();
59
+ for (const p of parsed.participants) {
60
+ const groupId = memberToGroup.get(p.id);
61
+ if (groupId) {
62
+ if (!insertedGroups.has(groupId)) {
63
+ insertedGroups.add(groupId);
64
+ const group = groupById.get(groupId);
65
+ participants.push({
66
+ id: groupId,
67
+ label: group.name,
68
+ type: "default",
69
+ lineNumber: group.lineNumber
70
+ });
71
+ }
72
+ } else if (virtualIds.has(p.id)) {
73
+ } else {
74
+ participants.push(p);
75
+ }
76
+ }
77
+ const remap = (id) => memberToGroup.get(id) ?? id;
78
+ const messages = parsed.messages.map((msg) => ({
79
+ ...msg,
80
+ from: remap(msg.from),
81
+ to: remap(msg.to)
82
+ }));
83
+ const elements = remapElements(parsed.elements, memberToGroup);
84
+ const groups = parsed.groups.filter((g) => !collapsedGroups.has(g.lineNumber) && !insideCollapsed(g)).map((g) => {
85
+ const remapped = [];
86
+ for (const id of g.participantIds) {
87
+ const to = memberToGroup.get(id) ?? id;
88
+ if (!remapped.includes(to)) remapped.push(to);
89
+ }
90
+ return { ...g, participantIds: remapped };
91
+ });
92
+ return {
93
+ participants,
94
+ messages,
95
+ elements,
96
+ groups,
97
+ collapsedGroupIds: memberToGroup
98
+ };
99
+ }
100
+ function remapElements(elements, memberToGroup) {
101
+ const remap = (id) => memberToGroup.get(id) ?? id;
102
+ const result = [];
103
+ for (const el of elements) {
104
+ if (isSequenceSection(el)) {
105
+ result.push(el);
106
+ } else if (isSequenceNote(el)) {
107
+ result.push({
108
+ ...el,
109
+ participantId: remap(el.participantId)
110
+ });
111
+ } else if (isSequenceBlock(el)) {
112
+ result.push({
113
+ ...el,
114
+ children: remapElements(el.children, memberToGroup),
115
+ elseChildren: remapElements(el.elseChildren, memberToGroup),
116
+ ...el.elseIfBranches ? {
117
+ elseIfBranches: el.elseIfBranches.map((branch) => ({
118
+ ...branch,
119
+ children: remapElements(branch.children, memberToGroup)
120
+ }))
121
+ } : {}
122
+ });
123
+ } else {
124
+ const msg = el;
125
+ const from = remap(msg.from);
126
+ const to = remap(msg.to);
127
+ if (from === to && from !== msg.from && !msg.label) {
128
+ continue;
129
+ }
130
+ result.push({ ...msg, from, to });
131
+ }
132
+ }
133
+ return result;
134
+ }
135
+ function isFoldableSequenceNote(note) {
136
+ return note.text.includes("\n");
137
+ }
138
+ function collectNotes(els, out) {
139
+ for (const el of els) {
140
+ if (isSequenceNote(el)) out.push(el);
141
+ else if (isSequenceBlock(el)) {
142
+ collectNotes(el.children, out);
143
+ for (const branch of el.elseIfBranches ?? [])
144
+ collectNotes(branch.children, out);
145
+ collectNotes(el.elseChildren, out);
146
+ }
147
+ }
148
+ return out;
149
+ }
150
+ function collapsedSequenceNoteLinesFromSource(parsed) {
151
+ return new Set(
152
+ collectNotes(parsed.elements, []).filter((n) => n.collapsed === true && isFoldableSequenceNote(n)).map((n) => n.lineNumber)
153
+ );
154
+ }
155
+ function unionCollapsedSequenceNotes(parsed, runtime) {
156
+ const out = collapsedSequenceNoteLinesFromSource(parsed);
157
+ if (runtime === void 0) return out;
158
+ const foldable = new Set(
159
+ collectNotes(parsed.elements, []).filter(isFoldableSequenceNote).map((n) => n.lineNumber)
160
+ );
161
+ for (const line of runtime) if (foldable.has(line)) out.add(line);
162
+ return out;
163
+ }
164
+ function collapsedSequenceSectionLinesFromSource(parsed) {
165
+ return new Set(
166
+ parsed.sections.filter((s) => s.collapsed === true).map((s) => s.lineNumber)
167
+ );
168
+ }
169
+
170
+ export {
171
+ isCollapsibleGroup,
172
+ collapsedGroupId,
173
+ applyCollapseProjection,
174
+ isFoldableSequenceNote,
175
+ collapsedSequenceNoteLinesFromSource,
176
+ unionCollapsedSequenceNotes,
177
+ collapsedSequenceSectionLinesFromSource
178
+ };