@vunk/plus 1.6.11 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/components/_baseUniq-BXtq6_NW.mjs +239 -0
  2. package/components/abap-B7h4dtBh.mjs +6 -0
  3. package/components/actionscript-3-Bmm7RA3Y.mjs +6 -0
  4. package/components/ada-BZS802Se.mjs +6 -0
  5. package/components/agent-chat-provider/index.d.ts +1 -0
  6. package/components/agent-chat-provider/index.mjs +74 -39
  7. package/components/agent-chat-provider/src/MessageView.d.ts +29 -0
  8. package/components/agent-chat-provider/src/types.d.ts +12 -6
  9. package/components/agent-chat-provider/src/use.d.ts +5 -4
  10. package/components/andromeeda-CrngpmZk.mjs +3 -0
  11. package/components/apache-D4roVlsU.mjs +6 -0
  12. package/components/apex-D6mfw0H5.mjs +6 -0
  13. package/components/apl-DDK-VObo.mjs +18 -0
  14. package/components/applescript-C43Knf0G.mjs +6 -0
  15. package/components/ara-DRBH84ND.mjs +6 -0
  16. package/components/arc-Js_tyW10.mjs +131 -0
  17. package/components/architecture-O4VJ6CD3-ZoZ2IAk2.mjs +13 -0
  18. package/components/architectureDiagram-SUXI7LT5-kyYGGrHN.mjs +8676 -0
  19. package/components/asm-3tg4MVib.mjs +6 -0
  20. package/components/astro-v4FYbRud.mjs +19 -0
  21. package/components/aurora-x-wJ4-eM2h.mjs +3 -0
  22. package/components/awk-ChreaG-G.mjs +6 -0
  23. package/components/ayu-dark-BEKp3oqs.mjs +3 -0
  24. package/components/ballerina-B0yt0TYU.mjs +6 -0
  25. package/components/batch-Ce_EX3Sx.mjs +14 -0
  26. package/components/beancount-BRIsdQEB.mjs +6 -0
  27. package/components/berry-Brv4WWdL.mjs +14 -0
  28. package/components/bibtex-BLeFwAes.mjs +6 -0
  29. package/components/bicep-BVrgfErX.mjs +6 -0
  30. package/components/blade-By3Sw_Ex.mjs +22 -0
  31. package/components/blockDiagram-6J76NXCF-IAr4zDV3.mjs +3608 -0
  32. package/components/broadcasting-markdown/src/howler-speech.vue.d.ts +1 -1
  33. package/components/broadcasting-markdown/src/index.vue.d.ts +3 -3
  34. package/components/bubble-list/index.css +22 -0
  35. package/components/bubble-list/index.mjs +7 -134
  36. package/components/bubble-list/src/ctx.d.ts +0 -4
  37. package/components/bubble-list/src/index.vue.d.ts +169 -525
  38. package/components/bubble-templates/index.d.ts +2 -1
  39. package/components/bubble-templates/index.mjs +11438 -101
  40. package/components/bubble-templates/src/core.d.ts +69 -0
  41. package/components/bubble-templates/src/index.vue.d.ts +133 -486
  42. package/components/bubble-templates/src/legacy.vue.d.ts +153 -0
  43. package/components/bubble-templates/src/types.d.ts +13 -8
  44. package/components/c-C4VtT7JA.mjs +6 -0
  45. package/components/c4Diagram-6F6E4RAY-Dv27rXcJ.mjs +2490 -0
  46. package/components/catppuccin-frappe-zLMNRRUx.mjs +3 -0
  47. package/components/catppuccin-latte-CdF5jC3c.mjs +3 -0
  48. package/components/catppuccin-macchiato-DyjXeyRt.mjs +3 -0
  49. package/components/catppuccin-mocha-66IdYxR8.mjs +3 -0
  50. package/components/cdc-30ktANo3.mjs +14 -0
  51. package/components/channel-BBZy6zOT.mjs +7 -0
  52. package/components/chat-independent/index.mjs +4 -4
  53. package/components/chat-independent/src/index.vue.d.ts +194 -550
  54. package/components/chunk-353BL4L5-Dn_Y_Yna.mjs +17 -0
  55. package/components/chunk-67H74DCK-Br5U8bfD.mjs +102 -0
  56. package/components/chunk-AACKK3MU-DH_MKxca.mjs +17 -0
  57. package/components/chunk-BFAMUDN2-DHLCoYMN.mjs +13 -0
  58. package/components/chunk-E2GYISFI-DQPHyyga.mjs +19 -0
  59. package/components/chunk-OW32GOEJ-CQOSE6Bn.mjs +1924 -0
  60. package/components/chunk-SKB7J2MH-BlwHRDiW.mjs +25 -0
  61. package/components/chunk-SZ463SBG-DEp8buKJ.mjs +1823 -0
  62. package/components/clarity-6uBl6Vpb.mjs +6 -0
  63. package/components/classDiagram-M3E45YP4-D0ySDe-v.mjs +30 -0
  64. package/components/classDiagram-v2-YAWTLIQI-D0ySDe-v.mjs +30 -0
  65. package/components/clojure-COBRmwo8.mjs +14 -0
  66. package/components/clone-CEJtuQzg.mjs +8 -0
  67. package/components/cmake-CDfQILeU.mjs +6 -0
  68. package/components/cobol-BOOIiISO.mjs +13 -0
  69. package/components/coffee-DO_RGoZp.mjs +9 -0
  70. package/components/cpp-DAK8ktHO.mjs +25 -0
  71. package/components/crystal-CBGbbyVp.mjs +19 -0
  72. package/components/cs-h3ksD6-P.mjs +14 -0
  73. package/components/css-BtVcDqlU.mjs +6 -0
  74. package/components/cue-BFSVLV6N.mjs +6 -0
  75. package/components/cypher-Dl2CXoXF.mjs +14 -0
  76. package/components/cytoscape.esm-BojS1z60.mjs +30216 -0
  77. package/components/d-9qSZPw74.mjs +6 -0
  78. package/components/dagre-JOIXM2OF-5zx0JY2T.mjs +705 -0
  79. package/components/dark-plus-DmZ1Dzd4.mjs +3 -0
  80. package/components/dart-CCSsOg9l.mjs +6 -0
  81. package/components/dax-CvsmLV-B.mjs +6 -0
  82. package/components/defaultLocale-DVr69WTU.mjs +202 -0
  83. package/components/diagram-5UYTHUR4-C19nyAKc.mjs +213 -0
  84. package/components/diagram-VMROVX33-DkGwo-hj.mjs +859 -0
  85. package/components/diagram-ZTM2IBQH-CBgHCu9L.mjs +315 -0
  86. package/components/diff-BEdzuHlE.mjs +6 -0
  87. package/components/dockerfile-B3DP334t.mjs +14 -0
  88. package/components/dracula-B8-AVrwI.mjs +3 -0
  89. package/components/dracula-soft-BHeefow7.mjs +3 -0
  90. package/components/dream-maker-CNLQpoF-.mjs +6 -0
  91. package/components/elixir-0rTCSSfp.mjs +11 -0
  92. package/components/elm-BhwiZPvf.mjs +10 -0
  93. package/components/erDiagram-3M52JZNH-cttdAJXW.mjs +1167 -0
  94. package/components/erb-Lra8TlYM.mjs +27 -0
  95. package/components/erlang-D2NNgvtR.mjs +17 -0
  96. package/components/everforest-dark-Cg1xdODP.mjs +3 -0
  97. package/components/everforest-light-BmTD3bxe.mjs +3 -0
  98. package/components/fish-BU5HSdZy.mjs +6 -0
  99. package/components/flowDiagram-KYDEHFYC-9HpsqDdB.mjs +2343 -0
  100. package/components/fs-CdBSddpF.mjs +17 -0
  101. package/components/ganttDiagram-EK5VF46D-8QB3ofs6.mjs +3495 -0
  102. package/components/gdresource-CAbkn6H_.mjs +11 -0
  103. package/components/gdscript-Be_cubqt.mjs +6 -0
  104. package/components/gdshader-BEzE4j_3.mjs +6 -0
  105. package/components/gherkin-xCNF9gh8.mjs +6 -0
  106. package/components/git-commit-PP9xCApN.mjs +9 -0
  107. package/components/git-rebase-DqdGofLo.mjs +9 -0
  108. package/components/gitGraph-ZV4HHKMB-BSmtVGRu.mjs +13 -0
  109. package/components/gitGraphDiagram-GW3U2K7C-DNzc0Vx_.mjs +1225 -0
  110. package/components/github-dark-O22yVQaY.mjs +3 -0
  111. package/components/github-dark-default-DB2Hkvqn.mjs +3 -0
  112. package/components/github-dark-dimmed-CMZ_OfqC.mjs +3 -0
  113. package/components/github-dark-high-contrast-DmxWVmCU.mjs +3 -0
  114. package/components/github-light-BTbR9xVK.mjs +3 -0
  115. package/components/github-light-default-DWEonwFe.mjs +3 -0
  116. package/components/github-light-high-contrast-WJ_cPDts.mjs +3 -0
  117. package/components/glimmer-js-BkPYTyD4.mjs +23 -0
  118. package/components/glsl-CGsiYPcu.mjs +9 -0
  119. package/components/gnuplot-tV8vezdE.mjs +6 -0
  120. package/components/go-CBmVHZBz.mjs +6 -0
  121. package/components/graph-3zJxsO-i.mjs +425 -0
  122. package/components/graphql-D4pgneW3.mjs +15 -0
  123. package/components/groovy-Bn4MhXgW.mjs +6 -0
  124. package/components/gruvbox-dark-hard-C89wZ4s3.mjs +3 -0
  125. package/components/gruvbox-dark-medium-swz85q_b.mjs +3 -0
  126. package/components/gruvbox-dark-soft-BYHBHQJW.mjs +3 -0
  127. package/components/gruvbox-light-hard-DEF_ZxYZ.mjs +3 -0
  128. package/components/gruvbox-light-medium-ziUMnHJx.mjs +3 -0
  129. package/components/gruvbox-light-soft-Cuwp0tsB.mjs +3 -0
  130. package/components/gts-d3WsqAZM.mjs +23 -0
  131. package/components/hack-CwaBuF5l.mjs +13 -0
  132. package/components/haml-gLijj4rW.mjs +11 -0
  133. package/components/hbs-CFi5SpI3.mjs +23 -0
  134. package/components/hcl-axoq0Ycu.mjs +6 -0
  135. package/components/hjson-I7LcauIB.mjs +6 -0
  136. package/components/hlsl-TRzjajlb.mjs +6 -0
  137. package/components/houston-CF_ws8Cq.mjs +3 -0
  138. package/components/hs-DXSGqUFF.mjs +14 -0
  139. package/components/html-CLq-n30c.mjs +11 -0
  140. package/components/html-derivative-C8POX8SL.mjs +9 -0
  141. package/components/http-BYUKZ6kX.mjs +20 -0
  142. package/components/imba-C4923lSV.mjs +6 -0
  143. package/components/index3.mjs +79526 -0
  144. package/components/info-63CPKGFF-C8sYWczU.mjs +13 -0
  145. package/components/infoDiagram-LHK5PUON-C-vFFPTf.mjs +42 -0
  146. package/components/init-ZxktEp_H.mjs +15 -0
  147. package/components/java-BfXh-0uJ.mjs +6 -0
  148. package/components/jinja-html-BmW4v_vu.mjs +11 -0
  149. package/components/jison-C9kAT_Oj.mjs +9 -0
  150. package/components/journeyDiagram-EWQZEKCU-BJrw4-AG.mjs +1262 -0
  151. package/components/js-CN_xSsjU.mjs +14 -0
  152. package/components/json-TjWBGEk1.mjs +6 -0
  153. package/components/json5-DCGCKrmX.mjs +6 -0
  154. package/components/jsonc-DLVLp8id.mjs +6 -0
  155. package/components/jsonl-B-R_pDGg.mjs +6 -0
  156. package/components/jsonnet-Cs8BnnC6.mjs +6 -0
  157. package/components/jssm-D_YBQ_cM.mjs +14 -0
  158. package/components/jsx-BPmvoin2.mjs +6 -0
  159. package/components/julia-C-JjBobP.mjs +19 -0
  160. package/components/kanagawa-dragon-DU8n2NNT.mjs +3 -0
  161. package/components/kanagawa-lotus-Byd0CDet.mjs +3 -0
  162. package/components/kanagawa-wave-DExoagcR.mjs +3 -0
  163. package/components/kanban-definition-ZSS6B67P-BptAnqU-.mjs +1057 -0
  164. package/components/kotlin-BM2ZNTMh.mjs +6 -0
  165. package/components/kusto-D9MF7CZf.mjs +14 -0
  166. package/components/laserwave-DF03wMlf.mjs +3 -0
  167. package/components/latex-BsqkLZB_.mjs +10 -0
  168. package/components/layout-sGZIJplX.mjs +2043 -0
  169. package/components/less-BAzLMJNR.mjs +6 -0
  170. package/components/light-plus-DS08Xg5J.mjs +3 -0
  171. package/components/linear-DqgVh5FN.mjs +336 -0
  172. package/components/liquid-f2VHt0dg.mjs +15 -0
  173. package/components/lisp-DAq1kaby.mjs +6 -0
  174. package/components/logo-D9l7oEJ8.mjs +6 -0
  175. package/components/lua-CH3ttzl_.mjs +9 -0
  176. package/components/makefile-D2qLe7q0.mjs +14 -0
  177. package/components/marko-DwRyI_--.mjs +15 -0
  178. package/components/material-theme-B8B2U48Q.mjs +3 -0
  179. package/components/material-theme-darker-BV0iY_T3.mjs +3 -0
  180. package/components/material-theme-lighter-DrzybSTF.mjs +3 -0
  181. package/components/material-theme-ocean-BRPLVReX.mjs +3 -0
  182. package/components/material-theme-palenight-DSJwsR_D.mjs +3 -0
  183. package/components/matlab-7XHduepk.mjs +6 -0
  184. package/components/md-BIvDPr-W.mjs +14 -0
  185. package/components/mdc-Rx6hWSHn.mjs +16 -0
  186. package/components/mdx-D5wExp-O.mjs +6 -0
  187. package/components/mermaid-CUjtoYEe.mjs +6 -0
  188. package/components/mermaid-parser.core-CH9ryA1K.mjs +16987 -0
  189. package/components/mermaid.core-CAqkCmS1.mjs +20975 -0
  190. package/components/metahuman-broadcasting/src/index.vue.d.ts +3 -3
  191. package/components/min-BngCxx8g.mjs +109 -0
  192. package/components/min-dark-BNaN9fWk.mjs +3 -0
  193. package/components/min-light-CMrjentn.mjs +3 -0
  194. package/components/mindmap-definition-6CBA2TL7-Cp_EeEsh.mjs +5854 -0
  195. package/components/mojo-CrbF881p.mjs +6 -0
  196. package/components/monokai-DelygWXa.mjs +3 -0
  197. package/components/narrat-DOwkIbBe.mjs +14 -0
  198. package/components/nf-DHfvJ2gH.mjs +14 -0
  199. package/components/nginx-B_jWsywZ.mjs +10 -0
  200. package/components/night-owl-DSS199ra.mjs +3 -0
  201. package/components/nim-yzbnZKJd.mjs +22 -0
  202. package/components/nix--3K2gyjg.mjs +6 -0
  203. package/components/nord-CvDbBq5M.mjs +3 -0
  204. package/components/objective-c-DkOBZg1J.mjs +14 -0
  205. package/components/objective-cpp-DEoN9Fe5.mjs +6 -0
  206. package/components/ocaml-B1kfGk9Y.mjs +6 -0
  207. package/components/one-dark-pro-CsMf0BoJ.mjs +3 -0
  208. package/components/one-light-BwwAsfsj.mjs +3 -0
  209. package/components/ordinal-DSZU4PqD.mjs +76 -0
  210. package/components/packet-HUATNLJX-bfFWFja0.mjs +13 -0
  211. package/components/pascal-CU8Kjkr_.mjs +6 -0
  212. package/components/perl-FH6su6vZ.mjs +18 -0
  213. package/components/php-Dnl1TfYH.mjs +20 -0
  214. package/components/pie-WTHONI2E-QPrWs3SR.mjs +13 -0
  215. package/components/pieDiagram-NIOCPIFQ-C46Y_4C6.mjs +248 -0
  216. package/components/plastic-BjwMpBc0.mjs +3 -0
  217. package/components/plsql-B3Na24V4.mjs +6 -0
  218. package/components/poimandres-ChWyhPrn.mjs +3 -0
  219. package/components/postcss-kj1IbjVd.mjs +6 -0
  220. package/components/powerquery-B-e1fO-k.mjs +6 -0
  221. package/components/prisma-bmxcSDxq.mjs +6 -0
  222. package/components/prolog-BT9GCzqD.mjs +6 -0
  223. package/components/properties-D6yKO1eW.mjs +14 -0
  224. package/components/proto-BIXM0k1a.mjs +6 -0
  225. package/components/ps1-aFyNx8UH.mjs +18 -0
  226. package/components/pug-BrOx0bSt.mjs +21 -0
  227. package/components/puppet-N15G4Usj.mjs +6 -0
  228. package/components/purescript-DrwsEYNH.mjs +6 -0
  229. package/components/python-D2s92fRP.mjs +14 -0
  230. package/components/ql-DTm-NCRo.mjs +14 -0
  231. package/components/quadrantDiagram-2OG54O6I-Dgf6d6F_.mjs +1347 -0
  232. package/components/r-oprfD2-9.mjs +6 -0
  233. package/components/radar-NJJJXTRR-BnUCJhQL.mjs +13 -0
  234. package/components/raku-xArQd_rF.mjs +14 -0
  235. package/components/razor-BoXCAbWQ.mjs +13 -0
  236. package/components/red-DByOl5N0.mjs +3 -0
  237. package/components/reg-CULnG2WX.mjs +6 -0
  238. package/components/rel-CHRwzjd4.mjs +6 -0
  239. package/components/requirementDiagram-QOLK2EJ7-CSF6N7HA.mjs +1171 -0
  240. package/components/riscv-BNQ9cVpw.mjs +6 -0
  241. package/components/rose-pine-LL9gXmP2.mjs +3 -0
  242. package/components/rose-pine-dawn-CH9zdisO.mjs +3 -0
  243. package/components/rose-pine-moon-B1oKSfEJ.mjs +3 -0
  244. package/components/rst-bEtD1v7N.mjs +36 -0
  245. package/components/ruby-BmfBy6EV.mjs +44 -0
  246. package/components/rust-Bf_fdNdL.mjs +14 -0
  247. package/components/sankeyDiagram-4UZDY2LN-BAHB7dMS.mjs +1199 -0
  248. package/components/sas-BLBgC3TA.mjs +9 -0
  249. package/components/sass-BheygBdF.mjs +6 -0
  250. package/components/scala-B-_7vFVn.mjs +6 -0
  251. package/components/scheme-BSHdPinv.mjs +6 -0
  252. package/components/scss-Dq-LbI_c.mjs +9 -0
  253. package/components/sender/src/index.vue.d.ts +3 -3
  254. package/components/sequenceDiagram-SKLFT4DO-10gLJ50N.mjs +3422 -0
  255. package/components/shaderlab-BOQRTiQi.mjs +17 -0
  256. package/components/shellsession-Cu3c0QAc.mjs +17 -0
  257. package/components/slack-dark-BEe10hxO.mjs +3 -0
  258. package/components/slack-ochin-BKmu9pBc.mjs +3 -0
  259. package/components/smalltalk-qxcGy4fT.mjs +6 -0
  260. package/components/snazzy-light-Dcvd-ZyI.mjs +3 -0
  261. package/components/solarized-dark-BBl5y5sR.mjs +3 -0
  262. package/components/solarized-light-DW9b_AY8.mjs +3 -0
  263. package/components/solidity-CewKZgp-.mjs +6 -0
  264. package/components/sparql-DswowMAp.mjs +9 -0
  265. package/components/splunk-gK6Iw_P9.mjs +14 -0
  266. package/components/sql-DzUuSofg.mjs +6 -0
  267. package/components/ssh-config-Bk_I5wDR.mjs +6 -0
  268. package/components/stata-Dl7wDdBE.mjs +9 -0
  269. package/components/stateDiagram-MI5ZYTHO-D6p6nCaj.mjs +459 -0
  270. package/components/stateDiagram-v2-5AN5P6BG-DaN5hC-t.mjs +29 -0
  271. package/components/stylus-qRNkxrFU.mjs +14 -0
  272. package/components/svelte-B9qv3vkS.mjs +15 -0
  273. package/components/swift-BRQRsam8.mjs +6 -0
  274. package/components/synthwave-84-CoUef9sh.mjs +3 -0
  275. package/components/system-verilog-BcESSvRn.mjs +6 -0
  276. package/components/table-columns/src/ctx.d.ts +2 -2
  277. package/components/table-columns/src/el-ctx.d.ts +2 -2
  278. package/components/table-columns/src/index.vue.d.ts +4 -4
  279. package/components/tables-v1/src/ctx.d.ts +3 -3
  280. package/components/tables-v1/src/index.vue.d.ts +9 -9
  281. package/components/tables-v1-checkbox/src/ctx.d.ts +3 -3
  282. package/components/tables-v1-checkbox/src/index.vue.d.ts +17 -17
  283. package/components/tasl-DfOr2qHi.mjs +6 -0
  284. package/components/tcl-CTsc4-t7.mjs +6 -0
  285. package/components/tex-CumJx1zu.mjs +9 -0
  286. package/components/text/src/ctx.d.ts +1 -1
  287. package/components/text/src/index.vue.d.ts +1 -1
  288. package/components/timeline-definition-MYPXXCX6-gLqnWxDu.mjs +1234 -0
  289. package/components/tokyo-night-DjtLpAEY.mjs +3 -0
  290. package/components/toml-vHPzWDj6.mjs +6 -0
  291. package/components/treemap-75Q7IDZK-B2atdfMH.mjs +13 -0
  292. package/components/tsx-CmGGo4Hm.mjs +6 -0
  293. package/components/turtle-BnC7StHY.mjs +6 -0
  294. package/components/twig-0XKNpXN1.mjs +35 -0
  295. package/components/typescript-CgxwwAuC.mjs +14 -0
  296. package/components/v-Bmdjo9cy.mjs +6 -0
  297. package/components/vb-DuF6ZenW.mjs +14 -0
  298. package/components/verilog-CCb_iTfF.mjs +6 -0
  299. package/components/vesper-4Q1cEwPL.mjs +3 -0
  300. package/components/vhdl-DMqk4T2s.mjs +6 -0
  301. package/components/vimscript-aKp9YbYm.mjs +18 -0
  302. package/components/vitesse-black-BqNLki8b.mjs +3 -0
  303. package/components/vitesse-dark-jJ32WhwH.mjs +3 -0
  304. package/components/vitesse-light-476zM4e6.mjs +3 -0
  305. package/components/vue-DVNNTw2l.mjs +40 -0
  306. package/components/vue-html-Cr5wciIP.mjs +16 -0
  307. package/components/vyper-DYedWgAE.mjs +14 -0
  308. package/components/wasm-BBh6f151.mjs +6 -0
  309. package/components/wasm-DDgzZJey.mjs +7 -0
  310. package/components/wenyan-BdqozpMZ.mjs +6 -0
  311. package/components/wgsl-Vo-hHVWH.mjs +6 -0
  312. package/components/wolfram-CRmjUoI4.mjs +6 -0
  313. package/components/xml-BMzZeaqs.mjs +9 -0
  314. package/components/xsl-CAhvzxWv.mjs +10 -0
  315. package/components/xychartDiagram-H2YORKM3-Whqa4ezL.mjs +1893 -0
  316. package/components/yml-BhSrWWMS.mjs +14 -0
  317. package/components/zenscript-DFINJL6j.mjs +6 -0
  318. package/components/zig-CS4FMAZp.mjs +6 -0
  319. package/components/zsh-hcK4TBd7.mjs +26 -0
  320. package/index.css +23 -0
  321. package/package.json +4 -1
@@ -0,0 +1,1823 @@
1
+ import { g as getIconStyles } from './chunk-E2GYISFI-DQPHyyga.mjs';
2
+ import { g as getDiagramElement } from './chunk-BFAMUDN2-DHLCoYMN.mjs';
3
+ import { s as setupViewPortForSVG } from './chunk-SKB7J2MH-BlwHRDiW.mjs';
4
+ import { _ as __name, i as sanitizeText, c as getConfig2, a8 as parseGenericTypes, d as select, b as setAccTitle, a as getAccTitle, s as setAccDescription, g as getAccDescription, q as setDiagramTitle, t as getDiagramTitle, k as common_default, z as clear$2, l as log, u as utils_default, y as getEdgeId, p as getRegisteredLayoutAlgorithm, r as render$1 } from './mermaid.core-CAqkCmS1.mjs';
5
+
6
+ var _a, _b;
7
+ var parser = function() {
8
+ var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
9
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
10
+ return o2;
11
+ }, "o"), $V0 = [1, 18], $V1 = [1, 19], $V2 = [1, 20], $V3 = [1, 41], $V4 = [1, 42], $V5 = [1, 26], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 32], $V9 = [1, 33], $Va = [1, 34], $Vb = [1, 45], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 37], $Vf = [1, 38], $Vg = [1, 27], $Vh = [1, 28], $Vi = [1, 29], $Vj = [1, 30], $Vk = [1, 31], $Vl = [1, 44], $Vm = [1, 46], $Vn = [1, 43], $Vo = [1, 47], $Vp = [1, 9], $Vq = [1, 8, 9], $Vr = [1, 58], $Vs = [1, 59], $Vt = [1, 60], $Vu = [1, 61], $Vv = [1, 62], $Vw = [1, 63], $Vx = [1, 64], $Vy = [1, 8, 9, 41], $Vz = [1, 76], $VA = [1, 8, 9, 12, 13, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], $VB = [1, 8, 9, 12, 13, 17, 20, 22, 39, 41, 44, 48, 58, 66, 67, 68, 69, 70, 71, 72, 77, 79, 84, 99, 101, 102], $VC = [13, 58, 84, 99, 101, 102], $VD = [13, 58, 71, 72, 84, 99, 101, 102], $VE = [13, 58, 66, 67, 68, 69, 70, 84, 99, 101, 102], $VF = [1, 98], $VG = [1, 115], $VH = [1, 107], $VI = [1, 113], $VJ = [1, 108], $VK = [1, 109], $VL = [1, 110], $VM = [1, 111], $VN = [1, 112], $VO = [1, 114], $VP = [22, 58, 59, 80, 84, 85, 86, 87, 88, 89], $VQ = [1, 8, 9, 39, 41, 44], $VR = [1, 8, 9, 22], $VS = [1, 143], $VT = [1, 8, 9, 59], $VU = [1, 8, 9, 22, 58, 59, 80, 84, 85, 86, 87, 88, 89];
12
+ var parser2 = {
13
+ trace: /* @__PURE__ */ __name(function trace() {
14
+ }, "trace"),
15
+ yy: {},
16
+ symbols_: { "error": 2, "start": 3, "mermaidDoc": 4, "statements": 5, "graphConfig": 6, "CLASS_DIAGRAM": 7, "NEWLINE": 8, "EOF": 9, "statement": 10, "classLabel": 11, "SQS": 12, "STR": 13, "SQE": 14, "namespaceName": 15, "alphaNumToken": 16, "DOT": 17, "className": 18, "classLiteralName": 19, "GENERICTYPE": 20, "relationStatement": 21, "LABEL": 22, "namespaceStatement": 23, "classStatement": 24, "memberStatement": 25, "annotationStatement": 26, "clickStatement": 27, "styleStatement": 28, "cssClassStatement": 29, "noteStatement": 30, "classDefStatement": 31, "direction": 32, "acc_title": 33, "acc_title_value": 34, "acc_descr": 35, "acc_descr_value": 36, "acc_descr_multiline_value": 37, "namespaceIdentifier": 38, "STRUCT_START": 39, "classStatements": 40, "STRUCT_STOP": 41, "NAMESPACE": 42, "classIdentifier": 43, "STYLE_SEPARATOR": 44, "members": 45, "CLASS": 46, "ANNOTATION_START": 47, "ANNOTATION_END": 48, "MEMBER": 49, "SEPARATOR": 50, "relation": 51, "NOTE_FOR": 52, "noteText": 53, "NOTE": 54, "CLASSDEF": 55, "classList": 56, "stylesOpt": 57, "ALPHA": 58, "COMMA": 59, "direction_tb": 60, "direction_bt": 61, "direction_rl": 62, "direction_lr": 63, "relationType": 64, "lineType": 65, "AGGREGATION": 66, "EXTENSION": 67, "COMPOSITION": 68, "DEPENDENCY": 69, "LOLLIPOP": 70, "LINE": 71, "DOTTED_LINE": 72, "CALLBACK": 73, "LINK": 74, "LINK_TARGET": 75, "CLICK": 76, "CALLBACK_NAME": 77, "CALLBACK_ARGS": 78, "HREF": 79, "STYLE": 80, "CSSCLASS": 81, "style": 82, "styleComponent": 83, "NUM": 84, "COLON": 85, "UNIT": 86, "SPACE": 87, "BRKT": 88, "PCT": 89, "commentToken": 90, "textToken": 91, "graphCodeTokens": 92, "textNoTagsToken": 93, "TAGSTART": 94, "TAGEND": 95, "==": 96, "--": 97, "DEFAULT": 98, "MINUS": 99, "keywords": 100, "UNICODE_TEXT": 101, "BQUOTE_STR": 102, "$accept": 0, "$end": 1 },
17
+ terminals_: { 2: "error", 7: "CLASS_DIAGRAM", 8: "NEWLINE", 9: "EOF", 12: "SQS", 13: "STR", 14: "SQE", 17: "DOT", 20: "GENERICTYPE", 22: "LABEL", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 39: "STRUCT_START", 41: "STRUCT_STOP", 42: "NAMESPACE", 44: "STYLE_SEPARATOR", 46: "CLASS", 47: "ANNOTATION_START", 48: "ANNOTATION_END", 49: "MEMBER", 50: "SEPARATOR", 52: "NOTE_FOR", 54: "NOTE", 55: "CLASSDEF", 58: "ALPHA", 59: "COMMA", 60: "direction_tb", 61: "direction_bt", 62: "direction_rl", 63: "direction_lr", 66: "AGGREGATION", 67: "EXTENSION", 68: "COMPOSITION", 69: "DEPENDENCY", 70: "LOLLIPOP", 71: "LINE", 72: "DOTTED_LINE", 73: "CALLBACK", 74: "LINK", 75: "LINK_TARGET", 76: "CLICK", 77: "CALLBACK_NAME", 78: "CALLBACK_ARGS", 79: "HREF", 80: "STYLE", 81: "CSSCLASS", 84: "NUM", 85: "COLON", 86: "UNIT", 87: "SPACE", 88: "BRKT", 89: "PCT", 92: "graphCodeTokens", 94: "TAGSTART", 95: "TAGEND", 96: "==", 97: "--", 98: "DEFAULT", 99: "MINUS", 100: "keywords", 101: "UNICODE_TEXT", 102: "BQUOTE_STR" },
18
+ productions_: [0, [3, 1], [3, 1], [4, 1], [6, 4], [5, 1], [5, 2], [5, 3], [11, 3], [15, 1], [15, 3], [15, 2], [18, 1], [18, 3], [18, 1], [18, 2], [18, 2], [18, 2], [10, 1], [10, 2], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [23, 4], [23, 5], [38, 2], [40, 1], [40, 2], [40, 3], [24, 1], [24, 3], [24, 4], [24, 6], [43, 2], [43, 3], [26, 4], [45, 1], [45, 2], [25, 1], [25, 2], [25, 1], [25, 1], [21, 3], [21, 4], [21, 4], [21, 5], [30, 3], [30, 2], [31, 3], [56, 1], [56, 3], [32, 1], [32, 1], [32, 1], [32, 1], [51, 3], [51, 2], [51, 2], [51, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [65, 1], [65, 1], [27, 3], [27, 4], [27, 3], [27, 4], [27, 4], [27, 5], [27, 3], [27, 4], [27, 4], [27, 5], [27, 4], [27, 5], [27, 5], [27, 6], [28, 3], [29, 3], [57, 1], [57, 3], [82, 1], [82, 2], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [90, 1], [90, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [93, 1], [93, 1], [93, 1], [93, 1], [16, 1], [16, 1], [16, 1], [16, 1], [19, 1], [53, 1]],
19
+ performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
20
+ var $0 = $$.length - 1;
21
+ switch (yystate) {
22
+ case 8:
23
+ this.$ = $$[$0 - 1];
24
+ break;
25
+ case 9:
26
+ case 12:
27
+ case 14:
28
+ this.$ = $$[$0];
29
+ break;
30
+ case 10:
31
+ case 13:
32
+ this.$ = $$[$0 - 2] + "." + $$[$0];
33
+ break;
34
+ case 11:
35
+ case 15:
36
+ this.$ = $$[$0 - 1] + $$[$0];
37
+ break;
38
+ case 16:
39
+ case 17:
40
+ this.$ = $$[$0 - 1] + "~" + $$[$0] + "~";
41
+ break;
42
+ case 18:
43
+ yy.addRelation($$[$0]);
44
+ break;
45
+ case 19:
46
+ $$[$0 - 1].title = yy.cleanupLabel($$[$0]);
47
+ yy.addRelation($$[$0 - 1]);
48
+ break;
49
+ case 30:
50
+ this.$ = $$[$0].trim();
51
+ yy.setAccTitle(this.$);
52
+ break;
53
+ case 31:
54
+ case 32:
55
+ this.$ = $$[$0].trim();
56
+ yy.setAccDescription(this.$);
57
+ break;
58
+ case 33:
59
+ yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1]);
60
+ break;
61
+ case 34:
62
+ yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1]);
63
+ break;
64
+ case 35:
65
+ this.$ = $$[$0];
66
+ yy.addNamespace($$[$0]);
67
+ break;
68
+ case 36:
69
+ this.$ = [$$[$0]];
70
+ break;
71
+ case 37:
72
+ this.$ = [$$[$0 - 1]];
73
+ break;
74
+ case 38:
75
+ $$[$0].unshift($$[$0 - 2]);
76
+ this.$ = $$[$0];
77
+ break;
78
+ case 40:
79
+ yy.setCssClass($$[$0 - 2], $$[$0]);
80
+ break;
81
+ case 41:
82
+ yy.addMembers($$[$0 - 3], $$[$0 - 1]);
83
+ break;
84
+ case 42:
85
+ yy.setCssClass($$[$0 - 5], $$[$0 - 3]);
86
+ yy.addMembers($$[$0 - 5], $$[$0 - 1]);
87
+ break;
88
+ case 43:
89
+ this.$ = $$[$0];
90
+ yy.addClass($$[$0]);
91
+ break;
92
+ case 44:
93
+ this.$ = $$[$0 - 1];
94
+ yy.addClass($$[$0 - 1]);
95
+ yy.setClassLabel($$[$0 - 1], $$[$0]);
96
+ break;
97
+ case 45:
98
+ yy.addAnnotation($$[$0], $$[$0 - 2]);
99
+ break;
100
+ case 46:
101
+ case 59:
102
+ this.$ = [$$[$0]];
103
+ break;
104
+ case 47:
105
+ $$[$0].push($$[$0 - 1]);
106
+ this.$ = $$[$0];
107
+ break;
108
+ case 48:
109
+ break;
110
+ case 49:
111
+ yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));
112
+ break;
113
+ case 50:
114
+ break;
115
+ case 51:
116
+ break;
117
+ case 52:
118
+ this.$ = { "id1": $$[$0 - 2], "id2": $$[$0], relation: $$[$0 - 1], relationTitle1: "none", relationTitle2: "none" };
119
+ break;
120
+ case 53:
121
+ this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 1], relationTitle1: $$[$0 - 2], relationTitle2: "none" };
122
+ break;
123
+ case 54:
124
+ this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: "none", relationTitle2: $$[$0 - 1] };
125
+ break;
126
+ case 55:
127
+ this.$ = { id1: $$[$0 - 4], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: $$[$0 - 3], relationTitle2: $$[$0 - 1] };
128
+ break;
129
+ case 56:
130
+ yy.addNote($$[$0], $$[$0 - 1]);
131
+ break;
132
+ case 57:
133
+ yy.addNote($$[$0]);
134
+ break;
135
+ case 58:
136
+ this.$ = $$[$0 - 2];
137
+ yy.defineClass($$[$0 - 1], $$[$0]);
138
+ break;
139
+ case 60:
140
+ this.$ = $$[$0 - 2].concat([$$[$0]]);
141
+ break;
142
+ case 61:
143
+ yy.setDirection("TB");
144
+ break;
145
+ case 62:
146
+ yy.setDirection("BT");
147
+ break;
148
+ case 63:
149
+ yy.setDirection("RL");
150
+ break;
151
+ case 64:
152
+ yy.setDirection("LR");
153
+ break;
154
+ case 65:
155
+ this.$ = { type1: $$[$0 - 2], type2: $$[$0], lineType: $$[$0 - 1] };
156
+ break;
157
+ case 66:
158
+ this.$ = { type1: "none", type2: $$[$0], lineType: $$[$0 - 1] };
159
+ break;
160
+ case 67:
161
+ this.$ = { type1: $$[$0 - 1], type2: "none", lineType: $$[$0] };
162
+ break;
163
+ case 68:
164
+ this.$ = { type1: "none", type2: "none", lineType: $$[$0] };
165
+ break;
166
+ case 69:
167
+ this.$ = yy.relationType.AGGREGATION;
168
+ break;
169
+ case 70:
170
+ this.$ = yy.relationType.EXTENSION;
171
+ break;
172
+ case 71:
173
+ this.$ = yy.relationType.COMPOSITION;
174
+ break;
175
+ case 72:
176
+ this.$ = yy.relationType.DEPENDENCY;
177
+ break;
178
+ case 73:
179
+ this.$ = yy.relationType.LOLLIPOP;
180
+ break;
181
+ case 74:
182
+ this.$ = yy.lineType.LINE;
183
+ break;
184
+ case 75:
185
+ this.$ = yy.lineType.DOTTED_LINE;
186
+ break;
187
+ case 76:
188
+ case 82:
189
+ this.$ = $$[$0 - 2];
190
+ yy.setClickEvent($$[$0 - 1], $$[$0]);
191
+ break;
192
+ case 77:
193
+ case 83:
194
+ this.$ = $$[$0 - 3];
195
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);
196
+ yy.setTooltip($$[$0 - 2], $$[$0]);
197
+ break;
198
+ case 78:
199
+ this.$ = $$[$0 - 2];
200
+ yy.setLink($$[$0 - 1], $$[$0]);
201
+ break;
202
+ case 79:
203
+ this.$ = $$[$0 - 3];
204
+ yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
205
+ break;
206
+ case 80:
207
+ this.$ = $$[$0 - 3];
208
+ yy.setLink($$[$0 - 2], $$[$0 - 1]);
209
+ yy.setTooltip($$[$0 - 2], $$[$0]);
210
+ break;
211
+ case 81:
212
+ this.$ = $$[$0 - 4];
213
+ yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
214
+ yy.setTooltip($$[$0 - 3], $$[$0 - 1]);
215
+ break;
216
+ case 84:
217
+ this.$ = $$[$0 - 3];
218
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
219
+ break;
220
+ case 85:
221
+ this.$ = $$[$0 - 4];
222
+ yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);
223
+ yy.setTooltip($$[$0 - 3], $$[$0]);
224
+ break;
225
+ case 86:
226
+ this.$ = $$[$0 - 3];
227
+ yy.setLink($$[$0 - 2], $$[$0]);
228
+ break;
229
+ case 87:
230
+ this.$ = $$[$0 - 4];
231
+ yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);
232
+ break;
233
+ case 88:
234
+ this.$ = $$[$0 - 4];
235
+ yy.setLink($$[$0 - 3], $$[$0 - 1]);
236
+ yy.setTooltip($$[$0 - 3], $$[$0]);
237
+ break;
238
+ case 89:
239
+ this.$ = $$[$0 - 5];
240
+ yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);
241
+ yy.setTooltip($$[$0 - 4], $$[$0 - 1]);
242
+ break;
243
+ case 90:
244
+ this.$ = $$[$0 - 2];
245
+ yy.setCssStyle($$[$0 - 1], $$[$0]);
246
+ break;
247
+ case 91:
248
+ yy.setCssClass($$[$0 - 1], $$[$0]);
249
+ break;
250
+ case 92:
251
+ this.$ = [$$[$0]];
252
+ break;
253
+ case 93:
254
+ $$[$0 - 2].push($$[$0]);
255
+ this.$ = $$[$0 - 2];
256
+ break;
257
+ case 95:
258
+ this.$ = $$[$0 - 1] + $$[$0];
259
+ break;
260
+ }
261
+ }, "anonymous"),
262
+ table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: [1, 6], 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, o($Vp, [2, 5], { 8: [1, 48] }), { 8: [1, 49] }, o($Vq, [2, 18], { 22: [1, 50] }), o($Vq, [2, 20]), o($Vq, [2, 21]), o($Vq, [2, 22]), o($Vq, [2, 23]), o($Vq, [2, 24]), o($Vq, [2, 25]), o($Vq, [2, 26]), o($Vq, [2, 27]), o($Vq, [2, 28]), o($Vq, [2, 29]), { 34: [1, 51] }, { 36: [1, 52] }, o($Vq, [2, 32]), o($Vq, [2, 48], { 51: 53, 64: 56, 65: 57, 13: [1, 54], 22: [1, 55], 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }), { 39: [1, 65] }, o($Vy, [2, 39], { 39: [1, 67], 44: [1, 66] }), o($Vq, [2, 50]), o($Vq, [2, 51]), { 16: 68, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 69, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 70, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 71, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 58: [1, 72] }, { 13: [1, 73] }, { 16: 39, 18: 74, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: $Vz, 53: 75 }, { 56: 77, 58: [1, 78] }, o($Vq, [2, 61]), o($Vq, [2, 62]), o($Vq, [2, 63]), o($Vq, [2, 64]), o($VA, [2, 12], { 16: 39, 19: 40, 18: 80, 17: [1, 79], 20: [1, 81], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), o($VA, [2, 14], { 20: [1, 82] }), { 15: 83, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 85, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VB, [2, 118]), o($VB, [2, 119]), o($VB, [2, 120]), o($VB, [2, 121]), o([1, 8, 9, 12, 13, 20, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], [2, 122]), o($Vp, [2, 6], { 10: 5, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 18: 21, 38: 22, 43: 23, 16: 39, 19: 40, 5: 86, 33: $V0, 35: $V1, 37: $V2, 42: $V3, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), { 5: 87, 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 19]), o($Vq, [2, 30]), o($Vq, [2, 31]), { 13: [1, 89], 16: 39, 18: 88, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 51: 90, 64: 56, 65: 57, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }, o($Vq, [2, 49]), { 65: 91, 71: $Vw, 72: $Vx }, o($VC, [2, 68], { 64: 92, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VD, [2, 69]), o($VD, [2, 70]), o($VD, [2, 71]), o($VD, [2, 72]), o($VD, [2, 73]), o($VE, [2, 74]), o($VE, [2, 75]), { 8: [1, 94], 24: 95, 40: 93, 43: 23, 46: $V4 }, { 16: 96, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 45: 97, 49: $VF }, { 48: [1, 99] }, { 13: [1, 100] }, { 13: [1, 101] }, { 77: [1, 102], 79: [1, 103] }, { 22: $VG, 57: 104, 58: $VH, 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, { 58: [1, 116] }, { 13: $Vz, 53: 117 }, o($Vq, [2, 57]), o($Vq, [2, 123]), { 22: $VG, 57: 118, 58: $VH, 59: [1, 119], 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VP, [2, 59]), { 16: 39, 18: 120, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), { 39: [2, 35] }, { 15: 122, 16: 84, 17: [1, 121], 39: [2, 9], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, o($VQ, [2, 43], { 11: 123, 12: [1, 124] }), o($Vp, [2, 7]), { 9: [1, 125] }, o($VR, [2, 52]), { 16: 39, 18: 126, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: [1, 128], 16: 39, 18: 127, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 67], { 64: 129, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VC, [2, 66]), { 41: [1, 130] }, { 24: 95, 40: 131, 43: 23, 46: $V4 }, { 8: [1, 132], 41: [2, 36] }, o($Vy, [2, 40], { 39: [1, 133] }), { 41: [1, 134] }, { 41: [2, 46], 45: 135, 49: $VF }, { 16: 39, 18: 136, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 76], { 13: [1, 137] }), o($Vq, [2, 78], { 13: [1, 139], 75: [1, 138] }), o($Vq, [2, 82], { 13: [1, 140], 78: [1, 141] }), { 13: [1, 142] }, o($Vq, [2, 90], { 59: $VS }), o($VT, [2, 92], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VU, [2, 94]), o($VU, [2, 96]), o($VU, [2, 97]), o($VU, [2, 98]), o($VU, [2, 99]), o($VU, [2, 100]), o($VU, [2, 101]), o($VU, [2, 102]), o($VU, [2, 103]), o($VU, [2, 104]), o($Vq, [2, 91]), o($Vq, [2, 56]), o($Vq, [2, 58], { 59: $VS }), { 58: [1, 145] }, o($VA, [2, 13]), { 15: 146, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 39: [2, 11] }, o($VQ, [2, 44]), { 13: [1, 147] }, { 1: [2, 4] }, o($VR, [2, 54]), o($VR, [2, 53]), { 16: 39, 18: 148, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 65]), o($Vq, [2, 33]), { 41: [1, 149] }, { 24: 95, 40: 150, 41: [2, 37], 43: 23, 46: $V4 }, { 45: 151, 49: $VF }, o($Vy, [2, 41]), { 41: [2, 47] }, o($Vq, [2, 45]), o($Vq, [2, 77]), o($Vq, [2, 79]), o($Vq, [2, 80], { 75: [1, 152] }), o($Vq, [2, 83]), o($Vq, [2, 84], { 13: [1, 153] }), o($Vq, [2, 86], { 13: [1, 155], 75: [1, 154] }), { 22: $VG, 58: $VH, 80: $VI, 82: 156, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VU, [2, 95]), o($VP, [2, 60]), { 39: [2, 10] }, { 14: [1, 157] }, o($VR, [2, 55]), o($Vq, [2, 34]), { 41: [2, 38] }, { 41: [1, 158] }, o($Vq, [2, 81]), o($Vq, [2, 85]), o($Vq, [2, 87]), o($Vq, [2, 88], { 75: [1, 159] }), o($VT, [2, 93], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VQ, [2, 8]), o($Vy, [2, 42]), o($Vq, [2, 89])],
263
+ defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 3], 83: [2, 35], 122: [2, 11], 125: [2, 4], 135: [2, 47], 146: [2, 10], 150: [2, 38] },
264
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
265
+ if (hash.recoverable) {
266
+ this.trace(str);
267
+ } else {
268
+ var error = new Error(str);
269
+ error.hash = hash;
270
+ throw error;
271
+ }
272
+ }, "parseError"),
273
+ parse: /* @__PURE__ */ __name(function parse(input) {
274
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;
275
+ var args = lstack.slice.call(arguments, 1);
276
+ var lexer2 = Object.create(this.lexer);
277
+ var sharedState = { yy: {} };
278
+ for (var k in this.yy) {
279
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
280
+ sharedState.yy[k] = this.yy[k];
281
+ }
282
+ }
283
+ lexer2.setInput(input, sharedState.yy);
284
+ sharedState.yy.lexer = lexer2;
285
+ sharedState.yy.parser = this;
286
+ if (typeof lexer2.yylloc == "undefined") {
287
+ lexer2.yylloc = {};
288
+ }
289
+ var yyloc = lexer2.yylloc;
290
+ lstack.push(yyloc);
291
+ var ranges = lexer2.options && lexer2.options.ranges;
292
+ if (typeof sharedState.yy.parseError === "function") {
293
+ this.parseError = sharedState.yy.parseError;
294
+ } else {
295
+ this.parseError = Object.getPrototypeOf(this).parseError;
296
+ }
297
+ function popStack(n) {
298
+ stack.length = stack.length - 2 * n;
299
+ vstack.length = vstack.length - n;
300
+ lstack.length = lstack.length - n;
301
+ }
302
+ __name(popStack, "popStack");
303
+ function lex() {
304
+ var token;
305
+ token = tstack.pop() || lexer2.lex() || EOF;
306
+ if (typeof token !== "number") {
307
+ if (token instanceof Array) {
308
+ tstack = token;
309
+ token = tstack.pop();
310
+ }
311
+ token = self.symbols_[token] || token;
312
+ }
313
+ return token;
314
+ }
315
+ __name(lex, "lex");
316
+ var symbol, state, action, r, yyval = {}, p, len, newState, expected;
317
+ while (true) {
318
+ state = stack[stack.length - 1];
319
+ if (this.defaultActions[state]) {
320
+ action = this.defaultActions[state];
321
+ } else {
322
+ if (symbol === null || typeof symbol == "undefined") {
323
+ symbol = lex();
324
+ }
325
+ action = table[state] && table[state][symbol];
326
+ }
327
+ if (typeof action === "undefined" || !action.length || !action[0]) {
328
+ var errStr = "";
329
+ expected = [];
330
+ for (p in table[state]) {
331
+ if (this.terminals_[p] && p > TERROR) {
332
+ expected.push("'" + this.terminals_[p] + "'");
333
+ }
334
+ }
335
+ if (lexer2.showPosition) {
336
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
337
+ } else {
338
+ errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
339
+ }
340
+ this.parseError(errStr, {
341
+ text: lexer2.match,
342
+ token: this.terminals_[symbol] || symbol,
343
+ line: lexer2.yylineno,
344
+ loc: yyloc,
345
+ expected
346
+ });
347
+ }
348
+ if (action[0] instanceof Array && action.length > 1) {
349
+ throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
350
+ }
351
+ switch (action[0]) {
352
+ case 1:
353
+ stack.push(symbol);
354
+ vstack.push(lexer2.yytext);
355
+ lstack.push(lexer2.yylloc);
356
+ stack.push(action[1]);
357
+ symbol = null;
358
+ {
359
+ yyleng = lexer2.yyleng;
360
+ yytext = lexer2.yytext;
361
+ yylineno = lexer2.yylineno;
362
+ yyloc = lexer2.yylloc;
363
+ }
364
+ break;
365
+ case 2:
366
+ len = this.productions_[action[1]][1];
367
+ yyval.$ = vstack[vstack.length - len];
368
+ yyval._$ = {
369
+ first_line: lstack[lstack.length - (len || 1)].first_line,
370
+ last_line: lstack[lstack.length - 1].last_line,
371
+ first_column: lstack[lstack.length - (len || 1)].first_column,
372
+ last_column: lstack[lstack.length - 1].last_column
373
+ };
374
+ if (ranges) {
375
+ yyval._$.range = [
376
+ lstack[lstack.length - (len || 1)].range[0],
377
+ lstack[lstack.length - 1].range[1]
378
+ ];
379
+ }
380
+ r = this.performAction.apply(yyval, [
381
+ yytext,
382
+ yyleng,
383
+ yylineno,
384
+ sharedState.yy,
385
+ action[1],
386
+ vstack,
387
+ lstack
388
+ ].concat(args));
389
+ if (typeof r !== "undefined") {
390
+ return r;
391
+ }
392
+ if (len) {
393
+ stack = stack.slice(0, -1 * len * 2);
394
+ vstack = vstack.slice(0, -1 * len);
395
+ lstack = lstack.slice(0, -1 * len);
396
+ }
397
+ stack.push(this.productions_[action[1]][0]);
398
+ vstack.push(yyval.$);
399
+ lstack.push(yyval._$);
400
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
401
+ stack.push(newState);
402
+ break;
403
+ case 3:
404
+ return true;
405
+ }
406
+ }
407
+ return true;
408
+ }, "parse")
409
+ };
410
+ var lexer = /* @__PURE__ */ function() {
411
+ var lexer2 = {
412
+ EOF: 1,
413
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
414
+ if (this.yy.parser) {
415
+ this.yy.parser.parseError(str, hash);
416
+ } else {
417
+ throw new Error(str);
418
+ }
419
+ }, "parseError"),
420
+ // resets the lexer, sets new input
421
+ setInput: /* @__PURE__ */ __name(function(input, yy) {
422
+ this.yy = yy || this.yy || {};
423
+ this._input = input;
424
+ this._more = this._backtrack = this.done = false;
425
+ this.yylineno = this.yyleng = 0;
426
+ this.yytext = this.matched = this.match = "";
427
+ this.conditionStack = ["INITIAL"];
428
+ this.yylloc = {
429
+ first_line: 1,
430
+ first_column: 0,
431
+ last_line: 1,
432
+ last_column: 0
433
+ };
434
+ if (this.options.ranges) {
435
+ this.yylloc.range = [0, 0];
436
+ }
437
+ this.offset = 0;
438
+ return this;
439
+ }, "setInput"),
440
+ // consumes and returns one char from the input
441
+ input: /* @__PURE__ */ __name(function() {
442
+ var ch = this._input[0];
443
+ this.yytext += ch;
444
+ this.yyleng++;
445
+ this.offset++;
446
+ this.match += ch;
447
+ this.matched += ch;
448
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
449
+ if (lines) {
450
+ this.yylineno++;
451
+ this.yylloc.last_line++;
452
+ } else {
453
+ this.yylloc.last_column++;
454
+ }
455
+ if (this.options.ranges) {
456
+ this.yylloc.range[1]++;
457
+ }
458
+ this._input = this._input.slice(1);
459
+ return ch;
460
+ }, "input"),
461
+ // unshifts one char (or a string) into the input
462
+ unput: /* @__PURE__ */ __name(function(ch) {
463
+ var len = ch.length;
464
+ var lines = ch.split(/(?:\r\n?|\n)/g);
465
+ this._input = ch + this._input;
466
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
467
+ this.offset -= len;
468
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
469
+ this.match = this.match.substr(0, this.match.length - 1);
470
+ this.matched = this.matched.substr(0, this.matched.length - 1);
471
+ if (lines.length - 1) {
472
+ this.yylineno -= lines.length - 1;
473
+ }
474
+ var r = this.yylloc.range;
475
+ this.yylloc = {
476
+ first_line: this.yylloc.first_line,
477
+ last_line: this.yylineno + 1,
478
+ first_column: this.yylloc.first_column,
479
+ last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
480
+ };
481
+ if (this.options.ranges) {
482
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
483
+ }
484
+ this.yyleng = this.yytext.length;
485
+ return this;
486
+ }, "unput"),
487
+ // When called from action, caches matched text and appends it on next action
488
+ more: /* @__PURE__ */ __name(function() {
489
+ this._more = true;
490
+ return this;
491
+ }, "more"),
492
+ // 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.
493
+ reject: /* @__PURE__ */ __name(function() {
494
+ if (this.options.backtrack_lexer) {
495
+ this._backtrack = true;
496
+ } else {
497
+ 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(), {
498
+ text: "",
499
+ token: null,
500
+ line: this.yylineno
501
+ });
502
+ }
503
+ return this;
504
+ }, "reject"),
505
+ // retain first n characters of the match
506
+ less: /* @__PURE__ */ __name(function(n) {
507
+ this.unput(this.match.slice(n));
508
+ }, "less"),
509
+ // displays already matched input, i.e. for error messages
510
+ pastInput: /* @__PURE__ */ __name(function() {
511
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
512
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
513
+ }, "pastInput"),
514
+ // displays upcoming input, i.e. for error messages
515
+ upcomingInput: /* @__PURE__ */ __name(function() {
516
+ var next = this.match;
517
+ if (next.length < 20) {
518
+ next += this._input.substr(0, 20 - next.length);
519
+ }
520
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
521
+ }, "upcomingInput"),
522
+ // displays the character position where the lexing error occurred, i.e. for error messages
523
+ showPosition: /* @__PURE__ */ __name(function() {
524
+ var pre = this.pastInput();
525
+ var c = new Array(pre.length + 1).join("-");
526
+ return pre + this.upcomingInput() + "\n" + c + "^";
527
+ }, "showPosition"),
528
+ // test the lexed token: return FALSE when not a match, otherwise return token
529
+ test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
530
+ var token, lines, backup;
531
+ if (this.options.backtrack_lexer) {
532
+ backup = {
533
+ yylineno: this.yylineno,
534
+ yylloc: {
535
+ first_line: this.yylloc.first_line,
536
+ last_line: this.last_line,
537
+ first_column: this.yylloc.first_column,
538
+ last_column: this.yylloc.last_column
539
+ },
540
+ yytext: this.yytext,
541
+ match: this.match,
542
+ matches: this.matches,
543
+ matched: this.matched,
544
+ yyleng: this.yyleng,
545
+ offset: this.offset,
546
+ _more: this._more,
547
+ _input: this._input,
548
+ yy: this.yy,
549
+ conditionStack: this.conditionStack.slice(0),
550
+ done: this.done
551
+ };
552
+ if (this.options.ranges) {
553
+ backup.yylloc.range = this.yylloc.range.slice(0);
554
+ }
555
+ }
556
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
557
+ if (lines) {
558
+ this.yylineno += lines.length;
559
+ }
560
+ this.yylloc = {
561
+ first_line: this.yylloc.last_line,
562
+ last_line: this.yylineno + 1,
563
+ first_column: this.yylloc.last_column,
564
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
565
+ };
566
+ this.yytext += match[0];
567
+ this.match += match[0];
568
+ this.matches = match;
569
+ this.yyleng = this.yytext.length;
570
+ if (this.options.ranges) {
571
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
572
+ }
573
+ this._more = false;
574
+ this._backtrack = false;
575
+ this._input = this._input.slice(match[0].length);
576
+ this.matched += match[0];
577
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
578
+ if (this.done && this._input) {
579
+ this.done = false;
580
+ }
581
+ if (token) {
582
+ return token;
583
+ } else if (this._backtrack) {
584
+ for (var k in backup) {
585
+ this[k] = backup[k];
586
+ }
587
+ return false;
588
+ }
589
+ return false;
590
+ }, "test_match"),
591
+ // return next match in input
592
+ next: /* @__PURE__ */ __name(function() {
593
+ if (this.done) {
594
+ return this.EOF;
595
+ }
596
+ if (!this._input) {
597
+ this.done = true;
598
+ }
599
+ var token, match, tempMatch, index;
600
+ if (!this._more) {
601
+ this.yytext = "";
602
+ this.match = "";
603
+ }
604
+ var rules = this._currentRules();
605
+ for (var i = 0; i < rules.length; i++) {
606
+ tempMatch = this._input.match(this.rules[rules[i]]);
607
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
608
+ match = tempMatch;
609
+ index = i;
610
+ if (this.options.backtrack_lexer) {
611
+ token = this.test_match(tempMatch, rules[i]);
612
+ if (token !== false) {
613
+ return token;
614
+ } else if (this._backtrack) {
615
+ match = false;
616
+ continue;
617
+ } else {
618
+ return false;
619
+ }
620
+ } else if (!this.options.flex) {
621
+ break;
622
+ }
623
+ }
624
+ }
625
+ if (match) {
626
+ token = this.test_match(match, rules[index]);
627
+ if (token !== false) {
628
+ return token;
629
+ }
630
+ return false;
631
+ }
632
+ if (this._input === "") {
633
+ return this.EOF;
634
+ } else {
635
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
636
+ text: "",
637
+ token: null,
638
+ line: this.yylineno
639
+ });
640
+ }
641
+ }, "next"),
642
+ // return next match that has a token
643
+ lex: /* @__PURE__ */ __name(function lex() {
644
+ var r = this.next();
645
+ if (r) {
646
+ return r;
647
+ } else {
648
+ return this.lex();
649
+ }
650
+ }, "lex"),
651
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
652
+ begin: /* @__PURE__ */ __name(function begin(condition) {
653
+ this.conditionStack.push(condition);
654
+ }, "begin"),
655
+ // pop the previously active lexer condition state off the condition stack
656
+ popState: /* @__PURE__ */ __name(function popState() {
657
+ var n = this.conditionStack.length - 1;
658
+ if (n > 0) {
659
+ return this.conditionStack.pop();
660
+ } else {
661
+ return this.conditionStack[0];
662
+ }
663
+ }, "popState"),
664
+ // produce the lexer rule set which is active for the currently active lexer condition state
665
+ _currentRules: /* @__PURE__ */ __name(function _currentRules() {
666
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
667
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
668
+ } else {
669
+ return this.conditions["INITIAL"].rules;
670
+ }
671
+ }, "_currentRules"),
672
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
673
+ topState: /* @__PURE__ */ __name(function topState(n) {
674
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
675
+ if (n >= 0) {
676
+ return this.conditionStack[n];
677
+ } else {
678
+ return "INITIAL";
679
+ }
680
+ }, "topState"),
681
+ // alias for begin(condition)
682
+ pushState: /* @__PURE__ */ __name(function pushState(condition) {
683
+ this.begin(condition);
684
+ }, "pushState"),
685
+ // return the number of states currently on the stack
686
+ stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
687
+ return this.conditionStack.length;
688
+ }, "stateStackSize"),
689
+ options: {},
690
+ performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
691
+ switch ($avoiding_name_collisions) {
692
+ case 0:
693
+ return 60;
694
+ case 1:
695
+ return 61;
696
+ case 2:
697
+ return 62;
698
+ case 3:
699
+ return 63;
700
+ case 4:
701
+ break;
702
+ case 5:
703
+ break;
704
+ case 6:
705
+ this.begin("acc_title");
706
+ return 33;
707
+ case 7:
708
+ this.popState();
709
+ return "acc_title_value";
710
+ case 8:
711
+ this.begin("acc_descr");
712
+ return 35;
713
+ case 9:
714
+ this.popState();
715
+ return "acc_descr_value";
716
+ case 10:
717
+ this.begin("acc_descr_multiline");
718
+ break;
719
+ case 11:
720
+ this.popState();
721
+ break;
722
+ case 12:
723
+ return "acc_descr_multiline_value";
724
+ case 13:
725
+ return 8;
726
+ case 14:
727
+ break;
728
+ case 15:
729
+ return 7;
730
+ case 16:
731
+ return 7;
732
+ case 17:
733
+ return "EDGE_STATE";
734
+ case 18:
735
+ this.begin("callback_name");
736
+ break;
737
+ case 19:
738
+ this.popState();
739
+ break;
740
+ case 20:
741
+ this.popState();
742
+ this.begin("callback_args");
743
+ break;
744
+ case 21:
745
+ return 77;
746
+ case 22:
747
+ this.popState();
748
+ break;
749
+ case 23:
750
+ return 78;
751
+ case 24:
752
+ this.popState();
753
+ break;
754
+ case 25:
755
+ return "STR";
756
+ case 26:
757
+ this.begin("string");
758
+ break;
759
+ case 27:
760
+ return 80;
761
+ case 28:
762
+ return 55;
763
+ case 29:
764
+ this.begin("namespace");
765
+ return 42;
766
+ case 30:
767
+ this.popState();
768
+ return 8;
769
+ case 31:
770
+ break;
771
+ case 32:
772
+ this.begin("namespace-body");
773
+ return 39;
774
+ case 33:
775
+ this.popState();
776
+ return 41;
777
+ case 34:
778
+ return "EOF_IN_STRUCT";
779
+ case 35:
780
+ return 8;
781
+ case 36:
782
+ break;
783
+ case 37:
784
+ return "EDGE_STATE";
785
+ case 38:
786
+ this.begin("class");
787
+ return 46;
788
+ case 39:
789
+ this.popState();
790
+ return 8;
791
+ case 40:
792
+ break;
793
+ case 41:
794
+ this.popState();
795
+ this.popState();
796
+ return 41;
797
+ case 42:
798
+ this.begin("class-body");
799
+ return 39;
800
+ case 43:
801
+ this.popState();
802
+ return 41;
803
+ case 44:
804
+ return "EOF_IN_STRUCT";
805
+ case 45:
806
+ return "EDGE_STATE";
807
+ case 46:
808
+ return "OPEN_IN_STRUCT";
809
+ case 47:
810
+ break;
811
+ case 48:
812
+ return "MEMBER";
813
+ case 49:
814
+ return 81;
815
+ case 50:
816
+ return 73;
817
+ case 51:
818
+ return 74;
819
+ case 52:
820
+ return 76;
821
+ case 53:
822
+ return 52;
823
+ case 54:
824
+ return 54;
825
+ case 55:
826
+ return 47;
827
+ case 56:
828
+ return 48;
829
+ case 57:
830
+ return 79;
831
+ case 58:
832
+ this.popState();
833
+ break;
834
+ case 59:
835
+ return "GENERICTYPE";
836
+ case 60:
837
+ this.begin("generic");
838
+ break;
839
+ case 61:
840
+ this.popState();
841
+ break;
842
+ case 62:
843
+ return "BQUOTE_STR";
844
+ case 63:
845
+ this.begin("bqstring");
846
+ break;
847
+ case 64:
848
+ return 75;
849
+ case 65:
850
+ return 75;
851
+ case 66:
852
+ return 75;
853
+ case 67:
854
+ return 75;
855
+ case 68:
856
+ return 67;
857
+ case 69:
858
+ return 67;
859
+ case 70:
860
+ return 69;
861
+ case 71:
862
+ return 69;
863
+ case 72:
864
+ return 68;
865
+ case 73:
866
+ return 66;
867
+ case 74:
868
+ return 70;
869
+ case 75:
870
+ return 71;
871
+ case 76:
872
+ return 72;
873
+ case 77:
874
+ return 22;
875
+ case 78:
876
+ return 44;
877
+ case 79:
878
+ return 99;
879
+ case 80:
880
+ return 17;
881
+ case 81:
882
+ return "PLUS";
883
+ case 82:
884
+ return 85;
885
+ case 83:
886
+ return 59;
887
+ case 84:
888
+ return 88;
889
+ case 85:
890
+ return 88;
891
+ case 86:
892
+ return 89;
893
+ case 87:
894
+ return "EQUALS";
895
+ case 88:
896
+ return "EQUALS";
897
+ case 89:
898
+ return 58;
899
+ case 90:
900
+ return 12;
901
+ case 91:
902
+ return 14;
903
+ case 92:
904
+ return "PUNCTUATION";
905
+ case 93:
906
+ return 84;
907
+ case 94:
908
+ return 101;
909
+ case 95:
910
+ return 87;
911
+ case 96:
912
+ return 87;
913
+ case 97:
914
+ return 9;
915
+ }
916
+ }, "anonymous"),
917
+ rules: [/^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:classDiagram-v2\b)/, /^(?:classDiagram\b)/, /^(?:\[\*\])/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:["])/, /^(?:[^"]*)/, /^(?:["])/, /^(?:style\b)/, /^(?:classDef\b)/, /^(?:namespace\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:\[\*\])/, /^(?:class\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\[\*\])/, /^(?:[{])/, /^(?:[\n])/, /^(?:[^{}\n]*)/, /^(?:cssClass\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:click\b)/, /^(?:note for\b)/, /^(?:note\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href\b)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:~)/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:\s*\(\))/, /^(?:--)/, /^(?:\.\.)/, /^(?::{1}[^:\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?::)/, /^(?:,)/, /^(?:#)/, /^(?:#)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:\[)/, /^(?:\])/, /^(?:[!"#$%&'*+,-.`?\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:\s)/, /^(?:$)/],
918
+ conditions: { "namespace-body": { "rules": [26, 33, 34, 35, 36, 37, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "namespace": { "rules": [26, 29, 30, 31, 32, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "class-body": { "rules": [26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "class": { "rules": [26, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_descr_multiline": { "rules": [11, 12, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_descr": { "rules": [9, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "acc_title": { "rules": [7, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "callback_args": { "rules": [22, 23, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "callback_name": { "rules": [19, 20, 21, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "href": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "struct": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "generic": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "bqstring": { "rules": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "string": { "rules": [24, 25, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 29, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": true } }
919
+ };
920
+ return lexer2;
921
+ }();
922
+ parser2.lexer = lexer;
923
+ function Parser() {
924
+ this.yy = {};
925
+ }
926
+ __name(Parser, "Parser");
927
+ Parser.prototype = parser2;
928
+ parser2.Parser = Parser;
929
+ return new Parser();
930
+ }();
931
+ parser.parser = parser;
932
+ var classDiagram_default = parser;
933
+ var visibilityValues = ["#", "+", "~", "-", ""];
934
+ var ClassMember = (_a = class {
935
+ constructor(input, memberType) {
936
+ this.memberType = memberType;
937
+ this.visibility = "";
938
+ this.classifier = "";
939
+ this.text = "";
940
+ const sanitizedInput = sanitizeText(input, getConfig2());
941
+ this.parseMember(sanitizedInput);
942
+ }
943
+ getDisplayDetails() {
944
+ let displayText = this.visibility + parseGenericTypes(this.id);
945
+ if (this.memberType === "method") {
946
+ displayText += `(${parseGenericTypes(this.parameters.trim())})`;
947
+ if (this.returnType) {
948
+ displayText += " : " + parseGenericTypes(this.returnType);
949
+ }
950
+ }
951
+ displayText = displayText.trim();
952
+ const cssStyle = this.parseClassifier();
953
+ return {
954
+ displayText,
955
+ cssStyle
956
+ };
957
+ }
958
+ parseMember(input) {
959
+ let potentialClassifier = "";
960
+ if (this.memberType === "method") {
961
+ const methodRegEx = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/;
962
+ const match = methodRegEx.exec(input);
963
+ if (match) {
964
+ const detectedVisibility = match[1] ? match[1].trim() : "";
965
+ if (visibilityValues.includes(detectedVisibility)) {
966
+ this.visibility = detectedVisibility;
967
+ }
968
+ this.id = match[2];
969
+ this.parameters = match[3] ? match[3].trim() : "";
970
+ potentialClassifier = match[4] ? match[4].trim() : "";
971
+ this.returnType = match[5] ? match[5].trim() : "";
972
+ if (potentialClassifier === "") {
973
+ const lastChar = this.returnType.substring(this.returnType.length - 1);
974
+ if (/[$*]/.exec(lastChar)) {
975
+ potentialClassifier = lastChar;
976
+ this.returnType = this.returnType.substring(0, this.returnType.length - 1);
977
+ }
978
+ }
979
+ }
980
+ } else {
981
+ const length = input.length;
982
+ const firstChar = input.substring(0, 1);
983
+ const lastChar = input.substring(length - 1);
984
+ if (visibilityValues.includes(firstChar)) {
985
+ this.visibility = firstChar;
986
+ }
987
+ if (/[$*]/.exec(lastChar)) {
988
+ potentialClassifier = lastChar;
989
+ }
990
+ this.id = input.substring(
991
+ this.visibility === "" ? 0 : 1,
992
+ potentialClassifier === "" ? length : length - 1
993
+ );
994
+ }
995
+ this.classifier = potentialClassifier;
996
+ this.id = this.id.startsWith(" ") ? " " + this.id.trim() : this.id.trim();
997
+ const combinedText = `${this.visibility ? "\\" + this.visibility : ""}${parseGenericTypes(this.id)}${this.memberType === "method" ? `(${parseGenericTypes(this.parameters)})${this.returnType ? " : " + parseGenericTypes(this.returnType) : ""}` : ""}`;
998
+ this.text = combinedText.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
999
+ if (this.text.startsWith("\\&lt;")) {
1000
+ this.text = this.text.replace("\\&lt;", "~");
1001
+ }
1002
+ }
1003
+ parseClassifier() {
1004
+ switch (this.classifier) {
1005
+ case "*":
1006
+ return "font-style:italic;";
1007
+ case "$":
1008
+ return "text-decoration:underline;";
1009
+ default:
1010
+ return "";
1011
+ }
1012
+ }
1013
+ }, __name(_a, "ClassMember"), _a);
1014
+ var MERMAID_DOM_ID_PREFIX = "classId-";
1015
+ var classCounter = 0;
1016
+ var sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, getConfig2()), "sanitizeText");
1017
+ var ClassDB = (_b = class {
1018
+ constructor() {
1019
+ this.relations = [];
1020
+ this.classes = /* @__PURE__ */ new Map();
1021
+ this.styleClasses = /* @__PURE__ */ new Map();
1022
+ this.notes = [];
1023
+ this.interfaces = [];
1024
+ this.namespaces = /* @__PURE__ */ new Map();
1025
+ this.namespaceCounter = 0;
1026
+ this.functions = [];
1027
+ this.lineType = {
1028
+ LINE: 0,
1029
+ DOTTED_LINE: 1
1030
+ };
1031
+ this.relationType = {
1032
+ AGGREGATION: 0,
1033
+ EXTENSION: 1,
1034
+ COMPOSITION: 2,
1035
+ DEPENDENCY: 3,
1036
+ LOLLIPOP: 4
1037
+ };
1038
+ this.setupToolTips = /* @__PURE__ */ __name((element) => {
1039
+ let tooltipElem = select(".mermaidTooltip");
1040
+ if ((tooltipElem._groups || tooltipElem)[0][0] === null) {
1041
+ tooltipElem = select("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0);
1042
+ }
1043
+ const svg = select(element).select("svg");
1044
+ const nodes = svg.selectAll("g.node");
1045
+ nodes.on("mouseover", (event) => {
1046
+ const el = select(event.currentTarget);
1047
+ const title = el.attr("title");
1048
+ if (title === null) {
1049
+ return;
1050
+ }
1051
+ const rect = this.getBoundingClientRect();
1052
+ tooltipElem.transition().duration(200).style("opacity", ".9");
1053
+ tooltipElem.text(el.attr("title")).style("left", window.scrollX + rect.left + (rect.right - rect.left) / 2 + "px").style("top", window.scrollY + rect.top - 14 + document.body.scrollTop + "px");
1054
+ tooltipElem.html(tooltipElem.html().replace(/&lt;br\/&gt;/g, "<br/>"));
1055
+ el.classed("hover", true);
1056
+ }).on("mouseout", (event) => {
1057
+ tooltipElem.transition().duration(500).style("opacity", 0);
1058
+ const el = select(event.currentTarget);
1059
+ el.classed("hover", false);
1060
+ });
1061
+ }, "setupToolTips");
1062
+ this.direction = "TB";
1063
+ this.setAccTitle = setAccTitle;
1064
+ this.getAccTitle = getAccTitle;
1065
+ this.setAccDescription = setAccDescription;
1066
+ this.getAccDescription = getAccDescription;
1067
+ this.setDiagramTitle = setDiagramTitle;
1068
+ this.getDiagramTitle = getDiagramTitle;
1069
+ this.getConfig = /* @__PURE__ */ __name(() => getConfig2().class, "getConfig");
1070
+ this.functions.push(this.setupToolTips.bind(this));
1071
+ this.clear();
1072
+ this.addRelation = this.addRelation.bind(this);
1073
+ this.addClassesToNamespace = this.addClassesToNamespace.bind(this);
1074
+ this.addNamespace = this.addNamespace.bind(this);
1075
+ this.setCssClass = this.setCssClass.bind(this);
1076
+ this.addMembers = this.addMembers.bind(this);
1077
+ this.addClass = this.addClass.bind(this);
1078
+ this.setClassLabel = this.setClassLabel.bind(this);
1079
+ this.addAnnotation = this.addAnnotation.bind(this);
1080
+ this.addMember = this.addMember.bind(this);
1081
+ this.cleanupLabel = this.cleanupLabel.bind(this);
1082
+ this.addNote = this.addNote.bind(this);
1083
+ this.defineClass = this.defineClass.bind(this);
1084
+ this.setDirection = this.setDirection.bind(this);
1085
+ this.setLink = this.setLink.bind(this);
1086
+ this.bindFunctions = this.bindFunctions.bind(this);
1087
+ this.clear = this.clear.bind(this);
1088
+ this.setTooltip = this.setTooltip.bind(this);
1089
+ this.setClickEvent = this.setClickEvent.bind(this);
1090
+ this.setCssStyle = this.setCssStyle.bind(this);
1091
+ }
1092
+ splitClassNameAndType(_id) {
1093
+ const id = common_default.sanitizeText(_id, getConfig2());
1094
+ let genericType = "";
1095
+ let className = id;
1096
+ if (id.indexOf("~") > 0) {
1097
+ const split = id.split("~");
1098
+ className = sanitizeText2(split[0]);
1099
+ genericType = sanitizeText2(split[1]);
1100
+ }
1101
+ return { className, type: genericType };
1102
+ }
1103
+ setClassLabel(_id, label) {
1104
+ const id = common_default.sanitizeText(_id, getConfig2());
1105
+ if (label) {
1106
+ label = sanitizeText2(label);
1107
+ }
1108
+ const { className } = this.splitClassNameAndType(id);
1109
+ this.classes.get(className).label = label;
1110
+ this.classes.get(className).text = `${label}${this.classes.get(className).type ? `<${this.classes.get(className).type}>` : ""}`;
1111
+ }
1112
+ /**
1113
+ * Function called by parser when a node definition has been found.
1114
+ *
1115
+ * @param id - ID of the class to add
1116
+ * @public
1117
+ */
1118
+ addClass(_id) {
1119
+ const id = common_default.sanitizeText(_id, getConfig2());
1120
+ const { className, type } = this.splitClassNameAndType(id);
1121
+ if (this.classes.has(className)) {
1122
+ return;
1123
+ }
1124
+ const name = common_default.sanitizeText(className, getConfig2());
1125
+ this.classes.set(name, {
1126
+ id: name,
1127
+ type,
1128
+ label: name,
1129
+ text: `${name}${type ? `&lt;${type}&gt;` : ""}`,
1130
+ shape: "classBox",
1131
+ cssClasses: "default",
1132
+ methods: [],
1133
+ members: [],
1134
+ annotations: [],
1135
+ styles: [],
1136
+ domId: MERMAID_DOM_ID_PREFIX + name + "-" + classCounter
1137
+ });
1138
+ classCounter++;
1139
+ }
1140
+ addInterface(label, classId) {
1141
+ const classInterface = {
1142
+ id: `interface${this.interfaces.length}`,
1143
+ label,
1144
+ classId
1145
+ };
1146
+ this.interfaces.push(classInterface);
1147
+ }
1148
+ /**
1149
+ * Function to lookup domId from id in the graph definition.
1150
+ *
1151
+ * @param id - class ID to lookup
1152
+ * @public
1153
+ */
1154
+ lookUpDomId(_id) {
1155
+ const id = common_default.sanitizeText(_id, getConfig2());
1156
+ if (this.classes.has(id)) {
1157
+ return this.classes.get(id).domId;
1158
+ }
1159
+ throw new Error("Class not found: " + id);
1160
+ }
1161
+ clear() {
1162
+ this.relations = [];
1163
+ this.classes = /* @__PURE__ */ new Map();
1164
+ this.notes = [];
1165
+ this.interfaces = [];
1166
+ this.functions = [];
1167
+ this.functions.push(this.setupToolTips.bind(this));
1168
+ this.namespaces = /* @__PURE__ */ new Map();
1169
+ this.namespaceCounter = 0;
1170
+ this.direction = "TB";
1171
+ clear$2();
1172
+ }
1173
+ getClass(id) {
1174
+ return this.classes.get(id);
1175
+ }
1176
+ getClasses() {
1177
+ return this.classes;
1178
+ }
1179
+ getRelations() {
1180
+ return this.relations;
1181
+ }
1182
+ getNotes() {
1183
+ return this.notes;
1184
+ }
1185
+ addRelation(classRelation) {
1186
+ log.debug("Adding relation: " + JSON.stringify(classRelation));
1187
+ const invalidTypes = [
1188
+ this.relationType.LOLLIPOP,
1189
+ this.relationType.AGGREGATION,
1190
+ this.relationType.COMPOSITION,
1191
+ this.relationType.DEPENDENCY,
1192
+ this.relationType.EXTENSION
1193
+ ];
1194
+ if (classRelation.relation.type1 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type2)) {
1195
+ this.addClass(classRelation.id2);
1196
+ this.addInterface(classRelation.id1, classRelation.id2);
1197
+ classRelation.id1 = `interface${this.interfaces.length - 1}`;
1198
+ } else if (classRelation.relation.type2 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type1)) {
1199
+ this.addClass(classRelation.id1);
1200
+ this.addInterface(classRelation.id2, classRelation.id1);
1201
+ classRelation.id2 = `interface${this.interfaces.length - 1}`;
1202
+ } else {
1203
+ this.addClass(classRelation.id1);
1204
+ this.addClass(classRelation.id2);
1205
+ }
1206
+ classRelation.id1 = this.splitClassNameAndType(classRelation.id1).className;
1207
+ classRelation.id2 = this.splitClassNameAndType(classRelation.id2).className;
1208
+ classRelation.relationTitle1 = common_default.sanitizeText(
1209
+ classRelation.relationTitle1.trim(),
1210
+ getConfig2()
1211
+ );
1212
+ classRelation.relationTitle2 = common_default.sanitizeText(
1213
+ classRelation.relationTitle2.trim(),
1214
+ getConfig2()
1215
+ );
1216
+ this.relations.push(classRelation);
1217
+ }
1218
+ /**
1219
+ * Adds an annotation to the specified class Annotations mark special properties of the given type
1220
+ * (like 'interface' or 'service')
1221
+ *
1222
+ * @param className - The class name
1223
+ * @param annotation - The name of the annotation without any brackets
1224
+ * @public
1225
+ */
1226
+ addAnnotation(className, annotation) {
1227
+ const validatedClassName = this.splitClassNameAndType(className).className;
1228
+ this.classes.get(validatedClassName).annotations.push(annotation);
1229
+ }
1230
+ /**
1231
+ * Adds a member to the specified class
1232
+ *
1233
+ * @param className - The class name
1234
+ * @param member - The full name of the member. If the member is enclosed in `<<brackets>>` it is
1235
+ * treated as an annotation If the member is ending with a closing bracket ) it is treated as a
1236
+ * method Otherwise the member will be treated as a normal property
1237
+ * @public
1238
+ */
1239
+ addMember(className, member) {
1240
+ this.addClass(className);
1241
+ const validatedClassName = this.splitClassNameAndType(className).className;
1242
+ const theClass = this.classes.get(validatedClassName);
1243
+ if (typeof member === "string") {
1244
+ const memberString = member.trim();
1245
+ if (memberString.startsWith("<<") && memberString.endsWith(">>")) {
1246
+ theClass.annotations.push(sanitizeText2(memberString.substring(2, memberString.length - 2)));
1247
+ } else if (memberString.indexOf(")") > 0) {
1248
+ theClass.methods.push(new ClassMember(memberString, "method"));
1249
+ } else if (memberString) {
1250
+ theClass.members.push(new ClassMember(memberString, "attribute"));
1251
+ }
1252
+ }
1253
+ }
1254
+ addMembers(className, members) {
1255
+ if (Array.isArray(members)) {
1256
+ members.reverse();
1257
+ members.forEach((member) => this.addMember(className, member));
1258
+ }
1259
+ }
1260
+ addNote(text, className) {
1261
+ const note = {
1262
+ id: `note${this.notes.length}`,
1263
+ class: className,
1264
+ text
1265
+ };
1266
+ this.notes.push(note);
1267
+ }
1268
+ cleanupLabel(label) {
1269
+ if (label.startsWith(":")) {
1270
+ label = label.substring(1);
1271
+ }
1272
+ return sanitizeText2(label.trim());
1273
+ }
1274
+ /**
1275
+ * Called by parser when assigning cssClass to a class
1276
+ *
1277
+ * @param ids - Comma separated list of ids
1278
+ * @param className - Class to add
1279
+ */
1280
+ setCssClass(ids, className) {
1281
+ ids.split(",").forEach((_id) => {
1282
+ let id = _id;
1283
+ if (/\d/.exec(_id[0])) {
1284
+ id = MERMAID_DOM_ID_PREFIX + id;
1285
+ }
1286
+ const classNode = this.classes.get(id);
1287
+ if (classNode) {
1288
+ classNode.cssClasses += " " + className;
1289
+ }
1290
+ });
1291
+ }
1292
+ defineClass(ids, style) {
1293
+ for (const id of ids) {
1294
+ let styleClass = this.styleClasses.get(id);
1295
+ if (styleClass === void 0) {
1296
+ styleClass = { id, styles: [], textStyles: [] };
1297
+ this.styleClasses.set(id, styleClass);
1298
+ }
1299
+ if (style) {
1300
+ style.forEach((s) => {
1301
+ if (/color/.exec(s)) {
1302
+ const newStyle = s.replace("fill", "bgFill");
1303
+ styleClass.textStyles.push(newStyle);
1304
+ }
1305
+ styleClass.styles.push(s);
1306
+ });
1307
+ }
1308
+ this.classes.forEach((value) => {
1309
+ if (value.cssClasses.includes(id)) {
1310
+ value.styles.push(...style.flatMap((s) => s.split(",")));
1311
+ }
1312
+ });
1313
+ }
1314
+ }
1315
+ /**
1316
+ * Called by parser when a tooltip is found, e.g. a clickable element.
1317
+ *
1318
+ * @param ids - Comma separated list of ids
1319
+ * @param tooltip - Tooltip to add
1320
+ */
1321
+ setTooltip(ids, tooltip) {
1322
+ ids.split(",").forEach((id) => {
1323
+ if (tooltip !== void 0) {
1324
+ this.classes.get(id).tooltip = sanitizeText2(tooltip);
1325
+ }
1326
+ });
1327
+ }
1328
+ getTooltip(id, namespace) {
1329
+ if (namespace && this.namespaces.has(namespace)) {
1330
+ return this.namespaces.get(namespace).classes.get(id).tooltip;
1331
+ }
1332
+ return this.classes.get(id).tooltip;
1333
+ }
1334
+ /**
1335
+ * Called by parser when a link is found. Adds the URL to the vertex data.
1336
+ *
1337
+ * @param ids - Comma separated list of ids
1338
+ * @param linkStr - URL to create a link for
1339
+ * @param target - Target of the link, _blank by default as originally defined in the svgDraw.js file
1340
+ */
1341
+ setLink(ids, linkStr, target) {
1342
+ const config = getConfig2();
1343
+ ids.split(",").forEach((_id) => {
1344
+ let id = _id;
1345
+ if (/\d/.exec(_id[0])) {
1346
+ id = MERMAID_DOM_ID_PREFIX + id;
1347
+ }
1348
+ const theClass = this.classes.get(id);
1349
+ if (theClass) {
1350
+ theClass.link = utils_default.formatUrl(linkStr, config);
1351
+ if (config.securityLevel === "sandbox") {
1352
+ theClass.linkTarget = "_top";
1353
+ } else if (typeof target === "string") {
1354
+ theClass.linkTarget = sanitizeText2(target);
1355
+ } else {
1356
+ theClass.linkTarget = "_blank";
1357
+ }
1358
+ }
1359
+ });
1360
+ this.setCssClass(ids, "clickable");
1361
+ }
1362
+ /**
1363
+ * Called by parser when a click definition is found. Registers an event handler.
1364
+ *
1365
+ * @param ids - Comma separated list of ids
1366
+ * @param functionName - Function to be called on click
1367
+ * @param functionArgs - Function args the function should be called with
1368
+ */
1369
+ setClickEvent(ids, functionName, functionArgs) {
1370
+ ids.split(",").forEach((id) => {
1371
+ this.setClickFunc(id, functionName, functionArgs);
1372
+ this.classes.get(id).haveCallback = true;
1373
+ });
1374
+ this.setCssClass(ids, "clickable");
1375
+ }
1376
+ setClickFunc(_domId, functionName, functionArgs) {
1377
+ const domId = common_default.sanitizeText(_domId, getConfig2());
1378
+ const config = getConfig2();
1379
+ if (config.securityLevel !== "loose") {
1380
+ return;
1381
+ }
1382
+ if (functionName === void 0) {
1383
+ return;
1384
+ }
1385
+ const id = domId;
1386
+ if (this.classes.has(id)) {
1387
+ const elemId = this.lookUpDomId(id);
1388
+ let argList = [];
1389
+ if (typeof functionArgs === "string") {
1390
+ argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
1391
+ for (let i = 0; i < argList.length; i++) {
1392
+ let item = argList[i].trim();
1393
+ if (item.startsWith('"') && item.endsWith('"')) {
1394
+ item = item.substr(1, item.length - 2);
1395
+ }
1396
+ argList[i] = item;
1397
+ }
1398
+ }
1399
+ if (argList.length === 0) {
1400
+ argList.push(elemId);
1401
+ }
1402
+ this.functions.push(() => {
1403
+ const elem = document.querySelector(`[id="${elemId}"]`);
1404
+ if (elem !== null) {
1405
+ elem.addEventListener(
1406
+ "click",
1407
+ () => {
1408
+ utils_default.runFunc(functionName, ...argList);
1409
+ },
1410
+ false
1411
+ );
1412
+ }
1413
+ });
1414
+ }
1415
+ }
1416
+ bindFunctions(element) {
1417
+ this.functions.forEach((fun) => {
1418
+ fun(element);
1419
+ });
1420
+ }
1421
+ getDirection() {
1422
+ return this.direction;
1423
+ }
1424
+ setDirection(dir) {
1425
+ this.direction = dir;
1426
+ }
1427
+ /**
1428
+ * Function called by parser when a namespace definition has been found.
1429
+ *
1430
+ * @param id - ID of the namespace to add
1431
+ * @public
1432
+ */
1433
+ addNamespace(id) {
1434
+ if (this.namespaces.has(id)) {
1435
+ return;
1436
+ }
1437
+ this.namespaces.set(id, {
1438
+ id,
1439
+ classes: /* @__PURE__ */ new Map(),
1440
+ children: {},
1441
+ domId: MERMAID_DOM_ID_PREFIX + id + "-" + this.namespaceCounter
1442
+ });
1443
+ this.namespaceCounter++;
1444
+ }
1445
+ getNamespace(name) {
1446
+ return this.namespaces.get(name);
1447
+ }
1448
+ getNamespaces() {
1449
+ return this.namespaces;
1450
+ }
1451
+ /**
1452
+ * Function called by parser when a namespace definition has been found.
1453
+ *
1454
+ * @param id - ID of the namespace to add
1455
+ * @param classNames - IDs of the class to add
1456
+ * @public
1457
+ */
1458
+ addClassesToNamespace(id, classNames) {
1459
+ if (!this.namespaces.has(id)) {
1460
+ return;
1461
+ }
1462
+ for (const name of classNames) {
1463
+ const { className } = this.splitClassNameAndType(name);
1464
+ this.classes.get(className).parent = id;
1465
+ this.namespaces.get(id).classes.set(className, this.classes.get(className));
1466
+ }
1467
+ }
1468
+ setCssStyle(id, styles) {
1469
+ const thisClass = this.classes.get(id);
1470
+ if (!styles || !thisClass) {
1471
+ return;
1472
+ }
1473
+ for (const s of styles) {
1474
+ if (s.includes(",")) {
1475
+ thisClass.styles.push(...s.split(","));
1476
+ } else {
1477
+ thisClass.styles.push(s);
1478
+ }
1479
+ }
1480
+ }
1481
+ /**
1482
+ * Gets the arrow marker for a type index
1483
+ *
1484
+ * @param type - The type to look for
1485
+ * @returns The arrow marker
1486
+ */
1487
+ getArrowMarker(type) {
1488
+ let marker;
1489
+ switch (type) {
1490
+ case 0:
1491
+ marker = "aggregation";
1492
+ break;
1493
+ case 1:
1494
+ marker = "extension";
1495
+ break;
1496
+ case 2:
1497
+ marker = "composition";
1498
+ break;
1499
+ case 3:
1500
+ marker = "dependency";
1501
+ break;
1502
+ case 4:
1503
+ marker = "lollipop";
1504
+ break;
1505
+ default:
1506
+ marker = "none";
1507
+ }
1508
+ return marker;
1509
+ }
1510
+ getData() {
1511
+ var _a2;
1512
+ const nodes = [];
1513
+ const edges = [];
1514
+ const config = getConfig2();
1515
+ for (const namespaceKey of this.namespaces.keys()) {
1516
+ const namespace = this.namespaces.get(namespaceKey);
1517
+ if (namespace) {
1518
+ const node = {
1519
+ id: namespace.id,
1520
+ label: namespace.id,
1521
+ isGroup: true,
1522
+ padding: config.class.padding ?? 16,
1523
+ // parent node must be one of [rect, roundedWithTitle, noteGroup, divider]
1524
+ shape: "rect",
1525
+ cssStyles: ["fill: none", "stroke: black"],
1526
+ look: config.look
1527
+ };
1528
+ nodes.push(node);
1529
+ }
1530
+ }
1531
+ for (const classKey of this.classes.keys()) {
1532
+ const classNode = this.classes.get(classKey);
1533
+ if (classNode) {
1534
+ const node = classNode;
1535
+ node.parentId = classNode.parent;
1536
+ node.look = config.look;
1537
+ nodes.push(node);
1538
+ }
1539
+ }
1540
+ let cnt = 0;
1541
+ for (const note of this.notes) {
1542
+ cnt++;
1543
+ const noteNode = {
1544
+ id: note.id,
1545
+ label: note.text,
1546
+ isGroup: false,
1547
+ shape: "note",
1548
+ padding: config.class.padding ?? 6,
1549
+ cssStyles: [
1550
+ "text-align: left",
1551
+ "white-space: nowrap",
1552
+ `fill: ${config.themeVariables.noteBkgColor}`,
1553
+ `stroke: ${config.themeVariables.noteBorderColor}`
1554
+ ],
1555
+ look: config.look
1556
+ };
1557
+ nodes.push(noteNode);
1558
+ const noteClassId = ((_a2 = this.classes.get(note.class)) == null ? void 0 : _a2.id) ?? "";
1559
+ if (noteClassId) {
1560
+ const edge = {
1561
+ id: `edgeNote${cnt}`,
1562
+ start: note.id,
1563
+ end: noteClassId,
1564
+ type: "normal",
1565
+ thickness: "normal",
1566
+ classes: "relation",
1567
+ arrowTypeStart: "none",
1568
+ arrowTypeEnd: "none",
1569
+ arrowheadStyle: "",
1570
+ labelStyle: [""],
1571
+ style: ["fill: none"],
1572
+ pattern: "dotted",
1573
+ look: config.look
1574
+ };
1575
+ edges.push(edge);
1576
+ }
1577
+ }
1578
+ for (const _interface of this.interfaces) {
1579
+ const interfaceNode = {
1580
+ id: _interface.id,
1581
+ label: _interface.label,
1582
+ isGroup: false,
1583
+ shape: "rect",
1584
+ cssStyles: ["opacity: 0;"],
1585
+ look: config.look
1586
+ };
1587
+ nodes.push(interfaceNode);
1588
+ }
1589
+ cnt = 0;
1590
+ for (const classRelation of this.relations) {
1591
+ cnt++;
1592
+ const edge = {
1593
+ id: getEdgeId(classRelation.id1, classRelation.id2, {
1594
+ prefix: "id",
1595
+ counter: cnt
1596
+ }),
1597
+ start: classRelation.id1,
1598
+ end: classRelation.id2,
1599
+ type: "normal",
1600
+ label: classRelation.title,
1601
+ labelpos: "c",
1602
+ thickness: "normal",
1603
+ classes: "relation",
1604
+ arrowTypeStart: this.getArrowMarker(classRelation.relation.type1),
1605
+ arrowTypeEnd: this.getArrowMarker(classRelation.relation.type2),
1606
+ startLabelRight: classRelation.relationTitle1 === "none" ? "" : classRelation.relationTitle1,
1607
+ endLabelLeft: classRelation.relationTitle2 === "none" ? "" : classRelation.relationTitle2,
1608
+ arrowheadStyle: "",
1609
+ labelStyle: ["display: inline-block"],
1610
+ style: classRelation.style || "",
1611
+ pattern: classRelation.relation.lineType == 1 ? "dashed" : "solid",
1612
+ look: config.look
1613
+ };
1614
+ edges.push(edge);
1615
+ }
1616
+ return { nodes, edges, other: {}, config, direction: this.getDirection() };
1617
+ }
1618
+ }, __name(_b, "ClassDB"), _b);
1619
+ var getStyles = /* @__PURE__ */ __name((options) => `g.classGroup text {
1620
+ fill: ${options.nodeBorder || options.classText};
1621
+ stroke: none;
1622
+ font-family: ${options.fontFamily};
1623
+ font-size: 10px;
1624
+
1625
+ .title {
1626
+ font-weight: bolder;
1627
+ }
1628
+
1629
+ }
1630
+
1631
+ .nodeLabel, .edgeLabel {
1632
+ color: ${options.classText};
1633
+ }
1634
+ .edgeLabel .label rect {
1635
+ fill: ${options.mainBkg};
1636
+ }
1637
+ .label text {
1638
+ fill: ${options.classText};
1639
+ }
1640
+
1641
+ .labelBkg {
1642
+ background: ${options.mainBkg};
1643
+ }
1644
+ .edgeLabel .label span {
1645
+ background: ${options.mainBkg};
1646
+ }
1647
+
1648
+ .classTitle {
1649
+ font-weight: bolder;
1650
+ }
1651
+ .node rect,
1652
+ .node circle,
1653
+ .node ellipse,
1654
+ .node polygon,
1655
+ .node path {
1656
+ fill: ${options.mainBkg};
1657
+ stroke: ${options.nodeBorder};
1658
+ stroke-width: 1px;
1659
+ }
1660
+
1661
+
1662
+ .divider {
1663
+ stroke: ${options.nodeBorder};
1664
+ stroke-width: 1;
1665
+ }
1666
+
1667
+ g.clickable {
1668
+ cursor: pointer;
1669
+ }
1670
+
1671
+ g.classGroup rect {
1672
+ fill: ${options.mainBkg};
1673
+ stroke: ${options.nodeBorder};
1674
+ }
1675
+
1676
+ g.classGroup line {
1677
+ stroke: ${options.nodeBorder};
1678
+ stroke-width: 1;
1679
+ }
1680
+
1681
+ .classLabel .box {
1682
+ stroke: none;
1683
+ stroke-width: 0;
1684
+ fill: ${options.mainBkg};
1685
+ opacity: 0.5;
1686
+ }
1687
+
1688
+ .classLabel .label {
1689
+ fill: ${options.nodeBorder};
1690
+ font-size: 10px;
1691
+ }
1692
+
1693
+ .relation {
1694
+ stroke: ${options.lineColor};
1695
+ stroke-width: 1;
1696
+ fill: none;
1697
+ }
1698
+
1699
+ .dashed-line{
1700
+ stroke-dasharray: 3;
1701
+ }
1702
+
1703
+ .dotted-line{
1704
+ stroke-dasharray: 1 2;
1705
+ }
1706
+
1707
+ #compositionStart, .composition {
1708
+ fill: ${options.lineColor} !important;
1709
+ stroke: ${options.lineColor} !important;
1710
+ stroke-width: 1;
1711
+ }
1712
+
1713
+ #compositionEnd, .composition {
1714
+ fill: ${options.lineColor} !important;
1715
+ stroke: ${options.lineColor} !important;
1716
+ stroke-width: 1;
1717
+ }
1718
+
1719
+ #dependencyStart, .dependency {
1720
+ fill: ${options.lineColor} !important;
1721
+ stroke: ${options.lineColor} !important;
1722
+ stroke-width: 1;
1723
+ }
1724
+
1725
+ #dependencyStart, .dependency {
1726
+ fill: ${options.lineColor} !important;
1727
+ stroke: ${options.lineColor} !important;
1728
+ stroke-width: 1;
1729
+ }
1730
+
1731
+ #extensionStart, .extension {
1732
+ fill: transparent !important;
1733
+ stroke: ${options.lineColor} !important;
1734
+ stroke-width: 1;
1735
+ }
1736
+
1737
+ #extensionEnd, .extension {
1738
+ fill: transparent !important;
1739
+ stroke: ${options.lineColor} !important;
1740
+ stroke-width: 1;
1741
+ }
1742
+
1743
+ #aggregationStart, .aggregation {
1744
+ fill: transparent !important;
1745
+ stroke: ${options.lineColor} !important;
1746
+ stroke-width: 1;
1747
+ }
1748
+
1749
+ #aggregationEnd, .aggregation {
1750
+ fill: transparent !important;
1751
+ stroke: ${options.lineColor} !important;
1752
+ stroke-width: 1;
1753
+ }
1754
+
1755
+ #lollipopStart, .lollipop {
1756
+ fill: ${options.mainBkg} !important;
1757
+ stroke: ${options.lineColor} !important;
1758
+ stroke-width: 1;
1759
+ }
1760
+
1761
+ #lollipopEnd, .lollipop {
1762
+ fill: ${options.mainBkg} !important;
1763
+ stroke: ${options.lineColor} !important;
1764
+ stroke-width: 1;
1765
+ }
1766
+
1767
+ .edgeTerminals {
1768
+ font-size: 11px;
1769
+ line-height: initial;
1770
+ }
1771
+
1772
+ .classTitleText {
1773
+ text-anchor: middle;
1774
+ font-size: 18px;
1775
+ fill: ${options.textColor};
1776
+ }
1777
+ ${getIconStyles()}
1778
+ `, "getStyles");
1779
+ var styles_default = getStyles;
1780
+ var getDir = /* @__PURE__ */ __name((parsedItem, defaultDir = "TB") => {
1781
+ if (!parsedItem.doc) {
1782
+ return defaultDir;
1783
+ }
1784
+ let dir = defaultDir;
1785
+ for (const parsedItemDoc of parsedItem.doc) {
1786
+ if (parsedItemDoc.stmt === "dir") {
1787
+ dir = parsedItemDoc.value;
1788
+ }
1789
+ }
1790
+ return dir;
1791
+ }, "getDir");
1792
+ var getClasses = /* @__PURE__ */ __name(function(text, diagramObj) {
1793
+ return diagramObj.db.getClasses();
1794
+ }, "getClasses");
1795
+ var draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {
1796
+ log.info("REF0:");
1797
+ log.info("Drawing class diagram (v3)", id);
1798
+ const { securityLevel, state: conf, layout } = getConfig2();
1799
+ const data4Layout = diag.db.getData();
1800
+ const svg = getDiagramElement(id, securityLevel);
1801
+ data4Layout.type = diag.type;
1802
+ data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);
1803
+ data4Layout.nodeSpacing = (conf == null ? void 0 : conf.nodeSpacing) || 50;
1804
+ data4Layout.rankSpacing = (conf == null ? void 0 : conf.rankSpacing) || 50;
1805
+ data4Layout.markers = ["aggregation", "extension", "composition", "dependency", "lollipop"];
1806
+ data4Layout.diagramId = id;
1807
+ await render$1(data4Layout, svg);
1808
+ const padding = 8;
1809
+ utils_default.insertTitle(
1810
+ svg,
1811
+ "classDiagramTitleText",
1812
+ (conf == null ? void 0 : conf.titleTopMargin) ?? 25,
1813
+ diag.db.getDiagramTitle()
1814
+ );
1815
+ setupViewPortForSVG(svg, padding, "classDiagram", (conf == null ? void 0 : conf.useMaxWidth) ?? true);
1816
+ }, "draw");
1817
+ var classRenderer_v3_unified_default = {
1818
+ getClasses,
1819
+ draw,
1820
+ getDir
1821
+ };
1822
+
1823
+ export { ClassDB as C, classRenderer_v3_unified_default as a, classDiagram_default as c, styles_default as s };