@marimo-team/frontend 0.25.3-dev78 → 0.25.3-dev80
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.
- package/dist/assets/{command-palette-B5H-9JMB.js → command-palette-CGNUQdgW.js} +1 -1
- package/dist/assets/components-CJRBUI2s.js +1 -0
- package/dist/assets/{dependency-graph-panel-BFFxLgR6.js → dependency-graph-panel-B3T9kSTs.js} +1 -1
- package/dist/assets/{edit-page-4qZ3DZjt.js → edit-page-CBftLPze.js} +6 -6
- package/dist/assets/{gallery-page-CxmV1JLF.js → gallery-page-B-5H1fEt.js} +1 -1
- package/dist/assets/home-page-3qsPTb4v.js +1 -0
- package/dist/assets/index-BdsOMJac.css +2 -0
- package/dist/assets/{index-CDWL5dyB.js → index-D0IWODMU.js} +6 -6
- package/dist/assets/{panels-Cez8PgGB.js → panels-D1i80TGn.js} +15 -15
- package/dist/assets/{run-page-Bn5ccbSI.js → run-page-CLP1s8uX.js} +1 -1
- package/dist/assets/tracing-DDohxo24.js +1 -0
- package/dist/assets/{tracing-panel-UKdh_YXC.js → tracing-panel-DYhGDAo5.js} +2 -2
- package/dist/assets/useCellActionButton-DAcQhse_.js +1 -0
- package/dist/assets/{useDependencyPanelTab-BEGqRiWi.js → useDependencyPanelTab-PtXIVh53.js} +1 -1
- package/dist/assets/useNotebookActions-DZBB98fP.js +1 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/components/home/components.tsx +17 -31
- package/src/components/pages/home-page.tsx +141 -89
- package/src/css/globals.css +3 -0
- package/dist/assets/circle-play-CYIb0qT6.js +0 -1
- package/dist/assets/components-lDm0qi2t.js +0 -1
- package/dist/assets/home-page-CZ3hkD3m.js +0 -4
- package/dist/assets/index-evFWHKmM.css +0 -2
- package/dist/assets/link-NuFVR7G9.js +0 -1
- package/dist/assets/tracing-BW2ZVnXs.js +0 -1
- package/dist/assets/useCellActionButton-Cu34Zs6x.js +0 -1
- package/dist/assets/useNotebookActions-CmqOx-WZ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{l as r,t as i}from"./session-B8Y-GJnS.js";import{t as a}from"./ErrorBoundary-DJhsFCsX.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{n as s,t as c}from"./paths-bkIFVj8h.js";import{
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{l as r,t as i}from"./session-B8Y-GJnS.js";import{t as a}from"./ErrorBoundary-DJhsFCsX.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{n as s,t as c}from"./paths-bkIFVj8h.js";import{r as l}from"./components-CJRBUI2s.js";import{t as u}from"./spinner-DyNE-o8o.js";import{r as d,rn as f}from"./input-BZdRe7pb.js";import{r as p}from"./requests-lt0JK8Jt.js";import{n as m}from"./useAsyncData-DhhdOGGd.js";import{a as h}from"./errors-CNsgAw6m.js";import{t as g}from"./error-banner-B5kzVf_0.js";import{n as _,t as v}from"./card-DOABds5l.js";var y=n(),b=e(t(),1),x=o(),S=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),C=e=>{let t=c.guessDeliminator(e).deliminator;return e.replace(/\.[^./]+$/,``).split(t).filter(Boolean).map(e=>e.split(/[_-]/).map(S).join(` `)).join(` > `)},w=e=>`${i()}-${encodeURIComponent(e)}`,T=e=>{try{return new URL(e).protocol===`https:`}catch{return!1}},E=10,D=()=>{let e=(0,y.c)(32),{getWorkspaceFiles:t}=p(),[n,i]=(0,b.useState)(``),o;e[0]===t?o=e[1]:(o=()=>t({includeMarkdown:!1}),e[0]=t,e[1]=o);let c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],e[2]=c):c=e[2];let _=m(o,c),v=_.data;v?.files,v?.root;let S;e[3]===v?.files?S=e[4]:(S=v?.files??[],e[3]=v?.files,e[4]=S);let w=S,D=v?.root??``,j;if(e[5]!==w||e[6]!==D){let t;e[8]===D?t=e[9]:(t=e=>{let t=D&&s.isAbsolute(e.path)&&e.path.startsWith(D)?s.rest(e.path,D):e.path,n=e.opengraph?.title??C(s.basename(t)),i=C(s.dirname(t)),a=e.opengraph?.description??``,o=e.opengraph?.image,c=o&&T(o)?o:r(`og/thumbnail?file=${encodeURIComponent(t)}`).toString();return{...e,relativePath:t,title:n,subtitle:i,description:a,thumbnailUrl:c}},e[8]=D,e[9]=t),j=w.filter(O).map(t).toSorted(k),e[5]=w,e[6]=D,e[7]=j}else j=e[7];let M=j,N;bb0:{if(!n){N=M;break bb0}let t;if(e[10]!==M||e[11]!==n){let r=n.toLowerCase();t=M.filter(e=>e.title.toLowerCase().includes(r)),e[10]=M,e[11]=n,e[12]=t}else t=e[12];N=t}let P=N;if(_.isPending){let t;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,x.jsx)(u,{centered:!0,size:`xlarge`,className:`mt-6`}),e[13]=t):t=e[13],t}if(_.error){let t;e[14]===_.error?t=e[15]:(t=h(_.error),e[14]=_.error,e[15]=t);let n;return e[16]===t?n=e[17]:(n=(0,x.jsx)(g,{kind:`danger`,className:`rounded p-4`,children:t}),e[16]=t,e[17]=n),n}if(!v){let t;return e[18]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,x.jsx)(u,{centered:!0,size:`xlarge`,className:`mt-6`}),e[18]=t):t=e[18],t}let F;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,x.jsx)(`img`,{src:`logo.png`,alt:`marimo logo`,className:`w-48 mb-2`}),e[19]=F):F=e[19];let I;e[20]!==v.fileCount||e[21]!==v.hasMore?(I=v.hasMore&&(0,x.jsx)(l,{fileCount:v.fileCount}),e[20]=v.fileCount,e[21]=v.hasMore,e[22]=I):I=e[22];let L;e[23]!==M.length||e[24]!==n?(L=M.length>E&&(0,x.jsx)(d,{id:`search`,value:n,icon:(0,x.jsx)(f,{className:`h-4 w-4`}),onChange:e=>i(e.target.value),placeholder:`Search`,rootClassName:`mb-3`,className:`mb-0 border-border`}),e[23]=M.length,e[24]=n,e[25]=L):L=e[25];let R;e[26]===P?R=e[27]:(R=P.length===0?(0,x.jsx)(g,{kind:`warn`,className:`rounded p-4`,children:`No marimo apps found.`}):(0,x.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`,children:P.map(A)}),e[26]=P,e[27]=R);let z;return e[28]!==I||e[29]!==L||e[30]!==R?(z=(0,x.jsx)(b.Suspense,{children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10`,children:[F,(0,x.jsx)(a,{children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[I,L,R]})})]})}),e[28]=I,e[29]=L,e[30]=R,e[31]=z):z=e[31],z};function O(e){return!e.isDirectory}function k(e,t){return e.relativePath.localeCompare(t.relativePath)}function A(e){return(0,x.jsx)(`a`,{href:r(`?file=${encodeURIComponent(e.relativePath)}`).toString(),target:w(e.path),className:`no-underline`,children:(0,x.jsxs)(v,{className:`h-full overflow-hidden hover:bg-accent/20 transition-colors`,children:[(0,x.jsx)(`img`,{src:e.thumbnailUrl,alt:e.title,loading:`lazy`,className:`w-full aspect-1200/630 object-cover border-b border-border/60`}),(0,x.jsx)(_,{className:`p-6 pt-4`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.subtitle&&(0,x.jsx)(`div`,{className:`text-sm font-semibold text-muted-foreground`,children:e.subtitle}),(0,x.jsx)(`div`,{className:`text-lg font-medium`,children:e.title}),e.description&&(0,x.jsx)(`div`,{className:`text-sm text-muted-foreground line-clamp-3 mt-1`,children:e.description})]})})]})},e.path)}export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
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}from"./cells-T9_Y4Jlv.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-B8Y-GJnS.js";import{k as h}from"./config-DzdxZb17.js";import{t as g}from"./ErrorBoundary-DJhsFCsX.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-CJRBUI2s.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-Cb-nUK1F.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 K,t as q,u as ee}from"./file-name-input-CDrRlIiX.js";import{t as te}from"./plus-C5silF6g.js";import{n as ne,r as re,t as ie}from"./app-config-button-DGhsM0xw.js";import{r as ae,rn as oe}from"./input-BZdRe7pb.js";import{t as se}from"./use-toast-Wu434mLr.js";import{r as J}from"./requests-lt0JK8Jt.js";import{t as ce}from"./I18nProvider-Cg2I_s1_.js";import{n as Y,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 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)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=f(),e[0]=t):t=e[0];let n=t,r;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(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:n,target:`_blank`,rel:`noreferrer`,children:[(0,$.jsx)(te,{className:`h-4 w-4`}),`New notebook`]})}),e[1]=r):r=e[1],r};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{be as default};
|