@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
@@ -4,21 +4,21 @@ import {
4
4
  import {
5
5
  resolveNotes,
6
6
  tryCollectNote
7
- } from "./chunk-HH3DHNQA.js";
7
+ } from "./chunk-4TK26YHH.js";
8
8
  import {
9
9
  displayName,
10
10
  normalizeName
11
11
  } from "./chunk-NOTA6TEI.js";
12
12
  import {
13
13
  isTagBlockHeading
14
- } from "./chunk-LGUFJ7Y2.js";
14
+ } from "./chunk-KW3CC7SB.js";
15
15
  import {
16
16
  AliasRegistry,
17
17
  OPTION_NOCOLON_RE,
18
18
  measureIndent,
19
19
  parseFirstLine,
20
20
  tryParseSharedOption
21
- } from "./chunk-FUYEXLAN.js";
21
+ } from "./chunk-RFGQDIOI.js";
22
22
  import {
23
23
  resolveColorWithDiagnostic
24
24
  } from "./chunk-3J7O3CU6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  measureText
3
- } from "./chunk-KAO7JL4I.js";
3
+ } from "./chunk-PU5X3P3T.js";
4
4
 
5
5
  // src/wireframe/layout.ts
6
6
  var DESKTOP_WIDTH = 1200;
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  resolveNotes,
9
9
  tryCollectNote
10
- } from "./chunk-HH3DHNQA.js";
10
+ } from "./chunk-4TK26YHH.js";
11
11
  import {
12
12
  displayName,
13
13
  normalizeName
@@ -19,7 +19,7 @@ import {
19
19
  measureIndent,
20
20
  parseFirstLine,
21
21
  tryParseSharedOption
22
- } from "./chunk-FUYEXLAN.js";
22
+ } from "./chunk-RFGQDIOI.js";
23
23
  import {
24
24
  NAME_DIAGNOSTIC_CODES,
25
25
  emit,
@@ -7,34 +7,34 @@ import {
7
7
  mutedFill,
8
8
  resolveCellColor,
9
9
  resolveColorMode
10
- } from "./chunk-5LG526X7.js";
10
+ } from "./chunk-5TGZBHEJ.js";
11
11
  import {
12
12
  layoutInlineHeader
13
- } from "./chunk-R5L5E3TC.js";
13
+ } from "./chunk-REKLKGR6.js";
14
14
  import {
15
15
  TITLE_FONT_SIZE,
16
16
  TITLE_FONT_WEIGHT,
17
17
  TITLE_Y
18
- } from "./chunk-VLC6WNRD.js";
18
+ } from "./chunk-GULGSH2Z.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-PGD6CNWO.js";
21
+ } from "./chunk-DFEVFLEG.js";
22
22
  import {
23
23
  getLegendExtent,
24
24
  getMaxLegendReservedHeight
25
- } from "./chunk-JILEYZ2V.js";
25
+ } from "./chunk-VVL2KKG4.js";
26
26
  import {
27
27
  FONT_FAMILY
28
28
  } from "./chunk-ICLB27PZ.js";
29
29
  import {
30
30
  tagAttrKey
31
- } from "./chunk-LGUFJ7Y2.js";
31
+ } from "./chunk-KW3CC7SB.js";
32
32
  import {
33
33
  LEGEND_GROUP_GAP
34
- } from "./chunk-UOCWYLYT.js";
34
+ } from "./chunk-OZXKW5NA.js";
35
35
  import {
36
36
  measureText
37
- } from "./chunk-KAO7JL4I.js";
37
+ } from "./chunk-PU5X3P3T.js";
38
38
  import {
39
39
  contrastText,
40
40
  getSeriesColors,
@@ -9,7 +9,7 @@ import {
9
9
  stripDefaultModifier,
10
10
  tagAttrKey,
11
11
  validateTagGroupNames
12
- } from "./chunk-LGUFJ7Y2.js";
12
+ } from "./chunk-KW3CC7SB.js";
13
13
  import {
14
14
  MAP_DIRECTIVE_KEY_SET,
15
15
  MAP_REGISTRY,
@@ -18,7 +18,7 @@ import {
18
18
  peelRampColors,
19
19
  splitNameAndMeta,
20
20
  withTagAliases
21
- } from "./chunk-FUYEXLAN.js";
21
+ } from "./chunk-RFGQDIOI.js";
22
22
  import {
23
23
  NEGATIVE_VALUE_DX,
24
24
  emit,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  compactNumber
3
- } from "./chunk-5LG526X7.js";
3
+ } from "./chunk-5TGZBHEJ.js";
4
4
  import {
5
5
  TITLE_FONT_WEIGHT
6
- } from "./chunk-VLC6WNRD.js";
6
+ } from "./chunk-GULGSH2Z.js";
7
7
  import {
8
8
  parseInlineMarkdown
9
9
  } from "./chunk-QKPOIJBT.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ICLB27PZ.js";
13
13
  import {
14
14
  measureText
15
- } from "./chunk-KAO7JL4I.js";
15
+ } from "./chunk-PU5X3P3T.js";
16
16
  import {
17
17
  getSeriesColors,
18
18
  mix,
@@ -6,18 +6,18 @@ import {
6
6
  } from "./chunk-24YPR5EH.js";
7
7
  import {
8
8
  HEADER_HEIGHT
9
- } from "./chunk-XCKNFFKM.js";
9
+ } from "./chunk-WH6E6SHC.js";
10
10
  import {
11
11
  preprocessDescriptionLine
12
12
  } from "./chunk-IYULMRBE.js";
13
13
  import {
14
14
  injectDefaultTagMetadata,
15
15
  resolveTagColor
16
- } from "./chunk-LGUFJ7Y2.js";
16
+ } from "./chunk-KW3CC7SB.js";
17
17
  import {
18
18
  measureText,
19
19
  truncateText
20
- } from "./chunk-KAO7JL4I.js";
20
+ } from "./chunk-PU5X3P3T.js";
21
21
 
22
22
  // src/mindmap/text-wrap.ts
23
23
  var H_PAD = 16;
@@ -7,11 +7,12 @@ import {
7
7
  } from "./chunk-NOTA6TEI.js";
8
8
  import {
9
9
  AUTO_TAG_COLOR_SENTINEL,
10
+ activeTagNoMatchMessage,
10
11
  finalizeAutoTagColors,
11
12
  matchTagBlockHeading,
12
13
  stripDefaultModifier,
13
14
  tagAttrKey
14
- } from "./chunk-LGUFJ7Y2.js";
15
+ } from "./chunk-KW3CC7SB.js";
15
16
  import {
16
17
  FAMILY_PERSON_REGISTRY,
17
18
  FAMILY_UNION_REGISTRY,
@@ -26,13 +27,14 @@ import {
26
27
  tokenizeQuoteAware,
27
28
  tryParseSharedOption,
28
29
  withTagAliases
29
- } from "./chunk-FUYEXLAN.js";
30
+ } from "./chunk-RFGQDIOI.js";
30
31
  import {
31
32
  nord,
32
33
  resolveColor
33
34
  } from "./chunk-3J7O3CU6.js";
34
35
  import {
35
- emit
36
+ emit,
37
+ makeDgmoError
36
38
  } from "./chunk-BYU54C3S.js";
37
39
 
38
40
  // src/family/diagnostics.ts
@@ -148,6 +150,8 @@ function matchFamilyOption(line) {
148
150
  const h = line.match(/^highlight\s+(.+)$/i);
149
151
  if (h) return { key: "highlight", value: h[1].trim() };
150
152
  if (/^generations$/i.test(line)) return { key: "generations", value: "true" };
153
+ const at = line.match(/^active-tag\s+(.+)$/i);
154
+ if (at) return { key: "active-tag", value: at[1].trim() };
151
155
  if (/^no-daggers$/i.test(line)) return { key: "no-daggers", value: "true" };
152
156
  return null;
153
157
  }
@@ -157,6 +161,7 @@ function parseFamily(content, palette) {
157
161
  const unions = [];
158
162
  const tagGroups = [];
159
163
  const options = {};
164
+ let activeTagLine = 0;
160
165
  const rawLines = content.split("\n");
161
166
  let title;
162
167
  let titleLineNumber;
@@ -244,6 +249,7 @@ function parseFamily(content, palette) {
244
249
  const fam = matchFamilyOption(trimmed);
245
250
  if (fam) {
246
251
  options[fam.key] = fam.value;
252
+ if (fam.key === "active-tag") activeTagLine = lineNum;
247
253
  continue;
248
254
  }
249
255
  }
@@ -548,6 +554,20 @@ function parseFamily(content, palette) {
548
554
  delete options["highlight"];
549
555
  }
550
556
  }
557
+ const activeTagWarning = activeTagNoMatchMessage(
558
+ options["active-tag"],
559
+ tagGroups
560
+ );
561
+ if (activeTagWarning) {
562
+ diagnostics.push(
563
+ makeDgmoError(
564
+ activeTagLine || 1,
565
+ activeTagWarning,
566
+ "warning",
567
+ "W_ACTIVE_TAG_NO_MATCH"
568
+ )
569
+ );
570
+ }
551
571
  let error = null;
552
572
  const quotient = buildCoupleQuotient(frozenPersons, unions);
553
573
  if (quotient.cycle) {
@@ -1,27 +1,27 @@
1
- import {
2
- renderNodeCard
3
- } from "./chunk-R2K5L4UA.js";
4
1
  import {
5
2
  placeEdgeLabels
6
- } from "./chunk-IN7XI6NO.js";
3
+ } from "./chunk-4NMRS6HW.js";
7
4
  import {
8
5
  serializeSvg
9
- } from "./chunk-CYRB2JTN.js";
6
+ } from "./chunk-YLKPRT6U.js";
10
7
  import {
11
8
  ScaleContext
12
9
  } from "./chunk-24YPR5EH.js";
10
+ import {
11
+ renderCollapseBar,
12
+ renderNodeCard
13
+ } from "./chunk-LRTSTDJ6.js";
13
14
  import {
14
15
  layoutInlineHeader
15
- } from "./chunk-R5L5E3TC.js";
16
+ } from "./chunk-REKLKGR6.js";
16
17
  import {
17
18
  TITLE_FONT_SIZE,
18
19
  TITLE_FONT_WEIGHT
19
- } from "./chunk-VLC6WNRD.js";
20
+ } from "./chunk-GULGSH2Z.js";
20
21
  import {
21
22
  ARROWHEAD_HEIGHT,
22
23
  ARROWHEAD_WIDTH,
23
24
  CARD_RADIUS,
24
- COLLAPSE_BAR_HEIGHT,
25
25
  CONTAINER_HEADER_HEIGHT,
26
26
  CONTAINER_LABEL_FONT_SIZE,
27
27
  CONTAINER_META_FONT_SIZE,
@@ -35,14 +35,14 @@ import {
35
35
  META_LINE_HEIGHT,
36
36
  NODE_STROKE_WIDTH,
37
37
  SEPARATOR_GAP
38
- } from "./chunk-XCKNFFKM.js";
38
+ } from "./chunk-WH6E6SHC.js";
39
39
  import {
40
40
  renderIntegratedLegend
41
- } from "./chunk-PGD6CNWO.js";
41
+ } from "./chunk-DFEVFLEG.js";
42
42
  import {
43
43
  getLegendExtent,
44
44
  getMaxLegendReservedHeight
45
- } from "./chunk-JILEYZ2V.js";
45
+ } from "./chunk-VVL2KKG4.js";
46
46
  import {
47
47
  preprocessDescriptionLine
48
48
  } from "./chunk-IYULMRBE.js";
@@ -54,12 +54,12 @@ import {
54
54
  } from "./chunk-ICLB27PZ.js";
55
55
  import {
56
56
  tagAttrKey
57
- } from "./chunk-LGUFJ7Y2.js";
57
+ } from "./chunk-KW3CC7SB.js";
58
58
  import {
59
59
  fillModeFromOptions,
60
60
  legendInlineRequested,
61
61
  legendSuppressed
62
- } from "./chunk-FUYEXLAN.js";
62
+ } from "./chunk-RFGQDIOI.js";
63
63
  import {
64
64
  EYE_CLOSED_PATH,
65
65
  EYE_OPEN_PATH,
@@ -67,10 +67,10 @@ import {
67
67
  LEGEND_EYE_SIZE,
68
68
  LEGEND_GROUP_GAP,
69
69
  LEGEND_HEIGHT
70
- } from "./chunk-UOCWYLYT.js";
70
+ } from "./chunk-OZXKW5NA.js";
71
71
  import {
72
72
  measureText
73
- } from "./chunk-KAO7JL4I.js";
73
+ } from "./chunk-PU5X3P3T.js";
74
74
  import {
75
75
  contrastText,
76
76
  mix,
@@ -170,7 +170,6 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
170
170
  const sContainerHeaderHeight = ctx.structural(CONTAINER_HEADER_HEIGHT);
171
171
  const sTitleFontSize = ctx.text(TITLE_FONT_SIZE);
172
172
  const sTitleHeight = ctx.structural(TITLE_HEIGHT);
173
- const sCollapseBarHeight = ctx.structural(COLLAPSE_BAR_HEIGHT);
174
173
  const sLegendFixedGap = ctx.aesthetic(LEGEND_FIXED_GAP);
175
174
  const noLegend = legendSuppressed(parsed.options);
176
175
  const hasLegend = layout.legend.length > 0 && !noLegend;
@@ -319,10 +318,17 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
319
318
  cG.append("text").attr("x", valueX).attr("y", rowY).attr("fill", valColor).attr("font-size", sContainerMetaFontSize).text(value);
320
319
  }
321
320
  }
322
- if (!exportDims && c.hiddenCount && c.hiddenCount > 0) {
323
- const clipId = `clip-${c.nodeId}`;
324
- cG.append("clipPath").attr("id", clipId).append("rect").attr("width", c.width).attr("height", c.height).attr("rx", CONTAINER_RADIUS);
325
- cG.append("rect").attr("y", c.height - sCollapseBarHeight).attr("width", c.width).attr("height", sCollapseBarHeight).attr("fill", stroke).attr("clip-path", `url(#${clipId})`).attr("class", "sitemap-collapse-bar");
321
+ if (c.hasChildren) {
322
+ renderCollapseBar(cG, {
323
+ expanded: !c.hiddenCount,
324
+ width: c.width,
325
+ height: c.height,
326
+ rx: CONTAINER_RADIUS,
327
+ fill: stroke,
328
+ clipId: `clip-${c.nodeId}`,
329
+ prefix: "sitemap",
330
+ scale: ctx
331
+ });
326
332
  }
327
333
  }
328
334
  const labelCentres = placeSitemapEdgeLabels(layout, sEdgeLabelFontSize);
@@ -347,7 +353,7 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
347
353
  for (const node of layout.nodes) {
348
354
  const nodeG = contentG.append("g").attr("transform", `translate(${node.x - node.width / 2}, ${node.y})`).attr("class", "sitemap-node").attr("data-line-number", String(node.lineNumber)).attr("data-node-id", node.id);
349
355
  if (node.hasChildren) {
350
- nodeG.attr("data-node-toggle", node.id).attr("role", "button").attr("aria-expanded", String(!node.hiddenCount));
356
+ nodeG.attr("data-node-toggle", node.id).attr("role", "button").attr("aria-expanded", String(!node.hiddenCount)).attr("aria-label", node.label);
351
357
  }
352
358
  if (onClickItem) {
353
359
  nodeG.style("cursor", "pointer").on("click", () => onClickItem(node.lineNumber));
@@ -410,13 +416,17 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
410
416
  renderInlineText(textEl, processed, palette, sMetaFontSize);
411
417
  }
412
418
  }
413
- if (!exportDims && node.hiddenCount && node.hiddenCount > 0) {
414
- const clipId = `clip-${node.id}`;
415
- nodeG.append("clipPath").attr("id", clipId).append("rect").attr("width", node.width).attr("height", node.height).attr("rx", CARD_RADIUS);
416
- nodeG.append("rect").attr("y", node.height - sCollapseBarHeight).attr("width", node.width).attr("height", sCollapseBarHeight).attr(
417
- "fill",
418
- fillMode === "solid" ? labelColor : node.color ?? palette.primary
419
- ).attr("opacity", 0.5).attr("clip-path", `url(#${clipId})`);
419
+ if (node.hasChildren) {
420
+ renderCollapseBar(nodeG, {
421
+ expanded: !node.hiddenCount,
422
+ width: node.width,
423
+ height: node.height,
424
+ rx: CARD_RADIUS,
425
+ fill: fillMode === "solid" ? labelColor : stroke,
426
+ clipId: `clip-${node.id}`,
427
+ prefix: "sitemap",
428
+ scale: ctx
429
+ });
420
430
  }
421
431
  }
422
432
  if (exportDims && hasLegend) {
@@ -507,8 +517,8 @@ function renderLegend(parent, legendGroups, palette, isDark, activeTagGroup, fix
507
517
  }
508
518
  }
509
519
  async function renderSitemapForExport(content, theme, palette) {
510
- const { parseSitemap } = await import("./parser-UHKROC7Z.js");
511
- const { layoutSitemap } = await import("./layout-IXQNVRBE.js");
520
+ const { parseSitemap } = await import("./parser-BA43YPIQ.js");
521
+ const { layoutSitemap } = await import("./layout-ZCCABSV7.js");
512
522
  const { getPalette, DEFAULT_PALETTE_ID } = await import("./palettes-4Y7CL2QL.js");
513
523
  const isDark = theme === "dark";
514
524
  const defaultCfg = getPalette(DEFAULT_PALETTE_ID);
@@ -1,35 +1,35 @@
1
1
  import {
2
2
  drawCylinderCard,
3
3
  drawQueueCard
4
- } from "./chunk-4B45SNZH.js";
4
+ } from "./chunk-74XR7Z3I.js";
5
5
  import {
6
6
  CYLINDER_RY,
7
7
  FILE_WAVE,
8
8
  QUEUE_CAP
9
- } from "./chunk-ZBOIYC2G.js";
9
+ } from "./chunk-V3ICBS2O.js";
10
10
  import {
11
11
  WHITEBOARD_COLORS,
12
12
  WHITEBOARD_NOTE_COLOR
13
13
  } from "./chunk-SQBCNEJB.js";
14
14
  import {
15
15
  renderChartTitle
16
- } from "./chunk-6XLMTAEX.js";
16
+ } from "./chunk-YIHRLY55.js";
17
17
  import {
18
18
  TITLE_FONT_SIZE
19
- } from "./chunk-VLC6WNRD.js";
19
+ } from "./chunk-GULGSH2Z.js";
20
20
  import {
21
21
  renderIntegratedLegend
22
- } from "./chunk-PGD6CNWO.js";
22
+ } from "./chunk-DFEVFLEG.js";
23
23
  import {
24
24
  getMaxLegendReservedHeight
25
- } from "./chunk-JILEYZ2V.js";
25
+ } from "./chunk-VVL2KKG4.js";
26
26
  import {
27
27
  FONT_FAMILY
28
28
  } from "./chunk-ICLB27PZ.js";
29
29
  import {
30
30
  measureText,
31
31
  wrapTextToWidth
32
- } from "./chunk-KAO7JL4I.js";
32
+ } from "./chunk-PU5X3P3T.js";
33
33
  import {
34
34
  contrastText,
35
35
  mix,
@@ -1,16 +1,18 @@
1
1
  // src/utils/fit-canvas.ts
2
2
  var MIN_CANVAS_WIDTH = 480;
3
+ var MIN_DRAWN_TEXT_PX = 7;
3
4
  function fitDiagramToCanvas(p) {
4
5
  const scaleX = (p.width - p.padding * 2) / p.diagramW;
5
6
  let scale;
6
7
  let canvasHeight;
7
8
  let canvasWidth;
8
9
  if (p.exportMode) {
9
- scale = Math.min(p.maxScale, scaleX, 1);
10
+ const minScale = p.smallestTextPx ? MIN_DRAWN_TEXT_PX / p.smallestTextPx : 0;
11
+ scale = Math.max(Math.min(p.maxScale, scaleX, 1), minScale);
10
12
  canvasHeight = p.titleHeight + p.diagramH * scale + p.padding * 2;
11
13
  canvasWidth = Math.round(
12
14
  Math.min(
13
- p.width,
15
+ scale > scaleX ? Infinity : p.width,
14
16
  Math.max(MIN_CANVAS_WIDTH, p.diagramW * scale + p.padding * 2)
15
17
  )
16
18
  );
@@ -13,7 +13,7 @@ import {
13
13
  tagAttrKey,
14
14
  validateTagGroupNames,
15
15
  validateTagValues
16
- } from "./chunk-LGUFJ7Y2.js";
16
+ } from "./chunk-KW3CC7SB.js";
17
17
  import {
18
18
  ALL_CHART_TYPES,
19
19
  AliasRegistry,
@@ -23,11 +23,12 @@ import {
23
23
  measureIndent,
24
24
  parseFirstLine,
25
25
  peelQuotedName,
26
+ peelTrailingCollapsedFlag,
26
27
  splitNameAndMeta,
27
28
  tryParseSharedOption,
28
29
  warnUnknownMetaKeys,
29
30
  withTagAliases
30
- } from "./chunk-FUYEXLAN.js";
31
+ } from "./chunk-RFGQDIOI.js";
31
32
  import {
32
33
  formatDgmoError,
33
34
  makeDgmoError,
@@ -202,7 +203,8 @@ function parseSitemap(content, palette) {
202
203
  }
203
204
  currentTagGroup = null;
204
205
  }
205
- if (!contentStarted && !currentTagGroup && measureIndent(line) === 0 && !trimmed.includes("|") && !trimmed.includes("->") && !trimmed.includes(":")) {
206
+ if (!contentStarted && !currentTagGroup && measureIndent(line) === 0 && !trimmed.includes("|") && !trimmed.includes("->") && !trimmed.includes(":") && // `Home collapsed` is a page carrying the bare fold flag, not an option.
207
+ !/[ \t]collapsed$/.test(trimmed)) {
206
208
  const dirBool = trimmed.match(/^direction-(lr|tb)$/i);
207
209
  if (dirBool) {
208
210
  result.direction = dirBool[1].toUpperCase();
@@ -260,7 +262,10 @@ function parseSitemap(content, palette) {
260
262
  /^(.*?)\s+as\s+([A-Za-z][A-Za-z0-9_]{0,11})\s*$/
261
263
  );
262
264
  const label = peelQuotedName(asMatch ? asMatch[1].trim() : rawLabel);
263
- const tail = (containerMatch[2] ?? "").trim();
265
+ const barePeel = peelTrailingCollapsedFlag(
266
+ (containerMatch[2] ?? "").trim()
267
+ );
268
+ const tail = barePeel.rest.trim();
264
269
  const containerMetadata = {};
265
270
  if (tail.length > 0) {
266
271
  Object.assign(
@@ -268,6 +273,10 @@ function parseSitemap(content, palette) {
268
273
  parseSitemapMetaTail(tail, metaAliasMap)
269
274
  );
270
275
  }
276
+ const containerCollapsed = liftCollapsed(
277
+ containerMetadata,
278
+ barePeel.collapsed
279
+ );
271
280
  containerCounter++;
272
281
  const containerId = `container-${containerCounter}`;
273
282
  if (asMatch) nameAliasMap.declare(asMatch[2], containerId, lineNumber);
@@ -279,7 +288,10 @@ function parseSitemap(content, palette) {
279
288
  children: [],
280
289
  parentId: null,
281
290
  isContainer: true,
282
- lineNumber
291
+ lineNumber,
292
+ ...containerCollapsed !== void 0 && {
293
+ collapsed: containerCollapsed
294
+ }
283
295
  };
284
296
  attachNode(node, indent, indentStack, result);
285
297
  const key = normalizeName(label);
@@ -294,6 +306,8 @@ function parseSitemap(content, palette) {
294
306
  lineNumber,
295
307
  "Metadata 'key: value' must be indented under a page \u2014 no page precedes it."
296
308
  );
309
+ } else if (key === "collapsed") {
310
+ parent.collapsed = value.toLowerCase() === "true";
297
311
  } else {
298
312
  parent.metadata = { ...parent.metadata, [key]: value };
299
313
  }
@@ -426,8 +440,10 @@ function parseNodeLabel(trimmed, lineNumber, _palette, counter, metaAliasMap = /
426
440
  new Set(metaAliasMap.keys())
427
441
  );
428
442
  const id = `node-${counter}`;
443
+ const barePeel = peelTrailingCollapsedFlag(trimmed);
444
+ const bareCollapsed = barePeel.collapsed && barePeel.rest.trim() !== "";
429
445
  const split = splitNameAndMeta(
430
- trimmed,
446
+ bareCollapsed ? barePeel.rest : trimmed,
431
447
  registry,
432
448
  metaAliasMap,
433
449
  void 0,
@@ -456,10 +472,12 @@ function parseNodeLabel(trimmed, lineNumber, _palette, counter, metaAliasMap = /
456
472
  }
457
473
  delete metadata["description"];
458
474
  }
475
+ const collapsed = liftCollapsed(metadata, bareCollapsed);
459
476
  return {
460
477
  id,
461
478
  label,
462
479
  metadata,
480
+ ...collapsed !== void 0 && { collapsed },
463
481
  ...description !== void 0 && { description },
464
482
  children: [],
465
483
  parentId: null,
@@ -467,6 +485,15 @@ function parseNodeLabel(trimmed, lineNumber, _palette, counter, metaAliasMap = /
467
485
  lineNumber
468
486
  };
469
487
  }
488
+ function liftCollapsed(metadata, bare) {
489
+ let collapsed = bare ? true : void 0;
490
+ const raw = metadata["collapsed"];
491
+ if (raw !== void 0) {
492
+ collapsed ??= raw.toLowerCase() === "true";
493
+ delete metadata["collapsed"];
494
+ }
495
+ return collapsed;
496
+ }
470
497
  function parseSitemapMetaTail(tail, metaAliasMap) {
471
498
  const trimmed = tail.trim();
472
499
  if (!trimmed?.includes(":")) return {};