@diagrammo/dgmo 0.96.0 → 0.97.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 (261) hide show
  1. package/dist/advanced.d.ts +172 -8
  2. package/dist/advanced.js +225 -243
  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-MVUNMJKO.js → chunk-2FMOLWX4.js} +71 -57
  12. package/dist/{chunk-2BYFNZVM.js → chunk-2SZILMQT.js} +57 -15
  13. package/dist/{chunk-VLI6AWS3.js → chunk-3C4OXVZJ.js} +2 -2
  14. package/dist/{chunk-OO4GUE4E.js → chunk-3HL6NSSQ.js} +63 -18
  15. package/dist/{chunk-RGFVHYDP.js → chunk-3IUMSK72.js} +2 -2
  16. package/dist/{chunk-LRHPBWOY.js → chunk-44RLIAYC.js} +17 -10
  17. package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
  18. package/dist/{chunk-FHX373L5.js → chunk-47INRTZ6.js} +2 -2
  19. package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
  20. package/dist/{chunk-HH3DHNQA.js → chunk-4TK26YHH.js} +2 -2
  21. package/dist/{chunk-5LG526X7.js → chunk-5TGZBHEJ.js} +1 -1
  22. package/dist/{chunk-BD4O4D2A.js → chunk-5WZYJC2P.js} +2 -2
  23. package/dist/{chunk-DPNSDCR3.js → chunk-65JFUANT.js} +1 -1
  24. package/dist/{chunk-EZ6BI5LL.js → chunk-6OUMYNAJ.js} +1 -1
  25. package/dist/{chunk-U6N547QA.js → chunk-6PUBFB6D.js} +24 -3
  26. package/dist/{chunk-5GU6C5WB.js → chunk-6S2H6EKN.js} +3 -3
  27. package/dist/{chunk-OYGJZA24.js → chunk-6SDEXSJY.js} +39 -19
  28. package/dist/{chunk-IKXQ6NVR.js → chunk-6YBZFOTA.js} +13 -13
  29. package/dist/{chunk-4B45SNZH.js → chunk-74XR7Z3I.js} +13 -13
  30. package/dist/{chunk-VNAPEZX2.js → chunk-7ASVGFW3.js} +1 -1
  31. package/dist/{chunk-RTRORHSP.js → chunk-7QKWU7FX.js} +3 -3
  32. package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
  33. package/dist/{chunk-5G4DOOX2.js → chunk-7TEAFIEJ.js} +9 -5
  34. package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
  35. package/dist/{chunk-VJ7NLYFE.js → chunk-A5LFM62B.js} +3 -3
  36. package/dist/{chunk-P3PSLC2K.js → chunk-AULFF7L2.js} +2 -2
  37. package/dist/{chunk-SCYVGPLI.js → chunk-B7ZH5EQ2.js} +2 -2
  38. package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
  39. package/dist/{chunk-B2YVZ3QU.js → chunk-CGP7RGLJ.js} +1 -1
  40. package/dist/{chunk-67N26CER.js → chunk-CLW45YKE.js} +2 -1
  41. package/dist/{chunk-THTYCJGF.js → chunk-CUOMNKYW.js} +4 -4
  42. package/dist/{chunk-34JOHSVE.js → chunk-CUTEHGXO.js} +2 -2
  43. package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
  44. package/dist/{chunk-DKCVAQU3.js → chunk-D7KZE2XJ.js} +39 -17
  45. package/dist/{chunk-PGD6CNWO.js → chunk-DFEVFLEG.js} +3 -3
  46. package/dist/{chunk-VVTCUIPN.js → chunk-DKMZ4VMV.js} +1 -1
  47. package/dist/{chunk-H7JVKUA5.js → chunk-DRY4W4W6.js} +36 -15
  48. package/dist/{chunk-IQZSKWE5.js → chunk-E6GHXMH2.js} +8 -8
  49. package/dist/{chunk-I2I2FKAK.js → chunk-EBJLT7PH.js} +1 -1
  50. package/dist/{chunk-GEHK4UD5.js → chunk-EEIGHOJR.js} +92 -23
  51. package/dist/{chunk-FKJWZWNU.js → chunk-EUPUVYWO.js} +1 -1
  52. package/dist/{chunk-3W73ZP6W.js → chunk-F2OAZHOX.js} +3 -3
  53. package/dist/{chunk-IU7XKZA6.js → chunk-FK6HZYGK.js} +4 -14
  54. package/dist/{chunk-2M3K6GD2.js → chunk-FTW2E2YH.js} +6 -6
  55. package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
  56. package/dist/chunk-G24NSISJ.js +69 -0
  57. package/dist/{chunk-5H7SA5ZD.js → chunk-GFQFLLP3.js} +2 -2
  58. package/dist/{chunk-BUVLLK3D.js → chunk-GLLYHYGT.js} +27 -17
  59. package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
  60. package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
  61. package/dist/{chunk-7UWVHNPM.js → chunk-H242TVAE.js} +9 -9
  62. package/dist/{chunk-M4ZUIW3J.js → chunk-H7DZYHQF.js} +3 -3
  63. package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
  64. package/dist/{chunk-H7RQG4PH.js → chunk-IAM3IDL4.js} +2 -2
  65. package/dist/{chunk-WTPS73RM.js → chunk-II6D6NWX.js} +8 -8
  66. package/dist/{chunk-5ARANBIE.js → chunk-IUFTAFGN.js} +2 -2
  67. package/dist/{chunk-AQRSEQZV.js → chunk-IZEKHIV6.js} +3 -3
  68. package/dist/{chunk-WGNP5ND2.js → chunk-J3YM6RA5.js} +3 -3
  69. package/dist/{chunk-YFIUABSF.js → chunk-J467QBZF.js} +23 -3
  70. package/dist/{chunk-CD7VQCDL.js → chunk-J7JF4QKA.js} +40 -30
  71. package/dist/{chunk-MYHR3PMH.js → chunk-JULBDTNU.js} +7 -7
  72. package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
  73. package/dist/{chunk-YVIPJGFG.js → chunk-KMB754DO.js} +33 -6
  74. package/dist/chunk-KNKZGRRB.js +439 -0
  75. package/dist/{chunk-SIABEREK.js → chunk-KTGJQJB3.js} +2 -2
  76. package/dist/{chunk-LGUFJ7Y2.js → chunk-KW3CC7SB.js} +1 -1
  77. package/dist/{chunk-ITDF3MWD.js → chunk-L3K5O3Z5.js} +3 -3
  78. package/dist/chunk-LRTSTDJ6.js +126 -0
  79. package/dist/{chunk-NI4L6HEU.js → chunk-LZATSXAA.js} +1 -1
  80. package/dist/{chunk-RVOSA4RR.js → chunk-MJ725XHD.js} +441 -267
  81. package/dist/{chunk-EPB3UEMD.js → chunk-NBISN6FH.js} +2 -2
  82. package/dist/{chunk-IZFJZCF6.js → chunk-NN5RUHXV.js} +84 -16
  83. package/dist/{chunk-KDWEOT54.js → chunk-NOZMRPXI.js} +96 -153
  84. package/dist/{chunk-EM5SA7NC.js → chunk-NQFZ7LXC.js} +4 -4
  85. package/dist/chunk-NTDWVTEY.js +12 -0
  86. package/dist/{chunk-AUXUNV73.js → chunk-O3HRF25Z.js} +1 -1
  87. package/dist/{chunk-GLL237AP.js → chunk-OSSA5UWA.js} +3 -3
  88. package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
  89. package/dist/{chunk-QEU6VM4O.js → chunk-PLQZJZ2K.js} +1 -1
  90. package/dist/chunk-PRG7NIUU.js +272 -0
  91. package/dist/{chunk-MAYTYF5S.js → chunk-PSNRB75I.js} +3 -3
  92. package/dist/{chunk-B5CEV7IR.js → chunk-PT5VFY3B.js} +38 -14
  93. package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
  94. package/dist/{chunk-B7BSRVNC.js → chunk-PZ5LAAO3.js} +2 -2
  95. package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
  96. package/dist/{chunk-TUOZ6AXC.js → chunk-Q6V342WS.js} +16 -4
  97. package/dist/{chunk-ZOKD5F7M.js → chunk-QDPTOIG7.js} +5 -5
  98. package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
  99. package/dist/{chunk-K2WXMXI2.js → chunk-QLIZ7SB7.js} +1 -1
  100. package/dist/chunk-QLNLRZ37.js +181 -0
  101. package/dist/{chunk-P6LKX3IQ.js → chunk-QOLRTPGH.js} +6 -6
  102. package/dist/{chunk-FBK32S4D.js → chunk-R4SXMBGF.js} +1 -1
  103. package/dist/chunk-R4U7IIRX.js +178 -0
  104. package/dist/{chunk-DWMQ24JR.js → chunk-RC6PISCK.js} +4 -2
  105. package/dist/{chunk-R5L5E3TC.js → chunk-REKLKGR6.js} +3 -3
  106. package/dist/{chunk-FUYEXLAN.js → chunk-RFGQDIOI.js} +837 -220
  107. package/dist/{chunk-W5MMPPGX.js → chunk-ROFSIFSY.js} +4 -4
  108. package/dist/{chunk-JCC3B2GS.js → chunk-ROH4LYBL.js} +65 -21
  109. package/dist/{chunk-OAZ6BIIB.js → chunk-SNDCXT5R.js} +9 -7
  110. package/dist/{chunk-JRN2CRXJ.js → chunk-TDUBTDXS.js} +1 -1
  111. package/dist/{chunk-GM2SLMQW.js → chunk-TMB4YY3J.js} +34 -4
  112. package/dist/{chunk-ZBOIYC2G.js → chunk-V3ICBS2O.js} +5 -5
  113. package/dist/{chunk-HZX4QZGR.js → chunk-V65EDV6S.js} +3 -3
  114. package/dist/{chunk-67RKJEKF.js → chunk-VKT3BVRO.js} +35 -11
  115. package/dist/{chunk-5BG4OSWJ.js → chunk-VOO65FKC.js} +12 -12
  116. package/dist/{chunk-KQAPFIYF.js → chunk-VQWLASDC.js} +2 -2
  117. package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
  118. package/dist/{chunk-D7DGLJ7N.js → chunk-VVZDBUHA.js} +2 -2
  119. package/dist/{chunk-JBAFAKGX.js → chunk-W46OMHOK.js} +23 -27
  120. package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
  121. package/dist/{chunk-P2GNNEMN.js → chunk-WPYJAHRP.js} +1 -1
  122. package/dist/{chunk-TPCP2UOI.js → chunk-WXGFB2O2.js} +3 -3
  123. package/dist/{chunk-RIK6WUMO.js → chunk-XCYGOCMS.js} +43 -26
  124. package/dist/{chunk-I3ZRIMR7.js → chunk-XEMCNQQW.js} +15 -15
  125. package/dist/{chunk-PWZEJNO6.js → chunk-XMUFXJI2.js} +6 -6
  126. package/dist/{chunk-EMGNCG5C.js → chunk-XZGXVN4T.js} +5 -5
  127. package/dist/{chunk-WLGOIMTI.js → chunk-YCIBBVI2.js} +2 -2
  128. package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
  129. package/dist/{chunk-K2SFH3GJ.js → chunk-YFWIFKRQ.js} +3 -3
  130. package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
  131. package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
  132. package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
  133. package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
  134. package/dist/{chunk-TIPNNOZC.js → chunk-ZCKVTZHD.js} +41 -19
  135. package/dist/{chunk-YSGOXZBB.js → chunk-ZMVMGZAJ.js} +1 -1
  136. package/dist/{chunk-CP73WWLN.js → chunk-ZRW4B4KF.js} +48 -14
  137. package/dist/{chunk-O2HNVNKO.js → chunk-ZTKO2RD4.js} +5 -5
  138. package/dist/collapse-6IGH2B24.js +31 -0
  139. package/dist/collapse-GOWNCVHZ.js +7 -0
  140. package/dist/collapse-HNTPLB2Q.js +11 -0
  141. package/dist/collapse-NUM7DPJA.js +10 -0
  142. package/dist/completion-registry.js +27 -4
  143. package/dist/dgmo-router-RSYWR5IS.js +101 -0
  144. package/dist/dimensions-KXAI7U2B.js +21 -0
  145. package/dist/editor.js +882 -215
  146. package/dist/{flowchart-parser-SM5LHF2D.js → flowchart-parser-UI5VZNGJ.js} +5 -5
  147. package/dist/{flowchart-renderer-PPS2GTTD.js → flowchart-renderer-IYWPKPCF.js} +18 -18
  148. package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
  149. package/dist/highlight.js +883 -216
  150. package/dist/index.d.ts +52 -5
  151. package/dist/index.js +79 -63
  152. package/dist/{layout-AF4KA5B2.js → layout-6VY3DHYD.js} +6 -6
  153. package/dist/{layout-FCFUVCRI.js → layout-7C2QZCEZ.js} +10 -10
  154. package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
  155. package/dist/layout-BSK374N6.js +11 -0
  156. package/dist/{layout-R6G4MEO3.js → layout-FJDBY3WG.js} +5 -5
  157. package/dist/{layout-KELSNWBD.js → layout-G3RVKEC4.js} +10 -10
  158. package/dist/{layout-H2KP5A6M.js → layout-GC5XX2RH.js} +2 -2
  159. package/dist/{layout-LNVIH45F.js → layout-R6ULGQJK.js} +6 -6
  160. package/dist/{layout-PPIVGJXD.js → layout-ROI5KVSO.js} +3 -3
  161. package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
  162. package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
  163. package/dist/{layout-MPSH3YWE.js → layout-WBH5IHYK.js} +10 -10
  164. package/dist/layout-WTHBGTH2.js +15 -0
  165. package/dist/layout-ZCCABSV7.js +15 -0
  166. package/dist/{layout-search-C2TYUH4L.js → layout-search-DSIDKKQO.js} +8 -8
  167. package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
  168. package/dist/{parser-DGLKH4NT.js → parser-3PMYAVFL.js} +2 -2
  169. package/dist/{parser-OHBBDCG4.js → parser-5KVFS4RN.js} +2 -2
  170. package/dist/{parser-UHKROC7Z.js → parser-BA43YPIQ.js} +3 -3
  171. package/dist/{parser-F75WNYMK.js → parser-CFAYEWLF.js} +3 -3
  172. package/dist/{parser-MWINQNQW.js → parser-DRFEX6OX.js} +3 -3
  173. package/dist/{parser-W6NX3AIV.js → parser-DWVBRBB2.js} +3 -3
  174. package/dist/{parser-6WURFLOB.js → parser-E4B7HJT2.js} +3 -3
  175. package/dist/{parser-DRUGM3R6.js → parser-FWQY3HJX.js} +2 -2
  176. package/dist/{parser-GBQY3WOZ.js → parser-GMCXCJSP.js} +3 -3
  177. package/dist/{parser-BPYHIG24.js → parser-IHFHPFL7.js} +3 -3
  178. package/dist/{parser-QWTECQEC.js → parser-IU6425JW.js} +6 -6
  179. package/dist/{parser-ZV756RMP.js → parser-IZYIXDJX.js} +6 -6
  180. package/dist/{parser-TTGZYLYD.js → parser-JQGUTDSX.js} +3 -3
  181. package/dist/{parser-BNRX35NT.js → parser-JRKPOO2Z.js} +3 -3
  182. package/dist/{parser-B7SCN7FG.js → parser-KI2XYB2R.js} +2 -2
  183. package/dist/parser-LDVVBP7S.js +12 -0
  184. package/dist/{parser-L7SI3PW4.js → parser-MAGFK6OK.js} +4 -4
  185. package/dist/{parser-722KLLAQ.js → parser-MH5BDN7X.js} +3 -3
  186. package/dist/{parser-5RUD4A3X.js → parser-MUHFEM4G.js} +3 -3
  187. package/dist/{parser-Y7QXD2UR.js → parser-P375HO7Q.js} +2 -2
  188. package/dist/{parser-LUJX7AXO.js → parser-PYY5BRLQ.js} +2 -2
  189. package/dist/parser-QEMFMVF5.js +12 -0
  190. package/dist/{parser-WIKXZP4X.js → parser-QIPDBT5M.js} +2 -2
  191. package/dist/{parser-2AXU2MHJ.js → parser-RNBDDEGL.js} +3 -3
  192. package/dist/{parser-4GHAYZKZ.js → parser-RSWZGQA7.js} +6 -6
  193. package/dist/{parser-H6HT2WFQ.js → parser-SGX2PVR5.js} +2 -2
  194. package/dist/{parser-ZWWQZ4XZ.js → parser-SJUEFKNM.js} +3 -3
  195. package/dist/{parser-4BOP77CD.js → parser-UMNBPXG2.js} +2 -2
  196. package/dist/{parser-GM5B2EPW.js → parser-WE4VSBBY.js} +3 -3
  197. package/dist/{parser-XEJP37GQ.js → parser-WKEYS7N3.js} +3 -3
  198. package/dist/{parser-DWV2CYBS.js → parser-WPXUUNA2.js} +3 -3
  199. package/dist/{parser-5HQPPVHJ.js → parser-XP3RCOTN.js} +3 -3
  200. package/dist/{parser-F3JJNIFC.js → parser-YV4RBHG7.js} +3 -3
  201. package/dist/{parser-CRJYLOHA.js → parser-YZ3J542U.js} +2 -2
  202. package/dist/{renderer-BYLQ37T2.js → renderer-2V5NVI3V.js} +15 -15
  203. package/dist/renderer-4PKYVOYL.js +39 -0
  204. package/dist/{renderer-ONENGXFQ.js → renderer-66SCERH7.js} +14 -12
  205. package/dist/renderer-6IAXRZLK.js +85 -0
  206. package/dist/{renderer-GKY55M4Z.js → renderer-6O5SV5YE.js} +10 -10
  207. package/dist/{renderer-F7YGMEGQ.js → renderer-7OXMSF4R.js} +4 -4
  208. package/dist/{renderer-6HU44IGJ.js → renderer-A36NL2SS.js} +8 -8
  209. package/dist/{renderer-66NCRXSC.js → renderer-ASPBBACI.js} +13 -11
  210. package/dist/{renderer-5GP7YUS4.js → renderer-BXVTYE27.js} +7 -6
  211. package/dist/renderer-CC6O6GQK.js +18 -0
  212. package/dist/{renderer-VNJOZPSH.js → renderer-CNDB4JTZ.js} +17 -17
  213. package/dist/renderer-COV2DXTM.js +41 -0
  214. package/dist/renderer-DXCATVLO.js +30 -0
  215. package/dist/{renderer-VUXAAGUG.js → renderer-E5E3OJ42.js} +12 -11
  216. package/dist/{renderer-MGF2NNGG.js → renderer-E7LC7HCU.js} +5 -5
  217. package/dist/{renderer-PEJF6R2I.js → renderer-F3JYZERE.js} +4 -4
  218. package/dist/{renderer-CVCCW7UT.js → renderer-FAFSRFGR.js} +9 -9
  219. package/dist/renderer-HIB6LZWZ.js +26 -0
  220. package/dist/renderer-HLDRRFZB.js +28 -0
  221. package/dist/renderer-INQMQPNN.js +22 -0
  222. package/dist/renderer-ITJ67HXO.js +27 -0
  223. package/dist/{renderer-SYRH3B62.js → renderer-JLOKFKOZ.js} +14 -13
  224. package/dist/{renderer-LJPUCG3U.js → renderer-KOPJ76GS.js} +10 -10
  225. package/dist/{renderer-N6PM5CSG.js → renderer-M2467III.js} +14 -13
  226. package/dist/{renderer-MVBAQP3M.js → renderer-MYKL6VG6.js} +6 -6
  227. package/dist/{renderer-YJVQT7QG.js → renderer-S6L3JR6C.js} +11 -11
  228. package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
  229. package/dist/renderer-TCTZZ5Y6.js +32 -0
  230. package/dist/{renderer-D6EH5UQ6.js → renderer-UIHCYXBY.js} +12 -12
  231. package/dist/{renderer-QZJZIAT3.js → renderer-WIBVOPRC.js} +6 -4
  232. package/dist/{renderer-TS5NHOQD.js → renderer-XMJ6XZGL.js} +12 -11
  233. package/dist/{renderer-2V2XY2V7.js → renderer-ZTHXOBXW.js} +8 -8
  234. package/dist/{renderer-radial-4R7AKETK.js → renderer-radial-FC25BDCZ.js} +8 -8
  235. package/dist/{state-parser-EQBBEKHR.js → state-parser-2PQRH5JE.js} +6 -6
  236. package/dist/state-renderer-YP6HWLJR.js +43 -0
  237. package/dist/{themes-CbJL3w8L.d.ts → themes-DoLdhUXV.d.ts} +1 -1
  238. package/docs/ai-integration.md +4 -3
  239. package/docs/language-reference.md +99 -13
  240. package/gallery/fixtures/swot-relabel.dgmo +19 -0
  241. package/gallery/fixtures/swot-tags.dgmo +16 -0
  242. package/gallery/fixtures/swot.dgmo +13 -0
  243. package/package.json +1 -1
  244. package/dist/chunk-R2K5L4UA.js +0 -49
  245. package/dist/collapse-TCVK3RPO.js +0 -8
  246. package/dist/dgmo-router-EPBQKQW2.js +0 -100
  247. package/dist/dimensions-DBCRBZIU.js +0 -21
  248. package/dist/layout-3J72UULM.js +0 -15
  249. package/dist/layout-IXQNVRBE.js +0 -15
  250. package/dist/layout-VDCJOZSH.js +0 -11
  251. package/dist/parser-HM6FEX5K.js +0 -14
  252. package/dist/renderer-2MCV75JQ.js +0 -41
  253. package/dist/renderer-5AEDVLAA.js +0 -31
  254. package/dist/renderer-7C76HP5W.js +0 -30
  255. package/dist/renderer-7RAMBMTH.js +0 -22
  256. package/dist/renderer-E3334XLT.js +0 -84
  257. package/dist/renderer-LFZKG2GR.js +0 -26
  258. package/dist/renderer-MZIWP55B.js +0 -28
  259. package/dist/renderer-N75E3UVY.js +0 -25
  260. package/dist/renderer-VNUDN6F5.js +0 -39
  261. 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-SNDCXT5R.js";
95
99
  import {
96
100
  parseDgmoChartType
97
- } from "./chunk-I3ZRIMR7.js";
101
+ } from "./chunk-XEMCNQQW.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-YCIBBVI2.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-WXGFB2O2.js";
118
125
  import {
119
126
  parseFlowchart
120
- } from "./chunk-H7RQG4PH.js";
127
+ } from "./chunk-IAM3IDL4.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-PSNRB75I.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-H7DZYHQF.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 },
@@ -1,17 +1,20 @@
1
1
  import {
2
2
  ScaleContext
3
3
  } from "./chunk-24YPR5EH.js";
4
+ import {
5
+ renderCollapseBar
6
+ } from "./chunk-LRTSTDJ6.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
@@ -17,7 +17,7 @@ import {
17
17
  stripDefaultModifier,
18
18
  tagAttrKey,
19
19
  validateTagGroupNames
20
- } from "./chunk-LGUFJ7Y2.js";
20
+ } from "./chunk-KW3CC7SB.js";
21
21
  import {
22
22
  AliasRegistry,
23
23
  INFRA_BEHAVIOR_KEY_SET,
@@ -31,7 +31,7 @@ import {
31
31
  tryParseSharedOption,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-FUYEXLAN.js";
34
+ } from "./chunk-RFGQDIOI.js";
35
35
  import {
36
36
  isRecognizedColorName
37
37
  } from "./chunk-3J7O3CU6.js";
@@ -3,34 +3,37 @@ import {
3
3
  capLabelColumn,
4
4
  computeTimeTicks,
5
5
  showFullOnHover
6
- } from "./chunk-NERQSSYD.js";
6
+ } from "./chunk-D67YE4LR.js";
7
7
  import {
8
8
  ScaleContext
9
9
  } from "./chunk-24YPR5EH.js";
10
+ import {
11
+ renderCollapseBar
12
+ } from "./chunk-LRTSTDJ6.js";
10
13
  import {
11
14
  INLINE_HEADER_PAD,
12
15
  layoutInlineHeader
13
- } from "./chunk-R5L5E3TC.js";
16
+ } from "./chunk-REKLKGR6.js";
14
17
  import {
15
18
  TITLE_FONT_SIZE,
16
19
  TITLE_FONT_WEIGHT,
17
20
  TITLE_Y
18
- } from "./chunk-VLC6WNRD.js";
21
+ } from "./chunk-GULGSH2Z.js";
19
22
  import {
20
23
  EDGE_DASH,
21
24
  GRID_DASH,
22
25
  HAIRLINE_DASH
23
- } from "./chunk-XCKNFFKM.js";
26
+ } from "./chunk-WH6E6SHC.js";
24
27
  import {
25
28
  keepSwimlaneToggleFocus,
26
29
  renderIntegratedLegend,
27
30
  wireSwimlaneToggle
28
- } from "./chunk-PGD6CNWO.js";
31
+ } from "./chunk-DFEVFLEG.js";
29
32
  import {
30
33
  controlsGroupCapsuleWidth,
31
34
  getLegendExtent,
32
35
  getMaxLegendReservedHeight
33
- } from "./chunk-JILEYZ2V.js";
36
+ } from "./chunk-VVL2KKG4.js";
34
37
  import {
35
38
  normalizeName
36
39
  } from "./chunk-NOTA6TEI.js";
@@ -42,7 +45,7 @@ import {
42
45
  resolveActiveTagGroup,
43
46
  resolveTagColor,
44
47
  tagAttrKey
45
- } from "./chunk-LGUFJ7Y2.js";
48
+ } from "./chunk-KW3CC7SB.js";
46
49
  import {
47
50
  LEGEND_CAPSULE_PAD,
48
51
  LEGEND_DOT_R,
@@ -57,12 +60,12 @@ import {
57
60
  LEGEND_PILL_PAD,
58
61
  measureLegendText,
59
62
  truncateLegendText
60
- } from "./chunk-UOCWYLYT.js";
63
+ } from "./chunk-OZXKW5NA.js";
61
64
  import {
62
65
  CHAR_WIDTH_RATIO,
63
66
  measureText,
64
67
  truncateText
65
- } from "./chunk-KAO7JL4I.js";
68
+ } from "./chunk-PU5X3P3T.js";
66
69
  import {
67
70
  contrastText,
68
71
  getEraColors,
@@ -116,7 +119,7 @@ function computeBarLabel(label, x1, barWidth, innerWidth, textColor, onFillColor
116
119
  var BAND_ACCENT_W = 4;
117
120
  var BAND_RADIUS = 4;
118
121
  var bandClipCounter = 0;
119
- function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix, dataAttr, fillMode, barH = BAR_H, bandRadius = BAND_RADIUS, bandAccentW = BAND_ACCENT_W) {
122
+ function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix, dataAttr, fillMode, barH = BAR_H, bandRadius = BAND_RADIUS, bandAccentW = BAND_ACCENT_W, collapsed = false, scale) {
120
123
  const bandX = 5;
121
124
  const bandW = leftMargin - 7;
122
125
  const bandY = y - barH / 2;
@@ -128,6 +131,45 @@ function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix,
128
131
  tint.attr(dataAttr.key, dataAttr.value);
129
132
  accent.attr(dataAttr.key, dataAttr.value);
130
133
  }
134
+ if (collapsed) {
135
+ renderCollapseBar(svg, {
136
+ x: bandX,
137
+ y: bandY,
138
+ width: bandW,
139
+ height: barH,
140
+ rx: bandRadius,
141
+ fill: color,
142
+ clipId: `${clipId}-bar`,
143
+ prefix: "gantt",
144
+ ...scale && { scale }
145
+ }).style("pointer-events", "none");
146
+ }
147
+ return {
148
+ x: bandX,
149
+ y: bandY,
150
+ width: bandW,
151
+ height: barH,
152
+ rx: bandRadius,
153
+ color,
154
+ clipId
155
+ };
156
+ }
157
+ function renderBandToggleTarget(toggle, band, collapsed, scale) {
158
+ toggle.append("rect").attr("class", "gantt-group-label-hit").attr("x", band.x).attr("y", band.y).attr("width", band.width).attr("height", band.height).attr("rx", band.rx).attr("fill", "transparent");
159
+ if (!collapsed) {
160
+ renderCollapseBar(toggle, {
161
+ expanded: true,
162
+ x: band.x,
163
+ y: band.y,
164
+ width: band.width,
165
+ height: band.height,
166
+ rx: band.rx,
167
+ fill: band.color,
168
+ clipId: `${band.clipId}-bar`,
169
+ prefix: "gantt",
170
+ ...scale && { scale }
171
+ });
172
+ }
131
173
  }
132
174
  function appendTaskIcon(textEl, label, isMilestone, iconColor, textColor) {
133
175
  const icon = isMilestone ? "\u25C6" : "\u25CF";
@@ -453,7 +495,6 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
453
495
  for (const row of rows) {
454
496
  if (row.type === "lane-header") {
455
497
  const laneColor = row.laneColor === UNTAGGED_TAG_COLOR ? palette.textMuted : row.laneColor;
456
- const toggleIcon = row.isCollapsed ? "\u25B6" : "\u25BC";
457
498
  const labelX = 10;
458
499
  let lx1 = 0;
459
500
  let lx2 = innerWidth;
@@ -480,7 +521,9 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
480
521
  fillMode,
481
522
  sBarH,
482
523
  sBandRadius,
483
- sBandAccentW
524
+ sBandAccentW,
525
+ row.isCollapsed,
526
+ ctx
484
527
  );
485
528
  const labelG = svg.append("g").attr("class", "gantt-lane-header").attr(`data-tag-${tagAttrKey(row.tagKey)}`, row.laneName.toLowerCase()).attr("data-lane", row.laneName).style("cursor", onToggleLane ? "pointer" : "default").on("click", () => {
486
529
  if (onToggleLane) onToggleLane(row.laneName);
@@ -500,7 +543,7 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
500
543
  restoreHighlight();
501
544
  hideGanttDateIndicators(g);
502
545
  });
503
- const laneFullText = toggleIcon + " " + row.laneName + (row.aggregateProgress !== null ? ` ${Math.round(row.aggregateProgress)}%` : "");
546
+ const laneFullText = row.laneName + (row.aggregateProgress !== null ? ` ${Math.round(row.aggregateProgress)}%` : "");
504
547
  const laneText = labelG.append("text").attr("x", labelX).attr("y", sMarginTop + yOffset + sBarH / 2).attr("dy", "0.35em").attr("text-anchor", "start").attr("font-size", sFont11).attr("font-weight", "bold").attr("fill", laneColor);
505
548
  showFullOnHover(
506
549
  labelG,
@@ -541,7 +584,6 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
541
584
  } else if (row.type === "group") {
542
585
  const group = row.group;
543
586
  const isCollapsed = collapsedGroups?.has(group.name) ?? false;
544
- const toggleIcon = isCollapsed ? "\u25B6" : "\u25BC";
545
587
  const tagColor = resolveTagColor(
546
588
  group.metadata,
547
589
  resolved.tagGroups,
@@ -549,7 +591,7 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
549
591
  true
550
592
  );
551
593
  const groupColor = tagColor && tagColor !== UNTAGGED_TAG_COLOR ? tagColor : group.color ?? palette.textMuted;
552
- renderLabelBand(
594
+ const groupBand = renderLabelBand(
553
595
  svg,
554
596
  sMarginTop + yOffset + sBarH / 2,
555
597
  leftMargin,
@@ -561,9 +603,11 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
561
603
  fillMode,
562
604
  sBarH,
563
605
  sBandRadius,
564
- sBandAccentW
606
+ sBandAccentW,
607
+ isCollapsed,
608
+ ctx
565
609
  );
566
- const labelG = svg.append("g").attr("class", "gantt-group-label").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).style("cursor", onToggleGroup ? "pointer" : "default").on("click", () => {
610
+ const labelG = svg.append("g").attr("class", "gantt-group-label").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("data-group-toggle", group.name).attr("role", "button").attr("aria-expanded", String(!isCollapsed)).attr("aria-label", group.name).style("cursor", "pointer").on("click", () => {
567
611
  if (onToggleGroup) onToggleGroup(group.name);
568
612
  }).on("mouseenter", () => {
569
613
  highlightGroup(g, svg, group.name);
@@ -579,9 +623,10 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
579
623
  resetHighlight(g, svg);
580
624
  hideGanttDateIndicators(g);
581
625
  });
626
+ renderBandToggleTarget(labelG, groupBand, isCollapsed, ctx);
582
627
  const groupIndent = group.depth <= 2 ? group.depth * 14 : 2 * 14 + (group.depth - 2) * 8;
583
628
  const labelX = 10 + groupIndent;
584
- const groupFullText = toggleIcon + " " + group.name + (group.progress !== null ? ` ${Math.round(group.progress)}%` : "");
629
+ const groupFullText = group.name + (group.progress !== null ? ` ${Math.round(group.progress)}%` : "");
585
630
  const groupText = labelG.append("text").attr("x", labelX).attr("y", sMarginTop + yOffset + sBarH / 2).attr("dy", "0.35em").attr("text-anchor", "start").attr("font-size", sFont11).attr("font-weight", "bold").attr("fill", palette.text);
586
631
  showFullOnHover(
587
632
  labelG,
@@ -8,14 +8,14 @@ import {
8
8
  resolveActiveTagGroup,
9
9
  stripDefaultModifier,
10
10
  tagAttrKey
11
- } from "./chunk-LGUFJ7Y2.js";
11
+ } from "./chunk-KW3CC7SB.js";
12
12
  import {
13
13
  extractColor,
14
14
  fillModeFromToken,
15
15
  measureIndent,
16
16
  parseFirstLine,
17
17
  splitNameAndMeta
18
- } from "./chunk-FUYEXLAN.js";
18
+ } from "./chunk-RFGQDIOI.js";
19
19
  import {
20
20
  makeDgmoError,
21
21
  makeFail