@marimo-team/frontend 0.21.2-dev43 → 0.21.2-dev47
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.
- package/dist/assets/{CellStatus-IHJk0CT8.js → CellStatus-DX8MnBMk.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-Buaffg3u.js → ConnectedDataExplorerComponent-7yXYooWG.js} +1 -1
- package/dist/assets/{DeferredRequestRegistry-O6RDJKs0.js → DeferredRequestRegistry-B8jPCuU1.js} +1 -1
- package/dist/assets/{ImperativeModal-qEtcJ95s.js → ImperativeModal-C3CD5-Aq.js} +1 -1
- package/dist/assets/{JsonOutput-BIbkaOuk.js → JsonOutput-DqjAyzM8.js} +3 -3
- package/dist/assets/{LazyAnyLanguageCodeMirror-Dmh6kfiy.js → LazyAnyLanguageCodeMirror-CcCHIX38.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-hYOXA8Ml.js → MarimoErrorOutput-Dat_S09q.js} +1 -1
- package/dist/assets/RenderHTML-C7XM39M2.js +1 -0
- package/dist/assets/{add-cell-with-ai-Cbktc1B0.js → add-cell-with-ai-y2xroEGf.js} +1 -1
- package/dist/assets/{add-connection-dialog-BewAq3li.js → add-connection-dialog-QDBOmil3.js} +1 -1
- package/dist/assets/{agent-panel-CtAqa-P9.js → agent-panel-DziFrEjJ.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DgMZ5T_L.js → ai-model-dropdown-CiJpv5wN.js} +1 -1
- package/dist/assets/{alert-dialog-9WfvUF7e.js → alert-dialog-ebk_-wsU.js} +1 -1
- package/dist/assets/{any-language-editor-C4OP3txB.js → any-language-editor-DZYnKlJB.js} +1 -1
- package/dist/assets/{app-config-button-BLGBmcfT.js → app-config-button-CpAv9Tiu.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-DfMHHFZ3.js → architectureDiagram-VXUJARFQ-DKmk99ac.js} +1 -1
- package/dist/assets/{azure-BeB26UeM.js → azure-Dw5gKmUz.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-CuEDwbg7.js → blockDiagram-VD42YOAC-TpAhP5OQ.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-CD9uz7WG.js → c4Diagram-YG6GDRKO-Dg8hCyKf.js} +1 -1
- package/dist/assets/{cache-panel-qIxnndwr.js → cache-panel-D0OsHk_D.js} +1 -1
- package/dist/assets/{cell-editor-Ti3F6axu.js → cell-editor-RbAVpSFb.js} +1 -1
- package/dist/assets/{cell-link-BEnixmCb.js → cell-link-CNgO3c-T.js} +1 -1
- package/dist/assets/{cells-DqKJsMUm.js → cells-39RE4UzS.js} +3 -3
- package/dist/assets/channel-D1wPYhc9.js +1 -0
- package/dist/assets/{chat-display-B0hV2K6L.js → chat-display-BPUVrlA6.js} +1 -1
- package/dist/assets/{chat-panel-CNGIGWIs.js → chat-panel-esz5TfF-.js} +1 -1
- package/dist/assets/{chunk-5FQGJX7Z-CM1a_K7I.js → chunk-5FQGJX7Z-sGWxL7Ey.js} +3 -3
- package/dist/assets/{chunk-ABZYJK2D-D_Wumzom.js → chunk-ABZYJK2D-DXJ7hnjx.js} +1 -1
- package/dist/assets/{chunk-ATLVNIR6-BZ0lTgIn.js → chunk-ATLVNIR6-CTEqcLEc.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-Dw1S6osV.js → chunk-B4BG7PRW-CkAIqtPf.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-Q63FTCPP.js → chunk-DI55MBZ5-C4F9vu8o.js} +1 -1
- package/dist/assets/{chunk-EXTU4WIE-CfkJ_R7W.js → chunk-EXTU4WIE-BT0Py-4P.js} +1 -1
- package/dist/assets/{chunk-JA3XYJ7Z-B41fGeoj.js → chunk-JA3XYJ7Z-CGd7jja_.js} +1 -1
- package/dist/assets/{chunk-JZLCHNYA-D43EJxQw.js → chunk-JZLCHNYA-CqY-RYTj.js} +1 -1
- package/dist/assets/{chunk-N4CR4FBY-DCtw0-ni.js → chunk-N4CR4FBY-aUDjVzN7.js} +2 -2
- package/dist/assets/{chunk-QN33PNHL-CLA2rsaS.js → chunk-QN33PNHL-DHnCb5-U.js} +1 -1
- package/dist/assets/{chunk-QXUST7PY-De1DpbnL.js → chunk-QXUST7PY-CRO5kYCE.js} +1 -1
- package/dist/assets/{chunk-S3R3BYOJ-qrwvlUdq.js → chunk-S3R3BYOJ-CSHQgcuP.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-C4KcThb0.js → chunk-TZMSLE5B-CE7o9asH.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-BDIQSKYv.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-Cdh4cVOB.js +1 -0
- package/dist/assets/{code-block-37QAKDTI-D4FF4cnN.js → code-block-37QAKDTI-DMpe1jNG.js} +1 -1
- package/dist/assets/{column-preview-CVqBaB8R.js → column-preview-BUKHsglA.js} +1 -1
- package/dist/assets/{command-DpusMohg.js → command-DmzEbs6L.js} +1 -1
- package/dist/assets/{command-palette-BfuIslSf.js → command-palette-BX5gNpUr.js} +1 -1
- package/dist/assets/{common-CYWtZYKm.js → common-B4yshY-H.js} +1 -1
- package/dist/assets/{components-DZQ7ndNS.js → components-DCqJqyys.js} +1 -1
- package/dist/assets/{components-C4dDqD7U.js → components-oKCjx6cN.js} +1 -1
- package/dist/assets/{config-3Aq84phF.js → config-DqxNMQDN.js} +1 -1
- package/dist/assets/{context-CIAP2NOh.js → context-CRmPPhx9.js} +1 -1
- package/dist/assets/{context-aware-panel-DEVrXLoa.js → context-aware-panel-DC0Te9Hj.js} +1 -1
- package/dist/assets/{copy-icon-C6n2vWSW.js → copy-icon-P0kzz1Pr.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-BhMnPhuU.js → dagre-6UL2VRFP-XqoNLMQ3.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-kbv73SQ7.js → data-grid-overlay-editor-Cus1-BFN.js} +1 -1
- package/dist/assets/{datasource-Bo8w993m.js → datasource-DKHG39NV.js} +1 -1
- package/dist/assets/{dates-CHaNfieI.js → dates-CTqMeMGY.js} +1 -1
- package/dist/assets/{dependency-graph-panel-u9oPy09H.js → dependency-graph-panel-7GKT3dyD.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-Cr2t4zul.js → diagram-PSM6KHXK-BuzKNNcN.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-DLU_hSO4.js → diagram-QEK2KX5R-A5LBQS11.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-C7EkNAO3.js → diagram-S2PKOQOG-dkJE8SA0.js} +1 -1
- package/dist/assets/{dialog-CVN1lcMF.js → dialog-1_jIyAb_.js} +1 -1
- package/dist/assets/{dist-DJBpXGro.js → dist-6P6vjf93.js} +1 -1
- package/dist/assets/dist-BWGxTsTP.js +1 -0
- package/dist/assets/{dist-CblX3KGI.js → dist-B_buFm3B.js} +1 -1
- package/dist/assets/{dist-CXLJUPFl.js → dist-BatEf-0f.js} +1 -1
- package/dist/assets/dist-C3AnARPE.js +1 -0
- package/dist/assets/{dist-BNC_tnlW.js → dist-C6ohaMKU.js} +1 -1
- package/dist/assets/{dist-BoDHthoc.js → dist-CO9Pg2Rc.js} +1 -1
- package/dist/assets/{dist-By6zhkxZ.js → dist-CSV6H5w_.js} +1 -1
- package/dist/assets/{dist-6FIAeDIu.js → dist-CYs1oP7g.js} +1 -1
- package/dist/assets/{dist-DbK_4_qo.js → dist-DD9ZJMK5.js} +1 -1
- package/dist/assets/{dist-DlTbNRBn.js → dist-DReDpc2z.js} +1 -1
- package/dist/assets/dist-DSlq5ZeQ.js +1 -0
- package/dist/assets/{dist-DrceDAhM.js → dist-DXyIIB32.js} +1 -1
- package/dist/assets/{dist-CcGcwrUD.js → dist-DkaderFA.js} +1 -1
- package/dist/assets/{dist-BiZQlfhr.js → dist-Dq3BlK4R.js} +1 -1
- package/dist/assets/{dist-ClzRAVN-.js → dist-Dxov2ltb.js} +1 -1
- package/dist/assets/{dist-BXXPfIam.js → dist-EtGG9C1A.js} +1 -1
- package/dist/assets/{dist-C3MmXcLA.js → dist-NjId5Gdz.js} +1 -1
- package/dist/assets/dist-ZM59OWYL.js +1 -0
- package/dist/assets/dist-_TwZ4tIe.js +1 -0
- package/dist/assets/dist-f9b2H4q_.js +1 -0
- package/dist/assets/{dist-mxGLXOFm.js → dist-feWVQ4dq.js} +1 -1
- package/dist/assets/{documentation-panel-BQRmNRb_.js → documentation-panel-D5d_BbHV.js} +1 -1
- package/dist/assets/{download-DtyAt8iO.js → download-B1vXaivj.js} +1 -1
- package/dist/assets/{dropdown-menu-DdPu5Kfu.js → dropdown-menu-BehqiLFL.js} +1 -1
- package/dist/assets/{edit-page-Cqvk7zWH.js → edit-page-B5cAZdO7.js} +3 -3
- package/dist/assets/{en-US-BO8E69bZ.js → en-US-f8tajDx1.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-DqlEo_Us.js → erDiagram-Q2GNP2WA-CgH6udOW.js} +1 -1
- package/dist/assets/{error-banner-BRG6IPhC.js → error-banner-J5F3weEj.js} +1 -1
- package/dist/assets/{error-panel-DclemF57.js → error-panel-DnhKJ5Ou.js} +1 -1
- package/dist/assets/{es-CzkousWe.js → es-DYI7U61K.js} +1 -1
- package/dist/assets/{esm-CBkHtTOV.js → esm-BC1J92im.js} +1 -1
- package/dist/assets/{esm-DhTsVMLM.js → esm-DKLLCu3N.js} +1 -1
- package/dist/assets/{field-B1jGbQlH.js → field-B08lvxnl.js} +1 -1
- package/dist/assets/file-explorer-panel-BUk69TND.js +26 -0
- package/dist/assets/{file-icons-D4HcGlr_.js → file-icons-3DTS8ZM7.js} +1 -1
- package/dist/assets/{floating-outline-B86gVj23.js → floating-outline-DmugATcB.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-CQlIJ12H.js → flowDiagram-NV44I4VS-D85BL4rA.js} +1 -1
- package/dist/assets/{focus-B85PAbhR.js → focus-DlJH7sfh.js} +1 -1
- package/dist/assets/{form--K3o18rQ.js → form-760_EqmF.js} +1 -1
- package/dist/assets/{formats-rhOJovGE.js → formats-wYuh1bqp.js} +1 -1
- package/dist/assets/{formatting-B4ZCH3ol.js → formatting-CraOPe94.js} +1 -1
- package/dist/assets/{gallery-page-eRea0yic.js → gallery-page--paiPvYX.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-B3EGIuZL.js → ganttDiagram-JELNMOA3-DzCOXWlF.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM-h5SlguJK.js → gitGraphDiagram-V2S2FVAM-BUHURX6t.js} +1 -1
- package/dist/assets/{glide-data-editor-CoE8cs_o.js → glide-data-editor-DYdoQTO5.js} +4 -4
- package/dist/assets/{globals-C_t1YYpc.js → globals-7M5DRsIb.js} +1 -1
- package/dist/assets/home-page-CxQ1e98h.js +4 -0
- package/dist/assets/{hooks-W-qT5c6l.js → hooks-C3jEff2O.js} +1 -1
- package/dist/assets/{html-to-image-CoMmxXBd.js → html-to-image-DTFXm6_Z.js} +1 -1
- package/dist/assets/{index-D3rIJiKM.css → index-BmoocKR0.css} +1 -1
- package/dist/assets/{index-BSzIstPK.js → index-DNchElHl.js} +6 -6
- package/dist/assets/{infoDiagram-HS3SLOUP-pzpClObZ.js → infoDiagram-HS3SLOUP-GG5r0Y5G.js} +1 -1
- package/dist/assets/{input-CUwqpKjd.js → input-CN1ZeRYm.js} +1 -1
- package/dist/assets/{isValid-BGe7pJXT.js → isValid-DY4Mgbr7.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-BrdRi92v.js → journeyDiagram-XKPGCS4Q-B1dvnV4D.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-B6WqgFqh.js → kanban-definition-3W4ZIXB7-CefbrXQv.js} +1 -1
- package/dist/assets/{kiosk-mode-zv0zIGqw.js → kiosk-mode-CyTnrzwK.js} +1 -1
- package/dist/assets/{layout-C_JVKYrz.js → layout-3b3tzmbb.js} +1 -1
- package/dist/assets/{linear-BP9rwmWK.js → linear-BDnrHGYO.js} +1 -1
- package/dist/assets/{links-CIQwYQ48.js → links-CptYD1FP.js} +1 -1
- package/dist/assets/{logs-panel-DowtOCA5.js → logs-panel-C4k_2IHW.js} +1 -1
- package/dist/assets/{markdown-renderer-CNaYgTOF.js → markdown-renderer-DSy5IuAx.js} +1 -1
- package/dist/assets/{menu-items-UxKrm8hS.js → menu-items-BpHXKv51.js} +1 -1
- package/dist/assets/mermaid-4DMBBIKO-g7AL4SLJ.js +1 -0
- package/dist/assets/{mermaid-Djr3jUAB.js → mermaid-C43VbdrM.js} +3 -3
- package/dist/assets/{mermaid-parser.core-DR82IMb2.js → mermaid-parser.core-CdM8D_p_.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-DAmJpbPM.js → mindmap-definition-VGOIOE7T-CcV7D-wF.js} +1 -1
- package/dist/assets/{mode-Bn_XF6AW.js → mode-D-iRbN9x.js} +1 -1
- package/dist/assets/{multi-map-Pp1P2DOX.js → multi-map-C8RbwBrw.js} +1 -1
- package/dist/assets/{name-cell-input-CVt9kv6F.js → name-cell-input-Dyb0ZO4X.js} +1 -1
- package/dist/assets/{number-overlay-editor-D__AflXQ.js → number-overlay-editor-BBJO1mf8.js} +1 -1
- package/dist/assets/{outline-panel-ClI23gcy.js → outline-panel-D7CJwO8u.js} +1 -1
- package/dist/assets/{packages-panel-BW2m-sNe.js → packages-panel-Bp1SYjgc.js} +1 -1
- package/dist/assets/{panels-B2DAaT1E.js → panels-D0aw6jdc.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DbGIFRoq.js → pieDiagram-ADFJNKIX-C1fBf15W.js} +1 -1
- package/dist/assets/{popover-BPGG2gPG.js → popover-Bvoif-Mg.js} +1 -1
- package/dist/assets/{precisionRound-BOmLQIKI.js → precisionRound-CCOoIlcP.js} +1 -1
- package/dist/assets/{process-output-BewZuQwI.js → process-output-BxPWHcIi.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-CLAtyple.js → quadrantDiagram-AYHSOK5B-RVooN-fX.js} +1 -1
- package/dist/assets/{react-vega-BZav_-2n.js → react-vega-BKRQSy0g.js} +1 -1
- package/dist/assets/react-vega-DXESF7qN.js +1 -0
- package/dist/assets/{readonly-python-code-BgTK_w0H.js → readonly-python-code-D95oshJa.js} +1 -1
- package/dist/assets/{renderShortcut-CnD1Dah5.js → renderShortcut-BYvKm38e.js} +1 -1
- package/dist/assets/{request-registry-B-7cIM_I.js → request-registry-XB2EzJHm.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-DDDTB1LD.js → requirementDiagram-UZGBJVZJ-DtqOYJpH.js} +1 -1
- package/dist/assets/{run-page-DMpRvHgf.js → run-page-B7CASued.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-DAWPOfBw.js → sankeyDiagram-TZEHDZUN-DmcooLA8.js} +1 -1
- package/dist/assets/{scratchpad-panel-ClDi2sdV.js → scratchpad-panel-BIVRgYOU.js} +1 -1
- package/dist/assets/{secrets-panel-CfWyTaso.js → secrets-panel-C24hZEiO.js} +1 -1
- package/dist/assets/{select-CxT2Geqr.js → select-Cnd3vm9n.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-D_qAidD2.js → sequenceDiagram-WL72ISMW-S2qeLb7J.js} +1 -1
- package/dist/assets/{session-panel-C-RbWN-G.js → session-panel-CNabBHQm.js} +1 -1
- package/dist/assets/{share-BdH_5I58.js → share-NjpZ54PJ.js} +1 -1
- package/dist/assets/{snippets-panel-DCdeI2hB.js → snippets-panel-D1JAeJj1.js} +1 -1
- package/dist/assets/{spec-DbmSqx09.js → spec-DnVBmJUh.js} +1 -1
- package/dist/assets/{state-Ce7CVShi.js → state-BagvlaEz.js} +1 -1
- package/dist/assets/{state-CJ2HIW-e.js → state-Cz_wrzCz.js} +1 -1
- package/dist/assets/{state-CBmCYWFH.js → state-DMQXxemS.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-C7qgDrGA.js → stateDiagram-FKZM4ZOC-uuQ60pIl.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-D-GWhQTG.js +1 -0
- package/dist/assets/stex-CruVQx-P.js +1 -0
- package/dist/assets/{switch-O_7alg7G.js → switch-Bwpd2AFq.js} +1 -1
- package/dist/assets/{terminal-BZZqbl0D.js → terminal-Gl8Fi44y.js} +1 -1
- package/dist/assets/{time-D2GKc0U6.js → time-Bw8f15NM.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-hd6uJKGs.js → timeline-definition-IT6M3QCI-TKWeDnSQ.js} +1 -1
- package/dist/assets/{toggle-RCwU-rnE.js → toggle-C_gNjXg8.js} +1 -1
- package/dist/assets/{tooltip-D9723Brr.js → tooltip-CR_izE8Q.js} +1 -1
- package/dist/assets/{tracing-BxcUfhUv.js → tracing-DwAC7DWN.js} +1 -1
- package/dist/assets/tracing-panel-D1iNgclL.js +2 -0
- package/dist/assets/{tree-Ch2-GuhG.js → tree-WVrWjdwv.js} +3 -3
- package/dist/assets/{useAddCell-BpBkEpP6.js → useAddCell-D6Q7JziZ.js} +1 -1
- package/dist/assets/{useBoolean-Cb23qnhy.js → useBoolean-CrltYVhE.js} +1 -1
- package/dist/assets/{useCellActionButton-fJ6SGX-Z.js → useCellActionButton-B2G9OaX9.js} +1 -1
- package/dist/assets/{useDateFormatter-CpE7XQLs.js → useDateFormatter-DOoVZUts.js} +1 -1
- package/dist/assets/{useDeleteCell-B4nKRnTM.js → useDeleteCell-d8veThW7.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BUjZxWnG.js → useDependencyPanelTab-B3iIj3MO.js} +1 -1
- package/dist/assets/{useInstallPackage-C9V-on2J.js → useInstallPackage-CQEr5429.js} +1 -1
- package/dist/assets/{useNotebookActions-CooxVonM.js → useNotebookActions-SAEOWcBo.js} +1 -1
- package/dist/assets/{useNumberFormatter-DbDKSvEd.js → useNumberFormatter-BXZcbTzH.js} +1 -1
- package/dist/assets/{usePress-BHGkpw8X.js → usePress-alQ5Crny.js} +1 -1
- package/dist/assets/{useRunCells-D5wCIJdU.js → useRunCells-Dhl8ZTGh.js} +1 -1
- package/dist/assets/{useSplitCell-D8kqiCTS.js → useSplitCell-BSnFazbH.js} +1 -1
- package/dist/assets/{utils-CdjCA1J8.js → utils-C24l2A1T.js} +1 -1
- package/dist/assets/{vega-component-CRbeDmeM.js → vega-component-9Pf4pVZL.js} +1 -1
- package/dist/assets/{vega-loader.browser-CZV6_g2i.js → vega-loader.browser-BJ9oKrvH.js} +1 -1
- package/dist/assets/{write-secret-modal-BCvuRAFb.js → write-secret-modal-BFCsWMoW.js} +1 -1
- package/dist/assets/{xychartDiagram-PRI3JC2R-CXlUBSbQ.js → xychartDiagram-PRI3JC2R-CIp-yeSa.js} +1 -1
- package/dist/index.html +125 -125
- package/package.json +1 -1
- package/src/components/storage/storage-file-viewer.tsx +35 -1
- package/src/components/storage/storage-inspector.tsx +8 -2
- package/src/components/storage/storage-snippets.ts +3 -3
- package/src/css/md-tooltip.css +4 -39
- package/src/plugins/core/RenderHTML.tsx +17 -0
- package/src/plugins/core/__test__/RenderHTML.test.ts +45 -0
- package/dist/assets/RenderHTML-DduaBOBv.js +0 -1
- package/dist/assets/channel-CkT8Qdo2.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BhMT_rTz.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-D-F4WEyb.js +0 -1
- package/dist/assets/dist-BTqMkf4j.js +0 -1
- package/dist/assets/dist-DHw9sXeN.js +0 -1
- package/dist/assets/dist-Du0qZeXz.js +0 -1
- package/dist/assets/dist-a0FfbvMD.js +0 -1
- package/dist/assets/dist-cfkfP0ni.js +0 -1
- package/dist/assets/dist-pzQ9JG-p.js +0 -1
- package/dist/assets/file-explorer-panel-D706RRJ-.js +0 -26
- package/dist/assets/home-page-C5LO1JXE.js +0 -4
- package/dist/assets/mermaid-4DMBBIKO-PoHnhmy8.js +0 -1
- package/dist/assets/react-vega-Da-Ps9UW.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CEqeIlM0.js +0 -1
- package/dist/assets/stex-BBWVYm-R.js +0 -1
- package/dist/assets/tracing-panel-DK4YfdoZ.js +0 -2
- /package/dist/assets/{Combination-Cs9nbinQ.js → Combination-CSPK4t6z.js} +0 -0
- /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-CfyqLOPG.js} +0 -0
- /package/dist/assets/{SSRProvider-DC7ElCZZ.js → SSRProvider-CwqN9FWV.js} +0 -0
- /package/dist/assets/{badge-hTpPIsMT.js → badge-DImLVznf.js} +0 -0
- /package/dist/assets/{blob-CObhN-9g.js → blob-DgooIGjS.js} +0 -0
- /package/dist/assets/{bot-message-square-CK6eoGWy.js → bot-message-square-Dw41U6lL.js} +0 -0
- /package/dist/assets/{chart-no-axes-column-DV8gdCvH.js → chart-no-axes-column-a9XtWmzk.js} +0 -0
- /package/dist/assets/{check-BE0hEwVo.js → check-DZA_bRpw.js} +0 -0
- /package/dist/assets/{chevron-right-D0GQBpTb.js → chevron-right-CvVxySQk.js} +0 -0
- /package/dist/assets/{circle-check-gLIOLu8x.js → circle-check-CbaVeozR.js} +0 -0
- /package/dist/assets/{circle-play-DYGULlKZ.js → circle-play-DYn5nR6N.js} +0 -0
- /package/dist/assets/{circle-plus-CGG-gArM.js → circle-plus-nCze0-py.js} +0 -0
- /package/dist/assets/{clipboard-paste-DoYSN8Sv.js → clipboard-paste-EHXeKq9D.js} +0 -0
- /package/dist/assets/{code-xml-DwHPF_nL.js → code-xml-BlrJCgNZ.js} +0 -0
- /package/dist/assets/{copy-CkudG0Ej.js → copy-D6N1-xc1.js} +0 -0
- /package/dist/assets/{copy-CA4fP28I.js → copy-KjcPgPw9.js} +0 -0
- /package/dist/assets/{database-zap-DTWCDKdn.js → database-zap-BIGMFOfP.js} +0 -0
- /package/dist/assets/{defaultLocale-DK1MWd7f.js → defaultLocale-CGfP-Ye3.js} +0 -0
- /package/dist/assets/{defaultLocale-OkOxlkkM.js → defaultLocale-CuYNS33t.js} +0 -0
- /package/dist/assets/{dist-8UD0A5sU.js → dist-BF9S272t.js} +0 -0
- /package/dist/assets/{dist-apDpadc4.js → dist-Bk1itfBD.js} +0 -0
- /package/dist/assets/{dist-CQqv2gQL.js → dist-Dm11d0_A.js} +0 -0
- /package/dist/assets/{download-DBW9RXtT.js → download-nLboiTtW.js} +0 -0
- /package/dist/assets/{ellipsis-0_zJdF6H.js → ellipsis-d7eaKIFn.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-CAB7tdza.js → ellipsis-vertical-DBQ5kWTo.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-D1keIaYa.js → emotion-is-prop-valid.esm-D7FeWASw.js} +0 -0
- /package/dist/assets/{errors-Bfogio62.js → errors-0IrrdfSG.js} +0 -0
- /package/dist/assets/{extends-DRbCSry7.js → extends-aq1t6BkR.js} +0 -0
- /package/dist/assets/{eye-off-vwi9L975.js → eye-off-CF3GmvXV.js} +0 -0
- /package/dist/assets/{file-DzHkbIdO.js → file-C-yMeaec.js} +0 -0
- /package/dist/assets/{file-headphone-B5q2Ow55.js → file-headphone-CPAP8asn.js} +0 -0
- /package/dist/assets/{file-plus-corner-lLQw9OnR.js → file-plus-corner-ks__N1mr.js} +0 -0
- /package/dist/assets/{github-BVtI-3F1.js → github-CRD4USKm.js} +0 -0
- /package/dist/assets/{image-DXfkah9d.js → image-CfyJzBP9.js} +0 -0
- /package/dist/assets/{link-Cf10mh3t.js → link-_dbp0XNB.js} +0 -0
- /package/dist/assets/{maps-OKerBHH8.js → maps-DQsjfyTy.js} +0 -0
- /package/dist/assets/{numbers-CYnquDho.js → numbers-Cno6K0UF.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-DP4vAkvg.js → objectWithoutPropertiesLoose-Dxmp_Bd_.js} +0 -0
- /package/dist/assets/{ordinal-BjO5SoTk.js → ordinal-CMAUv8ku.js} +0 -0
- /package/dist/assets/{paths-D2lG83Oh.js → paths-BVwhPRFT.js} +0 -0
- /package/dist/assets/{play-DKSqmedg.js → play-Bu_0ogGD.js} +0 -0
- /package/dist/assets/{plus-dVmh0yTy.js → plus-DJ99CUbx.js} +0 -0
- /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-y72bE5iF.js} +0 -0
- /package/dist/assets/{prop-types-RrUi-pOT.js → prop-types-DRf51_gT.js} +0 -0
- /package/dist/assets/{purify.es-BBn8CPhf.js → purify.es-Cf8RQecB.js} +0 -0
- /package/dist/assets/{range-DNqFcYmr.js → range-ClqUI25v.js} +0 -0
- /package/dist/assets/{refresh-ccw-DLpfIr8v.js → refresh-ccw-DQ6SJ8UC.js} +0 -0
- /package/dist/assets/{refresh-cw-CHAHPgkx.js → refresh-cw-Dg9tCj4k.js} +0 -0
- /package/dist/assets/{rotate-ccw-hLlF_82X.js → rotate-ccw-BCkZViUZ.js} +0 -0
- /package/dist/assets/{save-8fSvKYJT.js → save-CUdcv5qm.js} +0 -0
- /package/dist/assets/{session-BrEm7qNv.js → session-CByuQ-M-.js} +0 -0
- /package/dist/assets/{settings-CzQUw9rV.js → settings-B7nhfCat.js} +0 -0
- /package/dist/assets/{spinner-C5JoisA7.js → spinner-pCogyRyo.js} +0 -0
- /package/dist/assets/{square-CxAsQQ77.js → square-KVNDGpgy.js} +0 -0
- /package/dist/assets/{square-function-B006EYFX.js → square-function-BMNCw7Qb.js} +0 -0
- /package/dist/assets/{stex-0ac7Aukl.js → stex-C6JeW1YI.js} +0 -0
- /package/dist/assets/{table-BCnp9gKC.js → table-Od8PbuV-.js} +0 -0
- /package/dist/assets/{toDate-BqKH-Jd9.js → toDate-Cfp9W_O9.js} +0 -0
- /package/dist/assets/{trash-2-CAoNMkjq.js → trash-2-Bc_J7TQO.js} +0 -0
- /package/dist/assets/{trash-BZMAQneW.js → trash-Cxd189Vw.js} +0 -0
- /package/dist/assets/{triangle-alert-qZo1ox6x.js → triangle-alert-CzLrbLGN.js} +0 -0
- /package/dist/assets/{types-C1RN112u.js → types-CLOMZuqU.js} +0 -0
- /package/dist/assets/{use-toast-Hc8CXlvz.js → use-toast-BtZldTi5.js} +0 -0
- /package/dist/assets/{useDebounce-B0dx2Gp0.js → useDebounce-DwTO_rGp.js} +0 -0
- /package/dist/assets/{useTheme-BYXBU1of.js → useTheme-KDW4sktg.js} +0 -0
- /package/dist/assets/{uuid-ClFZlR7U.js → uuid-BukULOeS.js} +0 -0
- /package/dist/assets/{workflow-BmeqNuSH.js → workflow-BqHyyStM.js} +0 -0
- /package/dist/assets/{x-BI1M8X_v.js → x-CdLP7-v3.js} +0 -0
- /package/dist/assets/{youtube-DE-Ej6FR.js → youtube-CfU-SnDw.js} +0 -0
|
@@ -64,6 +64,8 @@ import { STORAGE_SNIPPETS } from "./storage-snippets";
|
|
|
64
64
|
interface OpenFileInfo {
|
|
65
65
|
entry: StorageEntry;
|
|
66
66
|
namespace: string;
|
|
67
|
+
protocol: string;
|
|
68
|
+
backendType: StorageNamespace["backendType"];
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
// Pixels per depth level. Applied as paddingLeft on each full-width item
|
|
@@ -315,7 +317,7 @@ const StorageEntryRow: React.FC<{
|
|
|
315
317
|
if (isDir) {
|
|
316
318
|
setIsExpanded(!effectiveExpanded);
|
|
317
319
|
} else {
|
|
318
|
-
onOpenFile({ entry, namespace });
|
|
320
|
+
onOpenFile({ entry, namespace, protocol, backendType });
|
|
319
321
|
}
|
|
320
322
|
}}
|
|
321
323
|
>
|
|
@@ -361,7 +363,9 @@ const StorageEntryRow: React.FC<{
|
|
|
361
363
|
>
|
|
362
364
|
{!isDir && (
|
|
363
365
|
<DropdownMenuItem
|
|
364
|
-
onSelect={() =>
|
|
366
|
+
onSelect={() =>
|
|
367
|
+
onOpenFile({ entry, namespace, protocol, backendType })
|
|
368
|
+
}
|
|
365
369
|
>
|
|
366
370
|
<ViewIcon className={MENU_ITEM_ICON_CLASS} />
|
|
367
371
|
View
|
|
@@ -585,6 +589,8 @@ export const StorageInspector: React.FC = () => {
|
|
|
585
589
|
<StorageFileViewer
|
|
586
590
|
entry={openFile.entry}
|
|
587
591
|
namespace={openFile.namespace}
|
|
592
|
+
protocol={openFile.protocol}
|
|
593
|
+
backendType={openFile.backendType}
|
|
588
594
|
onBack={() => setOpenFile(null)}
|
|
589
595
|
/>
|
|
590
596
|
)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
3
|
import type { LucideIcon } from "lucide-react";
|
|
4
|
-
import {
|
|
4
|
+
import { BookPlusIcon, FileSymlink } from "lucide-react";
|
|
5
5
|
import type { StorageEntry, StorageNamespace } from "@/core/storage/types";
|
|
6
6
|
|
|
7
7
|
type BackendType = StorageNamespace["backendType"];
|
|
@@ -31,7 +31,7 @@ export const STORAGE_SNIPPETS: StorageSnippet[] = [
|
|
|
31
31
|
{
|
|
32
32
|
id: "read-file",
|
|
33
33
|
label: "Insert read snippet",
|
|
34
|
-
icon:
|
|
34
|
+
icon: BookPlusIcon,
|
|
35
35
|
getCode: (ctx) => {
|
|
36
36
|
if (ctx.entry.kind === "directory") {
|
|
37
37
|
return null;
|
|
@@ -46,7 +46,7 @@ export const STORAGE_SNIPPETS: StorageSnippet[] = [
|
|
|
46
46
|
{
|
|
47
47
|
id: "download-file",
|
|
48
48
|
label: "Insert download snippet",
|
|
49
|
-
icon:
|
|
49
|
+
icon: FileSymlink,
|
|
50
50
|
getCode: (ctx) => {
|
|
51
51
|
if (ctx.entry.kind === "directory") {
|
|
52
52
|
return null;
|
package/src/css/md-tooltip.css
CHANGED
|
@@ -3,50 +3,15 @@
|
|
|
3
3
|
/*
|
|
4
4
|
This allows you to create a basic tooltip using the data-tooltip attribute
|
|
5
5
|
e.g. <span data-tooltip="Hello, World!">Hover me</span>
|
|
6
|
+
|
|
7
|
+
The tooltip content is rendered via the React Tooltip component (Radix UI portal),
|
|
8
|
+
which prevents clipping inside containers with overflow:hidden.
|
|
9
|
+
See: RenderHTML.tsx -> wrapTooltipTargets
|
|
6
10
|
*/
|
|
7
11
|
|
|
8
12
|
.markdown {
|
|
9
13
|
[data-tooltip] {
|
|
10
|
-
position: relative;
|
|
11
14
|
cursor: pointer;
|
|
12
15
|
text-decoration: underline dotted;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
[data-tooltip]::before,
|
|
16
|
-
[data-tooltip]::after {
|
|
17
|
-
visibility: hidden;
|
|
18
|
-
opacity: 0;
|
|
19
|
-
pointer-events: none;
|
|
20
|
-
transition: all 0.2s ease;
|
|
21
|
-
position: absolute;
|
|
22
|
-
z-index: 1000;
|
|
23
|
-
left: 50%;
|
|
24
|
-
transform: translateX(-50%);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
[data-tooltip]::before {
|
|
28
|
-
content: attr(data-tooltip);
|
|
29
|
-
bottom: calc(100% + 10px);
|
|
30
|
-
padding: 5px 10px;
|
|
31
|
-
width: max-content;
|
|
32
|
-
max-width: 300px;
|
|
33
|
-
border-radius: 6px;
|
|
34
|
-
background-color: ;
|
|
35
|
-
text-align: center;
|
|
36
|
-
line-height: 1.4;
|
|
37
|
-
white-space: pre-wrap;
|
|
38
|
-
|
|
39
|
-
@apply bg-background text-foreground shadow-md border text-base;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
[data-tooltip]:hover::before,
|
|
43
|
-
[data-tooltip]:hover::after {
|
|
44
|
-
visibility: visible;
|
|
45
|
-
opacity: 1;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
[data-tooltip]:hover::before {
|
|
49
|
-
/* stylelint-disable-next-line unit-allowed-list */
|
|
50
|
-
transform: translateX(-50%) translateY(10px);
|
|
51
|
-
}
|
|
52
17
|
}
|
|
@@ -14,6 +14,7 @@ import React, {
|
|
|
14
14
|
} from "react";
|
|
15
15
|
import { CopyClipboardIcon } from "@/components/icons/copy-icon";
|
|
16
16
|
import { QueryParamPreservingLink } from "@/components/ui/query-param-preserving-link";
|
|
17
|
+
import { Tooltip } from "@/components/ui/tooltip";
|
|
17
18
|
import { DocHoverTarget } from "@/core/documentation/DocHoverTarget";
|
|
18
19
|
import { sanitizeHtml, useSanitizeHtml } from "./sanitize";
|
|
19
20
|
|
|
@@ -160,6 +161,21 @@ const wrapDocHoverTargets: TransformFn = (
|
|
|
160
161
|
}
|
|
161
162
|
};
|
|
162
163
|
|
|
164
|
+
// Wrap elements with data-tooltip attribute in a Tooltip component.
|
|
165
|
+
// This renders the tooltip in a portal (top layer), fixing clipping inside
|
|
166
|
+
// containers with overflow:hidden (e.g. grid cells).
|
|
167
|
+
const wrapTooltipTargets: TransformFn = (
|
|
168
|
+
reactNode: ReactNode,
|
|
169
|
+
domNode: DOMNode,
|
|
170
|
+
): JSX.Element | undefined => {
|
|
171
|
+
if (domNode instanceof Element && domNode.attribs?.["data-tooltip"]) {
|
|
172
|
+
const tooltipContent = domNode.attribs["data-tooltip"];
|
|
173
|
+
return (
|
|
174
|
+
<Tooltip content={tooltipContent}>{reactNode as JSX.Element}</Tooltip>
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
|
|
163
179
|
const CopyableCode = ({ children }: { children: ReactNode }) => {
|
|
164
180
|
const ref = useRef<HTMLDivElement>(null);
|
|
165
181
|
return (
|
|
@@ -239,6 +255,7 @@ function parseHtml({
|
|
|
239
255
|
addCopyButtonToCodehilite,
|
|
240
256
|
preserveQueryParamsInAnchorLinks,
|
|
241
257
|
wrapDocHoverTargets,
|
|
258
|
+
wrapTooltipTargets,
|
|
242
259
|
removeWrappingBodyTags,
|
|
243
260
|
removeWrappingHtmlTags,
|
|
244
261
|
];
|
|
@@ -197,6 +197,51 @@ describe("parseHtml", () => {
|
|
|
197
197
|
});
|
|
198
198
|
});
|
|
199
199
|
|
|
200
|
+
describe("wrapTooltipTargets", () => {
|
|
201
|
+
test("data-tooltip wraps element in Tooltip component", () => {
|
|
202
|
+
const html = '<span data-tooltip="Hello world">Hover me</span>';
|
|
203
|
+
expect(parseHtml({ html })).toMatchInlineSnapshot(`
|
|
204
|
+
<Tooltip
|
|
205
|
+
content="Hello world"
|
|
206
|
+
>
|
|
207
|
+
<span
|
|
208
|
+
data-tooltip="Hello world"
|
|
209
|
+
>
|
|
210
|
+
Hover me
|
|
211
|
+
</span>
|
|
212
|
+
</Tooltip>
|
|
213
|
+
`);
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
test("element without data-tooltip is not wrapped", () => {
|
|
217
|
+
const html = "<span>No tooltip</span>";
|
|
218
|
+
expect(parseHtml({ html })).toMatchInlineSnapshot(`
|
|
219
|
+
<span>
|
|
220
|
+
No tooltip
|
|
221
|
+
</span>
|
|
222
|
+
`);
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
test("data-tooltip on nested element wraps only that element", () => {
|
|
226
|
+
const html = '<p>Outer <span data-tooltip="tip">inner</span> text</p>';
|
|
227
|
+
expect(parseHtml({ html })).toMatchInlineSnapshot(`
|
|
228
|
+
<p>
|
|
229
|
+
Outer
|
|
230
|
+
<Tooltip
|
|
231
|
+
content="tip"
|
|
232
|
+
>
|
|
233
|
+
<span
|
|
234
|
+
data-tooltip="tip"
|
|
235
|
+
>
|
|
236
|
+
inner
|
|
237
|
+
</span>
|
|
238
|
+
</Tooltip>
|
|
239
|
+
text
|
|
240
|
+
</p>
|
|
241
|
+
`);
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
|
|
200
245
|
describe("parseHtml with < nad >", () => {
|
|
201
246
|
const html =
|
|
202
247
|
'thread <unnamed> panicked at "assertion failed: `(left == right)`"';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as v}from"./chunk-LvLJmgfZ.js";import{i as y,p as j,u as w}from"./useEvent-O0nX5vok.js";import{t as R}from"./react-Bj1aDYRI.js";import{Gr as m,Wr as S,m as _,ot as H,rn as I,sn as M}from"./cells-DqKJsMUm.js";import{t as E}from"./compiler-runtime-B3qBwwSJ.js";import{m as N}from"./useEventListener-Dy81QR4n.js";import{o as T}from"./utils-tNbLd14P.js";import{t as z}from"./jsx-runtime-icT_Ltz2.js";import{t as C}from"./mode-Bn_XF6AW.js";import{t as F}from"./usePress-BHGkpw8X.js";import{n as L}from"./useDebounce-B0dx2Gp0.js";import{t as V}from"./copy-icon-C6n2vWSW.js";import{t as W}from"./useRunCells-D5wCIJdU.js";var k=E(),c=v(R(),1),o=v(z(),1);const q=r=>{let t=(0,k.c)(16),e,n,i;t[0]===r?(e=t[1],n=t[2],i=t[3]):({href:n,children:e,...i}=r,t[0]=r,t[1]=e,t[2]=n,t[3]=i);let a=(0,c.useRef)(null),s;t[4]===n?s=t[5]:(s=()=>{let u=new URL(globalThis.location.href);u.hash=n,globalThis.history.pushState({},"",u.toString()),globalThis.dispatchEvent(new HashChangeEvent("hashchange"));let x=n.slice(1),g=document.getElementById(x);g&&g.scrollIntoView({behavior:"smooth",block:"start"})},t[4]=n,t[5]=s);let l=s,f;t[6]===l?f=t[7]:(f={onPress:()=>{l()}},t[6]=l,t[7]=f);let{pressProps:h}=F(f),d;t[8]===l?d=t[9]:(d=u=>{u.preventDefault(),l()},t[8]=l,t[9]=d);let b=d,p;return t[10]!==e||t[11]!==b||t[12]!==n||t[13]!==h||t[14]!==i?(p=(0,o.jsx)("a",{ref:a,href:n,...h,onClick:b,...i,children:e}),t[10]=e,t[11]=b,t[12]=n,t[13]=h,t[14]=i,t[15]=p):p=t[15],p};async function A(r){let t=_().inOrderIds.at(0);if(t)try{let e=await I.request({document:r,cellId:t});if(!e||e.options.length===0)return;let n=r.split(".").pop()??r,i=e.options[0],a=e.options.find(s=>s.name===n)??i;a!=null&&a.completion_info&&y.set(M,{documentation:a.completion_info})}catch(e){N.debug(`Doc lookup failed for "${r}"`,e)}}var D=E();const O=r=>{let t=(0,D.c)(8),{qualifiedName:e,children:n}=r,i;t[0]===e?i=t[1]:(i=()=>{A(e)},t[0]=e,t[1]=i);let a=L(i,100),s;t[2]===a?s=t[3]:(s=()=>a.cancel(),t[2]=a,t[3]=s);let l;return t[4]!==n||t[5]!==a||t[6]!==s?(l=(0,o.jsx)("span",{onMouseEnter:a,onMouseLeave:s,children:n}),t[4]=n,t[5]=a,t[6]=s,t[7]=l):l=t[7],l};var P=j(r=>{let t=r(W),e=r(T);if(t||e)return!1;let n=!0;try{n=C()==="read"}catch{return!0}return!n});function $(){return w(P)}var B=E(),G=r=>{if(r instanceof m.Element&&!/^[A-Za-z][\w-]*$/.test(r.name))return c.createElement(c.Fragment)},U=(r,t)=>{if(t instanceof m.Element&&t.name==="body"){if((0,c.isValidElement)(r)&&"props"in r){let e=r.props.children;return(0,o.jsx)(o.Fragment,{children:e})}return}},Z=(r,t)=>{if(t instanceof m.Element&&t.name==="html"){if((0,c.isValidElement)(r)&&"props"in r){let e=r.props.children;return(0,o.jsx)(o.Fragment,{children:e})}return}},J=r=>{if(r instanceof m.Element&&r.attribs&&r.name==="iframe"){let t=document.createElement("iframe");return Object.entries(r.attribs).forEach(([e,n])=>{e.startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1)),t.setAttribute(e,n)}),(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:t.outerHTML}})}},K=r=>{if(r instanceof m.Element&&r.name==="script"){let t=r.attribs.src;if(!t)return;if(!document.querySelector(`script[src="${t}"]`)){let e=document.createElement("script");e.src=t,document.head.append(e)}return(0,o.jsx)(o.Fragment,{})}},Q=(r,t)=>{if(t instanceof m.Element&&t.name==="a"){let e=t.attribs.href;if(e!=null&&e.startsWith("#")&&!e.startsWith("#code/")){let n=null;return(0,c.isValidElement)(r)&&"props"in r&&(n=r.props.children),(0,o.jsx)(q,{href:e,...t.attribs,children:n})}}},X=(r,t,e)=>{var n,i;if(t instanceof m.Element&&t.name==="div"&&((i=(n=t.attribs)==null?void 0:n.class)!=null&&i.includes("codehilite")))return(0,o.jsx)(tt,{children:r},e)},Y=(r,t)=>{var e;if(t instanceof m.Element&&((e=t.attribs)!=null&&e["data-marimo-doc"])){let n=t.attribs["data-marimo-doc"];return(0,o.jsx)(O,{qualifiedName:n,children:r})}},tt=r=>{let t=(0,B.c)(3),{children:e}=r,n=(0,c.useRef)(null),i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(V,{tooltip:!1,className:"p-1",value:()=>{var l;let s=(l=n.current)==null?void 0:l.firstChild;return s&&s.textContent||""}})}),t[0]=i):i=t[0];let a;return t[1]===e?a=t[2]:(a=(0,o.jsxs)("div",{className:"relative group codehilite-wrapper",ref:n,children:[e,i]}),t[1]=e,t[2]=a),a};const et=({html:r,additionalReplacements:t=[],alwaysSanitizeHtml:e=!0})=>(0,o.jsx)(rt,{html:r,alwaysSanitizeHtml:e,additionalReplacements:t});var rt=({html:r,additionalReplacements:t=[],alwaysSanitizeHtml:e})=>{let n=$();return nt({html:(0,c.useMemo)(()=>e||n?H(r):r,[r,e,n]),additionalReplacements:t})};function nt({html:r,additionalReplacements:t=[]}){let e=[G,J,K,...t],n=[X,Q,Y,U,Z];return S(r,{replace:(i,a)=>{for(let s of e){let l=s(i,a);if(l)return l}return i},transform:(i,a,s)=>{for(let l of n){let f=l(i,a,s);if(f)return f}return i}})}export{et as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{et as r,tt as e}from"./chunk-ABZYJK2D-D_Wumzom.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-Bp_72rVO.js";import"./chunk-S3R3BYOJ-qrwvlUdq.js";import{n as t}from"./src-CW27-Kjl.js";import"./chunk-ABZYJK2D-D_Wumzom.js";import"./chunk-HN2XXSSU-BstCPYtG.js";import"./chunk-CVBHYZKI-BmNXddyI.js";import"./chunk-ATLVNIR6-BZ0lTgIn.js";import"./dist-COnmrAVZ.js";import"./chunk-JA3XYJ7Z-B41fGeoj.js";import"./chunk-JZLCHNYA-D43EJxQw.js";import"./chunk-QXUST7PY-De1DpbnL.js";import"./chunk-N4CR4FBY-DCtw0-ni.js";import"./chunk-FMBD7UC4-BF_CXOnN.js";import"./chunk-55IACEB6-D0TKhzEY.js";import"./chunk-QN33PNHL-CLA2rsaS.js";import{i,n as o,r as m,t as p}from"./chunk-B4BG7PRW-Dw1S6osV.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-Bp_72rVO.js";import"./chunk-S3R3BYOJ-qrwvlUdq.js";import{n as t}from"./src-CW27-Kjl.js";import"./chunk-ABZYJK2D-D_Wumzom.js";import"./chunk-HN2XXSSU-BstCPYtG.js";import"./chunk-CVBHYZKI-BmNXddyI.js";import"./chunk-ATLVNIR6-BZ0lTgIn.js";import"./dist-COnmrAVZ.js";import"./chunk-JA3XYJ7Z-B41fGeoj.js";import"./chunk-JZLCHNYA-D43EJxQw.js";import"./chunk-QXUST7PY-De1DpbnL.js";import"./chunk-N4CR4FBY-DCtw0-ni.js";import"./chunk-FMBD7UC4-BF_CXOnN.js";import"./chunk-55IACEB6-D0TKhzEY.js";import"./chunk-QN33PNHL-CLA2rsaS.js";import{i,n as o,r as m,t as p}from"./chunk-B4BG7PRW-Dw1S6osV.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-B_cxg-E4.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import{n as o,t as r}from"./dist-ClzRAVN-.js";export{r as vue,o as vueLanguage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-B_cxg-E4.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import{n as p,t as o}from"./dist-6FIAeDIu.js";export{o as php,p as phpLanguage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-B_cxg-E4.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import{i,n as r,r as a,t as o}from"./dist-CcGcwrUD.js";export{o as closePercentBrace,r as liquid,a as liquidCompletionSource,i as liquidLanguage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-B_cxg-E4.js";import"./dist-CQqv2gQL.js";import{n as s,r as a,t as o}from"./dist-DbK_4_qo.js";export{o as sass,s as sassCompletionSource,a as sassLanguage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-B_cxg-E4.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import{i as a,n as r,r as o,t as i}from"./dist-DrceDAhM.js";export{i as closePercentBrace,r as jinja,o as jinjaCompletionSource,a as jinjaLanguage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-B_cxg-E4.js";import"./dist-CQqv2gQL.js";import{n as s,r as a,t as e}from"./dist-mxGLXOFm.js";export{e as less,s as lessCompletionSource,a as lessLanguage};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
var Dt=Object.defineProperty;var zt=(t,e,n)=>e in t?Dt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var B=(t,e,n)=>zt(t,typeof e!="symbol"?e+"":e,n);import{s as Re}from"./chunk-LvLJmgfZ.js";import{i as Ot,l as me,n as L,p as Te,u as se}from"./useEvent-O0nX5vok.js";import{t as Mt}from"./react-Bj1aDYRI.js";import{E as $t,ei as Rt,gn as Tt,nr as At,ri as Ae,yn as Ee}from"./cells-DqKJsMUm.js";import"./react-dom-CSu739Rf.js";import{t as te}from"./compiler-runtime-B3qBwwSJ.js";import"./utils-CdjCA1J8.js";import{i as Ie,r as Et,t as Le}from"./add-connection-dialog-BewAq3li.js";import{h as It,m as ge}from"./useEventListener-Dy81QR4n.js";import{t as Lt}from"./invariant-CQUIhlu2.js";import{p as Bt,u as Be}from"./utils-tNbLd14P.js";import{S as he}from"./config-3Aq84phF.js";import{t as Vt}from"./jsx-runtime-icT_Ltz2.js";import{n as Ht,t as R}from"./button-Ej3vmCIF.js";import{t as q}from"./cn-BoaCR37F.js";import{St as Ut}from"./dist-B_cxg-E4.js";import{a as qt,i as Ve,o as pe}from"./JsonOutput-BIbkaOuk.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{n as Wt,r as je}from"./requests-Bgjtqo_1.js";import{t as ae}from"./createLucideIcon-Cm-Z7dYr.js";import{a as He,c as Ue,i as qe,n as fe,o as ye,r as Kt,t as Gt}from"./state-CBmCYWFH.js";import{n as Jt}from"./LazyAnyLanguageCodeMirror-Dmh6kfiy.js";import{a as Yt,i as Zt,n as be,o as Qt,r as Xt,t as ea}from"./tree-Ch2-GuhG.js";import{t as ta}from"./x-BI1M8X_v.js";import{c as aa,i as ve,r as We}from"./download-DtyAt8iO.js";import{f as we}from"./maps-OKerBHH8.js";import{n as na}from"./markdown-renderer-CNaYgTOF.js";import{u as sa}from"./toDate-BqKH-Jd9.js";import{a as M,c as ne,p as Ke,r as Ge,t as Je}from"./dropdown-menu-DdPu5Kfu.js";import{t as Ne}from"./copy-CkudG0Ej.js";import{t as ke}from"./download-DBW9RXtT.js";import{t as ra}from"./eye-off-vwi9L975.js";import{a as ia,i as Ye,n as Ze,r as la,t as oa}from"./file-icons-D4HcGlr_.js";import{t as Qe}from"./file-plus-corner-lLQw9OnR.js";import{t as Xe}from"./file-DzHkbIdO.js";import{t as ca}from"./link-Cf10mh3t.js";import{n as Ce,t as da}from"./spinner-C5JoisA7.js";import{t as et}from"./plus-dVmh0yTy.js";import{t as tt}from"./refresh-cw-CHAHPgkx.js";import{t as ma}from"./save-8fSvKYJT.js";import{t as ha}from"./trash-2-CAoNMkjq.js";import{t as pa}from"./triangle-alert-qZo1ox6x.js";import{i as fa,n as xa,t as ua}from"./es-CzkousWe.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import{t as A}from"./use-toast-Hc8CXlvz.js";import{t as Fe}from"./paths-D2lG83Oh.js";import"./session-BrEm7qNv.js";import"./Combination-Cs9nbinQ.js";import{t as T}from"./tooltip-D9723Brr.js";import"./purify.es-BBn8CPhf.js";import"./dates-CHaNfieI.js";import{o as ga}from"./alert-dialog-9WfvUF7e.js";import{t as at}from"./context-CIAP2NOh.js";import"./popover-BPGG2gPG.js";import{n as nt}from"./ImperativeModal-qEtcJ95s.js";import{r as ja}from"./errors-Bfogio62.js";import{n as ya}from"./blob-CObhN-9g.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{n as re}from"./copy-CA4fP28I.js";import{t as ba}from"./copy-icon-C6n2vWSW.js";import{n as va}from"./multi-map-Pp1P2DOX.js";import{n as wa,t as Na}from"./alert-OQZHipbB.js";import{n as st}from"./error-banner-BRG6IPhC.js";import{n as _e}from"./useAsyncData-D-4ifFXh.js";import{a as ka,o as rt,t as Ca,u as Fa}from"./command-DpusMohg.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import"./html-to-image-CoMmxXBd.js";import{o as _a}from"./focus-B85PAbhR.js";import{a as Sa}from"./renderShortcut-CnD1Dah5.js";import{t as Pa}from"./bundle.esm-idScn0w0.js";import{t as Da}from"./useAddCell-BpBkEpP6.js";import{a as za,c as Se,d as Pe,l as it,u as lt}from"./components-C4dDqD7U.js";import{t as Oa}from"./empty-state-B_US46Us.js";import{t as De}from"./formatting-B4ZCH3ol.js";import{a as Ma,i as $a,n as ot,r as ct,t as dt}from"./components-DZQ7ndNS.js";import{n as mt,t as Ra}from"./marimo-icons-C_YDiXeg.js";import{t as Ta}from"./links-CIQwYQ48.js";var Aa=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"}]]),pt=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"}]]),Ea=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"}]]),Ia=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"}]]),ft=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=Re(Mt(),1),La=te(),a=Re(Vt(),1);const xt=t=>{let e=(0,La.c)(17),{filename:n,filenameIcon:i,onBack:r,onRefresh:s,onDownload:c,actions:o}=t,h;e[0]===r?h=e[1]:(h=r&&(0,a.jsx)(T,{content:"Back to file list",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:r,children:(0,a.jsx)(Ue,{className:"h-4 w-4"})})}),e[0]=r,e[1]=h);let l;e[2]!==n||e[3]!==i?(l=n?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[i,n]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=n,e[3]=i,e[4]=l):l=e[4];let f;e[5]===s?f=e[6]:(f=s&&(0,a.jsx)(T,{content:"Refresh",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:s,children:(0,a.jsx)(tt,{className:"h-3.5 w-3.5"})})}),e[5]=s,e[6]=f);let j;e[7]===c?j=e[8]:(j=c&&(0,a.jsx)(T,{content:"Download",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:c,children:(0,a.jsx)(ke,{className:"h-3.5 w-3.5"})})}),e[7]=c,e[8]=j);let y;e[9]!==o||e[10]!==f||e[11]!==j?(y=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[f,o,j]}),e[9]=o,e[10]=f,e[11]=j,e[12]=y):y=e[12];let p;return e[13]!==h||e[14]!==l||e[15]!==y?(p=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[h,l,y]}),e[13]=h,e[14]=l,e[15]=y,e[16]=p):p=e[16],p};var Ba=100*1024*1024;function Va(t){let e=t.endsWith("/")?t.slice(0,-1):t,n=e.split("/");return n[n.length-1]||e}const Ha=({entry:t,namespace:e,onBack:n})=>{let{locale:i}=at(),r=Va(t.path),s=t.mimeType||"text/plain",c=pe(s),o=c&&t.size>Ba&&t.size>0,{data:h,isPending:l,error:f,refetch:j}=_e(async()=>{if(o)return null;let x=await ye.request({namespace:e,path:t.path,preview:!c});if(x.error)throw Error(x.error);if(!x.url)throw Error("No URL returned");if(c)return{type:"media",url:x.url};let b=await fetch(x.url);if(!b.ok)throw Error(`Failed to fetch preview: ${b.statusText}`);return{type:"text",content:await b.text()}},[e,t.path,c,o]),y=(0,z.useCallback)(async()=>{try{let x=await ye.request({namespace:e,path:t.path});if(x.error){A({title:"Download failed",description:x.error,variant:"danger"});return}x.url&&ve(x.url,x.filename??r)}catch(x){ge.error("Failed to download storage entry",x),A({title:"Download failed",description:String(x),variant:"danger"})}},[e,t.path,r]),p=(0,a.jsx)(xt,{filename:r,filenameIcon:Ye(r),onBack:n,onDownload:y}),m=({includeMime:x=!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)(ba,{value:t.path,className:"h-3 w-3"})]}),x&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),x&&(0,a.jsx)("span",{children:s}),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:De(t.size,i)})]}),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 o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[p,m({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",De(t.size,i),")."]})]}):l?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[p,m({}),(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)(Ce,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):f?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[p,m({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",f.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)(R,{variant:"secondary",size:"xs",onClick:j,children:[(0,a.jsx)(tt,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):h?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[p,m({}),(0,a.jsx)(Ve,{mimeType:s,contents:h.type==="text"?h.content:void 0,mediaSource:h.type==="media"?{url:h.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[p,m({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Xe,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var Ua=new Set(["http","file","in-memory"]);function ze(t){return JSON.stringify(t).slice(1,-1)}const qa=[{id:"read-file",label:"Insert read snippet",icon:Qt,getCode:t=>{if(t.entry.kind==="directory")return null;let e=ze(t.entry.path);return t.backendType==="obstore"?`_data = ${t.variableName}.get("${e}").bytes()
|
|
2
|
-
_data`:`_data = ${t.variableName}.cat_file("${e}")
|
|
3
|
-
_data`}},{id:"download-file",label:"Insert download snippet",icon:ca,getCode:t=>{if(t.entry.kind==="directory")return null;let e=ze(t.entry.path);if(t.backendType==="obstore")return Ua.has(t.protocol)?null:`from datetime import timedelta
|
|
4
|
-
from obstore import sign
|
|
5
|
-
|
|
6
|
-
signed_url = sign(
|
|
7
|
-
${t.variableName}, "GET", "${e}",
|
|
8
|
-
expires_in=timedelta(hours=1),
|
|
9
|
-
)
|
|
10
|
-
signed_url`;let n=ze(t.entry.path.split("/").pop()||"download");return`${t.variableName}.get("${e}", "${n}")`}}];var Oe=te(),Wa=16;function H(t){return{paddingLeft:t*Wa}}function Ka(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function ut(t){let e=t.endsWith("/")?t.slice(0,-1):t,n=e.split("/");return n[n.length-1]||e}function Me(t,e,n,i){let r=n.toLowerCase();if(ut(t.path).toLowerCase().includes(r))return!0;if(t.kind==="directory"){let s=i.get(He(e,t.path));if(s)return s.some(c=>Me(c,e,n,i))}return!1}function gt(t,e,n,i){return n.trim()?t.filter(r=>Me(r,e,n,i)):t}var Ga=t=>{let e=(0,Oe.c)(36),{namespace:n,protocol:i,rootPath:r,backendType:s,prefix:c,depth:o,locale:h,searchValue:l,onOpenFile:f}=t,{entriesByPath:j}=fe(),{entries:y,isPending:p,error:m}=qe(n,c);if(p){let g;e[0]===o?g=e[1]:(g=H(o),e[0]=o,e[1]=g);let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Ce,{className:"h-3 w-3 animate-spin"}),e[2]=v):v=e[2];let k;return e[3]===g?k=e[4]:(k=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:g,children:[v,"Loading..."]}),e[3]=g,e[4]=k),k}if(m){let g;e[5]===o?g=e[6]:(g=H(o),e[5]=o,e[6]=g);let v;return e[7]!==m.message||e[8]!==g?(v=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:g,children:["Failed to load: ",m.message]}),e[7]=m.message,e[8]=g,e[9]=v):v=e[9],v}if(y.length===0){let g;e[10]===o?g=e[11]:(g=H(o),e[10]=o,e[11]=g);let v;return e[12]===g?v=e[13]:(v=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:g,children:"Empty"}),e[12]=g,e[13]=v),v}let x;if(e[14]!==s||e[15]!==y||e[16]!==o||e[17]!==j||e[18]!==h||e[19]!==n||e[20]!==f||e[21]!==i||e[22]!==r||e[23]!==l){let g=gt(y,n,l,j),v;e[25]!==s||e[26]!==o||e[27]!==h||e[28]!==n||e[29]!==f||e[30]!==i||e[31]!==r||e[32]!==l?(v=k=>(0,a.jsx)(jt,{entry:k,namespace:n,protocol:i,rootPath:r,backendType:s,depth:o,locale:h,searchValue:l,onOpenFile:f},k.path),e[25]=s,e[26]=o,e[27]=h,e[28]=n,e[29]=f,e[30]=i,e[31]=r,e[32]=l,e[33]=v):v=e[33],x=g.map(v),e[14]=s,e[15]=y,e[16]=o,e[17]=j,e[18]=h,e[19]=n,e[20]=f,e[21]=i,e[22]=r,e[23]=l,e[24]=x}else x=e[24];let b;return e[34]===x?b=e[35]:(b=(0,a.jsx)(a.Fragment,{children:x}),e[34]=x,e[35]=b),b},jt=({entry:t,namespace:e,protocol:n,rootPath:i,backendType:r,depth:s,locale:c,searchValue:o,onOpenFile:h})=>{var w;let[l,f]=(0,z.useState)(!1),{entriesByPath:j}=fe(),y=Da(),p=t.kind==="directory",m=ut(t.path),x=!!o.trim(),b=p&&x&&m.toLowerCase().includes(o.trim().toLowerCase()),g=p&&x&&!!((w=j.get(He(e,t.path)))!=null&&w.some(u=>Me(u,e,o,j))),v=l||g,k=(0,z.useCallback)(async()=>{try{let u=await ye.request({namespace:e,path:t.path});if(u.error){A({title:"Download failed",description:u.error,variant:"danger"});return}u.url&&ve(u.url,u.filename??"download")}catch(u){ge.error("Failed to download storage entry",u),A({title:"Download failed",description:String(u),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(rt,{className:q("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",p&&"font-medium"),style:H(s),value:`${e}:${t.path}`,onSelect:()=>{p?f(!v):h({entry:t,namespace:e})},children:[p?(0,a.jsx)(Pe,{isExpanded:v,className:"h-3 w-3"}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),p?(0,a.jsx)(ia,{className:q("h-3.5 w-3.5 shrink-0",Ze.directory)}):Ye(m),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:m}),(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:De(t.size,c)}),t.lastModified!=null&&(0,a.jsx)(T,{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:Ka(t.lastModified,c)})}),(0,a.jsxs)(Je,{children:[(0,a.jsx)(Ke,{asChild:!0,children:(0,a.jsx)(it,{iconClassName:"h-3 w-3",onClick:u=>u.stopPropagation()})}),(0,a.jsxs)(Ge,{align:"end",onClick:u=>u.stopPropagation(),onCloseAutoFocus:u=>u.preventDefault(),children:[!p&&(0,a.jsxs)(M,{onSelect:()=>h({entry:t,namespace:e}),children:[(0,a.jsx)(ft,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(t.path),A({title:"Copied to clipboard"})},children:[(0,a.jsx)(Ne,{className:Se}),"Copy path"]}),!p&&(0,a.jsxs)(M,{onSelect:()=>k(),children:[(0,a.jsx)(ke,{className:"h-3.5 w-3.5 mr-2"}),"Download"]}),(0,a.jsx)(ne,{}),qa.map(u=>{let d=u.getCode({variableName:e,protocol:n,entry:t,backendType:r});if(d===null)return null;let N=u.icon;return(0,a.jsxs)(M,{onSelect:()=>y(d),children:[(0,a.jsx)(N,{className:Se}),u.label]},u.id)})]})]})]})]}),p&&v&&(0,a.jsx)(Ga,{namespace:e,protocol:n,rootPath:i,backendType:r,prefix:t.path,depth:s+1,locale:c,searchValue:b?"":o,onOpenFile:h})]})},Ja=t=>{let e=(0,Oe.c)(43),{namespace:n,locale:i,searchValue:r,onOpenFile:s}=t,[c,o]=(0,z.useState)(!0),{entriesByPath:h}=fe(),{clearNamespaceCache:l}=Kt(),f=n.name??n.displayName,{entries:j,isPending:y,error:p,refetch:m}=qe(f),x;e[0]!==l||e[1]!==f||e[2]!==m?(x=k=>{k.stopPropagation(),l(f),m()},e[0]=l,e[1]=f,e[2]=m,e[3]=x):x=e[3];let b=x,g=y?n.storageEntries:j,v;if(e[4]!==g||e[5]!==h||e[6]!==p||e[7]!==b||e[8]!==c||e[9]!==y||e[10]!==i||e[11]!==n.backendType||e[12]!==n.displayName||e[13]!==n.name||e[14]!==n.protocol||e[15]!==n.rootPath||e[16]!==f||e[17]!==s||e[18]!==r){let k=gt(g,f,r,h),w;e[20]===c?w=e[21]:(w=()=>o(!c),e[20]=c,e[21]=w);let u;e[22]===c?u=e[23]:(u=(0,a.jsx)(Pe,{isExpanded:c,className:"h-3 w-3"}),e[22]=c,e[23]=u);let d;e[24]===n.protocol?d=e[25]:(d=(0,a.jsx)(Et,{protocol:n.protocol}),e[24]=n.protocol,e[25]=d);let N;e[26]===n.displayName?N=e[27]:(N=(0,a.jsx)("span",{children:n.displayName}),e[26]=n.displayName,e[27]=N);let S;e[28]===n.name?S=e[29]:(S=n.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(Ma,{variableName:n.name}),")"]}),e[28]=n.name,e[29]=S);let F;e[30]===b?F=e[31]:(F=(0,a.jsx)(lt,{onClick:b,tooltip:"Refresh storage connection",className:"p-0",iconClassName:"h-3 w-3"}),e[30]=b,e[31]=F);let P=n.rootPath||"(root)",_;e[32]===P?_=e[33]:(_=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:P}),e[32]=P,e[33]=_);let D;e[34]!==n.name||e[35]!==_||e[36]!==w||e[37]!==u||e[38]!==d||e[39]!==N||e[40]!==S||e[41]!==F?(D=(0,a.jsxs)(rt,{value:n.name,onSelect:w,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[u,d,N,S,F,_]}),e[34]=n.name,e[35]=_,e[36]=w,e[37]=u,e[38]=d,e[39]=N,e[40]=S,e[41]=F,e[42]=D):D=e[42],v=(0,a.jsxs)(a.Fragment,{children:[D,c&&(0,a.jsxs)(a.Fragment,{children:[y&&g.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)(Ce,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),p&&g.length===0&&(0,a.jsx)(za,{error:p,style:H(1),className:"py-1 text-xs h-auto overflow-auto max-h-32 items-start",showIcon:!1}),!y&&g.length===0&&!p&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No entries"}),r&&k.length===0&&g.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No matches"}),k.map(I=>(0,a.jsx)(jt,{entry:I,namespace:f,protocol:n.protocol,rootPath:n.rootPath,backendType:n.backendType,depth:1,locale:i,searchValue:r,onOpenFile:s},I.path))]})]}),e[4]=g,e[5]=h,e[6]=p,e[7]=b,e[8]=c,e[9]=y,e[10]=i,e[11]=n.backendType,e[12]=n.displayName,e[13]=n.name,e[14]=n.protocol,e[15]=n.rootPath,e[16]=f,e[17]=s,e[18]=r,e[19]=v}else v=e[19];return v};const Ya=()=>{let t=(0,Oe.c)(31),{namespaces:e}=fe(),{locale:n}=at(),[i,r]=(0,z.useState)(""),[s,c]=(0,z.useState)(null),o=!!i.trim();if(e.length===0){let w;t[0]===Symbol.for("react.memo_cache_sentinel")?(w=(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]=w):w=t[0];let u;return t[1]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(Oa,{title:"No storage connected",description:w,action:(0,a.jsx)(Le,{defaultTab:"storage",children:(0,a.jsxs)(R,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(et,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Ie,{className:"h-8 w-8"})}),t[1]=u):u=t[1],u}let h;t[2]===s?h=t[3]:(h=s&&(0,a.jsx)(Ha,{entry:s.entry,namespace:s.namespace,onBack:()=>c(null)}),t[2]=s,t[3]=h);let l=s&&"hidden",f;t[4]===l?f=t[5]:(f=q("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",l),t[4]=l,t[5]=f);let j;t[6]===i?j=t[7]:(j=(0,a.jsx)(ka,{placeholder:"Search entries...",className:"h-6 m-1",value:i,onValueChange:r,rootClassName:"flex-1 border-b-0"}),t[6]=i,t[7]=j);let y;t[8]===o?y=t[9]:(y=o&&(0,a.jsx)(R,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>r(""),children:(0,a.jsx)(ta,{className:"h-4 w-4"})}),t[8]=o,t[9]=y);let p;t[10]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(T,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(sa,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=p):p=t[10];let m;t[11]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(Le,{defaultTab:"storage",children:(0,a.jsx)(R,{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)(et,{className:"h-4 w-4"})})}),t[11]=m):m=t[11];let x;t[12]!==j||t[13]!==y?(x=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[j,y,p,m]}),t[12]=j,t[13]=y,t[14]=x):x=t[14];let b;if(t[15]!==n||t[16]!==e||t[17]!==i){let w;t[19]!==n||t[20]!==i?(w=u=>(0,a.jsx)(Ja,{namespace:u,locale:n,searchValue:i,onOpenFile:c},u.name??u.displayName),t[19]=n,t[20]=i,t[21]=w):w=t[21],b=e.map(w),t[15]=n,t[16]=e,t[17]=i,t[18]=b}else b=t[18];let g;t[22]===b?g=t[23]:(g=(0,a.jsx)(Fa,{className:"flex flex-col",children:b}),t[22]=b,t[23]=g);let v;t[24]!==f||t[25]!==x||t[26]!==g?(v=(0,a.jsxs)(Ca,{className:f,shouldFilter:!1,children:[x,g]}),t[24]=f,t[25]=x,t[26]=g,t[27]=v):v=t[27];let k;return t[28]!==h||t[29]!==v?(k=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[h,v]}),t[28]=h,t[29]=v,t[30]=k):k=t[30],k};var yt=te(),bt=(0,z.createContext)(null);function Za(){return(0,z.useContext)(bt)??void 0}var Qa=t=>{let e=(0,yt.c)(3),{children:n}=t,i=Zt(),r;return e[0]!==n||e[1]!==i?(r=(0,a.jsx)(bt.Provider,{value:i,children:n}),e[0]=n,e[1]=i,e[2]=r):r=e[2],r};const Xa=t=>{let e=(0,yt.c)(5),{children:n}=t,[i,r]=(0,z.useState)(null),s;e[0]!==n||e[1]!==i?(s=i&&(0,a.jsx)(Yt,{backend:Xt,options:{rootElement:i},children:(0,a.jsx)(Qa,{children:n})}),e[0]=n,e[1]=i,e[2]=s):s=e[2];let c;return e[3]===s?c=e[4]:(c=(0,a.jsx)("div",{ref:r,className:"contents",children:s}),e[3]=s,e[4]=c),c};var $e=new Map;const en=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:n,sendUpdateFile:i}=je(),r=se(Bt),s=se(Be),c=se(Rt),[o,h]=(0,z.useState)(""),{data:l,isPending:f,error:j,setData:y,refetch:p}=_e(async()=>{let d=await n({path:t.path}),N=d.contents||"";return h($e.get(t.path)||N),d},[t.path]),m=async()=>{o!==(l==null?void 0:l.contents)&&await i({path:t.path,contents:o}).then(d=>{d.success&&(y(N=>({...N,contents:o})),h(o))})},x=(0,z.useRef)(o);if(x.current=o,(0,z.useEffect)(()=>()=>{if(!(l!=null&&l.contents))return;let d=x.current;d===l.contents?$e.delete(t.path):$e.set(t.path,d)},[t.path,l==null?void 0:l.contents]),j)return(0,a.jsx)(st,{error:j});if(f||!l)return null;let b=l.mimeType||"text/plain",g=b in qt,v=c&&l.file.isMarimoFile&&(t.path===c||t.path.endsWith(`/${c}`));if(!l.contents&&!g)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:l.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:b})]});let k=(0,a.jsx)(xt,{filename:l.file.name,onRefresh:p,onDownload:s?void 0:()=>{if(pe(b)){ve(na(l.contents,b),l.file.name);return}We(new Blob([l.contents||o],{type:b}),l.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!he()&&(0,a.jsx)(T,{content:"Open notebook",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:d=>e(d),children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),!pe(b)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(T,{content:"Copy contents to clipboard",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:async()=>{await re(o)},children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(T,{content:Sa("global.save"),children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:m,disabled:o===l.contents,children:(0,a.jsx)(ma,{className:"h-3.5 w-3.5"})})})]})]})}),w=pe(b),u=!w&&b!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[k,u&&v&&(0,a.jsxs)(Na,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(pa,{className:"h-4 w-4"}),(0,a.jsx)(wa,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)(Ve,{mimeType:b,contents:w?void 0:u?o:l.contents??void 0,mediaSource:w?{base64:l.contents,mime:b}:void 0,readOnly:!u,onChange:h,extensions:[Ut.of([{key:r.getHotkey("global.save").key,stopPropagation:!0,run:()=>o===l.contents?!1:(m(),!0)}])]})]})};var tn=class{constructor(t){B(this,"delegate",new be([]));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 be(e.files),this.rootPath=e.root,this.path=Fe.guessDeliminator(e.root)}catch(e){A({title:"Failed",description:ja(e)})}this.onChange(this.delegate.data)});B(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(i=>{var r;return(r=this.delegate.find(i))==null?void 0:r.data.path})].filter(Boolean),n=await Promise.all(e.map(i=>this.callbacks.listFiles({path:i}).catch(()=>({files:[]}))));for(let[i,r]of e.entries()){let s=n[i];r===this.rootPath?this.delegate=new be(s.files):this.delegate.update({id:r,changes:{children:s.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:(A({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 n=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:n.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let n=this.delegate.find(t);if(!n)return;let i=n.data.path,r=this.path.join(this.path.dirname(i),e);await this.callbacks.renameFileOrFolder({path:i,newPath:r}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:r}}),this.onChange(this.delegate.data),await this.refreshAll([r])}async move(t,e){var i;let n=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath;await Promise.all(t.map(r=>{this.delegate.move({id:r,parentId:e,index:0});let s=this.delegate.find(r);if(!s)return Promise.resolve();let c=this.path.join(n,this.path.basename(s.data.path));return this.delegate.update({id:r,changes:{path:c}}),this.callbacks.renameFileOrFolder({path:s.data.path,newPath:c}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([n])}async createFile(t,e,n="file"){var s;let i=e?((s=this.delegate.find(e))==null?void 0:s.data.path)??e:this.rootPath,r=await this.callbacks.createFileOrFolder({path:i,type:n,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([i]))}async createFolder(t,e){var r;let n=e?((r=this.delegate.find(e))==null?void 0:r.data.path)??e:this.rootPath,i=await this.callbacks.createFileOrFolder({path:n,type:"directory",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([n]))}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=Te(t=>{let e=t(Wt);return Lt(e,"no requestClientAtom set"),new tn({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),an=Te({});async function nn(){await Ot.get(vt).refreshAll([])}var U=" ";const wt={directory:t=>`os.listdir("${t}")`,python:t=>`with open("${t}", "r") as _f:
|
|
11
|
-
${U}...
|
|
12
|
-
`,json:t=>`with open("${t}", "r") as _f:
|
|
13
|
-
${U}_data = json.load(_f)
|
|
14
|
-
`,code:t=>`with open("${t}", "r") as _f:
|
|
15
|
-
${U}...
|
|
16
|
-
`,text:t=>`with open("${t}", "r") as _f:
|
|
17
|
-
${U}...
|
|
18
|
-
`,image:t=>`mo.image("${t}")`,audio:t=>`mo.audio("${t}")`,video:t=>`mo.video("${t}")`,pdf:t=>`with open("${t}", "rb") as _f:
|
|
19
|
-
${U}...
|
|
20
|
-
`,zip:t=>`with open("${t}", "rb") as _f:
|
|
21
|
-
${U}...
|
|
22
|
-
`,data:t=>`with open("${t}", "r") as _f:
|
|
23
|
-
${U}...
|
|
24
|
-
`,unknown:t=>`with open("${t}", "r") as _f:
|
|
25
|
-
${U}...
|
|
26
|
-
`};var sn=te(),rn=1024*1024*100;function Nt(t){let e=(0,sn.c)(7),n;e[0]===t?n=e[1]:(n=t===void 0?{}:t,e[0]=t,e[1]=n);let i=n,{sendCreateFileOrFolder:r}=je(),s;e[2]===r?s=e[3]:(s=async o=>{if(o.length===0)return;let h=o.length===1;await aa(h?"Uploading file...":"Uploading files...",async l=>{l.addTotal(o.length);for(let f of o){let j=hn(mn(f)),y="";j&&(y=Fe.guessDeliminator(j).dirname(j));let p=(await ya(f)).split(",")[1];await r({path:y,type:"file",name:f.name,contents:p}),l.increment(1)}await nn()},{title:h?"File uploaded":`${o.length} files uploaded`})},e[2]=r,e[3]=s);let c;return e[4]!==i||e[5]!==s?(c={multiple:!0,maxSize:rn,onError:dn,onDropRejected:ln,onDrop:s,...i},e[4]=i,e[5]=s,e[6]=c):c=e[6],ua(c)}function ln(t){A({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(on)}),variant:"danger"})}function on(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(cn).join(", "),")"]},t.file.name)}function cn(t){return t.message}function dn(t){ge.error(t),A({title:"File upload failed",description:t.message,variant:"danger"})}function mn(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 hn(t){if(t)return t.replace(/^\/+/,"")}var ie=te(),pn=Ae("marimo:showHiddenFiles",!0,Ee,{getOnInit:!0}),kt=z.createContext(null);const fn=t=>{let e=(0,ie.c)(72),{height:n}=t,i=(0,z.useRef)(null),r=Za(),[s]=me(vt),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[0]=c):c=e[0];let[o,h]=(0,z.useState)(c),[l,f]=(0,z.useState)(null),[j,y]=me(pn),{openPrompt:p}=nt(),[m,x]=me(an),b;e[1]===s?b=e[2]:(b=()=>s.initialize(h),e[1]=s,e[2]=b);let g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=[],e[3]=g):g=e[3];let{isPending:v,error:k}=_e(b,g),w;e[4]!==m||e[5]!==s?(w=()=>s.refreshAll(Object.keys(m).filter(C=>m[C])),e[4]=m,e[5]=s,e[6]=w):w=e[6];let u=L(w),d;e[7]!==y||e[8]!==j?(d=()=>{y(!j)},e[7]=y,e[8]=j,e[9]=d):d=e[9];let N=L(d),S;e[10]!==p||e[11]!==s?(S=async()=>{p({title:"Folder name",onConfirm:async C=>{s.createFolder(C,null)}})},e[10]=p,e[11]=s,e[12]=S):S=e[12];let F=L(S),P;e[13]!==p||e[14]!==s?(P=async()=>{p({title:"File name",onConfirm:async C=>{s.createFile(C,null)}})},e[13]=p,e[14]=s,e[15]=P):P=e[15];let _=L(P),D;e[16]!==p||e[17]!==s?(D=async()=>{p({title:"Notebook name",onConfirm:async C=>{s.createFile(C,null,"notebook")}})},e[16]=p,e[17]=s,e[18]=D):D=e[18];let I=L(D),O;e[19]===x?O=e[20]:(O=()=>{var C;(C=i.current)==null||C.closeAll(),x({})},e[19]=x,e[20]=O);let V=L(O),le;e[21]!==o||e[22]!==j?(le=Ft(o,j),e[21]=o,e[22]=j,e[23]=le):le=e[23];let xe=le;if(v){let C;return e[24]===Symbol.for("react.memo_cache_sentinel")?(C=(0,a.jsx)(da,{size:"medium",centered:!0}),e[24]=C):C=e[24],C}if(k){let C;return e[25]===k?C=e[26]:(C=(0,a.jsx)(st,{error:k}),e[25]=k,e[26]=C),C}if(l){let C;e[27]===Symbol.for("react.memo_cache_sentinel")?(C=()=>f(null),e[27]=C):C=e[27];let $;e[28]===Symbol.for("react.memo_cache_sentinel")?($=(0,a.jsx)(R,{onClick:C,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(Ue,{size:16})}),e[28]=$):$=e[28];let E;e[29]===l.name?E=e[30]:(E=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[$,(0,a.jsx)("span",{className:"font-bold",children:l.name})]}),e[29]=l.name,e[30]=E);let X;e[31]!==l.path||e[32]!==s?(X=Pt=>Ct(Pt,s.relativeFromRoot(l.path)),e[31]=l.path,e[32]=s,e[33]=X):X=e[33];let ee;e[34]!==l||e[35]!==X?(ee=(0,a.jsx)(z.Suspense,{children:(0,a.jsx)(en,{onOpenNotebook:X,file:l})}),e[34]=l,e[35]=X,e[36]=ee):ee=e[36];let de;return e[37]!==E||e[38]!==ee?(de=(0,a.jsxs)(a.Fragment,{children:[E,ee]}),e[37]=E,e[38]=ee,e[39]=de):de=e[39],de}let W;e[40]!==V||e[41]!==_||e[42]!==F||e[43]!==I||e[44]!==N||e[45]!==u||e[46]!==s?(W=(0,a.jsx)(un,{onRefresh:u,onHidden:N,onCreateFile:_,onCreateNotebook:I,onCreateFolder:F,onCollapseAll:V,tree:s}),e[40]=V,e[41]=_,e[42]=F,e[43]=I,e[44]=N,e[45]=u,e[46]=s,e[47]=W):W=e[47];let ue=n-33,K,G,J;e[48]===s?(K=e[49],G=e[50],J=e[51]):(K=async C=>{let{ids:$}=C;for(let E of $)await s.delete(E)},G=async C=>{let{id:$,name:E}=C;await s.rename($,E)},J=async C=>{let{dragIds:$,parentId:E}=C;await s.move($,E)},e[48]=s,e[49]=K,e[50]=G,e[51]=J);let oe;e[52]===Symbol.for("react.memo_cache_sentinel")?(oe=C=>{let $=C[0];$&&($.data.isDirectory||f($.data))},e[52]=oe):oe=e[52];let Y;e[53]!==m||e[54]!==x||e[55]!==s?(Y=async C=>{if(await s.expand(C)){let $=m[C]??!1;x({...m,[C]:!$})}},e[53]=m,e[54]=x,e[55]=s,e[56]=Y):Y=e[56];let Z;e[57]!==r||e[58]!==m||e[59]!==ue||e[60]!==K||e[61]!==G||e[62]!==J||e[63]!==Y||e[64]!==xe?(Z=(0,a.jsx)(ea,{width:"100%",ref:i,height:ue,className:"h-full",data:xe,initialOpenState:m,openByDefault:!1,dndManager:r,renderCursor:wn,disableDrop:Nn,onDelete:K,onRename:G,onMove:J,onSelect:oe,onToggle:Y,padding:15,rowHeight:30,indent:xn,overscanCount:1e3,disableMultiSelection:!0,children:yn}),e[57]=r,e[58]=m,e[59]=ue,e[60]=K,e[61]=G,e[62]=J,e[63]=Y,e[64]=xe,e[65]=Z):Z=e[65];let Q;e[66]!==Z||e[67]!==s?(Q=(0,a.jsx)(kt,{value:s,children:Z}),e[66]=Z,e[67]=s,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 xn=15,un=t=>{let e=(0,ie.c)(37),{onRefresh:n,onHidden:i,onCreateFile:r,onCreateNotebook:s,onCreateFolder:c,onCollapseAll:o}=t,h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h={noDrag:!0,noDragEventsBubbling:!0},e[0]=h):h=e[0];let{getRootProps:l,getInputProps:f}=Nt(h),j;e[1]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(mt,{size:16}),e[1]=j):j=e[1];let y;e[2]===s?y=e[3]:(y=(0,a.jsx)(T,{content:"Add notebook",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-notebook-button",onClick:s,variant:"text",size:"xs",children:j})}),e[2]=s,e[3]=y);let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Qe,{size:16}),e[4]=p):p=e[4];let m;e[5]===r?m=e[6]:(m=(0,a.jsx)(T,{content:"Add file",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-file-button",onClick:r,variant:"text",size:"xs",children:p})}),e[5]=r,e[6]=m);let x;e[7]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(ht,{size:16}),e[7]=x):x=e[7];let b;e[8]===c?b=e[9]:(b=(0,a.jsx)(T,{content:"Add folder",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-folder-button",onClick:c,variant:"text",size:"xs",children:x})}),e[8]=c,e[9]=b);let g;e[10]===l?g=e[11]:(g=l({}),e[10]=l,e[11]=g);let v,k;e[12]===Symbol.for("react.memo_cache_sentinel")?(k=Ht({variant:"text",size:"xs"}),v=(0,a.jsx)(fa,{size:16}),e[12]=v,e[13]=k):(v=e[12],k=e[13]);let w;e[14]===g?w=e[15]:(w=(0,a.jsx)(T,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...g,className:k,children:v})}),e[14]=g,e[15]=w);let u;e[16]===f?u=e[17]:(u=f({}),e[16]=f,e[17]=u);let d;e[18]===u?d=e[19]:(d=(0,a.jsx)("input",{...u,type:"file"}),e[18]=u,e[19]=d);let N;e[20]===n?N=e[21]:(N=(0,a.jsx)(lt,{"data-testid":"file-explorer-refresh-button",onClick:n}),e[20]=n,e[21]=N);let S;e[22]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)(ra,{size:16}),e[22]=S):S=e[22];let F;e[23]===i?F=e[24]:(F=(0,a.jsx)(T,{content:"Toggle hidden files",children:(0,a.jsx)(R,{"data-testid":"file-explorer-hidden-files-button",onClick:i,variant:"text",size:"xs",children:S})}),e[23]=i,e[24]=F);let P;e[25]===Symbol.for("react.memo_cache_sentinel")?(P=(0,a.jsx)(Aa,{size:16}),e[25]=P):P=e[25];let _;e[26]===o?_=e[27]:(_=(0,a.jsx)(T,{content:"Collapse all folders",children:(0,a.jsx)(R,{"data-testid":"file-explorer-collapse-button",onClick:o,variant:"text",size:"xs",children:P})}),e[26]=o,e[27]=_);let D;return e[28]!==w||e[29]!==d||e[30]!==N||e[31]!==F||e[32]!==_||e[33]!==y||e[34]!==m||e[35]!==b?(D=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[y,m,b,w,d,N,F,_]}),e[28]=w,e[29]=d,e[30]=N,e[31]=F,e[32]=_,e[33]=y,e[34]=m,e[35]=b,e[36]=D):D=e[36],D},gn=t=>{let e=(0,ie.c)(9),{node:n,onOpenMarimoFile:i}=t,r;e[0]===n?r=e[1]:(r=o=>{n.data.isDirectory||(o.stopPropagation(),n.select())},e[0]=n,e[1]=r);let s;e[2]!==n.data.isMarimoFile||e[3]!==i?(s=n.data.isMarimoFile&&!he()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:i,children:["open ",(0,a.jsx)(we,{className:"inline ml-1",size:12})]}),e[2]=n.data.isMarimoFile,e[3]=i,e[4]=s):s=e[4];let c;return e[5]!==n.data.name||e[6]!==r||e[7]!==s?(c=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:r,children:[n.data.name,s]}),e[5]=n.data.name,e[6]=r,e[7]=s,e[8]=c):c=e[8],c},jn=t=>{let e=(0,ie.c)(10),{node:n}=t,i=(0,z.useRef)(null),r,s;e[0]===n.data.name?(r=e[1],s=e[2]):(r=()=>{var l,f;(l=i.current)==null||l.focus(),(f=i.current)==null||f.setSelectionRange(0,n.data.name.lastIndexOf("."))},s=[n.data.name],e[0]=n.data.name,e[1]=r,e[2]=s),(0,z.useEffect)(r,s);let c,o;e[3]===n?(c=e[4],o=e[5]):(c=()=>n.reset(),o=l=>{l.key==="Escape"&&n.reset(),l.key==="Enter"&&n.submit(l.currentTarget.value)},e[3]=n,e[4]=c,e[5]=o);let h;return e[6]!==n.data.name||e[7]!==c||e[8]!==o?(h=(0,a.jsx)("input",{ref:i,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:n.data.name,onClick:kn,onBlur:c,onKeyDown:o}),e[6]=n.data.name,e[7]=c,e[8]=o,e[9]=h):h=e[9],h},yn=({node:t,style:e,dragHandle:n})=>{let{openFile:i,sendCreateFileOrFolder:r,sendFileDetails:s}=je(),c=se(Be),o=t.data.isDirectory?"directory":la(t.data.name),h=oa[o],{openConfirm:l,openPrompt:f}=nt(),{createNewCell:j}=$t(),y=_a(),p=d=>{j({code:d,before:!1,cellId:y??"__end__"})},m=(0,z.use)(kt),x=async d=>{Ct(d,m?m.relativeFromRoot(t.data.path):t.data.path)},b=async d=>{d.stopPropagation(),d.preventDefault(),l({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(ga,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},g=L(async()=>{t.open(),f({title:"Folder name",onConfirm:async d=>{m==null||m.createFolder(d,t.id)}})}),v=L(async()=>{t.open(),f({title:"File name",onConfirm:async d=>{m==null||m.createFile(d,t.id)}})}),k=L(async()=>{t.open(),f({title:"Notebook name",onConfirm:async d=>{m==null||m.createFile(d,t.id,"notebook")}})}),w=L(async()=>{var F;if(!m||t.data.isDirectory)return;let[d,N]=xa(t.data.name),S=`${d}_copy${N}`;try{let P=await s({path:t.data.path}),_=((F=t.parent)==null?void 0:F.data.path)||"";await r({path:_,type:"file",name:S,contents:P.contents?btoa(P.contents):void 0}),await m.refreshAll([_])}catch{A({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),u=()=>{let d=Se;return(0,a.jsxs)(Ge,{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)(ft,{className:d}),"Open file"]}),!t.data.isDirectory&&!he()&&(0,a.jsxs)(M,{onSelect:()=>{i({path:t.data.path})},children:[(0,a.jsx)(we,{className:d}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(M,{onSelect:()=>k(),children:[(0,a.jsx)(mt,{className:d}),"Create notebook"]}),(0,a.jsxs)(M,{onSelect:()=>v(),children:[(0,a.jsx)(Qe,{className:d}),"Create file"]}),(0,a.jsxs)(M,{onSelect:()=>g(),children:[(0,a.jsx)(ht,{className:d}),"Create folder"]}),(0,a.jsx)(ne,{})]}),(0,a.jsxs)(M,{onSelect:()=>t.edit(),children:[(0,a.jsx)(Ea,{className:d}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(M,{onSelect:w,children:[(0,a.jsx)(Ne,{className:d}),"Duplicate"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(t.data.path),A({title:"Copied to clipboard"})},children:[(0,a.jsx)(pt,{className:d}),"Copy path"]}),m&&(0,a.jsxs)(M,{onSelect:async()=>{await re(m.relativeFromRoot(t.data.path)),A({title:"Copied to clipboard"})},children:[(0,a.jsx)(pt,{className:d}),"Copy relative path"]}),(0,a.jsx)(ne,{}),(0,a.jsxs)(M,{onSelect:()=>{let{path:N}=t.data;p(wt[o](N))},children:[(0,a.jsx)(Jt,{className:d}),"Insert snippet for reading file"]}),(0,a.jsxs)(M,{onSelect:async()=>{A({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(wt[o](N))},children:[(0,a.jsx)(At,{className:d}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!he()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ne,{}),(0,a.jsxs)(M,{onSelect:x,children:[(0,a.jsx)(Ia,{className:d}),"Open notebook"]})]}),(0,a.jsx)(ne,{}),!t.data.isDirectory&&!c&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(M,{onSelect:async()=>{let N=(await s({path:t.data.path})).contents||"";We(new Blob([N]),t.data.name)},children:[(0,a.jsx)(ke,{className:d}),"Download"]}),(0,a.jsx)(ne,{})]}),(0,a.jsxs)(M,{onSelect:b,variant:"danger",children:[(0,a.jsx)(ha,{className:d}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:n,className:q("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:d=>{d.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(bn,{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)(Ra,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}):(0,a.jsx)(h,{className:q("w-5 h-5 shrink-0 mr-2",Ze[o]),strokeWidth:1.5}),t.isEditing?(0,a.jsx)(jn,{node:t}):(0,a.jsx)(gn,{node:t,onOpenMarimoFile:x}),(0,a.jsxs)(Je,{modal:!1,children:[(0,a.jsx)(Ke,{asChild:!0,tabIndex:-1,onClick:d=>d.stopPropagation(),children:(0,a.jsx)(it,{"data-testid":"file-explorer-more-button",iconClassName:"w-5 h-5"})}),u()]})]})]})},bn=t=>{let e=(0,ie.c)(3),{node:n}=t;if(!n.data.isDirectory){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)("span",{className:"w-4 h-4 shrink-0"}),e[0]=r):r=e[0],r}let i;return e[1]===n.isOpen?i=e[2]:(i=(0,a.jsx)(Pe,{isExpanded:n.isOpen,className:"w-4 h-4"}),e[1]=n.isOpen,e[2]=i),i};function Ct(t,e){t.stopPropagation(),t.preventDefault(),Ta(e)}function Ft(t,e){if(e)return t;let n=[];for(let i of t){if(vn(i.name))continue;let r=i;if(i.children){let s=Ft(i.children,e);s!==i.children&&(r={...i,children:s})}n.push(r)}return n}function vn(t){return!!t.startsWith(".")}function wn(){return null}function Nn(t){let{parentNode:e}=t;return!e.data.isDirectory}function kn(t){return t.stopPropagation()}var _t=te(),Cn=Ae("marimo:file-explorer-panel:state",{openSections:["files"],hasUserInteracted:!1},Ee),St=t=>{let e=(0,_t.c)(20),{height:n}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={noClick:!0,noKeyboard:!0},e[0]=i):i=e[0];let{getRootProps:r,getInputProps:s,isDragActive:c}=Nt(i),o;e[1]===r?o=e[2]:(o=r(),e[1]=r,e[2]=o);let h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=q("flex flex-col overflow-hidden relative"),e[3]=h):h=e[3];let l;e[4]===n?l=e[5]:(l={height:n},e[4]=n,e[5]=l);let f;e[6]===s?f=e[7]:(f=s(),e[6]=s,e[7]=f);let j;e[8]===f?j=e[9]:(j=(0,a.jsx)("input",{...f}),e[8]=f,e[9]=j);let y;e[10]===c?y=e[11]:(y=c&&(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]=c,e[11]=y);let p;e[12]===n?p=e[13]:(p=(0,a.jsx)(fn,{height:n}),e[12]=n,e[13]=p);let m;return e[14]!==o||e[15]!==l||e[16]!==j||e[17]!==y||e[18]!==p?(m=(0,a.jsx)(Xa,{children:(0,a.jsxs)("div",{...o,className:h,style:l,children:[j,y,p]})}),e[14]=o,e[15]=l,e[16]=j,e[17]=y,e[18]=p,e[19]=m):m=e[19],m},Fn=33,_n=()=>{let t=(0,_t.c)(41),{ref:e,height:n}=Pa(),i=n===void 0?500:n,[r,s]=me(Cn),c=se(Gt).length,o;e:{if(!r.hasUserInteracted&&c>0){if(r.openSections.includes("remote-storage")){o=r.openSections;break e}let O;t[0]===r.openSections?O=t[1]:(O=[...r.openSections,"remote-storage"],t[0]=r.openSections,t[1]=O),o=O;break e}o=r.openSections}let h=o,l;t[2]===s?l=t[3]:(l=O=>{s({openSections:O,hasUserInteracted:!0})},t[2]=s,t[3]=l);let f=l,j=i-Fn*2,y;t[4]===h?y=t[5]:(y=h.includes("remote-storage"),t[4]=h,t[5]=y);let p=y,m;t[6]!==h||t[7]!==p?(m=p&&h.includes("files"),t[6]=h,t[7]=p,t[8]=m):m=t[8];let x=m,b;t[9]!==j||t[10]!==x?(b=x?Math.round(j*.4):j,t[9]=j,t[10]=x,t[11]=b):b=t[11];let g=b,v=Math.max(200,x?j-g:j);if(!Tt("storage_inspector")){let O;t[12]===i?O=t[13]:(O=(0,a.jsx)(St,{height:i}),t[12]=i,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 k;t[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ie,{className:"w-4 h-4"}),t[17]=k):k=t[17];let w;t[18]===c?w=t[19]:(w=c>0&&(0,a.jsx)($a,{children:c}),t[18]=c,t[19]=w);let u;t[20]===w?u=t[21]:(u=(0,a.jsxs)(ct,{children:[k," Remote storage",w]}),t[20]=w,t[21]=u);let d;t[22]===g?d=t[23]:(d={maxHeight:g},t[22]=g,t[23]=d);let N;t[24]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Ya,{}),t[24]=N):N=t[24];let S;t[25]===d?S=t[26]:(S=(0,a.jsx)(dt,{className:"overflow-auto",style:d,children:N}),t[25]=d,t[26]=S);let F;t[27]!==S||t[28]!==u?(F=(0,a.jsxs)(ot,{value:"remote-storage",children:[u,S]}),t[27]=S,t[28]=u,t[29]=F):F=t[29];let P;t[30]===Symbol.for("react.memo_cache_sentinel")?(P=(0,a.jsxs)(ct,{children:[(0,a.jsx)(Xe,{className:"w-4 h-4"}),"Files"]}),t[30]=P):P=t[30];let _;t[31]===v?_=t[32]:(_=(0,a.jsxs)(ot,{value:"files",children:[P,(0,a.jsx)(dt,{children:(0,a.jsx)(St,{height:v})})]}),t[31]=v,t[32]=_);let D;t[33]!==f||t[34]!==h||t[35]!==F||t[36]!==_?(D=(0,a.jsxs)(va,{type:"multiple",value:h,onValueChange:f,children:[F,_]}),t[33]=f,t[34]=h,t[35]=F,t[36]=_,t[37]=D):D=t[37];let I;return t[38]!==e||t[39]!==D?(I=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:D}),t[38]=e,t[39]=D,t[40]=I):I=t[40],I};export{_n as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{s as X}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-O0nX5vok.js";import{t as ge}from"./react-Bj1aDYRI.js";import{$n as ye,Tt as je,Yn as te,Zn as be,ar as ve,or as we,ri as re,xi as ke,yn as ae}from"./cells-DqKJsMUm.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ne,h as _e}from"./useEventListener-Dy81QR4n.js";import{n as A}from"./constants-Rz_lD4HK.js";import{t as Se}from"./ErrorBoundary-Ba0LbbH4.js";import{t as Ce}from"./jsx-runtime-icT_Ltz2.js";import{t as $}from"./button-Ej3vmCIF.js";import{t as ze}from"./cn-BoaCR37F.js";import"./dist-B_cxg-E4.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as E}from"./requests-Bgjtqo_1.js";import{t as H}from"./createLucideIcon-Cm-Z7dYr.js";import{o as Ie,t as Me}from"./tree-Ch2-GuhG.js";import{t as De}from"./chart-no-axes-column-DV8gdCvH.js";import{r as Pe}from"./x-BI1M8X_v.js";import{t as Re}from"./chevron-right-D0GQBpTb.js";import{f as B,p as Te,r as Oe,t as se}from"./maps-OKerBHH8.js";import{t as Ae}from"./circle-play-DYGULlKZ.js";import{a as We,p as Fe,r as Ue,t as Le}from"./dropdown-menu-DdPu5Kfu.js";import{r as $e,t as Ee}from"./file-icons-D4HcGlr_.js";import{t as He}from"./file-DzHkbIdO.js";import{t as Ye}from"./github-BVtI-3F1.js";import{n as Ve,r as qe,t as Be}from"./youtube-DE-Ej6FR.js";import{t as Je}from"./link-Cf10mh3t.js";import{t as J}from"./spinner-C5JoisA7.js";import{n as Ge,r as Qe,t as Ze}from"./app-config-button-BLGBmcfT.js";import{t as Ke}from"./refresh-ccw-DLpfIr8v.js";import{dt as Xe,r as et}from"./input-CUwqpKjd.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import{t as tt}from"./use-toast-Hc8CXlvz.js";import{n as ie}from"./paths-D2lG83Oh.js";import{c as le,n as rt,o as at,t as ot}from"./session-BrEm7qNv.js";import"./Combination-Cs9nbinQ.js";import{t as st}from"./tooltip-D9723Brr.js";import"./purify.es-BBn8CPhf.js";import{i as it}from"./dates-CHaNfieI.js";import{o as lt}from"./alert-dialog-9WfvUF7e.js";import{t as nt}from"./context-CIAP2NOh.js";import"./popover-BPGG2gPG.js";import{n as ct}from"./ImperativeModal-qEtcJ95s.js";import{r as mt}from"./errors-Bfogio62.js";import{t as ne}from"./error-banner-BRG6IPhC.js";import{n as G,t as dt}from"./useAsyncData-D-4ifFXh.js";import{t as ht}from"./label-TNNaT1M9.js";import{t as Q}from"./icons-CrUXojcA.js";import{t as pt}from"./links-CIQwYQ48.js";import"./Inputs-D5kI9GwB.js";import{t as ft}from"./useInterval-BJucVdV-.js";var ut=H("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=H("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=H("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=H("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"}]]),T=X(ge(),1),Z=oe(),a=X(Ce(),1),jt={intro:["Introduction",Ie,"Get started with marimo basics"],dataflow:["Dataflow",we,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",te,"Format text with parameterized markdown"],plots:["Plots",De,"Create interactive visualizations"],sql:["SQL",be,"Query databases directly in marimo"],layout:["Layout",qe,"Customize the layout of your cells' output"],fileformat:["File format",He,"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,Z.c)(6),{openTutorial:t}=E(),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)(Fe,{asChild:!0,children:(0,a.jsxs)($,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Oe,{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)(We,{onSelect:async()=>{let n=await t({tutorialId:m});n&&pt(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)(Le,{children:[s,(0,a.jsx)(Ue,{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:ve,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ye,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Ve,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Be,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:te,url:A.releasesPage}];const wt=()=>{let e=(0,Z.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(Y,{Icon:Je,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(kt)})]}),e[1]=r):r=e[1],r},Y=e=>{let t=(0,Z.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 kt(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=T.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=T.createContext(""),Nt=re("marimo:home:include-markdown",!1,ae,{getOnInit:!0}),de=re("marimo:home:expanded-folders",{},ae,{getOnInit:!0});var P=oe();function he(e){return`${ot()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,T.useState)(0),{getRecentFiles:s,getRunningNotebooks:o}=E(),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(Tt)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),ft(d,c);let h;e[5]===o?h=e[6]:(h=async()=>{let O=await o();return se.keyBy(O.files,Ot)},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,w,y,b,v,k,N,_,C,S;if(e[9]!==m||e[10]!==n){k=Symbol.for("react.early_return_sentinel");e:{let O=dt(m,n);if(O.error)throw O.error;let K=O.data;if(!K){let L;e[24]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(J,{centered:!0,size:"xlarge"}),e[24]=L):L=e[24],k=L;break e}let[ue,V]=K;g=ue,u=T.Suspense,x=ce,b={runningNotebooks:V,setRunningNotebooks:n.setData};let F,U;e[25]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(bt,{}),U=(0,a.jsx)(Ze,{showAppConfig:!1}),e[25]=F,e[26]=U):(F=e[25],U=e[26]);let q=`This will shutdown the notebook server and terminate all running notebooks (${V.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:[F,U,(0,a.jsx)(Ge,{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"}),w=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(wt,{}),e[29]=w,e[30]=y,e[31]=S):(w=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Y,{Icon:Ae,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...V.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=w,e[16]=y,e[17]=b,e[18]=v,e[19]=k,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],w=e[15],y=e[16],b=e[17],v=e[18],k=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(k!==Symbol.for("react.early_return_sentinel"))return k;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 M;e[37]===Symbol.for("react.memo_cache_sentinel")?(M=(0,a.jsx)(Y,{Icon:ye,children:"Recent notebooks"}),e[37]=M):M=e[37];let I;e[38]===g.files?I=e[39]:(I=(0,a.jsx)(pe,{header:M,files:g.files}),e[38]=g.files,e[39]=I);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]!==w||e[42]!==y||e[43]!==z||e[44]!==I||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,w,y,z,I,R]}),e[41]=w,e[42]=y,e[43]=z,e[44]=I,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}=E(),[r,s]=ee(Nt),[o,l]=(0,T.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=mt(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)(Xe,{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)(et,{id:"search",value:o,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=o,e[16]=g);let w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(Ct,{}),e[17]=w):w=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)(ht,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let k;e[24]!==g||e[25]!==b?(k=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,w,b,v]}),e[24]=g,e[25]=b,e[26]=k):k=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)(Ke,{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]!==k||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(Y,{Icon:ut,control:k,children:["Workspace",C,S]}),e[34]=k,e[35]=C,e[36]=S,e[37]=z):z=e[37];let M;e[38]!==o||e[39]!==c.files?(M=(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]=M):M=e[40];let I;e[41]!==z||e[42]!==M||e[43]!==f?(I=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,M]}),e[41]=z,e[42]=M,e[43]=f,e[44]=I):I=e[44];let R;return e[45]!==I||e[46]!==c.root?(R=(0,a.jsx)(me,{value:c.root,children:I}),e[45]=I,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)(Te,{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,T.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,T.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)(Me,{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:Wt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:It}),t[7]=r,t[8]=o,t[9]=s,t[10]=h,t[11]=p):p=t[11],p},It=e=>{let t=(0,P.c)(19),{node:r,style:s}=e,o=Ee[r.data.isDirectory?"directory":$e(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,T.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)(Mt,{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},Mt=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)(Pe,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(Re,{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(Ft),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}=nt(),o;t[0]===r.path?o=t[1]:(o=rt(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 w;t[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=w):w=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,w]}),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:it(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 k;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(k=(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]=k):k=t[40],k},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:s,closeModal:o}=ct(),{shutdownSession:l}=E(),{runningNotebooks:i,setRunningNotebooks:m}=(0,T.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)(lt,{onClick:()=>{let n=i.get(r);ke(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(se.keyBy(f.files,Ut))}),o(),tt({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)(Qe,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(st,{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=at(),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 Tt(e){return e+1}function Ot(e){return e.path}function At(e){return e.path}function Wt(){return null}function Ft(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-icT_Ltz2.js";import"./cjs-BU2qXMKx.js";import{a as r}from"./chunk-5FQGJX7Z-CM1a_K7I.js";export{r as Mermaid};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./react-Bj1aDYRI.js";import"./jsx-runtime-icT_Ltz2.js";import"./vega-loader.browser-CZV6_g2i.js";import{n as m,t as o}from"./react-vega-BZav_-2n.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";export{m as VegaEmbed,o as useVegaEmbed};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./purify.es-BBn8CPhf.js";import"./src-Bp_72rVO.js";import"./chunk-S3R3BYOJ-qrwvlUdq.js";import{n as t}from"./src-CW27-Kjl.js";import"./chunk-ABZYJK2D-D_Wumzom.js";import"./chunk-HN2XXSSU-BstCPYtG.js";import"./chunk-CVBHYZKI-BmNXddyI.js";import"./chunk-ATLVNIR6-BZ0lTgIn.js";import"./dist-COnmrAVZ.js";import"./chunk-JA3XYJ7Z-B41fGeoj.js";import"./chunk-JZLCHNYA-D43EJxQw.js";import"./chunk-QXUST7PY-De1DpbnL.js";import"./chunk-N4CR4FBY-DCtw0-ni.js";import"./chunk-55IACEB6-D0TKhzEY.js";import"./chunk-QN33PNHL-CLA2rsaS.js";import{i,n as o,r as m,t as p}from"./chunk-DI55MBZ5-Q63FTCPP.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-BxcUfhUv.js","./clear-button-DrIF5o__.js","./cn-BoaCR37F.js","./clsx-BDxNtGmi.js","./compiler-runtime-B3qBwwSJ.js","./react-Bj1aDYRI.js","./chunk-LvLJmgfZ.js","./jsx-runtime-icT_Ltz2.js","./cells-DqKJsMUm.js","./preload-helper-BW0IMuFq.js","./badge-hTpPIsMT.js","./button-Ej3vmCIF.js","./useEventListener-Dy81QR4n.js","./Combination-Cs9nbinQ.js","./react-dom-CSu739Rf.js","./select-CxT2Geqr.js","./menu-items-UxKrm8hS.js","./dist-DJBpXGro.js","./check-BE0hEwVo.js","./createLucideIcon-Cm-Z7dYr.js","./x-BI1M8X_v.js","./tooltip-D9723Brr.js","./use-toast-Hc8CXlvz.js","./utils-tNbLd14P.js","./useEvent-O0nX5vok.js","./_baseIsEqual-EYp9AUJI.js","./_Uint8Array-C0aUZfE0.js","./invariant-CQUIhlu2.js","./merge-CfcLlFFp.js","./isArrayLikeObject-Dx6-QZGQ.js","./zod-H_cgTO0M.js","./DeferredRequestRegistry-O6RDJKs0.js","./Deferred-BMfCOLaw.js","./uuid-ClFZlR7U.js","./config-3Aq84phF.js","./constants-Rz_lD4HK.js","./session-BrEm7qNv.js","./requests-Bgjtqo_1.js","./useLifecycle-DA9DjSPo.js","./assertNever-DWSyoPEi.js","./toString-lmrYznmk.js","./isSymbol-CiGN2w5X.js","./_baseSlice-39dTX4Wi.js","./_hasUnicode-QS_pSfjY.js","./_arrayReduce-BKEr35uH.js","./useNonce-BtW-rR_1.js","./useTheme-BYXBU1of.js","./once-CJOnx12W.js","./capabilities-D3x_db9Y.js","./createReducer-Drh7NmIR.js","./paths-D2lG83Oh.js","./dist-D0Vj4Kqc.js","./dist-B_cxg-E4.js","./dist-CtXb4bUU.js","./dist-BNC_tnlW.js","./dist-CXLJUPFl.js","./dist-CQqv2gQL.js","./dist-8UD0A5sU.js","./dist-apDpadc4.js","./dist-CEeVCRd_.js","./stex-0ac7Aukl.js","./toDate-BqKH-Jd9.js","./purify.es-BBn8CPhf.js","./cjs-BU2qXMKx.js","./debounce-DS_VtWMt.js","./toNumber-OnFQK5Wu.js","./now-8AYn-wiF.js","./toInteger-CO3ppIfA.js","./database-zap-DTWCDKdn.js","./main-DrBRErTM.js","./cells-jmgGt1lS.css","./CellStatus-IHJk0CT8.js","./multi-icon-DEWnuZs2.js","./multi-icon-pwGWVz3d.css","./useDateFormatter-CpE7XQLs.js","./context-CIAP2NOh.js","./SSRProvider-DC7ElCZZ.js","./en-US-BO8E69bZ.js","./ellipsis-0_zJdF6H.js","./refresh-cw-CHAHPgkx.js","./workflow-BmeqNuSH.js","./CellStatus-2Psjnl5F.css","./empty-state-B_US46Us.js","./panel-context-BN0DQXiK.js","./cell-link-BEnixmCb.js","./ImperativeModal-qEtcJ95s.js","./alert-dialog-9WfvUF7e.js","./dialog-CVN1lcMF.js","./input-CUwqpKjd.js","./useDebounce-B0dx2Gp0.js","./numbers-CYnquDho.js","./useNumberFormatter-DbDKSvEd.js","./usePress-BHGkpw8X.js","./runs-Bhy0tbWr.js","./react-vega-BZav_-2n.js","./precisionRound-BOmLQIKI.js","./defaultLocale-OkOxlkkM.js","./linear-BP9rwmWK.js","./timer-CPT_vXom.js","./init-XMA8CWhh.js","./time-D2GKc0U6.js","./defaultLocale-DK1MWd7f.js","./range-DNqFcYmr.js","./vega-loader.browser-CZV6_g2i.js","./treemap-Cf5pgJDk.js","./path-CkIaQHJO.js","./colors-WO6MvCS3.js","./ordinal-BjO5SoTk.js","./arc-BrTIAGt4.js","./math-CeGhAAgQ.js","./array-psg969PF.js","./step-BkfKj3CL.js","./line-BBSd2MUH.js","./chevron-right-D0GQBpTb.js","./circle-check-gLIOLu8x.js","./circle-play-DYGULlKZ.js","./react-resizable-panels.browser.esm-DDRqG5ui.js","./bundle.esm-idScn0w0.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-icT_Ltz2.js";import{t as _}from"./spinner-C5JoisA7.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-BxcUfhUv.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]),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};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/assets/{emotion-is-prop-valid.esm-D1keIaYa.js → emotion-is-prop-valid.esm-D7FeWASw.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|