@oxide/design-system 1.7.7--canary.fdd8ab6.0 → 1.7.7--canary.fc65d31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/components/dist/architecture-I3QFYML2-YZWO3N3B.js +14 -0
  2. package/components/dist/architecture-I3QFYML2-YZWO3N3B.js.map +1 -0
  3. package/components/dist/architectureDiagram-UYN6MBPD-HXPGIDN7.js +8846 -0
  4. package/components/dist/architectureDiagram-UYN6MBPD-HXPGIDN7.js.map +1 -0
  5. package/components/dist/blockDiagram-ZHA2E4KO-OAYYKCLF.js +3721 -0
  6. package/components/dist/blockDiagram-ZHA2E4KO-OAYYKCLF.js.map +1 -0
  7. package/components/dist/c4Diagram-6F5ED5ID-TBHFK2XY.js +2599 -0
  8. package/components/dist/c4Diagram-6F5ED5ID-TBHFK2XY.js.map +1 -0
  9. package/components/dist/chunk-2DDKDUUO.js +439 -0
  10. package/components/dist/chunk-2DDKDUUO.js.map +1 -0
  11. package/components/dist/chunk-2NHDMTP7.js +26905 -0
  12. package/components/dist/chunk-2NHDMTP7.js.map +1 -0
  13. package/components/dist/chunk-4IJS44L3.js +22 -0
  14. package/components/dist/chunk-4IJS44L3.js.map +1 -0
  15. package/components/dist/chunk-562WOS3Z.js +1109 -0
  16. package/components/dist/chunk-562WOS3Z.js.map +1 -0
  17. package/components/dist/chunk-6UD2HOKB.js +17082 -0
  18. package/components/dist/chunk-6UD2HOKB.js.map +1 -0
  19. package/components/dist/chunk-76BOQ7BT.js +63 -0
  20. package/components/dist/chunk-76BOQ7BT.js.map +1 -0
  21. package/components/dist/chunk-7I5DT373.js +97 -0
  22. package/components/dist/chunk-7I5DT373.js.map +1 -0
  23. package/components/dist/chunk-BPREMNVP.js +1875 -0
  24. package/components/dist/chunk-BPREMNVP.js.map +1 -0
  25. package/components/dist/chunk-BVYAEHG3.js +122 -0
  26. package/components/dist/chunk-BVYAEHG3.js.map +1 -0
  27. package/components/dist/chunk-BW7DFBOS.js +152 -0
  28. package/components/dist/chunk-BW7DFBOS.js.map +1 -0
  29. package/components/dist/chunk-EZG2MNHW.js +59 -0
  30. package/components/dist/chunk-EZG2MNHW.js.map +1 -0
  31. package/components/dist/chunk-G6QWNAHJ.js +43 -0
  32. package/components/dist/chunk-G6QWNAHJ.js.map +1 -0
  33. package/components/dist/chunk-H72D3HRR.js +1244 -0
  34. package/components/dist/chunk-H72D3HRR.js.map +1 -0
  35. package/components/dist/chunk-K532NZMW.js +46 -0
  36. package/components/dist/chunk-K532NZMW.js.map +1 -0
  37. package/components/dist/chunk-LC3BX2KL.js +25 -0
  38. package/components/dist/chunk-LC3BX2KL.js.map +1 -0
  39. package/components/dist/chunk-LQ2ABR7F.js +5665 -0
  40. package/components/dist/chunk-LQ2ABR7F.js.map +1 -0
  41. package/components/dist/chunk-M6L3MM6K.js +22 -0
  42. package/components/dist/chunk-M6L3MM6K.js.map +1 -0
  43. package/components/dist/chunk-MWA4PRRW.js +122 -0
  44. package/components/dist/chunk-MWA4PRRW.js.map +1 -0
  45. package/components/dist/chunk-ND3FLKHU.js +570 -0
  46. package/components/dist/chunk-ND3FLKHU.js.map +1 -0
  47. package/components/dist/chunk-NIVHLOPB.js +2621 -0
  48. package/components/dist/chunk-NIVHLOPB.js.map +1 -0
  49. package/components/dist/chunk-R6F6FFK7.js +65 -0
  50. package/components/dist/chunk-R6F6FFK7.js.map +1 -0
  51. package/components/dist/chunk-RN5R3L7O.js +2041 -0
  52. package/components/dist/chunk-RN5R3L7O.js.map +1 -0
  53. package/components/dist/chunk-RWDBBMDN.js +10910 -0
  54. package/components/dist/chunk-RWDBBMDN.js.map +1 -0
  55. package/components/dist/chunk-T7HPDS4Z.js +573 -0
  56. package/components/dist/chunk-T7HPDS4Z.js.map +1 -0
  57. package/components/dist/chunk-TG4YEU4Q.js +23 -0
  58. package/components/dist/chunk-TG4YEU4Q.js.map +1 -0
  59. package/components/dist/chunk-U5WCXBW2.js +48 -0
  60. package/components/dist/chunk-U5WCXBW2.js.map +1 -0
  61. package/components/dist/chunk-V6PWN6OH.js +1875 -0
  62. package/components/dist/chunk-V6PWN6OH.js.map +1 -0
  63. package/components/dist/chunk-VLTHNCSD.js +48 -0
  64. package/components/dist/chunk-VLTHNCSD.js.map +1 -0
  65. package/components/dist/chunk-WDK4G4UR.js +2791 -0
  66. package/components/dist/chunk-WDK4G4UR.js.map +1 -0
  67. package/components/dist/chunk-WLVQWTC6.js +77 -0
  68. package/components/dist/chunk-WLVQWTC6.js.map +1 -0
  69. package/components/dist/chunk-YDLS5R4M.js +48 -0
  70. package/components/dist/chunk-YDLS5R4M.js.map +1 -0
  71. package/components/dist/chunk-YGFBWU2Q.js +7 -0
  72. package/components/dist/chunk-YGFBWU2Q.js.map +1 -0
  73. package/components/dist/chunk-ZBL4CWCH.js +2120 -0
  74. package/components/dist/chunk-ZBL4CWCH.js.map +1 -0
  75. package/components/dist/classDiagram-LNE6IOMH-VRQHEQWM.js +40 -0
  76. package/components/dist/classDiagram-LNE6IOMH-VRQHEQWM.js.map +1 -0
  77. package/components/dist/classDiagram-v2-MQ7JQ4JX-5GB4NXXM.js +40 -0
  78. package/components/dist/classDiagram-v2-MQ7JQ4JX-5GB4NXXM.js.map +1 -0
  79. package/components/dist/dagre-4EVJKHTY-XW45LMKR.js +734 -0
  80. package/components/dist/dagre-4EVJKHTY-XW45LMKR.js.map +1 -0
  81. package/components/dist/diagram-QW4FP2JN-J2YMUPB5.js +226 -0
  82. package/components/dist/diagram-QW4FP2JN-J2YMUPB5.js.map +1 -0
  83. package/components/dist/erDiagram-6RL3IURR-HQULDVJI.js +1381 -0
  84. package/components/dist/erDiagram-6RL3IURR-HQULDVJI.js.map +1 -0
  85. package/components/dist/flowDiagram-7ASYPVHJ-2542732I.js +2349 -0
  86. package/components/dist/flowDiagram-7ASYPVHJ-2542732I.js.map +1 -0
  87. package/components/dist/ganttDiagram-NTVNEXSI-V66YQQB3.js +2413 -0
  88. package/components/dist/ganttDiagram-NTVNEXSI-V66YQQB3.js.map +1 -0
  89. package/components/dist/gitGraph-YCYPL57B-AAXPWQN7.js +14 -0
  90. package/components/dist/gitGraph-YCYPL57B-AAXPWQN7.js.map +1 -0
  91. package/components/dist/gitGraphDiagram-NRZ2UAAF-5DU6QMYZ.js +1763 -0
  92. package/components/dist/gitGraphDiagram-NRZ2UAAF-5DU6QMYZ.js.map +1 -0
  93. package/components/dist/index.d.ts +5 -2
  94. package/components/dist/index.js +1729 -126
  95. package/components/dist/index.js.map +1 -1
  96. package/components/dist/info-46DW6VJ7-43TTIEYF.js +14 -0
  97. package/components/dist/info-46DW6VJ7-43TTIEYF.js.map +1 -0
  98. package/components/dist/infoDiagram-A4XQUW5V-UZERSQDI.js +54 -0
  99. package/components/dist/infoDiagram-A4XQUW5V-UZERSQDI.js.map +1 -0
  100. package/components/dist/journeyDiagram-G5WM74LC-RVKMRGRW.js +1244 -0
  101. package/components/dist/journeyDiagram-G5WM74LC-RVKMRGRW.js.map +1 -0
  102. package/components/dist/kanban-definition-QRCXZQQD-NWU5I3TK.js +1119 -0
  103. package/components/dist/kanban-definition-QRCXZQQD-NWU5I3TK.js.map +1 -0
  104. package/components/dist/katex-WNZY3CE5.js +14484 -0
  105. package/components/dist/katex-WNZY3CE5.js.map +1 -0
  106. package/components/dist/mindmap-definition-GWI6TPTV-MISEH6LG.js +6013 -0
  107. package/components/dist/mindmap-definition-GWI6TPTV-MISEH6LG.js.map +1 -0
  108. package/components/dist/packet-W2GHVCYJ-FBZCFIPR.js +14 -0
  109. package/components/dist/packet-W2GHVCYJ-FBZCFIPR.js.map +1 -0
  110. package/components/dist/pie-BEWT4RHE-UFFBBCXM.js +14 -0
  111. package/components/dist/pie-BEWT4RHE-UFFBBCXM.js.map +1 -0
  112. package/components/dist/pieDiagram-YF2LJOPJ-IXEVHPCM.js +223 -0
  113. package/components/dist/pieDiagram-YF2LJOPJ-IXEVHPCM.js.map +1 -0
  114. package/components/dist/quadrantDiagram-OS5C2QUG-MW26UCZV.js +1408 -0
  115. package/components/dist/quadrantDiagram-OS5C2QUG-MW26UCZV.js.map +1 -0
  116. package/components/dist/requirementDiagram-MIRIMTAZ-BX24AAHL.js +1175 -0
  117. package/components/dist/requirementDiagram-MIRIMTAZ-BX24AAHL.js.map +1 -0
  118. package/components/dist/sankeyDiagram-Y46BX6SQ-5RKUGG63.js +1278 -0
  119. package/components/dist/sankeyDiagram-Y46BX6SQ-5RKUGG63.js.map +1 -0
  120. package/components/dist/sequenceDiagram-G6AWOVSC-2T3JBUZ2.js +3529 -0
  121. package/components/dist/sequenceDiagram-G6AWOVSC-2T3JBUZ2.js.map +1 -0
  122. package/components/dist/stateDiagram-MAYHULR4-HZ5EGLPA.js +505 -0
  123. package/components/dist/stateDiagram-MAYHULR4-HZ5EGLPA.js.map +1 -0
  124. package/components/dist/stateDiagram-v2-4JROLMXI-DN2FEZV3.js +40 -0
  125. package/components/dist/stateDiagram-v2-4JROLMXI-DN2FEZV3.js.map +1 -0
  126. package/components/dist/timeline-definition-U7ZMHBDA-GB6AKKW4.js +1260 -0
  127. package/components/dist/timeline-definition-U7ZMHBDA-GB6AKKW4.js.map +1 -0
  128. package/components/dist/xychartDiagram-6QU3TZC5-BFFLEHUP.js +1877 -0
  129. package/components/dist/xychartDiagram-6QU3TZC5-BFFLEHUP.js.map +1 -0
  130. package/package.json +2 -1
@@ -0,0 +1,1875 @@
1
+ import {
2
+ getDiagramElement,
3
+ setupViewPortForSVG
4
+ } from "./chunk-G6QWNAHJ.js";
5
+ import {
6
+ getRegisteredLayoutAlgorithm,
7
+ render
8
+ } from "./chunk-WLVQWTC6.js";
9
+ import {
10
+ getEdgeId,
11
+ utils_default
12
+ } from "./chunk-T7HPDS4Z.js";
13
+ import {
14
+ __name,
15
+ clear,
16
+ common_default,
17
+ getAccDescription,
18
+ getAccTitle,
19
+ getConfig2,
20
+ getDiagramTitle,
21
+ log,
22
+ parseGenericTypes,
23
+ sanitizeText,
24
+ select_default,
25
+ setAccDescription,
26
+ setAccTitle,
27
+ setDiagramTitle
28
+ } from "./chunk-RWDBBMDN.js";
29
+
30
+ // node_modules/mermaid/dist/chunks/mermaid.core/chunk-T2TOU4HS.mjs
31
+ var parser = function() {
32
+ var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
33
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
34
+ ;
35
+ return o2;
36
+ }, "o"), $V0 = [1, 18], $V1 = [1, 19], $V2 = [1, 20], $V3 = [1, 41], $V4 = [1, 42], $V5 = [1, 26], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 32], $V9 = [1, 33], $Va = [1, 34], $Vb = [1, 45], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 37], $Vf = [1, 38], $Vg = [1, 27], $Vh = [1, 28], $Vi = [1, 29], $Vj = [1, 30], $Vk = [1, 31], $Vl = [1, 44], $Vm = [1, 46], $Vn = [1, 43], $Vo = [1, 47], $Vp = [1, 9], $Vq = [1, 8, 9], $Vr = [1, 58], $Vs = [1, 59], $Vt = [1, 60], $Vu = [1, 61], $Vv = [1, 62], $Vw = [1, 63], $Vx = [1, 64], $Vy = [1, 8, 9, 41], $Vz = [1, 76], $VA = [1, 8, 9, 12, 13, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], $VB = [1, 8, 9, 12, 13, 17, 20, 22, 39, 41, 44, 48, 58, 66, 67, 68, 69, 70, 71, 72, 77, 79, 84, 99, 101, 102], $VC = [13, 58, 84, 99, 101, 102], $VD = [13, 58, 71, 72, 84, 99, 101, 102], $VE = [13, 58, 66, 67, 68, 69, 70, 84, 99, 101, 102], $VF = [1, 98], $VG = [1, 115], $VH = [1, 107], $VI = [1, 113], $VJ = [1, 108], $VK = [1, 109], $VL = [1, 110], $VM = [1, 111], $VN = [1, 112], $VO = [1, 114], $VP = [22, 58, 59, 80, 84, 85, 86, 87, 88, 89], $VQ = [1, 8, 9, 39, 41, 44], $VR = [1, 8, 9, 22], $VS = [1, 143], $VT = [1, 8, 9, 59], $VU = [1, 8, 9, 22, 58, 59, 80, 84, 85, 86, 87, 88, 89];
37
+ var parser2 = {
38
+ trace: /* @__PURE__ */ __name(function trace() {
39
+ }, "trace"),
40
+ yy: {},
41
+ symbols_: { "error": 2, "start": 3, "mermaidDoc": 4, "statements": 5, "graphConfig": 6, "CLASS_DIAGRAM": 7, "NEWLINE": 8, "EOF": 9, "statement": 10, "classLabel": 11, "SQS": 12, "STR": 13, "SQE": 14, "namespaceName": 15, "alphaNumToken": 16, "DOT": 17, "className": 18, "classLiteralName": 19, "GENERICTYPE": 20, "relationStatement": 21, "LABEL": 22, "namespaceStatement": 23, "classStatement": 24, "memberStatement": 25, "annotationStatement": 26, "clickStatement": 27, "styleStatement": 28, "cssClassStatement": 29, "noteStatement": 30, "classDefStatement": 31, "direction": 32, "acc_title": 33, "acc_title_value": 34, "acc_descr": 35, "acc_descr_value": 36, "acc_descr_multiline_value": 37, "namespaceIdentifier": 38, "STRUCT_START": 39, "classStatements": 40, "STRUCT_STOP": 41, "NAMESPACE": 42, "classIdentifier": 43, "STYLE_SEPARATOR": 44, "members": 45, "CLASS": 46, "ANNOTATION_START": 47, "ANNOTATION_END": 48, "MEMBER": 49, "SEPARATOR": 50, "relation": 51, "NOTE_FOR": 52, "noteText": 53, "NOTE": 54, "CLASSDEF": 55, "classList": 56, "stylesOpt": 57, "ALPHA": 58, "COMMA": 59, "direction_tb": 60, "direction_bt": 61, "direction_rl": 62, "direction_lr": 63, "relationType": 64, "lineType": 65, "AGGREGATION": 66, "EXTENSION": 67, "COMPOSITION": 68, "DEPENDENCY": 69, "LOLLIPOP": 70, "LINE": 71, "DOTTED_LINE": 72, "CALLBACK": 73, "LINK": 74, "LINK_TARGET": 75, "CLICK": 76, "CALLBACK_NAME": 77, "CALLBACK_ARGS": 78, "HREF": 79, "STYLE": 80, "CSSCLASS": 81, "style": 82, "styleComponent": 83, "NUM": 84, "COLON": 85, "UNIT": 86, "SPACE": 87, "BRKT": 88, "PCT": 89, "commentToken": 90, "textToken": 91, "graphCodeTokens": 92, "textNoTagsToken": 93, "TAGSTART": 94, "TAGEND": 95, "==": 96, "--": 97, "DEFAULT": 98, "MINUS": 99, "keywords": 100, "UNICODE_TEXT": 101, "BQUOTE_STR": 102, "$accept": 0, "$end": 1 },
42
+ terminals_: { 2: "error", 7: "CLASS_DIAGRAM", 8: "NEWLINE", 9: "EOF", 12: "SQS", 13: "STR", 14: "SQE", 17: "DOT", 20: "GENERICTYPE", 22: "LABEL", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 39: "STRUCT_START", 41: "STRUCT_STOP", 42: "NAMESPACE", 44: "STYLE_SEPARATOR", 46: "CLASS", 47: "ANNOTATION_START", 48: "ANNOTATION_END", 49: "MEMBER", 50: "SEPARATOR", 52: "NOTE_FOR", 54: "NOTE", 55: "CLASSDEF", 58: "ALPHA", 59: "COMMA", 60: "direction_tb", 61: "direction_bt", 62: "direction_rl", 63: "direction_lr", 66: "AGGREGATION", 67: "EXTENSION", 68: "COMPOSITION", 69: "DEPENDENCY", 70: "LOLLIPOP", 71: "LINE", 72: "DOTTED_LINE", 73: "CALLBACK", 74: "LINK", 75: "LINK_TARGET", 76: "CLICK", 77: "CALLBACK_NAME", 78: "CALLBACK_ARGS", 79: "HREF", 80: "STYLE", 81: "CSSCLASS", 84: "NUM", 85: "COLON", 86: "UNIT", 87: "SPACE", 88: "BRKT", 89: "PCT", 92: "graphCodeTokens", 94: "TAGSTART", 95: "TAGEND", 96: "==", 97: "--", 98: "DEFAULT", 99: "MINUS", 100: "keywords", 101: "UNICODE_TEXT", 102: "BQUOTE_STR" },
43
+ productions_: [0, [3, 1], [3, 1], [4, 1], [6, 4], [5, 1], [5, 2], [5, 3], [11, 3], [15, 1], [15, 3], [15, 2], [18, 1], [18, 3], [18, 1], [18, 2], [18, 2], [18, 2], [10, 1], [10, 2], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [23, 4], [23, 5], [38, 2], [40, 1], [40, 2], [40, 3], [24, 1], [24, 3], [24, 4], [24, 6], [43, 2], [43, 3], [26, 4], [45, 1], [45, 2], [25, 1], [25, 2], [25, 1], [25, 1], [21, 3], [21, 4], [21, 4], [21, 5], [30, 3], [30, 2], [31, 3], [56, 1], [56, 3], [32, 1], [32, 1], [32, 1], [32, 1], [51, 3], [51, 2], [51, 2], [51, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [65, 1], [65, 1], [27, 3], [27, 4], [27, 3], [27, 4], [27, 4], [27, 5], [27, 3], [27, 4], [27, 4], [27, 5], [27, 4], [27, 5], [27, 5], [27, 6], [28, 3], [29, 3], [57, 1], [57, 3], [82, 1], [82, 2], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [90, 1], [90, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [93, 1], [93, 1], [93, 1], [93, 1], [16, 1], [16, 1], [16, 1], [16, 1], [19, 1], [53, 1]],
44
+ performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
45
+ var $0 = $$.length - 1;
46
+ switch (yystate) {
47
+ case 8:
48
+ this.$ = $$[$0 - 1];
49
+ break;
50
+ case 9:
51
+ case 12:
52
+ case 14:
53
+ this.$ = $$[$0];
54
+ break;
55
+ case 10:
56
+ case 13:
57
+ this.$ = $$[$0 - 2] + "." + $$[$0];
58
+ break;
59
+ case 11:
60
+ case 15:
61
+ this.$ = $$[$0 - 1] + $$[$0];
62
+ break;
63
+ case 16:
64
+ case 17:
65
+ this.$ = $$[$0 - 1] + "~" + $$[$0] + "~";
66
+ break;
67
+ case 18:
68
+ yy.addRelation($$[$0]);
69
+ break;
70
+ case 19:
71
+ $$[$0 - 1].title = yy.cleanupLabel($$[$0]);
72
+ yy.addRelation($$[$0 - 1]);
73
+ break;
74
+ case 30:
75
+ this.$ = $$[$0].trim();
76
+ yy.setAccTitle(this.$);
77
+ break;
78
+ case 31:
79
+ case 32:
80
+ this.$ = $$[$0].trim();
81
+ yy.setAccDescription(this.$);
82
+ break;
83
+ case 33:
84
+ yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1]);
85
+ break;
86
+ case 34:
87
+ yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1]);
88
+ break;
89
+ case 35:
90
+ this.$ = $$[$0];
91
+ yy.addNamespace($$[$0]);
92
+ break;
93
+ case 36:
94
+ this.$ = [$$[$0]];
95
+ break;
96
+ case 37:
97
+ this.$ = [$$[$0 - 1]];
98
+ break;
99
+ case 38:
100
+ $$[$0].unshift($$[$0 - 2]);
101
+ this.$ = $$[$0];
102
+ break;
103
+ case 40:
104
+ yy.setCssClass($$[$0 - 2], $$[$0]);
105
+ break;
106
+ case 41:
107
+ yy.addMembers($$[$0 - 3], $$[$0 - 1]);
108
+ break;
109
+ case 42:
110
+ yy.setCssClass($$[$0 - 5], $$[$0 - 3]);
111
+ yy.addMembers($$[$0 - 5], $$[$0 - 1]);
112
+ break;
113
+ case 43:
114
+ this.$ = $$[$0];
115
+ yy.addClass($$[$0]);
116
+ break;
117
+ case 44:
118
+ this.$ = $$[$0 - 1];
119
+ yy.addClass($$[$0 - 1]);
120
+ yy.setClassLabel($$[$0 - 1], $$[$0]);
121
+ break;
122
+ case 45:
123
+ yy.addAnnotation($$[$0], $$[$0 - 2]);
124
+ break;
125
+ case 46:
126
+ case 59:
127
+ this.$ = [$$[$0]];
128
+ break;
129
+ case 47:
130
+ $$[$0].push($$[$0 - 1]);
131
+ this.$ = $$[$0];
132
+ break;
133
+ case 48:
134
+ break;
135
+ case 49:
136
+ yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));
137
+ break;
138
+ case 50:
139
+ break;
140
+ case 51:
141
+ break;
142
+ case 52:
143
+ this.$ = { "id1": $$[$0 - 2], "id2": $$[$0], relation: $$[$0 - 1], relationTitle1: "none", relationTitle2: "none" };
144
+ break;
145
+ case 53:
146
+ this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 1], relationTitle1: $$[$0 - 2], relationTitle2: "none" };
147
+ break;
148
+ case 54:
149
+ this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: "none", relationTitle2: $$[$0 - 1] };
150
+ break;
151
+ case 55:
152
+ this.$ = { id1: $$[$0 - 4], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: $$[$0 - 3], relationTitle2: $$[$0 - 1] };
153
+ break;
154
+ case 56:
155
+ yy.addNote($$[$0], $$[$0 - 1]);
156
+ break;
157
+ case 57:
158
+ yy.addNote($$[$0]);
159
+ break;
160
+ case 58:
161
+ this.$ = $$[$0 - 2];
162
+ yy.defineClass($$[$0 - 1], $$[$0]);
163
+ break;
164
+ case 60:
165
+ this.$ = $$[$0 - 2].concat([$$[$0]]);
166
+ break;
167
+ case 61:
168
+ yy.setDirection("TB");
169
+ break;
170
+ case 62:
171
+ yy.setDirection("BT");
172
+ break;
173
+ case 63:
174
+ yy.setDirection("RL");
175
+ break;
176
+ case 64:
177
+ yy.setDirection("LR");
178
+ break;
179
+ case 65:
180
+ this.$ = { type1: $$[$0 - 2], type2: $$[$0], lineType: $$[$0 - 1] };
181
+ break;
182
+ case 66:
183
+ this.$ = { type1: "none", type2: $$[$0], lineType: $$[$0 - 1] };
184
+ break;
185
+ case 67:
186
+ this.$ = { type1: $$[$0 - 1], type2: "none", lineType: $$[$0] };
187
+ break;
188
+ case 68:
189
+ this.$ = { type1: "none", type2: "none", lineType: $$[$0] };
190
+ break;
191
+ case 69:
192
+ this.$ = yy.relationType.AGGREGATION;
193
+ break;
194
+ case 70:
195
+ this.$ = yy.relationType.EXTENSION;
196
+ break;
197
+ case 71:
198
+ this.$ = yy.relationType.COMPOSITION;
199
+ break;
200
+ case 72:
201
+ this.$ = yy.relationType.DEPENDENCY;
202
+ break;
203
+ case 73:
204
+ this.$ = yy.relationType.LOLLIPOP;
205
+ break;
206
+ case 74:
207
+ this.$ = yy.lineType.LINE;
208
+ break;
209
+ case 75:
210
+ this.$ = yy.lineType.DOTTED_LINE;
211
+ break;
212
+ case 76:
213
+ case 82:
214
+ this.$ = $$[$0 - 2];
215
+ yy.setClickEvent($$[$0 - 1], $$[$0]);
216
+ break;
217
+ case 77:
218
+ case 83:
219
+ this.$ = $$[$0 - 3];
220
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);
221
+ yy.setTooltip($$[$0 - 2], $$[$0]);
222
+ break;
223
+ case 78:
224
+ this.$ = $$[$0 - 2];
225
+ yy.setLink($$[$0 - 1], $$[$0]);
226
+ break;
227
+ case 79:
228
+ this.$ = $$[$0 - 3];
229
+ yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
230
+ break;
231
+ case 80:
232
+ this.$ = $$[$0 - 3];
233
+ yy.setLink($$[$0 - 2], $$[$0 - 1]);
234
+ yy.setTooltip($$[$0 - 2], $$[$0]);
235
+ break;
236
+ case 81:
237
+ this.$ = $$[$0 - 4];
238
+ yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
239
+ yy.setTooltip($$[$0 - 3], $$[$0 - 1]);
240
+ break;
241
+ case 84:
242
+ this.$ = $$[$0 - 3];
243
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
244
+ break;
245
+ case 85:
246
+ this.$ = $$[$0 - 4];
247
+ yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);
248
+ yy.setTooltip($$[$0 - 3], $$[$0]);
249
+ break;
250
+ case 86:
251
+ this.$ = $$[$0 - 3];
252
+ yy.setLink($$[$0 - 2], $$[$0]);
253
+ break;
254
+ case 87:
255
+ this.$ = $$[$0 - 4];
256
+ yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);
257
+ break;
258
+ case 88:
259
+ this.$ = $$[$0 - 4];
260
+ yy.setLink($$[$0 - 3], $$[$0 - 1]);
261
+ yy.setTooltip($$[$0 - 3], $$[$0]);
262
+ break;
263
+ case 89:
264
+ this.$ = $$[$0 - 5];
265
+ yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);
266
+ yy.setTooltip($$[$0 - 4], $$[$0 - 1]);
267
+ break;
268
+ case 90:
269
+ this.$ = $$[$0 - 2];
270
+ yy.setCssStyle($$[$0 - 1], $$[$0]);
271
+ break;
272
+ case 91:
273
+ yy.setCssClass($$[$0 - 1], $$[$0]);
274
+ break;
275
+ case 92:
276
+ this.$ = [$$[$0]];
277
+ break;
278
+ case 93:
279
+ $$[$0 - 2].push($$[$0]);
280
+ this.$ = $$[$0 - 2];
281
+ break;
282
+ case 95:
283
+ this.$ = $$[$0 - 1] + $$[$0];
284
+ break;
285
+ }
286
+ }, "anonymous"),
287
+ table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: [1, 6], 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, o($Vp, [2, 5], { 8: [1, 48] }), { 8: [1, 49] }, o($Vq, [2, 18], { 22: [1, 50] }), o($Vq, [2, 20]), o($Vq, [2, 21]), o($Vq, [2, 22]), o($Vq, [2, 23]), o($Vq, [2, 24]), o($Vq, [2, 25]), o($Vq, [2, 26]), o($Vq, [2, 27]), o($Vq, [2, 28]), o($Vq, [2, 29]), { 34: [1, 51] }, { 36: [1, 52] }, o($Vq, [2, 32]), o($Vq, [2, 48], { 51: 53, 64: 56, 65: 57, 13: [1, 54], 22: [1, 55], 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }), { 39: [1, 65] }, o($Vy, [2, 39], { 39: [1, 67], 44: [1, 66] }), o($Vq, [2, 50]), o($Vq, [2, 51]), { 16: 68, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 69, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 70, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 71, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 58: [1, 72] }, { 13: [1, 73] }, { 16: 39, 18: 74, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: $Vz, 53: 75 }, { 56: 77, 58: [1, 78] }, o($Vq, [2, 61]), o($Vq, [2, 62]), o($Vq, [2, 63]), o($Vq, [2, 64]), o($VA, [2, 12], { 16: 39, 19: 40, 18: 80, 17: [1, 79], 20: [1, 81], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), o($VA, [2, 14], { 20: [1, 82] }), { 15: 83, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 85, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VB, [2, 118]), o($VB, [2, 119]), o($VB, [2, 120]), o($VB, [2, 121]), o([1, 8, 9, 12, 13, 20, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], [2, 122]), o($Vp, [2, 6], { 10: 5, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 18: 21, 38: 22, 43: 23, 16: 39, 19: 40, 5: 86, 33: $V0, 35: $V1, 37: $V2, 42: $V3, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), { 5: 87, 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 19]), o($Vq, [2, 30]), o($Vq, [2, 31]), { 13: [1, 89], 16: 39, 18: 88, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 51: 90, 64: 56, 65: 57, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }, o($Vq, [2, 49]), { 65: 91, 71: $Vw, 72: $Vx }, o($VC, [2, 68], { 64: 92, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VD, [2, 69]), o($VD, [2, 70]), o($VD, [2, 71]), o($VD, [2, 72]), o($VD, [2, 73]), o($VE, [2, 74]), o($VE, [2, 75]), { 8: [1, 94], 24: 95, 40: 93, 43: 23, 46: $V4 }, { 16: 96, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 45: 97, 49: $VF }, { 48: [1, 99] }, { 13: [1, 100] }, { 13: [1, 101] }, { 77: [1, 102], 79: [1, 103] }, { 22: $VG, 57: 104, 58: $VH, 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, { 58: [1, 116] }, { 13: $Vz, 53: 117 }, o($Vq, [2, 57]), o($Vq, [2, 123]), { 22: $VG, 57: 118, 58: $VH, 59: [1, 119], 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VP, [2, 59]), { 16: 39, 18: 120, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), { 39: [2, 35] }, { 15: 122, 16: 84, 17: [1, 121], 39: [2, 9], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, o($VQ, [2, 43], { 11: 123, 12: [1, 124] }), o($Vp, [2, 7]), { 9: [1, 125] }, o($VR, [2, 52]), { 16: 39, 18: 126, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: [1, 128], 16: 39, 18: 127, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 67], { 64: 129, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VC, [2, 66]), { 41: [1, 130] }, { 24: 95, 40: 131, 43: 23, 46: $V4 }, { 8: [1, 132], 41: [2, 36] }, o($Vy, [2, 40], { 39: [1, 133] }), { 41: [1, 134] }, { 41: [2, 46], 45: 135, 49: $VF }, { 16: 39, 18: 136, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 76], { 13: [1, 137] }), o($Vq, [2, 78], { 13: [1, 139], 75: [1, 138] }), o($Vq, [2, 82], { 13: [1, 140], 78: [1, 141] }), { 13: [1, 142] }, o($Vq, [2, 90], { 59: $VS }), o($VT, [2, 92], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VU, [2, 94]), o($VU, [2, 96]), o($VU, [2, 97]), o($VU, [2, 98]), o($VU, [2, 99]), o($VU, [2, 100]), o($VU, [2, 101]), o($VU, [2, 102]), o($VU, [2, 103]), o($VU, [2, 104]), o($Vq, [2, 91]), o($Vq, [2, 56]), o($Vq, [2, 58], { 59: $VS }), { 58: [1, 145] }, o($VA, [2, 13]), { 15: 146, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 39: [2, 11] }, o($VQ, [2, 44]), { 13: [1, 147] }, { 1: [2, 4] }, o($VR, [2, 54]), o($VR, [2, 53]), { 16: 39, 18: 148, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 65]), o($Vq, [2, 33]), { 41: [1, 149] }, { 24: 95, 40: 150, 41: [2, 37], 43: 23, 46: $V4 }, { 45: 151, 49: $VF }, o($Vy, [2, 41]), { 41: [2, 47] }, o($Vq, [2, 45]), o($Vq, [2, 77]), o($Vq, [2, 79]), o($Vq, [2, 80], { 75: [1, 152] }), o($Vq, [2, 83]), o($Vq, [2, 84], { 13: [1, 153] }), o($Vq, [2, 86], { 13: [1, 155], 75: [1, 154] }), { 22: $VG, 58: $VH, 80: $VI, 82: 156, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VU, [2, 95]), o($VP, [2, 60]), { 39: [2, 10] }, { 14: [1, 157] }, o($VR, [2, 55]), o($Vq, [2, 34]), { 41: [2, 38] }, { 41: [1, 158] }, o($Vq, [2, 81]), o($Vq, [2, 85]), o($Vq, [2, 87]), o($Vq, [2, 88], { 75: [1, 159] }), o($VT, [2, 93], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VQ, [2, 8]), o($Vy, [2, 42]), o($Vq, [2, 89])],
288
+ defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 3], 83: [2, 35], 122: [2, 11], 125: [2, 4], 135: [2, 47], 146: [2, 10], 150: [2, 38] },
289
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
290
+ if (hash.recoverable) {
291
+ this.trace(str);
292
+ } else {
293
+ var error = new Error(str);
294
+ error.hash = hash;
295
+ throw error;
296
+ }
297
+ }, "parseError"),
298
+ parse: /* @__PURE__ */ __name(function parse(input) {
299
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
300
+ var args = lstack.slice.call(arguments, 1);
301
+ var lexer2 = Object.create(this.lexer);
302
+ var sharedState = { yy: {} };
303
+ for (var k in this.yy) {
304
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
305
+ sharedState.yy[k] = this.yy[k];
306
+ }
307
+ }
308
+ lexer2.setInput(input, sharedState.yy);
309
+ sharedState.yy.lexer = lexer2;
310
+ sharedState.yy.parser = this;
311
+ if (typeof lexer2.yylloc == "undefined") {
312
+ lexer2.yylloc = {};
313
+ }
314
+ var yyloc = lexer2.yylloc;
315
+ lstack.push(yyloc);
316
+ var ranges = lexer2.options && lexer2.options.ranges;
317
+ if (typeof sharedState.yy.parseError === "function") {
318
+ this.parseError = sharedState.yy.parseError;
319
+ } else {
320
+ this.parseError = Object.getPrototypeOf(this).parseError;
321
+ }
322
+ function popStack(n) {
323
+ stack.length = stack.length - 2 * n;
324
+ vstack.length = vstack.length - n;
325
+ lstack.length = lstack.length - n;
326
+ }
327
+ __name(popStack, "popStack");
328
+ function lex() {
329
+ var token;
330
+ token = tstack.pop() || lexer2.lex() || EOF;
331
+ if (typeof token !== "number") {
332
+ if (token instanceof Array) {
333
+ tstack = token;
334
+ token = tstack.pop();
335
+ }
336
+ token = self.symbols_[token] || token;
337
+ }
338
+ return token;
339
+ }
340
+ __name(lex, "lex");
341
+ var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
342
+ while (true) {
343
+ state = stack[stack.length - 1];
344
+ if (this.defaultActions[state]) {
345
+ action = this.defaultActions[state];
346
+ } else {
347
+ if (symbol === null || typeof symbol == "undefined") {
348
+ symbol = lex();
349
+ }
350
+ action = table[state] && table[state][symbol];
351
+ }
352
+ if (typeof action === "undefined" || !action.length || !action[0]) {
353
+ var errStr = "";
354
+ expected = [];
355
+ for (p in table[state]) {
356
+ if (this.terminals_[p] && p > TERROR) {
357
+ expected.push("'" + this.terminals_[p] + "'");
358
+ }
359
+ }
360
+ if (lexer2.showPosition) {
361
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
362
+ } else {
363
+ errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
364
+ }
365
+ this.parseError(errStr, {
366
+ text: lexer2.match,
367
+ token: this.terminals_[symbol] || symbol,
368
+ line: lexer2.yylineno,
369
+ loc: yyloc,
370
+ expected
371
+ });
372
+ }
373
+ if (action[0] instanceof Array && action.length > 1) {
374
+ throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
375
+ }
376
+ switch (action[0]) {
377
+ case 1:
378
+ stack.push(symbol);
379
+ vstack.push(lexer2.yytext);
380
+ lstack.push(lexer2.yylloc);
381
+ stack.push(action[1]);
382
+ symbol = null;
383
+ if (!preErrorSymbol) {
384
+ yyleng = lexer2.yyleng;
385
+ yytext = lexer2.yytext;
386
+ yylineno = lexer2.yylineno;
387
+ yyloc = lexer2.yylloc;
388
+ if (recovering > 0) {
389
+ recovering--;
390
+ }
391
+ } else {
392
+ symbol = preErrorSymbol;
393
+ preErrorSymbol = null;
394
+ }
395
+ break;
396
+ case 2:
397
+ len = this.productions_[action[1]][1];
398
+ yyval.$ = vstack[vstack.length - len];
399
+ yyval._$ = {
400
+ first_line: lstack[lstack.length - (len || 1)].first_line,
401
+ last_line: lstack[lstack.length - 1].last_line,
402
+ first_column: lstack[lstack.length - (len || 1)].first_column,
403
+ last_column: lstack[lstack.length - 1].last_column
404
+ };
405
+ if (ranges) {
406
+ yyval._$.range = [
407
+ lstack[lstack.length - (len || 1)].range[0],
408
+ lstack[lstack.length - 1].range[1]
409
+ ];
410
+ }
411
+ r = this.performAction.apply(yyval, [
412
+ yytext,
413
+ yyleng,
414
+ yylineno,
415
+ sharedState.yy,
416
+ action[1],
417
+ vstack,
418
+ lstack
419
+ ].concat(args));
420
+ if (typeof r !== "undefined") {
421
+ return r;
422
+ }
423
+ if (len) {
424
+ stack = stack.slice(0, -1 * len * 2);
425
+ vstack = vstack.slice(0, -1 * len);
426
+ lstack = lstack.slice(0, -1 * len);
427
+ }
428
+ stack.push(this.productions_[action[1]][0]);
429
+ vstack.push(yyval.$);
430
+ lstack.push(yyval._$);
431
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
432
+ stack.push(newState);
433
+ break;
434
+ case 3:
435
+ return true;
436
+ }
437
+ }
438
+ return true;
439
+ }, "parse")
440
+ };
441
+ var lexer = /* @__PURE__ */ function() {
442
+ var lexer2 = {
443
+ EOF: 1,
444
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
445
+ if (this.yy.parser) {
446
+ this.yy.parser.parseError(str, hash);
447
+ } else {
448
+ throw new Error(str);
449
+ }
450
+ }, "parseError"),
451
+ // resets the lexer, sets new input
452
+ setInput: /* @__PURE__ */ __name(function(input, yy) {
453
+ this.yy = yy || this.yy || {};
454
+ this._input = input;
455
+ this._more = this._backtrack = this.done = false;
456
+ this.yylineno = this.yyleng = 0;
457
+ this.yytext = this.matched = this.match = "";
458
+ this.conditionStack = ["INITIAL"];
459
+ this.yylloc = {
460
+ first_line: 1,
461
+ first_column: 0,
462
+ last_line: 1,
463
+ last_column: 0
464
+ };
465
+ if (this.options.ranges) {
466
+ this.yylloc.range = [0, 0];
467
+ }
468
+ this.offset = 0;
469
+ return this;
470
+ }, "setInput"),
471
+ // consumes and returns one char from the input
472
+ input: /* @__PURE__ */ __name(function() {
473
+ var ch = this._input[0];
474
+ this.yytext += ch;
475
+ this.yyleng++;
476
+ this.offset++;
477
+ this.match += ch;
478
+ this.matched += ch;
479
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
480
+ if (lines) {
481
+ this.yylineno++;
482
+ this.yylloc.last_line++;
483
+ } else {
484
+ this.yylloc.last_column++;
485
+ }
486
+ if (this.options.ranges) {
487
+ this.yylloc.range[1]++;
488
+ }
489
+ this._input = this._input.slice(1);
490
+ return ch;
491
+ }, "input"),
492
+ // unshifts one char (or a string) into the input
493
+ unput: /* @__PURE__ */ __name(function(ch) {
494
+ var len = ch.length;
495
+ var lines = ch.split(/(?:\r\n?|\n)/g);
496
+ this._input = ch + this._input;
497
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
498
+ this.offset -= len;
499
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
500
+ this.match = this.match.substr(0, this.match.length - 1);
501
+ this.matched = this.matched.substr(0, this.matched.length - 1);
502
+ if (lines.length - 1) {
503
+ this.yylineno -= lines.length - 1;
504
+ }
505
+ var r = this.yylloc.range;
506
+ this.yylloc = {
507
+ first_line: this.yylloc.first_line,
508
+ last_line: this.yylineno + 1,
509
+ first_column: this.yylloc.first_column,
510
+ last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
511
+ };
512
+ if (this.options.ranges) {
513
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
514
+ }
515
+ this.yyleng = this.yytext.length;
516
+ return this;
517
+ }, "unput"),
518
+ // When called from action, caches matched text and appends it on next action
519
+ more: /* @__PURE__ */ __name(function() {
520
+ this._more = true;
521
+ return this;
522
+ }, "more"),
523
+ // 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.
524
+ reject: /* @__PURE__ */ __name(function() {
525
+ if (this.options.backtrack_lexer) {
526
+ this._backtrack = true;
527
+ } else {
528
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
529
+ text: "",
530
+ token: null,
531
+ line: this.yylineno
532
+ });
533
+ }
534
+ return this;
535
+ }, "reject"),
536
+ // retain first n characters of the match
537
+ less: /* @__PURE__ */ __name(function(n) {
538
+ this.unput(this.match.slice(n));
539
+ }, "less"),
540
+ // displays already matched input, i.e. for error messages
541
+ pastInput: /* @__PURE__ */ __name(function() {
542
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
543
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
544
+ }, "pastInput"),
545
+ // displays upcoming input, i.e. for error messages
546
+ upcomingInput: /* @__PURE__ */ __name(function() {
547
+ var next = this.match;
548
+ if (next.length < 20) {
549
+ next += this._input.substr(0, 20 - next.length);
550
+ }
551
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
552
+ }, "upcomingInput"),
553
+ // displays the character position where the lexing error occurred, i.e. for error messages
554
+ showPosition: /* @__PURE__ */ __name(function() {
555
+ var pre = this.pastInput();
556
+ var c = new Array(pre.length + 1).join("-");
557
+ return pre + this.upcomingInput() + "\n" + c + "^";
558
+ }, "showPosition"),
559
+ // test the lexed token: return FALSE when not a match, otherwise return token
560
+ test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
561
+ var token, lines, backup;
562
+ if (this.options.backtrack_lexer) {
563
+ backup = {
564
+ yylineno: this.yylineno,
565
+ yylloc: {
566
+ first_line: this.yylloc.first_line,
567
+ last_line: this.last_line,
568
+ first_column: this.yylloc.first_column,
569
+ last_column: this.yylloc.last_column
570
+ },
571
+ yytext: this.yytext,
572
+ match: this.match,
573
+ matches: this.matches,
574
+ matched: this.matched,
575
+ yyleng: this.yyleng,
576
+ offset: this.offset,
577
+ _more: this._more,
578
+ _input: this._input,
579
+ yy: this.yy,
580
+ conditionStack: this.conditionStack.slice(0),
581
+ done: this.done
582
+ };
583
+ if (this.options.ranges) {
584
+ backup.yylloc.range = this.yylloc.range.slice(0);
585
+ }
586
+ }
587
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
588
+ if (lines) {
589
+ this.yylineno += lines.length;
590
+ }
591
+ this.yylloc = {
592
+ first_line: this.yylloc.last_line,
593
+ last_line: this.yylineno + 1,
594
+ first_column: this.yylloc.last_column,
595
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
596
+ };
597
+ this.yytext += match[0];
598
+ this.match += match[0];
599
+ this.matches = match;
600
+ this.yyleng = this.yytext.length;
601
+ if (this.options.ranges) {
602
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
603
+ }
604
+ this._more = false;
605
+ this._backtrack = false;
606
+ this._input = this._input.slice(match[0].length);
607
+ this.matched += match[0];
608
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
609
+ if (this.done && this._input) {
610
+ this.done = false;
611
+ }
612
+ if (token) {
613
+ return token;
614
+ } else if (this._backtrack) {
615
+ for (var k in backup) {
616
+ this[k] = backup[k];
617
+ }
618
+ return false;
619
+ }
620
+ return false;
621
+ }, "test_match"),
622
+ // return next match in input
623
+ next: /* @__PURE__ */ __name(function() {
624
+ if (this.done) {
625
+ return this.EOF;
626
+ }
627
+ if (!this._input) {
628
+ this.done = true;
629
+ }
630
+ var token, match, tempMatch, index;
631
+ if (!this._more) {
632
+ this.yytext = "";
633
+ this.match = "";
634
+ }
635
+ var rules = this._currentRules();
636
+ for (var i = 0; i < rules.length; i++) {
637
+ tempMatch = this._input.match(this.rules[rules[i]]);
638
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
639
+ match = tempMatch;
640
+ index = i;
641
+ if (this.options.backtrack_lexer) {
642
+ token = this.test_match(tempMatch, rules[i]);
643
+ if (token !== false) {
644
+ return token;
645
+ } else if (this._backtrack) {
646
+ match = false;
647
+ continue;
648
+ } else {
649
+ return false;
650
+ }
651
+ } else if (!this.options.flex) {
652
+ break;
653
+ }
654
+ }
655
+ }
656
+ if (match) {
657
+ token = this.test_match(match, rules[index]);
658
+ if (token !== false) {
659
+ return token;
660
+ }
661
+ return false;
662
+ }
663
+ if (this._input === "") {
664
+ return this.EOF;
665
+ } else {
666
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
667
+ text: "",
668
+ token: null,
669
+ line: this.yylineno
670
+ });
671
+ }
672
+ }, "next"),
673
+ // return next match that has a token
674
+ lex: /* @__PURE__ */ __name(function lex() {
675
+ var r = this.next();
676
+ if (r) {
677
+ return r;
678
+ } else {
679
+ return this.lex();
680
+ }
681
+ }, "lex"),
682
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
683
+ begin: /* @__PURE__ */ __name(function begin(condition) {
684
+ this.conditionStack.push(condition);
685
+ }, "begin"),
686
+ // pop the previously active lexer condition state off the condition stack
687
+ popState: /* @__PURE__ */ __name(function popState() {
688
+ var n = this.conditionStack.length - 1;
689
+ if (n > 0) {
690
+ return this.conditionStack.pop();
691
+ } else {
692
+ return this.conditionStack[0];
693
+ }
694
+ }, "popState"),
695
+ // produce the lexer rule set which is active for the currently active lexer condition state
696
+ _currentRules: /* @__PURE__ */ __name(function _currentRules() {
697
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
698
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
699
+ } else {
700
+ return this.conditions["INITIAL"].rules;
701
+ }
702
+ }, "_currentRules"),
703
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
704
+ topState: /* @__PURE__ */ __name(function topState(n) {
705
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
706
+ if (n >= 0) {
707
+ return this.conditionStack[n];
708
+ } else {
709
+ return "INITIAL";
710
+ }
711
+ }, "topState"),
712
+ // alias for begin(condition)
713
+ pushState: /* @__PURE__ */ __name(function pushState(condition) {
714
+ this.begin(condition);
715
+ }, "pushState"),
716
+ // return the number of states currently on the stack
717
+ stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
718
+ return this.conditionStack.length;
719
+ }, "stateStackSize"),
720
+ options: {},
721
+ performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
722
+ var YYSTATE = YY_START;
723
+ switch ($avoiding_name_collisions) {
724
+ case 0:
725
+ return 60;
726
+ break;
727
+ case 1:
728
+ return 61;
729
+ break;
730
+ case 2:
731
+ return 62;
732
+ break;
733
+ case 3:
734
+ return 63;
735
+ break;
736
+ case 4:
737
+ break;
738
+ case 5:
739
+ break;
740
+ case 6:
741
+ this.begin("acc_title");
742
+ return 33;
743
+ break;
744
+ case 7:
745
+ this.popState();
746
+ return "acc_title_value";
747
+ break;
748
+ case 8:
749
+ this.begin("acc_descr");
750
+ return 35;
751
+ break;
752
+ case 9:
753
+ this.popState();
754
+ return "acc_descr_value";
755
+ break;
756
+ case 10:
757
+ this.begin("acc_descr_multiline");
758
+ break;
759
+ case 11:
760
+ this.popState();
761
+ break;
762
+ case 12:
763
+ return "acc_descr_multiline_value";
764
+ break;
765
+ case 13:
766
+ return 8;
767
+ break;
768
+ case 14:
769
+ break;
770
+ case 15:
771
+ return 7;
772
+ break;
773
+ case 16:
774
+ return 7;
775
+ break;
776
+ case 17:
777
+ return "EDGE_STATE";
778
+ break;
779
+ case 18:
780
+ this.begin("callback_name");
781
+ break;
782
+ case 19:
783
+ this.popState();
784
+ break;
785
+ case 20:
786
+ this.popState();
787
+ this.begin("callback_args");
788
+ break;
789
+ case 21:
790
+ return 77;
791
+ break;
792
+ case 22:
793
+ this.popState();
794
+ break;
795
+ case 23:
796
+ return 78;
797
+ break;
798
+ case 24:
799
+ this.popState();
800
+ break;
801
+ case 25:
802
+ return "STR";
803
+ break;
804
+ case 26:
805
+ this.begin("string");
806
+ break;
807
+ case 27:
808
+ return 80;
809
+ break;
810
+ case 28:
811
+ return 55;
812
+ break;
813
+ case 29:
814
+ this.begin("namespace");
815
+ return 42;
816
+ break;
817
+ case 30:
818
+ this.popState();
819
+ return 8;
820
+ break;
821
+ case 31:
822
+ break;
823
+ case 32:
824
+ this.begin("namespace-body");
825
+ return 39;
826
+ break;
827
+ case 33:
828
+ this.popState();
829
+ return 41;
830
+ break;
831
+ case 34:
832
+ return "EOF_IN_STRUCT";
833
+ break;
834
+ case 35:
835
+ return 8;
836
+ break;
837
+ case 36:
838
+ break;
839
+ case 37:
840
+ return "EDGE_STATE";
841
+ break;
842
+ case 38:
843
+ this.begin("class");
844
+ return 46;
845
+ break;
846
+ case 39:
847
+ this.popState();
848
+ return 8;
849
+ break;
850
+ case 40:
851
+ break;
852
+ case 41:
853
+ this.popState();
854
+ this.popState();
855
+ return 41;
856
+ break;
857
+ case 42:
858
+ this.begin("class-body");
859
+ return 39;
860
+ break;
861
+ case 43:
862
+ this.popState();
863
+ return 41;
864
+ break;
865
+ case 44:
866
+ return "EOF_IN_STRUCT";
867
+ break;
868
+ case 45:
869
+ return "EDGE_STATE";
870
+ break;
871
+ case 46:
872
+ return "OPEN_IN_STRUCT";
873
+ break;
874
+ case 47:
875
+ break;
876
+ case 48:
877
+ return "MEMBER";
878
+ break;
879
+ case 49:
880
+ return 81;
881
+ break;
882
+ case 50:
883
+ return 73;
884
+ break;
885
+ case 51:
886
+ return 74;
887
+ break;
888
+ case 52:
889
+ return 76;
890
+ break;
891
+ case 53:
892
+ return 52;
893
+ break;
894
+ case 54:
895
+ return 54;
896
+ break;
897
+ case 55:
898
+ return 47;
899
+ break;
900
+ case 56:
901
+ return 48;
902
+ break;
903
+ case 57:
904
+ return 79;
905
+ break;
906
+ case 58:
907
+ this.popState();
908
+ break;
909
+ case 59:
910
+ return "GENERICTYPE";
911
+ break;
912
+ case 60:
913
+ this.begin("generic");
914
+ break;
915
+ case 61:
916
+ this.popState();
917
+ break;
918
+ case 62:
919
+ return "BQUOTE_STR";
920
+ break;
921
+ case 63:
922
+ this.begin("bqstring");
923
+ break;
924
+ case 64:
925
+ return 75;
926
+ break;
927
+ case 65:
928
+ return 75;
929
+ break;
930
+ case 66:
931
+ return 75;
932
+ break;
933
+ case 67:
934
+ return 75;
935
+ break;
936
+ case 68:
937
+ return 67;
938
+ break;
939
+ case 69:
940
+ return 67;
941
+ break;
942
+ case 70:
943
+ return 69;
944
+ break;
945
+ case 71:
946
+ return 69;
947
+ break;
948
+ case 72:
949
+ return 68;
950
+ break;
951
+ case 73:
952
+ return 66;
953
+ break;
954
+ case 74:
955
+ return 70;
956
+ break;
957
+ case 75:
958
+ return 71;
959
+ break;
960
+ case 76:
961
+ return 72;
962
+ break;
963
+ case 77:
964
+ return 22;
965
+ break;
966
+ case 78:
967
+ return 44;
968
+ break;
969
+ case 79:
970
+ return 99;
971
+ break;
972
+ case 80:
973
+ return 17;
974
+ break;
975
+ case 81:
976
+ return "PLUS";
977
+ break;
978
+ case 82:
979
+ return 85;
980
+ break;
981
+ case 83:
982
+ return 59;
983
+ break;
984
+ case 84:
985
+ return 88;
986
+ break;
987
+ case 85:
988
+ return 88;
989
+ break;
990
+ case 86:
991
+ return 89;
992
+ break;
993
+ case 87:
994
+ return "EQUALS";
995
+ break;
996
+ case 88:
997
+ return "EQUALS";
998
+ break;
999
+ case 89:
1000
+ return 58;
1001
+ break;
1002
+ case 90:
1003
+ return 12;
1004
+ break;
1005
+ case 91:
1006
+ return 14;
1007
+ break;
1008
+ case 92:
1009
+ return "PUNCTUATION";
1010
+ break;
1011
+ case 93:
1012
+ return 84;
1013
+ break;
1014
+ case 94:
1015
+ return 101;
1016
+ break;
1017
+ case 95:
1018
+ return 87;
1019
+ break;
1020
+ case 96:
1021
+ return 87;
1022
+ break;
1023
+ case 97:
1024
+ return 9;
1025
+ break;
1026
+ }
1027
+ }, "anonymous"),
1028
+ rules: [/^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:classDiagram-v2\b)/, /^(?:classDiagram\b)/, /^(?:\[\*\])/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:["])/, /^(?:[^"]*)/, /^(?:["])/, /^(?:style\b)/, /^(?:classDef\b)/, /^(?:namespace\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:\[\*\])/, /^(?:class\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\[\*\])/, /^(?:[{])/, /^(?:[\n])/, /^(?:[^{}\n]*)/, /^(?:cssClass\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:click\b)/, /^(?:note for\b)/, /^(?:note\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href\b)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:~)/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:\s*\(\))/, /^(?:--)/, /^(?:\.\.)/, /^(?::{1}[^:\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?::)/, /^(?:,)/, /^(?:#)/, /^(?:#)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:\[)/, /^(?:\])/, /^(?:[!"#$%&'*+,-.`?\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:\s)/, /^(?:$)/],
1029
+ conditions: { "namespace-body": { "rules": [26, 33, 34, 35, 36, 37, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "namespace": { "rules": [26, 29, 30, 31, 32, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "class-body": { "rules": [26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "class": { "rules": [26, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_descr_multiline": { "rules": [11, 12, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_descr": { "rules": [9, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_title": { "rules": [7, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "callback_args": { "rules": [22, 23, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "callback_name": { "rules": [19, 20, 21, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "href": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "struct": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "generic": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "bqstring": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "string": { "rules": [24, 25, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 29, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": true } }
1030
+ };
1031
+ return lexer2;
1032
+ }();
1033
+ parser2.lexer = lexer;
1034
+ function Parser() {
1035
+ this.yy = {};
1036
+ }
1037
+ __name(Parser, "Parser");
1038
+ Parser.prototype = parser2;
1039
+ parser2.Parser = Parser;
1040
+ return new Parser();
1041
+ }();
1042
+ parser.parser = parser;
1043
+ var classDiagram_default = parser;
1044
+ var visibilityValues = ["#", "+", "~", "-", ""];
1045
+ var ClassMember = class {
1046
+ static {
1047
+ __name(this, "ClassMember");
1048
+ }
1049
+ constructor(input, memberType) {
1050
+ this.memberType = memberType;
1051
+ this.visibility = "";
1052
+ this.classifier = "";
1053
+ this.text = "";
1054
+ const sanitizedInput = sanitizeText(input, getConfig2());
1055
+ this.parseMember(sanitizedInput);
1056
+ }
1057
+ getDisplayDetails() {
1058
+ let displayText = this.visibility + parseGenericTypes(this.id);
1059
+ if (this.memberType === "method") {
1060
+ displayText += `(${parseGenericTypes(this.parameters.trim())})`;
1061
+ if (this.returnType) {
1062
+ displayText += " : " + parseGenericTypes(this.returnType);
1063
+ }
1064
+ }
1065
+ displayText = displayText.trim();
1066
+ const cssStyle = this.parseClassifier();
1067
+ return {
1068
+ displayText,
1069
+ cssStyle
1070
+ };
1071
+ }
1072
+ parseMember(input) {
1073
+ let potentialClassifier = "";
1074
+ if (this.memberType === "method") {
1075
+ const methodRegEx = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/;
1076
+ const match = methodRegEx.exec(input);
1077
+ if (match) {
1078
+ const detectedVisibility = match[1] ? match[1].trim() : "";
1079
+ if (visibilityValues.includes(detectedVisibility)) {
1080
+ this.visibility = detectedVisibility;
1081
+ }
1082
+ this.id = match[2];
1083
+ this.parameters = match[3] ? match[3].trim() : "";
1084
+ potentialClassifier = match[4] ? match[4].trim() : "";
1085
+ this.returnType = match[5] ? match[5].trim() : "";
1086
+ if (potentialClassifier === "") {
1087
+ const lastChar = this.returnType.substring(this.returnType.length - 1);
1088
+ if (/[$*]/.exec(lastChar)) {
1089
+ potentialClassifier = lastChar;
1090
+ this.returnType = this.returnType.substring(0, this.returnType.length - 1);
1091
+ }
1092
+ }
1093
+ }
1094
+ } else {
1095
+ const length = input.length;
1096
+ const firstChar = input.substring(0, 1);
1097
+ const lastChar = input.substring(length - 1);
1098
+ if (visibilityValues.includes(firstChar)) {
1099
+ this.visibility = firstChar;
1100
+ }
1101
+ if (/[$*]/.exec(lastChar)) {
1102
+ potentialClassifier = lastChar;
1103
+ }
1104
+ this.id = input.substring(
1105
+ this.visibility === "" ? 0 : 1,
1106
+ potentialClassifier === "" ? length : length - 1
1107
+ );
1108
+ }
1109
+ this.classifier = potentialClassifier;
1110
+ this.id = this.id.startsWith(" ") ? " " + this.id.trim() : this.id.trim();
1111
+ const combinedText = `${this.visibility ? "\\" + this.visibility : ""}${parseGenericTypes(this.id)}${this.memberType === "method" ? `(${parseGenericTypes(this.parameters)})${this.returnType ? " : " + parseGenericTypes(this.returnType) : ""}` : ""}`;
1112
+ this.text = combinedText.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
1113
+ if (this.text.startsWith("\\&lt;")) {
1114
+ this.text = this.text.replace("\\&lt;", "~");
1115
+ }
1116
+ }
1117
+ parseClassifier() {
1118
+ switch (this.classifier) {
1119
+ case "*":
1120
+ return "font-style:italic;";
1121
+ case "$":
1122
+ return "text-decoration:underline;";
1123
+ default:
1124
+ return "";
1125
+ }
1126
+ }
1127
+ };
1128
+ var MERMAID_DOM_ID_PREFIX = "classId-";
1129
+ var relations = [];
1130
+ var classes = /* @__PURE__ */ new Map();
1131
+ var styleClasses = /* @__PURE__ */ new Map();
1132
+ var notes = [];
1133
+ var interfaces = [];
1134
+ var classCounter = 0;
1135
+ var namespaces = /* @__PURE__ */ new Map();
1136
+ var namespaceCounter = 0;
1137
+ var functions = [];
1138
+ var sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, getConfig2()), "sanitizeText");
1139
+ var splitClassNameAndType = /* @__PURE__ */ __name(function(_id) {
1140
+ const id = common_default.sanitizeText(_id, getConfig2());
1141
+ let genericType = "";
1142
+ let className = id;
1143
+ if (id.indexOf("~") > 0) {
1144
+ const split = id.split("~");
1145
+ className = sanitizeText2(split[0]);
1146
+ genericType = sanitizeText2(split[1]);
1147
+ }
1148
+ return { className, type: genericType };
1149
+ }, "splitClassNameAndType");
1150
+ var setClassLabel = /* @__PURE__ */ __name(function(_id, label) {
1151
+ const id = common_default.sanitizeText(_id, getConfig2());
1152
+ if (label) {
1153
+ label = sanitizeText2(label);
1154
+ }
1155
+ const { className } = splitClassNameAndType(id);
1156
+ classes.get(className).label = label;
1157
+ classes.get(className).text = `${label}${classes.get(className).type ? `<${classes.get(className).type}>` : ""}`;
1158
+ }, "setClassLabel");
1159
+ var addClass = /* @__PURE__ */ __name(function(_id) {
1160
+ const id = common_default.sanitizeText(_id, getConfig2());
1161
+ const { className, type } = splitClassNameAndType(id);
1162
+ if (classes.has(className)) {
1163
+ return;
1164
+ }
1165
+ const name = common_default.sanitizeText(className, getConfig2());
1166
+ classes.set(name, {
1167
+ id: name,
1168
+ type,
1169
+ label: name,
1170
+ text: `${name}${type ? `&lt;${type}&gt;` : ""}`,
1171
+ shape: "classBox",
1172
+ cssClasses: "default",
1173
+ methods: [],
1174
+ members: [],
1175
+ annotations: [],
1176
+ styles: [],
1177
+ domId: MERMAID_DOM_ID_PREFIX + name + "-" + classCounter
1178
+ });
1179
+ classCounter++;
1180
+ }, "addClass");
1181
+ var addInterface = /* @__PURE__ */ __name(function(label, classId) {
1182
+ const classInterface = {
1183
+ id: `interface${interfaces.length}`,
1184
+ label,
1185
+ classId
1186
+ };
1187
+ interfaces.push(classInterface);
1188
+ }, "addInterface");
1189
+ var lookUpDomId = /* @__PURE__ */ __name(function(_id) {
1190
+ const id = common_default.sanitizeText(_id, getConfig2());
1191
+ if (classes.has(id)) {
1192
+ return classes.get(id).domId;
1193
+ }
1194
+ throw new Error("Class not found: " + id);
1195
+ }, "lookUpDomId");
1196
+ var clear2 = /* @__PURE__ */ __name(function() {
1197
+ relations = [];
1198
+ classes = /* @__PURE__ */ new Map();
1199
+ notes = [];
1200
+ interfaces = [];
1201
+ functions = [];
1202
+ functions.push(setupToolTips);
1203
+ namespaces = /* @__PURE__ */ new Map();
1204
+ namespaceCounter = 0;
1205
+ direction = "TB";
1206
+ clear();
1207
+ }, "clear");
1208
+ var getClass = /* @__PURE__ */ __name(function(id) {
1209
+ return classes.get(id);
1210
+ }, "getClass");
1211
+ var getClasses = /* @__PURE__ */ __name(function() {
1212
+ return classes;
1213
+ }, "getClasses");
1214
+ var getRelations = /* @__PURE__ */ __name(function() {
1215
+ return relations;
1216
+ }, "getRelations");
1217
+ var getNotes = /* @__PURE__ */ __name(function() {
1218
+ return notes;
1219
+ }, "getNotes");
1220
+ var addRelation = /* @__PURE__ */ __name(function(classRelation) {
1221
+ log.debug("Adding relation: " + JSON.stringify(classRelation));
1222
+ const invalidTypes = [
1223
+ relationType.LOLLIPOP,
1224
+ relationType.AGGREGATION,
1225
+ relationType.COMPOSITION,
1226
+ relationType.DEPENDENCY,
1227
+ relationType.EXTENSION
1228
+ ];
1229
+ if (classRelation.relation.type1 === relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type2)) {
1230
+ addClass(classRelation.id2);
1231
+ addInterface(classRelation.id1, classRelation.id2);
1232
+ classRelation.id1 = `interface${interfaces.length - 1}`;
1233
+ } else if (classRelation.relation.type2 === relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type1)) {
1234
+ addClass(classRelation.id1);
1235
+ addInterface(classRelation.id2, classRelation.id1);
1236
+ classRelation.id2 = `interface${interfaces.length - 1}`;
1237
+ } else {
1238
+ addClass(classRelation.id1);
1239
+ addClass(classRelation.id2);
1240
+ }
1241
+ classRelation.id1 = splitClassNameAndType(classRelation.id1).className;
1242
+ classRelation.id2 = splitClassNameAndType(classRelation.id2).className;
1243
+ classRelation.relationTitle1 = common_default.sanitizeText(
1244
+ classRelation.relationTitle1.trim(),
1245
+ getConfig2()
1246
+ );
1247
+ classRelation.relationTitle2 = common_default.sanitizeText(
1248
+ classRelation.relationTitle2.trim(),
1249
+ getConfig2()
1250
+ );
1251
+ relations.push(classRelation);
1252
+ }, "addRelation");
1253
+ var addAnnotation = /* @__PURE__ */ __name(function(className, annotation) {
1254
+ const validatedClassName = splitClassNameAndType(className).className;
1255
+ classes.get(validatedClassName).annotations.push(annotation);
1256
+ }, "addAnnotation");
1257
+ var addMember = /* @__PURE__ */ __name(function(className, member) {
1258
+ addClass(className);
1259
+ const validatedClassName = splitClassNameAndType(className).className;
1260
+ const theClass = classes.get(validatedClassName);
1261
+ if (typeof member === "string") {
1262
+ const memberString = member.trim();
1263
+ if (memberString.startsWith("<<") && memberString.endsWith(">>")) {
1264
+ theClass.annotations.push(sanitizeText2(memberString.substring(2, memberString.length - 2)));
1265
+ } else if (memberString.indexOf(")") > 0) {
1266
+ theClass.methods.push(new ClassMember(memberString, "method"));
1267
+ } else if (memberString) {
1268
+ theClass.members.push(new ClassMember(memberString, "attribute"));
1269
+ }
1270
+ }
1271
+ }, "addMember");
1272
+ var addMembers = /* @__PURE__ */ __name(function(className, members) {
1273
+ if (Array.isArray(members)) {
1274
+ members.reverse();
1275
+ members.forEach((member) => addMember(className, member));
1276
+ }
1277
+ }, "addMembers");
1278
+ var addNote = /* @__PURE__ */ __name(function(text, className) {
1279
+ const note = {
1280
+ id: `note${notes.length}`,
1281
+ class: className,
1282
+ text
1283
+ };
1284
+ notes.push(note);
1285
+ }, "addNote");
1286
+ var cleanupLabel = /* @__PURE__ */ __name(function(label) {
1287
+ if (label.startsWith(":")) {
1288
+ label = label.substring(1);
1289
+ }
1290
+ return sanitizeText2(label.trim());
1291
+ }, "cleanupLabel");
1292
+ var setCssClass = /* @__PURE__ */ __name(function(ids, className) {
1293
+ ids.split(",").forEach(function(_id) {
1294
+ let id = _id;
1295
+ if (/\d/.exec(_id[0])) {
1296
+ id = MERMAID_DOM_ID_PREFIX + id;
1297
+ }
1298
+ const classNode = classes.get(id);
1299
+ if (classNode) {
1300
+ classNode.cssClasses += " " + className;
1301
+ }
1302
+ });
1303
+ }, "setCssClass");
1304
+ var defineClass = /* @__PURE__ */ __name(function(ids, style) {
1305
+ for (const id of ids) {
1306
+ let styleClass = styleClasses.get(id);
1307
+ if (styleClass === void 0) {
1308
+ styleClass = { id, styles: [], textStyles: [] };
1309
+ styleClasses.set(id, styleClass);
1310
+ }
1311
+ if (style) {
1312
+ style.forEach(function(s) {
1313
+ if (/color/.exec(s)) {
1314
+ const newStyle = s.replace("fill", "bgFill");
1315
+ styleClass.textStyles.push(newStyle);
1316
+ }
1317
+ styleClass.styles.push(s);
1318
+ });
1319
+ }
1320
+ classes.forEach((value) => {
1321
+ if (value.cssClasses.includes(id)) {
1322
+ value.styles.push(...style.flatMap((s) => s.split(",")));
1323
+ }
1324
+ });
1325
+ }
1326
+ }, "defineClass");
1327
+ var setTooltip = /* @__PURE__ */ __name(function(ids, tooltip) {
1328
+ ids.split(",").forEach(function(id) {
1329
+ if (tooltip !== void 0) {
1330
+ classes.get(id).tooltip = sanitizeText2(tooltip);
1331
+ }
1332
+ });
1333
+ }, "setTooltip");
1334
+ var getTooltip = /* @__PURE__ */ __name(function(id, namespace) {
1335
+ if (namespace && namespaces.has(namespace)) {
1336
+ return namespaces.get(namespace).classes.get(id).tooltip;
1337
+ }
1338
+ return classes.get(id).tooltip;
1339
+ }, "getTooltip");
1340
+ var setLink = /* @__PURE__ */ __name(function(ids, linkStr, target) {
1341
+ const config = getConfig2();
1342
+ ids.split(",").forEach(function(_id) {
1343
+ let id = _id;
1344
+ if (/\d/.exec(_id[0])) {
1345
+ id = MERMAID_DOM_ID_PREFIX + id;
1346
+ }
1347
+ const theClass = classes.get(id);
1348
+ if (theClass) {
1349
+ theClass.link = utils_default.formatUrl(linkStr, config);
1350
+ if (config.securityLevel === "sandbox") {
1351
+ theClass.linkTarget = "_top";
1352
+ } else if (typeof target === "string") {
1353
+ theClass.linkTarget = sanitizeText2(target);
1354
+ } else {
1355
+ theClass.linkTarget = "_blank";
1356
+ }
1357
+ }
1358
+ });
1359
+ setCssClass(ids, "clickable");
1360
+ }, "setLink");
1361
+ var setClickEvent = /* @__PURE__ */ __name(function(ids, functionName, functionArgs) {
1362
+ ids.split(",").forEach(function(id) {
1363
+ setClickFunc(id, functionName, functionArgs);
1364
+ classes.get(id).haveCallback = true;
1365
+ });
1366
+ setCssClass(ids, "clickable");
1367
+ }, "setClickEvent");
1368
+ var setClickFunc = /* @__PURE__ */ __name(function(_domId, functionName, functionArgs) {
1369
+ const domId = common_default.sanitizeText(_domId, getConfig2());
1370
+ const config = getConfig2();
1371
+ if (config.securityLevel !== "loose") {
1372
+ return;
1373
+ }
1374
+ if (functionName === void 0) {
1375
+ return;
1376
+ }
1377
+ const id = domId;
1378
+ if (classes.has(id)) {
1379
+ const elemId = lookUpDomId(id);
1380
+ let argList = [];
1381
+ if (typeof functionArgs === "string") {
1382
+ argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
1383
+ for (let i = 0; i < argList.length; i++) {
1384
+ let item = argList[i].trim();
1385
+ if (item.startsWith('"') && item.endsWith('"')) {
1386
+ item = item.substr(1, item.length - 2);
1387
+ }
1388
+ argList[i] = item;
1389
+ }
1390
+ }
1391
+ if (argList.length === 0) {
1392
+ argList.push(elemId);
1393
+ }
1394
+ functions.push(function() {
1395
+ const elem = document.querySelector(`[id="${elemId}"]`);
1396
+ if (elem !== null) {
1397
+ elem.addEventListener(
1398
+ "click",
1399
+ function() {
1400
+ utils_default.runFunc(functionName, ...argList);
1401
+ },
1402
+ false
1403
+ );
1404
+ }
1405
+ });
1406
+ }
1407
+ }, "setClickFunc");
1408
+ var bindFunctions = /* @__PURE__ */ __name(function(element) {
1409
+ functions.forEach(function(fun) {
1410
+ fun(element);
1411
+ });
1412
+ }, "bindFunctions");
1413
+ var lineType = {
1414
+ LINE: 0,
1415
+ DOTTED_LINE: 1
1416
+ };
1417
+ var relationType = {
1418
+ AGGREGATION: 0,
1419
+ EXTENSION: 1,
1420
+ COMPOSITION: 2,
1421
+ DEPENDENCY: 3,
1422
+ LOLLIPOP: 4
1423
+ };
1424
+ var setupToolTips = /* @__PURE__ */ __name(function(element) {
1425
+ let tooltipElem = select_default(".mermaidTooltip");
1426
+ if ((tooltipElem._groups || tooltipElem)[0][0] === null) {
1427
+ tooltipElem = select_default("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0);
1428
+ }
1429
+ const svg = select_default(element).select("svg");
1430
+ const nodes = svg.selectAll("g.node");
1431
+ nodes.on("mouseover", function() {
1432
+ const el = select_default(this);
1433
+ const title = el.attr("title");
1434
+ if (title === null) {
1435
+ return;
1436
+ }
1437
+ const rect = this.getBoundingClientRect();
1438
+ tooltipElem.transition().duration(200).style("opacity", ".9");
1439
+ tooltipElem.text(el.attr("title")).style("left", window.scrollX + rect.left + (rect.right - rect.left) / 2 + "px").style("top", window.scrollY + rect.top - 14 + document.body.scrollTop + "px");
1440
+ tooltipElem.html(tooltipElem.html().replace(/&lt;br\/&gt;/g, "<br/>"));
1441
+ el.classed("hover", true);
1442
+ }).on("mouseout", function() {
1443
+ tooltipElem.transition().duration(500).style("opacity", 0);
1444
+ const el = select_default(this);
1445
+ el.classed("hover", false);
1446
+ });
1447
+ }, "setupToolTips");
1448
+ functions.push(setupToolTips);
1449
+ var direction = "TB";
1450
+ var getDirection = /* @__PURE__ */ __name(() => direction, "getDirection");
1451
+ var setDirection = /* @__PURE__ */ __name((dir) => {
1452
+ direction = dir;
1453
+ }, "setDirection");
1454
+ var addNamespace = /* @__PURE__ */ __name(function(id) {
1455
+ if (namespaces.has(id)) {
1456
+ return;
1457
+ }
1458
+ namespaces.set(id, {
1459
+ id,
1460
+ classes: /* @__PURE__ */ new Map(),
1461
+ children: {},
1462
+ domId: MERMAID_DOM_ID_PREFIX + id + "-" + namespaceCounter
1463
+ });
1464
+ namespaceCounter++;
1465
+ }, "addNamespace");
1466
+ var getNamespace = /* @__PURE__ */ __name(function(name) {
1467
+ return namespaces.get(name);
1468
+ }, "getNamespace");
1469
+ var getNamespaces = /* @__PURE__ */ __name(function() {
1470
+ return namespaces;
1471
+ }, "getNamespaces");
1472
+ var addClassesToNamespace = /* @__PURE__ */ __name(function(id, classNames) {
1473
+ if (!namespaces.has(id)) {
1474
+ return;
1475
+ }
1476
+ for (const name of classNames) {
1477
+ const { className } = splitClassNameAndType(name);
1478
+ classes.get(className).parent = id;
1479
+ namespaces.get(id).classes.set(className, classes.get(className));
1480
+ }
1481
+ }, "addClassesToNamespace");
1482
+ var setCssStyle = /* @__PURE__ */ __name(function(id, styles) {
1483
+ const thisClass = classes.get(id);
1484
+ if (!styles || !thisClass) {
1485
+ return;
1486
+ }
1487
+ for (const s of styles) {
1488
+ if (s.includes(",")) {
1489
+ thisClass.styles.push(...s.split(","));
1490
+ } else {
1491
+ thisClass.styles.push(s);
1492
+ }
1493
+ }
1494
+ }, "setCssStyle");
1495
+ function getArrowMarker(type) {
1496
+ let marker;
1497
+ switch (type) {
1498
+ case 0:
1499
+ marker = "aggregation";
1500
+ break;
1501
+ case 1:
1502
+ marker = "extension";
1503
+ break;
1504
+ case 2:
1505
+ marker = "composition";
1506
+ break;
1507
+ case 3:
1508
+ marker = "dependency";
1509
+ break;
1510
+ case 4:
1511
+ marker = "lollipop";
1512
+ break;
1513
+ default:
1514
+ marker = "none";
1515
+ }
1516
+ return marker;
1517
+ }
1518
+ __name(getArrowMarker, "getArrowMarker");
1519
+ var getData = /* @__PURE__ */ __name(() => {
1520
+ const nodes = [];
1521
+ const edges = [];
1522
+ const config = getConfig2();
1523
+ for (const namespaceKey of namespaces.keys()) {
1524
+ const namespace = namespaces.get(namespaceKey);
1525
+ if (namespace) {
1526
+ const node = {
1527
+ id: namespace.id,
1528
+ label: namespace.id,
1529
+ isGroup: true,
1530
+ padding: config.class.padding ?? 16,
1531
+ // parent node must be one of [rect, roundedWithTitle, noteGroup, divider]
1532
+ shape: "rect",
1533
+ cssStyles: ["fill: none", "stroke: black"],
1534
+ look: config.look
1535
+ };
1536
+ nodes.push(node);
1537
+ }
1538
+ }
1539
+ for (const classKey of classes.keys()) {
1540
+ const classNode = classes.get(classKey);
1541
+ if (classNode) {
1542
+ const node = classNode;
1543
+ node.parentId = classNode.parent;
1544
+ node.look = config.look;
1545
+ nodes.push(node);
1546
+ }
1547
+ }
1548
+ let cnt = 0;
1549
+ for (const note of notes) {
1550
+ cnt++;
1551
+ const noteNode = {
1552
+ id: note.id,
1553
+ label: note.text,
1554
+ isGroup: false,
1555
+ shape: "note",
1556
+ padding: config.class.padding ?? 6,
1557
+ cssStyles: [
1558
+ "text-align: left",
1559
+ "white-space: nowrap",
1560
+ `fill: ${config.themeVariables.noteBkgColor}`,
1561
+ `stroke: ${config.themeVariables.noteBorderColor}`
1562
+ ],
1563
+ look: config.look
1564
+ };
1565
+ nodes.push(noteNode);
1566
+ const noteClassId = classes.get(note.class)?.id ?? "";
1567
+ if (noteClassId) {
1568
+ const edge = {
1569
+ id: `edgeNote${cnt}`,
1570
+ start: note.id,
1571
+ end: noteClassId,
1572
+ type: "normal",
1573
+ thickness: "normal",
1574
+ classes: "relation",
1575
+ arrowTypeStart: "none",
1576
+ arrowTypeEnd: "none",
1577
+ arrowheadStyle: "",
1578
+ labelStyle: [""],
1579
+ style: ["fill: none"],
1580
+ pattern: "dotted",
1581
+ look: config.look
1582
+ };
1583
+ edges.push(edge);
1584
+ }
1585
+ }
1586
+ for (const _interface of interfaces) {
1587
+ const interfaceNode = {
1588
+ id: _interface.id,
1589
+ label: _interface.label,
1590
+ isGroup: false,
1591
+ shape: "rect",
1592
+ cssStyles: ["opacity: 0;"],
1593
+ look: config.look
1594
+ };
1595
+ nodes.push(interfaceNode);
1596
+ }
1597
+ cnt = 0;
1598
+ for (const classRelation of relations) {
1599
+ cnt++;
1600
+ const edge = {
1601
+ id: getEdgeId(classRelation.id1, classRelation.id2, {
1602
+ prefix: "id",
1603
+ counter: cnt
1604
+ }),
1605
+ start: classRelation.id1,
1606
+ end: classRelation.id2,
1607
+ type: "normal",
1608
+ label: classRelation.title,
1609
+ labelpos: "c",
1610
+ thickness: "normal",
1611
+ classes: "relation",
1612
+ arrowTypeStart: getArrowMarker(classRelation.relation.type1),
1613
+ arrowTypeEnd: getArrowMarker(classRelation.relation.type2),
1614
+ startLabelRight: classRelation.relationTitle1 === "none" ? "" : classRelation.relationTitle1,
1615
+ endLabelLeft: classRelation.relationTitle2 === "none" ? "" : classRelation.relationTitle2,
1616
+ arrowheadStyle: "",
1617
+ labelStyle: ["display: inline-block"],
1618
+ style: classRelation.style || "",
1619
+ pattern: classRelation.relation.lineType == 1 ? "dashed" : "solid",
1620
+ look: config.look
1621
+ };
1622
+ edges.push(edge);
1623
+ }
1624
+ return { nodes, edges, other: {}, config, direction: getDirection() };
1625
+ }, "getData");
1626
+ var classDb_default = {
1627
+ setAccTitle,
1628
+ getAccTitle,
1629
+ getAccDescription,
1630
+ setAccDescription,
1631
+ getConfig: /* @__PURE__ */ __name(() => getConfig2().class, "getConfig"),
1632
+ addClass,
1633
+ bindFunctions,
1634
+ clear: clear2,
1635
+ getClass,
1636
+ getClasses,
1637
+ getNotes,
1638
+ addAnnotation,
1639
+ addNote,
1640
+ getRelations,
1641
+ addRelation,
1642
+ getDirection,
1643
+ setDirection,
1644
+ addMember,
1645
+ addMembers,
1646
+ cleanupLabel,
1647
+ lineType,
1648
+ relationType,
1649
+ setClickEvent,
1650
+ setCssClass,
1651
+ defineClass,
1652
+ setLink,
1653
+ getTooltip,
1654
+ setTooltip,
1655
+ lookUpDomId,
1656
+ setDiagramTitle,
1657
+ getDiagramTitle,
1658
+ setClassLabel,
1659
+ addNamespace,
1660
+ addClassesToNamespace,
1661
+ getNamespace,
1662
+ getNamespaces,
1663
+ setCssStyle,
1664
+ getData
1665
+ };
1666
+ var getStyles = /* @__PURE__ */ __name((options) => `g.classGroup text {
1667
+ fill: ${options.nodeBorder || options.classText};
1668
+ stroke: none;
1669
+ font-family: ${options.fontFamily};
1670
+ font-size: 10px;
1671
+
1672
+ .title {
1673
+ font-weight: bolder;
1674
+ }
1675
+
1676
+ }
1677
+
1678
+ .nodeLabel, .edgeLabel {
1679
+ color: ${options.classText};
1680
+ }
1681
+ .edgeLabel .label rect {
1682
+ fill: ${options.mainBkg};
1683
+ }
1684
+ .label text {
1685
+ fill: ${options.classText};
1686
+ }
1687
+
1688
+ .labelBkg {
1689
+ background: ${options.mainBkg};
1690
+ }
1691
+ .edgeLabel .label span {
1692
+ background: ${options.mainBkg};
1693
+ }
1694
+
1695
+ .classTitle {
1696
+ font-weight: bolder;
1697
+ }
1698
+ .node rect,
1699
+ .node circle,
1700
+ .node ellipse,
1701
+ .node polygon,
1702
+ .node path {
1703
+ fill: ${options.mainBkg};
1704
+ stroke: ${options.nodeBorder};
1705
+ stroke-width: 1px;
1706
+ }
1707
+
1708
+
1709
+ .divider {
1710
+ stroke: ${options.nodeBorder};
1711
+ stroke-width: 1;
1712
+ }
1713
+
1714
+ g.clickable {
1715
+ cursor: pointer;
1716
+ }
1717
+
1718
+ g.classGroup rect {
1719
+ fill: ${options.mainBkg};
1720
+ stroke: ${options.nodeBorder};
1721
+ }
1722
+
1723
+ g.classGroup line {
1724
+ stroke: ${options.nodeBorder};
1725
+ stroke-width: 1;
1726
+ }
1727
+
1728
+ .classLabel .box {
1729
+ stroke: none;
1730
+ stroke-width: 0;
1731
+ fill: ${options.mainBkg};
1732
+ opacity: 0.5;
1733
+ }
1734
+
1735
+ .classLabel .label {
1736
+ fill: ${options.nodeBorder};
1737
+ font-size: 10px;
1738
+ }
1739
+
1740
+ .relation {
1741
+ stroke: ${options.lineColor};
1742
+ stroke-width: 1;
1743
+ fill: none;
1744
+ }
1745
+
1746
+ .dashed-line{
1747
+ stroke-dasharray: 3;
1748
+ }
1749
+
1750
+ .dotted-line{
1751
+ stroke-dasharray: 1 2;
1752
+ }
1753
+
1754
+ #compositionStart, .composition {
1755
+ fill: ${options.lineColor} !important;
1756
+ stroke: ${options.lineColor} !important;
1757
+ stroke-width: 1;
1758
+ }
1759
+
1760
+ #compositionEnd, .composition {
1761
+ fill: ${options.lineColor} !important;
1762
+ stroke: ${options.lineColor} !important;
1763
+ stroke-width: 1;
1764
+ }
1765
+
1766
+ #dependencyStart, .dependency {
1767
+ fill: ${options.lineColor} !important;
1768
+ stroke: ${options.lineColor} !important;
1769
+ stroke-width: 1;
1770
+ }
1771
+
1772
+ #dependencyStart, .dependency {
1773
+ fill: ${options.lineColor} !important;
1774
+ stroke: ${options.lineColor} !important;
1775
+ stroke-width: 1;
1776
+ }
1777
+
1778
+ #extensionStart, .extension {
1779
+ fill: transparent !important;
1780
+ stroke: ${options.lineColor} !important;
1781
+ stroke-width: 1;
1782
+ }
1783
+
1784
+ #extensionEnd, .extension {
1785
+ fill: transparent !important;
1786
+ stroke: ${options.lineColor} !important;
1787
+ stroke-width: 1;
1788
+ }
1789
+
1790
+ #aggregationStart, .aggregation {
1791
+ fill: transparent !important;
1792
+ stroke: ${options.lineColor} !important;
1793
+ stroke-width: 1;
1794
+ }
1795
+
1796
+ #aggregationEnd, .aggregation {
1797
+ fill: transparent !important;
1798
+ stroke: ${options.lineColor} !important;
1799
+ stroke-width: 1;
1800
+ }
1801
+
1802
+ #lollipopStart, .lollipop {
1803
+ fill: ${options.mainBkg} !important;
1804
+ stroke: ${options.lineColor} !important;
1805
+ stroke-width: 1;
1806
+ }
1807
+
1808
+ #lollipopEnd, .lollipop {
1809
+ fill: ${options.mainBkg} !important;
1810
+ stroke: ${options.lineColor} !important;
1811
+ stroke-width: 1;
1812
+ }
1813
+
1814
+ .edgeTerminals {
1815
+ font-size: 11px;
1816
+ line-height: initial;
1817
+ }
1818
+
1819
+ .classTitleText {
1820
+ text-anchor: middle;
1821
+ font-size: 18px;
1822
+ fill: ${options.textColor};
1823
+ }
1824
+ `, "getStyles");
1825
+ var styles_default = getStyles;
1826
+ var getDir = /* @__PURE__ */ __name((parsedItem, defaultDir = "TB") => {
1827
+ if (!parsedItem.doc) {
1828
+ return defaultDir;
1829
+ }
1830
+ let dir = defaultDir;
1831
+ for (const parsedItemDoc of parsedItem.doc) {
1832
+ if (parsedItemDoc.stmt === "dir") {
1833
+ dir = parsedItemDoc.value;
1834
+ }
1835
+ }
1836
+ return dir;
1837
+ }, "getDir");
1838
+ var getClasses2 = /* @__PURE__ */ __name(function(text, diagramObj) {
1839
+ return diagramObj.db.getClasses();
1840
+ }, "getClasses");
1841
+ var draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {
1842
+ log.info("REF0:");
1843
+ log.info("Drawing class diagram (v3)", id);
1844
+ const { securityLevel, state: conf, layout } = getConfig2();
1845
+ const data4Layout = diag.db.getData();
1846
+ const svg = getDiagramElement(id, securityLevel);
1847
+ data4Layout.type = diag.type;
1848
+ data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);
1849
+ data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
1850
+ data4Layout.rankSpacing = conf?.rankSpacing || 50;
1851
+ data4Layout.markers = ["aggregation", "extension", "composition", "dependency", "lollipop"];
1852
+ data4Layout.diagramId = id;
1853
+ await render(data4Layout, svg);
1854
+ const padding = 8;
1855
+ utils_default.insertTitle(
1856
+ svg,
1857
+ "classDiagramTitleText",
1858
+ conf?.titleTopMargin ?? 25,
1859
+ diag.db.getDiagramTitle()
1860
+ );
1861
+ setupViewPortForSVG(svg, padding, "classDiagram", conf?.useMaxWidth ?? true);
1862
+ }, "draw");
1863
+ var classRenderer_v3_unified_default = {
1864
+ getClasses: getClasses2,
1865
+ draw,
1866
+ getDir
1867
+ };
1868
+
1869
+ export {
1870
+ classDiagram_default,
1871
+ classDb_default,
1872
+ styles_default,
1873
+ classRenderer_v3_unified_default
1874
+ };
1875
+ //# sourceMappingURL=chunk-BPREMNVP.js.map