for-humanity 0.12.0 → 0.13.1

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 (226) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +16 -9
  3. package/dist/browser.js +14 -16
  4. package/dist/cli.css +2 -968
  5. package/dist/cli.js +92 -2318
  6. package/dist/config.js +1 -0
  7. package/dist/constant/copy.d.ts +100 -0
  8. package/dist/constant/site.d.ts +20 -0
  9. package/dist/constant/status.d.ts +19 -0
  10. package/dist/copy-C1uzvEnr.js +103 -0
  11. package/dist/group-path-XAThmzvC.js +10 -0
  12. package/dist/load-site-B-u5-jv0.js +2343 -0
  13. package/dist/logger-Dv1i9xSV.js +9 -0
  14. package/dist/mermaid/THIRD-PARTY-NOTICES.txt +3134 -0
  15. package/dist/mermaid/chunk--TN-qHgG.js +2 -0
  16. package/dist/mermaid/chunk-0kM1Lv4D.js +2 -0
  17. package/dist/mermaid/chunk-3FHei3pH.js +2001 -0
  18. package/dist/mermaid/chunk-3_2p2GqN.js +2 -0
  19. package/dist/mermaid/chunk-6HLei9i0.js +84 -0
  20. package/dist/mermaid/chunk-7Sz3kAwl.js +2214 -0
  21. package/dist/mermaid/chunk-7Tarqbpa.js +18047 -0
  22. package/dist/mermaid/chunk-9kkt8lzL.js +10 -0
  23. package/dist/mermaid/chunk-B--pNBQF.js +884 -0
  24. package/dist/mermaid/chunk-B4F-pysn.js +4241 -0
  25. package/dist/mermaid/chunk-B58sEIY_.js +14 -0
  26. package/dist/mermaid/chunk-B9_UWzSH.js +1517 -0
  27. package/dist/mermaid/chunk-BB8uZHwY.js +75 -0
  28. package/dist/mermaid/chunk-BFfk0LEc.js +717 -0
  29. package/dist/mermaid/chunk-BKri0qr7.js +89 -0
  30. package/dist/mermaid/chunk-BL404pH5.js +26 -0
  31. package/dist/mermaid/chunk-BLeiQSWo.js +354 -0
  32. package/dist/mermaid/chunk-BOmH_UFd.js +2 -0
  33. package/dist/mermaid/chunk-BSej9Nhy.js +1361 -0
  34. package/dist/mermaid/chunk-BYzrzvCI.js +12 -0
  35. package/dist/mermaid/chunk-BariMtWr.js +3020 -0
  36. package/dist/mermaid/chunk-BcrBoMwH.js +2352 -0
  37. package/dist/mermaid/chunk-Bok8z-Yo.js +67 -0
  38. package/dist/mermaid/chunk-BpTHLKQM.js +1970 -0
  39. package/dist/mermaid/chunk-BqjuxRsC.js +733 -0
  40. package/dist/mermaid/chunk-BuvPd-s5.js +1073 -0
  41. package/dist/mermaid/chunk-BvVehae3.js +5069 -0
  42. package/dist/mermaid/chunk-C-JABYpd.js +3075 -0
  43. package/dist/mermaid/chunk-C9XlTm4w.js +2 -0
  44. package/dist/mermaid/chunk-CApNbSU9.js +6 -0
  45. package/dist/mermaid/chunk-CCM2AH-C.js +9 -0
  46. package/dist/mermaid/chunk-CD1E0F_N.js +2 -0
  47. package/dist/mermaid/chunk-CDWvKG7D.js +2 -0
  48. package/dist/mermaid/chunk-CEVPpC1F.js +34 -0
  49. package/dist/mermaid/chunk-CLDr12lf.js +47504 -0
  50. package/dist/mermaid/chunk-CLVYqOBI.js +61 -0
  51. package/dist/mermaid/chunk-CLeOkFb5.js +15 -0
  52. package/dist/mermaid/chunk-CLgRAtOz.js +37 -0
  53. package/dist/mermaid/chunk-CMqFNUBl.js +134 -0
  54. package/dist/mermaid/chunk-CTPaBJXB.js +2 -0
  55. package/dist/mermaid/chunk-CVi6IGBL.js +2 -0
  56. package/dist/mermaid/chunk-CWV_EN-4.js +4745 -0
  57. package/dist/mermaid/chunk-CZ0dAs3g.js +2 -0
  58. package/dist/mermaid/chunk-C_YGy4Fn.js +236 -0
  59. package/dist/mermaid/chunk-CcVH22Yt.js +100 -0
  60. package/dist/mermaid/chunk-CgG6CD9_.js +7175 -0
  61. package/dist/mermaid/chunk-CgOP6IDB.js +3397 -0
  62. package/dist/mermaid/chunk-Cgg2UTSf.js +13 -0
  63. package/dist/mermaid/chunk-ChJfJJ1A.js +214 -0
  64. package/dist/mermaid/chunk-Ck5XRA46.js +447 -0
  65. package/dist/mermaid/chunk-Ckuw16cl.js +203 -0
  66. package/dist/mermaid/chunk-CpAbRCbF.js +1880 -0
  67. package/dist/mermaid/chunk-CuYekbSv.js +2 -0
  68. package/dist/mermaid/chunk-CwS4wZ5a.js +2 -0
  69. package/dist/mermaid/chunk-D-bcrBO3.js +82 -0
  70. package/dist/mermaid/chunk-D3IEAkCW.js +76 -0
  71. package/dist/mermaid/chunk-D8XfBJ_K.js +645 -0
  72. package/dist/mermaid/chunk-D9Ddd9y4.js +2228 -0
  73. package/dist/mermaid/chunk-DBh1mIbK.js +12 -0
  74. package/dist/mermaid/chunk-DD6Df6Ic.js +5 -0
  75. package/dist/mermaid/chunk-DGVDaXjx.js +8 -0
  76. package/dist/mermaid/chunk-DK9KqIXj.js +632 -0
  77. package/dist/mermaid/chunk-DORnIAsy.js +4487 -0
  78. package/dist/mermaid/chunk-DU69_VcF.js +363 -0
  79. package/dist/mermaid/chunk-DVNvSFoz.js +2144 -0
  80. package/dist/mermaid/chunk-DZe-4kde.js +20 -0
  81. package/dist/mermaid/chunk-D_a06Rz4.js +287 -0
  82. package/dist/mermaid/chunk-DfyFJJi2.js +972 -0
  83. package/dist/mermaid/chunk-DhKYPp1Z.js +2 -0
  84. package/dist/mermaid/chunk-DjFqgNTG.js +94 -0
  85. package/dist/mermaid/chunk-DmbDDrr-.js +65 -0
  86. package/dist/mermaid/chunk-DpuxlyL_.js +696 -0
  87. package/dist/mermaid/chunk-DqGhppWe.js +2 -0
  88. package/dist/mermaid/chunk-DqPZxHXa.js +5 -0
  89. package/dist/mermaid/chunk-Dt_1Jyif.js +293 -0
  90. package/dist/mermaid/chunk-DyQBE_NW.js +1935 -0
  91. package/dist/mermaid/chunk-JckyC4mW.js +1009 -0
  92. package/dist/mermaid/chunk-K7Myuj2-.js +1334 -0
  93. package/dist/mermaid/chunk-KuPYb48V.js +275 -0
  94. package/dist/mermaid/chunk-MFVRUoO0.js +4020 -0
  95. package/dist/mermaid/chunk-MbInCS_6.js +28 -0
  96. package/dist/mermaid/chunk-MexOLyKV.js +355 -0
  97. package/dist/mermaid/chunk-NnbDtJzg.js +21856 -0
  98. package/dist/mermaid/chunk-SGpOYZbI.js +2139 -0
  99. package/dist/mermaid/chunk-TbxLDlcU.js +198 -0
  100. package/dist/mermaid/chunk-TftHqGLg.js +490 -0
  101. package/dist/mermaid/chunk-UjQ8vA_Z.js +4138 -0
  102. package/dist/mermaid/chunk-YgmVTKqc.js +16 -0
  103. package/dist/mermaid/chunk-_a9EZE1v.js +1798 -0
  104. package/dist/mermaid/chunk-dTb8jqeP.js +2 -0
  105. package/dist/mermaid/chunk-fFdMfF8S.js +2240 -0
  106. package/dist/mermaid/chunk-feYbMzBj.js +1267 -0
  107. package/dist/mermaid/chunk-g3Pn8DkW.js +46 -0
  108. package/dist/mermaid/chunk-hM77LvCb.js +19832 -0
  109. package/dist/mermaid/chunk-hUDb-eAW.js +527 -0
  110. package/dist/mermaid/chunk-tpABtZ-3.js +4252 -0
  111. package/dist/mermaid/chunk-xIbz3oFK.js +59 -0
  112. package/dist/mermaid/chunk-yBz-vst0.js +976 -0
  113. package/dist/mermaid/mermaid-BhtR3wyB.js +1145 -0
  114. package/dist/run-site-command-cqCjpIlc.js +129 -0
  115. package/dist/site-config-bllORGpm.js +90 -0
  116. package/dist/site.js +1 -0
  117. package/dist/start-dev-server-x7Ja5uwv.js +184 -0
  118. package/dist/to-change-queue-DbEnZGNK.js +34 -0
  119. package/dist/to-error-message-pF6_7wGK.js +16 -0
  120. package/dist/type/group-path.d.ts +7 -0
  121. package/dist/type/site-config.d.ts +57 -0
  122. package/package.json +34 -17
  123. package/src/component/widget/cursor-face/_constant/cursor-face.ts +0 -14
  124. package/src/component/widget/cursor-face/wg-cursor-face.css +0 -15
  125. package/src/component/widget/cursor-face/wg-cursor-face.tsx +0 -153
  126. package/src/component/widget/navigation/_constant/locale.ts +0 -9
  127. package/src/component/widget/navigation/_constant/navigation-data-schema.ts +0 -33
  128. package/src/component/widget/navigation/_constant/navigation.ts +0 -9
  129. package/src/component/widget/navigation/_constant/reading-line.ts +0 -4
  130. package/src/component/widget/navigation/_function/restore-navigation-scroll.ts +0 -59
  131. package/src/component/widget/navigation/_function/to-doc-groups/_to-doc-branches.ts +0 -15
  132. package/src/component/widget/navigation/_function/to-doc-groups/_to-doc-group-branches.ts +0 -70
  133. package/src/component/widget/navigation/_function/to-doc-groups/to-doc-groups.ts +0 -15
  134. package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-document.ts +0 -13
  135. package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-group.ts +0 -13
  136. package/src/component/widget/navigation/_function/to-navigation-data/to-navigation-data.ts +0 -18
  137. package/src/component/widget/navigation/_function/to-navigation-json.ts +0 -8
  138. package/src/component/widget/navigation/_function/to-toc-groups.ts +0 -38
  139. package/src/component/widget/navigation/_type/doc-branch.ts +0 -11
  140. package/src/component/widget/navigation/_type/doc-group.ts +0 -24
  141. package/src/component/widget/navigation/_type/navigation-data.ts +0 -75
  142. package/src/component/widget/navigation/_type/navigation-focus-snapshot.ts +0 -17
  143. package/src/component/widget/navigation/_type/toc-group.ts +0 -39
  144. package/src/component/widget/navigation/_wg-navigation-nav-list.css +0 -48
  145. package/src/component/widget/navigation/_wg-navigation-nav-list.tsx +0 -61
  146. package/src/component/widget/navigation/_wg-navigation-nav.css +0 -21
  147. package/src/component/widget/navigation/_wg-navigation-nav.tsx +0 -33
  148. package/src/component/widget/navigation/_wg-navigation-scroll.tsx +0 -117
  149. package/src/component/widget/navigation/_wg-navigation-toc.css +0 -91
  150. package/src/component/widget/navigation/_wg-navigation-toc.tsx +0 -114
  151. package/src/component/widget/navigation/wg-navigation.css +0 -282
  152. package/src/component/widget/navigation/wg-navigation.tsx +0 -420
  153. package/src/component/widget/prose/_constant/heading-highlight.ts +0 -4
  154. package/src/component/widget/prose/_constant/section.ts +0 -7
  155. package/src/component/widget/prose/_constant/status.ts +0 -9
  156. package/src/component/widget/prose/_function/has-block-content.ts +0 -30
  157. package/src/component/widget/prose/_function/rehype-head.ts +0 -31
  158. package/src/component/widget/prose/_function/rehype-sections/_to-section-headings.ts +0 -20
  159. package/src/component/widget/prose/_function/rehype-sections/rehype-sections.ts +0 -21
  160. package/src/component/widget/prose/_function/rehype-tables.ts +0 -22
  161. package/src/component/widget/prose/_function/remark-blocks.ts +0 -112
  162. package/src/component/widget/prose/_function/remark-flow.ts +0 -26
  163. package/src/component/widget/prose/_function/remark-links.ts +0 -33
  164. package/src/component/widget/prose/_function/remark-parts.ts +0 -26
  165. package/src/component/widget/prose/_function/remark-status.ts +0 -59
  166. package/src/component/widget/prose/_function/remark-swatch.ts +0 -16
  167. package/src/component/widget/prose/_function/remark-unknown-directives.ts +0 -25
  168. package/src/component/widget/prose/wg-prose.css +0 -484
  169. package/src/component/widget/prose/wg-prose.tsx +0 -43
  170. package/src/component/widget/shell/wg-shell.css +0 -63
  171. package/src/component/widget/shell/wg-shell.tsx +0 -88
  172. package/src/component/widget/shell-controls/wg-shell-controls.css +0 -4
  173. package/src/component/widget/shell-controls/wg-shell-controls.tsx +0 -170
  174. package/src/constant/asset.ts +0 -63
  175. package/src/constant/copy.ts +0 -133
  176. package/src/constant/doc.ts +0 -13
  177. package/src/constant/font.ts +0 -34
  178. package/src/constant/site.ts +0 -24
  179. package/src/constant/status.ts +0 -15
  180. package/src/entry/browser/browser.tsx +0 -22
  181. package/src/entry/cli/_constant/cli.ts +0 -19
  182. package/src/entry/cli/_constant/crawling.ts +0 -14
  183. package/src/entry/cli/_constant/snippet.ts +0 -21
  184. package/src/entry/cli/_function/create-app.tsx +0 -57
  185. package/src/entry/cli/_function/create-dev-app.ts +0 -87
  186. package/src/entry/cli/_function/create-processor/_rehype-assets.ts +0 -70
  187. package/src/entry/cli/_function/create-processor/_rehype-heading-ids.ts +0 -34
  188. package/src/entry/cli/_function/create-processor/_remark-report.ts +0 -15
  189. package/src/entry/cli/_function/create-processor/_remark-snippets.ts +0 -117
  190. package/src/entry/cli/_function/create-processor/_shiki-transformers.ts +0 -91
  191. package/src/entry/cli/_function/create-processor/create-processor.ts +0 -64
  192. package/src/entry/cli/_function/read-docs.ts +0 -128
  193. package/src/entry/cli/_function/read-home.ts +0 -32
  194. package/src/entry/cli/_function/to-crawling-app.ts +0 -42
  195. package/src/entry/cli/cli.test.ts +0 -804
  196. package/src/entry/cli/cli.ts +0 -206
  197. package/src/env.d.ts +0 -6
  198. package/src/page/doc/pg-doc.tsx +0 -35
  199. package/src/page/home/pg-home.tsx +0 -40
  200. package/src/store/navigation/create-navigation-stores.test.ts +0 -74
  201. package/src/store/navigation/create-navigation-stores.ts +0 -59
  202. package/src/store/navigation/navigation-state.ts +0 -36
  203. package/src/store/navigation/navigation-storage.ts +0 -9
  204. package/src/store/navigation/to-navigation-scroll-state.ts +0 -42
  205. package/src/style/base.css +0 -28
  206. package/src/style/token.css +0 -188
  207. package/src/type/doc-content.ts +0 -15
  208. package/src/type/doc-data.ts +0 -38
  209. package/src/type/doc-file-data.ts +0 -21
  210. package/src/type/doc-heading.ts +0 -17
  211. package/src/type/doc-outline.ts +0 -16
  212. package/src/type/doc-section.ts +0 -9
  213. package/src/type/doc.ts +0 -20
  214. package/src/type/group-path.ts +0 -7
  215. package/src/type/site-assets.ts +0 -25
  216. package/src/type/site-config.ts +0 -73
  217. package/src/type/vfile-data.d.ts +0 -10
  218. package/src/util/async/to-change-queue.test.ts +0 -58
  219. package/src/util/async/to-change-queue.ts +0 -43
  220. package/src/util/dom/find-hash-target.ts +0 -18
  221. package/src/util/dom/reveal-hash-target.ts +0 -15
  222. package/src/util/error/to-error-message.ts +0 -10
  223. package/src/util/file/to-asset-path.ts +0 -26
  224. package/src/util/font/to-font-css.test.ts +0 -41
  225. package/src/util/font/to-font-css.ts +0 -28
  226. package/src/util/mermaid/render-flow.js +0 -321
@@ -0,0 +1,2214 @@
1
+ import { m as e } from "./chunk-DVNvSFoz.js";
2
+ import { n as t } from "./chunk-BYzrzvCI.js";
3
+ import { C as n, E as r, H as i, U as a, _ as o, a as s, c, f as l, q as u, v as d, y as f, z as p } from "./chunk-MFVRUoO0.js";
4
+ import { t as m } from "./chunk-D_a06Rz4.js";
5
+ import { t as h } from "./chunk-DmbDDrr-.js";
6
+ import { t as g } from "./chunk-Cgg2UTSf.js";
7
+ import { i as _ } from "./chunk-K7Myuj2-.js";
8
+ import { t as v } from "./chunk-CEVPpC1F.js";
9
+ import { t as y } from "./chunk-B58sEIY_.js";
10
+ import "./chunk-KuPYb48V.js";
11
+ import { t as b } from "./chunk-_a9EZE1v.js";
12
+ //#region node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/range.js
13
+ function x(e, t, n) {
14
+ e = +e, t = +t, n = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +n;
15
+ for (var r = -1, i = Math.max(0, Math.ceil((t - e) / n)) | 0, a = Array(i); ++r < i;) a[r] = e + r * n;
16
+ return a;
17
+ }
18
+ //#endregion
19
+ //#region node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/band.js
20
+ function S() {
21
+ var e = h().unknown(void 0), t = e.domain, n = e.range, r = 0, i = 1, a, o, s = !1, c = 0, l = 0, u = .5;
22
+ delete e.unknown;
23
+ function d() {
24
+ var e = t().length, d = i < r, f = d ? i : r, p = d ? r : i;
25
+ a = (p - f) / Math.max(1, e - c + l * 2), s && (a = Math.floor(a)), f += (p - f - a * (e - c)) * u, o = a * (1 - c), s && (f = Math.round(f), o = Math.round(o));
26
+ var m = x(e).map(function(e) {
27
+ return f + a * e;
28
+ });
29
+ return n(d ? m.reverse() : m);
30
+ }
31
+ return e.domain = function(e) {
32
+ return arguments.length ? (t(e), d()) : t();
33
+ }, e.range = function(e) {
34
+ return arguments.length ? ([r, i] = e, r = +r, i = +i, d()) : [r, i];
35
+ }, e.rangeRound = function(e) {
36
+ return [r, i] = e, r = +r, i = +i, s = !0, d();
37
+ }, e.bandwidth = function() {
38
+ return o;
39
+ }, e.step = function() {
40
+ return a;
41
+ }, e.round = function(e) {
42
+ return arguments.length ? (s = !!e, d()) : s;
43
+ }, e.padding = function(e) {
44
+ return arguments.length ? (c = Math.min(1, l = +e), d()) : c;
45
+ }, e.paddingInner = function(e) {
46
+ return arguments.length ? (c = Math.min(1, e), d()) : c;
47
+ }, e.paddingOuter = function(e) {
48
+ return arguments.length ? (l = +e, d()) : l;
49
+ }, e.align = function(e) {
50
+ return arguments.length ? (u = Math.max(0, Math.min(1, e)), d()) : u;
51
+ }, e.copy = function() {
52
+ return S(t(), [r, i]).round(s).paddingInner(c).paddingOuter(l).align(u);
53
+ }, g.apply(d(), arguments);
54
+ }
55
+ //#endregion
56
+ //#region node_modules/.pnpm/mermaid@12.2.0/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-4URNHDU4.mjs
57
+ var C = (function() {
58
+ var e = /* @__PURE__ */ t(function(e, t, n, r) {
59
+ for (n ||= {}, r = e.length; r--; n[e[r]] = t);
60
+ return n;
61
+ }, "o"), n = [
62
+ 1,
63
+ 10,
64
+ 12,
65
+ 14,
66
+ 16,
67
+ 18,
68
+ 19,
69
+ 21,
70
+ 23
71
+ ], r = [2, 6], i = [1, 3], a = [1, 5], o = [1, 6], s = [1, 7], c = [
72
+ 1,
73
+ 5,
74
+ 10,
75
+ 12,
76
+ 14,
77
+ 16,
78
+ 18,
79
+ 19,
80
+ 21,
81
+ 23,
82
+ 36,
83
+ 37,
84
+ 38
85
+ ], l = [1, 25], u = [1, 26], d = [1, 28], f = [1, 29], p = [1, 30], m = [1, 31], h = [1, 32], g = [1, 33], _ = [1, 34], v = [1, 35], y = [1, 36], b = [1, 37], x = [1, 43], S = [1, 42], C = [1, 47], w = [1, 50], T = [
86
+ 1,
87
+ 10,
88
+ 12,
89
+ 14,
90
+ 16,
91
+ 18,
92
+ 19,
93
+ 21,
94
+ 23,
95
+ 36,
96
+ 37,
97
+ 38
98
+ ], E = [
99
+ 1,
100
+ 10,
101
+ 12,
102
+ 14,
103
+ 16,
104
+ 18,
105
+ 19,
106
+ 21,
107
+ 23,
108
+ 24,
109
+ 26,
110
+ 28,
111
+ 29,
112
+ 36,
113
+ 37,
114
+ 38
115
+ ], D = [
116
+ 1,
117
+ 10,
118
+ 12,
119
+ 14,
120
+ 16,
121
+ 18,
122
+ 19,
123
+ 21,
124
+ 23,
125
+ 24,
126
+ 26,
127
+ 28,
128
+ 29,
129
+ 36,
130
+ 37,
131
+ 38,
132
+ 42,
133
+ 43,
134
+ 44,
135
+ 45,
136
+ 46,
137
+ 47,
138
+ 48,
139
+ 49,
140
+ 50,
141
+ 51
142
+ ], O = [1, 65], k = [26, 28], A = {
143
+ trace: /* @__PURE__ */ t(function() {}, "trace"),
144
+ yy: {},
145
+ symbols_: {
146
+ error: 2,
147
+ start: 3,
148
+ eol: 4,
149
+ XYCHART: 5,
150
+ chartConfig: 6,
151
+ document: 7,
152
+ CHART_ORIENTATION: 8,
153
+ statement: 9,
154
+ title: 10,
155
+ text: 11,
156
+ X_AXIS: 12,
157
+ parseXAxis: 13,
158
+ Y_AXIS: 14,
159
+ parseYAxis: 15,
160
+ LINE: 16,
161
+ plotData: 17,
162
+ BAR: 18,
163
+ acc_title: 19,
164
+ acc_title_value: 20,
165
+ acc_descr: 21,
166
+ acc_descr_value: 22,
167
+ acc_descr_multiline_value: 23,
168
+ SQUARE_BRACES_START: 24,
169
+ dataPoints: 25,
170
+ SQUARE_BRACES_END: 26,
171
+ dataPoint: 27,
172
+ COMMA: 28,
173
+ NUMBER_WITH_DECIMAL: 29,
174
+ STR: 30,
175
+ xAxisData: 31,
176
+ bandData: 32,
177
+ ARROW_DELIMITER: 33,
178
+ commaSeparatedTexts: 34,
179
+ yAxisData: 35,
180
+ NEWLINE: 36,
181
+ SEMI: 37,
182
+ EOF: 38,
183
+ alphaNum: 39,
184
+ MD_STR: 40,
185
+ alphaNumToken: 41,
186
+ AMP: 42,
187
+ NUM: 43,
188
+ ALPHA: 44,
189
+ PLUS: 45,
190
+ EQUALS: 46,
191
+ MULT: 47,
192
+ DOT: 48,
193
+ BRKT: 49,
194
+ MINUS: 50,
195
+ UNDERSCORE: 51,
196
+ $accept: 0,
197
+ $end: 1
198
+ },
199
+ terminals_: {
200
+ 2: "error",
201
+ 5: "XYCHART",
202
+ 8: "CHART_ORIENTATION",
203
+ 10: "title",
204
+ 12: "X_AXIS",
205
+ 14: "Y_AXIS",
206
+ 16: "LINE",
207
+ 18: "BAR",
208
+ 19: "acc_title",
209
+ 20: "acc_title_value",
210
+ 21: "acc_descr",
211
+ 22: "acc_descr_value",
212
+ 23: "acc_descr_multiline_value",
213
+ 24: "SQUARE_BRACES_START",
214
+ 26: "SQUARE_BRACES_END",
215
+ 28: "COMMA",
216
+ 29: "NUMBER_WITH_DECIMAL",
217
+ 30: "STR",
218
+ 33: "ARROW_DELIMITER",
219
+ 36: "NEWLINE",
220
+ 37: "SEMI",
221
+ 38: "EOF",
222
+ 40: "MD_STR",
223
+ 42: "AMP",
224
+ 43: "NUM",
225
+ 44: "ALPHA",
226
+ 45: "PLUS",
227
+ 46: "EQUALS",
228
+ 47: "MULT",
229
+ 48: "DOT",
230
+ 49: "BRKT",
231
+ 50: "MINUS",
232
+ 51: "UNDERSCORE"
233
+ },
234
+ productions_: [
235
+ 0,
236
+ [3, 2],
237
+ [3, 3],
238
+ [3, 2],
239
+ [3, 1],
240
+ [6, 1],
241
+ [7, 0],
242
+ [7, 2],
243
+ [9, 2],
244
+ [9, 2],
245
+ [9, 2],
246
+ [9, 2],
247
+ [9, 2],
248
+ [9, 3],
249
+ [9, 2],
250
+ [9, 3],
251
+ [9, 2],
252
+ [9, 2],
253
+ [9, 1],
254
+ [17, 3],
255
+ [25, 3],
256
+ [25, 1],
257
+ [27, 2],
258
+ [27, 1],
259
+ [13, 1],
260
+ [13, 2],
261
+ [13, 1],
262
+ [31, 1],
263
+ [31, 3],
264
+ [32, 3],
265
+ [34, 3],
266
+ [34, 1],
267
+ [15, 1],
268
+ [15, 2],
269
+ [15, 1],
270
+ [35, 3],
271
+ [4, 1],
272
+ [4, 1],
273
+ [4, 1],
274
+ [11, 1],
275
+ [11, 1],
276
+ [11, 1],
277
+ [39, 1],
278
+ [39, 2],
279
+ [41, 1],
280
+ [41, 1],
281
+ [41, 1],
282
+ [41, 1],
283
+ [41, 1],
284
+ [41, 1],
285
+ [41, 1],
286
+ [41, 1],
287
+ [41, 1],
288
+ [41, 1]
289
+ ],
290
+ performAction: /* @__PURE__ */ t(function(e, t, n, r, i, a, o) {
291
+ var s = a.length - 1;
292
+ switch (i) {
293
+ case 5:
294
+ r.setOrientation(a[s]);
295
+ break;
296
+ case 9:
297
+ r.setDiagramTitle(a[s].text.trim());
298
+ break;
299
+ case 12:
300
+ r.setLineData({
301
+ text: "",
302
+ type: "text"
303
+ }, a[s]);
304
+ break;
305
+ case 13:
306
+ r.setLineData(a[s - 1], a[s]);
307
+ break;
308
+ case 14:
309
+ r.setBarData({
310
+ text: "",
311
+ type: "text"
312
+ }, a[s]);
313
+ break;
314
+ case 15:
315
+ r.setBarData(a[s - 1], a[s]);
316
+ break;
317
+ case 16:
318
+ this.$ = a[s].trim(), r.setAccTitle(this.$);
319
+ break;
320
+ case 17:
321
+ case 18:
322
+ this.$ = a[s].trim(), r.setAccDescription(this.$);
323
+ break;
324
+ case 19:
325
+ this.$ = a[s - 1];
326
+ break;
327
+ case 20:
328
+ case 30:
329
+ this.$ = [a[s - 2], ...a[s]];
330
+ break;
331
+ case 21:
332
+ case 31:
333
+ this.$ = [a[s]];
334
+ break;
335
+ case 22:
336
+ this.$ = {
337
+ value: Number(a[s - 1]),
338
+ label: a[s]
339
+ };
340
+ break;
341
+ case 23:
342
+ this.$ = {
343
+ value: Number(a[s]),
344
+ label: ""
345
+ };
346
+ break;
347
+ case 24:
348
+ r.setXAxisTitle(a[s]);
349
+ break;
350
+ case 25:
351
+ r.setXAxisTitle(a[s - 1]);
352
+ break;
353
+ case 26:
354
+ r.setXAxisTitle({
355
+ type: "text",
356
+ text: ""
357
+ });
358
+ break;
359
+ case 27:
360
+ r.setXAxisBand(a[s]);
361
+ break;
362
+ case 28:
363
+ r.setXAxisRangeData(Number(a[s - 2]), Number(a[s]));
364
+ break;
365
+ case 29:
366
+ this.$ = a[s - 1];
367
+ break;
368
+ case 32:
369
+ r.setYAxisTitle(a[s]);
370
+ break;
371
+ case 33:
372
+ r.setYAxisTitle(a[s - 1]);
373
+ break;
374
+ case 34:
375
+ r.setYAxisTitle({
376
+ type: "text",
377
+ text: ""
378
+ });
379
+ break;
380
+ case 35:
381
+ r.setYAxisRangeData(Number(a[s - 2]), Number(a[s]));
382
+ break;
383
+ case 39:
384
+ this.$ = {
385
+ text: a[s],
386
+ type: "text"
387
+ };
388
+ break;
389
+ case 40:
390
+ this.$ = {
391
+ text: a[s],
392
+ type: "text"
393
+ };
394
+ break;
395
+ case 41:
396
+ this.$ = {
397
+ text: a[s],
398
+ type: "markdown"
399
+ };
400
+ break;
401
+ case 42:
402
+ this.$ = a[s];
403
+ break;
404
+ case 43: this.$ = a[s - 1] + "" + a[s];
405
+ }
406
+ }, "anonymous"),
407
+ table: [
408
+ e(n, r, {
409
+ 3: 1,
410
+ 4: 2,
411
+ 7: 4,
412
+ 5: i,
413
+ 36: a,
414
+ 37: o,
415
+ 38: s
416
+ }),
417
+ { 1: [3] },
418
+ e(n, r, {
419
+ 4: 2,
420
+ 7: 4,
421
+ 3: 8,
422
+ 5: i,
423
+ 36: a,
424
+ 37: o,
425
+ 38: s
426
+ }),
427
+ e(n, r, {
428
+ 4: 2,
429
+ 7: 4,
430
+ 6: 9,
431
+ 3: 10,
432
+ 5: i,
433
+ 8: [1, 11],
434
+ 36: a,
435
+ 37: o,
436
+ 38: s
437
+ }),
438
+ {
439
+ 1: [2, 4],
440
+ 9: 12,
441
+ 10: [1, 13],
442
+ 12: [1, 14],
443
+ 14: [1, 15],
444
+ 16: [1, 16],
445
+ 18: [1, 17],
446
+ 19: [1, 18],
447
+ 21: [1, 19],
448
+ 23: [1, 20]
449
+ },
450
+ e(c, [2, 36]),
451
+ e(c, [2, 37]),
452
+ e(c, [2, 38]),
453
+ { 1: [2, 1] },
454
+ e(n, r, {
455
+ 4: 2,
456
+ 7: 4,
457
+ 3: 21,
458
+ 5: i,
459
+ 36: a,
460
+ 37: o,
461
+ 38: s
462
+ }),
463
+ { 1: [2, 3] },
464
+ e(c, [2, 5]),
465
+ e(n, [2, 7], {
466
+ 4: 22,
467
+ 36: a,
468
+ 37: o,
469
+ 38: s
470
+ }),
471
+ {
472
+ 11: 23,
473
+ 30: l,
474
+ 39: 24,
475
+ 40: u,
476
+ 41: 27,
477
+ 42: d,
478
+ 43: f,
479
+ 44: p,
480
+ 45: m,
481
+ 46: h,
482
+ 47: g,
483
+ 48: _,
484
+ 49: v,
485
+ 50: y,
486
+ 51: b
487
+ },
488
+ {
489
+ 11: 39,
490
+ 13: 38,
491
+ 24: x,
492
+ 29: S,
493
+ 30: l,
494
+ 31: 40,
495
+ 32: 41,
496
+ 39: 24,
497
+ 40: u,
498
+ 41: 27,
499
+ 42: d,
500
+ 43: f,
501
+ 44: p,
502
+ 45: m,
503
+ 46: h,
504
+ 47: g,
505
+ 48: _,
506
+ 49: v,
507
+ 50: y,
508
+ 51: b
509
+ },
510
+ {
511
+ 11: 45,
512
+ 15: 44,
513
+ 29: C,
514
+ 30: l,
515
+ 35: 46,
516
+ 39: 24,
517
+ 40: u,
518
+ 41: 27,
519
+ 42: d,
520
+ 43: f,
521
+ 44: p,
522
+ 45: m,
523
+ 46: h,
524
+ 47: g,
525
+ 48: _,
526
+ 49: v,
527
+ 50: y,
528
+ 51: b
529
+ },
530
+ {
531
+ 11: 49,
532
+ 17: 48,
533
+ 24: w,
534
+ 30: l,
535
+ 39: 24,
536
+ 40: u,
537
+ 41: 27,
538
+ 42: d,
539
+ 43: f,
540
+ 44: p,
541
+ 45: m,
542
+ 46: h,
543
+ 47: g,
544
+ 48: _,
545
+ 49: v,
546
+ 50: y,
547
+ 51: b
548
+ },
549
+ {
550
+ 11: 52,
551
+ 17: 51,
552
+ 24: w,
553
+ 30: l,
554
+ 39: 24,
555
+ 40: u,
556
+ 41: 27,
557
+ 42: d,
558
+ 43: f,
559
+ 44: p,
560
+ 45: m,
561
+ 46: h,
562
+ 47: g,
563
+ 48: _,
564
+ 49: v,
565
+ 50: y,
566
+ 51: b
567
+ },
568
+ { 20: [1, 53] },
569
+ { 22: [1, 54] },
570
+ e(T, [2, 18]),
571
+ { 1: [2, 2] },
572
+ e(T, [2, 8]),
573
+ e(T, [2, 9]),
574
+ e(E, [2, 39], {
575
+ 41: 55,
576
+ 42: d,
577
+ 43: f,
578
+ 44: p,
579
+ 45: m,
580
+ 46: h,
581
+ 47: g,
582
+ 48: _,
583
+ 49: v,
584
+ 50: y,
585
+ 51: b
586
+ }),
587
+ e(E, [2, 40]),
588
+ e(E, [2, 41]),
589
+ e(D, [2, 42]),
590
+ e(D, [2, 44]),
591
+ e(D, [2, 45]),
592
+ e(D, [2, 46]),
593
+ e(D, [2, 47]),
594
+ e(D, [2, 48]),
595
+ e(D, [2, 49]),
596
+ e(D, [2, 50]),
597
+ e(D, [2, 51]),
598
+ e(D, [2, 52]),
599
+ e(D, [2, 53]),
600
+ e(T, [2, 10]),
601
+ e(T, [2, 24], {
602
+ 32: 41,
603
+ 31: 56,
604
+ 24: x,
605
+ 29: S
606
+ }),
607
+ e(T, [2, 26]),
608
+ e(T, [2, 27]),
609
+ { 33: [1, 57] },
610
+ {
611
+ 11: 59,
612
+ 30: l,
613
+ 34: 58,
614
+ 39: 24,
615
+ 40: u,
616
+ 41: 27,
617
+ 42: d,
618
+ 43: f,
619
+ 44: p,
620
+ 45: m,
621
+ 46: h,
622
+ 47: g,
623
+ 48: _,
624
+ 49: v,
625
+ 50: y,
626
+ 51: b
627
+ },
628
+ e(T, [2, 11]),
629
+ e(T, [2, 32], {
630
+ 35: 60,
631
+ 29: C
632
+ }),
633
+ e(T, [2, 34]),
634
+ { 33: [1, 61] },
635
+ e(T, [2, 12]),
636
+ {
637
+ 17: 62,
638
+ 24: w
639
+ },
640
+ {
641
+ 25: 63,
642
+ 27: 64,
643
+ 29: O
644
+ },
645
+ e(T, [2, 14]),
646
+ {
647
+ 17: 66,
648
+ 24: w
649
+ },
650
+ e(T, [2, 16]),
651
+ e(T, [2, 17]),
652
+ e(D, [2, 43]),
653
+ e(T, [2, 25]),
654
+ { 29: [1, 67] },
655
+ { 26: [1, 68] },
656
+ {
657
+ 26: [2, 31],
658
+ 28: [1, 69]
659
+ },
660
+ e(T, [2, 33]),
661
+ { 29: [1, 70] },
662
+ e(T, [2, 13]),
663
+ { 26: [1, 71] },
664
+ {
665
+ 26: [2, 21],
666
+ 28: [1, 72]
667
+ },
668
+ e(k, [2, 23], { 30: [1, 73] }),
669
+ e(T, [2, 15]),
670
+ e(T, [2, 28]),
671
+ e(T, [2, 29]),
672
+ {
673
+ 11: 59,
674
+ 30: l,
675
+ 34: 74,
676
+ 39: 24,
677
+ 40: u,
678
+ 41: 27,
679
+ 42: d,
680
+ 43: f,
681
+ 44: p,
682
+ 45: m,
683
+ 46: h,
684
+ 47: g,
685
+ 48: _,
686
+ 49: v,
687
+ 50: y,
688
+ 51: b
689
+ },
690
+ e(T, [2, 35]),
691
+ e(T, [2, 19]),
692
+ {
693
+ 25: 75,
694
+ 27: 64,
695
+ 29: O
696
+ },
697
+ e(k, [2, 22]),
698
+ { 26: [2, 30] },
699
+ { 26: [2, 20] }
700
+ ],
701
+ defaultActions: {
702
+ 8: [2, 1],
703
+ 10: [2, 3],
704
+ 21: [2, 2],
705
+ 74: [2, 30],
706
+ 75: [2, 20]
707
+ },
708
+ parseError: /* @__PURE__ */ t(function(e, t) {
709
+ if (t.recoverable) this.trace(e);
710
+ else {
711
+ var n = Error(e);
712
+ throw n.hash = t, n;
713
+ }
714
+ }, "parseError"),
715
+ parse: /* @__PURE__ */ t(function(e) {
716
+ var n = this, r = [0], i = [], a = [null], o = [], s = this.table, c = "", l = 0, u = 0, d = 0, f = 2, p = 1, m = o.slice.call(arguments, 1), h = Object.create(this.lexer), g = { yy: {} };
717
+ for (var _ in this.yy) Object.prototype.hasOwnProperty.call(this.yy, _) && (g.yy[_] = this.yy[_]);
718
+ h.setInput(e, g.yy), g.yy.lexer = h, g.yy.parser = this, h.yylloc === void 0 && (h.yylloc = {});
719
+ var v = h.yylloc;
720
+ o.push(v);
721
+ var y = h.options && h.options.ranges;
722
+ this.parseError = typeof g.yy.parseError == "function" ? g.yy.parseError : Object.getPrototypeOf(this).parseError;
723
+ function b(e) {
724
+ r.length -= 2 * e, a.length -= e, o.length -= e;
725
+ }
726
+ t(b, "popStack");
727
+ function x() {
728
+ var e = i.pop() || h.lex() || p;
729
+ return typeof e != "number" && (e instanceof Array && (i = e, e = i.pop()), e = n.symbols_[e] || e), e;
730
+ }
731
+ t(x, "lex");
732
+ for (var S, C, w, T, E, D = {}, O, k, A, j;;) {
733
+ if (w = r[r.length - 1], this.defaultActions[w] ? T = this.defaultActions[w] : (S ??= x(), T = s[w] && s[w][S]), T === void 0 || !T.length || !T[0]) {
734
+ var M = "";
735
+ for (O in j = [], s[w]) this.terminals_[O] && O > f && j.push("'" + this.terminals_[O] + "'");
736
+ M = h.showPosition ? "Parse error on line " + (l + 1) + ":\n" + h.showPosition() + "\nExpecting " + j.join(", ") + ", got '" + (this.terminals_[S] || S) + "'" : "Parse error on line " + (l + 1) + ": Unexpected " + (S == p ? "end of input" : "'" + (this.terminals_[S] || S) + "'"), this.parseError(M, {
737
+ text: h.match,
738
+ token: this.terminals_[S] || S,
739
+ line: h.yylineno,
740
+ loc: v,
741
+ expected: j
742
+ });
743
+ }
744
+ if (T[0] instanceof Array && T.length > 1) throw Error("Parse Error: multiple actions possible at state: " + w + ", token: " + S);
745
+ switch (T[0]) {
746
+ case 1:
747
+ r.push(S), a.push(h.yytext), o.push(h.yylloc), r.push(T[1]), S = null, C ? (S = C, C = null) : (u = h.yyleng, c = h.yytext, l = h.yylineno, v = h.yylloc, d > 0 && d--);
748
+ break;
749
+ case 2:
750
+ if (k = this.productions_[T[1]][1], D.$ = a[a.length - k], D._$ = {
751
+ first_line: o[o.length - (k || 1)].first_line,
752
+ last_line: o[o.length - 1].last_line,
753
+ first_column: o[o.length - (k || 1)].first_column,
754
+ last_column: o[o.length - 1].last_column
755
+ }, y && (D._$.range = [o[o.length - (k || 1)].range[0], o[o.length - 1].range[1]]), E = this.performAction.apply(D, [
756
+ c,
757
+ u,
758
+ l,
759
+ g.yy,
760
+ T[1],
761
+ a,
762
+ o
763
+ ].concat(m)), E !== void 0) return E;
764
+ k && (r = r.slice(0, -1 * k * 2), a = a.slice(0, -1 * k), o = o.slice(0, -1 * k)), r.push(this.productions_[T[1]][0]), a.push(D.$), o.push(D._$), A = s[r[r.length - 2]][r[r.length - 1]], r.push(A);
765
+ break;
766
+ case 3: return !0;
767
+ }
768
+ }
769
+ return !0;
770
+ }, "parse")
771
+ };
772
+ A.lexer = /* @__PURE__ */ (function() {
773
+ return {
774
+ EOF: 1,
775
+ parseError: /* @__PURE__ */ t(function(e, t) {
776
+ if (this.yy.parser) this.yy.parser.parseError(e, t);
777
+ else throw Error(e);
778
+ }, "parseError"),
779
+ setInput: /* @__PURE__ */ t(function(e, t) {
780
+ return this.yy = t || this.yy || {}, this._input = e, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
781
+ first_line: 1,
782
+ first_column: 0,
783
+ last_line: 1,
784
+ last_column: 0
785
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
786
+ }, "setInput"),
787
+ input: /* @__PURE__ */ t(function() {
788
+ var e = this._input[0];
789
+ return this.yytext += e, this.yyleng++, this.offset++, this.match += e, this.matched += e, e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), e;
790
+ }, "input"),
791
+ unput: /* @__PURE__ */ t(function(e) {
792
+ var t = e.length, n = e.split(/(?:\r\n?|\n)/g);
793
+ this._input = e + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - t), this.offset -= t;
794
+ var r = this.match.split(/(?:\r\n?|\n)/g);
795
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1);
796
+ var i = this.yylloc.range;
797
+ return this.yylloc = {
798
+ first_line: this.yylloc.first_line,
799
+ last_line: this.yylineno + 1,
800
+ first_column: this.yylloc.first_column,
801
+ last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - t
802
+ }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - t]), this.yyleng = this.yytext.length, this;
803
+ }, "unput"),
804
+ more: /* @__PURE__ */ t(function() {
805
+ return this._more = !0, this;
806
+ }, "more"),
807
+ reject: /* @__PURE__ */ t(function() {
808
+ if (this.options.backtrack_lexer) this._backtrack = !0;
809
+ 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(), {
810
+ text: "",
811
+ token: null,
812
+ line: this.yylineno
813
+ });
814
+ return this;
815
+ }, "reject"),
816
+ less: /* @__PURE__ */ t(function(e) {
817
+ this.unput(this.match.slice(e));
818
+ }, "less"),
819
+ pastInput: /* @__PURE__ */ t(function() {
820
+ var e = this.matched.substr(0, this.matched.length - this.match.length);
821
+ return (e.length > 20 ? "..." : "") + e.substr(-20).replace(/\n/g, "");
822
+ }, "pastInput"),
823
+ upcomingInput: /* @__PURE__ */ t(function() {
824
+ var e = this.match;
825
+ return e.length < 20 && (e += this._input.substr(0, 20 - e.length)), (e.substr(0, 20) + (e.length > 20 ? "..." : "")).replace(/\n/g, "");
826
+ }, "upcomingInput"),
827
+ showPosition: /* @__PURE__ */ t(function() {
828
+ var e = this.pastInput(), t = Array(e.length + 1).join("-");
829
+ return e + this.upcomingInput() + "\n" + t + "^";
830
+ }, "showPosition"),
831
+ test_match: /* @__PURE__ */ t(function(e, t) {
832
+ var n, r, i;
833
+ if (this.options.backtrack_lexer && (i = {
834
+ yylineno: this.yylineno,
835
+ yylloc: {
836
+ first_line: this.yylloc.first_line,
837
+ last_line: this.last_line,
838
+ first_column: this.yylloc.first_column,
839
+ last_column: this.yylloc.last_column
840
+ },
841
+ yytext: this.yytext,
842
+ match: this.match,
843
+ matches: this.matches,
844
+ matched: this.matched,
845
+ yyleng: this.yyleng,
846
+ offset: this.offset,
847
+ _more: this._more,
848
+ _input: this._input,
849
+ yy: this.yy,
850
+ conditionStack: this.conditionStack.slice(0),
851
+ done: this.done
852
+ }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), r = e[0].match(/(?:\r\n?|\n).*/g), r && (this.yylineno += r.length), this.yylloc = {
853
+ first_line: this.yylloc.last_line,
854
+ last_line: this.yylineno + 1,
855
+ first_column: this.yylloc.last_column,
856
+ last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length
857
+ }, this.yytext += e[0], this.match += e[0], this.matches = e, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(e[0].length), this.matched += e[0], n = this.performAction.call(this, this.yy, this, t, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n;
858
+ if (this._backtrack) {
859
+ for (var a in i) this[a] = i[a];
860
+ return !1;
861
+ }
862
+ return !1;
863
+ }, "test_match"),
864
+ next: /* @__PURE__ */ t(function() {
865
+ if (this.done) return this.EOF;
866
+ this._input || (this.done = !0);
867
+ var e, t, n, r;
868
+ this._more || (this.yytext = "", this.match = "");
869
+ for (var i = this._currentRules(), a = 0; a < i.length; a++) if (n = this._input.match(this.rules[i[a]]), n && (!t || n[0].length > t[0].length)) {
870
+ if (t = n, r = a, this.options.backtrack_lexer) {
871
+ if (e = this.test_match(n, i[a]), e !== !1) return e;
872
+ if (this._backtrack) {
873
+ t = !1;
874
+ continue;
875
+ }
876
+ return !1;
877
+ }
878
+ if (!this.options.flex) break;
879
+ }
880
+ return t ? (e = this.test_match(t, i[r]), e !== !1 && e) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
881
+ text: "",
882
+ token: null,
883
+ line: this.yylineno
884
+ });
885
+ }, "next"),
886
+ lex: /* @__PURE__ */ t(function() {
887
+ return this.next() || this.lex();
888
+ }, "lex"),
889
+ begin: /* @__PURE__ */ t(function(e) {
890
+ this.conditionStack.push(e);
891
+ }, "begin"),
892
+ popState: /* @__PURE__ */ t(function() {
893
+ return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0];
894
+ }, "popState"),
895
+ _currentRules: /* @__PURE__ */ t(function() {
896
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
897
+ }, "_currentRules"),
898
+ topState: /* @__PURE__ */ t(function(e) {
899
+ return e = this.conditionStack.length - 1 - Math.abs(e || 0), e >= 0 ? this.conditionStack[e] : "INITIAL";
900
+ }, "topState"),
901
+ pushState: /* @__PURE__ */ t(function(e) {
902
+ this.begin(e);
903
+ }, "pushState"),
904
+ stateStackSize: /* @__PURE__ */ t(function() {
905
+ return this.conditionStack.length;
906
+ }, "stateStackSize"),
907
+ options: { "case-insensitive": !0 },
908
+ performAction: /* @__PURE__ */ t(function(e, t, n, r) {
909
+ switch (n) {
910
+ case 0: break;
911
+ case 1: break;
912
+ case 2: return this.popState(), 36;
913
+ case 3: return this.popState(), 36;
914
+ case 4: return 36;
915
+ case 5: break;
916
+ case 6: return 10;
917
+ case 7: return this.pushState("acc_title"), 19;
918
+ case 8: return this.popState(), "acc_title_value";
919
+ case 9: return this.pushState("acc_descr"), 21;
920
+ case 10: return this.popState(), "acc_descr_value";
921
+ case 11:
922
+ this.pushState("acc_descr_multiline");
923
+ break;
924
+ case 12:
925
+ this.popState();
926
+ break;
927
+ case 13: return "acc_descr_multiline_value";
928
+ case 14: return 5;
929
+ case 15: return 5;
930
+ case 16: return 8;
931
+ case 17: return this.pushState("axis_data"), "X_AXIS";
932
+ case 18: return this.pushState("axis_data"), "Y_AXIS";
933
+ case 19: return this.pushState("axis_band_data"), 24;
934
+ case 20: return 33;
935
+ case 21: return this.pushState("data"), 16;
936
+ case 22: return this.pushState("data"), 18;
937
+ case 23: return this.pushState("data_inner"), 24;
938
+ case 24: return 29;
939
+ case 25: return this.popState(), 26;
940
+ case 26:
941
+ this.popState();
942
+ break;
943
+ case 27:
944
+ this.pushState("string");
945
+ break;
946
+ case 28:
947
+ this.popState();
948
+ break;
949
+ case 29: return "STR";
950
+ case 30: return 24;
951
+ case 31: return 26;
952
+ case 32: return 44;
953
+ case 33: return "COLON";
954
+ case 34: return 45;
955
+ case 35: return 28;
956
+ case 36: return 46;
957
+ case 37: return 47;
958
+ case 38: return 49;
959
+ case 39: return 51;
960
+ case 40: return 48;
961
+ case 41: return 42;
962
+ case 42: return 50;
963
+ case 43: return 43;
964
+ case 44: break;
965
+ case 45: return 37;
966
+ case 46: return 38;
967
+ }
968
+ }, "anonymous"),
969
+ rules: [
970
+ /^(?:%%(?!\{)[^\n]*)/i,
971
+ /^(?:[^\}]%%[^\n]*)/i,
972
+ /^(?:(\r?\n))/i,
973
+ /^(?:(\r?\n))/i,
974
+ /^(?:[\n\r]+)/i,
975
+ /^(?:%%[^\n]*)/i,
976
+ /^(?:title\b)/i,
977
+ /^(?:accTitle\s*:\s*)/i,
978
+ /^(?:(?!\n||)*[^\n]*)/i,
979
+ /^(?:accDescr\s*:\s*)/i,
980
+ /^(?:(?!\n||)*[^\n]*)/i,
981
+ /^(?:accDescr\s*\{\s*)/i,
982
+ /^(?:\})/i,
983
+ /^(?:[^\}]*)/i,
984
+ /^(?:xychart-beta\b)/i,
985
+ /^(?:xychart\b)/i,
986
+ /^(?:(?:vertical|horizontal))/i,
987
+ /^(?:x-axis\b)/i,
988
+ /^(?:y-axis\b)/i,
989
+ /^(?:\[)/i,
990
+ /^(?:-->)/i,
991
+ /^(?:line\b)/i,
992
+ /^(?:bar\b)/i,
993
+ /^(?:\[)/i,
994
+ /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,
995
+ /^(?:\])/i,
996
+ /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,
997
+ /^(?:["])/i,
998
+ /^(?:["])/i,
999
+ /^(?:[^"]*)/i,
1000
+ /^(?:\[)/i,
1001
+ /^(?:\])/i,
1002
+ /^(?:[A-Za-z]+)/i,
1003
+ /^(?::)/i,
1004
+ /^(?:\+)/i,
1005
+ /^(?:,)/i,
1006
+ /^(?:=)/i,
1007
+ /^(?:\*)/i,
1008
+ /^(?:#)/i,
1009
+ /^(?:[\_])/i,
1010
+ /^(?:\.)/i,
1011
+ /^(?:&)/i,
1012
+ /^(?:-)/i,
1013
+ /^(?:[0-9]+)/i,
1014
+ /^(?:\s+)/i,
1015
+ /^(?:;)/i,
1016
+ /^(?:$)/i
1017
+ ],
1018
+ conditions: {
1019
+ data_inner: {
1020
+ rules: [
1021
+ 0,
1022
+ 1,
1023
+ 4,
1024
+ 5,
1025
+ 6,
1026
+ 7,
1027
+ 9,
1028
+ 11,
1029
+ 14,
1030
+ 15,
1031
+ 16,
1032
+ 17,
1033
+ 18,
1034
+ 21,
1035
+ 22,
1036
+ 24,
1037
+ 25,
1038
+ 26,
1039
+ 27,
1040
+ 30,
1041
+ 31,
1042
+ 32,
1043
+ 33,
1044
+ 34,
1045
+ 35,
1046
+ 36,
1047
+ 37,
1048
+ 38,
1049
+ 39,
1050
+ 40,
1051
+ 41,
1052
+ 42,
1053
+ 43,
1054
+ 44,
1055
+ 45,
1056
+ 46
1057
+ ],
1058
+ inclusive: !0
1059
+ },
1060
+ data: {
1061
+ rules: [
1062
+ 0,
1063
+ 1,
1064
+ 3,
1065
+ 4,
1066
+ 5,
1067
+ 6,
1068
+ 7,
1069
+ 9,
1070
+ 11,
1071
+ 14,
1072
+ 15,
1073
+ 16,
1074
+ 17,
1075
+ 18,
1076
+ 21,
1077
+ 22,
1078
+ 23,
1079
+ 26,
1080
+ 27,
1081
+ 30,
1082
+ 31,
1083
+ 32,
1084
+ 33,
1085
+ 34,
1086
+ 35,
1087
+ 36,
1088
+ 37,
1089
+ 38,
1090
+ 39,
1091
+ 40,
1092
+ 41,
1093
+ 42,
1094
+ 43,
1095
+ 44,
1096
+ 45,
1097
+ 46
1098
+ ],
1099
+ inclusive: !0
1100
+ },
1101
+ axis_band_data: {
1102
+ rules: [
1103
+ 0,
1104
+ 1,
1105
+ 4,
1106
+ 5,
1107
+ 6,
1108
+ 7,
1109
+ 9,
1110
+ 11,
1111
+ 14,
1112
+ 15,
1113
+ 16,
1114
+ 17,
1115
+ 18,
1116
+ 21,
1117
+ 22,
1118
+ 25,
1119
+ 26,
1120
+ 27,
1121
+ 30,
1122
+ 31,
1123
+ 32,
1124
+ 33,
1125
+ 34,
1126
+ 35,
1127
+ 36,
1128
+ 37,
1129
+ 38,
1130
+ 39,
1131
+ 40,
1132
+ 41,
1133
+ 42,
1134
+ 43,
1135
+ 44,
1136
+ 45,
1137
+ 46
1138
+ ],
1139
+ inclusive: !0
1140
+ },
1141
+ axis_data: {
1142
+ rules: [
1143
+ 0,
1144
+ 1,
1145
+ 2,
1146
+ 4,
1147
+ 5,
1148
+ 6,
1149
+ 7,
1150
+ 9,
1151
+ 11,
1152
+ 14,
1153
+ 15,
1154
+ 16,
1155
+ 17,
1156
+ 18,
1157
+ 19,
1158
+ 20,
1159
+ 21,
1160
+ 22,
1161
+ 24,
1162
+ 26,
1163
+ 27,
1164
+ 30,
1165
+ 31,
1166
+ 32,
1167
+ 33,
1168
+ 34,
1169
+ 35,
1170
+ 36,
1171
+ 37,
1172
+ 38,
1173
+ 39,
1174
+ 40,
1175
+ 41,
1176
+ 42,
1177
+ 43,
1178
+ 44,
1179
+ 45,
1180
+ 46
1181
+ ],
1182
+ inclusive: !0
1183
+ },
1184
+ acc_descr_multiline: {
1185
+ rules: [12, 13],
1186
+ inclusive: !1
1187
+ },
1188
+ acc_descr: {
1189
+ rules: [10],
1190
+ inclusive: !1
1191
+ },
1192
+ acc_title: {
1193
+ rules: [8],
1194
+ inclusive: !1
1195
+ },
1196
+ title: {
1197
+ rules: [],
1198
+ inclusive: !1
1199
+ },
1200
+ md_string: {
1201
+ rules: [],
1202
+ inclusive: !1
1203
+ },
1204
+ string: {
1205
+ rules: [28, 29],
1206
+ inclusive: !1
1207
+ },
1208
+ INITIAL: {
1209
+ rules: [
1210
+ 0,
1211
+ 1,
1212
+ 4,
1213
+ 5,
1214
+ 6,
1215
+ 7,
1216
+ 9,
1217
+ 11,
1218
+ 14,
1219
+ 15,
1220
+ 16,
1221
+ 17,
1222
+ 18,
1223
+ 21,
1224
+ 22,
1225
+ 26,
1226
+ 27,
1227
+ 30,
1228
+ 31,
1229
+ 32,
1230
+ 33,
1231
+ 34,
1232
+ 35,
1233
+ 36,
1234
+ 37,
1235
+ 38,
1236
+ 39,
1237
+ 40,
1238
+ 41,
1239
+ 42,
1240
+ 43,
1241
+ 44,
1242
+ 45,
1243
+ 46
1244
+ ],
1245
+ inclusive: !0
1246
+ }
1247
+ }
1248
+ };
1249
+ })();
1250
+ function j() {
1251
+ this.yy = {};
1252
+ }
1253
+ return t(j, "Parser"), j.prototype = A, A.Parser = j, new j();
1254
+ })();
1255
+ C.parser = C;
1256
+ var w = C;
1257
+ function T(e) {
1258
+ return e.type === "bar";
1259
+ }
1260
+ t(T, "isBarPlot");
1261
+ function E(e) {
1262
+ return e.type === "band";
1263
+ }
1264
+ t(E, "isBandAxisData");
1265
+ function D(e) {
1266
+ return e.type === "linear";
1267
+ }
1268
+ t(D, "isLinearAxisData");
1269
+ var O = class {
1270
+ constructor(e) {
1271
+ this.parentGroup = e;
1272
+ }
1273
+ static {
1274
+ t(this, "TextDimensionCalculatorWithFont");
1275
+ }
1276
+ getMaxDimension(e, n) {
1277
+ if (!this.parentGroup) return {
1278
+ width: e.reduce((e, t) => Math.max(t.length, e), 0) * n,
1279
+ height: n
1280
+ };
1281
+ let r = {
1282
+ width: 0,
1283
+ height: 0
1284
+ }, i = this.parentGroup.append("g").attr("visibility", "hidden").attr("font-size", n), a = i.node()?.getScreenCTM?.(), o = /* @__PURE__ */ t((e) => e && e > 0 ? e : 1, "toScale"), s = o(a?.a), c = o(a?.d);
1285
+ for (let t of e) {
1286
+ let e = b(i, 1, t), a = e ? e.width / s : t.length * n, o = e ? e.height / c : n;
1287
+ r.width = Math.max(r.width, a), r.height = Math.max(r.height, o);
1288
+ }
1289
+ return i.remove(), r;
1290
+ }
1291
+ }, k = .7, A = .2, j = class {
1292
+ constructor(e, t, n, r) {
1293
+ this.axisConfig = e, this.title = t, this.textDimensionCalculator = n, this.axisThemeConfig = r, this.boundingRect = {
1294
+ x: 0,
1295
+ y: 0,
1296
+ width: 0,
1297
+ height: 0
1298
+ }, this.axisPosition = "left", this.showTitle = !1, this.showLabel = !1, this.showTick = !1, this.showAxisLine = !1, this.outerPadding = 0, this.titleTextHeight = 0, this.labelTextHeight = 0, this.normalizedLabelRotationInRad = 0, this.range = [0, 10], this.boundingRect = {
1299
+ x: 0,
1300
+ y: 0,
1301
+ width: 0,
1302
+ height: 0
1303
+ }, this.axisPosition = "left", this.normalizedLabelRotationInRad = this.axisConfig.labelRotation >= -90 && this.axisConfig.labelRotation <= 90 ? this.axisConfig.labelRotation * Math.PI / 180 : 0;
1304
+ }
1305
+ static {
1306
+ t(this, "BaseAxis");
1307
+ }
1308
+ setRange(e) {
1309
+ this.range = e, this.axisPosition === "left" || this.axisPosition === "right" ? this.boundingRect.height = e[1] - e[0] : this.boundingRect.width = e[1] - e[0], this.recalculateScale();
1310
+ }
1311
+ getRange() {
1312
+ return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];
1313
+ }
1314
+ setAxisPosition(e) {
1315
+ this.axisPosition = e, this.setRange(this.range);
1316
+ }
1317
+ getTickDistance() {
1318
+ let e = this.getRange();
1319
+ return Math.abs(e[0] - e[1]) / this.getTickValues().length;
1320
+ }
1321
+ getAxisOuterPadding() {
1322
+ return this.outerPadding;
1323
+ }
1324
+ getLabelDimension() {
1325
+ return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((e) => e.toString()), this.axisConfig.labelFontSize);
1326
+ }
1327
+ recalculateOuterPaddingToDrawBar() {
1328
+ k * this.getTickDistance() > this.outerPadding * 2 && (this.outerPadding = Math.floor(k * this.getTickDistance() / 2)), this.recalculateScale();
1329
+ }
1330
+ calculateSpaceIfDrawnHorizontally(e) {
1331
+ let t = e.height;
1332
+ if (this.axisConfig.showAxisLine && t > this.axisConfig.axisLineWidth && (t -= this.axisConfig.axisLineWidth, this.showAxisLine = !0), this.axisConfig.showLabel) {
1333
+ let n = this.getLabelDimension(), r = A * e.width;
1334
+ this.outerPadding = Math.min(n.width / 2, r);
1335
+ let i = n.height;
1336
+ this.axisPosition === "bottom" && this.normalizedLabelRotationInRad !== 0 && (i = Math.max(i, Math.abs(Math.sin(this.normalizedLabelRotationInRad) * n.width) + Math.abs(Math.cos(this.normalizedLabelRotationInRad) * n.height))), i += this.axisConfig.labelPadding * 2, this.labelTextHeight = n.height, i <= t && (t -= i, this.showLabel = !0);
1337
+ }
1338
+ if (this.axisConfig.showTick && t >= this.axisConfig.tickLength && (this.showTick = !0, t -= this.axisConfig.tickLength), this.axisConfig.showTitle && this.title) {
1339
+ let e = this.textDimensionCalculator.getMaxDimension([this.title], this.axisConfig.titleFontSize), n = e.height + this.axisConfig.titlePadding * 2;
1340
+ this.titleTextHeight = e.height, n <= t && (t -= n, this.showTitle = !0);
1341
+ }
1342
+ this.boundingRect.width = e.width, this.boundingRect.height = e.height - t;
1343
+ }
1344
+ calculateSpaceIfDrawnVertical(e) {
1345
+ let t = e.width;
1346
+ if (this.axisConfig.showAxisLine && t > this.axisConfig.axisLineWidth && (t -= this.axisConfig.axisLineWidth, this.showAxisLine = !0), this.axisConfig.showLabel) {
1347
+ let n = this.getLabelDimension(), r = A * e.height;
1348
+ this.outerPadding = Math.min(n.height / 2, r);
1349
+ let i = n.width + this.axisConfig.labelPadding * 2;
1350
+ i <= t && (t -= i, this.showLabel = !0);
1351
+ }
1352
+ if (this.axisConfig.showTick && t >= this.axisConfig.tickLength && (this.showTick = !0, t -= this.axisConfig.tickLength), this.axisConfig.showTitle && this.title) {
1353
+ let e = this.textDimensionCalculator.getMaxDimension([this.title], this.axisConfig.titleFontSize), n = e.height + this.axisConfig.titlePadding * 2;
1354
+ this.titleTextHeight = e.height, n <= t && (t -= n, this.showTitle = !0);
1355
+ }
1356
+ this.boundingRect.width = e.width - t, this.boundingRect.height = e.height;
1357
+ }
1358
+ calculateSpace(e) {
1359
+ return this.axisPosition === "left" || this.axisPosition === "right" ? this.calculateSpaceIfDrawnVertical(e) : this.calculateSpaceIfDrawnHorizontally(e), this.recalculateScale(), {
1360
+ width: this.boundingRect.width,
1361
+ height: this.boundingRect.height
1362
+ };
1363
+ }
1364
+ setBoundingBoxXY(e) {
1365
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1366
+ }
1367
+ calculateOffsetByRotation(e) {
1368
+ let t = this.normalizedLabelRotationInRad;
1369
+ return t === 0 ? 0 : Math.sin(t) * this.getLabelDimension()[e] / 2;
1370
+ }
1371
+ getDrawableElementsForLeftAxis() {
1372
+ let e = [];
1373
+ if (this.showAxisLine) {
1374
+ let t = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;
1375
+ e.push({
1376
+ type: "path",
1377
+ groupTexts: ["left-axis", "axisl-line"],
1378
+ data: [{
1379
+ path: `M ${t},${this.boundingRect.y} L ${t},${this.boundingRect.y + this.boundingRect.height} `,
1380
+ strokeFill: this.axisThemeConfig.axisLineColor,
1381
+ strokeWidth: this.axisConfig.axisLineWidth
1382
+ }]
1383
+ });
1384
+ }
1385
+ if (this.showLabel && e.push({
1386
+ type: "text",
1387
+ groupTexts: ["left-axis", "label"],
1388
+ data: this.getTickValues().map((e) => ({
1389
+ text: e.toString(),
1390
+ x: this.boundingRect.x + this.boundingRect.width - (this.showLabel ? this.axisConfig.labelPadding : 0) - (this.showTick ? this.axisConfig.tickLength : 0) - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
1391
+ y: this.getScaleValue(e),
1392
+ fill: this.axisThemeConfig.labelColor,
1393
+ fontSize: this.axisConfig.labelFontSize,
1394
+ rotation: 0,
1395
+ verticalPos: "middle",
1396
+ horizontalPos: "right"
1397
+ }))
1398
+ }), this.showTick) {
1399
+ let t = this.boundingRect.x + this.boundingRect.width - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
1400
+ e.push({
1401
+ type: "path",
1402
+ groupTexts: ["left-axis", "ticks"],
1403
+ data: this.getTickValues().map((e) => ({
1404
+ path: `M ${t},${this.getScaleValue(e)} L ${t - this.axisConfig.tickLength},${this.getScaleValue(e)}`,
1405
+ strokeFill: this.axisThemeConfig.tickColor,
1406
+ strokeWidth: this.axisConfig.tickWidth
1407
+ }))
1408
+ });
1409
+ }
1410
+ return this.showTitle && e.push({
1411
+ type: "text",
1412
+ groupTexts: ["left-axis", "title"],
1413
+ data: [{
1414
+ text: this.title,
1415
+ x: this.boundingRect.x + this.axisConfig.titlePadding,
1416
+ y: this.boundingRect.y + this.boundingRect.height / 2,
1417
+ fill: this.axisThemeConfig.titleColor,
1418
+ fontSize: this.axisConfig.titleFontSize,
1419
+ rotation: 270,
1420
+ verticalPos: "top",
1421
+ horizontalPos: "center"
1422
+ }]
1423
+ }), e;
1424
+ }
1425
+ getDrawableElementsForBottomAxis() {
1426
+ let e = [];
1427
+ if (this.showAxisLine) {
1428
+ let t = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;
1429
+ e.push({
1430
+ type: "path",
1431
+ groupTexts: ["bottom-axis", "axis-line"],
1432
+ data: [{
1433
+ path: `M ${this.boundingRect.x},${t} L ${this.boundingRect.x + this.boundingRect.width},${t}`,
1434
+ strokeFill: this.axisThemeConfig.axisLineColor,
1435
+ strokeWidth: this.axisConfig.axisLineWidth
1436
+ }]
1437
+ });
1438
+ }
1439
+ if (this.showLabel && e.push({
1440
+ type: "text",
1441
+ groupTexts: ["bottom-axis", "label"],
1442
+ data: this.getTickValues().map((e) => ({
1443
+ text: e.toString(),
1444
+ x: this.getScaleValue(e) + this.calculateOffsetByRotation("height"),
1445
+ y: this.boundingRect.y + this.axisConfig.labelPadding + (this.showTick ? this.axisConfig.tickLength : 0) + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + Math.abs(this.calculateOffsetByRotation("width")),
1446
+ fill: this.axisThemeConfig.labelColor,
1447
+ fontSize: this.axisConfig.labelFontSize,
1448
+ rotation: this.normalizedLabelRotationInRad * 180 / Math.PI,
1449
+ verticalPos: "top",
1450
+ horizontalPos: "center"
1451
+ }))
1452
+ }), this.showTick) {
1453
+ let t = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
1454
+ e.push({
1455
+ type: "path",
1456
+ groupTexts: ["bottom-axis", "ticks"],
1457
+ data: this.getTickValues().map((e) => ({
1458
+ path: `M ${this.getScaleValue(e)},${t} L ${this.getScaleValue(e)},${t + this.axisConfig.tickLength}`,
1459
+ strokeFill: this.axisThemeConfig.tickColor,
1460
+ strokeWidth: this.axisConfig.tickWidth
1461
+ }))
1462
+ });
1463
+ }
1464
+ return this.showTitle && e.push({
1465
+ type: "text",
1466
+ groupTexts: ["bottom-axis", "title"],
1467
+ data: [{
1468
+ text: this.title,
1469
+ x: this.range[0] + (this.range[1] - this.range[0]) / 2,
1470
+ y: this.boundingRect.y + this.boundingRect.height - this.axisConfig.titlePadding - this.titleTextHeight,
1471
+ fill: this.axisThemeConfig.titleColor,
1472
+ fontSize: this.axisConfig.titleFontSize,
1473
+ rotation: 0,
1474
+ verticalPos: "top",
1475
+ horizontalPos: "center"
1476
+ }]
1477
+ }), e;
1478
+ }
1479
+ getDrawableElementsForTopAxis() {
1480
+ let e = [];
1481
+ if (this.showAxisLine) {
1482
+ let t = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;
1483
+ e.push({
1484
+ type: "path",
1485
+ groupTexts: ["top-axis", "axis-line"],
1486
+ data: [{
1487
+ path: `M ${this.boundingRect.x},${t} L ${this.boundingRect.x + this.boundingRect.width},${t}`,
1488
+ strokeFill: this.axisThemeConfig.axisLineColor,
1489
+ strokeWidth: this.axisConfig.axisLineWidth
1490
+ }]
1491
+ });
1492
+ }
1493
+ if (this.showLabel && e.push({
1494
+ type: "text",
1495
+ groupTexts: ["top-axis", "label"],
1496
+ data: this.getTickValues().map((e) => ({
1497
+ text: e.toString(),
1498
+ x: this.getScaleValue(e),
1499
+ y: this.boundingRect.y + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + this.axisConfig.labelPadding,
1500
+ fill: this.axisThemeConfig.labelColor,
1501
+ fontSize: this.axisConfig.labelFontSize,
1502
+ rotation: 0,
1503
+ verticalPos: "top",
1504
+ horizontalPos: "center"
1505
+ }))
1506
+ }), this.showTick) {
1507
+ let t = this.boundingRect.y;
1508
+ e.push({
1509
+ type: "path",
1510
+ groupTexts: ["top-axis", "ticks"],
1511
+ data: this.getTickValues().map((e) => ({
1512
+ path: `M ${this.getScaleValue(e)},${t + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(e)},${t + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`,
1513
+ strokeFill: this.axisThemeConfig.tickColor,
1514
+ strokeWidth: this.axisConfig.tickWidth
1515
+ }))
1516
+ });
1517
+ }
1518
+ return this.showTitle && e.push({
1519
+ type: "text",
1520
+ groupTexts: ["top-axis", "title"],
1521
+ data: [{
1522
+ text: this.title,
1523
+ x: this.boundingRect.x + this.boundingRect.width / 2,
1524
+ y: this.boundingRect.y + this.axisConfig.titlePadding,
1525
+ fill: this.axisThemeConfig.titleColor,
1526
+ fontSize: this.axisConfig.titleFontSize,
1527
+ rotation: 0,
1528
+ verticalPos: "top",
1529
+ horizontalPos: "center"
1530
+ }]
1531
+ }), e;
1532
+ }
1533
+ getDrawableElements() {
1534
+ if (this.axisPosition === "left") return this.getDrawableElementsForLeftAxis();
1535
+ if (this.axisPosition === "right") throw Error("Drawing of right axis is not implemented");
1536
+ return this.axisPosition === "bottom" ? this.getDrawableElementsForBottomAxis() : this.axisPosition === "top" ? this.getDrawableElementsForTopAxis() : [];
1537
+ }
1538
+ }, M = class extends j {
1539
+ static {
1540
+ t(this, "BandAxis");
1541
+ }
1542
+ constructor(e, t, n, r, i) {
1543
+ super(e, r, i, t), this.categories = n, this.scale = S().domain(this.categories).range(this.getRange());
1544
+ }
1545
+ setRange(e) {
1546
+ super.setRange(e);
1547
+ }
1548
+ recalculateScale() {
1549
+ this.scale = S().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5), e.trace("BandAxis axis final categories, range: ", this.categories, this.getRange());
1550
+ }
1551
+ getTickValues() {
1552
+ return this.categories;
1553
+ }
1554
+ getScaleValue(e) {
1555
+ return this.scale(e) ?? this.getRange()[0];
1556
+ }
1557
+ }, ee = class extends j {
1558
+ static {
1559
+ t(this, "LinearAxis");
1560
+ }
1561
+ constructor(e, t, n, r, i) {
1562
+ super(e, r, i, t), this.domain = n, this.scale = m().domain(this.domain).range(this.getRange());
1563
+ }
1564
+ getTickValues() {
1565
+ return this.scale.ticks();
1566
+ }
1567
+ recalculateScale() {
1568
+ let e = [...this.domain];
1569
+ this.axisPosition === "left" && e.reverse(), this.scale = m().domain(e).range(this.getRange());
1570
+ }
1571
+ getScaleValue(e) {
1572
+ return this.scale(e);
1573
+ }
1574
+ };
1575
+ function N(e, t, n, r) {
1576
+ let i = new O(r);
1577
+ return E(e) ? new M(t, n, e.categories, e.title, i) : new ee(t, n, [e.min, e.max], e.title, i);
1578
+ }
1579
+ t(N, "getAxis");
1580
+ var te = class {
1581
+ constructor(e, t, n, r) {
1582
+ this.textDimensionCalculator = e, this.chartConfig = t, this.chartData = n, this.chartThemeConfig = r, this.titleWidth = 0, this.boundingRect = {
1583
+ x: 0,
1584
+ y: 0,
1585
+ width: 0,
1586
+ height: 0
1587
+ }, this.showChartTitle = !1;
1588
+ }
1589
+ static {
1590
+ t(this, "ChartTitle");
1591
+ }
1592
+ setBoundingBoxXY(e) {
1593
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1594
+ }
1595
+ calculateSpace(e) {
1596
+ let t = this.textDimensionCalculator.getMaxDimension([this.chartData.title], this.chartConfig.titleFontSize), n = Math.max(t.width, e.width), r = t.height + 2 * this.chartConfig.titlePadding;
1597
+ return r <= e.height && this.chartConfig.showTitle && this.chartData.title && (this.boundingRect.width = n, this.boundingRect.height = r, this.titleWidth = t.width, this.showChartTitle = !0), {
1598
+ width: this.boundingRect.width,
1599
+ height: this.boundingRect.height
1600
+ };
1601
+ }
1602
+ alignTo(e, t) {
1603
+ let n = Math.min(this.titleWidth, this.chartConfig.width) / 2, r = Math.min(Math.max((e + t) / 2, n), this.chartConfig.width - n);
1604
+ this.boundingRect.x = r - n, this.boundingRect.width = n * 2;
1605
+ }
1606
+ getDrawableElements() {
1607
+ let e = [];
1608
+ return this.showChartTitle && e.push({
1609
+ groupTexts: ["chart-title"],
1610
+ type: "text",
1611
+ data: [{
1612
+ fontSize: this.chartConfig.titleFontSize,
1613
+ text: this.chartData.title,
1614
+ verticalPos: "middle",
1615
+ horizontalPos: "center",
1616
+ x: this.boundingRect.x + this.boundingRect.width / 2,
1617
+ y: this.boundingRect.y + this.boundingRect.height / 2,
1618
+ fill: this.chartThemeConfig.titleColor,
1619
+ rotation: 0
1620
+ }]
1621
+ }), e;
1622
+ }
1623
+ };
1624
+ function P(e, t, n, r) {
1625
+ return new te(new O(r), e, t, n);
1626
+ }
1627
+ t(P, "getChartTitleComponent");
1628
+ var ne = .75, re = .5, ie = .35;
1629
+ function F(e) {
1630
+ return {
1631
+ fontSize: e,
1632
+ markerSize: e * ne,
1633
+ markerSpacing: e * ie,
1634
+ itemSpacing: e * re
1635
+ };
1636
+ }
1637
+ t(F, "getLegendLayout");
1638
+ var ae = class {
1639
+ constructor(e, t, n, r) {
1640
+ this.textDimensionCalculator = e, this.chartConfig = t, this.chartData = n, this.chartThemeConfig = r, this.boundingRect = {
1641
+ x: 0,
1642
+ y: 0,
1643
+ width: 0,
1644
+ height: 0
1645
+ }, this.visiblePlots = [];
1646
+ }
1647
+ static {
1648
+ t(this, "ChartLegend");
1649
+ }
1650
+ setBoundingBoxXY(e) {
1651
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1652
+ }
1653
+ calculateSpace(e) {
1654
+ if (this.visiblePlots = this.chartConfig.showLegend ? this.chartData.plots.filter((e) => e.title) : [], this.visiblePlots.length === 0) return this.boundingRect.width = 0, this.boundingRect.height = 0, {
1655
+ width: 0,
1656
+ height: 0
1657
+ };
1658
+ let { fontSize: t, markerSize: n, markerSpacing: r, itemSpacing: i } = F(this.chartConfig.legendFontSize), a = this.textDimensionCalculator.getMaxDimension(this.visiblePlots.map((e) => e.title), t), o = this.chartConfig.legendPadding * 2 + n + r + a.width, s = this.chartConfig.legendPadding * 2 + this.visiblePlots.length * t + (this.visiblePlots.length - 1) * i;
1659
+ return o <= e.width && s <= e.height ? (this.boundingRect.width = o, this.boundingRect.height = s) : (this.visiblePlots = [], this.boundingRect.width = 0, this.boundingRect.height = 0), {
1660
+ width: this.boundingRect.width,
1661
+ height: this.boundingRect.height
1662
+ };
1663
+ }
1664
+ getDrawableElements() {
1665
+ if (this.visiblePlots.length === 0) return [];
1666
+ let { fontSize: e, markerSize: t, markerSpacing: n, itemSpacing: r } = F(this.chartConfig.legendFontSize), i = e + r, a = this.boundingRect.x + this.chartConfig.legendPadding, o = this.boundingRect.y + this.chartConfig.legendPadding, s = [], c = [];
1667
+ for (let [e, n] of this.visiblePlots.entries()) if (T(n)) s.push({
1668
+ x: a,
1669
+ y: o + e * i,
1670
+ width: t,
1671
+ height: t,
1672
+ fill: n.fill,
1673
+ strokeFill: n.fill,
1674
+ strokeWidth: 0
1675
+ });
1676
+ else {
1677
+ let r = o + e * i + t / 2;
1678
+ c.push({
1679
+ path: `M ${a},${r} L ${a + t},${r}`,
1680
+ strokeFill: n.strokeFill,
1681
+ strokeWidth: n.strokeWidth
1682
+ });
1683
+ }
1684
+ return [
1685
+ {
1686
+ groupTexts: ["legend", "markers"],
1687
+ type: "rect",
1688
+ data: s
1689
+ },
1690
+ {
1691
+ groupTexts: ["legend", "markers"],
1692
+ type: "path",
1693
+ data: c
1694
+ },
1695
+ {
1696
+ groupTexts: ["legend", "label"],
1697
+ type: "text",
1698
+ data: this.visiblePlots.map((r, s) => ({
1699
+ text: r.title,
1700
+ x: a + t + n,
1701
+ y: o + s * i + t / 2,
1702
+ fill: this.chartThemeConfig.legendTextColor,
1703
+ fontSize: e,
1704
+ rotation: 0,
1705
+ verticalPos: "middle",
1706
+ horizontalPos: "left"
1707
+ }))
1708
+ }
1709
+ ];
1710
+ }
1711
+ };
1712
+ function I(e, t, n, r) {
1713
+ return new ae(new O(r), e, t, n);
1714
+ }
1715
+ t(I, "getChartLegendComponent");
1716
+ var oe = class {
1717
+ constructor(e, t, n, r, i) {
1718
+ this.plotData = e, this.xAxis = t, this.yAxis = n, this.orientation = r, this.plotIndex = i;
1719
+ }
1720
+ static {
1721
+ t(this, "LinePlot");
1722
+ }
1723
+ getDrawableElement() {
1724
+ let e = this.plotData.data.map((e) => [this.xAxis.getScaleValue(e[0]), this.yAxis.getScaleValue(e[1])]), t;
1725
+ if (t = this.orientation === "horizontal" ? v().y((e) => e[0]).x((e) => e[1])(e) : v().x((e) => e[0]).y((e) => e[1])(e), !t) return [];
1726
+ let n = [{
1727
+ groupTexts: ["plot", `line-plot-${this.plotIndex}`],
1728
+ type: "path",
1729
+ data: [{
1730
+ path: t,
1731
+ strokeFill: this.plotData.strokeFill,
1732
+ strokeWidth: this.plotData.strokeWidth
1733
+ }]
1734
+ }];
1735
+ if (this.plotData.pointLabels && this.plotData.pointLabels.length > 0) {
1736
+ let t = [];
1737
+ for (let [n, [r, i]] of e.entries()) {
1738
+ let e = this.plotData.pointLabels[n];
1739
+ e && (this.orientation === "horizontal" ? t.push({
1740
+ x: i + 10,
1741
+ y: r,
1742
+ text: e,
1743
+ fill: this.plotData.strokeFill,
1744
+ verticalPos: "middle",
1745
+ horizontalPos: "left",
1746
+ fontSize: 12,
1747
+ rotation: 0
1748
+ }) : t.push({
1749
+ x: r,
1750
+ y: i - 10,
1751
+ text: e,
1752
+ fill: this.plotData.strokeFill,
1753
+ verticalPos: "middle",
1754
+ horizontalPos: "center",
1755
+ fontSize: 12,
1756
+ rotation: 0
1757
+ }));
1758
+ }
1759
+ t.length > 0 && n.push({
1760
+ groupTexts: [
1761
+ "plot",
1762
+ `line-plot-${this.plotIndex}`,
1763
+ "labels"
1764
+ ],
1765
+ type: "text",
1766
+ data: t
1767
+ });
1768
+ }
1769
+ return n;
1770
+ }
1771
+ }, se = class {
1772
+ constructor(e, t, n, r, i, a) {
1773
+ this.barData = e, this.boundingRect = t, this.xAxis = n, this.yAxis = r, this.orientation = i, this.plotIndex = a;
1774
+ }
1775
+ static {
1776
+ t(this, "BarPlot");
1777
+ }
1778
+ getDrawableElement() {
1779
+ let e = this.barData.data.map((e) => [this.xAxis.getScaleValue(e[0]), this.yAxis.getScaleValue(e[1])]), t = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * .95, n = t / 2;
1780
+ return this.orientation === "horizontal" ? [{
1781
+ groupTexts: ["plot", `bar-plot-${this.plotIndex}`],
1782
+ type: "rect",
1783
+ data: e.map((e) => ({
1784
+ x: this.boundingRect.x,
1785
+ y: e[0] - n,
1786
+ height: t,
1787
+ width: e[1] - this.boundingRect.x,
1788
+ fill: this.barData.fill,
1789
+ strokeWidth: 0,
1790
+ strokeFill: this.barData.fill
1791
+ }))
1792
+ }] : [{
1793
+ groupTexts: ["plot", `bar-plot-${this.plotIndex}`],
1794
+ type: "rect",
1795
+ data: e.map((e) => ({
1796
+ x: e[0] - n,
1797
+ y: e[1],
1798
+ width: t,
1799
+ height: this.boundingRect.y + this.boundingRect.height - e[1],
1800
+ fill: this.barData.fill,
1801
+ strokeWidth: 0,
1802
+ strokeFill: this.barData.fill
1803
+ }))
1804
+ }];
1805
+ }
1806
+ }, ce = class {
1807
+ constructor(e, t, n) {
1808
+ this.chartConfig = e, this.chartData = t, this.chartThemeConfig = n, this.boundingRect = {
1809
+ x: 0,
1810
+ y: 0,
1811
+ width: 0,
1812
+ height: 0
1813
+ };
1814
+ }
1815
+ static {
1816
+ t(this, "BasePlot");
1817
+ }
1818
+ setAxes(e, t) {
1819
+ this.xAxis = e, this.yAxis = t;
1820
+ }
1821
+ setBoundingBoxXY(e) {
1822
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1823
+ }
1824
+ calculateSpace(e) {
1825
+ return this.boundingRect.width = e.width, this.boundingRect.height = e.height, {
1826
+ width: this.boundingRect.width,
1827
+ height: this.boundingRect.height
1828
+ };
1829
+ }
1830
+ getDrawableElements() {
1831
+ if (!(this.xAxis && this.yAxis)) throw Error("Axes must be passed to render Plots");
1832
+ let e = [];
1833
+ for (let [t, n] of this.chartData.plots.entries()) switch (n.type) {
1834
+ case "line":
1835
+ {
1836
+ let r = new oe(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, t);
1837
+ e.push(...r.getDrawableElement());
1838
+ }
1839
+ break;
1840
+ case "bar": {
1841
+ let r = new se(n, this.boundingRect, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, t);
1842
+ e.push(...r.getDrawableElement());
1843
+ }
1844
+ }
1845
+ return e;
1846
+ }
1847
+ };
1848
+ function le(e, t, n) {
1849
+ return new ce(e, t, n);
1850
+ }
1851
+ t(le, "getPlotComponent");
1852
+ var ue = class {
1853
+ constructor(e, t, n, r) {
1854
+ this.chartConfig = e, this.chartData = t, this.componentStore = {
1855
+ title: P(e, t, n, r),
1856
+ plot: le(e, t, n),
1857
+ legend: I(e, t, n, r),
1858
+ xAxis: N(t.xAxis, e.xAxis, {
1859
+ titleColor: n.xAxisTitleColor,
1860
+ labelColor: n.xAxisLabelColor,
1861
+ tickColor: n.xAxisTickColor,
1862
+ axisLineColor: n.xAxisLineColor
1863
+ }, r),
1864
+ yAxis: N(t.yAxis, e.yAxis, {
1865
+ titleColor: n.yAxisTitleColor,
1866
+ labelColor: n.yAxisLabelColor,
1867
+ tickColor: n.yAxisTickColor,
1868
+ axisLineColor: n.yAxisLineColor
1869
+ }, r)
1870
+ };
1871
+ }
1872
+ static {
1873
+ t(this, "Orchestrator");
1874
+ }
1875
+ calculateVerticalSpace() {
1876
+ let e = this.chartConfig.width, t = this.chartConfig.height, n = 0, r = 0, i = {
1877
+ width: 0,
1878
+ height: 0
1879
+ }, a = Math.floor(e * this.chartConfig.plotReservedSpacePercent / 100), o = Math.floor(t * this.chartConfig.plotReservedSpacePercent / 100), s = this.componentStore.plot.calculateSpace({
1880
+ width: a,
1881
+ height: o
1882
+ });
1883
+ e -= s.width, t -= s.height, s = this.componentStore.title.calculateSpace({
1884
+ width: this.chartConfig.width,
1885
+ height: t
1886
+ }), r = s.height, t -= s.height, this.componentStore.xAxis.setAxisPosition("bottom"), s = this.componentStore.xAxis.calculateSpace({
1887
+ width: e,
1888
+ height: t
1889
+ }), t -= s.height, this.componentStore.yAxis.setAxisPosition("left"), s = this.componentStore.yAxis.calculateSpace({
1890
+ width: e,
1891
+ height: t
1892
+ }), n = s.width, e -= s.width, i = this.componentStore.legend.calculateSpace({
1893
+ width: e,
1894
+ height: o
1895
+ }), e -= i.width, e > 0 && (a += e, e = 0), t > 0 && (o += t, t = 0), this.componentStore.plot.calculateSpace({
1896
+ width: a,
1897
+ height: o
1898
+ }), this.componentStore.plot.setBoundingBoxXY({
1899
+ x: n,
1900
+ y: r
1901
+ }), this.componentStore.title.alignTo(n, n + a), this.componentStore.legend.setBoundingBoxXY({
1902
+ x: n + a,
1903
+ y: r + Math.max((o - i.height) / 2, 0)
1904
+ }), this.componentStore.xAxis.setRange([n, n + a]), this.componentStore.xAxis.setBoundingBoxXY({
1905
+ x: n,
1906
+ y: r + o
1907
+ }), this.componentStore.yAxis.setRange([r, r + o]), this.componentStore.yAxis.setBoundingBoxXY({
1908
+ x: 0,
1909
+ y: r
1910
+ }), this.chartData.plots.some((e) => T(e)) && this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
1911
+ }
1912
+ calculateHorizontalSpace() {
1913
+ let e = this.chartConfig.width, t = this.chartConfig.height, n = 0, r = 0, i = 0, a = {
1914
+ width: 0,
1915
+ height: 0
1916
+ }, o = Math.floor(e * this.chartConfig.plotReservedSpacePercent / 100), s = Math.floor(t * this.chartConfig.plotReservedSpacePercent / 100), c = this.componentStore.plot.calculateSpace({
1917
+ width: o,
1918
+ height: s
1919
+ });
1920
+ e -= c.width, t -= c.height, c = this.componentStore.title.calculateSpace({
1921
+ width: this.chartConfig.width,
1922
+ height: t
1923
+ }), n = c.height, t -= c.height, this.componentStore.xAxis.setAxisPosition("left"), c = this.componentStore.xAxis.calculateSpace({
1924
+ width: e,
1925
+ height: t
1926
+ }), e -= c.width, r = c.width, this.componentStore.yAxis.setAxisPosition("top"), c = this.componentStore.yAxis.calculateSpace({
1927
+ width: e,
1928
+ height: t
1929
+ }), t -= c.height, i = n + c.height, a = this.componentStore.legend.calculateSpace({
1930
+ width: e,
1931
+ height: s
1932
+ }), e -= a.width, e > 0 && (o += e, e = 0), t > 0 && (s += t, t = 0), this.componentStore.plot.calculateSpace({
1933
+ width: o,
1934
+ height: s
1935
+ }), this.componentStore.plot.setBoundingBoxXY({
1936
+ x: r,
1937
+ y: i
1938
+ }), this.componentStore.title.alignTo(r, r + o), this.componentStore.legend.setBoundingBoxXY({
1939
+ x: r + o,
1940
+ y: i + Math.max((s - a.height) / 2, 0)
1941
+ }), this.componentStore.yAxis.setRange([r, r + o]), this.componentStore.yAxis.setBoundingBoxXY({
1942
+ x: r,
1943
+ y: n
1944
+ }), this.componentStore.xAxis.setRange([i, i + s]), this.componentStore.xAxis.setBoundingBoxXY({
1945
+ x: 0,
1946
+ y: i
1947
+ }), this.chartData.plots.some((e) => T(e)) && this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
1948
+ }
1949
+ calculateSpace() {
1950
+ this.chartConfig.chartOrientation === "horizontal" ? this.calculateHorizontalSpace() : this.calculateVerticalSpace();
1951
+ }
1952
+ getDrawableElement() {
1953
+ this.calculateSpace();
1954
+ let e = [];
1955
+ this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);
1956
+ for (let t of Object.values(this.componentStore)) e.push(...t.getDrawableElements());
1957
+ return e;
1958
+ }
1959
+ }, de = class {
1960
+ static {
1961
+ t(this, "XYChartBuilder");
1962
+ }
1963
+ static build(e, t, n, r) {
1964
+ return new ue(e, t, n, r).getDrawableElement();
1965
+ }
1966
+ }, L = 0, R, z = K(), B = G(), V = q(), H = B.plotColorPalette.split(",").map((e) => e.trim()), U = !1, W = !1;
1967
+ function G() {
1968
+ let e = r(), t = f();
1969
+ return _(e.xyChart, t.themeVariables.xyChart);
1970
+ }
1971
+ t(G, "getChartDefaultThemeConfig");
1972
+ function K() {
1973
+ let e = f();
1974
+ return _(l.xyChart, e.xyChart);
1975
+ }
1976
+ t(K, "getChartDefaultConfig");
1977
+ function q() {
1978
+ return {
1979
+ yAxis: {
1980
+ type: "linear",
1981
+ title: "",
1982
+ min: Infinity,
1983
+ max: -Infinity
1984
+ },
1985
+ xAxis: {
1986
+ type: "band",
1987
+ title: "",
1988
+ categories: []
1989
+ },
1990
+ title: "",
1991
+ plots: []
1992
+ };
1993
+ }
1994
+ t(q, "getChartDefaultData");
1995
+ function J(e) {
1996
+ let t = f();
1997
+ return p(e.trim(), t);
1998
+ }
1999
+ t(J, "textSanitizer");
2000
+ function Y(e) {
2001
+ R = e;
2002
+ }
2003
+ t(Y, "setTmpSVGG");
2004
+ function fe(e) {
2005
+ e === "horizontal" ? z.chartOrientation = "horizontal" : z.chartOrientation = "vertical";
2006
+ }
2007
+ t(fe, "setOrientation");
2008
+ function pe(e) {
2009
+ V.xAxis.title = J(e.text);
2010
+ }
2011
+ t(pe, "setXAxisTitle");
2012
+ function X(e, t) {
2013
+ V.xAxis = {
2014
+ type: "linear",
2015
+ title: V.xAxis.title,
2016
+ min: e,
2017
+ max: t
2018
+ }, U = !0;
2019
+ }
2020
+ t(X, "setXAxisRangeData");
2021
+ function me(e) {
2022
+ V.xAxis = {
2023
+ type: "band",
2024
+ title: V.xAxis.title,
2025
+ categories: e.map((e) => J(e.text))
2026
+ }, U = !0;
2027
+ }
2028
+ t(me, "setXAxisBand");
2029
+ function he(e) {
2030
+ V.yAxis.title = J(e.text);
2031
+ }
2032
+ t(he, "setYAxisTitle");
2033
+ function Z(e, t) {
2034
+ V.yAxis = {
2035
+ type: "linear",
2036
+ title: V.yAxis.title,
2037
+ min: e,
2038
+ max: t
2039
+ }, W = !0;
2040
+ }
2041
+ t(Z, "setYAxisRangeData");
2042
+ function ge(e) {
2043
+ let t = Math.min(...e), n = Math.max(...e), r = D(V.yAxis) ? V.yAxis.min : Infinity, i = D(V.yAxis) ? V.yAxis.max : -Infinity;
2044
+ V.yAxis = {
2045
+ type: "linear",
2046
+ title: V.yAxis.title,
2047
+ min: Math.min(r, t),
2048
+ max: Math.max(i, n)
2049
+ };
2050
+ }
2051
+ t(ge, "setYAxisRangeFromPlotData");
2052
+ function Q(e) {
2053
+ let t = [];
2054
+ if (e.length === 0) return t;
2055
+ if (!U) {
2056
+ let t = D(V.xAxis) ? V.xAxis.min : Infinity, n = D(V.xAxis) ? V.xAxis.max : -Infinity;
2057
+ X(Math.min(t, 1), Math.max(n, e.length));
2058
+ }
2059
+ if (E(V.xAxis) && e.length > V.xAxis.categories.length && (e = e.slice(0, V.xAxis.categories.length)), W || ge(e), E(V.xAxis) && (t = V.xAxis.categories.map((t, n) => [t, e[n]])), D(V.xAxis)) {
2060
+ let n = V.xAxis.min, r = V.xAxis.max;
2061
+ if (e.length === 1) t = [[`${n}`, e[0]]];
2062
+ else {
2063
+ let i = (r - n) / (e.length - 1);
2064
+ t = e.map((e, t) => [`${n + t * i}`, e]);
2065
+ }
2066
+ }
2067
+ return t;
2068
+ }
2069
+ t(Q, "transformDataWithoutCategory");
2070
+ function $(e) {
2071
+ return H[e === 0 ? 0 : e % H.length];
2072
+ }
2073
+ t($, "getPlotColorFromPalette");
2074
+ function _e(e, t) {
2075
+ let n = t.map((e) => e.value), r = t.map((e) => e.label ? J(e.label) : ""), i = Q(n), a = r.some((e) => e !== "");
2076
+ V.plots.push({
2077
+ type: "line",
2078
+ title: J(e.text),
2079
+ strokeFill: $(L),
2080
+ strokeWidth: 2,
2081
+ data: i,
2082
+ ...a ? { pointLabels: r } : {}
2083
+ }), L++;
2084
+ }
2085
+ t(_e, "setLineData");
2086
+ function ve(e, t) {
2087
+ let n = Q(t.map((e) => e.value));
2088
+ V.plots.push({
2089
+ type: "bar",
2090
+ title: J(e.text),
2091
+ fill: $(L),
2092
+ data: n
2093
+ }), L++;
2094
+ }
2095
+ t(ve, "setBarData");
2096
+ function ye() {
2097
+ if (V.plots.length === 0) throw Error("No Plot to render, please provide a plot with some data");
2098
+ return V.title = n(), de.build(z, V, B, R);
2099
+ }
2100
+ t(ye, "getDrawableElem");
2101
+ function be() {
2102
+ return B;
2103
+ }
2104
+ t(be, "getChartThemeConfig");
2105
+ function xe() {
2106
+ return z;
2107
+ }
2108
+ t(xe, "getChartConfig");
2109
+ function Se() {
2110
+ return V;
2111
+ }
2112
+ t(Se, "getXYChartData");
2113
+ var Ce = {
2114
+ parser: w,
2115
+ db: {
2116
+ getDrawableElem: ye,
2117
+ clear: /* @__PURE__ */ t(function() {
2118
+ s(), L = 0, z = K(), V = q(), B = G(), H = B.plotColorPalette.split(",").map((e) => e.trim()), U = !1, W = !1;
2119
+ }, "clear"),
2120
+ setAccTitle: a,
2121
+ getAccTitle: d,
2122
+ setDiagramTitle: u,
2123
+ getDiagramTitle: n,
2124
+ getAccDescription: o,
2125
+ setAccDescription: i,
2126
+ setOrientation: fe,
2127
+ setXAxisTitle: pe,
2128
+ setXAxisRangeData: X,
2129
+ setXAxisBand: me,
2130
+ setYAxisTitle: he,
2131
+ setYAxisRangeData: Z,
2132
+ setLineData: _e,
2133
+ setBarData: ve,
2134
+ setTmpSVGG: Y,
2135
+ getChartThemeConfig: be,
2136
+ getChartConfig: xe,
2137
+ getXYChartData: Se
2138
+ },
2139
+ renderer: { draw: /* @__PURE__ */ t((n, r, i, a) => {
2140
+ let o = a.db, s = o.getChartThemeConfig(), l = o.getChartConfig(), u = o.getXYChartData().plots[0].data.map((e) => e[1]);
2141
+ function d(e) {
2142
+ return e === "top" ? "text-before-edge" : "middle";
2143
+ }
2144
+ t(d, "getDominantBaseLine");
2145
+ function f(e) {
2146
+ return e === "left" ? "start" : e === "right" ? "end" : "middle";
2147
+ }
2148
+ t(f, "getTextAnchor");
2149
+ function p(e) {
2150
+ return `translate(${e.x}, ${e.y}) rotate(${e.rotation || 0})`;
2151
+ }
2152
+ t(p, "getTextTransformation"), e.debug("Rendering xychart chart\n" + n);
2153
+ let m = y(r), h = m.append("g").attr("class", "main"), g = h.append("rect").attr("width", l.width).attr("height", l.height).attr("class", "background");
2154
+ c(m, l.height, l.width, !0), m.attr("viewBox", `0 0 ${l.width} ${l.height}`), g.attr("fill", s.backgroundColor), o.setTmpSVGG(m.append("g").attr("class", "mermaid-tmp-group"));
2155
+ let _ = o.getDrawableElem(), v = {};
2156
+ function b(e) {
2157
+ let t = h, n = "";
2158
+ for (let [r] of e.entries()) {
2159
+ let i = h;
2160
+ r > 0 && v[n] && (i = v[n]), n += e[r], t = v[n], t ||= v[n] = i.append("g").attr("class", e[r]);
2161
+ }
2162
+ return t;
2163
+ }
2164
+ t(b, "getGroup");
2165
+ for (let e of _) {
2166
+ if (e.data.length === 0) continue;
2167
+ let n = b(e.groupTexts);
2168
+ switch (e.type) {
2169
+ case "rect":
2170
+ if (n.selectAll("rect").data(e.data).enter().append("rect").attr("x", (e) => e.x).attr("y", (e) => e.y).attr("width", (e) => e.width).attr("height", (e) => e.height).attr("fill", (e) => e.fill).attr("stroke", (e) => e.strokeFill).attr("stroke-width", (e) => e.strokeWidth), l.showDataLabel) {
2171
+ let r = l.showDataLabelOutsideBar;
2172
+ if (l.chartOrientation === "horizontal") {
2173
+ let i = function(e, t) {
2174
+ let { data: n, label: r } = e;
2175
+ return t * r.length * a <= n.width - o;
2176
+ };
2177
+ t(i, "fitsHorizontally");
2178
+ let a = .7, o = 10, c = e.data.map((e, t) => ({
2179
+ data: e,
2180
+ label: u[t].toString()
2181
+ })).filter((e) => e.data.width > 0 && e.data.height > 0), l = c.map((e) => {
2182
+ let { data: t } = e, n = t.height * .7;
2183
+ for (; !i(e, n) && n > 0;) --n;
2184
+ return n;
2185
+ }), d = Math.floor(Math.min(...l)), f = /* @__PURE__ */ t((e) => r ? e.data.x + e.data.width + 10 : e.data.x + e.data.width - 10, "determineLabelXPosition");
2186
+ n.selectAll("text").data(c).enter().append("text").attr("x", f).attr("y", (e) => e.data.y + e.data.height / 2).attr("text-anchor", r ? "start" : "end").attr("dominant-baseline", "middle").attr("fill", s.dataLabelColor).attr("font-size", `${d}px`).text((e) => e.label);
2187
+ } else {
2188
+ let i = function(e, t, n) {
2189
+ let { data: r, label: i } = e, a = t * i.length * .7, o = r.x + r.width / 2, s = o - a / 2, c = o + a / 2, l = s >= r.x && c <= r.x + r.width, u = r.y + n + t <= r.y + r.height;
2190
+ return l && u;
2191
+ };
2192
+ t(i, "fitsInBar");
2193
+ let a = e.data.map((e, t) => ({
2194
+ data: e,
2195
+ label: u[t].toString()
2196
+ })).filter((e) => e.data.width > 0 && e.data.height > 0), o = a.map((e) => {
2197
+ let { data: t, label: n } = e, r = t.width / (n.length * .7);
2198
+ for (; !i(e, r, 10) && r > 0;) --r;
2199
+ return r;
2200
+ }), c = Math.floor(Math.min(...o)), l = /* @__PURE__ */ t((e) => r ? e.data.y - 10 : e.data.y + 10, "determineLabelYPosition");
2201
+ n.selectAll("text").data(a).enter().append("text").attr("x", (e) => e.data.x + e.data.width / 2).attr("y", l).attr("text-anchor", "middle").attr("dominant-baseline", r ? "auto" : "hanging").attr("fill", s.dataLabelColor).attr("font-size", `${c}px`).text((e) => e.label);
2202
+ }
2203
+ }
2204
+ break;
2205
+ case "text":
2206
+ n.selectAll("text").data(e.data).enter().append("text").attr("x", 0).attr("y", 0).attr("fill", (e) => e.fill).attr("font-size", (e) => e.fontSize).attr("dominant-baseline", (e) => d(e.verticalPos)).attr("text-anchor", (e) => f(e.horizontalPos)).attr("transform", (e) => p(e)).text((e) => e.text);
2207
+ break;
2208
+ case "path": n.selectAll("path").data(e.data).enter().append("path").attr("d", (e) => e.path).attr("fill", (e) => e.fill ? e.fill : "none").attr("stroke", (e) => e.strokeFill).attr("stroke-width", (e) => e.strokeWidth);
2209
+ }
2210
+ }
2211
+ }, "draw") }
2212
+ };
2213
+ //#endregion
2214
+ export { Ce as diagram };