@data_wise/hyper-markdown 1.0.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.
- package/LICENSE +201 -0
- package/README.md +201 -0
- package/dist/_basePickBy-CU9zxouA.js +151 -0
- package/dist/_baseUniq-Dfv1esQT.js +614 -0
- package/dist/arc-c3dke9_g.js +83 -0
- package/dist/architecture-U656AL7Q-zgUqrnAb.js +5 -0
- package/dist/architectureDiagram-VXUJARFQ-Dv4YjP5o.js +4665 -0
- package/dist/blockDiagram-VD42YOAC-D98UGbTn.js +2265 -0
- package/dist/c4Diagram-YG6GDRKO-XUzUdD_2.js +1581 -0
- package/dist/channel-C5xtftmJ.js +5 -0
- package/dist/chunk-4BX2VUAB-DEeESiZ5.js +9 -0
- package/dist/chunk-55IACEB6-DHxOGacI.js +8 -0
- package/dist/chunk-B4BG7PRW-8o0v-7qo.js +1376 -0
- package/dist/chunk-DI55MBZ5-DW3vqV--.js +1382 -0
- package/dist/chunk-FMBD7UC4-DDdtUAG0.js +19 -0
- package/dist/chunk-QN33PNHL-CSSbo0QX.js +20 -0
- package/dist/chunk-QZHKN3VN-w9zLiEAG.js +15 -0
- package/dist/chunk-TZMSLE5B-t-rP83k8.js +64 -0
- package/dist/classDiagram-2ON5EDUG-e9sZhnve.js +16 -0
- package/dist/classDiagram-v2-WZHVMYZB-e9sZhnve.js +16 -0
- package/dist/clone-DiTglB0h.js +8 -0
- package/dist/cose-bilkent-S5V4N54A-CWVtemhp.js +2605 -0
- package/dist/cytoscape.esm-ZmItrg9y.js +18731 -0
- package/dist/dagre-6UL2VRFP-MV2ZfZta.js +447 -0
- package/dist/defaultLocale-D7EN2tov.js +171 -0
- package/dist/diagram-PSM6KHXK-5lJpUCK9.js +534 -0
- package/dist/diagram-QEK2KX5R-CNU6jJsS.js +221 -0
- package/dist/diagram-S2PKOQOG-BKjk2v_A.js +143 -0
- package/dist/erDiagram-Q2GNP2WA-BtAVbAYU.js +842 -0
- package/dist/flowDiagram-NV44I4VS-DISVIV3t.js +1627 -0
- package/dist/ganttDiagram-LVOFAZNH-Ddt7ksjd.js +2499 -0
- package/dist/gitGraph-F6HP7TQM-BAIad0GA.js +5 -0
- package/dist/gitGraphDiagram-NY62KEGX-C-l5siHi.js +712 -0
- package/dist/graph-DoqhIGWS.js +247 -0
- package/dist/hyper-markdown.es.js +11 -0
- package/dist/hyper-markdown.umd.js +3180 -0
- package/dist/index-D8q1QLkY.js +139643 -0
- package/dist/info-NVLQJR56-temdJZnQ.js +5 -0
- package/dist/infoDiagram-ER5ION4S-CWrTqrrP.js +24 -0
- package/dist/init-DjUOC4st.js +16 -0
- package/dist/journeyDiagram-XKPGCS4Q-033aYkz7.js +836 -0
- package/dist/kanban-definition-3W4ZIXB7-Dz47qxF_.js +720 -0
- package/dist/katex-dDbcVckU.js +11687 -0
- package/dist/layout-DRpSHON1.js +1335 -0
- package/dist/linear-BO6pDEmK.js +259 -0
- package/dist/mermaid-parser.core-D_tMj5cA.js +12921 -0
- package/dist/mindmap-definition-VGOIOE7T-BsHgjAmS.js +786 -0
- package/dist/ordinal-DfAQgscy.js +61 -0
- package/dist/packet-BFZMPI3H-Bzlf_wLW.js +5 -0
- package/dist/pie-7BOR55EZ-Czidi0ky.js +5 -0
- package/dist/pieDiagram-ADFJNKIX-CSpQeOry.js +161 -0
- package/dist/quadrantDiagram-AYHSOK5B-flM7H9xo.js +1024 -0
- package/dist/radar-NHE76QYJ-D1f__eiC.js +5 -0
- package/dist/requirementDiagram-UZGBJVZJ-1iG0LrwF.js +852 -0
- package/dist/sankeyDiagram-TZEHDZUN-0SClKoX9.js +810 -0
- package/dist/sequenceDiagram-WL72ISMW-Bwbc6j-1.js +2518 -0
- package/dist/stateDiagram-FKZM4ZOC-BuNY3ZqE.js +263 -0
- package/dist/stateDiagram-v2-4FDKWEC3-CB1nMpEc.js +16 -0
- package/dist/style.css +10 -0
- package/dist/timeline-definition-IT6M3QCI-CjFYKVsS.js +801 -0
- package/dist/treemap-KMMF4GRG-Cs8Vv-VD.js +5 -0
- package/dist/xychartDiagram-PRI3JC2R-B6hpuUj2.js +1340 -0
- package/package.json +70 -0
- package/types/index.d.ts +34 -0
|
@@ -0,0 +1,786 @@
|
|
|
1
|
+
import { g as le } from "./chunk-55IACEB6-DHxOGacI.js";
|
|
2
|
+
import { s as he } from "./chunk-QN33PNHL-CSSbo0QX.js";
|
|
3
|
+
import { _ as l, l as C, o as de, r as ge, F as j, c as X, i as B, aH as ue, W as pe, X as fe, Y as ye } from "./index-D8q1QLkY.js";
|
|
4
|
+
const E = [];
|
|
5
|
+
for (let t = 0; t < 256; ++t)
|
|
6
|
+
E.push((t + 256).toString(16).slice(1));
|
|
7
|
+
function me(t, e = 0) {
|
|
8
|
+
return (E[t[e + 0]] + E[t[e + 1]] + E[t[e + 2]] + E[t[e + 3]] + "-" + E[t[e + 4]] + E[t[e + 5]] + "-" + E[t[e + 6]] + E[t[e + 7]] + "-" + E[t[e + 8]] + E[t[e + 9]] + "-" + E[t[e + 10]] + E[t[e + 11]] + E[t[e + 12]] + E[t[e + 13]] + E[t[e + 14]] + E[t[e + 15]]).toLowerCase();
|
|
9
|
+
}
|
|
10
|
+
let Y;
|
|
11
|
+
const Ee = new Uint8Array(16);
|
|
12
|
+
function _e() {
|
|
13
|
+
if (!Y) {
|
|
14
|
+
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
15
|
+
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
16
|
+
Y = crypto.getRandomValues.bind(crypto);
|
|
17
|
+
}
|
|
18
|
+
return Y(Ee);
|
|
19
|
+
}
|
|
20
|
+
const be = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ne = { randomUUID: be };
|
|
21
|
+
function Se(t, e, n) {
|
|
22
|
+
var u;
|
|
23
|
+
if (ne.randomUUID && !t)
|
|
24
|
+
return ne.randomUUID();
|
|
25
|
+
t = t || {};
|
|
26
|
+
const c = t.random ?? ((u = t.rng) == null ? void 0 : u.call(t)) ?? _e();
|
|
27
|
+
if (c.length < 16)
|
|
28
|
+
throw new Error("Random bytes length must be >= 16");
|
|
29
|
+
return c[6] = c[6] & 15 | 64, c[8] = c[8] & 63 | 128, me(c);
|
|
30
|
+
}
|
|
31
|
+
var q = function() {
|
|
32
|
+
var t = /* @__PURE__ */ l(function(v, s, i, a) {
|
|
33
|
+
for (i = i || {}, a = v.length; a--; i[v[a]] = s) ;
|
|
34
|
+
return i;
|
|
35
|
+
}, "o"), e = [1, 4], n = [1, 13], c = [1, 12], u = [1, 15], h = [1, 16], p = [1, 20], y = [1, 19], _ = [6, 7, 8], b = [1, 26], m = [1, 24], w = [1, 25], D = [6, 7, 11], J = [1, 6, 13, 15, 16, 19, 22], K = [1, 33], Q = [1, 34], A = [1, 6, 7, 11, 13, 15, 16, 19, 22], G = {
|
|
36
|
+
trace: /* @__PURE__ */ l(function() {
|
|
37
|
+
}, "trace"),
|
|
38
|
+
yy: {},
|
|
39
|
+
symbols_: { error: 2, start: 3, mindMap: 4, spaceLines: 5, SPACELINE: 6, NL: 7, MINDMAP: 8, document: 9, stop: 10, EOF: 11, statement: 12, SPACELIST: 13, node: 14, ICON: 15, CLASS: 16, nodeWithId: 17, nodeWithoutId: 18, NODE_DSTART: 19, NODE_DESCR: 20, NODE_DEND: 21, NODE_ID: 22, $accept: 0, $end: 1 },
|
|
40
|
+
terminals_: { 2: "error", 6: "SPACELINE", 7: "NL", 8: "MINDMAP", 11: "EOF", 13: "SPACELIST", 15: "ICON", 16: "CLASS", 19: "NODE_DSTART", 20: "NODE_DESCR", 21: "NODE_DEND", 22: "NODE_ID" },
|
|
41
|
+
productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]],
|
|
42
|
+
performAction: /* @__PURE__ */ l(function(s, i, a, o, g, r, U) {
|
|
43
|
+
var d = r.length - 1;
|
|
44
|
+
switch (g) {
|
|
45
|
+
case 6:
|
|
46
|
+
case 7:
|
|
47
|
+
return o;
|
|
48
|
+
case 8:
|
|
49
|
+
o.getLogger().trace("Stop NL ");
|
|
50
|
+
break;
|
|
51
|
+
case 9:
|
|
52
|
+
o.getLogger().trace("Stop EOF ");
|
|
53
|
+
break;
|
|
54
|
+
case 11:
|
|
55
|
+
o.getLogger().trace("Stop NL2 ");
|
|
56
|
+
break;
|
|
57
|
+
case 12:
|
|
58
|
+
o.getLogger().trace("Stop EOF2 ");
|
|
59
|
+
break;
|
|
60
|
+
case 15:
|
|
61
|
+
o.getLogger().info("Node: ", r[d].id), o.addNode(r[d - 1].length, r[d].id, r[d].descr, r[d].type);
|
|
62
|
+
break;
|
|
63
|
+
case 16:
|
|
64
|
+
o.getLogger().trace("Icon: ", r[d]), o.decorateNode({ icon: r[d] });
|
|
65
|
+
break;
|
|
66
|
+
case 17:
|
|
67
|
+
case 21:
|
|
68
|
+
o.decorateNode({ class: r[d] });
|
|
69
|
+
break;
|
|
70
|
+
case 18:
|
|
71
|
+
o.getLogger().trace("SPACELIST");
|
|
72
|
+
break;
|
|
73
|
+
case 19:
|
|
74
|
+
o.getLogger().trace("Node: ", r[d].id), o.addNode(0, r[d].id, r[d].descr, r[d].type);
|
|
75
|
+
break;
|
|
76
|
+
case 20:
|
|
77
|
+
o.decorateNode({ icon: r[d] });
|
|
78
|
+
break;
|
|
79
|
+
case 25:
|
|
80
|
+
o.getLogger().trace("node found ..", r[d - 2]), this.$ = { id: r[d - 1], descr: r[d - 1], type: o.getType(r[d - 2], r[d]) };
|
|
81
|
+
break;
|
|
82
|
+
case 26:
|
|
83
|
+
this.$ = { id: r[d], descr: r[d], type: o.nodeType.DEFAULT };
|
|
84
|
+
break;
|
|
85
|
+
case 27:
|
|
86
|
+
o.getLogger().trace("node found ..", r[d - 3]), this.$ = { id: r[d - 3], descr: r[d - 1], type: o.getType(r[d - 2], r[d]) };
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}, "anonymous"),
|
|
90
|
+
table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: e }, { 6: n, 7: [1, 10], 9: 9, 12: 11, 13: c, 14: 14, 15: u, 16: h, 17: 17, 18: 18, 19: p, 22: y }, t(_, [2, 3]), { 1: [2, 2] }, t(_, [2, 4]), t(_, [2, 5]), { 1: [2, 6], 6: n, 12: 21, 13: c, 14: 14, 15: u, 16: h, 17: 17, 18: 18, 19: p, 22: y }, { 6: n, 9: 22, 12: 11, 13: c, 14: 14, 15: u, 16: h, 17: 17, 18: 18, 19: p, 22: y }, { 6: b, 7: m, 10: 23, 11: w }, t(D, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: p, 22: y }), t(D, [2, 18]), t(D, [2, 19]), t(D, [2, 20]), t(D, [2, 21]), t(D, [2, 23]), t(D, [2, 24]), t(D, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: b, 7: m, 10: 32, 11: w }, { 1: [2, 7], 6: n, 12: 21, 13: c, 14: 14, 15: u, 16: h, 17: 17, 18: 18, 19: p, 22: y }, t(J, [2, 14], { 7: K, 11: Q }), t(A, [2, 8]), t(A, [2, 9]), t(A, [2, 10]), t(D, [2, 15]), t(D, [2, 16]), t(D, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, t(J, [2, 13], { 7: K, 11: Q }), t(A, [2, 11]), t(A, [2, 12]), { 21: [1, 37] }, t(D, [2, 25]), t(D, [2, 27])],
|
|
91
|
+
defaultActions: { 2: [2, 1], 6: [2, 2] },
|
|
92
|
+
parseError: /* @__PURE__ */ l(function(s, i) {
|
|
93
|
+
if (i.recoverable)
|
|
94
|
+
this.trace(s);
|
|
95
|
+
else {
|
|
96
|
+
var a = new Error(s);
|
|
97
|
+
throw a.hash = i, a;
|
|
98
|
+
}
|
|
99
|
+
}, "parseError"),
|
|
100
|
+
parse: /* @__PURE__ */ l(function(s) {
|
|
101
|
+
var i = this, a = [0], o = [], g = [null], r = [], U = this.table, d = "", M = 0, Z = 0, re = 2, ee = 1, ae = r.slice.call(arguments, 1), f = Object.create(this.lexer), T = { yy: {} };
|
|
102
|
+
for (var H in this.yy)
|
|
103
|
+
Object.prototype.hasOwnProperty.call(this.yy, H) && (T.yy[H] = this.yy[H]);
|
|
104
|
+
f.setInput(s, T.yy), T.yy.lexer = f, T.yy.parser = this, typeof f.yylloc > "u" && (f.yylloc = {});
|
|
105
|
+
var $ = f.yylloc;
|
|
106
|
+
r.push($);
|
|
107
|
+
var oe = f.options && f.options.ranges;
|
|
108
|
+
typeof T.yy.parseError == "function" ? this.parseError = T.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
|
|
109
|
+
function ce(N) {
|
|
110
|
+
a.length = a.length - 2 * N, g.length = g.length - N, r.length = r.length - N;
|
|
111
|
+
}
|
|
112
|
+
l(ce, "popStack");
|
|
113
|
+
function te() {
|
|
114
|
+
var N;
|
|
115
|
+
return N = o.pop() || f.lex() || ee, typeof N != "number" && (N instanceof Array && (o = N, N = o.pop()), N = i.symbols_[N] || N), N;
|
|
116
|
+
}
|
|
117
|
+
l(te, "lex");
|
|
118
|
+
for (var S, O, k, W, I = {}, V, L, ie, F; ; ) {
|
|
119
|
+
if (O = a[a.length - 1], this.defaultActions[O] ? k = this.defaultActions[O] : ((S === null || typeof S > "u") && (S = te()), k = U[O] && U[O][S]), typeof k > "u" || !k.length || !k[0]) {
|
|
120
|
+
var z = "";
|
|
121
|
+
F = [];
|
|
122
|
+
for (V in U[O])
|
|
123
|
+
this.terminals_[V] && V > re && F.push("'" + this.terminals_[V] + "'");
|
|
124
|
+
f.showPosition ? z = "Parse error on line " + (M + 1) + `:
|
|
125
|
+
` + f.showPosition() + `
|
|
126
|
+
Expecting ` + F.join(", ") + ", got '" + (this.terminals_[S] || S) + "'" : z = "Parse error on line " + (M + 1) + ": Unexpected " + (S == ee ? "end of input" : "'" + (this.terminals_[S] || S) + "'"), this.parseError(z, {
|
|
127
|
+
text: f.match,
|
|
128
|
+
token: this.terminals_[S] || S,
|
|
129
|
+
line: f.yylineno,
|
|
130
|
+
loc: $,
|
|
131
|
+
expected: F
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
if (k[0] instanceof Array && k.length > 1)
|
|
135
|
+
throw new Error("Parse Error: multiple actions possible at state: " + O + ", token: " + S);
|
|
136
|
+
switch (k[0]) {
|
|
137
|
+
case 1:
|
|
138
|
+
a.push(S), g.push(f.yytext), r.push(f.yylloc), a.push(k[1]), S = null, Z = f.yyleng, d = f.yytext, M = f.yylineno, $ = f.yylloc;
|
|
139
|
+
break;
|
|
140
|
+
case 2:
|
|
141
|
+
if (L = this.productions_[k[1]][1], I.$ = g[g.length - L], I._$ = {
|
|
142
|
+
first_line: r[r.length - (L || 1)].first_line,
|
|
143
|
+
last_line: r[r.length - 1].last_line,
|
|
144
|
+
first_column: r[r.length - (L || 1)].first_column,
|
|
145
|
+
last_column: r[r.length - 1].last_column
|
|
146
|
+
}, oe && (I._$.range = [
|
|
147
|
+
r[r.length - (L || 1)].range[0],
|
|
148
|
+
r[r.length - 1].range[1]
|
|
149
|
+
]), W = this.performAction.apply(I, [
|
|
150
|
+
d,
|
|
151
|
+
Z,
|
|
152
|
+
M,
|
|
153
|
+
T.yy,
|
|
154
|
+
k[1],
|
|
155
|
+
g,
|
|
156
|
+
r
|
|
157
|
+
].concat(ae)), typeof W < "u")
|
|
158
|
+
return W;
|
|
159
|
+
L && (a = a.slice(0, -1 * L * 2), g = g.slice(0, -1 * L), r = r.slice(0, -1 * L)), a.push(this.productions_[k[1]][0]), g.push(I.$), r.push(I._$), ie = U[a[a.length - 2]][a[a.length - 1]], a.push(ie);
|
|
160
|
+
break;
|
|
161
|
+
case 3:
|
|
162
|
+
return !0;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return !0;
|
|
166
|
+
}, "parse")
|
|
167
|
+
}, se = /* @__PURE__ */ function() {
|
|
168
|
+
var v = {
|
|
169
|
+
EOF: 1,
|
|
170
|
+
parseError: /* @__PURE__ */ l(function(i, a) {
|
|
171
|
+
if (this.yy.parser)
|
|
172
|
+
this.yy.parser.parseError(i, a);
|
|
173
|
+
else
|
|
174
|
+
throw new Error(i);
|
|
175
|
+
}, "parseError"),
|
|
176
|
+
// resets the lexer, sets new input
|
|
177
|
+
setInput: /* @__PURE__ */ l(function(s, i) {
|
|
178
|
+
return this.yy = i || 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 = {
|
|
179
|
+
first_line: 1,
|
|
180
|
+
first_column: 0,
|
|
181
|
+
last_line: 1,
|
|
182
|
+
last_column: 0
|
|
183
|
+
}, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
|
|
184
|
+
}, "setInput"),
|
|
185
|
+
// consumes and returns one char from the input
|
|
186
|
+
input: /* @__PURE__ */ l(function() {
|
|
187
|
+
var s = this._input[0];
|
|
188
|
+
this.yytext += s, this.yyleng++, this.offset++, this.match += s, this.matched += s;
|
|
189
|
+
var i = s.match(/(?:\r\n?|\n).*/g);
|
|
190
|
+
return i ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), s;
|
|
191
|
+
}, "input"),
|
|
192
|
+
// unshifts one char (or a string) into the input
|
|
193
|
+
unput: /* @__PURE__ */ l(function(s) {
|
|
194
|
+
var i = s.length, a = s.split(/(?:\r\n?|\n)/g);
|
|
195
|
+
this._input = s + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - i), this.offset -= i;
|
|
196
|
+
var o = this.match.split(/(?:\r\n?|\n)/g);
|
|
197
|
+
this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), a.length - 1 && (this.yylineno -= a.length - 1);
|
|
198
|
+
var g = this.yylloc.range;
|
|
199
|
+
return this.yylloc = {
|
|
200
|
+
first_line: this.yylloc.first_line,
|
|
201
|
+
last_line: this.yylineno + 1,
|
|
202
|
+
first_column: this.yylloc.first_column,
|
|
203
|
+
last_column: a ? (a.length === o.length ? this.yylloc.first_column : 0) + o[o.length - a.length].length - a[0].length : this.yylloc.first_column - i
|
|
204
|
+
}, this.options.ranges && (this.yylloc.range = [g[0], g[0] + this.yyleng - i]), this.yyleng = this.yytext.length, this;
|
|
205
|
+
}, "unput"),
|
|
206
|
+
// When called from action, caches matched text and appends it on next action
|
|
207
|
+
more: /* @__PURE__ */ l(function() {
|
|
208
|
+
return this._more = !0, this;
|
|
209
|
+
}, "more"),
|
|
210
|
+
// 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.
|
|
211
|
+
reject: /* @__PURE__ */ l(function() {
|
|
212
|
+
if (this.options.backtrack_lexer)
|
|
213
|
+
this._backtrack = !0;
|
|
214
|
+
else
|
|
215
|
+
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).
|
|
216
|
+
` + this.showPosition(), {
|
|
217
|
+
text: "",
|
|
218
|
+
token: null,
|
|
219
|
+
line: this.yylineno
|
|
220
|
+
});
|
|
221
|
+
return this;
|
|
222
|
+
}, "reject"),
|
|
223
|
+
// retain first n characters of the match
|
|
224
|
+
less: /* @__PURE__ */ l(function(s) {
|
|
225
|
+
this.unput(this.match.slice(s));
|
|
226
|
+
}, "less"),
|
|
227
|
+
// displays already matched input, i.e. for error messages
|
|
228
|
+
pastInput: /* @__PURE__ */ l(function() {
|
|
229
|
+
var s = this.matched.substr(0, this.matched.length - this.match.length);
|
|
230
|
+
return (s.length > 20 ? "..." : "") + s.substr(-20).replace(/\n/g, "");
|
|
231
|
+
}, "pastInput"),
|
|
232
|
+
// displays upcoming input, i.e. for error messages
|
|
233
|
+
upcomingInput: /* @__PURE__ */ l(function() {
|
|
234
|
+
var s = this.match;
|
|
235
|
+
return s.length < 20 && (s += this._input.substr(0, 20 - s.length)), (s.substr(0, 20) + (s.length > 20 ? "..." : "")).replace(/\n/g, "");
|
|
236
|
+
}, "upcomingInput"),
|
|
237
|
+
// displays the character position where the lexing error occurred, i.e. for error messages
|
|
238
|
+
showPosition: /* @__PURE__ */ l(function() {
|
|
239
|
+
var s = this.pastInput(), i = new Array(s.length + 1).join("-");
|
|
240
|
+
return s + this.upcomingInput() + `
|
|
241
|
+
` + i + "^";
|
|
242
|
+
}, "showPosition"),
|
|
243
|
+
// test the lexed token: return FALSE when not a match, otherwise return token
|
|
244
|
+
test_match: /* @__PURE__ */ l(function(s, i) {
|
|
245
|
+
var a, o, g;
|
|
246
|
+
if (this.options.backtrack_lexer && (g = {
|
|
247
|
+
yylineno: this.yylineno,
|
|
248
|
+
yylloc: {
|
|
249
|
+
first_line: this.yylloc.first_line,
|
|
250
|
+
last_line: this.last_line,
|
|
251
|
+
first_column: this.yylloc.first_column,
|
|
252
|
+
last_column: this.yylloc.last_column
|
|
253
|
+
},
|
|
254
|
+
yytext: this.yytext,
|
|
255
|
+
match: this.match,
|
|
256
|
+
matches: this.matches,
|
|
257
|
+
matched: this.matched,
|
|
258
|
+
yyleng: this.yyleng,
|
|
259
|
+
offset: this.offset,
|
|
260
|
+
_more: this._more,
|
|
261
|
+
_input: this._input,
|
|
262
|
+
yy: this.yy,
|
|
263
|
+
conditionStack: this.conditionStack.slice(0),
|
|
264
|
+
done: this.done
|
|
265
|
+
}, this.options.ranges && (g.yylloc.range = this.yylloc.range.slice(0))), o = s[0].match(/(?:\r\n?|\n).*/g), o && (this.yylineno += o.length), this.yylloc = {
|
|
266
|
+
first_line: this.yylloc.last_line,
|
|
267
|
+
last_line: this.yylineno + 1,
|
|
268
|
+
first_column: this.yylloc.last_column,
|
|
269
|
+
last_column: o ? o[o.length - 1].length - o[o.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + s[0].length
|
|
270
|
+
}, 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], a = this.performAction.call(this, this.yy, this, i, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), a)
|
|
271
|
+
return a;
|
|
272
|
+
if (this._backtrack) {
|
|
273
|
+
for (var r in g)
|
|
274
|
+
this[r] = g[r];
|
|
275
|
+
return !1;
|
|
276
|
+
}
|
|
277
|
+
return !1;
|
|
278
|
+
}, "test_match"),
|
|
279
|
+
// return next match in input
|
|
280
|
+
next: /* @__PURE__ */ l(function() {
|
|
281
|
+
if (this.done)
|
|
282
|
+
return this.EOF;
|
|
283
|
+
this._input || (this.done = !0);
|
|
284
|
+
var s, i, a, o;
|
|
285
|
+
this._more || (this.yytext = "", this.match = "");
|
|
286
|
+
for (var g = this._currentRules(), r = 0; r < g.length; r++)
|
|
287
|
+
if (a = this._input.match(this.rules[g[r]]), a && (!i || a[0].length > i[0].length)) {
|
|
288
|
+
if (i = a, o = r, this.options.backtrack_lexer) {
|
|
289
|
+
if (s = this.test_match(a, g[r]), s !== !1)
|
|
290
|
+
return s;
|
|
291
|
+
if (this._backtrack) {
|
|
292
|
+
i = !1;
|
|
293
|
+
continue;
|
|
294
|
+
} else
|
|
295
|
+
return !1;
|
|
296
|
+
} else if (!this.options.flex)
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
return i ? (s = this.test_match(i, g[o]), s !== !1 ? s : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
|
|
300
|
+
` + this.showPosition(), {
|
|
301
|
+
text: "",
|
|
302
|
+
token: null,
|
|
303
|
+
line: this.yylineno
|
|
304
|
+
});
|
|
305
|
+
}, "next"),
|
|
306
|
+
// return next match that has a token
|
|
307
|
+
lex: /* @__PURE__ */ l(function() {
|
|
308
|
+
var i = this.next();
|
|
309
|
+
return i || this.lex();
|
|
310
|
+
}, "lex"),
|
|
311
|
+
// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
|
|
312
|
+
begin: /* @__PURE__ */ l(function(i) {
|
|
313
|
+
this.conditionStack.push(i);
|
|
314
|
+
}, "begin"),
|
|
315
|
+
// pop the previously active lexer condition state off the condition stack
|
|
316
|
+
popState: /* @__PURE__ */ l(function() {
|
|
317
|
+
var i = this.conditionStack.length - 1;
|
|
318
|
+
return i > 0 ? this.conditionStack.pop() : this.conditionStack[0];
|
|
319
|
+
}, "popState"),
|
|
320
|
+
// produce the lexer rule set which is active for the currently active lexer condition state
|
|
321
|
+
_currentRules: /* @__PURE__ */ l(function() {
|
|
322
|
+
return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
|
|
323
|
+
}, "_currentRules"),
|
|
324
|
+
// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
|
|
325
|
+
topState: /* @__PURE__ */ l(function(i) {
|
|
326
|
+
return i = this.conditionStack.length - 1 - Math.abs(i || 0), i >= 0 ? this.conditionStack[i] : "INITIAL";
|
|
327
|
+
}, "topState"),
|
|
328
|
+
// alias for begin(condition)
|
|
329
|
+
pushState: /* @__PURE__ */ l(function(i) {
|
|
330
|
+
this.begin(i);
|
|
331
|
+
}, "pushState"),
|
|
332
|
+
// return the number of states currently on the stack
|
|
333
|
+
stateStackSize: /* @__PURE__ */ l(function() {
|
|
334
|
+
return this.conditionStack.length;
|
|
335
|
+
}, "stateStackSize"),
|
|
336
|
+
options: { "case-insensitive": !0 },
|
|
337
|
+
performAction: /* @__PURE__ */ l(function(i, a, o, g) {
|
|
338
|
+
switch (o) {
|
|
339
|
+
case 0:
|
|
340
|
+
return i.getLogger().trace("Found comment", a.yytext), 6;
|
|
341
|
+
case 1:
|
|
342
|
+
return 8;
|
|
343
|
+
case 2:
|
|
344
|
+
this.begin("CLASS");
|
|
345
|
+
break;
|
|
346
|
+
case 3:
|
|
347
|
+
return this.popState(), 16;
|
|
348
|
+
case 4:
|
|
349
|
+
this.popState();
|
|
350
|
+
break;
|
|
351
|
+
case 5:
|
|
352
|
+
i.getLogger().trace("Begin icon"), this.begin("ICON");
|
|
353
|
+
break;
|
|
354
|
+
case 6:
|
|
355
|
+
return i.getLogger().trace("SPACELINE"), 6;
|
|
356
|
+
case 7:
|
|
357
|
+
return 7;
|
|
358
|
+
case 8:
|
|
359
|
+
return 15;
|
|
360
|
+
case 9:
|
|
361
|
+
i.getLogger().trace("end icon"), this.popState();
|
|
362
|
+
break;
|
|
363
|
+
case 10:
|
|
364
|
+
return i.getLogger().trace("Exploding node"), this.begin("NODE"), 19;
|
|
365
|
+
case 11:
|
|
366
|
+
return i.getLogger().trace("Cloud"), this.begin("NODE"), 19;
|
|
367
|
+
case 12:
|
|
368
|
+
return i.getLogger().trace("Explosion Bang"), this.begin("NODE"), 19;
|
|
369
|
+
case 13:
|
|
370
|
+
return i.getLogger().trace("Cloud Bang"), this.begin("NODE"), 19;
|
|
371
|
+
case 14:
|
|
372
|
+
return this.begin("NODE"), 19;
|
|
373
|
+
case 15:
|
|
374
|
+
return this.begin("NODE"), 19;
|
|
375
|
+
case 16:
|
|
376
|
+
return this.begin("NODE"), 19;
|
|
377
|
+
case 17:
|
|
378
|
+
return this.begin("NODE"), 19;
|
|
379
|
+
case 18:
|
|
380
|
+
return 13;
|
|
381
|
+
case 19:
|
|
382
|
+
return 22;
|
|
383
|
+
case 20:
|
|
384
|
+
return 11;
|
|
385
|
+
case 21:
|
|
386
|
+
this.begin("NSTR2");
|
|
387
|
+
break;
|
|
388
|
+
case 22:
|
|
389
|
+
return "NODE_DESCR";
|
|
390
|
+
case 23:
|
|
391
|
+
this.popState();
|
|
392
|
+
break;
|
|
393
|
+
case 24:
|
|
394
|
+
i.getLogger().trace("Starting NSTR"), this.begin("NSTR");
|
|
395
|
+
break;
|
|
396
|
+
case 25:
|
|
397
|
+
return i.getLogger().trace("description:", a.yytext), "NODE_DESCR";
|
|
398
|
+
case 26:
|
|
399
|
+
this.popState();
|
|
400
|
+
break;
|
|
401
|
+
case 27:
|
|
402
|
+
return this.popState(), i.getLogger().trace("node end ))"), "NODE_DEND";
|
|
403
|
+
case 28:
|
|
404
|
+
return this.popState(), i.getLogger().trace("node end )"), "NODE_DEND";
|
|
405
|
+
case 29:
|
|
406
|
+
return this.popState(), i.getLogger().trace("node end ...", a.yytext), "NODE_DEND";
|
|
407
|
+
case 30:
|
|
408
|
+
return this.popState(), i.getLogger().trace("node end (("), "NODE_DEND";
|
|
409
|
+
case 31:
|
|
410
|
+
return this.popState(), i.getLogger().trace("node end (-"), "NODE_DEND";
|
|
411
|
+
case 32:
|
|
412
|
+
return this.popState(), i.getLogger().trace("node end (-"), "NODE_DEND";
|
|
413
|
+
case 33:
|
|
414
|
+
return this.popState(), i.getLogger().trace("node end (("), "NODE_DEND";
|
|
415
|
+
case 34:
|
|
416
|
+
return this.popState(), i.getLogger().trace("node end (("), "NODE_DEND";
|
|
417
|
+
case 35:
|
|
418
|
+
return i.getLogger().trace("Long description:", a.yytext), 20;
|
|
419
|
+
case 36:
|
|
420
|
+
return i.getLogger().trace("Long description:", a.yytext), 20;
|
|
421
|
+
}
|
|
422
|
+
}, "anonymous"),
|
|
423
|
+
rules: [/^(?:\s*%%.*)/i, /^(?:mindmap\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\n)/i, /^(?:::icon\()/i, /^(?:[\s]+[\n])/i, /^(?:[\n]+)/i, /^(?:[^\)]+)/i, /^(?:\))/i, /^(?:-\))/i, /^(?:\(-)/i, /^(?:\)\))/i, /^(?:\))/i, /^(?:\(\()/i, /^(?:\{\{)/i, /^(?:\()/i, /^(?:\[)/i, /^(?:[\s]+)/i, /^(?:[^\(\[\n\)\{\}]+)/i, /^(?:$)/i, /^(?:["][`])/i, /^(?:[^`"]+)/i, /^(?:[`]["])/i, /^(?:["])/i, /^(?:[^"]+)/i, /^(?:["])/i, /^(?:[\)]\))/i, /^(?:[\)])/i, /^(?:[\]])/i, /^(?:\}\})/i, /^(?:\(-)/i, /^(?:-\))/i, /^(?:\(\()/i, /^(?:\()/i, /^(?:[^\)\]\(\}]+)/i, /^(?:.+(?!\(\())/i],
|
|
424
|
+
conditions: { CLASS: { rules: [3, 4], inclusive: !1 }, ICON: { rules: [8, 9], inclusive: !1 }, NSTR2: { rules: [22, 23], inclusive: !1 }, NSTR: { rules: [25, 26], inclusive: !1 }, NODE: { rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], inclusive: !0 } }
|
|
425
|
+
};
|
|
426
|
+
return v;
|
|
427
|
+
}();
|
|
428
|
+
G.lexer = se;
|
|
429
|
+
function P() {
|
|
430
|
+
this.yy = {};
|
|
431
|
+
}
|
|
432
|
+
return l(P, "Parser"), P.prototype = G, G.Parser = P, new P();
|
|
433
|
+
}();
|
|
434
|
+
q.parser = q;
|
|
435
|
+
var De = q, x = {
|
|
436
|
+
DEFAULT: 0,
|
|
437
|
+
NO_BORDER: 0,
|
|
438
|
+
ROUNDED_RECT: 1,
|
|
439
|
+
RECT: 2,
|
|
440
|
+
CIRCLE: 3,
|
|
441
|
+
CLOUD: 4,
|
|
442
|
+
BANG: 5,
|
|
443
|
+
HEXAGON: 6
|
|
444
|
+
}, R, Ne = (R = class {
|
|
445
|
+
constructor() {
|
|
446
|
+
this.nodes = [], this.count = 0, this.elements = {}, this.getLogger = this.getLogger.bind(this), this.nodeType = x, this.clear(), this.getType = this.getType.bind(this), this.getElementById = this.getElementById.bind(this), this.getParent = this.getParent.bind(this), this.getMindmap = this.getMindmap.bind(this), this.addNode = this.addNode.bind(this), this.decorateNode = this.decorateNode.bind(this);
|
|
447
|
+
}
|
|
448
|
+
clear() {
|
|
449
|
+
this.nodes = [], this.count = 0, this.elements = {}, this.baseLevel = void 0;
|
|
450
|
+
}
|
|
451
|
+
getParent(e) {
|
|
452
|
+
for (let n = this.nodes.length - 1; n >= 0; n--)
|
|
453
|
+
if (this.nodes[n].level < e)
|
|
454
|
+
return this.nodes[n];
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
getMindmap() {
|
|
458
|
+
return this.nodes.length > 0 ? this.nodes[0] : null;
|
|
459
|
+
}
|
|
460
|
+
addNode(e, n, c, u) {
|
|
461
|
+
var m, w;
|
|
462
|
+
C.info("addNode", e, n, c, u);
|
|
463
|
+
let h = !1;
|
|
464
|
+
this.nodes.length === 0 ? (this.baseLevel = e, e = 0, h = !0) : this.baseLevel !== void 0 && (e = e - this.baseLevel, h = !1);
|
|
465
|
+
const p = X();
|
|
466
|
+
let y = ((m = p.mindmap) == null ? void 0 : m.padding) ?? j.mindmap.padding;
|
|
467
|
+
switch (u) {
|
|
468
|
+
case this.nodeType.ROUNDED_RECT:
|
|
469
|
+
case this.nodeType.RECT:
|
|
470
|
+
case this.nodeType.HEXAGON:
|
|
471
|
+
y *= 2;
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
const _ = {
|
|
475
|
+
id: this.count++,
|
|
476
|
+
nodeId: B(n, p),
|
|
477
|
+
level: e,
|
|
478
|
+
descr: B(c, p),
|
|
479
|
+
type: u,
|
|
480
|
+
children: [],
|
|
481
|
+
width: ((w = p.mindmap) == null ? void 0 : w.maxNodeWidth) ?? j.mindmap.maxNodeWidth,
|
|
482
|
+
padding: y,
|
|
483
|
+
isRoot: h
|
|
484
|
+
}, b = this.getParent(e);
|
|
485
|
+
if (b)
|
|
486
|
+
b.children.push(_), this.nodes.push(_);
|
|
487
|
+
else if (h)
|
|
488
|
+
this.nodes.push(_);
|
|
489
|
+
else
|
|
490
|
+
throw new Error(
|
|
491
|
+
`There can be only one root. No parent could be found for ("${_.descr}")`
|
|
492
|
+
);
|
|
493
|
+
}
|
|
494
|
+
getType(e, n) {
|
|
495
|
+
switch (C.debug("In get type", e, n), e) {
|
|
496
|
+
case "[":
|
|
497
|
+
return this.nodeType.RECT;
|
|
498
|
+
case "(":
|
|
499
|
+
return n === ")" ? this.nodeType.ROUNDED_RECT : this.nodeType.CLOUD;
|
|
500
|
+
case "((":
|
|
501
|
+
return this.nodeType.CIRCLE;
|
|
502
|
+
case ")":
|
|
503
|
+
return this.nodeType.CLOUD;
|
|
504
|
+
case "))":
|
|
505
|
+
return this.nodeType.BANG;
|
|
506
|
+
case "{{":
|
|
507
|
+
return this.nodeType.HEXAGON;
|
|
508
|
+
default:
|
|
509
|
+
return this.nodeType.DEFAULT;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
setElementForId(e, n) {
|
|
513
|
+
this.elements[e] = n;
|
|
514
|
+
}
|
|
515
|
+
getElementById(e) {
|
|
516
|
+
return this.elements[e];
|
|
517
|
+
}
|
|
518
|
+
decorateNode(e) {
|
|
519
|
+
if (!e)
|
|
520
|
+
return;
|
|
521
|
+
const n = X(), c = this.nodes[this.nodes.length - 1];
|
|
522
|
+
e.icon && (c.icon = B(e.icon, n)), e.class && (c.class = B(e.class, n));
|
|
523
|
+
}
|
|
524
|
+
type2Str(e) {
|
|
525
|
+
switch (e) {
|
|
526
|
+
case this.nodeType.DEFAULT:
|
|
527
|
+
return "no-border";
|
|
528
|
+
case this.nodeType.RECT:
|
|
529
|
+
return "rect";
|
|
530
|
+
case this.nodeType.ROUNDED_RECT:
|
|
531
|
+
return "rounded-rect";
|
|
532
|
+
case this.nodeType.CIRCLE:
|
|
533
|
+
return "circle";
|
|
534
|
+
case this.nodeType.CLOUD:
|
|
535
|
+
return "cloud";
|
|
536
|
+
case this.nodeType.BANG:
|
|
537
|
+
return "bang";
|
|
538
|
+
case this.nodeType.HEXAGON:
|
|
539
|
+
return "hexgon";
|
|
540
|
+
default:
|
|
541
|
+
return "no-border";
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Assign section numbers to nodes based on their position relative to root
|
|
546
|
+
* @param node - The mindmap node to process
|
|
547
|
+
* @param sectionNumber - The section number to assign (undefined for root)
|
|
548
|
+
*/
|
|
549
|
+
assignSections(e, n) {
|
|
550
|
+
if (e.level === 0 ? e.section = void 0 : e.section = n, e.children)
|
|
551
|
+
for (const [c, u] of e.children.entries()) {
|
|
552
|
+
const h = e.level === 0 ? c : n;
|
|
553
|
+
this.assignSections(u, h);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Convert mindmap tree structure to flat array of nodes
|
|
558
|
+
* @param node - The mindmap node to process
|
|
559
|
+
* @param processedNodes - Array to collect processed nodes
|
|
560
|
+
*/
|
|
561
|
+
flattenNodes(e, n) {
|
|
562
|
+
const c = ["mindmap-node"];
|
|
563
|
+
e.isRoot === !0 ? c.push("section-root", "section--1") : e.section !== void 0 && c.push(`section-${e.section}`), e.class && c.push(e.class);
|
|
564
|
+
const u = c.join(" "), h = /* @__PURE__ */ l((y) => {
|
|
565
|
+
switch (y) {
|
|
566
|
+
case x.CIRCLE:
|
|
567
|
+
return "mindmapCircle";
|
|
568
|
+
case x.RECT:
|
|
569
|
+
return "rect";
|
|
570
|
+
case x.ROUNDED_RECT:
|
|
571
|
+
return "rounded";
|
|
572
|
+
case x.CLOUD:
|
|
573
|
+
return "cloud";
|
|
574
|
+
case x.BANG:
|
|
575
|
+
return "bang";
|
|
576
|
+
case x.HEXAGON:
|
|
577
|
+
return "hexagon";
|
|
578
|
+
case x.DEFAULT:
|
|
579
|
+
return "defaultMindmapNode";
|
|
580
|
+
case x.NO_BORDER:
|
|
581
|
+
default:
|
|
582
|
+
return "rect";
|
|
583
|
+
}
|
|
584
|
+
}, "getShapeFromType"), p = {
|
|
585
|
+
id: e.id.toString(),
|
|
586
|
+
domId: "node_" + e.id.toString(),
|
|
587
|
+
label: e.descr,
|
|
588
|
+
isGroup: !1,
|
|
589
|
+
shape: h(e.type),
|
|
590
|
+
width: e.width,
|
|
591
|
+
height: e.height ?? 0,
|
|
592
|
+
padding: e.padding,
|
|
593
|
+
cssClasses: u,
|
|
594
|
+
cssStyles: [],
|
|
595
|
+
look: "default",
|
|
596
|
+
icon: e.icon,
|
|
597
|
+
x: e.x,
|
|
598
|
+
y: e.y,
|
|
599
|
+
// Mindmap-specific properties
|
|
600
|
+
level: e.level,
|
|
601
|
+
nodeId: e.nodeId,
|
|
602
|
+
type: e.type,
|
|
603
|
+
section: e.section
|
|
604
|
+
};
|
|
605
|
+
if (n.push(p), e.children)
|
|
606
|
+
for (const y of e.children)
|
|
607
|
+
this.flattenNodes(y, n);
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* Generate edges from parent-child relationships in mindmap tree
|
|
611
|
+
* @param node - The mindmap node to process
|
|
612
|
+
* @param edges - Array to collect edges
|
|
613
|
+
*/
|
|
614
|
+
generateEdges(e, n) {
|
|
615
|
+
if (e.children)
|
|
616
|
+
for (const c of e.children) {
|
|
617
|
+
let u = "edge";
|
|
618
|
+
c.section !== void 0 && (u += ` section-edge-${c.section}`);
|
|
619
|
+
const h = e.level + 1;
|
|
620
|
+
u += ` edge-depth-${h}`;
|
|
621
|
+
const p = {
|
|
622
|
+
id: `edge_${e.id}_${c.id}`,
|
|
623
|
+
start: e.id.toString(),
|
|
624
|
+
end: c.id.toString(),
|
|
625
|
+
type: "normal",
|
|
626
|
+
curve: "basis",
|
|
627
|
+
thickness: "normal",
|
|
628
|
+
look: "default",
|
|
629
|
+
classes: u,
|
|
630
|
+
// Store mindmap-specific data
|
|
631
|
+
depth: e.level,
|
|
632
|
+
section: c.section
|
|
633
|
+
};
|
|
634
|
+
n.push(p), this.generateEdges(c, n);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Get structured data for layout algorithms
|
|
639
|
+
* Following the pattern established by ER diagrams
|
|
640
|
+
* @returns Structured data containing nodes, edges, and config
|
|
641
|
+
*/
|
|
642
|
+
getData() {
|
|
643
|
+
const e = this.getMindmap(), n = X(), u = ue().layout !== void 0, h = n;
|
|
644
|
+
if (u || (h.layout = "cose-bilkent"), !e)
|
|
645
|
+
return {
|
|
646
|
+
nodes: [],
|
|
647
|
+
edges: [],
|
|
648
|
+
config: h
|
|
649
|
+
};
|
|
650
|
+
C.debug("getData: mindmapRoot", e, n), this.assignSections(e);
|
|
651
|
+
const p = [], y = [];
|
|
652
|
+
this.flattenNodes(e, p), this.generateEdges(e, y), C.debug(
|
|
653
|
+
`getData: processed ${p.length} nodes and ${y.length} edges`
|
|
654
|
+
);
|
|
655
|
+
const _ = /* @__PURE__ */ new Map();
|
|
656
|
+
for (const b of p)
|
|
657
|
+
_.set(b.id, {
|
|
658
|
+
shape: b.shape,
|
|
659
|
+
width: b.width,
|
|
660
|
+
height: b.height,
|
|
661
|
+
padding: b.padding
|
|
662
|
+
});
|
|
663
|
+
return {
|
|
664
|
+
nodes: p,
|
|
665
|
+
edges: y,
|
|
666
|
+
config: h,
|
|
667
|
+
// Store the root node for mindmap-specific layout algorithms
|
|
668
|
+
rootNode: e,
|
|
669
|
+
// Properties required by dagre layout algorithm
|
|
670
|
+
markers: ["point"],
|
|
671
|
+
// Mindmaps don't use markers
|
|
672
|
+
direction: "TB",
|
|
673
|
+
// Top-to-bottom direction for mindmaps
|
|
674
|
+
nodeSpacing: 50,
|
|
675
|
+
// Default spacing between nodes
|
|
676
|
+
rankSpacing: 50,
|
|
677
|
+
// Default spacing between ranks
|
|
678
|
+
// Add shapes for ELK compatibility
|
|
679
|
+
shapes: Object.fromEntries(_),
|
|
680
|
+
// Additional properties that layout algorithms might expect
|
|
681
|
+
type: "mindmap",
|
|
682
|
+
diagramId: "mindmap-" + Se()
|
|
683
|
+
};
|
|
684
|
+
}
|
|
685
|
+
// Expose logger to grammar
|
|
686
|
+
getLogger() {
|
|
687
|
+
return C;
|
|
688
|
+
}
|
|
689
|
+
}, l(R, "MindmapDB"), R), ke = /* @__PURE__ */ l(async (t, e, n, c) => {
|
|
690
|
+
var _, b;
|
|
691
|
+
C.debug(`Rendering mindmap diagram
|
|
692
|
+
` + t);
|
|
693
|
+
const u = c.db, h = u.getData(), p = le(e, h.config.securityLevel);
|
|
694
|
+
h.type = c.type, h.layoutAlgorithm = de(h.config.layout, {
|
|
695
|
+
fallback: "cose-bilkent"
|
|
696
|
+
}), h.diagramId = e, u.getMindmap() && (h.nodes.forEach((m) => {
|
|
697
|
+
m.shape === "rounded" ? (m.radius = 15, m.taper = 15, m.stroke = "none", m.width = 0, m.padding = 15) : m.shape === "circle" ? m.padding = 10 : m.shape === "rect" && (m.width = 0, m.padding = 10);
|
|
698
|
+
}), await ge(h, p), he(
|
|
699
|
+
p,
|
|
700
|
+
((_ = h.config.mindmap) == null ? void 0 : _.padding) ?? j.mindmap.padding,
|
|
701
|
+
"mindmapDiagram",
|
|
702
|
+
((b = h.config.mindmap) == null ? void 0 : b.useMaxWidth) ?? j.mindmap.useMaxWidth
|
|
703
|
+
));
|
|
704
|
+
}, "draw"), Le = {
|
|
705
|
+
draw: ke
|
|
706
|
+
}, xe = /* @__PURE__ */ l((t) => {
|
|
707
|
+
let e = "";
|
|
708
|
+
for (let n = 0; n < t.THEME_COLOR_LIMIT; n++)
|
|
709
|
+
t["lineColor" + n] = t["lineColor" + n] || t["cScaleInv" + n], pe(t["lineColor" + n]) ? t["lineColor" + n] = fe(t["lineColor" + n], 20) : t["lineColor" + n] = ye(t["lineColor" + n], 20);
|
|
710
|
+
for (let n = 0; n < t.THEME_COLOR_LIMIT; n++) {
|
|
711
|
+
const c = "" + (17 - 3 * n);
|
|
712
|
+
e += `
|
|
713
|
+
.section-${n - 1} rect, .section-${n - 1} path, .section-${n - 1} circle, .section-${n - 1} polygon, .section-${n - 1} path {
|
|
714
|
+
fill: ${t["cScale" + n]};
|
|
715
|
+
}
|
|
716
|
+
.section-${n - 1} text {
|
|
717
|
+
fill: ${t["cScaleLabel" + n]};
|
|
718
|
+
}
|
|
719
|
+
.node-icon-${n - 1} {
|
|
720
|
+
font-size: 40px;
|
|
721
|
+
color: ${t["cScaleLabel" + n]};
|
|
722
|
+
}
|
|
723
|
+
.section-edge-${n - 1}{
|
|
724
|
+
stroke: ${t["cScale" + n]};
|
|
725
|
+
}
|
|
726
|
+
.edge-depth-${n - 1}{
|
|
727
|
+
stroke-width: ${c};
|
|
728
|
+
}
|
|
729
|
+
.section-${n - 1} line {
|
|
730
|
+
stroke: ${t["cScaleInv" + n]} ;
|
|
731
|
+
stroke-width: 3;
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
.disabled, .disabled circle, .disabled text {
|
|
735
|
+
fill: lightgray;
|
|
736
|
+
}
|
|
737
|
+
.disabled text {
|
|
738
|
+
fill: #efefef;
|
|
739
|
+
}
|
|
740
|
+
`;
|
|
741
|
+
}
|
|
742
|
+
return e;
|
|
743
|
+
}, "genSections"), ve = /* @__PURE__ */ l((t) => `
|
|
744
|
+
.edge {
|
|
745
|
+
stroke-width: 3;
|
|
746
|
+
}
|
|
747
|
+
${xe(t)}
|
|
748
|
+
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
|
|
749
|
+
fill: ${t.git0};
|
|
750
|
+
}
|
|
751
|
+
.section-root text {
|
|
752
|
+
fill: ${t.gitBranchLabel0};
|
|
753
|
+
}
|
|
754
|
+
.section-root span {
|
|
755
|
+
color: ${t.gitBranchLabel0};
|
|
756
|
+
}
|
|
757
|
+
.section-2 span {
|
|
758
|
+
color: ${t.gitBranchLabel0};
|
|
759
|
+
}
|
|
760
|
+
.icon-container {
|
|
761
|
+
height:100%;
|
|
762
|
+
display: flex;
|
|
763
|
+
justify-content: center;
|
|
764
|
+
align-items: center;
|
|
765
|
+
}
|
|
766
|
+
.edge {
|
|
767
|
+
fill: none;
|
|
768
|
+
}
|
|
769
|
+
.mindmap-node-label {
|
|
770
|
+
dy: 1em;
|
|
771
|
+
alignment-baseline: middle;
|
|
772
|
+
text-anchor: middle;
|
|
773
|
+
dominant-baseline: middle;
|
|
774
|
+
text-align: center;
|
|
775
|
+
}
|
|
776
|
+
`, "getStyles"), Te = ve, Re = {
|
|
777
|
+
get db() {
|
|
778
|
+
return new Ne();
|
|
779
|
+
},
|
|
780
|
+
renderer: Le,
|
|
781
|
+
parser: De,
|
|
782
|
+
styles: Te
|
|
783
|
+
};
|
|
784
|
+
export {
|
|
785
|
+
Re as diagram
|
|
786
|
+
};
|