@elmethis/core 1.0.0-alpha.135 → 1.0.0-alpha.136

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 (66) hide show
  1. package/dist/{Bash-5KqPZETT.js → Bash-BGUPOZp7.js} +1 -1
  2. package/dist/{Css-Br7IeFYI.js → Css-BCZOJ9TO.js} +1 -1
  3. package/dist/{Rust-TE1r2SD6.js → Rust-BwvKtYCc.js} +1 -1
  4. package/dist/_basePickBy-BjVOtBbf.js +152 -0
  5. package/dist/_baseUniq-DBXEmOed.js +583 -0
  6. package/dist/arc-CpOtc53l.js +83 -0
  7. package/dist/architecture-I3QFYML2-B3piHlUx.js +5 -0
  8. package/dist/architectureDiagram-UYN6MBPD-CIvqBNYd.js +4595 -0
  9. package/dist/blockDiagram-ZHA2E4KO-BJHIBwi6.js +2247 -0
  10. package/dist/c4Diagram-6F5ED5ID-DxXqw6e0.js +1581 -0
  11. package/dist/channel-BgZSmjvA.js +5 -0
  12. package/dist/chunk-5HRBRIJM-CvhBPtHu.js +24 -0
  13. package/dist/chunk-7U56Z5CX-CaWvnXle.js +1215 -0
  14. package/dist/chunk-ASOPGD6M-CQjrO8hd.js +64 -0
  15. package/dist/chunk-KFBOBJHC-DWru5GNu.js +15 -0
  16. package/dist/chunk-T2TOU4HS-DqpYO7rW.js +1303 -0
  17. package/dist/chunk-TMUBEWPD-LmMMNIqt.js +9 -0
  18. package/dist/classDiagram-LNE6IOMH-D5GoOZTJ.js +14 -0
  19. package/dist/classDiagram-v2-MQ7JQ4JX-D5GoOZTJ.js +14 -0
  20. package/dist/clone-DMQ2a__4.js +8 -0
  21. package/dist/{cobol-DZ3yq6J9.js → cobol-DMssKNmC.js} +1 -1
  22. package/dist/components/code/ElmMermaid.stories.d.ts +7 -0
  23. package/dist/components/code/ElmMermaid.vue.d.ts +8 -0
  24. package/dist/cytoscape.esm-CsRvAgYT.js +17639 -0
  25. package/dist/dagre-4EVJKHTY-C7YsHY3S.js +447 -0
  26. package/dist/diagram-QW4FP2JN-iDbrW_yI.js +126 -0
  27. package/dist/elmethis.js +36 -35
  28. package/dist/elmethis.umd.cjs +2272 -41
  29. package/dist/erDiagram-6RL3IURR-LYq0WEw3.js +937 -0
  30. package/dist/flowDiagram-7ASYPVHJ-DRPtjs2_.js +1484 -0
  31. package/dist/ganttDiagram-NTVNEXSI-C-hO_7Lp.js +2494 -0
  32. package/dist/gitGraph-YCYPL57B-BaVhg8eu.js +5 -0
  33. package/dist/gitGraphDiagram-NRZ2UAAF-u52k9qsq.js +712 -0
  34. package/dist/graph-CKV5wesZ.js +247 -0
  35. package/dist/{index-0D7NEPxZ.js → index-DQdUr-_f.js} +3548 -3436
  36. package/dist/index.d.ts +3 -2
  37. package/dist/info-46DW6VJ7-D5JUpHK_.js +5 -0
  38. package/dist/infoDiagram-A4XQUW5V-D5IcjWQu.js +22 -0
  39. package/dist/init-DjUOC4st.js +16 -0
  40. package/dist/journeyDiagram-G5WM74LC-XHcEaxXL.js +810 -0
  41. package/dist/kanban-definition-QRCXZQQD-BFgu8zXi.js +718 -0
  42. package/dist/layout-Cycesmdu.js +1324 -0
  43. package/dist/linear-CjRkwbhR.js +423 -0
  44. package/dist/mermaid-parser.core-CL_REaxY.js +12479 -0
  45. package/dist/mermaid.core-gtllNrzr.js +14852 -0
  46. package/dist/mindmap-definition-GWI6TPTV-yPOhYeCo.js +3220 -0
  47. package/dist/ordinal-DfAQgscy.js +61 -0
  48. package/dist/packet-W2GHVCYJ-D1drjM5q.js +5 -0
  49. package/dist/pie-BEWT4RHE-B2xFs62T.js +5 -0
  50. package/dist/pieDiagram-YF2LJOPJ-Cnvx0DvF.js +162 -0
  51. package/dist/quadrantDiagram-OS5C2QUG-DBWy6UVd.js +1024 -0
  52. package/dist/{razor-Dl6rcHmj.js → razor-CeqqNtyB.js} +1 -1
  53. package/dist/requirementDiagram-MIRIMTAZ-CfHcsBsO.js +768 -0
  54. package/dist/sankeyDiagram-Y46BX6SQ-C_60tCtv.js +805 -0
  55. package/dist/sass-eCUyDs9S.js +6 -0
  56. package/dist/scala-Cly-fENF.js +6 -0
  57. package/dist/sequenceDiagram-G6AWOVSC-XvgYpHvJ.js +2274 -0
  58. package/dist/stateDiagram-MAYHULR4-Bx48BKG3.js +268 -0
  59. package/dist/stateDiagram-v2-4JROLMXI-pDuBzVSZ.js +14 -0
  60. package/dist/swift-BAWqNR8A.js +6 -0
  61. package/dist/timeline-definition-U7ZMHBDA-EGhtku4S.js +804 -0
  62. package/dist/xychartDiagram-6QU3TZC5-B_OmutYz.js +1304 -0
  63. package/package.json +11 -10
  64. package/dist/sass-iCyS6eP9.js +0 -6
  65. package/dist/scala-BQHTnvwx.js +0 -6
  66. package/dist/swift-OL4r9IGP.js +0 -6
@@ -0,0 +1,1215 @@
1
+ import { g as De, s as Ce } from "./chunk-5HRBRIJM-CvhBPtHu.js";
2
+ import { _ as r, e as H, d as x, g as xe, s as Ae, b as Le, c as Ie, q as Re, r as Oe, l as b, A as Ne, v as we, x as $e, a9 as Pe } from "./mermaid.core-gtllNrzr.js";
3
+ var Ot = function() {
4
+ var t = /* @__PURE__ */ r(function($, o, u, n) {
5
+ for (u = u || {}, n = $.length; n--; u[$[n]] = o) ;
6
+ return u;
7
+ }, "o"), e = [1, 2], c = [1, 3], a = [1, 4], d = [2, 4], s = [1, 9], p = [1, 11], g = [1, 16], l = [1, 17], _ = [1, 18], v = [1, 19], A = [1, 32], B = [1, 20], Y = [1, 21], I = [1, 22], f = [1, 23], L = [1, 24], R = [1, 26], F = [1, 27], V = [1, 28], N = [1, 29], w = [1, 30], rt = [1, 31], at = [1, 34], nt = [1, 35], lt = [1, 36], ot = [1, 37], J = [1, 33], S = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], ct = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], Vt = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], kt = {
8
+ trace: /* @__PURE__ */ r(function() {
9
+ }, "trace"),
10
+ yy: {},
11
+ symbols_: { error: 2, start: 3, SPACE: 4, NL: 5, SD: 6, document: 7, line: 8, statement: 9, classDefStatement: 10, styleStatement: 11, cssClassStatement: 12, idStatement: 13, DESCR: 14, "-->": 15, HIDE_EMPTY: 16, scale: 17, WIDTH: 18, COMPOSIT_STATE: 19, STRUCT_START: 20, STRUCT_STOP: 21, STATE_DESCR: 22, AS: 23, ID: 24, FORK: 25, JOIN: 26, CHOICE: 27, CONCURRENT: 28, note: 29, notePosition: 30, NOTE_TEXT: 31, direction: 32, acc_title: 33, acc_title_value: 34, acc_descr: 35, acc_descr_value: 36, acc_descr_multiline_value: 37, classDef: 38, CLASSDEF_ID: 39, CLASSDEF_STYLEOPTS: 40, DEFAULT: 41, style: 42, STYLE_IDS: 43, STYLEDEF_STYLEOPTS: 44, class: 45, CLASSENTITY_IDS: 46, STYLECLASS: 47, direction_tb: 48, direction_bt: 49, direction_rl: 50, direction_lr: 51, eol: 52, ";": 53, EDGE_STATE: 54, STYLE_SEPARATOR: 55, left_of: 56, right_of: 57, $accept: 0, $end: 1 },
12
+ terminals_: { 2: "error", 4: "SPACE", 5: "NL", 6: "SD", 14: "DESCR", 15: "-->", 16: "HIDE_EMPTY", 17: "scale", 18: "WIDTH", 19: "COMPOSIT_STATE", 20: "STRUCT_START", 21: "STRUCT_STOP", 22: "STATE_DESCR", 23: "AS", 24: "ID", 25: "FORK", 26: "JOIN", 27: "CHOICE", 28: "CONCURRENT", 29: "note", 31: "NOTE_TEXT", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 38: "classDef", 39: "CLASSDEF_ID", 40: "CLASSDEF_STYLEOPTS", 41: "DEFAULT", 42: "style", 43: "STYLE_IDS", 44: "STYLEDEF_STYLEOPTS", 45: "class", 46: "CLASSENTITY_IDS", 47: "STYLECLASS", 48: "direction_tb", 49: "direction_bt", 50: "direction_rl", 51: "direction_lr", 53: ";", 54: "EDGE_STATE", 55: "STYLE_SEPARATOR", 56: "left_of", 57: "right_of" },
13
+ productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [10, 3], [10, 3], [11, 3], [12, 3], [32, 1], [32, 1], [32, 1], [32, 1], [52, 1], [52, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1]],
14
+ performAction: /* @__PURE__ */ r(function(o, u, n, y, T, i, q) {
15
+ var h = i.length - 1;
16
+ switch (T) {
17
+ case 3:
18
+ return y.setRootDoc(i[h]), i[h];
19
+ case 4:
20
+ this.$ = [];
21
+ break;
22
+ case 5:
23
+ i[h] != "nl" && (i[h - 1].push(i[h]), this.$ = i[h - 1]);
24
+ break;
25
+ case 6:
26
+ case 7:
27
+ this.$ = i[h];
28
+ break;
29
+ case 8:
30
+ this.$ = "nl";
31
+ break;
32
+ case 12:
33
+ this.$ = i[h];
34
+ break;
35
+ case 13:
36
+ const Q = i[h - 1];
37
+ Q.description = y.trimColon(i[h]), this.$ = Q;
38
+ break;
39
+ case 14:
40
+ this.$ = { stmt: "relation", state1: i[h - 2], state2: i[h] };
41
+ break;
42
+ case 15:
43
+ const Dt = y.trimColon(i[h]);
44
+ this.$ = { stmt: "relation", state1: i[h - 3], state2: i[h - 1], description: Dt };
45
+ break;
46
+ case 19:
47
+ this.$ = { stmt: "state", id: i[h - 3], type: "default", description: "", doc: i[h - 1] };
48
+ break;
49
+ case 20:
50
+ var M = i[h], W = i[h - 2].trim();
51
+ if (i[h].match(":")) {
52
+ var ht = i[h].split(":");
53
+ M = ht[0], W = [W, ht[1]];
54
+ }
55
+ this.$ = { stmt: "state", id: M, type: "default", description: W };
56
+ break;
57
+ case 21:
58
+ this.$ = { stmt: "state", id: i[h - 3], type: "default", description: i[h - 5], doc: i[h - 1] };
59
+ break;
60
+ case 22:
61
+ this.$ = { stmt: "state", id: i[h], type: "fork" };
62
+ break;
63
+ case 23:
64
+ this.$ = { stmt: "state", id: i[h], type: "join" };
65
+ break;
66
+ case 24:
67
+ this.$ = { stmt: "state", id: i[h], type: "choice" };
68
+ break;
69
+ case 25:
70
+ this.$ = { stmt: "state", id: y.getDividerId(), type: "divider" };
71
+ break;
72
+ case 26:
73
+ this.$ = { stmt: "state", id: i[h - 1].trim(), note: { position: i[h - 2].trim(), text: i[h].trim() } };
74
+ break;
75
+ case 29:
76
+ this.$ = i[h].trim(), y.setAccTitle(this.$);
77
+ break;
78
+ case 30:
79
+ case 31:
80
+ this.$ = i[h].trim(), y.setAccDescription(this.$);
81
+ break;
82
+ case 32:
83
+ case 33:
84
+ this.$ = { stmt: "classDef", id: i[h - 1].trim(), classes: i[h].trim() };
85
+ break;
86
+ case 34:
87
+ this.$ = { stmt: "style", id: i[h - 1].trim(), styleClass: i[h].trim() };
88
+ break;
89
+ case 35:
90
+ this.$ = { stmt: "applyClass", id: i[h - 1].trim(), styleClass: i[h].trim() };
91
+ break;
92
+ case 36:
93
+ y.setDirection("TB"), this.$ = { stmt: "dir", value: "TB" };
94
+ break;
95
+ case 37:
96
+ y.setDirection("BT"), this.$ = { stmt: "dir", value: "BT" };
97
+ break;
98
+ case 38:
99
+ y.setDirection("RL"), this.$ = { stmt: "dir", value: "RL" };
100
+ break;
101
+ case 39:
102
+ y.setDirection("LR"), this.$ = { stmt: "dir", value: "LR" };
103
+ break;
104
+ case 42:
105
+ case 43:
106
+ this.$ = { stmt: "state", id: i[h].trim(), type: "default", description: "" };
107
+ break;
108
+ case 44:
109
+ this.$ = { stmt: "state", id: i[h - 2].trim(), classes: [i[h].trim()], type: "default", description: "" };
110
+ break;
111
+ case 45:
112
+ this.$ = { stmt: "state", id: i[h - 2].trim(), classes: [i[h].trim()], type: "default", description: "" };
113
+ break;
114
+ }
115
+ }, "anonymous"),
116
+ table: [{ 3: 1, 4: e, 5: c, 6: a }, { 1: [3] }, { 3: 5, 4: e, 5: c, 6: a }, { 3: 6, 4: e, 5: c, 6: a }, t([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], d, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: s, 5: p, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: g, 17: l, 19: _, 22: v, 24: A, 25: B, 26: Y, 27: I, 28: f, 29: L, 32: 25, 33: R, 35: F, 37: V, 38: N, 42: w, 45: rt, 48: at, 49: nt, 50: lt, 51: ot, 54: J }, t(S, [2, 5]), { 9: 38, 10: 12, 11: 13, 12: 14, 13: 15, 16: g, 17: l, 19: _, 22: v, 24: A, 25: B, 26: Y, 27: I, 28: f, 29: L, 32: 25, 33: R, 35: F, 37: V, 38: N, 42: w, 45: rt, 48: at, 49: nt, 50: lt, 51: ot, 54: J }, t(S, [2, 7]), t(S, [2, 8]), t(S, [2, 9]), t(S, [2, 10]), t(S, [2, 11]), t(S, [2, 12], { 14: [1, 39], 15: [1, 40] }), t(S, [2, 16]), { 18: [1, 41] }, t(S, [2, 18], { 20: [1, 42] }), { 23: [1, 43] }, t(S, [2, 22]), t(S, [2, 23]), t(S, [2, 24]), t(S, [2, 25]), { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, t(S, [2, 28]), { 34: [1, 48] }, { 36: [1, 49] }, t(S, [2, 31]), { 39: [1, 50], 41: [1, 51] }, { 43: [1, 52] }, { 46: [1, 53] }, t(ct, [2, 42], { 55: [1, 54] }), t(ct, [2, 43], { 55: [1, 55] }), t(S, [2, 36]), t(S, [2, 37]), t(S, [2, 38]), t(S, [2, 39]), t(S, [2, 6]), t(S, [2, 13]), { 13: 56, 24: A, 54: J }, t(S, [2, 17]), t(Vt, d, { 7: 57 }), { 24: [1, 58] }, { 24: [1, 59] }, { 23: [1, 60] }, { 24: [2, 46] }, { 24: [2, 47] }, t(S, [2, 29]), t(S, [2, 30]), { 40: [1, 61] }, { 40: [1, 62] }, { 44: [1, 63] }, { 47: [1, 64] }, { 24: [1, 65] }, { 24: [1, 66] }, t(S, [2, 14], { 14: [1, 67] }), { 4: s, 5: p, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: g, 17: l, 19: _, 21: [1, 68], 22: v, 24: A, 25: B, 26: Y, 27: I, 28: f, 29: L, 32: 25, 33: R, 35: F, 37: V, 38: N, 42: w, 45: rt, 48: at, 49: nt, 50: lt, 51: ot, 54: J }, t(S, [2, 20], { 20: [1, 69] }), { 31: [1, 70] }, { 24: [1, 71] }, t(S, [2, 32]), t(S, [2, 33]), t(S, [2, 34]), t(S, [2, 35]), t(ct, [2, 44]), t(ct, [2, 45]), t(S, [2, 15]), t(S, [2, 19]), t(Vt, d, { 7: 72 }), t(S, [2, 26]), t(S, [2, 27]), { 4: s, 5: p, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: g, 17: l, 19: _, 21: [1, 73], 22: v, 24: A, 25: B, 26: Y, 27: I, 28: f, 29: L, 32: 25, 33: R, 35: F, 37: V, 38: N, 42: w, 45: rt, 48: at, 49: nt, 50: lt, 51: ot, 54: J }, t(S, [2, 21])],
117
+ defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },
118
+ parseError: /* @__PURE__ */ r(function(o, u) {
119
+ if (u.recoverable)
120
+ this.trace(o);
121
+ else {
122
+ var n = new Error(o);
123
+ throw n.hash = u, n;
124
+ }
125
+ }, "parseError"),
126
+ parse: /* @__PURE__ */ r(function(o) {
127
+ var u = this, n = [0], y = [], T = [null], i = [], q = this.table, h = "", M = 0, W = 0, ht = 2, Q = 1, Dt = i.slice.call(arguments, 1), E = Object.create(this.lexer), U = { yy: {} };
128
+ for (var Ct in this.yy)
129
+ Object.prototype.hasOwnProperty.call(this.yy, Ct) && (U.yy[Ct] = this.yy[Ct]);
130
+ E.setInput(o, U.yy), U.yy.lexer = E, U.yy.parser = this, typeof E.yylloc > "u" && (E.yylloc = {});
131
+ var xt = E.yylloc;
132
+ i.push(xt);
133
+ var me = E.options && E.options.ranges;
134
+ typeof U.yy.parseError == "function" ? this.parseError = U.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
135
+ function ke(D) {
136
+ n.length = n.length - 2 * D, T.length = T.length - D, i.length = i.length - D;
137
+ }
138
+ r(ke, "popStack");
139
+ function Mt() {
140
+ var D;
141
+ return D = y.pop() || E.lex() || Q, typeof D != "number" && (D instanceof Array && (y = D, D = y.pop()), D = u.symbols_[D] || D), D;
142
+ }
143
+ r(Mt, "lex");
144
+ for (var m, j, C, At, X = {}, dt, O, Ut, ft; ; ) {
145
+ if (j = n[n.length - 1], this.defaultActions[j] ? C = this.defaultActions[j] : ((m === null || typeof m > "u") && (m = Mt()), C = q[j] && q[j][m]), typeof C > "u" || !C.length || !C[0]) {
146
+ var Lt = "";
147
+ ft = [];
148
+ for (dt in q[j])
149
+ this.terminals_[dt] && dt > ht && ft.push("'" + this.terminals_[dt] + "'");
150
+ E.showPosition ? Lt = "Parse error on line " + (M + 1) + `:
151
+ ` + E.showPosition() + `
152
+ Expecting ` + ft.join(", ") + ", got '" + (this.terminals_[m] || m) + "'" : Lt = "Parse error on line " + (M + 1) + ": Unexpected " + (m == Q ? "end of input" : "'" + (this.terminals_[m] || m) + "'"), this.parseError(Lt, {
153
+ text: E.match,
154
+ token: this.terminals_[m] || m,
155
+ line: E.yylineno,
156
+ loc: xt,
157
+ expected: ft
158
+ });
159
+ }
160
+ if (C[0] instanceof Array && C.length > 1)
161
+ throw new Error("Parse Error: multiple actions possible at state: " + j + ", token: " + m);
162
+ switch (C[0]) {
163
+ case 1:
164
+ n.push(m), T.push(E.yytext), i.push(E.yylloc), n.push(C[1]), m = null, W = E.yyleng, h = E.yytext, M = E.yylineno, xt = E.yylloc;
165
+ break;
166
+ case 2:
167
+ if (O = this.productions_[C[1]][1], X.$ = T[T.length - O], X._$ = {
168
+ first_line: i[i.length - (O || 1)].first_line,
169
+ last_line: i[i.length - 1].last_line,
170
+ first_column: i[i.length - (O || 1)].first_column,
171
+ last_column: i[i.length - 1].last_column
172
+ }, me && (X._$.range = [
173
+ i[i.length - (O || 1)].range[0],
174
+ i[i.length - 1].range[1]
175
+ ]), At = this.performAction.apply(X, [
176
+ h,
177
+ W,
178
+ M,
179
+ U.yy,
180
+ C[1],
181
+ T,
182
+ i
183
+ ].concat(Dt)), typeof At < "u")
184
+ return At;
185
+ O && (n = n.slice(0, -1 * O * 2), T = T.slice(0, -1 * O), i = i.slice(0, -1 * O)), n.push(this.productions_[C[1]][0]), T.push(X.$), i.push(X._$), Ut = q[n[n.length - 2]][n[n.length - 1]], n.push(Ut);
186
+ break;
187
+ case 3:
188
+ return !0;
189
+ }
190
+ }
191
+ return !0;
192
+ }, "parse")
193
+ }, be = /* @__PURE__ */ function() {
194
+ var $ = {
195
+ EOF: 1,
196
+ parseError: /* @__PURE__ */ r(function(u, n) {
197
+ if (this.yy.parser)
198
+ this.yy.parser.parseError(u, n);
199
+ else
200
+ throw new Error(u);
201
+ }, "parseError"),
202
+ // resets the lexer, sets new input
203
+ setInput: /* @__PURE__ */ r(function(o, u) {
204
+ return this.yy = u || this.yy || {}, this._input = o, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
205
+ first_line: 1,
206
+ first_column: 0,
207
+ last_line: 1,
208
+ last_column: 0
209
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
210
+ }, "setInput"),
211
+ // consumes and returns one char from the input
212
+ input: /* @__PURE__ */ r(function() {
213
+ var o = this._input[0];
214
+ this.yytext += o, this.yyleng++, this.offset++, this.match += o, this.matched += o;
215
+ var u = o.match(/(?:\r\n?|\n).*/g);
216
+ return u ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), o;
217
+ }, "input"),
218
+ // unshifts one char (or a string) into the input
219
+ unput: /* @__PURE__ */ r(function(o) {
220
+ var u = o.length, n = o.split(/(?:\r\n?|\n)/g);
221
+ this._input = o + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - u), this.offset -= u;
222
+ var y = this.match.split(/(?:\r\n?|\n)/g);
223
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1);
224
+ var T = this.yylloc.range;
225
+ return this.yylloc = {
226
+ first_line: this.yylloc.first_line,
227
+ last_line: this.yylineno + 1,
228
+ first_column: this.yylloc.first_column,
229
+ last_column: n ? (n.length === y.length ? this.yylloc.first_column : 0) + y[y.length - n.length].length - n[0].length : this.yylloc.first_column - u
230
+ }, this.options.ranges && (this.yylloc.range = [T[0], T[0] + this.yyleng - u]), this.yyleng = this.yytext.length, this;
231
+ }, "unput"),
232
+ // When called from action, caches matched text and appends it on next action
233
+ more: /* @__PURE__ */ r(function() {
234
+ return this._more = !0, this;
235
+ }, "more"),
236
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
237
+ reject: /* @__PURE__ */ r(function() {
238
+ if (this.options.backtrack_lexer)
239
+ this._backtrack = !0;
240
+ else
241
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
242
+ ` + this.showPosition(), {
243
+ text: "",
244
+ token: null,
245
+ line: this.yylineno
246
+ });
247
+ return this;
248
+ }, "reject"),
249
+ // retain first n characters of the match
250
+ less: /* @__PURE__ */ r(function(o) {
251
+ this.unput(this.match.slice(o));
252
+ }, "less"),
253
+ // displays already matched input, i.e. for error messages
254
+ pastInput: /* @__PURE__ */ r(function() {
255
+ var o = this.matched.substr(0, this.matched.length - this.match.length);
256
+ return (o.length > 20 ? "..." : "") + o.substr(-20).replace(/\n/g, "");
257
+ }, "pastInput"),
258
+ // displays upcoming input, i.e. for error messages
259
+ upcomingInput: /* @__PURE__ */ r(function() {
260
+ var o = this.match;
261
+ return o.length < 20 && (o += this._input.substr(0, 20 - o.length)), (o.substr(0, 20) + (o.length > 20 ? "..." : "")).replace(/\n/g, "");
262
+ }, "upcomingInput"),
263
+ // displays the character position where the lexing error occurred, i.e. for error messages
264
+ showPosition: /* @__PURE__ */ r(function() {
265
+ var o = this.pastInput(), u = new Array(o.length + 1).join("-");
266
+ return o + this.upcomingInput() + `
267
+ ` + u + "^";
268
+ }, "showPosition"),
269
+ // test the lexed token: return FALSE when not a match, otherwise return token
270
+ test_match: /* @__PURE__ */ r(function(o, u) {
271
+ var n, y, T;
272
+ if (this.options.backtrack_lexer && (T = {
273
+ yylineno: this.yylineno,
274
+ yylloc: {
275
+ first_line: this.yylloc.first_line,
276
+ last_line: this.last_line,
277
+ first_column: this.yylloc.first_column,
278
+ last_column: this.yylloc.last_column
279
+ },
280
+ yytext: this.yytext,
281
+ match: this.match,
282
+ matches: this.matches,
283
+ matched: this.matched,
284
+ yyleng: this.yyleng,
285
+ offset: this.offset,
286
+ _more: this._more,
287
+ _input: this._input,
288
+ yy: this.yy,
289
+ conditionStack: this.conditionStack.slice(0),
290
+ done: this.done
291
+ }, this.options.ranges && (T.yylloc.range = this.yylloc.range.slice(0))), y = o[0].match(/(?:\r\n?|\n).*/g), y && (this.yylineno += y.length), this.yylloc = {
292
+ first_line: this.yylloc.last_line,
293
+ last_line: this.yylineno + 1,
294
+ first_column: this.yylloc.last_column,
295
+ last_column: y ? y[y.length - 1].length - y[y.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + o[0].length
296
+ }, this.yytext += o[0], this.match += o[0], this.matches = o, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(o[0].length), this.matched += o[0], n = this.performAction.call(this, this.yy, this, u, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n)
297
+ return n;
298
+ if (this._backtrack) {
299
+ for (var i in T)
300
+ this[i] = T[i];
301
+ return !1;
302
+ }
303
+ return !1;
304
+ }, "test_match"),
305
+ // return next match in input
306
+ next: /* @__PURE__ */ r(function() {
307
+ if (this.done)
308
+ return this.EOF;
309
+ this._input || (this.done = !0);
310
+ var o, u, n, y;
311
+ this._more || (this.yytext = "", this.match = "");
312
+ for (var T = this._currentRules(), i = 0; i < T.length; i++)
313
+ if (n = this._input.match(this.rules[T[i]]), n && (!u || n[0].length > u[0].length)) {
314
+ if (u = n, y = i, this.options.backtrack_lexer) {
315
+ if (o = this.test_match(n, T[i]), o !== !1)
316
+ return o;
317
+ if (this._backtrack) {
318
+ u = !1;
319
+ continue;
320
+ } else
321
+ return !1;
322
+ } else if (!this.options.flex)
323
+ break;
324
+ }
325
+ return u ? (o = this.test_match(u, T[y]), o !== !1 ? o : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
326
+ ` + this.showPosition(), {
327
+ text: "",
328
+ token: null,
329
+ line: this.yylineno
330
+ });
331
+ }, "next"),
332
+ // return next match that has a token
333
+ lex: /* @__PURE__ */ r(function() {
334
+ var u = this.next();
335
+ return u || this.lex();
336
+ }, "lex"),
337
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
338
+ begin: /* @__PURE__ */ r(function(u) {
339
+ this.conditionStack.push(u);
340
+ }, "begin"),
341
+ // pop the previously active lexer condition state off the condition stack
342
+ popState: /* @__PURE__ */ r(function() {
343
+ var u = this.conditionStack.length - 1;
344
+ return u > 0 ? this.conditionStack.pop() : this.conditionStack[0];
345
+ }, "popState"),
346
+ // produce the lexer rule set which is active for the currently active lexer condition state
347
+ _currentRules: /* @__PURE__ */ r(function() {
348
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
349
+ }, "_currentRules"),
350
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
351
+ topState: /* @__PURE__ */ r(function(u) {
352
+ return u = this.conditionStack.length - 1 - Math.abs(u || 0), u >= 0 ? this.conditionStack[u] : "INITIAL";
353
+ }, "topState"),
354
+ // alias for begin(condition)
355
+ pushState: /* @__PURE__ */ r(function(u) {
356
+ this.begin(u);
357
+ }, "pushState"),
358
+ // return the number of states currently on the stack
359
+ stateStackSize: /* @__PURE__ */ r(function() {
360
+ return this.conditionStack.length;
361
+ }, "stateStackSize"),
362
+ options: { "case-insensitive": !0 },
363
+ performAction: /* @__PURE__ */ r(function(u, n, y, T) {
364
+ switch (y) {
365
+ case 0:
366
+ return 41;
367
+ case 1:
368
+ return 48;
369
+ case 2:
370
+ return 49;
371
+ case 3:
372
+ return 50;
373
+ case 4:
374
+ return 51;
375
+ case 5:
376
+ break;
377
+ case 6:
378
+ break;
379
+ case 7:
380
+ return 5;
381
+ case 8:
382
+ break;
383
+ case 9:
384
+ break;
385
+ case 10:
386
+ break;
387
+ case 11:
388
+ break;
389
+ case 12:
390
+ return this.pushState("SCALE"), 17;
391
+ case 13:
392
+ return 18;
393
+ case 14:
394
+ this.popState();
395
+ break;
396
+ case 15:
397
+ return this.begin("acc_title"), 33;
398
+ case 16:
399
+ return this.popState(), "acc_title_value";
400
+ case 17:
401
+ return this.begin("acc_descr"), 35;
402
+ case 18:
403
+ return this.popState(), "acc_descr_value";
404
+ case 19:
405
+ this.begin("acc_descr_multiline");
406
+ break;
407
+ case 20:
408
+ this.popState();
409
+ break;
410
+ case 21:
411
+ return "acc_descr_multiline_value";
412
+ case 22:
413
+ return this.pushState("CLASSDEF"), 38;
414
+ case 23:
415
+ return this.popState(), this.pushState("CLASSDEFID"), "DEFAULT_CLASSDEF_ID";
416
+ case 24:
417
+ return this.popState(), this.pushState("CLASSDEFID"), 39;
418
+ case 25:
419
+ return this.popState(), 40;
420
+ case 26:
421
+ return this.pushState("CLASS"), 45;
422
+ case 27:
423
+ return this.popState(), this.pushState("CLASS_STYLE"), 46;
424
+ case 28:
425
+ return this.popState(), 47;
426
+ case 29:
427
+ return this.pushState("STYLE"), 42;
428
+ case 30:
429
+ return this.popState(), this.pushState("STYLEDEF_STYLES"), 43;
430
+ case 31:
431
+ return this.popState(), 44;
432
+ case 32:
433
+ return this.pushState("SCALE"), 17;
434
+ case 33:
435
+ return 18;
436
+ case 34:
437
+ this.popState();
438
+ break;
439
+ case 35:
440
+ this.pushState("STATE");
441
+ break;
442
+ case 36:
443
+ return this.popState(), n.yytext = n.yytext.slice(0, -8).trim(), 25;
444
+ case 37:
445
+ return this.popState(), n.yytext = n.yytext.slice(0, -8).trim(), 26;
446
+ case 38:
447
+ return this.popState(), n.yytext = n.yytext.slice(0, -10).trim(), 27;
448
+ case 39:
449
+ return this.popState(), n.yytext = n.yytext.slice(0, -8).trim(), 25;
450
+ case 40:
451
+ return this.popState(), n.yytext = n.yytext.slice(0, -8).trim(), 26;
452
+ case 41:
453
+ return this.popState(), n.yytext = n.yytext.slice(0, -10).trim(), 27;
454
+ case 42:
455
+ return 48;
456
+ case 43:
457
+ return 49;
458
+ case 44:
459
+ return 50;
460
+ case 45:
461
+ return 51;
462
+ case 46:
463
+ this.pushState("STATE_STRING");
464
+ break;
465
+ case 47:
466
+ return this.pushState("STATE_ID"), "AS";
467
+ case 48:
468
+ return this.popState(), "ID";
469
+ case 49:
470
+ this.popState();
471
+ break;
472
+ case 50:
473
+ return "STATE_DESCR";
474
+ case 51:
475
+ return 19;
476
+ case 52:
477
+ this.popState();
478
+ break;
479
+ case 53:
480
+ return this.popState(), this.pushState("struct"), 20;
481
+ case 54:
482
+ break;
483
+ case 55:
484
+ return this.popState(), 21;
485
+ case 56:
486
+ break;
487
+ case 57:
488
+ return this.begin("NOTE"), 29;
489
+ case 58:
490
+ return this.popState(), this.pushState("NOTE_ID"), 56;
491
+ case 59:
492
+ return this.popState(), this.pushState("NOTE_ID"), 57;
493
+ case 60:
494
+ this.popState(), this.pushState("FLOATING_NOTE");
495
+ break;
496
+ case 61:
497
+ return this.popState(), this.pushState("FLOATING_NOTE_ID"), "AS";
498
+ case 62:
499
+ break;
500
+ case 63:
501
+ return "NOTE_TEXT";
502
+ case 64:
503
+ return this.popState(), "ID";
504
+ case 65:
505
+ return this.popState(), this.pushState("NOTE_TEXT"), 24;
506
+ case 66:
507
+ return this.popState(), n.yytext = n.yytext.substr(2).trim(), 31;
508
+ case 67:
509
+ return this.popState(), n.yytext = n.yytext.slice(0, -8).trim(), 31;
510
+ case 68:
511
+ return 6;
512
+ case 69:
513
+ return 6;
514
+ case 70:
515
+ return 16;
516
+ case 71:
517
+ return 54;
518
+ case 72:
519
+ return 24;
520
+ case 73:
521
+ return n.yytext = n.yytext.trim(), 14;
522
+ case 74:
523
+ return 15;
524
+ case 75:
525
+ return 28;
526
+ case 76:
527
+ return 55;
528
+ case 77:
529
+ return 5;
530
+ case 78:
531
+ return "INVALID";
532
+ }
533
+ }, "anonymous"),
534
+ rules: [/^(?:default\b)/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:[\s]+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:classDef\s+)/i, /^(?:DEFAULT\s+)/i, /^(?:\w+\s+)/i, /^(?:[^\n]*)/i, /^(?:class\s+)/i, /^(?:(\w+)+((,\s*\w+)*))/i, /^(?:[^\n]*)/i, /^(?:style\s+)/i, /^(?:[\w,]+\s+)/i, /^(?:[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:.*\[\[choice\]\])/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:["])/i, /^(?:\s*as\s+)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:[\s\S]*?end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:stateDiagram-v2\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],
535
+ conditions: { LINE: { rules: [9, 10], inclusive: !1 }, struct: { rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], inclusive: !1 }, FLOATING_NOTE_ID: { rules: [64], inclusive: !1 }, FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 }, NOTE_TEXT: { rules: [66, 67], inclusive: !1 }, NOTE_ID: { rules: [65], inclusive: !1 }, NOTE: { rules: [58, 59, 60], inclusive: !1 }, STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 }, STYLEDEF_STYLES: { rules: [31], inclusive: !1 }, STYLE_IDS: { rules: [], inclusive: !1 }, STYLE: { rules: [30], inclusive: !1 }, CLASS_STYLE: { rules: [28], inclusive: !1 }, CLASS: { rules: [27], inclusive: !1 }, CLASSDEFID: { rules: [25], inclusive: !1 }, CLASSDEF: { rules: [23, 24], inclusive: !1 }, acc_descr_multiline: { rules: [20, 21], inclusive: !1 }, acc_descr: { rules: [18], inclusive: !1 }, acc_title: { rules: [16], inclusive: !1 }, SCALE: { rules: [13, 14, 33, 34], inclusive: !1 }, ALIAS: { rules: [], inclusive: !1 }, STATE_ID: { rules: [48], inclusive: !1 }, STATE_STRING: { rules: [49, 50], inclusive: !1 }, FORK_STATE: { rules: [], inclusive: !1 }, STATE: { rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], inclusive: !1 }, ID: { rules: [9, 10], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78], inclusive: !0 } }
536
+ };
537
+ return $;
538
+ }();
539
+ kt.lexer = be;
540
+ function ut() {
541
+ this.yy = {};
542
+ }
543
+ return r(ut, "Parser"), ut.prototype = kt, kt.Parser = ut, new ut();
544
+ }();
545
+ Ot.parser = Ot;
546
+ var As = Ot, Ge = "LR", qt = "TB", _t = "state", wt = "relation", Be = "classDef", Ye = "style", Fe = "applyClass", st = "default", Qt = "divider", Zt = "fill:none", te = "fill: #333", ee = "c", se = "text", ie = "normal", It = "rect", Rt = "rectWithTitle", Ve = "stateStart", Me = "stateEnd", jt = "divider", Ht = "roundedWithTitle", Ue = "note", je = "noteGroup", it = "statediagram", He = "state", ze = `${it}-${He}`, re = "transition", We = "note", Xe = "note-edge", Ke = `${re} ${Xe}`, Je = `${it}-${We}`, qe = "cluster", Qe = `${it}-${qe}`, Ze = "cluster-alt", ts = `${it}-${Ze}`, ae = "parent", ne = "note", es = "state", $t = "----", ss = `${$t}${ne}`, zt = `${$t}${ae}`, le = /* @__PURE__ */ r((t, e = qt) => {
547
+ if (!t.doc)
548
+ return e;
549
+ let c = e;
550
+ for (const a of t.doc)
551
+ a.stmt === "dir" && (c = a.value);
552
+ return c;
553
+ }, "getDir"), is = /* @__PURE__ */ r(function(t, e) {
554
+ return e.db.extract(e.db.getRootDocV2()), e.db.getClasses();
555
+ }, "getClasses"), rs = /* @__PURE__ */ r(async function(t, e, c, a) {
556
+ b.info("REF0:"), b.info("Drawing state diagram (v2)", e);
557
+ const { securityLevel: d, state: s, layout: p } = x();
558
+ a.db.extract(a.db.getRootDocV2());
559
+ const g = a.db.getData(), l = De(e, d);
560
+ g.type = a.type, g.layoutAlgorithm = p, g.nodeSpacing = (s == null ? void 0 : s.nodeSpacing) || 50, g.rankSpacing = (s == null ? void 0 : s.rankSpacing) || 50, g.markers = ["barb"], g.diagramId = e, await Ne(g, l);
561
+ const _ = 8;
562
+ we.insertTitle(
563
+ l,
564
+ "statediagramTitleText",
565
+ (s == null ? void 0 : s.titleTopMargin) ?? 25,
566
+ a.db.getDiagramTitle()
567
+ ), Ce(l, _, it, (s == null ? void 0 : s.useMaxWidth) ?? !0);
568
+ }, "draw"), Ls = {
569
+ getClasses: is,
570
+ draw: rs,
571
+ getDir: le
572
+ }, St = /* @__PURE__ */ new Map(), P = 0;
573
+ function yt(t = "", e = 0, c = "", a = $t) {
574
+ const d = c !== null && c.length > 0 ? `${a}${c}` : "";
575
+ return `${es}-${t}${d}-${e}`;
576
+ }
577
+ r(yt, "stateDomId");
578
+ var as = /* @__PURE__ */ r((t, e, c, a, d, s, p, g) => {
579
+ b.trace("items", e), e.forEach((l) => {
580
+ switch (l.stmt) {
581
+ case _t:
582
+ tt(t, l, c, a, d, s, p, g);
583
+ break;
584
+ case st:
585
+ tt(t, l, c, a, d, s, p, g);
586
+ break;
587
+ case wt:
588
+ {
589
+ tt(
590
+ t,
591
+ l.state1,
592
+ c,
593
+ a,
594
+ d,
595
+ s,
596
+ p,
597
+ g
598
+ ), tt(
599
+ t,
600
+ l.state2,
601
+ c,
602
+ a,
603
+ d,
604
+ s,
605
+ p,
606
+ g
607
+ );
608
+ const _ = {
609
+ id: "edge" + P,
610
+ start: l.state1.id,
611
+ end: l.state2.id,
612
+ arrowhead: "normal",
613
+ arrowTypeEnd: "arrow_barb",
614
+ style: Zt,
615
+ labelStyle: "",
616
+ label: H.sanitizeText(l.description, x()),
617
+ arrowheadStyle: te,
618
+ labelpos: ee,
619
+ labelType: se,
620
+ thickness: ie,
621
+ classes: re,
622
+ look: p
623
+ };
624
+ d.push(_), P++;
625
+ }
626
+ break;
627
+ }
628
+ });
629
+ }, "setupDoc"), Wt = /* @__PURE__ */ r((t, e = qt) => {
630
+ let c = e;
631
+ if (t.doc)
632
+ for (const a of t.doc)
633
+ a.stmt === "dir" && (c = a.value);
634
+ return c;
635
+ }, "getDir");
636
+ function Z(t, e, c) {
637
+ if (!e.id || e.id === "</join></fork>" || e.id === "</choice>")
638
+ return;
639
+ e.cssClasses && (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []), e.cssClasses.split(" ").forEach((d) => {
640
+ if (c.get(d)) {
641
+ const s = c.get(d);
642
+ e.cssCompiledStyles = [...e.cssCompiledStyles, ...s.styles];
643
+ }
644
+ }));
645
+ const a = t.find((d) => d.id === e.id);
646
+ a ? Object.assign(a, e) : t.push(e);
647
+ }
648
+ r(Z, "insertOrUpdateNode");
649
+ function oe(t) {
650
+ var e;
651
+ return ((e = t == null ? void 0 : t.classes) == null ? void 0 : e.join(" ")) ?? "";
652
+ }
653
+ r(oe, "getClassesFromDbInfo");
654
+ function ce(t) {
655
+ return (t == null ? void 0 : t.styles) ?? [];
656
+ }
657
+ r(ce, "getStylesFromDbInfo");
658
+ var tt = /* @__PURE__ */ r((t, e, c, a, d, s, p, g) => {
659
+ var B, Y;
660
+ const l = e.id, _ = c.get(l), v = oe(_), A = ce(_);
661
+ if (b.info("dataFetcher parsedItem", e, _, A), l !== "root") {
662
+ let I = It;
663
+ e.start === !0 ? I = Ve : e.start === !1 && (I = Me), e.type !== st && (I = e.type), St.get(l) || St.set(l, {
664
+ id: l,
665
+ shape: I,
666
+ description: H.sanitizeText(l, x()),
667
+ cssClasses: `${v} ${ze}`,
668
+ cssStyles: A
669
+ });
670
+ const f = St.get(l);
671
+ e.description && (Array.isArray(f.description) ? (f.shape = Rt, f.description.push(e.description)) : ((B = f.description) == null ? void 0 : B.length) > 0 ? (f.shape = Rt, f.description === l ? f.description = [e.description] : f.description = [f.description, e.description]) : (f.shape = It, f.description = e.description), f.description = H.sanitizeTextOrArray(f.description, x())), ((Y = f.description) == null ? void 0 : Y.length) === 1 && f.shape === Rt && (f.type === "group" ? f.shape = Ht : f.shape = It), !f.type && e.doc && (b.info("Setting cluster for XCX", l, Wt(e)), f.type = "group", f.isGroup = !0, f.dir = Wt(e), f.shape = e.type === Qt ? jt : Ht, f.cssClasses = `${f.cssClasses} ${Qe} ${s ? ts : ""}`);
672
+ const L = {
673
+ labelStyle: "",
674
+ shape: f.shape,
675
+ label: f.description,
676
+ cssClasses: f.cssClasses,
677
+ cssCompiledStyles: [],
678
+ cssStyles: f.cssStyles,
679
+ id: l,
680
+ dir: f.dir,
681
+ domId: yt(l, P),
682
+ type: f.type,
683
+ isGroup: f.type === "group",
684
+ padding: 8,
685
+ rx: 10,
686
+ ry: 10,
687
+ look: p
688
+ };
689
+ if (L.shape === jt && (L.label = ""), t && t.id !== "root" && (b.trace("Setting node ", l, " to be child of its parent ", t.id), L.parentId = t.id), L.centerLabel = !0, e.note) {
690
+ const R = {
691
+ labelStyle: "",
692
+ shape: Ue,
693
+ label: e.note.text,
694
+ cssClasses: Je,
695
+ // useHtmlLabels: false,
696
+ cssStyles: [],
697
+ cssCompilesStyles: [],
698
+ id: l + ss + "-" + P,
699
+ domId: yt(l, P, ne),
700
+ type: f.type,
701
+ isGroup: f.type === "group",
702
+ padding: x().flowchart.padding,
703
+ look: p,
704
+ position: e.note.position
705
+ }, F = l + zt, V = {
706
+ labelStyle: "",
707
+ shape: je,
708
+ label: e.note.text,
709
+ cssClasses: f.cssClasses,
710
+ cssStyles: [],
711
+ id: l + zt,
712
+ domId: yt(l, P, ae),
713
+ type: "group",
714
+ isGroup: !0,
715
+ padding: 16,
716
+ //getConfig().flowchart.padding
717
+ look: p,
718
+ position: e.note.position
719
+ };
720
+ P++, V.id = F, R.parentId = F, Z(a, V, g), Z(a, R, g), Z(a, L, g);
721
+ let N = l, w = R.id;
722
+ e.note.position === "left of" && (N = R.id, w = l), d.push({
723
+ id: N + "-" + w,
724
+ start: N,
725
+ end: w,
726
+ arrowhead: "none",
727
+ arrowTypeEnd: "",
728
+ style: Zt,
729
+ labelStyle: "",
730
+ classes: Ke,
731
+ arrowheadStyle: te,
732
+ labelpos: ee,
733
+ labelType: se,
734
+ thickness: ie,
735
+ look: p
736
+ });
737
+ } else
738
+ Z(a, L, g);
739
+ }
740
+ e.doc && (b.trace("Adding nodes children "), as(e, e.doc, c, a, d, !s, p, g));
741
+ }, "dataFetcher"), ns = /* @__PURE__ */ r(() => {
742
+ St.clear(), P = 0;
743
+ }, "reset"), Pt = "[*]", ue = "start", he = Pt, de = "end", Xt = "color", Kt = "fill", ls = "bgFill", os = ",";
744
+ function Gt() {
745
+ return /* @__PURE__ */ new Map();
746
+ }
747
+ r(Gt, "newClassesList");
748
+ var Tt = [], Bt = [], fe = Ge, Et = [], K = Gt(), pe = /* @__PURE__ */ r(() => ({
749
+ /** @type {{ id1: string, id2: string, relationTitle: string }[]} */
750
+ relations: [],
751
+ states: /* @__PURE__ */ new Map(),
752
+ documents: {}
753
+ }), "newDoc"), vt = {
754
+ root: pe()
755
+ }, k = vt.root, et = 0, Jt = 0, cs = {
756
+ LINE: 0,
757
+ DOTTED_LINE: 1
758
+ }, us = {
759
+ AGGREGATION: 0,
760
+ EXTENSION: 1,
761
+ COMPOSITION: 2,
762
+ DEPENDENCY: 3
763
+ }, pt = /* @__PURE__ */ r((t) => JSON.parse(JSON.stringify(t)), "clone"), hs = /* @__PURE__ */ r((t) => {
764
+ b.info("Setting root doc", t), Et = t;
765
+ }, "setRootDoc"), ds = /* @__PURE__ */ r(() => Et, "getRootDoc"), gt = /* @__PURE__ */ r((t, e, c) => {
766
+ if (e.stmt === wt)
767
+ gt(t, e.state1, !0), gt(t, e.state2, !1);
768
+ else if (e.stmt === _t && (e.id === "[*]" ? (e.id = c ? t.id + "_start" : t.id + "_end", e.start = c) : e.id = e.id.trim()), e.doc) {
769
+ const a = [];
770
+ let d = [], s;
771
+ for (s = 0; s < e.doc.length; s++)
772
+ if (e.doc[s].type === Qt) {
773
+ const p = pt(e.doc[s]);
774
+ p.doc = pt(d), a.push(p), d = [];
775
+ } else
776
+ d.push(e.doc[s]);
777
+ if (a.length > 0 && d.length > 0) {
778
+ const p = {
779
+ stmt: _t,
780
+ id: Pe(),
781
+ type: "divider",
782
+ doc: pt(d)
783
+ };
784
+ a.push(pt(p)), e.doc = a;
785
+ }
786
+ e.doc.forEach((p) => gt(e, p, !0));
787
+ }
788
+ }, "docTranslator"), Yt = /* @__PURE__ */ r(() => (gt({ id: "root" }, { id: "root", doc: Et }, !0), { id: "root", doc: Et }), "getRootDocV2"), fs = /* @__PURE__ */ r((t) => {
789
+ let e;
790
+ t.doc ? e = t.doc : e = t, b.info(e), Se(!0), b.info("Extract initial document:", e), e.forEach((s) => {
791
+ switch (b.warn("Statement", s.stmt), s.stmt) {
792
+ case _t:
793
+ G(
794
+ s.id.trim(),
795
+ s.type,
796
+ s.doc,
797
+ s.description,
798
+ s.note,
799
+ s.classes,
800
+ s.styles,
801
+ s.textStyles
802
+ );
803
+ break;
804
+ case wt:
805
+ Ee(s.state1, s.state2, s.description);
806
+ break;
807
+ case Be:
808
+ ve(s.id.trim(), s.classes);
809
+ break;
810
+ case Ye:
811
+ {
812
+ const p = s.id.trim().split(","), g = s.styleClass.split(",");
813
+ p.forEach((l) => {
814
+ let _ = z(l);
815
+ if (_ === void 0) {
816
+ const v = l.trim();
817
+ G(v), _ = z(v);
818
+ }
819
+ _.styles = g.map((v) => {
820
+ var A;
821
+ return (A = v.replace(/;/g, "")) == null ? void 0 : A.trim();
822
+ });
823
+ });
824
+ }
825
+ break;
826
+ case Fe:
827
+ Ft(s.id.trim(), s.styleClass);
828
+ break;
829
+ }
830
+ });
831
+ const c = ye(), d = x().look;
832
+ ns(), tt(void 0, Yt(), c, Tt, Bt, !0, d, K), Tt.forEach((s) => {
833
+ if (Array.isArray(s.label)) {
834
+ if (s.description = s.label.slice(1), s.isGroup && s.description.length > 0)
835
+ throw new Error(
836
+ "Group nodes can only have label. Remove the additional description for node [" + s.id + "]"
837
+ );
838
+ s.label = s.label[0];
839
+ }
840
+ });
841
+ }, "extract"), G = /* @__PURE__ */ r(function(t, e = st, c = null, a = null, d = null, s = null, p = null, g = null) {
842
+ const l = t == null ? void 0 : t.trim();
843
+ if (k.states.has(l) ? (k.states.get(l).doc || (k.states.get(l).doc = c), k.states.get(l).type || (k.states.get(l).type = e)) : (b.info("Adding state ", l, a), k.states.set(l, {
844
+ id: l,
845
+ descriptions: [],
846
+ type: e,
847
+ doc: c,
848
+ note: d,
849
+ classes: [],
850
+ styles: [],
851
+ textStyles: []
852
+ })), a && (b.info("Setting state description", l, a), typeof a == "string" && Nt(l, a.trim()), typeof a == "object" && a.forEach((_) => Nt(l, _.trim()))), d) {
853
+ const _ = k.states.get(l);
854
+ _.note = d, _.note.text = H.sanitizeText(_.note.text, x());
855
+ }
856
+ s && (b.info("Setting state classes", l, s), (typeof s == "string" ? [s] : s).forEach((v) => Ft(l, v.trim()))), p && (b.info("Setting state styles", l, p), (typeof p == "string" ? [p] : p).forEach((v) => Ts(l, v.trim()))), g && (b.info("Setting state styles", l, p), (typeof g == "string" ? [g] : g).forEach((v) => Es(l, v.trim())));
857
+ }, "addState"), Se = /* @__PURE__ */ r(function(t) {
858
+ Tt = [], Bt = [], vt = {
859
+ root: pe()
860
+ }, k = vt.root, et = 0, K = Gt(), t || $e();
861
+ }, "clear"), z = /* @__PURE__ */ r(function(t) {
862
+ return k.states.get(t);
863
+ }, "getState"), ye = /* @__PURE__ */ r(function() {
864
+ return k.states;
865
+ }, "getStates"), ps = /* @__PURE__ */ r(function() {
866
+ b.info("Documents = ", vt);
867
+ }, "logDocuments"), Ss = /* @__PURE__ */ r(function() {
868
+ return k.relations;
869
+ }, "getRelations");
870
+ function bt(t = "") {
871
+ let e = t;
872
+ return t === Pt && (et++, e = `${ue}${et}`), e;
873
+ }
874
+ r(bt, "startIdIfNeeded");
875
+ function mt(t = "", e = st) {
876
+ return t === Pt ? ue : e;
877
+ }
878
+ r(mt, "startTypeIfNeeded");
879
+ function ge(t = "") {
880
+ let e = t;
881
+ return t === he && (et++, e = `${de}${et}`), e;
882
+ }
883
+ r(ge, "endIdIfNeeded");
884
+ function _e(t = "", e = st) {
885
+ return t === he ? de : e;
886
+ }
887
+ r(_e, "endTypeIfNeeded");
888
+ function Te(t, e, c) {
889
+ let a = bt(t.id.trim()), d = mt(t.id.trim(), t.type), s = bt(e.id.trim()), p = mt(e.id.trim(), e.type);
890
+ G(
891
+ a,
892
+ d,
893
+ t.doc,
894
+ t.description,
895
+ t.note,
896
+ t.classes,
897
+ t.styles,
898
+ t.textStyles
899
+ ), G(
900
+ s,
901
+ p,
902
+ e.doc,
903
+ e.description,
904
+ e.note,
905
+ e.classes,
906
+ e.styles,
907
+ e.textStyles
908
+ ), k.relations.push({
909
+ id1: a,
910
+ id2: s,
911
+ relationTitle: H.sanitizeText(c, x())
912
+ });
913
+ }
914
+ r(Te, "addRelationObjs");
915
+ var Ee = /* @__PURE__ */ r(function(t, e, c) {
916
+ if (typeof t == "object")
917
+ Te(t, e, c);
918
+ else {
919
+ const a = bt(t.trim()), d = mt(t), s = ge(e.trim()), p = _e(e);
920
+ G(a, d), G(s, p), k.relations.push({
921
+ id1: a,
922
+ id2: s,
923
+ title: H.sanitizeText(c, x())
924
+ });
925
+ }
926
+ }, "addRelation"), Nt = /* @__PURE__ */ r(function(t, e) {
927
+ const c = k.states.get(t), a = e.startsWith(":") ? e.replace(":", "").trim() : e;
928
+ c.descriptions.push(H.sanitizeText(a, x()));
929
+ }, "addDescription"), ys = /* @__PURE__ */ r(function(t) {
930
+ return t.substring(0, 1) === ":" ? t.substr(2).trim() : t.trim();
931
+ }, "cleanupLabel"), gs = /* @__PURE__ */ r(() => (Jt++, "divider-id-" + Jt), "getDividerId"), ve = /* @__PURE__ */ r(function(t, e = "") {
932
+ K.has(t) || K.set(t, { id: t, styles: [], textStyles: [] });
933
+ const c = K.get(t);
934
+ e != null && e.split(os).forEach((a) => {
935
+ const d = a.replace(/([^;]*);/, "$1").trim();
936
+ if (RegExp(Xt).exec(a)) {
937
+ const p = d.replace(Kt, ls).replace(Xt, Kt);
938
+ c.textStyles.push(p);
939
+ }
940
+ c.styles.push(d);
941
+ });
942
+ }, "addStyleClass"), _s = /* @__PURE__ */ r(function() {
943
+ return K;
944
+ }, "getClasses"), Ft = /* @__PURE__ */ r(function(t, e) {
945
+ t.split(",").forEach(function(c) {
946
+ let a = z(c);
947
+ if (a === void 0) {
948
+ const d = c.trim();
949
+ G(d), a = z(d);
950
+ }
951
+ a.classes.push(e);
952
+ });
953
+ }, "setCssClass"), Ts = /* @__PURE__ */ r(function(t, e) {
954
+ const c = z(t);
955
+ c !== void 0 && c.styles.push(e);
956
+ }, "setStyle"), Es = /* @__PURE__ */ r(function(t, e) {
957
+ const c = z(t);
958
+ c !== void 0 && c.textStyles.push(e);
959
+ }, "setTextStyle"), vs = /* @__PURE__ */ r(() => fe, "getDirection"), bs = /* @__PURE__ */ r((t) => {
960
+ fe = t;
961
+ }, "setDirection"), ms = /* @__PURE__ */ r((t) => t && t[0] === ":" ? t.substr(1).trim() : t.trim(), "trimColon"), ks = /* @__PURE__ */ r(() => {
962
+ const t = x();
963
+ return { nodes: Tt, edges: Bt, other: {}, config: t, direction: le(Yt()) };
964
+ }, "getData"), Is = {
965
+ getConfig: /* @__PURE__ */ r(() => x().state, "getConfig"),
966
+ getData: ks,
967
+ addState: G,
968
+ clear: Se,
969
+ getState: z,
970
+ getStates: ye,
971
+ getRelations: Ss,
972
+ getClasses: _s,
973
+ getDirection: vs,
974
+ addRelation: Ee,
975
+ getDividerId: gs,
976
+ setDirection: bs,
977
+ cleanupLabel: ys,
978
+ lineType: cs,
979
+ relationType: us,
980
+ logDocuments: ps,
981
+ getRootDoc: ds,
982
+ setRootDoc: hs,
983
+ getRootDocV2: Yt,
984
+ extract: fs,
985
+ trimColon: ms,
986
+ getAccTitle: xe,
987
+ setAccTitle: Ae,
988
+ getAccDescription: Le,
989
+ setAccDescription: Ie,
990
+ addStyleClass: ve,
991
+ setCssClass: Ft,
992
+ addDescription: Nt,
993
+ setDiagramTitle: Re,
994
+ getDiagramTitle: Oe
995
+ }, Ds = /* @__PURE__ */ r((t) => `
996
+ defs #statediagram-barbEnd {
997
+ fill: ${t.transitionColor};
998
+ stroke: ${t.transitionColor};
999
+ }
1000
+ g.stateGroup text {
1001
+ fill: ${t.nodeBorder};
1002
+ stroke: none;
1003
+ font-size: 10px;
1004
+ }
1005
+ g.stateGroup text {
1006
+ fill: ${t.textColor};
1007
+ stroke: none;
1008
+ font-size: 10px;
1009
+
1010
+ }
1011
+ g.stateGroup .state-title {
1012
+ font-weight: bolder;
1013
+ fill: ${t.stateLabelColor};
1014
+ }
1015
+
1016
+ g.stateGroup rect {
1017
+ fill: ${t.mainBkg};
1018
+ stroke: ${t.nodeBorder};
1019
+ }
1020
+
1021
+ g.stateGroup line {
1022
+ stroke: ${t.lineColor};
1023
+ stroke-width: 1;
1024
+ }
1025
+
1026
+ .transition {
1027
+ stroke: ${t.transitionColor};
1028
+ stroke-width: 1;
1029
+ fill: none;
1030
+ }
1031
+
1032
+ .stateGroup .composit {
1033
+ fill: ${t.background};
1034
+ border-bottom: 1px
1035
+ }
1036
+
1037
+ .stateGroup .alt-composit {
1038
+ fill: #e0e0e0;
1039
+ border-bottom: 1px
1040
+ }
1041
+
1042
+ .state-note {
1043
+ stroke: ${t.noteBorderColor};
1044
+ fill: ${t.noteBkgColor};
1045
+
1046
+ text {
1047
+ fill: ${t.noteTextColor};
1048
+ stroke: none;
1049
+ font-size: 10px;
1050
+ }
1051
+ }
1052
+
1053
+ .stateLabel .box {
1054
+ stroke: none;
1055
+ stroke-width: 0;
1056
+ fill: ${t.mainBkg};
1057
+ opacity: 0.5;
1058
+ }
1059
+
1060
+ .edgeLabel .label rect {
1061
+ fill: ${t.labelBackgroundColor};
1062
+ opacity: 0.5;
1063
+ }
1064
+ .edgeLabel {
1065
+ background-color: ${t.edgeLabelBackground};
1066
+ p {
1067
+ background-color: ${t.edgeLabelBackground};
1068
+ }
1069
+ rect {
1070
+ opacity: 0.5;
1071
+ background-color: ${t.edgeLabelBackground};
1072
+ fill: ${t.edgeLabelBackground};
1073
+ }
1074
+ text-align: center;
1075
+ }
1076
+ .edgeLabel .label text {
1077
+ fill: ${t.transitionLabelColor || t.tertiaryTextColor};
1078
+ }
1079
+ .label div .edgeLabel {
1080
+ color: ${t.transitionLabelColor || t.tertiaryTextColor};
1081
+ }
1082
+
1083
+ .stateLabel text {
1084
+ fill: ${t.stateLabelColor};
1085
+ font-size: 10px;
1086
+ font-weight: bold;
1087
+ }
1088
+
1089
+ .node circle.state-start {
1090
+ fill: ${t.specialStateColor};
1091
+ stroke: ${t.specialStateColor};
1092
+ }
1093
+
1094
+ .node .fork-join {
1095
+ fill: ${t.specialStateColor};
1096
+ stroke: ${t.specialStateColor};
1097
+ }
1098
+
1099
+ .node circle.state-end {
1100
+ fill: ${t.innerEndBackground};
1101
+ stroke: ${t.background};
1102
+ stroke-width: 1.5
1103
+ }
1104
+ .end-state-inner {
1105
+ fill: ${t.compositeBackground || t.background};
1106
+ // stroke: ${t.background};
1107
+ stroke-width: 1.5
1108
+ }
1109
+
1110
+ .node rect {
1111
+ fill: ${t.stateBkg || t.mainBkg};
1112
+ stroke: ${t.stateBorder || t.nodeBorder};
1113
+ stroke-width: 1px;
1114
+ }
1115
+ .node polygon {
1116
+ fill: ${t.mainBkg};
1117
+ stroke: ${t.stateBorder || t.nodeBorder};;
1118
+ stroke-width: 1px;
1119
+ }
1120
+ #statediagram-barbEnd {
1121
+ fill: ${t.lineColor};
1122
+ }
1123
+
1124
+ .statediagram-cluster rect {
1125
+ fill: ${t.compositeTitleBackground};
1126
+ stroke: ${t.stateBorder || t.nodeBorder};
1127
+ stroke-width: 1px;
1128
+ }
1129
+
1130
+ .cluster-label, .nodeLabel {
1131
+ color: ${t.stateLabelColor};
1132
+ // line-height: 1;
1133
+ }
1134
+
1135
+ .statediagram-cluster rect.outer {
1136
+ rx: 5px;
1137
+ ry: 5px;
1138
+ }
1139
+ .statediagram-state .divider {
1140
+ stroke: ${t.stateBorder || t.nodeBorder};
1141
+ }
1142
+
1143
+ .statediagram-state .title-state {
1144
+ rx: 5px;
1145
+ ry: 5px;
1146
+ }
1147
+ .statediagram-cluster.statediagram-cluster .inner {
1148
+ fill: ${t.compositeBackground || t.background};
1149
+ }
1150
+ .statediagram-cluster.statediagram-cluster-alt .inner {
1151
+ fill: ${t.altBackground ? t.altBackground : "#efefef"};
1152
+ }
1153
+
1154
+ .statediagram-cluster .inner {
1155
+ rx:0;
1156
+ ry:0;
1157
+ }
1158
+
1159
+ .statediagram-state rect.basic {
1160
+ rx: 5px;
1161
+ ry: 5px;
1162
+ }
1163
+ .statediagram-state rect.divider {
1164
+ stroke-dasharray: 10,10;
1165
+ fill: ${t.altBackground ? t.altBackground : "#efefef"};
1166
+ }
1167
+
1168
+ .note-edge {
1169
+ stroke-dasharray: 5;
1170
+ }
1171
+
1172
+ .statediagram-note rect {
1173
+ fill: ${t.noteBkgColor};
1174
+ stroke: ${t.noteBorderColor};
1175
+ stroke-width: 1px;
1176
+ rx: 0;
1177
+ ry: 0;
1178
+ }
1179
+ .statediagram-note rect {
1180
+ fill: ${t.noteBkgColor};
1181
+ stroke: ${t.noteBorderColor};
1182
+ stroke-width: 1px;
1183
+ rx: 0;
1184
+ ry: 0;
1185
+ }
1186
+
1187
+ .statediagram-note text {
1188
+ fill: ${t.noteTextColor};
1189
+ }
1190
+
1191
+ .statediagram-note .nodeLabel {
1192
+ color: ${t.noteTextColor};
1193
+ }
1194
+ .statediagram .edgeLabel {
1195
+ color: red; // ${t.noteTextColor};
1196
+ }
1197
+
1198
+ #dependencyStart, #dependencyEnd {
1199
+ fill: ${t.lineColor};
1200
+ stroke: ${t.lineColor};
1201
+ stroke-width: 1;
1202
+ }
1203
+
1204
+ .statediagramTitleText {
1205
+ text-anchor: middle;
1206
+ font-size: 18px;
1207
+ fill: ${t.textColor};
1208
+ }
1209
+ `, "getStyles"), Rs = Ds;
1210
+ export {
1211
+ Is as a,
1212
+ Rs as b,
1213
+ Ls as c,
1214
+ As as s
1215
+ };