@marimo-team/frontend 0.20.3-dev96 → 0.20.3-dev98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/assets/{CellStatus-CofFdpAe.js → CellStatus-BNvq_G7v.js} +1 -1
  2. package/dist/assets/{JsonOutput-DKjq8WkX.js → JsonOutput-COYZxr-s.js} +4 -4
  3. package/dist/assets/{MarimoErrorOutput-DDEWmSYt.js → MarimoErrorOutput-CkWg573B.js} +1 -1
  4. package/dist/assets/{RenderHTML-BKdgJWBR.js → RenderHTML-D0riQ7d5.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai--93MrwWW.js → add-cell-with-ai-D7RcfIFT.js} +7 -7
  6. package/dist/assets/{add-connection-dialog-DwmwDRdR.js → add-connection-dialog-a1w-tlmr.js} +1 -1
  7. package/dist/assets/agent-panel-CFECcwTK.js +287 -0
  8. package/dist/assets/{ai-model-dropdown-DQy6lXPg.js → ai-model-dropdown-CS9BLOLl.js} +3 -3
  9. package/dist/assets/{app-config-button-C_j4LbLr.js → app-config-button-Cp9XkpLD.js} +1 -1
  10. package/dist/assets/{azure-BOn6W9-m.js → azure-D5yXrO2H.js} +1 -1
  11. package/dist/assets/{cell-editor-B9yTITVj.js → cell-editor-DRiVkblX.js} +9 -9
  12. package/dist/assets/{cell-link-CZP6Kzmf.js → cell-link-B5vG68jv.js} +1 -1
  13. package/dist/assets/{cells-CigkzIKH.js → cells-BusUaZSh.js} +39 -39
  14. package/dist/assets/{chat-display-C1J9G6Cr.js → chat-display-BrI8TsyH.js} +1 -1
  15. package/dist/assets/{chat-panel-CFDW5ZSi.js → chat-panel-BvHZJKww.js} +1 -1
  16. package/dist/assets/{column-preview-BHAQ5EN7.js → column-preview-CMuWC26D.js} +1 -1
  17. package/dist/assets/{command-C8WcXqB5.js → command-B5q5uni4.js} +1 -1
  18. package/dist/assets/{command-palette-DzEDXP8h.js → command-palette-DH_Lzfkd.js} +1 -1
  19. package/dist/assets/{common-BsEiWPTg.js → common-DQqSG88k.js} +1 -1
  20. package/dist/assets/{components-Bis36Fco.js → components-Cx6Hou1_.js} +1 -1
  21. package/dist/assets/{components-C_r2KU__.js → components-DlLxmdlj.js} +1 -1
  22. package/dist/assets/{context-aware-panel-CdVqO_AM.js → context-aware-panel-BGlzp-FM.js} +2 -2
  23. package/dist/assets/{datasource-B3MFUEL6.js → datasource-DpXRY8fO.js} +2 -2
  24. package/dist/assets/{dependency-graph-panel-D4bT9In2.js → dependency-graph-panel-RR4NgUZ9.js} +1 -1
  25. package/dist/assets/{documentation-panel-BMnKc5yI.js → documentation-panel-Cnv1jm5X.js} +1 -1
  26. package/dist/assets/{download-C35SWaj3.js → download-BUXzyjEd.js} +4 -4
  27. package/dist/assets/{edit-page-BeR5IEJ-.js → edit-page-D9uU9771.js} +7 -7
  28. package/dist/assets/{error-panel-jpJowHuz.js → error-panel-CVb1eCf6.js} +1 -1
  29. package/dist/assets/{file-explorer-panel-BHVDv16o.js → file-explorer-panel-UXRdRpc0.js} +1 -1
  30. package/dist/assets/{floating-outline-BxQvjarL.js → floating-outline-CmXM2v38.js} +1 -1
  31. package/dist/assets/{focus-Bci_MkMH.js → focus-ByrD76nS.js} +1 -1
  32. package/dist/assets/{form-DmsYuKMH.js → form-DOjZnkdK.js} +1 -1
  33. package/dist/assets/{globals-BIlQtd9Z.js → globals-B_lwS1Rg.js} +1 -1
  34. package/dist/assets/{home-page-Dw1bl_Le.js → home-page-DkSd1V6c.js} +2 -2
  35. package/dist/assets/{html-to-image-DkwDXZ7Q.js → html-to-image-DjFNZcCI.js} +1 -1
  36. package/dist/assets/{index-D0SHqLyU.js → index-CXRGI-CB.js} +10 -10
  37. package/dist/assets/{kiosk-mode-BXfU4SPi.js → kiosk-mode-CTnBBAQi.js} +1 -1
  38. package/dist/assets/{layout-Cn07VnUl.js → layout-CMmACzb7.js} +3 -3
  39. package/dist/assets/{logs-panel-CNI5XQZv.js → logs-panel-H4W0OnaU.js} +1 -1
  40. package/dist/assets/{markdown-renderer-DHgbXKHX.js → markdown-renderer-B4k8WEFz.js} +1 -1
  41. package/dist/assets/{name-cell-input-BVNjrC55.js → name-cell-input-BUcQnShp.js} +1 -1
  42. package/dist/assets/{outline-panel-DDzSswIl.js → outline-panel-By3ZqBZ9.js} +1 -1
  43. package/dist/assets/{packages-panel-oV7XPDLu.js → packages-panel-Cu_ODGWE.js} +1 -1
  44. package/dist/assets/{panels-OYOPaJTw.js → panels-o_H3ZmT-.js} +1 -1
  45. package/dist/assets/{process-output-B27UYd5L.js → process-output-C6uLELXv.js} +1 -1
  46. package/dist/assets/{readonly-python-code-CyraFlMm.js → readonly-python-code-vSIWAIcL.js} +1 -1
  47. package/dist/assets/{run-page-DDaD2g7X.js → run-page-DhyDG7Rk.js} +1 -1
  48. package/dist/assets/{scratchpad-panel-Bj7X2Na5.js → scratchpad-panel-4t4-HW40.js} +1 -1
  49. package/dist/assets/{session-panel-BCymMoxC.js → session-panel-DIXH9TH9.js} +1 -1
  50. package/dist/assets/{snippets-panel-CSczB-sT.js → snippets-panel-CODg30J-.js} +1 -1
  51. package/dist/assets/{state-LFRjhpk7.js → state-BqcLH_kp.js} +1 -1
  52. package/dist/assets/{switch-Cp5eQmZx.js → switch-E6p3DgBh.js} +1 -1
  53. package/dist/assets/{tracing-DVa-Q9aK.js → tracing-Dl2nQ80-.js} +1 -1
  54. package/dist/assets/{tracing-panel-DFqVXy46.js → tracing-panel-DhGOBk1Q.js} +2 -2
  55. package/dist/assets/{types-B737EDbu.js → types-Cg2HXEUi.js} +1 -1
  56. package/dist/assets/{useAddCell-CZ1y3fpl.js → useAddCell-CsMGD6qQ.js} +1 -1
  57. package/dist/assets/{useCellActionButton-CGxzkJch.js → useCellActionButton-pIt4Gh5R.js} +1 -1
  58. package/dist/assets/{useDeleteCell-Dok0-XOi.js → useDeleteCell-DFKNGNeg.js} +1 -1
  59. package/dist/assets/{useDependencyPanelTab-CYOtvc7A.js → useDependencyPanelTab-vEb9Zdsr.js} +1 -1
  60. package/dist/assets/{useNotebookActions-C8fdJ-I2.js → useNotebookActions-B9ocYS2_.js} +1 -1
  61. package/dist/assets/{useSplitCell-CEPcLfYT.js → useSplitCell-B4bOrJRI.js} +1 -1
  62. package/dist/index.html +29 -29
  63. package/package.json +1 -1
  64. package/src/components/chat/acp/agent-panel.tsx +29 -8
  65. package/src/core/saving/file-state.ts +7 -0
  66. package/src/mount.tsx +6 -1
  67. package/src/plugins/layout/TexPlugin.tsx +4 -1
  68. package/dist/assets/agent-panel-C8ZeX_CD.js +0 -287
@@ -1 +1 @@
1
- import{s as i}from"./chunk-LvLJmgfZ.js";import"./useEvent-WUlsM6MC.js";import{t as l}from"./react-Bj1aDYRI.js";import{O as a}from"./cells-CigkzIKH.js";import"./react-dom-CSu739Rf.js";import{t as s}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./jsx-runtime-CP2fAiZX.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{t as d}from"./createLucideIcon-BvP5LBIs.js";import{t as h}from"./MarimoErrorOutput-DDEWmSYt.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import"./purify.es-CPplrWRQ.js";import{n as f}from"./cell-link-CZP6Kzmf.js";import{t as n}from"./empty-state-DFr2pZOz.js";var x=d("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),y=s();l();var r=i(c(),1),k=()=>{let t=(0,y.c)(5),m=a();if(m.length===0){let p;return t[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(n,{title:"No errors!",icon:(0,r.jsx)(x,{})}),t[0]=p):p=t[0],p}let o;t[1]===m?o=t[2]:(o=m.map(u),t[1]=m,t[2]=o);let e;return t[3]===o?e=t[4]:(e=(0,r.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:o}),t[3]=o,t[4]=e),e};function u(t){return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs font-mono font-semibold bg-muted border-y px-2 py-1",children:(0,r.jsx)(f,{cellId:t.cellId})}),(0,r.jsx)("div",{className:"px-2",children:(0,r.jsx)(h,{errors:t.output.data,cellId:t.cellId},t.cellId)},t.cellId)]},t.cellId)}export{k as default};
1
+ import{s as i}from"./chunk-LvLJmgfZ.js";import"./useEvent-WUlsM6MC.js";import{t as l}from"./react-Bj1aDYRI.js";import{O as a}from"./cells-BusUaZSh.js";import"./react-dom-CSu739Rf.js";import{t as s}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./jsx-runtime-CP2fAiZX.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{t as d}from"./createLucideIcon-BvP5LBIs.js";import{t as h}from"./MarimoErrorOutput-CkWg573B.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import"./purify.es-CPplrWRQ.js";import{n as f}from"./cell-link-B5vG68jv.js";import{t as n}from"./empty-state-DFr2pZOz.js";var x=d("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),y=s();l();var r=i(c(),1),k=()=>{let t=(0,y.c)(5),m=a();if(m.length===0){let p;return t[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(n,{title:"No errors!",icon:(0,r.jsx)(x,{})}),t[0]=p):p=t[0],p}let o;t[1]===m?o=t[2]:(o=m.map(u),t[1]=m,t[2]=o);let e;return t[3]===o?e=t[4]:(e=(0,r.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:o}),t[3]=o,t[4]=e),e};function u(t){return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs font-mono font-semibold bg-muted border-y px-2 py-1",children:(0,r.jsx)(f,{cellId:t.cellId})}),(0,r.jsx)("div",{className:"px-2",children:(0,r.jsx)(h,{errors:t.output.data,cellId:t.cellId},t.cellId)},t.cellId)]},t.cellId)}export{k as default};
@@ -1 +1 @@
1
- var Ft=Object.defineProperty;var Ct=(t,e,s)=>e in t?Ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var G=(t,e,s)=>Ct(t,typeof e!="symbol"?e+"":e,s);import{s as Oe}from"./chunk-LvLJmgfZ.js";import{i as St,l as me,n as q,p as Re,u as ne}from"./useEvent-WUlsM6MC.js";import{t as _t}from"./react-Bj1aDYRI.js";import{En as Pt,T as Dt,kn as Ae,li as Ie,oi as zt,ur as Mt}from"./cells-CigkzIKH.js";import"./react-dom-CSu739Rf.js";import{t as se}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-D_HRHf_c.js";import{a as Te,i as Le,r as Ot,t as Ee}from"./add-connection-dialog-DwmwDRdR.js";import{h as Rt,m as ue}from"./useEventListener-CjXriKgk.js";import{t as At}from"./invariant-awXiPaF0.js";import{p as It,u as Be}from"./utils-CORJ8yYa.js";import{S as pe}from"./config-D9X9QKiL.js";import{t as Tt}from"./jsx-runtime-CP2fAiZX.js";import{n as Lt,t as R}from"./button-BmOH9agK.js";import{t as Y}from"./cn-d_A4rA-x.js";import{St as Et}from"./dist-DUY6xZX8.js";import{a as Bt,i as Ve,o as xe}from"./JsonOutput-DKjq8WkX.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{n as Vt,r as ge}from"./requests-DZy_SQ_v.js";import{t as re}from"./createLucideIcon-BvP5LBIs.js";import{a as He,i as Ue,l as We,n as fe,o as Ht,r as Ut,s as je,t as Wt}from"./state-B_fNn_z_.js";import{n as $t}from"./LazyAnyLanguageCodeMirror-D8Y5EdeE.js";import{r as qt,t as Kt}from"./x-yqLqiq5Q.js";import{c as Gt,i as ye,r as $e}from"./download-C35SWaj3.js";import{t as ve}from"./chevron-right-_z3dkNFy.js";import{f as be}from"./maps-8VTEe-0T.js";import{n as Yt}from"./markdown-renderer-DHgbXKHX.js";import{u as Zt}from"./toDate-DDAiY7kz.js";import{a as A,c as ie,p as qe,r as Ke,t as Ge}from"./dropdown-menu-CKhrfxsx.js";import{t as we}from"./copy-CAR4dOiD.js";import{t as Ne}from"./download-BG-iMGgV.js";import{t as Ye}from"./ellipsis-vertical-CqcBoxmi.js";import{t as Jt}from"./eye-off-DgTL09j7.js";import{t as Ze}from"./file-plus-corner-BRwJx0yp.js";import{t as Je}from"./file-DVwc11C3.js";import{i as Qt,n as Qe,r as Xt,t as ea}from"./types-B737EDbu.js";import"./html-to-image-DkwDXZ7Q.js";import{n as ke,t as ta}from"./spinner-DCSoZZhh.js";import{t as Xe}from"./plus-B-s-VRHt.js";import{t as aa}from"./refresh-ccw-BOzRCrXK.js";import{t as Fe}from"./refresh-cw-DeCFDX1B.js";import{t as sa}from"./save-I_RGv5p0.js";import{t as ra}from"./trash-2-DtQaB9NM.js";import{t as na}from"./triangle-alert-n1-FF7zs.js";import{i as ia,n as la,t as oa}from"./es-1hBRXVlM.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import{t as E}from"./use-toast-BhMe50aT.js";import{t as Ce}from"./paths-bMgYkaP2.js";import"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import{t as T}from"./tooltip-DOQlecCr.js";import"./purify.es-CPplrWRQ.js";import"./dates-CzBDvj6R.js";import{o as ca}from"./alert-dialog-DsNfSYaw.js";import{t as et}from"./context-B1_BdDTF.js";import"./popover-Cvl9xY6R.js";import{n as tt}from"./ImperativeModal-CRNJOvqT.js";import{r as da}from"./errors-Bfogio62.js";import{n as ha}from"./blob-CObhN-9g.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{t as le}from"./copy-DMCkK2TI.js";import{t as ma}from"./copy-icon-6RnnFDPt.js";import{n as pa}from"./multi-map-kCmlVJ-5.js";import{a as xa,i as fa,n as Se,r as ua,t as ga}from"./tree-D0AxVJ_I.js";import{n as ja,t as ya}from"./alert-0YTlkh9P.js";import{n as at}from"./error-banner-R2OkQKR0.js";import{n as _e}from"./useAsyncData-DVm0BCFt.js";import{a as va,o as st,t as ba,u as wa}from"./command-C8WcXqB5.js";import"./chunk-5FQGJX7Z-XpIxSaxK.js";import"./katex-rvFxOCU-.js";import{o as Na}from"./focus-Bci_MkMH.js";import{a as ka}from"./renderShortcut-BJEd-iA7.js";import{t as Fa}from"./bundle.esm-_LzfhNmX.js";import{a as Ca}from"./components-Bis36Fco.js";import{t as Sa}from"./empty-state-DFr2pZOz.js";import{t as Pe}from"./formatting-8bP-RDnl.js";import{a as _a,i as Pa,n as rt,r as nt,t as it}from"./components-C_r2KU__.js";import{n as lt,t as Da}from"./marimo-icons-BDAuIiW5.js";import{t as za}from"./links-syPBpTLO.js";var Ma=re("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"}]]),ot=re("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"}]]),ct=re("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"}]]),Oa=re("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"}]]),Ra=re("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"}]]),dt=re("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"}]]),M=Oe(_t(),1),Aa=se(),a=Oe(Tt(),1);const ht=t=>{let e=(0,Aa.c)(17),{filename:s,filenameIcon:n,onBack:i,onRefresh:r,onDownload:l,actions:c}=t,p;e[0]===i?p=e[1]:(p=i&&(0,a.jsx)(T,{content:"Back to file list",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(We,{className:"h-4 w-4"})})}),e[0]=i,e[1]=p);let o;e[2]!==s||e[3]!==n?(o=s?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[n,s]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=s,e[3]=n,e[4]=o):o=e[4];let g;e[5]===r?g=e[6]:(g=r&&(0,a.jsx)(T,{content:"Refresh",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:r,children:(0,a.jsx)(Fe,{className:"h-3.5 w-3.5"})})}),e[5]=r,e[6]=g);let m;e[7]===l?m=e[8]:(m=l&&(0,a.jsx)(T,{content:"Download",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:l,children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),e[7]=l,e[8]=m);let f;e[9]!==c||e[10]!==g||e[11]!==m?(f=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[g,c,m]}),e[9]=c,e[10]=g,e[11]=m,e[12]=f):f=e[12];let j;return e[13]!==p||e[14]!==o||e[15]!==f?(j=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[p,o,f]}),e[13]=p,e[14]=o,e[15]=f,e[16]=j):j=e[16],j};var Ia=100*1024*1024;function Ta(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}const La=({entry:t,namespace:e,onBack:s})=>{let{locale:n}=et(),i=Ta(t.path),r=t.mimeType||"text/plain",l=xe(r),c=l&&t.size>Ia&&t.size>0,{data:p,isPending:o,error:g,refetch:m}=_e(async()=>{if(c)return null;let u=await je.request({namespace:e,path:t.path,preview:!l});if(u.error)throw Error(u.error);if(!u.url)throw Error("No URL returned");if(l)return{type:"media",url:u.url};let h=await fetch(u.url);if(!h.ok)throw Error(`Failed to fetch preview: ${h.statusText}`);return{type:"text",content:await h.text()}},[e,t.path,l,c]),f=(0,M.useCallback)(async()=>{try{let u=await je.request({namespace:e,path:t.path});if(u.error){E({title:"Download failed",description:u.error,variant:"danger"});return}u.url&&ye(u.url,u.filename??i)}catch(u){ue.error("Failed to download storage entry",u),E({title:"Download failed",description:String(u),variant:"danger"})}},[e,t.path,i]),j=(0,a.jsx)(ht,{filename:i,filenameIcon:Le(i),onBack:s,onDownload:f}),d=({includeMime:u=!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)(ma,{value:t.path,className:"h-3 w-3"})]}),u&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),u&&(0,a.jsx)("span",{children:r}),t.size>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Size"}),(0,a.jsx)("span",{children:Pe(t.size,n)})]}),t.lastModified!=null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Modified"}),(0,a.jsx)("span",{children:new Date(t.lastModified*1e3).toLocaleString()})]})]});return c?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",Pe(t.size,n),")."]})]}):o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24",children:[(0,a.jsx)(ke,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):g?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",g.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)(R,{variant:"secondary",size:"xs",onClick:m,children:[(0,a.jsx)(Fe,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):p?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({}),(0,a.jsx)(Ve,{mimeType:r,contents:p.type==="text"?p.content:void 0,mediaSource:p.type==="media"?{url:p.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Je,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var De=se(),Ea=16;function Z(t){return{paddingLeft:t*Ea}}function Ba(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function mt(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}function ze(t,e,s,n){let i=s.toLowerCase();if(mt(t.path).toLowerCase().includes(i))return!0;if(t.kind==="directory"){let r=n.get(He(e,t.path));if(r)return r.some(l=>ze(l,e,s,n))}return!1}function pt(t,e,s,n){return s.trim()?t.filter(i=>ze(i,e,s,n)):t}var Va=t=>{let e=(0,De.c)(34),{namespace:s,protocol:n,rootPath:i,prefix:r,depth:l,locale:c,searchValue:p,onOpenFile:o}=t,{entriesByPath:g}=fe(),{entries:m,isPending:f,error:j}=Ue(s,r);if(f){let h;e[0]===l?h=e[1]:(h=Z(l),e[0]=l,e[1]=h);let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),e[2]=y):y=e[2];let w;return e[3]===h?w=e[4]:(w=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:h,children:[y,"Loading..."]}),e[3]=h,e[4]=w),w}if(j){let h;e[5]===l?h=e[6]:(h=Z(l),e[5]=l,e[6]=h);let y;return e[7]!==j.message||e[8]!==h?(y=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:h,children:["Failed to load: ",j.message]}),e[7]=j.message,e[8]=h,e[9]=y):y=e[9],y}if(m.length===0){let h;e[10]===l?h=e[11]:(h=Z(l),e[10]=l,e[11]=h);let y;return e[12]===h?y=e[13]:(y=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:h,children:"Empty"}),e[12]=h,e[13]=y),y}let d;if(e[14]!==m||e[15]!==l||e[16]!==g||e[17]!==c||e[18]!==s||e[19]!==o||e[20]!==n||e[21]!==i||e[22]!==p){let h=pt(m,s,p,g),y;e[24]!==l||e[25]!==c||e[26]!==s||e[27]!==o||e[28]!==n||e[29]!==i||e[30]!==p?(y=w=>(0,a.jsx)(xt,{entry:w,namespace:s,protocol:n,rootPath:i,depth:l,locale:c,searchValue:p,onOpenFile:o},w.path),e[24]=l,e[25]=c,e[26]=s,e[27]=o,e[28]=n,e[29]=i,e[30]=p,e[31]=y):y=e[31],d=h.map(y),e[14]=m,e[15]=l,e[16]=g,e[17]=c,e[18]=s,e[19]=o,e[20]=n,e[21]=i,e[22]=p,e[23]=d}else d=e[23];let u;return e[32]===d?u=e[33]:(u=(0,a.jsx)(a.Fragment,{children:d}),e[32]=d,e[33]=u),u},xt=({entry:t,namespace:e,protocol:s,rootPath:n,depth:i,locale:r,searchValue:l,onOpenFile:c})=>{var w;let[p,o]=(0,M.useState)(!1),{entriesByPath:g}=fe(),m=t.kind==="directory",f=mt(t.path),j=!!l.trim(),d=m&&j&&f.toLowerCase().includes(l.trim().toLowerCase()),u=m&&j&&!!((w=g.get(He(e,t.path)))!=null&&w.some(v=>ze(v,e,l,g))),h=p||u,y=(0,M.useCallback)(async()=>{try{let v=await je.request({namespace:e,path:t.path});if(v.error){E({title:"Download failed",description:v.error,variant:"danger"});return}v.url&&ye(v.url,v.filename??"download")}catch(v){ue.error("Failed to download storage entry",v),E({title:"Download failed",description:String(v),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(st,{className:Y("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",m&&"font-medium"),style:Z(i),value:`${e}:${t.path}`,onSelect:()=>{m?o(!h):c({entry:t,namespace:e})},children:[m?(0,a.jsx)(ve,{className:Y("h-3 w-3 shrink-0 transition-transform",h&&"rotate-90")}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),m?(0,a.jsx)(Qt,{className:"h-3.5 w-3.5 text-amber-500 shrink-0"}):Le(f),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:f}),(0,a.jsxs)("div",{className:"flex items-center",children:[t.size>0&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums",children:Pe(t.size,r)}),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:Ba(t.lastModified,r)})}),(0,a.jsxs)(Ge,{children:[(0,a.jsx)(qe,{asChild:!0,children:(0,a.jsx)(R,{variant:"text",size:"icon",className:"opacity-0 group-hover:opacity-100 transition-opacity hover:shadow-none hover:text-link text-muted-foreground",onClick:v=>v.stopPropagation(),children:(0,a.jsx)(Ye,{className:"h-3 w-3"})})}),(0,a.jsxs)(Ke,{align:"end",onClick:v=>v.stopPropagation(),onCloseAutoFocus:v=>v.preventDefault(),children:[!m&&(0,a.jsxs)(A,{onSelect:()=>c({entry:t,namespace:e}),children:[(0,a.jsx)(dt,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(A,{onSelect:async()=>{await le(Ht(s,n,t.path).toString()),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(we,{className:"h-3.5 w-3.5 mr-2"}),"Copy URL"]}),!m&&(0,a.jsxs)(A,{onSelect:()=>y(),children:[(0,a.jsx)(Ne,{className:"h-3.5 w-3.5 mr-2"}),"Download"]})]})]})]})]}),m&&h&&(0,a.jsx)(Va,{namespace:e,protocol:s,rootPath:n,prefix:t.path,depth:i+1,locale:r,searchValue:d?"":l,onOpenFile:c})]})},Ha=t=>{let e=(0,De.c)(50),{namespace:s,locale:n,searchValue:i,onOpenFile:r}=t,[l,c]=(0,M.useState)(!0),[p,o]=(0,M.useState)(!1),{entriesByPath:g}=fe(),{clearNamespaceCache:m}=Ut(),f=s.name??s.displayName,{entries:j,isPending:d,error:u,refetch:h}=Ue(f),y;e[0]!==m||e[1]!==f||e[2]!==h?(y=N=>{N.stopPropagation(),o(!0),m(f),h(),setTimeout(()=>o(!1),500)},e[0]=m,e[1]=f,e[2]=h,e[3]=y):y=e[3];let w=y,v=d?s.storageEntries:j,b;if(e[4]!==v||e[5]!==g||e[6]!==u||e[7]!==w||e[8]!==l||e[9]!==d||e[10]!==p||e[11]!==n||e[12]!==s.displayName||e[13]!==s.name||e[14]!==s.protocol||e[15]!==s.rootPath||e[16]!==f||e[17]!==r||e[18]!==i){let N=pt(v,f,i,g),x=s.name,F;e[20]===l?F=e[21]:(F=()=>c(!l),e[20]=l,e[21]=F);let D=l&&"rotate-90",S;e[22]===D?S=e[23]:(S=Y("h-3 w-3 shrink-0 transition-transform",D),e[22]=D,e[23]=S);let C;e[24]===S?C=e[25]:(C=(0,a.jsx)(ve,{className:S}),e[24]=S,e[25]=C);let _;e[26]===s.protocol?_=e[27]:(_=(0,a.jsx)(Ot,{protocol:s.protocol}),e[26]=s.protocol,e[27]=_);let P;e[28]===s.displayName?P=e[29]:(P=(0,a.jsx)("span",{children:s.displayName}),e[28]=s.displayName,e[29]=P);let O;e[30]===s.name?O=e[31]:(O=s.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(_a,{variableName:s.name}),")"]}),e[30]=s.name,e[31]=O);let z=p&&"animate-[spin_0.5s]",L;e[32]===z?L=e[33]:(L=Y("h-3 w-3 text-muted-foreground hover:text-foreground",z),e[32]=z,e[33]=L);let V;e[34]===L?V=e[35]:(V=(0,a.jsx)(Fe,{className:L}),e[34]=L,e[35]=V);let U;e[36]!==w||e[37]!==V?(U=(0,a.jsx)(T,{content:"Refresh storage connection",children:(0,a.jsx)(R,{variant:"ghost",size:"icon",className:"hover:bg-transparent hover:shadow-none",onClick:w,children:V})}),e[36]=w,e[37]=V,e[38]=U):U=e[38];let W=s.rootPath||"(root)",$;e[39]===W?$=e[40]:($=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:W}),e[39]=W,e[40]=$);let H;e[41]!==s.name||e[42]!==O||e[43]!==U||e[44]!==$||e[45]!==F||e[46]!==C||e[47]!==_||e[48]!==P?(H=(0,a.jsxs)(st,{value:x,onSelect:F,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[C,_,P,O,U,$]}),e[41]=s.name,e[42]=O,e[43]=U,e[44]=$,e[45]=F,e[46]=C,e[47]=_,e[48]=P,e[49]=H):H=e[49],b=(0,a.jsxs)(a.Fragment,{children:[H,l&&(0,a.jsxs)(a.Fragment,{children:[d&&v.length===0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:Z(1),children:[(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),u&&v.length===0&&(0,a.jsx)(Ca,{error:u,style:Z(1),className:"py-1 text-xs h-auto",showIcon:!1}),!d&&v.length===0&&!u&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:Z(1),children:"No entries"}),i&&N.length===0&&v.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:Z(1),children:"No matches"}),N.map(K=>(0,a.jsx)(xt,{entry:K,namespace:f,protocol:s.protocol,rootPath:s.rootPath,depth:1,locale:n,searchValue:i,onOpenFile:r},K.path))]})]}),e[4]=v,e[5]=g,e[6]=u,e[7]=w,e[8]=l,e[9]=d,e[10]=p,e[11]=n,e[12]=s.displayName,e[13]=s.name,e[14]=s.protocol,e[15]=s.rootPath,e[16]=f,e[17]=r,e[18]=i,e[19]=b}else b=e[19];return b};const Ua=()=>{let t=(0,De.c)(31),{namespaces:e}=fe(),{locale:s}=et(),[n,i]=(0,M.useState)(""),[r,l]=(0,M.useState)(null),c=!!n.trim();if(e.length===0){let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsxs)("span",{children:["Create an Obstore or fsspec connection in your notebook. See the"," ",(0,a.jsx)("a",{className:"text-link",href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start",target:"_blank",rel:"noopener noreferrer",children:"docs"}),"."]}),t[0]=b):b=t[0];let N;return t[1]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Sa,{title:"No storage connected",description:b,action:(0,a.jsx)(Ee,{defaultTab:"storage",children:(0,a.jsxs)(R,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(Xe,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Te,{className:"h-8 w-8"})}),t[1]=N):N=t[1],N}let p;t[2]===r?p=t[3]:(p=r&&(0,a.jsx)(La,{entry:r.entry,namespace:r.namespace,onBack:()=>l(null)}),t[2]=r,t[3]=p);let o=r&&"hidden",g;t[4]===o?g=t[5]:(g=Y("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",o),t[4]=o,t[5]=g);let m;t[6]===n?m=t[7]:(m=(0,a.jsx)(va,{placeholder:"Search entries...",className:"h-6 m-1",value:n,onValueChange:i,rootClassName:"flex-1 border-b-0"}),t[6]=n,t[7]=m);let f;t[8]===c?f=t[9]:(f=c&&(0,a.jsx)(R,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>i(""),children:(0,a.jsx)(Kt,{className:"h-4 w-4"})}),t[8]=c,t[9]=f);let j;t[10]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(T,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(Zt,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=j):j=t[10];let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(Ee,{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)(Xe,{className:"h-4 w-4"})})}),t[11]=d):d=t[11];let u;t[12]!==m||t[13]!==f?(u=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[m,f,j,d]}),t[12]=m,t[13]=f,t[14]=u):u=t[14];let h;if(t[15]!==s||t[16]!==e||t[17]!==n){let b;t[19]!==s||t[20]!==n?(b=N=>(0,a.jsx)(Ha,{namespace:N,locale:s,searchValue:n,onOpenFile:l},N.name??N.displayName),t[19]=s,t[20]=n,t[21]=b):b=t[21],h=e.map(b),t[15]=s,t[16]=e,t[17]=n,t[18]=h}else h=t[18];let y;t[22]===h?y=t[23]:(y=(0,a.jsx)(wa,{className:"flex flex-col",children:h}),t[22]=h,t[23]=y);let w;t[24]!==g||t[25]!==u||t[26]!==y?(w=(0,a.jsxs)(ba,{className:g,shouldFilter:!1,children:[u,y]}),t[24]=g,t[25]=u,t[26]=y,t[27]=w):w=t[27];let v;return t[28]!==p||t[29]!==w?(v=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[p,w]}),t[28]=p,t[29]=w,t[30]=v):v=t[30],v};var ft=se(),ut=(0,M.createContext)(null);function Wa(){return(0,M.useContext)(ut)??void 0}var $a=t=>{let e=(0,ft.c)(3),{children:s}=t,n=fa(),i;return e[0]!==s||e[1]!==n?(i=(0,a.jsx)(ut.Provider,{value:n,children:s}),e[0]=s,e[1]=n,e[2]=i):i=e[2],i};const qa=t=>{let e=(0,ft.c)(5),{children:s}=t,[n,i]=(0,M.useState)(null),r;e[0]!==s||e[1]!==n?(r=n&&(0,a.jsx)(xa,{backend:ua,options:{rootElement:n},children:(0,a.jsx)($a,{children:s})}),e[0]=s,e[1]=n,e[2]=r):r=e[2];let l;return e[3]===r?l=e[4]:(l=(0,a.jsx)("div",{ref:i,className:"contents",children:r}),e[3]=r,e[4]=l),l};var Me=new Map;const Ka=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:s,sendUpdateFile:n}=ge(),i=ne(It),r=ne(Be),l=ne(zt),[c,p]=(0,M.useState)(""),{data:o,isPending:g,error:m,setData:f,refetch:j}=_e(async()=>{let x=await s({path:t.path}),F=x.contents||"";return p(Me.get(t.path)||F),x},[t.path]),d=async()=>{c!==(o==null?void 0:o.contents)&&await n({path:t.path,contents:c}).then(x=>{x.success&&(f(F=>({...F,contents:c})),p(c))})},u=(0,M.useRef)(c);if(u.current=c,(0,M.useEffect)(()=>()=>{if(!(o!=null&&o.contents))return;let x=u.current;x===o.contents?Me.delete(t.path):Me.set(t.path,x)},[t.path,o==null?void 0:o.contents]),m)return(0,a.jsx)(at,{error:m});if(g||!o)return null;let h=o.mimeType||"text/plain",y=h in Bt,w=l&&o.file.isMarimoFile&&(t.path===l||t.path.endsWith(`/${l}`));if(!o.contents&&!y)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:o.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:h})]});let v=(0,a.jsx)(ht,{filename:o.file.name,onRefresh:j,onDownload:r?void 0:()=>{if(xe(h)){ye(Yt(o.contents,h),o.file.name);return}$e(new Blob([o.contents||c],{type:h}),o.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!pe()&&(0,a.jsx)(T,{content:"Open notebook",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:x=>e(x),children:(0,a.jsx)(be,{className:"h-3.5 w-3.5"})})}),!xe(h)&&(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 le(c)},children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(T,{content:ka("global.save"),children:(0,a.jsx)(R,{variant:c===o.contents?"text":"success",size:"xs",onClick:d,disabled:c===o.contents,children:(0,a.jsx)(sa,{className:"h-3.5 w-3.5"})})})]})]})}),b=xe(h),N=!b&&h!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[v,N&&w&&(0,a.jsxs)(ya,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(na,{className:"h-4 w-4"}),(0,a.jsx)(ja,{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:h,contents:b?void 0:N?c:o.contents??void 0,mediaSource:b?{base64:o.contents,mime:h}:void 0,readOnly:!N,onChange:p,extensions:[Et.of([{key:i.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===o.contents?!1:(d(),!0)}])]})]})};var Ga=class{constructor(t){G(this,"delegate",new Se([]));G(this,"rootPath","");G(this,"onChange",Rt.NOOP);G(this,"path",new Ce("/"));G(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 Se(e.files),this.rootPath=e.root,this.path=Ce.guessDeliminator(e.root)}catch(e){E({title:"Failed",description:da(e)})}this.onChange(this.delegate.data)});G(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(n=>{var i;return(i=this.delegate.find(n))==null?void 0:i.data.path})].filter(Boolean),s=await Promise.all(e.map(n=>this.callbacks.listFiles({path:n}).catch(()=>({files:[]}))));for(let[n,i]of e.entries()){let r=s[n];i===this.rootPath?this.delegate=new Se(r.files):this.delegate.update({id:i,changes:{children:r.files}})}this.onChange(this.delegate.data)});G(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});G(this,"handleResponse",t=>t.success?t:(E({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let s=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:s.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let s=this.delegate.find(t);if(!s)return;let n=s.data.path,i=this.path.join(this.path.dirname(n),e);await this.callbacks.renameFileOrFolder({path:n,newPath:i}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i])}async move(t,e){var n;let s=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath;await Promise.all(t.map(i=>{this.delegate.move({id:i,parentId:e,index:0});let r=this.delegate.find(i);if(!r)return Promise.resolve();let l=this.path.join(s,this.path.basename(r.data.path));return this.delegate.update({id:i,changes:{path:l}}),this.callbacks.renameFileOrFolder({path:r.data.path,newPath:l}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([s])}async createFile(t,e,s="file"){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:s,name:t}).then(this.handleResponse);i!=null&&i.info&&(this.delegate.create({parentId:e,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([n]))}async createFolder(t,e){var i;let s=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:s,type:"directory",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const gt=Re(t=>{let e=t(Vt);return At(e,"no requestClientAtom set"),new Ga({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),Ya=Re({});async function Za(){await St.get(gt).refreshAll([])}var Ja=se(),Qa=1024*1024*100;function jt(t){let e=(0,Ja.c)(7),s;e[0]===t?s=e[1]:(s=t===void 0?{}:t,e[0]=t,e[1]=s);let n=s,{sendCreateFileOrFolder:i}=ge(),r;e[2]===i?r=e[3]:(r=async c=>{if(c.length===0)return;let p=c.length===1;await Gt(p?"Uploading file...":"Uploading files...",async o=>{o.addTotal(c.length);for(let g of c){let m=rs(ss(g)),f="";m&&(f=Ce.guessDeliminator(m).dirname(m));let j=(await ha(g)).split(",")[1];await i({path:f,type:"file",name:g.name,contents:j}),o.increment(1)}await Za()},{title:p?"File uploaded":`${c.length} files uploaded`})},e[2]=i,e[3]=r);let l;return e[4]!==n||e[5]!==r?(l={multiple:!0,maxSize:Qa,onError:as,onDropRejected:Xa,onDrop:r,...n},e[4]=n,e[5]=r,e[6]=l):l=e[6],oa(l)}function Xa(t){E({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(es)}),variant:"danger"})}function es(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(ts).join(", "),")"]},t.file.name)}function ts(t){return t.message}function as(t){ue.error(t),E({title:"File upload failed",description:t.message,variant:"danger"})}function ss(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 rs(t){if(t)return t.replace(/^\/+/,"")}var oe=se(),ns=Ie("marimo:showHiddenFiles",!0,Ae,{getOnInit:!0}),yt=M.createContext(null);const is=t=>{let e=(0,oe.c)(72),{height:s}=t,n=(0,M.useRef)(null),i=Wa(),[r]=me(gt),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[c,p]=(0,M.useState)(l),[o,g]=(0,M.useState)(null),[m,f]=me(ns),{openPrompt:j}=tt(),[d,u]=me(Ya),h;e[1]===r?h=e[2]:(h=()=>r.initialize(p),e[1]=r,e[2]=h);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[3]=y):y=e[3];let{isPending:w,error:v}=_e(h,y),b;e[4]!==d||e[5]!==r?(b=()=>{r.refreshAll(Object.keys(d).filter(k=>d[k]))},e[4]=d,e[5]=r,e[6]=b):b=e[6];let N=q(b),x;e[7]!==f||e[8]!==m?(x=()=>{f(!m)},e[7]=f,e[8]=m,e[9]=x):x=e[9];let F=q(x),D;e[10]!==j||e[11]!==r?(D=async()=>{j({title:"Folder name",onConfirm:async k=>{r.createFolder(k,null)}})},e[10]=j,e[11]=r,e[12]=D):D=e[12];let S=q(D),C;e[13]!==j||e[14]!==r?(C=async()=>{j({title:"File name",onConfirm:async k=>{r.createFile(k,null)}})},e[13]=j,e[14]=r,e[15]=C):C=e[15];let _=q(C),P;e[16]!==j||e[17]!==r?(P=async()=>{j({title:"Notebook name",onConfirm:async k=>{r.createFile(k,null,"notebook")}})},e[16]=j,e[17]=r,e[18]=P):P=e[18];let O=q(P),z;e[19]===u?z=e[20]:(z=()=>{var k;(k=n.current)==null||k.closeAll(),u({})},e[19]=u,e[20]=z);let L=q(z),V;e[21]!==c||e[22]!==m?(V=bt(c,m),e[21]=c,e[22]=m,e[23]=V):V=e[23];let U=V;if(w){let k;return e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(ta,{size:"medium",centered:!0}),e[24]=k):k=e[24],k}if(v){let k;return e[25]===v?k=e[26]:(k=(0,a.jsx)(at,{error:v}),e[25]=v,e[26]=k),k}if(o){let k;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=()=>g(null),e[27]=k):k=e[27];let I;e[28]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(R,{onClick:k,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(We,{size:16})}),e[28]=I):I=e[28];let B;e[29]===o.name?B=e[30]:(B=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[I,(0,a.jsx)("span",{className:"font-bold",children:o.name})]}),e[29]=o.name,e[30]=B);let te;e[31]!==o.path||e[32]!==r?(te=kt=>vt(kt,r.relativeFromRoot(o.path)),e[31]=o.path,e[32]=r,e[33]=te):te=e[33];let ae;e[34]!==o||e[35]!==te?(ae=(0,a.jsx)(M.Suspense,{children:(0,a.jsx)(Ka,{onOpenNotebook:te,file:o})}),e[34]=o,e[35]=te,e[36]=ae):ae=e[36];let he;return e[37]!==B||e[38]!==ae?(he=(0,a.jsxs)(a.Fragment,{children:[B,ae]}),e[37]=B,e[38]=ae,e[39]=he):he=e[39],he}let W;e[40]!==L||e[41]!==_||e[42]!==S||e[43]!==O||e[44]!==F||e[45]!==N||e[46]!==r?(W=(0,a.jsx)(os,{onRefresh:N,onHidden:F,onCreateFile:_,onCreateNotebook:O,onCreateFolder:S,onCollapseAll:L,tree:r}),e[40]=L,e[41]=_,e[42]=S,e[43]=O,e[44]=F,e[45]=N,e[46]=r,e[47]=W):W=e[47];let $=s-33,H,K,J;e[48]===r?(H=e[49],K=e[50],J=e[51]):(H=async k=>{let{ids:I}=k;for(let B of I)await r.delete(B)},K=async k=>{let{id:I,name:B}=k;await r.rename(I,B)},J=async k=>{let{dragIds:I,parentId:B}=k;await r.move(I,B)},e[48]=r,e[49]=H,e[50]=K,e[51]=J);let ce;e[52]===Symbol.for("react.memo_cache_sentinel")?(ce=k=>{let I=k[0];I&&(I.data.isDirectory||g(I.data))},e[52]=ce):ce=e[52];let Q;e[53]!==d||e[54]!==u||e[55]!==r?(Q=async k=>{if(await r.expand(k)){let I=d[k]??!1;u({...d,[k]:!I})}},e[53]=d,e[54]=u,e[55]=r,e[56]=Q):Q=e[56];let X;e[57]!==i||e[58]!==d||e[59]!==$||e[60]!==H||e[61]!==K||e[62]!==J||e[63]!==Q||e[64]!==U?(X=(0,a.jsx)(ga,{width:"100%",ref:n,height:$,className:"h-full",data:U,initialOpenState:d,openByDefault:!1,dndManager:i,renderCursor:xs,disableDrop:fs,onDelete:H,onRename:K,onMove:J,onSelect:ce,onToggle:Q,padding:15,rowHeight:30,indent:ls,overscanCount:1e3,disableMultiSelection:!0,children:hs}),e[57]=i,e[58]=d,e[59]=$,e[60]=H,e[61]=K,e[62]=J,e[63]=Q,e[64]=U,e[65]=X):X=e[65];let ee;e[66]!==X||e[67]!==r?(ee=(0,a.jsx)(yt,{value:r,children:X}),e[66]=X,e[67]=r,e[68]=ee):ee=e[68];let de;return e[69]!==W||e[70]!==ee?(de=(0,a.jsxs)(a.Fragment,{children:[W,ee]}),e[69]=W,e[70]=ee,e[71]=de):de=e[71],de};var ls=15,os=t=>{let e=(0,oe.c)(38),{onRefresh:s,onHidden:n,onCreateFile:i,onCreateNotebook:r,onCreateFolder:l,onCollapseAll:c}=t,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p={noDrag:!0,noDragEventsBubbling:!0},e[0]=p):p=e[0];let{getRootProps:o,getInputProps:g}=jt(p),m;e[1]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(lt,{size:16}),e[1]=m):m=e[1];let f;e[2]===r?f=e[3]:(f=(0,a.jsx)(T,{content:"Add notebook",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-notebook-button",onClick:r,variant:"text",size:"xs",children:m})}),e[2]=r,e[3]=f);let j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(Ze,{size:16}),e[4]=j):j=e[4];let d;e[5]===i?d=e[6]:(d=(0,a.jsx)(T,{content:"Add file",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-file-button",onClick:i,variant:"text",size:"xs",children:j})}),e[5]=i,e[6]=d);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(ot,{size:16}),e[7]=u):u=e[7];let h;e[8]===l?h=e[9]:(h=(0,a.jsx)(T,{content:"Add folder",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-folder-button",onClick:l,variant:"text",size:"xs",children:u})}),e[8]=l,e[9]=h);let y;e[10]===o?y=e[11]:(y=o({}),e[10]=o,e[11]=y);let w,v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=Lt({variant:"text",size:"xs"}),w=(0,a.jsx)(ia,{size:16}),e[12]=w,e[13]=v):(w=e[12],v=e[13]);let b;e[14]===y?b=e[15]:(b=(0,a.jsx)(T,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...y,className:v,children:w})}),e[14]=y,e[15]=b);let N;e[16]===g?N=e[17]:(N=g({}),e[16]=g,e[17]=N);let x;e[18]===N?x=e[19]:(x=(0,a.jsx)("input",{...N,type:"file"}),e[18]=N,e[19]=x);let F;e[20]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(aa,{size:16}),e[20]=F):F=e[20];let D;e[21]===s?D=e[22]:(D=(0,a.jsx)(T,{content:"Refresh",children:(0,a.jsx)(R,{"data-testid":"file-explorer-refresh-button",onClick:s,variant:"text",size:"xs",children:F})}),e[21]=s,e[22]=D);let S;e[23]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)(Jt,{size:16}),e[23]=S):S=e[23];let C;e[24]===n?C=e[25]:(C=(0,a.jsx)(T,{content:"Toggle hidden files",children:(0,a.jsx)(R,{"data-testid":"file-explorer-hidden-files-button",onClick:n,variant:"text",size:"xs",children:S})}),e[24]=n,e[25]=C);let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Ma,{size:16}),e[26]=_):_=e[26];let P;e[27]===c?P=e[28]:(P=(0,a.jsx)(T,{content:"Collapse all folders",children:(0,a.jsx)(R,{"data-testid":"file-explorer-collapse-button",onClick:c,variant:"text",size:"xs",children:_})}),e[27]=c,e[28]=P);let O;return e[29]!==b||e[30]!==x||e[31]!==D||e[32]!==C||e[33]!==P||e[34]!==f||e[35]!==d||e[36]!==h?(O=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[f,d,h,b,x,D,C,P]}),e[29]=b,e[30]=x,e[31]=D,e[32]=C,e[33]=P,e[34]=f,e[35]=d,e[36]=h,e[37]=O):O=e[37],O},cs=t=>{let e=(0,oe.c)(9),{node:s,onOpenMarimoFile:n}=t,i;e[0]===s?i=e[1]:(i=c=>{s.data.isDirectory||(c.stopPropagation(),s.select())},e[0]=s,e[1]=i);let r;e[2]!==s.data.isMarimoFile||e[3]!==n?(r=s.data.isMarimoFile&&!pe()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:n,children:["open ",(0,a.jsx)(be,{className:"inline ml-1",size:12})]}),e[2]=s.data.isMarimoFile,e[3]=n,e[4]=r):r=e[4];let l;return e[5]!==s.data.name||e[6]!==i||e[7]!==r?(l=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:i,children:[s.data.name,r]}),e[5]=s.data.name,e[6]=i,e[7]=r,e[8]=l):l=e[8],l},ds=t=>{let e=(0,oe.c)(10),{node:s}=t,n=(0,M.useRef)(null),i,r;e[0]===s.data.name?(i=e[1],r=e[2]):(i=()=>{var o,g;(o=n.current)==null||o.focus(),(g=n.current)==null||g.setSelectionRange(0,s.data.name.lastIndexOf("."))},r=[s.data.name],e[0]=s.data.name,e[1]=i,e[2]=r),(0,M.useEffect)(i,r);let l,c;e[3]===s?(l=e[4],c=e[5]):(l=()=>s.reset(),c=o=>{o.key==="Escape"&&s.reset(),o.key==="Enter"&&s.submit(o.currentTarget.value)},e[3]=s,e[4]=l,e[5]=c);let p;return e[6]!==s.data.name||e[7]!==l||e[8]!==c?(p=(0,a.jsx)("input",{ref:n,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:s.data.name,onClick:us,onBlur:l,onKeyDown:c}),e[6]=s.data.name,e[7]=l,e[8]=c,e[9]=p):p=e[9],p},hs=({node:t,style:e,dragHandle:s})=>{let{openFile:n,sendCreateFileOrFolder:i,sendFileDetails:r}=ge(),l=ne(Be),c=t.data.isDirectory?"directory":Xt(t.data.name),p=ea[c],{openConfirm:o,openPrompt:g}=tt(),{createNewCell:m}=Dt(),f=Na(),j=x=>{m({code:x,before:!1,cellId:f??"__end__"})},d=(0,M.use)(yt),u=async x=>{vt(x,d?d.relativeFromRoot(t.data.path):t.data.path)},h=async x=>{x.stopPropagation(),x.preventDefault(),o({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(ca,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},y=q(async()=>{t.open(),g({title:"Folder name",onConfirm:async x=>{d==null||d.createFolder(x,t.id)}})}),w=q(async()=>{t.open(),g({title:"File name",onConfirm:async x=>{d==null||d.createFile(x,t.id)}})}),v=q(async()=>{t.open(),g({title:"Notebook name",onConfirm:async x=>{d==null||d.createFile(x,t.id,"notebook")}})}),b=q(async()=>{var S;if(!d||t.data.isDirectory)return;let[x,F]=la(t.data.name),D=`${x}_copy${F}`;try{let C=await r({path:t.data.path}),_=((S=t.parent)==null?void 0:S.data.path)||"";await i({path:_,type:"file",name:D,contents:C.contents?btoa(C.contents):void 0}),await d.refreshAll([_])}catch{E({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),N=()=>{let x={size:14,strokeWidth:1.5,className:"mr-2"};return(0,a.jsxs)(Ke,{align:"end",className:"print:hidden w-[220px]",onClick:F=>F.stopPropagation(),onCloseAutoFocus:F=>F.preventDefault(),children:[!t.data.isDirectory&&(0,a.jsxs)(A,{onSelect:()=>t.select(),children:[(0,a.jsx)(dt,{...x}),"Open file"]}),!t.data.isDirectory&&!pe()&&(0,a.jsxs)(A,{onSelect:()=>{n({path:t.data.path})},children:[(0,a.jsx)(be,{...x}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(A,{onSelect:()=>v(),children:[(0,a.jsx)(lt,{...x}),"Create notebook"]}),(0,a.jsxs)(A,{onSelect:()=>w(),children:[(0,a.jsx)(Ze,{...x}),"Create file"]}),(0,a.jsxs)(A,{onSelect:()=>y(),children:[(0,a.jsx)(ot,{...x}),"Create folder"]}),(0,a.jsx)(ie,{})]}),(0,a.jsxs)(A,{onSelect:()=>t.edit(),children:[(0,a.jsx)(Oa,{...x}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(A,{onSelect:b,children:[(0,a.jsx)(we,{...x}),"Duplicate"]}),(0,a.jsxs)(A,{onSelect:async()=>{await le(t.data.path),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(ct,{...x}),"Copy path"]}),d&&(0,a.jsxs)(A,{onSelect:async()=>{await le(d.relativeFromRoot(t.data.path)),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(ct,{...x}),"Copy relative path"]}),(0,a.jsx)(ie,{}),(0,a.jsxs)(A,{onSelect:()=>{let{path:F}=t.data;j(Qe[c](F))},children:[(0,a.jsx)($t,{...x}),"Insert snippet for reading file"]}),(0,a.jsxs)(A,{onSelect:async()=>{E({title:"Copied to clipboard",description:"Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor"});let{path:F}=t.data;await le(Qe[c](F))},children:[(0,a.jsx)(Mt,{...x}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!pe()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ie,{}),(0,a.jsxs)(A,{onSelect:u,children:[(0,a.jsx)(Ra,{...x}),"Open notebook"]})]}),(0,a.jsx)(ie,{}),!t.data.isDirectory&&!l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(A,{onSelect:async()=>{let F=(await r({path:t.data.path})).contents||"";$e(new Blob([F]),t.data.name)},children:[(0,a.jsx)(Ne,{...x}),"Download"]}),(0,a.jsx)(ie,{})]}),(0,a.jsxs)(A,{onSelect:h,variant:"danger",children:[(0,a.jsx)(ra,{...x}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:s,className:Y("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:x=>{x.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(ms,{node:t}),(0,a.jsxs)("span",{className:Y("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)(Da,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}):(0,a.jsx)(p,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}),t.isEditing?(0,a.jsx)(ds,{node:t}):(0,a.jsx)(cs,{node:t,onOpenMarimoFile:u}),(0,a.jsxs)(Ge,{modal:!1,children:[(0,a.jsx)(qe,{asChild:!0,tabIndex:-1,onClick:x=>x.stopPropagation(),children:(0,a.jsx)(R,{"data-testid":"file-explorer-more-button",variant:"text",tabIndex:-1,size:"xs",className:"mb-0","aria-label":"More options",children:(0,a.jsx)(Ye,{strokeWidth:2,className:"w-5 h-5 hidden group-hover:block"})})}),N()]})]})]})},ms=t=>{let e=(0,oe.c)(3),{node:s}=t;if(!s.data.isDirectory){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=i):i=e[0],i}let n;return e[1]===s.isOpen?n=e[2]:(n=s.isOpen?(0,a.jsx)(qt,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(ve,{className:"w-5 h-5 shrink-0"}),e[1]=s.isOpen,e[2]=n),n};function vt(t,e){t.stopPropagation(),t.preventDefault(),za(e)}function bt(t,e){if(e)return t;let s=[];for(let n of t){if(ps(n.name))continue;let i=n;if(n.children){let r=bt(n.children,e);r!==n.children&&(i={...n,children:r})}s.push(i)}return s}function ps(t){return!!t.startsWith(".")}function xs(){return null}function fs(t){let{parentNode:e}=t;return!e.data.isDirectory}function us(t){return t.stopPropagation()}var wt=se(),gs=Ie("marimo:file-explorer-panel:state",{openSections:["files"],hasUserInteracted:!1},Ae),Nt=t=>{let e=(0,wt.c)(20),{height:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={noClick:!0,noKeyboard:!0},e[0]=n):n=e[0];let{getRootProps:i,getInputProps:r,isDragActive:l}=jt(n),c;e[1]===i?c=e[2]:(c=i(),e[1]=i,e[2]=c);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=Y("flex flex-col overflow-hidden relative"),e[3]=p):p=e[3];let o;e[4]===s?o=e[5]:(o={height:s},e[4]=s,e[5]=o);let g;e[6]===r?g=e[7]:(g=r(),e[6]=r,e[7]=g);let m;e[8]===g?m=e[9]:(m=(0,a.jsx)("input",{...g}),e[8]=g,e[9]=m);let f;e[10]===l?f=e[11]:(f=l&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center uppercase justify-center text-xl font-bold text-primary/90 bg-accent/85 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none",children:"Drop files here"}),e[10]=l,e[11]=f);let j;e[12]===s?j=e[13]:(j=(0,a.jsx)(is,{height:s}),e[12]=s,e[13]=j);let d;return e[14]!==c||e[15]!==o||e[16]!==m||e[17]!==f||e[18]!==j?(d=(0,a.jsx)(qa,{children:(0,a.jsxs)("div",{...c,className:p,style:o,children:[m,f,j]})}),e[14]=c,e[15]=o,e[16]=m,e[17]=f,e[18]=j,e[19]=d):d=e[19],d},js=33,ys=()=>{let t=(0,wt.c)(41),{ref:e,height:s}=Fa(),n=s===void 0?500:s,[i,r]=me(gs),l=ne(Wt).length,c;e:{if(!i.hasUserInteracted&&l>0){if(i.openSections.includes("remote-storage")){c=i.openSections;break e}let z;t[0]===i.openSections?z=t[1]:(z=[...i.openSections,"remote-storage"],t[0]=i.openSections,t[1]=z),c=z;break e}c=i.openSections}let p=c,o;t[2]===r?o=t[3]:(o=z=>{r({openSections:z,hasUserInteracted:!0})},t[2]=r,t[3]=o);let g=o,m=n-js*2,f;t[4]===p?f=t[5]:(f=p.includes("remote-storage"),t[4]=p,t[5]=f);let j=f,d;t[6]!==p||t[7]!==j?(d=j&&p.includes("files"),t[6]=p,t[7]=j,t[8]=d):d=t[8];let u=d,h;t[9]!==m||t[10]!==u?(h=u?Math.round(m*.4):m,t[9]=m,t[10]=u,t[11]=h):h=t[11];let y=h,w=Math.max(200,u?m-y:m);if(!Pt("storage_inspector")){let z;t[12]===n?z=t[13]:(z=(0,a.jsx)(Nt,{height:n}),t[12]=n,t[13]=z);let L;return t[14]!==e||t[15]!==z?(L=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:z}),t[14]=e,t[15]=z,t[16]=L):L=t[16],L}let v;t[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Te,{className:"w-4 h-4"}),t[17]=v):v=t[17];let b;t[18]===l?b=t[19]:(b=l>0&&(0,a.jsx)(Pa,{children:l}),t[18]=l,t[19]=b);let N;t[20]===b?N=t[21]:(N=(0,a.jsxs)(nt,{children:[v," Remote storage",b]}),t[20]=b,t[21]=N);let x;t[22]===y?x=t[23]:(x={maxHeight:y},t[22]=y,t[23]=x);let F;t[24]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(Ua,{}),t[24]=F):F=t[24];let D;t[25]===x?D=t[26]:(D=(0,a.jsx)(it,{className:"overflow-auto",style:x,children:F}),t[25]=x,t[26]=D);let S;t[27]!==D||t[28]!==N?(S=(0,a.jsxs)(rt,{value:"remote-storage",children:[N,D]}),t[27]=D,t[28]=N,t[29]=S):S=t[29];let C;t[30]===Symbol.for("react.memo_cache_sentinel")?(C=(0,a.jsxs)(nt,{children:[(0,a.jsx)(Je,{className:"w-4 h-4"}),"Files"]}),t[30]=C):C=t[30];let _;t[31]===w?_=t[32]:(_=(0,a.jsxs)(rt,{value:"files",children:[C,(0,a.jsx)(it,{children:(0,a.jsx)(Nt,{height:w})})]}),t[31]=w,t[32]=_);let P;t[33]!==g||t[34]!==p||t[35]!==S||t[36]!==_?(P=(0,a.jsxs)(pa,{type:"multiple",value:p,onValueChange:g,children:[S,_]}),t[33]=g,t[34]=p,t[35]=S,t[36]=_,t[37]=P):P=t[37];let O;return t[38]!==e||t[39]!==P?(O=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:P}),t[38]=e,t[39]=P,t[40]=O):O=t[40],O};export{ys as default};
1
+ var Ft=Object.defineProperty;var Ct=(t,e,s)=>e in t?Ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var G=(t,e,s)=>Ct(t,typeof e!="symbol"?e+"":e,s);import{s as Oe}from"./chunk-LvLJmgfZ.js";import{i as St,l as me,n as q,p as Re,u as ne}from"./useEvent-WUlsM6MC.js";import{t as _t}from"./react-Bj1aDYRI.js";import{En as Pt,T as Dt,kn as Ae,si as zt,ui as Ie,ur as Mt}from"./cells-BusUaZSh.js";import"./react-dom-CSu739Rf.js";import{t as se}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-D_HRHf_c.js";import{a as Te,i as Le,r as Ot,t as Ee}from"./add-connection-dialog-a1w-tlmr.js";import{h as Rt,m as ue}from"./useEventListener-CjXriKgk.js";import{t as At}from"./invariant-awXiPaF0.js";import{p as It,u as Be}from"./utils-CORJ8yYa.js";import{S as pe}from"./config-D9X9QKiL.js";import{t as Tt}from"./jsx-runtime-CP2fAiZX.js";import{n as Lt,t as R}from"./button-BmOH9agK.js";import{t as Y}from"./cn-d_A4rA-x.js";import{St as Et}from"./dist-DUY6xZX8.js";import{a as Bt,i as Ve,o as xe}from"./JsonOutput-COYZxr-s.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{n as Vt,r as ge}from"./requests-DZy_SQ_v.js";import{t as re}from"./createLucideIcon-BvP5LBIs.js";import{a as He,i as Ue,l as We,n as fe,o as Ht,r as Ut,s as je,t as Wt}from"./state-B_fNn_z_.js";import{n as $t}from"./LazyAnyLanguageCodeMirror-D8Y5EdeE.js";import{r as qt,t as Kt}from"./x-yqLqiq5Q.js";import{c as Gt,i as ye,r as $e}from"./download-BUXzyjEd.js";import{t as ve}from"./chevron-right-_z3dkNFy.js";import{f as be}from"./maps-8VTEe-0T.js";import{n as Yt}from"./markdown-renderer-B4k8WEFz.js";import{u as Zt}from"./toDate-DDAiY7kz.js";import{a as A,c as ie,p as qe,r as Ke,t as Ge}from"./dropdown-menu-CKhrfxsx.js";import{t as we}from"./copy-CAR4dOiD.js";import{t as Ne}from"./download-BG-iMGgV.js";import{t as Ye}from"./ellipsis-vertical-CqcBoxmi.js";import{t as Jt}from"./eye-off-DgTL09j7.js";import{t as Ze}from"./file-plus-corner-BRwJx0yp.js";import{t as Je}from"./file-DVwc11C3.js";import{i as Qt,n as Qe,r as Xt,t as ea}from"./types-Cg2HXEUi.js";import"./html-to-image-DjFNZcCI.js";import{n as ke,t as ta}from"./spinner-DCSoZZhh.js";import{t as Xe}from"./plus-B-s-VRHt.js";import{t as aa}from"./refresh-ccw-BOzRCrXK.js";import{t as Fe}from"./refresh-cw-DeCFDX1B.js";import{t as sa}from"./save-I_RGv5p0.js";import{t as ra}from"./trash-2-DtQaB9NM.js";import{t as na}from"./triangle-alert-n1-FF7zs.js";import{i as ia,n as la,t as oa}from"./es-1hBRXVlM.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import{t as E}from"./use-toast-BhMe50aT.js";import{t as Ce}from"./paths-bMgYkaP2.js";import"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import{t as T}from"./tooltip-DOQlecCr.js";import"./purify.es-CPplrWRQ.js";import"./dates-CzBDvj6R.js";import{o as ca}from"./alert-dialog-DsNfSYaw.js";import{t as et}from"./context-B1_BdDTF.js";import"./popover-Cvl9xY6R.js";import{n as tt}from"./ImperativeModal-CRNJOvqT.js";import{r as da}from"./errors-Bfogio62.js";import{n as ha}from"./blob-CObhN-9g.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{t as le}from"./copy-DMCkK2TI.js";import{t as ma}from"./copy-icon-6RnnFDPt.js";import{n as pa}from"./multi-map-kCmlVJ-5.js";import{a as xa,i as fa,n as Se,r as ua,t as ga}from"./tree-D0AxVJ_I.js";import{n as ja,t as ya}from"./alert-0YTlkh9P.js";import{n as at}from"./error-banner-R2OkQKR0.js";import{n as _e}from"./useAsyncData-DVm0BCFt.js";import{a as va,o as st,t as ba,u as wa}from"./command-B5q5uni4.js";import"./chunk-5FQGJX7Z-XpIxSaxK.js";import"./katex-rvFxOCU-.js";import{o as Na}from"./focus-ByrD76nS.js";import{a as ka}from"./renderShortcut-BJEd-iA7.js";import{t as Fa}from"./bundle.esm-_LzfhNmX.js";import{a as Ca}from"./components-Cx6Hou1_.js";import{t as Sa}from"./empty-state-DFr2pZOz.js";import{t as Pe}from"./formatting-8bP-RDnl.js";import{a as _a,i as Pa,n as rt,r as nt,t as it}from"./components-DlLxmdlj.js";import{n as lt,t as Da}from"./marimo-icons-BDAuIiW5.js";import{t as za}from"./links-syPBpTLO.js";var Ma=re("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"}]]),ot=re("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"}]]),ct=re("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"}]]),Oa=re("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"}]]),Ra=re("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"}]]),dt=re("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"}]]),M=Oe(_t(),1),Aa=se(),a=Oe(Tt(),1);const ht=t=>{let e=(0,Aa.c)(17),{filename:s,filenameIcon:n,onBack:i,onRefresh:r,onDownload:l,actions:c}=t,p;e[0]===i?p=e[1]:(p=i&&(0,a.jsx)(T,{content:"Back to file list",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(We,{className:"h-4 w-4"})})}),e[0]=i,e[1]=p);let o;e[2]!==s||e[3]!==n?(o=s?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[n,s]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=s,e[3]=n,e[4]=o):o=e[4];let g;e[5]===r?g=e[6]:(g=r&&(0,a.jsx)(T,{content:"Refresh",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:r,children:(0,a.jsx)(Fe,{className:"h-3.5 w-3.5"})})}),e[5]=r,e[6]=g);let m;e[7]===l?m=e[8]:(m=l&&(0,a.jsx)(T,{content:"Download",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:l,children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),e[7]=l,e[8]=m);let f;e[9]!==c||e[10]!==g||e[11]!==m?(f=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[g,c,m]}),e[9]=c,e[10]=g,e[11]=m,e[12]=f):f=e[12];let j;return e[13]!==p||e[14]!==o||e[15]!==f?(j=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[p,o,f]}),e[13]=p,e[14]=o,e[15]=f,e[16]=j):j=e[16],j};var Ia=100*1024*1024;function Ta(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}const La=({entry:t,namespace:e,onBack:s})=>{let{locale:n}=et(),i=Ta(t.path),r=t.mimeType||"text/plain",l=xe(r),c=l&&t.size>Ia&&t.size>0,{data:p,isPending:o,error:g,refetch:m}=_e(async()=>{if(c)return null;let u=await je.request({namespace:e,path:t.path,preview:!l});if(u.error)throw Error(u.error);if(!u.url)throw Error("No URL returned");if(l)return{type:"media",url:u.url};let h=await fetch(u.url);if(!h.ok)throw Error(`Failed to fetch preview: ${h.statusText}`);return{type:"text",content:await h.text()}},[e,t.path,l,c]),f=(0,M.useCallback)(async()=>{try{let u=await je.request({namespace:e,path:t.path});if(u.error){E({title:"Download failed",description:u.error,variant:"danger"});return}u.url&&ye(u.url,u.filename??i)}catch(u){ue.error("Failed to download storage entry",u),E({title:"Download failed",description:String(u),variant:"danger"})}},[e,t.path,i]),j=(0,a.jsx)(ht,{filename:i,filenameIcon:Le(i),onBack:s,onDownload:f}),d=({includeMime:u=!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)(ma,{value:t.path,className:"h-3 w-3"})]}),u&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),u&&(0,a.jsx)("span",{children:r}),t.size>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Size"}),(0,a.jsx)("span",{children:Pe(t.size,n)})]}),t.lastModified!=null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Modified"}),(0,a.jsx)("span",{children:new Date(t.lastModified*1e3).toLocaleString()})]})]});return c?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",Pe(t.size,n),")."]})]}):o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24",children:[(0,a.jsx)(ke,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):g?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",g.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)(R,{variant:"secondary",size:"xs",onClick:m,children:[(0,a.jsx)(Fe,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):p?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({}),(0,a.jsx)(Ve,{mimeType:r,contents:p.type==="text"?p.content:void 0,mediaSource:p.type==="media"?{url:p.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[j,d({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Je,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var De=se(),Ea=16;function Z(t){return{paddingLeft:t*Ea}}function Ba(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function mt(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}function ze(t,e,s,n){let i=s.toLowerCase();if(mt(t.path).toLowerCase().includes(i))return!0;if(t.kind==="directory"){let r=n.get(He(e,t.path));if(r)return r.some(l=>ze(l,e,s,n))}return!1}function pt(t,e,s,n){return s.trim()?t.filter(i=>ze(i,e,s,n)):t}var Va=t=>{let e=(0,De.c)(34),{namespace:s,protocol:n,rootPath:i,prefix:r,depth:l,locale:c,searchValue:p,onOpenFile:o}=t,{entriesByPath:g}=fe(),{entries:m,isPending:f,error:j}=Ue(s,r);if(f){let h;e[0]===l?h=e[1]:(h=Z(l),e[0]=l,e[1]=h);let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),e[2]=y):y=e[2];let w;return e[3]===h?w=e[4]:(w=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:h,children:[y,"Loading..."]}),e[3]=h,e[4]=w),w}if(j){let h;e[5]===l?h=e[6]:(h=Z(l),e[5]=l,e[6]=h);let y;return e[7]!==j.message||e[8]!==h?(y=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:h,children:["Failed to load: ",j.message]}),e[7]=j.message,e[8]=h,e[9]=y):y=e[9],y}if(m.length===0){let h;e[10]===l?h=e[11]:(h=Z(l),e[10]=l,e[11]=h);let y;return e[12]===h?y=e[13]:(y=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:h,children:"Empty"}),e[12]=h,e[13]=y),y}let d;if(e[14]!==m||e[15]!==l||e[16]!==g||e[17]!==c||e[18]!==s||e[19]!==o||e[20]!==n||e[21]!==i||e[22]!==p){let h=pt(m,s,p,g),y;e[24]!==l||e[25]!==c||e[26]!==s||e[27]!==o||e[28]!==n||e[29]!==i||e[30]!==p?(y=w=>(0,a.jsx)(xt,{entry:w,namespace:s,protocol:n,rootPath:i,depth:l,locale:c,searchValue:p,onOpenFile:o},w.path),e[24]=l,e[25]=c,e[26]=s,e[27]=o,e[28]=n,e[29]=i,e[30]=p,e[31]=y):y=e[31],d=h.map(y),e[14]=m,e[15]=l,e[16]=g,e[17]=c,e[18]=s,e[19]=o,e[20]=n,e[21]=i,e[22]=p,e[23]=d}else d=e[23];let u;return e[32]===d?u=e[33]:(u=(0,a.jsx)(a.Fragment,{children:d}),e[32]=d,e[33]=u),u},xt=({entry:t,namespace:e,protocol:s,rootPath:n,depth:i,locale:r,searchValue:l,onOpenFile:c})=>{var w;let[p,o]=(0,M.useState)(!1),{entriesByPath:g}=fe(),m=t.kind==="directory",f=mt(t.path),j=!!l.trim(),d=m&&j&&f.toLowerCase().includes(l.trim().toLowerCase()),u=m&&j&&!!((w=g.get(He(e,t.path)))!=null&&w.some(v=>ze(v,e,l,g))),h=p||u,y=(0,M.useCallback)(async()=>{try{let v=await je.request({namespace:e,path:t.path});if(v.error){E({title:"Download failed",description:v.error,variant:"danger"});return}v.url&&ye(v.url,v.filename??"download")}catch(v){ue.error("Failed to download storage entry",v),E({title:"Download failed",description:String(v),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(st,{className:Y("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",m&&"font-medium"),style:Z(i),value:`${e}:${t.path}`,onSelect:()=>{m?o(!h):c({entry:t,namespace:e})},children:[m?(0,a.jsx)(ve,{className:Y("h-3 w-3 shrink-0 transition-transform",h&&"rotate-90")}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),m?(0,a.jsx)(Qt,{className:"h-3.5 w-3.5 text-amber-500 shrink-0"}):Le(f),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:f}),(0,a.jsxs)("div",{className:"flex items-center",children:[t.size>0&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums",children:Pe(t.size,r)}),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:Ba(t.lastModified,r)})}),(0,a.jsxs)(Ge,{children:[(0,a.jsx)(qe,{asChild:!0,children:(0,a.jsx)(R,{variant:"text",size:"icon",className:"opacity-0 group-hover:opacity-100 transition-opacity hover:shadow-none hover:text-link text-muted-foreground",onClick:v=>v.stopPropagation(),children:(0,a.jsx)(Ye,{className:"h-3 w-3"})})}),(0,a.jsxs)(Ke,{align:"end",onClick:v=>v.stopPropagation(),onCloseAutoFocus:v=>v.preventDefault(),children:[!m&&(0,a.jsxs)(A,{onSelect:()=>c({entry:t,namespace:e}),children:[(0,a.jsx)(dt,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(A,{onSelect:async()=>{await le(Ht(s,n,t.path).toString()),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(we,{className:"h-3.5 w-3.5 mr-2"}),"Copy URL"]}),!m&&(0,a.jsxs)(A,{onSelect:()=>y(),children:[(0,a.jsx)(Ne,{className:"h-3.5 w-3.5 mr-2"}),"Download"]})]})]})]})]}),m&&h&&(0,a.jsx)(Va,{namespace:e,protocol:s,rootPath:n,prefix:t.path,depth:i+1,locale:r,searchValue:d?"":l,onOpenFile:c})]})},Ha=t=>{let e=(0,De.c)(50),{namespace:s,locale:n,searchValue:i,onOpenFile:r}=t,[l,c]=(0,M.useState)(!0),[p,o]=(0,M.useState)(!1),{entriesByPath:g}=fe(),{clearNamespaceCache:m}=Ut(),f=s.name??s.displayName,{entries:j,isPending:d,error:u,refetch:h}=Ue(f),y;e[0]!==m||e[1]!==f||e[2]!==h?(y=N=>{N.stopPropagation(),o(!0),m(f),h(),setTimeout(()=>o(!1),500)},e[0]=m,e[1]=f,e[2]=h,e[3]=y):y=e[3];let w=y,v=d?s.storageEntries:j,b;if(e[4]!==v||e[5]!==g||e[6]!==u||e[7]!==w||e[8]!==l||e[9]!==d||e[10]!==p||e[11]!==n||e[12]!==s.displayName||e[13]!==s.name||e[14]!==s.protocol||e[15]!==s.rootPath||e[16]!==f||e[17]!==r||e[18]!==i){let N=pt(v,f,i,g),x=s.name,F;e[20]===l?F=e[21]:(F=()=>c(!l),e[20]=l,e[21]=F);let D=l&&"rotate-90",S;e[22]===D?S=e[23]:(S=Y("h-3 w-3 shrink-0 transition-transform",D),e[22]=D,e[23]=S);let C;e[24]===S?C=e[25]:(C=(0,a.jsx)(ve,{className:S}),e[24]=S,e[25]=C);let _;e[26]===s.protocol?_=e[27]:(_=(0,a.jsx)(Ot,{protocol:s.protocol}),e[26]=s.protocol,e[27]=_);let P;e[28]===s.displayName?P=e[29]:(P=(0,a.jsx)("span",{children:s.displayName}),e[28]=s.displayName,e[29]=P);let O;e[30]===s.name?O=e[31]:(O=s.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(_a,{variableName:s.name}),")"]}),e[30]=s.name,e[31]=O);let z=p&&"animate-[spin_0.5s]",L;e[32]===z?L=e[33]:(L=Y("h-3 w-3 text-muted-foreground hover:text-foreground",z),e[32]=z,e[33]=L);let V;e[34]===L?V=e[35]:(V=(0,a.jsx)(Fe,{className:L}),e[34]=L,e[35]=V);let U;e[36]!==w||e[37]!==V?(U=(0,a.jsx)(T,{content:"Refresh storage connection",children:(0,a.jsx)(R,{variant:"ghost",size:"icon",className:"hover:bg-transparent hover:shadow-none",onClick:w,children:V})}),e[36]=w,e[37]=V,e[38]=U):U=e[38];let W=s.rootPath||"(root)",$;e[39]===W?$=e[40]:($=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:W}),e[39]=W,e[40]=$);let H;e[41]!==s.name||e[42]!==O||e[43]!==U||e[44]!==$||e[45]!==F||e[46]!==C||e[47]!==_||e[48]!==P?(H=(0,a.jsxs)(st,{value:x,onSelect:F,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[C,_,P,O,U,$]}),e[41]=s.name,e[42]=O,e[43]=U,e[44]=$,e[45]=F,e[46]=C,e[47]=_,e[48]=P,e[49]=H):H=e[49],b=(0,a.jsxs)(a.Fragment,{children:[H,l&&(0,a.jsxs)(a.Fragment,{children:[d&&v.length===0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:Z(1),children:[(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),u&&v.length===0&&(0,a.jsx)(Ca,{error:u,style:Z(1),className:"py-1 text-xs h-auto",showIcon:!1}),!d&&v.length===0&&!u&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:Z(1),children:"No entries"}),i&&N.length===0&&v.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:Z(1),children:"No matches"}),N.map(K=>(0,a.jsx)(xt,{entry:K,namespace:f,protocol:s.protocol,rootPath:s.rootPath,depth:1,locale:n,searchValue:i,onOpenFile:r},K.path))]})]}),e[4]=v,e[5]=g,e[6]=u,e[7]=w,e[8]=l,e[9]=d,e[10]=p,e[11]=n,e[12]=s.displayName,e[13]=s.name,e[14]=s.protocol,e[15]=s.rootPath,e[16]=f,e[17]=r,e[18]=i,e[19]=b}else b=e[19];return b};const Ua=()=>{let t=(0,De.c)(31),{namespaces:e}=fe(),{locale:s}=et(),[n,i]=(0,M.useState)(""),[r,l]=(0,M.useState)(null),c=!!n.trim();if(e.length===0){let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsxs)("span",{children:["Create an Obstore or fsspec connection in your notebook. See the"," ",(0,a.jsx)("a",{className:"text-link",href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start",target:"_blank",rel:"noopener noreferrer",children:"docs"}),"."]}),t[0]=b):b=t[0];let N;return t[1]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Sa,{title:"No storage connected",description:b,action:(0,a.jsx)(Ee,{defaultTab:"storage",children:(0,a.jsxs)(R,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(Xe,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Te,{className:"h-8 w-8"})}),t[1]=N):N=t[1],N}let p;t[2]===r?p=t[3]:(p=r&&(0,a.jsx)(La,{entry:r.entry,namespace:r.namespace,onBack:()=>l(null)}),t[2]=r,t[3]=p);let o=r&&"hidden",g;t[4]===o?g=t[5]:(g=Y("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",o),t[4]=o,t[5]=g);let m;t[6]===n?m=t[7]:(m=(0,a.jsx)(va,{placeholder:"Search entries...",className:"h-6 m-1",value:n,onValueChange:i,rootClassName:"flex-1 border-b-0"}),t[6]=n,t[7]=m);let f;t[8]===c?f=t[9]:(f=c&&(0,a.jsx)(R,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>i(""),children:(0,a.jsx)(Kt,{className:"h-4 w-4"})}),t[8]=c,t[9]=f);let j;t[10]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(T,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(Zt,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=j):j=t[10];let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(Ee,{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)(Xe,{className:"h-4 w-4"})})}),t[11]=d):d=t[11];let u;t[12]!==m||t[13]!==f?(u=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[m,f,j,d]}),t[12]=m,t[13]=f,t[14]=u):u=t[14];let h;if(t[15]!==s||t[16]!==e||t[17]!==n){let b;t[19]!==s||t[20]!==n?(b=N=>(0,a.jsx)(Ha,{namespace:N,locale:s,searchValue:n,onOpenFile:l},N.name??N.displayName),t[19]=s,t[20]=n,t[21]=b):b=t[21],h=e.map(b),t[15]=s,t[16]=e,t[17]=n,t[18]=h}else h=t[18];let y;t[22]===h?y=t[23]:(y=(0,a.jsx)(wa,{className:"flex flex-col",children:h}),t[22]=h,t[23]=y);let w;t[24]!==g||t[25]!==u||t[26]!==y?(w=(0,a.jsxs)(ba,{className:g,shouldFilter:!1,children:[u,y]}),t[24]=g,t[25]=u,t[26]=y,t[27]=w):w=t[27];let v;return t[28]!==p||t[29]!==w?(v=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[p,w]}),t[28]=p,t[29]=w,t[30]=v):v=t[30],v};var ft=se(),ut=(0,M.createContext)(null);function Wa(){return(0,M.useContext)(ut)??void 0}var $a=t=>{let e=(0,ft.c)(3),{children:s}=t,n=fa(),i;return e[0]!==s||e[1]!==n?(i=(0,a.jsx)(ut.Provider,{value:n,children:s}),e[0]=s,e[1]=n,e[2]=i):i=e[2],i};const qa=t=>{let e=(0,ft.c)(5),{children:s}=t,[n,i]=(0,M.useState)(null),r;e[0]!==s||e[1]!==n?(r=n&&(0,a.jsx)(xa,{backend:ua,options:{rootElement:n},children:(0,a.jsx)($a,{children:s})}),e[0]=s,e[1]=n,e[2]=r):r=e[2];let l;return e[3]===r?l=e[4]:(l=(0,a.jsx)("div",{ref:i,className:"contents",children:r}),e[3]=r,e[4]=l),l};var Me=new Map;const Ka=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:s,sendUpdateFile:n}=ge(),i=ne(It),r=ne(Be),l=ne(zt),[c,p]=(0,M.useState)(""),{data:o,isPending:g,error:m,setData:f,refetch:j}=_e(async()=>{let x=await s({path:t.path}),F=x.contents||"";return p(Me.get(t.path)||F),x},[t.path]),d=async()=>{c!==(o==null?void 0:o.contents)&&await n({path:t.path,contents:c}).then(x=>{x.success&&(f(F=>({...F,contents:c})),p(c))})},u=(0,M.useRef)(c);if(u.current=c,(0,M.useEffect)(()=>()=>{if(!(o!=null&&o.contents))return;let x=u.current;x===o.contents?Me.delete(t.path):Me.set(t.path,x)},[t.path,o==null?void 0:o.contents]),m)return(0,a.jsx)(at,{error:m});if(g||!o)return null;let h=o.mimeType||"text/plain",y=h in Bt,w=l&&o.file.isMarimoFile&&(t.path===l||t.path.endsWith(`/${l}`));if(!o.contents&&!y)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:o.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:h})]});let v=(0,a.jsx)(ht,{filename:o.file.name,onRefresh:j,onDownload:r?void 0:()=>{if(xe(h)){ye(Yt(o.contents,h),o.file.name);return}$e(new Blob([o.contents||c],{type:h}),o.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!pe()&&(0,a.jsx)(T,{content:"Open notebook",children:(0,a.jsx)(R,{variant:"text",size:"xs",onClick:x=>e(x),children:(0,a.jsx)(be,{className:"h-3.5 w-3.5"})})}),!xe(h)&&(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 le(c)},children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(T,{content:ka("global.save"),children:(0,a.jsx)(R,{variant:c===o.contents?"text":"success",size:"xs",onClick:d,disabled:c===o.contents,children:(0,a.jsx)(sa,{className:"h-3.5 w-3.5"})})})]})]})}),b=xe(h),N=!b&&h!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[v,N&&w&&(0,a.jsxs)(ya,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(na,{className:"h-4 w-4"}),(0,a.jsx)(ja,{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:h,contents:b?void 0:N?c:o.contents??void 0,mediaSource:b?{base64:o.contents,mime:h}:void 0,readOnly:!N,onChange:p,extensions:[Et.of([{key:i.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===o.contents?!1:(d(),!0)}])]})]})};var Ga=class{constructor(t){G(this,"delegate",new Se([]));G(this,"rootPath","");G(this,"onChange",Rt.NOOP);G(this,"path",new Ce("/"));G(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 Se(e.files),this.rootPath=e.root,this.path=Ce.guessDeliminator(e.root)}catch(e){E({title:"Failed",description:da(e)})}this.onChange(this.delegate.data)});G(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(n=>{var i;return(i=this.delegate.find(n))==null?void 0:i.data.path})].filter(Boolean),s=await Promise.all(e.map(n=>this.callbacks.listFiles({path:n}).catch(()=>({files:[]}))));for(let[n,i]of e.entries()){let r=s[n];i===this.rootPath?this.delegate=new Se(r.files):this.delegate.update({id:i,changes:{children:r.files}})}this.onChange(this.delegate.data)});G(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});G(this,"handleResponse",t=>t.success?t:(E({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let s=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:s.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let s=this.delegate.find(t);if(!s)return;let n=s.data.path,i=this.path.join(this.path.dirname(n),e);await this.callbacks.renameFileOrFolder({path:n,newPath:i}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i])}async move(t,e){var n;let s=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath;await Promise.all(t.map(i=>{this.delegate.move({id:i,parentId:e,index:0});let r=this.delegate.find(i);if(!r)return Promise.resolve();let l=this.path.join(s,this.path.basename(r.data.path));return this.delegate.update({id:i,changes:{path:l}}),this.callbacks.renameFileOrFolder({path:r.data.path,newPath:l}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([s])}async createFile(t,e,s="file"){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:s,name:t}).then(this.handleResponse);i!=null&&i.info&&(this.delegate.create({parentId:e,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([n]))}async createFolder(t,e){var i;let s=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:s,type:"directory",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const gt=Re(t=>{let e=t(Vt);return At(e,"no requestClientAtom set"),new Ga({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),Ya=Re({});async function Za(){await St.get(gt).refreshAll([])}var Ja=se(),Qa=1024*1024*100;function jt(t){let e=(0,Ja.c)(7),s;e[0]===t?s=e[1]:(s=t===void 0?{}:t,e[0]=t,e[1]=s);let n=s,{sendCreateFileOrFolder:i}=ge(),r;e[2]===i?r=e[3]:(r=async c=>{if(c.length===0)return;let p=c.length===1;await Gt(p?"Uploading file...":"Uploading files...",async o=>{o.addTotal(c.length);for(let g of c){let m=rs(ss(g)),f="";m&&(f=Ce.guessDeliminator(m).dirname(m));let j=(await ha(g)).split(",")[1];await i({path:f,type:"file",name:g.name,contents:j}),o.increment(1)}await Za()},{title:p?"File uploaded":`${c.length} files uploaded`})},e[2]=i,e[3]=r);let l;return e[4]!==n||e[5]!==r?(l={multiple:!0,maxSize:Qa,onError:as,onDropRejected:Xa,onDrop:r,...n},e[4]=n,e[5]=r,e[6]=l):l=e[6],oa(l)}function Xa(t){E({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(es)}),variant:"danger"})}function es(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(ts).join(", "),")"]},t.file.name)}function ts(t){return t.message}function as(t){ue.error(t),E({title:"File upload failed",description:t.message,variant:"danger"})}function ss(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 rs(t){if(t)return t.replace(/^\/+/,"")}var oe=se(),ns=Ie("marimo:showHiddenFiles",!0,Ae,{getOnInit:!0}),yt=M.createContext(null);const is=t=>{let e=(0,oe.c)(72),{height:s}=t,n=(0,M.useRef)(null),i=Wa(),[r]=me(gt),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[c,p]=(0,M.useState)(l),[o,g]=(0,M.useState)(null),[m,f]=me(ns),{openPrompt:j}=tt(),[d,u]=me(Ya),h;e[1]===r?h=e[2]:(h=()=>r.initialize(p),e[1]=r,e[2]=h);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[3]=y):y=e[3];let{isPending:w,error:v}=_e(h,y),b;e[4]!==d||e[5]!==r?(b=()=>{r.refreshAll(Object.keys(d).filter(k=>d[k]))},e[4]=d,e[5]=r,e[6]=b):b=e[6];let N=q(b),x;e[7]!==f||e[8]!==m?(x=()=>{f(!m)},e[7]=f,e[8]=m,e[9]=x):x=e[9];let F=q(x),D;e[10]!==j||e[11]!==r?(D=async()=>{j({title:"Folder name",onConfirm:async k=>{r.createFolder(k,null)}})},e[10]=j,e[11]=r,e[12]=D):D=e[12];let S=q(D),C;e[13]!==j||e[14]!==r?(C=async()=>{j({title:"File name",onConfirm:async k=>{r.createFile(k,null)}})},e[13]=j,e[14]=r,e[15]=C):C=e[15];let _=q(C),P;e[16]!==j||e[17]!==r?(P=async()=>{j({title:"Notebook name",onConfirm:async k=>{r.createFile(k,null,"notebook")}})},e[16]=j,e[17]=r,e[18]=P):P=e[18];let O=q(P),z;e[19]===u?z=e[20]:(z=()=>{var k;(k=n.current)==null||k.closeAll(),u({})},e[19]=u,e[20]=z);let L=q(z),V;e[21]!==c||e[22]!==m?(V=bt(c,m),e[21]=c,e[22]=m,e[23]=V):V=e[23];let U=V;if(w){let k;return e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(ta,{size:"medium",centered:!0}),e[24]=k):k=e[24],k}if(v){let k;return e[25]===v?k=e[26]:(k=(0,a.jsx)(at,{error:v}),e[25]=v,e[26]=k),k}if(o){let k;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=()=>g(null),e[27]=k):k=e[27];let I;e[28]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(R,{onClick:k,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(We,{size:16})}),e[28]=I):I=e[28];let B;e[29]===o.name?B=e[30]:(B=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[I,(0,a.jsx)("span",{className:"font-bold",children:o.name})]}),e[29]=o.name,e[30]=B);let te;e[31]!==o.path||e[32]!==r?(te=kt=>vt(kt,r.relativeFromRoot(o.path)),e[31]=o.path,e[32]=r,e[33]=te):te=e[33];let ae;e[34]!==o||e[35]!==te?(ae=(0,a.jsx)(M.Suspense,{children:(0,a.jsx)(Ka,{onOpenNotebook:te,file:o})}),e[34]=o,e[35]=te,e[36]=ae):ae=e[36];let he;return e[37]!==B||e[38]!==ae?(he=(0,a.jsxs)(a.Fragment,{children:[B,ae]}),e[37]=B,e[38]=ae,e[39]=he):he=e[39],he}let W;e[40]!==L||e[41]!==_||e[42]!==S||e[43]!==O||e[44]!==F||e[45]!==N||e[46]!==r?(W=(0,a.jsx)(os,{onRefresh:N,onHidden:F,onCreateFile:_,onCreateNotebook:O,onCreateFolder:S,onCollapseAll:L,tree:r}),e[40]=L,e[41]=_,e[42]=S,e[43]=O,e[44]=F,e[45]=N,e[46]=r,e[47]=W):W=e[47];let $=s-33,H,K,J;e[48]===r?(H=e[49],K=e[50],J=e[51]):(H=async k=>{let{ids:I}=k;for(let B of I)await r.delete(B)},K=async k=>{let{id:I,name:B}=k;await r.rename(I,B)},J=async k=>{let{dragIds:I,parentId:B}=k;await r.move(I,B)},e[48]=r,e[49]=H,e[50]=K,e[51]=J);let ce;e[52]===Symbol.for("react.memo_cache_sentinel")?(ce=k=>{let I=k[0];I&&(I.data.isDirectory||g(I.data))},e[52]=ce):ce=e[52];let Q;e[53]!==d||e[54]!==u||e[55]!==r?(Q=async k=>{if(await r.expand(k)){let I=d[k]??!1;u({...d,[k]:!I})}},e[53]=d,e[54]=u,e[55]=r,e[56]=Q):Q=e[56];let X;e[57]!==i||e[58]!==d||e[59]!==$||e[60]!==H||e[61]!==K||e[62]!==J||e[63]!==Q||e[64]!==U?(X=(0,a.jsx)(ga,{width:"100%",ref:n,height:$,className:"h-full",data:U,initialOpenState:d,openByDefault:!1,dndManager:i,renderCursor:xs,disableDrop:fs,onDelete:H,onRename:K,onMove:J,onSelect:ce,onToggle:Q,padding:15,rowHeight:30,indent:ls,overscanCount:1e3,disableMultiSelection:!0,children:hs}),e[57]=i,e[58]=d,e[59]=$,e[60]=H,e[61]=K,e[62]=J,e[63]=Q,e[64]=U,e[65]=X):X=e[65];let ee;e[66]!==X||e[67]!==r?(ee=(0,a.jsx)(yt,{value:r,children:X}),e[66]=X,e[67]=r,e[68]=ee):ee=e[68];let de;return e[69]!==W||e[70]!==ee?(de=(0,a.jsxs)(a.Fragment,{children:[W,ee]}),e[69]=W,e[70]=ee,e[71]=de):de=e[71],de};var ls=15,os=t=>{let e=(0,oe.c)(38),{onRefresh:s,onHidden:n,onCreateFile:i,onCreateNotebook:r,onCreateFolder:l,onCollapseAll:c}=t,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p={noDrag:!0,noDragEventsBubbling:!0},e[0]=p):p=e[0];let{getRootProps:o,getInputProps:g}=jt(p),m;e[1]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(lt,{size:16}),e[1]=m):m=e[1];let f;e[2]===r?f=e[3]:(f=(0,a.jsx)(T,{content:"Add notebook",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-notebook-button",onClick:r,variant:"text",size:"xs",children:m})}),e[2]=r,e[3]=f);let j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(Ze,{size:16}),e[4]=j):j=e[4];let d;e[5]===i?d=e[6]:(d=(0,a.jsx)(T,{content:"Add file",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-file-button",onClick:i,variant:"text",size:"xs",children:j})}),e[5]=i,e[6]=d);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(ot,{size:16}),e[7]=u):u=e[7];let h;e[8]===l?h=e[9]:(h=(0,a.jsx)(T,{content:"Add folder",children:(0,a.jsx)(R,{"data-testid":"file-explorer-add-folder-button",onClick:l,variant:"text",size:"xs",children:u})}),e[8]=l,e[9]=h);let y;e[10]===o?y=e[11]:(y=o({}),e[10]=o,e[11]=y);let w,v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=Lt({variant:"text",size:"xs"}),w=(0,a.jsx)(ia,{size:16}),e[12]=w,e[13]=v):(w=e[12],v=e[13]);let b;e[14]===y?b=e[15]:(b=(0,a.jsx)(T,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...y,className:v,children:w})}),e[14]=y,e[15]=b);let N;e[16]===g?N=e[17]:(N=g({}),e[16]=g,e[17]=N);let x;e[18]===N?x=e[19]:(x=(0,a.jsx)("input",{...N,type:"file"}),e[18]=N,e[19]=x);let F;e[20]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(aa,{size:16}),e[20]=F):F=e[20];let D;e[21]===s?D=e[22]:(D=(0,a.jsx)(T,{content:"Refresh",children:(0,a.jsx)(R,{"data-testid":"file-explorer-refresh-button",onClick:s,variant:"text",size:"xs",children:F})}),e[21]=s,e[22]=D);let S;e[23]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)(Jt,{size:16}),e[23]=S):S=e[23];let C;e[24]===n?C=e[25]:(C=(0,a.jsx)(T,{content:"Toggle hidden files",children:(0,a.jsx)(R,{"data-testid":"file-explorer-hidden-files-button",onClick:n,variant:"text",size:"xs",children:S})}),e[24]=n,e[25]=C);let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Ma,{size:16}),e[26]=_):_=e[26];let P;e[27]===c?P=e[28]:(P=(0,a.jsx)(T,{content:"Collapse all folders",children:(0,a.jsx)(R,{"data-testid":"file-explorer-collapse-button",onClick:c,variant:"text",size:"xs",children:_})}),e[27]=c,e[28]=P);let O;return e[29]!==b||e[30]!==x||e[31]!==D||e[32]!==C||e[33]!==P||e[34]!==f||e[35]!==d||e[36]!==h?(O=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[f,d,h,b,x,D,C,P]}),e[29]=b,e[30]=x,e[31]=D,e[32]=C,e[33]=P,e[34]=f,e[35]=d,e[36]=h,e[37]=O):O=e[37],O},cs=t=>{let e=(0,oe.c)(9),{node:s,onOpenMarimoFile:n}=t,i;e[0]===s?i=e[1]:(i=c=>{s.data.isDirectory||(c.stopPropagation(),s.select())},e[0]=s,e[1]=i);let r;e[2]!==s.data.isMarimoFile||e[3]!==n?(r=s.data.isMarimoFile&&!pe()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:n,children:["open ",(0,a.jsx)(be,{className:"inline ml-1",size:12})]}),e[2]=s.data.isMarimoFile,e[3]=n,e[4]=r):r=e[4];let l;return e[5]!==s.data.name||e[6]!==i||e[7]!==r?(l=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:i,children:[s.data.name,r]}),e[5]=s.data.name,e[6]=i,e[7]=r,e[8]=l):l=e[8],l},ds=t=>{let e=(0,oe.c)(10),{node:s}=t,n=(0,M.useRef)(null),i,r;e[0]===s.data.name?(i=e[1],r=e[2]):(i=()=>{var o,g;(o=n.current)==null||o.focus(),(g=n.current)==null||g.setSelectionRange(0,s.data.name.lastIndexOf("."))},r=[s.data.name],e[0]=s.data.name,e[1]=i,e[2]=r),(0,M.useEffect)(i,r);let l,c;e[3]===s?(l=e[4],c=e[5]):(l=()=>s.reset(),c=o=>{o.key==="Escape"&&s.reset(),o.key==="Enter"&&s.submit(o.currentTarget.value)},e[3]=s,e[4]=l,e[5]=c);let p;return e[6]!==s.data.name||e[7]!==l||e[8]!==c?(p=(0,a.jsx)("input",{ref:n,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:s.data.name,onClick:us,onBlur:l,onKeyDown:c}),e[6]=s.data.name,e[7]=l,e[8]=c,e[9]=p):p=e[9],p},hs=({node:t,style:e,dragHandle:s})=>{let{openFile:n,sendCreateFileOrFolder:i,sendFileDetails:r}=ge(),l=ne(Be),c=t.data.isDirectory?"directory":Xt(t.data.name),p=ea[c],{openConfirm:o,openPrompt:g}=tt(),{createNewCell:m}=Dt(),f=Na(),j=x=>{m({code:x,before:!1,cellId:f??"__end__"})},d=(0,M.use)(yt),u=async x=>{vt(x,d?d.relativeFromRoot(t.data.path):t.data.path)},h=async x=>{x.stopPropagation(),x.preventDefault(),o({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(ca,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},y=q(async()=>{t.open(),g({title:"Folder name",onConfirm:async x=>{d==null||d.createFolder(x,t.id)}})}),w=q(async()=>{t.open(),g({title:"File name",onConfirm:async x=>{d==null||d.createFile(x,t.id)}})}),v=q(async()=>{t.open(),g({title:"Notebook name",onConfirm:async x=>{d==null||d.createFile(x,t.id,"notebook")}})}),b=q(async()=>{var S;if(!d||t.data.isDirectory)return;let[x,F]=la(t.data.name),D=`${x}_copy${F}`;try{let C=await r({path:t.data.path}),_=((S=t.parent)==null?void 0:S.data.path)||"";await i({path:_,type:"file",name:D,contents:C.contents?btoa(C.contents):void 0}),await d.refreshAll([_])}catch{E({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),N=()=>{let x={size:14,strokeWidth:1.5,className:"mr-2"};return(0,a.jsxs)(Ke,{align:"end",className:"print:hidden w-[220px]",onClick:F=>F.stopPropagation(),onCloseAutoFocus:F=>F.preventDefault(),children:[!t.data.isDirectory&&(0,a.jsxs)(A,{onSelect:()=>t.select(),children:[(0,a.jsx)(dt,{...x}),"Open file"]}),!t.data.isDirectory&&!pe()&&(0,a.jsxs)(A,{onSelect:()=>{n({path:t.data.path})},children:[(0,a.jsx)(be,{...x}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(A,{onSelect:()=>v(),children:[(0,a.jsx)(lt,{...x}),"Create notebook"]}),(0,a.jsxs)(A,{onSelect:()=>w(),children:[(0,a.jsx)(Ze,{...x}),"Create file"]}),(0,a.jsxs)(A,{onSelect:()=>y(),children:[(0,a.jsx)(ot,{...x}),"Create folder"]}),(0,a.jsx)(ie,{})]}),(0,a.jsxs)(A,{onSelect:()=>t.edit(),children:[(0,a.jsx)(Oa,{...x}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(A,{onSelect:b,children:[(0,a.jsx)(we,{...x}),"Duplicate"]}),(0,a.jsxs)(A,{onSelect:async()=>{await le(t.data.path),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(ct,{...x}),"Copy path"]}),d&&(0,a.jsxs)(A,{onSelect:async()=>{await le(d.relativeFromRoot(t.data.path)),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(ct,{...x}),"Copy relative path"]}),(0,a.jsx)(ie,{}),(0,a.jsxs)(A,{onSelect:()=>{let{path:F}=t.data;j(Qe[c](F))},children:[(0,a.jsx)($t,{...x}),"Insert snippet for reading file"]}),(0,a.jsxs)(A,{onSelect:async()=>{E({title:"Copied to clipboard",description:"Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor"});let{path:F}=t.data;await le(Qe[c](F))},children:[(0,a.jsx)(Mt,{...x}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!pe()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ie,{}),(0,a.jsxs)(A,{onSelect:u,children:[(0,a.jsx)(Ra,{...x}),"Open notebook"]})]}),(0,a.jsx)(ie,{}),!t.data.isDirectory&&!l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(A,{onSelect:async()=>{let F=(await r({path:t.data.path})).contents||"";$e(new Blob([F]),t.data.name)},children:[(0,a.jsx)(Ne,{...x}),"Download"]}),(0,a.jsx)(ie,{})]}),(0,a.jsxs)(A,{onSelect:h,variant:"danger",children:[(0,a.jsx)(ra,{...x}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:s,className:Y("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:x=>{x.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(ms,{node:t}),(0,a.jsxs)("span",{className:Y("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)(Da,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}):(0,a.jsx)(p,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}),t.isEditing?(0,a.jsx)(ds,{node:t}):(0,a.jsx)(cs,{node:t,onOpenMarimoFile:u}),(0,a.jsxs)(Ge,{modal:!1,children:[(0,a.jsx)(qe,{asChild:!0,tabIndex:-1,onClick:x=>x.stopPropagation(),children:(0,a.jsx)(R,{"data-testid":"file-explorer-more-button",variant:"text",tabIndex:-1,size:"xs",className:"mb-0","aria-label":"More options",children:(0,a.jsx)(Ye,{strokeWidth:2,className:"w-5 h-5 hidden group-hover:block"})})}),N()]})]})]})},ms=t=>{let e=(0,oe.c)(3),{node:s}=t;if(!s.data.isDirectory){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=i):i=e[0],i}let n;return e[1]===s.isOpen?n=e[2]:(n=s.isOpen?(0,a.jsx)(qt,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(ve,{className:"w-5 h-5 shrink-0"}),e[1]=s.isOpen,e[2]=n),n};function vt(t,e){t.stopPropagation(),t.preventDefault(),za(e)}function bt(t,e){if(e)return t;let s=[];for(let n of t){if(ps(n.name))continue;let i=n;if(n.children){let r=bt(n.children,e);r!==n.children&&(i={...n,children:r})}s.push(i)}return s}function ps(t){return!!t.startsWith(".")}function xs(){return null}function fs(t){let{parentNode:e}=t;return!e.data.isDirectory}function us(t){return t.stopPropagation()}var wt=se(),gs=Ie("marimo:file-explorer-panel:state",{openSections:["files"],hasUserInteracted:!1},Ae),Nt=t=>{let e=(0,wt.c)(20),{height:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={noClick:!0,noKeyboard:!0},e[0]=n):n=e[0];let{getRootProps:i,getInputProps:r,isDragActive:l}=jt(n),c;e[1]===i?c=e[2]:(c=i(),e[1]=i,e[2]=c);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=Y("flex flex-col overflow-hidden relative"),e[3]=p):p=e[3];let o;e[4]===s?o=e[5]:(o={height:s},e[4]=s,e[5]=o);let g;e[6]===r?g=e[7]:(g=r(),e[6]=r,e[7]=g);let m;e[8]===g?m=e[9]:(m=(0,a.jsx)("input",{...g}),e[8]=g,e[9]=m);let f;e[10]===l?f=e[11]:(f=l&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center uppercase justify-center text-xl font-bold text-primary/90 bg-accent/85 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none",children:"Drop files here"}),e[10]=l,e[11]=f);let j;e[12]===s?j=e[13]:(j=(0,a.jsx)(is,{height:s}),e[12]=s,e[13]=j);let d;return e[14]!==c||e[15]!==o||e[16]!==m||e[17]!==f||e[18]!==j?(d=(0,a.jsx)(qa,{children:(0,a.jsxs)("div",{...c,className:p,style:o,children:[m,f,j]})}),e[14]=c,e[15]=o,e[16]=m,e[17]=f,e[18]=j,e[19]=d):d=e[19],d},js=33,ys=()=>{let t=(0,wt.c)(41),{ref:e,height:s}=Fa(),n=s===void 0?500:s,[i,r]=me(gs),l=ne(Wt).length,c;e:{if(!i.hasUserInteracted&&l>0){if(i.openSections.includes("remote-storage")){c=i.openSections;break e}let z;t[0]===i.openSections?z=t[1]:(z=[...i.openSections,"remote-storage"],t[0]=i.openSections,t[1]=z),c=z;break e}c=i.openSections}let p=c,o;t[2]===r?o=t[3]:(o=z=>{r({openSections:z,hasUserInteracted:!0})},t[2]=r,t[3]=o);let g=o,m=n-js*2,f;t[4]===p?f=t[5]:(f=p.includes("remote-storage"),t[4]=p,t[5]=f);let j=f,d;t[6]!==p||t[7]!==j?(d=j&&p.includes("files"),t[6]=p,t[7]=j,t[8]=d):d=t[8];let u=d,h;t[9]!==m||t[10]!==u?(h=u?Math.round(m*.4):m,t[9]=m,t[10]=u,t[11]=h):h=t[11];let y=h,w=Math.max(200,u?m-y:m);if(!Pt("storage_inspector")){let z;t[12]===n?z=t[13]:(z=(0,a.jsx)(Nt,{height:n}),t[12]=n,t[13]=z);let L;return t[14]!==e||t[15]!==z?(L=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:z}),t[14]=e,t[15]=z,t[16]=L):L=t[16],L}let v;t[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Te,{className:"w-4 h-4"}),t[17]=v):v=t[17];let b;t[18]===l?b=t[19]:(b=l>0&&(0,a.jsx)(Pa,{children:l}),t[18]=l,t[19]=b);let N;t[20]===b?N=t[21]:(N=(0,a.jsxs)(nt,{children:[v," Remote storage",b]}),t[20]=b,t[21]=N);let x;t[22]===y?x=t[23]:(x={maxHeight:y},t[22]=y,t[23]=x);let F;t[24]===Symbol.for("react.memo_cache_sentinel")?(F=(0,a.jsx)(Ua,{}),t[24]=F):F=t[24];let D;t[25]===x?D=t[26]:(D=(0,a.jsx)(it,{className:"overflow-auto",style:x,children:F}),t[25]=x,t[26]=D);let S;t[27]!==D||t[28]!==N?(S=(0,a.jsxs)(rt,{value:"remote-storage",children:[N,D]}),t[27]=D,t[28]=N,t[29]=S):S=t[29];let C;t[30]===Symbol.for("react.memo_cache_sentinel")?(C=(0,a.jsxs)(nt,{children:[(0,a.jsx)(Je,{className:"w-4 h-4"}),"Files"]}),t[30]=C):C=t[30];let _;t[31]===w?_=t[32]:(_=(0,a.jsxs)(rt,{value:"files",children:[C,(0,a.jsx)(it,{children:(0,a.jsx)(Nt,{height:w})})]}),t[31]=w,t[32]=_);let P;t[33]!==g||t[34]!==p||t[35]!==S||t[36]!==_?(P=(0,a.jsxs)(pa,{type:"multiple",value:p,onValueChange:g,children:[S,_]}),t[33]=g,t[34]=p,t[35]=S,t[36]=_,t[37]=P):P=t[37];let O;return t[38]!==e||t[39]!==P?(O=(0,a.jsx)("div",{ref:e,className:"h-full overflow-auto",children:P}),t[38]=e,t[39]=P,t[40]=O):O=t[40],O};export{ys as default};
@@ -1 +1 @@
1
- import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-WUlsM6MC.js";import{t as M}from"./react-Bj1aDYRI.js";import{S as H,rt as S,st as k}from"./cells-CigkzIKH.js";import{t as _}from"./compiler-runtime-B3qBwwSJ.js";import{m as $}from"./useEventListener-CjXriKgk.js";import{t as B}from"./jsx-runtime-CP2fAiZX.js";import{t as x}from"./cn-d_A4rA-x.js";var L=_(),g=I(M(),1);function T(){return k()==="edit"?document.getElementById("App"):void 0}function O(t){let e=(0,L.c)(7),[r,c]=(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(h=>{let b=h.target;h.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 h=S(n.current);c("id"in h?h.id:h.path),s(u.current.get(n.current))}},{root:T(),rootMargin:"0px",threshold:0}),t.forEach(d=>{var v;if(d){let h=S(d[0]),b=t.map(D).filter(w=>"id"in h?w.id===h.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 a;return e[4]!==r||e[5]!==o?(a={activeHeaderId:r,activeOccurrences:o},e[4]=r,e[5]=o,e[6]=a):a=e[6],a}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 c="id"in r.by?r.by.id:r.by.path,o=e.get(c)??0;e.set(c,o+1);let s=N(r,o);return s?[s,c]:null}).filter(Boolean)}function E(t,e){let r=N(t,e);if(!r){$.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=_(),p=I(B(),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:c,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 a;t[7]!==c||t[8]!==o||t[9]!==e||t[10]!==m?(a=(0,p.jsx)(R,{className:m,items:e,activeHeaderId:c,activeOccurrences:o}),t[7]=c,t[8]=o,t[9]=e,t[10]=m,t[11]=a):a=t[11];let d;t[12]!==c||t[13]!==o||t[14]!==e?(d=(0,p.jsx)(P,{items:e,activeHeaderId:c,activeOccurrences:o}),t[12]=c,t[13]=o,t[14]=e,t[15]=d):d=t[15];let v;return t[16]!==a||t[17]!==d?(v=(0,p.jsxs)("div",{onMouseEnter:n,onMouseLeave:f,className:u,children:[a,d]}),t[16]=a,t[17]=d,t[18]=v):v=t[18],v},P=t=>{let e=(0,y.c)(8),{items:r,activeHeaderId:c,activeOccurrences:o}=t,s,l;if(e[0]!==c||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,a=f.get(m)??0;return f.set(m,a+1),(0,p.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",a===o&&c===m&&"bg-foreground"),onClick:()=>E(u,a)},`${m}-${i}`)}),e[0]=c,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,p.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:c,activeOccurrences:o,className:s}=t,l,n;if(e[0]!==c||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 a="id"in i.by?i.by.id:i.by.path,d=u.get(a)??0;u.set(a,d+1);let v=`${a}-${m}`,h={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&&c===a&&"text-accent-foreground"),onClick:()=>E(i,d)};return i.html?(0,p.jsx)("div",{...h,dangerouslySetInnerHTML:{__html:i.html}},v):(0,p.jsx)("div",{...h,children:i.name},v)}),e[0]=c,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,p.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
+ import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-WUlsM6MC.js";import{t as M}from"./react-Bj1aDYRI.js";import{S as H,rt as S,st as k}from"./cells-BusUaZSh.js";import{t as _}from"./compiler-runtime-B3qBwwSJ.js";import{m as $}from"./useEventListener-CjXriKgk.js";import{t as B}from"./jsx-runtime-CP2fAiZX.js";import{t as x}from"./cn-d_A4rA-x.js";var L=_(),g=I(M(),1);function T(){return k()==="edit"?document.getElementById("App"):void 0}function O(t){let e=(0,L.c)(7),[r,c]=(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(h=>{let b=h.target;h.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 h=S(n.current);c("id"in h?h.id:h.path),s(u.current.get(n.current))}},{root:T(),rootMargin:"0px",threshold:0}),t.forEach(d=>{var v;if(d){let h=S(d[0]),b=t.map(D).filter(w=>"id"in h?w.id===h.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 a;return e[4]!==r||e[5]!==o?(a={activeHeaderId:r,activeOccurrences:o},e[4]=r,e[5]=o,e[6]=a):a=e[6],a}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 c="id"in r.by?r.by.id:r.by.path,o=e.get(c)??0;e.set(c,o+1);let s=N(r,o);return s?[s,c]:null}).filter(Boolean)}function E(t,e){let r=N(t,e);if(!r){$.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=_(),p=I(B(),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:c,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 a;t[7]!==c||t[8]!==o||t[9]!==e||t[10]!==m?(a=(0,p.jsx)(R,{className:m,items:e,activeHeaderId:c,activeOccurrences:o}),t[7]=c,t[8]=o,t[9]=e,t[10]=m,t[11]=a):a=t[11];let d;t[12]!==c||t[13]!==o||t[14]!==e?(d=(0,p.jsx)(P,{items:e,activeHeaderId:c,activeOccurrences:o}),t[12]=c,t[13]=o,t[14]=e,t[15]=d):d=t[15];let v;return t[16]!==a||t[17]!==d?(v=(0,p.jsxs)("div",{onMouseEnter:n,onMouseLeave:f,className:u,children:[a,d]}),t[16]=a,t[17]=d,t[18]=v):v=t[18],v},P=t=>{let e=(0,y.c)(8),{items:r,activeHeaderId:c,activeOccurrences:o}=t,s,l;if(e[0]!==c||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,a=f.get(m)??0;return f.set(m,a+1),(0,p.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",a===o&&c===m&&"bg-foreground"),onClick:()=>E(u,a)},`${m}-${i}`)}),e[0]=c,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,p.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:c,activeOccurrences:o,className:s}=t,l,n;if(e[0]!==c||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 a="id"in i.by?i.by.id:i.by.path,d=u.get(a)??0;u.set(a,d+1);let v=`${a}-${m}`,h={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&&c===a&&"text-accent-foreground"),onClick:()=>E(i,d)};return i.html?(0,p.jsx)("div",{...h,dangerouslySetInnerHTML:{__html:i.html}},v):(0,p.jsx)("div",{...h,children:i.name},v)}),e[0]=c,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,p.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-WUlsM6MC.js";import{b as d}from"./cells-CigkzIKH.js";import{t as m}from"./createReducer-BcTiTw8T.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,u=i[l],t=I[l],n=(o=f[l])==null?void 0:o.current;return!u||!n?null:{cellId:l,name:u.name,config:u.config,status:t?t.status:"idle",getEditorView:()=>n.editorView,hasOutput:(t==null?void 0:t.output)!=null,hasConsoleOutput:(t==null?void 0:t.consoleOutputs)!=null}}export{g as a,c as i,h as n,F as o,_ as r,a as t};
1
+ import{p as s,u as C}from"./useEvent-WUlsM6MC.js";import{b as d}from"./cells-BusUaZSh.js";import{t as m}from"./createReducer-BcTiTw8T.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,u=i[l],t=I[l],n=(o=f[l])==null?void 0:o.current;return!u||!n?null:{cellId:l,name:u.name,config:u.config,status:t?t.status:"idle",getEditorView:()=>n.editorView,hasOutput:(t==null?void 0:t.output)!=null,hasConsoleOutput:(t==null?void 0:t.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{Ft as wr,K as ze,cr as Nr}from"./cells-CigkzIKH.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-CjXriKgk.js";import{t as Pr}from"./jsx-runtime-CP2fAiZX.js";import{r as Lr,t as Ke}from"./button-BmOH9agK.js";import{t as F}from"./cn-d_A4rA-x.js";import{t as $r}from"./createLucideIcon-BvP5LBIs.js";import{t as Fr}from"./check-BnZGcuDh.js";import{r as Ir}from"./x-yqLqiq5Q.js";import{M as Mr,N as Be,P as qr,j as Dr}from"./dropdown-menu-CKhrfxsx.js";import{t as Gr}from"./plus-B-s-VRHt.js";import{t as zr}from"./refresh-ccw-BOzRCrXK.js";import{n as Tr,t as Ve}from"./input-BPldEXfy.js";import{_ as Jr,a as Ue,c as A,d as V,f as S,g as Kr,p as E,s as P,u as R,x as Br}from"./azure-BOn6W9-m.js";import{t as Ur}from"./trash-2-DtQaB9NM.js";import{t as Zr}from"./badge-CNBv2dAU.js";import{E as Ze,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-tjZP3FH6.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-DygbgNTD.js";import{l as ta}from"./dist-CIU0Lack.js";import{t as na}from"./tooltip-DOQlecCr.js";import{u as sa}from"./menu-items-Bs2e3wuf.js";import{i as la,r as oa,t as ia}from"./popover-Cvl9xY6R.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-C8WcXqB5.js";import{t as ha}from"./label-DmqkEXI4.js";import{t as fa}from"./toggle-BhEcsHTu.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,s,l,o,i,d,p,n,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],s=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],n=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:s,keepPopoverOpenOnSelect:n,...j}=t,e[0]=t,e[1]=r,e[2]=s,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=n,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,se=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[qe,G]=Ee(oe),z=qe===void 0?!1:qe,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]!==n||e[35]!==k||e[36]!==G||e[37]!==we||e[38]!==b?(de=_=>{let q=_;if(k)if(Array.isArray(b))if(b.includes(q)){let De=b.filter(br=>br!==_);q=De.length>0?De:[]}else q=[...b,q];else q=[q];else b===_&&(q=null);we(q),(n??k)||G(!1)},e[34]=n,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=F("relative"),e[46]=me):me=e[46];let K;e[47]===l?K=e[48]:(K=F("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 B;e[49]===Ce?B=e[50]:(B=Ce(),e[49]=Ce,e[50]=B);let U;e[51]===B?U=e[52]:(U=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:B}),e[51]=B,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]!==K||e[56]!==U?(Z=(0,a.jsx)(la,{asChild:!0,children:(0,a.jsxs)("div",{className:K,"aria-expanded":z,children:[U,pe]})}),e[54]=z,e[55]=K,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 W;e[62]===se?W=e[63]:(W=(0,a.jsx)(ua,{children:se}),e[62]=se,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]!==I||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:I,children:[H,Q]})}),e[73]=p,e[74]=I,e[75]=H,e[76]=Q,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]!==s||e[85]!==d||e[86]!==J||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:F("flex flex-col gap-1 items-start",s),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(Zr,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(Nr,{onClick:()=>{J(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=s,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:s,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),n=w.use(Xe),c;r[0]===l?c=r[1]:(c=F("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==n||r[3]!==i||r[4]!==o?(u=()=>{n.onSelect(o),i==null||i(o)},r[2]=n,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==n||r[7]!==o?(h=n.isSelected(o)&&(0,a.jsx)(Fr,{className:"absolute left-1 h-4 w-4"}),r[6]=n,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==s||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,s]}),r[9]=s,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]=Ze($e),[va,ga]=ja($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:s,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:n,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?n||!!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":nr(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:s,value:d,checked:l,required:o,disabled:i,form:n,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:s,...l}=t,o=ga(rr,r);return(0,a.jsx)(Hr,{present:s||o.checked,children:(0,a.jsx)(xe.span,{"data-state":nr(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:s=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Yr(r),n=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:s});h.call(c,r),c.dispatchEvent(f)}},[p,r,s]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...n,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=ba;function nr(t){return t?"checked":"unchecked"}var ya=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[wa,ft]=Ze(ve,[Be,Qe]),sr=Be(),lr=Qe(),[Na,Ca]=wa(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:s,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:n,loop:c=!0,onValueChange:u,...h}=t,f=sr(r),m=sa(n),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(Na,{scope:r,name:s,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:s,...l}=t,o=Ca(ir,r),i=o.disabled||s,d=sr(r),p=lr(r),n=w.useRef(null),c=Ae(e,n),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=n.current)==null||f.click())})})})});cr.displayName=ir;var ka="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...s}=t;return(0,a.jsx)(ar,{...lr(r),...s,ref:e})});dr.displayName=ka;var ur=or,mr=cr,Sa=dr,pr=fe(),Fe=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),s,l;r[0]===t?(s=r[1],l=r[2]):({className:s,...l}=t,r[0]=t,r[1]=s,r[2]=l);let o;r[3]===s?o=r[4]:(o=F("grid gap-2",s),r[3]=s,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});Fe.displayName=ur.displayName;var Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),s,l;if(r[0]!==t){let{className:p,children:n,...c}=t;s=p,l=c,r[0]=t,r[1]=s,r[2]=l}else s=r[1],l=r[2];let o;r[3]===s?o=r[4]:(o=F("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",s),r[3]=s,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)(qr,{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 s=[...r.values];return r.values.size===1?s[0]:s}if(r instanceof Je){let s=r.def.defaultValue;return typeof s=="function"?s():s}if(hr(r))return e(r.in);if(Ra(r))return r.def.items.map(s=>e(s));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,s])=>[r,e(s)])):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=`
1
+ import{s as Ge}from"./chunk-LvLJmgfZ.js";import{t as yr}from"./react-Bj1aDYRI.js";import{Ft as wr,K as ze,cr as Nr}from"./cells-BusUaZSh.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-CjXriKgk.js";import{t as Pr}from"./jsx-runtime-CP2fAiZX.js";import{r as Lr,t as Ke}from"./button-BmOH9agK.js";import{t as F}from"./cn-d_A4rA-x.js";import{t as $r}from"./createLucideIcon-BvP5LBIs.js";import{t as Fr}from"./check-BnZGcuDh.js";import{r as Ir}from"./x-yqLqiq5Q.js";import{M as Mr,N as Be,P as qr,j as Dr}from"./dropdown-menu-CKhrfxsx.js";import{t as Gr}from"./plus-B-s-VRHt.js";import{t as zr}from"./refresh-ccw-BOzRCrXK.js";import{n as Tr,t as Ve}from"./input-BPldEXfy.js";import{_ as Jr,a as Ue,c as A,d as V,f as S,g as Kr,p as E,s as P,u as R,x as Br}from"./azure-D5yXrO2H.js";import{t as Ur}from"./trash-2-DtQaB9NM.js";import{t as Zr}from"./badge-CNBv2dAU.js";import{E as Ze,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-tjZP3FH6.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-DygbgNTD.js";import{l as ta}from"./dist-CIU0Lack.js";import{t as na}from"./tooltip-DOQlecCr.js";import{u as sa}from"./menu-items-Bs2e3wuf.js";import{i as la,r as oa,t as ia}from"./popover-Cvl9xY6R.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-B5q5uni4.js";import{t as ha}from"./label-DmqkEXI4.js";import{t as fa}from"./toggle-BhEcsHTu.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,s,l,o,i,d,p,n,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],s=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],n=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:s,keepPopoverOpenOnSelect:n,...j}=t,e[0]=t,e[1]=r,e[2]=s,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=n,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,se=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[qe,G]=Ee(oe),z=qe===void 0?!1:qe,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]!==n||e[35]!==k||e[36]!==G||e[37]!==we||e[38]!==b?(de=_=>{let q=_;if(k)if(Array.isArray(b))if(b.includes(q)){let De=b.filter(br=>br!==_);q=De.length>0?De:[]}else q=[...b,q];else q=[q];else b===_&&(q=null);we(q),(n??k)||G(!1)},e[34]=n,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=F("relative"),e[46]=me):me=e[46];let K;e[47]===l?K=e[48]:(K=F("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 B;e[49]===Ce?B=e[50]:(B=Ce(),e[49]=Ce,e[50]=B);let U;e[51]===B?U=e[52]:(U=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:B}),e[51]=B,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]!==K||e[56]!==U?(Z=(0,a.jsx)(la,{asChild:!0,children:(0,a.jsxs)("div",{className:K,"aria-expanded":z,children:[U,pe]})}),e[54]=z,e[55]=K,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 W;e[62]===se?W=e[63]:(W=(0,a.jsx)(ua,{children:se}),e[62]=se,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]!==I||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:I,children:[H,Q]})}),e[73]=p,e[74]=I,e[75]=H,e[76]=Q,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]!==s||e[85]!==d||e[86]!==J||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:F("flex flex-col gap-1 items-start",s),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(Zr,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(Nr,{onClick:()=>{J(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=s,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:s,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),n=w.use(Xe),c;r[0]===l?c=r[1]:(c=F("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==n||r[3]!==i||r[4]!==o?(u=()=>{n.onSelect(o),i==null||i(o)},r[2]=n,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==n||r[7]!==o?(h=n.isSelected(o)&&(0,a.jsx)(Fr,{className:"absolute left-1 h-4 w-4"}),r[6]=n,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==s||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,s]}),r[9]=s,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]=Ze($e),[va,ga]=ja($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:s,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:n,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?n||!!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":nr(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:s,value:d,checked:l,required:o,disabled:i,form:n,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:s,...l}=t,o=ga(rr,r);return(0,a.jsx)(Hr,{present:s||o.checked,children:(0,a.jsx)(xe.span,{"data-state":nr(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:s=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Yr(r),n=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:s});h.call(c,r),c.dispatchEvent(f)}},[p,r,s]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...n,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=ba;function nr(t){return t?"checked":"unchecked"}var ya=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[wa,ft]=Ze(ve,[Be,Qe]),sr=Be(),lr=Qe(),[Na,Ca]=wa(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:s,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:n,loop:c=!0,onValueChange:u,...h}=t,f=sr(r),m=sa(n),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(Na,{scope:r,name:s,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:s,...l}=t,o=Ca(ir,r),i=o.disabled||s,d=sr(r),p=lr(r),n=w.useRef(null),c=Ae(e,n),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=n.current)==null||f.click())})})})});cr.displayName=ir;var ka="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...s}=t;return(0,a.jsx)(ar,{...lr(r),...s,ref:e})});dr.displayName=ka;var ur=or,mr=cr,Sa=dr,pr=fe(),Fe=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),s,l;r[0]===t?(s=r[1],l=r[2]):({className:s,...l}=t,r[0]=t,r[1]=s,r[2]=l);let o;r[3]===s?o=r[4]:(o=F("grid gap-2",s),r[3]=s,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});Fe.displayName=ur.displayName;var Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),s,l;if(r[0]!==t){let{className:p,children:n,...c}=t;s=p,l=c,r[0]=t,r[1]=s,r[2]=l}else s=r[1],l=r[2];let o;r[3]===s?o=r[4]:(o=F("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",s),r[3]=s,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)(qr,{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 s=[...r.values];return r.values.size===1?s[0]:s}if(r instanceof Je){let s=r.def.defaultValue;return typeof s=="function"?s():s}if(hr(r))return e(r.in);if(Ra(r))return r.def.items.map(s=>e(s));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,s])=>[r,e(s)])):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
2
  `;const vr=t=>{let e=(0,xr.c)(24),{value:r,options:s,onChange:l,className:o,placeholder:i,textAreaClassName:d,comboBoxClassName:p}=t,[n,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]!==s||e[5]!==i||e[6]!==n||e[7]!==d||e[8]!==h?(f=()=>n?(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:F("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:s.map(Va)}),e[2]=p,e[3]=l,e[4]=s,e[5]=i,e[6]=n,e[7]=d,e[8]=h,e[9]=f):f=e[9];let m=f,j;e[10]===o?j=e[11]:(j=F("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=n?"Switch to multi-select":"Switch to textarea",v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Br,{className:"w-3 h-3"}),e[14]=v):v=e[14];let y;e[15]===n?y=e[16]:(y=(0,a.jsx)(fa,{size:"xs",onPressedChange:c,pressed:n,children:v}),e[15]=n,e[16]=y);let N;e[17]!==g||e[18]!==y?(N=(0,a.jsx)(na,{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:s,onChange:l,placeholder:o}=t,i,d;if(e[0]!==s){let u=be(s);i=Ue,d=u.join(jr),e[0]=s,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 n=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]!==n?(c=(0,a.jsx)(i,{value:d,className:r,rows:4,onChange:p,placeholder:n}),e[5]=i,e[6]=r,e[7]=d,e[8]=p,e[9]=n,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 ne=fe();const Ea=t=>{let e=(0,ne.c)(11),{schema:r,form:s,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 n=p,c;e[2]!==s||e[3]!==d||e[4]!==n||e[5]!==r?(c=L(r,s,d,n),e[2]=s,e[3]=d,e[4]=n,e[5]=r,e[6]=c):c=e[6];let u;return e[7]!==i||e[8]!==s||e[9]!==c?(u=(0,a.jsxs)(Kr,{...s,children:[i,c]}),e[7]=i,e[8]=s,e[9]=c,e[10]=u):u=e[10],u};function L(t,e,r,s){for(let n of s){let{isMatch:c,Component:u}=n;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 n=t.unwrap();return n=!n.description&&t.description?n.describe(t.description):n,L(n,e,r,s)}if(t instanceof kr){let n=t.unwrap();return n=!n.description&&t.description?n.describe(t.description):n,L(n,e,r,s)}if(t instanceof _e)return(0,a.jsxs)("div",{className:F("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(([n,c])=>{let u=c instanceof le,h=L(c,e,Ia(r,n),s);return u?(0,a.jsx)(w.Fragment,{children:h},n):(0,a.jsx)("div",{className:"flex flex-row align-start",children:h},n)})]});if(t instanceof Te)return i==="time"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:n})=>(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,{...n,onValueChange:n.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:n})=>(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)(wr,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:n.value,onCheckedChange:n.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:n})=>(0,a.jsxs)(Ke,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{n.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:n})=>(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,{...n,className:"my-0",onValueChange:n.onChange})}),(0,a.jsx)(E,{})]})});if(t instanceof Sr){let n=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:n,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(n=>n.toString())});if(t instanceof Or){if(i==="text_area_multiline")return(0,a.jsx)(La,{schema:t,form:e,path:r});let n=t.element;return n instanceof Se?(0,a.jsx)(Fa,{schema:t,form:e,path:r,itemLabel:l,options:n.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:s},r)]})}if(t instanceof ke){let n=t.def,c=n.options,u=n.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,s)},x)]})}})}return t instanceof Oe?(0,a.jsx)(R,{control:e.control,name:r,render:({field:n})=>{let c=t.options,u=n.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",...n,children:h.map(m=>(0,a.jsx)("option",{value:m,children:m},m))}),f&&L(f,e,r,s)]})}}):t instanceof le?(0,a.jsx)(R,{control:e.control,name:r,render:({field:n})=>(0,a.jsx)("input",{...n,type:"hidden",value:String([...t.values][0]??"")})}):"unwrap"in t?L(fr(t),e,r,s):hr(t)?L(t.in,e,r,s):(0,a.jsxs)("div",{children:["Unknown schema type"," ",t==null?r:JSON.stringify(t.type??t)]})}var Pa=t=>{let e=(0,ne.c)(39),{schema:r,form:s,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:n}=d,c=s.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]===n?v=e[8]:(v=(0,a.jsx)(A,{children:n}),e[7]=n,e[8]=v);let y;if(e[9]!==x||e[10]!==h||e[11]!==s||e[12]!==l||e[13]!==m||e[14]!==i||e[15]!==r){let M;e[17]!==x||e[18]!==s||e[19]!==l||e[20]!==m||e[21]!==i||e[22]!==r?(M=(se,$)=>(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,s,`${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($)}})]},se.id),e[17]=x,e[18]=s,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]=s,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 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,ne.c)(21),{schema:r,form:s,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:n,inputType:c}=o;if(c==="textarea"){let f;e[2]!==d||e[3]!==n||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:n})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=n,e[4]=i,e[5]=p,e[6]=f):f=e[6];let m;return e[7]!==s.control||e[8]!==l||e[9]!==f?(m=(0,a.jsx)(R,{control:s.control,name:l,render:f}),e[7]=s.control,e[8]=l,e[9]=f,e[10]=m):m=e[10],m}let u;e[11]!==d||e[12]!==n||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:n})}),(0,a.jsx)(E,{})]})},e[11]=d,e[12]=n,e[13]=c,e[14]=i,e[15]=p,e[16]=u):u=e[16];let h;return e[17]!==s.control||e[18]!==l||e[19]!==u?(h=(0,a.jsx)(R,{control:s.control,name:l,render:u}),e[17]=s.control,e[18]=l,e[19]=u,e[20]=h):h=e[20],h},La=t=>{let e=(0,ne.c)(10),{schema:r,form:s,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,n;e[2]!==d||e[3]!==i||e[4]!==p?(n=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]=n):n=e[5];let c;return e[6]!==s.control||e[7]!==l||e[8]!==n?(c=(0,a.jsx)(R,{control:s.control,name:l,render:n}),e[6]=s.control,e[7]=l,e[8]=n,e[9]=c):c=e[9],c},$a=t=>{let e=(0,ne.c)(22),{schema:r,form:s,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:n,disabled:c,special:u}=d;if(u==="radio_group"){let m;e[2]!==n||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:n}),(0,a.jsx)(P,{children:(0,a.jsx)(Fe,{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]=n,e[3]=p,e[4]=o,e[5]=l,e[6]=m):m=e[6];let j;return e[7]!==c||e[8]!==s.control||e[9]!==l||e[10]!==m?(j=(0,a.jsx)(R,{control:s.control,name:l,disabled:c,render:m}),e[7]=c,e[8]=s.control,e[9]=l,e[10]=m,e[11]=j):j=e[11],j}let h;e[12]!==n||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:n}),(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]=n,e[13]=p,e[14]=o,e[15]=i,e[16]=h):h=e[16];let f;return e[17]!==c||e[18]!==s.control||e[19]!==l||e[20]!==h?(f=(0,a.jsx)(R,{control:s.control,name:l,disabled:c,render:h}),e[17]=c,e[18]=s.control,e[19]=l,e[20]=h,e[21]=f):f=e[21],f},Fa=t=>{let e=(0,ne.c)(15),{schema:r,form:s,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:n,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]!==n||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:n}),(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:qa,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:v,onValueChange:g.onChange,children:o.map(Da)})}),(0,a.jsx)(E,{})]})},e[5]=c,e[6]=n,e[7]=o,e[8]=f,e[9]=d,e[10]=m):m=e[10];let j;return e[11]!==s.control||e[12]!==l||e[13]!==m?(j=(0,a.jsx)(R,{control:s.control,name:l,render:m}),e[11]=s.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 qa(t){return ze.startCase(t)}function Da(t){return(0,a.jsx)(je,{value:t,children:t},t)}export{be as a,Fe as c,Ye 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};
@@ -1 +1 @@
1
- import{i as r}from"./useEvent-WUlsM6MC.js";import{l as o}from"./switch-Cp5eQmZx.js";const m=()=>r.get(o),n=()=>{let e=document.querySelector("marimo-code");if(!e)return;let t=e.innerHTML;return decodeURIComponent(t).trim()};export{m as n,n as t};
1
+ import{i as r}from"./useEvent-WUlsM6MC.js";import{l as o}from"./switch-E6p3DgBh.js";const m=()=>r.get(o),n=()=>{let e=document.querySelector("marimo-code");if(!e)return;let t=e.innerHTML;return decodeURIComponent(t).trim()};export{m as n,n as t};
@@ -1,4 +1,4 @@
1
- import{s as Z}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-WUlsM6MC.js";import{t as ge}from"./react-Bj1aDYRI.js";import{Ft as ye,Ti as je,ar as be,kn as te,li as re,mr as ve,pr as ke,rr as ae,sr as we}from"./cells-CigkzIKH.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ne,h as _e}from"./useEventListener-CjXriKgk.js";import{n as A}from"./constants-CdR60lKM.js";import{t as Se}from"./ErrorBoundary-dVj6GVNE.js";import{t as Ce}from"./jsx-runtime-CP2fAiZX.js";import{t as E}from"./button-BmOH9agK.js";import{t as ze}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as H}from"./requests-DZy_SQ_v.js";import{t as F}from"./createLucideIcon-BvP5LBIs.js";import{t as Me}from"./chart-no-axes-column-F2DZENgf.js";import{r as Ie}from"./x-yqLqiq5Q.js";import{t as De}from"./chevron-right-_z3dkNFy.js";import{f as B,p as Pe,r as Re,t as se}from"./maps-8VTEe-0T.js";import{t as Te}from"./circle-play-n0LbT9bZ.js";import{a as Oe,p as Ae,r as Fe,t as We}from"./dropdown-menu-CKhrfxsx.js";import{t as Ue}from"./file-DVwc11C3.js";import{r as Le,t as $e}from"./types-B737EDbu.js";import{t as Ee}from"./github-BrsjF9dp.js";import{n as He,r as Ve,t as Ye}from"./youtube-fKFch587.js";import{t as qe}from"./link-Cpo6yhBB.js";import{t as J}from"./spinner-DCSoZZhh.js";import{n as Be,r as Je,t as Ge}from"./app-config-button-C_j4LbLr.js";import{t as Qe}from"./refresh-ccw-BOzRCrXK.js";import{lt as Ke,r as Xe}from"./input-BPldEXfy.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import{t as Ze}from"./use-toast-BhMe50aT.js";import{n as ie}from"./paths-bMgYkaP2.js";import{c as le,n as et,o as tt,t as rt}from"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import{t as at}from"./tooltip-DOQlecCr.js";import"./purify.es-CPplrWRQ.js";import{i as ot}from"./dates-CzBDvj6R.js";import{o as st}from"./alert-dialog-DsNfSYaw.js";import{t as it}from"./context-B1_BdDTF.js";import"./popover-Cvl9xY6R.js";import{n as lt}from"./ImperativeModal-CRNJOvqT.js";import{r as nt}from"./errors-Bfogio62.js";import{t as ct}from"./tree-D0AxVJ_I.js";import{t as ne}from"./error-banner-R2OkQKR0.js";import{n as G,t as mt}from"./useAsyncData-DVm0BCFt.js";import{t as dt}from"./label-DmqkEXI4.js";import{t as Q}from"./icons-B9sHgc9n.js";import{t as ht}from"./links-syPBpTLO.js";import{t as pt}from"./useInterval-Bpy5zYCc.js";var ft=F("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ut=F("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),xt=F("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),gt=F("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),yt=F("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),T=Z(ge(),1),K=oe(),a=Z(Ce(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",ae,"Format text with parameterized markdown"],plots:["Plots",Me,"Create interactive visualizations"],sql:["SQL",be,"Query databases directly in marimo"],layout:["Layout",Ve,"Customize the layout of your cells' output"],fileformat:["File format",Ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,K.c)(6),{openTutorial:t}=H(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ae,{asChild:!0,children:(0,a.jsxs)(E,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Re,{className:"w-3 h-3 ml-1"})]})}),e[1]=s):s=e[1];let o;e[2]===t?o=e[3]:(o=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Oe,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=o);let l;return e[4]===o?l=e[5]:(l=(0,a.jsxs)(We,{children:[s,(0,a.jsx)(Fe,{side:"bottom",align:"end",className:"print:hidden",children:o})]}),e[4]=o,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ke,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ee,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:He,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ye,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ae,url:A.releasesPage}];const kt=()=>{let e=(0,K.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(V,{Icon:qe,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},V=e=>{let t=(0,K.c)(8),{Icon:r,control:s,children:o}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==o||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,o]}),t[2]=o,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==s||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),t[5]=s,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.jsxs)("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=T.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=T.createContext(""),Nt=re("marimo:home:include-markdown",!1,te,{getOnInit:!0}),de=re("marimo:home:expanded-folders",{},te,{getOnInit:!0});var P=oe();function he(e){return`${rt()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,T.useState)(0),{getRecentFiles:s,getRunningNotebooks:o}=H(),l;e[0]===s?l=e[1]:(l=()=>s(),e[0]=s,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=G(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Tt)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===o?h=e[6]:(h=async()=>{let O=await o();return se.keyBy(O.files,Ot)},e[5]=o,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=G(h,p),f,x,u,g,k,y,b,v,w,N,_,C,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let O=mt(m,n);if(O.error)throw O.error;let X=O.data;if(!X){let $;e[24]===Symbol.for("react.memo_cache_sentinel")?($=(0,a.jsx)(J,{centered:!0,size:"xlarge"}),e[24]=$):$=e[24],w=$;break e}let[ue,Y]=X;g=ue,u=T.Suspense,x=ce,b={runningNotebooks:Y,setRunningNotebooks:n.setData};let U,L;e[25]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Ge,{showAppConfig:!1}),e[25]=U,e[26]=L):(U=e[25],L=e[26]);let q=`This will shutdown the notebook server and terminate all running notebooks (${Y.size}). You'll lose all data that's in memory.`;e[27]===q?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[U,L,(0,a.jsx)(Be,{description:q})]}),e[27]=q,e[28]=v),C="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(V,{Icon:Te,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...Y.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let z;e[33]!==f||e[34]!==N||e[35]!==_?(z=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=z):z=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(V,{Icon:we,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let R;e[40]===Symbol.for("react.memo_cache_sentinel")?(R=(0,a.jsx)(Se,{children:(0,a.jsx)(St,{})}),e[40]=R):R=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==z||e[44]!==M||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,k,y,z,M,R]}),e[41]=k,e[42]=y,e[43]=z,e[44]=M,e[45]=C,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let W;return e[53]!==u||e[54]!==D?(W=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=W):W=e[55],W},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=H(),[r,s]=ee(Nt),[o,l]=(0,T.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=G(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(Ke,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===o?g=e[16]:(g=(0,a.jsx)(Xe,{id:"search",value:o,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=o,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ct,{}),e[17]=k):k=e[17];let y;e[18]===s?y=e[19]:(y=j=>s(!!j),e[18]=s,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(ye,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Qe,{className:"w-4 h-4"}),e[29]=_):_=e[29];let C;e[30]===N?C=e[31]:(C=(0,a.jsx)(E,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=C);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(J,{size:"small"}),e[32]=p,e[33]=S);let z;e[34]!==w||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(V,{Icon:ut,control:w,children:["Workspace",C,S]}),e[34]=w,e[35]=C,e[36]=S,e[37]=z):z=e[37];let I;e[38]!==o||e[39]!==c.files?(I=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,a.jsx)(zt,{searchText:o,files:c.files})}),e[38]=o,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==z||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,I]}),e[41]=z,e[42]=I,e[43]=f,e[44]=M):M=e[44];let R;return e[45]!==M||e[46]!==c.root?(R=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=R):R=e[47],R},Ct=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Pe,{className:"w-4 h-4 mr-1"}),e[2]=s):s=e[2];let o;return e[3]===r?o=e[4]:(o=(0,a.jsxs)(E,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[s,"Collapse all"]}),e[3]=r,e[4]=o),o},zt=e=>{let t=(0,P.c)(12),{files:r,searchText:s}=e,[o,l]=ee(de),i=Object.keys(o).length===0,m=(0,T.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,T.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==o||t[5]!==l?(h=async n=>{let f=o[n]??!1;l({...o,[n]:!f})},t[4]=o,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==o||t[9]!==s||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:At,data:r,openByDefault:!1,initialOpenState:o,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Ft,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=o,t[9]=s,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:s}=e,o=$e[r.data.isDirectory?"directory":Le(r.data.name)],l;t[0]===o?l=t[1]:(l=(0,a.jsx)(o,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=o,t[1]=l);let i=l,m=(0,T.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,r.data.name]});let u=r.data.path.startsWith(m)&&ie.isAbsolute(r.data.path)?ie.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:le(`?file=${encodeURIComponent(u)}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=ze("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==s||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:s,className:h,onClick:p,children:[n,f]}),t[14]=s,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let s;return t[1]===r.isOpen?s=t[2]:(s=r.isOpen?(0,a.jsx)(Ie,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(De,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=s),s},pe=e=>{let t=(0,P.c)(7),{header:r,files:s}=e;if(s.length===0)return null;let o;t[0]===s?o=t[1]:(o=s.map(Wt),t[0]=s,t[1]=o);let l;t[2]===o?l=t[3]:(l=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:o}),t[2]=o,t[3]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:s}=it(),o;t[0]===r.path?o=t[1]:(o=et(r.path),t[0]=r.path,t[1]=o);let l=o,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=le(l?`?file=${encodeURIComponent(r.initializationId??r.path)}&session_id=${r.path}`:`?file=${encodeURIComponent(r.path)}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==s?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ot(r.lastModified*1e3,s)}),t[28]=r.lastModified,t[29]=s,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:s,closeModal:o}=lt(),{shutdownSession:l}=H(),{runningNotebooks:i,setRunningNotebooks:m}=(0,T.use)(ce);if(!i.has(r))return null;let d;t[0]!==o||t[1]!==r||t[2]!==s||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(st,{onClick:()=>{let n=i.get(r);je(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(se.keyBy(f.files,Ut))}),o(),Ze({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=r,t[2]=s,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Je,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)(E,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=tt(),e[0]=t):t=e[0];let r=t,s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=s):s=e[1];let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
1
+ import{s as Z}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-WUlsM6MC.js";import{t as ge}from"./react-Bj1aDYRI.js";import{Ei as ye,Ft as je,ar as be,kn as te,mr as ve,pr as ke,rr as re,sr as we,ui as ae}from"./cells-BusUaZSh.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Ne,h as _e}from"./useEventListener-CjXriKgk.js";import{n as A}from"./constants-CdR60lKM.js";import{t as Se}from"./ErrorBoundary-dVj6GVNE.js";import{t as Ce}from"./jsx-runtime-CP2fAiZX.js";import{t as $}from"./button-BmOH9agK.js";import{t as ze}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as H}from"./requests-DZy_SQ_v.js";import{t as F}from"./createLucideIcon-BvP5LBIs.js";import{t as Me}from"./chart-no-axes-column-F2DZENgf.js";import{r as Ie}from"./x-yqLqiq5Q.js";import{t as De}from"./chevron-right-_z3dkNFy.js";import{f as B,p as Pe,r as Re,t as se}from"./maps-8VTEe-0T.js";import{t as Oe}from"./circle-play-n0LbT9bZ.js";import{a as Te,p as Ae,r as Fe,t as We}from"./dropdown-menu-CKhrfxsx.js";import{t as Ue}from"./file-DVwc11C3.js";import{r as Le,t as Ee}from"./types-Cg2HXEUi.js";import{t as $e}from"./github-BrsjF9dp.js";import{n as He,r as Ve,t as Ye}from"./youtube-fKFch587.js";import{t as qe}from"./link-Cpo6yhBB.js";import{t as J}from"./spinner-DCSoZZhh.js";import{n as Be,r as Je,t as Ge}from"./app-config-button-Cp9XkpLD.js";import{t as Qe}from"./refresh-ccw-BOzRCrXK.js";import{lt as Ke,r as Xe}from"./input-BPldEXfy.js";import"./dist-DfBASypd.js";import"./dist-Dq_iQ08e.js";import"./dist-BjtLy-VA.js";import"./dist-odxAaH5Z.js";import"./dist-51xFOPFs.js";import{t as Ze}from"./use-toast-BhMe50aT.js";import{n as ie}from"./paths-bMgYkaP2.js";import{c as le,n as et,o as tt,t as rt}from"./session-DnMOyddG.js";import"./Combination-tjZP3FH6.js";import{t as at}from"./tooltip-DOQlecCr.js";import"./purify.es-CPplrWRQ.js";import{i as ot}from"./dates-CzBDvj6R.js";import{o as st}from"./alert-dialog-DsNfSYaw.js";import{t as it}from"./context-B1_BdDTF.js";import"./popover-Cvl9xY6R.js";import{n as lt}from"./ImperativeModal-CRNJOvqT.js";import{r as nt}from"./errors-Bfogio62.js";import{t as ct}from"./tree-D0AxVJ_I.js";import{t as ne}from"./error-banner-R2OkQKR0.js";import{n as G,t as mt}from"./useAsyncData-DVm0BCFt.js";import{t as dt}from"./label-DmqkEXI4.js";import{t as Q}from"./icons-B9sHgc9n.js";import{t as ht}from"./links-syPBpTLO.js";import{t as pt}from"./useInterval-Bpy5zYCc.js";var ft=F("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ut=F("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),xt=F("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),gt=F("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),yt=F("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),O=Z(ge(),1),K=oe(),a=Z(Ce(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",re,"Format text with parameterized markdown"],plots:["Plots",Me,"Create interactive visualizations"],sql:["SQL",be,"Query databases directly in marimo"],layout:["Layout",Ve,"Customize the layout of your cells' output"],fileformat:["File format",Ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,K.c)(6),{openTutorial:t}=H(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ae,{asChild:!0,children:(0,a.jsxs)($,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Re,{className:"w-3 h-3 ml-1"})]})}),e[1]=s):s=e[1];let o;e[2]===t?o=e[3]:(o=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Te,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=o);let l;return e[4]===o?l=e[5]:(l=(0,a.jsxs)(We,{children:[s,(0,a.jsx)(Fe,{side:"bottom",align:"end",className:"print:hidden",children:o})]}),e[4]=o,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ke,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:$e,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:He,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ye,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:re,url:A.releasesPage}];const kt=()=>{let e=(0,K.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(V,{Icon:qe,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},V=e=>{let t=(0,K.c)(8),{Icon:r,control:s,children:o}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==o||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,o]}),t[2]=o,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==s||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),t[5]=s,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.jsxs)("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=O.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=O.createContext(""),Nt=ae("marimo:home:include-markdown",!1,te,{getOnInit:!0}),de=ae("marimo:home:expanded-folders",{},te,{getOnInit:!0});var P=oe();function he(e){return`${rt()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,O.useState)(0),{getRecentFiles:s,getRunningNotebooks:o}=H(),l;e[0]===s?l=e[1]:(l=()=>s(),e[0]=s,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=G(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Ot)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===o?h=e[6]:(h=async()=>{let T=await o();return se.keyBy(T.files,Tt)},e[5]=o,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=G(h,p),f,x,u,g,k,y,b,v,w,N,_,C,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let T=mt(m,n);if(T.error)throw T.error;let X=T.data;if(!X){let E;e[24]===Symbol.for("react.memo_cache_sentinel")?(E=(0,a.jsx)(J,{centered:!0,size:"xlarge"}),e[24]=E):E=e[24],w=E;break e}let[ue,Y]=X;g=ue,u=O.Suspense,x=ce,b={runningNotebooks:Y,setRunningNotebooks:n.setData};let U,L;e[25]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Ge,{showAppConfig:!1}),e[25]=U,e[26]=L):(U=e[25],L=e[26]);let q=`This will shutdown the notebook server and terminate all running notebooks (${Y.size}). You'll lose all data that's in memory.`;e[27]===q?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[U,L,(0,a.jsx)(Be,{description:q})]}),e[27]=q,e[28]=v),C="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(V,{Icon:Oe,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...Y.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let z;e[33]!==f||e[34]!==N||e[35]!==_?(z=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=z):z=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(V,{Icon:we,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let R;e[40]===Symbol.for("react.memo_cache_sentinel")?(R=(0,a.jsx)(Se,{children:(0,a.jsx)(St,{})}),e[40]=R):R=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==z||e[44]!==M||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,k,y,z,M,R]}),e[41]=k,e[42]=y,e[43]=z,e[44]=M,e[45]=C,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let W;return e[53]!==u||e[54]!==D?(W=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=W):W=e[55],W},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=H(),[r,s]=ee(Nt),[o,l]=(0,O.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=G(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(Ke,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===o?g=e[16]:(g=(0,a.jsx)(Xe,{id:"search",value:o,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=o,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ct,{}),e[17]=k):k=e[17];let y;e[18]===s?y=e[19]:(y=j=>s(!!j),e[18]=s,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(je,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Qe,{className:"w-4 h-4"}),e[29]=_):_=e[29];let C;e[30]===N?C=e[31]:(C=(0,a.jsx)($,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=C);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(J,{size:"small"}),e[32]=p,e[33]=S);let z;e[34]!==w||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(V,{Icon:ut,control:w,children:["Workspace",C,S]}),e[34]=w,e[35]=C,e[36]=S,e[37]=z):z=e[37];let I;e[38]!==o||e[39]!==c.files?(I=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,a.jsx)(zt,{searchText:o,files:c.files})}),e[38]=o,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==z||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,I]}),e[41]=z,e[42]=I,e[43]=f,e[44]=M):M=e[44];let R;return e[45]!==M||e[46]!==c.root?(R=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=R):R=e[47],R},Ct=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Pe,{className:"w-4 h-4 mr-1"}),e[2]=s):s=e[2];let o;return e[3]===r?o=e[4]:(o=(0,a.jsxs)($,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[s,"Collapse all"]}),e[3]=r,e[4]=o),o},zt=e=>{let t=(0,P.c)(12),{files:r,searchText:s}=e,[o,l]=ee(de),i=Object.keys(o).length===0,m=(0,O.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,O.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==o||t[5]!==l?(h=async n=>{let f=o[n]??!1;l({...o,[n]:!f})},t[4]=o,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==o||t[9]!==s||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:At,data:r,openByDefault:!1,initialOpenState:o,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Ft,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=o,t[9]=s,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:s}=e,o=Ee[r.data.isDirectory?"directory":Le(r.data.name)],l;t[0]===o?l=t[1]:(l=(0,a.jsx)(o,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=o,t[1]=l);let i=l,m=(0,O.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,r.data.name]});let u=r.data.path.startsWith(m)&&ie.isAbsolute(r.data.path)?ie.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:le(`?file=${encodeURIComponent(u)}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=ze("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==s||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:s,className:h,onClick:p,children:[n,f]}),t[14]=s,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let s;return t[1]===r.isOpen?s=t[2]:(s=r.isOpen?(0,a.jsx)(Ie,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(De,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=s),s},pe=e=>{let t=(0,P.c)(7),{header:r,files:s}=e;if(s.length===0)return null;let o;t[0]===s?o=t[1]:(o=s.map(Wt),t[0]=s,t[1]=o);let l;t[2]===o?l=t[3]:(l=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:o}),t[2]=o,t[3]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:s}=it(),o;t[0]===r.path?o=t[1]:(o=et(r.path),t[0]=r.path,t[1]=o);let l=o,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=le(l?`?file=${encodeURIComponent(r.initializationId??r.path)}&session_id=${r.path}`:`?file=${encodeURIComponent(r.path)}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(B,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==s?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ot(r.lastModified*1e3,s)}),t[28]=r.lastModified,t[29]=s,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:s,closeModal:o}=lt(),{shutdownSession:l}=H(),{runningNotebooks:i,setRunningNotebooks:m}=(0,O.use)(ce);if(!i.has(r))return null;let d;t[0]!==o||t[1]!==r||t[2]!==s||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(st,{onClick:()=>{let n=i.get(r);ye(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(se.keyBy(f.files,Ut))}),o(),Ze({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=r,t[2]=s,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Je,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)($,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=tt(),e[0]=t):t=e[0];let r=t,s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=s):s=e[1];let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
2
2
  text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
3
3
  transition-all duration-300 cursor-pointer
4
- `,href:r,target:"_blank",rel:"noreferrer",children:[s,(0,a.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,a.jsx)(B,{size:24})})]}),e[2]=o):o=e[2],o},Rt=_t;function Tt(e){return e+1}function Ot(e){return e.path}function At(e){return e.path}function Ft(){return null}function Wt(e){return(0,a.jsx)(Dt,{file:e},e.path)}function Ut(e){return e.path}export{Rt as default};
4
+ `,href:r,target:"_blank",rel:"noreferrer",children:[s,(0,a.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,a.jsx)(B,{size:24})})]}),e[2]=o):o=e[2],o},Rt=_t;function Ot(e){return e+1}function Tt(e){return e.path}function At(e){return e.path}function Ft(){return null}function Wt(e){return(0,a.jsx)(Dt,{file:e},e.path)}function Ut(e){return e.path}export{Rt as default};