@diagrammo/dgmo 0.69.0 → 0.71.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 (190) hide show
  1. package/README.md +2 -0
  2. package/dist/advanced.d.ts +11 -4
  3. package/dist/advanced.js +90 -90
  4. package/dist/block.js +46 -46
  5. package/dist/{calculator-GU4NVYE2.js → calculator-4CNL2GKU.js} +3 -3
  6. package/dist/{chart-meta-DNsYpNbh.d.ts → chart-meta-6JaOudSs.d.ts} +8 -1
  7. package/dist/chart-meta.d.ts +2 -2
  8. package/dist/chart-meta.js +42 -42
  9. package/dist/{charts-d3-C6UIUGNF.js → charts-d3-6IHGTXBR.js} +5 -5
  10. package/dist/{chunk-J2IMCVKB.js → chunk-2JY7KE7C.js} +6 -6
  11. package/dist/{chunk-NPOUCNXP.js → chunk-376ATV2Q.js} +19 -5
  12. package/dist/{chunk-SI766DED.js → chunk-3HN32MEK.js} +2 -2
  13. package/dist/{chunk-EAGUQK5P.js → chunk-3SNE4CLI.js} +3 -3
  14. package/dist/{chunk-KO6FGEEG.js → chunk-4VUFJ7UA.js} +3 -3
  15. package/dist/{chunk-7YCHRBD3.js → chunk-5DYDPP7K.js} +2 -2
  16. package/dist/{chunk-R2UUKZ6R.js → chunk-5GTYY2XV.js} +3 -3
  17. package/dist/{chunk-42FSJTZB.js → chunk-6EDBUKC7.js} +2 -2
  18. package/dist/{chunk-IODPKTRZ.js → chunk-6PA32CUB.js} +2 -2
  19. package/dist/{chunk-QP773H5T.js → chunk-6S53NO3M.js} +5 -2
  20. package/dist/{chunk-GOR4VFYB.js → chunk-722TKHMS.js} +4 -4
  21. package/dist/{chunk-C3OPOLID.js → chunk-7BHM774H.js} +6 -6
  22. package/dist/{chunk-D6MVQTMK.js → chunk-7REARI5N.js} +2 -2
  23. package/dist/{chunk-JWJEYIQF.js → chunk-7SEQPFBX.js} +38 -7
  24. package/dist/{chunk-PUBBTLAA.js → chunk-7TSBM4BV.js} +3 -3
  25. package/dist/{chunk-3QLXP6QZ.js → chunk-AEYRSPVV.js} +2 -2
  26. package/dist/{chunk-C2YYMYNR.js → chunk-BYSRXYRW.js} +4 -4
  27. package/dist/{chunk-WVJ2S4LU.js → chunk-C3MVZ7EW.js} +3 -3
  28. package/dist/{chunk-WBFRYH52.js → chunk-CH4WODSG.js} +3 -3
  29. package/dist/{chunk-XQBZFQE2.js → chunk-CR5WIA6I.js} +2 -2
  30. package/dist/{chunk-U2OLG4PB.js → chunk-DEVZWCD5.js} +17 -5
  31. package/dist/{chunk-WKOQQDQO.js → chunk-DPGI742S.js} +31 -2
  32. package/dist/{chunk-GZY5WEOQ.js → chunk-E36Q5ABQ.js} +4 -4
  33. package/dist/{chunk-HC3I53WV.js → chunk-EETUTZ5C.js} +2 -2
  34. package/dist/{chunk-V6TRRCXS.js → chunk-ELIGVSLE.js} +10 -3
  35. package/dist/{chunk-7N7QLRR5.js → chunk-ENJWB5LU.js} +6 -6
  36. package/dist/{chunk-5B4ZSR6O.js → chunk-FAJS2N4O.js} +5 -5
  37. package/dist/{chunk-TDKWKVN3.js → chunk-FFD6A3B2.js} +22 -5
  38. package/dist/{chunk-LRGSJI5X.js → chunk-FLXDMH7B.js} +3 -3
  39. package/dist/{chunk-UJ4FJLBF.js → chunk-FX2USYOU.js} +13 -1
  40. package/dist/{chunk-5TESTTMF.js → chunk-HTGYAMOK.js} +3 -3
  41. package/dist/{chunk-6766D4YT.js → chunk-HWNF22ZZ.js} +20 -15
  42. package/dist/{chunk-Y37EDBPR.js → chunk-IFJIYUI6.js} +2 -2
  43. package/dist/{chunk-QQI4JTJB.js → chunk-IQ4W4Q2R.js} +2 -2
  44. package/dist/{chunk-2QCQHMQO.js → chunk-ISKO4MQ5.js} +4 -4
  45. package/dist/{chunk-4RYDF2IG.js → chunk-IWNHEK5K.js} +6 -6
  46. package/dist/{chunk-7LYXDGGT.js → chunk-JIWDWOYA.js} +3 -3
  47. package/dist/{chunk-HAGHVHR7.js → chunk-K6MQJ5IV.js} +2 -2
  48. package/dist/{chunk-MOMPLSQI.js → chunk-KJWIU5AM.js} +2 -2
  49. package/dist/{chunk-QILJY2UY.js → chunk-KOVRFBGR.js} +25 -4
  50. package/dist/{chunk-SHS3O7ZZ.js → chunk-LJS4Z326.js} +3 -3
  51. package/dist/{chunk-TXPB6TBM.js → chunk-LSHROB27.js} +3 -3
  52. package/dist/{chunk-Q7UM3R3Y.js → chunk-LTGOPJUV.js} +2 -2
  53. package/dist/{chunk-BQH75ZPE.js → chunk-LUI425JB.js} +3 -3
  54. package/dist/{chunk-N6P3F3FB.js → chunk-LXGUK56B.js} +5 -5
  55. package/dist/{chunk-KZZYRA5T.js → chunk-MC2H32SM.js} +3 -3
  56. package/dist/{chunk-GB5RPD4S.js → chunk-MFSTE3YG.js} +18 -4
  57. package/dist/{chunk-SICO5DVQ.js → chunk-MKNWMFZU.js} +15 -5
  58. package/dist/{chunk-6NWCQCJV.js → chunk-MWWRIOEN.js} +2 -2
  59. package/dist/{chunk-HK3JTWG3.js → chunk-MX3BYU7V.js} +2 -2
  60. package/dist/{chunk-76XAJN7L.js → chunk-NEC7R2CB.js} +2 -2
  61. package/dist/{chunk-DBWTM5IJ.js → chunk-NJKUTY4M.js} +3 -3
  62. package/dist/{chunk-D62K46CW.js → chunk-NNMNHE3J.js} +2 -2
  63. package/dist/{chunk-DTC6RVQX.js → chunk-NTBHGUXY.js} +13 -3
  64. package/dist/{chunk-YYFIZ3AO.js → chunk-NUF7YTHA.js} +2 -2
  65. package/dist/{chunk-ODSGYHFP.js → chunk-PBV2C3BW.js} +27 -6
  66. package/dist/{chunk-RXYYJRM5.js → chunk-PLSTP7P4.js} +40 -40
  67. package/dist/{chunk-CJGSCQNP.js → chunk-QAJFIXJE.js} +19 -5
  68. package/dist/{chunk-L44SMVRY.js → chunk-QPG55HGH.js} +3 -3
  69. package/dist/{chunk-VOYADVBN.js → chunk-REBTZP3W.js} +2 -2
  70. package/dist/{chunk-H7LQGRM3.js → chunk-RJI6MHHK.js} +3 -3
  71. package/dist/{chunk-CU56CB3V.js → chunk-RNSGPTOZ.js} +3 -3
  72. package/dist/{chunk-YN4VMZCL.js → chunk-T3LNWU7B.js} +6 -6
  73. package/dist/{chunk-G5UTJZFR.js → chunk-T7W5LM4N.js} +11 -3
  74. package/dist/{chunk-2VMPJRPH.js → chunk-TF7CFAZ5.js} +3 -3
  75. package/dist/{chunk-GJ42T24G.js → chunk-TGGKBY22.js} +58 -15
  76. package/dist/{chunk-F7SKUWWS.js → chunk-UIBPFSIT.js} +6 -6
  77. package/dist/{chunk-5J42K7HM.js → chunk-UNM2PX5D.js} +3 -3
  78. package/dist/{chunk-JR6H5MEF.js → chunk-UNTFANSM.js} +3 -3
  79. package/dist/{chunk-IPMHIKVA.js → chunk-UTVKOGFF.js} +2 -2
  80. package/dist/{chunk-XRDRIUUB.js → chunk-UVAOL2EO.js} +5 -5
  81. package/dist/{chunk-MGAWLZQE.js → chunk-UY77QQWU.js} +2 -2
  82. package/dist/{chunk-DR43UCVQ.js → chunk-VE7PPEU3.js} +105 -18
  83. package/dist/{chunk-MZBEPHFY.js → chunk-VGLSKDDI.js} +2 -2
  84. package/dist/{chunk-LPMYDZSO.js → chunk-VMXV2CL5.js} +21 -5
  85. package/dist/{chunk-5ZADM7W2.js → chunk-W27BULCB.js} +4 -4
  86. package/dist/{chunk-U4UKJPTE.js → chunk-W7SZKJR6.js} +3 -3
  87. package/dist/{chunk-XCWYBBKH.js → chunk-WEC3JPTN.js} +4 -4
  88. package/dist/{chunk-YUTT3PV7.js → chunk-WPXHTYET.js} +16 -11
  89. package/dist/{chunk-HQBY3N3S.js → chunk-X2NX2SK6.js} +2 -2
  90. package/dist/{chunk-ZEHF5OVE.js → chunk-XIZCHGP7.js} +3 -3
  91. package/dist/{chunk-VCNJRCG2.js → chunk-XJZSN42P.js} +188 -120
  92. package/dist/{chunk-GK2ZDR6X.js → chunk-XQW4KFJ4.js} +8 -8
  93. package/dist/{chunk-Z44WBXIC.js → chunk-YCOGUPHL.js} +4 -4
  94. package/dist/{chunk-RP53JR6M.js → chunk-YG35ZCNW.js} +20 -5
  95. package/dist/{chunk-Y65TFTLX.js → chunk-YH5KJIO5.js} +4 -4
  96. package/dist/{chunk-N5XT3OWL.js → chunk-YTFA4VTW.js} +2 -2
  97. package/dist/{chunk-F5DNAUXY.js → chunk-YYBQ55V2.js} +35 -74
  98. package/dist/{chunk-M2QQQWM3.js → chunk-ZJJWON5O.js} +15 -5
  99. package/dist/{chunk-MJDV4DKP.js → chunk-ZNHPCITV.js} +4 -4
  100. package/dist/collapse-JRGPUE67.js +13 -0
  101. package/dist/completion-registry.js +15 -10
  102. package/dist/dgmo-router-J6OWNMEJ.js +89 -0
  103. package/dist/{dgmo-router-EAW7XiBE.d.ts → dgmo-router-Lya7cs3R.d.ts} +28 -0
  104. package/dist/{dimensions-NB72XI2A.js → dimensions-EFEBIRS6.js} +5 -5
  105. package/dist/editor.js +6 -3
  106. package/dist/{flowchart-parser-A64T3OEL.js → flowchart-parser-LZF2GW2P.js} +4 -4
  107. package/dist/{flowchart-renderer-F6PDPKK7.js → flowchart-renderer-HB277GNE.js} +5 -5
  108. package/dist/highlight.d.ts +45 -1
  109. package/dist/highlight.js +30 -3
  110. package/dist/index.d.ts +1 -1
  111. package/dist/index.js +55 -46
  112. package/dist/{layout-2D6VKW6G.js → layout-2DVT24YY.js} +3 -3
  113. package/dist/{layout-FFCYSTW7.js → layout-AWPST2S3.js} +3 -3
  114. package/dist/{layout-RNPKIRS6.js → layout-BGXLVSXL.js} +4 -4
  115. package/dist/{layout-4ICO4K3X.js → layout-BNR6ZDB6.js} +4 -4
  116. package/dist/{layout-A5AYRVOR.js → layout-N6ZOOAYT.js} +4 -4
  117. package/dist/{layout-OQUUQ7YW.js → layout-PBB2RQJ4.js} +4 -4
  118. package/dist/{parser-NIDJMNWX.js → parser-2CXA7K5C.js} +4 -4
  119. package/dist/{parser-43YM7XW3.js → parser-4E2TVMOK.js} +4 -4
  120. package/dist/{parser-V7HFGTVF.js → parser-52AZJ3BA.js} +4 -4
  121. package/dist/{parser-LYCYRROE.js → parser-52BOCAVQ.js} +4 -4
  122. package/dist/{parser-BL3KLB75.js → parser-5IPCYVXY.js} +4 -4
  123. package/dist/{parser-S7IV6DOA.js → parser-6BF5TJQH.js} +4 -4
  124. package/dist/{parser-SEFSLUXW.js → parser-6VZISXFY.js} +3 -3
  125. package/dist/{parser-H2CUQVPH.js → parser-6Y5BMNNJ.js} +5 -5
  126. package/dist/{parser-LJZIQJRA.js → parser-7HUZBXKW.js} +3 -3
  127. package/dist/{parser-PXI5UCVR.js → parser-AEJ73QJS.js} +3 -3
  128. package/dist/{parser-RTT3NOQC.js → parser-AWNEAGMJ.js} +4 -4
  129. package/dist/{parser-WGCE3G7P.js → parser-C2QRTZPJ.js} +4 -4
  130. package/dist/{parser-DLIBNGNQ.js → parser-CBSYFN6U.js} +3 -3
  131. package/dist/{parser-FYBJYHSN.js → parser-CDMP3UVH.js} +4 -4
  132. package/dist/{parser-XMWFEFEH.js → parser-CNKHKQKZ.js} +4 -4
  133. package/dist/{parser-ZNGAQ6NR.js → parser-EX3AGFT5.js} +4 -4
  134. package/dist/{parser-QZJIGMZR.js → parser-GK3JWVHY.js} +5 -5
  135. package/dist/{parser-H2P45TGS.js → parser-GZKR6BFA.js} +4 -4
  136. package/dist/{parser-YCRATNR6.js → parser-K26KDCZN.js} +3 -3
  137. package/dist/{parser-GLFHIKQC.js → parser-LTJ5AKY4.js} +4 -4
  138. package/dist/{parser-Q2K7TDEA.js → parser-NIGB4EYX.js} +3 -3
  139. package/dist/{parser-DAMYSBVY.js → parser-O7GTECFP.js} +3 -3
  140. package/dist/{parser-3QXKYLDG.js → parser-OHWDJGCP.js} +3 -3
  141. package/dist/{parser-RZIIZ3EW.js → parser-QCVEWLCO.js} +3 -3
  142. package/dist/{parser-DRZMT3IZ.js → parser-SUAOF72Y.js} +4 -4
  143. package/dist/{parser-TPQUTZPP.js → parser-TJ3SP2MJ.js} +4 -4
  144. package/dist/{parser-GEELVJ4X.js → parser-W2HXBHNC.js} +3 -3
  145. package/dist/{parser-HIHYCA3P.js → parser-WF4R7225.js} +4 -4
  146. package/dist/{parser-XLPLW3PI.js → parser-XM6JC3UK.js} +4 -4
  147. package/dist/{parser-FUBDH74F.js → parser-XRZQ7SC7.js} +4 -4
  148. package/dist/{parser-ZXI4IQ5Y.js → parser-YRJAGBV7.js} +4 -4
  149. package/dist/{parser-VBYTR624.js → parser-Z3LN7P6G.js} +5 -5
  150. package/dist/{parser-GGZTPX6F.js → parser-ZIEEBJMU.js} +4 -4
  151. package/dist/{renderer-JP6BTAST.js → renderer-2MEPYGAP.js} +7 -7
  152. package/dist/{renderer-UNHVCJ5Z.js → renderer-35HBBPIQ.js} +5 -5
  153. package/dist/{renderer-FTGHCZOE.js → renderer-3DSU72CP.js} +7 -7
  154. package/dist/{renderer-CH5U3R2K.js → renderer-4CUV63GT.js} +7 -7
  155. package/dist/{renderer-GN3HCUY6.js → renderer-4ORE7HJ3.js} +5 -5
  156. package/dist/{renderer-TQCVWCW4.js → renderer-5FQFMCBZ.js} +7 -7
  157. package/dist/{renderer-CP56XH3X.js → renderer-5YV6KP4U.js} +7 -7
  158. package/dist/{renderer-CEFMVEWU.js → renderer-7BGC4KPZ.js} +5 -5
  159. package/dist/{renderer-72UWS5MQ.js → renderer-7VPABTMS.js} +7 -7
  160. package/dist/{renderer-SZTUE5TE.js → renderer-ANWAX5QO.js} +6 -6
  161. package/dist/{renderer-U7INHN4J.js → renderer-BQWAUDEF.js} +4 -4
  162. package/dist/renderer-DGZDRRJW.js +76 -0
  163. package/dist/{renderer-7AG5MS32.js → renderer-E3UQ24DE.js} +5 -5
  164. package/dist/{renderer-HVEITTJC.js → renderer-FCIOD2QK.js} +5 -5
  165. package/dist/{renderer-MFZE5HBB.js → renderer-H5QR3LC3.js} +4 -4
  166. package/dist/{renderer-KVRTLE2D.js → renderer-JFZVWH2G.js} +3 -3
  167. package/dist/{renderer-2F3JUDTX.js → renderer-JHWGW4Q7.js} +5 -5
  168. package/dist/{renderer-RY7RQQ37.js → renderer-JWSO5O2L.js} +3 -3
  169. package/dist/{renderer-NRHU4AZ6.js → renderer-KFWZPVYT.js} +7 -7
  170. package/dist/{renderer-KBZ223H6.js → renderer-KQIJV5WD.js} +5 -5
  171. package/dist/{renderer-TQJWTC62.js → renderer-LVAUI6T6.js} +6 -6
  172. package/dist/{renderer-PD3Q7VKJ.js → renderer-MZ4N2SVV.js} +5 -5
  173. package/dist/{renderer-4LUPOZH2.js → renderer-QMSFXMAL.js} +5 -5
  174. package/dist/{renderer-OXOAUAVI.js → renderer-QOWN3XDI.js} +8 -6
  175. package/dist/{renderer-5L6INN2B.js → renderer-S5MGQHRQ.js} +6 -6
  176. package/dist/{renderer-FJ6VAUNW.js → renderer-V3PN5ZQS.js} +5 -5
  177. package/dist/{renderer-33U3KRCL.js → renderer-VOXE7V6L.js} +7 -7
  178. package/dist/{renderer-LPA6UC62.js → renderer-WBG576LB.js} +5 -5
  179. package/dist/{renderer-ZOP3SXFR.js → renderer-YXYEP46H.js} +6 -6
  180. package/dist/{renderer-BT6TOWBE.js → renderer-ZEPPPA3W.js} +3 -3
  181. package/dist/{renderer-radial-AZLCCE4C.js → renderer-radial-KZ3W4WXI.js} +6 -6
  182. package/dist/{state-parser-W6OCOJ2S.js → state-parser-HJNCGIFT.js} +5 -5
  183. package/dist/{state-renderer-26JXGKT6.js → state-renderer-776LP3NE.js} +7 -7
  184. package/docs/ai-integration.md +1 -1
  185. package/docs/language-reference.md +49 -31
  186. package/gallery/fixtures/event-line-now-color.dgmo +23 -0
  187. package/package.json +2 -1
  188. package/dist/collapse-CLPJD2RL.js +0 -11
  189. package/dist/dgmo-router-ND3PUDVF.js +0 -89
  190. package/dist/renderer-6YEVDIZJ.js +0 -76
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-EOYPX6SF.js";
4
4
  import {
5
5
  renderDataChartD3
6
- } from "./chunk-DR43UCVQ.js";
6
+ } from "./chunk-VE7PPEU3.js";
7
7
  import {
8
8
  computeQuadrantPointLabels
9
9
  } from "./chunk-L65WI4HO.js";
10
10
  import {
11
11
  renderTimeline
12
- } from "./chunk-MJDV4DKP.js";
12
+ } from "./chunk-ZNHPCITV.js";
13
13
  import {
14
14
  ScaleContext
15
15
  } from "./chunk-YYVTBZZC.js";
@@ -45,11 +45,11 @@ import {
45
45
  parseVenn,
46
46
  parseVisualization,
47
47
  parseWordcloud
48
- } from "./chunk-RXYYJRM5.js";
48
+ } from "./chunk-PLSTP7P4.js";
49
49
  import {
50
50
  resolveActiveTagGroup,
51
51
  tagAttrKey
52
- } from "./chunk-WKOQQDQO.js";
52
+ } from "./chunk-DPGI742S.js";
53
53
  import {
54
54
  getPalette
55
55
  } from "./chunk-R3XI2VC7.js";
@@ -1947,13 +1947,13 @@ function resolveArcChordOverride(content, detectedType, palette) {
1947
1947
  }
1948
1948
  async function renderForExport(content, theme, palette, viewState, options) {
1949
1949
  const exportMode = options?.exportMode ?? false;
1950
- const { parseDgmoChartType } = await import("./dgmo-router-ND3PUDVF.js");
1950
+ const { parseDgmoChartType } = await import("./dgmo-router-J6OWNMEJ.js");
1951
1951
  const detectedTypeRaw = parseDgmoChartType(content);
1952
1952
  const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
1953
1953
  const renderContent = override?.content ?? content;
1954
1954
  const detectedType = override?.type ?? detectedTypeRaw;
1955
1955
  if (detectedType !== null) {
1956
- const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-C6UIUGNF.js");
1956
+ const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-6IHGTXBR.js");
1957
1957
  if (supportsD3DataChart(detectedType)) {
1958
1958
  return renderDataChartD32(renderContent, theme, palette);
1959
1959
  }
@@ -1977,8 +1977,8 @@ function ctxTagOverride(ctx) {
1977
1977
  }
1978
1978
  async function exportEventLine(ctx) {
1979
1979
  const { content, theme, palette } = ctx;
1980
- const { parseEventLine } = await import("./parser-H2CUQVPH.js");
1981
- const { renderEventLineForExport } = await import("./renderer-72UWS5MQ.js");
1980
+ const { parseEventLine } = await import("./parser-6Y5BMNNJ.js");
1981
+ const { renderEventLineForExport } = await import("./renderer-7VPABTMS.js");
1982
1982
  const effectivePalette = await resolveExportPalette(theme, palette);
1983
1983
  const parsed = parseEventLine(content, effectivePalette);
1984
1984
  if (parsed.error || parsed.events.length === 0) return "";
@@ -1996,8 +1996,8 @@ async function exportEventLine(ctx) {
1996
1996
  }
1997
1997
  async function exportBody(ctx) {
1998
1998
  const { content, theme, palette } = ctx;
1999
- const { parseBody } = await import("./parser-HIHYCA3P.js");
2000
- const { renderBodyForExport } = await import("./renderer-4LUPOZH2.js");
1999
+ const { parseBody } = await import("./parser-WF4R7225.js");
2000
+ const { renderBodyForExport } = await import("./renderer-QMSFXMAL.js");
2001
2001
  const effectivePalette = await resolveExportPalette(theme, palette);
2002
2002
  const parsed = parseBody(content, effectivePalette);
2003
2003
  if (parsed.error) return "";
@@ -2014,7 +2014,7 @@ async function exportBody(ctx) {
2014
2014
  }
2015
2015
  async function exportVersionControl(ctx) {
2016
2016
  const { content, theme, palette } = ctx;
2017
- const { parseVersionControl } = await import("./parser-LJZIQJRA.js");
2017
+ const { parseVersionControl } = await import("./parser-7HUZBXKW.js");
2018
2018
  const { renderVersionControlForExport } = await import("./renderer-QZRM6H4S.js");
2019
2019
  const effectivePalette = await resolveExportPalette(theme, palette);
2020
2020
  const parsed = parseVersionControl(content, effectivePalette);
@@ -2039,15 +2039,15 @@ function unionHiddenAttributes(hideOption, ha) {
2039
2039
  }
2040
2040
  async function exportOrg(ctx) {
2041
2041
  const { content, theme, palette, viewState, exportMode } = ctx;
2042
- const { parseOrg, findOrgNodeIdByName } = await import("./parser-V7HFGTVF.js");
2043
- const { layoutOrg } = await import("./layout-4ICO4K3X.js");
2044
- const { collapseOrgTree, focusOrgTree } = await import("./collapse-CLPJD2RL.js");
2045
- const { renderOrg, ancestorTrailReserve } = await import("./renderer-CP56XH3X.js");
2042
+ const { parseOrg, findOrgNodeIdByName } = await import("./parser-52AZJ3BA.js");
2043
+ const { layoutOrg } = await import("./layout-BNR6ZDB6.js");
2044
+ const { collapseOrgTree, focusOrgTree, unionCollapsedOrgNodes } = await import("./collapse-JRGPUE67.js");
2045
+ const { renderOrg, ancestorTrailReserve } = await import("./renderer-5YV6KP4U.js");
2046
2046
  const isDark = ctx.isDark;
2047
2047
  const effectivePalette = await resolveExportPalette(theme, palette);
2048
2048
  const orgParsed = parseOrg(content, effectivePalette);
2049
2049
  if (orgParsed.error) return "";
2050
- const collapsedNodes = viewState?.cg ? new Set(viewState.cg) : void 0;
2050
+ const collapsedNodes = unionCollapsedOrgNodes(orgParsed, viewState?.cg);
2051
2051
  const activeTagGroup = resolveActiveTagGroup(
2052
2052
  orgParsed.tagGroups,
2053
2053
  orgParsed.options["active-tag"],
@@ -2101,10 +2101,10 @@ async function exportOrg(ctx) {
2101
2101
  }
2102
2102
  async function exportSitemap(ctx) {
2103
2103
  const { content, theme, palette, viewState, exportMode } = ctx;
2104
- const { parseSitemap } = await import("./parser-GLFHIKQC.js");
2105
- const { layoutSitemap } = await import("./layout-OQUUQ7YW.js");
2104
+ const { parseSitemap } = await import("./parser-LTJ5AKY4.js");
2105
+ const { layoutSitemap } = await import("./layout-PBB2RQJ4.js");
2106
2106
  const { collapseSitemapTree } = await import("./collapse-ZWUFFCK2.js");
2107
- const { renderSitemap } = await import("./renderer-CEFMVEWU.js");
2107
+ const { renderSitemap } = await import("./renderer-7BGC4KPZ.js");
2108
2108
  const isDark = ctx.isDark;
2109
2109
  const effectivePalette = await resolveExportPalette(theme, palette);
2110
2110
  const sitemapParsed = parseSitemap(content, effectivePalette);
@@ -2153,8 +2153,8 @@ async function exportSitemap(ctx) {
2153
2153
  }
2154
2154
  async function exportKanban(ctx) {
2155
2155
  const { content, theme, palette, viewState, exportMode } = ctx;
2156
- const { parseKanban } = await import("./parser-DRZMT3IZ.js");
2157
- const { renderKanban } = await import("./renderer-SZTUE5TE.js");
2156
+ const { parseKanban } = await import("./parser-SUAOF72Y.js");
2157
+ const { renderKanban } = await import("./renderer-ANWAX5QO.js");
2158
2158
  const effectivePalette = await resolveExportPalette(theme, palette);
2159
2159
  const kanbanParsed = parseKanban(content, effectivePalette);
2160
2160
  if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
@@ -2185,9 +2185,9 @@ async function exportKanban(ctx) {
2185
2185
  }
2186
2186
  async function exportClass(ctx) {
2187
2187
  const { content, theme, palette, exportMode } = ctx;
2188
- const { parseClassDiagram } = await import("./parser-ZXI4IQ5Y.js");
2188
+ const { parseClassDiagram } = await import("./parser-YRJAGBV7.js");
2189
2189
  const { layoutClassDiagram } = await import("./layout-WIMQIHBU.js");
2190
- const { renderClassDiagram } = await import("./renderer-CH5U3R2K.js");
2190
+ const { renderClassDiagram } = await import("./renderer-4CUV63GT.js");
2191
2191
  const effectivePalette = await resolveExportPalette(theme, palette);
2192
2192
  const classParsed = parseClassDiagram(content, effectivePalette);
2193
2193
  if (classParsed.error || classParsed.classes.length === 0) return "";
@@ -2212,9 +2212,9 @@ async function exportClass(ctx) {
2212
2212
  }
2213
2213
  async function exportEr(ctx) {
2214
2214
  const { content, theme, palette, viewState, exportMode } = ctx;
2215
- const { parseERDiagram } = await import("./parser-VBYTR624.js");
2215
+ const { parseERDiagram } = await import("./parser-Z3LN7P6G.js");
2216
2216
  const { layoutERDiagram } = await import("./layout-LVMWK4QY.js");
2217
- const { renderERDiagram } = await import("./renderer-TQCVWCW4.js");
2217
+ const { renderERDiagram } = await import("./renderer-5FQFMCBZ.js");
2218
2218
  const effectivePalette = await resolveExportPalette(theme, palette);
2219
2219
  const erParsed = parseERDiagram(content, effectivePalette);
2220
2220
  if (erParsed.error || erParsed.tables.length === 0) return "";
@@ -2246,14 +2246,14 @@ async function exportEr(ctx) {
2246
2246
  }
2247
2247
  async function exportSketch(ctx) {
2248
2248
  const { content, theme, viewState, exportMode } = ctx;
2249
- const { parseSketch } = await import("./parser-LYCYRROE.js");
2249
+ const { parseSketch } = await import("./parser-52BOCAVQ.js");
2250
2250
  const effectivePalette = await resolveExportPalette(theme, ctx.palette);
2251
2251
  const parsed = parseSketch(content, effectivePalette);
2252
2252
  if (parsed.error || parsed.nodes.length === 0 && parsed.boxes.length === 0) {
2253
2253
  return "";
2254
2254
  }
2255
2255
  const { layoutSketch } = await import("./layout-5RUQ5FBZ.js");
2256
- const { renderSketchForExport } = await import("./renderer-LPA6UC62.js");
2256
+ const { renderSketchForExport } = await import("./renderer-WBG576LB.js");
2257
2257
  const collapsedBoxes = viewState?.cg ? new Set(viewState.cg) : void 0;
2258
2258
  const skLayout = layoutSketch(parsed, {
2259
2259
  ...collapsedBoxes !== void 0 && { collapsedBoxes }
@@ -2280,7 +2280,7 @@ async function exportSketch(ctx) {
2280
2280
  }
2281
2281
  async function exportBoxesAndLines(ctx) {
2282
2282
  const { content, theme, palette, viewState, exportMode } = ctx;
2283
- const { parseBoxesAndLines } = await import("./parser-QZJIGMZR.js");
2283
+ const { parseBoxesAndLines } = await import("./parser-GK3JWVHY.js");
2284
2284
  const effectivePalette = await resolveExportPalette(theme, palette);
2285
2285
  const blParsed = parseBoxesAndLines(content, effectivePalette);
2286
2286
  if (blParsed.error || blParsed.nodes.length === 0) return "";
@@ -2291,7 +2291,7 @@ async function exportBoxesAndLines(ctx) {
2291
2291
  blHiddenTagValues.set(k, new Set(v));
2292
2292
  }
2293
2293
  }
2294
- const { renderBoxesAndLinesForExport } = await import("./renderer-GN3HCUY6.js");
2294
+ const { renderBoxesAndLinesForExport } = await import("./renderer-4ORE7HJ3.js");
2295
2295
  const { layoutBoxesAndLines } = await import("./layout-RD7GDM4I.js");
2296
2296
  const blLayout = await layoutBoxesAndLines(blParsed);
2297
2297
  const PADDING = 20;
@@ -2321,9 +2321,9 @@ async function exportBoxesAndLines(ctx) {
2321
2321
  }
2322
2322
  async function exportSwimlane(ctx) {
2323
2323
  const { content, theme, palette } = ctx;
2324
- const { parseSwimlane } = await import("./parser-BL3KLB75.js");
2324
+ const { parseSwimlane } = await import("./parser-5IPCYVXY.js");
2325
2325
  const { layoutSwimlane } = await import("./layout-OHAIIXBC.js");
2326
- const { renderSwimlaneForExport } = await import("./renderer-MFZE5HBB.js");
2326
+ const { renderSwimlaneForExport } = await import("./renderer-H5QR3LC3.js");
2327
2327
  const effectivePalette = await resolveExportPalette(theme, palette);
2328
2328
  const swimParsed = parseSwimlane(content, effectivePalette);
2329
2329
  if (swimParsed.error || swimParsed.nodes.length === 0) return "";
@@ -2353,9 +2353,9 @@ async function exportSwimlane(ctx) {
2353
2353
  }
2354
2354
  async function exportFamily(ctx) {
2355
2355
  const { content, theme, palette } = ctx;
2356
- const { parseFamily } = await import("./parser-H2P45TGS.js");
2356
+ const { parseFamily } = await import("./parser-GZKR6BFA.js");
2357
2357
  const { layoutFamily } = await import("./layout-6SKHNQYO.js");
2358
- const { renderFamilyForExport } = await import("./renderer-7AG5MS32.js");
2358
+ const { renderFamilyForExport } = await import("./renderer-E3UQ24DE.js");
2359
2359
  const effectivePalette = await resolveExportPalette(theme, palette);
2360
2360
  const parsed = parseFamily(content, effectivePalette);
2361
2361
  if (parsed.error || parsed.persons.size === 0) return "";
@@ -2385,10 +2385,10 @@ async function exportFamily(ctx) {
2385
2385
  }
2386
2386
  async function exportMindmap(ctx) {
2387
2387
  const { content, theme, palette, viewState, exportMode } = ctx;
2388
- const { parseMindmap } = await import("./parser-FUBDH74F.js");
2389
- const { layoutMindmap } = await import("./layout-A5AYRVOR.js");
2388
+ const { parseMindmap } = await import("./parser-XRZQ7SC7.js");
2389
+ const { layoutMindmap } = await import("./layout-N6ZOOAYT.js");
2390
2390
  const { collapseMindmapTree } = await import("./collapse-SLINJQW6.js");
2391
- const { renderMindmap } = await import("./renderer-FTGHCZOE.js");
2391
+ const { renderMindmap } = await import("./renderer-3DSU72CP.js");
2392
2392
  const isDark = ctx.isDark;
2393
2393
  const effectivePalette = await resolveExportPalette(theme, palette);
2394
2394
  const mmParsed = parseMindmap(content, effectivePalette);
@@ -2438,9 +2438,9 @@ async function exportMindmap(ctx) {
2438
2438
  }
2439
2439
  async function exportWireframe(ctx) {
2440
2440
  const { content, theme, palette } = ctx;
2441
- const { parseWireframe } = await import("./parser-XLPLW3PI.js");
2441
+ const { parseWireframe } = await import("./parser-XM6JC3UK.js");
2442
2442
  const { layoutWireframe } = await import("./layout-IN53LAE6.js");
2443
- const { renderWireframe } = await import("./renderer-KVRTLE2D.js");
2443
+ const { renderWireframe } = await import("./renderer-JFZVWH2G.js");
2444
2444
  const effectivePalette = await resolveExportPalette(theme, palette);
2445
2445
  const wireframeParsed = parseWireframe(content);
2446
2446
  if (wireframeParsed.error || wireframeParsed.roots.length === 0 && wireframeParsed.modals.length === 0)
@@ -2463,14 +2463,14 @@ async function exportWireframe(ctx) {
2463
2463
  }
2464
2464
  async function exportC4(ctx) {
2465
2465
  const { content, theme, palette, viewState, exportMode } = ctx;
2466
- const { parseC4 } = await import("./parser-S7IV6DOA.js");
2466
+ const { parseC4 } = await import("./parser-6BF5TJQH.js");
2467
2467
  const {
2468
2468
  layoutC4Context,
2469
2469
  layoutC4Containers,
2470
2470
  layoutC4Components,
2471
2471
  layoutC4Deployment
2472
- } = await import("./layout-RNPKIRS6.js");
2473
- const { renderC4Context, renderC4Containers } = await import("./renderer-JP6BTAST.js");
2472
+ } = await import("./layout-BGXLVSXL.js");
2473
+ const { renderC4Context, renderC4Containers } = await import("./renderer-2MEPYGAP.js");
2474
2474
  const effectivePalette = await resolveExportPalette(theme, palette);
2475
2475
  const c4Parsed = parseC4(content, effectivePalette);
2476
2476
  if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
@@ -2504,9 +2504,9 @@ async function exportC4(ctx) {
2504
2504
  }
2505
2505
  async function exportFlowchart(ctx) {
2506
2506
  const { content, theme, palette } = ctx;
2507
- const { parseFlowchart } = await import("./flowchart-parser-A64T3OEL.js");
2508
- const { layoutGraph } = await import("./layout-FFCYSTW7.js");
2509
- const { renderFlowchart } = await import("./flowchart-renderer-F6PDPKK7.js");
2507
+ const { parseFlowchart } = await import("./flowchart-parser-LZF2GW2P.js");
2508
+ const { layoutGraph } = await import("./layout-AWPST2S3.js");
2509
+ const { renderFlowchart } = await import("./flowchart-renderer-HB277GNE.js");
2510
2510
  const effectivePalette = await resolveExportPalette(theme, palette);
2511
2511
  const fcParsed = parseFlowchart(content, effectivePalette);
2512
2512
  if (fcParsed.error || fcParsed.nodes.length === 0) return "";
@@ -2525,10 +2525,10 @@ async function exportFlowchart(ctx) {
2525
2525
  }
2526
2526
  async function exportInfra(ctx) {
2527
2527
  const { content, theme, palette, viewState } = ctx;
2528
- const { parseInfra } = await import("./parser-GGZTPX6F.js");
2528
+ const { parseInfra } = await import("./parser-ZIEEBJMU.js");
2529
2529
  const { computeInfra } = await import("./compute-JAP5E2E4.js");
2530
2530
  const { layoutInfra } = await import("./layout-4LNMXLVK.js");
2531
- const { renderInfra, computeInfraLegendGroups } = await import("./renderer-TQJWTC62.js");
2531
+ const { renderInfra, computeInfraLegendGroups } = await import("./renderer-LVAUI6T6.js");
2532
2532
  const effectivePalette = await resolveExportPalette(theme, palette);
2533
2533
  const infraParsed = parseInfra(content);
2534
2534
  if (infraParsed.error || infraParsed.nodes.length === 0) return "";
@@ -2575,10 +2575,10 @@ async function exportInfra(ctx) {
2575
2575
  }
2576
2576
  async function exportPert(ctx) {
2577
2577
  const { content, theme, palette, viewState } = ctx;
2578
- const { parsePert } = await import("./parser-ZNGAQ6NR.js");
2578
+ const { parsePert } = await import("./parser-EX3AGFT5.js");
2579
2579
  const { analyzePert } = await import("./analyzer-HQUXKZ5J.js");
2580
2580
  const { layoutPert } = await import("./layout-SGYR6HBX.js");
2581
- const { renderPert, measurePertAnalysisBlock } = await import("./renderer-5L6INN2B.js");
2581
+ const { renderPert, measurePertAnalysisBlock } = await import("./renderer-S5MGQHRQ.js");
2582
2582
  const effectivePalette = await resolveExportPalette(theme, palette);
2583
2583
  const pertParsed = parsePert(content, { palette: effectivePalette });
2584
2584
  if (pertParsed.error || pertParsed.activities.length === 0) return "";
@@ -2616,9 +2616,9 @@ async function exportPert(ctx) {
2616
2616
  }
2617
2617
  async function exportGantt(ctx) {
2618
2618
  const { content, theme, palette, viewState, exportMode } = ctx;
2619
- const { parseGantt } = await import("./parser-FYBJYHSN.js");
2620
- const { calculateSchedule } = await import("./calculator-GU4NVYE2.js");
2621
- const { renderGantt } = await import("./renderer-UNHVCJ5Z.js");
2619
+ const { parseGantt } = await import("./parser-CDMP3UVH.js");
2620
+ const { calculateSchedule } = await import("./calculator-4CNL2GKU.js");
2621
+ const { renderGantt } = await import("./renderer-35HBBPIQ.js");
2622
2622
  const effectivePalette = await resolveExportPalette(theme, palette);
2623
2623
  const ganttParsed = parseGantt(content, effectivePalette);
2624
2624
  const resolved = calculateSchedule(ganttParsed);
@@ -2659,9 +2659,9 @@ async function exportGantt(ctx) {
2659
2659
  }
2660
2660
  async function exportState(ctx) {
2661
2661
  const { content, theme, palette, viewState } = ctx;
2662
- const { parseState } = await import("./state-parser-W6OCOJ2S.js");
2663
- const { layoutGraph } = await import("./layout-FFCYSTW7.js");
2664
- const { renderState } = await import("./state-renderer-26JXGKT6.js");
2662
+ const { parseState } = await import("./state-parser-HJNCGIFT.js");
2663
+ const { layoutGraph } = await import("./layout-AWPST2S3.js");
2664
+ const { renderState } = await import("./state-renderer-776LP3NE.js");
2665
2665
  const { collapseStateGroups } = await import("./state-collapse-HCGD6IVJ.js");
2666
2666
  const effectivePalette = await resolveExportPalette(theme, palette);
2667
2667
  const stateParsed = parseState(content, effectivePalette);
@@ -2698,8 +2698,8 @@ async function exportState(ctx) {
2698
2698
  }
2699
2699
  async function exportTechRadar(ctx) {
2700
2700
  const { content, theme, palette, viewState, exportMode } = ctx;
2701
- const { parseTechRadar } = await import("./parser-SEFSLUXW.js");
2702
- const { renderTechRadarForExport } = await import("./renderer-HVEITTJC.js");
2701
+ const { parseTechRadar } = await import("./parser-6VZISXFY.js");
2702
+ const { renderTechRadarForExport } = await import("./renderer-FCIOD2QK.js");
2703
2703
  const effectivePalette = await resolveExportPalette(theme, palette);
2704
2704
  const radarParsed = parseTechRadar(content);
2705
2705
  if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
@@ -2719,9 +2719,9 @@ async function exportTechRadar(ctx) {
2719
2719
  }
2720
2720
  async function exportJourneyMap(ctx) {
2721
2721
  const { content, theme, palette, exportMode } = ctx;
2722
- const { parseJourneyMap } = await import("./parser-NIDJMNWX.js");
2723
- const { renderJourneyMap } = await import("./renderer-NRHU4AZ6.js");
2724
- const { layoutJourneyMap } = await import("./layout-2D6VKW6G.js");
2722
+ const { parseJourneyMap } = await import("./parser-2CXA7K5C.js");
2723
+ const { renderJourneyMap } = await import("./renderer-KFWZPVYT.js");
2724
+ const { layoutJourneyMap } = await import("./layout-2DVT24YY.js");
2725
2725
  const effectivePalette = await resolveExportPalette(theme, palette);
2726
2726
  const jmParsed = parseJourneyMap(content, effectivePalette);
2727
2727
  if (jmParsed.error || jmParsed.phases.length === 0 && jmParsed.steps.length === 0)
@@ -2741,8 +2741,8 @@ async function exportJourneyMap(ctx) {
2741
2741
  }
2742
2742
  async function exportCycle(ctx) {
2743
2743
  const { content, theme, palette, viewState, exportMode } = ctx;
2744
- const { parseCycle } = await import("./parser-DLIBNGNQ.js");
2745
- const { renderCycleForExport } = await import("./renderer-FJ6VAUNW.js");
2744
+ const { parseCycle } = await import("./parser-CBSYFN6U.js");
2745
+ const { renderCycleForExport } = await import("./renderer-V3PN5ZQS.js");
2746
2746
  const effectivePalette = await resolveExportPalette(theme, palette);
2747
2747
  const cycleParsed = parseCycle(content);
2748
2748
  if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
@@ -2760,10 +2760,10 @@ async function exportCycle(ctx) {
2760
2760
  }
2761
2761
  async function exportMap(ctx) {
2762
2762
  const { content, theme, palette, options } = ctx;
2763
- const { parseMap } = await import("./parser-XMWFEFEH.js");
2763
+ const { parseMap } = await import("./parser-CNKHKQKZ.js");
2764
2764
  const { resolveMap } = await import("./resolver-B3TXWNWF.js");
2765
- const { renderMapForExport } = await import("./renderer-33U3KRCL.js");
2766
- const { mapExportDimensions } = await import("./dimensions-NB72XI2A.js");
2765
+ const { renderMapForExport } = await import("./renderer-VOXE7V6L.js");
2766
+ const { mapExportDimensions } = await import("./dimensions-EFEBIRS6.js");
2767
2767
  const effectivePalette = await resolveExportPalette(theme, palette);
2768
2768
  const mapParsed = parseMap(content, effectivePalette);
2769
2769
  const { data: mapData, reason } = await resolveMapDataSource(
@@ -2796,8 +2796,8 @@ async function exportMap(ctx) {
2796
2796
  }
2797
2797
  async function exportPyramid(ctx) {
2798
2798
  const { content, theme, palette } = ctx;
2799
- const { parsePyramid } = await import("./parser-GEELVJ4X.js");
2800
- const { renderPyramidForExport } = await import("./renderer-RY7RQQ37.js");
2799
+ const { parsePyramid } = await import("./parser-W2HXBHNC.js");
2800
+ const { renderPyramidForExport } = await import("./renderer-JWSO5O2L.js");
2801
2801
  const effectivePalette = await resolveExportPalette(theme, palette);
2802
2802
  const pyramidParsed = parsePyramid(content);
2803
2803
  if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
@@ -2813,8 +2813,8 @@ async function exportPyramid(ctx) {
2813
2813
  }
2814
2814
  async function exportRing(ctx) {
2815
2815
  const { content, theme, palette } = ctx;
2816
- const { parseRing } = await import("./parser-YCRATNR6.js");
2817
- const { renderRingForExport } = await import("./renderer-BT6TOWBE.js");
2816
+ const { parseRing } = await import("./parser-K26KDCZN.js");
2817
+ const { renderRingForExport } = await import("./renderer-ZEPPPA3W.js");
2818
2818
  const effectivePalette = await resolveExportPalette(theme, palette);
2819
2819
  const ringParsed = parseRing(content);
2820
2820
  if (ringParsed.error || ringParsed.layers.length === 0) return "";
@@ -2827,14 +2827,14 @@ async function exportRing(ctx) {
2827
2827
  }
2828
2828
  async function exportTreemap(ctx) {
2829
2829
  const { content, theme, palette } = ctx;
2830
- const { parseTreemap } = await import("./parser-RTT3NOQC.js");
2830
+ const { parseTreemap } = await import("./parser-AWNEAGMJ.js");
2831
2831
  const effectivePalette = await resolveExportPalette(theme, palette);
2832
2832
  const treemapParsed = parseTreemap(content, effectivePalette);
2833
2833
  if (treemapParsed.error || treemapParsed.roots.length === 0) return "";
2834
2834
  const container = createExportContainer(ctx.width, ctx.height);
2835
2835
  const dims = { width: ctx.width, height: ctx.height };
2836
2836
  if (treemapParsed.options.radial) {
2837
- const { renderTreemapRadialForExport } = await import("./renderer-radial-AZLCCE4C.js");
2837
+ const { renderTreemapRadialForExport } = await import("./renderer-radial-KZ3W4WXI.js");
2838
2838
  renderTreemapRadialForExport(
2839
2839
  container,
2840
2840
  treemapParsed,
@@ -2843,7 +2843,7 @@ async function exportTreemap(ctx) {
2843
2843
  dims
2844
2844
  );
2845
2845
  } else {
2846
- const { renderTreemapForExport } = await import("./renderer-ZOP3SXFR.js");
2846
+ const { renderTreemapForExport } = await import("./renderer-YXYEP46H.js");
2847
2847
  renderTreemapForExport(
2848
2848
  container,
2849
2849
  treemapParsed,
@@ -2856,15 +2856,15 @@ async function exportTreemap(ctx) {
2856
2856
  }
2857
2857
  async function exportLiveLink(ctx) {
2858
2858
  const { content, theme, palette } = ctx;
2859
- const { parseLiveLink } = await import("./parser-DAMYSBVY.js");
2860
- const { renderLiveLinkCard } = await import("./renderer-6YEVDIZJ.js");
2859
+ const { parseLiveLink } = await import("./parser-O7GTECFP.js");
2860
+ const { renderLiveLinkCard } = await import("./renderer-DGZDRRJW.js");
2861
2861
  const effectivePalette = await resolveExportPalette(theme, palette);
2862
2862
  return renderLiveLinkCard(parseLiveLink(content), effectivePalette, theme);
2863
2863
  }
2864
2864
  async function exportBlock(ctx) {
2865
2865
  const { content, theme, palette } = ctx;
2866
- const { parseBlock } = await import("./parser-43YM7XW3.js");
2867
- const { renderBlockForExport } = await import("./renderer-2F3JUDTX.js");
2866
+ const { parseBlock } = await import("./parser-4E2TVMOK.js");
2867
+ const { renderBlockForExport } = await import("./renderer-JHWGW4Q7.js");
2868
2868
  const effectivePalette = await resolveExportPalette(theme, palette);
2869
2869
  const blockParsed = parseBlock(content, effectivePalette);
2870
2870
  if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
@@ -2877,8 +2877,8 @@ async function exportBlock(ctx) {
2877
2877
  }
2878
2878
  async function exportGoal(ctx) {
2879
2879
  const { content, theme, palette } = ctx;
2880
- const { parseGoal } = await import("./parser-PXI5UCVR.js");
2881
- const { renderGoalForExport } = await import("./renderer-KBZ223H6.js");
2880
+ const { parseGoal } = await import("./parser-AEJ73QJS.js");
2881
+ const { renderGoalForExport } = await import("./renderer-KQIJV5WD.js");
2882
2882
  const effectivePalette = await resolveExportPalette(theme, palette);
2883
2883
  const parsed = parseGoal(content, effectivePalette);
2884
2884
  if (parsed.error) return "";
@@ -2891,7 +2891,7 @@ async function exportGoal(ctx) {
2891
2891
  }
2892
2892
  async function exportCountdown(ctx) {
2893
2893
  const { content, theme, palette } = ctx;
2894
- const { parseCountdown } = await import("./parser-3QXKYLDG.js");
2894
+ const { parseCountdown } = await import("./parser-OHWDJGCP.js");
2895
2895
  const { renderCountdownForExport } = await import("./renderer-FAD65M5Z.js");
2896
2896
  const effectivePalette = await resolveExportPalette(theme, palette);
2897
2897
  const parsed = parseCountdown(content, effectivePalette);
@@ -2905,7 +2905,7 @@ async function exportCountdown(ctx) {
2905
2905
  }
2906
2906
  async function exportClock(ctx) {
2907
2907
  const { content, theme, palette } = ctx;
2908
- const { parseClock } = await import("./parser-Q2K7TDEA.js");
2908
+ const { parseClock } = await import("./parser-NIGB4EYX.js");
2909
2909
  const { renderClockForExport } = await import("./renderer-52KYFTNZ.js");
2910
2910
  const effectivePalette = await resolveExportPalette(theme, palette);
2911
2911
  const parsed = parseClock(content, effectivePalette);
@@ -2919,8 +2919,8 @@ async function exportClock(ctx) {
2919
2919
  }
2920
2920
  async function exportBracket(ctx) {
2921
2921
  const { content, theme, palette } = ctx;
2922
- const { parseBracket } = await import("./parser-WGCE3G7P.js");
2923
- const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-PD3Q7VKJ.js");
2922
+ const { parseBracket } = await import("./parser-C2QRTZPJ.js");
2923
+ const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-MZ4N2SVV.js");
2924
2924
  const effectivePalette = await resolveExportPalette(theme, palette);
2925
2925
  const parsed = parseBracket(content, effectivePalette);
2926
2926
  if (parsed.error) return "";
@@ -2934,8 +2934,8 @@ async function exportBracket(ctx) {
2934
2934
  }
2935
2935
  async function exportRaci(ctx) {
2936
2936
  const { content, theme, palette } = ctx;
2937
- const { parseRaci } = await import("./parser-RZIIZ3EW.js");
2938
- const { renderRaciForExport } = await import("./renderer-U7INHN4J.js");
2937
+ const { parseRaci } = await import("./parser-QCVEWLCO.js");
2938
+ const { renderRaciForExport } = await import("./renderer-BQWAUDEF.js");
2939
2939
  const effectivePalette = await resolveExportPalette(theme, palette);
2940
2940
  const raciParsed = parseRaci(content, effectivePalette);
2941
2941
  if (raciParsed.error) return "";
@@ -3067,8 +3067,8 @@ async function exportVisualization(ctx) {
3067
3067
  const effectivePalette = await resolveExportPalette(theme, palette);
3068
3068
  const isDark = ctx.isDark;
3069
3069
  const container = createExportContainer(ctx.width, ctx.height);
3070
- const { parseSequenceDgmo } = await import("./parser-TPQUTZPP.js");
3071
- const { renderSequenceDiagram } = await import("./renderer-OXOAUAVI.js");
3070
+ const { parseSequenceDgmo } = await import("./parser-TJ3SP2MJ.js");
3071
+ const { renderSequenceDiagram } = await import("./renderer-QOWN3XDI.js");
3072
3072
  const seqParsed = parseSequenceDgmo(content, effectivePalette);
3073
3073
  if (seqParsed.error || seqParsed.participants.length === 0) return "";
3074
3074
  const collapsedSections = viewState?.cs ? new Set(viewState.cs) : void 0;
@@ -3191,6 +3191,26 @@ function buildHoverCss(spec, derived = {}, emphasisOverride) {
3191
3191
  for (const id of ids) cross.push(connectionRule(spec, id, dimOpacity));
3192
3192
  }
3193
3193
  }
3194
+ const legendValues = derived.legendValues ?? [];
3195
+ if (spec.legend && derived.legendAttr && legendValues.length) {
3196
+ if (legendValues.length > MAX_HOVER_GROUPS) {
3197
+ base.push(
3198
+ `/* hover: ${legendValues.length} legend groups exceeds cap ${MAX_HOVER_GROUPS}; no legend pairing */`
3199
+ );
3200
+ } else {
3201
+ for (const v of legendValues) {
3202
+ cross.push(
3203
+ legendRule(
3204
+ spec.markSelector,
3205
+ derived.legendAttr,
3206
+ v,
3207
+ emphasis,
3208
+ dimOpacity
3209
+ )
3210
+ );
3211
+ }
3212
+ }
3213
+ }
3194
3214
  const parts = [...base];
3195
3215
  if (cross.length) parts.push(`@media (hover:hover){${cross.join("")}}`);
3196
3216
  return parts.join("");
@@ -3248,10 +3268,15 @@ var HOVER_SPECS = {
3248
3268
  // and no renderer edits. Tag-group charts (treemap/event-line/block/map —
3249
3269
  // keyed on a per-diagram `data-tag-<slug>`) are deferred: they need
3250
3270
  // active-tag-slug discovery in the injector.
3271
+ // gantt's legend is a TAG-group legend while its cross rules enumerate
3272
+ // `data-group` (the section), so the two key off different attrs — the
3273
+ // injector resolves the legend's own attr (`legendAttr`). Measured
3274
+ // 2026-08-16: 10/10 `.gantt-task` marks carry `data-tag-crew`.
3251
3275
  gantt: {
3252
3276
  markSelector: ".gantt-task",
3253
3277
  strategy: "enumerated",
3254
- groupAttr: "data-group"
3278
+ groupAttr: "data-group",
3279
+ legend: true
3255
3280
  },
3256
3281
  timeline: {
3257
3282
  markSelector: ".tl-event",
@@ -3266,6 +3291,21 @@ var HOVER_SPECS = {
3266
3291
  groupAttr: "data-role-id"
3267
3292
  },
3268
3293
  // ── CROSS-FREE connection charts (node hover → dim non-incident edges) ──
3294
+ //
3295
+ // `legend: true` here is ADDITIVE, not an alternative strategy: these charts
3296
+ // draw a tag-group legend as well as a graph, so they get BOTH node→edge
3297
+ // rules and legend→mark rules. Their marks already carry `data-tag-<slug>`
3298
+ // (lowercased) for the active group, so the injector resolves the pairing
3299
+ // attr itself and no renderer changes. `emphasis` is otherwise inert on a
3300
+ // connection spec — `connectionRule` always dims and `selfRule` always lifts
3301
+ // — so it reads here purely as the legend's emphasis, and `dim` is what the
3302
+ // app's own legend hover does (FamilyPreview `emphasizeCards`).
3303
+ //
3304
+ // Charts that draw a legend and tagged marks but are NOT listed:
3305
+ // kanban — `structural`; the marks are columns while the tags sit on the
3306
+ // cards inside them, so a pairing needs a mark-selector change.
3307
+ // bracket, family — no registry row at all; a legend needs a whole spec.
3308
+ // map — carries two tag kinds on different marks (see its row).
3269
3309
  sequence: {
3270
3310
  markSelector: ".participant",
3271
3311
  strategy: "connection",
@@ -3273,7 +3313,9 @@ var HOVER_SPECS = {
3273
3313
  hoverAttr: "data-participant-id",
3274
3314
  edgeSelector: ".message-arrow",
3275
3315
  fromAttr: "data-from",
3276
- toAttr: "data-to"
3316
+ toAttr: "data-to",
3317
+ legend: true,
3318
+ emphasis: "dim"
3277
3319
  },
3278
3320
  arc: {
3279
3321
  markSelector: ".arc-node",
@@ -3349,7 +3391,9 @@ var HOVER_SPECS = {
3349
3391
  hoverAttr: "data-node-id",
3350
3392
  edgeSelector: ".bl-edge-group",
3351
3393
  fromAttr: "data-from",
3352
- toAttr: "data-to"
3394
+ toAttr: "data-to",
3395
+ legend: true,
3396
+ emphasis: "dim"
3353
3397
  },
3354
3398
  sketch: {
3355
3399
  markSelector: ".sk-node",
@@ -3358,7 +3402,9 @@ var HOVER_SPECS = {
3358
3402
  hoverAttr: "data-node-id",
3359
3403
  edgeSelector: ".sk-edge-group",
3360
3404
  fromAttr: "data-from",
3361
- toAttr: "data-to"
3405
+ toAttr: "data-to",
3406
+ legend: true,
3407
+ emphasis: "dim"
3362
3408
  },
3363
3409
  infra: {
3364
3410
  markSelector: ".infra-node",
@@ -3367,7 +3413,9 @@ var HOVER_SPECS = {
3367
3413
  hoverAttr: "data-infra-node",
3368
3414
  edgeSelector: ".infra-edge",
3369
3415
  fromAttr: "data-from",
3370
- toAttr: "data-to"
3416
+ toAttr: "data-to",
3417
+ legend: true,
3418
+ emphasis: "dim"
3371
3419
  },
3372
3420
  c4: {
3373
3421
  markSelector: ".c4-card",
@@ -3376,7 +3424,9 @@ var HOVER_SPECS = {
3376
3424
  hoverAttr: "data-node-id",
3377
3425
  edgeSelector: ".c4-edge-group",
3378
3426
  fromAttr: "data-source",
3379
- toAttr: "data-target"
3427
+ toAttr: "data-target",
3428
+ legend: true,
3429
+ emphasis: "dim"
3380
3430
  },
3381
3431
  class: {
3382
3432
  markSelector: ".cd-class",
@@ -3403,7 +3453,9 @@ var HOVER_SPECS = {
3403
3453
  hoverAttr: "data-node-id",
3404
3454
  edgeSelector: ".org-edge",
3405
3455
  fromAttr: "data-from",
3406
- toAttr: "data-to"
3456
+ toAttr: "data-to",
3457
+ legend: true,
3458
+ emphasis: "dim"
3407
3459
  },
3408
3460
  sitemap: {
3409
3461
  markSelector: ".sitemap-node",
@@ -3412,7 +3464,9 @@ var HOVER_SPECS = {
3412
3464
  hoverAttr: "data-node-id",
3413
3465
  edgeSelector: ".sitemap-edge-group",
3414
3466
  fromAttr: "data-from",
3415
- toAttr: "data-to"
3467
+ toAttr: "data-to",
3468
+ legend: true,
3469
+ emphasis: "dim"
3416
3470
  },
3417
3471
  cycle: {
3418
3472
  markSelector: ".cycle-node",
@@ -3511,37 +3565,51 @@ var HOVER_SPECS = {
3511
3565
  groupAttrMode: "tag-active"
3512
3566
  }
3513
3567
  };
3568
+ function resolveTagAttr(root, markSelector) {
3569
+ const slug = root.querySelector("[data-legend-active]")?.getAttribute("data-legend-active");
3570
+ if (slug) {
3571
+ const attr = `data-tag-${tagAttrKey(slug)}`;
3572
+ if (root.querySelector(`${markSelector}[${attr}]`)) return attr;
3573
+ }
3574
+ const names = /* @__PURE__ */ new Set();
3575
+ root.querySelectorAll(markSelector).forEach((el) => {
3576
+ for (const a of Array.from(el.attributes)) {
3577
+ if (a.name.startsWith("data-tag-")) names.add(a.name);
3578
+ }
3579
+ });
3580
+ return names.size === 1 ? [...names][0] : void 0;
3581
+ }
3582
+ function distinctAttrValues(root, markSelector, attr) {
3583
+ const seen = /* @__PURE__ */ new Set();
3584
+ root.querySelectorAll(`${markSelector}[${attr}]`).forEach((el) => {
3585
+ const v = el.getAttribute(attr);
3586
+ if (v != null) seen.add(v);
3587
+ });
3588
+ return [...seen];
3589
+ }
3514
3590
  function deriveFromSvg(svg, spec) {
3515
3591
  if (typeof document === "undefined") return {};
3516
3592
  const holder = document.createElement("div");
3517
3593
  holder.innerHTML = svg;
3518
3594
  const root = holder.querySelector("svg");
3519
3595
  if (!root) return {};
3596
+ const legendExtra = () => {
3597
+ if (!spec.legend || spec.groupAttrMode === "tag-active") return {};
3598
+ const attr = resolveTagAttr(root, spec.markSelector);
3599
+ if (!attr || attr === spec.groupAttr) return {};
3600
+ return {
3601
+ legendAttr: attr,
3602
+ legendValues: distinctAttrValues(root, spec.markSelector, attr)
3603
+ };
3604
+ };
3520
3605
  if (spec.strategy === "enumerated") {
3521
- let groupAttr = spec.groupAttr;
3522
- if (spec.groupAttrMode === "tag-active") {
3523
- const slug = root.querySelector("[data-legend-active]")?.getAttribute("data-legend-active");
3524
- if (slug) {
3525
- groupAttr = `data-tag-${tagAttrKey(slug)}`;
3526
- } else {
3527
- const names = /* @__PURE__ */ new Set();
3528
- root.querySelectorAll(spec.markSelector).forEach((el) => {
3529
- for (const a of Array.from(el.attributes)) {
3530
- if (a.name.startsWith("data-tag-")) names.add(a.name);
3531
- }
3532
- });
3533
- if (names.size !== 1) return {};
3534
- groupAttr = [...names][0];
3535
- }
3536
- }
3537
- if (!groupAttr) return {};
3538
- const attr = groupAttr;
3539
- const seen = /* @__PURE__ */ new Set();
3540
- root.querySelectorAll(`${spec.markSelector}[${attr}]`).forEach((el) => {
3541
- const v = el.getAttribute(attr);
3542
- if (v != null) seen.add(v);
3543
- });
3544
- return { values: [...seen], groupAttr: attr };
3606
+ const groupAttr = spec.groupAttrMode === "tag-active" ? resolveTagAttr(root, spec.markSelector) : spec.groupAttr;
3607
+ if (!groupAttr) return { ...legendExtra() };
3608
+ return {
3609
+ values: distinctAttrValues(root, spec.markSelector, groupAttr),
3610
+ groupAttr,
3611
+ ...legendExtra()
3612
+ };
3545
3613
  }
3546
3614
  if (spec.strategy === "connection" && spec.hoverSelector && spec.hoverAttr) {
3547
3615
  const seen = /* @__PURE__ */ new Set();
@@ -3549,9 +3617,9 @@ function deriveFromSvg(svg, spec) {
3549
3617
  const v = el.getAttribute(spec.hoverAttr);
3550
3618
  if (v != null) seen.add(v);
3551
3619
  });
3552
- return { ids: [...seen] };
3620
+ return { ids: [...seen], ...legendExtra() };
3553
3621
  }
3554
- return {};
3622
+ return { ...legendExtra() };
3555
3623
  }
3556
3624
  function injectHoverStyles(svg, chartType, opts) {
3557
3625
  if (!opts?.bakeHover || !svg || !chartType) return svg;
@@ -3731,4 +3799,4 @@ export {
3731
3799
  renderForExport,
3732
3800
  render
3733
3801
  };
3734
- //# sourceMappingURL=chunk-VCNJRCG2.js.map
3802
+ //# sourceMappingURL=chunk-XJZSN42P.js.map