@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/index.cjs CHANGED
@@ -6135,7 +6135,7 @@ function extractSymbols(docText) {
6135
6135
  const m = NODE_ID_RE.exec(line12);
6136
6136
  if (m && !entities.includes(m[1])) entities.push(m[1]);
6137
6137
  }
6138
- return { kind: "flowchart", entities, keywords: [] };
6138
+ return { kind: "flowchart", entities };
6139
6139
  }
6140
6140
  var NODE_ID_RE;
6141
6141
  var init_flowchart_parser = __esm({
@@ -6892,8 +6892,7 @@ function extractSymbols2(docText) {
6892
6892
  }
6893
6893
  return {
6894
6894
  kind: "class",
6895
- entities,
6896
- keywords: ["extends", "implements", "abstract", "interface", "enum"]
6895
+ entities
6897
6896
  };
6898
6897
  }
6899
6898
  var CLASS_DECL_RE, INDENT_REL_ARROW_RE, REL_ARROW_RE, VISIBILITY_RE, STATIC_SUFFIX_RE, METHOD_RE, FIELD_RE, ARROW_TO_TYPE;
@@ -7362,8 +7361,7 @@ function extractSymbols3(docText) {
7362
7361
  }
7363
7362
  return {
7364
7363
  kind: "er",
7365
- entities,
7366
- keywords: ["pk", "fk", "unique", "nullable", "1", "*", "?"]
7364
+ entities
7367
7365
  };
7368
7366
  }
7369
7367
  var TABLE_DECL_RE, INDENT_REL_RE, CONSTRAINT_MAP, KNOWN_OPTIONS, REL_SYMBOLIC_RE, REL_KEYWORD_RE, KEYWORD_TO_SYMBOL, CONSTRAINT_KEYWORD_RE;
@@ -13267,7 +13265,7 @@ function extractSymbols4(docText) {
13267
13265
  }
13268
13266
  }
13269
13267
  }
13270
- return { kind: "infra", entities, keywords: [] };
13268
+ return { kind: "infra", entities };
13271
13269
  }
13272
13270
  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;
13273
13271
  var init_parser9 = __esm({
@@ -16076,21 +16074,7 @@ function extractPertSymbols(docText) {
16076
16074
  }
16077
16075
  return {
16078
16076
  kind: "pert",
16079
- entities,
16080
- keywords: [
16081
- "time-unit",
16082
- "default-confidence",
16083
- "direction",
16084
- "node-detail",
16085
- "trials",
16086
- "seed",
16087
- "scrubber-trials",
16088
- "start-date",
16089
- "end-date",
16090
- "active-tag",
16091
- "tag",
16092
- "as"
16093
- ]
16077
+ entities
16094
16078
  };
16095
16079
  }
16096
16080
  function looksLikePert(content) {
@@ -32570,14 +32554,22 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
32570
32554
  const titleHeight = showTitle ? 40 : 0;
32571
32555
  const diagramW = layout.width;
32572
32556
  const diagramH = layout.height;
32573
- const availH = height - titleHeight;
32574
32557
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
32575
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32576
- const scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32558
+ let scale;
32559
+ let canvasHeight;
32560
+ if (exportDims) {
32561
+ scale = Math.min(MAX_SCALE6, scaleX);
32562
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
32563
+ } else {
32564
+ const availH = height - titleHeight;
32565
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32566
+ scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32567
+ canvasHeight = height;
32568
+ }
32577
32569
  const scaledW = diagramW * scale;
32578
32570
  const offsetX = (width - scaledW) / 2;
32579
32571
  const offsetY = titleHeight + sDiagramPadding;
32580
- 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);
32572
+ 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);
32581
32573
  if (ctx.isBelowFloor) {
32582
32574
  svg.attr("width", "100%");
32583
32575
  }
@@ -42144,14 +42136,22 @@ function renderState(container, graph, layout, palette, isDark, onClickItem, exp
42144
42136
  const titleHeight = showTitle ? 40 : 0;
42145
42137
  const diagramW = layout.width;
42146
42138
  const diagramH = layout.height;
42147
- const availH = height - titleHeight;
42148
42139
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
42149
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42150
- const scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42140
+ let scale;
42141
+ let canvasHeight;
42142
+ if (exportDims) {
42143
+ scale = Math.min(MAX_SCALE7, scaleX);
42144
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
42145
+ } else {
42146
+ const availH = height - titleHeight;
42147
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42148
+ scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42149
+ canvasHeight = height;
42150
+ }
42151
42151
  const scaledW = diagramW * scale;
42152
42152
  const offsetX = (width - scaledW) / 2;
42153
42153
  const offsetY = titleHeight + sDiagramPadding;
42154
- 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);
42154
+ 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);
42155
42155
  if (ctx.isBelowFloor) {
42156
42156
  svg.attr("width", "100%");
42157
42157
  }
@@ -50189,7 +50189,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
50189
50189
  }
50190
50190
  const colBottomY = cursorY + sColumnBottomPad;
50191
50191
  const totalHeight = colBottomY + sVMargin;
50192
- 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");
50192
+ const svgHeight = exportDims ? totalHeight : Math.max(height, totalHeight);
50193
+ 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");
50193
50194
  if (ctx.isBelowFloor) {
50194
50195
  svg.attr("width", "100%");
50195
50196
  }
package/dist/index.js CHANGED
@@ -6133,7 +6133,7 @@ function extractSymbols(docText) {
6133
6133
  const m = NODE_ID_RE.exec(line12);
6134
6134
  if (m && !entities.includes(m[1])) entities.push(m[1]);
6135
6135
  }
6136
- return { kind: "flowchart", entities, keywords: [] };
6136
+ return { kind: "flowchart", entities };
6137
6137
  }
6138
6138
  var NODE_ID_RE;
6139
6139
  var init_flowchart_parser = __esm({
@@ -6890,8 +6890,7 @@ function extractSymbols2(docText) {
6890
6890
  }
6891
6891
  return {
6892
6892
  kind: "class",
6893
- entities,
6894
- keywords: ["extends", "implements", "abstract", "interface", "enum"]
6893
+ entities
6895
6894
  };
6896
6895
  }
6897
6896
  var CLASS_DECL_RE, INDENT_REL_ARROW_RE, REL_ARROW_RE, VISIBILITY_RE, STATIC_SUFFIX_RE, METHOD_RE, FIELD_RE, ARROW_TO_TYPE;
@@ -7360,8 +7359,7 @@ function extractSymbols3(docText) {
7360
7359
  }
7361
7360
  return {
7362
7361
  kind: "er",
7363
- entities,
7364
- keywords: ["pk", "fk", "unique", "nullable", "1", "*", "?"]
7362
+ entities
7365
7363
  };
7366
7364
  }
7367
7365
  var TABLE_DECL_RE, INDENT_REL_RE, CONSTRAINT_MAP, KNOWN_OPTIONS, REL_SYMBOLIC_RE, REL_KEYWORD_RE, KEYWORD_TO_SYMBOL, CONSTRAINT_KEYWORD_RE;
@@ -13283,7 +13281,7 @@ function extractSymbols4(docText) {
13283
13281
  }
13284
13282
  }
13285
13283
  }
13286
- return { kind: "infra", entities, keywords: [] };
13284
+ return { kind: "infra", entities };
13287
13285
  }
13288
13286
  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;
13289
13287
  var init_parser9 = __esm({
@@ -16092,21 +16090,7 @@ function extractPertSymbols(docText) {
16092
16090
  }
16093
16091
  return {
16094
16092
  kind: "pert",
16095
- entities,
16096
- keywords: [
16097
- "time-unit",
16098
- "default-confidence",
16099
- "direction",
16100
- "node-detail",
16101
- "trials",
16102
- "seed",
16103
- "scrubber-trials",
16104
- "start-date",
16105
- "end-date",
16106
- "active-tag",
16107
- "tag",
16108
- "as"
16109
- ]
16093
+ entities
16110
16094
  };
16111
16095
  }
16112
16096
  function looksLikePert(content) {
@@ -32588,14 +32572,22 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
32588
32572
  const titleHeight = showTitle ? 40 : 0;
32589
32573
  const diagramW = layout.width;
32590
32574
  const diagramH = layout.height;
32591
- const availH = height - titleHeight;
32592
32575
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
32593
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32594
- const scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32576
+ let scale;
32577
+ let canvasHeight;
32578
+ if (exportDims) {
32579
+ scale = Math.min(MAX_SCALE6, scaleX);
32580
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
32581
+ } else {
32582
+ const availH = height - titleHeight;
32583
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32584
+ scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32585
+ canvasHeight = height;
32586
+ }
32595
32587
  const scaledW = diagramW * scale;
32596
32588
  const offsetX = (width - scaledW) / 2;
32597
32589
  const offsetY = titleHeight + sDiagramPadding;
32598
- 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);
32590
+ 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);
32599
32591
  if (ctx.isBelowFloor) {
32600
32592
  svg.attr("width", "100%");
32601
32593
  }
@@ -42162,14 +42154,22 @@ function renderState(container, graph, layout, palette, isDark, onClickItem, exp
42162
42154
  const titleHeight = showTitle ? 40 : 0;
42163
42155
  const diagramW = layout.width;
42164
42156
  const diagramH = layout.height;
42165
- const availH = height - titleHeight;
42166
42157
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
42167
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42168
- const scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42158
+ let scale;
42159
+ let canvasHeight;
42160
+ if (exportDims) {
42161
+ scale = Math.min(MAX_SCALE7, scaleX);
42162
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
42163
+ } else {
42164
+ const availH = height - titleHeight;
42165
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42166
+ scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42167
+ canvasHeight = height;
42168
+ }
42169
42169
  const scaledW = diagramW * scale;
42170
42170
  const offsetX = (width - scaledW) / 2;
42171
42171
  const offsetY = titleHeight + sDiagramPadding;
42172
- 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);
42172
+ 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);
42173
42173
  if (ctx.isBelowFloor) {
42174
42174
  svg.attr("width", "100%");
42175
42175
  }
@@ -50214,7 +50214,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
50214
50214
  }
50215
50215
  const colBottomY = cursorY + sColumnBottomPad;
50216
50216
  const totalHeight = colBottomY + sVMargin;
50217
- 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");
50217
+ const svgHeight = exportDims ? totalHeight : Math.max(height, totalHeight);
50218
+ 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");
50218
50219
  if (ctx.isBelowFloor) {
50219
50220
  svg.attr("width", "100%");
50220
50221
  }
package/dist/internal.cjs CHANGED
@@ -6096,7 +6096,7 @@ function extractSymbols(docText) {
6096
6096
  const m = NODE_ID_RE.exec(line12);
6097
6097
  if (m && !entities.includes(m[1])) entities.push(m[1]);
6098
6098
  }
6099
- return { kind: "flowchart", entities, keywords: [] };
6099
+ return { kind: "flowchart", entities };
6100
6100
  }
6101
6101
  var NODE_ID_RE;
6102
6102
  var init_flowchart_parser = __esm({
@@ -6853,8 +6853,7 @@ function extractSymbols2(docText) {
6853
6853
  }
6854
6854
  return {
6855
6855
  kind: "class",
6856
- entities,
6857
- keywords: ["extends", "implements", "abstract", "interface", "enum"]
6856
+ entities
6858
6857
  };
6859
6858
  }
6860
6859
  var CLASS_DECL_RE, INDENT_REL_ARROW_RE, REL_ARROW_RE, VISIBILITY_RE, STATIC_SUFFIX_RE, METHOD_RE, FIELD_RE, ARROW_TO_TYPE;
@@ -7323,8 +7322,7 @@ function extractSymbols3(docText) {
7323
7322
  }
7324
7323
  return {
7325
7324
  kind: "er",
7326
- entities,
7327
- keywords: ["pk", "fk", "unique", "nullable", "1", "*", "?"]
7325
+ entities
7328
7326
  };
7329
7327
  }
7330
7328
  var TABLE_DECL_RE, INDENT_REL_RE, CONSTRAINT_MAP, KNOWN_OPTIONS, REL_SYMBOLIC_RE, REL_KEYWORD_RE, KEYWORD_TO_SYMBOL, CONSTRAINT_KEYWORD_RE;
@@ -13241,7 +13239,7 @@ function extractSymbols4(docText) {
13241
13239
  }
13242
13240
  }
13243
13241
  }
13244
- return { kind: "infra", entities, keywords: [] };
13242
+ return { kind: "infra", entities };
13245
13243
  }
13246
13244
  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;
13247
13245
  var init_parser9 = __esm({
@@ -16050,21 +16048,7 @@ function extractPertSymbols(docText) {
16050
16048
  }
16051
16049
  return {
16052
16050
  kind: "pert",
16053
- entities,
16054
- keywords: [
16055
- "time-unit",
16056
- "default-confidence",
16057
- "direction",
16058
- "node-detail",
16059
- "trials",
16060
- "seed",
16061
- "scrubber-trials",
16062
- "start-date",
16063
- "end-date",
16064
- "active-tag",
16065
- "tag",
16066
- "as"
16067
- ]
16051
+ entities
16068
16052
  };
16069
16053
  }
16070
16054
  function looksLikePert(content) {
@@ -32634,14 +32618,22 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
32634
32618
  const titleHeight = showTitle ? 40 : 0;
32635
32619
  const diagramW = layout.width;
32636
32620
  const diagramH = layout.height;
32637
- const availH = height - titleHeight;
32638
32621
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
32639
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32640
- const scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32622
+ let scale;
32623
+ let canvasHeight;
32624
+ if (exportDims) {
32625
+ scale = Math.min(MAX_SCALE6, scaleX);
32626
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
32627
+ } else {
32628
+ const availH = height - titleHeight;
32629
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
32630
+ scale = Math.min(MAX_SCALE6, scaleX, scaleY);
32631
+ canvasHeight = height;
32632
+ }
32641
32633
  const scaledW = diagramW * scale;
32642
32634
  const offsetX = (width - scaledW) / 2;
32643
32635
  const offsetY = titleHeight + sDiagramPadding;
32644
- 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);
32636
+ 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);
32645
32637
  if (ctx.isBelowFloor) {
32646
32638
  svg.attr("width", "100%");
32647
32639
  }
@@ -42211,14 +42203,22 @@ function renderState(container, graph, layout, palette, isDark, onClickItem, exp
42211
42203
  const titleHeight = showTitle ? 40 : 0;
42212
42204
  const diagramW = layout.width;
42213
42205
  const diagramH = layout.height;
42214
- const availH = height - titleHeight;
42215
42206
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
42216
- const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42217
- const scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42207
+ let scale;
42208
+ let canvasHeight;
42209
+ if (exportDims) {
42210
+ scale = Math.min(MAX_SCALE7, scaleX);
42211
+ canvasHeight = titleHeight + diagramH * scale + sDiagramPadding * 2;
42212
+ } else {
42213
+ const availH = height - titleHeight;
42214
+ const scaleY = (availH - sDiagramPadding * 2) / diagramH;
42215
+ scale = Math.min(MAX_SCALE7, scaleX, scaleY);
42216
+ canvasHeight = height;
42217
+ }
42218
42218
  const scaledW = diagramW * scale;
42219
42219
  const offsetX = (width - scaledW) / 2;
42220
42220
  const offsetY = titleHeight + sDiagramPadding;
42221
- 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);
42221
+ 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);
42222
42222
  if (ctx.isBelowFloor) {
42223
42223
  svg.attr("width", "100%");
42224
42224
  }
@@ -50476,7 +50476,8 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
50476
50476
  }
50477
50477
  const colBottomY = cursorY + sColumnBottomPad;
50478
50478
  const totalHeight = colBottomY + sVMargin;
50479
- 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");
50479
+ const svgHeight = exportDims ? totalHeight : Math.max(height, totalHeight);
50480
+ 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");
50480
50481
  if (ctx.isBelowFloor) {
50481
50482
  svg.attr("width", "100%");
50482
50483
  }
@@ -58711,7 +58712,9 @@ __export(internal_exports, {
58711
58712
  RACI_WARNING_CODES: () => RACI_WARNING_CODES,
58712
58713
  RECOGNIZED_COLOR_NAMES: () => RECOGNIZED_COLOR_NAMES,
58713
58714
  RULE_COUNT: () => RULE_COUNT,
58715
+ STRUCTURAL_KEYWORDS: () => STRUCTURAL_KEYWORDS,
58714
58716
  ScaleContext: () => ScaleContext,
58717
+ TAG_SUPPORTING_TYPES: () => TAG_SUPPORTING_TYPES,
58715
58718
  addDurationToDate: () => addDurationToDate,
58716
58719
  analyzePert: () => analyzePert,
58717
58720
  applyCollapseProjection: () => applyCollapseProjection,
@@ -60887,6 +60890,44 @@ var ENTITY_TYPES = /* @__PURE__ */ new Map([
60887
60890
  ["person", "system", "container", "component", "external", "database"]
60888
60891
  ]
60889
60892
  ]);
60893
+ var STRUCTURAL_KEYWORDS = /* @__PURE__ */ new Map([
60894
+ ["sequence", ["if", "else", "loop", "parallel", "note", "tag"]],
60895
+ ["gantt", ["era", "marker", "holiday", "workweek", "parallel", "tag"]],
60896
+ ["c4", ["containers", "components", "deployment", "tag"]],
60897
+ ["timeline", ["era", "marker", "tag"]],
60898
+ ["org", ["tag"]],
60899
+ ["kanban", ["tag"]],
60900
+ ["sitemap", ["tag"]],
60901
+ ["infra", ["tag"]],
60902
+ ["pert", ["tag"]],
60903
+ ["mindmap", ["tag"]],
60904
+ ["boxes-and-lines", ["tag"]],
60905
+ ["er", ["tag"]],
60906
+ ["cycle", ["direction-counterclockwise", "circle-nodes"]],
60907
+ ["journey-map", ["persona", "tag"]],
60908
+ ["raci", ["roles"]],
60909
+ ["tech-radar", ["rings"]],
60910
+ [
60911
+ "wireframe",
60912
+ [
60913
+ "nav",
60914
+ "tabs",
60915
+ "table",
60916
+ "image",
60917
+ "modal",
60918
+ "skeleton",
60919
+ "alert",
60920
+ "progress",
60921
+ "chart",
60922
+ "mobile",
60923
+ "tag"
60924
+ ]
60925
+ ],
60926
+ ["class", ["abstract", "interface", "enum", "extends", "implements"]]
60927
+ ]);
60928
+ var TAG_SUPPORTING_TYPES = new Set(
60929
+ [...STRUCTURAL_KEYWORDS].filter(([, kws]) => kws.includes("tag")).map(([type]) => type)
60930
+ );
60890
60931
  var PIPE_METADATA = /* @__PURE__ */ new Map([
60891
60932
  [
60892
60933
  "infra",
@@ -61172,8 +61213,7 @@ function extractSequenceSymbols(docText) {
61172
61213
  }
61173
61214
  return {
61174
61215
  kind: "sequence",
61175
- entities,
61176
- keywords: ["if", "else", "loop", "parallel", "note"]
61216
+ entities
61177
61217
  };
61178
61218
  }
61179
61219
  var STATE_ARROW_RE = /^(\S+)\s+->\s+(\S+)/;
@@ -61198,7 +61238,7 @@ function extractStateSymbols(docText) {
61198
61238
  if (dst && !entities.includes(dst)) entities.push(dst);
61199
61239
  }
61200
61240
  }
61201
- return { kind: "state", entities, keywords: [] };
61241
+ return { kind: "state", entities };
61202
61242
  }
61203
61243
  var TAG_DECL_EXPLICIT_RE = /^tag\s+(\S+)\s+alias\s+(\S+)/i;
61204
61244
  var TAG_DECL_SHORT_RE = /^tag\s+(\S+)\s+([a-z]{1,4})(?:\s|$)/;
@@ -61316,7 +61356,7 @@ function extractSitemapSymbols(docText) {
61316
61356
  lastNodeIndent = indent;
61317
61357
  }
61318
61358
  }
61319
- return { kind: "sitemap", entities, keywords: [] };
61359
+ return { kind: "sitemap", entities };
61320
61360
  }
61321
61361
  var C4_ELEMENT_RE = /^(person|system|container|component)\s+(.+)$/i;
61322
61362
  var C4_IS_A_RE2 = /^(.+?)\s+is\s+an?\s+(person|system|container|component|external|database)\b/i;
@@ -61369,8 +61409,7 @@ function extractC4Symbols(docText) {
61369
61409
  }
61370
61410
  return {
61371
61411
  kind: "c4",
61372
- entities,
61373
- keywords: ["containers", "components", "deployment"]
61412
+ entities
61374
61413
  };
61375
61414
  }
61376
61415
  var GANTT_LEGACY_DURATION_RE = /^(\d+(?:\.\d+)?)(min|bd|d|w|m|q|y|h|s)\??\s+(.+)$/;
@@ -61440,7 +61479,7 @@ function extractGanttSymbols(docText) {
61440
61479
  continue;
61441
61480
  }
61442
61481
  }
61443
- return { kind: "gantt", entities, keywords: [] };
61482
+ return { kind: "gantt", entities };
61444
61483
  }
61445
61484
  var BL_ARROW_RE = /^(\S+)\s+(?:-.*)?(?:->|<->)\s+(\S+)/;
61446
61485
  function extractBoxesAndLinesSymbols(docText) {
@@ -61478,7 +61517,7 @@ function extractBoxesAndLinesSymbols(docText) {
61478
61517
  const label = trimmed.split("|")[0].split("[")[0].trim();
61479
61518
  if (label && !entities.includes(label)) entities.push(label);
61480
61519
  }
61481
- return { kind: "boxes-and-lines", entities, keywords: [] };
61520
+ return { kind: "boxes-and-lines", entities };
61482
61521
  }
61483
61522
  var ORG_GROUP_RE = /^\[(.+?)\]/;
61484
61523
  function extractOrgSymbols(docText) {
@@ -61514,7 +61553,7 @@ function extractOrgSymbols(docText) {
61514
61553
  const label = trimmed.split("|")[0].trim();
61515
61554
  if (label && !entities.includes(label)) entities.push(label);
61516
61555
  }
61517
- return { kind: "org", entities, keywords: [] };
61556
+ return { kind: "org", entities };
61518
61557
  }
61519
61558
  var KANBAN_COLUMN_RE = /^\[(.+?)\]/;
61520
61559
  function extractKanbanSymbols(docText) {
@@ -61551,7 +61590,7 @@ function extractKanbanSymbols(docText) {
61551
61590
  if (label && !entities.includes(label)) entities.push(label);
61552
61591
  }
61553
61592
  }
61554
- return { kind: "kanban", entities, keywords: [] };
61593
+ return { kind: "kanban", entities };
61555
61594
  }
61556
61595
  function extractMindmapSymbols(docText) {
61557
61596
  const lines = docText.split("\n");
@@ -61580,7 +61619,7 @@ function extractMindmapSymbols(docText) {
61580
61619
  const label = trimmed.split("|")[0].trim();
61581
61620
  if (label && !entities.includes(label)) entities.push(label);
61582
61621
  }
61583
- return { kind: "mindmap", entities, keywords: [] };
61622
+ return { kind: "mindmap", entities };
61584
61623
  }
61585
61624
  function extractPyramidSymbols(docText) {
61586
61625
  const lines = docText.split("\n");
@@ -61600,7 +61639,7 @@ function extractPyramidSymbols(docText) {
61600
61639
  const label = trimmed.split("|")[0].trim();
61601
61640
  if (label && !entities.includes(label)) entities.push(label);
61602
61641
  }
61603
- return { kind: "pyramid", entities, keywords: ["inverted"] };
61642
+ return { kind: "pyramid", entities };
61604
61643
  }
61605
61644
  function extractRingSymbols(docText) {
61606
61645
  const lines = docText.split("\n");
@@ -61620,7 +61659,7 @@ function extractRingSymbols(docText) {
61620
61659
  const label = trimmed.split("|")[0].trim();
61621
61660
  if (label && !entities.includes(label)) entities.push(label);
61622
61661
  }
61623
- return { kind: "ring", entities, keywords: [] };
61662
+ return { kind: "ring", entities };
61624
61663
  }
61625
61664
  var ARC_ARROW_RE = /^(\S+)\s+(?:->|-[^>]*->)\s+(\S+)/;
61626
61665
  function extractArcSymbols(docText) {
@@ -61644,7 +61683,7 @@ function extractArcSymbols(docText) {
61644
61683
  if (dst && !entities.includes(dst)) entities.push(dst);
61645
61684
  }
61646
61685
  }
61647
- return { kind: "arc", entities, keywords: [] };
61686
+ return { kind: "arc", entities };
61648
61687
  }
61649
61688
  var SANKEY_ARROW_RE = /^(.+?)\s+->\s+(.+?)\s+(\d[\d,_.]*)/;
61650
61689
  function extractSankeySymbols(docText) {
@@ -61671,7 +61710,7 @@ function extractSankeySymbols(docText) {
61671
61710
  if (label && !entities.includes(label)) entities.push(label);
61672
61711
  }
61673
61712
  }
61674
- return { kind: "sankey", entities, keywords: [] };
61713
+ return { kind: "sankey", entities };
61675
61714
  }
61676
61715
  var TIMELINE_ERA_RE = /^era\s+/i;
61677
61716
  var TIMELINE_MARKER_RE = /^marker\s+/i;
@@ -61712,7 +61751,7 @@ function extractTimelineSymbols(docText) {
61712
61751
  }
61713
61752
  if (label && !entities.includes(label)) entities.push(label);
61714
61753
  }
61715
- return { kind: "timeline", entities, keywords: ["era", "marker"] };
61754
+ return { kind: "timeline", entities };
61716
61755
  }
61717
61756
  function extractVennSymbols(docText) {
61718
61757
  const lines = docText.split("\n");
@@ -61731,7 +61770,7 @@ function extractVennSymbols(docText) {
61731
61770
  const label = trimmed.split("|")[0].trim();
61732
61771
  if (label && !entities.includes(label)) entities.push(label);
61733
61772
  }
61734
- return { kind: "venn", entities, keywords: [] };
61773
+ return { kind: "venn", entities };
61735
61774
  }
61736
61775
  var QUADRANT_POSITION_RE = /^(top-right|top-left|bottom-right|bottom-left)\s+/i;
61737
61776
  function extractQuadrantSymbols(docText) {
@@ -61752,7 +61791,7 @@ function extractQuadrantSymbols(docText) {
61752
61791
  const label = (parts[0] ?? "").split("|")[0].trim();
61753
61792
  if (label && !entities.includes(label)) entities.push(label);
61754
61793
  }
61755
- return { kind: "quadrant", entities, keywords: [] };
61794
+ return { kind: "quadrant", entities };
61756
61795
  }
61757
61796
  function extractSlopeSymbols(docText) {
61758
61797
  const lines = docText.split("\n");
@@ -61772,7 +61811,7 @@ function extractSlopeSymbols(docText) {
61772
61811
  const label = numIdx > 0 ? trimmed.slice(0, numIdx).trim() : trimmed.split("|")[0].trim();
61773
61812
  if (label && !entities.includes(label)) entities.push(label);
61774
61813
  }
61775
- return { kind: "slope", entities, keywords: ["period"] };
61814
+ return { kind: "slope", entities };
61776
61815
  }
61777
61816
  var SERIES_RE = /^series\s+(.+)$/i;
61778
61817
  function extractDataChartSymbols(docText) {
@@ -61805,7 +61844,7 @@ function extractDataChartSymbols(docText) {
61805
61844
  if (label && !entities.includes(label)) entities.push(label);
61806
61845
  }
61807
61846
  }
61808
- return { kind: chartType, entities, keywords: [] };
61847
+ return { kind: chartType, entities };
61809
61848
  }
61810
61849
  registerExtractor("er", extractSymbols3);
61811
61850
  registerExtractor("flowchart", extractSymbols);
@@ -61850,23 +61889,6 @@ registerExtractor("funnel", extractDataChartSymbols);
61850
61889
  registerExtractor("chord", extractDataChartSymbols);
61851
61890
  function extractTechRadarSymbols(docText) {
61852
61891
  const entities = [];
61853
- const keywords = [
61854
- "rings",
61855
- "quadrant",
61856
- "ring",
61857
- "trend",
61858
- "new",
61859
- "up",
61860
- "down",
61861
- "stable",
61862
- "top-left",
61863
- "top-right",
61864
- "bottom-left",
61865
- "bottom-right",
61866
- "alias",
61867
- "aka",
61868
- "color"
61869
- ];
61870
61892
  const lines = docText.split("\n");
61871
61893
  let inRings = false;
61872
61894
  for (const line12 of lines) {
@@ -61889,7 +61911,7 @@ function extractTechRadarSymbols(docText) {
61889
61911
  }
61890
61912
  }
61891
61913
  }
61892
- return { kind: "tech-radar", entities, keywords };
61914
+ return { kind: "tech-radar", entities };
61893
61915
  }
61894
61916
  function extractCycleSymbols(docText) {
61895
61917
  const lines = docText.split("\n");
@@ -61912,8 +61934,7 @@ function extractCycleSymbols(docText) {
61912
61934
  }
61913
61935
  return {
61914
61936
  kind: "cycle",
61915
- entities,
61916
- keywords: ["direction-counterclockwise", "circle-nodes"]
61937
+ entities
61917
61938
  };
61918
61939
  }
61919
61940
  var RACI_PHASE_RE = /^\[(.+)\]\s*$/;
@@ -61971,8 +61992,7 @@ function extractRaciSymbols(docText) {
61971
61992
  }
61972
61993
  return {
61973
61994
  kind: chartType,
61974
- entities,
61975
- keywords: ["variant", "roles"]
61995
+ entities
61976
61996
  };
61977
61997
  }
61978
61998
  function extractJourneyMapSymbols(docText) {
@@ -62005,8 +62025,7 @@ function extractJourneyMapSymbols(docText) {
62005
62025
  }
62006
62026
  return {
62007
62027
  kind: "journey-map",
62008
- entities,
62009
- keywords: ["persona", "pain", "opportunity", "thought", "description"]
62028
+ entities
62010
62029
  };
62011
62030
  }
62012
62031
 
@@ -62288,7 +62307,9 @@ function formatLineDiff(path, original, migrated) {
62288
62307
  RACI_WARNING_CODES,
62289
62308
  RECOGNIZED_COLOR_NAMES,
62290
62309
  RULE_COUNT,
62310
+ STRUCTURAL_KEYWORDS,
62291
62311
  ScaleContext,
62312
+ TAG_SUPPORTING_TYPES,
62292
62313
  addDurationToDate,
62293
62314
  analyzePert,
62294
62315
  applyCollapseProjection,