lowcoder-comps 0.0.21 → 0.0.23

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 (58) hide show
  1. package/060799f2.js +960 -0
  2. package/1012bc4d.js +804 -0
  3. package/{b38c288b.js → 13094807.js} +10 -12
  4. package/{54511d22.js → 17eec513.js} +73 -76
  5. package/3581323b.js +1055 -0
  6. package/{f576ac90.js → 39041099.js} +97 -109
  7. package/43aa9013.js +218 -0
  8. package/4835e2da.js +2501 -0
  9. package/4ac12b61.js +915 -0
  10. package/52f00270.js +932 -0
  11. package/53ac8761.js +1235 -0
  12. package/53c41f32.js +1116 -0
  13. package/6b0ac243.js +64 -0
  14. package/6b615aa6.js +365 -0
  15. package/{9f3281b9.js → 6ddb6f97.js} +48410 -35551
  16. package/6fa8963b.js +2396 -0
  17. package/{ba44e76c.js → 7958ae6b.js} +4257 -4221
  18. package/{7c62ef63.js → 7b5e16e2.js} +1 -1
  19. package/83aee898.js +825 -0
  20. package/{31b1cdd2.js → 877dfc2d.js} +29 -30
  21. package/92e85b65.js +65 -0
  22. package/9f3e59b9.js +796 -0
  23. package/{a6e7fb9e.js → 9fadb810.js} +64 -71
  24. package/a8fa2c8f.js +1284 -0
  25. package/{8219433d.js → af05a28a.js} +7038 -6859
  26. package/{450c6bd6.js → ba9c56f6.js} +44 -44
  27. package/{2768fdea.js → bd004c35.js} +89 -97
  28. package/{fb09e069.js → bfe4f54a.js} +598 -622
  29. package/d0baa7b9.js +86 -0
  30. package/dcf6bbc3.js +768 -0
  31. package/e21892cc.js +2966 -0
  32. package/e52f46f3.js +2192 -0
  33. package/{3bd738e9.js → eaef549d.js} +58 -64
  34. package/fc7a026c.js +502 -0
  35. package/fcffa471.js +1000 -0
  36. package/index.js +2 -2
  37. package/package.json +7 -8
  38. package/04ea1009.js +0 -985
  39. package/0a1968f4.js +0 -832
  40. package/3087113d.js +0 -1032
  41. package/39f71758.js +0 -849
  42. package/4d1cf087.js +0 -2679
  43. package/59cbb8ee.js +0 -2456
  44. package/62c916e0.js +0 -86
  45. package/74645131.js +0 -1246
  46. package/75095038.js +0 -159
  47. package/86a4a706.js +0 -1118
  48. package/88c87bf8.js +0 -943
  49. package/8d8e98a7.js +0 -365
  50. package/9200edf7.js +0 -70
  51. package/acdad8f2.js +0 -7
  52. package/cbee3d44.js +0 -607
  53. package/cc0f1351.js +0 -793
  54. package/e614be0d.js +0 -91
  55. package/f40ee59a.js +0 -940
  56. package/fc5c5300.js +0 -2103
  57. package/fe636892.js +0 -823
  58. package/fea654db.js +0 -2827
package/fcffa471.js ADDED
@@ -0,0 +1,1000 @@
1
+ var E = (a, t, r) => new Promise((n, e) => {
2
+ var i = (c) => {
3
+ try {
4
+ l(r.next(c));
5
+ } catch (o) {
6
+ e(o);
7
+ }
8
+ }, s = (c) => {
9
+ try {
10
+ l(r.throw(c));
11
+ } catch (o) {
12
+ e(o);
13
+ }
14
+ }, l = (c) => c.done ? n(c.value) : Promise.resolve(c.value).then(i, s);
15
+ l((r = r.apply(a, t)).next());
16
+ });
17
+ import { p as N, c as w, d as q, aQ as V, h as _, l as x, z as A, F as lt } from "./6ddb6f97.js";
18
+ import { a as et } from "./e21892cc.js";
19
+ import { l as ct } from "./7b5e16e2.js";
20
+ const ht = (a, t, r, n) => {
21
+ t.forEach((e) => {
22
+ wt[e](a, r, n);
23
+ });
24
+ }, ot = (a, t, r) => {
25
+ x.trace("Making markers for ", r), a.append("defs").append("marker").attr("id", r + "_" + t + "-extensionStart").attr("class", "marker extension " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), a.append("defs").append("marker").attr("id", r + "_" + t + "-extensionEnd").attr("class", "marker extension " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z");
26
+ }, ft = (a, t, r) => {
27
+ a.append("defs").append("marker").attr("id", r + "_" + t + "-compositionStart").attr("class", "marker composition " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), a.append("defs").append("marker").attr("id", r + "_" + t + "-compositionEnd").attr("class", "marker composition " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
28
+ }, pt = (a, t, r) => {
29
+ a.append("defs").append("marker").attr("id", r + "_" + t + "-aggregationStart").attr("class", "marker aggregation " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), a.append("defs").append("marker").attr("id", r + "_" + t + "-aggregationEnd").attr("class", "marker aggregation " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
30
+ }, yt = (a, t, r) => {
31
+ a.append("defs").append("marker").attr("id", r + "_" + t + "-dependencyStart").attr("class", "marker dependency " + t).attr("refX", 6).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), a.append("defs").append("marker").attr("id", r + "_" + t + "-dependencyEnd").attr("class", "marker dependency " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
32
+ }, dt = (a, t, r) => {
33
+ a.append("defs").append("marker").attr("id", r + "_" + t + "-lollipopStart").attr("class", "marker lollipop " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6), a.append("defs").append("marker").attr("id", r + "_" + t + "-lollipopEnd").attr("class", "marker lollipop " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
34
+ }, xt = (a, t, r) => {
35
+ a.append("marker").attr("id", r + "_" + t + "-pointEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 6).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), a.append("marker").attr("id", r + "_" + t + "-pointStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 4.5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
36
+ }, bt = (a, t, r) => {
37
+ a.append("marker").attr("id", r + "_" + t + "-circleEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), a.append("marker").attr("id", r + "_" + t + "-circleStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
38
+ }, gt = (a, t, r) => {
39
+ a.append("marker").attr("id", r + "_" + t + "-crossEnd").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0"), a.append("marker").attr("id", r + "_" + t + "-crossStart").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
40
+ }, ut = (a, t, r) => {
41
+ a.append("defs").append("marker").attr("id", r + "_" + t + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "strokeWidth").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
42
+ }, wt = {
43
+ extension: ot,
44
+ composition: ft,
45
+ aggregation: pt,
46
+ dependency: yt,
47
+ lollipop: dt,
48
+ point: xt,
49
+ circle: bt,
50
+ cross: gt,
51
+ barb: ut
52
+ }, er = ht;
53
+ function mt(a, t) {
54
+ t && a.attr("style", t);
55
+ }
56
+ function kt(a) {
57
+ const t = _(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), r = t.append("xhtml:div"), n = a.label, e = a.isNode ? "nodeLabel" : "edgeLabel";
58
+ return r.html(
59
+ '<span class="' + e + '" ' + (a.labelStyle ? 'style="' + a.labelStyle + '"' : "") + ">" + n + "</span>"
60
+ ), mt(r, a.labelStyle), r.style("display", "inline-block"), r.style("white-space", "nowrap"), r.attr("xmlns", "http://www.w3.org/1999/xhtml"), t.node();
61
+ }
62
+ const vt = (a, t, r, n) => {
63
+ let e = a || "";
64
+ if (typeof e == "object" && (e = e[0]), N(w().flowchart.htmlLabels)) {
65
+ e = e.replace(/\\n|\n/g, "<br />"), x.info("vertexText" + e);
66
+ const i = {
67
+ isNode: n,
68
+ label: V(e).replace(
69
+ /fa[blrs]?:fa-[\w-]+/g,
70
+ (l) => `<i class='${l.replace(":", " ")}'></i>`
71
+ ),
72
+ labelStyle: t.replace("fill:", "color:")
73
+ };
74
+ return kt(i);
75
+ } else {
76
+ const i = document.createElementNS("http://www.w3.org/2000/svg", "text");
77
+ i.setAttribute("style", t.replace("color:", "fill:"));
78
+ let s = [];
79
+ typeof e == "string" ? s = e.split(/\\n|\n|<br\s*\/?>/gi) : Array.isArray(e) ? s = e : s = [];
80
+ for (const l of s) {
81
+ const c = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
82
+ c.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), c.setAttribute("dy", "1em"), c.setAttribute("x", "0"), r ? c.setAttribute("class", "title-row") : c.setAttribute("class", "row"), c.textContent = l.trim(), i.appendChild(c);
83
+ }
84
+ return i;
85
+ }
86
+ }, H = vt, C = (a, t, r, n) => E(void 0, null, function* () {
87
+ let e;
88
+ const i = t.useHtmlLabels || N(w().flowchart.htmlLabels);
89
+ r ? e = r : e = "node default";
90
+ const s = a.insert("g").attr("class", e).attr("id", t.domId || t.id), l = s.insert("g").attr("class", "label").attr("style", t.labelStyle);
91
+ let c;
92
+ t.labelText === void 0 ? c = "" : c = typeof t.labelText == "string" ? t.labelText : t.labelText[0];
93
+ const o = l.node();
94
+ let h;
95
+ t.labelType === "markdown" ? h = et(l, q(V(c), w()), {
96
+ useHtmlLabels: i,
97
+ width: t.width || w().flowchart.wrappingWidth,
98
+ classes: "markdown-node-label"
99
+ }) : h = o.appendChild(
100
+ H(
101
+ q(V(c), w()),
102
+ t.labelStyle,
103
+ !1,
104
+ n
105
+ )
106
+ );
107
+ let f = h.getBBox();
108
+ const y = t.padding / 2;
109
+ if (N(w().flowchart.htmlLabels)) {
110
+ const p = h.children[0], u = _(h), k = p.getElementsByTagName("img");
111
+ if (k) {
112
+ const g = c.replace(/<img[^>]*>/g, "").trim() === "";
113
+ yield Promise.all(
114
+ [...k].map(
115
+ (d) => new Promise((b) => {
116
+ function M() {
117
+ if (d.style.display = "flex", d.style.flexDirection = "column", g) {
118
+ const T = w().fontSize ? w().fontSize : window.getComputedStyle(document.body).fontSize, W = 5;
119
+ d.style.width = parseInt(T, 10) * W + "px";
120
+ } else
121
+ d.style.width = "100%";
122
+ b(d);
123
+ }
124
+ setTimeout(() => {
125
+ d.complete && M();
126
+ }), d.addEventListener("error", M), d.addEventListener("load", M);
127
+ })
128
+ )
129
+ );
130
+ }
131
+ f = p.getBoundingClientRect(), u.attr("width", f.width), u.attr("height", f.height);
132
+ }
133
+ return i ? l.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")") : l.attr("transform", "translate(0, " + -f.height / 2 + ")"), t.centerLabel && l.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), l.insert("rect", ":first-child"), { shapeSvg: s, bbox: f, halfPadding: y, label: l };
134
+ }), v = (a, t) => {
135
+ const r = t.node().getBBox();
136
+ a.width = r.width, a.height = r.height;
137
+ };
138
+ function X(a, t, r, n) {
139
+ return a.insert("polygon", ":first-child").attr(
140
+ "points",
141
+ n.map(function(e) {
142
+ return e.x + "," + e.y;
143
+ }).join(" ")
144
+ ).attr("class", "label-container").attr("transform", "translate(" + -t / 2 + "," + r / 2 + ")");
145
+ }
146
+ function Lt(a, t) {
147
+ return a.intersect(t);
148
+ }
149
+ function st(a, t, r, n) {
150
+ var e = a.x, i = a.y, s = e - n.x, l = i - n.y, c = Math.sqrt(t * t * l * l + r * r * s * s), o = Math.abs(t * r * s / c);
151
+ n.x < e && (o = -o);
152
+ var h = Math.abs(t * r * l / c);
153
+ return n.y < i && (h = -h), { x: e + o, y: i + h };
154
+ }
155
+ function St(a, t, r) {
156
+ return st(a, t, t, r);
157
+ }
158
+ function Et(a, t, r, n) {
159
+ var e, i, s, l, c, o, h, f, y, p, u, k, g, d, b;
160
+ if (e = t.y - a.y, s = a.x - t.x, c = t.x * a.y - a.x * t.y, y = e * r.x + s * r.y + c, p = e * n.x + s * n.y + c, !(y !== 0 && p !== 0 && K(y, p)) && (i = n.y - r.y, l = r.x - n.x, o = n.x * r.y - r.x * n.y, h = i * a.x + l * a.y + o, f = i * t.x + l * t.y + o, !(h !== 0 && f !== 0 && K(h, f)) && (u = e * l - i * s, u !== 0)))
161
+ return k = Math.abs(u / 2), g = s * o - l * c, d = g < 0 ? (g - k) / u : (g + k) / u, g = i * c - e * o, b = g < 0 ? (g - k) / u : (g + k) / u, { x: d, y: b };
162
+ }
163
+ function K(a, t) {
164
+ return a * t > 0;
165
+ }
166
+ function Bt(a, t, r) {
167
+ var n = a.x, e = a.y, i = [], s = Number.POSITIVE_INFINITY, l = Number.POSITIVE_INFINITY;
168
+ typeof t.forEach == "function" ? t.forEach(function(u) {
169
+ s = Math.min(s, u.x), l = Math.min(l, u.y);
170
+ }) : (s = Math.min(s, t.x), l = Math.min(l, t.y));
171
+ for (var c = n - a.width / 2 - s, o = e - a.height / 2 - l, h = 0; h < t.length; h++) {
172
+ var f = t[h], y = t[h < t.length - 1 ? h + 1 : 0], p = Et(
173
+ a,
174
+ r,
175
+ { x: c + f.x, y: o + f.y },
176
+ { x: c + y.x, y: o + y.y }
177
+ );
178
+ p && i.push(p);
179
+ }
180
+ return i.length ? (i.length > 1 && i.sort(function(u, k) {
181
+ var g = u.x - r.x, d = u.y - r.y, b = Math.sqrt(g * g + d * d), M = k.x - r.x, T = k.y - r.y, W = Math.sqrt(M * M + T * T);
182
+ return b < W ? -1 : b === W ? 0 : 1;
183
+ }), i[0]) : a;
184
+ }
185
+ const Mt = (a, t) => {
186
+ var r = a.x, n = a.y, e = t.x - r, i = t.y - n, s = a.width / 2, l = a.height / 2, c, o;
187
+ return Math.abs(i) * s > Math.abs(e) * l ? (i < 0 && (l = -l), c = i === 0 ? 0 : l * e / i, o = l) : (e < 0 && (s = -s), c = s, o = e === 0 ? 0 : s * i / e), { x: r + c, y: n + o };
188
+ }, _t = Mt, m = {
189
+ node: Lt,
190
+ circle: St,
191
+ ellipse: st,
192
+ polygon: Bt,
193
+ rect: _t
194
+ }, Ct = (a, t) => E(void 0, null, function* () {
195
+ t.useHtmlLabels || w().flowchart.htmlLabels || (t.centerLabel = !0);
196
+ const { shapeSvg: n, bbox: e, halfPadding: i } = yield C(
197
+ a,
198
+ t,
199
+ "node " + t.classes,
200
+ !0
201
+ );
202
+ x.info("Classes = ", t.classes);
203
+ const s = n.insert("rect", ":first-child");
204
+ return s.attr("rx", t.rx).attr("ry", t.ry).attr("x", -e.width / 2 - i).attr("y", -e.height / 2 - i).attr("width", e.width + t.padding).attr("height", e.height + t.padding), v(t, s), t.intersect = function(l) {
205
+ return m.rect(t, l);
206
+ }, n;
207
+ }), Tt = Ct, G = (a) => a ? " " + a : "", $ = (a, t) => `${t || "node default"}${G(a.classes)} ${G(
208
+ a.class
209
+ )}`, P = (a, t) => E(void 0, null, function* () {
210
+ const { shapeSvg: r, bbox: n } = yield C(
211
+ a,
212
+ t,
213
+ $(t, void 0),
214
+ !0
215
+ ), e = n.width + t.padding, i = n.height + t.padding, s = e + i, l = [
216
+ { x: s / 2, y: 0 },
217
+ { x: s, y: -s / 2 },
218
+ { x: s / 2, y: -s },
219
+ { x: 0, y: -s / 2 }
220
+ ];
221
+ x.info("Question main (Circle)");
222
+ const c = X(r, s, s, l);
223
+ return c.attr("style", t.style), v(t, c), t.intersect = function(o) {
224
+ return x.warn("Intersect called"), m.polygon(t, l, o);
225
+ }, r;
226
+ }), Rt = (a, t) => {
227
+ const r = a.insert("g").attr("class", "node default").attr("id", t.domId || t.id), n = 28, e = [
228
+ { x: 0, y: n / 2 },
229
+ { x: n / 2, y: 0 },
230
+ { x: 0, y: -n / 2 },
231
+ { x: -n / 2, y: 0 }
232
+ ];
233
+ return r.insert("polygon", ":first-child").attr(
234
+ "points",
235
+ e.map(function(s) {
236
+ return s.x + "," + s.y;
237
+ }).join(" ")
238
+ ).attr("class", "state-start").attr("r", 7).attr("width", 28).attr("height", 28), t.width = 28, t.height = 28, t.intersect = function(s) {
239
+ return m.circle(t, 14, s);
240
+ }, r;
241
+ }, It = (a, t) => E(void 0, null, function* () {
242
+ const { shapeSvg: r, bbox: n } = yield C(
243
+ a,
244
+ t,
245
+ $(t, void 0),
246
+ !0
247
+ ), e = 4, i = n.height + t.padding, s = i / e, l = n.width + 2 * s + t.padding, c = [
248
+ { x: s, y: 0 },
249
+ { x: l - s, y: 0 },
250
+ { x: l, y: -i / 2 },
251
+ { x: l - s, y: -i },
252
+ { x: s, y: -i },
253
+ { x: 0, y: -i / 2 }
254
+ ], o = X(r, l, i, c);
255
+ return o.attr("style", t.style), v(t, o), t.intersect = function(h) {
256
+ return m.polygon(t, c, h);
257
+ }, r;
258
+ }), $t = (a, t) => E(void 0, null, function* () {
259
+ const { shapeSvg: r, bbox: n } = yield C(
260
+ a,
261
+ t,
262
+ $(t, void 0),
263
+ !0
264
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
265
+ { x: -i / 2, y: 0 },
266
+ { x: e, y: 0 },
267
+ { x: e, y: -i },
268
+ { x: -i / 2, y: -i },
269
+ { x: 0, y: -i / 2 }
270
+ ];
271
+ return X(r, e, i, s).attr("style", t.style), t.width = e + i, t.height = i, t.intersect = function(c) {
272
+ return m.polygon(t, s, c);
273
+ }, r;
274
+ }), Ht = (a, t) => E(void 0, null, function* () {
275
+ const { shapeSvg: r, bbox: n } = yield C(a, t, $(t), !0), e = n.width + t.padding, i = n.height + t.padding, s = [
276
+ { x: -2 * i / 6, y: 0 },
277
+ { x: e - i / 6, y: 0 },
278
+ { x: e + 2 * i / 6, y: -i },
279
+ { x: i / 6, y: -i }
280
+ ], l = X(r, e, i, s);
281
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
282
+ return m.polygon(t, s, c);
283
+ }, r;
284
+ }), Nt = (a, t) => E(void 0, null, function* () {
285
+ const { shapeSvg: r, bbox: n } = yield C(
286
+ a,
287
+ t,
288
+ $(t, void 0),
289
+ !0
290
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
291
+ { x: 2 * i / 6, y: 0 },
292
+ { x: e + i / 6, y: 0 },
293
+ { x: e - 2 * i / 6, y: -i },
294
+ { x: -i / 6, y: -i }
295
+ ], l = X(r, e, i, s);
296
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
297
+ return m.polygon(t, s, c);
298
+ }, r;
299
+ }), Ot = (a, t) => E(void 0, null, function* () {
300
+ const { shapeSvg: r, bbox: n } = yield C(
301
+ a,
302
+ t,
303
+ $(t, void 0),
304
+ !0
305
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
306
+ { x: -2 * i / 6, y: 0 },
307
+ { x: e + 2 * i / 6, y: 0 },
308
+ { x: e - i / 6, y: -i },
309
+ { x: i / 6, y: -i }
310
+ ], l = X(r, e, i, s);
311
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
312
+ return m.polygon(t, s, c);
313
+ }, r;
314
+ }), Xt = (a, t) => E(void 0, null, function* () {
315
+ const { shapeSvg: r, bbox: n } = yield C(
316
+ a,
317
+ t,
318
+ $(t, void 0),
319
+ !0
320
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
321
+ { x: i / 6, y: 0 },
322
+ { x: e - i / 6, y: 0 },
323
+ { x: e + 2 * i / 6, y: -i },
324
+ { x: -2 * i / 6, y: -i }
325
+ ], l = X(r, e, i, s);
326
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
327
+ return m.polygon(t, s, c);
328
+ }, r;
329
+ }), Yt = (a, t) => E(void 0, null, function* () {
330
+ const { shapeSvg: r, bbox: n } = yield C(
331
+ a,
332
+ t,
333
+ $(t, void 0),
334
+ !0
335
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
336
+ { x: 0, y: 0 },
337
+ { x: e + i / 2, y: 0 },
338
+ { x: e, y: -i / 2 },
339
+ { x: e + i / 2, y: -i },
340
+ { x: 0, y: -i }
341
+ ], l = X(r, e, i, s);
342
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
343
+ return m.polygon(t, s, c);
344
+ }, r;
345
+ }), Wt = (a, t) => E(void 0, null, function* () {
346
+ const { shapeSvg: r, bbox: n } = yield C(
347
+ a,
348
+ t,
349
+ $(t, void 0),
350
+ !0
351
+ ), e = n.width + t.padding, i = e / 2, s = i / (2.5 + e / 50), l = n.height + s + t.padding, c = "M 0," + s + " a " + i + "," + s + " 0,0,0 " + e + " 0 a " + i + "," + s + " 0,0,0 " + -e + " 0 l 0," + l + " a " + i + "," + s + " 0,0,0 " + e + " 0 l 0," + -l, o = r.attr("label-offset-y", s).insert("path", ":first-child").attr("style", t.style).attr("d", c).attr("transform", "translate(" + -e / 2 + "," + -(l / 2 + s) + ")");
352
+ return v(t, o), t.intersect = function(h) {
353
+ const f = m.rect(t, h), y = f.x - t.x;
354
+ if (i != 0 && (Math.abs(y) < t.width / 2 || Math.abs(y) == t.width / 2 && Math.abs(f.y - t.y) > t.height / 2 - s)) {
355
+ let p = s * s * (1 - y * y / (i * i));
356
+ p != 0 && (p = Math.sqrt(p)), p = s - p, h.y - t.y > 0 && (p = -p), f.y += p;
357
+ }
358
+ return f;
359
+ }, r;
360
+ }), Dt = (a, t) => E(void 0, null, function* () {
361
+ const { shapeSvg: r, bbox: n, halfPadding: e } = yield C(
362
+ a,
363
+ t,
364
+ "node " + t.classes + " " + t.class,
365
+ !0
366
+ ), i = r.insert("rect", ":first-child"), s = n.width + t.padding, l = n.height + t.padding;
367
+ if (i.attr("class", "basic label-container").attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("x", -n.width / 2 - e).attr("y", -n.height / 2 - e).attr("width", s).attr("height", l), t.props) {
368
+ const c = new Set(Object.keys(t.props));
369
+ t.props.borders && (it(i, t.props.borders, s, l), c.delete("borders")), c.forEach((o) => {
370
+ x.warn(`Unknown node property ${o}`);
371
+ });
372
+ }
373
+ return v(t, i), t.intersect = function(c) {
374
+ return m.rect(t, c);
375
+ }, r;
376
+ }), jt = (a, t) => E(void 0, null, function* () {
377
+ const { shapeSvg: r } = yield C(a, t, "label", !0);
378
+ x.trace("Classes = ", t.class);
379
+ const n = r.insert("rect", ":first-child"), e = 0, i = 0;
380
+ if (n.attr("width", e).attr("height", i), r.attr("class", "label edgeLabel"), t.props) {
381
+ const s = new Set(Object.keys(t.props));
382
+ t.props.borders && (it(n, t.props.borders, e, i), s.delete("borders")), s.forEach((l) => {
383
+ x.warn(`Unknown node property ${l}`);
384
+ });
385
+ }
386
+ return v(t, n), t.intersect = function(s) {
387
+ return m.rect(t, s);
388
+ }, r;
389
+ });
390
+ function it(a, t, r, n) {
391
+ const e = [], i = (l) => {
392
+ e.push(l, 0);
393
+ }, s = (l) => {
394
+ e.push(0, l);
395
+ };
396
+ t.includes("t") ? (x.debug("add top border"), i(r)) : s(r), t.includes("r") ? (x.debug("add right border"), i(n)) : s(n), t.includes("b") ? (x.debug("add bottom border"), i(r)) : s(r), t.includes("l") ? (x.debug("add left border"), i(n)) : s(n), a.attr("stroke-dasharray", e.join(" "));
397
+ }
398
+ const At = (a, t) => {
399
+ let r;
400
+ t.classes ? r = "node " + t.classes : r = "node default";
401
+ const n = a.insert("g").attr("class", r).attr("id", t.domId || t.id), e = n.insert("rect", ":first-child"), i = n.insert("line"), s = n.insert("g").attr("class", "label"), l = t.labelText.flat ? t.labelText.flat() : t.labelText;
402
+ let c = "";
403
+ typeof l == "object" ? c = l[0] : c = l, x.info("Label text abc79", c, l, typeof l == "object");
404
+ const o = s.node().appendChild(H(c, t.labelStyle, !0, !0));
405
+ let h = { width: 0, height: 0 };
406
+ if (N(w().flowchart.htmlLabels)) {
407
+ const k = o.children[0], g = _(o);
408
+ h = k.getBoundingClientRect(), g.attr("width", h.width), g.attr("height", h.height);
409
+ }
410
+ x.info("Text 2", l);
411
+ const f = l.slice(1, l.length);
412
+ let y = o.getBBox();
413
+ const p = s.node().appendChild(
414
+ H(f.join ? f.join("<br/>") : f, t.labelStyle, !0, !0)
415
+ );
416
+ if (N(w().flowchart.htmlLabels)) {
417
+ const k = p.children[0], g = _(p);
418
+ h = k.getBoundingClientRect(), g.attr("width", h.width), g.attr("height", h.height);
419
+ }
420
+ const u = t.padding / 2;
421
+ return _(p).attr(
422
+ "transform",
423
+ "translate( " + // (titleBox.width - bbox.width) / 2 +
424
+ (h.width > y.width ? 0 : (y.width - h.width) / 2) + ", " + (y.height + u + 5) + ")"
425
+ ), _(o).attr(
426
+ "transform",
427
+ "translate( " + // (titleBox.width - bbox.width) / 2 +
428
+ (h.width < y.width ? 0 : -(y.width - h.width) / 2) + ", 0)"
429
+ ), h = s.node().getBBox(), s.attr(
430
+ "transform",
431
+ "translate(" + -h.width / 2 + ", " + (-h.height / 2 - u + 3) + ")"
432
+ ), e.attr("class", "outer title-state").attr("x", -h.width / 2 - u).attr("y", -h.height / 2 - u).attr("width", h.width + t.padding).attr("height", h.height + t.padding), i.attr("class", "divider").attr("x1", -h.width / 2 - u).attr("x2", h.width / 2 + u).attr("y1", -h.height / 2 - u + y.height + u).attr("y2", -h.height / 2 - u + y.height + u), v(t, e), t.intersect = function(k) {
433
+ return m.rect(t, k);
434
+ }, n;
435
+ }, Ut = (a, t) => E(void 0, null, function* () {
436
+ const { shapeSvg: r, bbox: n } = yield C(
437
+ a,
438
+ t,
439
+ $(t, void 0),
440
+ !0
441
+ ), e = n.height + t.padding, i = n.width + e / 4 + t.padding, s = r.insert("rect", ":first-child").attr("style", t.style).attr("rx", e / 2).attr("ry", e / 2).attr("x", -i / 2).attr("y", -e / 2).attr("width", i).attr("height", e);
442
+ return v(t, s), t.intersect = function(l) {
443
+ return m.rect(t, l);
444
+ }, r;
445
+ }), zt = (a, t) => E(void 0, null, function* () {
446
+ const { shapeSvg: r, bbox: n, halfPadding: e } = yield C(
447
+ a,
448
+ t,
449
+ $(t, void 0),
450
+ !0
451
+ ), i = r.insert("circle", ":first-child");
452
+ return i.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", n.width / 2 + e).attr("width", n.width + t.padding).attr("height", n.height + t.padding), x.info("Circle main"), v(t, i), t.intersect = function(s) {
453
+ return x.info("Circle intersect", t, n.width / 2 + e, s), m.circle(t, n.width / 2 + e, s);
454
+ }, r;
455
+ }), Zt = (a, t) => E(void 0, null, function* () {
456
+ const { shapeSvg: r, bbox: n, halfPadding: e } = yield C(
457
+ a,
458
+ t,
459
+ $(t, void 0),
460
+ !0
461
+ ), i = 5, s = r.insert("g", ":first-child"), l = s.insert("circle"), c = s.insert("circle");
462
+ return s.attr("class", t.class), l.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", n.width / 2 + e + i).attr("width", n.width + t.padding + i * 2).attr("height", n.height + t.padding + i * 2), c.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", n.width / 2 + e).attr("width", n.width + t.padding).attr("height", n.height + t.padding), x.info("DoubleCircle main"), v(t, l), t.intersect = function(o) {
463
+ return x.info("DoubleCircle intersect", t, n.width / 2 + e + i, o), m.circle(t, n.width / 2 + e + i, o);
464
+ }, r;
465
+ }), Ft = (a, t) => E(void 0, null, function* () {
466
+ const { shapeSvg: r, bbox: n } = yield C(
467
+ a,
468
+ t,
469
+ $(t, void 0),
470
+ !0
471
+ ), e = n.width + t.padding, i = n.height + t.padding, s = [
472
+ { x: 0, y: 0 },
473
+ { x: e, y: 0 },
474
+ { x: e, y: -i },
475
+ { x: 0, y: -i },
476
+ { x: 0, y: 0 },
477
+ { x: -8, y: 0 },
478
+ { x: e + 8, y: 0 },
479
+ { x: e + 8, y: -i },
480
+ { x: -8, y: -i },
481
+ { x: -8, y: 0 }
482
+ ], l = X(r, e, i, s);
483
+ return l.attr("style", t.style), v(t, l), t.intersect = function(c) {
484
+ return m.polygon(t, s, c);
485
+ }, r;
486
+ }), Qt = (a, t) => {
487
+ const r = a.insert("g").attr("class", "node default").attr("id", t.domId || t.id), n = r.insert("circle", ":first-child");
488
+ return n.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), v(t, n), t.intersect = function(e) {
489
+ return m.circle(t, 7, e);
490
+ }, r;
491
+ }, tt = (a, t, r) => {
492
+ const n = a.insert("g").attr("class", "node default").attr("id", t.domId || t.id);
493
+ let e = 70, i = 10;
494
+ r === "LR" && (e = 10, i = 70);
495
+ const s = n.append("rect").attr("x", -1 * e / 2).attr("y", -1 * i / 2).attr("width", e).attr("height", i).attr("class", "fork-join");
496
+ return v(t, s), t.height = t.height + t.padding / 2, t.width = t.width + t.padding / 2, t.intersect = function(l) {
497
+ return m.rect(t, l);
498
+ }, n;
499
+ }, Vt = (a, t) => {
500
+ const r = a.insert("g").attr("class", "node default").attr("id", t.domId || t.id), n = r.insert("circle", ":first-child"), e = r.insert("circle", ":first-child");
501
+ return e.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), n.attr("class", "state-end").attr("r", 5).attr("width", 10).attr("height", 10), v(t, e), t.intersect = function(i) {
502
+ return m.circle(t, 7, i);
503
+ }, r;
504
+ }, Jt = (a, t) => {
505
+ const r = t.padding / 2, n = 4, e = 8;
506
+ let i;
507
+ t.classes ? i = "node " + t.classes : i = "node default";
508
+ const s = a.insert("g").attr("class", i).attr("id", t.domId || t.id), l = s.insert("rect", ":first-child"), c = s.insert("line"), o = s.insert("line");
509
+ let h = 0, f = n;
510
+ const y = s.insert("g").attr("class", "label");
511
+ let p = 0;
512
+ const u = t.classData.annotations && t.classData.annotations[0], k = t.classData.annotations[0] ? "«" + t.classData.annotations[0] + "»" : "", g = y.node().appendChild(H(k, t.labelStyle, !0, !0));
513
+ let d = g.getBBox();
514
+ if (N(w().flowchart.htmlLabels)) {
515
+ const L = g.children[0], S = _(g);
516
+ d = L.getBoundingClientRect(), S.attr("width", d.width), S.attr("height", d.height);
517
+ }
518
+ t.classData.annotations[0] && (f += d.height + n, h += d.width);
519
+ let b = t.classData.label;
520
+ t.classData.type !== void 0 && t.classData.type !== "" && (w().flowchart.htmlLabels ? b += "&lt;" + t.classData.type + "&gt;" : b += "<" + t.classData.type + ">");
521
+ const M = y.node().appendChild(H(b, t.labelStyle, !0, !0));
522
+ _(M).attr("class", "classTitle");
523
+ let T = M.getBBox();
524
+ if (N(w().flowchart.htmlLabels)) {
525
+ const L = M.children[0], S = _(M);
526
+ T = L.getBoundingClientRect(), S.attr("width", T.width), S.attr("height", T.height);
527
+ }
528
+ f += T.height + n, T.width > h && (h = T.width);
529
+ const W = [];
530
+ t.classData.members.forEach((L) => {
531
+ const S = L.getDisplayDetails();
532
+ let R = S.displayText;
533
+ w().flowchart.htmlLabels && (R = R.replace(/</g, "&lt;").replace(/>/g, "&gt;"));
534
+ const O = y.node().appendChild(
535
+ H(
536
+ R,
537
+ S.cssStyle ? S.cssStyle : t.labelStyle,
538
+ !0,
539
+ !0
540
+ )
541
+ );
542
+ let I = O.getBBox();
543
+ if (N(w().flowchart.htmlLabels)) {
544
+ const Q = O.children[0], j = _(O);
545
+ I = Q.getBoundingClientRect(), j.attr("width", I.width), j.attr("height", I.height);
546
+ }
547
+ I.width > h && (h = I.width), f += I.height + n, W.push(O);
548
+ }), f += e;
549
+ const J = [];
550
+ if (t.classData.methods.forEach((L) => {
551
+ const S = L.getDisplayDetails();
552
+ let R = S.displayText;
553
+ w().flowchart.htmlLabels && (R = R.replace(/</g, "&lt;").replace(/>/g, "&gt;"));
554
+ const O = y.node().appendChild(
555
+ H(
556
+ R,
557
+ S.cssStyle ? S.cssStyle : t.labelStyle,
558
+ !0,
559
+ !0
560
+ )
561
+ );
562
+ let I = O.getBBox();
563
+ if (N(w().flowchart.htmlLabels)) {
564
+ const Q = O.children[0], j = _(O);
565
+ I = Q.getBoundingClientRect(), j.attr("width", I.width), j.attr("height", I.height);
566
+ }
567
+ I.width > h && (h = I.width), f += I.height + n, J.push(O);
568
+ }), f += e, u) {
569
+ let L = (h - d.width) / 2;
570
+ _(g).attr(
571
+ "transform",
572
+ "translate( " + (-1 * h / 2 + L) + ", " + -1 * f / 2 + ")"
573
+ ), p = d.height + n;
574
+ }
575
+ let nt = (h - T.width) / 2;
576
+ return _(M).attr(
577
+ "transform",
578
+ "translate( " + (-1 * h / 2 + nt) + ", " + (-1 * f / 2 + p) + ")"
579
+ ), p += T.height + n, c.attr("class", "divider").attr("x1", -h / 2 - r).attr("x2", h / 2 + r).attr("y1", -f / 2 - r + e + p).attr("y2", -f / 2 - r + e + p), p += e, W.forEach((L) => {
580
+ var R;
581
+ _(L).attr(
582
+ "transform",
583
+ "translate( " + -h / 2 + ", " + (-1 * f / 2 + p + e / 2) + ")"
584
+ );
585
+ const S = L == null ? void 0 : L.getBBox();
586
+ p += ((R = S == null ? void 0 : S.height) != null ? R : 0) + n;
587
+ }), p += e, o.attr("class", "divider").attr("x1", -h / 2 - r).attr("x2", h / 2 + r).attr("y1", -f / 2 - r + e + p).attr("y2", -f / 2 - r + e + p), p += e, J.forEach((L) => {
588
+ var R;
589
+ _(L).attr(
590
+ "transform",
591
+ "translate( " + -h / 2 + ", " + (-1 * f / 2 + p) + ")"
592
+ );
593
+ const S = L == null ? void 0 : L.getBBox();
594
+ p += ((R = S == null ? void 0 : S.height) != null ? R : 0) + n;
595
+ }), l.attr("class", "outer title-state").attr("x", -h / 2 - r).attr("y", -(f / 2) - r).attr("width", h + t.padding).attr("height", f + t.padding), v(t, l), t.intersect = function(L) {
596
+ return m.rect(t, L);
597
+ }, s;
598
+ }, rt = {
599
+ rhombus: P,
600
+ question: P,
601
+ rect: Dt,
602
+ labelRect: jt,
603
+ rectWithTitle: At,
604
+ choice: Rt,
605
+ circle: zt,
606
+ doublecircle: Zt,
607
+ stadium: Ut,
608
+ hexagon: It,
609
+ rect_left_inv_arrow: $t,
610
+ lean_right: Ht,
611
+ lean_left: Nt,
612
+ trapezoid: Ot,
613
+ inv_trapezoid: Xt,
614
+ rect_right_inv_arrow: Yt,
615
+ cylinder: Wt,
616
+ start: Qt,
617
+ end: Vt,
618
+ note: Tt,
619
+ subroutine: Ft,
620
+ fork: tt,
621
+ join: tt,
622
+ class_box: Jt
623
+ };
624
+ let D = {};
625
+ const sr = (a, t, r) => E(void 0, null, function* () {
626
+ let n, e;
627
+ if (t.link) {
628
+ let i;
629
+ w().securityLevel === "sandbox" ? i = "_top" : t.linkTarget && (i = t.linkTarget || "_blank"), n = a.insert("svg:a").attr("xlink:href", t.link).attr("target", i), e = yield rt[t.shape](n, t, r);
630
+ } else
631
+ e = yield rt[t.shape](a, t, r), n = e;
632
+ return t.tooltip && e.attr("title", t.tooltip), t.class && e.attr("class", "node default " + t.class), D[t.id] = n, t.haveCallback && D[t.id].attr("class", D[t.id].attr("class") + " clickable"), n;
633
+ }), ir = (a, t) => {
634
+ D[t.id] = a;
635
+ }, nr = () => {
636
+ D = {};
637
+ }, lr = (a) => {
638
+ const t = D[a.id];
639
+ x.trace(
640
+ "Transforming node",
641
+ a.diff,
642
+ a,
643
+ "translate(" + (a.x - a.width / 2 - 5) + ", " + a.width / 2 + ")"
644
+ );
645
+ const r = 8, n = a.diff || 0;
646
+ return a.clusterNode ? t.attr(
647
+ "transform",
648
+ "translate(" + (a.x + n - a.width / 2) + ", " + (a.y - a.height / 2 - r) + ")"
649
+ ) : t.attr("transform", "translate(" + a.x + ", " + a.y + ")"), n;
650
+ }, Y = {
651
+ aggregation: 18,
652
+ extension: 18,
653
+ composition: 18,
654
+ dependency: 6,
655
+ lollipop: 13.5,
656
+ arrow_point: 5.3
657
+ };
658
+ function U(a, t) {
659
+ a = Z(a), t = Z(t);
660
+ const [r, n] = [a.x, a.y], [e, i] = [t.x, t.y], s = e - r, l = i - n;
661
+ return { angle: Math.atan(l / s), deltaX: s, deltaY: l };
662
+ }
663
+ const Z = (a) => Array.isArray(a) ? { x: a[0], y: a[1] } : a, qt = (a) => ({
664
+ x: function(t, r, n) {
665
+ let e = 0;
666
+ if (r === 0 && Object.hasOwn(Y, a.arrowTypeStart)) {
667
+ const { angle: i, deltaX: s } = U(n[0], n[1]);
668
+ e = Y[a.arrowTypeStart] * Math.cos(i) * (s >= 0 ? 1 : -1);
669
+ } else if (r === n.length - 1 && Object.hasOwn(Y, a.arrowTypeEnd)) {
670
+ const { angle: i, deltaX: s } = U(
671
+ n[n.length - 1],
672
+ n[n.length - 2]
673
+ );
674
+ e = Y[a.arrowTypeEnd] * Math.cos(i) * (s >= 0 ? 1 : -1);
675
+ }
676
+ return Z(t).x + e;
677
+ },
678
+ y: function(t, r, n) {
679
+ let e = 0;
680
+ if (r === 0 && Object.hasOwn(Y, a.arrowTypeStart)) {
681
+ const { angle: i, deltaY: s } = U(n[0], n[1]);
682
+ e = Y[a.arrowTypeStart] * Math.abs(Math.sin(i)) * (s >= 0 ? 1 : -1);
683
+ } else if (r === n.length - 1 && Object.hasOwn(Y, a.arrowTypeEnd)) {
684
+ const { angle: i, deltaY: s } = U(
685
+ n[n.length - 1],
686
+ n[n.length - 2]
687
+ );
688
+ e = Y[a.arrowTypeEnd] * Math.abs(Math.sin(i)) * (s >= 0 ? 1 : -1);
689
+ }
690
+ return Z(t).y + e;
691
+ }
692
+ });
693
+ let F = {}, B = {};
694
+ const cr = () => {
695
+ F = {}, B = {};
696
+ }, hr = (a, t) => {
697
+ const r = N(w().flowchart.htmlLabels), n = t.labelType === "markdown" ? et(a, t.label, {
698
+ style: t.labelStyle,
699
+ useHtmlLabels: r,
700
+ addSvgBackground: !0
701
+ }) : H(t.label, t.labelStyle);
702
+ x.info("abc82", t, t.labelType);
703
+ const e = a.insert("g").attr("class", "edgeLabel"), i = e.insert("g").attr("class", "label");
704
+ i.node().appendChild(n);
705
+ let s = n.getBBox();
706
+ if (r) {
707
+ const c = n.children[0], o = _(n);
708
+ s = c.getBoundingClientRect(), o.attr("width", s.width), o.attr("height", s.height);
709
+ }
710
+ i.attr("transform", "translate(" + -s.width / 2 + ", " + -s.height / 2 + ")"), F[t.id] = e, t.width = s.width, t.height = s.height;
711
+ let l;
712
+ if (t.startLabelLeft) {
713
+ const c = H(t.startLabelLeft, t.labelStyle), o = a.insert("g").attr("class", "edgeTerminals"), h = o.insert("g").attr("class", "inner");
714
+ l = h.node().appendChild(c);
715
+ const f = c.getBBox();
716
+ h.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), B[t.id] || (B[t.id] = {}), B[t.id].startLeft = o, z(l, t.startLabelLeft);
717
+ }
718
+ if (t.startLabelRight) {
719
+ const c = H(t.startLabelRight, t.labelStyle), o = a.insert("g").attr("class", "edgeTerminals"), h = o.insert("g").attr("class", "inner");
720
+ l = o.node().appendChild(c), h.node().appendChild(c);
721
+ const f = c.getBBox();
722
+ h.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), B[t.id] || (B[t.id] = {}), B[t.id].startRight = o, z(l, t.startLabelRight);
723
+ }
724
+ if (t.endLabelLeft) {
725
+ const c = H(t.endLabelLeft, t.labelStyle), o = a.insert("g").attr("class", "edgeTerminals"), h = o.insert("g").attr("class", "inner");
726
+ l = h.node().appendChild(c);
727
+ const f = c.getBBox();
728
+ h.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), o.node().appendChild(c), B[t.id] || (B[t.id] = {}), B[t.id].endLeft = o, z(l, t.endLabelLeft);
729
+ }
730
+ if (t.endLabelRight) {
731
+ const c = H(t.endLabelRight, t.labelStyle), o = a.insert("g").attr("class", "edgeTerminals"), h = o.insert("g").attr("class", "inner");
732
+ l = h.node().appendChild(c);
733
+ const f = c.getBBox();
734
+ h.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), o.node().appendChild(c), B[t.id] || (B[t.id] = {}), B[t.id].endRight = o, z(l, t.endLabelRight);
735
+ }
736
+ return n;
737
+ };
738
+ function z(a, t) {
739
+ w().flowchart.htmlLabels && a && (a.style.width = t.length * 9 + "px", a.style.height = "12px");
740
+ }
741
+ const or = (a, t) => {
742
+ x.info("Moving label abc78 ", a.id, a.label, F[a.id]);
743
+ let r = t.updatedPath ? t.updatedPath : t.originalPath;
744
+ if (a.label) {
745
+ const n = F[a.id];
746
+ let e = a.x, i = a.y;
747
+ if (r) {
748
+ const s = A.calcLabelPosition(r);
749
+ x.info(
750
+ "Moving label " + a.label + " from (",
751
+ e,
752
+ ",",
753
+ i,
754
+ ") to (",
755
+ s.x,
756
+ ",",
757
+ s.y,
758
+ ") abc78"
759
+ ), t.updatedPath && (e = s.x, i = s.y);
760
+ }
761
+ n.attr("transform", "translate(" + e + ", " + i + ")");
762
+ }
763
+ if (a.startLabelLeft) {
764
+ const n = B[a.id].startLeft;
765
+ let e = a.x, i = a.y;
766
+ if (r) {
767
+ const s = A.calcTerminalLabelPosition(a.arrowTypeStart ? 10 : 0, "start_left", r);
768
+ e = s.x, i = s.y;
769
+ }
770
+ n.attr("transform", "translate(" + e + ", " + i + ")");
771
+ }
772
+ if (a.startLabelRight) {
773
+ const n = B[a.id].startRight;
774
+ let e = a.x, i = a.y;
775
+ if (r) {
776
+ const s = A.calcTerminalLabelPosition(
777
+ a.arrowTypeStart ? 10 : 0,
778
+ "start_right",
779
+ r
780
+ );
781
+ e = s.x, i = s.y;
782
+ }
783
+ n.attr("transform", "translate(" + e + ", " + i + ")");
784
+ }
785
+ if (a.endLabelLeft) {
786
+ const n = B[a.id].endLeft;
787
+ let e = a.x, i = a.y;
788
+ if (r) {
789
+ const s = A.calcTerminalLabelPosition(a.arrowTypeEnd ? 10 : 0, "end_left", r);
790
+ e = s.x, i = s.y;
791
+ }
792
+ n.attr("transform", "translate(" + e + ", " + i + ")");
793
+ }
794
+ if (a.endLabelRight) {
795
+ const n = B[a.id].endRight;
796
+ let e = a.x, i = a.y;
797
+ if (r) {
798
+ const s = A.calcTerminalLabelPosition(a.arrowTypeEnd ? 10 : 0, "end_right", r);
799
+ e = s.x, i = s.y;
800
+ }
801
+ n.attr("transform", "translate(" + e + ", " + i + ")");
802
+ }
803
+ }, Kt = (a, t) => {
804
+ const r = a.x, n = a.y, e = Math.abs(t.x - r), i = Math.abs(t.y - n), s = a.width / 2, l = a.height / 2;
805
+ return e >= s || i >= l;
806
+ }, Gt = (a, t, r) => {
807
+ x.warn(`intersection calc abc89:
808
+ outsidePoint: ${JSON.stringify(t)}
809
+ insidePoint : ${JSON.stringify(r)}
810
+ node : x:${a.x} y:${a.y} w:${a.width} h:${a.height}`);
811
+ const n = a.x, e = a.y, i = Math.abs(n - r.x), s = a.width / 2;
812
+ let l = r.x < t.x ? s - i : s + i;
813
+ const c = a.height / 2, o = Math.abs(t.y - r.y), h = Math.abs(t.x - r.x);
814
+ if (Math.abs(e - t.y) * s > Math.abs(n - t.x) * c) {
815
+ let f = r.y < t.y ? t.y - c - e : e - c - t.y;
816
+ l = h * f / o;
817
+ const y = {
818
+ x: r.x < t.x ? r.x + l : r.x - h + l,
819
+ y: r.y < t.y ? r.y + o - f : r.y - o + f
820
+ };
821
+ return l === 0 && (y.x = t.x, y.y = t.y), h === 0 && (y.x = t.x), o === 0 && (y.y = t.y), x.warn(`abc89 topp/bott calc, Q ${o}, q ${f}, R ${h}, r ${l}`, y), y;
822
+ } else {
823
+ r.x < t.x ? l = t.x - s - n : l = n - s - t.x;
824
+ let f = o * l / h, y = r.x < t.x ? r.x + h - l : r.x - h + l, p = r.y < t.y ? r.y + f : r.y - f;
825
+ return x.warn(`sides calc abc89, Q ${o}, q ${f}, R ${h}, r ${l}`, { _x: y, _y: p }), l === 0 && (y = t.x, p = t.y), h === 0 && (y = t.x), o === 0 && (p = t.y), { x: y, y: p };
826
+ }
827
+ }, at = (a, t) => {
828
+ x.warn("abc88 cutPathAtIntersect", a, t);
829
+ let r = [], n = a[0], e = !1;
830
+ return a.forEach((i) => {
831
+ if (x.info("abc88 checking point", i, t), !Kt(t, i) && !e) {
832
+ const s = Gt(t, n, i);
833
+ x.warn("abc88 inside", i, n, s), x.warn("abc88 intersection", s);
834
+ let l = !1;
835
+ r.forEach((c) => {
836
+ l = l || c.x === s.x && c.y === s.y;
837
+ }), r.some((c) => c.x === s.x && c.y === s.y) ? x.warn("abc88 no intersect", s, r) : r.push(s), e = !0;
838
+ } else
839
+ x.warn("abc88 outside", i, n), n = i, e || r.push(i);
840
+ }), x.warn("abc88 returning points", r), r;
841
+ }, fr = function(a, t, r, n, e, i, s) {
842
+ let l = r.points, c = !1;
843
+ const o = i.node(t.v);
844
+ var h = i.node(t.w);
845
+ x.info("abc88 InsertEdge: ", r), h.intersect && o.intersect && (l = l.slice(1, r.points.length - 1), l.unshift(o.intersect(l[0])), x.info(
846
+ "Last point",
847
+ l[l.length - 1],
848
+ h,
849
+ h.intersect(l[l.length - 1])
850
+ ), l.push(h.intersect(l[l.length - 1]))), r.toCluster && (x.info("to cluster abc88", n[r.toCluster]), l = at(r.points, n[r.toCluster].node), c = !0), r.fromCluster && (x.info("from cluster abc88", n[r.fromCluster]), l = at(l.reverse(), n[r.fromCluster].node).reverse(), c = !0);
851
+ const f = l.filter((T) => !Number.isNaN(T.y));
852
+ let y = lt;
853
+ r.curve && (e === "graph" || e === "flowchart") && (y = r.curve);
854
+ const { x: p, y: u } = qt(r), k = ct().x(p).y(u).curve(y);
855
+ let g;
856
+ switch (r.thickness) {
857
+ case "normal":
858
+ g = "edge-thickness-normal";
859
+ break;
860
+ case "thick":
861
+ g = "edge-thickness-thick";
862
+ break;
863
+ case "invisible":
864
+ g = "edge-thickness-thick";
865
+ break;
866
+ default:
867
+ g = "";
868
+ }
869
+ switch (r.pattern) {
870
+ case "solid":
871
+ g += " edge-pattern-solid";
872
+ break;
873
+ case "dotted":
874
+ g += " edge-pattern-dotted";
875
+ break;
876
+ case "dashed":
877
+ g += " edge-pattern-dashed";
878
+ break;
879
+ }
880
+ const d = a.append("path").attr("d", k(f)).attr("id", r.id).attr("class", " " + g + (r.classes ? " " + r.classes : "")).attr("style", r.style);
881
+ let b = "";
882
+ switch ((w().flowchart.arrowMarkerAbsolute || w().state.arrowMarkerAbsolute) && (b = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, b = b.replace(/\(/g, "\\("), b = b.replace(/\)/g, "\\)")), x.info("arrowTypeStart", r.arrowTypeStart), x.info("arrowTypeEnd", r.arrowTypeEnd), r.arrowTypeStart) {
883
+ case "arrow_cross":
884
+ d.attr(
885
+ "marker-start",
886
+ "url(" + b + "#" + s + "_" + e + "-crossStart)"
887
+ );
888
+ break;
889
+ case "arrow_point":
890
+ d.attr(
891
+ "marker-start",
892
+ "url(" + b + "#" + s + "_" + e + "-pointStart)"
893
+ );
894
+ break;
895
+ case "arrow_barb":
896
+ d.attr(
897
+ "marker-start",
898
+ "url(" + b + "#" + s + "_" + e + "-barbStart)"
899
+ );
900
+ break;
901
+ case "arrow_circle":
902
+ d.attr(
903
+ "marker-start",
904
+ "url(" + b + "#" + s + "_" + e + "-circleStart)"
905
+ );
906
+ break;
907
+ case "aggregation":
908
+ d.attr(
909
+ "marker-start",
910
+ "url(" + b + "#" + s + "_" + e + "-aggregationStart)"
911
+ );
912
+ break;
913
+ case "extension":
914
+ d.attr(
915
+ "marker-start",
916
+ "url(" + b + "#" + s + "_" + e + "-extensionStart)"
917
+ );
918
+ break;
919
+ case "composition":
920
+ d.attr(
921
+ "marker-start",
922
+ "url(" + b + "#" + s + "_" + e + "-compositionStart)"
923
+ );
924
+ break;
925
+ case "dependency":
926
+ d.attr(
927
+ "marker-start",
928
+ "url(" + b + "#" + s + "_" + e + "-dependencyStart)"
929
+ );
930
+ break;
931
+ case "lollipop":
932
+ d.attr(
933
+ "marker-start",
934
+ "url(" + b + "#" + s + "_" + e + "-lollipopStart)"
935
+ );
936
+ break;
937
+ }
938
+ switch (r.arrowTypeEnd) {
939
+ case "arrow_cross":
940
+ d.attr("marker-end", "url(" + b + "#" + s + "_" + e + "-crossEnd)");
941
+ break;
942
+ case "arrow_point":
943
+ d.attr("marker-end", "url(" + b + "#" + s + "_" + e + "-pointEnd)");
944
+ break;
945
+ case "arrow_barb":
946
+ d.attr("marker-end", "url(" + b + "#" + s + "_" + e + "-barbEnd)");
947
+ break;
948
+ case "arrow_circle":
949
+ d.attr("marker-end", "url(" + b + "#" + s + "_" + e + "-circleEnd)");
950
+ break;
951
+ case "aggregation":
952
+ d.attr(
953
+ "marker-end",
954
+ "url(" + b + "#" + s + "_" + e + "-aggregationEnd)"
955
+ );
956
+ break;
957
+ case "extension":
958
+ d.attr(
959
+ "marker-end",
960
+ "url(" + b + "#" + s + "_" + e + "-extensionEnd)"
961
+ );
962
+ break;
963
+ case "composition":
964
+ d.attr(
965
+ "marker-end",
966
+ "url(" + b + "#" + s + "_" + e + "-compositionEnd)"
967
+ );
968
+ break;
969
+ case "dependency":
970
+ d.attr(
971
+ "marker-end",
972
+ "url(" + b + "#" + s + "_" + e + "-dependencyEnd)"
973
+ );
974
+ break;
975
+ case "lollipop":
976
+ d.attr(
977
+ "marker-end",
978
+ "url(" + b + "#" + s + "_" + e + "-lollipopEnd)"
979
+ );
980
+ break;
981
+ }
982
+ let M = {};
983
+ return c && (M.updatedPath = l), M.originalPath = r.points, M;
984
+ };
985
+ export {
986
+ sr as a,
987
+ hr as b,
988
+ fr as c,
989
+ or as d,
990
+ nr as e,
991
+ cr as f,
992
+ H as g,
993
+ _t as h,
994
+ er as i,
995
+ qt as j,
996
+ C as l,
997
+ lr as p,
998
+ ir as s,
999
+ v as u
1000
+ };