@life-exe/wiki-engine 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +180 -0
  3. package/dist/analytics/index.d.ts +10 -0
  4. package/dist/chunks/abnfDiagram-VCTEODGH-DyAP6Aua.js +87 -0
  5. package/dist/chunks/arc-OroUeRL_.js +83 -0
  6. package/dist/chunks/architectureDiagram-5GKGNRK7-FjmrDCl4.js +4784 -0
  7. package/dist/chunks/blockDiagram-I7D4REHJ-BF3oIDlI.js +1416 -0
  8. package/dist/chunks/c4Diagram-7LVT6UL2-Cmdq0LZr.js +1511 -0
  9. package/dist/chunks/channel-Bdy1QZHo.js +5 -0
  10. package/dist/chunks/chunk-2Q5K7J3B-BwxRSEKd.js +15 -0
  11. package/dist/chunks/chunk-5VM5RSS4-BtHwUU4T.js +19 -0
  12. package/dist/chunks/chunk-F27PBJKO-DF4TGftR.js +68 -0
  13. package/dist/chunks/chunk-IMKFNOWR-DkBQ-1aV.js +1421 -0
  14. package/dist/chunks/chunk-JWPE2WC7-BIokdAUW.js +9 -0
  15. package/dist/chunks/chunk-POPQ4Y6H-CcjOsf9X.js +20 -0
  16. package/dist/chunks/chunk-SHT3W25Y-lYp5BdEg.js +1695 -0
  17. package/dist/chunks/chunk-SVP7TREG-DN-ravNt.js +664 -0
  18. package/dist/chunks/chunk-TICWLB2K-CtTJ0xaY.js +1534 -0
  19. package/dist/chunks/chunk-XXDRQBXY-BovkWFC0.js +8 -0
  20. package/dist/chunks/classDiagram-ZZMXUADV-CMYS0pHw.js +16 -0
  21. package/dist/chunks/classDiagram-v2-VYDZK3BY-CMYS0pHw.js +16 -0
  22. package/dist/chunks/common-BJ4q25wy.js +12633 -0
  23. package/dist/chunks/cose-bilkent-JH36ORCC-CaMqpJY7.js +2608 -0
  24. package/dist/chunks/cynefin-OW5HDTMX-Bzjecpt-.js +23853 -0
  25. package/dist/chunks/cynefinDiagram-5FMLGOSQ-C0NuKLt0.js +299 -0
  26. package/dist/chunks/cytoscape.esm-DmPrb1GM.js +18787 -0
  27. package/dist/chunks/dagre-GXQ25YYZ-Ds09_NdN.js +461 -0
  28. package/dist/chunks/defaultLocale-BgPVtth8.js +171 -0
  29. package/dist/chunks/diagram-S7CK7UJ4-IvSazk1O.js +349 -0
  30. package/dist/chunks/diagram-UQ7AKVKN-58epdx5V.js +223 -0
  31. package/dist/chunks/diagram-VSXAHHWV-BrzRGMeV.js +466 -0
  32. package/dist/chunks/diagram-VX7I27RA-DPL0Nw6d.js +530 -0
  33. package/dist/chunks/diagram-Z3DM3KII-8VWVu0I5.js +143 -0
  34. package/dist/chunks/ebnfDiagram-PWID7BFC-DeByR_ze.js +109 -0
  35. package/dist/chunks/erDiagram-RLTQ6QDP-C9uo9iE1.js +1060 -0
  36. package/dist/chunks/flowDiagram-HODETNUW-BpoY3OMp.js +7 -0
  37. package/dist/chunks/ganttDiagram-EL5Y4UJY-psdwnC-T.js +2711 -0
  38. package/dist/chunks/gitGraphDiagram-WWUBYQGX-vsDfkn_Q.js +828 -0
  39. package/dist/chunks/index-f7Uzykhj.js +38262 -0
  40. package/dist/chunks/infoDiagram-27XIBGKW-8K-eQZiU.js +24 -0
  41. package/dist/chunks/init-DjUOC4st.js +16 -0
  42. package/dist/chunks/ishikawaDiagram-5VMMS53U-CuqR1k5i.js +622 -0
  43. package/dist/chunks/journeyDiagram-3NMN7TZE-BPW1nmwZ.js +834 -0
  44. package/dist/chunks/kanban-definition-UXKFOSKX-iY6-d6jO.js +726 -0
  45. package/dist/chunks/katex-jHfnQmlp.js +11682 -0
  46. package/dist/chunks/layout-CgV9vOdp.js +1704 -0
  47. package/dist/chunks/linear-BzcaSMTS.js +259 -0
  48. package/dist/chunks/mindmap-definition-YA3MSWOX-CaLfHyv0.js +831 -0
  49. package/dist/chunks/ordinal-DfAQgscy.js +61 -0
  50. package/dist/chunks/pegDiagram-XKGWAZYB-6Y28VvVh.js +95 -0
  51. package/dist/chunks/pieDiagram-E7YTZNPT-OrjeRxhs.js +209 -0
  52. package/dist/chunks/quadrantDiagram-AXDQQJYC-rgw2lV2J.js +1025 -0
  53. package/dist/chunks/railroadDiagram-O6MQD6OU-D6QNO5r1.js +77 -0
  54. package/dist/chunks/requirementDiagram-BXWQKSXE-a8tNRSuE.js +884 -0
  55. package/dist/chunks/sankeyDiagram-P5KCCOFB-CdaC8rLw.js +847 -0
  56. package/dist/chunks/sequenceDiagram-WJ2MYXX4-CGLi38Hj.js +2898 -0
  57. package/dist/chunks/sizeCapture-INFHLROL-g5RJXnik.js +47 -0
  58. package/dist/chunks/stateDiagram-D77RDMKH-Cou0eVl1.js +262 -0
  59. package/dist/chunks/stateDiagram-v2-MP3YSRHH-BHQspnUg.js +16 -0
  60. package/dist/chunks/swimlanes-42K2YHIH-BU7S1WgJ.js +5239 -0
  61. package/dist/chunks/swimlanesDiagram-VR7AAH4N-BsEplbno.js +13 -0
  62. package/dist/chunks/timeline-definition-24CTP7MA-BB-IyxWL.js +1066 -0
  63. package/dist/chunks/vennDiagram-4TSXK5OY-BToYolPI.js +1585 -0
  64. package/dist/chunks/wardleyDiagram-VM6X3IG4-BgoueOw_.js +684 -0
  65. package/dist/chunks/xychartDiagram-S5SC5T6Z-CF0fWv-W.js +1492 -0
  66. package/dist/components/CodeBlock.d.ts +5 -0
  67. package/dist/components/CommunityLinks.d.ts +21 -0
  68. package/dist/components/CookieConsent.d.ts +2 -0
  69. package/dist/components/DocLinkCard.d.ts +6 -0
  70. package/dist/components/LecturePageView.d.ts +3 -0
  71. package/dist/components/MermaidDiagram.d.ts +3 -0
  72. package/dist/components/SearchPopup.d.ts +6 -0
  73. package/dist/components/WikiApp.d.ts +9 -0
  74. package/dist/components/WikiLayout.d.ts +2 -0
  75. package/dist/components/WikiPageView.d.ts +6 -0
  76. package/dist/components/ZoomableImage.d.ts +2 -0
  77. package/dist/context/LangContext.d.ts +2 -0
  78. package/dist/context/WikiContext.d.ts +18 -0
  79. package/dist/data.d.ts +8 -0
  80. package/dist/hooks/useLanguage.d.ts +4 -0
  81. package/dist/hooks/useTheme.d.ts +5 -0
  82. package/dist/hooks/useWiki.d.ts +2 -0
  83. package/dist/index.d.ts +24 -0
  84. package/dist/index.js +45 -0
  85. package/dist/languages/ue-cpp.d.ts +7 -0
  86. package/dist/languages/ue-cpp.js +21 -0
  87. package/dist/types.d.ts +119 -0
  88. package/dist/wiki-engine.css +1 -0
  89. package/package.json +76 -0
@@ -0,0 +1,1066 @@
1
+ import { _ as l, E as pt, Y as Wt, $ as Pt, a0 as Bt, c as gt, l as S, K as Vt, P as Ft, a1 as ft, j as J, D as zt, a2 as Gt, A as Ot } from "./index-f7Uzykhj.js";
2
+ import { d as ot } from "./arc-OroUeRL_.js";
3
+ var tt = (function() {
4
+ var e = /* @__PURE__ */ l(function(k, s, d, h) {
5
+ for (d = d || {}, h = k.length; h--; d[k[h]] = s) ;
6
+ return d;
7
+ }, "o"), t = [6, 11, 13, 14, 15, 17, 19, 20, 23, 24], n = [1, 12], i = [1, 13], r = [1, 14], o = [1, 15], c = [1, 16], a = [1, 19], p = [1, 20], y = {
8
+ trace: /* @__PURE__ */ l(function() {
9
+ }, "trace"),
10
+ yy: {},
11
+ symbols_: { error: 2, start: 3, timeline_header: 4, document: 5, EOF: 6, timeline: 7, timeline_lr: 8, timeline_td: 9, line: 10, SPACE: 11, statement: 12, NEWLINE: 13, title: 14, acc_title: 15, acc_title_value: 16, acc_descr: 17, acc_descr_value: 18, acc_descr_multiline_value: 19, section: 20, period_statement: 21, event_statement: 22, period: 23, event: 24, $accept: 0, $end: 1 },
12
+ terminals_: { 2: "error", 6: "EOF", 7: "timeline", 8: "timeline_lr", 9: "timeline_td", 11: "SPACE", 13: "NEWLINE", 14: "title", 15: "acc_title", 16: "acc_title_value", 17: "acc_descr", 18: "acc_descr_value", 19: "acc_descr_multiline_value", 20: "section", 23: "period", 24: "event" },
13
+ productions_: [0, [3, 3], [4, 1], [4, 1], [4, 1], [5, 0], [5, 2], [10, 2], [10, 1], [10, 1], [10, 1], [12, 1], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [21, 1], [22, 1]],
14
+ performAction: /* @__PURE__ */ l(function(s, d, h, g, m, u, w) {
15
+ var v = u.length - 1;
16
+ switch (m) {
17
+ case 1:
18
+ return u[v - 1];
19
+ case 3:
20
+ g.setDirection("LR");
21
+ break;
22
+ case 4:
23
+ g.setDirection("TD");
24
+ break;
25
+ case 5:
26
+ this.$ = [];
27
+ break;
28
+ case 6:
29
+ u[v - 1].push(u[v]), this.$ = u[v - 1];
30
+ break;
31
+ case 7:
32
+ case 8:
33
+ this.$ = u[v];
34
+ break;
35
+ case 9:
36
+ case 10:
37
+ this.$ = [];
38
+ break;
39
+ case 11:
40
+ g.getCommonDb().setDiagramTitle(u[v].substr(6)), this.$ = u[v].substr(6);
41
+ break;
42
+ case 12:
43
+ this.$ = u[v].trim(), g.getCommonDb().setAccTitle(this.$);
44
+ break;
45
+ case 13:
46
+ case 14:
47
+ this.$ = u[v].trim(), g.getCommonDb().setAccDescription(this.$);
48
+ break;
49
+ case 15:
50
+ g.addSection(u[v].substr(8)), this.$ = u[v].substr(8);
51
+ break;
52
+ case 18:
53
+ g.addTask(u[v], 0, ""), this.$ = u[v];
54
+ break;
55
+ case 19:
56
+ g.addEvent(u[v].substr(2)), this.$ = u[v];
57
+ break;
58
+ }
59
+ }, "anonymous"),
60
+ table: [{ 3: 1, 4: 2, 7: [1, 3], 8: [1, 4], 9: [1, 5] }, { 1: [3] }, e(t, [2, 5], { 5: 6 }), e(t, [2, 2]), e(t, [2, 3]), e(t, [2, 4]), { 6: [1, 7], 10: 8, 11: [1, 9], 12: 10, 13: [1, 11], 14: n, 15: i, 17: r, 19: o, 20: c, 21: 17, 22: 18, 23: a, 24: p }, e(t, [2, 10], { 1: [2, 1] }), e(t, [2, 6]), { 12: 21, 14: n, 15: i, 17: r, 19: o, 20: c, 21: 17, 22: 18, 23: a, 24: p }, e(t, [2, 8]), e(t, [2, 9]), e(t, [2, 11]), { 16: [1, 22] }, { 18: [1, 23] }, e(t, [2, 14]), e(t, [2, 15]), e(t, [2, 16]), e(t, [2, 17]), e(t, [2, 18]), e(t, [2, 19]), e(t, [2, 7]), e(t, [2, 12]), e(t, [2, 13])],
61
+ defaultActions: {},
62
+ parseError: /* @__PURE__ */ l(function(s, d) {
63
+ if (d.recoverable)
64
+ this.trace(s);
65
+ else {
66
+ var h = new Error(s);
67
+ throw h.hash = d, h;
68
+ }
69
+ }, "parseError"),
70
+ parse: /* @__PURE__ */ l(function(s) {
71
+ var d = this, h = [0], g = [], m = [null], u = [], w = this.table, v = "", M = 0, C = 0, P = 2, V = 1, L = u.slice.call(arguments, 1), _ = Object.create(this.lexer), R = { yy: {} };
72
+ for (var F in this.yy)
73
+ Object.prototype.hasOwnProperty.call(this.yy, F) && (R.yy[F] = this.yy[F]);
74
+ _.setInput(s, R.yy), R.yy.lexer = _, R.yy.parser = this, typeof _.yylloc > "u" && (_.yylloc = {});
75
+ var z = _.yylloc;
76
+ u.push(z);
77
+ var q = _.options && _.options.ranges;
78
+ typeof R.yy.parseError == "function" ? this.parseError = R.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
79
+ function K(A) {
80
+ h.length = h.length - 2 * A, m.length = m.length - A, u.length = u.length - A;
81
+ }
82
+ l(K, "popStack");
83
+ function O() {
84
+ var A;
85
+ return A = g.pop() || _.lex() || V, typeof A != "number" && (A instanceof Array && (g = A, A = g.pop()), A = d.symbols_[A] || A), A;
86
+ }
87
+ l(O, "lex");
88
+ for (var $, N, b, T, E = {}, H, I, B, D; ; ) {
89
+ if (N = h[h.length - 1], this.defaultActions[N] ? b = this.defaultActions[N] : (($ === null || typeof $ > "u") && ($ = O()), b = w[N] && w[N][$]), typeof b > "u" || !b.length || !b[0]) {
90
+ var U = "";
91
+ D = [];
92
+ for (H in w[N])
93
+ this.terminals_[H] && H > P && D.push("'" + this.terminals_[H] + "'");
94
+ _.showPosition ? U = "Parse error on line " + (M + 1) + `:
95
+ ` + _.showPosition() + `
96
+ Expecting ` + D.join(", ") + ", got '" + (this.terminals_[$] || $) + "'" : U = "Parse error on line " + (M + 1) + ": Unexpected " + ($ == V ? "end of input" : "'" + (this.terminals_[$] || $) + "'"), this.parseError(U, {
97
+ text: _.match,
98
+ token: this.terminals_[$] || $,
99
+ line: _.yylineno,
100
+ loc: z,
101
+ expected: D
102
+ });
103
+ }
104
+ if (b[0] instanceof Array && b.length > 1)
105
+ throw new Error("Parse Error: multiple actions possible at state: " + N + ", token: " + $);
106
+ switch (b[0]) {
107
+ case 1:
108
+ h.push($), m.push(_.yytext), u.push(_.yylloc), h.push(b[1]), $ = null, C = _.yyleng, v = _.yytext, M = _.yylineno, z = _.yylloc;
109
+ break;
110
+ case 2:
111
+ if (I = this.productions_[b[1]][1], E.$ = m[m.length - I], E._$ = {
112
+ first_line: u[u.length - (I || 1)].first_line,
113
+ last_line: u[u.length - 1].last_line,
114
+ first_column: u[u.length - (I || 1)].first_column,
115
+ last_column: u[u.length - 1].last_column
116
+ }, q && (E._$.range = [
117
+ u[u.length - (I || 1)].range[0],
118
+ u[u.length - 1].range[1]
119
+ ]), T = this.performAction.apply(E, [
120
+ v,
121
+ C,
122
+ M,
123
+ R.yy,
124
+ b[1],
125
+ m,
126
+ u
127
+ ].concat(L)), typeof T < "u")
128
+ return T;
129
+ I && (h = h.slice(0, -1 * I * 2), m = m.slice(0, -1 * I), u = u.slice(0, -1 * I)), h.push(this.productions_[b[1]][0]), m.push(E.$), u.push(E._$), B = w[h[h.length - 2]][h[h.length - 1]], h.push(B);
130
+ break;
131
+ case 3:
132
+ return !0;
133
+ }
134
+ }
135
+ return !0;
136
+ }, "parse")
137
+ }, x = /* @__PURE__ */ (function() {
138
+ var k = {
139
+ EOF: 1,
140
+ parseError: /* @__PURE__ */ l(function(d, h) {
141
+ if (this.yy.parser)
142
+ this.yy.parser.parseError(d, h);
143
+ else
144
+ throw new Error(d);
145
+ }, "parseError"),
146
+ // resets the lexer, sets new input
147
+ setInput: /* @__PURE__ */ l(function(s, d) {
148
+ return this.yy = d || this.yy || {}, this._input = s, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
149
+ first_line: 1,
150
+ first_column: 0,
151
+ last_line: 1,
152
+ last_column: 0
153
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
154
+ }, "setInput"),
155
+ // consumes and returns one char from the input
156
+ input: /* @__PURE__ */ l(function() {
157
+ var s = this._input[0];
158
+ this.yytext += s, this.yyleng++, this.offset++, this.match += s, this.matched += s;
159
+ var d = s.match(/(?:\r\n?|\n).*/g);
160
+ return d ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), s;
161
+ }, "input"),
162
+ // unshifts one char (or a string) into the input
163
+ unput: /* @__PURE__ */ l(function(s) {
164
+ var d = s.length, h = s.split(/(?:\r\n?|\n)/g);
165
+ this._input = s + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - d), this.offset -= d;
166
+ var g = this.match.split(/(?:\r\n?|\n)/g);
167
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), h.length - 1 && (this.yylineno -= h.length - 1);
168
+ var m = this.yylloc.range;
169
+ return this.yylloc = {
170
+ first_line: this.yylloc.first_line,
171
+ last_line: this.yylineno + 1,
172
+ first_column: this.yylloc.first_column,
173
+ last_column: h ? (h.length === g.length ? this.yylloc.first_column : 0) + g[g.length - h.length].length - h[0].length : this.yylloc.first_column - d
174
+ }, this.options.ranges && (this.yylloc.range = [m[0], m[0] + this.yyleng - d]), this.yyleng = this.yytext.length, this;
175
+ }, "unput"),
176
+ // When called from action, caches matched text and appends it on next action
177
+ more: /* @__PURE__ */ l(function() {
178
+ return this._more = !0, this;
179
+ }, "more"),
180
+ // 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.
181
+ reject: /* @__PURE__ */ l(function() {
182
+ if (this.options.backtrack_lexer)
183
+ this._backtrack = !0;
184
+ else
185
+ 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).
186
+ ` + this.showPosition(), {
187
+ text: "",
188
+ token: null,
189
+ line: this.yylineno
190
+ });
191
+ return this;
192
+ }, "reject"),
193
+ // retain first n characters of the match
194
+ less: /* @__PURE__ */ l(function(s) {
195
+ this.unput(this.match.slice(s));
196
+ }, "less"),
197
+ // displays already matched input, i.e. for error messages
198
+ pastInput: /* @__PURE__ */ l(function() {
199
+ var s = this.matched.substr(0, this.matched.length - this.match.length);
200
+ return (s.length > 20 ? "..." : "") + s.substr(-20).replace(/\n/g, "");
201
+ }, "pastInput"),
202
+ // displays upcoming input, i.e. for error messages
203
+ upcomingInput: /* @__PURE__ */ l(function() {
204
+ var s = this.match;
205
+ return s.length < 20 && (s += this._input.substr(0, 20 - s.length)), (s.substr(0, 20) + (s.length > 20 ? "..." : "")).replace(/\n/g, "");
206
+ }, "upcomingInput"),
207
+ // displays the character position where the lexing error occurred, i.e. for error messages
208
+ showPosition: /* @__PURE__ */ l(function() {
209
+ var s = this.pastInput(), d = new Array(s.length + 1).join("-");
210
+ return s + this.upcomingInput() + `
211
+ ` + d + "^";
212
+ }, "showPosition"),
213
+ // test the lexed token: return FALSE when not a match, otherwise return token
214
+ test_match: /* @__PURE__ */ l(function(s, d) {
215
+ var h, g, m;
216
+ if (this.options.backtrack_lexer && (m = {
217
+ yylineno: this.yylineno,
218
+ yylloc: {
219
+ first_line: this.yylloc.first_line,
220
+ last_line: this.last_line,
221
+ first_column: this.yylloc.first_column,
222
+ last_column: this.yylloc.last_column
223
+ },
224
+ yytext: this.yytext,
225
+ match: this.match,
226
+ matches: this.matches,
227
+ matched: this.matched,
228
+ yyleng: this.yyleng,
229
+ offset: this.offset,
230
+ _more: this._more,
231
+ _input: this._input,
232
+ yy: this.yy,
233
+ conditionStack: this.conditionStack.slice(0),
234
+ done: this.done
235
+ }, this.options.ranges && (m.yylloc.range = this.yylloc.range.slice(0))), g = s[0].match(/(?:\r\n?|\n).*/g), g && (this.yylineno += g.length), this.yylloc = {
236
+ first_line: this.yylloc.last_line,
237
+ last_line: this.yylineno + 1,
238
+ first_column: this.yylloc.last_column,
239
+ last_column: g ? g[g.length - 1].length - g[g.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + s[0].length
240
+ }, this.yytext += s[0], this.match += s[0], this.matches = s, 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(s[0].length), this.matched += s[0], h = this.performAction.call(this, this.yy, this, d, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), h)
241
+ return h;
242
+ if (this._backtrack) {
243
+ for (var u in m)
244
+ this[u] = m[u];
245
+ return !1;
246
+ }
247
+ return !1;
248
+ }, "test_match"),
249
+ // return next match in input
250
+ next: /* @__PURE__ */ l(function() {
251
+ if (this.done)
252
+ return this.EOF;
253
+ this._input || (this.done = !0);
254
+ var s, d, h, g;
255
+ this._more || (this.yytext = "", this.match = "");
256
+ for (var m = this._currentRules(), u = 0; u < m.length; u++)
257
+ if (h = this._input.match(this.rules[m[u]]), h && (!d || h[0].length > d[0].length)) {
258
+ if (d = h, g = u, this.options.backtrack_lexer) {
259
+ if (s = this.test_match(h, m[u]), s !== !1)
260
+ return s;
261
+ if (this._backtrack) {
262
+ d = !1;
263
+ continue;
264
+ } else
265
+ return !1;
266
+ } else if (!this.options.flex)
267
+ break;
268
+ }
269
+ return d ? (s = this.test_match(d, m[g]), s !== !1 ? s : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
270
+ ` + this.showPosition(), {
271
+ text: "",
272
+ token: null,
273
+ line: this.yylineno
274
+ });
275
+ }, "next"),
276
+ // return next match that has a token
277
+ lex: /* @__PURE__ */ l(function() {
278
+ var d = this.next();
279
+ return d || this.lex();
280
+ }, "lex"),
281
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
282
+ begin: /* @__PURE__ */ l(function(d) {
283
+ this.conditionStack.push(d);
284
+ }, "begin"),
285
+ // pop the previously active lexer condition state off the condition stack
286
+ popState: /* @__PURE__ */ l(function() {
287
+ var d = this.conditionStack.length - 1;
288
+ return d > 0 ? this.conditionStack.pop() : this.conditionStack[0];
289
+ }, "popState"),
290
+ // produce the lexer rule set which is active for the currently active lexer condition state
291
+ _currentRules: /* @__PURE__ */ l(function() {
292
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
293
+ }, "_currentRules"),
294
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
295
+ topState: /* @__PURE__ */ l(function(d) {
296
+ return d = this.conditionStack.length - 1 - Math.abs(d || 0), d >= 0 ? this.conditionStack[d] : "INITIAL";
297
+ }, "topState"),
298
+ // alias for begin(condition)
299
+ pushState: /* @__PURE__ */ l(function(d) {
300
+ this.begin(d);
301
+ }, "pushState"),
302
+ // return the number of states currently on the stack
303
+ stateStackSize: /* @__PURE__ */ l(function() {
304
+ return this.conditionStack.length;
305
+ }, "stateStackSize"),
306
+ options: { "case-insensitive": !0 },
307
+ performAction: /* @__PURE__ */ l(function(d, h, g, m) {
308
+ switch (g) {
309
+ case 0:
310
+ break;
311
+ case 1:
312
+ break;
313
+ case 2:
314
+ return 13;
315
+ case 3:
316
+ break;
317
+ case 4:
318
+ break;
319
+ case 5:
320
+ return 8;
321
+ case 6:
322
+ return 9;
323
+ case 7:
324
+ return 7;
325
+ case 8:
326
+ return 14;
327
+ case 9:
328
+ return this.begin("acc_title"), 15;
329
+ case 10:
330
+ return this.popState(), "acc_title_value";
331
+ case 11:
332
+ return this.begin("acc_descr"), 17;
333
+ case 12:
334
+ return this.popState(), "acc_descr_value";
335
+ case 13:
336
+ this.begin("acc_descr_multiline");
337
+ break;
338
+ case 14:
339
+ this.popState();
340
+ break;
341
+ case 15:
342
+ return "acc_descr_multiline_value";
343
+ case 16:
344
+ return 20;
345
+ case 17:
346
+ return 24;
347
+ case 18:
348
+ return 23;
349
+ case 19:
350
+ return 6;
351
+ case 20:
352
+ return "INVALID";
353
+ }
354
+ }, "anonymous"),
355
+ rules: [/^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:timeline[ \t]+LR\b)/i, /^(?:timeline[ \t]+TD\b)/i, /^(?:timeline\b)/i, /^(?:title\s[^\n]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:section\s[^:\n]+)/i, /^(?::\s(?:[^:\n]|:(?!\s))+)/i, /^(?:[^#:\n]+)/i, /^(?:$)/i, /^(?:.)/i],
356
+ conditions: { acc_descr_multiline: { rules: [14, 15], inclusive: !1 }, acc_descr: { rules: [12], inclusive: !1 }, acc_title: { rules: [10], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20], inclusive: !0 } }
357
+ };
358
+ return k;
359
+ })();
360
+ y.lexer = x;
361
+ function f() {
362
+ this.yy = {};
363
+ }
364
+ return l(f, "Parser"), f.prototype = y, y.Parser = f, new f();
365
+ })();
366
+ tt.parser = tt;
367
+ var Dt = tt, yt = {};
368
+ zt(yt, {
369
+ addEvent: () => Tt,
370
+ addSection: () => _t,
371
+ addTask: () => Et,
372
+ addTaskOrg: () => $t,
373
+ clear: () => kt,
374
+ default: () => Kt,
375
+ getCommonDb: () => xt,
376
+ getDirection: () => bt,
377
+ getSections: () => wt,
378
+ getTasks: () => St,
379
+ setDirection: () => vt
380
+ });
381
+ var X = "", mt = 0, nt = "LR", rt = [], Q = [], Z = [], xt = /* @__PURE__ */ l(() => Gt, "getCommonDb"), kt = /* @__PURE__ */ l(function() {
382
+ rt.length = 0, Q.length = 0, X = "", Z.length = 0, nt = "LR", Ot();
383
+ }, "clear"), vt = /* @__PURE__ */ l(function(e) {
384
+ nt = e;
385
+ }, "setDirection"), bt = /* @__PURE__ */ l(function() {
386
+ return nt;
387
+ }, "getDirection"), _t = /* @__PURE__ */ l(function(e) {
388
+ X = e, rt.push(e);
389
+ }, "addSection"), wt = /* @__PURE__ */ l(function() {
390
+ return rt;
391
+ }, "getSections"), St = /* @__PURE__ */ l(function() {
392
+ let e = ct();
393
+ const t = 100;
394
+ let n = 0;
395
+ for (; !e && n < t; )
396
+ e = ct(), n++;
397
+ return Q.push(...Z), Q;
398
+ }, "getTasks"), Et = /* @__PURE__ */ l(function(e, t, n) {
399
+ const i = {
400
+ id: mt++,
401
+ section: X,
402
+ type: X,
403
+ task: e,
404
+ score: t || 0,
405
+ //if event is defined, then add it the events array
406
+ events: n ? [n] : []
407
+ };
408
+ Z.push(i);
409
+ }, "addTask"), Tt = /* @__PURE__ */ l(function(e) {
410
+ Z.find((n) => n.id === mt - 1).events.push(e);
411
+ }, "addEvent"), $t = /* @__PURE__ */ l(function(e) {
412
+ const t = {
413
+ section: X,
414
+ type: X,
415
+ description: e,
416
+ task: e,
417
+ classes: []
418
+ };
419
+ Q.push(t);
420
+ }, "addTaskOrg"), ct = /* @__PURE__ */ l(function() {
421
+ const e = /* @__PURE__ */ l(function(n) {
422
+ return Z[n].processed;
423
+ }, "compileTask");
424
+ let t = !0;
425
+ for (const [n, i] of Z.entries())
426
+ e(n), t = t && i.processed;
427
+ return t;
428
+ }, "compileTasks"), Kt = {
429
+ clear: kt,
430
+ getCommonDb: xt,
431
+ getDirection: bt,
432
+ setDirection: vt,
433
+ addSection: _t,
434
+ getSections: wt,
435
+ getTasks: St,
436
+ addTask: Et,
437
+ addTaskOrg: $t,
438
+ addEvent: Tt
439
+ }, Nt = 0, j = /* @__PURE__ */ l(function(e, t) {
440
+ const n = e.append("rect");
441
+ return n.attr("x", t.x), n.attr("y", t.y), n.attr("fill", t.fill), n.attr("stroke", t.stroke), n.attr("width", t.width), n.attr("height", t.height), n.attr("rx", t.rx), n.attr("ry", t.ry), t.class !== void 0 && n.attr("class", t.class), n;
442
+ }, "drawRect"), Ut = /* @__PURE__ */ l(function(e, t) {
443
+ const i = e.append("circle").attr("cx", t.cx).attr("cy", t.cy).attr("class", "face").attr("r", 15).attr("stroke-width", 2).attr("overflow", "visible"), r = e.append("g");
444
+ r.append("circle").attr("cx", t.cx - 15 / 3).attr("cy", t.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"), r.append("circle").attr("cx", t.cx + 15 / 3).attr("cy", t.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666");
445
+ function o(p) {
446
+ const y = ot().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
447
+ p.append("path").attr("class", "mouth").attr("d", y).attr("transform", "translate(" + t.cx + "," + (t.cy + 2) + ")");
448
+ }
449
+ l(o, "smile");
450
+ function c(p) {
451
+ const y = ot().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
452
+ p.append("path").attr("class", "mouth").attr("d", y).attr("transform", "translate(" + t.cx + "," + (t.cy + 7) + ")");
453
+ }
454
+ l(c, "sad");
455
+ function a(p) {
456
+ p.append("line").attr("class", "mouth").attr("stroke", 2).attr("x1", t.cx - 5).attr("y1", t.cy + 7).attr("x2", t.cx + 5).attr("y2", t.cy + 7).attr("class", "mouth").attr("stroke-width", "1px").attr("stroke", "#666");
457
+ }
458
+ return l(a, "ambivalent"), t.score > 3 ? o(r) : t.score < 3 ? c(r) : a(r), i;
459
+ }, "drawFace"), Xt = /* @__PURE__ */ l(function(e, t) {
460
+ const n = e.append("circle");
461
+ return n.attr("cx", t.cx), n.attr("cy", t.cy), n.attr("class", "actor-" + t.pos), n.attr("fill", t.fill), n.attr("stroke", t.stroke), n.attr("r", t.r), n.class !== void 0 && n.attr("class", n.class), t.title !== void 0 && n.append("title").text(t.title), n;
462
+ }, "drawCircle"), It = /* @__PURE__ */ l(function(e, t) {
463
+ const n = t.text.replace(/<br\s*\/?>/gi, " "), i = e.append("text");
464
+ i.attr("x", t.x), i.attr("y", t.y), i.attr("class", "legend"), i.style("text-anchor", t.anchor), t.class !== void 0 && i.attr("class", t.class);
465
+ const r = i.append("tspan");
466
+ return r.attr("x", t.x + t.textMargin * 2), r.text(n), i;
467
+ }, "drawText"), Zt = /* @__PURE__ */ l(function(e, t) {
468
+ function n(r, o, c, a, p) {
469
+ return r + "," + o + " " + (r + c) + "," + o + " " + (r + c) + "," + (o + a - p) + " " + (r + c - p * 1.2) + "," + (o + a) + " " + r + "," + (o + a);
470
+ }
471
+ l(n, "genPoints");
472
+ const i = e.append("polygon");
473
+ i.attr("points", n(t.x, t.y, 50, 20, 7)), i.attr("class", "labelBox"), t.y = t.y + t.labelMargin, t.x = t.x + 0.5 * t.labelMargin, It(e, t);
474
+ }, "drawLabel"), qt = /* @__PURE__ */ l(function(e, t, n) {
475
+ const i = e.append("g"), r = st();
476
+ r.x = t.x, r.y = t.y, r.fill = t.fill, r.width = n.width, r.height = n.height, r.class = "journey-section section-type-" + t.num, r.rx = 3, r.ry = 3, j(i, r), Ht(n)(
477
+ t.text,
478
+ i,
479
+ r.x,
480
+ r.y,
481
+ r.width,
482
+ r.height,
483
+ { class: "journey-section section-type-" + t.num },
484
+ n,
485
+ t.colour
486
+ );
487
+ }, "drawSection"), et = -1, Jt = /* @__PURE__ */ l(function(e, t, n, i) {
488
+ const r = t.x + n.width / 2, o = e.append("g");
489
+ et++, o.append("line").attr("id", i + "-task" + et).attr("x1", r).attr("y1", t.y).attr("x2", r).attr("y2", 450).attr("class", "task-line").attr("stroke-width", "1px").attr("stroke-dasharray", "4 2").attr("stroke", "#666"), Ut(o, {
490
+ cx: r,
491
+ cy: 300 + (5 - t.score) * 30,
492
+ score: t.score
493
+ });
494
+ const a = st();
495
+ a.x = t.x, a.y = t.y, a.fill = t.fill, a.width = n.width, a.height = n.height, a.class = "task task-type-" + t.num, a.rx = 3, a.ry = 3, j(o, a), Ht(n)(
496
+ t.task,
497
+ o,
498
+ a.x,
499
+ a.y,
500
+ a.width,
501
+ a.height,
502
+ { class: "task" },
503
+ n,
504
+ t.colour
505
+ );
506
+ }, "drawTask"), Qt = /* @__PURE__ */ l(function(e, t) {
507
+ j(e, {
508
+ x: t.startx,
509
+ y: t.starty,
510
+ width: t.stopx - t.startx,
511
+ height: t.stopy - t.starty,
512
+ fill: t.fill,
513
+ class: "rect"
514
+ }).lower();
515
+ }, "drawBackgroundRect"), jt = /* @__PURE__ */ l(function() {
516
+ return {
517
+ x: 0,
518
+ y: 0,
519
+ fill: void 0,
520
+ "text-anchor": "start",
521
+ width: 100,
522
+ height: 100,
523
+ textMargin: 0,
524
+ rx: 0,
525
+ ry: 0
526
+ };
527
+ }, "getTextObj"), st = /* @__PURE__ */ l(function() {
528
+ return {
529
+ x: 0,
530
+ y: 0,
531
+ width: 100,
532
+ anchor: "start",
533
+ height: 100,
534
+ rx: 0,
535
+ ry: 0
536
+ };
537
+ }, "getNoteRect"), Ht = /* @__PURE__ */ (function() {
538
+ function e(r, o, c, a, p, y, x, f) {
539
+ const k = o.append("text").attr("x", c + p / 2).attr("y", a + y / 2 + 5).style("font-color", f).style("text-anchor", "middle").text(r);
540
+ i(k, x);
541
+ }
542
+ l(e, "byText");
543
+ function t(r, o, c, a, p, y, x, f, k) {
544
+ const { taskFontSize: s, taskFontFamily: d } = f, h = r.split(/<br\s*\/?>/gi);
545
+ for (let g = 0; g < h.length; g++) {
546
+ const m = g * s - s * (h.length - 1) / 2, u = o.append("text").attr("x", c + p / 2).attr("y", a).attr("fill", k).style("text-anchor", "middle").style("font-size", s).style("font-family", d);
547
+ u.append("tspan").attr("x", c + p / 2).attr("dy", m).text(h[g]), u.attr("y", a + y / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), i(u, x);
548
+ }
549
+ }
550
+ l(t, "byTspan");
551
+ function n(r, o, c, a, p, y, x, f) {
552
+ const k = o.append("switch"), d = k.append("foreignObject").attr("x", c).attr("y", a).attr("width", p).attr("height", y).attr("position", "fixed").append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%");
553
+ d.append("div").attr("class", "label").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(r), t(r, k, c, a, p, y, x, f), i(d, x);
554
+ }
555
+ l(n, "byFo");
556
+ function i(r, o) {
557
+ for (const c in o)
558
+ c in o && r.attr(c, o[c]);
559
+ }
560
+ return l(i, "_setTextAttrs"), function(r) {
561
+ return r.textPlacement === "fo" ? n : r.textPlacement === "old" ? e : t;
562
+ };
563
+ })(), Yt = /* @__PURE__ */ l(function(e, t) {
564
+ Nt = 0, et = -1, e.append("defs").append("marker").attr("id", t + "-arrowhead").attr("refX", 5).attr("refY", 2).attr("markerWidth", 6).attr("markerHeight", 4).attr("orient", "auto").append("path").attr("d", "M 0,0 V 4 L6,2 Z");
565
+ }, "initGraphics");
566
+ function it(e, t) {
567
+ e.each(function() {
568
+ var n = J(this), i = n.text().split(/(\s+|<br>)/).reverse(), r, o = [], c = 1.1, a = n.attr("y"), p = parseFloat(n.attr("dy")), y = n.text(null).append("tspan").attr("x", 0).attr("y", a).attr("dy", p + "em");
569
+ for (let x = 0; x < i.length; x++)
570
+ r = i[i.length - 1 - x], o.push(r), y.text(o.join(" ").trim()), (y.node().getComputedTextLength() > t || r === "<br>") && (o.pop(), y.text(o.join(" ").trim()), r === "<br>" ? o = [""] : o = [r], y = n.append("tspan").attr("x", 0).attr("y", a).attr("dy", c + "em").text(r));
571
+ });
572
+ }
573
+ l(it, "wrap");
574
+ var te = /* @__PURE__ */ l(function(e, t, n, i, r, o = !1) {
575
+ var m, u, w;
576
+ const { theme: c, look: a } = i, p = c == null ? void 0 : c.includes("redux"), y = ((m = i == null ? void 0 : i.themeVariables) == null ? void 0 : m.THEME_COLOR_LIMIT) ?? 12, x = n % y - 1, f = e.append("g");
577
+ t.section = x, f.attr(
578
+ "class",
579
+ (t.class ? t.class + " " : "") + "timeline-node " + ("section-" + x)
580
+ );
581
+ const k = f.append("g"), s = f.append("g"), h = s.append("text").text(t.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(it, t.width).node().getBBox(), g = (u = i.fontSize) != null && u.replace ? i.fontSize.replace("px", "") : i.fontSize;
582
+ if (t.height = h.height + g * 1.1 * 0.5 + t.padding, t.height = Math.max(t.height, t.maxHeight), t.width = t.width + 2 * t.padding, s.attr("transform", "translate(" + t.width / 2 + ", " + t.padding / 2 + ")"), p && s.attr(
583
+ "transform",
584
+ `translate(${t.width / 2}, ${o ? t.padding / 2 + 3 : t.padding})`
585
+ ), ne(k, t, x, r, i), a === "neo" && (f.attr("data-look", "neo"), p)) {
586
+ const v = c.includes("dark"), M = ((w = e.node()) == null ? void 0 : w.ownerSVGElement) ?? e.node(), C = J(M), P = C.attr("id") ?? "", V = P ? `${P}-drop-shadow` : "drop-shadow";
587
+ if (C.select(`#${V}`).empty()) {
588
+ const L = C.select("defs");
589
+ (L.empty() ? C.append("defs") : L).append("filter").attr("id", V).attr("height", "130%").attr("width", "130%").append("feDropShadow").attr("dx", "4").attr("dy", "4").attr("stdDeviation", 0).attr("flood-opacity", v ? "0.2" : "0.06").attr("flood-color", v ? "#FFFFFF" : "#000000");
590
+ }
591
+ }
592
+ return t;
593
+ }, "drawNode"), ee = /* @__PURE__ */ l(function(e, t, n) {
594
+ var a;
595
+ const i = e.append("g"), o = i.append("text").text(t.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(it, t.width).node().getBBox(), c = (a = n.fontSize) != null && a.replace ? n.fontSize.replace("px", "") : n.fontSize;
596
+ return i.remove(), o.height + c * 1.1 * 0.5 + t.padding;
597
+ }, "getVirtualNodeHeight"), ne = /* @__PURE__ */ l(function(e, t, n, i, r) {
598
+ const { theme: o } = r, c = o != null && o.includes("redux") ? 0 : 5, a = 5, p = c > 0 ? `M0 ${t.height - a} v${-t.height + 2 * a} q0,-${c},${c},-${c} h${t.width - 2 * a} q${c},0,${c},${c} v${t.height - a} H0 Z` : `M0 ${t.height - a} v${-(t.height - a)} h${t.width} v${t.height} H0 Z`;
599
+ e.append("path").attr("id", i + "-node-" + Nt++).attr("class", "node-bkg node-" + t.type).attr("d", p), o != null && o.includes("redux") || e.append("line").attr("class", "node-line-" + n).attr("x1", 0).attr("y1", t.height).attr("x2", t.width).attr("y2", t.height);
600
+ }, "defaultBkg"), W = {
601
+ drawRect: j,
602
+ drawCircle: Xt,
603
+ drawSection: qt,
604
+ drawText: It,
605
+ drawLabel: Zt,
606
+ drawTask: Jt,
607
+ drawBackgroundRect: Qt,
608
+ getTextObj: jt,
609
+ getNoteRect: st,
610
+ initGraphics: Yt,
611
+ drawNode: te,
612
+ getVirtualNodeHeight: ee
613
+ }, re = /* @__PURE__ */ l(function(e, t, n, i) {
614
+ var K, O, $;
615
+ const r = gt(), { look: o, theme: c, themeVariables: a } = r, { useGradient: p, gradientStart: y, gradientStop: x } = a, f = ((K = r.timeline) == null ? void 0 : K.leftMargin) ?? 50;
616
+ S.debug("timeline", i.db);
617
+ const k = r.securityLevel;
618
+ let s;
619
+ k === "sandbox" && (s = J("#i" + t));
620
+ const h = (k === "sandbox" ? J(s.nodes()[0].contentDocument.body) : J("body")).select("#" + t);
621
+ h.append("g");
622
+ const g = i.db.getTasks(), m = i.db.getCommonDb().getDiagramTitle();
623
+ S.debug("task", g), W.initGraphics(h, t);
624
+ const u = i.db.getSections();
625
+ S.debug("sections", u);
626
+ let w = 0, v = 0, M = 0, C = 0, P = 50 + f, V = 50;
627
+ C = 50;
628
+ let L = 0, _ = !0;
629
+ u.forEach(function(N) {
630
+ const b = {
631
+ number: L,
632
+ descr: N,
633
+ section: L,
634
+ width: 150,
635
+ padding: 20,
636
+ maxHeight: w
637
+ }, T = W.getVirtualNodeHeight(h, b, r);
638
+ S.debug("sectionHeight before draw", T), w = Math.max(w, T + 20);
639
+ });
640
+ let R = 0, F = 0;
641
+ S.debug("tasks.length", g.length);
642
+ for (const [N, b] of g.entries()) {
643
+ const T = {
644
+ number: N,
645
+ descr: b,
646
+ section: b.section,
647
+ width: 150,
648
+ padding: 20,
649
+ maxHeight: v
650
+ }, E = W.getVirtualNodeHeight(h, T, r);
651
+ S.debug("taskHeight before draw", E), v = Math.max(v, E + 20), R = Math.max(R, b.events.length);
652
+ let H = 0;
653
+ for (const I of b.events) {
654
+ const B = {
655
+ descr: I,
656
+ section: b.section,
657
+ number: b.section,
658
+ width: 150,
659
+ padding: 20,
660
+ maxHeight: 50
661
+ };
662
+ H += W.getVirtualNodeHeight(h, B, r);
663
+ }
664
+ b.events.length > 0 && (H += (b.events.length - 1) * 10), F = Math.max(F, H);
665
+ }
666
+ S.debug("maxSectionHeight before draw", w), S.debug("maxTaskHeight before draw", v), u && u.length > 0 ? u.forEach((N) => {
667
+ const b = g.filter((I) => I.section === N), T = {
668
+ number: L,
669
+ descr: N,
670
+ section: L,
671
+ width: 200 * Math.max(b.length, 1) - 50,
672
+ padding: 20,
673
+ maxHeight: w
674
+ };
675
+ S.debug("sectionNode", T);
676
+ const E = h.append("g"), H = W.drawNode(E, T, L, r, t);
677
+ S.debug("sectionNode output", H), E.attr("transform", `translate(${P}, ${C})`), V += w + 50, b.length > 0 && lt(
678
+ h,
679
+ b,
680
+ L,
681
+ P,
682
+ V,
683
+ v,
684
+ r,
685
+ R,
686
+ F,
687
+ w,
688
+ !1,
689
+ t
690
+ ), P += 200 * Math.max(b.length, 1), V = C, L++;
691
+ }) : (_ = !1, lt(
692
+ h,
693
+ g,
694
+ L,
695
+ P,
696
+ V,
697
+ v,
698
+ r,
699
+ R,
700
+ F,
701
+ w,
702
+ !0,
703
+ t
704
+ ));
705
+ const z = h.node().getBBox();
706
+ if (S.debug("bounds", z), m && h.append("text").text(m).attr("x", o === "neo" ? z.x * 2 + f : z.width / 2 - f).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 20), M = _ ? w + v + 150 : v + 100, h.append("g").attr("class", "lineWrapper").append("line").attr("x1", f).attr("y1", M).attr("x2", z.width + 3 * f).attr("y2", M).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", `url(#${t}-arrowhead)`), o === "neo" && p && c !== "neutral") {
707
+ const N = h.select("defs"), T = (N.empty() ? h.append("defs") : N).append("linearGradient").attr("id", h.attr("id") + "-gradient").attr("gradientUnits", "objectBoundingBox").attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%");
708
+ T.append("stop").attr("offset", "0%").attr("stop-color", y).attr("stop-opacity", 1), T.append("stop").attr("offset", "100%").attr("stop-color", x).attr("stop-opacity", 1);
709
+ }
710
+ ft(
711
+ void 0,
712
+ h,
713
+ ((O = r.timeline) == null ? void 0 : O.padding) ?? 50,
714
+ (($ = r.timeline) == null ? void 0 : $.useMaxWidth) ?? !1
715
+ );
716
+ }, "draw"), lt = /* @__PURE__ */ l(function(e, t, n, i, r, o, c, a, p, y, x, f) {
717
+ var k;
718
+ for (const s of t) {
719
+ const d = {
720
+ descr: s.task,
721
+ section: n,
722
+ number: n,
723
+ width: 150,
724
+ padding: 20,
725
+ maxHeight: o
726
+ };
727
+ S.debug("taskNode", d);
728
+ const h = e.append("g").attr("class", "taskWrapper"), m = W.drawNode(h, d, n, c, f).height;
729
+ if (S.debug("taskHeight after draw", m), h.attr("transform", `translate(${i}, ${r})`), o = Math.max(o, m), s.events) {
730
+ const u = e.append("g").attr("class", "lineWrapper");
731
+ let w = o;
732
+ r += 100, w = w + se(e, s.events, n, i, r, c, f), r -= 100, u.append("line").attr("x1", i + 190 / 2).attr("y1", r + o).attr("x2", i + 190 / 2).attr("y2", r + o + 100 + p + 100).attr("stroke-width", 2).attr("stroke", "black").attr("marker-end", `url(#${f}-arrowhead)`).attr("stroke-dasharray", "5,5");
733
+ }
734
+ i = i + 200, x && !((k = c.timeline) != null && k.disableMulticolor) && n++;
735
+ }
736
+ r = r - 10;
737
+ }, "drawTasks"), se = /* @__PURE__ */ l(function(e, t, n, i, r, o, c) {
738
+ let a = 0;
739
+ const p = r;
740
+ r = r + 100;
741
+ for (const y of t) {
742
+ const x = {
743
+ descr: y,
744
+ section: n,
745
+ number: n,
746
+ width: 150,
747
+ padding: 20,
748
+ maxHeight: 50
749
+ };
750
+ S.debug("eventNode", x);
751
+ const f = e.append("g").attr("class", "eventWrapper"), s = W.drawNode(f, x, n, o, c, !0).height;
752
+ a = a + s, f.attr("transform", `translate(${i}, ${r})`), r = r + 10 + s;
753
+ }
754
+ return r = p, a;
755
+ }, "drawEvents"), ie = {
756
+ setConf: /* @__PURE__ */ l(() => {
757
+ }, "setConf"),
758
+ draw: re
759
+ }, Y = 200, G = 5, ae = Y + G * 2, at = Y + 100, oe = at + G * 2, Lt = 10, ce = 0, ht = 20, Mt = 20, dt = 30, At = 50, le = /* @__PURE__ */ l(function(e, t, n, i) {
760
+ var K, O, $, N, b;
761
+ const r = gt(), o = ((K = r.timeline) == null ? void 0 : K.leftMargin) ?? 50;
762
+ S.debug("timeline", i.db);
763
+ const c = Vt(t);
764
+ c.append("g");
765
+ const a = i.db.getTasks(), p = i.db.getCommonDb().getDiagramTitle();
766
+ S.debug("task", a), W.initGraphics(c);
767
+ const y = i.db.getSections();
768
+ S.debug("sections", y);
769
+ let x = 0, f = 0;
770
+ const k = 50 + o;
771
+ let s = 50;
772
+ const d = s, h = k, g = ae + Mt, m = oe + At, u = h + g;
773
+ let w = 0;
774
+ const v = y && y.length > 0, M = v ? u : k + g, C = Math.max(50, g + m - G * 2);
775
+ y.forEach(function(T) {
776
+ const E = {
777
+ number: w,
778
+ descr: T,
779
+ section: w,
780
+ width: C,
781
+ padding: G,
782
+ maxHeight: x
783
+ }, H = W.getVirtualNodeHeight(c, E, r);
784
+ S.debug("sectionHeight before draw", H), x = Math.max(x, H);
785
+ });
786
+ let P = 0;
787
+ S.debug("tasks.length", a.length);
788
+ for (const [T, E] of a.entries()) {
789
+ const H = {
790
+ number: T,
791
+ descr: E,
792
+ section: E.section,
793
+ width: Y,
794
+ padding: G,
795
+ maxHeight: f
796
+ }, I = W.getVirtualNodeHeight(c, H, r);
797
+ S.debug("taskHeight before draw", I), f = Math.max(f, I);
798
+ let B = 0;
799
+ for (const D of E.events) {
800
+ const U = {
801
+ descr: D,
802
+ section: E.section,
803
+ number: E.section,
804
+ width: at,
805
+ padding: G,
806
+ maxHeight: 50
807
+ };
808
+ B += W.getVirtualNodeHeight(c, U, r);
809
+ }
810
+ E.events.length > 0 && (B += (E.events.length - 1) * Lt), P = Math.max(P, B) + ce;
811
+ }
812
+ S.debug("maxSectionHeight before draw", x), S.debug("maxTaskHeight before draw", f);
813
+ const L = Math.max(f, P) + dt;
814
+ v ? y.forEach((T) => {
815
+ const E = a.filter((Ct) => Ct.section === T), H = {
816
+ number: w,
817
+ descr: T,
818
+ section: w,
819
+ width: C,
820
+ padding: G,
821
+ maxHeight: x
822
+ };
823
+ S.debug("sectionNode", H);
824
+ const I = c.append("g"), B = W.drawNode(I, H, w, r);
825
+ S.debug("sectionNode output", B);
826
+ const D = M - g;
827
+ I.attr("transform", `translate(${D}, ${s})`);
828
+ const U = s + B.height + ht;
829
+ E.length > 0 && ut(
830
+ c,
831
+ E,
832
+ w,
833
+ M,
834
+ U,
835
+ f,
836
+ r,
837
+ L,
838
+ !1
839
+ );
840
+ const A = E.length, Rt = B.height + ht + L * Math.max(A, 1) - (A > 0 ? dt * 2 : 0);
841
+ s += Rt, w++;
842
+ }) : ut(
843
+ c,
844
+ a,
845
+ w,
846
+ M,
847
+ s,
848
+ f,
849
+ r,
850
+ L,
851
+ !0
852
+ );
853
+ let _ = (O = c.node()) == null ? void 0 : O.getBBox();
854
+ if (!_)
855
+ throw new Error("bbox not found");
856
+ if (S.debug("bounds", _), p) {
857
+ if (c.append("text").text(p).attr("x", _.width / 2 - o).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 20), _ = ($ = c.node()) == null ? void 0 : $.getBBox(), !_)
858
+ throw new Error("bbox not found");
859
+ S.debug("bounds after title", _);
860
+ }
861
+ const [R] = Ft(r.fontSize), F = (R ?? 16) * 2, z = (R ?? 16) * 0.5 + 20, q = c.append("g").attr("class", "lineWrapper");
862
+ q.append("line").attr("x1", M).attr("y1", d - F).attr("x2", M).attr("y2", _.y + _.height + z).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", "url(#arrowhead)"), q.lower(), ft(
863
+ void 0,
864
+ c,
865
+ ((N = r.timeline) == null ? void 0 : N.padding) ?? 50,
866
+ ((b = r.timeline) == null ? void 0 : b.useMaxWidth) ?? !1
867
+ );
868
+ }, "draw"), ut = /* @__PURE__ */ l(function(e, t, n, i, r, o, c, a, p) {
869
+ var y;
870
+ for (const x of t) {
871
+ const f = {
872
+ descr: x.task,
873
+ section: n,
874
+ number: n,
875
+ width: Y,
876
+ padding: G,
877
+ maxHeight: o
878
+ };
879
+ S.debug("taskNode", f);
880
+ const k = e.append("g").attr("class", "taskWrapper"), s = W.drawNode(k, f, n, c), d = s.height;
881
+ S.debug("taskHeight after draw", d);
882
+ const h = i - Mt - s.width;
883
+ if (k.attr("transform", `translate(${h}, ${r})`), o = Math.max(o, d), x.events && x.events.length > 0) {
884
+ const g = r, m = i + At;
885
+ he(e, x.events, n, i, m, g, c);
886
+ }
887
+ r = r + a, p && !((y = c.timeline) != null && y.disableMulticolor) && n++;
888
+ }
889
+ }, "drawTasks"), he = /* @__PURE__ */ l(function(e, t, n, i, r, o, c) {
890
+ let a = o;
891
+ for (const p of t) {
892
+ const y = {
893
+ descr: p,
894
+ section: n,
895
+ number: n,
896
+ width: at,
897
+ padding: G,
898
+ maxHeight: 0
899
+ };
900
+ S.debug("eventNode", y);
901
+ const x = e.append("g").attr("class", "eventWrapper"), k = W.drawNode(x, y, n, c).height;
902
+ x.attr("transform", `translate(${r}, ${a})`);
903
+ const s = e.append("g").attr("class", "lineWrapper"), d = a + k / 2;
904
+ s.append("line").attr("x1", i).attr("y1", d).attr("x2", r).attr("y2", d).attr("stroke-width", 2).attr("stroke", "black").attr("marker-end", "url(#arrowhead)").attr("stroke-dasharray", "5,5"), a = a + k + Lt;
905
+ }
906
+ return a - o;
907
+ }, "drawEvents"), de = {
908
+ setConf: /* @__PURE__ */ l(() => {
909
+ }, "setConf"),
910
+ draw: le
911
+ }, ue = /* @__PURE__ */ l((e) => {
912
+ var a;
913
+ const { theme: t } = pt(), n = t == null ? void 0 : t.includes("dark"), i = t == null ? void 0 : t.includes("color"), r = ((a = e.svgId) == null ? void 0 : a.replace(/^#/, "")) ?? "", o = r ? `url(#${r}-drop-shadow)` : e.dropShadow ?? "none";
914
+ let c = "";
915
+ for (let p = 0; p < e.THEME_COLOR_LIMIT; p++) {
916
+ const y = `${17 - 3 * p}`, x = i ? e.borderColorArray[p] : e.mainBkg, f = i ? e.borderColorArray[p] : e.nodeBorder;
917
+ c += `
918
+ .section-${p - 1} rect,
919
+ .section-${p - 1} path,
920
+ .section-${p - 1} circle {
921
+ fill: ${n && i ? e.mainBkg : x};
922
+ stroke: ${f};
923
+ stroke-width: ${e.strokeWidth};
924
+ filter: ${o};
925
+ }
926
+
927
+ .section-${p - 1} text {
928
+ fill: ${e.nodeBorder};
929
+ font-weight: ${e.fontWeight}
930
+ }
931
+
932
+ .node-icon-${p - 1} {
933
+ font-size: 40px;
934
+ color: ${e["cScaleLabel" + p]};
935
+ }
936
+
937
+ .section-edge-${p - 1} {
938
+ stroke: ${e["cScale" + p]};
939
+ }
940
+
941
+ .edge-depth-${p - 1} {
942
+ stroke-width: ${y};
943
+ }
944
+
945
+ .section-${p - 1} line {
946
+ stroke: ${e["cScaleInv" + p]};
947
+ stroke-width: 3;
948
+ }
949
+
950
+ .lineWrapper line {
951
+ stroke: ${e.nodeBorder};
952
+ stroke-width:${e.strokeWidth}
953
+ }
954
+
955
+ .disabled,
956
+ .disabled circle,
957
+ .disabled text {
958
+ fill: ${e.tertiaryColor ?? "lightgray"};
959
+ }
960
+
961
+ .disabled text {
962
+ fill: ${e.clusterBorder ?? "#efefef"};
963
+ }
964
+ `;
965
+ }
966
+ return c;
967
+ }, "genReduxSections"), pe = /* @__PURE__ */ l((e) => {
968
+ let t = "";
969
+ for (let n = 0; n < e.THEME_COLOR_LIMIT; n++)
970
+ e["lineColor" + n] = e["lineColor" + n] || e["cScaleInv" + n], Wt(e["lineColor" + n]) ? e["lineColor" + n] = Pt(e["lineColor" + n], 20) : e["lineColor" + n] = Bt(e["lineColor" + n], 20);
971
+ for (let n = 0; n < e.THEME_COLOR_LIMIT; n++) {
972
+ const i = "" + (17 - 3 * n);
973
+ t += `
974
+ .section-${n - 1} rect, .section-${n - 1} path, .section-${n - 1} circle, .section-${n - 1} path {
975
+ fill: ${e["cScale" + n]};
976
+ }
977
+ .section-${n - 1} text {
978
+ fill: ${e["cScaleLabel" + n]};
979
+ }
980
+ .node-icon-${n - 1} {
981
+ font-size: 40px;
982
+ color: ${e["cScaleLabel" + n]};
983
+ }
984
+ .section-edge-${n - 1}{
985
+ stroke: ${e["cScale" + n]};
986
+ }
987
+ .edge-depth-${n - 1}{
988
+ stroke-width: ${i};
989
+ }
990
+ .section-${n - 1} line {
991
+ stroke: ${e["cScaleInv" + n]} ;
992
+ stroke-width: 3;
993
+ }
994
+
995
+ .lineWrapper line{
996
+ stroke: ${e["cScaleLabel" + n]} ;
997
+ }
998
+
999
+ .disabled, .disabled circle, .disabled text {
1000
+ fill: ${e.tertiaryColor ?? "lightgray"};
1001
+ }
1002
+ .disabled text {
1003
+ fill: ${e.clusterBorder ?? "#efefef"};
1004
+ }
1005
+ `;
1006
+ }
1007
+ return t;
1008
+ }, "genSections"), ge = /* @__PURE__ */ l((e) => {
1009
+ var c;
1010
+ const { theme: t } = pt(), n = t == null ? void 0 : t.includes("redux"), i = t === "neutral", r = ((c = e.svgId) == null ? void 0 : c.replace(/^#/, "")) ?? "";
1011
+ let o = "";
1012
+ if (e.useGradient && r && e.THEME_COLOR_LIMIT && !i)
1013
+ for (let a = 0; a < e.THEME_COLOR_LIMIT; a++)
1014
+ o += `
1015
+ .section-${a - 1}[data-look="neo"] rect,
1016
+ .section-${a - 1}[data-look="neo"] path,
1017
+ .section-${a - 1}[data-look="neo"] circle {
1018
+ fill: ${e.mainBkg};
1019
+ stroke: url(#${r}-gradient);
1020
+ stroke-width: 2;
1021
+ }
1022
+ .section-${a - 1}[data-look="neo"] line {
1023
+ stroke: url(#${r}-gradient);
1024
+ stroke-width: 2;
1025
+ }`;
1026
+ return `
1027
+ .edge {
1028
+ stroke-width: 3;
1029
+ }
1030
+ ${n ? ue(e) : pe(e)}
1031
+ ${o}
1032
+ .section-root rect, .section-root path, .section-root circle {
1033
+ fill: ${e.git0};
1034
+ }
1035
+ .section-root text {
1036
+ fill: ${e.gitBranchLabel0};
1037
+ }
1038
+ .icon-container {
1039
+ height:100%;
1040
+ display: flex;
1041
+ justify-content: center;
1042
+ align-items: center;
1043
+ }
1044
+ .edge {
1045
+ fill: none;
1046
+ }
1047
+ .eventWrapper {
1048
+ filter: brightness(120%);
1049
+ }
1050
+ `;
1051
+ }, "getStyles"), fe = ge, ye = {
1052
+ setConf: /* @__PURE__ */ l(() => {
1053
+ }, "setConf"),
1054
+ draw: /* @__PURE__ */ l((e, t, n, i) => {
1055
+ var o, c;
1056
+ return (((c = (o = i == null ? void 0 : i.db) == null ? void 0 : o.getDirection) == null ? void 0 : c.call(o)) ?? "LR") === "TD" ? de.draw(e, t, n, i) : ie.draw(e, t, n, i);
1057
+ }, "draw")
1058
+ }, ke = {
1059
+ db: yt,
1060
+ renderer: ye,
1061
+ parser: Dt,
1062
+ styles: fe
1063
+ };
1064
+ export {
1065
+ ke as diagram
1066
+ };