@marimo-team/frontend 0.20.5-dev45 → 0.20.5-dev48

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 (278) hide show
  1. package/dist/assets/{CellStatus-rawm41sF.js → CellStatus-Ca1hP5DG.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-BmrDShEI.js → ConnectedDataExplorerComponent-Bwz_rRfP.js} +1 -1
  3. package/dist/assets/{DeferredRequestRegistry-TekxUirp.js → DeferredRequestRegistry-CMZsNx4R.js} +1 -1
  4. package/dist/assets/{ImperativeModal-BvRpI5NU.js → ImperativeModal-D-MySjpQ.js} +1 -1
  5. package/dist/assets/{JsonOutput-D8vxudTc.js → JsonOutput-k4IrWNdN.js} +3 -3
  6. package/dist/assets/{LazyAnyLanguageCodeMirror-BpSKccWW.js → LazyAnyLanguageCodeMirror-DdXhXqHo.js} +2 -2
  7. package/dist/assets/{MarimoErrorOutput-ThxhEC9x.js → MarimoErrorOutput-DRIr_Q_Q.js} +1 -1
  8. package/dist/assets/{RenderHTML-Ci0Pb1aU.js → RenderHTML-Cd4FyS3e.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-BO7kWP2P.js → add-cell-with-ai-MGYKaK6j.js} +1 -1
  10. package/dist/assets/{add-connection-dialog-C0_z2T_b.js → add-connection-dialog-DcC53CRk.js} +1 -1
  11. package/dist/assets/{agent-panel-C-OkUkue.js → agent-panel-Cw7k_Vor.js} +1 -1
  12. package/dist/assets/{ai-model-dropdown-DJoBltN-.js → ai-model-dropdown-CWIsr8AP.js} +1 -1
  13. package/dist/assets/{alert-dialog-CfirwkMl.js → alert-dialog-gkPQwL_j.js} +1 -1
  14. package/dist/assets/{any-language-editor-C_73jLC-.js → any-language-editor-OzhbvHaZ.js} +1 -1
  15. package/dist/assets/{app-config-button-Cw2wXNR2.js → app-config-button-CYw1Iska.js} +1 -1
  16. package/dist/assets/{architectureDiagram-VXUJARFQ-PitjPG8V.js → architectureDiagram-VXUJARFQ-CwrCrSJf.js} +1 -1
  17. package/dist/assets/{azure-V83ZU8Sp.js → azure-pNN_h2Da.js} +1 -1
  18. package/dist/assets/{blockDiagram-VD42YOAC-BIJ4EhZR.js → blockDiagram-VD42YOAC-Ct5uVfbx.js} +1 -1
  19. package/dist/assets/{c4Diagram-YG6GDRKO-DM49Cvfe.js → c4Diagram-YG6GDRKO-S9lnZags.js} +1 -1
  20. package/dist/assets/{cache-panel-B4TWdLE9.js → cache-panel-DBdmDStL.js} +1 -1
  21. package/dist/assets/{cell-editor-DFeqwbDq.js → cell-editor-DqAzDonn.js} +1 -1
  22. package/dist/assets/{cell-link-TWNu2IkO.js → cell-link-B3M3sB3h.js} +1 -1
  23. package/dist/assets/{cells-DJj8ja0V.js → cells-sajCpDTm.js} +3 -3
  24. package/dist/assets/channel-Ph-lUzX5.js +1 -0
  25. package/dist/assets/{chat-display-COL62Kpv.js → chat-display-CtHU9zRu.js} +1 -1
  26. package/dist/assets/{chat-panel-CxYclPR7.js → chat-panel-z3mwMMS4.js} +1 -1
  27. package/dist/assets/{chunk-5FQGJX7Z-Cyze_Wbx.js → chunk-5FQGJX7Z-CxUvnXIp.js} +3 -3
  28. package/dist/assets/{chunk-ABZYJK2D-CIP2m5SK.js → chunk-ABZYJK2D-BbkOOdOY.js} +1 -1
  29. package/dist/assets/{chunk-ATLVNIR6-dCnEfemD.js → chunk-ATLVNIR6-OBqZNgnu.js} +1 -1
  30. package/dist/assets/{chunk-B4BG7PRW-sXSaKV4v.js → chunk-B4BG7PRW-CSEIK9Q4.js} +1 -1
  31. package/dist/assets/{chunk-DI55MBZ5-DjV-ScSc.js → chunk-DI55MBZ5-Dk9w4OMu.js} +1 -1
  32. package/dist/assets/{chunk-EXTU4WIE-PLvknOI8.js → chunk-EXTU4WIE-CnJjAokB.js} +1 -1
  33. package/dist/assets/{chunk-JA3XYJ7Z-BM9i2UKq.js → chunk-JA3XYJ7Z-eAjzY7aA.js} +1 -1
  34. package/dist/assets/{chunk-JZLCHNYA-m6YUUy9x.js → chunk-JZLCHNYA-kmQ6ZBey.js} +1 -1
  35. package/dist/assets/{chunk-N4CR4FBY-C1lKPnWl.js → chunk-N4CR4FBY-Id4KvZIh.js} +2 -2
  36. package/dist/assets/{chunk-QN33PNHL-Czx-c7tW.js → chunk-QN33PNHL-BPuXNwnv.js} +1 -1
  37. package/dist/assets/{chunk-QXUST7PY-CcYtOR78.js → chunk-QXUST7PY-DQJyPxzg.js} +1 -1
  38. package/dist/assets/{chunk-S3R3BYOJ-JNQMgAH6.js → chunk-S3R3BYOJ-Ds4u094r.js} +1 -1
  39. package/dist/assets/{chunk-TZMSLE5B-C9T1sILA.js → chunk-TZMSLE5B-gAvFbCTg.js} +1 -1
  40. package/dist/assets/classDiagram-2ON5EDUG-D0DOYh6M.js +1 -0
  41. package/dist/assets/classDiagram-v2-WZHVMYZB-D_uMvsus.js +1 -0
  42. package/dist/assets/{code-block-37QAKDTI-BeUkwW5f.js → code-block-37QAKDTI-BrNGyIm5.js} +1 -1
  43. package/dist/assets/{column-preview-CPJFpq_q.js → column-preview-BMK4Ey6-.js} +1 -1
  44. package/dist/assets/{command-DQqPawJf.js → command-4MXp8mZE.js} +1 -1
  45. package/dist/assets/{command-palette-BM1QAZTW.js → command-palette-D3rMc0xB.js} +1 -1
  46. package/dist/assets/{common-Df9UcCs1.js → common-CJetJL3X.js} +1 -1
  47. package/dist/assets/{components-D8LTuNe_.js → components-ButU5ciW.js} +1 -1
  48. package/dist/assets/{components-CwZhf0Ag.js → components-Dw1qsGKs.js} +1 -1
  49. package/dist/assets/{config-BH98g9qk.js → config-DPC-pWD_.js} +1 -1
  50. package/dist/assets/{context-CRmPPhx9.js → context-CIAP2NOh.js} +1 -1
  51. package/dist/assets/{context-aware-panel-Bs4Vepkp.js → context-aware-panel-DKhFsaDl.js} +1 -1
  52. package/dist/assets/{copy-icon-DNppAsmd.js → copy-icon-cuwSpt3D.js} +1 -1
  53. package/dist/assets/{dagre-6UL2VRFP-D-I1QR9s.js → dagre-6UL2VRFP-Ck_MBOZE.js} +1 -1
  54. package/dist/assets/{data-grid-overlay-editor-DXzdnLZF.js → data-grid-overlay-editor-NBBEPhQq.js} +1 -1
  55. package/dist/assets/{datasource-MEu_GjcC.js → datasource-ej7nBVgG.js} +1 -1
  56. package/dist/assets/{dates-BFWtdOCb.js → dates-Bn5yLR20.js} +1 -1
  57. package/dist/assets/{dependency-graph-panel-DddysMUS.js → dependency-graph-panel-DtKdF1QY.js} +1 -1
  58. package/dist/assets/{diagram-PSM6KHXK-DcjdxOTC.js → diagram-PSM6KHXK-KolOj00O.js} +1 -1
  59. package/dist/assets/{diagram-QEK2KX5R-Dx1WtjkT.js → diagram-QEK2KX5R-D-eN_rZ-.js} +1 -1
  60. package/dist/assets/{diagram-S2PKOQOG-CXJzGs3_.js → diagram-S2PKOQOG-DUI8YQgO.js} +1 -1
  61. package/dist/assets/{dialog-ChkDhlMQ.js → dialog-BDH0wAVp.js} +1 -1
  62. package/dist/assets/dist-303qfNXF.js +1 -0
  63. package/dist/assets/dist-B6vIO6Qr.js +1 -0
  64. package/dist/assets/{dist-qkIhd7iG.js → dist-BEXlfh-0.js} +1 -1
  65. package/dist/assets/dist-BHV0ZwvR.js +1 -0
  66. package/dist/assets/{dist-Cf47zp7b.js → dist-BKh0lnhr.js} +1 -1
  67. package/dist/assets/{dist-Jp_4M-Ei.js → dist-B_Cajyw9.js} +1 -1
  68. package/dist/assets/{dist-D-tCQoCo.js → dist-BfSn8-kc.js} +1 -1
  69. package/dist/assets/{dist-C8DU7LS7.js → dist-BhSY2wGF.js} +1 -1
  70. package/dist/assets/{dist-DHmVMXm2.js → dist-Br9y_e1t.js} +1 -1
  71. package/dist/assets/{dist-CdZrtzmM.js → dist-C-tYBacB.js} +1 -1
  72. package/dist/assets/{dist-0PMxXIr6.js → dist-CJR8uxqq.js} +1 -1
  73. package/dist/assets/{dist-BQ7MrVoG.js → dist-Cn9Q-NAM.js} +1 -1
  74. package/dist/assets/{dist-f-ru44Xm.js → dist-DIR_AViv.js} +1 -1
  75. package/dist/assets/{dist-etSPFHi_.js → dist-DJUbf5IV.js} +1 -1
  76. package/dist/assets/{dist-DPW-YadP.js → dist-DxETk19L.js} +1 -1
  77. package/dist/assets/{dist-Dq1aTs7B.js → dist-Dy5EHuDu.js} +1 -1
  78. package/dist/assets/dist-GR3Is1gt.js +1 -0
  79. package/dist/assets/{dist-CT29HpLU.js → dist-U5wHOgW5.js} +1 -1
  80. package/dist/assets/{dist-6HEOc3hy.js → dist-W-yb-STV.js} +1 -1
  81. package/dist/assets/dist-_p_c6cqQ.js +1 -0
  82. package/dist/assets/dist-bg6gyVcz.js +1 -0
  83. package/dist/assets/{dist-CrFxmtyb.js → dist-sN-Hs-ZP.js} +1 -1
  84. package/dist/assets/{documentation-panel-Bs1zlxdM.js → documentation-panel-DqdSQnFI.js} +1 -1
  85. package/dist/assets/{download-C06P9lnP.js → download-CbJRMQgL.js} +1 -1
  86. package/dist/assets/{dropdown-menu-Bc2d7Nej.js → dropdown-menu-B9n5pFQo.js} +1 -1
  87. package/dist/assets/{edit-page-CiIDfScc.js → edit-page-PKuq51gy.js} +3 -3
  88. package/dist/assets/{en-US-k6sS5Nab.js → en-US-Cklu1TV7.js} +1 -1
  89. package/dist/assets/{erDiagram-Q2GNP2WA-BQUYpiEQ.js → erDiagram-Q2GNP2WA-Da7rk8Zl.js} +1 -1
  90. package/dist/assets/{error-banner-C2nW22mN.js → error-banner-C6jutgjJ.js} +1 -1
  91. package/dist/assets/{error-panel-B_vII0VN.js → error-panel-BYtDTl23.js} +1 -1
  92. package/dist/assets/{es-EPBuIa5m.js → es-DPbYTD70.js} +1 -1
  93. package/dist/assets/{esm-Hlfcqnf0.js → esm-ALGIkfiY.js} +1 -1
  94. package/dist/assets/{esm-MvMf2P5n.js → esm-CzZMpkrw.js} +1 -1
  95. package/dist/assets/{field-D-izY3ud.js → field-yBJIXwiI.js} +1 -1
  96. package/dist/assets/file-explorer-panel-DThRnP8y.js +26 -0
  97. package/dist/assets/{file-icons-C-oatBuk.js → file-icons-D11ajeAb.js} +1 -1
  98. package/dist/assets/{floating-outline-BPmtgKWs.js → floating-outline-CfXtjtdU.js} +1 -1
  99. package/dist/assets/{flowDiagram-NV44I4VS-xMIxed1s.js → flowDiagram-NV44I4VS-CCFdO5FV.js} +1 -1
  100. package/dist/assets/{focus-j9zawi1p.js → focus-BGRfO0DP.js} +1 -1
  101. package/dist/assets/{form-DrpSpDea.js → form-CTEi2k53.js} +1 -1
  102. package/dist/assets/{formats-CkafgGfe.js → formats-BR4SCgxc.js} +1 -1
  103. package/dist/assets/{formatting-By3b5Lx8.js → formatting-lD3DPwpf.js} +1 -1
  104. package/dist/assets/{gallery-page-BrljeBFe.js → gallery-page-DOD9mSsH.js} +1 -1
  105. package/dist/assets/{ganttDiagram-JELNMOA3-Be16Pv8U.js → ganttDiagram-JELNMOA3-DWxOnZsV.js} +1 -1
  106. package/dist/assets/{gitGraphDiagram-V2S2FVAM-DQ4scp6S.js → gitGraphDiagram-V2S2FVAM-DU44_-Xu.js} +1 -1
  107. package/dist/assets/{glide-data-editor-8kdd_nPE.js → glide-data-editor-DRlmXGoQ.js} +4 -4
  108. package/dist/assets/{globals-D2ulvntX.js → globals-GeuFunZz.js} +1 -1
  109. package/dist/assets/home-page-B9y95YIB.js +4 -0
  110. package/dist/assets/{hooks-Z1j4FmRH.js → hooks-C5nZgXkJ.js} +1 -1
  111. package/dist/assets/{html-to-image-D-FY7miL.js → html-to-image-DVYcIaht.js} +1 -1
  112. package/dist/assets/{index-PfGPTz9j.js → index-BVVET4VT.js} +6 -6
  113. package/dist/assets/{infoDiagram-HS3SLOUP-DzsICEl9.js → infoDiagram-HS3SLOUP-Cj1UhRNa.js} +1 -1
  114. package/dist/assets/{input-GLbHj4DF.js → input-fga1V90B.js} +1 -1
  115. package/dist/assets/{isValid-CUXKlcrM.js → isValid-BMlg3JzV.js} +1 -1
  116. package/dist/assets/{journeyDiagram-XKPGCS4Q-Dt4UItaM.js → journeyDiagram-XKPGCS4Q-Bp2zIM8b.js} +1 -1
  117. package/dist/assets/{kanban-definition-3W4ZIXB7-Do_8fQeU.js → kanban-definition-3W4ZIXB7-BO9Q_Cij.js} +1 -1
  118. package/dist/assets/{kiosk-mode-BuLLP9k3.js → kiosk-mode-DIRLRtqK.js} +1 -1
  119. package/dist/assets/{layout-DQhzfSJn.js → layout-CzqPAs7A.js} +1 -1
  120. package/dist/assets/{linear-c4WCYuol.js → linear-2A1iDmqT.js} +1 -1
  121. package/dist/assets/{links-C9QsxOBC.js → links-BzXEG-CV.js} +1 -1
  122. package/dist/assets/{logs-panel-BKhNdCxG.js → logs-panel-BruxLxKQ.js} +1 -1
  123. package/dist/assets/{markdown-renderer-D02U2W2X.js → markdown-renderer-DzFSmPG9.js} +1 -1
  124. package/dist/assets/{menu-items-CRjHRaiu.js → menu-items-BMC2ADBp.js} +1 -1
  125. package/dist/assets/mermaid-4DMBBIKO-DeLDp2wT.js +1 -0
  126. package/dist/assets/{mermaid-DJfb-vZs.js → mermaid-BIylv4-j.js} +3 -3
  127. package/dist/assets/{mermaid-parser.core-C-MdXFgl.js → mermaid-parser.core-DbGD2gKa.js} +1 -1
  128. package/dist/assets/{mindmap-definition-VGOIOE7T-YOE4okXd.js → mindmap-definition-VGOIOE7T-Bm7mGr7S.js} +1 -1
  129. package/dist/assets/{multi-map-BubyGH4K.js → multi-map-BfZ54ByO.js} +1 -1
  130. package/dist/assets/{name-cell-input-DOyCua0o.js → name-cell-input-CpRhYTIx.js} +1 -1
  131. package/dist/assets/{number-overlay-editor-zZDGu9D2.js → number-overlay-editor-BDnI-mwa.js} +1 -1
  132. package/dist/assets/{outline-panel-CgQ2GmbX.js → outline-panel-BqrPSspB.js} +1 -1
  133. package/dist/assets/{packages-panel-n8Ssm9M8.js → packages-panel-BiajqQvB.js} +1 -1
  134. package/dist/assets/{panels-B4wExe_l.js → panels-D3dh5STn.js} +1 -1
  135. package/dist/assets/{pieDiagram-ADFJNKIX-CjRyNR5b.js → pieDiagram-ADFJNKIX-B5etm5AZ.js} +1 -1
  136. package/dist/assets/{popover-XNIX-rv1.js → popover-9andRQnP.js} +1 -1
  137. package/dist/assets/{precisionRound-CCOoIlcP.js → precisionRound-BOmLQIKI.js} +1 -1
  138. package/dist/assets/{process-output-BwkCApeo.js → process-output-BdIP7Zxk.js} +1 -1
  139. package/dist/assets/{quadrantDiagram-AYHSOK5B-ZvWY20UO.js → quadrantDiagram-AYHSOK5B-D0Rr2ZdK.js} +1 -1
  140. package/dist/assets/react-vega-1nuO-sn0.js +1 -0
  141. package/dist/assets/{react-vega-DzWik59S.js → react-vega-C6zUovDg.js} +1 -1
  142. package/dist/assets/{readonly-python-code-BFyASvPB.js → readonly-python-code-Cb4NuSjW.js} +1 -1
  143. package/dist/assets/{renderShortcut-BjTUrvc5.js → renderShortcut-rgxL53rN.js} +1 -1
  144. package/dist/assets/{request-registry-LM8kl4Xv.js → request-registry-CN4oD1xn.js} +1 -1
  145. package/dist/assets/{requirementDiagram-UZGBJVZJ-4LJ2QyR9.js → requirementDiagram-UZGBJVZJ-BEWon1Tt.js} +1 -1
  146. package/dist/assets/{run-page-BYEyHIaG.js → run-page-BOSNHthW.js} +1 -1
  147. package/dist/assets/{sankeyDiagram-TZEHDZUN-7OqUpHYR.js → sankeyDiagram-TZEHDZUN-CVIOA3fV.js} +1 -1
  148. package/dist/assets/{scratchpad-panel-w9Tu3fpH.js → scratchpad-panel-D3QZNdMZ.js} +1 -1
  149. package/dist/assets/{secrets-panel-DAnccD-S.js → secrets-panel-Cyl6d2pO.js} +1 -1
  150. package/dist/assets/{select-DMX8tcVe.js → select-Dc75-Yj7.js} +1 -1
  151. package/dist/assets/{sequenceDiagram-WL72ISMW-C4sGREOt.js → sequenceDiagram-WL72ISMW-V72bggkN.js} +1 -1
  152. package/dist/assets/{session-panel-k6_Gni4X.js → session-panel-Bhb6XXzp.js} +1 -1
  153. package/dist/assets/{share-BWMZuJWY.js → share-BnVW-VUF.js} +1 -1
  154. package/dist/assets/{snippets-panel-mGo3M47p.js → snippets-panel-DiEtOai8.js} +1 -1
  155. package/dist/assets/{spec-BQ0QuStT.js → spec-C0oVDNlg.js} +1 -1
  156. package/dist/assets/{state-CsNC_7dZ.js → state-CTm70Wwu.js} +1 -1
  157. package/dist/assets/{state-CGR3DB1q.js → state-Cxaj2QUK.js} +1 -1
  158. package/dist/assets/state-D3wamK_H.js +1 -0
  159. package/dist/assets/{stateDiagram-FKZM4ZOC-4PvEH0nH.js → stateDiagram-FKZM4ZOC-BunlPmnb.js} +1 -1
  160. package/dist/assets/stateDiagram-v2-4FDKWEC3-DfBIf_A0.js +1 -0
  161. package/dist/assets/stex-pjf-hOob.js +1 -0
  162. package/dist/assets/{switch-BMqCO9bm.js → switch-CS0hWCvD.js} +1 -1
  163. package/dist/assets/{terminal-qMuurRSM.js → terminal-BbWefaub.js} +1 -1
  164. package/dist/assets/{time-BuGE4zW4.js → time-BLCpKsnL.js} +1 -1
  165. package/dist/assets/{timeline-definition-IT6M3QCI-D9wk3zrs.js → timeline-definition-IT6M3QCI-05UkZ9r0.js} +1 -1
  166. package/dist/assets/{toggle-BYx0fN9n.js → toggle-DM8DJDvs.js} +1 -1
  167. package/dist/assets/{tooltip-CKZGcDDd.js → tooltip-C8P6iW54.js} +1 -1
  168. package/dist/assets/{tooltip-CQeE9o7x.js → tooltip-Cm9o0BVX.js} +1 -1
  169. package/dist/assets/{tracing-DTCuFbVV.js → tracing-LTYgekaQ.js} +1 -1
  170. package/dist/assets/tracing-panel-D2BfFVsK.js +2 -0
  171. package/dist/assets/{tree-82qhH45u.js → tree-v_y-OV5p.js} +3 -3
  172. package/dist/assets/{useAddCell-BdUpg_Ta.js → useAddCell-CT_muue_.js} +1 -1
  173. package/dist/assets/{useBoolean-2eWc7NX-.js → useBoolean-DnQsu6rx.js} +1 -1
  174. package/dist/assets/{useCellActionButton-CJ_LAoma.js → useCellActionButton-CEVjt2wX.js} +1 -1
  175. package/dist/assets/{useDateFormatter-DOoVZUts.js → useDateFormatter-CpE7XQLs.js} +1 -1
  176. package/dist/assets/{useDeleteCell-C1uMlYZu.js → useDeleteCell-BrQJSycU.js} +1 -1
  177. package/dist/assets/{useDependencyPanelTab-nuk9kUr_.js → useDependencyPanelTab-BDafWVCa.js} +1 -1
  178. package/dist/assets/{useInstallPackage-CyTwCrsi.js → useInstallPackage-BzZRIkCo.js} +1 -1
  179. package/dist/assets/{useNotebookActions-Bh8YMrlo.js → useNotebookActions-aZAKukNN.js} +1 -1
  180. package/dist/assets/{useNumberFormatter-BXZcbTzH.js → useNumberFormatter-DbDKSvEd.js} +1 -1
  181. package/dist/assets/{usePress-G817DpBk.js → usePress-F6Xaj1I9.js} +1 -1
  182. package/dist/assets/{useSplitCell-D7EHwIIE.js → useSplitCell-9AApJTMi.js} +1 -1
  183. package/dist/assets/{vega-component-CoUjMYqz.js → vega-component-XTQy2XUE.js} +1 -1
  184. package/dist/assets/{vega-loader.browser-BJ9oKrvH.js → vega-loader.browser-CZV6_g2i.js} +1 -1
  185. package/dist/assets/{write-secret-modal-DOyKonZB.js → write-secret-modal-CDf1k83O.js} +1 -1
  186. package/dist/assets/{xychartDiagram-PRI3JC2R-CTDFOoiw.js → xychartDiagram-PRI3JC2R-CwD62vJ-.js} +1 -1
  187. package/dist/index.html +122 -122
  188. package/package.json +1 -1
  189. package/src/components/storage/__tests__/storage-snippets.test.ts +253 -0
  190. package/src/components/storage/storage-inspector.tsx +36 -4
  191. package/src/components/storage/storage-snippets.ts +67 -0
  192. package/src/core/storage/__tests__/state.test.ts +1 -0
  193. package/dist/assets/channel-DNdp-eCE.js +0 -1
  194. package/dist/assets/classDiagram-2ON5EDUG-BqtRsi1m.js +0 -1
  195. package/dist/assets/classDiagram-v2-WZHVMYZB-CVoqYiM8.js +0 -1
  196. package/dist/assets/dist-CaN3pnGY.js +0 -1
  197. package/dist/assets/dist-CiBv1uBX.js +0 -1
  198. package/dist/assets/dist-Cn-s3n4_.js +0 -1
  199. package/dist/assets/dist-DK2oA8K0.js +0 -1
  200. package/dist/assets/dist-DnPN36vC.js +0 -1
  201. package/dist/assets/dist-TtVOJU5I.js +0 -1
  202. package/dist/assets/file-explorer-panel-BIprY132.js +0 -17
  203. package/dist/assets/home-page-O_c6IiAp.js +0 -4
  204. package/dist/assets/mermaid-4DMBBIKO-C2MO8Ayk.js +0 -1
  205. package/dist/assets/react-vega-plcnUXVG.js +0 -1
  206. package/dist/assets/state-Dj88xOmZ.js +0 -1
  207. package/dist/assets/stateDiagram-v2-4FDKWEC3-CpKgwrjU.js +0 -1
  208. package/dist/assets/stex-BBWVYm-R.js +0 -1
  209. package/dist/assets/tracing-panel-B1EJu6-W.js +0 -2
  210. /package/dist/assets/{Combination-lAuBMOg4.js → Combination-DwGFeTHV.js} +0 -0
  211. /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-D2igisxY.js} +0 -0
  212. /package/dist/assets/{SSRProvider-CwqN9FWV.js → SSRProvider-DC7ElCZZ.js} +0 -0
  213. /package/dist/assets/{badge-BUFDGZ04.js → badge-CNBv2dAU.js} +0 -0
  214. /package/dist/assets/{blob-DgooIGjS.js → blob-CObhN-9g.js} +0 -0
  215. /package/dist/assets/{bot-message-square-BzawfL5p.js → bot-message-square-B6Ribt4T.js} +0 -0
  216. /package/dist/assets/{chart-no-axes-column-F2DZENgf.js → chart-no-axes-column-lutwx354.js} +0 -0
  217. /package/dist/assets/{check-BnZGcuDh.js → check-CLyxVhzW.js} +0 -0
  218. /package/dist/assets/{chevron-right-_z3dkNFy.js → chevron-right-CerQ2vwn.js} +0 -0
  219. /package/dist/assets/{circle-check-CceJVe3L.js → circle-check-pDte1YCV.js} +0 -0
  220. /package/dist/assets/{circle-play-n0LbT9bZ.js → circle-play-BIB-Cffm.js} +0 -0
  221. /package/dist/assets/{circle-plus-DfyUnSPr.js → circle-plus-dmNAbVKB.js} +0 -0
  222. /package/dist/assets/{clipboard-paste-DVaOjTFK.js → clipboard-paste-BmDjmNT1.js} +0 -0
  223. /package/dist/assets/{code-xml-BMv1Dtd2.js → code-xml-BTXLGjZa.js} +0 -0
  224. /package/dist/assets/{copy-ICN7wGy0.js → copy-BV-TOnWw.js} +0 -0
  225. /package/dist/assets/{copy-CAR4dOiD.js → copy-D9hWa8QN.js} +0 -0
  226. /package/dist/assets/{database-zap-B3efE3T2.js → database-zap-D0NXTAF_.js} +0 -0
  227. /package/dist/assets/{defaultLocale-CGfP-Ye3.js → defaultLocale-DK1MWd7f.js} +0 -0
  228. /package/dist/assets/{defaultLocale-CuYNS33t.js → defaultLocale-OkOxlkkM.js} +0 -0
  229. /package/dist/assets/{dist-D3OoaVQX.js → dist-C1HCH_0P.js} +0 -0
  230. /package/dist/assets/{dist-Bagw3W9X.js → dist-Da-vP8dl.js} +0 -0
  231. /package/dist/assets/{dist-t1vdhOX_.js → dist-MzyXnvzy.js} +0 -0
  232. /package/dist/assets/{download-BG-iMGgV.js → download-DZkvg-PF.js} +0 -0
  233. /package/dist/assets/{ellipsis-CnEpKti0.js → ellipsis-DrLBOiKN.js} +0 -0
  234. /package/dist/assets/{ellipsis-vertical-CqcBoxmi.js → ellipsis-vertical-41ufYa9D.js} +0 -0
  235. /package/dist/assets/{emotion-is-prop-valid.esm-lG8j6oqk.js → emotion-is-prop-valid.esm-D7FeWASw.js} +0 -0
  236. /package/dist/assets/{errors-0IrrdfSG.js → errors-Bfogio62.js} +0 -0
  237. /package/dist/assets/{extends-B9D0JO9U.js → extends-aq1t6BkR.js} +0 -0
  238. /package/dist/assets/{eye-off-DgTL09j7.js → eye-off-L0XTXq09.js} +0 -0
  239. /package/dist/assets/{file-DVwc11C3.js → file-C9ICshU0.js} +0 -0
  240. /package/dist/assets/{file-headphone-daOQzJg0.js → file-headphone--dkf-Opf.js} +0 -0
  241. /package/dist/assets/{file-plus-corner-BRwJx0yp.js → file-plus-corner-BxixWiXP.js} +0 -0
  242. /package/dist/assets/{github-BY6XM4ej.js → github-BrsjF9dp.js} +0 -0
  243. /package/dist/assets/{image-CBwHq93J.js → image-BTHu7CJw.js} +0 -0
  244. /package/dist/assets/{link-BmtFffTv.js → link-Cpo6yhBB.js} +0 -0
  245. /package/dist/assets/{maps-CTMzJkSk.js → maps-BkFOprnj.js} +0 -0
  246. /package/dist/assets/{numbers-Eb1pfDec.js → numbers-CKtO-FK3.js} +0 -0
  247. /package/dist/assets/{objectWithoutPropertiesLoose-CboCOq4o.js → objectWithoutPropertiesLoose-Dxmp_Bd_.js} +0 -0
  248. /package/dist/assets/{ordinal-DMIExrUm.js → ordinal-BEKpVWu-.js} +0 -0
  249. /package/dist/assets/{paths-D2lG83Oh.js → paths-bMgYkaP2.js} +0 -0
  250. /package/dist/assets/{play-CkqWG85-.js → play-D4Tdvkms.js} +0 -0
  251. /package/dist/assets/{plus-C9B_qWUi.js → plus-B-s-VRHt.js} +0 -0
  252. /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-TXkS1QI3.js} +0 -0
  253. /package/dist/assets/{prop-types-C638SUfx.js → prop-types-DRf51_gT.js} +0 -0
  254. /package/dist/assets/{purify.es-BBn8CPhf.js → purify.es-ByGlPBcv.js} +0 -0
  255. /package/dist/assets/{range-ClqUI25v.js → range-DNqFcYmr.js} +0 -0
  256. /package/dist/assets/{refresh-ccw-B3lGEyQm.js → refresh-ccw-BOzRCrXK.js} +0 -0
  257. /package/dist/assets/{refresh-cw-fLeDriQe.js → refresh-cw-DeCFDX1B.js} +0 -0
  258. /package/dist/assets/{rotate-ccw-DgH8qERb.js → rotate-ccw-BG5BZyzw.js} +0 -0
  259. /package/dist/assets/{save-C91FTnFa.js → save-I_RGv5p0.js} +0 -0
  260. /package/dist/assets/{session-iz9BPeTp.js → session-DSf7Qrgn.js} +0 -0
  261. /package/dist/assets/{settings-DRfuuLRT.js → settings-DD8FJvQ_.js} +0 -0
  262. /package/dist/assets/{spinner-Dt4SmUsI.js → spinner-DCSoZZhh.js} +0 -0
  263. /package/dist/assets/{square-function-DEp1ozoA.js → square-function-4zY5Dv0P.js} +0 -0
  264. /package/dist/assets/{square-DZpWT_hp.js → square-oV8Csj8Y.js} +0 -0
  265. /package/dist/assets/{stex-0ac7Aukl.js → stex-FMMSUPAS.js} +0 -0
  266. /package/dist/assets/{table-CeILsq6V.js → table-I8E-Bucv.js} +0 -0
  267. /package/dist/assets/{toDate-DDAiY7kz.js → toDate-QgjqxhRI.js} +0 -0
  268. /package/dist/assets/{trash-2-CrA4LwJ2.js → trash-2-DtQaB9NM.js} +0 -0
  269. /package/dist/assets/{trash-ZGxZ3QGq.js → trash-Basz0Kvc.js} +0 -0
  270. /package/dist/assets/{triangle-alert-CzmxsxFO.js → triangle-alert-n1-FF7zs.js} +0 -0
  271. /package/dist/assets/{types-CswNghXe.js → types-BhvWC48z.js} +0 -0
  272. /package/dist/assets/{use-toast-Hc8CXlvz.js → use-toast-BhMe50aT.js} +0 -0
  273. /package/dist/assets/{useDebounce-S9zaMzrr.js → useDebounce-BUC67G8E.js} +0 -0
  274. /package/dist/assets/{useTheme-Co8bbxoC.js → useTheme-CDtvl_DM.js} +0 -0
  275. /package/dist/assets/{uuid-ClFZlR7U.js → uuid-ImXS-885.js} +0 -0
  276. /package/dist/assets/{workflow-DgZ_19fF.js → workflow-CU6kAL_h.js} +0 -0
  277. /package/dist/assets/{x-yqLqiq5Q.js → x-Bz99Qj3l.js} +0 -0
  278. /package/dist/assets/{youtube-DfMgNU9-.js → youtube-fKFch587.js} +0 -0
@@ -15,6 +15,7 @@ import {
15
15
  import React, { useCallback, useState } from "react";
16
16
  import { useLocale } from "react-aria";
17
17
  import { EngineVariable } from "@/components/databases/engine-variable";
18
+ import { useAddCodeToNewCell } from "@/components/editor/cell/useAddCell";
18
19
  import { PanelEmptyState } from "@/components/editor/chrome/panels/empty-state";
19
20
  import { AddConnectionDialog } from "@/components/editor/connections/add-connection-dialog";
20
21
  import {
@@ -32,6 +33,7 @@ import {
32
33
  DropdownMenu,
33
34
  DropdownMenuContent,
34
35
  DropdownMenuItem,
36
+ DropdownMenuSeparator,
35
37
  DropdownMenuTrigger,
36
38
  } from "@/components/ui/dropdown-menu";
37
39
  import { Tooltip } from "@/components/ui/tooltip";
@@ -47,7 +49,7 @@ import type {
47
49
  StorageNamespace,
48
50
  StoragePathKey,
49
51
  } from "@/core/storage/types";
50
- import { storagePathKey, storageUrl } from "@/core/storage/types";
52
+ import { storagePathKey } from "@/core/storage/types";
51
53
  import type { VariableName } from "@/core/variables/types";
52
54
  import { cn } from "@/utils/cn";
53
55
  import { copyToClipboard } from "@/utils/copy";
@@ -58,6 +60,7 @@ import { ErrorState } from "../datasources/components";
58
60
  import { Button } from "../ui/button";
59
61
  import { ProtocolIcon } from "./components";
60
62
  import { StorageFileViewer } from "./storage-file-viewer";
63
+ import { STORAGE_SNIPPETS } from "./storage-snippets";
61
64
 
62
65
  interface OpenFileInfo {
63
66
  entry: StorageEntry;
@@ -145,6 +148,7 @@ const StorageEntryChildren: React.FC<{
145
148
  namespace: string;
146
149
  protocol: string;
147
150
  rootPath: string;
151
+ backendType: StorageNamespace["backendType"];
148
152
  prefix: string;
149
153
  depth: number;
150
154
  locale: string;
@@ -154,6 +158,7 @@ const StorageEntryChildren: React.FC<{
154
158
  namespace,
155
159
  protocol,
156
160
  rootPath,
161
+ backendType,
157
162
  prefix,
158
163
  depth,
159
164
  locale,
@@ -214,6 +219,7 @@ const StorageEntryChildren: React.FC<{
214
219
  namespace={namespace}
215
220
  protocol={protocol}
216
221
  rootPath={rootPath}
222
+ backendType={backendType}
217
223
  depth={depth}
218
224
  locale={locale}
219
225
  searchValue={searchValue}
@@ -229,6 +235,7 @@ const StorageEntryRow: React.FC<{
229
235
  namespace: string;
230
236
  protocol: string;
231
237
  rootPath: string;
238
+ backendType: StorageNamespace["backendType"];
232
239
  depth: number;
233
240
  locale: string;
234
241
  searchValue: string;
@@ -238,6 +245,7 @@ const StorageEntryRow: React.FC<{
238
245
  namespace,
239
246
  protocol,
240
247
  rootPath,
248
+ backendType,
241
249
  depth,
242
250
  locale,
243
251
  searchValue,
@@ -245,6 +253,7 @@ const StorageEntryRow: React.FC<{
245
253
  }) => {
246
254
  const [isExpanded, setIsExpanded] = useState(false);
247
255
  const { entriesByPath } = useStorage();
256
+ const addCodeToNewCell = useAddCodeToNewCell();
248
257
  const isDir = entry.kind === "directory";
249
258
  const name = displayName(entry.path);
250
259
  const hasSearch = !!searchValue.trim();
@@ -361,13 +370,12 @@ const StorageEntryRow: React.FC<{
361
370
  )}
362
371
  <DropdownMenuItem
363
372
  onSelect={async () => {
364
- const url = storageUrl(protocol, rootPath, entry.path);
365
- await copyToClipboard(url.toString());
373
+ await copyToClipboard(entry.path);
366
374
  toast({ title: "Copied to clipboard" });
367
375
  }}
368
376
  >
369
377
  <CopyIcon className={MENU_ITEM_ICON_CLASS} />
370
- Copy URL
378
+ Copy path
371
379
  </DropdownMenuItem>
372
380
  {!isDir && (
373
381
  <DropdownMenuItem onSelect={() => handleDownload()}>
@@ -375,6 +383,28 @@ const StorageEntryRow: React.FC<{
375
383
  Download
376
384
  </DropdownMenuItem>
377
385
  )}
386
+ <DropdownMenuSeparator />
387
+ {STORAGE_SNIPPETS.map((snippet) => {
388
+ const code = snippet.getCode({
389
+ variableName: namespace,
390
+ protocol,
391
+ entry,
392
+ backendType,
393
+ });
394
+ if (code === null) {
395
+ return null;
396
+ }
397
+ const Icon = snippet.icon;
398
+ return (
399
+ <DropdownMenuItem
400
+ key={snippet.id}
401
+ onSelect={() => addCodeToNewCell(code)}
402
+ >
403
+ <Icon className={MENU_ITEM_ICON_CLASS} />
404
+ {snippet.label}
405
+ </DropdownMenuItem>
406
+ );
407
+ })}
378
408
  </DropdownMenuContent>
379
409
  </DropdownMenu>
380
410
  </div>
@@ -384,6 +414,7 @@ const StorageEntryRow: React.FC<{
384
414
  namespace={namespace}
385
415
  protocol={protocol}
386
416
  rootPath={rootPath}
417
+ backendType={backendType}
387
418
  prefix={entry.path}
388
419
  depth={depth + 1}
389
420
  locale={locale}
@@ -498,6 +529,7 @@ const StorageNamespaceSection: React.FC<{
498
529
  namespace={namespaceName}
499
530
  protocol={namespace.protocol}
500
531
  rootPath={namespace.rootPath}
532
+ backendType={namespace.backendType}
501
533
  depth={1}
502
534
  locale={locale}
503
535
  searchValue={searchValue}
@@ -0,0 +1,67 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import type { LucideIcon } from "lucide-react";
4
+ import { BookOpenIcon, LinkIcon } from "lucide-react";
5
+ import type { StorageEntry, StorageNamespace } from "@/core/storage/types";
6
+
7
+ type BackendType = StorageNamespace["backendType"];
8
+
9
+ export interface StorageSnippetContext {
10
+ variableName: string;
11
+ protocol: string;
12
+ entry: StorageEntry;
13
+ backendType: BackendType;
14
+ }
15
+
16
+ export interface StorageSnippet {
17
+ id: string;
18
+ label: string;
19
+ icon: LucideIcon;
20
+ /** Return the code string, or null to hide the snippet for this context. */
21
+ getCode: (ctx: StorageSnippetContext) => string | null;
22
+ }
23
+
24
+ const NOT_SIGNABLE_PROTOCOLS = new Set(["http", "file", "in-memory"]);
25
+
26
+ function escapeForPythonString(value: string): string {
27
+ return JSON.stringify(value).slice(1, -1);
28
+ }
29
+
30
+ export const STORAGE_SNIPPETS: StorageSnippet[] = [
31
+ {
32
+ id: "read-file",
33
+ label: "Insert read snippet",
34
+ icon: BookOpenIcon,
35
+ getCode: (ctx) => {
36
+ if (ctx.entry.kind === "directory") {
37
+ return null;
38
+ }
39
+ const path = escapeForPythonString(ctx.entry.path);
40
+ if (ctx.backendType === "obstore") {
41
+ return `_data = ${ctx.variableName}.get("${path}").bytes()\n_data`;
42
+ }
43
+ return `_data = ${ctx.variableName}.cat_file("${path}")\n_data`;
44
+ },
45
+ },
46
+ {
47
+ id: "download-file",
48
+ label: "Insert download snippet",
49
+ icon: LinkIcon,
50
+ getCode: (ctx) => {
51
+ if (ctx.entry.kind === "directory") {
52
+ return null;
53
+ }
54
+ const path = escapeForPythonString(ctx.entry.path);
55
+ if (ctx.backendType === "obstore") {
56
+ if (NOT_SIGNABLE_PROTOCOLS.has(ctx.protocol)) {
57
+ return null;
58
+ }
59
+ return `from datetime import timedelta\nfrom obstore import sign\n\nsigned_url = sign(\n ${ctx.variableName}, "GET", "${path}",\n expires_in=timedelta(hours=1),\n)\nsigned_url`;
60
+ }
61
+ const filename = escapeForPythonString(
62
+ ctx.entry.path.split("/").pop() || "download",
63
+ );
64
+ return `${ctx.variableName}.get("${path}", "${filename}")`;
65
+ },
66
+ },
67
+ ];
@@ -10,6 +10,7 @@ function makeNamespace(
10
10
  overrides: Partial<StorageNamespace> & { name: string },
11
11
  ): StorageNamespace {
12
12
  return {
13
+ backendType: overrides.backendType ?? "obstore",
13
14
  displayName: overrides.displayName ?? overrides.name,
14
15
  name: overrides.name,
15
16
  protocol: overrides.protocol ?? "s3",
@@ -1 +0,0 @@
1
- import{et as r,tt as e}from"./chunk-ABZYJK2D-CIP2m5SK.js";var o=(t,a)=>e.lang.round(r.parse(t)[a]);export{o as t};
@@ -1 +0,0 @@
1
- import"./purify.es-BBn8CPhf.js";import"./src-lcGySDV2.js";import"./chunk-S3R3BYOJ-JNQMgAH6.js";import{n as t}from"./src-BRLtyMKi.js";import"./chunk-ABZYJK2D-CIP2m5SK.js";import"./chunk-HN2XXSSU-ujlBpRMF.js";import"./chunk-CVBHYZKI-BX0N_ipT.js";import"./chunk-ATLVNIR6-dCnEfemD.js";import"./dist-BjCIGEdQ.js";import"./chunk-JA3XYJ7Z-BM9i2UKq.js";import"./chunk-JZLCHNYA-m6YUUy9x.js";import"./chunk-QXUST7PY-CcYtOR78.js";import"./chunk-N4CR4FBY-C1lKPnWl.js";import"./chunk-FMBD7UC4-BDlH9XLH.js";import"./chunk-55IACEB6-DPm6ES7n.js";import"./chunk-QN33PNHL-Czx-c7tW.js";import{i,n as o,r as m,t as p}from"./chunk-B4BG7PRW-sXSaKV4v.js";var a={parser:o,get db(){return new p},renderer:m,styles:i,init:t(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{a as diagram};
@@ -1 +0,0 @@
1
- import"./purify.es-BBn8CPhf.js";import"./src-lcGySDV2.js";import"./chunk-S3R3BYOJ-JNQMgAH6.js";import{n as t}from"./src-BRLtyMKi.js";import"./chunk-ABZYJK2D-CIP2m5SK.js";import"./chunk-HN2XXSSU-ujlBpRMF.js";import"./chunk-CVBHYZKI-BX0N_ipT.js";import"./chunk-ATLVNIR6-dCnEfemD.js";import"./dist-BjCIGEdQ.js";import"./chunk-JA3XYJ7Z-BM9i2UKq.js";import"./chunk-JZLCHNYA-m6YUUy9x.js";import"./chunk-QXUST7PY-CcYtOR78.js";import"./chunk-N4CR4FBY-C1lKPnWl.js";import"./chunk-FMBD7UC4-BDlH9XLH.js";import"./chunk-55IACEB6-DPm6ES7n.js";import"./chunk-QN33PNHL-Czx-c7tW.js";import{i,n as o,r as m,t as p}from"./chunk-B4BG7PRW-sXSaKV4v.js";var a={parser:o,get db(){return new p},renderer:m,styles:i,init:t(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{a as diagram};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Bagw3W9X.js";import{n as s,r as a,t as o}from"./dist-0PMxXIr6.js";export{o as sass,s as sassCompletionSource,a as sassLanguage};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Bagw3W9X.js";import{n as s,r as a,t as e}from"./dist-6HEOc3hy.js";export{e as less,s as lessCompletionSource,a as lessLanguage};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import{i as a,n as r,r as o,t as i}from"./dist-C8DU7LS7.js";export{i as closePercentBrace,r as jinja,o as jinjaCompletionSource,a as jinjaLanguage};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import{n as o,t as r}from"./dist-BQ7MrVoG.js";export{r as vue,o as vueLanguage};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import{i,n as r,r as a,t as o}from"./dist-D-tCQoCo.js";export{o as closePercentBrace,r as liquid,a as liquidCompletionSource,i as liquidLanguage};
@@ -1 +0,0 @@
1
- import"./dist-Dr9qtoId.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import{n as p,t as o}from"./dist-CrFxmtyb.js";export{o as php,p as phpLanguage};
@@ -1,17 +0,0 @@
1
- var Pt=Object.defineProperty;var Dt=(t,e,s)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var B=(t,e,s)=>Dt(t,typeof e!="symbol"?e+"":e,s);import{s as Me}from"./chunk-LvLJmgfZ.js";import{i as zt,l as he,n as T,p as Re,u as se}from"./useEvent-WUlsM6MC.js";import{t as Ot}from"./react-Bj1aDYRI.js";import{En as Mt,T as Rt,kn as $e,si as $t,ui as Ae,ur as At}from"./cells-DJj8ja0V.js";import"./react-dom-CSu739Rf.js";import{t as te}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-CQeE9o7x.js";import{i as Ee,r as Et,t as Ie}from"./add-connection-dialog-C0_z2T_b.js";import{h as It,m as ge}from"./useEventListener-DP66hBzA.js";import{t as Lt}from"./invariant-awXiPaF0.js";import{p as Tt,u as Le}from"./utils-C1ZciZbF.js";import{S as me}from"./config-BH98g9qk.js";import{t as Bt}from"./jsx-runtime-CP2fAiZX.js";import{n as Vt,t as $}from"./button-BwamPDJi.js";import{t as q}from"./cn-d_A4rA-x.js";import{St as Ht}from"./dist-Dr9qtoId.js";import{a as Ut,i as Te,o as pe}from"./JsonOutput-D8vxudTc.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{n as qt,r as je}from"./requests-DZy_SQ_v.js";import{t as ae}from"./createLucideIcon-BvP5LBIs.js";import{a as Be,i as Ve,l as He,n as fe,o as Wt,r as Kt,s as ye,t as Yt}from"./state-Dj88xOmZ.js";import{n as Zt}from"./LazyAnyLanguageCodeMirror-BpSKccWW.js";import{t as Gt}from"./x-yqLqiq5Q.js";import{c as Jt,i as ve,r as Ue}from"./download-C06P9lnP.js";import{f as be}from"./maps-CTMzJkSk.js";import{n as Qt}from"./markdown-renderer-D02U2W2X.js";import{u as Xt}from"./toDate-DDAiY7kz.js";import{a as M,c as ne,p as qe,r as We,t as Ke}from"./dropdown-menu-Bc2d7Nej.js";import{t as we}from"./copy-CAR4dOiD.js";import{t as Ne}from"./download-BG-iMGgV.js";import{t as ea}from"./eye-off-DgTL09j7.js";import{a as ta,i as Ye,n as Ze,r as aa,t as sa}from"./file-icons-C-oatBuk.js";import{t as Ge}from"./file-plus-corner-BRwJx0yp.js";import{t as Je}from"./file-DVwc11C3.js";import{n as ke,t as na}from"./spinner-Dt4SmUsI.js";import{t as Qe}from"./plus-C9B_qWUi.js";import{t as Xe}from"./refresh-cw-fLeDriQe.js";import{t as ra}from"./save-C91FTnFa.js";import{t as ia}from"./trash-2-CrA4LwJ2.js";import{t as la}from"./triangle-alert-CzmxsxFO.js";import{i as oa,n as ca,t as da}from"./es-EPBuIa5m.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import{t as E}from"./use-toast-Hc8CXlvz.js";import{t as Fe}from"./paths-D2lG83Oh.js";import"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{t as A}from"./tooltip-CKZGcDDd.js";import"./purify.es-BBn8CPhf.js";import"./dates-BFWtdOCb.js";import{o as ha}from"./alert-dialog-CfirwkMl.js";import{t as et}from"./context-CRmPPhx9.js";import"./popover-XNIX-rv1.js";import{n as tt}from"./ImperativeModal-BvRpI5NU.js";import{r as ma}from"./errors-0IrrdfSG.js";import{n as pa}from"./blob-DgooIGjS.js";import"./vega-loader.browser-BJ9oKrvH.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";import{t as re}from"./copy-ICN7wGy0.js";import{t as fa}from"./copy-icon-DNppAsmd.js";import{n as xa}from"./multi-map-BubyGH4K.js";import{a as ua,i as ga,n as Ce,r as ja,t as ya}from"./tree-82qhH45u.js";import{n as va,t as ba}from"./alert-Bs8tbZo_.js";import{n as at}from"./error-banner-C2nW22mN.js";import{n as Se}from"./useAsyncData-CI3ntihq.js";import{a as wa,o as st,t as Na,u as ka}from"./command-DQqPawJf.js";import"./chunk-5FQGJX7Z-Cyze_Wbx.js";import"./katex-FSdXOW5Y.js";import"./html-to-image-D-FY7miL.js";import{o as Fa}from"./focus-j9zawi1p.js";import{a as Ca}from"./renderShortcut-BjTUrvc5.js";import{t as Sa}from"./bundle.esm-_LzfhNmX.js";import{a as _a,c as nt,d as _e,l as rt,u as it}from"./components-CwZhf0Ag.js";import{t as Pa}from"./empty-state-DFr2pZOz.js";import{t as Pe}from"./formatting-By3b5Lx8.js";import{a as Da,i as za,n as lt,r as ot,t as ct}from"./components-D8LTuNe_.js";import{n as dt,t as Oa}from"./marimo-icons-BmYE_Rrf.js";import{t as Ma}from"./links-C9QsxOBC.js";var Ra=ae("copy-minus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),ht=ae("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),mt=ae("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),$a=ae("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Aa=ae("square-play",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}]]),pt=ae("view",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),z=Me(Ot(),1),Ea=te(),a=Me(Bt(),1);const ft=t=>{let e=(0,Ea.c)(17),{filename:s,filenameIcon:r,onBack:i,onRefresh:n,onDownload:l,actions:c}=t,p;e[0]===i?p=e[1]:(p=i&&(0,a.jsx)(A,{content:"Back to file list",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(He,{className:"h-4 w-4"})})}),e[0]=i,e[1]=p);let o;e[2]!==s||e[3]!==r?(o=s?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[r,s]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=s,e[3]=r,e[4]=o):o=e[4];let x;e[5]===n?x=e[6]:(x=n&&(0,a.jsx)(A,{content:"Refresh",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:n,children:(0,a.jsx)(Xe,{className:"h-3.5 w-3.5"})})}),e[5]=n,e[6]=x);let f;e[7]===l?f=e[8]:(f=l&&(0,a.jsx)(A,{content:"Download",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:l,children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),e[7]=l,e[8]=f);let j;e[9]!==c||e[10]!==x||e[11]!==f?(j=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[x,c,f]}),e[9]=c,e[10]=x,e[11]=f,e[12]=j):j=e[12];let u;return e[13]!==p||e[14]!==o||e[15]!==j?(u=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[p,o,j]}),e[13]=p,e[14]=o,e[15]=j,e[16]=u):u=e[16],u};var Ia=100*1024*1024;function La(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}const Ta=({entry:t,namespace:e,onBack:s})=>{let{locale:r}=et(),i=La(t.path),n=t.mimeType||"text/plain",l=pe(n),c=l&&t.size>Ia&&t.size>0,{data:p,isPending:o,error:x,refetch:f}=Se(async()=>{if(c)return null;let g=await ye.request({namespace:e,path:t.path,preview:!l});if(g.error)throw Error(g.error);if(!g.url)throw Error("No URL returned");if(l)return{type:"media",url:g.url};let d=await fetch(g.url);if(!d.ok)throw Error(`Failed to fetch preview: ${d.statusText}`);return{type:"text",content:await d.text()}},[e,t.path,l,c]),j=(0,z.useCallback)(async()=>{try{let g=await ye.request({namespace:e,path:t.path});if(g.error){E({title:"Download failed",description:g.error,variant:"danger"});return}g.url&&ve(g.url,g.filename??i)}catch(g){ge.error("Failed to download storage entry",g),E({title:"Download failed",description:String(g),variant:"danger"})}},[e,t.path,i]),u=(0,a.jsx)(ft,{filename:i,filenameIcon:Ye(i),onBack:s,onDownload:j}),h=({includeMime:g=!1})=>(0,a.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 p-4 text-xs",children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Path"}),(0,a.jsxs)("div",{className:"truncate flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-mono text-[11px]",children:t.path}),(0,a.jsx)(fa,{value:t.path,className:"h-3 w-3"})]}),g&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),g&&(0,a.jsx)("span",{children:n}),t.size>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Size"}),(0,a.jsx)("span",{children:Pe(t.size,r)})]}),t.lastModified!=null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Modified"}),(0,a.jsx)("span",{children:new Date(t.lastModified*1e3).toLocaleString()})]})]});return c?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",Pe(t.size,r),")."]})]}):o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24",children:[(0,a.jsx)(ke,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):x?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",x.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)($,{variant:"secondary",size:"xs",onClick:f,children:[(0,a.jsx)(Xe,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):p?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsx)(Te,{mimeType:n,contents:p.type==="text"?p.content:void 0,mediaSource:p.type==="media"?{url:p.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Je,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var De=te(),Ba=16;function H(t){return{paddingLeft:t*Ba}}function Va(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function xt(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}function ze(t,e,s,r){let i=s.toLowerCase();if(xt(t.path).toLowerCase().includes(i))return!0;if(t.kind==="directory"){let n=r.get(Be(e,t.path));if(n)return n.some(l=>ze(l,e,s,r))}return!1}function ut(t,e,s,r){return s.trim()?t.filter(i=>ze(i,e,s,r)):t}var Ha=t=>{let e=(0,De.c)(34),{namespace:s,protocol:r,rootPath:i,prefix:n,depth:l,locale:c,searchValue:p,onOpenFile:o}=t,{entriesByPath:x}=fe(),{entries:f,isPending:j,error:u}=Ve(s,n);if(j){let d;e[0]===l?d=e[1]:(d=H(l),e[0]=l,e[1]=d);let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),e[2]=y):y=e[2];let k;return e[3]===d?k=e[4]:(k=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:d,children:[y,"Loading..."]}),e[3]=d,e[4]=k),k}if(u){let d;e[5]===l?d=e[6]:(d=H(l),e[5]=l,e[6]=d);let y;return e[7]!==u.message||e[8]!==d?(y=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:d,children:["Failed to load: ",u.message]}),e[7]=u.message,e[8]=d,e[9]=y):y=e[9],y}if(f.length===0){let d;e[10]===l?d=e[11]:(d=H(l),e[10]=l,e[11]=d);let y;return e[12]===d?y=e[13]:(y=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:d,children:"Empty"}),e[12]=d,e[13]=y),y}let h;if(e[14]!==f||e[15]!==l||e[16]!==x||e[17]!==c||e[18]!==s||e[19]!==o||e[20]!==r||e[21]!==i||e[22]!==p){let d=ut(f,s,p,x),y;e[24]!==l||e[25]!==c||e[26]!==s||e[27]!==o||e[28]!==r||e[29]!==i||e[30]!==p?(y=k=>(0,a.jsx)(gt,{entry:k,namespace:s,protocol:r,rootPath:i,depth:l,locale:c,searchValue:p,onOpenFile:o},k.path),e[24]=l,e[25]=c,e[26]=s,e[27]=o,e[28]=r,e[29]=i,e[30]=p,e[31]=y):y=e[31],h=d.map(y),e[14]=f,e[15]=l,e[16]=x,e[17]=c,e[18]=s,e[19]=o,e[20]=r,e[21]=i,e[22]=p,e[23]=h}else h=e[23];let g;return e[32]===h?g=e[33]:(g=(0,a.jsx)(a.Fragment,{children:h}),e[32]=h,e[33]=g),g},gt=({entry:t,namespace:e,protocol:s,rootPath:r,depth:i,locale:n,searchValue:l,onOpenFile:c})=>{var k;let[p,o]=(0,z.useState)(!1),{entriesByPath:x}=fe(),f=t.kind==="directory",j=xt(t.path),u=!!l.trim(),h=f&&u&&j.toLowerCase().includes(l.trim().toLowerCase()),g=f&&u&&!!((k=x.get(Be(e,t.path)))!=null&&k.some(v=>ze(v,e,l,x))),d=p||g,y=(0,z.useCallback)(async()=>{try{let v=await ye.request({namespace:e,path:t.path});if(v.error){E({title:"Download failed",description:v.error,variant:"danger"});return}v.url&&ve(v.url,v.filename??"download")}catch(v){ge.error("Failed to download storage entry",v),E({title:"Download failed",description:String(v),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(st,{className:q("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",f&&"font-medium"),style:H(i),value:`${e}:${t.path}`,onSelect:()=>{f?o(!d):c({entry:t,namespace:e})},children:[f?(0,a.jsx)(_e,{isExpanded:d,className:"h-3 w-3"}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),f?(0,a.jsx)(ta,{className:q("h-3.5 w-3.5 shrink-0",Ze.directory)}):Ye(j),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:j}),(0,a.jsxs)("div",{className:"flex items-center",children:[t.size>0&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums",children:Pe(t.size,n)}),t.lastModified!=null&&(0,a.jsx)(A,{content:`Last modified: ${new Date(t.lastModified*1e3).toLocaleString()}`,children:(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-1 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:Va(t.lastModified,n)})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(qe,{asChild:!0,children:(0,a.jsx)(rt,{iconClassName:"h-3 w-3",onClick:v=>v.stopPropagation()})}),(0,a.jsxs)(We,{align:"end",onClick:v=>v.stopPropagation(),onCloseAutoFocus:v=>v.preventDefault(),children:[!f&&(0,a.jsxs)(M,{onSelect:()=>c({entry:t,namespace:e}),children:[(0,a.jsx)(pt,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(Wt(s,r,t.path).toString()),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(we,{className:nt}),"Copy URL"]}),!f&&(0,a.jsxs)(M,{onSelect:()=>y(),children:[(0,a.jsx)(Ne,{className:"h-3.5 w-3.5 mr-2"}),"Download"]})]})]})]})]}),f&&d&&(0,a.jsx)(Ha,{namespace:e,protocol:s,rootPath:r,prefix:t.path,depth:i+1,locale:n,searchValue:h?"":l,onOpenFile:c})]})},Ua=t=>{let e=(0,De.c)(42),{namespace:s,locale:r,searchValue:i,onOpenFile:n}=t,[l,c]=(0,z.useState)(!0),{entriesByPath:p}=fe(),{clearNamespaceCache:o}=Kt(),x=s.name??s.displayName,{entries:f,isPending:j,error:u,refetch:h}=Ve(x),g;e[0]!==o||e[1]!==x||e[2]!==h?(g=v=>{v.stopPropagation(),o(x),h()},e[0]=o,e[1]=x,e[2]=h,e[3]=g):g=e[3];let d=g,y=j?s.storageEntries:f,k;if(e[4]!==y||e[5]!==p||e[6]!==u||e[7]!==d||e[8]!==l||e[9]!==j||e[10]!==r||e[11]!==s.displayName||e[12]!==s.name||e[13]!==s.protocol||e[14]!==s.rootPath||e[15]!==x||e[16]!==n||e[17]!==i){let v=ut(y,x,i,p),b;e[19]===l?b=e[20]:(b=()=>c(!l),e[19]=l,e[20]=b);let w;e[21]===l?w=e[22]:(w=(0,a.jsx)(_e,{isExpanded:l,className:"h-3 w-3"}),e[21]=l,e[22]=w);let m;e[23]===s.protocol?m=e[24]:(m=(0,a.jsx)(Et,{protocol:s.protocol}),e[23]=s.protocol,e[24]=m);let N;e[25]===s.displayName?N=e[26]:(N=(0,a.jsx)("span",{children:s.displayName}),e[25]=s.displayName,e[26]=N);let _;e[27]===s.name?_=e[28]:(_=s.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(Da,{variableName:s.name}),")"]}),e[27]=s.name,e[28]=_);let C;e[29]===d?C=e[30]:(C=(0,a.jsx)(it,{onClick:d,tooltip:"Refresh storage connection",className:"p-0",iconClassName:"h-3 w-3"}),e[29]=d,e[30]=C);let P=s.rootPath||"(root)",S;e[31]===P?S=e[32]:(S=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:P}),e[31]=P,e[32]=S);let D;e[33]!==s.name||e[34]!==S||e[35]!==b||e[36]!==w||e[37]!==m||e[38]!==N||e[39]!==_||e[40]!==C?(D=(0,a.jsxs)(st,{value:s.name,onSelect:b,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[w,m,N,_,C,S]}),e[33]=s.name,e[34]=S,e[35]=b,e[36]=w,e[37]=m,e[38]=N,e[39]=_,e[40]=C,e[41]=D):D=e[41],k=(0,a.jsxs)(a.Fragment,{children:[D,l&&(0,a.jsxs)(a.Fragment,{children:[j&&y.length===0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:H(1),children:[(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),u&&y.length===0&&(0,a.jsx)(_a,{error:u,style:H(1),className:"py-1 text-xs h-auto overflow-auto max-h-32 items-start",showIcon:!1}),!j&&y.length===0&&!u&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No entries"}),i&&v.length===0&&y.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No matches"}),v.map(L=>(0,a.jsx)(gt,{entry:L,namespace:x,protocol:s.protocol,rootPath:s.rootPath,depth:1,locale:r,searchValue:i,onOpenFile:n},L.path))]})]}),e[4]=y,e[5]=p,e[6]=u,e[7]=d,e[8]=l,e[9]=j,e[10]=r,e[11]=s.displayName,e[12]=s.name,e[13]=s.protocol,e[14]=s.rootPath,e[15]=x,e[16]=n,e[17]=i,e[18]=k}else k=e[18];return k};const qa=()=>{let t=(0,De.c)(31),{namespaces:e}=fe(),{locale:s}=et(),[r,i]=(0,z.useState)(""),[n,l]=(0,z.useState)(null),c=!!r.trim();if(e.length===0){let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsxs)("span",{children:["Create an Obstore or fsspec connection in your notebook. See the"," ",(0,a.jsx)("a",{className:"text-link",href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start",target:"_blank",rel:"noopener noreferrer",children:"docs"}),"."]}),t[0]=b):b=t[0];let w;return t[1]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(Pa,{title:"No storage connected",description:b,action:(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsxs)($,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(Qe,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Ee,{className:"h-8 w-8"})}),t[1]=w):w=t[1],w}let p;t[2]===n?p=t[3]:(p=n&&(0,a.jsx)(Ta,{entry:n.entry,namespace:n.namespace,onBack:()=>l(null)}),t[2]=n,t[3]=p);let o=n&&"hidden",x;t[4]===o?x=t[5]:(x=q("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",o),t[4]=o,t[5]=x);let f;t[6]===r?f=t[7]:(f=(0,a.jsx)(wa,{placeholder:"Search entries...",className:"h-6 m-1",value:r,onValueChange:i,rootClassName:"flex-1 border-b-0"}),t[6]=r,t[7]=f);let j;t[8]===c?j=t[9]:(j=c&&(0,a.jsx)($,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>i(""),children:(0,a.jsx)(Gt,{className:"h-4 w-4"})}),t[8]=c,t[9]=j);let u;t[10]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(A,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(Xt,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=u):u=t[10];let h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsx)($,{variant:"ghost",size:"sm",className:"px-2 border-0 border-l border-muted-background rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",children:(0,a.jsx)(Qe,{className:"h-4 w-4"})})}),t[11]=h):h=t[11];let g;t[12]!==f||t[13]!==j?(g=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[f,j,u,h]}),t[12]=f,t[13]=j,t[14]=g):g=t[14];let d;if(t[15]!==s||t[16]!==e||t[17]!==r){let b;t[19]!==s||t[20]!==r?(b=w=>(0,a.jsx)(Ua,{namespace:w,locale:s,searchValue:r,onOpenFile:l},w.name??w.displayName),t[19]=s,t[20]=r,t[21]=b):b=t[21],d=e.map(b),t[15]=s,t[16]=e,t[17]=r,t[18]=d}else d=t[18];let y;t[22]===d?y=t[23]:(y=(0,a.jsx)(ka,{className:"flex flex-col",children:d}),t[22]=d,t[23]=y);let k;t[24]!==x||t[25]!==g||t[26]!==y?(k=(0,a.jsxs)(Na,{className:x,shouldFilter:!1,children:[g,y]}),t[24]=x,t[25]=g,t[26]=y,t[27]=k):k=t[27];let v;return t[28]!==p||t[29]!==k?(v=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[p,k]}),t[28]=p,t[29]=k,t[30]=v):v=t[30],v};var jt=te(),yt=(0,z.createContext)(null);function Wa(){return(0,z.useContext)(yt)??void 0}var Ka=t=>{let e=(0,jt.c)(3),{children:s}=t,r=ga(),i;return e[0]!==s||e[1]!==r?(i=(0,a.jsx)(yt.Provider,{value:r,children:s}),e[0]=s,e[1]=r,e[2]=i):i=e[2],i};const Ya=t=>{let e=(0,jt.c)(5),{children:s}=t,[r,i]=(0,z.useState)(null),n;e[0]!==s||e[1]!==r?(n=r&&(0,a.jsx)(ua,{backend:ja,options:{rootElement:r},children:(0,a.jsx)(Ka,{children:s})}),e[0]=s,e[1]=r,e[2]=n):n=e[2];let l;return e[3]===n?l=e[4]:(l=(0,a.jsx)("div",{ref:i,className:"contents",children:n}),e[3]=n,e[4]=l),l};var Oe=new Map;const Za=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:s,sendUpdateFile:r}=je(),i=se(Tt),n=se(Le),l=se($t),[c,p]=(0,z.useState)(""),{data:o,isPending:x,error:f,setData:j,refetch:u}=Se(async()=>{let m=await s({path:t.path}),N=m.contents||"";return p(Oe.get(t.path)||N),m},[t.path]),h=async()=>{c!==(o==null?void 0:o.contents)&&await r({path:t.path,contents:c}).then(m=>{m.success&&(j(N=>({...N,contents:c})),p(c))})},g=(0,z.useRef)(c);if(g.current=c,(0,z.useEffect)(()=>()=>{if(!(o!=null&&o.contents))return;let m=g.current;m===o.contents?Oe.delete(t.path):Oe.set(t.path,m)},[t.path,o==null?void 0:o.contents]),f)return(0,a.jsx)(at,{error:f});if(x||!o)return null;let d=o.mimeType||"text/plain",y=d in Ut,k=l&&o.file.isMarimoFile&&(t.path===l||t.path.endsWith(`/${l}`));if(!o.contents&&!y)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:o.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:d})]});let v=(0,a.jsx)(ft,{filename:o.file.name,onRefresh:u,onDownload:n?void 0:()=>{if(pe(d)){ve(Qt(o.contents,d),o.file.name);return}Ue(new Blob([o.contents||c],{type:d}),o.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!me()&&(0,a.jsx)(A,{content:"Open notebook",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:m=>e(m),children:(0,a.jsx)(be,{className:"h-3.5 w-3.5"})})}),!pe(d)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A,{content:"Copy contents to clipboard",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:async()=>{await re(c)},children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A,{content:Ca("global.save"),children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:h,disabled:c===o.contents,children:(0,a.jsx)(ra,{className:"h-3.5 w-3.5"})})})]})]})}),b=pe(d),w=!b&&d!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[v,w&&k&&(0,a.jsxs)(ba,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(la,{className:"h-4 w-4"}),(0,a.jsx)(va,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)(Te,{mimeType:d,contents:b?void 0:w?c:o.contents??void 0,mediaSource:b?{base64:o.contents,mime:d}:void 0,readOnly:!w,onChange:p,extensions:[Ht.of([{key:i.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===o.contents?!1:(h(),!0)}])]})]})};var Ga=class{constructor(t){B(this,"delegate",new Ce([]));B(this,"rootPath","");B(this,"onChange",It.NOOP);B(this,"path",new Fe("/"));B(this,"initialize",async t=>{if(this.onChange=t,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new Ce(e.files),this.rootPath=e.root,this.path=Fe.guessDeliminator(e.root)}catch(e){E({title:"Failed",description:ma(e)})}this.onChange(this.delegate.data)});B(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(r=>{var i;return(i=this.delegate.find(r))==null?void 0:i.data.path})].filter(Boolean),s=await Promise.all(e.map(r=>this.callbacks.listFiles({path:r}).catch(()=>({files:[]}))));for(let[r,i]of e.entries()){let n=s[r];i===this.rootPath?this.delegate=new Ce(n.files):this.delegate.update({id:i,changes:{children:n.files}})}this.onChange(this.delegate.data)});B(this,"relativeFromRoot",t=>{let e=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return t.startsWith(e)?t.slice(e.length):t});B(this,"handleResponse",t=>t.success?t:(E({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let s=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:s.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let s=this.delegate.find(t);if(!s)return;let r=s.data.path,i=this.path.join(this.path.dirname(r),e);await this.callbacks.renameFileOrFolder({path:r,newPath:i}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i])}async move(t,e){var r;let s=e?((r=this.delegate.find(e))==null?void 0:r.data.path)??e:this.rootPath;await Promise.all(t.map(i=>{this.delegate.move({id:i,parentId:e,index:0});let n=this.delegate.find(i);if(!n)return Promise.resolve();let l=this.path.join(s,this.path.basename(n.data.path));return this.delegate.update({id:i,changes:{path:l}}),this.callbacks.renameFileOrFolder({path:n.data.path,newPath:l}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([s])}async createFile(t,e,s="file"){var n;let r=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath,i=await this.callbacks.createFileOrFolder({path:r,type:s,name:t}).then(this.handleResponse);i!=null&&i.info&&(this.delegate.create({parentId:e,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async createFolder(t,e){var i;let s=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath,r=await this.callbacks.createFileOrFolder({path:s,type:"directory",name:t}).then(this.handleResponse);r!=null&&r.info&&(this.delegate.create({parentId:e,index:0,data:r.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const vt=Re(t=>{let e=t(qt);return Lt(e,"no requestClientAtom set"),new Ga({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),Ja=Re({});async function Qa(){await zt.get(vt).refreshAll([])}var U=" ";const bt={directory:t=>`os.listdir("${t}")`,python:t=>`with open("${t}", "r") as _f:
2
- ${U}...
3
- `,json:t=>`with open("${t}", "r") as _f:
4
- ${U}_data = json.load(_f)
5
- `,code:t=>`with open("${t}", "r") as _f:
6
- ${U}...
7
- `,text:t=>`with open("${t}", "r") as _f:
8
- ${U}...
9
- `,image:t=>`mo.image("${t}")`,audio:t=>`mo.audio("${t}")`,video:t=>`mo.video("${t}")`,pdf:t=>`with open("${t}", "rb") as _f:
10
- ${U}...
11
- `,zip:t=>`with open("${t}", "rb") as _f:
12
- ${U}...
13
- `,data:t=>`with open("${t}", "r") as _f:
14
- ${U}...
15
- `,unknown:t=>`with open("${t}", "r") as _f:
16
- ${U}...
17
- `};var Xa=te(),es=1024*1024*100;function wt(t){let e=(0,Xa.c)(7),s;e[0]===t?s=e[1]:(s=t===void 0?{}:t,e[0]=t,e[1]=s);let r=s,{sendCreateFileOrFolder:i}=je(),n;e[2]===i?n=e[3]:(n=async c=>{if(c.length===0)return;let p=c.length===1;await Jt(p?"Uploading file...":"Uploading files...",async o=>{o.addTotal(c.length);for(let x of c){let f=is(rs(x)),j="";f&&(j=Fe.guessDeliminator(f).dirname(f));let u=(await pa(x)).split(",")[1];await i({path:j,type:"file",name:x.name,contents:u}),o.increment(1)}await Qa()},{title:p?"File uploaded":`${c.length} files uploaded`})},e[2]=i,e[3]=n);let l;return e[4]!==r||e[5]!==n?(l={multiple:!0,maxSize:es,onError:ns,onDropRejected:ts,onDrop:n,...r},e[4]=r,e[5]=n,e[6]=l):l=e[6],da(l)}function ts(t){E({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(as)}),variant:"danger"})}function as(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(ss).join(", "),")"]},t.file.name)}function ss(t){return t.message}function ns(t){ge.error(t),E({title:"File upload failed",description:t.message,variant:"danger"})}function rs(t){if(t.webkitRelativePath)return t.webkitRelativePath;if("path"in t&&typeof t.path=="string")return t.path;if("relativePath"in t&&typeof t.relativePath=="string")return t.relativePath}function is(t){if(t)return t.replace(/^\/+/,"")}var ie=te(),ls=Ae("marimo:showHiddenFiles",!0,$e,{getOnInit:!0}),Nt=z.createContext(null);const os=t=>{let e=(0,ie.c)(72),{height:s}=t,r=(0,z.useRef)(null),i=Wa(),[n]=he(vt),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[c,p]=(0,z.useState)(l),[o,x]=(0,z.useState)(null),[f,j]=he(ls),{openPrompt:u}=tt(),[h,g]=he(Ja),d;e[1]===n?d=e[2]:(d=()=>n.initialize(p),e[1]=n,e[2]=d);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[3]=y):y=e[3];let{isPending:k,error:v}=Se(d,y),b;e[4]!==h||e[5]!==n?(b=()=>n.refreshAll(Object.keys(h).filter(F=>h[F])),e[4]=h,e[5]=n,e[6]=b):b=e[6];let w=T(b),m;e[7]!==j||e[8]!==f?(m=()=>{j(!f)},e[7]=j,e[8]=f,e[9]=m):m=e[9];let N=T(m),_;e[10]!==u||e[11]!==n?(_=async()=>{u({title:"Folder name",onConfirm:async F=>{n.createFolder(F,null)}})},e[10]=u,e[11]=n,e[12]=_):_=e[12];let C=T(_),P;e[13]!==u||e[14]!==n?(P=async()=>{u({title:"File name",onConfirm:async F=>{n.createFile(F,null)}})},e[13]=u,e[14]=n,e[15]=P):P=e[15];let S=T(P),D;e[16]!==u||e[17]!==n?(D=async()=>{u({title:"Notebook name",onConfirm:async F=>{n.createFile(F,null,"notebook")}})},e[16]=u,e[17]=n,e[18]=D):D=e[18];let L=T(D),O;e[19]===g?O=e[20]:(O=()=>{var F;(F=r.current)==null||F.closeAll(),g({})},e[19]=g,e[20]=O);let V=T(O),le;e[21]!==c||e[22]!==f?(le=Ft(c,f),e[21]=c,e[22]=f,e[23]=le):le=e[23];let xe=le;if(k){let F;return e[24]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(na,{size:"medium",centered:!0}),e[24]=F):F=e[24],F}if(v){let F;return e[25]===v?F=e[26]:(F=(0,a.jsx)(at,{error:v}),e[25]=v,e[26]=F),F}if(o){let F;e[27]===Symbol.for("react.memo_cache_sentinel")?(F=()=>x(null),e[27]=F):F=e[27];let R;e[28]===Symbol.for("react.memo_cache_sentinel")?(R=(0,a.jsx)($,{onClick:F,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(He,{size:16})}),e[28]=R):R=e[28];let I;e[29]===o.name?I=e[30]:(I=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[R,(0,a.jsx)("span",{className:"font-bold",children:o.name})]}),e[29]=o.name,e[30]=I);let X;e[31]!==o.path||e[32]!==n?(X=_t=>kt(_t,n.relativeFromRoot(o.path)),e[31]=o.path,e[32]=n,e[33]=X):X=e[33];let ee;e[34]!==o||e[35]!==X?(ee=(0,a.jsx)(z.Suspense,{children:(0,a.jsx)(Za,{onOpenNotebook:X,file:o})}),e[34]=o,e[35]=X,e[36]=ee):ee=e[36];let de;return e[37]!==I||e[38]!==ee?(de=(0,a.jsxs)(a.Fragment,{children:[I,ee]}),e[37]=I,e[38]=ee,e[39]=de):de=e[39],de}let W;e[40]!==V||e[41]!==S||e[42]!==C||e[43]!==L||e[44]!==N||e[45]!==w||e[46]!==n?(W=(0,a.jsx)(ds,{onRefresh:w,onHidden:N,onCreateFile:S,onCreateNotebook:L,onCreateFolder:C,onCollapseAll:V,tree:n}),e[40]=V,e[41]=S,e[42]=C,e[43]=L,e[44]=N,e[45]=w,e[46]=n,e[47]=W):W=e[47];let ue=s-33,K,Y,Z;e[48]===n?(K=e[49],Y=e[50],Z=e[51]):(K=async F=>{let{ids:R}=F;for(let I of R)await n.delete(I)},Y=async F=>{let{id:R,name:I}=F;await n.rename(R,I)},Z=async F=>{let{dragIds:R,parentId:I}=F;await n.move(R,I)},e[48]=n,e[49]=K,e[50]=Y,e[51]=Z);let oe;e[52]===Symbol.for("react.memo_cache_sentinel")?(oe=F=>{let R=F[0];R&&(R.data.isDirectory||x(R.data))},e[52]=oe):oe=e[52];let G;e[53]!==h||e[54]!==g||e[55]!==n?(G=async F=>{if(await n.expand(F)){let R=h[F]??!1;g({...h,[F]:!R})}},e[53]=h,e[54]=g,e[55]=n,e[56]=G):G=e[56];let J;e[57]!==i||e[58]!==h||e[59]!==ue||e[60]!==K||e[61]!==Y||e[62]!==Z||e[63]!==G||e[64]!==xe?(J=(0,a.jsx)(ya,{width:"100%",ref:r,height:ue,className:"h-full",data:xe,initialOpenState:h,openByDefault:!1,dndManager:i,renderCursor:us,disableDrop:gs,onDelete:K,onRename:Y,onMove:Z,onSelect:oe,onToggle:G,padding:15,rowHeight:30,indent:cs,overscanCount:1e3,disableMultiSelection:!0,children:ps}),e[57]=i,e[58]=h,e[59]=ue,e[60]=K,e[61]=Y,e[62]=Z,e[63]=G,e[64]=xe,e[65]=J):J=e[65];let Q;e[66]!==J||e[67]!==n?(Q=(0,a.jsx)(Nt,{value:n,children:J}),e[66]=J,e[67]=n,e[68]=Q):Q=e[68];let ce;return e[69]!==W||e[70]!==Q?(ce=(0,a.jsxs)(a.Fragment,{children:[W,Q]}),e[69]=W,e[70]=Q,e[71]=ce):ce=e[71],ce};var cs=15,ds=t=>{let e=(0,ie.c)(37),{onRefresh:s,onHidden:r,onCreateFile:i,onCreateNotebook:n,onCreateFolder:l,onCollapseAll:c}=t,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p={noDrag:!0,noDragEventsBubbling:!0},e[0]=p):p=e[0];let{getRootProps:o,getInputProps:x}=wt(p),f;e[1]===Symbol.for("react.memo_cache_sentinel")?(f=(0,a.jsx)(dt,{size:16}),e[1]=f):f=e[1];let j;e[2]===n?j=e[3]:(j=(0,a.jsx)(A,{content:"Add notebook",children:(0,a.jsx)($,{"data-testid":"file-explorer-add-notebook-button",onClick:n,variant:"text",size:"xs",children:f})}),e[2]=n,e[3]=j);let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(Ge,{size:16}),e[4]=u):u=e[4];let h;e[5]===i?h=e[6]:(h=(0,a.jsx)(A,{content:"Add file",children:(0,a.jsx)($,{"data-testid":"file-explorer-add-file-button",onClick:i,variant:"text",size:"xs",children:u})}),e[5]=i,e[6]=h);let g;e[7]===Symbol.for("react.memo_cache_sentinel")?(g=(0,a.jsx)(ht,{size:16}),e[7]=g):g=e[7];let d;e[8]===l?d=e[9]:(d=(0,a.jsx)(A,{content:"Add folder",children:(0,a.jsx)($,{"data-testid":"file-explorer-add-folder-button",onClick:l,variant:"text",size:"xs",children:g})}),e[8]=l,e[9]=d);let y;e[10]===o?y=e[11]:(y=o({}),e[10]=o,e[11]=y);let k,v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=Vt({variant:"text",size:"xs"}),k=(0,a.jsx)(oa,{size:16}),e[12]=k,e[13]=v):(k=e[12],v=e[13]);let b;e[14]===y?b=e[15]:(b=(0,a.jsx)(A,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...y,className:v,children:k})}),e[14]=y,e[15]=b);let w;e[16]===x?w=e[17]:(w=x({}),e[16]=x,e[17]=w);let m;e[18]===w?m=e[19]:(m=(0,a.jsx)("input",{...w,type:"file"}),e[18]=w,e[19]=m);let N;e[20]===s?N=e[21]:(N=(0,a.jsx)(it,{"data-testid":"file-explorer-refresh-button",onClick:s}),e[20]=s,e[21]=N);let _;e[22]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(ea,{size:16}),e[22]=_):_=e[22];let C;e[23]===r?C=e[24]:(C=(0,a.jsx)(A,{content:"Toggle hidden files",children:(0,a.jsx)($,{"data-testid":"file-explorer-hidden-files-button",onClick:r,variant:"text",size:"xs",children:_})}),e[23]=r,e[24]=C);let P;e[25]===Symbol.for("react.memo_cache_sentinel")?(P=(0,a.jsx)(Ra,{size:16}),e[25]=P):P=e[25];let S;e[26]===c?S=e[27]:(S=(0,a.jsx)(A,{content:"Collapse all folders",children:(0,a.jsx)($,{"data-testid":"file-explorer-collapse-button",onClick:c,variant:"text",size:"xs",children:P})}),e[26]=c,e[27]=S);let D;return e[28]!==b||e[29]!==m||e[30]!==N||e[31]!==C||e[32]!==S||e[33]!==j||e[34]!==h||e[35]!==d?(D=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[j,h,d,b,m,N,C,S]}),e[28]=b,e[29]=m,e[30]=N,e[31]=C,e[32]=S,e[33]=j,e[34]=h,e[35]=d,e[36]=D):D=e[36],D},hs=t=>{let e=(0,ie.c)(9),{node:s,onOpenMarimoFile:r}=t,i;e[0]===s?i=e[1]:(i=c=>{s.data.isDirectory||(c.stopPropagation(),s.select())},e[0]=s,e[1]=i);let n;e[2]!==s.data.isMarimoFile||e[3]!==r?(n=s.data.isMarimoFile&&!me()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:r,children:["open ",(0,a.jsx)(be,{className:"inline ml-1",size:12})]}),e[2]=s.data.isMarimoFile,e[3]=r,e[4]=n):n=e[4];let l;return e[5]!==s.data.name||e[6]!==i||e[7]!==n?(l=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:i,children:[s.data.name,n]}),e[5]=s.data.name,e[6]=i,e[7]=n,e[8]=l):l=e[8],l},ms=t=>{let e=(0,ie.c)(10),{node:s}=t,r=(0,z.useRef)(null),i,n;e[0]===s.data.name?(i=e[1],n=e[2]):(i=()=>{var o,x;(o=r.current)==null||o.focus(),(x=r.current)==null||x.setSelectionRange(0,s.data.name.lastIndexOf("."))},n=[s.data.name],e[0]=s.data.name,e[1]=i,e[2]=n),(0,z.useEffect)(i,n);let l,c;e[3]===s?(l=e[4],c=e[5]):(l=()=>s.reset(),c=o=>{o.key==="Escape"&&s.reset(),o.key==="Enter"&&s.submit(o.currentTarget.value)},e[3]=s,e[4]=l,e[5]=c);let p;return e[6]!==s.data.name||e[7]!==l||e[8]!==c?(p=(0,a.jsx)("input",{ref:r,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:s.data.name,onClick:js,onBlur:l,onKeyDown:c}),e[6]=s.data.name,e[7]=l,e[8]=c,e[9]=p):p=e[9],p},ps=({node:t,style:e,dragHandle:s})=>{let{openFile:r,sendCreateFileOrFolder:i,sendFileDetails:n}=je(),l=se(Le),c=t.data.isDirectory?"directory":aa(t.data.name),p=sa[c],{openConfirm:o,openPrompt:x}=tt(),{createNewCell:f}=Rt(),j=Fa(),u=m=>{f({code:m,before:!1,cellId:j??"__end__"})},h=(0,z.use)(Nt),g=async m=>{kt(m,h?h.relativeFromRoot(t.data.path):t.data.path)},d=async m=>{m.stopPropagation(),m.preventDefault(),o({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(ha,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},y=T(async()=>{t.open(),x({title:"Folder name",onConfirm:async m=>{h==null||h.createFolder(m,t.id)}})}),k=T(async()=>{t.open(),x({title:"File name",onConfirm:async m=>{h==null||h.createFile(m,t.id)}})}),v=T(async()=>{t.open(),x({title:"Notebook name",onConfirm:async m=>{h==null||h.createFile(m,t.id,"notebook")}})}),b=T(async()=>{var C;if(!h||t.data.isDirectory)return;let[m,N]=ca(t.data.name),_=`${m}_copy${N}`;try{let P=await n({path:t.data.path}),S=((C=t.parent)==null?void 0:C.data.path)||"";await i({path:S,type:"file",name:_,contents:P.contents?btoa(P.contents):void 0}),await h.refreshAll([S])}catch{E({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),w=()=>{let m=nt;return(0,a.jsxs)(We,{align:"end",className:"print:hidden w-[220px]",onClick:N=>N.stopPropagation(),onCloseAutoFocus:N=>N.preventDefault(),children:[!t.data.isDirectory&&(0,a.jsxs)(M,{onSelect:()=>t.select(),children:[(0,a.jsx)(pt,{className:m}),"Open file"]}),!t.data.isDirectory&&!me()&&(0,a.jsxs)(M,{onSelect:()=>{r({path:t.data.path})},children:[(0,a.jsx)(be,{className:m}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(M,{onSelect:()=>v(),children:[(0,a.jsx)(dt,{className:m}),"Create notebook"]}),(0,a.jsxs)(M,{onSelect:()=>k(),children:[(0,a.jsx)(Ge,{className:m}),"Create file"]}),(0,a.jsxs)(M,{onSelect:()=>y(),children:[(0,a.jsx)(ht,{className:m}),"Create folder"]}),(0,a.jsx)(ne,{})]}),(0,a.jsxs)(M,{onSelect:()=>t.edit(),children:[(0,a.jsx)($a,{className:m}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(M,{onSelect:b,children:[(0,a.jsx)(we,{className:m}),"Duplicate"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(t.data.path),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(mt,{className:m}),"Copy path"]}),h&&(0,a.jsxs)(M,{onSelect:async()=>{await re(h.relativeFromRoot(t.data.path)),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(mt,{className:m}),"Copy relative path"]}),(0,a.jsx)(ne,{}),(0,a.jsxs)(M,{onSelect:()=>{let{path:N}=t.data;u(bt[c](N))},children:[(0,a.jsx)(Zt,{className:m}),"Insert snippet for reading file"]}),(0,a.jsxs)(M,{onSelect:async()=>{E({title:"Copied to clipboard",description:"Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor"});let{path:N}=t.data;await re(bt[c](N))},children:[(0,a.jsx)(At,{className:m}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!me()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ne,{}),(0,a.jsxs)(M,{onSelect:g,children:[(0,a.jsx)(Aa,{className:m}),"Open notebook"]})]}),(0,a.jsx)(ne,{}),!t.data.isDirectory&&!l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(M,{onSelect:async()=>{let N=(await n({path:t.data.path})).contents||"";Ue(new Blob([N]),t.data.name)},children:[(0,a.jsx)(Ne,{className:m}),"Download"]}),(0,a.jsx)(ne,{})]}),(0,a.jsxs)(M,{onSelect:d,variant:"danger",children:[(0,a.jsx)(ia,{className:m}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:s,className:q("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:m=>{m.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(fs,{node:t}),(0,a.jsxs)("span",{className:q("flex items-center pl-1 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden group",t.willReceiveDrop&&t.data.isDirectory&&"bg-accent/80 hover:bg-accent/80 text-accent-foreground"),children:[t.data.isMarimoFile?(0,a.jsx)(Oa,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}):(0,a.jsx)(p,{className:q("w-5 h-5 shrink-0 mr-2",Ze[c]),strokeWidth:1.5}),t.isEditing?(0,a.jsx)(ms,{node:t}):(0,a.jsx)(hs,{node:t,onOpenMarimoFile:g}),(0,a.jsxs)(Ke,{modal:!1,children:[(0,a.jsx)(qe,{asChild:!0,tabIndex:-1,onClick:m=>m.stopPropagation(),children:(0,a.jsx)(rt,{"data-testid":"file-explorer-more-button",iconClassName:"w-5 h-5"})}),w()]})]})]})},fs=t=>{let e=(0,ie.c)(3),{node:s}=t;if(!s.data.isDirectory){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)("span",{className:"w-4 h-4 shrink-0"}),e[0]=i):i=e[0],i}let r;return e[1]===s.isOpen?r=e[2]:(r=(0,a.jsx)(_e,{isExpanded:s.isOpen,className:"w-4 h-4"}),e[1]=s.isOpen,e[2]=r),r};function kt(t,e){t.stopPropagation(),t.preventDefault(),Ma(e)}function Ft(t,e){if(e)return t;let s=[];for(let r of t){if(xs(r.name))continue;let i=r;if(r.children){let n=Ft(r.children,e);n!==r.children&&(i={...r,children:n})}s.push(i)}return s}function xs(t){return!!t.startsWith(".")}function us(){return null}function gs(t){let{parentNode:e}=t;return!e.data.isDirectory}function js(t){return t.stopPropagation()}var Ct=te(),ys=Ae("marimo:file-explorer-panel:state",{openSections:["files"],hasUserInteracted:!1},$e),St=t=>{let e=(0,Ct.c)(20),{height:s}=t,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={noClick:!0,noKeyboard:!0},e[0]=r):r=e[0];let{getRootProps:i,getInputProps:n,isDragActive:l}=wt(r),c;e[1]===i?c=e[2]:(c=i(),e[1]=i,e[2]=c);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=q("flex flex-col overflow-hidden relative"),e[3]=p):p=e[3];let o;e[4]===s?o=e[5]:(o={height:s},e[4]=s,e[5]=o);let x;e[6]===n?x=e[7]:(x=n(),e[6]=n,e[7]=x);let f;e[8]===x?f=e[9]:(f=(0,a.jsx)("input",{...x}),e[8]=x,e[9]=f);let j;e[10]===l?j=e[11]:(j=l&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center uppercase justify-center text-xl font-bold text-primary/90 bg-accent/85 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none",children:"Drop files here"}),e[10]=l,e[11]=j);let u;e[12]===s?u=e[13]:(u=(0,a.jsx)(os,{height:s}),e[12]=s,e[13]=u);let h;return e[14]!==c||e[15]!==o||e[16]!==f||e[17]!==j||e[18]!==u?(h=(0,a.jsx)(Ya,{children:(0,a.jsxs)("div",{...c,className:p,style:o,children:[f,j,u]})}),e[14]=c,e[15]=o,e[16]=f,e[17]=j,e[18]=u,e[19]=h):h=e[19],h},vs=33,bs=()=>{let t=(0,Ct.c)(41),{ref:e,height:s}=Sa(),r=s===void 0?500:s,[i,n]=he(ys),l=se(Yt).length,c;e:{if(!i.hasUserInteracted&&l>0){if(i.openSections.includes("remote-storage")){c=i.openSections;break e}let O;t[0]===i.openSections?O=t[1]:(O=[...i.openSections,"remote-storage"],t[0]=i.openSections,t[1]=O),c=O;break e}c=i.openSections}let p=c,o;t[2]===n?o=t[3]:(o=O=>{n({openSections:O,hasUserInteracted:!0})},t[2]=n,t[3]=o);let x=o,f=r-vs*2,j;t[4]===p?j=t[5]:(j=p.includes("remote-storage"),t[4]=p,t[5]=j);let u=j,h;t[6]!==p||t[7]!==u?(h=u&&p.includes("files"),t[6]=p,t[7]=u,t[8]=h):h=t[8];let g=h,d;t[9]!==f||t[10]!==g?(d=g?Math.round(f*.4):f,t[9]=f,t[10]=g,t[11]=d):d=t[11];let y=d,k=Math.max(200,g?f-y:f);if(!Mt("storage_inspector")){let O;t[12]===r?O=t[13]:(O=(0,a.jsx)(St,{height:r}),t[12]=r,t[13]=O);let V;return t[14]!==e||t[15]!==O?(V=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:O}),t[14]=e,t[15]=O,t[16]=V):V=t[16],V}let v;t[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Ee,{className:"w-4 h-4"}),t[17]=v):v=t[17];let b;t[18]===l?b=t[19]:(b=l>0&&(0,a.jsx)(za,{children:l}),t[18]=l,t[19]=b);let w;t[20]===b?w=t[21]:(w=(0,a.jsxs)(ot,{children:[v," Remote storage",b]}),t[20]=b,t[21]=w);let m;t[22]===y?m=t[23]:(m={maxHeight:y},t[22]=y,t[23]=m);let N;t[24]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(qa,{}),t[24]=N):N=t[24];let _;t[25]===m?_=t[26]:(_=(0,a.jsx)(ct,{className:"overflow-auto",style:m,children:N}),t[25]=m,t[26]=_);let C;t[27]!==_||t[28]!==w?(C=(0,a.jsxs)(lt,{value:"remote-storage",children:[w,_]}),t[27]=_,t[28]=w,t[29]=C):C=t[29];let P;t[30]===Symbol.for("react.memo_cache_sentinel")?(P=(0,a.jsxs)(ot,{children:[(0,a.jsx)(Je,{className:"w-4 h-4"}),"Files"]}),t[30]=P):P=t[30];let S;t[31]===k?S=t[32]:(S=(0,a.jsxs)(lt,{value:"files",children:[P,(0,a.jsx)(ct,{children:(0,a.jsx)(St,{height:k})})]}),t[31]=k,t[32]=S);let D;t[33]!==x||t[34]!==p||t[35]!==C||t[36]!==S?(D=(0,a.jsxs)(xa,{type:"multiple",value:p,onValueChange:x,children:[C,S]}),t[33]=x,t[34]=p,t[35]=C,t[36]=S,t[37]=D):D=t[37];let L;return t[38]!==e||t[39]!==D?(L=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:D}),t[38]=e,t[39]=D,t[40]=L):L=t[40],L};export{bs as default};
@@ -1,4 +0,0 @@
1
- import{s as Z}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-WUlsM6MC.js";import{t as ge}from"./react-Bj1aDYRI.js";import{Ei as ye,Ft as je,ar as be,kn as te,mr as ve,pr as ke,rr as re,sr as we,ui as ae}from"./cells-DJj8ja0V.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ne,h as _e}from"./useEventListener-DP66hBzA.js";import{n as A}from"./constants-CdR60lKM.js";import{t as Se}from"./ErrorBoundary-BfF3Lb5I.js";import{t as Ce}from"./jsx-runtime-CP2fAiZX.js";import{t as $}from"./button-BwamPDJi.js";import{t as ze}from"./cn-d_A4rA-x.js";import"./dist-Dr9qtoId.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as H}from"./requests-DZy_SQ_v.js";import{t as F}from"./createLucideIcon-BvP5LBIs.js";import{t as Me}from"./chart-no-axes-column-F2DZENgf.js";import{r as Ie}from"./x-yqLqiq5Q.js";import{t as De}from"./chevron-right-_z3dkNFy.js";import{f as B,p as Pe,r as Re,t as se}from"./maps-CTMzJkSk.js";import{t as Oe}from"./circle-play-n0LbT9bZ.js";import{a as Te,p as Ae,r as Fe,t as We}from"./dropdown-menu-Bc2d7Nej.js";import{r as Ue,t as Le}from"./file-icons-C-oatBuk.js";import{t as Ee}from"./file-DVwc11C3.js";import{t as $e}from"./github-BY6XM4ej.js";import{n as He,r as Ve,t as Ye}from"./youtube-DfMgNU9-.js";import{t as qe}from"./link-BmtFffTv.js";import{t as J}from"./spinner-Dt4SmUsI.js";import{n as Be,r as Je,t as Ge}from"./app-config-button-Cw2wXNR2.js";import{t as Qe}from"./refresh-ccw-B3lGEyQm.js";import{dt as Ke,r as Xe}from"./input-GLbHj4DF.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import{t as Ze}from"./use-toast-Hc8CXlvz.js";import{n as ie}from"./paths-D2lG83Oh.js";import{c as le,n as et,o as tt,t as rt}from"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{t as at}from"./tooltip-CKZGcDDd.js";import"./purify.es-BBn8CPhf.js";import{i as ot}from"./dates-BFWtdOCb.js";import{o as st}from"./alert-dialog-CfirwkMl.js";import{t as it}from"./context-CRmPPhx9.js";import"./popover-XNIX-rv1.js";import{n as lt}from"./ImperativeModal-BvRpI5NU.js";import{r as nt}from"./errors-0IrrdfSG.js";import{t as ct}from"./tree-82qhH45u.js";import{t as ne}from"./error-banner-C2nW22mN.js";import{n as G,t as mt}from"./useAsyncData-CI3ntihq.js";import{t as dt}from"./label-CDwJXweF.js";import{t as Q}from"./icons-B9sHgc9n.js";import{t as ht}from"./links-C9QsxOBC.js";import"./Inputs-DWdIc0Ie.js";import{t as pt}from"./useInterval-Ct4FP8Tw.js";var ft=F("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"}]]),ut=F("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"}]]),xt=F("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"}]]),gt=F("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"}]]),yt=F("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"}]]),O=Z(ge(),1),K=oe(),a=Z(Ce(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",re,"Format text with parameterized markdown"],plots:["Plots",Me,"Create interactive visualizations"],sql:["SQL",be,"Query databases directly in marimo"],layout:["Layout",Ve,"Customize the layout of your cells' output"],fileformat:["File format",Ee,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,K.c)(6),{openTutorial:t}=H(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ae,{asChild:!0,children:(0,a.jsxs)($,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Re,{className:"w-3 h-3 ml-1"})]})}),e[1]=s):s=e[1];let o;e[2]===t?o=e[3]:(o=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Te,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=o);let l;return e[4]===o?l=e[5]:(l=(0,a.jsxs)(We,{children:[s,(0,a.jsx)(Fe,{side:"bottom",align:"end",className:"print:hidden",children:o})]}),e[4]=o,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ke,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:$e,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:He,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ye,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:re,url:A.releasesPage}];const kt=()=>{let e=(0,K.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(V,{Icon:qe,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},V=e=>{let t=(0,K.c)(8),{Icon:r,control:s,children:o}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==o||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,o]}),t[2]=o,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==s||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),t[5]=s,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.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:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=O.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=O.createContext(""),Nt=ae("marimo:home:include-markdown",!1,te,{getOnInit:!0}),de=ae("marimo:home:expanded-folders",{},te,{getOnInit:!0});var P=oe();function he(e){return`${rt()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,O.useState)(0),{getRecentFiles:s,getRunningNotebooks:o}=H(),l;e[0]===s?l=e[1]:(l=()=>s(),e[0]=s,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=G(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Ot)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===o?h=e[6]:(h=async()=>{let T=await o();return se.keyBy(T.files,Tt)},e[5]=o,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=G(h,p),f,x,u,g,k,y,b,v,w,N,_,C,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let T=mt(m,n);if(T.error)throw T.error;let X=T.data;if(!X){let E;e[24]===Symbol.for("react.memo_cache_sentinel")?(E=(0,a.jsx)(J,{centered:!0,size:"xlarge"}),e[24]=E):E=e[24],w=E;break e}let[ue,Y]=X;g=ue,u=O.Suspense,x=ce,b={runningNotebooks:Y,setRunningNotebooks:n.setData};let U,L;e[25]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Ge,{showAppConfig:!1}),e[25]=U,e[26]=L):(U=e[25],L=e[26]);let q=`This will shutdown the notebook server and terminate all running notebooks (${Y.size}). You'll lose all data that's in memory.`;e[27]===q?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[U,L,(0,a.jsx)(Be,{description:q})]}),e[27]=q,e[28]=v),C="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(V,{Icon:Oe,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...Y.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let z;e[33]!==f||e[34]!==N||e[35]!==_?(z=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=z):z=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(V,{Icon:we,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let R;e[40]===Symbol.for("react.memo_cache_sentinel")?(R=(0,a.jsx)(Se,{children:(0,a.jsx)(St,{})}),e[40]=R):R=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==z||e[44]!==M||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,k,y,z,M,R]}),e[41]=k,e[42]=y,e[43]=z,e[44]=M,e[45]=C,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let W;return e[53]!==u||e[54]!==D?(W=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=W):W=e[55],W},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=H(),[r,s]=ee(Nt),[o,l]=(0,O.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=G(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(Ke,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===o?g=e[16]:(g=(0,a.jsx)(Xe,{id:"search",value:o,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=o,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ct,{}),e[17]=k):k=e[17];let y;e[18]===s?y=e[19]:(y=j=>s(!!j),e[18]=s,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(je,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Qe,{className:"w-4 h-4"}),e[29]=_):_=e[29];let C;e[30]===N?C=e[31]:(C=(0,a.jsx)($,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=C);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(J,{size:"small"}),e[32]=p,e[33]=S);let z;e[34]!==w||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(V,{Icon:ut,control:w,children:["Workspace",C,S]}),e[34]=w,e[35]=C,e[36]=S,e[37]=z):z=e[37];let I;e[38]!==o||e[39]!==c.files?(I=(0,a.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:(0,a.jsx)(zt,{searchText:o,files:c.files})}),e[38]=o,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==z||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,I]}),e[41]=z,e[42]=I,e[43]=f,e[44]=M):M=e[44];let R;return e[45]!==M||e[46]!==c.root?(R=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=R):R=e[47],R},Ct=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Pe,{className:"w-4 h-4 mr-1"}),e[2]=s):s=e[2];let o;return e[3]===r?o=e[4]:(o=(0,a.jsxs)($,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[s,"Collapse all"]}),e[3]=r,e[4]=o),o},zt=e=>{let t=(0,P.c)(12),{files:r,searchText:s}=e,[o,l]=ee(de),i=Object.keys(o).length===0,m=(0,O.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,O.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==o||t[5]!==l?(h=async n=>{let f=o[n]??!1;l({...o,[n]:!f})},t[4]=o,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==o||t[9]!==s||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:At,data:r,openByDefault:!1,initialOpenState:o,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Ft,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=o,t[9]=s,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:s}=e,o=Le[r.data.isDirectory?"directory":Ue(r.data.name)],l;t[0]===o?l=t[1]:(l=(0,a.jsx)(o,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=o,t[1]=l);let i=l,m=(0,O.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.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:[i,r.data.name]});let u=r.data.path.startsWith(m)&&ie.isAbsolute(r.data.path)?ie.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.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:le(`?file=${encodeURIComponent(u)}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=ze("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==s||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:s,className:h,onClick:p,children:[n,f]}),t[14]=s,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let s;return t[1]===r.isOpen?s=t[2]:(s=r.isOpen?(0,a.jsx)(Ie,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(De,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=s),s},pe=e=>{let t=(0,P.c)(7),{header:r,files:s}=e;if(s.length===0)return null;let o;t[0]===s?o=t[1]:(o=s.map(Wt),t[0]=s,t[1]=o);let l;t[2]===o?l=t[3]:(l=(0,a.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]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:s}=it(),o;t[0]===r.path?o=t[1]:(o=et(r.path),t[0]=r.path,t[1]=o);let l=o,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=le(l?`?file=${encodeURIComponent(r.initializationId??r.path)}&session_id=${r.path}`:`?file=${encodeURIComponent(r.path)}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="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",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==s?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ot(r.lastModified*1e3,s)}),t[28]=r.lastModified,t[29]=s,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:s,closeModal:o}=lt(),{shutdownSession:l}=H(),{runningNotebooks:i,setRunningNotebooks:m}=(0,O.use)(ce);if(!i.has(r))return null;let d;t[0]!==o||t[1]!==r||t[2]!==s||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(st,{onClick:()=>{let n=i.get(r);ye(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(se.keyBy(f.files,Ut))}),o(),Ze({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=r,t[2]=s,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Je,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)($,{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:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=tt(),e[0]=t):t=e[0];let r=t,s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=s):s=e[1];let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
2
- text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
3
- transition-all duration-300 cursor-pointer
4
- `,href:r,target:"_blank",rel:"noreferrer",children:[s,(0,a.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:(0,a.jsx)(B,{size:24})})]}),e[2]=o):o=e[2],o},Rt=_t;function Ot(e){return e+1}function Tt(e){return e.path}function At(e){return e.path}function Ft(){return null}function Wt(e){return(0,a.jsx)(Dt,{file:e},e.path)}function Ut(e){return e.path}export{Rt as default};
@@ -1 +0,0 @@
1
- import"./react-Bj1aDYRI.js";import"./jsx-runtime-CP2fAiZX.js";import"./cjs-CVt8hZ5L.js";import{a as r}from"./chunk-5FQGJX7Z-Cyze_Wbx.js";export{r as Mermaid};
@@ -1 +0,0 @@
1
- import"./react-Bj1aDYRI.js";import"./jsx-runtime-CP2fAiZX.js";import"./vega-loader.browser-BJ9oKrvH.js";import{n as m,t as o}from"./react-vega-DzWik59S.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";export{m as VegaEmbed,o as useVegaEmbed};
@@ -1 +0,0 @@
1
- import{p as A,u as E}from"./useEvent-WUlsM6MC.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as k}from"./createReducer-BrKCfm9t.js";import{t as y}from"./requests-DZy_SQ_v.js";import{t as q}from"./createLucideIcon-BvP5LBIs.js";import{t as g}from"./DeferredRequestRegistry-TekxUirp.js";import{n as b}from"./useAsyncData-CI3ntihq.js";var C=q("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const v=new g("storage-list-entries",async(r,t)=>{await y().listStorageEntries({requestId:r,...t})}),I=new g("storage-download",async(r,t)=>{await y().downloadStorage({requestId:r,...t})});function w(r,t){return`${r}::${t??""}`}function N(r){return`${r}::`}function _(r,t,e){let a=[t,e].filter(Boolean).join("/").replaceAll(/\/+/g,"/");return new URL(`${r}://${a}`)}var j=S();function z(){return{namespaces:[],entriesByPath:new Map}}var{reducer:K,createActions:O,valueAtom:x,useActions:F}=k(z,{setNamespaces:(r,t)=>{let e=new Map(r.namespaces.map(a=>[a.name,a]));for(let a of t.namespaces)e.set(a.name,a);return{...r,namespaces:[...e.values()]}},setEntries:(r,t)=>{let e=w(t.namespace,t.prefix),a=new Map(r.entriesByPath);return a.set(e,t.entries),{...r,entriesByPath:a}},clearNamespaceCache:(r,t)=>{let e=new Map(r.entriesByPath),a=N(t);for(let s of e.keys())s.startsWith(a)&&e.delete(s);return{...r,entriesByPath:e}},filterFromVariables:(r,t)=>{let e=new Set(t),a=r.namespaces.filter(s=>e.has(s.name));return{...r,namespaces:a}}});const P=()=>E(x),H=A(r=>r(x).namespaces);function B(){return F()}function L(r,t){let e=(0,j.c)(20),{entriesByPath:a}=P(),{setEntries:s}=B(),o;e[0]!==a||e[1]!==r||e[2]!==t?(o=a.get(w(r,t)),e[0]=a,e[1]=r,e[2]=t,e[3]=o):o=e[3];let n=o,c;e[4]!==n||e[5]!==r||e[6]!==t||e[7]!==s?(c=async()=>{if(n)return;let d=await v.request({namespace:r,prefix:t??"",limit:150});if(d.error)throw Error(d.error);s({namespace:r,prefix:t,entries:d.entries})},e[4]=n,e[5]=r,e[6]=t,e[7]=s,e[8]=c):c=e[8];let p=n===void 0,l;e[9]!==r||e[10]!==t||e[11]!==p?(l=[r,t,p],e[9]=r,e[10]=t,e[11]=p,e[12]=l):l=e[12];let{isPending:M,error:$,refetch:f}=b(c,l),i;e[13]===n?i=e[14]:(i=n??[],e[13]=n,e[14]=i);let u=M&&!n,h=n?void 0:$,m;return e[15]!==f||e[16]!==i||e[17]!==u||e[18]!==h?(m={entries:i,isPending:u,error:h,refetch:f},e[15]=f,e[16]=i,e[17]=u,e[18]=h,e[19]=m):m=e[19],m}export{w as a,v as c,L as i,C as l,P as n,_ as o,B as r,I as s,H as t};
@@ -1 +0,0 @@
1
- import"./purify.es-BBn8CPhf.js";import"./src-lcGySDV2.js";import"./chunk-S3R3BYOJ-JNQMgAH6.js";import{n as t}from"./src-BRLtyMKi.js";import"./chunk-ABZYJK2D-CIP2m5SK.js";import"./chunk-HN2XXSSU-ujlBpRMF.js";import"./chunk-CVBHYZKI-BX0N_ipT.js";import"./chunk-ATLVNIR6-dCnEfemD.js";import"./dist-BjCIGEdQ.js";import"./chunk-JA3XYJ7Z-BM9i2UKq.js";import"./chunk-JZLCHNYA-m6YUUy9x.js";import"./chunk-QXUST7PY-CcYtOR78.js";import"./chunk-N4CR4FBY-C1lKPnWl.js";import"./chunk-55IACEB6-DPm6ES7n.js";import"./chunk-QN33PNHL-Czx-c7tW.js";import{i,n as o,r as m,t as p}from"./chunk-DI55MBZ5-DjV-ScSc.js";var a={parser:o,get db(){return new p(2)},renderer:m,styles:i,init:t(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{a as diagram};
@@ -1 +0,0 @@
1
- import{n as t,t as s}from"./stex-0ac7Aukl.js";export{s as stex,t as stexMath};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tracing-DTCuFbVV.js","./clear-button-BA9qcQQg.js","./cn-d_A4rA-x.js","./clsx-A78R3nYl.js","./compiler-runtime-B3qBwwSJ.js","./react-Bj1aDYRI.js","./chunk-LvLJmgfZ.js","./jsx-runtime-CP2fAiZX.js","./cells-DJj8ja0V.js","./preload-helper-BW0IMuFq.js","./badge-BUFDGZ04.js","./button-BwamPDJi.js","./useEventListener-DP66hBzA.js","./Combination-lAuBMOg4.js","./react-dom-CSu739Rf.js","./select-DMX8tcVe.js","./menu-items-CRjHRaiu.js","./dist-qkIhd7iG.js","./check-BnZGcuDh.js","./createLucideIcon-BvP5LBIs.js","./x-yqLqiq5Q.js","./tooltip-CKZGcDDd.js","./use-toast-Hc8CXlvz.js","./utils-C1ZciZbF.js","./useEvent-WUlsM6MC.js","./_baseIsEqual-BU8KB_Ip.js","./_Uint8Array-BGESiCQL.js","./invariant-awXiPaF0.js","./merge-DnJbrtRQ.js","./isArrayLikeObject-BkJc8lDE.js","./zod-H_cgTO0M.js","./DeferredRequestRegistry-TekxUirp.js","./Deferred-BMfCOLaw.js","./uuid-ClFZlR7U.js","./config-BH98g9qk.js","./constants-CdR60lKM.js","./session-iz9BPeTp.js","./requests-DZy_SQ_v.js","./useLifecycle-BRklGKFJ.js","./assertNever-Dg4AnA3p.js","./toString-DlRqgfqz.js","./isSymbol-BGkTcW3U.js","./_baseSlice-39dTX4Wi.js","./_hasUnicode-QS_pSfjY.js","./_arrayReduce-BKEr35uH.js","./useNonce-BY4jV7Yb.js","./useTheme-Co8bbxoC.js","./once-DRC4SgqY.js","./capabilities-yFZOze7r.js","./createReducer-BrKCfm9t.js","./paths-D2lG83Oh.js","./dist-C88PeA-j.js","./dist-Dr9qtoId.js","./dist-BUr9VSV4.js","./dist-Jp_4M-Ei.js","./dist-Cf47zp7b.js","./dist-Bagw3W9X.js","./dist-t1vdhOX_.js","./dist-D3OoaVQX.js","./dist-B7Qj0ClH.js","./stex-0ac7Aukl.js","./toDate-DDAiY7kz.js","./purify.es-BBn8CPhf.js","./cjs-CVt8hZ5L.js","./_baseProperty-DuoFhI7N.js","./debounce-D8CkpJG7.js","./toNumber-GB_lFVaq.js","./now-DIo_1hTm.js","./toInteger-Cl1doThW.js","./database-zap-B3efE3T2.js","./main-Cmx6WhDY.js","./cells-jmgGt1lS.css","./CellStatus-rawm41sF.js","./multi-icon-OxLi6M3I.js","./multi-icon-pwGWVz3d.css","./useDateFormatter-DOoVZUts.js","./context-CRmPPhx9.js","./SSRProvider-CwqN9FWV.js","./en-US-k6sS5Nab.js","./ellipsis-CnEpKti0.js","./refresh-cw-fLeDriQe.js","./workflow-DgZ_19fF.js","./CellStatus-2Psjnl5F.css","./empty-state-DFr2pZOz.js","./panel-context-ICWm_stq.js","./cell-link-TWNu2IkO.js","./ImperativeModal-BvRpI5NU.js","./alert-dialog-CfirwkMl.js","./dialog-ChkDhlMQ.js","./input-GLbHj4DF.js","./useDebounce-S9zaMzrr.js","./numbers-Eb1pfDec.js","./useNumberFormatter-BXZcbTzH.js","./usePress-G817DpBk.js","./runs-B4QSIylk.js","./react-vega-DzWik59S.js","./precisionRound-CCOoIlcP.js","./defaultLocale-CuYNS33t.js","./linear-c4WCYuol.js","./timer-BEJidwwG.js","./init-BpLL1fe9.js","./time-BuGE4zW4.js","./defaultLocale-CGfP-Ye3.js","./range-ClqUI25v.js","./vega-loader.browser-BJ9oKrvH.js","./treemap-qinQgXo1.js","./path-DtYs9Dst.js","./colors-Dm6L93c7.js","./ordinal-DMIExrUm.js","./arc-DUSwcTI9.js","./math-CpvW-dlE.js","./array-CEZNxKGf.js","./step-B5y1YzZ4.js","./line-BKm-YkCh.js","./chevron-right-_z3dkNFy.js","./circle-check-CceJVe3L.js","./circle-play-n0LbT9bZ.js","./react-resizable-panels.browser.esm-RgA6v8U3.js","./bundle.esm-_LzfhNmX.js"])))=>i.map(i=>d[i]);
2
- import{s as m}from"./chunk-LvLJmgfZ.js";import{t as i}from"./react-Bj1aDYRI.js";import{t as n}from"./compiler-runtime-B3qBwwSJ.js";import{t as f}from"./jsx-runtime-CP2fAiZX.js";import{t as _}from"./spinner-Dt4SmUsI.js";import{t as p}from"./preload-helper-BW0IMuFq.js";let c,u=(async()=>{let a,l,r,o,s;a=n(),l=m(i(),1),r=m(f(),1),o=l.lazy(()=>p(()=>import("./tracing-DTCuFbVV.js").then(async t=>(await t.__tla,t)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]),import.meta.url).then(t=>({default:t.Tracing}))),c=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(l.Suspense,{fallback:(0,r.jsx)(s,{}),children:(0,r.jsx)(o,{})}),t[0]=e):e=t[0],e},s=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("div",{className:"flex flex-col items-center justify-center h-full",children:(0,r.jsx)(_,{})}),t[0]=e):e=t[0],e}})();export{u as __tla,c as default};