@marimo-team/frontend 0.20.5-dev28 → 0.20.5-dev33

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 (71) hide show
  1. package/dist/assets/{CellStatus-Bf3_zqWp.js → CellStatus-rawm41sF.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-BWGS1xUt.js → ConnectedDataExplorerComponent-BmrDShEI.js} +1 -1
  3. package/dist/assets/{ImperativeModal-l3NQQITL.js → ImperativeModal-BvRpI5NU.js} +1 -1
  4. package/dist/assets/{JsonOutput-CGdzBqS1.js → JsonOutput-D8vxudTc.js} +1 -1
  5. package/dist/assets/{MarimoErrorOutput-Bms-kX7B.js → MarimoErrorOutput-ThxhEC9x.js} +1 -1
  6. package/dist/assets/{RenderHTML-DpbhvZnj.js → RenderHTML-Ci0Pb1aU.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-XG5BIwhn.js → add-cell-with-ai-C9Xp-2Lu.js} +1 -1
  8. package/dist/assets/{add-connection-dialog-DbCfepEj.js → add-connection-dialog-C0_z2T_b.js} +1 -1
  9. package/dist/assets/{agent-panel-D16-GLG-.js → agent-panel-CFmSkdtw.js} +1 -1
  10. package/dist/assets/ai-model-dropdown-DJoBltN-.js +5 -0
  11. package/dist/assets/{app-config-button-CI0WOSLz.js → app-config-button-Cw2wXNR2.js} +1 -1
  12. package/dist/assets/{cache-panel-DrOCfrS9.js → cache-panel-B4TWdLE9.js} +1 -1
  13. package/dist/assets/{cell-editor-BU2bXyD1.js → cell-editor-BoDTqwYs.js} +1 -1
  14. package/dist/assets/{cell-link-CApHIAZF.js → cell-link-TWNu2IkO.js} +1 -1
  15. package/dist/assets/{chat-display-DwFyJBVB.js → chat-display-Dwlgqtli.js} +1 -1
  16. package/dist/assets/{chat-panel-CivqPgLR.js → chat-panel-DP052nQF.js} +1 -1
  17. package/dist/assets/{column-preview-BTufLMhz.js → column-preview-CPJFpq_q.js} +1 -1
  18. package/dist/assets/{command-DLq1SsAO.js → command-DQqPawJf.js} +1 -1
  19. package/dist/assets/{command-palette-BYaD9kOd.js → command-palette-BM1QAZTW.js} +1 -1
  20. package/dist/assets/{common-DC4lyug7.js → common-Df9UcCs1.js} +1 -1
  21. package/dist/assets/context-CRmPPhx9.js +1 -0
  22. package/dist/assets/{context-aware-panel-D7L-J6dq.js → context-aware-panel-Bs4Vepkp.js} +1 -1
  23. package/dist/assets/{dependency-graph-panel-DHjX2IAi.js → dependency-graph-panel-DddysMUS.js} +1 -1
  24. package/dist/assets/dist-SDO5K7hA.js +3 -0
  25. package/dist/assets/{documentation-panel-x4uNnKYg.js → documentation-panel-Bs1zlxdM.js} +1 -1
  26. package/dist/assets/edit-page-D7VD6LD4.js +13 -0
  27. package/dist/assets/{error-panel-pHxYpjX_.js → error-panel-B_vII0VN.js} +1 -1
  28. package/dist/assets/{field-jeUVnXuU.js → field-D-izY3ud.js} +1 -1
  29. package/dist/assets/{file-explorer-panel-CraYsOVj.js → file-explorer-panel-BIzyNOVs.js} +1 -1
  30. package/dist/assets/{form-KYhtvrIF.js → form-DrpSpDea.js} +1 -1
  31. package/dist/assets/{gallery-page-mozL4wJd.js → gallery-page-BrljeBFe.js} +1 -1
  32. package/dist/assets/{glide-data-editor-BhnSrNBl.js → glide-data-editor-8kdd_nPE.js} +1 -1
  33. package/dist/assets/{home-page-fzpZMqwS.js → home-page-O_c6IiAp.js} +1 -1
  34. package/dist/assets/{hooks-YZ8YquEB.js → hooks-Z1j4FmRH.js} +1 -1
  35. package/dist/assets/index-B7vfm6Sw.js +38 -0
  36. package/dist/assets/input-GLbHj4DF.js +1 -0
  37. package/dist/assets/layout-DQhzfSJn.js +5 -0
  38. package/dist/assets/{logs-panel-D_BejkBp.js → logs-panel-BKhNdCxG.js} +1 -1
  39. package/dist/assets/{name-cell-input-tnyN_rNq.js → name-cell-input-DOyCua0o.js} +1 -1
  40. package/dist/assets/{packages-panel-BfOynji5.js → packages-panel-n8Ssm9M8.js} +1 -1
  41. package/dist/assets/{panels-C8RuHp78.js → panels-B4wExe_l.js} +1 -1
  42. package/dist/assets/{run-page-Cg-HjFtb.js → run-page-BYEyHIaG.js} +1 -1
  43. package/dist/assets/{scratchpad-panel-BombralT.js → scratchpad-panel-BRTSBHvd.js} +1 -1
  44. package/dist/assets/{secrets-panel-Cz3H7Kcc.js → secrets-panel-DAnccD-S.js} +1 -1
  45. package/dist/assets/{session-panel-msqiNt1Z.js → session-panel-k6_Gni4X.js} +1 -1
  46. package/dist/assets/{snippets-panel-Beh7h7mz.js → snippets-panel-mGo3M47p.js} +1 -1
  47. package/dist/assets/{tracing-DaGZb1gK.js → tracing-DTCuFbVV.js} +1 -1
  48. package/dist/assets/{tracing-panel-DvvJq5B5.js → tracing-panel-B1EJu6-W.js} +2 -2
  49. package/dist/assets/useBoolean-2eWc7NX-.js +1 -0
  50. package/dist/assets/{useCellActionButton-CKUAt6Sl.js → useCellActionButton-CJ_LAoma.js} +1 -1
  51. package/dist/assets/{useDateFormatter-DfEfyPT1.js → useDateFormatter-DOoVZUts.js} +1 -1
  52. package/dist/assets/{useDependencyPanelTab-CH3r9bC-.js → useDependencyPanelTab-nuk9kUr_.js} +1 -1
  53. package/dist/assets/{useNotebookActions-CXRecmhh.js → useNotebookActions-Bh8YMrlo.js} +1 -1
  54. package/dist/assets/{useNumberFormatter-DQd-h5xR.js → useNumberFormatter-BXZcbTzH.js} +1 -1
  55. package/dist/assets/usePress-G817DpBk.js +7 -0
  56. package/dist/assets/{write-secret-modal-Dj4Ncj4m.js → write-secret-modal-DOyKonZB.js} +1 -1
  57. package/dist/index.html +20 -20
  58. package/package.json +9 -9
  59. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +309 -0
  60. package/src/plugins/impl/mpl-interactive/__tests__/mpl-websocket-shim.test.ts +110 -0
  61. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +57 -0
  62. package/src/plugins/plugins.ts +2 -0
  63. package/dist/assets/ai-model-dropdown-oin5Fuov.js +0 -5
  64. package/dist/assets/context-CRApIvpB.js +0 -1
  65. package/dist/assets/dist-BL52mbxW.js +0 -3
  66. package/dist/assets/edit-page-JEf4izAb.js +0 -13
  67. package/dist/assets/index-BqLC0w8B.js +0 -38
  68. package/dist/assets/input-BwUS1Mg1.js +0 -1
  69. package/dist/assets/layout-BPSHGKRG.js +0 -5
  70. package/dist/assets/useBoolean-NLsvxjyM.js +0 -1
  71. package/dist/assets/usePress-DcdVsIfA.js +0 -7
@@ -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-DJj8ja0V.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-Dr9qtoId.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-Bms-kX7B.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import"./purify.es-BBn8CPhf.js";import{n as f}from"./cell-link-CApHIAZF.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-DJj8ja0V.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-Dr9qtoId.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-ThxhEC9x.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import"./purify.es-BBn8CPhf.js";import{n as f}from"./cell-link-TWNu2IkO.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
- import{s as p}from"./chunk-LvLJmgfZ.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{t as g}from"./jsx-runtime-CP2fAiZX.js";import{n as c,t as l}from"./cn-d_A4rA-x.js";import{Q as v,f as b,l as h,m as N,y as w}from"./input-BwUS1Mg1.js";import{u as j}from"./select-DMX8tcVe.js";var d=x(),m=p(g(),1),y=c(["text-sm font-medium leading-none","data-disabled:cursor-not-allowed data-disabled:opacity-70","group-data-invalid:text-destructive"]),k=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l(y(),a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(w,{className:s,...e}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},Q=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l("text-sm text-muted-foreground",a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(N,{className:s,...e,slot:"description"}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},V=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l("text-sm font-medium text-destructive",a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(b,{className:s,...e}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},u=c("",{variants:{variant:{default:["relative flex w-full items-center overflow-hidden rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background",j(),"data-focus-within:outline-hidden data-focus-within:ring-2 data-focus-within:ring-ring data-focus-within:ring-offset-2","data-disabled:opacity-50"],ghost:""}},defaultVariants:{variant:"default"}}),_=i=>{let t=(0,d.c)(12),a,e,s;t[0]===i?(a=t[1],e=t[2],s=t[3]):({className:a,variant:s,...e}=i,t[0]=i,t[1]=a,t[2]=e,t[3]=s);let r;t[4]===s?r=t[5]:(r=f=>l(u({variant:s}),f),t[4]=s,t[5]=r);let o;t[6]!==a||t[7]!==r?(o=v(a,r),t[6]=a,t[7]=r,t[8]=o):o=t[8];let n;return t[9]!==e||t[10]!==o?(n=(0,m.jsx)(h,{className:o,...e}),t[9]=e,t[10]=o,t[11]=n):n=t[11],n};export{u as a,k as i,_ as n,Q as r,V as t};
1
+ import{s as p}from"./chunk-LvLJmgfZ.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{t as g}from"./jsx-runtime-CP2fAiZX.js";import{n as c,t as l}from"./cn-d_A4rA-x.js";import{$ as v,f as b,l as h,m as N,y as w}from"./input-GLbHj4DF.js";import{u as j}from"./select-DMX8tcVe.js";var d=x(),m=p(g(),1),y=c(["text-sm font-medium leading-none","data-disabled:cursor-not-allowed data-disabled:opacity-70","group-data-invalid:text-destructive"]),k=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l(y(),a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(w,{className:s,...e}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},V=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l("text-sm text-muted-foreground",a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(N,{className:s,...e,slot:"description"}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},_=i=>{let t=(0,d.c)(8),a,e;t[0]===i?(a=t[1],e=t[2]):({className:a,...e}=i,t[0]=i,t[1]=a,t[2]=e);let s;t[3]===a?s=t[4]:(s=l("text-sm font-medium text-destructive",a),t[3]=a,t[4]=s);let r;return t[5]!==e||t[6]!==s?(r=(0,m.jsx)(b,{className:s,...e}),t[5]=e,t[6]=s,t[7]=r):r=t[7],r},u=c("",{variants:{variant:{default:["relative flex w-full items-center overflow-hidden rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background",j(),"data-focus-within:outline-hidden data-focus-within:ring-2 data-focus-within:ring-ring data-focus-within:ring-offset-2","data-disabled:opacity-50"],ghost:""}},defaultVariants:{variant:"default"}}),$=i=>{let t=(0,d.c)(12),a,e,s;t[0]===i?(a=t[1],e=t[2],s=t[3]):({className:a,variant:s,...e}=i,t[0]=i,t[1]=a,t[2]=e,t[3]=s);let r;t[4]===s?r=t[5]:(r=f=>l(u({variant:s}),f),t[4]=s,t[5]=r);let o;t[6]!==a||t[7]!==r?(o=v(a,r),t[6]=a,t[7]=r,t[8]=o):o=t[8];let n;return t[9]!==e||t[10]!==o?(n=(0,m.jsx)(h,{className:o,...e}),t[9]=e,t[10]=o,t[11]=n):n=t[11],n};export{u as a,k as i,$ as n,V as r,_ as t};
@@ -1,4 +1,4 @@
1
- var Pt=Object.defineProperty;var Dt=(t,e,s)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var B=(t,e,s)=>Dt(t,typeof e!="symbol"?e+"":e,s);import{s as Me}from"./chunk-LvLJmgfZ.js";import{i as zt,l as he,n as T,p as Re,u as se}from"./useEvent-WUlsM6MC.js";import{t as Ot}from"./react-Bj1aDYRI.js";import{En as Mt,T as Rt,kn as $e,si as $t,ui as Ae,ur as At}from"./cells-DJj8ja0V.js";import"./react-dom-CSu739Rf.js";import{t as te}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-CQeE9o7x.js";import{i as Ee,r as Et,t as Ie}from"./add-connection-dialog-DbCfepEj.js";import{h as It,m as ge}from"./useEventListener-DP66hBzA.js";import{t as Lt}from"./invariant-awXiPaF0.js";import{p as Tt,u as Le}from"./utils-C1ZciZbF.js";import{S as me}from"./config-BH98g9qk.js";import{t as Bt}from"./jsx-runtime-CP2fAiZX.js";import{n as Vt,t as $}from"./button-BwamPDJi.js";import{t as q}from"./cn-d_A4rA-x.js";import{St as Ht}from"./dist-Dr9qtoId.js";import{a as Ut,i as Te,o as pe}from"./JsonOutput-CGdzBqS1.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{n as qt,r as je}from"./requests-DZy_SQ_v.js";import{t as ae}from"./createLucideIcon-BvP5LBIs.js";import{a as Be,i as Ve,l as He,n as fe,o as Wt,r as Kt,s as ye,t as Yt}from"./state-Dj88xOmZ.js";import{n as Zt}from"./LazyAnyLanguageCodeMirror-BpSKccWW.js";import{t as Gt}from"./x-yqLqiq5Q.js";import{c as Jt,i as ve,r as Ue}from"./download-C06P9lnP.js";import{f as be}from"./maps-CTMzJkSk.js";import{n as Qt}from"./markdown-renderer-D02U2W2X.js";import{u as Xt}from"./toDate-DDAiY7kz.js";import{a as M,c as ne,p as qe,r as We,t as Ke}from"./dropdown-menu-Bc2d7Nej.js";import{t as we}from"./copy-CAR4dOiD.js";import{t as Ne}from"./download-BG-iMGgV.js";import{t as ea}from"./eye-off-DgTL09j7.js";import{a as ta,i as Ye,n as Ze,r as aa,t as sa}from"./file-icons-C-oatBuk.js";import{t as Ge}from"./file-plus-corner-BRwJx0yp.js";import{t as Je}from"./file-DVwc11C3.js";import{n as ke,t as na}from"./spinner-Dt4SmUsI.js";import{t as Qe}from"./plus-C9B_qWUi.js";import{t as Xe}from"./refresh-cw-fLeDriQe.js";import{t as ra}from"./save-C91FTnFa.js";import{t as ia}from"./trash-2-CrA4LwJ2.js";import{t as la}from"./triangle-alert-CzmxsxFO.js";import{i as oa,n as ca,t as da}from"./es-EPBuIa5m.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import{t as E}from"./use-toast-Hc8CXlvz.js";import{t as Fe}from"./paths-D2lG83Oh.js";import"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{t as A}from"./tooltip-CKZGcDDd.js";import"./purify.es-BBn8CPhf.js";import"./dates-BFWtdOCb.js";import{o as ha}from"./alert-dialog-CfirwkMl.js";import{t as et}from"./context-CRApIvpB.js";import"./popover-XNIX-rv1.js";import{n as tt}from"./ImperativeModal-l3NQQITL.js";import{r as ma}from"./errors-0IrrdfSG.js";import{n as pa}from"./blob-DgooIGjS.js";import"./vega-loader.browser-BJ9oKrvH.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";import{t as re}from"./copy-ICN7wGy0.js";import{t as fa}from"./copy-icon-DNppAsmd.js";import{n as xa}from"./multi-map-BubyGH4K.js";import{a as ua,i as ga,n as Ce,r as ja,t as ya}from"./tree-82qhH45u.js";import{n as va,t as ba}from"./alert-Bs8tbZo_.js";import{n as at}from"./error-banner-C2nW22mN.js";import{n as Se}from"./useAsyncData-CI3ntihq.js";import{a as wa,o as st,t as Na,u as ka}from"./command-DLq1SsAO.js";import"./chunk-5FQGJX7Z-Cyze_Wbx.js";import"./katex-FSdXOW5Y.js";import"./html-to-image-D-FY7miL.js";import{o as Fa}from"./focus-j9zawi1p.js";import{a as Ca}from"./renderShortcut-BjTUrvc5.js";import{t as Sa}from"./bundle.esm-_LzfhNmX.js";import{a as _a,c as nt,d as _e,l as rt,u as it}from"./components-CwZhf0Ag.js";import{t as Pa}from"./empty-state-DFr2pZOz.js";import{t as Pe}from"./formatting-By3b5Lx8.js";import{a as Da,i as za,n as lt,r as ot,t as ct}from"./components-D8LTuNe_.js";import{n as dt,t as Oa}from"./marimo-icons-BmYE_Rrf.js";import{t as Ma}from"./links-C9QsxOBC.js";var Ra=ae("copy-minus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),ht=ae("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),mt=ae("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),$a=ae("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Aa=ae("square-play",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}]]),pt=ae("view",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),z=Me(Ot(),1),Ea=te(),a=Me(Bt(),1);const ft=t=>{let e=(0,Ea.c)(17),{filename:s,filenameIcon:r,onBack:i,onRefresh:n,onDownload:l,actions:c}=t,p;e[0]===i?p=e[1]:(p=i&&(0,a.jsx)(A,{content:"Back to file list",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(He,{className:"h-4 w-4"})})}),e[0]=i,e[1]=p);let o;e[2]!==s||e[3]!==r?(o=s?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[r,s]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=s,e[3]=r,e[4]=o):o=e[4];let x;e[5]===n?x=e[6]:(x=n&&(0,a.jsx)(A,{content:"Refresh",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:n,children:(0,a.jsx)(Xe,{className:"h-3.5 w-3.5"})})}),e[5]=n,e[6]=x);let f;e[7]===l?f=e[8]:(f=l&&(0,a.jsx)(A,{content:"Download",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:l,children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),e[7]=l,e[8]=f);let j;e[9]!==c||e[10]!==x||e[11]!==f?(j=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[x,c,f]}),e[9]=c,e[10]=x,e[11]=f,e[12]=j):j=e[12];let u;return e[13]!==p||e[14]!==o||e[15]!==j?(u=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[p,o,j]}),e[13]=p,e[14]=o,e[15]=j,e[16]=u):u=e[16],u};var Ia=100*1024*1024;function La(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}const Ta=({entry:t,namespace:e,onBack:s})=>{let{locale:r}=et(),i=La(t.path),n=t.mimeType||"text/plain",l=pe(n),c=l&&t.size>Ia&&t.size>0,{data:p,isPending:o,error:x,refetch:f}=Se(async()=>{if(c)return null;let g=await ye.request({namespace:e,path:t.path,preview:!l});if(g.error)throw Error(g.error);if(!g.url)throw Error("No URL returned");if(l)return{type:"media",url:g.url};let d=await fetch(g.url);if(!d.ok)throw Error(`Failed to fetch preview: ${d.statusText}`);return{type:"text",content:await d.text()}},[e,t.path,l,c]),j=(0,z.useCallback)(async()=>{try{let g=await ye.request({namespace:e,path:t.path});if(g.error){E({title:"Download failed",description:g.error,variant:"danger"});return}g.url&&ve(g.url,g.filename??i)}catch(g){ge.error("Failed to download storage entry",g),E({title:"Download failed",description:String(g),variant:"danger"})}},[e,t.path,i]),u=(0,a.jsx)(ft,{filename:i,filenameIcon:Ye(i),onBack:s,onDownload:j}),h=({includeMime:g=!1})=>(0,a.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 p-4 text-xs",children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Path"}),(0,a.jsxs)("div",{className:"truncate flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-mono text-[11px]",children:t.path}),(0,a.jsx)(fa,{value:t.path,className:"h-3 w-3"})]}),g&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),g&&(0,a.jsx)("span",{children:n}),t.size>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Size"}),(0,a.jsx)("span",{children:Pe(t.size,r)})]}),t.lastModified!=null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Modified"}),(0,a.jsx)("span",{children:new Date(t.lastModified*1e3).toLocaleString()})]})]});return c?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",Pe(t.size,r),")."]})]}):o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24",children:[(0,a.jsx)(ke,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):x?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",x.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)($,{variant:"secondary",size:"xs",onClick:f,children:[(0,a.jsx)(Xe,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):p?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsx)(Te,{mimeType:n,contents:p.type==="text"?p.content:void 0,mediaSource:p.type==="media"?{url:p.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Je,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var De=te(),Ba=16;function H(t){return{paddingLeft:t*Ba}}function Va(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function xt(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}function ze(t,e,s,r){let i=s.toLowerCase();if(xt(t.path).toLowerCase().includes(i))return!0;if(t.kind==="directory"){let n=r.get(Be(e,t.path));if(n)return n.some(l=>ze(l,e,s,r))}return!1}function ut(t,e,s,r){return s.trim()?t.filter(i=>ze(i,e,s,r)):t}var Ha=t=>{let e=(0,De.c)(34),{namespace:s,protocol:r,rootPath:i,prefix:n,depth:l,locale:c,searchValue:p,onOpenFile:o}=t,{entriesByPath:x}=fe(),{entries:f,isPending:j,error:u}=Ve(s,n);if(j){let d;e[0]===l?d=e[1]:(d=H(l),e[0]=l,e[1]=d);let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),e[2]=y):y=e[2];let k;return e[3]===d?k=e[4]:(k=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:d,children:[y,"Loading..."]}),e[3]=d,e[4]=k),k}if(u){let d;e[5]===l?d=e[6]:(d=H(l),e[5]=l,e[6]=d);let y;return e[7]!==u.message||e[8]!==d?(y=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:d,children:["Failed to load: ",u.message]}),e[7]=u.message,e[8]=d,e[9]=y):y=e[9],y}if(f.length===0){let d;e[10]===l?d=e[11]:(d=H(l),e[10]=l,e[11]=d);let y;return e[12]===d?y=e[13]:(y=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:d,children:"Empty"}),e[12]=d,e[13]=y),y}let h;if(e[14]!==f||e[15]!==l||e[16]!==x||e[17]!==c||e[18]!==s||e[19]!==o||e[20]!==r||e[21]!==i||e[22]!==p){let d=ut(f,s,p,x),y;e[24]!==l||e[25]!==c||e[26]!==s||e[27]!==o||e[28]!==r||e[29]!==i||e[30]!==p?(y=k=>(0,a.jsx)(gt,{entry:k,namespace:s,protocol:r,rootPath:i,depth:l,locale:c,searchValue:p,onOpenFile:o},k.path),e[24]=l,e[25]=c,e[26]=s,e[27]=o,e[28]=r,e[29]=i,e[30]=p,e[31]=y):y=e[31],h=d.map(y),e[14]=f,e[15]=l,e[16]=x,e[17]=c,e[18]=s,e[19]=o,e[20]=r,e[21]=i,e[22]=p,e[23]=h}else h=e[23];let g;return e[32]===h?g=e[33]:(g=(0,a.jsx)(a.Fragment,{children:h}),e[32]=h,e[33]=g),g},gt=({entry:t,namespace:e,protocol:s,rootPath:r,depth:i,locale:n,searchValue:l,onOpenFile:c})=>{var k;let[p,o]=(0,z.useState)(!1),{entriesByPath:x}=fe(),f=t.kind==="directory",j=xt(t.path),u=!!l.trim(),h=f&&u&&j.toLowerCase().includes(l.trim().toLowerCase()),g=f&&u&&!!((k=x.get(Be(e,t.path)))!=null&&k.some(v=>ze(v,e,l,x))),d=p||g,y=(0,z.useCallback)(async()=>{try{let v=await ye.request({namespace:e,path:t.path});if(v.error){E({title:"Download failed",description:v.error,variant:"danger"});return}v.url&&ve(v.url,v.filename??"download")}catch(v){ge.error("Failed to download storage entry",v),E({title:"Download failed",description:String(v),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(st,{className:q("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",f&&"font-medium"),style:H(i),value:`${e}:${t.path}`,onSelect:()=>{f?o(!d):c({entry:t,namespace:e})},children:[f?(0,a.jsx)(_e,{isExpanded:d,className:"h-3 w-3"}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),f?(0,a.jsx)(ta,{className:q("h-3.5 w-3.5 shrink-0",Ze.directory)}):Ye(j),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:j}),(0,a.jsxs)("div",{className:"flex items-center",children:[t.size>0&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums",children:Pe(t.size,n)}),t.lastModified!=null&&(0,a.jsx)(A,{content:`Last modified: ${new Date(t.lastModified*1e3).toLocaleString()}`,children:(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-1 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:Va(t.lastModified,n)})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(qe,{asChild:!0,children:(0,a.jsx)(rt,{iconClassName:"h-3 w-3",onClick:v=>v.stopPropagation()})}),(0,a.jsxs)(We,{align:"end",onClick:v=>v.stopPropagation(),onCloseAutoFocus:v=>v.preventDefault(),children:[!f&&(0,a.jsxs)(M,{onSelect:()=>c({entry:t,namespace:e}),children:[(0,a.jsx)(pt,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(Wt(s,r,t.path).toString()),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(we,{className:nt}),"Copy URL"]}),!f&&(0,a.jsxs)(M,{onSelect:()=>y(),children:[(0,a.jsx)(Ne,{className:"h-3.5 w-3.5 mr-2"}),"Download"]})]})]})]})]}),f&&d&&(0,a.jsx)(Ha,{namespace:e,protocol:s,rootPath:r,prefix:t.path,depth:i+1,locale:n,searchValue:h?"":l,onOpenFile:c})]})},Ua=t=>{let e=(0,De.c)(42),{namespace:s,locale:r,searchValue:i,onOpenFile:n}=t,[l,c]=(0,z.useState)(!0),{entriesByPath:p}=fe(),{clearNamespaceCache:o}=Kt(),x=s.name??s.displayName,{entries:f,isPending:j,error:u,refetch:h}=Ve(x),g;e[0]!==o||e[1]!==x||e[2]!==h?(g=v=>{v.stopPropagation(),o(x),h()},e[0]=o,e[1]=x,e[2]=h,e[3]=g):g=e[3];let d=g,y=j?s.storageEntries:f,k;if(e[4]!==y||e[5]!==p||e[6]!==u||e[7]!==d||e[8]!==l||e[9]!==j||e[10]!==r||e[11]!==s.displayName||e[12]!==s.name||e[13]!==s.protocol||e[14]!==s.rootPath||e[15]!==x||e[16]!==n||e[17]!==i){let v=ut(y,x,i,p),b;e[19]===l?b=e[20]:(b=()=>c(!l),e[19]=l,e[20]=b);let w;e[21]===l?w=e[22]:(w=(0,a.jsx)(_e,{isExpanded:l,className:"h-3 w-3"}),e[21]=l,e[22]=w);let m;e[23]===s.protocol?m=e[24]:(m=(0,a.jsx)(Et,{protocol:s.protocol}),e[23]=s.protocol,e[24]=m);let N;e[25]===s.displayName?N=e[26]:(N=(0,a.jsx)("span",{children:s.displayName}),e[25]=s.displayName,e[26]=N);let _;e[27]===s.name?_=e[28]:(_=s.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(Da,{variableName:s.name}),")"]}),e[27]=s.name,e[28]=_);let C;e[29]===d?C=e[30]:(C=(0,a.jsx)(it,{onClick:d,tooltip:"Refresh storage connection",className:"p-0",iconClassName:"h-3 w-3"}),e[29]=d,e[30]=C);let P=s.rootPath||"(root)",S;e[31]===P?S=e[32]:(S=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:P}),e[31]=P,e[32]=S);let D;e[33]!==s.name||e[34]!==S||e[35]!==b||e[36]!==w||e[37]!==m||e[38]!==N||e[39]!==_||e[40]!==C?(D=(0,a.jsxs)(st,{value:s.name,onSelect:b,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[w,m,N,_,C,S]}),e[33]=s.name,e[34]=S,e[35]=b,e[36]=w,e[37]=m,e[38]=N,e[39]=_,e[40]=C,e[41]=D):D=e[41],k=(0,a.jsxs)(a.Fragment,{children:[D,l&&(0,a.jsxs)(a.Fragment,{children:[j&&y.length===0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:H(1),children:[(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),u&&y.length===0&&(0,a.jsx)(_a,{error:u,style:H(1),className:"py-1 text-xs h-auto",showIcon:!1}),!j&&y.length===0&&!u&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No entries"}),i&&v.length===0&&y.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No matches"}),v.map(L=>(0,a.jsx)(gt,{entry:L,namespace:x,protocol:s.protocol,rootPath:s.rootPath,depth:1,locale:r,searchValue:i,onOpenFile:n},L.path))]})]}),e[4]=y,e[5]=p,e[6]=u,e[7]=d,e[8]=l,e[9]=j,e[10]=r,e[11]=s.displayName,e[12]=s.name,e[13]=s.protocol,e[14]=s.rootPath,e[15]=x,e[16]=n,e[17]=i,e[18]=k}else k=e[18];return k};const qa=()=>{let t=(0,De.c)(31),{namespaces:e}=fe(),{locale:s}=et(),[r,i]=(0,z.useState)(""),[n,l]=(0,z.useState)(null),c=!!r.trim();if(e.length===0){let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsxs)("span",{children:["Create an Obstore or fsspec connection in your notebook. See the"," ",(0,a.jsx)("a",{className:"text-link",href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start",target:"_blank",rel:"noopener noreferrer",children:"docs"}),"."]}),t[0]=b):b=t[0];let w;return t[1]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(Pa,{title:"No storage connected",description:b,action:(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsxs)($,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(Qe,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Ee,{className:"h-8 w-8"})}),t[1]=w):w=t[1],w}let p;t[2]===n?p=t[3]:(p=n&&(0,a.jsx)(Ta,{entry:n.entry,namespace:n.namespace,onBack:()=>l(null)}),t[2]=n,t[3]=p);let o=n&&"hidden",x;t[4]===o?x=t[5]:(x=q("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",o),t[4]=o,t[5]=x);let f;t[6]===r?f=t[7]:(f=(0,a.jsx)(wa,{placeholder:"Search entries...",className:"h-6 m-1",value:r,onValueChange:i,rootClassName:"flex-1 border-b-0"}),t[6]=r,t[7]=f);let j;t[8]===c?j=t[9]:(j=c&&(0,a.jsx)($,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>i(""),children:(0,a.jsx)(Gt,{className:"h-4 w-4"})}),t[8]=c,t[9]=j);let u;t[10]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(A,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(Xt,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=u):u=t[10];let h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsx)($,{variant:"ghost",size:"sm",className:"px-2 border-0 border-l border-muted-background rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",children:(0,a.jsx)(Qe,{className:"h-4 w-4"})})}),t[11]=h):h=t[11];let g;t[12]!==f||t[13]!==j?(g=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[f,j,u,h]}),t[12]=f,t[13]=j,t[14]=g):g=t[14];let d;if(t[15]!==s||t[16]!==e||t[17]!==r){let b;t[19]!==s||t[20]!==r?(b=w=>(0,a.jsx)(Ua,{namespace:w,locale:s,searchValue:r,onOpenFile:l},w.name??w.displayName),t[19]=s,t[20]=r,t[21]=b):b=t[21],d=e.map(b),t[15]=s,t[16]=e,t[17]=r,t[18]=d}else d=t[18];let y;t[22]===d?y=t[23]:(y=(0,a.jsx)(ka,{className:"flex flex-col",children:d}),t[22]=d,t[23]=y);let k;t[24]!==x||t[25]!==g||t[26]!==y?(k=(0,a.jsxs)(Na,{className:x,shouldFilter:!1,children:[g,y]}),t[24]=x,t[25]=g,t[26]=y,t[27]=k):k=t[27];let v;return t[28]!==p||t[29]!==k?(v=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[p,k]}),t[28]=p,t[29]=k,t[30]=v):v=t[30],v};var jt=te(),yt=(0,z.createContext)(null);function Wa(){return(0,z.useContext)(yt)??void 0}var Ka=t=>{let e=(0,jt.c)(3),{children:s}=t,r=ga(),i;return e[0]!==s||e[1]!==r?(i=(0,a.jsx)(yt.Provider,{value:r,children:s}),e[0]=s,e[1]=r,e[2]=i):i=e[2],i};const Ya=t=>{let e=(0,jt.c)(5),{children:s}=t,[r,i]=(0,z.useState)(null),n;e[0]!==s||e[1]!==r?(n=r&&(0,a.jsx)(ua,{backend:ja,options:{rootElement:r},children:(0,a.jsx)(Ka,{children:s})}),e[0]=s,e[1]=r,e[2]=n):n=e[2];let l;return e[3]===n?l=e[4]:(l=(0,a.jsx)("div",{ref:i,className:"contents",children:n}),e[3]=n,e[4]=l),l};var Oe=new Map;const Za=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:s,sendUpdateFile:r}=je(),i=se(Tt),n=se(Le),l=se($t),[c,p]=(0,z.useState)(""),{data:o,isPending:x,error:f,setData:j,refetch:u}=Se(async()=>{let m=await s({path:t.path}),N=m.contents||"";return p(Oe.get(t.path)||N),m},[t.path]),h=async()=>{c!==(o==null?void 0:o.contents)&&await r({path:t.path,contents:c}).then(m=>{m.success&&(j(N=>({...N,contents:c})),p(c))})},g=(0,z.useRef)(c);if(g.current=c,(0,z.useEffect)(()=>()=>{if(!(o!=null&&o.contents))return;let m=g.current;m===o.contents?Oe.delete(t.path):Oe.set(t.path,m)},[t.path,o==null?void 0:o.contents]),f)return(0,a.jsx)(at,{error:f});if(x||!o)return null;let d=o.mimeType||"text/plain",y=d in Ut,k=l&&o.file.isMarimoFile&&(t.path===l||t.path.endsWith(`/${l}`));if(!o.contents&&!y)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:o.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:d})]});let v=(0,a.jsx)(ft,{filename:o.file.name,onRefresh:u,onDownload:n?void 0:()=>{if(pe(d)){ve(Qt(o.contents,d),o.file.name);return}Ue(new Blob([o.contents||c],{type:d}),o.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!me()&&(0,a.jsx)(A,{content:"Open notebook",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:m=>e(m),children:(0,a.jsx)(be,{className:"h-3.5 w-3.5"})})}),!pe(d)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A,{content:"Copy contents to clipboard",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:async()=>{await re(c)},children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A,{content:Ca("global.save"),children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:h,disabled:c===o.contents,children:(0,a.jsx)(ra,{className:"h-3.5 w-3.5"})})})]})]})}),b=pe(d),w=!b&&d!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[v,w&&k&&(0,a.jsxs)(ba,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(la,{className:"h-4 w-4"}),(0,a.jsx)(va,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)(Te,{mimeType:d,contents:b?void 0:w?c:o.contents??void 0,mediaSource:b?{base64:o.contents,mime:d}:void 0,readOnly:!w,onChange:p,extensions:[Ht.of([{key:i.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===o.contents?!1:(h(),!0)}])]})]})};var Ga=class{constructor(t){B(this,"delegate",new Ce([]));B(this,"rootPath","");B(this,"onChange",It.NOOP);B(this,"path",new Fe("/"));B(this,"initialize",async t=>{if(this.onChange=t,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new Ce(e.files),this.rootPath=e.root,this.path=Fe.guessDeliminator(e.root)}catch(e){E({title:"Failed",description:ma(e)})}this.onChange(this.delegate.data)});B(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(r=>{var i;return(i=this.delegate.find(r))==null?void 0:i.data.path})].filter(Boolean),s=await Promise.all(e.map(r=>this.callbacks.listFiles({path:r}).catch(()=>({files:[]}))));for(let[r,i]of e.entries()){let n=s[r];i===this.rootPath?this.delegate=new Ce(n.files):this.delegate.update({id:i,changes:{children:n.files}})}this.onChange(this.delegate.data)});B(this,"relativeFromRoot",t=>{let e=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return t.startsWith(e)?t.slice(e.length):t});B(this,"handleResponse",t=>t.success?t:(E({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let s=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:s.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let s=this.delegate.find(t);if(!s)return;let r=s.data.path,i=this.path.join(this.path.dirname(r),e);await this.callbacks.renameFileOrFolder({path:r,newPath:i}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i])}async move(t,e){var r;let s=e?((r=this.delegate.find(e))==null?void 0:r.data.path)??e:this.rootPath;await Promise.all(t.map(i=>{this.delegate.move({id:i,parentId:e,index:0});let n=this.delegate.find(i);if(!n)return Promise.resolve();let l=this.path.join(s,this.path.basename(n.data.path));return this.delegate.update({id:i,changes:{path:l}}),this.callbacks.renameFileOrFolder({path:n.data.path,newPath:l}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([s])}async createFile(t,e,s="file"){var n;let r=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath,i=await this.callbacks.createFileOrFolder({path:r,type:s,name:t}).then(this.handleResponse);i!=null&&i.info&&(this.delegate.create({parentId:e,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async createFolder(t,e){var i;let s=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath,r=await this.callbacks.createFileOrFolder({path:s,type:"directory",name:t}).then(this.handleResponse);r!=null&&r.info&&(this.delegate.create({parentId:e,index:0,data:r.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const vt=Re(t=>{let e=t(qt);return Lt(e,"no requestClientAtom set"),new Ga({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),Ja=Re({});async function Qa(){await zt.get(vt).refreshAll([])}var U=" ";const bt={directory:t=>`os.listdir("${t}")`,python:t=>`with open("${t}", "r") as _f:
1
+ var Pt=Object.defineProperty;var Dt=(t,e,s)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var B=(t,e,s)=>Dt(t,typeof e!="symbol"?e+"":e,s);import{s as Me}from"./chunk-LvLJmgfZ.js";import{i as zt,l as he,n as T,p as Re,u as se}from"./useEvent-WUlsM6MC.js";import{t as Ot}from"./react-Bj1aDYRI.js";import{En as Mt,T as Rt,kn as $e,si as $t,ui as Ae,ur as At}from"./cells-DJj8ja0V.js";import"./react-dom-CSu739Rf.js";import{t as te}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-CQeE9o7x.js";import{i as Ee,r as Et,t as Ie}from"./add-connection-dialog-C0_z2T_b.js";import{h as It,m as ge}from"./useEventListener-DP66hBzA.js";import{t as Lt}from"./invariant-awXiPaF0.js";import{p as Tt,u as Le}from"./utils-C1ZciZbF.js";import{S as me}from"./config-BH98g9qk.js";import{t as Bt}from"./jsx-runtime-CP2fAiZX.js";import{n as Vt,t as $}from"./button-BwamPDJi.js";import{t as q}from"./cn-d_A4rA-x.js";import{St as Ht}from"./dist-Dr9qtoId.js";import{a as Ut,i as Te,o as pe}from"./JsonOutput-D8vxudTc.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{n as qt,r as je}from"./requests-DZy_SQ_v.js";import{t as ae}from"./createLucideIcon-BvP5LBIs.js";import{a as Be,i as Ve,l as He,n as fe,o as Wt,r as Kt,s as ye,t as Yt}from"./state-Dj88xOmZ.js";import{n as Zt}from"./LazyAnyLanguageCodeMirror-BpSKccWW.js";import{t as Gt}from"./x-yqLqiq5Q.js";import{c as Jt,i as ve,r as Ue}from"./download-C06P9lnP.js";import{f as be}from"./maps-CTMzJkSk.js";import{n as Qt}from"./markdown-renderer-D02U2W2X.js";import{u as Xt}from"./toDate-DDAiY7kz.js";import{a as M,c as ne,p as qe,r as We,t as Ke}from"./dropdown-menu-Bc2d7Nej.js";import{t as we}from"./copy-CAR4dOiD.js";import{t as Ne}from"./download-BG-iMGgV.js";import{t as ea}from"./eye-off-DgTL09j7.js";import{a as ta,i as Ye,n as Ze,r as aa,t as sa}from"./file-icons-C-oatBuk.js";import{t as Ge}from"./file-plus-corner-BRwJx0yp.js";import{t as Je}from"./file-DVwc11C3.js";import{n as ke,t as na}from"./spinner-Dt4SmUsI.js";import{t as Qe}from"./plus-C9B_qWUi.js";import{t as Xe}from"./refresh-cw-fLeDriQe.js";import{t as ra}from"./save-C91FTnFa.js";import{t as ia}from"./trash-2-CrA4LwJ2.js";import{t as la}from"./triangle-alert-CzmxsxFO.js";import{i as oa,n as ca,t as da}from"./es-EPBuIa5m.js";import"./dist-Jp_4M-Ei.js";import"./dist-Cf47zp7b.js";import"./dist-Bagw3W9X.js";import"./dist-t1vdhOX_.js";import"./dist-D3OoaVQX.js";import{t as E}from"./use-toast-Hc8CXlvz.js";import{t as Fe}from"./paths-D2lG83Oh.js";import"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{t as A}from"./tooltip-CKZGcDDd.js";import"./purify.es-BBn8CPhf.js";import"./dates-BFWtdOCb.js";import{o as ha}from"./alert-dialog-CfirwkMl.js";import{t as et}from"./context-CRmPPhx9.js";import"./popover-XNIX-rv1.js";import{n as tt}from"./ImperativeModal-BvRpI5NU.js";import{r as ma}from"./errors-0IrrdfSG.js";import{n as pa}from"./blob-DgooIGjS.js";import"./vega-loader.browser-BJ9oKrvH.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";import{t as re}from"./copy-ICN7wGy0.js";import{t as fa}from"./copy-icon-DNppAsmd.js";import{n as xa}from"./multi-map-BubyGH4K.js";import{a as ua,i as ga,n as Ce,r as ja,t as ya}from"./tree-82qhH45u.js";import{n as va,t as ba}from"./alert-Bs8tbZo_.js";import{n as at}from"./error-banner-C2nW22mN.js";import{n as Se}from"./useAsyncData-CI3ntihq.js";import{a as wa,o as st,t as Na,u as ka}from"./command-DQqPawJf.js";import"./chunk-5FQGJX7Z-Cyze_Wbx.js";import"./katex-FSdXOW5Y.js";import"./html-to-image-D-FY7miL.js";import{o as Fa}from"./focus-j9zawi1p.js";import{a as Ca}from"./renderShortcut-BjTUrvc5.js";import{t as Sa}from"./bundle.esm-_LzfhNmX.js";import{a as _a,c as nt,d as _e,l as rt,u as it}from"./components-CwZhf0Ag.js";import{t as Pa}from"./empty-state-DFr2pZOz.js";import{t as Pe}from"./formatting-By3b5Lx8.js";import{a as Da,i as za,n as lt,r as ot,t as ct}from"./components-D8LTuNe_.js";import{n as dt,t as Oa}from"./marimo-icons-BmYE_Rrf.js";import{t as Ma}from"./links-C9QsxOBC.js";var Ra=ae("copy-minus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),ht=ae("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),mt=ae("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),$a=ae("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Aa=ae("square-play",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}]]),pt=ae("view",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),z=Me(Ot(),1),Ea=te(),a=Me(Bt(),1);const ft=t=>{let e=(0,Ea.c)(17),{filename:s,filenameIcon:r,onBack:i,onRefresh:n,onDownload:l,actions:c}=t,p;e[0]===i?p=e[1]:(p=i&&(0,a.jsx)(A,{content:"Back to file list",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:i,children:(0,a.jsx)(He,{className:"h-4 w-4"})})}),e[0]=i,e[1]=p);let o;e[2]!==s||e[3]!==r?(o=s?(0,a.jsxs)("span",{className:"flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate",children:[r,s]}):(0,a.jsx)("span",{className:"flex-1"}),e[2]=s,e[3]=r,e[4]=o):o=e[4];let x;e[5]===n?x=e[6]:(x=n&&(0,a.jsx)(A,{content:"Refresh",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:n,children:(0,a.jsx)(Xe,{className:"h-3.5 w-3.5"})})}),e[5]=n,e[6]=x);let f;e[7]===l?f=e[8]:(f=l&&(0,a.jsx)(A,{content:"Download",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:l,children:(0,a.jsx)(Ne,{className:"h-3.5 w-3.5"})})}),e[7]=l,e[8]=f);let j;e[9]!==c||e[10]!==x||e[11]!==f?(j=(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[x,c,f]}),e[9]=c,e[10]=x,e[11]=f,e[12]=j):j=e[12];let u;return e[13]!==p||e[14]!==o||e[15]!==j?(u=(0,a.jsxs)("div",{className:"flex items-center shrink-0 border-b px-1 gap-1",children:[p,o,j]}),e[13]=p,e[14]=o,e[15]=j,e[16]=u):u=e[16],u};var Ia=100*1024*1024;function La(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}const Ta=({entry:t,namespace:e,onBack:s})=>{let{locale:r}=et(),i=La(t.path),n=t.mimeType||"text/plain",l=pe(n),c=l&&t.size>Ia&&t.size>0,{data:p,isPending:o,error:x,refetch:f}=Se(async()=>{if(c)return null;let g=await ye.request({namespace:e,path:t.path,preview:!l});if(g.error)throw Error(g.error);if(!g.url)throw Error("No URL returned");if(l)return{type:"media",url:g.url};let d=await fetch(g.url);if(!d.ok)throw Error(`Failed to fetch preview: ${d.statusText}`);return{type:"text",content:await d.text()}},[e,t.path,l,c]),j=(0,z.useCallback)(async()=>{try{let g=await ye.request({namespace:e,path:t.path});if(g.error){E({title:"Download failed",description:g.error,variant:"danger"});return}g.url&&ve(g.url,g.filename??i)}catch(g){ge.error("Failed to download storage entry",g),E({title:"Download failed",description:String(g),variant:"danger"})}},[e,t.path,i]),u=(0,a.jsx)(ft,{filename:i,filenameIcon:Ye(i),onBack:s,onDownload:j}),h=({includeMime:g=!1})=>(0,a.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 p-4 text-xs",children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Path"}),(0,a.jsxs)("div",{className:"truncate flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-mono text-[11px]",children:t.path}),(0,a.jsx)(fa,{value:t.path,className:"h-3 w-3"})]}),g&&(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Type"}),g&&(0,a.jsx)("span",{children:n}),t.size>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Size"}),(0,a.jsx)("span",{children:Pe(t.size,r)})]}),t.lastModified!=null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground font-medium",children:"Modified"}),(0,a.jsx)("span",{children:new Date(t.lastModified*1e3).toLocaleString()})]})]});return c?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-muted-foreground italic",children:["File is too large to preview (",Pe(t.size,r),")."]})]}):o?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24",children:[(0,a.jsx)(ke,{className:"h-4 w-4 animate-spin"}),"Loading preview..."]})]}):x?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"px-4 pb-4 text-xs text-destructive",children:["Failed to load preview: ",x.message]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:(0,a.jsxs)($,{variant:"secondary",size:"xs",onClick:f,children:[(0,a.jsx)(Xe,{className:"h-3 w-3 mr-1"}),"Retry"]})})]}):p?(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({}),(0,a.jsx)(Te,{mimeType:n,contents:p.type==="text"?p.content:void 0,mediaSource:p.type==="media"?{url:p.url}:void 0})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[u,h({includeMime:!0}),(0,a.jsxs)("div",{className:"p-4 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(Je,{className:"h-4 w-4"}),"Preview not available for this file type."]})]})};var De=te(),Ba=16;function H(t){return{paddingLeft:t*Ba}}function Va(t,e){return new Date(t*1e3).toLocaleDateString(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function xt(t){let e=t.endsWith("/")?t.slice(0,-1):t,s=e.split("/");return s[s.length-1]||e}function ze(t,e,s,r){let i=s.toLowerCase();if(xt(t.path).toLowerCase().includes(i))return!0;if(t.kind==="directory"){let n=r.get(Be(e,t.path));if(n)return n.some(l=>ze(l,e,s,r))}return!1}function ut(t,e,s,r){return s.trim()?t.filter(i=>ze(i,e,s,r)):t}var Ha=t=>{let e=(0,De.c)(34),{namespace:s,protocol:r,rootPath:i,prefix:n,depth:l,locale:c,searchValue:p,onOpenFile:o}=t,{entriesByPath:x}=fe(),{entries:f,isPending:j,error:u}=Ve(s,n);if(j){let d;e[0]===l?d=e[1]:(d=H(l),e[0]=l,e[1]=d);let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),e[2]=y):y=e[2];let k;return e[3]===d?k=e[4]:(k=(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:d,children:[y,"Loading..."]}),e[3]=d,e[4]=k),k}if(u){let d;e[5]===l?d=e[6]:(d=H(l),e[5]=l,e[6]=d);let y;return e[7]!==u.message||e[8]!==d?(y=(0,a.jsxs)("div",{className:"py-1 text-xs text-destructive",style:d,children:["Failed to load: ",u.message]}),e[7]=u.message,e[8]=d,e[9]=y):y=e[9],y}if(f.length===0){let d;e[10]===l?d=e[11]:(d=H(l),e[10]=l,e[11]=d);let y;return e[12]===d?y=e[13]:(y=(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:d,children:"Empty"}),e[12]=d,e[13]=y),y}let h;if(e[14]!==f||e[15]!==l||e[16]!==x||e[17]!==c||e[18]!==s||e[19]!==o||e[20]!==r||e[21]!==i||e[22]!==p){let d=ut(f,s,p,x),y;e[24]!==l||e[25]!==c||e[26]!==s||e[27]!==o||e[28]!==r||e[29]!==i||e[30]!==p?(y=k=>(0,a.jsx)(gt,{entry:k,namespace:s,protocol:r,rootPath:i,depth:l,locale:c,searchValue:p,onOpenFile:o},k.path),e[24]=l,e[25]=c,e[26]=s,e[27]=o,e[28]=r,e[29]=i,e[30]=p,e[31]=y):y=e[31],h=d.map(y),e[14]=f,e[15]=l,e[16]=x,e[17]=c,e[18]=s,e[19]=o,e[20]=r,e[21]=i,e[22]=p,e[23]=h}else h=e[23];let g;return e[32]===h?g=e[33]:(g=(0,a.jsx)(a.Fragment,{children:h}),e[32]=h,e[33]=g),g},gt=({entry:t,namespace:e,protocol:s,rootPath:r,depth:i,locale:n,searchValue:l,onOpenFile:c})=>{var k;let[p,o]=(0,z.useState)(!1),{entriesByPath:x}=fe(),f=t.kind==="directory",j=xt(t.path),u=!!l.trim(),h=f&&u&&j.toLowerCase().includes(l.trim().toLowerCase()),g=f&&u&&!!((k=x.get(Be(e,t.path)))!=null&&k.some(v=>ze(v,e,l,x))),d=p||g,y=(0,z.useCallback)(async()=>{try{let v=await ye.request({namespace:e,path:t.path});if(v.error){E({title:"Download failed",description:v.error,variant:"danger"});return}v.url&&ve(v.url,v.filename??"download")}catch(v){ge.error("Failed to download storage entry",v),E({title:"Download failed",description:String(v),variant:"danger"})}},[e,t.path]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(st,{className:q("text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",f&&"font-medium"),style:H(i),value:`${e}:${t.path}`,onSelect:()=>{f?o(!d):c({entry:t,namespace:e})},children:[f?(0,a.jsx)(_e,{isExpanded:d,className:"h-3 w-3"}):(0,a.jsx)("span",{className:"w-3 shrink-0"}),f?(0,a.jsx)(ta,{className:q("h-3.5 w-3.5 shrink-0",Ze.directory)}):Ye(j),(0,a.jsx)("span",{className:"truncate flex-1 text-left",children:j}),(0,a.jsxs)("div",{className:"flex items-center",children:[t.size>0&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums",children:Pe(t.size,n)}),t.lastModified!=null&&(0,a.jsx)(A,{content:`Last modified: ${new Date(t.lastModified*1e3).toLocaleString()}`,children:(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground pr-1 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:Va(t.lastModified,n)})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(qe,{asChild:!0,children:(0,a.jsx)(rt,{iconClassName:"h-3 w-3",onClick:v=>v.stopPropagation()})}),(0,a.jsxs)(We,{align:"end",onClick:v=>v.stopPropagation(),onCloseAutoFocus:v=>v.preventDefault(),children:[!f&&(0,a.jsxs)(M,{onSelect:()=>c({entry:t,namespace:e}),children:[(0,a.jsx)(pt,{className:"h-3.5 w-3.5 mr-2"}),"View"]}),(0,a.jsxs)(M,{onSelect:async()=>{await re(Wt(s,r,t.path).toString()),E({title:"Copied to clipboard"})},children:[(0,a.jsx)(we,{className:nt}),"Copy URL"]}),!f&&(0,a.jsxs)(M,{onSelect:()=>y(),children:[(0,a.jsx)(Ne,{className:"h-3.5 w-3.5 mr-2"}),"Download"]})]})]})]})]}),f&&d&&(0,a.jsx)(Ha,{namespace:e,protocol:s,rootPath:r,prefix:t.path,depth:i+1,locale:n,searchValue:h?"":l,onOpenFile:c})]})},Ua=t=>{let e=(0,De.c)(42),{namespace:s,locale:r,searchValue:i,onOpenFile:n}=t,[l,c]=(0,z.useState)(!0),{entriesByPath:p}=fe(),{clearNamespaceCache:o}=Kt(),x=s.name??s.displayName,{entries:f,isPending:j,error:u,refetch:h}=Ve(x),g;e[0]!==o||e[1]!==x||e[2]!==h?(g=v=>{v.stopPropagation(),o(x),h()},e[0]=o,e[1]=x,e[2]=h,e[3]=g):g=e[3];let d=g,y=j?s.storageEntries:f,k;if(e[4]!==y||e[5]!==p||e[6]!==u||e[7]!==d||e[8]!==l||e[9]!==j||e[10]!==r||e[11]!==s.displayName||e[12]!==s.name||e[13]!==s.protocol||e[14]!==s.rootPath||e[15]!==x||e[16]!==n||e[17]!==i){let v=ut(y,x,i,p),b;e[19]===l?b=e[20]:(b=()=>c(!l),e[19]=l,e[20]=b);let w;e[21]===l?w=e[22]:(w=(0,a.jsx)(_e,{isExpanded:l,className:"h-3 w-3"}),e[21]=l,e[22]=w);let m;e[23]===s.protocol?m=e[24]:(m=(0,a.jsx)(Et,{protocol:s.protocol}),e[23]=s.protocol,e[24]=m);let N;e[25]===s.displayName?N=e[26]:(N=(0,a.jsx)("span",{children:s.displayName}),e[25]=s.displayName,e[26]=N);let _;e[27]===s.name?_=e[28]:(_=s.name&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-normal",children:["(",(0,a.jsx)(Da,{variableName:s.name}),")"]}),e[27]=s.name,e[28]=_);let C;e[29]===d?C=e[30]:(C=(0,a.jsx)(it,{onClick:d,tooltip:"Refresh storage connection",className:"p-0",iconClassName:"h-3 w-3"}),e[29]=d,e[30]=C);let P=s.rootPath||"(root)",S;e[31]===P?S=e[32]:(S=(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground font-normal tabular-nums ml-auto",children:P}),e[31]=P,e[32]=S);let D;e[33]!==s.name||e[34]!==S||e[35]!==b||e[36]!==w||e[37]!==m||e[38]!==N||e[39]!==_||e[40]!==C?(D=(0,a.jsxs)(st,{value:s.name,onSelect:b,className:"flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none",children:[w,m,N,_,C,S]}),e[33]=s.name,e[34]=S,e[35]=b,e[36]=w,e[37]=m,e[38]=N,e[39]=_,e[40]=C,e[41]=D):D=e[41],k=(0,a.jsxs)(a.Fragment,{children:[D,l&&(0,a.jsxs)(a.Fragment,{children:[j&&y.length===0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-xs text-muted-foreground",style:H(1),children:[(0,a.jsx)(ke,{className:"h-3 w-3 animate-spin"}),"Loading..."]}),u&&y.length===0&&(0,a.jsx)(_a,{error:u,style:H(1),className:"py-1 text-xs h-auto",showIcon:!1}),!j&&y.length===0&&!u&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No entries"}),i&&v.length===0&&y.length>0&&(0,a.jsx)("div",{className:"py-1 text-xs text-muted-foreground italic",style:H(1),children:"No matches"}),v.map(L=>(0,a.jsx)(gt,{entry:L,namespace:x,protocol:s.protocol,rootPath:s.rootPath,depth:1,locale:r,searchValue:i,onOpenFile:n},L.path))]})]}),e[4]=y,e[5]=p,e[6]=u,e[7]=d,e[8]=l,e[9]=j,e[10]=r,e[11]=s.displayName,e[12]=s.name,e[13]=s.protocol,e[14]=s.rootPath,e[15]=x,e[16]=n,e[17]=i,e[18]=k}else k=e[18];return k};const qa=()=>{let t=(0,De.c)(31),{namespaces:e}=fe(),{locale:s}=et(),[r,i]=(0,z.useState)(""),[n,l]=(0,z.useState)(null),c=!!r.trim();if(e.length===0){let b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsxs)("span",{children:["Create an Obstore or fsspec connection in your notebook. See the"," ",(0,a.jsx)("a",{className:"text-link",href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start",target:"_blank",rel:"noopener noreferrer",children:"docs"}),"."]}),t[0]=b):b=t[0];let w;return t[1]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(Pa,{title:"No storage connected",description:b,action:(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsxs)($,{variant:"outline",size:"sm",children:["Add remote storage",(0,a.jsx)(Qe,{className:"h-4 w-4 ml-2"})]})}),icon:(0,a.jsx)(Ee,{className:"h-8 w-8"})}),t[1]=w):w=t[1],w}let p;t[2]===n?p=t[3]:(p=n&&(0,a.jsx)(Ta,{entry:n.entry,namespace:n.namespace,onBack:()=>l(null)}),t[2]=n,t[3]=p);let o=n&&"hidden",x;t[4]===o?x=t[5]:(x=q("border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",o),t[4]=o,t[5]=x);let f;t[6]===r?f=t[7]:(f=(0,a.jsx)(wa,{placeholder:"Search entries...",className:"h-6 m-1",value:r,onValueChange:i,rootClassName:"flex-1 border-b-0"}),t[6]=r,t[7]=f);let j;t[8]===c?j=t[9]:(j=c&&(0,a.jsx)($,{variant:"text",size:"xs",className:"float-right border-none px-2 m-0 h-full",onClick:()=>i(""),children:(0,a.jsx)(Gt,{className:"h-4 w-4"})}),t[8]=c,t[9]=j);let u;t[10]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(A,{content:"Filters loaded entries only. Expand directories to include their contents in the search.",delayDuration:200,children:(0,a.jsx)(Xt,{className:"h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2"})}),t[10]=u):u=t[10];let h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsx)(Ie,{defaultTab:"storage",children:(0,a.jsx)($,{variant:"ghost",size:"sm",className:"px-2 border-0 border-l border-muted-background rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",children:(0,a.jsx)(Qe,{className:"h-4 w-4"})})}),t[11]=h):h=t[11];let g;t[12]!==f||t[13]!==j?(g=(0,a.jsxs)("div",{className:"flex items-center w-full border-b",children:[f,j,u,h]}),t[12]=f,t[13]=j,t[14]=g):g=t[14];let d;if(t[15]!==s||t[16]!==e||t[17]!==r){let b;t[19]!==s||t[20]!==r?(b=w=>(0,a.jsx)(Ua,{namespace:w,locale:s,searchValue:r,onOpenFile:l},w.name??w.displayName),t[19]=s,t[20]=r,t[21]=b):b=t[21],d=e.map(b),t[15]=s,t[16]=e,t[17]=r,t[18]=d}else d=t[18];let y;t[22]===d?y=t[23]:(y=(0,a.jsx)(ka,{className:"flex flex-col",children:d}),t[22]=d,t[23]=y);let k;t[24]!==x||t[25]!==g||t[26]!==y?(k=(0,a.jsxs)(Na,{className:x,shouldFilter:!1,children:[g,y]}),t[24]=x,t[25]=g,t[26]=y,t[27]=k):k=t[27];let v;return t[28]!==p||t[29]!==k?(v=(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[p,k]}),t[28]=p,t[29]=k,t[30]=v):v=t[30],v};var jt=te(),yt=(0,z.createContext)(null);function Wa(){return(0,z.useContext)(yt)??void 0}var Ka=t=>{let e=(0,jt.c)(3),{children:s}=t,r=ga(),i;return e[0]!==s||e[1]!==r?(i=(0,a.jsx)(yt.Provider,{value:r,children:s}),e[0]=s,e[1]=r,e[2]=i):i=e[2],i};const Ya=t=>{let e=(0,jt.c)(5),{children:s}=t,[r,i]=(0,z.useState)(null),n;e[0]!==s||e[1]!==r?(n=r&&(0,a.jsx)(ua,{backend:ja,options:{rootElement:r},children:(0,a.jsx)(Ka,{children:s})}),e[0]=s,e[1]=r,e[2]=n):n=e[2];let l;return e[3]===n?l=e[4]:(l=(0,a.jsx)("div",{ref:i,className:"contents",children:n}),e[3]=n,e[4]=l),l};var Oe=new Map;const Za=({file:t,onOpenNotebook:e})=>{let{sendFileDetails:s,sendUpdateFile:r}=je(),i=se(Tt),n=se(Le),l=se($t),[c,p]=(0,z.useState)(""),{data:o,isPending:x,error:f,setData:j,refetch:u}=Se(async()=>{let m=await s({path:t.path}),N=m.contents||"";return p(Oe.get(t.path)||N),m},[t.path]),h=async()=>{c!==(o==null?void 0:o.contents)&&await r({path:t.path,contents:c}).then(m=>{m.success&&(j(N=>({...N,contents:c})),p(c))})},g=(0,z.useRef)(c);if(g.current=c,(0,z.useEffect)(()=>()=>{if(!(o!=null&&o.contents))return;let m=g.current;m===o.contents?Oe.delete(t.path):Oe.set(t.path,m)},[t.path,o==null?void 0:o.contents]),f)return(0,a.jsx)(at,{error:f});if(x||!o)return null;let d=o.mimeType||"text/plain",y=d in Ut,k=l&&o.file.isMarimoFile&&(t.path===l||t.path.endsWith(`/${l}`));if(!o.contents&&!y)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:o.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:d})]});let v=(0,a.jsx)(ft,{filename:o.file.name,onRefresh:u,onDownload:n?void 0:()=>{if(pe(d)){ve(Qt(o.contents,d),o.file.name);return}Ue(new Blob([o.contents||c],{type:d}),o.file.name)},actions:(0,a.jsxs)(a.Fragment,{children:[t.isMarimoFile&&!me()&&(0,a.jsx)(A,{content:"Open notebook",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:m=>e(m),children:(0,a.jsx)(be,{className:"h-3.5 w-3.5"})})}),!pe(d)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A,{content:"Copy contents to clipboard",children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:async()=>{await re(c)},children:(0,a.jsx)(we,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A,{content:Ca("global.save"),children:(0,a.jsx)($,{variant:"text",size:"xs",onClick:h,disabled:c===o.contents,children:(0,a.jsx)(ra,{className:"h-3.5 w-3.5"})})})]})]})}),b=pe(d),w=!b&&d!=="text/csv";return(0,a.jsxs)(a.Fragment,{children:[v,w&&k&&(0,a.jsxs)(ba,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(la,{className:"h-4 w-4"}),(0,a.jsx)(va,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)(Te,{mimeType:d,contents:b?void 0:w?c:o.contents??void 0,mediaSource:b?{base64:o.contents,mime:d}:void 0,readOnly:!w,onChange:p,extensions:[Ht.of([{key:i.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===o.contents?!1:(h(),!0)}])]})]})};var Ga=class{constructor(t){B(this,"delegate",new Ce([]));B(this,"rootPath","");B(this,"onChange",It.NOOP);B(this,"path",new Fe("/"));B(this,"initialize",async t=>{if(this.onChange=t,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new Ce(e.files),this.rootPath=e.root,this.path=Fe.guessDeliminator(e.root)}catch(e){E({title:"Failed",description:ma(e)})}this.onChange(this.delegate.data)});B(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(r=>{var i;return(i=this.delegate.find(r))==null?void 0:i.data.path})].filter(Boolean),s=await Promise.all(e.map(r=>this.callbacks.listFiles({path:r}).catch(()=>({files:[]}))));for(let[r,i]of e.entries()){let n=s[r];i===this.rootPath?this.delegate=new Ce(n.files):this.delegate.update({id:i,changes:{children:n.files}})}this.onChange(this.delegate.data)});B(this,"relativeFromRoot",t=>{let e=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return t.startsWith(e)?t.slice(e.length):t});B(this,"handleResponse",t=>t.success?t:(E({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let s=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:s.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let s=this.delegate.find(t);if(!s)return;let r=s.data.path,i=this.path.join(this.path.dirname(r),e);await this.callbacks.renameFileOrFolder({path:r,newPath:i}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i])}async move(t,e){var r;let s=e?((r=this.delegate.find(e))==null?void 0:r.data.path)??e:this.rootPath;await Promise.all(t.map(i=>{this.delegate.move({id:i,parentId:e,index:0});let n=this.delegate.find(i);if(!n)return Promise.resolve();let l=this.path.join(s,this.path.basename(n.data.path));return this.delegate.update({id:i,changes:{path:l}}),this.callbacks.renameFileOrFolder({path:n.data.path,newPath:l}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([s])}async createFile(t,e,s="file"){var n;let r=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath,i=await this.callbacks.createFileOrFolder({path:r,type:s,name:t}).then(this.handleResponse);i!=null&&i.info&&(this.delegate.create({parentId:e,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async createFolder(t,e){var i;let s=e?((i=this.delegate.find(e))==null?void 0:i.data.path)??e:this.rootPath,r=await this.callbacks.createFileOrFolder({path:s,type:"directory",name:t}).then(this.handleResponse);r!=null&&r.info&&(this.delegate.create({parentId:e,index:0,data:r.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const vt=Re(t=>{let e=t(qt);return Lt(e,"no requestClientAtom set"),new Ga({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),Ja=Re({});async function Qa(){await zt.get(vt).refreshAll([])}var U=" ";const bt={directory:t=>`os.listdir("${t}")`,python:t=>`with open("${t}", "r") as _f:
2
2
  ${U}...
3
3
  `,json:t=>`with open("${t}", "r") as _f:
4
4
  ${U}_data = json.load(_f)
@@ -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-DJj8ja0V.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-DP66hBzA.js";import{t as Pr}from"./jsx-runtime-CP2fAiZX.js";import{r as Lr,t as Ke}from"./button-BwamPDJi.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-Bc2d7Nej.js";import{t as Gr}from"./plus-C9B_qWUi.js";import{t as zr}from"./refresh-ccw-B3lGEyQm.js";import{n as Tr,t as Ve}from"./input-BwUS1Mg1.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-V83ZU8Sp.js";import{t as Ur}from"./trash-2-CrA4LwJ2.js";import{t as Zr}from"./badge-BUFDGZ04.js";import{E as Ze,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-lAuBMOg4.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-DMX8tcVe.js";import{l as ta}from"./dist-qkIhd7iG.js";import{t as na}from"./tooltip-CKZGcDDd.js";import{u as sa}from"./menu-items-CRjHRaiu.js";import{i as la,r as oa,t as ia}from"./popover-XNIX-rv1.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-DLq1SsAO.js";import{t as ha}from"./label-CDwJXweF.js";import{t as fa}from"./toggle-BYx0fN9n.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-DJj8ja0V.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-DP66hBzA.js";import{t as Pr}from"./jsx-runtime-CP2fAiZX.js";import{r as Lr,t as Ke}from"./button-BwamPDJi.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-Bc2d7Nej.js";import{t as Gr}from"./plus-C9B_qWUi.js";import{t as zr}from"./refresh-ccw-B3lGEyQm.js";import{n as Tr,t as Ve}from"./input-GLbHj4DF.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-V83ZU8Sp.js";import{t as Ur}from"./trash-2-CrA4LwJ2.js";import{t as Zr}from"./badge-BUFDGZ04.js";import{E as Ze,S as Ee,_ as xe,w as Pe,x as Hr}from"./Combination-lAuBMOg4.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-DMX8tcVe.js";import{l as ta}from"./dist-qkIhd7iG.js";import{t as na}from"./tooltip-CKZGcDDd.js";import{u as sa}from"./menu-items-CRjHRaiu.js";import{i as la,r as oa,t as ia}from"./popover-XNIX-rv1.js";import{a as ca,o as da,r as ua,s as ma,t as pa}from"./command-DQqPawJf.js";import{t as ha}from"./label-CDwJXweF.js";import{t as fa}from"./toggle-BYx0fN9n.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{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-WUlsM6MC.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-BfF3Lb5I.js";import{t as $}from"./jsx-runtime-CP2fAiZX.js";import{r as z}from"./requests-DZy_SQ_v.js";import{t as N}from"./spinner-Dt4SmUsI.js";import{lt as L,r as M}from"./input-BwUS1Mg1.js";import{n as c,t as R}from"./paths-D2lG83Oh.js";import{c as v,t as I}from"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{r as A}from"./errors-0IrrdfSG.js";import{t as f}from"./error-banner-C2nW22mN.js";import{n as D}from"./useAsyncData-CI3ntihq.js";import{n as W,t as _}from"./card-WPBELA1S.js";var p=b(y(),1),e=b($(),1),B=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),w=a=>{let o=R.guessDeliminator(a).deliminator;return a.replace(/\.[^./]+$/,"").split(o).filter(Boolean).map(d=>d.split(/[_-]/).map(B).join(" ")).join(" > ")},F=a=>`${I()}-${encodeURIComponent(a)}`,Y=a=>{try{return new URL(a).protocol==="https:"}catch{return!1}},q=10,E=()=>{let{getWorkspaceFiles:a}=z(),[o,d]=(0,p.useState)(""),n=D(()=>a({includeMarkdown:!1}),[]),t=n.data,m=(0,p.useMemo)(()=>{let r=(t==null?void 0:t.files)??[],i=(t==null?void 0:t.root)??"";return r.filter(s=>!s.isDirectory).map(s=>{var g,x,j;let l=i&&c.isAbsolute(s.path)&&s.path.startsWith(i)?c.rest(s.path,i):s.path,C=((g=s.opengraph)==null?void 0:g.title)??w(c.basename(l)),S=w(c.dirname(l)),U=((x=s.opengraph)==null?void 0:x.description)??"",h=(j=s.opengraph)==null?void 0:j.image,k=h&&Y(h)?h:v(`og/thumbnail?file=${encodeURIComponent(l)}`).toString();return{...s,relativePath:l,title:C,subtitle:S,description:U,thumbnailUrl:k}}).sort((s,l)=>s.relativePath.localeCompare(l.relativePath))},[t==null?void 0:t.files,t==null?void 0:t.root]),u=(0,p.useMemo)(()=>{if(!o)return m;let r=o.toLowerCase();return m.filter(i=>i.title.toLowerCase().includes(r))},[m,o]);return n.isPending?(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"}):n.error?(0,e.jsx)(f,{kind:"danger",className:"rounded p-4",children:A(n.error)}):t?(0,e.jsx)(p.Suspense,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",children:[(0,e.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),(0,e.jsx)(P,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[t.hasMore&&(0,e.jsxs)(f,{kind:"warn",className:"rounded p-4",children:["Showing first ",t.fileCount," files. Your workspace has more files."]}),m.length>q&&(0,e.jsx)(M,{id:"search",value:o,icon:(0,e.jsx)(L,{className:"h-4 w-4"}),onChange:r=>d(r.target.value),placeholder:"Search",rootClassName:"mb-3",className:"mb-0 border-border"}),u.length===0?(0,e.jsx)(f,{kind:"warn",className:"rounded p-4",children:"No marimo apps found."}):(0,e.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(r=>(0,e.jsx)("a",{href:v(`?file=${encodeURIComponent(r.relativePath)}`).toString(),target:F(r.path),className:"no-underline",children:(0,e.jsxs)(_,{className:"h-full overflow-hidden hover:bg-accent/20 transition-colors",children:[(0,e.jsx)("img",{src:r.thumbnailUrl,alt:r.title,loading:"lazy",className:"w-full aspect-1200/630 object-cover border-b border-border/60"}),(0,e.jsx)(W,{className:"p-6 pt-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[r.subtitle&&(0,e.jsx)("div",{className:"text-sm font-semibold text-muted-foreground",children:r.subtitle}),(0,e.jsx)("div",{className:"text-lg font-medium",children:r.title}),r.description&&(0,e.jsx)("div",{className:"text-sm text-muted-foreground line-clamp-3 mt-1",children:r.description})]})})]})},r.path))})]})})]})}):(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"})};export{E as default};
1
+ import{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-WUlsM6MC.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-BfF3Lb5I.js";import{t as $}from"./jsx-runtime-CP2fAiZX.js";import{r as z}from"./requests-DZy_SQ_v.js";import{t as N}from"./spinner-Dt4SmUsI.js";import{dt as L,r as M}from"./input-GLbHj4DF.js";import{n as c,t as R}from"./paths-D2lG83Oh.js";import{c as v,t as I}from"./session-iz9BPeTp.js";import"./Combination-lAuBMOg4.js";import{r as A}from"./errors-0IrrdfSG.js";import{t as f}from"./error-banner-C2nW22mN.js";import{n as D}from"./useAsyncData-CI3ntihq.js";import{n as W,t as _}from"./card-WPBELA1S.js";var p=b(y(),1),e=b($(),1),B=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),w=a=>{let o=R.guessDeliminator(a).deliminator;return a.replace(/\.[^./]+$/,"").split(o).filter(Boolean).map(d=>d.split(/[_-]/).map(B).join(" ")).join(" > ")},F=a=>`${I()}-${encodeURIComponent(a)}`,Y=a=>{try{return new URL(a).protocol==="https:"}catch{return!1}},q=10,E=()=>{let{getWorkspaceFiles:a}=z(),[o,d]=(0,p.useState)(""),n=D(()=>a({includeMarkdown:!1}),[]),t=n.data,m=(0,p.useMemo)(()=>{let r=(t==null?void 0:t.files)??[],l=(t==null?void 0:t.root)??"";return r.filter(s=>!s.isDirectory).map(s=>{var g,x,j;let i=l&&c.isAbsolute(s.path)&&s.path.startsWith(l)?c.rest(s.path,l):s.path,C=((g=s.opengraph)==null?void 0:g.title)??w(c.basename(i)),S=w(c.dirname(i)),U=((x=s.opengraph)==null?void 0:x.description)??"",h=(j=s.opengraph)==null?void 0:j.image,k=h&&Y(h)?h:v(`og/thumbnail?file=${encodeURIComponent(i)}`).toString();return{...s,relativePath:i,title:C,subtitle:S,description:U,thumbnailUrl:k}}).sort((s,i)=>s.relativePath.localeCompare(i.relativePath))},[t==null?void 0:t.files,t==null?void 0:t.root]),u=(0,p.useMemo)(()=>{if(!o)return m;let r=o.toLowerCase();return m.filter(l=>l.title.toLowerCase().includes(r))},[m,o]);return n.isPending?(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"}):n.error?(0,e.jsx)(f,{kind:"danger",className:"rounded p-4",children:A(n.error)}):t?(0,e.jsx)(p.Suspense,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",children:[(0,e.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),(0,e.jsx)(P,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[t.hasMore&&(0,e.jsxs)(f,{kind:"warn",className:"rounded p-4",children:["Showing first ",t.fileCount," files. Your workspace has more files."]}),m.length>q&&(0,e.jsx)(M,{id:"search",value:o,icon:(0,e.jsx)(L,{className:"h-4 w-4"}),onChange:r=>d(r.target.value),placeholder:"Search",rootClassName:"mb-3",className:"mb-0 border-border"}),u.length===0?(0,e.jsx)(f,{kind:"warn",className:"rounded p-4",children:"No marimo apps found."}):(0,e.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(r=>(0,e.jsx)("a",{href:v(`?file=${encodeURIComponent(r.relativePath)}`).toString(),target:F(r.path),className:"no-underline",children:(0,e.jsxs)(_,{className:"h-full overflow-hidden hover:bg-accent/20 transition-colors",children:[(0,e.jsx)("img",{src:r.thumbnailUrl,alt:r.title,loading:"lazy",className:"w-full aspect-1200/630 object-cover border-b border-border/60"}),(0,e.jsx)(W,{className:"p-6 pt-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[r.subtitle&&(0,e.jsx)("div",{className:"text-sm font-semibold text-muted-foreground",children:r.subtitle}),(0,e.jsx)("div",{className:"text-lg font-medium",children:r.title}),r.description&&(0,e.jsx)("div",{className:"text-sm text-muted-foreground line-clamp-3 mt-1",children:r.description})]})})]})},r.path))})]})})]})}):(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"})};export{E as default};