@diagrammo/dgmo 0.95.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 (279) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +190 -568
  3. package/dist/advanced.js +259 -470
  4. package/dist/block.d.ts +8 -0
  5. package/dist/block.js +144 -73
  6. package/dist/{calculator-BNH3GSJE.js → calculator-CIGGTURF.js} +2 -2
  7. package/dist/{chart-meta-BbjsRY7o.d.ts → chart-meta-B7niEd52.d.ts} +3 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +19 -19
  10. package/dist/{chart-types-Cppnp31G.d.ts → chart-types-Dxtv4XSz.d.ts} +4 -5
  11. package/dist/{charts-d3-SZV2SFTM.js → charts-d3-INWEGMSD.js} +14 -14
  12. package/dist/{chunk-P5XA627W.js → chunk-2FMOLWX4.js} +73 -65
  13. package/dist/{chunk-MLY5ALOV.js → chunk-2SZILMQT.js} +57 -15
  14. package/dist/chunk-35A3J4Z5.js +14 -0
  15. package/dist/{chunk-UXNA2H2V.js → chunk-3C4OXVZJ.js} +2 -2
  16. package/dist/{chunk-IZHGT5HD.js → chunk-3HL6NSSQ.js} +63 -18
  17. package/dist/{chunk-2WQ3YZMN.js → chunk-3IUMSK72.js} +2 -2
  18. package/dist/{chunk-LAXMUSGW.js → chunk-44RLIAYC.js} +17 -10
  19. package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
  20. package/dist/{chunk-2I4UQG7W.js → chunk-47INRTZ6.js} +2 -2
  21. package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
  22. package/dist/{chunk-KLBTJEIK.js → chunk-4TK26YHH.js} +2 -2
  23. package/dist/{chunk-CN4RDJDV.js → chunk-5TGZBHEJ.js} +1 -1
  24. package/dist/{chunk-IXHWS2HI.js → chunk-5WZYJC2P.js} +2 -2
  25. package/dist/{chunk-KBDMEOLI.js → chunk-65JFUANT.js} +1 -1
  26. package/dist/{chunk-D3K4U3ZM.js → chunk-6K2W3FH7.js} +8 -5
  27. package/dist/{chunk-NXU4N5WT.js → chunk-6OUMYNAJ.js} +1 -1
  28. package/dist/{chunk-KRPLP5LP.js → chunk-6PUBFB6D.js} +24 -3
  29. package/dist/{chunk-EXHXTMVR.js → chunk-6S2H6EKN.js} +3 -3
  30. package/dist/{chunk-KSZB7TIY.js → chunk-6SDEXSJY.js} +42 -22
  31. package/dist/{chunk-IQN2NGEU.js → chunk-6YBZFOTA.js} +13 -13
  32. package/dist/{chunk-IHN6WDEY.js → chunk-74XR7Z3I.js} +13 -13
  33. package/dist/{chunk-2J2CWWWK.js → chunk-7ASVGFW3.js} +1 -1
  34. package/dist/{chunk-BH2SF4TT.js → chunk-7QKWU7FX.js} +3 -3
  35. package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
  36. package/dist/{chunk-VB4VMB2I.js → chunk-7TEAFIEJ.js} +9 -5
  37. package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
  38. package/dist/{chunk-BCV2VJTM.js → chunk-A5LFM62B.js} +3 -3
  39. package/dist/{chunk-U6VS3T2M.js → chunk-AULFF7L2.js} +4 -4
  40. package/dist/{chunk-LKZCUFOW.js → chunk-B7ZH5EQ2.js} +2 -2
  41. package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
  42. package/dist/{chunk-3PP746YM.js → chunk-CGP7RGLJ.js} +1 -1
  43. package/dist/{chunk-67N26CER.js → chunk-CLW45YKE.js} +2 -1
  44. package/dist/{chunk-VTESGA5F.js → chunk-CUOMNKYW.js} +4 -4
  45. package/dist/{chunk-CDM6XMOT.js → chunk-CUTEHGXO.js} +2 -2
  46. package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
  47. package/dist/{chunk-XOMIYMQ3.js → chunk-D7KZE2XJ.js} +39 -17
  48. package/dist/{chunk-NMS5XSLX.js → chunk-DFEVFLEG.js} +3 -3
  49. package/dist/{chunk-EBVVMUAA.js → chunk-DKMZ4VMV.js} +1 -1
  50. package/dist/{chunk-V5D6GDNK.js → chunk-DRY4W4W6.js} +36 -15
  51. package/dist/{chunk-XJQ6Z3FO.js → chunk-E6GHXMH2.js} +8 -8
  52. package/dist/{chunk-KBEWVCK3.js → chunk-EBJLT7PH.js} +1 -1
  53. package/dist/{chunk-TASRGDYP.js → chunk-EEIGHOJR.js} +92 -23
  54. package/dist/{chunk-AQQUJEDN.js → chunk-EUPUVYWO.js} +1 -1
  55. package/dist/{chunk-7IALGIOI.js → chunk-F2OAZHOX.js} +10 -5
  56. package/dist/{chunk-JXGSTBW6.js → chunk-FK6HZYGK.js} +4 -14
  57. package/dist/{chunk-OSSTOSXU.js → chunk-FTW2E2YH.js} +7 -10
  58. package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
  59. package/dist/chunk-G24NSISJ.js +69 -0
  60. package/dist/{chunk-EBIDNRSR.js → chunk-GFQFLLP3.js} +2 -2
  61. package/dist/{chunk-RQTDUZUH.js → chunk-GLLYHYGT.js} +27 -17
  62. package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
  63. package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
  64. package/dist/{chunk-C6G36F5S.js → chunk-H242TVAE.js} +9 -9
  65. package/dist/{chunk-5XBYLYYI.js → chunk-H7DZYHQF.js} +3 -3
  66. package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
  67. package/dist/{chunk-IY62DXT2.js → chunk-IAM3IDL4.js} +2 -2
  68. package/dist/{chunk-IGJEKO2P.js → chunk-II6D6NWX.js} +8 -8
  69. package/dist/{chunk-AULZD45V.js → chunk-IUFTAFGN.js} +2 -2
  70. package/dist/{chunk-FWVE373X.js → chunk-IZEKHIV6.js} +3 -3
  71. package/dist/{chunk-BQMHJ6OW.js → chunk-J3YM6RA5.js} +22 -14
  72. package/dist/{chunk-R6EGUTIV.js → chunk-J467QBZF.js} +23 -3
  73. package/dist/{chunk-JJ7RGTAU.js → chunk-J7JF4QKA.js} +40 -30
  74. package/dist/{chunk-E7F76M3U.js → chunk-JULBDTNU.js} +61 -9
  75. package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
  76. package/dist/{chunk-ZECJ7Q6C.js → chunk-KMB754DO.js} +33 -6
  77. package/dist/chunk-KNKZGRRB.js +439 -0
  78. package/dist/{chunk-XIUGSUE4.js → chunk-KTGJQJB3.js} +6 -2
  79. package/dist/{chunk-4SACN2C5.js → chunk-KW3CC7SB.js} +1 -1
  80. package/dist/{chunk-3GUEYQGL.js → chunk-L3K5O3Z5.js} +3 -3
  81. package/dist/chunk-LRTSTDJ6.js +126 -0
  82. package/dist/{chunk-NBAAIRFP.js → chunk-LZATSXAA.js} +5 -2
  83. package/dist/{chunk-USE6HIOZ.js → chunk-MJ725XHD.js} +1156 -330
  84. package/dist/{chunk-3KVUFHUJ.js → chunk-NBISN6FH.js} +2 -2
  85. package/dist/{chunk-RITTLIDJ.js → chunk-NN5RUHXV.js} +84 -16
  86. package/dist/{chunk-62GLKE6Q.js → chunk-NOZMRPXI.js} +112 -157
  87. package/dist/{chunk-4XYZJTFO.js → chunk-NQFZ7LXC.js} +14 -6
  88. package/dist/chunk-NTDWVTEY.js +12 -0
  89. package/dist/{chunk-BQO24BDM.js → chunk-O3HRF25Z.js} +1 -1
  90. package/dist/{chunk-ZD3QCNB7.js → chunk-OSSA5UWA.js} +3 -3
  91. package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
  92. package/dist/{chunk-NPDVWFAQ.js → chunk-PLQZJZ2K.js} +1 -1
  93. package/dist/chunk-PRG7NIUU.js +272 -0
  94. package/dist/{chunk-S4SJ4LLY.js → chunk-PSNRB75I.js} +3 -3
  95. package/dist/{chunk-QPQWY5RU.js → chunk-PT5VFY3B.js} +38 -14
  96. package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
  97. package/dist/{chunk-J7Q4AB23.js → chunk-PZ5LAAO3.js} +2 -2
  98. package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
  99. package/dist/{chunk-Y3SIQN4J.js → chunk-Q6V342WS.js} +17 -5
  100. package/dist/{chunk-RBVFNUAL.js → chunk-QDPTOIG7.js} +5 -5
  101. package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
  102. package/dist/{chunk-NM5V5EKY.js → chunk-QLIZ7SB7.js} +1 -1
  103. package/dist/chunk-QLNLRZ37.js +181 -0
  104. package/dist/{chunk-HHVIE45A.js → chunk-QOLRTPGH.js} +6 -6
  105. package/dist/{chunk-2ZW4NBYX.js → chunk-R4SXMBGF.js} +1 -1
  106. package/dist/chunk-R4U7IIRX.js +178 -0
  107. package/dist/{chunk-BRGRIZQB.js → chunk-RC6PISCK.js} +4 -2
  108. package/dist/{chunk-UIEKW4SG.js → chunk-REKLKGR6.js} +3 -4
  109. package/dist/{chunk-TIIZIAGS.js → chunk-RFGQDIOI.js} +843 -233
  110. package/dist/{chunk-FVTYJUXR.js → chunk-ROFSIFSY.js} +4 -4
  111. package/dist/{chunk-VSAKEMDD.js → chunk-ROH4LYBL.js} +71 -21
  112. package/dist/{chunk-4UVCTLRH.js → chunk-SNDCXT5R.js} +9 -7
  113. package/dist/{chunk-R46N5KR4.js → chunk-SQBCNEJB.js} +2 -1
  114. package/dist/{chunk-66JTY4AN.js → chunk-TDUBTDXS.js} +1 -1
  115. package/dist/{chunk-PGSGJLUR.js → chunk-TMB4YY3J.js} +34 -4
  116. package/dist/{chunk-UZ7EZW3B.js → chunk-TO53KK2P.js} +6 -1
  117. package/dist/{chunk-5KKZXA44.js → chunk-V3ICBS2O.js} +7 -5
  118. package/dist/{chunk-GWQRTA5W.js → chunk-V65EDV6S.js} +3 -3
  119. package/dist/{chunk-VF7IKIRS.js → chunk-VKT3BVRO.js} +35 -11
  120. package/dist/{chunk-L5S32VZJ.js → chunk-VOO65FKC.js} +12 -12
  121. package/dist/{chunk-PVWIBKV2.js → chunk-VQWLASDC.js} +2 -2
  122. package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
  123. package/dist/{chunk-GI5R5B3S.js → chunk-VVZDBUHA.js} +2 -2
  124. package/dist/{chunk-PGBTUGDB.js → chunk-W46OMHOK.js} +23 -27
  125. package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
  126. package/dist/{chunk-H6BT45SN.js → chunk-WPYJAHRP.js} +1 -1
  127. package/dist/{chunk-LJGE43SG.js → chunk-WXGFB2O2.js} +3 -3
  128. package/dist/{chunk-YQMIKX54.js → chunk-XCYGOCMS.js} +102 -52
  129. package/dist/{chunk-BTP2BMWN.js → chunk-XEMCNQQW.js} +15 -15
  130. package/dist/{chunk-NVZ7R4EK.js → chunk-XMUFXJI2.js} +6 -6
  131. package/dist/{chunk-AM42TLSZ.js → chunk-XZGXVN4T.js} +5 -5
  132. package/dist/{chunk-5OTA2PUH.js → chunk-YCIBBVI2.js} +2 -2
  133. package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
  134. package/dist/{chunk-USZLHYEQ.js → chunk-YFWIFKRQ.js} +3 -3
  135. package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
  136. package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
  137. package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
  138. package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
  139. package/dist/{chunk-4EX4OKGZ.js → chunk-ZCKVTZHD.js} +41 -19
  140. package/dist/{chunk-7PJBJ2DU.js → chunk-ZMVMGZAJ.js} +1 -1
  141. package/dist/{chunk-6EFCOES2.js → chunk-ZRW4B4KF.js} +48 -14
  142. package/dist/{chunk-A2A2I4Z4.js → chunk-ZTKO2RD4.js} +5 -5
  143. package/dist/collapse-6IGH2B24.js +31 -0
  144. package/dist/{collapse-BSPH3BFM.js → collapse-6X5S2S3G.js} +2 -1
  145. package/dist/collapse-GOWNCVHZ.js +7 -0
  146. package/dist/collapse-HNTPLB2Q.js +11 -0
  147. package/dist/collapse-NUM7DPJA.js +10 -0
  148. package/dist/completion-registry.js +28 -39
  149. package/dist/countdown.js +1 -1
  150. package/dist/dgmo-router-RSYWR5IS.js +101 -0
  151. package/dist/dimensions-KXAI7U2B.js +21 -0
  152. package/dist/editor.js +884 -222
  153. package/dist/{flowchart-parser-J3VWIFWB.js → flowchart-parser-UI5VZNGJ.js} +5 -5
  154. package/dist/{flowchart-renderer-FECH5KK5.js → flowchart-renderer-IYWPKPCF.js} +18 -18
  155. package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
  156. package/dist/highlight.js +886 -224
  157. package/dist/index.d.ts +89 -6
  158. package/dist/index.js +91 -70
  159. package/dist/{layout-TIBRMWHL.js → layout-6VY3DHYD.js} +6 -6
  160. package/dist/{layout-5SZ5A64I.js → layout-7C2QZCEZ.js} +10 -10
  161. package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
  162. package/dist/layout-BSK374N6.js +11 -0
  163. package/dist/{layout-RH3N46HP.js → layout-FJDBY3WG.js} +6 -5
  164. package/dist/{layout-YBMT74MG.js → layout-G3RVKEC4.js} +10 -10
  165. package/dist/{layout-KV27UW25.js → layout-GC5XX2RH.js} +2 -2
  166. package/dist/{layout-JTIRCKAW.js → layout-R6ULGQJK.js} +6 -6
  167. package/dist/{layout-HFBK5UEG.js → layout-ROI5KVSO.js} +3 -3
  168. package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
  169. package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
  170. package/dist/{layout-EWXHEXNS.js → layout-WBH5IHYK.js} +10 -10
  171. package/dist/layout-WTHBGTH2.js +15 -0
  172. package/dist/layout-ZCCABSV7.js +15 -0
  173. package/dist/{layout-search-AWPJWBKT.js → layout-search-DSIDKKQO.js} +8 -8
  174. package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
  175. package/dist/{parser-NUU3DVW4.js → parser-3PMYAVFL.js} +2 -2
  176. package/dist/{parser-KJPPUN4D.js → parser-5KVFS4RN.js} +2 -2
  177. package/dist/{parser-6TDWUKM5.js → parser-BA43YPIQ.js} +3 -3
  178. package/dist/{parser-EFF22GYO.js → parser-CFAYEWLF.js} +3 -3
  179. package/dist/{parser-A3AN76RQ.js → parser-DRFEX6OX.js} +3 -3
  180. package/dist/{parser-H5OODY5N.js → parser-DWVBRBB2.js} +3 -3
  181. package/dist/{parser-BJ7RJNUM.js → parser-E4B7HJT2.js} +3 -3
  182. package/dist/{parser-5UZV32ZI.js → parser-FWQY3HJX.js} +2 -2
  183. package/dist/{parser-RTWPFKXG.js → parser-GMCXCJSP.js} +3 -3
  184. package/dist/{parser-NL73FSFI.js → parser-IHFHPFL7.js} +3 -3
  185. package/dist/{parser-BTSTKY5G.js → parser-IU6425JW.js} +6 -6
  186. package/dist/{parser-ZRIZFDZY.js → parser-IZYIXDJX.js} +6 -6
  187. package/dist/{parser-4TBSWULQ.js → parser-JQGUTDSX.js} +3 -3
  188. package/dist/{parser-TUAEX6ML.js → parser-JRKPOO2Z.js} +3 -3
  189. package/dist/{parser-KMKVFET2.js → parser-KI2XYB2R.js} +2 -2
  190. package/dist/parser-LDVVBP7S.js +12 -0
  191. package/dist/{parser-YG625J5H.js → parser-MAGFK6OK.js} +4 -4
  192. package/dist/{parser-AR2GON37.js → parser-MH5BDN7X.js} +4 -4
  193. package/dist/{parser-EAQPZX2B.js → parser-MUHFEM4G.js} +3 -3
  194. package/dist/{parser-RCIEKN7Y.js → parser-P375HO7Q.js} +2 -2
  195. package/dist/{parser-GMQJISZ6.js → parser-PYY5BRLQ.js} +2 -2
  196. package/dist/parser-QEMFMVF5.js +12 -0
  197. package/dist/{parser-GDLKUBTO.js → parser-QIPDBT5M.js} +2 -2
  198. package/dist/{parser-BT4NI6JY.js → parser-RNBDDEGL.js} +3 -3
  199. package/dist/{parser-MA7L3XND.js → parser-RSWZGQA7.js} +6 -6
  200. package/dist/{parser-K2DI26SC.js → parser-SGX2PVR5.js} +2 -2
  201. package/dist/{parser-KKF6Y5MM.js → parser-SJUEFKNM.js} +4 -3
  202. package/dist/{parser-3QIFY5IN.js → parser-UMNBPXG2.js} +2 -2
  203. package/dist/{parser-F7NDRPMA.js → parser-WE4VSBBY.js} +3 -3
  204. package/dist/{parser-4Y6PODW6.js → parser-WKEYS7N3.js} +3 -3
  205. package/dist/{parser-KLCSFQ3J.js → parser-WPXUUNA2.js} +3 -3
  206. package/dist/{parser-LTRQASGB.js → parser-XP3RCOTN.js} +3 -3
  207. package/dist/{parser-2IKPQVKX.js → parser-YV4RBHG7.js} +3 -3
  208. package/dist/{parser-3LT3ZUUC.js → parser-YZ3J542U.js} +2 -2
  209. package/dist/{redraw-AHW7EUUF.js → redraw-BZ4GI6IC.js} +6 -4
  210. package/dist/{redraw-STZ4WJAI.js → redraw-LEOXS7C6.js} +3 -3
  211. package/dist/{renderer-IGSHD3OT.js → renderer-2V5NVI3V.js} +16 -16
  212. package/dist/renderer-4PKYVOYL.js +39 -0
  213. package/dist/{renderer-IVHD7ENY.js → renderer-66SCERH7.js} +14 -12
  214. package/dist/renderer-6IAXRZLK.js +85 -0
  215. package/dist/{renderer-XCLARXCK.js → renderer-6O5SV5YE.js} +10 -10
  216. package/dist/{renderer-IXBOT6DU.js → renderer-7OXMSF4R.js} +4 -4
  217. package/dist/{renderer-AM7P4LN7.js → renderer-A36NL2SS.js} +8 -8
  218. package/dist/{renderer-ACQQ2JXA.js → renderer-ASPBBACI.js} +13 -11
  219. package/dist/{renderer-W4MUMXJE.js → renderer-BXVTYE27.js} +7 -6
  220. package/dist/renderer-CC6O6GQK.js +18 -0
  221. package/dist/{renderer-Y47EM337.js → renderer-CNDB4JTZ.js} +17 -17
  222. package/dist/renderer-COV2DXTM.js +41 -0
  223. package/dist/renderer-DXCATVLO.js +30 -0
  224. package/dist/{renderer-JYHA6R2D.js → renderer-E5E3OJ42.js} +12 -11
  225. package/dist/{renderer-DAZWHNLI.js → renderer-E7LC7HCU.js} +5 -5
  226. package/dist/{renderer-RUSQJFFC.js → renderer-F3JYZERE.js} +4 -4
  227. package/dist/{renderer-7OGGV327.js → renderer-FAFSRFGR.js} +9 -9
  228. package/dist/renderer-HIB6LZWZ.js +26 -0
  229. package/dist/renderer-HLDRRFZB.js +28 -0
  230. package/dist/renderer-INQMQPNN.js +22 -0
  231. package/dist/renderer-ITJ67HXO.js +27 -0
  232. package/dist/{renderer-UTEEJDGB.js → renderer-JLOKFKOZ.js} +14 -13
  233. package/dist/{renderer-2LYX6NHN.js → renderer-KOPJ76GS.js} +10 -10
  234. package/dist/{renderer-MWZC7TMD.js → renderer-M2467III.js} +14 -13
  235. package/dist/{renderer-HX6ICPDX.js → renderer-MYKL6VG6.js} +6 -6
  236. package/dist/{renderer-BXD5KVSR.js → renderer-S6L3JR6C.js} +11 -11
  237. package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
  238. package/dist/renderer-TCTZZ5Y6.js +32 -0
  239. package/dist/{renderer-QTPWRRJ7.js → renderer-UIHCYXBY.js} +12 -12
  240. package/dist/{renderer-36446HSH.js → renderer-WIBVOPRC.js} +6 -4
  241. package/dist/{renderer-2QPHDBZY.js → renderer-XMJ6XZGL.js} +12 -11
  242. package/dist/{renderer-TINHO2IO.js → renderer-ZTHXOBXW.js} +8 -8
  243. package/dist/{renderer-radial-WFUX3Z3C.js → renderer-radial-FC25BDCZ.js} +8 -8
  244. package/dist/{state-parser-PMNHLHLE.js → state-parser-2PQRH5JE.js} +6 -6
  245. package/dist/state-renderer-YP6HWLJR.js +43 -0
  246. package/dist/{themes-DzIH3Hjv.d.ts → themes-DoLdhUXV.d.ts} +1 -1
  247. package/docs/ai-integration.md +4 -4
  248. package/docs/language-reference.md +154 -104
  249. package/gallery/fixtures/swot-relabel.dgmo +19 -0
  250. package/gallery/fixtures/swot-tags.dgmo +16 -0
  251. package/gallery/fixtures/swot.dgmo +13 -0
  252. package/gallery/fixtures/whiteboard.dgmo +1 -0
  253. package/package.json +1 -1
  254. package/dist/chunk-6BQSDF77.js +0 -734
  255. package/dist/chunk-NWSPPGIE.js +0 -60
  256. package/dist/chunk-R2K5L4UA.js +0 -49
  257. package/dist/chunk-VBMRZCMQ.js +0 -1465
  258. package/dist/chunk-WZBZXZ6T.js +0 -636
  259. package/dist/collapse-TCVK3RPO.js +0 -8
  260. package/dist/dgmo-router-6YLKM6WU.js +0 -101
  261. package/dist/dimensions-DS6FWLRY.js +0 -21
  262. package/dist/layout-D4L44NRG.js +0 -11
  263. package/dist/layout-MXHR3P35.js +0 -15
  264. package/dist/layout-ND26WVX2.js +0 -15
  265. package/dist/layout-VDCJOZSH.js +0 -11
  266. package/dist/parser-PEZ7RN43.js +0 -14
  267. package/dist/parser-YHDGKPZI.js +0 -14
  268. package/dist/renderer-4VGO27EE.js +0 -41
  269. package/dist/renderer-6BDK47V6.js +0 -30
  270. package/dist/renderer-ISQJ2ELA.js +0 -25
  271. package/dist/renderer-KJ3V5BYP.js +0 -26
  272. package/dist/renderer-O6RP52CQ.js +0 -22
  273. package/dist/renderer-P3WR7TKD.js +0 -39
  274. package/dist/renderer-UGW4N2W5.js +0 -28
  275. package/dist/renderer-WPN2SXGT.js +0 -29
  276. package/dist/renderer-XDX6S7OV.js +0 -30
  277. package/dist/renderer-ZV6KCLCL.js +0 -85
  278. package/dist/state-renderer-JQ5DS66J.js +0 -42
  279. package/gallery/fixtures/sketch.dgmo +0 -22
@@ -3,18 +3,18 @@ import {
3
3
  } from "./chunk-6OSGENN5.js";
4
4
  import {
5
5
  parseDgmoChartType
6
- } from "./chunk-BTP2BMWN.js";
6
+ } from "./chunk-XEMCNQQW.js";
7
7
  import {
8
8
  FONT_FAMILY,
9
9
  MONO_FAMILY
10
10
  } from "./chunk-ICLB27PZ.js";
11
11
  import {
12
12
  chartTypes
13
- } from "./chunk-TIIZIAGS.js";
13
+ } from "./chunk-RFGQDIOI.js";
14
14
  import {
15
15
  measureText,
16
16
  truncateText
17
- } from "./chunk-KAO7JL4I.js";
17
+ } from "./chunk-PU5X3P3T.js";
18
18
 
19
19
  // src/error-card.ts
20
20
  var DOCS_BASE = "https://diagrammo.app/docs";
@@ -1,26 +1,47 @@
1
1
  import {
2
2
  paintRootBackground
3
- } from "./chunk-TOHTKLKE.js";
3
+ } from "./chunk-Q5Q5JLRT.js";
4
4
  import {
5
5
  serializeSvg
6
- } from "./chunk-CYRB2JTN.js";
6
+ } from "./chunk-YLKPRT6U.js";
7
7
  import {
8
8
  TITLE_FONT_SIZE,
9
9
  TITLE_FONT_WEIGHT,
10
+ TITLE_LINE_HEIGHT,
11
+ TITLE_SIDE_PAD,
10
12
  TITLE_Y
11
- } from "./chunk-VLC6WNRD.js";
13
+ } from "./chunk-GULGSH2Z.js";
12
14
  import {
13
15
  FONT_FAMILY
14
16
  } from "./chunk-ICLB27PZ.js";
17
+ import {
18
+ fitWrapped,
19
+ measureText,
20
+ wrapTextToWidth
21
+ } from "./chunk-PU5X3P3T.js";
15
22
  import {
16
23
  getSeriesColors
17
24
  } from "./chunk-6GXLAKUH.js";
18
25
 
19
26
  // src/utils/d3-helpers.ts
20
27
  import * as d3Selection from "d3-selection";
21
- function renderChartTitle(svg, title, titleLineNumber, width, textColor, onClickItem) {
22
- if (!title) return;
23
- const titleEl = svg.append("text").attr("class", "chart-title").attr("x", width / 2).attr("y", TITLE_Y).attr("text-anchor", "middle").attr("fill", textColor).attr("font-size", TITLE_FONT_SIZE).attr("font-weight", TITLE_FONT_WEIGHT).style("cursor", onClickItem && titleLineNumber ? "pointer" : "default").text(title);
28
+ function renderChartTitle(svg, title, titleLineNumber, width, textColor, onClickItem, maxLines = 1) {
29
+ if (!title) return 0;
30
+ const maxWidth = Math.max(0, width - 2 * TITLE_SIDE_PAD);
31
+ const fits = measureText(title, TITLE_FONT_SIZE, { bold: true }) <= maxWidth;
32
+ const lineCap = Math.max(1, maxLines);
33
+ const lines = fits ? [title] : fitWrapped(title, maxWidth, TITLE_FONT_SIZE, TITLE_FONT_SIZE, lineCap).lines;
34
+ const truncated = !fits && wrapTextToWidth(title, TITLE_FONT_SIZE, maxWidth, {
35
+ bold: true,
36
+ hardBreak: true
37
+ }).length > lineCap;
38
+ const titleEl = svg.append("text").attr("class", "chart-title").attr("x", width / 2).attr("y", TITLE_Y).attr("text-anchor", "middle").attr("fill", textColor).attr("font-size", TITLE_FONT_SIZE).attr("font-weight", TITLE_FONT_WEIGHT).style("cursor", onClickItem && titleLineNumber ? "pointer" : "default");
39
+ if (lines.length === 1) titleEl.text(lines[0]);
40
+ else
41
+ lines.forEach((line, i) => {
42
+ titleEl.append("tspan").attr("x", width / 2).attr("dy", i === 0 ? 0 : TITLE_LINE_HEIGHT).text(line);
43
+ });
44
+ if (truncated) titleEl.append("title").text(title);
24
45
  if (titleLineNumber) {
25
46
  titleEl.attr("data-line-number", titleLineNumber);
26
47
  if (onClickItem) {
@@ -31,6 +52,11 @@ function renderChartTitle(svg, title, titleLineNumber, width, textColor, onClick
31
52
  });
32
53
  }
33
54
  }
55
+ return (lines.length - 1) * TITLE_LINE_HEIGHT;
56
+ }
57
+ function drawnTitleExtraHeight(svg) {
58
+ const lines = svg.select("text.chart-title").selectAll("tspan").size();
59
+ return lines > 1 ? (lines - 1) * TITLE_LINE_HEIGHT : 0;
34
60
  }
35
61
  function initD3Chart(container, palette, exportDims) {
36
62
  d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
@@ -125,6 +151,7 @@ function finalizeSvgExport(container, theme, palette) {
125
151
 
126
152
  export {
127
153
  renderChartTitle,
154
+ drawnTitleExtraHeight,
128
155
  initD3Chart,
129
156
  createTooltip,
130
157
  showTooltip,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LEGEND_PILL_TOGGLE_CLASS
3
- } from "./chunk-UOCWYLYT.js";
3
+ } from "./chunk-OZXKW5NA.js";
4
4
 
5
5
  // src/utils/svg-serialize.ts
6
6
  var BARE_AMPERSAND = /&(?![a-zA-Z][a-zA-Z0-9]*;|#\d+;|#[xX][0-9a-fA-F]+;)/g;
@@ -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/label-layout.ts
6
6
  function rectsOverlap(a, b) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  measureText
3
- } from "./chunk-KAO7JL4I.js";
3
+ } from "./chunk-PU5X3P3T.js";
4
4
  import {
5
5
  makeDgmoError
6
6
  } from "./chunk-BYU54C3S.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-EQJ3U5EW.js";
4
4
  import {
5
5
  layoutInfra
6
- } from "./chunk-5P2L5QXE.js";
6
+ } from "./chunk-FZVCS2XY.js";
7
7
  import {
8
8
  FULL_TEXT_ATTR,
9
9
  fullNodeText
@@ -13,39 +13,41 @@ import {
13
13
  } from "./chunk-XBJJP2HN.js";
14
14
  import {
15
15
  placeEdgeLabels
16
- } from "./chunk-IN7XI6NO.js";
16
+ } from "./chunk-4NMRS6HW.js";
17
17
  import {
18
18
  parseInfra
19
- } from "./chunk-UXNA2H2V.js";
19
+ } from "./chunk-3C4OXVZJ.js";
20
20
  import {
21
21
  ScaleContext
22
22
  } from "./chunk-24YPR5EH.js";
23
+ import {
24
+ renderCollapseBar
25
+ } from "./chunk-LRTSTDJ6.js";
23
26
  import {
24
27
  layoutInlineHeader
25
- } from "./chunk-UIEKW4SG.js";
28
+ } from "./chunk-REKLKGR6.js";
26
29
  import {
27
30
  TITLE_FONT_SIZE,
28
31
  TITLE_FONT_WEIGHT,
29
32
  TITLE_OFFSET,
30
33
  TITLE_Y
31
- } from "./chunk-VLC6WNRD.js";
34
+ } from "./chunk-GULGSH2Z.js";
32
35
  import {
33
36
  ARROWHEAD_HEIGHT,
34
37
  ARROWHEAD_WIDTH,
35
38
  COLLAPSE_BAR_HEIGHT,
36
- COLLAPSE_BAR_INSET,
37
39
  EDGE_DASH,
38
40
  EDGE_LABEL_KNOCKOUT_OPACITY,
39
41
  EDGE_STROKE_WIDTH,
40
42
  NODE_STROKE_WIDTH
41
- } from "./chunk-XCKNFFKM.js";
43
+ } from "./chunk-WH6E6SHC.js";
42
44
  import {
43
45
  renderIntegratedLegend
44
- } from "./chunk-NMS5XSLX.js";
46
+ } from "./chunk-DFEVFLEG.js";
45
47
  import {
46
48
  getLegendExtent,
47
49
  getMaxLegendReservedHeight
48
- } from "./chunk-JILEYZ2V.js";
50
+ } from "./chunk-VVL2KKG4.js";
49
51
  import {
50
52
  preprocessDescriptionLine
51
53
  } from "./chunk-IYULMRBE.js";
@@ -57,11 +59,11 @@ import {
57
59
  } from "./chunk-ICLB27PZ.js";
58
60
  import {
59
61
  tagAttrKey
60
- } from "./chunk-4SACN2C5.js";
62
+ } from "./chunk-KW3CC7SB.js";
61
63
  import {
62
64
  legendInlineRequested,
63
65
  legendSuppressed
64
- } from "./chunk-TIIZIAGS.js";
66
+ } from "./chunk-RFGQDIOI.js";
65
67
  import {
66
68
  LEGEND_CAPSULE_PAD,
67
69
  LEGEND_DOT_R,
@@ -72,12 +74,12 @@ import {
72
74
  LEGEND_PILL_FONT_SIZE,
73
75
  LEGEND_PILL_PAD,
74
76
  measureLegendText
75
- } from "./chunk-UOCWYLYT.js";
77
+ } from "./chunk-OZXKW5NA.js";
76
78
  import {
77
79
  CHAR_WIDTH_RATIO,
78
80
  measureText,
79
81
  truncateText
80
- } from "./chunk-KAO7JL4I.js";
82
+ } from "./chunk-PU5X3P3T.js";
81
83
  import {
82
84
  contrastText,
83
85
  groupFill,
@@ -172,7 +174,7 @@ function buildScaledConstants(ctx) {
172
174
  sNodeSeparatorGap: ctx.structural(NODE_SEPARATOR_GAP),
173
175
  sNodePadBottom: ctx.structural(NODE_PAD_BOTTOM),
174
176
  sCollapseBarHeight: ctx.structural(COLLAPSE_BAR_HEIGHT),
175
- sCollapseBarInset: ctx.structural(COLLAPSE_BAR_INSET),
177
+ scale: ctx,
176
178
  sParticleR: ctx.structural(PARTICLE_R),
177
179
  sRejectParticleR: ctx.structural(PARTICLE_R),
178
180
  sRejectDropDistance: ctx.structural(REJECT_DROP_DISTANCE),
@@ -907,12 +909,24 @@ function resolveGroupTagFill(metadata, activeGroup, tagGroups, palette) {
907
909
  }
908
910
  function renderGroups(svg, groups, palette, isDark, sc = buildScaledConstants(ScaleContext.identity()), activeGroup, tagGroups) {
909
911
  for (const group of groups) {
910
- const g = svg.append("g").attr("class", "infra-group").attr("data-line-number", group.lineNumber).attr("data-node-toggle", group.id).style("cursor", "pointer");
912
+ const g = svg.append("g").attr("class", "infra-group").attr("data-line-number", group.lineNumber).attr("data-node-toggle", group.id).attr("role", "button").attr("aria-expanded", "true").attr("aria-label", group.label).style("cursor", "pointer");
911
913
  const tagColor = activeGroup && tagGroups ? resolveGroupTagFill(group.metadata, activeGroup, tagGroups, palette) : null;
912
914
  const frameFill = groupFill(palette, isDark, tagColor ?? void 0);
913
915
  const frameStroke = groupStroke(palette, tagColor ?? void 0);
914
916
  g.append("rect").attr("x", group.x).attr("y", group.y).attr("width", group.width).attr("height", group.height).attr("rx", 6).attr("fill", frameFill).attr("stroke", frameStroke).attr("stroke-opacity", tagColor ? 1 : 0.35).attr("stroke-width", 1);
915
917
  g.append("text").attr("x", group.x + group.width / 2).attr("y", group.y + 16).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sc.sGroupLabelFontSize).attr("font-weight", "bold").attr("fill", palette.text).text(group.label);
918
+ renderCollapseBar(g, {
919
+ expanded: true,
920
+ x: group.x,
921
+ y: group.y,
922
+ width: group.width,
923
+ height: group.height,
924
+ rx: 6,
925
+ fill: frameStroke,
926
+ clipId: `clip-group-${group.id.replace(/[^A-Za-z0-9_-]/g, "")}`,
927
+ prefix: "infra",
928
+ scale: sc.scale
929
+ });
916
930
  const gi = typeof group.instances === "number" ? group.instances : typeof group.instances === "string" ? parseInt(String(group.instances), 10) || 0 : 0;
917
931
  if (gi > 1) {
918
932
  g.append("text").attr("x", group.x + group.width - 8).attr("y", group.y + 16).attr("text-anchor", "end").attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("fill", palette.textMuted).text(`${gi}x`);
@@ -1107,7 +1121,7 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1107
1121
  }
1108
1122
  const g = svg.append("g").attr("class", cls).attr("data-line-number", node.lineNumber).attr("data-infra-node", node.id).attr("data-node-collapse", node.id).style("cursor", "pointer");
1109
1123
  if (node.id.startsWith("[")) {
1110
- g.attr("data-node-toggle", node.id);
1124
+ g.attr("data-node-toggle", node.id).attr("role", "button").attr("aria-expanded", "false").attr("aria-label", node.label);
1111
1125
  }
1112
1126
  for (const [tagKey, tagVal] of Object.entries(node.tags)) {
1113
1127
  g.attr(`data-tag-${tagAttrKey(tagKey)}`, tagVal.toLowerCase());
@@ -1290,9 +1304,17 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1290
1304
  }
1291
1305
  }
1292
1306
  if (isCollapsedGroup) {
1293
- const clipId = `clip-${node.id.replace(/[[\]\s]/g, "")}`;
1294
- g.append("clipPath").attr("id", clipId).append("rect").attr("x", x).attr("y", y).attr("width", node.width).attr("height", node.height).attr("rx", sc.sNodeBorderRadius);
1295
- g.append("rect").attr("x", x + sc.sCollapseBarInset).attr("y", y + node.height - sc.sCollapseBarHeight).attr("width", node.width - sc.sCollapseBarInset * 2).attr("height", sc.sCollapseBarHeight).attr("fill", stroke).attr("clip-path", `url(#${clipId})`).attr("class", "infra-collapse-bar");
1307
+ renderCollapseBar(g, {
1308
+ x,
1309
+ y,
1310
+ width: node.width,
1311
+ height: node.height,
1312
+ rx: sc.sNodeBorderRadius,
1313
+ fill: stroke,
1314
+ clipId: `clip-${node.id.replace(/[[\]\s]/g, "")}`,
1315
+ prefix: "infra",
1316
+ scale: sc.scale
1317
+ });
1296
1318
  }
1297
1319
  }
1298
1320
  }
@@ -5,7 +5,7 @@ import {
5
5
  normalizeNumericToken,
6
6
  parseFirstLine,
7
7
  tryParseSharedOption
8
- } from "./chunk-TIIZIAGS.js";
8
+ } from "./chunk-RFGQDIOI.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -1,20 +1,22 @@
1
- import {
2
- renderNodeCard
3
- } from "./chunk-R2K5L4UA.js";
4
1
  import {
5
2
  formatDateLabel
6
- } from "./chunk-TASRGDYP.js";
3
+ } from "./chunk-EEIGHOJR.js";
7
4
  import {
8
5
  parseTimelineDate
9
- } from "./chunk-BQO24BDM.js";
6
+ } from "./chunk-O3HRF25Z.js";
7
+ import {
8
+ collapseBarHeight,
9
+ renderCollapseBar,
10
+ renderNodeCard
11
+ } from "./chunk-LRTSTDJ6.js";
10
12
  import {
11
13
  layoutInlineHeader
12
- } from "./chunk-UIEKW4SG.js";
14
+ } from "./chunk-REKLKGR6.js";
13
15
  import {
14
16
  TITLE_FONT_SIZE,
15
17
  TITLE_FONT_WEIGHT,
16
18
  TITLE_Y
17
- } from "./chunk-VLC6WNRD.js";
19
+ } from "./chunk-GULGSH2Z.js";
18
20
  import {
19
21
  CARD_RADIUS,
20
22
  HAIRLINE_DASH,
@@ -22,13 +24,13 @@ import {
22
24
  LABEL_FONT_SIZE,
23
25
  NODE_STROKE_WIDTH,
24
26
  SEPARATOR_GAP
25
- } from "./chunk-XCKNFFKM.js";
27
+ } from "./chunk-WH6E6SHC.js";
26
28
  import {
27
29
  renderIntegratedLegend
28
- } from "./chunk-NMS5XSLX.js";
30
+ } from "./chunk-DFEVFLEG.js";
29
31
  import {
30
32
  getLegendExtent
31
- } from "./chunk-JILEYZ2V.js";
33
+ } from "./chunk-VVL2KKG4.js";
32
34
  import {
33
35
  wrapDescriptionLines
34
36
  } from "./chunk-7WEYXYLC.js";
@@ -43,11 +45,11 @@ import {
43
45
  resolveActiveTagGroup,
44
46
  resolveTagColor,
45
47
  tagAttrKey
46
- } from "./chunk-4SACN2C5.js";
48
+ } from "./chunk-KW3CC7SB.js";
47
49
  import {
48
50
  CHAR_WIDTH_RATIO,
49
51
  wrapTextToWidth
50
- } from "./chunk-KAO7JL4I.js";
52
+ } from "./chunk-PU5X3P3T.js";
51
53
  import {
52
54
  contrastText,
53
55
  getSeriesColors,
@@ -782,7 +784,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
782
784
  const cardG = svg.append("g").attr("class", "dgmo-event-card").attr("transform", `translate(${left}, ${top})`).attr("data-line-number", p.lineNumber);
783
785
  applyHoverHooks(cardG, p);
784
786
  if (p.kind === "era") {
785
- cardG.attr("data-era", p.era.name).attr("data-era-collapsed", "true");
787
+ cardG.attr("data-era", p.era.name).attr("data-era-collapsed", "true").attr("data-group-toggle", p.era.name).attr("role", "button").attr("aria-expanded", "false").attr("aria-label", p.era.name);
786
788
  }
787
789
  if (onClickItem) {
788
790
  const ln = p.lineNumber;
@@ -844,6 +846,16 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
844
846
  p.bulletMeta
845
847
  );
846
848
  }
849
+ if (p.kind === "era") {
850
+ renderCollapseBar(cardG, {
851
+ width: CARD_W,
852
+ height: p.cardH,
853
+ rx: SHELF_EDGE,
854
+ fill: p.color,
855
+ clipId: `dgmo-evt-era-clip-${shelfClipSeq++}`,
856
+ prefix: "evt"
857
+ });
858
+ }
847
859
  } else {
848
860
  renderNodeCard(cardG, {
849
861
  width: CARD_W,
@@ -858,6 +870,16 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
858
870
  labelFontSize: LABEL_FONT_SIZE,
859
871
  headerHeight: p.headerH
860
872
  });
873
+ if (p.kind === "era") {
874
+ renderCollapseBar(cardG, {
875
+ width: CARD_W,
876
+ height: p.cardH,
877
+ rx: CARD_RADIUS,
878
+ fill: p.color,
879
+ clipId: `dgmo-evt-era-clip-${shelfClipSeq++}`,
880
+ prefix: "evt"
881
+ });
882
+ }
861
883
  if (dateStr) {
862
884
  cardG.append("text").attr("x", CARD_W / 2).attr("y", p.headerH + DATE_SUBTITLE_FONT + 1).attr("text-anchor", "middle").attr("fill", mix(p.titleColor, p.cardFill, 60)).attr("font-family", FONT_FAMILY).attr("font-size", DATE_SUBTITLE_FONT).attr("font-weight", "bold").text(dateStr);
863
885
  }
@@ -911,12 +933,24 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
911
933
  const col = neutral ? palette.text : resolveColor(r.era.color, palette) ?? palette.text;
912
934
  const op = neutral ? 0.5 : 0.85;
913
935
  const y = eraBaseY;
914
- const eg = svg.append("g").attr("class", "dgmo-event-era").attr("data-era", r.era.name).attr("data-era-collapsed", "false").attr("data-line-number", r.era.lineNumber);
936
+ const eg = svg.append("g").attr("class", "dgmo-event-era").attr("data-era", r.era.name).attr("data-era-collapsed", "false").attr("data-line-number", r.era.lineNumber).attr("data-group-toggle", r.era.name).attr("role", "button").attr("aria-expanded", "true").attr("aria-label", r.era.name);
915
937
  eg.append("path").attr(
916
938
  "d",
917
939
  `M${x0},${y + ERA_BRACKET_CAP * cap} L${x0},${y} L${x1},${y} L${x1},${y + ERA_BRACKET_CAP * cap}`
918
940
  ).attr("fill", "none").attr("stroke", col).attr("stroke-width", 1.5).attr("stroke-linecap", "round").attr("stroke-linejoin", "round").attr("stroke-opacity", op);
919
941
  eg.append("text").attr("x", (r.firstX + r.lastX) / 2).attr("y", eraSide === "above" ? y - 6 : y + ERA_LABEL_FONT + 4).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", ERA_LABEL_FONT).attr("font-weight", "bold").attr("fill", col).attr("fill-opacity", neutral ? 0.85 : 1).text(r.era.name);
942
+ const barH = collapseBarHeight();
943
+ renderCollapseBar(eg, {
944
+ expanded: true,
945
+ x: x0,
946
+ y: cap > 0 ? y : y - barH,
947
+ width: x1 - x0,
948
+ height: barH,
949
+ rx: 0,
950
+ fill: col,
951
+ clipId: `dgmo-evt-era-preview-clip-${r.era.lineNumber}`,
952
+ prefix: "evt"
953
+ });
920
954
  if (onClickItem) {
921
955
  const ln = r.era.lineNumber;
922
956
  eg.style("cursor", "pointer").on("click", () => onClickItem(ln));
@@ -4,15 +4,15 @@ import {
4
4
  META_FONT_SIZE,
5
5
  META_LINE_HEIGHT,
6
6
  SEPARATOR_GAP
7
- } from "./chunk-XCKNFFKM.js";
7
+ } from "./chunk-WH6E6SHC.js";
8
8
  import {
9
9
  injectDefaultTagMetadata,
10
10
  resolveTagColor,
11
11
  tagAttrKey
12
- } from "./chunk-4SACN2C5.js";
12
+ } from "./chunk-KW3CC7SB.js";
13
13
  import {
14
14
  legendSuppressed
15
- } from "./chunk-TIIZIAGS.js";
15
+ } from "./chunk-RFGQDIOI.js";
16
16
  import {
17
17
  LEGEND_CAPSULE_PAD,
18
18
  LEGEND_DOT_R,
@@ -26,10 +26,10 @@ import {
26
26
  LEGEND_PILL_FONT_SIZE,
27
27
  LEGEND_PILL_PAD,
28
28
  measureLegendText
29
- } from "./chunk-UOCWYLYT.js";
29
+ } from "./chunk-OZXKW5NA.js";
30
30
  import {
31
31
  measureText
32
- } from "./chunk-KAO7JL4I.js";
32
+ } from "./chunk-PU5X3P3T.js";
33
33
 
34
34
  // src/org/layout.ts
35
35
  import { hierarchy, tree } from "d3-hierarchy";
@@ -0,0 +1,31 @@
1
+ import {
2
+ applyCollapseProjection,
3
+ collapsedGroupId,
4
+ collapsedSequenceNoteLinesFromSource,
5
+ collapsedSequenceSectionLinesFromSource,
6
+ isCollapsibleGroup,
7
+ isFoldableSequenceNote,
8
+ unionCollapsedSequenceNotes
9
+ } from "./chunk-R4U7IIRX.js";
10
+ import "./chunk-ROH4LYBL.js";
11
+ import "./chunk-CYTFO2LF.js";
12
+ import "./chunk-C3Z4DX3V.js";
13
+ import "./chunk-FMAVHTYB.js";
14
+ import "./chunk-N7VMGZCU.js";
15
+ import "./chunk-NOTA6TEI.js";
16
+ import "./chunk-3UR4F7FE.js";
17
+ import "./chunk-KW3CC7SB.js";
18
+ import "./chunk-RFGQDIOI.js";
19
+ import "./chunk-6GXLAKUH.js";
20
+ import "./chunk-3J7O3CU6.js";
21
+ import "./chunk-BYU54C3S.js";
22
+ import "./chunk-YLJ4XMA6.js";
23
+ export {
24
+ applyCollapseProjection,
25
+ collapsedGroupId,
26
+ collapsedSequenceNoteLinesFromSource,
27
+ collapsedSequenceSectionLinesFromSource,
28
+ isCollapsibleGroup,
29
+ isFoldableSequenceNote,
30
+ unionCollapsedSequenceNotes
31
+ };
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  collapseMindmapTree
3
- } from "./chunk-UZ7EZW3B.js";
3
+ } from "./chunk-TO53KK2P.js";
4
4
  import "./chunk-BS7SV7C3.js";
5
+ import "./chunk-35A3J4Z5.js";
5
6
  import "./chunk-YLJ4XMA6.js";
6
7
  export {
7
8
  collapseMindmapTree
@@ -0,0 +1,7 @@
1
+ import {
2
+ collapsedJourneyPhasesFromSource
3
+ } from "./chunk-NTDWVTEY.js";
4
+ import "./chunk-YLJ4XMA6.js";
5
+ export {
6
+ collapsedJourneyPhasesFromSource
7
+ };
@@ -0,0 +1,11 @@
1
+ import {
2
+ collapseBoxesAndLines,
3
+ collapsedBLGroupsFromSource,
4
+ unionCollapsedBLGroups
5
+ } from "./chunk-G24NSISJ.js";
6
+ import "./chunk-YLJ4XMA6.js";
7
+ export {
8
+ collapseBoxesAndLines,
9
+ collapsedBLGroupsFromSource,
10
+ unionCollapsedBLGroups
11
+ };
@@ -0,0 +1,10 @@
1
+ import {
2
+ collapseSitemapTree,
3
+ unionCollapsedSitemapNodes
4
+ } from "./chunk-A3V72YIL.js";
5
+ import "./chunk-BS7SV7C3.js";
6
+ import "./chunk-YLJ4XMA6.js";
7
+ export {
8
+ collapseSitemapTree,
9
+ unionCollapsedSitemapNodes
10
+ };
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  GROUP_ONLY_METADATA,
3
3
  STATE_KEYWORDS
4
- } from "./chunk-GI5R5B3S.js";
4
+ } from "./chunk-VVZDBUHA.js";
5
5
  import {
6
6
  ALL_MARKERS
7
7
  } from "./chunk-4WW3SGMH.js";
8
8
  import {
9
9
  BUILT_IN_PALETTE_IDS
10
10
  } from "./chunk-3UR4F7FE.js";
11
- import "./chunk-4SACN2C5.js";
11
+ import "./chunk-KW3CC7SB.js";
12
12
  import {
13
13
  ALL_CHART_TYPES,
14
14
  chartTypes
15
- } from "./chunk-TIIZIAGS.js";
15
+ } from "./chunk-RFGQDIOI.js";
16
16
  import "./chunk-3J7O3CU6.js";
17
17
  import "./chunk-BYU54C3S.js";
18
18
  import "./chunk-YLJ4XMA6.js";
@@ -326,6 +326,25 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
326
326
  "active-tag": { description: "Active tag group name" }
327
327
  })
328
328
  ],
329
+ [
330
+ "swot",
331
+ withGlobals({
332
+ "no-legend": { description: "Hide the legend" },
333
+ "active-tag": { description: "Active tag group name" },
334
+ "x-label": {
335
+ description: "Column labels (default: Helpful, Harmful)"
336
+ },
337
+ "y-label": {
338
+ description: "Row labels (default: Internal, External)"
339
+ },
340
+ "no-axes": {
341
+ description: "Hide the axis labels; wins over x-label and y-label"
342
+ },
343
+ "no-tint-items": {
344
+ description: "Don't tint a tagged item's row in its tag colour"
345
+ }
346
+ })
347
+ ],
329
348
  // RACI / RASCI / DACI — one chart type (`raci`); the variant (RACI, RASCI,
330
349
  // or DACI) is inferred from the markers used (D → DACI, S → RASCI).
331
350
  [
@@ -730,17 +749,6 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
730
749
  seeded: { description: "Force seeded mode (full skeleton from day 0)" }
731
750
  })
732
751
  ],
733
- [
734
- "sketch",
735
- // GUI-first canvas: shapes carry their own metadata (shape:/at:); the only
736
- // directives are legend/fill/description toggles.
737
- withGlobals({
738
- "no-legend": { description: "Hide the tag legend" },
739
- "no-descriptions": {
740
- description: "Hide card metadata rows \u2014 the name fills each card"
741
- }
742
- })
743
- ],
744
752
  [
745
753
  "whiteboard",
746
754
  // Canvas-authored free placement: every line is an element; the only
@@ -815,7 +823,6 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
815
823
  ]
816
824
  ]);
817
825
  var FILL_FAMILY_CAPABLE = /* @__PURE__ */ new Set([
818
- "sketch",
819
826
  "flowchart",
820
827
  "state",
821
828
  "sequence",
@@ -892,13 +899,13 @@ var STRUCTURAL_KEYWORDS = /* @__PURE__ */ new Map([
892
899
  ["org", ["tag"]],
893
900
  ["family", ["tag"]],
894
901
  ["kanban", ["tag"]],
902
+ ["swot", ["tag", "strengths", "weaknesses", "opportunities", "threats"]],
895
903
  ["sitemap", ["tag"]],
896
904
  ["infra", ["tag"]],
897
905
  ["pert", ["tag"]],
898
906
  ["mindmap", ["tag"]],
899
907
  ["treemap", ["tag"]],
900
908
  ["block", ["tag"]],
901
- ["sketch", ["tag"]],
902
909
  [
903
910
  "whiteboard",
904
911
  [
@@ -906,6 +913,7 @@ var STRUCTURAL_KEYWORDS = /* @__PURE__ */ new Map([
906
913
  "ellipse",
907
914
  "database",
908
915
  "queue",
916
+ "file",
909
917
  "note",
910
918
  "arrow",
911
919
  "line",
@@ -989,15 +997,6 @@ var REFERENCE_GRAMMAR = /* @__PURE__ */ new Map([
989
997
  "boxes-and-lines",
990
998
  { hasReferenceGrammar: true, referenceOperators: ["->", "<->"] }
991
999
  ],
992
- // Sketch edges reference aliases / unambiguous labels (spec §31.4);
993
- // includes the net-new headless forms.
994
- [
995
- "sketch",
996
- {
997
- hasReferenceGrammar: true,
998
- referenceOperators: ["->", "<->", "~>", "<~>", "--", "~~"]
999
- }
1000
- ],
1001
1000
  // Venn references prior sets via the `+` intersection operator (not an arrow).
1002
1001
  ["venn", { hasReferenceGrammar: true, referenceOperators: ["+"] }],
1003
1002
  // Family unions reference a prior/again-named person via the `+` couple operator.
@@ -1048,19 +1047,6 @@ var PIPE_METADATA = /* @__PURE__ */ new Map([
1048
1047
  }
1049
1048
  }
1050
1049
  ],
1051
- [
1052
- "sketch",
1053
- {
1054
- node: {
1055
- at: {
1056
- description: "Half-slot position `at: C R` (integers; omit to flow-place)"
1057
- },
1058
- collapsed: {
1059
- description: "Bare flag on a [Box] line \u2014 start folded"
1060
- }
1061
- }
1062
- }
1063
- ],
1064
1050
  [
1065
1051
  "infra",
1066
1052
  {
@@ -1295,7 +1281,10 @@ var PIPE_METADATA = /* @__PURE__ */ new Map([
1295
1281
  {
1296
1282
  node: {
1297
1283
  description: { description: "Page description" },
1298
- status: { description: "Page status" }
1284
+ status: { description: "Page status" },
1285
+ collapsed: {
1286
+ description: "Legacy `collapsed: true` \u2014 canonical is the bare trailing `collapsed` flag on the line"
1287
+ }
1299
1288
  }
1300
1289
  }
1301
1290
  ],
package/dist/countdown.js CHANGED
@@ -217,7 +217,7 @@ function redrawIfStale(node, svg, now2, resolvedMs, tz) {
217
217
  }
218
218
  if (!svg.hasAttribute("data-dgmo-countdown-redraw")) return;
219
219
  redrawing.add(svg);
220
- void import("./redraw-AHW7EUUF.js").then((m) => {
220
+ void import("./redraw-BZ4GI6IC.js").then((m) => {
221
221
  m.redrawCountdown(svg, resolvedMs);
222
222
  redrawing.delete(svg);
223
223
  }).catch(() => {