@marimo-team/frontend 0.25.3-dev119 → 0.25.3-dev121

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-DlpS2-wQ.js → add-cell-with-ai-CFrR1iW4.js} +1 -1
  2. package/dist/assets/{agent-panel-_lzeDJ1g.js → agent-panel-VOrccb5q.js} +1 -1
  3. package/dist/assets/{ai-model-dropdown-DSTTUxpi.js → ai-model-dropdown-Bfxv_zvu.js} +1 -1
  4. package/dist/assets/{app-config-button-ChYKLsLO.js → app-config-button-BRcjv8A_.js} +1 -1
  5. package/dist/assets/{cell-editor-Beg8ahPA.js → cell-editor-eKgYK8Bd.js} +1 -1
  6. package/dist/assets/{chat-display-0GIEXLvN.js → chat-display-BrT4VJJK.js} +1 -1
  7. package/dist/assets/{chat-panel-BuWn4Z_F.js → chat-panel-qpPNEwxV.js} +1 -1
  8. package/dist/assets/{chat-ui-X0s3vvdf.js → chat-ui-SAdJxg-k.js} +1 -1
  9. package/dist/assets/{command-palette-D6WLW1Ie.js → command-palette-DF-B_YpW.js} +1 -1
  10. package/dist/assets/{edit-page-CC6xiqWs.js → edit-page-Uj9YSRMX.js} +4 -4
  11. package/dist/assets/{home-page-BvA1BCmX.js → home-page-DJcYWiga.js} +1 -1
  12. package/dist/assets/{hooks-CaRBg2ni.js → hooks-CGLb_CCz.js} +1 -1
  13. package/dist/assets/{index-_iq4QM0j.js → index-bSIORW11.js} +3 -3
  14. package/dist/assets/{layout-C-NAerIZ.js → layout-C2XnLAfO.js} +2 -2
  15. package/dist/assets/{packages-panel-Dz8rOIrh.js → packages-panel-Bt0xNpFl.js} +1 -1
  16. package/dist/assets/{panels-jREOfb1c.js → panels-DJghvIKo.js} +1 -1
  17. package/dist/assets/{reveal-component-y06O6YuH.js → reveal-component-CwE6U9oJ.js} +1 -1
  18. package/dist/assets/{run-page-BMZKnc1B.js → run-page-CtonWTtJ.js} +1 -1
  19. package/dist/assets/{scratchpad-panel-BW_HfG5l.js → scratchpad-panel-CwVBedfZ.js} +1 -1
  20. package/dist/assets/{useNotebookActions-CTKkktJB.js → useNotebookActions-CAMEQ38y.js} +1 -1
  21. package/dist/index.html +1 -1
  22. package/package.json +1 -1
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{Bn as a,Qr as o,Ya as s}from"./cells-2HETnlvE.js";import{t as c}from"./compiler-runtime-BrajqUja.js";import{_ as l}from"./useEventListener-CjDeLqFC.js";import{l as u,n as d,s as f,t as p,y as m}from"./session-CMLIzZKw.js";import{O as h}from"./config-CD1IuZFJ.js";import{t as g}from"./ErrorBoundary-DxSzjvbx.js";import{t as _}from"./cn-ldLVeaqm.js";import{t as v}from"./jsx-runtime-B74pBk57.js";import{o as y}from"./alert-dialog-C-sWmKva.js";import{c as b}from"./dropdown-menu-DS6umAnH.js";import{d as x}from"./select-3CVGlYrC.js";import{i as S,n as C,r as w,t as T}from"./tabs-CY8E4r9U.js";import{t as E}from"./tooltip-CkGm8X7m.js";import{t as D}from"./button-D8gVKwe-.js";import{n as O}from"./paths-bkIFVj8h.js";import{n as k,r as A,t as j}from"./components-CBE8cOLK.js";import{a as M}from"./useNumberFormatter-D7O_26UI.js";import{t as N}from"./chevron-right-eAtVhbNZ.js";import{o as P,s as F}from"./tree-actions-sjBxIglc.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-BEx-EUlh.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 K,t as q,u as ee}from"./file-name-input-D5SfTNWh.js";import{t as te}from"./plus-C5silF6g.js";import{n as ne,r as re,t as ie}from"./app-config-button-ChYKLsLO.js";import{r as ae,rn as oe}from"./input-DmHMEZGh.js";import{t as se}from"./use-toast-Wu434mLr.js";import{r as J}from"./requests-BIFR-h4M.js";import{t as ce}from"./I18nProvider-Cg2I_s1_.js";import{n as Y,t as le}from"./useAsyncData-qvoPYHtx.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 X=c(),Z=e(i(),1),he=Z.createContext({runningNotebooks:new Map,setRunningNotebooks:l.NOOP}),Q=Z.createContext({root:``,refreshWorkspace:l.NOOP}),ge=h(`marimo:home:include-markdown`,!1,o,{getOnInit:!0}),_e=h(`marimo:home:expanded-folders`,{},o,{getOnInit:!0}),$=v();function ve(e){return`${p()}-${encodeURIComponent(e)}`}var ye=`-mb-px rounded-none border-b-2 border-transparent px-1 py-3 text-(--gray-11) transition-colors hover:text-foreground focus-visible:ring-inset focus-visible:ring-offset-0 data-[state=active]:border-(--green-11) data-[state=active]:bg-transparent data-[state=active]:text-(--green-11) data-[state=active]:shadow-none`,be=()=>{let e=(0,X.c)(74),[t,n]=(0,Z.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=J(),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=Y(a,o),c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n(je)},l={delayMs:1e4,whenVisible:!0},e[3]=c,e[4]=l):(c=e[3],l=e[4]),me(c,l);let u;e[5]===i?u=e[6]:(u=async()=>{let e=await i();return P.keyBy(e.files,Me)},e[5]=i,e[6]=u);let d;e[7]===t?d=e[8]:(d=[t],e[7]=t,e[8]=d);let f=Y(u,d),p,m,h,_,v,y,b,x,E,D,O,A,M,N,F,I,L,R;if(e[9]!==s||e[10]!==f){N=Symbol.for(`react.early_return_sentinel`);bb0:{let t=le(s,f);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(B,{centered:!0,size:`xlarge`}),e[29]=t):t=e[29],N=t;break bb0}let[r,i]=n;v=Z.Suspense,_=he,M={runningNotebooks:i,setRunningNotebooks:f.setData},O=`min-h-screen bg-background`;let a;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`img`,{src:`logo.png`,alt:`marimo`,className:`w-28`}),e[30]=a):a=e[30];let o;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(ie,{showAppConfig:!1}),e[31]=o):o=e[31];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[32]===c?A=e[33]:(A=(0,$.jsx)(`header`,{className:`border-b border-border/60`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex max-w-7xl items-center justify-between gap-4 px-5 py-5 sm:px-10`,children:[a,(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[o,(0,$.jsx)(ne,{description:c})]})]})}),e[32]=c,e[33]=A),E=`mx-auto max-w-7xl px-5 py-8 sm:px-10 sm:py-10`;let l,u;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Your notebooks`}),u=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Pick up where you left off, or start something new.`}),e[34]=l,e[35]=u):(l=e[34],u=e[35]),e[36]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsxs)(`div`,{className:`mb-8`,children:[l,u,(0,$.jsxs)(`div`,{className:`mt-5 flex items-center gap-3`,children:[(0,$.jsx)(Ae,{}),(0,$.jsx)(j,{})]})]}),e[36]=D):D=e[36],h=T,R=`workspace`;let d,k;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(S,{value:`workspace`,className:ye,children:`Workspace`}),k=(0,$.jsx)(S,{value:`recent`,className:ye,children:`Recent`}),e[37]=d,e[38]=k):(d=e[37],k=e[38]);let P=(0,$.jsxs)(S,{value:`running`,className:ye,children:[`Running`,(0,$.jsx)(`span`,{className:`ml-1.5 text-xs font-normal tabular-nums text-(--gray-11)`,children:i.size})]});e[39]===P?y=e[40]:(y=(0,$.jsxs)(w,{"aria-label":`Notebooks`,className:`mb-5 flex h-auto w-full justify-start gap-6 rounded-none border-b border-border/70 bg-transparent p-0`,children:[d,k,P]}),e[39]=P,e[40]=y),e[41]===s.refetch?b=e[42]:(b=(0,$.jsx)(C,{value:`workspace`,forceMount:!0,className:`mt-0 data-[state=inactive]:hidden`,children:(0,$.jsx)(g,{children:(0,$.jsx)(xe,{onRefreshRecents:s.refetch})})}),e[41]=s.refetch,e[42]=b),x=(0,$.jsx)(C,{value:`recent`,className:`mt-0`,children:(0,$.jsx)(De,{files:r.files,emptyMessage:`Notebooks you open will appear here.`})}),m=C,I=`running`,L=`mt-0`,p=De,F=[...i.values()]}e[9]=s,e[10]=f,e[11]=p,e[12]=m,e[13]=h,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=x,e[19]=E,e[20]=D,e[21]=O,e[22]=A,e[23]=M,e[24]=N,e[25]=F,e[26]=I,e[27]=L,e[28]=R}else p=e[11],m=e[12],h=e[13],_=e[14],v=e[15],y=e[16],b=e[17],x=e[18],E=e[19],D=e[20],O=e[21],A=e[22],M=e[23],N=e[24],F=e[25],I=e[26],L=e[27],R=e[28];if(N!==Symbol.for(`react.early_return_sentinel`))return N;let z;e[43]!==p||e[44]!==F?(z=(0,$.jsx)(p,{files:F,emptyMessage:`No notebooks are running.`}),e[43]=p,e[44]=F,e[45]=z):z=e[45];let V;e[46]!==m||e[47]!==z||e[48]!==I||e[49]!==L?(V=(0,$.jsx)(m,{value:I,className:L,children:z}),e[46]=m,e[47]=z,e[48]=I,e[49]=L,e[50]=V):V=e[50];let H;e[51]!==h||e[52]!==y||e[53]!==b||e[54]!==x||e[55]!==V||e[56]!==R?(H=(0,$.jsxs)(h,{defaultValue:R,children:[y,b,x,V]}),e[51]=h,e[52]=y,e[53]=b,e[54]=x,e[55]=V,e[56]=R,e[57]=H):H=e[57];let U;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(k,{}),e[58]=U):U=e[58];let W;e[59]!==E||e[60]!==D||e[61]!==H?(W=(0,$.jsxs)(`main`,{className:E,children:[D,H,U]}),e[59]=E,e[60]=D,e[61]=H,e[62]=W):W=e[62];let G;e[63]!==O||e[64]!==A||e[65]!==W?(G=(0,$.jsxs)(`div`,{className:O,children:[A,W]}),e[63]=O,e[64]=A,e[65]=W,e[66]=G):G=e[66];let K;e[67]!==_||e[68]!==M||e[69]!==G?(K=(0,$.jsx)(_,{value:M,children:G}),e[67]=_,e[68]=M,e[69]=G,e[70]=K):K=e[70];let q;return e[71]!==v||e[72]!==K?(q=(0,$.jsx)(v,{children:K}),e[71]=v,e[72]=K,e[73]=q):q=e[73],q},xe=e=>{let r=(0,X.c)(55),{onRefreshRecents:i}=e,{getWorkspaceFiles:o}=J(),[c,l]=t(ge),[u,d]=(0,Z.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}=Y(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 S=h?.root??``,C;r[8]!==b||r[9]!==S?(C={root:S,refreshWorkspace:b},r[8]=b,r[9]=S,r[10]=C):C=r[10];let w=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 T;r[16]!==h.fileCount||r[17]!==h.hasMore?(T=h.hasMore&&(0,$.jsx)(A,{fileCount:h.fileCount}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=T):T=r[18];let E,O;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(oe,{size:15}),O=e=>d(e.target.value),r[19]=E,r[20]=O):(E=r[19],O=r[20]);let k;r[21]===u?k=r[22]:(k=(0,$.jsx)(`div`,{className:`min-w-40 flex-1`,children:(0,$.jsx)(ae,{id:`search`,"aria-label":`Search workspace`,value:u,icon:E,onChange:O,placeholder:`Find a notebook…`,className:`mb-0 h-9 rounded-md border-border/60 bg-background font-sans shadow-none hover:shadow-none focus-visible:shadow-none`})}),r[21]=u,r[22]=k);let j;r[23]===v?j=r[24]:(j=()=>v(),r[23]=v,r[24]=j);let M;r[25]===_?M=r[26]:(M=_?(0,$.jsx)(B,{size:`small`}):(0,$.jsx)(s,{className:`w-4 h-4`}),r[25]=_,r[26]=M);let N;r[27]!==j||r[28]!==M?(N=(0,$.jsx)(D,{variant:`ghost`,size:`icon`,onClick:j,"aria-label":`Refresh workspace`,children:M}),r[27]=j,r[28]=M,r[29]=N):N=r[29];let P;r[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Se,{}),r[30]=P):P=r[30];let F;r[31]===l?F=r[32]:(F=e=>l(!!e),r[31]=l,r[32]=F);let I;r[33]!==c||r[34]!==F?(I=(0,$.jsx)(a,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:c,onCheckedChange:F}),r[33]=c,r[34]=F,r[35]=I):I=r[35];let L;r[36]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(x,{htmlFor:`include-markdown`,className:`text-xs text-muted-foreground`,children:`Include markdown`}),r[36]=L):L=r[36];let R;r[37]===I?R=r[38]:(R=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[I,L]}),r[37]=I,r[38]=R);let z;r[39]!==N||r[40]!==R||r[41]!==k?(z=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-border/60 bg-muted/20 p-3`,children:[k,N,P,R]}),r[39]=N,r[40]=R,r[41]=k,r[42]=z):z=r[42];let V;r[43]!==u||r[44]!==h.files?(V=(0,$.jsx)(Ce,{searchText:u,files:h.files}),r[43]=u,r[44]=h.files,r[45]=V):V=r[45];let H;r[46]!==z||r[47]!==V?(H=(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70 bg-background`,children:[z,V]}),r[46]=z,r[47]=V,r[48]=H):H=r[48];let U;r[49]!==H||r[50]!==T?(U=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[T,H]}),r[49]=H,r[50]=T,r[51]=U):U=r[51];let W;return r[52]!==U||r[53]!==w?(W=(0,$.jsx)(Q,{value:w,children:U}),r[52]=U,r[53]=w,r[54]=W):W=r[54],W},Se=()=>{let e=(0,X.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)(F,{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)(D,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Ce=e=>{let r=(0,X.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,Z.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,Z.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,Z.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){se({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)(ee,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:Ne,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:44,indent:15,overscanCount:1e3,renderCursor:Pe,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:we}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},we=e=>{let t=(0,X.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-4 h-4 shrink-0 text-(--gray-11)`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,Z.use)(Q),{runningNotebooks:l}=(0,Z.use)(he),d;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(d=()=>{if(n.isEditing)return(0,$.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-(--sage-3) hover:text-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,$.jsx)(q,{node:n})]});if(n.data.isDirectory)return(0,$.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-(--sage-3) hover:text-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)&&O.isAbsolute(n.data.path)?O.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-(--sage-3) hover:text-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:u(`?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)(Te,{node:n,isRunning:r}),(0,$.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,$.jsx)(ke,{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]=d):d=t[6];let f=d,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=_(`flex items-center cursor-pointer ml-1 text-sm text-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)(Ee,{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 v;return t[13]!==r||t[14]!==m||t[15]!==h||t[16]!==g?(v=(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]=v):v=t[17],v},Te=e=>{let t=(0,X.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,Z.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}=K(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)(b,{}),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},Ee=e=>{let t=(0,X.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)(M,{className:`w-5 h-5 shrink-0`}):(0,$.jsx)(N,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},De=e=>{let t=(0,X.c)(8),{files:n,emptyMessage:r}=e,i;t[0]!==r||t[1]!==n.length?(i=n.length===0&&(0,$.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted-foreground`,children:r}),t[0]=r,t[1]=n.length,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(Fe),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,$.jsxs)(`div`,{className:`flex max-h-[500px] min-h-40 min-w-0 flex-col divide-y divide-border/50 overflow-y-auto rounded-lg border border-border/60`,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o},Oe=e=>{let t=(0,X.c)(48),{file:n}=e,{locale:r}=ce(),i;t[0]===n.path?i=t[1]:(i=d(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l,f;if(t[2]!==n.initializationId||t[3]!==n.name||t[4]!==n.path||t[5]!==a){let e=u(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[11]===n.path?r=t[12]:(r=n.path.endsWith(`.md`),t[11]=n.path,t[12]=r),s=r,o=R[L(n.name)],c=`py-3 px-4 hover:bg-(--sage-3) transition-colors cursor-pointer group relative flex gap-3 items-center focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,l=n.path,f=e.toString(),t[2]=n.initializationId,t[3]=n.name,t[4]=n.path,t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l,t[10]=f}else o=t[6],s=t[7],c=t[8],l=t[9],f=t[10];let p=n.initializationId||n.path,m;t[13]===p?m=t[14]:(m=ve(p),t[13]=p,t[14]=m);let h;t[15]===o?h=t[16]:(h=(0,$.jsx)(o,{className:`h-4 w-4 shrink-0 text-(--gray-11)`,strokeWidth:1.5}),t[15]=o,t[16]=h);let g;t[17]===n.name?g=t[18]:(g=(0,$.jsx)(`span`,{className:`truncate`,children:n.name}),t[17]=n.name,t[18]=g);let _;t[19]===s?_=t[20]:(_=s&&(0,$.jsx)(`span`,{className:`opacity-80`,children:(0,$.jsx)(pe,{})}),t[19]=s,t[20]=_);let v;t[21]!==g||t[22]!==_?(v=(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium`,children:[g,_]}),t[21]=g,t[22]=_,t[23]=v):v=t[23];let y;t[24]===n.path?y=t[25]:(y=(0,$.jsx)(`p`,{title:n.path,className:`text-xs text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[24]=n.path,t[25]=y);let b;t[26]!==v||t[27]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 flex-1`,children:[v,y]}),t[26]=v,t[27]=y,t[28]=b):b=t[28];let x;t[29]===n.path?x=t[30]:(x=(0,$.jsx)(`div`,{children:(0,$.jsx)(ke,{filePath:n.path})}),t[29]=n.path,t[30]=x);let S;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(I,{size:14,className:`opacity-40 group-hover:opacity-100`}),t[31]=S):S=t[31];let C;t[32]===x?C=t[33]:(C=(0,$.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[x,S]}),t[32]=x,t[33]=C);let w;t[34]!==n.lastModified||t[35]!==r?(w=!!n.lastModified&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:ue(n.lastModified*1e3,r)}),t[34]=n.lastModified,t[35]=r,t[36]=w):w=t[36];let T;t[37]!==C||t[38]!==w?(T=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[C,w]}),t[37]=C,t[38]=w,t[39]=T):T=t[39];let E;return t[40]!==b||t[41]!==T||t[42]!==c||t[43]!==l||t[44]!==f||t[45]!==m||t[46]!==h?(E=(0,$.jsxs)(`a`,{className:c,href:f,target:m,children:[h,b,T]},l),t[40]=b,t[41]=T,t[42]=c,t[43]=l,t[44]=f,t[45]=m,t[46]=h,t[47]=E):E=t[47],E},ke=e=>{let t=(0,X.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=z(),{shutdownSession:a}=J(),{runningNotebooks:o,setRunningNotebooks:s}=(0,Z.use)(he);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)(y,{onClick:()=>{let e=o.get(n);m(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(P.keyBy(e.files,Ie))}),i(),se({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)(re,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(E,{content:`Shutdown`,children:(0,$.jsx)(D,{size:`icon`,variant:`outline`,"aria-label":`Shutdown notebook`,className:`border-transparent text-muted-foreground shadow-none hover:border-destructive hover:bg-(--red-1) hover:text-destructive`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},Ae=()=>{let e=(0,X.c)(5),[t,n]=(0,Z.useState)(f),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=f();return n(e),e},e[0]=r):r=e[0];let i=r,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{let t=i();e.dataTransfer.setData(`text/uri-list`,t),e.dataTransfer.setData(`text/plain`,t)},e[1]=a):a=e[1];let o=a,s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(te,{className:`h-4 w-4`}),e[2]=s):s=e[2];let c;return e[3]===t?c=e[4]:(c=(0,$.jsx)(D,{asChild:!0,size:`sm`,className:`gap-2 rounded-md border-(--brand) bg-(--brand) text-(--brand-foreground) shadow-none hover:bg-(--brand-hover)`,children:(0,$.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,onClick:i,onAuxClick:i,onContextMenu:i,onDragStart:o,children:[s,`New notebook`]})}),e[3]=t,e[4]=c),c};function je(e){return e+1}function Me(e){return e.path}function Ne(e){return e.path}function Pe(){return null}function Fe(e){return(0,$.jsx)(Oe,{file:e},e.path)}function Ie(e){return e.path}export{Ae as CreateNewNotebook,be as default};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{Bn as a,Qr as o,Ya as s}from"./cells-2HETnlvE.js";import{t as c}from"./compiler-runtime-BrajqUja.js";import{_ as l}from"./useEventListener-CjDeLqFC.js";import{l as u,n as d,s as f,t as p,y as m}from"./session-CMLIzZKw.js";import{O as h}from"./config-CD1IuZFJ.js";import{t as g}from"./ErrorBoundary-DxSzjvbx.js";import{t as _}from"./cn-ldLVeaqm.js";import{t as v}from"./jsx-runtime-B74pBk57.js";import{o as y}from"./alert-dialog-C-sWmKva.js";import{c as b}from"./dropdown-menu-DS6umAnH.js";import{d as x}from"./select-3CVGlYrC.js";import{i as S,n as C,r as w,t as T}from"./tabs-CY8E4r9U.js";import{t as E}from"./tooltip-CkGm8X7m.js";import{t as D}from"./button-D8gVKwe-.js";import{n as O}from"./paths-bkIFVj8h.js";import{n as k,r as A,t as j}from"./components-CBE8cOLK.js";import{a as M}from"./useNumberFormatter-D7O_26UI.js";import{t as N}from"./chevron-right-eAtVhbNZ.js";import{o as P,s as F}from"./tree-actions-sjBxIglc.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-BEx-EUlh.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 K,t as q,u as ee}from"./file-name-input-D5SfTNWh.js";import{t as te}from"./plus-C5silF6g.js";import{n as ne,r as re,t as ie}from"./app-config-button-BRcjv8A_.js";import{r as ae,rn as oe}from"./input-DmHMEZGh.js";import{t as se}from"./use-toast-Wu434mLr.js";import{r as J}from"./requests-BIFR-h4M.js";import{t as ce}from"./I18nProvider-Cg2I_s1_.js";import{n as Y,t as le}from"./useAsyncData-qvoPYHtx.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 X=c(),Z=e(i(),1),he=Z.createContext({runningNotebooks:new Map,setRunningNotebooks:l.NOOP}),Q=Z.createContext({root:``,refreshWorkspace:l.NOOP}),ge=h(`marimo:home:include-markdown`,!1,o,{getOnInit:!0}),_e=h(`marimo:home:expanded-folders`,{},o,{getOnInit:!0}),$=v();function ve(e){return`${p()}-${encodeURIComponent(e)}`}var ye=`-mb-px rounded-none border-b-2 border-transparent px-1 py-3 text-(--gray-11) transition-colors hover:text-foreground focus-visible:ring-inset focus-visible:ring-offset-0 data-[state=active]:border-(--green-11) data-[state=active]:bg-transparent data-[state=active]:text-(--green-11) data-[state=active]:shadow-none`,be=()=>{let e=(0,X.c)(74),[t,n]=(0,Z.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=J(),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=Y(a,o),c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n(je)},l={delayMs:1e4,whenVisible:!0},e[3]=c,e[4]=l):(c=e[3],l=e[4]),me(c,l);let u;e[5]===i?u=e[6]:(u=async()=>{let e=await i();return P.keyBy(e.files,Me)},e[5]=i,e[6]=u);let d;e[7]===t?d=e[8]:(d=[t],e[7]=t,e[8]=d);let f=Y(u,d),p,m,h,_,v,y,b,x,E,D,O,A,M,N,F,I,L,R;if(e[9]!==s||e[10]!==f){N=Symbol.for(`react.early_return_sentinel`);bb0:{let t=le(s,f);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(B,{centered:!0,size:`xlarge`}),e[29]=t):t=e[29],N=t;break bb0}let[r,i]=n;v=Z.Suspense,_=he,M={runningNotebooks:i,setRunningNotebooks:f.setData},O=`min-h-screen bg-background`;let a;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`img`,{src:`logo.png`,alt:`marimo`,className:`w-28`}),e[30]=a):a=e[30];let o;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(ie,{showAppConfig:!1}),e[31]=o):o=e[31];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[32]===c?A=e[33]:(A=(0,$.jsx)(`header`,{className:`border-b border-border/60`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex max-w-7xl items-center justify-between gap-4 px-5 py-5 sm:px-10`,children:[a,(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[o,(0,$.jsx)(ne,{description:c})]})]})}),e[32]=c,e[33]=A),E=`mx-auto max-w-7xl px-5 py-8 sm:px-10 sm:py-10`;let l,u;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Your notebooks`}),u=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Pick up where you left off, or start something new.`}),e[34]=l,e[35]=u):(l=e[34],u=e[35]),e[36]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsxs)(`div`,{className:`mb-8`,children:[l,u,(0,$.jsxs)(`div`,{className:`mt-5 flex items-center gap-3`,children:[(0,$.jsx)(Ae,{}),(0,$.jsx)(j,{})]})]}),e[36]=D):D=e[36],h=T,R=`workspace`;let d,k;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(S,{value:`workspace`,className:ye,children:`Workspace`}),k=(0,$.jsx)(S,{value:`recent`,className:ye,children:`Recent`}),e[37]=d,e[38]=k):(d=e[37],k=e[38]);let P=(0,$.jsxs)(S,{value:`running`,className:ye,children:[`Running`,(0,$.jsx)(`span`,{className:`ml-1.5 text-xs font-normal tabular-nums text-(--gray-11)`,children:i.size})]});e[39]===P?y=e[40]:(y=(0,$.jsxs)(w,{"aria-label":`Notebooks`,className:`mb-5 flex h-auto w-full justify-start gap-6 rounded-none border-b border-border/70 bg-transparent p-0`,children:[d,k,P]}),e[39]=P,e[40]=y),e[41]===s.refetch?b=e[42]:(b=(0,$.jsx)(C,{value:`workspace`,forceMount:!0,className:`mt-0 data-[state=inactive]:hidden`,children:(0,$.jsx)(g,{children:(0,$.jsx)(xe,{onRefreshRecents:s.refetch})})}),e[41]=s.refetch,e[42]=b),x=(0,$.jsx)(C,{value:`recent`,className:`mt-0`,children:(0,$.jsx)(De,{files:r.files,emptyMessage:`Notebooks you open will appear here.`})}),m=C,I=`running`,L=`mt-0`,p=De,F=[...i.values()]}e[9]=s,e[10]=f,e[11]=p,e[12]=m,e[13]=h,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=x,e[19]=E,e[20]=D,e[21]=O,e[22]=A,e[23]=M,e[24]=N,e[25]=F,e[26]=I,e[27]=L,e[28]=R}else p=e[11],m=e[12],h=e[13],_=e[14],v=e[15],y=e[16],b=e[17],x=e[18],E=e[19],D=e[20],O=e[21],A=e[22],M=e[23],N=e[24],F=e[25],I=e[26],L=e[27],R=e[28];if(N!==Symbol.for(`react.early_return_sentinel`))return N;let z;e[43]!==p||e[44]!==F?(z=(0,$.jsx)(p,{files:F,emptyMessage:`No notebooks are running.`}),e[43]=p,e[44]=F,e[45]=z):z=e[45];let V;e[46]!==m||e[47]!==z||e[48]!==I||e[49]!==L?(V=(0,$.jsx)(m,{value:I,className:L,children:z}),e[46]=m,e[47]=z,e[48]=I,e[49]=L,e[50]=V):V=e[50];let H;e[51]!==h||e[52]!==y||e[53]!==b||e[54]!==x||e[55]!==V||e[56]!==R?(H=(0,$.jsxs)(h,{defaultValue:R,children:[y,b,x,V]}),e[51]=h,e[52]=y,e[53]=b,e[54]=x,e[55]=V,e[56]=R,e[57]=H):H=e[57];let U;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(k,{}),e[58]=U):U=e[58];let W;e[59]!==E||e[60]!==D||e[61]!==H?(W=(0,$.jsxs)(`main`,{className:E,children:[D,H,U]}),e[59]=E,e[60]=D,e[61]=H,e[62]=W):W=e[62];let G;e[63]!==O||e[64]!==A||e[65]!==W?(G=(0,$.jsxs)(`div`,{className:O,children:[A,W]}),e[63]=O,e[64]=A,e[65]=W,e[66]=G):G=e[66];let K;e[67]!==_||e[68]!==M||e[69]!==G?(K=(0,$.jsx)(_,{value:M,children:G}),e[67]=_,e[68]=M,e[69]=G,e[70]=K):K=e[70];let q;return e[71]!==v||e[72]!==K?(q=(0,$.jsx)(v,{children:K}),e[71]=v,e[72]=K,e[73]=q):q=e[73],q},xe=e=>{let r=(0,X.c)(55),{onRefreshRecents:i}=e,{getWorkspaceFiles:o}=J(),[c,l]=t(ge),[u,d]=(0,Z.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}=Y(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 S=h?.root??``,C;r[8]!==b||r[9]!==S?(C={root:S,refreshWorkspace:b},r[8]=b,r[9]=S,r[10]=C):C=r[10];let w=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 T;r[16]!==h.fileCount||r[17]!==h.hasMore?(T=h.hasMore&&(0,$.jsx)(A,{fileCount:h.fileCount}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=T):T=r[18];let E,O;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(oe,{size:15}),O=e=>d(e.target.value),r[19]=E,r[20]=O):(E=r[19],O=r[20]);let k;r[21]===u?k=r[22]:(k=(0,$.jsx)(`div`,{className:`min-w-40 flex-1`,children:(0,$.jsx)(ae,{id:`search`,"aria-label":`Search workspace`,value:u,icon:E,onChange:O,placeholder:`Find a notebook…`,className:`mb-0 h-9 rounded-md border-border/60 bg-background font-sans shadow-none hover:shadow-none focus-visible:shadow-none`})}),r[21]=u,r[22]=k);let j;r[23]===v?j=r[24]:(j=()=>v(),r[23]=v,r[24]=j);let M;r[25]===_?M=r[26]:(M=_?(0,$.jsx)(B,{size:`small`}):(0,$.jsx)(s,{className:`w-4 h-4`}),r[25]=_,r[26]=M);let N;r[27]!==j||r[28]!==M?(N=(0,$.jsx)(D,{variant:`ghost`,size:`icon`,onClick:j,"aria-label":`Refresh workspace`,children:M}),r[27]=j,r[28]=M,r[29]=N):N=r[29];let P;r[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Se,{}),r[30]=P):P=r[30];let F;r[31]===l?F=r[32]:(F=e=>l(!!e),r[31]=l,r[32]=F);let I;r[33]!==c||r[34]!==F?(I=(0,$.jsx)(a,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:c,onCheckedChange:F}),r[33]=c,r[34]=F,r[35]=I):I=r[35];let L;r[36]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(x,{htmlFor:`include-markdown`,className:`text-xs text-muted-foreground`,children:`Include markdown`}),r[36]=L):L=r[36];let R;r[37]===I?R=r[38]:(R=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[I,L]}),r[37]=I,r[38]=R);let z;r[39]!==N||r[40]!==R||r[41]!==k?(z=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-border/60 bg-muted/20 p-3`,children:[k,N,P,R]}),r[39]=N,r[40]=R,r[41]=k,r[42]=z):z=r[42];let V;r[43]!==u||r[44]!==h.files?(V=(0,$.jsx)(Ce,{searchText:u,files:h.files}),r[43]=u,r[44]=h.files,r[45]=V):V=r[45];let H;r[46]!==z||r[47]!==V?(H=(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70 bg-background`,children:[z,V]}),r[46]=z,r[47]=V,r[48]=H):H=r[48];let U;r[49]!==H||r[50]!==T?(U=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[T,H]}),r[49]=H,r[50]=T,r[51]=U):U=r[51];let W;return r[52]!==U||r[53]!==w?(W=(0,$.jsx)(Q,{value:w,children:U}),r[52]=U,r[53]=w,r[54]=W):W=r[54],W},Se=()=>{let e=(0,X.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)(F,{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)(D,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Ce=e=>{let r=(0,X.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,Z.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,Z.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,Z.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){se({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)(ee,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:Ne,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:44,indent:15,overscanCount:1e3,renderCursor:Pe,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:we}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},we=e=>{let t=(0,X.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-4 h-4 shrink-0 text-(--gray-11)`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,Z.use)(Q),{runningNotebooks:l}=(0,Z.use)(he),d;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(d=()=>{if(n.isEditing)return(0,$.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-(--sage-3) hover:text-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,$.jsx)(q,{node:n})]});if(n.data.isDirectory)return(0,$.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-(--sage-3) hover:text-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)&&O.isAbsolute(n.data.path)?O.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-(--sage-3) hover:text-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:u(`?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)(Te,{node:n,isRunning:r}),(0,$.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,$.jsx)(ke,{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]=d):d=t[6];let f=d,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=_(`flex items-center cursor-pointer ml-1 text-sm text-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)(Ee,{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 v;return t[13]!==r||t[14]!==m||t[15]!==h||t[16]!==g?(v=(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]=v):v=t[17],v},Te=e=>{let t=(0,X.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,Z.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}=K(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)(b,{}),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},Ee=e=>{let t=(0,X.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)(M,{className:`w-5 h-5 shrink-0`}):(0,$.jsx)(N,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},De=e=>{let t=(0,X.c)(8),{files:n,emptyMessage:r}=e,i;t[0]!==r||t[1]!==n.length?(i=n.length===0&&(0,$.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted-foreground`,children:r}),t[0]=r,t[1]=n.length,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(Fe),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,$.jsxs)(`div`,{className:`flex max-h-[500px] min-h-40 min-w-0 flex-col divide-y divide-border/50 overflow-y-auto rounded-lg border border-border/60`,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o},Oe=e=>{let t=(0,X.c)(48),{file:n}=e,{locale:r}=ce(),i;t[0]===n.path?i=t[1]:(i=d(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l,f;if(t[2]!==n.initializationId||t[3]!==n.name||t[4]!==n.path||t[5]!==a){let e=u(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[11]===n.path?r=t[12]:(r=n.path.endsWith(`.md`),t[11]=n.path,t[12]=r),s=r,o=R[L(n.name)],c=`py-3 px-4 hover:bg-(--sage-3) transition-colors cursor-pointer group relative flex gap-3 items-center focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,l=n.path,f=e.toString(),t[2]=n.initializationId,t[3]=n.name,t[4]=n.path,t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l,t[10]=f}else o=t[6],s=t[7],c=t[8],l=t[9],f=t[10];let p=n.initializationId||n.path,m;t[13]===p?m=t[14]:(m=ve(p),t[13]=p,t[14]=m);let h;t[15]===o?h=t[16]:(h=(0,$.jsx)(o,{className:`h-4 w-4 shrink-0 text-(--gray-11)`,strokeWidth:1.5}),t[15]=o,t[16]=h);let g;t[17]===n.name?g=t[18]:(g=(0,$.jsx)(`span`,{className:`truncate`,children:n.name}),t[17]=n.name,t[18]=g);let _;t[19]===s?_=t[20]:(_=s&&(0,$.jsx)(`span`,{className:`opacity-80`,children:(0,$.jsx)(pe,{})}),t[19]=s,t[20]=_);let v;t[21]!==g||t[22]!==_?(v=(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium`,children:[g,_]}),t[21]=g,t[22]=_,t[23]=v):v=t[23];let y;t[24]===n.path?y=t[25]:(y=(0,$.jsx)(`p`,{title:n.path,className:`text-xs text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[24]=n.path,t[25]=y);let b;t[26]!==v||t[27]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 flex-1`,children:[v,y]}),t[26]=v,t[27]=y,t[28]=b):b=t[28];let x;t[29]===n.path?x=t[30]:(x=(0,$.jsx)(`div`,{children:(0,$.jsx)(ke,{filePath:n.path})}),t[29]=n.path,t[30]=x);let S;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(I,{size:14,className:`opacity-40 group-hover:opacity-100`}),t[31]=S):S=t[31];let C;t[32]===x?C=t[33]:(C=(0,$.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[x,S]}),t[32]=x,t[33]=C);let w;t[34]!==n.lastModified||t[35]!==r?(w=!!n.lastModified&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:ue(n.lastModified*1e3,r)}),t[34]=n.lastModified,t[35]=r,t[36]=w):w=t[36];let T;t[37]!==C||t[38]!==w?(T=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[C,w]}),t[37]=C,t[38]=w,t[39]=T):T=t[39];let E;return t[40]!==b||t[41]!==T||t[42]!==c||t[43]!==l||t[44]!==f||t[45]!==m||t[46]!==h?(E=(0,$.jsxs)(`a`,{className:c,href:f,target:m,children:[h,b,T]},l),t[40]=b,t[41]=T,t[42]=c,t[43]=l,t[44]=f,t[45]=m,t[46]=h,t[47]=E):E=t[47],E},ke=e=>{let t=(0,X.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=z(),{shutdownSession:a}=J(),{runningNotebooks:o,setRunningNotebooks:s}=(0,Z.use)(he);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)(y,{onClick:()=>{let e=o.get(n);m(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(P.keyBy(e.files,Ie))}),i(),se({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)(re,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(E,{content:`Shutdown`,children:(0,$.jsx)(D,{size:`icon`,variant:`outline`,"aria-label":`Shutdown notebook`,className:`border-transparent text-muted-foreground shadow-none hover:border-destructive hover:bg-(--red-1) hover:text-destructive`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},Ae=()=>{let e=(0,X.c)(5),[t,n]=(0,Z.useState)(f),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=f();return n(e),e},e[0]=r):r=e[0];let i=r,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{let t=i();e.dataTransfer.setData(`text/uri-list`,t),e.dataTransfer.setData(`text/plain`,t)},e[1]=a):a=e[1];let o=a,s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(te,{className:`h-4 w-4`}),e[2]=s):s=e[2];let c;return e[3]===t?c=e[4]:(c=(0,$.jsx)(D,{asChild:!0,size:`sm`,className:`gap-2 rounded-md border-(--brand) bg-(--brand) text-(--brand-foreground) shadow-none hover:bg-(--brand-hover)`,children:(0,$.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,onClick:i,onAuxClick:i,onContextMenu:i,onDragStart:o,children:[s,`New notebook`]})}),e[3]=t,e[4]=c),c};function je(e){return e+1}function Me(e){return e.path}function Ne(e){return e.path}function Pe(){return null}function Fe(e){return(0,$.jsx)(Oe,{file:e},e.path)}function Ie(e){return e.path}export{Ae as CreateNewNotebook,be as default};
@@ -1 +1 @@
1
- import{l as e}from"./useEvent-BDjgaBtz.js";import{a as t}from"./cells-2HETnlvE.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{a as r}from"./config-DpY86_Yq.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-CD1IuZFJ.js";import{s as c,u as l}from"./download-Dod42wfD.js";import{c as u,t as d}from"./layout-C-NAerIZ.js";import{t as f}from"./use-toast-Wu434mLr.js";import{r as p}from"./requests-BIFR-h4M.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-BDjgaBtz.js";import{a as t}from"./cells-2HETnlvE.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{a as r}from"./config-DpY86_Yq.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-CD1IuZFJ.js";import{s as c,u as l}from"./download-Dod42wfD.js";import{c as u,t as d}from"./layout-C2XnLAfO.js";import{t as f}from"./use-toast-Wu434mLr.js";import{r as p}from"./requests-BIFR-h4M.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};