@layers-app/editor 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +47 -2
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +195 -2
  4. package/dist/index.js +2 -2
  5. package/dist/layers.-RxAm5pH.js +795 -0
  6. package/dist/layers.-rS-aTo2.js +33 -0
  7. package/dist/layers.2ODaB2Pd.js +8 -0
  8. package/dist/layers.5BbX0Xoz.js +769 -0
  9. package/dist/layers.7JqFgE4-.js +15 -0
  10. package/dist/layers.9QK1wiQj.js +1 -0
  11. package/dist/layers.9pNaFvaX.js +1 -0
  12. package/dist/layers.B-6oGNjd.js +40 -0
  13. package/dist/layers.B-ie1_cm.js +6 -0
  14. package/dist/layers.B0EkntbT.js +32 -0
  15. package/dist/layers.B0pdr1hX.js +1619 -0
  16. package/dist/layers.B19hGmey.js +1 -0
  17. package/dist/layers.B39TZ2WV.js +11 -0
  18. package/dist/layers.B3odqoHb.js +9 -0
  19. package/dist/layers.B64g6Zx2.js +1 -0
  20. package/dist/layers.B6UkAKu5.js +434 -0
  21. package/dist/layers.B8i9d7Qz.js +192 -0
  22. package/dist/layers.B9NSFeaj.js +35 -0
  23. package/dist/layers.B9zrmkst.js +11 -0
  24. package/dist/layers.BAtv1CM7.js +1 -0
  25. package/dist/layers.BBB7YGK1.js +3 -0
  26. package/dist/layers.BBU3ik5q.js +51 -0
  27. package/dist/layers.BBwDvE6l.js +9122 -0
  28. package/dist/layers.BCFHxkpM.js +6 -0
  29. package/dist/layers.BD5uUnI2.js +1265 -0
  30. package/dist/layers.BDhuxbhX.js +44 -0
  31. package/dist/layers.BDxQSquK.js +10 -0
  32. package/dist/layers.BEE5yqs5.js +9 -0
  33. package/dist/layers.BFLg4UGe.js +8 -0
  34. package/dist/layers.BFOl7cA-.js +41 -0
  35. package/dist/layers.BHDiP2sq.js +21836 -0
  36. package/dist/layers.BIDnkNut.js +1510 -0
  37. package/dist/layers.BIVmclKv.js +41 -0
  38. package/dist/layers.BIeVwYKL.js +1 -0
  39. package/dist/layers.BJMMuP5r.js +9 -0
  40. package/dist/layers.BK01wvsE.js +10 -0
  41. package/dist/layers.BLB-feoT.js +8 -0
  42. package/dist/layers.BLSqqbWP.js +207 -0
  43. package/dist/layers.BO3dqWyO.js +10 -0
  44. package/dist/layers.BPe9NQzP.js +2963 -0
  45. package/dist/layers.BPnpanwd.js +39 -0
  46. package/dist/layers.BQLZhz6B.js +6 -0
  47. package/dist/layers.BST6tR9a.js +4 -0
  48. package/dist/layers.BSTBZrFn.js +1 -0
  49. package/dist/layers.BUSnd1Ro.js +5 -0
  50. package/dist/layers.BUkDq4ln.js +84 -0
  51. package/dist/layers.BUsBCyiL.js +202 -0
  52. package/dist/layers.BXGiOI1Z.js +7 -0
  53. package/dist/layers.BYVHkqLR.js +39 -0
  54. package/dist/layers.BYzN4Zxz.js +7 -0
  55. package/dist/layers.BZcZF6Ct.js +41 -0
  56. package/dist/layers.B_Hf0SF-.js +1359 -0
  57. package/dist/{layers.BYmCD0mp.js → layers.Ba97nTEK.js} +1 -1
  58. package/dist/layers.Bbl6qitU.js +40 -0
  59. package/dist/layers.BdanmQPF.js +11 -0
  60. package/dist/layers.Bfd5bOAD.js +37 -0
  61. package/dist/layers.BhM2iCwB.js +5 -0
  62. package/dist/layers.BjZInKjA.js +2 -0
  63. package/dist/layers.Bk2PdkMX.js +10 -0
  64. package/dist/layers.BkMfeJ9R.js +41 -0
  65. package/dist/layers.BkjjkAwW.js +2 -0
  66. package/dist/layers.Blho0qwc.js +1 -0
  67. package/dist/layers.BoabOlrX.js +36 -0
  68. package/dist/layers.BpXiFzvR.js +36 -0
  69. package/dist/layers.BpilXLfW.js +6 -0
  70. package/dist/layers.BuQ1nJmP.js +1 -0
  71. package/dist/layers.Bv0tGvGl.js +40 -0
  72. package/dist/layers.BvZFIFgz.js +9 -0
  73. package/dist/layers.BwfB_nzW.js +8 -0
  74. package/dist/layers.Bwpn7zKE.js +9 -0
  75. package/dist/layers.Bz0ApNUe.js +70 -0
  76. package/dist/layers.C-G7-Jg3.js +7 -0
  77. package/dist/layers.C0bumYdC.js +7 -0
  78. package/dist/layers.C1KhBpGU.js +7 -0
  79. package/dist/layers.C3K_Whht.js +42 -0
  80. package/dist/layers.C51kZnWr.js +37 -0
  81. package/dist/layers.C5rttXXy.js +10 -0
  82. package/dist/{layers.CKC0lJDn.js → layers.C5uR7AiN.js} +1 -1
  83. package/dist/layers.C6Rn8zoI.js +42 -0
  84. package/dist/layers.C7lIplJU.js +247 -0
  85. package/dist/layers.CBXpUMze.js +96 -0
  86. package/dist/layers.CCRe_IA7.js +36 -0
  87. package/dist/{layers.CFJiIrku.js → layers.CClfR9Rs.js} +14180 -12682
  88. package/dist/layers.CDLdte-o.js +9 -0
  89. package/dist/layers.CDzPpnhN.js +52 -0
  90. package/dist/layers.CEXVJbhn.js +8 -0
  91. package/dist/layers.CGX7Piy7.js +1 -0
  92. package/dist/layers.CGc04km7.js +42 -0
  93. package/dist/layers.CH23k4XD.js +6 -0
  94. package/dist/layers.CHHqQlm1.js +9 -0
  95. package/dist/layers.CHZsXQcr.js +1 -0
  96. package/dist/layers.CMS1o_sE.js +40 -0
  97. package/dist/layers.CO4NHmK3.js +40 -0
  98. package/dist/layers.COAF7f8g.js +1 -0
  99. package/dist/layers.CPV5PaJ7.js +33 -0
  100. package/dist/layers.CPqqkX8Z.js +23 -0
  101. package/dist/layers.CQXDzk5h.js +1 -0
  102. package/dist/layers.CQv0GMRl.js +1 -0
  103. package/dist/layers.CR10RAJi.js +116 -0
  104. package/dist/layers.CR4riLSc.js +2235 -0
  105. package/dist/layers.CSjWzlk9.js +1 -0
  106. package/dist/layers.CTmkjIN6.js +5 -0
  107. package/dist/layers.CZMy0ug4.js +6 -0
  108. package/dist/layers.CZh7NZyl.js +42 -0
  109. package/dist/layers.C_dOgKfE.js +10 -0
  110. package/dist/layers.CcJ28sUd.js +9 -0
  111. package/dist/layers.CeMe5scF.js +1 -0
  112. package/dist/layers.CeVpKhli.js +122 -0
  113. package/dist/layers.Ch7C0MR9.js +39 -0
  114. package/dist/layers.ChAMqLmE.js +160 -0
  115. package/dist/layers.ChJyurjQ.js +7 -0
  116. package/dist/layers.ChPHYv68.js +41 -0
  117. package/dist/layers.ChykDTOy.js +11 -0
  118. package/dist/layers.Ci0QS82_.js +1 -0
  119. package/dist/layers.Ci0x4aAi.js +139 -0
  120. package/dist/layers.CiNAQOA-.js +50 -0
  121. package/dist/layers.Ck0iJfoW.js +39 -0
  122. package/dist/layers.Ckbp-T9r.js +32 -0
  123. package/dist/layers.Cl9Tl2nd.js +1 -0
  124. package/dist/layers.ClQj75nc.js +11 -0
  125. package/dist/layers.ClaqpFnu.js +233 -0
  126. package/dist/layers.CmHSmrZm.js +40 -0
  127. package/dist/layers.Cn6OfRlw.js +40 -0
  128. package/dist/layers.CnD3z0eZ.js +8 -0
  129. package/dist/layers.CnloMtKN.js +268 -0
  130. package/dist/layers.Cp82yltX.js +32 -0
  131. package/dist/layers.CphCG076.js +6 -0
  132. package/dist/layers.CqM3rL4-.js +5 -0
  133. package/dist/layers.CqVTtuYm.js +6 -0
  134. package/dist/layers.CvJxfPxo.js +9 -0
  135. package/dist/layers.CwPFdFUT.js +34 -0
  136. package/dist/layers.Cx14IKzN.js +4 -0
  137. package/dist/layers.Cxmncz59.js +32 -0
  138. package/dist/layers.D-ZYFolm.js +1 -0
  139. package/dist/layers.D0zn4_Mx.js +1 -0
  140. package/dist/layers.D18RSmmQ.js +7 -0
  141. package/dist/layers.D1cZq8tq.js +373 -0
  142. package/dist/layers.D2q8ZYi2.js +425 -0
  143. package/dist/layers.D2vOkfMK.js +38 -0
  144. package/dist/layers.D3Hkinja.js +5 -0
  145. package/dist/layers.D4fGb2cV.js +1272 -0
  146. package/dist/layers.D68FZk66.js +39 -0
  147. package/dist/layers.D7HvMBb6.js +39 -0
  148. package/dist/layers.D7jGxypv.js +8 -0
  149. package/dist/layers.D90-hSDT.js +4 -0
  150. package/dist/layers.D9A031XO.js +803 -0
  151. package/dist/layers.DARK07JA.js +42 -0
  152. package/dist/layers.DAx0hT2g.js +32 -0
  153. package/dist/layers.DCvUAfE1.js +40 -0
  154. package/dist/layers.DDRgaMwu.js +10 -0
  155. package/dist/layers.DEfJs03Z.js +1 -0
  156. package/dist/layers.DElpVOY-.js +8 -0
  157. package/dist/layers.DFd9A85i.js +14 -0
  158. package/dist/layers.DGZUGztZ.js +220 -0
  159. package/dist/layers.DHbdkCCU.js +38 -0
  160. package/dist/layers.DIrkcLlA.js +790 -0
  161. package/dist/layers.DKPzrygv.js +1 -0
  162. package/dist/layers.DK_t52oS.js +1126 -0
  163. package/dist/layers.DLwuMfdd.js +84 -0
  164. package/dist/layers.DMkBISW1.js +1 -0
  165. package/dist/layers.DMvWe0pJ.js +7 -0
  166. package/dist/layers.DN9HoVxI.js +18 -0
  167. package/dist/layers.DO-G3uLL.js +8 -0
  168. package/dist/layers.DOrgOHBr.js +1 -0
  169. package/dist/layers.DQCPMqIN.js +9 -0
  170. package/dist/layers.DTDpNGfk.js +1 -0
  171. package/dist/layers.DXTPaWjN.js +37 -0
  172. package/dist/layers.DXaSAlDN.js +13 -0
  173. package/dist/layers.DYx3Ot6h.js +139 -0
  174. package/dist/layers.D_MU5WlI.js +40 -0
  175. package/dist/layers.DalYdEkL.js +19 -0
  176. package/dist/layers.DbaKVP5e.js +1 -0
  177. package/dist/layers.Dbuivk7d.js +36 -0
  178. package/dist/layers.DdTLZZKb.js +48146 -0
  179. package/dist/layers.DeB3waPT.js +8 -0
  180. package/dist/layers.Dg8Wbn90.js +35 -0
  181. package/dist/layers.DhiFm4jW.js +10 -0
  182. package/dist/layers.DhzTwBn5.js +37 -0
  183. package/dist/layers.DjUOC4st.js +16 -0
  184. package/dist/layers.Dk9dbz6F.js +118 -0
  185. package/dist/layers.Dklz2JqP.js +41 -0
  186. package/dist/layers.Dol0x5Jd.js +61 -0
  187. package/dist/layers.DrtkQKK7.js +1 -0
  188. package/dist/layers.Ds95POLS.js +1 -0
  189. package/dist/layers.DsAtBUs-.js +1283 -0
  190. package/dist/layers.DtoCH9Nn.js +1 -0
  191. package/dist/layers.DwLw5o0M.js +38 -0
  192. package/dist/layers.DxA6ocdw.js +70 -0
  193. package/dist/layers.DxGDxkXA.js +164 -0
  194. package/dist/layers.Dxrm0nEM.js +2479 -0
  195. package/dist/layers.Dy1naDTQ.js +14 -0
  196. package/dist/layers.Dyor8Hot.js +186 -0
  197. package/dist/layers.Dyqg_e4P.js +41 -0
  198. package/dist/layers.DzaH7mDC.js +65 -0
  199. package/dist/layers.Dzc83sE7.js +1 -0
  200. package/dist/layers.FstVqdQC.js +804 -0
  201. package/dist/layers.HcI9cOEd.js +1089 -0
  202. package/dist/layers.I-MG0ir4.js +21461 -0
  203. package/dist/layers.I5-pSyca.js +1 -0
  204. package/dist/layers.JWCLFILJ.js +1 -0
  205. package/dist/layers.LOjND5R4.js +320 -0
  206. package/dist/{layers.BKFthpnI.js → layers.L_XjkGw6.js} +24 -24
  207. package/dist/layers.Lhl12ohc.js +1 -0
  208. package/dist/layers.N4wL2Xyj.js +1083 -0
  209. package/dist/layers.OEP2K3db.js +4 -0
  210. package/dist/layers.PO65UmTA.js +10 -0
  211. package/dist/layers.PhLwHKUM.js +40 -0
  212. package/dist/layers.Tatx7z0m.js +55 -0
  213. package/dist/layers.UbqG2dp_.js +10 -0
  214. package/dist/layers.WsdOSV4y.js +2 -0
  215. package/dist/{layers.C99LCymA.js → layers.Y41CVpLS.js} +70 -70
  216. package/dist/layers.Ym7pRGM7.js +84 -0
  217. package/dist/layers.b0h5ZBmD.js +61 -0
  218. package/dist/layers.c_QDfgff.js +257 -0
  219. package/dist/layers.cp645rbn.js +7 -0
  220. package/dist/layers.dqI-yLmM.js +41 -0
  221. package/dist/layers.fTcEk1do.js +261 -0
  222. package/dist/layers.gRKbOYG-.js +960 -0
  223. package/dist/layers.gaT5_-NN.js +32 -0
  224. package/dist/layers.gzGcAwbO.js +904 -0
  225. package/dist/layers.h0tSRttU.js +1 -0
  226. package/dist/layers.hkFN-BS0.js +39 -0
  227. package/dist/layers.iw01AOuQ.js +931 -0
  228. package/dist/layers.k2UyvrHI.js +35 -0
  229. package/dist/layers.kY3ZYtED.js +1 -0
  230. package/dist/layers.kthR742N.js +39 -0
  231. package/dist/layers.lCpg7dOn.js +21 -0
  232. package/dist/layers.lLRqycMO.js +39 -0
  233. package/dist/layers.oFAtdeQ1.js +501 -0
  234. package/dist/layers.p9hSNB6N.js +1 -0
  235. package/dist/layers.paz6tc0L.js +1034 -0
  236. package/dist/layers.rRMBW9ET.js +1580 -0
  237. package/dist/layers.tbRLuldN.js +1 -0
  238. package/dist/layers.x6Qk2Mwl.js +8 -0
  239. package/dist/layers.x6ioP3u0.js +423 -0
  240. package/dist/layers.za1sylgg.js +11692 -0
  241. package/package.json +6 -5
  242. package/dist/layers.F7W7VvW1.js +0 -164
@@ -0,0 +1,804 @@
1
+ import { a as yt, s as ft, b as dt, c as pt, n as gt, o as mt, g as I, d as W, e as xt, q as kt } from "./layers.BBwDvE6l.js";
2
+ import { a as _t, g as it, f as bt, d as vt } from "./layers.DzaH7mDC.js";
3
+ import "./layers.I-MG0ir4.js";
4
+ import { a as Q } from "./layers.BUkDq4ln.js";
5
+ var G = function() {
6
+ var t = function(p, n, r, a) {
7
+ for (r = r || {}, a = p.length; a--; r[p[a]] = n)
8
+ ;
9
+ return r;
10
+ }, e = [6, 8, 10, 11, 12, 14, 16, 17, 18], i = [1, 9], o = [1, 10], s = [1, 11], h = [1, 12], c = [1, 13], f = [1, 14], y = {
11
+ trace: function() {
12
+ },
13
+ yy: {},
14
+ symbols_: { error: 2, start: 3, journey: 4, document: 5, EOF: 6, line: 7, SPACE: 8, statement: 9, NEWLINE: 10, title: 11, acc_title: 12, acc_title_value: 13, acc_descr: 14, acc_descr_value: 15, acc_descr_multiline_value: 16, section: 17, taskName: 18, taskData: 19, $accept: 0, $end: 1 },
15
+ terminals_: { 2: "error", 4: "journey", 6: "EOF", 8: "SPACE", 10: "NEWLINE", 11: "title", 12: "acc_title", 13: "acc_title_value", 14: "acc_descr", 15: "acc_descr_value", 16: "acc_descr_multiline_value", 17: "section", 18: "taskName", 19: "taskData" },
16
+ productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2]],
17
+ performAction: function(n, r, a, u, d, l, w) {
18
+ var k = l.length - 1;
19
+ switch (d) {
20
+ case 1:
21
+ return l[k - 1];
22
+ case 2:
23
+ this.$ = [];
24
+ break;
25
+ case 3:
26
+ l[k - 1].push(l[k]), this.$ = l[k - 1];
27
+ break;
28
+ case 4:
29
+ case 5:
30
+ this.$ = l[k];
31
+ break;
32
+ case 6:
33
+ case 7:
34
+ this.$ = [];
35
+ break;
36
+ case 8:
37
+ u.setDiagramTitle(l[k].substr(6)), this.$ = l[k].substr(6);
38
+ break;
39
+ case 9:
40
+ this.$ = l[k].trim(), u.setAccTitle(this.$);
41
+ break;
42
+ case 10:
43
+ case 11:
44
+ this.$ = l[k].trim(), u.setAccDescription(this.$);
45
+ break;
46
+ case 12:
47
+ u.addSection(l[k].substr(8)), this.$ = l[k].substr(8);
48
+ break;
49
+ case 13:
50
+ u.addTask(l[k - 1], l[k]), this.$ = "task";
51
+ break;
52
+ }
53
+ },
54
+ table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, t(e, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: i, 12: o, 14: s, 16: h, 17: c, 18: f }, t(e, [2, 7], { 1: [2, 1] }), t(e, [2, 3]), { 9: 15, 11: i, 12: o, 14: s, 16: h, 17: c, 18: f }, t(e, [2, 5]), t(e, [2, 6]), t(e, [2, 8]), { 13: [1, 16] }, { 15: [1, 17] }, t(e, [2, 11]), t(e, [2, 12]), { 19: [1, 18] }, t(e, [2, 4]), t(e, [2, 9]), t(e, [2, 10]), t(e, [2, 13])],
55
+ defaultActions: {},
56
+ parseError: function(n, r) {
57
+ if (r.recoverable)
58
+ this.trace(n);
59
+ else {
60
+ var a = new Error(n);
61
+ throw a.hash = r, a;
62
+ }
63
+ },
64
+ parse: function(n) {
65
+ var r = this, a = [0], u = [], d = [null], l = [], w = this.table, k = "", R = 0, Z = 0, ot = 2, J = 1, ct = l.slice.call(arguments, 1), x = Object.create(this.lexer), S = { yy: {} };
66
+ for (var z in this.yy)
67
+ Object.prototype.hasOwnProperty.call(this.yy, z) && (S.yy[z] = this.yy[z]);
68
+ x.setInput(n, S.yy), S.yy.lexer = x, S.yy.parser = this, typeof x.yylloc > "u" && (x.yylloc = {});
69
+ var Y = x.yylloc;
70
+ l.push(Y);
71
+ var ht = x.options && x.options.ranges;
72
+ typeof S.yy.parseError == "function" ? this.parseError = S.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
73
+ function ut() {
74
+ var T;
75
+ return T = u.pop() || x.lex() || J, typeof T != "number" && (T instanceof Array && (u = T, T = u.pop()), T = r.symbols_[T] || T), T;
76
+ }
77
+ for (var _, E, b, q, A = {}, N, $, K, B; ; ) {
78
+ if (E = a[a.length - 1], this.defaultActions[E] ? b = this.defaultActions[E] : ((_ === null || typeof _ > "u") && (_ = ut()), b = w[E] && w[E][_]), typeof b > "u" || !b.length || !b[0]) {
79
+ var O = "";
80
+ B = [];
81
+ for (N in w[E])
82
+ this.terminals_[N] && N > ot && B.push("'" + this.terminals_[N] + "'");
83
+ x.showPosition ? O = "Parse error on line " + (R + 1) + `:
84
+ ` + x.showPosition() + `
85
+ Expecting ` + B.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : O = "Parse error on line " + (R + 1) + ": Unexpected " + (_ == J ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(O, {
86
+ text: x.match,
87
+ token: this.terminals_[_] || _,
88
+ line: x.yylineno,
89
+ loc: Y,
90
+ expected: B
91
+ });
92
+ }
93
+ if (b[0] instanceof Array && b.length > 1)
94
+ throw new Error("Parse Error: multiple actions possible at state: " + E + ", token: " + _);
95
+ switch (b[0]) {
96
+ case 1:
97
+ a.push(_), d.push(x.yytext), l.push(x.yylloc), a.push(b[1]), _ = null, Z = x.yyleng, k = x.yytext, R = x.yylineno, Y = x.yylloc;
98
+ break;
99
+ case 2:
100
+ if ($ = this.productions_[b[1]][1], A.$ = d[d.length - $], A._$ = {
101
+ first_line: l[l.length - ($ || 1)].first_line,
102
+ last_line: l[l.length - 1].last_line,
103
+ first_column: l[l.length - ($ || 1)].first_column,
104
+ last_column: l[l.length - 1].last_column
105
+ }, ht && (A._$.range = [
106
+ l[l.length - ($ || 1)].range[0],
107
+ l[l.length - 1].range[1]
108
+ ]), q = this.performAction.apply(A, [
109
+ k,
110
+ Z,
111
+ R,
112
+ S.yy,
113
+ b[1],
114
+ d,
115
+ l
116
+ ].concat(ct)), typeof q < "u")
117
+ return q;
118
+ $ && (a = a.slice(0, -1 * $ * 2), d = d.slice(0, -1 * $), l = l.slice(0, -1 * $)), a.push(this.productions_[b[1]][0]), d.push(A.$), l.push(A._$), K = w[a[a.length - 2]][a[a.length - 1]], a.push(K);
119
+ break;
120
+ case 3:
121
+ return !0;
122
+ }
123
+ }
124
+ return !0;
125
+ }
126
+ }, m = /* @__PURE__ */ function() {
127
+ var p = {
128
+ EOF: 1,
129
+ parseError: function(r, a) {
130
+ if (this.yy.parser)
131
+ this.yy.parser.parseError(r, a);
132
+ else
133
+ throw new Error(r);
134
+ },
135
+ // resets the lexer, sets new input
136
+ setInput: function(n, r) {
137
+ return this.yy = r || this.yy || {}, this._input = n, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
138
+ first_line: 1,
139
+ first_column: 0,
140
+ last_line: 1,
141
+ last_column: 0
142
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
143
+ },
144
+ // consumes and returns one char from the input
145
+ input: function() {
146
+ var n = this._input[0];
147
+ this.yytext += n, this.yyleng++, this.offset++, this.match += n, this.matched += n;
148
+ var r = n.match(/(?:\r\n?|\n).*/g);
149
+ return r ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), n;
150
+ },
151
+ // unshifts one char (or a string) into the input
152
+ unput: function(n) {
153
+ var r = n.length, a = n.split(/(?:\r\n?|\n)/g);
154
+ this._input = n + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - r), this.offset -= r;
155
+ var u = this.match.split(/(?:\r\n?|\n)/g);
156
+ 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);
157
+ var d = this.yylloc.range;
158
+ return this.yylloc = {
159
+ first_line: this.yylloc.first_line,
160
+ last_line: this.yylineno + 1,
161
+ first_column: this.yylloc.first_column,
162
+ last_column: a ? (a.length === u.length ? this.yylloc.first_column : 0) + u[u.length - a.length].length - a[0].length : this.yylloc.first_column - r
163
+ }, this.options.ranges && (this.yylloc.range = [d[0], d[0] + this.yyleng - r]), this.yyleng = this.yytext.length, this;
164
+ },
165
+ // When called from action, caches matched text and appends it on next action
166
+ more: function() {
167
+ return this._more = !0, this;
168
+ },
169
+ // 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.
170
+ reject: function() {
171
+ if (this.options.backtrack_lexer)
172
+ this._backtrack = !0;
173
+ else
174
+ 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).
175
+ ` + this.showPosition(), {
176
+ text: "",
177
+ token: null,
178
+ line: this.yylineno
179
+ });
180
+ return this;
181
+ },
182
+ // retain first n characters of the match
183
+ less: function(n) {
184
+ this.unput(this.match.slice(n));
185
+ },
186
+ // displays already matched input, i.e. for error messages
187
+ pastInput: function() {
188
+ var n = this.matched.substr(0, this.matched.length - this.match.length);
189
+ return (n.length > 20 ? "..." : "") + n.substr(-20).replace(/\n/g, "");
190
+ },
191
+ // displays upcoming input, i.e. for error messages
192
+ upcomingInput: function() {
193
+ var n = this.match;
194
+ return n.length < 20 && (n += this._input.substr(0, 20 - n.length)), (n.substr(0, 20) + (n.length > 20 ? "..." : "")).replace(/\n/g, "");
195
+ },
196
+ // displays the character position where the lexing error occurred, i.e. for error messages
197
+ showPosition: function() {
198
+ var n = this.pastInput(), r = new Array(n.length + 1).join("-");
199
+ return n + this.upcomingInput() + `
200
+ ` + r + "^";
201
+ },
202
+ // test the lexed token: return FALSE when not a match, otherwise return token
203
+ test_match: function(n, r) {
204
+ var a, u, d;
205
+ if (this.options.backtrack_lexer && (d = {
206
+ yylineno: this.yylineno,
207
+ yylloc: {
208
+ first_line: this.yylloc.first_line,
209
+ last_line: this.last_line,
210
+ first_column: this.yylloc.first_column,
211
+ last_column: this.yylloc.last_column
212
+ },
213
+ yytext: this.yytext,
214
+ match: this.match,
215
+ matches: this.matches,
216
+ matched: this.matched,
217
+ yyleng: this.yyleng,
218
+ offset: this.offset,
219
+ _more: this._more,
220
+ _input: this._input,
221
+ yy: this.yy,
222
+ conditionStack: this.conditionStack.slice(0),
223
+ done: this.done
224
+ }, this.options.ranges && (d.yylloc.range = this.yylloc.range.slice(0))), u = n[0].match(/(?:\r\n?|\n).*/g), u && (this.yylineno += u.length), this.yylloc = {
225
+ first_line: this.yylloc.last_line,
226
+ last_line: this.yylineno + 1,
227
+ first_column: this.yylloc.last_column,
228
+ last_column: u ? u[u.length - 1].length - u[u.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + n[0].length
229
+ }, this.yytext += n[0], this.match += n[0], this.matches = n, 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(n[0].length), this.matched += n[0], a = this.performAction.call(this, this.yy, this, r, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), a)
230
+ return a;
231
+ if (this._backtrack) {
232
+ for (var l in d)
233
+ this[l] = d[l];
234
+ return !1;
235
+ }
236
+ return !1;
237
+ },
238
+ // return next match in input
239
+ next: function() {
240
+ if (this.done)
241
+ return this.EOF;
242
+ this._input || (this.done = !0);
243
+ var n, r, a, u;
244
+ this._more || (this.yytext = "", this.match = "");
245
+ for (var d = this._currentRules(), l = 0; l < d.length; l++)
246
+ if (a = this._input.match(this.rules[d[l]]), a && (!r || a[0].length > r[0].length)) {
247
+ if (r = a, u = l, this.options.backtrack_lexer) {
248
+ if (n = this.test_match(a, d[l]), n !== !1)
249
+ return n;
250
+ if (this._backtrack) {
251
+ r = !1;
252
+ continue;
253
+ } else
254
+ return !1;
255
+ } else if (!this.options.flex)
256
+ break;
257
+ }
258
+ return r ? (n = this.test_match(r, d[u]), n !== !1 ? n : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
259
+ ` + this.showPosition(), {
260
+ text: "",
261
+ token: null,
262
+ line: this.yylineno
263
+ });
264
+ },
265
+ // return next match that has a token
266
+ lex: function() {
267
+ var r = this.next();
268
+ return r || this.lex();
269
+ },
270
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
271
+ begin: function(r) {
272
+ this.conditionStack.push(r);
273
+ },
274
+ // pop the previously active lexer condition state off the condition stack
275
+ popState: function() {
276
+ var r = this.conditionStack.length - 1;
277
+ return r > 0 ? this.conditionStack.pop() : this.conditionStack[0];
278
+ },
279
+ // produce the lexer rule set which is active for the currently active lexer condition state
280
+ _currentRules: function() {
281
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
282
+ },
283
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
284
+ topState: function(r) {
285
+ return r = this.conditionStack.length - 1 - Math.abs(r || 0), r >= 0 ? this.conditionStack[r] : "INITIAL";
286
+ },
287
+ // alias for begin(condition)
288
+ pushState: function(r) {
289
+ this.begin(r);
290
+ },
291
+ // return the number of states currently on the stack
292
+ stateStackSize: function() {
293
+ return this.conditionStack.length;
294
+ },
295
+ options: { "case-insensitive": !0 },
296
+ performAction: function(r, a, u, d) {
297
+ switch (u) {
298
+ case 0:
299
+ break;
300
+ case 1:
301
+ break;
302
+ case 2:
303
+ return 10;
304
+ case 3:
305
+ break;
306
+ case 4:
307
+ break;
308
+ case 5:
309
+ return 4;
310
+ case 6:
311
+ return 11;
312
+ case 7:
313
+ return this.begin("acc_title"), 12;
314
+ case 8:
315
+ return this.popState(), "acc_title_value";
316
+ case 9:
317
+ return this.begin("acc_descr"), 14;
318
+ case 10:
319
+ return this.popState(), "acc_descr_value";
320
+ case 11:
321
+ this.begin("acc_descr_multiline");
322
+ break;
323
+ case 12:
324
+ this.popState();
325
+ break;
326
+ case 13:
327
+ return "acc_descr_multiline_value";
328
+ case 14:
329
+ return 17;
330
+ case 15:
331
+ return 18;
332
+ case 16:
333
+ return 19;
334
+ case 17:
335
+ return ":";
336
+ case 18:
337
+ return 6;
338
+ case 19:
339
+ return "INVALID";
340
+ }
341
+ },
342
+ rules: [/^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:journey\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, /^(?:[^#:\n;]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],
343
+ conditions: { acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, acc_descr: { rules: [10], inclusive: !1 }, acc_title: { rules: [8], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], inclusive: !0 } }
344
+ };
345
+ return p;
346
+ }();
347
+ y.lexer = m;
348
+ function g() {
349
+ this.yy = {};
350
+ }
351
+ return g.prototype = y, y.Parser = g, new g();
352
+ }();
353
+ G.parser = G;
354
+ const wt = G;
355
+ let C = "";
356
+ const H = [], V = [], F = [], $t = function() {
357
+ H.length = 0, V.length = 0, C = "", F.length = 0, kt();
358
+ }, Tt = function(t) {
359
+ C = t, H.push(t);
360
+ }, Mt = function() {
361
+ return H;
362
+ }, St = function() {
363
+ let t = D();
364
+ const e = 100;
365
+ let i = 0;
366
+ for (; !t && i < e; )
367
+ t = D(), i++;
368
+ return V.push(...F), V;
369
+ }, Et = function() {
370
+ const t = [];
371
+ return V.forEach((i) => {
372
+ i.people && t.push(...i.people);
373
+ }), [...new Set(t)].sort();
374
+ }, Pt = function(t, e) {
375
+ const i = e.substr(1).split(":");
376
+ let o = 0, s = [];
377
+ i.length === 1 ? (o = Number(i[0]), s = []) : (o = Number(i[0]), s = i[1].split(","));
378
+ const h = s.map((f) => f.trim()), c = {
379
+ section: C,
380
+ type: C,
381
+ people: h,
382
+ task: t,
383
+ score: o
384
+ };
385
+ F.push(c);
386
+ }, It = function(t) {
387
+ const e = {
388
+ section: C,
389
+ type: C,
390
+ description: t,
391
+ task: t,
392
+ classes: []
393
+ };
394
+ V.push(e);
395
+ }, D = function() {
396
+ const t = function(i) {
397
+ return F[i].processed;
398
+ };
399
+ let e = !0;
400
+ for (const [i, o] of F.entries())
401
+ t(i), e = e && o.processed;
402
+ return e;
403
+ }, At = function() {
404
+ return Et();
405
+ }, tt = {
406
+ getConfig: () => I().journey,
407
+ clear: $t,
408
+ setDiagramTitle: mt,
409
+ getDiagramTitle: gt,
410
+ setAccTitle: pt,
411
+ getAccTitle: dt,
412
+ setAccDescription: ft,
413
+ getAccDescription: yt,
414
+ addSection: Tt,
415
+ getSections: Mt,
416
+ getTasks: St,
417
+ addTask: Pt,
418
+ addTaskOrg: It,
419
+ getActors: At
420
+ }, Ct = (t) => `.label {
421
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
422
+ font-family: var(--mermaid-font-family);
423
+ color: ${t.textColor};
424
+ }
425
+ .mouth {
426
+ stroke: #666;
427
+ }
428
+
429
+ line {
430
+ stroke: ${t.textColor}
431
+ }
432
+
433
+ .legend {
434
+ fill: ${t.textColor};
435
+ }
436
+
437
+ .label text {
438
+ fill: #333;
439
+ }
440
+ .label {
441
+ color: ${t.textColor}
442
+ }
443
+
444
+ .face {
445
+ ${t.faceColor ? `fill: ${t.faceColor}` : "fill: #FFF8DC"};
446
+ stroke: #999;
447
+ }
448
+
449
+ .node rect,
450
+ .node circle,
451
+ .node ellipse,
452
+ .node polygon,
453
+ .node path {
454
+ fill: ${t.mainBkg};
455
+ stroke: ${t.nodeBorder};
456
+ stroke-width: 1px;
457
+ }
458
+
459
+ .node .label {
460
+ text-align: center;
461
+ }
462
+ .node.clickable {
463
+ cursor: pointer;
464
+ }
465
+
466
+ .arrowheadPath {
467
+ fill: ${t.arrowheadColor};
468
+ }
469
+
470
+ .edgePath .path {
471
+ stroke: ${t.lineColor};
472
+ stroke-width: 1.5px;
473
+ }
474
+
475
+ .flowchart-link {
476
+ stroke: ${t.lineColor};
477
+ fill: none;
478
+ }
479
+
480
+ .edgeLabel {
481
+ background-color: ${t.edgeLabelBackground};
482
+ rect {
483
+ opacity: 0.5;
484
+ }
485
+ text-align: center;
486
+ }
487
+
488
+ .cluster rect {
489
+ }
490
+
491
+ .cluster text {
492
+ fill: ${t.titleColor};
493
+ }
494
+
495
+ div.mermaidTooltip {
496
+ position: absolute;
497
+ text-align: center;
498
+ max-width: 200px;
499
+ padding: 2px;
500
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
501
+ font-family: var(--mermaid-font-family);
502
+ font-size: 12px;
503
+ background: ${t.tertiaryColor};
504
+ border: 1px solid ${t.border2};
505
+ border-radius: 2px;
506
+ pointer-events: none;
507
+ z-index: 100;
508
+ }
509
+
510
+ .task-type-0, .section-type-0 {
511
+ ${t.fillType0 ? `fill: ${t.fillType0}` : ""};
512
+ }
513
+ .task-type-1, .section-type-1 {
514
+ ${t.fillType0 ? `fill: ${t.fillType1}` : ""};
515
+ }
516
+ .task-type-2, .section-type-2 {
517
+ ${t.fillType0 ? `fill: ${t.fillType2}` : ""};
518
+ }
519
+ .task-type-3, .section-type-3 {
520
+ ${t.fillType0 ? `fill: ${t.fillType3}` : ""};
521
+ }
522
+ .task-type-4, .section-type-4 {
523
+ ${t.fillType0 ? `fill: ${t.fillType4}` : ""};
524
+ }
525
+ .task-type-5, .section-type-5 {
526
+ ${t.fillType0 ? `fill: ${t.fillType5}` : ""};
527
+ }
528
+ .task-type-6, .section-type-6 {
529
+ ${t.fillType0 ? `fill: ${t.fillType6}` : ""};
530
+ }
531
+ .task-type-7, .section-type-7 {
532
+ ${t.fillType0 ? `fill: ${t.fillType7}` : ""};
533
+ }
534
+
535
+ .actor-0 {
536
+ ${t.actor0 ? `fill: ${t.actor0}` : ""};
537
+ }
538
+ .actor-1 {
539
+ ${t.actor1 ? `fill: ${t.actor1}` : ""};
540
+ }
541
+ .actor-2 {
542
+ ${t.actor2 ? `fill: ${t.actor2}` : ""};
543
+ }
544
+ .actor-3 {
545
+ ${t.actor3 ? `fill: ${t.actor3}` : ""};
546
+ }
547
+ .actor-4 {
548
+ ${t.actor4 ? `fill: ${t.actor4}` : ""};
549
+ }
550
+ .actor-5 {
551
+ ${t.actor5 ? `fill: ${t.actor5}` : ""};
552
+ }
553
+ `, Vt = Ct, U = function(t, e) {
554
+ return vt(t, e);
555
+ }, Ft = function(t, e) {
556
+ const o = t.append("circle").attr("cx", e.cx).attr("cy", e.cy).attr("class", "face").attr("r", 15).attr("stroke-width", 2).attr("overflow", "visible"), s = t.append("g");
557
+ s.append("circle").attr("cx", e.cx - 15 / 3).attr("cy", e.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"), s.append("circle").attr("cx", e.cx + 15 / 3).attr("cy", e.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666");
558
+ function h(y) {
559
+ const m = Q().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
560
+ y.append("path").attr("class", "mouth").attr("d", m).attr("transform", "translate(" + e.cx + "," + (e.cy + 2) + ")");
561
+ }
562
+ function c(y) {
563
+ const m = Q().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
564
+ y.append("path").attr("class", "mouth").attr("d", m).attr("transform", "translate(" + e.cx + "," + (e.cy + 7) + ")");
565
+ }
566
+ function f(y) {
567
+ y.append("line").attr("class", "mouth").attr("stroke", 2).attr("x1", e.cx - 5).attr("y1", e.cy + 7).attr("x2", e.cx + 5).attr("y2", e.cy + 7).attr("class", "mouth").attr("stroke-width", "1px").attr("stroke", "#666");
568
+ }
569
+ return e.score > 3 ? h(s) : e.score < 3 ? c(s) : f(s), o;
570
+ }, rt = function(t, e) {
571
+ const i = t.append("circle");
572
+ return i.attr("cx", e.cx), i.attr("cy", e.cy), i.attr("class", "actor-" + e.pos), i.attr("fill", e.fill), i.attr("stroke", e.stroke), i.attr("r", e.r), i.class !== void 0 && i.attr("class", i.class), e.title !== void 0 && i.append("title").text(e.title), i;
573
+ }, at = function(t, e) {
574
+ return bt(t, e);
575
+ }, Lt = function(t, e) {
576
+ function i(s, h, c, f, y) {
577
+ return s + "," + h + " " + (s + c) + "," + h + " " + (s + c) + "," + (h + f - y) + " " + (s + c - y * 1.2) + "," + (h + f) + " " + s + "," + (h + f);
578
+ }
579
+ const o = t.append("polygon");
580
+ o.attr("points", i(e.x, e.y, 50, 20, 7)), o.attr("class", "labelBox"), e.y = e.y + e.labelMargin, e.x = e.x + 0.5 * e.labelMargin, at(t, e);
581
+ }, Rt = function(t, e, i) {
582
+ const o = t.append("g"), s = it();
583
+ s.x = e.x, s.y = e.y, s.fill = e.fill, s.width = i.width * e.taskCount + // width of the tasks
584
+ i.diagramMarginX * (e.taskCount - 1), s.height = i.height, s.class = "journey-section section-type-" + e.num, s.rx = 3, s.ry = 3, U(o, s), lt(i)(
585
+ e.text,
586
+ o,
587
+ s.x,
588
+ s.y,
589
+ s.width,
590
+ s.height,
591
+ { class: "journey-section section-type-" + e.num },
592
+ i,
593
+ e.colour
594
+ );
595
+ };
596
+ let et = -1;
597
+ const Nt = function(t, e, i) {
598
+ const o = e.x + i.width / 2, s = t.append("g");
599
+ et++;
600
+ const h = 300 + 5 * 30;
601
+ s.append("line").attr("id", "task" + et).attr("x1", o).attr("y1", e.y).attr("x2", o).attr("y2", h).attr("class", "task-line").attr("stroke-width", "1px").attr("stroke-dasharray", "4 2").attr("stroke", "#666"), Ft(s, {
602
+ cx: o,
603
+ cy: 300 + (5 - e.score) * 30,
604
+ score: e.score
605
+ });
606
+ const c = it();
607
+ c.x = e.x, c.y = e.y, c.fill = e.fill, c.width = i.width, c.height = i.height, c.class = "task task-type-" + e.num, c.rx = 3, c.ry = 3, U(s, c);
608
+ let f = e.x + 14;
609
+ e.people.forEach((y) => {
610
+ const m = e.actors[y].color, g = {
611
+ cx: f,
612
+ cy: e.y,
613
+ r: 7,
614
+ fill: m,
615
+ stroke: "#000",
616
+ title: y,
617
+ pos: e.actors[y].position
618
+ };
619
+ rt(s, g), f += 10;
620
+ }), lt(i)(
621
+ e.task,
622
+ s,
623
+ c.x,
624
+ c.y,
625
+ c.width,
626
+ c.height,
627
+ { class: "task" },
628
+ i,
629
+ e.colour
630
+ );
631
+ }, Bt = function(t, e) {
632
+ _t(t, e);
633
+ }, lt = /* @__PURE__ */ function() {
634
+ function t(s, h, c, f, y, m, g, p) {
635
+ const n = h.append("text").attr("x", c + y / 2).attr("y", f + m / 2 + 5).style("font-color", p).style("text-anchor", "middle").text(s);
636
+ o(n, g);
637
+ }
638
+ function e(s, h, c, f, y, m, g, p, n) {
639
+ const { taskFontSize: r, taskFontFamily: a } = p, u = s.split(/<br\s*\/?>/gi);
640
+ for (let d = 0; d < u.length; d++) {
641
+ const l = d * r - r * (u.length - 1) / 2, w = h.append("text").attr("x", c + y / 2).attr("y", f).attr("fill", n).style("text-anchor", "middle").style("font-size", r).style("font-family", a);
642
+ w.append("tspan").attr("x", c + y / 2).attr("dy", l).text(u[d]), w.attr("y", f + m / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), o(w, g);
643
+ }
644
+ }
645
+ function i(s, h, c, f, y, m, g, p) {
646
+ const n = h.append("switch"), a = n.append("foreignObject").attr("x", c).attr("y", f).attr("width", y).attr("height", m).attr("position", "fixed").append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%");
647
+ a.append("div").attr("class", "label").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(s), e(s, n, c, f, y, m, g, p), o(a, g);
648
+ }
649
+ function o(s, h) {
650
+ for (const c in h)
651
+ c in h && s.attr(c, h[c]);
652
+ }
653
+ return function(s) {
654
+ return s.textPlacement === "fo" ? i : s.textPlacement === "old" ? t : e;
655
+ };
656
+ }(), jt = function(t) {
657
+ t.append("defs").append("marker").attr("id", "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");
658
+ }, L = {
659
+ drawRect: U,
660
+ drawCircle: rt,
661
+ drawSection: Rt,
662
+ drawText: at,
663
+ drawLabel: Lt,
664
+ drawTask: Nt,
665
+ drawBackgroundRect: Bt,
666
+ initGraphics: jt
667
+ }, zt = function(t) {
668
+ Object.keys(t).forEach(function(i) {
669
+ j[i] = t[i];
670
+ });
671
+ }, M = {};
672
+ function Yt(t) {
673
+ const e = I().journey;
674
+ let i = 60;
675
+ Object.keys(M).forEach((o) => {
676
+ const s = M[o].color, h = {
677
+ cx: 20,
678
+ cy: i,
679
+ r: 7,
680
+ fill: s,
681
+ stroke: "#000",
682
+ pos: M[o].position
683
+ };
684
+ L.drawCircle(t, h);
685
+ const c = {
686
+ x: 40,
687
+ y: i + 7,
688
+ fill: "#666",
689
+ text: o,
690
+ textMargin: e.boxTextMargin | 5
691
+ };
692
+ L.drawText(t, c), i += 20;
693
+ });
694
+ }
695
+ const j = I().journey, P = j.leftMargin, qt = function(t, e, i, o) {
696
+ const s = I().journey, h = I().securityLevel;
697
+ let c;
698
+ h === "sandbox" && (c = W("#i" + e));
699
+ const f = h === "sandbox" ? W(c.nodes()[0].contentDocument.body) : W("body");
700
+ v.init();
701
+ const y = f.select("#" + e);
702
+ L.initGraphics(y);
703
+ const m = o.db.getTasks(), g = o.db.getDiagramTitle(), p = o.db.getActors();
704
+ for (const l in M)
705
+ delete M[l];
706
+ let n = 0;
707
+ p.forEach((l) => {
708
+ M[l] = {
709
+ color: s.actorColours[n % s.actorColours.length],
710
+ position: n
711
+ }, n++;
712
+ }), Yt(y), v.insert(0, 0, P, Object.keys(M).length * 50), Ot(y, m, 0);
713
+ const r = v.getBounds();
714
+ g && y.append("text").text(g).attr("x", P).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 25);
715
+ const a = r.stopy - r.starty + 2 * s.diagramMarginY, u = P + r.stopx + 2 * s.diagramMarginX;
716
+ xt(y, a, u, s.useMaxWidth), y.append("line").attr("x1", P).attr("y1", s.height * 4).attr("x2", u - P - 4).attr("y2", s.height * 4).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", "url(#arrowhead)");
717
+ const d = g ? 70 : 0;
718
+ y.attr("viewBox", `${r.startx} -25 ${u} ${a + d}`), y.attr("preserveAspectRatio", "xMinYMin meet"), y.attr("height", a + d + 25);
719
+ }, v = {
720
+ data: {
721
+ startx: void 0,
722
+ stopx: void 0,
723
+ starty: void 0,
724
+ stopy: void 0
725
+ },
726
+ verticalPos: 0,
727
+ sequenceItems: [],
728
+ init: function() {
729
+ this.sequenceItems = [], this.data = {
730
+ startx: void 0,
731
+ stopx: void 0,
732
+ starty: void 0,
733
+ stopy: void 0
734
+ }, this.verticalPos = 0;
735
+ },
736
+ updateVal: function(t, e, i, o) {
737
+ t[e] === void 0 ? t[e] = i : t[e] = o(i, t[e]);
738
+ },
739
+ updateBounds: function(t, e, i, o) {
740
+ const s = I().journey, h = this;
741
+ let c = 0;
742
+ function f(y) {
743
+ return function(g) {
744
+ c++;
745
+ const p = h.sequenceItems.length - c + 1;
746
+ h.updateVal(g, "starty", e - p * s.boxMargin, Math.min), h.updateVal(g, "stopy", o + p * s.boxMargin, Math.max), h.updateVal(v.data, "startx", t - p * s.boxMargin, Math.min), h.updateVal(v.data, "stopx", i + p * s.boxMargin, Math.max), h.updateVal(g, "startx", t - p * s.boxMargin, Math.min), h.updateVal(g, "stopx", i + p * s.boxMargin, Math.max), h.updateVal(v.data, "starty", e - p * s.boxMargin, Math.min), h.updateVal(v.data, "stopy", o + p * s.boxMargin, Math.max);
747
+ };
748
+ }
749
+ this.sequenceItems.forEach(f());
750
+ },
751
+ insert: function(t, e, i, o) {
752
+ const s = Math.min(t, i), h = Math.max(t, i), c = Math.min(e, o), f = Math.max(e, o);
753
+ this.updateVal(v.data, "startx", s, Math.min), this.updateVal(v.data, "starty", c, Math.min), this.updateVal(v.data, "stopx", h, Math.max), this.updateVal(v.data, "stopy", f, Math.max), this.updateBounds(s, c, h, f);
754
+ },
755
+ bumpVerticalPos: function(t) {
756
+ this.verticalPos = this.verticalPos + t, this.data.stopy = this.verticalPos;
757
+ },
758
+ getVerticalPos: function() {
759
+ return this.verticalPos;
760
+ },
761
+ getBounds: function() {
762
+ return this.data;
763
+ }
764
+ }, X = j.sectionFills, nt = j.sectionColours, Ot = function(t, e, i) {
765
+ const o = I().journey;
766
+ let s = "";
767
+ const h = o.height * 2 + o.diagramMarginY, c = i + h;
768
+ let f = 0, y = "#CCC", m = "black", g = 0;
769
+ for (const [p, n] of e.entries()) {
770
+ if (s !== n.section) {
771
+ y = X[f % X.length], g = f % X.length, m = nt[f % nt.length];
772
+ let a = 0;
773
+ const u = n.section;
774
+ for (let l = p; l < e.length && e[l].section == u; l++)
775
+ a = a + 1;
776
+ const d = {
777
+ x: p * o.taskMargin + p * o.width + P,
778
+ y: 50,
779
+ text: n.section,
780
+ fill: y,
781
+ num: g,
782
+ colour: m,
783
+ taskCount: a
784
+ };
785
+ L.drawSection(t, d, o), s = n.section, f++;
786
+ }
787
+ const r = n.people.reduce((a, u) => (M[u] && (a[u] = M[u]), a), {});
788
+ n.x = p * o.taskMargin + p * o.width + P, n.y = c, n.width = o.diagramMarginX, n.height = o.diagramMarginY, n.colour = m, n.fill = y, n.num = g, n.actors = r, L.drawTask(t, n, o), v.insert(n.x, n.y, n.x + n.width + o.taskMargin, 300 + 5 * 30);
789
+ }
790
+ }, st = {
791
+ setConf: zt,
792
+ draw: qt
793
+ }, Ut = {
794
+ parser: wt,
795
+ db: tt,
796
+ renderer: st,
797
+ styles: Vt,
798
+ init: (t) => {
799
+ st.setConf(t.journey), tt.clear();
800
+ }
801
+ };
802
+ export {
803
+ Ut as diagram
804
+ };