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
+ import{g as e,h as t,p as n}from"./src-ZI-V_AF0.js";import{O as r,c as i,s as a,x as o}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{et as s,g as c}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{t as l}from"./line-CzAQKFbJ.js";import"./chunk-BSJP7CBP-Oj_FO9Q7.js";import"./chunk-L5ZTLDWV-B1Ky_e7O.js";import"./chunk-NZK2D7GU-tnrSoegS.js";import"./chunk-O5CBEL6O-DxxqDH0l.js";import"./chunk-3OPIFGDE-BQC5CRHI.js";import"./index-D8W97DAz.js";import{t as u}from"./graphlib-B8gBHxth.js";import{t as d}from"./dagre-Bx709z4p.js";import"./chunk-55IACEB6-BvR-6chF.js";import"./chunk-2J33WTMH-Coy82EBh.js";import{i as f,n as p,t as m}from"./chunk-AQP2D5EJ-CXf7rIlZ.js";var h=t(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit).attr(`cy`,o().state.padding+o().state.sizeUnit),`drawStartState`),g=t(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,o().state.textHeight).attr(`class`,`divider`).attr(`x2`,o().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=t((e,t)=>{let n=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+2*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,r.width+2*o().state.padding).attr(`height`,r.height+2*o().state.padding).attr(`rx`,o().state.radius),n},`drawSimpleState`),v=t((e,n)=>{let r=t(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*o().state.padding).text(t);n||r.attr(`dy`,o().state.textHeight)},`addTspan`),i=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+1.3*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(n.descriptions[0]).node().getBBox(),a=i.height,s=e.append(`text`).attr(`x`,o().state.padding).attr(`y`,a+o().state.padding*.4+o().state.dividerMargin+o().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;n.descriptions.forEach(function(e){c||(r(s,e,l),l=!1),c=!1});let u=e.append(`line`).attr(`x1`,o().state.padding).attr(`y1`,o().state.padding+a+o().state.dividerMargin/2).attr(`y2`,o().state.padding+a+o().state.dividerMargin/2).attr(`class`,`descr-divider`),d=s.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(`x2`,f+3*o().state.padding),e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,f+2*o().state.padding).attr(`height`,d.height+a+2*o().state.padding).attr(`rx`,o().state.radius),e},`drawDescrState`),y=t((e,t,n)=>{let r=o().state.padding,i=2*o().state.padding,a=e.node().getBBox(),s=a.width,c=a.x,l=e.append(`text`).attr(`x`,0).attr(`y`,o().state.titleShift).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+i,d=Math.max(u,s);d===s&&(d+=i);let f,p=e.node().getBBox();t.doc,f=c-r,u>s&&(f=(s-d)/2+r),Math.abs(c-p.x)<r&&u>s&&(f=c-(u-s)/2);let m=1-o().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+o().state.textHeight+o().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+r),u<=s&&l.attr(`x`,c+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,o().state.textHeight*3).attr(`rx`,o().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*o().state.textHeight).attr(`rx`,o().state.radius),e},`addTitleAndBox`),b=t(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,o().state.sizeUnit+o().state.miniPadding).attr(`cx`,o().state.padding+o().state.sizeUnit+o().state.miniPadding).attr(`cy`,o().state.padding+o().state.sizeUnit+o().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit+2).attr(`cy`,o().state.padding+o().state.sizeUnit+2)),`drawEndState`),x=t((e,t)=>{let n=o().state.forkWidth,r=o().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,o().state.padding).attr(`y`,o().state.padding)},`drawForkJoinState`),S=t((e,t,n,r)=>{let i=0,s=r.append(`text`);s.style(`text-anchor`,`start`),s.attr(`class`,`noteText`);let c=e.replace(/\r\n/g,`<br/>`);c=c.replace(/\n/g,`<br/>`);let l=c.split(a.lineBreakRegex),u=1.25*o().state.noteMargin;for(let e of l){let r=e.trim();if(r.length>0){let e=s.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+o().state.noteMargin),e.attr(`y`,n+i+1.25*o().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:i}},`_drawLongText`),C=t((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,o().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*o().state.noteMargin),n.attr(`width`,r+o().state.noteMargin*2),n},`drawNote`),w=t(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type==="default"&&t.descriptions.length===0&&_(i,t),t.type==="default"&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*o().state.padding,r.height=a.height+2*o().state.padding,r},`drawState`),T=0,E=t(function(n,i,u){let d=t(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);i.points=i.points.filter(e=>!Number.isNaN(e.y));let f=i.points,p=l().x(function(e){return e.x}).y(function(e){return e.y}).curve(s),h=n.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(o().state.arrowMarkerAbsolute&&(g=r(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let t=n.append(`g`).attr(`class`,`stateLabel`),{x:r,y:s}=c.calcLabelPosition(i.points),l=a.getRows(u.title),d=0,f=[],p=0,m=0;for(let n=0;n<=l.length;n++){let i=t.append(`text`).attr(`text-anchor`,`middle`).text(l[n]).attr(`x`,r).attr(`y`,s+d),a=i.node().getBBox();p=Math.max(p,a.width),m=Math.min(m,a.x),e.info(a.x,r,s+d),d===0&&(d=i.node().getBBox().height,e.info(`Title height`,d,s)),f.push(i)}let h=d*l.length;if(l.length>1){let e=(l.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,s+n*d-e)),h=d*l.length}let g=t.node().getBBox();t.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,r-p/2-o().state.padding/2).attr(`y`,s-h/2-o().state.padding/2-3.5).attr(`width`,p+o().state.padding).attr(`height`,h+o().state.padding),e.info(g)}T++},`drawEdge`),D,O={},k=t(function(){},`setConf`),A=t(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=t(function(t,r,a,s){D=o().state;let c=o().securityLevel,l;c===`sandbox`&&(l=n(`#i`+r));let u=n(c===`sandbox`?l.nodes()[0].contentDocument.body:`body`),d=c===`sandbox`?l.nodes()[0].contentDocument:document;e.debug(`Rendering diagram `+t);let f=u.select(`[id='${r}']`);A(f),N(s.db.getRootDoc(),f.append(`g`).attr(`id`,r+`-root`),void 0,!1,u,d,s);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2;i(f,g,h*1.75,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=t(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=t((t,n,r,i,o,s,c)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<t.length;f++)if(t[f].stmt===`relation`){p=!1;break}r?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=c.db.getStates(),h=c.db.getRelations(),g=Object.keys(m);for(let e of g){let t=m[e];r&&(t.parentId=r);let a;if(t.doc){let e=n.append(`g`).attr(`id`,t.id).attr(`class`,`stateGroup`);a=N(t.doc,e,t.id,!i,o,s,c);{e=y(e,t,i);let n=e.node().getBBox();a.width=n.width,a.height=n.height+D.padding/2,O[t.id]={y:D.compositTitleSize}}}else a=w(n,t,l);if(t.note){let e=w(n,{descriptions:[],id:t.id+`-note`,note:t.note,type:`note`},l);t.note.position===`left of`?(l.setNode(a.id+`-note`,e),l.setNode(a.id,a)):(l.setNode(a.id,a),l.setNode(a.id+`-note`,e)),l.setParent(a.id,a.id+`-group`),l.setParent(a.id+`-note`,a.id+`-group`)}else l.setNode(a.id,a)}e.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(t){_++,e.debug(`Setting edge`,t),l.setEdge(t.id1,t.id2,{relation:t,width:M(t.title),height:D.labelHeight*a.getRows(t.title).length,labelpos:`c`},`id`+_)}),d(l),e.debug(`Graph after layout`,l.nodes());let v=n.node();l.nodes().forEach(function(t){t!==void 0&&l.node(t)!==void 0?(e.warn(`Node `+t+`: `+JSON.stringify(l.node(t))),o.select(`#`+v.id+` #`+t).attr(`transform`,`translate(`+(l.node(t).x-l.node(t).width/2)+`,`+(l.node(t).y+(O[t]?O[t].y:0)-l.node(t).height/2)+` )`),o.select(`#`+v.id+` #`+t).attr(`data-x-shift`,l.node(t).x-l.node(t).width/2),s.querySelectorAll(`#`+v.id+` #`+t+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):e.debug(`No Node `+t+`: `+JSON.stringify(l.node(t)))});let b=v.getBBox();l.edges().forEach(function(t){t!==void 0&&l.edge(t)!==void 0&&(e.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(l.edge(t))),E(n,l.edge(t),l.edge(t).relation))}),b=v.getBBox();let x={id:r||`root`,label:r||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,e.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:t(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
2
+ //# sourceMappingURL=stateDiagram-AJRCARHV-BKAA5rqE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateDiagram-AJRCARHV-BKAA5rqE.js","names":["getConfig","line","curveBasis","select","graphlib.Graph"],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport {\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n const rootG = diagram2.append(\"g\").attr(\"id\", id + \"-root\");\n renderDoc(rootDoc, rootG, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{h as e}from"./src-ZI-V_AF0.js";import"./chunk-CSCIHK7Q-CcTsLrFc.js";import"./chunk-5ZQYHXKU-BjcTN7ul.js";import"./chunk-BSJP7CBP-Oj_FO9Q7.js";import"./chunk-L5ZTLDWV-B1Ky_e7O.js";import"./chunk-NZK2D7GU-tnrSoegS.js";import"./chunk-O5CBEL6O-DxxqDH0l.js";import"./chunk-3OPIFGDE-BQC5CRHI.js";import"./index-D8W97DAz.js";import"./chunk-55IACEB6-BvR-6chF.js";import"./chunk-2J33WTMH-Coy82EBh.js";import{i as t,n,r,t as i}from"./chunk-AQP2D5EJ-CXf7rIlZ.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
2
+ //# sourceMappingURL=stateDiagram-v2-BHNVJYJU-DnJwJBsE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateDiagram-v2-BHNVJYJU-DnJwJBsE.js","names":[],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-BHNVJYJU.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport \"./chunk-5ZQYHXKU.mjs\";\nimport \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateDiagram-v2.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(2);\n },\n renderer: stateRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"2cAsBA,IAAI,EAAU,CACZ,OAAQ,EACR,IAAI,IAAK,CACP,OAAO,IAAI,EAAQ,CAAC,CACtB,EACA,SAAU,EACV,OAAQ,EACR,KAAsB,EAAQ,GAAQ,CACpC,AACE,EAAI,QAAQ,CAAC,EAEf,EAAI,MAAM,oBAAsB,EAAI,mBACtC,EAAG,MAAM,CACX"}
@@ -0,0 +1,121 @@
1
+ import{g as e,h as t,m as n,p as r}from"./src-ZI-V_AF0.js";import{J as i,a,b as o,it as s,nt as c,o as l,tt as u,x as d}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import{t as f}from"./arc-DhFYIddx.js";import{p}from"./chunk-5ZQYHXKU-BjcTN7ul.js";import{u as m}from"./index-D8W97DAz.js";var h=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,11,13,14,15,17,19,20,23,24],r=[1,12],i=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,19],l=[1,20],u={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:`error`,6:`EOF`,7:`timeline`,8:`timeline_lr`,9:`timeline_td`,11:`SPACE`,13:`NEWLINE`,14:`title`,15:`acc_title`,16:`acc_title_value`,17:`acc_descr`,18:`acc_descr_value`,19:`acc_descr_multiline_value`,20:`section`,23:`period`,24:`event`},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 3:r.setDirection(`LR`);break;case 4:r.setDirection(`TD`);break;case 5:this.$=[];break;case 6:a[s-1].push(a[s]),this.$=a[s-1];break;case 7:case 8:this.$=a[s];break;case 9:case 10:this.$=[];break;case 11:r.getCommonDb().setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 12:this.$=a[s].trim(),r.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[s].trim(),r.getCommonDb().setAccDescription(this.$);break;case 15:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 18:r.addTask(a[s],0,``),this.$=a[s];break;case 19:r.addEvent(a[s].substr(2)),this.$=a[s];break}},`anonymous`),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(n,[2,5],{5:6}),e(n,[2,2]),e(n,[2,3]),e(n,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:i,17:a,19:o,20:s,21:17,22:18,23:c,24:l},e(n,[2,10],{1:[2,1]}),e(n,[2,6]),{12:21,14:r,15:i,17:a,19:o,20:s,21:17,22:18,23:c,24:l},e(n,[2,8]),e(n,[2,9]),e(n,[2,11]),{16:[1,22]},{18:[1,23]},e(n,[2,14]),e(n,[2,15]),e(n,[2,16]),e(n,[2,17]),e(n,[2,18]),e(n,[2,19]),e(n,[2,7]),e(n,[2,12]),e(n,[2,13])],defaultActions:{},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
+ `+h.showPosition()+`
3
+ Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};u.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
+ `+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin(`acc_title`),15;case 10:return this.popState(),`acc_title_value`;case 11:return this.begin(`acc_descr`),17;case 12:return this.popState(),`acc_descr_value`;case 13:this.begin(`acc_descr_multiline`);break;case 14:this.popState();break;case 15:return`acc_descr_multiline_value`;case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return`INVALID`}},`anonymous`),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}}})();function d(){this.yy={}}return t(d,`Parser`),d.prototype=u,u.Parser=d,new d})();h.parser=h;var g=h,_={};n(_,{addEvent:()=>M,addSection:()=>O,addTask:()=>j,addTaskOrg:()=>N,clear:()=>T,default:()=>ee,getCommonDb:()=>w,getDirection:()=>D,getSections:()=>k,getTasks:()=>A,setDirection:()=>E});var v=``,y=0,b=`LR`,x=[],S=[],C=[],w=t(()=>l,`getCommonDb`),T=t(function(){x.length=0,S.length=0,v=``,C.length=0,b=`LR`,a()},`clear`),E=t(function(e){b=e},`setDirection`),D=t(function(){return b},`getDirection`),O=t(function(e){v=e,x.push(e)},`addSection`),k=t(function(){return x},`getSections`),A=t(function(){let e=P(),t=0;for(;!e&&t<100;)e=P(),t++;return S.push(...C),S},`getTasks`),j=t(function(e,t,n){let r={id:y++,section:v,type:v,task:e,score:t||0,events:n?[n]:[]};C.push(r)},`addTask`),M=t(function(e){C.find(e=>e.id===y-1).events.push(e)},`addEvent`),N=t(function(e){let t={section:v,type:v,description:e,task:e,classes:[]};S.push(t)},`addTaskOrg`),P=t(function(){let e=t(function(e){return C[e].processed},`compileTask`),n=!0;for(let[t,r]of C.entries())e(t),n&&=r.processed;return n},`compileTasks`),ee={clear:T,getCommonDb:w,getDirection:D,setDirection:E,addSection:O,getSections:k,getTasks:A,addTask:j,addTaskOrg:N,addEvent:M},F=0,I=t(function(e,t){let n=e.append(`rect`);return n.attr(`x`,t.x),n.attr(`y`,t.y),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`width`,t.width),n.attr(`height`,t.height),n.attr(`rx`,t.rx),n.attr(`ry`,t.ry),t.class!==void 0&&n.attr(`class`,t.class),n},`drawRect`),te=t(function(e,n){let r=e.append(`circle`).attr(`cx`,n.cx).attr(`cy`,n.cy).attr(`class`,`face`).attr(`r`,15).attr(`stroke-width`,2).attr(`overflow`,`visible`),i=e.append(`g`);i.append(`circle`).attr(`cx`,n.cx-15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`),i.append(`circle`).attr(`cx`,n.cx+15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`);function a(e){let t=f().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(15/2).outerRadius(15/2.2);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+2)+`)`)}t(a,`smile`);function o(e){let t=f().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(15/2).outerRadius(15/2.2);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+7)+`)`)}t(o,`sad`);function s(e){e.append(`line`).attr(`class`,`mouth`).attr(`stroke`,2).attr(`x1`,n.cx-5).attr(`y1`,n.cy+7).attr(`x2`,n.cx+5).attr(`y2`,n.cy+7).attr(`class`,`mouth`).attr(`stroke-width`,`1px`).attr(`stroke`,`#666`)}return t(s,`ambivalent`),n.score>3?a(i):n.score<3?o(i):s(i),r},`drawFace`),ne=t(function(e,t){let n=e.append(`circle`);return n.attr(`cx`,t.cx),n.attr(`cy`,t.cy),n.attr(`class`,`actor-`+t.pos),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`r`,t.r),n.class!==void 0&&n.attr(`class`,n.class),t.title!==void 0&&n.append(`title`).text(t.title),n},`drawCircle`),L=t(function(e,t){let n=t.text.replace(/<br\s*\/?>/gi,` `),r=e.append(`text`);r.attr(`x`,t.x),r.attr(`y`,t.y),r.attr(`class`,`legend`),r.style(`text-anchor`,t.anchor),t.class!==void 0&&r.attr(`class`,t.class);let i=r.append(`tspan`);return i.attr(`x`,t.x+t.textMargin*2),i.text(n),r},`drawText`),re=t(function(e,n){function r(e,t,n,r,i){return e+`,`+t+` `+(e+n)+`,`+t+` `+(e+n)+`,`+(t+r-i)+` `+(e+n-i*1.2)+`,`+(t+r)+` `+e+`,`+(t+r)}t(r,`genPoints`);let i=e.append(`polygon`);i.attr(`points`,r(n.x,n.y,50,20,7)),i.attr(`class`,`labelBox`),n.y+=n.labelMargin,n.x+=.5*n.labelMargin,L(e,n)},`drawLabel`),R=t(function(e,t,n){let r=e.append(`g`),i=B();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=n.width,i.height=n.height,i.class=`journey-section section-type-`+t.num,i.rx=3,i.ry=3,I(r,i),V(n)(t.text,r,i.x,i.y,i.width,i.height,{class:`journey-section section-type-`+t.num},n,t.colour)},`drawSection`),z=-1,ie=t(function(e,t,n,r){let i=t.x+n.width/2,a=e.append(`g`);z++,a.append(`line`).attr(`id`,r+`-task`+z).attr(`x1`,i).attr(`y1`,t.y).attr(`x2`,i).attr(`y2`,450).attr(`class`,`task-line`).attr(`stroke-width`,`1px`).attr(`stroke-dasharray`,`4 2`).attr(`stroke`,`#666`),te(a,{cx:i,cy:300+(5-t.score)*30,score:t.score});let o=B();o.x=t.x,o.y=t.y,o.fill=t.fill,o.width=n.width,o.height=n.height,o.class=`task task-type-`+t.num,o.rx=3,o.ry=3,I(a,o),V(n)(t.task,a,o.x,o.y,o.width,o.height,{class:`task`},n,t.colour)},`drawTask`),ae=t(function(e,t){I(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:`rect`}).lower()},`drawBackgroundRect`),oe=t(function(){return{x:0,y:0,fill:void 0,"text-anchor":`start`,width:100,height:100,textMargin:0,rx:0,ry:0}},`getTextObj`),B=t(function(){return{x:0,y:0,width:100,anchor:`start`,height:100,rx:0,ry:0}},`getNoteRect`),V=(function(){function e(e,t,n,r,a,o,s,c){i(t.append(`text`).attr(`x`,n+a/2).attr(`y`,r+o/2+5).style(`font-color`,c).style(`text-anchor`,`middle`).text(e),s)}t(e,`byText`);function n(e,t,n,r,a,o,s,c,l){let{taskFontSize:u,taskFontFamily:d}=c,f=e.split(/<br\s*\/?>/gi);for(let e=0;e<f.length;e++){let c=e*u-u*(f.length-1)/2,p=t.append(`text`).attr(`x`,n+a/2).attr(`y`,r).attr(`fill`,l).style(`text-anchor`,`middle`).style(`font-size`,u).style(`font-family`,d);p.append(`tspan`).attr(`x`,n+a/2).attr(`dy`,c).text(f[e]),p.attr(`y`,r+o/2).attr(`dominant-baseline`,`central`).attr(`alignment-baseline`,`central`),i(p,s)}}t(n,`byTspan`);function r(e,t,r,a,o,s,c,l){let u=t.append(`switch`),d=u.append(`foreignObject`).attr(`x`,r).attr(`y`,a).attr(`width`,o).attr(`height`,s).attr(`position`,`fixed`).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`);d.append(`div`).attr(`class`,`label`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).text(e),n(e,u,r,a,o,s,c,l),i(d,c)}t(r,`byFo`);function i(e,t){for(let n in t)n in t&&e.attr(n,t[n])}return t(i,`_setTextAttrs`),function(t){return t.textPlacement===`fo`?r:t.textPlacement===`old`?e:n}})(),se=t(function(e,t){F=0,z=-1,e.append(`defs`).append(`marker`).attr(`id`,t+`-arrowhead`).attr(`refX`,5).attr(`refY`,2).attr(`markerWidth`,6).attr(`markerHeight`,4).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0,0 V 4 L6,2 Z`)},`initGraphics`);function H(e,t){e.each(function(){var e=r(this),n=e.text().split(/(\s+|<br>)/).reverse(),i,a=[],o=1.1,s=e.attr(`y`),c=parseFloat(e.attr(`dy`)),l=e.text(null).append(`tspan`).attr(`x`,0).attr(`y`,s).attr(`dy`,c+`em`);for(let r=0;r<n.length;r++)i=n[n.length-1-r],a.push(i),l.text(a.join(` `).trim()),(l.node().getComputedTextLength()>t||i===`<br>`)&&(a.pop(),l.text(a.join(` `).trim()),a=i===`<br>`?[``]:[i],l=e.append(`tspan`).attr(`x`,0).attr(`y`,s).attr(`dy`,o+`em`).text(i))})}t(H,`wrap`);var ce=t(function(e,t,n,i,a,o=!1){let{theme:s,look:c}=i,l=s?.includes(`redux`),u=n%(i?.themeVariables?.THEME_COLOR_LIMIT??12)-1,d=e.append(`g`);t.section=u,d.attr(`class`,(t.class?t.class+` `:``)+`timeline-node `+(`section-`+u));let f=d.append(`g`),p=d.append(`g`),m=p.append(`text`).text(t.descr).attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).call(H,t.width).node().getBBox(),h=i.fontSize?.replace?i.fontSize.replace(`px`,``):i.fontSize;if(t.height=m.height+h*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width+=2*t.padding,p.attr(`transform`,`translate(`+t.width/2+`, `+t.padding/2+`)`),l&&p.attr(`transform`,`translate(${t.width/2}, ${o?t.padding/2+3:t.padding})`),ue(f,t,u,a,i),c===`neo`&&(d.attr(`data-look`,`neo`),l)){let t=s.includes(`dark`),n=r(e.node()?.ownerSVGElement??e.node()),i=n.attr(`id`)??``,a=i?`${i}-drop-shadow`:`drop-shadow`;if(n.select(`#${a}`).empty()){let e=n.select(`defs`);(e.empty()?n.append(`defs`):e).append(`filter`).attr(`id`,a).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,t?`0.2`:`0.06`).attr(`flood-color`,t?`#FFFFFF`:`#000000`)}}return t},`drawNode`),le=t(function(e,t,n){let r=e.append(`g`),i=r.append(`text`).text(t.descr).attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).call(H,t.width).node().getBBox(),a=n.fontSize?.replace?n.fontSize.replace(`px`,``):n.fontSize;return r.remove(),i.height+a*1.1*.5+t.padding},`getVirtualNodeHeight`),ue=t(function(e,t,n,r,i){let{theme:a}=i,o=a?.includes(`redux`)?0:5,s=o>0?`M0 ${t.height-5} v${-t.height+10} q0,-${o},${o},-${o} h${t.width-10} q${o},0,${o},${o} v${t.height-5} H0 Z`:`M0 ${t.height-5} v${-(t.height-5)} h${t.width} v${t.height} H0 Z`;e.append(`path`).attr(`id`,r+`-node-`+ F++).attr(`class`,`node-bkg node-`+t.type).attr(`d`,s),a?.includes(`redux`)||e.append(`line`).attr(`class`,`node-line-`+n).attr(`x1`,0).attr(`y1`,t.height).attr(`x2`,t.width).attr(`y2`,t.height)},`defaultBkg`),U={drawRect:I,drawCircle:ne,drawSection:R,drawText:L,drawLabel:re,drawTask:ie,drawBackgroundRect:ae,getTextObj:oe,getNoteRect:B,initGraphics:se,drawNode:ce,getVirtualNodeHeight:le},de=t(function(t,n,a,o){let s=d(),{look:c,theme:l,themeVariables:u}=s,{useGradient:f,gradientStart:p,gradientStop:m}=u,h=s.timeline?.leftMargin??50;e.debug(`timeline`,o.db);let g=s.securityLevel,_;g===`sandbox`&&(_=r(`#i`+n));let v=r(g===`sandbox`?_.nodes()[0].contentDocument.body:`body`).select(`#`+n);v.append(`g`);let y=o.db.getTasks(),b=o.db.getCommonDb().getDiagramTitle();e.debug(`task`,y),U.initGraphics(v,n);let x=o.db.getSections();e.debug(`sections`,x);let S=0,C=0,w=0,T=0,E=50+h,D=50;T=50;let O=0,k=!0;x.forEach(function(t){let n={number:O,descr:t,section:O,width:150,padding:20,maxHeight:S},r=U.getVirtualNodeHeight(v,n,s);e.debug(`sectionHeight before draw`,r),S=Math.max(S,r+20)});let A=0,j=0;e.debug(`tasks.length`,y.length);for(let[t,n]of y.entries()){let r={number:t,descr:n,section:n.section,width:150,padding:20,maxHeight:C},i=U.getVirtualNodeHeight(v,r,s);e.debug(`taskHeight before draw`,i),C=Math.max(C,i+20),A=Math.max(A,n.events.length);let a=0;for(let e of n.events){let t={descr:e,section:n.section,number:n.section,width:150,padding:20,maxHeight:50};a+=U.getVirtualNodeHeight(v,t,s)}n.events.length>0&&(a+=(n.events.length-1)*10),j=Math.max(j,a)}e.debug(`maxSectionHeight before draw`,S),e.debug(`maxTaskHeight before draw`,C),x&&x.length>0?x.forEach(t=>{let r=y.filter(e=>e.section===t),i={number:O,descr:t,section:O,width:200*Math.max(r.length,1)-50,padding:20,maxHeight:S};e.debug(`sectionNode`,i);let a=v.append(`g`),o=U.drawNode(a,i,O,s,n);e.debug(`sectionNode output`,o),a.attr(`transform`,`translate(${E}, ${T})`),D+=S+50,r.length>0&&W(v,r,O,E,D,C,s,A,j,S,!1,n),E+=200*Math.max(r.length,1),D=T,O++}):(k=!1,W(v,y,O,E,D,C,s,A,j,S,!0,n));let M=v.node().getBBox();if(e.debug(`bounds`,M),b&&v.append(`text`).text(b).attr(`x`,c===`neo`?M.x*2+h:M.width/2-h).attr(`font-size`,`4ex`).attr(`font-weight`,`bold`).attr(`y`,20),w=k?S+C+150:C+100,v.append(`g`).attr(`class`,`lineWrapper`).append(`line`).attr(`x1`,h).attr(`y1`,w).attr(`x2`,M.width+3*h).attr(`y2`,w).attr(`stroke-width`,4).attr(`stroke`,`black`).attr(`marker-end`,`url(#${n}-arrowhead)`),c===`neo`&&f&&l!==`neutral`){let e=v.select(`defs`),t=(e.empty()?v.append(`defs`):e).append(`linearGradient`).attr(`id`,v.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,p).attr(`stop-opacity`,1),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,m).attr(`stop-opacity`,1)}i(void 0,v,s.timeline?.padding??50,s.timeline?.useMaxWidth??!1)},`draw`),W=t(function(t,n,r,i,a,o,s,c,l,u,d,f){for(let c of n){let n={descr:c.task,section:r,number:r,width:150,padding:20,maxHeight:o};e.debug(`taskNode`,n);let u=t.append(`g`).attr(`class`,`taskWrapper`),p=U.drawNode(u,n,r,s,f).height;if(e.debug(`taskHeight after draw`,p),u.attr(`transform`,`translate(${i}, ${a})`),o=Math.max(o,p),c.events){let e=t.append(`g`).attr(`class`,`lineWrapper`),n=o;a+=100,n+=fe(t,c.events,r,i,a,s,f),a-=100,e.append(`line`).attr(`x1`,i+190/2).attr(`y1`,a+o).attr(`x2`,i+190/2).attr(`y2`,a+o+100+l+100).attr(`stroke-width`,2).attr(`stroke`,`black`).attr(`marker-end`,`url(#${f}-arrowhead)`).attr(`stroke-dasharray`,`5,5`)}i+=200,d&&!s.timeline?.disableMulticolor&&r++}a-=10},`drawTasks`),fe=t(function(t,n,r,i,a,o,s){let c=0,l=a;a+=100;for(let l of n){let n={descr:l,section:r,number:r,width:150,padding:20,maxHeight:50};e.debug(`eventNode`,n);let u=t.append(`g`).attr(`class`,`eventWrapper`),d=U.drawNode(u,n,r,o,s,!0).height;c+=d,u.attr(`transform`,`translate(${i}, ${a})`),a=a+10+d}return a=l,c},`drawEvents`),pe={setConf:t(()=>{},`setConf`),draw:de},G=200,K=5,me=G+K*2,q=G+100,he=q+K*2,J=10,ge=0,Y=20,X=20,Z=30,Q=50,_e=t(function(t,n,r,a){let o=d(),s=o.timeline?.leftMargin??50;e.debug(`timeline`,a.db);let c=m(n);c.append(`g`);let l=a.db.getTasks(),u=a.db.getCommonDb().getDiagramTitle();e.debug(`task`,l),U.initGraphics(c);let f=a.db.getSections();e.debug(`sections`,f);let h=0,g=0,_=50+s,v=50,y=v,b=_,x=me+X,S=he+Q,C=b+x,w=0,T=f&&f.length>0,E=T?C:_+x,D=Math.max(50,x+S-K*2);f.forEach(function(t){let n={number:w,descr:t,section:w,width:D,padding:K,maxHeight:h},r=U.getVirtualNodeHeight(c,n,o);e.debug(`sectionHeight before draw`,r),h=Math.max(h,r)});let O=0;e.debug(`tasks.length`,l.length);for(let[t,n]of l.entries()){let r={number:t,descr:n,section:n.section,width:G,padding:K,maxHeight:g},i=U.getVirtualNodeHeight(c,r,o);e.debug(`taskHeight before draw`,i),g=Math.max(g,i);let a=0;for(let e of n.events){let t={descr:e,section:n.section,number:n.section,width:q,padding:K,maxHeight:50};a+=U.getVirtualNodeHeight(c,t,o)}n.events.length>0&&(a+=(n.events.length-1)*J),O=Math.max(O,a)+ge}e.debug(`maxSectionHeight before draw`,h),e.debug(`maxTaskHeight before draw`,g);let k=Math.max(g,O)+Z;T?f.forEach(t=>{let n=l.filter(e=>e.section===t),r={number:w,descr:t,section:w,width:D,padding:K,maxHeight:h};e.debug(`sectionNode`,r);let i=c.append(`g`),a=U.drawNode(i,r,w,o);e.debug(`sectionNode output`,a);let s=E-x;i.attr(`transform`,`translate(${s}, ${v})`);let u=v+a.height+Y;n.length>0&&$(c,n,w,E,u,g,o,k,!1);let d=n.length,f=a.height+Y+k*Math.max(d,1)-(d>0?Z*2:0);v+=f,w++}):$(c,l,w,E,v,g,o,k,!0);let A=c.node()?.getBBox();if(!A)throw Error(`bbox not found`);if(e.debug(`bounds`,A),u){if(c.append(`text`).text(u).attr(`x`,A.width/2-s).attr(`font-size`,`4ex`).attr(`font-weight`,`bold`).attr(`y`,20),A=c.node()?.getBBox(),!A)throw Error(`bbox not found`);e.debug(`bounds after title`,A)}let[j]=p(o.fontSize),M=(j??16)*2,N=(j??16)*.5+20,P=c.append(`g`).attr(`class`,`lineWrapper`);P.append(`line`).attr(`x1`,E).attr(`y1`,y-M).attr(`x2`,E).attr(`y2`,A.y+A.height+N).attr(`stroke-width`,4).attr(`stroke`,`black`).attr(`marker-end`,`url(#arrowhead)`),P.lower(),i(void 0,c,o.timeline?.padding??50,o.timeline?.useMaxWidth??!1)},`draw`),$=t(function(t,n,r,i,a,o,s,c,l){for(let u of n){let n={descr:u.task,section:r,number:r,width:G,padding:K,maxHeight:o};e.debug(`taskNode`,n);let d=t.append(`g`).attr(`class`,`taskWrapper`),f=U.drawNode(d,n,r,s),p=f.height;e.debug(`taskHeight after draw`,p);let m=i-X-f.width;if(d.attr(`transform`,`translate(${m}, ${a})`),o=Math.max(o,p),u.events&&u.events.length>0){let e=a,n=i+Q;ve(t,u.events,r,i,n,e,s)}a+=c,l&&!s.timeline?.disableMulticolor&&r++}},`drawTasks`),ve=t(function(t,n,r,i,a,o,s){let c=o;for(let o of n){let n={descr:o,section:r,number:r,width:q,padding:K,maxHeight:0};e.debug(`eventNode`,n);let l=t.append(`g`).attr(`class`,`eventWrapper`),u=U.drawNode(l,n,r,s).height;l.attr(`transform`,`translate(${a}, ${c})`);let d=t.append(`g`).attr(`class`,`lineWrapper`),f=c+u/2;d.append(`line`).attr(`x1`,i).attr(`y1`,f).attr(`x2`,a).attr(`y2`,f).attr(`stroke-width`,2).attr(`stroke`,`black`).attr(`marker-end`,`url(#arrowhead)`).attr(`stroke-dasharray`,`5,5`),c=c+u+J}return c-o},`drawEvents`),ye={setConf:t(()=>{},`setConf`),draw:_e},be=t(e=>{let{theme:t}=o(),n=t?.includes(`dark`),r=t?.includes(`color`),i=e.svgId?.replace(/^#/,``)??``,a=i?`url(#${i}-drop-shadow)`:e.dropShadow??`none`,s=``;for(let t=0;t<e.THEME_COLOR_LIMIT;t++){let i=`${17-3*t}`,o=r?e.borderColorArray[t]:e.mainBkg,c=r?e.borderColorArray[t]:e.nodeBorder;s+=`
7
+ .section-${t-1} rect,
8
+ .section-${t-1} path,
9
+ .section-${t-1} circle {
10
+ fill: ${n&&r?e.mainBkg:o};
11
+ stroke: ${c};
12
+ stroke-width: ${e.strokeWidth};
13
+ filter: ${a};
14
+ }
15
+
16
+ .section-${t-1} text {
17
+ fill: ${e.nodeBorder};
18
+ font-weight: ${e.fontWeight}
19
+ }
20
+
21
+ .node-icon-${t-1} {
22
+ font-size: 40px;
23
+ color: ${e[`cScaleLabel`+t]};
24
+ }
25
+
26
+ .section-edge-${t-1} {
27
+ stroke: ${e[`cScale`+t]};
28
+ }
29
+
30
+ .edge-depth-${t-1} {
31
+ stroke-width: ${i};
32
+ }
33
+
34
+ .section-${t-1} line {
35
+ stroke: ${e[`cScaleInv`+t]};
36
+ stroke-width: 3;
37
+ }
38
+
39
+ .lineWrapper line {
40
+ stroke: ${e.nodeBorder};
41
+ stroke-width:${e.strokeWidth}
42
+ }
43
+
44
+ .disabled,
45
+ .disabled circle,
46
+ .disabled text {
47
+ fill: ${e.tertiaryColor??`lightgray`};
48
+ }
49
+
50
+ .disabled text {
51
+ fill: ${e.clusterBorder??`#efefef`};
52
+ }
53
+ `}return s},`genReduxSections`),xe=t(e=>{let t=``;for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e[`lineColor`+t]=e[`lineColor`+t]||e[`cScaleInv`+t],s(e[`lineColor`+t])?e[`lineColor`+t]=c(e[`lineColor`+t],20):e[`lineColor`+t]=u(e[`lineColor`+t],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){let r=``+(17-3*n);t+=`
54
+ .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} path {
55
+ fill: ${e[`cScale`+n]};
56
+ }
57
+ .section-${n-1} text {
58
+ fill: ${e[`cScaleLabel`+n]};
59
+ }
60
+ .node-icon-${n-1} {
61
+ font-size: 40px;
62
+ color: ${e[`cScaleLabel`+n]};
63
+ }
64
+ .section-edge-${n-1}{
65
+ stroke: ${e[`cScale`+n]};
66
+ }
67
+ .edge-depth-${n-1}{
68
+ stroke-width: ${r};
69
+ }
70
+ .section-${n-1} line {
71
+ stroke: ${e[`cScaleInv`+n]} ;
72
+ stroke-width: 3;
73
+ }
74
+
75
+ .lineWrapper line{
76
+ stroke: ${e[`cScaleLabel`+n]} ;
77
+ }
78
+
79
+ .disabled, .disabled circle, .disabled text {
80
+ fill: ${e.tertiaryColor??`lightgray`};
81
+ }
82
+ .disabled text {
83
+ fill: ${e.clusterBorder??`#efefef`};
84
+ }
85
+ `}return t},`genSections`),Se={db:_,renderer:{setConf:t(()=>{},`setConf`),draw:t((e,t,n,r)=>(r?.db?.getDirection?.()??`LR`)===`TD`?ye.draw(e,t,n,r):pe.draw(e,t,n,r),`draw`)},parser:g,styles:t(e=>{let{theme:t}=o(),n=t?.includes(`redux`),r=t===`neutral`,i=e.svgId?.replace(/^#/,``)??``,a=``;if(e.useGradient&&i&&e.THEME_COLOR_LIMIT&&!r)for(let t=0;t<e.THEME_COLOR_LIMIT;t++)a+=`
86
+ .section-${t-1}[data-look="neo"] rect,
87
+ .section-${t-1}[data-look="neo"] path,
88
+ .section-${t-1}[data-look="neo"] circle {
89
+ fill: ${e.mainBkg};
90
+ stroke: url(#${i}-gradient);
91
+ stroke-width: 2;
92
+ }
93
+ .section-${t-1}[data-look="neo"] line {
94
+ stroke: url(#${i}-gradient);
95
+ stroke-width: 2;
96
+ }`;return`
97
+ .edge {
98
+ stroke-width: 3;
99
+ }
100
+ ${n?be(e):xe(e)}
101
+ ${a}
102
+ .section-root rect, .section-root path, .section-root circle {
103
+ fill: ${e.git0};
104
+ }
105
+ .section-root text {
106
+ fill: ${e.gitBranchLabel0};
107
+ }
108
+ .icon-container {
109
+ height:100%;
110
+ display: flex;
111
+ justify-content: center;
112
+ align-items: center;
113
+ }
114
+ .edge {
115
+ fill: none;
116
+ }
117
+ .eventWrapper {
118
+ filter: brightness(120%);
119
+ }
120
+ `},`getStyles`)};export{Se as diagram};
121
+ //# sourceMappingURL=timeline-definition-PNZ67QCA-Cy39jp8b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-definition-PNZ67QCA-Cy39jp8b.js","names":["d3arc","select","select2"],"sources":["../../node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n commonDb_exports,\n getConfig,\n getConfig2,\n setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __export,\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/timeline/parser/timeline.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 11, 13, 14, 15, 17, 19, 20, 23, 24], $V1 = [1, 12], $V2 = [1, 13], $V3 = [1, 14], $V4 = [1, 15], $V5 = [1, 16], $V6 = [1, 19], $V7 = [1, 20];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline_header\": 4, \"document\": 5, \"EOF\": 6, \"timeline\": 7, \"timeline_lr\": 8, \"timeline_td\": 9, \"line\": 10, \"SPACE\": 11, \"statement\": 12, \"NEWLINE\": 13, \"title\": 14, \"acc_title\": 15, \"acc_title_value\": 16, \"acc_descr\": 17, \"acc_descr_value\": 18, \"acc_descr_multiline_value\": 19, \"section\": 20, \"period_statement\": 21, \"event_statement\": 22, \"period\": 23, \"event\": 24, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"EOF\", 7: \"timeline\", 8: \"timeline_lr\", 9: \"timeline_td\", 11: \"SPACE\", 13: \"NEWLINE\", 14: \"title\", 15: \"acc_title\", 16: \"acc_title_value\", 17: \"acc_descr\", 18: \"acc_descr_value\", 19: \"acc_descr_multiline_value\", 20: \"section\", 23: \"period\", 24: \"event\" },\n productions_: [0, [3, 3], [4, 1], [4, 1], [4, 1], [5, 0], [5, 2], [10, 2], [10, 1], [10, 1], [10, 1], [12, 1], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [21, 1], [22, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 3:\n yy.setDirection(\"LR\");\n break;\n case 4:\n yy.setDirection(\"TD\");\n break;\n case 5:\n this.$ = [];\n break;\n case 6:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 7:\n case 8:\n this.$ = $$[$0];\n break;\n case 9:\n case 10:\n this.$ = [];\n break;\n case 11:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 12:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 13:\n case 14:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 15:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 18:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 19:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 7: [1, 3], 8: [1, 4], 9: [1, 5] }, { 1: [3] }, o($V0, [2, 5], { 5: 6 }), o($V0, [2, 2]), o($V0, [2, 3]), o($V0, [2, 4]), { 6: [1, 7], 10: 8, 11: [1, 9], 12: 10, 13: [1, 11], 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 10], { 1: [2, 1] }), o($V0, [2, 6]), { 12: 21, 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 11]), { 16: [1, 22] }, { 18: [1, 23] }, o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 17]), o($V0, [2, 18]), o($V0, [2, 19]), o($V0, [2, 7]), o($V0, [2, 12]), o($V0, [2, 13])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 13;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 8;\n break;\n case 6:\n return 9;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 14;\n break;\n case 9:\n this.begin(\"acc_title\");\n return 15;\n break;\n case 10:\n this.popState();\n return \"acc_title_value\";\n break;\n case 11:\n this.begin(\"acc_descr\");\n return 17;\n break;\n case 12:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 13:\n this.begin(\"acc_descr_multiline\");\n break;\n case 14:\n this.popState();\n break;\n case 15:\n return \"acc_descr_multiline_value\";\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 24;\n break;\n case 18:\n return 23;\n break;\n case 19:\n return 6;\n break;\n case 20:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline[ \\t]+LR\\b)/i, /^(?:timeline[ \\t]+TD\\b)/i, /^(?:timeline\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^:\\n]+)/i, /^(?::\\s(?:[^:\\n]|:(?!\\s))+)/i, /^(?:[^#:\\n]+)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [14, 15], \"inclusive\": false }, \"acc_descr\": { \"rules\": [12], \"inclusive\": false }, \"acc_title\": { \"rules\": [10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getDirection: () => getDirection,\n getSections: () => getSections,\n getTasks: () => getTasks,\n setDirection: () => setDirection\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar direction = \"LR\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n direction = \"LR\";\n clear();\n}, \"clear\");\nvar setDirection = /* @__PURE__ */ __name(function(dir) {\n direction = dir;\n}, \"setDirection\");\nvar getDirection = /* @__PURE__ */ __name(function() {\n return direction;\n}, \"getDirection\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar timelineDb_default = {\n clear: clear2,\n getCommonDb,\n getDirection,\n setDirection,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar nodeCount = 0;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf, diagramId) {\n const center = task.x + conf.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", diagramId + \"-task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics, id) {\n nodeCount = 0;\n taskCount = -1;\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", id + \"-arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf, diagramId, isEvent = false) {\n const { theme, look } = conf;\n const isReduxTheme = theme?.includes(\"redux\");\n const maxSections = conf?.themeVariables?.THEME_COLOR_LIMIT ?? 12;\n const section = fullSection % maxSections - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n if (isReduxTheme) {\n textElem.attr(\n \"transform\",\n `translate(${node.width / 2}, ${isEvent ? node.padding / 2 + 3 : node.padding})`\n );\n }\n defaultBkg(bkgElem, node, section, diagramId, conf);\n if (look === \"neo\") {\n nodeElem.attr(\"data-look\", `neo`);\n if (isReduxTheme) {\n const isDark2 = theme.includes(\"dark\");\n const rootSvgNode = elem.node()?.ownerSVGElement ?? elem.node();\n const rootSvg = select(rootSvgNode);\n const svgId = rootSvg.attr(\"id\") ?? \"\";\n const dropShadowId = svgId ? `${svgId}-drop-shadow` : \"drop-shadow\";\n if (rootSvg.select(`#${dropShadowId}`).empty()) {\n const existingDefs = rootSvg.select(\"defs\");\n const defsEl = existingDefs.empty() ? rootSvg.append(\"defs\") : existingDefs;\n defsEl.append(\"filter\").attr(\"id\", dropShadowId).attr(\"height\", \"130%\").attr(\"width\", \"130%\").append(\"feDropShadow\").attr(\"dx\", \"4\").attr(\"dy\", \"4\").attr(\"stdDeviation\", 0).attr(\"flood-opacity\", isDark2 ? \"0.2\" : \"0.06\").attr(\"flood-color\", isDark2 ? \"#FFFFFF\" : \"#000000\");\n }\n }\n }\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section, diagramId, config) {\n const { theme } = config;\n const r = theme?.includes(\"redux\") ? 0 : 5;\n const rd = 5;\n const d = r > 0 ? `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-${r},${r},-${r} h${node.width - 2 * rd} q${r},0,${r},${r} v${node.height - rd} H0 Z` : `M0 ${node.height - rd} v${-(node.height - rd)} h${node.width} v${node.height} H0 Z`;\n elem.append(\"path\").attr(\"id\", diagramId + \"-node-\" + nodeCount++).attr(\"class\", \"node-bkg node-\" + node.type).attr(\"d\", d);\n if (!theme?.includes(\"redux\")) {\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n }\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const { look, theme, themeVariables } = conf;\n const { useGradient, gradientStart, gradientStop } = themeVariables;\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg, id);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventLineLengthTemp += (task.events.length - 1) * 10;\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf, id);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false,\n id\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true,\n id\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", look === \"neo\" ? box.x * 2 + LEFT_MARGIN : box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${id}-arrowhead)`);\n if (look === \"neo\" && useGradient && theme !== \"neutral\") {\n const existingDefs = svg.select(\"defs\");\n const defsEl = existingDefs.empty() ? svg.append(\"defs\") : existingDefs;\n const gradient = defsEl.append(\"linearGradient\").attr(\"id\", svg.attr(\"id\") + \"-gradient\").attr(\"gradientUnits\", \"objectBoundingBox\").attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"100%\").attr(\"y2\", \"0%\");\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", gradientStart).attr(\"stop-opacity\", 1);\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", gradientStop).attr(\"stop-opacity\", 1);\n }\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections, diagramId) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf, diagramId);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf, diagramId);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\"y2\", masterY + maxTaskHeight + 100 + maxEventLineLength + 100).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${diagramId}-arrowhead)`).attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf, diagramId) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf, diagramId, true);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/timelineRendererVertical.ts\nvar NODE_WIDTH = 200;\nvar NODE_PADDING = 5;\nvar NODE_TOTAL_WIDTH = NODE_WIDTH + NODE_PADDING * 2;\nvar EVENT_WIDTH = NODE_WIDTH + 100;\nvar EVENT_TOTAL_WIDTH = EVENT_WIDTH + NODE_PADDING * 2;\nvar EVENT_SPACING = 10;\nvar EVENT_VERTICAL_GAP = 0;\nvar SECTION_TASK_GAP = 20;\nvar TASK_AXIS_GAP = 20;\nvar TASK_VERTICAL_GAP = 30;\nvar EVENT_AXIS_GAP = 50;\nvar draw2 = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const svg = selectSvgElement(id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n const masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n const contentTopY = masterY;\n const sectionBeginX = masterX;\n const leftWidth = NODE_TOTAL_WIDTH + TASK_AXIS_GAP;\n const rightWidth = EVENT_TOTAL_WIDTH + EVENT_AXIS_GAP;\n const axisX = sectionBeginX + leftWidth;\n let sectionNumber = 0;\n const hasSections = sections2 && sections2.length > 0;\n const timelineX = hasSections ? axisX : masterX + leftWidth;\n const sectionWidth = Math.max(50, leftWidth + rightWidth - NODE_PADDING * 2);\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight);\n });\n let maxEventStackHeight = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n let maxEventStackHeightTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 50\n };\n maxEventStackHeightTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventStackHeightTemp += (task.events.length - 1) * EVENT_SPACING;\n }\n maxEventStackHeight = Math.max(maxEventStackHeight, maxEventStackHeightTemp) + EVENT_VERTICAL_GAP;\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n const taskBlockHeight = Math.max(maxTaskHeight, maxEventStackHeight);\n const taskSpacing = taskBlockHeight + TASK_VERTICAL_GAP;\n if (hasSections) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n const sectionX = timelineX - leftWidth;\n sectionNodeWrapper.attr(\"transform\", `translate(${sectionX}, ${masterY})`);\n const taskStartY = masterY + node.height + SECTION_TASK_GAP;\n if (tasksForSection.length > 0) {\n drawTasks2(\n svg,\n tasksForSection,\n sectionNumber,\n timelineX,\n taskStartY,\n maxTaskHeight,\n conf,\n taskSpacing,\n false\n );\n }\n const taskCount2 = tasksForSection.length;\n const sectionHeight = node.height + SECTION_TASK_GAP + taskSpacing * Math.max(taskCount2, 1) - (taskCount2 > 0 ? TASK_VERTICAL_GAP * 2 : 0);\n masterY += sectionHeight;\n sectionNumber++;\n });\n } else {\n drawTasks2(\n svg,\n tasks2,\n sectionNumber,\n timelineX,\n masterY,\n maxTaskHeight,\n conf,\n taskSpacing,\n true\n );\n }\n let box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds after title\", box);\n }\n const [fontSize] = parseFontSize(conf.fontSize);\n const arrowTopOffset = (fontSize ?? 16) * 2;\n const arrowBottomPadding = (fontSize ?? 16) * 0.5 + 20;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", timelineX).attr(\"y1\", contentTopY - arrowTopOffset).attr(\"x2\", timelineX).attr(\"y2\", box.y + box.height + arrowBottomPadding).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n lineWrapper.lower();\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks2 = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, timelineX, masterY, maxTaskHeight, conf, taskSpacing, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n const taskX = timelineX - TASK_AXIS_GAP - node.width;\n taskWrapper.attr(\"transform\", `translate(${taskX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events && task.events.length > 0) {\n const eventsStartY = masterY;\n const eventsX = timelineX + EVENT_AXIS_GAP;\n drawEvents2(diagram2, task.events, sectionColor, timelineX, eventsX, eventsStartY, conf);\n }\n masterY = masterY + taskSpacing;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n}, \"drawTasks\");\nvar drawEvents2 = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, axisX, eventsX, startY, conf) {\n let currentY = startY;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 0\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n eventWrapper.attr(\"transform\", `translate(${eventsX}, ${currentY})`);\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n const lineY = currentY + eventHeight / 2;\n lineWrapper.append(\"line\").attr(\"x1\", axisX).attr(\"y1\", lineY).attr(\"x2\", eventsX).attr(\"y2\", lineY).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n currentY = currentY + eventHeight + EVENT_SPACING;\n }\n return currentY - startY;\n}, \"drawEvents\");\nvar timelineRendererVertical_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: draw2\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genReduxSections = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isDarkTheme = theme?.includes(\"dark\");\n const isColorTheme = theme?.includes(\"color\");\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n const scopedDropShadow = rawSvgId ? `url(#${rawSvgId}-drop-shadow)` : options.dropShadow ?? \"none\";\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = `${17 - 3 * i}`;\n const color = isColorTheme ? options.borderColorArray[i] : options.mainBkg;\n const stroke = isColorTheme ? options.borderColorArray[i] : options.nodeBorder;\n sections2 += `\n .section-${i - 1} rect,\n .section-${i - 1} path,\n .section-${i - 1} circle {\n fill: ${isDarkTheme && isColorTheme ? options.mainBkg : color};\n stroke: ${stroke};\n stroke-width: ${options.strokeWidth};\n filter: ${scopedDropShadow};\n }\n\n .section-${i - 1} text {\n fill: ${options.nodeBorder};\n font-weight: ${options.fontWeight}\n }\n\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n\n .section-edge-${i - 1} {\n stroke: ${options[\"cScale\" + i]};\n }\n\n .edge-depth-${i - 1} {\n stroke-width: ${sw};\n }\n\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]};\n stroke-width: 3;\n }\n\n .lineWrapper line {\n stroke: ${options.nodeBorder};\n stroke-width:${options.strokeWidth}\n }\n\n .disabled,\n .disabled circle,\n .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genReduxSections\");\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isReduxTheme = theme?.includes(\"redux\");\n const isNeutralTheme = theme === \"neutral\";\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n let gradientSections = \"\";\n if (options.useGradient && rawSvgId && options.THEME_COLOR_LIMIT && !isNeutralTheme) {\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n gradientSections += `\n .section-${i - 1}[data-look=\"neo\"] rect,\n .section-${i - 1}[data-look=\"neo\"] path,\n .section-${i - 1}[data-look=\"neo\"] circle {\n fill: ${options.mainBkg};\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }\n .section-${i - 1}[data-look=\"neo\"] line {\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }`;\n }\n }\n return `\n .edge {\n stroke-width: 3;\n }\n ${isReduxTheme ? genReduxSections(options) : genSections(options)}\n ${gradientSections}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar rendererSelector = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: /* @__PURE__ */ __name((text, id, version, diagObj) => {\n const direction2 = diagObj?.db?.getDirection?.() ?? \"LR\";\n if (direction2 === \"TD\") {\n return timelineRendererVertical_default.draw(text, id, version, diagObj);\n }\n return timelineRenderer_default.draw(text, id, version, diagObj);\n }, \"draw\")\n};\nvar diagram = {\n db: timelineDb_exports,\n renderer: rendererSelector,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import"./chunk-NNHCCRGN-DlpIbxXb.js";import{s as e}from"./mermaid-parser.core-CpuBOkFa.js";export{e as createTreeViewServices};
@@ -0,0 +1 @@
1
+ import"./chunk-NNHCCRGN-DlpIbxXb.js";import{a as e}from"./mermaid-parser.core-CpuBOkFa.js";export{e as createTreemapServices};