@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{aJ as M,aK as G,aL as k,aM as f,aN as N,aO as _}from"./index-CelXfcd8.js";import{a as x,f as m,c as a,i as l,v,r as z}from"./_baseUniq-y7ZXnMo1.js";import{i as y}from"./isEmpty-CqX_YTIf.js";var J=M(function(o){return x(G(o,1,k,!0))}),d="\0";class b{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return N(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return y(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return y(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return a(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),a(_(this._in[t]),e),delete this._in[t],delete this._preds[t],a(_(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(e))e=d;else{for(var s=e+="";!l(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}}children(t){if(l(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return _(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return _(e)}successors(t){var e=this._sucs[t];if(e)return _(e)}neighbors(t){var e=this.predecessors(t);if(e)return J(e,this.successors(t))}isLeaf(t){return(this.isDirected()?this.successors(t):this.neighbors(t)).length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),a(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return this._isCompound&&a(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return N(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return v(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return z(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,l(s)||(s=""+s);var h=c(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var u=(function(j,D,P,O){var g=""+D,p=""+P;if(!j&&g>p){var F=g;g=p,p=F}var w={v:g,w:p};return O&&(w.name=O),w})(this._isDirected,t,e,s);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[h]=u,L(this._preds[e],t),L(this._sucs[t],e),this._in[e][h]=u,this._out[t][h]=u,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],E(this._preds[e],t),E(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=v(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=v(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}}function L(o,t){o[t]?o[t]++:o[t]=1}function E(o,t){--o[t]||delete o[t]}function c(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+""+i+""+(l(s)?"\0":s)}function C(o,t){return c(o,t.v,t.w,t.name)}b.prototype._nodeCount=0,b.prototype._edgeCount=0;export{b as G};
1
+ import{aK as M,aL as G,aM as k,aN as f,aO as N,aP as _}from"./index-C1SHFMCp.js";import{a as x,f as m,c as a,i as l,v,r as z}from"./_baseUniq-Ci9yZGxz.js";import{i as y}from"./isEmpty-CnOLuQIv.js";var K=M(function(o){return x(G(o,1,k,!0))}),d="\0";class b{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return N(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return y(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return y(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return a(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),a(_(this._in[t]),e),delete this._in[t],delete this._preds[t],a(_(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(e))e=d;else{for(var s=e+="";!l(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}}children(t){if(l(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return _(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return _(e)}successors(t){var e=this._sucs[t];if(e)return _(e)}neighbors(t){var e=this.predecessors(t);if(e)return K(e,this.successors(t))}isLeaf(t){return(this.isDirected()?this.successors(t):this.neighbors(t)).length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),a(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return this._isCompound&&a(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return N(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return v(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return z(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,l(s)||(s=""+s);var h=c(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var u=(function(j,P,D,O){var g=""+P,p=""+D;if(!j&&g>p){var F=g;g=p,p=F}var w={v:g,w:p};return O&&(w.name=O),w})(this._isDirected,t,e,s);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[h]=u,L(this._preds[e],t),L(this._sucs[t],e),this._in[e][h]=u,this._out[t][h]=u,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],E(this._preds[e],t),E(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=v(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=v(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}}function L(o,t){o[t]?o[t]++:o[t]=1}function E(o,t){--o[t]||delete o[t]}function c(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+""+i+""+(l(s)?"\0":s)}function C(o,t){return c(o,t.v,t.w,t.name)}b.prototype._nodeCount=0,b.prototype._edgeCount=0;export{b as G};
@@ -1,9 +1,9 @@
1
- import{c as O,a as C,ax as V,cv as he,dX as G,dY as ue,bl as xe,dZ as fe,W as Z,j as s,d_ as pe,aV as A,d$ as ge,a_ as q,e0 as ye,e1 as be,e2 as je,d as K,cR as ve,cL as ee,r as P,b as E,e3 as ke,bY as we,e4 as Ne,e5 as te,dM as _e,X as Se,e6 as ae,a1 as J,dL as ze,bO as Ce,cr as se,e7 as Me,ay as Ie,e8 as Pe,e9 as De,T as Te,aG as Re,aH as Oe,ea as Q,eb as Ae,ec as We,a0 as Le,aB as $e,ed as Fe,ee as He,ef as Ve,bS as Ye,eg as Be,eh as Ue,ei as Ge,ej as qe,ek as re,aR as Ee}from"./index-CelXfcd8.js";import{G as Je,A as Qe,o as Xe,a as Ze,b as Ke,M as et,Y as tt,L as at,c as st,d as rt,S as ot,P as nt}from"./links-Drv7cJgN.js";import{C as it}from"./circle-play-CK3UZRYQ.js";import{T as lt}from"./tree-BHN2gcCF.js";import"./index-Db36XTG_.js";/**
1
+ import{c as W,a as C,ay as U,cw as he,d_ as q,d$ as ue,bm as xe,e0 as fe,W as Z,j as s,e1 as pe,aW as A,e2 as ge,a$ as E,e3 as ye,e4 as be,e5 as je,d as K,cS as ve,cM as ee,r as P,b as G,e6 as ke,bZ as we,e7 as Ne,e8 as te,dP as _e,X as Se,e9 as ae,a1 as J,dO as ze,bP as Ce,cs as se,ea as Me,az as Ie,eb as Pe,ec as De,T as Te,aH as Oe,aI as We,ed as Q,ee as Ae,ef as Re,a0 as $e,aC as Fe,eg as Le,eh as He,ei as Ue,bT as Ve,ej as Be,ek as Ye,el as qe,em as Ee,en as oe,aS as Ge}from"./index-C1SHFMCp.js";import{G as Je,A as Qe,o as Xe,a as Ze,b as Ke,M as et,Y as tt,L as at,c as st,d as ot,S as rt,P as nt}from"./links-Dd1icsEk.js";import{C as it}from"./circle-play-BOdsbq5u.js";import{T as lt}from"./tree-ouIGEsVg.js";import"./index-CU5rRr66.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const ct=O("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),dt=O("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),mt=O("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),ht=O("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ut={intro:["Introduction",ct,"Get started with marimo basics"],dataflow:["Dataflow",Qe,"Learn how cells interact with each other"],ui:["UI Elements",O("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",Z,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",ht,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",G,"Using marimo to edit markdown files"]},xt=()=>{const e=C.c(6),{openTutorial:t}=V();let a,o,r,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(mt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(ge,{asChild:!0,children:s.jsxs(q,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ye,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1],e[2]!==t?(r=he.entries(ut).map(n=>{const[c,m]=n,[d,h,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Xe(l.path)},children:[s.jsx(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:d}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=r):r=e[3],e[4]!==r?(i=s.jsxs(be,{children:[o,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:r})]}),e[4]=r,e[5]=i):i=e[5],i},ft=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Ze,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ke,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:et,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:tt,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:Z,url:A.releasesPage}],pt=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(Y,{Icon:at,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:ft.map(gt)})]}),e[1]=a):a=e[1],a},Y=e=>{const t=C.c(8),{Icon:a,control:o,children:r}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==r||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,r]}),t[2]=r,t[3]=i,t[4]=n):n=t[4],t[5]!==o||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,o]}),t[5]=o,t[6]=n,t[7]=c):c=t[7],c};function gt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const oe=K.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=K.createContext(""),yt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${Ee()}-${encodeURIComponent(e)}`}const bt=()=>{const e=C.c(56),[t,a]=P.useState(0),{getRecentFiles:o,getRunningNotebooks:r}=V();let i,n;e[0]!==o?(i=()=>o(),e[0]=o,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=E(i,n);let m,d,h,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(zt)},d={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=d):(m=e[3],d=e[4]),st(m,d),e[5]!==r?(h=async()=>{const R=await r();return ae.keyBy(R.files,Ct)},e[5]=r,e[6]=h):h=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=E(h,u);let x,p,g,f,y,b,k,j,w,_,N,z,S,M,v,I,W,D,T,L;if(e[9]!==c||e[10]!==l){w=Symbol.for("react.early_return_sentinel");e:{const R=ke(c,l);if(R.error)throw R.error;const X=R.data;if(!X){let H;e[24]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx(J,{centered:!0,size:"xlarge"}),e[24]=H):H=e[24],w=H;break e}const[me,B]=X;let $,F;f=me,g=P.Suspense,p=oe,k={runningNotebooks:B,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?($=s.jsx(xt,{}),F=s.jsx(rt,{showAppConfig:!1}),e[25]=$,e[26]=F):($=e[25],F=e[26]);const U=`This will shutdown the notebook server and terminate all running notebooks (${B.size}). You'll lose all data that's in memory.`;e[27]!==U?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[$,F,s.jsx(ot,{description:U})]}),e[27]=U,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),y=s.jsx(St,{}),b=s.jsx(pt,{}),e[29]=y,e[30]=b,e[31]=S):(y=e[29],b=e[30],S=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx(Y,{Icon:it,children:"Running notebooks"}),e[32]=_):_=e[32],N=[...B.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=p,e[13]=g,e[14]=f,e[15]=y,e[16]=b,e[17]=k,e[18]=j,e[19]=w,e[20]=_,e[21]=N,e[22]=z,e[23]=S}else x=e[11],p=e[12],g=e[13],f=e[14],y=e[15],b=e[16],k=e[17],j=e[18],w=e[19],_=e[20],N=e[21],z=e[22],S=e[23];return w!==Symbol.for("react.early_return_sentinel")?w:(e[33]!==x||e[34]!==_||e[35]!==N?(M=s.jsx(x,{header:_,files:N}),e[33]=x,e[34]=_,e[35]=N,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(Y,{Icon:ze,children:"Recent notebooks"}),e[37]=v):v=e[37],e[38]!==f.files?(I=s.jsx(ce,{header:v,files:f.files}),e[38]=f.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(Ce,{children:s.jsx(jt,{})}),e[40]=W):W=e[40],e[41]!==y||e[42]!==b||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==S?(D=s.jsxs("div",{className:z,children:[S,y,b,M,I,W]}),e[41]=y,e[42]=b,e[43]=M,e[44]=I,e[45]=z,e[46]=S,e[47]=D):D=e[47],e[48]!==p||e[49]!==k||e[50]!==j||e[51]!==D?(T=s.jsxs(p,{value:k,children:[j,D]}),e[48]=p,e[49]=k,e[50]=j,e[51]=D,e[52]=T):T=e[52],e[53]!==g||e[54]!==T?(L=s.jsx(g,{children:T}),e[53]=g,e[54]=T,e[55]=L):L=e[55],L)},jt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=V(),[a,o]=se(yt),[r,i]=P.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:d,error:h,isFetching:u,refetch:l}=E(n,c);if(m){let v;return e[5]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=v):v=e[5],v}if(h){let v,I;return e[6]!==h?(v=Me(h),e[6]=h,e[7]=v):v=e[7],e[8]!==v?(I=s.jsx(He,{kind:"danger",className:"rounded p-4",children:v}),e[8]=v,e[9]=I):I=e[9],I}let x,p,g,f,y,b,k,j,w,_,N,z,S,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ve,{size:13}),p=v=>i(v.target.value),e[10]=x,e[11]=p):(x=e[10],p=e[11]),e[12]!==r?(g=s.jsx(Ye,{id:"search",value:r,icon:x,onChange:p,placeholder:"Search",className:"mb-0 border-border"}),e[12]=r,e[13]=g):g=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(vt,{}),e[14]=f):f=e[14],e[15]!==o?(y=v=>o(!!v),e[15]=o,e[16]=y):y=e[16],e[17]!==a||e[18]!==y?(b=s.jsx(Be,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:y}),e[17]=a,e[18]=y,e[19]=b):b=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(Ue,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=k):k=e[20],e[21]!==g||e[22]!==b?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[g,f,b,k]}),e[21]=g,e[22]=b,e[23]=j):j=e[23],e[24]!==l?(w=s.jsx(Ge,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=w):w=e[25],e[26]!==u?(_=u&&s.jsx(J,{size:"small"}),e[26]=u,e[27]=_):_=e[27],e[28]!==w||e[29]!==_||e[30]!==j?(N=s.jsxs(Y,{Icon:dt,control:j,children:["Workspace",w,_]}),e[28]=w,e[29]=_,e[30]=j,e[31]=N):N=e[31],e[32]!==r||e[33]!==d.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(kt,{searchText:r,files:d.files})}),e[32]=r,e[33]=d.files,e[34]=z):z=e[34],e[35]!==N||e[36]!==z?(S=s.jsxs("div",{className:"flex flex-col gap-2",children:[N,z]}),e[35]=N,e[36]=z,e[37]=S):S=e[37],e[38]!==S||e[39]!==d.root?(M=s.jsx(ne,{value:d.root,children:S}),e[38]=S,e[39]=d.root,e[40]=M):M=e[40],M},vt=()=>{const e=C.c(5),t=Ie(ie);let a,o,r;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(qe,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2],e[3]!==a?(r=s.jsxs(q,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[o,"Collapse all"]}),e[3]=a,e[4]=r):r=e[4],r},kt=e=>{const t=C.c(12),{files:a,searchText:o}=e,[r,i]=se(ie),n=Object.keys(r).length===0,c=P.useRef(void 0);let m,d,h,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},d=[n],t[0]=n,t[1]=m,t[2]=d):(m=t[1],d=t[2]),P.useEffect(m,d),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==r||t[5]!==i?(h=async l=>{const x=r[l]??!1;i({...r,[l]:!x})},t[4]=r,t[5]=i,t[6]=h):h=t[6],t[7]!==a||t[8]!==r||t[9]!==o||t[10]!==h?(u=s.jsx(lt,{ref:c,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:Mt,data:a,openByDefault:!1,initialOpenState:r,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:It,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:wt}),t[7]=a,t[8]=r,t[9]=o,t[10]=h,t[11]=u):u=t[11],u},wt=e=>{const t=C.c(19),{node:a,style:o}=e,r=a.data.isDirectory?"directory":Pe(a.data.name),i=De[r];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=P.use(ne);let d;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(d=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const f=a.data.path.startsWith(m)&&re.isAbsolute(a.data.path)?re.rest(a.data.path,m):a.data.path,y=f.endsWith(".md")||f.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${f}`).toString(),target:le(f),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,y&&s.jsx(G,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:f}),s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=d):d=t[7];const h=d;let u,l,x,p,g;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=Te("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=f=>{f.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(Nt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==h?(p=h(),t[12]=h,t[13]=p):p=t[13],t[14]!==o||t[15]!==l||t[16]!==x||t[17]!==p?(g=s.jsxs("div",{style:o,className:u,onClick:l,children:[x,p]}),t[14]=o,t[15]=l,t[16]=x,t[17]=p,t[18]=g):g=t[18],g},Nt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=r):r=t[0],r}let o;return t[1]!==a.isOpen?(o=a.isOpen?s.jsx(Re,{className:"w-5 h-5 shrink-0"}):s.jsx(Oe,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=o):o=t[2],o},ce=e=>{const t=C.c(7),{header:a,files:o}=e;if(o.length===0)return null;let r,i,n;return t[0]!==o?(r=o.map(Pt),t[0]=o,t[1]=r):r=t[1],t[2]!==r?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:r}),t[2]=r,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},_t=e=>{const t=C.c(41),{file:a}=e,{locale:o}=we();let r;t[0]!==a.path?(r=Ne(a.path),t[0]=a.path,t[1]=r):r=t[1];const i=r;let n,c,m,d;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==i){const _=te(i?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let N;t[9]!==a.path?(N=a.path.endsWith(".md"),t[9]=a.path,t[10]=N):N=t[10],n=N,c="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",m=a.path,d=_.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=i,t[5]=n,t[6]=c,t[7]=m,t[8]=d}else n=t[5],c=t[6],m=t[7],d=t[8];const h=a.initializationId||a.path;let u,l,x,p,g,f,y,b,k,j,w;return t[11]!==h?(u=le(h),t[11]=h,t[12]=u):u=t[12],t[13]!==n?(l=n&&s.jsx("span",{className:"opacity-80",children:s.jsx(G,{})}),t[13]=n,t[14]=l):l=t[14],t[15]!==a.name||t[16]!==l?(x=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,l]}),t[15]=a.name,t[16]=l,t[17]=x):x=t[17],t[18]!==a.path?(p=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=p):p=t[19],t[20]!==x||t[21]!==p?(g=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[x,p]}),t[20]=x,t[21]=p,t[22]=g):g=t[22],t[23]!==a.path?(f=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=f):f=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=y):y=t[25],t[26]!==f?(b=s.jsxs("div",{className:"flex gap-3 items-center",children:[f,y]}),t[26]=f,t[27]=b):b=t[27],t[28]!==a.lastModified||t[29]!==o?(k=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:_e(1e3*a.lastModified,o)}),t[28]=a.lastModified,t[29]=o,t[30]=k):k=t[30],t[31]!==b||t[32]!==k?(j=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[b,k]}),t[31]=b,t[32]=k,t[33]=j):j=t[33],t[34]!==g||t[35]!==j||t[36]!==c||t[37]!==m||t[38]!==d||t[39]!==u?(w=s.jsxs("a",{className:c,href:d,target:u,children:[g,j]},m),t[34]=g,t[35]=j,t[36]=c,t[37]=m,t[38]=d,t[39]=u,t[40]=w):w=t[40],w},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:o,closeModal:r}=Se(),{shutdownSession:i}=V(),{runningNotebooks:n,setRunningNotebooks:c}=P.use(oe);if(!n.has(a))return null;let m,d,h;return t[0]!==r||t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Ae,{onClick:()=>{const l=n.get(a);We(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Dt))}),r(),Le({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=r,t[1]=a,t[2]=o,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(nt,{size:14}),t[7]=d):d=t[7],t[8]!==m?(h=s.jsx($e,{content:"Shutdown",children:s.jsx(q,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:d})}),t[8]=m,t[9]=h):h=t[9],h},St=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Fe(),e[0]=t):t=e[0];const a=t;let o,r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs("a",{className:`relative rounded-lg p-6 group
6
+ */const ct=W("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),dt=W("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),mt=W("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),ht=W("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ut={intro:["Introduction",ct,"Get started with marimo basics"],dataflow:["Dataflow",Qe,"Learn how cells interact with each other"],ui:["UI Elements",W("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",Z,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",ht,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",q,"Using marimo to edit markdown files"]},xt=()=>{const e=C.c(6),{openTutorial:t}=U();let a,r,o,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(mt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(ge,{asChild:!0,children:s.jsxs(E,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ye,{className:"w-3 h-3 ml-1"})]})}),e[1]=r):r=e[1],e[2]!==t?(o=he.entries(ut).map(n=>{const[c,m]=n,[d,h,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Xe(l.path)},children:[s.jsx(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:d}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=o):o=e[3],e[4]!==o?(i=s.jsxs(be,{children:[r,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:o})]}),e[4]=o,e[5]=i):i=e[5],i},ft=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Ze,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ke,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:et,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:tt,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:Z,url:A.releasesPage}],pt=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(V,{Icon:at,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:ft.map(gt)})]}),e[1]=a):a=e[1],a},V=e=>{const t=C.c(8),{Icon:a,control:r,children:o}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==o||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,o]}),t[2]=o,t[3]=i,t[4]=n):n=t[4],t[5]!==r||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,r]}),t[5]=r,t[6]=n,t[7]=c):c=t[7],c};function gt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const re=K.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=K.createContext(""),yt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${Ge()}-${encodeURIComponent(e)}`}const bt=()=>{const e=C.c(56),[t,a]=P.useState(0),{getRecentFiles:r,getRunningNotebooks:o}=U();let i,n;e[0]!==r?(i=()=>r(),e[0]=r,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=G(i,n);let m,d,h,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(zt)},d={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=d):(m=e[3],d=e[4]),st(m,d),e[5]!==o?(h=async()=>{const O=await o();return ae.keyBy(O.files,Ct)},e[5]=o,e[6]=h):h=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=G(h,u);let x,p,g,f,y,b,k,j,w,_,N,z,S,M,v,I,R,D,T,$;if(e[9]!==c||e[10]!==l){w=Symbol.for("react.early_return_sentinel");e:{const O=ke(c,l);if(O.error)throw O.error;const X=O.data;if(!X){let H;e[24]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx(J,{centered:!0,size:"xlarge"}),e[24]=H):H=e[24],w=H;break e}const[me,B]=X;let F,L;f=me,g=P.Suspense,p=re,k={runningNotebooks:B,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?(F=s.jsx(xt,{}),L=s.jsx(ot,{showAppConfig:!1}),e[25]=F,e[26]=L):(F=e[25],L=e[26]);const Y=`This will shutdown the notebook server and terminate all running notebooks (${B.size}). You'll lose all data that's in memory.`;e[27]!==Y?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[F,L,s.jsx(rt,{description:Y})]}),e[27]=Y,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),y=s.jsx(St,{}),b=s.jsx(pt,{}),e[29]=y,e[30]=b,e[31]=S):(y=e[29],b=e[30],S=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx(V,{Icon:it,children:"Running notebooks"}),e[32]=_):_=e[32],N=[...B.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=p,e[13]=g,e[14]=f,e[15]=y,e[16]=b,e[17]=k,e[18]=j,e[19]=w,e[20]=_,e[21]=N,e[22]=z,e[23]=S}else x=e[11],p=e[12],g=e[13],f=e[14],y=e[15],b=e[16],k=e[17],j=e[18],w=e[19],_=e[20],N=e[21],z=e[22],S=e[23];return w!==Symbol.for("react.early_return_sentinel")?w:(e[33]!==x||e[34]!==_||e[35]!==N?(M=s.jsx(x,{header:_,files:N}),e[33]=x,e[34]=_,e[35]=N,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(V,{Icon:ze,children:"Recent notebooks"}),e[37]=v):v=e[37],e[38]!==f.files?(I=s.jsx(ce,{header:v,files:f.files}),e[38]=f.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(R=s.jsx(Ce,{children:s.jsx(jt,{})}),e[40]=R):R=e[40],e[41]!==y||e[42]!==b||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==S?(D=s.jsxs("div",{className:z,children:[S,y,b,M,I,R]}),e[41]=y,e[42]=b,e[43]=M,e[44]=I,e[45]=z,e[46]=S,e[47]=D):D=e[47],e[48]!==p||e[49]!==k||e[50]!==j||e[51]!==D?(T=s.jsxs(p,{value:k,children:[j,D]}),e[48]=p,e[49]=k,e[50]=j,e[51]=D,e[52]=T):T=e[52],e[53]!==g||e[54]!==T?($=s.jsx(g,{children:T}),e[53]=g,e[54]=T,e[55]=$):$=e[55],$)},jt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=U(),[a,r]=se(yt),[o,i]=P.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:d,error:h,isFetching:u,refetch:l}=G(n,c);if(m){let v;return e[5]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=v):v=e[5],v}if(h){let v,I;return e[6]!==h?(v=Me(h),e[6]=h,e[7]=v):v=e[7],e[8]!==v?(I=s.jsx(He,{kind:"danger",className:"rounded p-4",children:v}),e[8]=v,e[9]=I):I=e[9],I}let x,p,g,f,y,b,k,j,w,_,N,z,S,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ue,{size:13}),p=v=>i(v.target.value),e[10]=x,e[11]=p):(x=e[10],p=e[11]),e[12]!==o?(g=s.jsx(Ve,{id:"search",value:o,icon:x,onChange:p,placeholder:"Search",className:"mb-0 border-border"}),e[12]=o,e[13]=g):g=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(vt,{}),e[14]=f):f=e[14],e[15]!==r?(y=v=>r(!!v),e[15]=r,e[16]=y):y=e[16],e[17]!==a||e[18]!==y?(b=s.jsx(Be,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:y}),e[17]=a,e[18]=y,e[19]=b):b=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(Ye,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=k):k=e[20],e[21]!==g||e[22]!==b?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[g,f,b,k]}),e[21]=g,e[22]=b,e[23]=j):j=e[23],e[24]!==l?(w=s.jsx(qe,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=w):w=e[25],e[26]!==u?(_=u&&s.jsx(J,{size:"small"}),e[26]=u,e[27]=_):_=e[27],e[28]!==w||e[29]!==_||e[30]!==j?(N=s.jsxs(V,{Icon:dt,control:j,children:["Workspace",w,_]}),e[28]=w,e[29]=_,e[30]=j,e[31]=N):N=e[31],e[32]!==o||e[33]!==d.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(kt,{searchText:o,files:d.files})}),e[32]=o,e[33]=d.files,e[34]=z):z=e[34],e[35]!==N||e[36]!==z?(S=s.jsxs("div",{className:"flex flex-col gap-2",children:[N,z]}),e[35]=N,e[36]=z,e[37]=S):S=e[37],e[38]!==S||e[39]!==d.root?(M=s.jsx(ne,{value:d.root,children:S}),e[38]=S,e[39]=d.root,e[40]=M):M=e[40],M},vt=()=>{const e=C.c(5),t=Ie(ie);let a,r,o;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(Ee,{className:"w-4 h-4 mr-1"}),e[2]=r):r=e[2],e[3]!==a?(o=s.jsxs(E,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[r,"Collapse all"]}),e[3]=a,e[4]=o):o=e[4],o},kt=e=>{const t=C.c(12),{files:a,searchText:r}=e,[o,i]=se(ie),n=Object.keys(o).length===0,c=P.useRef(void 0);let m,d,h,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},d=[n],t[0]=n,t[1]=m,t[2]=d):(m=t[1],d=t[2]),P.useEffect(m,d),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==o||t[5]!==i?(h=async l=>{const x=o[l]??!1;i({...o,[l]:!x})},t[4]=o,t[5]=i,t[6]=h):h=t[6],t[7]!==a||t[8]!==o||t[9]!==r||t[10]!==h?(u=s.jsx(lt,{ref:c,width:"100%",height:500,searchTerm:r,className:"h-full",idAccessor:Mt,data:a,openByDefault:!1,initialOpenState:o,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:It,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:wt}),t[7]=a,t[8]=o,t[9]=r,t[10]=h,t[11]=u):u=t[11],u},wt=e=>{const t=C.c(19),{node:a,style:r}=e,o=a.data.isDirectory?"directory":Pe(a.data.name),i=De[o];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=P.use(ne);let d;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(d=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const f=a.data.path.startsWith(m)&&oe.isAbsolute(a.data.path)?oe.rest(a.data.path,m):a.data.path,y=f.endsWith(".md")||f.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${f}`).toString(),target:le(f),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,y&&s.jsx(q,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:f}),s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=d):d=t[7];const h=d;let u,l,x,p,g;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=Te("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=f=>{f.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(Nt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==h?(p=h(),t[12]=h,t[13]=p):p=t[13],t[14]!==r||t[15]!==l||t[16]!==x||t[17]!==p?(g=s.jsxs("div",{style:r,className:u,onClick:l,children:[x,p]}),t[14]=r,t[15]=l,t[16]=x,t[17]=p,t[18]=g):g=t[18],g},Nt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let r;return t[1]!==a.isOpen?(r=a.isOpen?s.jsx(Oe,{className:"w-5 h-5 shrink-0"}):s.jsx(We,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=r):r=t[2],r},ce=e=>{const t=C.c(7),{header:a,files:r}=e;if(r.length===0)return null;let o,i,n;return t[0]!==r?(o=r.map(Pt),t[0]=r,t[1]=o):o=t[1],t[2]!==o?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:o}),t[2]=o,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},_t=e=>{const t=C.c(41),{file:a}=e,{locale:r}=we();let o;t[0]!==a.path?(o=Ne(a.path),t[0]=a.path,t[1]=o):o=t[1];const i=o;let n,c,m,d;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==i){const _=te(i?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let N;t[9]!==a.path?(N=a.path.endsWith(".md"),t[9]=a.path,t[10]=N):N=t[10],n=N,c="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",m=a.path,d=_.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=i,t[5]=n,t[6]=c,t[7]=m,t[8]=d}else n=t[5],c=t[6],m=t[7],d=t[8];const h=a.initializationId||a.path;let u,l,x,p,g,f,y,b,k,j,w;return t[11]!==h?(u=le(h),t[11]=h,t[12]=u):u=t[12],t[13]!==n?(l=n&&s.jsx("span",{className:"opacity-80",children:s.jsx(q,{})}),t[13]=n,t[14]=l):l=t[14],t[15]!==a.name||t[16]!==l?(x=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,l]}),t[15]=a.name,t[16]=l,t[17]=x):x=t[17],t[18]!==a.path?(p=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=p):p=t[19],t[20]!==x||t[21]!==p?(g=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[x,p]}),t[20]=x,t[21]=p,t[22]=g):g=t[22],t[23]!==a.path?(f=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=f):f=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=y):y=t[25],t[26]!==f?(b=s.jsxs("div",{className:"flex gap-3 items-center",children:[f,y]}),t[26]=f,t[27]=b):b=t[27],t[28]!==a.lastModified||t[29]!==r?(k=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:_e(1e3*a.lastModified,r)}),t[28]=a.lastModified,t[29]=r,t[30]=k):k=t[30],t[31]!==b||t[32]!==k?(j=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[b,k]}),t[31]=b,t[32]=k,t[33]=j):j=t[33],t[34]!==g||t[35]!==j||t[36]!==c||t[37]!==m||t[38]!==d||t[39]!==u?(w=s.jsxs("a",{className:c,href:d,target:u,children:[g,j]},m),t[34]=g,t[35]=j,t[36]=c,t[37]=m,t[38]=d,t[39]=u,t[40]=w):w=t[40],w},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:r,closeModal:o}=Se(),{shutdownSession:i}=U(),{runningNotebooks:n,setRunningNotebooks:c}=P.use(re);if(!n.has(a))return null;let m,d,h;return t[0]!==o||t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),r({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Ae,{onClick:()=>{const l=n.get(a);Re(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Dt))}),o(),$e({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=a,t[2]=r,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(nt,{size:14}),t[7]=d):d=t[7],t[8]!==m?(h=s.jsx(Fe,{content:"Shutdown",children:s.jsx(E,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:d})}),t[8]=m,t[9]=h):h=t[9],h},St=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Le(),e[0]=t):t=e[0];const a=t;let r,o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=r):r=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("a",{className:`relative rounded-lg p-6 group
7
7
  text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
8
8
  transition-all duration-300 cursor-pointer
9
- `,href:a,target:"_blank",rel:"noreferrer",children:[o,s.jsx("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:s.jsx(Q,{size:24})})]}),e[2]=r):r=e[2],r};function zt(e){return e+1}function Ct(e){return e.path}function Mt(e){return e.path}function It(){return null}function Pt(e){return s.jsx(_t,{file:e},e.path)}function Dt(e){return e.path}export{bt as default};
9
+ `,href:a,target:"_blank",rel:"noreferrer",children:[r,s.jsx("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:s.jsx(Q,{size:24})})]}),e[2]=o):o=e[2],o};function zt(e){return e+1}function Ct(e){return e.path}function Mt(e){return e.path}function It(){return null}function Pt(e){return s.jsx(_t,{file:e},e.path)}function Dt(e){return e.path}export{bt as default};
@@ -1 +1 @@
1
- import{f as P,e as g,o as R,q as o,h as $,y as l,s as c,t as r,n as Q}from"./index-CelXfcd8.js";const b=new Q(O=>{let e=O.pos;for(;;){if(O.next==10){O.advance();break}if(O.next==123&&O.peek(1)==123||O.next<0)break;O.advance()}O.pos>e&&O.acceptToken(1)});function n(O,e,a){return new Q(t=>{let q=t.pos;for(;t.next!=O&&t.next>=0&&(a||t.next!=38&&(t.next!=123||t.peek(1)!=123));)t.advance();t.pos>q&&t.acceptToken(e)})}const v=n(39,33,!1),m=n(34,34,!1),W=n(39,35,!0),d=n(34,36,!0),f=$.deserialize({version:14,states:"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO<<GrOOQO<<Gr<<GrOOQO1G/[1G/[OOOS-E6x-E6xOOQO1G.}1G.}OOOQ-E6y-E6yOOQOAN=^AN=^",stateData:"&d~OvOS~OPROSQOVROWRO~OZTO[XO^VOaUOhWO~OR]OU^O~O[`O^aO~O[bO~O[cO~O[dO~ObeO~ObfO~ObgO~ORhO~O]kOwiO~O[lO~O_mO~OynOzoO~OysOztO~O[uO~O]wOwiO~O_yOwiO~OtzO~Os|O~OSQOV!OOW!OOr!OOy!QO~OSQOV!ROW!ROq!ROz!QO~O_!TOwiO~O]!UO~Oy!VO~Oz!VO~OSQOV!OOW!OOr!OOy!XO~OSQOV!ROW!ROq!ROz!XO~O]!ZO~O",goto:"#dyPPPPPzPPPP!WPPPPP!WPP!Z!^!a!d!dP!g!j!m!p!v#Q#WPPPPPPPP#^SROSS!Os!PT!Rt!SRYPRqeR{nR}oRZPRqfR[PRqgQSOR_SQj`SvjxRxlQ!PsR!W!PQ!StR!Y!SQpeRrf",nodeNames:"\u26A0 Text Content }} {{ Interpolation InterpolationContent Entity InvalidEntity Attribute BoundAttributeName [ Identifier ] ( ) ReferenceName # Is ExpressionAttributeValue AttributeInterpolation AttributeInterpolation EventName DirectiveName * StatementAttributeValue AttributeName AttributeValue",maxTerm:42,nodeProps:[["openedBy",3,"{{",15,"("],["closedBy",4,"}}",14,")"],["isolate",-4,5,19,25,27,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"0r~RyOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mqr#rrs%jst&Qtv#rvw&hwx)zxy*byz*xz{+`{}#r}!O+v!O!P-]!P!Q#r!Q![+v![!]+v!]!_#r!_!`-s!`!c#r!c!}+v!}#O.Z#O#P#r#P#Q.q#Q#R#r#R#S+v#S#T#r#T#o+v#o#p/X#p#q#r#q#r0Z#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vQ#wTUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rQ$ZSO#q#r#r;'S#r;'S;=`$g<%lO#rQ$jP;=`<%l#rR$t[UQvPOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mq#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR%qTyPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&XTaPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&oXUQWPOp'[pq#rq!]'[!]!^#r!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R'aXUQOp'[pq#rq!]'[!]!^'|!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R(TTVPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR(gXOp'[pq#rq!]'[!]!^'|!^#q'[#q#r)S#r;'S'[;'S;=`)t<%lO'[P)VUOp)Sq!])S!]!^)i!^;'S)S;'S;=`)n<%lO)SP)nOVPP)qP;=`<%l)SR)wP;=`<%l'[R*RTzPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR*iT^PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+PT_PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+gThPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+}b[PUQO}#r}!O+v!O!Q#r!Q![+v![!]+v!]!c#r!c!}+v!}#R#r#R#S+v#S#T#r#T#o+v#o#q#r#q#r$W#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vR-YP;=`<%l+vR-dTwPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR-zTUQbPO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.bTZPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.xT]PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/^VUQO#o#r#o#p/s#p#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/zTSPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#r~0^TO#q#r#q#r0m#r;'S#r;'S;=`$g<%lO#r~0rOR~",tokenizers:[b,v,m,W,d,0,1],topRules:{Content:[0,2],Attribute:[1,9]},tokenPrec:0}),C=l.parser.configure({top:"SingleExpression"}),S=f.configure({props:[c({Text:r.content,Is:r.definitionOperator,AttributeName:r.attributeName,"AttributeValue ExpressionAttributeValue StatementAttributeValue":r.attributeValue,Entity:r.character,InvalidEntity:r.invalid,"BoundAttributeName/Identifier":r.attributeName,"EventName/Identifier":r.special(r.attributeName),"ReferenceName/Identifier":r.variableName,"DirectiveName/Identifier":r.keyword,"{{ }}":r.brace,"( )":r.paren,"[ ]":r.bracket,"# '*'":r.punctuation})]}),i={parser:C},T={parser:l.parser},x={parser:S.configure({wrap:o((O,e)=>O.name=="InterpolationContent"?i:null)})},V={parser:S.configure({wrap:o((O,e)=>{var a;return O.name=="InterpolationContent"?i:O.name!="AttributeInterpolation"?null:((a=O.node.parent)===null||a===void 0?void 0:a.name)=="StatementAttributeValue"?T:i}),top:"Attribute"})},p=R({selfClosingTags:!0});function s(O){return O.configure({wrap:o(U)},"angular")}const u=s(p.language);function U(O,e){switch(O.name){case"Attribute":return/^[*#(\[]|\{\{/.test(e.read(O.from,O.to))?V:null;case"Text":return x}return null}function w(O={}){let e=p;if(O.base){if(O.base.language.name!="html"||!(O.base.language instanceof P))throw new RangeError("The base option must be the result of calling html(...)");e=O.base}return new g(e.language==p.language?u:s(e.language),[e.support,e.language.data.of({closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/})])}export{w as angular,u as angularLanguage};
1
+ import{f as P,e as g,o as R,q as o,h as $,y as l,s as c,t as r,n as Q}from"./index-C1SHFMCp.js";const b=new Q(O=>{let e=O.pos;for(;;){if(O.next==10){O.advance();break}if(O.next==123&&O.peek(1)==123||O.next<0)break;O.advance()}O.pos>e&&O.acceptToken(1)});function n(O,e,a){return new Q(t=>{let q=t.pos;for(;t.next!=O&&t.next>=0&&(a||t.next!=38&&(t.next!=123||t.peek(1)!=123));)t.advance();t.pos>q&&t.acceptToken(e)})}const v=n(39,33,!1),m=n(34,34,!1),W=n(39,35,!0),d=n(34,36,!0),f=$.deserialize({version:14,states:"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO<<GrOOQO<<Gr<<GrOOQO1G/[1G/[OOOS-E6x-E6xOOQO1G.}1G.}OOOQ-E6y-E6yOOQOAN=^AN=^",stateData:"&d~OvOS~OPROSQOVROWRO~OZTO[XO^VOaUOhWO~OR]OU^O~O[`O^aO~O[bO~O[cO~O[dO~ObeO~ObfO~ObgO~ORhO~O]kOwiO~O[lO~O_mO~OynOzoO~OysOztO~O[uO~O]wOwiO~O_yOwiO~OtzO~Os|O~OSQOV!OOW!OOr!OOy!QO~OSQOV!ROW!ROq!ROz!QO~O_!TOwiO~O]!UO~Oy!VO~Oz!VO~OSQOV!OOW!OOr!OOy!XO~OSQOV!ROW!ROq!ROz!XO~O]!ZO~O",goto:"#dyPPPPPzPPPP!WPPPPP!WPP!Z!^!a!d!dP!g!j!m!p!v#Q#WPPPPPPPP#^SROSS!Os!PT!Rt!SRYPRqeR{nR}oRZPRqfR[PRqgQSOR_SQj`SvjxRxlQ!PsR!W!PQ!StR!Y!SQpeRrf",nodeNames:"\u26A0 Text Content }} {{ Interpolation InterpolationContent Entity InvalidEntity Attribute BoundAttributeName [ Identifier ] ( ) ReferenceName # Is ExpressionAttributeValue AttributeInterpolation AttributeInterpolation EventName DirectiveName * StatementAttributeValue AttributeName AttributeValue",maxTerm:42,nodeProps:[["openedBy",3,"{{",15,"("],["closedBy",4,"}}",14,")"],["isolate",-4,5,19,25,27,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"0r~RyOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mqr#rrs%jst&Qtv#rvw&hwx)zxy*byz*xz{+`{}#r}!O+v!O!P-]!P!Q#r!Q![+v![!]+v!]!_#r!_!`-s!`!c#r!c!}+v!}#O.Z#O#P#r#P#Q.q#Q#R#r#R#S+v#S#T#r#T#o+v#o#p/X#p#q#r#q#r0Z#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vQ#wTUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rQ$ZSO#q#r#r;'S#r;'S;=`$g<%lO#rQ$jP;=`<%l#rR$t[UQvPOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mq#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR%qTyPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&XTaPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&oXUQWPOp'[pq#rq!]'[!]!^#r!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R'aXUQOp'[pq#rq!]'[!]!^'|!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R(TTVPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR(gXOp'[pq#rq!]'[!]!^'|!^#q'[#q#r)S#r;'S'[;'S;=`)t<%lO'[P)VUOp)Sq!])S!]!^)i!^;'S)S;'S;=`)n<%lO)SP)nOVPP)qP;=`<%l)SR)wP;=`<%l'[R*RTzPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR*iT^PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+PT_PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+gThPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+}b[PUQO}#r}!O+v!O!Q#r!Q![+v![!]+v!]!c#r!c!}+v!}#R#r#R#S+v#S#T#r#T#o+v#o#q#r#q#r$W#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vR-YP;=`<%l+vR-dTwPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR-zTUQbPO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.bTZPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.xT]PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/^VUQO#o#r#o#p/s#p#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/zTSPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#r~0^TO#q#r#q#r0m#r;'S#r;'S;=`$g<%lO#r~0rOR~",tokenizers:[b,v,m,W,d,0,1],topRules:{Content:[0,2],Attribute:[1,9]},tokenPrec:0}),C=l.parser.configure({top:"SingleExpression"}),S=f.configure({props:[c({Text:r.content,Is:r.definitionOperator,AttributeName:r.attributeName,"AttributeValue ExpressionAttributeValue StatementAttributeValue":r.attributeValue,Entity:r.character,InvalidEntity:r.invalid,"BoundAttributeName/Identifier":r.attributeName,"EventName/Identifier":r.special(r.attributeName),"ReferenceName/Identifier":r.variableName,"DirectiveName/Identifier":r.keyword,"{{ }}":r.brace,"( )":r.paren,"[ ]":r.bracket,"# '*'":r.punctuation})]}),i={parser:C},T={parser:l.parser},x={parser:S.configure({wrap:o((O,e)=>O.name=="InterpolationContent"?i:null)})},V={parser:S.configure({wrap:o((O,e)=>{var a;return O.name=="InterpolationContent"?i:O.name!="AttributeInterpolation"?null:((a=O.node.parent)===null||a===void 0?void 0:a.name)=="StatementAttributeValue"?T:i}),top:"Attribute"})},p=R({selfClosingTags:!0});function s(O){return O.configure({wrap:o(U)},"angular")}const u=s(p.language);function U(O,e){switch(O.name){case"Attribute":return/^[*#(\[]|\{\{/.test(e.read(O.from,O.to))?V:null;case"Text":return x}return null}function w(O={}){let e=p;if(O.base){if(O.base.language.name!="html"||!(O.base.language instanceof P))throw new RangeError("The base option must be the result of calling html(...)");e=O.base}return new g(e.language==p.language?u:s(e.language),[e.support,e.language.data.of({closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/})])}export{w as angular,u as angularLanguage};