@wzh-/ai-chat-example 1.0.13 → 1.0.15

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 (49) hide show
  1. package/dist/css/index.css +1 -1
  2. package/dist/js/_baseFor.js +309 -0
  3. package/dist/js/architecture-U656AL7Q.js +3 -4
  4. package/dist/js/architectureDiagram-VXUJARFQ.js +53 -54
  5. package/dist/js/blockDiagram-VD42YOAC.js +449 -449
  6. package/dist/js/c4Diagram-YG6GDRKO.js +87 -87
  7. package/dist/js/chunk-B4BG7PRW.js +160 -160
  8. package/dist/js/chunk-DI55MBZ5.js +98 -98
  9. package/dist/js/chunk-FPAJGGOC.js +1373 -197
  10. package/dist/js/chunk-JA3XYJ7Z.js +36 -36
  11. package/dist/js/chunk-JZLCHNYA.js +1461 -1461
  12. package/dist/js/chunk-N4CR4FBY.js +5 -5
  13. package/dist/js/chunk-QXUST7PY.js +226 -226
  14. package/dist/js/chunk-S3R3BYOJ.js +602 -454
  15. package/dist/js/classDiagram-2ON5EDUG.js +2 -2
  16. package/dist/js/classDiagram-v2-WZHVMYZB.js +2 -2
  17. package/dist/js/clone.js +1 -1
  18. package/dist/js/dagre-6UL2VRFP.js +152 -152
  19. package/dist/js/dagre.js +1034 -933
  20. package/dist/js/diagram-PSM6KHXK.js +58 -59
  21. package/dist/js/diagram-QEK2KX5R.js +53 -54
  22. package/dist/js/diagram-S2PKOQOG.js +24 -25
  23. package/dist/js/erDiagram-Q2GNP2WA.js +96 -96
  24. package/dist/js/flatten.js +34 -0
  25. package/dist/js/flowDiagram-NV44I4VS.js +166 -166
  26. package/dist/js/ganttDiagram-JELNMOA3.js +916 -916
  27. package/dist/js/gitGraph-F6HP7TQM.js +3 -4
  28. package/dist/js/gitGraphDiagram-NY62KEGX.js +373 -374
  29. package/dist/js/graphlib.js +264 -143
  30. package/dist/js/index.js +3280 -3266
  31. package/dist/js/info-NVLQJR56.js +3 -4
  32. package/dist/js/infoDiagram-WHAUD3N6.js +3 -4
  33. package/dist/js/isEmpty.js +18 -18
  34. package/dist/js/kanban-definition-3W4ZIXB7.js +2 -2
  35. package/dist/js/line.js +7 -7
  36. package/dist/js/mermaid.core.js +65 -65
  37. package/dist/js/mindmap-definition-VGOIOE7T.js +2 -2
  38. package/dist/js/packet-BFZMPI3H.js +3 -4
  39. package/dist/js/pie-7BOR55EZ.js +3 -4
  40. package/dist/js/pieDiagram-ADFJNKIX.js +39 -40
  41. package/dist/js/radar-NHE76QYJ.js +3 -4
  42. package/dist/js/reduce.js +451 -0
  43. package/dist/js/requirementDiagram-UZGBJVZJ.js +16 -16
  44. package/dist/js/sequenceDiagram-WL72ISMW.js +731 -731
  45. package/dist/js/stateDiagram-FKZM4ZOC.js +83 -83
  46. package/dist/js/stateDiagram-v2-4FDKWEC3.js +2 -2
  47. package/dist/js/treemap-KMMF4GRG.js +3 -4
  48. package/dist/js/xychartDiagram-PRI3JC2R.js +25 -25
  49. package/package.json +14 -7
@@ -1,11 +1,11 @@
1
1
  import "./marked.esm.js";
2
- import "./isArrayLikeObject.js";
3
- import "./chunk-S3R3BYOJ.js";
2
+ import "./_baseFor.js";
4
3
  import { h as __name } from "./src.js";
5
4
  import "./chunk-ABZYJK2D.js";
6
5
  import "./path.js";
7
6
  import "./math.js";
8
7
  import "./array.js";
8
+ import "./chunk-S3R3BYOJ.js";
9
9
  import "./line.js";
10
10
  import "./dist.js";
11
11
  import "./chunk-JA3XYJ7Z.js";
@@ -1,11 +1,11 @@
1
1
  import "./marked.esm.js";
2
- import "./isArrayLikeObject.js";
3
- import "./chunk-S3R3BYOJ.js";
2
+ import "./_baseFor.js";
4
3
  import { h as __name } from "./src.js";
5
4
  import "./chunk-ABZYJK2D.js";
6
5
  import "./path.js";
7
6
  import "./math.js";
8
7
  import "./array.js";
8
+ import "./chunk-S3R3BYOJ.js";
9
9
  import "./line.js";
10
10
  import "./dist.js";
11
11
  import "./chunk-JA3XYJ7Z.js";
package/dist/js/clone.js CHANGED
@@ -1,4 +1,4 @@
1
- import { y as _baseClone_default } from "./_baseUniq.js";
1
+ import { i as _baseClone_default } from "./graphlib.js";
2
2
  var CLONE_SYMBOLS_FLAG = 4;
3
3
  function clone(r) {
4
4
  return _baseClone_default(r, CLONE_SYMBOLS_FLAG);
@@ -1,81 +1,81 @@
1
1
  import "./marked.esm.js";
2
- import "./isArrayLikeObject.js";
3
- import { r as isUndefined_default } from "./_baseUniq.js";
4
- import { s as map_default } from "./_basePickBy.js";
2
+ import "./reduce.js";
3
+ import "./_baseFor.js";
5
4
  import "./isEmpty.js";
6
- import { t as layout } from "./dagre.js";
7
- import "./chunk-S3R3BYOJ.js";
8
- import { t as clone_default } from "./clone.js";
9
- import { t as Graph } from "./graphlib.js";
5
+ import { a as map_default } from "./flatten.js";
10
6
  import { g as log, h as __name } from "./src.js";
11
7
  import { b as getConfig2 } from "./chunk-ABZYJK2D.js";
12
8
  import "./path.js";
13
9
  import "./math.js";
14
10
  import "./array.js";
11
+ import "./chunk-S3R3BYOJ.js";
15
12
  import "./line.js";
16
13
  import "./dist.js";
17
14
  import "./chunk-JA3XYJ7Z.js";
18
15
  import "./chunk-HN2XXSSU.js";
19
16
  import { t as getSubGraphTitleMargins } from "./chunk-CVBHYZKI.js";
17
+ import { n as isUndefined_default, t as Graph } from "./graphlib.js";
18
+ import { t as clone_default } from "./clone.js";
19
+ import { t as layout } from "./dagre.js";
20
20
  import "./chunk-ATLVNIR6.js";
21
21
  import { a as insertNode, c as positionNode, i as insertCluster, l as setNodeElem, n as clear2, t as clear$1, u as updateNodeBounds } from "./chunk-JZLCHNYA.js";
22
22
  import { a as positionEdgeLabel, i as markers_default, n as insertEdge, r as insertEdgeLabel, t as clear } from "./chunk-QXUST7PY.js";
23
- function write(C) {
24
- var w = {
23
+ function write(r) {
24
+ var C = {
25
25
  options: {
26
- directed: C.isDirected(),
27
- multigraph: C.isMultigraph(),
28
- compound: C.isCompound()
26
+ directed: r.isDirected(),
27
+ multigraph: r.isMultigraph(),
28
+ compound: r.isCompound()
29
29
  },
30
- nodes: writeNodes(C),
31
- edges: writeEdges(C)
30
+ nodes: writeNodes(r),
31
+ edges: writeEdges(r)
32
32
  };
33
- return isUndefined_default(C.graph()) || (w.value = clone_default(C.graph())), w;
33
+ return isUndefined_default(r.graph()) || (C.value = clone_default(r.graph())), C;
34
34
  }
35
- function writeNodes(w) {
36
- return map_default(w.nodes(), function(C) {
37
- var T = w.node(C), E = w.parent(C), D = { v: C };
38
- return isUndefined_default(T) || (D.value = T), isUndefined_default(E) || (D.parent = E), D;
35
+ function writeNodes(C) {
36
+ return map_default(C.nodes(), function(r) {
37
+ var w = C.node(r), T = C.parent(r), E = { v: r };
38
+ return isUndefined_default(w) || (E.value = w), isUndefined_default(T) || (E.parent = T), E;
39
39
  });
40
40
  }
41
- function writeEdges(w) {
42
- return map_default(w.edges(), function(C) {
43
- var T = w.edge(C), E = {
44
- v: C.v,
45
- w: C.w
41
+ function writeEdges(C) {
42
+ return map_default(C.edges(), function(r) {
43
+ var w = C.edge(r), T = {
44
+ v: r.v,
45
+ w: r.w
46
46
  };
47
- return isUndefined_default(C.name) || (E.name = C.name), isUndefined_default(T) || (E.value = T), E;
47
+ return isUndefined_default(r.name) || (T.name = r.name), isUndefined_default(w) || (T.value = w), T;
48
48
  });
49
49
  }
50
50
  var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map(), parents = /* @__PURE__ */ new Map(), clear4 = /* @__PURE__ */ __name(() => {
51
51
  descendants.clear(), parents.clear(), clusterDb.clear();
52
- }, "clear"), isDescendant = /* @__PURE__ */ __name((r, C) => {
53
- let w = descendants.get(C) || [];
54
- return log.trace("In isDescendant", C, " ", r, " = ", w.includes(r)), w.includes(r);
55
- }, "isDescendant"), edgeInCluster = /* @__PURE__ */ __name((r, C) => {
56
- let w = descendants.get(C) || [];
57
- return log.info("Descendants of ", C, " is ", w), log.info("Edge is ", r), r.v === C || r.w === C ? !1 : w ? w.includes(r.v) || isDescendant(r.v, C) || isDescendant(r.w, C) || w.includes(r.w) : (log.debug("Tilt, ", C, ",not in descendants"), !1);
58
- }, "edgeInCluster"), copy = /* @__PURE__ */ __name((r, C, w, T) => {
59
- log.warn("Copying children of ", r, "root", T, "data", C.node(r), T);
60
- let E = C.children(r) || [];
61
- r !== T && E.push(r), log.warn("Copying (nodes) clusterId", r, "nodes", E), E.forEach((E) => {
62
- if (C.children(E).length > 0) copy(E, C, w, T);
52
+ }, "clear"), isDescendant = /* @__PURE__ */ __name((r, w) => {
53
+ let T = descendants.get(w) || [];
54
+ return log.trace("In isDescendant", w, " ", r, " = ", T.includes(r)), T.includes(r);
55
+ }, "isDescendant"), edgeInCluster = /* @__PURE__ */ __name((r, w) => {
56
+ let T = descendants.get(w) || [];
57
+ return log.info("Descendants of ", w, " is ", T), log.info("Edge is ", r), r.v === w || r.w === w ? !1 : T ? T.includes(r.v) || isDescendant(r.v, w) || isDescendant(r.w, w) || T.includes(r.w) : (log.debug("Tilt, ", w, ",not in descendants"), !1);
58
+ }, "edgeInCluster"), copy = /* @__PURE__ */ __name((r, w, T, E) => {
59
+ log.warn("Copying children of ", r, "root", E, "data", w.node(r), E);
60
+ let D = w.children(r) || [];
61
+ r !== E && D.push(r), log.warn("Copying (nodes) clusterId", r, "nodes", D), D.forEach((D) => {
62
+ if (w.children(D).length > 0) copy(D, w, T, E);
63
63
  else {
64
- let O = C.node(E);
65
- log.info("cp ", E, " to ", T, " with parent ", r), w.setNode(E, O), T !== C.parent(E) && (log.warn("Setting parent", E, C.parent(E)), w.setParent(E, C.parent(E))), r !== T && E !== r ? (log.debug("Setting parent", E, r), w.setParent(E, r)) : (log.info("In copy ", r, "root", T, "data", C.node(r), T), log.debug("Not Setting parent for node=", E, "cluster!==rootId", r !== T, "node!==clusterId", E !== r));
66
- let k = C.edges(E);
67
- log.debug("Copying Edges", k), k.forEach((E) => {
68
- log.info("Edge", E);
69
- let O = C.edge(E.v, E.w, E.name);
70
- log.info("Edge data", O, T);
64
+ let O = w.node(D);
65
+ log.info("cp ", D, " to ", E, " with parent ", r), T.setNode(D, O), E !== w.parent(D) && (log.warn("Setting parent", D, w.parent(D)), T.setParent(D, w.parent(D))), r !== E && D !== r ? (log.debug("Setting parent", D, r), T.setParent(D, r)) : (log.info("In copy ", r, "root", E, "data", w.node(r), E), log.debug("Not Setting parent for node=", D, "cluster!==rootId", r !== E, "node!==clusterId", D !== r));
66
+ let k = w.edges(D);
67
+ log.debug("Copying Edges", k), k.forEach((D) => {
68
+ log.info("Edge", D);
69
+ let O = w.edge(D.v, D.w, D.name);
70
+ log.info("Edge data", O, E);
71
71
  try {
72
- edgeInCluster(E, T) ? (log.info("Copying as ", E.v, E.w, O, E.name), w.setEdge(E.v, E.w, O, E.name), log.info("newGraph edges ", w.edges(), w.edge(w.edges()[0]))) : log.info("Skipping copy of edge ", E.v, "-->", E.w, " rootId: ", T, " clusterId:", r);
72
+ edgeInCluster(D, E) ? (log.info("Copying as ", D.v, D.w, O, D.name), T.setEdge(D.v, D.w, O, D.name), log.info("newGraph edges ", T.edges(), T.edge(T.edges()[0]))) : log.info("Skipping copy of edge ", D.v, "-->", D.w, " rootId: ", E, " clusterId:", r);
73
73
  } catch (r) {
74
74
  log.error(r);
75
75
  }
76
76
  });
77
77
  }
78
- log.debug("Removing node", E), C.removeNode(E);
78
+ log.debug("Removing node", D), w.removeNode(D);
79
79
  });
80
80
  }, "copy"), extractDescendants = /* @__PURE__ */ __name((r, C) => {
81
81
  let w = C.children(r), T = [...w];
@@ -90,77 +90,77 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
90
90
  w: r.w
91
91
  }));
92
92
  return D.filter((r) => O.some((C) => r.v === C.v && r.w === C.w));
93
- }, "findCommonEdges"), findNonClusterChild = /* @__PURE__ */ __name((r, C, w) => {
94
- let T = C.children(r);
95
- if (log.trace("Searching children of id ", r, T), T.length < 1) return r;
96
- let E;
97
- for (let r of T) {
98
- let T = findNonClusterChild(r, C, w), D = findCommonEdges(C, w, T);
99
- if (T) if (D.length > 0) E = T;
100
- else return T;
93
+ }, "findCommonEdges"), findNonClusterChild = /* @__PURE__ */ __name((r, w, T) => {
94
+ let E = w.children(r);
95
+ if (log.trace("Searching children of id ", r, E), E.length < 1) return r;
96
+ let D;
97
+ for (let r of E) {
98
+ let C = findNonClusterChild(r, w, T), E = findCommonEdges(w, T, C);
99
+ if (C) if (E.length > 0) D = C;
100
+ else return C;
101
101
  }
102
- return E;
103
- }, "findNonClusterChild"), getAnchorId = /* @__PURE__ */ __name((r) => !clusterDb.has(r) || !clusterDb.get(r).externalConnections ? r : clusterDb.has(r) ? clusterDb.get(r).id : r, "getAnchorId"), adjustClustersAndEdges = /* @__PURE__ */ __name((r, C) => {
104
- if (!r || C > 10) {
102
+ return D;
103
+ }, "findNonClusterChild"), getAnchorId = /* @__PURE__ */ __name((r) => !clusterDb.has(r) || !clusterDb.get(r).externalConnections ? r : clusterDb.has(r) ? clusterDb.get(r).id : r, "getAnchorId"), adjustClustersAndEdges = /* @__PURE__ */ __name((r, w) => {
104
+ if (!r || w > 10) {
105
105
  log.debug("Opting out, no graph ");
106
106
  return;
107
107
  } else log.debug("Opting in, graph ");
108
- r.nodes().forEach(function(C) {
109
- r.children(C).length > 0 && (log.warn("Cluster identified", C, " Replacement id in edges: ", findNonClusterChild(C, r, C)), descendants.set(C, extractDescendants(C, r)), clusterDb.set(C, {
110
- id: findNonClusterChild(C, r, C),
111
- clusterData: r.node(C)
108
+ r.nodes().forEach(function(w) {
109
+ r.children(w).length > 0 && (log.warn("Cluster identified", w, " Replacement id in edges: ", findNonClusterChild(w, r, w)), descendants.set(w, extractDescendants(w, r)), clusterDb.set(w, {
110
+ id: findNonClusterChild(w, r, w),
111
+ clusterData: r.node(w)
112
112
  }));
113
- }), r.nodes().forEach(function(C) {
114
- let w = r.children(C), T = r.edges();
115
- w.length > 0 ? (log.debug("Cluster identified", C, descendants), T.forEach((r) => {
116
- isDescendant(r.v, C) ^ isDescendant(r.w, C) && (log.warn("Edge: ", r, " leaves cluster ", C), log.warn("Descendants of XXX ", C, ": ", descendants.get(C)), clusterDb.get(C).externalConnections = !0);
117
- })) : log.debug("Not a cluster ", C, descendants);
113
+ }), r.nodes().forEach(function(w) {
114
+ let T = r.children(w), E = r.edges();
115
+ T.length > 0 ? (log.debug("Cluster identified", w, descendants), E.forEach((r) => {
116
+ isDescendant(r.v, w) ^ isDescendant(r.w, w) && (log.warn("Edge: ", r, " leaves cluster ", w), log.warn("Descendants of XXX ", w, ": ", descendants.get(w)), clusterDb.get(w).externalConnections = !0);
117
+ })) : log.debug("Not a cluster ", w, descendants);
118
118
  });
119
119
  for (let C of clusterDb.keys()) {
120
120
  let w = clusterDb.get(C).id, T = r.parent(w);
121
121
  T !== C && clusterDb.has(T) && !clusterDb.get(T).externalConnections && (clusterDb.get(C).id = T);
122
122
  }
123
- r.edges().forEach(function(C) {
124
- let w = r.edge(C);
125
- log.warn("Edge " + C.v + " -> " + C.w + ": " + JSON.stringify(C)), log.warn("Edge " + C.v + " -> " + C.w + ": " + JSON.stringify(r.edge(C)));
126
- let T = C.v, E = C.w;
127
- if (log.warn("Fix XXX", clusterDb, "ids:", C.v, C.w, "Translating: ", clusterDb.get(C.v), " --- ", clusterDb.get(C.w)), clusterDb.get(C.v) || clusterDb.get(C.w)) {
128
- if (log.warn("Fixing and trying - removing XXX", C.v, C.w, C.name), T = getAnchorId(C.v), E = getAnchorId(C.w), r.removeEdge(C.v, C.w, C.name), T !== C.v) {
129
- let E = r.parent(T);
130
- clusterDb.get(E).externalConnections = !0, w.fromCluster = C.v;
123
+ r.edges().forEach(function(w) {
124
+ let T = r.edge(w);
125
+ log.warn("Edge " + w.v + " -> " + w.w + ": " + JSON.stringify(w)), log.warn("Edge " + w.v + " -> " + w.w + ": " + JSON.stringify(r.edge(w)));
126
+ let E = w.v, D = w.w;
127
+ if (log.warn("Fix XXX", clusterDb, "ids:", w.v, w.w, "Translating: ", clusterDb.get(w.v), " --- ", clusterDb.get(w.w)), clusterDb.get(w.v) || clusterDb.get(w.w)) {
128
+ if (log.warn("Fixing and trying - removing XXX", w.v, w.w, w.name), E = getAnchorId(w.v), D = getAnchorId(w.w), r.removeEdge(w.v, w.w, w.name), E !== w.v) {
129
+ let C = r.parent(E);
130
+ clusterDb.get(C).externalConnections = !0, T.fromCluster = w.v;
131
131
  }
132
- if (E !== C.w) {
133
- let T = r.parent(E);
134
- clusterDb.get(T).externalConnections = !0, w.toCluster = C.w;
132
+ if (D !== w.w) {
133
+ let C = r.parent(D);
134
+ clusterDb.get(C).externalConnections = !0, T.toCluster = w.w;
135
135
  }
136
- log.warn("Fix Replacing with XXX", T, E, C.name), r.setEdge(T, E, w, C.name);
136
+ log.warn("Fix Replacing with XXX", E, D, w.name), r.setEdge(E, D, T, w.name);
137
137
  }
138
138
  }), log.warn("Adjusted Graph", write(r)), extractor(r, 0), log.trace(clusterDb);
139
- }, "adjustClustersAndEdges"), extractor = /* @__PURE__ */ __name((r, C) => {
140
- if (log.warn("extractor - ", C, write(r), r.children("D")), C > 10) {
139
+ }, "adjustClustersAndEdges"), extractor = /* @__PURE__ */ __name((r, w) => {
140
+ if (log.warn("extractor - ", w, write(r), r.children("D")), w > 10) {
141
141
  log.error("Bailing out");
142
142
  return;
143
143
  }
144
- let w = r.nodes(), T = !1;
145
- for (let C of w) {
144
+ let T = r.nodes(), E = !1;
145
+ for (let C of T) {
146
146
  let w = r.children(C);
147
- T ||= w.length > 0;
147
+ E ||= w.length > 0;
148
148
  }
149
- if (!T) {
149
+ if (!E) {
150
150
  log.debug("Done, no node has children", r.nodes());
151
151
  return;
152
152
  }
153
- log.debug("Nodes = ", w, C);
154
- for (let T of w) if (log.debug("Extracting node", T, clusterDb, clusterDb.has(T) && !clusterDb.get(T).externalConnections, !r.parent(T), r.node(T), r.children("D"), " Depth ", C), !clusterDb.has(T)) log.debug("Not a cluster", T, C);
155
- else if (!clusterDb.get(T).externalConnections && r.children(T) && r.children(T).length > 0) {
156
- log.warn("Cluster without external connections, without a parent and with children", T, C);
157
- let w = r.graph().rankdir === "TB" ? "LR" : "TB";
158
- clusterDb.get(T)?.clusterData?.dir && (w = clusterDb.get(T).clusterData.dir, log.warn("Fixing dir", clusterDb.get(T).clusterData.dir, w));
159
- let O = new Graph({
153
+ log.debug("Nodes = ", T, w);
154
+ for (let E of T) if (log.debug("Extracting node", E, clusterDb, clusterDb.has(E) && !clusterDb.get(E).externalConnections, !r.parent(E), r.node(E), r.children("D"), " Depth ", w), !clusterDb.has(E)) log.debug("Not a cluster", E, w);
155
+ else if (!clusterDb.get(E).externalConnections && r.children(E) && r.children(E).length > 0) {
156
+ log.warn("Cluster without external connections, without a parent and with children", E, w);
157
+ let T = r.graph().rankdir === "TB" ? "LR" : "TB";
158
+ clusterDb.get(E)?.clusterData?.dir && (T = clusterDb.get(E).clusterData.dir, log.warn("Fixing dir", clusterDb.get(E).clusterData.dir, T));
159
+ let D = new Graph({
160
160
  multigraph: !0,
161
161
  compound: !0
162
162
  }).setGraph({
163
- rankdir: w,
163
+ rankdir: T,
164
164
  nodesep: 50,
165
165
  ranksep: 50,
166
166
  marginx: 8,
@@ -168,18 +168,18 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
168
168
  }).setDefaultEdgeLabel(function() {
169
169
  return {};
170
170
  });
171
- log.warn("Old graph before copy", write(r)), copy(T, r, O, T), r.setNode(T, {
171
+ log.warn("Old graph before copy", write(r)), copy(E, r, D, E), r.setNode(E, {
172
172
  clusterNode: !0,
173
- id: T,
174
- clusterData: clusterDb.get(T).clusterData,
175
- label: clusterDb.get(T).label,
176
- graph: O
177
- }), log.warn("New graph after copy node: (", T, ")", write(O)), log.debug("Old graph after copy", write(r));
178
- } else log.warn("Cluster ** ", T, " **not meeting the criteria !externalConnections:", !clusterDb.get(T).externalConnections, " no parent: ", !r.parent(T), " children ", r.children(T) && r.children(T).length > 0, r.children("D"), C), log.debug(clusterDb);
179
- w = r.nodes(), log.warn("New list of nodes", w);
180
- for (let T of w) {
181
- let w = r.node(T);
182
- log.warn(" Now next level", T, w), w?.clusterNode && extractor(w.graph, C + 1);
173
+ id: E,
174
+ clusterData: clusterDb.get(E).clusterData,
175
+ label: clusterDb.get(E).label,
176
+ graph: D
177
+ }), log.warn("New graph after copy node: (", E, ")", write(D)), log.debug("Old graph after copy", write(r));
178
+ } else log.warn("Cluster ** ", E, " **not meeting the criteria !externalConnections:", !clusterDb.get(E).externalConnections, " no parent: ", !r.parent(E), " children ", r.children(E) && r.children(E).length > 0, r.children("D"), w), log.debug(clusterDb);
179
+ T = r.nodes(), log.warn("New list of nodes", T);
180
+ for (let E of T) {
181
+ let T = r.node(E);
182
+ log.warn(" Now next level", E, T), T?.clusterNode && extractor(T.graph, w + 1);
183
183
  }
184
184
  }, "extractor"), sorter = /* @__PURE__ */ __name((r, C) => {
185
185
  if (C.length === 0) return [];
@@ -188,67 +188,67 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
188
188
  let T = sorter(r, r.children(C));
189
189
  w = [...w, ...T];
190
190
  }), w;
191
- }, "sorter"), sortNodesByHierarchy = /* @__PURE__ */ __name((r) => sorter(r, r.children()), "sortNodesByHierarchy"), recursiveRender = /* @__PURE__ */ __name(async (r, C, T, E, k, M) => {
192
- log.warn("Graph in recursive render:XAX", write(C), k);
193
- let N = C.graph().rankdir;
191
+ }, "sorter"), sortNodesByHierarchy = /* @__PURE__ */ __name((r) => sorter(r, r.children()), "sortNodesByHierarchy"), recursiveRender = /* @__PURE__ */ __name(async (r, T, D, O, k, M) => {
192
+ log.warn("Graph in recursive render:XAX", write(T), k);
193
+ let N = T.graph().rankdir;
194
194
  log.trace("Dir in recursive render - dir:", N);
195
195
  let P = r.insert("g").attr("class", "root");
196
- C.nodes() ? log.info("Recursive render XXX", C.nodes()) : log.info("No nodes found for", C), C.edges().length > 0 && log.info("Recursive edges", C.edge(C.edges()[0]));
196
+ T.nodes() ? log.info("Recursive render XXX", T.nodes()) : log.info("No nodes found for", T), T.edges().length > 0 && log.info("Recursive edges", T.edge(T.edges()[0]));
197
197
  let F = P.insert("g").attr("class", "clusters"), I = P.insert("g").attr("class", "edgePaths"), L = P.insert("g").attr("class", "edgeLabels"), R = P.insert("g").attr("class", "nodes");
198
- await Promise.all(C.nodes().map(async function(r) {
199
- let w = C.node(r);
198
+ await Promise.all(T.nodes().map(async function(r) {
199
+ let w = T.node(r);
200
200
  if (k !== void 0) {
201
201
  let w = JSON.parse(JSON.stringify(k.clusterData));
202
- log.trace("Setting data for parent cluster XXX\n Node.id = ", r, "\n data=", w.height, "\nParent cluster", k.height), C.setNode(k.id, w), C.parent(r) || (log.trace("Setting parent", r, k.id), C.setParent(r, k.id, w));
202
+ log.trace("Setting data for parent cluster XXX\n Node.id = ", r, "\n data=", w.height, "\nParent cluster", k.height), T.setNode(k.id, w), T.parent(r) || (log.trace("Setting parent", r, k.id), T.setParent(r, k.id, w));
203
203
  }
204
- if (log.info("(Insert) Node XXX" + r + ": " + JSON.stringify(C.node(r))), w?.clusterNode) {
205
- log.info("Cluster identified XBX", r, w.width, C.node(r));
206
- let { ranksep: O, nodesep: k } = C.graph();
204
+ if (log.info("(Insert) Node XXX" + r + ": " + JSON.stringify(T.node(r))), w?.clusterNode) {
205
+ log.info("Cluster identified XBX", r, w.width, T.node(r));
206
+ let { ranksep: E, nodesep: k } = T.graph();
207
207
  w.graph.setGraph({
208
208
  ...w.graph.graph(),
209
- ranksep: O + 25,
209
+ ranksep: E + 25,
210
210
  nodesep: k
211
211
  });
212
- let A = await recursiveRender(R, w.graph, T, E, C.node(r), M), j = A.elem;
212
+ let A = await recursiveRender(R, w.graph, D, O, T.node(r), M), j = A.elem;
213
213
  updateNodeBounds(w, j), w.diff = A.diff || 0, log.info("New compound node after recursive render XAX", r, "width", w.width, "height", w.height), setNodeElem(j, w);
214
- } else C.children(r).length > 0 ? (log.trace("Cluster - the non recursive path XBX", r, w.id, w, w.width, "Graph:", C), log.trace(findNonClusterChild(w.id, C)), clusterDb.set(w.id, {
215
- id: findNonClusterChild(w.id, C),
214
+ } else T.children(r).length > 0 ? (log.trace("Cluster - the non recursive path XBX", r, w.id, w, w.width, "Graph:", T), log.trace(findNonClusterChild(w.id, T)), clusterDb.set(w.id, {
215
+ id: findNonClusterChild(w.id, T),
216
216
  node: w
217
- })) : (log.trace("Node - the non recursive path XAX", r, R, C.node(r), N), await insertNode(R, C.node(r), {
217
+ })) : (log.trace("Node - the non recursive path XAX", r, R, T.node(r), N), await insertNode(R, T.node(r), {
218
218
  config: M,
219
219
  dir: N
220
220
  }));
221
221
  })), await (/* @__PURE__ */ __name(async () => {
222
- let r = C.edges().map(async function(r) {
223
- let w = C.edge(r.v, r.w, r.name);
224
- log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(r)), log.info("Edge " + r.v + " -> " + r.w + ": ", r, " ", JSON.stringify(C.edge(r))), log.info("Fix", clusterDb, "ids:", r.v, r.w, "Translating: ", clusterDb.get(r.v), clusterDb.get(r.w)), await insertEdgeLabel(L, w);
222
+ let r = T.edges().map(async function(r) {
223
+ let w = T.edge(r.v, r.w, r.name);
224
+ log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(r)), log.info("Edge " + r.v + " -> " + r.w + ": ", r, " ", JSON.stringify(T.edge(r))), log.info("Fix", clusterDb, "ids:", r.v, r.w, "Translating: ", clusterDb.get(r.v), clusterDb.get(r.w)), await insertEdgeLabel(L, w);
225
225
  });
226
226
  await Promise.all(r);
227
- }, "processEdges"))(), log.info("Graph before layout:", JSON.stringify(write(C))), log.info("############################################# XXX"), log.info("### Layout ### XXX"), log.info("############################################# XXX"), layout(C), log.info("Graph after layout:", JSON.stringify(write(C)));
227
+ }, "processEdges"))(), log.info("Graph before layout:", JSON.stringify(write(T))), log.info("############################################# XXX"), log.info("### Layout ### XXX"), log.info("############################################# XXX"), layout(T), log.info("Graph after layout:", JSON.stringify(write(T)));
228
228
  let z = 0, { subGraphTitleTotalMargin: B } = getSubGraphTitleMargins(M);
229
- return await Promise.all(sortNodesByHierarchy(C).map(async function(r) {
230
- let w = C.node(r);
231
- if (log.info("Position XBX => " + r + ": (" + w.x, "," + w.y, ") width: ", w.width, " height: ", w.height), w?.clusterNode) w.y += B, log.info("A tainted cluster node XBX1", r, w.id, w.width, w.height, w.x, w.y, C.parent(r)), clusterDb.get(w.id).node = w, positionNode(w);
232
- else if (C.children(r).length > 0) {
233
- log.info("A pure cluster node XBX1", r, w.id, w.x, w.y, w.width, w.height, C.parent(r)), w.height += B, C.node(w.parentId);
234
- let T = w?.padding / 2 || 0, E = w?.labelBBox?.height || 0, O = E - T || 0;
235
- log.debug("OffsetY", O, "labelHeight", E, "halfPadding", T), await insertCluster(F, w), clusterDb.get(w.id).node = w;
229
+ return await Promise.all(sortNodesByHierarchy(T).map(async function(r) {
230
+ let w = T.node(r);
231
+ if (log.info("Position XBX => " + r + ": (" + w.x, "," + w.y, ") width: ", w.width, " height: ", w.height), w?.clusterNode) w.y += B, log.info("A tainted cluster node XBX1", r, w.id, w.width, w.height, w.x, w.y, T.parent(r)), clusterDb.get(w.id).node = w, positionNode(w);
232
+ else if (T.children(r).length > 0) {
233
+ log.info("A pure cluster node XBX1", r, w.id, w.x, w.y, w.width, w.height, T.parent(r)), w.height += B, T.node(w.parentId);
234
+ let E = w?.padding / 2 || 0, D = w?.labelBBox?.height || 0, O = D - E || 0;
235
+ log.debug("OffsetY", O, "labelHeight", D, "halfPadding", E), await insertCluster(F, w), clusterDb.get(w.id).node = w;
236
236
  } else {
237
- let r = C.node(w.parentId);
237
+ let r = T.node(w.parentId);
238
238
  w.y += B / 2, log.info("A regular node XBX1 - using the padding", w.id, "parent", w.parentId, w.width, w.height, w.x, w.y, "offsetY", w.offsetY, "parent", r, r?.offsetY, w), positionNode(w);
239
239
  }
240
- })), C.edges().forEach(function(r) {
241
- let w = C.edge(r);
242
- log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(w), w), w.points.forEach((r) => r.y += B / 2), positionEdgeLabel(w, insertEdge(I, w, clusterDb, T, C.node(r.v), C.node(r.w), E));
243
- }), C.nodes().forEach(function(r) {
244
- let w = C.node(r);
240
+ })), T.edges().forEach(function(r) {
241
+ let w = T.edge(r);
242
+ log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(w), w), w.points.forEach((r) => r.y += B / 2), positionEdgeLabel(w, insertEdge(I, w, clusterDb, D, T.node(r.v), T.node(r.w), O));
243
+ }), T.nodes().forEach(function(r) {
244
+ let w = T.node(r);
245
245
  log.info(r, w.type, w.diff), w.isGroup && (z = w.diff);
246
246
  }), log.warn("Returning from recursive render XAX", P, z), {
247
247
  elem: P,
248
248
  diff: z
249
249
  };
250
- }, "recursiveRender"), render = /* @__PURE__ */ __name(async (r, C) => {
251
- let w = new Graph({
250
+ }, "recursiveRender"), render = /* @__PURE__ */ __name(async (r, w) => {
251
+ let E = new Graph({
252
252
  multigraph: !0,
253
253
  compound: !0
254
254
  }).setGraph({
@@ -259,15 +259,15 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
259
259
  marginy: 8
260
260
  }).setDefaultEdgeLabel(function() {
261
261
  return {};
262
- }), T = C.select("g");
263
- markers_default(T, r.markers, r.type, r.diagramId), clear2(), clear(), clear$1(), clear4(), r.nodes.forEach((r) => {
264
- w.setNode(r.id, { ...r }), r.parentId && w.setParent(r.id, r.parentId);
262
+ }), D = w.select("g");
263
+ markers_default(D, r.markers, r.type, r.diagramId), clear2(), clear(), clear$1(), clear4(), r.nodes.forEach((r) => {
264
+ E.setNode(r.id, { ...r }), r.parentId && E.setParent(r.id, r.parentId);
265
265
  }), log.debug("Edges:", r.edges), r.edges.forEach((r) => {
266
266
  if (r.start === r.end) {
267
- let C = r.start, T = C + "---" + C + "---1", E = C + "---" + C + "---2", D = w.node(C);
268
- w.setNode(T, {
269
- domId: T,
270
- id: T,
267
+ let C = r.start, w = C + "---" + C + "---1", T = C + "---" + C + "---2", D = E.node(C);
268
+ E.setNode(w, {
269
+ domId: w,
270
+ id: w,
271
271
  parentId: D.parentId,
272
272
  labelStyle: "",
273
273
  label: "",
@@ -276,9 +276,9 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
276
276
  style: "",
277
277
  width: 10,
278
278
  height: 10
279
- }), w.setParent(T, D.parentId), w.setNode(E, {
280
- domId: E,
281
- id: E,
279
+ }), E.setParent(w, D.parentId), E.setNode(T, {
280
+ domId: T,
281
+ id: T,
282
282
  parentId: D.parentId,
283
283
  labelStyle: "",
284
284
  padding: 0,
@@ -287,12 +287,12 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
287
287
  style: "",
288
288
  width: 10,
289
289
  height: 10
290
- }), w.setParent(E, D.parentId);
290
+ }), E.setParent(T, D.parentId);
291
291
  let O = structuredClone(r), k = structuredClone(r), A = structuredClone(r);
292
- O.label = "", O.arrowTypeEnd = "none", O.id = C + "-cyclic-special-1", k.arrowTypeStart = "none", k.arrowTypeEnd = "none", k.id = C + "-cyclic-special-mid", A.label = "", D.isGroup && (O.fromCluster = C, A.toCluster = C), A.id = C + "-cyclic-special-2", A.arrowTypeStart = "none", w.setEdge(C, T, O, C + "-cyclic-special-0"), w.setEdge(T, E, k, C + "-cyclic-special-1"), w.setEdge(E, C, A, C + "-cyc<lic-special-2");
293
- } else w.setEdge(r.start, r.end, { ...r }, r.id);
294
- }), log.warn("Graph at first:", JSON.stringify(write(w))), adjustClustersAndEdges(w), log.warn("Graph after XAX:", JSON.stringify(write(w)));
295
- let O = getConfig2();
296
- await recursiveRender(T, w, r.type, r.diagramId, void 0, O);
292
+ O.label = "", O.arrowTypeEnd = "none", O.id = C + "-cyclic-special-1", k.arrowTypeStart = "none", k.arrowTypeEnd = "none", k.id = C + "-cyclic-special-mid", A.label = "", D.isGroup && (O.fromCluster = C, A.toCluster = C), A.id = C + "-cyclic-special-2", A.arrowTypeStart = "none", E.setEdge(C, w, O, C + "-cyclic-special-0"), E.setEdge(w, T, k, C + "-cyclic-special-1"), E.setEdge(T, C, A, C + "-cyc<lic-special-2");
293
+ } else E.setEdge(r.start, r.end, { ...r }, r.id);
294
+ }), log.warn("Graph at first:", JSON.stringify(write(E))), adjustClustersAndEdges(E), log.warn("Graph after XAX:", JSON.stringify(write(E)));
295
+ let k = getConfig2();
296
+ await recursiveRender(D, E, r.type, r.diagramId, void 0, k);
297
297
  }, "render");
298
298
  export { render };