@marimo-team/frontend 0.25.1-dev7 → 0.25.1

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 (343) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-DeqCS430.js → ConnectedDataExplorerComponent-DJ5jwKfp.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DDm0F3Ge.js → ErrorBoundary-BeE1cdgM.js} +2 -2
  3. package/dist/assets/{ImageComparisonComponent-DLxkuRy3.js → ImageComparisonComponent-pCLPT6RA.js} +1 -1
  4. package/dist/assets/{LazyAnyLanguageCodeMirror-DPoyi1KJ.js → LazyAnyLanguageCodeMirror-B_IYTCX5.js} +2 -2
  5. package/dist/assets/{RunButton-1O-85ifv.js → RunButton-C2kFUhyO.js} +8 -8
  6. package/dist/assets/{abnfDiagram-VCTEODGH-DhJEqQ9k.js → abnfDiagram-VCTEODGH-CSPJSGaM.js} +1 -1
  7. package/dist/assets/add-cell-with-ai-BFgdVPaN.js +76 -0
  8. package/dist/assets/{agent-panel-nJz0jCo0.js → agent-panel-Dh7yWh9P.js} +5 -5
  9. package/dist/assets/ai-model-dropdown-DJ2elMLM.js +5 -0
  10. package/dist/assets/{any-language-editor-CxgTzMTD.js → any-language-editor-Cj_HzlZY.js} +1 -1
  11. package/dist/assets/app-config-button-DBCTefOX.js +1 -0
  12. package/dist/assets/{architectureDiagram-5GKGNRK7-BwF4-SE1.js → architectureDiagram-5GKGNRK7-7iukRoC9.js} +1 -1
  13. package/dist/assets/{blockDiagram-I7D4REHJ-B7xaFbfk.js → blockDiagram-I7D4REHJ-cuhpQB60.js} +1 -1
  14. package/dist/assets/{c4Diagram-7LVT6UL2-BbMz-zwF.js → c4Diagram-7LVT6UL2-CMQEYn6T.js} +1 -1
  15. package/dist/assets/{cache-panel-Bd7XcHQd.js → cache-panel-C0oB1kE2.js} +1 -1
  16. package/dist/assets/{cells-Cu3p4E4U.js → cells-CzugpTQu.js} +4 -4
  17. package/dist/assets/channel-CGdeorQk.js +1 -0
  18. package/dist/assets/{chat-display-CKr8MVOE.js → chat-display-DevO4F8W.js} +1 -1
  19. package/dist/assets/chat-panel-BGw0bqDk.js +4 -0
  20. package/dist/assets/{chat-ui-BH1aZhD7.js → chat-ui-CZZFGlZi.js} +4 -4
  21. package/dist/assets/{chunk-4HAMMTFA-F3WVmmmo.js → chunk-4HAMMTFA-C6Tl7kEY.js} +1 -1
  22. package/dist/assets/{chunk-75Z2AOVW-DA_lihEi.js → chunk-75Z2AOVW-BzzYECN7.js} +1 -1
  23. package/dist/assets/{chunk-DU6HZSFF-J-califE.js → chunk-DU6HZSFF-BlpgvKzl.js} +2 -2
  24. package/dist/assets/{chunk-F27PBJKO-BzJrz4xx.js → chunk-F27PBJKO-BVIgLGPF.js} +1 -1
  25. package/dist/assets/{chunk-GMAD6QVW-mXoq4V-T.js → chunk-GMAD6QVW-hv6IsAru.js} +1 -1
  26. package/dist/assets/{chunk-GVQU2GXP-B-87l3Xt.js → chunk-GVQU2GXP-Duv4ZYb-.js} +1 -1
  27. package/dist/assets/{chunk-IMKFNOWR-Cypkx_kh.js → chunk-IMKFNOWR-BIILwBhp.js} +1 -1
  28. package/dist/assets/{chunk-L3NEJ4N5-DLeZO9l0.js → chunk-L3NEJ4N5-B2hafvRU.js} +1 -1
  29. package/dist/assets/{chunk-OSK3NFVY-PWoOtECb.js → chunk-OSK3NFVY-SNGRdtNA.js} +1 -1
  30. package/dist/assets/{chunk-P2QGCYS3-DsJshZeL.js → chunk-P2QGCYS3-_SeE0QXb.js} +1 -1
  31. package/dist/assets/{chunk-POPQ4Y6H-CCg5TpSp.js → chunk-POPQ4Y6H-BB5NNJFE.js} +1 -1
  32. package/dist/assets/{chunk-PWAF6VOD-CrFPAGFi.js → chunk-PWAF6VOD-BZoBqp8x.js} +1 -1
  33. package/dist/assets/{chunk-SHT3W25Y-V37g5TGQ.js → chunk-SHT3W25Y-BtLGdeDB.js} +1 -1
  34. package/dist/assets/{chunk-SVP7TREG-CTD0ZEkK.js → chunk-SVP7TREG-B0UfxhUP.js} +1 -1
  35. package/dist/assets/{chunk-TICWLB2K-BmUJmjwl.js → chunk-TICWLB2K-BP7vel_P.js} +1 -1
  36. package/dist/assets/classDiagram-ZZMXUADV-CoNXKNMZ.js +1 -0
  37. package/dist/assets/classDiagram-v2-VYDZK3BY-CoNXKNMZ.js +1 -0
  38. package/dist/assets/{code-visibility-7811giS9.js → code-visibility-BFNYI7hr.js} +1 -1
  39. package/dist/assets/{command-palette-ZCeZiFkl.js → command-palette-DN4JoOLD.js} +1 -1
  40. package/dist/assets/{common-BdqirnCM.js → common-DUCPhoyP.js} +1 -1
  41. package/dist/assets/{components-BFIaoBwJ.js → components-CK7CeYlo.js} +1 -1
  42. package/dist/assets/{components-CzFNo5Dk.js → components-DAmFBASm.js} +1 -1
  43. package/dist/assets/{cynefinDiagram-5FMLGOSQ-CTXT8KNm.js → cynefinDiagram-5FMLGOSQ-BARZRQBb.js} +1 -1
  44. package/dist/assets/{dagre-B5pirN9r.js → dagre-DVyyr7Cb.js} +1 -1
  45. package/dist/assets/{dagre-GXQ25YYZ-6LiieueL.js → dagre-GXQ25YYZ-79s0lOP0.js} +1 -1
  46. package/dist/assets/data-grid-overlay-editor-DPfnIudL.js +1 -0
  47. package/dist/assets/{dependency-graph-panel-CHbDGV22.js → dependency-graph-panel-BN4CLayU.js} +3 -3
  48. package/dist/assets/{diagram-S7CK7UJ4-BZL5Ql7I.js → diagram-S7CK7UJ4-BCviGhvd.js} +1 -1
  49. package/dist/assets/{diagram-UQ7AKVKN-AhAtqSJG.js → diagram-UQ7AKVKN-Ds-BT46T.js} +1 -1
  50. package/dist/assets/{diagram-VSXAHHWV-DOQllF_r.js → diagram-VSXAHHWV-CK4GkM-q.js} +1 -1
  51. package/dist/assets/{diagram-VX7I27RA-COX-CxL0.js → diagram-VX7I27RA-BtL2eh0t.js} +1 -1
  52. package/dist/assets/{diagram-Z3DM3KII-DXw7fg_D.js → diagram-Z3DM3KII-C6SmbLBS.js} +1 -1
  53. package/dist/assets/{dist-0HQ0BMF5.js → dist-CQvJDryh.js} +1 -1
  54. package/dist/assets/{documentation-panel-DUlFjJdz.js → documentation-panel-CzRbXV5u.js} +1 -1
  55. package/dist/assets/{ebnfDiagram-PWID7BFC-Ds-CB5Z_.js → ebnfDiagram-PWID7BFC-D_JU4cMQ.js} +1 -1
  56. package/dist/assets/edit-page-jGNYBqQo.js +174 -0
  57. package/dist/assets/{erDiagram-RLTQ6QDP-RdxnwvNA.js → erDiagram-RLTQ6QDP-Z9MJ6X-r.js} +1 -1
  58. package/dist/assets/{error-entries-BUsiy4Fq.js → error-entries-CDSsy76p.js} +1 -1
  59. package/dist/assets/{error-panel-DmaQ2MSS.js → error-panel-ABvjFG3p.js} +1 -1
  60. package/dist/assets/{feedback-button-DJMAFZ1t.js → feedback-button-CZhLiwkO.js} +2 -2
  61. package/dist/assets/{file-explorer-panel-BZ4A-j8a.js → file-explorer-panel-DTiEpmVE.js} +1 -1
  62. package/dist/assets/file-name-input-C1C8xrjA.js +3 -0
  63. package/dist/assets/filename-fxG7K_MU.js +1 -0
  64. package/dist/assets/flowDiagram-HODETNUW-ncLciK2K.js +1 -0
  65. package/dist/assets/{gallery-page-DFoyByKn.js → gallery-page-Moi4ZdJ0.js} +1 -1
  66. package/dist/assets/{ganttDiagram-EL5Y4UJY-d9Qqbnau.js → ganttDiagram-EL5Y4UJY-Cgy11k0G.js} +1 -1
  67. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DBunV_fz.js → gitGraphDiagram-WWUBYQGX-CVH8fay_.js} +1 -1
  68. package/dist/assets/glide-data-editor-CbsCWu-K.js +131 -0
  69. package/dist/assets/{graphlib-CWJvl2Lb.js → graphlib-3maKwbRO.js} +1 -1
  70. package/dist/assets/has-cJsIKK9t.js +1 -0
  71. package/dist/assets/{home-page-D_6gPong.js → home-page-UAgVOkCZ.js} +2 -2
  72. package/dist/assets/index--sT8xf-8.css +2 -0
  73. package/dist/assets/index-DafnX1Xx.js +62 -0
  74. package/dist/assets/{infoDiagram-27XIBGKW-B0jMwBBO.js → infoDiagram-27XIBGKW-Dk8U81nJ.js} +1 -1
  75. package/dist/assets/{ishikawaDiagram-5VMMS53U-4eji-_U4.js → ishikawaDiagram-5VMMS53U-CzHQlMUQ.js} +1 -1
  76. package/dist/assets/{journeyDiagram-3NMN7TZE-Cp4mxQrE.js → journeyDiagram-3NMN7TZE-DRc8ACzh.js} +1 -1
  77. package/dist/assets/{kanban-definition-UXKFOSKX-BYgV-VZ3.js → kanban-definition-UXKFOSKX-CVyVYiI6.js} +1 -1
  78. package/dist/assets/katex-DkE0ukCy.js +257 -0
  79. package/dist/assets/{logs-panel-CvwX6Xnb.js → logs-panel-Bz5ysVX4.js} +1 -1
  80. package/dist/assets/{mermaid-BmcDudwo.js → mermaid-D_jPUVqz.js} +4 -4
  81. package/dist/assets/mhchem-CmzEtQj8.js +1 -0
  82. package/dist/assets/{mindmap-definition-YA3MSWOX-Cz5xXQnv.js → mindmap-definition-YA3MSWOX-D5t6Aq5Z.js} +1 -1
  83. package/dist/assets/{number-overlay-editor-Jcf1i5Xj.js → number-overlay-editor-FAD8sjFU.js} +1 -1
  84. package/dist/assets/{outline-panel-4icYQ4vr.js → outline-panel-85oiQ0XX.js} +1 -1
  85. package/dist/assets/packages-panel-ClKIaP5S.js +1 -0
  86. package/dist/assets/{panels-CM1tqwz-.js → panels-B48zp96D.js} +9 -9
  87. package/dist/assets/{pegDiagram-XKGWAZYB-CCOAs3UH.js → pegDiagram-XKGWAZYB-BTkTm4ej.js} +1 -1
  88. package/dist/assets/{pieDiagram-E7YTZNPT-BBxiPx1C.js → pieDiagram-E7YTZNPT-Bq6X88M1.js} +1 -1
  89. package/dist/assets/{process-output-CXjf0zEE.js → process-output-Cg2ta3vY.js} +1 -1
  90. package/dist/assets/{quadrantDiagram-AXDQQJYC-BE-xlTLH.js → quadrantDiagram-AXDQQJYC-D_wrOwLk.js} +1 -1
  91. package/dist/assets/{railroadDiagram-O6MQD6OU-BRv2wsAz.js → railroadDiagram-O6MQD6OU-fv8HXW_g.js} +1 -1
  92. package/dist/assets/{requirementDiagram-BXWQKSXE-HAdL90iQ.js → requirementDiagram-BXWQKSXE-DDOOMUfC.js} +1 -1
  93. package/dist/assets/{reveal-component-CiQEczuZ.js → reveal-component-CR43gpTZ.js} +3 -3
  94. package/dist/assets/run-page-NR_KFWk8.js +1 -0
  95. package/dist/assets/{sankeyDiagram-P5KCCOFB-BWLQCyjK.js → sankeyDiagram-P5KCCOFB-CvvUY6tS.js} +1 -1
  96. package/dist/assets/{scratchpad-panel-Btg5EoIW.js → scratchpad-panel-DHc-oVb1.js} +1 -1
  97. package/dist/assets/{secrets-panel-C-17vrf1.js → secrets-panel-C-65ZjnM.js} +1 -1
  98. package/dist/assets/{sequenceDiagram-WJ2MYXX4-Bs66qtoH.js → sequenceDiagram-WJ2MYXX4-DdpBhQaS.js} +1 -1
  99. package/dist/assets/session-panel-DiwQqIbt.js +1 -0
  100. package/dist/assets/{SelectionIndicator-DLJBcP4e.js → shell-BSnvn9t7.js} +1 -1
  101. package/dist/assets/snippets-panel-BLmXrneD.js +1 -0
  102. package/dist/assets/{stateDiagram-D77RDMKH-CZZcOZaL.js → stateDiagram-D77RDMKH-D3p19fac.js} +1 -1
  103. package/dist/assets/stateDiagram-v2-MP3YSRHH-CplsDaDl.js +1 -0
  104. package/dist/assets/{swimlanes-42K2YHIH-DmvAwXeY.js → swimlanes-42K2YHIH-CLxCSvU4.js} +1 -1
  105. package/dist/assets/swimlanesDiagram-VR7AAH4N-DPoIFx8T.js +8 -0
  106. package/dist/assets/{swiper-component-C-iHKt3a.js → swiper-component-rqJChT_P.js} +1 -1
  107. package/dist/assets/{terminal-BJXvwDtX.js → terminal-CY4h1UmO.js} +1 -1
  108. package/dist/assets/{timeline-definition-24CTP7MA-DMBmrnDz.js → timeline-definition-24CTP7MA-Cw2PY--x.js} +1 -1
  109. package/dist/assets/tooltip-PLkI_UfK.js +61 -0
  110. package/dist/assets/{tracing-C1gfnMTz.js → tracing-Q8NAdlrA.js} +1 -1
  111. package/dist/assets/tracing-panel-Ci4kY4dr.js +2 -0
  112. package/dist/assets/{useCellActionButton-ChAk7KSd.js → useCellActionButton-DpYtVfFe.js} +1 -1
  113. package/dist/assets/{vega-component-Dyn2ovlw.js → vega-component-BpoSew4K.js} +1 -1
  114. package/dist/assets/{vega-embed-container-SaZMhvDB.js → vega-embed-container-BOJG8mCA.js} +1 -1
  115. package/dist/assets/{vennDiagram-4TSXK5OY-CU4ZQxbP.js → vennDiagram-4TSXK5OY-D8bN6lVl.js} +1 -1
  116. package/dist/assets/{wardleyDiagram-VM6X3IG4-CqJhzIbP.js → wardleyDiagram-VM6X3IG4-CbZdo0SA.js} +1 -1
  117. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  118. package/dist/assets/{xychartDiagram-S5SC5T6Z-CS6EJwUz.js → xychartDiagram-S5SC5T6Z-DUUQ9tau.js} +1 -1
  119. package/dist/index.html +8 -7
  120. package/package.json +1 -2
  121. package/src/__mocks__/common.ts +3 -3
  122. package/src/__tests__/CellStatus.test.tsx +1 -1
  123. package/src/__tests__/setup.ts +7 -7
  124. package/src/components/app-config/ai-config.tsx +2 -0
  125. package/src/components/app-config/optional-features.tsx +1 -1
  126. package/src/components/chat/chat-panel.tsx +19 -8
  127. package/src/components/data-table/TableTopBar.tsx +2 -2
  128. package/src/components/data-table/__tests__/export-actions.test.tsx +662 -0
  129. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +286 -0
  130. package/src/components/data-table/charts/charts.tsx +26 -13
  131. package/src/components/data-table/column-summary/chart-spec-model.tsx +4 -4
  132. package/src/components/data-table/data-table.tsx +1 -1
  133. package/src/components/data-table/export-actions.tsx +642 -176
  134. package/src/components/data-table/schemas.ts +25 -3
  135. package/src/components/dependency-graph/elements.ts +2 -2
  136. package/src/components/editor/__tests__/package-alert.test.tsx +140 -0
  137. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +107 -0
  138. package/src/components/editor/actions/pair-with-agent.tsx +119 -0
  139. package/src/components/editor/actions/useNotebookActions.tsx +2 -1
  140. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -0
  141. package/src/components/editor/ai/staged-cell-submission.ts +2 -2
  142. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  143. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  144. package/src/components/editor/connections/database/as-code.ts +44 -44
  145. package/src/components/editor/connections/storage/as-code.ts +3 -3
  146. package/src/components/editor/file-tree/requesting-tree.tsx +16 -13
  147. package/src/components/editor/navigation/clipboard.ts +2 -2
  148. package/src/components/editor/notebook-cell.tsx +2 -2
  149. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  150. package/src/components/editor/output/VideoOutput.tsx +1 -1
  151. package/src/components/editor/output/ansi-reduce.ts +21 -17
  152. package/src/components/editor/output/console/ConsoleOutput.tsx +3 -3
  153. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +59 -0
  154. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  155. package/src/components/editor/package-alert.tsx +20 -7
  156. package/src/components/home/components.tsx +1 -0
  157. package/src/components/markdown/markdown-renderer.css +1 -1
  158. package/src/components/pages/run-page.tsx +1 -0
  159. package/src/components/slides/__tests__/minimap-actions.test.tsx +7 -7
  160. package/src/components/slides/__tests__/minimap.test.ts +12 -12
  161. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +8 -8
  162. package/src/components/static-html/__tests__/share-modal.test.tsx +154 -0
  163. package/src/components/static-html/__tests__/stage-for-publish.test.ts +111 -0
  164. package/src/components/static-html/share-modal.tsx +114 -144
  165. package/src/components/static-html/stage-for-publish.ts +56 -0
  166. package/src/components/static-html/static-banner.tsx +2 -2
  167. package/src/components/ui/links.tsx +6 -1
  168. package/src/components/ui/typography.tsx +16 -8
  169. package/src/core/ai/context/__tests__/registry.test.ts +31 -28
  170. package/src/core/ai/context/providers/cell-output.ts +8 -8
  171. package/src/core/ai/context/providers/datasource.ts +10 -7
  172. package/src/core/ai/context/providers/error.ts +7 -7
  173. package/src/core/ai/context/providers/file.ts +8 -8
  174. package/src/core/ai/context/providers/tables.ts +7 -7
  175. package/src/core/ai/context/providers/variable.ts +7 -7
  176. package/src/core/ai/context/registry.ts +18 -18
  177. package/src/core/ai/ids/ids.ts +5 -5
  178. package/src/core/ai/model-registry.ts +12 -9
  179. package/src/core/ai/staged-cells.ts +6 -6
  180. package/src/core/ai/tools/base.ts +6 -6
  181. package/src/core/ai/tools/edit-notebook-tool.ts +6 -6
  182. package/src/core/ai/tools/registry.ts +4 -4
  183. package/src/core/ai/tools/run-cells-tool.ts +7 -7
  184. package/src/core/ai/tools/sample-tool.ts +6 -6
  185. package/src/core/cells/__tests__/cells.test.ts +27 -0
  186. package/src/core/cells/cells.ts +2 -1
  187. package/src/core/codemirror/cells/debugger-decorations.ts +13 -7
  188. package/src/core/codemirror/cells/line-timing-decorations.ts +9 -9
  189. package/src/core/codemirror/cells/traceback-decorations.ts +7 -4
  190. package/src/core/codemirror/code-lens/extension.ts +13 -13
  191. package/src/core/codemirror/copilot/__tests__/language-server.test.ts +6 -6
  192. package/src/core/codemirror/copilot/__tests__/transport.test.ts +12 -12
  193. package/src/core/codemirror/copilot/language-server.ts +13 -13
  194. package/src/core/codemirror/copilot/transport.ts +1 -1
  195. package/src/core/codemirror/find-replace/search-highlight.ts +5 -5
  196. package/src/core/codemirror/go-to-definition/underline.ts +3 -3
  197. package/src/core/codemirror/keymaps/vim.ts +3 -3
  198. package/src/core/codemirror/language/languages/markdown.ts +8 -8
  199. package/src/core/codemirror/language/languages/python.ts +7 -7
  200. package/src/core/codemirror/language/languages/sql/completion-builder.ts +5 -5
  201. package/src/core/codemirror/language/languages/sql/completion-store.ts +4 -4
  202. package/src/core/codemirror/language/languages/sql/sql.ts +21 -21
  203. package/src/core/codemirror/lsp/__tests__/transports.test.ts +10 -10
  204. package/src/core/codemirror/lsp/federated-lsp.ts +29 -27
  205. package/src/core/codemirror/lsp/notebook-lsp.ts +21 -21
  206. package/src/core/codemirror/misc/__tests__/dnd.test.ts +10 -10
  207. package/src/core/codemirror/misc/__tests__/paste.test.ts +7 -4
  208. package/src/core/codemirror/reactive-references/extension.ts +3 -3
  209. package/src/core/codemirror/rtc/loro/awareness.ts +12 -12
  210. package/src/core/codemirror/rtc/loro/sync.ts +5 -5
  211. package/src/core/codemirror/vim/cursor-visibility.ts +3 -3
  212. package/src/core/dom/ui-element.ts +5 -5
  213. package/src/core/dom/uiregistry.ts +10 -10
  214. package/src/core/hotkeys/hotkeys.ts +9 -9
  215. package/src/core/islands/__tests__/bridge.test.ts +4 -4
  216. package/src/core/islands/__tests__/test-utils.tsx +4 -4
  217. package/src/core/islands/bridge.ts +85 -82
  218. package/src/core/islands/components/web-components.tsx +7 -7
  219. package/src/core/islands/worker/__tests__/controller.test.ts +1 -1
  220. package/src/core/islands/worker/controller.ts +6 -3
  221. package/src/core/islands/worker-factory.ts +2 -2
  222. package/src/core/kernel/RuntimeState.ts +4 -4
  223. package/src/core/lsp/__tests__/transport.test.ts +19 -19
  224. package/src/core/lsp/transport.ts +5 -5
  225. package/src/core/network/CachingRequestRegistry.ts +2 -2
  226. package/src/core/network/DeferredRequestRegistry.ts +4 -4
  227. package/src/core/network/__tests__/export-asset-url.test.ts +45 -0
  228. package/src/core/network/export-asset-url.ts +19 -0
  229. package/src/core/network/requests-network.ts +2 -7
  230. package/src/core/runtime/runtime.ts +25 -20
  231. package/src/core/static/virtual-file-tracker.ts +5 -5
  232. package/src/core/wasm/__tests__/bridge.test.ts +2 -2
  233. package/src/core/wasm/bridge.ts +132 -133
  234. package/src/core/wasm/router.ts +5 -5
  235. package/src/core/wasm/store.ts +4 -4
  236. package/src/core/wasm/worker/bootstrap.ts +8 -5
  237. package/src/core/wasm/worker/message-buffer.ts +3 -3
  238. package/src/core/websocket/transports/__tests__/ws.test.ts +8 -8
  239. package/src/core/websocket/transports/basic.ts +15 -8
  240. package/src/core/websocket/transports/sse.ts +7 -7
  241. package/src/core/websocket/transports/transport.ts +3 -3
  242. package/src/core/websocket/transports/ws.ts +9 -7
  243. package/src/css/globals.css +18 -21
  244. package/src/css/katex.min.css +260 -241
  245. package/src/hooks/__tests__/useOverflowDetection.test.tsx +5 -5
  246. package/src/hooks/__tests__/useResizeObserver.test.tsx +12 -12
  247. package/src/plugins/core/registerReactComponent.tsx +5 -5
  248. package/src/plugins/core/sidebar-element.tsx +2 -2
  249. package/src/plugins/impl/ButtonPlugin.tsx +3 -3
  250. package/src/plugins/impl/CheckboxPlugin.tsx +3 -3
  251. package/src/plugins/impl/CodeEditorPlugin.tsx +3 -3
  252. package/src/plugins/impl/DatePickerPlugin.tsx +3 -3
  253. package/src/plugins/impl/DateRangePlugin.tsx +3 -3
  254. package/src/plugins/impl/DateTimePickerPlugin.tsx +3 -3
  255. package/src/plugins/impl/DictPlugin.tsx +3 -3
  256. package/src/plugins/impl/DropdownPlugin.tsx +3 -3
  257. package/src/plugins/impl/FileUploadPlugin.tsx +3 -3
  258. package/src/plugins/impl/MatrixPlugin.tsx +4 -4
  259. package/src/plugins/impl/MicrophonePlugin.tsx +3 -3
  260. package/src/plugins/impl/MultiselectPlugin.tsx +3 -3
  261. package/src/plugins/impl/NumberPlugin.tsx +3 -3
  262. package/src/plugins/impl/RadioPlugin.tsx +9 -5
  263. package/src/plugins/impl/RangeSliderPlugin.tsx +3 -3
  264. package/src/plugins/impl/RefreshPlugin.tsx +3 -3
  265. package/src/plugins/impl/SliderPlugin.tsx +3 -3
  266. package/src/plugins/impl/SwitchPlugin.tsx +3 -3
  267. package/src/plugins/impl/TabsPlugin.tsx +3 -3
  268. package/src/plugins/impl/TextAreaPlugin.tsx +3 -3
  269. package/src/plugins/impl/TextInputPlugin.tsx +3 -3
  270. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +2 -2
  271. package/src/plugins/impl/anywidget/model.ts +10 -10
  272. package/src/plugins/impl/anywidget/registry.ts +12 -9
  273. package/src/plugins/impl/anywidget/runtime.ts +11 -9
  274. package/src/plugins/impl/anywidget/widget-binding.ts +6 -6
  275. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +7 -6
  276. package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +3 -3
  277. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +2 -2
  278. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +2 -2
  279. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -10
  280. package/src/plugins/impl/panel/utils.ts +5 -5
  281. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  282. package/src/plugins/impl/vega/VegaPlugin.tsx +3 -3
  283. package/src/plugins/impl/vega/__tests__/use-vega-container-remeasure.test.ts +7 -7
  284. package/src/plugins/impl/vega/__tests__/utils.test.ts +16 -1
  285. package/src/plugins/impl/vega/__tests__/vega.test.ts +37 -0
  286. package/src/plugins/impl/vega/loader.ts +23 -1
  287. package/src/plugins/impl/vega/utils.ts +5 -4
  288. package/src/plugins/layout/AccordionPlugin.tsx +3 -3
  289. package/src/plugins/layout/CalloutPlugin.tsx +3 -3
  290. package/src/plugins/layout/ImageComparisonPlugin.tsx +5 -3
  291. package/src/plugins/layout/JsonOutputPlugin.tsx +3 -3
  292. package/src/plugins/layout/MimeRenderPlugin.tsx +3 -3
  293. package/src/plugins/layout/NavigationMenuPlugin.tsx +3 -3
  294. package/src/plugins/layout/OutlinePlugin.tsx +3 -3
  295. package/src/plugins/layout/ProgressPlugin.tsx +3 -3
  296. package/src/plugins/layout/RoutesPlugin.tsx +6 -8
  297. package/src/plugins/layout/StatPlugin.tsx +3 -3
  298. package/src/plugins/layout/TexPlugin.tsx +3 -3
  299. package/src/plugins/layout/carousel/CarouselPlugin.tsx +4 -4
  300. package/src/plugins/layout/mermaid/MermaidPlugin.tsx +3 -3
  301. package/src/utils/Deferred.ts +6 -6
  302. package/src/utils/async-capture-tracker.ts +10 -7
  303. package/src/utils/errors.ts +5 -5
  304. package/src/utils/id-tree.tsx +83 -80
  305. package/src/utils/lru.ts +1 -1
  306. package/src/utils/multi-map.ts +14 -12
  307. package/src/utils/paths.ts +6 -6
  308. package/src/utils/pluralize.ts +3 -3
  309. package/src/utils/progress.ts +6 -6
  310. package/src/utils/python-poet/poet.ts +14 -14
  311. package/src/utils/routes.ts +4 -2
  312. package/src/utils/semaphore.ts +6 -6
  313. package/src/utils/storage/storage.ts +6 -6
  314. package/src/utils/storage/typed.ts +16 -12
  315. package/src/utils/time.ts +9 -9
  316. package/src/utils/timed-cache.ts +4 -4
  317. package/src/utils/tracer.ts +9 -6
  318. package/dist/assets/add-cell-with-ai-B_rl7cPp.js +0 -76
  319. package/dist/assets/ai-model-dropdown-BmCwaRek.js +0 -3
  320. package/dist/assets/app-config-button-CtDuDui6.js +0 -1
  321. package/dist/assets/channel-ni7ei-yz.js +0 -1
  322. package/dist/assets/chat-panel-J4XhiL6i.js +0 -4
  323. package/dist/assets/classDiagram-ZZMXUADV-BS3U2jc1.js +0 -1
  324. package/dist/assets/classDiagram-v2-VYDZK3BY-BS3U2jc1.js +0 -1
  325. package/dist/assets/data-grid-overlay-editor-87bCN9IO.js +0 -1
  326. package/dist/assets/edit-page-D--nkMAI.js +0 -176
  327. package/dist/assets/file-name-input-CCRQJdng.js +0 -3
  328. package/dist/assets/flowDiagram-HODETNUW-DN8oq7vL.js +0 -1
  329. package/dist/assets/glide-data-editor-jH9-4ffy.js +0 -131
  330. package/dist/assets/has-W-yPT2HD.js +0 -1
  331. package/dist/assets/index-2TQenOiQ.css +0 -2
  332. package/dist/assets/index-Bjli4tSW.js +0 -62
  333. package/dist/assets/katex-mNPPSsir.js +0 -257
  334. package/dist/assets/katex-ukvJUC1e.js +0 -257
  335. package/dist/assets/mhchem-DcHTrqjv.js +0 -1
  336. package/dist/assets/packages-panel-pQzYAoH5.js +0 -1
  337. package/dist/assets/run-page-BTAjlR7y.js +0 -1
  338. package/dist/assets/session-panel-BYf4LDAo.js +0 -1
  339. package/dist/assets/snippets-panel-BAYAZKCH.js +0 -1
  340. package/dist/assets/stateDiagram-v2-MP3YSRHH-sU5f30Vy.js +0 -1
  341. package/dist/assets/swimlanesDiagram-VR7AAH4N-CNzkvYiI.js +0 -8
  342. package/dist/assets/tooltip-B1vGi-z4.js +0 -61
  343. package/dist/assets/tracing-panel-CzJ8ckHz.js +0 -2
@@ -1,4 +1,4 @@
1
- import{i as e}from"./chunk-75Z2AOVW-DA_lihEi.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-J-califE.js";import{r as m,t as h}from"./chunk-PWAF6VOD-CrFPAGFi.js";import{p as g}from"./mermaid-BmcDudwo.js";import{n as _}from"./mermaid-parser.core-3RKOfUXB.js";import{t as v}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as y}from"./chunk-2Q5K7J3B-C1jixKkw.js";var b=/[─━│┃└┗├┣]/,x=/[└┗├┣]/,S=/[─━]/,C=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,E=` `;function D(e){return e.some(e=>b.test(e))}t(D,`isBoxDrawingFormat`);function O(e){for(let t of e){let e=x.exec(t);if(e?.index&&e.index>0)return e.index}return 4}t(O,`inferSegmentWidth`);function k(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{let r=parseInt(n,10),i=t.get(r);return i?`line ${i}`:e})}t(k,`remapErrorLines`);function A(e){let t=e.split(`
1
+ import{i as e}from"./chunk-75Z2AOVW-BzzYECN7.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-BlpgvKzl.js";import{r as m,t as h}from"./chunk-PWAF6VOD-BZoBqp8x.js";import{p as g}from"./mermaid-D_jPUVqz.js";import{n as _}from"./mermaid-parser.core-3RKOfUXB.js";import{t as v}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as y}from"./chunk-2Q5K7J3B-C1jixKkw.js";var b=/[─━│┃└┗├┣]/,x=/[└┗├┣]/,S=/[─━]/,C=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,E=` `;function D(e){return e.some(e=>b.test(e))}t(D,`isBoxDrawingFormat`);function O(e){for(let t of e){let e=x.exec(t);if(e?.index&&e.index>0)return e.index}return 4}t(O,`inferSegmentWidth`);function k(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{let r=parseInt(n,10),i=t.get(r);return i?`line ${i}`:e})}t(k,`remapErrorLines`);function A(e){let t=e.split(`
2
2
  `),n=new Map,r=-1;for(let[e,n]of t.entries())if(n.trim()===`treeView-beta`){r=e;break}if(r===-1)return{text:e,lineMap:n};let i=[];for(let e=r+1;e<t.length;e++){let n=t[e];n.trim()===``||T.test(n)||w.test(n)||C.test(n)||i.push(n.replace(/\t/g,` `))}if(!D(i))return{text:e,lineMap:n};let a=O(i),o=[],s=0;for(let e=0;e<=r;e++)o.push(t[e]),s++,n.set(s,e+1);for(let e=r+1;e<t.length;e++){let r=t[e],i=r.trim(),c=e+1;if(i===``){o.push(r),s++,n.set(s,c);continue}if(T.test(r)){o.push(r),s++,n.set(s,c);continue}if(w.test(r)){o.push(r),s++,n.set(s,c);continue}if(C.test(r))continue;let l=r.replace(/\t/g,` `),u=x.exec(l);if(u?.index!==void 0){let e=u.index,t=Math.round(e/a)+1,r=e+1;for(;r<l.length&&S.test(l[r]);)r++;for(;r<l.length&&l[r]===` `;)r++;let i=l.slice(r).trimEnd();if(!i)throw Error(`Line ${c}: Empty node \u2014 expected a filename or directory name after the box-drawing prefix`);let d=E.repeat(t);o.push(d+i),s++,n.set(s,c)}else if(/^[\s─━│┃└┗├┣]+$/.test(l))continue;else if(b.test(l))o.push(r),s++,n.set(s,c);else if(/^\s+/.test(l))throw Error(`Line ${c}: Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes.`);else o.push(r),s++,n.set(s,c)}return{text:o.join(`
3
3
  `),lineMap:n}}t(A,`preprocessBoxDrawing`);var j=new y(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,nodeType:`directory`,children:[]}]})),M=t(()=>{j.reset(),o()},`clear`),N=t(()=>j.records.stack[0],`getRoot`),P=t(()=>j.records.cnt,`getCount`),F=l.treeView,I={clear:M,addNode:t((e,t,n,r,i,a)=>{for(;e<=j.records.stack[j.records.stack.length-1].level;)j.records.stack.pop();let o={id:j.records.cnt++,level:e,name:t,nodeType:n,icon:i,cssClass:r,description:a,children:[]};j.records.stack[j.records.stack.length-1].children.push(o),j.records.stack.push(o)},`addNode`),getRoot:N,getCount:P,getConfig:t(()=>e(F,s().treeView),`getConfig`),getAccTitle:f,getAccDescription:u,getDiagramTitle:d,setAccDescription:r,setAccTitle:a,setDiagramTitle:i},L=t(e=>{v(e,I);for(let t of e.nodes){let e=typeof t.indent==`number`?t.indent:0,n=t.name,r=n.endsWith(`/`);r&&(n=n.slice(0,-1));let i=r?`directory`:`file`,a=t.classAnnotation||void 0,o=t.iconAnnotation,c=o===void 0?void 0:o||`none`,l=t.descAnnotation||void 0,u=l?p(l,s()):void 0;I.addNode(e,n,i,a,c,u)}},`populate`),R={parse:t(async e=>{let{text:t,lineMap:r}=A(e);try{let e=await _(`treeView`,t);n.debug(e),L(e)}catch(e){throw r.size>0&&e instanceof Error&&(e.message=k(e.message,r)),e}},`parse`)},z={prefix:`mermaid-treeview`,height:24,width:24,icons:{folder:{body:`<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>`},file:{body:`<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>`}}};function B(e,t){let n=t?.filenameIcons?.[e];if(n)return n;let r=e.lastIndexOf(`.`);if(r>0){let n=e.substring(r).toLowerCase(),i=t?.extensionIcons;return i?.[n]??i?.[n.slice(1)]}}t(B,`detectIcon`);function V(e,t){return e.includes(`:`)?e:e in z.icons||!t?`${z.prefix}:${e}`:`${t}:${e}`}t(V,`qualifyIcon`);function H(e,t){if(e.icon!==`none`){if(e.icon)return V(e.icon,t.defaultIconPack);if(t.showIcons){if(e.nodeType===`file`){let n=B(e.name,t);if(n===`none`)return;if(n)return V(n,t.defaultIconPack)}return`${z.prefix}:${e.nodeType===`directory`?`folder`:`file`}`}}}t(H,`getNodeIcon`),m([{name:z.prefix,icons:z}]);var U=14,W=4,G=16,K=t(async(e,n)=>{let r=[],i=t(e=>{let t=H(e,n);t&&r.push({icon:t,node:e}),e.children.forEach(i)},`collect`);i(e);let a=await Promise.all(r.map(async({icon:e,node:t})=>({id:t.id,svg:await h(e,{height:U,width:U})})));return new Map(a.map(({id:e,svg:t})=>[e,t]))},`resolveNodeIcons`),q=t((e,t,n,r,i,a)=>{let o=r.append(`g`),s=`treeView-node-label`;n.nodeType===`directory`&&(s+=` treeView-node-dir`),n.cssClass&&(s+=` ${n.cssClass}`);let c=U+W,l=H(n,i),u=l!==void 0;l&&o.append(`g`).attr(`class`,`treeView-node-icon`).attr(`transform`,`translate(${e+i.paddingX}, ${t+i.paddingY})`).html(a.get(n.id)??``);let d=o.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,s),{height:f,width:p}=d.node().getBBox(),m=f+i.paddingY*2,h=e+i.paddingX+(u?c:0);d.attr(`x`,h),d.attr(`y`,t+m/2);let g=h+p;return n.BBox={x:e,y:t,width:p+i.paddingX*2+(u?c:0),height:m},n.cssClass?.split(/\s+/).includes(`highlight`)&&o.insert(`rect`,`:first-child`).attr(`x`,e).attr(`y`,t+1).attr(`width`,0).attr(`height`,m-2).attr(`rx`,3).attr(`class`,`treeView-highlight-bg`),{node:n,nodeGroup:o,labelRightEdge:g,centerY:t+m/2}},`positionLabel`),J=t((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),Y=t((e,n,r,i)=>{let a=0,o=0,s=[],c=t((e,t,n,r)=>{let c=r*(n.rowIndent+n.paddingX),l=q(c,a,t,e,n,i);s.push(l);let{height:u,width:d}=t.BBox;J(e,c-n.rowIndent,a+u/2,c,a+u/2,n.lineThickness),o=Math.max(o,c+d),a+=u},`drawNode`),l=t((t,n=0)=>{c(e,t,r,n),t.children.forEach(e=>{l(e,n+1)});let{x:i,y:a,height:o}=t.BBox;if(t.children.length){let{y:n,height:s}=t.children[t.children.length-1].BBox;J(e,i+r.paddingX,a+o,i+r.paddingX,n+s/2+r.lineThickness/2,r.lineThickness)}},`processNode`);l(n);let u=s.filter(e=>e.node.description);if(u.length>0){let e=Math.max(...s.map(e=>e.labelRightEdge))+G;for(let t of u){let n=t.nodeGroup.append(`text`).text(t.node.description).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-description`).attr(`x`,e).attr(`y`,t.centerY).node().getBBox();o=Math.max(o,e+n.width+r.paddingX)}}for(let e of s)if(e.node.cssClass?.split(/\s+/).includes(`highlight`)){let t=e.nodeGroup.select(`.treeView-highlight-bg`);if(!t.empty()){let n=o-e.node.BBox.x+8;t.attr(`width`,n),o=Math.max(o,e.node.BBox.x+n+2)}}return{totalHeight:a,totalWidth:o}},`drawTree`),X={draw:t(async(e,t,r,i)=>{n.debug(`Rendering treeView diagram
4
4
  `+e);let a=i.db,o=a.getRoot(),s=a.getConfig(),l=g(t),u=l.append(`g`);u.attr(`class`,`tree-view`);let{totalHeight:d,totalWidth:f}=Y(u,o,s,await K(o,s));l.attr(`viewBox`,`-${s.lineThickness/2} 0 ${f} ${d}`),c(l,d,f,s.useMaxWidth)},`draw`)},Z={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`,iconColor:`#546e7a`,descriptionColor:`#6a9955`,highlightBg:`rgba(255, 193, 7, 0.15)`,highlightStroke:`#ffc107`},Q={db:I,renderer:X,parser:R,styles:t(({treeView:t})=>{let{labelFontSize:n,labelColor:r,lineColor:i,iconColor:a,descriptionColor:o,highlightBg:s,highlightStroke:c}=e(Z,t);return`
@@ -1,4 +1,4 @@
1
- import{i as e}from"./chunk-75Z2AOVW-DA_lihEi.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-DU6HZSFF-J-califE.js";import{p as m}from"./mermaid-BmcDudwo.js";import{n as h}from"./mermaid-parser.core-3RKOfUXB.js";import{t as g}from"./chunk-JWPE2WC7-DVXcaiue.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v=32,y={axes:[],curves:[],options:_},b=structuredClone(y),x=u.radar,S=t(()=>e({...x,...c().radar}),`getConfig`),C=t(()=>b.axes,`getAxes`),w=t(()=>b.curves,`getCurves`),T=t(()=>b.options,`getOptions`),E=t(e=>{b.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),D=t(e=>{b.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:O(e.entries)}))},`setCurves`),O=t(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=C();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),k={getAxes:C,getCurves:w,getOptions:T,setAxes:E,setCurves:D,setOptions:t(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});b.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule},b.options.ticks>v&&(n.warn(`Radar diagram ticks (${b.options.ticks}) exceeds maximum allowed (${v}). Using ${v} instead.`),b.options.ticks=v)},`setOptions`),getConfig:S,clear:t(()=>{s(),b=structuredClone(y)},`clear`),setAccTitle:o,getAccTitle:p,setDiagramTitle:a,getDiagramTitle:f,getAccDescription:d,setAccDescription:i},A=t(e=>{g(e,k);let{axes:t,curves:n,options:r}=e;k.setAxes(t),k.setCurves(n),k.setOptions(r)},`populate`),j={parse:t(async e=>{let t=await h(`radar`,e);n.debug(t),A(t)},`parse`)},M=t((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=N(m(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;P(u,a,p,s.ticks,s.graticule),F(u,a,p,c),I(u,a,o,f,d,s.graticule,c),z(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),N=t((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return l(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),P=t((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),F=t((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function I(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=L(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,R(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}t(I,`drawCurves`);function L(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}t(L,`relativeRadius`);function R(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}t(R,`closedRoundCurve`);function z(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}t(z,`drawLegend`);var B={draw:M},V=t((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
1
+ import{i as e}from"./chunk-75Z2AOVW-BzzYECN7.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-DU6HZSFF-BlpgvKzl.js";import{p as m}from"./mermaid-D_jPUVqz.js";import{n as h}from"./mermaid-parser.core-3RKOfUXB.js";import{t as g}from"./chunk-JWPE2WC7-DVXcaiue.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v=32,y={axes:[],curves:[],options:_},b=structuredClone(y),x=u.radar,S=t(()=>e({...x,...c().radar}),`getConfig`),C=t(()=>b.axes,`getAxes`),w=t(()=>b.curves,`getCurves`),T=t(()=>b.options,`getOptions`),E=t(e=>{b.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),D=t(e=>{b.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:O(e.entries)}))},`setCurves`),O=t(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=C();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),k={getAxes:C,getCurves:w,getOptions:T,setAxes:E,setCurves:D,setOptions:t(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});b.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule},b.options.ticks>v&&(n.warn(`Radar diagram ticks (${b.options.ticks}) exceeds maximum allowed (${v}). Using ${v} instead.`),b.options.ticks=v)},`setOptions`),getConfig:S,clear:t(()=>{s(),b=structuredClone(y)},`clear`),setAccTitle:o,getAccTitle:p,setDiagramTitle:a,getDiagramTitle:f,getAccDescription:d,setAccDescription:i},A=t(e=>{g(e,k);let{axes:t,curves:n,options:r}=e;k.setAxes(t),k.setCurves(n),k.setOptions(r)},`populate`),j={parse:t(async e=>{let t=await h(`radar`,e);n.debug(t),A(t)},`parse`)},M=t((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=N(m(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;P(u,a,p,s.ticks,s.graticule),F(u,a,p,c),I(u,a,o,f,d,s.graticule,c),z(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),N=t((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return l(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),P=t((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),F=t((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function I(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=L(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,R(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}t(I,`drawCurves`);function L(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}t(L,`relativeRadius`);function R(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}t(R,`closedRoundCurve`);function z(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}t(z,`drawLegend`);var B={draw:M},V=t((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
2
2
  .radarCurve-${r} {
3
3
  color: ${i};
4
4
  fill: ${i};
@@ -1,3 +1,3 @@
1
- import{_ as e,i as t,t as n}from"./chunk-75Z2AOVW-DA_lihEi.js";import{u as r}from"./src-BpnPuKEN.js";import{n as i}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as a}from"./src-Cyu5G-Tr.js";import{H as o,K as s,U as c,Y as l,a as u,b as d,f,v as p,w as m,x as h,y as g,z as _}from"./chunk-DU6HZSFF-J-califE.js";import{T as ee}from"./chunk-FOHPRMQF-DHwB1DNv.js";import{n as te}from"./mermaid-parser.core-3RKOfUXB.js";import{t as ne}from"./chunk-JWPE2WC7-DVXcaiue.js";var v=`position frame`,y=`frame positioned`,b=`position relation`,x=`relation positioned`,re=i(function(e){a.debug(`options str`,e)},`setOptions`),ie=i(function(){return{}},`getOptions`),ae=i(function(){S(),u()},`clear`);function S(){C={}}i(S,`reset`);var oe=f.eventmodeling,se=i(()=>t({...oe,...d().eventmodeling}),`getConfig`),C={};function w(){let e=ce,{ast:t}=C,n=D();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((r,i)=>{let o=P(r,t.dataEntities,n);e=J(e,{$kind:v,index:i,frame:r,textProps:o});let s;V(r)?(a.debug(`source frame`,r.sourceFrames),s=t.frames.filter(e=>r.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(t=>{e=J(e,{$kind:b,index:i,frame:r,sourceFrame:t})})):e=J(e,{$kind:b,index:i,frame:r})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}i(w,`getState`);function T(e){C.ast=e}i(T,`setAst`);var E={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function D(){return E}i(D,`getDiagramProps`);var ce={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function O(e){let t=e.split(`.`);if(t.length===2)return t[0]}i(O,`extractNamespace`);function k(e){let t=e.split(`.`);return t.length===2?t[1]:e}i(k,`extractName`);function A(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}i(A,`findSwimlaneByNamespace`);function j(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}i(j,`findNextAvailableIndex`);function M(e,t){let n=O(e.entityIdentifier),r=A(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||E.labelUiAutomation}:n?{index:j(t,0,100),label:E.labelUiAutomationPrefix+n}:{index:0,label:E.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||E.labelCommandReadModel}:n?{index:j(t,100,200),label:E.labelCommandReadModelPrefix+n}:{index:100,label:E.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||E.labelEvents}:n?{index:j(t,200,300),label:E.labelEventsPrefix+n}:{index:200,label:E.labelEvents}}}i(M,`calculateSwimlaneProps`);function N(e){let{themeVariables:t}=d();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}i(N,`calculateEntityVisualProps`);function P(t,r,i){let o=d(),s=_(k(t.entityIdentifier)??``,o),c,l={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},u=`<b>${e(s,i.textMaxWidth,l)}</b>`;if(t.dataInlineValue&&(c=t.dataInlineValue,c=c.substring(c.indexOf(`{`)+1),c=c.substring(0,c.lastIndexOf(`}`)-1),c=_(c,o),c=e(c,i.textMaxWidth,l),c=c.replaceAll(` `,`&nbsp;`)),t.dataReference){let n=r.find(e=>e.name===t.dataReference?.$refText);n&&(c=n.dataBlockValue,c=c.substring(c.indexOf(`{
1
+ import{_ as e,i as t,t as n}from"./chunk-75Z2AOVW-BzzYECN7.js";import{u as r}from"./src-BpnPuKEN.js";import{n as i}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as a}from"./src-Cyu5G-Tr.js";import{H as o,K as s,U as c,Y as l,a as u,b as d,f,v as p,w as m,x as h,y as g,z as _}from"./chunk-DU6HZSFF-BlpgvKzl.js";import{T as ee}from"./chunk-FOHPRMQF-DHwB1DNv.js";import{n as te}from"./mermaid-parser.core-3RKOfUXB.js";import{t as ne}from"./chunk-JWPE2WC7-DVXcaiue.js";var v=`position frame`,y=`frame positioned`,b=`position relation`,x=`relation positioned`,re=i(function(e){a.debug(`options str`,e)},`setOptions`),ie=i(function(){return{}},`getOptions`),ae=i(function(){S(),u()},`clear`);function S(){C={}}i(S,`reset`);var oe=f.eventmodeling,se=i(()=>t({...oe,...d().eventmodeling}),`getConfig`),C={};function w(){let e=ce,{ast:t}=C,n=D();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((r,i)=>{let o=P(r,t.dataEntities,n);e=J(e,{$kind:v,index:i,frame:r,textProps:o});let s;V(r)?(a.debug(`source frame`,r.sourceFrames),s=t.frames.filter(e=>r.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(t=>{e=J(e,{$kind:b,index:i,frame:r,sourceFrame:t})})):e=J(e,{$kind:b,index:i,frame:r})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}i(w,`getState`);function T(e){C.ast=e}i(T,`setAst`);var E={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function D(){return E}i(D,`getDiagramProps`);var ce={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function O(e){let t=e.split(`.`);if(t.length===2)return t[0]}i(O,`extractNamespace`);function k(e){let t=e.split(`.`);return t.length===2?t[1]:e}i(k,`extractName`);function A(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}i(A,`findSwimlaneByNamespace`);function j(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}i(j,`findNextAvailableIndex`);function M(e,t){let n=O(e.entityIdentifier),r=A(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||E.labelUiAutomation}:n?{index:j(t,0,100),label:E.labelUiAutomationPrefix+n}:{index:0,label:E.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||E.labelCommandReadModel}:n?{index:j(t,100,200),label:E.labelCommandReadModelPrefix+n}:{index:100,label:E.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||E.labelEvents}:n?{index:j(t,200,300),label:E.labelEventsPrefix+n}:{index:200,label:E.labelEvents}}}i(M,`calculateSwimlaneProps`);function N(e){let{themeVariables:t}=d();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}i(N,`calculateEntityVisualProps`);function P(t,r,i){let o=d(),s=_(k(t.entityIdentifier)??``,o),c,l={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},u=`<b>${e(s,i.textMaxWidth,l)}</b>`;if(t.dataInlineValue&&(c=t.dataInlineValue,c=c.substring(c.indexOf(`{`)+1),c=c.substring(0,c.lastIndexOf(`}`)-1),c=_(c,o),c=e(c,i.textMaxWidth,l),c=c.replaceAll(` `,`&nbsp;`)),t.dataReference){let n=r.find(e=>e.name===t.dataReference?.$refText);n&&(c=n.dataBlockValue,c=c.substring(c.indexOf(`{
2
2
  `)+2),c=c.substring(0,c.lastIndexOf(`}`)-1),c=_(c,o),c=e(c,i.textMaxWidth,l),c=c.replaceAll(` `,`&nbsp;`),c+=`<br/>`)}let f=c!==void 0;f&&(u+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${c}</code>`);let p={fontSize:l.fontSize,fontWeight:l.fontWeight,fontFamily:l.fontFamily},m=n(u,p),h=f?m.width/3:m.width,g={content:u,width:h,height:m.height};return a.debug(`[${t.name}] ${t.entityIdentifier} text`,g),g}i(P,`calculateTextProps`);function F(e,t){let n=t,r=N(n.frame),i={width:n.textProps.width+2*E.boxTextPadding,height:n.textProps.height+2*E.boxTextPadding};return[{$kind:y,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}i(F,`decidePositionFrame`);function I(e,t,n){return t===void 0?E.contentStartX:t.index===e.index&&e.r?e.r+E.boxPadding:n===void 0?E.contentStartX:n.r-E.boxOverlap+E.boxPadding}i(I,`calculateX`);function L(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}i(L,`calculateMaxRight`);function R(e){return Object.values(e).sort((e,t)=>e.index-t.index)}i(R,`sortedSwimlanesArray`);function z(e,t){let n=t,r=M(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*E.swimlaneMinHeight+E.swimlaneGap,height:E.swimlaneMinHeight,maxHeight:E.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(E.boxMinWidth,Math.min(E.boxMaxWidth,n.dimension.width))+2*E.boxPadding,height:Math.max(E.boxMinHeight,Math.min(E.boxMaxHeight,n.dimension.height))+2*E.boxPadding},c=I(i,o,a),l=c+s.width+E.boxPadding,u=L(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(E.swimlaneMinHeight,i.maxHeight)+2*E.swimlanePadding;let d={x:c,y:E.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=R(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+E.swimlaneGap}return f}i(z,`evolveFramePositioned`);function B(e,t){return e===0&&t.sourceFrames.length===0}i(B,`isFirstFrame`);function V(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}i(V,`hasSourceFrame`);function H(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}i(H,`findBoxByFrame`);function U(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}i(U,`findBoxByLineIndex`);function W(e,t){let n=t;if(ee(n.frame)||B(n.index,n.frame))return[];let r=H(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let i;return i=n.sourceFrame?H(e.boxes,n.sourceFrame):U(e.boxes,r.swimlane.index,n.index-1),i===void 0?[]:[{$kind:x,frame:n.frame,index:n.index,sourceBox:i,targetBox:r}]}i(W,`decidePositionRelation`);function G(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}i(G,`evolveRelationPositioned`);var le={[v]:F,[b]:W},ue={[y]:z,[x]:G};function K(e,t){let n=le[t.$kind];if(n==null)return[];let r=n(e,t);return a.debug(`decided events`,r),r}i(K,`decide`);function q(e,t){let n=t.reduce((e,t)=>{let n=ue[t.$kind];return n==null?e:n(e,t)},e);return a.debug(`evolve events`,{state:e,newState:n,events:t}),n}i(q,`evolve`);function J(e,t){return q(e,K(e,t))}i(J,`dispatch`);var Y={getConfig:se,setOptions:re,getOptions:ie,clear:ae,setAccTitle:c,getAccTitle:g,getAccDescription:p,setAccDescription:o,setDiagramTitle:s,getDiagramTitle:m,setAst:T,getDiagramProps:D,getState:w},de={parse:i(async e=>{let t=await te(`eventmodeling`,e);a.debug(t),Y.setAst(t),ne(t,Y)},`parse`)},fe=h()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.boxPadding).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`).append(`span`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).html(n.text)}}i(X,`renderD3Box`);function Z(e,t){return e>t}i(Z,`dirUpwards`);function Q(e,t,n,r){return i=>{let o=i.sourceBox.swimlane.y+t.swimlanePadding,s=i.targetBox.swimlane.y+t.swimlanePadding,c=Z(o,s),l=i.sourceBox.x+i.sourceBox.dimension.width*2/3,u=i.targetBox.x+i.targetBox.dimension.width/3,d,f;a.debug(`rendering relation up=${c} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),c?(d=o,f=s+i.targetBox.dimension.height):(d=o+i.sourceBox.dimension.height,f=s);let p=r.emRelationStroke??i.visual.stroke;e.append(`path`).attr(`class`,`em-relation`).attr(`fill`,i.visual.fill).attr(`stroke`,p).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${n})`).attr(`d`,`M${l} ${d} L${u} ${f}`)}}i(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}i($,`renderD3Swimlane`);var pe={parser:de,db:Y,renderer:{draw:i(function(e,t,n,i){if(a.debug(`in eventmodeling renderer`,e+`
3
3
  `,`id:`,t,n),!fe)throw Error(`EventModeling config not found`);let o=i.db,{themeVariables:s,eventmodeling:c}=h(),u=r(`[id="${t}"]`),d=o.getDiagramProps(),f=o.getState(),p=`em-arrowhead-${t}`,m=s.emArrowhead??`#000000`;f.sortedSwimlanesArray.forEach($(u,f.maxR,d,s)),f.boxes.forEach(X(u,d)),f.relations.forEach(Q(u,d,p,s)),u.append(`defs`).append(`marker`).attr(`id`,p).attr(`markerWidth`,`10`).attr(`markerHeight`,`7`).attr(`refX`,`10`).attr(`refY`,`3.5`).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0 0, 10 3.5, 0 7`).attr(`fill`,m),l(void 0,u,c?.padding??30,c?.useMaxWidth)},`draw`)},styles:i(e=>``,`getStyles`)};export{pe as diagram};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./ordinal-BdBDtYTt.js";import{t}from"./defaultLocale-CNPGWpMu.js";import{i as n}from"./chunk-75Z2AOVW-DA_lihEi.js";import{u as r}from"./src-BpnPuKEN.js";import{p as i,t as a}from"./treemap-BfjIY-m6.js";import{n as o}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as s}from"./src-Cyu5G-Tr.js";import{D as c,H as l,K as u,U as d,a as f,b as p,c as m,f as h,v as g,w as _,y as v}from"./chunk-DU6HZSFF-J-califE.js";import{i as y,n as b}from"./chunk-P2QGCYS3-DsJshZeL.js";import{p as x}from"./mermaid-BmcDudwo.js";import{n as S}from"./mermaid-parser.core-3RKOfUXB.js";import{t as C}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as w}from"./chunk-POPQ4Y6H-CCg5TpSp.js";var T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=d,this.getAccTitle=v,this.setDiagramTitle=u,this.getDiagramTitle=_,this.getAccDescription=g,this.setAccDescription=l}static{o(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=h,t=p();return n({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{b(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){f(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function E(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}o(E,`buildHierarchy`);var D=o((e,t)=>{C(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=O(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=E(n),i=o((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),O=o(e=>e.name?String(e.name):``,`getItemName`),k={parser:{yy:void 0},parse:o(async e=>{try{let t=await S(`treemap`,e);s.debug(`Treemap AST:`,t);let n=k.parser?.yy;if(!(n instanceof T))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);D(t,n)}catch(e){throw s.error(`Error parsing treemap:`,e),e}},`parse`)},A=10,j=10,M=25,N={draw:o((n,c,l,u)=>{let d=u.db,f=d.getConfig(),h=f.padding??A,g=d.getDiagramTitle(),_=d.getRoot(),{themeVariables:v}=p();if(!_)return;let b=g?30:0,S=x(c),C=f.nodeWidth?f.nodeWidth*j:960,T=f.nodeHeight?f.nodeHeight*j:500,E=C,D=T+b;S.attr(`viewBox`,`0 0 ${E} ${D}`),m(S,D,E,f.useMaxWidth);let O;try{let e=f.valueFormat||`,`;if(e===`$0,0`)O=o(e=>`$`+t(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;O=o(e=>`$`+t(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);O=o(e=>`$`+t(n||``)(e),`valueFormat`)}else O=t(e)}catch(e){s.error(`Error creating format function:`,e),O=t(`,`)}let k=e().range([`transparent`,v.cScale0,v.cScale1,v.cScale2,v.cScale3,v.cScale4,v.cScale5,v.cScale6,v.cScale7,v.cScale8,v.cScale9,v.cScale10,v.cScale11]),N=e().range([`transparent`,v.cScalePeer0,v.cScalePeer1,v.cScalePeer2,v.cScalePeer3,v.cScalePeer4,v.cScalePeer5,v.cScalePeer6,v.cScalePeer7,v.cScalePeer8,v.cScalePeer9,v.cScalePeer10,v.cScalePeer11]),P=e().range([v.cScaleLabel0,v.cScaleLabel1,v.cScaleLabel2,v.cScaleLabel3,v.cScaleLabel4,v.cScaleLabel5,v.cScaleLabel6,v.cScaleLabel7,v.cScaleLabel8,v.cScaleLabel9,v.cScaleLabel10,v.cScaleLabel11]);g&&S.append(`text`).attr(`x`,E/2).attr(`y`,b/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(g);let F=S.append(`g`).attr(`transform`,`translate(0, ${b})`).attr(`class`,`treemapContainer`),I=i(_).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),L=a().size([C,T]).paddingTop(e=>e.children&&e.children.length>0?M+j:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?j:0).paddingRight(e=>e.children&&e.children.length>0?j:0).paddingBottom(e=>e.children&&e.children.length>0?j:0).round(!0)(I),R=L.descendants().filter(e=>e.children&&e.children.length>0),z=F.selectAll(`.treemapSection`).data(R).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,M).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),z.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,M),z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>k(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>N(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=y({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),z.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,M/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${c}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=r(this),n=e.data.name;t.text(n);let i=e.x1-e.x0,a;a=f.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),f.showValues!==!1&&z.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,M/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?O(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let B=L.leaves(),V=B.length>20,H=V?16:38,U=V?14:28,W=V?4:8,G=V?4:6,K=V?2:4,q=V?8:10,J=V?1:2,Y=F.selectAll(`.treemapLeafGroup`).data(B).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);Y.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`style`,e=>y({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`stroke-width`,3),Y.append(`clipPath`).attr(`id`,(e,t)=>`clip-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),Y.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${H}px;fill:`+P(e.data.name)+`;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.data.name).each(function(e){let t=r(this),n=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=n-2*K,s=i-2*K;if(o<q||s<q){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>W;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(G,Math.min(U,Math.round(c*l))),d=c+J+u;for(;d>s&&c>W&&(c--,u=Math.max(G,Math.min(U,Math.round(c*l))),!(u<G&&c===W));)t.style(`font-size`,`${c}px`),d=c+J+u;t.style(`font-size`,`${c}px`),V?(c<W||s<W)&&t.style(`display`,`none`):(a.getComputedTextLength()>o||c<W||s<c)&&t.style(`display`,`none`)}),f.showValues!==!1&&Y.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${U}px;fill:`+P(e.data.name)+`;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.value?O(e.value):``).each(function(e){let t=r(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let i=r(n).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(G,Math.min(U,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+J;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-2*K;t.node().getComputedTextLength()>u||s+o>l||o<G?t.style(`display`,`none`):t.style(`display`,null)});let X=f.diagramPadding??8;w(S,X,`flowchart`,f?.useMaxWidth||!1)},`draw`),getClasses:o(function(e,t){return t.db.getClasses()},`getClasses`)},P={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},F={parser:k,get db(){return new T},renderer:N,styles:o(({treemap:e}={})=>{let t=c(),r=p(),i=n(t,r.themeVariables),a=n(P,e),o=a.titleColor??i.titleColor,s=a.labelColor??i.textColor,l=a.valueColor??i.textColor;return`
1
+ import{n as e}from"./ordinal-BdBDtYTt.js";import{t}from"./defaultLocale-CNPGWpMu.js";import{i as n}from"./chunk-75Z2AOVW-BzzYECN7.js";import{u as r}from"./src-BpnPuKEN.js";import{p as i,t as a}from"./treemap-BfjIY-m6.js";import{n as o}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as s}from"./src-Cyu5G-Tr.js";import{D as c,H as l,K as u,U as d,a as f,b as p,c as m,f as h,v as g,w as _,y as v}from"./chunk-DU6HZSFF-BlpgvKzl.js";import{i as y,n as b}from"./chunk-P2QGCYS3-_SeE0QXb.js";import{p as x}from"./mermaid-D_jPUVqz.js";import{n as S}from"./mermaid-parser.core-3RKOfUXB.js";import{t as C}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as w}from"./chunk-POPQ4Y6H-BB5NNJFE.js";var T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=d,this.getAccTitle=v,this.setDiagramTitle=u,this.getDiagramTitle=_,this.getAccDescription=g,this.setAccDescription=l}static{o(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=h,t=p();return n({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{b(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){f(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function E(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}o(E,`buildHierarchy`);var D=o((e,t)=>{C(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=O(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=E(n),i=o((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),O=o(e=>e.name?String(e.name):``,`getItemName`),k={parser:{yy:void 0},parse:o(async e=>{try{let t=await S(`treemap`,e);s.debug(`Treemap AST:`,t);let n=k.parser?.yy;if(!(n instanceof T))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);D(t,n)}catch(e){throw s.error(`Error parsing treemap:`,e),e}},`parse`)},A=10,j=10,M=25,N={draw:o((n,c,l,u)=>{let d=u.db,f=d.getConfig(),h=f.padding??A,g=d.getDiagramTitle(),_=d.getRoot(),{themeVariables:v}=p();if(!_)return;let b=g?30:0,S=x(c),C=f.nodeWidth?f.nodeWidth*j:960,T=f.nodeHeight?f.nodeHeight*j:500,E=C,D=T+b;S.attr(`viewBox`,`0 0 ${E} ${D}`),m(S,D,E,f.useMaxWidth);let O;try{let e=f.valueFormat||`,`;if(e===`$0,0`)O=o(e=>`$`+t(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;O=o(e=>`$`+t(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);O=o(e=>`$`+t(n||``)(e),`valueFormat`)}else O=t(e)}catch(e){s.error(`Error creating format function:`,e),O=t(`,`)}let k=e().range([`transparent`,v.cScale0,v.cScale1,v.cScale2,v.cScale3,v.cScale4,v.cScale5,v.cScale6,v.cScale7,v.cScale8,v.cScale9,v.cScale10,v.cScale11]),N=e().range([`transparent`,v.cScalePeer0,v.cScalePeer1,v.cScalePeer2,v.cScalePeer3,v.cScalePeer4,v.cScalePeer5,v.cScalePeer6,v.cScalePeer7,v.cScalePeer8,v.cScalePeer9,v.cScalePeer10,v.cScalePeer11]),P=e().range([v.cScaleLabel0,v.cScaleLabel1,v.cScaleLabel2,v.cScaleLabel3,v.cScaleLabel4,v.cScaleLabel5,v.cScaleLabel6,v.cScaleLabel7,v.cScaleLabel8,v.cScaleLabel9,v.cScaleLabel10,v.cScaleLabel11]);g&&S.append(`text`).attr(`x`,E/2).attr(`y`,b/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(g);let F=S.append(`g`).attr(`transform`,`translate(0, ${b})`).attr(`class`,`treemapContainer`),I=i(_).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),L=a().size([C,T]).paddingTop(e=>e.children&&e.children.length>0?M+j:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?j:0).paddingRight(e=>e.children&&e.children.length>0?j:0).paddingBottom(e=>e.children&&e.children.length>0?j:0).round(!0)(I),R=L.descendants().filter(e=>e.children&&e.children.length>0),z=F.selectAll(`.treemapSection`).data(R).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,M).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),z.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,M),z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>k(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>N(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=y({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),z.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,M/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${c}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=r(this),n=e.data.name;t.text(n);let i=e.x1-e.x0,a;a=f.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),f.showValues!==!1&&z.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,M/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?O(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let B=L.leaves(),V=B.length>20,H=V?16:38,U=V?14:28,W=V?4:8,G=V?4:6,K=V?2:4,q=V?8:10,J=V?1:2,Y=F.selectAll(`.treemapLeafGroup`).data(B).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);Y.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`style`,e=>y({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`stroke-width`,3),Y.append(`clipPath`).attr(`id`,(e,t)=>`clip-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),Y.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${H}px;fill:`+P(e.data.name)+`;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.data.name).each(function(e){let t=r(this),n=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=n-2*K,s=i-2*K;if(o<q||s<q){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>W;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(G,Math.min(U,Math.round(c*l))),d=c+J+u;for(;d>s&&c>W&&(c--,u=Math.max(G,Math.min(U,Math.round(c*l))),!(u<G&&c===W));)t.style(`font-size`,`${c}px`),d=c+J+u;t.style(`font-size`,`${c}px`),V?(c<W||s<W)&&t.style(`display`,`none`):(a.getComputedTextLength()>o||c<W||s<c)&&t.style(`display`,`none`)}),f.showValues!==!1&&Y.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${U}px;fill:`+P(e.data.name)+`;`+y({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.value?O(e.value):``).each(function(e){let t=r(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let i=r(n).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(G,Math.min(U,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+J;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-2*K;t.node().getComputedTextLength()>u||s+o>l||o<G?t.style(`display`,`none`):t.style(`display`,null)});let X=f.diagramPadding??8;w(S,X,`flowchart`,f?.useMaxWidth||!1)},`draw`),getClasses:o(function(e,t){return t.db.getClasses()},`getClasses`)},P={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},F={parser:k,get db(){return new T},renderer:N,styles:o(({treemap:e}={})=>{let t=c(),r=p(),i=n(t,r.themeVariables),a=n(P,e),o=a.titleColor??i.titleColor,s=a.labelColor??i.textColor,l=a.valueColor??i.textColor;return`
2
2
  .treemapNode.section {
3
3
  stroke: ${a.sectionStrokeColor};
4
4
  stroke-width: ${a.sectionStrokeWidth};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./chunk-75Z2AOVW-DA_lihEi.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-DU6HZSFF-J-califE.js";import{p}from"./mermaid-BmcDudwo.js";import{n as m}from"./mermaid-parser.core-3RKOfUXB.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";var g=l.packet,_=class{constructor(){this.packet=[],this.setAccTitle=a,this.getAccTitle=f,this.setDiagramTitle=i,this.getDiagramTitle=d,this.getAccDescription=u,this.setAccDescription=r}static{t(this,`PacketDB`)}getConfig(){let t=e({...g,...s().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){o(),this.packet=[]}},v=1e4,y=t((e,t)=>{h(e,t);let r=-1,i=[],a=1,{bitsPerRow:o}=t.getConfig();for(let{start:s,end:c,bits:l,label:u}of e.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,n.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&t.getPacket().length<v;){let[e,n]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(t.pushWord(i),i=[],a++),!n)break;({start:s,end:c,bits:l,label:u}=n)}}t.pushWord(i)},`populate`),b=t((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:t(async e=>{let t=await m(`packet`,e),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);n.debug(t),y(t,r)},`parse`)},S=t((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:s,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+s,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),c(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=t((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:t(({packet:t}={})=>{let n=e(T,t);return`
1
+ import{i as e}from"./chunk-75Z2AOVW-BzzYECN7.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-Cyu5G-Tr.js";import{H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-DU6HZSFF-BlpgvKzl.js";import{p}from"./mermaid-D_jPUVqz.js";import{n as m}from"./mermaid-parser.core-3RKOfUXB.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";var g=l.packet,_=class{constructor(){this.packet=[],this.setAccTitle=a,this.getAccTitle=f,this.setDiagramTitle=i,this.getDiagramTitle=d,this.getAccDescription=u,this.setAccDescription=r}static{t(this,`PacketDB`)}getConfig(){let t=e({...g,...s().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){o(),this.packet=[]}},v=1e4,y=t((e,t)=>{h(e,t);let r=-1,i=[],a=1,{bitsPerRow:o}=t.getConfig();for(let{start:s,end:c,bits:l,label:u}of e.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,n.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&t.getPacket().length<v;){let[e,n]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(t.pushWord(i),i=[],a++),!n)break;({start:s,end:c,bits:l,label:u}=n)}}t.pushWord(i)},`populate`),b=t((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:t(async e=>{let t=await m(`packet`,e),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);n.debug(t),y(t,r)},`parse`)},S=t((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:s,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+s,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),c(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=t((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:t(({packet:t}={})=>{let n=e(T,t);return`
2
2
  .packetByte {
3
3
  font-size: ${n.byteFontSize};
4
4
  }
@@ -1,4 +1,4 @@
1
- import{E as e,T as t,_ as n,g as r,h as i,n as a,t as o,u as s,w as c}from"./micromark-factory-space-D9Dr-k4J.js";import{t as l}from"./katex-ukvJUC1e.js";function u(e,t){return d(e,t||{})||{type:`root`,children:[]}}function d(e,t){let n=f(e,t);return n&&t.afterTransform&&t.afterTransform(e,n),n}function f(e,t){switch(e.nodeType){case 1:return _(e,t);case 3:return h(e);case 8:return g(e);case 9:return p(e,t);case 10:return m();case 11:return p(e,t);default:return}}function p(e,t){return{type:`root`,children:v(e,t)}}function m(){return{type:`doctype`}}function h(e){return{type:`text`,value:e.nodeValue||``}}function g(e){return{type:`comment`,value:e.nodeValue||``}}function _(e,t){let a=e.namespaceURI,o=a===i.svg?n:r,s=a===i.html?e.tagName.toLowerCase():e.tagName,c=a===i.html&&s===`template`?e.content:e,l=e.getAttributeNames(),u={},d=-1;for(;++d<l.length;)u[l[d]]=e.getAttribute(l[d])||``;return o(s,u,v(c,t))}function v(e,t){let n=e.childNodes,r=[],i=-1;for(;++i<n.length;){let e=d(n[i],t);e!==void 0&&r.push(e)}return r}var y=new DOMParser;function b(e,t){return u(t?.fragment?x(e):y.parseFromString(e,`text/html`))}function x(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}var S=(function(t,n,r){let i=e(r);if(!t||!t.type||!t.children)throw Error(`Expected parent node`);if(typeof n==`number`){if(n<0||n===1/0)throw Error(`Expected positive finite number as index`)}else if(n=t.children.indexOf(n),n<0)throw Error(`Expected child node or index`);for(;++n<t.children.length;)if(i(t.children[n],n,t))return t.children[n]}),C=(function(e){if(e==null)return D;if(typeof e==`string`)return T(e);if(typeof e==`object`)return w(e);if(typeof e==`function`)return E(e);throw Error("Expected function, string, or array as `test`")});function w(e){let t=[],n=-1;for(;++n<e.length;)t[n]=C(e[n]);return E(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}function T(e){return E(t);function t(t){return t.tagName===e}}function E(e){return t;function t(t,n,r){return!!(ee(t)&&e.call(this,t,typeof n==`number`?n:void 0,r||void 0))}}function D(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`element`&&`tagName`in e&&typeof e.tagName==`string`)}function ee(e){return typeof e==`object`&&!!e&&`type`in e&&`tagName`in e}var O=/\n/g,k=/[\t ]+/g,A=C(`br`),j=C(W),M=C(`p`),N=C(`tr`),P=C([`datalist`,`head`,`noembed`,`noframes`,`noscript`,`rp`,`script`,`style`,`template`,`title`,U,G]),F=C(`address.article.aside.blockquote.body.caption.center.dd.dialog.dir.dl.dt.div.figure.figcaption.footer.form,.h1.h2.h3.h4.h5.h6.header.hgroup.hr.html.legend.li.listing.main.menu.nav.ol.p.plaintext.pre.section.ul.xmp`.split(`.`));function I(e,t){let n=t||{},r=`children`in e?e.children:[],i=F(e),a=H(e,{whitespace:n.whitespace||`normal`,breakBefore:!1,breakAfter:!1}),o=[];(e.type===`text`||e.type===`comment`)&&o.push(...z(e,{whitespace:a,breakBefore:!0,breakAfter:!0}));let s=-1;for(;++s<r.length;)o.push(...L(r[s],e,{whitespace:a,breakBefore:s?void 0:i,breakAfter:s<r.length-1?A(r[s+1]):i}));let c=[],l;for(s=-1;++s<o.length;){let e=o[s];typeof e==`number`?l!==void 0&&e>l&&(l=e):e&&(l!==void 0&&l>-1&&c.push(`
1
+ import{E as e,T as t,_ as n,g as r,h as i,n as a,t as o,u as s,w as c}from"./micromark-factory-space-D9Dr-k4J.js";import{t as l}from"./katex-DkE0ukCy.js";function u(e,t){return d(e,t||{})||{type:`root`,children:[]}}function d(e,t){let n=f(e,t);return n&&t.afterTransform&&t.afterTransform(e,n),n}function f(e,t){switch(e.nodeType){case 1:return _(e,t);case 3:return h(e);case 8:return g(e);case 9:return p(e,t);case 10:return m();case 11:return p(e,t);default:return}}function p(e,t){return{type:`root`,children:v(e,t)}}function m(){return{type:`doctype`}}function h(e){return{type:`text`,value:e.nodeValue||``}}function g(e){return{type:`comment`,value:e.nodeValue||``}}function _(e,t){let a=e.namespaceURI,o=a===i.svg?n:r,s=a===i.html?e.tagName.toLowerCase():e.tagName,c=a===i.html&&s===`template`?e.content:e,l=e.getAttributeNames(),u={},d=-1;for(;++d<l.length;)u[l[d]]=e.getAttribute(l[d])||``;return o(s,u,v(c,t))}function v(e,t){let n=e.childNodes,r=[],i=-1;for(;++i<n.length;){let e=d(n[i],t);e!==void 0&&r.push(e)}return r}var y=new DOMParser;function b(e,t){return u(t?.fragment?x(e):y.parseFromString(e,`text/html`))}function x(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}var S=(function(t,n,r){let i=e(r);if(!t||!t.type||!t.children)throw Error(`Expected parent node`);if(typeof n==`number`){if(n<0||n===1/0)throw Error(`Expected positive finite number as index`)}else if(n=t.children.indexOf(n),n<0)throw Error(`Expected child node or index`);for(;++n<t.children.length;)if(i(t.children[n],n,t))return t.children[n]}),C=(function(e){if(e==null)return D;if(typeof e==`string`)return T(e);if(typeof e==`object`)return w(e);if(typeof e==`function`)return E(e);throw Error("Expected function, string, or array as `test`")});function w(e){let t=[],n=-1;for(;++n<e.length;)t[n]=C(e[n]);return E(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}function T(e){return E(t);function t(t){return t.tagName===e}}function E(e){return t;function t(t,n,r){return!!(ee(t)&&e.call(this,t,typeof n==`number`?n:void 0,r||void 0))}}function D(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`element`&&`tagName`in e&&typeof e.tagName==`string`)}function ee(e){return typeof e==`object`&&!!e&&`type`in e&&`tagName`in e}var O=/\n/g,k=/[\t ]+/g,A=C(`br`),j=C(W),M=C(`p`),N=C(`tr`),P=C([`datalist`,`head`,`noembed`,`noframes`,`noscript`,`rp`,`script`,`style`,`template`,`title`,U,G]),F=C(`address.article.aside.blockquote.body.caption.center.dd.dialog.dir.dl.dt.div.figure.figcaption.footer.form,.h1.h2.h3.h4.h5.h6.header.hgroup.hr.html.legend.li.listing.main.menu.nav.ol.p.plaintext.pre.section.ul.xmp`.split(`.`));function I(e,t){let n=t||{},r=`children`in e?e.children:[],i=F(e),a=H(e,{whitespace:n.whitespace||`normal`,breakBefore:!1,breakAfter:!1}),o=[];(e.type===`text`||e.type===`comment`)&&o.push(...z(e,{whitespace:a,breakBefore:!0,breakAfter:!0}));let s=-1;for(;++s<r.length;)o.push(...L(r[s],e,{whitespace:a,breakBefore:s?void 0:i,breakAfter:s<r.length-1?A(r[s+1]):i}));let c=[],l;for(s=-1;++s<o.length;){let e=o[s];typeof e==`number`?l!==void 0&&e>l&&(l=e):e&&(l!==void 0&&l>-1&&c.push(`
2
2
  `.repeat(l)||` `),l=-1,c.push(e))}return c.join(``)}function L(e,t,n){return e.type===`element`?R(e,t,n):e.type===`text`?n.whitespace===`normal`?z(e,n):B(e):[]}function R(e,t,n){let r=H(e,n),i=e.children||[],a=-1,o=[];if(P(e))return o;let s,c;for(A(e)||N(e)&&S(t,e,N)?c=`
3
3
  `:M(e)?(s=2,c=2):F(e)&&(s=1,c=1);++a<i.length;)o=o.concat(L(i[a],e,{whitespace:r,breakBefore:a?void 0:s,breakAfter:a<i.length-1?A(i[a+1]):c}));return j(e)&&S(t,e,j)&&o.push(` `),s&&o.unshift(s),c&&o.push(c),o}function z(e,t){let n=String(e.value),r=[],i=[],a=0;for(;a<=n.length;){O.lastIndex=a;let e=O.exec(n),i=e&&`index`in e?e.index:n.length;r.push(V(n.slice(a,i).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,``),a!==0||t.breakBefore,i!==n.length||t.breakAfter)),a=i+1}let o=-1,s;for(;++o<r.length;)r[o].charCodeAt(r[o].length-1)===8203||o<r.length-1&&r[o+1].charCodeAt(0)===8203?(i.push(r[o]),s=void 0):r[o]?(typeof s==`number`&&i.push(s),i.push(r[o]),s=0):(o===0||o===r.length-1)&&i.push(0);return i}function B(e){return[String(e.value)]}function V(e,t,n){let r=[],i=0,a;for(;i<e.length;){k.lastIndex=i;let n=k.exec(e);a=n?n.index:e.length,!i&&!a&&n&&!t&&r.push(``),i!==a&&r.push(e.slice(i,a)),i=n?a+n[0].length:a}return i!==a&&!n&&r.push(``),r.join(` `)}function H(e,t){if(e.type===`element`){let n=e.properties||{};switch(e.tagName){case`listing`:case`plaintext`:case`xmp`:return`pre`;case`nobr`:return`nowrap`;case`pre`:return n.wrap?`pre-wrap`:`pre`;case`td`:case`th`:return n.noWrap?`nowrap`:t.whitespace;case`textarea`:return`pre-wrap`}}return t.whitespace}function U(e){return!!(e.properties||{}).hidden}function W(e){return e.tagName===`td`||e.tagName===`th`}function G(e){return e.tagName===`dialog`&&!(e.properties||{}).open}var K={},q=[];function J(e){let n=e||K;return function(e,r){t(e,`element`,function(e,t){let i=Array.isArray(e.properties.className)?e.properties.className:q,a=i.includes(`language-math`),o=i.includes(`math-display`),s=i.includes(`math-inline`),u=o;if(!a&&!o&&!s)return;let d=t[t.length-1],f=e;if(e.tagName===`code`&&a&&d&&d.type===`element`&&d.tagName===`pre`&&(f=d,d=t[t.length-2],u=!0),!d)return;let p=I(f,{whitespace:`pre`}),m;try{m=l.renderToString(p,{...n,displayMode:u,throwOnError:!0})}catch(i){let a=i,o=a.name.toLowerCase();r.message(`Could not render math with KaTeX`,{ancestors:[...t,e],cause:a,place:e.position,ruleId:o,source:`rehype-katex`});try{m=l.renderToString(p,{...n,displayMode:u,strict:`ignore`,throwOnError:!1})}catch{m=[{type:`element`,tagName:`span`,properties:{className:[`katex-error`],style:`color:`+(n.errorColor||`#cc0000`),title:String(i)},children:[{type:`text`,value:p}]}]}}typeof m==`string`&&(m=b(m,{fragment:!0}).children);let h=d.children.indexOf(f);return d.children.splice(h,1,...m),c})}}function Y(){return{enter:{mathFlow:e,mathFlowFenceMeta:t,mathText:a},exit:{mathFlow:i,mathFlowFence:r,mathFlowFenceMeta:n,mathFlowValue:s,mathText:o,mathTextData:s}};function e(e){this.enter({type:`math`,meta:null,value:``,data:{hName:`pre`,hChildren:[{type:`element`,tagName:`code`,properties:{className:[`language-math`,`math-display`]},children:[]}]}},e)}function t(){this.buffer()}function n(){let e=this.resume(),t=this.stack[this.stack.length-1];t.type,t.meta=e}function r(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function i(e){let t=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),n=this.stack[this.stack.length-1];n.type,this.exit(e),n.value=t;let r=n.data.hChildren[0];r.type,r.tagName,r.children.push({type:`text`,value:t}),this.data.mathFlowInside=void 0}function a(e){this.enter({type:`inlineMath`,value:``,data:{hName:`code`,hProperties:{className:[`language-math`,`math-inline`]},hChildren:[]}},e),this.buffer()}function o(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,this.exit(e),n.value=t,n.data.hChildren.push({type:`text`,value:t})}function s(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}}function X(e){let t=(e||{}).singleDollarTextMath;return t??=!0,r.peek=i,{unsafe:[{character:`\r`,inConstruct:`mathFlowMeta`},{character:`
4
4
  `,inConstruct:`mathFlowMeta`},{character:`$`,after:t?void 0:`\\$`,inConstruct:`phrasing`},{character:`$`,inConstruct:`mathFlowMeta`},{atBreak:!0,character:`$`,after:`\\$`}],handlers:{math:n,inlineMath:r}};function n(e,t,n,r){let i=e.value||``,o=n.createTracker(r),s=`$`.repeat(Math.max(a(i,`$`)+1,2)),c=n.enter(`mathFlow`),l=o.move(s);if(e.meta){let t=n.enter(`mathFlowMeta`);l+=o.move(n.safe(e.meta,{after:`
@@ -1 +1 @@
1
- import"./rolldown-runtime-B0Z9INg1.js";import{l as e}from"./useEvent-Dc9HkKI2.js";import{t}from"./react-CUdNIagt.js";import{Ua as n,Vr as r}from"./cells-Cu3p4E4U.js";import{t as i}from"./compiler-runtime-BQ9S8nyo.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{Oi as o}from"./index-Bjli4tSW.js";import{t as s}from"./empty-state-CzxjZqGW.js";var c=i();t();var l=a(),u=()=>{let t=(0,c.c)(5),{documentation:i}=e(r);if(!i){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,l.jsx)(s,{title:`View docs as you type`,description:`Move your text cursor over a symbol to see its documentation.`,icon:(0,l.jsx)(n,{})}),t[0]=e):e=t[0],e}let a;t[1]===i?a=t[2]:(a=o({html:i}),t[1]=i,t[2]=a);let u;return t[3]===a?u=t[4]:(u=(0,l.jsx)(`div`,{className:`p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4`,children:a}),t[3]=a,t[4]=u),u};export{u as default};
1
+ import"./rolldown-runtime-B0Z9INg1.js";import{l as e}from"./useEvent-Dc9HkKI2.js";import{t}from"./react-CUdNIagt.js";import{Ua as n,Vr as r}from"./cells-CzugpTQu.js";import{t as i}from"./compiler-runtime-BQ9S8nyo.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{Ei as o}from"./index-DafnX1Xx.js";import{t as s}from"./empty-state-CzxjZqGW.js";var c=i();t();var l=a(),u=()=>{let t=(0,c.c)(5),{documentation:i}=e(r);if(!i){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,l.jsx)(s,{title:`View docs as you type`,description:`Move your text cursor over a symbol to see its documentation.`,icon:(0,l.jsx)(n,{})}),t[0]=e):e=t[0],e}let a;t[1]===i?a=t[2]:(a=o({html:i}),t[1]=i,t[2]=a);let u;return t[3]===a?u=t[4]:(u=(0,l.jsx)(`div`,{className:`p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4`,children:a}),t[3]=a,t[4]=u),u};export{u as default};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-J-califE.js";import"./mermaid-BmcDudwo.js";import{f as n,t as r}from"./mermaid-parser.core-3RKOfUXB.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-CTD0ZEkK.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadEbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformChoice`),u=e(e=>{let t=e.elements.map(p);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=e(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 l(e.element);case`EbnfOptional`:return{type:`optional`,element:l(e.element)};case`EbnfRepetition`:return{type:`repetition`,element:l(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},`transformPrimary`),f=e((e,t)=>{switch(t.$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:`-`},d(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},`transformPostfix`),p=e(e=>e.postfixes.reduce((e,t)=>f(e,t),d(e.base)),`transformTerm`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{o.clear(),t.debug(`[EBNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;t.debug(`[EBNF Parser] Parsed rules:`,i.rules.length),h(i),t.debug(`[EBNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-BlpgvKzl.js";import"./mermaid-D_jPUVqz.js";import{f as n,t as r}from"./mermaid-parser.core-3RKOfUXB.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-B0UfxhUP.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadEbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformChoice`),u=e(e=>{let t=e.elements.map(p);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=e(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 l(e.element);case`EbnfOptional`:return{type:`optional`,element:l(e.element)};case`EbnfRepetition`:return{type:`repetition`,element:l(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},`transformPrimary`),f=e((e,t)=>{switch(t.$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:`-`},d(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},`transformPostfix`),p=e(e=>e.postfixes.reduce((e,t)=>f(e,t),d(e.base)),`transformTerm`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{o.clear(),t.debug(`[EBNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;t.debug(`[EBNF Parser] Parsed rules:`,i.rules.length),h(i),t.debug(`[EBNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};