@readme/markdown 7.7.1 → 7.7.3

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/788.js DELETED
@@ -1,1021 +0,0 @@
1
- "use strict";
2
- (self["webpackChunk_readme_markdown"] = self["webpackChunk_readme_markdown"] || []).push([[788],{
3
-
4
- /***/ 6283:
5
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
-
7
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
- /* harmony export */ M: () => (/* binding */ write)
9
- /* harmony export */ });
10
- /* unused harmony export read */
11
- /* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9523);
12
- /* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7134);
13
- /* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8937);
14
- /* harmony import */ var _graph_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8448);
15
-
16
-
17
-
18
-
19
-
20
- function write(g) {
21
- var json = {
22
- options: {
23
- directed: g.isDirected(),
24
- multigraph: g.isMultigraph(),
25
- compound: g.isCompound(),
26
- },
27
- nodes: writeNodes(g),
28
- edges: writeEdges(g),
29
- };
30
- if (!lodash_es__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A(g.graph())) {
31
- json.value = lodash_es__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A(g.graph());
32
- }
33
- return json;
34
- }
35
-
36
- function writeNodes(g) {
37
- return lodash_es__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A(g.nodes(), function (v) {
38
- var nodeValue = g.node(v);
39
- var parent = g.parent(v);
40
- var node = { v: v };
41
- if (!lodash_es__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A(nodeValue)) {
42
- node.value = nodeValue;
43
- }
44
- if (!lodash_es__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A(parent)) {
45
- node.parent = parent;
46
- }
47
- return node;
48
- });
49
- }
50
-
51
- function writeEdges(g) {
52
- return lodash_es__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A(g.edges(), function (e) {
53
- var edgeValue = g.edge(e);
54
- var edge = { v: e.v, w: e.w };
55
- if (!lodash_es__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A(e.name)) {
56
- edge.name = e.name;
57
- }
58
- if (!lodash_es__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A(edgeValue)) {
59
- edge.value = edgeValue;
60
- }
61
- return edge;
62
- });
63
- }
64
-
65
- function read(json) {
66
- var g = new Graph(json.options).setGraph(json.value);
67
- _.each(json.nodes, function (entry) {
68
- g.setNode(entry.v, entry.value);
69
- if (entry.parent) {
70
- g.setParent(entry.v, entry.parent);
71
- }
72
- });
73
- _.each(json.edges, function (entry) {
74
- g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);
75
- });
76
- return g;
77
- }
78
-
79
-
80
- /***/ }),
81
-
82
- /***/ 4788:
83
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
84
-
85
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
86
- /* harmony export */ diagram: () => (/* binding */ diagram)
87
- /* harmony export */ });
88
- /* harmony import */ var _chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2927);
89
- /* harmony import */ var _chunk_NGC4727B_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4896);
90
- /* harmony import */ var _chunk_I3FGKTZ5_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6971);
91
- /* harmony import */ var _chunk_U7L4IQIU_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5449);
92
- /* harmony import */ var _chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2843);
93
- /* harmony import */ var _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6322);
94
- /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8066);
95
- /* harmony import */ var dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4416);
96
- /* harmony import */ var dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(995);
97
- /* harmony import */ var dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6283);
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
- // src/diagrams/class/classRenderer-v2.ts
106
-
107
-
108
-
109
- // src/dagre-wrapper/index.js
110
-
111
-
112
-
113
- // src/dagre-wrapper/mermaid-graphlib.js
114
-
115
-
116
- var clusterDb = {};
117
- var descendants = {};
118
- var parents = {};
119
- var clear3 = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(() => {
120
- descendants = {};
121
- parents = {};
122
- clusterDb = {};
123
- }, "clear");
124
- var isDescendant = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((id, ancestorId) => {
125
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("In isDescendant", ancestorId, " ", id, " = ", descendants[ancestorId].includes(id));
126
- if (descendants[ancestorId].includes(id)) {
127
- return true;
128
- }
129
- return false;
130
- }, "isDescendant");
131
- var edgeInCluster = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((edge, clusterId) => {
132
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Descendants of ", clusterId, " is ", descendants[clusterId]);
133
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge is ", edge);
134
- if (edge.v === clusterId) {
135
- return false;
136
- }
137
- if (edge.w === clusterId) {
138
- return false;
139
- }
140
- if (!descendants[clusterId]) {
141
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Tilt, ", clusterId, ",not in descendants");
142
- return false;
143
- }
144
- return descendants[clusterId].includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || descendants[clusterId].includes(edge.w);
145
- }, "edgeInCluster");
146
- var copy = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((clusterId, graph, newGraph, rootId) => {
147
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(
148
- "Copying children of ",
149
- clusterId,
150
- "root",
151
- rootId,
152
- "data",
153
- graph.node(clusterId),
154
- rootId
155
- );
156
- const nodes = graph.children(clusterId) || [];
157
- if (clusterId !== rootId) {
158
- nodes.push(clusterId);
159
- }
160
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Copying (nodes) clusterId", clusterId, "nodes", nodes);
161
- nodes.forEach((node) => {
162
- if (graph.children(node).length > 0) {
163
- copy(node, graph, newGraph, rootId);
164
- } else {
165
- const data = graph.node(node);
166
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("cp ", node, " to ", rootId, " with parent ", clusterId);
167
- newGraph.setNode(node, data);
168
- if (rootId !== graph.parent(node)) {
169
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Setting parent", node, graph.parent(node));
170
- newGraph.setParent(node, graph.parent(node));
171
- }
172
- if (clusterId !== rootId && node !== clusterId) {
173
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Setting parent", node, clusterId);
174
- newGraph.setParent(node, clusterId);
175
- } else {
176
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("In copy ", clusterId, "root", rootId, "data", graph.node(clusterId), rootId);
177
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug(
178
- "Not Setting parent for node=",
179
- node,
180
- "cluster!==rootId",
181
- clusterId !== rootId,
182
- "node!==clusterId",
183
- node !== clusterId
184
- );
185
- }
186
- const edges = graph.edges(node);
187
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Copying Edges", edges);
188
- edges.forEach((edge) => {
189
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge", edge);
190
- const data2 = graph.edge(edge.v, edge.w, edge.name);
191
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge data", data2, rootId);
192
- try {
193
- if (edgeInCluster(edge, rootId)) {
194
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Copying as ", edge.v, edge.w, data2, edge.name);
195
- newGraph.setEdge(edge.v, edge.w, data2, edge.name);
196
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("newGraph edges ", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));
197
- } else {
198
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(
199
- "Skipping copy of edge ",
200
- edge.v,
201
- "-->",
202
- edge.w,
203
- " rootId: ",
204
- rootId,
205
- " clusterId:",
206
- clusterId
207
- );
208
- }
209
- } catch (e) {
210
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.error(e);
211
- }
212
- });
213
- }
214
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Removing node", node);
215
- graph.removeNode(node);
216
- });
217
- }, "copy");
218
- var extractDescendants = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((id, graph) => {
219
- const children = graph.children(id);
220
- let res = [...children];
221
- for (const child of children) {
222
- parents[child] = id;
223
- res = [...res, ...extractDescendants(child, graph)];
224
- }
225
- return res;
226
- }, "extractDescendants");
227
- var findNonClusterChild = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((id, graph) => {
228
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Searching", id);
229
- const children = graph.children(id);
230
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Searching children of id ", id, children);
231
- if (children.length < 1) {
232
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("This is a valid node", id);
233
- return id;
234
- }
235
- for (const child of children) {
236
- const _id = findNonClusterChild(child, graph);
237
- if (_id) {
238
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Found replacement for", id, " => ", _id);
239
- return _id;
240
- }
241
- }
242
- }, "findNonClusterChild");
243
- var getAnchorId = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((id) => {
244
- if (!clusterDb[id]) {
245
- return id;
246
- }
247
- if (!clusterDb[id].externalConnections) {
248
- return id;
249
- }
250
- if (clusterDb[id]) {
251
- return clusterDb[id].id;
252
- }
253
- return id;
254
- }, "getAnchorId");
255
- var adjustClustersAndEdges = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((graph, depth) => {
256
- if (!graph || depth > 10) {
257
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Opting out, no graph ");
258
- return;
259
- } else {
260
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Opting in, graph ");
261
- }
262
- graph.nodes().forEach(function(id) {
263
- const children = graph.children(id);
264
- if (children.length > 0) {
265
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(
266
- "Cluster identified",
267
- id,
268
- " Replacement id in edges: ",
269
- findNonClusterChild(id, graph)
270
- );
271
- descendants[id] = extractDescendants(id, graph);
272
- clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };
273
- }
274
- });
275
- graph.nodes().forEach(function(id) {
276
- const children = graph.children(id);
277
- const edges = graph.edges();
278
- if (children.length > 0) {
279
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Cluster identified", id, descendants);
280
- edges.forEach((edge) => {
281
- if (edge.v !== id && edge.w !== id) {
282
- const d1 = isDescendant(edge.v, id);
283
- const d2 = isDescendant(edge.w, id);
284
- if (d1 ^ d2) {
285
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Edge: ", edge, " leaves cluster ", id);
286
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Descendants of XXX ", id, ": ", descendants[id]);
287
- clusterDb[id].externalConnections = true;
288
- }
289
- }
290
- });
291
- } else {
292
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Not a cluster ", id, descendants);
293
- }
294
- });
295
- for (let id of Object.keys(clusterDb)) {
296
- const nonClusterChild = clusterDb[id].id;
297
- const parent = graph.parent(nonClusterChild);
298
- if (parent !== id && clusterDb[parent] && !clusterDb[parent].externalConnections) {
299
- clusterDb[id].id = parent;
300
- }
301
- }
302
- graph.edges().forEach(function(e) {
303
- const edge = graph.edge(e);
304
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(e));
305
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(graph.edge(e)));
306
- let v = e.v;
307
- let w = e.w;
308
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(
309
- "Fix XXX",
310
- clusterDb,
311
- "ids:",
312
- e.v,
313
- e.w,
314
- "Translating: ",
315
- clusterDb[e.v],
316
- " --- ",
317
- clusterDb[e.w]
318
- );
319
- if (clusterDb[e.v] && clusterDb[e.w] && clusterDb[e.v] === clusterDb[e.w]) {
320
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Fixing and trixing link to self - removing XXX", e.v, e.w, e.name);
321
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Fixing and trixing - removing XXX", e.v, e.w, e.name);
322
- v = getAnchorId(e.v);
323
- w = getAnchorId(e.w);
324
- graph.removeEdge(e.v, e.w, e.name);
325
- const specialId = e.w + "---" + e.v;
326
- graph.setNode(specialId, {
327
- domId: specialId,
328
- id: specialId,
329
- labelStyle: "",
330
- labelText: edge.label,
331
- padding: 0,
332
- shape: "labelRect",
333
- style: ""
334
- });
335
- const edge1 = structuredClone(edge);
336
- const edge2 = structuredClone(edge);
337
- edge1.label = "";
338
- edge1.arrowTypeEnd = "none";
339
- edge2.label = "";
340
- edge1.fromCluster = e.v;
341
- edge2.toCluster = e.v;
342
- graph.setEdge(v, specialId, edge1, e.name + "-cyclic-special");
343
- graph.setEdge(specialId, w, edge2, e.name + "-cyclic-special");
344
- } else if (clusterDb[e.v] || clusterDb[e.w]) {
345
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Fixing and trixing - removing XXX", e.v, e.w, e.name);
346
- v = getAnchorId(e.v);
347
- w = getAnchorId(e.w);
348
- graph.removeEdge(e.v, e.w, e.name);
349
- if (v !== e.v) {
350
- const parent = graph.parent(v);
351
- clusterDb[parent].externalConnections = true;
352
- edge.fromCluster = e.v;
353
- }
354
- if (w !== e.w) {
355
- const parent = graph.parent(w);
356
- clusterDb[parent].externalConnections = true;
357
- edge.toCluster = e.w;
358
- }
359
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Fix Replacing with XXX", v, w, e.name);
360
- graph.setEdge(v, w, edge, e.name);
361
- }
362
- });
363
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Adjusted Graph", dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph));
364
- extractor(graph, 0);
365
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace(clusterDb);
366
- }, "adjustClustersAndEdges");
367
- var extractor = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((graph, depth) => {
368
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("extractor - ", depth, dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph), graph.children("D"));
369
- if (depth > 10) {
370
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.error("Bailing out");
371
- return;
372
- }
373
- let nodes = graph.nodes();
374
- let hasChildren = false;
375
- for (const node of nodes) {
376
- const children = graph.children(node);
377
- hasChildren = hasChildren || children.length > 0;
378
- }
379
- if (!hasChildren) {
380
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Done, no node has children", graph.nodes());
381
- return;
382
- }
383
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Nodes = ", nodes, depth);
384
- for (const node of nodes) {
385
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug(
386
- "Extracting node",
387
- node,
388
- clusterDb,
389
- clusterDb[node] && !clusterDb[node].externalConnections,
390
- !graph.parent(node),
391
- graph.node(node),
392
- graph.children("D"),
393
- " Depth ",
394
- depth
395
- );
396
- if (!clusterDb[node]) {
397
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Not a cluster", node, depth);
398
- } else if (!clusterDb[node].externalConnections && // !graph.parent(node) &&
399
- graph.children(node) && graph.children(node).length > 0) {
400
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(
401
- "Cluster without external connections, without a parent and with children",
402
- node,
403
- depth
404
- );
405
- const graphSettings = graph.graph();
406
- let dir = graphSettings.rankdir === "TB" ? "LR" : "TB";
407
- if (clusterDb[node]?.clusterData?.dir) {
408
- dir = clusterDb[node].clusterData.dir;
409
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Fixing dir", clusterDb[node].clusterData.dir, dir);
410
- }
411
- const clusterGraph = new dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_7__/* .Graph */ .T({
412
- multigraph: true,
413
- compound: true
414
- }).setGraph({
415
- rankdir: dir,
416
- // Todo: set proper spacing
417
- nodesep: 50,
418
- ranksep: 50,
419
- marginx: 8,
420
- marginy: 8
421
- }).setDefaultEdgeLabel(function() {
422
- return {};
423
- });
424
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Old graph before copy", dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph));
425
- copy(node, graph, clusterGraph, node);
426
- graph.setNode(node, {
427
- clusterNode: true,
428
- id: node,
429
- clusterData: clusterDb[node].clusterData,
430
- labelText: clusterDb[node].labelText,
431
- graph: clusterGraph
432
- });
433
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("New graph after copy node: (", node, ")", dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(clusterGraph));
434
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug("Old graph after copy", dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph));
435
- } else {
436
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(
437
- "Cluster ** ",
438
- node,
439
- " **not meeting the criteria !externalConnections:",
440
- !clusterDb[node].externalConnections,
441
- " no parent: ",
442
- !graph.parent(node),
443
- " children ",
444
- graph.children(node) && graph.children(node).length > 0,
445
- graph.children("D"),
446
- depth
447
- );
448
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.debug(clusterDb);
449
- }
450
- }
451
- nodes = graph.nodes();
452
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("New list of nodes", nodes);
453
- for (const node of nodes) {
454
- const data = graph.node(node);
455
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn(" Now next level", node, data);
456
- if (data.clusterNode) {
457
- extractor(data.graph, depth + 1);
458
- }
459
- }
460
- }, "extractor");
461
- var sorter = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((graph, nodes) => {
462
- if (nodes.length === 0) {
463
- return [];
464
- }
465
- let result = Object.assign(nodes);
466
- nodes.forEach((node) => {
467
- const children = graph.children(node);
468
- const sorted = sorter(graph, children);
469
- result = [...result, ...sorted];
470
- });
471
- return result;
472
- }, "sorter");
473
- var sortNodesByHierarchy = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((graph) => sorter(graph, graph.children()), "sortNodesByHierarchy");
474
-
475
- // src/dagre-wrapper/clusters.js
476
-
477
- var rect = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parent, node) => {
478
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Creating subgraph rect for ", node.id, node);
479
- const siteConfig = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)();
480
- const shapeSvg = parent.insert("g").attr("class", "cluster" + (node.class ? " " + node.class : "")).attr("id", node.id);
481
- const rect2 = shapeSvg.insert("rect", ":first-child");
482
- const useHtmlLabels = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .evaluate */ ._3)(siteConfig.flowchart.htmlLabels);
483
- const label = shapeSvg.insert("g").attr("class", "cluster-label");
484
- const text = node.labelType === "markdown" ? (0,_chunk_U7L4IQIU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .createText */ .GZ)(label, node.labelText, { style: node.labelStyle, useHtmlLabels }, siteConfig) : label.node().appendChild((0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .createLabel_default */ .DA)(node.labelText, node.labelStyle, void 0, true));
485
- let bbox = text.getBBox();
486
- if ((0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .evaluate */ ._3)(siteConfig.flowchart.htmlLabels)) {
487
- const div = text.children[0];
488
- const dv = (0,d3__WEBPACK_IMPORTED_MODULE_6__/* .select */ .Ltv)(text);
489
- bbox = div.getBoundingClientRect();
490
- dv.attr("width", bbox.width);
491
- dv.attr("height", bbox.height);
492
- }
493
- const padding = 0 * node.padding;
494
- const halfPadding = padding / 2;
495
- const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;
496
- if (node.width <= bbox.width + padding) {
497
- node.diff = (bbox.width - node.width) / 2 - node.padding / 2;
498
- } else {
499
- node.diff = -node.padding / 2;
500
- }
501
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Data ", node, JSON.stringify(node));
502
- rect2.attr("style", node.style).attr("rx", node.rx).attr("ry", node.ry).attr("x", node.x - width / 2).attr("y", node.y - node.height / 2 - halfPadding).attr("width", width).attr("height", node.height + padding);
503
- const { subGraphTitleTopMargin } = (0,_chunk_I3FGKTZ5_mjs__WEBPACK_IMPORTED_MODULE_2__/* .getSubGraphTitleMargins */ .O)(siteConfig);
504
- if (useHtmlLabels) {
505
- label.attr(
506
- "transform",
507
- // This puts the label on top of the box instead of inside it
508
- `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
509
- );
510
- } else {
511
- label.attr(
512
- "transform",
513
- // This puts the label on top of the box instead of inside it
514
- `translate(${node.x}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
515
- );
516
- }
517
- const rectBox = rect2.node().getBBox();
518
- node.width = rectBox.width;
519
- node.height = rectBox.height;
520
- node.intersect = function(point) {
521
- return (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .intersect_rect_default */ .nM)(node, point);
522
- };
523
- return shapeSvg;
524
- }, "rect");
525
- var noteGroup = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parent, node) => {
526
- const shapeSvg = parent.insert("g").attr("class", "note-cluster").attr("id", node.id);
527
- const rect2 = shapeSvg.insert("rect", ":first-child");
528
- const padding = 0 * node.padding;
529
- const halfPadding = padding / 2;
530
- rect2.attr("rx", node.rx).attr("ry", node.ry).attr("x", node.x - node.width / 2 - halfPadding).attr("y", node.y - node.height / 2 - halfPadding).attr("width", node.width + padding).attr("height", node.height + padding).attr("fill", "none");
531
- const rectBox = rect2.node().getBBox();
532
- node.width = rectBox.width;
533
- node.height = rectBox.height;
534
- node.intersect = function(point) {
535
- return (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .intersect_rect_default */ .nM)(node, point);
536
- };
537
- return shapeSvg;
538
- }, "noteGroup");
539
- var roundedWithTitle = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parent, node) => {
540
- const siteConfig = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)();
541
- const shapeSvg = parent.insert("g").attr("class", node.classes).attr("id", node.id);
542
- const rect2 = shapeSvg.insert("rect", ":first-child");
543
- const label = shapeSvg.insert("g").attr("class", "cluster-label");
544
- const innerRect = shapeSvg.append("rect");
545
- const text = label.node().appendChild((0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .createLabel_default */ .DA)(node.labelText, node.labelStyle, void 0, true));
546
- let bbox = text.getBBox();
547
- if ((0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .evaluate */ ._3)(siteConfig.flowchart.htmlLabels)) {
548
- const div = text.children[0];
549
- const dv = (0,d3__WEBPACK_IMPORTED_MODULE_6__/* .select */ .Ltv)(text);
550
- bbox = div.getBoundingClientRect();
551
- dv.attr("width", bbox.width);
552
- dv.attr("height", bbox.height);
553
- }
554
- bbox = text.getBBox();
555
- const padding = 0 * node.padding;
556
- const halfPadding = padding / 2;
557
- const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;
558
- if (node.width <= bbox.width + node.padding) {
559
- node.diff = (bbox.width + node.padding * 0 - node.width) / 2;
560
- } else {
561
- node.diff = -node.padding / 2;
562
- }
563
- rect2.attr("class", "outer").attr("x", node.x - width / 2 - halfPadding).attr("y", node.y - node.height / 2 - halfPadding).attr("width", width + padding).attr("height", node.height + padding);
564
- innerRect.attr("class", "inner").attr("x", node.x - width / 2 - halfPadding).attr("y", node.y - node.height / 2 - halfPadding + bbox.height - 1).attr("width", width + padding).attr("height", node.height + padding - bbox.height - 3);
565
- const { subGraphTitleTopMargin } = (0,_chunk_I3FGKTZ5_mjs__WEBPACK_IMPORTED_MODULE_2__/* .getSubGraphTitleMargins */ .O)(siteConfig);
566
- label.attr(
567
- "transform",
568
- `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 - node.padding / 3 + ((0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .evaluate */ ._3)(siteConfig.flowchart.htmlLabels) ? 5 : 3) + subGraphTitleTopMargin})`
569
- );
570
- const rectBox = rect2.node().getBBox();
571
- node.height = rectBox.height;
572
- node.intersect = function(point) {
573
- return (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .intersect_rect_default */ .nM)(node, point);
574
- };
575
- return shapeSvg;
576
- }, "roundedWithTitle");
577
- var divider = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parent, node) => {
578
- const shapeSvg = parent.insert("g").attr("class", node.classes).attr("id", node.id);
579
- const rect2 = shapeSvg.insert("rect", ":first-child");
580
- const padding = 0 * node.padding;
581
- const halfPadding = padding / 2;
582
- rect2.attr("class", "divider").attr("x", node.x - node.width / 2 - halfPadding).attr("y", node.y - node.height / 2).attr("width", node.width + padding).attr("height", node.height + padding);
583
- const rectBox = rect2.node().getBBox();
584
- node.width = rectBox.width;
585
- node.height = rectBox.height;
586
- node.diff = -node.padding / 2;
587
- node.intersect = function(point) {
588
- return (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .intersect_rect_default */ .nM)(node, point);
589
- };
590
- return shapeSvg;
591
- }, "divider");
592
- var shapes = { rect, roundedWithTitle, noteGroup, divider };
593
- var clusterElems = {};
594
- var insertCluster = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((elem, node) => {
595
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Inserting cluster");
596
- const shape = node.shape || "rect";
597
- clusterElems[node.id] = shapes[shape](elem, node);
598
- }, "insertCluster");
599
- var clear4 = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(() => {
600
- clusterElems = {};
601
- }, "clear");
602
-
603
- // src/dagre-wrapper/index.js
604
- var recursiveRender = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {
605
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Graph in recursive render: XXX", dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph), parentCluster);
606
- const dir = graph.graph().rankdir;
607
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Dir in recursive render - dir:", dir);
608
- const elem = _elem.insert("g").attr("class", "root");
609
- if (!graph.nodes()) {
610
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("No nodes found for", graph);
611
- } else {
612
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Recursive render XXX", graph.nodes());
613
- }
614
- if (graph.edges().length > 0) {
615
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Recursive edges", graph.edge(graph.edges()[0]));
616
- }
617
- const clusters = elem.insert("g").attr("class", "clusters");
618
- const edgePaths = elem.insert("g").attr("class", "edgePaths");
619
- const edgeLabels = elem.insert("g").attr("class", "edgeLabels");
620
- const nodes = elem.insert("g").attr("class", "nodes");
621
- await Promise.all(
622
- graph.nodes().map(async function(v) {
623
- const node = graph.node(v);
624
- if (parentCluster !== void 0) {
625
- const data = JSON.parse(JSON.stringify(parentCluster.clusterData));
626
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting data for cluster XXX (", v, ") ", data, parentCluster);
627
- graph.setNode(parentCluster.id, data);
628
- if (!graph.parent(v)) {
629
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Setting parent", v, parentCluster.id);
630
- graph.setParent(v, parentCluster.id, data);
631
- }
632
- }
633
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("(Insert) Node XXX" + v + ": " + JSON.stringify(graph.node(v)));
634
- if (node?.clusterNode) {
635
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Cluster identified", v, node.width, graph.node(v));
636
- const { ranksep, nodesep } = graph.graph();
637
- node.graph.setGraph({
638
- ...node.graph.graph(),
639
- ranksep,
640
- nodesep
641
- });
642
- const o = await recursiveRender(
643
- nodes,
644
- node.graph,
645
- diagramType,
646
- id,
647
- graph.node(v),
648
- siteConfig
649
- );
650
- const newEl = o.elem;
651
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .updateNodeBounds */ .lC)(node, newEl);
652
- node.diff = o.diff || 0;
653
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Node bounds (abc123)", v, node, node.width, node.x, node.y);
654
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .setNodeElem */ .U7)(newEl, node);
655
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Recursive render complete ", newEl, node);
656
- } else {
657
- if (graph.children(v).length > 0) {
658
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Cluster - the non recursive path XXX", v, node.id, node, graph);
659
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(findNonClusterChild(node.id, graph));
660
- clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };
661
- } else {
662
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Node - the non recursive path", v, node.id, node);
663
- await (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .insertNode */ .on)(nodes, graph.node(v), { config: siteConfig, dir });
664
- }
665
- }
666
- })
667
- );
668
- graph.edges().forEach(async function(e) {
669
- const edge = graph.edge(e.v, e.w, e.name);
670
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(e));
671
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge " + e.v + " -> " + e.w + ": ", e, " ", JSON.stringify(graph.edge(e)));
672
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Fix", clusterDb, "ids:", e.v, e.w, "Translating: ", clusterDb[e.v], clusterDb[e.w]);
673
- await (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .insertEdgeLabel */ .jP)(edgeLabels, edge);
674
- });
675
- graph.edges().forEach(function(e) {
676
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(e));
677
- });
678
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Graph before layout:", JSON.stringify(dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph)));
679
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("#############################################");
680
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("### Layout ###");
681
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("#############################################");
682
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(graph);
683
- (0,dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_8__/* .layout */ .Zp)(graph);
684
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Graph after layout:", JSON.stringify(dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph)));
685
- let diff = 0;
686
- const { subGraphTitleTotalMargin } = (0,_chunk_I3FGKTZ5_mjs__WEBPACK_IMPORTED_MODULE_2__/* .getSubGraphTitleMargins */ .O)(siteConfig);
687
- sortNodesByHierarchy(graph).forEach(function(v) {
688
- const node = graph.node(v);
689
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Position " + v + ": " + JSON.stringify(graph.node(v)));
690
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(
691
- "Position " + v + ": (" + node.x,
692
- "," + node.y,
693
- ") width: ",
694
- node.width,
695
- " height: ",
696
- node.height
697
- );
698
- if (node?.clusterNode) {
699
- node.y += subGraphTitleTotalMargin;
700
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .positionNode */ .U_)(node);
701
- } else {
702
- if (graph.children(v).length > 0) {
703
- node.height += subGraphTitleTotalMargin;
704
- insertCluster(clusters, node);
705
- clusterDb[node.id].node = node;
706
- } else {
707
- node.y += subGraphTitleTotalMargin / 2;
708
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .positionNode */ .U_)(node);
709
- }
710
- }
711
- });
712
- graph.edges().forEach(function(e) {
713
- const edge = graph.edge(e);
714
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(edge), edge);
715
- edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);
716
- const paths = (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .insertEdge */ .Jo)(edgePaths, e, edge, clusterDb, diagramType, graph, id);
717
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .positionEdgeLabel */ .T_)(edge, paths);
718
- });
719
- graph.nodes().forEach(function(v) {
720
- const n = graph.node(v);
721
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(v, n.type, n.diff);
722
- if (n.type === "group") {
723
- diff = n.diff;
724
- }
725
- });
726
- return { elem, diff };
727
- }, "recursiveRender");
728
- var render = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(async (elem, graph, markers, diagramType, id) => {
729
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .markers_default */ .g0)(elem, markers, diagramType, id);
730
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .clear */ .IU)();
731
- (0,_chunk_REEJFE46_mjs__WEBPACK_IMPORTED_MODULE_0__/* .clear2 */ .gh)();
732
- clear4();
733
- clear3();
734
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Graph at first:", JSON.stringify(dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph)));
735
- adjustClustersAndEdges(graph);
736
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Graph after:", JSON.stringify(dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_9__/* .write */ .M(graph)));
737
- const siteConfig = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)();
738
- await recursiveRender(elem, graph, diagramType, id, void 0, siteConfig);
739
- }, "render");
740
-
741
- // src/diagrams/class/classRenderer-v2.ts
742
- var sanitizeText = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((txt) => _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .common_default */ .Y2.sanitizeText(txt, (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)()), "sanitizeText");
743
- var conf = {
744
- dividerMargin: 10,
745
- padding: 5,
746
- textHeight: 10,
747
- curve: void 0
748
- };
749
- var addNamespaces = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(namespaces, g, _id, diagObj) {
750
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("keys:", [...namespaces.keys()]);
751
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(namespaces);
752
- namespaces.forEach(function(vertex) {
753
- const shape = "rect";
754
- const node = {
755
- shape,
756
- id: vertex.id,
757
- domId: vertex.domId,
758
- labelText: sanitizeText(vertex.id),
759
- labelStyle: "",
760
- style: "fill: none; stroke: black",
761
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
762
- padding: (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart?.padding ?? (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().class?.padding
763
- };
764
- g.setNode(vertex.id, node);
765
- addClasses(vertex.classes, g, _id, diagObj, vertex.id);
766
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("setNode", node);
767
- });
768
- }, "addNamespaces");
769
- var addClasses = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(classes, g, _id, diagObj, parent) {
770
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("keys:", [...classes.keys()]);
771
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(classes);
772
- [...classes.values()].filter((vertex) => vertex.parent === parent).forEach(function(vertex) {
773
- const cssClassStr = vertex.cssClasses.join(" ");
774
- const styles = (0,_chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getStylesFromArray */ .sM)(vertex.styles);
775
- const vertexText = vertex.label ?? vertex.id;
776
- const radius = 0;
777
- const shape = "class_box";
778
- const node = {
779
- labelStyle: styles.labelStyle,
780
- shape,
781
- labelText: sanitizeText(vertexText),
782
- classData: vertex,
783
- rx: radius,
784
- ry: radius,
785
- class: cssClassStr,
786
- style: styles.style,
787
- id: vertex.id,
788
- domId: vertex.domId,
789
- tooltip: diagObj.db.getTooltip(vertex.id, parent) || "",
790
- haveCallback: vertex.haveCallback,
791
- link: vertex.link,
792
- width: vertex.type === "group" ? 500 : void 0,
793
- type: vertex.type,
794
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
795
- padding: (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart?.padding ?? (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().class?.padding
796
- };
797
- g.setNode(vertex.id, node);
798
- if (parent) {
799
- g.setParent(vertex.id, parent);
800
- }
801
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("setNode", node);
802
- });
803
- }, "addClasses");
804
- var addNotes = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(notes, g, startEdgeId, classes) {
805
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(notes);
806
- notes.forEach(function(note, i) {
807
- const vertex = note;
808
- const cssNoteStr = "";
809
- const styles = { labelStyle: "", style: "" };
810
- const vertexText = vertex.text;
811
- const radius = 0;
812
- const shape = "note";
813
- const node = {
814
- labelStyle: styles.labelStyle,
815
- shape,
816
- labelText: sanitizeText(vertexText),
817
- noteData: vertex,
818
- rx: radius,
819
- ry: radius,
820
- class: cssNoteStr,
821
- style: styles.style,
822
- id: vertex.id,
823
- domId: vertex.id,
824
- tooltip: "",
825
- type: "note",
826
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
827
- padding: (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart?.padding ?? (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().class?.padding
828
- };
829
- g.setNode(vertex.id, node);
830
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("setNode", node);
831
- if (!vertex.class || !classes.has(vertex.class)) {
832
- return;
833
- }
834
- const edgeId = startEdgeId + i;
835
- const edgeData = {
836
- id: `edgeNote${edgeId}`,
837
- //Set relationship style and line type
838
- classes: "relation",
839
- pattern: "dotted",
840
- // Set link type for rendering
841
- arrowhead: "none",
842
- //Set edge extra labels
843
- startLabelRight: "",
844
- endLabelLeft: "",
845
- //Set relation arrow types
846
- arrowTypeStart: "none",
847
- arrowTypeEnd: "none",
848
- style: "fill:none",
849
- labelStyle: "",
850
- curve: (0,_chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .interpolateToCurve */ .Ib)(conf.curve, d3__WEBPACK_IMPORTED_MODULE_6__/* .curveLinear */ .lUB)
851
- };
852
- g.setEdge(vertex.id, vertex.class, edgeData, edgeId);
853
- });
854
- }, "addNotes");
855
- var addRelations = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(relations, g) {
856
- const conf2 = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart;
857
- let cnt = 0;
858
- relations.forEach(function(edge) {
859
- cnt++;
860
- const edgeData = {
861
- //Set relationship style and line type
862
- classes: "relation",
863
- pattern: edge.relation.lineType == 1 ? "dashed" : "solid",
864
- id: (0,_chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getEdgeId */ .rY)(edge.id1, edge.id2, {
865
- prefix: "id",
866
- counter: cnt
867
- }),
868
- // Set link type for rendering
869
- arrowhead: edge.type === "arrow_open" ? "none" : "normal",
870
- //Set edge extra labels
871
- startLabelRight: edge.relationTitle1 === "none" ? "" : edge.relationTitle1,
872
- endLabelLeft: edge.relationTitle2 === "none" ? "" : edge.relationTitle2,
873
- //Set relation arrow types
874
- arrowTypeStart: getArrowMarker(edge.relation.type1),
875
- arrowTypeEnd: getArrowMarker(edge.relation.type2),
876
- style: "fill:none",
877
- labelStyle: "",
878
- curve: (0,_chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .interpolateToCurve */ .Ib)(conf2?.curve, d3__WEBPACK_IMPORTED_MODULE_6__/* .curveLinear */ .lUB)
879
- };
880
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(edgeData, edge);
881
- if (edge.style !== void 0) {
882
- const styles = (0,_chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getStylesFromArray */ .sM)(edge.style);
883
- edgeData.style = styles.style;
884
- edgeData.labelStyle = styles.labelStyle;
885
- }
886
- edge.text = edge.title;
887
- if (edge.text === void 0) {
888
- if (edge.style !== void 0) {
889
- edgeData.arrowheadStyle = "fill: #333";
890
- }
891
- } else {
892
- edgeData.arrowheadStyle = "fill: #333";
893
- edgeData.labelpos = "c";
894
- if ((0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart?.htmlLabels ?? (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().htmlLabels) {
895
- edgeData.labelType = "html";
896
- edgeData.label = '<span class="edgeLabel">' + edge.text + "</span>";
897
- } else {
898
- edgeData.labelType = "text";
899
- edgeData.label = edge.text.replace(_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .common_default */ .Y2.lineBreakRegex, "\n");
900
- if (edge.style === void 0) {
901
- edgeData.style = edgeData.style || "stroke: #333; stroke-width: 1.5px;fill:none";
902
- }
903
- edgeData.labelStyle = edgeData.labelStyle.replace("color:", "fill:");
904
- }
905
- }
906
- g.setEdge(edge.id1, edge.id2, edgeData, cnt);
907
- });
908
- }, "addRelations");
909
- var setConf = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(cnf) {
910
- conf = {
911
- ...conf,
912
- ...cnf
913
- };
914
- }, "setConf");
915
- var draw = /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(async function(text, id, _version, diagObj) {
916
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Drawing class - ", id);
917
- const conf2 = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().flowchart ?? (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().class;
918
- const securityLevel = (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .getConfig2 */ .D7)().securityLevel;
919
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("config:", conf2);
920
- const nodeSpacing = conf2?.nodeSpacing ?? 50;
921
- const rankSpacing = conf2?.rankSpacing ?? 50;
922
- const g = new dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_7__/* .Graph */ .T({
923
- multigraph: true,
924
- compound: true
925
- }).setGraph({
926
- rankdir: diagObj.db.getDirection(),
927
- nodesep: nodeSpacing,
928
- ranksep: rankSpacing,
929
- marginx: 8,
930
- marginy: 8
931
- }).setDefaultEdgeLabel(function() {
932
- return {};
933
- });
934
- const namespaces = diagObj.db.getNamespaces();
935
- const classes = diagObj.db.getClasses();
936
- const relations = diagObj.db.getRelations();
937
- const notes = diagObj.db.getNotes();
938
- _chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info(relations);
939
- addNamespaces(namespaces, g, id, diagObj);
940
- addClasses(classes, g, id, diagObj);
941
- addRelations(relations, g);
942
- addNotes(notes, g, relations.length + 1, classes);
943
- let sandboxElement;
944
- if (securityLevel === "sandbox") {
945
- sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_6__/* .select */ .Ltv)("#i" + id);
946
- }
947
- const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_6__/* .select */ .Ltv)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_6__/* .select */ .Ltv)("body");
948
- const svg = root.select(`[id="${id}"]`);
949
- const element = root.select("#" + id + " g");
950
- await render(
951
- element,
952
- g,
953
- ["aggregation", "extension", "composition", "dependency", "lollipop"],
954
- "classDiagram",
955
- id
956
- );
957
- _chunk_TLUHKHBO_mjs__WEBPACK_IMPORTED_MODULE_4__/* .utils_default */ ._K.insertTitle(svg, "classTitleText", conf2?.titleTopMargin ?? 5, diagObj.db.getDiagramTitle());
958
- (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .setupGraphViewbox */ .ot)(g, svg, conf2?.diagramPadding, conf2?.useMaxWidth);
959
- if (!conf2?.htmlLabels) {
960
- const doc = securityLevel === "sandbox" ? sandboxElement.nodes()[0].contentDocument : document;
961
- const labels = doc.querySelectorAll('[id="' + id + '"] .edgeLabel .label');
962
- for (const label of labels) {
963
- const dim = label.getBBox();
964
- const rect2 = doc.createElementNS("http://www.w3.org/2000/svg", "rect");
965
- rect2.setAttribute("rx", 0);
966
- rect2.setAttribute("ry", 0);
967
- rect2.setAttribute("width", dim.width);
968
- rect2.setAttribute("height", dim.height);
969
- label.insertBefore(rect2, label.firstChild);
970
- }
971
- }
972
- }, "draw");
973
- function getArrowMarker(type) {
974
- let marker;
975
- switch (type) {
976
- case 0:
977
- marker = "aggregation";
978
- break;
979
- case 1:
980
- marker = "extension";
981
- break;
982
- case 2:
983
- marker = "composition";
984
- break;
985
- case 3:
986
- marker = "dependency";
987
- break;
988
- case 4:
989
- marker = "lollipop";
990
- break;
991
- default:
992
- marker = "none";
993
- }
994
- return marker;
995
- }
996
- (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(getArrowMarker, "getArrowMarker");
997
- var classRenderer_v2_default = {
998
- setConf,
999
- draw
1000
- };
1001
-
1002
- // src/diagrams/class/classDiagram-v2.ts
1003
- var diagram = {
1004
- parser: _chunk_NGC4727B_mjs__WEBPACK_IMPORTED_MODULE_1__/* .classDiagram_default */ ._$,
1005
- db: _chunk_NGC4727B_mjs__WEBPACK_IMPORTED_MODULE_1__/* .classDb_default */ .z2,
1006
- renderer: classRenderer_v2_default,
1007
- styles: _chunk_NGC4727B_mjs__WEBPACK_IMPORTED_MODULE_1__/* .styles_default */ .tM,
1008
- init: /* @__PURE__ */ (0,_chunk_S24QXQKS_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((cnf) => {
1009
- if (!cnf.class) {
1010
- cnf.class = {};
1011
- }
1012
- cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
1013
- _chunk_NGC4727B_mjs__WEBPACK_IMPORTED_MODULE_1__/* .classDb_default */ .z2.clear();
1014
- }, "init")
1015
- };
1016
-
1017
-
1018
-
1019
- /***/ })
1020
-
1021
- }]);