@marimo-team/frontend 0.24.3-dev37 → 0.24.3-dev39
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/{ConnectedDataExplorerComponent-CsA_EqMs.js → ConnectedDataExplorerComponent-B52ZeTyE.js} +1 -1
- package/dist/assets/{LazyAnyLanguageCodeMirror-jAV-LD6v.js → LazyAnyLanguageCodeMirror-DLXghRUF.js} +2 -2
- package/dist/assets/{RunButton-Bo4tYCqW.js → RunButton-BQonXEus.js} +7 -7
- package/dist/assets/{abnfDiagram-VCTEODGH-Dpe20TKk.js → abnfDiagram-VCTEODGH-DAeh_Fhj.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CkjbbM3K.js → add-cell-with-ai-BqPNrEkg.js} +10 -10
- package/dist/assets/{agent-panel-CJ__bZ2U.js → agent-panel-0QpsWJ6N.js} +4 -4
- package/dist/assets/{ai-model-dropdown-CFjRFxPs.js → ai-model-dropdown-JyOkbRgs.js} +2 -2
- package/dist/assets/{any-language-editor-CVvssaI-.js → any-language-editor-DktznOiF.js} +1 -1
- package/dist/assets/app-config-button-hlzBggjV.js +1 -0
- package/dist/assets/{architectureDiagram-5GKGNRK7-LjPvmKXz.js → architectureDiagram-5GKGNRK7-CLV_t53p.js} +1 -1
- package/dist/assets/{blockDiagram-I7D4REHJ-Dcw3YZc7.js → blockDiagram-I7D4REHJ-4NgsF8dG.js} +1 -1
- package/dist/assets/cache-panel-JD-3Sv8N.js +1 -0
- package/dist/assets/{cells-DcI93as7.js → cells-CP3hwqVX.js} +5 -5
- package/dist/assets/{chat-display-BxoFsvsk.js → chat-display-f6K2vP1M.js} +1 -1
- package/dist/assets/{chat-panel-OPXY9xqa.js → chat-panel-CPSz0Ygy.js} +3 -3
- package/dist/assets/{chat-ui-B7Op0m5y.js → chat-ui-DJskwz2p.js} +3 -3
- package/dist/assets/{chunk-IMKFNOWR-BhKJw_u0.js → chunk-IMKFNOWR-gOOmxUZk.js} +1 -1
- package/dist/assets/{chunk-SHT3W25Y-BLq6CG7S.js → chunk-SHT3W25Y-Vz0rwhW1.js} +1 -1
- package/dist/assets/{chunk-SVP7TREG-DYlo9xS8.js → chunk-SVP7TREG-DXVPjbAe.js} +1 -1
- package/dist/assets/{chunk-TICWLB2K-D5DDJ9ap.js → chunk-TICWLB2K-DwIBziwV.js} +1 -1
- package/dist/assets/{classDiagram-ZZMXUADV-Cpgr9tEc.js → classDiagram-ZZMXUADV-CyUk9nSP.js} +1 -1
- package/dist/assets/{classDiagram-v2-VYDZK3BY-Cpgr9tEc.js → classDiagram-v2-VYDZK3BY-CyUk9nSP.js} +1 -1
- package/dist/assets/{command-palette-BBhAYPL7.js → command-palette-B8zE6Ssx.js} +1 -1
- package/dist/assets/{common-DGrIhswR.js → common-CHWS0pGT.js} +1 -1
- package/dist/assets/{components-BzThHPL8.js → components-B8fYemsk.js} +1 -1
- package/dist/assets/{components-XxbsL-NL.js → components-v8nHOj_y.js} +1 -1
- package/dist/assets/config-CBLBAU5c.js +1 -0
- package/dist/assets/{cynefinDiagram-5FMLGOSQ-cA8HNBWT.js → cynefinDiagram-5FMLGOSQ-DgdyjbQj.js} +1 -1
- package/dist/assets/{dagre-Cgh-CozI.js → dagre-CPZ1FUhr.js} +1 -1
- package/dist/assets/{dagre-GXQ25YYZ-DMu-4gaX.js → dagre-GXQ25YYZ-D-zMjnRl.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-o8dOZGaO.js → data-grid-overlay-editor-CFK1KT2V.js} +1 -1
- package/dist/assets/{dependency-graph-panel-DSfkNvTe.js → dependency-graph-panel-D_AqnRMs.js} +3 -3
- package/dist/assets/{diagram-S7CK7UJ4-0g042cjW.js → diagram-S7CK7UJ4-DgflUEq5.js} +1 -1
- package/dist/assets/{diagram-UQ7AKVKN-CoeYBFyV.js → diagram-UQ7AKVKN-m3R2UDJM.js} +1 -1
- package/dist/assets/{diagram-VX7I27RA-CIbkeHtW.js → diagram-VX7I27RA-Blh2o8ik.js} +1 -1
- package/dist/assets/{diagram-Z3DM3KII-VNvdSBDs.js → diagram-Z3DM3KII-C4PcKTD6.js} +1 -1
- package/dist/assets/{documentation-panel-BYssFEdu.js → documentation-panel-CoSoUakB.js} +1 -1
- package/dist/assets/{ebnfDiagram-PWID7BFC-gn-sVFpd.js → ebnfDiagram-PWID7BFC-BGtaPv5f.js} +1 -1
- package/dist/assets/edit-page-Qqpz6lsF.js +184 -0
- package/dist/assets/{erDiagram-RLTQ6QDP-CHEeDG3E.js → erDiagram-RLTQ6QDP-D8JVfIur.js} +1 -1
- package/dist/assets/{error-panel-BEyUxPKv.js → error-panel-CdqCDhu4.js} +1 -1
- package/dist/assets/{file-explorer-panel-BkidiqtU.js → file-explorer-panel-DcWEU9mt.js} +1 -1
- package/dist/assets/{file-name-input-DRW2aJnO.js → file-name-input-BQw4Jo-i.js} +1 -1
- package/dist/assets/{flowDiagram-HODETNUW-juSojTPv.js → flowDiagram-HODETNUW-DMus6jv_.js} +1 -1
- package/dist/assets/{gallery-page-C8KW0aF4.js → gallery-page-_mH_5ChL.js} +1 -1
- package/dist/assets/{glide-data-editor-C-EXft2Q.js → glide-data-editor-CFcsGnit.js} +4 -4
- package/dist/assets/{graphlib-rnp4xs81.js → graphlib-Sg3tw7ov.js} +1 -1
- package/dist/assets/has-DXmEv5FL.js +1 -0
- package/dist/assets/{home-page-CG6vbN4B.js → home-page-hKIN8akr.js} +2 -2
- package/dist/assets/index-B8OSEJVD.css +2 -0
- package/dist/assets/index-qY3lu9r4.js +62 -0
- package/dist/assets/{infoDiagram-27XIBGKW-C4VdBugr.js → infoDiagram-27XIBGKW-DYsYx_PP.js} +1 -1
- package/dist/assets/{ishikawaDiagram-5VMMS53U-BS-QMwse.js → ishikawaDiagram-5VMMS53U-D1Rpw_lT.js} +1 -1
- package/dist/assets/{kanban-definition-UXKFOSKX-HVONQMlk.js → kanban-definition-UXKFOSKX-CGxkIydR.js} +1 -1
- package/dist/assets/{logs-panel-BNeI_Aah.js → logs-panel-C4k8cMGx.js} +1 -1
- package/dist/assets/{mermaid-LovyOmSB.js → mermaid-BLxkTwc2.js} +4 -4
- package/dist/assets/{mindmap-definition-YA3MSWOX-DyBY39cg.js → mindmap-definition-YA3MSWOX-BiuGfVWP.js} +1 -1
- package/dist/assets/{number-overlay-editor-CwRpjoZm.js → number-overlay-editor-Ck2sCaO7.js} +1 -1
- package/dist/assets/{outline-panel-bDklL4uf.js → outline-panel-Z6FAHcVy.js} +1 -1
- package/dist/assets/packages-panel-CgL87fcO.js +1 -0
- package/dist/assets/panels-BSvT-tNo.js +33 -0
- package/dist/assets/{pegDiagram-XKGWAZYB-kQLDO-kO.js → pegDiagram-XKGWAZYB-Ci7mDvEz.js} +1 -1
- package/dist/assets/{pieDiagram-E7YTZNPT-DJsFtYCp.js → pieDiagram-E7YTZNPT-DZbp0Icu.js} +1 -1
- package/dist/assets/{process-output-CVZMao0e.js → process-output-COWXLjOr.js} +1 -1
- package/dist/assets/{railroadDiagram-O6MQD6OU-Bcf0CSqH.js → railroadDiagram-O6MQD6OU-CzXIAsPx.js} +1 -1
- package/dist/assets/{requirementDiagram-BXWQKSXE-AGcJcQbq.js → requirementDiagram-BXWQKSXE-DsIrXWi5.js} +1 -1
- package/dist/assets/{reveal-component-Dx_L-cIu.js → reveal-component-CnW6op6f.js} +3 -3
- package/dist/assets/run-page-B_JOrxWI.js +1 -0
- package/dist/assets/{scratchpad-panel-DfvfNJDq.js → scratchpad-panel-DktgeGw9.js} +1 -1
- package/dist/assets/{secrets-panel-CZbY8wgN.js → secrets-panel-Di8040gJ.js} +1 -1
- package/dist/assets/{sequenceDiagram-WJ2MYXX4-Cokf6L0R.js → sequenceDiagram-WJ2MYXX4-YEyNvwCq.js} +1 -1
- package/dist/assets/{session-panel-Cmsewdss.js → session-panel-FmN2Ix-x.js} +1 -1
- package/dist/assets/{snippets-panel-B_XreO-C.js → snippets-panel-BmXCx6yt.js} +1 -1
- package/dist/assets/{stateDiagram-D77RDMKH-CdkNCpaH.js → stateDiagram-D77RDMKH-B3Ja9Vk7.js} +1 -1
- package/dist/assets/{stateDiagram-v2-MP3YSRHH-CpudHHc4.js → stateDiagram-v2-MP3YSRHH-Bn7tPa_c.js} +1 -1
- package/dist/assets/{swimlanes-42K2YHIH-_8ELJqVB.js → swimlanes-42K2YHIH-DTgRQfmF.js} +1 -1
- package/dist/assets/{swimlanesDiagram-VR7AAH4N-qd1AHOJZ.js → swimlanesDiagram-VR7AAH4N-DKJ2qI6J.js} +1 -1
- package/dist/assets/{swiper-component-DY4M2PJo.js → swiper-component-CYrf6kVu.js} +1 -1
- package/dist/assets/{terminal-CTP4KOwN.js → terminal-CBss1CM1.js} +2 -2
- package/dist/assets/{timeline-definition-24CTP7MA-donBeXb2.js → timeline-definition-24CTP7MA-CKo5fHyB.js} +1 -1
- package/dist/assets/{tracing-DgHfkjPY.js → tracing-BBufraD6.js} +1 -1
- package/dist/assets/{tracing-panel-Qiu_S5kw.js → tracing-panel-lUoyxh7t.js} +2 -2
- package/dist/assets/{useCellActionButton-BCWgCI24.js → useCellActionButton-VJCYmjUy.js} +1 -1
- package/dist/assets/{vega-component-CC6LYLy6.js → vega-component-BUKpKmrE.js} +1 -1
- package/dist/assets/{vega-embed-container-CMoER1M0.js → vega-embed-container-BgSrb2ci.js} +1 -1
- package/dist/assets/{vennDiagram-4TSXK5OY-BgCWyFeF.js → vennDiagram-4TSXK5OY-CA_b78pk.js} +1 -1
- package/dist/assets/{wardleyDiagram-VM6X3IG4-rkxibRUc.js → wardleyDiagram-VM6X3IG4-CT2UYDxA.js} +1 -1
- package/dist/assets/{xychartDiagram-S5SC5T6Z-Bfs-6MBb.js → xychartDiagram-S5SC5T6Z-BOvLySSM.js} +1 -1
- package/dist/index.html +5 -5
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +7 -0
- package/src/components/editor/alerts/connecting-alert.tsx +1 -66
- package/src/components/editor/alerts/connection-notice.tsx +140 -0
- package/src/components/editor/app-container.tsx +9 -3
- package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +114 -7
- package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +165 -0
- package/src/components/editor/chrome/panels/packages-panel.tsx +93 -166
- package/src/components/editor/chrome/panels/sandbox-controller.tsx +106 -0
- package/src/components/editor/chrome/panels/sandbox-panel.tsx +173 -0
- package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +3 -1
- package/src/components/editor/header/__tests__/status.test.tsx +8 -20
- package/src/components/editor/header/status.tsx +5 -3
- package/src/components/editor/renderers/cell-array.tsx +1 -5
- package/src/core/MarimoApp.tsx +0 -2
- package/src/core/edit-app.tsx +8 -5
- package/src/core/errors/state.ts +1 -2
- package/src/core/islands/bootstrap.ts +1 -0
- package/src/core/islands/bridge.ts +3 -0
- package/src/core/network/connection-notice.ts +84 -0
- package/src/core/network/requests-lazy.ts +3 -0
- package/src/core/network/requests-network.ts +12 -0
- package/src/core/network/requests-static.ts +3 -0
- package/src/core/network/requests-toasting.tsx +3 -0
- package/src/core/network/resolve.ts +2 -1
- package/src/core/network/types.ts +7 -0
- package/src/core/packages/__tests__/usePackageAction.test.tsx +129 -0
- package/src/core/packages/__tests__/useSandboxController.test.tsx +165 -0
- package/src/core/packages/package-data.ts +35 -0
- package/src/core/packages/sandbox-state.ts +15 -0
- package/src/core/packages/toast-components.tsx +11 -0
- package/src/core/packages/useInstallPackage.ts +1 -1
- package/src/core/packages/usePackageAction.ts +51 -0
- package/src/core/packages/usePackageDependencies.ts +22 -0
- package/src/core/packages/useSandboxController.ts +188 -0
- package/src/core/run-app.tsx +2 -0
- package/src/core/wasm/bridge.ts +11 -0
- package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +212 -2
- package/src/core/websocket/types.ts +11 -1
- package/src/core/websocket/useMarimoKernelConnection.tsx +43 -8
- package/src/stories/sandbox.stories.tsx +308 -0
- package/dist/assets/app-config-button-BgRYYpoH.js +0 -1
- package/dist/assets/cache-panel-DP6AuApU.js +0 -1
- package/dist/assets/config-D4PQ0ExB.js +0 -1
- package/dist/assets/edit-page-B5T44oKE.js +0 -184
- package/dist/assets/has-BPYf0PV2.js +0 -1
- package/dist/assets/index-Bit3pmfj.css +0 -2
- package/dist/assets/index-D3ydSabW.js +0 -62
- package/dist/assets/packages-panel-BvnEJCqo.js +0 -1
- package/dist/assets/panels-DvYa8VJO.js +0 -33
- package/dist/assets/run-page-BIX2SnOg.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t,u as n}from"./useEvent-Dc9HkKI2.js";import{t as r}from"./react-CUdNIagt.js";import{oa as i}from"./cells-DcI93as7.js";import{t as a}from"./compiler-runtime-BQ9S8nyo.js";import{w as o}from"./utils-B3E7otfg.js";import{r as s}from"./ai-model-dropdown-CFjRFxPs.js";import{N as c}from"./config-D4PQ0ExB.js";import{t as l}from"./cn-ldLVeaqm.js";import{t as u}from"./jsx-runtime-B74pBk57.js";import{t as d}from"./tooltip-Dnxk1tcQ.js";import{r as f}from"./button-BoklZTGL.js";import{r as p}from"./requests-yTHMxhVa.js";import{a as m}from"./useNumberFormatter-C4-_TnkF.js";import{t as h}from"./chevron-right-DOPs2jx8.js";import{u as g}from"./toDate-BbJ1_N2T.js";import{a as _}from"./input-DPJmbuuZ.js";import{t as v}from"./use-toast-CC89xOwH.js";import{n as y}from"./useAsyncData-DucTwMkf.js";import{n as b}from"./copy-BhJktFeI.js";import{$n as x,$r as S,Hn as C,Mr as w,Pr as T,Qn as E,Sn as D,Yn as O,Zn as k,_n as A,bn as j,vn as M,xn as N,yn as P}from"./index-D3ydSabW.js";import{t as F}from"./empty-state-CzxjZqGW.js";var I=e(r(),1),L=a();function ee(e){let t=e.trim();for(let e of[`pip install`,`pip3 install`,`uv add`,`uv pip install`,`poetry add`,`conda install`,`pipenv install`])if(t.toLowerCase().startsWith(e.toLowerCase()))return t.slice(e.length).trim();return t}var R=u(),z=e=>{let t=(0,L.c)(9),{onClick:n,loading:r,children:i,className:a}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(S,{size:`small`,className:`h-4 w-4 shrink-0 opacity-50`}),t[0]=e):e=t[0],e}let o;t[1]===a?o=t[2]:(o=l(`px-2 h-full text-xs text-muted-foreground hover:text-foreground`,`invisible group-hover:visible`,a),t[1]=a,t[2]=o);let s;t[3]===n?s=t[4]:(s=f.stopPropagation(n),t[3]=n,t[4]=s);let c;return t[5]!==i||t[6]!==o||t[7]!==s?(c=(0,R.jsx)(`button`,{type:`button`,className:o,onClick:s,children:i}),t[5]=i,t[6]=o,t[7]=s,t[8]=c):c=t[8],c},B=()=>{let e=(0,L.c)(34),[t]=o(),n=t.package_management.manager,{getDependencyTree:r,getPackageList:i}=p(),[a,s]=I.useState(null),c;e[0]!==r||e[1]!==i?(c=async()=>{let e=await r();return e.context.kind===`sandbox`?{list:[],context:e.context,tree:e.tree}:{list:(await i()).packages,context:e.context,tree:e.tree}},e[0]=r,e[1]=i,e[2]=c):c=e[2];let u;e[3]===n?u=e[4]:(u=[n],e[3]=n,e[4]=u);let{data:d,error:f,refetch:m,isPending:h}=y(c,u);if(h){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(S,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}if(f){let t;return e[6]===f?t=e[7]:(t=(0,R.jsx)(C,{error:f}),e[6]=f,e[7]=t),t}let g=d.tree!=null,_=d.tree?.name,v=d?.tree?.version,b=d.context.kind===`sandbox`?d.context.backend:null,x=b!==null,w;e[8]!==x||e[9]!==g||e[10]!==a?(w=x?`tree`:q(a,g),e[8]=x,e[9]=g,e[10]=a,e[11]=w):w=e[11];let T=w,E=b?`${b} sandbox`:_&&_!==`<root>`?`project`:`environment`,D=b?`Dependencies are managed by the ${b} sandbox selected when marimo started.`:E,O;e[12]!==d.context||e[13]!==m?(O=(0,R.jsx)(V,{context:d.context,onSuccess:m}),e[12]=d.context,e[13]=m,e[14]=O):O=e[14];let k;e[15]!==x||e[16]!==g||e[17]!==_||e[18]!==E||e[19]!==D||e[20]!==v||e[21]!==T?(k=(g||x)&&(0,R.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1 border-b`,children:[g&&!x?(0,R.jsxs)(`div`,{className:`flex gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,className:l(`px-2 py-1 text-xs rounded`,T===`list`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>s(`list`),children:`List`}),(0,R.jsx)(`button`,{type:`button`,className:l(`px-2 py-1 text-xs rounded`,T===`tree`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>s(`tree`),children:`Tree`})]}):(0,R.jsx)(`div`,{}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.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:D,children:E}),_&&!x&&(0,R.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[_,v&&` v${v}`]})]})]}),e[15]=x,e[16]=g,e[17]=_,e[18]=E,e[19]=D,e[20]=v,e[21]=T,e[22]=k):k=e[22];let A;e[23]!==d.list||e[24]!==d.tree||e[25]!==f||e[26]!==m||e[27]!==b||e[28]!==T?(A=T===`list`?(0,R.jsx)(H,{packages:d.list,onSuccess:m}):(0,R.jsx)(G,{tree:d.tree,error:f,sandboxBackend:b,onSuccess:m}),e[23]=d.list,e[24]=d.tree,e[25]=f,e[26]=m,e[27]=b,e[28]=T,e[29]=A):A=e[29];let j;return e[30]!==O||e[31]!==k||e[32]!==A?(j=(0,R.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[O,k,A]}),e[30]=O,e[31]=k,e[32]=A,e[33]=j):j=e[33],j},V=e=>{let r=(0,L.c)(52),{onSuccess:a,context:o}=e,[c,u]=I.useState(``),{handleClick:f}=s(),p=o.kind===`sandbox`,m=p?o.backend:o.name,h=t(T),v=n(T),y,b;r[0]!==h||r[1]!==v?(y=()=>{h&&(u(h),v(null))},b=[h,v],r[0]=h,r[1]=v,r[2]=y,r[3]=b):(y=r[2],b=r[3]),I.useEffect(y,b);let{loading:x,handleInstallPackages:C}=O(),E;r[4]===a?E=r[5]:(E=()=>{a(),u(``)},r[4]=a,r[5]=E);let D=E,k;r[6]!==C||r[7]!==c||r[8]!==D?(k=()=>{let e=ee(c);C([e],D)},r[6]=C,r[7]=c,r[8]=D,r[9]=k):k=r[9];let A=k,j=p?`Add packages to ${m} sandbox...`:`Install packages with ${m}...`,M;r[10]!==p||r[11]!==x||r[12]!==f||r[13]!==m?(M=x?(0,R.jsx)(S,{size:`small`,className:`mr-2 h-4 w-4 shrink-0 opacity-50`}):p?(0,R.jsx)(i,{"aria-hidden":`true`,className:`mr-2 h-4 w-4 shrink-0 opacity-50`}):(0,R.jsx)(d,{content:`Change package manager (currently ${m})`,children:(0,R.jsx)(`button`,{type:`button`,"aria-label":`Change package manager`,onClick:()=>f(`packageManagementAndData`),className:`pointer-events-auto mr-2 rounded-sm opacity-50 hover:opacity-80 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,children:(0,R.jsx)(i,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0`})})}),r[10]=p,r[11]=x,r[12]=f,r[13]=m,r[14]=M):M=r[14];let N;r[15]===A?N=r[16]:(N=e=>{e.key===`Enter`&&(e.preventDefault(),A())},r[15]=A,r[16]=N);let P;r[17]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),r[17]=P):P=r[17];let F;r[18]!==c||r[19]!==j||r[20]!==M||r[21]!==N?(F=(0,R.jsx)(_,{placeholder:j,id:w,icon:M,rootClassName:`flex-1 border-none`,value:c,onKeyDown:N,onChange:P}),r[18]=c,r[19]=j,r[20]=M,r[21]=N,r[22]=F):F=r[22];let z;r[23]!==p||r[24]!==m?(z=p?(0,R.jsxs)(`span`,{children:[`Packages are recorded in this notebook's inline metadata and synchronized with its `,m,` sandbox. To switch backends, restart marimo with a different --sandbox option.`]}):(0,R.jsxs)(`span`,{children:[`Packages are installed using `,m,`, selected in your user configuration.`]}),r[23]=p,r[24]=m,r[25]=z):z=r[25];let B;r[26]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,R.jsx)(`span`,{className:`mt-2`,children:`You can install packages with various formats:`}),r[26]=B):B=r[26];let V;r[27]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Package name:`}),r[27]=V):V=r[27];let H,U;r[28]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,R.jsxs)(`div`,{children:[V,` A package name; this will install the latest version.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: httpx`})]}),U=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Package and version:`}),r[28]=H,r[29]=U):(H=r[28],U=r[29]);let W,G;r[30]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,R.jsxs)(`div`,{children:[U,` `,`A package with a specific version or version range.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Examples: httpx==0.27.0, httpx>=0.27.0`})]}),G=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Git:`}),r[30]=W,r[31]=G):(W=r[30],G=r[31]);let K,q;r[32]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,R.jsxs)(`div`,{children:[G,` A Git repository`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: git+https://github.com/encode/httpx`})]}),q=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`URL:`}),r[32]=K,r[33]=q):(K=r[32],q=r[33]);let J,Y;r[34]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,R.jsxs)(`div`,{children:[q,` A remote wheel or source distribution.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: https://example.com/httpx-0.27.0.tar.gz`})]}),Y=(0,R.jsx)(`span`,{className:`font-bold tracking-wide`,children:`Path:`}),r[34]=J,r[35]=Y):(J=r[34],Y=r[35]);let te;r[36]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 mt-2`,children:[H,W,K,J,(0,R.jsxs)(`div`,{children:[Y,` A local wheel, source distribution, or project directory.`,(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:`Example: /example/foo-0.1.0-py3-none-any.whl`})]})]}),r[36]=te):te=r[36];let X;r[37]===z?X=r[38]:(X=(0,R.jsxs)(`div`,{className:`text-sm flex flex-col w-full max-w-[360px]`,children:[z,B,te]}),r[37]=z,r[38]=X);let ne;r[39]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,R.jsx)(g,{className:`h-4 w-4 cursor-help text-muted-foreground hover:text-foreground bg-transparent`}),r[39]=ne):ne=r[39];let Z;r[40]===X?Z=r[41]:(Z=(0,R.jsx)(d,{delayDuration:300,side:`left`,align:`start`,content:X,children:ne}),r[40]=X,r[41]=Z);let re=c&&`bg-accent text-accent-foreground`,Q;r[42]===re?Q=r[43]:(Q=l(`float-right px-2 m-0 h-full text-sm text-secondary-foreground ml-2`,re,`disabled:cursor-not-allowed disabled:opacity-50`),r[42]=re,r[43]=Q);let ie=!c,$;r[44]!==A||r[45]!==Q||r[46]!==ie?($=(0,R.jsx)(`button`,{type:`button`,className:Q,onClick:A,disabled:ie,children:`Add`}),r[44]=A,r[45]=Q,r[46]=ie,r[47]=$):$=r[47];let ae;return r[48]!==Z||r[49]!==$||r[50]!==F?(ae=(0,R.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[F,Z,$]}),r[48]=Z,r[49]=$,r[50]=F,r[51]=ae):ae=r[51],ae},H=e=>{let t=(0,L.c)(11),{onSuccess:n,packages:r}=e,a;t[0]===r?a=t[1]:(a=r.toSorted(J),t[0]=r,t[1]=a);let o=a;if(r.length===0){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(F,{title:`No packages`,description:`No packages are installed in this environment.`,icon:(0,R.jsx)(i,{})}),t[2]=e):e=t[2],e}let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,R.jsx)(N,{children:(0,R.jsxs)(D,{children:[(0,R.jsx)(j,{children:`Name`}),(0,R.jsx)(j,{children:`Version`}),(0,R.jsx)(j,{})]})}),t[3]=s):s=t[3];let c;if(t[4]!==n||t[5]!==o){let e;t[7]===n?e=t[8]:(e=e=>(0,R.jsxs)(D,{className:`group`,onClick:async()=>{await b(`${e.name}==${e.version}`),v({title:`Copied to clipboard`})},children:[(0,R.jsx)(P,{children:e.name}),(0,R.jsx)(P,{children:e.version}),(0,R.jsxs)(P,{className:`flex justify-end`,children:[(0,R.jsx)(U,{packageName:e.name,onSuccess:n}),(0,R.jsx)(W,{packageName:e.name,onSuccess:n})]})]},e.name),t[7]=n,t[8]=e),c=o.map(e),t[4]=n,t[5]=o,t[6]=c}else c=t[6];let l;return t[9]===c?l=t[10]:(l=(0,R.jsxs)(A,{className:`overflow-auto flex-1`,children:[s,(0,R.jsx)(M,{children:c})]}),t[9]=c,t[10]=l),l},U=({packageName:e,tags:t,onSuccess:n})=>{let[r,i]=I.useState(!1),{addPackage:a}=p();return c()?null:(0,R.jsx)(z,{onClick:async()=>{try{i(!0);let r=t?.find(e=>e.kind===`group`)?.value,o=await a({package:e,upgrade:!0,group:r});o.restartRequired?k():o.success?(n(),x(e)):x(e,o.error)}finally{i(!1)}},loading:r,children:`Upgrade`})},W=({packageName:e,tags:t,onSuccess:n})=>{let[r,i]=I.useState(!1),{removePackage:a}=p();return(0,R.jsx)(z,{onClick:async()=>{try{i(!0);let r=t?.find(e=>e.kind===`group`)?.value,o=await a({package:e,group:r});o.restartRequired?k():o.success?(n(),E(e)):E(e,o.error)}finally{i(!1)}},loading:r,children:`Remove`})},G=e=>{let t=(0,L.c)(19),{tree:n,error:r,sandboxBackend:a,onSuccess:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,t[0]=s):s=t[0];let[c,l]=I.useState(s),u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l(new Set)},t[1]=u):u=t[1];let d;if(t[2]===n?d=t[3]:(d=[n],t[2]=n,t[3]=d),I.useEffect(u,d),r){let e;return t[4]===r?e=t[5]:(e=(0,R.jsx)(C,{error:r}),t[4]=r,t[5]=e),e}if(!n){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(F,{title:`Dependency tree unavailable`,description:`The sandbox did not return a dependency tree.`,icon:(0,R.jsx)(i,{})}),t[6]=e):e=t[6],e}if(n.dependencies.length===0){if(a===`pixi`){let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(F,{title:`No PyPI dependencies`,description:`Conda dependencies are not shown in this panel.`,icon:(0,R.jsx)(i,{})}),t[7]=e):e=t[7],e}let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(F,{title:`No dependencies`,description:`No package dependencies found in this environment.`,icon:(0,R.jsx)(i,{})}),t[8]=e):e=t[8],e}let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[9]=f):f=t[9];let p=f,m;if(t[10]!==c||t[11]!==o||t[12]!==n.dependencies){let e;t[14]!==c||t[15]!==o?(e=(e,t)=>(0,R.jsx)(`div`,{className:`border-b`,children:(0,R.jsx)(K,{nodeId:`root-${t}`,node:e,level:0,isTopLevel:!0,expandedNodes:c,onToggle:p,onSuccess:o})},`${e.name}-${t}`),t[14]=c,t[15]=o,t[16]=e):e=t[16],m=n.dependencies.map(e),t[10]=c,t[11]=o,t[12]=n.dependencies,t[13]=m}else m=t[13];let h;return t[17]===m?h=t[18]:(h=(0,R.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,R.jsx)(`div`,{children:m})}),t[17]=m,t[18]=h),h},K=e=>{let t=(0,L.c)(58),{nodeId:n,node:r,level:i,isTopLevel:a,expandedNodes:o,onToggle:s,onSuccess:c}=e,u=a!==void 0&&a,d=r.dependencies.length>0,f;t[0]!==o||t[1]!==n?(f=o.has(n),t[0]=o,t[1]=n,t[2]=f):f=t[2];let p=f,g=u?0:16+i*16,_;t[3]!==d||t[4]!==n||t[5]!==s?(_=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d&&s(n))},t[3]=d,t[4]=n,t[5]=s,t[6]=_):_=t[6];let v=_,y;t[7]!==d||t[8]!==n||t[9]!==s?(y=e=>{e.stopPropagation(),d&&s(n)},t[7]=d,t[8]=n,t[9]=s,t[10]=y):y=t[10];let b=y,x=d&&`select-none`,S=u?`px-2 py-0.5`:``,C;t[11]!==x||t[12]!==S?(C=l(`flex items-center group cursor-pointer text-sm whitespace-nowrap`,`hover:bg-(--slate-2) focus:bg-(--slate-2) focus:outline-hidden`,x,S),t[11]=x,t[12]=S,t[13]=C):C=t[13];let w;t[14]!==g||t[15]!==u?(w=u?{}:{paddingLeft:`${g}px`},t[14]=g,t[15]=u,t[16]=w):w=t[16];let T=d?p:void 0,E;t[17]!==d||t[18]!==p?(E=d?p?(0,R.jsx)(m,{className:`w-4 h-4 mr-2 shrink-0`}):(0,R.jsx)(h,{className:`w-4 h-4 mr-2 shrink-0`}):(0,R.jsx)(`div`,{className:`w-4 mr-2 shrink-0`}),t[17]=d,t[18]=p,t[19]=E):E=t[19];let D;t[20]===r.name?D=t[21]:(D=(0,R.jsx)(`span`,{className:`font-medium truncate`,children:r.name}),t[20]=r.name,t[21]=D);let O;t[22]===r.version?O=t[23]:(O=r.version&&(0,R.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`v`,r.version]}),t[22]=r.version,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0 py-1.5`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]===r.tags?A=t[28]:(A=r.tags.map(Y),t[27]=r.tags,t[28]=A);let j;t[29]===A?j=t[30]:(j=(0,R.jsx)(`div`,{className:`flex items-center gap-1 ml-2`,children:A}),t[29]=A,t[30]=j);let M;t[31]!==u||t[32]!==r.name||t[33]!==r.tags||t[34]!==c?(M=u&&(0,R.jsxs)(`div`,{className:`flex gap-1 invisible group-hover:visible`,children:[(0,R.jsx)(U,{packageName:r.name,tags:r.tags,onSuccess:c}),(0,R.jsx)(W,{packageName:r.name,tags:r.tags,onSuccess:c})]}),t[31]=u,t[32]=r.name,t[33]=r.tags,t[34]=c,t[35]=M):M=t[35];let N;t[36]!==b||t[37]!==v||t[38]!==E||t[39]!==k||t[40]!==j||t[41]!==M||t[42]!==C||t[43]!==w||t[44]!==T?(N=(0,R.jsxs)(`div`,{className:C,style:w,onClick:b,onKeyDown:v,tabIndex:0,role:`treeitem`,"aria-selected":!1,"aria-expanded":T,children:[E,k,j,M]}),t[36]=b,t[37]=v,t[38]=E,t[39]=k,t[40]=j,t[41]=M,t[42]=C,t[43]=w,t[44]=T,t[45]=N):N=t[45];let P;t[46]!==o||t[47]!==d||t[48]!==p||t[49]!==i||t[50]!==r.dependencies||t[51]!==n||t[52]!==c||t[53]!==s?(P=d&&p&&(0,R.jsx)(`div`,{role:`group`,children:r.dependencies.map((e,t)=>(0,R.jsx)(K,{nodeId:`${n}-${t}`,node:e,level:i+1,isTopLevel:!1,expandedNodes:o,onToggle:s,onSuccess:c},`${e.name}-${t}`))}),t[46]=o,t[47]=d,t[48]=p,t[49]=i,t[50]=r.dependencies,t[51]=n,t[52]=c,t[53]=s,t[54]=P):P=t[54];let F;return t[55]!==N||t[56]!==P?(F=(0,R.jsxs)(`div`,{children:[N,P]}),t[55]=N,t[56]=P,t[57]=F):F=t[57],F};function q(e,t){return e===`list`?`list`:t?e||`tree`:`list`}function J(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:`base`})}function Y(e,t){return e.kind===`dedupe`?(0,R.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-muted-foreground rounded-sm text-ellipsis block overflow-hidden max-w-fit font-medium`,title:`Package tree already displayed`,children:`already in tree`},t):e.kind===`cycle`?(0,R.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`},t):e.kind===`extra`?(0,R.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:e.value,children:e.value},t):e.kind===`group`?(0,R.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:e.value,children:e.value},t):null}export{B as default};
|