@marimo-team/frontend 0.25.3-dev66 → 0.25.3-dev67

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 (22) hide show
  1. package/dist/assets/{add-cell-with-ai-BhmuohAY.js → add-cell-with-ai-By51zSlC.js} +1 -1
  2. package/dist/assets/{agent-panel-GFhlWVub.js → agent-panel-aCWa3Yai.js} +1 -1
  3. package/dist/assets/{ai-model-dropdown-YT1HiXiK.js → ai-model-dropdown-bwTRyFn4.js} +1 -1
  4. package/dist/assets/{app-config-button-C_whRVO8.js → app-config-button-DGhsM0xw.js} +1 -1
  5. package/dist/assets/{cell-editor-3cVIcyHK.js → cell-editor-M8dEnDzk.js} +1 -1
  6. package/dist/assets/{chat-display-BtaARI-N.js → chat-display-DXn2Yrjr.js} +1 -1
  7. package/dist/assets/{chat-panel-eT2lfQrB.js → chat-panel-D3iUyZId.js} +1 -1
  8. package/dist/assets/{chat-ui-nNFa2LdU.js → chat-ui-YuJtv3UJ.js} +1 -1
  9. package/dist/assets/{command-palette-OZPTmtR-.js → command-palette-B5H-9JMB.js} +1 -1
  10. package/dist/assets/{edit-page-L1WRvtMa.js → edit-page-4qZ3DZjt.js} +4 -4
  11. package/dist/assets/{home-page-KnJyha6O.js → home-page-CZ3hkD3m.js} +1 -1
  12. package/dist/assets/{hooks-w6zKs3CJ.js → hooks-BrFYiTJS.js} +1 -1
  13. package/dist/assets/{index-oc8deM9X.js → index-CDWL5dyB.js} +3 -3
  14. package/dist/assets/{layout-sYdHI-lW.js → layout-CGC8ajpe.js} +2 -2
  15. package/dist/assets/{packages-panel-lkNX6Oov.js → packages-panel-BtkXVz3L.js} +1 -1
  16. package/dist/assets/{panels-DVvPamWL.js → panels-Cez8PgGB.js} +1 -1
  17. package/dist/assets/{reveal-component-CrQRQhW4.js → reveal-component-Cxo3hLGA.js} +1 -1
  18. package/dist/assets/{run-page-sTTYJWKI.js → run-page-Bn5ccbSI.js} +1 -1
  19. package/dist/assets/{scratchpad-panel-ClLxdqdK.js → scratchpad-panel-yHIW63VQ.js} +1 -1
  20. package/dist/assets/{useNotebookActions-OLol05t9.js → useNotebookActions-CmqOx-WZ.js} +1 -1
  21. package/dist/index.html +1 -1
  22. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-Dfcbgjhg.js";import{t as i}from"./react-DVplv7_D.js";import{Bn as a,Qr as o,Ya as s,ao as c}from"./cells-T9_Y4Jlv.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{_ as u}from"./useEventListener-CjDeLqFC.js";import{l as d,n as f,s as p,t as m,y as h}from"./session-B8Y-GJnS.js";import{k as g}from"./config-DzdxZb17.js";import{t as _}from"./ErrorBoundary-DJhsFCsX.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{o as b}from"./alert-dialog-C-sWmKva.js";import{c as x}from"./dropdown-menu-DS6umAnH.js";import{d as S}from"./select-3CVGlYrC.js";import{t as C}from"./tooltip-CkGm8X7m.js";import{t as w}from"./button-D8gVKwe-.js";import{t as T}from"./createLucideIcon-DfJ2oMlA.js";import{n as E}from"./paths-bkIFVj8h.js";import{i as D,n as O,r as k,t as A}from"./components-lDm0qi2t.js";import{a as j}from"./useNumberFormatter-D7O_26UI.js";import{t as M}from"./chevron-right-eAtVhbNZ.js";import{o as N,s as P}from"./tree-actions-Cb-nUK1F.js";import{t as F}from"./circle-play-CYIb0qT6.js";import{t as I}from"./external-link-UrX9KO36.js";import{r as L,t as R}from"./file-icons-CdJgUy-I.js";import{b as z}from"./write-secret-modal-7DzehGyr.js";import{t as B}from"./spinner-DyNE-o8o.js";import{a as V,i as H,n as U,o as W,r as G,s as ee,t as te,u as ne}from"./file-name-input-CDrRlIiX.js";import{n as re,r as ie,t as ae}from"./app-config-button-C_whRVO8.js";import{r as oe,rn as se}from"./input-BZdRe7pb.js";import{t as K}from"./use-toast-Wu434mLr.js";import{r as q}from"./requests-lt0JK8Jt.js";import{t as ce}from"./I18nProvider-Cg2I_s1_.js";import{n as J,t as le}from"./useAsyncData-DhhdOGGd.js";import{l as ue}from"./dates-CQMwFko2.js";import{a as de}from"./errors-CNsgAw6m.js";import{t as fe}from"./error-banner-B5kzVf_0.js";import{t as pe}from"./icons-CiZ_8zS-.js";import{t as me}from"./useInterval-DJdQmXnq.js";var he=T(`book-text`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}],[`path`,{d:`M8 11h8`,key:`vwpz6n`}],[`path`,{d:`M8 7h6`,key:`1f0q6e`}]]),Y=l(),X=e(i(),1),Z=X.createContext({runningNotebooks:new Map,setRunningNotebooks:u.NOOP}),Q=X.createContext({root:``,refreshWorkspace:u.NOOP}),ge=g(`marimo:home:include-markdown`,!1,o,{getOnInit:!0}),_e=g(`marimo:home:expanded-folders`,{},o,{getOnInit:!0}),$=y();function ve(e){return`${m()}-${encodeURIComponent(e)}`}var ye=()=>{let e=(0,Y.c)(58),[t,n]=(0,X.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=q(),a;e[0]===r?a=e[1]:(a=()=>r(),e[0]=r,e[1]=a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[2]=o):o=e[2];let s=J(a,o),l,u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{n(Ae)},u={delayMs:1e4,whenVisible:!0},e[3]=l,e[4]=u):(l=e[3],u=e[4]),me(l,u);let d;e[5]===i?d=e[6]:(d=async()=>{let e=await i();return N.keyBy(e.files,je)},e[5]=i,e[6]=d);let f;e[7]===t?f=e[8]:(f=[t],e[7]=t,e[8]=f);let p=J(d,f),m,h,g,v,y,b,x,S,C,w,T,E,D;if(e[9]!==s||e[10]!==p){C=Symbol.for(`react.early_return_sentinel`);bb0:{let t=le(s,p);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(B,{centered:!0,size:`xlarge`}),e[24]=t):t=e[24],C=t;break bb0}let[r,i]=n;v=r,g=X.Suspense,h=Z,x={runningNotebooks:i,setRunningNotebooks:p.setData};let a,o;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(O,{}),o=(0,$.jsx)(ae,{showAppConfig:!1}),e[25]=a,e[26]=o):(a=e[25],o=e[26]);let c=`This will shutdown the notebook server and terminate all running notebooks (${i.size}). You'll lose all data that's in memory.`;e[27]===c?S=e[28]:(S=(0,$.jsxs)(`div`,{className:`absolute top-3 right-5 flex gap-3 z-50`,children:[a,o,(0,$.jsx)(re,{description:c})]}),e[27]=c,e[28]=S),E=`flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10`,e[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(`img`,{src:`logo.png`,alt:`marimo logo`,className:`w-48 mb-2`}),y=(0,$.jsx)(ke,{}),b=(0,$.jsx)(k,{}),e[29]=y,e[30]=b,e[31]=D):(y=e[29],b=e[30],D=e[31]),m=Ee,e[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(A,{Icon:F,children:`Running notebooks`}),e[32]=w):w=e[32],T=[...i.values()]}e[9]=s,e[10]=p,e[11]=m,e[12]=h,e[13]=g,e[14]=v,e[15]=y,e[16]=b,e[17]=x,e[18]=S,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D}else m=e[11],h=e[12],g=e[13],v=e[14],y=e[15],b=e[16],x=e[17],S=e[18],C=e[19],w=e[20],T=e[21],E=e[22],D=e[23];if(C!==Symbol.for(`react.early_return_sentinel`))return C;let j;e[33]!==m||e[34]!==w||e[35]!==T?(j=(0,$.jsx)(m,{header:w,files:T}),e[33]=m,e[34]=w,e[35]=T,e[36]=j):j=e[36];let M;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(A,{Icon:c,children:`Recent notebooks`}),e[37]=M):M=e[37];let P;e[38]===v.files?P=e[39]:(P=(0,$.jsx)(Ee,{header:M,files:v.files}),e[38]=v.files,e[39]=P);let I;e[40]===s.refetch?I=e[41]:(I=(0,$.jsx)(_,{children:(0,$.jsx)(be,{onRefreshRecents:s.refetch})}),e[40]=s.refetch,e[41]=I);let L;e[42]!==y||e[43]!==b||e[44]!==j||e[45]!==P||e[46]!==I||e[47]!==E||e[48]!==D?(L=(0,$.jsxs)(`div`,{className:E,children:[D,y,b,j,P,I]}),e[42]=y,e[43]=b,e[44]=j,e[45]=P,e[46]=I,e[47]=E,e[48]=D,e[49]=L):L=e[49];let R;e[50]!==h||e[51]!==x||e[52]!==S||e[53]!==L?(R=(0,$.jsxs)(h,{value:x,children:[S,L]}),e[50]=h,e[51]=x,e[52]=S,e[53]=L,e[54]=R):R=e[54];let z;return e[55]!==g||e[56]!==R?(z=(0,$.jsx)(g,{children:R}),e[55]=g,e[56]=R,e[57]=z):z=e[57],z},be=e=>{let r=(0,Y.c)(54),{onRefreshRecents:i}=e,{getWorkspaceFiles:o}=q(),[c,l]=t(ge),[u,d]=(0,X.useState)(``),f;r[0]!==o||r[1]!==c?(f=()=>o({includeMarkdown:c}),r[0]=o,r[1]=c,r[2]=f):f=r[2];let p;r[3]===c?p=r[4]:(p=[c],r[3]=c,r[4]=p);let{isPending:m,data:h,error:g,isFetching:_,refetch:v}=J(f,p),y;r[5]!==i||r[6]!==v?(y=()=>{v(),i()},r[5]=i,r[6]=v,r[7]=y):y=r[7];let b=n(y);h?.root;let x=h?.root??``,C;r[8]!==b||r[9]!==x?(C={root:x,refreshWorkspace:b},r[8]=b,r[9]=x,r[10]=C):C=r[10];let T=C;if(m){let e;return r[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(B,{centered:!0,size:`xlarge`,className:`mt-6`}),r[11]=e):e=r[11],e}if(g){let e;r[12]===g?e=r[13]:(e=de(g),r[12]=g,r[13]=e);let t;return r[14]===e?t=r[15]:(t=(0,$.jsx)(fe,{kind:`danger`,className:`rounded p-4`,children:e}),r[14]=e,r[15]=t),t}let E;r[16]!==h.fileCount||r[17]!==h.hasMore?(E=h.hasMore&&(0,$.jsx)(D,{fileCount:h.fileCount}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=E):E=r[18];let O,k;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(se,{size:13}),k=e=>d(e.target.value),r[19]=O,r[20]=k):(O=r[19],k=r[20]);let j;r[21]===u?j=r[22]:(j=(0,$.jsx)(oe,{id:`search`,value:u,icon:O,onChange:k,placeholder:`Search`,className:`mb-0 border-border`}),r[21]=u,r[22]=j);let M;r[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(xe,{}),r[23]=M):M=r[23];let N;r[24]===l?N=r[25]:(N=e=>l(!!e),r[24]=l,r[25]=N);let P;r[26]!==c||r[27]!==N?(P=(0,$.jsx)(a,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:c,onCheckedChange:N}),r[26]=c,r[27]=N,r[28]=P):P=r[28];let F;r[29]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(S,{htmlFor:`include-markdown`,children:`Include markdown`}),r[29]=F):F=r[29];let I;r[30]!==P||r[31]!==j?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[j,M,P,F]}),r[30]=P,r[31]=j,r[32]=I):I=r[32];let L;r[33]===v?L=r[34]:(L=()=>v(),r[33]=v,r[34]=L);let R;r[35]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(s,{className:`w-4 h-4`}),r[35]=R):R=r[35];let z;r[36]===L?z=r[37]:(z=(0,$.jsx)(w,{variant:`text`,size:`icon`,className:`w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100`,onClick:L,"aria-label":`Refresh workspace`,children:R}),r[36]=L,r[37]=z);let V;r[38]===_?V=r[39]:(V=_&&(0,$.jsx)(B,{size:`small`}),r[38]=_,r[39]=V);let H;r[40]!==I||r[41]!==z||r[42]!==V?(H=(0,$.jsxs)(A,{Icon:he,control:I,children:[`Workspace`,z,V]}),r[40]=I,r[41]=z,r[42]=V,r[43]=H):H=r[43];let U;r[44]!==u||r[45]!==h.files?(U=(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:(0,$.jsx)(Se,{searchText:u,files:h.files})}),r[44]=u,r[45]=h.files,r[46]=U):U=r[46];let W;r[47]!==H||r[48]!==U||r[49]!==E?(W=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[E,H,U]}),r[47]=H,r[48]=U,r[49]=E,r[50]=W):W=r[50];let G;return r[51]!==W||r[52]!==T?(G=(0,$.jsx)(Q,{value:T,children:W}),r[51]=W,r[52]=T,r[53]=G):G=r[53],G},xe=()=>{let e=(0,Y.c)(5),t=r(_e),n;e[0]===t?n=e[1]:(n=()=>{t({})},e[0]=t,e[1]=n);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(P,{className:`w-4 h-4 mr-1`}),e[2]=i):i=e[2];let a;return e[3]===n?a=e[4]:(a=(0,$.jsxs)(w,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Se=e=>{let r=(0,Y.c)(22),{files:i,searchText:a}=e,[o,s]=t(_e),c;r[0]===o?c=r[1]:(c=Object.keys(o),r[0]=o,r[1]=c);let l=c.length===0,u=(0,X.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,X.use)(Q),p;r[2]===d?p=r[3]:(p={root:d},r[2]=d,r[3]=p);let{renameFile:m}=W(p),h,g;r[4]===l?(h=r[5],g=r[6]):(h=()=>{l&&u.current?.closeAll()},g=[l],r[4]=l,r[5]=h,r[6]=g),(0,X.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){K({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await m(n.data,t)&&f()},r[7]=f,r[8]=m,r[9]=_):_=r[9];let v=n(_);if(i.length===0){let e;return r[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`flex flex-col px-5 py-10 items-center justify-center`,children:(0,$.jsx)(`p`,{className:`text-center text-muted-foreground`,children:`No files in this workspace`})}),r[10]=e):e=r[10],e}let y;r[11]!==o||r[12]!==s?(y=async e=>{let t=o[e]??!1;s({...o,[e]:!t})},r[11]=o,r[12]=s,r[13]=y):y=r[13];let b;r[14]===v?b=r[15]:(b=async e=>{let{id:t,name:n}=e;await v(t,n)},r[14]=v,r[15]=b);let x;return r[16]!==i||r[17]!==o||r[18]!==a||r[19]!==y||r[20]!==b?(x=(0,$.jsx)(ne,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:Me,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Ne,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:Ce}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},Ce=e=>{let t=(0,Y.c)(18),{node:n,style:r}=e,i=n.data.isDirectory?`directory`:L(n.data.name),a=R[i],o;t[0]===a?o=t[1]:(o=(0,$.jsx)(a,{className:`w-5 h-5 shrink-0`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,X.use)(Q),{runningNotebooks:l}=(0,X.use)(Z),u;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(u=()=>{if(n.isEditing)return(0,$.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,$.jsx)(te,{node:n})]});if(n.data.isDirectory)return(0,$.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,n.data.name]});let e=n.data.path.startsWith(c)&&E.isAbsolute(n.data.path)?E.rest(n.data.path,c):n.data.path,t=e.endsWith(`.md`)||e.endsWith(`.qmd`),r=l.has(e);return(0,$.jsxs)(`a`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:d(`?file=${encodeURIComponent(e)}`).toString(),target:ve(e),children:[s,(0,$.jsxs)(`span`,{className:`flex-1 overflow-hidden text-ellipsis`,children:[n.data.name,t&&(0,$.jsx)(pe,{className:`ml-2 inline opacity-80`})]}),(0,$.jsx)(we,{node:n,isRunning:r}),(0,$.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,$.jsx)(Oe,{filePath:e})}),(0,$.jsx)(I,{size:20,className:`group-hover:opacity-100 opacity-0 text-primary shrink-0`})]})},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u):u=t[6];let f=u,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=v(`flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full`),t[7]=p):p=t[7];let m,h;t[8]===n?(m=t[9],h=t[10]):(m=e=>{e.stopPropagation(),n.data.isDirectory&&n.toggle()},h=(0,$.jsx)(Te,{node:n}),t[8]=n,t[9]=m,t[10]=h);let g;t[11]===f?g=t[12]:(g=f(),t[11]=f,t[12]=g);let _;return t[13]!==r||t[14]!==m||t[15]!==h||t[16]!==g?(_=(0,$.jsxs)(`div`,{style:r,className:p,onClick:m,children:[h,g]}),t[13]=r,t[14]=m,t[15]=h,t[16]=g,t[17]=_):_=t[17],_},we=e=>{let t=(0,Y.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,X.use)(Q),o;t[0]!==n||t[1]!==a||t[2]!==i?(o={node:n,root:i,onAfterChange:a},t[0]=n,t[1]=a,t[2]=i,t[3]=o):o=t[3];let{handleRename:s,handleDuplicate:c,handleDelete:l}=ee(o),u=r?`Stop the notebook's kernel before renaming or deleting.`:void 0,d;t[4]!==s||t[5]!==r||t[6]!==u?(d=(0,$.jsx)(V,{onSelect:s,disabled:r,title:u}),t[4]=s,t[5]=r,t[6]=u,t[7]=d):d=t[7];let f;t[8]===c?f=t[9]:(f=(0,$.jsx)(G,{onSelect:c}),t[8]=c,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(x,{}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==r||t[13]!==u?(m=(0,$.jsx)(U,{onSelect:l,disabled:r,title:u}),t[11]=l,t[12]=r,t[13]=u,t[14]=m):m=t[14];let h;return t[15]!==d||t[16]!==f||t[17]!==m?(h=(0,$.jsxs)(H,{testId:`workspace-more-button`,buttonClassName:`w-8 h-8 p-0 shrink-0`,contentClassName:`print:hidden w-fit min-w-[140px]`,preventDefaultOnTrigger:!0,children:[d,f,p,m]}),t[15]=d,t[16]=f,t[17]=m,t[18]=h):h=t[18],h},Te=e=>{let t=(0,Y.c)(3),{node:n}=e;if(!n.data.isDirectory){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`w-5 h-5 shrink-0`}),t[0]=e):e=t[0],e}let r;return t[1]===n.isOpen?r=t[2]:(r=n.isOpen?(0,$.jsx)(j,{className:`w-5 h-5 shrink-0`}):(0,$.jsx)(M,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},Ee=e=>{let t=(0,Y.c)(7),{header:n,files:r}=e;if(r.length===0)return null;let i;t[0]===r?i=t[1]:(i=r.map(Pe),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:i}),t[2]=i,t[3]=a);let o;return t[4]!==n||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[n,a]}),t[4]=n,t[5]=a,t[6]=o):o=t[6],o},De=e=>{let t=(0,Y.c)(41),{file:n}=e,{locale:r}=ce(),i;t[0]===n.path?i=t[1]:(i=f(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l;if(t[2]!==n.initializationId||t[3]!==n.path||t[4]!==a){let e=d(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[9]===n.path?r=t[10]:(r=n.path.endsWith(`.md`),t[9]=n.path,t[10]=r),o=r,s=`py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-colors duration-300 cursor-pointer group relative flex gap-4 items-center`,c=n.path,l=e.toString(),t[2]=n.initializationId,t[3]=n.path,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l}else o=t[5],s=t[6],c=t[7],l=t[8];let u=n.initializationId||n.path,p;t[11]===u?p=t[12]:(p=ve(u),t[11]=u,t[12]=p);let m;t[13]===o?m=t[14]:(m=o&&(0,$.jsx)(`span`,{className:`opacity-80`,children:(0,$.jsx)(pe,{})}),t[13]=o,t[14]=m);let h;t[15]!==n.name||t[16]!==m?(h=(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[n.name,m]}),t[15]=n.name,t[16]=m,t[17]=h):h=t[17];let g;t[18]===n.path?g=t[19]:(g=(0,$.jsx)(`p`,{title:n.path,className:`text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[18]=n.path,t[19]=g);let _;t[20]!==h||t[21]!==g?(_=(0,$.jsxs)(`div`,{className:`flex flex-col justify-between flex-1`,children:[h,g]}),t[20]=h,t[21]=g,t[22]=_):_=t[22];let v;t[23]===n.path?v=t[24]:(v=(0,$.jsx)(`div`,{children:(0,$.jsx)(Oe,{filePath:n.path})}),t[23]=n.path,t[24]=v);let y;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(I,{size:20,className:`group-hover:opacity-100 opacity-0 transition-opacity duration-300 text-primary`}),t[25]=y):y=t[25];let b;t[26]===v?b=t[27]:(b=(0,$.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[v,y]}),t[26]=v,t[27]=b);let x;t[28]!==n.lastModified||t[29]!==r?(x=!!n.lastModified&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:ue(n.lastModified*1e3,r)}),t[28]=n.lastModified,t[29]=r,t[30]=x):x=t[30];let S;t[31]!==b||t[32]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[b,x]}),t[31]=b,t[32]=x,t[33]=S):S=t[33];let C;return t[34]!==_||t[35]!==S||t[36]!==s||t[37]!==c||t[38]!==l||t[39]!==p?(C=(0,$.jsxs)(`a`,{className:s,href:l,target:p,children:[_,S]},c),t[34]=_,t[35]=S,t[36]=s,t[37]=c,t[38]=l,t[39]=p,t[40]=C):C=t[40],C},Oe=e=>{let t=(0,Y.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=z(),{shutdownSession:a}=q(),{runningNotebooks:o,setRunningNotebooks:s}=(0,X.use)(Z);if(!o.has(n))return null;let c;t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==a?(c=e=>{e.stopPropagation(),e.preventDefault(),r({title:`Shutdown`,description:`This will terminate the Python kernel. You'll lose all data that's in memory.`,variant:`destructive`,confirmAction:(0,$.jsx)(b,{onClick:()=>{let e=o.get(n);h(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(N.keyBy(e.files,Fe))}),i(),K({description:`Notebook has been shutdown.`})},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(ie,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(C,{content:`Shutdown`,children:(0,$.jsx)(w,{size:`icon`,variant:`outline`,className:`opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},ke=()=>{let e=(0,Y.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=p(),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Create a new notebook`}),e[1]=r):r=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(`a`,{className:`relative rounded-lg p-6 group
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-Dfcbgjhg.js";import{t as i}from"./react-DVplv7_D.js";import{Bn as a,Qr as o,Ya as s,ao as c}from"./cells-T9_Y4Jlv.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{_ as u}from"./useEventListener-CjDeLqFC.js";import{l as d,n as f,s as p,t as m,y as h}from"./session-B8Y-GJnS.js";import{k as g}from"./config-DzdxZb17.js";import{t as _}from"./ErrorBoundary-DJhsFCsX.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{o as b}from"./alert-dialog-C-sWmKva.js";import{c as x}from"./dropdown-menu-DS6umAnH.js";import{d as S}from"./select-3CVGlYrC.js";import{t as C}from"./tooltip-CkGm8X7m.js";import{t as w}from"./button-D8gVKwe-.js";import{t as T}from"./createLucideIcon-DfJ2oMlA.js";import{n as E}from"./paths-bkIFVj8h.js";import{i as D,n as O,r as k,t as A}from"./components-lDm0qi2t.js";import{a as j}from"./useNumberFormatter-D7O_26UI.js";import{t as M}from"./chevron-right-eAtVhbNZ.js";import{o as N,s as P}from"./tree-actions-Cb-nUK1F.js";import{t as F}from"./circle-play-CYIb0qT6.js";import{t as I}from"./external-link-UrX9KO36.js";import{r as L,t as R}from"./file-icons-CdJgUy-I.js";import{b as z}from"./write-secret-modal-7DzehGyr.js";import{t as B}from"./spinner-DyNE-o8o.js";import{a as V,i as H,n as U,o as W,r as G,s as ee,t as te,u as ne}from"./file-name-input-CDrRlIiX.js";import{n as re,r as ie,t as ae}from"./app-config-button-DGhsM0xw.js";import{r as oe,rn as se}from"./input-BZdRe7pb.js";import{t as K}from"./use-toast-Wu434mLr.js";import{r as q}from"./requests-lt0JK8Jt.js";import{t as ce}from"./I18nProvider-Cg2I_s1_.js";import{n as J,t as le}from"./useAsyncData-DhhdOGGd.js";import{l as ue}from"./dates-CQMwFko2.js";import{a as de}from"./errors-CNsgAw6m.js";import{t as fe}from"./error-banner-B5kzVf_0.js";import{t as pe}from"./icons-CiZ_8zS-.js";import{t as me}from"./useInterval-DJdQmXnq.js";var he=T(`book-text`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}],[`path`,{d:`M8 11h8`,key:`vwpz6n`}],[`path`,{d:`M8 7h6`,key:`1f0q6e`}]]),Y=l(),X=e(i(),1),Z=X.createContext({runningNotebooks:new Map,setRunningNotebooks:u.NOOP}),Q=X.createContext({root:``,refreshWorkspace:u.NOOP}),ge=g(`marimo:home:include-markdown`,!1,o,{getOnInit:!0}),_e=g(`marimo:home:expanded-folders`,{},o,{getOnInit:!0}),$=y();function ve(e){return`${m()}-${encodeURIComponent(e)}`}var ye=()=>{let e=(0,Y.c)(58),[t,n]=(0,X.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=q(),a;e[0]===r?a=e[1]:(a=()=>r(),e[0]=r,e[1]=a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[2]=o):o=e[2];let s=J(a,o),l,u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{n(Ae)},u={delayMs:1e4,whenVisible:!0},e[3]=l,e[4]=u):(l=e[3],u=e[4]),me(l,u);let d;e[5]===i?d=e[6]:(d=async()=>{let e=await i();return N.keyBy(e.files,je)},e[5]=i,e[6]=d);let f;e[7]===t?f=e[8]:(f=[t],e[7]=t,e[8]=f);let p=J(d,f),m,h,g,v,y,b,x,S,C,w,T,E,D;if(e[9]!==s||e[10]!==p){C=Symbol.for(`react.early_return_sentinel`);bb0:{let t=le(s,p);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(B,{centered:!0,size:`xlarge`}),e[24]=t):t=e[24],C=t;break bb0}let[r,i]=n;v=r,g=X.Suspense,h=Z,x={runningNotebooks:i,setRunningNotebooks:p.setData};let a,o;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(O,{}),o=(0,$.jsx)(ae,{showAppConfig:!1}),e[25]=a,e[26]=o):(a=e[25],o=e[26]);let c=`This will shutdown the notebook server and terminate all running notebooks (${i.size}). You'll lose all data that's in memory.`;e[27]===c?S=e[28]:(S=(0,$.jsxs)(`div`,{className:`absolute top-3 right-5 flex gap-3 z-50`,children:[a,o,(0,$.jsx)(re,{description:c})]}),e[27]=c,e[28]=S),E=`flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10`,e[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(`img`,{src:`logo.png`,alt:`marimo logo`,className:`w-48 mb-2`}),y=(0,$.jsx)(ke,{}),b=(0,$.jsx)(k,{}),e[29]=y,e[30]=b,e[31]=D):(y=e[29],b=e[30],D=e[31]),m=Ee,e[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(A,{Icon:F,children:`Running notebooks`}),e[32]=w):w=e[32],T=[...i.values()]}e[9]=s,e[10]=p,e[11]=m,e[12]=h,e[13]=g,e[14]=v,e[15]=y,e[16]=b,e[17]=x,e[18]=S,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D}else m=e[11],h=e[12],g=e[13],v=e[14],y=e[15],b=e[16],x=e[17],S=e[18],C=e[19],w=e[20],T=e[21],E=e[22],D=e[23];if(C!==Symbol.for(`react.early_return_sentinel`))return C;let j;e[33]!==m||e[34]!==w||e[35]!==T?(j=(0,$.jsx)(m,{header:w,files:T}),e[33]=m,e[34]=w,e[35]=T,e[36]=j):j=e[36];let M;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(A,{Icon:c,children:`Recent notebooks`}),e[37]=M):M=e[37];let P;e[38]===v.files?P=e[39]:(P=(0,$.jsx)(Ee,{header:M,files:v.files}),e[38]=v.files,e[39]=P);let I;e[40]===s.refetch?I=e[41]:(I=(0,$.jsx)(_,{children:(0,$.jsx)(be,{onRefreshRecents:s.refetch})}),e[40]=s.refetch,e[41]=I);let L;e[42]!==y||e[43]!==b||e[44]!==j||e[45]!==P||e[46]!==I||e[47]!==E||e[48]!==D?(L=(0,$.jsxs)(`div`,{className:E,children:[D,y,b,j,P,I]}),e[42]=y,e[43]=b,e[44]=j,e[45]=P,e[46]=I,e[47]=E,e[48]=D,e[49]=L):L=e[49];let R;e[50]!==h||e[51]!==x||e[52]!==S||e[53]!==L?(R=(0,$.jsxs)(h,{value:x,children:[S,L]}),e[50]=h,e[51]=x,e[52]=S,e[53]=L,e[54]=R):R=e[54];let z;return e[55]!==g||e[56]!==R?(z=(0,$.jsx)(g,{children:R}),e[55]=g,e[56]=R,e[57]=z):z=e[57],z},be=e=>{let r=(0,Y.c)(54),{onRefreshRecents:i}=e,{getWorkspaceFiles:o}=q(),[c,l]=t(ge),[u,d]=(0,X.useState)(``),f;r[0]!==o||r[1]!==c?(f=()=>o({includeMarkdown:c}),r[0]=o,r[1]=c,r[2]=f):f=r[2];let p;r[3]===c?p=r[4]:(p=[c],r[3]=c,r[4]=p);let{isPending:m,data:h,error:g,isFetching:_,refetch:v}=J(f,p),y;r[5]!==i||r[6]!==v?(y=()=>{v(),i()},r[5]=i,r[6]=v,r[7]=y):y=r[7];let b=n(y);h?.root;let x=h?.root??``,C;r[8]!==b||r[9]!==x?(C={root:x,refreshWorkspace:b},r[8]=b,r[9]=x,r[10]=C):C=r[10];let T=C;if(m){let e;return r[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(B,{centered:!0,size:`xlarge`,className:`mt-6`}),r[11]=e):e=r[11],e}if(g){let e;r[12]===g?e=r[13]:(e=de(g),r[12]=g,r[13]=e);let t;return r[14]===e?t=r[15]:(t=(0,$.jsx)(fe,{kind:`danger`,className:`rounded p-4`,children:e}),r[14]=e,r[15]=t),t}let E;r[16]!==h.fileCount||r[17]!==h.hasMore?(E=h.hasMore&&(0,$.jsx)(D,{fileCount:h.fileCount}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=E):E=r[18];let O,k;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(se,{size:13}),k=e=>d(e.target.value),r[19]=O,r[20]=k):(O=r[19],k=r[20]);let j;r[21]===u?j=r[22]:(j=(0,$.jsx)(oe,{id:`search`,value:u,icon:O,onChange:k,placeholder:`Search`,className:`mb-0 border-border`}),r[21]=u,r[22]=j);let M;r[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(xe,{}),r[23]=M):M=r[23];let N;r[24]===l?N=r[25]:(N=e=>l(!!e),r[24]=l,r[25]=N);let P;r[26]!==c||r[27]!==N?(P=(0,$.jsx)(a,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:c,onCheckedChange:N}),r[26]=c,r[27]=N,r[28]=P):P=r[28];let F;r[29]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(S,{htmlFor:`include-markdown`,children:`Include markdown`}),r[29]=F):F=r[29];let I;r[30]!==P||r[31]!==j?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[j,M,P,F]}),r[30]=P,r[31]=j,r[32]=I):I=r[32];let L;r[33]===v?L=r[34]:(L=()=>v(),r[33]=v,r[34]=L);let R;r[35]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(s,{className:`w-4 h-4`}),r[35]=R):R=r[35];let z;r[36]===L?z=r[37]:(z=(0,$.jsx)(w,{variant:`text`,size:`icon`,className:`w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100`,onClick:L,"aria-label":`Refresh workspace`,children:R}),r[36]=L,r[37]=z);let V;r[38]===_?V=r[39]:(V=_&&(0,$.jsx)(B,{size:`small`}),r[38]=_,r[39]=V);let H;r[40]!==I||r[41]!==z||r[42]!==V?(H=(0,$.jsxs)(A,{Icon:he,control:I,children:[`Workspace`,z,V]}),r[40]=I,r[41]=z,r[42]=V,r[43]=H):H=r[43];let U;r[44]!==u||r[45]!==h.files?(U=(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:(0,$.jsx)(Se,{searchText:u,files:h.files})}),r[44]=u,r[45]=h.files,r[46]=U):U=r[46];let W;r[47]!==H||r[48]!==U||r[49]!==E?(W=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[E,H,U]}),r[47]=H,r[48]=U,r[49]=E,r[50]=W):W=r[50];let G;return r[51]!==W||r[52]!==T?(G=(0,$.jsx)(Q,{value:T,children:W}),r[51]=W,r[52]=T,r[53]=G):G=r[53],G},xe=()=>{let e=(0,Y.c)(5),t=r(_e),n;e[0]===t?n=e[1]:(n=()=>{t({})},e[0]=t,e[1]=n);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(P,{className:`w-4 h-4 mr-1`}),e[2]=i):i=e[2];let a;return e[3]===n?a=e[4]:(a=(0,$.jsxs)(w,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Se=e=>{let r=(0,Y.c)(22),{files:i,searchText:a}=e,[o,s]=t(_e),c;r[0]===o?c=r[1]:(c=Object.keys(o),r[0]=o,r[1]=c);let l=c.length===0,u=(0,X.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,X.use)(Q),p;r[2]===d?p=r[3]:(p={root:d},r[2]=d,r[3]=p);let{renameFile:m}=W(p),h,g;r[4]===l?(h=r[5],g=r[6]):(h=()=>{l&&u.current?.closeAll()},g=[l],r[4]=l,r[5]=h,r[6]=g),(0,X.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){K({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await m(n.data,t)&&f()},r[7]=f,r[8]=m,r[9]=_):_=r[9];let v=n(_);if(i.length===0){let e;return r[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`flex flex-col px-5 py-10 items-center justify-center`,children:(0,$.jsx)(`p`,{className:`text-center text-muted-foreground`,children:`No files in this workspace`})}),r[10]=e):e=r[10],e}let y;r[11]!==o||r[12]!==s?(y=async e=>{let t=o[e]??!1;s({...o,[e]:!t})},r[11]=o,r[12]=s,r[13]=y):y=r[13];let b;r[14]===v?b=r[15]:(b=async e=>{let{id:t,name:n}=e;await v(t,n)},r[14]=v,r[15]=b);let x;return r[16]!==i||r[17]!==o||r[18]!==a||r[19]!==y||r[20]!==b?(x=(0,$.jsx)(ne,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:Me,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Ne,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:Ce}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},Ce=e=>{let t=(0,Y.c)(18),{node:n,style:r}=e,i=n.data.isDirectory?`directory`:L(n.data.name),a=R[i],o;t[0]===a?o=t[1]:(o=(0,$.jsx)(a,{className:`w-5 h-5 shrink-0`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,X.use)(Q),{runningNotebooks:l}=(0,X.use)(Z),u;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(u=()=>{if(n.isEditing)return(0,$.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,$.jsx)(te,{node:n})]});if(n.data.isDirectory)return(0,$.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,n.data.name]});let e=n.data.path.startsWith(c)&&E.isAbsolute(n.data.path)?E.rest(n.data.path,c):n.data.path,t=e.endsWith(`.md`)||e.endsWith(`.qmd`),r=l.has(e);return(0,$.jsxs)(`a`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:d(`?file=${encodeURIComponent(e)}`).toString(),target:ve(e),children:[s,(0,$.jsxs)(`span`,{className:`flex-1 overflow-hidden text-ellipsis`,children:[n.data.name,t&&(0,$.jsx)(pe,{className:`ml-2 inline opacity-80`})]}),(0,$.jsx)(we,{node:n,isRunning:r}),(0,$.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,$.jsx)(Oe,{filePath:e})}),(0,$.jsx)(I,{size:20,className:`group-hover:opacity-100 opacity-0 text-primary shrink-0`})]})},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u):u=t[6];let f=u,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=v(`flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full`),t[7]=p):p=t[7];let m,h;t[8]===n?(m=t[9],h=t[10]):(m=e=>{e.stopPropagation(),n.data.isDirectory&&n.toggle()},h=(0,$.jsx)(Te,{node:n}),t[8]=n,t[9]=m,t[10]=h);let g;t[11]===f?g=t[12]:(g=f(),t[11]=f,t[12]=g);let _;return t[13]!==r||t[14]!==m||t[15]!==h||t[16]!==g?(_=(0,$.jsxs)(`div`,{style:r,className:p,onClick:m,children:[h,g]}),t[13]=r,t[14]=m,t[15]=h,t[16]=g,t[17]=_):_=t[17],_},we=e=>{let t=(0,Y.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,X.use)(Q),o;t[0]!==n||t[1]!==a||t[2]!==i?(o={node:n,root:i,onAfterChange:a},t[0]=n,t[1]=a,t[2]=i,t[3]=o):o=t[3];let{handleRename:s,handleDuplicate:c,handleDelete:l}=ee(o),u=r?`Stop the notebook's kernel before renaming or deleting.`:void 0,d;t[4]!==s||t[5]!==r||t[6]!==u?(d=(0,$.jsx)(V,{onSelect:s,disabled:r,title:u}),t[4]=s,t[5]=r,t[6]=u,t[7]=d):d=t[7];let f;t[8]===c?f=t[9]:(f=(0,$.jsx)(G,{onSelect:c}),t[8]=c,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(x,{}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==r||t[13]!==u?(m=(0,$.jsx)(U,{onSelect:l,disabled:r,title:u}),t[11]=l,t[12]=r,t[13]=u,t[14]=m):m=t[14];let h;return t[15]!==d||t[16]!==f||t[17]!==m?(h=(0,$.jsxs)(H,{testId:`workspace-more-button`,buttonClassName:`w-8 h-8 p-0 shrink-0`,contentClassName:`print:hidden w-fit min-w-[140px]`,preventDefaultOnTrigger:!0,children:[d,f,p,m]}),t[15]=d,t[16]=f,t[17]=m,t[18]=h):h=t[18],h},Te=e=>{let t=(0,Y.c)(3),{node:n}=e;if(!n.data.isDirectory){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`w-5 h-5 shrink-0`}),t[0]=e):e=t[0],e}let r;return t[1]===n.isOpen?r=t[2]:(r=n.isOpen?(0,$.jsx)(j,{className:`w-5 h-5 shrink-0`}):(0,$.jsx)(M,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},Ee=e=>{let t=(0,Y.c)(7),{header:n,files:r}=e;if(r.length===0)return null;let i;t[0]===r?i=t[1]:(i=r.map(Pe),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,$.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:i}),t[2]=i,t[3]=a);let o;return t[4]!==n||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[n,a]}),t[4]=n,t[5]=a,t[6]=o):o=t[6],o},De=e=>{let t=(0,Y.c)(41),{file:n}=e,{locale:r}=ce(),i;t[0]===n.path?i=t[1]:(i=f(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l;if(t[2]!==n.initializationId||t[3]!==n.path||t[4]!==a){let e=d(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[9]===n.path?r=t[10]:(r=n.path.endsWith(`.md`),t[9]=n.path,t[10]=r),o=r,s=`py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-colors duration-300 cursor-pointer group relative flex gap-4 items-center`,c=n.path,l=e.toString(),t[2]=n.initializationId,t[3]=n.path,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l}else o=t[5],s=t[6],c=t[7],l=t[8];let u=n.initializationId||n.path,p;t[11]===u?p=t[12]:(p=ve(u),t[11]=u,t[12]=p);let m;t[13]===o?m=t[14]:(m=o&&(0,$.jsx)(`span`,{className:`opacity-80`,children:(0,$.jsx)(pe,{})}),t[13]=o,t[14]=m);let h;t[15]!==n.name||t[16]!==m?(h=(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[n.name,m]}),t[15]=n.name,t[16]=m,t[17]=h):h=t[17];let g;t[18]===n.path?g=t[19]:(g=(0,$.jsx)(`p`,{title:n.path,className:`text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[18]=n.path,t[19]=g);let _;t[20]!==h||t[21]!==g?(_=(0,$.jsxs)(`div`,{className:`flex flex-col justify-between flex-1`,children:[h,g]}),t[20]=h,t[21]=g,t[22]=_):_=t[22];let v;t[23]===n.path?v=t[24]:(v=(0,$.jsx)(`div`,{children:(0,$.jsx)(Oe,{filePath:n.path})}),t[23]=n.path,t[24]=v);let y;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(I,{size:20,className:`group-hover:opacity-100 opacity-0 transition-opacity duration-300 text-primary`}),t[25]=y):y=t[25];let b;t[26]===v?b=t[27]:(b=(0,$.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[v,y]}),t[26]=v,t[27]=b);let x;t[28]!==n.lastModified||t[29]!==r?(x=!!n.lastModified&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:ue(n.lastModified*1e3,r)}),t[28]=n.lastModified,t[29]=r,t[30]=x):x=t[30];let S;t[31]!==b||t[32]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[b,x]}),t[31]=b,t[32]=x,t[33]=S):S=t[33];let C;return t[34]!==_||t[35]!==S||t[36]!==s||t[37]!==c||t[38]!==l||t[39]!==p?(C=(0,$.jsxs)(`a`,{className:s,href:l,target:p,children:[_,S]},c),t[34]=_,t[35]=S,t[36]=s,t[37]=c,t[38]=l,t[39]=p,t[40]=C):C=t[40],C},Oe=e=>{let t=(0,Y.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=z(),{shutdownSession:a}=q(),{runningNotebooks:o,setRunningNotebooks:s}=(0,X.use)(Z);if(!o.has(n))return null;let c;t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==a?(c=e=>{e.stopPropagation(),e.preventDefault(),r({title:`Shutdown`,description:`This will terminate the Python kernel. You'll lose all data that's in memory.`,variant:`destructive`,confirmAction:(0,$.jsx)(b,{onClick:()=>{let e=o.get(n);h(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(N.keyBy(e.files,Fe))}),i(),K({description:`Notebook has been shutdown.`})},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(ie,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(C,{content:`Shutdown`,children:(0,$.jsx)(w,{size:`icon`,variant:`outline`,className:`opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},ke=()=>{let e=(0,Y.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=p(),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Create a new notebook`}),e[1]=r):r=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(`a`,{className:`relative rounded-lg p-6 group
2
2
  text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
3
3
  transition-colors duration-300 cursor-pointer
4
4
  `,href:n,target:`_blank`,rel:`noreferrer`,children:[r,(0,$.jsx)(`div`,{className:`group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-opacity duration-300`,children:(0,$.jsx)(I,{size:24})})]}),e[2]=i):i=e[2],i};function Ae(e){return e+1}function je(e){return e.path}function Me(e){return e.path}function Ne(){return null}function Pe(e){return(0,$.jsx)(De,{file:e},e.path)}function Fe(e){return e.path}export{ye as default};
@@ -1 +1 @@
1
- import{l as e}from"./useEvent-Dfcbgjhg.js";import{a as t}from"./cells-T9_Y4Jlv.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{a as r}from"./config-DGX7JYor.js";import{g as i}from"./useEventListener-CjDeLqFC.js";import{t as a}from"./objects-rLPlQ3X_.js";import{T as o,_ as s}from"./config-DzdxZb17.js";import{s as c,u as l}from"./download-C8Gw-D0Y.js";import{c as u,t as d}from"./layout-sYdHI-lW.js";import{t as f}from"./use-toast-Wu434mLr.js";import{r as p}from"./requests-lt0JK8Jt.js";import{t as m}from"./Deferred-CrTnjj37.js";import{t as h}from"./useInterval-DJdQmXnq.js";var g=n(),_=class{capturedInputs=new Map;inFlight=new Map;cancelEntry(e){e.controller.abort(),e.deferred.status===`pending`&&e.deferred.resolve(void 0)}needsCapture(e,t){if(this.capturedInputs.get(e)===t)return!1;let n=this.inFlight.get(e);return!(n&&n.inputValue===t)}waitForInFlight(e,t){let n=this.inFlight.get(e);return n&&n.inputValue===t?n.deferred.promise:null}startCapture(e,t){let n=this.inFlight.get(e);n&&this.cancelEntry(n);let r=new AbortController,i=new m,a={controller:r,inputValue:t,deferred:i};return this.inFlight.set(e,a),{signal:r.signal,markCaptured:n=>{this.inFlight.get(e)===a&&(i.resolve(n),this.capturedInputs.set(e,t),this.inFlight.delete(e))},markFailed:()=>{this.inFlight.get(e)===a&&(i.resolve(void 0),this.inFlight.delete(e))}}}prune(e){for(let t of this.capturedInputs.keys())e.has(t)||this.capturedInputs.delete(t);for(let[t,n]of this.inFlight)e.has(t)||(this.cancelEntry(n),this.inFlight.delete(t))}get isCapturing(){return this.inFlight.size>0}abort(){for(let e of this.inFlight.values())this.cancelEntry(e);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},v=5e3;function y(){let t=(0,g.c)(20),n=e(r),{state:i}=e(s),a;t[0]===n.auto_download?a=t[1]:(a=n.auto_download.includes(`markdown`),t[0]=n.auto_download,t[1]=a);let c=a,f;t[2]===n.auto_download?f=t[3]:(f=n.auto_download.includes(`html`),t[2]=n.auto_download,t[3]=f);let m=f,_;t[4]===n.auto_download?_=t[5]:(_=n.auto_download.includes(`ipynb`),t[4]=n.auto_download,t[5]=_);let y=_,b=i===o.OPEN,x=!c||!b,w=!m||!b,T=!y||!b,{autoExportAsHTML:E,autoExportAsIPYNB:D,autoExportAsMarkdown:O,updateCellOutputs:k}=p(),A=S(),j;t[6]===O?j=t[7]:(j=async()=>{await O({download:!1})},t[6]=O,t[7]=j);let M;t[8]===x?M=t[9]:(M={delayMs:v,whenVisible:!0,disabled:x},t[8]=x,t[9]=M),h(j,M);let N;t[10]===E?N=t[11]:(N=async()=>{await E({download:!1,includeCode:!0,files:u.INSTANCE.filenames(),layout:await d()})},t[10]=E,t[11]=N);let P;t[12]===w?P=t[13]:(P={delayMs:v,whenVisible:!0,disabled:w},t[12]=w,t[13]=P),h(N,P);let F;t[14]!==D||t[15]!==A||t[16]!==k?(F=async()=>{await C({takeScreenshots:()=>A({progress:l.indeterminate()}),updateCellOutputs:k}),await D({download:!1})},t[14]=D,t[15]=A,t[16]=k,t[17]=F):F=t[17];let I;t[18]===T?I=t[19]:(I={delayMs:v,whenVisible:!0,disabled:T,skipIfRunning:!0},t[18]=T,t[19]=I),h(F,I)}var b=new Set([`text/html`,`application/vnd.vegalite.v5+json`,`application/vnd.vega.v5+json`,`application/vnd.vegalite.v6+json`,`application/vnd.vega.v6+json`]),x=new _;function S(){let n=e(t);return async e=>{let{progress:t}=e,r=new Set(a.keys(n));x.prune(r);let o=[],s=[];for(let[e,t]of a.entries(n)){let n=t.output?.data;if(t.output?.mimetype&&b.has(t.output.mimetype)&&n){if(x.needsCapture(e,n))o.push([e,n]);else{let t=x.waitForInFlight(e,n);t&&s.push({cellId:e,promise:t})}}}if(o.length===0&&s.length===0)return{};o.length>0&&t.addTotal(o.length);let l={};for(let[e,n]of o){let r=x.startCapture(e,n);try{let t=await c(e);if(r.signal.aborted)continue;if(!t){i.error(`Failed to capture screenshot for cell ${e}`),r.markFailed();continue}let n=[`image/png`,t];l[e]=n,r.markCaptured(n)}catch(t){i.error(`Error screenshotting cell ${e}:`,t),r.markFailed()}finally{t.increment(1)}}let u=await Promise.allSettled(s.map(({promise:e})=>e));for(let[e,{cellId:t}]of s.entries()){let n=u[e];n.status===`fulfilled`&&n.value&&(l[t]=n.value)}return l}}async function C(e){let{takeScreenshots:t,updateCellOutputs:n}=e;try{let e=await t();a.size(e)>0&&await n({cellIdsToOutput:e})}catch(e){i.error(`Error updating cell outputs with screenshots:`,e),f({title:`Failed to capture cell outputs`,description:`Some outputs may be missing from the export. Continuing.`,variant:`danger`})}}export{y as n,S as r,C as t};
1
+ import{l as e}from"./useEvent-Dfcbgjhg.js";import{a as t}from"./cells-T9_Y4Jlv.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{a as r}from"./config-DGX7JYor.js";import{g as i}from"./useEventListener-CjDeLqFC.js";import{t as a}from"./objects-rLPlQ3X_.js";import{T as o,_ as s}from"./config-DzdxZb17.js";import{s as c,u as l}from"./download-C8Gw-D0Y.js";import{c as u,t as d}from"./layout-CGC8ajpe.js";import{t as f}from"./use-toast-Wu434mLr.js";import{r as p}from"./requests-lt0JK8Jt.js";import{t as m}from"./Deferred-CrTnjj37.js";import{t as h}from"./useInterval-DJdQmXnq.js";var g=n(),_=class{capturedInputs=new Map;inFlight=new Map;cancelEntry(e){e.controller.abort(),e.deferred.status===`pending`&&e.deferred.resolve(void 0)}needsCapture(e,t){if(this.capturedInputs.get(e)===t)return!1;let n=this.inFlight.get(e);return!(n&&n.inputValue===t)}waitForInFlight(e,t){let n=this.inFlight.get(e);return n&&n.inputValue===t?n.deferred.promise:null}startCapture(e,t){let n=this.inFlight.get(e);n&&this.cancelEntry(n);let r=new AbortController,i=new m,a={controller:r,inputValue:t,deferred:i};return this.inFlight.set(e,a),{signal:r.signal,markCaptured:n=>{this.inFlight.get(e)===a&&(i.resolve(n),this.capturedInputs.set(e,t),this.inFlight.delete(e))},markFailed:()=>{this.inFlight.get(e)===a&&(i.resolve(void 0),this.inFlight.delete(e))}}}prune(e){for(let t of this.capturedInputs.keys())e.has(t)||this.capturedInputs.delete(t);for(let[t,n]of this.inFlight)e.has(t)||(this.cancelEntry(n),this.inFlight.delete(t))}get isCapturing(){return this.inFlight.size>0}abort(){for(let e of this.inFlight.values())this.cancelEntry(e);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},v=5e3;function y(){let t=(0,g.c)(20),n=e(r),{state:i}=e(s),a;t[0]===n.auto_download?a=t[1]:(a=n.auto_download.includes(`markdown`),t[0]=n.auto_download,t[1]=a);let c=a,f;t[2]===n.auto_download?f=t[3]:(f=n.auto_download.includes(`html`),t[2]=n.auto_download,t[3]=f);let m=f,_;t[4]===n.auto_download?_=t[5]:(_=n.auto_download.includes(`ipynb`),t[4]=n.auto_download,t[5]=_);let y=_,b=i===o.OPEN,x=!c||!b,w=!m||!b,T=!y||!b,{autoExportAsHTML:E,autoExportAsIPYNB:D,autoExportAsMarkdown:O,updateCellOutputs:k}=p(),A=S(),j;t[6]===O?j=t[7]:(j=async()=>{await O({download:!1})},t[6]=O,t[7]=j);let M;t[8]===x?M=t[9]:(M={delayMs:v,whenVisible:!0,disabled:x},t[8]=x,t[9]=M),h(j,M);let N;t[10]===E?N=t[11]:(N=async()=>{await E({download:!1,includeCode:!0,files:u.INSTANCE.filenames(),layout:await d()})},t[10]=E,t[11]=N);let P;t[12]===w?P=t[13]:(P={delayMs:v,whenVisible:!0,disabled:w},t[12]=w,t[13]=P),h(N,P);let F;t[14]!==D||t[15]!==A||t[16]!==k?(F=async()=>{await C({takeScreenshots:()=>A({progress:l.indeterminate()}),updateCellOutputs:k}),await D({download:!1})},t[14]=D,t[15]=A,t[16]=k,t[17]=F):F=t[17];let I;t[18]===T?I=t[19]:(I={delayMs:v,whenVisible:!0,disabled:T,skipIfRunning:!0},t[18]=T,t[19]=I),h(F,I)}var b=new Set([`text/html`,`application/vnd.vegalite.v5+json`,`application/vnd.vega.v5+json`,`application/vnd.vegalite.v6+json`,`application/vnd.vega.v6+json`]),x=new _;function S(){let n=e(t);return async e=>{let{progress:t}=e,r=new Set(a.keys(n));x.prune(r);let o=[],s=[];for(let[e,t]of a.entries(n)){let n=t.output?.data;if(t.output?.mimetype&&b.has(t.output.mimetype)&&n){if(x.needsCapture(e,n))o.push([e,n]);else{let t=x.waitForInFlight(e,n);t&&s.push({cellId:e,promise:t})}}}if(o.length===0&&s.length===0)return{};o.length>0&&t.addTotal(o.length);let l={};for(let[e,n]of o){let r=x.startCapture(e,n);try{let t=await c(e);if(r.signal.aborted)continue;if(!t){i.error(`Failed to capture screenshot for cell ${e}`),r.markFailed();continue}let n=[`image/png`,t];l[e]=n,r.markCaptured(n)}catch(t){i.error(`Error screenshotting cell ${e}:`,t),r.markFailed()}finally{t.increment(1)}}let u=await Promise.allSettled(s.map(({promise:e})=>e));for(let[e,{cellId:t}]of s.entries()){let n=u[e];n.status===`fulfilled`&&n.value&&(l[t]=n.value)}return l}}async function C(e){let{takeScreenshots:t,updateCellOutputs:n}=e;try{let e=await t();a.size(e)>0&&await n({cellIdsToOutput:e})}catch(e){i.error(`Error updating cell outputs with screenshots:`,e),f({title:`Failed to capture cell outputs`,description:`Some outputs may be missing from the export. Continuing.`,variant:`danger`})}}export{y as n,S as r,C as t};