@foris/ai-agent 0.9.1-beta.2 → 0.9.1-beta.3

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 (325) hide show
  1. package/dist/abap-Y8Dl9g_6.js +6 -0
  2. package/dist/actionscript-3-DZzbMeqX.js +6 -0
  3. package/dist/ada-vP6ak0IW.js +6 -0
  4. package/dist/ai-agent.es.js +14 -2779
  5. package/dist/ai-agent.umd.js +3213 -4
  6. package/dist/andromeeda-BIpZ7gaU.js +4 -0
  7. package/dist/angular-html-CHuhdNYa.js +32 -0
  8. package/dist/angular-ts-CkwnAxZa.js +32 -0
  9. package/dist/apache-BUjz-sD2.js +6 -0
  10. package/dist/apex-oLhhs58q.js +6 -0
  11. package/dist/apl-C8FRyJIY.js +24 -0
  12. package/dist/applescript-BPx7YFFu.js +6 -0
  13. package/dist/ara-Z2fSOxSw.js +6 -0
  14. package/dist/arc-BzRDGNYi.js +85 -0
  15. package/dist/architectureDiagram-VXUJARFQ-jlW87y1j.js +4682 -0
  16. package/dist/asciidoc-B-pCoB3G.js +6 -0
  17. package/dist/asm-BTWLY5ym.js +6 -0
  18. package/dist/astro-CAC4-sRr.js +25 -0
  19. package/dist/aurora-x-BwoVEUWZ.js +4 -0
  20. package/dist/awk-Fb0P9dkn.js +6 -0
  21. package/dist/ayu-dark-CxPZkpb2.js +4 -0
  22. package/dist/ballerina-oZK-YekG.js +6 -0
  23. package/dist/bat-0FvbqU9S.js +6 -0
  24. package/dist/beancount-DqJEb89h.js +6 -0
  25. package/dist/berry-DODBq_Ff.js +6 -0
  26. package/dist/bibtex-EULQRLY5.js +6 -0
  27. package/dist/bicep-BorU73w0.js +6 -0
  28. package/dist/blade-Bwl5-ENK.js +27 -0
  29. package/dist/blockDiagram-VD42YOAC-P4woNHAr.js +2415 -0
  30. package/dist/bsl-NkNNwerW.js +8 -0
  31. package/dist/c-eeMepfLm.js +6 -0
  32. package/dist/c4Diagram-YG6GDRKO-CB9WFLmJ.js +1593 -0
  33. package/dist/cadence-02UX7mW8.js +6 -0
  34. package/dist/cairo-Cp116741.js +18 -0
  35. package/dist/catppuccin-frappe-D3cH2rXe.js +4 -0
  36. package/dist/catppuccin-latte-C0LRGUW4.js +4 -0
  37. package/dist/catppuccin-macchiato-c5wQ11TT.js +4 -0
  38. package/dist/catppuccin-mocha-WMD6Qvya.js +4 -0
  39. package/dist/channel-B-TkD8Bv.js +5 -0
  40. package/dist/chunk-4BX2VUAB-DCjARiNr.js +9 -0
  41. package/dist/chunk-55IACEB6-DvmPHLo5.js +8 -0
  42. package/dist/chunk-B4BG7PRW-L08cVxNP.js +1377 -0
  43. package/dist/chunk-DI55MBZ5-zkyTO7pn.js +1383 -0
  44. package/dist/chunk-FMBD7UC4-BkpbM-uP.js +19 -0
  45. package/dist/chunk-QN33PNHL-DSFN3Uoh.js +20 -0
  46. package/dist/chunk-QZHKN3VN-CAgMv7Xo.js +15 -0
  47. package/dist/chunk-TZMSLE5B-B6GY_sBW.js +64 -0
  48. package/dist/clarity-PKm5CwqM.js +6 -0
  49. package/dist/classDiagram-2ON5EDUG-KqDAjO33.js +30 -0
  50. package/dist/classDiagram-v2-WZHVMYZB-KqDAjO33.js +30 -0
  51. package/dist/clojure-CXJfHrL3.js +6 -0
  52. package/dist/cmake-BJz8BOTU.js +6 -0
  53. package/dist/cobol-DNTp9HAy.js +20 -0
  54. package/dist/code-block-QI2IAROF-Culy9AKV.js +2042 -0
  55. package/dist/codeowners-Bt9yU6NX.js +6 -0
  56. package/dist/codeql-DHkodjjI.js +6 -0
  57. package/dist/coffee-BrprHIxF.js +18 -0
  58. package/dist/common-lisp-EVqT9Zhp.js +6 -0
  59. package/dist/coq-B0L9upzn.js +6 -0
  60. package/dist/cose-bilkent-S5V4N54A-DtppvcNV.js +2620 -0
  61. package/dist/cpp-CwJ5QP3s.js +29 -0
  62. package/dist/crystal-DWRgWI1Z.js +24 -0
  63. package/dist/csv-CmYOceLb.js +6 -0
  64. package/dist/cue-ZzumE7IT.js +6 -0
  65. package/dist/cypher-jpdmjtA6.js +6 -0
  66. package/dist/cytoscape.esm-ClN43hhW.js +18846 -0
  67. package/dist/d-CBagWSwH.js +6 -0
  68. package/dist/dagre-6UL2VRFP-BfvQz4N-.js +459 -0
  69. package/dist/dark-plus-pUHDTVV0.js +4 -0
  70. package/dist/dart-6ObCrKr9.js +6 -0
  71. package/dist/dax-CcDT-8dH.js +6 -0
  72. package/dist/defaultLocale-D1piDxzZ.js +177 -0
  73. package/dist/desktop-B93p9R9O.js +6 -0
  74. package/dist/diagram-PSM6KHXK-ka-cDwC2.js +552 -0
  75. package/dist/diagram-QEK2KX5R-BW-yTygZ.js +232 -0
  76. package/dist/diagram-S2PKOQOG-j24g_p7y.js +154 -0
  77. package/dist/diff-BxzP2J8R.js +6 -0
  78. package/dist/docker-CsHqm9tx.js +6 -0
  79. package/dist/dotenv-BMjVjUL1.js +6 -0
  80. package/dist/dracula-BtZx2Kac.js +4 -0
  81. package/dist/dracula-soft-BKa-aqBv.js +4 -0
  82. package/dist/dream-maker-PAx17jaB.js +6 -0
  83. package/dist/edge-B5_tHZZy.js +21 -0
  84. package/dist/elixir-Dj_1qPNg.js +18 -0
  85. package/dist/elm-DZPAA5Qn.js +9 -0
  86. package/dist/emacs-lisp-Cfxdx5D-.js +6 -0
  87. package/dist/erDiagram-Q2GNP2WA-BoiJgXhe.js +854 -0
  88. package/dist/erb-DiYOU0he.js +31 -0
  89. package/dist/erlang-CNRRyeIc.js +18 -0
  90. package/dist/everforest-dark-DMCBqXCK.js +4 -0
  91. package/dist/everforest-light-BbXl82Em.js +4 -0
  92. package/dist/fennel-N4WcXuKx.js +6 -0
  93. package/dist/fish-BTDEUgqH.js +6 -0
  94. package/dist/flowDiagram-NV44I4VS-BHGntIlE.js +1639 -0
  95. package/dist/fluent-BMXUxfv1.js +6 -0
  96. package/dist/fortran-fixed-form-DUsA-VGo.js +8 -0
  97. package/dist/fortran-free-form-DPIT_jbP.js +6 -0
  98. package/dist/fsharp-yevJ8DSS.js +18 -0
  99. package/dist/ganttDiagram-JELNMOA3-Ce8NwhCP.js +2710 -0
  100. package/dist/gdresource-BwtMIoBm.js +10 -0
  101. package/dist/gdscript-BifyeYhI.js +6 -0
  102. package/dist/gdshader-Bk8fF6yr.js +6 -0
  103. package/dist/genie-DzUvd7U9.js +6 -0
  104. package/dist/gherkin-DHRaV0YP.js +6 -0
  105. package/dist/git-commit-Bd32YZ0K.js +8 -0
  106. package/dist/git-rebase-BWMiWxYf.js +18 -0
  107. package/dist/gitGraphDiagram-NY62KEGX-DxoN7y5T.js +723 -0
  108. package/dist/github-dark-DenFmJkN.js +4 -0
  109. package/dist/github-dark-default-BJPUVz4H.js +4 -0
  110. package/dist/github-dark-dimmed-DUshB20C.js +4 -0
  111. package/dist/github-dark-high-contrast-D3aGCnF8.js +4 -0
  112. package/dist/github-light-JYsPkUQd.js +4 -0
  113. package/dist/github-light-default-D99KPAby.js +4 -0
  114. package/dist/github-light-high-contrast-BbmZE-Mp.js +4 -0
  115. package/dist/gleam-Bv284lvN.js +6 -0
  116. package/dist/glimmer-js-Nc7Kk_CN.js +21 -0
  117. package/dist/glimmer-ts-DLoneyA9.js +21 -0
  118. package/dist/glsl-CkUcVZNK.js +8 -0
  119. package/dist/gnuplot-yPG9-sE_.js +6 -0
  120. package/dist/graph-C-gpLwEq.js +1189 -0
  121. package/dist/graphql-CB9Yiq18.js +23 -0
  122. package/dist/groovy-CJQTphOW.js +6 -0
  123. package/dist/gruvbox-dark-hard-C5HOtKIh.js +4 -0
  124. package/dist/gruvbox-dark-medium-FVgwJHuz.js +4 -0
  125. package/dist/gruvbox-dark-soft-B46F314v.js +4 -0
  126. package/dist/gruvbox-light-hard-CJD38wDZ.js +4 -0
  127. package/dist/gruvbox-light-medium-BlIhMYTA.js +4 -0
  128. package/dist/gruvbox-light-soft-DoPHyLVZ.js +4 -0
  129. package/dist/hack-dNZDE7CK.js +19 -0
  130. package/dist/haml-CIHYN_l8.js +19 -0
  131. package/dist/handlebars-5wdAGqTJ.js +21 -0
  132. package/dist/haskell-WeIwNIP6.js +6 -0
  133. package/dist/haxe-TztHsm5T.js +6 -0
  134. package/dist/hcl-D438OF-I.js +6 -0
  135. package/dist/hjson-DYBUbqOl.js +6 -0
  136. package/dist/hlsl-Bk8TCZNL.js +6 -0
  137. package/dist/houston-BDYrDoDW.js +4 -0
  138. package/dist/html-derivative-89LwIO26.js +18 -0
  139. package/dist/http-Dsh8rSJR.js +26 -0
  140. package/dist/hurl-NdmqbL7E.js +26 -0
  141. package/dist/hxml-GbqSQCLa.js +8 -0
  142. package/dist/hy-Brt5EZ7-.js +6 -0
  143. package/dist/imba-CimUv-Uh.js +6 -0
  144. package/dist/index-C3mwt8G1.js +67982 -0
  145. package/dist/infoDiagram-WHAUD3N6-DdxAG2VL.js +35 -0
  146. package/dist/ini-BZIuRIvJ.js +6 -0
  147. package/dist/init-DjUOC4st.js +16 -0
  148. package/dist/java-DY6VlHhP.js +6 -0
  149. package/dist/jinja-BuwNoMI4.js +21 -0
  150. package/dist/jison-_q6rTsMi.js +18 -0
  151. package/dist/journeyDiagram-XKPGCS4Q-CT5Fbg6c.js +848 -0
  152. package/dist/json5-BT4Fjg39.js +6 -0
  153. package/dist/jsonc-CHjZD8gR.js +6 -0
  154. package/dist/jsonl-BGuvDmy9.js +6 -0
  155. package/dist/jsonnet-Bx2cfsXg.js +6 -0
  156. package/dist/jssm-BcADi6EI.js +6 -0
  157. package/dist/jsx-BtKADgXT.js +6 -0
  158. package/dist/julia-BCBeSq7V.js +27 -0
  159. package/dist/kanagawa-dragon-CiKur4Hl.js +4 -0
  160. package/dist/kanagawa-lotus-BKu-smKu.js +4 -0
  161. package/dist/kanagawa-wave-CQwozSzG.js +4 -0
  162. package/dist/kanban-definition-3W4ZIXB7-CxtMdkvq.js +732 -0
  163. package/dist/katex.min-l0sNRNKZ.js +1 -0
  164. package/dist/kdl-BNOv9TC3.js +6 -0
  165. package/dist/kotlin-ByBMgTeR.js +6 -0
  166. package/dist/kusto-VWFLl2T0.js +6 -0
  167. package/dist/laserwave-6a00oqik.js +4 -0
  168. package/dist/latex-DF20280u.js +9 -0
  169. package/dist/layout-D2NtTgFh.js +1730 -0
  170. package/dist/lean-D5yRrexI.js +6 -0
  171. package/dist/less-B1GLI2Di.js +6 -0
  172. package/dist/light-plus-CZuVqSLX.js +4 -0
  173. package/dist/linear-sERCAB61.js +277 -0
  174. package/dist/liquid-CFYzC-s7.js +21 -0
  175. package/dist/llvm-co1rIKs3.js +6 -0
  176. package/dist/log-Al8wyEFV.js +6 -0
  177. package/dist/logo-DBa4JDzV.js +6 -0
  178. package/dist/lua-kX5WP_P5.js +8 -0
  179. package/dist/luau-DtBSxLyz.js +6 -0
  180. package/dist/make-CsMclxtr.js +6 -0
  181. package/dist/marko-OTJE9YCh.js +23 -0
  182. package/dist/material-theme-D6KBX41T.js +4 -0
  183. package/dist/material-theme-darker-CkRroheE.js +4 -0
  184. package/dist/material-theme-lighter-BUBw43Yz.js +4 -0
  185. package/dist/material-theme-ocean-ClGX14Ja.js +4 -0
  186. package/dist/material-theme-palenight-C1RVm8K1.js +4 -0
  187. package/dist/matlab-BOAaUVP0.js +6 -0
  188. package/dist/mdc-tFNBAW39.js +21 -0
  189. package/dist/mdx-BOhZZUJ8.js +6 -0
  190. package/dist/mermaid-B0ixDHKN.js +6 -0
  191. package/dist/mermaid-NA5CF7SZ-620UJKEg.js +14 -0
  192. package/dist/mermaid.core-08D5Vldk.js +14401 -0
  193. package/dist/min-dark-C7ak0t6c.js +4 -0
  194. package/dist/min-light-CKFxVcPp.js +4 -0
  195. package/dist/mindmap-definition-VGOIOE7T-CTZ_Wx0b.js +798 -0
  196. package/dist/mipsasm-CTx18fBl.js +6 -0
  197. package/dist/mojo-BD611d7o.js +6 -0
  198. package/dist/monokai-C1KBYcO0.js +4 -0
  199. package/dist/move-F-dICmj2.js +6 -0
  200. package/dist/narrat-DmhDCBs-.js +6 -0
  201. package/dist/nextflow-DmSVRGjG.js +6 -0
  202. package/dist/nginx-COxS3qoU.js +9 -0
  203. package/dist/night-owl-Bm2rzalh.js +4 -0
  204. package/dist/nim-CZHmlxcO.js +28 -0
  205. package/dist/nix-BZK5F767.js +9 -0
  206. package/dist/nord-CC5OiUXg.js +4 -0
  207. package/dist/nushell-D8j3dhT-.js +6 -0
  208. package/dist/objective-c-Itk8tzmv.js +6 -0
  209. package/dist/objective-cpp-DGt5UKRO.js +6 -0
  210. package/dist/ocaml-eSVK32Eg.js +6 -0
  211. package/dist/openscad-Sp5uZ6f2.js +6 -0
  212. package/dist/ordinal-MUacOSdK.js +65 -0
  213. package/dist/pascal-xy8pJNns.js +6 -0
  214. package/dist/perl-CvmtpKyV.js +24 -0
  215. package/dist/php-B1tFq0rn.js +25 -0
  216. package/dist/pieDiagram-ADFJNKIX-DtleX3ES.js +173 -0
  217. package/dist/pkl-C-zSNmaA.js +6 -0
  218. package/dist/plastic-CSTz3KZp.js +4 -0
  219. package/dist/plsql-pVbGZfOv.js +6 -0
  220. package/dist/po-BNfHvqmm.js +6 -0
  221. package/dist/poimandres-C-VADXHD.js +4 -0
  222. package/dist/polar-CAZahv3u.js +6 -0
  223. package/dist/postcss-05aHdL-n.js +6 -0
  224. package/dist/powerquery-DI9HkTvs.js +6 -0
  225. package/dist/powershell-Clc4ydu-.js +6 -0
  226. package/dist/prisma-FZjmVtSl.js +6 -0
  227. package/dist/prolog-C5-yg4TO.js +6 -0
  228. package/dist/proto-MmCPeFAD.js +6 -0
  229. package/dist/pug-xpTstXA9.js +20 -0
  230. package/dist/puppet-CUJHmnxV.js +6 -0
  231. package/dist/purescript-rUfGld-4.js +6 -0
  232. package/dist/qml-G4_KKZym.js +18 -0
  233. package/dist/qmldir-BInDYbpo.js +6 -0
  234. package/dist/qss-AeJTysr_.js +6 -0
  235. package/dist/quadrantDiagram-AYHSOK5B-D193y_DL.js +1038 -0
  236. package/dist/r-Bm0uF0U2.js +6 -0
  237. package/dist/racket-B83wSAja.js +6 -0
  238. package/dist/raku-nEQ4ZJJ7.js +6 -0
  239. package/dist/razor-BS4LwTsw.js +19 -0
  240. package/dist/red-7y8PH7HH.js +4 -0
  241. package/dist/reg-m_s_Kiip.js +6 -0
  242. package/dist/regexp-BazyLpPg.js +6 -0
  243. package/dist/rel-BcRfyd6Q.js +6 -0
  244. package/dist/requirementDiagram-UZGBJVZJ-DcSe-m6d.js +864 -0
  245. package/dist/riscv-Ce8MAQLP.js +6 -0
  246. package/dist/rose-pine-BKc3yVeu.js +4 -0
  247. package/dist/rose-pine-dawn-BulJcPZT.js +4 -0
  248. package/dist/rose-pine-moon-j6jiXKV8.js +4 -0
  249. package/dist/rosmsg-Cz0w1km8.js +6 -0
  250. package/dist/rst-BvkiqG_4.js +39 -0
  251. package/dist/ruby-CSrNBwZK.js +40 -0
  252. package/dist/sankeyDiagram-TZEHDZUN-HpXuokMl.js +838 -0
  253. package/dist/sas-DciBl6hq.js +18 -0
  254. package/dist/sass-DxHp5rTx.js +6 -0
  255. package/dist/scala-D4grkFkl.js +6 -0
  256. package/dist/scheme-BCRWuEm4.js +6 -0
  257. package/dist/scss-Sr5SHsiH.js +18 -0
  258. package/dist/sdbl-B7T8abf4.js +6 -0
  259. package/dist/sequenceDiagram-WL72ISMW-D_5I_YtC.js +2530 -0
  260. package/dist/shaderlab-Cr62-Wb4.js +8 -0
  261. package/dist/shellsession-B0YIY3D-.js +18 -0
  262. package/dist/slack-dark-i7wN4OET.js +4 -0
  263. package/dist/slack-ochin-ndHf0LoP.js +4 -0
  264. package/dist/smalltalk-BlI1_OkM.js +6 -0
  265. package/dist/snazzy-light-BlSJXAu4.js +4 -0
  266. package/dist/solarized-dark-UTmkh7lw.js +4 -0
  267. package/dist/solarized-light-BheCkDPT.js +4 -0
  268. package/dist/solidity-DUWnFhS6.js +6 -0
  269. package/dist/soy-I6L3jl3W.js +18 -0
  270. package/dist/sparql-B0KWFEri.js +8 -0
  271. package/dist/splunk-CRXR8A9s.js +6 -0
  272. package/dist/ssh-config-DP-hNVbF.js +6 -0
  273. package/dist/stata-BNwq7-ev.js +18 -0
  274. package/dist/stateDiagram-FKZM4ZOC-CRSpvNED.js +276 -0
  275. package/dist/stateDiagram-v2-4FDKWEC3-DfUK-Zbc.js +29 -0
  276. package/dist/style.css +1 -1
  277. package/dist/stylus-CyKEU1Ej.js +6 -0
  278. package/dist/svelte-Din0yw3u.js +22 -0
  279. package/dist/swift-9UzSvamq.js +6 -0
  280. package/dist/synthwave-84-NU3C_KFZ.js +4 -0
  281. package/dist/system-verilog-BCm7smPJ.js +6 -0
  282. package/dist/systemd-C-4qm6XH.js +6 -0
  283. package/dist/talonscript-CFF3LF_O.js +6 -0
  284. package/dist/tasl-Cg_WBUAe.js +6 -0
  285. package/dist/tcl-DN7buRTF.js +6 -0
  286. package/dist/templ-CBu7yCES.js +20 -0
  287. package/dist/terraform-DGvcn9zM.js +6 -0
  288. package/dist/tex-DpOayVob.js +8 -0
  289. package/dist/timeline-definition-IT6M3QCI-DaJ4iEOK.js +813 -0
  290. package/dist/tokyo-night-DP4TmcQl.js +4 -0
  291. package/dist/treemap-KMMF4GRG-C3Ab2yjL.js +16045 -0
  292. package/dist/ts-tags-3Kvfz4et.js +49 -0
  293. package/dist/tsv-BtvSkaG0.js +6 -0
  294. package/dist/tsx-B8rCNbgL.js +6 -0
  295. package/dist/turtle-_H59FV7D.js +6 -0
  296. package/dist/twig-3l_q-6xZ.js +37 -0
  297. package/dist/typespec-DWqp-kUU.js +6 -0
  298. package/dist/typst-D_1QKWns.js +6 -0
  299. package/dist/v-BPCNiyYe.js +6 -0
  300. package/dist/vala-uxaPR7d1.js +6 -0
  301. package/dist/vb-D8_c5-KN.js +6 -0
  302. package/dist/verilog-B-bybjPF.js +6 -0
  303. package/dist/vesper-BckBta1U.js +4 -0
  304. package/dist/vhdl-CUlNa8ac.js +6 -0
  305. package/dist/viml-DsfA-sWm.js +6 -0
  306. package/dist/vitesse-black-BoGvW84i.js +4 -0
  307. package/dist/vitesse-dark-Cym-eLtO.js +4 -0
  308. package/dist/vitesse-light-CcmG315c.js +4 -0
  309. package/dist/vue-BuFQ04-G.js +37 -0
  310. package/dist/vue-html-CyxHqgfT.js +21 -0
  311. package/dist/vue-vine-B_YNGutq.js +30 -0
  312. package/dist/vyper-CPQuu50u.js +6 -0
  313. package/dist/wasm-BBXxrAl7.js +6 -0
  314. package/dist/wasm-DQxwEHae.js +7 -0
  315. package/dist/wenyan-pbVjoM9_.js +6 -0
  316. package/dist/wgsl-DY4iK1q1.js +6 -0
  317. package/dist/wikitext-Z-MoUasO.js +6 -0
  318. package/dist/wit-CQMQOlTg.js +6 -0
  319. package/dist/wolfram-Dz4KXISs.js +6 -0
  320. package/dist/xml-C2J0sS9M.js +8 -0
  321. package/dist/xsl-CbTBIiv3.js +9 -0
  322. package/dist/xychartDiagram-PRI3JC2R-Cf2smXg5.js +1353 -0
  323. package/dist/zenscript-CxBjpf9c.js +6 -0
  324. package/dist/zig-Vm0PO9wB.js +6 -0
  325. package/package.json +25 -25
@@ -0,0 +1,1038 @@
1
+ import { s as _e, g as Ae, q as ie, p as ke, a as Fe, b as Pe, _ as o, c as wt, l as At, d as zt, e as ve, y as Ce, E as D, i as Le, K as Ee } from "./mermaid.core-08D5Vldk.js";
2
+ import { l as ee } from "./linear-sERCAB61.js";
3
+ import "./index-C3mwt8G1.js";
4
+ import "react/jsx-runtime";
5
+ import "react";
6
+ import "class-variance-authority";
7
+ import "clsx";
8
+ import "tailwind-merge";
9
+ import "react-dom";
10
+ import "cmdk";
11
+ import "nanoid";
12
+ import "@foris/avocado-icons";
13
+ import "react-markdown";
14
+ import "./init-DjUOC4st.js";
15
+ import "./defaultLocale-D1piDxzZ.js";
16
+ var Vt = function() {
17
+ var t = /* @__PURE__ */ o(function(j, r, l, g) {
18
+ for (l = l || {}, g = j.length; g--; l[j[g]] = r)
19
+ ;
20
+ return l;
21
+ }, "o"), n = [1, 3], u = [1, 4], c = [1, 5], h = [1, 6], p = [1, 7], y = [1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67], S = [1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67], a = [55, 56, 57], A = [2, 36], d = [1, 37], T = [1, 36], m = [1, 38], q = [1, 35], b = [1, 43], x = [1, 41], O = [1, 14], Y = [1, 23], G = [1, 18], yt = [1, 19], Tt = [1, 20], ht = [1, 21], Ft = [1, 22], ct = [1, 24], dt = [1, 25], ut = [1, 26], xt = [1, 27], i = [1, 28], Bt = [1, 29], W = [1, 32], U = [1, 33], k = [1, 34], F = [1, 39], P = [1, 40], v = [1, 42], C = [1, 44], H = [1, 62], X = [1, 61], L = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67], Rt = [1, 65], Nt = [1, 66], Wt = [1, 67], Ut = [1, 68], Qt = [1, 69], Ot = [1, 70], Ht = [1, 71], Xt = [1, 72], Mt = [1, 73], Yt = [1, 74], jt = [1, 75], Gt = [1, 76], I = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18], J = [1, 90], $ = [1, 91], tt = [1, 92], et = [1, 99], it = [1, 93], at = [1, 96], nt = [1, 94], st = [1, 95], rt = [1, 97], ot = [1, 98], Pt = [1, 102], Kt = [10, 55, 56, 57], R = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57], vt = {
22
+ trace: /* @__PURE__ */ o(function() {
23
+ }, "trace"),
24
+ yy: {},
25
+ symbols_: { error: 2, idStringToken: 3, ALPHA: 4, NUM: 5, NODE_STRING: 6, DOWN: 7, MINUS: 8, DEFAULT: 9, COMMA: 10, COLON: 11, AMP: 12, BRKT: 13, MULT: 14, UNICODE_TEXT: 15, styleComponent: 16, UNIT: 17, SPACE: 18, STYLE: 19, PCT: 20, idString: 21, style: 22, stylesOpt: 23, classDefStatement: 24, CLASSDEF: 25, start: 26, eol: 27, QUADRANT: 28, document: 29, line: 30, statement: 31, axisDetails: 32, quadrantDetails: 33, points: 34, title: 35, title_value: 36, acc_title: 37, acc_title_value: 38, acc_descr: 39, acc_descr_value: 40, acc_descr_multiline_value: 41, section: 42, text: 43, point_start: 44, point_x: 45, point_y: 46, class_name: 47, "X-AXIS": 48, "AXIS-TEXT-DELIMITER": 49, "Y-AXIS": 50, QUADRANT_1: 51, QUADRANT_2: 52, QUADRANT_3: 53, QUADRANT_4: 54, NEWLINE: 55, SEMI: 56, EOF: 57, alphaNumToken: 58, textNoTagsToken: 59, STR: 60, MD_STR: 61, alphaNum: 62, PUNCTUATION: 63, PLUS: 64, EQUALS: 65, DOT: 66, UNDERSCORE: 67, $accept: 0, $end: 1 },
26
+ terminals_: { 2: "error", 4: "ALPHA", 5: "NUM", 6: "NODE_STRING", 7: "DOWN", 8: "MINUS", 9: "DEFAULT", 10: "COMMA", 11: "COLON", 12: "AMP", 13: "BRKT", 14: "MULT", 15: "UNICODE_TEXT", 17: "UNIT", 18: "SPACE", 19: "STYLE", 20: "PCT", 25: "CLASSDEF", 28: "QUADRANT", 35: "title", 36: "title_value", 37: "acc_title", 38: "acc_title_value", 39: "acc_descr", 40: "acc_descr_value", 41: "acc_descr_multiline_value", 42: "section", 44: "point_start", 45: "point_x", 46: "point_y", 47: "class_name", 48: "X-AXIS", 49: "AXIS-TEXT-DELIMITER", 50: "Y-AXIS", 51: "QUADRANT_1", 52: "QUADRANT_2", 53: "QUADRANT_3", 54: "QUADRANT_4", 55: "NEWLINE", 56: "SEMI", 57: "EOF", 60: "STR", 61: "MD_STR", 63: "PUNCTUATION", 64: "PLUS", 65: "EQUALS", 66: "DOT", 67: "UNDERSCORE" },
27
+ productions_: [0, [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [21, 1], [21, 2], [22, 1], [22, 2], [23, 1], [23, 3], [24, 5], [26, 2], [26, 2], [26, 2], [29, 0], [29, 2], [30, 2], [31, 0], [31, 1], [31, 2], [31, 1], [31, 1], [31, 1], [31, 2], [31, 2], [31, 2], [31, 1], [31, 1], [34, 4], [34, 5], [34, 5], [34, 6], [32, 4], [32, 3], [32, 2], [32, 4], [32, 3], [32, 2], [33, 2], [33, 2], [33, 2], [33, 2], [27, 1], [27, 1], [27, 1], [43, 1], [43, 2], [43, 1], [43, 1], [62, 1], [62, 2], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [59, 1], [59, 1], [59, 1]],
28
+ performAction: /* @__PURE__ */ o(function(r, l, g, f, _, e, ft) {
29
+ var s = e.length - 1;
30
+ switch (_) {
31
+ case 23:
32
+ this.$ = e[s];
33
+ break;
34
+ case 24:
35
+ this.$ = e[s - 1] + "" + e[s];
36
+ break;
37
+ case 26:
38
+ this.$ = e[s - 1] + e[s];
39
+ break;
40
+ case 27:
41
+ this.$ = [e[s].trim()];
42
+ break;
43
+ case 28:
44
+ e[s - 2].push(e[s].trim()), this.$ = e[s - 2];
45
+ break;
46
+ case 29:
47
+ this.$ = e[s - 4], f.addClass(e[s - 2], e[s]);
48
+ break;
49
+ case 37:
50
+ this.$ = [];
51
+ break;
52
+ case 42:
53
+ this.$ = e[s].trim(), f.setDiagramTitle(this.$);
54
+ break;
55
+ case 43:
56
+ this.$ = e[s].trim(), f.setAccTitle(this.$);
57
+ break;
58
+ case 44:
59
+ case 45:
60
+ this.$ = e[s].trim(), f.setAccDescription(this.$);
61
+ break;
62
+ case 46:
63
+ f.addSection(e[s].substr(8)), this.$ = e[s].substr(8);
64
+ break;
65
+ case 47:
66
+ f.addPoint(e[s - 3], "", e[s - 1], e[s], []);
67
+ break;
68
+ case 48:
69
+ f.addPoint(e[s - 4], e[s - 3], e[s - 1], e[s], []);
70
+ break;
71
+ case 49:
72
+ f.addPoint(e[s - 4], "", e[s - 2], e[s - 1], e[s]);
73
+ break;
74
+ case 50:
75
+ f.addPoint(e[s - 5], e[s - 4], e[s - 2], e[s - 1], e[s]);
76
+ break;
77
+ case 51:
78
+ f.setXAxisLeftText(e[s - 2]), f.setXAxisRightText(e[s]);
79
+ break;
80
+ case 52:
81
+ e[s - 1].text += " ⟶ ", f.setXAxisLeftText(e[s - 1]);
82
+ break;
83
+ case 53:
84
+ f.setXAxisLeftText(e[s]);
85
+ break;
86
+ case 54:
87
+ f.setYAxisBottomText(e[s - 2]), f.setYAxisTopText(e[s]);
88
+ break;
89
+ case 55:
90
+ e[s - 1].text += " ⟶ ", f.setYAxisBottomText(e[s - 1]);
91
+ break;
92
+ case 56:
93
+ f.setYAxisBottomText(e[s]);
94
+ break;
95
+ case 57:
96
+ f.setQuadrant1Text(e[s]);
97
+ break;
98
+ case 58:
99
+ f.setQuadrant2Text(e[s]);
100
+ break;
101
+ case 59:
102
+ f.setQuadrant3Text(e[s]);
103
+ break;
104
+ case 60:
105
+ f.setQuadrant4Text(e[s]);
106
+ break;
107
+ case 64:
108
+ this.$ = { text: e[s], type: "text" };
109
+ break;
110
+ case 65:
111
+ this.$ = { text: e[s - 1].text + "" + e[s], type: e[s - 1].type };
112
+ break;
113
+ case 66:
114
+ this.$ = { text: e[s], type: "text" };
115
+ break;
116
+ case 67:
117
+ this.$ = { text: e[s], type: "markdown" };
118
+ break;
119
+ case 68:
120
+ this.$ = e[s];
121
+ break;
122
+ case 69:
123
+ this.$ = e[s - 1] + "" + e[s];
124
+ break;
125
+ }
126
+ }, "anonymous"),
127
+ table: [{ 18: n, 26: 1, 27: 2, 28: u, 55: c, 56: h, 57: p }, { 1: [3] }, { 18: n, 26: 8, 27: 2, 28: u, 55: c, 56: h, 57: p }, { 18: n, 26: 9, 27: 2, 28: u, 55: c, 56: h, 57: p }, t(y, [2, 33], { 29: 10 }), t(S, [2, 61]), t(S, [2, 62]), t(S, [2, 63]), { 1: [2, 30] }, { 1: [2, 31] }, t(a, A, { 30: 11, 31: 12, 24: 13, 32: 15, 33: 16, 34: 17, 43: 30, 58: 31, 1: [2, 32], 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 18: O, 25: Y, 35: G, 37: yt, 39: Tt, 41: ht, 42: Ft, 48: ct, 50: dt, 51: ut, 52: xt, 53: i, 54: Bt, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }), t(y, [2, 34]), { 27: 45, 55: c, 56: h, 57: p }, t(a, [2, 37]), t(a, A, { 24: 13, 32: 15, 33: 16, 34: 17, 43: 30, 58: 31, 31: 46, 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 18: O, 25: Y, 35: G, 37: yt, 39: Tt, 41: ht, 42: Ft, 48: ct, 50: dt, 51: ut, 52: xt, 53: i, 54: Bt, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 39]), t(a, [2, 40]), t(a, [2, 41]), { 36: [1, 47] }, { 38: [1, 48] }, { 40: [1, 49] }, t(a, [2, 45]), t(a, [2, 46]), { 18: [1, 50] }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 51, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 52, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 53, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 54, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 55, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 43: 56, 58: 31, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }, { 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 44: [1, 57], 47: [1, 58], 58: 60, 59: 59, 63: k, 64: F, 65: P, 66: v, 67: C }, t(L, [2, 64]), t(L, [2, 66]), t(L, [2, 67]), t(L, [2, 70]), t(L, [2, 71]), t(L, [2, 72]), t(L, [2, 73]), t(L, [2, 74]), t(L, [2, 75]), t(L, [2, 76]), t(L, [2, 77]), t(L, [2, 78]), t(L, [2, 79]), t(L, [2, 80]), t(y, [2, 35]), t(a, [2, 38]), t(a, [2, 42]), t(a, [2, 43]), t(a, [2, 44]), { 3: 64, 4: Rt, 5: Nt, 6: Wt, 7: Ut, 8: Qt, 9: Ot, 10: Ht, 11: Xt, 12: Mt, 13: Yt, 14: jt, 15: Gt, 21: 63 }, t(a, [2, 53], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 49: [1, 77], 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 56], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 49: [1, 78], 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 57], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 58], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 59], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 60], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), { 45: [1, 79] }, { 44: [1, 80] }, t(L, [2, 65]), t(L, [2, 81]), t(L, [2, 82]), t(L, [2, 83]), { 3: 82, 4: Rt, 5: Nt, 6: Wt, 7: Ut, 8: Qt, 9: Ot, 10: Ht, 11: Xt, 12: Mt, 13: Yt, 14: jt, 15: Gt, 18: [1, 81] }, t(I, [2, 23]), t(I, [2, 1]), t(I, [2, 2]), t(I, [2, 3]), t(I, [2, 4]), t(I, [2, 5]), t(I, [2, 6]), t(I, [2, 7]), t(I, [2, 8]), t(I, [2, 9]), t(I, [2, 10]), t(I, [2, 11]), t(I, [2, 12]), t(a, [2, 52], { 58: 31, 43: 83, 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 55], { 58: 31, 43: 84, 4: d, 5: T, 10: m, 12: q, 13: b, 14: x, 60: W, 61: U, 63: k, 64: F, 65: P, 66: v, 67: C }), { 46: [1, 85] }, { 45: [1, 86] }, { 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 16: 89, 17: nt, 18: st, 19: rt, 20: ot, 22: 88, 23: 87 }, t(I, [2, 24]), t(a, [2, 51], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 54], { 59: 59, 58: 60, 4: d, 5: T, 8: H, 10: m, 12: q, 13: b, 14: x, 18: X, 63: k, 64: F, 65: P, 66: v, 67: C }), t(a, [2, 47], { 22: 88, 16: 89, 23: 100, 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 17: nt, 18: st, 19: rt, 20: ot }), { 46: [1, 101] }, t(a, [2, 29], { 10: Pt }), t(Kt, [2, 27], { 16: 103, 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 17: nt, 18: st, 19: rt, 20: ot }), t(R, [2, 25]), t(R, [2, 13]), t(R, [2, 14]), t(R, [2, 15]), t(R, [2, 16]), t(R, [2, 17]), t(R, [2, 18]), t(R, [2, 19]), t(R, [2, 20]), t(R, [2, 21]), t(R, [2, 22]), t(a, [2, 49], { 10: Pt }), t(a, [2, 48], { 22: 88, 16: 89, 23: 104, 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 17: nt, 18: st, 19: rt, 20: ot }), { 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 16: 89, 17: nt, 18: st, 19: rt, 20: ot, 22: 105 }, t(R, [2, 26]), t(a, [2, 50], { 10: Pt }), t(Kt, [2, 28], { 16: 103, 4: J, 5: $, 6: tt, 8: et, 11: it, 13: at, 17: nt, 18: st, 19: rt, 20: ot })],
128
+ defaultActions: { 8: [2, 30], 9: [2, 31] },
129
+ parseError: /* @__PURE__ */ o(function(r, l) {
130
+ if (l.recoverable)
131
+ this.trace(r);
132
+ else {
133
+ var g = new Error(r);
134
+ throw g.hash = l, g;
135
+ }
136
+ }, "parseError"),
137
+ parse: /* @__PURE__ */ o(function(r) {
138
+ var l = this, g = [0], f = [], _ = [null], e = [], ft = this.table, s = "", qt = 0, Zt = 0, me = 2, Jt = 1, qe = e.slice.call(arguments, 1), E = Object.create(this.lexer), K = { yy: {} };
139
+ for (var Ct in this.yy)
140
+ Object.prototype.hasOwnProperty.call(this.yy, Ct) && (K.yy[Ct] = this.yy[Ct]);
141
+ E.setInput(r, K.yy), K.yy.lexer = E, K.yy.parser = this, typeof E.yylloc > "u" && (E.yylloc = {});
142
+ var Lt = E.yylloc;
143
+ e.push(Lt);
144
+ var be = E.options && E.options.ranges;
145
+ typeof K.yy.parseError == "function" ? this.parseError = K.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
146
+ function Se(B) {
147
+ g.length = g.length - 2 * B, _.length = _.length - B, e.length = e.length - B;
148
+ }
149
+ o(Se, "popStack");
150
+ function $t() {
151
+ var B;
152
+ return B = f.pop() || E.lex() || Jt, typeof B != "number" && (B instanceof Array && (f = B, B = f.pop()), B = l.symbols_[B] || B), B;
153
+ }
154
+ o($t, "lex");
155
+ for (var w, Z, N, Et, lt = {}, bt, M, te, St; ; ) {
156
+ if (Z = g[g.length - 1], this.defaultActions[Z] ? N = this.defaultActions[Z] : ((w === null || typeof w > "u") && (w = $t()), N = ft[Z] && ft[Z][w]), typeof N > "u" || !N.length || !N[0]) {
157
+ var Dt = "";
158
+ St = [];
159
+ for (bt in ft[Z])
160
+ this.terminals_[bt] && bt > me && St.push("'" + this.terminals_[bt] + "'");
161
+ E.showPosition ? Dt = "Parse error on line " + (qt + 1) + `:
162
+ ` + E.showPosition() + `
163
+ Expecting ` + St.join(", ") + ", got '" + (this.terminals_[w] || w) + "'" : Dt = "Parse error on line " + (qt + 1) + ": Unexpected " + (w == Jt ? "end of input" : "'" + (this.terminals_[w] || w) + "'"), this.parseError(Dt, {
164
+ text: E.match,
165
+ token: this.terminals_[w] || w,
166
+ line: E.yylineno,
167
+ loc: Lt,
168
+ expected: St
169
+ });
170
+ }
171
+ if (N[0] instanceof Array && N.length > 1)
172
+ throw new Error("Parse Error: multiple actions possible at state: " + Z + ", token: " + w);
173
+ switch (N[0]) {
174
+ case 1:
175
+ g.push(w), _.push(E.yytext), e.push(E.yylloc), g.push(N[1]), w = null, Zt = E.yyleng, s = E.yytext, qt = E.yylineno, Lt = E.yylloc;
176
+ break;
177
+ case 2:
178
+ if (M = this.productions_[N[1]][1], lt.$ = _[_.length - M], lt._$ = {
179
+ first_line: e[e.length - (M || 1)].first_line,
180
+ last_line: e[e.length - 1].last_line,
181
+ first_column: e[e.length - (M || 1)].first_column,
182
+ last_column: e[e.length - 1].last_column
183
+ }, be && (lt._$.range = [
184
+ e[e.length - (M || 1)].range[0],
185
+ e[e.length - 1].range[1]
186
+ ]), Et = this.performAction.apply(lt, [
187
+ s,
188
+ Zt,
189
+ qt,
190
+ K.yy,
191
+ N[1],
192
+ _,
193
+ e
194
+ ].concat(qe)), typeof Et < "u")
195
+ return Et;
196
+ M && (g = g.slice(0, -1 * M * 2), _ = _.slice(0, -1 * M), e = e.slice(0, -1 * M)), g.push(this.productions_[N[1]][0]), _.push(lt.$), e.push(lt._$), te = ft[g[g.length - 2]][g[g.length - 1]], g.push(te);
197
+ break;
198
+ case 3:
199
+ return !0;
200
+ }
201
+ }
202
+ return !0;
203
+ }, "parse")
204
+ }, Te = /* @__PURE__ */ function() {
205
+ var j = {
206
+ EOF: 1,
207
+ parseError: /* @__PURE__ */ o(function(l, g) {
208
+ if (this.yy.parser)
209
+ this.yy.parser.parseError(l, g);
210
+ else
211
+ throw new Error(l);
212
+ }, "parseError"),
213
+ // resets the lexer, sets new input
214
+ setInput: /* @__PURE__ */ o(function(r, l) {
215
+ return this.yy = l || this.yy || {}, this._input = r, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
216
+ first_line: 1,
217
+ first_column: 0,
218
+ last_line: 1,
219
+ last_column: 0
220
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
221
+ }, "setInput"),
222
+ // consumes and returns one char from the input
223
+ input: /* @__PURE__ */ o(function() {
224
+ var r = this._input[0];
225
+ this.yytext += r, this.yyleng++, this.offset++, this.match += r, this.matched += r;
226
+ var l = r.match(/(?:\r\n?|\n).*/g);
227
+ return l ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), r;
228
+ }, "input"),
229
+ // unshifts one char (or a string) into the input
230
+ unput: /* @__PURE__ */ o(function(r) {
231
+ var l = r.length, g = r.split(/(?:\r\n?|\n)/g);
232
+ this._input = r + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - l), this.offset -= l;
233
+ var f = this.match.split(/(?:\r\n?|\n)/g);
234
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), g.length - 1 && (this.yylineno -= g.length - 1);
235
+ var _ = this.yylloc.range;
236
+ return this.yylloc = {
237
+ first_line: this.yylloc.first_line,
238
+ last_line: this.yylineno + 1,
239
+ first_column: this.yylloc.first_column,
240
+ last_column: g ? (g.length === f.length ? this.yylloc.first_column : 0) + f[f.length - g.length].length - g[0].length : this.yylloc.first_column - l
241
+ }, this.options.ranges && (this.yylloc.range = [_[0], _[0] + this.yyleng - l]), this.yyleng = this.yytext.length, this;
242
+ }, "unput"),
243
+ // When called from action, caches matched text and appends it on next action
244
+ more: /* @__PURE__ */ o(function() {
245
+ return this._more = !0, this;
246
+ }, "more"),
247
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
248
+ reject: /* @__PURE__ */ o(function() {
249
+ if (this.options.backtrack_lexer)
250
+ this._backtrack = !0;
251
+ else
252
+ 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).
253
+ ` + this.showPosition(), {
254
+ text: "",
255
+ token: null,
256
+ line: this.yylineno
257
+ });
258
+ return this;
259
+ }, "reject"),
260
+ // retain first n characters of the match
261
+ less: /* @__PURE__ */ o(function(r) {
262
+ this.unput(this.match.slice(r));
263
+ }, "less"),
264
+ // displays already matched input, i.e. for error messages
265
+ pastInput: /* @__PURE__ */ o(function() {
266
+ var r = this.matched.substr(0, this.matched.length - this.match.length);
267
+ return (r.length > 20 ? "..." : "") + r.substr(-20).replace(/\n/g, "");
268
+ }, "pastInput"),
269
+ // displays upcoming input, i.e. for error messages
270
+ upcomingInput: /* @__PURE__ */ o(function() {
271
+ var r = this.match;
272
+ return r.length < 20 && (r += this._input.substr(0, 20 - r.length)), (r.substr(0, 20) + (r.length > 20 ? "..." : "")).replace(/\n/g, "");
273
+ }, "upcomingInput"),
274
+ // displays the character position where the lexing error occurred, i.e. for error messages
275
+ showPosition: /* @__PURE__ */ o(function() {
276
+ var r = this.pastInput(), l = new Array(r.length + 1).join("-");
277
+ return r + this.upcomingInput() + `
278
+ ` + l + "^";
279
+ }, "showPosition"),
280
+ // test the lexed token: return FALSE when not a match, otherwise return token
281
+ test_match: /* @__PURE__ */ o(function(r, l) {
282
+ var g, f, _;
283
+ if (this.options.backtrack_lexer && (_ = {
284
+ yylineno: this.yylineno,
285
+ yylloc: {
286
+ first_line: this.yylloc.first_line,
287
+ last_line: this.last_line,
288
+ first_column: this.yylloc.first_column,
289
+ last_column: this.yylloc.last_column
290
+ },
291
+ yytext: this.yytext,
292
+ match: this.match,
293
+ matches: this.matches,
294
+ matched: this.matched,
295
+ yyleng: this.yyleng,
296
+ offset: this.offset,
297
+ _more: this._more,
298
+ _input: this._input,
299
+ yy: this.yy,
300
+ conditionStack: this.conditionStack.slice(0),
301
+ done: this.done
302
+ }, this.options.ranges && (_.yylloc.range = this.yylloc.range.slice(0))), f = r[0].match(/(?:\r\n?|\n).*/g), f && (this.yylineno += f.length), this.yylloc = {
303
+ first_line: this.yylloc.last_line,
304
+ last_line: this.yylineno + 1,
305
+ first_column: this.yylloc.last_column,
306
+ last_column: f ? f[f.length - 1].length - f[f.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + r[0].length
307
+ }, this.yytext += r[0], this.match += r[0], this.matches = r, 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(r[0].length), this.matched += r[0], g = this.performAction.call(this, this.yy, this, l, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), g)
308
+ return g;
309
+ if (this._backtrack) {
310
+ for (var e in _)
311
+ this[e] = _[e];
312
+ return !1;
313
+ }
314
+ return !1;
315
+ }, "test_match"),
316
+ // return next match in input
317
+ next: /* @__PURE__ */ o(function() {
318
+ if (this.done)
319
+ return this.EOF;
320
+ this._input || (this.done = !0);
321
+ var r, l, g, f;
322
+ this._more || (this.yytext = "", this.match = "");
323
+ for (var _ = this._currentRules(), e = 0; e < _.length; e++)
324
+ if (g = this._input.match(this.rules[_[e]]), g && (!l || g[0].length > l[0].length)) {
325
+ if (l = g, f = e, this.options.backtrack_lexer) {
326
+ if (r = this.test_match(g, _[e]), r !== !1)
327
+ return r;
328
+ if (this._backtrack) {
329
+ l = !1;
330
+ continue;
331
+ } else
332
+ return !1;
333
+ } else if (!this.options.flex)
334
+ break;
335
+ }
336
+ return l ? (r = this.test_match(l, _[f]), r !== !1 ? r : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
337
+ ` + this.showPosition(), {
338
+ text: "",
339
+ token: null,
340
+ line: this.yylineno
341
+ });
342
+ }, "next"),
343
+ // return next match that has a token
344
+ lex: /* @__PURE__ */ o(function() {
345
+ var l = this.next();
346
+ return l || this.lex();
347
+ }, "lex"),
348
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
349
+ begin: /* @__PURE__ */ o(function(l) {
350
+ this.conditionStack.push(l);
351
+ }, "begin"),
352
+ // pop the previously active lexer condition state off the condition stack
353
+ popState: /* @__PURE__ */ o(function() {
354
+ var l = this.conditionStack.length - 1;
355
+ return l > 0 ? this.conditionStack.pop() : this.conditionStack[0];
356
+ }, "popState"),
357
+ // produce the lexer rule set which is active for the currently active lexer condition state
358
+ _currentRules: /* @__PURE__ */ o(function() {
359
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
360
+ }, "_currentRules"),
361
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
362
+ topState: /* @__PURE__ */ o(function(l) {
363
+ return l = this.conditionStack.length - 1 - Math.abs(l || 0), l >= 0 ? this.conditionStack[l] : "INITIAL";
364
+ }, "topState"),
365
+ // alias for begin(condition)
366
+ pushState: /* @__PURE__ */ o(function(l) {
367
+ this.begin(l);
368
+ }, "pushState"),
369
+ // return the number of states currently on the stack
370
+ stateStackSize: /* @__PURE__ */ o(function() {
371
+ return this.conditionStack.length;
372
+ }, "stateStackSize"),
373
+ options: { "case-insensitive": !0 },
374
+ performAction: /* @__PURE__ */ o(function(l, g, f, _) {
375
+ switch (f) {
376
+ case 0:
377
+ break;
378
+ case 1:
379
+ break;
380
+ case 2:
381
+ return 55;
382
+ case 3:
383
+ break;
384
+ case 4:
385
+ return this.begin("title"), 35;
386
+ case 5:
387
+ return this.popState(), "title_value";
388
+ case 6:
389
+ return this.begin("acc_title"), 37;
390
+ case 7:
391
+ return this.popState(), "acc_title_value";
392
+ case 8:
393
+ return this.begin("acc_descr"), 39;
394
+ case 9:
395
+ return this.popState(), "acc_descr_value";
396
+ case 10:
397
+ this.begin("acc_descr_multiline");
398
+ break;
399
+ case 11:
400
+ this.popState();
401
+ break;
402
+ case 12:
403
+ return "acc_descr_multiline_value";
404
+ case 13:
405
+ return 48;
406
+ case 14:
407
+ return 50;
408
+ case 15:
409
+ return 49;
410
+ case 16:
411
+ return 51;
412
+ case 17:
413
+ return 52;
414
+ case 18:
415
+ return 53;
416
+ case 19:
417
+ return 54;
418
+ case 20:
419
+ return 25;
420
+ case 21:
421
+ this.begin("md_string");
422
+ break;
423
+ case 22:
424
+ return "MD_STR";
425
+ case 23:
426
+ this.popState();
427
+ break;
428
+ case 24:
429
+ this.begin("string");
430
+ break;
431
+ case 25:
432
+ this.popState();
433
+ break;
434
+ case 26:
435
+ return "STR";
436
+ case 27:
437
+ this.begin("class_name");
438
+ break;
439
+ case 28:
440
+ return this.popState(), 47;
441
+ case 29:
442
+ return this.begin("point_start"), 44;
443
+ case 30:
444
+ return this.begin("point_x"), 45;
445
+ case 31:
446
+ this.popState();
447
+ break;
448
+ case 32:
449
+ this.popState(), this.begin("point_y");
450
+ break;
451
+ case 33:
452
+ return this.popState(), 46;
453
+ case 34:
454
+ return 28;
455
+ case 35:
456
+ return 4;
457
+ case 36:
458
+ return 11;
459
+ case 37:
460
+ return 64;
461
+ case 38:
462
+ return 10;
463
+ case 39:
464
+ return 65;
465
+ case 40:
466
+ return 65;
467
+ case 41:
468
+ return 14;
469
+ case 42:
470
+ return 13;
471
+ case 43:
472
+ return 67;
473
+ case 44:
474
+ return 66;
475
+ case 45:
476
+ return 12;
477
+ case 46:
478
+ return 8;
479
+ case 47:
480
+ return 5;
481
+ case 48:
482
+ return 18;
483
+ case 49:
484
+ return 56;
485
+ case 50:
486
+ return 63;
487
+ case 51:
488
+ return 57;
489
+ }
490
+ }, "anonymous"),
491
+ rules: [/^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?: *x-axis *)/i, /^(?: *y-axis *)/i, /^(?: *--+> *)/i, /^(?: *quadrant-1 *)/i, /^(?: *quadrant-2 *)/i, /^(?: *quadrant-3 *)/i, /^(?: *quadrant-4 *)/i, /^(?:classDef\b)/i, /^(?:["][`])/i, /^(?:[^`"]+)/i, /^(?:[`]["])/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?::::)/i, /^(?:^\w+)/i, /^(?:\s*:\s*\[\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?:\s*\] *)/i, /^(?:\s*,\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?: *quadrantChart *)/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:=)/i, /^(?:\*)/i, /^(?:#)/i, /^(?:[\_])/i, /^(?:\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\s)/i, /^(?:;)/i, /^(?:[!"#$%&'*+,-.`?\\_/])/i, /^(?:$)/i],
492
+ conditions: { class_name: { rules: [28], inclusive: !1 }, point_y: { rules: [33], inclusive: !1 }, point_x: { rules: [32], inclusive: !1 }, point_start: { rules: [30, 31], inclusive: !1 }, acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, acc_descr: { rules: [9], inclusive: !1 }, acc_title: { rules: [7], inclusive: !1 }, title: { rules: [5], inclusive: !1 }, md_string: { rules: [22, 23], inclusive: !1 }, string: { rules: [25, 26], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], inclusive: !0 } }
493
+ };
494
+ return j;
495
+ }();
496
+ vt.lexer = Te;
497
+ function mt() {
498
+ this.yy = {};
499
+ }
500
+ return o(mt, "Parser"), mt.prototype = vt, vt.Parser = mt, new mt();
501
+ }();
502
+ Vt.parser = Vt;
503
+ var De = Vt, V = Ee(), gt, ze = (gt = class {
504
+ constructor() {
505
+ this.classes = /* @__PURE__ */ new Map(), this.config = this.getDefaultConfig(), this.themeConfig = this.getDefaultThemeConfig(), this.data = this.getDefaultData();
506
+ }
507
+ getDefaultData() {
508
+ return {
509
+ titleText: "",
510
+ quadrant1Text: "",
511
+ quadrant2Text: "",
512
+ quadrant3Text: "",
513
+ quadrant4Text: "",
514
+ xAxisLeftText: "",
515
+ xAxisRightText: "",
516
+ yAxisBottomText: "",
517
+ yAxisTopText: "",
518
+ points: []
519
+ };
520
+ }
521
+ getDefaultConfig() {
522
+ var n, u, c, h, p, y, S, a, A, d, T, m, q, b, x, O, Y, G;
523
+ return {
524
+ showXAxis: !0,
525
+ showYAxis: !0,
526
+ showTitle: !0,
527
+ chartHeight: ((n = D.quadrantChart) == null ? void 0 : n.chartWidth) || 500,
528
+ chartWidth: ((u = D.quadrantChart) == null ? void 0 : u.chartHeight) || 500,
529
+ titlePadding: ((c = D.quadrantChart) == null ? void 0 : c.titlePadding) || 10,
530
+ titleFontSize: ((h = D.quadrantChart) == null ? void 0 : h.titleFontSize) || 20,
531
+ quadrantPadding: ((p = D.quadrantChart) == null ? void 0 : p.quadrantPadding) || 5,
532
+ xAxisLabelPadding: ((y = D.quadrantChart) == null ? void 0 : y.xAxisLabelPadding) || 5,
533
+ yAxisLabelPadding: ((S = D.quadrantChart) == null ? void 0 : S.yAxisLabelPadding) || 5,
534
+ xAxisLabelFontSize: ((a = D.quadrantChart) == null ? void 0 : a.xAxisLabelFontSize) || 16,
535
+ yAxisLabelFontSize: ((A = D.quadrantChart) == null ? void 0 : A.yAxisLabelFontSize) || 16,
536
+ quadrantLabelFontSize: ((d = D.quadrantChart) == null ? void 0 : d.quadrantLabelFontSize) || 16,
537
+ quadrantTextTopPadding: ((T = D.quadrantChart) == null ? void 0 : T.quadrantTextTopPadding) || 5,
538
+ pointTextPadding: ((m = D.quadrantChart) == null ? void 0 : m.pointTextPadding) || 5,
539
+ pointLabelFontSize: ((q = D.quadrantChart) == null ? void 0 : q.pointLabelFontSize) || 12,
540
+ pointRadius: ((b = D.quadrantChart) == null ? void 0 : b.pointRadius) || 5,
541
+ xAxisPosition: ((x = D.quadrantChart) == null ? void 0 : x.xAxisPosition) || "top",
542
+ yAxisPosition: ((O = D.quadrantChart) == null ? void 0 : O.yAxisPosition) || "left",
543
+ quadrantInternalBorderStrokeWidth: ((Y = D.quadrantChart) == null ? void 0 : Y.quadrantInternalBorderStrokeWidth) || 1,
544
+ quadrantExternalBorderStrokeWidth: ((G = D.quadrantChart) == null ? void 0 : G.quadrantExternalBorderStrokeWidth) || 2
545
+ };
546
+ }
547
+ getDefaultThemeConfig() {
548
+ return {
549
+ quadrant1Fill: V.quadrant1Fill,
550
+ quadrant2Fill: V.quadrant2Fill,
551
+ quadrant3Fill: V.quadrant3Fill,
552
+ quadrant4Fill: V.quadrant4Fill,
553
+ quadrant1TextFill: V.quadrant1TextFill,
554
+ quadrant2TextFill: V.quadrant2TextFill,
555
+ quadrant3TextFill: V.quadrant3TextFill,
556
+ quadrant4TextFill: V.quadrant4TextFill,
557
+ quadrantPointFill: V.quadrantPointFill,
558
+ quadrantPointTextFill: V.quadrantPointTextFill,
559
+ quadrantXAxisTextFill: V.quadrantXAxisTextFill,
560
+ quadrantYAxisTextFill: V.quadrantYAxisTextFill,
561
+ quadrantTitleFill: V.quadrantTitleFill,
562
+ quadrantInternalBorderStrokeFill: V.quadrantInternalBorderStrokeFill,
563
+ quadrantExternalBorderStrokeFill: V.quadrantExternalBorderStrokeFill
564
+ };
565
+ }
566
+ clear() {
567
+ this.config = this.getDefaultConfig(), this.themeConfig = this.getDefaultThemeConfig(), this.data = this.getDefaultData(), this.classes = /* @__PURE__ */ new Map(), At.info("clear called");
568
+ }
569
+ setData(n) {
570
+ this.data = { ...this.data, ...n };
571
+ }
572
+ addPoints(n) {
573
+ this.data.points = [...n, ...this.data.points];
574
+ }
575
+ addClass(n, u) {
576
+ this.classes.set(n, u);
577
+ }
578
+ setConfig(n) {
579
+ At.trace("setConfig called with: ", n), this.config = { ...this.config, ...n };
580
+ }
581
+ setThemeConfig(n) {
582
+ At.trace("setThemeConfig called with: ", n), this.themeConfig = { ...this.themeConfig, ...n };
583
+ }
584
+ calculateSpace(n, u, c, h) {
585
+ const p = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize, y = {
586
+ top: n === "top" && u ? p : 0,
587
+ bottom: n === "bottom" && u ? p : 0
588
+ }, S = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize, a = {
589
+ left: this.config.yAxisPosition === "left" && c ? S : 0,
590
+ right: this.config.yAxisPosition === "right" && c ? S : 0
591
+ }, A = this.config.titleFontSize + this.config.titlePadding * 2, d = {
592
+ top: h ? A : 0
593
+ }, T = this.config.quadrantPadding + a.left, m = this.config.quadrantPadding + y.top + d.top, q = this.config.chartWidth - this.config.quadrantPadding * 2 - a.left - a.right, b = this.config.chartHeight - this.config.quadrantPadding * 2 - y.top - y.bottom - d.top, x = q / 2, O = b / 2;
594
+ return {
595
+ xAxisSpace: y,
596
+ yAxisSpace: a,
597
+ titleSpace: d,
598
+ quadrantSpace: {
599
+ quadrantLeft: T,
600
+ quadrantTop: m,
601
+ quadrantWidth: q,
602
+ quadrantHalfWidth: x,
603
+ quadrantHeight: b,
604
+ quadrantHalfHeight: O
605
+ }
606
+ };
607
+ }
608
+ getAxisLabels(n, u, c, h) {
609
+ const { quadrantSpace: p, titleSpace: y } = h, {
610
+ quadrantHalfHeight: S,
611
+ quadrantHeight: a,
612
+ quadrantLeft: A,
613
+ quadrantHalfWidth: d,
614
+ quadrantTop: T,
615
+ quadrantWidth: m
616
+ } = p, q = !!this.data.xAxisRightText, b = !!this.data.yAxisTopText, x = [];
617
+ return this.data.xAxisLeftText && u && x.push({
618
+ text: this.data.xAxisLeftText,
619
+ fill: this.themeConfig.quadrantXAxisTextFill,
620
+ x: A + (q ? d / 2 : 0),
621
+ y: n === "top" ? this.config.xAxisLabelPadding + y.top : this.config.xAxisLabelPadding + T + a + this.config.quadrantPadding,
622
+ fontSize: this.config.xAxisLabelFontSize,
623
+ verticalPos: q ? "center" : "left",
624
+ horizontalPos: "top",
625
+ rotation: 0
626
+ }), this.data.xAxisRightText && u && x.push({
627
+ text: this.data.xAxisRightText,
628
+ fill: this.themeConfig.quadrantXAxisTextFill,
629
+ x: A + d + (q ? d / 2 : 0),
630
+ y: n === "top" ? this.config.xAxisLabelPadding + y.top : this.config.xAxisLabelPadding + T + a + this.config.quadrantPadding,
631
+ fontSize: this.config.xAxisLabelFontSize,
632
+ verticalPos: q ? "center" : "left",
633
+ horizontalPos: "top",
634
+ rotation: 0
635
+ }), this.data.yAxisBottomText && c && x.push({
636
+ text: this.data.yAxisBottomText,
637
+ fill: this.themeConfig.quadrantYAxisTextFill,
638
+ x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + A + m + this.config.quadrantPadding,
639
+ y: T + a - (b ? S / 2 : 0),
640
+ fontSize: this.config.yAxisLabelFontSize,
641
+ verticalPos: b ? "center" : "left",
642
+ horizontalPos: "top",
643
+ rotation: -90
644
+ }), this.data.yAxisTopText && c && x.push({
645
+ text: this.data.yAxisTopText,
646
+ fill: this.themeConfig.quadrantYAxisTextFill,
647
+ x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + A + m + this.config.quadrantPadding,
648
+ y: T + S - (b ? S / 2 : 0),
649
+ fontSize: this.config.yAxisLabelFontSize,
650
+ verticalPos: b ? "center" : "left",
651
+ horizontalPos: "top",
652
+ rotation: -90
653
+ }), x;
654
+ }
655
+ getQuadrants(n) {
656
+ const { quadrantSpace: u } = n, { quadrantHalfHeight: c, quadrantLeft: h, quadrantHalfWidth: p, quadrantTop: y } = u, S = [
657
+ {
658
+ text: {
659
+ text: this.data.quadrant1Text,
660
+ fill: this.themeConfig.quadrant1TextFill,
661
+ x: 0,
662
+ y: 0,
663
+ fontSize: this.config.quadrantLabelFontSize,
664
+ verticalPos: "center",
665
+ horizontalPos: "middle",
666
+ rotation: 0
667
+ },
668
+ x: h + p,
669
+ y,
670
+ width: p,
671
+ height: c,
672
+ fill: this.themeConfig.quadrant1Fill
673
+ },
674
+ {
675
+ text: {
676
+ text: this.data.quadrant2Text,
677
+ fill: this.themeConfig.quadrant2TextFill,
678
+ x: 0,
679
+ y: 0,
680
+ fontSize: this.config.quadrantLabelFontSize,
681
+ verticalPos: "center",
682
+ horizontalPos: "middle",
683
+ rotation: 0
684
+ },
685
+ x: h,
686
+ y,
687
+ width: p,
688
+ height: c,
689
+ fill: this.themeConfig.quadrant2Fill
690
+ },
691
+ {
692
+ text: {
693
+ text: this.data.quadrant3Text,
694
+ fill: this.themeConfig.quadrant3TextFill,
695
+ x: 0,
696
+ y: 0,
697
+ fontSize: this.config.quadrantLabelFontSize,
698
+ verticalPos: "center",
699
+ horizontalPos: "middle",
700
+ rotation: 0
701
+ },
702
+ x: h,
703
+ y: y + c,
704
+ width: p,
705
+ height: c,
706
+ fill: this.themeConfig.quadrant3Fill
707
+ },
708
+ {
709
+ text: {
710
+ text: this.data.quadrant4Text,
711
+ fill: this.themeConfig.quadrant4TextFill,
712
+ x: 0,
713
+ y: 0,
714
+ fontSize: this.config.quadrantLabelFontSize,
715
+ verticalPos: "center",
716
+ horizontalPos: "middle",
717
+ rotation: 0
718
+ },
719
+ x: h + p,
720
+ y: y + c,
721
+ width: p,
722
+ height: c,
723
+ fill: this.themeConfig.quadrant4Fill
724
+ }
725
+ ];
726
+ for (const a of S)
727
+ a.text.x = a.x + a.width / 2, this.data.points.length === 0 ? (a.text.y = a.y + a.height / 2, a.text.horizontalPos = "middle") : (a.text.y = a.y + this.config.quadrantTextTopPadding, a.text.horizontalPos = "top");
728
+ return S;
729
+ }
730
+ getQuadrantPoints(n) {
731
+ const { quadrantSpace: u } = n, { quadrantHeight: c, quadrantLeft: h, quadrantTop: p, quadrantWidth: y } = u, S = ee().domain([0, 1]).range([h, y + h]), a = ee().domain([0, 1]).range([c + p, p]);
732
+ return this.data.points.map((d) => {
733
+ const T = this.classes.get(d.className);
734
+ return T && (d = { ...T, ...d }), {
735
+ x: S(d.x),
736
+ y: a(d.y),
737
+ fill: d.color ?? this.themeConfig.quadrantPointFill,
738
+ radius: d.radius ?? this.config.pointRadius,
739
+ text: {
740
+ text: d.text,
741
+ fill: this.themeConfig.quadrantPointTextFill,
742
+ x: S(d.x),
743
+ y: a(d.y) + this.config.pointTextPadding,
744
+ verticalPos: "center",
745
+ horizontalPos: "top",
746
+ fontSize: this.config.pointLabelFontSize,
747
+ rotation: 0
748
+ },
749
+ strokeColor: d.strokeColor ?? this.themeConfig.quadrantPointFill,
750
+ strokeWidth: d.strokeWidth ?? "0px"
751
+ };
752
+ });
753
+ }
754
+ getBorders(n) {
755
+ const u = this.config.quadrantExternalBorderStrokeWidth / 2, { quadrantSpace: c } = n, {
756
+ quadrantHalfHeight: h,
757
+ quadrantHeight: p,
758
+ quadrantLeft: y,
759
+ quadrantHalfWidth: S,
760
+ quadrantTop: a,
761
+ quadrantWidth: A
762
+ } = c;
763
+ return [
764
+ // top border
765
+ {
766
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
767
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
768
+ x1: y - u,
769
+ y1: a,
770
+ x2: y + A + u,
771
+ y2: a
772
+ },
773
+ // right border
774
+ {
775
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
776
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
777
+ x1: y + A,
778
+ y1: a + u,
779
+ x2: y + A,
780
+ y2: a + p - u
781
+ },
782
+ // bottom border
783
+ {
784
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
785
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
786
+ x1: y - u,
787
+ y1: a + p,
788
+ x2: y + A + u,
789
+ y2: a + p
790
+ },
791
+ // left border
792
+ {
793
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
794
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
795
+ x1: y,
796
+ y1: a + u,
797
+ x2: y,
798
+ y2: a + p - u
799
+ },
800
+ // vertical inner border
801
+ {
802
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
803
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
804
+ x1: y + S,
805
+ y1: a + u,
806
+ x2: y + S,
807
+ y2: a + p - u
808
+ },
809
+ // horizontal inner border
810
+ {
811
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
812
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
813
+ x1: y + u,
814
+ y1: a + h,
815
+ x2: y + A - u,
816
+ y2: a + h
817
+ }
818
+ ];
819
+ }
820
+ getTitle(n) {
821
+ if (n)
822
+ return {
823
+ text: this.data.titleText,
824
+ fill: this.themeConfig.quadrantTitleFill,
825
+ fontSize: this.config.titleFontSize,
826
+ horizontalPos: "top",
827
+ verticalPos: "center",
828
+ rotation: 0,
829
+ y: this.config.titlePadding,
830
+ x: this.config.chartWidth / 2
831
+ };
832
+ }
833
+ build() {
834
+ const n = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText), u = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText), c = this.config.showTitle && !!this.data.titleText, h = this.data.points.length > 0 ? "bottom" : this.config.xAxisPosition, p = this.calculateSpace(h, n, u, c);
835
+ return {
836
+ points: this.getQuadrantPoints(p),
837
+ quadrants: this.getQuadrants(p),
838
+ axisLabels: this.getAxisLabels(h, n, u, p),
839
+ borderLines: this.getBorders(p),
840
+ title: this.getTitle(c)
841
+ };
842
+ }
843
+ }, o(gt, "QuadrantBuilder"), gt), pt, _t = (pt = class extends Error {
844
+ constructor(n, u, c) {
845
+ super(`value for ${n} ${u} is invalid, please use a valid ${c}`), this.name = "InvalidStyleError";
846
+ }
847
+ }, o(pt, "InvalidStyleError"), pt);
848
+ function It(t) {
849
+ return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t);
850
+ }
851
+ o(It, "validateHexCode");
852
+ function ae(t) {
853
+ return !/^\d+$/.test(t);
854
+ }
855
+ o(ae, "validateNumber");
856
+ function ne(t) {
857
+ return !/^\d+px$/.test(t);
858
+ }
859
+ o(ne, "validateSizeInPixels");
860
+ var Ve = wt();
861
+ function Q(t) {
862
+ return Le(t.trim(), Ve);
863
+ }
864
+ o(Q, "textSanitizer");
865
+ var z = new ze();
866
+ function se(t) {
867
+ z.setData({ quadrant1Text: Q(t.text) });
868
+ }
869
+ o(se, "setQuadrant1Text");
870
+ function re(t) {
871
+ z.setData({ quadrant2Text: Q(t.text) });
872
+ }
873
+ o(re, "setQuadrant2Text");
874
+ function oe(t) {
875
+ z.setData({ quadrant3Text: Q(t.text) });
876
+ }
877
+ o(oe, "setQuadrant3Text");
878
+ function le(t) {
879
+ z.setData({ quadrant4Text: Q(t.text) });
880
+ }
881
+ o(le, "setQuadrant4Text");
882
+ function he(t) {
883
+ z.setData({ xAxisLeftText: Q(t.text) });
884
+ }
885
+ o(he, "setXAxisLeftText");
886
+ function ce(t) {
887
+ z.setData({ xAxisRightText: Q(t.text) });
888
+ }
889
+ o(ce, "setXAxisRightText");
890
+ function de(t) {
891
+ z.setData({ yAxisTopText: Q(t.text) });
892
+ }
893
+ o(de, "setYAxisTopText");
894
+ function ue(t) {
895
+ z.setData({ yAxisBottomText: Q(t.text) });
896
+ }
897
+ o(ue, "setYAxisBottomText");
898
+ function kt(t) {
899
+ const n = {};
900
+ for (const u of t) {
901
+ const [c, h] = u.trim().split(/\s*:\s*/);
902
+ if (c === "radius") {
903
+ if (ae(h))
904
+ throw new _t(c, h, "number");
905
+ n.radius = parseInt(h);
906
+ } else if (c === "color") {
907
+ if (It(h))
908
+ throw new _t(c, h, "hex code");
909
+ n.color = h;
910
+ } else if (c === "stroke-color") {
911
+ if (It(h))
912
+ throw new _t(c, h, "hex code");
913
+ n.strokeColor = h;
914
+ } else if (c === "stroke-width") {
915
+ if (ne(h))
916
+ throw new _t(c, h, "number of pixels (eg. 10px)");
917
+ n.strokeWidth = h;
918
+ } else
919
+ throw new Error(`style named ${c} is not supported.`);
920
+ }
921
+ return n;
922
+ }
923
+ o(kt, "parseStyles");
924
+ function xe(t, n, u, c, h) {
925
+ const p = kt(h);
926
+ z.addPoints([
927
+ {
928
+ x: u,
929
+ y: c,
930
+ text: Q(t.text),
931
+ className: n,
932
+ ...p
933
+ }
934
+ ]);
935
+ }
936
+ o(xe, "addPoint");
937
+ function fe(t, n) {
938
+ z.addClass(t, kt(n));
939
+ }
940
+ o(fe, "addClass");
941
+ function ge(t) {
942
+ z.setConfig({ chartWidth: t });
943
+ }
944
+ o(ge, "setWidth");
945
+ function pe(t) {
946
+ z.setConfig({ chartHeight: t });
947
+ }
948
+ o(pe, "setHeight");
949
+ function ye() {
950
+ const t = wt(), { themeVariables: n, quadrantChart: u } = t;
951
+ return u && z.setConfig(u), z.setThemeConfig({
952
+ quadrant1Fill: n.quadrant1Fill,
953
+ quadrant2Fill: n.quadrant2Fill,
954
+ quadrant3Fill: n.quadrant3Fill,
955
+ quadrant4Fill: n.quadrant4Fill,
956
+ quadrant1TextFill: n.quadrant1TextFill,
957
+ quadrant2TextFill: n.quadrant2TextFill,
958
+ quadrant3TextFill: n.quadrant3TextFill,
959
+ quadrant4TextFill: n.quadrant4TextFill,
960
+ quadrantPointFill: n.quadrantPointFill,
961
+ quadrantPointTextFill: n.quadrantPointTextFill,
962
+ quadrantXAxisTextFill: n.quadrantXAxisTextFill,
963
+ quadrantYAxisTextFill: n.quadrantYAxisTextFill,
964
+ quadrantExternalBorderStrokeFill: n.quadrantExternalBorderStrokeFill,
965
+ quadrantInternalBorderStrokeFill: n.quadrantInternalBorderStrokeFill,
966
+ quadrantTitleFill: n.quadrantTitleFill
967
+ }), z.setData({ titleText: ie() }), z.build();
968
+ }
969
+ o(ye, "getQuadrantData");
970
+ var Ie = /* @__PURE__ */ o(function() {
971
+ z.clear(), Ce();
972
+ }, "clear"), we = {
973
+ setWidth: ge,
974
+ setHeight: pe,
975
+ setQuadrant1Text: se,
976
+ setQuadrant2Text: re,
977
+ setQuadrant3Text: oe,
978
+ setQuadrant4Text: le,
979
+ setXAxisLeftText: he,
980
+ setXAxisRightText: ce,
981
+ setYAxisTopText: de,
982
+ setYAxisBottomText: ue,
983
+ parseStyles: kt,
984
+ addPoint: xe,
985
+ addClass: fe,
986
+ getQuadrantData: ye,
987
+ clear: Ie,
988
+ setAccTitle: Pe,
989
+ getAccTitle: Fe,
990
+ setDiagramTitle: ke,
991
+ getDiagramTitle: ie,
992
+ getAccDescription: Ae,
993
+ setAccDescription: _e
994
+ }, Be = /* @__PURE__ */ o((t, n, u, c) => {
995
+ var dt, ut, xt;
996
+ function h(i) {
997
+ return i === "top" ? "hanging" : "middle";
998
+ }
999
+ o(h, "getDominantBaseLine");
1000
+ function p(i) {
1001
+ return i === "left" ? "start" : "middle";
1002
+ }
1003
+ o(p, "getTextAnchor");
1004
+ function y(i) {
1005
+ return `translate(${i.x}, ${i.y}) rotate(${i.rotation || 0})`;
1006
+ }
1007
+ o(y, "getTransformation");
1008
+ const S = wt();
1009
+ At.debug(`Rendering quadrant chart
1010
+ ` + t);
1011
+ const a = S.securityLevel;
1012
+ let A;
1013
+ a === "sandbox" && (A = zt("#i" + n));
1014
+ const T = (a === "sandbox" ? zt(A.nodes()[0].contentDocument.body) : zt("body")).select(`[id="${n}"]`), m = T.append("g").attr("class", "main"), q = ((dt = S.quadrantChart) == null ? void 0 : dt.chartWidth) ?? 500, b = ((ut = S.quadrantChart) == null ? void 0 : ut.chartHeight) ?? 500;
1015
+ ve(T, b, q, ((xt = S.quadrantChart) == null ? void 0 : xt.useMaxWidth) ?? !0), T.attr("viewBox", "0 0 " + q + " " + b), c.db.setHeight(b), c.db.setWidth(q);
1016
+ const x = c.db.getQuadrantData(), O = m.append("g").attr("class", "quadrants"), Y = m.append("g").attr("class", "border"), G = m.append("g").attr("class", "data-points"), yt = m.append("g").attr("class", "labels"), Tt = m.append("g").attr("class", "title");
1017
+ x.title && Tt.append("text").attr("x", 0).attr("y", 0).attr("fill", x.title.fill).attr("font-size", x.title.fontSize).attr("dominant-baseline", h(x.title.horizontalPos)).attr("text-anchor", p(x.title.verticalPos)).attr("transform", y(x.title)).text(x.title.text), x.borderLines && Y.selectAll("line").data(x.borderLines).enter().append("line").attr("x1", (i) => i.x1).attr("y1", (i) => i.y1).attr("x2", (i) => i.x2).attr("y2", (i) => i.y2).style("stroke", (i) => i.strokeFill).style("stroke-width", (i) => i.strokeWidth);
1018
+ const ht = O.selectAll("g.quadrant").data(x.quadrants).enter().append("g").attr("class", "quadrant");
1019
+ ht.append("rect").attr("x", (i) => i.x).attr("y", (i) => i.y).attr("width", (i) => i.width).attr("height", (i) => i.height).attr("fill", (i) => i.fill), ht.append("text").attr("x", 0).attr("y", 0).attr("fill", (i) => i.text.fill).attr("font-size", (i) => i.text.fontSize).attr(
1020
+ "dominant-baseline",
1021
+ (i) => h(i.text.horizontalPos)
1022
+ ).attr("text-anchor", (i) => p(i.text.verticalPos)).attr("transform", (i) => y(i.text)).text((i) => i.text.text), yt.selectAll("g.label").data(x.axisLabels).enter().append("g").attr("class", "label").append("text").attr("x", 0).attr("y", 0).text((i) => i.text).attr("fill", (i) => i.fill).attr("font-size", (i) => i.fontSize).attr("dominant-baseline", (i) => h(i.horizontalPos)).attr("text-anchor", (i) => p(i.verticalPos)).attr("transform", (i) => y(i));
1023
+ const ct = G.selectAll("g.data-point").data(x.points).enter().append("g").attr("class", "data-point");
1024
+ ct.append("circle").attr("cx", (i) => i.x).attr("cy", (i) => i.y).attr("r", (i) => i.radius).attr("fill", (i) => i.fill).attr("stroke", (i) => i.strokeColor).attr("stroke-width", (i) => i.strokeWidth), ct.append("text").attr("x", 0).attr("y", 0).text((i) => i.text.text).attr("fill", (i) => i.text.fill).attr("font-size", (i) => i.text.fontSize).attr(
1025
+ "dominant-baseline",
1026
+ (i) => h(i.text.horizontalPos)
1027
+ ).attr("text-anchor", (i) => p(i.text.verticalPos)).attr("transform", (i) => y(i.text));
1028
+ }, "draw"), Re = {
1029
+ draw: Be
1030
+ }, ti = {
1031
+ parser: De,
1032
+ db: we,
1033
+ renderer: Re,
1034
+ styles: /* @__PURE__ */ o(() => "", "styles")
1035
+ };
1036
+ export {
1037
+ ti as diagram
1038
+ };