@ours.network/fleet 1.2.0-nightly.3 → 1.2.0-nightly.31

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 (458) hide show
  1. package/README.md +158 -28
  2. package/dist/account-origin.d.ts +2 -0
  3. package/dist/account-origin.js +6 -0
  4. package/dist/agent-ours/bridge.d.ts +3 -0
  5. package/dist/agent-ours/bridge.js +178 -0
  6. package/dist/agent-ours/controller.d.ts +14 -0
  7. package/dist/agent-ours/controller.js +60 -0
  8. package/dist/agent-ours/correspondence.d.ts +10 -0
  9. package/dist/agent-ours/correspondence.js +1 -0
  10. package/dist/agent-ours/file-rpc.d.ts +23 -0
  11. package/dist/agent-ours/file-rpc.js +123 -0
  12. package/dist/agent-ours/harness.d.ts +14 -0
  13. package/dist/agent-ours/harness.js +72 -0
  14. package/dist/agent-ours/mcp-endpoint.d.ts +15 -0
  15. package/dist/agent-ours/mcp-endpoint.js +111 -0
  16. package/dist/agent-ours/runtime.d.ts +59 -0
  17. package/dist/agent-ours/runtime.js +283 -0
  18. package/dist/agent-ours/service.d.ts +23 -0
  19. package/dist/agent-ours/service.js +372 -0
  20. package/dist/agent-ours/state.d.ts +45 -0
  21. package/dist/agent-ours/state.js +95 -0
  22. package/dist/agent-ours/wire.d.ts +14 -0
  23. package/dist/agent-ours/wire.js +55 -0
  24. package/dist/application/conversation-history.d.ts +25 -0
  25. package/dist/application/conversation-history.js +189 -0
  26. package/dist/application/fleet-query-service.d.ts +1 -1
  27. package/dist/application/fleet-query-service.js +2 -2
  28. package/dist/application/legacy-supervisor-identity.d.ts +7 -0
  29. package/dist/application/legacy-supervisor-identity.js +43 -0
  30. package/dist/application/model-catalog.d.ts +1 -1
  31. package/dist/application/model-catalog.js +5 -2
  32. package/dist/application/preset-provenance.d.ts +19 -0
  33. package/dist/application/preset-provenance.js +59 -0
  34. package/dist/application/room-layout-definitions.d.ts +45 -0
  35. package/dist/application/room-layout-definitions.js +130 -0
  36. package/dist/application/session-control.d.ts +18 -0
  37. package/dist/application/session-control.js +54 -3
  38. package/dist/application/supervisor-ours-tools.d.ts +159 -0
  39. package/dist/application/supervisor-ours-tools.js +113 -0
  40. package/dist/application/task-layouts.d.ts +91 -0
  41. package/dist/application/task-layouts.js +249 -0
  42. package/dist/application/task-room-service.d.ts +99 -3
  43. package/dist/application/task-room-service.js +296 -31
  44. package/dist/atomic-file.d.ts +5 -0
  45. package/dist/atomic-file.js +62 -1
  46. package/dist/briefing.js +10 -59
  47. package/dist/build-info.json +6 -4
  48. package/dist/capabilities.d.ts +3 -1
  49. package/dist/capabilities.js +4 -0
  50. package/dist/cli.js +131 -5
  51. package/dist/client-profile.d.ts +5 -16
  52. package/dist/client-profile.js +4 -112
  53. package/dist/config.d.ts +4 -0
  54. package/dist/config.js +7 -0
  55. package/dist/creation.d.ts +1 -1
  56. package/dist/creation.js +5 -16
  57. package/dist/daemon-recovery.d.ts +1 -8
  58. package/dist/daemon-recovery.js +8 -113
  59. package/dist/docs.d.ts +3 -3
  60. package/dist/docs.js +43 -23
  61. package/dist/doctor.d.ts +1 -1
  62. package/dist/doctor.js +46 -59
  63. package/dist/erased-resources.d.ts +9 -0
  64. package/dist/erased-resources.js +87 -0
  65. package/dist/fleet-command-audit.d.ts +1 -0
  66. package/dist/fleet-command-audit.js +12 -7
  67. package/dist/harness/agent-session.d.ts +2 -0
  68. package/dist/harness/claude-code-session.js +4 -2
  69. package/dist/harness/codex-app-server-proxy.d.ts +4 -1
  70. package/dist/harness/codex-app-server-proxy.js +41 -5
  71. package/dist/harness/codex-session.js +9 -2
  72. package/dist/harness/codex.d.ts +3 -2
  73. package/dist/harness/codex.js +4 -3
  74. package/dist/harness/hermes-session.js +7 -1
  75. package/dist/init-wizard.js +20 -9
  76. package/dist/isolation/policy.js +2 -0
  77. package/dist/isolation/types.d.ts +5 -0
  78. package/dist/monitor.d.ts +1 -34
  79. package/dist/monitor.js +24 -151
  80. package/dist/notifications/fleet-producer.d.ts +18 -0
  81. package/dist/notifications/fleet-producer.js +129 -0
  82. package/dist/notifications/outbox.d.ts +31 -0
  83. package/dist/notifications/outbox.js +104 -0
  84. package/dist/owner-channel/channel.d.ts +3 -0
  85. package/dist/owner-channel/channel.js +34 -6
  86. package/dist/owner-channel/commands.d.ts +4 -0
  87. package/dist/owner-channel/commands.js +8 -0
  88. package/dist/owner-channel/lifecycle-outbox.js +4 -3
  89. package/dist/owner-channel/ours-client.js +2 -17
  90. package/dist/preset-migration.js +15 -0
  91. package/dist/rooms-tasks/add-member.d.ts +48 -0
  92. package/dist/rooms-tasks/add-member.js +83 -0
  93. package/dist/rooms-tasks/archived-absence.d.ts +8 -0
  94. package/dist/rooms-tasks/archived-absence.js +48 -0
  95. package/dist/rooms-tasks/cli.js +34 -5
  96. package/dist/rooms-tasks/close.d.ts +5 -2
  97. package/dist/rooms-tasks/close.js +208 -28
  98. package/dist/rooms-tasks/config.js +3 -1
  99. package/dist/rooms-tasks/cowork-adapter.d.ts +6 -4
  100. package/dist/rooms-tasks/cowork-adapter.js +11 -117
  101. package/dist/rooms-tasks/cowork-http.d.ts +3 -0
  102. package/dist/rooms-tasks/cowork-http.js +70 -0
  103. package/dist/rooms-tasks/deletion.d.ts +1 -1
  104. package/dist/rooms-tasks/deletion.js +74 -5
  105. package/dist/rooms-tasks/erasure.d.ts +6 -0
  106. package/dist/rooms-tasks/erasure.js +169 -0
  107. package/dist/rooms-tasks/external-worker.d.ts +1 -1
  108. package/dist/rooms-tasks/external-worker.js +3 -4
  109. package/dist/rooms-tasks/layout-binding-client.d.ts +11 -0
  110. package/dist/rooms-tasks/layout-binding-client.js +56 -0
  111. package/dist/rooms-tasks/layout-binding-grants.d.ts +21 -0
  112. package/dist/rooms-tasks/layout-binding-grants.js +128 -0
  113. package/dist/rooms-tasks/layout-cli.d.ts +4 -0
  114. package/dist/rooms-tasks/layout-cli.js +107 -0
  115. package/dist/rooms-tasks/layout-config.d.ts +11 -0
  116. package/dist/rooms-tasks/layout-config.js +89 -0
  117. package/dist/rooms-tasks/layout-control.d.ts +21 -0
  118. package/dist/rooms-tasks/layout-control.js +52 -0
  119. package/dist/rooms-tasks/layout-service.d.ts +42 -0
  120. package/dist/rooms-tasks/layout-service.js +185 -0
  121. package/dist/rooms-tasks/layout.d.ts +114 -0
  122. package/dist/rooms-tasks/layout.js +250 -0
  123. package/dist/rooms-tasks/live-readiness.d.ts +18 -0
  124. package/dist/rooms-tasks/live-readiness.js +85 -0
  125. package/dist/rooms-tasks/member-startup.d.ts +1 -0
  126. package/dist/rooms-tasks/member-startup.js +2 -0
  127. package/dist/rooms-tasks/provision.d.ts +14 -0
  128. package/dist/rooms-tasks/provision.js +182 -48
  129. package/dist/rooms-tasks/room-state.d.ts +4 -2
  130. package/dist/rooms-tasks/room-state.js +53 -8
  131. package/dist/rooms-tasks/task-state.d.ts +42 -7
  132. package/dist/rooms-tasks/task-state.js +153 -23
  133. package/dist/rooms-tasks/types.d.ts +28 -0
  134. package/dist/rooms-tasks/workspace-artifacts.d.ts +6 -0
  135. package/dist/rooms-tasks/workspace-artifacts.js +93 -0
  136. package/dist/rooms-tasks/workspace.d.ts +26 -0
  137. package/dist/rooms-tasks/workspace.js +195 -0
  138. package/dist/runner.d.ts +23 -3
  139. package/dist/runner.js +581 -494
  140. package/dist/session/acp.d.ts +3 -0
  141. package/dist/session/acp.js +14 -0
  142. package/dist/session/arbiter.d.ts +3 -0
  143. package/dist/session/arbiter.js +20 -2
  144. package/dist/session/codex-app-server-transport.js +1 -1
  145. package/dist/session/codex-app-server.d.ts +3 -0
  146. package/dist/session/codex-app-server.js +25 -1
  147. package/dist/session/control.d.ts +10 -1
  148. package/dist/session/control.js +37 -2
  149. package/dist/session/conversation-normalizer.d.ts +2 -1
  150. package/dist/session/conversation-normalizer.js +1 -1
  151. package/dist/session/conversation-types.d.ts +5 -3
  152. package/dist/session/task-notice.d.ts +14 -0
  153. package/dist/session/task-notice.js +13 -0
  154. package/dist/session/types.d.ts +3 -0
  155. package/dist/socket-path.d.ts +2 -0
  156. package/dist/socket-path.js +22 -0
  157. package/dist/spawn.js +19 -16
  158. package/dist/startup-readiness.d.ts +13 -0
  159. package/dist/startup-readiness.js +38 -0
  160. package/dist/subscriptions/cli.d.ts +78 -0
  161. package/dist/subscriptions/cli.js +186 -0
  162. package/dist/subscriptions/launch.d.ts +37 -0
  163. package/dist/subscriptions/launch.js +93 -0
  164. package/dist/subscriptions/login.d.ts +75 -0
  165. package/dist/subscriptions/login.js +182 -0
  166. package/dist/subscriptions/observed.d.ts +7 -0
  167. package/dist/subscriptions/observed.js +44 -0
  168. package/dist/subscriptions/probe.d.ts +10 -0
  169. package/dist/subscriptions/probe.js +73 -0
  170. package/dist/subscriptions/service.d.ts +102 -0
  171. package/dist/subscriptions/service.js +364 -0
  172. package/dist/subscriptions/store.d.ts +71 -0
  173. package/dist/subscriptions/store.js +140 -0
  174. package/dist/supervisor/launchd.js +2 -1
  175. package/dist/supervisor/systemd.js +9 -23
  176. package/dist/temp-idle.d.ts +17 -0
  177. package/dist/temp-idle.js +42 -0
  178. package/dist/temp-lifecycle.d.ts +6 -1
  179. package/dist/temp-lifecycle.js +29 -13
  180. package/dist/temp-supervisor-recovery.d.ts +3 -0
  181. package/dist/temp-supervisor-recovery.js +46 -0
  182. package/dist/watchdog/briefing.js +3 -16
  183. package/dist/watchdog/run.js +19 -5
  184. package/dist/web/agent-attachments.d.ts +29 -0
  185. package/dist/web/agent-attachments.js +162 -0
  186. package/dist/web/auth.d.ts +28 -2
  187. package/dist/web/auth.js +81 -8
  188. package/dist/web/available-port.d.ts +2 -0
  189. package/dist/web/available-port.js +23 -0
  190. package/dist/web/control.d.ts +3 -2
  191. package/dist/web/control.js +11 -7
  192. package/dist/web/fleet-config-service.d.ts +4 -1
  193. package/dist/web/fleet-config-service.js +46 -15
  194. package/dist/web/prefix-gateway.d.ts +23 -0
  195. package/dist/web/prefix-gateway.js +156 -0
  196. package/dist/web/runtime.d.ts +4 -0
  197. package/dist/web/runtime.js +106 -20
  198. package/dist/web/server.d.ts +11 -0
  199. package/dist/web/server.js +445 -31
  200. package/dist/web/service.d.ts +11 -2
  201. package/dist/web/service.js +30 -4
  202. package/dist/web/workspace-devices.d.ts +29 -0
  203. package/dist/web/workspace-devices.js +84 -0
  204. package/dist/web/workspace-tunnel.d.ts +1 -0
  205. package/dist/web/workspace-tunnel.js +32 -0
  206. package/dist/web-app/assets/FleetApp-D58F4xje.css +1 -0
  207. package/dist/web-app/assets/FleetApp-DP5cBY0o.js +302 -0
  208. package/dist/web-app/assets/FleetApp-DP5cBY0o.js.map +1 -0
  209. package/dist/web-app/assets/abnfDiagram-VCTEODGH-BvJIz7wN.js +2 -0
  210. package/dist/web-app/assets/abnfDiagram-VCTEODGH-BvJIz7wN.js.map +1 -0
  211. package/dist/web-app/assets/arc-AT_BEfpe.js +2 -0
  212. package/dist/web-app/assets/arc-AT_BEfpe.js.map +1 -0
  213. package/dist/web-app/assets/architectureDiagram-5GKGNRK7-vSgJa9Xb.js +37 -0
  214. package/dist/web-app/assets/architectureDiagram-5GKGNRK7-vSgJa9Xb.js.map +1 -0
  215. package/dist/web-app/assets/blockDiagram-I7D4REHJ-DCFk_4Kv.js +130 -0
  216. package/dist/web-app/assets/blockDiagram-I7D4REHJ-DCFk_4Kv.js.map +1 -0
  217. package/dist/web-app/assets/browser-CMIwJ_8L.js +9 -0
  218. package/dist/web-app/assets/browser-CMIwJ_8L.js.map +1 -0
  219. package/dist/web-app/assets/c4Diagram-7LVT6UL2-8J_dVUtF.js +39 -0
  220. package/dist/web-app/assets/c4Diagram-7LVT6UL2-8J_dVUtF.js.map +1 -0
  221. package/dist/web-app/assets/channel-BHCBlfND.js +2 -0
  222. package/dist/web-app/assets/channel-BHCBlfND.js.map +1 -0
  223. package/dist/web-app/assets/chunk-2Q5K7J3B-31RX-jnL.js +2 -0
  224. package/dist/web-app/assets/chunk-2Q5K7J3B-31RX-jnL.js.map +1 -0
  225. package/dist/web-app/assets/chunk-5VM5RSS4-CFF8_ZJH.js +16 -0
  226. package/dist/web-app/assets/chunk-5VM5RSS4-CFF8_ZJH.js.map +1 -0
  227. package/dist/web-app/assets/chunk-F27PBJKO-Dx1l5wLI.js +2 -0
  228. package/dist/web-app/assets/chunk-F27PBJKO-Dx1l5wLI.js.map +1 -0
  229. package/dist/web-app/assets/chunk-IMKFNOWR-Ba2_9bl_.js +232 -0
  230. package/dist/web-app/assets/chunk-IMKFNOWR-Ba2_9bl_.js.map +1 -0
  231. package/dist/web-app/assets/chunk-JWPE2WC7-_mnRB2OH.js +2 -0
  232. package/dist/web-app/assets/chunk-JWPE2WC7-_mnRB2OH.js.map +1 -0
  233. package/dist/web-app/assets/chunk-POPQ4Y6H-B8jQTxQO.js +2 -0
  234. package/dist/web-app/assets/chunk-POPQ4Y6H-B8jQTxQO.js.map +1 -0
  235. package/dist/web-app/assets/chunk-SVP7TREG-BO_Jnb_c.js +89 -0
  236. package/dist/web-app/assets/chunk-SVP7TREG-BO_Jnb_c.js.map +1 -0
  237. package/dist/web-app/assets/chunk-TICWLB2K-ZYZ9hFu5.js +207 -0
  238. package/dist/web-app/assets/chunk-TICWLB2K-ZYZ9hFu5.js.map +1 -0
  239. package/dist/web-app/assets/chunk-XXDRQBXY-ByUAYXI3.js +2 -0
  240. package/dist/web-app/assets/chunk-XXDRQBXY-ByUAYXI3.js.map +1 -0
  241. package/dist/web-app/assets/classDiagram-ZZMXUADV-Ddx7RAuT.js +2 -0
  242. package/dist/web-app/assets/classDiagram-ZZMXUADV-Ddx7RAuT.js.map +1 -0
  243. package/dist/web-app/assets/classDiagram-v2-VYDZK3BY-Ddx7RAuT.js +2 -0
  244. package/dist/web-app/assets/classDiagram-v2-VYDZK3BY-Ddx7RAuT.js.map +1 -0
  245. package/dist/web-app/assets/cose-bilkent-JH36ORCC-BuOGJgHG.js +2 -0
  246. package/dist/web-app/assets/cose-bilkent-JH36ORCC-BuOGJgHG.js.map +1 -0
  247. package/dist/web-app/assets/cynefin-OW5HDTMX-DLksGPh8.js +179 -0
  248. package/dist/web-app/assets/cynefin-OW5HDTMX-DLksGPh8.js.map +1 -0
  249. package/dist/web-app/assets/cynefinDiagram-5FMLGOSQ-nJQb5qZR.js +63 -0
  250. package/dist/web-app/assets/cynefinDiagram-5FMLGOSQ-nJQb5qZR.js.map +1 -0
  251. package/dist/web-app/assets/cytoscape.esm-CtNdOvlO.js +332 -0
  252. package/dist/web-app/assets/cytoscape.esm-CtNdOvlO.js.map +1 -0
  253. package/dist/web-app/assets/dagre-GXQ25YYZ-CCF5O_UD.js +5 -0
  254. package/dist/web-app/assets/dagre-GXQ25YYZ-CCF5O_UD.js.map +1 -0
  255. package/dist/web-app/assets/defaultLocale-DX6XiGOO.js +2 -0
  256. package/dist/web-app/assets/defaultLocale-DX6XiGOO.js.map +1 -0
  257. package/dist/web-app/assets/diagram-S7CK7UJ4-C88au4NC.js +31 -0
  258. package/dist/web-app/assets/diagram-S7CK7UJ4-C88au4NC.js.map +1 -0
  259. package/dist/web-app/assets/diagram-UQ7AKVKN-B4QnPs7U.js +42 -0
  260. package/dist/web-app/assets/diagram-UQ7AKVKN-B4QnPs7U.js.map +1 -0
  261. package/dist/web-app/assets/diagram-VSXAHHWV-DeANdVWA.js +4 -0
  262. package/dist/web-app/assets/diagram-VSXAHHWV-DeANdVWA.js.map +1 -0
  263. package/dist/web-app/assets/diagram-VX7I27RA-YzlB_2AY.js +25 -0
  264. package/dist/web-app/assets/diagram-VX7I27RA-YzlB_2AY.js.map +1 -0
  265. package/dist/web-app/assets/diagram-Z3DM3KII-YY9NFaz_.js +25 -0
  266. package/dist/web-app/assets/diagram-Z3DM3KII-YY9NFaz_.js.map +1 -0
  267. package/dist/web-app/assets/ebnfDiagram-PWID7BFC-Cqu9kHUC.js +2 -0
  268. package/dist/web-app/assets/ebnfDiagram-PWID7BFC-Cqu9kHUC.js.map +1 -0
  269. package/dist/web-app/assets/erDiagram-RLTQ6QDP-IHi93MdG.js +100 -0
  270. package/dist/web-app/assets/erDiagram-RLTQ6QDP-IHi93MdG.js.map +1 -0
  271. package/dist/web-app/assets/flowDiagram-HODETNUW-19bm7W5P.js +169 -0
  272. package/dist/web-app/assets/flowDiagram-HODETNUW-19bm7W5P.js.map +1 -0
  273. package/dist/web-app/assets/ganttDiagram-EL5Y4UJY-BvCqvyiB.js +293 -0
  274. package/dist/web-app/assets/ganttDiagram-EL5Y4UJY-BvCqvyiB.js.map +1 -0
  275. package/dist/web-app/assets/gitGraphDiagram-WWUBYQGX-G4Ubl8Fs.js +107 -0
  276. package/dist/web-app/assets/gitGraphDiagram-WWUBYQGX-G4Ubl8Fs.js.map +1 -0
  277. package/dist/web-app/assets/index-C4BdeFB9.css +1 -0
  278. package/dist/web-app/assets/index-Dtn3ZY6J.js +430 -0
  279. package/dist/web-app/assets/index-Dtn3ZY6J.js.map +1 -0
  280. package/dist/web-app/assets/infoDiagram-27XIBGKW-B6rtfbuC.js +3 -0
  281. package/dist/web-app/assets/infoDiagram-27XIBGKW-B6rtfbuC.js.map +1 -0
  282. package/dist/web-app/assets/init-Gi6I4Gst.js +2 -0
  283. package/dist/web-app/assets/init-Gi6I4Gst.js.map +1 -0
  284. package/dist/web-app/assets/ishikawaDiagram-5VMMS53U-Lp8q1D21.js +71 -0
  285. package/dist/web-app/assets/ishikawaDiagram-5VMMS53U-Lp8q1D21.js.map +1 -0
  286. package/dist/web-app/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
  287. package/dist/web-app/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
  288. package/dist/web-app/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  289. package/dist/web-app/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  290. package/dist/web-app/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
  291. package/dist/web-app/assets/journeyDiagram-3NMN7TZE-Av03B9l3.js +140 -0
  292. package/dist/web-app/assets/journeyDiagram-3NMN7TZE-Av03B9l3.js.map +1 -0
  293. package/dist/web-app/assets/kanban-definition-UXKFOSKX-Ddd3_ejb.js +90 -0
  294. package/dist/web-app/assets/kanban-definition-UXKFOSKX-Ddd3_ejb.js.map +1 -0
  295. package/dist/web-app/assets/katex-HP8lGamR.js +258 -0
  296. package/dist/web-app/assets/katex-HP8lGamR.js.map +1 -0
  297. package/dist/web-app/assets/layout-CNjBeOlp.js +2 -0
  298. package/dist/web-app/assets/layout-CNjBeOlp.js.map +1 -0
  299. package/dist/web-app/assets/linear-DDONU9Ir.js +2 -0
  300. package/dist/web-app/assets/linear-DDONU9Ir.js.map +1 -0
  301. package/dist/web-app/assets/mermaid.core-B9X3C61k.js +313 -0
  302. package/dist/web-app/assets/mermaid.core-B9X3C61k.js.map +1 -0
  303. package/dist/web-app/assets/mindmap-definition-YA3MSWOX-I2UME2Ce.js +97 -0
  304. package/dist/web-app/assets/mindmap-definition-YA3MSWOX-I2UME2Ce.js.map +1 -0
  305. package/dist/web-app/assets/ordinal-Cboi1Yqb.js +2 -0
  306. package/dist/web-app/assets/ordinal-Cboi1Yqb.js.map +1 -0
  307. package/dist/web-app/assets/pegDiagram-XKGWAZYB-BER8lNbi.js +2 -0
  308. package/dist/web-app/assets/pegDiagram-XKGWAZYB-BER8lNbi.js.map +1 -0
  309. package/dist/web-app/assets/pieDiagram-E7YTZNPT-FVWVg8rH.js +40 -0
  310. package/dist/web-app/assets/pieDiagram-E7YTZNPT-FVWVg8rH.js.map +1 -0
  311. package/dist/web-app/assets/quadrantDiagram-AXDQQJYC-YlvT1u77.js +8 -0
  312. package/dist/web-app/assets/quadrantDiagram-AXDQQJYC-YlvT1u77.js.map +1 -0
  313. package/dist/web-app/assets/railroadDiagram-O6MQD6OU-CvxT6dMW.js +2 -0
  314. package/dist/web-app/assets/railroadDiagram-O6MQD6OU-CvxT6dMW.js.map +1 -0
  315. package/dist/web-app/assets/requirementDiagram-BXWQKSXE-Caav4EkP.js +85 -0
  316. package/dist/web-app/assets/requirementDiagram-BXWQKSXE-Caav4EkP.js.map +1 -0
  317. package/dist/web-app/assets/sankeyDiagram-P5KCCOFB-B5Uw70Gn.js +41 -0
  318. package/dist/web-app/assets/sankeyDiagram-P5KCCOFB-B5Uw70Gn.js.map +1 -0
  319. package/dist/web-app/assets/sequenceDiagram-WJ2MYXX4-D2SLKVJl.js +163 -0
  320. package/dist/web-app/assets/sequenceDiagram-WJ2MYXX4-D2SLKVJl.js.map +1 -0
  321. package/dist/web-app/assets/sizeCapture-INFHLROL-BVaBfbwa.js +2 -0
  322. package/dist/web-app/assets/sizeCapture-INFHLROL-BVaBfbwa.js.map +1 -0
  323. package/dist/web-app/assets/stateDiagram-D77RDMKH-BlV9y2tf.js +2 -0
  324. package/dist/web-app/assets/stateDiagram-D77RDMKH-BlV9y2tf.js.map +1 -0
  325. package/dist/web-app/assets/stateDiagram-v2-MP3YSRHH-BU4Tu2pp.js +2 -0
  326. package/dist/web-app/assets/stateDiagram-v2-MP3YSRHH-BU4Tu2pp.js.map +1 -0
  327. package/dist/web-app/assets/swimlanes-42K2YHIH-Pv3Wv8c7.js +2 -0
  328. package/dist/web-app/assets/swimlanes-42K2YHIH-Pv3Wv8c7.js.map +1 -0
  329. package/dist/web-app/assets/swimlanesDiagram-VR7AAH4N-BNKjOvPH.js +9 -0
  330. package/dist/web-app/assets/swimlanesDiagram-VR7AAH4N-BNKjOvPH.js.map +1 -0
  331. package/dist/web-app/assets/timeline-definition-24CTP7MA-C9TOilaR.js +121 -0
  332. package/dist/web-app/assets/timeline-definition-24CTP7MA-C9TOilaR.js.map +1 -0
  333. package/dist/web-app/assets/vennDiagram-4TSXK5OY-DeSDprN4.js +35 -0
  334. package/dist/web-app/assets/vennDiagram-4TSXK5OY-DeSDprN4.js.map +1 -0
  335. package/dist/web-app/assets/wardleyDiagram-VM6X3IG4-SulZn-nm.js +79 -0
  336. package/dist/web-app/assets/wardleyDiagram-VM6X3IG4-SulZn-nm.js.map +1 -0
  337. package/dist/web-app/assets/xychartDiagram-S5SC5T6Z-CC6MrQ0h.js +8 -0
  338. package/dist/web-app/assets/xychartDiagram-S5SC5T6Z-CC6MrQ0h.js.map +1 -0
  339. package/dist/web-app/fleet-index.html +19 -0
  340. package/dist/web-app/fleet.webmanifest +37 -0
  341. package/dist/web-app/icons/apple-touch-icon.png +0 -0
  342. package/dist/web-app/icons/favicon-16.png +0 -0
  343. package/dist/web-app/icons/favicon-32.png +0 -0
  344. package/dist/web-app/icons/icon-192-maskable.png +0 -0
  345. package/dist/web-app/icons/icon-192.png +0 -0
  346. package/dist/web-app/icons/icon-512-maskable.png +0 -0
  347. package/dist/web-app/icons/icon-512.png +0 -0
  348. package/dist/web-app/index.html +9 -7
  349. package/dist/web-app/manifest.webmanifest +10 -8
  350. package/dist/web-app/sw.js +210 -40
  351. package/dist/web-app/version.json +1 -0
  352. package/dist/web-app/workspace-install.sh +148 -0
  353. package/dist/workspace-enrollment.d.ts +28 -0
  354. package/dist/workspace-enrollment.js +129 -0
  355. package/docs/room-layouts.md +227 -0
  356. package/docs/task-workspaces.md +130 -0
  357. package/examples/room-layouts/fresh.yaml +27 -0
  358. package/examples/room-layouts/scoped.yaml +21 -0
  359. package/examples/room-layouts/shared.yaml +19 -0
  360. package/package.json +14 -17
  361. package/presets/README.md +78 -0
  362. package/presets/brain-catalog.json +8 -2
  363. package/presets/fleet/agent_templates/Engineer.yaml +5 -0
  364. package/presets/fleet/brains/claude-fable-5-1-high.yaml +5 -0
  365. package/presets/fleet/brains/claude-fable-5-1-low.yaml +5 -0
  366. package/presets/fleet/brains/claude-fable-5-1-max.yaml +5 -0
  367. package/presets/fleet/brains/claude-fable-5-1-medium.yaml +5 -0
  368. package/presets/fleet/brains/claude-fable-5-1-xhigh.yaml +5 -0
  369. package/presets/fleet/brains/claude-fable-5-high.yaml +1 -1
  370. package/presets/fleet/brains/claude-fable-5-low.yaml +1 -1
  371. package/presets/fleet/brains/claude-fable-5-max.yaml +1 -1
  372. package/presets/fleet/brains/claude-fable-5-medium.yaml +1 -1
  373. package/presets/fleet/brains/claude-fable-5-xhigh.yaml +1 -1
  374. package/presets/fleet/brains/claude-haiku-4-5-20251001-default.yaml +4 -0
  375. package/presets/fleet/brains/claude-opus-5-5-high.yaml +5 -0
  376. package/presets/fleet/brains/claude-opus-5-5-low.yaml +5 -0
  377. package/presets/fleet/brains/claude-opus-5-5-max.yaml +5 -0
  378. package/presets/fleet/brains/claude-opus-5-5-medium.yaml +5 -0
  379. package/presets/fleet/brains/claude-opus-5-5-xhigh.yaml +5 -0
  380. package/presets/fleet/brains/claude-opus-5-high.yaml +1 -1
  381. package/presets/fleet/brains/claude-opus-5-low.yaml +1 -1
  382. package/presets/fleet/brains/claude-opus-5-max.yaml +1 -1
  383. package/presets/fleet/brains/claude-opus-5-medium.yaml +1 -1
  384. package/presets/fleet/brains/claude-opus-5-xhigh.yaml +1 -1
  385. package/presets/fleet/brains/claude-sonnet-5-high.yaml +1 -1
  386. package/presets/fleet/brains/claude-sonnet-5-low.yaml +1 -1
  387. package/presets/fleet/brains/claude-sonnet-5-max.yaml +1 -1
  388. package/presets/fleet/brains/claude-sonnet-5-medium.yaml +1 -1
  389. package/presets/fleet/brains/claude-sonnet-5-xhigh.yaml +1 -1
  390. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-high.yaml +1 -1
  391. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-low.yaml +1 -1
  392. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-medium.yaml +1 -1
  393. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-xhigh.yaml +1 -1
  394. package/presets/fleet/brains/codex-gpt-5-4-high.yaml +1 -1
  395. package/presets/fleet/brains/codex-gpt-5-4-low.yaml +1 -1
  396. package/presets/fleet/brains/codex-gpt-5-4-medium.yaml +1 -1
  397. package/presets/fleet/brains/codex-gpt-5-4-mini-high.yaml +1 -1
  398. package/presets/fleet/brains/codex-gpt-5-4-mini-low.yaml +1 -1
  399. package/presets/fleet/brains/codex-gpt-5-4-mini-medium.yaml +1 -1
  400. package/presets/fleet/brains/codex-gpt-5-4-mini-xhigh.yaml +1 -1
  401. package/presets/fleet/brains/codex-gpt-5-4-xhigh.yaml +1 -1
  402. package/presets/fleet/brains/codex-gpt-5-5-high.yaml +1 -1
  403. package/presets/fleet/brains/codex-gpt-5-5-low.yaml +1 -1
  404. package/presets/fleet/brains/codex-gpt-5-5-medium.yaml +1 -1
  405. package/presets/fleet/brains/codex-gpt-5-5-xhigh.yaml +1 -1
  406. package/presets/fleet/brains/codex-gpt-5-6-luna-high.yaml +1 -1
  407. package/presets/fleet/brains/codex-gpt-5-6-luna-low.yaml +1 -1
  408. package/presets/fleet/brains/codex-gpt-5-6-luna-max.yaml +1 -1
  409. package/presets/fleet/brains/codex-gpt-5-6-luna-medium.yaml +1 -1
  410. package/presets/fleet/brains/codex-gpt-5-6-luna-xhigh.yaml +1 -1
  411. package/presets/fleet/brains/codex-gpt-5-6-sol-high.yaml +1 -1
  412. package/presets/fleet/brains/codex-gpt-5-6-sol-low.yaml +1 -1
  413. package/presets/fleet/brains/codex-gpt-5-6-sol-max.yaml +1 -1
  414. package/presets/fleet/brains/codex-gpt-5-6-sol-medium.yaml +1 -1
  415. package/presets/fleet/brains/codex-gpt-5-6-sol-ultra.yaml +1 -1
  416. package/presets/fleet/brains/codex-gpt-5-6-sol-xhigh.yaml +1 -1
  417. package/presets/fleet/brains/codex-gpt-5-6-terra-high.yaml +1 -1
  418. package/presets/fleet/brains/codex-gpt-5-6-terra-low.yaml +1 -1
  419. package/presets/fleet/brains/codex-gpt-5-6-terra-max.yaml +1 -1
  420. package/presets/fleet/brains/codex-gpt-5-6-terra-medium.yaml +1 -1
  421. package/presets/fleet/brains/codex-gpt-5-6-terra-ultra.yaml +1 -1
  422. package/presets/fleet/brains/codex-gpt-5-6-terra-xhigh.yaml +1 -1
  423. package/presets/fleet/brains/codex-gpt-6-1-sol-high.yaml +5 -0
  424. package/presets/fleet/brains/codex-gpt-6-1-sol-low.yaml +5 -0
  425. package/presets/fleet/brains/codex-gpt-6-1-sol-max.yaml +5 -0
  426. package/presets/fleet/brains/codex-gpt-6-1-sol-medium.yaml +5 -0
  427. package/presets/fleet/brains/codex-gpt-6-1-sol-ultra.yaml +5 -0
  428. package/presets/fleet/brains/codex-gpt-6-1-sol-xhigh.yaml +5 -0
  429. package/presets/fleet/brains/codex-gpt-6-astra-high.yaml +1 -1
  430. package/presets/fleet/brains/codex-gpt-6-astra-low.yaml +1 -1
  431. package/presets/fleet/brains/codex-gpt-6-astra-max.yaml +1 -1
  432. package/presets/fleet/brains/codex-gpt-6-astra-medium.yaml +1 -1
  433. package/presets/fleet/brains/codex-gpt-6-astra-ultra.yaml +1 -1
  434. package/presets/fleet/brains/codex-gpt-6-astra-xhigh.yaml +1 -1
  435. package/presets/fleet/brains/codex-gpt-6-luna-high.yaml +5 -0
  436. package/presets/fleet/brains/codex-gpt-6-luna-low.yaml +5 -0
  437. package/presets/fleet/brains/codex-gpt-6-luna-max.yaml +5 -0
  438. package/presets/fleet/brains/codex-gpt-6-luna-medium.yaml +5 -0
  439. package/presets/fleet/brains/codex-gpt-6-luna-xhigh.yaml +5 -0
  440. package/presets/fleet/brains/codex-gpt-6-sol-high.yaml +5 -0
  441. package/presets/fleet/brains/codex-gpt-6-sol-low.yaml +5 -0
  442. package/presets/fleet/brains/codex-gpt-6-sol-max.yaml +5 -0
  443. package/presets/fleet/brains/codex-gpt-6-sol-medium.yaml +5 -0
  444. package/presets/fleet/brains/codex-gpt-6-sol-ultra.yaml +5 -0
  445. package/presets/fleet/brains/codex-gpt-6-sol-xhigh.yaml +5 -0
  446. package/presets/fleet/roles/Coordinator.yaml +22 -0
  447. package/presets/fleet/roles/Engineer.yaml +40 -0
  448. package/presets/fleet/room_layouts/engineering.yaml +25 -0
  449. package/presets/fleet/room_layouts/pair.yaml +24 -0
  450. package/presets/fleet/room_layouts/single.yaml +17 -0
  451. package/presets/fleet/room_layouts/team.yaml +30 -0
  452. package/presets/fleet/room_templates/engineering.yaml +19 -0
  453. package/presets/manifest.json +2 -2
  454. package/dist/web-app/assets/index-59GF-gsZ.css +0 -1
  455. package/dist/web-app/assets/index-C0h3ALvs.js +0 -10
  456. package/dist/web-app/icons/ours-fleet-maskable.svg +0 -4
  457. package/dist/web-app/icons/ours-fleet.svg +0 -4
  458. package/dist/web-app/offline.html +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-VSXAHHWV-DeANdVWA.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-VSXAHHWV.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n calculateTextDimensions,\n cleanAndMerge,\n wrapLabel\n} from \"./chunk-75Z2AOVW.mjs\";\nimport {\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-DU6HZSFF.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/eventmodeling/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/db.ts\nimport { isEmResetFrame } from \"@mermaid-js/parser\";\n\n// src/diagrams/eventmodeling/types.ts\nvar PositionFrameKind = \"position frame\";\nvar FramePositionedKind = \"frame positioned\";\nvar PositionRelationKind = \"position relation\";\nvar RelationPositionedKind = \"relation positioned\";\n\n// src/diagrams/eventmodeling/db.ts\nvar setOptions = /* @__PURE__ */ __name(function(_rawOptString) {\n log.debug(\"options str\", _rawOptString);\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return {};\n}, \"getOptions\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n reset();\n clear();\n}, \"clear\");\nfunction reset() {\n store = {};\n}\n__name(reset, \"reset\");\nvar DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_EVENTMODELING_CONFIG,\n ...getConfig().eventmodeling\n });\n return config;\n}, \"getConfig\");\nvar store = {};\nfunction getState() {\n let state = initial;\n const { ast } = store;\n const diagramProps2 = getDiagramProps();\n if (!ast) {\n throw new Error(\"No data for EventModel\");\n }\n ast.frames.forEach((frame, index) => {\n const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);\n state = dispatch(state, {\n $kind: PositionFrameKind,\n index,\n frame,\n textProps\n });\n let sourceFrames = void 0;\n if (hasSourceFrame(frame)) {\n log.debug(`source frame`, frame.sourceFrames);\n sourceFrames = ast.frames.filter((currentFrame) => {\n return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);\n });\n sourceFrames.forEach((sourceFrame) => {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame,\n sourceFrame\n });\n });\n } else {\n state = dispatch(state, {\n $kind: PositionRelationKind,\n index,\n frame\n });\n }\n });\n state = {\n ...state,\n sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)\n };\n return state;\n}\n__name(getState, \"getState\");\nfunction setAst(ast) {\n store.ast = ast;\n}\n__name(setAst, \"setAst\");\nvar diagramProps = {\n swimlaneMinHeight: 70,\n swimlanePadding: 15,\n swimlaneGap: 10,\n boxPadding: 10,\n boxOverlap: 90,\n boxDefaultY: 0,\n boxMinWidth: 80,\n boxMaxWidth: 450,\n boxMinHeight: 80,\n boxMaxHeight: 750,\n contentStartX: 250,\n textMaxWidth: 450 - 2 * 10,\n boxTextFontWeight: \"bold\",\n boxTextPadding: 10,\n swimlaneTextFontWeight: \"bold\",\n labelUiAutomation: \"UI/Automation\",\n labelUiAutomationPrefix: \"UI/A: \",\n labelCommandReadModel: \"Command/Read Model\",\n labelCommandReadModelPrefix: \"C/RM: \",\n labelEvents: \"Events\",\n labelEventsPrefix: \"Stream: \"\n};\nfunction getDiagramProps() {\n return diagramProps;\n}\n__name(getDiagramProps, \"getDiagramProps\");\nvar initial = {\n boxes: [],\n swimlanes: {},\n relations: [],\n maxR: 0,\n sortedSwimlanesArray: []\n};\nfunction extractNamespace(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[0];\n }\n return void 0;\n}\n__name(extractNamespace, \"extractNamespace\");\nfunction extractName(entityIdentifier) {\n const spl = entityIdentifier.split(\".\");\n if (spl.length === 2) {\n return spl[1];\n }\n return entityIdentifier;\n}\n__name(extractName, \"extractName\");\nfunction findSwimlaneByNamespace(swimlanes, namespace) {\n if (!namespace || namespace.length === 0) {\n return void 0;\n }\n return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);\n}\n__name(findSwimlaneByNamespace, \"findSwimlaneByNamespace\");\nfunction findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {\n return Math.max(\n boundaryMin,\n ...Object.keys(swimlanes).filter((key) => {\n const index = Number.parseInt(key);\n return index > boundaryMin && index < boundaryMax;\n }).map((key) => Number.parseInt(key))\n ) + 1;\n}\n__name(findNextAvailableIndex, \"findNextAvailableIndex\");\nfunction calculateSwimlaneProps(frame, swimlanes) {\n const namespace = extractNamespace(frame.entityIdentifier);\n const sw = findSwimlaneByNamespace(swimlanes, namespace);\n switch (frame.modelEntityType) {\n case \"ui\":\n case \"pcr\":\n case \"processor\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelUiAutomation\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 0, 100),\n label: diagramProps.labelUiAutomationPrefix + namespace\n };\n }\n return { index: 0, label: diagramProps.labelUiAutomation };\n case \"rmo\":\n case \"readmodel\":\n case \"cmd\":\n case \"command\":\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelCommandReadModel\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 100, 200),\n label: diagramProps.labelCommandReadModelPrefix + namespace\n };\n }\n return { index: 100, label: diagramProps.labelCommandReadModel };\n case \"evt\":\n case \"event\":\n default:\n if (sw) {\n return {\n index: sw.index,\n label: sw.namespace || diagramProps.labelEvents\n };\n } else if (namespace) {\n return {\n index: findNextAvailableIndex(swimlanes, 200, 300),\n label: diagramProps.labelEventsPrefix + namespace\n };\n }\n return { index: 200, label: diagramProps.labelEvents };\n }\n}\n__name(calculateSwimlaneProps, \"calculateSwimlaneProps\");\nfunction calculateEntityVisualProps(frame) {\n const { themeVariables } = getConfig();\n switch (frame.modelEntityType) {\n case \"ui\":\n return {\n fill: themeVariables.emUiFill ?? \"white\",\n stroke: themeVariables.emUiStroke ?? \"#dbdada\"\n };\n case \"pcr\":\n case \"processor\":\n return {\n fill: themeVariables.emProcessorFill ?? \"#edb3f6\",\n stroke: themeVariables.emProcessorStroke ?? \"#b88cbf\"\n };\n case \"rmo\":\n case \"readmodel\":\n return {\n fill: themeVariables.emReadModelFill ?? \"#d3f1a2\",\n stroke: themeVariables.emReadModelStroke ?? \"#a3b732\"\n };\n case \"cmd\":\n case \"command\":\n return {\n fill: themeVariables.emCommandFill ?? \"#bcd6fe\",\n stroke: themeVariables.emCommandStroke ?? \"#679ac3\"\n };\n case \"evt\":\n case \"event\":\n return {\n fill: themeVariables.emEventFill ?? \"#ffb778\",\n stroke: themeVariables.emEventStroke ?? \"#c19a0f\"\n };\n default:\n return {\n fill: \"red\",\n stroke: \"black\"\n };\n }\n}\n__name(calculateEntityVisualProps, \"calculateEntityVisualProps\");\nfunction calculateTextProps(frame, dataEntities, diagramProps2) {\n const config = getConfig();\n const name = sanitizeText(extractName(frame.entityIdentifier) ?? \"\", config);\n let toHtml;\n const wrapLabelConfig = {\n fontSize: 16,\n fontWeight: 700,\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n joinWith: \"<br/>\"\n };\n const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);\n let content = `<b>${wrappedName}</b>`;\n if (frame.dataInlineValue) {\n toHtml = frame.dataInlineValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\") + 1);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n }\n if (frame.dataReference) {\n const dataEntity = dataEntities.find(\n (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText\n );\n if (dataEntity) {\n toHtml = dataEntity.dataBlockValue;\n toHtml = toHtml.substring(toHtml.indexOf(\"{\\n\") + 2);\n toHtml = toHtml.substring(0, toHtml.lastIndexOf(\"}\") - 1);\n toHtml = sanitizeText(toHtml, config);\n toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);\n toHtml = toHtml.replaceAll(\" \", \"&nbsp;\");\n toHtml += `<br/>`;\n }\n }\n const hasRenderedData = toHtml !== void 0;\n if (hasRenderedData) {\n content += `<br/><br/><code style=\"text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px\">${toHtml}</code>`;\n }\n const textDimensionConfig = {\n fontSize: wrapLabelConfig.fontSize,\n fontWeight: wrapLabelConfig.fontWeight,\n fontFamily: wrapLabelConfig.fontFamily\n };\n const dimensions = calculateTextDimensions(content, textDimensionConfig);\n const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;\n const props = {\n content,\n width: calculatedWidthFix,\n height: dimensions.height\n };\n log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);\n return props;\n}\n__name(calculateTextProps, \"calculateTextProps\");\nfunction decidePositionFrame(state, _command) {\n const command = _command;\n const visual = calculateEntityVisualProps(command.frame);\n const dimension = {\n width: command.textProps.width + 2 * diagramProps.boxTextPadding,\n height: command.textProps.height + 2 * diagramProps.boxTextPadding\n };\n const event = {\n $kind: FramePositionedKind,\n frame: command.frame,\n index: command.index,\n visual,\n dimension,\n textProps: command.textProps\n };\n return [event];\n}\n__name(decidePositionFrame, \"decidePositionFrame\");\nfunction calculateX(swimlane, previousSwimlane, lastBox) {\n if (previousSwimlane === void 0) {\n return diagramProps.contentStartX;\n }\n if (previousSwimlane.index === swimlane.index && swimlane.r) {\n return swimlane.r + diagramProps.boxPadding;\n }\n if (lastBox === void 0) {\n return diagramProps.contentStartX;\n }\n return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;\n}\n__name(calculateX, \"calculateX\");\nfunction calculateMaxRight(swimlanes, swimlaneR) {\n const rs = [...swimlanes.map((s) => s.r), swimlaneR];\n return Math.max(...rs);\n}\n__name(calculateMaxRight, \"calculateMaxRight\");\nfunction sortedSwimlanesArray(swimlanes) {\n return Object.values(swimlanes).sort((a, b) => a.index - b.index);\n}\n__name(sortedSwimlanesArray, \"sortedSwimlanesArray\");\nfunction evolveFramePositioned(state, _event) {\n const event = _event;\n const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);\n let swimlane;\n if (swimlaneProps.index in state.swimlanes) {\n swimlane = state.swimlanes[swimlaneProps.index];\n } else {\n swimlane = {\n index: swimlaneProps.index,\n label: swimlaneProps.label,\n r: 0,\n y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,\n height: diagramProps.swimlaneMinHeight,\n maxHeight: diagramProps.swimlaneMinHeight\n };\n }\n const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;\n const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;\n const dimension = {\n width: Math.max(\n diagramProps.boxMinWidth,\n Math.min(diagramProps.boxMaxWidth, event.dimension.width)\n ) + 2 * diagramProps.boxPadding,\n height: Math.max(\n diagramProps.boxMinHeight,\n Math.min(diagramProps.boxMaxHeight, event.dimension.height)\n ) + 2 * diagramProps.boxPadding\n };\n const x = calculateX(swimlane, previousSwimlane, lastBox);\n const r = x + dimension.width + diagramProps.boxPadding;\n const maxR = calculateMaxRight(Object.values(state.swimlanes), r);\n swimlane.r = x + dimension.width;\n swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);\n swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;\n const box = {\n x,\n y: diagramProps.swimlanePadding + swimlane.y,\n // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),\n r,\n dimension,\n leftSibling: false,\n swimlane,\n visual: event.visual,\n text: event.textProps.content,\n frame: event.frame,\n index: event.index\n };\n const newState = {\n ...state,\n boxes: [...state.boxes, box],\n swimlanes: {\n ...state.swimlanes,\n [`${swimlane.index}`]: swimlane\n },\n previousSwimlaneNumber: swimlaneProps.index,\n previousFrame: event.frame,\n maxR\n };\n const swimlanes = sortedSwimlanesArray(newState.swimlanes);\n if (swimlanes.length > 0) {\n swimlanes[0].y = 0;\n }\n for (let i = 1; i < swimlanes.length; i++) {\n const sw = swimlanes[i];\n const prevSw = swimlanes[i - 1];\n sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;\n }\n return newState;\n}\n__name(evolveFramePositioned, \"evolveFramePositioned\");\nfunction isFirstFrame(index, frame) {\n if (index === 0 && frame.sourceFrames.length === 0) {\n return true;\n }\n return false;\n}\n__name(isFirstFrame, \"isFirstFrame\");\nfunction hasSourceFrame(frame) {\n return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;\n}\n__name(hasSourceFrame, \"hasSourceFrame\");\nfunction findBoxByFrame(boxes, frame) {\n if (frame === void 0 || frame === null) {\n return void 0;\n }\n return boxes.find((box) => box.frame.name === frame.name);\n}\n__name(findBoxByFrame, \"findBoxByFrame\");\nfunction findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {\n if (lineIndex < 0) {\n return void 0;\n }\n for (let i = lineIndex; i >= 0; i--) {\n const box = boxes[i];\n if (box.swimlane.index !== targetSwimlane) {\n return box;\n }\n }\n return void 0;\n}\n__name(findBoxByLineIndex, \"findBoxByLineIndex\");\nfunction decidePositionRelation(state, _command) {\n const command = _command;\n if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {\n return [];\n }\n const targetBox = findBoxByFrame(state.boxes, command.frame);\n if (targetBox === void 0) {\n throw new Error(`Target box not found for frame ${command.frame.name}`);\n }\n let sourceBox;\n if (command.sourceFrame) {\n sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);\n } else {\n sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);\n }\n if (sourceBox === void 0) {\n return [];\n }\n const event = {\n $kind: RelationPositionedKind,\n frame: command.frame,\n index: command.index,\n sourceBox,\n targetBox\n };\n return [event];\n}\n__name(decidePositionRelation, \"decidePositionRelation\");\nfunction evolveRelationPositioned(state, _event) {\n const event = _event;\n const relation = {\n visual: {\n fill: \"none\",\n stroke: \"#000\"\n },\n source: {\n x: event.sourceBox.x,\n y: event.sourceBox.y\n },\n target: {\n x: event.targetBox.x,\n y: event.targetBox.y\n },\n sourceBox: event.sourceBox,\n targetBox: event.targetBox\n };\n const newState = {\n ...state,\n relations: [...state.relations, relation]\n };\n return newState;\n}\n__name(evolveRelationPositioned, \"evolveRelationPositioned\");\nvar deciders = {\n [PositionFrameKind]: decidePositionFrame,\n [PositionRelationKind]: decidePositionRelation\n};\nvar evolvers = {\n [FramePositionedKind]: evolveFramePositioned,\n [RelationPositionedKind]: evolveRelationPositioned\n};\nfunction decide(state, command) {\n const fn = deciders[command.$kind];\n if (fn === void 0 || fn === null) {\n return [];\n }\n const events = fn(state, command);\n log.debug(`decided events`, events);\n return events;\n}\n__name(decide, \"decide\");\nfunction evolve(state, events) {\n const newState = events.reduce((previousState, event) => {\n const fn = evolvers[event.$kind];\n if (fn === void 0 || fn === null) {\n return previousState;\n }\n return fn(previousState, event);\n }, state);\n log.debug(`evolve events`, { state, newState, events });\n return newState;\n}\n__name(evolve, \"evolve\");\nfunction dispatch(state, command) {\n const events = decide(state, command);\n const newState = evolve(state, events);\n return newState;\n}\n__name(dispatch, \"dispatch\");\nvar db = {\n getConfig: getConfig3,\n setOptions,\n getOptions,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n setAst,\n getDiagramProps,\n getState\n};\n\n// src/diagrams/eventmodeling/parser.ts\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"eventmodeling\", input);\n log.debug(ast);\n db.setAst(ast);\n populateCommonDb(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"EventModeling Parser\", () => {\n it(\"should parse simple model\", () => {\n const result = parser.parse(`eventmodeling\n tf 01 evt Start\n\n `);\n expect(result !== void 0);\n });\n });\n}\n\n// src/diagrams/eventmodeling/renderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;\nfunction renderD3Box(diagram2, diagramProps2) {\n return (box) => {\n const y = box.swimlane.y + diagramProps2.swimlanePadding;\n const g = diagram2.append(\"g\").attr(\"class\", \"em-box\");\n g.append(\"rect\").attr(\"x\", box.x).attr(\"y\", y).attr(\"rx\", \"3\").attr(\"width\", box.dimension.width).attr(\"height\", box.dimension.height).attr(\"stroke\", box.visual.stroke).attr(\"fill\", box.visual.fill);\n const f = g.append(\"foreignObject\").attr(\"x\", box.x + diagramProps2.boxPadding).attr(\"y\", y + 10).attr(\"width\", box.dimension.width - 2 * diagramProps2.boxPadding).attr(\"height\", box.dimension.height - 2 * diagramProps2.boxPadding);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"span\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(box.text);\n };\n}\n__name(renderD3Box, \"renderD3Box\");\nfunction dirUpwards(sourceY, targetY) {\n return sourceY > targetY;\n}\n__name(dirUpwards, \"dirUpwards\");\nfunction renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {\n return (relation) => {\n const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;\n const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;\n const upwards = dirUpwards(sourceBoxY, targetBoxY);\n const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;\n const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;\n let sourceY;\n let targetY;\n log.debug(`rendering relation up=${upwards} for `, {\n sourceBox: relation.sourceBox,\n targetBox: relation.targetBox\n });\n if (upwards) {\n sourceY = sourceBoxY;\n targetY = targetBoxY + relation.targetBox.dimension.height;\n } else {\n sourceY = sourceBoxY + relation.sourceBox.dimension.height;\n targetY = targetBoxY;\n }\n const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;\n diagram2.append(\"path\").attr(\"class\", \"em-relation\").attr(\"fill\", relation.visual.fill).attr(\"stroke\", relationStroke).attr(\"stroke-width\", \"1\").attr(\"marker-end\", `url(#${arrowheadId})`).attr(\"d\", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);\n };\n}\n__name(renderD3Relation, \"renderD3Relation\");\nfunction renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {\n return (swimlane) => {\n const g = diagram2.append(\"g\").attr(\"class\", \"em-swimlane\");\n const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? \"rgb(250,250,250)\";\n const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? \"rgb(240,240,240)\";\n g.append(\"rect\").attr(\"x\", 0).attr(\"y\", swimlane.y).attr(\"rx\", \"3\").attr(\"width\", maxR + diagramProps2.swimlanePadding).attr(\"height\", swimlane.height).attr(\"fill\", oddBackground).attr(\"stroke\", backgroundStroke);\n g.append(\"text\").attr(\"font-weight\", diagramProps2.swimlaneTextFontWeight).attr(\"x\", 30).attr(\"y\", swimlane.y + 30).text(swimlane.label);\n };\n}\n__name(renderD3Swimlane, \"renderD3Swimlane\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n log.debug(\"in eventmodeling renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_EVENTMODELING_CONFIG2) {\n throw new Error(\"EventModeling config not found\");\n }\n const db2 = diagObj.db;\n const { themeVariables, eventmodeling: config } = getConfig2();\n const diagram2 = select(`[id=\"${id}\"]`);\n const diagramProps2 = db2.getDiagramProps();\n const state = db2.getState();\n const arrowheadId = `em-arrowhead-${id}`;\n const arrowheadColor = themeVariables.emArrowhead ?? \"#000000\";\n state.sortedSwimlanesArray.forEach(\n renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)\n );\n state.boxes.forEach(renderD3Box(diagram2, diagramProps2));\n state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));\n const marker = diagram2.append(\"defs\").append(\"marker\").attr(\"id\", arrowheadId).attr(\"markerWidth\", \"10\").attr(\"markerHeight\", \"7\").attr(\"refX\", \"10\").attr(\"refY\", \"3.5\").attr(\"orient\", \"auto\");\n marker.append(\"polygon\").attr(\"points\", \"0 0, 10 3.5, 0 7\").attr(\"fill\", arrowheadColor);\n setupGraphViewbox(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);\n}, \"draw\");\nvar renderer_default = {\n draw\n};\n\n// src/diagrams/eventmodeling/styles.js\nvar getStyles = /* @__PURE__ */ __name((_options) => ``, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/eventmodeling/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer: renderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["PositionFrameKind","FramePositionedKind","PositionRelationKind","RelationPositionedKind","setOptions","__name","_rawOptString","log","getOptions","clear2","reset","clear","store","DEFAULT_EVENTMODELING_CONFIG","defaultConfig_default","getConfig3","cleanAndMerge","getConfig","getState","state","initial","ast","diagramProps2","getDiagramProps","frame","index","textProps","calculateTextProps","dispatch","sourceFrames","hasSourceFrame","currentFrame","sf","sourceFrame","sortedSwimlanesArray","setAst","diagramProps","extractNamespace","entityIdentifier","spl","extractName","findSwimlaneByNamespace","swimlanes","namespace","swimlane","findNextAvailableIndex","boundaryMin","boundaryMax","key","calculateSwimlaneProps","sw","calculateEntityVisualProps","themeVariables","dataEntities","config","name","sanitizeText","toHtml","wrapLabelConfig","content","wrapLabel","dataEntity","dataEntity2","hasRenderedData","textDimensionConfig","dimensions","calculateTextDimensions","calculatedWidthFix","props","decidePositionFrame","_command","command","visual","dimension","calculateX","previousSwimlane","lastBox","calculateMaxRight","swimlaneR","rs","s","a","b","evolveFramePositioned","_event","event","swimlaneProps","x","r","maxR","box","newState","i","prevSw","isFirstFrame","findBoxByFrame","boxes","findBoxByLineIndex","targetSwimlane","lineIndex","decidePositionRelation","isEmResetFrame","targetBox","sourceBox","evolveRelationPositioned","relation","deciders","evolvers","decide","fn","events","evolve","previousState","db","setAccTitle","getAccTitle","getAccDescription","setAccDescription","setDiagramTitle","getDiagramTitle","parser","input","parse","populateCommonDb","DEFAULT_CONFIG","getConfig2","DEFAULT_EVENTMODELING_CONFIG2","renderD3Box","diagram2","y","g","dirUpwards","sourceY","targetY","renderD3Relation","arrowheadId","sourceBoxY","targetBoxY","upwards","sourceX","targetX","relationStroke","renderD3Swimlane","oddBackground","backgroundStroke","draw","txt","id","ver","diagObj","db2","select","arrowheadColor","setupGraphViewbox","renderer_default","getStyles","_options","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,25 @@
1
+ import{p as me}from"./chunk-JWPE2WC7-_mnRB2OH.js";import{_ as w,E as ge,y as te,A as Q,D as ye,d as Se,l as ee,bd as B,j as Y,b as ve,a as xe,n as be,o as we,g as Ce,s as Te,B as Le,be as $e,p as Ae}from"./mermaid.core-B9X3C61k.js";import{s as Fe}from"./chunk-POPQ4Y6H-B8jQTxQO.js";import{p as Ne}from"./cynefin-OW5HDTMX-DLksGPh8.js";import{b as I}from"./defaultLocale-DX6XiGOO.js";import{o as K}from"./ordinal-Cboi1Yqb.js";import"./index-Dtn3ZY6J.js";import"./init-Gi6I4Gst.js";function Me(e){var a=0,n=e.children,l=n&&n.length;if(!l)a=1;else for(;--l>=0;)a+=n[l].value;e.value=a}function _e(){return this.eachAfter(Me)}function ke(e,a){let n=-1;for(const l of this)e.call(a,l,++n,this);return this}function ze(e,a){for(var n=this,l=[n],r,o,h=-1;n=l.pop();)if(e.call(a,n,++h,this),r=n.children)for(o=r.length-1;o>=0;--o)l.push(r[o]);return this}function Ve(e,a){for(var n=this,l=[n],r=[],o,h,d,g=-1;n=l.pop();)if(r.push(n),o=n.children)for(h=0,d=o.length;h<d;++h)l.push(o[h]);for(;n=r.pop();)e.call(a,n,++g,this);return this}function De(e,a){let n=-1;for(const l of this)if(e.call(a,l,++n,this))return l}function Pe(e){return this.eachAfter(function(a){for(var n=+e(a.data)||0,l=a.children,r=l&&l.length;--r>=0;)n+=l[r].value;a.value=n})}function Be(e){return this.eachBefore(function(a){a.children&&a.children.sort(e)})}function Ee(e){for(var a=this,n=Re(a,e),l=[a];a!==n;)a=a.parent,l.push(a);for(var r=l.length;e!==n;)l.splice(r,0,e),e=e.parent;return l}function Re(e,a){if(e===a)return e;var n=e.ancestors(),l=a.ancestors(),r=null;for(e=n.pop(),a=l.pop();e===a;)r=e,e=n.pop(),a=l.pop();return r}function We(){for(var e=this,a=[e];e=e.parent;)a.push(e);return a}function He(){return Array.from(this)}function Ie(){var e=[];return this.eachBefore(function(a){a.children||e.push(a)}),e}function Oe(){var e=this,a=[];return e.each(function(n){n!==e&&a.push({source:n.parent,target:n})}),a}function*Ge(){var e=this,a,n=[e],l,r,o;do for(a=n.reverse(),n=[];e=a.pop();)if(yield e,l=e.children)for(r=0,o=l.length;r<o;++r)n.push(l[r]);while(n.length)}function ae(e,a){e instanceof Map?(e=[void 0,e],a===void 0&&(a=je)):a===void 0&&(a=Xe);for(var n=new U(e),l,r=[n],o,h,d,g;l=r.pop();)if((h=a(l.data))&&(g=(h=Array.from(h)).length))for(l.children=h,d=g-1;d>=0;--d)r.push(o=h[d]=new U(h[d])),o.parent=l,o.depth=l.depth+1;return n.eachBefore(Ue)}function qe(){return ae(this).eachBefore(Ye)}function Xe(e){return e.children}function je(e){return Array.isArray(e)?e[1]:null}function Ye(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function Ue(e){var a=0;do e.height=a;while((e=e.parent)&&e.height<++a)}function U(e){this.data=e,this.depth=this.height=0,this.parent=null}U.prototype=ae.prototype={constructor:U,count:_e,each:ke,eachAfter:Ve,eachBefore:ze,find:De,sum:Pe,sort:Be,path:Ee,ancestors:We,descendants:He,leaves:Ie,links:Oe,copy:qe,[Symbol.iterator]:Ge};function Ze(e){if(typeof e!="function")throw new Error;return e}function O(){return 0}function G(e){return function(){return e}}function Je(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function Ke(e,a,n,l,r){for(var o=e.children,h,d=-1,g=o.length,c=e.value&&(l-a)/e.value;++d<g;)h=o[d],h.y0=n,h.y1=r,h.x0=a,h.x1=a+=h.value*c}function Qe(e,a,n,l,r){for(var o=e.children,h,d=-1,g=o.length,c=e.value&&(r-n)/e.value;++d<g;)h=o[d],h.x0=a,h.x1=l,h.y0=n,h.y1=n+=h.value*c}var et=(1+Math.sqrt(5))/2;function tt(e,a,n,l,r,o){for(var h=[],d=a.children,g,c,p=0,b=0,s=d.length,x,S,v=a.value,u,y,N,$,V,R,M;p<s;){x=r-n,S=o-l;do u=d[b++].value;while(!u&&b<s);for(y=N=u,R=Math.max(S/x,x/S)/(v*e),M=u*u*R,V=Math.max(N/M,M/y);b<s;++b){if(u+=c=d[b].value,c<y&&(y=c),c>N&&(N=c),M=u*u*R,$=Math.max(N/M,M/y),$>V){u-=c;break}V=$}h.push(g={value:u,dice:x<S,children:d.slice(p,b)}),g.dice?Ke(g,n,l,r,v?l+=S*u/v:o):Qe(g,n,l,v?n+=x*u/v:r,o),v-=u,p=b}return h}const at=(function e(a){function n(l,r,o,h,d){tt(a,l,r,o,h,d)}return n.ratio=function(l){return e((l=+l)>1?l:1)},n})(et);function nt(){var e=at,a=!1,n=1,l=1,r=[0],o=O,h=O,d=O,g=O,c=O;function p(s){return s.x0=s.y0=0,s.x1=n,s.y1=l,s.eachBefore(b),r=[0],a&&s.eachBefore(Je),s}function b(s){var x=r[s.depth],S=s.x0+x,v=s.y0+x,u=s.x1-x,y=s.y1-x;u<S&&(S=u=(S+u)/2),y<v&&(v=y=(v+y)/2),s.x0=S,s.y0=v,s.x1=u,s.y1=y,s.children&&(x=r[s.depth+1]=o(s)/2,S+=c(s)-x,v+=h(s)-x,u-=d(s)-x,y-=g(s)-x,u<S&&(S=u=(S+u)/2),y<v&&(v=y=(v+y)/2),e(s,S,v,u,y))}return p.round=function(s){return arguments.length?(a=!!s,p):a},p.size=function(s){return arguments.length?(n=+s[0],l=+s[1],p):[n,l]},p.tile=function(s){return arguments.length?(e=Ze(s),p):e},p.padding=function(s){return arguments.length?p.paddingInner(s).paddingOuter(s):p.paddingInner()},p.paddingInner=function(s){return arguments.length?(o=typeof s=="function"?s:G(+s),p):o},p.paddingOuter=function(s){return arguments.length?p.paddingTop(s).paddingRight(s).paddingBottom(s).paddingLeft(s):p.paddingTop()},p.paddingTop=function(s){return arguments.length?(h=typeof s=="function"?s:G(+s),p):h},p.paddingRight=function(s){return arguments.length?(d=typeof s=="function"?s:G(+s),p):d},p.paddingBottom=function(s){return arguments.length?(g=typeof s=="function"?s:G(+s),p):g},p.paddingLeft=function(s){return arguments.length?(c=typeof s=="function"?s:G(+s),p):c},p}var ie=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=ve,this.getAccTitle=xe,this.setDiagramTitle=be,this.getDiagramTitle=we,this.getAccDescription=Ce,this.setAccDescription=Te}static{w(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){const e=Le,a=te();return Q({...e.treemap,...a.treemap??{}})}addNode(e,a){this.nodes.push(e),this.levels.set(e,a),a===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,a){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=a.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");l&&l.forEach(r=>{$e(r)&&(n?.textStyles?n.textStyles.push(r):n.textStyles=[r]),n?.styles?n.styles.push(r):n.styles=[r]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Ae(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function oe(e){if(!e.length)return[];const a=[],n=[];return e.forEach(l=>{const r={name:l.name,children:l.type==="Leaf"?void 0:[]};for(r.classSelector=l?.classSelector,l?.cssCompiledStyles&&(r.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(r.value=l.value);n.length>0&&n[n.length-1].level>=l.level;)n.pop();if(n.length===0)a.push(r);else{const o=n[n.length-1].node;o.children?o.children.push(r):o.children=[r]}l.type!=="Leaf"&&n.push({node:r,level:l.level})}),a}w(oe,"buildHierarchy");var lt=w((e,a)=>{me(e,a);const n=[];for(const o of e.TreemapRows??[])o.$type==="ClassDefStatement"&&a.addClass(o.className??"",o.styleText??"");for(const o of e.TreemapRows??[]){const h=o.item;if(!h)continue;const d=o.indent?parseInt(o.indent):0,g=rt(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],p=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:p};n.push(b)}const l=oe(n),r=w((o,h)=>{for(const d of o)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(l,0)},"populate"),rt=w(e=>e.name?String(e.name):"","getItemName"),ce={parser:{yy:void 0},parse:w(async e=>{try{const n=await Ne("treemap",e);ee.debug("Treemap AST:",n);const l=ce.parser?.yy;if(!(l instanceof ie))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");lt(n,l)}catch(a){throw ee.error("Error parsing treemap:",a),a}},"parse")},st=10,E=10,q=25,it=w((e,a,n,l)=>{const r=l.db,o=r.getConfig(),h=o.padding??st,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=te();if(!g)return;const p=d?30:0,b=ye(a),s=o.nodeWidth?o.nodeWidth*E:960,x=o.nodeHeight?o.nodeHeight*E:500,S=s,v=x+p;b.attr("viewBox",`0 0 ${S} ${v}`),Se(b,v,S,o.useMaxWidth);let u;try{const t=o.valueFormat||",";if(t==="$0,0")u=w(i=>"$"+I(",")(i),"valueFormat");else if(t.startsWith("$")&&t.includes(",")){const i=/\.\d+/.exec(t),f=i?i[0]:"";u=w(C=>"$"+I(","+f)(C),"valueFormat")}else if(t.startsWith("$")){const i=t.substring(1);u=w(f=>"$"+I(i||"")(f),"valueFormat")}else u=I(t)}catch(t){ee.error("Error creating format function:",t),u=I(",")}const y=K().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),N=K().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),$=K().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",p/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const V=b.append("g").attr("transform",`translate(0, ${p})`).attr("class","treemapContainer"),R=ae(g).sum(t=>t.value??0).sort((t,i)=>(i.value??0)-(t.value??0)),ne=nt().size([s,x]).paddingTop(t=>t.children&&t.children.length>0?q+E:0).paddingInner(h).paddingLeft(t=>t.children&&t.children.length>0?E:0).paddingRight(t=>t.children&&t.children.length>0?E:0).paddingBottom(t=>t.children&&t.children.length>0?E:0).round(!0)(R),he=ne.descendants().filter(t=>t.children&&t.children.length>0),W=V.selectAll(".treemapSection").data(he).enter().append("g").attr("class","treemapSection").attr("transform",t=>`translate(${t.x0},${t.y0})`);W.append("rect").attr("width",t=>t.x1-t.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",t=>t.depth===0?"display: none;":""),W.append("clipPath").attr("id",(t,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-12)).attr("height",q),W.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class",(t,i)=>`treemapSection section${i}`).attr("fill",t=>y(t.data.name)).attr("fill-opacity",.6).attr("stroke",t=>N(t.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",t=>{if(t.depth===0)return"display: none;";const i=B({cssCompiledStyles:t.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(t=>t.depth===0?"":t.data.name).attr("font-weight","bold").attr("clip-path",(t,i)=>`url(#clip-section-${a}-${i})`).attr("style",t=>{if(t.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+$(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(t){if(t.depth===0)return;const i=Y(this),f=t.data.name;i.text(f);const C=t.x1-t.x0,L=6;let T;o.showValues!==!1&&t.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),_=i.node();if(_.getComputedTextLength()>m){let z=f;for(;z.length>0;){if(z=f.substring(0,z.length-1),z.length===0){i.text("..."),_.getComputedTextLength()>m&&i.text("");break}if(i.text(z+"..."),_.getComputedTextLength()<=m)break}}}),o.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",t=>t.x1-t.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(t=>t.value?u(t.value):"").attr("font-style","italic").attr("style",t=>{if(t.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+$(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const le=ne.leaves(),A=le.length>20,de=A?16:38,X=A?14:28,D=A?4:8,H=A?4:6,Z=A?2:4,re=A?8:10,J=A?1:2,j=V.selectAll(".treemapLeafGroup").data(le).enter().append("g").attr("class",(t,i)=>`treemapNode treemapLeafGroup leaf${i}${t.data.classSelector?` ${t.data.classSelector}`:""}x`).attr("transform",t=>`translate(${t.x0},${t.y0})`);j.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class","treemapLeaf").attr("fill",t=>t.parent?y(t.parent.data.name):y(t.data.name)).attr("style",t=>B({cssCompiledStyles:t.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",t=>t.parent?y(t.parent.data.name):y(t.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(t,i)=>`clip-${a}-${i}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-4)).attr("height",t=>Math.max(0,t.y1-t.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",t=>(t.x1-t.x0)/2).attr("y",t=>(t.y1-t.y0)/2).attr("style",t=>{const i=`text-anchor: middle; dominant-baseline: middle; font-size: ${de}px;fill:`+$(t.data.name)+";",f=B({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${a}-${i})`).text(t=>t.data.name).each(function(t){const i=Y(this),f=t.x1-t.x0,C=t.y1-t.y0,L=i.node(),T=f-2*Z,P=C-2*Z;if(T<re||P<re){i.style("display","none");return}let m=parseInt(i.style("font-size"),10);const _=.6;for(;L.getComputedTextLength()>T&&m>D;)m--,i.style("font-size",`${m}px`);let F=Math.max(H,Math.min(X,Math.round(m*_))),k=m+J+F;for(;k>P&&m>D&&(m--,F=Math.max(H,Math.min(X,Math.round(m*_))),!(F<H&&m===D));)i.style("font-size",`${m}px`),k=m+J+F;i.style("font-size",`${m}px`),A?(m<D||P<D)&&i.style("display","none"):(L.getComputedTextLength()>T||m<D||P<m)&&i.style("display","none")}),o.showValues!==!1&&j.append("text").attr("class","treemapValue").attr("x",i=>(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${X}px;fill:`+$(i.data.name)+";",C=B({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?u(i.value):"").each(function(i){const f=Y(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=Y(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(H,Math.min(X,Math.round(T*.6)));f.style("font-size",`${m}px`);const F=(i.y1-i.y0)/2+T/2+J;f.attr("y",F);const k=i.x1-i.x0,se=i.y1-i.y0-4,fe=k-2*Z;f.node().getComputedTextLength()>fe||F+m>se||m<H?f.style("display","none"):f.style("display",null)});const pe=o.diagramPadding??8;Fe(b,pe,"flowchart",o?.useMaxWidth||!1)},"draw"),ot=w(function(e,a){return a.db.getClasses()},"getClasses"),ct={draw:it,getClasses:ot},ht={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},dt=w(({treemap:e}={})=>{const a=ge(),n=te(),l=Q(a,n.themeVariables),r=Q(ht,e),o=r.titleColor??l.titleColor,h=r.labelColor??l.textColor,d=r.valueColor??l.textColor;return`
2
+ .treemapNode.section {
3
+ stroke: ${r.sectionStrokeColor};
4
+ stroke-width: ${r.sectionStrokeWidth};
5
+ fill: ${r.sectionFillColor};
6
+ }
7
+ .treemapNode.leaf {
8
+ stroke: ${r.leafStrokeColor};
9
+ stroke-width: ${r.leafStrokeWidth};
10
+ fill: ${r.leafFillColor};
11
+ }
12
+ .treemapLabel {
13
+ fill: ${h};
14
+ font-size: ${r.labelFontSize};
15
+ }
16
+ .treemapValue {
17
+ fill: ${d};
18
+ font-size: ${r.valueFontSize};
19
+ }
20
+ .treemapTitle {
21
+ fill: ${o};
22
+ font-size: ${r.titleFontSize};
23
+ }
24
+ `},"getStyles"),pt=dt,wt={parser:ce,get db(){return new ie},renderer:ct,styles:pt};export{wt as diagram};
25
+ //# sourceMappingURL=diagram-VX7I27RA-YzlB_2AY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-VX7I27RA-YzlB_2AY.js","sources":["../../../node_modules/d3-hierarchy/src/hierarchy/count.js","../../../node_modules/d3-hierarchy/src/hierarchy/each.js","../../../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../../../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../../../node_modules/d3-hierarchy/src/hierarchy/find.js","../../../node_modules/d3-hierarchy/src/hierarchy/sum.js","../../../node_modules/d3-hierarchy/src/hierarchy/sort.js","../../../node_modules/d3-hierarchy/src/hierarchy/path.js","../../../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../../../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../../../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../../../node_modules/d3-hierarchy/src/hierarchy/links.js","../../../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../../../node_modules/d3-hierarchy/src/hierarchy/index.js","../../../node_modules/d3-hierarchy/src/accessors.js","../../../node_modules/d3-hierarchy/src/constant.js","../../../node_modules/d3-hierarchy/src/treemap/round.js","../../../node_modules/d3-hierarchy/src/treemap/dice.js","../../../node_modules/d3-hierarchy/src/treemap/slice.js","../../../node_modules/d3-hierarchy/src/treemap/squarify.js","../../../node_modules/d3-hierarchy/src/treemap/index.js","../../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-VX7I27RA.mjs"],"sourcesContent":["function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-CLGD4ZFX.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-POPQ4Y6H.mjs\";\nimport {\n isLabelStyle,\n styles2String\n} from \"./chunk-P2QGCYS3.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-75Z2AOVW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-DU6HZSFF.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/treemap/db.ts\nvar TreeMapDB = class {\n constructor() {\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"TreeMapDB\");\n }\n getNodes() {\n return this.nodes;\n }\n getConfig() {\n const defaultConfig = defaultConfig_default;\n const userConfig = getConfig();\n return cleanAndMerge({\n ...defaultConfig.treemap,\n ...userConfig.treemap ?? {}\n });\n }\n addNode(node, level) {\n this.nodes.push(node);\n this.levels.set(node, level);\n if (level === 0) {\n this.outerNodes.push(node);\n this.root ??= node;\n }\n }\n getRoot() {\n return { name: \"\", children: this.outerNodes };\n }\n addClass(id, _style) {\n const styleClass = this.classes.get(id) ?? { id, styles: [], textStyles: [] };\n const styles = _style.replace(/\\\\,/g, \"\\xA7\\xA7\\xA7\").replace(/,/g, \";\").replace(/§§§/g, \",\").split(\";\");\n if (styles) {\n styles.forEach((s) => {\n if (isLabelStyle(s)) {\n if (styleClass?.textStyles) {\n styleClass.textStyles.push(s);\n } else {\n styleClass.textStyles = [s];\n }\n }\n if (styleClass?.styles) {\n styleClass.styles.push(s);\n } else {\n styleClass.styles = [s];\n }\n });\n }\n this.classes.set(id, styleClass);\n }\n getClasses() {\n return this.classes;\n }\n getStylesForClass(classSelector) {\n return this.classes.get(classSelector)?.styles ?? [];\n }\n clear() {\n clear();\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.root = void 0;\n }\n};\n\n// src/diagrams/treemap/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treemap/utils.ts\nfunction buildHierarchy(items) {\n if (!items.length) {\n return [];\n }\n const root = [];\n const stack = [];\n items.forEach((item) => {\n const node = {\n name: item.name,\n children: item.type === \"Leaf\" ? void 0 : []\n };\n node.classSelector = item?.classSelector;\n if (item?.cssCompiledStyles) {\n node.cssCompiledStyles = item.cssCompiledStyles;\n }\n if (item.type === \"Leaf\" && item.value !== void 0) {\n node.value = item.value;\n }\n while (stack.length > 0 && stack[stack.length - 1].level >= item.level) {\n stack.pop();\n }\n if (stack.length === 0) {\n root.push(node);\n } else {\n const parent = stack[stack.length - 1].node;\n if (parent.children) {\n parent.children.push(node);\n } else {\n parent.children = [node];\n }\n }\n if (item.type !== \"Leaf\") {\n stack.push({ node, level: item.level });\n }\n });\n return root;\n}\n__name(buildHierarchy, \"buildHierarchy\");\n\n// src/diagrams/treemap/parser.ts\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n const items = [];\n for (const row of ast.TreemapRows ?? []) {\n if (row.$type === \"ClassDefStatement\") {\n db.addClass(row.className ?? \"\", row.styleText ?? \"\");\n }\n }\n for (const row of ast.TreemapRows ?? []) {\n const item = row.item;\n if (!item) {\n continue;\n }\n const level = row.indent ? parseInt(row.indent) : 0;\n const name = getItemName(item);\n const styles = item.classSelector ? db.getStylesForClass(item.classSelector) : [];\n const cssCompiledStyles = styles.length > 0 ? styles : void 0;\n const itemData = {\n level,\n name,\n type: item.$type,\n value: item.value,\n classSelector: item.classSelector,\n cssCompiledStyles\n };\n items.push(itemData);\n }\n const hierarchyNodes = buildHierarchy(items);\n const addNodesRecursively = /* @__PURE__ */ __name((nodes, level) => {\n for (const node of nodes) {\n db.addNode(node, level);\n if (node.children && node.children.length > 0) {\n addNodesRecursively(node.children, level + 1);\n }\n }\n }, \"addNodesRecursively\");\n addNodesRecursively(hierarchyNodes, 0);\n}, \"populate\");\nvar getItemName = /* @__PURE__ */ __name((item) => {\n return item.name ? String(item.name) : \"\";\n}, \"getItemName\");\nvar parser = {\n // @ts-expect-error - TreeMapDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (text) => {\n try {\n const parseFunc = parse;\n const ast = await parseFunc(\"treemap\", text);\n log.debug(\"Treemap AST:\", ast);\n const db = parser.parser?.yy;\n if (!(db instanceof TreeMapDB)) {\n throw new Error(\n \"parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n populate(ast, db);\n } catch (error) {\n log.error(\"Error parsing treemap:\", error);\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treemap/renderer.ts\nimport { scaleOrdinal, treemap, hierarchy, format, select } from \"d3\";\nvar DEFAULT_INNER_PADDING = 10;\nvar SECTION_INNER_PADDING = 10;\nvar SECTION_HEADER_HEIGHT = 25;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const treemapDb = diagram2.db;\n const config = treemapDb.getConfig();\n const treemapInnerPadding = config.padding ?? DEFAULT_INNER_PADDING;\n const title = treemapDb.getDiagramTitle();\n const root = treemapDb.getRoot();\n const { themeVariables } = getConfig();\n if (!root) {\n return;\n }\n const titleHeight = title ? 30 : 0;\n const svg = selectSvgElement(id);\n const width = config.nodeWidth ? config.nodeWidth * SECTION_INNER_PADDING : 960;\n const height = config.nodeHeight ? config.nodeHeight * SECTION_INNER_PADDING : 500;\n const svgWidth = width;\n const svgHeight = height + titleHeight;\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n let valueFormat;\n try {\n const formatStr = config.valueFormat || \",\";\n if (formatStr === \"$0,0\") {\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\")(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\") && formatStr.includes(\",\")) {\n const precision = /\\.\\d+/.exec(formatStr);\n const precisionStr = precision ? precision[0] : \"\";\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\" + precisionStr)(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\")) {\n const restOfFormat = formatStr.substring(1);\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(restOfFormat || \"\")(value), \"valueFormat\");\n } else {\n valueFormat = format(formatStr);\n }\n } catch (error) {\n log.error(\"Error creating format function:\", error);\n valueFormat = format(\",\");\n }\n const colorScale = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScale0,\n themeVariables.cScale1,\n themeVariables.cScale2,\n themeVariables.cScale3,\n themeVariables.cScale4,\n themeVariables.cScale5,\n themeVariables.cScale6,\n themeVariables.cScale7,\n themeVariables.cScale8,\n themeVariables.cScale9,\n themeVariables.cScale10,\n themeVariables.cScale11\n ]);\n const colorScalePeer = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScalePeer0,\n themeVariables.cScalePeer1,\n themeVariables.cScalePeer2,\n themeVariables.cScalePeer3,\n themeVariables.cScalePeer4,\n themeVariables.cScalePeer5,\n themeVariables.cScalePeer6,\n themeVariables.cScalePeer7,\n themeVariables.cScalePeer8,\n themeVariables.cScalePeer9,\n themeVariables.cScalePeer10,\n themeVariables.cScalePeer11\n ]);\n const colorScaleLabel = scaleOrdinal().range([\n themeVariables.cScaleLabel0,\n themeVariables.cScaleLabel1,\n themeVariables.cScaleLabel2,\n themeVariables.cScaleLabel3,\n themeVariables.cScaleLabel4,\n themeVariables.cScaleLabel5,\n themeVariables.cScaleLabel6,\n themeVariables.cScaleLabel7,\n themeVariables.cScaleLabel8,\n themeVariables.cScaleLabel9,\n themeVariables.cScaleLabel10,\n themeVariables.cScaleLabel11\n ]);\n if (title) {\n svg.append(\"text\").attr(\"x\", svgWidth / 2).attr(\"y\", titleHeight / 2).attr(\"class\", \"treemapTitle\").attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n const g = svg.append(\"g\").attr(\"transform\", `translate(0, ${titleHeight})`).attr(\"class\", \"treemapContainer\");\n const hierarchyRoot = hierarchy(root).sum((d) => d.value ?? 0).sort((a, b) => (b.value ?? 0) - (a.value ?? 0));\n const treemapLayout = treemap().size([width, height]).paddingTop(\n (d) => d.children && d.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0\n ).paddingInner(treemapInnerPadding).paddingLeft((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).round(true);\n const treemapData = treemapLayout(hierarchyRoot);\n const branchNodes = treemapData.descendants().filter((d) => d.children && d.children.length > 0);\n const sections = g.selectAll(\".treemapSection\").data(branchNodes).enter().append(\"g\").attr(\"class\", \"treemapSection\").attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", SECTION_HEADER_HEIGHT).attr(\"class\", \"treemapSectionHeader\").attr(\"fill\", \"none\").attr(\"fill-opacity\", 0.6).attr(\"stroke-width\", 0.6).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n return \"\";\n });\n sections.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-section-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 12)).attr(\"height\", SECTION_HEADER_HEIGHT);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", (_d, i) => {\n return `treemapSection section${i}`;\n }).attr(\"fill\", (d) => colorScale(d.data.name)).attr(\"fill-opacity\", 0.6).attr(\"stroke\", (d) => colorScalePeer(d.data.name)).attr(\"stroke-width\", 2).attr(\"stroke-opacity\", 0.4).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles + \";\" + styles.borderStyles.join(\";\");\n });\n sections.append(\"text\").attr(\"class\", \"treemapSectionLabel\").attr(\"x\", 6).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"dominant-baseline\", \"middle\").text((d) => d.depth === 0 ? \"\" : d.data.name).attr(\"font-weight\", \"bold\").attr(\"clip-path\", (_d, i) => `url(#clip-section-${id}-${i})`).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"dominant-baseline: middle; font-size: 12px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).each(function(d) {\n if (d.depth === 0) {\n return;\n }\n const self = select(this);\n const originalText = d.data.name;\n self.text(originalText);\n const totalHeaderWidth = d.x1 - d.x0;\n const labelXPosition = 6;\n let spaceForTextContent;\n if (config.showValues !== false && d.value) {\n const valueEndsAtXRelative = totalHeaderWidth - 10;\n const estimatedValueTextActualWidth = 30;\n const gapBetweenLabelAndValue = 10;\n const labelMustEndBeforeX = valueEndsAtXRelative - estimatedValueTextActualWidth - gapBetweenLabelAndValue;\n spaceForTextContent = labelMustEndBeforeX - labelXPosition;\n } else {\n const labelOwnRightPadding = 6;\n spaceForTextContent = totalHeaderWidth - labelXPosition - labelOwnRightPadding;\n }\n const minimumWidthToDisplay = 15;\n const actualAvailableWidth = Math.max(minimumWidthToDisplay, spaceForTextContent);\n const textNode = self.node();\n const currentTextContentLength = textNode.getComputedTextLength();\n if (currentTextContentLength > actualAvailableWidth) {\n const ellipsis = \"...\";\n let currentTruncatedText = originalText;\n while (currentTruncatedText.length > 0) {\n currentTruncatedText = originalText.substring(0, currentTruncatedText.length - 1);\n if (currentTruncatedText.length === 0) {\n self.text(ellipsis);\n if (textNode.getComputedTextLength() > actualAvailableWidth) {\n self.text(\"\");\n }\n break;\n }\n self.text(currentTruncatedText + ellipsis);\n if (textNode.getComputedTextLength() <= actualAvailableWidth) {\n break;\n }\n }\n }\n });\n if (config.showValues !== false) {\n sections.append(\"text\").attr(\"class\", \"treemapSectionValue\").attr(\"x\", (d) => d.x1 - d.x0 - 10).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"text-anchor\", \"end\").attr(\"dominant-baseline\", \"middle\").text((d) => d.value ? valueFormat(d.value) : \"\").attr(\"font-style\", \"italic\").attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n });\n }\n const leafNodes = treemapData.leaves();\n const isComplexTreemap = leafNodes.length > 20;\n const baseLabelFontSize = isComplexTreemap ? 16 : 38;\n const baseValueFontSize = isComplexTreemap ? 14 : 28;\n const minLabelFontSize = isComplexTreemap ? 4 : 8;\n const minValueFontSize = isComplexTreemap ? 4 : 6;\n const labelPadding = isComplexTreemap ? 2 : 4;\n const minDisplayThreshold = isComplexTreemap ? 8 : 10;\n const spacingBetweenLabelAndValue = isComplexTreemap ? 1 : 2;\n const cell = g.selectAll(\".treemapLeafGroup\").data(leafNodes).enter().append(\"g\").attr(\"class\", (d, i) => {\n return `treemapNode treemapLeafGroup leaf${i}${d.data.classSelector ? ` ${d.data.classSelector}` : \"\"}x`;\n }).attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n cell.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", \"treemapLeaf\").attr(\"fill\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"style\", (d) => {\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles;\n }).attr(\"fill-opacity\", 0.3).attr(\"stroke\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"stroke-width\", 3);\n cell.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 4)).attr(\"height\", (d) => Math.max(0, d.y1 - d.y0 - 4));\n const leafLabels = cell.append(\"text\").attr(\"class\", \"treemapLabel\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", (d) => (d.y1 - d.y0) / 2).attr(\"style\", (d) => {\n const labelStyles = `text-anchor: middle; dominant-baseline: middle; font-size: ${baseLabelFontSize}px;fill:` + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.data.name);\n leafLabels.each(function(d) {\n const self = select(this);\n const nodeWidth = d.x1 - d.x0;\n const nodeHeight = d.y1 - d.y0;\n const textNode = self.node();\n const availableWidth = nodeWidth - 2 * labelPadding;\n const availableHeight = nodeHeight - 2 * labelPadding;\n if (availableWidth < minDisplayThreshold || availableHeight < minDisplayThreshold) {\n self.style(\"display\", \"none\");\n return;\n }\n let currentLabelFontSize = parseInt(self.style(\"font-size\"), 10);\n const valueScaleFactor = 0.6;\n while (textNode.getComputedTextLength() > availableWidth && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n }\n let prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(baseValueFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n let combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n while (combinedHeight > availableHeight && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(baseValueFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n if (prospectiveValueFontSize < minValueFontSize && currentLabelFontSize === minLabelFontSize) {\n break;\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n if (prospectiveValueFontSize <= minValueFontSize && combinedHeight > availableHeight) {\n }\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n if (isComplexTreemap) {\n if (currentLabelFontSize < minLabelFontSize || availableHeight < minLabelFontSize) {\n self.style(\"display\", \"none\");\n }\n } else {\n if (textNode.getComputedTextLength() > availableWidth || currentLabelFontSize < minLabelFontSize || availableHeight < currentLabelFontSize) {\n self.style(\"display\", \"none\");\n }\n }\n });\n if (config.showValues !== false) {\n const leafValues = cell.append(\"text\").attr(\"class\", \"treemapValue\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", function(d) {\n return (d.y1 - d.y0) / 2;\n }).attr(\"style\", (d) => {\n const labelStyles = `text-anchor: middle; dominant-baseline: hanging; font-size: ${baseValueFontSize}px;fill:` + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.value ? valueFormat(d.value) : \"\");\n leafValues.each(function(d) {\n const valueTextElement = select(this);\n const parentCellNode = this.parentNode;\n if (!parentCellNode) {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const labelElement = select(parentCellNode).select(\".treemapLabel\");\n if (labelElement.empty() || labelElement.style(\"display\") === \"none\") {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const finalLabelFontSize = parseFloat(labelElement.style(\"font-size\"));\n const valueScaleFactor = 0.6;\n const actualValueFontSize = Math.max(\n minValueFontSize,\n Math.min(baseValueFontSize, Math.round(finalLabelFontSize * valueScaleFactor))\n );\n valueTextElement.style(\"font-size\", `${actualValueFontSize}px`);\n const labelCenterY = (d.y1 - d.y0) / 2;\n const valueTopActualY = labelCenterY + finalLabelFontSize / 2 + spacingBetweenLabelAndValue;\n valueTextElement.attr(\"y\", valueTopActualY);\n const nodeWidth = d.x1 - d.x0;\n const nodeTotalHeight = d.y1 - d.y0;\n const cellBottomPadding = 4;\n const maxValueBottomY = nodeTotalHeight - cellBottomPadding;\n const availableWidthForValue = nodeWidth - 2 * labelPadding;\n if (valueTextElement.node().getComputedTextLength() > availableWidthForValue || valueTopActualY + actualValueFontSize > maxValueBottomY || actualValueFontSize < minValueFontSize) {\n valueTextElement.style(\"display\", \"none\");\n } else {\n valueTextElement.style(\"display\", null);\n }\n });\n }\n const diagramPadding = config.diagramPadding ?? 8;\n setupViewPortForSVG(svg, diagramPadding, \"flowchart\", config?.useMaxWidth || false);\n}, \"draw\");\nvar getClasses = /* @__PURE__ */ __name(function(_text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar renderer = { draw, getClasses };\n\n// src/diagrams/treemap/styles.ts\nvar defaultTreemapStyleOptions = {\n sectionStrokeColor: \"black\",\n sectionStrokeWidth: \"1\",\n sectionFillColor: \"#efefef\",\n leafStrokeColor: \"black\",\n leafStrokeWidth: \"1\",\n leafFillColor: \"#efefef\",\n labelFontSize: \"12px\",\n valueFontSize: \"10px\",\n titleFontSize: \"14px\"\n};\nvar getStyles = /* @__PURE__ */ __name(({\n treemap: treemap2\n} = {}) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const options = cleanAndMerge(defaultTreemapStyleOptions, treemap2);\n const titleColor = options.titleColor ?? themeVariables.titleColor;\n const labelColor = options.labelColor ?? themeVariables.textColor;\n const valueColor = options.valueColor ?? themeVariables.textColor;\n return `\n .treemapNode.section {\n stroke: ${options.sectionStrokeColor};\n stroke-width: ${options.sectionStrokeWidth};\n fill: ${options.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${options.leafStrokeColor};\n stroke-width: ${options.leafStrokeWidth};\n fill: ${options.leafFillColor};\n }\n .treemapLabel {\n fill: ${labelColor};\n font-size: ${options.labelFontSize};\n }\n .treemapValue {\n fill: ${valueColor};\n font-size: ${options.valueFontSize};\n }\n .treemapTitle {\n fill: ${titleColor};\n font-size: ${options.titleFontSize};\n }\n `;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/treemap/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new TreeMapDB();\n },\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["count","node","sum","children","i","node_count","node_each","callback","that","index","node_eachBefore","nodes","node_eachAfter","next","n","node_find","node_sum","value","node_sort","compare","node_path","end","start","ancestor","leastCommonAncestor","k","a","b","aNodes","bNodes","c","node_ancestors","node_descendants","node_leaves","leaves","node_links","root","links","node_iterator","current","hierarchy","data","mapChildren","objectChildren","Node","child","childs","computeHeight","node_copy","copyData","d","height","required","f","constantZero","constant","x","roundNode","treemapDice","parent","x0","y0","x1","y1","treemapSlice","phi","squarifyRatio","ratio","rows","row","nodeValue","i0","i1","dx","dy","sumValue","minValue","maxValue","newRatio","minRatio","alpha","beta","squarify","custom","treemap","tile","round","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","positionNode","p","TreeMapDB","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","__name","defaultConfig","defaultConfig_default","userConfig","getConfig","cleanAndMerge","level","id","_style","styleClass","styles","s","isLabelStyle","classSelector","clear","buildHierarchy","items","stack","item","populate","ast","db","populateCommonDb","name","getItemName","cssCompiledStyles","itemData","hierarchyNodes","addNodesRecursively","parser","text","parse","log","error","DEFAULT_INNER_PADDING","SECTION_INNER_PADDING","SECTION_HEADER_HEIGHT","draw","_text","_version","diagram2","treemapDb","config","treemapInnerPadding","title","themeVariables","titleHeight","svg","selectSvgElement","width","svgWidth","svgHeight","configureSvgSize","valueFormat","formatStr","format","precision","precisionStr","restOfFormat","colorScale","scaleOrdinal","colorScalePeer","colorScaleLabel","g","hierarchyRoot","treemapData","branchNodes","sections","_d","styles2String","labelStyles","self","select","originalText","totalHeaderWidth","labelXPosition","spaceForTextContent","actualAvailableWidth","textNode","currentTruncatedText","leafNodes","isComplexTreemap","baseLabelFontSize","baseValueFontSize","minLabelFontSize","minValueFontSize","labelPadding","minDisplayThreshold","spacingBetweenLabelAndValue","cell","nodeWidth","nodeHeight","availableWidth","availableHeight","currentLabelFontSize","valueScaleFactor","prospectiveValueFontSize","combinedHeight","valueTextElement","parentCellNode","labelElement","finalLabelFontSize","actualValueFontSize","valueTopActualY","maxValueBottomY","availableWidthForValue","diagramPadding","setupViewPortForSVG","getClasses","diagramObj","renderer","defaultTreemapStyleOptions","getStyles","treemap2","defaultThemeVariables","getThemeVariables","currentConfig","options","titleColor","labelColor","valueColor","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
@@ -0,0 +1,25 @@
1
+ import{p as B}from"./chunk-JWPE2WC7-_mnRB2OH.js";import{_ as b,A as u,D as $,d as C,l as m,b as S,a as D,n as T,o as P,g as z,s as A,y as E,B as F,p as W}from"./mermaid.core-B9X3C61k.js";import{p as _}from"./cynefin-OW5HDTMX-DLksGPh8.js";import"./index-Dtn3ZY6J.js";var N=F.packet,w=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=P,this.getAccDescription=z,this.setAccDescription=A}static{b(this,"PacketDB")}getConfig(){const t=u({...N,...E().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},L=1e4,M=b((t,e)=>{B(t,e);let r=-1,s=[],n=1;const{bitsPerRow:l}=e.getConfig();for(let{start:a,end:i,bits:d,label:c}of t.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??=a+(d??1)-1,d??=i-a+1,r=i,m.debug(`Packet block ${a} - ${r} with label ${c}`);s.length<=l+1&&e.getPacket().length<L;){const[p,o]=Y({start:a,end:i,bits:d,label:c},n,l);if(s.push(p),p.end+1===n*l&&(e.pushWord(s),s=[],n++),!o)break;({start:a,end:i,bits:d,label:c}=o)}}e.pushWord(s)},"populate"),Y=b((t,e,r)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const s=e*r-1,n=e*r;return[{start:t.start,end:s,label:t.label,bits:s-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),v={parser:{yy:void 0},parse:b(async t=>{const e=await _("packet",t),r=v.parser?.yy;if(!(r instanceof w))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");m.debug(e),M(e,r)},"parse")},I=b((t,e,r,s)=>{const n=s.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=$(e);f.attr("viewBox",`0 0 ${k} ${g}`),C(f,g,k,l.useMaxWidth);for(const[x,y]of p.entries())O(f,y,x,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),O=b((t,e,r,{rowHeight:s,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=t.append("g"),p=r*(s+l)+l;for(const o of e){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),j={draw:I},G={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},H=b(({packet:t}={})=>{const e=u(G,t);return`
2
+ .packetByte {
3
+ font-size: ${e.byteFontSize};
4
+ }
5
+ .packetByte.start {
6
+ fill: ${e.startByteColor};
7
+ }
8
+ .packetByte.end {
9
+ fill: ${e.endByteColor};
10
+ }
11
+ .packetLabel {
12
+ fill: ${e.labelColor};
13
+ font-size: ${e.labelFontSize};
14
+ }
15
+ .packetTitle {
16
+ fill: ${e.titleColor};
17
+ font-size: ${e.titleFontSize};
18
+ }
19
+ .packetBlock {
20
+ stroke: ${e.blockStrokeColor};
21
+ stroke-width: ${e.blockStrokeWidth};
22
+ fill: ${e.blockFillColor};
23
+ }
24
+ `},"styles"),q={parser:v,get db(){return new w},renderer:j,styles:H};export{q as diagram};
25
+ //# sourceMappingURL=diagram-Z3DM3KII-YY9NFaz_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-Z3DM3KII-YY9NFaz_.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-Z3DM3KII.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-CLGD4ZFX.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-75Z2AOVW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-DU6HZSFF.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/packet/db.ts\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar PacketDB = class {\n constructor() {\n this.packet = [];\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"PacketDB\");\n }\n getConfig() {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n }\n getPacket() {\n return this.packet;\n }\n pushWord(word) {\n if (word.length > 0) {\n this.packet.push(word);\n }\n }\n clear() {\n clear();\n this.packet = [];\n }\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n // @ts-expect-error - PacketDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n const db = parser.parser?.yy;\n if (!(db instanceof PacketDB)) {\n throw new Error(\n \"parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const config = db.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db.getPacket();\n const title = db.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new PacketDB();\n },\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["DEFAULT_PACKET_CONFIG","defaultConfig_default","PacketDB","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","__name","config","cleanAndMerge","getConfig","word","clear","maxPacketSize","populate","ast","db","populateCommonDb","lastBit","row","bitsPerRow","start","end","bits","label","log","block","nextBlock","getNextFittingBlock","rowEnd","rowStart","parser","input","parse","draw","_text","id","_version","diagram2","rowHeight","paddingY","bitWidth","words","title","totalRowHeight","svgHeight","svgWidth","svg","selectSvgElement","configureSvgSize","packet","drawWord","rowNumber","paddingX","showBits","group","wordY","blockX","width","isSingleBlock","bitNumberY","renderer","defaultPacketStyleOptions","styles","options","diagram"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{g as l,r as m,d as n}from"./chunk-SVP7TREG-BO_Jnb_c.js";import{p}from"./chunk-JWPE2WC7-_mnRB2OH.js";import{_ as t,l as o}from"./mermaid.core-B9X3C61k.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-DLksGPh8.js";import"./index-Dtn3ZY6J.js";var c=f().RailroadEbnf.parser.LangiumParser,s=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},R={parser:g,db:n,renderer:m,styles:l};export{R as diagram};
2
+ //# sourceMappingURL=ebnfDiagram-PWID7BFC-Cqu9kHUC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebnfDiagram-PWID7BFC-Cqu9kHUC.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/ebnfDiagram-PWID7BFC.mjs"],"sourcesContent":["import {\n db,\n getStyles,\n renderer\n} from \"./chunk-SVP7TREG.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport \"./chunk-CLGD4ZFX.mjs\";\nimport \"./chunk-DU6HZSFF.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/railroad/parser/ebnfParser.ts\nimport {\n MermaidParseError,\n createRailroadEbnfServices\n} from \"@mermaid-js/parser\";\nvar langiumParser = createRailroadEbnfServices().RailroadEbnf.parser.LangiumParser;\nvar transformChoice = /* @__PURE__ */ __name((choice) => {\n const alternatives = choice.alternatives.map(transformSequence);\n if (alternatives.length === 1) {\n return alternatives[0];\n }\n return {\n type: \"choice\",\n alternatives\n };\n}, \"transformChoice\");\nvar transformSequence = /* @__PURE__ */ __name((sequence) => {\n const elements = sequence.elements.map(transformTerm);\n if (elements.length === 1) {\n return elements[0];\n }\n return {\n type: \"sequence\",\n elements\n };\n}, \"transformSequence\");\nvar transformPrimary = /* @__PURE__ */ __name((primary) => {\n switch (primary.$type) {\n case \"EbnfTerminal\":\n return {\n type: \"terminal\",\n value: primary.value\n };\n case \"EbnfNonTerminal\":\n return {\n type: \"nonterminal\",\n name: primary.name\n };\n case \"EbnfSpecial\":\n return {\n type: \"special\",\n text: primary.text\n };\n case \"EbnfGroup\":\n return transformChoice(primary.element);\n case \"EbnfOptional\":\n return {\n type: \"optional\",\n element: transformChoice(primary.element)\n };\n case \"EbnfRepetition\":\n return {\n type: \"repetition\",\n element: transformChoice(primary.element),\n min: 0,\n max: Infinity\n };\n default:\n throw new Error(`Unsupported EBNF primary node: ${primary.$type}`);\n }\n}, \"transformPrimary\");\nvar transformPostfix = /* @__PURE__ */ __name((node, postfix) => {\n switch (postfix.$type) {\n case \"EbnfOptionalPostfix\":\n return {\n type: \"optional\",\n element: node\n };\n case \"EbnfZeroOrMorePostfix\":\n return {\n type: \"repetition\",\n element: node,\n min: 0,\n max: Infinity\n };\n case \"EbnfOneOrMorePostfix\":\n return {\n type: \"repetition\",\n element: node,\n min: 1,\n max: Infinity\n };\n case \"EbnfExceptionPostfix\":\n return {\n type: \"sequence\",\n elements: [\n node,\n { type: \"terminal\", value: \"-\" },\n transformPrimary(postfix.except)\n ]\n };\n default:\n throw new Error(`Unsupported EBNF postfix node: ${postfix.$type}`);\n }\n}, \"transformPostfix\");\nvar transformTerm = /* @__PURE__ */ __name((term) => {\n return term.postfixes.reduce((currentNode, postfix) => {\n return transformPostfix(currentNode, postfix);\n }, transformPrimary(term.base));\n}, \"transformTerm\");\nvar transformRule = /* @__PURE__ */ __name((rule) => {\n return {\n name: rule.name,\n definition: transformChoice(rule.definition)\n };\n}, \"transformRule\");\nvar populateDb = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n if (ast.title) {\n db.setTitle(ast.title);\n }\n ast.rules.map((rule) => db.addRule(transformRule(rule)));\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name((input) => {\n db.clear();\n log.debug(\"[EBNF Parser] Starting Langium parse\");\n const result = langiumParser.parse(input);\n if (result.lexerErrors.length > 0 || result.parserErrors.length > 0) {\n throw new MermaidParseError(result);\n }\n const ast = result.value;\n log.debug(\"[EBNF Parser] Parsed rules:\", ast.rules.length);\n populateDb(ast);\n log.debug(\"[EBNF Parser] Parse complete\");\n }, \"parse\"),\n parser: {\n yy: db\n }\n};\n\n// src/diagrams/railroad/ebnfDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: getStyles\n};\nexport {\n diagram\n};\n"],"names":["langiumParser","createRailroadEbnfServices","transformChoice","__name","choice","alternatives","transformSequence","sequence","elements","transformTerm","transformPrimary","primary","transformPostfix","node","postfix","term","currentNode","transformRule","rule","populateDb","ast","populateCommonDb","db","parser","input","log","result","MermaidParseError","diagram","renderer","getStyles"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,100 @@
1
+ import{g as zt}from"./chunk-XXDRQBXY-ByUAYXI3.js";import{s as Ut}from"./chunk-POPQ4Y6H-B8jQTxQO.js";import{_ as p,b as Kt,a as Zt,s as jt,g as qt,n as Wt,o as Ht,c as $,l as M,k as Qt,p as Xt,q as Jt,r as $t,t as te,u as ee,v as se,j as ie,x as re}from"./mermaid.core-B9X3C61k.js";import{c as ne}from"./channel-BHCBlfND.js";import"./index-Dtn3ZY6J.js";var Tt=(function(){var e=p(function(V,n,o,h){for(o=o||{},h=V.length;h--;o[V[h]]=n);return o},"o"),a=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],u=[2,2],r=[1,7],c=[1,9],b=[1,10],k=[1,11],f=[1,12],S=[1,30],d=[1,23],g=[1,24],x=[1,25],B=[1,26],Y=[1,27],m=[1,19],A=[1,28],U=[1,29],N=[1,20],I=[1,18],R=[1,21],v=[1,22],Ot=[2,6],l=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],dt=[1,36],pt=[1,37],ft=[1,38],bt=[1,39],gt=[1,40],K=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],D=[1,46],L=[1,47],Z=[1,57],j=[43,51,53,54,55,74,75],q=[1,70],W=[1,68],w=[1,65],H=[1,69],Q=[1,71],tt=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],et=[1,78],st=[1,77],it=[1,76],xt=[69,70,71,72,73],Nt=[1,91],Ct=[6,9,45,50],P=[6,9,12,44,45,50,51,52],rt=[1,101],nt=[1,100],at=[1,99],X=[18,61],At=[1,110],It=[1,109],Rt=[20,43,51,53,54,55],yt=[18,61,64,66],_t={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:p(function(n,o,h,i,y,t,J){var s=t.length-1;switch(y){case 1:break;case 2:this.$=[];break;case 3:this.$=t[s-1].concat(t[s]);break;case 4:this.$=t[s];break;case 5:case 6:this.$=[];break;case 7:i.addEntity(t[s-4]),i.addEntity(t[s-2]),i.addRelationship(t[s-4],t[s],t[s-2],t[s-3]),this.$=[t[s-4],t[s-2]];break;case 8:i.addEntity(t[s-8]),i.addEntity(t[s-4]),i.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),i.setClass([t[s-8]],t[s-6]),i.setClass([t[s-4]],t[s-2]),this.$=[t[s-8],t[s-4]];break;case 9:i.addEntity(t[s-6]),i.addEntity(t[s-2]),i.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),i.setClass([t[s-6]],t[s-4]),this.$=[t[s-6],t[s-2]];break;case 10:i.addEntity(t[s-6]),i.addEntity(t[s-4]),i.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),i.setClass([t[s-4]],t[s-2]),this.$=[t[s-6],t[s-4]];break;case 11:i.addEntity(t[s-3]),i.addAttributes(t[s-3],t[s-1]),this.$=[t[s-3]];break;case 12:i.addEntity(t[s-5]),i.addAttributes(t[s-5],t[s-1]),i.setClass([t[s-5]],t[s-3]),this.$=[t[s-5]];break;case 13:i.addEntity(t[s-2]),this.$=[t[s-2]];break;case 14:i.addEntity(t[s-4]),i.setClass([t[s-4]],t[s-2]),this.$=[t[s-4]];break;case 15:i.addEntity(t[s]),this.$=[t[s]];break;case 16:i.addEntity(t[s-2]),i.setClass([t[s-2]],t[s]),this.$=[t[s-2]];break;case 17:i.addEntity(t[s-6],t[s-4]),i.addAttributes(t[s-6],t[s-1]),this.$=[t[s-6]];break;case 18:i.addEntity(t[s-8],t[s-6]),i.addAttributes(t[s-8],t[s-1]),i.setClass([t[s-8]],t[s-3]),this.$=[t[s-8]];break;case 19:i.addEntity(t[s-5],t[s-3]),this.$=[t[s-5]];break;case 20:i.addEntity(t[s-7],t[s-5]),i.setClass([t[s-7]],t[s-2]),this.$=[t[s-7]];break;case 21:i.addEntity(t[s-3],t[s-1]);break;case 22:i.addEntity(t[s-5],t[s-3]),i.setClass([t[s-5]],t[s]);break;case 23:case 24:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=t[s]:(i.setDirection(t[s].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:t[s-2].id},t[s-1],{text:t[s-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[s-1],text:t[s-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:t[s-4],text:t[s-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=t[s];break;case 35:this.$=t[s-1]+" "+t[s];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=t[s-3],i.addClass(t[s-2],t[s-1]);break;case 41:case 42:case 63:case 72:this.$=[t[s]];break;case 43:case 44:this.$=t[s-2].concat([t[s]]);break;case 45:this.$=t[s-2],i.setClass(t[s-1],t[s]);break;case 46:this.$=t[s-3],i.addCssStyles(t[s-2],t[s-1]);break;case 47:this.$=[t[s]];break;case 48:t[s-2].push(t[s]),this.$=t[s-2];break;case 50:this.$=t[s-1]+t[s];break;case 58:case 84:case 85:this.$=t[s].replace(/"/g,"");break;case 64:t[s].push(t[s-1]),this.$=t[s];break;case 65:this.$={type:t[s-1],name:t[s]};break;case 66:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 67:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 68:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 69:case 71:case 74:this.$=t[s];break;case 70:this.$=t[s-1]+t[s];break;case 73:t[s-2].push(t[s]),this.$=t[s-2];break;case 75:this.$=t[s].replace(/"/g,"");break;case 76:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(a,u,{5:3}),{6:[1,4],7:5,8:6,9:r,10:8,21:c,23:b,25:k,27:f,28:13,29:14,30:15,31:16,32:17,34:S,37:d,38:g,39:x,40:B,41:Y,43:m,46:A,47:U,51:N,53:I,54:R,55:v},e(a,Ot,{1:[2,1]}),e(l,[2,3]),e(l,[2,4]),e(l,[2,5]),e(l,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:dt,70:pt,71:ft,72:bt,73:gt}),{22:[1,41]},{24:[1,42]},{26:[1,43]},e(l,[2,26]),e(l,[2,27]),e(l,[2,28]),e(l,[2,29]),e(l,[2,30]),e(l,u,{5:44}),e(K,[2,58]),e(K,[2,59]),e(K,[2,60]),e(K,[2,61]),e(K,[2,62]),e(l,[2,36]),e(l,[2,37]),e(l,[2,38]),e(l,[2,39]),{15:45,43:D,44:L},{15:48,43:D,44:L},{15:49,43:D,44:L},{10:50,43:m,51:N,53:I,54:R,55:v},{10:51,43:m,51:N,53:I,54:R,55:v},{15:52,43:D,44:L},{17:53,18:[1,54],56:55,57:56,61:Z},{10:58,43:m,51:N,53:I,54:R,55:v},{68:59,74:[1,60],75:[1,61]},e(j,[2,77]),e(j,[2,78]),e(j,[2,79]),e(j,[2,80]),e(j,[2,81]),e(l,[2,23]),e(l,[2,24]),e(l,[2,25]),{6:[1,63],7:5,8:6,9:r,10:8,21:c,23:b,25:k,27:f,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:S,37:d,38:g,39:x,40:B,41:Y,43:m,46:A,47:U,51:N,53:I,54:R,55:v},{12:q,42:64,44:W,45:w,48:66,49:67,51:H,52:Q},e(tt,[2,41]),e(tt,[2,42]),{15:72,43:D,44:L,45:w},{12:q,42:73,44:W,45:w,48:66,49:67,51:H,52:Q},{6:et,9:st,19:[1,75],35:74,50:it},{12:[1,79],14:[1,80]},e(l,[2,16],{67:35,11:81,16:[1,82],45:w,69:dt,70:pt,71:ft,72:bt,73:gt}),{18:[1,83]},e(l,[2,13]),{17:84,18:[2,63],56:55,57:56,61:Z},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:dt,70:pt,71:ft,72:bt,73:gt},e(xt,[2,82]),e(xt,[2,83]),e(l,[2,31]),e(l,Ot),{6:et,9:st,35:90,45:Nt,50:it},{43:[1,92],44:[1,93]},e(Ct,[2,47],{49:94,12:q,44:W,51:H,52:Q}),e(P,[2,49]),e(P,[2,54]),e(P,[2,55]),e(P,[2,56]),e(P,[2,57]),e(l,[2,45],{45:w}),{6:et,9:st,35:95,45:Nt,50:it},e(l,[2,32]),{10:97,36:96,43:m,51:N,53:I,54:R,55:v},e(l,[2,51]),e(l,[2,52]),e(l,[2,53]),{13:98,43:rt,53:nt,76:at},{15:102,43:D,44:L},{10:103,43:m,51:N,53:I,54:R,55:v},{17:104,18:[1,105],56:55,57:56,61:Z},e(l,[2,11]),{18:[2,64]},e(X,[2,65],{59:106,60:107,63:108,65:At,66:It}),e([18,61,65,66],[2,71]),{61:[2,70]},e(l,[2,21],{14:[1,112],16:[1,111]}),e([43,51,53,54,55],[2,76]),e(l,[2,40]),{12:q,44:W,48:113,49:67,51:H,52:Q},e(tt,[2,43]),e(tt,[2,44]),e(P,[2,50]),e(l,[2,46]),{10:115,20:[1,114],43:m,51:N,53:I,54:R,55:v},e(Rt,[2,34]),e(l,[2,7]),e(l,[2,84]),e(l,[2,85]),e(l,[2,86]),{12:[1,116],45:w},{12:[1,118],14:[1,117]},{18:[1,119]},e(l,[2,14]),e(X,[2,66],{60:120,64:[1,121],66:It}),e(X,[2,67]),e(yt,[2,72]),e(X,[2,75]),e(yt,[2,74]),{17:122,18:[1,123],56:55,57:56,61:Z},{15:124,43:D,44:L},e(Ct,[2,48],{49:94,12:q,44:W,51:H,52:Q}),{6:et,9:st,35:125,50:it},e(Rt,[2,35]),{13:126,43:rt,53:nt,76:at},{15:127,43:D,44:L},{13:128,43:rt,53:nt,76:at},e(l,[2,12]),e(X,[2,68]),{63:129,65:At},{18:[1,130]},e(l,[2,19]),e(l,[2,22],{16:[1,131],45:w}),e(l,[2,33]),e(l,[2,10]),{12:[1,132],45:w},e(l,[2,9]),e(yt,[2,73]),e(l,[2,17]),{17:133,18:[1,134],56:55,57:56,61:Z},{13:135,43:rt,53:nt,76:at},{18:[1,136]},e(l,[2,20]),e(l,[2,8]),e(l,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:p(function(n,o){if(o.recoverable)this.trace(n);else{var h=new Error(n);throw h.hash=o,h}},"parseError"),parse:p(function(n){var o=this,h=[0],i=[],y=[null],t=[],J=this.table,s="",ct=0,vt=0,Gt=2,Dt=1,Ft=t.slice.call(arguments,1),_=Object.create(this.lexer),G={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(G.yy[kt]=this.yy[kt]);_.setInput(n,G.yy),G.yy.lexer=_,G.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var mt=_.yylloc;t.push(mt);var Yt=_.options&&_.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(T){h.length=h.length-2*T,y.length=y.length-T,t.length=t.length-T}p(Pt,"popStack");function Lt(){var T;return T=i.pop()||_.lex()||Dt,typeof T!="number"&&(T instanceof Array&&(i=T,T=i.pop()),T=o.symbols_[T]||T),T}p(Lt,"lex");for(var E,F,O,Et,z={},lt,C,wt,ht;;){if(F=h[h.length-1],this.defaultActions[F]?O=this.defaultActions[F]:((E===null||typeof E>"u")&&(E=Lt()),O=J[F]&&J[F][E]),typeof O>"u"||!O.length||!O[0]){var St="";ht=[];for(lt in J[F])this.terminals_[lt]&&lt>Gt&&ht.push("'"+this.terminals_[lt]+"'");_.showPosition?St="Parse error on line "+(ct+1)+`:
2
+ `+_.showPosition()+`
3
+ Expecting `+ht.join(", ")+", got '"+(this.terminals_[E]||E)+"'":St="Parse error on line "+(ct+1)+": Unexpected "+(E==Dt?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(St,{text:_.match,token:this.terminals_[E]||E,line:_.yylineno,loc:mt,expected:ht})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+E);switch(O[0]){case 1:h.push(E),y.push(_.yytext),t.push(_.yylloc),h.push(O[1]),E=null,vt=_.yyleng,s=_.yytext,ct=_.yylineno,mt=_.yylloc;break;case 2:if(C=this.productions_[O[1]][1],z.$=y[y.length-C],z._$={first_line:t[t.length-(C||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(C||1)].first_column,last_column:t[t.length-1].last_column},Yt&&(z._$.range=[t[t.length-(C||1)].range[0],t[t.length-1].range[1]]),Et=this.performAction.apply(z,[s,vt,ct,G.yy,O[1],y,t].concat(Ft)),typeof Et<"u")return Et;C&&(h=h.slice(0,-1*C*2),y=y.slice(0,-1*C),t=t.slice(0,-1*C)),h.push(this.productions_[O[1]][0]),y.push(z.$),t.push(z._$),wt=J[h[h.length-2]][h[h.length-1]],h.push(wt);break;case 3:return!0}}return!0},"parse")},Bt=(function(){var V={EOF:1,parseError:p(function(o,h){if(this.yy.parser)this.yy.parser.parseError(o,h);else throw new Error(o)},"parseError"),setInput:p(function(n,o){return this.yy=o||this.yy||{},this._input=n,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:p(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var o=n.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:p(function(n){var o=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var i=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),h.length-1&&(this.yylineno-=h.length-1);var y=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:h?(h.length===i.length?this.yylloc.first_column:0)+i[i.length-h.length].length-h[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:p(function(){return this._more=!0,this},"more"),reject:p(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:p(function(n){this.unput(this.match.slice(n))},"less"),pastInput:p(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:p(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:p(function(){var n=this.pastInput(),o=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
5
+ `+o+"^"},"showPosition"),test_match:p(function(n,o){var h,i,y;if(this.options.backtrack_lexer&&(y={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&&(y.yylloc.range=this.yylloc.range.slice(0))),i=n[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,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(n[0].length),this.matched+=n[0],h=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var t in y)this[t]=y[t];return!1}return!1},"test_match"),next:p(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,o,h,i;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),t=0;t<y.length;t++)if(h=this._input.match(this.rules[y[t]]),h&&(!o||h[0].length>o[0].length)){if(o=h,i=t,this.options.backtrack_lexer){if(n=this.test_match(h,y[t]),n!==!1)return n;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(n=this.test_match(o,y[i]),n!==!1?n:!1):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:p(function(){var o=this.next();return o||this.lex()},"lex"),begin:p(function(o){this.conditionStack.push(o)},"begin"),popState:p(function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:p(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:p(function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:p(function(o){this.begin(o)},"pushState"),stateStackSize:p(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:p(function(o,h,i,y){switch(i){case 0:return this.begin("acc_title"),23;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),25;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;case 17:return 52;case 18:return 52;case 19:return 45;case 20:return 14;case 21:return 12;case 22:break;case 23:return 65;case 24:return 61;case 25:return 61;case 26:this.begin("block_bq");break;case 27:return 61;case 28:this.popState();break;case 29:return 66;case 30:break;case 31:return this.popState(),18;case 32:return h.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;case 36:return this.popState(),9;case 37:break;case 38:return 12;case 39:return 45;case 40:return 52;case 41:return this.begin("style"),41;case 42:return 46;case 43:return 34;case 44:return 33;case 45:return 69;case 46:return 71;case 47:return 71;case 48:return 71;case 49:return 69;case 50:return 69;case 51:return 70;case 52:return 70;case 53:return 70;case 54:return 70;case 55:return 70;case 56:return 71;case 57:return 70;case 58:return 71;case 59:return 72;case 60:return 72;case 61:return 54;case 62:return 72;case 63:return 72;case 64:return 72;case 65:return 55;case 66:return 51;case 67:return 72;case 68:return 69;case 69:return 70;case 70:return 71;case 71:return 73;case 72:return 74;case 73:return 75;case 74:return 75;case 75:return 74;case 76:return 74;case 77:return 74;case 78:return 44;case 79:return 50;case 80:return 43;case 81:return h.yytext[0];case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}};return V})();_t.lexer=Bt;function ot(){this.yy={}}return p(ot,"Parser"),ot.prototype=_t,_t.Parser=ot,new ot})();Tt.parser=Tt;var ae=Tt,oe=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Kt,this.getAccTitle=Zt,this.setAccDescription=jt,this.getAccDescription=qt,this.setDiagramTitle=Wt,this.getDiagramTitle=Ht,this.getConfig=p(()=>$().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{p(this,"ErDB")}addEntity(e,a=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&a&&(this.entities.get(e).alias=a,M.info(`Add alias '${a}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:a,shape:"erBox",look:$().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),M.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,a){const u=this.addEntity(e);let r;for(r=a.length-1;r>=0;r--)a[r].keys||(a[r].keys=[]),a[r].comment||(a[r].comment=""),u.attributes.push(a[r]),M.debug("Added attribute ",a[r].name)}addRelationship(e,a,u,r){let c;if(this.subGraphLookup.has(e))c=e;else{const f=this.addEntity(e);if(!f)return;c=f.id}let b;if(this.subGraphLookup.has(u))b=u;else{const f=this.addEntity(u);if(!f)return;b=f.id}const k={entityA:c,roleA:a,entityB:b,relSpec:r};this.relationships.push(k),M.debug("Added new relationship :",k)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let a=[];for(const u of e){const r=this.classes.get(u);r?.styles&&(a=[...a,...r.styles??[]].map(c=>c.trim())),r?.textStyles&&(a=[...a,...r.textStyles??[]].map(c=>c.trim()))}return a}addCssStyles(e,a){for(const u of e){const r=this.entities.get(u),c=this.subGraphLookup.get(u);if(a){if(r)for(const b of a)r.cssStyles.push(b);if(c){c.cssStyles||(c.cssStyles=[]);for(const b of a)c.cssStyles.push(b)}}}}addClass(e,a){e.forEach(u=>{let r=this.classes.get(u);r===void 0&&(r={id:u,styles:[],textStyles:[]},this.classes.set(u,r)),a&&a.forEach(function(c){if(/color/.exec(c)){const b=c.replace("fill","bgFill");r.textStyles.push(b)}r.styles.push(c)})})}addSubGraph(e,a,u){let r=e.text.trim(),c=u.text;const k=p(g=>{const x=new Set;let B;return{nodeList:g.filter(m=>{if(m?.stmt)return m.stmt==="dir"&&(B=m.value),!1;if(typeof m!="string")return!1;const A=m.trim();return!A||x.has(A)?!1:(x.add(A),!0)}),dir:B}},"uniq")(a.flat()),f=k.nodeList,S=k.dir;r=r??"subGraph"+this.subCount,c=c||"",c=this.sanitizeText(c),this.subCount=this.subCount+1;const d={id:r,nodes:f,title:c.trim(),classes:[],cssStyles:[],dir:S,labelType:this.sanitizeNodeLabelType(u?.type)};return M.info("Adding",d.id,d.nodes,d.dir),d.nodes=this.makeUniq(d,this.subGraphs).nodes,this.subGraphs.push(d),this.subGraphLookup.set(r,d),r}getSubGraphs(){return this.subGraphs}setClass(e,a){for(const u of e){const r=this.entities.get(u);if(r)for(const b of a)r.cssClasses+=" "+b;const c=this.subGraphLookup.get(u);if(c)for(const b of a)c.classes.push(b)}}subgraphNodeCache(e){const a=new Set;for(const u of e)for(const r of u.nodes)a.add(r);return a}makeUniq(e,a){const u=this.subgraphNodeCache(a),r=[];return e.nodes.forEach((c,b)=>{u.has(c)?M.warn(`Entity '${c}' already belongs to another subgraph and will be ignored`):r.push(e.nodes[b])}),{nodes:r}}sanitizeText(e){return Qt.sanitizeText(e,$())}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,Xt()}getData(){const e=[],a=[],u=$(),r=this.getSubGraphs(),c=new Map,b=new Map;for(let d=r.length-1;d>=0;d--){const g=r[d];g.nodes.length>0&&b.set(g.id,!0);for(const x of g.nodes)c.set(x,g.id)}for(let d=r.length-1;d>=0;d--){const g=r[d];e.push({id:g.id,label:g.title,labelStyle:"",labelType:g.labelType,parentId:c.get(g.id),padding:8,cssCompiledStyles:this.getCompiledStyles(g.classes),cssStyles:g.cssStyles,cssClasses:g.classes.join(" "),shape:"rect",dir:g.dir,isGroup:!0,look:u.look})}const k=new Set(r.map(d=>d.id));let f=0;for(const d of this.entities.keys()){if(k.has(d))continue;const g=this.entities.get(d);g&&(g.cssCompiledStyles=this.getCompiledStyles(g.cssClasses.split(" ")),g.colorIndex=f++,e.push({...g,parentId:c.get(d),isGroup:!1}))}let S=0;for(const d of this.relationships){const g={id:Jt(d.entityA,d.entityB,{prefix:"id",counter:S++}),type:"normal",curve:"basis",start:d.entityA,end:d.entityB,label:d.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:d.relSpec.cardB.toLowerCase(),arrowTypeEnd:d.relSpec.cardA.toLowerCase(),pattern:d.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:u.look,labelType:"markdown"};a.push(g)}return{nodes:e,edges:a,other:{},config:u,direction:this.direction}}},Mt={};te(Mt,{draw:()=>ce});var ce=p(async function(e,a,u,r){M.info("REF0:"),M.info("Drawing er diagram (unified)",a);const{securityLevel:c,er:b,layout:k}=$(),f=r.db.getData(),S=zt(a,c);f.type=r.type,f.layoutAlgorithm=ee(k),f.config.flowchart.nodeSpacing=b?.nodeSpacing||140,f.config.flowchart.rankSpacing=b?.rankSpacing||80,f.direction=r.db.getDirection();const{config:d}=f,{look:g}=d;g==="neo"?f.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:f.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],f.diagramId=a,await se(f,S),f.layoutAlgorithm==="elk"&&S.select(".edges").lower();const x=S.selectAll('[id*="-background"]');Array.from(x).length>0&&x.each(function(){const Y=ie(this),A=Y.attr("id").replace("-background",""),U=S.select(`#${CSS.escape(A)}`);if(!U.empty()){const N=U.attr("transform");Y.attr("transform",N)}});const B=8;re.insertTitle(S,"erDiagramTitleText",b?.titleTopMargin??25,r.db.getDiagramTitle()),Ut(S,B,"erDiagram",b?.useMaxWidth??!0)},"draw"),Vt=p((e,a)=>{const u=ne,r=u(e,"r"),c=u(e,"g"),b=u(e,"b");return $t(r,c,b,a)},"fade"),ut=new Set(["redux-color","redux-dark-color"]),le=p(e=>{const{theme:a,look:u,bkgColorArray:r,borderColorArray:c}=e;if(!ut.has(a))return"";const b=r?.length>0;let k="";for(let f=0;f<e.THEME_COLOR_LIMIT;f++)k+=`
7
+
8
+ [data-look="${u}"][data-color-id="color-${f}"].node path {
9
+ stroke: ${c[f]};
10
+ ${b?`fill: ${r[f]};`:""}
11
+ }
12
+
13
+ [data-look="${u}"][data-color-id="color-${f}"].node rect {
14
+ stroke: ${c[f]};
15
+ ${b?`fill: ${r[f]};`:""}
16
+ }
17
+ `;return k},"genColor"),he=p(e=>{const{look:a,theme:u,erEdgeLabelBackground:r,strokeWidth:c}=e;return`
18
+ ${le(e)}
19
+ .entityBox {
20
+ fill: ${e.mainBkg};
21
+ stroke: ${e.nodeBorder};
22
+ }
23
+
24
+ .relationshipLabelBox {
25
+ fill: ${e.tertiaryColor};
26
+ opacity: 0.7;
27
+ background-color: ${e.tertiaryColor};
28
+ rect {
29
+ opacity: 0.5;
30
+ }
31
+ }
32
+
33
+ .labelBkg {
34
+ background-color: ${ut.has(u)&&r?r:Vt(e.tertiaryColor,.5)};
35
+ }
36
+
37
+ .edgeLabel {
38
+ background-color: ${ut.has(u)&&r?r:e.edgeLabelBackground};
39
+ }
40
+ .edgeLabel .label rect {
41
+ fill: ${ut.has(u)&&r?r:e.edgeLabelBackground};
42
+ }
43
+ .edgeLabel .label text {
44
+ fill: ${e.textColor};
45
+ }
46
+
47
+ .edgeLabel .label {
48
+ fill: ${e.nodeBorder};
49
+ font-size: 14px;
50
+ }
51
+
52
+ .label {
53
+ font-family: ${e.fontFamily};
54
+ color: ${e.nodeTextColor||e.textColor};
55
+ }
56
+
57
+ .edge-pattern-dashed {
58
+ stroke-dasharray: 8,8;
59
+ }
60
+
61
+ .node rect,
62
+ .node circle,
63
+ .node ellipse,
64
+ .node polygon
65
+ {
66
+ fill: ${e.mainBkg};
67
+ stroke: ${e.nodeBorder};
68
+ stroke-width: ${a==="neo"?c:"1px"};
69
+ }
70
+
71
+ .relationshipLine {
72
+ stroke: ${e.lineColor};
73
+ stroke-width: ${a==="neo"?c:"1px"};
74
+ fill: none;
75
+ }
76
+
77
+ .marker {
78
+ fill: none !important;
79
+ stroke: ${e.lineColor} !important;
80
+ stroke-width: 1;
81
+ }
82
+ [data-look=neo].labelBkg {
83
+ background-color: ${Vt(e.tertiaryColor,.5)};
84
+ }
85
+
86
+ .cluster rect {
87
+ fill: ${e.clusterBkg??e.mainBkg};
88
+ stroke: ${e.clusterBorder??e.nodeBorder};
89
+ stroke-width: 1px;
90
+ }
91
+
92
+ .cluster text {
93
+ fill: ${e.titleColor??e.textColor};
94
+ }
95
+
96
+ .cluster-label text {
97
+ fill: ${e.titleColor??e.textColor};
98
+ }
99
+ `},"getStyles"),ue=he,ye={parser:ae,get db(){return new oe},renderer:Mt,styles:ue};export{ye as diagram};
100
+ //# sourceMappingURL=erDiagram-RLTQ6QDP-IHi93MdG.js.map