@diagrammo/dgmo 0.94.0 → 0.96.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 (220) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +97 -570
  3. package/dist/advanced.js +176 -352
  4. package/dist/block.d.ts +6 -0
  5. package/dist/block.js +59 -57
  6. package/dist/{calculator-BNH3GSJE.js → calculator-GIB7POFX.js} +2 -2
  7. package/dist/{chart-meta-BbjsRY7o.d.ts → chart-meta-uImk4eTn.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +16 -16
  10. package/dist/{chart-types-Cppnp31G.d.ts → chart-types-CBVYiLqy.d.ts} +1 -5
  11. package/dist/{charts-d3-SZV2SFTM.js → charts-d3-IRP5VANE.js} +5 -5
  12. package/dist/{chunk-MLY5ALOV.js → chunk-2BYFNZVM.js} +2 -2
  13. package/dist/{chunk-OSSTOSXU.js → chunk-2M3K6GD2.js} +3 -6
  14. package/dist/{chunk-CDM6XMOT.js → chunk-34JOHSVE.js} +2 -2
  15. package/dist/chunk-35A3J4Z5.js +14 -0
  16. package/dist/{chunk-HI6R27YA.js → chunk-3W73ZP6W.js} +9 -4
  17. package/dist/{chunk-IHN6WDEY.js → chunk-4B45SNZH.js} +5 -5
  18. package/dist/{chunk-AULZD45V.js → chunk-5ARANBIE.js} +2 -2
  19. package/dist/{chunk-DDIOWNHS.js → chunk-5BG4OSWJ.js} +6 -6
  20. package/dist/{chunk-6JCTW74W.js → chunk-5G4DOOX2.js} +1 -1
  21. package/dist/{chunk-JT2BG7LM.js → chunk-5GU6C5WB.js} +3 -3
  22. package/dist/{chunk-EBIDNRSR.js → chunk-5H7SA5ZD.js} +1 -1
  23. package/dist/{chunk-CN4RDJDV.js → chunk-5LG526X7.js} +1 -1
  24. package/dist/{chunk-VDY2GR6U.js → chunk-67N26CER.js} +2 -2
  25. package/dist/{chunk-G3HZ4PGE.js → chunk-67RKJEKF.js} +6 -6
  26. package/dist/{chunk-D3K4U3ZM.js → chunk-6K2W3FH7.js} +8 -5
  27. package/dist/{chunk-C6G36F5S.js → chunk-7UWVHNPM.js} +4 -4
  28. package/dist/{chunk-FWVE373X.js → chunk-AQRSEQZV.js} +1 -1
  29. package/dist/{chunk-BQO24BDM.js → chunk-AUXUNV73.js} +1 -1
  30. package/dist/{chunk-3PP746YM.js → chunk-B2YVZ3QU.js} +1 -1
  31. package/dist/{chunk-QPQWY5RU.js → chunk-B5CEV7IR.js} +3 -3
  32. package/dist/{chunk-J7Q4AB23.js → chunk-B7BSRVNC.js} +2 -2
  33. package/dist/{chunk-IXHWS2HI.js → chunk-BD4O4D2A.js} +2 -2
  34. package/dist/{chunk-4TEPDQHJ.js → chunk-BUVLLK3D.js} +7 -7
  35. package/dist/{chunk-B25IWGDH.js → chunk-CD7VQCDL.js} +8 -8
  36. package/dist/{chunk-I37S3EZE.js → chunk-CP73WWLN.js} +371 -286
  37. package/dist/{chunk-GI5R5B3S.js → chunk-D7DGLJ7N.js} +2 -2
  38. package/dist/{chunk-3TWBMU7K.js → chunk-DKCVAQU3.js} +9 -9
  39. package/dist/{chunk-KBDMEOLI.js → chunk-DPNSDCR3.js} +1 -1
  40. package/dist/{chunk-BRGRIZQB.js → chunk-DWMQ24JR.js} +2 -2
  41. package/dist/{chunk-4XYZJTFO.js → chunk-EM5SA7NC.js} +11 -3
  42. package/dist/{chunk-AM42TLSZ.js → chunk-EMGNCG5C.js} +1 -1
  43. package/dist/{chunk-3KVUFHUJ.js → chunk-EPB3UEMD.js} +2 -2
  44. package/dist/{chunk-NXU4N5WT.js → chunk-EZ6BI5LL.js} +1 -1
  45. package/dist/{chunk-2ZW4NBYX.js → chunk-FBK32S4D.js} +1 -1
  46. package/dist/{chunk-2I4UQG7W.js → chunk-FHX373L5.js} +1 -1
  47. package/dist/{chunk-AQQUJEDN.js → chunk-FKJWZWNU.js} +1 -1
  48. package/dist/{chunk-TIIZIAGS.js → chunk-FUYEXLAN.js} +6 -13
  49. package/dist/{chunk-TASRGDYP.js → chunk-GEHK4UD5.js} +3 -3
  50. package/dist/{chunk-ZD3QCNB7.js → chunk-GLL237AP.js} +2 -2
  51. package/dist/{chunk-PGSGJLUR.js → chunk-GM2SLMQW.js} +2 -2
  52. package/dist/{chunk-NOQB4KMV.js → chunk-H7JVKUA5.js} +5 -5
  53. package/dist/{chunk-DNM3XZCK.js → chunk-H7RQG4PH.js} +2 -2
  54. package/dist/{chunk-7SXV7NUS.js → chunk-HH3DHNQA.js} +2 -2
  55. package/dist/{chunk-GWQRTA5W.js → chunk-HZX4QZGR.js} +1 -1
  56. package/dist/{chunk-KBEWVCK3.js → chunk-I2I2FKAK.js} +1 -1
  57. package/dist/{chunk-2HSHWPTO.js → chunk-I3ZRIMR7.js} +10 -10
  58. package/dist/{chunk-7IOZ6JE4.js → chunk-IKXQ6NVR.js} +7 -7
  59. package/dist/{chunk-XJQ6Z3FO.js → chunk-IQZSKWE5.js} +3 -3
  60. package/dist/{chunk-3GUEYQGL.js → chunk-ITDF3MWD.js} +3 -3
  61. package/dist/{chunk-JXGSTBW6.js → chunk-IU7XKZA6.js} +2 -2
  62. package/dist/{chunk-RITTLIDJ.js → chunk-IZFJZCF6.js} +4 -4
  63. package/dist/{chunk-DRQSB72S.js → chunk-JBAFAKGX.js} +7 -7
  64. package/dist/{chunk-VSAKEMDD.js → chunk-JCC3B2GS.js} +8 -2
  65. package/dist/{chunk-66JTY4AN.js → chunk-JRN2CRXJ.js} +1 -1
  66. package/dist/{chunk-2FDQEQID.js → chunk-K2SFH3GJ.js} +2 -2
  67. package/dist/{chunk-NM5V5EKY.js → chunk-K2WXMXI2.js} +1 -1
  68. package/dist/{chunk-XKCRKD2B.js → chunk-KDWEOT54.js} +24 -12
  69. package/dist/{chunk-PVWIBKV2.js → chunk-KQAPFIYF.js} +2 -2
  70. package/dist/{chunk-4SACN2C5.js → chunk-LGUFJ7Y2.js} +1 -1
  71. package/dist/{chunk-AYUSD4Z6.js → chunk-LRHPBWOY.js} +5 -5
  72. package/dist/{chunk-DLJJOCIT.js → chunk-M4ZUIW3J.js} +3 -3
  73. package/dist/{chunk-CIHHTS5B.js → chunk-MAYTYF5S.js} +3 -3
  74. package/dist/{chunk-5ZUZZDW5.js → chunk-MVUNMJKO.js} +46 -52
  75. package/dist/{chunk-KBHT5XEY.js → chunk-MYHR3PMH.js} +194 -35
  76. package/dist/{chunk-NBAAIRFP.js → chunk-NI4L6HEU.js} +4 -1
  77. package/dist/{chunk-A2A2I4Z4.js → chunk-O2HNVNKO.js} +2 -2
  78. package/dist/{chunk-2XMTZ5JR.js → chunk-OAZ6BIIB.js} +3 -3
  79. package/dist/{chunk-IZHGT5HD.js → chunk-OO4GUE4E.js} +3 -3
  80. package/dist/{chunk-KSZB7TIY.js → chunk-OYGJZA24.js} +8 -8
  81. package/dist/{chunk-H6BT45SN.js → chunk-P2GNNEMN.js} +1 -1
  82. package/dist/{chunk-5HAYT43L.js → chunk-P3PSLC2K.js} +22 -6
  83. package/dist/{chunk-HHVIE45A.js → chunk-P6LKX3IQ.js} +4 -4
  84. package/dist/{chunk-NMS5XSLX.js → chunk-PGD6CNWO.js} +1 -1
  85. package/dist/{chunk-NVZ7R4EK.js → chunk-PWZEJNO6.js} +3 -3
  86. package/dist/{chunk-NPDVWFAQ.js → chunk-QEU6VM4O.js} +1 -1
  87. package/dist/{chunk-UIEKW4SG.js → chunk-R5L5E3TC.js} +0 -1
  88. package/dist/{chunk-2WQ3YZMN.js → chunk-RGFVHYDP.js} +2 -2
  89. package/dist/{chunk-YQMIKX54.js → chunk-RIK6WUMO.js} +62 -29
  90. package/dist/{chunk-BH2SF4TT.js → chunk-RTRORHSP.js} +1 -1
  91. package/dist/{chunk-4SP6OUO7.js → chunk-RVOSA4RR.js} +845 -193
  92. package/dist/{chunk-LKZCUFOW.js → chunk-SCYVGPLI.js} +2 -2
  93. package/dist/{chunk-XIUGSUE4.js → chunk-SIABEREK.js} +6 -2
  94. package/dist/{chunk-P7TRFL4P.js → chunk-SQBCNEJB.js} +4 -1
  95. package/dist/{chunk-3ZP3QC47.js → chunk-THTYCJGF.js} +2 -2
  96. package/dist/{chunk-4EX4OKGZ.js → chunk-TIPNNOZC.js} +5 -5
  97. package/dist/{chunk-UZ7EZW3B.js → chunk-TO53KK2P.js} +6 -1
  98. package/dist/{chunk-2MS623GW.js → chunk-TPCP2UOI.js} +3 -3
  99. package/dist/{chunk-Y3SIQN4J.js → chunk-TUOZ6AXC.js} +2 -2
  100. package/dist/{chunk-KRPLP5LP.js → chunk-U6N547QA.js} +1 -1
  101. package/dist/{chunk-RESEJSCV.js → chunk-VJ7NLYFE.js} +2 -2
  102. package/dist/{chunk-UXNA2H2V.js → chunk-VLI6AWS3.js} +2 -2
  103. package/dist/{chunk-TDAGJJPZ.js → chunk-VNAPEZX2.js} +1 -1
  104. package/dist/{chunk-EBVVMUAA.js → chunk-VVTCUIPN.js} +1 -1
  105. package/dist/{chunk-FVTYJUXR.js → chunk-W5MMPPGX.js} +2 -2
  106. package/dist/{chunk-BQMHJ6OW.js → chunk-WGNP5ND2.js} +20 -12
  107. package/dist/{chunk-5OTA2PUH.js → chunk-WLGOIMTI.js} +2 -2
  108. package/dist/{chunk-IGJEKO2P.js → chunk-WTPS73RM.js} +4 -4
  109. package/dist/{chunk-R6EGUTIV.js → chunk-YFIUABSF.js} +2 -2
  110. package/dist/{chunk-7PJBJ2DU.js → chunk-YSGOXZBB.js} +1 -1
  111. package/dist/{chunk-ZECJ7Q6C.js → chunk-YVIPJGFG.js} +2 -2
  112. package/dist/{chunk-5KKZXA44.js → chunk-ZBOIYC2G.js} +4 -2
  113. package/dist/{chunk-RBVFNUAL.js → chunk-ZOKD5F7M.js} +2 -2
  114. package/dist/{collapse-BSPH3BFM.js → collapse-6X5S2S3G.js} +2 -1
  115. package/dist/completion-registry.js +6 -37
  116. package/dist/copy-image.d.ts +34 -0
  117. package/dist/copy-image.js +96 -0
  118. package/dist/countdown.js +1 -1
  119. package/dist/dgmo-router-EPBQKQW2.js +100 -0
  120. package/dist/{dimensions-DS6FWLRY.js → dimensions-DBCRBZIU.js} +4 -4
  121. package/dist/editor.js +2 -7
  122. package/dist/{flowchart-parser-NZXASOZG.js → flowchart-parser-SM5LHF2D.js} +4 -4
  123. package/dist/{flowchart-renderer-PTCRIANF.js → flowchart-renderer-PPS2GTTD.js} +10 -10
  124. package/dist/highlight.js +3 -8
  125. package/dist/index.d.ts +42 -6
  126. package/dist/index.js +62 -57
  127. package/dist/{layout-MXHR3P35.js → layout-3J72UULM.js} +3 -3
  128. package/dist/{layout-U3AH6M7J.js → layout-AF4KA5B2.js} +4 -4
  129. package/dist/{layout-IT4ZTV6C.js → layout-FCFUVCRI.js} +7 -7
  130. package/dist/{layout-KV27UW25.js → layout-H2KP5A6M.js} +1 -1
  131. package/dist/{layout-ND26WVX2.js → layout-IXQNVRBE.js} +3 -3
  132. package/dist/{layout-ISSBWBH7.js → layout-KELSNWBD.js} +7 -7
  133. package/dist/{layout-JTIRCKAW.js → layout-LNVIH45F.js} +3 -3
  134. package/dist/{layout-VC3MXRB4.js → layout-MPSH3YWE.js} +7 -7
  135. package/dist/{layout-HFBK5UEG.js → layout-PPIVGJXD.js} +2 -2
  136. package/dist/{layout-RH3N46HP.js → layout-R6G4MEO3.js} +4 -3
  137. package/dist/{layout-search-BBX2BMEF.js → layout-search-C2TYUH4L.js} +5 -5
  138. package/dist/{parser-BT4NI6JY.js → parser-2AXU2MHJ.js} +3 -3
  139. package/dist/{parser-3QIFY5IN.js → parser-4BOP77CD.js} +2 -2
  140. package/dist/{parser-TAYRTCPR.js → parser-4GHAYZKZ.js} +5 -5
  141. package/dist/{parser-LTRQASGB.js → parser-5HQPPVHJ.js} +3 -3
  142. package/dist/{parser-EAQPZX2B.js → parser-5RUD4A3X.js} +3 -3
  143. package/dist/{parser-BJ7RJNUM.js → parser-6WURFLOB.js} +3 -3
  144. package/dist/{parser-R3LPEQIT.js → parser-722KLLAQ.js} +4 -4
  145. package/dist/{parser-KMKVFET2.js → parser-B7SCN7FG.js} +2 -2
  146. package/dist/{parser-TUAEX6ML.js → parser-BNRX35NT.js} +3 -3
  147. package/dist/{parser-NL73FSFI.js → parser-BPYHIG24.js} +3 -3
  148. package/dist/{parser-3LT3ZUUC.js → parser-CRJYLOHA.js} +2 -2
  149. package/dist/{parser-NUU3DVW4.js → parser-DGLKH4NT.js} +2 -2
  150. package/dist/{parser-5UZV32ZI.js → parser-DRUGM3R6.js} +2 -2
  151. package/dist/{parser-KLCSFQ3J.js → parser-DWV2CYBS.js} +3 -3
  152. package/dist/{parser-2IKPQVKX.js → parser-F3JJNIFC.js} +3 -3
  153. package/dist/{parser-EFF22GYO.js → parser-F75WNYMK.js} +3 -3
  154. package/dist/{parser-RTWPFKXG.js → parser-GBQY3WOZ.js} +3 -3
  155. package/dist/{parser-F7NDRPMA.js → parser-GM5B2EPW.js} +3 -3
  156. package/dist/{parser-K2DI26SC.js → parser-H6HT2WFQ.js} +2 -2
  157. package/dist/{parser-PEZ7RN43.js → parser-HM6FEX5K.js} +3 -3
  158. package/dist/{parser-YG625J5H.js → parser-L7SI3PW4.js} +4 -4
  159. package/dist/{parser-GMQJISZ6.js → parser-LUJX7AXO.js} +2 -2
  160. package/dist/{parser-A3AN76RQ.js → parser-MWINQNQW.js} +3 -3
  161. package/dist/{parser-KJPPUN4D.js → parser-OHBBDCG4.js} +2 -2
  162. package/dist/{parser-4RFY7D52.js → parser-QWTECQEC.js} +5 -5
  163. package/dist/{parser-4TBSWULQ.js → parser-TTGZYLYD.js} +3 -3
  164. package/dist/{parser-6TDWUKM5.js → parser-UHKROC7Z.js} +3 -3
  165. package/dist/{parser-H5OODY5N.js → parser-W6NX3AIV.js} +3 -3
  166. package/dist/{parser-GDLKUBTO.js → parser-WIKXZP4X.js} +2 -2
  167. package/dist/{parser-4Y6PODW6.js → parser-XEJP37GQ.js} +3 -3
  168. package/dist/{parser-RCIEKN7Y.js → parser-Y7QXD2UR.js} +2 -2
  169. package/dist/{parser-7QKQ4P4P.js → parser-ZV756RMP.js} +5 -5
  170. package/dist/{parser-KKF6Y5MM.js → parser-ZWWQZ4XZ.js} +4 -3
  171. package/dist/{redraw-AHW7EUUF.js → redraw-BZ4GI6IC.js} +6 -4
  172. package/dist/{redraw-STZ4WJAI.js → redraw-LEOXS7C6.js} +3 -3
  173. package/dist/{renderer-J3GPDK73.js → renderer-2MCV75JQ.js} +12 -12
  174. package/dist/{renderer-TINHO2IO.js → renderer-2V2XY2V7.js} +4 -4
  175. package/dist/{renderer-PHLCYVSN.js → renderer-5AEDVLAA.js} +8 -7
  176. package/dist/{renderer-W4MUMXJE.js → renderer-5GP7YUS4.js} +3 -3
  177. package/dist/{renderer-FMTLSOCX.js → renderer-66NCRXSC.js} +6 -6
  178. package/dist/{renderer-AM7P4LN7.js → renderer-6HU44IGJ.js} +4 -4
  179. package/dist/{renderer-JJ4QW3SK.js → renderer-7C76HP5W.js} +6 -6
  180. package/dist/{renderer-O6RP52CQ.js → renderer-7RAMBMTH.js} +6 -6
  181. package/dist/{renderer-M5DUMITP.js → renderer-BYLQ37T2.js} +8 -8
  182. package/dist/{renderer-7OGGV327.js → renderer-CVCCW7UT.js} +4 -4
  183. package/dist/{renderer-QTPWRRJ7.js → renderer-D6EH5UQ6.js} +6 -6
  184. package/dist/renderer-E3334XLT.js +84 -0
  185. package/dist/{renderer-IXBOT6DU.js → renderer-F7YGMEGQ.js} +2 -2
  186. package/dist/{renderer-XCLARXCK.js → renderer-GKY55M4Z.js} +5 -5
  187. package/dist/{renderer-KJ3V5BYP.js → renderer-LFZKG2GR.js} +5 -5
  188. package/dist/{renderer-2LYX6NHN.js → renderer-LJPUCG3U.js} +5 -5
  189. package/dist/{renderer-DAZWHNLI.js → renderer-MGF2NNGG.js} +3 -3
  190. package/dist/{renderer-HX6ICPDX.js → renderer-MVBAQP3M.js} +4 -4
  191. package/dist/{renderer-XOWDERU2.js → renderer-MZIWP55B.js} +5 -5
  192. package/dist/{renderer-MWZC7TMD.js → renderer-N6PM5CSG.js} +7 -7
  193. package/dist/{renderer-ISQJ2ELA.js → renderer-N75E3UVY.js} +5 -5
  194. package/dist/{renderer-53B523PM.js → renderer-ONENGXFQ.js} +7 -7
  195. package/dist/{renderer-RUSQJFFC.js → renderer-PEJF6R2I.js} +2 -2
  196. package/dist/{renderer-36446HSH.js → renderer-QZJZIAT3.js} +2 -2
  197. package/dist/{renderer-UTEEJDGB.js → renderer-SYRH3B62.js} +6 -6
  198. package/dist/{renderer-LNP23NSM.js → renderer-TS5NHOQD.js} +6 -6
  199. package/dist/{renderer-J7ZSTJUE.js → renderer-VNJOZPSH.js} +7 -7
  200. package/dist/{renderer-OUDHH5MV.js → renderer-VNUDN6F5.js} +12 -12
  201. package/dist/{renderer-JYHA6R2D.js → renderer-VUXAAGUG.js} +5 -5
  202. package/dist/{renderer-BXD5KVSR.js → renderer-YJVQT7QG.js} +6 -6
  203. package/dist/{renderer-radial-WFUX3Z3C.js → renderer-radial-4R7AKETK.js} +5 -5
  204. package/dist/{state-parser-KPVW5CRI.js → state-parser-EQBBEKHR.js} +5 -5
  205. package/dist/{state-renderer-ZVEI265C.js → state-renderer-SOGZ2CNN.js} +12 -12
  206. package/dist/{themes-DzIH3Hjv.d.ts → themes-CbJL3w8L.d.ts} +1 -1
  207. package/docs/ai-integration.md +5 -6
  208. package/docs/language-reference.md +69 -105
  209. package/gallery/fixtures/whiteboard.dgmo +1 -0
  210. package/package.json +5 -1
  211. package/dist/chunk-6BQSDF77.js +0 -734
  212. package/dist/chunk-NWSPPGIE.js +0 -60
  213. package/dist/chunk-VBMRZCMQ.js +0 -1465
  214. package/dist/chunk-WZBZXZ6T.js +0 -636
  215. package/dist/dgmo-router-E5O7RJSW.js +0 -101
  216. package/dist/layout-D4L44NRG.js +0 -11
  217. package/dist/parser-YHDGKPZI.js +0 -14
  218. package/dist/renderer-4SE7R22T.js +0 -85
  219. package/dist/renderer-WPN2SXGT.js +0 -29
  220. package/gallery/fixtures/sketch.dgmo +0 -22
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutOrg
3
- } from "./chunk-A2A2I4Z4.js";
3
+ } from "./chunk-O2HNVNKO.js";
4
4
  import {
5
5
  renderCollapseBar,
6
6
  renderNodeCard
@@ -35,23 +35,23 @@ import {
35
35
  } from "./chunk-XCKNFFKM.js";
36
36
  import {
37
37
  renderIntegratedLegend
38
- } from "./chunk-NMS5XSLX.js";
38
+ } from "./chunk-PGD6CNWO.js";
39
39
  import {
40
40
  getMaxLegendReservedHeight
41
41
  } from "./chunk-JILEYZ2V.js";
42
42
  import {
43
43
  parseOrg
44
- } from "./chunk-5OTA2PUH.js";
44
+ } from "./chunk-WLGOIMTI.js";
45
45
  import {
46
46
  FONT_FAMILY
47
47
  } from "./chunk-ICLB27PZ.js";
48
48
  import {
49
49
  resolveTagColor,
50
50
  tagAttrKey
51
- } from "./chunk-4SACN2C5.js";
51
+ } from "./chunk-LGUFJ7Y2.js";
52
52
  import {
53
53
  fillModeFromOptions
54
- } from "./chunk-TIIZIAGS.js";
54
+ } from "./chunk-FUYEXLAN.js";
55
55
  import {
56
56
  EYE_CLOSED_PATH,
57
57
  EYE_OPEN_PATH,
@@ -205,7 +205,7 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
205
205
  }
206
206
  }
207
207
  if (c.hasChildren) {
208
- cG.attr("data-node-toggle", c.nodeId).attr("tabindex", "0").attr("role", "button").attr("aria-expanded", String(!c.hiddenCount)).attr("aria-label", c.label);
208
+ cG.attr("data-node-toggle", c.nodeId).attr("role", "button").attr("aria-expanded", String(!c.hiddenCount)).attr("aria-label", c.label);
209
209
  }
210
210
  if (onClickItem) {
211
211
  cG.style("cursor", "pointer").on("click", () => {
@@ -287,7 +287,7 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
287
287
  }
288
288
  }
289
289
  if (node.hasChildren) {
290
- nodeG.attr("data-node-toggle", node.id).attr("tabindex", "0").attr("role", "button").attr("aria-expanded", String(!node.hiddenCount)).attr("aria-label", node.label);
290
+ nodeG.attr("data-node-toggle", node.id).attr("role", "button").attr("aria-expanded", String(!node.hiddenCount)).attr("aria-label", node.label);
291
291
  }
292
292
  if (onClickItem) {
293
293
  nodeG.style("cursor", "pointer").on("click", () => {
@@ -21,7 +21,7 @@ import {
21
21
  tagAttrKey,
22
22
  validateTagGroupNames,
23
23
  validateTagValues
24
- } from "./chunk-4SACN2C5.js";
24
+ } from "./chunk-LGUFJ7Y2.js";
25
25
  import {
26
26
  AliasRegistry,
27
27
  FILL_FAMILY_TOKENS,
@@ -35,7 +35,7 @@ import {
35
35
  splitNameAndMeta,
36
36
  warnUnknownMetaKeys,
37
37
  withTagAliases
38
- } from "./chunk-TIIZIAGS.js";
38
+ } from "./chunk-FUYEXLAN.js";
39
39
  import {
40
40
  NAME_DIAGNOSTIC_CODES,
41
41
  formatDgmoError,
@@ -1008,6 +1008,12 @@ function parseSequenceDgmo(content, palette) {
1008
1008
  return fail(1, 'No "sequence" header and no sequence content detected');
1009
1009
  }
1010
1010
  }
1011
+ if (result.messages.length === 0 && result.participants.length === 0 && result.diagnostics.length === 0) {
1012
+ pushWarning(
1013
+ 1,
1014
+ "No participants or messages found. Add a message like 'Alice -> Bob'."
1015
+ );
1016
+ }
1011
1017
  if (result.messages.length > 0) {
1012
1018
  const usedIds = /* @__PURE__ */ new Set();
1013
1019
  for (const msg of result.messages) {
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-NOTA6TEI.js";
9
9
  import {
10
10
  peelQuotedName
11
- } from "./chunk-TIIZIAGS.js";
11
+ } from "./chunk-FUYEXLAN.js";
12
12
  import {
13
13
  makeDgmoError
14
14
  } from "./chunk-BYU54C3S.js";
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-6OSGENN5.js";
4
4
  import {
5
5
  parseDgmoChartType
6
- } from "./chunk-2HSHWPTO.js";
6
+ } from "./chunk-I3ZRIMR7.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-FUYEXLAN.js";
14
14
  import {
15
15
  measureText,
16
16
  truncateText
@@ -8,7 +8,7 @@ import {
8
8
  splitNameAndMeta,
9
9
  tryParseSharedOption,
10
10
  warnUnknownMetaKeys
11
- } from "./chunk-TIIZIAGS.js";
11
+ } from "./chunk-FUYEXLAN.js";
12
12
  import {
13
13
  RECOGNIZED_COLOR_NAMES,
14
14
  resolveColor
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-24YPR5EH.js";
4
4
  import {
5
5
  layoutInlineHeader
6
- } from "./chunk-UIEKW4SG.js";
6
+ } from "./chunk-R5L5E3TC.js";
7
7
  import {
8
8
  TITLE_FONT_SIZE,
9
9
  TITLE_FONT_WEIGHT,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-XCKNFFKM.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-NMS5XSLX.js";
21
+ } from "./chunk-PGD6CNWO.js";
22
22
  import {
23
23
  getLegendExtent,
24
24
  getMaxLegendReservedHeight
@@ -27,7 +27,7 @@ import {
27
27
  isSequenceBlock,
28
28
  isSequenceNote,
29
29
  isSequenceSection
30
- } from "./chunk-VSAKEMDD.js";
30
+ } from "./chunk-JCC3B2GS.js";
31
31
  import {
32
32
  wrapDescriptionLines
33
33
  } from "./chunk-7WEYXYLC.js";
@@ -40,12 +40,12 @@ import {
40
40
  import {
41
41
  resolveActiveTagGroup,
42
42
  tagAttrKey
43
- } from "./chunk-4SACN2C5.js";
43
+ } from "./chunk-LGUFJ7Y2.js";
44
44
  import {
45
45
  fillModeFromOptions,
46
46
  legendInlineRequested,
47
47
  legendSuppressed
48
- } from "./chunk-TIIZIAGS.js";
48
+ } from "./chunk-FUYEXLAN.js";
49
49
  import {
50
50
  legendChromeColors
51
51
  } from "./chunk-UOCWYLYT.js";
@@ -907,6 +907,7 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
907
907
  const clampStep = (i) => Math.min(Math.max(i, 0), lastStepIdx);
908
908
  const activations = activationsOff ? [] : computeActivations(allRenderSteps).map((a) => {
909
909
  const closingStep = allRenderSteps[a.endStep];
910
+ const openingStep = allRenderSteps[a.startStep];
910
911
  return {
911
912
  ...a,
912
913
  startStep: clampStep(allToFiltered[a.startStep] ?? 0),
@@ -914,7 +915,14 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
914
915
  // True when the return that closes this bar was dropped from the
915
916
  // layout, so `endStep` is not the bar's own event but whatever
916
917
  // happens next. The bar has to stop short of it — see the render.
917
- implicitEnd: closingStep !== void 0 && !stepSurvives(closingStep)
918
+ implicitEnd: closingStep !== void 0 && !stepSurvives(closingStep),
919
+ // True when nothing laid out follows the dropped return, so
920
+ // `endStep` clamps back onto the last step and the bar ends where
921
+ // a next step WOULD sit instead (#1436); a last unreturned call's
922
+ // bar used to draw 0 tall. Only for a bar whose own call is laid
923
+ // out: one opened inside a collapsed section clamps onto a step
924
+ // that is not its own, and stays the 0-tall bar it always was.
925
+ endsAfterLast: openingStep !== void 0 && stepSurvives(openingStep) && (allToFiltered[a.endStep] ?? 0) >= renderSteps.length
918
926
  };
919
927
  });
920
928
  const stepSpacing = 35;
@@ -1247,7 +1255,8 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
1247
1255
  }
1248
1256
  });
1249
1257
  for (const act of activations) {
1250
- if (!act.implicitEnd || act.endStep <= act.startStep) continue;
1258
+ if (!act.implicitEnd || act.endsAfterLast) continue;
1259
+ if (act.endStep <= act.startStep) continue;
1251
1260
  const step = renderSteps[act.endStep];
1252
1261
  if (!step || step.from === step.to) continue;
1253
1262
  if (step.from === act.participantId || step.to === act.participantId) {
@@ -1278,6 +1287,7 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
1278
1287
  const stepYPositions = [];
1279
1288
  const sectionYPositions = /* @__PURE__ */ new Map();
1280
1289
  let layoutEndY;
1290
+ let stepsEndY;
1281
1291
  {
1282
1292
  let curY = lifelineStartY0 + messageStartOffset;
1283
1293
  for (let i = 0; i < renderSteps.length; i++) {
@@ -1300,6 +1310,7 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
1300
1310
  const isSelfCall = step.type === "call" && step.from === step.to;
1301
1311
  curY += isSelfCall ? sSelfCallHeight + 25 : stepSpacing;
1302
1312
  }
1313
+ stepsEndY = curY;
1303
1314
  for (const sec of trailingSections) {
1304
1315
  const bandPad = collapsedBandPad(sec);
1305
1316
  curY += SECTION_TOP_PAD + bandPad;
@@ -1803,8 +1814,9 @@ function layoutSequencePass(parsed, containerWidth, options, fit) {
1803
1814
  if (px === void 0) return null;
1804
1815
  const x = px - sActivationWidth / 2 + act.depth * ACTIVATION_NEST_OFFSET;
1805
1816
  const y1 = stepY(act.startStep);
1806
- const rawY2 = stepY(act.endStep);
1807
- const implicitY2 = rawY2 - labelRoomBefore[act.endStep] - ACTIVATION_IMPLICIT_END_CLEARANCE;
1817
+ const rawY2 = act.endsAfterLast ? stepsEndY : stepY(act.endStep);
1818
+ const roomBefore = act.endsAfterLast ? 0 : labelRoomBefore[act.endStep];
1819
+ const implicitY2 = rawY2 - roomBefore - ACTIVATION_IMPLICIT_END_CLEARANCE;
1808
1820
  const y2 = act.implicitEnd && implicitY2 > y1 + sActivationWidth ? implicitY2 : rawY2;
1809
1821
  return { x, y: y1, width: sActivationWidth, height: y2 - y1 };
1810
1822
  });
@@ -2080,7 +2092,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
2080
2092
  if (collapsible) groupG.attr("data-group-toggle", "");
2081
2093
  groupG.attr("data-group-line", String(group.lineNumber));
2082
2094
  if (collapsible) {
2083
- groupG.attr("tabindex", "0").attr("role", "button").attr("aria-expanded", "true").attr("aria-label", groupToggleName(group.name, group.participantIds)).attr("cursor", "pointer");
2095
+ groupG.attr("data-line-number", String(group.lineNumber)).attr("role", "button").attr("aria-expanded", "true").attr("aria-label", groupToggleName(group.name, group.participantIds)).attr("cursor", "pointer");
2084
2096
  }
2085
2097
  groupG.append("rect").attr("x", frame.x).attr("y", frame.y).attr("width", frame.width).attr("height", frame.height).attr("rx", 6).attr("fill", fillColor).attr("stroke", strokeColor).attr("stroke-width", 1).attr("stroke-opacity", 0.5).attr("pointer-events", "none").attr("class", "group-box");
2086
2098
  groupG.append("rect").attr("x", frame.x).attr("y", frame.y).attr("width", frame.width).attr("height", frame.headerHeight).attr("fill", "transparent").attr("class", "group-label-hit");
@@ -2118,7 +2130,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
2118
2130
  const participantG = svg.select(
2119
2131
  `.participant[data-participant-id="${participant.id}"]`
2120
2132
  );
2121
- participantG.attr("data-group-toggle", "").attr("data-group-line", String(meta.lineNumber)).attr("tabindex", "0").attr("role", "button").attr("aria-expanded", "false").attr("aria-label", groupToggleName(meta.name, meta.participantIds)).attr("cursor", "pointer");
2133
+ participantG.attr("data-group-toggle", "").attr("data-group-line", String(meta.lineNumber)).attr("data-line-number", String(meta.lineNumber)).attr("role", "button").attr("aria-expanded", "false").attr("aria-label", groupToggleName(meta.name, meta.participantIds)).attr("cursor", "pointer");
2122
2134
  const pFill = effectiveTagColor ? mix(effectiveTagColor, themeBaseBg(palette, isDark), isDark ? 30 : 40) : isDark ? mix(palette.overlay, palette.surface, 50) : mix(palette.bg, palette.surface, 50);
2123
2135
  const pStroke = effectiveTagColor ?? palette.border;
2124
2136
  participantG.append("rect").attr("x", -boxW / 2).attr("y", -padTop).attr("width", boxW).attr("height", fullH).attr("rx", 6).attr("fill", pFill).attr("stroke", pStroke).attr("stroke-width", 1.5);
@@ -2184,7 +2196,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
2184
2196
  const secY = band.y;
2185
2197
  const isCollapsed = band.collapsed;
2186
2198
  const lineColor = palette.textMuted;
2187
- const sectionG = svg.append("g").attr("data-section-toggle", "").attr("data-line-number", String(sec.lineNumber)).attr("data-section", "").attr("tabindex", "0").attr("role", "button").attr("aria-expanded", String(!isCollapsed));
2199
+ const sectionG = svg.append("g").attr("data-section-toggle", "").attr("data-line-number", String(sec.lineNumber)).attr("data-section", "").attr("role", "button").attr("aria-expanded", String(!isCollapsed));
2188
2200
  const BAND_HEIGHT = band.height;
2189
2201
  const bandFill = isCollapsed ? legendChromeColors(palette, isDark).groupBg : lineColor;
2190
2202
  const bandOpacity = isCollapsed ? 1 : isDark ? 0.1 : 0.08;
@@ -17,7 +17,7 @@ import {
17
17
  stripDefaultModifier,
18
18
  tagAttrKey,
19
19
  validateTagGroupNames
20
- } from "./chunk-4SACN2C5.js";
20
+ } from "./chunk-LGUFJ7Y2.js";
21
21
  import {
22
22
  AliasRegistry,
23
23
  GANTT_BOOLEAN_SET,
@@ -32,7 +32,7 @@ import {
32
32
  splitNameAndMeta,
33
33
  warnUnknownMetaKeys,
34
34
  withTagAliases
35
- } from "./chunk-TIIZIAGS.js";
35
+ } from "./chunk-FUYEXLAN.js";
36
36
  import {
37
37
  getSeriesColors
38
38
  } from "./chunk-6GXLAKUH.js";
@@ -2,7 +2,7 @@ import {
2
2
  peelQuotedName,
3
3
  stripQuotes,
4
4
  tokenizeQuoteAware
5
- } from "./chunk-TIIZIAGS.js";
5
+ } from "./chunk-FUYEXLAN.js";
6
6
  import {
7
7
  CATEGORICAL_COLOR_ORDER,
8
8
  RECOGNIZED_COLOR_NAMES,
@@ -5,7 +5,7 @@ import {
5
5
  NODE_LABEL_LINE_HEIGHT,
6
6
  layoutGraph,
7
7
  wrapNodeLabel
8
- } from "./chunk-JT2BG7LM.js";
8
+ } from "./chunk-5GU6C5WB.js";
9
9
  import {
10
10
  appendArrowheadMarkers
11
11
  } from "./chunk-XBJJP2HN.js";
@@ -22,7 +22,7 @@ import {
22
22
  INLINE_HEADER_PAD,
23
23
  layoutInlineHeader,
24
24
  measureTitleWidth
25
- } from "./chunk-UIEKW4SG.js";
25
+ } from "./chunk-R5L5E3TC.js";
26
26
  import {
27
27
  TITLE_FONT_SIZE,
28
28
  TITLE_FONT_WEIGHT,
@@ -37,20 +37,20 @@ import {
37
37
  } from "./chunk-XCKNFFKM.js";
38
38
  import {
39
39
  parseFlowchart
40
- } from "./chunk-DNM3XZCK.js";
40
+ } from "./chunk-H7RQG4PH.js";
41
41
  import {
42
42
  NOTE_BADGE_RADIUS,
43
43
  noteConnectorPoints,
44
44
  renderNoteBadge,
45
45
  renderNoteBox,
46
46
  renderNoteConnector
47
- } from "./chunk-VDY2GR6U.js";
47
+ } from "./chunk-67N26CER.js";
48
48
  import {
49
49
  FONT_FAMILY
50
50
  } from "./chunk-ICLB27PZ.js";
51
51
  import {
52
52
  fillModeFromOptions
53
- } from "./chunk-TIIZIAGS.js";
53
+ } from "./chunk-FUYEXLAN.js";
54
54
  import {
55
55
  measureText
56
56
  } from "./chunk-KAO7JL4I.js";
@@ -4,21 +4,21 @@ import {
4
4
  import {
5
5
  resolveNotes,
6
6
  tryCollectNote
7
- } from "./chunk-7SXV7NUS.js";
7
+ } from "./chunk-HH3DHNQA.js";
8
8
  import {
9
9
  displayName,
10
10
  normalizeName
11
11
  } from "./chunk-NOTA6TEI.js";
12
12
  import {
13
13
  isTagBlockHeading
14
- } from "./chunk-4SACN2C5.js";
14
+ } from "./chunk-LGUFJ7Y2.js";
15
15
  import {
16
16
  AliasRegistry,
17
17
  OPTION_NOCOLON_RE,
18
18
  measureIndent,
19
19
  parseFirstLine,
20
20
  tryParseSharedOption
21
- } from "./chunk-TIIZIAGS.js";
21
+ } from "./chunk-FUYEXLAN.js";
22
22
  import {
23
23
  resolveColorWithDiagnostic
24
24
  } from "./chunk-3J7O3CU6.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  resolveNotes,
6
6
  tryCollectNote
7
- } from "./chunk-7SXV7NUS.js";
7
+ } from "./chunk-HH3DHNQA.js";
8
8
  import {
9
9
  displayName,
10
10
  normalizeName
@@ -18,7 +18,7 @@ import {
18
18
  tagAttrKey,
19
19
  validateTagGroupNames,
20
20
  validateTagValues
21
- } from "./chunk-4SACN2C5.js";
21
+ } from "./chunk-LGUFJ7Y2.js";
22
22
  import {
23
23
  AliasRegistry,
24
24
  ER_REGISTRY,
@@ -32,7 +32,7 @@ import {
32
32
  tryParseSharedOption,
33
33
  warnUnknownMetaKeys,
34
34
  withTagAliases
35
- } from "./chunk-TIIZIAGS.js";
35
+ } from "./chunk-FUYEXLAN.js";
36
36
  import {
37
37
  resolveColorWithDiagnostic
38
38
  } from "./chunk-3J7O3CU6.js";
@@ -6,130 +6,124 @@ import {
6
6
  parseHeatmap,
7
7
  parseSankey,
8
8
  parseScatter
9
- } from "./chunk-H6BT45SN.js";
10
- import {
11
- parsePyramid
12
- } from "./chunk-3PP746YM.js";
9
+ } from "./chunk-P2GNNEMN.js";
13
10
  import {
14
11
  parseRing
15
- } from "./chunk-NM5V5EKY.js";
12
+ } from "./chunk-K2WXMXI2.js";
16
13
  import {
17
14
  TREEMAP_DIAGNOSTICS,
18
15
  parseTreemap
19
- } from "./chunk-3KVUFHUJ.js";
16
+ } from "./chunk-EPB3UEMD.js";
20
17
  import {
21
18
  MAP_DIAGNOSTICS
22
19
  } from "./chunk-EOYPX6SF.js";
23
20
  import {
24
21
  VERSION_CONTROL_DIAGNOSTICS,
25
22
  parseVersionControl
26
- } from "./chunk-2ZW4NBYX.js";
23
+ } from "./chunk-FBK32S4D.js";
27
24
  import {
28
25
  parseMap
29
- } from "./chunk-AULZD45V.js";
30
- import {
31
- parseSketch
32
- } from "./chunk-WZBZXZ6T.js";
33
- import {
34
- SKETCH_DIAGNOSTICS
35
- } from "./chunk-NWSPPGIE.js";
26
+ } from "./chunk-5ARANBIE.js";
36
27
  import {
37
28
  WHITEBOARD_DIAGNOSTICS,
38
29
  parseWhiteboard
39
- } from "./chunk-5HAYT43L.js";
30
+ } from "./chunk-P3PSLC2K.js";
40
31
  import {
41
32
  SWIMLANE_DIAGNOSTICS,
42
33
  parseSwimlane
43
- } from "./chunk-J7Q4AB23.js";
34
+ } from "./chunk-B7BSRVNC.js";
44
35
  import {
45
36
  parseMindmap
46
- } from "./chunk-XIUGSUE4.js";
37
+ } from "./chunk-SIABEREK.js";
47
38
  import {
48
39
  parseTechRadar
49
- } from "./chunk-EBVVMUAA.js";
40
+ } from "./chunk-VVTCUIPN.js";
41
+ import {
42
+ parsePyramid
43
+ } from "./chunk-B2YVZ3QU.js";
50
44
  import {
51
45
  parseKanban
52
- } from "./chunk-LKZCUFOW.js";
46
+ } from "./chunk-SCYVGPLI.js";
53
47
  import {
54
48
  parseInfra
55
- } from "./chunk-UXNA2H2V.js";
49
+ } from "./chunk-VLI6AWS3.js";
56
50
  import {
57
51
  parseJourneyMap
58
- } from "./chunk-PGSGJLUR.js";
52
+ } from "./chunk-GM2SLMQW.js";
59
53
  import {
60
54
  parseGoal
61
- } from "./chunk-7PJBJ2DU.js";
55
+ } from "./chunk-YSGOXZBB.js";
62
56
  import {
63
57
  EVENT_LINE_DIAGNOSTICS,
64
58
  parseEventLine
65
- } from "./chunk-3GUEYQGL.js";
59
+ } from "./chunk-ITDF3MWD.js";
66
60
  import {
67
61
  parseTimelineEventLine
68
- } from "./chunk-BQO24BDM.js";
62
+ } from "./chunk-AUXUNV73.js";
69
63
  import {
70
64
  FAMILY_DIAGNOSTICS,
71
65
  parseFamily
72
- } from "./chunk-R6EGUTIV.js";
66
+ } from "./chunk-YFIUABSF.js";
73
67
  import {
74
68
  parseGantt
75
- } from "./chunk-PVWIBKV2.js";
69
+ } from "./chunk-KQAPFIYF.js";
76
70
  import {
77
71
  parseClock
78
- } from "./chunk-NXU4N5WT.js";
72
+ } from "./chunk-EZ6BI5LL.js";
79
73
  import {
80
74
  parseCountdown
81
- } from "./chunk-KBEWVCK3.js";
75
+ } from "./chunk-I2I2FKAK.js";
82
76
  import {
83
77
  parseCycle
84
- } from "./chunk-NPDVWFAQ.js";
78
+ } from "./chunk-QEU6VM4O.js";
85
79
  import {
86
80
  parseBracket
87
- } from "./chunk-2WQ3YZMN.js";
81
+ } from "./chunk-RGFVHYDP.js";
88
82
  import {
89
83
  parseC4
90
- } from "./chunk-IXHWS2HI.js";
84
+ } from "./chunk-BD4O4D2A.js";
91
85
  import {
92
86
  parseBlock
93
- } from "./chunk-BRGRIZQB.js";
87
+ } from "./chunk-DWMQ24JR.js";
94
88
  import {
95
89
  BODY_DIAGNOSTICS,
96
90
  parseBody
97
- } from "./chunk-JXGSTBW6.js";
91
+ } from "./chunk-IU7XKZA6.js";
98
92
  import {
99
93
  parseBoxesAndLines
100
- } from "./chunk-2XMTZ5JR.js";
94
+ } from "./chunk-OAZ6BIIB.js";
101
95
  import {
102
96
  parseDgmoChartType
103
- } from "./chunk-2HSHWPTO.js";
97
+ } from "./chunk-I3ZRIMR7.js";
104
98
  import {
105
99
  parseRaci
106
- } from "./chunk-KRPLP5LP.js";
100
+ } from "./chunk-U6N547QA.js";
107
101
  import {
108
102
  parseLiveLink
109
- } from "./chunk-KBDMEOLI.js";
103
+ } from "./chunk-DPNSDCR3.js";
110
104
  import {
111
105
  SEQUENCE_DIAGNOSTICS,
112
106
  parseSequenceDgmo
113
- } from "./chunk-VSAKEMDD.js";
107
+ } from "./chunk-JCC3B2GS.js";
114
108
  import {
115
109
  parseOrg
116
- } from "./chunk-5OTA2PUH.js";
110
+ } from "./chunk-WLGOIMTI.js";
117
111
  import {
118
112
  parseSitemap
119
- } from "./chunk-ZECJ7Q6C.js";
113
+ } from "./chunk-YVIPJGFG.js";
120
114
  import {
121
115
  PERT_DIAGNOSTICS,
122
116
  parsePert
123
- } from "./chunk-CDM6XMOT.js";
117
+ } from "./chunk-34JOHSVE.js";
124
118
  import {
125
119
  parseFlowchart
126
- } from "./chunk-DNM3XZCK.js";
120
+ } from "./chunk-H7RQG4PH.js";
127
121
  import {
128
122
  GRAPH_DIAGNOSTICS
129
123
  } from "./chunk-TIVMAITN.js";
130
124
  import {
131
125
  parseState
132
- } from "./chunk-2MS623GW.js";
126
+ } from "./chunk-TPCP2UOI.js";
133
127
  import {
134
128
  makeYearContext,
135
129
  parseDateToken,
@@ -141,16 +135,16 @@ import {
141
135
  } from "./chunk-CYTFO2LF.js";
142
136
  import {
143
137
  parseERDiagram
144
- } from "./chunk-CIHHTS5B.js";
138
+ } from "./chunk-MAYTYF5S.js";
145
139
  import {
146
140
  parseClassDiagram
147
- } from "./chunk-DLJJOCIT.js";
141
+ } from "./chunk-M4ZUIW3J.js";
148
142
  import {
149
143
  ARROW_DIAGNOSTIC_CODES
150
144
  } from "./chunk-N7VMGZCU.js";
151
145
  import {
152
146
  parseWireframe
153
- } from "./chunk-GI5R5B3S.js";
147
+ } from "./chunk-D7DGLJ7N.js";
154
148
  import {
155
149
  RACI_DIAGNOSTICS
156
150
  } from "./chunk-4WW3SGMH.js";
@@ -160,9 +154,10 @@ import {
160
154
  tagAttrKey,
161
155
  validateTagGroupNames,
162
156
  validateTagValues
163
- } from "./chunk-4SACN2C5.js";
157
+ } from "./chunk-LGUFJ7Y2.js";
164
158
  import {
165
159
  ALIAS_DIAGNOSTICS,
160
+ RETIRED_CHART_TYPES,
166
161
  TIMELINE_REGISTRY,
167
162
  chartTypes,
168
163
  collectIndentedValues,
@@ -174,7 +169,7 @@ import {
174
169
  peelTrailingColorName,
175
170
  splitNameAndMeta,
176
171
  withTagAliases
177
- } from "./chunk-TIIZIAGS.js";
172
+ } from "./chunk-FUYEXLAN.js";
178
173
  import {
179
174
  resolveColorWithDiagnostic
180
175
  } from "./chunk-3J7O3CU6.js";
@@ -1181,7 +1176,8 @@ function parseVisualizationFull(content, palette) {
1181
1176
  if (!result.type) {
1182
1177
  const firstNonEmpty = lines.find((l) => l.trim() && !l.trim().startsWith("//"))?.trim() ?? "";
1183
1178
  const word = firstNonEmpty.split(/\s/)[0];
1184
- const hint = suggest(word.toLowerCase(), allChartTypeIds);
1179
+ const successor = RETIRED_CHART_TYPES[word.toLowerCase()];
1180
+ const hint = successor ? `Did you mean '${successor}'?` : suggest(word.toLowerCase(), allChartTypeIds);
1185
1181
  let msg = `'${word}' is not a chart type`;
1186
1182
  msg += hint ? `. ${hint}` : ` \u2014 line 1 names the chart type, e.g. \`bar Sales\` or \`flowchart Deploy\`.`;
1187
1183
  const diag = makeDgmoError(1, msg);
@@ -1643,7 +1639,6 @@ var REGISTRY = [
1643
1639
  ...GRAPH_DIAGNOSTICS,
1644
1640
  ...COLOR_DIAGNOSTICS,
1645
1641
  ...SEQUENCE_DIAGNOSTICS,
1646
- ...SKETCH_DIAGNOSTICS,
1647
1642
  ...WHITEBOARD_DIAGNOSTICS,
1648
1643
  ...FAMILY_DIAGNOSTICS,
1649
1644
  ...ALIAS_DIAGNOSTICS
@@ -1708,7 +1703,6 @@ var REGISTRY2 = {
1708
1703
  gantt: { category: "diagram", parse: parseGantt },
1709
1704
  pert: { category: "diagram", parse: parsePert },
1710
1705
  "boxes-and-lines": { category: "diagram", parse: parseBoxesAndLines },
1711
- sketch: { category: "diagram", parse: parseSketch },
1712
1706
  whiteboard: { category: "diagram", parse: parseWhiteboard },
1713
1707
  swimlane: { category: "diagram", parse: parseSwimlane },
1714
1708
  family: { category: "diagram", parse: parseFamily },
@@ -1855,7 +1849,7 @@ function detectMistypedChartType(content, resolved) {
1855
1849
  if (!match) return null;
1856
1850
  const word = match[1];
1857
1851
  if (ALL_KNOWN_TYPES.has(word)) return null;
1858
- const alias = MERMAID_FIRST_WORDS[word];
1852
+ const alias = MERMAID_FIRST_WORDS[word] ?? RETIRED_CHART_TYPES[word];
1859
1853
  const suggestion = alias ? `Did you mean '${alias}'?` : suggest(word, [...ALL_KNOWN_TYPES]);
1860
1854
  if (!suggestion) return null;
1861
1855
  return emit(MISTYPED_CHART_TYPE_DX, i + 1, { word, resolved, suggestion });