@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
@@ -98,7 +98,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
98
98
  - **Always title it.** Every diagram gets a short title on the type-declaration line (`flowchart Checkout Flow`, `sequence Checkout`, `boxes-and-lines Service Map`) so it is self-describing — never leave the bare type keyword alone. Infer a fitting title from the request when the user gives none.
99
99
  <!-- TITLE end -->
100
100
  <!-- CATEGORIZE start -->
101
- - **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family and whiteboard** take the tag group but no `active-tag` line — declare the group and stop there; on event-line and family the line would be drawn as an element. **Class, flowchart, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
101
+ - **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line and whiteboard** take the tag group but no `active-tag` line — declare the group and stop there; on event-line the line would be drawn as an element. **Class, flowchart, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
102
102
  <!-- CATEGORIZE end -->
103
103
  - **Keep labels short.** A few words per node. Move detail into notes or metadata, never a full sentence inside a label.
104
104
  - **Let the defaults show.** Don't add `no-*` opt-outs unless the user asked to hide or disable something — they strip helpful labels, values, and color.
@@ -125,6 +125,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
125
125
  | `family` | family tree / genealogy: unions (couples), children, remarriage, adoption, GEDCOM-style metadata |
126
126
  | `bracket` | single-elimination tournament bracket: winners auto-advance; seed the field for a day-0 skeleton or list results casually; two sides mirror to a championship |
127
127
  | `kanban` | task-board columns |
128
+ | `swot` | SWOT analysis: strengths, weaknesses, opportunities, threats in four fixed panels on helpful/harmful and internal/external axes |
128
129
  | `gantt` | project scheduling with task dependencies and milestones |
129
130
  | `pert` | project network with three-point estimates and critical path |
130
131
  | `swimlane` | cross-functional process flow with lanes, phases and gateways (BPMN-style) |
@@ -214,7 +215,7 @@ tag GroupName as <alias>
214
215
  - Must appear before diagram content
215
216
  - Bare shorthand is not an alias (TD-18): `tag Priority p` declares a group _named_ "Priority p" — no alias registers, so `p:` assignments silently miss. The parser warns on this shape (spaced name, no alias, alias-shaped trailing word), suggesting `tag Priority as p` or a quoted name
216
217
 
217
- **Diagram types that support tags**: the tag model is near-universal across the structural types — sequence, infra, org, c4, er, kanban, gantt, sitemap, timeline, boxes-and-lines, state (§5.7), pert, swimlane, mindmap, journey-map, event-line, treemap, map, block, bracket, family and whiteboard all accept `tag <Group> as <alias>` blocks (a whiteboard's names its colours — §24Ea). Check the per-type Options section for the exact directive set; if a type draws a tag legend, it takes tags. **Flowchart, wireframe, raci and class take no tags** — a `tag` block or `active-tag` on any of them is ignored with a warning, because what an element looks like is fixed by what it is (a flowchart's shape, a wireframe's state keywords, a class's trailing colour word) or by the roles (raci).
218
+ **Diagram types that support tags**: the tag model is near-universal across the structural types — sequence, infra, org, c4, er, kanban, gantt, sitemap, timeline, boxes-and-lines, state (§5.7), pert, swimlane, mindmap, journey-map, event-line, treemap, map, block, bracket, family, swot and whiteboard all accept `tag <Group> as <alias>` blocks (a whiteboard's names its colours — §24Ea). Check the per-type Options section for the exact directive set; if a type draws a tag legend, it takes tags. **Flowchart, wireframe, raci and class take no tags** — a `tag` block or `active-tag` on any of them is ignored with a warning, because what an element looks like is fixed by what it is (a flowchart's shape, a wireframe's state keywords, a class's trailing colour word) or by the roles (raci).
218
219
 
219
220
  ### 1.4 Same-Line Metadata
220
221
 
@@ -745,6 +746,8 @@ tag Security as sec
745
746
 
746
747
  Trailing `==` is optional.
747
748
 
749
+ - **Fold a section** with a bare `collapsed` flag (or `collapsed: true`) after the divider: `== Checkout == collapsed`. The messages under it fold away until the next divider. `== collapsed ==` is a section named "collapsed".
750
+
748
751
  ### 2.5 Notes
749
752
 
750
753
  ```
@@ -772,6 +775,7 @@ Content formatting:
772
775
  - Links: `[text](url)` and bare URLs (auto-truncated in display)
773
776
  - The note ends where the indentation does — there is **no `end` terminator** (a bare `end` line is rejected).
774
777
  - Body lines join into one paragraph — a blank line or a trailing `\` keeps a break (§1.11).
778
+ - **Fold a multi-line note** with a bare `collapsed` flag (or `collapsed: true`) at the end of its opening line: `note right of API collapsed`. It draws only the first body line, with the collapse bar. The flag counts only on a line followed by an indented body, so `note right of DB collapsed` with no body is a note that reads "collapsed".
775
779
 
776
780
  ### 2.6 Structural Blocks
777
781
 
@@ -791,7 +795,7 @@ parallel label
791
795
  ```
792
796
 
793
797
  - `parallel` requires a label
794
- - `else` is bare. A second condition is `else if <condition>`; `else <label>` is an error (`'else' does not take a label`)
798
+ - `else` is bare. A second condition is `else if <condition>`; `else <label>` means the same and draws as `else if <label>`
795
799
  - Blocks nest via indentation
796
800
  - **No `end`/terminator keyword** — a block closes by dedenting (like multi-line notes). `end` and `activate`/`deactivate` are not dgmo syntax (a bare `end` line is rejected); activation is controlled by the `activations` option (§2.7), not per-message keywords.
797
801
  - **Tags apply to participants, not messages** — there is no per-message tag/color. Color a participant by category with `<Participant> <tagAlias>: <Value>` after declaring a `tag <Name> as <alias>` group (§1.3). Message text is just the arrow label.
@@ -1251,7 +1255,7 @@ Blackbeard
1251
1255
  Powder Monkey
1252
1256
  ```
1253
1257
 
1254
- **Colon form only** — org has no bare trailing `collapsed` flag (mindmap/gantt/kanban do), because an org label is a person's name and a trailing bare word cannot be told from part of one. Only the literal `true` collapses; the key is reserved, so it never becomes part of a label and never draws as an attribute row. Honoured by every render path, so a folded chart survives save, export, share link and embed; applied before `focus`.
1258
+ **Colon form only on a person** — a person's line takes no bare trailing `collapsed` flag (mindmap/gantt/kanban do), because an org label is a person's name and a trailing bare word cannot be told from part of one. A `[Team]` header does take it (`[Gun Deck] collapsed`), since the `]` ends the name. Only the literal `true` collapses; the key is reserved, so it never becomes part of a label and never draws as an attribute row. Honoured by every render path, so a folded chart survives save, export, share link and embed; applied before `focus`.
1255
1259
 
1256
1260
  ### 6.5 Options
1257
1261
 
@@ -1635,6 +1639,8 @@ All permutations supported: node→group, group→node, group→group. Brackets
1635
1639
  Pricing Auth: Public
1636
1640
  ```
1637
1641
 
1642
+ **Collapse:** a bare `collapsed` flag at the end of a page line or a `[Container]` line (`Products collapsed`, `[Shop] collapsed`; legacy `collapsed: true`) starts it folded. Every render path draws the fold with the collapse bar and a hidden-page count. Only a page with children or a container with pages folds.
1643
+
1638
1644
  ### 11.5 Node Descriptions
1639
1645
 
1640
1646
  ```
@@ -2008,6 +2014,7 @@ Henry Turner + Carina Smyth m: 1751
2008
2014
  - **Unknown/private person:** a bare `?` renders a faint, solid-bordered, name-only placeholder card; each `?` is a distinct person.
2009
2015
  - **`generations`** (option): draws a left gutter of Roman-numeral generation labels (`Gen I`, `Gen II`, …) plus subtle zebra shading behind alternating generations.
2010
2016
  - **`highlight <name>`** (directive): dims everyone outside that person's bloodline (ancestors + descendants + spouses stay lit).
2017
+ - **`active-tag <Group>`** (option): picks which tag group colours the cards when there are two or more (the built-in Sex group counts); `active-tag none` turns colouring off.
2011
2018
  - **Sex → color:** `sex: m` → blue, `sex: f` → purple, unset → gray (25% tint). An explicit `tag`/inline color overrides the sex color.
2012
2019
  - The union split cuts `m:` metadata first, THEN splits `+` within the name region — so a `+` inside a quoted name (`"Anne + Jack"`) or a metadata value never mis-splits. Per-side `key: value` metadata on a union line is not supported — declare the person standalone.
2013
2020
 
@@ -2147,6 +2154,8 @@ Nested groups (max depth 2):
2147
2154
 
2148
2155
  Group metadata cascades to children (node metadata overrides). Nodes already declared above can be referenced inside groups to assign membership.
2149
2156
 
2157
+ A bare `collapsed` flag on the group line (`[AWS] collapsed`, or `[AWS] color: blue, collapsed`; legacy `collapsed: true`) starts the group folded: it draws as one pill with a member count and the collapse bar, and its edges end on the pill.
2158
+
2150
2159
  ### 13.5 Group-Targeted Edges
2151
2160
 
2152
2161
  Node-to-group and group-to-group edges use bracket syntax `[Group Name]`:
@@ -2356,6 +2365,8 @@ marker
2356
2365
  1718-07 Woodes Rogers arrives
2357
2366
  ```
2358
2367
 
2368
+ A bare `collapsed` flag on the lane line (`[Royal Navy] collapsed`, `[Royal Navy] blue collapsed`; legacy `collapsed: true`) starts the lane folded to one summary row with the collapse bar. Lanes fold only in the grouped swimlane layout.
2369
+
2359
2370
  ### 14.6 Options (Space-Separated, NO Colon)
2360
2371
 
2361
2372
  ```
@@ -3507,6 +3518,8 @@ persona Captain Mara
3507
3518
 
3508
3519
  Phases are `[Bracket]` headers at indent 0. Steps live indented under them. Phases are optional — omit them for a continuous flat flow.
3509
3520
 
3521
+ A bare `collapsed` flag on the phase line (`[Research] collapsed`; legacy `collapsed: true`) starts the phase folded to a narrow column with the collapse bar. Nothing else may follow a phase header.
3522
+
3510
3523
  ```
3511
3524
  [Research]
3512
3525
  Compare specs score: 4
@@ -4438,6 +4451,8 @@ Phase headers accept a trailing-token color for per-phase styling:
4438
4451
 
4439
4452
  The phase bar tints to a soft mix of the color over the background. Phases without a color fall back to the neutral gray bar.
4440
4453
 
4454
+ A bare `collapsed` flag on the phase line (`[Departure] collapsed`, `[Departure] teal collapsed`; legacy `collapsed: true`) starts the phase folded: its task rows hide and the band keeps its summary chips and the collapse bar.
4455
+
4441
4456
  ### Display vs source ordering
4442
4457
 
4443
4458
  Markers in cells are always **rendered in canonical alphabet order** (`R A C I`, `R A S C I`, `D A C I`) regardless of source order. Source casing and order are preserved in the file; mutations operate on source order to keep round-trips byte-stable except for the cell that changed.
@@ -4668,6 +4683,77 @@ The one directive is `url`. There are no elements, no indentation and no colons.
4668
4683
 
4669
4684
  ---
4670
4685
 
4686
+ ## 25B. SWOT Analysis
4687
+
4688
+ <!-- TYPE:swot -->
4689
+
4690
+ <!-- TIPS start -->
4691
+
4692
+ **Styling tips:** Keep items to a few words, and let the section colours stand: a tag group earns its place only when the items sort into kinds, such as priority or owner. Declare the sections in any order; they always draw S W / O T.
4693
+
4694
+ <!-- TIPS end -->
4695
+
4696
+ ### 25B.1 Declaration
4697
+
4698
+ ```
4699
+ swot [Title]
4700
+ ```
4701
+
4702
+ A SWOT analysis names four fixed panels: **strengths** and **weaknesses** are internal, **opportunities** and **threats** are external; strengths and opportunities help, weaknesses and threats harm. The panels always draw as a 2×2 in the order S W / O T, whatever order the source uses. At phone width the chart stays 2×2 and scales as a whole.
4703
+
4704
+ ### 25B.2 Sections and items
4705
+
4706
+ ```
4707
+ swot Tortuga Rum Co.
4708
+ tag Priority as p
4709
+ High red
4710
+ Low gray
4711
+ active-tag Priority
4712
+ x-label Helpful, Harmful
4713
+ y-label Internal, External
4714
+
4715
+ strengths
4716
+ Oldest still on the island p: Low
4717
+ Crew of 40 sworn tasters
4718
+ Trained in three ports
4719
+ weaknesses Soft spots yellow
4720
+ One barrel supplier p: High
4721
+ opportunities
4722
+ Navy rum ration contract
4723
+ threats
4724
+ Royal Navy blockade
4725
+ ```
4726
+
4727
+ - **Section line**, indent 0: `strengths|weaknesses|opportunities|threats [Label] [color]`. The keyword is case-insensitive. The label defaults to Strengths, Weaknesses, Opportunities, Threats; the colour defaults to green, yellow, blue, red. Sections are keywords, never `[brackets]`.
4728
+ - **Item line**: indented under a section. Text is literal, so colons and commas stay (`Cost: 20% below rivals, margins thin`) unless the key is a declared tag alias (`p: High`). A colour word ending an item stays in the text (`Margins are in the red`). A leading `- ` is removed.
4729
+ - **Detail line**: indented one level under an item; drawn smaller and muted. There is one detail level.
4730
+ - A missing or empty section still draws its panel, with a muted "None listed".
4731
+ - Long text wraps and the panel grows; nothing is truncated. A row takes its tallest panel's height, and the two columns stay equal.
4732
+
4733
+ ### 25B.3 Options
4734
+
4735
+ | Option | Effect |
4736
+ | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
4737
+ | `tag`, `active-tag` | A tag recolours an item's dot, tints its row faintly in the tag colour, and adds the legend. An untagged item keeps its section's colour and no tint, and the header bands always keep the section colour |
4738
+ | `x-label A, B` | Column headers: a filled band over each column, in small caps. Default `Helpful, Harmful` |
4739
+ | `y-label A, B` | Row headers: a filled rail beside each row, rotated, in small caps. Default `Internal, External` |
4740
+ | `no-axes` | Hide the axis labels. Wins over `x-label` and `y-label` |
4741
+ | `no-tint-items` | Don't tint tagged rows; the dot alone carries the tag |
4742
+ | `no-legend` | Hide the tag legend |
4743
+ | `palette` | Draw in a built-in palette |
4744
+
4745
+ The TOWS strategy cross-matrix, scores or weights are not part of this chart.
4746
+
4747
+ ### 25B.4 Diagnostics
4748
+
4749
+ | Code | Fires on |
4750
+ | -------------------------- | ---------------------------------------------------------------------------------------------------------- |
4751
+ | `E_SWOT_UNKNOWN_SECTION` | an unknown word at indent 0, including `[Strengths]` and `strength`; the message names the nearest keyword |
4752
+ | `E_SWOT_DUPLICATE_SECTION` | the same section twice |
4753
+ | `E_SWOT_ORPHAN_ITEM` | an item before any section |
4754
+ | `E_SWOT_TOO_DEEP` | nesting below the detail level |
4755
+ | `W_SWOT_EMPTY_SECTION` | a missing or empty section; its panel still draws |
4756
+
4671
4757
  ## 26. Colon Usage Summary
4672
4758
 
4673
4759
  ### Constructs Where Colons Are REQUIRED
@@ -4769,16 +4855,16 @@ API description: Main gateway
4769
4855
 
4770
4856
  Some constructs _look_ universal but are scoped to specific chart types. Don't transplant them across charts.
4771
4857
 
4772
- | Construct | Scope |
4773
- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
4774
- | Bare `collapsed` trailing flag (§1.8) | sequence, infra, gantt, kanban, mindmap, pert, state, c4, event-line (eras), block, wireframe. Legacy: `collapsed: true` metadata |
4775
- | Same-line / indented metadata on declarations | all chart types except flowchart, state, data charts (§1.4) |
4776
- | Trailing-keyword flag list | wireframe only (§19) |
4777
- | `progress: <N>` key | gantt only (§13) |
4778
- | `score: <N>` + `emotion: <Word>` keys | journey-map only (§22) |
4779
- | `description: <text>` shorthand for layers | pyramid, ring (§23, §24) |
4780
- | `milestone` keyword | **removed** — use `<name> 0` (§13A) |
4781
- | `\|` operator as metadata delimiter | **removed** (§1.4). Surviving uses: wireframe `{A \| B}` braces, in-arrow `A -file\|name-> B`, quoted `"Order \| Items"` |
4858
+ | Construct | Scope |
4859
+ | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
4860
+ | Bare `collapsed` trailing flag (§1.8) | sequence (groups, sections, multi-line notes), infra, gantt, kanban, mindmap, pert, state, event-line (eras), block, wireframe, sitemap, boxes-and-lines, timeline (lanes), journey-map, raci. c4 parses it but draws nothing (c4 folds by drill level). Legacy: `collapsed: true` metadata |
4861
+ | Same-line / indented metadata on declarations | all chart types except flowchart, state, data charts (§1.4) |
4862
+ | Trailing-keyword flag list | wireframe only (§19) |
4863
+ | `progress: <N>` key | gantt only (§13) |
4864
+ | `score: <N>` + `emotion: <Word>` keys | journey-map only (§22) |
4865
+ | `description: <text>` shorthand for layers | pyramid, ring (§23, §24) |
4866
+ | `milestone` keyword | **removed** — use `<name> 0` (§13A) |
4867
+ | `\|` operator as metadata delimiter | **removed** (§1.4). Surviving uses: wireframe `{A \| B}` braces, in-arrow `A -file\|name-> B`, quoted `"Order \| Items"` |
4782
4868
 
4783
4869
  ### 26.4 Quoted Names + Aliases — Pick One
4784
4870
 
@@ -0,0 +1,19 @@
1
+ swot Coopérative du Rhum
2
+ no-axes
3
+ x-label Atouts, Risques
4
+ y-label Interne, Externe
5
+
6
+ // The source order is deliberately T O W S; the panels stay S W / O T.
7
+ threats Menaces
8
+ Blocus de la marine royale, qui ferme le port principal pendant toute la saison des alizés
9
+ opportunities Opportunités teal
10
+ Contrat de ration de rhum pour la marine
11
+ Ouverture d'une route commerciale vers les îles du sud
12
+ Demande croissante en Europe
13
+ weaknesses Faiblesses
14
+ Un seul fournisseur de tonneaux
15
+ strengths Forces
16
+ La plus ancienne distillerie de l'île
17
+ Quarante goûteurs assermentés, formés dans trois ports différents et capables de reconnaître un millésime à l'odeur
18
+ Formation reprise chaque hiver
19
+ Recette gardée depuis 1680
@@ -0,0 +1,16 @@
1
+ swot Tortuga Rum Co.
2
+ tag Priority as p
3
+ High red
4
+ Low gray
5
+ active-tag Priority
6
+ x-label Helpful, Harmful
7
+ y-label Internal, External
8
+
9
+ strengths
10
+ Oldest still on the island p: Low
11
+ Crew of 40 sworn tasters
12
+ Trained in three ports
13
+ weaknesses Soft spots yellow
14
+ One barrel supplier p: High
15
+ opportunities
16
+ Navy rum ration contract
@@ -0,0 +1,13 @@
1
+ swot Tortuga Rum Co.
2
+
3
+ strengths
4
+ Oldest still on the island
5
+ Crew of 40 sworn tasters
6
+ weaknesses
7
+ One barrel supplier
8
+ Cost: 20% above rivals, margins thin
9
+ opportunities
10
+ Navy rum ration contract
11
+ threats
12
+ Royal Navy blockade
13
+ Margins are in the red
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diagrammo/dgmo",
3
- "version": "0.96.0",
3
+ "version": "0.98.0",
4
4
  "description": "DGMO diagram markup language — parser, renderer, and color system",
5
5
  "license": "MIT",
6
6
  "author": "Diagrammo LLC",
@@ -1,49 +0,0 @@
1
- import {
2
- EDGE_DASH
3
- } from "./chunk-XCKNFFKM.js";
4
- import {
5
- measureText
6
- } from "./chunk-KAO7JL4I.js";
7
-
8
- // src/utils/card.ts
9
- function renderNodeCard(container, opts) {
10
- const rect = container.append("rect").attr("x", 0).attr("y", 0).attr("width", opts.width).attr("height", opts.height).attr("rx", opts.rx).attr("fill", opts.fill).attr("stroke", opts.stroke).attr("stroke-width", opts.strokeWidth);
11
- if (opts.dashed) {
12
- rect.attr("stroke-dasharray", EDGE_DASH);
13
- }
14
- const labelLines = opts.labelLines;
15
- if (labelLines && labelLines.length > 1) {
16
- const lineH = opts.labelFontSize * 1.2;
17
- const midY = opts.headerHeight / 2;
18
- const startY = midY - (labelLines.length - 1) * lineH / 2;
19
- for (let li = 0; li < labelLines.length; li++) {
20
- container.append("text").attr("x", opts.width / 2).attr("y", startY + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", opts.labelColor).attr("font-size", opts.labelFontSize).attr("font-weight", "bold").text(labelLines[li]);
21
- }
22
- } else {
23
- container.append("text").attr("x", opts.width / 2).attr("y", opts.headerHeight / 2).attr("dominant-baseline", "central").attr("text-anchor", "middle").attr("fill", opts.labelColor).attr("font-size", opts.labelFontSize).attr("font-weight", "bold").text(labelLines?.[0] ?? opts.label);
24
- }
25
- const meta = opts.meta;
26
- if (!meta || meta.rows.length === 0) return;
27
- container.append("line").attr("x1", 0).attr("y1", opts.headerHeight).attr("x2", opts.width).attr("y2", opts.headerHeight).attr("stroke", meta.separatorColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
28
- const keyX = meta.keyX ?? 10;
29
- const maxKeyWidth = Math.max(
30
- ...meta.rows.map(([key]) => measureText(`${key}: `, meta.fontSize))
31
- );
32
- const valueX = keyX + maxKeyWidth;
33
- const metaStartY = opts.headerHeight + meta.separatorGap + meta.fontSize;
34
- for (let i = 0; i < meta.rows.length; i++) {
35
- const [displayKey, value] = meta.rows[i];
36
- const rowY = metaStartY + i * meta.lineHeight;
37
- container.append("text").attr("x", keyX).attr("y", rowY).attr("fill", meta.textColor).attr("font-size", meta.fontSize).text(`${displayKey}: `);
38
- container.append("text").attr("x", valueX).attr("y", rowY).attr("fill", meta.textColor).attr("font-size", meta.fontSize).text(value);
39
- }
40
- }
41
- function renderCollapseBar(container, opts) {
42
- container.append("clipPath").attr("id", opts.clipId).append("rect").attr("width", opts.width).attr("height", opts.height).attr("rx", opts.rx);
43
- container.append("rect").attr("x", opts.inset).attr("y", opts.height - opts.barHeight).attr("width", opts.width - opts.inset * 2).attr("height", opts.barHeight).attr("fill", opts.fill).attr("clip-path", `url(#${opts.clipId})`).attr("class", opts.className);
44
- }
45
-
46
- export {
47
- renderNodeCard,
48
- renderCollapseBar
49
- };
@@ -1,8 +0,0 @@
1
- import {
2
- collapseSitemapTree
3
- } from "./chunk-UNCCZ3NU.js";
4
- import "./chunk-BS7SV7C3.js";
5
- import "./chunk-YLJ4XMA6.js";
6
- export {
7
- collapseSitemapTree
8
- };
@@ -1,100 +0,0 @@
1
- import {
2
- CHART_TYPE_DESCRIPTIONS,
3
- chartTypeParsers,
4
- getAllChartTypes,
5
- getRenderCategory,
6
- isExtendedChartType,
7
- knownChartTypeIds,
8
- parseDgmo
9
- } from "./chunk-MVUNMJKO.js";
10
- import "./chunk-P2GNNEMN.js";
11
- import "./chunk-K2WXMXI2.js";
12
- import "./chunk-EPB3UEMD.js";
13
- import "./chunk-EOYPX6SF.js";
14
- import "./chunk-FBK32S4D.js";
15
- import "./chunk-5ARANBIE.js";
16
- import "./chunk-P3PSLC2K.js";
17
- import "./chunk-SQBCNEJB.js";
18
- import "./chunk-B7BSRVNC.js";
19
- import "./chunk-SIABEREK.js";
20
- import "./chunk-35A3J4Z5.js";
21
- import "./chunk-VVTCUIPN.js";
22
- import "./chunk-B2YVZ3QU.js";
23
- import "./chunk-SCYVGPLI.js";
24
- import "./chunk-VLI6AWS3.js";
25
- import "./chunk-GM2SLMQW.js";
26
- import "./chunk-YSGOXZBB.js";
27
- import "./chunk-ITDF3MWD.js";
28
- import "./chunk-AUXUNV73.js";
29
- import "./chunk-YFIUABSF.js";
30
- import "./chunk-QQJUTGQH.js";
31
- import "./chunk-2CW5ZTNH.js";
32
- import "./chunk-KQAPFIYF.js";
33
- import "./chunk-EZ6BI5LL.js";
34
- import "./chunk-A2RUBBVT.js";
35
- import "./chunk-I2I2FKAK.js";
36
- import "./chunk-URRAWU5D.js";
37
- import "./chunk-3DPOIW3W.js";
38
- import "./chunk-QEU6VM4O.js";
39
- import "./chunk-RGFVHYDP.js";
40
- import "./chunk-BD4O4D2A.js";
41
- import "./chunk-DWMQ24JR.js";
42
- import "./chunk-XSVWUOUZ.js";
43
- import "./chunk-IU7XKZA6.js";
44
- import "./chunk-H7AXCRO7.js";
45
- import "./chunk-OAZ6BIIB.js";
46
- import {
47
- looksLikeC4,
48
- looksLikeGantt,
49
- parseDgmoChartType
50
- } from "./chunk-I3ZRIMR7.js";
51
- import "./chunk-U6N547QA.js";
52
- import "./chunk-DPNSDCR3.js";
53
- import "./chunk-JCC3B2GS.js";
54
- import "./chunk-WLGOIMTI.js";
55
- import "./chunk-YVIPJGFG.js";
56
- import "./chunk-34JOHSVE.js";
57
- import "./chunk-2SKMEL7V.js";
58
- import "./chunk-H7RQG4PH.js";
59
- import "./chunk-TIVMAITN.js";
60
- import "./chunk-TPCP2UOI.js";
61
- import "./chunk-NXMESY4J.js";
62
- import "./chunk-EQW6HOP4.js";
63
- import "./chunk-MKSTL6DR.js";
64
- import "./chunk-CYTFO2LF.js";
65
- import "./chunk-MAYTYF5S.js";
66
- import "./chunk-C3Z4DX3V.js";
67
- import "./chunk-IYULMRBE.js";
68
- import "./chunk-M4ZUIW3J.js";
69
- import "./chunk-GXCDD6NG.js";
70
- import "./chunk-FMAVHTYB.js";
71
- import "./chunk-N7VMGZCU.js";
72
- import "./chunk-HH3DHNQA.js";
73
- import "./chunk-NOTA6TEI.js";
74
- import "./chunk-67N26CER.js";
75
- import "./chunk-7WEYXYLC.js";
76
- import "./chunk-QKPOIJBT.js";
77
- import "./chunk-ICLB27PZ.js";
78
- import "./chunk-D7DGLJ7N.js";
79
- import "./chunk-4WW3SGMH.js";
80
- import "./chunk-3UR4F7FE.js";
81
- import "./chunk-LGUFJ7Y2.js";
82
- import "./chunk-FUYEXLAN.js";
83
- import "./chunk-Z6QFHH4D.js";
84
- import "./chunk-KAO7JL4I.js";
85
- import "./chunk-6GXLAKUH.js";
86
- import "./chunk-3J7O3CU6.js";
87
- import "./chunk-BYU54C3S.js";
88
- import "./chunk-YLJ4XMA6.js";
89
- export {
90
- CHART_TYPE_DESCRIPTIONS,
91
- chartTypeParsers,
92
- getAllChartTypes,
93
- getRenderCategory,
94
- isExtendedChartType,
95
- knownChartTypeIds,
96
- looksLikeC4,
97
- looksLikeGantt,
98
- parseDgmo,
99
- parseDgmoChartType
100
- };
@@ -1,21 +0,0 @@
1
- import {
2
- mapContentAspect,
3
- mapExportDimensions
4
- } from "./chunk-FHX373L5.js";
5
- import "./chunk-EMGNCG5C.js";
6
- import "./chunk-AXLF3KRE.js";
7
- import "./chunk-KMU65FYM.js";
8
- import "./chunk-VLC6WNRD.js";
9
- import "./chunk-JILEYZ2V.js";
10
- import "./chunk-LGUFJ7Y2.js";
11
- import "./chunk-FUYEXLAN.js";
12
- import "./chunk-UOCWYLYT.js";
13
- import "./chunk-KAO7JL4I.js";
14
- import "./chunk-6GXLAKUH.js";
15
- import "./chunk-3J7O3CU6.js";
16
- import "./chunk-BYU54C3S.js";
17
- import "./chunk-YLJ4XMA6.js";
18
- export {
19
- mapContentAspect,
20
- mapExportDimensions
21
- };
@@ -1,40 +0,0 @@
1
- import {
2
- renderFlowchart,
3
- renderFlowchartForExport
4
- } from "./chunk-LRHPBWOY.js";
5
- import "./chunk-26EVL454.js";
6
- import "./chunk-5GU6C5WB.js";
7
- import "./chunk-VNAPEZX2.js";
8
- import "./chunk-XBJJP2HN.js";
9
- import "./chunk-5G4DOOX2.js";
10
- import "./chunk-VGAMBOOC.js";
11
- import "./chunk-THTYCJGF.js";
12
- import "./chunk-WTTIODDV.js";
13
- import "./chunk-IN7XI6NO.js";
14
- import "./chunk-EPDBWATV.js";
15
- import "./chunk-CYRB2JTN.js";
16
- import "./chunk-24YPR5EH.js";
17
- import "./chunk-R5L5E3TC.js";
18
- import "./chunk-VLC6WNRD.js";
19
- import "./chunk-XCKNFFKM.js";
20
- import "./chunk-H7RQG4PH.js";
21
- import "./chunk-TIVMAITN.js";
22
- import "./chunk-NXMESY4J.js";
23
- import "./chunk-N7VMGZCU.js";
24
- import "./chunk-HH3DHNQA.js";
25
- import "./chunk-NOTA6TEI.js";
26
- import "./chunk-67N26CER.js";
27
- import "./chunk-7WEYXYLC.js";
28
- import "./chunk-QKPOIJBT.js";
29
- import "./chunk-ICLB27PZ.js";
30
- import "./chunk-FUYEXLAN.js";
31
- import "./chunk-UOCWYLYT.js";
32
- import "./chunk-KAO7JL4I.js";
33
- import "./chunk-6GXLAKUH.js";
34
- import "./chunk-3J7O3CU6.js";
35
- import "./chunk-BYU54C3S.js";
36
- import "./chunk-YLJ4XMA6.js";
37
- export {
38
- renderFlowchart,
39
- renderFlowchartForExport
40
- };
@@ -1,15 +0,0 @@
1
- import {
2
- layoutOrg
3
- } from "./chunk-O2HNVNKO.js";
4
- import "./chunk-XCKNFFKM.js";
5
- import "./chunk-LGUFJ7Y2.js";
6
- import "./chunk-FUYEXLAN.js";
7
- import "./chunk-UOCWYLYT.js";
8
- import "./chunk-KAO7JL4I.js";
9
- import "./chunk-6GXLAKUH.js";
10
- import "./chunk-3J7O3CU6.js";
11
- import "./chunk-BYU54C3S.js";
12
- import "./chunk-YLJ4XMA6.js";
13
- export {
14
- layoutOrg
15
- };
@@ -1,15 +0,0 @@
1
- import {
2
- layoutSitemap
3
- } from "./chunk-EM5SA7NC.js";
4
- import "./chunk-XCKNFFKM.js";
5
- import "./chunk-LGUFJ7Y2.js";
6
- import "./chunk-FUYEXLAN.js";
7
- import "./chunk-UOCWYLYT.js";
8
- import "./chunk-KAO7JL4I.js";
9
- import "./chunk-6GXLAKUH.js";
10
- import "./chunk-3J7O3CU6.js";
11
- import "./chunk-BYU54C3S.js";
12
- import "./chunk-YLJ4XMA6.js";
13
- export {
14
- layoutSitemap
15
- };
@@ -1,11 +0,0 @@
1
- import {
2
- layoutSwimlane
3
- } from "./chunk-ERT7XDQW.js";
4
- import "./chunk-VGAMBOOC.js";
5
- import "./chunk-WTTIODDV.js";
6
- import "./chunk-IN7XI6NO.js";
7
- import "./chunk-KAO7JL4I.js";
8
- import "./chunk-YLJ4XMA6.js";
9
- export {
10
- layoutSwimlane
11
- };
@@ -1,14 +0,0 @@
1
- import {
2
- extractSymbols,
3
- parseBody
4
- } from "./chunk-IU7XKZA6.js";
5
- import "./chunk-H7AXCRO7.js";
6
- import "./chunk-LGUFJ7Y2.js";
7
- import "./chunk-FUYEXLAN.js";
8
- import "./chunk-3J7O3CU6.js";
9
- import "./chunk-BYU54C3S.js";
10
- import "./chunk-YLJ4XMA6.js";
11
- export {
12
- extractSymbols,
13
- parseBody
14
- };
@@ -1,41 +0,0 @@
1
- import {
2
- renderERDiagram,
3
- renderERDiagramForExport
4
- } from "./chunk-IKXQ6NVR.js";
5
- import "./chunk-3W73ZP6W.js";
6
- import "./chunk-VNAPEZX2.js";
7
- import "./chunk-5G4DOOX2.js";
8
- import "./chunk-VGAMBOOC.js";
9
- import "./chunk-THTYCJGF.js";
10
- import "./chunk-WTTIODDV.js";
11
- import "./chunk-IN7XI6NO.js";
12
- import "./chunk-CYRB2JTN.js";
13
- import "./chunk-24YPR5EH.js";
14
- import "./chunk-R5L5E3TC.js";
15
- import "./chunk-VLC6WNRD.js";
16
- import "./chunk-XCKNFFKM.js";
17
- import "./chunk-PGD6CNWO.js";
18
- import "./chunk-JILEYZ2V.js";
19
- import "./chunk-MAYTYF5S.js";
20
- import "./chunk-GXCDD6NG.js";
21
- import "./chunk-FMAVHTYB.js";
22
- import "./chunk-N7VMGZCU.js";
23
- import "./chunk-HH3DHNQA.js";
24
- import "./chunk-NOTA6TEI.js";
25
- import "./chunk-67N26CER.js";
26
- import "./chunk-7WEYXYLC.js";
27
- import "./chunk-QKPOIJBT.js";
28
- import "./chunk-ICLB27PZ.js";
29
- import "./chunk-3UR4F7FE.js";
30
- import "./chunk-LGUFJ7Y2.js";
31
- import "./chunk-FUYEXLAN.js";
32
- import "./chunk-UOCWYLYT.js";
33
- import "./chunk-KAO7JL4I.js";
34
- import "./chunk-6GXLAKUH.js";
35
- import "./chunk-3J7O3CU6.js";
36
- import "./chunk-BYU54C3S.js";
37
- import "./chunk-YLJ4XMA6.js";
38
- export {
39
- renderERDiagram,
40
- renderERDiagramForExport
41
- };