@umami/shiso 1.11.0 → 1.13.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 (148) hide show
  1. package/bin/shiso.mjs +20 -1
  2. package/dist/chunks/App.js +412 -51
  3. package/dist/chunks/abnfDiagram-VCTEODGH.js +109 -0
  4. package/dist/chunks/arc.js +130 -0
  5. package/dist/chunks/architecture-7GRP2DOG.js +4 -0
  6. package/dist/chunks/architectureDiagram-5GKGNRK7.js +7466 -0
  7. package/dist/chunks/array.js +8 -0
  8. package/dist/chunks/blockDiagram-I7D4REHJ.js +2546 -0
  9. package/dist/chunks/c4Diagram-7LVT6UL2.js +3654 -0
  10. package/dist/chunks/channel.js +9 -0
  11. package/dist/chunks/chunk-2Q5K7J3B.js +21 -0
  12. package/dist/chunks/chunk-4HAMMTFA.js +6106 -0
  13. package/dist/chunks/chunk-5VM5RSS4.js +21 -0
  14. package/dist/chunks/chunk-75Z2AOVW.js +2185 -0
  15. package/dist/chunks/chunk-DU6HZSFF.js +8729 -0
  16. package/dist/chunks/chunk-F27PBJKO.js +95 -0
  17. package/dist/chunks/chunk-FOHPRMQF.js +27162 -0
  18. package/dist/chunks/chunk-GMAD6QVW.js +2369 -0
  19. package/dist/chunks/chunk-GVQU2GXP.js +58 -0
  20. package/dist/chunks/chunk-IMKFNOWR.js +2593 -0
  21. package/dist/chunks/chunk-JWPE2WC7.js +12 -0
  22. package/dist/chunks/chunk-L3NEJ4N5.js +420 -0
  23. package/dist/chunks/chunk-OSK3NFVY.js +1029 -0
  24. package/dist/chunks/chunk-P2QGCYS3.js +95 -0
  25. package/dist/chunks/chunk-POPQ4Y6H.js +33 -0
  26. package/dist/chunks/chunk-PWAF6VOD.js +467 -0
  27. package/dist/chunks/chunk-SHT3W25Y.js +4813 -0
  28. package/dist/chunks/chunk-SVP7TREG.js +686 -0
  29. package/dist/chunks/chunk-TICWLB2K.js +3800 -0
  30. package/dist/chunks/chunk-XXDRQBXY.js +12 -0
  31. package/dist/chunks/chunk-Y2CYZVJY.js +15 -0
  32. package/dist/chunks/classDiagram-ZZMXUADV.js +33 -0
  33. package/dist/chunks/classDiagram-v2-VYDZK3BY.js +33 -0
  34. package/dist/chunks/cose-bilkent-JH36ORCC.js +4268 -0
  35. package/dist/chunks/cynefin-OW5HDTMX.js +4 -0
  36. package/dist/chunks/cynefinDiagram-5FMLGOSQ.js +482 -0
  37. package/dist/chunks/cytoscape.esm.js +28282 -0
  38. package/dist/chunks/dagre-GXQ25YYZ.js +583 -0
  39. package/dist/chunks/dagre.js +4235 -0
  40. package/dist/chunks/defaultLocale.js +246 -0
  41. package/dist/chunks/diagram-S7CK7UJ4.js +402 -0
  42. package/dist/chunks/diagram-UQ7AKVKN.js +291 -0
  43. package/dist/chunks/diagram-VSXAHHWV.js +553 -0
  44. package/dist/chunks/diagram-VX7I27RA.js +798 -0
  45. package/dist/chunks/diagram-Z3DM3KII.js +186 -0
  46. package/dist/chunks/dist.js +92 -0
  47. package/dist/chunks/docs.js +989 -93
  48. package/dist/chunks/ebnfDiagram-PWID7BFC.js +123 -0
  49. package/dist/chunks/erDiagram-RLTQ6QDP.js +2295 -0
  50. package/dist/chunks/eventmodeling-NTZA5JFV.js +4 -0
  51. package/dist/chunks/flowDiagram-HODETNUW.js +17 -0
  52. package/dist/chunks/ganttDiagram-EL5Y4UJY.js +3928 -0
  53. package/dist/chunks/gitGraph-4MIJSDKK.js +4 -0
  54. package/dist/chunks/gitGraphDiagram-WWUBYQGX.js +1153 -0
  55. package/dist/chunks/graphlib.js +4194 -0
  56. package/dist/chunks/info-A6RAGUB7.js +4 -0
  57. package/dist/chunks/infoDiagram-27XIBGKW.js +25 -0
  58. package/dist/chunks/init.js +14 -0
  59. package/dist/chunks/ishikawaDiagram-5VMMS53U.js +971 -0
  60. package/dist/chunks/journeyDiagram-3NMN7TZE.js +1226 -0
  61. package/dist/chunks/kanban-definition-UXKFOSKX.js +1241 -0
  62. package/dist/chunks/katex.js +26463 -0
  63. package/dist/chunks/line.js +48 -0
  64. package/dist/chunks/linear.js +391 -0
  65. package/dist/chunks/mermaid-parser.core.js +754 -0
  66. package/dist/chunks/mermaid.core.js +4898 -0
  67. package/dist/chunks/mindmap-definition-YA3MSWOX.js +1309 -0
  68. package/dist/chunks/ordinal.js +84 -0
  69. package/dist/chunks/packet-AYTQ26CC.js +4 -0
  70. package/dist/chunks/path.js +106 -0
  71. package/dist/chunks/pegDiagram-XKGWAZYB.js +115 -0
  72. package/dist/chunks/pie-WAS4IAKB.js +4 -0
  73. package/dist/chunks/pieDiagram-E7YTZNPT.js +297 -0
  74. package/dist/chunks/quadrantDiagram-AXDQQJYC.js +2234 -0
  75. package/dist/chunks/radar-RG4KPBEZ.js +4 -0
  76. package/dist/chunks/railroad-74A4TZTK.js +4 -0
  77. package/dist/chunks/railroad-abnf-HS5TGJTU.js +4 -0
  78. package/dist/chunks/railroad-ebnf-LZEXJU2U.js +4 -0
  79. package/dist/chunks/railroad-peg-WCYAUIDC.js +4 -0
  80. package/dist/chunks/railroadDiagram-O6MQD6OU.js +89 -0
  81. package/dist/chunks/requirementDiagram-BXWQKSXE.js +2464 -0
  82. package/dist/chunks/rough.esm.js +1396 -0
  83. package/dist/chunks/sankeyDiagram-P5KCCOFB.js +1308 -0
  84. package/dist/chunks/sequenceDiagram-WJ2MYXX4.js +5445 -0
  85. package/dist/chunks/sizeCapture-INFHLROL.js +56 -0
  86. package/dist/chunks/src.js +2653 -0
  87. package/dist/chunks/stateDiagram-D77RDMKH.js +368 -0
  88. package/dist/chunks/stateDiagram-v2-MP3YSRHH.js +33 -0
  89. package/dist/chunks/swimlanes-42K2YHIH.js +6925 -0
  90. package/dist/chunks/swimlanesDiagram-VR7AAH4N.js +32 -0
  91. package/dist/chunks/timeline-definition-24CTP7MA.js +1507 -0
  92. package/dist/chunks/treeView-Q6P3EWNA.js +4 -0
  93. package/dist/chunks/treemap-WGGIJYW6.js +4 -0
  94. package/dist/chunks/vennDiagram-4TSXK5OY.js +2803 -0
  95. package/dist/chunks/wardley-WFR3VGLG.js +4 -0
  96. package/dist/chunks/wardleyDiagram-VM6X3IG4.js +877 -0
  97. package/dist/chunks/xychartDiagram-S5SC5T6Z.js +2698 -0
  98. package/dist/components.js +2 -2
  99. package/dist/entry-client.js +2 -2
  100. package/dist/entry-server.js +31 -3
  101. package/docs.schema.json +90 -0
  102. package/mdx.config.ts +13 -97
  103. package/package.json +6 -4
  104. package/scripts/build-runtime.mjs +1 -0
  105. package/scripts/check-content.mjs +358 -0
  106. package/scripts/expand-navigation-globs.mjs +277 -0
  107. package/scripts/expand-openapi-navigation.mjs +94 -0
  108. package/scripts/generate-openapi.mjs +117 -0
  109. package/scripts/generate-search-index.mjs +31 -1
  110. package/scripts/lib/openapi.mjs +653 -0
  111. package/scripts/load-docs-config.mjs +52 -6
  112. package/scripts/load-shiso-config.mjs +45 -3
  113. package/scripts/prerender.mjs +83 -3
  114. package/scripts/vite-docs-config.mjs +27 -6
  115. package/src/App.tsx +0 -1
  116. package/src/components/CodeBlock.tsx +108 -8
  117. package/src/components/DocContent.tsx +18 -0
  118. package/src/components/Docs.tsx +45 -17
  119. package/src/components/OpenApiOperation.tsx +205 -0
  120. package/src/components/SideNav.tsx +13 -2
  121. package/src/components/docs/Changelog.tsx +163 -0
  122. package/src/components/docs/CodeGroup.tsx +6 -2
  123. package/src/components/docs/Mermaid.tsx +164 -0
  124. package/src/components/docs/Panel.tsx +23 -0
  125. package/src/components/docs/ParamField.tsx +17 -5
  126. package/src/components/docs/PropertiesTable.tsx +2 -2
  127. package/src/components/docs/ResponseField.tsx +17 -5
  128. package/src/components/docs/Tiles.tsx +59 -0
  129. package/src/components/docs/Tree.tsx +359 -0
  130. package/src/components/docs/Update.tsx +72 -0
  131. package/src/components/docs/index.ts +7 -0
  132. package/src/components/docs/panel-context.tsx +25 -0
  133. package/src/components/docs/styles.ts +49 -0
  134. package/src/components/icons/index.ts +4 -0
  135. package/src/entry-server.tsx +50 -0
  136. package/src/lib/code-blocks.ts +18 -0
  137. package/src/lib/code-meta.ts +87 -0
  138. package/src/lib/docs-config.ts +4 -1
  139. package/src/lib/openapi.generated.ts +4 -0
  140. package/src/lib/openapi.ts +63 -0
  141. package/src/lib/rehype-shiki.ts +213 -0
  142. package/src/lib/site-model.ts +2 -0
  143. package/src/lib/types.ts +116 -2
  144. package/src/styles/global.css +63 -73
  145. package/types/components.d.ts +79 -0
  146. package/types/config.d.ts +11 -4
  147. package/vite.config.ts +49 -3
  148. package/CHANGELOG.md +0 -171
@@ -0,0 +1,2234 @@
1
+ import { n as __name } from "./chunk-Y2CYZVJY.js";
2
+ import { m as log, p as select_default } from "./src.js";
3
+ import { D as getThemeVariables3, H as setAccDescription, K as setDiagramTitle, U as setAccTitle, a as clear, c as configureSvgSize, f as defaultConfig_default, v as getAccDescription, w as getDiagramTitle, x as getConfig2, y as getAccTitle, z as sanitizeText } from "./chunk-DU6HZSFF.js";
4
+ import { t as linear } from "./linear.js";
5
+
6
+ //#region ../../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AXDQQJYC.mjs
7
+ var parser = (function() {
8
+ var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
9
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v);
10
+ return o2;
11
+ }, "o"), $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [1, 7], $V5 = [
12
+ 1,
13
+ 4,
14
+ 5,
15
+ 10,
16
+ 12,
17
+ 13,
18
+ 14,
19
+ 15,
20
+ 18,
21
+ 25,
22
+ 35,
23
+ 37,
24
+ 39,
25
+ 41,
26
+ 42,
27
+ 48,
28
+ 50,
29
+ 51,
30
+ 52,
31
+ 53,
32
+ 54,
33
+ 55,
34
+ 56,
35
+ 57,
36
+ 60,
37
+ 61,
38
+ 63,
39
+ 64,
40
+ 65,
41
+ 66,
42
+ 67
43
+ ], $V6 = [
44
+ 1,
45
+ 4,
46
+ 5,
47
+ 10,
48
+ 12,
49
+ 13,
50
+ 14,
51
+ 15,
52
+ 18,
53
+ 25,
54
+ 28,
55
+ 35,
56
+ 37,
57
+ 39,
58
+ 41,
59
+ 42,
60
+ 48,
61
+ 50,
62
+ 51,
63
+ 52,
64
+ 53,
65
+ 54,
66
+ 55,
67
+ 56,
68
+ 57,
69
+ 60,
70
+ 61,
71
+ 63,
72
+ 64,
73
+ 65,
74
+ 66,
75
+ 67
76
+ ], $V7 = [
77
+ 55,
78
+ 56,
79
+ 57
80
+ ], $V8 = [2, 36], $V9 = [1, 37], $Va = [1, 36], $Vb = [1, 38], $Vc = [1, 35], $Vd = [1, 43], $Ve = [1, 41], $Vf = [1, 45], $Vg = [1, 14], $Vh = [1, 23], $Vi = [1, 18], $Vj = [1, 19], $Vk = [1, 20], $Vl = [1, 21], $Vm = [1, 22], $Vn = [1, 24], $Vo = [1, 25], $Vp = [1, 26], $Vq = [1, 27], $Vr = [1, 28], $Vs = [1, 29], $Vt = [1, 32], $Vu = [1, 33], $Vv = [1, 34], $Vw = [1, 39], $Vx = [1, 40], $Vy = [1, 42], $Vz = [1, 44], $VA = [1, 63], $VB = [1, 62], $VC = [
81
+ 4,
82
+ 5,
83
+ 8,
84
+ 10,
85
+ 12,
86
+ 13,
87
+ 14,
88
+ 15,
89
+ 18,
90
+ 44,
91
+ 47,
92
+ 49,
93
+ 55,
94
+ 56,
95
+ 57,
96
+ 63,
97
+ 64,
98
+ 65,
99
+ 66,
100
+ 67
101
+ ], $VD = [1, 66], $VE = [1, 67], $VF = [1, 68], $VG = [1, 69], $VH = [1, 70], $VI = [1, 71], $VJ = [1, 72], $VK = [1, 73], $VL = [1, 74], $VM = [1, 75], $VN = [1, 76], $VO = [1, 77], $VP = [
102
+ 4,
103
+ 5,
104
+ 6,
105
+ 7,
106
+ 8,
107
+ 9,
108
+ 10,
109
+ 11,
110
+ 12,
111
+ 13,
112
+ 14,
113
+ 15,
114
+ 18
115
+ ], $VQ = [1, 91], $VR = [1, 92], $VS = [1, 93], $VT = [1, 100], $VU = [1, 94], $VV = [1, 97], $VW = [1, 95], $VX = [1, 96], $VY = [1, 98], $VZ = [1, 99], $V_ = [1, 103], $V$ = [
116
+ 10,
117
+ 55,
118
+ 56,
119
+ 57
120
+ ], $V01 = [
121
+ 4,
122
+ 5,
123
+ 6,
124
+ 8,
125
+ 10,
126
+ 11,
127
+ 13,
128
+ 17,
129
+ 18,
130
+ 19,
131
+ 20,
132
+ 55,
133
+ 56,
134
+ 57
135
+ ];
136
+ var parser2 = {
137
+ trace: /* @__PURE__ */ __name(function trace() {}, "trace"),
138
+ yy: {},
139
+ symbols_: {
140
+ "error": 2,
141
+ "idStringToken": 3,
142
+ "ALPHA": 4,
143
+ "NUM": 5,
144
+ "NODE_STRING": 6,
145
+ "DOWN": 7,
146
+ "MINUS": 8,
147
+ "DEFAULT": 9,
148
+ "COMMA": 10,
149
+ "COLON": 11,
150
+ "AMP": 12,
151
+ "BRKT": 13,
152
+ "MULT": 14,
153
+ "UNICODE_TEXT": 15,
154
+ "styleComponent": 16,
155
+ "UNIT": 17,
156
+ "SPACE": 18,
157
+ "STYLE": 19,
158
+ "PCT": 20,
159
+ "idString": 21,
160
+ "style": 22,
161
+ "stylesOpt": 23,
162
+ "classDefStatement": 24,
163
+ "CLASSDEF": 25,
164
+ "start": 26,
165
+ "eol": 27,
166
+ "QUADRANT": 28,
167
+ "document": 29,
168
+ "line": 30,
169
+ "statement": 31,
170
+ "axisDetails": 32,
171
+ "quadrantDetails": 33,
172
+ "points": 34,
173
+ "title": 35,
174
+ "title_value": 36,
175
+ "acc_title": 37,
176
+ "acc_title_value": 38,
177
+ "acc_descr": 39,
178
+ "acc_descr_value": 40,
179
+ "acc_descr_multiline_value": 41,
180
+ "section": 42,
181
+ "text": 43,
182
+ "point_start": 44,
183
+ "point_x": 45,
184
+ "point_y": 46,
185
+ "class_name": 47,
186
+ "X-AXIS": 48,
187
+ "AXIS-TEXT-DELIMITER": 49,
188
+ "Y-AXIS": 50,
189
+ "QUADRANT_1": 51,
190
+ "QUADRANT_2": 52,
191
+ "QUADRANT_3": 53,
192
+ "QUADRANT_4": 54,
193
+ "NEWLINE": 55,
194
+ "SEMI": 56,
195
+ "EOF": 57,
196
+ "alphaNumToken": 58,
197
+ "textNoTagsToken": 59,
198
+ "STR": 60,
199
+ "MD_STR": 61,
200
+ "alphaNum": 62,
201
+ "PUNCTUATION": 63,
202
+ "PLUS": 64,
203
+ "EQUALS": 65,
204
+ "DOT": 66,
205
+ "UNDERSCORE": 67,
206
+ "$accept": 0,
207
+ "$end": 1
208
+ },
209
+ terminals_: {
210
+ 2: "error",
211
+ 4: "ALPHA",
212
+ 5: "NUM",
213
+ 6: "NODE_STRING",
214
+ 7: "DOWN",
215
+ 8: "MINUS",
216
+ 9: "DEFAULT",
217
+ 10: "COMMA",
218
+ 11: "COLON",
219
+ 12: "AMP",
220
+ 13: "BRKT",
221
+ 14: "MULT",
222
+ 15: "UNICODE_TEXT",
223
+ 17: "UNIT",
224
+ 18: "SPACE",
225
+ 19: "STYLE",
226
+ 20: "PCT",
227
+ 25: "CLASSDEF",
228
+ 28: "QUADRANT",
229
+ 35: "title",
230
+ 36: "title_value",
231
+ 37: "acc_title",
232
+ 38: "acc_title_value",
233
+ 39: "acc_descr",
234
+ 40: "acc_descr_value",
235
+ 41: "acc_descr_multiline_value",
236
+ 42: "section",
237
+ 44: "point_start",
238
+ 45: "point_x",
239
+ 46: "point_y",
240
+ 47: "class_name",
241
+ 48: "X-AXIS",
242
+ 49: "AXIS-TEXT-DELIMITER",
243
+ 50: "Y-AXIS",
244
+ 51: "QUADRANT_1",
245
+ 52: "QUADRANT_2",
246
+ 53: "QUADRANT_3",
247
+ 54: "QUADRANT_4",
248
+ 55: "NEWLINE",
249
+ 56: "SEMI",
250
+ 57: "EOF",
251
+ 60: "STR",
252
+ 61: "MD_STR",
253
+ 63: "PUNCTUATION",
254
+ 64: "PLUS",
255
+ 65: "EQUALS",
256
+ 66: "DOT",
257
+ 67: "UNDERSCORE"
258
+ },
259
+ productions_: [
260
+ 0,
261
+ [3, 1],
262
+ [3, 1],
263
+ [3, 1],
264
+ [3, 1],
265
+ [3, 1],
266
+ [3, 1],
267
+ [3, 1],
268
+ [3, 1],
269
+ [3, 1],
270
+ [3, 1],
271
+ [3, 1],
272
+ [3, 1],
273
+ [16, 1],
274
+ [16, 1],
275
+ [16, 1],
276
+ [16, 1],
277
+ [16, 1],
278
+ [16, 1],
279
+ [16, 1],
280
+ [16, 1],
281
+ [16, 1],
282
+ [16, 1],
283
+ [21, 1],
284
+ [21, 2],
285
+ [22, 1],
286
+ [22, 2],
287
+ [23, 1],
288
+ [23, 3],
289
+ [24, 5],
290
+ [26, 2],
291
+ [26, 2],
292
+ [26, 2],
293
+ [29, 0],
294
+ [29, 2],
295
+ [30, 2],
296
+ [31, 0],
297
+ [31, 1],
298
+ [31, 2],
299
+ [31, 1],
300
+ [31, 1],
301
+ [31, 1],
302
+ [31, 2],
303
+ [31, 2],
304
+ [31, 2],
305
+ [31, 1],
306
+ [31, 1],
307
+ [34, 4],
308
+ [34, 5],
309
+ [34, 5],
310
+ [34, 6],
311
+ [32, 4],
312
+ [32, 3],
313
+ [32, 2],
314
+ [32, 4],
315
+ [32, 3],
316
+ [32, 2],
317
+ [33, 2],
318
+ [33, 2],
319
+ [33, 2],
320
+ [33, 2],
321
+ [27, 1],
322
+ [27, 1],
323
+ [27, 1],
324
+ [43, 1],
325
+ [43, 2],
326
+ [43, 1],
327
+ [43, 1],
328
+ [62, 1],
329
+ [62, 2],
330
+ [58, 1],
331
+ [58, 1],
332
+ [58, 1],
333
+ [58, 1],
334
+ [58, 1],
335
+ [58, 1],
336
+ [58, 1],
337
+ [58, 1],
338
+ [58, 1],
339
+ [58, 1],
340
+ [58, 1],
341
+ [58, 1],
342
+ [59, 1],
343
+ [59, 1],
344
+ [59, 1]
345
+ ],
346
+ performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
347
+ var $0 = $$.length - 1;
348
+ switch (yystate) {
349
+ case 23:
350
+ this.$ = $$[$0];
351
+ break;
352
+ case 24:
353
+ this.$ = $$[$0 - 1] + "" + $$[$0];
354
+ break;
355
+ case 26:
356
+ this.$ = $$[$0 - 1] + $$[$0];
357
+ break;
358
+ case 27:
359
+ this.$ = [$$[$0].trim()];
360
+ break;
361
+ case 28:
362
+ $$[$0 - 2].push($$[$0].trim());
363
+ this.$ = $$[$0 - 2];
364
+ break;
365
+ case 29:
366
+ this.$ = $$[$0 - 4];
367
+ yy.addClass($$[$0 - 2], $$[$0]);
368
+ break;
369
+ case 37:
370
+ this.$ = [];
371
+ break;
372
+ case 42:
373
+ this.$ = $$[$0].trim();
374
+ yy.setDiagramTitle(this.$);
375
+ break;
376
+ case 43:
377
+ this.$ = $$[$0].trim();
378
+ yy.setAccTitle(this.$);
379
+ break;
380
+ case 44:
381
+ case 45:
382
+ this.$ = $$[$0].trim();
383
+ yy.setAccDescription(this.$);
384
+ break;
385
+ case 46:
386
+ yy.addSection($$[$0].substr(8));
387
+ this.$ = $$[$0].substr(8);
388
+ break;
389
+ case 47:
390
+ yy.addPoint($$[$0 - 3], "", $$[$0 - 1], $$[$0], []);
391
+ break;
392
+ case 48:
393
+ yy.addPoint($$[$0 - 4], $$[$0 - 3], $$[$0 - 1], $$[$0], []);
394
+ break;
395
+ case 49:
396
+ yy.addPoint($$[$0 - 4], "", $$[$0 - 2], $$[$0 - 1], $$[$0]);
397
+ break;
398
+ case 50:
399
+ yy.addPoint($$[$0 - 5], $$[$0 - 4], $$[$0 - 2], $$[$0 - 1], $$[$0]);
400
+ break;
401
+ case 51:
402
+ yy.setXAxisLeftText($$[$0 - 2]);
403
+ yy.setXAxisRightText($$[$0]);
404
+ break;
405
+ case 52:
406
+ $$[$0 - 1].text += " ⟶ ";
407
+ yy.setXAxisLeftText($$[$0 - 1]);
408
+ break;
409
+ case 53:
410
+ yy.setXAxisLeftText($$[$0]);
411
+ break;
412
+ case 54:
413
+ yy.setYAxisBottomText($$[$0 - 2]);
414
+ yy.setYAxisTopText($$[$0]);
415
+ break;
416
+ case 55:
417
+ $$[$0 - 1].text += " ⟶ ";
418
+ yy.setYAxisBottomText($$[$0 - 1]);
419
+ break;
420
+ case 56:
421
+ yy.setYAxisBottomText($$[$0]);
422
+ break;
423
+ case 57:
424
+ yy.setQuadrant1Text($$[$0]);
425
+ break;
426
+ case 58:
427
+ yy.setQuadrant2Text($$[$0]);
428
+ break;
429
+ case 59:
430
+ yy.setQuadrant3Text($$[$0]);
431
+ break;
432
+ case 60:
433
+ yy.setQuadrant4Text($$[$0]);
434
+ break;
435
+ case 64:
436
+ this.$ = {
437
+ text: $$[$0],
438
+ type: "text"
439
+ };
440
+ break;
441
+ case 65:
442
+ this.$ = {
443
+ text: $$[$0 - 1].text + "" + $$[$0],
444
+ type: $$[$0 - 1].type
445
+ };
446
+ break;
447
+ case 66:
448
+ this.$ = {
449
+ text: $$[$0],
450
+ type: "text"
451
+ };
452
+ break;
453
+ case 67:
454
+ this.$ = {
455
+ text: $$[$0],
456
+ type: "markdown"
457
+ };
458
+ break;
459
+ case 68:
460
+ this.$ = $$[$0];
461
+ break;
462
+ case 69: this.$ = $$[$0 - 1] + "" + $$[$0];
463
+ }
464
+ }, "anonymous"),
465
+ table: [
466
+ {
467
+ 18: $V0,
468
+ 26: 1,
469
+ 27: 2,
470
+ 28: $V1,
471
+ 55: $V2,
472
+ 56: $V3,
473
+ 57: $V4
474
+ },
475
+ { 1: [3] },
476
+ {
477
+ 18: $V0,
478
+ 26: 8,
479
+ 27: 2,
480
+ 28: $V1,
481
+ 55: $V2,
482
+ 56: $V3,
483
+ 57: $V4
484
+ },
485
+ {
486
+ 18: $V0,
487
+ 26: 9,
488
+ 27: 2,
489
+ 28: $V1,
490
+ 55: $V2,
491
+ 56: $V3,
492
+ 57: $V4
493
+ },
494
+ o($V5, [2, 33], { 29: 10 }),
495
+ o($V6, [2, 61]),
496
+ o($V6, [2, 62]),
497
+ o($V6, [2, 63]),
498
+ { 1: [2, 30] },
499
+ { 1: [2, 31] },
500
+ o($V7, $V8, {
501
+ 30: 11,
502
+ 31: 12,
503
+ 24: 13,
504
+ 32: 15,
505
+ 33: 16,
506
+ 34: 17,
507
+ 43: 30,
508
+ 58: 31,
509
+ 1: [2, 32],
510
+ 4: $V9,
511
+ 5: $Va,
512
+ 10: $Vb,
513
+ 12: $Vc,
514
+ 13: $Vd,
515
+ 14: $Ve,
516
+ 15: $Vf,
517
+ 18: $Vg,
518
+ 25: $Vh,
519
+ 35: $Vi,
520
+ 37: $Vj,
521
+ 39: $Vk,
522
+ 41: $Vl,
523
+ 42: $Vm,
524
+ 48: $Vn,
525
+ 50: $Vo,
526
+ 51: $Vp,
527
+ 52: $Vq,
528
+ 53: $Vr,
529
+ 54: $Vs,
530
+ 60: $Vt,
531
+ 61: $Vu,
532
+ 63: $Vv,
533
+ 64: $Vw,
534
+ 65: $Vx,
535
+ 66: $Vy,
536
+ 67: $Vz
537
+ }),
538
+ o($V5, [2, 34]),
539
+ {
540
+ 27: 46,
541
+ 55: $V2,
542
+ 56: $V3,
543
+ 57: $V4
544
+ },
545
+ o($V7, [2, 37]),
546
+ o($V7, $V8, {
547
+ 24: 13,
548
+ 32: 15,
549
+ 33: 16,
550
+ 34: 17,
551
+ 43: 30,
552
+ 58: 31,
553
+ 31: 47,
554
+ 4: $V9,
555
+ 5: $Va,
556
+ 10: $Vb,
557
+ 12: $Vc,
558
+ 13: $Vd,
559
+ 14: $Ve,
560
+ 15: $Vf,
561
+ 18: $Vg,
562
+ 25: $Vh,
563
+ 35: $Vi,
564
+ 37: $Vj,
565
+ 39: $Vk,
566
+ 41: $Vl,
567
+ 42: $Vm,
568
+ 48: $Vn,
569
+ 50: $Vo,
570
+ 51: $Vp,
571
+ 52: $Vq,
572
+ 53: $Vr,
573
+ 54: $Vs,
574
+ 60: $Vt,
575
+ 61: $Vu,
576
+ 63: $Vv,
577
+ 64: $Vw,
578
+ 65: $Vx,
579
+ 66: $Vy,
580
+ 67: $Vz
581
+ }),
582
+ o($V7, [2, 39]),
583
+ o($V7, [2, 40]),
584
+ o($V7, [2, 41]),
585
+ { 36: [1, 48] },
586
+ { 38: [1, 49] },
587
+ { 40: [1, 50] },
588
+ o($V7, [2, 45]),
589
+ o($V7, [2, 46]),
590
+ { 18: [1, 51] },
591
+ {
592
+ 4: $V9,
593
+ 5: $Va,
594
+ 10: $Vb,
595
+ 12: $Vc,
596
+ 13: $Vd,
597
+ 14: $Ve,
598
+ 15: $Vf,
599
+ 43: 52,
600
+ 58: 31,
601
+ 60: $Vt,
602
+ 61: $Vu,
603
+ 63: $Vv,
604
+ 64: $Vw,
605
+ 65: $Vx,
606
+ 66: $Vy,
607
+ 67: $Vz
608
+ },
609
+ {
610
+ 4: $V9,
611
+ 5: $Va,
612
+ 10: $Vb,
613
+ 12: $Vc,
614
+ 13: $Vd,
615
+ 14: $Ve,
616
+ 15: $Vf,
617
+ 43: 53,
618
+ 58: 31,
619
+ 60: $Vt,
620
+ 61: $Vu,
621
+ 63: $Vv,
622
+ 64: $Vw,
623
+ 65: $Vx,
624
+ 66: $Vy,
625
+ 67: $Vz
626
+ },
627
+ {
628
+ 4: $V9,
629
+ 5: $Va,
630
+ 10: $Vb,
631
+ 12: $Vc,
632
+ 13: $Vd,
633
+ 14: $Ve,
634
+ 15: $Vf,
635
+ 43: 54,
636
+ 58: 31,
637
+ 60: $Vt,
638
+ 61: $Vu,
639
+ 63: $Vv,
640
+ 64: $Vw,
641
+ 65: $Vx,
642
+ 66: $Vy,
643
+ 67: $Vz
644
+ },
645
+ {
646
+ 4: $V9,
647
+ 5: $Va,
648
+ 10: $Vb,
649
+ 12: $Vc,
650
+ 13: $Vd,
651
+ 14: $Ve,
652
+ 15: $Vf,
653
+ 43: 55,
654
+ 58: 31,
655
+ 60: $Vt,
656
+ 61: $Vu,
657
+ 63: $Vv,
658
+ 64: $Vw,
659
+ 65: $Vx,
660
+ 66: $Vy,
661
+ 67: $Vz
662
+ },
663
+ {
664
+ 4: $V9,
665
+ 5: $Va,
666
+ 10: $Vb,
667
+ 12: $Vc,
668
+ 13: $Vd,
669
+ 14: $Ve,
670
+ 15: $Vf,
671
+ 43: 56,
672
+ 58: 31,
673
+ 60: $Vt,
674
+ 61: $Vu,
675
+ 63: $Vv,
676
+ 64: $Vw,
677
+ 65: $Vx,
678
+ 66: $Vy,
679
+ 67: $Vz
680
+ },
681
+ {
682
+ 4: $V9,
683
+ 5: $Va,
684
+ 10: $Vb,
685
+ 12: $Vc,
686
+ 13: $Vd,
687
+ 14: $Ve,
688
+ 15: $Vf,
689
+ 43: 57,
690
+ 58: 31,
691
+ 60: $Vt,
692
+ 61: $Vu,
693
+ 63: $Vv,
694
+ 64: $Vw,
695
+ 65: $Vx,
696
+ 66: $Vy,
697
+ 67: $Vz
698
+ },
699
+ {
700
+ 4: $V9,
701
+ 5: $Va,
702
+ 8: $VA,
703
+ 10: $Vb,
704
+ 12: $Vc,
705
+ 13: $Vd,
706
+ 14: $Ve,
707
+ 15: $Vf,
708
+ 18: $VB,
709
+ 44: [1, 58],
710
+ 47: [1, 59],
711
+ 58: 61,
712
+ 59: 60,
713
+ 63: $Vv,
714
+ 64: $Vw,
715
+ 65: $Vx,
716
+ 66: $Vy,
717
+ 67: $Vz
718
+ },
719
+ o($VC, [2, 64]),
720
+ o($VC, [2, 66]),
721
+ o($VC, [2, 67]),
722
+ o($VC, [2, 70]),
723
+ o($VC, [2, 71]),
724
+ o($VC, [2, 72]),
725
+ o($VC, [2, 73]),
726
+ o($VC, [2, 74]),
727
+ o($VC, [2, 75]),
728
+ o($VC, [2, 76]),
729
+ o($VC, [2, 77]),
730
+ o($VC, [2, 78]),
731
+ o($VC, [2, 79]),
732
+ o($VC, [2, 80]),
733
+ o($VC, [2, 81]),
734
+ o($V5, [2, 35]),
735
+ o($V7, [2, 38]),
736
+ o($V7, [2, 42]),
737
+ o($V7, [2, 43]),
738
+ o($V7, [2, 44]),
739
+ {
740
+ 3: 65,
741
+ 4: $VD,
742
+ 5: $VE,
743
+ 6: $VF,
744
+ 7: $VG,
745
+ 8: $VH,
746
+ 9: $VI,
747
+ 10: $VJ,
748
+ 11: $VK,
749
+ 12: $VL,
750
+ 13: $VM,
751
+ 14: $VN,
752
+ 15: $VO,
753
+ 21: 64
754
+ },
755
+ o($V7, [2, 53], {
756
+ 59: 60,
757
+ 58: 61,
758
+ 4: $V9,
759
+ 5: $Va,
760
+ 8: $VA,
761
+ 10: $Vb,
762
+ 12: $Vc,
763
+ 13: $Vd,
764
+ 14: $Ve,
765
+ 15: $Vf,
766
+ 18: $VB,
767
+ 49: [1, 78],
768
+ 63: $Vv,
769
+ 64: $Vw,
770
+ 65: $Vx,
771
+ 66: $Vy,
772
+ 67: $Vz
773
+ }),
774
+ o($V7, [2, 56], {
775
+ 59: 60,
776
+ 58: 61,
777
+ 4: $V9,
778
+ 5: $Va,
779
+ 8: $VA,
780
+ 10: $Vb,
781
+ 12: $Vc,
782
+ 13: $Vd,
783
+ 14: $Ve,
784
+ 15: $Vf,
785
+ 18: $VB,
786
+ 49: [1, 79],
787
+ 63: $Vv,
788
+ 64: $Vw,
789
+ 65: $Vx,
790
+ 66: $Vy,
791
+ 67: $Vz
792
+ }),
793
+ o($V7, [2, 57], {
794
+ 59: 60,
795
+ 58: 61,
796
+ 4: $V9,
797
+ 5: $Va,
798
+ 8: $VA,
799
+ 10: $Vb,
800
+ 12: $Vc,
801
+ 13: $Vd,
802
+ 14: $Ve,
803
+ 15: $Vf,
804
+ 18: $VB,
805
+ 63: $Vv,
806
+ 64: $Vw,
807
+ 65: $Vx,
808
+ 66: $Vy,
809
+ 67: $Vz
810
+ }),
811
+ o($V7, [2, 58], {
812
+ 59: 60,
813
+ 58: 61,
814
+ 4: $V9,
815
+ 5: $Va,
816
+ 8: $VA,
817
+ 10: $Vb,
818
+ 12: $Vc,
819
+ 13: $Vd,
820
+ 14: $Ve,
821
+ 15: $Vf,
822
+ 18: $VB,
823
+ 63: $Vv,
824
+ 64: $Vw,
825
+ 65: $Vx,
826
+ 66: $Vy,
827
+ 67: $Vz
828
+ }),
829
+ o($V7, [2, 59], {
830
+ 59: 60,
831
+ 58: 61,
832
+ 4: $V9,
833
+ 5: $Va,
834
+ 8: $VA,
835
+ 10: $Vb,
836
+ 12: $Vc,
837
+ 13: $Vd,
838
+ 14: $Ve,
839
+ 15: $Vf,
840
+ 18: $VB,
841
+ 63: $Vv,
842
+ 64: $Vw,
843
+ 65: $Vx,
844
+ 66: $Vy,
845
+ 67: $Vz
846
+ }),
847
+ o($V7, [2, 60], {
848
+ 59: 60,
849
+ 58: 61,
850
+ 4: $V9,
851
+ 5: $Va,
852
+ 8: $VA,
853
+ 10: $Vb,
854
+ 12: $Vc,
855
+ 13: $Vd,
856
+ 14: $Ve,
857
+ 15: $Vf,
858
+ 18: $VB,
859
+ 63: $Vv,
860
+ 64: $Vw,
861
+ 65: $Vx,
862
+ 66: $Vy,
863
+ 67: $Vz
864
+ }),
865
+ { 45: [1, 80] },
866
+ { 44: [1, 81] },
867
+ o($VC, [2, 65]),
868
+ o($VC, [2, 82]),
869
+ o($VC, [2, 83]),
870
+ o($VC, [2, 84]),
871
+ {
872
+ 3: 83,
873
+ 4: $VD,
874
+ 5: $VE,
875
+ 6: $VF,
876
+ 7: $VG,
877
+ 8: $VH,
878
+ 9: $VI,
879
+ 10: $VJ,
880
+ 11: $VK,
881
+ 12: $VL,
882
+ 13: $VM,
883
+ 14: $VN,
884
+ 15: $VO,
885
+ 18: [1, 82]
886
+ },
887
+ o($VP, [2, 23]),
888
+ o($VP, [2, 1]),
889
+ o($VP, [2, 2]),
890
+ o($VP, [2, 3]),
891
+ o($VP, [2, 4]),
892
+ o($VP, [2, 5]),
893
+ o($VP, [2, 6]),
894
+ o($VP, [2, 7]),
895
+ o($VP, [2, 8]),
896
+ o($VP, [2, 9]),
897
+ o($VP, [2, 10]),
898
+ o($VP, [2, 11]),
899
+ o($VP, [2, 12]),
900
+ o($V7, [2, 52], {
901
+ 58: 31,
902
+ 43: 84,
903
+ 4: $V9,
904
+ 5: $Va,
905
+ 10: $Vb,
906
+ 12: $Vc,
907
+ 13: $Vd,
908
+ 14: $Ve,
909
+ 15: $Vf,
910
+ 60: $Vt,
911
+ 61: $Vu,
912
+ 63: $Vv,
913
+ 64: $Vw,
914
+ 65: $Vx,
915
+ 66: $Vy,
916
+ 67: $Vz
917
+ }),
918
+ o($V7, [2, 55], {
919
+ 58: 31,
920
+ 43: 85,
921
+ 4: $V9,
922
+ 5: $Va,
923
+ 10: $Vb,
924
+ 12: $Vc,
925
+ 13: $Vd,
926
+ 14: $Ve,
927
+ 15: $Vf,
928
+ 60: $Vt,
929
+ 61: $Vu,
930
+ 63: $Vv,
931
+ 64: $Vw,
932
+ 65: $Vx,
933
+ 66: $Vy,
934
+ 67: $Vz
935
+ }),
936
+ { 46: [1, 86] },
937
+ { 45: [1, 87] },
938
+ {
939
+ 4: $VQ,
940
+ 5: $VR,
941
+ 6: $VS,
942
+ 8: $VT,
943
+ 11: $VU,
944
+ 13: $VV,
945
+ 16: 90,
946
+ 17: $VW,
947
+ 18: $VX,
948
+ 19: $VY,
949
+ 20: $VZ,
950
+ 22: 89,
951
+ 23: 88
952
+ },
953
+ o($VP, [2, 24]),
954
+ o($V7, [2, 51], {
955
+ 59: 60,
956
+ 58: 61,
957
+ 4: $V9,
958
+ 5: $Va,
959
+ 8: $VA,
960
+ 10: $Vb,
961
+ 12: $Vc,
962
+ 13: $Vd,
963
+ 14: $Ve,
964
+ 15: $Vf,
965
+ 18: $VB,
966
+ 63: $Vv,
967
+ 64: $Vw,
968
+ 65: $Vx,
969
+ 66: $Vy,
970
+ 67: $Vz
971
+ }),
972
+ o($V7, [2, 54], {
973
+ 59: 60,
974
+ 58: 61,
975
+ 4: $V9,
976
+ 5: $Va,
977
+ 8: $VA,
978
+ 10: $Vb,
979
+ 12: $Vc,
980
+ 13: $Vd,
981
+ 14: $Ve,
982
+ 15: $Vf,
983
+ 18: $VB,
984
+ 63: $Vv,
985
+ 64: $Vw,
986
+ 65: $Vx,
987
+ 66: $Vy,
988
+ 67: $Vz
989
+ }),
990
+ o($V7, [2, 47], {
991
+ 22: 89,
992
+ 16: 90,
993
+ 23: 101,
994
+ 4: $VQ,
995
+ 5: $VR,
996
+ 6: $VS,
997
+ 8: $VT,
998
+ 11: $VU,
999
+ 13: $VV,
1000
+ 17: $VW,
1001
+ 18: $VX,
1002
+ 19: $VY,
1003
+ 20: $VZ
1004
+ }),
1005
+ { 46: [1, 102] },
1006
+ o($V7, [2, 29], { 10: $V_ }),
1007
+ o($V$, [2, 27], {
1008
+ 16: 104,
1009
+ 4: $VQ,
1010
+ 5: $VR,
1011
+ 6: $VS,
1012
+ 8: $VT,
1013
+ 11: $VU,
1014
+ 13: $VV,
1015
+ 17: $VW,
1016
+ 18: $VX,
1017
+ 19: $VY,
1018
+ 20: $VZ
1019
+ }),
1020
+ o($V01, [2, 25]),
1021
+ o($V01, [2, 13]),
1022
+ o($V01, [2, 14]),
1023
+ o($V01, [2, 15]),
1024
+ o($V01, [2, 16]),
1025
+ o($V01, [2, 17]),
1026
+ o($V01, [2, 18]),
1027
+ o($V01, [2, 19]),
1028
+ o($V01, [2, 20]),
1029
+ o($V01, [2, 21]),
1030
+ o($V01, [2, 22]),
1031
+ o($V7, [2, 49], { 10: $V_ }),
1032
+ o($V7, [2, 48], {
1033
+ 22: 89,
1034
+ 16: 90,
1035
+ 23: 105,
1036
+ 4: $VQ,
1037
+ 5: $VR,
1038
+ 6: $VS,
1039
+ 8: $VT,
1040
+ 11: $VU,
1041
+ 13: $VV,
1042
+ 17: $VW,
1043
+ 18: $VX,
1044
+ 19: $VY,
1045
+ 20: $VZ
1046
+ }),
1047
+ {
1048
+ 4: $VQ,
1049
+ 5: $VR,
1050
+ 6: $VS,
1051
+ 8: $VT,
1052
+ 11: $VU,
1053
+ 13: $VV,
1054
+ 16: 90,
1055
+ 17: $VW,
1056
+ 18: $VX,
1057
+ 19: $VY,
1058
+ 20: $VZ,
1059
+ 22: 106
1060
+ },
1061
+ o($V01, [2, 26]),
1062
+ o($V7, [2, 50], { 10: $V_ }),
1063
+ o($V$, [2, 28], {
1064
+ 16: 104,
1065
+ 4: $VQ,
1066
+ 5: $VR,
1067
+ 6: $VS,
1068
+ 8: $VT,
1069
+ 11: $VU,
1070
+ 13: $VV,
1071
+ 17: $VW,
1072
+ 18: $VX,
1073
+ 19: $VY,
1074
+ 20: $VZ
1075
+ })
1076
+ ],
1077
+ defaultActions: {
1078
+ 8: [2, 30],
1079
+ 9: [2, 31]
1080
+ },
1081
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1082
+ if (hash.recoverable) this.trace(str);
1083
+ else {
1084
+ var error = new Error(str);
1085
+ error.hash = hash;
1086
+ throw error;
1087
+ }
1088
+ }, "parseError"),
1089
+ parse: /* @__PURE__ */ __name(function parse(input) {
1090
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
1091
+ var args = lstack.slice.call(arguments, 1);
1092
+ var lexer2 = Object.create(this.lexer);
1093
+ var sharedState = { yy: {} };
1094
+ for (var k in this.yy) if (Object.prototype.hasOwnProperty.call(this.yy, k)) sharedState.yy[k] = this.yy[k];
1095
+ lexer2.setInput(input, sharedState.yy);
1096
+ sharedState.yy.lexer = lexer2;
1097
+ sharedState.yy.parser = this;
1098
+ if (typeof lexer2.yylloc == "undefined") lexer2.yylloc = {};
1099
+ var yyloc = lexer2.yylloc;
1100
+ lstack.push(yyloc);
1101
+ var ranges = lexer2.options && lexer2.options.ranges;
1102
+ if (typeof sharedState.yy.parseError === "function") this.parseError = sharedState.yy.parseError;
1103
+ else this.parseError = Object.getPrototypeOf(this).parseError;
1104
+ function popStack(n) {
1105
+ stack.length = stack.length - 2 * n;
1106
+ vstack.length = vstack.length - n;
1107
+ lstack.length = lstack.length - n;
1108
+ }
1109
+ __name(popStack, "popStack");
1110
+ function lex() {
1111
+ var token = tstack.pop() || lexer2.lex() || EOF;
1112
+ if (typeof token !== "number") {
1113
+ if (token instanceof Array) {
1114
+ tstack = token;
1115
+ token = tstack.pop();
1116
+ }
1117
+ token = self.symbols_[token] || token;
1118
+ }
1119
+ return token;
1120
+ }
1121
+ __name(lex, "lex");
1122
+ var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
1123
+ while (true) {
1124
+ state = stack[stack.length - 1];
1125
+ if (this.defaultActions[state]) action = this.defaultActions[state];
1126
+ else {
1127
+ if (symbol === null || typeof symbol == "undefined") symbol = lex();
1128
+ action = table[state] && table[state][symbol];
1129
+ }
1130
+ if (typeof action === "undefined" || !action.length || !action[0]) {
1131
+ var errStr = "";
1132
+ expected = [];
1133
+ for (p in table[state]) if (this.terminals_[p] && p > TERROR) expected.push("'" + this.terminals_[p] + "'");
1134
+ if (lexer2.showPosition) errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1135
+ else errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1136
+ this.parseError(errStr, {
1137
+ text: lexer2.match,
1138
+ token: this.terminals_[symbol] || symbol,
1139
+ line: lexer2.yylineno,
1140
+ loc: yyloc,
1141
+ expected
1142
+ });
1143
+ }
1144
+ if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
1145
+ switch (action[0]) {
1146
+ case 1:
1147
+ stack.push(symbol);
1148
+ vstack.push(lexer2.yytext);
1149
+ lstack.push(lexer2.yylloc);
1150
+ stack.push(action[1]);
1151
+ symbol = null;
1152
+ if (!preErrorSymbol) {
1153
+ yyleng = lexer2.yyleng;
1154
+ yytext = lexer2.yytext;
1155
+ yylineno = lexer2.yylineno;
1156
+ yyloc = lexer2.yylloc;
1157
+ if (recovering > 0) recovering--;
1158
+ } else {
1159
+ symbol = preErrorSymbol;
1160
+ preErrorSymbol = null;
1161
+ }
1162
+ break;
1163
+ case 2:
1164
+ len = this.productions_[action[1]][1];
1165
+ yyval.$ = vstack[vstack.length - len];
1166
+ yyval._$ = {
1167
+ first_line: lstack[lstack.length - (len || 1)].first_line,
1168
+ last_line: lstack[lstack.length - 1].last_line,
1169
+ first_column: lstack[lstack.length - (len || 1)].first_column,
1170
+ last_column: lstack[lstack.length - 1].last_column
1171
+ };
1172
+ if (ranges) yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1173
+ r = this.performAction.apply(yyval, [
1174
+ yytext,
1175
+ yyleng,
1176
+ yylineno,
1177
+ sharedState.yy,
1178
+ action[1],
1179
+ vstack,
1180
+ lstack
1181
+ ].concat(args));
1182
+ if (typeof r !== "undefined") return r;
1183
+ if (len) {
1184
+ stack = stack.slice(0, -1 * len * 2);
1185
+ vstack = vstack.slice(0, -1 * len);
1186
+ lstack = lstack.slice(0, -1 * len);
1187
+ }
1188
+ stack.push(this.productions_[action[1]][0]);
1189
+ vstack.push(yyval.$);
1190
+ lstack.push(yyval._$);
1191
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
1192
+ stack.push(newState);
1193
+ break;
1194
+ case 3: return true;
1195
+ }
1196
+ }
1197
+ return true;
1198
+ }, "parse")
1199
+ };
1200
+ parser2.lexer = /* @__PURE__ */ (function() {
1201
+ return {
1202
+ EOF: 1,
1203
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1204
+ if (this.yy.parser) this.yy.parser.parseError(str, hash);
1205
+ else throw new Error(str);
1206
+ }, "parseError"),
1207
+ setInput: /* @__PURE__ */ __name(function(input, yy) {
1208
+ this.yy = yy || this.yy || {};
1209
+ this._input = input;
1210
+ this._more = this._backtrack = this.done = false;
1211
+ this.yylineno = this.yyleng = 0;
1212
+ this.yytext = this.matched = this.match = "";
1213
+ this.conditionStack = ["INITIAL"];
1214
+ this.yylloc = {
1215
+ first_line: 1,
1216
+ first_column: 0,
1217
+ last_line: 1,
1218
+ last_column: 0
1219
+ };
1220
+ if (this.options.ranges) this.yylloc.range = [0, 0];
1221
+ this.offset = 0;
1222
+ return this;
1223
+ }, "setInput"),
1224
+ input: /* @__PURE__ */ __name(function() {
1225
+ var ch = this._input[0];
1226
+ this.yytext += ch;
1227
+ this.yyleng++;
1228
+ this.offset++;
1229
+ this.match += ch;
1230
+ this.matched += ch;
1231
+ if (ch.match(/(?:\r\n?|\n).*/g)) {
1232
+ this.yylineno++;
1233
+ this.yylloc.last_line++;
1234
+ } else this.yylloc.last_column++;
1235
+ if (this.options.ranges) this.yylloc.range[1]++;
1236
+ this._input = this._input.slice(1);
1237
+ return ch;
1238
+ }, "input"),
1239
+ unput: /* @__PURE__ */ __name(function(ch) {
1240
+ var len = ch.length;
1241
+ var lines = ch.split(/(?:\r\n?|\n)/g);
1242
+ this._input = ch + this._input;
1243
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
1244
+ this.offset -= len;
1245
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
1246
+ this.match = this.match.substr(0, this.match.length - 1);
1247
+ this.matched = this.matched.substr(0, this.matched.length - 1);
1248
+ if (lines.length - 1) this.yylineno -= lines.length - 1;
1249
+ var r = this.yylloc.range;
1250
+ this.yylloc = {
1251
+ first_line: this.yylloc.first_line,
1252
+ last_line: this.yylineno + 1,
1253
+ first_column: this.yylloc.first_column,
1254
+ 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
1255
+ };
1256
+ if (this.options.ranges) this.yylloc.range = [r[0], r[0] + this.yyleng - len];
1257
+ this.yyleng = this.yytext.length;
1258
+ return this;
1259
+ }, "unput"),
1260
+ more: /* @__PURE__ */ __name(function() {
1261
+ this._more = true;
1262
+ return this;
1263
+ }, "more"),
1264
+ reject: /* @__PURE__ */ __name(function() {
1265
+ if (this.options.backtrack_lexer) this._backtrack = true;
1266
+ else 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(), {
1267
+ text: "",
1268
+ token: null,
1269
+ line: this.yylineno
1270
+ });
1271
+ return this;
1272
+ }, "reject"),
1273
+ less: /* @__PURE__ */ __name(function(n) {
1274
+ this.unput(this.match.slice(n));
1275
+ }, "less"),
1276
+ pastInput: /* @__PURE__ */ __name(function() {
1277
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
1278
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
1279
+ }, "pastInput"),
1280
+ upcomingInput: /* @__PURE__ */ __name(function() {
1281
+ var next = this.match;
1282
+ if (next.length < 20) next += this._input.substr(0, 20 - next.length);
1283
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
1284
+ }, "upcomingInput"),
1285
+ showPosition: /* @__PURE__ */ __name(function() {
1286
+ var pre = this.pastInput();
1287
+ var c = new Array(pre.length + 1).join("-");
1288
+ return pre + this.upcomingInput() + "\n" + c + "^";
1289
+ }, "showPosition"),
1290
+ test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
1291
+ var token, lines, backup;
1292
+ if (this.options.backtrack_lexer) {
1293
+ backup = {
1294
+ yylineno: this.yylineno,
1295
+ yylloc: {
1296
+ first_line: this.yylloc.first_line,
1297
+ last_line: this.last_line,
1298
+ first_column: this.yylloc.first_column,
1299
+ last_column: this.yylloc.last_column
1300
+ },
1301
+ yytext: this.yytext,
1302
+ match: this.match,
1303
+ matches: this.matches,
1304
+ matched: this.matched,
1305
+ yyleng: this.yyleng,
1306
+ offset: this.offset,
1307
+ _more: this._more,
1308
+ _input: this._input,
1309
+ yy: this.yy,
1310
+ conditionStack: this.conditionStack.slice(0),
1311
+ done: this.done
1312
+ };
1313
+ if (this.options.ranges) backup.yylloc.range = this.yylloc.range.slice(0);
1314
+ }
1315
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
1316
+ if (lines) this.yylineno += lines.length;
1317
+ this.yylloc = {
1318
+ first_line: this.yylloc.last_line,
1319
+ last_line: this.yylineno + 1,
1320
+ first_column: this.yylloc.last_column,
1321
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
1322
+ };
1323
+ this.yytext += match[0];
1324
+ this.match += match[0];
1325
+ this.matches = match;
1326
+ this.yyleng = this.yytext.length;
1327
+ if (this.options.ranges) this.yylloc.range = [this.offset, this.offset += this.yyleng];
1328
+ this._more = false;
1329
+ this._backtrack = false;
1330
+ this._input = this._input.slice(match[0].length);
1331
+ this.matched += match[0];
1332
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
1333
+ if (this.done && this._input) this.done = false;
1334
+ if (token) return token;
1335
+ else if (this._backtrack) {
1336
+ for (var k in backup) this[k] = backup[k];
1337
+ return false;
1338
+ }
1339
+ return false;
1340
+ }, "test_match"),
1341
+ next: /* @__PURE__ */ __name(function() {
1342
+ if (this.done) return this.EOF;
1343
+ if (!this._input) this.done = true;
1344
+ var token, match, tempMatch, index;
1345
+ if (!this._more) {
1346
+ this.yytext = "";
1347
+ this.match = "";
1348
+ }
1349
+ var rules = this._currentRules();
1350
+ for (var i = 0; i < rules.length; i++) {
1351
+ tempMatch = this._input.match(this.rules[rules[i]]);
1352
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
1353
+ match = tempMatch;
1354
+ index = i;
1355
+ if (this.options.backtrack_lexer) {
1356
+ token = this.test_match(tempMatch, rules[i]);
1357
+ if (token !== false) return token;
1358
+ else if (this._backtrack) {
1359
+ match = false;
1360
+ continue;
1361
+ } else return false;
1362
+ } else if (!this.options.flex) break;
1363
+ }
1364
+ }
1365
+ if (match) {
1366
+ token = this.test_match(match, rules[index]);
1367
+ if (token !== false) return token;
1368
+ return false;
1369
+ }
1370
+ if (this._input === "") return this.EOF;
1371
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
1372
+ text: "",
1373
+ token: null,
1374
+ line: this.yylineno
1375
+ });
1376
+ }, "next"),
1377
+ lex: /* @__PURE__ */ __name(function lex() {
1378
+ var r = this.next();
1379
+ if (r) return r;
1380
+ else return this.lex();
1381
+ }, "lex"),
1382
+ begin: /* @__PURE__ */ __name(function begin(condition) {
1383
+ this.conditionStack.push(condition);
1384
+ }, "begin"),
1385
+ popState: /* @__PURE__ */ __name(function popState() {
1386
+ if (this.conditionStack.length - 1 > 0) return this.conditionStack.pop();
1387
+ else return this.conditionStack[0];
1388
+ }, "popState"),
1389
+ _currentRules: /* @__PURE__ */ __name(function _currentRules() {
1390
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
1391
+ else return this.conditions["INITIAL"].rules;
1392
+ }, "_currentRules"),
1393
+ topState: /* @__PURE__ */ __name(function topState(n) {
1394
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
1395
+ if (n >= 0) return this.conditionStack[n];
1396
+ else return "INITIAL";
1397
+ }, "topState"),
1398
+ pushState: /* @__PURE__ */ __name(function pushState(condition) {
1399
+ this.begin(condition);
1400
+ }, "pushState"),
1401
+ stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
1402
+ return this.conditionStack.length;
1403
+ }, "stateStackSize"),
1404
+ options: { "case-insensitive": true },
1405
+ performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
1406
+ switch ($avoiding_name_collisions) {
1407
+ case 0: break;
1408
+ case 1: break;
1409
+ case 2: return 55;
1410
+ case 3: break;
1411
+ case 4:
1412
+ this.begin("title");
1413
+ return 35;
1414
+ case 5:
1415
+ this.popState();
1416
+ return "title_value";
1417
+ case 6:
1418
+ this.begin("acc_title");
1419
+ return 37;
1420
+ case 7:
1421
+ this.popState();
1422
+ return "acc_title_value";
1423
+ case 8:
1424
+ this.begin("acc_descr");
1425
+ return 39;
1426
+ case 9:
1427
+ this.popState();
1428
+ return "acc_descr_value";
1429
+ case 10:
1430
+ this.begin("acc_descr_multiline");
1431
+ break;
1432
+ case 11:
1433
+ this.popState();
1434
+ break;
1435
+ case 12: return "acc_descr_multiline_value";
1436
+ case 13: return 48;
1437
+ case 14: return 50;
1438
+ case 15: return 49;
1439
+ case 16: return 51;
1440
+ case 17: return 52;
1441
+ case 18: return 53;
1442
+ case 19: return 54;
1443
+ case 20: return 25;
1444
+ case 21:
1445
+ this.begin("md_string");
1446
+ break;
1447
+ case 22: return "MD_STR";
1448
+ case 23:
1449
+ this.popState();
1450
+ break;
1451
+ case 24:
1452
+ this.begin("string");
1453
+ break;
1454
+ case 25:
1455
+ this.popState();
1456
+ break;
1457
+ case 26: return "STR";
1458
+ case 27:
1459
+ this.begin("class_name");
1460
+ break;
1461
+ case 28:
1462
+ this.popState();
1463
+ return 47;
1464
+ case 29:
1465
+ this.begin("point_start");
1466
+ return 44;
1467
+ case 30:
1468
+ this.begin("point_x");
1469
+ return 45;
1470
+ case 31:
1471
+ this.popState();
1472
+ break;
1473
+ case 32:
1474
+ this.popState();
1475
+ this.begin("point_y");
1476
+ break;
1477
+ case 33:
1478
+ this.popState();
1479
+ return 46;
1480
+ case 34: return 28;
1481
+ case 35: return 4;
1482
+ case 36: return 15;
1483
+ case 37: return 11;
1484
+ case 38: return 64;
1485
+ case 39: return 10;
1486
+ case 40: return 65;
1487
+ case 41: return 65;
1488
+ case 42: return 14;
1489
+ case 43: return 13;
1490
+ case 44: return 67;
1491
+ case 45: return 66;
1492
+ case 46: return 12;
1493
+ case 47: return 8;
1494
+ case 48: return 5;
1495
+ case 49: return 18;
1496
+ case 50: return 56;
1497
+ case 51: return 63;
1498
+ case 52: return 57;
1499
+ }
1500
+ }, "anonymous"),
1501
+ rules: [
1502
+ /^(?:%%(?!\{)[^\n]*)/i,
1503
+ /^(?:[^\}]%%[^\n]*)/i,
1504
+ /^(?:[\n\r]+)/i,
1505
+ /^(?:%%[^\n]*)/i,
1506
+ /^(?:title\b)/i,
1507
+ /^(?:(?!\n||)*[^\n]*)/i,
1508
+ /^(?:accTitle\s*:\s*)/i,
1509
+ /^(?:(?!\n||)*[^\n]*)/i,
1510
+ /^(?:accDescr\s*:\s*)/i,
1511
+ /^(?:(?!\n||)*[^\n]*)/i,
1512
+ /^(?:accDescr\s*\{\s*)/i,
1513
+ /^(?:[\}])/i,
1514
+ /^(?:[^\}]*)/i,
1515
+ /^(?: *x-axis *)/i,
1516
+ /^(?: *y-axis *)/i,
1517
+ /^(?: *--+> *)/i,
1518
+ /^(?: *quadrant-1 *)/i,
1519
+ /^(?: *quadrant-2 *)/i,
1520
+ /^(?: *quadrant-3 *)/i,
1521
+ /^(?: *quadrant-4 *)/i,
1522
+ /^(?:classDef\b)/i,
1523
+ /^(?:["][`])/i,
1524
+ /^(?:[^`"]+)/i,
1525
+ /^(?:[`]["])/i,
1526
+ /^(?:["])/i,
1527
+ /^(?:["])/i,
1528
+ /^(?:[^"]*)/i,
1529
+ /^(?::::)/i,
1530
+ /^(?:^\w+)/i,
1531
+ /^(?:\s*:\s*\[\s*)/i,
1532
+ /^(?:(1)|(0(.\d+)?))/i,
1533
+ /^(?:\s*\] *)/i,
1534
+ /^(?:\s*,\s*)/i,
1535
+ /^(?:(1)|(0(.\d+)?))/i,
1536
+ /^(?: *quadrantChart *)/i,
1537
+ /^(?:[A-Za-z]+)/i,
1538
+ /^(?:[^\x00-\x7F]+)/i,
1539
+ /^(?::)/i,
1540
+ /^(?:\+)/i,
1541
+ /^(?:,)/i,
1542
+ /^(?:=)/i,
1543
+ /^(?:=)/i,
1544
+ /^(?:\*)/i,
1545
+ /^(?:#)/i,
1546
+ /^(?:[\_])/i,
1547
+ /^(?:\.)/i,
1548
+ /^(?:&)/i,
1549
+ /^(?:-)/i,
1550
+ /^(?:[0-9]+)/i,
1551
+ /^(?:\s)/i,
1552
+ /^(?:;)/i,
1553
+ /^(?:[!"#$%&'*+,-.`?\\_/])/i,
1554
+ /^(?:$)/i
1555
+ ],
1556
+ conditions: {
1557
+ "class_name": {
1558
+ "rules": [28],
1559
+ "inclusive": false
1560
+ },
1561
+ "point_y": {
1562
+ "rules": [33],
1563
+ "inclusive": false
1564
+ },
1565
+ "point_x": {
1566
+ "rules": [32],
1567
+ "inclusive": false
1568
+ },
1569
+ "point_start": {
1570
+ "rules": [30, 31],
1571
+ "inclusive": false
1572
+ },
1573
+ "acc_descr_multiline": {
1574
+ "rules": [11, 12],
1575
+ "inclusive": false
1576
+ },
1577
+ "acc_descr": {
1578
+ "rules": [9],
1579
+ "inclusive": false
1580
+ },
1581
+ "acc_title": {
1582
+ "rules": [7],
1583
+ "inclusive": false
1584
+ },
1585
+ "title": {
1586
+ "rules": [5],
1587
+ "inclusive": false
1588
+ },
1589
+ "md_string": {
1590
+ "rules": [22, 23],
1591
+ "inclusive": false
1592
+ },
1593
+ "string": {
1594
+ "rules": [25, 26],
1595
+ "inclusive": false
1596
+ },
1597
+ "INITIAL": {
1598
+ "rules": [
1599
+ 0,
1600
+ 1,
1601
+ 2,
1602
+ 3,
1603
+ 4,
1604
+ 6,
1605
+ 8,
1606
+ 10,
1607
+ 13,
1608
+ 14,
1609
+ 15,
1610
+ 16,
1611
+ 17,
1612
+ 18,
1613
+ 19,
1614
+ 20,
1615
+ 21,
1616
+ 24,
1617
+ 27,
1618
+ 29,
1619
+ 34,
1620
+ 35,
1621
+ 36,
1622
+ 37,
1623
+ 38,
1624
+ 39,
1625
+ 40,
1626
+ 41,
1627
+ 42,
1628
+ 43,
1629
+ 44,
1630
+ 45,
1631
+ 46,
1632
+ 47,
1633
+ 48,
1634
+ 49,
1635
+ 50,
1636
+ 51,
1637
+ 52
1638
+ ],
1639
+ "inclusive": true
1640
+ }
1641
+ }
1642
+ };
1643
+ })();
1644
+ function Parser() {
1645
+ this.yy = {};
1646
+ }
1647
+ __name(Parser, "Parser");
1648
+ Parser.prototype = parser2;
1649
+ parser2.Parser = Parser;
1650
+ return new Parser();
1651
+ })();
1652
+ parser.parser = parser;
1653
+ var quadrant_default = parser;
1654
+ var defaultThemeVariables = getThemeVariables3();
1655
+ var QuadrantBuilder = class {
1656
+ constructor() {
1657
+ this.classes = /* @__PURE__ */ new Map();
1658
+ this.config = this.getDefaultConfig();
1659
+ this.themeConfig = this.getDefaultThemeConfig();
1660
+ this.data = this.getDefaultData();
1661
+ }
1662
+ static {
1663
+ __name(this, "QuadrantBuilder");
1664
+ }
1665
+ getDefaultData() {
1666
+ return {
1667
+ titleText: "",
1668
+ quadrant1Text: "",
1669
+ quadrant2Text: "",
1670
+ quadrant3Text: "",
1671
+ quadrant4Text: "",
1672
+ xAxisLeftText: "",
1673
+ xAxisRightText: "",
1674
+ yAxisBottomText: "",
1675
+ yAxisTopText: "",
1676
+ points: []
1677
+ };
1678
+ }
1679
+ getDefaultConfig() {
1680
+ return {
1681
+ showXAxis: true,
1682
+ showYAxis: true,
1683
+ showTitle: true,
1684
+ chartHeight: defaultConfig_default.quadrantChart?.chartWidth || 500,
1685
+ chartWidth: defaultConfig_default.quadrantChart?.chartHeight || 500,
1686
+ titlePadding: defaultConfig_default.quadrantChart?.titlePadding || 10,
1687
+ titleFontSize: defaultConfig_default.quadrantChart?.titleFontSize || 20,
1688
+ quadrantPadding: defaultConfig_default.quadrantChart?.quadrantPadding || 5,
1689
+ xAxisLabelPadding: defaultConfig_default.quadrantChart?.xAxisLabelPadding || 5,
1690
+ yAxisLabelPadding: defaultConfig_default.quadrantChart?.yAxisLabelPadding || 5,
1691
+ xAxisLabelFontSize: defaultConfig_default.quadrantChart?.xAxisLabelFontSize || 16,
1692
+ yAxisLabelFontSize: defaultConfig_default.quadrantChart?.yAxisLabelFontSize || 16,
1693
+ quadrantLabelFontSize: defaultConfig_default.quadrantChart?.quadrantLabelFontSize || 16,
1694
+ quadrantTextTopPadding: defaultConfig_default.quadrantChart?.quadrantTextTopPadding || 5,
1695
+ pointTextPadding: defaultConfig_default.quadrantChart?.pointTextPadding || 5,
1696
+ pointLabelFontSize: defaultConfig_default.quadrantChart?.pointLabelFontSize || 12,
1697
+ pointRadius: defaultConfig_default.quadrantChart?.pointRadius || 5,
1698
+ xAxisPosition: defaultConfig_default.quadrantChart?.xAxisPosition || "top",
1699
+ yAxisPosition: defaultConfig_default.quadrantChart?.yAxisPosition || "left",
1700
+ quadrantInternalBorderStrokeWidth: defaultConfig_default.quadrantChart?.quadrantInternalBorderStrokeWidth || 1,
1701
+ quadrantExternalBorderStrokeWidth: defaultConfig_default.quadrantChart?.quadrantExternalBorderStrokeWidth || 2
1702
+ };
1703
+ }
1704
+ getDefaultThemeConfig() {
1705
+ return {
1706
+ quadrant1Fill: defaultThemeVariables.quadrant1Fill,
1707
+ quadrant2Fill: defaultThemeVariables.quadrant2Fill,
1708
+ quadrant3Fill: defaultThemeVariables.quadrant3Fill,
1709
+ quadrant4Fill: defaultThemeVariables.quadrant4Fill,
1710
+ quadrant1TextFill: defaultThemeVariables.quadrant1TextFill,
1711
+ quadrant2TextFill: defaultThemeVariables.quadrant2TextFill,
1712
+ quadrant3TextFill: defaultThemeVariables.quadrant3TextFill,
1713
+ quadrant4TextFill: defaultThemeVariables.quadrant4TextFill,
1714
+ quadrantPointFill: defaultThemeVariables.quadrantPointFill,
1715
+ quadrantPointTextFill: defaultThemeVariables.quadrantPointTextFill,
1716
+ quadrantXAxisTextFill: defaultThemeVariables.quadrantXAxisTextFill,
1717
+ quadrantYAxisTextFill: defaultThemeVariables.quadrantYAxisTextFill,
1718
+ quadrantTitleFill: defaultThemeVariables.quadrantTitleFill,
1719
+ quadrantInternalBorderStrokeFill: defaultThemeVariables.quadrantInternalBorderStrokeFill,
1720
+ quadrantExternalBorderStrokeFill: defaultThemeVariables.quadrantExternalBorderStrokeFill
1721
+ };
1722
+ }
1723
+ clear() {
1724
+ this.config = this.getDefaultConfig();
1725
+ this.themeConfig = this.getDefaultThemeConfig();
1726
+ this.data = this.getDefaultData();
1727
+ this.classes = /* @__PURE__ */ new Map();
1728
+ log.info("clear called");
1729
+ }
1730
+ setData(data) {
1731
+ this.data = {
1732
+ ...this.data,
1733
+ ...data
1734
+ };
1735
+ }
1736
+ addPoints(points) {
1737
+ this.data.points = [...points, ...this.data.points];
1738
+ }
1739
+ addClass(className, styles) {
1740
+ this.classes.set(className, styles);
1741
+ }
1742
+ setConfig(config) {
1743
+ log.trace("setConfig called with: ", config);
1744
+ this.config = {
1745
+ ...this.config,
1746
+ ...config
1747
+ };
1748
+ }
1749
+ setThemeConfig(themeConfig) {
1750
+ log.trace("setThemeConfig called with: ", themeConfig);
1751
+ this.themeConfig = {
1752
+ ...this.themeConfig,
1753
+ ...themeConfig
1754
+ };
1755
+ }
1756
+ calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle) {
1757
+ const xAxisSpaceCalculation = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize;
1758
+ const xAxisSpace = {
1759
+ top: xAxisPosition === "top" && showXAxis ? xAxisSpaceCalculation : 0,
1760
+ bottom: xAxisPosition === "bottom" && showXAxis ? xAxisSpaceCalculation : 0
1761
+ };
1762
+ const yAxisSpaceCalculation = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize;
1763
+ const yAxisSpace = {
1764
+ left: this.config.yAxisPosition === "left" && showYAxis ? yAxisSpaceCalculation : 0,
1765
+ right: this.config.yAxisPosition === "right" && showYAxis ? yAxisSpaceCalculation : 0
1766
+ };
1767
+ const titleSpaceCalculation = this.config.titleFontSize + this.config.titlePadding * 2;
1768
+ const titleSpace = { top: showTitle ? titleSpaceCalculation : 0 };
1769
+ const quadrantLeft = this.config.quadrantPadding + yAxisSpace.left;
1770
+ const quadrantTop = this.config.quadrantPadding + xAxisSpace.top + titleSpace.top;
1771
+ const quadrantWidth = this.config.chartWidth - this.config.quadrantPadding * 2 - yAxisSpace.left - yAxisSpace.right;
1772
+ const quadrantHeight = this.config.chartHeight - this.config.quadrantPadding * 2 - xAxisSpace.top - xAxisSpace.bottom - titleSpace.top;
1773
+ return {
1774
+ xAxisSpace,
1775
+ yAxisSpace,
1776
+ titleSpace,
1777
+ quadrantSpace: {
1778
+ quadrantLeft,
1779
+ quadrantTop,
1780
+ quadrantWidth,
1781
+ quadrantHalfWidth: quadrantWidth / 2,
1782
+ quadrantHeight,
1783
+ quadrantHalfHeight: quadrantHeight / 2
1784
+ }
1785
+ };
1786
+ }
1787
+ getAxisLabels(xAxisPosition, showXAxis, showYAxis, spaceData) {
1788
+ const { quadrantSpace, titleSpace } = spaceData;
1789
+ const { quadrantHalfHeight, quadrantHeight, quadrantLeft, quadrantHalfWidth, quadrantTop, quadrantWidth } = quadrantSpace;
1790
+ const drawXAxisLabelsInMiddle = Boolean(this.data.xAxisRightText);
1791
+ const drawYAxisLabelsInMiddle = Boolean(this.data.yAxisTopText);
1792
+ const axisLabels = [];
1793
+ if (this.data.xAxisLeftText && showXAxis) axisLabels.push({
1794
+ text: this.data.xAxisLeftText,
1795
+ fill: this.themeConfig.quadrantXAxisTextFill,
1796
+ x: quadrantLeft + (drawXAxisLabelsInMiddle ? quadrantHalfWidth / 2 : 0),
1797
+ y: xAxisPosition === "top" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,
1798
+ fontSize: this.config.xAxisLabelFontSize,
1799
+ verticalPos: drawXAxisLabelsInMiddle ? "center" : "left",
1800
+ horizontalPos: "top",
1801
+ rotation: 0
1802
+ });
1803
+ if (this.data.xAxisRightText && showXAxis) axisLabels.push({
1804
+ text: this.data.xAxisRightText,
1805
+ fill: this.themeConfig.quadrantXAxisTextFill,
1806
+ x: quadrantLeft + quadrantHalfWidth + (drawXAxisLabelsInMiddle ? quadrantHalfWidth / 2 : 0),
1807
+ y: xAxisPosition === "top" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,
1808
+ fontSize: this.config.xAxisLabelFontSize,
1809
+ verticalPos: drawXAxisLabelsInMiddle ? "center" : "left",
1810
+ horizontalPos: "top",
1811
+ rotation: 0
1812
+ });
1813
+ if (this.data.yAxisBottomText && showYAxis) axisLabels.push({
1814
+ text: this.data.yAxisBottomText,
1815
+ fill: this.themeConfig.quadrantYAxisTextFill,
1816
+ x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,
1817
+ y: quadrantTop + quadrantHeight - (drawYAxisLabelsInMiddle ? quadrantHalfHeight / 2 : 0),
1818
+ fontSize: this.config.yAxisLabelFontSize,
1819
+ verticalPos: drawYAxisLabelsInMiddle ? "center" : "left",
1820
+ horizontalPos: "top",
1821
+ rotation: -90
1822
+ });
1823
+ if (this.data.yAxisTopText && showYAxis) axisLabels.push({
1824
+ text: this.data.yAxisTopText,
1825
+ fill: this.themeConfig.quadrantYAxisTextFill,
1826
+ x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,
1827
+ y: quadrantTop + quadrantHalfHeight - (drawYAxisLabelsInMiddle ? quadrantHalfHeight / 2 : 0),
1828
+ fontSize: this.config.yAxisLabelFontSize,
1829
+ verticalPos: drawYAxisLabelsInMiddle ? "center" : "left",
1830
+ horizontalPos: "top",
1831
+ rotation: -90
1832
+ });
1833
+ return axisLabels;
1834
+ }
1835
+ getQuadrants(spaceData) {
1836
+ const { quadrantSpace } = spaceData;
1837
+ const { quadrantHalfHeight, quadrantLeft, quadrantHalfWidth, quadrantTop } = quadrantSpace;
1838
+ const quadrants = [
1839
+ {
1840
+ text: {
1841
+ text: this.data.quadrant1Text,
1842
+ fill: this.themeConfig.quadrant1TextFill,
1843
+ x: 0,
1844
+ y: 0,
1845
+ fontSize: this.config.quadrantLabelFontSize,
1846
+ verticalPos: "center",
1847
+ horizontalPos: "middle",
1848
+ rotation: 0
1849
+ },
1850
+ x: quadrantLeft + quadrantHalfWidth,
1851
+ y: quadrantTop,
1852
+ width: quadrantHalfWidth,
1853
+ height: quadrantHalfHeight,
1854
+ fill: this.themeConfig.quadrant1Fill
1855
+ },
1856
+ {
1857
+ text: {
1858
+ text: this.data.quadrant2Text,
1859
+ fill: this.themeConfig.quadrant2TextFill,
1860
+ x: 0,
1861
+ y: 0,
1862
+ fontSize: this.config.quadrantLabelFontSize,
1863
+ verticalPos: "center",
1864
+ horizontalPos: "middle",
1865
+ rotation: 0
1866
+ },
1867
+ x: quadrantLeft,
1868
+ y: quadrantTop,
1869
+ width: quadrantHalfWidth,
1870
+ height: quadrantHalfHeight,
1871
+ fill: this.themeConfig.quadrant2Fill
1872
+ },
1873
+ {
1874
+ text: {
1875
+ text: this.data.quadrant3Text,
1876
+ fill: this.themeConfig.quadrant3TextFill,
1877
+ x: 0,
1878
+ y: 0,
1879
+ fontSize: this.config.quadrantLabelFontSize,
1880
+ verticalPos: "center",
1881
+ horizontalPos: "middle",
1882
+ rotation: 0
1883
+ },
1884
+ x: quadrantLeft,
1885
+ y: quadrantTop + quadrantHalfHeight,
1886
+ width: quadrantHalfWidth,
1887
+ height: quadrantHalfHeight,
1888
+ fill: this.themeConfig.quadrant3Fill
1889
+ },
1890
+ {
1891
+ text: {
1892
+ text: this.data.quadrant4Text,
1893
+ fill: this.themeConfig.quadrant4TextFill,
1894
+ x: 0,
1895
+ y: 0,
1896
+ fontSize: this.config.quadrantLabelFontSize,
1897
+ verticalPos: "center",
1898
+ horizontalPos: "middle",
1899
+ rotation: 0
1900
+ },
1901
+ x: quadrantLeft + quadrantHalfWidth,
1902
+ y: quadrantTop + quadrantHalfHeight,
1903
+ width: quadrantHalfWidth,
1904
+ height: quadrantHalfHeight,
1905
+ fill: this.themeConfig.quadrant4Fill
1906
+ }
1907
+ ];
1908
+ for (const quadrant of quadrants) {
1909
+ quadrant.text.x = quadrant.x + quadrant.width / 2;
1910
+ if (this.data.points.length === 0) {
1911
+ quadrant.text.y = quadrant.y + quadrant.height / 2;
1912
+ quadrant.text.horizontalPos = "middle";
1913
+ } else {
1914
+ quadrant.text.y = quadrant.y + this.config.quadrantTextTopPadding;
1915
+ quadrant.text.horizontalPos = "top";
1916
+ }
1917
+ }
1918
+ return quadrants;
1919
+ }
1920
+ getQuadrantPoints(spaceData) {
1921
+ const { quadrantSpace } = spaceData;
1922
+ const { quadrantHeight, quadrantLeft, quadrantTop, quadrantWidth } = quadrantSpace;
1923
+ const xAxis = linear().domain([0, 1]).range([quadrantLeft, quadrantWidth + quadrantLeft]);
1924
+ const yAxis = linear().domain([0, 1]).range([quadrantHeight + quadrantTop, quadrantTop]);
1925
+ return this.data.points.map((point) => {
1926
+ const classStyles = this.classes.get(point.className);
1927
+ if (classStyles) point = {
1928
+ ...classStyles,
1929
+ ...point
1930
+ };
1931
+ return {
1932
+ x: xAxis(point.x),
1933
+ y: yAxis(point.y),
1934
+ fill: point.color ?? this.themeConfig.quadrantPointFill,
1935
+ radius: point.radius ?? this.config.pointRadius,
1936
+ text: {
1937
+ text: point.text,
1938
+ fill: this.themeConfig.quadrantPointTextFill,
1939
+ x: xAxis(point.x),
1940
+ y: yAxis(point.y) + this.config.pointTextPadding,
1941
+ verticalPos: "center",
1942
+ horizontalPos: "top",
1943
+ fontSize: this.config.pointLabelFontSize,
1944
+ rotation: 0
1945
+ },
1946
+ strokeColor: point.strokeColor ?? this.themeConfig.quadrantPointFill,
1947
+ strokeWidth: point.strokeWidth ?? "0px"
1948
+ };
1949
+ });
1950
+ }
1951
+ getBorders(spaceData) {
1952
+ const halfExternalBorderWidth = this.config.quadrantExternalBorderStrokeWidth / 2;
1953
+ const { quadrantSpace } = spaceData;
1954
+ const { quadrantHalfHeight, quadrantHeight, quadrantLeft, quadrantHalfWidth, quadrantTop, quadrantWidth } = quadrantSpace;
1955
+ return [
1956
+ {
1957
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
1958
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
1959
+ x1: quadrantLeft - halfExternalBorderWidth,
1960
+ y1: quadrantTop,
1961
+ x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,
1962
+ y2: quadrantTop
1963
+ },
1964
+ {
1965
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
1966
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
1967
+ x1: quadrantLeft + quadrantWidth,
1968
+ y1: quadrantTop + halfExternalBorderWidth,
1969
+ x2: quadrantLeft + quadrantWidth,
1970
+ y2: quadrantTop + quadrantHeight - halfExternalBorderWidth
1971
+ },
1972
+ {
1973
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
1974
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
1975
+ x1: quadrantLeft - halfExternalBorderWidth,
1976
+ y1: quadrantTop + quadrantHeight,
1977
+ x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,
1978
+ y2: quadrantTop + quadrantHeight
1979
+ },
1980
+ {
1981
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
1982
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
1983
+ x1: quadrantLeft,
1984
+ y1: quadrantTop + halfExternalBorderWidth,
1985
+ x2: quadrantLeft,
1986
+ y2: quadrantTop + quadrantHeight - halfExternalBorderWidth
1987
+ },
1988
+ {
1989
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
1990
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
1991
+ x1: quadrantLeft + quadrantHalfWidth,
1992
+ y1: quadrantTop + halfExternalBorderWidth,
1993
+ x2: quadrantLeft + quadrantHalfWidth,
1994
+ y2: quadrantTop + quadrantHeight - halfExternalBorderWidth
1995
+ },
1996
+ {
1997
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
1998
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
1999
+ x1: quadrantLeft + halfExternalBorderWidth,
2000
+ y1: quadrantTop + quadrantHalfHeight,
2001
+ x2: quadrantLeft + quadrantWidth - halfExternalBorderWidth,
2002
+ y2: quadrantTop + quadrantHalfHeight
2003
+ }
2004
+ ];
2005
+ }
2006
+ getTitle(showTitle) {
2007
+ if (showTitle) return {
2008
+ text: this.data.titleText,
2009
+ fill: this.themeConfig.quadrantTitleFill,
2010
+ fontSize: this.config.titleFontSize,
2011
+ horizontalPos: "top",
2012
+ verticalPos: "center",
2013
+ rotation: 0,
2014
+ y: this.config.titlePadding,
2015
+ x: this.config.chartWidth / 2
2016
+ };
2017
+ }
2018
+ build() {
2019
+ const showXAxis = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText);
2020
+ const showYAxis = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText);
2021
+ const showTitle = this.config.showTitle && !!this.data.titleText;
2022
+ const xAxisPosition = this.data.points.length > 0 ? "bottom" : this.config.xAxisPosition;
2023
+ const calculatedSpace = this.calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle);
2024
+ return {
2025
+ points: this.getQuadrantPoints(calculatedSpace),
2026
+ quadrants: this.getQuadrants(calculatedSpace),
2027
+ axisLabels: this.getAxisLabels(xAxisPosition, showXAxis, showYAxis, calculatedSpace),
2028
+ borderLines: this.getBorders(calculatedSpace),
2029
+ title: this.getTitle(showTitle)
2030
+ };
2031
+ }
2032
+ };
2033
+ var InvalidStyleError = class extends Error {
2034
+ static {
2035
+ __name(this, "InvalidStyleError");
2036
+ }
2037
+ constructor(style, value, type) {
2038
+ super(`value for ${style} ${value} is invalid, please use a valid ${type}`);
2039
+ this.name = "InvalidStyleError";
2040
+ }
2041
+ };
2042
+ function validateHexCode(value) {
2043
+ return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(value);
2044
+ }
2045
+ __name(validateHexCode, "validateHexCode");
2046
+ function validateNumber(value) {
2047
+ return !/^\d+$/.test(value);
2048
+ }
2049
+ __name(validateNumber, "validateNumber");
2050
+ function validateSizeInPixels(value) {
2051
+ return !/^\d+px$/.test(value);
2052
+ }
2053
+ __name(validateSizeInPixels, "validateSizeInPixels");
2054
+ function textSanitizer(text) {
2055
+ return sanitizeText(text.trim(), getConfig2());
2056
+ }
2057
+ __name(textSanitizer, "textSanitizer");
2058
+ var quadrantBuilder = new QuadrantBuilder();
2059
+ function setQuadrant1Text(textObj) {
2060
+ quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) });
2061
+ }
2062
+ __name(setQuadrant1Text, "setQuadrant1Text");
2063
+ function setQuadrant2Text(textObj) {
2064
+ quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) });
2065
+ }
2066
+ __name(setQuadrant2Text, "setQuadrant2Text");
2067
+ function setQuadrant3Text(textObj) {
2068
+ quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) });
2069
+ }
2070
+ __name(setQuadrant3Text, "setQuadrant3Text");
2071
+ function setQuadrant4Text(textObj) {
2072
+ quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) });
2073
+ }
2074
+ __name(setQuadrant4Text, "setQuadrant4Text");
2075
+ function setXAxisLeftText(textObj) {
2076
+ quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) });
2077
+ }
2078
+ __name(setXAxisLeftText, "setXAxisLeftText");
2079
+ function setXAxisRightText(textObj) {
2080
+ quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) });
2081
+ }
2082
+ __name(setXAxisRightText, "setXAxisRightText");
2083
+ function setYAxisTopText(textObj) {
2084
+ quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) });
2085
+ }
2086
+ __name(setYAxisTopText, "setYAxisTopText");
2087
+ function setYAxisBottomText(textObj) {
2088
+ quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) });
2089
+ }
2090
+ __name(setYAxisBottomText, "setYAxisBottomText");
2091
+ function parseStyles(styles) {
2092
+ const stylesObject = {};
2093
+ for (const style of styles) {
2094
+ const [key, value] = style.trim().split(/\s*:\s*/);
2095
+ if (key === "radius") {
2096
+ if (validateNumber(value)) throw new InvalidStyleError(key, value, "number");
2097
+ stylesObject.radius = parseInt(value);
2098
+ } else if (key === "color") {
2099
+ if (validateHexCode(value)) throw new InvalidStyleError(key, value, "hex code");
2100
+ stylesObject.color = value;
2101
+ } else if (key === "stroke-color") {
2102
+ if (validateHexCode(value)) throw new InvalidStyleError(key, value, "hex code");
2103
+ stylesObject.strokeColor = value;
2104
+ } else if (key === "stroke-width") {
2105
+ if (validateSizeInPixels(value)) throw new InvalidStyleError(key, value, "number of pixels (eg. 10px)");
2106
+ stylesObject.strokeWidth = value;
2107
+ } else throw new Error(`style named ${key} is not supported.`);
2108
+ }
2109
+ return stylesObject;
2110
+ }
2111
+ __name(parseStyles, "parseStyles");
2112
+ function addPoint(textObj, className, x, y, styles) {
2113
+ const stylesObject = parseStyles(styles);
2114
+ quadrantBuilder.addPoints([{
2115
+ x,
2116
+ y,
2117
+ text: textSanitizer(textObj.text),
2118
+ className,
2119
+ ...stylesObject
2120
+ }]);
2121
+ }
2122
+ __name(addPoint, "addPoint");
2123
+ function addClass(className, styles) {
2124
+ quadrantBuilder.addClass(className, parseStyles(styles));
2125
+ }
2126
+ __name(addClass, "addClass");
2127
+ function setWidth(width) {
2128
+ quadrantBuilder.setConfig({ chartWidth: width });
2129
+ }
2130
+ __name(setWidth, "setWidth");
2131
+ function setHeight(height) {
2132
+ quadrantBuilder.setConfig({ chartHeight: height });
2133
+ }
2134
+ __name(setHeight, "setHeight");
2135
+ function getQuadrantData() {
2136
+ const { themeVariables, quadrantChart: quadrantChartConfig } = getConfig2();
2137
+ if (quadrantChartConfig) quadrantBuilder.setConfig(quadrantChartConfig);
2138
+ quadrantBuilder.setThemeConfig({
2139
+ quadrant1Fill: themeVariables.quadrant1Fill,
2140
+ quadrant2Fill: themeVariables.quadrant2Fill,
2141
+ quadrant3Fill: themeVariables.quadrant3Fill,
2142
+ quadrant4Fill: themeVariables.quadrant4Fill,
2143
+ quadrant1TextFill: themeVariables.quadrant1TextFill,
2144
+ quadrant2TextFill: themeVariables.quadrant2TextFill,
2145
+ quadrant3TextFill: themeVariables.quadrant3TextFill,
2146
+ quadrant4TextFill: themeVariables.quadrant4TextFill,
2147
+ quadrantPointFill: themeVariables.quadrantPointFill,
2148
+ quadrantPointTextFill: themeVariables.quadrantPointTextFill,
2149
+ quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill,
2150
+ quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill,
2151
+ quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill,
2152
+ quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill,
2153
+ quadrantTitleFill: themeVariables.quadrantTitleFill
2154
+ });
2155
+ quadrantBuilder.setData({ titleText: getDiagramTitle() });
2156
+ return quadrantBuilder.build();
2157
+ }
2158
+ __name(getQuadrantData, "getQuadrantData");
2159
+ var quadrantDb_default = {
2160
+ setWidth,
2161
+ setHeight,
2162
+ setQuadrant1Text,
2163
+ setQuadrant2Text,
2164
+ setQuadrant3Text,
2165
+ setQuadrant4Text,
2166
+ setXAxisLeftText,
2167
+ setXAxisRightText,
2168
+ setYAxisTopText,
2169
+ setYAxisBottomText,
2170
+ parseStyles,
2171
+ addPoint,
2172
+ addClass,
2173
+ getQuadrantData,
2174
+ clear: /* @__PURE__ */ __name(function() {
2175
+ quadrantBuilder.clear();
2176
+ clear();
2177
+ }, "clear"),
2178
+ setAccTitle,
2179
+ getAccTitle,
2180
+ setDiagramTitle,
2181
+ getDiagramTitle,
2182
+ getAccDescription,
2183
+ setAccDescription
2184
+ };
2185
+ var diagram = {
2186
+ parser: quadrant_default,
2187
+ db: quadrantDb_default,
2188
+ renderer: { draw: /* @__PURE__ */ __name((txt, id, _version, diagObj) => {
2189
+ function getDominantBaseLine(horizontalPos) {
2190
+ return horizontalPos === "top" ? "hanging" : "middle";
2191
+ }
2192
+ __name(getDominantBaseLine, "getDominantBaseLine");
2193
+ function getTextAnchor(verticalPos) {
2194
+ return verticalPos === "left" ? "start" : "middle";
2195
+ }
2196
+ __name(getTextAnchor, "getTextAnchor");
2197
+ function getTransformation(data) {
2198
+ return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;
2199
+ }
2200
+ __name(getTransformation, "getTransformation");
2201
+ const conf = getConfig2();
2202
+ log.debug("Rendering quadrant chart\n" + txt);
2203
+ const securityLevel = conf.securityLevel;
2204
+ let sandboxElement;
2205
+ if (securityLevel === "sandbox") sandboxElement = select_default("#i" + id);
2206
+ const svg = (securityLevel === "sandbox" ? select_default(sandboxElement.nodes()[0].contentDocument.body) : select_default("body")).select(`[id="${id}"]`);
2207
+ const group = svg.append("g").attr("class", "main");
2208
+ const width = conf.quadrantChart?.chartWidth ?? 500;
2209
+ const height = conf.quadrantChart?.chartHeight ?? 500;
2210
+ configureSvgSize(svg, height, width, conf.quadrantChart?.useMaxWidth ?? true);
2211
+ svg.attr("viewBox", "0 0 " + width + " " + height);
2212
+ diagObj.db.setHeight(height);
2213
+ diagObj.db.setWidth(width);
2214
+ const quadrantData = diagObj.db.getQuadrantData();
2215
+ const quadrantsGroup = group.append("g").attr("class", "quadrants");
2216
+ const borderGroup = group.append("g").attr("class", "border");
2217
+ const dataPointGroup = group.append("g").attr("class", "data-points");
2218
+ const labelGroup = group.append("g").attr("class", "labels");
2219
+ const titleGroup = group.append("g").attr("class", "title");
2220
+ if (quadrantData.title) titleGroup.append("text").attr("x", 0).attr("y", 0).attr("fill", quadrantData.title.fill).attr("font-size", quadrantData.title.fontSize).attr("dominant-baseline", getDominantBaseLine(quadrantData.title.horizontalPos)).attr("text-anchor", getTextAnchor(quadrantData.title.verticalPos)).attr("transform", getTransformation(quadrantData.title)).text(quadrantData.title.text);
2221
+ if (quadrantData.borderLines) borderGroup.selectAll("line").data(quadrantData.borderLines).enter().append("line").attr("x1", (data) => data.x1).attr("y1", (data) => data.y1).attr("x2", (data) => data.x2).attr("y2", (data) => data.y2).style("stroke", (data) => data.strokeFill).style("stroke-width", (data) => data.strokeWidth);
2222
+ const quadrants = quadrantsGroup.selectAll("g.quadrant").data(quadrantData.quadrants).enter().append("g").attr("class", "quadrant");
2223
+ quadrants.append("rect").attr("x", (data) => data.x).attr("y", (data) => data.y).attr("width", (data) => data.width).attr("height", (data) => data.height).attr("fill", (data) => data.fill);
2224
+ quadrants.append("text").attr("x", 0).attr("y", 0).attr("fill", (data) => data.text.fill).attr("font-size", (data) => data.text.fontSize).attr("dominant-baseline", (data) => getDominantBaseLine(data.text.horizontalPos)).attr("text-anchor", (data) => getTextAnchor(data.text.verticalPos)).attr("transform", (data) => getTransformation(data.text)).text((data) => data.text.text);
2225
+ labelGroup.selectAll("g.label").data(quadrantData.axisLabels).enter().append("g").attr("class", "label").append("text").attr("x", 0).attr("y", 0).text((data) => data.text).attr("fill", (data) => data.fill).attr("font-size", (data) => data.fontSize).attr("dominant-baseline", (data) => getDominantBaseLine(data.horizontalPos)).attr("text-anchor", (data) => getTextAnchor(data.verticalPos)).attr("transform", (data) => getTransformation(data));
2226
+ const dataPoints = dataPointGroup.selectAll("g.data-point").data(quadrantData.points).enter().append("g").attr("class", "data-point");
2227
+ dataPoints.append("circle").attr("cx", (data) => data.x).attr("cy", (data) => data.y).attr("r", (data) => data.radius).attr("fill", (data) => data.fill).attr("stroke", (data) => data.strokeColor).attr("stroke-width", (data) => data.strokeWidth);
2228
+ dataPoints.append("text").attr("x", 0).attr("y", 0).text((data) => data.text.text).attr("fill", (data) => data.text.fill).attr("font-size", (data) => data.text.fontSize).attr("dominant-baseline", (data) => getDominantBaseLine(data.text.horizontalPos)).attr("text-anchor", (data) => getTextAnchor(data.text.verticalPos)).attr("transform", (data) => getTransformation(data.text));
2229
+ }, "draw") },
2230
+ styles: /* @__PURE__ */ __name(() => "", "styles")
2231
+ };
2232
+
2233
+ //#endregion
2234
+ export { diagram };