@diagrammo/dgmo 0.25.5 → 0.26.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.
package/dist/advanced.js CHANGED
@@ -6094,7 +6094,7 @@ function extractSymbols(docText) {
6094
6094
  const m = NODE_ID_RE.exec(line12);
6095
6095
  if (m && !entities.includes(m[1])) entities.push(m[1]);
6096
6096
  }
6097
- return { kind: "flowchart", entities, keywords: [] };
6097
+ return { kind: "flowchart", entities };
6098
6098
  }
6099
6099
  var NODE_ID_RE;
6100
6100
  var init_flowchart_parser = __esm({
@@ -6851,8 +6851,7 @@ function extractSymbols2(docText) {
6851
6851
  }
6852
6852
  return {
6853
6853
  kind: "class",
6854
- entities,
6855
- keywords: ["extends", "implements", "abstract", "interface", "enum"]
6854
+ entities
6856
6855
  };
6857
6856
  }
6858
6857
  var CLASS_DECL_RE, INDENT_REL_ARROW_RE, REL_ARROW_RE, VISIBILITY_RE, STATIC_SUFFIX_RE, METHOD_RE, FIELD_RE, ARROW_TO_TYPE;
@@ -7321,8 +7320,7 @@ function extractSymbols3(docText) {
7321
7320
  }
7322
7321
  return {
7323
7322
  kind: "er",
7324
- entities,
7325
- keywords: ["pk", "fk", "unique", "nullable", "1", "*", "?"]
7323
+ entities
7326
7324
  };
7327
7325
  }
7328
7326
  var TABLE_DECL_RE, INDENT_REL_RE, CONSTRAINT_MAP, KNOWN_OPTIONS, REL_SYMBOLIC_RE, REL_KEYWORD_RE, KEYWORD_TO_SYMBOL, CONSTRAINT_KEYWORD_RE;
@@ -13257,7 +13255,7 @@ function extractSymbols4(docText) {
13257
13255
  }
13258
13256
  }
13259
13257
  }
13260
- return { kind: "infra", entities, keywords: [] };
13258
+ return { kind: "infra", entities };
13261
13259
  }
13262
13260
  var CONNECTION_RE, SIMPLE_CONNECTION_RE, ASYNC_CONNECTION_RE, ASYNC_SIMPLE_CONNECTION_RE, DEPRECATED_FANOUT_RE, GROUP_RE, TAG_VALUE_RE, COMPONENT_RE, PIPE_META_RE, SAMELINE_META_RE, PROPERTY_RE, LEGACY_SPACE_PROPERTY_RE, PERCENT_RE, RANGE_RE, EDGE_NODE_NAMES, TOP_LEVEL_OPTIONS, UNPARSED_SPLIT_RE;
13263
13261
  var init_parser9 = __esm({
@@ -16066,21 +16064,7 @@ function extractPertSymbols(docText) {
16066
16064
  }
16067
16065
  return {
16068
16066
  kind: "pert",
16069
- entities,
16070
- keywords: [
16071
- "time-unit",
16072
- "default-confidence",
16073
- "direction",
16074
- "node-detail",
16075
- "trials",
16076
- "seed",
16077
- "scrubber-trials",
16078
- "start-date",
16079
- "end-date",
16080
- "active-tag",
16081
- "tag",
16082
- "as"
16083
- ]
16067
+ entities
16084
16068
  };
16085
16069
  }
16086
16070
  function looksLikePert(content) {
@@ -32652,14 +32636,22 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
32652
32636
  const titleHeight = showTitle ? 40 : 0;
32653
32637
  const diagramW = layout.width;
32654
32638
  const diagramH = layout.height;
32655
- const availH = height - titleHeight;
32656
32639
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
32657
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32658
- const scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32640
+ let scale;
32641
+ let canvasHeight;
32642
+ if (exportDims) {
32643
+ scale = Math.min(MAX_SCALE6, scaleX);
32644
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
32645
+ } else {
32646
+ const availH = height - titleHeight;
32647
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32648
+ scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32649
+ canvasHeight = height;
32650
+ }
32659
32651
  const scaledW = diagramW * scale;
32660
32652
  const offsetX = (width - scaledW) / 2;
32661
32653
  const offsetY = titleHeight + sDiagramPadding;
32662
- const svg = d3Selection10.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
32654
+ const svg = d3Selection10.select(container).append("svg").attr("width", width).attr("height", canvasHeight).attr("viewBox", `0 0 ${width} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
32663
32655
  if (ctx.isBelowFloor) {
32664
32656
  svg.attr("width", "100%");
32665
32657
  }
@@ -42229,14 +42221,22 @@ function renderState(container, graph, layout, palette, isDark, onClickItem, exp
42229
42221
  const titleHeight = showTitle ? 40 : 0;
42230
42222
  const diagramW = layout.width;
42231
42223
  const diagramH = layout.height;
42232
- const availH = height - titleHeight;
42233
42224
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
42234
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42235
- const scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42225
+ let scale;
42226
+ let canvasHeight;
42227
+ if (exportDims) {
42228
+ scale = Math.min(MAX_SCALE7, scaleX);
42229
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
42230
+ } else {
42231
+ const availH = height - titleHeight;
42232
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42233
+ scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42234
+ canvasHeight = height;
42235
+ }
42236
42236
  const scaledW = diagramW * scale;
42237
42237
  const offsetX = (width - scaledW) / 2;
42238
42238
  const offsetY = titleHeight + sDiagramPadding;
42239
- const svg = d3Selection14.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
42239
+ const svg = d3Selection14.select(container).append("svg").attr("width", width).attr("height", canvasHeight).attr("viewBox", `0 0 ${width} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
42240
42240
  if (ctx.isBelowFloor) {
42241
42241
  svg.attr("width", "100%");
42242
42242
  }
@@ -50501,7 +50501,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
50501
50501
  }
50502
50502
  const colBottomY = cursorY + sColumnBottomPad;
50503
50503
  const totalHeight = colBottomY + sVMargin;
50504
- const svg = d3Selection21.select(container).append("svg").attr("xmlns", "http://www.w3.org/2000/svg").attr("width", width).attr("height", Math.max(height, totalHeight)).attr("viewBox", `0 0 ${width} ${Math.max(height, totalHeight)}`).attr("preserveAspectRatio", "xMidYMin meet").attr("font-family", FONT_FAMILY).style("background", "transparent");
50504
+ const svgHeight = exportDims ? totalHeight : Math.max(height, totalHeight);
50505
+ const svg = d3Selection21.select(container).append("svg").attr("xmlns", "http://www.w3.org/2000/svg").attr("width", width).attr("height", svgHeight).attr("viewBox", `0 0 ${width} ${svgHeight}`).attr("preserveAspectRatio", "xMidYMin meet").attr("font-family", FONT_FAMILY).style("background", "transparent");
50505
50506
  if (ctx.isBelowFloor) {
50506
50507
  svg.attr("width", "100%");
50507
50508
  }
@@ -60633,6 +60634,44 @@ var ENTITY_TYPES = /* @__PURE__ */ new Map([
60633
60634
  ["person", "system", "container", "component", "external", "database"]
60634
60635
  ]
60635
60636
  ]);
60637
+ var STRUCTURAL_KEYWORDS = /* @__PURE__ */ new Map([
60638
+ ["sequence", ["if", "else", "loop", "parallel", "note", "tag"]],
60639
+ ["gantt", ["era", "marker", "holiday", "workweek", "parallel", "tag"]],
60640
+ ["c4", ["containers", "components", "deployment", "tag"]],
60641
+ ["timeline", ["era", "marker", "tag"]],
60642
+ ["org", ["tag"]],
60643
+ ["kanban", ["tag"]],
60644
+ ["sitemap", ["tag"]],
60645
+ ["infra", ["tag"]],
60646
+ ["pert", ["tag"]],
60647
+ ["mindmap", ["tag"]],
60648
+ ["boxes-and-lines", ["tag"]],
60649
+ ["er", ["tag"]],
60650
+ ["cycle", ["direction-counterclockwise", "circle-nodes"]],
60651
+ ["journey-map", ["persona", "tag"]],
60652
+ ["raci", ["roles"]],
60653
+ ["tech-radar", ["rings"]],
60654
+ [
60655
+ "wireframe",
60656
+ [
60657
+ "nav",
60658
+ "tabs",
60659
+ "table",
60660
+ "image",
60661
+ "modal",
60662
+ "skeleton",
60663
+ "alert",
60664
+ "progress",
60665
+ "chart",
60666
+ "mobile",
60667
+ "tag"
60668
+ ]
60669
+ ],
60670
+ ["class", ["abstract", "interface", "enum", "extends", "implements"]]
60671
+ ]);
60672
+ var TAG_SUPPORTING_TYPES = new Set(
60673
+ [...STRUCTURAL_KEYWORDS].filter(([, kws]) => kws.includes("tag")).map(([type]) => type)
60674
+ );
60636
60675
  var PIPE_METADATA = /* @__PURE__ */ new Map([
60637
60676
  [
60638
60677
  "infra",
@@ -60918,8 +60957,7 @@ function extractSequenceSymbols(docText) {
60918
60957
  }
60919
60958
  return {
60920
60959
  kind: "sequence",
60921
- entities,
60922
- keywords: ["if", "else", "loop", "parallel", "note"]
60960
+ entities
60923
60961
  };
60924
60962
  }
60925
60963
  var STATE_ARROW_RE = /^(\S+)\s+->\s+(\S+)/;
@@ -60944,7 +60982,7 @@ function extractStateSymbols(docText) {
60944
60982
  if (dst && !entities.includes(dst)) entities.push(dst);
60945
60983
  }
60946
60984
  }
60947
- return { kind: "state", entities, keywords: [] };
60985
+ return { kind: "state", entities };
60948
60986
  }
60949
60987
  var TAG_DECL_EXPLICIT_RE = /^tag\s+(\S+)\s+alias\s+(\S+)/i;
60950
60988
  var TAG_DECL_SHORT_RE = /^tag\s+(\S+)\s+([a-z]{1,4})(?:\s|$)/;
@@ -61062,7 +61100,7 @@ function extractSitemapSymbols(docText) {
61062
61100
  lastNodeIndent = indent;
61063
61101
  }
61064
61102
  }
61065
- return { kind: "sitemap", entities, keywords: [] };
61103
+ return { kind: "sitemap", entities };
61066
61104
  }
61067
61105
  var C4_ELEMENT_RE = /^(person|system|container|component)\s+(.+)$/i;
61068
61106
  var C4_IS_A_RE2 = /^(.+?)\s+is\s+an?\s+(person|system|container|component|external|database)\b/i;
@@ -61115,8 +61153,7 @@ function extractC4Symbols(docText) {
61115
61153
  }
61116
61154
  return {
61117
61155
  kind: "c4",
61118
- entities,
61119
- keywords: ["containers", "components", "deployment"]
61156
+ entities
61120
61157
  };
61121
61158
  }
61122
61159
  var GANTT_LEGACY_DURATION_RE = /^(\d+(?:\.\d+)?)(min|bd|d|w|m|q|y|h|s)\??\s+(.+)$/;
@@ -61186,7 +61223,7 @@ function extractGanttSymbols(docText) {
61186
61223
  continue;
61187
61224
  }
61188
61225
  }
61189
- return { kind: "gantt", entities, keywords: [] };
61226
+ return { kind: "gantt", entities };
61190
61227
  }
61191
61228
  var BL_ARROW_RE = /^(\S+)\s+(?:-.*)?(?:->|<->)\s+(\S+)/;
61192
61229
  function extractBoxesAndLinesSymbols(docText) {
@@ -61224,7 +61261,7 @@ function extractBoxesAndLinesSymbols(docText) {
61224
61261
  const label = trimmed.split("|")[0].split("[")[0].trim();
61225
61262
  if (label && !entities.includes(label)) entities.push(label);
61226
61263
  }
61227
- return { kind: "boxes-and-lines", entities, keywords: [] };
61264
+ return { kind: "boxes-and-lines", entities };
61228
61265
  }
61229
61266
  var ORG_GROUP_RE = /^\[(.+?)\]/;
61230
61267
  function extractOrgSymbols(docText) {
@@ -61260,7 +61297,7 @@ function extractOrgSymbols(docText) {
61260
61297
  const label = trimmed.split("|")[0].trim();
61261
61298
  if (label && !entities.includes(label)) entities.push(label);
61262
61299
  }
61263
- return { kind: "org", entities, keywords: [] };
61300
+ return { kind: "org", entities };
61264
61301
  }
61265
61302
  var KANBAN_COLUMN_RE = /^\[(.+?)\]/;
61266
61303
  function extractKanbanSymbols(docText) {
@@ -61297,7 +61334,7 @@ function extractKanbanSymbols(docText) {
61297
61334
  if (label && !entities.includes(label)) entities.push(label);
61298
61335
  }
61299
61336
  }
61300
- return { kind: "kanban", entities, keywords: [] };
61337
+ return { kind: "kanban", entities };
61301
61338
  }
61302
61339
  function extractMindmapSymbols(docText) {
61303
61340
  const lines = docText.split("\n");
@@ -61326,7 +61363,7 @@ function extractMindmapSymbols(docText) {
61326
61363
  const label = trimmed.split("|")[0].trim();
61327
61364
  if (label && !entities.includes(label)) entities.push(label);
61328
61365
  }
61329
- return { kind: "mindmap", entities, keywords: [] };
61366
+ return { kind: "mindmap", entities };
61330
61367
  }
61331
61368
  function extractPyramidSymbols(docText) {
61332
61369
  const lines = docText.split("\n");
@@ -61346,7 +61383,7 @@ function extractPyramidSymbols(docText) {
61346
61383
  const label = trimmed.split("|")[0].trim();
61347
61384
  if (label && !entities.includes(label)) entities.push(label);
61348
61385
  }
61349
- return { kind: "pyramid", entities, keywords: ["inverted"] };
61386
+ return { kind: "pyramid", entities };
61350
61387
  }
61351
61388
  function extractRingSymbols(docText) {
61352
61389
  const lines = docText.split("\n");
@@ -61366,7 +61403,7 @@ function extractRingSymbols(docText) {
61366
61403
  const label = trimmed.split("|")[0].trim();
61367
61404
  if (label && !entities.includes(label)) entities.push(label);
61368
61405
  }
61369
- return { kind: "ring", entities, keywords: [] };
61406
+ return { kind: "ring", entities };
61370
61407
  }
61371
61408
  var ARC_ARROW_RE = /^(\S+)\s+(?:->|-[^>]*->)\s+(\S+)/;
61372
61409
  function extractArcSymbols(docText) {
@@ -61390,7 +61427,7 @@ function extractArcSymbols(docText) {
61390
61427
  if (dst && !entities.includes(dst)) entities.push(dst);
61391
61428
  }
61392
61429
  }
61393
- return { kind: "arc", entities, keywords: [] };
61430
+ return { kind: "arc", entities };
61394
61431
  }
61395
61432
  var SANKEY_ARROW_RE = /^(.+?)\s+->\s+(.+?)\s+(\d[\d,_.]*)/;
61396
61433
  function extractSankeySymbols(docText) {
@@ -61417,7 +61454,7 @@ function extractSankeySymbols(docText) {
61417
61454
  if (label && !entities.includes(label)) entities.push(label);
61418
61455
  }
61419
61456
  }
61420
- return { kind: "sankey", entities, keywords: [] };
61457
+ return { kind: "sankey", entities };
61421
61458
  }
61422
61459
  var TIMELINE_ERA_RE = /^era\s+/i;
61423
61460
  var TIMELINE_MARKER_RE = /^marker\s+/i;
@@ -61458,7 +61495,7 @@ function extractTimelineSymbols(docText) {
61458
61495
  }
61459
61496
  if (label && !entities.includes(label)) entities.push(label);
61460
61497
  }
61461
- return { kind: "timeline", entities, keywords: ["era", "marker"] };
61498
+ return { kind: "timeline", entities };
61462
61499
  }
61463
61500
  function extractVennSymbols(docText) {
61464
61501
  const lines = docText.split("\n");
@@ -61477,7 +61514,7 @@ function extractVennSymbols(docText) {
61477
61514
  const label = trimmed.split("|")[0].trim();
61478
61515
  if (label && !entities.includes(label)) entities.push(label);
61479
61516
  }
61480
- return { kind: "venn", entities, keywords: [] };
61517
+ return { kind: "venn", entities };
61481
61518
  }
61482
61519
  var QUADRANT_POSITION_RE = /^(top-right|top-left|bottom-right|bottom-left)\s+/i;
61483
61520
  function extractQuadrantSymbols(docText) {
@@ -61498,7 +61535,7 @@ function extractQuadrantSymbols(docText) {
61498
61535
  const label = (parts[0] ?? "").split("|")[0].trim();
61499
61536
  if (label && !entities.includes(label)) entities.push(label);
61500
61537
  }
61501
- return { kind: "quadrant", entities, keywords: [] };
61538
+ return { kind: "quadrant", entities };
61502
61539
  }
61503
61540
  function extractSlopeSymbols(docText) {
61504
61541
  const lines = docText.split("\n");
@@ -61518,7 +61555,7 @@ function extractSlopeSymbols(docText) {
61518
61555
  const label = numIdx > 0 ? trimmed.slice(0, numIdx).trim() : trimmed.split("|")[0].trim();
61519
61556
  if (label && !entities.includes(label)) entities.push(label);
61520
61557
  }
61521
- return { kind: "slope", entities, keywords: ["period"] };
61558
+ return { kind: "slope", entities };
61522
61559
  }
61523
61560
  var SERIES_RE = /^series\s+(.+)$/i;
61524
61561
  function extractDataChartSymbols(docText) {
@@ -61551,7 +61588,7 @@ function extractDataChartSymbols(docText) {
61551
61588
  if (label && !entities.includes(label)) entities.push(label);
61552
61589
  }
61553
61590
  }
61554
- return { kind: chartType, entities, keywords: [] };
61591
+ return { kind: chartType, entities };
61555
61592
  }
61556
61593
  registerExtractor("er", extractSymbols3);
61557
61594
  registerExtractor("flowchart", extractSymbols);
@@ -61596,23 +61633,6 @@ registerExtractor("funnel", extractDataChartSymbols);
61596
61633
  registerExtractor("chord", extractDataChartSymbols);
61597
61634
  function extractTechRadarSymbols(docText) {
61598
61635
  const entities = [];
61599
- const keywords = [
61600
- "rings",
61601
- "quadrant",
61602
- "ring",
61603
- "trend",
61604
- "new",
61605
- "up",
61606
- "down",
61607
- "stable",
61608
- "top-left",
61609
- "top-right",
61610
- "bottom-left",
61611
- "bottom-right",
61612
- "alias",
61613
- "aka",
61614
- "color"
61615
- ];
61616
61636
  const lines = docText.split("\n");
61617
61637
  let inRings = false;
61618
61638
  for (const line12 of lines) {
@@ -61635,7 +61655,7 @@ function extractTechRadarSymbols(docText) {
61635
61655
  }
61636
61656
  }
61637
61657
  }
61638
- return { kind: "tech-radar", entities, keywords };
61658
+ return { kind: "tech-radar", entities };
61639
61659
  }
61640
61660
  function extractCycleSymbols(docText) {
61641
61661
  const lines = docText.split("\n");
@@ -61658,8 +61678,7 @@ function extractCycleSymbols(docText) {
61658
61678
  }
61659
61679
  return {
61660
61680
  kind: "cycle",
61661
- entities,
61662
- keywords: ["direction-counterclockwise", "circle-nodes"]
61681
+ entities
61663
61682
  };
61664
61683
  }
61665
61684
  var RACI_PHASE_RE = /^\[(.+)\]\s*$/;
@@ -61717,8 +61736,7 @@ function extractRaciSymbols(docText) {
61717
61736
  }
61718
61737
  return {
61719
61738
  kind: chartType,
61720
- entities,
61721
- keywords: ["variant", "roles"]
61739
+ entities
61722
61740
  };
61723
61741
  }
61724
61742
  function extractJourneyMapSymbols(docText) {
@@ -61751,8 +61769,7 @@ function extractJourneyMapSymbols(docText) {
61751
61769
  }
61752
61770
  return {
61753
61771
  kind: "journey-map",
61754
- entities,
61755
- keywords: ["persona", "pain", "opportunity", "thought", "description"]
61772
+ entities
61756
61773
  };
61757
61774
  }
61758
61775
 
@@ -62039,7 +62056,9 @@ export {
62039
62056
  RACI_WARNING_CODES,
62040
62057
  RECOGNIZED_COLOR_NAMES,
62041
62058
  RULE_COUNT,
62059
+ STRUCTURAL_KEYWORDS,
62042
62060
  ScaleContext,
62061
+ TAG_SUPPORTING_TYPES,
62043
62062
  addDurationToDate,
62044
62063
  analyzePert,
62045
62064
  applyCollapseProjection,
package/dist/auto.cjs CHANGED
@@ -6060,7 +6060,7 @@ function extractSymbols(docText) {
6060
6060
  const m = NODE_ID_RE.exec(line12);
6061
6061
  if (m && !entities.includes(m[1])) entities.push(m[1]);
6062
6062
  }
6063
- return { kind: "flowchart", entities, keywords: [] };
6063
+ return { kind: "flowchart", entities };
6064
6064
  }
6065
6065
  var NODE_ID_RE;
6066
6066
  var init_flowchart_parser = __esm({
@@ -6817,8 +6817,7 @@ function extractSymbols2(docText) {
6817
6817
  }
6818
6818
  return {
6819
6819
  kind: "class",
6820
- entities,
6821
- keywords: ["extends", "implements", "abstract", "interface", "enum"]
6820
+ entities
6822
6821
  };
6823
6822
  }
6824
6823
  var CLASS_DECL_RE, INDENT_REL_ARROW_RE, REL_ARROW_RE, VISIBILITY_RE, STATIC_SUFFIX_RE, METHOD_RE, FIELD_RE, ARROW_TO_TYPE;
@@ -7287,8 +7286,7 @@ function extractSymbols3(docText) {
7287
7286
  }
7288
7287
  return {
7289
7288
  kind: "er",
7290
- entities,
7291
- keywords: ["pk", "fk", "unique", "nullable", "1", "*", "?"]
7289
+ entities
7292
7290
  };
7293
7291
  }
7294
7292
  var TABLE_DECL_RE, INDENT_REL_RE, CONSTRAINT_MAP, KNOWN_OPTIONS, REL_SYMBOLIC_RE, REL_KEYWORD_RE, KEYWORD_TO_SYMBOL, CONSTRAINT_KEYWORD_RE;
@@ -13192,7 +13190,7 @@ function extractSymbols4(docText) {
13192
13190
  }
13193
13191
  }
13194
13192
  }
13195
- return { kind: "infra", entities, keywords: [] };
13193
+ return { kind: "infra", entities };
13196
13194
  }
13197
13195
  var CONNECTION_RE, SIMPLE_CONNECTION_RE, ASYNC_CONNECTION_RE, ASYNC_SIMPLE_CONNECTION_RE, DEPRECATED_FANOUT_RE, GROUP_RE, TAG_VALUE_RE, COMPONENT_RE, PIPE_META_RE, SAMELINE_META_RE, PROPERTY_RE, LEGACY_SPACE_PROPERTY_RE, PERCENT_RE, RANGE_RE, EDGE_NODE_NAMES, TOP_LEVEL_OPTIONS, UNPARSED_SPLIT_RE;
13198
13196
  var init_parser9 = __esm({
@@ -16001,21 +15999,7 @@ function extractPertSymbols(docText) {
16001
15999
  }
16002
16000
  return {
16003
16001
  kind: "pert",
16004
- entities,
16005
- keywords: [
16006
- "time-unit",
16007
- "default-confidence",
16008
- "direction",
16009
- "node-detail",
16010
- "trials",
16011
- "seed",
16012
- "scrubber-trials",
16013
- "start-date",
16014
- "end-date",
16015
- "active-tag",
16016
- "tag",
16017
- "as"
16018
- ]
16002
+ entities
16019
16003
  };
16020
16004
  }
16021
16005
  function looksLikePert(content) {
@@ -32495,14 +32479,22 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
32495
32479
  const titleHeight = showTitle ? 40 : 0;
32496
32480
  const diagramW = layout.width;
32497
32481
  const diagramH = layout.height;
32498
- const availH = height - titleHeight;
32499
32482
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
32500
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32501
- const scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32483
+ let scale;
32484
+ let canvasHeight;
32485
+ if (exportDims) {
32486
+ scale = Math.min(MAX_SCALE6, scaleX);
32487
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
32488
+ } else {
32489
+ const availH = height - titleHeight;
32490
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32491
+ scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32492
+ canvasHeight = height;
32493
+ }
32502
32494
  const scaledW = diagramW * scale;
32503
32495
  const offsetX = (width - scaledW) / 2;
32504
32496
  const offsetY = titleHeight + sDiagramPadding;
32505
- const svg = d3Selection10.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
32497
+ const svg = d3Selection10.select(container).append("svg").attr("width", width).attr("height", canvasHeight).attr("viewBox", `0 0 ${width} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
32506
32498
  if (ctx.isBelowFloor) {
32507
32499
  svg.attr("width", "100%");
32508
32500
  }
@@ -42069,14 +42061,22 @@ function renderState(container, graph, layout, palette, isDark, onClickItem, exp
42069
42061
  const titleHeight = showTitle ? 40 : 0;
42070
42062
  const diagramW = layout.width;
42071
42063
  const diagramH = layout.height;
42072
- const availH = height - titleHeight;
42073
42064
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
42074
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42075
- const scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42065
+ let scale;
42066
+ let canvasHeight;
42067
+ if (exportDims) {
42068
+ scale = Math.min(MAX_SCALE7, scaleX);
42069
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
42070
+ } else {
42071
+ const availH = height - titleHeight;
42072
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42073
+ scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42074
+ canvasHeight = height;
42075
+ }
42076
42076
  const scaledW = diagramW * scale;
42077
42077
  const offsetX = (width - scaledW) / 2;
42078
42078
  const offsetY = titleHeight + sDiagramPadding;
42079
- const svg = d3Selection14.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
42079
+ const svg = d3Selection14.select(container).append("svg").attr("width", width).attr("height", canvasHeight).attr("viewBox", `0 0 ${width} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
42080
42080
  if (ctx.isBelowFloor) {
42081
42081
  svg.attr("width", "100%");
42082
42082
  }
@@ -50114,7 +50114,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
50114
50114
  }
50115
50115
  const colBottomY = cursorY + sColumnBottomPad;
50116
50116
  const totalHeight = colBottomY + sVMargin;
50117
- const svg = d3Selection21.select(container).append("svg").attr("xmlns", "http://www.w3.org/2000/svg").attr("width", width).attr("height", Math.max(height, totalHeight)).attr("viewBox", `0 0 ${width} ${Math.max(height, totalHeight)}`).attr("preserveAspectRatio", "xMidYMin meet").attr("font-family", FONT_FAMILY).style("background", "transparent");
50117
+ const svgHeight = exportDims ? totalHeight : Math.max(height, totalHeight);
50118
+ const svg = d3Selection21.select(container).append("svg").attr("xmlns", "http://www.w3.org/2000/svg").attr("width", width).attr("height", svgHeight).attr("viewBox", `0 0 ${width} ${svgHeight}`).attr("preserveAspectRatio", "xMidYMin meet").attr("font-family", FONT_FAMILY).style("background", "transparent");
50118
50119
  if (ctx.isBelowFloor) {
50119
50120
  svg.attr("width", "100%");
50120
50121
  }
@@ -59244,7 +59245,7 @@ pre.dgmo, code.language-dgmo, pre > code.language-dgmo,
59244
59245
 
59245
59246
  // src/auto/index.ts
59246
59247
  init_safe_href();
59247
- var VERSION = "0.25.5";
59248
+ var VERSION = "0.26.0";
59248
59249
  var DEFAULTS = {
59249
59250
  theme: "auto",
59250
59251
  palette: "nord",