@marimo-team/frontend 0.23.16-dev23 → 0.23.16-dev25

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 (55) hide show
  1. package/dist/assets/{JsonOutput-BoDVlAbV.js → JsonOutput-BG5T3DG2.js} +3 -3
  2. package/dist/assets/{add-cell-with-ai-CI-OMQ6o.js → add-cell-with-ai-BBAhBpT1.js} +1 -1
  3. package/dist/assets/{add-connection-dialog-wLF3on0N.js → add-connection-dialog-DFD5BLGa.js} +1 -1
  4. package/dist/assets/{agent-panel-BnWKBlgm.js → agent-panel-TJGdsxOX.js} +1 -1
  5. package/dist/assets/{ai-model-dropdown-JakbdGqy.js → ai-model-dropdown-BMS30HMu.js} +1 -1
  6. package/dist/assets/{app-config-button-CJthjCbw.js → app-config-button-Cankwixh.js} +1 -1
  7. package/dist/assets/{cell-editor-g_X3FLOk.js → cell-editor-sBYL591r.js} +1 -1
  8. package/dist/assets/{chat-display-5IKsJo5G.js → chat-display-ZB0n2r4U.js} +1 -1
  9. package/dist/assets/{chat-panel-T0aeOGBD.js → chat-panel-BKqRvvhb.js} +1 -1
  10. package/dist/assets/{chat-ui-Bmpv2cR-.js → chat-ui-B3Pz1Tc4.js} +1 -1
  11. package/dist/assets/{column-preview-BYiduGzU.js → column-preview-CSVQtCQS.js} +1 -1
  12. package/dist/assets/{command-palette-jBZ38N6a.js → command-palette-DiUt8L1K.js} +1 -1
  13. package/dist/assets/{dependency-graph-panel-98TlJ5y7.js → dependency-graph-panel-rRXAafZ4.js} +1 -1
  14. package/dist/assets/download-Benw6kUY.js +9 -0
  15. package/dist/assets/{edit-page-DB-NYT_3.js → edit-page-CxNNXB4Y.js} +5 -5
  16. package/dist/assets/{file-explorer-panel-8_ps5wdU.js → file-explorer-panel-C9I7XP84.js} +1 -1
  17. package/dist/assets/{form-B5UJtZJr.js → form-DrCvDcRK.js} +1 -1
  18. package/dist/assets/{home-page-IUw94a9S.js → home-page-DwtZlFRD.js} +1 -1
  19. package/dist/assets/{index-BS2Sunf3.js → index-DK7_phcn.js} +21 -21
  20. package/dist/assets/{layout-CyjXUY2w.js → layout-Cdpz2zk4.js} +5 -5
  21. package/dist/assets/{packages-panel-CsjyKddU.js → packages-panel-kj52vQTZ.js} +1 -1
  22. package/dist/assets/{pair-with-agent-modal-nwd26aKZ.js → pair-with-agent-modal-BUtnUuiE.js} +1 -1
  23. package/dist/assets/{panels-B8l1VE0-.js → panels-Bs7O_Hac.js} +1 -1
  24. package/dist/assets/{readonly-python-code-BqcMp63O.js → readonly-python-code-3UXLXM0g.js} +1 -1
  25. package/dist/assets/{reveal-component-D2zYX2Tk.js → reveal-component-DTcc6OYd.js} +1 -1
  26. package/dist/assets/{run-page-B74_5nDW.js → run-page-BgzVSOZh.js} +1 -1
  27. package/dist/assets/{scratchpad-panel-BASwTNGO.js → scratchpad-panel-XnaU8Prb.js} +1 -1
  28. package/dist/assets/{session-panel-DO-4U6Ry.js → session-panel-Cs9YKkJc.js} +1 -1
  29. package/dist/assets/{skeleton-DuUCup3W.js → skeleton-BOtI6k5P.js} +1 -1
  30. package/dist/assets/{state-D2ccy8VQ.js → state-Dj8qTUAp.js} +1 -1
  31. package/dist/assets/switch-OVajJBPR.js +1 -0
  32. package/dist/assets/{useCellActionButton-BhCYWOKS.js → useCellActionButton-Bglkc3w8.js} +1 -1
  33. package/dist/assets/{useDependencyPanelTab-CAI77Oxj.js → useDependencyPanelTab-DjhiptCs.js} +1 -1
  34. package/dist/assets/useNotebookActions-Bj0q_nkr.js +12 -0
  35. package/dist/index.html +8 -8
  36. package/package.json +1 -1
  37. package/src/__mocks__/requests.ts +20 -4
  38. package/src/components/editor/actions/__tests__/pdf-export.test.ts +0 -4
  39. package/src/components/editor/actions/pdf-export.ts +1 -4
  40. package/src/components/editor/actions/useNotebookActions.tsx +7 -13
  41. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
  42. package/src/components/static-html/share-modal.tsx +1 -1
  43. package/src/core/network/__tests__/api.test.ts +42 -0
  44. package/src/core/network/__tests__/requests-network.test.ts +1 -0
  45. package/src/core/network/api.ts +27 -0
  46. package/src/core/network/requests-network.ts +5 -5
  47. package/src/core/network/types.ts +15 -4
  48. package/src/core/static/download-html.ts +5 -14
  49. package/src/core/wasm/bridge.ts +3 -2
  50. package/src/core/wasm/worker/types.ts +5 -2
  51. package/src/utils/__tests__/download.test.tsx +24 -1
  52. package/src/utils/download.ts +11 -6
  53. package/dist/assets/download-CnYLah74.js +0 -9
  54. package/dist/assets/switch-Drt3XC71.js +0 -1
  55. package/dist/assets/useNotebookActions-IfA6VBEA.js +0 -12
@@ -1,4 +1,4 @@
1
- import{s as Je}from"./chunk-LvLJmgfZ.js";import{i as Et,l as _e,n as ae,p as Ye,u as ge}from"./useEvent-D91BmmQi.js";import{t as At}from"./react-Bj1aDYRI.js";import{Bi as Xe,E as Ht,Ii as qt,Nn as Ze,wr as Ut}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{g as De}from"./useEventListener-C0195JsF.js";import{t as Kt}from"./invariant-CkiqGLcK.js";import{g as Wt,p as Qe}from"./utils-BWBBpCkT.js";import{M as je,r as Gt}from"./config-B-Q7J_6d.js";import{t as le}from"./cn-DYvqRARy.js";import{t as Jt}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{r as Yt}from"./config-BJVx3eBW.js";import{o as Xt}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as X,c as ue,p as Zt,r as Qt,t as ea}from"./dropdown-menu-dHmZR8bI.js";import{Lt as Fe,a as ta,i as et,m as aa,o as tt}from"./JsonOutput-BoDVlAbV.js";import{c as ra,i as Te,r as at}from"./download-CnYLah74.js";import{r as rt}from"./radio-group-CdR34W0K.js";import{t as Z}from"./tooltip-4bZlU7jl.js";import{n as na,t as A}from"./button-DDGiD1NW.js";import{Tt as sa}from"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{n as oa,r as ze,t as la}from"./requests-9-v2bhoi.js";import{t as ne}from"./createLucideIcon-w-Qo9n0R.js";import{a as ia,i as nt,l as st,n as Me,o as ye,r as ca,s as Le,t as da}from"./state-DDag0B_B.js";import{n as ma}from"./LazyAnyLanguageCodeMirror-B2JvSXP-.js";import{t as pa}from"./x-C-Eq0ag8.js";import{a as ha,i as Oe,n as xa,r as ot,t as be}from"./tree-actions-DJTGQWz0.js";import{a as fa}from"./markdown-renderer-C9vdWclk.js";import{u as ua}from"./toDate-Ct2FT81-.js";import{t as lt}from"./copy-3iHFdt22.js";import{t as $e}from"./external-link-BOlXZUla.js";import{a as ya,i as it,n as ct,r as ga,t as ja}from"./file-icons-Czm7CWoc.js";import{t as dt}from"./file-CJH9JNGH.js";import{i as mt,r as ba,t as pt}from"./add-connection-dialog-wLF3on0N.js";import{n as ve,t as va}from"./spinner-D-V4psAa.js";import{a as wa,c as Na,d as ka,f as Sa,i as Ca,l as _a,n as Fa,r as Ma,t as Pa,u as Da}from"./file-name-input-CjWG0FWT.js";import{t as ht}from"./plus-AgXtozBz.js";import{t as xt}from"./refresh-cw-CYq4mK5a.js";import{t as Ta}from"./save-DBuEmnnF.js";import{t as za}from"./triangle-alert-BL4YVsPy.js";import{n as La,t as Oa}from"./es-gYgfF8y5.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as re}from"./use-toast-BwJoaaDM.js";import{t as $a}from"./paths-BKO-pHK6.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as we}from"./copy-Bxb1_Gtw.js";import{t as Ba}from"./copy-icon-neDQUo4Q.js";import{t as Be}from"./context-BFPaAUK_.js";import{n as ft}from"./ImperativeModal-fY-ZfT0b.js";import{t as Ra}from"./blob-C3EfaMOb.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{n as Va,t as Ia}from"./alert-jlwhGxSb.js";import{n as ut}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-1vflBYah.js";import{o as Ea}from"./focus-DTmSq3hN.js";import{n as Re}from"./useAsyncData-Bg5iAViP.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as Aa,f as Ha,o as yt,t as qa}from"./command-Dqxie4gq.js";import{a as Ua}from"./renderShortcut-Bl8_FVn8.js";import{t as Ka}from"./bundle.esm-D0TWQ6iT.js";import{n as Wa}from"./pathUtils-Bfcp5m-a.js";import{n as Ga}from"./semaphore-DtBYRzWS.js";import{t as Ja}from"./empty-state-CqJvEFRk.js";import{t as Pe}from"./formatting-CDf6w1Kt.js";import{a as Ya,i as Xa,n as gt,r as jt,t as bt}from"./components-D-aPO6md.js";import{n as vt,t as Za}from"./marimo-icons-C_nFooxr.js";import{t as Qa}from"./links-CZr5bjvo.js";var er=ne("book-plus",[["path",{d:"M12 7v6",key:"lw1j43"}],["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:"M9 10h6",key:"9gxzsh"}]]),tr=ne("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"}]]),wt=ne("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]]),ar=ne("file-symlink",[["path",{d:"M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"huwfnr"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m10 18 3-3-3-3",key:"18f6ys"}]]),Nt=ne("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"}]]),kt=ne("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"}]]),rr=ne("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"}]]),St=ne("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"}]]),O=Je(At(),1),nr=oe(),a=Je(Jt(),1);const Ct=t=>{let e=(0,nr.c)(17),{filename:r,filenameIcon:o,onBack:i,onRefresh:n,onDownload:m,actions:l}=t,c;e[0]===i?c=e[1]:(c=i&&(0,a.jsx)(Z,{content:"Back to file list",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(st,{className:"h-4 w-4"})})}),e[0]=i,e[1]=c);let s;e[2]!==r||e[3]!==o?(s=r?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[o,r]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=r,e[3]=o,e[4]=s):s=e[4];let f;e[5]===n?f=e[6]:(f=n&&(0,a.jsx)(Z,{content:"Refresh",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:n,children:(0,a.jsx)(xt,{className:"h-3.5 w-3.5"})})}),e[5]=n,e[6]=f);let p;e[7]===m?p=e[8]:(p=m&&(0,a.jsx)(Z,{content:"Download",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:m,children:(0,a.jsx)(Fe,{className:"h-3.5 w-3.5"})})}),e[7]=m,e[8]=p);let x;e[9]!==l||e[10]!==f||e[11]!==p?(x=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[f,l,p]}),e[9]=l,e[10]=f,e[11]=p,e[12]=x):x=e[12];let u;return e[13]!==c||e[14]!==s||e[15]!==x?(u=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[c,s,x]}),e[13]=c,e[14]=s,e[15]=x,e[16]=u):u=e[16],u};var sr=new Set(["http","file","in-memory"]);function Ve(t){return JSON.stringify(t).slice(1,-1)}const _t=[{id:"read-file",label:"Insert read snippet",icon:er,getCode:t=>{if(t.entry.kind==="directory")return null;let e=Ve(t.entry.path);return t.backendType==="obstore"?`_data = ${t.variableName}.get("${e}").bytes()
1
+ import{s as Je}from"./chunk-LvLJmgfZ.js";import{i as Et,l as _e,n as ae,p as Ye,u as ge}from"./useEvent-D91BmmQi.js";import{t as At}from"./react-Bj1aDYRI.js";import{Bi as Xe,E as Ht,Ii as qt,Nn as Ze,wr as Ut}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as oe}from"./compiler-runtime-B3qBwwSJ.js";import{g as De}from"./useEventListener-C0195JsF.js";import{t as Kt}from"./invariant-CkiqGLcK.js";import{g as Wt,p as Qe}from"./utils-BWBBpCkT.js";import{M as je,r as Gt}from"./config-B-Q7J_6d.js";import{t as le}from"./cn-DYvqRARy.js";import{t as Jt}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{r as Yt}from"./config-BJVx3eBW.js";import{o as Xt}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as X,c as ue,p as Zt,r as Qt,t as ea}from"./dropdown-menu-dHmZR8bI.js";import{Lt as Fe,a as ta,i as et,m as aa,o as tt}from"./JsonOutput-BG5T3DG2.js";import{i as Te,l as ra,r as at}from"./download-Benw6kUY.js";import{r as rt}from"./radio-group-CdR34W0K.js";import{t as Z}from"./tooltip-4bZlU7jl.js";import{n as na,t as A}from"./button-DDGiD1NW.js";import{Tt as sa}from"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{n as oa,r as ze,t as la}from"./requests-9-v2bhoi.js";import{t as ne}from"./createLucideIcon-w-Qo9n0R.js";import{a as ia,i as nt,l as st,n as Me,o as ye,r as ca,s as Le,t as da}from"./state-DDag0B_B.js";import{n as ma}from"./LazyAnyLanguageCodeMirror-B2JvSXP-.js";import{t as pa}from"./x-C-Eq0ag8.js";import{a as ha,i as Oe,n as xa,r as ot,t as be}from"./tree-actions-DJTGQWz0.js";import{a as fa}from"./markdown-renderer-C9vdWclk.js";import{u as ua}from"./toDate-Ct2FT81-.js";import{t as lt}from"./copy-3iHFdt22.js";import{t as $e}from"./external-link-BOlXZUla.js";import{a as ya,i as it,n as ct,r as ga,t as ja}from"./file-icons-Czm7CWoc.js";import{t as dt}from"./file-CJH9JNGH.js";import{i as mt,r as ba,t as pt}from"./add-connection-dialog-DFD5BLGa.js";import{n as ve,t as va}from"./spinner-D-V4psAa.js";import{a as wa,c as Na,d as ka,f as Sa,i as Ca,l as _a,n as Fa,r as Ma,t as Pa,u as Da}from"./file-name-input-CjWG0FWT.js";import{t as ht}from"./plus-AgXtozBz.js";import{t as xt}from"./refresh-cw-CYq4mK5a.js";import{t as Ta}from"./save-DBuEmnnF.js";import{t as za}from"./triangle-alert-BL4YVsPy.js";import{n as La,t as Oa}from"./es-gYgfF8y5.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as re}from"./use-toast-BwJoaaDM.js";import{t as $a}from"./paths-BKO-pHK6.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as we}from"./copy-Bxb1_Gtw.js";import{t as Ba}from"./copy-icon-neDQUo4Q.js";import{t as Be}from"./context-BFPaAUK_.js";import{n as ft}from"./ImperativeModal-fY-ZfT0b.js";import{t as Ra}from"./blob-C3EfaMOb.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{n as Va,t as Ia}from"./alert-jlwhGxSb.js";import{n as ut}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-1vflBYah.js";import{o as Ea}from"./focus-DTmSq3hN.js";import{n as Re}from"./useAsyncData-Bg5iAViP.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as Aa,f as Ha,o as yt,t as qa}from"./command-Dqxie4gq.js";import{a as Ua}from"./renderShortcut-Bl8_FVn8.js";import{t as Ka}from"./bundle.esm-D0TWQ6iT.js";import{n as Wa}from"./pathUtils-Bfcp5m-a.js";import{n as Ga}from"./semaphore-DtBYRzWS.js";import{t as Ja}from"./empty-state-CqJvEFRk.js";import{t as Pe}from"./formatting-CDf6w1Kt.js";import{a as Ya,i as Xa,n as gt,r as jt,t as bt}from"./components-D-aPO6md.js";import{n as vt,t as Za}from"./marimo-icons-C_nFooxr.js";import{t as Qa}from"./links-CZr5bjvo.js";var er=ne("book-plus",[["path",{d:"M12 7v6",key:"lw1j43"}],["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:"M9 10h6",key:"9gxzsh"}]]),tr=ne("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"}]]),wt=ne("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]]),ar=ne("file-symlink",[["path",{d:"M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"huwfnr"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m10 18 3-3-3-3",key:"18f6ys"}]]),Nt=ne("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"}]]),kt=ne("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"}]]),rr=ne("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"}]]),St=ne("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"}]]),O=Je(At(),1),nr=oe(),a=Je(Jt(),1);const Ct=t=>{let e=(0,nr.c)(17),{filename:r,filenameIcon:o,onBack:i,onRefresh:n,onDownload:m,actions:l}=t,c;e[0]===i?c=e[1]:(c=i&&(0,a.jsx)(Z,{content:"Back to file list",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(st,{className:"h-4 w-4"})})}),e[0]=i,e[1]=c);let s;e[2]!==r||e[3]!==o?(s=r?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[o,r]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=r,e[3]=o,e[4]=s):s=e[4];let f;e[5]===n?f=e[6]:(f=n&&(0,a.jsx)(Z,{content:"Refresh",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:n,children:(0,a.jsx)(xt,{className:"h-3.5 w-3.5"})})}),e[5]=n,e[6]=f);let p;e[7]===m?p=e[8]:(p=m&&(0,a.jsx)(Z,{content:"Download",children:(0,a.jsx)(A,{variant:"text",size:"xs",onClick:m,children:(0,a.jsx)(Fe,{className:"h-3.5 w-3.5"})})}),e[7]=m,e[8]=p);let x;e[9]!==l||e[10]!==f||e[11]!==p?(x=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[f,l,p]}),e[9]=l,e[10]=f,e[11]=p,e[12]=x):x=e[12];let u;return e[13]!==c||e[14]!==s||e[15]!==x?(u=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[c,s,x]}),e[13]=c,e[14]=s,e[15]=x,e[16]=u):u=e[16],u};var sr=new Set(["http","file","in-memory"]);function Ve(t){return JSON.stringify(t).slice(1,-1)}const _t=[{id:"read-file",label:"Insert read snippet",icon:er,getCode:t=>{if(t.entry.kind==="directory")return null;let e=Ve(t.entry.path);return t.backendType==="obstore"?`_data = ${t.variableName}.get("${e}").bytes()
2
2
  _data`:`_data = ${t.variableName}.cat_file("${e}")
3
3
  _data`}},{id:"download-file",label:"Insert download snippet",icon:ar,getCode:t=>{if(t.entry.kind==="directory")return null;let e=Ve(t.entry.path);if(t.backendType==="obstore")return sr.has(t.protocol)?null:`from datetime import timedelta
4
4
  from obstore import sign
@@ -1,2 +1,2 @@
1
- import{s as Q}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{jt as xe}from"./cells-D9tCNe6o.js";import{_ as R,c as ue,d as Z,f as F,g as je,h as I,l as ve,m as ge,o as be,p as E,s as ye,t as U,u as W,y as q}from"./zod-H_cgTO0M.js";import{t as X}from"./compiler-runtime-B3qBwwSJ.js";import{g as Ne}from"./useEventListener-C0195JsF.js";import{t as we}from"./objects-BlG0ZrO0.js";import{t as B}from"./cn-DYvqRARy.js";import{t as Ce}from"./jsx-runtime-Blw4afVn.js";import{c as Se,i as Y,l as ke,n as Oe,r as Ve,s as $e,t as Ae}from"./select-BP75_5jJ.js";import{M as ee,N as re,U as Le}from"./JsonOutput-BoDVlAbV.js";import{t as Me}from"./label-CqjrpwRC.js";import{n as ze,t as Ee}from"./radio-group-CdR34W0K.js";import{t as Pe}from"./tooltip-4bZlU7jl.js";import{r as Te,t as ne}from"./button-DDGiD1NW.js";import{t as se}from"./strings--BknHX9C.js";import{t as _e}from"./createLucideIcon-w-Qo9n0R.js";import{t as De}from"./plus-AgXtozBz.js";import{t as Je}from"./refresh-ccw-sLaKP2vj.js";import{n as Ze,t as K}from"./input-JxFwu-3G.js";import{a as k,c as N,d as O,h as Fe,l as V,m as Ie,o as S,r as te,u as y,y as Ue}from"./textarea-BQE_pb7P.js";import{t as qe}from"./trash-2-72W0TZ3L.js";var Be=_e("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"}]]);const A={of(n){return JSON.stringify(n)},parse(n){if(!n)return{};try{return JSON.parse(n)}catch{return{label:n}}}};function ae(){return Math.floor(Math.random()*1e5)}function Ke(n){return n instanceof U.ZodArray}function le(n){return n instanceof U.ZodPipe}function Ge(n){return n instanceof U.ZodTuple}function ie(n){return"unwrap"in n?n.unwrap():n}function D(n){let e=t=>{if(t instanceof E){let a=[...t.values];return t.values.size===1?a[0]:a}if(t instanceof W){let a=t.def.defaultValue;return typeof a=="function"?a():a}if(le(t))return e(t.in);if(Ge(t))return t.def.items.map(a=>e(a));if("unwrap"in t)return e(ie(t))};return n instanceof q||n instanceof Z?e(n.options[0]):Ke(n)?He(n)?[D(n.element)]:[]:n instanceof R?"":n instanceof F?n.options[0]:n instanceof I?Object.fromEntries(Object.entries(n.shape).map(([t,a])=>[t,e(a)])):e(n)}function M(n){if(n instanceof E)return n;if(n instanceof I){let e=n.shape.type;if(e instanceof E)return e;throw Error("Invalid schema")}if(n instanceof q||n instanceof Z)return M(n.options[0]);throw Ne.warn(n),Error("Invalid schema")}function He(n){return!n.safeParse([]).success}var oe=X(),ce=Q(fe(),1),r=Q(Ce(),1),de=`
1
+ import{s as Q}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{jt as xe}from"./cells-D9tCNe6o.js";import{_ as R,c as ue,d as Z,f as F,g as je,h as I,l as ve,m as ge,o as be,p as E,s as ye,t as U,u as W,y as q}from"./zod-H_cgTO0M.js";import{t as X}from"./compiler-runtime-B3qBwwSJ.js";import{g as Ne}from"./useEventListener-C0195JsF.js";import{t as we}from"./objects-BlG0ZrO0.js";import{t as B}from"./cn-DYvqRARy.js";import{t as Ce}from"./jsx-runtime-Blw4afVn.js";import{c as Se,i as Y,l as ke,n as Oe,r as Ve,s as $e,t as Ae}from"./select-BP75_5jJ.js";import{M as ee,N as re,U as Le}from"./JsonOutput-BG5T3DG2.js";import{t as Me}from"./label-CqjrpwRC.js";import{n as ze,t as Ee}from"./radio-group-CdR34W0K.js";import{t as Pe}from"./tooltip-4bZlU7jl.js";import{r as Te,t as ne}from"./button-DDGiD1NW.js";import{t as se}from"./strings--BknHX9C.js";import{t as _e}from"./createLucideIcon-w-Qo9n0R.js";import{t as De}from"./plus-AgXtozBz.js";import{t as Je}from"./refresh-ccw-sLaKP2vj.js";import{n as Ze,t as K}from"./input-JxFwu-3G.js";import{a as k,c as N,d as O,h as Fe,l as V,m as Ie,o as S,r as te,u as y,y as Ue}from"./textarea-BQE_pb7P.js";import{t as qe}from"./trash-2-72W0TZ3L.js";var Be=_e("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"}]]);const A={of(n){return JSON.stringify(n)},parse(n){if(!n)return{};try{return JSON.parse(n)}catch{return{label:n}}}};function ae(){return Math.floor(Math.random()*1e5)}function Ke(n){return n instanceof U.ZodArray}function le(n){return n instanceof U.ZodPipe}function Ge(n){return n instanceof U.ZodTuple}function ie(n){return"unwrap"in n?n.unwrap():n}function D(n){let e=t=>{if(t instanceof E){let a=[...t.values];return t.values.size===1?a[0]:a}if(t instanceof W){let a=t.def.defaultValue;return typeof a=="function"?a():a}if(le(t))return e(t.in);if(Ge(t))return t.def.items.map(a=>e(a));if("unwrap"in t)return e(ie(t))};return n instanceof q||n instanceof Z?e(n.options[0]):Ke(n)?He(n)?[D(n.element)]:[]:n instanceof R?"":n instanceof F?n.options[0]:n instanceof I?Object.fromEntries(Object.entries(n.shape).map(([t,a])=>[t,e(a)])):e(n)}function M(n){if(n instanceof E)return n;if(n instanceof I){let e=n.shape.type;if(e instanceof E)return e;throw Error("Invalid schema")}if(n instanceof q||n instanceof Z)return M(n.options[0]);throw Ne.warn(n),Error("Invalid schema")}function He(n){return!n.safeParse([]).success}var oe=X(),ce=Q(fe(),1),r=Q(Ce(),1),de=`
2
2
  `;const pe=n=>{let e=(0,oe.c)(24),{value:t,options:a,onChange:l,className:d,placeholder:o,textAreaClassName:h,comboBoxClassName:m}=n,[s,i]=(0,ce.useState)(!1),p;e[0]===t?p=e[1]:(p=J(t),e[0]=t,e[1]=p);let f=p,x;e[2]!==m||e[3]!==l||e[4]!==a||e[5]!==o||e[6]!==s||e[7]!==h||e[8]!==f?(x=()=>s?(0,r.jsx)(G,{value:f,className:h,onChange:l,placeholder:o?`${o}: one per line`:"One value per line"}):(0,r.jsx)(ee,{placeholder:o,displayValue:Qe,className:B("w-full max-w-[400px]",m),multiple:!0,value:f,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:a.map(Re)}),e[2]=m,e[3]=l,e[4]=a,e[5]=o,e[6]=s,e[7]=h,e[8]=f,e[9]=x):x=e[9];let c=x,v;e[10]===d?v=e[11]:(v=B("flex gap-1",d),e[10]=d,e[11]=v);let u;e[12]===c?u=e[13]:(u=c(),e[12]=c,e[13]=u);let g=s?"Switch to multi-select":"Switch to textarea",j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=(0,r.jsx)(Ue,{className:"w-3 h-3"}),e[14]=j):j=e[14];let b;e[15]===s?b=e[16]:(b=(0,r.jsx)(Le,{size:"xs",onPressedChange:i,pressed:s,children:j}),e[15]=s,e[16]=b);let w;e[17]!==g||e[18]!==b?(w=(0,r.jsx)(Pe,{content:g,children:b}),e[17]=g,e[18]=b,e[19]=w):w=e[19];let C;return e[20]!==v||e[21]!==u||e[22]!==w?(C=(0,r.jsxs)("div",{className:v,children:[u,w]}),e[20]=v,e[21]=u,e[22]=w,e[23]=C):C=e[23],C},G=n=>{let e=(0,oe.c)(11),{className:t,value:a,onChange:l,placeholder:d}=n,o,h;if(e[0]!==a){let p=J(a);o=te,h=p.join(de),e[0]=a,e[1]=o,e[2]=h}else o=e[1],h=e[2];let m;e[3]===l?m=e[4]:(m=p=>{if(p.target.value===""){l([]);return}l(p.target.value.split(de))},e[3]=l,e[4]=m);let s=d?`${d}: one per line`:"One value per line",i;return e[5]!==o||e[6]!==t||e[7]!==h||e[8]!==m||e[9]!==s?(i=(0,r.jsx)(o,{value:h,className:t,rows:4,onChange:m,placeholder:s}),e[5]=o,e[6]=t,e[7]=h,e[8]=m,e[9]=s,e[10]=i):i=e[10],i};function J(n){return n==null?[]:Array.isArray(n)?n:[n].filter(e=>e!=null||e!=="")}function Qe(n){return n}function Re(n){return(0,r.jsx)(re,{value:n,children:n},n)}var z=X();const We=n=>{let e=(0,z.c)(11),{schema:t,form:a,path:l,renderers:d,children:o}=n,h=l===void 0?"":l,m;e[0]===d?m=e[1]:(m=d===void 0?[]:d,e[0]=d,e[1]=m);let s=m,i;e[2]!==a||e[3]!==h||e[4]!==s||e[5]!==t?(i=$(t,a,h,s),e[2]=a,e[3]=h,e[4]=s,e[5]=t,e[6]=i):i=e[6];let p;return e[7]!==o||e[8]!==a||e[9]!==i?(p=(0,r.jsxs)(Ie,{...a,children:[o,i]}),e[7]=o,e[8]=a,e[9]=i,e[10]=p):p=e[10],p};function $(n,e,t,a){for(let s of a){let{isMatch:i,Component:p}=s;if(i(n))return(0,r.jsx)(p,{schema:n,form:e,path:t})}let{label:l,description:d,special:o,direction:h="column",minLength:m}=A.parse(n.description||"");if(n instanceof W){let s=n.unwrap();return s=!s.description&&n.description?s.describe(n.description):s,$(s,e,t,a)}if(n instanceof je){let s=n.unwrap();return s=!s.description&&n.description?s.describe(n.description):s,$(s,e,t,a)}if(n instanceof I)return(0,r.jsxs)("div",{className:B("flex",h==="row"?"flex-row gap-6 items-start":h==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,r.jsx)(y,{children:l}),we.entries(n.shape).map(([s,i])=>{let p=i instanceof E,f=$(i,e,nr(t,s),a);return p?(0,r.jsx)(ce.Fragment,{children:f},s):(0,r.jsx)("div",{className:"flex flex-row align-start",children:f},s)})]});if(n instanceof R)return o==="time"?(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(k,{children:(0,r.jsx)(K,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,r.jsx)(O,{})]})}):(0,r.jsx)(me,{schema:n,form:e,path:t});if(n instanceof ue)return(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(k,{children:(0,r.jsx)(xe,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,r.jsx)(O,{})]})});if(n instanceof ge)return o==="random_number_button"?(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(ne,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(ae())},children:[(0,r.jsx)(Je,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(k,{children:(0,r.jsx)(Ze,{...s,className:"my-0",onValueChange:s.onChange})}),(0,r.jsx)(O,{})]})});if(n instanceof ve){let s=o==="datetime"?"datetime-local":o==="time"?"time":"date";return(0,r.jsx)(N,{control:e.control,name:t,render:({field:i})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(k,{children:(0,r.jsx)(K,{...i,onValueChange:i.onChange,type:s,className:"my-0"})}),(0,r.jsx)(O,{})]})})}if(n instanceof be)return(0,r.jsx)(me,{schema:n,form:e,path:t});if(n instanceof F)return(0,r.jsx)(er,{schema:n,form:e,path:t,options:n.options.map(s=>s.toString())});if(n instanceof ye){if(o==="text_area_multiline")return(0,r.jsx)(Ye,{schema:n,form:e,path:t});let s=n.element;return s instanceof F?(0,r.jsx)(rr,{schema:n,form:e,path:t,itemLabel:l,options:s.options.map(i=>i.toString())}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(Me,{children:l}),(0,r.jsx)(Xe,{schema:n.element,form:e,path:t,minLength:m,renderers:a},t)]})}if(n instanceof Z){let s=n.def,i=s.options,p=s.discriminator,f=x=>i.find(c=>M(c).value===x);return(0,r.jsx)(N,{control:e.control,name:t,render:({field:x})=>{let c=x.value,v=i.map(j=>M(j).value),u=c&&typeof c=="object"&&p in c?c[p]:v[0],g=f(u);return(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:v.map(j=>(0,r.jsx)("button",{type:"button",className:`px-4 py-2 ${u===j?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let b=f(j);b?x.onChange(D(b)):x.onChange({[p]:j})},children:j},j))}),(0,r.jsx)("div",{className:"flex flex-col",children:g&&$(g,e,t,a)},u)]})}})}return n instanceof q?(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>{let i=n.options,p=s.value,f=i.map(c=>M(c).value);p||(p=f[0]);let x=i.find(c=>M(c).value===p);return(0,r.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,r.jsx)(y,{children:l}),(0,r.jsx)(ke,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:f.map(c=>(0,r.jsx)("option",{value:c,children:c},c))}),x&&$(x,e,t,a)]})}}):n instanceof E?(0,r.jsx)(N,{control:e.control,name:t,render:({field:s})=>(0,r.jsx)("input",{...s,type:"hidden",value:String([...n.values][0]??"")})}):"unwrap"in n?$(ie(n),e,t,a):le(n)?$(n.in,e,t,a):(0,r.jsxs)("div",{children:["Unknown schema type"," ",n==null?t:JSON.stringify(n.type??n)]})}var Xe=n=>{let e=(0,z.c)(39),{schema:t,form:a,path:l,minLength:d,renderers:o}=n,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description||""),e[0]=t.description,e[1]=h);let{label:m,description:s}=h,i=a.control,p;e[2]!==i||e[3]!==l?(p={control:i,name:l},e[2]=i,e[3]=l,e[4]=p):p=e[4];let{fields:f,append:x,remove:c}=Fe(p),v=d!=null&&f.length<d,u=d==null||f.length>d,g;e[5]===m?g=e[6]:(g=(0,r.jsx)(y,{children:m}),e[5]=m,e[6]=g);let j;e[7]===s?j=e[8]:(j=(0,r.jsx)(S,{children:s}),e[7]=s,e[8]=j);let b;if(e[9]!==u||e[10]!==f||e[11]!==a||e[12]!==l||e[13]!==c||e[14]!==o||e[15]!==t){let _;e[17]!==u||e[18]!==a||e[19]!==l||e[20]!==c||e[21]!==o||e[22]!==t?(_=(he,H)=>(0,r.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:Te.onEnter(sr),children:[$(t,a,`${l}[${H}]`,o),u&&(0,r.jsx)(qe,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{c(H)}})]},he.id),e[17]=u,e[18]=a,e[19]=l,e[20]=c,e[21]=o,e[22]=t,e[23]=_):_=e[23],b=f.map(_),e[9]=u,e[10]=f,e[11]=a,e[12]=l,e[13]=c,e[14]=o,e[15]=t,e[16]=b}else b=e[16];let w;e[24]!==v||e[25]!==d?(w=v&&(0,r.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,r.jsxs)("div",{children:["At least ",d," required."]})}),e[24]=v,e[25]=d,e[26]=w):w=e[26];let C;e[27]!==x||e[28]!==t?(C=()=>{x(D(t))},e[27]=x,e[28]=t,e[29]=C):C=e[29];let P;e[30]===Symbol.for("react.memo_cache_sentinel")?(P=(0,r.jsx)(De,{className:"w-3.5 h-3.5 mr-1"}),e[30]=P):P=e[30];let L;e[31]===C?L=e[32]:(L=(0,r.jsx)("div",{children:(0,r.jsxs)(ne,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:C,children:[P,"Add"]})}),e[31]=C,e[32]=L);let T;return e[33]!==g||e[34]!==j||e[35]!==b||e[36]!==w||e[37]!==L?(T=(0,r.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,j,b,w,L]}),e[33]=g,e[34]=j,e[35]=b,e[36]=w,e[37]=L,e[38]=T):T=e[38],T},me=n=>{let e=(0,z.c)(21),{schema:t,form:a,path:l}=n,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m,disabled:s,inputType:i}=d;if(i==="textarea"){let x;e[2]!==h||e[3]!==s||e[4]!==o||e[5]!==m?(x=v=>{let{field:u}=v;return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(k,{children:(0,r.jsx)(te,{...u,value:u.value,onChange:u.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,r.jsx)(O,{})]})},e[2]=h,e[3]=s,e[4]=o,e[5]=m,e[6]=x):x=e[6];let c;return e[7]!==a.control||e[8]!==l||e[9]!==x?(c=(0,r.jsx)(N,{control:a.control,name:l,render:x}),e[7]=a.control,e[8]=l,e[9]=x,e[10]=c):c=e[10],c}let p;e[11]!==h||e[12]!==s||e[13]!==i||e[14]!==o||e[15]!==m?(p=x=>{let{field:c}=x;return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(k,{children:(0,r.jsx)(K,{...c,type:i,value:c.value,onValueChange:c.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,r.jsx)(O,{})]})},e[11]=h,e[12]=s,e[13]=i,e[14]=o,e[15]=m,e[16]=p):p=e[16];let f;return e[17]!==a.control||e[18]!==l||e[19]!==p?(f=(0,r.jsx)(N,{control:a.control,name:l,render:p}),e[17]=a.control,e[18]=l,e[19]=p,e[20]=f):f=e[20],f},Ye=n=>{let e=(0,z.c)(10),{schema:t,form:a,path:l}=n,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m}=d,s;e[2]!==h||e[3]!==o||e[4]!==m?(s=p=>{let{field:f}=p;return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(k,{children:(0,r.jsx)(G,{...f,placeholder:m})}),(0,r.jsx)(O,{})]})},e[2]=h,e[3]=o,e[4]=m,e[5]=s):s=e[5];let i;return e[6]!==a.control||e[7]!==l||e[8]!==s?(i=(0,r.jsx)(N,{control:a.control,name:l,render:s}),e[6]=a.control,e[7]=l,e[8]=s,e[9]=i):i=e[9],i},er=n=>{let e=(0,z.c)(22),{schema:t,form:a,path:l,options:d,textTransform:o}=n,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description),e[0]=t.description,e[1]=h);let{label:m,description:s,disabled:i,special:p}=h;if(p==="radio_group"){let c;e[2]!==s||e[3]!==m||e[4]!==d||e[5]!==l?(c=u=>{let{field:g}=u;return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{children:m}),(0,r.jsx)(S,{children:s}),(0,r.jsx)(k,{children:(0,r.jsx)(Ee,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:d.map(j=>(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(ze,{value:j,id:`${l}-${j}`},j),(0,r.jsx)(y,{className:"whitespace-pre",htmlFor:`${l}-${j}`,children:se.startCase(j)})]},j))})}),(0,r.jsx)(O,{})]})},e[2]=s,e[3]=m,e[4]=d,e[5]=l,e[6]=c):c=e[6];let v;return e[7]!==i||e[8]!==a.control||e[9]!==l||e[10]!==c?(v=(0,r.jsx)(N,{control:a.control,name:l,disabled:i,render:c}),e[7]=i,e[8]=a.control,e[9]=l,e[10]=c,e[11]=v):v=e[11],v}let f;e[12]!==s||e[13]!==m||e[14]!==d||e[15]!==o?(f=c=>{let{field:v}=c;return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{className:"whitespace-pre",children:m}),(0,r.jsx)(S,{children:s}),(0,r.jsx)(k,{children:(0,r.jsxs)(Ae,{"data-testid":"marimo-plugin-data-frames-select",value:v.value,onValueChange:v.onChange,children:[(0,r.jsx)($e,{className:"min-w-[180px]",children:(0,r.jsx)(Se,{placeholder:"--"})}),(0,r.jsx)(Oe,{children:(0,r.jsxs)(Ve,{children:[d.map(u=>(0,r.jsx)(Y,{value:u,children:(o==null?void 0:o(u))??u},u)),d.length===0&&(0,r.jsx)(Y,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,r.jsx)(O,{})]})},e[12]=s,e[13]=m,e[14]=d,e[15]=o,e[16]=f):f=e[16];let x;return e[17]!==i||e[18]!==a.control||e[19]!==l||e[20]!==f?(x=(0,r.jsx)(N,{control:a.control,name:l,disabled:i,render:f}),e[17]=i,e[18]=a.control,e[19]=l,e[20]=f,e[21]=x):x=e[21],x},rr=n=>{let e=(0,z.c)(15),{schema:t,form:a,path:l,options:d,itemLabel:o,showSwitchable:h}=n,m;e[0]===t.description?m=e[1]:(m=A.parse(t.description),e[0]=t.description,e[1]=m);let{label:s,description:i,placeholder:p}=m,f;e[2]!==o||e[3]!==p?(f=p??(o?`Select ${o==null?void 0:o.toLowerCase()}`:void 0),e[2]=o,e[3]=p,e[4]=f):f=e[4];let x=f,c;e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==x||e[9]!==h?(c=u=>{let{field:g}=u,j=J(g.value);return(0,r.jsxs)(V,{children:[(0,r.jsx)(y,{className:"whitespace-pre",children:s}),(0,r.jsx)(S,{children:i}),(0,r.jsx)(k,{children:h?(0,r.jsx)(pe,{...g,value:j,options:d,placeholder:x}):(0,r.jsx)(ee,{className:"min-w-[180px]",placeholder:x,displayValue:tr,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:j,onValueChange:g.onChange,children:d.map(ar)})}),(0,r.jsx)(O,{})]})},e[5]=i,e[6]=s,e[7]=d,e[8]=x,e[9]=h,e[10]=c):c=e[10];let v;return e[11]!==a.control||e[12]!==l||e[13]!==c?(v=(0,r.jsx)(N,{control:a.control,name:l,render:c}),e[11]=a.control,e[12]=l,e[13]=c,e[14]=v):v=e[14],v};function nr(...n){return n.filter(e=>e!=="").join(".")}function sr(n){return n.preventDefault()}function tr(n){return se.startCase(n)}function ar(n){return(0,r.jsx)(re,{value:n,children:n},n)}export{J as a,A as c,G as i,ae as l,$ as n,D as o,pe as r,M as s,We as t,Be as u};
@@ -1,4 +1,4 @@
1
- import{s as re}from"./chunk-LvLJmgfZ.js";import{d as je,l as oe,n as ae}from"./useEvent-D91BmmQi.js";import{t as be}from"./react-Bj1aDYRI.js";import{Bi as se,Dr as ve,Nn as ie,Or as ke,_r as ne,jt as we,xr as Ne,yr as _e}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as le}from"./compiler-runtime-B3qBwwSJ.js";import{_ as ce}from"./useEventListener-C0195JsF.js";import{t as Se}from"./objects-BlG0ZrO0.js";import{n as E}from"./constants-CDyU_g2F.js";import{N as Ce}from"./config-B-Q7J_6d.js";import{t as ze}from"./ErrorBoundary-DzTD8LVq.js";import{t as Me}from"./cn-DYvqRARy.js";import{t as Ie}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{o as Re}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as De,c as Pe,p as Oe,r as Te,t as We}from"./dropdown-menu-dHmZR8bI.js";import{t as Ae}from"./label-CqjrpwRC.js";import{t as Fe}from"./tooltip-4bZlU7jl.js";import{t as B}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as H}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ue}from"./chart-no-axes-column-iDRxid4h.js";import{r as $e}from"./x-C-Eq0ag8.js";import{t as Le}from"./chevron-right-BS_NcSch.js";import{o as me,s as Ee}from"./tree-actions-DJTGQWz0.js";import{t as He}from"./circle-play-9HoTo51X.js";import{t as Q}from"./external-link-BOlXZUla.js";import{r as Ve,t as Be}from"./file-icons-Czm7CWoc.js";import{t as Ye}from"./file-CJH9JNGH.js";import{n as qe,r as Je,t as Ge}from"./youtube-OwaksuQt.js";import{t as Qe}from"./link-CHdiBDr5.js";import{t as K}from"./spinner-D-V4psAa.js";import{t as Ke}from"./package-Bxz_8e44.js";import{a as Xe,i as Ze,l as et,n as tt,o as rt,r as ot,s as at,t as st}from"./file-name-input-CjWG0FWT.js";import{n as it,r as nt,t as lt}from"./app-config-button-CJthjCbw.js";import{t as ct}from"./refresh-ccw-sLaKP2vj.js";import{dt as mt,r as dt}from"./input-JxFwu-3G.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as de}from"./use-toast-BwJoaaDM.js";import{n as he}from"./paths-BKO-pHK6.js";import{c as pe,n as ht,o as pt,t as ft}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as ut}from"./dates-C2LWzsCZ.js";import{t as xt}from"./context-BFPaAUK_.js";import{n as gt}from"./ImperativeModal-fY-ZfT0b.js";import{a as yt}from"./errors-PgHhDa-M.js";import{n as jt}from"./react-icons.esm-D4GMDkIf.js";import{t as fe}from"./error-banner-BSxEOIn2.js";import{n as X,t as bt}from"./useAsyncData-Bg5iAViP.js";import{t as Z}from"./icons-CIPE8AIY.js";import{t as vt}from"./github-_JH-0hIO.js";import{n as kt}from"./marimo-icons-C_nFooxr.js";import{t as wt}from"./links-CZr5bjvo.js";import"./Inputs-B8-VCb_j.js";import{t as Nt}from"./useInterval-CWBTUy5W.js";var _t=H("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"}]]),St=H("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),Ct=H("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),zt=H("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),Mt=H("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),D=re(be(),1),ee=le(),r=re(Ie(),1),It={intro:["Introduction",_t,"Get started with marimo basics"],dataflow:["Dataflow",ke,"Learn how cells interact with each other"],ui:["UI Elements",Mt,"Create interactive UI components"],markdown:["Markdown",ne,"Format text with parameterized markdown"],plots:["Plots",Ue,"Create interactive visualizations"],sql:["SQL",_e,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"external-dependencies":["External dependencies",Ke,"Declare dependencies with Python script metadata"],"for-jupyter-users":["For Jupyter users",zt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Z,"Using marimo to edit markdown files"]};const Rt=()=>{let t=(0,ee.c)(6),{openTutorial:e}=Y(),o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(Ct,{className:"w-4 h-4 mr-2"}),t[0]=o):o=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Oe,{asChild:!0,children:(0,r.jsxs)(B,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[o,"Tutorials",(0,r.jsx)(jt,{className:"w-3 h-3 ml-1"})]})}),t[1]=s):s=t[1];let a;t[2]===e?a=t[3]:(a=Se.entries(It).map(i=>{let[m,h]=i,[p,u,l]=h;return(0,r.jsxs)(De,{onSelect:async()=>{let c=await e({tutorialId:m});c&&wt(c.path)},children:[(0,r.jsx)(u,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,r.jsx)("div",{className:"flex items-center",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("span",{children:p}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:l})]})})]},m)}),t[2]=e,t[3]=a);let n;return t[4]===a?n=t[5]:(n=(0,r.jsxs)(We,{children:[s,(0,r.jsx)(Te,{side:"bottom",align:"end",className:"print:hidden",children:a})]}),t[4]=a,t[5]=n),n};var Dt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ve,url:E.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:vt,url:E.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:qe,url:E.discordLink},{title:"molab",description:"Run marimo notebooks in the cloud",icon:kt,url:E.molab},{title:"YouTube",description:"Watch tutorials and demos",icon:Ge,url:E.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ne,url:E.releasesPage}];const Pt=()=>{let t=(0,ee.c)(2),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(q,{Icon:Qe,children:"Resources"}),t[0]=e):e=t[0];let o;return t[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[e,(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:Dt.map(Ot)})]}),t[1]=o):o=t[1],o},q=t=>{let e=(0,ee.c)(8),{Icon:o,control:s,children:a}=t,n;e[0]===o?n=e[1]:(n=(0,r.jsx)(o,{className:"h-5 w-5"}),e[0]=o,e[1]=n);let i;e[2]!==a||e[3]!==n?(i=(0,r.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[n,a]}),e[2]=a,e[3]=n,e[4]=i):i=e[4];let m;return e[5]!==s||e[6]!==i?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),e[5]=s,e[6]=i,e[7]=m):m=e[7],m};function Ot(t){return(0,r.jsxs)("a",{href:t.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,r.jsx)(t.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium",children:t.title}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t.description})]})]},t.title)}const te=D.createContext({runningNotebooks:new Map,setRunningNotebooks:ce.NOOP}),J=D.createContext({root:"",refreshWorkspace:ce.NOOP}),Tt=se("marimo:home:include-markdown",!1,ie,{getOnInit:!0}),ue=se("marimo:home:expanded-folders",{},ie,{getOnInit:!0});var W=le();function xe(t){return`${ft()}-${encodeURIComponent(t)}`}var Wt=()=>{let t=(0,W.c)(58),[e,o]=(0,D.useState)(0),{getRecentFiles:s,getRunningNotebooks:a}=Y(),n;t[0]===s?n=t[1]:(n=()=>s(),t[0]=s,t[1]=n);let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],t[2]=i):i=t[2];let m=X(n,i),h,p;t[3]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{o(Yt)},p={delayMs:1e4,whenVisible:!0},t[3]=h,t[4]=p):(h=t[3],p=t[4]),Nt(h,p);let u;t[5]===a?u=t[6]:(u=async()=>{let R=await a();return me.keyBy(R.files,qt)},t[5]=a,t[6]=u);let l;t[7]===e?l=t[8]:(l=[e],t[7]=e,t[8]=l);let c=X(u,l),f,d,y,x,v,b,g,j,k,N,_,P,S;if(t[9]!==m||t[10]!==c){k=Symbol.for("react.early_return_sentinel");e:{let R=bt(m,c);if(R.error)throw R.error;let F=R.data;if(!F){let V;t[24]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)(K,{centered:!0,size:"xlarge"}),t[24]=V):V=t[24],k=V;break e}let[$,L]=F;x=$,y=D.Suspense,d=te,g={runningNotebooks:L,setRunningNotebooks:c.setData};let w,U;t[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(Rt,{}),U=(0,r.jsx)(lt,{showAppConfig:!1}),t[25]=w,t[26]=U):(w=t[25],U=t[26]);let G=`This will shutdown the notebook server and terminate all running notebooks (${L.size}). You'll lose all data that's in memory.`;t[27]===G?j=t[28]:(j=(0,r.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[w,U,(0,r.jsx)(it,{description:G})]}),t[27]=G,t[28]=j),P="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",t[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,r.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),v=(0,r.jsx)(Vt,{}),b=(0,r.jsx)(Pt,{}),t[29]=v,t[30]=b,t[31]=S):(v=t[29],b=t[30],S=t[31]),f=ge,t[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(q,{Icon:He,children:"Running notebooks"}),t[32]=N):N=t[32],_=[...L.values()]}t[9]=m,t[10]=c,t[11]=f,t[12]=d,t[13]=y,t[14]=x,t[15]=v,t[16]=b,t[17]=g,t[18]=j,t[19]=k,t[20]=N,t[21]=_,t[22]=P,t[23]=S}else f=t[11],d=t[12],y=t[13],x=t[14],v=t[15],b=t[16],g=t[17],j=t[18],k=t[19],N=t[20],_=t[21],P=t[22],S=t[23];if(k!==Symbol.for("react.early_return_sentinel"))return k;let C;t[33]!==f||t[34]!==N||t[35]!==_?(C=(0,r.jsx)(f,{header:N,files:_}),t[33]=f,t[34]=N,t[35]=_,t[36]=C):C=t[36];let A;t[37]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(q,{Icon:Ne,children:"Recent notebooks"}),t[37]=A):A=t[37];let z;t[38]===x.files?z=t[39]:(z=(0,r.jsx)(ge,{header:A,files:x.files}),t[38]=x.files,t[39]=z);let M;t[40]===m.refetch?M=t[41]:(M=(0,r.jsx)(ze,{children:(0,r.jsx)(At,{onRefreshRecents:m.refetch})}),t[40]=m.refetch,t[41]=M);let O;t[42]!==v||t[43]!==b||t[44]!==C||t[45]!==z||t[46]!==M||t[47]!==P||t[48]!==S?(O=(0,r.jsxs)("div",{className:P,children:[S,v,b,C,z,M]}),t[42]=v,t[43]=b,t[44]=C,t[45]=z,t[46]=M,t[47]=P,t[48]=S,t[49]=O):O=t[49];let I;t[50]!==d||t[51]!==g||t[52]!==j||t[53]!==O?(I=(0,r.jsxs)(d,{value:g,children:[j,O]}),t[50]=d,t[51]=g,t[52]=j,t[53]=O,t[54]=I):I=t[54];let T;return t[55]!==y||t[56]!==I?(T=(0,r.jsx)(y,{children:I}),t[55]=y,t[56]=I,t[57]=T):T=t[57],T},At=t=>{let e=(0,W.c)(54),{onRefreshRecents:o}=t,{getWorkspaceFiles:s}=Y(),[a,n]=oe(Tt),[i,m]=(0,D.useState)(""),h;e[0]!==s||e[1]!==a?(h=()=>s({includeMarkdown:a}),e[0]=s,e[1]=a,e[2]=h):h=e[2];let p;e[3]===a?p=e[4]:(p=[a],e[3]=a,e[4]=p);let{isPending:u,data:l,error:c,isFetching:f,refetch:d}=X(h,p),y;e[5]!==o||e[6]!==d?(y=()=>{d(),o()},e[5]=o,e[6]=d,e[7]=y):y=e[7];let x=ae(y);l==null||l.root;let v=(l==null?void 0:l.root)??"",b;e[8]!==x||e[9]!==v?(b={root:v,refreshWorkspace:x},e[8]=x,e[9]=v,e[10]=b):b=e[10];let g=b;if(u){let w;return e[11]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(K,{centered:!0,size:"xlarge",className:"mt-6"}),e[11]=w):w=e[11],w}if(c){let w;e[12]===c?w=e[13]:(w=yt(c),e[12]=c,e[13]=w);let U;return e[14]===w?U=e[15]:(U=(0,r.jsx)(fe,{kind:"danger",className:"rounded p-4",children:w}),e[14]=w,e[15]=U),U}let j;e[16]!==l.fileCount||e[17]!==l.hasMore?(j=l.hasMore&&(0,r.jsxs)(fe,{kind:"warn",className:"rounded p-4",children:["Showing first ",l.fileCount," files. Your workspace has more files."]}),e[16]=l.fileCount,e[17]=l.hasMore,e[18]=j):j=e[18];let k,N;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(mt,{size:13}),N=w=>m(w.target.value),e[19]=k,e[20]=N):(k=e[19],N=e[20]);let _;e[21]===i?_=e[22]:(_=(0,r.jsx)(dt,{id:"search",value:i,icon:k,onChange:N,placeholder:"Search",className:"mb-0 border-border"}),e[21]=i,e[22]=_);let P;e[23]===Symbol.for("react.memo_cache_sentinel")?(P=(0,r.jsx)(Ft,{}),e[23]=P):P=e[23];let S;e[24]===n?S=e[25]:(S=w=>n(!!w),e[24]=n,e[25]=S);let C;e[26]!==a||e[27]!==S?(C=(0,r.jsx)(we,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:S}),e[26]=a,e[27]=S,e[28]=C):C=e[28];let A;e[29]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(Ae,{htmlFor:"include-markdown",children:"Include markdown"}),e[29]=A):A=e[29];let z;e[30]!==C||e[31]!==_?(z=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[_,P,C,A]}),e[30]=C,e[31]=_,e[32]=z):z=e[32];let M;e[33]===d?M=e[34]:(M=()=>d(),e[33]=d,e[34]=M);let O;e[35]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r.jsx)(ct,{className:"w-4 h-4"}),e[35]=O):O=e[35];let I;e[36]===M?I=e[37]:(I=(0,r.jsx)(B,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:M,"aria-label":"Refresh workspace",children:O}),e[36]=M,e[37]=I);let T;e[38]===f?T=e[39]:(T=f&&(0,r.jsx)(K,{size:"small"}),e[38]=f,e[39]=T);let R;e[40]!==z||e[41]!==I||e[42]!==T?(R=(0,r.jsxs)(q,{Icon:St,control:z,children:["Workspace",I,T]}),e[40]=z,e[41]=I,e[42]=T,e[43]=R):R=e[43];let F;e[44]!==i||e[45]!==l.files?(F=(0,r.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,r.jsx)(Ut,{searchText:i,files:l.files})}),e[44]=i,e[45]=l.files,e[46]=F):F=e[46];let $;e[47]!==R||e[48]!==F||e[49]!==j?($=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[j,R,F]}),e[47]=R,e[48]=F,e[49]=j,e[50]=$):$=e[50];let L;return e[51]!==$||e[52]!==g?(L=(0,r.jsx)(J,{value:g,children:$}),e[51]=$,e[52]=g,e[53]=L):L=e[53],L},Ft=()=>{let t=(0,W.c)(5),e=je(ue),o;t[0]===e?o=t[1]:(o=()=>{e({})},t[0]=e,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Ee,{className:"w-4 h-4 mr-1"}),t[2]=s):s=t[2];let a;return t[3]===o?a=t[4]:(a=(0,r.jsxs)(B,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:o,children:[s,"Collapse all"]}),t[3]=o,t[4]=a),a},Ut=t=>{let e=(0,W.c)(20),{files:o,searchText:s}=t,[a,n]=oe(ue),i=Object.keys(a).length===0,m=(0,D.useRef)(void 0),{root:h,refreshWorkspace:p}=(0,D.use)(J),u;e[0]===h?u=e[1]:(u={root:h},e[0]=h,e[1]=u);let{renameFile:l}=rt(u),c,f;e[2]===i?(c=e[3],f=e[4]):(c=()=>{var g;i&&((g=m.current)==null||g.closeAll())},f=[i],e[2]=i,e[3]=c,e[4]=f),(0,D.useEffect)(c,f);let d;e[5]!==p||e[6]!==l?(d=async(g,j)=>{var N;let k=(N=m.current)==null?void 0:N.get(g);if(!k){de({title:"Failed",description:`Node with id ${g} not found in the tree`});return}await l(k.data,j)&&p()},e[5]=p,e[6]=l,e[7]=d):d=e[7];let y=ae(d);if(o.length===0){let g;return e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,r.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),e[8]=g):g=e[8],g}let x;e[9]!==a||e[10]!==n?(x=async g=>{let j=a[g]??!1;n({...a,[g]:!j})},e[9]=a,e[10]=n,e[11]=x):x=e[11];let v;e[12]===y?v=e[13]:(v=async g=>{let{id:j,name:k}=g;await y(j,k)},e[12]=y,e[13]=v);let b;return e[14]!==o||e[15]!==a||e[16]!==s||e[17]!==x||e[18]!==v?(b=(0,r.jsx)(et,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:Jt,data:o,openByDefault:!1,initialOpenState:a,onToggle:x,onRename:v,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Gt,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:$t}),e[14]=o,e[15]=a,e[16]=s,e[17]=x,e[18]=v,e[19]=b):b=e[19],b},$t=t=>{let e=(0,W.c)(18),{node:o,style:s}=t,a=Be[o.data.isDirectory?"directory":Ve(o.data.name)],n;e[0]===a?n=e[1]:(n=(0,r.jsx)(a,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),e[0]=a,e[1]=n);let i=n,{root:m}=(0,D.use)(J),{runningNotebooks:h}=(0,D.use)(te),p;e[2]!==i||e[3]!==o||e[4]!==m||e[5]!==h?(p=()=>{if(o.isEditing)return(0,r.jsxs)("div",{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,(0,r.jsx)(st,{node:o})]});if(o.data.isDirectory)return(0,r.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,o.data.name]});let x=o.data.path.startsWith(m)&&he.isAbsolute(o.data.path)?he.rest(o.data.path,m):o.data.path,v=x.endsWith(".md")||x.endsWith(".qmd"),b=h.has(x);return(0,r.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:pe(`?file=${encodeURIComponent(x)}`).toString(),target:xe(x),children:[i,(0,r.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[o.data.name,v&&(0,r.jsx)(Z,{className:"ml-2 inline opacity-80"})]}),(0,r.jsx)(Lt,{node:o,isRunning:b}),(0,r.jsx)("div",{className:"w-8 h-8 flex items-center justify-center shrink-0",children:(0,r.jsx)(ye,{filePath:x})}),(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary shrink-0"})]})},e[2]=i,e[3]=o,e[4]=m,e[5]=h,e[6]=p):p=e[6];let u=p,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=Me("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),e[7]=l):l=e[7];let c,f;e[8]===o?(c=e[9],f=e[10]):(c=x=>{x.stopPropagation(),o.data.isDirectory&&o.toggle()},f=(0,r.jsx)(Et,{node:o}),e[8]=o,e[9]=c,e[10]=f);let d;e[11]===u?d=e[12]:(d=u(),e[11]=u,e[12]=d);let y;return e[13]!==s||e[14]!==c||e[15]!==f||e[16]!==d?(y=(0,r.jsxs)("div",{style:s,className:l,onClick:c,children:[f,d]}),e[13]=s,e[14]=c,e[15]=f,e[16]=d,e[17]=y):y=e[17],y},Lt=t=>{let e=(0,W.c)(19),{node:o,isRunning:s}=t,{root:a,refreshWorkspace:n}=(0,D.use)(J),i;e[0]!==o||e[1]!==n||e[2]!==a?(i={node:o,root:a,onAfterChange:n},e[0]=o,e[1]=n,e[2]=a,e[3]=i):i=e[3];let{handleRename:m,handleDuplicate:h,handleDelete:p}=at(i),u=s?"Stop the notebook's kernel before renaming or deleting.":void 0,l;e[4]!==m||e[5]!==s||e[6]!==u?(l=(0,r.jsx)(Xe,{onSelect:m,disabled:s,title:u}),e[4]=m,e[5]=s,e[6]=u,e[7]=l):l=e[7];let c;e[8]===h?c=e[9]:(c=(0,r.jsx)(ot,{onSelect:h}),e[8]=h,e[9]=c);let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(Pe,{}),e[10]=f):f=e[10];let d;e[11]!==p||e[12]!==s||e[13]!==u?(d=(0,r.jsx)(tt,{onSelect:p,disabled:s,title:u}),e[11]=p,e[12]=s,e[13]=u,e[14]=d):d=e[14];let y;return e[15]!==l||e[16]!==c||e[17]!==d?(y=(0,r.jsxs)(Ze,{testId:"workspace-more-button",buttonClassName:"w-8 h-8 p-0 shrink-0",contentClassName:"print:hidden w-fit min-w-[140px]",preventDefaultOnTrigger:!0,children:[l,c,f,d]}),e[15]=l,e[16]=c,e[17]=d,e[18]=y):y=e[18],y},Et=t=>{let e=(0,W.c)(3),{node:o}=t;if(!o.data.isDirectory){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=a):a=e[0],a}let s;return e[1]===o.isOpen?s=e[2]:(s=o.isOpen?(0,r.jsx)($e,{className:"w-5 h-5 shrink-0"}):(0,r.jsx)(Le,{className:"w-5 h-5 shrink-0"}),e[1]=o.isOpen,e[2]=s),s},ge=t=>{let e=(0,W.c)(7),{header:o,files:s}=t;if(s.length===0)return null;let a;e[0]===s?a=e[1]:(a=s.map(Qt),e[0]=s,e[1]=a);let n;e[2]===a?n=e[3]:(n=(0,r.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:a}),e[2]=a,e[3]=n);let i;return e[4]!==o||e[5]!==n?(i=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[o,n]}),e[4]=o,e[5]=n,e[6]=i):i=e[6],i},Ht=t=>{let e=(0,W.c)(41),{file:o}=t,{locale:s}=xt(),a;e[0]===o.path?a=e[1]:(a=ht(o.path),e[0]=o.path,e[1]=a);let n=a,i,m,h,p;if(e[2]!==o.initializationId||e[3]!==o.path||e[4]!==n){let N=pe(n?`?file=${encodeURIComponent(o.initializationId??o.path)}&session_id=${o.path}`:`?file=${encodeURIComponent(o.path)}`),_;e[9]===o.path?_=e[10]:(_=o.path.endsWith(".md"),e[9]=o.path,e[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",h=o.path,p=N.toString(),e[2]=o.initializationId,e[3]=o.path,e[4]=n,e[5]=i,e[6]=m,e[7]=h,e[8]=p}else i=e[5],m=e[6],h=e[7],p=e[8];let u=o.initializationId||o.path,l;e[11]===u?l=e[12]:(l=xe(u),e[11]=u,e[12]=l);let c;e[13]===i?c=e[14]:(c=i&&(0,r.jsx)("span",{className:"opacity-80",children:(0,r.jsx)(Z,{})}),e[13]=i,e[14]=c);let f;e[15]!==o.name||e[16]!==c?(f=(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[o.name,c]}),e[15]=o.name,e[16]=c,e[17]=f):f=e[17];let d;e[18]===o.path?d=e[19]:(d=(0,r.jsx)("p",{title:o.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:o.path}),e[18]=o.path,e[19]=d);let y;e[20]!==f||e[21]!==d?(y=(0,r.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,d]}),e[20]=f,e[21]=d,e[22]=y):y=e[22];let x;e[23]===o.path?x=e[24]:(x=(0,r.jsx)("div",{children:(0,r.jsx)(ye,{filePath:o.path})}),e[23]=o.path,e[24]=x);let v;e[25]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),e[25]=v):v=e[25];let b;e[26]===x?b=e[27]:(b=(0,r.jsxs)("div",{className:"flex gap-3 items-center",children:[x,v]}),e[26]=x,e[27]=b);let g;e[28]!==o.lastModified||e[29]!==s?(g=!!o.lastModified&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ut(o.lastModified*1e3,s)}),e[28]=o.lastModified,e[29]=s,e[30]=g):g=e[30];let j;e[31]!==b||e[32]!==g?(j=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[b,g]}),e[31]=b,e[32]=g,e[33]=j):j=e[33];let k;return e[34]!==y||e[35]!==j||e[36]!==m||e[37]!==h||e[38]!==p||e[39]!==l?(k=(0,r.jsxs)("a",{className:m,href:p,target:l,children:[y,j]},h),e[34]=y,e[35]=j,e[36]=m,e[37]=h,e[38]=p,e[39]=l,e[40]=k):k=e[40],k},ye=t=>{let e=(0,W.c)(10),{filePath:o}=t,{openConfirm:s,closeModal:a}=gt(),{shutdownSession:n}=Y(),{runningNotebooks:i,setRunningNotebooks:m}=(0,D.use)(te);if(!i.has(o))return null;let h;e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==m||e[5]!==n?(h=l=>{l.stopPropagation(),l.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,r.jsx)(Re,{onClick:()=>{let c=i.get(o);Ce(c==null?void 0:c.sessionId),n({sessionId:c.sessionId}).then(f=>{m(me.keyBy(f.files,Kt))}),a(),de({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[0]=a,e[1]=o,e[2]=s,e[3]=i,e[4]=m,e[5]=n,e[6]=h):h=e[6];let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(nt,{size:14}),e[7]=p):p=e[7];let u;return e[8]===h?u=e[9]:(u=(0,r.jsx)(Fe,{content:"Shutdown",children:(0,r.jsx)(B,{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:h,children:p})}),e[8]=h,e[9]=u),u},Vt=()=>{let t=(0,W.c)(3),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=pt(),t[0]=e):e=t[0];let o=e,s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),t[1]=s):s=t[1];let a;return t[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsxs)("a",{className:`relative rounded-lg p-6 group
1
+ import{s as re}from"./chunk-LvLJmgfZ.js";import{d as je,l as oe,n as ae}from"./useEvent-D91BmmQi.js";import{t as be}from"./react-Bj1aDYRI.js";import{Bi as se,Dr as ve,Nn as ie,Or as ke,_r as ne,jt as we,xr as Ne,yr as _e}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as le}from"./compiler-runtime-B3qBwwSJ.js";import{_ as ce}from"./useEventListener-C0195JsF.js";import{t as Se}from"./objects-BlG0ZrO0.js";import{n as E}from"./constants-CDyU_g2F.js";import{N as Ce}from"./config-B-Q7J_6d.js";import{t as ze}from"./ErrorBoundary-DzTD8LVq.js";import{t as Me}from"./cn-DYvqRARy.js";import{t as Ie}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{o as Re}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as De,c as Pe,p as Oe,r as Te,t as We}from"./dropdown-menu-dHmZR8bI.js";import{t as Ae}from"./label-CqjrpwRC.js";import{t as Fe}from"./tooltip-4bZlU7jl.js";import{t as B}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as H}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ue}from"./chart-no-axes-column-iDRxid4h.js";import{r as $e}from"./x-C-Eq0ag8.js";import{t as Le}from"./chevron-right-BS_NcSch.js";import{o as me,s as Ee}from"./tree-actions-DJTGQWz0.js";import{t as He}from"./circle-play-9HoTo51X.js";import{t as Q}from"./external-link-BOlXZUla.js";import{r as Ve,t as Be}from"./file-icons-Czm7CWoc.js";import{t as Ye}from"./file-CJH9JNGH.js";import{n as qe,r as Je,t as Ge}from"./youtube-OwaksuQt.js";import{t as Qe}from"./link-CHdiBDr5.js";import{t as K}from"./spinner-D-V4psAa.js";import{t as Ke}from"./package-Bxz_8e44.js";import{a as Xe,i as Ze,l as et,n as tt,o as rt,r as ot,s as at,t as st}from"./file-name-input-CjWG0FWT.js";import{n as it,r as nt,t as lt}from"./app-config-button-Cankwixh.js";import{t as ct}from"./refresh-ccw-sLaKP2vj.js";import{dt as mt,r as dt}from"./input-JxFwu-3G.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as de}from"./use-toast-BwJoaaDM.js";import{n as he}from"./paths-BKO-pHK6.js";import{c as pe,n as ht,o as pt,t as ft}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as ut}from"./dates-C2LWzsCZ.js";import{t as xt}from"./context-BFPaAUK_.js";import{n as gt}from"./ImperativeModal-fY-ZfT0b.js";import{a as yt}from"./errors-PgHhDa-M.js";import{n as jt}from"./react-icons.esm-D4GMDkIf.js";import{t as fe}from"./error-banner-BSxEOIn2.js";import{n as X,t as bt}from"./useAsyncData-Bg5iAViP.js";import{t as Z}from"./icons-CIPE8AIY.js";import{t as vt}from"./github-_JH-0hIO.js";import{n as kt}from"./marimo-icons-C_nFooxr.js";import{t as wt}from"./links-CZr5bjvo.js";import"./Inputs-B8-VCb_j.js";import{t as Nt}from"./useInterval-CWBTUy5W.js";var _t=H("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"}]]),St=H("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),Ct=H("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),zt=H("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),Mt=H("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),D=re(be(),1),ee=le(),r=re(Ie(),1),It={intro:["Introduction",_t,"Get started with marimo basics"],dataflow:["Dataflow",ke,"Learn how cells interact with each other"],ui:["UI Elements",Mt,"Create interactive UI components"],markdown:["Markdown",ne,"Format text with parameterized markdown"],plots:["Plots",Ue,"Create interactive visualizations"],sql:["SQL",_e,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"external-dependencies":["External dependencies",Ke,"Declare dependencies with Python script metadata"],"for-jupyter-users":["For Jupyter users",zt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Z,"Using marimo to edit markdown files"]};const Rt=()=>{let t=(0,ee.c)(6),{openTutorial:e}=Y(),o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(Ct,{className:"w-4 h-4 mr-2"}),t[0]=o):o=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Oe,{asChild:!0,children:(0,r.jsxs)(B,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[o,"Tutorials",(0,r.jsx)(jt,{className:"w-3 h-3 ml-1"})]})}),t[1]=s):s=t[1];let a;t[2]===e?a=t[3]:(a=Se.entries(It).map(i=>{let[m,h]=i,[p,u,l]=h;return(0,r.jsxs)(De,{onSelect:async()=>{let c=await e({tutorialId:m});c&&wt(c.path)},children:[(0,r.jsx)(u,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,r.jsx)("div",{className:"flex items-center",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("span",{children:p}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:l})]})})]},m)}),t[2]=e,t[3]=a);let n;return t[4]===a?n=t[5]:(n=(0,r.jsxs)(We,{children:[s,(0,r.jsx)(Te,{side:"bottom",align:"end",className:"print:hidden",children:a})]}),t[4]=a,t[5]=n),n};var Dt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ve,url:E.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:vt,url:E.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:qe,url:E.discordLink},{title:"molab",description:"Run marimo notebooks in the cloud",icon:kt,url:E.molab},{title:"YouTube",description:"Watch tutorials and demos",icon:Ge,url:E.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ne,url:E.releasesPage}];const Pt=()=>{let t=(0,ee.c)(2),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(q,{Icon:Qe,children:"Resources"}),t[0]=e):e=t[0];let o;return t[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[e,(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:Dt.map(Ot)})]}),t[1]=o):o=t[1],o},q=t=>{let e=(0,ee.c)(8),{Icon:o,control:s,children:a}=t,n;e[0]===o?n=e[1]:(n=(0,r.jsx)(o,{className:"h-5 w-5"}),e[0]=o,e[1]=n);let i;e[2]!==a||e[3]!==n?(i=(0,r.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[n,a]}),e[2]=a,e[3]=n,e[4]=i):i=e[4];let m;return e[5]!==s||e[6]!==i?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),e[5]=s,e[6]=i,e[7]=m):m=e[7],m};function Ot(t){return(0,r.jsxs)("a",{href:t.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,r.jsx)(t.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium",children:t.title}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t.description})]})]},t.title)}const te=D.createContext({runningNotebooks:new Map,setRunningNotebooks:ce.NOOP}),J=D.createContext({root:"",refreshWorkspace:ce.NOOP}),Tt=se("marimo:home:include-markdown",!1,ie,{getOnInit:!0}),ue=se("marimo:home:expanded-folders",{},ie,{getOnInit:!0});var W=le();function xe(t){return`${ft()}-${encodeURIComponent(t)}`}var Wt=()=>{let t=(0,W.c)(58),[e,o]=(0,D.useState)(0),{getRecentFiles:s,getRunningNotebooks:a}=Y(),n;t[0]===s?n=t[1]:(n=()=>s(),t[0]=s,t[1]=n);let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],t[2]=i):i=t[2];let m=X(n,i),h,p;t[3]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{o(Yt)},p={delayMs:1e4,whenVisible:!0},t[3]=h,t[4]=p):(h=t[3],p=t[4]),Nt(h,p);let u;t[5]===a?u=t[6]:(u=async()=>{let R=await a();return me.keyBy(R.files,qt)},t[5]=a,t[6]=u);let l;t[7]===e?l=t[8]:(l=[e],t[7]=e,t[8]=l);let c=X(u,l),f,d,y,x,v,b,g,j,k,N,_,P,S;if(t[9]!==m||t[10]!==c){k=Symbol.for("react.early_return_sentinel");e:{let R=bt(m,c);if(R.error)throw R.error;let F=R.data;if(!F){let V;t[24]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)(K,{centered:!0,size:"xlarge"}),t[24]=V):V=t[24],k=V;break e}let[$,L]=F;x=$,y=D.Suspense,d=te,g={runningNotebooks:L,setRunningNotebooks:c.setData};let w,U;t[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(Rt,{}),U=(0,r.jsx)(lt,{showAppConfig:!1}),t[25]=w,t[26]=U):(w=t[25],U=t[26]);let G=`This will shutdown the notebook server and terminate all running notebooks (${L.size}). You'll lose all data that's in memory.`;t[27]===G?j=t[28]:(j=(0,r.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[w,U,(0,r.jsx)(it,{description:G})]}),t[27]=G,t[28]=j),P="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",t[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,r.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),v=(0,r.jsx)(Vt,{}),b=(0,r.jsx)(Pt,{}),t[29]=v,t[30]=b,t[31]=S):(v=t[29],b=t[30],S=t[31]),f=ge,t[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(q,{Icon:He,children:"Running notebooks"}),t[32]=N):N=t[32],_=[...L.values()]}t[9]=m,t[10]=c,t[11]=f,t[12]=d,t[13]=y,t[14]=x,t[15]=v,t[16]=b,t[17]=g,t[18]=j,t[19]=k,t[20]=N,t[21]=_,t[22]=P,t[23]=S}else f=t[11],d=t[12],y=t[13],x=t[14],v=t[15],b=t[16],g=t[17],j=t[18],k=t[19],N=t[20],_=t[21],P=t[22],S=t[23];if(k!==Symbol.for("react.early_return_sentinel"))return k;let C;t[33]!==f||t[34]!==N||t[35]!==_?(C=(0,r.jsx)(f,{header:N,files:_}),t[33]=f,t[34]=N,t[35]=_,t[36]=C):C=t[36];let A;t[37]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(q,{Icon:Ne,children:"Recent notebooks"}),t[37]=A):A=t[37];let z;t[38]===x.files?z=t[39]:(z=(0,r.jsx)(ge,{header:A,files:x.files}),t[38]=x.files,t[39]=z);let M;t[40]===m.refetch?M=t[41]:(M=(0,r.jsx)(ze,{children:(0,r.jsx)(At,{onRefreshRecents:m.refetch})}),t[40]=m.refetch,t[41]=M);let O;t[42]!==v||t[43]!==b||t[44]!==C||t[45]!==z||t[46]!==M||t[47]!==P||t[48]!==S?(O=(0,r.jsxs)("div",{className:P,children:[S,v,b,C,z,M]}),t[42]=v,t[43]=b,t[44]=C,t[45]=z,t[46]=M,t[47]=P,t[48]=S,t[49]=O):O=t[49];let I;t[50]!==d||t[51]!==g||t[52]!==j||t[53]!==O?(I=(0,r.jsxs)(d,{value:g,children:[j,O]}),t[50]=d,t[51]=g,t[52]=j,t[53]=O,t[54]=I):I=t[54];let T;return t[55]!==y||t[56]!==I?(T=(0,r.jsx)(y,{children:I}),t[55]=y,t[56]=I,t[57]=T):T=t[57],T},At=t=>{let e=(0,W.c)(54),{onRefreshRecents:o}=t,{getWorkspaceFiles:s}=Y(),[a,n]=oe(Tt),[i,m]=(0,D.useState)(""),h;e[0]!==s||e[1]!==a?(h=()=>s({includeMarkdown:a}),e[0]=s,e[1]=a,e[2]=h):h=e[2];let p;e[3]===a?p=e[4]:(p=[a],e[3]=a,e[4]=p);let{isPending:u,data:l,error:c,isFetching:f,refetch:d}=X(h,p),y;e[5]!==o||e[6]!==d?(y=()=>{d(),o()},e[5]=o,e[6]=d,e[7]=y):y=e[7];let x=ae(y);l==null||l.root;let v=(l==null?void 0:l.root)??"",b;e[8]!==x||e[9]!==v?(b={root:v,refreshWorkspace:x},e[8]=x,e[9]=v,e[10]=b):b=e[10];let g=b;if(u){let w;return e[11]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(K,{centered:!0,size:"xlarge",className:"mt-6"}),e[11]=w):w=e[11],w}if(c){let w;e[12]===c?w=e[13]:(w=yt(c),e[12]=c,e[13]=w);let U;return e[14]===w?U=e[15]:(U=(0,r.jsx)(fe,{kind:"danger",className:"rounded p-4",children:w}),e[14]=w,e[15]=U),U}let j;e[16]!==l.fileCount||e[17]!==l.hasMore?(j=l.hasMore&&(0,r.jsxs)(fe,{kind:"warn",className:"rounded p-4",children:["Showing first ",l.fileCount," files. Your workspace has more files."]}),e[16]=l.fileCount,e[17]=l.hasMore,e[18]=j):j=e[18];let k,N;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(mt,{size:13}),N=w=>m(w.target.value),e[19]=k,e[20]=N):(k=e[19],N=e[20]);let _;e[21]===i?_=e[22]:(_=(0,r.jsx)(dt,{id:"search",value:i,icon:k,onChange:N,placeholder:"Search",className:"mb-0 border-border"}),e[21]=i,e[22]=_);let P;e[23]===Symbol.for("react.memo_cache_sentinel")?(P=(0,r.jsx)(Ft,{}),e[23]=P):P=e[23];let S;e[24]===n?S=e[25]:(S=w=>n(!!w),e[24]=n,e[25]=S);let C;e[26]!==a||e[27]!==S?(C=(0,r.jsx)(we,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:S}),e[26]=a,e[27]=S,e[28]=C):C=e[28];let A;e[29]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(Ae,{htmlFor:"include-markdown",children:"Include markdown"}),e[29]=A):A=e[29];let z;e[30]!==C||e[31]!==_?(z=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[_,P,C,A]}),e[30]=C,e[31]=_,e[32]=z):z=e[32];let M;e[33]===d?M=e[34]:(M=()=>d(),e[33]=d,e[34]=M);let O;e[35]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r.jsx)(ct,{className:"w-4 h-4"}),e[35]=O):O=e[35];let I;e[36]===M?I=e[37]:(I=(0,r.jsx)(B,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:M,"aria-label":"Refresh workspace",children:O}),e[36]=M,e[37]=I);let T;e[38]===f?T=e[39]:(T=f&&(0,r.jsx)(K,{size:"small"}),e[38]=f,e[39]=T);let R;e[40]!==z||e[41]!==I||e[42]!==T?(R=(0,r.jsxs)(q,{Icon:St,control:z,children:["Workspace",I,T]}),e[40]=z,e[41]=I,e[42]=T,e[43]=R):R=e[43];let F;e[44]!==i||e[45]!==l.files?(F=(0,r.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,r.jsx)(Ut,{searchText:i,files:l.files})}),e[44]=i,e[45]=l.files,e[46]=F):F=e[46];let $;e[47]!==R||e[48]!==F||e[49]!==j?($=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[j,R,F]}),e[47]=R,e[48]=F,e[49]=j,e[50]=$):$=e[50];let L;return e[51]!==$||e[52]!==g?(L=(0,r.jsx)(J,{value:g,children:$}),e[51]=$,e[52]=g,e[53]=L):L=e[53],L},Ft=()=>{let t=(0,W.c)(5),e=je(ue),o;t[0]===e?o=t[1]:(o=()=>{e({})},t[0]=e,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Ee,{className:"w-4 h-4 mr-1"}),t[2]=s):s=t[2];let a;return t[3]===o?a=t[4]:(a=(0,r.jsxs)(B,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:o,children:[s,"Collapse all"]}),t[3]=o,t[4]=a),a},Ut=t=>{let e=(0,W.c)(20),{files:o,searchText:s}=t,[a,n]=oe(ue),i=Object.keys(a).length===0,m=(0,D.useRef)(void 0),{root:h,refreshWorkspace:p}=(0,D.use)(J),u;e[0]===h?u=e[1]:(u={root:h},e[0]=h,e[1]=u);let{renameFile:l}=rt(u),c,f;e[2]===i?(c=e[3],f=e[4]):(c=()=>{var g;i&&((g=m.current)==null||g.closeAll())},f=[i],e[2]=i,e[3]=c,e[4]=f),(0,D.useEffect)(c,f);let d;e[5]!==p||e[6]!==l?(d=async(g,j)=>{var N;let k=(N=m.current)==null?void 0:N.get(g);if(!k){de({title:"Failed",description:`Node with id ${g} not found in the tree`});return}await l(k.data,j)&&p()},e[5]=p,e[6]=l,e[7]=d):d=e[7];let y=ae(d);if(o.length===0){let g;return e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,r.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),e[8]=g):g=e[8],g}let x;e[9]!==a||e[10]!==n?(x=async g=>{let j=a[g]??!1;n({...a,[g]:!j})},e[9]=a,e[10]=n,e[11]=x):x=e[11];let v;e[12]===y?v=e[13]:(v=async g=>{let{id:j,name:k}=g;await y(j,k)},e[12]=y,e[13]=v);let b;return e[14]!==o||e[15]!==a||e[16]!==s||e[17]!==x||e[18]!==v?(b=(0,r.jsx)(et,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:Jt,data:o,openByDefault:!1,initialOpenState:a,onToggle:x,onRename:v,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Gt,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:$t}),e[14]=o,e[15]=a,e[16]=s,e[17]=x,e[18]=v,e[19]=b):b=e[19],b},$t=t=>{let e=(0,W.c)(18),{node:o,style:s}=t,a=Be[o.data.isDirectory?"directory":Ve(o.data.name)],n;e[0]===a?n=e[1]:(n=(0,r.jsx)(a,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),e[0]=a,e[1]=n);let i=n,{root:m}=(0,D.use)(J),{runningNotebooks:h}=(0,D.use)(te),p;e[2]!==i||e[3]!==o||e[4]!==m||e[5]!==h?(p=()=>{if(o.isEditing)return(0,r.jsxs)("div",{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,(0,r.jsx)(st,{node:o})]});if(o.data.isDirectory)return(0,r.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,o.data.name]});let x=o.data.path.startsWith(m)&&he.isAbsolute(o.data.path)?he.rest(o.data.path,m):o.data.path,v=x.endsWith(".md")||x.endsWith(".qmd"),b=h.has(x);return(0,r.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:pe(`?file=${encodeURIComponent(x)}`).toString(),target:xe(x),children:[i,(0,r.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[o.data.name,v&&(0,r.jsx)(Z,{className:"ml-2 inline opacity-80"})]}),(0,r.jsx)(Lt,{node:o,isRunning:b}),(0,r.jsx)("div",{className:"w-8 h-8 flex items-center justify-center shrink-0",children:(0,r.jsx)(ye,{filePath:x})}),(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary shrink-0"})]})},e[2]=i,e[3]=o,e[4]=m,e[5]=h,e[6]=p):p=e[6];let u=p,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=Me("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),e[7]=l):l=e[7];let c,f;e[8]===o?(c=e[9],f=e[10]):(c=x=>{x.stopPropagation(),o.data.isDirectory&&o.toggle()},f=(0,r.jsx)(Et,{node:o}),e[8]=o,e[9]=c,e[10]=f);let d;e[11]===u?d=e[12]:(d=u(),e[11]=u,e[12]=d);let y;return e[13]!==s||e[14]!==c||e[15]!==f||e[16]!==d?(y=(0,r.jsxs)("div",{style:s,className:l,onClick:c,children:[f,d]}),e[13]=s,e[14]=c,e[15]=f,e[16]=d,e[17]=y):y=e[17],y},Lt=t=>{let e=(0,W.c)(19),{node:o,isRunning:s}=t,{root:a,refreshWorkspace:n}=(0,D.use)(J),i;e[0]!==o||e[1]!==n||e[2]!==a?(i={node:o,root:a,onAfterChange:n},e[0]=o,e[1]=n,e[2]=a,e[3]=i):i=e[3];let{handleRename:m,handleDuplicate:h,handleDelete:p}=at(i),u=s?"Stop the notebook's kernel before renaming or deleting.":void 0,l;e[4]!==m||e[5]!==s||e[6]!==u?(l=(0,r.jsx)(Xe,{onSelect:m,disabled:s,title:u}),e[4]=m,e[5]=s,e[6]=u,e[7]=l):l=e[7];let c;e[8]===h?c=e[9]:(c=(0,r.jsx)(ot,{onSelect:h}),e[8]=h,e[9]=c);let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(Pe,{}),e[10]=f):f=e[10];let d;e[11]!==p||e[12]!==s||e[13]!==u?(d=(0,r.jsx)(tt,{onSelect:p,disabled:s,title:u}),e[11]=p,e[12]=s,e[13]=u,e[14]=d):d=e[14];let y;return e[15]!==l||e[16]!==c||e[17]!==d?(y=(0,r.jsxs)(Ze,{testId:"workspace-more-button",buttonClassName:"w-8 h-8 p-0 shrink-0",contentClassName:"print:hidden w-fit min-w-[140px]",preventDefaultOnTrigger:!0,children:[l,c,f,d]}),e[15]=l,e[16]=c,e[17]=d,e[18]=y):y=e[18],y},Et=t=>{let e=(0,W.c)(3),{node:o}=t;if(!o.data.isDirectory){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=a):a=e[0],a}let s;return e[1]===o.isOpen?s=e[2]:(s=o.isOpen?(0,r.jsx)($e,{className:"w-5 h-5 shrink-0"}):(0,r.jsx)(Le,{className:"w-5 h-5 shrink-0"}),e[1]=o.isOpen,e[2]=s),s},ge=t=>{let e=(0,W.c)(7),{header:o,files:s}=t;if(s.length===0)return null;let a;e[0]===s?a=e[1]:(a=s.map(Qt),e[0]=s,e[1]=a);let n;e[2]===a?n=e[3]:(n=(0,r.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:a}),e[2]=a,e[3]=n);let i;return e[4]!==o||e[5]!==n?(i=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[o,n]}),e[4]=o,e[5]=n,e[6]=i):i=e[6],i},Ht=t=>{let e=(0,W.c)(41),{file:o}=t,{locale:s}=xt(),a;e[0]===o.path?a=e[1]:(a=ht(o.path),e[0]=o.path,e[1]=a);let n=a,i,m,h,p;if(e[2]!==o.initializationId||e[3]!==o.path||e[4]!==n){let N=pe(n?`?file=${encodeURIComponent(o.initializationId??o.path)}&session_id=${o.path}`:`?file=${encodeURIComponent(o.path)}`),_;e[9]===o.path?_=e[10]:(_=o.path.endsWith(".md"),e[9]=o.path,e[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",h=o.path,p=N.toString(),e[2]=o.initializationId,e[3]=o.path,e[4]=n,e[5]=i,e[6]=m,e[7]=h,e[8]=p}else i=e[5],m=e[6],h=e[7],p=e[8];let u=o.initializationId||o.path,l;e[11]===u?l=e[12]:(l=xe(u),e[11]=u,e[12]=l);let c;e[13]===i?c=e[14]:(c=i&&(0,r.jsx)("span",{className:"opacity-80",children:(0,r.jsx)(Z,{})}),e[13]=i,e[14]=c);let f;e[15]!==o.name||e[16]!==c?(f=(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[o.name,c]}),e[15]=o.name,e[16]=c,e[17]=f):f=e[17];let d;e[18]===o.path?d=e[19]:(d=(0,r.jsx)("p",{title:o.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:o.path}),e[18]=o.path,e[19]=d);let y;e[20]!==f||e[21]!==d?(y=(0,r.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,d]}),e[20]=f,e[21]=d,e[22]=y):y=e[22];let x;e[23]===o.path?x=e[24]:(x=(0,r.jsx)("div",{children:(0,r.jsx)(ye,{filePath:o.path})}),e[23]=o.path,e[24]=x);let v;e[25]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),e[25]=v):v=e[25];let b;e[26]===x?b=e[27]:(b=(0,r.jsxs)("div",{className:"flex gap-3 items-center",children:[x,v]}),e[26]=x,e[27]=b);let g;e[28]!==o.lastModified||e[29]!==s?(g=!!o.lastModified&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ut(o.lastModified*1e3,s)}),e[28]=o.lastModified,e[29]=s,e[30]=g):g=e[30];let j;e[31]!==b||e[32]!==g?(j=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[b,g]}),e[31]=b,e[32]=g,e[33]=j):j=e[33];let k;return e[34]!==y||e[35]!==j||e[36]!==m||e[37]!==h||e[38]!==p||e[39]!==l?(k=(0,r.jsxs)("a",{className:m,href:p,target:l,children:[y,j]},h),e[34]=y,e[35]=j,e[36]=m,e[37]=h,e[38]=p,e[39]=l,e[40]=k):k=e[40],k},ye=t=>{let e=(0,W.c)(10),{filePath:o}=t,{openConfirm:s,closeModal:a}=gt(),{shutdownSession:n}=Y(),{runningNotebooks:i,setRunningNotebooks:m}=(0,D.use)(te);if(!i.has(o))return null;let h;e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==m||e[5]!==n?(h=l=>{l.stopPropagation(),l.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,r.jsx)(Re,{onClick:()=>{let c=i.get(o);Ce(c==null?void 0:c.sessionId),n({sessionId:c.sessionId}).then(f=>{m(me.keyBy(f.files,Kt))}),a(),de({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[0]=a,e[1]=o,e[2]=s,e[3]=i,e[4]=m,e[5]=n,e[6]=h):h=e[6];let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(nt,{size:14}),e[7]=p):p=e[7];let u;return e[8]===h?u=e[9]:(u=(0,r.jsx)(Fe,{content:"Shutdown",children:(0,r.jsx)(B,{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:h,children:p})}),e[8]=h,e[9]=u),u},Vt=()=>{let t=(0,W.c)(3),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=pt(),t[0]=e):e=t[0];let o=e,s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),t[1]=s):s=t[1];let a;return t[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.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
4
  `,href:o,target:"_blank",rel:"noreferrer",children:[s,(0,r.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,r.jsx)(Q,{size:24})})]}),t[2]=a):a=t[2],a},Bt=Wt;function Yt(t){return t+1}function qt(t){return t.path}function Jt(t){return t.path}function Gt(){return null}function Qt(t){return(0,r.jsx)(Ht,{file:t},t.path)}function Kt(t){return t.path}export{Bt as default};