@marimo-team/frontend 0.19.5-dev13 → 0.19.5-dev15

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.
@@ -1 +1 @@
1
- import{s as H}from"./chunk-LvLJmgfZ.js";import{d as ae,u as oe}from"./useEvent-DlWF5OMa.js";import{t as le}from"./react-BGmjiNul.js";import{qn as R}from"./cells-dG69fEtz.js";import"./react-dom-C9fstfnp.js";import{t as ie}from"./compiler-runtime-DeeZ7FnK.js";import{y as ce}from"./utils-Czt8B2GX.js";import{j as de}from"./config-CENq_7Pd.js";import{t as me}from"./jsx-runtime-DN_bIXfG.js";import{r as xe}from"./button-B8cGZzP5.js";import{t as K}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as V}from"./requests-C0HaHO6a.js";import{_ as pe}from"./select-D9lTzMzP.js";import{t as ue}from"./chevron-right-CqEd11Di.js";import{u as fe}from"./toDate-5JckKRQn.js";import{n as ge}from"./state-B-q5vJAN.js";import{t as q}from"./spinner-C1czjtp7.js";import{a as he}from"./input-B80Yt1uu.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as ve}from"./use-toast-Bzf3rpev.js";import"./Combination-D1TsGrBC.js";import{t as J}from"./tooltip-CvjcEpZC.js";import"./popover-DtnzNVk-.js";import{n as F}from"./error-banner-DvT0IGDZ.js";import{t as je}from"./copy-DRhpWiOq.js";import{i as be,n as Q,r as X,s as Y,t as ke}from"./useInstallPackage-RldLPyJs.js";import{n as ye}from"./useAsyncData-BJJJOr9W.js";import{a as Ne,i as W,n as we,o as Z,r as B,t as Se}from"./table--_20dwBZ.js";import{t as ee}from"./empty-state-B0XJ9ZUi.js";var G=ie(),I=H(le(),1);function _e(t){let e=t.trim();for(let r of["pip install","pip3 install","uv add","uv pip install","poetry add","conda install","pipenv install"])if(e.toLowerCase().startsWith(r.toLowerCase()))return e.slice(r.length).trim();return e}var s=H(me(),1),te=t=>{let e=(0,G.c)(9),{onClick:r,loading:n,children:l,className:x}=t;if(n){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)(q,{size:"small",className:"h-4 w-4 shrink-0 opacity-50"}),e[0]=c):c=e[0],c}let d;e[1]===x?d=e[2]:(d=K("px-2 h-full text-xs text-muted-foreground hover:text-foreground","invisible group-hover:visible",x),e[1]=x,e[2]=d);let a;e[3]===r?a=e[4]:(a=xe.stopPropagation(r),e[3]=r,e[4]=a);let o;return e[5]!==l||e[6]!==d||e[7]!==a?(o=(0,s.jsx)("button",{type:"button",className:d,onClick:a,children:l}),e[5]=l,e[6]=d,e[7]=a,e[8]=o):o=e[8],o},Ce=()=>{var w,S;let t=(0,G.c)(30),[e]=ce(),r=e.package_management.manager,{getDependencyTree:n,getPackageList:l}=V(),[x,d]=I.useState(null),a;t[0]!==n||t[1]!==l?(a=async()=>{let[u,C]=await Promise.all([l(),n()]);return{list:u.packages,tree:C.tree}},t[0]=n,t[1]=l,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o);let{data:c,error:m,refetch:j,isPending:g}=ye(a,o);if(g){let u;return t[5]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(q,{size:"medium",centered:!0}),t[5]=u):u=t[5],u}if(m){let u;return t[6]===m?u=t[7]:(u=(0,s.jsx)(F,{error:m}),t[6]=m,t[7]=u),u}let h=c.tree!=null,i;t[8]!==h||t[9]!==x?(i=De(x,h),t[8]=h,t[9]=x,t[10]=i):i=t[10];let f=i,p=(w=c.tree)==null?void 0:w.name,P=(S=c==null?void 0:c.tree)==null?void 0:S.version,y=p==="<root>",k;t[11]!==r||t[12]!==j?(k=(0,s.jsx)(Pe,{packageManager:r,onSuccess:j}),t[11]=r,t[12]=j,t[13]=k):k=t[13];let b;t[14]!==y||t[15]!==h||t[16]!==p||t[17]!==P||t[18]!==f?(b=h&&(0,s.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 border-b",children:[(0,s.jsxs)("div",{className:"flex gap-1",children:[(0,s.jsx)("button",{type:"button",className:K("px-2 py-1 text-xs rounded",f==="list"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>d("list"),children:"List"}),(0,s.jsx)("button",{type:"button",className:K("px-2 py-1 text-xs rounded",f==="tree"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>d("tree"),children:"Tree"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium",title:y?"sandbox":"project",children:y?"sandbox":"project"}),p&&!y&&(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:[p,P&&` v${P}`]})]})]}),t[14]=y,t[15]=h,t[16]=p,t[17]=P,t[18]=f,t[19]=b):b=t[19];let v;t[20]!==c.list||t[21]!==c.tree||t[22]!==m||t[23]!==j||t[24]!==f?(v=f==="list"?(0,s.jsx)(Ee,{packages:c.list,onSuccess:j}):(0,s.jsx)($e,{tree:c.tree,error:m,onSuccess:j}),t[20]=c.list,t[21]=c.tree,t[22]=m,t[23]=j,t[24]=f,t[25]=v):v=t[25];let _;return t[26]!==k||t[27]!==b||t[28]!==v?(_=(0,s.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[k,b,v]}),t[26]=k,t[27]=b,t[28]=v,t[29]=_):_=t[29],_},Pe=t=>{let e=(0,G.c)(40),{onSuccess:r,packageManager:n}=t,[l,x]=I.useState(""),{handleClick:d}=ge(),a=oe(Y),o=ae(Y),c,m;e[0]!==a||e[1]!==o?(c=()=>{a&&(x(a),o(null))},m=[a,o],e[0]=a,e[1]=o,e[2]=c,e[3]=m):(c=e[2],m=e[3]),I.useEffect(c,m);let{loading:j,handleInstallPackages:g}=ke(),h;e[4]===r?h=e[5]:(h=()=>{r(),x("")},e[4]=r,e[5]=h);let i=h,f;e[6]!==g||e[7]!==l||e[8]!==i?(f=()=>{g([_e(l)],i)},e[6]=g,e[7]=l,e[8]=i,e[9]=f):f=e[9];let p=f,P=`Install packages with ${n}...`,y;e[10]!==j||e[11]!==d?(y=j?(0,s.jsx)(q,{size:"small",className:"mr-2 h-4 w-4 shrink-0 opacity-50"}):(0,s.jsx)(J,{content:"Change package manager",children:(0,s.jsx)(R,{onClick:()=>d("packageManagementAndData"),className:"mr-2 h-4 w-4 shrink-0 opacity-50 hover:opacity-80 cursor-pointer"})}),e[10]=j,e[11]=d,e[12]=y):y=e[12];let k;e[13]===p?k=e[14]:(k=U=>{U.key==="Enter"&&(U.preventDefault(),p())},e[13]=p,e[14]=k);let b;e[15]===Symbol.for("react.memo_cache_sentinel")?(b=U=>x(U.target.value),e[15]=b):b=e[15];let v;e[16]!==l||e[17]!==P||e[18]!==y||e[19]!==k?(v=(0,s.jsx)(he,{placeholder:P,id:be,icon:y,rootClassName:"flex-1 border-none",value:l,onKeyDown:k,onChange:b}),e[16]=l,e[17]=P,e[18]=y,e[19]=k,e[20]=v):v=e[20];let _;e[21]===Symbol.for("react.memo_cache_sentinel")?(_=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Package name:"}),e[21]=_):_=e[21];let w,S;e[22]===Symbol.for("react.memo_cache_sentinel")?(w=(0,s.jsxs)("div",{children:[_," A package name; this will install the latest version.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: httpx"})]}),S=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Package and version:"}),e[22]=w,e[23]=S):(w=e[22],S=e[23]);let u,C;e[24]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsxs)("div",{children:[S," ","A package with a specific version or version range.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Examples: httpx==0.27.0, httpx>=0.27.0"})]}),C=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Git:"}),e[24]=u,e[25]=C):(u=e[24],C=e[25]);let E,$;e[26]===Symbol.for("react.memo_cache_sentinel")?(E=(0,s.jsxs)("div",{children:[C," A Git repository",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: git+https://github.com/encode/httpx"})]}),$=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"URL:"}),e[26]=E,e[27]=$):(E=e[26],$=e[27]);let D,T;e[28]===Symbol.for("react.memo_cache_sentinel")?(D=(0,s.jsxs)("div",{children:[$," A remote wheel or source distribution.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: https://example.com/httpx-0.27.0.tar.gz"})]}),T=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Path:"}),e[28]=D,e[29]=T):(D=e[28],T=e[29]);let A;e[30]===Symbol.for("react.memo_cache_sentinel")?(A=(0,s.jsx)(J,{delayDuration:300,side:"left",align:"start",content:(0,s.jsxs)("div",{className:"text-sm flex flex-col w-full max-w-[360px]",children:["Packages are installed using the package manager specified in your user configuration. Depending on your package manager, you can install packages with various formats:",(0,s.jsxs)("div",{className:"flex flex-col gap-2 mt-2",children:[w,u,E,D,(0,s.jsxs)("div",{children:[T," A local wheel, source distribution, or project directory.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: /example/foo-0.1.0-py3-none-any.whl"})]})]})]}),children:(0,s.jsx)(fe,{className:"h-4 w-4 cursor-help text-muted-foreground hover:text-foreground bg-transparent"})}),e[30]=A):A=e[30];let L=l&&"bg-accent text-accent-foreground",N;e[31]===L?N=e[32]:(N=K("float-right px-2 m-0 h-full text-sm text-secondary-foreground ml-2",L,"disabled:cursor-not-allowed disabled:opacity-50"),e[31]=L,e[32]=N);let z=!l,M;e[33]!==p||e[34]!==N||e[35]!==z?(M=(0,s.jsx)("button",{type:"button",className:N,onClick:p,disabled:z,children:"Add"}),e[33]=p,e[34]=N,e[35]=z,e[36]=M):M=e[36];let O;return e[37]!==M||e[38]!==v?(O=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[v,A,M]}),e[37]=M,e[38]=v,e[39]=O):O=e[39],O},Ee=t=>{let e=(0,G.c)(9),{onSuccess:r,packages:n}=t;if(n.length===0){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,s.jsx)(ee,{title:"No packages",description:"No packages are installed in this environment.",icon:(0,s.jsx)(R,{})}),e[0]=a):a=e[0],a}let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=(0,s.jsx)(Ne,{children:(0,s.jsxs)(Z,{children:[(0,s.jsx)(W,{children:"Name"}),(0,s.jsx)(W,{children:"Version"}),(0,s.jsx)(W,{})]})}),e[1]=l):l=e[1];let x;if(e[2]!==r||e[3]!==n){let a;e[5]===r?a=e[6]:(a=o=>(0,s.jsxs)(Z,{className:"group",onClick:async()=>{await je(`${o.name}==${o.version}`),ve({title:"Copied to clipboard"})},children:[(0,s.jsx)(B,{children:o.name}),(0,s.jsx)(B,{children:o.version}),(0,s.jsxs)(B,{className:"flex justify-end",children:[(0,s.jsx)(se,{packageName:o.name,onSuccess:r}),(0,s.jsx)(re,{packageName:o.name,onSuccess:r})]})]},o.name),e[5]=r,e[6]=a),x=n.map(a),e[2]=r,e[3]=n,e[4]=x}else x=e[4];let d;return e[7]===x?d=e[8]:(d=(0,s.jsxs)(Se,{className:"overflow-auto flex-1",children:[l,(0,s.jsx)(we,{children:x})]}),e[7]=x,e[8]=d),d},se=({packageName:t,onSuccess:e})=>{let[r,n]=I.useState(!1),{addPackage:l}=V();return de()?null:(0,s.jsx)(te,{onClick:async()=>{try{n(!0);let x=await l({package:t,upgrade:!0});x.success?(e(),X(t)):X(t,x.error)}finally{n(!1)}},loading:r,children:"Upgrade"})},re=({packageName:t,tags:e,onSuccess:r})=>{let[n,l]=I.useState(!1),{removePackage:x}=V();return(0,s.jsx)(te,{onClick:async()=>{try{l(!0);let d=e==null?void 0:e.some(o=>o.kind==="group"&&o.value==="dev"),a=await x({package:t,dev:d});a.success?(r(),Q(t)):Q(t,a.error)}finally{l(!1)}},loading:n,children:"Remove"})},$e=t=>{let e=(0,G.c)(18),{tree:r,error:n,onSuccess:l}=t,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=new Set,e[0]=x):x=e[0];let[d,a]=I.useState(x),o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{a(new Set)},e[1]=o):o=e[1];let c;if(e[2]===r?c=e[3]:(c=[r],e[2]=r,e[3]=c),I.useEffect(o,c),n){let i;return e[4]===n?i=e[5]:(i=(0,s.jsx)(F,{error:n}),e[4]=n,e[5]=i),i}if(!r){let i;return e[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(q,{size:"medium",centered:!0}),e[6]=i):i=e[6],i}if(r.dependencies.length===0){let i;return e[7]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(ee,{title:"No dependencies",description:"No package dependencies found in this environment.",icon:(0,s.jsx)(R,{})}),e[7]=i):i=e[7],i}let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=i=>{a(f=>{let p=new Set(f);return p.has(i)?p.delete(i):p.add(i),p})},e[8]=m):m=e[8];let j=m,g;if(e[9]!==d||e[10]!==l||e[11]!==r.dependencies){let i;e[13]!==d||e[14]!==l?(i=(f,p)=>(0,s.jsx)("div",{className:"border-b",children:(0,s.jsx)(ne,{nodeId:`root-${p}`,node:f,level:0,isTopLevel:!0,expandedNodes:d,onToggle:j,onSuccess:l})},`${f.name}-${p}`),e[13]=d,e[14]=l,e[15]=i):i=e[15],g=r.dependencies.map(i),e[9]=d,e[10]=l,e[11]=r.dependencies,e[12]=g}else g=e[12];let h;return e[16]===g?h=e[17]:(h=(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsx)("div",{children:g})}),e[16]=g,e[17]=h),h},ne=t=>{let e=(0,G.c)(58),{nodeId:r,node:n,level:l,isTopLevel:x,expandedNodes:d,onToggle:a,onSuccess:o}=t,c=x===void 0?!1:x,m=n.dependencies.length>0,j;e[0]!==d||e[1]!==r?(j=d.has(r),e[0]=d,e[1]=r,e[2]=j):j=e[2];let g=j,h=c?0:16+l*16,i;e[3]!==m||e[4]!==r||e[5]!==a?(i=N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),m&&a(r))},e[3]=m,e[4]=r,e[5]=a,e[6]=i):i=e[6];let f=i,p;e[7]!==m||e[8]!==r||e[9]!==a?(p=N=>{N.stopPropagation(),m&&a(r)},e[7]=m,e[8]=r,e[9]=a,e[10]=p):p=e[10];let P=p,y=m&&"select-none",k=c?"px-2 py-0.5":"",b;e[11]!==y||e[12]!==k?(b=K("flex items-center group cursor-pointer text-sm whitespace-nowrap","hover:bg-(--slate-2) focus:bg-(--slate-2) focus:outline-hidden",y,k),e[11]=y,e[12]=k,e[13]=b):b=e[13];let v;e[14]!==h||e[15]!==c?(v=c?{}:{paddingLeft:`${h}px`},e[14]=h,e[15]=c,e[16]=v):v=e[16];let _=m?g:void 0,w;e[17]!==m||e[18]!==g?(w=m?g?(0,s.jsx)(pe,{className:"w-4 h-4 mr-2 shrink-0"}):(0,s.jsx)(ue,{className:"w-4 h-4 mr-2 shrink-0"}):(0,s.jsx)("div",{className:"w-4 mr-2 shrink-0"}),e[17]=m,e[18]=g,e[19]=w):w=e[19];let S;e[20]===n.name?S=e[21]:(S=(0,s.jsx)("span",{className:"font-medium truncate",children:n.name}),e[20]=n.name,e[21]=S);let u;e[22]===n.version?u=e[23]:(u=n.version&&(0,s.jsxs)("span",{className:"text-muted-foreground text-xs",children:["v",n.version]}),e[22]=n.version,e[23]=u);let C;e[24]!==S||e[25]!==u?(C=(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0 py-1.5",children:[S,u]}),e[24]=S,e[25]=u,e[26]=C):C=e[26];let E;e[27]===n.tags?E=e[28]:(E=n.tags.map(Te),e[27]=n.tags,e[28]=E);let $;e[29]===E?$=e[30]:($=(0,s.jsx)("div",{className:"flex items-center gap-1 ml-2",children:E}),e[29]=E,e[30]=$);let D;e[31]!==c||e[32]!==n.name||e[33]!==n.tags||e[34]!==o?(D=c&&(0,s.jsxs)("div",{className:"flex gap-1 invisible group-hover:visible",children:[(0,s.jsx)(se,{packageName:n.name,onSuccess:o}),(0,s.jsx)(re,{packageName:n.name,tags:n.tags,onSuccess:o})]}),e[31]=c,e[32]=n.name,e[33]=n.tags,e[34]=o,e[35]=D):D=e[35];let T;e[36]!==P||e[37]!==f||e[38]!==w||e[39]!==C||e[40]!==$||e[41]!==D||e[42]!==b||e[43]!==v||e[44]!==_?(T=(0,s.jsxs)("div",{className:b,style:v,onClick:P,onKeyDown:f,tabIndex:0,role:"treeitem","aria-selected":!1,"aria-expanded":_,children:[w,C,$,D]}),e[36]=P,e[37]=f,e[38]=w,e[39]=C,e[40]=$,e[41]=D,e[42]=b,e[43]=v,e[44]=_,e[45]=T):T=e[45];let A;e[46]!==d||e[47]!==m||e[48]!==g||e[49]!==l||e[50]!==n.dependencies||e[51]!==r||e[52]!==o||e[53]!==a?(A=m&&g&&(0,s.jsx)("div",{role:"group",children:n.dependencies.map((N,z)=>(0,s.jsx)(ne,{nodeId:`${r}-${z}`,node:N,level:l+1,isTopLevel:!1,expandedNodes:d,onToggle:a,onSuccess:o},`${N.name}-${z}`))}),e[46]=d,e[47]=m,e[48]=g,e[49]=l,e[50]=n.dependencies,e[51]=r,e[52]=o,e[53]=a,e[54]=A):A=e[54];let L;return e[55]!==T||e[56]!==A?(L=(0,s.jsxs)("div",{children:[T,A]}),e[55]=T,e[56]=A,e[57]=L):L=e[57],L};function De(t,e){return t==="list"?"list":e?t||"tree":"list"}function Te(t,e){return t.kind==="cycle"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-orange-300 dark:border-orange-700 text-orange-700 dark:text-orange-300",title:"cycle",children:"cycle"},e):t.kind==="extra"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-blue-300 dark:border-blue-700 text-blue-700 dark:text-blue-300",title:t.value,children:t.value},e):t.kind==="group"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-green-300 dark:border-green-700 text-green-700 dark:text-green-300",title:t.value,children:t.value},e):null}export{Ce as default};
1
+ import{s as H}from"./chunk-LvLJmgfZ.js";import{d as ae,u as oe}from"./useEvent-DlWF5OMa.js";import{t as le}from"./react-BGmjiNul.js";import{qn as R}from"./cells-dG69fEtz.js";import"./react-dom-C9fstfnp.js";import{t as ie}from"./compiler-runtime-DeeZ7FnK.js";import{y as ce}from"./utils-Czt8B2GX.js";import{j as de}from"./config-CENq_7Pd.js";import{t as me}from"./jsx-runtime-DN_bIXfG.js";import{r as xe}from"./button-B8cGZzP5.js";import{t as K}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as V}from"./requests-C0HaHO6a.js";import{_ as pe}from"./select-D9lTzMzP.js";import{t as ue}from"./chevron-right-CqEd11Di.js";import{u as fe}from"./toDate-5JckKRQn.js";import{n as ge}from"./state-dz5q1XdV.js";import{t as q}from"./spinner-C1czjtp7.js";import{a as he}from"./input-B80Yt1uu.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as ve}from"./use-toast-Bzf3rpev.js";import"./Combination-D1TsGrBC.js";import{t as J}from"./tooltip-CvjcEpZC.js";import"./popover-DtnzNVk-.js";import{n as F}from"./error-banner-DvT0IGDZ.js";import{t as je}from"./copy-DRhpWiOq.js";import{i as be,n as Q,r as X,s as Y,t as ke}from"./useInstallPackage-RldLPyJs.js";import{n as ye}from"./useAsyncData-BJJJOr9W.js";import{a as Ne,i as W,n as we,o as Z,r as B,t as Se}from"./table--_20dwBZ.js";import{t as ee}from"./empty-state-B0XJ9ZUi.js";var G=ie(),I=H(le(),1);function _e(t){let e=t.trim();for(let r of["pip install","pip3 install","uv add","uv pip install","poetry add","conda install","pipenv install"])if(e.toLowerCase().startsWith(r.toLowerCase()))return e.slice(r.length).trim();return e}var s=H(me(),1),te=t=>{let e=(0,G.c)(9),{onClick:r,loading:n,children:l,className:x}=t;if(n){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)(q,{size:"small",className:"h-4 w-4 shrink-0 opacity-50"}),e[0]=c):c=e[0],c}let d;e[1]===x?d=e[2]:(d=K("px-2 h-full text-xs text-muted-foreground hover:text-foreground","invisible group-hover:visible",x),e[1]=x,e[2]=d);let a;e[3]===r?a=e[4]:(a=xe.stopPropagation(r),e[3]=r,e[4]=a);let o;return e[5]!==l||e[6]!==d||e[7]!==a?(o=(0,s.jsx)("button",{type:"button",className:d,onClick:a,children:l}),e[5]=l,e[6]=d,e[7]=a,e[8]=o):o=e[8],o},Ce=()=>{var w,S;let t=(0,G.c)(30),[e]=ce(),r=e.package_management.manager,{getDependencyTree:n,getPackageList:l}=V(),[x,d]=I.useState(null),a;t[0]!==n||t[1]!==l?(a=async()=>{let[u,C]=await Promise.all([l(),n()]);return{list:u.packages,tree:C.tree}},t[0]=n,t[1]=l,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o);let{data:c,error:m,refetch:j,isPending:g}=ye(a,o);if(g){let u;return t[5]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(q,{size:"medium",centered:!0}),t[5]=u):u=t[5],u}if(m){let u;return t[6]===m?u=t[7]:(u=(0,s.jsx)(F,{error:m}),t[6]=m,t[7]=u),u}let h=c.tree!=null,i;t[8]!==h||t[9]!==x?(i=De(x,h),t[8]=h,t[9]=x,t[10]=i):i=t[10];let f=i,p=(w=c.tree)==null?void 0:w.name,P=(S=c==null?void 0:c.tree)==null?void 0:S.version,y=p==="<root>",k;t[11]!==r||t[12]!==j?(k=(0,s.jsx)(Pe,{packageManager:r,onSuccess:j}),t[11]=r,t[12]=j,t[13]=k):k=t[13];let b;t[14]!==y||t[15]!==h||t[16]!==p||t[17]!==P||t[18]!==f?(b=h&&(0,s.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 border-b",children:[(0,s.jsxs)("div",{className:"flex gap-1",children:[(0,s.jsx)("button",{type:"button",className:K("px-2 py-1 text-xs rounded",f==="list"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>d("list"),children:"List"}),(0,s.jsx)("button",{type:"button",className:K("px-2 py-1 text-xs rounded",f==="tree"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>d("tree"),children:"Tree"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium",title:y?"sandbox":"project",children:y?"sandbox":"project"}),p&&!y&&(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:[p,P&&` v${P}`]})]})]}),t[14]=y,t[15]=h,t[16]=p,t[17]=P,t[18]=f,t[19]=b):b=t[19];let v;t[20]!==c.list||t[21]!==c.tree||t[22]!==m||t[23]!==j||t[24]!==f?(v=f==="list"?(0,s.jsx)(Ee,{packages:c.list,onSuccess:j}):(0,s.jsx)($e,{tree:c.tree,error:m,onSuccess:j}),t[20]=c.list,t[21]=c.tree,t[22]=m,t[23]=j,t[24]=f,t[25]=v):v=t[25];let _;return t[26]!==k||t[27]!==b||t[28]!==v?(_=(0,s.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[k,b,v]}),t[26]=k,t[27]=b,t[28]=v,t[29]=_):_=t[29],_},Pe=t=>{let e=(0,G.c)(40),{onSuccess:r,packageManager:n}=t,[l,x]=I.useState(""),{handleClick:d}=ge(),a=oe(Y),o=ae(Y),c,m;e[0]!==a||e[1]!==o?(c=()=>{a&&(x(a),o(null))},m=[a,o],e[0]=a,e[1]=o,e[2]=c,e[3]=m):(c=e[2],m=e[3]),I.useEffect(c,m);let{loading:j,handleInstallPackages:g}=ke(),h;e[4]===r?h=e[5]:(h=()=>{r(),x("")},e[4]=r,e[5]=h);let i=h,f;e[6]!==g||e[7]!==l||e[8]!==i?(f=()=>{g([_e(l)],i)},e[6]=g,e[7]=l,e[8]=i,e[9]=f):f=e[9];let p=f,P=`Install packages with ${n}...`,y;e[10]!==j||e[11]!==d?(y=j?(0,s.jsx)(q,{size:"small",className:"mr-2 h-4 w-4 shrink-0 opacity-50"}):(0,s.jsx)(J,{content:"Change package manager",children:(0,s.jsx)(R,{onClick:()=>d("packageManagementAndData"),className:"mr-2 h-4 w-4 shrink-0 opacity-50 hover:opacity-80 cursor-pointer"})}),e[10]=j,e[11]=d,e[12]=y):y=e[12];let k;e[13]===p?k=e[14]:(k=U=>{U.key==="Enter"&&(U.preventDefault(),p())},e[13]=p,e[14]=k);let b;e[15]===Symbol.for("react.memo_cache_sentinel")?(b=U=>x(U.target.value),e[15]=b):b=e[15];let v;e[16]!==l||e[17]!==P||e[18]!==y||e[19]!==k?(v=(0,s.jsx)(he,{placeholder:P,id:be,icon:y,rootClassName:"flex-1 border-none",value:l,onKeyDown:k,onChange:b}),e[16]=l,e[17]=P,e[18]=y,e[19]=k,e[20]=v):v=e[20];let _;e[21]===Symbol.for("react.memo_cache_sentinel")?(_=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Package name:"}),e[21]=_):_=e[21];let w,S;e[22]===Symbol.for("react.memo_cache_sentinel")?(w=(0,s.jsxs)("div",{children:[_," A package name; this will install the latest version.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: httpx"})]}),S=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Package and version:"}),e[22]=w,e[23]=S):(w=e[22],S=e[23]);let u,C;e[24]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsxs)("div",{children:[S," ","A package with a specific version or version range.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Examples: httpx==0.27.0, httpx>=0.27.0"})]}),C=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Git:"}),e[24]=u,e[25]=C):(u=e[24],C=e[25]);let E,$;e[26]===Symbol.for("react.memo_cache_sentinel")?(E=(0,s.jsxs)("div",{children:[C," A Git repository",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: git+https://github.com/encode/httpx"})]}),$=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"URL:"}),e[26]=E,e[27]=$):(E=e[26],$=e[27]);let D,T;e[28]===Symbol.for("react.memo_cache_sentinel")?(D=(0,s.jsxs)("div",{children:[$," A remote wheel or source distribution.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: https://example.com/httpx-0.27.0.tar.gz"})]}),T=(0,s.jsx)("span",{className:"font-bold tracking-wide",children:"Path:"}),e[28]=D,e[29]=T):(D=e[28],T=e[29]);let A;e[30]===Symbol.for("react.memo_cache_sentinel")?(A=(0,s.jsx)(J,{delayDuration:300,side:"left",align:"start",content:(0,s.jsxs)("div",{className:"text-sm flex flex-col w-full max-w-[360px]",children:["Packages are installed using the package manager specified in your user configuration. Depending on your package manager, you can install packages with various formats:",(0,s.jsxs)("div",{className:"flex flex-col gap-2 mt-2",children:[w,u,E,D,(0,s.jsxs)("div",{children:[T," A local wheel, source distribution, or project directory.",(0,s.jsx)("div",{className:"text-muted-foreground",children:"Example: /example/foo-0.1.0-py3-none-any.whl"})]})]})]}),children:(0,s.jsx)(fe,{className:"h-4 w-4 cursor-help text-muted-foreground hover:text-foreground bg-transparent"})}),e[30]=A):A=e[30];let L=l&&"bg-accent text-accent-foreground",N;e[31]===L?N=e[32]:(N=K("float-right px-2 m-0 h-full text-sm text-secondary-foreground ml-2",L,"disabled:cursor-not-allowed disabled:opacity-50"),e[31]=L,e[32]=N);let z=!l,M;e[33]!==p||e[34]!==N||e[35]!==z?(M=(0,s.jsx)("button",{type:"button",className:N,onClick:p,disabled:z,children:"Add"}),e[33]=p,e[34]=N,e[35]=z,e[36]=M):M=e[36];let O;return e[37]!==M||e[38]!==v?(O=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[v,A,M]}),e[37]=M,e[38]=v,e[39]=O):O=e[39],O},Ee=t=>{let e=(0,G.c)(9),{onSuccess:r,packages:n}=t;if(n.length===0){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,s.jsx)(ee,{title:"No packages",description:"No packages are installed in this environment.",icon:(0,s.jsx)(R,{})}),e[0]=a):a=e[0],a}let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=(0,s.jsx)(Ne,{children:(0,s.jsxs)(Z,{children:[(0,s.jsx)(W,{children:"Name"}),(0,s.jsx)(W,{children:"Version"}),(0,s.jsx)(W,{})]})}),e[1]=l):l=e[1];let x;if(e[2]!==r||e[3]!==n){let a;e[5]===r?a=e[6]:(a=o=>(0,s.jsxs)(Z,{className:"group",onClick:async()=>{await je(`${o.name}==${o.version}`),ve({title:"Copied to clipboard"})},children:[(0,s.jsx)(B,{children:o.name}),(0,s.jsx)(B,{children:o.version}),(0,s.jsxs)(B,{className:"flex justify-end",children:[(0,s.jsx)(se,{packageName:o.name,onSuccess:r}),(0,s.jsx)(re,{packageName:o.name,onSuccess:r})]})]},o.name),e[5]=r,e[6]=a),x=n.map(a),e[2]=r,e[3]=n,e[4]=x}else x=e[4];let d;return e[7]===x?d=e[8]:(d=(0,s.jsxs)(Se,{className:"overflow-auto flex-1",children:[l,(0,s.jsx)(we,{children:x})]}),e[7]=x,e[8]=d),d},se=({packageName:t,onSuccess:e})=>{let[r,n]=I.useState(!1),{addPackage:l}=V();return de()?null:(0,s.jsx)(te,{onClick:async()=>{try{n(!0);let x=await l({package:t,upgrade:!0});x.success?(e(),X(t)):X(t,x.error)}finally{n(!1)}},loading:r,children:"Upgrade"})},re=({packageName:t,tags:e,onSuccess:r})=>{let[n,l]=I.useState(!1),{removePackage:x}=V();return(0,s.jsx)(te,{onClick:async()=>{try{l(!0);let d=e==null?void 0:e.some(o=>o.kind==="group"&&o.value==="dev"),a=await x({package:t,dev:d});a.success?(r(),Q(t)):Q(t,a.error)}finally{l(!1)}},loading:n,children:"Remove"})},$e=t=>{let e=(0,G.c)(18),{tree:r,error:n,onSuccess:l}=t,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=new Set,e[0]=x):x=e[0];let[d,a]=I.useState(x),o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{a(new Set)},e[1]=o):o=e[1];let c;if(e[2]===r?c=e[3]:(c=[r],e[2]=r,e[3]=c),I.useEffect(o,c),n){let i;return e[4]===n?i=e[5]:(i=(0,s.jsx)(F,{error:n}),e[4]=n,e[5]=i),i}if(!r){let i;return e[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(q,{size:"medium",centered:!0}),e[6]=i):i=e[6],i}if(r.dependencies.length===0){let i;return e[7]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(ee,{title:"No dependencies",description:"No package dependencies found in this environment.",icon:(0,s.jsx)(R,{})}),e[7]=i):i=e[7],i}let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=i=>{a(f=>{let p=new Set(f);return p.has(i)?p.delete(i):p.add(i),p})},e[8]=m):m=e[8];let j=m,g;if(e[9]!==d||e[10]!==l||e[11]!==r.dependencies){let i;e[13]!==d||e[14]!==l?(i=(f,p)=>(0,s.jsx)("div",{className:"border-b",children:(0,s.jsx)(ne,{nodeId:`root-${p}`,node:f,level:0,isTopLevel:!0,expandedNodes:d,onToggle:j,onSuccess:l})},`${f.name}-${p}`),e[13]=d,e[14]=l,e[15]=i):i=e[15],g=r.dependencies.map(i),e[9]=d,e[10]=l,e[11]=r.dependencies,e[12]=g}else g=e[12];let h;return e[16]===g?h=e[17]:(h=(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsx)("div",{children:g})}),e[16]=g,e[17]=h),h},ne=t=>{let e=(0,G.c)(58),{nodeId:r,node:n,level:l,isTopLevel:x,expandedNodes:d,onToggle:a,onSuccess:o}=t,c=x===void 0?!1:x,m=n.dependencies.length>0,j;e[0]!==d||e[1]!==r?(j=d.has(r),e[0]=d,e[1]=r,e[2]=j):j=e[2];let g=j,h=c?0:16+l*16,i;e[3]!==m||e[4]!==r||e[5]!==a?(i=N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),m&&a(r))},e[3]=m,e[4]=r,e[5]=a,e[6]=i):i=e[6];let f=i,p;e[7]!==m||e[8]!==r||e[9]!==a?(p=N=>{N.stopPropagation(),m&&a(r)},e[7]=m,e[8]=r,e[9]=a,e[10]=p):p=e[10];let P=p,y=m&&"select-none",k=c?"px-2 py-0.5":"",b;e[11]!==y||e[12]!==k?(b=K("flex items-center group cursor-pointer text-sm whitespace-nowrap","hover:bg-(--slate-2) focus:bg-(--slate-2) focus:outline-hidden",y,k),e[11]=y,e[12]=k,e[13]=b):b=e[13];let v;e[14]!==h||e[15]!==c?(v=c?{}:{paddingLeft:`${h}px`},e[14]=h,e[15]=c,e[16]=v):v=e[16];let _=m?g:void 0,w;e[17]!==m||e[18]!==g?(w=m?g?(0,s.jsx)(pe,{className:"w-4 h-4 mr-2 shrink-0"}):(0,s.jsx)(ue,{className:"w-4 h-4 mr-2 shrink-0"}):(0,s.jsx)("div",{className:"w-4 mr-2 shrink-0"}),e[17]=m,e[18]=g,e[19]=w):w=e[19];let S;e[20]===n.name?S=e[21]:(S=(0,s.jsx)("span",{className:"font-medium truncate",children:n.name}),e[20]=n.name,e[21]=S);let u;e[22]===n.version?u=e[23]:(u=n.version&&(0,s.jsxs)("span",{className:"text-muted-foreground text-xs",children:["v",n.version]}),e[22]=n.version,e[23]=u);let C;e[24]!==S||e[25]!==u?(C=(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0 py-1.5",children:[S,u]}),e[24]=S,e[25]=u,e[26]=C):C=e[26];let E;e[27]===n.tags?E=e[28]:(E=n.tags.map(Te),e[27]=n.tags,e[28]=E);let $;e[29]===E?$=e[30]:($=(0,s.jsx)("div",{className:"flex items-center gap-1 ml-2",children:E}),e[29]=E,e[30]=$);let D;e[31]!==c||e[32]!==n.name||e[33]!==n.tags||e[34]!==o?(D=c&&(0,s.jsxs)("div",{className:"flex gap-1 invisible group-hover:visible",children:[(0,s.jsx)(se,{packageName:n.name,onSuccess:o}),(0,s.jsx)(re,{packageName:n.name,tags:n.tags,onSuccess:o})]}),e[31]=c,e[32]=n.name,e[33]=n.tags,e[34]=o,e[35]=D):D=e[35];let T;e[36]!==P||e[37]!==f||e[38]!==w||e[39]!==C||e[40]!==$||e[41]!==D||e[42]!==b||e[43]!==v||e[44]!==_?(T=(0,s.jsxs)("div",{className:b,style:v,onClick:P,onKeyDown:f,tabIndex:0,role:"treeitem","aria-selected":!1,"aria-expanded":_,children:[w,C,$,D]}),e[36]=P,e[37]=f,e[38]=w,e[39]=C,e[40]=$,e[41]=D,e[42]=b,e[43]=v,e[44]=_,e[45]=T):T=e[45];let A;e[46]!==d||e[47]!==m||e[48]!==g||e[49]!==l||e[50]!==n.dependencies||e[51]!==r||e[52]!==o||e[53]!==a?(A=m&&g&&(0,s.jsx)("div",{role:"group",children:n.dependencies.map((N,z)=>(0,s.jsx)(ne,{nodeId:`${r}-${z}`,node:N,level:l+1,isTopLevel:!1,expandedNodes:d,onToggle:a,onSuccess:o},`${N.name}-${z}`))}),e[46]=d,e[47]=m,e[48]=g,e[49]=l,e[50]=n.dependencies,e[51]=r,e[52]=o,e[53]=a,e[54]=A):A=e[54];let L;return e[55]!==T||e[56]!==A?(L=(0,s.jsxs)("div",{children:[T,A]}),e[55]=T,e[56]=A,e[57]=L):L=e[57],L};function De(t,e){return t==="list"?"list":e?t||"tree":"list"}function Te(t,e){return t.kind==="cycle"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-orange-300 dark:border-orange-700 text-orange-700 dark:text-orange-300",title:"cycle",children:"cycle"},e):t.kind==="extra"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-blue-300 dark:border-blue-700 text-blue-700 dark:text-blue-300",title:t.value,children:t.value},e):t.kind==="group"?(0,s.jsx)("div",{className:"items-center border px-2 py-0.5 text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium border-green-300 dark:border-green-700 text-green-700 dark:text-green-300",title:t.value,children:t.value},e):null}export{Ce as default};