keboola-cli 0.63.4__py3-none-any.whl

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 (306) hide show
  1. keboola_agent_cli/__init__.py +34 -0
  2. keboola_agent_cli/__main__.py +5 -0
  3. keboola_agent_cli/_ui_dist/assets/arc-DhFYIddx.js +2 -0
  4. keboola_agent_cli/_ui_dist/assets/arc-DhFYIddx.js.map +1 -0
  5. keboola_agent_cli/_ui_dist/assets/architecture-7EHR7CIX-hNCijx_H.js +1 -0
  6. keboola_agent_cli/_ui_dist/assets/architectureDiagram-3BPJPVTR-C6hUlprM.js +37 -0
  7. keboola_agent_cli/_ui_dist/assets/architectureDiagram-3BPJPVTR-C6hUlprM.js.map +1 -0
  8. keboola_agent_cli/_ui_dist/assets/array-BifhSqXX.js +2 -0
  9. keboola_agent_cli/_ui_dist/assets/array-BifhSqXX.js.map +1 -0
  10. keboola_agent_cli/_ui_dist/assets/blockDiagram-GPEHLZMM-DC7qY9i4.js +133 -0
  11. keboola_agent_cli/_ui_dist/assets/blockDiagram-GPEHLZMM-DC7qY9i4.js.map +1 -0
  12. keboola_agent_cli/_ui_dist/assets/c4Diagram-AAUBKEIU-5Lh44evt.js +11 -0
  13. keboola_agent_cli/_ui_dist/assets/c4Diagram-AAUBKEIU-5Lh44evt.js.map +1 -0
  14. keboola_agent_cli/_ui_dist/assets/channel-DBMrXlxx.js +2 -0
  15. keboola_agent_cli/_ui_dist/assets/channel-DBMrXlxx.js.map +1 -0
  16. keboola_agent_cli/_ui_dist/assets/chunk-2J33WTMH-Coy82EBh.js +2 -0
  17. keboola_agent_cli/_ui_dist/assets/chunk-2J33WTMH-Coy82EBh.js.map +1 -0
  18. keboola_agent_cli/_ui_dist/assets/chunk-3OPIFGDE-BQC5CRHI.js +63 -0
  19. keboola_agent_cli/_ui_dist/assets/chunk-3OPIFGDE-BQC5CRHI.js.map +1 -0
  20. keboola_agent_cli/_ui_dist/assets/chunk-4BX2VUAB-DUuEt70o.js +2 -0
  21. keboola_agent_cli/_ui_dist/assets/chunk-4BX2VUAB-DUuEt70o.js.map +1 -0
  22. keboola_agent_cli/_ui_dist/assets/chunk-55IACEB6-BvR-6chF.js +2 -0
  23. keboola_agent_cli/_ui_dist/assets/chunk-55IACEB6-BvR-6chF.js.map +1 -0
  24. keboola_agent_cli/_ui_dist/assets/chunk-5ZQYHXKU-BjcTN7ul.js +3 -0
  25. keboola_agent_cli/_ui_dist/assets/chunk-5ZQYHXKU-BjcTN7ul.js.map +1 -0
  26. keboola_agent_cli/_ui_dist/assets/chunk-727SXJPM-C0zxqqRN.js +207 -0
  27. keboola_agent_cli/_ui_dist/assets/chunk-727SXJPM-C0zxqqRN.js.map +1 -0
  28. keboola_agent_cli/_ui_dist/assets/chunk-AQP2D5EJ-CXf7rIlZ.js +232 -0
  29. keboola_agent_cli/_ui_dist/assets/chunk-AQP2D5EJ-CXf7rIlZ.js.map +1 -0
  30. keboola_agent_cli/_ui_dist/assets/chunk-BSJP7CBP-Oj_FO9Q7.js +2 -0
  31. keboola_agent_cli/_ui_dist/assets/chunk-BSJP7CBP-Oj_FO9Q7.js.map +1 -0
  32. keboola_agent_cli/_ui_dist/assets/chunk-CSCIHK7Q-CcTsLrFc.js +124 -0
  33. keboola_agent_cli/_ui_dist/assets/chunk-CSCIHK7Q-CcTsLrFc.js.map +1 -0
  34. keboola_agent_cli/_ui_dist/assets/chunk-FMBD7UC4-FH-zLkkW.js +16 -0
  35. keboola_agent_cli/_ui_dist/assets/chunk-FMBD7UC4-FH-zLkkW.js.map +1 -0
  36. keboola_agent_cli/_ui_dist/assets/chunk-L5ZTLDWV-B1Ky_e7O.js +2 -0
  37. keboola_agent_cli/_ui_dist/assets/chunk-L5ZTLDWV-B1Ky_e7O.js.map +1 -0
  38. keboola_agent_cli/_ui_dist/assets/chunk-ND2GUHAM-BHz1rpbm.js +2 -0
  39. keboola_agent_cli/_ui_dist/assets/chunk-ND2GUHAM-BHz1rpbm.js.map +1 -0
  40. keboola_agent_cli/_ui_dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +160 -0
  41. keboola_agent_cli/_ui_dist/assets/chunk-NNHCCRGN-DlpIbxXb.js.map +1 -0
  42. keboola_agent_cli/_ui_dist/assets/chunk-NZK2D7GU-tnrSoegS.js +2 -0
  43. keboola_agent_cli/_ui_dist/assets/chunk-NZK2D7GU-tnrSoegS.js.map +1 -0
  44. keboola_agent_cli/_ui_dist/assets/chunk-O5CBEL6O-DxxqDH0l.js +71 -0
  45. keboola_agent_cli/_ui_dist/assets/chunk-O5CBEL6O-DxxqDH0l.js.map +1 -0
  46. keboola_agent_cli/_ui_dist/assets/chunk-QZHKN3VN-CSjc2gjj.js +2 -0
  47. keboola_agent_cli/_ui_dist/assets/chunk-QZHKN3VN-CSjc2gjj.js.map +1 -0
  48. keboola_agent_cli/_ui_dist/assets/classDiagram-4FO5ZUOK-BuZcZu85.js +2 -0
  49. keboola_agent_cli/_ui_dist/assets/classDiagram-4FO5ZUOK-BuZcZu85.js.map +1 -0
  50. keboola_agent_cli/_ui_dist/assets/classDiagram-v2-Q7XG4LA2-BuZcZu85.js +2 -0
  51. keboola_agent_cli/_ui_dist/assets/classDiagram-v2-Q7XG4LA2-BuZcZu85.js.map +1 -0
  52. keboola_agent_cli/_ui_dist/assets/cose-bilkent-S5V4N54A-Y0L8LDMa.js +2 -0
  53. keboola_agent_cli/_ui_dist/assets/cose-bilkent-S5V4N54A-Y0L8LDMa.js.map +1 -0
  54. keboola_agent_cli/_ui_dist/assets/cytoscape.esm-C8YCVR3_.js +322 -0
  55. keboola_agent_cli/_ui_dist/assets/cytoscape.esm-C8YCVR3_.js.map +1 -0
  56. keboola_agent_cli/_ui_dist/assets/dagre-BM42HDAG-UZ-9BTqF.js +5 -0
  57. keboola_agent_cli/_ui_dist/assets/dagre-BM42HDAG-UZ-9BTqF.js.map +1 -0
  58. keboola_agent_cli/_ui_dist/assets/dagre-Bx709z4p.js +2 -0
  59. keboola_agent_cli/_ui_dist/assets/dagre-Bx709z4p.js.map +1 -0
  60. keboola_agent_cli/_ui_dist/assets/defaultLocale-C8Fc0cco.js +2 -0
  61. keboola_agent_cli/_ui_dist/assets/defaultLocale-C8Fc0cco.js.map +1 -0
  62. keboola_agent_cli/_ui_dist/assets/diagram-2AECGRRQ-DoDQ60wi.js +44 -0
  63. keboola_agent_cli/_ui_dist/assets/diagram-2AECGRRQ-DoDQ60wi.js.map +1 -0
  64. keboola_agent_cli/_ui_dist/assets/diagram-5GNKFQAL-CMGFxpUs.js +11 -0
  65. keboola_agent_cli/_ui_dist/assets/diagram-5GNKFQAL-CMGFxpUs.js.map +1 -0
  66. keboola_agent_cli/_ui_dist/assets/diagram-KO2AKTUF-1uGDa-Iu.js +4 -0
  67. keboola_agent_cli/_ui_dist/assets/diagram-KO2AKTUF-1uGDa-Iu.js.map +1 -0
  68. keboola_agent_cli/_ui_dist/assets/diagram-LMA3HP47-XtFH7B51.js +25 -0
  69. keboola_agent_cli/_ui_dist/assets/diagram-LMA3HP47-XtFH7B51.js.map +1 -0
  70. keboola_agent_cli/_ui_dist/assets/diagram-OG6HWLK6-B4_Te1T5.js +25 -0
  71. keboola_agent_cli/_ui_dist/assets/diagram-OG6HWLK6-B4_Te1T5.js.map +1 -0
  72. keboola_agent_cli/_ui_dist/assets/dist-Di6zmlv0.js +2 -0
  73. keboola_agent_cli/_ui_dist/assets/dist-Di6zmlv0.js.map +1 -0
  74. keboola_agent_cli/_ui_dist/assets/erDiagram-TEJ5UH35-NjQkrdFt.js +86 -0
  75. keboola_agent_cli/_ui_dist/assets/erDiagram-TEJ5UH35-NjQkrdFt.js.map +1 -0
  76. keboola_agent_cli/_ui_dist/assets/eventmodeling-FCH6USID-BrJMIks8.js +1 -0
  77. keboola_agent_cli/_ui_dist/assets/flowDiagram-I6XJVG4X-CIr8DWl7.js +163 -0
  78. keboola_agent_cli/_ui_dist/assets/flowDiagram-I6XJVG4X-CIr8DWl7.js.map +1 -0
  79. keboola_agent_cli/_ui_dist/assets/ganttDiagram-6RSMTGT7-C1VY_xbQ.js +293 -0
  80. keboola_agent_cli/_ui_dist/assets/ganttDiagram-6RSMTGT7-C1VY_xbQ.js.map +1 -0
  81. keboola_agent_cli/_ui_dist/assets/gitGraph-WXDBUCRP-COacYjo-.js +1 -0
  82. keboola_agent_cli/_ui_dist/assets/gitGraphDiagram-PVQCEYII-DQT8-kg2.js +107 -0
  83. keboola_agent_cli/_ui_dist/assets/gitGraphDiagram-PVQCEYII-DQT8-kg2.js.map +1 -0
  84. keboola_agent_cli/_ui_dist/assets/graphlib-B8gBHxth.js +2 -0
  85. keboola_agent_cli/_ui_dist/assets/graphlib-B8gBHxth.js.map +1 -0
  86. keboola_agent_cli/_ui_dist/assets/index-CMq50kkV.css +1 -0
  87. keboola_agent_cli/_ui_dist/assets/index-D8W97DAz.js +118 -0
  88. keboola_agent_cli/_ui_dist/assets/index-D8W97DAz.js.map +1 -0
  89. keboola_agent_cli/_ui_dist/assets/info-J43DQDTF-DdCTRIzU.js +1 -0
  90. keboola_agent_cli/_ui_dist/assets/infoDiagram-5YYISTIA-C77rsoTp.js +3 -0
  91. keboola_agent_cli/_ui_dist/assets/infoDiagram-5YYISTIA-C77rsoTp.js.map +1 -0
  92. keboola_agent_cli/_ui_dist/assets/init-D6jRqBbL.js +2 -0
  93. keboola_agent_cli/_ui_dist/assets/init-D6jRqBbL.js.map +1 -0
  94. keboola_agent_cli/_ui_dist/assets/ishikawaDiagram-YF4QCWOH-BcTbXaLy.js +71 -0
  95. keboola_agent_cli/_ui_dist/assets/ishikawaDiagram-YF4QCWOH-BcTbXaLy.js.map +1 -0
  96. keboola_agent_cli/_ui_dist/assets/journeyDiagram-JHISSGLW-BejeAJQ_.js +140 -0
  97. keboola_agent_cli/_ui_dist/assets/journeyDiagram-JHISSGLW-BejeAJQ_.js.map +1 -0
  98. keboola_agent_cli/_ui_dist/assets/kanban-definition-UN3LZRKU-BRNz_UrH.js +90 -0
  99. keboola_agent_cli/_ui_dist/assets/kanban-definition-UN3LZRKU-BRNz_UrH.js.map +1 -0
  100. keboola_agent_cli/_ui_dist/assets/katex-C4eR7coU.js +258 -0
  101. keboola_agent_cli/_ui_dist/assets/katex-C4eR7coU.js.map +1 -0
  102. keboola_agent_cli/_ui_dist/assets/line-CzAQKFbJ.js +2 -0
  103. keboola_agent_cli/_ui_dist/assets/line-CzAQKFbJ.js.map +1 -0
  104. keboola_agent_cli/_ui_dist/assets/linear-DUNFFdck.js +2 -0
  105. keboola_agent_cli/_ui_dist/assets/linear-DUNFFdck.js.map +1 -0
  106. keboola_agent_cli/_ui_dist/assets/mermaid-parser.core-CpuBOkFa.js +5 -0
  107. keboola_agent_cli/_ui_dist/assets/mermaid-parser.core-CpuBOkFa.js.map +1 -0
  108. keboola_agent_cli/_ui_dist/assets/mindmap-definition-RKZ34NQL-9EJQNjH0.js +97 -0
  109. keboola_agent_cli/_ui_dist/assets/mindmap-definition-RKZ34NQL-9EJQNjH0.js.map +1 -0
  110. keboola_agent_cli/_ui_dist/assets/ordinal-hYBb2elL.js +2 -0
  111. keboola_agent_cli/_ui_dist/assets/ordinal-hYBb2elL.js.map +1 -0
  112. keboola_agent_cli/_ui_dist/assets/packet-YPE3B663-DLiiw_B2.js +1 -0
  113. keboola_agent_cli/_ui_dist/assets/path-BWPyau1x.js +2 -0
  114. keboola_agent_cli/_ui_dist/assets/path-BWPyau1x.js.map +1 -0
  115. keboola_agent_cli/_ui_dist/assets/pie-LRSECV5Y-CRoO8G1g.js +1 -0
  116. keboola_agent_cli/_ui_dist/assets/pieDiagram-4H26LBE5-XH4cy6Cb.js +31 -0
  117. keboola_agent_cli/_ui_dist/assets/pieDiagram-4H26LBE5-XH4cy6Cb.js.map +1 -0
  118. keboola_agent_cli/_ui_dist/assets/quadrantDiagram-W4KKPZXB-fdhc93U8.js +8 -0
  119. keboola_agent_cli/_ui_dist/assets/quadrantDiagram-W4KKPZXB-fdhc93U8.js.map +1 -0
  120. keboola_agent_cli/_ui_dist/assets/radar-GUYGQ44K-DAlLVJHm.js +1 -0
  121. keboola_agent_cli/_ui_dist/assets/requirementDiagram-4Y6WPE33-a94eP3R9.js +85 -0
  122. keboola_agent_cli/_ui_dist/assets/requirementDiagram-4Y6WPE33-a94eP3R9.js.map +1 -0
  123. keboola_agent_cli/_ui_dist/assets/rough.esm-CSKSodPl.js +2 -0
  124. keboola_agent_cli/_ui_dist/assets/rough.esm-CSKSodPl.js.map +1 -0
  125. keboola_agent_cli/_ui_dist/assets/sankeyDiagram-5OEKKPKP-jcBa02sp.js +41 -0
  126. keboola_agent_cli/_ui_dist/assets/sankeyDiagram-5OEKKPKP-jcBa02sp.js.map +1 -0
  127. keboola_agent_cli/_ui_dist/assets/sequenceDiagram-3UESZ5HK-A5-GGM-e.js +163 -0
  128. keboola_agent_cli/_ui_dist/assets/sequenceDiagram-3UESZ5HK-A5-GGM-e.js.map +1 -0
  129. keboola_agent_cli/_ui_dist/assets/src-ZI-V_AF0.js +2 -0
  130. keboola_agent_cli/_ui_dist/assets/src-ZI-V_AF0.js.map +1 -0
  131. keboola_agent_cli/_ui_dist/assets/stateDiagram-AJRCARHV-BKAA5rqE.js +2 -0
  132. keboola_agent_cli/_ui_dist/assets/stateDiagram-AJRCARHV-BKAA5rqE.js.map +1 -0
  133. keboola_agent_cli/_ui_dist/assets/stateDiagram-v2-BHNVJYJU-DnJwJBsE.js +2 -0
  134. keboola_agent_cli/_ui_dist/assets/stateDiagram-v2-BHNVJYJU-DnJwJBsE.js.map +1 -0
  135. keboola_agent_cli/_ui_dist/assets/timeline-definition-PNZ67QCA-Cy39jp8b.js +121 -0
  136. keboola_agent_cli/_ui_dist/assets/timeline-definition-PNZ67QCA-Cy39jp8b.js.map +1 -0
  137. keboola_agent_cli/_ui_dist/assets/treeView-BLDUP644-DbLYl23-.js +1 -0
  138. keboola_agent_cli/_ui_dist/assets/treemap-LRROVOQU-Bp0eGlOt.js +1 -0
  139. keboola_agent_cli/_ui_dist/assets/vennDiagram-CIIHVFJN-BGECKubd.js +35 -0
  140. keboola_agent_cli/_ui_dist/assets/vennDiagram-CIIHVFJN-BGECKubd.js.map +1 -0
  141. keboola_agent_cli/_ui_dist/assets/wardley-L42UT6IY-D4yH4jqS.js +1 -0
  142. keboola_agent_cli/_ui_dist/assets/wardleyDiagram-YWT4CUSO-D6XRG3cZ.js +79 -0
  143. keboola_agent_cli/_ui_dist/assets/wardleyDiagram-YWT4CUSO-D6XRG3cZ.js.map +1 -0
  144. keboola_agent_cli/_ui_dist/assets/xychartDiagram-2RQKCTM6-DRre-pfZ.js +8 -0
  145. keboola_agent_cli/_ui_dist/assets/xychartDiagram-2RQKCTM6-DRre-pfZ.js.map +1 -0
  146. keboola_agent_cli/_ui_dist/index.html +50 -0
  147. keboola_agent_cli/ai_client.py +83 -0
  148. keboola_agent_cli/auto_update.py +550 -0
  149. keboola_agent_cli/changelog.py +1198 -0
  150. keboola_agent_cli/cli.py +448 -0
  151. keboola_agent_cli/client.py +3422 -0
  152. keboola_agent_cli/commands/__init__.py +0 -0
  153. keboola_agent_cli/commands/_data_app_git.py +343 -0
  154. keboola_agent_cli/commands/_helpers.py +377 -0
  155. keboola_agent_cli/commands/_metadata_input.py +49 -0
  156. keboola_agent_cli/commands/_semantic_layer_crud.py +632 -0
  157. keboola_agent_cli/commands/_semantic_layer_helpers.py +44 -0
  158. keboola_agent_cli/commands/_semantic_layer_reference_data.py +247 -0
  159. keboola_agent_cli/commands/agent.py +968 -0
  160. keboola_agent_cli/commands/branch.py +423 -0
  161. keboola_agent_cli/commands/changelog.py +168 -0
  162. keboola_agent_cli/commands/component.py +216 -0
  163. keboola_agent_cli/commands/config.py +2442 -0
  164. keboola_agent_cli/commands/context.py +1481 -0
  165. keboola_agent_cli/commands/data_app.py +1279 -0
  166. keboola_agent_cli/commands/dev_portal.py +584 -0
  167. keboola_agent_cli/commands/doctor.py +37 -0
  168. keboola_agent_cli/commands/encrypt.py +145 -0
  169. keboola_agent_cli/commands/feature.py +311 -0
  170. keboola_agent_cli/commands/flow.py +948 -0
  171. keboola_agent_cli/commands/http_client.py +157 -0
  172. keboola_agent_cli/commands/init.py +279 -0
  173. keboola_agent_cli/commands/job.py +661 -0
  174. keboola_agent_cli/commands/kai.py +301 -0
  175. keboola_agent_cli/commands/lineage.py +1464 -0
  176. keboola_agent_cli/commands/org.py +292 -0
  177. keboola_agent_cli/commands/permissions.py +360 -0
  178. keboola_agent_cli/commands/project.py +1192 -0
  179. keboola_agent_cli/commands/repl.py +243 -0
  180. keboola_agent_cli/commands/schedule.py +340 -0
  181. keboola_agent_cli/commands/search.py +178 -0
  182. keboola_agent_cli/commands/semantic_layer.py +939 -0
  183. keboola_agent_cli/commands/serve.py +272 -0
  184. keboola_agent_cli/commands/sharing.py +340 -0
  185. keboola_agent_cli/commands/storage.py +2630 -0
  186. keboola_agent_cli/commands/stream.py +266 -0
  187. keboola_agent_cli/commands/sync.py +1277 -0
  188. keboola_agent_cli/commands/tool.py +206 -0
  189. keboola_agent_cli/commands/version.py +186 -0
  190. keboola_agent_cli/commands/workspace.py +635 -0
  191. keboola_agent_cli/config_store.py +582 -0
  192. keboola_agent_cli/constants.py +528 -0
  193. keboola_agent_cli/data_science_client.py +342 -0
  194. keboola_agent_cli/dev_portal_client.py +323 -0
  195. keboola_agent_cli/errors.py +248 -0
  196. keboola_agent_cli/http_base.py +315 -0
  197. keboola_agent_cli/json_utils.py +126 -0
  198. keboola_agent_cli/lib.py +536 -0
  199. keboola_agent_cli/manage_client.py +324 -0
  200. keboola_agent_cli/metastore_client.py +214 -0
  201. keboola_agent_cli/models.py +427 -0
  202. keboola_agent_cli/output.py +1084 -0
  203. keboola_agent_cli/permissions.py +469 -0
  204. keboola_agent_cli/py.typed +3 -0
  205. keboola_agent_cli/result_models.py +271 -0
  206. keboola_agent_cli/server/__init__.py +34 -0
  207. keboola_agent_cli/server/agent_runner.py +1289 -0
  208. keboola_agent_cli/server/agents_store.py +325 -0
  209. keboola_agent_cli/server/app.py +764 -0
  210. keboola_agent_cli/server/auth.py +117 -0
  211. keboola_agent_cli/server/dependencies.py +149 -0
  212. keboola_agent_cli/server/pricing.py +303 -0
  213. keboola_agent_cli/server/routers/__init__.py +1 -0
  214. keboola_agent_cli/server/routers/agents.py +616 -0
  215. keboola_agent_cli/server/routers/ai_chat.py +129 -0
  216. keboola_agent_cli/server/routers/branches.py +133 -0
  217. keboola_agent_cli/server/routers/components.py +48 -0
  218. keboola_agent_cli/server/routers/configs.py +507 -0
  219. keboola_agent_cli/server/routers/data_apps.py +384 -0
  220. keboola_agent_cli/server/routers/dev_portal.py +67 -0
  221. keboola_agent_cli/server/routers/encrypt.py +35 -0
  222. keboola_agent_cli/server/routers/feature.py +179 -0
  223. keboola_agent_cli/server/routers/flows.py +204 -0
  224. keboola_agent_cli/server/routers/health.py +53 -0
  225. keboola_agent_cli/server/routers/jobs.py +175 -0
  226. keboola_agent_cli/server/routers/kai.py +80 -0
  227. keboola_agent_cli/server/routers/lineage.py +226 -0
  228. keboola_agent_cli/server/routers/mcp.py +70 -0
  229. keboola_agent_cli/server/routers/members.py +170 -0
  230. keboola_agent_cli/server/routers/org.py +96 -0
  231. keboola_agent_cli/server/routers/projects.py +106 -0
  232. keboola_agent_cli/server/routers/schedules.py +54 -0
  233. keboola_agent_cli/server/routers/search.py +30 -0
  234. keboola_agent_cli/server/routers/semantic_layer.py +650 -0
  235. keboola_agent_cli/server/routers/sharing.py +86 -0
  236. keboola_agent_cli/server/routers/storage.py +574 -0
  237. keboola_agent_cli/server/routers/stream.py +100 -0
  238. keboola_agent_cli/server/routers/workspaces.py +302 -0
  239. keboola_agent_cli/server/run_broadcaster.py +329 -0
  240. keboola_agent_cli/server/sse.py +25 -0
  241. keboola_agent_cli/services/__init__.py +0 -0
  242. keboola_agent_cli/services/_encryption.py +217 -0
  243. keboola_agent_cli/services/_semantic_layer_cascade.py +147 -0
  244. keboola_agent_cli/services/_semantic_layer_crud.py +382 -0
  245. keboola_agent_cli/services/_semantic_layer_internals.py +1078 -0
  246. keboola_agent_cli/services/_semantic_layer_lookup.py +181 -0
  247. keboola_agent_cli/services/_semantic_layer_reference_data.py +217 -0
  248. keboola_agent_cli/services/_sync_bindings.py +456 -0
  249. keboola_agent_cli/services/_sync_branch.py +191 -0
  250. keboola_agent_cli/services/_sync_bulk.py +228 -0
  251. keboola_agent_cli/services/_sync_clone.py +163 -0
  252. keboola_agent_cli/services/_sync_models.py +97 -0
  253. keboola_agent_cli/services/_sync_push_ops.py +369 -0
  254. keboola_agent_cli/services/_sync_storage.py +376 -0
  255. keboola_agent_cli/services/_sync_writeback.py +167 -0
  256. keboola_agent_cli/services/agent_service.py +458 -0
  257. keboola_agent_cli/services/base.py +175 -0
  258. keboola_agent_cli/services/branch_service.py +588 -0
  259. keboola_agent_cli/services/component_service.py +694 -0
  260. keboola_agent_cli/services/config_service.py +2099 -0
  261. keboola_agent_cli/services/data_app_git_service.py +224 -0
  262. keboola_agent_cli/services/data_app_service.py +2082 -0
  263. keboola_agent_cli/services/deep_lineage_service.py +1322 -0
  264. keboola_agent_cli/services/dev_portal_service.py +345 -0
  265. keboola_agent_cli/services/doctor_service.py +445 -0
  266. keboola_agent_cli/services/encrypt_service.py +87 -0
  267. keboola_agent_cli/services/feature_service.py +268 -0
  268. keboola_agent_cli/services/flow_service.py +769 -0
  269. keboola_agent_cli/services/flow_validation.py +188 -0
  270. keboola_agent_cli/services/http_forwarder_service.py +236 -0
  271. keboola_agent_cli/services/job_idempotency_store.py +285 -0
  272. keboola_agent_cli/services/job_service.py +797 -0
  273. keboola_agent_cli/services/kai_service.py +367 -0
  274. keboola_agent_cli/services/lineage_service.py +274 -0
  275. keboola_agent_cli/services/mcp_service.py +1498 -0
  276. keboola_agent_cli/services/mcp_transport.py +259 -0
  277. keboola_agent_cli/services/member_service.py +593 -0
  278. keboola_agent_cli/services/org_service.py +619 -0
  279. keboola_agent_cli/services/project_service.py +947 -0
  280. keboola_agent_cli/services/repo_validate_service.py +767 -0
  281. keboola_agent_cli/services/schedule_service.py +731 -0
  282. keboola_agent_cli/services/search_service.py +331 -0
  283. keboola_agent_cli/services/semantic_layer_service.py +1497 -0
  284. keboola_agent_cli/services/sharing_service.py +307 -0
  285. keboola_agent_cli/services/storage_service.py +2524 -0
  286. keboola_agent_cli/services/stream_service.py +395 -0
  287. keboola_agent_cli/services/sync_service.py +2244 -0
  288. keboola_agent_cli/services/variables_service.py +447 -0
  289. keboola_agent_cli/services/version_service.py +1038 -0
  290. keboola_agent_cli/services/workspace_service.py +1103 -0
  291. keboola_agent_cli/stream_client.py +217 -0
  292. keboola_agent_cli/sync/__init__.py +1 -0
  293. keboola_agent_cli/sync/branch_mapping.py +174 -0
  294. keboola_agent_cli/sync/clone.py +211 -0
  295. keboola_agent_cli/sync/code_extraction.py +655 -0
  296. keboola_agent_cli/sync/config_format.py +290 -0
  297. keboola_agent_cli/sync/diff_engine.py +566 -0
  298. keboola_agent_cli/sync/git_utils.py +93 -0
  299. keboola_agent_cli/sync/manifest.py +162 -0
  300. keboola_agent_cli/sync/naming.py +90 -0
  301. keboola_agent_cli/sync/secrets.py +62 -0
  302. keboola_agent_cli/sync/sql_split.py +134 -0
  303. keboola_cli-0.63.4.dist-info/METADATA +308 -0
  304. keboola_cli-0.63.4.dist-info/RECORD +306 -0
  305. keboola_cli-0.63.4.dist-info/WHEEL +4 -0
  306. keboola_cli-0.63.4.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,2 @@
1
+ function e(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function t(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function n(e){return e=t(Math.abs(e)),e?e[1]:NaN}function r(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function i(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(e){if(!(t=a.exec(e)))throw Error(`invalid format: `+e);var t;return new s({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}o.prototype=s.prototype;function s(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function c(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var l;function u(e,n){var r=t(e,n);if(!r)return l=void 0,e.toPrecision(n);var i=r[0],a=r[1],o=a-(l=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=i.length;return o===s?i:o>s?i+Array(o-s+1).join(`0`):o>0?i.slice(0,o)+`.`+i.slice(o):`0.`+Array(1-o).join(`0`)+t(e,Math.max(0,n+o-1))[0]}function d(e,n){var r=t(e,n);if(!r)return e+``;var i=r[0],a=r[1];return a<0?`0.`+Array(-a).join(`0`)+i:i.length>a+1?i.slice(0,a+1)+`.`+i.slice(a+1):i+Array(a-i.length+2).join(`0`)}var f={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:e,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>d(e*100,t),r:d,s:u,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function p(e){return e}var m=Array.prototype.map,h=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function g(e){var t=e.grouping===void 0||e.thousands===void 0?p:r(m.call(e.grouping,Number),e.thousands+``),a=e.currency===void 0?``:e.currency[0]+``,s=e.currency===void 0?``:e.currency[1]+``,u=e.decimal===void 0?`.`:e.decimal+``,d=e.numerals===void 0?p:i(m.call(e.numerals,String)),g=e.percent===void 0?`%`:e.percent+``,_=e.minus===void 0?`−`:e.minus+``,v=e.nan===void 0?`NaN`:e.nan+``;function y(e,n){e=o(e);var r=e.fill,i=e.align,p=e.sign,m=e.symbol,y=e.zero,b=e.width,x=e.comma,S=e.precision,C=e.trim,w=e.type;w===`n`?(x=!0,w=`g`):f[w]||(S===void 0&&(S=12),C=!0,w=`g`),(y||r===`0`&&i===`=`)&&(y=!0,r=`0`,i=`=`);var T=(n&&n.prefix!==void 0?n.prefix:``)+(m===`$`?a:m===`#`&&/[boxX]/.test(w)?`0`+w.toLowerCase():``),E=(m===`$`?s:/[%p]/.test(w)?g:``)+(n&&n.suffix!==void 0?n.suffix:``),D=f[w],O=/[defgprs%]/.test(w);S=S===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function k(e){var n=T,a=E,o,s,f;if(w===`c`)a=D(e)+a,e=``;else{e=+e;var m=e<0||1/e<0;if(e=isNaN(e)?v:D(Math.abs(e),S),C&&(e=c(e)),m&&+e==0&&p!==`+`&&(m=!1),n=(m?p===`(`?p:_:p===`-`||p===`(`?``:p)+n,a=(w===`s`&&!isNaN(e)&&l!==void 0?h[8+l/3]:``)+a+(m&&p===`(`?`)`:``),O){for(o=-1,s=e.length;++o<s;)if(f=e.charCodeAt(o),48>f||f>57){a=(f===46?u+e.slice(o+1):e.slice(o))+a,e=e.slice(0,o);break}}}x&&!y&&(e=t(e,1/0));var g=n.length+e.length+a.length,k=g<b?Array(b-g+1).join(r):``;switch(x&&y&&(e=t(k+e,k.length?b-a.length:1/0),k=``),i){case`<`:e=n+e+a+k;break;case`=`:e=n+k+e+a;break;case`^`:e=k.slice(0,g=k.length>>1)+n+e+a+k.slice(g);break;default:e=k+n+e+a;break}return d(e)}return k.toString=function(){return e+``},k}function b(e,t){var r=Math.max(-8,Math.min(8,Math.floor(n(t)/3)))*3,i=10**-r,a=y((e=o(e),e.type=`f`,e),{suffix:h[8+r/3]});return function(e){return a(i*e)}}return{format:y,formatPrefix:b}}var _,v,y;b({thousands:`,`,grouping:[3],currency:[`$`,``]});function b(e){return _=g(e),v=_.format,y=_.formatPrefix,_}export{n as i,y as n,o as r,v as t};
2
+ //# sourceMappingURL=defaultLocale-C8Fc0cco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultLocale-C8Fc0cco.js","names":["formatDecimal","formatRounded","formatPrefixAuto","identity","formatGroup","formatNumerals","formatTypes","formatTrim","exponent","formatLocale"],"sources":["../../node_modules/d3-format/src/formatDecimal.js","../../node_modules/d3-format/src/exponent.js","../../node_modules/d3-format/src/formatGroup.js","../../node_modules/d3-format/src/formatNumerals.js","../../node_modules/d3-format/src/formatSpecifier.js","../../node_modules/d3-format/src/formatTrim.js","../../node_modules/d3-format/src/formatPrefixAuto.js","../../node_modules/d3-format/src/formatRounded.js","../../node_modules/d3-format/src/formatTypes.js","../../node_modules/d3-format/src/identity.js","../../node_modules/d3-format/src/locale.js","../../node_modules/d3-format/src/defaultLocale.js"],"sourcesContent":["export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if (!isFinite(x) || x === 0) return null; // NaN, ±Infinity, ±0\n var i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\"), coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return prefixExponent = undefined, x.toPrecision(p);\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier, options) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = (options && options.prefix !== undefined ? options.prefix : \"\") + (symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\"),\n suffix = (symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\") + (options && options.suffix !== undefined ? options.suffix : \"\");\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" && !isNaN(value) && prefixExponent !== undefined ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier), {suffix: prefixes[8 + e / 3]});\n return function(value) {\n return f(k * value);\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import{g as e,h as t}from"./src-ZI-V_AF0.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{i as p}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{u as m}from"./index-D8W97DAz.js";import{t as h}from"./mermaid-parser.core-CpuBOkFa.js";import{t as g}from"./chunk-4BX2VUAB-DUuEt70o.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v={axes:[],curves:[],options:_},y=structuredClone(v),b=l.radar,x=t(()=>p({...b,...s().radar}),`getConfig`),S=t(()=>y.axes,`getAxes`),C=t(()=>y.curves,`getCurves`),w=t(()=>y.options,`getOptions`),T=t(e=>{y.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),E=t(e=>{y.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:D(e.entries)}))},`setCurves`),D=t(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=S();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),O={getAxes:S,getCurves:C,getOptions:w,setAxes:T,setCurves:E,setOptions:t(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});y.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule}},`setOptions`),getConfig:x,clear:t(()=>{o(),y=structuredClone(v)},`clear`),setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:d,getAccDescription:u,setAccDescription:r},k=t(e=>{g(e,O);let{axes:t,curves:n,options:r}=e;O.setAxes(t),O.setCurves(n),O.setOptions(r)},`populate`),A={parse:t(async t=>{let n=await h(`radar`,t);e.debug(n),k(n)},`parse`)},j=t((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=M(m(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;N(u,a,p,s.ticks,s.graticule),P(u,a,p,c),F(u,a,o,f,d,s.graticule,c),R(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),M=t((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return c(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),N=t((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),P=t((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2;e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*Math.cos(s)).attr(`y2`,n*r.axisScaleFactor*Math.sin(s)).attr(`class`,`radarAxisLine`),e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*Math.cos(s)).attr(`y`,n*r.axisLabelFactor*Math.sin(s)).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function F(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=I(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,L(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}t(F,`drawCurves`);function I(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}t(I,`relativeRadius`);function L(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}t(L,`closedRoundCurve`);function R(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}t(R,`drawLegend`);var z={draw:j},B=t((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
2
+ .radarCurve-${r} {
3
+ color: ${i};
4
+ fill: ${i};
5
+ fill-opacity: ${t.curveOpacity};
6
+ stroke: ${i};
7
+ stroke-width: ${t.curveStrokeWidth};
8
+ }
9
+ .radarLegendBox-${r} {
10
+ fill: ${i};
11
+ fill-opacity: ${t.curveOpacity};
12
+ stroke: ${i};
13
+ }
14
+ `}return n},`genIndexStyles`),V=t(e=>{let t=p(n(),s().themeVariables);return{themeVariables:t,radarOptions:p(t.radar,e)}},`buildRadarStyleOptions`),H={parser:A,db:O,renderer:z,styles:t(({radar:e}={})=>{let{themeVariables:t,radarOptions:n}=V(e);return`
15
+ .radarTitle {
16
+ font-size: ${t.fontSize};
17
+ color: ${t.titleColor};
18
+ dominant-baseline: hanging;
19
+ text-anchor: middle;
20
+ }
21
+ .radarAxisLine {
22
+ stroke: ${n.axisColor};
23
+ stroke-width: ${n.axisStrokeWidth};
24
+ }
25
+ .radarAxisLabel {
26
+ dominant-baseline: middle;
27
+ text-anchor: middle;
28
+ font-size: ${n.axisLabelFontSize}px;
29
+ color: ${n.axisColor};
30
+ }
31
+ .radarGraticule {
32
+ fill: ${n.graticuleColor};
33
+ fill-opacity: ${n.graticuleOpacity};
34
+ stroke: ${n.graticuleColor};
35
+ stroke-width: ${n.graticuleStrokeWidth};
36
+ }
37
+ .radarLegendText {
38
+ text-anchor: start;
39
+ font-size: ${n.legendFontSize}px;
40
+ dominant-baseline: hanging;
41
+ }
42
+ ${B(t,n)}
43
+ `},`styles`)};export{H as diagram};
44
+ //# sourceMappingURL=diagram-2AECGRRQ-DoDQ60wi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-2AECGRRQ-DoDQ60wi.js","names":["getThemeVariables"],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-2AECGRRQ.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * Math.cos(angle)).attr(\"y2\", radius * config.axisScaleFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLine\");\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * Math.cos(angle)).attr(\"y\", radius * config.axisLabelFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import{g as e,h as t}from"./src-ZI-V_AF0.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{i as f}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{u as p}from"./index-D8W97DAz.js";import{t as m}from"./mermaid-parser.core-CpuBOkFa.js";import{t as h}from"./chunk-4BX2VUAB-DUuEt70o.js";import{t as g}from"./chunk-QZHKN3VN-CSjc2gjj.js";var _=new g(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,children:[]}]})),v=t(()=>{_.reset(),a()},`clear`),y=t(()=>_.records.stack[0],`getRoot`),b=t(()=>_.records.cnt,`getCount`),x=c.treeView,S={clear:v,addNode:t((e,t)=>{for(;e<=_.records.stack[_.records.stack.length-1].level;)_.records.stack.pop();let n={id:_.records.cnt++,level:e,name:t,children:[]};_.records.stack[_.records.stack.length-1].children.push(n),_.records.stack.push(n)},`addNode`),getRoot:y,getCount:b,getConfig:t(()=>f(x,o().treeView),`getConfig`),getAccTitle:d,getAccDescription:l,getDiagramTitle:u,setAccDescription:n,setAccTitle:i,setDiagramTitle:r},C=t(e=>{h(e,S),e.nodes.map(e=>S.addNode(e.indent?parseInt(e.indent):0,e.name))},`populate`),w={parse:t(async t=>{let n=await m(`treeView`,t);e.debug(n),C(n)},`parse`)},T=t((e,t,n,r,i)=>{let a=r.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-label`),{height:o,width:s}=a.node().getBBox(),c=o+i.paddingY*2,l=s+i.paddingX*2;a.attr(`x`,e+i.paddingX),a.attr(`y`,t+c/2),n.BBox={x:e,y:t,width:l,height:c}},`positionLabel`),E=t((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),D=t((e,n,r)=>{let i=0,a=0,o=t((e,t,n,r)=>{let o=r*(n.rowIndent+n.paddingX);T(o,i,t,e,n);let{height:s,width:c}=t.BBox;E(e,o-n.rowIndent,i+s/2,o,i+s/2,n.lineThickness),a=Math.max(a,o+c),i+=s},`drawNode`),s=t((t,n=0)=>{o(e,t,r,n),t.children.forEach(e=>{s(e,n+1)});let{x:i,y:a,height:c}=t.BBox;if(t.children.length){let{y:n,height:o}=t.children[t.children.length-1].BBox;E(e,i+r.paddingX,a+c,i+r.paddingX,n+o/2+r.lineThickness/2,r.lineThickness)}},`processNode`);return s(n),{totalHeight:i,totalWidth:a}},`drawTree`),O={draw:t((t,n,r,i)=>{e.debug(`Rendering treeView diagram
2
+ `+t);let a=i.db,o=a.getRoot(),c=a.getConfig(),l=p(n),u=l.append(`g`);u.attr(`class`,`tree-view`);let{totalHeight:d,totalWidth:f}=D(u,o,c);l.attr(`viewBox`,`-${c.lineThickness/2} 0 ${f} ${d}`),s(l,d,f,c.useMaxWidth)},`draw`)},k={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`},A={db:S,renderer:O,parser:w,styles:t(({treeView:e})=>{let{labelFontSize:t,labelColor:n,lineColor:r}=f(k,e);return`
3
+ .treeView-node-label {
4
+ font-size: ${t};
5
+ fill: ${n};
6
+ }
7
+ .treeView-node-line {
8
+ stroke: ${r};
9
+ }
10
+ `},`styles`)};export{A as diagram};
11
+ //# sourceMappingURL=diagram-5GNKFQAL-CMGFxpUs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-5GNKFQAL-CMGFxpUs.js","names":[],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-5GNKFQAL.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-QZHKN3VN.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n ast.nodes.map((node) => db_default.addNode(node.indent ? parseInt(node.indent) : 0, node.name));\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"treeView\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/treeView/renderer.ts\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config) => {\n const label = domElem.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-label\");\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const width = labelWidth + config.paddingX * 2;\n label.attr(\"x\", x + config.paddingX);\n label.attr(\"y\", y + height / 2);\n node.BBox = {\n x,\n y,\n width,\n height\n };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n positionLabel(indent, totalHeight, node, elem2, config2);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name((text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const { labelFontSize, labelColor, lineColor } = cleanAndMerge(\n defaultTreeViewDiagramStyles,\n treeView\n );\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import{g as e,h as t,p as n}from"./src-ZI-V_AF0.js";import{H as r,K as i,U as a,Y as o,a as s,b as c,f as l,v as u,w as d,x as f,y as p,z as m}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{_ as h,i as g,t as ee}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{b as te}from"./chunk-NNHCCRGN-DlpIbxXb.js";import{t as ne}from"./mermaid-parser.core-CpuBOkFa.js";import{t as re}from"./chunk-4BX2VUAB-DUuEt70o.js";var _=`position frame`,v=`frame positioned`,y=`position relation`,b=`relation positioned`,ie=t(function(t){e.debug(`options str`,t)},`setOptions`),ae=t(function(){return{}},`getOptions`),oe=t(function(){x(),s()},`clear`);function x(){S={}}t(x,`reset`);var se=l.eventmodeling,ce=t(()=>g({...se,...c().eventmodeling}),`getConfig`),S={};function C(){let t=le,{ast:n}=S,r=E();if(!n)throw Error(`No data for EventModel`);return n.frames.forEach((i,a)=>{let o=N(i,n.dataEntities,r);t=q(t,{$kind:_,index:a,frame:i,textProps:o});let s;B(i)?(e.debug(`source frame`,i.sourceFrames),s=n.frames.filter(e=>i.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(e=>{t=q(t,{$kind:y,index:a,frame:i,sourceFrame:e})})):t=q(t,{$kind:y,index:a,frame:i})}),t={...t,sortedSwimlanesArray:L(t.swimlanes)},t}t(C,`getState`);function w(e){S.ast=e}t(w,`setAst`);var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function E(){return T}t(E,`getDiagramProps`);var le={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function D(e){let t=e.split(`.`);if(t.length===2)return t[0]}t(D,`extractNamespace`);function O(e){let t=e.split(`.`);return t.length===2?t[1]:e}t(O,`extractName`);function k(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}t(k,`findSwimlaneByNamespace`);function A(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}t(A,`findNextAvailableIndex`);function j(e,t){let n=D(e.entityIdentifier),r=k(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||T.labelUiAutomation}:n?{index:A(t,0,100),label:T.labelUiAutomationPrefix+n}:{index:0,label:T.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||T.labelCommandReadModel}:n?{index:A(t,100,200),label:T.labelCommandReadModelPrefix+n}:{index:100,label:T.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||T.labelEvents}:n?{index:A(t,200,300),label:T.labelEventsPrefix+n}:{index:200,label:T.labelEvents}}}t(j,`calculateSwimlaneProps`);function M(e){let{themeVariables:t}=c();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}t(M,`calculateEntityVisualProps`);function N(t,n,r){let i=c(),a=m(O(t.entityIdentifier)??``,i),o,s={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},l=`<b>${h(a,r.textMaxWidth,s)}</b>`;if(t.dataInlineValue&&(o=t.dataInlineValue,o=o.substring(o.indexOf(`{`)+1),o=o.substring(0,o.lastIndexOf(`}`)-1),o=m(o,i),o=h(o,r.textMaxWidth,s),o=o.replaceAll(` `,`&nbsp;`)),t.dataReference){let e=n.find(e=>e.name===t.dataReference?.$refText);e&&(o=e.dataBlockValue,o=o.substring(o.indexOf(`{
2
+ `)+2),o=o.substring(0,o.lastIndexOf(`}`)-1),o=m(o,i),o=h(o,r.textMaxWidth,s),o=o.replaceAll(` `,`&nbsp;`),o+=`<br/>`)}let u=o!==void 0;u&&(l+=`<br/><br/><code style="text-align: left; display: block;max-width:${r.textMaxWidth}px">${o}</code>`);let d={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=ee(l,d),p=u?f.width/3:f.width,g={content:l,width:p,height:f.height};return e.debug(`[${t.name}] ${t.entityIdentifier} text`,g),g}t(N,`calculateTextProps`);function P(e,t){let n=t,r=M(n.frame),i={width:n.textProps.width+2*T.boxTextPadding,height:n.textProps.height+2*T.boxTextPadding};return[{$kind:v,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}t(P,`decidePositionFrame`);function F(e,t,n){return t===void 0?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:n===void 0?T.contentStartX:n.r-T.boxOverlap+T.boxPadding}t(F,`calculateX`);function I(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}t(I,`calculateMaxRight`);function L(e){return Object.values(e).sort((e,t)=>e.index-t.index)}t(L,`sortedSwimlanesArray`);function R(e,t){let n=t,r=j(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,n.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,n.dimension.height))+2*T.boxPadding},c=F(i,o,a),l=c+s.width+T.boxPadding,u=I(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding;let d={x:c,y:T.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=L(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+T.swimlaneGap}return f}t(R,`evolveFramePositioned`);function z(e,t){return e===0&&t.sourceFrames.length===0}t(z,`isFirstFrame`);function B(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}t(B,`hasSourceFrame`);function V(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}t(V,`findBoxByFrame`);function H(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}t(H,`findBoxByLineIndex`);function U(e,t){let n=t;if(te(n.frame)||z(n.index,n.frame))return[];let r=V(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let i;return i=n.sourceFrame?V(e.boxes,n.sourceFrame):H(e.boxes,r.swimlane.index,n.index-1),i===void 0?[]:[{$kind:b,frame:n.frame,index:n.index,sourceBox:i,targetBox:r}]}t(U,`decidePositionRelation`);function W(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}t(W,`evolveRelationPositioned`);var ue={[_]:P,[y]:U},de={[v]:R,[b]:W};function G(t,n){let r=ue[n.$kind];if(r==null)return[];let i=r(t,n);return e.debug(`decided events`,i),i}t(G,`decide`);function K(t,n){let r=n.reduce((e,t)=>{let n=de[t.$kind];return n==null?e:n(e,t)},t);return e.debug(`evolve events`,{state:t,newState:r,events:n}),r}t(K,`evolve`);function q(e,t){return K(e,G(e,t))}t(q,`dispatch`);var J={getConfig:ce,setOptions:ie,getOptions:ae,clear:oe,setAccTitle:a,getAccTitle:p,getAccDescription:u,setAccDescription:r,setDiagramTitle:i,getDiagramTitle:d,setAst:w,getDiagramProps:E,getState:C},fe={parse:t(async t=>{let n=await ne(`eventmodeling`,t);e.debug(n),J.setAst(n),re(n,J)},`parse`)},Y=f()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.boxPadding).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`).append(`span`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).html(n.text)}}t(X,`renderD3Box`);function Z(e,t){return e>t}t(Z,`dirUpwards`);function Q(t,n,r,i){return a=>{let o=a.sourceBox.swimlane.y+n.swimlanePadding,s=a.targetBox.swimlane.y+n.swimlanePadding,c=Z(o,s),l=a.sourceBox.x+a.sourceBox.dimension.width*2/3,u=a.targetBox.x+a.targetBox.dimension.width/3,d,f;e.debug(`rendering relation up=${c} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),c?(d=o,f=s+a.targetBox.dimension.height):(d=o+a.sourceBox.dimension.height,f=s);let p=i.emRelationStroke??a.visual.stroke;t.append(`path`).attr(`class`,`em-relation`).attr(`fill`,a.visual.fill).attr(`stroke`,p).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${r})`).attr(`d`,`M${l} ${d} L${u} ${f}`)}}t(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}t($,`renderD3Swimlane`);var pe={parser:fe,db:J,renderer:{draw:t(function(t,r,i,a){if(e.debug(`in eventmodeling renderer`,t+`
3
+ `,`id:`,r,i),!Y)throw Error(`EventModeling config not found`);let s=a.db,{themeVariables:c,eventmodeling:l}=f(),u=n(`[id="${r}"]`),d=s.getDiagramProps(),p=s.getState(),m=`em-arrowhead-${r}`,h=c.emArrowhead??`#000000`;p.sortedSwimlanesArray.forEach($(u,p.maxR,d,c)),p.boxes.forEach(X(u,d)),p.relations.forEach(Q(u,d,m,c)),u.append(`defs`).append(`marker`).attr(`id`,m).attr(`markerWidth`,`10`).attr(`markerHeight`,`7`).attr(`refX`,`10`).attr(`refY`,`3.5`).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0 0, 10 3.5, 0 7`).attr(`fill`,h),o(void 0,u,l?.padding??30,l?.useMaxWidth)},`draw`)},styles:t(e=>``,`getStyles`)};export{pe as diagram};
4
+ //# sourceMappingURL=diagram-KO2AKTUF-1uGDa-Iu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-KO2AKTUF-1uGDa-Iu.js","names":["select"],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n calculateTextDimensions,\n cleanAndMerge,\n wrapLabel\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/eventmodeling/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/db.ts\nimport { isEmResetFrame } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/types.ts\nvar PositionFrameKind = \"position frame\";\nvar FramePositionedKind = \"frame positioned\";\nvar PositionRelationKind = \"position relation\";\nvar RelationPositionedKind = \"relation positioned\";\n\n// src/diagrams/eventmodeling/db.ts\nvar setOptions = /* @__PURE__ */ __name(function(_rawOptString) {\n log.debug(\"options str\", _rawOptString);\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return {};\n}, \"getOptions\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n reset();\n clear();\n}, \"clear\");\nfunction reset() {\n store = {};\n}\n__name(reset, \"reset\");\nvar DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_EVENTMODELING_CONFIG,\n ...getConfig().eventmodeling\n });\n return config;\n}, \"getConfig\");\nvar store = {};\nfunction getState() {\n let state = initial;\n const { ast } = store;\n const diagramProps2 = getDiagramProps();\n if (!ast) {\n throw new Error(\"No data for EventModel\");\n }\n ast.frames.forEach((frame, index) => {\n const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);\n state = dispatch(state, {\n $kind: PositionFrameKind,\n index,\n frame,\n textProps\n });\n let sourceFrames = void 0;\n if (hasSourceFrame(frame)) {\n log.debug(`source frame`, frame.sourceFrames);\n sourceFrames = ast.frames.filter((currentFrame) => {\n return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);\n });\n sourceFrames.forEach((sourceFrame) => {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame,\n sourceFrame\n });\n });\n } else {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame\n });\n }\n });\n state = {\n ...state,\n sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)\n };\n return state;\n}\n__name(getState, \"getState\");\nfunction setAst(ast) {\n store.ast = ast;\n}\n__name(setAst, \"setAst\");\nvar diagramProps = {\n swimlaneMinHeight: 70,\n swimlanePadding: 15,\n swimlaneGap: 10,\n boxPadding: 10,\n boxOverlap: 90,\n boxDefaultY: 0,\n boxMinWidth: 80,\n boxMaxWidth: 450,\n boxMinHeight: 80,\n boxMaxHeight: 750,\n contentStartX: 250,\n textMaxWidth: 450 - 2 * 10,\n boxTextFontWeight: \"bold\",\n boxTextPadding: 10,\n swimlaneTextFontWeight: \"bold\",\n labelUiAutomation: \"UI/Automation\",\n labelUiAutomationPrefix: \"UI/A: \",\n labelCommandReadModel: \"Command/Read Model\",\n labelCommandReadModelPrefix: \"C/RM: \",\n labelEvents: \"Events\",\n labelEventsPrefix: \"Stream: \"\n};\nfunction getDiagramProps() {\n return diagramProps;\n}\n__name(getDiagramProps, \"getDiagramProps\");\nvar initial = {\n boxes: [],\n swimlanes: {},\n relations: [],\n maxR: 0,\n sortedSwimlanesArray: []\n};\nfunction extractNamespace(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[0];\n }\n return void 0;\n}\n__name(extractNamespace, \"extractNamespace\");\nfunction extractName(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[1];\n }\n return entityIdentifier;\n}\n__name(extractName, \"extractName\");\nfunction findSwimlaneByNamespace(swimlanes, namespace) {\n if (!namespace || namespace.length === 0) {\n return void 0;\n }\n return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);\n}\n__name(findSwimlaneByNamespace, \"findSwimlaneByNamespace\");\nfunction findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {\n return Math.max(\n boundaryMin,\n ...Object.keys(swimlanes).filter((key) => {\n const index = Number.parseInt(key);\n return index > boundaryMin && index < boundaryMax;\n }).map((key) => Number.parseInt(key))\n ) + 1;\n}\n__name(findNextAvailableIndex, \"findNextAvailableIndex\");\nfunction calculateSwimlaneProps(frame, swimlanes) {\n const namespace = extractNamespace(frame.entityIdentifier);\n const sw = findSwimlaneByNamespace(swimlanes, namespace);\n switch (frame.modelEntityType) {\n case \"ui\":\n case \"pcr\":\n case \"processor\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelUiAutomation\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 0, 100),\n label: diagramProps.labelUiAutomationPrefix + namespace\n };\n }\n return { index: 0, label: diagramProps.labelUiAutomation };\n case \"rmo\":\n case \"readmodel\":\n case \"cmd\":\n case \"command\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelCommandReadModel\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 100, 200),\n label: diagramProps.labelCommandReadModelPrefix + namespace\n };\n }\n return { index: 100, label: diagramProps.labelCommandReadModel };\n case \"evt\":\n case \"event\":\n default:\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelEvents\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 200, 300),\n label: diagramProps.labelEventsPrefix + namespace\n };\n }\n return { index: 200, label: diagramProps.labelEvents };\n }\n}\n__name(calculateSwimlaneProps, \"calculateSwimlaneProps\");\nfunction calculateEntityVisualProps(frame) {\n const { themeVariables } = getConfig();\n switch (frame.modelEntityType) {\n case \"ui\":\n return {\n fill: themeVariables.emUiFill ?? \"white\",\n stroke: themeVariables.emUiStroke ?? \"#dbdada\"\n };\n case \"pcr\":\n case \"processor\":\n return {\n fill: themeVariables.emProcessorFill ?? \"#edb3f6\",\n stroke: themeVariables.emProcessorStroke ?? \"#b88cbf\"\n };\n case \"rmo\":\n case \"readmodel\":\n return {\n fill: themeVariables.emReadModelFill ?? \"#d3f1a2\",\n stroke: themeVariables.emReadModelStroke ?? \"#a3b732\"\n };\n case \"cmd\":\n case \"command\":\n return {\n fill: themeVariables.emCommandFill ?? \"#bcd6fe\",\n stroke: themeVariables.emCommandStroke ?? \"#679ac3\"\n };\n case \"evt\":\n case \"event\":\n return {\n fill: themeVariables.emEventFill ?? \"#ffb778\",\n stroke: themeVariables.emEventStroke ?? \"#c19a0f\"\n };\n default:\n return {\n fill: \"red\",\n stroke: \"black\"\n };\n }\n}\n__name(calculateEntityVisualProps, \"calculateEntityVisualProps\");\nfunction calculateTextProps(frame, dataEntities, diagramProps2) {\n const config = getConfig();\n const name = sanitizeText(extractName(frame.entityIdentifier) ?? \"\", config);\n let toHtml;\n const wrapLabelConfig = {\n fontSize: 16,\n fontWeight: 700,\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n joinWith: \"<br/>\"\n };\n const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);\n let content = `<b>${wrappedName}</b>`;\n if (frame.dataInlineValue) {\n toHtml = frame.dataInlineValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\") + 1);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n }\n if (frame.dataReference) {\n const dataEntity = dataEntities.find(\n (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText\n );\n if (dataEntity) {\n toHtml = dataEntity.dataBlockValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\\n\") + 2);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n toHtml += `<br/>`;\n }\n }\n const hasRenderedData = toHtml !== void 0;\n if (hasRenderedData) {\n content += `<br/><br/><code style=\"text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px\">${toHtml}</code>`;\n }\n const textDimensionConfig = {\n fontSize: wrapLabelConfig.fontSize,\n fontWeight: wrapLabelConfig.fontWeight,\n fontFamily: wrapLabelConfig.fontFamily\n };\n const dimensions = calculateTextDimensions(content, textDimensionConfig);\n const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;\n const props = {\n content,\n width: calculatedWidthFix,\n height: dimensions.height\n };\n log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);\n return props;\n}\n__name(calculateTextProps, \"calculateTextProps\");\nfunction decidePositionFrame(state, _command) {\n const command = _command;\n const visual = calculateEntityVisualProps(command.frame);\n const dimension = {\n width: command.textProps.width + 2 * diagramProps.boxTextPadding,\n height: command.textProps.height + 2 * diagramProps.boxTextPadding\n };\n const event = {\n $kind: FramePositionedKind,\n frame: command.frame,\n index: command.index,\n visual,\n dimension,\n textProps: command.textProps\n };\n return [event];\n}\n__name(decidePositionFrame, \"decidePositionFrame\");\nfunction calculateX(swimlane, previousSwimlane, lastBox) {\n if (previousSwimlane === void 0) {\n return diagramProps.contentStartX;\n }\n if (previousSwimlane.index === swimlane.index && swimlane.r) {\n return swimlane.r + diagramProps.boxPadding;\n }\n if (lastBox === void 0) {\n return diagramProps.contentStartX;\n }\n return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;\n}\n__name(calculateX, \"calculateX\");\nfunction calculateMaxRight(swimlanes, swimlaneR) {\n const rs = [...swimlanes.map((s) => s.r), swimlaneR];\n return Math.max(...rs);\n}\n__name(calculateMaxRight, \"calculateMaxRight\");\nfunction sortedSwimlanesArray(swimlanes) {\n return Object.values(swimlanes).sort((a, b) => a.index - b.index);\n}\n__name(sortedSwimlanesArray, \"sortedSwimlanesArray\");\nfunction evolveFramePositioned(state, _event) {\n const event = _event;\n const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);\n let swimlane;\n if (swimlaneProps.index in state.swimlanes) {\n swimlane = state.swimlanes[swimlaneProps.index];\n } else {\n swimlane = {\n index: swimlaneProps.index,\n label: swimlaneProps.label,\n r: 0,\n y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,\n height: diagramProps.swimlaneMinHeight,\n maxHeight: diagramProps.swimlaneMinHeight\n };\n }\n const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;\n const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;\n const dimension = {\n width: Math.max(\n diagramProps.boxMinWidth,\n Math.min(diagramProps.boxMaxWidth, event.dimension.width)\n ) + 2 * diagramProps.boxPadding,\n height: Math.max(\n diagramProps.boxMinHeight,\n Math.min(diagramProps.boxMaxHeight, event.dimension.height)\n ) + 2 * diagramProps.boxPadding\n };\n const x = calculateX(swimlane, previousSwimlane, lastBox);\n const r = x + dimension.width + diagramProps.boxPadding;\n const maxR = calculateMaxRight(Object.values(state.swimlanes), r);\n swimlane.r = x + dimension.width;\n swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);\n swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;\n const box = {\n x,\n y: diagramProps.swimlanePadding + swimlane.y,\n // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),\n r,\n dimension,\n leftSibling: false,\n swimlane,\n visual: event.visual,\n text: event.textProps.content,\n frame: event.frame,\n index: event.index\n };\n const newState = {\n ...state,\n boxes: [...state.boxes, box],\n swimlanes: {\n ...state.swimlanes,\n [`${swimlane.index}`]: swimlane\n },\n previousSwimlaneNumber: swimlaneProps.index,\n previousFrame: event.frame,\n maxR\n };\n const swimlanes = sortedSwimlanesArray(newState.swimlanes);\n if (swimlanes.length > 0) {\n swimlanes[0].y = 0;\n }\n for (let i = 1; i < swimlanes.length; i++) {\n const sw = swimlanes[i];\n const prevSw = swimlanes[i - 1];\n sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;\n }\n return newState;\n}\n__name(evolveFramePositioned, \"evolveFramePositioned\");\nfunction isFirstFrame(index, frame) {\n if (index === 0 && frame.sourceFrames.length === 0) {\n return true;\n }\n return false;\n}\n__name(isFirstFrame, \"isFirstFrame\");\nfunction hasSourceFrame(frame) {\n return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;\n}\n__name(hasSourceFrame, \"hasSourceFrame\");\nfunction findBoxByFrame(boxes, frame) {\n if (frame === void 0 || frame === null) {\n return void 0;\n }\n return boxes.find((box) => box.frame.name === frame.name);\n}\n__name(findBoxByFrame, \"findBoxByFrame\");\nfunction findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {\n if (lineIndex < 0) {\n return void 0;\n }\n for (let i = lineIndex; i >= 0; i--) {\n const box = boxes[i];\n if (box.swimlane.index !== targetSwimlane) {\n return box;\n }\n }\n return void 0;\n}\n__name(findBoxByLineIndex, \"findBoxByLineIndex\");\nfunction decidePositionRelation(state, _command) {\n const command = _command;\n if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {\n return [];\n }\n const targetBox = findBoxByFrame(state.boxes, command.frame);\n if (targetBox === void 0) {\n throw new Error(`Target box not found for frame ${command.frame.name}`);\n }\n let sourceBox;\n if (command.sourceFrame) {\n sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);\n } else {\n sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);\n }\n if (sourceBox === void 0) {\n return [];\n }\n const event = {\n $kind: RelationPositionedKind,\n frame: command.frame,\n index: command.index,\n sourceBox,\n targetBox\n };\n return [event];\n}\n__name(decidePositionRelation, \"decidePositionRelation\");\nfunction evolveRelationPositioned(state, _event) {\n const event = _event;\n const relation = {\n visual: {\n fill: \"none\",\n stroke: \"#000\"\n },\n source: {\n x: event.sourceBox.x,\n y: event.sourceBox.y\n },\n target: {\n x: event.targetBox.x,\n y: event.targetBox.y\n },\n sourceBox: event.sourceBox,\n targetBox: event.targetBox\n };\n const newState = {\n ...state,\n relations: [...state.relations, relation]\n };\n return newState;\n}\n__name(evolveRelationPositioned, \"evolveRelationPositioned\");\nvar deciders = {\n [PositionFrameKind]: decidePositionFrame,\n [PositionRelationKind]: decidePositionRelation\n};\nvar evolvers = {\n [FramePositionedKind]: evolveFramePositioned,\n [RelationPositionedKind]: evolveRelationPositioned\n};\nfunction decide(state, command) {\n const fn = deciders[command.$kind];\n if (fn === void 0 || fn === null) {\n return [];\n }\n const events = fn(state, command);\n log.debug(`decided events`, events);\n return events;\n}\n__name(decide, \"decide\");\nfunction evolve(state, events) {\n const newState = events.reduce((previousState, event) => {\n const fn = evolvers[event.$kind];\n if (fn === void 0 || fn === null) {\n return previousState;\n }\n return fn(previousState, event);\n }, state);\n log.debug(`evolve events`, { state, newState, events });\n return newState;\n}\n__name(evolve, \"evolve\");\nfunction dispatch(state, command) {\n const events = decide(state, command);\n const newState = evolve(state, events);\n return newState;\n}\n__name(dispatch, \"dispatch\");\nvar db = {\n getConfig: getConfig3,\n setOptions,\n getOptions,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n setAst,\n getDiagramProps,\n getState\n};\n\n// src/diagrams/eventmodeling/parser.ts\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"eventmodeling\", input);\n log.debug(ast);\n db.setAst(ast);\n populateCommonDb(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"EventModeling Parser\", () => {\n it(\"should parse simple model\", () => {\n const result = parser.parse(`eventmodeling\n tf 01 evt Start\n\n `);\n expect(result !== void 0);\n });\n });\n}\n\n// src/diagrams/eventmodeling/renderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;\nfunction renderD3Box(diagram2, diagramProps2) {\n return (box) => {\n const y = box.swimlane.y + diagramProps2.swimlanePadding;\n const g = diagram2.append(\"g\").attr(\"class\", \"em-box\");\n g.append(\"rect\").attr(\"x\", box.x).attr(\"y\", y).attr(\"rx\", \"3\").attr(\"width\", box.dimension.width).attr(\"height\", box.dimension.height).attr(\"stroke\", box.visual.stroke).attr(\"fill\", box.visual.fill);\n const f = g.append(\"foreignObject\").attr(\"x\", box.x + diagramProps2.boxPadding).attr(\"y\", y + 10).attr(\"width\", box.dimension.width - 2 * diagramProps2.boxPadding).attr(\"height\", box.dimension.height - 2 * diagramProps2.boxPadding);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"span\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(box.text);\n };\n}\n__name(renderD3Box, \"renderD3Box\");\nfunction dirUpwards(sourceY, targetY) {\n return sourceY > targetY;\n}\n__name(dirUpwards, \"dirUpwards\");\nfunction renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {\n return (relation) => {\n const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;\n const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;\n const upwards = dirUpwards(sourceBoxY, targetBoxY);\n const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;\n const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;\n let sourceY;\n let targetY;\n log.debug(`rendering relation up=${upwards} for `, {\n sourceBox: relation.sourceBox,\n targetBox: relation.targetBox\n });\n if (upwards) {\n sourceY = sourceBoxY;\n targetY = targetBoxY + relation.targetBox.dimension.height;\n } else {\n sourceY = sourceBoxY + relation.sourceBox.dimension.height;\n targetY = targetBoxY;\n }\n const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;\n diagram2.append(\"path\").attr(\"class\", \"em-relation\").attr(\"fill\", relation.visual.fill).attr(\"stroke\", relationStroke).attr(\"stroke-width\", \"1\").attr(\"marker-end\", `url(#${arrowheadId})`).attr(\"d\", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);\n };\n}\n__name(renderD3Relation, \"renderD3Relation\");\nfunction renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {\n return (swimlane) => {\n const g = diagram2.append(\"g\").attr(\"class\", \"em-swimlane\");\n const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? \"rgb(250,250,250)\";\n const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? \"rgb(240,240,240)\";\n g.append(\"rect\").attr(\"x\", 0).attr(\"y\", swimlane.y).attr(\"rx\", \"3\").attr(\"width\", maxR + diagramProps2.swimlanePadding).attr(\"height\", swimlane.height).attr(\"fill\", oddBackground).attr(\"stroke\", backgroundStroke);\n g.append(\"text\").attr(\"font-weight\", diagramProps2.swimlaneTextFontWeight).attr(\"x\", 30).attr(\"y\", swimlane.y + 30).text(swimlane.label);\n };\n}\n__name(renderD3Swimlane, \"renderD3Swimlane\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n log.debug(\"in eventmodeling renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_EVENTMODELING_CONFIG2) {\n throw new Error(\"EventModeling config not found\");\n }\n const db2 = diagObj.db;\n const { themeVariables, eventmodeling: config } = getConfig2();\n const diagram2 = select(`[id=\"${id}\"]`);\n const diagramProps2 = db2.getDiagramProps();\n const state = db2.getState();\n const arrowheadId = `em-arrowhead-${id}`;\n const arrowheadColor = themeVariables.emArrowhead ?? \"#000000\";\n state.sortedSwimlanesArray.forEach(\n renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)\n );\n state.boxes.forEach(renderD3Box(diagram2, diagramProps2));\n state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));\n const marker = diagram2.append(\"defs\").append(\"marker\").attr(\"id\", arrowheadId).attr(\"markerWidth\", \"10\").attr(\"markerHeight\", \"7\").attr(\"refX\", \"10\").attr(\"refY\", \"3.5\").attr(\"orient\", \"auto\");\n marker.append(\"polygon\").attr(\"points\", \"0 0, 10 3.5, 0 7\").attr(\"fill\", arrowheadColor);\n setupGraphViewbox(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);\n}, \"draw\");\nvar renderer_default = {\n draw\n};\n\n// src/diagrams/eventmodeling/styles.js\nvar getStyles = /* @__PURE__ */ __name((_options) => ``, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/eventmodeling/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer: renderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import{g as e,h as t}from"./src-ZI-V_AF0.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{i as f}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{u as p}from"./index-D8W97DAz.js";import{t as m}from"./mermaid-parser.core-CpuBOkFa.js";import{t as h}from"./chunk-4BX2VUAB-DUuEt70o.js";var g=c.packet,_=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=d,this.setDiagramTitle=r,this.getDiagramTitle=u,this.getAccDescription=l,this.setAccDescription=n}static{t(this,`PacketDB`)}getConfig(){let e=f({...g,...o().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){a(),this.packet=[]}},v=1e4,y=t((t,n)=>{h(t,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of t.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,e.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=t((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:t(async t=>{let n=await m(`packet`,t),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);e.debug(n),y(n,r)},`parse`)},S=t((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:c,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+c,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),s(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=t((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:t(({packet:e}={})=>{let t=f(T,e);return`
2
+ .packetByte {
3
+ font-size: ${t.byteFontSize};
4
+ }
5
+ .packetByte.start {
6
+ fill: ${t.startByteColor};
7
+ }
8
+ .packetByte.end {
9
+ fill: ${t.endByteColor};
10
+ }
11
+ .packetLabel {
12
+ fill: ${t.labelColor};
13
+ font-size: ${t.labelFontSize};
14
+ }
15
+ .packetTitle {
16
+ fill: ${t.titleColor};
17
+ font-size: ${t.titleFontSize};
18
+ }
19
+ .packetBlock {
20
+ stroke: ${t.blockStrokeColor};
21
+ stroke-width: ${t.blockStrokeWidth};
22
+ fill: ${t.blockFillColor};
23
+ }
24
+ `},`styles`)};export{E as diagram};
25
+ //# sourceMappingURL=diagram-LMA3HP47-XtFH7B51.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-LMA3HP47-XtFH7B51.js","names":[],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-LMA3HP47.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/packet/db.ts\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar PacketDB = class {\n constructor() {\n this.packet = [];\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"PacketDB\");\n }\n getConfig() {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n }\n getPacket() {\n return this.packet;\n }\n pushWord(word) {\n if (word.length > 0) {\n this.packet.push(word);\n }\n }\n clear() {\n clear();\n this.packet = [];\n }\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n // @ts-expect-error - PacketDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n const db = parser.parser?.yy;\n if (!(db instanceof PacketDB)) {\n throw new Error(\n \"parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const config = db.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db.getPacket();\n const title = db.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new PacketDB();\n },\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"wVA2BA,IAAI,EAAwB,EAAsB,OAC9C,EAAW,KAAM,CACnB,aAAc,CACZ,KAAK,OAAS,CAAC,EACf,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,gBAAkB,EACvB,KAAK,gBAAkB,EACvB,KAAK,kBAAoB,EACzB,KAAK,kBAAoB,CAC3B,CACA,OACE,EAAO,KAAM,UAAU,CACzB,CACA,WAAY,CACV,IAAM,EAAS,EAAc,CAC3B,GAAG,EACH,GAAG,EAAU,EAAE,MACjB,CAAC,EAID,OAHI,EAAO,WACT,EAAO,UAAY,IAEd,CACT,CACA,WAAY,CACV,OAAO,KAAK,MACd,CACA,SAAS,EAAM,CACT,EAAK,OAAS,GAChB,KAAK,OAAO,KAAK,CAAI,CAEzB,CACA,OAAQ,CACN,EAAM,EACN,KAAK,OAAS,CAAC,CACjB,CACF,EAII,EAAgB,IAChB,EAA2B,GAAQ,EAAK,IAAO,CACjD,EAAiB,EAAK,CAAE,EACxB,IAAI,EAAU,GACV,EAAO,CAAC,EACR,EAAM,EACJ,CAAE,cAAe,EAAG,UAAU,EACpC,IAAK,GAAI,CAAE,QAAO,MAAK,OAAM,WAAW,EAAI,OAAQ,CAClD,GAAI,IAAU,IAAK,IAAK,IAAQ,IAAK,IAAK,EAAM,EAC9C,MAAU,MAAM,gBAAgB,EAAM,KAAK,EAAI,6CAA6C,EAG9F,GADA,IAAU,EAAU,EAChB,IAAU,EAAU,EACtB,MAAU,MACR,gBAAgB,EAAM,KAAK,GAAO,EAAM,2CAA2C,EAAU,EAAE,EACjG,EAEF,GAAI,IAAS,EACX,MAAU,MAAM,gBAAgB,EAAM,2CAA2C,EAMnF,IAJA,IAAQ,GAAS,GAAQ,GAAK,EAC9B,IAAS,EAAM,EAAQ,EACvB,EAAU,EACV,EAAI,MAAM,gBAAgB,EAAM,KAAK,EAAQ,cAAc,GAAO,EAC3D,EAAK,QAAU,EAAa,GAAK,EAAG,UAAU,EAAE,OAAS,GAAe,CAC7E,GAAM,CAAC,EAAO,GAAa,EAAoB,CAAE,QAAO,MAAK,OAAM,OAAM,EAAG,EAAK,CAAU,EAO3F,GANA,EAAK,KAAK,CAAK,EACX,EAAM,IAAM,IAAM,EAAM,IAC1B,EAAG,SAAS,CAAI,EAChB,EAAO,CAAC,EACR,KAEE,CAAC,EACH,OAED,+BAA8B,EACjC,CACF,CACA,EAAG,SAAS,CAAI,CAClB,EAAG,UAAU,EACT,EAAsC,GAAQ,EAAO,EAAK,IAAe,CAC3E,GAAI,EAAM,QAAU,IAAK,GACvB,MAAU,MAAM,+CAA+C,EAEjE,GAAI,EAAM,MAAQ,IAAK,GACrB,MAAU,MAAM,6CAA6C,EAE/D,GAAI,EAAM,MAAQ,EAAM,IACtB,MAAU,MAAM,eAAe,EAAM,MAAM,6BAA6B,EAAM,IAAI,EAAE,EAEtF,GAAI,EAAM,IAAM,GAAK,EAAM,EACzB,MAAO,CAAC,EAAO,IAAK,EAAC,EAEvB,IAAM,EAAS,EAAM,EAAa,EAC5B,EAAW,EAAM,EACvB,MAAO,CACL,CACE,MAAO,EAAM,MACb,IAAK,EACL,MAAO,EAAM,MACb,KAAM,EAAS,EAAM,KACvB,EACA,CACE,MAAO,EACP,IAAK,EAAM,IACX,MAAO,EAAM,MACb,KAAM,EAAM,IAAM,CACpB,CACF,CACF,EAAG,qBAAqB,EACpB,EAAS,CAEX,OAAQ,CAAE,GAAI,IAAK,EAAE,EACrB,MAAuB,EAAO,KAAO,IAAU,CAC7C,IAAM,EAAM,MAAM,EAAM,SAAU,CAAK,EACjC,EAAK,EAAO,QAAQ,GAC1B,GAAI,EAAE,aAAc,GAClB,MAAU,MACR,sJACF,EAEF,EAAI,MAAM,CAAG,EACb,EAAS,EAAK,CAAE,CAClB,EAAG,OAAO,CACZ,EAGI,EAAuB,GAAQ,EAAO,EAAI,EAAU,IAAa,CACnE,IAAM,EAAK,EAAS,GACd,EAAS,EAAG,UAAU,EACtB,CAAE,YAAW,WAAU,WAAU,cAAe,EAChD,EAAQ,EAAG,UAAU,EACrB,EAAQ,EAAG,gBAAgB,EAC3B,EAAiB,EAAY,EAC7B,EAAY,GAAkB,EAAM,OAAS,IAAM,EAAQ,EAAI,GAC/D,EAAW,EAAW,EAAa,EACnC,EAAM,EAAiB,CAAE,EAC/B,EAAI,KAAK,UAAW,OAAO,EAAS,GAAG,GAAW,EAClD,EAAiB,EAAK,EAAW,EAAU,EAAO,WAAW,EAC7D,IAAK,GAAM,CAAC,EAAM,KAAW,EAAM,QAAQ,EACzC,EAAS,EAAK,EAAQ,EAAM,CAAM,EAEpC,EAAI,OAAO,MAAM,EAAE,KAAK,CAAK,EAAE,KAAK,IAAK,EAAW,CAAC,EAAE,KAAK,IAAK,EAAY,EAAiB,CAAC,EAAE,KAAK,oBAAqB,QAAQ,EAAE,KAAK,cAAe,QAAQ,EAAE,KAAK,QAAS,aAAa,CAChM,EAAG,MAAM,EACL,EAA2B,GAAQ,EAAK,EAAM,EAAW,CAAE,YAAW,WAAU,WAAU,WAAU,aAAY,cAAe,CACjI,IAAM,EAAQ,EAAI,OAAO,GAAG,EACtB,EAAQ,GAAa,EAAY,GAAY,EACnD,IAAK,IAAM,KAAS,EAAM,CACxB,IAAM,EAAS,EAAM,MAAQ,EAAa,EAAW,EAC/C,GAAS,EAAM,IAAM,EAAM,MAAQ,GAAK,EAAW,EAGzD,GAFA,EAAM,OAAO,MAAM,EAAE,KAAK,IAAK,CAAM,EAAE,KAAK,IAAK,CAAK,EAAE,KAAK,QAAS,CAAK,EAAE,KAAK,SAAU,CAAS,EAAE,KAAK,QAAS,aAAa,EAClI,EAAM,OAAO,MAAM,EAAE,KAAK,IAAK,EAAS,EAAQ,CAAC,EAAE,KAAK,IAAK,EAAQ,EAAY,CAAC,EAAE,KAAK,QAAS,aAAa,EAAE,KAAK,oBAAqB,QAAQ,EAAE,KAAK,cAAe,QAAQ,EAAE,KAAK,EAAM,KAAK,EAC/L,CAAC,EACH,SAEF,IAAM,EAAgB,EAAM,MAAQ,EAAM,MACpC,EAAa,EAAQ,EAC3B,EAAM,OAAO,MAAM,EAAE,KAAK,IAAK,GAAU,EAAgB,EAAQ,EAAI,EAAE,EAAE,KAAK,IAAK,CAAU,EAAE,KAAK,QAAS,kBAAkB,EAAE,KAAK,oBAAqB,MAAM,EAAE,KAAK,cAAe,EAAgB,SAAW,OAAO,EAAE,KAAK,EAAM,KAAK,EACtO,GACH,EAAM,OAAO,MAAM,EAAE,KAAK,IAAK,EAAS,CAAK,EAAE,KAAK,IAAK,CAAU,EAAE,KAAK,QAAS,gBAAgB,EAAE,KAAK,oBAAqB,MAAM,EAAE,KAAK,cAAe,KAAK,EAAE,KAAK,EAAM,GAAG,CAEpL,CACF,EAAG,UAAU,EACT,EAAW,CAAE,MAAK,EAGlB,EAA4B,CAC9B,aAAc,OACd,eAAgB,QAChB,aAAc,QACd,WAAY,QACZ,cAAe,OACf,WAAY,QACZ,cAAe,OACf,iBAAkB,QAClB,iBAAkB,IAClB,eAAgB,SAClB,EA8BI,EAAU,CACZ,SACA,IAAI,IAAK,CACP,OAAO,IAAI,CACb,EACA,WACA,OAnC2B,GAAQ,CAAE,UAAW,CAAC,IAAM,CACvD,IAAM,EAAU,EAAc,EAA2B,CAAM,EAC/D,MAAO;;eAEM,EAAQ,aAAa;;;UAG1B,EAAQ,eAAe;;;UAGvB,EAAQ,aAAa;;;UAGrB,EAAQ,WAAW;eACd,EAAQ,cAAc;;;UAG3B,EAAQ,WAAW;eACd,EAAQ,cAAc;;;YAGzB,EAAQ,iBAAiB;kBACnB,EAAQ,iBAAiB;UACjC,EAAQ,eAAe;;EAGjC,EAAG,QASI,CACP"}
@@ -0,0 +1,25 @@
1
+ import{g as e,h as t,p as n}from"./src-ZI-V_AF0.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{t as m}from"./ordinal-hYBb2elL.js";import{t as h}from"./defaultLocale-C8Fc0cco.js";import{i as g}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{i as _,n as v}from"./chunk-NZK2D7GU-tnrSoegS.js";import{u as y}from"./index-D8W97DAz.js";import{t as b}from"./mermaid-parser.core-CpuBOkFa.js";import{t as x}from"./chunk-4BX2VUAB-DUuEt70o.js";import{t as S}from"./chunk-2J33WTMH-Coy82EBh.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o,this.getAccTitle=p,this.setDiagramTitle=a,this.getDiagramTitle=f,this.getAccDescription=d,this.setAccDescription=i}static{t(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=u,t=c();return g({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{v(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){s(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}t(X,`buildHierarchy`);var oe=t((e,n)=>{x(e,n);let r=[];for(let t of e.TreemapRows??[])t.$type===`ClassDefStatement`&&n.addClass(t.className??``,t.styleText??``);for(let t of e.TreemapRows??[]){let e=t.item;if(!e)continue;let i=t.indent?parseInt(t.indent):0,a=se(e),o=e.classSelector?n.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};r.push(c)}let i=X(r),a=t((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),se=t(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:t(async t=>{try{let n=await b(`treemap`,t);e.debug(`Treemap AST:`,n);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(n,r)}catch(t){throw e.error(`Error parsing treemap:`,t),t}},`parse`)},ce=10,Q=10,$=25,le={draw:t((r,i,a,o)=>{let s=o.db,u=s.getConfig(),d=u.padding??ce,f=s.getDiagramTitle(),p=s.getRoot(),{themeVariables:g}=c();if(!p)return;let v=f?30:0,b=y(i),x=u.nodeWidth?u.nodeWidth*Q:960,C=u.nodeHeight?u.nodeHeight*Q:500,w=x,T=C+v;b.attr(`viewBox`,`0 0 ${w} ${T}`),l(b,T,w,u.useMaxWidth);let E;try{let e=u.valueFormat||`,`;if(e===`$0,0`)E=t(e=>`$`+h(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=t(e=>`$`+h(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=t(e=>`$`+h(n||``)(e),`valueFormat`)}else E=h(e)}catch(t){e.error(`Error creating format function:`,t),E=h(`,`)}let D=m().range([`transparent`,g.cScale0,g.cScale1,g.cScale2,g.cScale3,g.cScale4,g.cScale5,g.cScale6,g.cScale7,g.cScale8,g.cScale9,g.cScale10,g.cScale11]),O=m().range([`transparent`,g.cScalePeer0,g.cScalePeer1,g.cScalePeer2,g.cScalePeer3,g.cScalePeer4,g.cScalePeer5,g.cScalePeer6,g.cScalePeer7,g.cScalePeer8,g.cScalePeer9,g.cScalePeer10,g.cScalePeer11]),k=m().range([g.cScaleLabel0,g.cScaleLabel1,g.cScaleLabel2,g.cScaleLabel3,g.cScaleLabel4,g.cScaleLabel5,g.cScaleLabel6,g.cScaleLabel7,g.cScaleLabel8,g.cScaleLabel9,g.cScaleLabel10,g.cScaleLabel11]);f&&b.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=b.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(p).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=_({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=n(this),r=e.data.name;t.text(r);let i=e.x1-e.x0,a;a=u.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=r;for(;e.length>0;){if(e=r.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),u.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>_({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.data.name).each(function(e){let t=n(this),r=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=r-8,s=i-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),u.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+_({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=n(this),r=this.parentNode;if(!r){t.style(`display`,`none`);return}let i=n(r).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),S(b,u.diagramPadding??8,`flowchart`,u?.useMaxWidth||!1)},`draw`),getClasses:t(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:t(({treemap:e}={})=>{let t=g(r(),c().themeVariables),n=g(ue,e),i=n.titleColor??t.titleColor,a=n.labelColor??t.textColor,o=n.valueColor??t.textColor;return`
2
+ .treemapNode.section {
3
+ stroke: ${n.sectionStrokeColor};
4
+ stroke-width: ${n.sectionStrokeWidth};
5
+ fill: ${n.sectionFillColor};
6
+ }
7
+ .treemapNode.leaf {
8
+ stroke: ${n.leafStrokeColor};
9
+ stroke-width: ${n.leafStrokeWidth};
10
+ fill: ${n.leafFillColor};
11
+ }
12
+ .treemapLabel {
13
+ fill: ${a};
14
+ font-size: ${n.labelFontSize};
15
+ }
16
+ .treemapValue {
17
+ fill: ${o};
18
+ font-size: ${n.valueFontSize};
19
+ }
20
+ .treemapTitle {
21
+ fill: ${i};
22
+ font-size: ${n.titleFontSize};
23
+ }
24
+ `},`getStyles`)};export{de as diagram};
25
+ //# sourceMappingURL=diagram-OG6HWLK6-B4_Te1T5.js.map