@diagrammo/dgmo 0.85.0 → 0.87.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 (122) hide show
  1. package/dist/advanced.d.ts +45 -9
  2. package/dist/advanced.js +83 -64
  3. package/dist/block.js +11 -23
  4. package/dist/chart-meta.js +3 -3
  5. package/dist/{chunk-FAV4RDVT.js → chunk-2A4DQAXG.js} +1 -1
  6. package/dist/{chunk-LRNIYQ6Y.js → chunk-33FQ6HNV.js} +1 -1
  7. package/dist/{chunk-JIPUBFAM.js → chunk-5KGM44TG.js} +2 -2
  8. package/dist/{chunk-23RWHHI5.js → chunk-5NU7NII2.js} +14 -2
  9. package/dist/{chunk-QJ2JOLFN.js → chunk-6I5UN4FD.js} +2 -2
  10. package/dist/{chunk-HMWZQ53A.js → chunk-7WGCQE2E.js} +1 -1
  11. package/dist/{chunk-NSS2EF5B.js → chunk-AAMCXQPP.js} +1 -1
  12. package/dist/{chunk-XD7XL3SF.js → chunk-AGO3PFGS.js} +1 -1
  13. package/dist/{chunk-JVRDKR5R.js → chunk-AQIBKTPG.js} +1 -1
  14. package/dist/{chunk-RYZNNXUV.js → chunk-AUS7V54P.js} +1 -1
  15. package/dist/{chunk-ITLPDLBH.js → chunk-B7CU2HW5.js} +3 -3
  16. package/dist/{chunk-X2VEJ5NT.js → chunk-BMUWF77V.js} +2 -2
  17. package/dist/{chunk-6HOVLE3H.js → chunk-BT2WH2XT.js} +1 -1
  18. package/dist/{chunk-3MXJMZAN.js → chunk-BV6PKJUS.js} +105 -28
  19. package/dist/{chunk-7256EOAE.js → chunk-CFBY77QJ.js} +129 -10
  20. package/dist/{chunk-BP4BT5TH.js → chunk-CLQIXD2C.js} +1 -1
  21. package/dist/{chunk-OZTDXMRQ.js → chunk-D4M25W6R.js} +1 -1
  22. package/dist/{chunk-A4PHPKNR.js → chunk-DAX42XVH.js} +1 -1
  23. package/dist/{chunk-C5FEPGSJ.js → chunk-DSG6GBUQ.js} +3 -3
  24. package/dist/{chunk-JLGN6S4B.js → chunk-EJS3K44P.js} +148 -80
  25. package/dist/{chunk-YWHGWLY6.js → chunk-FBKPSU3A.js} +5 -5
  26. package/dist/{chunk-5JO443MB.js → chunk-HAH5X345.js} +1 -1
  27. package/dist/{chunk-HBCAY3KR.js → chunk-HTNLLT34.js} +1 -1
  28. package/dist/{chunk-PEFPTQ3Z.js → chunk-HTPZDZKQ.js} +3 -3
  29. package/dist/{chunk-XXAZ5C4K.js → chunk-IJ27L3R4.js} +1 -1
  30. package/dist/{chunk-OGKP2XGJ.js → chunk-J7Q4VPBJ.js} +2 -2
  31. package/dist/{chunk-VDMG3MM4.js → chunk-JD4RHBNX.js} +1 -1
  32. package/dist/{chunk-HATTVAWX.js → chunk-LJFXC3IP.js} +1 -1
  33. package/dist/{chunk-REUEU5PU.js → chunk-LL6D3MES.js} +3 -3
  34. package/dist/{chunk-ULCB4BLF.js → chunk-LPXC4I4R.js} +19 -2
  35. package/dist/{chunk-BIQYWWJ2.js → chunk-LSQGJN5H.js} +2 -2
  36. package/dist/{chunk-T327J6CE.js → chunk-MSXRNVHB.js} +2 -2
  37. package/dist/{chunk-V3LJIPS4.js → chunk-N7XRBWXA.js} +3 -3
  38. package/dist/{chunk-UJRMARNX.js → chunk-NJIGYGZS.js} +19 -1
  39. package/dist/{chunk-WMIKC5XO.js → chunk-NPWVOFB3.js} +1 -1
  40. package/dist/{chunk-2QIGN7KL.js → chunk-O6MMQQLF.js} +9 -5
  41. package/dist/{chunk-MIZ46MOF.js → chunk-P5V63L35.js} +2 -2
  42. package/dist/{chunk-ADAGWVWJ.js → chunk-PJQZWJ5I.js} +70 -48
  43. package/dist/{chunk-RMAJIB6S.js → chunk-PUVTFUNH.js} +4 -4
  44. package/dist/{chunk-ETBXIKK6.js → chunk-Q2U5635V.js} +1 -1
  45. package/dist/chunk-QT3KDDXK.js +436 -0
  46. package/dist/{chunk-UNSN56OJ.js → chunk-R2K5L4UA.js} +1 -1
  47. package/dist/{chunk-SLMAAJPE.js → chunk-RGI64U3A.js} +1 -1
  48. package/dist/{chunk-ZGHV4QLK.js → chunk-RJNZHFNG.js} +1 -1
  49. package/dist/{chunk-FWNJDD4U.js → chunk-S7W75MIM.js} +3 -20
  50. package/dist/{chunk-ZUUNTOMG.js → chunk-UIUXIDBX.js} +1 -1
  51. package/dist/{chunk-XIYVGO24.js → chunk-UMRZPRAN.js} +3 -3
  52. package/dist/{chunk-67USWFFE.js → chunk-UY6TEJJH.js} +1 -1
  53. package/dist/{chunk-UGYZ5Q5Y.js → chunk-VJ2KROJ5.js} +1 -1
  54. package/dist/{chunk-PSH5DT26.js → chunk-WZ23JJ7U.js} +3 -3
  55. package/dist/{chunk-IIEI7VK5.js → chunk-XCKNFFKM.js} +2 -0
  56. package/dist/{chunk-Y7FTHOMD.js → chunk-XIFK423U.js} +129 -225
  57. package/dist/{chunk-LQSNWE3W.js → chunk-XUDGZJTJ.js} +3 -3
  58. package/dist/{chunk-D7D5YK4J.js → chunk-XVSJYAK7.js} +15 -3
  59. package/dist/{chunk-J2ICADUM.js → chunk-XWYR5T52.js} +3 -3
  60. package/dist/{chunk-QNKHJ5CK.js → chunk-YK4N6TBN.js} +4 -2
  61. package/dist/{chunk-NJS62BAG.js → chunk-YMG7JDEY.js} +17 -7
  62. package/dist/chunk-Z6DXWULM.js +23 -0
  63. package/dist/{chunk-PBEH52A2.js → chunk-ZNNVI5SR.js} +1 -1
  64. package/dist/cloud-reference.d.ts +11 -1
  65. package/dist/cloud-reference.js +1 -1
  66. package/dist/{dgmo-router-VILEOWQ2.js → dgmo-router-F2DSURTR.js} +4 -4
  67. package/dist/{dimensions-F3Y5T54V.js → dimensions-6QAWEGIR.js} +2 -2
  68. package/dist/{flowchart-renderer-TGQL4S4L.js → flowchart-renderer-THC6Y7EH.js} +8 -7
  69. package/dist/index.d.ts +68 -1
  70. package/dist/index.js +81 -13
  71. package/dist/{layout-WZCXK7DF.js → layout-5NPBHV5F.js} +2 -2
  72. package/dist/{layout-WXVGMSI3.js → layout-5VSMZPMG.js} +2 -2
  73. package/dist/{layout-CFTB7GKV.js → layout-BOVTLAOT.js} +7 -6
  74. package/dist/{layout-K6NI4VCS.js → layout-CUFA7XJD.js} +2 -2
  75. package/dist/{layout-6JARW64V.js → layout-EHTYSMV4.js} +6 -5
  76. package/dist/{layout-NB7TKAWN.js → layout-LUQKAGGT.js} +2 -2
  77. package/dist/{layout-YELNBVPC.js → layout-P6DTD4RT.js} +6 -5
  78. package/dist/{layout-PT7IKVCV.js → layout-QX5T6ZNE.js} +2 -2
  79. package/dist/layout-RANVNAKI.js +10 -0
  80. package/dist/{layout-FMKSENGL.js → layout-XUW444O5.js} +5 -4
  81. package/dist/{layout-search-GRJEBAUF.js → layout-search-VKSBUCDM.js} +67 -33
  82. package/dist/live-link-resolve.d.ts +21 -3
  83. package/dist/live-link-resolve.js +47 -17
  84. package/dist/{parser-6TXNMXNB.js → parser-XYY5NHP4.js} +2 -2
  85. package/dist/{renderer-YSH5EX54.js → renderer-222OTVQV.js} +3 -2
  86. package/dist/{renderer-DRLLZZ6P.js → renderer-2KVQGGTT.js} +5 -4
  87. package/dist/{renderer-E5EKGIX2.js → renderer-2OOPQ4CH.js} +4 -3
  88. package/dist/{renderer-OV3GUJRR.js → renderer-36JH4OMC.js} +4 -4
  89. package/dist/{renderer-G72GMBKA.js → renderer-3CTUWCO7.js} +7 -6
  90. package/dist/{renderer-XS42HEXW.js → renderer-3FF4QVGW.js} +4 -3
  91. package/dist/{renderer-R6VJDZFO.js → renderer-4BHOELCE.js} +4 -3
  92. package/dist/{renderer-EU27D4S6.js → renderer-4BIMRO4X.js} +5 -4
  93. package/dist/{renderer-HV6ZYJMC.js → renderer-4NZZ5J2F.js} +2 -2
  94. package/dist/{renderer-UGA5DGKR.js → renderer-A4LMOBZL.js} +9 -8
  95. package/dist/{renderer-3AOOLHJU.js → renderer-A6ACVK4X.js} +3 -2
  96. package/dist/{renderer-HWEGM72C.js → renderer-BICLPGAH.js} +2 -2
  97. package/dist/{renderer-ML2CLU25.js → renderer-DCFQDBGJ.js} +4 -3
  98. package/dist/{renderer-ADX4DWRJ.js → renderer-ELYPDPNF.js} +3 -2
  99. package/dist/{renderer-OXSLLQQC.js → renderer-KVAQE7PQ.js} +2 -2
  100. package/dist/{renderer-X4KFEKUK.js → renderer-LODEVN3V.js} +5 -4
  101. package/dist/{renderer-WUDVV363.js → renderer-NHPKNNBD.js} +6 -5
  102. package/dist/{renderer-TF3NTKP3.js → renderer-NX4YKWCJ.js} +2 -2
  103. package/dist/{renderer-P7LQBDU2.js → renderer-QM23SWAM.js} +2 -2
  104. package/dist/{renderer-5YOF2AHJ.js → renderer-R34GJL7U.js} +9 -8
  105. package/dist/{renderer-FBAFYSIQ.js → renderer-RAATRF6W.js} +3 -3
  106. package/dist/{renderer-FXX3XSNW.js → renderer-RENDISO5.js} +2 -2
  107. package/dist/{renderer-3F4K2X57.js → renderer-RMGN3Q7D.js} +2 -2
  108. package/dist/{renderer-FQAZ3KNU.js → renderer-SDUSBCJI.js} +4 -3
  109. package/dist/{renderer-OVDVFPAI.js → renderer-WH2HWE5Z.js} +5 -4
  110. package/dist/{renderer-J3O2KVTL.js → renderer-X5A5VIRD.js} +6 -5
  111. package/dist/{renderer-WRWVFEX7.js → renderer-XRALFCIN.js} +6 -4
  112. package/dist/{renderer-3XRDFNYF.js → renderer-YDAVCRTP.js} +5 -4
  113. package/dist/{renderer-5A6VWIVX.js → renderer-YIZ7G4HU.js} +5 -5
  114. package/dist/{state-renderer-B4ZF6ESS.js → state-renderer-5IQ4OJUI.js} +8 -7
  115. package/docs/language-reference.md +12 -12
  116. package/gallery/fixtures/journey-map.dgmo +28 -0
  117. package/gallery/fixtures/mindmap.dgmo +31 -0
  118. package/gallery/fixtures/pert.dgmo +27 -0
  119. package/gallery/fixtures/wireframe.dgmo +30 -0
  120. package/package.json +3 -3
  121. package/dist/chunk-WTTIODDV.js +0 -9
  122. package/dist/layout-JQ3IPJYR.js +0 -9
@@ -8,7 +8,7 @@ import {
8
8
  parseVenn,
9
9
  parseVisualization,
10
10
  parseWordcloud
11
- } from "./chunk-T327J6CE.js";
11
+ } from "./chunk-MSXRNVHB.js";
12
12
  import {
13
13
  MAP_DX
14
14
  } from "./chunk-EOYPX6SF.js";
@@ -20,14 +20,14 @@ import {
20
20
  } from "./chunk-KMU65FYM.js";
21
21
  import {
22
22
  renderTimeline
23
- } from "./chunk-ULCB4BLF.js";
23
+ } from "./chunk-LPXC4I4R.js";
24
24
  import {
25
25
  ScaleContext
26
26
  } from "./chunk-24YPR5EH.js";
27
27
  import {
28
28
  GRID_DASH,
29
29
  scaleDash
30
- } from "./chunk-IIEI7VK5.js";
30
+ } from "./chunk-XCKNFFKM.js";
31
31
  import {
32
32
  EXPORT_HEIGHT,
33
33
  EXPORT_WIDTH,
@@ -1951,7 +1951,7 @@ function resolveArcChordOverride(content, detectedType, palette) {
1951
1951
  }
1952
1952
  async function renderForExport(content, theme, palette, viewState, options) {
1953
1953
  const exportMode = options?.exportMode ?? false;
1954
- const { parseDgmoChartType } = await import("./dgmo-router-VILEOWQ2.js");
1954
+ const { parseDgmoChartType } = await import("./dgmo-router-F2DSURTR.js");
1955
1955
  const detectedTypeRaw = parseDgmoChartType(content);
1956
1956
  const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
1957
1957
  const renderContent = override?.content ?? content;
@@ -1991,7 +1991,7 @@ function ctxTagOverride(ctx) {
1991
1991
  async function exportEventLine(ctx) {
1992
1992
  const { content, theme, palette } = ctx;
1993
1993
  const { parseEventLine } = await import("./parser-KFYRTGTC.js");
1994
- const { renderEventLineForExport } = await import("./renderer-G72GMBKA.js");
1994
+ const { renderEventLineForExport } = await import("./renderer-3CTUWCO7.js");
1995
1995
  const effectivePalette = await resolveExportPalette(theme, palette);
1996
1996
  const parsed = parseEventLine(content, effectivePalette);
1997
1997
  if (parsed.error || parsed.events.length === 0) return "";
@@ -2028,7 +2028,7 @@ async function exportBody(ctx) {
2028
2028
  async function exportVersionControl(ctx) {
2029
2029
  const { content, theme, palette } = ctx;
2030
2030
  const { parseVersionControl } = await import("./parser-KZMJNKDW.js");
2031
- const { renderVersionControlForExport } = await import("./renderer-HWEGM72C.js");
2031
+ const { renderVersionControlForExport } = await import("./renderer-BICLPGAH.js");
2032
2032
  const effectivePalette = await resolveExportPalette(theme, palette);
2033
2033
  const parsed = parseVersionControl(content, effectivePalette);
2034
2034
  if (parsed.error || parsed.nodes.length === 0) return "";
@@ -2053,9 +2053,9 @@ function unionHiddenAttributes(hideOption, ha) {
2053
2053
  async function exportOrg(ctx) {
2054
2054
  const { content, theme, palette, viewState, exportMode } = ctx;
2055
2055
  const { parseOrg, findOrgNodeIdByName } = await import("./parser-JOOAVBJI.js");
2056
- const { layoutOrg } = await import("./layout-PT7IKVCV.js");
2056
+ const { layoutOrg } = await import("./layout-QX5T6ZNE.js");
2057
2057
  const { collapseOrgTree, focusOrgTree, unionCollapsedOrgNodes } = await import("./collapse-JRGPUE67.js");
2058
- const { renderOrg, ancestorTrailReserve } = await import("./renderer-OV3GUJRR.js");
2058
+ const { renderOrg, ancestorTrailReserve } = await import("./renderer-36JH4OMC.js");
2059
2059
  const isDark = ctx.isDark;
2060
2060
  const effectivePalette = await resolveExportPalette(theme, palette);
2061
2061
  const orgParsed = parseOrg(content, effectivePalette);
@@ -2117,9 +2117,9 @@ async function exportOrg(ctx) {
2117
2117
  async function exportSitemap(ctx) {
2118
2118
  const { content, theme, palette, viewState, exportMode } = ctx;
2119
2119
  const { parseSitemap } = await import("./parser-OKB64MMN.js");
2120
- const { layoutSitemap } = await import("./layout-NB7TKAWN.js");
2120
+ const { layoutSitemap } = await import("./layout-LUQKAGGT.js");
2121
2121
  const { collapseSitemapTree } = await import("./collapse-ZWUFFCK2.js");
2122
- const { renderSitemap } = await import("./renderer-OVDVFPAI.js");
2122
+ const { renderSitemap } = await import("./renderer-WH2HWE5Z.js");
2123
2123
  const isDark = ctx.isDark;
2124
2124
  const effectivePalette = await resolveExportPalette(theme, palette);
2125
2125
  const sitemapParsed = parseSitemap(content, effectivePalette);
@@ -2169,7 +2169,7 @@ async function exportSitemap(ctx) {
2169
2169
  async function exportKanban(ctx) {
2170
2170
  const { content, theme, palette, viewState, exportMode } = ctx;
2171
2171
  const { parseKanban } = await import("./parser-ACW6C6OY.js");
2172
- const { renderKanban } = await import("./renderer-XS42HEXW.js");
2172
+ const { renderKanban } = await import("./renderer-3FF4QVGW.js");
2173
2173
  const effectivePalette = await resolveExportPalette(theme, palette);
2174
2174
  const kanbanParsed = parseKanban(content, effectivePalette);
2175
2175
  if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
@@ -2201,8 +2201,8 @@ async function exportKanban(ctx) {
2201
2201
  async function exportClass(ctx) {
2202
2202
  const { content, theme, palette, exportMode } = ctx;
2203
2203
  const { parseClassDiagram } = await import("./parser-GPW4ZHPQ.js");
2204
- const { layoutClassDiagram } = await import("./layout-YELNBVPC.js");
2205
- const { renderClassDiagram } = await import("./renderer-UGA5DGKR.js");
2204
+ const { layoutClassDiagram } = await import("./layout-P6DTD4RT.js");
2205
+ const { renderClassDiagram } = await import("./renderer-A4LMOBZL.js");
2206
2206
  const effectivePalette = await resolveExportPalette(theme, palette);
2207
2207
  const classParsed = parseClassDiagram(content, effectivePalette);
2208
2208
  if (classParsed.error || classParsed.classes.length === 0) return "";
@@ -2228,8 +2228,8 @@ async function exportClass(ctx) {
2228
2228
  async function exportEr(ctx) {
2229
2229
  const { content, theme, palette, viewState, exportMode } = ctx;
2230
2230
  const { parseERDiagram } = await import("./parser-J4DVNL4W.js");
2231
- const { layoutERDiagram } = await import("./layout-6JARW64V.js");
2232
- const { renderERDiagram } = await import("./renderer-5YOF2AHJ.js");
2231
+ const { layoutERDiagram } = await import("./layout-EHTYSMV4.js");
2232
+ const { renderERDiagram } = await import("./renderer-R34GJL7U.js");
2233
2233
  const effectivePalette = await resolveExportPalette(theme, palette);
2234
2234
  const erParsed = parseERDiagram(content, effectivePalette);
2235
2235
  if (erParsed.error || erParsed.tables.length === 0) return "";
@@ -2268,7 +2268,7 @@ async function exportSketch(ctx) {
2268
2268
  return "";
2269
2269
  }
2270
2270
  const { layoutSketch } = await import("./layout-MSSHF45T.js");
2271
- const { renderSketchForExport } = await import("./renderer-FBAFYSIQ.js");
2271
+ const { renderSketchForExport } = await import("./renderer-RAATRF6W.js");
2272
2272
  const collapsedBoxes = viewState?.cg ? new Set(viewState.cg) : void 0;
2273
2273
  const skLayout = layoutSketch(parsed, {
2274
2274
  ...collapsedBoxes !== void 0 && { collapsedBoxes }
@@ -2306,8 +2306,8 @@ async function exportBoxesAndLines(ctx) {
2306
2306
  blHiddenTagValues.set(k, new Set(v));
2307
2307
  }
2308
2308
  }
2309
- const { renderBoxesAndLinesForExport } = await import("./renderer-J3O2KVTL.js");
2310
- const { layoutBoxesAndLines } = await import("./layout-CFTB7GKV.js");
2309
+ const { renderBoxesAndLinesForExport } = await import("./renderer-X5A5VIRD.js");
2310
+ const { layoutBoxesAndLines } = await import("./layout-BOVTLAOT.js");
2311
2311
  const blLayout = await layoutBoxesAndLines(blParsed);
2312
2312
  const PADDING = 20;
2313
2313
  const titleOffset = blParsed.title ? 40 : 0;
@@ -2337,8 +2337,8 @@ async function exportBoxesAndLines(ctx) {
2337
2337
  async function exportSwimlane(ctx) {
2338
2338
  const { content, theme, palette } = ctx;
2339
2339
  const { parseSwimlane } = await import("./parser-ZLKYDFI5.js");
2340
- const { layoutSwimlane } = await import("./layout-JQ3IPJYR.js");
2341
- const { renderSwimlaneForExport } = await import("./renderer-P7LQBDU2.js");
2340
+ const { layoutSwimlane } = await import("./layout-RANVNAKI.js");
2341
+ const { renderSwimlaneForExport } = await import("./renderer-QM23SWAM.js");
2342
2342
  const effectivePalette = await resolveExportPalette(theme, palette);
2343
2343
  const swimParsed = parseSwimlane(content, effectivePalette);
2344
2344
  if (swimParsed.error || swimParsed.nodes.length === 0) return "";
@@ -2369,8 +2369,8 @@ async function exportSwimlane(ctx) {
2369
2369
  async function exportFamily(ctx) {
2370
2370
  const { content, theme, palette } = ctx;
2371
2371
  const { parseFamily } = await import("./parser-NPXPJHWN.js");
2372
- const { layoutFamily } = await import("./layout-WXVGMSI3.js");
2373
- const { renderFamilyForExport } = await import("./renderer-HV6ZYJMC.js");
2372
+ const { layoutFamily } = await import("./layout-5VSMZPMG.js");
2373
+ const { renderFamilyForExport } = await import("./renderer-4NZZ5J2F.js");
2374
2374
  const effectivePalette = await resolveExportPalette(theme, palette);
2375
2375
  const parsed = parseFamily(content, effectivePalette);
2376
2376
  if (parsed.error || parsed.persons.size === 0) return "";
@@ -2401,9 +2401,9 @@ async function exportFamily(ctx) {
2401
2401
  async function exportMindmap(ctx) {
2402
2402
  const { content, theme, palette, viewState, exportMode } = ctx;
2403
2403
  const { parseMindmap } = await import("./parser-NGHQQGD2.js");
2404
- const { layoutMindmap } = await import("./layout-WZCXK7DF.js");
2404
+ const { layoutMindmap } = await import("./layout-5NPBHV5F.js");
2405
2405
  const { collapseMindmapTree } = await import("./collapse-SLINJQW6.js");
2406
- const { renderMindmap } = await import("./renderer-X4KFEKUK.js");
2406
+ const { renderMindmap } = await import("./renderer-LODEVN3V.js");
2407
2407
  const isDark = ctx.isDark;
2408
2408
  const effectivePalette = await resolveExportPalette(theme, palette);
2409
2409
  const mmParsed = parseMindmap(content, effectivePalette);
@@ -2484,8 +2484,8 @@ async function exportC4(ctx) {
2484
2484
  layoutC4Containers,
2485
2485
  layoutC4Components,
2486
2486
  layoutC4Deployment
2487
- } = await import("./layout-K6NI4VCS.js");
2488
- const { renderC4Context, renderC4Containers } = await import("./renderer-3XRDFNYF.js");
2487
+ } = await import("./layout-CUFA7XJD.js");
2488
+ const { renderC4Context, renderC4Containers } = await import("./renderer-YDAVCRTP.js");
2489
2489
  const effectivePalette = await resolveExportPalette(theme, palette);
2490
2490
  const c4Parsed = parseC4(content, effectivePalette);
2491
2491
  if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
@@ -2520,8 +2520,8 @@ async function exportC4(ctx) {
2520
2520
  async function exportFlowchart(ctx) {
2521
2521
  const { content, theme, palette } = ctx;
2522
2522
  const { parseFlowchart } = await import("./flowchart-parser-GG7XBLQH.js");
2523
- const { layoutGraph } = await import("./layout-FMKSENGL.js");
2524
- const { renderFlowchart } = await import("./flowchart-renderer-TGQL4S4L.js");
2523
+ const { layoutGraph } = await import("./layout-XUW444O5.js");
2524
+ const { renderFlowchart } = await import("./flowchart-renderer-THC6Y7EH.js");
2525
2525
  const effectivePalette = await resolveExportPalette(theme, palette);
2526
2526
  const fcParsed = parseFlowchart(content, effectivePalette);
2527
2527
  if (fcParsed.error || fcParsed.nodes.length === 0) return "";
@@ -2543,7 +2543,7 @@ async function exportInfra(ctx) {
2543
2543
  const { parseInfra } = await import("./parser-DGF3ZEO6.js");
2544
2544
  const { computeInfra } = await import("./compute-JAP5E2E4.js");
2545
2545
  const { layoutInfra } = await import("./layout-SW3XWYKC.js");
2546
- const { renderInfra, computeInfraLegendGroups } = await import("./renderer-FQAZ3KNU.js");
2546
+ const { renderInfra, computeInfraLegendGroups } = await import("./renderer-SDUSBCJI.js");
2547
2547
  const effectivePalette = await resolveExportPalette(theme, palette);
2548
2548
  const infraParsed = parseInfra(content);
2549
2549
  if (infraParsed.error || infraParsed.nodes.length === 0) return "";
@@ -2593,7 +2593,7 @@ async function exportPert(ctx) {
2593
2593
  const { parsePert } = await import("./parser-JXS4426S.js");
2594
2594
  const { analyzePert } = await import("./analyzer-R5UBTRO2.js");
2595
2595
  const { layoutPert } = await import("./layout-AM57TGN5.js");
2596
- const { renderPert, measurePertAnalysisBlock } = await import("./renderer-FXX3XSNW.js");
2596
+ const { renderPert, measurePertAnalysisBlock } = await import("./renderer-RENDISO5.js");
2597
2597
  const effectivePalette = await resolveExportPalette(theme, palette);
2598
2598
  const pertParsed = parsePert(content, { palette: effectivePalette });
2599
2599
  if (pertParsed.error || pertParsed.activities.length === 0) return "";
@@ -2638,7 +2638,7 @@ async function exportGantt(ctx) {
2638
2638
  const { content, theme, palette, viewState, exportMode } = ctx;
2639
2639
  const { parseGantt } = await import("./parser-WUK6CP5X.js");
2640
2640
  const { calculateSchedule } = await import("./calculator-35YVW4QO.js");
2641
- const { renderGantt } = await import("./renderer-TF3NTKP3.js");
2641
+ const { renderGantt } = await import("./renderer-NX4YKWCJ.js");
2642
2642
  const effectivePalette = await resolveExportPalette(theme, palette);
2643
2643
  const ganttParsed = parseGantt(content, effectivePalette);
2644
2644
  const resolved = calculateSchedule(ganttParsed);
@@ -2680,8 +2680,8 @@ async function exportGantt(ctx) {
2680
2680
  async function exportState(ctx) {
2681
2681
  const { content, theme, palette, viewState } = ctx;
2682
2682
  const { parseState } = await import("./state-parser-FE3RF6XY.js");
2683
- const { layoutGraph } = await import("./layout-FMKSENGL.js");
2684
- const { renderState } = await import("./state-renderer-B4ZF6ESS.js");
2683
+ const { layoutGraph } = await import("./layout-XUW444O5.js");
2684
+ const { renderState } = await import("./state-renderer-5IQ4OJUI.js");
2685
2685
  const { collapseStateGroups } = await import("./state-collapse-HCGD6IVJ.js");
2686
2686
  const effectivePalette = await resolveExportPalette(theme, palette);
2687
2687
  const stateParsed = parseState(content, effectivePalette);
@@ -2719,7 +2719,7 @@ async function exportState(ctx) {
2719
2719
  async function exportTechRadar(ctx) {
2720
2720
  const { content, theme, palette, viewState, exportMode } = ctx;
2721
2721
  const { parseTechRadar } = await import("./parser-NOANDFJ4.js");
2722
- const { renderTechRadarForExport } = await import("./renderer-3AOOLHJU.js");
2722
+ const { renderTechRadarForExport } = await import("./renderer-A6ACVK4X.js");
2723
2723
  const effectivePalette = await resolveExportPalette(theme, palette);
2724
2724
  const radarParsed = parseTechRadar(content);
2725
2725
  if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
@@ -2740,7 +2740,7 @@ async function exportTechRadar(ctx) {
2740
2740
  async function exportJourneyMap(ctx) {
2741
2741
  const { content, theme, palette, exportMode } = ctx;
2742
2742
  const { parseJourneyMap } = await import("./parser-C327BBE3.js");
2743
- const { renderJourneyMap } = await import("./renderer-WUDVV363.js");
2743
+ const { renderJourneyMap } = await import("./renderer-NHPKNNBD.js");
2744
2744
  const { layoutJourneyMap } = await import("./layout-SOPAVXIH.js");
2745
2745
  const effectivePalette = await resolveExportPalette(theme, palette);
2746
2746
  const jmParsed = parseJourneyMap(content, effectivePalette);
@@ -2762,7 +2762,7 @@ async function exportJourneyMap(ctx) {
2762
2762
  async function exportCycle(ctx) {
2763
2763
  const { content, theme, palette, viewState, exportMode } = ctx;
2764
2764
  const { parseCycle } = await import("./parser-7OEE7QT6.js");
2765
- const { renderCycleForExport } = await import("./renderer-EU27D4S6.js");
2765
+ const { renderCycleForExport } = await import("./renderer-4BIMRO4X.js");
2766
2766
  const effectivePalette = await resolveExportPalette(theme, palette);
2767
2767
  const cycleParsed = parseCycle(content);
2768
2768
  if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
@@ -2782,8 +2782,8 @@ async function exportMap(ctx) {
2782
2782
  const { content, theme, palette, options } = ctx;
2783
2783
  const { parseMap } = await import("./parser-GEKPWSSK.js");
2784
2784
  const { resolveMap } = await import("./resolver-XSXE2TRX.js");
2785
- const { renderMapForExport } = await import("./renderer-WRWVFEX7.js");
2786
- const { mapExportDimensions } = await import("./dimensions-F3Y5T54V.js");
2785
+ const { renderMapForExport } = await import("./renderer-XRALFCIN.js");
2786
+ const { mapExportDimensions } = await import("./dimensions-6QAWEGIR.js");
2787
2787
  const effectivePalette = await resolveExportPalette(theme, palette);
2788
2788
  const mapParsed = parseMap(content, effectivePalette);
2789
2789
  const { data: mapData, reason } = await resolveMapDataSource(
@@ -2817,7 +2817,7 @@ async function exportMap(ctx) {
2817
2817
  async function exportPyramid(ctx) {
2818
2818
  const { content, theme, palette } = ctx;
2819
2819
  const { parsePyramid } = await import("./parser-OVQTTTUJ.js");
2820
- const { renderPyramidForExport } = await import("./renderer-R6VJDZFO.js");
2820
+ const { renderPyramidForExport } = await import("./renderer-4BHOELCE.js");
2821
2821
  const effectivePalette = await resolveExportPalette(theme, palette);
2822
2822
  const pyramidParsed = parsePyramid(content);
2823
2823
  if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
@@ -2834,7 +2834,7 @@ async function exportPyramid(ctx) {
2834
2834
  async function exportRing(ctx) {
2835
2835
  const { content, theme, palette } = ctx;
2836
2836
  const { parseRing } = await import("./parser-GZ3LVF72.js");
2837
- const { renderRingForExport } = await import("./renderer-E5EKGIX2.js");
2837
+ const { renderRingForExport } = await import("./renderer-2OOPQ4CH.js");
2838
2838
  const effectivePalette = await resolveExportPalette(theme, palette);
2839
2839
  const ringParsed = parseRing(content);
2840
2840
  if (ringParsed.error || ringParsed.layers.length === 0) return "";
@@ -2876,15 +2876,15 @@ async function exportTreemap(ctx) {
2876
2876
  }
2877
2877
  async function exportLiveLink(ctx) {
2878
2878
  const { content, theme, palette } = ctx;
2879
- const { parseLiveLink } = await import("./parser-6TXNMXNB.js");
2880
- const { renderLiveLinkCard } = await import("./renderer-5A6VWIVX.js");
2879
+ const { parseLiveLink } = await import("./parser-XYY5NHP4.js");
2880
+ const { renderLiveLinkCard } = await import("./renderer-YIZ7G4HU.js");
2881
2881
  const effectivePalette = await resolveExportPalette(theme, palette);
2882
2882
  return renderLiveLinkCard(parseLiveLink(content), effectivePalette, theme);
2883
2883
  }
2884
2884
  async function exportBlock(ctx) {
2885
2885
  const { content, theme, palette } = ctx;
2886
2886
  const { parseBlock } = await import("./parser-5655XSOR.js");
2887
- const { renderBlockForExport } = await import("./renderer-OXSLLQQC.js");
2887
+ const { renderBlockForExport } = await import("./renderer-KVAQE7PQ.js");
2888
2888
  const effectivePalette = await resolveExportPalette(theme, palette);
2889
2889
  const blockParsed = parseBlock(content, effectivePalette);
2890
2890
  if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
@@ -2898,7 +2898,7 @@ async function exportBlock(ctx) {
2898
2898
  async function exportGoal(ctx) {
2899
2899
  const { content, theme, palette } = ctx;
2900
2900
  const { parseGoal } = await import("./parser-SA3RAJFS.js");
2901
- const { renderGoalForExport } = await import("./renderer-YSH5EX54.js");
2901
+ const { renderGoalForExport } = await import("./renderer-222OTVQV.js");
2902
2902
  const effectivePalette = await resolveExportPalette(theme, palette);
2903
2903
  const parsed = parseGoal(content, effectivePalette);
2904
2904
  if (parsed.error) return "";
@@ -2912,7 +2912,7 @@ async function exportGoal(ctx) {
2912
2912
  async function exportCountdown(ctx) {
2913
2913
  const { content, theme, palette } = ctx;
2914
2914
  const { parseCountdown } = await import("./parser-LGS65QPN.js");
2915
- const { renderCountdownForExport } = await import("./renderer-ML2CLU25.js");
2915
+ const { renderCountdownForExport } = await import("./renderer-DCFQDBGJ.js");
2916
2916
  const effectivePalette = await resolveExportPalette(theme, palette);
2917
2917
  const parsed = parseCountdown(content, effectivePalette);
2918
2918
  if (parsed.error) return "";
@@ -2940,7 +2940,7 @@ async function exportClock(ctx) {
2940
2940
  async function exportBracket(ctx) {
2941
2941
  const { content, theme, palette } = ctx;
2942
2942
  const { parseBracket } = await import("./parser-DHSFIUPU.js");
2943
- const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-ADX4DWRJ.js");
2943
+ const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-ELYPDPNF.js");
2944
2944
  const effectivePalette = await resolveExportPalette(theme, palette);
2945
2945
  const parsed = parseBracket(content, effectivePalette);
2946
2946
  if (parsed.error) return "";
@@ -2955,7 +2955,7 @@ async function exportBracket(ctx) {
2955
2955
  async function exportRaci(ctx) {
2956
2956
  const { content, theme, palette } = ctx;
2957
2957
  const { parseRaci } = await import("./parser-LANGKWRG.js");
2958
- const { renderRaciForExport } = await import("./renderer-3F4K2X57.js");
2958
+ const { renderRaciForExport } = await import("./renderer-RMGN3Q7D.js");
2959
2959
  const effectivePalette = await resolveExportPalette(theme, palette);
2960
2960
  const raciParsed = parseRaci(content, effectivePalette);
2961
2961
  if (raciParsed.error) return "";
@@ -3088,7 +3088,7 @@ async function exportVisualization(ctx) {
3088
3088
  const isDark = ctx.isDark;
3089
3089
  const container = createExportContainer(ctx.width, ctx.height);
3090
3090
  const { parseSequenceDgmo } = await import("./parser-PVIWHVGY.js");
3091
- const { renderSequenceDiagram } = await import("./renderer-DRLLZZ6P.js");
3091
+ const { renderSequenceDiagram } = await import("./renderer-2KVQGGTT.js");
3092
3092
  const seqParsed = parseSequenceDgmo(content, effectivePalette);
3093
3093
  if (seqParsed.error || seqParsed.participants.length === 0) return "";
3094
3094
  const collapsedSections = viewState?.cs ? new Set(viewState.cs) : void 0;
@@ -3145,6 +3145,14 @@ function legendRule(mark, attr, v, emphasis, dimOpacity) {
3145
3145
  const trigger = `svg:has([data-legend-entry="${entryLit}"]:hover)`;
3146
3146
  return emphasis === "lift" ? `${trigger} ${mark}[${attr}="${attrLit}"]{${LIFT_DECL}}` : `${trigger} ${mark}:not([${attr}="${attrLit}"]){opacity:${dimOpacity}}`;
3147
3147
  }
3148
+ function legendReverseRule(mark, attr, v, emphasis, dimOpacity) {
3149
+ const entryLit = escCssString(v.toLowerCase());
3150
+ const attrLit = escCssString(v);
3151
+ const trigger = `svg:has(${mark}[${attr}="${attrLit}"]:hover)`;
3152
+ if (emphasis === "lift")
3153
+ return `${trigger} [data-legend-entry="${entryLit}"]{${LIFT_DECL}}`;
3154
+ return `${trigger}:has([data-legend-entry="${entryLit}"]) [data-legend-entry]:not([data-legend-entry="${entryLit}"]){opacity:${dimOpacity}}`;
3155
+ }
3148
3156
  function connectionRule(spec, id, dimOpacity) {
3149
3157
  const lit = escCssString(id);
3150
3158
  const { hoverSelector, hoverAttr, edgeSelector, fromAttr, toAttr } = spec;
@@ -3197,6 +3205,13 @@ function buildHoverCss(spec, derived = {}, emphasisOverride) {
3197
3205
  v,
3198
3206
  emphasis,
3199
3207
  dimOpacity
3208
+ ),
3209
+ legendReverseRule(
3210
+ spec.markSelector,
3211
+ spec.groupAttr,
3212
+ v,
3213
+ emphasis,
3214
+ dimOpacity
3200
3215
  )
3201
3216
  );
3202
3217
  }
@@ -3226,6 +3241,13 @@ function buildHoverCss(spec, derived = {}, emphasisOverride) {
3226
3241
  v,
3227
3242
  emphasis,
3228
3243
  dimOpacity
3244
+ ),
3245
+ legendReverseRule(
3246
+ spec.markSelector,
3247
+ derived.legendAttr,
3248
+ v,
3249
+ emphasis,
3250
+ dimOpacity
3229
3251
  )
3230
3252
  );
3231
3253
  }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  renderNodeCard
3
- } from "./chunk-UNSN56OJ.js";
3
+ } from "./chunk-R2K5L4UA.js";
4
4
  import {
5
5
  renderInlineText
6
- } from "./chunk-FWNJDD4U.js";
6
+ } from "./chunk-S7W75MIM.js";
7
7
  import {
8
8
  ScaleContext
9
9
  } from "./chunk-24YPR5EH.js";
@@ -25,7 +25,7 @@ import {
25
25
  META_LINE_HEIGHT,
26
26
  NODE_STROKE_WIDTH,
27
27
  SEPARATOR_GAP
28
- } from "./chunk-IIEI7VK5.js";
28
+ } from "./chunk-XCKNFFKM.js";
29
29
  import {
30
30
  layoutInlineHeader
31
31
  } from "./chunk-3DOQOXXI.js";
@@ -457,7 +457,7 @@ function renderLegend(parent, legendGroups, palette, isDark, activeTagGroup, fix
457
457
  }
458
458
  async function renderSitemapForExport(content, theme, palette) {
459
459
  const { parseSitemap } = await import("./parser-OKB64MMN.js");
460
- const { layoutSitemap } = await import("./layout-NB7TKAWN.js");
460
+ const { layoutSitemap } = await import("./layout-LUQKAGGT.js");
461
461
  const { getPalette, DEFAULT_PALETTE_ID } = await import("./palettes-BIV54XLS.js");
462
462
  const isDark = theme === "dark";
463
463
  const defaultCfg = getPalette(DEFAULT_PALETTE_ID);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renderInlineText
3
- } from "./chunk-FWNJDD4U.js";
3
+ } from "./chunk-S7W75MIM.js";
4
4
  import {
5
5
  layoutInlineHeader
6
6
  } from "./chunk-3DOQOXXI.js";