@marimo-team/frontend 0.16.2 → 0.16.3

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 (293) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-B5cPvWoQ.js → ConnectedDataExplorerComponent-Brtw1DxF.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CqR26LSv.js → ImageComparisonComponent-Dxl-PbZX.js} +1 -1
  3. package/dist/assets/{VegaLite-DvQDATwI.js → VegaLite-BXQF0Cx_.js} +1 -1
  4. package/dist/assets/_baseEach-BjSm9ht3.js +1 -0
  5. package/dist/assets/_baseMap-CV4Ezmtf.js +1 -0
  6. package/dist/assets/_baseUniq-Ci9yZGxz.js +1 -0
  7. package/dist/assets/{_createAggregator-ZcHkHPNJ.js → _createAggregator-VFK9K2d9.js} +1 -1
  8. package/dist/assets/{agent-panel-B91RoLct.js → agent-panel-BoscVLCT.js} +7 -7
  9. package/dist/assets/{any-language-editor-CxfHcm5h.js → any-language-editor-ChaY_VUU.js} +1 -1
  10. package/dist/assets/{architectureDiagram-W76B3OCA-BQsvK8uR.js → architectureDiagram-W76B3OCA-CueUUFYd.js} +1 -1
  11. package/dist/assets/{between-horizontal-start-BmYToIaM.js → between-horizontal-start-DAHqmLYT.js} +1 -1
  12. package/dist/assets/{blockDiagram-QIGZ2CNN-r3HgCj4w.js → blockDiagram-QIGZ2CNN-BYYygyWn.js} +1 -1
  13. package/dist/assets/{c4Diagram-FPNF74CW-BJbPNt41.js → c4Diagram-FPNF74CW-DAz3xEh1.js} +1 -1
  14. package/dist/assets/channel-6SqQ2U_X.js +1 -0
  15. package/dist/assets/chat-panel-DJkOLrw9.js +3 -0
  16. package/dist/assets/{chunk-4BX2VUAB-Dv4MZ9Hj.js → chunk-4BX2VUAB-8g-RyHdt.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-CM4AHquB.js → chunk-55IACEB6-iWZZ8Mt6.js} +1 -1
  18. package/dist/assets/{chunk-FMBD7UC4-C_Zz0ENB.js → chunk-FMBD7UC4-knjss4wk.js} +1 -1
  19. package/dist/assets/{chunk-K7UQS3LO-DYSmiXYq.js → chunk-K7UQS3LO-DVIwPBgZ.js} +1 -1
  20. package/dist/assets/{chunk-QN33PNHL-QM4OPuQP.js → chunk-QN33PNHL-CBU8pN6I.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-CfAsGyeB.js → chunk-QZHKN3VN-5ljElUF4.js} +1 -1
  22. package/dist/assets/{chunk-TVAH2DTR-6j_Cpjsi.js → chunk-TVAH2DTR-DkIdGINc.js} +1 -1
  23. package/dist/assets/{chunk-TZMSLE5B-BHslFJQE.js → chunk-TZMSLE5B-CIFOSTqh.js} +1 -1
  24. package/dist/assets/{circle-play-CK3UZRYQ.js → circle-play-BOdsbq5u.js} +1 -1
  25. package/dist/assets/classDiagram-KNZD7YFC-DVqXcTYf.js +1 -0
  26. package/dist/assets/classDiagram-v2-RKCZMP56-DVqXcTYf.js +1 -0
  27. package/dist/assets/{clear-button-C4fDVSv8.js → clear-button-GAjXl0CQ.js} +1 -1
  28. package/dist/assets/clone-DSDb0xen.js +1 -0
  29. package/dist/assets/command-palette-BUXkqoLh.js +1 -0
  30. package/dist/assets/{common-D-lbuUwz.js → common-DahoYqdi.js} +1 -1
  31. package/dist/assets/{compile-DVQe1Mzk.js → compile-Bg8uJ7vm.js} +1 -1
  32. package/dist/assets/{cose-bilkent-S5V4N54A-D-IS7WC8.js → cose-bilkent-S5V4N54A-z_0gqD9K.js} +1 -1
  33. package/dist/assets/{dagre-5GWH7T2D-lYu-tEWT.js → dagre-5GWH7T2D-BMt7CNXL.js} +1 -1
  34. package/dist/assets/{data-grid-overlay-editor-C5peOCit.js → data-grid-overlay-editor-Ctn4XtXx.js} +1 -1
  35. package/dist/assets/{datasources-panel-D3NA20uZ.js → datasources-panel-C7sqRIHs.js} +1 -1
  36. package/dist/assets/{dependency-graph-panel-BGVYOfkV.js → dependency-graph-panel-DNajptzv.js} +4 -4
  37. package/dist/assets/{diagram-N5W7TBWH-BnvIuYUp.js → diagram-N5W7TBWH-BzwvLvAy.js} +1 -1
  38. package/dist/assets/{diagram-QEK2KX5R-DemedRK3.js → diagram-QEK2KX5R-DRLJ56FS.js} +1 -1
  39. package/dist/assets/{diagram-S2PKOQOG-iiY7AuyH.js → diagram-S2PKOQOG-Bf8x4KTU.js} +1 -1
  40. package/dist/assets/{documentation-panel-C3dSwOSQ.js → documentation-panel-Dm6Ozl67.js} +1 -1
  41. package/dist/assets/edit-page-CGc9EjuG.js +140 -0
  42. package/dist/assets/{ellipsis-vertical-CazJl8M7.js → ellipsis-vertical-Bj1YXvZe.js} +1 -1
  43. package/dist/assets/{empty-state-DW308mFO.js → empty-state-CYev-D31.js} +1 -1
  44. package/dist/assets/{erDiagram-AWTI2OKA-6wQ8Ugg0.js → erDiagram-AWTI2OKA-DmgzgN_I.js} +1 -1
  45. package/dist/assets/{error-panel-D1VnJ1yP.js → error-panel-BYG4twCa.js} +1 -1
  46. package/dist/assets/{file-explorer-panel-0oVd4t-D.js → file-explorer-panel-BSMiOApi.js} +1 -1
  47. package/dist/assets/{flowDiagram-PVAE7QVJ-C55IUWjm.js → flowDiagram-PVAE7QVJ-BdRKkajr.js} +1 -1
  48. package/dist/assets/{ganttDiagram-OWAHRB6G-DmqCM6ME.js → ganttDiagram-OWAHRB6G-lfRAMnq_.js} +5 -5
  49. package/dist/assets/{gitGraphDiagram-NY62KEGX-DBvhAeM_.js → gitGraphDiagram-NY62KEGX-CQVTIrHF.js} +1 -1
  50. package/dist/assets/{glide-data-editor-CHNuHidQ.js → glide-data-editor-D5A4pou7.js} +11 -11
  51. package/dist/assets/{graph-CG6BgUWQ.js → graph-CBNo279v.js} +1 -1
  52. package/dist/assets/{home-page-dgivXuSR.js → home-page-CmdznBJR.js} +3 -3
  53. package/dist/assets/{index-BTGpssVX.js → index-0dfGh-Gj.js} +1 -1
  54. package/dist/assets/{index-C7dtgr9A.js → index-BDYVSSzB.js} +1 -1
  55. package/dist/assets/{index-C02SqeRj.js → index-B_KyDZ94.js} +1 -1
  56. package/dist/assets/{index-mkubqy9-.js → index-Bfy-I_lW.js} +1 -1
  57. package/dist/assets/{index-BelfnXwL.js → index-Bh98Tp-z.js} +1 -1
  58. package/dist/assets/{index-CAQvMTzM.js → index-BhroIwBL.js} +1 -1
  59. package/dist/assets/{index-BneyUujp.js → index-BtQtesaI.js} +1 -1
  60. package/dist/assets/index-C0iXCvyY.css +1 -0
  61. package/dist/assets/index-C1SHFMCp.js +581 -0
  62. package/dist/assets/{index-Csd6QrCV.js → index-C6DWtSls.js} +1 -1
  63. package/dist/assets/{index-BYVZlBF8.js → index-C71cdkH-.js} +1 -1
  64. package/dist/assets/{index-z4krxQ4j.js → index-CT_FTqvK.js} +1 -1
  65. package/dist/assets/{index-Db36XTG_.js → index-CU5rRr66.js} +1 -1
  66. package/dist/assets/{index-CtPksxf0.js → index-Cb6duXQm.js} +1 -1
  67. package/dist/assets/{index-DAZ-9ri2.js → index-D23e9zQj.js} +1 -1
  68. package/dist/assets/index-DUGecC2Z.js +68 -0
  69. package/dist/assets/{index-M_pBKDSe.js → index-DcGIOAQi.js} +1 -1
  70. package/dist/assets/{index-DONRrmA2.js → index-PJfa9qXY.js} +1 -1
  71. package/dist/assets/{index-sbO9UaUU.js → index-SPslPC2B.js} +1 -1
  72. package/dist/assets/{index-DdIhdEVw.js → index-VPQlo4Uz.js} +1 -1
  73. package/dist/assets/{index-_luCZMLM.js → index-qbTLKWyG.js} +1 -1
  74. package/dist/assets/infoDiagram-STP46IZ2-DBu8p9gd.js +2 -0
  75. package/dist/assets/{isEmpty-CqX_YTIf.js → isEmpty-CnOLuQIv.js} +1 -1
  76. package/dist/assets/{journeyDiagram-BIP6EPQ6-Y5w_Tqe_.js → journeyDiagram-BIP6EPQ6-6U_vHJBH.js} +1 -1
  77. package/dist/assets/{kanban-definition-6OIFK2YF-DbXs5Rxi.js → kanban-definition-6OIFK2YF-DgnR14ys.js} +1 -1
  78. package/dist/assets/{layout-BCNPDACj.js → layout-RHmq4fP9.js} +1 -1
  79. package/dist/assets/{linear-uO6UVhXt.js → linear-CLdOVPGV.js} +1 -1
  80. package/dist/assets/links-Dd1icsEk.js +7 -0
  81. package/dist/assets/{logs-panel-BEQ1eRUp.js → logs-panel-CjbuhBLx.js} +1 -1
  82. package/dist/assets/{markdown-renderer-Dmzbb00W.js → markdown-renderer-X5YJvAZq.js} +3 -3
  83. package/dist/assets/{mermaid-qRc4MXIj.js → mermaid-Bl2T5oEC.js} +1 -1
  84. package/dist/assets/{mermaid.core-CvvJtCRj.js → mermaid.core-CfukBvGI.js} +4 -4
  85. package/dist/assets/min-BXIes1Za.js +1 -0
  86. package/dist/assets/{mindmap-definition-Q6HEUPPD-G5NognM-.js → mindmap-definition-Q6HEUPPD-BXCjP4Lu.js} +1 -1
  87. package/dist/assets/{number-overlay-editor-DPr5sHFu.js → number-overlay-editor-BUyqkSes.js} +1 -1
  88. package/dist/assets/{outline-panel-gxQXvVi4.js → outline-panel-BvGcPKdd.js} +1 -1
  89. package/dist/assets/{packages-panel-B1T0VPlg.js → packages-panel-BichDQWG.js} +1 -1
  90. package/dist/assets/{pieDiagram-ADFJNKIX-DK9SHkfc.js → pieDiagram-ADFJNKIX-CMzJFIJM.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-LMRXKWRM-D1DdWF8C.js → quadrantDiagram-LMRXKWRM-CfGssUlO.js} +1 -1
  92. package/dist/assets/{react-plotly-CTwajqCb.js → react-plotly-DR3hV0HW.js} +1 -1
  93. package/dist/assets/{requirementDiagram-4UW4RH46-DnjDAypr.js → requirementDiagram-4UW4RH46-CfrFolth.js} +1 -1
  94. package/dist/assets/{run-page-CQY9im22.js → run-page-Bqd_4ePD.js} +1 -1
  95. package/dist/assets/{sankeyDiagram-GR3RE2ED-B67Va-ER.js → sankeyDiagram-GR3RE2ED-D_UttKU0.js} +1 -1
  96. package/dist/assets/scratchpad-panel-D5N15ji1.js +1 -0
  97. package/dist/assets/secrets-panel-BpbnAO4R.js +1 -0
  98. package/dist/assets/{sequenceDiagram-C3RYC4MD-DiWgZPtN.js → sequenceDiagram-C3RYC4MD-MdfQQApP.js} +1 -1
  99. package/dist/assets/{slides-component-DhpPRtQp.js → slides-component-C0z7rXmk.js} +1 -1
  100. package/dist/assets/{snippets-panel-CLkBXhJ2.js → snippets-panel-wlpZ_Wzx.js} +1 -1
  101. package/dist/assets/{sortBy-D4OG7w4O.js → sortBy-BW_zNHP6.js} +1 -1
  102. package/dist/assets/{state-Dz_3JyED.js → state-CDooX-dk.js} +1 -1
  103. package/dist/assets/{stateDiagram-KXAO66HF-ByF2AULw.js → stateDiagram-KXAO66HF-H7kfw3ot.js} +1 -1
  104. package/dist/assets/stateDiagram-v2-UMBNRL4Z-YMeb9qMR.js +1 -0
  105. package/dist/assets/{storage-Dr0CC44z.js → storage-b1QCapTq.js} +6 -6
  106. package/dist/assets/{terminal-BtdissBf.js → terminal-CPV44BXz.js} +1 -1
  107. package/dist/assets/{time-DKdOTnQg.js → time-DDy3xv5Y.js} +1 -1
  108. package/dist/assets/{timeline-definition-XQNQX7LJ-DzER9bf6.js → timeline-definition-XQNQX7LJ-J-cPRT2_.js} +1 -1
  109. package/dist/assets/{tracing-Dpx5M-u3.js → tracing-3eHHRUiJ.js} +2 -2
  110. package/dist/assets/{tracing-panel-hCjBkSER.js → tracing-panel-BMgy3D7d.js} +2 -2
  111. package/dist/assets/{trash-C6Ko-g5q.js → trash--tonOuDe.js} +1 -1
  112. package/dist/assets/{tree-BHN2gcCF.js → tree-ouIGEsVg.js} +6 -6
  113. package/dist/assets/{treemap-75Q7IDZK-DR79Mhzt.js → treemap-75Q7IDZK-CzJTJ_3R.js} +20 -20
  114. package/dist/assets/{variable-panel-PFBCFz36.js → variable-panel-sFTn4Oih.js} +1 -1
  115. package/dist/assets/{vega-component-Db6-uY4C.js → vega-component-BkPkzX9r.js} +1 -1
  116. package/dist/assets/{xychartDiagram-6GGTOJPD-DWzBP3tZ.js → xychartDiagram-6GGTOJPD-BZ8WOb_8.js} +1 -1
  117. package/dist/index.html +10 -3
  118. package/package.json +6 -6
  119. package/src/__mocks__/common.ts +5 -3
  120. package/src/__mocks__/notebook.ts +2 -2
  121. package/src/__tests__/main.test.tsx +2 -2
  122. package/src/components/ai/ai-provider-icon.tsx +2 -0
  123. package/src/components/app-config/ai-config.tsx +32 -1
  124. package/src/components/app-config/common.tsx +2 -2
  125. package/src/components/app-config/user-config-form.tsx +26 -0
  126. package/src/components/audio/audio-recorder.tsx +0 -1
  127. package/src/components/chat/acp/blocks.tsx +2 -2
  128. package/src/components/chat/acp/thread.tsx +3 -5
  129. package/src/components/chat/acp/utils.ts +5 -5
  130. package/src/components/chat/chat-panel.tsx +1 -1
  131. package/src/components/data-table/__tests__/data-table.test.tsx +2 -2
  132. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +1 -1
  133. package/src/components/data-table/charts/chart-spec/tooltips.ts +3 -3
  134. package/src/components/data-table/charts/components/chart-items.tsx +1 -1
  135. package/src/components/data-table/charts/components/form-fields.tsx +2 -2
  136. package/src/components/data-table/charts/constants.ts +1 -1
  137. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  138. package/src/components/data-table/column-summary/chart-spec-model.tsx +2 -2
  139. package/src/components/data-table/columns.tsx +1 -1
  140. package/src/components/data-table/data-table.tsx +35 -3
  141. package/src/components/data-table/date-popover.tsx +1 -1
  142. package/src/components/data-table/download-actions.tsx +1 -1
  143. package/src/components/data-table/range-focus/__tests__/utils.test.ts +5 -5
  144. package/src/components/data-table/renderers.tsx +6 -5
  145. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +1 -1
  146. package/src/components/data-table/types.ts +4 -3
  147. package/src/components/datasources/column-preview.tsx +9 -6
  148. package/src/components/debugger/debugger-code.tsx +1 -1
  149. package/src/components/dependency-graph/custom-node.tsx +15 -6
  150. package/src/components/dependency-graph/dependency-graph-minimap.tsx +2 -2
  151. package/src/components/dependency-graph/dependency-graph-tree.tsx +2 -2
  152. package/src/components/dependency-graph/dependency-graph.tsx +1 -1
  153. package/src/components/dependency-graph/elements.ts +7 -7
  154. package/src/components/dependency-graph/utils/changes.ts +4 -4
  155. package/src/components/editor/Cell.tsx +6 -2
  156. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  157. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +1 -1
  158. package/src/components/editor/chrome/panels/packages-panel.tsx +1 -1
  159. package/src/components/editor/columns/storage.ts +1 -1
  160. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +36 -0
  161. package/src/components/editor/database/__tests__/as-code.test.ts +30 -7
  162. package/src/components/editor/database/add-database-form.tsx +11 -0
  163. package/src/components/editor/database/as-code.ts +104 -5
  164. package/src/components/editor/database/schemas.ts +36 -18
  165. package/src/components/editor/errors/auto-fix.tsx +12 -2
  166. package/src/components/editor/errors/sql-validation-errors.tsx +12 -6
  167. package/src/components/editor/navigation/clipboard.ts +2 -2
  168. package/src/components/editor/output/ConsoleOutput.tsx +1 -1
  169. package/src/components/editor/output/JsonOutput.tsx +1 -1
  170. package/src/components/editor/output/MarimoErrorOutput.tsx +25 -25
  171. package/src/components/editor/output/MarimoTracebackOutput.tsx +17 -2
  172. package/src/components/editor/renderers/grid-layout/types.ts +2 -2
  173. package/src/components/editor/renderers/plugins.ts +1 -1
  174. package/src/components/editor/renderers/types.ts +1 -1
  175. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +7 -7
  176. package/src/components/forms/form.tsx +5 -5
  177. package/src/components/ui/links.tsx +1 -0
  178. package/src/core/ai/__tests__/model-registry.test.ts +0 -10
  179. package/src/core/ai/context/providers/error.ts +2 -2
  180. package/src/core/ai/ids/ids.ts +1 -0
  181. package/src/core/ai/model-registry.ts +2 -1
  182. package/src/core/cells/cells.ts +5 -5
  183. package/src/core/cells/logs.ts +1 -1
  184. package/src/core/cells/types.ts +1 -1
  185. package/src/core/codemirror/__tests__/format.test.ts +6 -0
  186. package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
  187. package/src/core/codemirror/editing/commands.ts +2 -2
  188. package/src/core/codemirror/find-replace/navigate.ts +1 -1
  189. package/src/core/codemirror/language/__tests__/extension.test.ts +1 -1
  190. package/src/core/codemirror/language/__tests__/sql-validation.test.ts +1 -1
  191. package/src/core/codemirror/language/__tests__/sql.test.ts +764 -79
  192. package/src/core/codemirror/language/languages/markdown.ts +4 -1
  193. package/src/core/codemirror/language/languages/sql/{validation-errors.ts → banner-validation-errors.ts} +9 -3
  194. package/src/core/codemirror/language/languages/sql/completion-builder.ts +160 -0
  195. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +9 -3
  196. package/src/core/codemirror/language/languages/sql/completion-store.ts +46 -50
  197. package/src/core/codemirror/language/languages/sql/renderers.tsx +485 -0
  198. package/src/core/codemirror/language/languages/sql/sql.ts +151 -24
  199. package/src/core/codemirror/language/languages/sql/utils.ts +4 -1
  200. package/src/core/codemirror/language/panel/sql.tsx +6 -1
  201. package/src/core/codemirror/language/utils/ast.ts +3 -3
  202. package/src/core/codemirror/lsp/federated-lsp.ts +4 -4
  203. package/src/core/codemirror/lsp/lens.ts +4 -4
  204. package/src/core/codemirror/lsp/notebook-lsp.ts +1 -1
  205. package/src/core/codemirror/lsp/types.ts +1 -1
  206. package/src/core/codemirror/markdown/completions.ts +1 -1
  207. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  208. package/src/core/codemirror/rtc/loro/awareness.ts +1 -1
  209. package/src/core/config/config-schema.ts +1 -0
  210. package/src/core/config/feature-flag.tsx +3 -1
  211. package/src/core/datasets/request-registry.ts +17 -10
  212. package/src/core/dom/events.ts +1 -1
  213. package/src/core/dom/outline.ts +2 -2
  214. package/src/core/dom/uiregistry.ts +2 -8
  215. package/src/core/errors/__tests__/errors.test.ts +22 -4
  216. package/src/core/errors/errors.ts +29 -1
  217. package/src/core/errors/state.ts +1 -1
  218. package/src/core/islands/main.ts +2 -2
  219. package/src/core/islands/parse.ts +1 -3
  220. package/src/core/kernel/messages.ts +1 -1
  221. package/src/core/network/CachingRequestRegistry.ts +74 -0
  222. package/src/core/network/DeferredRequestRegistry.ts +3 -1
  223. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +73 -0
  224. package/src/core/network/types.ts +1 -1
  225. package/src/core/variables/state.ts +2 -2
  226. package/src/core/wasm/__tests__/state.test.ts +1 -1
  227. package/src/core/websocket/useMarimoWebSocket.tsx +5 -2
  228. package/src/custom.d.ts +1 -1
  229. package/src/hooks/useCellRenderCount.ts +1 -0
  230. package/src/hooks/useResizeHandle.ts +4 -1
  231. package/src/plugins/core/RenderHTML.tsx +1 -2
  232. package/src/plugins/impl/DataTablePlugin.tsx +7 -2
  233. package/src/plugins/impl/FileUploadPlugin.tsx +1 -1
  234. package/src/plugins/impl/RefreshPlugin.tsx +1 -1
  235. package/src/plugins/impl/SliderPlugin.tsx +4 -0
  236. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +27 -9
  237. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +58 -2
  238. package/src/plugins/impl/anywidget/__tests__/model.test.ts +3 -4
  239. package/src/plugins/impl/anywidget/model.ts +2 -3
  240. package/src/plugins/impl/data-editor/types.ts +1 -1
  241. package/src/plugins/impl/data-explorer/components/query-form.tsx +1 -1
  242. package/src/plugins/impl/data-frames/types.ts +1 -1
  243. package/src/plugins/impl/panel/PanelPlugin.tsx +2 -2
  244. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  245. package/src/plugins/impl/vega/__tests__/loader.test.ts +2 -2
  246. package/src/plugins/impl/vega/loader.ts +1 -1
  247. package/src/plugins/impl/vega/vega-component.tsx +1 -1
  248. package/src/plugins/impl/vega/vega-loader.ts +2 -2
  249. package/src/plugins/layout/NavigationMenuPlugin.tsx +1 -1
  250. package/src/plugins/layout/RoutesPlugin.tsx +1 -2
  251. package/src/plugins/plugins.ts +2 -2
  252. package/src/utils/Logger.ts +1 -1
  253. package/src/utils/__tests__/data-views.test.ts +30 -68
  254. package/src/utils/__tests__/dom.test.ts +10 -10
  255. package/src/utils/__tests__/id-tree.test.ts +49 -1
  256. package/src/utils/__tests__/storage.test.ts +1 -1
  257. package/src/utils/__tests__/traceback.test.ts +13 -2
  258. package/src/utils/arrays.ts +1 -1
  259. package/src/utils/createReducer.ts +1 -5
  260. package/src/utils/data-views.ts +6 -19
  261. package/src/utils/edit-distance.ts +1 -1
  262. package/src/utils/fileToBase64.ts +1 -1
  263. package/src/utils/id-tree.tsx +20 -18
  264. package/src/utils/json/base64.ts +13 -0
  265. package/src/utils/json/json-parser.ts +2 -2
  266. package/src/utils/lru.ts +4 -0
  267. package/src/utils/mergeRefs.ts +1 -1
  268. package/src/utils/objects.ts +3 -3
  269. package/src/utils/pluralize.ts +1 -1
  270. package/src/utils/routes.ts +2 -2
  271. package/src/utils/sets.ts +1 -1
  272. package/src/utils/traceback.ts +45 -15
  273. package/src/utils/tracer.ts +11 -9
  274. package/dist/assets/_baseEach--KDTwKbG.js +0 -1
  275. package/dist/assets/_baseMap-Cu3o-eyO.js +0 -1
  276. package/dist/assets/_baseUniq-y7ZXnMo1.js +0 -1
  277. package/dist/assets/channel-DFaEx1fu.js +0 -1
  278. package/dist/assets/chat-panel-IoPMv8e2.js +0 -3
  279. package/dist/assets/classDiagram-KNZD7YFC-BsZtvV5O.js +0 -1
  280. package/dist/assets/classDiagram-v2-RKCZMP56-BsZtvV5O.js +0 -1
  281. package/dist/assets/clone-YBEvPE-s.js +0 -1
  282. package/dist/assets/command-palette-D7hOfvf6.js +0 -1
  283. package/dist/assets/edit-page-C5TsEeSo.js +0 -129
  284. package/dist/assets/index-CGDMlQfO.css +0 -1
  285. package/dist/assets/index-CelXfcd8.js +0 -580
  286. package/dist/assets/index-Cxyk7pt-.js +0 -68
  287. package/dist/assets/infoDiagram-STP46IZ2-wTALjfPc.js +0 -2
  288. package/dist/assets/links-Drv7cJgN.js +0 -7
  289. package/dist/assets/min-DYUOb1RR.js +0 -1
  290. package/dist/assets/scratchpad-panel-DlDfcDtW.js +0 -1
  291. package/dist/assets/secrets-panel-BDGyuGZA.js +0 -1
  292. package/dist/assets/stateDiagram-v2-UMBNRL4Z-CtBJqosP.js +0 -1
  293. package/src/__tests__/lru.test.ts +0 -74
@@ -1 +1 @@
1
- import{a as S,X as M,j as r,bR as G,r as $,u as F,a0 as J,b1 as V,b0 as A,b2 as R,aV as U,bS as X,bT as K,bU as W,p as H,a_ as N,bV as L,a$ as Q,ax as Y,d as Z,b as ee,T as te,S as re,bz as ie,E as oe,a1 as se,bm as ae,a2 as le,bW as ne,bp as me,bn as pe,P as ce,aB as de,bD as he,bo as xe,__tla as ue}from"./index-CelXfcd8.js";import{P as fe}from"./empty-state-DW308mFO.js";import{H as O,__tla as be}from"./edit-page-C5TsEeSo.js";import{B}from"./between-horizontal-start-BmYToIaM.js";import"./links-Drv7cJgN.js";import{__tla as je}from"./storage-Dr0CC44z.js";import"./index-BYVZlBF8.js";import"./index-_luCZMLM.js";import"./index-mkubqy9-.js";import"./index-BelfnXwL.js";import"./index-BneyUujp.js";import"./index-Csd6QrCV.js";import"./index-C02SqeRj.js";import"./index-M_pBKDSe.js";import"./index-C7dtgr9A.js";import"./index-CtPksxf0.js";import"./index-DONRrmA2.js";import"./index-z4krxQ4j.js";import"./index-CAQvMTzM.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-sbO9UaUU.js";import"./trash-C6Ko-g5q.js";import"./_createAggregator-ZcHkHPNJ.js";import"./_baseEach--KDTwKbG.js";import{__tla as _e}from"./loro_wasm_bg-C1ks32Vm.js";let E,ye=Promise.all([(()=>{try{return ue}catch{}})(),(()=>{try{return be}catch{}})(),(()=>{try{return je}catch{}})(),(()=>{try{return _e}catch{}})()]).then(async()=>{let z,I,T,D,P,q;z=t=>{const e=S.c(6),{children:i}=t,{openModal:a,closeModal:l}=M();let s,o;return e[0]!==l||e[1]!==a?(s=()=>a(r.jsx(T,{onClose:l})),e[0]=l,e[1]=a,e[2]=s):s=e[2],e[3]!==i||e[4]!==s?(o=r.jsx(G,{onClick:s,children:i}),e[3]=i,e[4]=s,e[5]=o):o=e[5],o},I=[H.lineWrapping],T=t=>{const e=S.c(23),{onClose:i}=t,[a,l]=$.useState(""),{theme:s}=F();let o,p,v,j,f,c;e[0]!==i?(o=async m=>{m.preventDefault();const y=new FormData(m.target),C=y.get("title"),g=y.get("description"),w=y.get("code");fetch("https://marimo.io/api/suggest-snippet",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:C,description:g,code:w})}),i(),J({title:"Snippet Submitted",description:"Thank you for contributing! We will review your snippet shortly."})},e[0]=i,e[1]=o):o=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx(V,{children:"Contribute a Snippet"}),e[2]=p):p=e[2],e[3]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsxs(A,{children:[p,r.jsxs(R,{children:["Have a useful snippet you want to share with the community? Submit it here or make a pull request"," ",r.jsx("a",{href:U.githubPage,target:"_blank",className:"underline",children:"on GitHub"}),"."]})]}),e[3]=v):v=e[3],e[4]===Symbol.for("react.memo_cache_sentinel")?(j=r.jsx(X,{id:"title",name:"title",autoFocus:!0,placeholder:"Title",required:!0,autoComplete:"off"}),f=r.jsx(K,{id:"description",name:"description",autoFocus:!0,placeholder:"Description",rows:5,required:!0,autoComplete:"off"}),e[4]=j,e[5]=f):(j=e[4],f=e[5]),e[6]!==a?(c=r.jsx("input",{type:"hidden",name:"code",value:a}),e[6]=a,e[7]=c):c=e[7];const _=s==="dark"?"dark":"light";let d,h,x,u,n,b;return e[8]!==a||e[9]!==_?(d=r.jsx(W,{theme:_,language:"python",className:"cm border rounded overflow-hidden",extensions:I,value:a,onChange:l}),e[8]=a,e[9]=_,e[10]=d):d=e[10],e[11]!==c||e[12]!==d?(h=r.jsxs("div",{className:"flex flex-col gap-6 py-4",children:[j,f,c,d]}),e[11]=c,e[12]=d,e[13]=h):h=e[13],e[14]!==i?(x=r.jsx(N,{"data-testid":"snippet-cancel-button",variant:"secondary",onClick:i,children:"Cancel"}),e[14]=i,e[15]=x):x=e[15],e[16]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(N,{"data-testid":"snippet-send-button","aria-label":"Save",variant:"default",type:"submit",children:"Send"}),e[16]=u):u=e[16],e[17]!==x?(n=r.jsxs(L,{children:[x,u]}),e[17]=x,e[18]=n):n=e[18],e[19]!==o||e[20]!==n||e[21]!==h?(b=r.jsx(Q,{className:"w-fit",children:r.jsxs("form",{onSubmit:o,children:[v,h,n]})}),e[19]=o,e[20]=n,e[21]=h,e[22]=b):b=e[22],b},D=[H.lineWrapping],E=()=>{const t=S.c(22),{readSnippets:e}=Y(),[i,a]=Z.useState();let l,s;t[0]!==e?(l=()=>e(),t[0]=e,t[1]=l):l=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(s=[],t[2]=s):s=t[2];const{data:o,error:p,isPending:v}=ee(l,s);if(p){let m;return t[3]!==p?(m=r.jsx(oe,{error:p}),t[3]=p,t[4]=m):m=t[4],m}if(v||!o){let m;return t[5]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(se,{size:"medium",centered:!0}),t[5]=m):m=t[5],m}const j=i?"h-1/3":"h-full";let f,c,_,d,h,x,u,n,b;return t[6]!==j?(f=te("border-b rounded-none",j),t[6]=j,t[7]=f):f=t[7],t[8]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(ae,{placeholder:"Search snippets...",className:"h-6 m-1",rootClassName:"flex-1 border-r"}),t[8]=c):c=t[8],t[9]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsxs("div",{className:"flex items-center w-full",children:[c,r.jsx(z,{children:r.jsx("button",{className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:r.jsx(le,{className:"h-4 w-4"})})})]}),d=r.jsx(ne,{children:"No results"}),t[9]=_,t[10]=d):(_=t[9],d=t[10]),t[11]===Symbol.for("react.memo_cache_sentinel")?(h=m=>a(m),t[11]=h):h=t[11],t[12]!==o.snippets?(x=r.jsx(q,{onSelect:h,snippets:o.snippets}),t[12]=o.snippets,t[13]=x):x=t[13],t[14]!==f||t[15]!==x?(u=r.jsxs(me,{className:f,children:[_,d,x]}),t[14]=f,t[15]=x,t[16]=u):u=t[16],t[17]!==i?(n=r.jsx($.Suspense,{children:r.jsx("div",{className:"h-2/3 snippet-viewer flex flex-col",children:i?r.jsx(P,{snippet:i,onClose:()=>a(void 0)},i.title):r.jsx(fe,{title:"",description:"Click on a snippet to view its content."})})}),t[17]=i,t[18]=n):n=t[18],t[19]!==n||t[20]!==u?(b=r.jsxs("div",{className:"flex-1 overflow-hidden",children:[u,n]}),t[19]=n,t[20]=u,t[21]=b):b=t[21],b},P=t=>{const e=S.c(33),{snippet:i,onClose:a}=t,{theme:l}=F(),{createNewCell:s}=re(),o=ie();let p;e[0]!==s||e[1]!==o||e[2]!==i.sections?(p=()=>{for(const y of[...i.sections].reverse())y.code&&s({code:y.code,before:!1,cellId:o??"__end__",skipIfCodeExists:!0})},e[0]=s,e[1]=o,e[2]=i.sections,e[3]=p):p=e[3];const v=p;let j;e[4]!==s||e[5]!==o?(j=y=>{s({code:y,before:!1,cellId:o??"__end__"})},e[4]=s,e[5]=o,e[6]=j):j=e[6];const f=j;let c,_,d,h,x,u,n,b,m;if(e[7]!==i.title?(c=r.jsx("span",{children:i.title}),e[7]=i.title,e[8]=c):c=e[8],e[9]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx(pe,{className:"h-4 w-4"}),e[9]=_):_=e[9],e[10]!==a?(d=r.jsx(N,{size:"sm",variant:"ghost",onClick:a,className:"h-6 w-6 p-0 hover:bg-muted-foreground/10",children:_}),e[10]=a,e[11]=d):d=e[11],e[12]!==c||e[13]!==d?(h=r.jsxs("div",{className:"text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center",children:[c,d]}),e[12]=c,e[13]=d,e[14]=h):h=e[14],e[15]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx(B,{className:"ml-2 h-4 w-4"}),e[15]=x):x=e[15],e[16]!==v?(u=r.jsx("div",{className:"flex justify-end",children:r.jsx(O,{children:r.jsxs(N,{className:"float-right",size:"xs",variant:"outline",onClick:v,children:["Insert snippet",x]})})}),e[16]=v,e[17]=u):u=e[17],e[18]!==f||e[19]!==i.sections||e[20]!==i.title||e[21]!==l){let y;e[23]!==f||e[24]!==i.title||e[25]!==l?(y=C=>{const{code:g,html:w,id:k}=C;return w?r.jsx("div",{children:ce({html:w})},`${i.title}-${k}`):g?r.jsxs("div",{className:"relative hover-actions-parent pr-2",children:[r.jsx(O,{children:r.jsx(de,{content:"Insert snippet",children:r.jsx(N,{className:"absolute -top-2 -right-1 z-10 hover-action px-2 bg-background",size:"sm",variant:"outline",onClick:()=>{f(g)},children:r.jsx(B,{className:"h-5 w-5"})})})}),r.jsx($.Suspense,{children:r.jsx(W,{theme:l==="dark"?"dark":"light",language:"python",className:"cm border rounded overflow-hidden",extensions:D,value:g,readOnly:!0},`${i.title}-${k}`)})]},`${i.title}-${k}`):null},e[23]=f,e[24]=i.title,e[25]=l,e[26]=y):y=e[26],n=i.sections.map(y),e[18]=f,e[19]=i.sections,e[20]=i.title,e[21]=l,e[22]=n}else n=e[22];return e[27]!==u||e[28]!==n?(b=r.jsxs("div",{className:"px-2 py-2 space-y-4 overflow-auto flex-1",children:[u,n]}),e[27]=u,e[28]=n,e[29]=b):b=e[29],e[30]!==b||e[31]!==h?(m=r.jsxs(r.Fragment,{children:[h,b]}),e[30]=b,e[31]=h,e[32]=m):m=e[32],m},q=t=>{const e=S.c(7),{snippets:i,onSelect:a}=t;let l,s;if(e[0]!==a||e[1]!==i){let o;e[3]!==a?(o=p=>r.jsx(he,{className:"rounded-none",onSelect:()=>a(p),children:r.jsx("div",{className:"flex flex-row gap-2 items-center",children:r.jsx("span",{className:"mt-1 text-accent-foreground",children:p.title})})},p.title),e[3]=a,e[4]=o):o=e[4],l=i.map(o),e[0]=a,e[1]=i,e[2]=l}else l=e[2];return e[5]!==l?(s=r.jsx(xe,{className:"flex flex-col overflow-auto",children:l}),e[5]=l,e[6]=s):s=e[6],s}});export{ye as __tla,E as default};
1
+ import{a as S,X as A,j as r,bS as B,r as $,u as E,a0 as G,b2 as J,b1 as X,b3 as U,aW as V,bT as K,bU as L,bV as F,p as D,a$ as N,bW as Q,b0 as R,ay as Y,d as Z,b as ee,T as te,S as re,bA as ie,E as oe,a1 as se,bn as ae,a3 as le,bX as ne,bq as me,bo as pe,P as ce,aC as de,bE as he,bp as ue,__tla as xe}from"./index-C1SHFMCp.js";import{P as fe}from"./empty-state-CYev-D31.js";import{H,__tla as be}from"./edit-page-CGc9EjuG.js";import{B as O}from"./between-horizontal-start-DAHqmLYT.js";import"./links-Dd1icsEk.js";import{__tla as je}from"./storage-b1QCapTq.js";import"./index-C71cdkH-.js";import"./index-qbTLKWyG.js";import"./index-Bfy-I_lW.js";import"./index-Bh98Tp-z.js";import"./index-BtQtesaI.js";import"./index-C6DWtSls.js";import"./index-B_KyDZ94.js";import"./index-DcGIOAQi.js";import"./index-BDYVSSzB.js";import"./index-Cb6duXQm.js";import"./index-PJfa9qXY.js";import"./index-CT_FTqvK.js";import"./index-BhroIwBL.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-SPslPC2B.js";import"./trash--tonOuDe.js";import"./_createAggregator-VFK9K2d9.js";import"./_baseEach-BjSm9ht3.js";import{__tla as _e}from"./loro_wasm_bg-C1ks32Vm.js";let M,ye=Promise.all([(()=>{try{return xe}catch{}})(),(()=>{try{return be}catch{}})(),(()=>{try{return je}catch{}})(),(()=>{try{return _e}catch{}})()]).then(async()=>{let I,T,z,q,P,W;I=t=>{const e=S.c(6),{children:i}=t,{openModal:a,closeModal:l}=A();let s,o;return e[0]!==l||e[1]!==a?(s=()=>a(r.jsx(z,{onClose:l})),e[0]=l,e[1]=a,e[2]=s):s=e[2],e[3]!==i||e[4]!==s?(o=r.jsx(B,{onClick:s,children:i}),e[3]=i,e[4]=s,e[5]=o):o=e[5],o},T=[D.lineWrapping],z=t=>{const e=S.c(23),{onClose:i}=t,[a,l]=$.useState(""),{theme:s}=E();let o,p,v,j,f,c;e[0]!==i?(o=async m=>{m.preventDefault();const y=new FormData(m.target),C=y.get("title"),g=y.get("description"),w=y.get("code");fetch("https://marimo.io/api/suggest-snippet",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:C,description:g,code:w})}),i(),G({title:"Snippet Submitted",description:"Thank you for contributing! We will review your snippet shortly."})},e[0]=i,e[1]=o):o=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(p=r.jsx(J,{children:"Contribute a Snippet"}),e[2]=p):p=e[2],e[3]===Symbol.for("react.memo_cache_sentinel")?(v=r.jsxs(X,{children:[p,r.jsxs(U,{children:["Have a useful snippet you want to share with the community? Submit it here or make a pull request"," ",r.jsx("a",{href:V.githubPage,target:"_blank",className:"underline",children:"on GitHub"}),"."]})]}),e[3]=v):v=e[3],e[4]===Symbol.for("react.memo_cache_sentinel")?(j=r.jsx(K,{id:"title",name:"title",autoFocus:!0,placeholder:"Title",required:!0,autoComplete:"off"}),f=r.jsx(L,{id:"description",name:"description",autoFocus:!0,placeholder:"Description",rows:5,required:!0,autoComplete:"off"}),e[4]=j,e[5]=f):(j=e[4],f=e[5]),e[6]!==a?(c=r.jsx("input",{type:"hidden",name:"code",value:a}),e[6]=a,e[7]=c):c=e[7];const _=s==="dark"?"dark":"light";let d,h,u,x,n,b;return e[8]!==a||e[9]!==_?(d=r.jsx(F,{theme:_,language:"python",className:"cm border rounded overflow-hidden",extensions:T,value:a,onChange:l}),e[8]=a,e[9]=_,e[10]=d):d=e[10],e[11]!==c||e[12]!==d?(h=r.jsxs("div",{className:"flex flex-col gap-6 py-4",children:[j,f,c,d]}),e[11]=c,e[12]=d,e[13]=h):h=e[13],e[14]!==i?(u=r.jsx(N,{"data-testid":"snippet-cancel-button",variant:"secondary",onClick:i,children:"Cancel"}),e[14]=i,e[15]=u):u=e[15],e[16]===Symbol.for("react.memo_cache_sentinel")?(x=r.jsx(N,{"data-testid":"snippet-send-button","aria-label":"Save",variant:"default",type:"submit",children:"Send"}),e[16]=x):x=e[16],e[17]!==u?(n=r.jsxs(Q,{children:[u,x]}),e[17]=u,e[18]=n):n=e[18],e[19]!==o||e[20]!==n||e[21]!==h?(b=r.jsx(R,{className:"w-fit",children:r.jsxs("form",{onSubmit:o,children:[v,h,n]})}),e[19]=o,e[20]=n,e[21]=h,e[22]=b):b=e[22],b},q=[D.lineWrapping],M=()=>{const t=S.c(22),{readSnippets:e}=Y(),[i,a]=Z.useState();let l,s;t[0]!==e?(l=()=>e(),t[0]=e,t[1]=l):l=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(s=[],t[2]=s):s=t[2];const{data:o,error:p,isPending:v}=ee(l,s);if(p){let m;return t[3]!==p?(m=r.jsx(oe,{error:p}),t[3]=p,t[4]=m):m=t[4],m}if(v||!o){let m;return t[5]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(se,{size:"medium",centered:!0}),t[5]=m):m=t[5],m}const j=i?"h-1/3":"h-full";let f,c,_,d,h,u,x,n,b;return t[6]!==j?(f=te("border-b rounded-none",j),t[6]=j,t[7]=f):f=t[7],t[8]===Symbol.for("react.memo_cache_sentinel")?(c=r.jsx(ae,{placeholder:"Search snippets...",className:"h-6 m-1",rootClassName:"flex-1 border-r"}),t[8]=c):c=t[8],t[9]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsxs("div",{className:"flex items-center w-full",children:[c,r.jsx(I,{children:r.jsx("button",{className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:r.jsx(le,{className:"h-4 w-4"})})})]}),d=r.jsx(ne,{children:"No results"}),t[9]=_,t[10]=d):(_=t[9],d=t[10]),t[11]===Symbol.for("react.memo_cache_sentinel")?(h=m=>a(m),t[11]=h):h=t[11],t[12]!==o.snippets?(u=r.jsx(W,{onSelect:h,snippets:o.snippets}),t[12]=o.snippets,t[13]=u):u=t[13],t[14]!==f||t[15]!==u?(x=r.jsxs(me,{className:f,children:[_,d,u]}),t[14]=f,t[15]=u,t[16]=x):x=t[16],t[17]!==i?(n=r.jsx($.Suspense,{children:r.jsx("div",{className:"h-2/3 snippet-viewer flex flex-col",children:i?r.jsx(P,{snippet:i,onClose:()=>a(void 0)},i.title):r.jsx(fe,{title:"",description:"Click on a snippet to view its content."})})}),t[17]=i,t[18]=n):n=t[18],t[19]!==n||t[20]!==x?(b=r.jsxs("div",{className:"flex-1 overflow-hidden",children:[x,n]}),t[19]=n,t[20]=x,t[21]=b):b=t[21],b},P=t=>{const e=S.c(33),{snippet:i,onClose:a}=t,{theme:l}=E(),{createNewCell:s}=re(),o=ie();let p;e[0]!==s||e[1]!==o||e[2]!==i.sections?(p=()=>{for(const y of[...i.sections].reverse())y.code&&s({code:y.code,before:!1,cellId:o??"__end__",skipIfCodeExists:!0})},e[0]=s,e[1]=o,e[2]=i.sections,e[3]=p):p=e[3];const v=p;let j;e[4]!==s||e[5]!==o?(j=y=>{s({code:y,before:!1,cellId:o??"__end__"})},e[4]=s,e[5]=o,e[6]=j):j=e[6];const f=j;let c,_,d,h,u,x,n,b,m;if(e[7]!==i.title?(c=r.jsx("span",{children:i.title}),e[7]=i.title,e[8]=c):c=e[8],e[9]===Symbol.for("react.memo_cache_sentinel")?(_=r.jsx(pe,{className:"h-4 w-4"}),e[9]=_):_=e[9],e[10]!==a?(d=r.jsx(N,{size:"sm",variant:"ghost",onClick:a,className:"h-6 w-6 p-0 hover:bg-muted-foreground/10",children:_}),e[10]=a,e[11]=d):d=e[11],e[12]!==c||e[13]!==d?(h=r.jsxs("div",{className:"text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center",children:[c,d]}),e[12]=c,e[13]=d,e[14]=h):h=e[14],e[15]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(O,{className:"ml-2 h-4 w-4"}),e[15]=u):u=e[15],e[16]!==v?(x=r.jsx("div",{className:"flex justify-end",children:r.jsx(H,{children:r.jsxs(N,{className:"float-right",size:"xs",variant:"outline",onClick:v,children:["Insert snippet",u]})})}),e[16]=v,e[17]=x):x=e[17],e[18]!==f||e[19]!==i.sections||e[20]!==i.title||e[21]!==l){let y;e[23]!==f||e[24]!==i.title||e[25]!==l?(y=C=>{const{code:g,html:w,id:k}=C;return w?r.jsx("div",{children:ce({html:w})},`${i.title}-${k}`):g?r.jsxs("div",{className:"relative hover-actions-parent pr-2",children:[r.jsx(H,{children:r.jsx(de,{content:"Insert snippet",children:r.jsx(N,{className:"absolute -top-2 -right-1 z-10 hover-action px-2 bg-background",size:"sm",variant:"outline",onClick:()=>{f(g)},children:r.jsx(O,{className:"h-5 w-5"})})})}),r.jsx($.Suspense,{children:r.jsx(F,{theme:l==="dark"?"dark":"light",language:"python",className:"cm border rounded overflow-hidden",extensions:q,value:g,readOnly:!0},`${i.title}-${k}`)})]},`${i.title}-${k}`):null},e[23]=f,e[24]=i.title,e[25]=l,e[26]=y):y=e[26],n=i.sections.map(y),e[18]=f,e[19]=i.sections,e[20]=i.title,e[21]=l,e[22]=n}else n=e[22];return e[27]!==x||e[28]!==n?(b=r.jsxs("div",{className:"px-2 py-2 space-y-4 overflow-auto flex-1",children:[x,n]}),e[27]=x,e[28]=n,e[29]=b):b=e[29],e[30]!==b||e[31]!==h?(m=r.jsxs(r.Fragment,{children:[h,b]}),e[30]=b,e[31]=h,e[32]=m):m=e[32],m},W=t=>{const e=S.c(7),{snippets:i,onSelect:a}=t;let l,s;if(e[0]!==a||e[1]!==i){let o;e[3]!==a?(o=p=>r.jsx(he,{className:"rounded-none",onSelect:()=>a(p),children:r.jsx("div",{className:"flex flex-row gap-2 items-center",children:r.jsx("span",{className:"mt-1 text-accent-foreground",children:p.title})})},p.title),e[3]=a,e[4]=o):o=e[4],l=i.map(o),e[0]=a,e[1]=i,e[2]=l}else l=e[2];return e[5]!==l?(s=r.jsx(ue,{className:"flex flex-col overflow-auto",children:l}),e[5]=l,e[6]=s):s=e[6],s}});export{ye as __tla,M as default};
@@ -1 +1 @@
1
- import{cF as h,cG as s,B as x,cH as J,cI as K,cJ as b,aJ as B,cK as d,aK as F}from"./index-CelXfcd8.js";import{a as G}from"./_baseEach--KDTwKbG.js";import{b as H}from"./_baseMap-Cu3o-eyO.js";function I(n,r){if(n!==r){var u=n!==void 0,f=n===null,t=n==n,i=h(n),e=r!==void 0,o=r===null,c=r==r,a=h(r);if(!o&&!a&&!i&&n>r||i&&e&&c&&!o&&!a||f&&e&&c||!u&&c||!t)return 1;if(!f&&!i&&!a&&n<r||a&&u&&t&&!f&&!i||o&&u&&t||!e&&t||!c)return-1}return 0}function j(n,r,u){r=r.length?s(r,function(t){return x(t)?function(i){return J(i,t.length===1?t[0]:t)}:t}):[K];var f=-1;return r=s(r,b(G)),(function(t,i){var e=t.length;for(t.sort(i);e--;)t[e]=t[e].value;return t})(H(n,function(t,i,e){return{criteria:s(r,function(o){return o(t)}),index:++f,value:t}}),function(t,i){return(function(e,o,c){for(var a=-1,v=e.criteria,g=o.criteria,m=v.length,p=c.length;++a<m;){var l=I(v[a],g[a]);if(l)return a>=p?l:l*(c[a]=="desc"?-1:1)}return e.index-o.index})(t,i,u)})}var k=B(function(n,r){if(n==null)return[];var u=r.length;return u>1&&d(n,r[0],r[1])?r=[]:u>2&&d(r[0],r[1],r[2])&&(r=[r[0]]),j(n,F(r),[])});export{k as s};
1
+ import{cG as h,cH as s,B as x,cI as K,cJ as L,cK as b,aK as B,cL as d,aL as G}from"./index-C1SHFMCp.js";import{a as H}from"./_baseEach-BjSm9ht3.js";import{b as I}from"./_baseMap-CV4Ezmtf.js";function J(n,r){if(n!==r){var u=n!==void 0,f=n===null,t=n==n,i=h(n),e=r!==void 0,o=r===null,c=r==r,a=h(r);if(!o&&!a&&!i&&n>r||i&&e&&c&&!o&&!a||f&&e&&c||!u&&c||!t)return 1;if(!f&&!i&&!a&&n<r||a&&u&&t&&!f&&!i||o&&u&&t||!e&&t||!c)return-1}return 0}function j(n,r,u){r=r.length?s(r,function(t){return x(t)?function(i){return K(i,t.length===1?t[0]:t)}:t}):[L];var f=-1;return r=s(r,b(H)),(function(t,i){var e=t.length;for(t.sort(i);e--;)t[e]=t[e].value;return t})(I(n,function(t,i,e){return{criteria:s(r,function(o){return o(t)}),index:++f,value:t}}),function(t,i){return(function(e,o,c){for(var a=-1,v=e.criteria,g=o.criteria,m=v.length,p=c.length;++a<m;){var l=J(v[a],g[a]);if(l)return a>=p?l:l*(c[a]=="desc"?-1:1)}return e.index-o.index})(t,i,u)})}var k=B(function(n,r){if(n==null)return[];var u=r.length;return u>1&&d(n,r[0],r[1])?r=[]:u>2&&d(r[0],r[1],r[2])&&(r=[r[0]]),j(n,G(r),[])});export{k as s};
@@ -1 +1 @@
1
- import{K as e,M as d,N as o}from"./index-CelXfcd8.js";const{valueAtom:s,useActions:t}=d(function(){return{pendingCommands:[],isReady:!1}},{addCommand:(n,a)=>{const m={id:o(),text:a,timestamp:Date.now()};return{...n,pendingCommands:[...n.pendingCommands,m]}},removeCommand:(n,a)=>({...n,pendingCommands:n.pendingCommands.filter(m=>m.id!==a)}),setReady:(n,a)=>({...n,isReady:a}),clearCommands:n=>({...n,pendingCommands:[]})}),i=()=>e(s);function r(){return t()}export{r as a,i as u};
1
+ import{K as e,M as d,N as o}from"./index-C1SHFMCp.js";const{valueAtom:s,useActions:t}=d(function(){return{pendingCommands:[],isReady:!1}},{addCommand:(n,a)=>{const m={id:o(),text:a,timestamp:Date.now()};return{...n,pendingCommands:[...n.pendingCommands,m]}},removeCommand:(n,a)=>({...n,pendingCommands:n.pendingCommands.filter(m=>m.id!==a)}),setReady:(n,a)=>({...n,isReady:a}),clearCommands:n=>({...n,pendingCommands:[]})}),i=()=>e(s);function r(){return t()}export{r as a,i as u};
@@ -1 +1 @@
1
- import{s as G,a as A,S as M}from"./chunk-TVAH2DTR-6j_Cpjsi.js";import{_ as y,c as t,l as S,d as O,j as v,Q as P,u as R}from"./mermaid.core-CvvJtCRj.js";import{s as H}from"./transform-D9VCJYws.js";import{G as U}from"./graph-CG6BgUWQ.js";import{l as C}from"./layout-BCNPDACj.js";import{l as I,k as W}from"./step-BwsUM5iJ.js";import"./chunk-55IACEB6-CM4AHquB.js";import"./chunk-QN33PNHL-QM4OPuQP.js";import"./index-CelXfcd8.js";import"./isEmpty-CqX_YTIf.js";import"./timer-Bqd5yn_a.js";import"./_baseUniq-y7ZXnMo1.js";import"./_baseEach--KDTwKbG.js";import"./min-DYUOb1RR.js";import"./_baseMap-Cu3o-eyO.js";import"./sortBy-D4OG7w4O.js";var w,j=y(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),F=y(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",2*t().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),J=y((e,i)=>{const g=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),s=g.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",s.width+2*t().state.padding).attr("height",s.height+2*t().state.padding).attr("rx",t().state.radius),g},"drawSimpleState"),Y=y((e,i)=>{const g=y(function(o,u,b){const B=o.append("tspan").attr("x",2*t().state.padding).text(u);b||B.attr("dy",t().state.textHeight)},"addTspan"),s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),n=s.height,c=e.append("text").attr("x",t().state.padding).attr("y",n+.4*t().state.padding+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let l=!0,a=!0;i.descriptions.forEach(function(o){l||(g(c,o,a),a=!1),l=!1});const d=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+n+t().state.dividerMargin/2).attr("y2",t().state.padding+n+t().state.dividerMargin/2).attr("class","descr-divider"),x=c.node().getBBox(),h=Math.max(x.width,s.width);return d.attr("x2",h+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",h+2*t().state.padding).attr("height",x.height+n+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=y((e,i,g)=>{const s=t().state.padding,n=2*t().state.padding,c=e.node().getBBox(),l=c.width,a=c.x,d=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=d.node().getBBox().width+n;let h,o=Math.max(x,l);o===l&&(o+=n);const u=e.node().getBBox();i.doc,h=a-s,x>l&&(h=(l-o)/2+s),Math.abs(a-u.x)<s&&x>l&&(h=a-(x-l)/2);const b=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",h).attr("y",b).attr("class",g?"alt-composit":"composit").attr("width",o).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),d.attr("x",h+s),x<=l&&d.attr("x",a+(o-n)/2-x/2+s),e.insert("rect",":first-child").attr("x",h).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",3*t().state.textHeight).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",h).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),X=y(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),_=y((e,i)=>{let g=t().state.forkWidth,s=t().state.forkHeight;if(i.parentId){let n=g;g=s,s=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",g).attr("height",s).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),q=y((e,i,g,s)=>{let n=0;const c=s.append("text");c.style("text-anchor","start"),c.attr("class","noteText");let l=e.replace(/\r\n/g,"<br/>");l=l.replace(/\n/g,"<br/>");const a=l.split(v.lineBreakRegex);let d=1.25*t().state.noteMargin;for(const x of a){const h=x.trim();if(h.length>0){const o=c.append("tspan");o.text(h),d===0&&(d+=o.node().getBBox().height),n+=d,o.attr("x",i+t().state.noteMargin),o.attr("y",g+n+1.25*t().state.noteMargin)}}return{textWidth:c.node().getBBox().width,textHeight:n}},"_drawLongText"),Q=y((e,i)=>{i.attr("class","state-note");const g=i.append("rect").attr("x",0).attr("y",t().state.padding),s=i.append("g"),{textWidth:n,textHeight:c}=q(e,0,0,s);return g.attr("height",c+2*t().state.noteMargin),g.attr("width",n+2*t().state.noteMargin),g},"drawNote"),T=y(function(e,i){const g=i.id,s={id:g,label:i.id,width:0,height:0},n=e.append("g").attr("id",g).attr("class","stateGroup");i.type==="start"&&j(n),i.type==="end"&&X(n),i.type!=="fork"&&i.type!=="join"||_(n,i),i.type==="note"&&Q(i.note.text,n),i.type==="divider"&&F(n),i.type==="default"&&i.descriptions.length===0&&J(n,i),i.type==="default"&&i.descriptions.length>0&&Y(n,i);const c=n.node().getBBox();return s.width=c.width+2*t().state.padding,s.height=c.height+2*t().state.padding,s},"drawState"),D=0,Z=y(function(e,i,g){const s=y(function(d){switch(d){case M.relationType.AGGREGATION:return"aggregation";case M.relationType.EXTENSION:return"extension";case M.relationType.COMPOSITION:return"composition";case M.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(d=>!Number.isNaN(d.y));const n=i.points,c=I().x(function(d){return d.x}).y(function(d){return d.y}).curve(W),l=e.append("path").attr("d",c(n)).attr("id","edge"+D).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=P(!0)),l.attr("marker-end","url("+a+"#"+s(M.relationType.DEPENDENCY)+"End)"),g.title!==void 0){const d=e.append("g").attr("class","stateLabel"),{x,y:h}=R.calcLabelPosition(i.points),o=v.getRows(g.title);let u=0;const b=[];let B=0,E=0;for(let f=0;f<=o.length;f++){const p=d.append("text").attr("text-anchor","middle").text(o[f]).attr("x",x).attr("y",h+u),m=p.node().getBBox();B=Math.max(B,m.width),E=Math.min(E,m.x),S.info(m.x,x,h+u),u===0&&(u=p.node().getBBox().height,S.info("Title height",u,h)),b.push(p)}let N=u*o.length;if(o.length>1){const f=(o.length-1)*u*.5;b.forEach((p,m)=>p.attr("y",h+m*u-f)),N=u*o.length}const r=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",x-B/2-t().state.padding/2).attr("y",h-N/2-t().state.padding/2-3.5).attr("width",B+t().state.padding).attr("height",N+t().state.padding),S.info(r)}D++},"drawEdge"),z={},K=y(function(){},"setConf"),V=y(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),tt=y(function(e,i,g,s){w=t().state;const n=t().securityLevel;let c;n==="sandbox"&&(c=H("#i"+i));const l=H(n==="sandbox"?c.nodes()[0].contentDocument.body:"body"),a=n==="sandbox"?c.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const d=l.select(`[id='${i}']`);V(d);const x=s.db.getRootDoc();L(x,d,void 0,!1,l,a,s);const h=w.padding,o=d.node().getBBox(),u=o.width+2*h,b=o.height+2*h;O(d,b,1.75*u,w.useMaxWidth),d.attr("viewBox",`${o.x-w.padding} ${o.y-w.padding} `+u+" "+b)},"draw"),et=y(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),L=y((e,i,g,s,n,c,l)=>{const a=new U({compound:!0,multigraph:!0});let d,x=!0;for(d=0;d<e.length;d++)if(e[d].stmt==="relation"){x=!1;break}g?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:w.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:w.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const h=l.db.getStates(),o=l.db.getRelations(),u=Object.keys(h);for(const r of u){const f=h[r];let p;if(g&&(f.parentId=g),f.doc){let m=i.append("g").attr("id",f.id).attr("class","stateGroup");p=L(f.doc,m,f.id,!s,n,c,l);{m=$(m,f,s);let k=m.node().getBBox();p.width=k.width,p.height=k.height+w.padding/2,z[f.id]={y:w.compositTitleSize}}}else p=T(i,f,a);if(f.note){const m={descriptions:[],id:f.id+"-note",note:f.note,type:"note"},k=T(i,m,a);f.note.position==="left of"?(a.setNode(p.id+"-note",k),a.setNode(p.id,p)):(a.setNode(p.id,p),a.setNode(p.id+"-note",k)),a.setParent(p.id,p.id+"-group"),a.setParent(p.id+"-note",p.id+"-group")}else a.setNode(p.id,p)}S.debug("Count=",a.nodeCount(),a);let b=0;o.forEach(function(r){b++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:et(r.title),height:w.labelHeight*v.getRows(r.title).length,labelpos:"c"},"id"+b)}),C(a),S.debug("Graph after layout",a.nodes());const B=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+B.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(z[r]?z[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+B.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),c.querySelectorAll("#"+B.id+" #"+r+" .divider").forEach(f=>{const p=f.parentElement;let m=0,k=0;p&&(p.parentElement&&(m=p.parentElement.getBBox().width),k=parseInt(p.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),f.setAttribute("x1",0-k+8),f.setAttribute("x2",m-k-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let E=B.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Z(i,a.edge(r),a.edge(r).relation))}),E=B.getBBox();const N={id:g||"root",label:g||"root",width:0,height:0};return N.width=E.width+2*w.padding,N.height=E.height+2*w.padding,S.debug("Doc rendered",N,a),N},"renderDoc"),at={setConf:K,draw:tt},it={parser:A,get db(){return new M(1)},renderer:at,styles:G,init:y(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{it as diagram};
1
+ import{s as G,a as A,S as M}from"./chunk-TVAH2DTR-DkIdGINc.js";import{_ as y,c as t,l as S,d as O,j as v,Q as P,u as R}from"./mermaid.core-CfukBvGI.js";import{s as H}from"./transform-D9VCJYws.js";import{G as U}from"./graph-CBNo279v.js";import{l as C}from"./layout-RHmq4fP9.js";import{l as I,k as W}from"./step-BwsUM5iJ.js";import"./chunk-55IACEB6-iWZZ8Mt6.js";import"./chunk-QN33PNHL-CBU8pN6I.js";import"./index-C1SHFMCp.js";import"./isEmpty-CnOLuQIv.js";import"./timer-Bqd5yn_a.js";import"./_baseUniq-Ci9yZGxz.js";import"./_baseEach-BjSm9ht3.js";import"./min-BXIes1Za.js";import"./_baseMap-CV4Ezmtf.js";import"./sortBy-BW_zNHP6.js";var w,j=y(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),F=y(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",2*t().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),J=y((e,i)=>{const g=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),s=g.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",s.width+2*t().state.padding).attr("height",s.height+2*t().state.padding).attr("rx",t().state.radius),g},"drawSimpleState"),Y=y((e,i)=>{const g=y(function(o,u,b){const B=o.append("tspan").attr("x",2*t().state.padding).text(u);b||B.attr("dy",t().state.textHeight)},"addTspan"),s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),n=s.height,c=e.append("text").attr("x",t().state.padding).attr("y",n+.4*t().state.padding+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let l=!0,a=!0;i.descriptions.forEach(function(o){l||(g(c,o,a),a=!1),l=!1});const d=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+n+t().state.dividerMargin/2).attr("y2",t().state.padding+n+t().state.dividerMargin/2).attr("class","descr-divider"),x=c.node().getBBox(),h=Math.max(x.width,s.width);return d.attr("x2",h+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",h+2*t().state.padding).attr("height",x.height+n+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=y((e,i,g)=>{const s=t().state.padding,n=2*t().state.padding,c=e.node().getBBox(),l=c.width,a=c.x,d=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=d.node().getBBox().width+n;let h,o=Math.max(x,l);o===l&&(o+=n);const u=e.node().getBBox();i.doc,h=a-s,x>l&&(h=(l-o)/2+s),Math.abs(a-u.x)<s&&x>l&&(h=a-(x-l)/2);const b=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",h).attr("y",b).attr("class",g?"alt-composit":"composit").attr("width",o).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),d.attr("x",h+s),x<=l&&d.attr("x",a+(o-n)/2-x/2+s),e.insert("rect",":first-child").attr("x",h).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",3*t().state.textHeight).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",h).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),X=y(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),_=y((e,i)=>{let g=t().state.forkWidth,s=t().state.forkHeight;if(i.parentId){let n=g;g=s,s=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",g).attr("height",s).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),q=y((e,i,g,s)=>{let n=0;const c=s.append("text");c.style("text-anchor","start"),c.attr("class","noteText");let l=e.replace(/\r\n/g,"<br/>");l=l.replace(/\n/g,"<br/>");const a=l.split(v.lineBreakRegex);let d=1.25*t().state.noteMargin;for(const x of a){const h=x.trim();if(h.length>0){const o=c.append("tspan");o.text(h),d===0&&(d+=o.node().getBBox().height),n+=d,o.attr("x",i+t().state.noteMargin),o.attr("y",g+n+1.25*t().state.noteMargin)}}return{textWidth:c.node().getBBox().width,textHeight:n}},"_drawLongText"),Q=y((e,i)=>{i.attr("class","state-note");const g=i.append("rect").attr("x",0).attr("y",t().state.padding),s=i.append("g"),{textWidth:n,textHeight:c}=q(e,0,0,s);return g.attr("height",c+2*t().state.noteMargin),g.attr("width",n+2*t().state.noteMargin),g},"drawNote"),T=y(function(e,i){const g=i.id,s={id:g,label:i.id,width:0,height:0},n=e.append("g").attr("id",g).attr("class","stateGroup");i.type==="start"&&j(n),i.type==="end"&&X(n),i.type!=="fork"&&i.type!=="join"||_(n,i),i.type==="note"&&Q(i.note.text,n),i.type==="divider"&&F(n),i.type==="default"&&i.descriptions.length===0&&J(n,i),i.type==="default"&&i.descriptions.length>0&&Y(n,i);const c=n.node().getBBox();return s.width=c.width+2*t().state.padding,s.height=c.height+2*t().state.padding,s},"drawState"),D=0,Z=y(function(e,i,g){const s=y(function(d){switch(d){case M.relationType.AGGREGATION:return"aggregation";case M.relationType.EXTENSION:return"extension";case M.relationType.COMPOSITION:return"composition";case M.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(d=>!Number.isNaN(d.y));const n=i.points,c=I().x(function(d){return d.x}).y(function(d){return d.y}).curve(W),l=e.append("path").attr("d",c(n)).attr("id","edge"+D).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=P(!0)),l.attr("marker-end","url("+a+"#"+s(M.relationType.DEPENDENCY)+"End)"),g.title!==void 0){const d=e.append("g").attr("class","stateLabel"),{x,y:h}=R.calcLabelPosition(i.points),o=v.getRows(g.title);let u=0;const b=[];let B=0,E=0;for(let f=0;f<=o.length;f++){const p=d.append("text").attr("text-anchor","middle").text(o[f]).attr("x",x).attr("y",h+u),m=p.node().getBBox();B=Math.max(B,m.width),E=Math.min(E,m.x),S.info(m.x,x,h+u),u===0&&(u=p.node().getBBox().height,S.info("Title height",u,h)),b.push(p)}let N=u*o.length;if(o.length>1){const f=(o.length-1)*u*.5;b.forEach((p,m)=>p.attr("y",h+m*u-f)),N=u*o.length}const r=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",x-B/2-t().state.padding/2).attr("y",h-N/2-t().state.padding/2-3.5).attr("width",B+t().state.padding).attr("height",N+t().state.padding),S.info(r)}D++},"drawEdge"),z={},K=y(function(){},"setConf"),V=y(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),tt=y(function(e,i,g,s){w=t().state;const n=t().securityLevel;let c;n==="sandbox"&&(c=H("#i"+i));const l=H(n==="sandbox"?c.nodes()[0].contentDocument.body:"body"),a=n==="sandbox"?c.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const d=l.select(`[id='${i}']`);V(d);const x=s.db.getRootDoc();L(x,d,void 0,!1,l,a,s);const h=w.padding,o=d.node().getBBox(),u=o.width+2*h,b=o.height+2*h;O(d,b,1.75*u,w.useMaxWidth),d.attr("viewBox",`${o.x-w.padding} ${o.y-w.padding} `+u+" "+b)},"draw"),et=y(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),L=y((e,i,g,s,n,c,l)=>{const a=new U({compound:!0,multigraph:!0});let d,x=!0;for(d=0;d<e.length;d++)if(e[d].stmt==="relation"){x=!1;break}g?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:w.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:w.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const h=l.db.getStates(),o=l.db.getRelations(),u=Object.keys(h);for(const r of u){const f=h[r];let p;if(g&&(f.parentId=g),f.doc){let m=i.append("g").attr("id",f.id).attr("class","stateGroup");p=L(f.doc,m,f.id,!s,n,c,l);{m=$(m,f,s);let k=m.node().getBBox();p.width=k.width,p.height=k.height+w.padding/2,z[f.id]={y:w.compositTitleSize}}}else p=T(i,f,a);if(f.note){const m={descriptions:[],id:f.id+"-note",note:f.note,type:"note"},k=T(i,m,a);f.note.position==="left of"?(a.setNode(p.id+"-note",k),a.setNode(p.id,p)):(a.setNode(p.id,p),a.setNode(p.id+"-note",k)),a.setParent(p.id,p.id+"-group"),a.setParent(p.id+"-note",p.id+"-group")}else a.setNode(p.id,p)}S.debug("Count=",a.nodeCount(),a);let b=0;o.forEach(function(r){b++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:et(r.title),height:w.labelHeight*v.getRows(r.title).length,labelpos:"c"},"id"+b)}),C(a),S.debug("Graph after layout",a.nodes());const B=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+B.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(z[r]?z[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+B.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),c.querySelectorAll("#"+B.id+" #"+r+" .divider").forEach(f=>{const p=f.parentElement;let m=0,k=0;p&&(p.parentElement&&(m=p.parentElement.getBBox().width),k=parseInt(p.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),f.setAttribute("x1",0-k+8),f.setAttribute("x2",m-k-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let E=B.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Z(i,a.edge(r),a.edge(r).relation))}),E=B.getBBox();const N={id:g||"root",label:g||"root",width:0,height:0};return N.width=E.width+2*w.padding,N.height=E.height+2*w.padding,S.debug("Doc rendered",N,a),N},"renderDoc"),at={setConf:K,draw:tt},it={parser:A,get db(){return new M(1)},renderer:at,styles:G,init:y(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{it as diagram};
@@ -0,0 +1 @@
1
+ import{s as t,b as a,a as e,S as o}from"./chunk-TVAH2DTR-DkIdGINc.js";import{_ as s}from"./mermaid.core-CfukBvGI.js";import"./transform-D9VCJYws.js";import"./chunk-55IACEB6-iWZZ8Mt6.js";import"./chunk-QN33PNHL-CBU8pN6I.js";import"./index-C1SHFMCp.js";import"./step-BwsUM5iJ.js";import"./isEmpty-CnOLuQIv.js";import"./timer-Bqd5yn_a.js";var i={parser:e,get db(){return new o(2)},renderer:a,styles:t,init:s(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};