docmedown 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +69 -20
  2. package/dist/abnfDiagram-VCTEODGH-CtQBp0Qv.mjs +89 -0
  3. package/dist/abnfDiagram-VCTEODGH-mccrzlD_.js +1 -0
  4. package/dist/arc-DgPKXEdT.mjs +82 -0
  5. package/dist/arc-n7TW7Bis.js +1 -0
  6. package/dist/architecture-7GRP2DOG-B7myQ46f.js +1 -0
  7. package/dist/architecture-7GRP2DOG-Cxj1ussQ.mjs +3 -0
  8. package/dist/architectureDiagram-5GKGNRK7-BdTCu5T3.js +36 -0
  9. package/dist/architectureDiagram-5GKGNRK7-CkgZa-G1.mjs +4154 -0
  10. package/dist/array-CApNbSU9.mjs +6 -0
  11. package/dist/array-DZSRzHA_.js +1 -0
  12. package/dist/blockDiagram-I7D4REHJ-CSYvpxQw.js +129 -0
  13. package/dist/blockDiagram-I7D4REHJ-CYngfPD9.mjs +1922 -0
  14. package/dist/c4Diagram-7LVT6UL2-B-sz5MUK.js +38 -0
  15. package/dist/c4Diagram-7LVT6UL2-DEzxFf2b.mjs +3010 -0
  16. package/dist/channel-LgHproiI.mjs +5 -0
  17. package/dist/channel-yqu0m4cl.js +1 -0
  18. package/dist/chunk-2E4U76K2-BOyeRQsI.js +1 -0
  19. package/dist/chunk-2E4U76K2-CoTrgtfg.mjs +348 -0
  20. package/dist/chunk-2Q5K7J3B-D4EgYPOq.mjs +15 -0
  21. package/dist/chunk-2Q5K7J3B-DhjCNjaM.js +1 -0
  22. package/dist/chunk-4HAMMTFA-GFyfmcSO.js +62 -0
  23. package/dist/chunk-4HAMMTFA-VgWPe1ng.mjs +4188 -0
  24. package/dist/chunk-5VM5RSS4-GINalzIv.js +15 -0
  25. package/dist/chunk-5VM5RSS4-TqxtqrwE.mjs +5 -0
  26. package/dist/chunk-75Z2AOVW-DYouz5MZ.js +2 -0
  27. package/dist/chunk-75Z2AOVW-Dz0Sko9Y.mjs +1330 -0
  28. package/dist/chunk-CLGD4ZFX-C5J-e2io.js +1 -0
  29. package/dist/chunk-CLGD4ZFX-DBkwyMMv.mjs +14 -0
  30. package/dist/chunk-DU6HZSFF-BEQZSmUu.mjs +3836 -0
  31. package/dist/chunk-DU6HZSFF-CWc5ewtb.js +127 -0
  32. package/dist/chunk-F27PBJKO-8jvY_jJK.js +1 -0
  33. package/dist/chunk-F27PBJKO-DFH3sRZG.mjs +61 -0
  34. package/dist/chunk-FOHPRMQF-LRqOLsSw.mjs +21456 -0
  35. package/dist/chunk-FOHPRMQF-tmTlwTeH.js +161 -0
  36. package/dist/chunk-GMAD6QVW-BZeZ4fdb.mjs +1863 -0
  37. package/dist/chunk-GMAD6QVW-DEQiTa0c.js +72 -0
  38. package/dist/chunk-GVQU2GXP-B1D3J05J.mjs +37 -0
  39. package/dist/chunk-GVQU2GXP-CdJIWN41.js +1 -0
  40. package/dist/chunk-IMKFNOWR-BmZb9U1f.mjs +2042 -0
  41. package/dist/chunk-IMKFNOWR-CPJsszGN.js +231 -0
  42. package/dist/chunk-JWPE2WC7-DIKiF5cm.mjs +8 -0
  43. package/dist/chunk-JWPE2WC7-p1fYVdYc.js +1 -0
  44. package/dist/chunk-L3NEJ4N5-TzDiVs78.js +1 -0
  45. package/dist/chunk-L3NEJ4N5-lal8wUID.mjs +245 -0
  46. package/dist/chunk-LNGE3PJU-BQX75wkM.js +34 -0
  47. package/dist/chunk-LNGE3PJU-DJ9JuXV6.mjs +1521 -0
  48. package/dist/chunk-OSK3NFVY-9AWK88m1.mjs +672 -0
  49. package/dist/chunk-OSK3NFVY-CHzvVe8m.js +10 -0
  50. package/dist/chunk-P2QGCYS3-6q3AXPt5.mjs +67 -0
  51. package/dist/chunk-P2QGCYS3-DKZzpRQW.js +1 -0
  52. package/dist/chunk-POPQ4Y6H-Dd7J9tx3.mjs +26 -0
  53. package/dist/chunk-POPQ4Y6H-T5C7wpjf.js +1 -0
  54. package/dist/chunk-PWAF6VOD-BYG76tEe.mjs +275 -0
  55. package/dist/chunk-PWAF6VOD-DxZLuCEw.js +1 -0
  56. package/dist/chunk-SHT3W25Y-B2Wes8jn.mjs +4183 -0
  57. package/dist/chunk-SHT3W25Y-BQjHSn5K.js +168 -0
  58. package/dist/chunk-SVP7TREG-BFMd615E.js +88 -0
  59. package/dist/chunk-SVP7TREG-CynckzeF.mjs +490 -0
  60. package/dist/chunk-TICWLB2K-BfCuoR1V.mjs +3357 -0
  61. package/dist/chunk-TICWLB2K-agcyBfUp.js +206 -0
  62. package/dist/chunk-TLUHSLCS-CUrWaKDG.mjs +59 -0
  63. package/dist/chunk-TLUHSLCS-Drx_a7am.js +1 -0
  64. package/dist/chunk-XXDRQBXY-AAk1-Cyg.js +1 -0
  65. package/dist/chunk-XXDRQBXY-DpR8eYzz.mjs +9 -0
  66. package/dist/chunk-Y2CYZVJY-CnmLqFtv.js +1 -0
  67. package/dist/chunk-Y2CYZVJY-i11wjrBe.mjs +12 -0
  68. package/dist/classDiagram-ZZMXUADV-B7IN9zcX.js +1 -0
  69. package/dist/classDiagram-ZZMXUADV-tcy6gxSB.mjs +30 -0
  70. package/dist/classDiagram-v2-VYDZK3BY-B7IN9zcX.js +1 -0
  71. package/dist/classDiagram-v2-VYDZK3BY-D5wM6Acp.mjs +30 -0
  72. package/dist/cli.js +719 -532
  73. package/dist/cose-bilkent-JH36ORCC-DBUPO3qJ.js +1 -0
  74. package/dist/cose-bilkent-JH36ORCC-Slpx4WIt.mjs +2253 -0
  75. package/dist/cynefin-OW5HDTMX--QVnfGi1.mjs +3 -0
  76. package/dist/cynefin-OW5HDTMX-lNKysi7S.js +1 -0
  77. package/dist/cynefinDiagram-5FMLGOSQ-CsFONYqx.js +62 -0
  78. package/dist/cynefinDiagram-5FMLGOSQ-DsrxYBcg.mjs +355 -0
  79. package/dist/cytoscape.esm-C5TvPYYm.mjs +18148 -0
  80. package/dist/cytoscape.esm-CBmWJr5M.js +321 -0
  81. package/dist/dagre-CZ6P9L_h.js +1 -0
  82. package/dist/dagre-GXQ25YYZ-CQszk-7P.js +4 -0
  83. package/dist/dagre-GXQ25YYZ-ecYByRSn.mjs +425 -0
  84. package/dist/dagre-J_1oH0eY.mjs +1934 -0
  85. package/dist/defaultLocale-N-0uLSyg.mjs +198 -0
  86. package/dist/defaultLocale-ybN1Vtvg.js +1 -0
  87. package/dist/diagram-S7CK7UJ4-CTMvxX__.js +30 -0
  88. package/dist/diagram-S7CK7UJ4-DxCghfa-.mjs +301 -0
  89. package/dist/diagram-UQ7AKVKN-1viEkqlG.js +41 -0
  90. package/dist/diagram-UQ7AKVKN-BA7Z_oB7.mjs +214 -0
  91. package/dist/diagram-VSXAHHWV-DgVT19mq.js +3 -0
  92. package/dist/diagram-VSXAHHWV-Dtqo03M5.mjs +432 -0
  93. package/dist/diagram-VX7I27RA-CNw0pOX_.js +24 -0
  94. package/dist/diagram-VX7I27RA-GMPRt8Zh.mjs +527 -0
  95. package/dist/diagram-Z3DM3KII-C6XdQK_Q.mjs +134 -0
  96. package/dist/diagram-Z3DM3KII-CPkBr3FT.js +24 -0
  97. package/dist/dist-CXWJafG_.js +1 -0
  98. package/dist/dist-DNdLIC8h.mjs +59 -0
  99. package/dist/docmedown.cjs +125 -44
  100. package/dist/docmedown.iife.js +3477 -72
  101. package/dist/docmedown.mjs +10003 -4807
  102. package/dist/ebnfDiagram-PWID7BFC-CseVsyL3.js +1 -0
  103. package/dist/ebnfDiagram-PWID7BFC-D_dBDXWC.mjs +100 -0
  104. package/dist/erDiagram-RLTQ6QDP-DFwfQTRS.js +99 -0
  105. package/dist/erDiagram-RLTQ6QDP-DP7ddGMH.mjs +1966 -0
  106. package/dist/eventmodeling-NTZA5JFV-CzxVg0l5.js +1 -0
  107. package/dist/eventmodeling-NTZA5JFV-Djsy__5n.mjs +3 -0
  108. package/dist/flowDiagram-HODETNUW-7hSJfI3W.js +1 -0
  109. package/dist/flowDiagram-HODETNUW-Dqu5Lr19.mjs +17 -0
  110. package/dist/ganttDiagram-EL5Y4UJY-KNL3tzTD.mjs +3072 -0
  111. package/dist/ganttDiagram-EL5Y4UJY-aiLqNWgi.js +292 -0
  112. package/dist/gitGraph-4MIJSDKK-DnElfqX7.js +1 -0
  113. package/dist/gitGraph-4MIJSDKK-xuKJBT2e.mjs +3 -0
  114. package/dist/gitGraphDiagram-WWUBYQGX-D4gSo_-e.js +106 -0
  115. package/dist/gitGraphDiagram-WWUBYQGX-Dooss5fG.mjs +733 -0
  116. package/dist/graphlib-BaETKKSa.js +1 -0
  117. package/dist/graphlib-XW-Jr8pF.mjs +1267 -0
  118. package/dist/info-A6RAGUB7-ClYskpn6.mjs +3 -0
  119. package/dist/info-A6RAGUB7-DDvvt-fW.js +1 -0
  120. package/dist/infoDiagram-27XIBGKW-B2-y2mdQ.mjs +20 -0
  121. package/dist/infoDiagram-27XIBGKW-DYQ9NzfL.js +2 -0
  122. package/dist/init-BJdqMO10.js +1 -0
  123. package/dist/init-CsQUQz36.mjs +13 -0
  124. package/dist/ishikawaDiagram-5VMMS53U-ULIhoYO5.js +70 -0
  125. package/dist/ishikawaDiagram-5VMMS53U-xAArNh-1.mjs +719 -0
  126. package/dist/journeyDiagram-3NMN7TZE-BBMYNZRL.js +139 -0
  127. package/dist/journeyDiagram-3NMN7TZE-BH-uKqP7.mjs +884 -0
  128. package/dist/kanban-definition-UXKFOSKX-Be49llXr.mjs +976 -0
  129. package/dist/kanban-definition-UXKFOSKX-CDL5yJkq.js +89 -0
  130. package/dist/line-BEwhHSLl.js +1 -0
  131. package/dist/line-CiXRog8O.mjs +34 -0
  132. package/dist/linear-75tfjrny.js +1 -0
  133. package/dist/linear-Ncx_RuON.mjs +288 -0
  134. package/dist/mermaid-parser.core-BBApyu_y.js +6 -0
  135. package/dist/mermaid-parser.core-BRHibdUE.mjs +638 -0
  136. package/dist/mindmap-definition-YA3MSWOX-Chy7XP_5.mjs +1006 -0
  137. package/dist/mindmap-definition-YA3MSWOX-DOda-fkL.js +96 -0
  138. package/dist/ordinal-B1BNQwUR.mjs +65 -0
  139. package/dist/ordinal-B9aFWmF9.js +1 -0
  140. package/dist/packet-AYTQ26CC-CorIy9Ul.js +1 -0
  141. package/dist/packet-AYTQ26CC-DWH8gXJK.mjs +3 -0
  142. package/dist/path-CnWkkRiY.mjs +84 -0
  143. package/dist/path-DIS6ck99.js +1 -0
  144. package/dist/pegDiagram-XKGWAZYB-Cdw6MeON.js +1 -0
  145. package/dist/pegDiagram-XKGWAZYB-uNfxRaq1.mjs +94 -0
  146. package/dist/pie-WAS4IAKB-Cn5eK-5P.mjs +3 -0
  147. package/dist/pie-WAS4IAKB-D84xrSoY.js +1 -0
  148. package/dist/pieDiagram-E7YTZNPT-Bd6mvpJw.js +39 -0
  149. package/dist/pieDiagram-E7YTZNPT-Cczo96a2.mjs +203 -0
  150. package/dist/quadrantDiagram-AXDQQJYC-BPfgvMsS.js +7 -0
  151. package/dist/quadrantDiagram-AXDQQJYC-eqRNtVRl.mjs +2001 -0
  152. package/dist/radar-RG4KPBEZ-DvkxGdO6.mjs +3 -0
  153. package/dist/radar-RG4KPBEZ-R2sQOLL9.js +1 -0
  154. package/dist/railroad-74A4TZTK-BOZIf6ts.js +1 -0
  155. package/dist/railroad-74A4TZTK-CrQzn8Nm.mjs +3 -0
  156. package/dist/railroad-abnf-HS5TGJTU-BZYetxLz.mjs +3 -0
  157. package/dist/railroad-abnf-HS5TGJTU-CXU1aC4B.js +1 -0
  158. package/dist/railroad-ebnf-LZEXJU2U-D29kI3YW.js +1 -0
  159. package/dist/railroad-ebnf-LZEXJU2U-qgzTOmN6.mjs +3 -0
  160. package/dist/railroad-peg-WCYAUIDC-Bjs9Ws3P.mjs +3 -0
  161. package/dist/railroad-peg-WCYAUIDC-CXviP0hz.js +1 -0
  162. package/dist/railroadDiagram-O6MQD6OU-58kvwt7H.mjs +76 -0
  163. package/dist/railroadDiagram-O6MQD6OU-CKY3uzTc.js +1 -0
  164. package/dist/requirementDiagram-BXWQKSXE-0hZ04Q6h.js +84 -0
  165. package/dist/requirementDiagram-BXWQKSXE-CS673B5n.mjs +2224 -0
  166. package/dist/rough.esm-ChRLLRha.js +1 -0
  167. package/dist/rough.esm-DXYGHN3m.mjs +1361 -0
  168. package/dist/sankeyDiagram-P5KCCOFB-D1D6HfAM.mjs +972 -0
  169. package/dist/sankeyDiagram-P5KCCOFB-ciJb9Zr8.js +40 -0
  170. package/dist/sequenceDiagram-WJ2MYXX4-BXEznuI6.js +162 -0
  171. package/dist/sequenceDiagram-WJ2MYXX4-CI1VT8AG.mjs +4156 -0
  172. package/dist/sizeCapture-INFHLROL-BihkCH-7.js +1 -0
  173. package/dist/sizeCapture-INFHLROL-BmxqyOLj.mjs +46 -0
  174. package/dist/src-B4mN2BMl.js +1 -0
  175. package/dist/src-D_hsMyeP.mjs +2154 -0
  176. package/dist/stateDiagram-D77RDMKH-BQrSs72W.mjs +220 -0
  177. package/dist/stateDiagram-D77RDMKH-D2PtkW2U.js +1 -0
  178. package/dist/stateDiagram-v2-MP3YSRHH-CCbvNfk-.mjs +30 -0
  179. package/dist/stateDiagram-v2-MP3YSRHH-Dq1QuPeN.js +1 -0
  180. package/dist/swimlanes-42K2YHIH-CA316NPm.mjs +4979 -0
  181. package/dist/swimlanes-42K2YHIH-DlggBCTy.js +1 -0
  182. package/dist/swimlanesDiagram-VR7AAH4N-BV9PEIoG.js +8 -0
  183. package/dist/swimlanesDiagram-VR7AAH4N-BfrOCfdf.mjs +31 -0
  184. package/dist/timeline-definition-24CTP7MA-Bkd8rWNJ.js +120 -0
  185. package/dist/timeline-definition-24CTP7MA-BvkqNYt1.mjs +1069 -0
  186. package/dist/treeView-Q6P3EWNA-Aof3Cp1M.mjs +3 -0
  187. package/dist/treeView-Q6P3EWNA-BTzvdwbb.js +1 -0
  188. package/dist/treemap-WGGIJYW6-BNXGg99p.mjs +3 -0
  189. package/dist/treemap-WGGIJYW6-DfR4P2Hh.js +1 -0
  190. package/dist/types/runtime/app.d.ts +3 -3
  191. package/dist/types/runtime/components/AppearanceMenu.d.ts +2 -0
  192. package/dist/types/runtime/components/Builtins.d.ts +3 -3
  193. package/dist/types/runtime/components/Content.d.ts +1 -1
  194. package/dist/types/runtime/components/DmdRegistry.d.ts +4 -2
  195. package/dist/types/runtime/components/Layout.d.ts +1 -1
  196. package/dist/types/runtime/components/MermaidDiagram.d.ts +16 -0
  197. package/dist/types/runtime/components/Navbar.d.ts +1 -1
  198. package/dist/types/runtime/components/OfflineDownloadButton.d.ts +2 -0
  199. package/dist/types/runtime/components/Sidebar.d.ts +1 -1
  200. package/dist/types/runtime/components/TableOfContents.d.ts +2 -2
  201. package/dist/types/runtime/config-schema.d.ts +386 -0
  202. package/dist/types/runtime/config.d.ts +10 -3
  203. package/dist/types/runtime/index.d.ts +7 -5
  204. package/dist/types/runtime/loader/auto-indexer.d.ts +1 -1
  205. package/dist/types/runtime/loader/local-loader.d.ts +1 -1
  206. package/dist/types/runtime/loader/remote-github.d.ts +2 -2
  207. package/dist/types/runtime/loader/remote-gitlab.d.ts +2 -2
  208. package/dist/types/runtime/markdown/callouts.d.ts +1 -1
  209. package/dist/types/runtime/markdown/highlighter.d.ts +16 -16
  210. package/dist/types/runtime/markdown/mermaid.d.ts +82 -1
  211. package/dist/types/runtime/markdown/parser.d.ts +1 -1
  212. package/dist/types/runtime/markdown/renderer.d.ts +1 -1
  213. package/dist/types/runtime/offline-export.d.ts +26 -0
  214. package/dist/types/runtime/provider/DocProvider.d.ts +5 -5
  215. package/dist/types/runtime/provider/ThemeProvider.d.ts +13 -6
  216. package/dist/types/runtime/search/SearchModal.d.ts +2 -2
  217. package/dist/types/runtime/search/search-index.d.ts +1 -1
  218. package/dist/types/runtime/types.d.ts +28 -99
  219. package/dist/vennDiagram-4TSXK5OY-BOUFXjso.js +34 -0
  220. package/dist/vennDiagram-4TSXK5OY-CeOg3-hU.mjs +1880 -0
  221. package/dist/wardley-WFR3VGLG-BOYcSLd1.mjs +3 -0
  222. package/dist/wardley-WFR3VGLG-DWDqJSgm.js +1 -0
  223. package/dist/wardleyDiagram-VM6X3IG4-BhWgMjFr.js +78 -0
  224. package/dist/wardleyDiagram-VM6X3IG4-C31KoRmF.mjs +645 -0
  225. package/dist/xychartDiagram-S5SC5T6Z-1yU8zz6I.js +7 -0
  226. package/dist/xychartDiagram-S5SC5T6Z-BK7upFom.mjs +2210 -0
  227. package/package.json +15 -4
  228. package/schemas/docs.schema.json +166 -0
  229. package/templates/README.md +4 -4
  230. package/templates/docs.json +5 -2
  231. package/templates/getting-started.md +1 -1
  232. package/templates/guides/custom-components.md +2 -0
  233. package/templates/index.html +2 -4
@@ -0,0 +1,2210 @@
1
+ import { m as e } from "./src-D_hsMyeP.mjs";
2
+ import { n as t } from "./chunk-Y2CYZVJY-i11wjrBe.mjs";
3
+ import { D as n, H as r, K as i, U as a, a as o, b as s, c, f as l, v as u, w as d, y as f, z as p } from "./chunk-DU6HZSFF-BEQZSmUu.mjs";
4
+ import { t as m } from "./linear-Ncx_RuON.mjs";
5
+ import { t as h } from "./ordinal-B1BNQwUR.mjs";
6
+ import { t as g } from "./init-CsQUQz36.mjs";
7
+ import { i as _ } from "./chunk-75Z2AOVW-Dz0Sko9Y.mjs";
8
+ import { t as v } from "./line-CiXRog8O.mjs";
9
+ import { t as y } from "./chunk-CLGD4ZFX-DBkwyMMv.mjs";
10
+ import "./chunk-PWAF6VOD-BYG76tEe.mjs";
11
+ import { t as b } from "./chunk-GMAD6QVW-BZeZ4fdb.mjs";
12
+ //#region 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/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/mermaid/dist/chunks/mermaid.core/xychartDiagram-S5SC5T6Z.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, t) {
1277
+ if (!this.parentGroup) return {
1278
+ width: e.reduce((e, t) => Math.max(t.length, e), 0) * t,
1279
+ height: t
1280
+ };
1281
+ let n = {
1282
+ width: 0,
1283
+ height: 0
1284
+ }, r = this.parentGroup.append("g").attr("visibility", "hidden").attr("font-size", t);
1285
+ for (let i of e) {
1286
+ let e = b(r, 1, i), a = e ? e.width : i.length * t, o = e ? e.height : t;
1287
+ n.width = Math.max(n.width, a), n.height = Math.max(n.height, o);
1288
+ }
1289
+ return r.remove(), n;
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.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 t.width <= n && t.height <= r && this.chartConfig.showTitle && this.chartData.title && (this.boundingRect.width = n, this.boundingRect.height = r, this.showChartTitle = !0), {
1598
+ width: this.boundingRect.width,
1599
+ height: this.boundingRect.height
1600
+ };
1601
+ }
1602
+ getDrawableElements() {
1603
+ let e = [];
1604
+ return this.showChartTitle && e.push({
1605
+ groupTexts: ["chart-title"],
1606
+ type: "text",
1607
+ data: [{
1608
+ fontSize: this.chartConfig.titleFontSize,
1609
+ text: this.chartData.title,
1610
+ verticalPos: "middle",
1611
+ horizontalPos: "center",
1612
+ x: this.boundingRect.x + this.boundingRect.width / 2,
1613
+ y: this.boundingRect.y + this.boundingRect.height / 2,
1614
+ fill: this.chartThemeConfig.titleColor,
1615
+ rotation: 0
1616
+ }]
1617
+ }), e;
1618
+ }
1619
+ };
1620
+ function P(e, t, n, r) {
1621
+ return new te(new O(r), e, t, n);
1622
+ }
1623
+ t(P, "getChartTitleComponent");
1624
+ var ne = .75, re = .5, ie = .35;
1625
+ function F(e) {
1626
+ return {
1627
+ fontSize: e,
1628
+ markerSize: e * ne,
1629
+ markerSpacing: e * ie,
1630
+ itemSpacing: e * re
1631
+ };
1632
+ }
1633
+ t(F, "getLegendLayout");
1634
+ var ae = class {
1635
+ constructor(e, t, n, r) {
1636
+ this.textDimensionCalculator = e, this.chartConfig = t, this.chartData = n, this.chartThemeConfig = r, this.boundingRect = {
1637
+ x: 0,
1638
+ y: 0,
1639
+ width: 0,
1640
+ height: 0
1641
+ }, this.visiblePlots = [];
1642
+ }
1643
+ static {
1644
+ t(this, "ChartLegend");
1645
+ }
1646
+ setBoundingBoxXY(e) {
1647
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1648
+ }
1649
+ calculateSpace(e) {
1650
+ 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, {
1651
+ width: 0,
1652
+ height: 0
1653
+ };
1654
+ 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;
1655
+ 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), {
1656
+ width: this.boundingRect.width,
1657
+ height: this.boundingRect.height
1658
+ };
1659
+ }
1660
+ getDrawableElements() {
1661
+ if (this.visiblePlots.length === 0) return [];
1662
+ 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 = [];
1663
+ for (let [e, n] of this.visiblePlots.entries()) if (T(n)) s.push({
1664
+ x: a,
1665
+ y: o + e * i,
1666
+ width: t,
1667
+ height: t,
1668
+ fill: n.fill,
1669
+ strokeFill: n.fill,
1670
+ strokeWidth: 0
1671
+ });
1672
+ else {
1673
+ let r = o + e * i + t / 2;
1674
+ c.push({
1675
+ path: `M ${a},${r} L ${a + t},${r}`,
1676
+ strokeFill: n.strokeFill,
1677
+ strokeWidth: n.strokeWidth
1678
+ });
1679
+ }
1680
+ return [
1681
+ {
1682
+ groupTexts: ["legend", "markers"],
1683
+ type: "rect",
1684
+ data: s
1685
+ },
1686
+ {
1687
+ groupTexts: ["legend", "markers"],
1688
+ type: "path",
1689
+ data: c
1690
+ },
1691
+ {
1692
+ groupTexts: ["legend", "label"],
1693
+ type: "text",
1694
+ data: this.visiblePlots.map((r, s) => ({
1695
+ text: r.title,
1696
+ x: a + t + n,
1697
+ y: o + s * i + t / 2,
1698
+ fill: this.chartThemeConfig.legendTextColor,
1699
+ fontSize: e,
1700
+ rotation: 0,
1701
+ verticalPos: "middle",
1702
+ horizontalPos: "left"
1703
+ }))
1704
+ }
1705
+ ];
1706
+ }
1707
+ };
1708
+ function I(e, t, n, r) {
1709
+ return new ae(new O(r), e, t, n);
1710
+ }
1711
+ t(I, "getChartLegendComponent");
1712
+ var oe = class {
1713
+ constructor(e, t, n, r, i) {
1714
+ this.plotData = e, this.xAxis = t, this.yAxis = n, this.orientation = r, this.plotIndex = i;
1715
+ }
1716
+ static {
1717
+ t(this, "LinePlot");
1718
+ }
1719
+ getDrawableElement() {
1720
+ let e = this.plotData.data.map((e) => [this.xAxis.getScaleValue(e[0]), this.yAxis.getScaleValue(e[1])]), t;
1721
+ 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 [];
1722
+ let n = [{
1723
+ groupTexts: ["plot", `line-plot-${this.plotIndex}`],
1724
+ type: "path",
1725
+ data: [{
1726
+ path: t,
1727
+ strokeFill: this.plotData.strokeFill,
1728
+ strokeWidth: this.plotData.strokeWidth
1729
+ }]
1730
+ }];
1731
+ if (this.plotData.pointLabels && this.plotData.pointLabels.length > 0) {
1732
+ let t = [];
1733
+ for (let [n, [r, i]] of e.entries()) {
1734
+ let e = this.plotData.pointLabels[n];
1735
+ e && (this.orientation === "horizontal" ? t.push({
1736
+ x: i + 10,
1737
+ y: r,
1738
+ text: e,
1739
+ fill: this.plotData.strokeFill,
1740
+ verticalPos: "middle",
1741
+ horizontalPos: "left",
1742
+ fontSize: 12,
1743
+ rotation: 0
1744
+ }) : t.push({
1745
+ x: r,
1746
+ y: i - 10,
1747
+ text: e,
1748
+ fill: this.plotData.strokeFill,
1749
+ verticalPos: "middle",
1750
+ horizontalPos: "center",
1751
+ fontSize: 12,
1752
+ rotation: 0
1753
+ }));
1754
+ }
1755
+ t.length > 0 && n.push({
1756
+ groupTexts: [
1757
+ "plot",
1758
+ `line-plot-${this.plotIndex}`,
1759
+ "labels"
1760
+ ],
1761
+ type: "text",
1762
+ data: t
1763
+ });
1764
+ }
1765
+ return n;
1766
+ }
1767
+ }, se = class {
1768
+ constructor(e, t, n, r, i, a) {
1769
+ this.barData = e, this.boundingRect = t, this.xAxis = n, this.yAxis = r, this.orientation = i, this.plotIndex = a;
1770
+ }
1771
+ static {
1772
+ t(this, "BarPlot");
1773
+ }
1774
+ getDrawableElement() {
1775
+ 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;
1776
+ return this.orientation === "horizontal" ? [{
1777
+ groupTexts: ["plot", `bar-plot-${this.plotIndex}`],
1778
+ type: "rect",
1779
+ data: e.map((e) => ({
1780
+ x: this.boundingRect.x,
1781
+ y: e[0] - n,
1782
+ height: t,
1783
+ width: e[1] - this.boundingRect.x,
1784
+ fill: this.barData.fill,
1785
+ strokeWidth: 0,
1786
+ strokeFill: this.barData.fill
1787
+ }))
1788
+ }] : [{
1789
+ groupTexts: ["plot", `bar-plot-${this.plotIndex}`],
1790
+ type: "rect",
1791
+ data: e.map((e) => ({
1792
+ x: e[0] - n,
1793
+ y: e[1],
1794
+ width: t,
1795
+ height: this.boundingRect.y + this.boundingRect.height - e[1],
1796
+ fill: this.barData.fill,
1797
+ strokeWidth: 0,
1798
+ strokeFill: this.barData.fill
1799
+ }))
1800
+ }];
1801
+ }
1802
+ }, ce = class {
1803
+ constructor(e, t, n) {
1804
+ this.chartConfig = e, this.chartData = t, this.chartThemeConfig = n, this.boundingRect = {
1805
+ x: 0,
1806
+ y: 0,
1807
+ width: 0,
1808
+ height: 0
1809
+ };
1810
+ }
1811
+ static {
1812
+ t(this, "BasePlot");
1813
+ }
1814
+ setAxes(e, t) {
1815
+ this.xAxis = e, this.yAxis = t;
1816
+ }
1817
+ setBoundingBoxXY(e) {
1818
+ this.boundingRect.x = e.x, this.boundingRect.y = e.y;
1819
+ }
1820
+ calculateSpace(e) {
1821
+ return this.boundingRect.width = e.width, this.boundingRect.height = e.height, {
1822
+ width: this.boundingRect.width,
1823
+ height: this.boundingRect.height
1824
+ };
1825
+ }
1826
+ getDrawableElements() {
1827
+ if (!(this.xAxis && this.yAxis)) throw Error("Axes must be passed to render Plots");
1828
+ let e = [];
1829
+ for (let [t, n] of this.chartData.plots.entries()) switch (n.type) {
1830
+ case "line":
1831
+ {
1832
+ let r = new oe(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, t);
1833
+ e.push(...r.getDrawableElement());
1834
+ }
1835
+ break;
1836
+ case "bar": {
1837
+ let r = new se(n, this.boundingRect, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, t);
1838
+ e.push(...r.getDrawableElement());
1839
+ }
1840
+ }
1841
+ return e;
1842
+ }
1843
+ };
1844
+ function le(e, t, n) {
1845
+ return new ce(e, t, n);
1846
+ }
1847
+ t(le, "getPlotComponent");
1848
+ var ue = class {
1849
+ constructor(e, t, n, r) {
1850
+ this.chartConfig = e, this.chartData = t, this.componentStore = {
1851
+ title: P(e, t, n, r),
1852
+ plot: le(e, t, n),
1853
+ legend: I(e, t, n, r),
1854
+ xAxis: N(t.xAxis, e.xAxis, {
1855
+ titleColor: n.xAxisTitleColor,
1856
+ labelColor: n.xAxisLabelColor,
1857
+ tickColor: n.xAxisTickColor,
1858
+ axisLineColor: n.xAxisLineColor
1859
+ }, r),
1860
+ yAxis: N(t.yAxis, e.yAxis, {
1861
+ titleColor: n.yAxisTitleColor,
1862
+ labelColor: n.yAxisLabelColor,
1863
+ tickColor: n.yAxisTickColor,
1864
+ axisLineColor: n.yAxisLineColor
1865
+ }, r)
1866
+ };
1867
+ }
1868
+ static {
1869
+ t(this, "Orchestrator");
1870
+ }
1871
+ calculateVerticalSpace() {
1872
+ let e = this.chartConfig.width, t = this.chartConfig.height, n = 0, r = 0, i = {
1873
+ width: 0,
1874
+ height: 0
1875
+ }, a = Math.floor(e * this.chartConfig.plotReservedSpacePercent / 100), o = Math.floor(t * this.chartConfig.plotReservedSpacePercent / 100), s = this.componentStore.plot.calculateSpace({
1876
+ width: a,
1877
+ height: o
1878
+ });
1879
+ e -= s.width, t -= s.height, s = this.componentStore.title.calculateSpace({
1880
+ width: this.chartConfig.width,
1881
+ height: t
1882
+ }), r = s.height, t -= s.height, this.componentStore.xAxis.setAxisPosition("bottom"), s = this.componentStore.xAxis.calculateSpace({
1883
+ width: e,
1884
+ height: t
1885
+ }), t -= s.height, this.componentStore.yAxis.setAxisPosition("left"), s = this.componentStore.yAxis.calculateSpace({
1886
+ width: e,
1887
+ height: t
1888
+ }), n = s.width, e -= s.width, i = this.componentStore.legend.calculateSpace({
1889
+ width: e,
1890
+ height: o
1891
+ }), e -= i.width, e > 0 && (a += e, e = 0), t > 0 && (o += t, t = 0), this.componentStore.plot.calculateSpace({
1892
+ width: a,
1893
+ height: o
1894
+ }), this.componentStore.plot.setBoundingBoxXY({
1895
+ x: n,
1896
+ y: r
1897
+ }), this.componentStore.legend.setBoundingBoxXY({
1898
+ x: n + a,
1899
+ y: r + Math.max((o - i.height) / 2, 0)
1900
+ }), this.componentStore.xAxis.setRange([n, n + a]), this.componentStore.xAxis.setBoundingBoxXY({
1901
+ x: n,
1902
+ y: r + o
1903
+ }), this.componentStore.yAxis.setRange([r, r + o]), this.componentStore.yAxis.setBoundingBoxXY({
1904
+ x: 0,
1905
+ y: r
1906
+ }), this.chartData.plots.some((e) => T(e)) && this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
1907
+ }
1908
+ calculateHorizontalSpace() {
1909
+ let e = this.chartConfig.width, t = this.chartConfig.height, n = 0, r = 0, i = 0, a = {
1910
+ width: 0,
1911
+ height: 0
1912
+ }, o = Math.floor(e * this.chartConfig.plotReservedSpacePercent / 100), s = Math.floor(t * this.chartConfig.plotReservedSpacePercent / 100), c = this.componentStore.plot.calculateSpace({
1913
+ width: o,
1914
+ height: s
1915
+ });
1916
+ e -= c.width, t -= c.height, c = this.componentStore.title.calculateSpace({
1917
+ width: this.chartConfig.width,
1918
+ height: t
1919
+ }), n = c.height, t -= c.height, this.componentStore.xAxis.setAxisPosition("left"), c = this.componentStore.xAxis.calculateSpace({
1920
+ width: e,
1921
+ height: t
1922
+ }), e -= c.width, r = c.width, this.componentStore.yAxis.setAxisPosition("top"), c = this.componentStore.yAxis.calculateSpace({
1923
+ width: e,
1924
+ height: t
1925
+ }), t -= c.height, i = n + c.height, a = this.componentStore.legend.calculateSpace({
1926
+ width: e,
1927
+ height: s
1928
+ }), e -= a.width, e > 0 && (o += e, e = 0), t > 0 && (s += t, t = 0), this.componentStore.plot.calculateSpace({
1929
+ width: o,
1930
+ height: s
1931
+ }), this.componentStore.plot.setBoundingBoxXY({
1932
+ x: r,
1933
+ y: i
1934
+ }), this.componentStore.legend.setBoundingBoxXY({
1935
+ x: r + o,
1936
+ y: i + Math.max((s - a.height) / 2, 0)
1937
+ }), this.componentStore.yAxis.setRange([r, r + o]), this.componentStore.yAxis.setBoundingBoxXY({
1938
+ x: r,
1939
+ y: n
1940
+ }), this.componentStore.xAxis.setRange([i, i + s]), this.componentStore.xAxis.setBoundingBoxXY({
1941
+ x: 0,
1942
+ y: i
1943
+ }), this.chartData.plots.some((e) => T(e)) && this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
1944
+ }
1945
+ calculateSpace() {
1946
+ this.chartConfig.chartOrientation === "horizontal" ? this.calculateHorizontalSpace() : this.calculateVerticalSpace();
1947
+ }
1948
+ getDrawableElement() {
1949
+ this.calculateSpace();
1950
+ let e = [];
1951
+ this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);
1952
+ for (let t of Object.values(this.componentStore)) e.push(...t.getDrawableElements());
1953
+ return e;
1954
+ }
1955
+ }, de = class {
1956
+ static {
1957
+ t(this, "XYChartBuilder");
1958
+ }
1959
+ static build(e, t, n, r) {
1960
+ return new ue(e, t, n, r).getDrawableElement();
1961
+ }
1962
+ }, L = 0, R, z = K(), B = G(), V = q(), H = B.plotColorPalette.split(",").map((e) => e.trim()), U = !1, W = !1;
1963
+ function G() {
1964
+ let e = n(), t = s();
1965
+ return _(e.xyChart, t.themeVariables.xyChart);
1966
+ }
1967
+ t(G, "getChartDefaultThemeConfig");
1968
+ function K() {
1969
+ let e = s();
1970
+ return _(l.xyChart, e.xyChart);
1971
+ }
1972
+ t(K, "getChartDefaultConfig");
1973
+ function q() {
1974
+ return {
1975
+ yAxis: {
1976
+ type: "linear",
1977
+ title: "",
1978
+ min: Infinity,
1979
+ max: -Infinity
1980
+ },
1981
+ xAxis: {
1982
+ type: "band",
1983
+ title: "",
1984
+ categories: []
1985
+ },
1986
+ title: "",
1987
+ plots: []
1988
+ };
1989
+ }
1990
+ t(q, "getChartDefaultData");
1991
+ function J(e) {
1992
+ let t = s();
1993
+ return p(e.trim(), t);
1994
+ }
1995
+ t(J, "textSanitizer");
1996
+ function Y(e) {
1997
+ R = e;
1998
+ }
1999
+ t(Y, "setTmpSVGG");
2000
+ function fe(e) {
2001
+ e === "horizontal" ? z.chartOrientation = "horizontal" : z.chartOrientation = "vertical";
2002
+ }
2003
+ t(fe, "setOrientation");
2004
+ function pe(e) {
2005
+ V.xAxis.title = J(e.text);
2006
+ }
2007
+ t(pe, "setXAxisTitle");
2008
+ function X(e, t) {
2009
+ V.xAxis = {
2010
+ type: "linear",
2011
+ title: V.xAxis.title,
2012
+ min: e,
2013
+ max: t
2014
+ }, U = !0;
2015
+ }
2016
+ t(X, "setXAxisRangeData");
2017
+ function me(e) {
2018
+ V.xAxis = {
2019
+ type: "band",
2020
+ title: V.xAxis.title,
2021
+ categories: e.map((e) => J(e.text))
2022
+ }, U = !0;
2023
+ }
2024
+ t(me, "setXAxisBand");
2025
+ function he(e) {
2026
+ V.yAxis.title = J(e.text);
2027
+ }
2028
+ t(he, "setYAxisTitle");
2029
+ function Z(e, t) {
2030
+ V.yAxis = {
2031
+ type: "linear",
2032
+ title: V.yAxis.title,
2033
+ min: e,
2034
+ max: t
2035
+ }, W = !0;
2036
+ }
2037
+ t(Z, "setYAxisRangeData");
2038
+ function ge(e) {
2039
+ 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;
2040
+ V.yAxis = {
2041
+ type: "linear",
2042
+ title: V.yAxis.title,
2043
+ min: Math.min(r, t),
2044
+ max: Math.max(i, n)
2045
+ };
2046
+ }
2047
+ t(ge, "setYAxisRangeFromPlotData");
2048
+ function Q(e) {
2049
+ let t = [];
2050
+ if (e.length === 0) return t;
2051
+ if (!U) {
2052
+ let t = D(V.xAxis) ? V.xAxis.min : Infinity, n = D(V.xAxis) ? V.xAxis.max : -Infinity;
2053
+ X(Math.min(t, 1), Math.max(n, e.length));
2054
+ }
2055
+ 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)) {
2056
+ let n = V.xAxis.min, r = V.xAxis.max;
2057
+ if (e.length === 1) t = [[`${n}`, e[0]]];
2058
+ else {
2059
+ let i = (r - n) / (e.length - 1);
2060
+ t = e.map((e, t) => [`${n + t * i}`, e]);
2061
+ }
2062
+ }
2063
+ return t;
2064
+ }
2065
+ t(Q, "transformDataWithoutCategory");
2066
+ function $(e) {
2067
+ return H[e === 0 ? 0 : e % H.length];
2068
+ }
2069
+ t($, "getPlotColorFromPalette");
2070
+ function _e(e, t) {
2071
+ let n = t.map((e) => e.value), r = t.map((e) => e.label ? J(e.label) : ""), i = Q(n), a = r.some((e) => e !== "");
2072
+ V.plots.push({
2073
+ type: "line",
2074
+ title: J(e.text),
2075
+ strokeFill: $(L),
2076
+ strokeWidth: 2,
2077
+ data: i,
2078
+ ...a ? { pointLabels: r } : {}
2079
+ }), L++;
2080
+ }
2081
+ t(_e, "setLineData");
2082
+ function ve(e, t) {
2083
+ let n = Q(t.map((e) => e.value));
2084
+ V.plots.push({
2085
+ type: "bar",
2086
+ title: J(e.text),
2087
+ fill: $(L),
2088
+ data: n
2089
+ }), L++;
2090
+ }
2091
+ t(ve, "setBarData");
2092
+ function ye() {
2093
+ if (V.plots.length === 0) throw Error("No Plot to render, please provide a plot with some data");
2094
+ return V.title = d(), de.build(z, V, B, R);
2095
+ }
2096
+ t(ye, "getDrawableElem");
2097
+ function be() {
2098
+ return B;
2099
+ }
2100
+ t(be, "getChartThemeConfig");
2101
+ function xe() {
2102
+ return z;
2103
+ }
2104
+ t(xe, "getChartConfig");
2105
+ function Se() {
2106
+ return V;
2107
+ }
2108
+ t(Se, "getXYChartData");
2109
+ var Ce = {
2110
+ parser: w,
2111
+ db: {
2112
+ getDrawableElem: ye,
2113
+ clear: /* @__PURE__ */ t(function() {
2114
+ o(), L = 0, z = K(), V = q(), B = G(), H = B.plotColorPalette.split(",").map((e) => e.trim()), U = !1, W = !1;
2115
+ }, "clear"),
2116
+ setAccTitle: a,
2117
+ getAccTitle: f,
2118
+ setDiagramTitle: i,
2119
+ getDiagramTitle: d,
2120
+ getAccDescription: u,
2121
+ setAccDescription: r,
2122
+ setOrientation: fe,
2123
+ setXAxisTitle: pe,
2124
+ setXAxisRangeData: X,
2125
+ setXAxisBand: me,
2126
+ setYAxisTitle: he,
2127
+ setYAxisRangeData: Z,
2128
+ setLineData: _e,
2129
+ setBarData: ve,
2130
+ setTmpSVGG: Y,
2131
+ getChartThemeConfig: be,
2132
+ getChartConfig: xe,
2133
+ getXYChartData: Se
2134
+ },
2135
+ renderer: { draw: /* @__PURE__ */ t((n, r, i, a) => {
2136
+ let o = a.db, s = o.getChartThemeConfig(), l = o.getChartConfig(), u = o.getXYChartData().plots[0].data.map((e) => e[1]);
2137
+ function d(e) {
2138
+ return e === "top" ? "text-before-edge" : "middle";
2139
+ }
2140
+ t(d, "getDominantBaseLine");
2141
+ function f(e) {
2142
+ return e === "left" ? "start" : e === "right" ? "end" : "middle";
2143
+ }
2144
+ t(f, "getTextAnchor");
2145
+ function p(e) {
2146
+ return `translate(${e.x}, ${e.y}) rotate(${e.rotation || 0})`;
2147
+ }
2148
+ t(p, "getTextTransformation"), e.debug("Rendering xychart chart\n" + n);
2149
+ 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");
2150
+ 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"));
2151
+ let _ = o.getDrawableElem(), v = {};
2152
+ function b(e) {
2153
+ let t = h, n = "";
2154
+ for (let [r] of e.entries()) {
2155
+ let i = h;
2156
+ r > 0 && v[n] && (i = v[n]), n += e[r], t = v[n], t ||= v[n] = i.append("g").attr("class", e[r]);
2157
+ }
2158
+ return t;
2159
+ }
2160
+ t(b, "getGroup");
2161
+ for (let e of _) {
2162
+ if (e.data.length === 0) continue;
2163
+ let n = b(e.groupTexts);
2164
+ switch (e.type) {
2165
+ case "rect":
2166
+ 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) {
2167
+ let r = l.showDataLabelOutsideBar;
2168
+ if (l.chartOrientation === "horizontal") {
2169
+ let i = function(e, t) {
2170
+ let { data: n, label: r } = e;
2171
+ return t * r.length * a <= n.width - o;
2172
+ };
2173
+ t(i, "fitsHorizontally");
2174
+ let a = .7, o = 10, c = e.data.map((e, t) => ({
2175
+ data: e,
2176
+ label: u[t].toString()
2177
+ })).filter((e) => e.data.width > 0 && e.data.height > 0), l = c.map((e) => {
2178
+ let { data: t } = e, n = t.height * .7;
2179
+ for (; !i(e, n) && n > 0;) --n;
2180
+ return n;
2181
+ }), 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");
2182
+ 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);
2183
+ } else {
2184
+ let i = function(e, t, n) {
2185
+ 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;
2186
+ return l && u;
2187
+ };
2188
+ t(i, "fitsInBar");
2189
+ let a = e.data.map((e, t) => ({
2190
+ data: e,
2191
+ label: u[t].toString()
2192
+ })).filter((e) => e.data.width > 0 && e.data.height > 0), o = a.map((e) => {
2193
+ let { data: t, label: n } = e, r = t.width / (n.length * .7);
2194
+ for (; !i(e, r, 10) && r > 0;) --r;
2195
+ return r;
2196
+ }), c = Math.floor(Math.min(...o)), l = /* @__PURE__ */ t((e) => r ? e.data.y - 10 : e.data.y + 10, "determineLabelYPosition");
2197
+ 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);
2198
+ }
2199
+ }
2200
+ break;
2201
+ case "text":
2202
+ 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);
2203
+ break;
2204
+ 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);
2205
+ }
2206
+ }
2207
+ }, "draw") }
2208
+ };
2209
+ //#endregion
2210
+ export { Ce as diagram };