@marimo-team/frontend 0.21.1-dev9 → 0.21.1
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-CFRv4Tvd.js → CellStatus-CDSBsjjF.js} +1 -1
- package/dist/assets/{Combination-CBJmtdux.js → Combination-Cs9nbinQ.js} +1 -1
- package/dist/assets/ConnectedDataExplorerComponent-Buaffg3u.js +1 -0
- package/dist/assets/{ErrorBoundary-H5EQrcAX.js → ErrorBoundary-Ba0LbbH4.js} +1 -1
- package/dist/assets/{ImperativeModal-CDxa8mJa.js → ImperativeModal-qEtcJ95s.js} +1 -1
- package/dist/assets/{JsonOutput-DJukuY6Z.js → JsonOutput-DKXKGKvX.js} +10 -10
- package/dist/assets/{LazyAnyLanguageCodeMirror-CrcxjfJR.js → LazyAnyLanguageCodeMirror-m8w66E4s.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-zVM0B_Vj.js → MarimoErrorOutput-az74f3Mp.js} +5 -5
- package/dist/assets/{RenderHTML-BuMvdWQd.js → RenderHTML-DJ8khuob.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BtzUxApq.js → add-cell-with-ai-DUn4LN4W.js} +9 -9
- package/dist/assets/{add-connection-dialog-BSsacvzU.js → add-connection-dialog-CBz0AUVX.js} +23 -23
- package/dist/assets/{agent-panel-a_m3dm9Y.js → agent-panel-u83dsDsM.js} +3 -3
- package/dist/assets/{ai-model-dropdown-CcIreMqb.js → ai-model-dropdown-DPTa_EpU.js} +4 -4
- package/dist/assets/{alert-dialog-B31Yst9T.js → alert-dialog-9WfvUF7e.js} +1 -1
- package/dist/assets/{any-language-editor-BQW3AtUK.js → any-language-editor-DwQMnAM3.js} +1 -1
- package/dist/assets/{app-config-button-D-mROEVq.js → app-config-button-rDu-lCIB.js} +1 -1
- package/dist/assets/{assertNever-CTRGz-ul.js → assertNever-DWSyoPEi.js} +1 -1
- package/dist/assets/{azure-FFoHMnHA.js → azure-BTXHztTw.js} +1 -1
- package/dist/assets/{button-BZAv3veu.js → button-Ej3vmCIF.js} +1 -1
- package/dist/assets/{cache-panel-BPbLoq59.js → cache-panel-qIxnndwr.js} +1 -1
- package/dist/assets/{capabilities-B1-dYWS8.js → capabilities-D3x_db9Y.js} +1 -1
- package/dist/assets/{capitalize-DcpkQwJe.js → capitalize-BfkXNxmI.js} +1 -1
- package/dist/assets/{cell-editor-D_RsnX0J.js → cell-editor-DX7IcqNr.js} +13 -13
- package/dist/assets/cell-link-Q_UEP94Z.js +1 -0
- package/dist/assets/{cells-CAHXVi26.js → cells-fq1RMGX_.js} +53 -53
- package/dist/assets/{chat-display-rX-JkJEO.js → chat-display-D_Fuuy6r.js} +1 -1
- package/dist/assets/{chat-panel-BudFFybg.js → chat-panel-BO-JoQSp.js} +2 -2
- package/dist/assets/{column-preview-Dk_9z2Mw.js → column-preview-WsubyItX.js} +1 -1
- package/dist/assets/command-palette-Bez4BqJF.js +1 -0
- package/dist/assets/{command-_14PjWun.js → command-rfxSsiHU.js} +1 -1
- package/dist/assets/{common-D2sp4A8j.js → common-BYwO983A.js} +1 -1
- package/dist/assets/{components-BP1LfBLA.js → components-Bpgzv_5_.js} +1 -1
- package/dist/assets/components-Ozq0825a.js +1 -0
- package/dist/assets/{config-DeEqZTX7.js → config-3Aq84phF.js} +1 -1
- package/dist/assets/context-aware-panel-CfsfBlhO.js +3 -0
- package/dist/assets/{copy-B0pTwxmU.js → copy-YwM0Pd7v.js} +1 -1
- package/dist/assets/{copy-icon-Ditn6lfU.js → copy-icon-BgmMM9Zg.js} +1 -1
- package/dist/assets/{createReducer-DgaMD0B6.js → createReducer-Drh7NmIR.js} +1 -1
- package/dist/assets/{datasource-BNXHfowL.js → datasource-F9sJtuof.js} +2 -2
- package/dist/assets/{dates-BcvJrESI.js → dates-CHaNfieI.js} +1 -1
- package/dist/assets/{dependency-graph-panel-B5Eq3e0f.js → dependency-graph-panel-AOBcX2tP.js} +4 -4
- package/dist/assets/{dialog-CyL4o0mA.js → dialog-CVN1lcMF.js} +1 -1
- package/dist/assets/{dist-D7GD2EM4.js → dist-BhNN2V5a.js} +1 -1
- package/dist/assets/{dist-D98wU_Qc.js → dist-DJBpXGro.js} +1 -1
- package/dist/assets/documentation-panel-D28MpqbI.js +1 -0
- package/dist/assets/{download-SQhwj_Eq.js → download-B9_ToVd4.js} +3 -3
- package/dist/assets/{dropdown-menu-CJ-Wwa2I.js → dropdown-menu-DdPu5Kfu.js} +1 -1
- package/dist/assets/{edit-page-qWzJGYd0.js → edit-page-otS-QvnC.js} +7 -7
- package/dist/assets/{error-banner-DQBz1e-2.js → error-banner-BRG6IPhC.js} +1 -1
- package/dist/assets/{error-panel-DmmjuXRp.js → error-panel-RRoj_iOR.js} +1 -1
- package/dist/assets/{es-997LzX0P.js → es-CzkousWe.js} +1 -1
- package/dist/assets/{field-qoWy8wEy.js → field-B1jGbQlH.js} +1 -1
- package/dist/assets/{file-explorer-panel-DW3BdMFp.js → file-explorer-panel-CB8vF5ob.js} +3 -3
- package/dist/assets/{file-icons-xucuZauP.js → file-icons-CWLHDa1J.js} +1 -1
- package/dist/assets/{floating-outline-2X-MQKSU.js → floating-outline-BvQKiC0F.js} +1 -1
- package/dist/assets/{focus-DaKeoSx6.js → focus-DYwTiH9-.js} +1 -1
- package/dist/assets/{form-C5vg9S9o.js → form-CrQYrsUC.js} +2 -2
- package/dist/assets/formats-rhOJovGE.js +1 -0
- package/dist/assets/{formatting-IErTLHRl.js → formatting-B4ZCH3ol.js} +1 -1
- package/dist/assets/{gallery-page-CzYOKRSH.js → gallery-page-eRea0yic.js} +1 -1
- package/dist/assets/{glide-data-editor-NQ4lbZ3N.js → glide-data-editor-xt5xNZeV.js} +1 -1
- package/dist/assets/{globals-DCdvUAk2.js → globals-BsV5fVR-.js} +1 -1
- package/dist/assets/{home-page-4oOWwdL4.js → home-page-itW0tRmv.js} +2 -2
- package/dist/assets/{hooks-CZT_TWa2.js → hooks-CHx5dUUq.js} +1 -1
- package/dist/assets/{html-to-image-BgHw831z.js → html-to-image-BnSc-Wa0.js} +1 -1
- package/dist/assets/{index-CPEieVCj.js → index-0n92c_W7.js} +17 -17
- package/dist/assets/{index-CVpJvEAO.css → index-GjXovVsl.css} +1 -1
- package/dist/assets/{input-BRZ8bt6P.js → input-CUwqpKjd.js} +1 -1
- package/dist/assets/{kiosk-mode-BNqp-cFU.js → kiosk-mode-DNjEnIWb.js} +1 -1
- package/dist/assets/{label-SLjr8zzy.js → label-TNNaT1M9.js} +1 -1
- package/dist/assets/{layout-52MeytEk.js → layout-CwFtCyW8.js} +4 -4
- package/dist/assets/{links-D1lqztbf.js → links-CIQwYQ48.js} +1 -1
- package/dist/assets/{logs-panel-dWMS7IIv.js → logs-panel-BU1tNEVc.js} +1 -1
- package/dist/assets/{maps-CqKCrVZ8.js → maps-OKerBHH8.js} +1 -1
- package/dist/assets/{markdown-renderer-MyhTrUey.js → markdown-renderer-MR9df58W.js} +3 -3
- package/dist/assets/{menu-items-Z4F08mfP.js → menu-items-UxKrm8hS.js} +1 -1
- package/dist/assets/{mermaid-DkQrVBDR.js → mermaid-Djr3jUAB.js} +1 -1
- package/dist/assets/{mode-D_HXqDHH.js → mode-AcL8c6qH.js} +1 -1
- package/dist/assets/{multi-map-CJMleYLX.js → multi-map-Pp1P2DOX.js} +1 -1
- package/dist/assets/{name-cell-input-CAAR5C2m.js → name-cell-input-DVFEv_aO.js} +1 -1
- package/dist/assets/{numbers-aIvy9Kr7.js → numbers-CYnquDho.js} +1 -1
- package/dist/assets/{outline-panel-Bmfna9YR.js → outline-panel-CP0oIuiU.js} +1 -1
- package/dist/assets/{packages-panel-DKH34NxN.js → packages-panel-CzRELimG.js} +1 -1
- package/dist/assets/panels-wTweRyIv.js +1 -0
- package/dist/assets/{popover-Du6bDNYH.js → popover-BPGG2gPG.js} +1 -1
- package/dist/assets/process-output-CTVsT--B.js +1 -0
- package/dist/assets/{readonly-python-code-Dz4GjF9D.js → readonly-python-code-DH-1xZGq.js} +1 -1
- package/dist/assets/{renderShortcut-Bgu3XVfT.js → renderShortcut-CnD1Dah5.js} +1 -1
- package/dist/assets/run-page-FCvGnICa.js +1 -0
- package/dist/assets/{runs-DZ_uu7bP.js → runs-Bhy0tbWr.js} +1 -1
- package/dist/assets/scratchpad-panel-k9lrm-rC.js +1 -0
- package/dist/assets/{secrets-panel-Ckqi3z-M.js → secrets-panel-B1Z-6dmz.js} +1 -1
- package/dist/assets/{select-Ch6m1k2G.js → select-CxT2Geqr.js} +1 -1
- package/dist/assets/{session-CXChHxAw.js → session-BrEm7qNv.js} +1 -1
- package/dist/assets/session-panel-WhN0qilM.js +1 -0
- package/dist/assets/{share-BYioqUE0.js → share-BdH_5I58.js} +1 -1
- package/dist/assets/{slides-component-y5hJNJFx.js → slides-component-Brm_TS4x.js} +1 -1
- package/dist/assets/snippets-panel-BCDHUuku.js +1 -0
- package/dist/assets/{spec-CYMZZDXr.js → spec-DbmSqx09.js} +1 -1
- package/dist/assets/{state-CGu0LFDk.js → state-3V5UxC3B.js} +1 -1
- package/dist/assets/{state-D59a73JQ.js → state-CBmCYWFH.js} +1 -1
- package/dist/assets/{state-Y7yVqxf_.js → state-Ce7CVShi.js} +1 -1
- package/dist/assets/{switch-krcK9lRK.js → switch-CVKxYu_0.js} +1 -1
- package/dist/assets/{terminal-vzbCncOF.js → terminal-Cr7wbEjz.js} +1 -1
- package/dist/assets/{toggle-BiIJZR6-.js → toggle-RCwU-rnE.js} +1 -1
- package/dist/assets/{tooltip-CNmaER6z.js → tooltip-D9723Brr.js} +1 -1
- package/dist/assets/{tracing-3veLCmCp.js → tracing-DUVd0jtl.js} +1 -1
- package/dist/assets/{tracing-panel-KUJifV3W.js → tracing-panel-CuTxPn_x.js} +2 -2
- package/dist/assets/{tree-4weMpXk4.js → tree-Ch2-GuhG.js} +1 -1
- package/dist/assets/useAddCell-YC7rpcmD.js +1 -0
- package/dist/assets/{useBoolean-D8-4no-l.js → useBoolean-m1e6E3Ao.js} +1 -1
- package/dist/assets/useCellActionButton-GUb2fXU8.js +1 -0
- package/dist/assets/{useDeleteCell-BAuuakkK.js → useDeleteCell-DRUDRiy0.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-ClmZIdnO.js → useDependencyPanelTab-nFVMlEx0.js} +1 -1
- package/dist/assets/useEventListener-Dy81QR4n.js +1 -0
- package/dist/assets/{useIframeCapabilities-DDlGrM1g.js → useIframeCapabilities-DTN9kFDq.js} +1 -1
- package/dist/assets/{useInstallPackage-CIJ1-EHx.js → useInstallPackage-C9V-on2J.js} +1 -1
- package/dist/assets/{useInterval-D7ibzbpc.js → useInterval-BJucVdV-.js} +1 -1
- package/dist/assets/{useLifecycle-CWjBWFMI.js → useLifecycle-DA9DjSPo.js} +1 -1
- package/dist/assets/{useNotebookActions-DhmD75et.js → useNotebookActions-ChLHy-0O.js} +1 -1
- package/dist/assets/useRunCells-5m6jCnyo.js +1 -0
- package/dist/assets/useSplitCell-DGD9smMq.js +1 -0
- package/dist/assets/{useTheme-CM9j8dgy.js → useTheme-BYXBU1of.js} +1 -1
- package/dist/assets/{tooltip-DLsts-7g.js → utils-CdjCA1J8.js} +3 -3
- package/dist/assets/{utils-BvPM6Bro.js → utils-tNbLd14P.js} +1 -1
- package/dist/assets/vega-component-CRbeDmeM.js +1 -0
- package/dist/assets/{write-secret-modal-VGPgwkTg.js → write-secret-modal-BCvuRAFb.js} +1 -1
- package/dist/index.html +76 -76
- package/package.json +1 -1
- package/src/components/data-table/charts/lazy-chart.tsx +2 -0
- package/src/components/data-table/column-summary/column-summary.tsx +1 -0
- package/src/components/datasources/column-preview.tsx +1 -0
- package/src/components/editor/Output.tsx +2 -0
- package/src/components/editor/actions/useCellActionButton.tsx +38 -29
- package/src/components/editor/cell/code/cell-editor.tsx +9 -0
- package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +6 -0
- package/src/components/editor/chrome/wrapper/__tests__/utils.test.ts +35 -0
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +12 -14
- package/src/components/editor/chrome/wrapper/utils.ts +5 -1
- package/src/components/editor/header/status.tsx +19 -11
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +10 -3
- package/src/core/cells/cells.ts +6 -0
- package/src/core/cells/utils.ts +1 -0
- package/src/core/codemirror/__tests__/setup.test.ts +1 -0
- package/src/core/codemirror/cells/state.ts +1 -0
- package/src/core/codemirror/extensions.ts +20 -0
- package/src/core/codemirror/language/utils.ts +16 -1
- package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +54 -0
- package/src/core/codemirror/reactive-references/analyzer.ts +14 -0
- package/src/core/hotkeys/hotkeys.ts +8 -0
- package/src/css/md.css +4 -0
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +6 -3
- package/src/plugins/impl/vega/__tests__/utils.test.ts +36 -0
- package/src/plugins/impl/vega/utils.ts +14 -0
- package/src/plugins/impl/vega/vega-component.tsx +6 -7
- package/src/plugins/impl/vega/vega.css +1 -1
- package/dist/assets/ConnectedDataExplorerComponent-BrZvYzEX.js +0 -1
- package/dist/assets/cell-link-BjgRgErj.js +0 -1
- package/dist/assets/command-palette-NBOgLsWz.js +0 -1
- package/dist/assets/components-Wzn4JDkV.js +0 -1
- package/dist/assets/context-aware-panel--8JnQtYo.js +0 -3
- package/dist/assets/documentation-panel-DLE-AkPt.js +0 -1
- package/dist/assets/formats-CmvHepzl.js +0 -1
- package/dist/assets/panels-jo8u0sPM.js +0 -1
- package/dist/assets/process-output-B2kGZ_VU.js +0 -1
- package/dist/assets/run-page-DQIGlYAL.js +0 -1
- package/dist/assets/scratchpad-panel-ClYOgTQp.js +0 -1
- package/dist/assets/session-panel-BYjloSxn.js +0 -1
- package/dist/assets/snippets-panel-C0yfvEEg.js +0 -1
- package/dist/assets/useAddCell-_oR2xY1x.js +0 -1
- package/dist/assets/useCellActionButton-DNIW0rqj.js +0 -1
- package/dist/assets/useEventListener-BGihH8bs.js +0 -1
- package/dist/assets/useRunCells-BOsp_Hau.js +0 -1
- package/dist/assets/useSplitCell-DfYEUeyE.js +0 -1
- package/dist/assets/vega-component-D3vsTtly.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
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{$n as $t,T as Rt,Zr as Tt,ei as Ae,hn as At,vn as Ee}from"./cells-CAHXVi26.js";import"./react-dom-CSu739Rf.js";import{t as te}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DLsts-7g.js";import{i as Ie,r as Et,t as Le}from"./add-connection-dialog-BSsacvzU.js";import{h as It,m as ge}from"./useEventListener-BGihH8bs.js";import{t as Lt}from"./invariant-CQUIhlu2.js";import{p as Bt,u as Be}from"./utils-BvPM6Bro.js";import{S as he}from"./config-DeEqZTX7.js";import{t as Vt}from"./jsx-runtime-icT_Ltz2.js";import{n as Ht,t as R}from"./button-BZAv3veu.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-DJukuY6Z.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 Zt}from"./state-D59a73JQ.js";import{n as Gt}from"./LazyAnyLanguageCodeMirror-CrcxjfJR.js";import{a as Jt,i as Yt,n as be,o as Qt,r as Xt,t as ea}from"./tree-4weMpXk4.js";import{t as ta}from"./x-BI1M8X_v.js";import{c as aa,i as ve,r as We}from"./download-SQhwj_Eq.js";import{f as we}from"./maps-CqKCrVZ8.js";import{n as na}from"./markdown-renderer-MyhTrUey.js";import{u as sa}from"./toDate-BqKH-Jd9.js";import{a as M,c as ne,p as Ke,r as Ze,t as Ge}from"./dropdown-menu-CJ-Wwa2I.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 Je,n as Ye,r as la,t as oa}from"./file-icons-xucuZauP.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-997LzX0P.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-CXChHxAw.js";import"./Combination-CBJmtdux.js";import{t as T}from"./tooltip-CNmaER6z.js";import"./purify.es-BBn8CPhf.js";import"./dates-BcvJrESI.js";import{o as ga}from"./alert-dialog-B31Yst9T.js";import{t as at}from"./context-CIAP2NOh.js";import"./popover-Du6bDNYH.js";import{n as nt}from"./ImperativeModal-CDxa8mJa.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-B0pTwxmU.js";import{t as ba}from"./copy-icon-Ditn6lfU.js";import{n as va}from"./multi-map-CJMleYLX.js";import{n as wa,t as Na}from"./alert-OQZHipbB.js";import{n as st}from"./error-banner-DQBz1e-2.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-_14PjWun.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import"./html-to-image-BgHw831z.js";import{o as _a}from"./focus-DaKeoSx6.js";import{a as Sa}from"./renderShortcut-Bgu3XVfT.js";import{t as Pa}from"./bundle.esm-idScn0w0.js";import{t as Da}from"./useAddCell-_oR2xY1x.js";import{a as za,c as Se,d as Pe,l as it,u as lt}from"./components-BP1LfBLA.js";import{t as Oa}from"./empty-state-B_US46Us.js";import{t as De}from"./formatting-IErTLHRl.js";import{a as Ma,i as $a,n as ot,r as ct,t as dt}from"./components-Wzn4JDkV.js";import{n as mt,t as Ra}from"./marimo-icons-C_YDiXeg.js";import{t as Ta}from"./links-D1lqztbf.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:Je(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()
|
|
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,Qr as Rt,er as Tt,gn as At,ti as Ae,yn as Ee}from"./cells-fq1RMGX_.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-CBz0AUVX.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-DKXKGKvX.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-m8w66E4s.js";import{a as Qt,i as Yt,n as be,o as Zt,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-B9_ToVd4.js";import{f as we}from"./maps-OKerBHH8.js";import{n as na}from"./markdown-renderer-MR9df58W.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 Qe,n as Ye,r as la,t as oa}from"./file-icons-CWLHDa1J.js";import{t as Ze}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-YwM0Pd7v.js";import{t as ba}from"./copy-icon-BgmMM9Zg.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-rfxSsiHU.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import"./html-to-image-BnSc-Wa0.js";import{o as _a}from"./focus-DYwTiH9-.js";import{a as Sa}from"./renderShortcut-CnD1Dah5.js";import{t as Pa}from"./bundle.esm-idScn0w0.js";import{t as Da}from"./useAddCell-YC7rpcmD.js";import{a as za,c as Se,d as Pe,l as it,u as lt}from"./components-Bpgzv_5_.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-Ozq0825a.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:Qe(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:Zt,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
2
|
_data`:`_data = ${t.variableName}.cat_file("${e}")
|
|
3
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
4
|
from obstore import sign
|
|
@@ -7,7 +7,7 @@ signed_url = sign(
|
|
|
7
7
|
${t.variableName}, "GET", "${e}",
|
|
8
8
|
expires_in=timedelta(hours=1),
|
|
9
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 Za=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",Ye.directory)}):Je(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)(Ge,{children:[(0,a.jsx)(Ke,{asChild:!0,children:(0,a.jsx)(it,{iconClassName:"h-3 w-3",onClick:u=>u.stopPropagation()})}),(0,a.jsxs)(Ze,{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)(Za,{namespace:e,protocol:n,rootPath:i,backendType:r,prefix:t.path,depth:s+1,locale:c,searchValue:b?"":o,onOpenFile:h})]})},Ga=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 Ja=()=>{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)(Ga,{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 Ya(){return(0,z.useContext)(bt)??void 0}var Qa=t=>{let e=(0,yt.c)(3),{children:n}=t,i=Yt(),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)(Jt,{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(Tt),[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:
|
|
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",Ye.directory)}):Qe(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 Qa=()=>{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 Ya(){return(0,z.useContext)(bt)??void 0}var Za=t=>{let e=(0,yt.c)(3),{children:n}=t,i=Yt(),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)(Qt,{backend:Xt,options:{rootElement:i},children:(0,a.jsx)(Za,{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
11
|
${U}...
|
|
12
12
|
`,json:t=>`with open("${t}", "r") as _f:
|
|
13
13
|
${U}_data = json.load(_f)
|
|
@@ -23,4 +23,4 @@ ${U}...
|
|
|
23
23
|
${U}...
|
|
24
24
|
`,unknown:t=>`with open("${t}", "r") as _f:
|
|
25
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=Ya(),[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,Z,G;e[48]===s?(K=e[49],Z=e[50],G=e[51]):(K=async C=>{let{ids:$}=C;for(let E of $)await s.delete(E)},Z=async C=>{let{id:$,name:E}=C;await s.rename($,E)},G=async C=>{let{dragIds:$,parentId:E}=C;await s.move($,E)},e[48]=s,e[49]=K,e[50]=Z,e[51]=G);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 J;e[53]!==m||e[54]!==x||e[55]!==s?(J=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]=J):J=e[56];let Y;e[57]!==r||e[58]!==m||e[59]!==ue||e[60]!==K||e[61]!==Z||e[62]!==G||e[63]!==J||e[64]!==xe?(Y=(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:Z,onMove:G,onSelect:oe,onToggle:J,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]=Z,e[62]=G,e[63]=J,e[64]=xe,e[65]=Y):Y=e[65];let Q;e[66]!==Y||e[67]!==s?(Q=(0,a.jsx)(kt,{value:s,children:Y}),e[66]=Y,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}=Rt(),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)(Ze,{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)(Gt,{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)($t,{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",Ye[o]),strokeWidth:1.5}),t.isEditing?(0,a.jsx)(jn,{node:t}):(0,a.jsx)(gn,{node:t,onOpenMarimoFile:x}),(0,a.jsxs)(Ge,{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(Zt).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(!At("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)(Ja,{}),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};
|
|
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=Ya(),[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 Q;e[53]!==m||e[54]!==x||e[55]!==s?(Q=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]=Q):Q=e[56];let Y;e[57]!==r||e[58]!==m||e[59]!==ue||e[60]!==K||e[61]!==G||e[62]!==J||e[63]!==Q||e[64]!==xe?(Y=(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:Q,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]=Q,e[64]=xe,e[65]=Y):Y=e[65];let Z;e[66]!==Y||e[67]!==s?(Z=(0,a.jsx)(kt,{value:s,children:Y}),e[66]=Y,e[67]=s,e[68]=Z):Z=e[68];let ce;return e[69]!==W||e[70]!==Z?(ce=(0,a.jsxs)(a.Fragment,{children:[W,Z]}),e[69]=W,e[70]=Z,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)(Ze,{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)(Ze,{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)(Tt,{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",Ye[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(!At("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)(Qa,{}),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 +1 @@
|
|
|
1
|
-
import{s as y}from"./chunk-LvLJmgfZ.js";import{
|
|
1
|
+
import{s as y}from"./chunk-LvLJmgfZ.js";import{qn as d}from"./cells-fq1RMGX_.js";import{t as f}from"./jsx-runtime-icT_Ltz2.js";import{t as g}from"./cn-BoaCR37F.js";import{t as e}from"./createLucideIcon-Cm-Z7dYr.js";import{n as c,t as k}from"./file-headphone-B5q2Ow55.js";import{t as u}from"./file-DzHkbIdO.js";import{t as v}from"./image-DXfkah9d.js";var p=e("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),l=e("file-play",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z",key:"1tzo1f"}]]),x=e("file-spreadsheet",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),z=e("folder-archive",[["circle",{cx:"15",cy:"19",r:"2",key:"u2pros"}],["path",{d:"M20.9 19.8A2 2 0 0 0 22 18V8a2 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 2h5.1",key:"1jj40k"}],["path",{d:"M15 11v-1",key:"cntcp"}],["path",{d:"M15 17v-2",key:"1279jj"}]]),r=e("folder",[["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"}]]),M=y(f(),1),j={py:"python",txt:"text",md:"text",qmd:"text",log:"text",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",csv:"data",parquet:"data",arrow:"data",xlsx:"data",json:"json",js:"code",ts:"code",tsx:"code",html:"code",css:"code",toml:"code",yaml:"code",yml:"code",wasm:"code",mp3:"audio",m4a:"audio",ogg:"audio",wav:"audio",mp4:"video",m4v:"video",mpeg:"video",webm:"video",mkv:"video",pdf:"pdf",zip:"zip",tar:"zip",gz:"zip"};function i(o){var a;let t=(a=o.split(".").pop())==null?void 0:a.toLowerCase();return t?j[t]??"unknown":"unknown"}const m={directory:r,python:p,code:p,json:c,text:d,image:v,audio:k,video:l,data:x,pdf:d,zip:z,unknown:u},n={directory:"text-amber-500",python:"text-blue-500",code:"text-blue-500",json:"text-blue-500",text:"text-muted-foreground",image:"text-purple-500",audio:"text-orange-500",video:"text-orange-500",data:"text-green-500",pdf:"text-red-500",zip:"text-muted-foreground",unknown:"text-muted-foreground"};function w(o,t){let a=i(o),s=m[a],h=n[a];return(0,M.jsx)(s,{className:g("h-3.5 w-3.5 shrink-0",h,t)})}export{r as a,w as i,n,i as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-O0nX5vok.js";import{t as M}from"./react-Bj1aDYRI.js";import{S as H,
|
|
1
|
+
import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-O0nX5vok.js";import{t as M}from"./react-Bj1aDYRI.js";import{S as H,it as S}from"./cells-fq1RMGX_.js";import{t as _}from"./compiler-runtime-B3qBwwSJ.js";import{m as k}from"./useEventListener-Dy81QR4n.js";import{t as $}from"./jsx-runtime-icT_Ltz2.js";import{t as x}from"./cn-BoaCR37F.js";import{t as B}from"./mode-AcL8c6qH.js";var L=_(),g=I(M(),1);function T(){return B()==="edit"?document.getElementById("App"):void 0}function O(t){let e=(0,L.c)(7),[r,a]=(0,g.useState)(void 0),[o,s]=(0,g.useState)(void 0),l=(0,g.useRef)(null),n=(0,g.useRef)(null),f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f=new Map,e[0]=f):f=e[0];let u=(0,g.useRef)(f),i,m;e[1]===t?(i=e[2],m=e[3]):(i=()=>t.length===0?void 0:(l.current=new IntersectionObserver(d=>{let v=!1;if(d.forEach(p=>{let b=p.target;p.isIntersecting?(!n.current||b.getBoundingClientRect().top<n.current.getBoundingClientRect().top)&&(n.current=b,v=!0):b===n.current&&(n.current=null,v=!0)}),v&&n.current){let p=S(n.current);a("id"in p?p.id:p.path),s(u.current.get(n.current))}},{root:T(),rootMargin:"0px",threshold:0}),t.forEach(d=>{var v;if(d){let p=S(d[0]),b=t.map(D).filter(w=>"id"in p?w.id===p.id:w.textContent===d[0].textContent).indexOf(d[0]);u.current.set(d[0],b),(v=l.current)==null||v.observe(d[0])}}),()=>{l.current&&l.current.disconnect(),n.current=null}),m=[t],e[1]=t,e[2]=i,e[3]=m),(0,g.useEffect)(i,m);let c;return e[4]!==r||e[5]!==o?(c={activeHeaderId:r,activeOccurrences:o},e[4]=r,e[5]=o,e[6]=c):c=e[6],c}function D(t){let[e]=t;return e}function C(t){if(t.length===0)return[];let e=new Map;return t.map(r=>{let a="id"in r.by?r.by.id:r.by.path,o=e.get(a)??0;e.set(a,o+1);let s=N(r,o);return s?[s,a]:null}).filter(Boolean)}function E(t,e){let r=N(t,e);if(!r){k.warn("Could not find element for outline item",t);return}r.scrollIntoView({behavior:"smooth",block:"start"}),r.classList.add("outline-item-highlight"),setTimeout(()=>{r.classList.remove("outline-item-highlight")},3e3)}function N(t,e){return"id"in t.by?document.querySelectorAll(`[id="${CSS.escape(t.by.id)}"]`)[e]:document.evaluate(t.by.path,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}var y=_(),h=I($(),1);const A=()=>{let t=(0,y.c)(19),{items:e}=j(H),r;t[0]===e?r=t[1]:(r=C(e),t[0]=e,t[1]=r);let{activeHeaderId:a,activeOccurrences:o}=O(r),[s,l]=g.useState(!1);if(e.length<2)return null;let n,f,u;t[2]===Symbol.for("react.memo_cache_sentinel")?(n=()=>l(!0),f=()=>l(!1),u=x("fixed top-[25vh] right-8 z-10000 print:hidden","hidden md:block"),t[2]=n,t[3]=f,t[4]=u):(n=t[2],f=t[3],u=t[4]);let i=s?"-left-[280px] opacity-100":"left-[300px] opacity-0",m;t[5]===i?m=t[6]:(m=x("-top-4 max-h-[70vh] bg-background rounded-lg shadow-lg absolute overflow-auto transition-all duration-300 w-[300px] border",i),t[5]=i,t[6]=m);let c;t[7]!==a||t[8]!==o||t[9]!==e||t[10]!==m?(c=(0,h.jsx)(R,{className:m,items:e,activeHeaderId:a,activeOccurrences:o}),t[7]=a,t[8]=o,t[9]=e,t[10]=m,t[11]=c):c=t[11];let d;t[12]!==a||t[13]!==o||t[14]!==e?(d=(0,h.jsx)(P,{items:e,activeHeaderId:a,activeOccurrences:o}),t[12]=a,t[13]=o,t[14]=e,t[15]=d):d=t[15];let v;return t[16]!==c||t[17]!==d?(v=(0,h.jsxs)("div",{onMouseEnter:n,onMouseLeave:f,className:u,children:[c,d]}),t[16]=c,t[17]=d,t[18]=v):v=t[18],v},P=t=>{let e=(0,y.c)(8),{items:r,activeHeaderId:a,activeOccurrences:o}=t,s,l;if(e[0]!==a||e[1]!==o||e[2]!==r){let f=new Map;s="flex flex-col gap-4 items-end max-h-[70vh] overflow-hidden",l=r.map((u,i)=>{let m="id"in u.by?u.by.id:u.by.path,c=f.get(m)??0;return f.set(m,c+1),(0,h.jsx)("div",{className:x("h-[2px] bg-muted-foreground/60",u.level===1&&"w-5",u.level===2&&"w-4",u.level===3&&"w-3",u.level===4&&"w-2",c===o&&a===m&&"bg-foreground"),onClick:()=>E(u,c)},`${m}-${i}`)}),e[0]=a,e[1]=o,e[2]=r,e[3]=s,e[4]=l}else s=e[3],l=e[4];let n;return e[5]!==s||e[6]!==l?(n=(0,h.jsx)("div",{className:s,children:l}),e[5]=s,e[6]=l,e[7]=n):n=e[7],n},R=t=>{let e=(0,y.c)(11),{items:r,activeHeaderId:a,activeOccurrences:o,className:s}=t,l,n;if(e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==r){let u=new Map;e[6]===s?l=e[7]:(l=x("flex flex-col overflow-auto py-4 pl-2",s),e[6]=s,e[7]=l),n=r.map((i,m)=>{let c="id"in i.by?i.by.id:i.by.path,d=u.get(c)??0;u.set(c,d+1);let v=`${c}-${m}`,p={className:x("px-2 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l",i.level===1&&"font-semibold",i.level===2&&"ml-3",i.level===3&&"ml-6",i.level===4&&"ml-9",d===o&&a===c&&"text-accent-foreground"),onClick:()=>E(i,d)};return i.html?(0,h.jsx)("div",{...p,dangerouslySetInnerHTML:{__html:i.html}},v):(0,h.jsx)("div",{...p,children:i.name},v)}),e[0]=a,e[1]=o,e[2]=s,e[3]=r,e[4]=l,e[5]=n}else l=e[4],n=e[5];let f;return e[8]!==l||e[9]!==n?(f=(0,h.jsx)("div",{className:l,children:n}),e[8]=l,e[9]=n,e[10]=f):f=e[10],f};export{O as i,R as n,C as r,A as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as s,u as C}from"./useEvent-O0nX5vok.js";import{b as d}from"./cells-
|
|
1
|
+
import{p as s,u as C}from"./useEvent-O0nX5vok.js";import{b as d}from"./cells-fq1RMGX_.js";import{t as m}from"./createReducer-Drh7NmIR.js";function p(){return{focusedCellId:null,lastFocusedCellId:null}}var{reducer:w,createActions:V,valueAtom:a,useActions:g}=m(p,{focusCell:(l,e)=>({...l,focusedCellId:e.cellId,lastFocusedCellId:e.cellId}),toggleCell:(l,e)=>l.focusedCellId===e.cellId?{...l,focusedCellId:null}:{...l,focusedCellId:e.cellId,lastFocusedCellId:e.cellId},blurCell:l=>({...l,focusedCellId:null})});const c=s(l=>l(a).lastFocusedCellId);function F(){return C(c)}const _=s(l=>{let e=l(c);return!e||e==="__scratch__"?null:r(e,l(d))});function h(l){return s(e=>r(l,e(d)))}function r(l,e){var o;let{cellData:i,cellHandles:f,cellRuntime:I}=e,t=i[l],u=I[l],n=(o=f[l])==null?void 0:o.current;return!t||!n?null:{cellId:l,name:t.name,config:t.config,status:u?u.status:"idle",getEditorView:()=>n.editorView,hasOutput:(u==null?void 0:u.output)!=null,hasConsoleOutput:(u==null?void 0:u.consoleOutputs)!=null}}export{g as a,c as i,h as n,F as o,_ as r,a as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as Ge}from"./chunk-LvLJmgfZ.js";import{t as yr}from"./react-Bj1aDYRI.js";import{K as ze,Zn as wr,wt as Nr}from"./cells-CAHXVi26.js";import{_ as Te,c as Cr,d as ke,f as Se,g as kr,h as _e,l as Sr,m as _r,o as Rr,p as le,s as Or,t as Re,u as Je,y as Oe}from"./zod-H_cgTO0M.js";import{t as fe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ar,h as Vr,m as Er,r as Ae}from"./useEventListener-BGihH8bs.js";import{t as Pr}from"./jsx-runtime-icT_Ltz2.js";import{r as Lr,t as Ke}from"./button-BZAv3veu.js";import{t as I}from"./cn-BoaCR37F.js";import{t as $r}from"./createLucideIcon-Cm-Z7dYr.js";import{t as Ir}from"./check-BE0hEwVo.js";import{r as Mr}from"./x-BI1M8X_v.js";import{M as qr,N as Ze,P as Fr,j as Dr}from"./dropdown-menu-CJ-Wwa2I.js";import{t as Gr}from"./plus-dVmh0yTy.js";import{t as zr}from"./refresh-ccw-DLpfIr8v.js";import{n as Tr,t as Ve}from"./input-BRZ8bt6P.js";import{_ as Jr,a as Be,c as A,d as V,f as S,g as Kr,p as E,s as P,u as R,x as Zr}from"./azure-FFoHMnHA.js";import{t as Br}from"./trash-2-CAoNMkjq.js";import{t as Ur}from"./badge-hTpPIsMT.js";import{E as Ue,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-CBJmtdux.js";import{c as Wr,i as He,l as Xr,m as Yr,n as Qr,r as ea,s as ra,t as aa}from"./select-Ch6m1k2G.js";import{l as ta}from"./dist-D98wU_Qc.js";import{t as sa}from"./tooltip-CNmaER6z.js";import{u as na}from"./menu-items-Z4F08mfP.js";import{i as la,r as oa,t as ia}from"./popover-Du6bDNYH.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-_14PjWun.js";import{t as ha}from"./label-SLjr8zzy.js";import{t as fa}from"./toggle-BiIJZR6-.js";var xa=$r("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),We=fe(),w=Ge(yr(),1),a=Ge(Pr(),1);const Xe=(0,w.createContext)({isSelected:()=>!1,onSelect:Vr.NOOP}),Le=t=>{let e=(0,We.c)(94),r,n,l,o,i,d,p,s,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],n=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],s=e[8],c=e[9],u=e[10],h=e[11],f=e[12],m=e[13],j=e[14],x=e[15],g=e[16],v=e[17],y=e[18],N=e[19],C=e[20],O=e[21]):({children:r,displayValue:d,className:l,placeholder:m,value:O,defaultValue:i,onValueChange:h,multiple:g,shouldFilter:v,filterFn:p,open:f,defaultOpen:o,onOpenChange:c,inputPlaceholder:y,search:x,onSearchChange:u,emptyState:N,chips:C,chipsClassName:n,keepPopoverOpenOnSelect:s,...j}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=s,e[9]=c,e[10]=u,e[11]=h,e[12]=f,e[13]=m,e[14]=j,e[15]=x,e[16]=g,e[17]=v,e[18]=y,e[19]=N,e[20]=C,e[21]=O);let k=g===void 0?!1:g,M=v===void 0?!0:v,q=y===void 0?"Search...":y,ne=N===void 0?"Nothing found.":N,$=C===void 0?!1:C,ye=o??!1,oe;e[22]!==c||e[23]!==f||e[24]!==ye?(oe={prop:f,defaultProp:ye,onChange:c},e[22]=c,e[23]=f,e[24]=ye,e[25]=oe):oe=e[25];let[Fe,G]=Ee(oe),z=Fe===void 0?!1:Fe,T;e[26]===h?T=e[27]:(T=_=>{h==null||h(_)},e[26]=h,e[27]=T);let ie;e[28]!==i||e[29]!==T||e[30]!==O?(ie={prop:O,defaultProp:i,onChange:T},e[28]=i,e[29]=T,e[30]=O,e[31]=ie):ie=e[31];let[b,we]=Ee(ie),ce;e[32]===b?ce=e[33]:(ce=_=>Array.isArray(b)?b.includes(_):b===_,e[32]=b,e[33]=ce);let Ne=ce,de;e[34]!==s||e[35]!==k||e[36]!==G||e[37]!==we||e[38]!==b?(de=_=>{let F=_;if(k)if(Array.isArray(b))if(b.includes(F)){let De=b.filter(br=>br!==_);F=De.length>0?De:[]}else F=[...b,F];else F=[F];else b===_&&(F=null);we(F),(s??k)||G(!1)},e[34]=s,e[35]=k,e[36]=G,e[37]=we,e[38]=b,e[39]=de):de=e[39];let J=de,ue;e[40]!==$||e[41]!==d||e[42]!==k||e[43]!==m||e[44]!==b?(ue=()=>k&&$&&m?m:b==null?m??"--":Array.isArray(b)?b.length===0?m??"--":b.length===1&&d!==void 0?d(b[0]):`${b.length} selected`:d===void 0?m??"--":d(b),e[40]=$,e[41]=d,e[42]=k,e[43]=m,e[44]=b,e[45]=ue):ue=e[45];let Ce=ue,me;e[46]===Symbol.for("react.memo_cache_sentinel")?(me=I("relative"),e[46]=me):me=e[46];let K;e[47]===l?K=e[48]:(K=I("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50",l),e[47]=l,e[48]=K);let Z;e[49]===Ce?Z=e[50]:(Z=Ce(),e[49]=Ce,e[50]=Z);let B;e[51]===Z?B=e[52]:(B=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:Z}),e[51]=Z,e[52]=B);let pe;e[53]===Symbol.for("react.memo_cache_sentinel")?(pe=(0,a.jsx)(Mr,{className:"ml-3 w-4 h-4 opacity-50 shrink-0"}),e[53]=pe):pe=e[53];let U;e[54]!==z||e[55]!==K||e[56]!==B?(U=(0,a.jsx)(la,{asChild:!0,children:(0,a.jsxs)("div",{className:K,"aria-expanded":z,children:[B,pe]})}),e[54]=z,e[55]=K,e[56]=B,e[57]=U):U=e[57];let H;e[58]!==q||e[59]!==u||e[60]!==x?(H=(0,a.jsx)(ca,{placeholder:q,rootClassName:"px-1 h-8",autoFocus:!0,value:x,onValueChange:u}),e[58]=q,e[59]=u,e[60]=x,e[61]=H):H=e[61];let W;e[62]===ne?W=e[63]:(W=(0,a.jsx)(ua,{children:ne}),e[62]=ne,e[63]=W);let X;e[64]!==J||e[65]!==Ne?(X={isSelected:Ne,onSelect:J},e[64]=J,e[65]=Ne,e[66]=X):X=e[66];let Y;e[67]!==r||e[68]!==X?(Y=(0,a.jsx)(Xe,{value:X,children:r}),e[67]=r,e[68]=X,e[69]=Y):Y=e[69];let Q;e[70]!==W||e[71]!==Y?(Q=(0,a.jsxs)(ma,{className:"max-h-60 py-.5",children:[W,Y]}),e[70]=W,e[71]=Y,e[72]=Q):Q=e[72];let ee;e[73]!==p||e[74]!==M||e[75]!==H||e[76]!==Q?(ee=(0,a.jsx)(oa,{className:"w-full min-w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,a.jsxs)(pa,{filter:p,shouldFilter:M,children:[H,Q]})}),e[73]=p,e[74]=M,e[75]=H,e[76]=Q,e[77]=ee):ee=e[77];let re;e[78]!==z||e[79]!==G||e[80]!==U||e[81]!==ee?(re=(0,a.jsxs)(ia,{open:z,onOpenChange:G,children:[U,ee]}),e[78]=z,e[79]=G,e[80]=U,e[81]=ee,e[82]=re):re=e[82];let ae;e[83]!==$||e[84]!==n||e[85]!==d||e[86]!==J||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:I("flex flex-col gap-1 items-start",n),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(Ur,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(wr,{onClick:()=>{J(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=n,e[85]=d,e[86]=J,e[87]=k,e[88]=b,e[89]=ae):ae=e[89];let he;return e[90]!==j||e[91]!==re||e[92]!==ae?(he=(0,a.jsxs)("div",{className:me,...j,children:[re,ae]}),e[90]=j,e[91]=re,e[92]=ae,e[93]=he):he=e[93],he},je=w.forwardRef((t,e)=>{let r=(0,We.c)(17),{children:n,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),s=w.use(Xe),c;r[0]===l?c=r[1]:(c=I("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==s||r[3]!==i||r[4]!==o?(u=()=>{s.onSelect(o),i==null||i(o)},r[2]=s,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==s||r[7]!==o?(h=s.isSelected(o)&&(0,a.jsx)(Ir,{className:"absolute left-1 h-4 w-4"}),r[6]=s,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==n||r[10]!==d||r[11]!==e||r[12]!==c||r[13]!==u||r[14]!==h||r[15]!==p?(f=(0,a.jsxs)(da,{ref:e,className:c,role:"option",value:p,disabled:d,onSelect:u,children:[h,n]}),r[9]=n,r[10]=d,r[11]=e,r[12]=c,r[13]=u,r[14]=h,r[15]=p,r[16]=f):f=r[16],f});je.displayName="ComboboxItem";const D={of(t){return JSON.stringify(t)},parse(t){if(!t)return{};try{return JSON.parse(t)}catch{return{label:t}}}};function Ye(){return Math.floor(Math.random()*1e5)}var $e="Radio",[ja,Qe]=Ue($e),[va,ga]=ja($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:n,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:s,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?s||!!u.closest("form"):!0;return(0,a.jsxs)(va,{scope:r,checked:l,disabled:i,children:[(0,a.jsx)(xe.button,{type:"button",role:"radio","aria-checked":l,"data-state":sr(l),"data-disabled":i?"":void 0,disabled:i,value:d,...c,ref:f,onClick:Pe(t.onClick,x=>{l||(p==null||p()),j&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),j&&(0,a.jsx)(tr,{control:u,bubbles:!m.current,name:n,value:d,checked:l,required:o,disabled:i,form:s,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:n,...l}=t,o=ga(rr,r);return(0,a.jsx)(Hr,{present:n||o.checked,children:(0,a.jsx)(xe.span,{"data-state":sr(o.checked),"data-disabled":o.disabled?"":void 0,...l,ref:e})})});ar.displayName=rr;var ba="RadioBubbleInput",tr=w.forwardRef(({__scopeRadio:t,control:e,checked:r,bubbles:n=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Yr(r),s=ta(e);return w.useEffect(()=>{let c=i.current;if(!c)return;let u=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(u,"checked").set;if(p!==r&&h){let f=new Event("click",{bubbles:n});h.call(c,r),c.dispatchEvent(f)}},[p,r,n]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=ba;function sr(t){return t?"checked":"unchecked"}var ya=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[wa,ft]=Ue(ve,[Ze,Qe]),nr=Ze(),lr=Qe(),[Na,Ca]=wa(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:n,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:s,loop:c=!0,onValueChange:u,...h}=t,f=nr(r),m=na(s),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(Na,{scope:r,name:n,required:i,disabled:d,value:j,onValueChange:x,children:(0,a.jsx)(qr,{asChild:!0,...f,orientation:p,dir:m,loop:c,children:(0,a.jsx)(xe.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":d?"":void 0,dir:m,...h,ref:e})})})});or.displayName=ve;var ir="RadioGroupItem",cr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,disabled:n,...l}=t,o=Ca(ir,r),i=o.disabled||n,d=nr(r),p=lr(r),s=w.useRef(null),c=Ae(e,s),u=o.value===l.value,h=w.useRef(!1);return w.useEffect(()=>{let f=j=>{ya.includes(j.key)&&(h.current=!0)},m=()=>h.current=!1;return document.addEventListener("keydown",f),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",f),document.removeEventListener("keyup",m)}},[]),(0,a.jsx)(Dr,{asChild:!0,...d,focusable:!i,active:u,children:(0,a.jsx)(er,{disabled:i,required:o.required,checked:u,...p,...l,name:o.name,ref:c,onCheck:()=>o.onValueChange(l.value),onKeyDown:Pe(f=>{f.key==="Enter"&&f.preventDefault()}),onFocus:Pe(l.onFocus,()=>{var f;h.current&&((f=s.current)==null||f.click())})})})});cr.displayName=ir;var ka="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...n}=t;return(0,a.jsx)(ar,{...lr(r),...n,ref:e})});dr.displayName=ka;var ur=or,mr=cr,Sa=dr,pr=fe(),Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),n,l;r[0]===t?(n=r[1],l=r[2]):({className:n,...l}=t,r[0]=t,r[1]=n,r[2]=l);let o;r[3]===n?o=r[4]:(o=I("grid gap-2",n),r[3]=n,r[4]=o);let i;return r[5]!==l||r[6]!==e||r[7]!==o?(i=(0,a.jsx)(ur,{className:o,...l,ref:e}),r[5]=l,r[6]=e,r[7]=o,r[8]=i):i=r[8],i});Ie.displayName=ur.displayName;var Me=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),n,l;if(r[0]!==t){let{className:p,children:s,...c}=t;n=p,l=c,r[0]=t,r[1]=n,r[2]=l}else n=r[1],l=r[2];let o;r[3]===n?o=r[4]:(o=I("h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none",n),r[3]=n,r[4]=o);let i;r[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Sa,{className:"flex items-center justify-center",children:(0,a.jsx)(Fr,{className:"h-[10px] w-[10px] fill-primary text-current"})}),r[5]=i):i=r[5];let d;return r[6]!==l||r[7]!==e||r[8]!==o?(d=(0,a.jsx)(mr,{ref:e,className:o,...l,children:i}),r[6]=l,r[7]=e,r[8]=o,r[9]=d):d=r[9],d});Me.displayName=mr.displayName;function _a(t){return t instanceof Re.ZodArray}function hr(t){return t instanceof Re.ZodPipe}function Ra(t){return t instanceof Re.ZodTuple}function fr(t){return"unwrap"in t?t.unwrap():t}function ge(t){let e=r=>{if(r instanceof le){let n=[...r.values];return r.values.size===1?n[0]:n}if(r instanceof Je){let n=r.def.defaultValue;return typeof n=="function"?n():n}if(hr(r))return e(r.in);if(Ra(r))return r.def.items.map(n=>e(n));if("unwrap"in r)return e(fr(r))};return t instanceof Oe||t instanceof ke?e(t.options[0]):_a(t)?Oa(t)?[ge(t.element)]:[]:t instanceof Te?"":t instanceof Se?t.options[0]:t instanceof _e?Object.fromEntries(Object.entries(t.shape).map(([r,n])=>[r,e(n)])):e(t)}function te(t){if(t instanceof le)return t;if(t instanceof _e){let e=t.shape.type;if(e instanceof le)return e;throw Error("Invalid schema")}if(t instanceof Oe||t instanceof ke)return te(t.options[0]);throw Er.warn(t),Error("Invalid schema")}function Oa(t){return!t.safeParse([]).success}var xr=fe(),jr=`
|
|
2
|
-
`;const vr=t=>{let e=(0,xr.c)(24),{value:r,options:n,onChange:l,className:o,placeholder:i,textAreaClassName:d,comboBoxClassName:p}=t,[s,c]=(0,w.useState)(!1),u;e[0]===r?u=e[1]:(u=be(r),e[0]=r,e[1]=u);let h=u,f;e[2]!==p||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==h?(f=()=>s?(0,a.jsx)(qe,{value:h,className:d,onChange:l,placeholder:i?`${i}: one per line`:"One value per line"}):(0,a.jsx)(Le,{placeholder:i,displayValue:Aa,className:I("w-full max-w-[400px]",p),multiple:!0,value:h,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:n.map(Va)}),e[2]=p,e[3]=l,e[4]=n,e[5]=i,e[6]=s,e[7]=d,e[8]=h,e[9]=f):f=e[9];let m=f,j;e[10]===o?j=e[11]:(j=I("flex gap-1",o),e[10]=o,e[11]=j);let x;e[12]===m?x=e[13]:(x=m(),e[12]=m,e[13]=x);let g=s?"Switch to multi-select":"Switch to textarea",v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Zr,{className:"w-3 h-3"}),e[14]=v):v=e[14];let y;e[15]===s?y=e[16]:(y=(0,a.jsx)(fa,{size:"xs",onPressedChange:c,pressed:s,children:v}),e[15]=s,e[16]=y);let N;e[17]!==g||e[18]!==y?(N=(0,a.jsx)(sa,{content:g,children:y}),e[17]=g,e[18]=y,e[19]=N):N=e[19];let C;return e[20]!==j||e[21]!==x||e[22]!==N?(C=(0,a.jsxs)("div",{className:j,children:[x,N]}),e[20]=j,e[21]=x,e[22]=N,e[23]=C):C=e[23],C},qe=t=>{let e=(0,xr.c)(11),{className:r,value:n,onChange:l,placeholder:o}=t,i,d;if(e[0]!==n){let u=be(n);i=Be,d=u.join(jr),e[0]=n,e[1]=i,e[2]=d}else i=e[1],d=e[2];let p;e[3]===l?p=e[4]:(p=u=>{if(u.target.value===""){l([]);return}l(u.target.value.split(jr))},e[3]=l,e[4]=p);let s=o?`${o}: one per line`:"One value per line",c;return e[5]!==i||e[6]!==r||e[7]!==d||e[8]!==p||e[9]!==s?(c=(0,a.jsx)(i,{value:d,className:r,rows:4,onChange:p,placeholder:s}),e[5]=i,e[6]=r,e[7]=d,e[8]=p,e[9]=s,e[10]=c):c=e[10],c};function be(t){return t==null?[]:Array.isArray(t)?t:[t].filter(e=>e!=null||e!=="")}function Aa(t){return t}function Va(t){return(0,a.jsx)(je,{value:t,children:t},t)}var se=fe();const Ea=t=>{let e=(0,se.c)(11),{schema:r,form:n,path:l,renderers:o,children:i}=t,d=l===void 0?"":l,p;e[0]===o?p=e[1]:(p=o===void 0?[]:o,e[0]=o,e[1]=p);let s=p,c;e[2]!==n||e[3]!==d||e[4]!==s||e[5]!==r?(c=L(r,n,d,s),e[2]=n,e[3]=d,e[4]=s,e[5]=r,e[6]=c):c=e[6];let u;return e[7]!==i||e[8]!==n||e[9]!==c?(u=(0,a.jsxs)(Kr,{...n,children:[i,c]}),e[7]=i,e[8]=n,e[9]=c,e[10]=u):u=e[10],u};function L(t,e,r,n){for(let s of n){let{isMatch:c,Component:u}=s;if(c(t))return(0,a.jsx)(u,{schema:t,form:e,path:r})}let{label:l,description:o,special:i,direction:d="column",minLength:p}=D.parse(t.description||"");if(t instanceof Je){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof kr){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof _e)return(0,a.jsxs)("div",{className:I("flex",d==="row"?"flex-row gap-6 items-start":d==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,a.jsx)(S,{children:l}),Ar.entries(t.shape).map(([s,c])=>{let u=c instanceof le,h=L(c,e,Ma(r,s),n);return u?(0,a.jsx)(w.Fragment,{children:h},s):(0,a.jsx)("div",{className:"flex flex-row align-start",children:h},s)})]});if(t instanceof Te)return i==="time"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,a.jsx)(E,{})]})}):(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Cr)return(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Nr,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,a.jsx)(E,{})]})});if(t instanceof _r)return i==="random_number_button"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(Ke,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(Ye())},children:[(0,a.jsx)(zr,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Tr,{...s,className:"my-0",onValueChange:s.onChange})}),(0,a.jsx)(E,{})]})});if(t instanceof Sr){let s=i==="datetime"?"datetime-local":i==="time"?"time":"date";return(0,a.jsx)(R,{control:e.control,name:r,render:({field:c})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...c,onValueChange:c.onChange,type:s,className:"my-0"})}),(0,a.jsx)(E,{})]})})}if(t instanceof Rr)return(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Se)return(0,a.jsx)($a,{schema:t,form:e,path:r,options:t.options.map(s=>s.toString())});if(t instanceof Or){if(i==="text_area_multiline")return(0,a.jsx)(La,{schema:t,form:e,path:r});let s=t.element;return s instanceof Se?(0,a.jsx)(Ia,{schema:t,form:e,path:r,itemLabel:l,options:s.options.map(c=>c.toString())}):(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)(ha,{children:l}),(0,a.jsx)(Pa,{schema:t.element,form:e,path:r,minLength:p,renderers:n},r)]})}if(t instanceof ke){let s=t.def,c=s.options,u=s.discriminator,h=f=>c.find(m=>te(m).value===f);return(0,a.jsx)(R,{control:e.control,name:r,render:({field:f})=>{let m=f.value,j=c.map(v=>te(v).value),x=m&&typeof m=="object"&&u in m?m[u]:j[0],g=h(x);return(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:j.map(v=>(0,a.jsx)("button",{type:"button",className:`px-4 py-2 ${x===v?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let y=h(v);y?f.onChange(ge(y)):f.onChange({[u]:v})},children:v},v))}),(0,a.jsx)("div",{className:"flex flex-col",children:g&&L(g,e,r,n)},x)]})}})}return t instanceof Oe?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>{let c=t.options,u=s.value,h=c.map(m=>te(m).value);u||(u=h[0]);let f=c.find(m=>te(m).value===u);return(0,a.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(Xr,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:h.map(m=>(0,a.jsx)("option",{value:m,children:m},m))}),f&&L(f,e,r,n)]})}}):t instanceof le?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsx)("input",{...s,type:"hidden",value:String([...t.values][0]??"")})}):"unwrap"in t?L(fr(t),e,r,n):hr(t)?L(t.in,e,r,n):(0,a.jsxs)("div",{children:["Unknown schema type"," ",t==null?r:JSON.stringify(t.type??t)]})}var Pa=t=>{let e=(0,se.c)(39),{schema:r,form:n,path:l,minLength:o,renderers:i}=t,d;e[0]===r.description?d=e[1]:(d=D.parse(r.description||""),e[0]=r.description,e[1]=d);let{label:p,description:s}=d,c=n.control,u;e[2]!==c||e[3]!==l?(u={control:c,name:l},e[2]=c,e[3]=l,e[4]=u):u=e[4];let{fields:h,append:f,remove:m}=Jr(u),j=o!=null&&h.length<o,x=o==null||h.length>o,g;e[5]===p?g=e[6]:(g=(0,a.jsx)(S,{children:p}),e[5]=p,e[6]=g);let v;e[7]===s?v=e[8]:(v=(0,a.jsx)(A,{children:s}),e[7]=s,e[8]=v);let y;if(e[9]!==x||e[10]!==h||e[11]!==n||e[12]!==l||e[13]!==m||e[14]!==i||e[15]!==r){let q;e[17]!==x||e[18]!==n||e[19]!==l||e[20]!==m||e[21]!==i||e[22]!==r?(q=(ne,$)=>(0,a.jsxs)("div",{className:"flex flex-row pl-2 ml-2 border-l-2 border-disabled hover-actions-parent relative pr-5 pt-1 items-center w-fit",onKeyDown:Lr.onEnter(qa),children:[L(r,n,`${l}[${$}]`,i),x&&(0,a.jsx)(Br,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{m($)}})]},ne.id),e[17]=x,e[18]=n,e[19]=l,e[20]=m,e[21]=i,e[22]=r,e[23]=q):q=e[23],y=h.map(q),e[9]=x,e[10]=h,e[11]=n,e[12]=l,e[13]=m,e[14]=i,e[15]=r,e[16]=y}else y=e[16];let N;e[24]!==j||e[25]!==o?(N=j&&(0,a.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,a.jsxs)("div",{children:["At least ",o," required."]})}),e[24]=j,e[25]=o,e[26]=N):N=e[26];let C;e[27]!==f||e[28]!==r?(C=()=>{f(ge(r))},e[27]=f,e[28]=r,e[29]=C):C=e[29];let O;e[30]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Gr,{className:"w-3.5 h-3.5 mr-1"}),e[30]=O):O=e[30];let k;e[31]===C?k=e[32]:(k=(0,a.jsx)("div",{children:(0,a.jsxs)(Ke,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:C,children:[O,"Add"]})}),e[31]=C,e[32]=k);let M;return e[33]!==g||e[34]!==v||e[35]!==y||e[36]!==N||e[37]!==k?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,v,y,N,k]}),e[33]=g,e[34]=v,e[35]=y,e[36]=N,e[37]=k,e[38]=M):M=e[38],M},gr=t=>{let e=(0,se.c)(21),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=D.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p,disabled:s,inputType:c}=o;if(c==="textarea"){let f;e[2]!==d||e[3]!==s||e[4]!==i||e[5]!==p?(f=j=>{let{field:x}=j;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(Be,{...x,value:x.value,onChange:x.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=s,e[4]=i,e[5]=p,e[6]=f):f=e[6];let m;return e[7]!==n.control||e[8]!==l||e[9]!==f?(m=(0,a.jsx)(R,{control:n.control,name:l,render:f}),e[7]=n.control,e[8]=l,e[9]=f,e[10]=m):m=e[10],m}let u;e[11]!==d||e[12]!==s||e[13]!==c||e[14]!==i||e[15]!==p?(u=f=>{let{field:m}=f;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...m,type:c,value:m.value,onValueChange:m.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[11]=d,e[12]=s,e[13]=c,e[14]=i,e[15]=p,e[16]=u):u=e[16];let h;return e[17]!==n.control||e[18]!==l||e[19]!==u?(h=(0,a.jsx)(R,{control:n.control,name:l,render:u}),e[17]=n.control,e[18]=l,e[19]=u,e[20]=h):h=e[20],h},La=t=>{let e=(0,se.c)(10),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=D.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p}=o,s;e[2]!==d||e[3]!==i||e[4]!==p?(s=u=>{let{field:h}=u;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(qe,{...h,placeholder:p})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=i,e[4]=p,e[5]=s):s=e[5];let c;return e[6]!==n.control||e[7]!==l||e[8]!==s?(c=(0,a.jsx)(R,{control:n.control,name:l,render:s}),e[6]=n.control,e[7]=l,e[8]=s,e[9]=c):c=e[9],c},$a=t=>{let e=(0,se.c)(22),{schema:r,form:n,path:l,options:o,textTransform:i}=t,d;e[0]===r.description?d=e[1]:(d=D.parse(r.description),e[0]=r.description,e[1]=d);let{label:p,description:s,disabled:c,special:u}=d;if(u==="radio_group"){let m;e[2]!==s||e[3]!==p||e[4]!==o||e[5]!==l?(m=x=>{let{field:g}=x;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(P,{children:(0,a.jsx)(Ie,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:o.map(v=>(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(Me,{value:v,id:`${l}-${v}`},v),(0,a.jsx)(S,{className:"whitespace-pre",htmlFor:`${l}-${v}`,children:ze.startCase(v)})]},v))})}),(0,a.jsx)(E,{})]})},e[2]=s,e[3]=p,e[4]=o,e[5]=l,e[6]=m):m=e[6];let j;return e[7]!==c||e[8]!==n.control||e[9]!==l||e[10]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:m}),e[7]=c,e[8]=n.control,e[9]=l,e[10]=m,e[11]=j):j=e[11],j}let h;e[12]!==s||e[13]!==p||e[14]!==o||e[15]!==i?(h=m=>{let{field:j}=m;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(P,{children:(0,a.jsxs)(aa,{"data-testid":"marimo-plugin-data-frames-select",value:j.value,onValueChange:j.onChange,children:[(0,a.jsx)(ra,{className:"min-w-[180px]",children:(0,a.jsx)(Wr,{placeholder:"--"})}),(0,a.jsx)(Qr,{children:(0,a.jsxs)(ea,{children:[o.map(x=>(0,a.jsx)(He,{value:x,children:(i==null?void 0:i(x))??x},x)),o.length===0&&(0,a.jsx)(He,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,a.jsx)(E,{})]})},e[12]=s,e[13]=p,e[14]=o,e[15]=i,e[16]=h):h=e[16];let f;return e[17]!==c||e[18]!==n.control||e[19]!==l||e[20]!==h?(f=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:h}),e[17]=c,e[18]=n.control,e[19]=l,e[20]=h,e[21]=f):f=e[21],f},Ia=t=>{let e=(0,se.c)(15),{schema:r,form:n,path:l,options:o,itemLabel:i,showSwitchable:d}=t,p;e[0]===r.description?p=e[1]:(p=D.parse(r.description),e[0]=r.description,e[1]=p);let{label:s,description:c,placeholder:u}=p,h;e[2]!==i||e[3]!==u?(h=u??(i?`Select ${i==null?void 0:i.toLowerCase()}`:void 0),e[2]=i,e[3]=u,e[4]=h):h=e[4];let f=h,m;e[5]!==c||e[6]!==s||e[7]!==o||e[8]!==f||e[9]!==d?(m=x=>{let{field:g}=x,v=be(g.value);return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:s}),(0,a.jsx)(A,{children:c}),(0,a.jsx)(P,{children:d?(0,a.jsx)(vr,{...g,value:v,options:o,placeholder:f}):(0,a.jsx)(Le,{className:"min-w-[180px]",placeholder:f,displayValue:Fa,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:v,onValueChange:g.onChange,children:o.map(Da)})}),(0,a.jsx)(E,{})]})},e[5]=c,e[6]=s,e[7]=o,e[8]=f,e[9]=d,e[10]=m):m=e[10];let j;return e[11]!==n.control||e[12]!==l||e[13]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,render:m}),e[11]=n.control,e[12]=l,e[13]=m,e[14]=j):j=e[14],j};function Ma(...t){return t.filter(e=>e!=="").join(".")}function qa(t){return t.preventDefault()}function Fa(t){return ze.startCase(t)}function Da(t){return(0,a.jsx)(je,{value:t,children:t},t)}export{be as a,Ie as c,Ye as d,Le as f,qe as i,Me as l,xa as m,L as n,ge as o,je as p,vr as r,te as s,Ea as t,D as u};
|
|
1
|
+
import{s as Ge}from"./chunk-LvLJmgfZ.js";import{t as yr}from"./react-Bj1aDYRI.js";import{Qn as wr,Tt as Nr,q as ze}from"./cells-fq1RMGX_.js";import{_ as Te,c as Cr,d as ke,f as Se,g as kr,h as _e,l as Sr,m as _r,o as Rr,p as le,s as Or,t as Re,u as Je,y as Oe}from"./zod-H_cgTO0M.js";import{t as fe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ar,h as Vr,m as Er,r as Ae}from"./useEventListener-Dy81QR4n.js";import{t as Pr}from"./jsx-runtime-icT_Ltz2.js";import{r as Lr,t as Be}from"./button-Ej3vmCIF.js";import{t as q}from"./cn-BoaCR37F.js";import{t as $r}from"./createLucideIcon-Cm-Z7dYr.js";import{t as qr}from"./check-BE0hEwVo.js";import{r as Ir}from"./x-BI1M8X_v.js";import{M as Mr,N as Ke,P as Fr,j as Dr}from"./dropdown-menu-DdPu5Kfu.js";import{t as Gr}from"./plus-dVmh0yTy.js";import{t as zr}from"./refresh-ccw-DLpfIr8v.js";import{n as Tr,t as Ve}from"./input-CUwqpKjd.js";import{_ as Jr,a as Ue,c as A,d as V,f as S,g as Br,p as E,s as P,u as R,x as Kr}from"./azure-BTXHztTw.js";import{t as Ur}from"./trash-2-CAoNMkjq.js";import{t as Zr}from"./badge-hTpPIsMT.js";import{E as Ze,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-Cs9nbinQ.js";import{c as Qr,i as He,l as Wr,m as Xr,n as Yr,r as ea,s as ra,t as aa}from"./select-CxT2Geqr.js";import{l as ta}from"./dist-DJBpXGro.js";import{t as sa}from"./tooltip-D9723Brr.js";import{u as na}from"./menu-items-UxKrm8hS.js";import{i as la,r as oa,t as ia}from"./popover-BPGG2gPG.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-rfxSsiHU.js";import{t as ha}from"./label-TNNaT1M9.js";import{t as fa}from"./toggle-RCwU-rnE.js";var xa=$r("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),Qe=fe(),w=Ge(yr(),1),a=Ge(Pr(),1);const We=(0,w.createContext)({isSelected:()=>!1,onSelect:Vr.NOOP}),Le=t=>{let e=(0,Qe.c)(94),r,n,l,o,i,d,p,s,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],n=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],s=e[8],c=e[9],u=e[10],h=e[11],f=e[12],m=e[13],j=e[14],x=e[15],g=e[16],v=e[17],y=e[18],N=e[19],C=e[20],O=e[21]):({children:r,displayValue:d,className:l,placeholder:m,value:O,defaultValue:i,onValueChange:h,multiple:g,shouldFilter:v,filterFn:p,open:f,defaultOpen:o,onOpenChange:c,inputPlaceholder:y,search:x,onSearchChange:u,emptyState:N,chips:C,chipsClassName:n,keepPopoverOpenOnSelect:s,...j}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=s,e[9]=c,e[10]=u,e[11]=h,e[12]=f,e[13]=m,e[14]=j,e[15]=x,e[16]=g,e[17]=v,e[18]=y,e[19]=N,e[20]=C,e[21]=O);let k=g===void 0?!1:g,I=v===void 0?!0:v,M=y===void 0?"Search...":y,ne=N===void 0?"Nothing found.":N,$=C===void 0?!1:C,ye=o??!1,oe;e[22]!==c||e[23]!==f||e[24]!==ye?(oe={prop:f,defaultProp:ye,onChange:c},e[22]=c,e[23]=f,e[24]=ye,e[25]=oe):oe=e[25];let[Fe,G]=Ee(oe),z=Fe===void 0?!1:Fe,T;e[26]===h?T=e[27]:(T=_=>{h==null||h(_)},e[26]=h,e[27]=T);let ie;e[28]!==i||e[29]!==T||e[30]!==O?(ie={prop:O,defaultProp:i,onChange:T},e[28]=i,e[29]=T,e[30]=O,e[31]=ie):ie=e[31];let[b,we]=Ee(ie),ce;e[32]===b?ce=e[33]:(ce=_=>Array.isArray(b)?b.includes(_):b===_,e[32]=b,e[33]=ce);let Ne=ce,de;e[34]!==s||e[35]!==k||e[36]!==G||e[37]!==we||e[38]!==b?(de=_=>{let F=_;if(k)if(Array.isArray(b))if(b.includes(F)){let De=b.filter(br=>br!==_);F=De.length>0?De:[]}else F=[...b,F];else F=[F];else b===_&&(F=null);we(F),(s??k)||G(!1)},e[34]=s,e[35]=k,e[36]=G,e[37]=we,e[38]=b,e[39]=de):de=e[39];let J=de,ue;e[40]!==$||e[41]!==d||e[42]!==k||e[43]!==m||e[44]!==b?(ue=()=>k&&$&&m?m:b==null?m??"--":Array.isArray(b)?b.length===0?m??"--":b.length===1&&d!==void 0?d(b[0]):`${b.length} selected`:d===void 0?m??"--":d(b),e[40]=$,e[41]=d,e[42]=k,e[43]=m,e[44]=b,e[45]=ue):ue=e[45];let Ce=ue,me;e[46]===Symbol.for("react.memo_cache_sentinel")?(me=q("relative"),e[46]=me):me=e[46];let B;e[47]===l?B=e[48]:(B=q("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50",l),e[47]=l,e[48]=B);let K;e[49]===Ce?K=e[50]:(K=Ce(),e[49]=Ce,e[50]=K);let U;e[51]===K?U=e[52]:(U=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:K}),e[51]=K,e[52]=U);let pe;e[53]===Symbol.for("react.memo_cache_sentinel")?(pe=(0,a.jsx)(Ir,{className:"ml-3 w-4 h-4 opacity-50 shrink-0"}),e[53]=pe):pe=e[53];let Z;e[54]!==z||e[55]!==B||e[56]!==U?(Z=(0,a.jsx)(la,{asChild:!0,children:(0,a.jsxs)("div",{className:B,"aria-expanded":z,children:[U,pe]})}),e[54]=z,e[55]=B,e[56]=U,e[57]=Z):Z=e[57];let H;e[58]!==M||e[59]!==u||e[60]!==x?(H=(0,a.jsx)(ca,{placeholder:M,rootClassName:"px-1 h-8",autoFocus:!0,value:x,onValueChange:u}),e[58]=M,e[59]=u,e[60]=x,e[61]=H):H=e[61];let Q;e[62]===ne?Q=e[63]:(Q=(0,a.jsx)(ua,{children:ne}),e[62]=ne,e[63]=Q);let W;e[64]!==J||e[65]!==Ne?(W={isSelected:Ne,onSelect:J},e[64]=J,e[65]=Ne,e[66]=W):W=e[66];let X;e[67]!==r||e[68]!==W?(X=(0,a.jsx)(We,{value:W,children:r}),e[67]=r,e[68]=W,e[69]=X):X=e[69];let Y;e[70]!==Q||e[71]!==X?(Y=(0,a.jsxs)(ma,{className:"max-h-60 py-.5",children:[Q,X]}),e[70]=Q,e[71]=X,e[72]=Y):Y=e[72];let ee;e[73]!==p||e[74]!==I||e[75]!==H||e[76]!==Y?(ee=(0,a.jsx)(oa,{className:"w-full min-w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,a.jsxs)(pa,{filter:p,shouldFilter:I,children:[H,Y]})}),e[73]=p,e[74]=I,e[75]=H,e[76]=Y,e[77]=ee):ee=e[77];let re;e[78]!==z||e[79]!==G||e[80]!==Z||e[81]!==ee?(re=(0,a.jsxs)(ia,{open:z,onOpenChange:G,children:[Z,ee]}),e[78]=z,e[79]=G,e[80]=Z,e[81]=ee,e[82]=re):re=e[82];let ae;e[83]!==$||e[84]!==n||e[85]!==d||e[86]!==J||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:q("flex flex-col gap-1 items-start",n),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(Zr,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(wr,{onClick:()=>{J(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=n,e[85]=d,e[86]=J,e[87]=k,e[88]=b,e[89]=ae):ae=e[89];let he;return e[90]!==j||e[91]!==re||e[92]!==ae?(he=(0,a.jsxs)("div",{className:me,...j,children:[re,ae]}),e[90]=j,e[91]=re,e[92]=ae,e[93]=he):he=e[93],he},je=w.forwardRef((t,e)=>{let r=(0,Qe.c)(17),{children:n,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),s=w.use(We),c;r[0]===l?c=r[1]:(c=q("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==s||r[3]!==i||r[4]!==o?(u=()=>{s.onSelect(o),i==null||i(o)},r[2]=s,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==s||r[7]!==o?(h=s.isSelected(o)&&(0,a.jsx)(qr,{className:"absolute left-1 h-4 w-4"}),r[6]=s,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==n||r[10]!==d||r[11]!==e||r[12]!==c||r[13]!==u||r[14]!==h||r[15]!==p?(f=(0,a.jsxs)(da,{ref:e,className:c,role:"option",value:p,disabled:d,onSelect:u,children:[h,n]}),r[9]=n,r[10]=d,r[11]=e,r[12]=c,r[13]=u,r[14]=h,r[15]=p,r[16]=f):f=r[16],f});je.displayName="ComboboxItem";const D={of(t){return JSON.stringify(t)},parse(t){if(!t)return{};try{return JSON.parse(t)}catch{return{label:t}}}};function Xe(){return Math.floor(Math.random()*1e5)}var $e="Radio",[ja,Ye]=Ze($e),[va,ga]=ja($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:n,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:s,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?s||!!u.closest("form"):!0;return(0,a.jsxs)(va,{scope:r,checked:l,disabled:i,children:[(0,a.jsx)(xe.button,{type:"button",role:"radio","aria-checked":l,"data-state":sr(l),"data-disabled":i?"":void 0,disabled:i,value:d,...c,ref:f,onClick:Pe(t.onClick,x=>{l||(p==null||p()),j&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),j&&(0,a.jsx)(tr,{control:u,bubbles:!m.current,name:n,value:d,checked:l,required:o,disabled:i,form:s,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:n,...l}=t,o=ga(rr,r);return(0,a.jsx)(Hr,{present:n||o.checked,children:(0,a.jsx)(xe.span,{"data-state":sr(o.checked),"data-disabled":o.disabled?"":void 0,...l,ref:e})})});ar.displayName=rr;var ba="RadioBubbleInput",tr=w.forwardRef(({__scopeRadio:t,control:e,checked:r,bubbles:n=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Xr(r),s=ta(e);return w.useEffect(()=>{let c=i.current;if(!c)return;let u=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(u,"checked").set;if(p!==r&&h){let f=new Event("click",{bubbles:n});h.call(c,r),c.dispatchEvent(f)}},[p,r,n]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=ba;function sr(t){return t?"checked":"unchecked"}var ya=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[wa,ft]=Ze(ve,[Ke,Ye]),nr=Ke(),lr=Ye(),[Na,Ca]=wa(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:n,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:s,loop:c=!0,onValueChange:u,...h}=t,f=nr(r),m=na(s),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(Na,{scope:r,name:n,required:i,disabled:d,value:j,onValueChange:x,children:(0,a.jsx)(Mr,{asChild:!0,...f,orientation:p,dir:m,loop:c,children:(0,a.jsx)(xe.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":d?"":void 0,dir:m,...h,ref:e})})})});or.displayName=ve;var ir="RadioGroupItem",cr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,disabled:n,...l}=t,o=Ca(ir,r),i=o.disabled||n,d=nr(r),p=lr(r),s=w.useRef(null),c=Ae(e,s),u=o.value===l.value,h=w.useRef(!1);return w.useEffect(()=>{let f=j=>{ya.includes(j.key)&&(h.current=!0)},m=()=>h.current=!1;return document.addEventListener("keydown",f),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",f),document.removeEventListener("keyup",m)}},[]),(0,a.jsx)(Dr,{asChild:!0,...d,focusable:!i,active:u,children:(0,a.jsx)(er,{disabled:i,required:o.required,checked:u,...p,...l,name:o.name,ref:c,onCheck:()=>o.onValueChange(l.value),onKeyDown:Pe(f=>{f.key==="Enter"&&f.preventDefault()}),onFocus:Pe(l.onFocus,()=>{var f;h.current&&((f=s.current)==null||f.click())})})})});cr.displayName=ir;var ka="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...n}=t;return(0,a.jsx)(ar,{...lr(r),...n,ref:e})});dr.displayName=ka;var ur=or,mr=cr,Sa=dr,pr=fe(),qe=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),n,l;r[0]===t?(n=r[1],l=r[2]):({className:n,...l}=t,r[0]=t,r[1]=n,r[2]=l);let o;r[3]===n?o=r[4]:(o=q("grid gap-2",n),r[3]=n,r[4]=o);let i;return r[5]!==l||r[6]!==e||r[7]!==o?(i=(0,a.jsx)(ur,{className:o,...l,ref:e}),r[5]=l,r[6]=e,r[7]=o,r[8]=i):i=r[8],i});qe.displayName=ur.displayName;var Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),n,l;if(r[0]!==t){let{className:p,children:s,...c}=t;n=p,l=c,r[0]=t,r[1]=n,r[2]=l}else n=r[1],l=r[2];let o;r[3]===n?o=r[4]:(o=q("h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none",n),r[3]=n,r[4]=o);let i;r[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Sa,{className:"flex items-center justify-center",children:(0,a.jsx)(Fr,{className:"h-[10px] w-[10px] fill-primary text-current"})}),r[5]=i):i=r[5];let d;return r[6]!==l||r[7]!==e||r[8]!==o?(d=(0,a.jsx)(mr,{ref:e,className:o,...l,children:i}),r[6]=l,r[7]=e,r[8]=o,r[9]=d):d=r[9],d});Ie.displayName=mr.displayName;function _a(t){return t instanceof Re.ZodArray}function hr(t){return t instanceof Re.ZodPipe}function Ra(t){return t instanceof Re.ZodTuple}function fr(t){return"unwrap"in t?t.unwrap():t}function ge(t){let e=r=>{if(r instanceof le){let n=[...r.values];return r.values.size===1?n[0]:n}if(r instanceof Je){let n=r.def.defaultValue;return typeof n=="function"?n():n}if(hr(r))return e(r.in);if(Ra(r))return r.def.items.map(n=>e(n));if("unwrap"in r)return e(fr(r))};return t instanceof Oe||t instanceof ke?e(t.options[0]):_a(t)?Oa(t)?[ge(t.element)]:[]:t instanceof Te?"":t instanceof Se?t.options[0]:t instanceof _e?Object.fromEntries(Object.entries(t.shape).map(([r,n])=>[r,e(n)])):e(t)}function te(t){if(t instanceof le)return t;if(t instanceof _e){let e=t.shape.type;if(e instanceof le)return e;throw Error("Invalid schema")}if(t instanceof Oe||t instanceof ke)return te(t.options[0]);throw Er.warn(t),Error("Invalid schema")}function Oa(t){return!t.safeParse([]).success}var xr=fe(),jr=`
|
|
2
|
+
`;const vr=t=>{let e=(0,xr.c)(24),{value:r,options:n,onChange:l,className:o,placeholder:i,textAreaClassName:d,comboBoxClassName:p}=t,[s,c]=(0,w.useState)(!1),u;e[0]===r?u=e[1]:(u=be(r),e[0]=r,e[1]=u);let h=u,f;e[2]!==p||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==h?(f=()=>s?(0,a.jsx)(Me,{value:h,className:d,onChange:l,placeholder:i?`${i}: one per line`:"One value per line"}):(0,a.jsx)(Le,{placeholder:i,displayValue:Aa,className:q("w-full max-w-[400px]",p),multiple:!0,value:h,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:n.map(Va)}),e[2]=p,e[3]=l,e[4]=n,e[5]=i,e[6]=s,e[7]=d,e[8]=h,e[9]=f):f=e[9];let m=f,j;e[10]===o?j=e[11]:(j=q("flex gap-1",o),e[10]=o,e[11]=j);let x;e[12]===m?x=e[13]:(x=m(),e[12]=m,e[13]=x);let g=s?"Switch to multi-select":"Switch to textarea",v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Kr,{className:"w-3 h-3"}),e[14]=v):v=e[14];let y;e[15]===s?y=e[16]:(y=(0,a.jsx)(fa,{size:"xs",onPressedChange:c,pressed:s,children:v}),e[15]=s,e[16]=y);let N;e[17]!==g||e[18]!==y?(N=(0,a.jsx)(sa,{content:g,children:y}),e[17]=g,e[18]=y,e[19]=N):N=e[19];let C;return e[20]!==j||e[21]!==x||e[22]!==N?(C=(0,a.jsxs)("div",{className:j,children:[x,N]}),e[20]=j,e[21]=x,e[22]=N,e[23]=C):C=e[23],C},Me=t=>{let e=(0,xr.c)(11),{className:r,value:n,onChange:l,placeholder:o}=t,i,d;if(e[0]!==n){let u=be(n);i=Ue,d=u.join(jr),e[0]=n,e[1]=i,e[2]=d}else i=e[1],d=e[2];let p;e[3]===l?p=e[4]:(p=u=>{if(u.target.value===""){l([]);return}l(u.target.value.split(jr))},e[3]=l,e[4]=p);let s=o?`${o}: one per line`:"One value per line",c;return e[5]!==i||e[6]!==r||e[7]!==d||e[8]!==p||e[9]!==s?(c=(0,a.jsx)(i,{value:d,className:r,rows:4,onChange:p,placeholder:s}),e[5]=i,e[6]=r,e[7]=d,e[8]=p,e[9]=s,e[10]=c):c=e[10],c};function be(t){return t==null?[]:Array.isArray(t)?t:[t].filter(e=>e!=null||e!=="")}function Aa(t){return t}function Va(t){return(0,a.jsx)(je,{value:t,children:t},t)}var se=fe();const Ea=t=>{let e=(0,se.c)(11),{schema:r,form:n,path:l,renderers:o,children:i}=t,d=l===void 0?"":l,p;e[0]===o?p=e[1]:(p=o===void 0?[]:o,e[0]=o,e[1]=p);let s=p,c;e[2]!==n||e[3]!==d||e[4]!==s||e[5]!==r?(c=L(r,n,d,s),e[2]=n,e[3]=d,e[4]=s,e[5]=r,e[6]=c):c=e[6];let u;return e[7]!==i||e[8]!==n||e[9]!==c?(u=(0,a.jsxs)(Br,{...n,children:[i,c]}),e[7]=i,e[8]=n,e[9]=c,e[10]=u):u=e[10],u};function L(t,e,r,n){for(let s of n){let{isMatch:c,Component:u}=s;if(c(t))return(0,a.jsx)(u,{schema:t,form:e,path:r})}let{label:l,description:o,special:i,direction:d="column",minLength:p}=D.parse(t.description||"");if(t instanceof Je){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof kr){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof _e)return(0,a.jsxs)("div",{className:q("flex",d==="row"?"flex-row gap-6 items-start":d==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,a.jsx)(S,{children:l}),Ar.entries(t.shape).map(([s,c])=>{let u=c instanceof le,h=L(c,e,Ia(r,s),n);return u?(0,a.jsx)(w.Fragment,{children:h},s):(0,a.jsx)("div",{className:"flex flex-row align-start",children:h},s)})]});if(t instanceof Te)return i==="time"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,a.jsx)(E,{})]})}):(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Cr)return(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Nr,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,a.jsx)(E,{})]})});if(t instanceof _r)return i==="random_number_button"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(Be,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(Xe())},children:[(0,a.jsx)(zr,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Tr,{...s,className:"my-0",onValueChange:s.onChange})}),(0,a.jsx)(E,{})]})});if(t instanceof Sr){let s=i==="datetime"?"datetime-local":i==="time"?"time":"date";return(0,a.jsx)(R,{control:e.control,name:r,render:({field:c})=>(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...c,onValueChange:c.onChange,type:s,className:"my-0"})}),(0,a.jsx)(E,{})]})})}if(t instanceof Rr)return(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Se)return(0,a.jsx)($a,{schema:t,form:e,path:r,options:t.options.map(s=>s.toString())});if(t instanceof Or){if(i==="text_area_multiline")return(0,a.jsx)(La,{schema:t,form:e,path:r});let s=t.element;return s instanceof Se?(0,a.jsx)(qa,{schema:t,form:e,path:r,itemLabel:l,options:s.options.map(c=>c.toString())}):(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)(ha,{children:l}),(0,a.jsx)(Pa,{schema:t.element,form:e,path:r,minLength:p,renderers:n},r)]})}if(t instanceof ke){let s=t.def,c=s.options,u=s.discriminator,h=f=>c.find(m=>te(m).value===f);return(0,a.jsx)(R,{control:e.control,name:r,render:({field:f})=>{let m=f.value,j=c.map(v=>te(v).value),x=m&&typeof m=="object"&&u in m?m[u]:j[0],g=h(x);return(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:j.map(v=>(0,a.jsx)("button",{type:"button",className:`px-4 py-2 ${x===v?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let y=h(v);y?f.onChange(ge(y)):f.onChange({[u]:v})},children:v},v))}),(0,a.jsx)("div",{className:"flex flex-col",children:g&&L(g,e,r,n)},x)]})}})}return t instanceof Oe?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>{let c=t.options,u=s.value,h=c.map(m=>te(m).value);u||(u=h[0]);let f=c.find(m=>te(m).value===u);return(0,a.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(Wr,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:h.map(m=>(0,a.jsx)("option",{value:m,children:m},m))}),f&&L(f,e,r,n)]})}}):t instanceof le?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsx)("input",{...s,type:"hidden",value:String([...t.values][0]??"")})}):"unwrap"in t?L(fr(t),e,r,n):hr(t)?L(t.in,e,r,n):(0,a.jsxs)("div",{children:["Unknown schema type"," ",t==null?r:JSON.stringify(t.type??t)]})}var Pa=t=>{let e=(0,se.c)(39),{schema:r,form:n,path:l,minLength:o,renderers:i}=t,d;e[0]===r.description?d=e[1]:(d=D.parse(r.description||""),e[0]=r.description,e[1]=d);let{label:p,description:s}=d,c=n.control,u;e[2]!==c||e[3]!==l?(u={control:c,name:l},e[2]=c,e[3]=l,e[4]=u):u=e[4];let{fields:h,append:f,remove:m}=Jr(u),j=o!=null&&h.length<o,x=o==null||h.length>o,g;e[5]===p?g=e[6]:(g=(0,a.jsx)(S,{children:p}),e[5]=p,e[6]=g);let v;e[7]===s?v=e[8]:(v=(0,a.jsx)(A,{children:s}),e[7]=s,e[8]=v);let y;if(e[9]!==x||e[10]!==h||e[11]!==n||e[12]!==l||e[13]!==m||e[14]!==i||e[15]!==r){let M;e[17]!==x||e[18]!==n||e[19]!==l||e[20]!==m||e[21]!==i||e[22]!==r?(M=(ne,$)=>(0,a.jsxs)("div",{className:"flex flex-row pl-2 ml-2 border-l-2 border-disabled hover-actions-parent relative pr-5 pt-1 items-center w-fit",onKeyDown:Lr.onEnter(Ma),children:[L(r,n,`${l}[${$}]`,i),x&&(0,a.jsx)(Ur,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{m($)}})]},ne.id),e[17]=x,e[18]=n,e[19]=l,e[20]=m,e[21]=i,e[22]=r,e[23]=M):M=e[23],y=h.map(M),e[9]=x,e[10]=h,e[11]=n,e[12]=l,e[13]=m,e[14]=i,e[15]=r,e[16]=y}else y=e[16];let N;e[24]!==j||e[25]!==o?(N=j&&(0,a.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,a.jsxs)("div",{children:["At least ",o," required."]})}),e[24]=j,e[25]=o,e[26]=N):N=e[26];let C;e[27]!==f||e[28]!==r?(C=()=>{f(ge(r))},e[27]=f,e[28]=r,e[29]=C):C=e[29];let O;e[30]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Gr,{className:"w-3.5 h-3.5 mr-1"}),e[30]=O):O=e[30];let k;e[31]===C?k=e[32]:(k=(0,a.jsx)("div",{children:(0,a.jsxs)(Be,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:C,children:[O,"Add"]})}),e[31]=C,e[32]=k);let I;return e[33]!==g||e[34]!==v||e[35]!==y||e[36]!==N||e[37]!==k?(I=(0,a.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,v,y,N,k]}),e[33]=g,e[34]=v,e[35]=y,e[36]=N,e[37]=k,e[38]=I):I=e[38],I},gr=t=>{let e=(0,se.c)(21),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=D.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p,disabled:s,inputType:c}=o;if(c==="textarea"){let f;e[2]!==d||e[3]!==s||e[4]!==i||e[5]!==p?(f=j=>{let{field:x}=j;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(Ue,{...x,value:x.value,onChange:x.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=s,e[4]=i,e[5]=p,e[6]=f):f=e[6];let m;return e[7]!==n.control||e[8]!==l||e[9]!==f?(m=(0,a.jsx)(R,{control:n.control,name:l,render:f}),e[7]=n.control,e[8]=l,e[9]=f,e[10]=m):m=e[10],m}let u;e[11]!==d||e[12]!==s||e[13]!==c||e[14]!==i||e[15]!==p?(u=f=>{let{field:m}=f;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(Ve,{...m,type:c,value:m.value,onValueChange:m.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[11]=d,e[12]=s,e[13]=c,e[14]=i,e[15]=p,e[16]=u):u=e[16];let h;return e[17]!==n.control||e[18]!==l||e[19]!==u?(h=(0,a.jsx)(R,{control:n.control,name:l,render:u}),e[17]=n.control,e[18]=l,e[19]=u,e[20]=h):h=e[20],h},La=t=>{let e=(0,se.c)(10),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=D.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p}=o,s;e[2]!==d||e[3]!==i||e[4]!==p?(s=u=>{let{field:h}=u;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(P,{children:(0,a.jsx)(Me,{...h,placeholder:p})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=i,e[4]=p,e[5]=s):s=e[5];let c;return e[6]!==n.control||e[7]!==l||e[8]!==s?(c=(0,a.jsx)(R,{control:n.control,name:l,render:s}),e[6]=n.control,e[7]=l,e[8]=s,e[9]=c):c=e[9],c},$a=t=>{let e=(0,se.c)(22),{schema:r,form:n,path:l,options:o,textTransform:i}=t,d;e[0]===r.description?d=e[1]:(d=D.parse(r.description),e[0]=r.description,e[1]=d);let{label:p,description:s,disabled:c,special:u}=d;if(u==="radio_group"){let m;e[2]!==s||e[3]!==p||e[4]!==o||e[5]!==l?(m=x=>{let{field:g}=x;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(P,{children:(0,a.jsx)(qe,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:o.map(v=>(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(Ie,{value:v,id:`${l}-${v}`},v),(0,a.jsx)(S,{className:"whitespace-pre",htmlFor:`${l}-${v}`,children:ze.startCase(v)})]},v))})}),(0,a.jsx)(E,{})]})},e[2]=s,e[3]=p,e[4]=o,e[5]=l,e[6]=m):m=e[6];let j;return e[7]!==c||e[8]!==n.control||e[9]!==l||e[10]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:m}),e[7]=c,e[8]=n.control,e[9]=l,e[10]=m,e[11]=j):j=e[11],j}let h;e[12]!==s||e[13]!==p||e[14]!==o||e[15]!==i?(h=m=>{let{field:j}=m;return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(P,{children:(0,a.jsxs)(aa,{"data-testid":"marimo-plugin-data-frames-select",value:j.value,onValueChange:j.onChange,children:[(0,a.jsx)(ra,{className:"min-w-[180px]",children:(0,a.jsx)(Qr,{placeholder:"--"})}),(0,a.jsx)(Yr,{children:(0,a.jsxs)(ea,{children:[o.map(x=>(0,a.jsx)(He,{value:x,children:(i==null?void 0:i(x))??x},x)),o.length===0&&(0,a.jsx)(He,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,a.jsx)(E,{})]})},e[12]=s,e[13]=p,e[14]=o,e[15]=i,e[16]=h):h=e[16];let f;return e[17]!==c||e[18]!==n.control||e[19]!==l||e[20]!==h?(f=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:h}),e[17]=c,e[18]=n.control,e[19]=l,e[20]=h,e[21]=f):f=e[21],f},qa=t=>{let e=(0,se.c)(15),{schema:r,form:n,path:l,options:o,itemLabel:i,showSwitchable:d}=t,p;e[0]===r.description?p=e[1]:(p=D.parse(r.description),e[0]=r.description,e[1]=p);let{label:s,description:c,placeholder:u}=p,h;e[2]!==i||e[3]!==u?(h=u??(i?`Select ${i==null?void 0:i.toLowerCase()}`:void 0),e[2]=i,e[3]=u,e[4]=h):h=e[4];let f=h,m;e[5]!==c||e[6]!==s||e[7]!==o||e[8]!==f||e[9]!==d?(m=x=>{let{field:g}=x,v=be(g.value);return(0,a.jsxs)(V,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:s}),(0,a.jsx)(A,{children:c}),(0,a.jsx)(P,{children:d?(0,a.jsx)(vr,{...g,value:v,options:o,placeholder:f}):(0,a.jsx)(Le,{className:"min-w-[180px]",placeholder:f,displayValue:Fa,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:v,onValueChange:g.onChange,children:o.map(Da)})}),(0,a.jsx)(E,{})]})},e[5]=c,e[6]=s,e[7]=o,e[8]=f,e[9]=d,e[10]=m):m=e[10];let j;return e[11]!==n.control||e[12]!==l||e[13]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,render:m}),e[11]=n.control,e[12]=l,e[13]=m,e[14]=j):j=e[14],j};function Ia(...t){return t.filter(e=>e!=="").join(".")}function Ma(t){return t.preventDefault()}function Fa(t){return ze.startCase(t)}function Da(t){return(0,a.jsx)(je,{value:t,children:t},t)}export{be as a,qe as c,Xe as d,Le as f,Me as i,Ie as l,xa as m,L as n,ge as o,je as p,vr as r,te as s,Ea as t,D as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as a}from"./utils-CdjCA1J8.js";function o(r){function n(t){return!!(t!=null&&t.schema)&&Array.isArray(t.schema.fields)&&typeof t.toArray=="function"}return(n(r)?r:f(r)).toArray()}o.responseType="arrayBuffer";function f(r,n){return a(r,n??{useProxy:!0})}export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i}from"./numbers-
|
|
1
|
+
import{r as i}from"./numbers-CYnquDho.js";function t(r,o){if(r===0||r===-1)return"0 B";let e=1024,$=["B","KB","MB","GB","TB"],f=Math.floor(Math.log(r)/Math.log(e));return`${i(r/e**f,o)} ${$[f]}`}function u(r,o){if(r===0)return"0s";if(r<.001)return`${i(r*1e6,o)}\xB5s`;if(r<1)return`${i(r*1e3,o)}ms`;if(r<60)return`${i(r,o)}s`;let e=Math.floor(r/60),$=r%60;if(e<60)return $>0?`${e}m ${i($,o)}s`:`${e}m`;let f=Math.floor(e/60),n=e%60;return n>0?`${f}h ${n}m`:`${f}h`}export{u as n,t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-O0nX5vok.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-
|
|
1
|
+
import{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-O0nX5vok.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-Ba0LbbH4.js";import{t as $}from"./jsx-runtime-icT_Ltz2.js";import{r as z}from"./requests-Bgjtqo_1.js";import{t as N}from"./spinner-C5JoisA7.js";import{dt as L,r as M}from"./input-CUwqpKjd.js";import{n as c,t as R}from"./paths-D2lG83Oh.js";import{c as v,t as I}from"./session-BrEm7qNv.js";import"./Combination-Cs9nbinQ.js";import{r as A}from"./errors-Bfogio62.js";import{t as f}from"./error-banner-BRG6IPhC.js";import{n as D}from"./useAsyncData-D-4ifFXh.js";import{n as W,t as _}from"./card-C-c-4jyF.js";var p=b(y(),1),e=b($(),1),B=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),w=a=>{let o=R.guessDeliminator(a).deliminator;return a.replace(/\.[^./]+$/,"").split(o).filter(Boolean).map(d=>d.split(/[_-]/).map(B).join(" ")).join(" > ")},F=a=>`${I()}-${encodeURIComponent(a)}`,Y=a=>{try{return new URL(a).protocol==="https:"}catch{return!1}},q=10,E=()=>{let{getWorkspaceFiles:a}=z(),[o,d]=(0,p.useState)(""),n=D(()=>a({includeMarkdown:!1}),[]),t=n.data,m=(0,p.useMemo)(()=>{let r=(t==null?void 0:t.files)??[],l=(t==null?void 0:t.root)??"";return r.filter(s=>!s.isDirectory).map(s=>{var g,x,j;let i=l&&c.isAbsolute(s.path)&&s.path.startsWith(l)?c.rest(s.path,l):s.path,C=((g=s.opengraph)==null?void 0:g.title)??w(c.basename(i)),S=w(c.dirname(i)),U=((x=s.opengraph)==null?void 0:x.description)??"",h=(j=s.opengraph)==null?void 0:j.image,k=h&&Y(h)?h:v(`og/thumbnail?file=${encodeURIComponent(i)}`).toString();return{...s,relativePath:i,title:C,subtitle:S,description:U,thumbnailUrl:k}}).sort((s,i)=>s.relativePath.localeCompare(i.relativePath))},[t==null?void 0:t.files,t==null?void 0:t.root]),u=(0,p.useMemo)(()=>{if(!o)return m;let r=o.toLowerCase();return m.filter(l=>l.title.toLowerCase().includes(r))},[m,o]);return n.isPending?(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"}):n.error?(0,e.jsx)(f,{kind:"danger",className:"rounded p-4",children:A(n.error)}):t?(0,e.jsx)(p.Suspense,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",children:[(0,e.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),(0,e.jsx)(P,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[t.hasMore&&(0,e.jsxs)(f,{kind:"warn",className:"rounded p-4",children:["Showing first ",t.fileCount," files. Your workspace has more files."]}),m.length>q&&(0,e.jsx)(M,{id:"search",value:o,icon:(0,e.jsx)(L,{className:"h-4 w-4"}),onChange:r=>d(r.target.value),placeholder:"Search",rootClassName:"mb-3",className:"mb-0 border-border"}),u.length===0?(0,e.jsx)(f,{kind:"warn",className:"rounded p-4",children:"No marimo apps found."}):(0,e.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(r=>(0,e.jsx)("a",{href:v(`?file=${encodeURIComponent(r.relativePath)}`).toString(),target:F(r.path),className:"no-underline",children:(0,e.jsxs)(_,{className:"h-full overflow-hidden hover:bg-accent/20 transition-colors",children:[(0,e.jsx)("img",{src:r.thumbnailUrl,alt:r.title,loading:"lazy",className:"w-full aspect-1200/630 object-cover border-b border-border/60"}),(0,e.jsx)(W,{className:"p-6 pt-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[r.subtitle&&(0,e.jsx)("div",{className:"text-sm font-semibold text-muted-foreground",children:r.subtitle}),(0,e.jsx)("div",{className:"text-lg font-medium",children:r.title}),r.description&&(0,e.jsx)("div",{className:"text-sm text-muted-foreground line-clamp-3 mt-1",children:r.description})]})})]})},r.path))})]})})]})}):(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"})};export{E as default};
|