@readme/markdown 11.1.0 → 11.1.2

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 (129) hide show
  1. package/components/Code/index.tsx +4 -3
  2. package/components/CodeTabs/index.tsx +5 -2
  3. package/dist/10.node.js +419 -207
  4. package/dist/10.node.js.map +1 -1
  5. package/dist/101.node.js +23 -0
  6. package/dist/101.node.js.map +1 -0
  7. package/dist/109.node.js +63 -0
  8. package/dist/109.node.js.map +1 -0
  9. package/dist/197.node.js +63 -0
  10. package/dist/197.node.js.map +1 -0
  11. package/dist/213.node.js +23 -0
  12. package/dist/213.node.js.map +1 -0
  13. package/dist/{580.node.js → 259.node.js} +98 -79
  14. package/dist/259.node.js.map +1 -0
  15. package/dist/339.node.js +4 -4
  16. package/dist/{912.node.js → 356.node.js} +154 -150
  17. package/dist/356.node.js.map +1 -0
  18. package/dist/357.node.js +1352 -0
  19. package/dist/357.node.js.map +1 -0
  20. package/dist/387.node.js +23 -0
  21. package/dist/387.node.js.map +1 -0
  22. package/dist/398.node.js +63 -0
  23. package/dist/398.node.js.map +1 -0
  24. package/dist/{805.node.js → 405.node.js} +110 -91
  25. package/dist/405.node.js.map +1 -0
  26. package/dist/{23.node.js → 434.node.js} +178 -118
  27. package/dist/434.node.js.map +1 -0
  28. package/dist/{550.node.js → 470.node.js} +105 -80
  29. package/dist/470.node.js.map +1 -0
  30. package/dist/{870.node.js → 474.node.js} +84 -77
  31. package/dist/474.node.js.map +1 -0
  32. package/dist/{649.node.js → 483.node.js} +70 -67
  33. package/dist/483.node.js.map +1 -0
  34. package/dist/486.node.js +23865 -25247
  35. package/dist/486.node.js.map +1 -1
  36. package/dist/{982.node.js → 524.node.js} +124 -88
  37. package/dist/524.node.js.map +1 -0
  38. package/dist/53.node.js +506 -0
  39. package/dist/53.node.js.map +1 -0
  40. package/dist/{898.node.js → 561.node.js} +54 -52
  41. package/dist/561.node.js.map +1 -0
  42. package/dist/579.node.js +23 -0
  43. package/dist/579.node.js.map +1 -0
  44. package/dist/{881.node.js → 680.node.js} +202 -142
  45. package/dist/680.node.js.map +1 -0
  46. package/dist/{915.node.js → 7.node.js} +265 -1210
  47. package/dist/7.node.js.map +1 -0
  48. package/dist/{188.node.js → 705.node.js} +135 -132
  49. package/dist/705.node.js.map +1 -0
  50. package/dist/713.node.js +23 -0
  51. package/dist/713.node.js.map +1 -0
  52. package/dist/{135.node.js → 720.node.js} +230 -138
  53. package/dist/720.node.js.map +1 -0
  54. package/dist/{364.node.js → 763.node.js} +488 -432
  55. package/dist/763.node.js.map +1 -0
  56. package/dist/{572.node.js → 828.node.js} +229 -185
  57. package/dist/828.node.js.map +1 -0
  58. package/dist/{311.node.js → 834.node.js} +106 -104
  59. package/dist/834.node.js.map +1 -0
  60. package/dist/{359.node.js → 863.node.js} +290 -236
  61. package/dist/863.node.js.map +1 -0
  62. package/dist/872.node.js +630 -0
  63. package/dist/872.node.js.map +1 -0
  64. package/dist/879.node.js +61 -0
  65. package/dist/879.node.js.map +1 -0
  66. package/dist/{371.node.js → 880.node.js} +401 -400
  67. package/dist/880.node.js.map +1 -0
  68. package/dist/{214.node.js → 894.node.js} +116 -114
  69. package/dist/894.node.js.map +1 -0
  70. package/dist/{890.node.js → 90.node.js} +134 -129
  71. package/dist/90.node.js.map +1 -0
  72. package/dist/{855.node.js → 901.node.js} +510 -522
  73. package/dist/901.node.js.map +1 -0
  74. package/dist/903.node.js +23 -0
  75. package/dist/903.node.js.map +1 -0
  76. package/dist/{38.node.js → 929.node.js} +920 -442
  77. package/dist/929.node.js.map +1 -0
  78. package/dist/941.node.js +23 -0
  79. package/dist/941.node.js.map +1 -0
  80. package/dist/995.node.js +2 -2
  81. package/dist/hooks/useHydrated/index.d.ts +6 -0
  82. package/dist/main.js +28 -10
  83. package/dist/main.node.js +34 -8
  84. package/dist/main.node.js.map +1 -1
  85. package/package.json +2 -2
  86. package/dist/122.node.js +0 -23
  87. package/dist/122.node.js.map +0 -1
  88. package/dist/135.node.js.map +0 -1
  89. package/dist/136.node.js +0 -23
  90. package/dist/136.node.js.map +0 -1
  91. package/dist/188.node.js.map +0 -1
  92. package/dist/214.node.js.map +0 -1
  93. package/dist/23.node.js.map +0 -1
  94. package/dist/311.node.js.map +0 -1
  95. package/dist/354.node.js +0 -23
  96. package/dist/354.node.js.map +0 -1
  97. package/dist/359.node.js.map +0 -1
  98. package/dist/364.node.js.map +0 -1
  99. package/dist/371.node.js.map +0 -1
  100. package/dist/38.node.js.map +0 -1
  101. package/dist/391.node.js +0 -522
  102. package/dist/391.node.js.map +0 -1
  103. package/dist/462.node.js +0 -23
  104. package/dist/462.node.js.map +0 -1
  105. package/dist/48.node.js +0 -57
  106. package/dist/48.node.js.map +0 -1
  107. package/dist/537.node.js +0 -59
  108. package/dist/537.node.js.map +0 -1
  109. package/dist/550.node.js.map +0 -1
  110. package/dist/572.node.js.map +0 -1
  111. package/dist/580.node.js.map +0 -1
  112. package/dist/649.node.js.map +0 -1
  113. package/dist/740.node.js +0 -23
  114. package/dist/740.node.js.map +0 -1
  115. package/dist/741.node.js +0 -23
  116. package/dist/741.node.js.map +0 -1
  117. package/dist/779.node.js +0 -57
  118. package/dist/779.node.js.map +0 -1
  119. package/dist/805.node.js.map +0 -1
  120. package/dist/855.node.js.map +0 -1
  121. package/dist/870.node.js.map +0 -1
  122. package/dist/874.node.js +0 -57
  123. package/dist/874.node.js.map +0 -1
  124. package/dist/881.node.js.map +0 -1
  125. package/dist/890.node.js.map +0 -1
  126. package/dist/898.node.js.map +0 -1
  127. package/dist/912.node.js.map +0 -1
  128. package/dist/915.node.js.map +0 -1
  129. package/dist/982.node.js.map +0 -1
@@ -1,9 +1,36 @@
1
1
  "use strict";
2
- exports.id = 855;
3
- exports.ids = [855];
2
+ exports.id = 901;
3
+ exports.ids = [901];
4
4
  exports.modules = {
5
5
 
6
- /***/ 8855:
6
+ /***/ 6884:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ A: () => (/* binding */ getDiagramElement)
11
+ /* harmony export */ });
12
+ /* harmony import */ var _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(416);
13
+ /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(796);
14
+
15
+
16
+ // src/rendering-util/insertElementsForSize.js
17
+
18
+ var getDiagramElement = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_0__/* .__name */ .K2)((id, securityLevel) => {
19
+ let sandboxElement;
20
+ if (securityLevel === "sandbox") {
21
+ sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)("#i" + id);
22
+ }
23
+ const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)("body");
24
+ const svg = root.select(`[id="${id}"]`);
25
+ return svg;
26
+ }, "getDiagramElement");
27
+
28
+
29
+
30
+
31
+ /***/ }),
32
+
33
+ /***/ 6901:
7
34
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
35
 
9
36
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -12,29 +39,33 @@ exports.modules = {
12
39
  /* harmony export */ tM: () => (/* binding */ styles_default),
13
40
  /* harmony export */ u4: () => (/* binding */ StateDB)
14
41
  /* harmony export */ });
15
- /* harmony import */ var _chunk_RZ5BOZE2_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5051);
16
- /* harmony import */ var _chunk_TYCBKAJE_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4065);
17
- /* harmony import */ var _chunk_O4NI6UNU_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8430);
18
- /* harmony import */ var _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3804);
42
+ /* harmony import */ var _chunk_55IACEB6_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6884);
43
+ /* harmony import */ var _chunk_QN33PNHL_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7925);
44
+ /* harmony import */ var _chunk_N4CR4FBY_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8188);
45
+ /* harmony import */ var _chunk_S3R3BYOJ_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9131);
46
+ /* harmony import */ var _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6399);
47
+ /* harmony import */ var _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(416);
48
+
49
+
19
50
 
20
51
 
21
52
 
22
53
 
23
54
 
24
55
  // src/diagrams/state/parser/stateDiagram.jison
25
- var parser = function() {
26
- var o = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(k, v, o2, l) {
56
+ var parser = (function() {
57
+ var o = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(k, v, o2, l) {
27
58
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
28
59
  return o2;
29
- }, "o"), $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 16], $V7 = [1, 17], $V8 = [1, 18], $V9 = [1, 19], $Va = [1, 32], $Vb = [1, 20], $Vc = [1, 21], $Vd = [1, 22], $Ve = [1, 23], $Vf = [1, 24], $Vg = [1, 26], $Vh = [1, 27], $Vi = [1, 28], $Vj = [1, 29], $Vk = [1, 30], $Vl = [1, 31], $Vm = [1, 34], $Vn = [1, 35], $Vo = [1, 36], $Vp = [1, 37], $Vq = [1, 33], $Vr = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vs = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vt = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54];
60
+ }, "o"), $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 16], $V7 = [1, 17], $V8 = [1, 18], $V9 = [1, 19], $Va = [1, 33], $Vb = [1, 20], $Vc = [1, 21], $Vd = [1, 22], $Ve = [1, 23], $Vf = [1, 24], $Vg = [1, 26], $Vh = [1, 27], $Vi = [1, 28], $Vj = [1, 29], $Vk = [1, 30], $Vl = [1, 31], $Vm = [1, 32], $Vn = [1, 35], $Vo = [1, 36], $Vp = [1, 37], $Vq = [1, 38], $Vr = [1, 34], $Vs = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 41, 45, 48, 51, 52, 53, 54, 57], $Vt = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 39, 40, 41, 45, 48, 51, 52, 53, 54, 57], $Vu = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 41, 45, 48, 51, 52, 53, 54, 57];
30
61
  var parser2 = {
31
- trace: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function trace() {
62
+ trace: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function trace() {
32
63
  }, "trace"),
33
64
  yy: {},
34
- symbols_: { "error": 2, "start": 3, "SPACE": 4, "NL": 5, "SD": 6, "document": 7, "line": 8, "statement": 9, "classDefStatement": 10, "styleStatement": 11, "cssClassStatement": 12, "idStatement": 13, "DESCR": 14, "-->": 15, "HIDE_EMPTY": 16, "scale": 17, "WIDTH": 18, "COMPOSIT_STATE": 19, "STRUCT_START": 20, "STRUCT_STOP": 21, "STATE_DESCR": 22, "AS": 23, "ID": 24, "FORK": 25, "JOIN": 26, "CHOICE": 27, "CONCURRENT": 28, "note": 29, "notePosition": 30, "NOTE_TEXT": 31, "direction": 32, "acc_title": 33, "acc_title_value": 34, "acc_descr": 35, "acc_descr_value": 36, "acc_descr_multiline_value": 37, "classDef": 38, "CLASSDEF_ID": 39, "CLASSDEF_STYLEOPTS": 40, "DEFAULT": 41, "style": 42, "STYLE_IDS": 43, "STYLEDEF_STYLEOPTS": 44, "class": 45, "CLASSENTITY_IDS": 46, "STYLECLASS": 47, "direction_tb": 48, "direction_bt": 49, "direction_rl": 50, "direction_lr": 51, "eol": 52, ";": 53, "EDGE_STATE": 54, "STYLE_SEPARATOR": 55, "left_of": 56, "right_of": 57, "$accept": 0, "$end": 1 },
35
- terminals_: { 2: "error", 4: "SPACE", 5: "NL", 6: "SD", 14: "DESCR", 15: "-->", 16: "HIDE_EMPTY", 17: "scale", 18: "WIDTH", 19: "COMPOSIT_STATE", 20: "STRUCT_START", 21: "STRUCT_STOP", 22: "STATE_DESCR", 23: "AS", 24: "ID", 25: "FORK", 26: "JOIN", 27: "CHOICE", 28: "CONCURRENT", 29: "note", 31: "NOTE_TEXT", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 38: "classDef", 39: "CLASSDEF_ID", 40: "CLASSDEF_STYLEOPTS", 41: "DEFAULT", 42: "style", 43: "STYLE_IDS", 44: "STYLEDEF_STYLEOPTS", 45: "class", 46: "CLASSENTITY_IDS", 47: "STYLECLASS", 48: "direction_tb", 49: "direction_bt", 50: "direction_rl", 51: "direction_lr", 53: ";", 54: "EDGE_STATE", 55: "STYLE_SEPARATOR", 56: "left_of", 57: "right_of" },
36
- productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [10, 3], [10, 3], [11, 3], [12, 3], [32, 1], [32, 1], [32, 1], [32, 1], [52, 1], [52, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1]],
37
- performAction: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
65
+ symbols_: { "error": 2, "start": 3, "SPACE": 4, "NL": 5, "SD": 6, "document": 7, "line": 8, "statement": 9, "classDefStatement": 10, "styleStatement": 11, "cssClassStatement": 12, "idStatement": 13, "DESCR": 14, "-->": 15, "HIDE_EMPTY": 16, "scale": 17, "WIDTH": 18, "COMPOSIT_STATE": 19, "STRUCT_START": 20, "STRUCT_STOP": 21, "STATE_DESCR": 22, "AS": 23, "ID": 24, "FORK": 25, "JOIN": 26, "CHOICE": 27, "CONCURRENT": 28, "note": 29, "notePosition": 30, "NOTE_TEXT": 31, "direction": 32, "acc_title": 33, "acc_title_value": 34, "acc_descr": 35, "acc_descr_value": 36, "acc_descr_multiline_value": 37, "CLICK": 38, "STRING": 39, "HREF": 40, "classDef": 41, "CLASSDEF_ID": 42, "CLASSDEF_STYLEOPTS": 43, "DEFAULT": 44, "style": 45, "STYLE_IDS": 46, "STYLEDEF_STYLEOPTS": 47, "class": 48, "CLASSENTITY_IDS": 49, "STYLECLASS": 50, "direction_tb": 51, "direction_bt": 52, "direction_rl": 53, "direction_lr": 54, "eol": 55, ";": 56, "EDGE_STATE": 57, "STYLE_SEPARATOR": 58, "left_of": 59, "right_of": 60, "$accept": 0, "$end": 1 },
66
+ terminals_: { 2: "error", 4: "SPACE", 5: "NL", 6: "SD", 14: "DESCR", 15: "-->", 16: "HIDE_EMPTY", 17: "scale", 18: "WIDTH", 19: "COMPOSIT_STATE", 20: "STRUCT_START", 21: "STRUCT_STOP", 22: "STATE_DESCR", 23: "AS", 24: "ID", 25: "FORK", 26: "JOIN", 27: "CHOICE", 28: "CONCURRENT", 29: "note", 31: "NOTE_TEXT", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 38: "CLICK", 39: "STRING", 40: "HREF", 41: "classDef", 42: "CLASSDEF_ID", 43: "CLASSDEF_STYLEOPTS", 44: "DEFAULT", 45: "style", 46: "STYLE_IDS", 47: "STYLEDEF_STYLEOPTS", 48: "class", 49: "CLASSENTITY_IDS", 50: "STYLECLASS", 51: "direction_tb", 52: "direction_bt", 53: "direction_rl", 54: "direction_lr", 56: ";", 57: "EDGE_STATE", 58: "STYLE_SEPARATOR", 59: "left_of", 60: "right_of" },
67
+ productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [9, 5], [9, 5], [10, 3], [10, 3], [11, 3], [12, 3], [32, 1], [32, 1], [32, 1], [32, 1], [55, 1], [55, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1]],
68
+ performAction: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
38
69
  var $0 = $$.length - 1;
39
70
  switch (yystate) {
40
71
  case 3:
@@ -113,46 +144,62 @@ var parser = function() {
113
144
  yy.setAccDescription(this.$);
114
145
  break;
115
146
  case 32:
147
+ this.$ = {
148
+ stmt: "click",
149
+ id: $$[$0 - 3],
150
+ url: $$[$0 - 2],
151
+ tooltip: $$[$0 - 1]
152
+ };
153
+ break;
116
154
  case 33:
117
- this.$ = { stmt: "classDef", id: $$[$0 - 1].trim(), classes: $$[$0].trim() };
155
+ this.$ = {
156
+ stmt: "click",
157
+ id: $$[$0 - 3],
158
+ url: $$[$0 - 1],
159
+ tooltip: ""
160
+ };
118
161
  break;
119
162
  case 34:
163
+ case 35:
164
+ this.$ = { stmt: "classDef", id: $$[$0 - 1].trim(), classes: $$[$0].trim() };
165
+ break;
166
+ case 36:
120
167
  this.$ = { stmt: "style", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };
121
168
  break;
122
- case 35:
169
+ case 37:
123
170
  this.$ = { stmt: "applyClass", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };
124
171
  break;
125
- case 36:
172
+ case 38:
126
173
  yy.setDirection("TB");
127
174
  this.$ = { stmt: "dir", value: "TB" };
128
175
  break;
129
- case 37:
176
+ case 39:
130
177
  yy.setDirection("BT");
131
178
  this.$ = { stmt: "dir", value: "BT" };
132
179
  break;
133
- case 38:
180
+ case 40:
134
181
  yy.setDirection("RL");
135
182
  this.$ = { stmt: "dir", value: "RL" };
136
183
  break;
137
- case 39:
184
+ case 41:
138
185
  yy.setDirection("LR");
139
186
  this.$ = { stmt: "dir", value: "LR" };
140
187
  break;
141
- case 42:
142
- case 43:
188
+ case 44:
189
+ case 45:
143
190
  this.$ = { stmt: "state", id: $$[$0].trim(), type: "default", description: "" };
144
191
  break;
145
- case 44:
192
+ case 46:
146
193
  this.$ = { stmt: "state", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: "default", description: "" };
147
194
  break;
148
- case 45:
195
+ case 47:
149
196
  this.$ = { stmt: "state", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: "default", description: "" };
150
197
  break;
151
198
  }
152
199
  }, "anonymous"),
153
- table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 5]), { 9: 38, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 7]), o($Vr, [2, 8]), o($Vr, [2, 9]), o($Vr, [2, 10]), o($Vr, [2, 11]), o($Vr, [2, 12], { 14: [1, 39], 15: [1, 40] }), o($Vr, [2, 16]), { 18: [1, 41] }, o($Vr, [2, 18], { 20: [1, 42] }), { 23: [1, 43] }, o($Vr, [2, 22]), o($Vr, [2, 23]), o($Vr, [2, 24]), o($Vr, [2, 25]), { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, o($Vr, [2, 28]), { 34: [1, 48] }, { 36: [1, 49] }, o($Vr, [2, 31]), { 39: [1, 50], 41: [1, 51] }, { 43: [1, 52] }, { 46: [1, 53] }, o($Vs, [2, 42], { 55: [1, 54] }), o($Vs, [2, 43], { 55: [1, 55] }), o($Vr, [2, 36]), o($Vr, [2, 37]), o($Vr, [2, 38]), o($Vr, [2, 39]), o($Vr, [2, 6]), o($Vr, [2, 13]), { 13: 56, 24: $Va, 54: $Vq }, o($Vr, [2, 17]), o($Vt, $V3, { 7: 57 }), { 24: [1, 58] }, { 24: [1, 59] }, { 23: [1, 60] }, { 24: [2, 46] }, { 24: [2, 47] }, o($Vr, [2, 29]), o($Vr, [2, 30]), { 40: [1, 61] }, { 40: [1, 62] }, { 44: [1, 63] }, { 47: [1, 64] }, { 24: [1, 65] }, { 24: [1, 66] }, o($Vr, [2, 14], { 14: [1, 67] }), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 68], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 20], { 20: [1, 69] }), { 31: [1, 70] }, { 24: [1, 71] }, o($Vr, [2, 32]), o($Vr, [2, 33]), o($Vr, [2, 34]), o($Vr, [2, 35]), o($Vs, [2, 44]), o($Vs, [2, 45]), o($Vr, [2, 15]), o($Vr, [2, 19]), o($Vt, $V3, { 7: 72 }), o($Vr, [2, 26]), o($Vr, [2, 27]), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 73], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 21])],
154
- defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },
155
- parseError: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function parseError(str, hash) {
200
+ table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 41, 45, 48, 51, 52, 53, 54, 57], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 41: $Vk, 45: $Vl, 48: $Vm, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 57: $Vr }, o($Vs, [2, 5]), { 9: 39, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 41: $Vk, 45: $Vl, 48: $Vm, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 57: $Vr }, o($Vs, [2, 7]), o($Vs, [2, 8]), o($Vs, [2, 9]), o($Vs, [2, 10]), o($Vs, [2, 11]), o($Vs, [2, 12], { 14: [1, 40], 15: [1, 41] }), o($Vs, [2, 16]), { 18: [1, 42] }, o($Vs, [2, 18], { 20: [1, 43] }), { 23: [1, 44] }, o($Vs, [2, 22]), o($Vs, [2, 23]), o($Vs, [2, 24]), o($Vs, [2, 25]), { 30: 45, 31: [1, 46], 59: [1, 47], 60: [1, 48] }, o($Vs, [2, 28]), { 34: [1, 49] }, { 36: [1, 50] }, o($Vs, [2, 31]), { 13: 51, 24: $Va, 57: $Vr }, { 42: [1, 52], 44: [1, 53] }, { 46: [1, 54] }, { 49: [1, 55] }, o($Vt, [2, 44], { 58: [1, 56] }), o($Vt, [2, 45], { 58: [1, 57] }), o($Vs, [2, 38]), o($Vs, [2, 39]), o($Vs, [2, 40]), o($Vs, [2, 41]), o($Vs, [2, 6]), o($Vs, [2, 13]), { 13: 58, 24: $Va, 57: $Vr }, o($Vs, [2, 17]), o($Vu, $V3, { 7: 59 }), { 24: [1, 60] }, { 24: [1, 61] }, { 23: [1, 62] }, { 24: [2, 48] }, { 24: [2, 49] }, o($Vs, [2, 29]), o($Vs, [2, 30]), { 39: [1, 63], 40: [1, 64] }, { 43: [1, 65] }, { 43: [1, 66] }, { 47: [1, 67] }, { 50: [1, 68] }, { 24: [1, 69] }, { 24: [1, 70] }, o($Vs, [2, 14], { 14: [1, 71] }), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 72], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 41: $Vk, 45: $Vl, 48: $Vm, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 57: $Vr }, o($Vs, [2, 20], { 20: [1, 73] }), { 31: [1, 74] }, { 24: [1, 75] }, { 39: [1, 76] }, { 39: [1, 77] }, o($Vs, [2, 34]), o($Vs, [2, 35]), o($Vs, [2, 36]), o($Vs, [2, 37]), o($Vt, [2, 46]), o($Vt, [2, 47]), o($Vs, [2, 15]), o($Vs, [2, 19]), o($Vu, $V3, { 7: 78 }), o($Vs, [2, 26]), o($Vs, [2, 27]), { 5: [1, 79] }, { 5: [1, 80] }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 81], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 41: $Vk, 45: $Vl, 48: $Vm, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 57: $Vr }, o($Vs, [2, 32]), o($Vs, [2, 33]), o($Vs, [2, 21])],
201
+ defaultActions: { 5: [2, 1], 6: [2, 2], 47: [2, 48], 48: [2, 49] },
202
+ parseError: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function parseError(str, hash) {
156
203
  if (hash.recoverable) {
157
204
  this.trace(str);
158
205
  } else {
@@ -161,7 +208,7 @@ var parser = function() {
161
208
  throw error;
162
209
  }
163
210
  }, "parseError"),
164
- parse: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function parse(input) {
211
+ parse: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function parse(input) {
165
212
  var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
166
213
  var args = lstack.slice.call(arguments, 1);
167
214
  var lexer2 = Object.create(this.lexer);
@@ -190,7 +237,7 @@ var parser = function() {
190
237
  vstack.length = vstack.length - n;
191
238
  lstack.length = lstack.length - n;
192
239
  }
193
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(popStack, "popStack");
240
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(popStack, "popStack");
194
241
  function lex() {
195
242
  var token;
196
243
  token = tstack.pop() || lexer2.lex() || EOF;
@@ -203,7 +250,7 @@ var parser = function() {
203
250
  }
204
251
  return token;
205
252
  }
206
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(lex, "lex");
253
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(lex, "lex");
207
254
  var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
208
255
  while (true) {
209
256
  state = stack[stack.length - 1];
@@ -304,10 +351,10 @@ var parser = function() {
304
351
  return true;
305
352
  }, "parse")
306
353
  };
307
- var lexer = /* @__PURE__ */ function() {
354
+ var lexer = /* @__PURE__ */ (function() {
308
355
  var lexer2 = {
309
356
  EOF: 1,
310
- parseError: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function parseError(str, hash) {
357
+ parseError: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function parseError(str, hash) {
311
358
  if (this.yy.parser) {
312
359
  this.yy.parser.parseError(str, hash);
313
360
  } else {
@@ -315,7 +362,7 @@ var parser = function() {
315
362
  }
316
363
  }, "parseError"),
317
364
  // resets the lexer, sets new input
318
- setInput: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(input, yy) {
365
+ setInput: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(input, yy) {
319
366
  this.yy = yy || this.yy || {};
320
367
  this._input = input;
321
368
  this._more = this._backtrack = this.done = false;
@@ -335,7 +382,7 @@ var parser = function() {
335
382
  return this;
336
383
  }, "setInput"),
337
384
  // consumes and returns one char from the input
338
- input: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
385
+ input: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
339
386
  var ch = this._input[0];
340
387
  this.yytext += ch;
341
388
  this.yyleng++;
@@ -356,7 +403,7 @@ var parser = function() {
356
403
  return ch;
357
404
  }, "input"),
358
405
  // unshifts one char (or a string) into the input
359
- unput: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(ch) {
406
+ unput: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(ch) {
360
407
  var len = ch.length;
361
408
  var lines = ch.split(/(?:\r\n?|\n)/g);
362
409
  this._input = ch + this._input;
@@ -382,12 +429,12 @@ var parser = function() {
382
429
  return this;
383
430
  }, "unput"),
384
431
  // When called from action, caches matched text and appends it on next action
385
- more: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
432
+ more: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
386
433
  this._more = true;
387
434
  return this;
388
435
  }, "more"),
389
436
  // 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.
390
- reject: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
437
+ reject: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
391
438
  if (this.options.backtrack_lexer) {
392
439
  this._backtrack = true;
393
440
  } else {
@@ -400,16 +447,16 @@ var parser = function() {
400
447
  return this;
401
448
  }, "reject"),
402
449
  // retain first n characters of the match
403
- less: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(n) {
450
+ less: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(n) {
404
451
  this.unput(this.match.slice(n));
405
452
  }, "less"),
406
453
  // displays already matched input, i.e. for error messages
407
- pastInput: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
454
+ pastInput: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
408
455
  var past = this.matched.substr(0, this.matched.length - this.match.length);
409
456
  return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
410
457
  }, "pastInput"),
411
458
  // displays upcoming input, i.e. for error messages
412
- upcomingInput: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
459
+ upcomingInput: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
413
460
  var next = this.match;
414
461
  if (next.length < 20) {
415
462
  next += this._input.substr(0, 20 - next.length);
@@ -417,13 +464,13 @@ var parser = function() {
417
464
  return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
418
465
  }, "upcomingInput"),
419
466
  // displays the character position where the lexing error occurred, i.e. for error messages
420
- showPosition: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
467
+ showPosition: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
421
468
  var pre = this.pastInput();
422
469
  var c = new Array(pre.length + 1).join("-");
423
470
  return pre + this.upcomingInput() + "\n" + c + "^";
424
471
  }, "showPosition"),
425
472
  // test the lexed token: return FALSE when not a match, otherwise return token
426
- test_match: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(match, indexed_rule) {
473
+ test_match: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(match, indexed_rule) {
427
474
  var token, lines, backup;
428
475
  if (this.options.backtrack_lexer) {
429
476
  backup = {
@@ -486,7 +533,7 @@ var parser = function() {
486
533
  return false;
487
534
  }, "test_match"),
488
535
  // return next match in input
489
- next: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function() {
536
+ next: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function() {
490
537
  if (this.done) {
491
538
  return this.EOF;
492
539
  }
@@ -537,7 +584,7 @@ var parser = function() {
537
584
  }
538
585
  }, "next"),
539
586
  // return next match that has a token
540
- lex: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function lex() {
587
+ lex: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function lex() {
541
588
  var r = this.next();
542
589
  if (r) {
543
590
  return r;
@@ -546,11 +593,11 @@ var parser = function() {
546
593
  }
547
594
  }, "lex"),
548
595
  // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
549
- begin: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function begin(condition) {
596
+ begin: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function begin(condition) {
550
597
  this.conditionStack.push(condition);
551
598
  }, "begin"),
552
599
  // pop the previously active lexer condition state off the condition stack
553
- popState: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function popState() {
600
+ popState: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function popState() {
554
601
  var n = this.conditionStack.length - 1;
555
602
  if (n > 0) {
556
603
  return this.conditionStack.pop();
@@ -559,7 +606,7 @@ var parser = function() {
559
606
  }
560
607
  }, "popState"),
561
608
  // produce the lexer rule set which is active for the currently active lexer condition state
562
- _currentRules: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function _currentRules() {
609
+ _currentRules: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function _currentRules() {
563
610
  if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
564
611
  return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
565
612
  } else {
@@ -567,7 +614,7 @@ var parser = function() {
567
614
  }
568
615
  }, "_currentRules"),
569
616
  // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
570
- topState: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function topState(n) {
617
+ topState: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function topState(n) {
571
618
  n = this.conditionStack.length - 1 - Math.abs(n || 0);
572
619
  if (n >= 0) {
573
620
  return this.conditionStack[n];
@@ -576,316 +623,325 @@ var parser = function() {
576
623
  }
577
624
  }, "topState"),
578
625
  // alias for begin(condition)
579
- pushState: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function pushState(condition) {
626
+ pushState: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function pushState(condition) {
580
627
  this.begin(condition);
581
628
  }, "pushState"),
582
629
  // return the number of states currently on the stack
583
- stateStackSize: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function stateStackSize() {
630
+ stateStackSize: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function stateStackSize() {
584
631
  return this.conditionStack.length;
585
632
  }, "stateStackSize"),
586
633
  options: { "case-insensitive": true },
587
- performAction: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
634
+ performAction: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
588
635
  var YYSTATE = YY_START;
589
636
  switch ($avoiding_name_collisions) {
590
637
  case 0:
591
- return 41;
638
+ return 38;
592
639
  break;
593
640
  case 1:
594
- return 48;
641
+ return 40;
595
642
  break;
596
643
  case 2:
597
- return 49;
644
+ return 39;
598
645
  break;
599
646
  case 3:
600
- return 50;
647
+ return 44;
601
648
  break;
602
649
  case 4:
603
650
  return 51;
604
651
  break;
605
652
  case 5:
653
+ return 52;
606
654
  break;
607
655
  case 6:
608
- {
609
- }
656
+ return 53;
610
657
  break;
611
658
  case 7:
612
- return 5;
659
+ return 54;
613
660
  break;
614
661
  case 8:
615
662
  break;
616
663
  case 9:
664
+ {
665
+ }
617
666
  break;
618
667
  case 10:
668
+ return 5;
619
669
  break;
620
670
  case 11:
621
671
  break;
622
672
  case 12:
673
+ break;
674
+ case 13:
675
+ break;
676
+ case 14:
677
+ break;
678
+ case 15:
623
679
  this.pushState("SCALE");
624
680
  return 17;
625
681
  break;
626
- case 13:
682
+ case 16:
627
683
  return 18;
628
684
  break;
629
- case 14:
685
+ case 17:
630
686
  this.popState();
631
687
  break;
632
- case 15:
688
+ case 18:
633
689
  this.begin("acc_title");
634
690
  return 33;
635
691
  break;
636
- case 16:
692
+ case 19:
637
693
  this.popState();
638
694
  return "acc_title_value";
639
695
  break;
640
- case 17:
696
+ case 20:
641
697
  this.begin("acc_descr");
642
698
  return 35;
643
699
  break;
644
- case 18:
700
+ case 21:
645
701
  this.popState();
646
702
  return "acc_descr_value";
647
703
  break;
648
- case 19:
704
+ case 22:
649
705
  this.begin("acc_descr_multiline");
650
706
  break;
651
- case 20:
707
+ case 23:
652
708
  this.popState();
653
709
  break;
654
- case 21:
710
+ case 24:
655
711
  return "acc_descr_multiline_value";
656
712
  break;
657
- case 22:
713
+ case 25:
658
714
  this.pushState("CLASSDEF");
659
- return 38;
715
+ return 41;
660
716
  break;
661
- case 23:
717
+ case 26:
662
718
  this.popState();
663
719
  this.pushState("CLASSDEFID");
664
720
  return "DEFAULT_CLASSDEF_ID";
665
721
  break;
666
- case 24:
722
+ case 27:
667
723
  this.popState();
668
724
  this.pushState("CLASSDEFID");
669
- return 39;
725
+ return 42;
670
726
  break;
671
- case 25:
727
+ case 28:
672
728
  this.popState();
673
- return 40;
729
+ return 43;
674
730
  break;
675
- case 26:
731
+ case 29:
676
732
  this.pushState("CLASS");
677
- return 45;
733
+ return 48;
678
734
  break;
679
- case 27:
735
+ case 30:
680
736
  this.popState();
681
737
  this.pushState("CLASS_STYLE");
682
- return 46;
738
+ return 49;
683
739
  break;
684
- case 28:
740
+ case 31:
685
741
  this.popState();
686
- return 47;
742
+ return 50;
687
743
  break;
688
- case 29:
744
+ case 32:
689
745
  this.pushState("STYLE");
690
- return 42;
746
+ return 45;
691
747
  break;
692
- case 30:
748
+ case 33:
693
749
  this.popState();
694
750
  this.pushState("STYLEDEF_STYLES");
695
- return 43;
751
+ return 46;
696
752
  break;
697
- case 31:
753
+ case 34:
698
754
  this.popState();
699
- return 44;
755
+ return 47;
700
756
  break;
701
- case 32:
757
+ case 35:
702
758
  this.pushState("SCALE");
703
759
  return 17;
704
760
  break;
705
- case 33:
761
+ case 36:
706
762
  return 18;
707
763
  break;
708
- case 34:
764
+ case 37:
709
765
  this.popState();
710
766
  break;
711
- case 35:
767
+ case 38:
712
768
  this.pushState("STATE");
713
769
  break;
714
- case 36:
770
+ case 39:
715
771
  this.popState();
716
772
  yy_.yytext = yy_.yytext.slice(0, -8).trim();
717
773
  return 25;
718
774
  break;
719
- case 37:
775
+ case 40:
720
776
  this.popState();
721
777
  yy_.yytext = yy_.yytext.slice(0, -8).trim();
722
778
  return 26;
723
779
  break;
724
- case 38:
780
+ case 41:
725
781
  this.popState();
726
782
  yy_.yytext = yy_.yytext.slice(0, -10).trim();
727
783
  return 27;
728
784
  break;
729
- case 39:
785
+ case 42:
730
786
  this.popState();
731
787
  yy_.yytext = yy_.yytext.slice(0, -8).trim();
732
788
  return 25;
733
789
  break;
734
- case 40:
790
+ case 43:
735
791
  this.popState();
736
792
  yy_.yytext = yy_.yytext.slice(0, -8).trim();
737
793
  return 26;
738
794
  break;
739
- case 41:
795
+ case 44:
740
796
  this.popState();
741
797
  yy_.yytext = yy_.yytext.slice(0, -10).trim();
742
798
  return 27;
743
799
  break;
744
- case 42:
745
- return 48;
746
- break;
747
- case 43:
748
- return 49;
749
- break;
750
- case 44:
751
- return 50;
752
- break;
753
800
  case 45:
754
801
  return 51;
755
802
  break;
756
803
  case 46:
757
- this.pushState("STATE_STRING");
804
+ return 52;
758
805
  break;
759
806
  case 47:
807
+ return 53;
808
+ break;
809
+ case 48:
810
+ return 54;
811
+ break;
812
+ case 49:
813
+ this.pushState("STATE_STRING");
814
+ break;
815
+ case 50:
760
816
  this.pushState("STATE_ID");
761
817
  return "AS";
762
818
  break;
763
- case 48:
819
+ case 51:
764
820
  this.popState();
765
821
  return "ID";
766
822
  break;
767
- case 49:
823
+ case 52:
768
824
  this.popState();
769
825
  break;
770
- case 50:
826
+ case 53:
771
827
  return "STATE_DESCR";
772
828
  break;
773
- case 51:
829
+ case 54:
774
830
  return 19;
775
831
  break;
776
- case 52:
832
+ case 55:
777
833
  this.popState();
778
834
  break;
779
- case 53:
835
+ case 56:
780
836
  this.popState();
781
837
  this.pushState("struct");
782
838
  return 20;
783
839
  break;
784
- case 54:
840
+ case 57:
785
841
  break;
786
- case 55:
842
+ case 58:
787
843
  this.popState();
788
844
  return 21;
789
845
  break;
790
- case 56:
846
+ case 59:
791
847
  break;
792
- case 57:
848
+ case 60:
793
849
  this.begin("NOTE");
794
850
  return 29;
795
851
  break;
796
- case 58:
852
+ case 61:
797
853
  this.popState();
798
854
  this.pushState("NOTE_ID");
799
- return 56;
855
+ return 59;
800
856
  break;
801
- case 59:
857
+ case 62:
802
858
  this.popState();
803
859
  this.pushState("NOTE_ID");
804
- return 57;
860
+ return 60;
805
861
  break;
806
- case 60:
862
+ case 63:
807
863
  this.popState();
808
864
  this.pushState("FLOATING_NOTE");
809
865
  break;
810
- case 61:
866
+ case 64:
811
867
  this.popState();
812
868
  this.pushState("FLOATING_NOTE_ID");
813
869
  return "AS";
814
870
  break;
815
- case 62:
871
+ case 65:
816
872
  break;
817
- case 63:
873
+ case 66:
818
874
  return "NOTE_TEXT";
819
875
  break;
820
- case 64:
876
+ case 67:
821
877
  this.popState();
822
878
  return "ID";
823
879
  break;
824
- case 65:
880
+ case 68:
825
881
  this.popState();
826
882
  this.pushState("NOTE_TEXT");
827
883
  return 24;
828
884
  break;
829
- case 66:
885
+ case 69:
830
886
  this.popState();
831
887
  yy_.yytext = yy_.yytext.substr(2).trim();
832
888
  return 31;
833
889
  break;
834
- case 67:
890
+ case 70:
835
891
  this.popState();
836
892
  yy_.yytext = yy_.yytext.slice(0, -8).trim();
837
893
  return 31;
838
894
  break;
839
- case 68:
895
+ case 71:
840
896
  return 6;
841
897
  break;
842
- case 69:
898
+ case 72:
843
899
  return 6;
844
900
  break;
845
- case 70:
901
+ case 73:
846
902
  return 16;
847
903
  break;
848
- case 71:
849
- return 54;
904
+ case 74:
905
+ return 57;
850
906
  break;
851
- case 72:
907
+ case 75:
852
908
  return 24;
853
909
  break;
854
- case 73:
910
+ case 76:
855
911
  yy_.yytext = yy_.yytext.trim();
856
912
  return 14;
857
913
  break;
858
- case 74:
914
+ case 77:
859
915
  return 15;
860
916
  break;
861
- case 75:
917
+ case 78:
862
918
  return 28;
863
919
  break;
864
- case 76:
865
- return 55;
920
+ case 79:
921
+ return 58;
866
922
  break;
867
- case 77:
923
+ case 80:
868
924
  return 5;
869
925
  break;
870
- case 78:
926
+ case 81:
871
927
  return "INVALID";
872
928
  break;
873
929
  }
874
930
  }, "anonymous"),
875
- rules: [/^(?:default\b)/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:[\s]+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:classDef\s+)/i, /^(?:DEFAULT\s+)/i, /^(?:\w+\s+)/i, /^(?:[^\n]*)/i, /^(?:class\s+)/i, /^(?:(\w+)+((,\s*\w+)*))/i, /^(?:[^\n]*)/i, /^(?:style\s+)/i, /^(?:[\w,]+\s+)/i, /^(?:[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:.*\[\[choice\]\])/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:["])/i, /^(?:\s*as\s+)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:[\s\S]*?end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:stateDiagram-v2\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],
876
- conditions: { "LINE": { "rules": [9, 10], "inclusive": false }, "struct": { "rules": [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], "inclusive": false }, "FLOATING_NOTE_ID": { "rules": [64], "inclusive": false }, "FLOATING_NOTE": { "rules": [61, 62, 63], "inclusive": false }, "NOTE_TEXT": { "rules": [66, 67], "inclusive": false }, "NOTE_ID": { "rules": [65], "inclusive": false }, "NOTE": { "rules": [58, 59, 60], "inclusive": false }, "STYLEDEF_STYLEOPTS": { "rules": [], "inclusive": false }, "STYLEDEF_STYLES": { "rules": [31], "inclusive": false }, "STYLE_IDS": { "rules": [], "inclusive": false }, "STYLE": { "rules": [30], "inclusive": false }, "CLASS_STYLE": { "rules": [28], "inclusive": false }, "CLASS": { "rules": [27], "inclusive": false }, "CLASSDEFID": { "rules": [25], "inclusive": false }, "CLASSDEF": { "rules": [23, 24], "inclusive": false }, "acc_descr_multiline": { "rules": [20, 21], "inclusive": false }, "acc_descr": { "rules": [18], "inclusive": false }, "acc_title": { "rules": [16], "inclusive": false }, "SCALE": { "rules": [13, 14, 33, 34], "inclusive": false }, "ALIAS": { "rules": [], "inclusive": false }, "STATE_ID": { "rules": [48], "inclusive": false }, "STATE_STRING": { "rules": [49, 50], "inclusive": false }, "FORK_STATE": { "rules": [], "inclusive": false }, "STATE": { "rules": [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], "inclusive": false }, "ID": { "rules": [9, 10], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78], "inclusive": true } }
931
+ rules: [/^(?:click\b)/i, /^(?:href\b)/i, /^(?:"[^"]*")/i, /^(?:default\b)/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:[\s]+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:classDef\s+)/i, /^(?:DEFAULT\s+)/i, /^(?:\w+\s+)/i, /^(?:[^\n]*)/i, /^(?:class\s+)/i, /^(?:(\w+)+((,\s*\w+)*))/i, /^(?:[^\n]*)/i, /^(?:style\s+)/i, /^(?:[\w,]+\s+)/i, /^(?:[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:.*\[\[choice\]\])/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:["])/i, /^(?:\s*as\s+)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:[\s\S]*?end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:stateDiagram-v2\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],
932
+ conditions: { "LINE": { "rules": [12, 13], "inclusive": false }, "struct": { "rules": [12, 13, 25, 29, 32, 38, 45, 46, 47, 48, 57, 58, 59, 60, 74, 75, 76, 77, 78], "inclusive": false }, "FLOATING_NOTE_ID": { "rules": [67], "inclusive": false }, "FLOATING_NOTE": { "rules": [64, 65, 66], "inclusive": false }, "NOTE_TEXT": { "rules": [69, 70], "inclusive": false }, "NOTE_ID": { "rules": [68], "inclusive": false }, "NOTE": { "rules": [61, 62, 63], "inclusive": false }, "STYLEDEF_STYLEOPTS": { "rules": [], "inclusive": false }, "STYLEDEF_STYLES": { "rules": [34], "inclusive": false }, "STYLE_IDS": { "rules": [], "inclusive": false }, "STYLE": { "rules": [33], "inclusive": false }, "CLASS_STYLE": { "rules": [31], "inclusive": false }, "CLASS": { "rules": [30], "inclusive": false }, "CLASSDEFID": { "rules": [28], "inclusive": false }, "CLASSDEF": { "rules": [26, 27], "inclusive": false }, "acc_descr_multiline": { "rules": [23, 24], "inclusive": false }, "acc_descr": { "rules": [21], "inclusive": false }, "acc_title": { "rules": [19], "inclusive": false }, "SCALE": { "rules": [16, 17, 36, 37], "inclusive": false }, "ALIAS": { "rules": [], "inclusive": false }, "STATE_ID": { "rules": [51], "inclusive": false }, "STATE_STRING": { "rules": [52, 53], "inclusive": false }, "FORK_STATE": { "rules": [], "inclusive": false }, "STATE": { "rules": [12, 13, 39, 40, 41, 42, 43, 44, 49, 50, 54, 55, 56], "inclusive": false }, "ID": { "rules": [12, 13], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22, 25, 29, 32, 35, 38, 56, 60, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81], "inclusive": true } }
877
933
  };
878
934
  return lexer2;
879
- }();
935
+ })();
880
936
  parser2.lexer = lexer;
881
937
  function Parser() {
882
938
  this.yy = {};
883
939
  }
884
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(Parser, "Parser");
940
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(Parser, "Parser");
885
941
  Parser.prototype = parser2;
886
942
  parser2.Parser = Parser;
887
943
  return new Parser();
888
- }();
944
+ })();
889
945
  parser.parser = parser;
890
946
  var stateDiagram_default = parser;
891
947
 
@@ -894,6 +950,7 @@ var DEFAULT_DIAGRAM_DIRECTION = "TB";
894
950
  var DEFAULT_NESTED_DOC_DIR = "TB";
895
951
  var STMT_DIRECTION = "dir";
896
952
  var STMT_STATE = "state";
953
+ var STMT_ROOT = "root";
897
954
  var STMT_RELATION = "relation";
898
955
  var STMT_CLASSDEF = "classDef";
899
956
  var STMT_STYLEDEF = "style";
@@ -933,7 +990,7 @@ var NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;
933
990
  var PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;
934
991
 
935
992
  // src/diagrams/state/stateRenderer-v3-unified.ts
936
- var getDir = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
993
+ var getDir = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
937
994
  if (!parsedItem.doc) {
938
995
  return defaultDir;
939
996
  }
@@ -945,31 +1002,71 @@ var getDir = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__
945
1002
  }
946
1003
  return dir;
947
1004
  }, "getDir");
948
- var getClasses = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(function(text, diagramObj) {
1005
+ var getClasses = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(function(text, diagramObj) {
949
1006
  return diagramObj.db.getClasses();
950
1007
  }, "getClasses");
951
- var draw = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(async function(text, id, _version, diag) {
952
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("REF0:");
953
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Drawing state diagram (v2)", id);
954
- const { securityLevel, state: conf, layout } = (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)();
1008
+ var draw = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(async function(text, id, _version, diag) {
1009
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("REF0:");
1010
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Drawing state diagram (v2)", id);
1011
+ const { securityLevel, state: conf, layout } = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)();
955
1012
  diag.db.extract(diag.db.getRootDocV2());
956
1013
  const data4Layout = diag.db.getData();
957
- const svg = (0,_chunk_RZ5BOZE2_mjs__WEBPACK_IMPORTED_MODULE_0__/* .getDiagramElement */ .A)(id, securityLevel);
1014
+ const svg = (0,_chunk_55IACEB6_mjs__WEBPACK_IMPORTED_MODULE_0__/* .getDiagramElement */ .A)(id, securityLevel);
958
1015
  data4Layout.type = diag.type;
959
1016
  data4Layout.layoutAlgorithm = layout;
960
1017
  data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
961
1018
  data4Layout.rankSpacing = conf?.rankSpacing || 50;
962
1019
  data4Layout.markers = ["barb"];
963
1020
  data4Layout.diagramId = id;
964
- await (0,_chunk_TYCBKAJE_mjs__WEBPACK_IMPORTED_MODULE_1__/* .render */ .XX)(data4Layout, svg);
1021
+ await (0,_chunk_N4CR4FBY_mjs__WEBPACK_IMPORTED_MODULE_2__/* .render */ .XX)(data4Layout, svg);
965
1022
  const padding = 8;
966
- _chunk_O4NI6UNU_mjs__WEBPACK_IMPORTED_MODULE_2__/* .utils_default */ ._K.insertTitle(
1023
+ try {
1024
+ const links = typeof diag.db.getLinks === "function" ? diag.db.getLinks() : /* @__PURE__ */ new Map();
1025
+ links.forEach((linkInfo, key) => {
1026
+ const stateId = typeof key === "string" ? key : typeof key?.id === "string" ? key.id : "";
1027
+ if (!stateId) {
1028
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("\u26A0\uFE0F Invalid or missing stateId from key:", JSON.stringify(key));
1029
+ return;
1030
+ }
1031
+ const allNodes = svg.node()?.querySelectorAll("g");
1032
+ let matchedElem;
1033
+ allNodes?.forEach((g) => {
1034
+ const text2 = g.textContent?.trim();
1035
+ if (text2 === stateId) {
1036
+ matchedElem = g;
1037
+ }
1038
+ });
1039
+ if (!matchedElem) {
1040
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("\u26A0\uFE0F Could not find node matching text:", stateId);
1041
+ return;
1042
+ }
1043
+ const parent = matchedElem.parentNode;
1044
+ if (!parent) {
1045
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("\u26A0\uFE0F Node has no parent, cannot wrap:", stateId);
1046
+ return;
1047
+ }
1048
+ const a = document.createElementNS("http://www.w3.org/2000/svg", "a");
1049
+ const cleanedUrl = linkInfo.url.replace(/^"+|"+$/g, "");
1050
+ a.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", cleanedUrl);
1051
+ a.setAttribute("target", "_blank");
1052
+ if (linkInfo.tooltip) {
1053
+ const tooltip = linkInfo.tooltip.replace(/^"+|"+$/g, "");
1054
+ a.setAttribute("title", tooltip);
1055
+ }
1056
+ parent.replaceChild(a, matchedElem);
1057
+ a.appendChild(matchedElem);
1058
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("\u{1F517} Wrapped node in <a> tag for:", stateId, linkInfo.url);
1059
+ });
1060
+ } catch (err) {
1061
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.error("\u274C Error injecting clickable links:", err);
1062
+ }
1063
+ _chunk_S3R3BYOJ_mjs__WEBPACK_IMPORTED_MODULE_3__/* .utils_default */ ._K.insertTitle(
967
1064
  svg,
968
1065
  "statediagramTitleText",
969
1066
  conf?.titleTopMargin ?? 25,
970
1067
  diag.db.getDiagramTitle()
971
1068
  );
972
- (0,_chunk_RZ5BOZE2_mjs__WEBPACK_IMPORTED_MODULE_0__/* .setupViewPortForSVG */ .P)(svg, padding, CSS_DIAGRAM, conf?.useMaxWidth ?? true);
1069
+ (0,_chunk_QN33PNHL_mjs__WEBPACK_IMPORTED_MODULE_1__/* .setupViewPortForSVG */ .P)(svg, padding, CSS_DIAGRAM, conf?.useMaxWidth ?? true);
973
1070
  }, "draw");
974
1071
  var stateRenderer_v3_unified_default = {
975
1072
  getClasses,
@@ -977,16 +1074,16 @@ var stateRenderer_v3_unified_default = {
977
1074
  getDir
978
1075
  };
979
1076
 
980
- // src/diagrams/state/dataFetcher.js
1077
+ // src/diagrams/state/dataFetcher.ts
981
1078
  var nodeDb = /* @__PURE__ */ new Map();
982
1079
  var graphItemCount = 0;
983
1080
  function stateDomId(itemId = "", counter = 0, type = "", typeSpacer = DOMID_TYPE_SPACER) {
984
1081
  const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : "";
985
1082
  return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
986
1083
  }
987
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(stateDomId, "stateDomId");
988
- var setupDoc = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look, classes) => {
989
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.trace("items", doc);
1084
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(stateDomId, "stateDomId");
1085
+ var setupDoc = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look, classes) => {
1086
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("items", doc);
990
1087
  doc.forEach((item) => {
991
1088
  switch (item.stmt) {
992
1089
  case STMT_STATE:
@@ -1025,7 +1122,7 @@ var setupDoc = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3
1025
1122
  arrowTypeEnd: "arrow_barb",
1026
1123
  style: G_EDGE_STYLE,
1027
1124
  labelStyle: "",
1028
- label: _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(item.description, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)()),
1125
+ label: _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(item.description ?? "", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)()),
1029
1126
  arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
1030
1127
  labelpos: G_EDGE_LABELPOS,
1031
1128
  labelType: G_EDGE_LABELTYPE,
@@ -1040,7 +1137,7 @@ var setupDoc = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3
1040
1137
  }
1041
1138
  });
1042
1139
  }, "setupDoc");
1043
- var getDir2 = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
1140
+ var getDir2 = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
1044
1141
  let dir = defaultDir;
1045
1142
  if (parsedItem.doc) {
1046
1143
  for (const parsedItemDoc of parsedItem.doc) {
@@ -1060,9 +1157,9 @@ function insertOrUpdateNode(nodes, nodeData, classes) {
1060
1157
  nodeData.cssCompiledStyles = [];
1061
1158
  }
1062
1159
  nodeData.cssClasses.split(" ").forEach((cssClass) => {
1063
- if (classes.get(cssClass)) {
1064
- const classDef = classes.get(cssClass);
1065
- nodeData.cssCompiledStyles = [...nodeData.cssCompiledStyles, ...classDef.styles];
1160
+ const classDef = classes.get(cssClass);
1161
+ if (classDef) {
1162
+ nodeData.cssCompiledStyles = [...nodeData.cssCompiledStyles ?? [], ...classDef.styles];
1066
1163
  }
1067
1164
  });
1068
1165
  }
@@ -1073,21 +1170,22 @@ function insertOrUpdateNode(nodes, nodeData, classes) {
1073
1170
  nodes.push(nodeData);
1074
1171
  }
1075
1172
  }
1076
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(insertOrUpdateNode, "insertOrUpdateNode");
1173
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(insertOrUpdateNode, "insertOrUpdateNode");
1077
1174
  function getClassesFromDbInfo(dbInfoItem) {
1078
1175
  return dbInfoItem?.classes?.join(" ") ?? "";
1079
1176
  }
1080
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(getClassesFromDbInfo, "getClassesFromDbInfo");
1177
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(getClassesFromDbInfo, "getClassesFromDbInfo");
1081
1178
  function getStylesFromDbInfo(dbInfoItem) {
1082
1179
  return dbInfoItem?.styles ?? [];
1083
1180
  }
1084
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(getStylesFromDbInfo, "getStylesFromDbInfo");
1085
- var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((parent, parsedItem, diagramStates, nodes, edges, altFlag, look, classes) => {
1181
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(getStylesFromDbInfo, "getStylesFromDbInfo");
1182
+ var dataFetcher = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((parent, parsedItem, diagramStates, nodes, edges, altFlag, look, classes) => {
1086
1183
  const itemId = parsedItem.id;
1087
1184
  const dbState = diagramStates.get(itemId);
1088
1185
  const classStr = getClassesFromDbInfo(dbState);
1089
1186
  const style = getStylesFromDbInfo(dbState);
1090
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("dataFetcher parsedItem", parsedItem, dbState, style);
1187
+ const config = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)();
1188
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("dataFetcher parsedItem", parsedItem, dbState, style);
1091
1189
  if (itemId !== "root") {
1092
1190
  let shape = SHAPE_STATE;
1093
1191
  if (parsedItem.start === true) {
@@ -1102,7 +1200,7 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1102
1200
  nodeDb.set(itemId, {
1103
1201
  id: itemId,
1104
1202
  shape,
1105
- description: _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(itemId, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)()),
1203
+ description: _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(itemId, config),
1106
1204
  cssClasses: `${classStr} ${CSS_DIAGRAM_STATE}`,
1107
1205
  cssStyles: style
1108
1206
  });
@@ -1113,7 +1211,7 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1113
1211
  newNode.shape = SHAPE_STATE_WITH_DESC;
1114
1212
  newNode.description.push(parsedItem.description);
1115
1213
  } else {
1116
- if (newNode.description?.length > 0) {
1214
+ if (newNode.description?.length && newNode.description.length > 0) {
1117
1215
  newNode.shape = SHAPE_STATE_WITH_DESC;
1118
1216
  if (newNode.description === itemId) {
1119
1217
  newNode.description = [parsedItem.description];
@@ -1125,7 +1223,7 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1125
1223
  newNode.description = parsedItem.description;
1126
1224
  }
1127
1225
  }
1128
- newNode.description = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeTextOrArray(newNode.description, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)());
1226
+ newNode.description = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeTextOrArray(newNode.description, config);
1129
1227
  }
1130
1228
  if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {
1131
1229
  if (newNode.type === "group") {
@@ -1135,7 +1233,7 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1135
1233
  }
1136
1234
  }
1137
1235
  if (!newNode.type && parsedItem.doc) {
1138
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting cluster for XCX", itemId, getDir2(parsedItem));
1236
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting cluster for XCX", itemId, getDir2(parsedItem));
1139
1237
  newNode.type = "group";
1140
1238
  newNode.isGroup = true;
1141
1239
  newNode.dir = getDir2(parsedItem);
@@ -1163,7 +1261,7 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1163
1261
  nodeData.label = "";
1164
1262
  }
1165
1263
  if (parent && parent.id !== "root") {
1166
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.trace("Setting node ", itemId, " to be child of its parent ", parent.id);
1264
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Setting node ", itemId, " to be child of its parent ", parent.id);
1167
1265
  nodeData.parentId = parent.id;
1168
1266
  }
1169
1267
  nodeData.centerLabel = true;
@@ -1175,12 +1273,12 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1175
1273
  cssClasses: CSS_DIAGRAM_NOTE,
1176
1274
  // useHtmlLabels: false,
1177
1275
  cssStyles: [],
1178
- cssCompilesStyles: [],
1276
+ cssCompiledStyles: [],
1179
1277
  id: itemId + NOTE_ID + "-" + graphItemCount,
1180
1278
  domId: stateDomId(itemId, graphItemCount, NOTE),
1181
1279
  type: newNode.type,
1182
1280
  isGroup: newNode.type === "group",
1183
- padding: (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)().flowchart.padding,
1281
+ padding: config.flowchart?.padding,
1184
1282
  look,
1185
1283
  position: parsedItem.note.position
1186
1284
  };
@@ -1232,171 +1330,67 @@ var dataFetcher = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODUL
1232
1330
  }
1233
1331
  }
1234
1332
  if (parsedItem.doc) {
1235
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.trace("Adding nodes children ");
1333
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.trace("Adding nodes children ");
1236
1334
  setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, look, classes);
1237
1335
  }
1238
1336
  }, "dataFetcher");
1239
- var reset = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(() => {
1337
+ var reset = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(() => {
1240
1338
  nodeDb.clear();
1241
1339
  graphItemCount = 0;
1242
1340
  }, "reset");
1243
1341
 
1244
- // src/diagrams/state/stateDb.js
1245
- var START_NODE = "[*]";
1246
- var START_TYPE = "start";
1247
- var END_NODE = START_NODE;
1248
- var END_TYPE = "end";
1249
- var COLOR_KEYWORD = "color";
1250
- var FILL_KEYWORD = "fill";
1251
- var BG_FILL = "bgFill";
1252
- var STYLECLASS_SEP = ",";
1253
- function newClassesList() {
1254
- return /* @__PURE__ */ new Map();
1255
- }
1256
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(newClassesList, "newClassesList");
1257
- var newDoc = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(() => {
1258
- return {
1259
- /** @type {{ id1: string, id2: string, relationTitle: string }[]} */
1260
- relations: [],
1261
- states: /* @__PURE__ */ new Map(),
1262
- documents: {}
1263
- };
1264
- }, "newDoc");
1265
- var clone = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((o) => JSON.parse(JSON.stringify(o)), "clone");
1342
+ // src/diagrams/state/stateDb.ts
1343
+ var CONSTANTS = {
1344
+ START_NODE: "[*]",
1345
+ START_TYPE: "start",
1346
+ END_NODE: "[*]",
1347
+ END_TYPE: "end",
1348
+ COLOR_KEYWORD: "color",
1349
+ FILL_KEYWORD: "fill",
1350
+ BG_FILL: "bgFill",
1351
+ STYLECLASS_SEP: ","
1352
+ };
1353
+ var newClassesList = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(() => /* @__PURE__ */ new Map(), "newClassesList");
1354
+ var newDoc = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(() => ({
1355
+ relations: [],
1356
+ states: /* @__PURE__ */ new Map(),
1357
+ documents: {}
1358
+ }), "newDoc");
1359
+ var clone = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((o) => JSON.parse(JSON.stringify(o)), "clone");
1266
1360
  var StateDB = class {
1267
- static {
1268
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)(this, "StateDB");
1269
- }
1270
- /**
1271
- * @param {1 | 2} version - v1 renderer or v2 renderer.
1272
- */
1273
1361
  constructor(version) {
1274
- this.clear();
1275
1362
  this.version = version;
1363
+ this.nodes = [];
1364
+ this.edges = [];
1365
+ this.rootDoc = [];
1366
+ this.classes = newClassesList();
1367
+ this.documents = { root: newDoc() };
1368
+ this.currentDocument = this.documents.root;
1369
+ this.startEndCount = 0;
1370
+ this.dividerCnt = 0;
1371
+ this.links = /* @__PURE__ */ new Map();
1372
+ this.getAccTitle = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getAccTitle */ .iN;
1373
+ this.setAccTitle = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .setAccTitle */ .SV;
1374
+ this.getAccDescription = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getAccDescription */ .m7;
1375
+ this.setAccDescription = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .setAccDescription */ .EI;
1376
+ this.setDiagramTitle = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .setDiagramTitle */ .ke;
1377
+ this.getDiagramTitle = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getDiagramTitle */ .ab;
1378
+ this.clear();
1276
1379
  this.setRootDoc = this.setRootDoc.bind(this);
1277
1380
  this.getDividerId = this.getDividerId.bind(this);
1278
1381
  this.setDirection = this.setDirection.bind(this);
1279
1382
  this.trimColon = this.trimColon.bind(this);
1280
1383
  }
1281
- /**
1282
- * @private
1283
- * @type {1 | 2}
1284
- */
1285
- version;
1286
- /**
1287
- * @private
1288
- * @type {Array}
1289
- */
1290
- nodes = [];
1291
- /**
1292
- * @private
1293
- * @type {Array}
1294
- */
1295
- edges = [];
1296
- /**
1297
- * @private
1298
- * @type {Array}
1299
- */
1300
- rootDoc = [];
1301
- /**
1302
- * @private
1303
- * @type {Map<string, any>}
1304
- */
1305
- classes = newClassesList();
1306
- // style classes defined by a classDef
1307
- /**
1308
- * @private
1309
- * @type {Object}
1310
- */
1311
- documents = {
1312
- root: newDoc()
1313
- };
1314
- /**
1315
- * @private
1316
- * @type {Object}
1317
- */
1318
- currentDocument = this.documents.root;
1319
- /**
1320
- * @private
1321
- * @type {number}
1322
- */
1323
- startEndCount = 0;
1324
- /**
1325
- * @private
1326
- * @type {number}
1327
- */
1328
- dividerCnt = 0;
1329
- static relationType = {
1330
- AGGREGATION: 0,
1331
- EXTENSION: 1,
1332
- COMPOSITION: 2,
1333
- DEPENDENCY: 3
1334
- };
1335
- setRootDoc(o) {
1336
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting root doc", o);
1337
- this.rootDoc = o;
1338
- if (this.version === 1) {
1339
- this.extract(o);
1340
- } else {
1341
- this.extract(this.getRootDocV2());
1342
- }
1343
- }
1344
- getRootDoc() {
1345
- return this.rootDoc;
1346
- }
1347
- /**
1348
- * @private
1349
- * @param {Object} parent
1350
- * @param {Object} node
1351
- * @param {boolean} first
1352
- */
1353
- docTranslator(parent, node, first) {
1354
- if (node.stmt === STMT_RELATION) {
1355
- this.docTranslator(parent, node.state1, true);
1356
- this.docTranslator(parent, node.state2, false);
1357
- } else {
1358
- if (node.stmt === STMT_STATE) {
1359
- if (node.id === "[*]") {
1360
- node.id = first ? parent.id + "_start" : parent.id + "_end";
1361
- node.start = first;
1362
- } else {
1363
- node.id = node.id.trim();
1364
- }
1365
- }
1366
- if (node.doc) {
1367
- const doc = [];
1368
- let currentDoc = [];
1369
- let i;
1370
- for (i = 0; i < node.doc.length; i++) {
1371
- if (node.doc[i].type === DIVIDER_TYPE) {
1372
- const newNode = clone(node.doc[i]);
1373
- newNode.doc = clone(currentDoc);
1374
- doc.push(newNode);
1375
- currentDoc = [];
1376
- } else {
1377
- currentDoc.push(node.doc[i]);
1378
- }
1379
- }
1380
- if (doc.length > 0 && currentDoc.length > 0) {
1381
- const newNode = {
1382
- stmt: STMT_STATE,
1383
- id: (0,_chunk_O4NI6UNU_mjs__WEBPACK_IMPORTED_MODULE_2__/* .generateId */ .$C)(),
1384
- type: "divider",
1385
- doc: clone(currentDoc)
1386
- };
1387
- doc.push(clone(newNode));
1388
- node.doc = doc;
1389
- }
1390
- node.doc.forEach((docNode) => this.docTranslator(node, docNode, true));
1391
- }
1392
- }
1384
+ static {
1385
+ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)(this, "StateDB");
1393
1386
  }
1394
- /**
1395
- * @private
1396
- */
1397
- getRootDocV2() {
1398
- this.docTranslator({ id: "root" }, { id: "root", doc: this.rootDoc }, true);
1399
- return { id: "root", doc: this.rootDoc };
1387
+ static {
1388
+ this.relationType = {
1389
+ AGGREGATION: 0,
1390
+ EXTENSION: 1,
1391
+ COMPOSITION: 2,
1392
+ DEPENDENCY: 3
1393
+ };
1400
1394
  }
1401
1395
  /**
1402
1396
  * Convert all of the statements (stmts) that were parsed into states and relationships.
@@ -1406,33 +1400,13 @@ var StateDB = class {
1406
1400
  * refer to the fork as a whole (document).
1407
1401
  * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement.
1408
1402
  * This will push the statement into the list of statements for the current document.
1409
- * @private
1410
- * @param _doc
1411
1403
  */
1412
- extract(_doc) {
1413
- let doc;
1414
- if (_doc.doc) {
1415
- doc = _doc.doc;
1416
- } else {
1417
- doc = _doc;
1418
- }
1419
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info(doc);
1404
+ extract(statements) {
1420
1405
  this.clear(true);
1421
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Extract initial document:", doc);
1422
- doc.forEach((item) => {
1423
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.warn("Statement", item.stmt);
1406
+ for (const item of Array.isArray(statements) ? statements : statements.doc) {
1424
1407
  switch (item.stmt) {
1425
1408
  case STMT_STATE:
1426
- this.addState(
1427
- item.id.trim(),
1428
- item.type,
1429
- item.doc,
1430
- item.description,
1431
- item.note,
1432
- item.classes,
1433
- item.styles,
1434
- item.textStyles
1435
- );
1409
+ this.addState(item.id.trim(), item.type, item.doc, item.description, item.note);
1436
1410
  break;
1437
1411
  case STMT_RELATION:
1438
1412
  this.addRelation(item.state1, item.state2, item.description);
@@ -1441,28 +1415,18 @@ var StateDB = class {
1441
1415
  this.addStyleClass(item.id.trim(), item.classes);
1442
1416
  break;
1443
1417
  case STMT_STYLEDEF:
1444
- {
1445
- const ids = item.id.trim().split(",");
1446
- const styles = item.styleClass.split(",");
1447
- ids.forEach((id) => {
1448
- let foundState = this.getState(id);
1449
- if (foundState === void 0) {
1450
- const trimmedId = id.trim();
1451
- this.addState(trimmedId);
1452
- foundState = this.getState(trimmedId);
1453
- }
1454
- foundState.styles = styles.map((s) => s.replace(/;/g, "")?.trim());
1455
- });
1456
- }
1418
+ this.handleStyleDef(item);
1457
1419
  break;
1458
1420
  case STMT_APPLYCLASS:
1459
1421
  this.setCssClass(item.id.trim(), item.styleClass);
1460
1422
  break;
1423
+ case "click":
1424
+ this.addLink(item.id, item.url, item.tooltip);
1425
+ break;
1461
1426
  }
1462
- });
1427
+ }
1463
1428
  const diagramStates = this.getStates();
1464
- const config = (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)();
1465
- const look = config.look;
1429
+ const config = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)();
1466
1430
  reset();
1467
1431
  dataFetcher(
1468
1432
  void 0,
@@ -1471,38 +1435,109 @@ var StateDB = class {
1471
1435
  this.nodes,
1472
1436
  this.edges,
1473
1437
  true,
1474
- look,
1438
+ config.look,
1475
1439
  this.classes
1476
1440
  );
1477
- this.nodes.forEach((node) => {
1478
- if (Array.isArray(node.label)) {
1479
- node.description = node.label.slice(1);
1480
- if (node.isGroup && node.description.length > 0) {
1481
- throw new Error(
1482
- "Group nodes can only have label. Remove the additional description for node [" + node.id + "]"
1483
- );
1484
- }
1485
- node.label = node.label[0];
1441
+ for (const node of this.nodes) {
1442
+ if (!Array.isArray(node.label)) {
1443
+ continue;
1486
1444
  }
1487
- });
1445
+ node.description = node.label.slice(1);
1446
+ if (node.isGroup && node.description.length > 0) {
1447
+ throw new Error(
1448
+ `Group nodes can only have label. Remove the additional description for node [${node.id}]`
1449
+ );
1450
+ }
1451
+ node.label = node.label[0];
1452
+ }
1453
+ }
1454
+ handleStyleDef(item) {
1455
+ const ids = item.id.trim().split(",");
1456
+ const styles = item.styleClass.split(",");
1457
+ for (const id of ids) {
1458
+ let state = this.getState(id);
1459
+ if (!state) {
1460
+ const trimmedId = id.trim();
1461
+ this.addState(trimmedId);
1462
+ state = this.getState(trimmedId);
1463
+ }
1464
+ if (state) {
1465
+ state.styles = styles.map((s) => s.replace(/;/g, "")?.trim());
1466
+ }
1467
+ }
1468
+ }
1469
+ setRootDoc(o) {
1470
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting root doc", o);
1471
+ this.rootDoc = o;
1472
+ if (this.version === 1) {
1473
+ this.extract(o);
1474
+ } else {
1475
+ this.extract(this.getRootDocV2());
1476
+ }
1477
+ }
1478
+ docTranslator(parent, node, first) {
1479
+ if (node.stmt === STMT_RELATION) {
1480
+ this.docTranslator(parent, node.state1, true);
1481
+ this.docTranslator(parent, node.state2, false);
1482
+ return;
1483
+ }
1484
+ if (node.stmt === STMT_STATE) {
1485
+ if (node.id === CONSTANTS.START_NODE) {
1486
+ node.id = parent.id + (first ? "_start" : "_end");
1487
+ node.start = first;
1488
+ } else {
1489
+ node.id = node.id.trim();
1490
+ }
1491
+ }
1492
+ if (node.stmt !== STMT_ROOT && node.stmt !== STMT_STATE || !node.doc) {
1493
+ return;
1494
+ }
1495
+ const doc = [];
1496
+ let currentDoc = [];
1497
+ for (const stmt of node.doc) {
1498
+ if (stmt.type === DIVIDER_TYPE) {
1499
+ const newNode = clone(stmt);
1500
+ newNode.doc = clone(currentDoc);
1501
+ doc.push(newNode);
1502
+ currentDoc = [];
1503
+ } else {
1504
+ currentDoc.push(stmt);
1505
+ }
1506
+ }
1507
+ if (doc.length > 0 && currentDoc.length > 0) {
1508
+ const newNode = {
1509
+ stmt: STMT_STATE,
1510
+ id: (0,_chunk_S3R3BYOJ_mjs__WEBPACK_IMPORTED_MODULE_3__/* .generateId */ .$C)(),
1511
+ type: "divider",
1512
+ doc: clone(currentDoc)
1513
+ };
1514
+ doc.push(clone(newNode));
1515
+ node.doc = doc;
1516
+ }
1517
+ node.doc.forEach((docNode) => this.docTranslator(node, docNode, true));
1518
+ }
1519
+ getRootDocV2() {
1520
+ this.docTranslator(
1521
+ { id: STMT_ROOT, stmt: STMT_ROOT },
1522
+ { id: STMT_ROOT, stmt: STMT_ROOT, doc: this.rootDoc },
1523
+ true
1524
+ );
1525
+ return { id: STMT_ROOT, doc: this.rootDoc };
1488
1526
  }
1489
1527
  /**
1490
1528
  * Function called by parser when a node definition has been found.
1491
1529
  *
1492
- * @param {null | string} id
1493
- * @param {null | string} type
1494
- * @param {null | string} doc
1495
- * @param {null | string | string[]} descr - description for the state. Can be a string or a list or strings
1496
- * @param {null | string} note
1497
- * @param {null | string | string[]} classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.
1498
- * @param {null | string | string[]} styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.
1499
- * @param {null | string | string[]} textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.
1530
+ * @param descr - description for the state. Can be a string or a list or strings
1531
+ * @param classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.
1532
+ * @param styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.
1533
+ * @param textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.
1500
1534
  */
1501
- addState(id, type = DEFAULT_STATE_TYPE, doc = null, descr = null, note = null, classes = null, styles = null, textStyles = null) {
1535
+ addState(id, type = DEFAULT_STATE_TYPE, doc = void 0, descr = void 0, note = void 0, classes = void 0, styles = void 0, textStyles = void 0) {
1502
1536
  const trimmedId = id?.trim();
1503
1537
  if (!this.currentDocument.states.has(trimmedId)) {
1504
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Adding state ", trimmedId, descr);
1538
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Adding state ", trimmedId, descr);
1505
1539
  this.currentDocument.states.set(trimmedId, {
1540
+ stmt: STMT_STATE,
1506
1541
  id: trimmedId,
1507
1542
  descriptions: [],
1508
1543
  type,
@@ -1513,54 +1548,56 @@ var StateDB = class {
1513
1548
  textStyles: []
1514
1549
  });
1515
1550
  } else {
1516
- if (!this.currentDocument.states.get(trimmedId).doc) {
1517
- this.currentDocument.states.get(trimmedId).doc = doc;
1551
+ const state = this.currentDocument.states.get(trimmedId);
1552
+ if (!state) {
1553
+ throw new Error(`State not found: ${trimmedId}`);
1518
1554
  }
1519
- if (!this.currentDocument.states.get(trimmedId).type) {
1520
- this.currentDocument.states.get(trimmedId).type = type;
1555
+ if (!state.doc) {
1556
+ state.doc = doc;
1557
+ }
1558
+ if (!state.type) {
1559
+ state.type = type;
1521
1560
  }
1522
1561
  }
1523
1562
  if (descr) {
1524
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting state description", trimmedId, descr);
1525
- if (typeof descr === "string") {
1526
- this.addDescription(trimmedId, descr.trim());
1527
- }
1528
- if (typeof descr === "object") {
1529
- descr.forEach((des) => this.addDescription(trimmedId, des.trim()));
1530
- }
1563
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting state description", trimmedId, descr);
1564
+ const descriptions = Array.isArray(descr) ? descr : [descr];
1565
+ descriptions.forEach((des) => this.addDescription(trimmedId, des.trim()));
1531
1566
  }
1532
1567
  if (note) {
1533
1568
  const doc2 = this.currentDocument.states.get(trimmedId);
1569
+ if (!doc2) {
1570
+ throw new Error(`State not found: ${trimmedId}`);
1571
+ }
1534
1572
  doc2.note = note;
1535
- doc2.note.text = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(doc2.note.text, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)());
1573
+ doc2.note.text = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(doc2.note.text, (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)());
1536
1574
  }
1537
1575
  if (classes) {
1538
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting state classes", trimmedId, classes);
1539
- const classesList = typeof classes === "string" ? [classes] : classes;
1576
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting state classes", trimmedId, classes);
1577
+ const classesList = Array.isArray(classes) ? classes : [classes];
1540
1578
  classesList.forEach((cssClass) => this.setCssClass(trimmedId, cssClass.trim()));
1541
1579
  }
1542
1580
  if (styles) {
1543
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting state styles", trimmedId, styles);
1544
- const stylesList = typeof styles === "string" ? [styles] : styles;
1581
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting state styles", trimmedId, styles);
1582
+ const stylesList = Array.isArray(styles) ? styles : [styles];
1545
1583
  stylesList.forEach((style) => this.setStyle(trimmedId, style.trim()));
1546
1584
  }
1547
1585
  if (textStyles) {
1548
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Setting state styles", trimmedId, styles);
1549
- const textStylesList = typeof textStyles === "string" ? [textStyles] : textStyles;
1586
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Setting state styles", trimmedId, styles);
1587
+ const textStylesList = Array.isArray(textStyles) ? textStyles : [textStyles];
1550
1588
  textStylesList.forEach((textStyle) => this.setTextStyle(trimmedId, textStyle.trim()));
1551
1589
  }
1552
1590
  }
1553
1591
  clear(saveCommon) {
1554
1592
  this.nodes = [];
1555
1593
  this.edges = [];
1556
- this.documents = {
1557
- root: newDoc()
1558
- };
1594
+ this.documents = { root: newDoc() };
1559
1595
  this.currentDocument = this.documents.root;
1560
1596
  this.startEndCount = 0;
1561
1597
  this.classes = newClassesList();
1562
1598
  if (!saveCommon) {
1563
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .clear */ .IU)();
1599
+ this.links = /* @__PURE__ */ new Map();
1600
+ (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .clear */ .IU)();
1564
1601
  }
1565
1602
  }
1566
1603
  getState(id) {
@@ -1570,80 +1607,68 @@ var StateDB = class {
1570
1607
  return this.currentDocument.states;
1571
1608
  }
1572
1609
  logDocuments() {
1573
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .log */ .Rm.info("Documents = ", this.documents);
1610
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.info("Documents = ", this.documents);
1574
1611
  }
1575
1612
  getRelations() {
1576
1613
  return this.currentDocument.relations;
1577
1614
  }
1615
+ /**
1616
+ * Adds a clickable link to a state.
1617
+ */
1618
+ addLink(stateId, url, tooltip) {
1619
+ this.links.set(stateId, { url, tooltip });
1620
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .log */ .Rm.warn("Adding link", stateId, url, tooltip);
1621
+ }
1622
+ /**
1623
+ * Get all registered links.
1624
+ */
1625
+ getLinks() {
1626
+ return this.links;
1627
+ }
1578
1628
  /**
1579
1629
  * If the id is a start node ( [*] ), then return a new id constructed from
1580
1630
  * the start node name and the current start node count.
1581
1631
  * else return the given id
1582
- *
1583
- * @param {string} id
1584
- * @returns {string} - the id (original or constructed)
1585
- * @private
1586
1632
  */
1587
1633
  startIdIfNeeded(id = "") {
1588
- let fixedId = id;
1589
- if (id === START_NODE) {
1634
+ if (id === CONSTANTS.START_NODE) {
1590
1635
  this.startEndCount++;
1591
- fixedId = `${START_TYPE}${this.startEndCount}`;
1636
+ return `${CONSTANTS.START_TYPE}${this.startEndCount}`;
1592
1637
  }
1593
- return fixedId;
1638
+ return id;
1594
1639
  }
1595
1640
  /**
1596
1641
  * If the id is a start node ( [*] ), then return the start type ('start')
1597
1642
  * else return the given type
1598
- *
1599
- * @param {string} id
1600
- * @param {string} type
1601
- * @returns {string} - the type that should be used
1602
- * @private
1603
1643
  */
1604
1644
  startTypeIfNeeded(id = "", type = DEFAULT_STATE_TYPE) {
1605
- return id === START_NODE ? START_TYPE : type;
1645
+ return id === CONSTANTS.START_NODE ? CONSTANTS.START_TYPE : type;
1606
1646
  }
1607
1647
  /**
1608
1648
  * If the id is an end node ( [*] ), then return a new id constructed from
1609
1649
  * the end node name and the current start_end node count.
1610
1650
  * else return the given id
1611
- *
1612
- * @param {string} id
1613
- * @returns {string} - the id (original or constructed)
1614
- * @private
1615
1651
  */
1616
1652
  endIdIfNeeded(id = "") {
1617
- let fixedId = id;
1618
- if (id === END_NODE) {
1653
+ if (id === CONSTANTS.END_NODE) {
1619
1654
  this.startEndCount++;
1620
- fixedId = `${END_TYPE}${this.startEndCount}`;
1655
+ return `${CONSTANTS.END_TYPE}${this.startEndCount}`;
1621
1656
  }
1622
- return fixedId;
1657
+ return id;
1623
1658
  }
1624
1659
  /**
1625
1660
  * If the id is an end node ( [*] ), then return the end type
1626
1661
  * else return the given type
1627
1662
  *
1628
- * @param {string} id
1629
- * @param {string} type
1630
- * @returns {string} - the type that should be used
1631
- * @private
1632
1663
  */
1633
1664
  endTypeIfNeeded(id = "", type = DEFAULT_STATE_TYPE) {
1634
- return id === END_NODE ? END_TYPE : type;
1665
+ return id === CONSTANTS.END_NODE ? CONSTANTS.END_TYPE : type;
1635
1666
  }
1636
- /**
1637
- *
1638
- * @param item1
1639
- * @param item2
1640
- * @param relationTitle
1641
- */
1642
- addRelationObjs(item1, item2, relationTitle) {
1643
- let id1 = this.startIdIfNeeded(item1.id.trim());
1644
- let type1 = this.startTypeIfNeeded(item1.id.trim(), item1.type);
1645
- let id2 = this.startIdIfNeeded(item2.id.trim());
1646
- let type2 = this.startTypeIfNeeded(item2.id.trim(), item2.type);
1667
+ addRelationObjs(item1, item2, relationTitle = "") {
1668
+ const id1 = this.startIdIfNeeded(item1.id.trim());
1669
+ const type1 = this.startTypeIfNeeded(item1.id.trim(), item1.type);
1670
+ const id2 = this.startIdIfNeeded(item2.id.trim());
1671
+ const type2 = this.startTypeIfNeeded(item2.id.trim(), item2.type);
1647
1672
  this.addState(
1648
1673
  id1,
1649
1674
  type1,
@@ -1667,20 +1692,16 @@ var StateDB = class {
1667
1692
  this.currentDocument.relations.push({
1668
1693
  id1,
1669
1694
  id2,
1670
- relationTitle: _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(relationTitle, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)())
1695
+ relationTitle: _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(relationTitle, (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)())
1671
1696
  });
1672
1697
  }
1673
1698
  /**
1674
1699
  * Add a relation between two items. The items may be full objects or just the string id of a state.
1675
- *
1676
- * @param {string | object} item1
1677
- * @param {string | object} item2
1678
- * @param {string} title
1679
1700
  */
1680
1701
  addRelation(item1, item2, title) {
1681
- if (typeof item1 === "object") {
1702
+ if (typeof item1 === "object" && typeof item2 === "object") {
1682
1703
  this.addRelationObjs(item1, item2, title);
1683
- } else {
1704
+ } else if (typeof item1 === "string" && typeof item2 === "string") {
1684
1705
  const id1 = this.startIdIfNeeded(item1.trim());
1685
1706
  const type1 = this.startTypeIfNeeded(item1);
1686
1707
  const id2 = this.endIdIfNeeded(item2.trim());
@@ -1690,54 +1711,46 @@ var StateDB = class {
1690
1711
  this.currentDocument.relations.push({
1691
1712
  id1,
1692
1713
  id2,
1693
- title: _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(title, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)())
1714
+ relationTitle: title ? _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(title, (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)()) : void 0
1694
1715
  });
1695
1716
  }
1696
1717
  }
1697
1718
  addDescription(id, descr) {
1698
1719
  const theState = this.currentDocument.states.get(id);
1699
1720
  const _descr = descr.startsWith(":") ? descr.replace(":", "").trim() : descr;
1700
- theState.descriptions.push(_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .common_default */ .Y2.sanitizeText(_descr, (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)()));
1721
+ theState?.descriptions?.push(_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .common_default */ .Y2.sanitizeText(_descr, (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)()));
1701
1722
  }
1702
1723
  cleanupLabel(label) {
1703
- if (label.substring(0, 1) === ":") {
1704
- return label.substr(2).trim();
1705
- } else {
1706
- return label.trim();
1707
- }
1724
+ return label.startsWith(":") ? label.slice(2).trim() : label.trim();
1708
1725
  }
1709
1726
  getDividerId() {
1710
1727
  this.dividerCnt++;
1711
- return "divider-id-" + this.dividerCnt;
1728
+ return `divider-id-${this.dividerCnt}`;
1712
1729
  }
1713
1730
  /**
1714
1731
  * Called when the parser comes across a (style) class definition
1715
1732
  * @example classDef my-style fill:#f96;
1716
1733
  *
1717
- * @param {string} id - the id of this (style) class
1718
- * @param {string | null} styleAttributes - the string with 1 or more style attributes (each separated by a comma)
1734
+ * @param id - the id of this (style) class
1735
+ * @param styleAttributes - the string with 1 or more style attributes (each separated by a comma)
1719
1736
  */
1720
1737
  addStyleClass(id, styleAttributes = "") {
1721
1738
  if (!this.classes.has(id)) {
1722
1739
  this.classes.set(id, { id, styles: [], textStyles: [] });
1723
1740
  }
1724
1741
  const foundClass = this.classes.get(id);
1725
- if (styleAttributes !== void 0 && styleAttributes !== null) {
1726
- styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {
1742
+ if (styleAttributes && foundClass) {
1743
+ styleAttributes.split(CONSTANTS.STYLECLASS_SEP).forEach((attrib) => {
1727
1744
  const fixedAttrib = attrib.replace(/([^;]*);/, "$1").trim();
1728
- if (RegExp(COLOR_KEYWORD).exec(attrib)) {
1729
- const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);
1730
- const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);
1745
+ if (RegExp(CONSTANTS.COLOR_KEYWORD).exec(attrib)) {
1746
+ const newStyle1 = fixedAttrib.replace(CONSTANTS.FILL_KEYWORD, CONSTANTS.BG_FILL);
1747
+ const newStyle2 = newStyle1.replace(CONSTANTS.COLOR_KEYWORD, CONSTANTS.FILL_KEYWORD);
1731
1748
  foundClass.textStyles.push(newStyle2);
1732
1749
  }
1733
1750
  foundClass.styles.push(fixedAttrib);
1734
1751
  });
1735
1752
  }
1736
1753
  }
1737
- /**
1738
- * Return all of the style classes
1739
- * @returns {{} | any | classes}
1740
- */
1741
1754
  getClasses() {
1742
1755
  return this.classes;
1743
1756
  }
@@ -1746,18 +1759,18 @@ var StateDB = class {
1746
1759
  * If the state isn't already in the list of known states, add it.
1747
1760
  * Might be called by parser when a style class or CSS class should be applied to a state
1748
1761
  *
1749
- * @param {string | string[]} itemIds The id or a list of ids of the item(s) to apply the css class to
1750
- * @param {string} cssClassName CSS class name
1762
+ * @param itemIds - The id or a list of ids of the item(s) to apply the css class to
1763
+ * @param cssClassName - CSS class name
1751
1764
  */
1752
1765
  setCssClass(itemIds, cssClassName) {
1753
1766
  itemIds.split(",").forEach((id) => {
1754
1767
  let foundState = this.getState(id);
1755
- if (foundState === void 0) {
1768
+ if (!foundState) {
1756
1769
  const trimmedId = id.trim();
1757
1770
  this.addState(trimmedId);
1758
1771
  foundState = this.getState(trimmedId);
1759
1772
  }
1760
- foundState.classes.push(cssClassName);
1773
+ foundState?.classes?.push(cssClassName);
1761
1774
  });
1762
1775
  }
1763
1776
  /**
@@ -1767,31 +1780,24 @@ var StateDB = class {
1767
1780
  * stateId is the id of a state
1768
1781
  * the rest of the string is the styleText (all of the attributes to be applied to the state)
1769
1782
  *
1770
- * @param itemId The id of item to apply the style to
1783
+ * @param itemId - The id of item to apply the style to
1771
1784
  * @param styleText - the text of the attributes for the style
1772
1785
  */
1773
1786
  setStyle(itemId, styleText) {
1774
- const item = this.getState(itemId);
1775
- if (item !== void 0) {
1776
- item.styles.push(styleText);
1777
- }
1787
+ this.getState(itemId)?.styles?.push(styleText);
1778
1788
  }
1779
1789
  /**
1780
1790
  * Add a text style to a state with the given id
1781
1791
  *
1782
- * @param itemId The id of item to apply the css class to
1783
- * @param cssClassName CSS class name
1792
+ * @param itemId - The id of item to apply the css class to
1793
+ * @param cssClassName - CSS class name
1784
1794
  */
1785
1795
  setTextStyle(itemId, cssClassName) {
1786
- const item = this.getState(itemId);
1787
- if (item !== void 0) {
1788
- item.textStyles.push(cssClassName);
1789
- }
1796
+ this.getState(itemId)?.textStyles?.push(cssClassName);
1790
1797
  }
1791
1798
  /**
1792
1799
  * Finds the direction statement in the root document.
1793
- * @private
1794
- * @returns {{ value: string } | undefined} - the direction statement if present
1800
+ * @returns the direction statement if present
1795
1801
  */
1796
1802
  getDirectionStatement() {
1797
1803
  return this.rootDoc.find((doc) => doc.stmt === STMT_DIRECTION);
@@ -1808,10 +1814,10 @@ var StateDB = class {
1808
1814
  }
1809
1815
  }
1810
1816
  trimColon(str) {
1811
- return str && str[0] === ":" ? str.substr(1).trim() : str.trim();
1817
+ return str.startsWith(":") ? str.slice(1).trim() : str.trim();
1812
1818
  }
1813
1819
  getData() {
1814
- const config = (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)();
1820
+ const config = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)();
1815
1821
  return {
1816
1822
  nodes: this.nodes,
1817
1823
  edges: this.edges,
@@ -1821,18 +1827,12 @@ var StateDB = class {
1821
1827
  };
1822
1828
  }
1823
1829
  getConfig() {
1824
- return (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getConfig2 */ .D7)().state;
1830
+ return (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_4__/* .getConfig2 */ .D7)().state;
1825
1831
  }
1826
- getAccTitle = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getAccTitle */ .iN;
1827
- setAccTitle = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .setAccTitle */ .SV;
1828
- getAccDescription = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getAccDescription */ .m7;
1829
- setAccDescription = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .setAccDescription */ .EI;
1830
- setDiagramTitle = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .setDiagramTitle */ .ke;
1831
- getDiagramTitle = _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .getDiagramTitle */ .ab;
1832
1832
  };
1833
1833
 
1834
1834
  // src/diagrams/state/styles.js
1835
- var getStyles = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_3__/* .__name */ .K2)((options) => `
1835
+ var getStyles = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_5__/* .__name */ .K2)((options) => `
1836
1836
  defs #statediagram-barbEnd {
1837
1837
  fill: ${options.transitionColor};
1838
1838
  stroke: ${options.transitionColor};
@@ -2054,39 +2054,27 @@ var styles_default = getStyles;
2054
2054
 
2055
2055
  /***/ }),
2056
2056
 
2057
- /***/ 5051:
2057
+ /***/ 7925:
2058
2058
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2059
2059
 
2060
2060
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2061
- /* harmony export */ A: () => (/* binding */ getDiagramElement),
2062
2061
  /* harmony export */ P: () => (/* binding */ setupViewPortForSVG)
2063
2062
  /* harmony export */ });
2064
- /* harmony import */ var _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3804);
2065
- /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8066);
2066
-
2063
+ /* harmony import */ var _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6399);
2064
+ /* harmony import */ var _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(416);
2067
2065
 
2068
- // src/rendering-util/insertElementsForSize.js
2069
2066
 
2070
- var getDiagramElement = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .__name */ .K2)((id, securityLevel) => {
2071
- let sandboxElement;
2072
- if (securityLevel === "sandbox") {
2073
- sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)("#i" + id);
2074
- }
2075
- const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_1__/* .select */ .Ltv)("body");
2076
- const svg = root.select(`[id="${id}"]`);
2077
- return svg;
2078
- }, "getDiagramElement");
2079
2067
 
2080
2068
  // src/rendering-util/setupViewPortForSVG.ts
2081
- var setupViewPortForSVG = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .__name */ .K2)((svg, padding, cssDiagram, useMaxWidth) => {
2069
+ var setupViewPortForSVG = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_1__/* .__name */ .K2)((svg, padding, cssDiagram, useMaxWidth) => {
2082
2070
  svg.attr("class", cssDiagram);
2083
2071
  const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
2084
- (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .configureSvgSize */ .a$)(svg, height, width, useMaxWidth);
2072
+ (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_0__/* .configureSvgSize */ .a$)(svg, height, width, useMaxWidth);
2085
2073
  const viewBox = createViewBox(x, y, width, height, padding);
2086
2074
  svg.attr("viewBox", viewBox);
2087
- _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .log */ .Rm.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);
2075
+ _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);
2088
2076
  }, "setupViewPortForSVG");
2089
- var calculateDimensionsWithPadding = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .__name */ .K2)((svg, padding) => {
2077
+ var calculateDimensionsWithPadding = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_1__/* .__name */ .K2)((svg, padding) => {
2090
2078
  const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };
2091
2079
  return {
2092
2080
  width: bounds.width + padding * 2,
@@ -2095,7 +2083,7 @@ var calculateDimensionsWithPadding = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEB
2095
2083
  y: bounds.y
2096
2084
  };
2097
2085
  }, "calculateDimensionsWithPadding");
2098
- var createViewBox = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_0__/* .__name */ .K2)((x, y, width, height, padding) => {
2086
+ var createViewBox = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_1__/* .__name */ .K2)((x, y, width, height, padding) => {
2099
2087
  return `${x - padding} ${y - padding} ${width} ${height}`;
2100
2088
  }, "createViewBox");
2101
2089
 
@@ -2106,4 +2094,4 @@ var createViewBox = /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MOD
2106
2094
 
2107
2095
  };
2108
2096
  ;
2109
- //# sourceMappingURL=855.node.js.map
2097
+ //# sourceMappingURL=901.node.js.map