@diagrammo/dgmo 0.88.0 → 0.89.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 (148) hide show
  1. package/README.md +4 -2
  2. package/dist/advanced.d.ts +41 -11
  3. package/dist/advanced.js +107 -105
  4. package/dist/{analyzer-R5UBTRO2.js → analyzer-7ZGAZIE6.js} +2 -2
  5. package/dist/block.js +25 -25
  6. package/dist/{chart-meta-PbgpGwYo.d.ts → chart-meta-Bev5Ebjr.d.ts} +1 -1
  7. package/dist/chart-meta.d.ts +2 -2
  8. package/dist/chart-meta.js +11 -11
  9. package/dist/{chart-types-Db_EGf1o.d.ts → chart-types-Bf8C5QQW.d.ts} +1 -1
  10. package/dist/{charts-d3-3BZRSZV6.js → charts-d3-KEQSUWKP.js} +10 -10
  11. package/dist/{chunk-LJFXC3IP.js → chunk-2GM7N5TV.js} +10 -10
  12. package/dist/{chunk-H2GEIFUF.js → chunk-3AQJNY65.js} +8 -8
  13. package/dist/{chunk-WXPBP4IT.js → chunk-44FTCIRI.js} +9 -9
  14. package/dist/{chunk-WZ23JJ7U.js → chunk-4AJKOUBO.js} +11 -11
  15. package/dist/{chunk-YK4N6TBN.js → chunk-4R6OMKXB.js} +7 -7
  16. package/dist/{chunk-HEYGGSNQ.js → chunk-5LE2CTLS.js} +2 -2
  17. package/dist/{chunk-MVCPO6LI.js → chunk-7C2RAGPT.js} +31 -21
  18. package/dist/{chunk-VJ2KROJ5.js → chunk-7KPHRTND.js} +1 -1
  19. package/dist/{chunk-LHL6HDUL.js → chunk-7SX4IY6T.js} +84 -12
  20. package/dist/{chunk-LSQGJN5H.js → chunk-7W4XLIVH.js} +15 -15
  21. package/dist/{chunk-XUDGZJTJ.js → chunk-AZ24RI5L.js} +6 -6
  22. package/dist/{chunk-UMRZPRAN.js → chunk-BB6QKWHZ.js} +15 -15
  23. package/dist/{chunk-6I5UN4FD.js → chunk-C4FRGZGX.js} +4 -4
  24. package/dist/{chunk-3DOQOXXI.js → chunk-CNUN5GO6.js} +1 -1
  25. package/dist/{chunk-5KGM44TG.js → chunk-CX6OH5WP.js} +1 -1
  26. package/dist/{chunk-D4M25W6R.js → chunk-DDPGEGHB.js} +5 -5
  27. package/dist/{chunk-B7CU2HW5.js → chunk-DZPHN2WN.js} +9 -9
  28. package/dist/{chunk-O6MMQQLF.js → chunk-ECMA6XE2.js} +10 -10
  29. package/dist/{chunk-MGBV4JEI.js → chunk-EDXGEQW3.js} +1 -1
  30. package/dist/{chunk-5LD7SHXO.js → chunk-EXKCRXPO.js} +9 -9
  31. package/dist/{chunk-HTPZDZKQ.js → chunk-FKLE6QA3.js} +13 -13
  32. package/dist/{chunk-ERNCPKD4.js → chunk-G2KHLANR.js} +1 -1
  33. package/dist/{chunk-NJIGYGZS.js → chunk-HAMF4F3P.js} +12 -7
  34. package/dist/{chunk-UY6TEJJH.js → chunk-HJRP6PXL.js} +1 -1
  35. package/dist/{chunk-LNO3ASX5.js → chunk-HUNDJTTH.js} +1 -1
  36. package/dist/{chunk-RH2PROYG.js → chunk-I6GGMCTV.js} +4 -2
  37. package/dist/{chunk-DOXBS7F5.js → chunk-ID2K3IHI.js} +4 -4
  38. package/dist/{chunk-33FQ6HNV.js → chunk-IQ6P3HDE.js} +9 -9
  39. package/dist/{chunk-BAZT6CIF.js → chunk-ITSBBQTH.js} +7 -7
  40. package/dist/{chunk-UNNJCSSQ.js → chunk-JVZ7KFAX.js} +1 -1
  41. package/dist/{chunk-AQIBKTPG.js → chunk-K5XT7NHD.js} +3 -3
  42. package/dist/{chunk-HAH5X345.js → chunk-KATED53P.js} +1 -1
  43. package/dist/{chunk-7HWY4QAJ.js → chunk-L24LESXF.js} +1 -0
  44. package/dist/{chunk-VPASQOR3.js → chunk-LFKSHDVI.js} +1 -1
  45. package/dist/{chunk-XVSJYAK7.js → chunk-LPYYZCSI.js} +2 -2
  46. package/dist/{chunk-BV6PKJUS.js → chunk-LR6RRDWN.js} +5 -5
  47. package/dist/{chunk-DAX42XVH.js → chunk-LYLNMN77.js} +8 -8
  48. package/dist/{chunk-VW52W5F6.js → chunk-M2BCY7H3.js} +101 -84
  49. package/dist/{chunk-A4XPI4YN.js → chunk-MFW6P7WH.js} +27 -0
  50. package/dist/{chunk-CFBY77QJ.js → chunk-N4BBSDWI.js} +9 -9
  51. package/dist/{chunk-IDJGV6VM.js → chunk-NIUO2TNR.js} +215 -1
  52. package/dist/{chunk-PLE2432T.js → chunk-NRPELUB6.js} +2 -2
  53. package/dist/{chunk-FM3WAVB6.js → chunk-NS7L7YKH.js} +1 -1
  54. package/dist/{chunk-YMG7JDEY.js → chunk-NSR2CGV6.js} +71 -24
  55. package/dist/{chunk-LD2JSKU3.js → chunk-OOCVGX4W.js} +15 -0
  56. package/dist/{chunk-N4XHXBDQ.js → chunk-PMNITNPR.js} +4 -4
  57. package/dist/{chunk-MSXRNVHB.js → chunk-Q6SQISHT.js} +12 -11
  58. package/dist/{chunk-UNAP6O26.js → chunk-QIOYTQDZ.js} +9 -9
  59. package/dist/{chunk-BT2WH2XT.js → chunk-RGWYZR3S.js} +1 -1
  60. package/dist/{chunk-PPH6ILHL.js → chunk-RPKBWJBB.js} +4 -4
  61. package/dist/{chunk-JD4RHBNX.js → chunk-RXIKESRI.js} +7 -7
  62. package/dist/{chunk-BMUWF77V.js → chunk-S2WE7TVK.js} +4 -4
  63. package/dist/{chunk-QFIXL3OK.js → chunk-SEKNYIMO.js} +1 -1
  64. package/dist/{chunk-FPXMCGS5.js → chunk-SLQT3JP3.js} +1 -1
  65. package/dist/{chunk-LL6D3MES.js → chunk-SOPM5PLO.js} +9 -9
  66. package/dist/{chunk-J7Q4VPBJ.js → chunk-TAP2NZEU.js} +22 -16
  67. package/dist/{chunk-RE6TVIAV.js → chunk-UKJLPA7R.js} +4 -4
  68. package/dist/{chunk-RGI64U3A.js → chunk-UQLHKLF4.js} +9 -9
  69. package/dist/{chunk-JLETTWUJ.js → chunk-UWKRPQZO.js} +49 -23
  70. package/dist/{chunk-XIFK423U.js → chunk-W7QN5BC5.js} +4 -4
  71. package/dist/{chunk-XWYR5T52.js → chunk-WEF6MXFG.js} +14 -14
  72. package/dist/{chunk-P5V63L35.js → chunk-WP22MHH6.js} +17 -17
  73. package/dist/{chunk-PUVTFUNH.js → chunk-WRCAH3UO.js} +18 -18
  74. package/dist/{chunk-N7XRBWXA.js → chunk-XJ2TBXHA.js} +10 -10
  75. package/dist/{chunk-DSG6GBUQ.js → chunk-XUCQVKLQ.js} +6 -6
  76. package/dist/{chunk-NZCSVD4M.js → chunk-Y7PSAHAY.js} +8 -8
  77. package/dist/{chunk-AAMCXQPP.js → chunk-YMFQLWZ2.js} +6 -6
  78. package/dist/completion-registry.d.ts +1 -1
  79. package/dist/completion-registry.js +4 -16
  80. package/dist/countdown.js +1 -1
  81. package/dist/{dgmo-router-F2DSURTR.js → dgmo-router-7WANZOBD.js} +11 -11
  82. package/dist/{dimensions-6QAWEGIR.js → dimensions-7MF7VSGS.js} +6 -6
  83. package/dist/{flowchart-renderer-THC6Y7EH.js → flowchart-renderer-DZQZRL2F.js} +6 -5
  84. package/dist/index.d.ts +1 -1
  85. package/dist/index.js +27 -27
  86. package/dist/{layout-P6DTD4RT.js → layout-4RRC7XU7.js} +2 -2
  87. package/dist/{layout-QX5T6ZNE.js → layout-6L3BIFEZ.js} +4 -4
  88. package/dist/{layout-SOPAVXIH.js → layout-DXVAYF6W.js} +3 -3
  89. package/dist/{layout-LUQKAGGT.js → layout-EFEZ533S.js} +4 -4
  90. package/dist/{layout-EHTYSMV4.js → layout-H4K54IW3.js} +2 -2
  91. package/dist/{layout-AM57TGN5.js → layout-IGAVGDME.js} +3 -3
  92. package/dist/{layout-5NPBHV5F.js → layout-PP36LUTA.js} +2 -2
  93. package/dist/{layout-CUFA7XJD.js → layout-Q3RYSODA.js} +4 -4
  94. package/dist/layout-XUW444O5.js +1 -1
  95. package/dist/{layout-BOVTLAOT.js → layout-ZP7XYVXF.js} +2 -2
  96. package/dist/{layout-search-VKSBUCDM.js → layout-search-YKUL4VBV.js} +105 -6
  97. package/dist/{legend-constants-ZVO4FLAK.js → legend-constants-HE7FVDJP.js} +4 -2
  98. package/dist/{palettes-BIV54XLS.js → palettes-WZAIQTEG.js} +6 -4
  99. package/dist/{parser-ACW6C6OY.js → parser-337TACHB.js} +1 -1
  100. package/dist/{parser-WUK6CP5X.js → parser-GCCWMBTU.js} +3 -3
  101. package/dist/{parser-GPW4ZHPQ.js → parser-IMM2JJX3.js} +2 -1
  102. package/dist/{parser-JXS4426S.js → parser-P4TOQYNN.js} +2 -2
  103. package/dist/{parser-PVIWHVGY.js → parser-TL3JA4RI.js} +1 -1
  104. package/dist/{parser-C327BBE3.js → parser-UTXFJG4X.js} +1 -1
  105. package/dist/{renderer-RWJ45DWH.js → renderer-2ZQ6DPVD.js} +3 -3
  106. package/dist/{renderer-NHPKNNBD.js → renderer-3AD4NDF5.js} +9 -9
  107. package/dist/{renderer-2KVQGGTT.js → renderer-43ESBXVY.js} +8 -8
  108. package/dist/{renderer-A4LMOBZL.js → renderer-4JE5ORRO.js} +12 -12
  109. package/dist/{renderer-RAATRF6W.js → renderer-5GZNGZU5.js} +7 -7
  110. package/dist/{renderer-RMGN3Q7D.js → renderer-6OQM32X3.js} +3 -3
  111. package/dist/{renderer-222OTVQV.js → renderer-7HOSI6JJ.js} +4 -4
  112. package/dist/{renderer-RNCYODNF.js → renderer-7L7J4DHO.js} +8 -8
  113. package/dist/{renderer-DCFQDBGJ.js → renderer-7MCC6GKH.js} +2 -2
  114. package/dist/{renderer-3FF4QVGW.js → renderer-7VQOKAII.js} +8 -8
  115. package/dist/{renderer-4BHOELCE.js → renderer-BLHN3RCY.js} +3 -3
  116. package/dist/{renderer-PQYO2HCE.js → renderer-CEIX5JPA.js} +3 -3
  117. package/dist/{renderer-2OOPQ4CH.js → renderer-CHQZES6G.js} +3 -3
  118. package/dist/{renderer-36JH4OMC.js → renderer-DBNDLKPE.js} +9 -9
  119. package/dist/{renderer-KVAQE7PQ.js → renderer-DCJ4AQ3N.js} +7 -7
  120. package/dist/{renderer-LODEVN3V.js → renderer-EAORWLVK.js} +10 -10
  121. package/dist/{renderer-XRALFCIN.js → renderer-FCXRDYSJ.js} +8 -8
  122. package/dist/{renderer-YDAVCRTP.js → renderer-IR5GGAPB.js} +8 -8
  123. package/dist/{renderer-QM23SWAM.js → renderer-J4OS77PK.js} +2 -2
  124. package/dist/{renderer-4BIMRO4X.js → renderer-JR2XNZAH.js} +6 -6
  125. package/dist/{renderer-JKV2DBYP.js → renderer-JRVY7HAD.js} +6 -6
  126. package/dist/{renderer-R34GJL7U.js → renderer-NAA7D33G.js} +11 -11
  127. package/dist/{renderer-SDUSBCJI.js → renderer-P4XCRNCY.js} +7 -7
  128. package/dist/{renderer-A6ACVK4X.js → renderer-QQHQY3GT.js} +6 -6
  129. package/dist/{renderer-YIZ7G4HU.js → renderer-TJJGFQGT.js} +13 -13
  130. package/dist/{renderer-TPOZOAXR.js → renderer-VGQMJC5K.js} +12 -12
  131. package/dist/{renderer-XUPLAO4B.js → renderer-VYWCMRWA.js} +7 -7
  132. package/dist/{renderer-WH2HWE5Z.js → renderer-WB75JME5.js} +8 -8
  133. package/dist/{renderer-BICLPGAH.js → renderer-WQ654YT5.js} +2 -2
  134. package/dist/{renderer-6BUUTWVS.js → renderer-XFEZ5UBE.js} +8 -8
  135. package/dist/{renderer-4NZZ5J2F.js → renderer-XHEMXBQM.js} +7 -7
  136. package/dist/{renderer-RENDISO5.js → renderer-YTEZK3GC.js} +12 -12
  137. package/dist/{renderer-X5A5VIRD.js → renderer-ZXQXRNDR.js} +8 -8
  138. package/dist/{renderer-radial-XZ5TKUT4.js → renderer-radial-NA5DVBG4.js} +7 -7
  139. package/dist/{state-renderer-5IQ4OJUI.js → state-renderer-4S2C2CHB.js} +9 -9
  140. package/docs/ai-integration.md +5 -3
  141. package/docs/language-reference.md +2 -2
  142. package/package.json +1 -1
  143. package/dist/{chunk-3TYUXC7D.js → chunk-2SKMEL7V.js} +0 -0
  144. package/dist/{chunk-CLQIXD2C.js → chunk-7Z2VFRP5.js} +3 -3
  145. package/dist/{chunk-NF5YKFRH.js → chunk-B3S76BZO.js} +0 -0
  146. package/dist/{chunk-UIUXIDBX.js → chunk-CUYHST3B.js} +4 -4
  147. package/dist/{chunk-GUYVKGFN.js → chunk-DPSMX4EY.js} +0 -0
  148. package/dist/{chunk-2A4DQAXG.js → chunk-IIOLFAGJ.js} +3 -3
@@ -2,6 +2,7 @@ import {
2
2
  layoutBracket
3
3
  } from "./chunk-ABP5BUD6.js";
4
4
  import {
5
+ REGISTRY_BY_ID,
5
6
  getRenderCategory,
6
7
  parseArc,
7
8
  parseDgmo,
@@ -11,7 +12,7 @@ import {
11
12
  parseVenn,
12
13
  parseVisualization,
13
14
  parseWordcloud
14
- } from "./chunk-MSXRNVHB.js";
15
+ } from "./chunk-Q6SQISHT.js";
15
16
  import {
16
17
  MAP_DX
17
18
  } from "./chunk-EOYPX6SF.js";
@@ -26,7 +27,7 @@ import {
26
27
  } from "./chunk-47E5UTXE.js";
27
28
  import {
28
29
  renderDataChartD3
29
- } from "./chunk-H2GEIFUF.js";
30
+ } from "./chunk-3AQJNY65.js";
30
31
  import {
31
32
  computeQuadrantPointLabels
32
33
  } from "./chunk-KMU65FYM.js";
@@ -40,7 +41,7 @@ import {
40
41
  } from "./chunk-7UDAIP6W.js";
41
42
  import {
42
43
  renderTimeline
43
- } from "./chunk-JLETTWUJ.js";
44
+ } from "./chunk-UWKRPQZO.js";
44
45
  import {
45
46
  ScaleContext
46
47
  } from "./chunk-24YPR5EH.js";
@@ -59,13 +60,13 @@ import {
59
60
  renderChartTitle,
60
61
  resolveExportPalette,
61
62
  showTooltip
62
- } from "./chunk-RE6TVIAV.js";
63
+ } from "./chunk-UKJLPA7R.js";
63
64
  import {
64
65
  legendInlineSupported
65
- } from "./chunk-3DOQOXXI.js";
66
+ } from "./chunk-CNUN5GO6.js";
66
67
  import {
67
68
  compactNumber
68
- } from "./chunk-FM3WAVB6.js";
69
+ } from "./chunk-NS7L7YKH.js";
69
70
  import {
70
71
  FONT_FAMILY
71
72
  } from "./chunk-ICLB27PZ.js";
@@ -74,7 +75,7 @@ import {
74
75
  } from "./chunk-WQ6G6FFM.js";
75
76
  import {
76
77
  parseJourneyMap
77
- } from "./chunk-NF5YKFRH.js";
78
+ } from "./chunk-B3S76BZO.js";
78
79
  import {
79
80
  parsePyramid
80
81
  } from "./chunk-PIXJL77H.js";
@@ -128,7 +129,7 @@ import {
128
129
  } from "./chunk-QFHWYWQL.js";
129
130
  import {
130
131
  parseKanban
131
- } from "./chunk-GUYVKGFN.js";
132
+ } from "./chunk-DPSMX4EY.js";
132
133
  import {
133
134
  parseC4
134
135
  } from "./chunk-GSYZZFI5.js";
@@ -137,23 +138,22 @@ import {
137
138
  } from "./chunk-GUTZCRBT.js";
138
139
  import {
139
140
  parseGantt
140
- } from "./chunk-BAZT6CIF.js";
141
- import {
142
- measureText,
143
- wrapTextToWidth
144
- } from "./chunk-KAO7JL4I.js";
141
+ } from "./chunk-ITSBBQTH.js";
145
142
  import {
146
143
  parseRaci
147
144
  } from "./chunk-3RYBTEF5.js";
148
145
  import {
149
146
  parsePert
150
- } from "./chunk-UNNJCSSQ.js";
147
+ } from "./chunk-JVZ7KFAX.js";
151
148
  import {
152
149
  parseLiveLink
153
150
  } from "./chunk-7WGCQE2E.js";
151
+ import {
152
+ getPalette
153
+ } from "./chunk-NIUO2TNR.js";
154
154
  import {
155
155
  parseSequenceDgmo
156
- } from "./chunk-VPASQOR3.js";
156
+ } from "./chunk-LFKSHDVI.js";
157
157
  import {
158
158
  parseFlowchart
159
159
  } from "./chunk-JRUEIRJB.js";
@@ -162,7 +162,7 @@ import {
162
162
  } from "./chunk-AYOVY75O.js";
163
163
  import {
164
164
  parseClassDiagram
165
- } from "./chunk-A4XPI4YN.js";
165
+ } from "./chunk-MFW6P7WH.js";
166
166
  import {
167
167
  parseERDiagram
168
168
  } from "./chunk-WPL5PFXE.js";
@@ -180,13 +180,14 @@ import {
180
180
  tagAttrKey
181
181
  } from "./chunk-L5AFONQU.js";
182
182
  import {
183
- getPalette
184
- } from "./chunk-IDJGV6VM.js";
183
+ measureText,
184
+ wrapTextToWidth
185
+ } from "./chunk-KAO7JL4I.js";
185
186
  import {
186
187
  getSeriesColors,
187
188
  mix,
188
189
  themeBaseBg
189
- } from "./chunk-7HWY4QAJ.js";
190
+ } from "./chunk-L24LESXF.js";
190
191
  import {
191
192
  emit,
192
193
  makeDgmoError
@@ -2076,13 +2077,13 @@ function resolveArcChordOverride(content, detectedType, palette) {
2076
2077
  }
2077
2078
  async function renderForExport(content, theme, palette, viewState, options) {
2078
2079
  const exportMode = options?.exportMode ?? false;
2079
- const { parseDgmoChartType } = await import("./dgmo-router-F2DSURTR.js");
2080
+ const { parseDgmoChartType } = await import("./dgmo-router-7WANZOBD.js");
2080
2081
  const detectedTypeRaw = parseDgmoChartType(content);
2081
2082
  const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
2082
2083
  const renderContent = override?.content ?? content;
2083
2084
  const detectedType = override?.type ?? detectedTypeRaw;
2084
2085
  if (detectedType !== null) {
2085
- const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-3BZRSZV6.js");
2086
+ const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-KEQSUWKP.js");
2086
2087
  if (supportsD3DataChart(detectedType)) {
2087
2088
  return renderDataChartD32(renderContent, theme, palette, {
2088
2089
  ...options?.width !== void 0 && { width: options.width },
@@ -2116,7 +2117,7 @@ function ctxTagOverride(ctx) {
2116
2117
  async function exportEventLine(ctx) {
2117
2118
  const { content, theme, palette } = ctx;
2118
2119
  const { parseEventLine: parseEventLine2 } = await import("./parser-KFYRTGTC.js");
2119
- const { renderEventLineForExport } = await import("./renderer-TPOZOAXR.js");
2120
+ const { renderEventLineForExport } = await import("./renderer-VGQMJC5K.js");
2120
2121
  const effectivePalette = await resolveExportPalette(theme, palette);
2121
2122
  const parsed = parseEventLine2(content, effectivePalette);
2122
2123
  if (parsed.error || parsed.events.length === 0) return "";
@@ -2135,7 +2136,7 @@ async function exportEventLine(ctx) {
2135
2136
  async function exportBody(ctx) {
2136
2137
  const { content, theme, palette } = ctx;
2137
2138
  const { parseBody: parseBody2 } = await import("./parser-AKBVJHMK.js");
2138
- const { renderBodyForExport } = await import("./renderer-JKV2DBYP.js");
2139
+ const { renderBodyForExport } = await import("./renderer-JRVY7HAD.js");
2139
2140
  const effectivePalette = await resolveExportPalette(theme, palette);
2140
2141
  const parsed = parseBody2(content, effectivePalette);
2141
2142
  if (parsed.error) return "";
@@ -2153,7 +2154,7 @@ async function exportBody(ctx) {
2153
2154
  async function exportVersionControl(ctx) {
2154
2155
  const { content, theme, palette } = ctx;
2155
2156
  const { parseVersionControl: parseVersionControl2 } = await import("./parser-KZMJNKDW.js");
2156
- const { renderVersionControlForExport } = await import("./renderer-BICLPGAH.js");
2157
+ const { renderVersionControlForExport } = await import("./renderer-WQ654YT5.js");
2157
2158
  const effectivePalette = await resolveExportPalette(theme, palette);
2158
2159
  const parsed = parseVersionControl2(content, effectivePalette);
2159
2160
  if (parsed.error || parsed.nodes.length === 0) return "";
@@ -2178,9 +2179,9 @@ function unionHiddenAttributes(hideOption, ha) {
2178
2179
  async function exportOrg(ctx) {
2179
2180
  const { content, theme, palette, viewState, exportMode } = ctx;
2180
2181
  const { parseOrg: parseOrg2, findOrgNodeIdByName } = await import("./parser-JOOAVBJI.js");
2181
- const { layoutOrg } = await import("./layout-QX5T6ZNE.js");
2182
+ const { layoutOrg } = await import("./layout-6L3BIFEZ.js");
2182
2183
  const { collapseOrgTree, focusOrgTree, unionCollapsedOrgNodes } = await import("./collapse-JRGPUE67.js");
2183
- const { renderOrg, ancestorTrailReserve } = await import("./renderer-36JH4OMC.js");
2184
+ const { renderOrg, ancestorTrailReserve } = await import("./renderer-DBNDLKPE.js");
2184
2185
  const isDark = ctx.isDark;
2185
2186
  const effectivePalette = await resolveExportPalette(theme, palette);
2186
2187
  const orgParsed = parseOrg2(content, effectivePalette);
@@ -2242,9 +2243,9 @@ async function exportOrg(ctx) {
2242
2243
  async function exportSitemap(ctx) {
2243
2244
  const { content, theme, palette, viewState, exportMode } = ctx;
2244
2245
  const { parseSitemap: parseSitemap2 } = await import("./parser-OKB64MMN.js");
2245
- const { layoutSitemap } = await import("./layout-LUQKAGGT.js");
2246
+ const { layoutSitemap } = await import("./layout-EFEZ533S.js");
2246
2247
  const { collapseSitemapTree } = await import("./collapse-ZWUFFCK2.js");
2247
- const { renderSitemap } = await import("./renderer-WH2HWE5Z.js");
2248
+ const { renderSitemap } = await import("./renderer-WB75JME5.js");
2248
2249
  const isDark = ctx.isDark;
2249
2250
  const effectivePalette = await resolveExportPalette(theme, palette);
2250
2251
  const sitemapParsed = parseSitemap2(content, effectivePalette);
@@ -2272,7 +2273,7 @@ async function exportSitemap(ctx) {
2272
2273
  const {
2273
2274
  LEGEND_HEIGHT: SITEMAP_LEGEND_HEIGHT,
2274
2275
  LEGEND_GROUP_GAP: SITEMAP_LEGEND_GROUP_GAP
2275
- } = await import("./legend-constants-ZVO4FLAK.js");
2276
+ } = await import("./legend-constants-HE7FVDJP.js");
2276
2277
  const suppressedLegendBand = sitemapLayout.legend.length > 0 && effectiveParsed.options["no-legend"] === "on" ? SITEMAP_LEGEND_HEIGHT + SITEMAP_LEGEND_GROUP_GAP : 0;
2277
2278
  const exportWidth = sitemapLayout.width + PADDING * 2;
2278
2279
  const exportHeight = sitemapLayout.height + PADDING * 2 + titleOffset - suppressedLegendBand;
@@ -2293,8 +2294,8 @@ async function exportSitemap(ctx) {
2293
2294
  }
2294
2295
  async function exportKanban(ctx) {
2295
2296
  const { content, theme, palette, viewState, exportMode } = ctx;
2296
- const { parseKanban: parseKanban2 } = await import("./parser-ACW6C6OY.js");
2297
- const { renderKanban } = await import("./renderer-3FF4QVGW.js");
2297
+ const { parseKanban: parseKanban2 } = await import("./parser-337TACHB.js");
2298
+ const { renderKanban } = await import("./renderer-7VQOKAII.js");
2298
2299
  const effectivePalette = await resolveExportPalette(theme, palette);
2299
2300
  const kanbanParsed = parseKanban2(content, effectivePalette);
2300
2301
  if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
@@ -2325,9 +2326,9 @@ async function exportKanban(ctx) {
2325
2326
  }
2326
2327
  async function exportClass(ctx) {
2327
2328
  const { content, theme, palette, exportMode } = ctx;
2328
- const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-GPW4ZHPQ.js");
2329
- const { layoutClassDiagram } = await import("./layout-P6DTD4RT.js");
2330
- const { renderClassDiagram } = await import("./renderer-A4LMOBZL.js");
2329
+ const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-IMM2JJX3.js");
2330
+ const { layoutClassDiagram } = await import("./layout-4RRC7XU7.js");
2331
+ const { renderClassDiagram } = await import("./renderer-4JE5ORRO.js");
2331
2332
  const effectivePalette = await resolveExportPalette(theme, palette);
2332
2333
  const classParsed = parseClassDiagram2(content, effectivePalette);
2333
2334
  if (classParsed.error || classParsed.classes.length === 0) return "";
@@ -2353,8 +2354,8 @@ async function exportClass(ctx) {
2353
2354
  async function exportEr(ctx) {
2354
2355
  const { content, theme, palette, viewState, exportMode } = ctx;
2355
2356
  const { parseERDiagram: parseERDiagram2 } = await import("./parser-J4DVNL4W.js");
2356
- const { layoutERDiagram } = await import("./layout-EHTYSMV4.js");
2357
- const { renderERDiagram } = await import("./renderer-R34GJL7U.js");
2357
+ const { layoutERDiagram } = await import("./layout-H4K54IW3.js");
2358
+ const { renderERDiagram } = await import("./renderer-NAA7D33G.js");
2358
2359
  const effectivePalette = await resolveExportPalette(theme, palette);
2359
2360
  const erParsed = parseERDiagram2(content, effectivePalette);
2360
2361
  if (erParsed.error || erParsed.tables.length === 0) return "";
@@ -2393,7 +2394,7 @@ async function exportSketch(ctx) {
2393
2394
  return "";
2394
2395
  }
2395
2396
  const { layoutSketch } = await import("./layout-MSSHF45T.js");
2396
- const { renderSketchForExport } = await import("./renderer-RAATRF6W.js");
2397
+ const { renderSketchForExport } = await import("./renderer-5GZNGZU5.js");
2397
2398
  const collapsedBoxes = viewState?.cg ? new Set(viewState.cg) : void 0;
2398
2399
  const skLayout = layoutSketch(parsed, {
2399
2400
  ...collapsedBoxes !== void 0 && { collapsedBoxes }
@@ -2431,8 +2432,8 @@ async function exportBoxesAndLines(ctx) {
2431
2432
  blHiddenTagValues.set(k, new Set(v));
2432
2433
  }
2433
2434
  }
2434
- const { renderBoxesAndLinesForExport } = await import("./renderer-X5A5VIRD.js");
2435
- const { layoutBoxesAndLines } = await import("./layout-BOVTLAOT.js");
2435
+ const { renderBoxesAndLinesForExport } = await import("./renderer-ZXQXRNDR.js");
2436
+ const { layoutBoxesAndLines } = await import("./layout-ZP7XYVXF.js");
2436
2437
  const blLayout = await layoutBoxesAndLines(blParsed);
2437
2438
  const PADDING = 20;
2438
2439
  const titleOffset = blParsed.title ? 40 : 0;
@@ -2463,7 +2464,7 @@ async function exportSwimlane(ctx) {
2463
2464
  const { content, theme, palette } = ctx;
2464
2465
  const { parseSwimlane: parseSwimlane2 } = await import("./parser-ZLKYDFI5.js");
2465
2466
  const { layoutSwimlane } = await import("./layout-RANVNAKI.js");
2466
- const { renderSwimlaneForExport } = await import("./renderer-QM23SWAM.js");
2467
+ const { renderSwimlaneForExport } = await import("./renderer-J4OS77PK.js");
2467
2468
  const effectivePalette = await resolveExportPalette(theme, palette);
2468
2469
  const swimParsed = parseSwimlane2(content, effectivePalette);
2469
2470
  if (swimParsed.error || swimParsed.nodes.length === 0) return "";
@@ -2495,7 +2496,7 @@ async function exportFamily(ctx) {
2495
2496
  const { content, theme, palette } = ctx;
2496
2497
  const { parseFamily: parseFamily2 } = await import("./parser-NPXPJHWN.js");
2497
2498
  const { layoutFamily } = await import("./layout-5VSMZPMG.js");
2498
- const { renderFamilyForExport } = await import("./renderer-4NZZ5J2F.js");
2499
+ const { renderFamilyForExport } = await import("./renderer-XHEMXBQM.js");
2499
2500
  const effectivePalette = await resolveExportPalette(theme, palette);
2500
2501
  const parsed = parseFamily2(content, effectivePalette);
2501
2502
  if (parsed.error || parsed.persons.size === 0) return "";
@@ -2526,9 +2527,9 @@ async function exportFamily(ctx) {
2526
2527
  async function exportMindmap(ctx) {
2527
2528
  const { content, theme, palette, viewState, exportMode } = ctx;
2528
2529
  const { parseMindmap: parseMindmap2 } = await import("./parser-NGHQQGD2.js");
2529
- const { layoutMindmap } = await import("./layout-5NPBHV5F.js");
2530
+ const { layoutMindmap } = await import("./layout-PP36LUTA.js");
2530
2531
  const { collapseMindmapTree } = await import("./collapse-SLINJQW6.js");
2531
- const { renderMindmap } = await import("./renderer-LODEVN3V.js");
2532
+ const { renderMindmap } = await import("./renderer-EAORWLVK.js");
2532
2533
  const isDark = ctx.isDark;
2533
2534
  const effectivePalette = await resolveExportPalette(theme, palette);
2534
2535
  const mmParsed = parseMindmap2(content, effectivePalette);
@@ -2580,7 +2581,7 @@ async function exportWireframe(ctx) {
2580
2581
  const { content, theme, palette } = ctx;
2581
2582
  const { parseWireframe: parseWireframe2 } = await import("./parser-HCGXNHHL.js");
2582
2583
  const { layoutWireframe } = await import("./layout-UIV56NUA.js");
2583
- const { renderWireframe } = await import("./renderer-RWJ45DWH.js");
2584
+ const { renderWireframe } = await import("./renderer-2ZQ6DPVD.js");
2584
2585
  const effectivePalette = await resolveExportPalette(theme, palette);
2585
2586
  const wireframeParsed = parseWireframe2(content);
2586
2587
  if (wireframeParsed.error || wireframeParsed.roots.length === 0 && wireframeParsed.modals.length === 0)
@@ -2609,8 +2610,8 @@ async function exportC4(ctx) {
2609
2610
  layoutC4Containers,
2610
2611
  layoutC4Components,
2611
2612
  layoutC4Deployment
2612
- } = await import("./layout-CUFA7XJD.js");
2613
- const { renderC4Context, renderC4Containers } = await import("./renderer-YDAVCRTP.js");
2613
+ } = await import("./layout-Q3RYSODA.js");
2614
+ const { renderC4Context, renderC4Containers } = await import("./renderer-IR5GGAPB.js");
2614
2615
  const effectivePalette = await resolveExportPalette(theme, palette);
2615
2616
  const c4Parsed = parseC42(content, effectivePalette);
2616
2617
  if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
@@ -2646,7 +2647,7 @@ async function exportFlowchart(ctx) {
2646
2647
  const { content, theme, palette } = ctx;
2647
2648
  const { parseFlowchart: parseFlowchart2 } = await import("./flowchart-parser-GG7XBLQH.js");
2648
2649
  const { layoutGraph } = await import("./layout-XUW444O5.js");
2649
- const { renderFlowchart } = await import("./flowchart-renderer-THC6Y7EH.js");
2650
+ const { renderFlowchart } = await import("./flowchart-renderer-DZQZRL2F.js");
2650
2651
  const effectivePalette = await resolveExportPalette(theme, palette);
2651
2652
  const fcParsed = parseFlowchart2(content, effectivePalette);
2652
2653
  if (fcParsed.error || fcParsed.nodes.length === 0) return "";
@@ -2668,7 +2669,7 @@ async function exportInfra(ctx) {
2668
2669
  const { parseInfra: parseInfra2 } = await import("./parser-DGF3ZEO6.js");
2669
2670
  const { computeInfra } = await import("./compute-JAP5E2E4.js");
2670
2671
  const { layoutInfra } = await import("./layout-SW3XWYKC.js");
2671
- const { renderInfra, computeInfraLegendGroups } = await import("./renderer-SDUSBCJI.js");
2672
+ const { renderInfra, computeInfraLegendGroups } = await import("./renderer-P4XCRNCY.js");
2672
2673
  const effectivePalette = await resolveExportPalette(theme, palette);
2673
2674
  const infraParsed = parseInfra2(content);
2674
2675
  if (infraParsed.error || infraParsed.nodes.length === 0) return "";
@@ -2715,10 +2716,10 @@ async function exportInfra(ctx) {
2715
2716
  }
2716
2717
  async function exportPert(ctx) {
2717
2718
  const { content, theme, palette, viewState } = ctx;
2718
- const { parsePert: parsePert2 } = await import("./parser-JXS4426S.js");
2719
- const { analyzePert } = await import("./analyzer-R5UBTRO2.js");
2720
- const { layoutPert } = await import("./layout-AM57TGN5.js");
2721
- const { renderPert, measurePertAnalysisBlock } = await import("./renderer-RENDISO5.js");
2719
+ const { parsePert: parsePert2 } = await import("./parser-P4TOQYNN.js");
2720
+ const { analyzePert } = await import("./analyzer-7ZGAZIE6.js");
2721
+ const { layoutPert } = await import("./layout-IGAVGDME.js");
2722
+ const { renderPert, measurePertAnalysisBlock } = await import("./renderer-YTEZK3GC.js");
2722
2723
  const effectivePalette = await resolveExportPalette(theme, palette);
2723
2724
  const pertParsed = parsePert2(content, { palette: effectivePalette });
2724
2725
  if (pertParsed.error || pertParsed.activities.length === 0) return "";
@@ -2761,9 +2762,9 @@ async function exportPert(ctx) {
2761
2762
  }
2762
2763
  async function exportGantt(ctx) {
2763
2764
  const { content, theme, palette, viewState, exportMode } = ctx;
2764
- const { parseGantt: parseGantt2 } = await import("./parser-WUK6CP5X.js");
2765
+ const { parseGantt: parseGantt2 } = await import("./parser-GCCWMBTU.js");
2765
2766
  const { calculateSchedule } = await import("./calculator-35YVW4QO.js");
2766
- const { renderGantt } = await import("./renderer-RNCYODNF.js");
2767
+ const { renderGantt } = await import("./renderer-7L7J4DHO.js");
2767
2768
  const effectivePalette = await resolveExportPalette(theme, palette);
2768
2769
  const ganttParsed = parseGantt2(content, effectivePalette);
2769
2770
  const resolved = calculateSchedule(ganttParsed);
@@ -2806,7 +2807,7 @@ async function exportState(ctx) {
2806
2807
  const { content, theme, palette, viewState } = ctx;
2807
2808
  const { parseState: parseState2 } = await import("./state-parser-FE3RF6XY.js");
2808
2809
  const { layoutGraph } = await import("./layout-XUW444O5.js");
2809
- const { renderState } = await import("./state-renderer-5IQ4OJUI.js");
2810
+ const { renderState } = await import("./state-renderer-4S2C2CHB.js");
2810
2811
  const { collapseStateGroups } = await import("./state-collapse-HCGD6IVJ.js");
2811
2812
  const effectivePalette = await resolveExportPalette(theme, palette);
2812
2813
  const stateParsed = parseState2(content, effectivePalette);
@@ -2844,7 +2845,7 @@ async function exportState(ctx) {
2844
2845
  async function exportTechRadar(ctx) {
2845
2846
  const { content, theme, palette, viewState, exportMode } = ctx;
2846
2847
  const { parseTechRadar: parseTechRadar2 } = await import("./parser-NOANDFJ4.js");
2847
- const { renderTechRadarForExport } = await import("./renderer-A6ACVK4X.js");
2848
+ const { renderTechRadarForExport } = await import("./renderer-QQHQY3GT.js");
2848
2849
  const effectivePalette = await resolveExportPalette(theme, palette);
2849
2850
  const radarParsed = parseTechRadar2(content);
2850
2851
  if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
@@ -2864,9 +2865,9 @@ async function exportTechRadar(ctx) {
2864
2865
  }
2865
2866
  async function exportJourneyMap(ctx) {
2866
2867
  const { content, theme, palette, exportMode } = ctx;
2867
- const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-C327BBE3.js");
2868
- const { renderJourneyMap } = await import("./renderer-NHPKNNBD.js");
2869
- const { layoutJourneyMap } = await import("./layout-SOPAVXIH.js");
2868
+ const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-UTXFJG4X.js");
2869
+ const { renderJourneyMap } = await import("./renderer-3AD4NDF5.js");
2870
+ const { layoutJourneyMap } = await import("./layout-DXVAYF6W.js");
2870
2871
  const effectivePalette = await resolveExportPalette(theme, palette);
2871
2872
  const jmParsed = parseJourneyMap2(content, effectivePalette);
2872
2873
  if (jmParsed.error || jmParsed.phases.length === 0 && jmParsed.steps.length === 0)
@@ -2887,7 +2888,7 @@ async function exportJourneyMap(ctx) {
2887
2888
  async function exportCycle(ctx) {
2888
2889
  const { content, theme, palette, viewState, exportMode } = ctx;
2889
2890
  const { parseCycle: parseCycle2 } = await import("./parser-7OEE7QT6.js");
2890
- const { renderCycleForExport } = await import("./renderer-4BIMRO4X.js");
2891
+ const { renderCycleForExport } = await import("./renderer-JR2XNZAH.js");
2891
2892
  const effectivePalette = await resolveExportPalette(theme, palette);
2892
2893
  const cycleParsed = parseCycle2(content);
2893
2894
  if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
@@ -2907,8 +2908,8 @@ async function exportMap(ctx) {
2907
2908
  const { content, theme, palette, options } = ctx;
2908
2909
  const { parseMap: parseMap2 } = await import("./parser-GEKPWSSK.js");
2909
2910
  const { resolveMap } = await import("./resolver-XSXE2TRX.js");
2910
- const { renderMapForExport } = await import("./renderer-XRALFCIN.js");
2911
- const { mapExportDimensions } = await import("./dimensions-6QAWEGIR.js");
2911
+ const { renderMapForExport } = await import("./renderer-FCXRDYSJ.js");
2912
+ const { mapExportDimensions } = await import("./dimensions-7MF7VSGS.js");
2912
2913
  const effectivePalette = await resolveExportPalette(theme, palette);
2913
2914
  const mapParsed = parseMap2(content, effectivePalette);
2914
2915
  const { data: mapData, reason } = await resolveMapDataSource(
@@ -2942,7 +2943,7 @@ async function exportMap(ctx) {
2942
2943
  async function exportPyramid(ctx) {
2943
2944
  const { content, theme, palette } = ctx;
2944
2945
  const { parsePyramid: parsePyramid2 } = await import("./parser-OVQTTTUJ.js");
2945
- const { renderPyramidForExport } = await import("./renderer-4BHOELCE.js");
2946
+ const { renderPyramidForExport } = await import("./renderer-BLHN3RCY.js");
2946
2947
  const effectivePalette = await resolveExportPalette(theme, palette);
2947
2948
  const pyramidParsed = parsePyramid2(content);
2948
2949
  if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
@@ -2959,7 +2960,7 @@ async function exportPyramid(ctx) {
2959
2960
  async function exportRing(ctx) {
2960
2961
  const { content, theme, palette } = ctx;
2961
2962
  const { parseRing: parseRing2 } = await import("./parser-GZ3LVF72.js");
2962
- const { renderRingForExport } = await import("./renderer-2OOPQ4CH.js");
2963
+ const { renderRingForExport } = await import("./renderer-CHQZES6G.js");
2963
2964
  const effectivePalette = await resolveExportPalette(theme, palette);
2964
2965
  const ringParsed = parseRing2(content);
2965
2966
  if (ringParsed.error || ringParsed.layers.length === 0) return "";
@@ -2979,7 +2980,7 @@ async function exportTreemap(ctx) {
2979
2980
  const container = createExportContainer(ctx.width, ctx.height);
2980
2981
  const dims = { width: ctx.width, height: ctx.height };
2981
2982
  if (treemapParsed.options.radial) {
2982
- const { renderTreemapRadialForExport } = await import("./renderer-radial-XZ5TKUT4.js");
2983
+ const { renderTreemapRadialForExport } = await import("./renderer-radial-NA5DVBG4.js");
2983
2984
  renderTreemapRadialForExport(
2984
2985
  container,
2985
2986
  treemapParsed,
@@ -2988,7 +2989,7 @@ async function exportTreemap(ctx) {
2988
2989
  dims
2989
2990
  );
2990
2991
  } else {
2991
- const { renderTreemapForExport } = await import("./renderer-6BUUTWVS.js");
2992
+ const { renderTreemapForExport } = await import("./renderer-XFEZ5UBE.js");
2992
2993
  renderTreemapForExport(
2993
2994
  container,
2994
2995
  treemapParsed,
@@ -3002,14 +3003,14 @@ async function exportTreemap(ctx) {
3002
3003
  async function exportLiveLink(ctx) {
3003
3004
  const { content, theme, palette } = ctx;
3004
3005
  const { parseLiveLink: parseLiveLink2 } = await import("./parser-XYY5NHP4.js");
3005
- const { renderLiveLinkCard } = await import("./renderer-YIZ7G4HU.js");
3006
+ const { renderLiveLinkCard } = await import("./renderer-TJJGFQGT.js");
3006
3007
  const effectivePalette = await resolveExportPalette(theme, palette);
3007
3008
  return renderLiveLinkCard(parseLiveLink2(content), effectivePalette, theme);
3008
3009
  }
3009
3010
  async function exportBlock(ctx) {
3010
3011
  const { content, theme, palette } = ctx;
3011
3012
  const { parseBlock: parseBlock2 } = await import("./parser-5655XSOR.js");
3012
- const { renderBlockForExport } = await import("./renderer-KVAQE7PQ.js");
3013
+ const { renderBlockForExport } = await import("./renderer-DCJ4AQ3N.js");
3013
3014
  const effectivePalette = await resolveExportPalette(theme, palette);
3014
3015
  const blockParsed = parseBlock2(content, effectivePalette);
3015
3016
  if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
@@ -3023,7 +3024,7 @@ async function exportBlock(ctx) {
3023
3024
  async function exportGoal(ctx) {
3024
3025
  const { content, theme, palette } = ctx;
3025
3026
  const { parseGoal: parseGoal2 } = await import("./parser-SA3RAJFS.js");
3026
- const { renderGoalForExport } = await import("./renderer-222OTVQV.js");
3027
+ const { renderGoalForExport } = await import("./renderer-7HOSI6JJ.js");
3027
3028
  const effectivePalette = await resolveExportPalette(theme, palette);
3028
3029
  const parsed = parseGoal2(content, effectivePalette);
3029
3030
  if (parsed.error) return "";
@@ -3037,7 +3038,7 @@ async function exportGoal(ctx) {
3037
3038
  async function exportCountdown(ctx) {
3038
3039
  const { content, theme, palette } = ctx;
3039
3040
  const { parseCountdown: parseCountdown2 } = await import("./parser-LGS65QPN.js");
3040
- const { renderCountdownForExport } = await import("./renderer-DCFQDBGJ.js");
3041
+ const { renderCountdownForExport } = await import("./renderer-7MCC6GKH.js");
3041
3042
  const effectivePalette = await resolveExportPalette(theme, palette);
3042
3043
  const parsed = parseCountdown2(content, effectivePalette);
3043
3044
  if (parsed.error) return "";
@@ -3051,7 +3052,7 @@ async function exportCountdown(ctx) {
3051
3052
  async function exportClock(ctx) {
3052
3053
  const { content, theme, palette } = ctx;
3053
3054
  const { parseClock: parseClock2 } = await import("./parser-256EIWB2.js");
3054
- const { renderClockForExport } = await import("./renderer-PQYO2HCE.js");
3055
+ const { renderClockForExport } = await import("./renderer-CEIX5JPA.js");
3055
3056
  const effectivePalette = await resolveExportPalette(theme, palette);
3056
3057
  const parsed = parseClock2(content, effectivePalette);
3057
3058
  if (parsed.error) return "";
@@ -3065,7 +3066,7 @@ async function exportClock(ctx) {
3065
3066
  async function exportBracket(ctx) {
3066
3067
  const { content, theme, palette } = ctx;
3067
3068
  const { parseBracket: parseBracket2 } = await import("./parser-DHSFIUPU.js");
3068
- const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-XUPLAO4B.js");
3069
+ const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-VYWCMRWA.js");
3069
3070
  const effectivePalette = await resolveExportPalette(theme, palette);
3070
3071
  const parsed = parseBracket2(content, effectivePalette);
3071
3072
  if (parsed.error) return "";
@@ -3080,7 +3081,7 @@ async function exportBracket(ctx) {
3080
3081
  async function exportRaci(ctx) {
3081
3082
  const { content, theme, palette } = ctx;
3082
3083
  const { parseRaci: parseRaci2 } = await import("./parser-LANGKWRG.js");
3083
- const { renderRaciForExport } = await import("./renderer-RMGN3Q7D.js");
3084
+ const { renderRaciForExport } = await import("./renderer-6OQM32X3.js");
3084
3085
  const effectivePalette = await resolveExportPalette(theme, palette);
3085
3086
  const raciParsed = parseRaci2(content, effectivePalette);
3086
3087
  if (raciParsed.error) return "";
@@ -3212,8 +3213,8 @@ async function exportVisualization(ctx) {
3212
3213
  const effectivePalette = await resolveExportPalette(theme, palette);
3213
3214
  const isDark = ctx.isDark;
3214
3215
  const container = createExportContainer(ctx.width, ctx.height);
3215
- const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-PVIWHVGY.js");
3216
- const { renderSequenceDiagram } = await import("./renderer-2KVQGGTT.js");
3216
+ const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-TL3JA4RI.js");
3217
+ const { renderSequenceDiagram } = await import("./renderer-43ESBXVY.js");
3217
3218
  const seqParsed = parseSequenceDgmo2(content, effectivePalette);
3218
3219
  if (seqParsed.error || seqParsed.participants.length === 0) return "";
3219
3220
  const collapsedSections = viewState?.cs ? new Set(viewState.cs) : void 0;
@@ -3809,13 +3810,14 @@ function injectHoverStyles(svg, chartType, opts) {
3809
3810
  }
3810
3811
 
3811
3812
  // src/utils/root-a11y.ts
3812
- function applyRootA11y(svg, chartType) {
3813
+ function applyRootA11y(svg, chartType, title) {
3813
3814
  if (!chartType) return svg;
3814
3815
  const m = svg.match(/<svg\b[^>]*>/);
3815
3816
  if (!m) return svg;
3816
3817
  const rootTag = m[0];
3817
3818
  if (/\brole=/.test(rootTag) || /\baria-label=/.test(rootTag)) return svg;
3818
- const label = `${chartType.charAt(0).toUpperCase()}${chartType.slice(1)} diagram`;
3819
+ const typeLabel = `${chartType.charAt(0).toUpperCase()}${chartType.slice(1)} diagram`;
3820
+ const label = title ? `${title} \u2014 ${typeLabel}` : typeLabel;
3819
3821
  const withA11y = rootTag.replace(
3820
3822
  /^<svg\b/,
3821
3823
  `<svg role="img" aria-label="${escapeAttr(label)}"`
@@ -4546,6 +4548,13 @@ function summarizeDiagram(content, chartType) {
4546
4548
  }
4547
4549
 
4548
4550
  // src/render.ts
4551
+ function diagramTitle(content, chartType) {
4552
+ const parse = chartType ? REGISTRY_BY_ID.get(chartType)?.parse : void 0;
4553
+ if (!parse) return null;
4554
+ const model = parse(content);
4555
+ const title = chartType === "gantt" ? model.options?.title : model.title;
4556
+ return typeof title === "string" && title.trim() ? title.trim() : null;
4557
+ }
4549
4558
  var DOM_GLOBALS = [
4550
4559
  "document",
4551
4560
  "window",
@@ -4563,11 +4572,17 @@ function domState() {
4563
4572
  };
4564
4573
  }
4565
4574
  async function installDom(state) {
4566
- const { JSDOM } = await loadJsdom();
4567
- const dom = new JSDOM("<!DOCTYPE html><html><body></body></html>", {
4568
- url: "http://localhost/"
4569
- });
4570
- const win = dom.window;
4575
+ let win = state.window;
4576
+ if (win) {
4577
+ win.document.head.replaceChildren();
4578
+ win.document.body.replaceChildren();
4579
+ } else {
4580
+ const { JSDOM } = await loadJsdom();
4581
+ win = new JSDOM("<!DOCTYPE html><html><body></body></html>", {
4582
+ url: "http://localhost/"
4583
+ }).window;
4584
+ state.window = win;
4585
+ }
4571
4586
  const values = {
4572
4587
  document: win.document,
4573
4588
  window: win,
@@ -4670,7 +4685,8 @@ async function render(content, options) {
4670
4685
  const svg2 = applyRootDesc(
4671
4686
  applyRootA11y(
4672
4687
  injectHoverStyles(raw, chartType, { bakeHover }),
4673
- chartType
4688
+ chartType,
4689
+ diagramTitle(content, parsed.chartType)
4674
4690
  ),
4675
4691
  // The AUTHORED source and type: an arc `layout chord` is re-emitted
4676
4692
  // above as internal `chord` content, which no summarizer reads.
@@ -4715,7 +4731,8 @@ async function render(content, options) {
4715
4731
  svg = applyRootDesc(
4716
4732
  applyRootA11y(
4717
4733
  injectHoverStyles(svg, chartType, { bakeHover }),
4718
- chartType
4734
+ chartType,
4735
+ diagramTitle(content, parsed.chartType)
4719
4736
  ),
4720
4737
  summarizeDiagram(content, parsed.chartType)
4721
4738
  );
@@ -11,6 +11,9 @@ import {
11
11
  displayName,
12
12
  normalizeName
13
13
  } from "./chunk-NOTA6TEI.js";
14
+ import {
15
+ isTagBlockHeading
16
+ } from "./chunk-L5AFONQU.js";
14
17
  import {
15
18
  AliasRegistry,
16
19
  OPTION_NOCOLON_RE,
@@ -32,6 +35,10 @@ import {
32
35
  function classId(name) {
33
36
  return normalizeName(name);
34
37
  }
38
+ var INERT_OPTIONS = {
39
+ "active-tag": '"active-tag" does nothing on a class diagram \u2014 it has no tag groups. Colour a class with a trailing colour word (`User blue`).'
40
+ };
41
+ var NO_TAG_GROUPS_MESSAGE = "A class diagram has no tag groups \u2014 this block is ignored. Colour a class with a trailing colour word (`User blue`).";
35
42
  var CLASS_DECL_RE = /^(?:(abstract|interface|enum)\s+)?(?:"([^"]+)"|([A-Z][^":]*?))(?:\s+extends\s+(?:"([^"]+)"|([A-Z][^":]*?)))?(?:\s+implements\s+(?:"([^"]+)"|([A-Z][^":]*?)))?(?:\s+\[(abstract|interface|enum)\])?(?:\s+(red|orange|yellow|green|blue|purple|teal|cyan|gray|black|white))?(?:\s+as\s+([A-Za-z][A-Za-z0-9_]{0,11}))?\s*$/;
36
43
  var INDENT_REL_ARROW_RE = /^(--\|>|\.\.\|>|\*--|o--|\.\.>|->)\s*(?:"([^"]+)"|([A-Za-z][^":]*?))(?:\s+:?\s*(.+))?$/;
37
44
  var REL_ARROW_RE = /^(?:"([^"]+)"|([A-Z][^":]*?))\s*(--\|>|\.\.\|>|\*--|o--|\.\.>|->)\s*(?:"([^"]+)"|([A-Z][^":]*?))(?:\s+:?\s*(.+))?$/;
@@ -139,6 +146,7 @@ function parseClassDiagram(content, palette) {
139
146
  }
140
147
  let currentClass = null;
141
148
  let contentStarted = false;
149
+ let swallowingTagBlock = false;
142
150
  function getOrCreateClass(name, lineNumber) {
143
151
  const key = classId(name);
144
152
  const existing = classMap.get(key);
@@ -183,6 +191,18 @@ function parseClassDiagram(content, palette) {
183
191
  continue;
184
192
  }
185
193
  if (trimmed.startsWith("//")) continue;
194
+ if (swallowingTagBlock) {
195
+ if (indent > 0) continue;
196
+ swallowingTagBlock = false;
197
+ }
198
+ if (indent === 0 && trimmed.startsWith("tag") && isTagBlockHeading(trimmed)) {
199
+ result.diagnostics.push(
200
+ makeDgmoError(lineNumber, NO_TAG_GROUPS_MESSAGE, "warning")
201
+ );
202
+ currentClass = null;
203
+ swallowingTagBlock = true;
204
+ continue;
205
+ }
186
206
  if (indent === 0) {
187
207
  const noteResult = tryCollectNote(
188
208
  lines,
@@ -227,6 +247,13 @@ function parseClassDiagram(content, palette) {
227
247
  if (optMatch) {
228
248
  const key = optMatch[1].toLowerCase();
229
249
  const value = optMatch[2].trim();
250
+ const inertMsg = INERT_OPTIONS[key];
251
+ if (inertMsg) {
252
+ result.diagnostics.push(
253
+ makeDgmoError(lineNumber, inertMsg, "warning")
254
+ );
255
+ continue;
256
+ }
230
257
  if (key !== "abstract" && key !== "interface" && key !== "enum") {
231
258
  options[key] = value;
232
259
  continue;