@loopstack/loopstack-studio 0.29.5 → 0.30.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 (113) hide show
  1. package/dist/_virtual/rolldown_runtime.js +3 -1
  2. package/dist/api/config.js +5 -4
  3. package/dist/api/environments.js +5 -1
  4. package/dist/api/processor.js +4 -1
  5. package/dist/app/EnvironmentEmbedRoot.js +22 -30
  6. package/dist/components/ai-elements/code-block.js +4 -4
  7. package/dist/components/dynamic-form/CodeContent.js +1 -1
  8. package/dist/components/dynamic-form/FormBody.js +1 -1
  9. package/dist/components/motion/FadeIn.js +72 -0
  10. package/dist/components/motion/StreamingText.js +49 -0
  11. package/dist/components/ui/accordion.js +2 -2
  12. package/dist/components/ui-widgets/UiWidget.js +11 -10
  13. package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
  14. package/dist/events/sse-client-events.js +7 -1
  15. package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
  16. package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
  17. package/dist/features/documents/DocumentRenderer.js +18 -17
  18. package/dist/features/documents/components/DocumentItem.js +42 -20
  19. package/dist/features/documents/components/DocumentList.js +34 -36
  20. package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
  21. package/dist/features/documents/document-details/DocumentDetails.js +577 -377
  22. package/dist/features/documents/document-details/PromptDetails.js +118 -130
  23. package/dist/features/documents/document-details/document-debug-utils.js +100 -0
  24. package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
  25. package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
  26. package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
  27. package/dist/features/documents/renderers/LlmMessage.js +52 -47
  28. package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
  29. package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
  30. package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
  31. package/dist/features/feature-registry/available-features.js +12 -0
  32. package/dist/features/feature-registry/index.js +2 -1
  33. package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
  34. package/dist/features/git/components/GitBranchBadge.js +31 -0
  35. package/dist/features/git/components/GitCommitList.js +46 -0
  36. package/dist/features/git/components/GitRemoteStatus.js +84 -0
  37. package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
  38. package/dist/features/git/git-feature.js +12 -0
  39. package/dist/features/git/hooks/useGit.js +78 -0
  40. package/dist/features/git/index.js +1 -0
  41. package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
  42. package/dist/features/runs/Runs.js +4 -4
  43. package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
  44. package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
  45. package/dist/features/workbench/Workbench.js +25 -33
  46. package/dist/features/workbench/WorkflowItem.js +9 -9
  47. package/dist/features/workbench/WorkflowList.js +61 -62
  48. package/dist/features/workbench/components/NewRunDialog.js +237 -209
  49. package/dist/features/workbench/components/RecentRunItem.js +3 -3
  50. package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
  51. package/dist/features/workbench/components/WorkbenchIconSidebar.js +1 -1
  52. package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
  53. package/dist/features/workbench/components/WorkflowForms.js +11 -10
  54. package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
  55. package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
  56. package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
  57. package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
  58. package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
  59. package/dist/features/workbench/index.js +2 -2
  60. package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
  61. package/dist/features/workspaces/Workspaces.js +134 -125
  62. package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
  63. package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
  64. package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
  65. package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
  66. package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
  67. package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
  68. package/dist/hooks/index.js +3 -2
  69. package/dist/hooks/query-keys.js +43 -30
  70. package/dist/hooks/useConfig.js +28 -22
  71. package/dist/hooks/useEnvironments.js +27 -2
  72. package/dist/hooks/useProcessor.js +14 -1
  73. package/dist/hooks/useWorkflows.js +4 -4
  74. package/dist/index.d.ts +116 -15
  75. package/dist/index.js +9 -8
  76. package/dist/node_modules/d3/src/index.js +13 -13
  77. package/dist/node_modules/d3-scale/src/continuous.js +16 -16
  78. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
  79. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
  80. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
  81. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
  82. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
  83. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
  84. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
  85. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
  86. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
  87. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
  88. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
  89. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
  90. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
  91. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
  92. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
  93. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
  94. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
  95. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
  96. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
  97. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
  98. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
  99. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
  100. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
  101. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
  102. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
  103. package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
  104. package/dist/node_modules/motion/dist/es/react.js +9 -2
  105. package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
  106. package/dist/pages/DebugWorkflowsPage.js +76 -106
  107. package/dist/pages/EmbedWorkbenchPage.js +1 -1
  108. package/dist/pages/PreviewWorkbenchPage.js +6 -6
  109. package/dist/pages/WorkbenchPage.js +43 -47
  110. package/dist/pages/WorkflowDebugPage.js +6 -12
  111. package/dist/pages/WorkspacePage.js +40 -66
  112. package/dist/pages/WorkspaceRunsPage.js +24 -31
  113. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
+ import select_default from "../../../../d3-selection/src/select.js";
1
2
  import { __name, log } from "./chunk-AGHRB4JF.js";
2
3
  import { clear, configureSvgSize, defaultConfig_default, getAccDescription, getAccTitle, getConfig, getDiagramTitle, getThemeVariables3, setAccDescription, setAccTitle, setDiagramTitle } from "./chunk-CSCIHK7Q.js";
3
- import select_default from "../../../../d3-selection/src/select.js";
4
4
  import { format } from "../../../../d3-format/src/defaultLocale.js";
5
5
  import hierarchy from "../../../../d3-hierarchy/src/hierarchy/index.js";
6
6
  import treemap_default from "../../../../d3-hierarchy/src/treemap/index.js";
@@ -21,14 +21,14 @@ var TreeMapDB = class {
21
21
  return this.nodes;
22
22
  }
23
23
  getConfig() {
24
- let e = defaultConfig_default, f = getConfig();
24
+ let e = defaultConfig_default, d = getConfig();
25
25
  return cleanAndMerge({
26
26
  ...e.treemap,
27
- ...f.treemap ?? {}
27
+ ...d.treemap ?? {}
28
28
  });
29
29
  }
30
- addNode(e, f) {
31
- this.nodes.push(e), this.levels.set(e, f), f === 0 && (this.outerNodes.push(e), this.root ??= e);
30
+ addNode(e, d) {
31
+ this.nodes.push(e), this.levels.set(e, d), d === 0 && (this.outerNodes.push(e), this.root ??= e);
32
32
  }
33
33
  getRoot() {
34
34
  return {
@@ -36,15 +36,15 @@ var TreeMapDB = class {
36
36
  children: this.outerNodes
37
37
  };
38
38
  }
39
- addClass(e, f) {
40
- let p = this.classes.get(e) ?? {
39
+ addClass(e, d) {
40
+ let f = this.classes.get(e) ?? {
41
41
  id: e,
42
42
  styles: [],
43
43
  textStyles: []
44
- }, m = f.replace(/\\,/g, "§§§").replace(/,/g, ";").replace(/§§§/g, ",").split(";");
45
- m && m.forEach((e) => {
46
- isLabelStyle(e) && (p?.textStyles ? p.textStyles.push(e) : p.textStyles = [e]), p?.styles ? p.styles.push(e) : p.styles = [e];
47
- }), this.classes.set(e, p);
44
+ }, p = d.replace(/\\,/g, "§§§").replace(/,/g, ";").replace(/§§§/g, ",").split(";");
45
+ p && p.forEach((e) => {
46
+ isLabelStyle(e) && (f?.textStyles ? f.textStyles.push(e) : f.textStyles = [e]), f?.styles ? f.styles.push(e) : f.styles = [e];
47
+ }), this.classes.set(e, f);
48
48
  }
49
49
  getClasses() {
50
50
  return this.classes;
@@ -58,55 +58,55 @@ var TreeMapDB = class {
58
58
  };
59
59
  function buildHierarchy(e) {
60
60
  if (!e.length) return [];
61
- let f = [], p = [];
61
+ let d = [], f = [];
62
62
  return e.forEach((e) => {
63
- let m = {
63
+ let p = {
64
64
  name: e.name,
65
65
  children: e.type === "Leaf" ? void 0 : []
66
66
  };
67
- for (m.classSelector = e?.classSelector, e?.cssCompiledStyles && (m.cssCompiledStyles = e.cssCompiledStyles), e.type === "Leaf" && e.value !== void 0 && (m.value = e.value); p.length > 0 && p[p.length - 1].level >= e.level;) p.pop();
68
- if (p.length === 0) f.push(m);
67
+ for (p.classSelector = e?.classSelector, e?.cssCompiledStyles && (p.cssCompiledStyles = e.cssCompiledStyles), e.type === "Leaf" && e.value !== void 0 && (p.value = e.value); f.length > 0 && f[f.length - 1].level >= e.level;) f.pop();
68
+ if (f.length === 0) d.push(p);
69
69
  else {
70
- let e = p[p.length - 1].node;
71
- e.children ? e.children.push(m) : e.children = [m];
70
+ let e = f[f.length - 1].node;
71
+ e.children ? e.children.push(p) : e.children = [p];
72
72
  }
73
- e.type !== "Leaf" && p.push({
74
- node: m,
73
+ e.type !== "Leaf" && f.push({
74
+ node: p,
75
75
  level: e.level
76
76
  });
77
- }), f;
77
+ }), d;
78
78
  }
79
79
  __name(buildHierarchy, "buildHierarchy");
80
- var populate = /* @__PURE__ */ __name((f, p) => {
81
- populateCommonDb(f, p);
82
- let m = [];
83
- for (let e of f.TreemapRows ?? []) e.$type === "ClassDefStatement" && p.addClass(e.className ?? "", e.styleText ?? "");
84
- for (let e of f.TreemapRows ?? []) {
85
- let f = e.item;
86
- if (!f) continue;
87
- let h = e.indent ? parseInt(e.indent) : 0, g = getItemName(f), _ = f.classSelector ? p.getStylesForClass(f.classSelector) : [], v = _.length > 0 ? _ : void 0, y = {
88
- level: h,
89
- name: g,
90
- type: f.$type,
91
- value: f.value,
92
- classSelector: f.classSelector,
93
- cssCompiledStyles: v
80
+ var populate = /* @__PURE__ */ __name((e, f) => {
81
+ populateCommonDb(e, f);
82
+ let p = [];
83
+ for (let d of e.TreemapRows ?? []) d.$type === "ClassDefStatement" && f.addClass(d.className ?? "", d.styleText ?? "");
84
+ for (let d of e.TreemapRows ?? []) {
85
+ let e = d.item;
86
+ if (!e) continue;
87
+ let m = d.indent ? parseInt(d.indent) : 0, h = getItemName(e), g = e.classSelector ? f.getStylesForClass(e.classSelector) : [], _ = g.length > 0 ? g : void 0, v = {
88
+ level: m,
89
+ name: h,
90
+ type: e.$type,
91
+ value: e.value,
92
+ classSelector: e.classSelector,
93
+ cssCompiledStyles: _
94
94
  };
95
- m.push(y);
95
+ p.push(v);
96
96
  }
97
- let h = buildHierarchy(m), g = /* @__PURE__ */ __name((e, f) => {
98
- for (let m of e) p.addNode(m, f), m.children && m.children.length > 0 && g(m.children, f + 1);
97
+ let m = buildHierarchy(p), h = /* @__PURE__ */ __name((e, d) => {
98
+ for (let p of e) f.addNode(p, d), p.children && p.children.length > 0 && h(p.children, d + 1);
99
99
  }, "addNodesRecursively");
100
- g(h, 0);
100
+ h(m, 0);
101
101
  }, "populate"), getItemName = /* @__PURE__ */ __name((e) => e.name ? String(e.name) : "", "getItemName"), parser = {
102
102
  parser: { yy: void 0 },
103
103
  parse: /* @__PURE__ */ __name(async (e) => {
104
104
  try {
105
- let p = await parse("treemap", e);
106
- log.debug("Treemap AST:", p);
107
- let m = parser.parser?.yy;
108
- if (!(m instanceof TreeMapDB)) throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");
109
- populate(p, m);
105
+ let d = await parse("treemap", e);
106
+ log.debug("Treemap AST:", d);
107
+ let p = parser.parser?.yy;
108
+ if (!(p instanceof TreeMapDB)) throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");
109
+ populate(d, p);
110
110
  } catch (e) {
111
111
  throw log.error("Error parsing treemap:", e), e;
112
112
  }
@@ -119,15 +119,15 @@ var populate = /* @__PURE__ */ __name((f, p) => {
119
119
  E.attr("viewBox", `0 0 ${k} ${A}`), configureSvgSize(E, A, k, b.useMaxWidth);
120
120
  let j;
121
121
  try {
122
- let f = b.valueFormat || ",";
123
- if (f === "$0,0") j = /* @__PURE__ */ __name((e) => "$" + format(",")(e), "valueFormat");
124
- else if (f.startsWith("$") && f.includes(",")) {
125
- let p = /\.\d+/.exec(f), m = p ? p[0] : "";
126
- j = /* @__PURE__ */ __name((e) => "$" + format("," + m)(e), "valueFormat");
127
- } else if (f.startsWith("$")) {
128
- let p = f.substring(1);
129
- j = /* @__PURE__ */ __name((e) => "$" + format(p || "")(e), "valueFormat");
130
- } else j = format(f);
122
+ let e = b.valueFormat || ",";
123
+ if (e === "$0,0") j = /* @__PURE__ */ __name((e) => "$" + format(",")(e), "valueFormat");
124
+ else if (e.startsWith("$") && e.includes(",")) {
125
+ let f = /\.\d+/.exec(e), p = f ? f[0] : "";
126
+ j = /* @__PURE__ */ __name((e) => "$" + format("," + p)(e), "valueFormat");
127
+ } else if (e.startsWith("$")) {
128
+ let f = e.substring(1);
129
+ j = /* @__PURE__ */ __name((e) => "$" + format(f || "")(e), "valueFormat");
130
+ } else j = format(e);
131
131
  } catch (e) {
132
132
  log.error("Error creating format function:", e), j = format(",");
133
133
  }
@@ -174,17 +174,17 @@ var populate = /* @__PURE__ */ __name((f, p) => {
174
174
  w.cScaleLabel11
175
175
  ]);
176
176
  S && E.append("text").attr("x", k / 2).attr("y", T / 2).attr("class", "treemapTitle").attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(S);
177
- let F = E.append("g").attr("transform", `translate(0, ${T})`).attr("class", "treemapContainer"), I = hierarchy(C).sum((e) => e.value ?? 0).sort((e, f) => (f.value ?? 0) - (e.value ?? 0)), L = treemap_default().size([D, O]).paddingTop((e) => e.children && e.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0).paddingInner(x).paddingLeft((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).round(!0)(I), R = L.descendants().filter((e) => e.children && e.children.length > 0), z = F.selectAll(".treemapSection").data(R).enter().append("g").attr("class", "treemapSection").attr("transform", (e) => `translate(${e.x0},${e.y0})`);
178
- z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", SECTION_HEADER_HEIGHT).attr("class", "treemapSectionHeader").attr("fill", "none").attr("fill-opacity", .6).attr("stroke-width", .6).attr("style", (e) => e.depth === 0 ? "display: none;" : ""), z.append("clipPath").attr("id", (e, f) => `clip-section-${h}-${f}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 12)).attr("height", SECTION_HEADER_HEIGHT), z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", (e, f) => `treemapSection section${f}`).attr("fill", (e) => M(e.data.name)).attr("fill-opacity", .6).attr("stroke", (e) => N(e.data.name)).attr("stroke-width", 2).attr("stroke-opacity", .4).attr("style", (e) => {
177
+ let F = E.append("g").attr("transform", `translate(0, ${T})`).attr("class", "treemapContainer"), I = hierarchy(C).sum((e) => e.value ?? 0).sort((e, d) => (d.value ?? 0) - (e.value ?? 0)), L = treemap_default().size([D, O]).paddingTop((e) => e.children && e.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0).paddingInner(x).paddingLeft((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).round(!0)(I), R = L.descendants().filter((e) => e.children && e.children.length > 0), z = F.selectAll(".treemapSection").data(R).enter().append("g").attr("class", "treemapSection").attr("transform", (e) => `translate(${e.x0},${e.y0})`);
178
+ z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", SECTION_HEADER_HEIGHT).attr("class", "treemapSectionHeader").attr("fill", "none").attr("fill-opacity", .6).attr("stroke-width", .6).attr("style", (e) => e.depth === 0 ? "display: none;" : ""), z.append("clipPath").attr("id", (e, d) => `clip-section-${h}-${d}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 12)).attr("height", SECTION_HEADER_HEIGHT), z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", (e, d) => `treemapSection section${d}`).attr("fill", (e) => M(e.data.name)).attr("fill-opacity", .6).attr("stroke", (e) => N(e.data.name)).attr("stroke-width", 2).attr("stroke-opacity", .4).attr("style", (e) => {
179
179
  if (e.depth === 0) return "display: none;";
180
- let f = styles2String({ cssCompiledStyles: e.data.cssCompiledStyles });
181
- return f.nodeStyles + ";" + f.borderStyles.join(";");
182
- }), z.append("text").attr("class", "treemapSectionLabel").attr("x", 6).attr("y", SECTION_HEADER_HEIGHT / 2).attr("dominant-baseline", "middle").text((e) => e.depth === 0 ? "" : e.data.name).attr("font-weight", "bold").attr("style", (e) => e.depth === 0 ? "display: none;" : "dominant-baseline: middle; font-size: 12px; fill:" + P(e.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).each(function(e) {
183
- if (e.depth === 0) return;
184
- let f = select_default(this), p = e.data.name;
180
+ let d = styles2String({ cssCompiledStyles: e.data.cssCompiledStyles });
181
+ return d.nodeStyles + ";" + d.borderStyles.join(";");
182
+ }), z.append("text").attr("class", "treemapSectionLabel").attr("x", 6).attr("y", SECTION_HEADER_HEIGHT / 2).attr("dominant-baseline", "middle").text((e) => e.depth === 0 ? "" : e.data.name).attr("font-weight", "bold").attr("style", (e) => e.depth === 0 ? "display: none;" : "dominant-baseline: middle; font-size: 12px; fill:" + P(e.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).each(function(d) {
183
+ if (d.depth === 0) return;
184
+ let f = select_default(this), p = d.data.name;
185
185
  f.text(p);
186
- let m = e.x1 - e.x0, h;
187
- h = b.showValues !== !1 && e.value ? m - 10 - 30 - 10 - 6 : m - 6 - 6;
186
+ let m = d.x1 - d.x0, h;
187
+ h = b.showValues !== !1 && d.value ? m - 10 - 30 - 10 - 6 : m - 6 - 6;
188
188
  let g = Math.max(15, h), _ = f.node();
189
189
  if (_.getComputedTextLength() > g) {
190
190
  let e = p;
@@ -197,9 +197,9 @@ var populate = /* @__PURE__ */ __name((f, p) => {
197
197
  }
198
198
  }
199
199
  }), b.showValues !== !1 && z.append("text").attr("class", "treemapSectionValue").attr("x", (e) => e.x1 - e.x0 - 10).attr("y", SECTION_HEADER_HEIGHT / 2).attr("text-anchor", "end").attr("dominant-baseline", "middle").text((e) => e.value ? j(e.value) : "").attr("font-style", "italic").attr("style", (e) => e.depth === 0 ? "display: none;" : "text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:" + P(e.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:"));
200
- let B = L.leaves(), V = F.selectAll(".treemapLeafGroup").data(B).enter().append("g").attr("class", (e, f) => `treemapNode treemapLeafGroup leaf${f}${e.data.classSelector ? ` ${e.data.classSelector}` : ""}x`).attr("transform", (e) => `translate(${e.x0},${e.y0})`);
201
- V.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", "treemapLeaf").attr("fill", (e) => e.parent ? M(e.parent.data.name) : M(e.data.name)).attr("style", (e) => styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).nodeStyles).attr("fill-opacity", .3).attr("stroke", (e) => e.parent ? M(e.parent.data.name) : M(e.data.name)).attr("stroke-width", 3), V.append("clipPath").attr("id", (e, f) => `clip-${h}-${f}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 4)).attr("height", (e) => Math.max(0, e.y1 - e.y0 - 4)), V.append("text").attr("class", "treemapLabel").attr("x", (e) => (e.x1 - e.x0) / 2).attr("y", (e) => (e.y1 - e.y0) / 2).attr("style", (e) => "text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:" + P(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, f) => `url(#clip-${h}-${f})`).text((e) => e.data.name).each(function(e) {
202
- let f = select_default(this), p = e.x1 - e.x0, m = e.y1 - e.y0, h = f.node(), g = p - 8, _ = m - 8;
200
+ let B = L.leaves(), V = F.selectAll(".treemapLeafGroup").data(B).enter().append("g").attr("class", (e, d) => `treemapNode treemapLeafGroup leaf${d}${e.data.classSelector ? ` ${e.data.classSelector}` : ""}x`).attr("transform", (e) => `translate(${e.x0},${e.y0})`);
201
+ V.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", "treemapLeaf").attr("fill", (e) => e.parent ? M(e.parent.data.name) : M(e.data.name)).attr("style", (e) => styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).nodeStyles).attr("fill-opacity", .3).attr("stroke", (e) => e.parent ? M(e.parent.data.name) : M(e.data.name)).attr("stroke-width", 3), V.append("clipPath").attr("id", (e, d) => `clip-${h}-${d}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 4)).attr("height", (e) => Math.max(0, e.y1 - e.y0 - 4)), V.append("text").attr("class", "treemapLabel").attr("x", (e) => (e.x1 - e.x0) / 2).attr("y", (e) => (e.y1 - e.y0) / 2).attr("style", (e) => "text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:" + P(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, d) => `url(#clip-${h}-${d})`).text((e) => e.data.name).each(function(d) {
202
+ let f = select_default(this), p = d.x1 - d.x0, m = d.y1 - d.y0, h = f.node(), g = p - 8, _ = m - 8;
203
203
  if (g < 10 || _ < 10) {
204
204
  f.style("display", "none");
205
205
  return;
@@ -211,7 +211,7 @@ var populate = /* @__PURE__ */ __name((f, p) => {
211
211
  f.style("font-size", `${v}px`), (h.getComputedTextLength() > g || v < 8 || _ < v) && f.style("display", "none");
212
212
  }), b.showValues !== !1 && V.append("text").attr("class", "treemapValue").attr("x", (e) => (e.x1 - e.x0) / 2).attr("y", function(e) {
213
213
  return (e.y1 - e.y0) / 2;
214
- }).attr("style", (e) => "text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:" + P(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, f) => `url(#clip-${h}-${f})`).text((e) => e.value ? j(e.value) : "").each(function(e) {
214
+ }).attr("style", (e) => "text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:" + P(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, d) => `url(#clip-${h}-${d})`).text((e) => e.value ? j(e.value) : "").each(function(d) {
215
215
  let f = select_default(this), p = this.parentNode;
216
216
  if (!p) {
217
217
  f.style("display", "none");
@@ -224,14 +224,14 @@ var populate = /* @__PURE__ */ __name((f, p) => {
224
224
  }
225
225
  let h = parseFloat(m.style("font-size")), g = Math.max(6, Math.min(28, Math.round(h * .6)));
226
226
  f.style("font-size", `${g}px`);
227
- let _ = (e.y1 - e.y0) / 2 + h / 2 + 2;
227
+ let _ = (d.y1 - d.y0) / 2 + h / 2 + 2;
228
228
  f.attr("y", _);
229
- let v = e.x1 - e.x0, y = e.y1 - e.y0 - 4, b = v - 8;
229
+ let v = d.x1 - d.x0, y = d.y1 - d.y0 - 4, b = v - 8;
230
230
  f.node().getComputedTextLength() > b || _ + g > y || g < 6 ? f.style("display", "none") : f.style("display", null);
231
231
  }), setupViewPortForSVG(E, b.diagramPadding ?? 8, "flowchart", b?.useMaxWidth || !1);
232
232
  }, "draw"),
233
- getClasses: /* @__PURE__ */ __name(function(e, f) {
234
- return f.db.getClasses();
233
+ getClasses: /* @__PURE__ */ __name(function(e, d) {
234
+ return d.db.getClasses();
235
235
  }, "getClasses")
236
236
  }, defaultTreemapStyleOptions = {
237
237
  sectionStrokeColor: "black",
@@ -250,29 +250,29 @@ var populate = /* @__PURE__ */ __name((f, p) => {
250
250
  },
251
251
  renderer,
252
252
  styles: /* @__PURE__ */ __name(({ treemap: e } = {}) => {
253
- let f = cleanAndMerge(getThemeVariables3(), getConfig().themeVariables), p = cleanAndMerge(defaultTreemapStyleOptions, e), m = p.titleColor ?? f.titleColor, h = p.labelColor ?? f.textColor, g = p.valueColor ?? f.textColor;
253
+ let d = cleanAndMerge(getThemeVariables3(), getConfig().themeVariables), f = cleanAndMerge(defaultTreemapStyleOptions, e), p = f.titleColor ?? d.titleColor, m = f.labelColor ?? d.textColor, h = f.valueColor ?? d.textColor;
254
254
  return `
255
255
  .treemapNode.section {
256
- stroke: ${p.sectionStrokeColor};
257
- stroke-width: ${p.sectionStrokeWidth};
258
- fill: ${p.sectionFillColor};
256
+ stroke: ${f.sectionStrokeColor};
257
+ stroke-width: ${f.sectionStrokeWidth};
258
+ fill: ${f.sectionFillColor};
259
259
  }
260
260
  .treemapNode.leaf {
261
- stroke: ${p.leafStrokeColor};
262
- stroke-width: ${p.leafStrokeWidth};
263
- fill: ${p.leafFillColor};
261
+ stroke: ${f.leafStrokeColor};
262
+ stroke-width: ${f.leafStrokeWidth};
263
+ fill: ${f.leafFillColor};
264
264
  }
265
265
  .treemapLabel {
266
- fill: ${h};
267
- font-size: ${p.labelFontSize};
266
+ fill: ${m};
267
+ font-size: ${f.labelFontSize};
268
268
  }
269
269
  .treemapValue {
270
- fill: ${g};
271
- font-size: ${p.valueFontSize};
270
+ fill: ${h};
271
+ font-size: ${f.valueFontSize};
272
272
  }
273
273
  .treemapTitle {
274
- fill: ${m};
275
- font-size: ${p.titleFontSize};
274
+ fill: ${p};
275
+ font-size: ${f.titleFontSize};
276
276
  }
277
277
  `;
278
278
  }, "getStyles")
@@ -1,8 +1,8 @@
1
+ import select_default from "../../../../d3-selection/src/select.js";
1
2
  import { __export, __name, log } from "./chunk-AGHRB4JF.js";
2
3
  import rgba_default from "../../../../khroma/dist/methods/rgba.js";
3
4
  import channel_default from "../../../../khroma/dist/methods/channel.js";
4
5
  import { clear, getAccDescription, getAccTitle, getConfig2, getDiagramTitle, setAccDescription, setAccTitle, setDiagramTitle } from "./chunk-CSCIHK7Q.js";
5
- import select_default from "../../../../d3-selection/src/select.js";
6
6
  import "../../../../d3/src/index.js";
7
7
  import "./chunk-BSJP7CBP.js";
8
8
  import { getEdgeId, utils_default } from "./chunk-5ZQYHXKU.js";
@@ -18,7 +18,7 @@ var parser = (function() {
18
18
  var e = /* @__PURE__ */ __name(function(e, t, n, r) {
19
19
  for (n ||= {}, r = e.length; r--; n[e[r]] = t);
20
20
  return n;
21
- }, "o"), n = [
21
+ }, "o"), t = [
22
22
  6,
23
23
  8,
24
24
  10,
@@ -545,7 +545,7 @@ var parser = (function() {
545
545
  4: [1, 2]
546
546
  },
547
547
  { 1: [3] },
548
- e(n, [2, 2], { 5: 3 }),
548
+ e(t, [2, 2], { 5: 3 }),
549
549
  {
550
550
  6: [1, 4],
551
551
  7: 5,
@@ -574,8 +574,8 @@ var parser = (function() {
574
574
  51: _,
575
575
  52: v
576
576
  },
577
- e(n, [2, 7], { 1: [2, 1] }),
578
- e(n, [2, 3]),
577
+ e(t, [2, 7], { 1: [2, 1] }),
578
+ e(t, [2, 3]),
579
579
  {
580
580
  9: 30,
581
581
  11: 9,
@@ -600,9 +600,9 @@ var parser = (function() {
600
600
  51: _,
601
601
  52: v
602
602
  },
603
- e(n, [2, 5]),
604
- e(n, [2, 6]),
605
- e(n, [2, 16], {
603
+ e(t, [2, 5]),
604
+ e(t, [2, 6]),
605
+ e(t, [2, 16], {
606
606
  12: 31,
607
607
  63: 35,
608
608
  15: [1, 32],
@@ -617,20 +617,20 @@ var parser = (function() {
617
617
  { 23: [1, 41] },
618
618
  { 25: [1, 42] },
619
619
  { 27: [1, 43] },
620
- e(n, [2, 27]),
621
- e(n, [2, 28]),
622
- e(n, [2, 29]),
623
- e(n, [2, 30]),
624
- e(n, [2, 31]),
620
+ e(t, [2, 27]),
621
+ e(t, [2, 28]),
622
+ e(t, [2, 29]),
623
+ e(t, [2, 30]),
624
+ e(t, [2, 31]),
625
625
  e(w, [2, 54]),
626
626
  e(w, [2, 55]),
627
627
  e(w, [2, 56]),
628
628
  e(w, [2, 57]),
629
629
  e(w, [2, 58]),
630
- e(n, [2, 32]),
631
- e(n, [2, 33]),
632
- e(n, [2, 34]),
633
- e(n, [2, 35]),
630
+ e(t, [2, 32]),
631
+ e(t, [2, 33]),
632
+ e(t, [2, 34]),
633
+ e(t, [2, 35]),
634
634
  {
635
635
  16: 44,
636
636
  40: T,
@@ -646,7 +646,7 @@ var parser = (function() {
646
646
  40: T,
647
647
  41: E
648
648
  },
649
- e(n, [2, 4]),
649
+ e(t, [2, 4]),
650
650
  {
651
651
  11: 49,
652
652
  40: f,
@@ -685,9 +685,9 @@ var parser = (function() {
685
685
  e(O, [2, 74]),
686
686
  e(O, [2, 75]),
687
687
  e(O, [2, 76]),
688
- e(n, [2, 24]),
689
- e(n, [2, 25]),
690
- e(n, [2, 26]),
688
+ e(t, [2, 24]),
689
+ e(t, [2, 25]),
690
+ e(t, [2, 26]),
691
691
  {
692
692
  13: k,
693
693
  38: 60,
@@ -720,7 +720,7 @@ var parser = (function() {
720
720
  13: [1, 70],
721
721
  15: [1, 71]
722
722
  },
723
- e(n, [2, 17], {
723
+ e(t, [2, 17], {
724
724
  63: 35,
725
725
  12: 72,
726
726
  17: [1, 73],
@@ -732,7 +732,7 @@ var parser = (function() {
732
732
  69: C
733
733
  }),
734
734
  { 19: [1, 74] },
735
- e(n, [2, 14]),
735
+ e(t, [2, 14]),
736
736
  {
737
737
  18: 75,
738
738
  19: [2, 59],
@@ -779,7 +779,7 @@ var parser = (function() {
779
779
  e(V, [2, 51]),
780
780
  e(V, [2, 52]),
781
781
  e(V, [2, 53]),
782
- e(n, [2, 41], { 42: j }),
782
+ e(t, [2, 41], { 42: j }),
783
783
  {
784
784
  6: I,
785
785
  10: L,
@@ -813,7 +813,7 @@ var parser = (function() {
813
813
  54: 54,
814
814
  58: D
815
815
  },
816
- e(n, [2, 12]),
816
+ e(t, [2, 12]),
817
817
  { 19: [2, 60] },
818
818
  e(G, [2, 61], {
819
819
  56: 97,
@@ -828,7 +828,7 @@ var parser = (function() {
828
828
  61,
829
829
  62
830
830
  ], [2, 66]),
831
- e(n, [2, 22], {
831
+ e(t, [2, 22], {
832
832
  15: [1, 103],
833
833
  17: [1, 102]
834
834
  }),
@@ -839,7 +839,7 @@ var parser = (function() {
839
839
  51,
840
840
  52
841
841
  ], [2, 71]),
842
- e(n, [2, 36]),
842
+ e(t, [2, 36]),
843
843
  {
844
844
  13: k,
845
845
  41: A,
@@ -848,17 +848,17 @@ var parser = (function() {
848
848
  48: M,
849
849
  49: N
850
850
  },
851
- e(n, [2, 47]),
852
- e(n, [2, 48]),
853
- e(n, [2, 49]),
851
+ e(t, [2, 47]),
852
+ e(t, [2, 48]),
853
+ e(t, [2, 49]),
854
854
  e(P, [2, 39]),
855
855
  e(P, [2, 40]),
856
856
  e(V, [2, 46]),
857
- e(n, [2, 42]),
858
- e(n, [2, 8]),
859
- e(n, [2, 79]),
860
- e(n, [2, 80]),
861
- e(n, [2, 81]),
857
+ e(t, [2, 42]),
858
+ e(t, [2, 8]),
859
+ e(t, [2, 79]),
860
+ e(t, [2, 80]),
861
+ e(t, [2, 81]),
862
862
  {
863
863
  13: [1, 105],
864
864
  42: j
@@ -868,7 +868,7 @@ var parser = (function() {
868
868
  15: [1, 106]
869
869
  },
870
870
  { 19: [1, 108] },
871
- e(n, [2, 15]),
871
+ e(t, [2, 15]),
872
872
  e(G, [2, 62], {
873
873
  57: 109,
874
874
  60: [1, 110],
@@ -914,26 +914,26 @@ var parser = (function() {
914
914
  50: U,
915
915
  72: W
916
916
  },
917
- e(n, [2, 13]),
917
+ e(t, [2, 13]),
918
918
  e(G, [2, 64]),
919
919
  {
920
920
  59: 117,
921
921
  61: K
922
922
  },
923
923
  { 19: [1, 118] },
924
- e(n, [2, 20]),
925
- e(n, [2, 23], {
924
+ e(t, [2, 20]),
925
+ e(t, [2, 23], {
926
926
  17: [1, 119],
927
927
  42: j
928
928
  }),
929
- e(n, [2, 11]),
929
+ e(t, [2, 11]),
930
930
  {
931
931
  13: [1, 120],
932
932
  42: j
933
933
  },
934
- e(n, [2, 10]),
934
+ e(t, [2, 10]),
935
935
  e(J, [2, 68]),
936
- e(n, [2, 18]),
936
+ e(t, [2, 18]),
937
937
  {
938
938
  18: 121,
939
939
  19: [1, 122],
@@ -948,9 +948,9 @@ var parser = (function() {
948
948
  72: W
949
949
  },
950
950
  { 19: [1, 124] },
951
- e(n, [2, 21]),
952
- e(n, [2, 9]),
953
- e(n, [2, 19])
951
+ e(t, [2, 21]),
952
+ e(t, [2, 9]),
953
+ e(t, [2, 19])
954
954
  ],
955
955
  defaultActions: {
956
956
  55: [2, 65],
@@ -964,7 +964,7 @@ var parser = (function() {
964
964
  }
965
965
  }, "parseError"),
966
966
  parse: /* @__PURE__ */ __name(function(e) {
967
- var n = this, r = [0], i = [], a = [null], o = [], s = this.table, c = "", l = 0, u = 0, d = 0, f = 2, p = 1, m = o.slice.call(arguments, 1), h = Object.create(this.lexer), g = { yy: {} };
967
+ var t = this, r = [0], i = [], a = [null], o = [], s = this.table, c = "", l = 0, u = 0, d = 0, f = 2, p = 1, m = o.slice.call(arguments, 1), h = Object.create(this.lexer), g = { yy: {} };
968
968
  for (var _ in this.yy) Object.prototype.hasOwnProperty.call(this.yy, _) && (g.yy[_] = this.yy[_]);
969
969
  h.setInput(e, g.yy), g.yy.lexer = h, g.yy.parser = this, h.yylloc === void 0 && (h.yylloc = {});
970
970
  var v = h.yylloc;
@@ -977,7 +977,7 @@ var parser = (function() {
977
977
  __name(b, "popStack");
978
978
  function x() {
979
979
  var e = i.pop() || h.lex() || p;
980
- return typeof e != "number" && (e instanceof Array && (i = e, e = i.pop()), e = n.symbols_[e] || e), e;
980
+ return typeof e != "number" && (e instanceof Array && (i = e, e = i.pop()), e = t.symbols_[e] || e), e;
981
981
  }
982
982
  __name(x, "lex");
983
983
  for (var S, C, w, T, E, D = {}, O, k, A, j;;) {
@@ -1471,11 +1471,11 @@ var erDiagram_default = parser, ErDB = class {
1471
1471
  return this.classes;
1472
1472
  }
1473
1473
  addAttributes(e, t) {
1474
- let r = this.addEntity(e), i;
1475
- for (i = t.length - 1; i >= 0; i--) t[i].keys || (t[i].keys = []), t[i].comment || (t[i].comment = ""), r.attributes.push(t[i]), log.debug("Added attribute ", t[i].name);
1474
+ let n = this.addEntity(e), i;
1475
+ for (i = t.length - 1; i >= 0; i--) t[i].keys || (t[i].keys = []), t[i].comment || (t[i].comment = ""), n.attributes.push(t[i]), log.debug("Added attribute ", t[i].name);
1476
1476
  }
1477
- addRelationship(e, t, r, i) {
1478
- let a = this.entities.get(e), o = this.entities.get(r);
1477
+ addRelationship(e, t, n, i) {
1478
+ let a = this.entities.get(e), o = this.entities.get(n);
1479
1479
  if (!a || !o) return;
1480
1480
  let s = {
1481
1481
  entityA: a.id,
@@ -1573,30 +1573,30 @@ var erDiagram_default = parser, ErDB = class {
1573
1573
  }
1574
1574
  }, erRenderer_unified_exports = {};
1575
1575
  __export(erRenderer_unified_exports, { draw: () => draw });
1576
- var draw = /* @__PURE__ */ __name(async function(e, t, r, i) {
1577
- log.info("REF0:"), log.info("Drawing er diagram (unified)", t);
1578
- let { securityLevel: a, er: o, layout: s } = getConfig2(), l = i.db.getData(), u = getDiagramElement(t, a);
1579
- l.type = i.type, l.layoutAlgorithm = getRegisteredLayoutAlgorithm(s), l.config.flowchart.nodeSpacing = o?.nodeSpacing || 140, l.config.flowchart.rankSpacing = o?.rankSpacing || 80, l.direction = i.db.getDirection();
1580
- let { config: d } = l, { look: f } = d;
1581
- f === "neo" ? l.markers = [
1576
+ var draw = /* @__PURE__ */ __name(async function(t, n, i, a) {
1577
+ log.info("REF0:"), log.info("Drawing er diagram (unified)", n);
1578
+ let { securityLevel: o, er: s, layout: c } = getConfig2(), u = a.db.getData(), d = getDiagramElement(n, o);
1579
+ u.type = a.type, u.layoutAlgorithm = getRegisteredLayoutAlgorithm(c), u.config.flowchart.nodeSpacing = s?.nodeSpacing || 140, u.config.flowchart.rankSpacing = s?.rankSpacing || 80, u.direction = a.db.getDirection();
1580
+ let { config: f } = u, { look: p } = f;
1581
+ p === "neo" ? u.markers = [
1582
1582
  "only_one_neo",
1583
1583
  "zero_or_one_neo",
1584
1584
  "one_or_more_neo",
1585
1585
  "zero_or_more_neo"
1586
- ] : l.markers = [
1586
+ ] : u.markers = [
1587
1587
  "only_one",
1588
1588
  "zero_or_one",
1589
1589
  "one_or_more",
1590
1590
  "zero_or_more"
1591
- ], l.diagramId = t, await render(l, u), l.layoutAlgorithm === "elk" && u.select(".edges").lower();
1592
- let m = u.selectAll("[id*=\"-background\"]");
1591
+ ], u.diagramId = n, await render(u, d), u.layoutAlgorithm === "elk" && d.select(".edges").lower();
1592
+ let m = d.selectAll("[id*=\"-background\"]");
1593
1593
  Array.from(m).length > 0 && m.each(function() {
1594
- let e = select_default(this), t = e.attr("id").replace("-background", ""), n = u.select(`#${CSS.escape(t)}`);
1595
- if (!n.empty()) {
1596
- let t = n.attr("transform");
1597
- e.attr("transform", t);
1594
+ let t = select_default(this), n = t.attr("id").replace("-background", ""), r = d.select(`#${CSS.escape(n)}`);
1595
+ if (!r.empty()) {
1596
+ let e = r.attr("transform");
1597
+ t.attr("transform", e);
1598
1598
  }
1599
- }), utils_default.insertTitle(u, "erDiagramTitleText", o?.titleTopMargin ?? 25, i.db.getDiagramTitle()), setupViewPortForSVG(u, 8, "erDiagram", o?.useMaxWidth ?? !0);
1599
+ }), utils_default.insertTitle(d, "erDiagramTitleText", s?.titleTopMargin ?? 25, a.db.getDiagramTitle()), setupViewPortForSVG(d, 8, "erDiagram", s?.useMaxWidth ?? !0);
1600
1600
  }, "draw"), fade = /* @__PURE__ */ __name((e, t) => {
1601
1601
  let n = channel_default;
1602
1602
  return rgba_default(n(e, "r"), n(e, "g"), n(e, "b"), t);