@marimo-team/frontend 0.23.5-dev5 → 0.23.5-dev7

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 (283) hide show
  1. package/dist/assets/{CellStatus-PIeZtHEl.js → CellStatus-DKMrz26-.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-BPVOWDZX.js → ConnectedDataExplorerComponent-DNoHDaQW.js} +1 -1
  3. package/dist/assets/{DeferredRequestRegistry-DjHgMr3S.js → DeferredRequestRegistry-CUzZ0y7K.js} +1 -1
  4. package/dist/assets/{ImperativeModal-BBqcKmmk.js → ImperativeModal-D7lQ0Q7_.js} +1 -1
  5. package/dist/assets/{JsonOutput-CsshJCMI.js → JsonOutput-Bw-rSneQ.js} +7 -7
  6. package/dist/assets/{LazyAnyLanguageCodeMirror-0gZO1asr.js → LazyAnyLanguageCodeMirror-BF3xpDgO.js} +2 -2
  7. package/dist/assets/{MarimoErrorOutput-B9_RO5eX.js → MarimoErrorOutput-Dbk0HqOA.js} +2 -2
  8. package/dist/assets/{RSPContexts-BeHIgT4C.js → RSPContexts-CINae4Gg.js} +1 -1
  9. package/dist/assets/RenderHTML-8cI8zL5y.js +1 -0
  10. package/dist/assets/RunButton-DHxYW_jZ.js +1 -0
  11. package/dist/assets/{add-cell-with-ai-DjfY8mF1.js → add-cell-with-ai-DfniMbLM.js} +8 -8
  12. package/dist/assets/{add-connection-dialog-BY0poJft.js → add-connection-dialog-C14LN8_M.js} +6 -6
  13. package/dist/assets/{agent-panel-BvH5q5xP.js → agent-panel-CkK6oJn7.js} +3 -3
  14. package/dist/assets/{ai-model-dropdown-By4Ohb0R.js → ai-model-dropdown-BFTnsrTP.js} +4 -4
  15. package/dist/assets/{any-language-editor-uGTbJddl.js → any-language-editor-C9DM60EN.js} +1 -1
  16. package/dist/assets/{app-config-button-YS8lpoUa.js → app-config-button-c_2rVezv.js} +1 -1
  17. package/dist/assets/{architectureDiagram-VXUJARFQ-Bkuya2Lz.js → architectureDiagram-VXUJARFQ-JNogHSZh.js} +1 -1
  18. package/dist/assets/{blockDiagram-VD42YOAC-BypAXGhs.js → blockDiagram-VD42YOAC-Dy-_c6-H.js} +1 -1
  19. package/dist/assets/{c4Diagram-YG6GDRKO-C8Q7ceaK.js → c4Diagram-YG6GDRKO-DHRUX7S-.js} +1 -1
  20. package/dist/assets/{cache-panel-BHTrsFvx.js → cache-panel-B_zs00Q_.js} +1 -1
  21. package/dist/assets/{cell-editor-B43gqTef.js → cell-editor-F9uW-xZK.js} +10 -10
  22. package/dist/assets/{cell-link-d38hFEon.js → cell-link-BRdZl0OJ.js} +1 -1
  23. package/dist/assets/{cells-A-ljPpuj.js → cells-CcBfzJ1Z.js} +51 -51
  24. package/dist/assets/channel-CWEEnT6g.js +1 -0
  25. package/dist/assets/{chat-display-Be0U92hE.js → chat-display-NiFkPnNN.js} +1 -1
  26. package/dist/assets/{chat-panel-BEz970S3.js → chat-panel-C6V6gxrr.js} +1 -1
  27. package/dist/assets/{chat-ui-CdW7awFa.js → chat-ui-BLiRBYhk.js} +1 -1
  28. package/dist/assets/{chunk-5FQGJX7Z-B4RvNAGm.js → chunk-5FQGJX7Z-e_arGD4o.js} +3 -3
  29. package/dist/assets/{chunk-ABZYJK2D-X_7JfTbo.js → chunk-ABZYJK2D-BInZW7OW.js} +1 -1
  30. package/dist/assets/{chunk-ATLVNIR6-BvOe4C7U.js → chunk-ATLVNIR6-_9Zaw7IP.js} +1 -1
  31. package/dist/assets/{chunk-B4BG7PRW-DuJr4Vxg.js → chunk-B4BG7PRW-Bg43tpY1.js} +1 -1
  32. package/dist/assets/{chunk-DI55MBZ5-U7-ld--F.js → chunk-DI55MBZ5-DX01Gov5.js} +1 -1
  33. package/dist/assets/{chunk-EXTU4WIE-B7W_a4w2.js → chunk-EXTU4WIE-Cwo9-IiR.js} +1 -1
  34. package/dist/assets/{chunk-JA3XYJ7Z-EueUUcXO.js → chunk-JA3XYJ7Z-C6cvGHie.js} +1 -1
  35. package/dist/assets/{chunk-JZLCHNYA-Bx4SqpPS.js → chunk-JZLCHNYA-BM-e2D_8.js} +1 -1
  36. package/dist/assets/{chunk-N4CR4FBY-DlrBiMsl.js → chunk-N4CR4FBY-BREYOeLP.js} +2 -2
  37. package/dist/assets/{chunk-QN33PNHL-DQrYk9Fj.js → chunk-QN33PNHL-DwGffwWu.js} +1 -1
  38. package/dist/assets/{chunk-QXUST7PY-COkAFJCN.js → chunk-QXUST7PY-Q2jlSUop.js} +1 -1
  39. package/dist/assets/{chunk-S3R3BYOJ-GS_DuFun.js → chunk-S3R3BYOJ-DGKPoF4U.js} +1 -1
  40. package/dist/assets/{chunk-TZMSLE5B-uYzKNbMS.js → chunk-TZMSLE5B-Bfbjtd_W.js} +1 -1
  41. package/dist/assets/classDiagram-2ON5EDUG-CBbpzZPu.js +1 -0
  42. package/dist/assets/classDiagram-v2-WZHVMYZB-B0cWCuuo.js +1 -0
  43. package/dist/assets/{code-block-37QAKDTI-JYeq6pxz.js → code-block-37QAKDTI-CtU_48GW.js} +1 -1
  44. package/dist/assets/{column-preview-DUPpv2dz.js → column-preview-8uxaalCj.js} +1 -1
  45. package/dist/assets/{command-CXDOCJwp.js → command-CBCkexpx.js} +1 -1
  46. package/dist/assets/{command-palette-B5AX7Cgd.js → command-palette-DicMKinS.js} +1 -1
  47. package/dist/assets/{common-DC9LEIym.js → common-CHmdPmWi.js} +1 -1
  48. package/dist/assets/{components-FepcpFGL.js → components-DVKf_7RU.js} +1 -1
  49. package/dist/assets/{components-BDnRtsA5.js → components-HCInimq-.js} +1 -1
  50. package/dist/assets/{config-ChCHm539.js → config-DczIUz0b.js} +1 -1
  51. package/dist/assets/{context-DGqo1TbK.js → context-B3MsQb-b.js} +1 -1
  52. package/dist/assets/{copy-icon-C67c9EwB.js → copy-icon-BYNydU7b.js} +1 -1
  53. package/dist/assets/{dagre-6UL2VRFP-DYsFeXDU.js → dagre-6UL2VRFP-DWD6iJku.js} +1 -1
  54. package/dist/assets/{data-grid-overlay-editor-BXZECgKd.js → data-grid-overlay-editor-DvZ8PZ2g.js} +1 -1
  55. package/dist/assets/{datasource-BCnGIjqn.js → datasource-Czm_KBfK.js} +2 -2
  56. package/dist/assets/{dates-DhByPWH5.js → dates-CAlnO9QB.js} +1 -1
  57. package/dist/assets/{dependency-graph-panel-k1WQZ4m-.js → dependency-graph-panel-DPKylrlr.js} +4 -4
  58. package/dist/assets/{diagram-PSM6KHXK-B8hv9RHG.js → diagram-PSM6KHXK-B_Cc0ttH.js} +1 -1
  59. package/dist/assets/{diagram-QEK2KX5R-G6A7hdno.js → diagram-QEK2KX5R-DhI0d2dH.js} +1 -1
  60. package/dist/assets/{diagram-S2PKOQOG-iaflbF2c.js → diagram-S2PKOQOG-cc2LNQee.js} +1 -1
  61. package/dist/assets/{dist-gG4VZW46.js → dist-A6v5-U3i.js} +1 -1
  62. package/dist/assets/{dist-C46P-i95.js → dist-B96NwXcp.js} +1 -1
  63. package/dist/assets/dist-BVBYIAbx.js +1 -0
  64. package/dist/assets/{dist-BMfl634h.js → dist-C204e66A.js} +1 -1
  65. package/dist/assets/{dist-COpce3-f.js → dist-CEUFTp7U.js} +1 -1
  66. package/dist/assets/{dist-DmZscTVZ.js → dist-CGDn0y-i.js} +1 -1
  67. package/dist/assets/{dist-BMGjzUx5.js → dist-CmTrDl8w.js} +1 -1
  68. package/dist/assets/{dist-nYyvRYnq.js → dist-Cmcbyg5X.js} +1 -1
  69. package/dist/assets/dist-Cn0rcGlX.js +1 -0
  70. package/dist/assets/{dist-CVTRujA4.js → dist-CwZoXpmG.js} +1 -1
  71. package/dist/assets/{dist-D68AVdXh.js → dist-Cwcldbhl.js} +1 -1
  72. package/dist/assets/{dist-CEysMnMQ.js → dist-DBiqbYe-.js} +1 -1
  73. package/dist/assets/dist-DMSWEOfO.js +1 -0
  74. package/dist/assets/{dist-Ds4ite_2.js → dist-DQOq2Tf-.js} +1 -1
  75. package/dist/assets/dist-Dn_fCOGr.js +1 -0
  76. package/dist/assets/dist-Dq4wQg6C.js +1 -0
  77. package/dist/assets/{dist-DC5pDLoK.js → dist-Dw9UX7x1.js} +1 -1
  78. package/dist/assets/dist-R7_s36kw.js +1 -0
  79. package/dist/assets/{dist-b7WC6dxf.js → dist-RsQv8CvG.js} +1 -1
  80. package/dist/assets/{dist-OWcDq-O3.js → dist-_XomGjg6.js} +1 -1
  81. package/dist/assets/{dist-0xasIeT1.js → dist-_qPWf6sD.js} +1 -1
  82. package/dist/assets/{dist-BtG3xAGt.js → dist-rzeRelEY.js} +1 -1
  83. package/dist/assets/{documentation-panel-BMrGuByB.js → documentation-panel-DZkIKuPv.js} +1 -1
  84. package/dist/assets/{download-Iyng0xCz.js → download-YUQiaxS9.js} +3 -3
  85. package/dist/assets/edit-page-BiiE4rVw.js +9 -0
  86. package/dist/assets/{erDiagram-Q2GNP2WA-DyZONgFt.js → erDiagram-Q2GNP2WA-CPtVWZYn.js} +1 -1
  87. package/dist/assets/{error-banner-CTBwdcdk.js → error-banner-C6aBa98y.js} +1 -1
  88. package/dist/assets/{error-panel-CHSsnRFF.js → error-panel-C4UQHEjp.js} +1 -1
  89. package/dist/assets/{es-YQvzKo5h.js → es-DaYh1PsD.js} +1 -1
  90. package/dist/assets/{esm-CbD72kxC.js → esm-BRNC35J6.js} +1 -1
  91. package/dist/assets/{esm-G1JMtvxe.js → esm-BmrwxxCo.js} +1 -1
  92. package/dist/assets/{field-B8kJgr2A.js → field-BrLPDxsA.js} +1 -1
  93. package/dist/assets/file-explorer-panel-Bq320epN.js +26 -0
  94. package/dist/assets/{file-icons-DTNZv05h.js → file-icons-CMxkj_kV.js} +1 -1
  95. package/dist/assets/{file-name-input-CLlFR7p-.js → file-name-input-C70pv8AE.js} +2 -2
  96. package/dist/assets/{floating-outline-CSNGDMAm.js → floating-outline-BtNnv2IX.js} +1 -1
  97. package/dist/assets/{flowDiagram-NV44I4VS-Bo2Wh9OF.js → flowDiagram-NV44I4VS-LeaIbfPS.js} +1 -1
  98. package/dist/assets/{focus-Baz7rlo0.js → focus-CXQpR65O.js} +1 -1
  99. package/dist/assets/{form-0wZOuqB-.js → form-x5lqxs04.js} +2 -2
  100. package/dist/assets/{formats-BvyJSIqk.js → formats-Dsc8AdCp.js} +1 -1
  101. package/dist/assets/{formatting-Cncf6ptO.js → formatting-TmuwpwTs.js} +1 -1
  102. package/dist/assets/{gallery-page-Ddl87lwR.js → gallery-page-C4kMatxN.js} +1 -1
  103. package/dist/assets/{ganttDiagram-JELNMOA3-Cc_BiCCk.js → ganttDiagram-JELNMOA3-Bj-STLOZ.js} +1 -1
  104. package/dist/assets/{gitGraphDiagram-V2S2FVAM-CGySG6ni.js → gitGraphDiagram-V2S2FVAM-B9HDL4DZ.js} +1 -1
  105. package/dist/assets/{glide-data-editor-Cr2RvoIz.js → glide-data-editor-CxV4Ph39.js} +4 -4
  106. package/dist/assets/{globals-xVhZei_S.js → globals-B-ZMi0ZU.js} +1 -1
  107. package/dist/assets/{home-page-QvO22-4u.js → home-page-CaIONOO0.js} +2 -2
  108. package/dist/assets/{hooks-BZOcKMEB.js → hooks-Dj8Y1kvn.js} +1 -1
  109. package/dist/assets/{square-Dj2Cf4ne.js → house-mGK3v0Mm.js} +1 -1
  110. package/dist/assets/{html-to-image-tbPEMBJg.js → html-to-image-BHdf1t5J.js} +1 -1
  111. package/dist/assets/{index-D48a2kB0.js → index-C3mazXKw.js} +7 -7
  112. package/dist/assets/{infoDiagram-HS3SLOUP-Ci2MRh_P.js → infoDiagram-HS3SLOUP-BDcw9LMK.js} +1 -1
  113. package/dist/assets/{input-DyPS_GiK.js → input-BX98vgAu.js} +1 -1
  114. package/dist/assets/{journeyDiagram-XKPGCS4Q-C9-9zg54.js → journeyDiagram-XKPGCS4Q-D29tj64e.js} +1 -1
  115. package/dist/assets/{kanban-definition-3W4ZIXB7-D4ivIK0L.js → kanban-definition-3W4ZIXB7-DStZ4tGj.js} +1 -1
  116. package/dist/assets/{kiosk-mode-cWTXpegb.js → kiosk-mode-vHMq9vr1.js} +1 -1
  117. package/dist/assets/layout-D-cLXGXf.js +9 -0
  118. package/dist/assets/{linear-Bn2iRj5i.js → linear-Cof2JLCQ.js} +1 -1
  119. package/dist/assets/{links-BHtUMVOq.js → links-iy4RlM-h.js} +1 -1
  120. package/dist/assets/{logs-panel-Dgkr6V7q.js → logs-panel-DL9WeQsv.js} +1 -1
  121. package/dist/assets/{markdown-renderer-CFrgiLqu.js → markdown-renderer-DmnGXdCp.js} +3 -3
  122. package/dist/assets/mermaid-4DMBBIKO-gHC2PS1m.js +1 -0
  123. package/dist/assets/{mermaid-D5Aj1ujy.js → mermaid-CXmjgj4p.js} +3 -3
  124. package/dist/assets/{mermaid-parser.core-DP6UBthl.js → mermaid-parser.core-BQULBKwL.js} +1 -1
  125. package/dist/assets/{mindmap-definition-VGOIOE7T-BBFkIzCl.js → mindmap-definition-VGOIOE7T-Cy9nt356.js} +1 -1
  126. package/dist/assets/{name-cell-input-C5LXTI3T.js → name-cell-input-CHuLB3H7.js} +1 -1
  127. package/dist/assets/{number-overlay-editor-Cu1bME8q.js → number-overlay-editor-8-GuvfJX.js} +1 -1
  128. package/dist/assets/{outline-panel-0lyts6z4.js → outline-panel-JaSUHnmD.js} +1 -1
  129. package/dist/assets/{packages-panel-BhI1lbfw.js → packages-panel-BB5_Iu2c.js} +1 -1
  130. package/dist/assets/{panels-8fPdoW9_.js → panels-LnVrD2Ph.js} +1 -1
  131. package/dist/assets/{pathUtils-CSrNy17a.js → pathUtils-DOhgNpTR.js} +1 -1
  132. package/dist/assets/{pieDiagram-ADFJNKIX-BYGTzW8w.js → pieDiagram-ADFJNKIX-CqhovvcK.js} +1 -1
  133. package/dist/assets/{precisionRound-CU2C3Vxx.js → precisionRound-C3fmBb6j.js} +1 -1
  134. package/dist/assets/{process-output-BwZ5VxXO.js → process-output-hJso9ugZ.js} +1 -1
  135. package/dist/assets/{quadrantDiagram-AYHSOK5B-D8NZ19FM.js → quadrantDiagram-AYHSOK5B-BNyiC3hL.js} +1 -1
  136. package/dist/assets/radio-group-6t7ozlnG.js +1 -0
  137. package/dist/assets/react-vega-C1LnPwEN.js +1 -0
  138. package/dist/assets/{react-vega-BQXvtE5G.js → react-vega-SibldZnp.js} +1 -1
  139. package/dist/assets/readonly-python-code-JBCsN3-9.js +1 -0
  140. package/dist/assets/{renderShortcut-CkNNAheg.js → renderShortcut-DZpkrZaP.js} +1 -1
  141. package/dist/assets/{request-registry-D-jptgP0.js → request-registry-BwzANGxx.js} +1 -1
  142. package/dist/assets/{requirementDiagram-UZGBJVZJ-lUcxJMXj.js → requirementDiagram-UZGBJVZJ-U4CoEx7e.js} +1 -1
  143. package/dist/assets/{reveal-component-LHeN9pMI.css → reveal-component-CMD1_gk8.css} +1 -1
  144. package/dist/assets/reveal-component-DvnP8FBq.js +91 -0
  145. package/dist/assets/{run-page-x3v_5tzv.js → run-page-DMkxXk3G.js} +1 -1
  146. package/dist/assets/{sankeyDiagram-TZEHDZUN-BJExQFWg.js → sankeyDiagram-TZEHDZUN-BXgCc5j4.js} +1 -1
  147. package/dist/assets/scratchpad-panel-CpKz-ArR.js +1 -0
  148. package/dist/assets/{secrets-panel-DeNY3rAp.js → secrets-panel-DaR50P_m.js} +1 -1
  149. package/dist/assets/{sequenceDiagram-WL72ISMW-DcfyJdc2.js → sequenceDiagram-WL72ISMW-CB8apKmu.js} +1 -1
  150. package/dist/assets/session-panel-DF0m0wH3.js +1 -0
  151. package/dist/assets/{share-BXN2Sd1t.js → share-DIVpiHPe.js} +1 -1
  152. package/dist/assets/{snippets-panel-CnN632Ki.js → snippets-panel-CQKr-OMs.js} +1 -1
  153. package/dist/assets/square-DMaNzePN.js +1 -0
  154. package/dist/assets/{state-svfaehZt.js → state-B34hXjp9.js} +1 -1
  155. package/dist/assets/{state-CikXvgx3.js → state-CraSoEHI.js} +3 -3
  156. package/dist/assets/{state-Bsz477is.js → state-DCT6JLba.js} +1 -1
  157. package/dist/assets/{state-CoWk7q5y.js → state-Z-H4o98V.js} +1 -1
  158. package/dist/assets/{stateDiagram-FKZM4ZOC-D379CBmo.js → stateDiagram-FKZM4ZOC-3YqeHe0_.js} +1 -1
  159. package/dist/assets/stateDiagram-v2-4FDKWEC3-Dfvjjqh4.js +1 -0
  160. package/dist/assets/stex-D6sqtveI.js +1 -0
  161. package/dist/assets/{swiper-component-DLxR3y4N.js → swiper-component-B-P7FNP9.js} +1 -1
  162. package/dist/assets/{switch-DlgpDZMk.js → switch-ecwOrzz3.js} +1 -1
  163. package/dist/assets/{terminal-D8ZS2O18.js → terminal-CQZ69wrS.js} +1 -1
  164. package/dist/assets/{textarea-Dd0InTQJ.js → textarea-BI_mXP9w.js} +1 -1
  165. package/dist/assets/{time-yM1OtSdb.js → time-C12vLLcl.js} +1 -1
  166. package/dist/assets/{timeline-definition-IT6M3QCI-ChCqM1Sl.js → timeline-definition-IT6M3QCI-DZQqxPSn.js} +1 -1
  167. package/dist/assets/{tracing-BZPLfSlB.js → tracing-BF-ca60a.js} +1 -1
  168. package/dist/assets/{tracing-panel-DBaQBraG.js → tracing-panel-D1j7Fbvr.js} +2 -2
  169. package/dist/assets/{tree-actions-oMCx6WNc.js → tree-actions-Ci3CV3hN.js} +1 -1
  170. package/dist/assets/{useBoolean-CLFdHewv.js → useBoolean-B_vDzBHf.js} +1 -1
  171. package/dist/assets/useCellActionButton-CcXV09GQ.js +1 -0
  172. package/dist/assets/{useDateFormatter-BEz9SEXo.js → useDateFormatter-CgFoBhVq.js} +1 -1
  173. package/dist/assets/{useDeleteCell-C2Stbb6Q.js → useDeleteCell-BVX9aH-t.js} +1 -1
  174. package/dist/assets/{useDependencyPanelTab-8WaMRWbo.js → useDependencyPanelTab-CewdyAAy.js} +1 -1
  175. package/dist/assets/{useInstallPackage-afgh7PwB.js → useInstallPackage-D0NLybAx.js} +1 -1
  176. package/dist/assets/useNotebookActions-CTBSmORR.js +1 -0
  177. package/dist/assets/{useNumberFormatter-wQU1z0W_.js → useNumberFormatter-DtiQW2H_.js} +1 -1
  178. package/dist/assets/{usePress-CtfZXGno.js → usePress-CfcdTqJM.js} +1 -1
  179. package/dist/assets/useRunCells-CgXnbA14.js +1 -0
  180. package/dist/assets/{useSplitCell-BZPuhd8z.js → useSplitCell-_Q2wQXsQ.js} +1 -1
  181. package/dist/assets/{utils-Bq5kLQ87.js → utils-CGtUbqcR.js} +1 -1
  182. package/dist/assets/{vega-component-BnaMdpJB.js → vega-component-BDK4MwYT.js} +1 -1
  183. package/dist/assets/{vega-loader.browser-DXARUlxo.js → vega-loader.browser-BegSZk0G.js} +1 -1
  184. package/dist/assets/{write-secret-modal-BfflSuL6.js → write-secret-modal-BFLUPDlo.js} +1 -1
  185. package/dist/assets/{xychartDiagram-PRI3JC2R-DVMdJM5H.js → xychartDiagram-PRI3JC2R-CmNNcgCM.js} +1 -1
  186. package/dist/index.html +105 -105
  187. package/package.json +1 -1
  188. package/src/components/editor/file-tree/file-explorer.tsx +38 -8
  189. package/src/components/editor/file-tree/file-operations.tsx +19 -2
  190. package/src/components/editor/notebook-cell.tsx +33 -23
  191. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +3 -5
  192. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +2 -17
  193. package/src/components/slides/reveal-component.tsx +159 -47
  194. package/src/components/slides/reveal-slides.css +8 -0
  195. package/src/components/slides/slide-cell-view.tsx +182 -0
  196. package/src/components/slides/slide-form.tsx +2 -0
  197. package/src/core/cells/utils.ts +45 -0
  198. package/src/core/islands/stubs/slide-cell-view.tsx +30 -0
  199. package/src/core/meta/__tests__/code-visibility.test.tsx +141 -0
  200. package/src/core/meta/code-visibility.ts +48 -0
  201. package/dist/assets/RenderHTML-DR6lqJGS.js +0 -1
  202. package/dist/assets/channel-BMMN1KqZ.js +0 -1
  203. package/dist/assets/classDiagram-2ON5EDUG-DDa_MJVI.js +0 -1
  204. package/dist/assets/classDiagram-v2-WZHVMYZB-dZzbS5Uq.js +0 -1
  205. package/dist/assets/dist-BN_qisx5.js +0 -1
  206. package/dist/assets/dist-Bzlk7AB1.js +0 -1
  207. package/dist/assets/dist-CPCp_PIz.js +0 -1
  208. package/dist/assets/dist-CPWl1X8t.js +0 -1
  209. package/dist/assets/dist-Cc_qFbl6.js +0 -1
  210. package/dist/assets/dist-Crt3qZze.js +0 -1
  211. package/dist/assets/edit-page-Lwy52pkS.js +0 -9
  212. package/dist/assets/file-explorer-panel-DSahRBWr.js +0 -26
  213. package/dist/assets/layout-DXt0aA4F.js +0 -9
  214. package/dist/assets/mermaid-4DMBBIKO-BqnaUv4V.js +0 -1
  215. package/dist/assets/radio-group-BtBoRbGH.js +0 -1
  216. package/dist/assets/react-vega-BVATzlrQ.js +0 -1
  217. package/dist/assets/readonly-python-code-B0nrQE3U.js +0 -1
  218. package/dist/assets/reveal-component-CgCn23Mw.js +0 -91
  219. package/dist/assets/scratchpad-panel-CHFYLvso.js +0 -1
  220. package/dist/assets/session-panel-DMaf7Upn.js +0 -1
  221. package/dist/assets/slide-form-Dmi4fzLs.js +0 -1
  222. package/dist/assets/stateDiagram-v2-4FDKWEC3-c0yeJ4is.js +0 -1
  223. package/dist/assets/stex-Dn4qnyVB.js +0 -1
  224. package/dist/assets/useAddCell-De9xD63_.js +0 -1
  225. package/dist/assets/useCellActionButton-Bjxun3wK.js +0 -1
  226. package/dist/assets/useNotebookActions-v4SgyM_0.js +0 -1
  227. package/dist/assets/useRunCells-DU1tawR-.js +0 -1
  228. /package/dist/assets/{Deferred-DxQeE5uh.js → Deferred-DMWKlZOV.js} +0 -0
  229. /package/dist/assets/{SSRProvider-D3zWcDme.js → SSRProvider-kyGHZp36.js} +0 -0
  230. /package/dist/assets/{alert-cDholnQq.js → alert-DvqcBMUv.js} +0 -0
  231. /package/dist/assets/{badge-ChrPsdTW.js → badge-C7-HR1IO.js} +0 -0
  232. /package/dist/assets/{blob-CTort_or.js → blob-D-eV0cU3.js} +0 -0
  233. /package/dist/assets/{bundle.esm-DU-4isVC.js → bundle.esm-BIoPrMH_.js} +0 -0
  234. /package/dist/assets/{copy-B5qyZn5s.js → copy-BCF-tANo.js} +0 -0
  235. /package/dist/assets/{copy-Dk_3y0H-.js → copy-BwrPA9zQ.js} +0 -0
  236. /package/dist/assets/{database-zap-BUVn5HoR.js → database-zap-kIkTfzTX.js} +0 -0
  237. /package/dist/assets/{defaultLocale-BLne0bXb.js → defaultLocale-B6z1Qyqt.js} +0 -0
  238. /package/dist/assets/{defaultLocale-JieDVWC_.js → defaultLocale-YteS-k_t.js} +0 -0
  239. /package/dist/assets/{dialog-EekxpBBM.js → dialog-Dj0qTFnG.js} +0 -0
  240. /package/dist/assets/{dist-CRPTyqAT.js → dist-B324sPca.js} +0 -0
  241. /package/dist/assets/{dist-DZ2qbK2N.js → dist-E6ttb8td.js} +0 -0
  242. /package/dist/assets/{dist-DGxytjtv.js → dist-VjDnmGCZ.js} +0 -0
  243. /package/dist/assets/{ellipsis-pk06Lq82.js → ellipsis-KAhMaCIV.js} +0 -0
  244. /package/dist/assets/{ellipsis-vertical-gxgNyR5G.js → ellipsis-vertical-CkwWkOQL.js} +0 -0
  245. /package/dist/assets/{emotion-is-prop-valid.esm-DYxi7n2b.js → emotion-is-prop-valid.esm-DD4AwVTU.js} +0 -0
  246. /package/dist/assets/{en-US-BqRooSzc.js → en-US-D_il4jD7.js} +0 -0
  247. /package/dist/assets/{errors-CZb6hI2x.js → errors-TZBmrJmc.js} +0 -0
  248. /package/dist/assets/{events-Qeh-bHlj.js → events-BRAWQiYK.js} +0 -0
  249. /package/dist/assets/{extends-Co37_JfG.js → extends-B2LJnKU3.js} +0 -0
  250. /package/dist/assets/{eye-off-BT-KOYV5.js → eye-off-n1Li95bE.js} +0 -0
  251. /package/dist/assets/{file-HTLbeC2b.js → file-BrdxGLRX.js} +0 -0
  252. /package/dist/assets/{file-headphone-B3fuktN0.js → file-headphone-BrQspHac.js} +0 -0
  253. /package/dist/assets/{github-raQvpeuZ.js → github-BKS_2Qwn.js} +0 -0
  254. /package/dist/assets/{icons-BRopQwI3.js → icons-D9TuFTJG.js} +0 -0
  255. /package/dist/assets/{isValid-bmSEa3HX.js → isValid-C8T5uJYI.js} +0 -0
  256. /package/dist/assets/{kbd-CGShmG7L.js → kbd-B3Breaz2.js} +0 -0
  257. /package/dist/assets/{links-C-rLiK3d.js → links-Dpap8NI2.js} +0 -0
  258. /package/dist/assets/{micromark-factory-space-WzovnJik.js → micromark-factory-space-DzSMahmM.js} +0 -0
  259. /package/dist/assets/{numbers-OHL_xBiC.js → numbers-CAW8yjzj.js} +0 -0
  260. /package/dist/assets/{objectWithoutPropertiesLoose-smPWkHxB.js → objectWithoutPropertiesLoose-DaPAPabU.js} +0 -0
  261. /package/dist/assets/{ordinal-DEaY__23.js → ordinal-K0JYqmCT.js} +0 -0
  262. /package/dist/assets/{paths-CXng2XQv.js → paths-BXWH6vv4.js} +0 -0
  263. /package/dist/assets/{preload-helper-D2MJg03u.js → preload-helper-DItdS47A.js} +0 -0
  264. /package/dist/assets/{prop-types-BFRDxSKF.js → prop-types-BiQYf0aU.js} +0 -0
  265. /package/dist/assets/{purify.es-DC4RGS9t.js → purify.es-DBmVz-Wl.js} +0 -0
  266. /package/dist/assets/{range-1DwpgXvM.js → range-7fnH_zLA.js} +0 -0
  267. /package/dist/assets/{react-icons.esm-BUYTQ32a.js → react-icons.esm-D9xfKaPZ.js} +0 -0
  268. /package/dist/assets/{react-resizable-panels.browser.esm-Bcm5njwd.js → react-resizable-panels.browser.esm-BUNcfKXO.js} +0 -0
  269. /package/dist/assets/{session-nmTRerwF.js → session-VtovaFBS.js} +0 -0
  270. /package/dist/assets/{stex-jWatZkll.js → stex-CtmkcLz7.js} +0 -0
  271. /package/dist/assets/{table-23NNA1s9.js → table-DPyRV1LT.js} +0 -0
  272. /package/dist/assets/{trash-2-D280Xiwg.js → trash-2-CKlZA04n.js} +0 -0
  273. /package/dist/assets/{trash-uYoPsR8D.js → trash-CdBDfa8x.js} +0 -0
  274. /package/dist/assets/{triangle-alert-DBoAWWKA.js → triangle-alert-B8l157gP.js} +0 -0
  275. /package/dist/assets/{use-toast-BDYuj3zG.js → use-toast-T0_cQDma.js} +0 -0
  276. /package/dist/assets/{useAsyncData-dS4Ne6pU.js → useAsyncData-BFC6lWG9.js} +0 -0
  277. /package/dist/assets/{useDebounce-BDIglWmG.js → useDebounce-CLMpJfhX.js} +0 -0
  278. /package/dist/assets/{useHotkey-Bx4wWQCL.js → useHotkey-Cm0DaHEJ.js} +0 -0
  279. /package/dist/assets/{useIframeCapabilities-CryCjoyY.js → useIframeCapabilities-BvE4n6hj.js} +0 -0
  280. /package/dist/assets/{useTheme-DEcgJENn.js → useTheme-Cb4Wekek.js} +0 -0
  281. /package/dist/assets/{uuid-DXdzqzcr.js → uuid-DercMavo.js} +0 -0
  282. /package/dist/assets/{workflow-DYcZF-oV.js → workflow-ClChd5xI.js} +0 -0
  283. /package/dist/assets/{youtube-3lRHw8NU.js → youtube-CbdpN8oL.js} +0 -0
package/dist/index.html CHANGED
@@ -66,21 +66,21 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-D48a2kB0.js"></script>
70
- <link rel="modulepreload" crossorigin href="./assets/preload-helper-D2MJg03u.js">
69
+ <script type="module" crossorigin src="./assets/index-C3mazXKw.js"></script>
70
+ <link rel="modulepreload" crossorigin href="./assets/preload-helper-DItdS47A.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
73
73
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-B3qBwwSJ.js">
74
74
  <link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BqBOg78p.js">
75
75
  <link rel="modulepreload" crossorigin href="./assets/useEventListener-BR0C1MaI.js">
76
- <link rel="modulepreload" crossorigin href="./assets/defaultLocale-JieDVWC_.js">
77
- <link rel="modulepreload" crossorigin href="./assets/precisionRound-CU2C3Vxx.js">
78
- <link rel="modulepreload" crossorigin href="./assets/defaultLocale-BLne0bXb.js">
79
- <link rel="modulepreload" crossorigin href="./assets/vega-loader.browser-DXARUlxo.js">
80
- <link rel="modulepreload" crossorigin href="./assets/utils-Bq5kLQ87.js">
76
+ <link rel="modulepreload" crossorigin href="./assets/defaultLocale-YteS-k_t.js">
77
+ <link rel="modulepreload" crossorigin href="./assets/precisionRound-C3fmBb6j.js">
78
+ <link rel="modulepreload" crossorigin href="./assets/defaultLocale-B6z1Qyqt.js">
79
+ <link rel="modulepreload" crossorigin href="./assets/vega-loader.browser-BegSZk0G.js">
80
+ <link rel="modulepreload" crossorigin href="./assets/utils-CGtUbqcR.js">
81
81
  <link rel="modulepreload" crossorigin href="./assets/clsx-Dz_KRrWq.js">
82
82
  <link rel="modulepreload" crossorigin href="./assets/cn-DCUzRj2J.js">
83
- <link rel="modulepreload" crossorigin href="./assets/badge-ChrPsdTW.js">
83
+ <link rel="modulepreload" crossorigin href="./assets/badge-C7-HR1IO.js">
84
84
  <link rel="modulepreload" crossorigin href="./assets/button-D9nb17Rw.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/react-dom-CSu739Rf.js">
86
86
  <link rel="modulepreload" crossorigin href="./assets/fullscreen-BDxedMYP.js">
@@ -91,7 +91,7 @@
91
91
  <link rel="modulepreload" crossorigin href="./assets/x-C-6liIBr.js">
92
92
  <link rel="modulepreload" crossorigin href="./assets/select-5i7URBEn.js">
93
93
  <link rel="modulepreload" crossorigin href="./assets/tooltip-Gcwqb_SK.js">
94
- <link rel="modulepreload" crossorigin href="./assets/use-toast-BDYuj3zG.js">
94
+ <link rel="modulepreload" crossorigin href="./assets/use-toast-T0_cQDma.js">
95
95
  <link rel="modulepreload" crossorigin href="./assets/useEvent-D91BmmQi.js">
96
96
  <link rel="modulepreload" crossorigin href="./assets/invariant-BUdrueMv.js">
97
97
  <link rel="modulepreload" crossorigin href="./assets/isObject-DvLSfCY5.js">
@@ -99,150 +99,150 @@
99
99
  <link rel="modulepreload" crossorigin href="./assets/merge-_9WLTEyt.js">
100
100
  <link rel="modulepreload" crossorigin href="./assets/zod-H_cgTO0M.js">
101
101
  <link rel="modulepreload" crossorigin href="./assets/utils-DIGrmLDO.js">
102
- <link rel="modulepreload" crossorigin href="./assets/Deferred-DxQeE5uh.js">
103
- <link rel="modulepreload" crossorigin href="./assets/uuid-DXdzqzcr.js">
104
- <link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-DjHgMr3S.js">
102
+ <link rel="modulepreload" crossorigin href="./assets/Deferred-DMWKlZOV.js">
103
+ <link rel="modulepreload" crossorigin href="./assets/uuid-DercMavo.js">
104
+ <link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-CUzZ0y7K.js">
105
105
  <link rel="modulepreload" crossorigin href="./assets/constants-DMpttj8Q.js">
106
- <link rel="modulepreload" crossorigin href="./assets/session-nmTRerwF.js">
107
- <link rel="modulepreload" crossorigin href="./assets/config-ChCHm539.js">
106
+ <link rel="modulepreload" crossorigin href="./assets/session-VtovaFBS.js">
107
+ <link rel="modulepreload" crossorigin href="./assets/config-DczIUz0b.js">
108
108
  <link rel="modulepreload" crossorigin href="./assets/requests-DIwGYs0l.js">
109
109
  <link rel="modulepreload" crossorigin href="./assets/useLifecycle-DieWOfXE.js">
110
110
  <link rel="modulepreload" crossorigin href="./assets/useNonce-DfoVjkkH.js">
111
- <link rel="modulepreload" crossorigin href="./assets/useTheme-DEcgJENn.js">
111
+ <link rel="modulepreload" crossorigin href="./assets/useTheme-Cb4Wekek.js">
112
112
  <link rel="modulepreload" crossorigin href="./assets/arrays-DYDL-3-i.js">
113
113
  <link rel="modulepreload" crossorigin href="./assets/strings-md4mFbOQ.js">
114
114
  <link rel="modulepreload" crossorigin href="./assets/once-DRroIaBz.js">
115
115
  <link rel="modulepreload" crossorigin href="./assets/capabilities-C_FLIcjP.js">
116
116
  <link rel="modulepreload" crossorigin href="./assets/createReducer-1ePoj7v6.js">
117
- <link rel="modulepreload" crossorigin href="./assets/paths-CXng2XQv.js">
117
+ <link rel="modulepreload" crossorigin href="./assets/paths-BXWH6vv4.js">
118
118
  <link rel="modulepreload" crossorigin href="./assets/dist-BrR4M-k3.js">
119
119
  <link rel="modulepreload" crossorigin href="./assets/dist-HlsDto3K.js">
120
120
  <link rel="modulepreload" crossorigin href="./assets/dist-CHcznzB-.js">
121
- <link rel="modulepreload" crossorigin href="./assets/dist-DGxytjtv.js">
122
- <link rel="modulepreload" crossorigin href="./assets/dist-DZ2qbK2N.js">
123
- <link rel="modulepreload" crossorigin href="./assets/dist-CEysMnMQ.js">
124
- <link rel="modulepreload" crossorigin href="./assets/dist-Ds4ite_2.js">
125
- <link rel="modulepreload" crossorigin href="./assets/dist-CRPTyqAT.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/dist-VjDnmGCZ.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/dist-E6ttb8td.js">
123
+ <link rel="modulepreload" crossorigin href="./assets/dist-DBiqbYe-.js">
124
+ <link rel="modulepreload" crossorigin href="./assets/dist-DQOq2Tf-.js">
125
+ <link rel="modulepreload" crossorigin href="./assets/dist-B324sPca.js">
126
126
  <link rel="modulepreload" crossorigin href="./assets/dist-C9ZB41s2.js">
127
- <link rel="modulepreload" crossorigin href="./assets/stex-jWatZkll.js">
127
+ <link rel="modulepreload" crossorigin href="./assets/stex-CtmkcLz7.js">
128
128
  <link rel="modulepreload" crossorigin href="./assets/toDate-B5A0DFEz.js">
129
- <link rel="modulepreload" crossorigin href="./assets/purify.es-DC4RGS9t.js">
129
+ <link rel="modulepreload" crossorigin href="./assets/purify.es-DBmVz-Wl.js">
130
130
  <link rel="modulepreload" crossorigin href="./assets/cjs-BRGiG41H.js">
131
131
  <link rel="modulepreload" crossorigin href="./assets/isSymbol-BT6B8Bon.js">
132
132
  <link rel="modulepreload" crossorigin href="./assets/now-CsYTPAhW.js">
133
133
  <link rel="modulepreload" crossorigin href="./assets/debounce-DhnxH9Rh.js">
134
- <link rel="modulepreload" crossorigin href="./assets/database-zap-BUVn5HoR.js">
134
+ <link rel="modulepreload" crossorigin href="./assets/database-zap-kIkTfzTX.js">
135
135
  <link rel="modulepreload" crossorigin href="./assets/main-B0OX4z33.js">
136
- <link rel="modulepreload" crossorigin href="./assets/cells-A-ljPpuj.js">
136
+ <link rel="modulepreload" crossorigin href="./assets/cells-CcBfzJ1Z.js">
137
137
  <link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-DzYV_VeY.js">
138
- <link rel="modulepreload" crossorigin href="./assets/kbd-CGShmG7L.js">
139
- <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-afgh7PwB.js">
138
+ <link rel="modulepreload" crossorigin href="./assets/kbd-B3Breaz2.js">
139
+ <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-D0NLybAx.js">
140
140
  <link rel="modulepreload" crossorigin href="./assets/alert-dialog-BGBdrcqJ.js">
141
- <link rel="modulepreload" crossorigin href="./assets/dialog-EekxpBBM.js">
142
- <link rel="modulepreload" crossorigin href="./assets/useDebounce-BDIglWmG.js">
143
- <link rel="modulepreload" crossorigin href="./assets/numbers-OHL_xBiC.js">
144
- <link rel="modulepreload" crossorigin href="./assets/SSRProvider-D3zWcDme.js">
145
- <link rel="modulepreload" crossorigin href="./assets/context-DGqo1TbK.js">
146
- <link rel="modulepreload" crossorigin href="./assets/useNumberFormatter-wQU1z0W_.js">
147
- <link rel="modulepreload" crossorigin href="./assets/usePress-CtfZXGno.js">
148
- <link rel="modulepreload" crossorigin href="./assets/input-DyPS_GiK.js">
149
- <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-BBqcKmmk.js">
150
- <link rel="modulepreload" crossorigin href="./assets/cell-link-d38hFEon.js">
141
+ <link rel="modulepreload" crossorigin href="./assets/dialog-Dj0qTFnG.js">
142
+ <link rel="modulepreload" crossorigin href="./assets/useDebounce-CLMpJfhX.js">
143
+ <link rel="modulepreload" crossorigin href="./assets/numbers-CAW8yjzj.js">
144
+ <link rel="modulepreload" crossorigin href="./assets/SSRProvider-kyGHZp36.js">
145
+ <link rel="modulepreload" crossorigin href="./assets/context-B3MsQb-b.js">
146
+ <link rel="modulepreload" crossorigin href="./assets/useNumberFormatter-DtiQW2H_.js">
147
+ <link rel="modulepreload" crossorigin href="./assets/usePress-CfcdTqJM.js">
148
+ <link rel="modulepreload" crossorigin href="./assets/input-BX98vgAu.js">
149
+ <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-D7lQ0Q7_.js">
150
+ <link rel="modulepreload" crossorigin href="./assets/cell-link-BRdZl0OJ.js">
151
151
  <link rel="modulepreload" crossorigin href="./assets/multi-map-rafH3cg3.js">
152
- <link rel="modulepreload" crossorigin href="./assets/alert-cDholnQq.js">
152
+ <link rel="modulepreload" crossorigin href="./assets/alert-DvqcBMUv.js">
153
153
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-CG5QYXYk.js">
154
154
  <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-D1A3cFC8.js">
155
- <link rel="modulepreload" crossorigin href="./assets/links-C-rLiK3d.js">
156
- <link rel="modulepreload" crossorigin href="./assets/useRunCells-DU1tawR-.js">
157
- <link rel="modulepreload" crossorigin href="./assets/copy-B5qyZn5s.js">
158
- <link rel="modulepreload" crossorigin href="./assets/copy-Dk_3y0H-.js">
159
- <link rel="modulepreload" crossorigin href="./assets/copy-icon-C67c9EwB.js">
160
- <link rel="modulepreload" crossorigin href="./assets/RenderHTML-DR6lqJGS.js">
161
- <link rel="modulepreload" crossorigin href="./assets/datasource-BCnGIjqn.js">
162
- <link rel="modulepreload" crossorigin href="./assets/state-Bsz477is.js">
155
+ <link rel="modulepreload" crossorigin href="./assets/links-Dpap8NI2.js">
156
+ <link rel="modulepreload" crossorigin href="./assets/useRunCells-CgXnbA14.js">
157
+ <link rel="modulepreload" crossorigin href="./assets/copy-BCF-tANo.js">
158
+ <link rel="modulepreload" crossorigin href="./assets/copy-BwrPA9zQ.js">
159
+ <link rel="modulepreload" crossorigin href="./assets/copy-icon-BYNydU7b.js">
160
+ <link rel="modulepreload" crossorigin href="./assets/RenderHTML-8cI8zL5y.js">
161
+ <link rel="modulepreload" crossorigin href="./assets/datasource-Czm_KBfK.js">
162
+ <link rel="modulepreload" crossorigin href="./assets/state-DCT6JLba.js">
163
163
  <link rel="modulepreload" crossorigin href="./assets/sparkles-CZ5WmLPA.js">
164
- <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-B9_RO5eX.js">
164
+ <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-Dbk0HqOA.js">
165
165
  <link rel="modulepreload" crossorigin href="./assets/spinner-Bhir8k53.js">
166
- <link rel="modulepreload" crossorigin href="./assets/html-to-image-tbPEMBJg.js">
167
- <link rel="modulepreload" crossorigin href="./assets/focus-Baz7rlo0.js">
168
- <link rel="modulepreload" crossorigin href="./assets/useAsyncData-dS4Ne6pU.js">
169
- <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-0gZO1asr.js">
170
- <link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-WzovnJik.js">
171
- <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-B4RvNAGm.js">
172
- <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-CFrgiLqu.js">
173
- <link rel="modulepreload" crossorigin href="./assets/command-CXDOCJwp.js">
166
+ <link rel="modulepreload" crossorigin href="./assets/html-to-image-BHdf1t5J.js">
167
+ <link rel="modulepreload" crossorigin href="./assets/focus-CXQpR65O.js">
168
+ <link rel="modulepreload" crossorigin href="./assets/useAsyncData-BFC6lWG9.js">
169
+ <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BF3xpDgO.js">
170
+ <link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-DzSMahmM.js">
171
+ <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-e_arGD4o.js">
172
+ <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-DmnGXdCp.js">
173
+ <link rel="modulepreload" crossorigin href="./assets/command-CBCkexpx.js">
174
174
  <link rel="modulepreload" crossorigin href="./assets/popover-UExmgBsf.js">
175
- <link rel="modulepreload" crossorigin href="./assets/errors-CZb6hI2x.js">
176
- <link rel="modulepreload" crossorigin href="./assets/download-Iyng0xCz.js">
177
- <link rel="modulepreload" crossorigin href="./assets/table-23NNA1s9.js">
178
- <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-CryCjoyY.js">
179
- <link rel="modulepreload" crossorigin href="./assets/error-banner-CTBwdcdk.js">
180
- <link rel="modulepreload" crossorigin href="./assets/formats-BvyJSIqk.js">
181
- <link rel="modulepreload" crossorigin href="./assets/en-US-BqRooSzc.js">
182
- <link rel="modulepreload" crossorigin href="./assets/isValid-bmSEa3HX.js">
183
- <link rel="modulepreload" crossorigin href="./assets/dates-DhByPWH5.js">
175
+ <link rel="modulepreload" crossorigin href="./assets/errors-TZBmrJmc.js">
176
+ <link rel="modulepreload" crossorigin href="./assets/download-YUQiaxS9.js">
177
+ <link rel="modulepreload" crossorigin href="./assets/table-DPyRV1LT.js">
178
+ <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-BvE4n6hj.js">
179
+ <link rel="modulepreload" crossorigin href="./assets/error-banner-C6aBa98y.js">
180
+ <link rel="modulepreload" crossorigin href="./assets/formats-Dsc8AdCp.js">
181
+ <link rel="modulepreload" crossorigin href="./assets/en-US-D_il4jD7.js">
182
+ <link rel="modulepreload" crossorigin href="./assets/isValid-C8T5uJYI.js">
183
+ <link rel="modulepreload" crossorigin href="./assets/dates-CAlnO9QB.js">
184
184
  <link rel="modulepreload" crossorigin href="./assets/maps-C48Oksn0.js">
185
- <link rel="modulepreload" crossorigin href="./assets/extends-Co37_JfG.js">
186
- <link rel="modulepreload" crossorigin href="./assets/emotion-is-prop-valid.esm-DYxi7n2b.js">
187
- <link rel="modulepreload" crossorigin href="./assets/useDateFormatter-BEz9SEXo.js">
188
- <link rel="modulepreload" crossorigin href="./assets/react-icons.esm-BUYTQ32a.js">
185
+ <link rel="modulepreload" crossorigin href="./assets/extends-B2LJnKU3.js">
186
+ <link rel="modulepreload" crossorigin href="./assets/emotion-is-prop-valid.esm-DD4AwVTU.js">
187
+ <link rel="modulepreload" crossorigin href="./assets/useDateFormatter-CgFoBhVq.js">
188
+ <link rel="modulepreload" crossorigin href="./assets/react-icons.esm-D9xfKaPZ.js">
189
189
  <link rel="modulepreload" crossorigin href="./assets/table-6NxtGaCm.js">
190
- <link rel="modulepreload" crossorigin href="./assets/ellipsis-pk06Lq82.js">
190
+ <link rel="modulepreload" crossorigin href="./assets/ellipsis-KAhMaCIV.js">
191
191
  <link rel="modulepreload" crossorigin href="./assets/message-circle-CWm2KnSx.js">
192
- <link rel="modulepreload" crossorigin href="./assets/trash-2-D280Xiwg.js">
193
- <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-Bcm5njwd.js">
194
- <link rel="modulepreload" crossorigin href="./assets/JsonOutput-CsshJCMI.js">
192
+ <link rel="modulepreload" crossorigin href="./assets/trash-2-CKlZA04n.js">
193
+ <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-BUNcfKXO.js">
194
+ <link rel="modulepreload" crossorigin href="./assets/JsonOutput-Bw-rSneQ.js">
195
195
  <link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-nqk474t8.js">
196
196
  <link rel="modulepreload" crossorigin href="./assets/square-function-D1dlJvD8.js">
197
197
  <link rel="modulepreload" crossorigin href="./assets/spec-Cq8FVoTf.js">
198
- <link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-gxgNyR5G.js">
198
+ <link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-CkwWkOQL.js">
199
199
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-DHwG4Mac.js">
200
- <link rel="modulepreload" crossorigin href="./assets/tree-actions-oMCx6WNc.js">
201
- <link rel="modulepreload" crossorigin href="./assets/components-FepcpFGL.js">
202
- <link rel="modulepreload" crossorigin href="./assets/column-preview-DUPpv2dz.js">
203
- <link rel="modulepreload" crossorigin href="./assets/icons-BRopQwI3.js">
204
- <link rel="modulepreload" crossorigin href="./assets/floating-outline-CSNGDMAm.js">
205
- <link rel="modulepreload" crossorigin href="./assets/useAddCell-De9xD63_.js">
206
- <link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-smPWkHxB.js">
207
- <link rel="modulepreload" crossorigin href="./assets/esm-G1JMtvxe.js">
208
- <link rel="modulepreload" crossorigin href="./assets/eye-off-BT-KOYV5.js">
200
+ <link rel="modulepreload" crossorigin href="./assets/tree-actions-Ci3CV3hN.js">
201
+ <link rel="modulepreload" crossorigin href="./assets/components-DVKf_7RU.js">
202
+ <link rel="modulepreload" crossorigin href="./assets/column-preview-8uxaalCj.js">
203
+ <link rel="modulepreload" crossorigin href="./assets/icons-D9TuFTJG.js">
204
+ <link rel="modulepreload" crossorigin href="./assets/radio-group-6t7ozlnG.js">
205
+ <link rel="modulepreload" crossorigin href="./assets/floating-outline-BtNnv2IX.js">
206
+ <link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-DaPAPabU.js">
207
+ <link rel="modulepreload" crossorigin href="./assets/esm-BmrwxxCo.js">
208
+ <link rel="modulepreload" crossorigin href="./assets/eye-off-n1Li95bE.js">
209
209
  <link rel="modulepreload" crossorigin href="./assets/plus-BgB18UzY.js">
210
- <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-B0nrQE3U.js">
211
- <link rel="modulepreload" crossorigin href="./assets/file-headphone-B3fuktN0.js">
212
- <link rel="modulepreload" crossorigin href="./assets/file-HTLbeC2b.js">
210
+ <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-JBCsN3-9.js">
211
+ <link rel="modulepreload" crossorigin href="./assets/file-headphone-BrQspHac.js">
212
+ <link rel="modulepreload" crossorigin href="./assets/file-BrdxGLRX.js">
213
213
  <link rel="modulepreload" crossorigin href="./assets/image-DQHXdEQn.js">
214
- <link rel="modulepreload" crossorigin href="./assets/file-icons-DTNZv05h.js">
215
- <link rel="modulepreload" crossorigin href="./assets/switch-DlgpDZMk.js">
216
- <link rel="modulepreload" crossorigin href="./assets/events-Qeh-bHlj.js">
217
- <link rel="modulepreload" crossorigin href="./assets/globals-xVhZei_S.js">
218
- <link rel="modulepreload" crossorigin href="./assets/share-BXN2Sd1t.js">
219
- <link rel="modulepreload" crossorigin href="./assets/blob-CTort_or.js">
214
+ <link rel="modulepreload" crossorigin href="./assets/file-icons-CMxkj_kV.js">
215
+ <link rel="modulepreload" crossorigin href="./assets/switch-ecwOrzz3.js">
216
+ <link rel="modulepreload" crossorigin href="./assets/events-BRAWQiYK.js">
217
+ <link rel="modulepreload" crossorigin href="./assets/globals-B-ZMi0ZU.js">
218
+ <link rel="modulepreload" crossorigin href="./assets/share-DIVpiHPe.js">
219
+ <link rel="modulepreload" crossorigin href="./assets/blob-D-eV0cU3.js">
220
220
  <link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
221
221
  <link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
222
222
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-CxV9N1bc.js">
223
- <link rel="modulepreload" crossorigin href="./assets/state-CikXvgx3.js">
223
+ <link rel="modulepreload" crossorigin href="./assets/state-CraSoEHI.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/label-DTR8T0AE.js">
225
- <link rel="modulepreload" crossorigin href="./assets/textarea-Dd0InTQJ.js">
226
- <link rel="modulepreload" crossorigin href="./assets/radio-group-BtBoRbGH.js">
225
+ <link rel="modulepreload" crossorigin href="./assets/textarea-BI_mXP9w.js">
227
226
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-C-n2VFP5.js">
228
- <link rel="modulepreload" crossorigin href="./assets/form-0wZOuqB-.js">
229
- <link rel="modulepreload" crossorigin href="./assets/renderShortcut-CkNNAheg.js">
230
- <link rel="modulepreload" crossorigin href="./assets/field-B8kJgr2A.js">
231
- <link rel="modulepreload" crossorigin href="./assets/RSPContexts-BeHIgT4C.js">
232
- <link rel="modulepreload" crossorigin href="./assets/useBoolean-CLFdHewv.js">
227
+ <link rel="modulepreload" crossorigin href="./assets/form-x5lqxs04.js">
228
+ <link rel="modulepreload" crossorigin href="./assets/renderShortcut-DZpkrZaP.js">
229
+ <link rel="modulepreload" crossorigin href="./assets/field-BrLPDxsA.js">
230
+ <link rel="modulepreload" crossorigin href="./assets/RSPContexts-CINae4Gg.js">
231
+ <link rel="modulepreload" crossorigin href="./assets/useBoolean-B_vDzBHf.js">
233
232
  <link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-D0WTlCXt.js">
234
233
  <link rel="modulepreload" crossorigin href="./assets/types-W8WWuumF.js">
235
234
  <link rel="modulepreload" crossorigin href="./assets/fileToBase64-Bzn96tYq.js">
236
- <link rel="modulepreload" crossorigin href="./assets/pathUtils-CSrNy17a.js">
237
- <link rel="modulepreload" crossorigin href="./assets/prop-types-BFRDxSKF.js">
238
- <link rel="modulepreload" crossorigin href="./assets/es-YQvzKo5h.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/pathUtils-DOhgNpTR.js">
236
+ <link rel="modulepreload" crossorigin href="./assets/prop-types-BiQYf0aU.js">
237
+ <link rel="modulepreload" crossorigin href="./assets/es-DaYh1PsD.js">
239
238
  <link rel="modulepreload" crossorigin href="./assets/hasIn-DiS_ryrS.js">
240
239
  <link rel="modulepreload" crossorigin href="./assets/flatten-Dl4V1ub3.js">
241
240
  <link rel="modulepreload" crossorigin href="./assets/pick-DqWUNly1.js">
242
241
  <link rel="modulepreload" crossorigin href="./assets/code-xml-CZN6vNxu.js">
243
- <link rel="modulepreload" crossorigin href="./assets/square-Dj2Cf4ne.js">
244
- <link rel="modulepreload" crossorigin href="./assets/triangle-alert-DBoAWWKA.js">
245
- <link rel="modulepreload" crossorigin href="./assets/bundle.esm-DU-4isVC.js">
242
+ <link rel="modulepreload" crossorigin href="./assets/house-mGK3v0Mm.js">
243
+ <link rel="modulepreload" crossorigin href="./assets/square-DMaNzePN.js">
244
+ <link rel="modulepreload" crossorigin href="./assets/triangle-alert-B8l157gP.js">
245
+ <link rel="modulepreload" crossorigin href="./assets/bundle.esm-BIoPrMH_.js">
246
246
  <link rel="stylesheet" crossorigin href="./assets/cells-jmgGt1lS.css">
247
247
  <link rel="stylesheet" crossorigin href="./assets/markdown-renderer-DdDKmWlR.css">
248
248
  <link rel="stylesheet" crossorigin href="./assets/JsonOutput-B7vuddcd.css">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.5-dev5",
3
+ "version": "0.23.5-dev7",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -523,7 +523,10 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
523
523
  iconClassName="w-5 h-5"
524
524
  >
525
525
  {!node.data.isDirectory && (
526
- <DropdownMenuItem onSelect={() => node.select()}>
526
+ <DropdownMenuItem
527
+ onSelect={() => node.select()}
528
+ data-testid="file-explorer-open-file-menu-item"
529
+ >
527
530
  <ViewIcon className={MENU_ITEM_ICON_CLASS} />
528
531
  Open file
529
532
  </DropdownMenuItem>
@@ -533,6 +536,7 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
533
536
  onSelect={() => {
534
537
  openFile({ path: node.data.path });
535
538
  }}
539
+ data-testid="file-explorer-open-external-menu-item"
536
540
  >
537
541
  <ExternalLinkIcon className={MENU_ITEM_ICON_CLASS} />
538
542
  Open file in external editor
@@ -540,28 +544,44 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
540
544
  )}
541
545
  {node.data.isDirectory && (
542
546
  <>
543
- <DropdownMenuItem onSelect={() => handleCreateNotebook()}>
547
+ <DropdownMenuItem
548
+ onSelect={() => handleCreateNotebook()}
549
+ data-testid="file-explorer-create-notebook-menu-item"
550
+ >
544
551
  <MarimoPlusIcon className={MENU_ITEM_ICON_CLASS} />
545
552
  Create notebook
546
553
  </DropdownMenuItem>
547
- <DropdownMenuItem onSelect={() => handleCreateFile()}>
554
+ <DropdownMenuItem
555
+ onSelect={() => handleCreateFile()}
556
+ data-testid="file-explorer-create-file-menu-item"
557
+ >
548
558
  <FilePlus2Icon className={MENU_ITEM_ICON_CLASS} />
549
559
  Create file
550
560
  </DropdownMenuItem>
551
- <DropdownMenuItem onSelect={() => handleCreateFolder()}>
561
+ <DropdownMenuItem
562
+ onSelect={() => handleCreateFolder()}
563
+ data-testid="file-explorer-create-folder-menu-item"
564
+ >
552
565
  <FolderPlusIcon className={MENU_ITEM_ICON_CLASS} />
553
566
  Create folder
554
567
  </DropdownMenuItem>
555
568
  <DropdownMenuSeparator />
556
569
  </>
557
570
  )}
558
- <RenameMenuItem onSelect={() => node.edit()} />
559
- <DuplicateMenuItem onSelect={handleDuplicate} />
571
+ <RenameMenuItem
572
+ onSelect={() => node.edit()}
573
+ testId="file-explorer-rename-menu-item"
574
+ />
575
+ <DuplicateMenuItem
576
+ onSelect={handleDuplicate}
577
+ testId="file-explorer-duplicate-menu-item"
578
+ />
560
579
  <DropdownMenuItem
561
580
  onSelect={async () => {
562
581
  await copyToClipboard(node.data.path);
563
582
  toast({ title: "Copied to clipboard" });
564
583
  }}
584
+ data-testid="file-explorer-copy-path-menu-item"
565
585
  >
566
586
  <ListTreeIcon className={MENU_ITEM_ICON_CLASS} />
567
587
  Copy path
@@ -574,6 +594,7 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
574
594
  );
575
595
  toast({ title: "Copied to clipboard" });
576
596
  }}
597
+ data-testid="file-explorer-copy-relative-path-menu-item"
577
598
  >
578
599
  <ListTreeIcon className={MENU_ITEM_ICON_CLASS} />
579
600
  Copy relative path
@@ -586,6 +607,7 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
586
607
  const pythonCode = PYTHON_CODE_FOR_FILE_TYPE[fileType](path);
587
608
  handleInsertCode(pythonCode);
588
609
  }}
610
+ data-testid="file-explorer-insert-snippet-menu-item"
589
611
  >
590
612
  <BetweenHorizontalStartIcon className={MENU_ITEM_ICON_CLASS} />
591
613
  Insert snippet for reading file
@@ -601,6 +623,7 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
601
623
  const pythonCode = PYTHON_CODE_FOR_FILE_TYPE[fileType](path);
602
624
  await copyToClipboard(pythonCode);
603
625
  }}
626
+ data-testid="file-explorer-copy-snippet-menu-item"
604
627
  >
605
628
  <BracesIcon className={MENU_ITEM_ICON_CLASS} />
606
629
  Copy snippet for reading file
@@ -608,7 +631,10 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
608
631
  {node.data.isMarimoFile && !isWasm() && (
609
632
  <>
610
633
  <DropdownMenuSeparator />
611
- <DropdownMenuItem onSelect={handleOpenMarimoFile}>
634
+ <DropdownMenuItem
635
+ onSelect={handleOpenMarimoFile}
636
+ data-testid="file-explorer-open-notebook-menu-item"
637
+ >
612
638
  <PlaySquareIcon className={MENU_ITEM_ICON_CLASS} />
613
639
  Open notebook
614
640
  </DropdownMenuItem>
@@ -637,6 +663,7 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
637
663
  );
638
664
  }
639
665
  }}
666
+ data-testid="file-explorer-download-menu-item"
640
667
  >
641
668
  <DownloadIcon className={MENU_ITEM_ICON_CLASS} />
642
669
  Download
@@ -644,7 +671,10 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
644
671
  <DropdownMenuSeparator />
645
672
  </>
646
673
  )}
647
- <DeleteMenuItem onSelect={handleDeleteFile} />
674
+ <DeleteMenuItem
675
+ onSelect={handleDeleteFile}
676
+ testId="file-explorer-delete-menu-item"
677
+ />
648
678
  </FileActionsDropdown>
649
679
  </span>
650
680
  </div>
@@ -219,12 +219,19 @@ export const RenameMenuItem = ({
219
219
  onSelect,
220
220
  disabled,
221
221
  title,
222
+ testId,
222
223
  }: {
223
224
  onSelect: (evt: Event) => void;
224
225
  disabled?: boolean;
225
226
  title?: string;
227
+ testId?: string;
226
228
  }) => (
227
- <DropdownMenuItem onSelect={onSelect} disabled={disabled} title={title}>
229
+ <DropdownMenuItem
230
+ onSelect={onSelect}
231
+ disabled={disabled}
232
+ title={title}
233
+ data-testid={testId}
234
+ >
228
235
  <Edit3Icon className={MENU_ITEM_ICON_CLASS} />
229
236
  Rename
230
237
  </DropdownMenuItem>
@@ -234,12 +241,19 @@ export const DuplicateMenuItem = ({
234
241
  onSelect,
235
242
  disabled,
236
243
  title,
244
+ testId,
237
245
  }: {
238
246
  onSelect: (evt: Event) => void;
239
247
  disabled?: boolean;
240
248
  title?: string;
249
+ testId?: string;
241
250
  }) => (
242
- <DropdownMenuItem onSelect={onSelect} disabled={disabled} title={title}>
251
+ <DropdownMenuItem
252
+ onSelect={onSelect}
253
+ disabled={disabled}
254
+ title={title}
255
+ data-testid={testId}
256
+ >
243
257
  <CopyIcon className={MENU_ITEM_ICON_CLASS} />
244
258
  Duplicate
245
259
  </DropdownMenuItem>
@@ -249,16 +263,19 @@ export const DeleteMenuItem = ({
249
263
  onSelect,
250
264
  disabled,
251
265
  title,
266
+ testId,
252
267
  }: {
253
268
  onSelect: (evt: Event) => void;
254
269
  disabled?: boolean;
255
270
  title?: string;
271
+ testId?: string;
256
272
  }) => (
257
273
  <DropdownMenuItem
258
274
  onSelect={onSelect}
259
275
  variant="danger"
260
276
  disabled={disabled}
261
277
  title={title}
278
+ data-testid={testId}
262
279
  >
263
280
  <Trash2Icon className={MENU_ITEM_ICON_CLASS} />
264
281
  Delete
@@ -48,7 +48,11 @@ import {
48
48
  useCellRuntime,
49
49
  } from "../../core/cells/cells";
50
50
  import { type CellId, SETUP_CELL_ID } from "../../core/cells/ids";
51
- import { isUninstantiated } from "../../core/cells/utils";
51
+ import {
52
+ cellNeedsRun,
53
+ cellStatusClasses,
54
+ isUninstantiated,
55
+ } from "../../core/cells/utils";
52
56
  import type { UserConfig } from "../../core/config/config-schema";
53
57
  import { isAppInteractionDisabled } from "../../core/websocket/connection-utils";
54
58
  import { useCellRenderCount } from "../../hooks/useCellRenderCount";
@@ -390,9 +394,6 @@ const EditableCellComponent = ({
390
394
 
391
395
  const [languageAdapter, setLanguageAdapter] = useState<LanguageAdapterType>();
392
396
 
393
- const disabledOrAncestorDisabled =
394
- cellData.config.disabled || cellRuntime.status === "disabled-transitively";
395
-
396
397
  const uninstantiated = isUninstantiated({
397
398
  executionTime: cellRuntime.runElapsedTimeMs ?? cellData.lastExecutionTime,
398
399
  status: cellRuntime.status,
@@ -401,10 +402,13 @@ const EditableCellComponent = ({
401
402
  stopped: cellRuntime.stopped,
402
403
  });
403
404
 
404
- const needsRun =
405
- cellData.edited ||
406
- cellRuntime.interrupted ||
407
- (cellRuntime.staleInputs && !disabledOrAncestorDisabled);
405
+ const needsRun = cellNeedsRun({
406
+ edited: cellData.edited,
407
+ interrupted: cellRuntime.interrupted,
408
+ staleInputs: cellRuntime.staleInputs,
409
+ disabled: cellData.config.disabled,
410
+ status: cellRuntime.status,
411
+ });
408
412
 
409
413
  const loading = outputIsLoading(cellRuntime.status);
410
414
 
@@ -532,11 +536,13 @@ const EditableCellComponent = ({
532
536
 
533
537
  const className = clsx("marimo-cell", "hover-actions-parent z-10", {
534
538
  interactive: true,
535
- "needs-run": needsRun,
536
- "has-error": cellRuntime.errored,
537
- stopped: cellRuntime.stopped,
538
- disabled: cellData.config.disabled,
539
- stale: cellRuntime.status === "disabled-transitively",
539
+ ...cellStatusClasses({
540
+ needsRun,
541
+ errored: cellRuntime.errored,
542
+ stopped: cellRuntime.stopped,
543
+ disabled: cellData.config.disabled,
544
+ status: cellRuntime.status,
545
+ }),
540
546
  borderless:
541
547
  isMarkdownCodeHidden && hasOutput && !navigationProps["data-selected"],
542
548
  });
@@ -979,9 +985,6 @@ const SetupCellComponent = ({
979
985
  const setAiCompletionCell = useSetAtom(aiCompletionCellAtom);
980
986
  const runCell = useRunCell(cellId);
981
987
 
982
- const disabledOrAncestorDisabled =
983
- cellData.config.disabled || cellRuntime.status === "disabled-transitively";
984
-
985
988
  const uninstantiated = isUninstantiated({
986
989
  executionTime: cellRuntime.runElapsedTimeMs ?? cellData.lastExecutionTime,
987
990
  status: cellRuntime.status,
@@ -990,10 +993,13 @@ const SetupCellComponent = ({
990
993
  stopped: cellRuntime.stopped,
991
994
  });
992
995
 
993
- const needsRun =
994
- cellData.edited ||
995
- cellRuntime.interrupted ||
996
- (cellRuntime.staleInputs && !disabledOrAncestorDisabled);
996
+ const needsRun = cellNeedsRun({
997
+ edited: cellData.edited,
998
+ interrupted: cellRuntime.interrupted,
999
+ staleInputs: cellRuntime.staleInputs,
1000
+ disabled: cellData.config.disabled,
1001
+ status: cellRuntime.status,
1002
+ });
997
1003
  const loading =
998
1004
  cellRuntime.status === "running" || cellRuntime.status === "queued";
999
1005
 
@@ -1034,9 +1040,13 @@ const SetupCellComponent = ({
1034
1040
 
1035
1041
  const className = clsx("marimo-cell", "hover-actions-parent z-10", {
1036
1042
  interactive: true,
1037
- "needs-run": needsRun,
1038
- "has-error": cellRuntime.errored,
1039
- stopped: cellRuntime.stopped,
1043
+ ...cellStatusClasses({
1044
+ needsRun,
1045
+ errored: cellRuntime.errored,
1046
+ stopped: cellRuntime.stopped,
1047
+ disabled: cellData.config.disabled,
1048
+ status: cellRuntime.status,
1049
+ }),
1040
1050
  });
1041
1051
 
1042
1052
  const handleRefactorWithAI: OnRefactorWithAI = useEvent(