@marimo-team/frontend 0.23.14-dev19 → 0.23.14-dev21

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 (90) hide show
  1. package/dist/assets/{CellStatus-B3d9WY2x.js → CellStatus-CSZHI8sz.js} +1 -1
  2. package/dist/assets/{JsonOutput-C3c9GGaV.js → JsonOutput-CYIo9GSP.js} +12 -12
  3. package/dist/assets/MarimoErrorOutput-BokuSnpU.js +11 -0
  4. package/dist/assets/{RenderHTML-v15QgtRg.js → RenderHTML-B9mw7TD1.js} +1 -1
  5. package/dist/assets/{RunButton-Bz4eaTJM.js → RunButton-CX_nNY62.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-wau9Yzcj.js → add-cell-with-ai-DwzlK27e.js} +47 -34
  7. package/dist/assets/{add-connection-dialog-_KCPEn7U.js → add-connection-dialog-fmiSisf0.js} +6 -6
  8. package/dist/assets/{agent-panel-Bn9AgwJH.js → agent-panel-BDO44WWH.js} +5 -5
  9. package/dist/assets/{ai-model-dropdown-BeZrAec-.js → ai-model-dropdown-BP8gjnOy.js} +3 -3
  10. package/dist/assets/{app-config-button-BG9ONWMU.js → app-config-button-CVpG64c2.js} +1 -1
  11. package/dist/assets/{cell-editor-24ykqaHj.js → cell-editor-Bbir67_U.js} +10 -10
  12. package/dist/assets/cell-link-CBRggkzf.js +1 -0
  13. package/dist/assets/{cells-DENsmH9t.js → cells-RJTD-euN.js} +44 -44
  14. package/dist/assets/{chat-display-CcL_dydg.js → chat-display-17k5Uy0b.js} +1 -1
  15. package/dist/assets/{chat-panel-CA-2-S1C.js → chat-panel-CGwZggen.js} +2 -2
  16. package/dist/assets/{chat-ui-DQeA0_b5.js → chat-ui-BrSyHh93.js} +1 -1
  17. package/dist/assets/{column-preview-BPgYXdDd.js → column-preview-dW7xtQ7S.js} +1 -1
  18. package/dist/assets/{command-palette-WlkKgdrI.js → command-palette-DtKhXIMn.js} +1 -1
  19. package/dist/assets/{common-DdBQICbD.js → common-DHzo8K8C.js} +1 -1
  20. package/dist/assets/components-ChBJEsmj.js +1 -0
  21. package/dist/assets/datasource-RP7m6Xrh.js +3 -0
  22. package/dist/assets/{dependency-graph-panel-nYHPHFU4.js → dependency-graph-panel-CjdEazj5.js} +4 -4
  23. package/dist/assets/{documentation-panel-Dw9tYBNf.js → documentation-panel-BcUF41gA.js} +1 -1
  24. package/dist/assets/{download-4NoBestd.js → download-CJ6tdZ-1.js} +4 -4
  25. package/dist/assets/{edit-page-CAfBRrHn.js → edit-page-lo6LC4Ie.js} +6 -6
  26. package/dist/assets/{error-panel-Ddr_mbqR.js → error-panel-D_1OmgVJ.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-DhpN8_pR.js → file-explorer-panel-CG5na8ox.js} +3 -3
  28. package/dist/assets/{file-icons-BFLcd4J7.js → file-icons-CGJ6uWXm.js} +1 -1
  29. package/dist/assets/{file-name-input-x53prQQ6.js → file-name-input-DC8-M5r1.js} +1 -1
  30. package/dist/assets/{floating-outline--OlHG_yX.js → floating-outline-BOkj3eC_.js} +1 -1
  31. package/dist/assets/{focus-CZUEQpxX.js → focus-BViZMdHR.js} +1 -1
  32. package/dist/assets/{form-CJ3pB1ow.js → form-BbqpGicG.js} +2 -2
  33. package/dist/assets/{home-page-pH8-XovY.js → home-page-CU6li-ts.js} +2 -2
  34. package/dist/assets/{hooks-BqjZMbeu.js → hooks-CPpze3O4.js} +1 -1
  35. package/dist/assets/{html-to-image-B6eCuh-2.js → html-to-image-B8ja7wwq.js} +2 -2
  36. package/dist/assets/{index-CNmQbGXF.js → index-BcxGcwkJ.js} +6 -6
  37. package/dist/assets/kiosk-mode-BP35ALfP.js +1 -0
  38. package/dist/assets/{layout-DLJQyOOv.js → layout-BSHt96Sb.js} +5 -5
  39. package/dist/assets/{logs-panel-BBGNeMzu.js → logs-panel-CbZLi2XS.js} +1 -1
  40. package/dist/assets/{markdown-renderer-CcLl4-oB.js → markdown-renderer-jghC8PFL.js} +2 -2
  41. package/dist/assets/{name-cell-input-CNq9BTL7.js → name-cell-input-CN4MRZOm.js} +1 -1
  42. package/dist/assets/{outline-panel-CnGBTEs0.js → outline-panel-CvB3hUJ2.js} +1 -1
  43. package/dist/assets/{packages-panel-B17awHIF.js → packages-panel-BGgZLApn.js} +1 -1
  44. package/dist/assets/{panels-P8wFgP-8.js → panels-DCWntQim.js} +1 -1
  45. package/dist/assets/process-output-xDK6-i-G.js +1 -0
  46. package/dist/assets/{radio-group-B8OldelF.js → radio-group-DFkF8CeQ.js} +1 -1
  47. package/dist/assets/{readonly-code-display-bvftv2Nk.js → readonly-code-display-BHx0vyug.js} +1 -1
  48. package/dist/assets/{readonly-python-code-CoFR55Yt.js → readonly-python-code-Cla-uJpn.js} +1 -1
  49. package/dist/assets/{reveal-component-CfBFUsP0.js → reveal-component-Bvxyfpeh.js} +15 -15
  50. package/dist/assets/{run-page-CFoRuGGY.js → run-page-Cxc4jqCp.js} +1 -1
  51. package/dist/assets/scratchpad-panel-Bp4sg_00.js +1 -0
  52. package/dist/assets/{session-panel-D5OQ5JSm.js → session-panel-WkryRIGA.js} +1 -1
  53. package/dist/assets/{snippets-panel-DvfXacKM.js → snippets-panel-BcDwLUNv.js} +1 -1
  54. package/dist/assets/{state-CQn0dE8X.js → state-CXzKtmF5.js} +2 -2
  55. package/dist/assets/{state-LM4pQmYL.js → state-DHqaTLr2.js} +1 -1
  56. package/dist/assets/{textarea-Tswrj-fB.js → textarea-B5Bp08T3.js} +1 -1
  57. package/dist/assets/{tracing-BMvzhCBv.js → tracing-clJBeQm6.js} +1 -1
  58. package/dist/assets/{tracing-panel-DJF6cCQK.js → tracing-panel-7j9NY9lO.js} +2 -2
  59. package/dist/assets/{tree-actions-Bnmh7YGo.js → tree-actions-DLySKXUq.js} +1 -1
  60. package/dist/assets/useCellActionButton-CvQRbg1P.js +1 -0
  61. package/dist/assets/{useDeleteCell-DwNTIWuB.js → useDeleteCell-Sj06CzJn.js} +1 -1
  62. package/dist/assets/{useDependencyPanelTab-BH_Eu2Kq.js → useDependencyPanelTab-BTgQmu1R.js} +1 -1
  63. package/dist/assets/{useNotebookActions-BmO8IOgN.js → useNotebookActions-9PPlpXk8.js} +1 -1
  64. package/dist/assets/useRunCells-D5aAUcAa.js +1 -0
  65. package/dist/assets/useSplitCell-CGE6jkuF.js +1 -0
  66. package/dist/index.html +22 -22
  67. package/package.json +2 -2
  68. package/src/components/editor/errors/__tests__/auto-fix.test.ts +11 -107
  69. package/src/components/editor/errors/auto-fix.tsx +11 -31
  70. package/src/components/editor/output/MarimoTracebackOutput.tsx +2 -2
  71. package/src/core/ai/context/__tests__/registry.test.ts +133 -3
  72. package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -1
  73. package/src/core/ai/context/providers/__tests__/error.test.ts +200 -15
  74. package/src/core/ai/context/providers/datasource.ts +27 -2
  75. package/src/core/ai/context/providers/error.ts +226 -36
  76. package/src/core/ai/context/registry.ts +77 -43
  77. package/src/core/codemirror/ai/resources.ts +15 -10
  78. package/src/core/errors/errors.ts +2 -1
  79. package/src/core/mime.ts +11 -4
  80. package/dist/assets/MarimoErrorOutput-D07aAGkQ.js +0 -12
  81. package/dist/assets/cell-link-exzcyUhT.js +0 -1
  82. package/dist/assets/components-DinLkTiR.js +0 -1
  83. package/dist/assets/datasource-BCOYpQ69.js +0 -3
  84. package/dist/assets/kiosk-mode-BBfHxqEx.js +0 -1
  85. package/dist/assets/process-output-BGcDSQBk.js +0 -1
  86. package/dist/assets/scratchpad-panel-DdKvJKy4.js +0 -1
  87. package/dist/assets/useCellActionButton-ibDHNca0.js +0 -1
  88. package/dist/assets/useRunCells-CTpvxsqp.js +0 -1
  89. package/dist/assets/useSplitCell-CFO4Cg5B.js +0 -1
  90. package/src/core/ai/context/providers/__tests__/__snapshots__/error.test.ts.snap +0 -3
@@ -0,0 +1,11 @@
1
+ import{s as le}from"./chunk-LvLJmgfZ.js";import{d as ae,f as ie,i as Qe,l as oe,n as Re,p as Ve,u as ce}from"./useEvent-D91BmmQi.js";import{t as He}from"./react-Bj1aDYRI.js";import{Ci as Ge,E as Je,Li as Y,Ln as Z,Pn as de,kn as me,mr as Ke,rt as Xe,vr as Ye,wi as pe,y as Ze}from"./cells-RJTD-euN.js";import{t as A}from"./compiler-runtime-B3qBwwSJ.js";import{_ as et,m as tt}from"./useEventListener-BakX-tnw.js";import{t as st}from"./invariant-C2E8KCbD.js";import{a as rt,i as nt,y as lt}from"./utils-Dev6I_Kv.js";import{t as ue}from"./cn-X2M2usMq.js";import{t as at}from"./jsx-runtime-PbYoItBR.js";import{a as it,i as ot,o as ct,r as dt,t as mt}from"./config-DMNo9K-z.js";import{a as pt,p as ut,r as xt,t as ht}from"./dropdown-menu-DfGLyCbP.js";import{t as Q}from"./tooltip-CgQpRVyN.js";import{r as xe,t as P}from"./button-BF7GSjhW.js";import{n as ft}from"./strings-DvZlHYnD.js";import{t as he}from"./createLucideIcon-BTp1tQDO.js";import{t as gt}from"./check-DQmqoJgr.js";import{r as fe}from"./x-9vLEgLY6.js";import{t as jt}from"./chevron-right-C7RH0Nc7.js";import{t as yt}from"./hat-glasses-DlK0E4SX.js";import{t as bt}from"./package-BTIV9-Dk.js";import{t as vt}from"./sparkles-COaEc8Qn.js";import{l as ge,r as Nt}from"./datasource-RP7m6Xrh.js";import{a as It}from"./dist-BtrqKtvn.js";import{t as wt}from"./uuid-ClFZlR7U.js";import{t as kt}from"./use-toast-kCNiuc-_.js";import{t as $t}from"./RenderHTML-B9mw7TD1.js";import{t as je}from"./kbd-UVzWBHfi.js";import{t as q}from"./links-CCkJpphF.js";import{r as _t,t as At}from"./alert-1y_DnRWn.js";import{o as Tt,t as Ft}from"./useInstallPackage-C1Dd0aIZ.js";import{a as St,n as Ct}from"./state-DHqaTLr2.js";import{n as $}from"./cell-link-CBRggkzf.js";var L=he("square-arrow-out-up-right",[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]]),ye=he("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),be=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,ve=String.raw`(?<!_)${be}`;`${be}`;var Mt=new RegExp(ve),ee=new RegExp(ve,"g");function Ne(t){let e=[];ee.lastIndex=0;let n=0,r=ee.exec(t);for(;r!==null;)r.index>n&&e.push(t.slice(n,r.index)),e.push({cellId:r[1],name:r[2]}),n=r.index+r[0].length,r=ee.exec(t);return n<t.length&&e.push(t.slice(n)),e}function Pt(t){return Mt.test(t)}function Et(t){let e=null,n=t.cursor();do n.name==="ExpressionStatement"&&(e=n.node);while(n.next());return e}function zt(t){let e=t.split(`
2
+ `),n=" ",r=Et(It.parse(t));if(!r)return["def _():",...te(e,n),`${n}return`,"","","_()"].join(`
3
+ `);let a=t.slice(0,r.from).trim(),l=t.slice(r.from).trim(),o=a.split(`
4
+ `),i=l.split(`
5
+ `);return["def _():",...te(o,n),`${n}return ${i[0]}`,...te(i.slice(1),n),"","","_()"].join(`
6
+ `)}function te(t,e){if(t.length===1&&t[0]==="")return[];let n=[];for(let r of t)r===""?n.push(""):n.push(e+r);return n}function qt(t,e){var n;if(t.type==="multiple-defs")return[{title:"Fix: Wrap in a function",description:"Make this cell's variables local by wrapping the cell in a function.",fixType:"manual",onFix:async r=>{st(r.editor,"Editor is null");let a=zt(r.editor.state.doc.toString());r.editor.dispatch({changes:{from:0,to:r.editor.state.doc.length,insert:a}})}}];if(t.type==="exception"&&t.exception_type==="NameError"){let r=(n=t.msg.match(/name '(.+)' is not defined/))==null?void 0:n[1];if(!r||!(r in Ie))return[];let a=Lt(r);return[{title:`Fix: Add '${a}'`,description:"Add a new cell for the missing import",fixType:"manual",onFix:async l=>{l.addCodeBelow(a)}}]}return t.type==="sql-error"&&e.aiEnabled?[{title:"Fix with AI",description:"Fix the SQL statement",fixType:"ai",onFix:async r=>{var o;let a=Nt(r.cellId,Qe),l=`Fix the SQL statement: ${t.msg}.`;a&&(l+=`
7
+ Database schema: ${a}`),(o=r.aiFix)==null||o.setAiCompletionCell({cellId:r.cellId,initialPrompt:l,triggerImmediately:r.aiFix.triggerFix})}}]:[]}function Lt(t){let e=Ie[t];return e===t?`import ${e}`:`import ${e} as ${t}`}var Ie={mo:"marimo",alt:"altair",bokeh:"bokeh",dask:"dask",np:"numpy",pd:"pandas",pl:"polars",plotly:"plotly",plt:"matplotlib.pyplot",px:"plotly.express",scipy:"scipy",sk:"sklearn",sns:"seaborn",stats:"scipy.stats",tf:"tensorflow",torch:"torch",xr:"xarray",dt:"datetime",json:"json",math:"math",os:"os",re:"re",sys:"sys"},we=1;const R=Y("marimo:acp:sessions:v1",{sessions:[],activeTabId:null},Z),Wt=Ve(t=>{let e=t(R);return e.activeTabId&&e.sessions.find(n=>n.tabId===e.activeTabId)||null},(t,e,n)=>{e(R,r=>({...r,activeTabId:n}))});function Dt(){return`tab_${wt()}`}function ke(t,e=20){return t.length<=e?t:`${t.slice(0,e-3)}...`}function Ut(t,e){let n=$e(e.agentId),r=Date.now(),a=e.firstMessage?ke(e.firstMessage.trim()):`New ${e.agentId} session`,l=Dt();if(n==="single"){let o=t.sessions.filter(c=>c.agentId===e.agentId),i=t.sessions.filter(c=>c.agentId!==e.agentId);if(o.length>0){let c=o[0],d={agentId:e.agentId,title:a,createdAt:r,lastUsedAt:r,tabId:c.tabId,externalAgentSessionId:null,selectedModel:e.model??c.selectedModel??null};return{...t,sessions:[...i.slice(0,we-1),d],activeTabId:d.tabId}}}return{...t,sessions:[...t.sessions.slice(0,we-1),{agentId:e.agentId,tabId:l,title:a,createdAt:r,lastUsedAt:r,externalAgentSessionId:null,selectedModel:e.model??null}],activeTabId:l}}function Bt(t,e){let n=t.sessions.filter(r=>r.tabId!==e);return{sessions:n,activeTabId:t.activeTabId===e?n.length>0?n[n.length-1].tabId:null:t.activeTabId}}function Ot(t,e){let n=t.activeTabId;return n?{...t,sessions:t.sessions.map(r=>r.tabId===n?{...r,title:ke(e)}:r)}:t}function Qt(t,e){return{...t,sessions:t.sessions.map(n=>n.tabId===e?{...n,lastUsedAt:Date.now()}:n)}}function Rt(t,e){let n=t.activeTabId;return n?{...t,sessions:t.sessions.map(r=>r.tabId===n?{...r,externalAgentSessionId:e,lastUsedAt:Date.now()}:r)}:t}function Vt(){return["claude","gemini","codex","opencode","cursor"]}function Ht(t){return ft(t)}function Gt(t){let e=V[t].port,n=window.location.hostname;return`${window.location.protocol==="https:"?"wss:":"ws:"}//${n}:${e}/message`}var V={claude:{port:3017,command:"npx @zed-industries/claude-code-acp",sessionSupport:"single"},gemini:{port:3019,command:"npx @google/gemini-cli --experimental-acp",sessionSupport:"single"},codex:{port:3021,command:"npx @zed-industries/codex-acp",sessionSupport:"single"},opencode:{port:3023,command:"npx opencode-ai acp",sessionSupport:"single"},cursor:{port:3025,command:"agent acp",sessionSupport:"single"}};function $e(t){return V[t].sessionSupport}function Jt(t){let e=V[t].port,n=V[t].command;return`npx stdio-to-ws "${tt()?`cmd /c ${n}`:n}" --port ${e}`}var Kt=A();const _e=Y("marimo:chrome:ai-panel-tab","chat",Z);function Ae(){let t=(0,Kt.c)(3),[e,n]=oe(_e),r;return t[0]!==e||t[1]!==n?(r={aiPanelTab:e,setAiPanelTab:n},t[0]=e,t[1]=n,t[2]=r):r=t[2],r}var Xt=A(),Yt="code_mode";function Zt(t,e){return t||(de("external_agents")?e:"chat")}function Te(){let t=(0,Xt.c)(6),{openApplication:e}=me(),{setAiPanelTab:n}=Ae(),{saveModeChange:r}=mt(),a=ae(St),l=ie(),o;return t[0]!==e||t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==l?(o=async i=>{let c=Zt(i.panel,l.get(_e)),d=l.get(rt),p=de("external_agents")&&l.get(R).sessions.length>0;if(!(c==="agents"?p:d)){kt({title:c==="agents"?"No agent session":"AI not configured",description:c==="agents"?"Start an agent session or switch to the chat panel.":"Configure an AI provider and chat model to fix with AI.",variant:"danger"});return}i.panel&&n(i.panel),c==="chat"&&await r(Yt).catch(es),a({prompt:i.prompt,submit:i.submit??!1}),e("ai")},t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=l,t[5]=o):o=t[5],Re(o)}function es(){return et.error("Failed to save mode change")}var ts=A(),ss=Y("marimo:ai-autofix-mode","autofix",Z);function rs(){let t=(0,ts.c)(3),[e,n]=oe(ss),r;return t[0]!==e||t[1]!==n?(r={fixMode:e,setFixMode:n},t[0]=e,t[1]=n,t[2]=r):r=t[2],r}var se=A(),s=le(at(),1);function Fe(t,e){if(t!=null)return`@error://${t}
8
+
9
+ Please fix this error.`;let n=e==null?void 0:e.trim();return n?`My code gives the following error. Please fix it:
10
+
11
+ ${n}`:"Please fix this error."}const w=t=>{let e=(0,se.c)(25),{errors:n,cellId:r,className:a}=t,l=ie(),{createNewCell:o}=Je(),i=ce(nt),c;if(e[0]!==i||e[1]!==n){let v;e[3]===i?v=e[4]:(v=k=>qt(k,{aiEnabled:i}),e[3]=i,e[4]=v),c=n.flatMap(v),e[0]=i,e[1]=n,e[2]=c}else c=e[2];let d=c,p=ae(Ct),u=Te();if(d.length===0)return null;let m=d[0],x;e[5]!==r||e[6]!==o||e[7]!==m||e[8]!==p||e[9]!==l?(x=v=>{var S;let k=(S=l.get(Ze).cellHandles[r].current)==null?void 0:S.editorView;m.onFix({addCodeBelow:E=>{o({cellId:r,autoFocus:!1,before:!1,code:E})},editor:k,cellId:r,aiFix:{setAiCompletionCell:p,triggerFix:v}}),k==null||k.focus()},e[5]=r,e[6]=o,e[7]=m,e[8]=p,e[9]=l,e[10]=x):x=e[10];let g=x,h;e[11]!==r||e[12]!==u?(h=()=>{u({prompt:Fe(r)})},e[11]=r,e[12]=u,e[13]=h):h=e[13];let y=h,j;e[14]===a?j=e[15]:(j=ue("my-2",a),e[14]=a,e[15]=j);let b;e[16]!==m.description||e[17]!==m.fixType||e[18]!==m.title||e[19]!==g||e[20]!==y?(b=m.fixType==="ai"?(0,s.jsx)(Ce,{tooltip:m.description,openPrompt:()=>g(!1),applyAutofix:()=>g(!0),openChat:y}):(0,s.jsx)(Q,{content:m.description,align:"start",children:(0,s.jsxs)(P,{size:"xs",variant:"outline",className:"font-normal",onClick:()=>g(!1),children:[(0,s.jsx)(ge,{className:"h-3 w-3 mr-2"}),m.title]})}),e[16]=m.description,e[17]=m.fixType,e[18]=m.title,e[19]=g,e[20]=y,e[21]=b):b=e[21];let N;return e[22]!==j||e[23]!==b?(N=(0,s.jsx)("div",{className:j,children:b}),e[22]=j,e[23]=b,e[24]=N):N=e[24],N};var Se={autofix:{Icon:ge,title:"Inline AI Fix",description:"Apply AI fixes inline in the cell"},chat:{Icon:yt,title:"Fix with AI assistant",description:"Open the AI sidebar to fix"},prompt:{Icon:vt,title:"Suggest a prompt",description:"Edit the prompt before applying"}},ns=["autofix","prompt","chat"];const Ce=t=>{let e=(0,se.c)(18),{tooltip:n,openPrompt:r,applyAutofix:a,openChat:l}=t,{fixMode:o,setFixMode:i}=rs(),c=r;o==="chat"?c=l:o==="autofix"&&(c=a);let{Icon:d,title:p}=Se[o],u;e[0]===d?u=e[1]:(u=(0,s.jsx)(d,{className:"h-3 w-3 mr-2 mb-0.5"}),e[0]=d,e[1]=u);let m;e[2]!==c||e[3]!==u||e[4]!==p?(m=(0,s.jsxs)(P,{size:"xs",variant:"outline",className:"font-normal rounded-r-none border-r-0",onClick:c,children:[u,p]}),e[2]=c,e[3]=u,e[4]=p,e[5]=m):m=e[5];let x;e[6]!==m||e[7]!==n?(x=(0,s.jsx)(Q,{content:n,align:"start",children:m}),e[6]=m,e[7]=n,e[8]=x):x=e[8];let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=(0,s.jsx)(ut,{asChild:!0,children:(0,s.jsx)(P,{size:"xs",variant:"outline",className:"rounded-l-none px-2","aria-label":"Fix options",children:(0,s.jsx)(fe,{className:"h-3 w-3"})})}),e[9]=g):g=e[9];let h;e[10]!==o||e[11]!==i?(h=ns.map(b=>(0,s.jsx)(pt,{className:"flex items-center gap-2",onClick:()=>i(b),children:(0,s.jsx)(ls,{mode:b,selected:b===o})},b)),e[10]=o,e[11]=i,e[12]=h):h=e[12];let y;e[13]===h?y=e[14]:(y=(0,s.jsxs)(ht,{children:[g,(0,s.jsx)(xt,{align:"end",className:"w-56",children:h})]}),e[13]=h,e[14]=y);let j;return e[15]!==x||e[16]!==y?(j=(0,s.jsxs)("div",{className:"flex",children:[x,y]}),e[15]=x,e[16]=y,e[17]=j):j=e[17],j};var ls=t=>{let e=(0,se.c)(15),{mode:n,selected:r}=t,{Icon:a,title:l,description:o}=Se[n],i;e[0]===a?i=e[1]:(i=(0,s.jsx)(a,{className:"h-4 w-4 shrink-0"}),e[0]=a,e[1]=i);let c;e[2]===l?c=e[3]:(c=(0,s.jsx)("span",{className:"font-medium",children:l}),e[2]=l,e[3]=c);let d;e[4]===o?d=e[5]:(d=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:o}),e[4]=o,e[5]=d);let p;e[6]!==c||e[7]!==d?(p=(0,s.jsxs)("div",{className:"flex flex-col",children:[c,d]}),e[6]=c,e[7]=d,e[8]=p):p=e[8];let u;e[9]===r?u=e[10]:(u=r&&(0,s.jsx)(gt,{className:"h-4 w-4 ml-auto shrink-0"}),e[9]=r,e[10]=u);let m;return e[11]!==i||e[12]!==p||e[13]!==u?(m=(0,s.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[i,p,u]}),e[11]=i,e[12]=p,e[13]=u,e[14]=m):m=e[14],m},Me=A();const as=t=>{let e=(0,Me.c)(12),{local:n}=t,r;e[0]===n.name?r=e[1]:(r=(0,s.jsx)("span",{className:"font-code",children:n.name}),e[0]=n.name,e[1]=r);let a;e[2]===n.cellId?a=e[3]:(a=(0,s.jsx)($,{cellId:n.cellId}),e[2]=n.cellId,e[3]=a);let l;e[4]!==r||e[5]!==a?(l=(0,s.jsxs)("div",{className:"max-w-xs",children:["Local variable ",r," in cell"," ",a,"."]}),e[4]=r,e[5]=a,e[6]=l):l=e[6];let o=l,i;e[7]===n.name?i=e[8]:(i=(0,s.jsx)("span",{className:"font-code cursor-help",children:n.name}),e[7]=n.name,e[8]=i);let c;return e[9]!==i||e[10]!==o?(c=(0,s.jsx)(Q,{content:o,children:i}),e[9]=i,e[10]=o,e[11]=c):c=e[11],c},Pe=t=>{let e=(0,Me.c)(4),{segments:n}=t,r;e[0]===n?r=e[1]:(r=n.map(is),e[0]=n,e[1]=r);let a;return e[2]===r?a=e[3]:(a=(0,s.jsx)(s.Fragment,{children:r}),e[2]=r,e[3]=a),a};function is(t,e){return typeof t=="string"?(0,s.jsx)("span",{children:t},e):(0,s.jsx)(as,{local:t},e)}var Ee=/(https?:\/\/\S+)/,os=/\.(png|jpe?g|gif|webp|svg|ico)(\?.*)?$/i,ze=/^data:image\//i,cs=["avatars.githubusercontent.com"];function qe(t){return ze.test(t)?[{type:"image",url:t}]:t.split(Ee).filter(e=>e!=="").map(e=>Ee.test(e)?os.test(e)||ze.test(e)||cs.some(n=>e.includes(n))?{type:"image",url:e}:{type:"url",url:e}:{type:"text",value:e})}var Le=A(),W=le(He(),1),ds=new Xe;const re=t=>{let e=RegExp("\x1B\\[[0-9;]*m","g");return t.replaceAll(e,"")};var We=/(pip\s+install|uv\s+add|uv\s+pip\s+install)\s+/gi;function ms(t){We.lastIndex=0;let e=We.exec(t);if(!e)return null;let n=e.index+e[0].length,r=t.slice(n).split(/\s+/),a="",l=0;for(let i of r){let c=i.trim();if(!c)continue;if(c.startsWith("-")){l+=c.length+1;continue}let d=c.match(/^[\w,.[\]-]+/);if(d){a=d[0];break}break}if(!a)return null;let o=n+l+a.length;return{package:a,endIndex:o}}function T(t,e=""){if(!t)return null;if(!/https?:\/\//.test(t))return t;let n=qe(t);return n.length===1&&n[0].type==="text"?t:(0,s.jsx)(s.Fragment,{children:n.map((r,a)=>{let l=e?`${e}-${a}`:a;if(r.type==="url"){let o=re(r.url);return(0,s.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",onClick:xe.stopPropagation(),className:"text-link hover:underline",children:o},l)}if(r.type==="image"){let o=re(r.url);return(0,s.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",onClick:xe.stopPropagation(),className:"text-link hover:underline",children:o},l)}return(0,s.jsx)(W.Fragment,{children:r.value},l)})})}var ps=t=>{let e=(0,Le.c)(6),{packages:n,children:r}=t,{handleInstallPackages:a}=Ft(),l;e[0]!==a||e[1]!==n?(l=i=>{a(n),i.preventDefault()},e[0]=a,e[1]=n,e[2]=l):l=e[2];let o;return e[3]!==r||e[4]!==l?(o=(0,s.jsx)("button",{onClick:l,className:"text-link hover:underline",type:"button",children:r}),e[3]=r,e[4]=l,e[5]=o):o=e[5],o};const us=t=>{if(!(t instanceof pe.Text))return;let e=re(t.data);if(!/(pip\s+install|uv\s+add|uv\s+pip\s+install)/i.test(e))return;let n=[],r=/(pip\s+install|uv\s+add|uv\s+pip\s+install)\s+/gi,a;for(;(a=r.exec(e))!==null;){let i=a.index,c=ms(e.slice(i));c&&n.push({match:a,result:c})}if(n.length===0)return;let l=[],o=0;if(n.forEach((i,c)=>{let{match:d,result:p}=i,u=d.index,m=u+p.endIndex;if(o<u){let g=e.slice(o,u);l.push((0,s.jsx)(W.Fragment,{children:T(g,`before-${c}`)},`before-${c}`))}let x=e.slice(u,m);l.push((0,s.jsx)(ps,{packages:[p.package],children:x},`install-${c}`)),o=m}),o<e.length){let i=e.slice(o);l.push((0,s.jsx)(W.Fragment,{children:T(i,"after")},"after"))}return(0,s.jsx)(s.Fragment,{children:l})},xs=t=>{if(!(t instanceof pe.Text))return;let e=t.data;if(!/https?:\/\//.test(e))return;let n=T(e);if(typeof n!="string")return(0,s.jsx)(s.Fragment,{children:n})},hs=(...t)=>e=>{for(let n of t){let r=n(e);if(r!==void 0)return r}},fs=(t,e)=>(0,s.jsx)("span",{children:Ge(ds.ansi_to_html(t),{replace:n=>e(n)})}),gs=t=>{let e=(0,Le.c)(4),{text:n}=t,r;e[0]===n?r=e[1]:(r=fs(n,hs(us,xs)),e[0]=n,e[1]=r);let a=r,l;return e[2]===a?l=e[3]:(l=(0,s.jsx)(s.Fragment,{children:a}),e[2]=a,e[3]=l),l};var ne=A(),De=t=>{let e=(0,ne.c)(16),{traceback:n}=t,[r,a]=(0,W.useState)(!0),l;e[0]===r?l=e[1]:(l=()=>a(!r),e[0]=r,e[1]=l);let o=r?"Collapse traceback":"Expand traceback",i;e[2]===r?i=e[3]:(i=r?(0,s.jsx)(fe,{className:"h-3 w-3"}):(0,s.jsx)(jt,{className:"h-3 w-3"}),e[2]=r,e[3]=i);let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{className:"text-[0.6875rem] uppercase tracking-wider",children:"Traceback"}),e[4]=c):c=e[4];let d;e[5]!==r||e[6]!==l||e[7]!==o||e[8]!==i?(d=(0,s.jsxs)("button",{type:"button",onClick:l,"aria-expanded":r,"aria-label":o,className:"flex items-center gap-1 text-muted-foreground/70 hover:text-muted-foreground transition-colors",children:[i,c]}),e[5]=r,e[6]=l,e[7]=o,e[8]=i,e[9]=d):d=e[9];let p;e[10]!==r||e[11]!==n?(p=r&&(0,s.jsx)("div",{className:"font-code text-sm mt-1 p-3 bg-muted rounded border overflow-auto max-h-[50vh] cursor-text select-text",children:$t({html:n})}),e[10]=r,e[11]=n,e[12]=p):p=e[12];let u;return e[13]!==d||e[14]!==p?(u=(0,s.jsxs)("div",{className:"mt-2",children:[d,p]}),e[13]=d,e[14]=p,e[15]=u):u=e[15],u},F=t=>{let e=(0,ne.c)(10),n=t.title??"Tip",r;e[0]===n?r=e[1]:(r=(0,s.jsx)(ct,{className:"pt-2 pb-0 font-normal",children:n}),e[0]=n,e[1]=r);let a;e[2]===t.children?a=e[3]:(a=(0,s.jsx)(ot,{className:"mr-24 text-[0.84375rem]",wrapperClassName:"pt-0 pb-2",children:t.children}),e[2]=t.children,e[3]=a);let l;e[4]!==r||e[5]!==a?(l=(0,s.jsxs)(it,{value:"item-1",className:"text-muted-foreground",children:[r,a]}),e[4]=r,e[5]=a,e[6]=l):l=e[6];let o;return e[7]!==t.className||e[8]!==l?(o=(0,s.jsx)(dt,{type:"single",collapsible:!0,className:t.className,children:l}),e[7]=t.className,e[8]=l,e[9]=o):o=e[9],o};const js=t=>{let e=(0,ne.c)(38),{errors:n,cellId:r,className:a}=t,l=me(),o=ce(lt).display.cell_output==="above",i="This cell wasn't run because it has errors",c="destructive",d="text-error",p=null;if(n.some(ys))i="Interrupted";else if(n.some(bs))i="An internal error occurred";else if(n.some(vs))i="Ancestor prevented from running",c="default",d="text-secondary-foreground";else if(n.some(Ns))i="Ancestor stopped",c="default",d="text-secondary-foreground";else if(n.some(Is))i="SQL error";else if(n.some(ws))i=null,p="Cell not run";else{let N;e[0]===n?N=e[1]:(N=n.find(ks),e[0]=n,e[1]=N);let v=N;v&&"exception_type"in v&&(i=v.exception_type)}let u,m,x,g,h,y;if(e[2]!==c||e[3]!==r||e[4]!==l||e[5]!==a||e[6]!==n||e[7]!==o||e[8]!==p||e[9]!==d||e[10]!==i){let N=n.filter($s),v=n.filter(_s),k=n.filter(As),S=n.filter(Ts),E=n.filter(Fs),D=n.filter(Ss),U=n.filter(Cs),H=n.filter(Ms),G=n.filter(Ps),J=n.filter(Es),z=n.filter(zs),K=n.filter(qs),X=n.filter(Ls),B;e[17]===l?B=e[18]:(B=()=>{l.openApplication("scratchpad")},e[17]=l,e[18]=B);let Ue=B,Be=()=>{let I=[];if(z.length>0||K.length>0){let f=z.some(Ws),_=!f&&z.some(Ds);I.push((0,s.jsxs)("div",{children:[z.map(Us),K.map(Bs),f&&(0,s.jsxs)(P,{size:"xs",variant:"outline",className:"mt-2 font-normal",onClick:()=>Tt(l),children:[(0,s.jsx)(bt,{className:"h-3.5 w-3.5 mr-1.5 mb-0.5"}),(0,s.jsx)("span",{children:"Open package manager"})]}),_&&(0,s.jsxs)(P,{size:"xs",variant:"outline",className:"mt-2 font-normal",onClick:()=>l.openApplication("terminal"),children:[(0,s.jsx)(ye,{className:"h-3.5 w-3.5 mr-1.5"}),(0,s.jsx)("span",{children:"Open terminal"})]}),r&&(0,s.jsx)(w,{errors:[...z,...K],cellId:r})]},"syntax-unknown"))}if(N.length>0&&I.push((0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground font-medium",children:"The setup cell cannot be run because it has references."}),(0,s.jsx)("ul",{className:"list-disc",children:N.flatMap(Os)}),r&&(0,s.jsx)(w,{errors:N,cellId:r}),(0,s.jsxs)(F,{title:"Why can't the setup cell have references?",className:"mb-2",children:[(0,s.jsx)("p",{className:"pb-2",children:"The setup cell contains logic that must be run before any other cell runs, including top-level imports used by top-level functions. For this reason, it can't refer to other cells' variables."}),(0,s.jsx)("p",{className:"py-2",children:"Try simplifying the setup cell to only contain only necessary variables."}),(0,s.jsxs)("p",{className:"py-2",children:[(0,s.jsxs)(q,{href:"https://links.marimo.app/errors-setup",children:["Learn more at our docs"," ",(0,s.jsx)(L,{size:"0.75rem",className:"inline"})]}),"."]})]})]},"setup-refs")),v.length>0&&I.push((0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground font-medium",children:"This cell is in a cycle."}),(0,s.jsx)("ul",{className:"list-disc",children:v.flatMap(Qs)}),r&&(0,s.jsx)(w,{errors:v,cellId:r}),(0,s.jsxs)(F,{title:"What are cycles and how do I resolve them?",className:"mb-2",children:[(0,s.jsx)("p",{className:"pb-2",children:"An example of a cycle is if one cell declares a variable 'a' and reads 'b', and another cell declares 'b' and and reads 'a'. Cycles like this make it impossible for marimo to know how to run your cells, and generally suggest that your code has a bug."}),(0,s.jsx)("p",{className:"py-2",children:"Try merging these cells into a single cell to eliminate the cycle."}),(0,s.jsxs)("p",{className:"py-2",children:[(0,s.jsxs)(q,{href:"https://links.marimo.app/errors-cycles",children:["Learn more at our docs"," ",(0,s.jsx)(L,{size:"0.75rem",className:"inline"})]}),"."]})]})]},"cycle")),k.length>0){let f=k[0].name;I.push((0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground font-medium",children:"This cell redefines variables from other cells."}),k.map(Vs),r&&(0,s.jsx)(w,{errors:k,cellId:r}),(0,s.jsxs)(F,{title:"Why can't I redefine variables?",children:[(0,s.jsx)("p",{className:"pb-2",children:"marimo requires that each variable is defined in just one cell. This constraint enables reactive and reproducible execution, arbitrary cell reordering, seamless UI elements, execution as a script, and more."}),(0,s.jsxs)("p",{className:"py-2",children:["Try merging this cell with the mentioned cells or wrapping it in a function. Alternatively, prefix variables with an underscore (e.g., ",(0,s.jsxs)(je,{className:"inline",children:["_",f]}),"). to make them private to this cell."]}),(0,s.jsxs)("p",{className:"py-2",children:[(0,s.jsxs)(q,{href:"https://links.marimo.app/errors-multiple-definitions",children:["Learn more at our docs"," ",(0,s.jsx)(L,{size:"0.75rem",className:"inline"})]}),"."]})]}),(0,s.jsx)(F,{title:"Need a scratchpad?",children:(0,s.jsxs)("div",{className:"flex flex-row gap-2 items-center",children:[(0,s.jsxs)(P,{size:"xs",variant:"link",className:"my-2 font-normal mx-0 px-0",onClick:Ue,children:[(0,s.jsx)(Ke,{className:"h-3"}),(0,s.jsx)("span",{children:"Try the scratchpad"})]}),(0,s.jsx)("span",{children:"to experiment without restrictions on variable names."})]})})]},"multiple-defs"))}return S.length>0&&I.push((0,s.jsxs)("div",{children:[S.map(Hs),r&&(0,s.jsx)(w,{errors:S,cellId:r}),(0,s.jsxs)(F,{title:"Why can't I use `import *`?",children:[(0,s.jsx)("p",{className:"pb-2",children:"Star imports are incompatible with marimo's git-friendly file format and reproducible reactive execution."}),(0,s.jsx)("p",{className:"py-2",children:"marimo's Python file format stores code in functions, so notebooks can be imported as regular Python modules without executing all their code. But Python disallows `import *` everywhere except at the top-level of a module."}),(0,s.jsx)("p",{className:"py-2",children:"Star imports would also silently add names to globals, which would be incompatible with reactive execution."}),(0,s.jsxs)("p",{className:"py-2",children:[(0,s.jsxs)(q,{href:"https://links.marimo.app/errors-import-star",children:["Learn more at our docs"," ",(0,s.jsx)(L,{size:"0.75rem",className:"inline"})]}),"."]})]})]},"import-star")),E.length>0&&I.push((0,s.jsxs)("div",{children:[E.map(Gs),r&&(0,s.jsx)(w,{errors:E,cellId:r})]},"interruption")),D.length>0&&I.push((0,s.jsxs)("ul",{children:[D.map((f,_)=>f.exception_type==="NameError"&&f.msg.startsWith("name 'mo'")?(0,s.jsx)("li",{className:"my-2",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground",children:"name 'mo' is not defined."}),(0,s.jsxs)("p",{className:"text-muted-foreground mt-2",children:["The marimo module (imported as"," ",(0,s.jsx)(je,{className:"inline",children:"mo"}),") is required for Markdown, SQL, and UI elements."]})]})},`exception-${_}`):f.exception_type==="NameError"&&f.msg.startsWith("name '_")?(0,s.jsx)("li",{className:"my-2",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground",children:(0,s.jsx)(Pe,{segments:Ne(f.msg)})}),(0,s.jsxs)("p",{className:"text-muted-foreground mt-2",children:["Variables prefixed with an underscore are local to a cell"," ","(",(0,s.jsxs)(q,{href:"https://links.marimo.app/local-variables",children:["docs"," ",(0,s.jsx)(L,{size:"0.75rem",className:"inline"})]}),")."]}),o&&(0,s.jsx)("div",{className:"text-muted-foreground mt-2",children:"See the console area for a traceback."})]})},`exception-${_}`):(0,s.jsx)("li",{className:"my-2",children:f.raising_cell==null?(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-muted-foreground",children:T(f.msg,`exception-${_}`)}),"traceback"in f&&f.traceback?(0,s.jsx)(De,{traceback:f.traceback}):o&&(0,s.jsx)("div",{className:"text-muted-foreground mt-2",children:"See the console area for a traceback."})]}):(0,s.jsxs)("div",{children:[T(f.msg,`exception-${_}`),(0,s.jsx)($,{cellId:f.raising_cell}),"traceback"in f&&f.traceback&&(0,s.jsx)(De,{traceback:f.traceback})]})},`exception-${_}`)),D.some(Js)&&(0,s.jsx)(F,{children:"Fix the error in the mentioned cells, or handle the exceptions with try/except blocks."}),r&&(0,s.jsx)(w,{errors:D,cellId:r})]},"exception")),U.length>0&&I.push((0,s.jsxs)("ul",{children:[U.map(Ks),r&&(0,s.jsx)(w,{errors:U,cellId:r}),(0,s.jsx)(F,{children:U.some(Xs)?"Ensure that the referenced cells define the required variables, or turn off strict execution.":"Something is wrong with your declarations. Fix any discrepancies, or turn off strict execution."})]},"strict-exception")),H.length>0&&I.push((0,s.jsxs)("div",{children:[H.map(Ys),r&&(0,s.jsx)(w,{errors:H,cellId:r})]},"internal")),G.length>0&&I.push((0,s.jsxs)("div",{children:[G.map(Zs),r&&(0,s.jsx)(w,{errors:G,cellId:r})]},"ancestor-prevented")),J.length>0&&I.push((0,s.jsxs)("div",{children:[J.map(er),r&&(0,s.jsx)(w,{errors:J,cellId:r})]},"ancestor-stopped")),X.length>0&&I.push((0,s.jsxs)("div",{children:[X.map(tr),r&&(0,s.jsx)(w,{errors:X,cellId:r,className:"mt-2.5"})]},"sql-errors")),I},C;e[19]===p?C=e[20]:(C=p&&(0,s.jsxs)("div",{className:"flex items-center gap-1 font-code text-[0.6875rem] uppercase tracking-wider text-muted-foreground/70",children:[p,(0,s.jsx)(Q,{content:"marimo didn't run this cell because it detected an error.",delayDuration:200,children:(0,s.jsx)(Ye,{className:"size-3 cursor-help"})})]}),e[19]=p,e[20]=C);let M;e[21]!==d||e[22]!==i?(M=i&&(0,s.jsx)(_t,{className:`font-code font-medium ${d}`,children:i}),e[21]=d,e[22]=i,e[23]=M):M=e[23];let O;e[24]!==C||e[25]!==M?(O=(0,s.jsxs)("div",{className:"space-y-0.5",children:[C,M]}),e[24]=C,e[25]=M,e[26]=O):O=e[26];let Oe=O;u=At,g=c,e[27]===a?h=e[28]:(h=ue("border-none font-code text-sm text-[0.84375rem] p-0 text-muted-foreground normal has-[svg]:pl-0 space-y-2",a),e[27]=a,e[28]=h),y=Oe,m="flex flex-col gap-4",x=Be(),e[2]=c,e[3]=r,e[4]=l,e[5]=a,e[6]=n,e[7]=o,e[8]=p,e[9]=d,e[10]=i,e[11]=u,e[12]=m,e[13]=x,e[14]=g,e[15]=h,e[16]=y}else u=e[11],m=e[12],x=e[13],g=e[14],h=e[15],y=e[16];let j;e[29]!==m||e[30]!==x?(j=(0,s.jsx)("div",{className:m,children:x}),e[29]=m,e[30]=x,e[31]=j):j=e[31];let b;return e[32]!==u||e[33]!==g||e[34]!==h||e[35]!==y||e[36]!==j?(b=(0,s.jsxs)(u,{variant:g,className:h,children:[y,j]}),e[32]=u,e[33]=g,e[34]=h,e[35]=y,e[36]=j,e[37]=b):b=e[37],b};function ys(t){return t.type==="interruption"}function bs(t){return t.type==="internal"}function vs(t){return t.type==="ancestor-prevented"}function Ns(t){return t.type==="ancestor-stopped"}function Is(t){return t.type==="sql-error"}function ws(t){return t.type==="multiple-defs"||t.type==="cycle"||t.type==="setup-refs"||t.type==="import-star"}function ks(t){return t.type==="exception"}function $s(t){return t.type==="setup-refs"}function _s(t){return t.type==="cycle"}function As(t){return t.type==="multiple-defs"}function Ts(t){return t.type==="import-star"}function Fs(t){return t.type==="interruption"}function Ss(t){return t.type==="exception"}function Cs(t){return t.type==="strict-exception"}function Ms(t){return t.type==="internal"}function Ps(t){return t.type==="ancestor-prevented"}function Es(t){return t.type==="ancestor-stopped"}function zs(t){return t.type==="syntax"}function qs(t){return t.type==="unknown"}function Ls(t){return t.type==="sql-error"}function Ws(t){return t.msg.includes("!pip")}function Ds(t){return t.msg.includes("use os.subprocess")}function Us(t,e){return(0,s.jsx)("pre",{children:T(t.msg,`syntax-${e}`)},`syntax-${e}`)}function Bs(t,e){return(0,s.jsx)("pre",{children:T(t.msg,`unknown-${e}`)},`unknown-${e}`)}function Os(t,e){return t.edges_with_vars.map((n,r)=>(0,s.jsxs)("li",{className:"my-0.5 ml-8 text-muted-foreground/40",children:[(0,s.jsx)($,{cellId:n[0]}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[": "," ",n[1].length===1?n[1][0]:n[1].join(", ")]})]},`setup-refs-${e}-${r}`))}function Qs(t,e){return t.edges_with_vars.map((n,r)=>(0,s.jsxs)("li",{className:"my-0.5 ml-8 text-muted-foreground/40",children:[(0,s.jsx)($,{cellId:n[0]}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[" -> ",n[1].length===1?n[1][0]:n[1].join(", ")," -> "]}),(0,s.jsx)($,{cellId:n[2]})]},`cycle-${e}-${r}`))}function Rs(t,e){return(0,s.jsx)("li",{className:"my-0.5 ml-8 text-muted-foreground/40",children:(0,s.jsx)($,{cellId:t})},`cell-${e}`)}function Vs(t,e){return(0,s.jsxs)(W.Fragment,{children:[(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:`'${t.name}' was also defined by:`}),(0,s.jsx)("ul",{className:"list-disc",children:t.cells.map(Rs)})]},`multiple-defs-${e}`)}function Hs(t,e){return(0,s.jsx)("p",{className:"text-muted-foreground",children:t.msg},`import-star-${e}`)}function Gs(t,e){return(0,s.jsx)("p",{children:"This cell was interrupted and needs to be re-run."},`interruption-${e}`)}function Js(t){return t.raising_cell!=null}function Ks(t,e){return(0,s.jsx)("li",{className:"my-2",children:t.blamed_cell==null?(0,s.jsx)("p",{children:t.msg}):(0,s.jsxs)("div",{children:[t.msg,(0,s.jsx)($,{cellId:t.blamed_cell})]})},`strict-exception-${e}`)}function Xs(t){return t.blamed_cell!=null}function Ys(t,e){return(0,s.jsx)("p",{children:t.msg},`internal-${e}`)}function Zs(t,e){return(0,s.jsxs)("div",{children:[t.msg,t.blamed_cell==null?(0,s.jsxs)("span",{children:["(",(0,s.jsx)($,{cellId:t.raising_cell}),")"]}):(0,s.jsxs)("span",{children:["(",(0,s.jsx)($,{cellId:t.raising_cell}),"\xA0blames\xA0",(0,s.jsx)($,{cellId:t.blamed_cell}),")"]})]},`ancestor-prevented-${e}`)}function er(t,e){return(0,s.jsxs)("div",{children:[t.msg,(0,s.jsx)($,{cellId:t.raising_cell})]},`ancestor-stopped-${e}`)}function tr(t,e){return(0,s.jsx)("div",{className:"space-y-2 mt-2",children:(0,s.jsx)("p",{className:"text-muted-foreground whitespace-pre-wrap",children:t.msg})},`sql-error-${e}`)}export{ye as C,Ne as S,Wt as _,Ce as a,Ot as b,Ae as c,Jt as d,Ht as f,Bt as g,Vt as h,Pe as i,Ut as l,Gt as m,gs as n,Fe as o,$e as p,qe as r,Te as s,js as t,R as u,Rt as v,Pt as x,Qt as y};
@@ -1 +1 @@
1
- import{s as y}from"./chunk-LvLJmgfZ.js";import{i as E,p as S,u as T}from"./useEvent-D91BmmQi.js";import{t as M}from"./react-Bj1aDYRI.js";import{Ci as f,Si as k,bn as H,m as I,ot as j,wn as L,xt as N}from"./cells-DENsmH9t.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{_ as w}from"./useEventListener-BakX-tnw.js";import{c as _}from"./utils-Dev6I_Kv.js";import{t as A}from"./jsx-runtime-PbYoItBR.js";import{t as F}from"./tooltip-CgQpRVyN.js";import{t as O}from"./copy-icon-EHMT-qlr.js";import{t as V}from"./usePress-BSFUeqnS.js";import{n as W}from"./useDebounce-CpLI2dsc.js";import{t as R}from"./useRunCells-CTpvxsqp.js";var q=g(),u=y(M(),1),l=y(A(),1);const z=e=>{let t=(0,q.c)(16),r,n,i;t[0]===e?(r=t[1],n=t[2],i=t[3]):({href:n,children:r,...i}=e,t[0]=e,t[1]=r,t[2]=n,t[3]=i);let a=(0,u.useRef)(null),o;t[4]===n?o=t[5]:(o=()=>{let h=new URL(globalThis.location.href);h.hash=n,globalThis.history.pushState({},"",h.toString()),globalThis.dispatchEvent(new HashChangeEvent("hashchange"));let C=n.slice(1),x=document.getElementById(C);x&&x.scrollIntoView({behavior:"smooth",block:"start"})},t[4]=n,t[5]=o);let s=o,c;t[6]===s?c=t[7]:(c={onPress:()=>{s()}},t[6]=s,t[7]=c);let{pressProps:d}=V(c),m;t[8]===s?m=t[9]:(m=h=>{h.preventDefault(),s()},t[8]=s,t[9]=m);let b=m,p;return t[10]!==r||t[11]!==b||t[12]!==n||t[13]!==d||t[14]!==i?(p=(0,l.jsx)("a",{ref:a,href:n,...d,onClick:b,...i,children:r}),t[10]=r,t[11]=b,t[12]=n,t[13]=d,t[14]=i,t[15]=p):p=t[15],p};async function $(e){let t=I().inOrderIds.at(0);if(t)try{let r=await H.request({document:e,cellId:t});if(!r||r.options.length===0)return;let n=e.split(".").pop()??e,i=r.options[0],a=r.options.find(o=>o.name===n)??i;a!=null&&a.completion_info&&E.set(L,{documentation:a.completion_info})}catch(r){w.debug(`Doc lookup failed for "${e}"`,r)}}var P=g();const D=e=>{let t=(0,P.c)(8),{qualifiedName:r,children:n}=e,i;t[0]===r?i=t[1]:(i=()=>{$(r)},t[0]=r,t[1]=i);let a=W(i,100),o;t[2]===a?o=t[3]:(o=()=>a.cancel(),t[2]=a,t[3]=o);let s;return t[4]!==n||t[5]!==a||t[6]!==o?(s=(0,l.jsx)("span",{onMouseEnter:a,onMouseLeave:o,children:n}),t[4]=n,t[5]=a,t[6]=o,t[7]=s):s=t[7],s};function B(e){if(typeof e!="object"||!e)return!1;let t=e;return!(t.trusted!==!0||t.notebookCode!==void 0&&typeof t.notebookCode!="string")}function U(){let e=window==null?void 0:window.__MARIMO_EXPORT_CONTEXT__;return B(e)?e:void 0}function v(){var e;return((e=U())==null?void 0:e.trusted)===!0}function X(){if(E.get(R)||v()||E.get(_))return!0;try{if(j()==="read")return!0}catch{}return!1}var G=S(e=>{let t=e(R),r=e(_);if(t||r||v())return!1;let n=!0;try{n=j()==="read"}catch{return!0}return!n});function J(){return T(G)}var K=g(),Z=e=>{if(e instanceof f.Element&&!/^[A-Za-z][\w-]*$/.test(e.name))return u.createElement(u.Fragment)},Q=(e,t)=>{if(t instanceof f.Element&&t.name==="body"){if((0,u.isValidElement)(e)&&"props"in e){let r=e.props.children;return(0,l.jsx)(l.Fragment,{children:r})}return}},Y=(e,t)=>{if(t instanceof f.Element&&t.name==="html"){if((0,u.isValidElement)(e)&&"props"in e){let r=e.props.children;return(0,l.jsx)(l.Fragment,{children:r})}return}},tt=e=>{if(e instanceof f.Element&&e.attribs&&e.name==="iframe"){let t=document.createElement("iframe");return Object.entries(e.attribs).forEach(([r,n])=>{r.startsWith('"')&&r.endsWith('"')&&(r=r.slice(1,-1)),t.setAttribute(r,n)}),(0,l.jsx)("div",{dangerouslySetInnerHTML:{__html:t.outerHTML}})}},et=e=>{if(e instanceof f.Element&&e.name==="script"){let t=e.attribs.src;if(!t)return;if(!X())return w.warn(`[RenderHTML] refusing <script src> in untrusted context: ${t}`),(0,l.jsx)(l.Fragment,{});if(![...document.querySelectorAll("script[src]")].some(r=>r.getAttribute("src")===t)){let r=document.createElement("script");r.src=t,document.head.append(r)}return(0,l.jsx)(l.Fragment,{})}},rt=(e,t)=>{if(t instanceof f.Element&&t.name==="a"){let r=t.attribs.href;if(r!=null&&r.startsWith("#")&&!r.startsWith("#code/")){let n=null;return(0,u.isValidElement)(e)&&"props"in e&&(n=e.props.children),(0,l.jsx)(z,{href:r,...t.attribs,children:n})}}},nt=(e,t,r)=>{var n,i;if(t instanceof f.Element&&t.name==="div"&&((i=(n=t.attribs)==null?void 0:n.class)!=null&&i.includes("codehilite")))return(0,l.jsx)(st,{children:e},r)},it=(e,t,r)=>{var i;if(!(t instanceof f.Element)||t.name!=="img")return;let n=(i=t.attribs)==null?void 0:i.src;if(!(!n||!(0,u.isValidElement)(e))&&!/^data:/i.test(n))return(0,u.cloneElement)(e,{key:`${n}-${r}`})},at=(e,t)=>{var r;if(t instanceof f.Element&&((r=t.attribs)!=null&&r["data-marimo-doc"])){let n=t.attribs["data-marimo-doc"];return(0,l.jsx)(D,{qualifiedName:n,children:e})}},ot=(e,t)=>{var r,n;if(t instanceof f.Element&&((r=t.attribs)!=null&&r["data-tooltip"])){if((((n=t.name)==null?void 0:n.toLowerCase())??"").startsWith("marimo-"))return;let i=t.attribs["data-tooltip"];return(0,l.jsx)(F,{content:i,children:e})}},st=e=>{let t=(0,K.c)(3),{children:r}=e,n=(0,u.useRef)(null),i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,l.jsx)(O,{tooltip:!1,className:"p-1",value:()=>{var s;let o=(s=n.current)==null?void 0:s.firstChild;return o&&o.textContent||""}})}),t[0]=i):i=t[0];let a;return t[1]===r?a=t[2]:(a=(0,l.jsxs)("div",{className:"relative group codehilite-wrapper",ref:n,children:[r,i]}),t[1]=r,t[2]=a),a};const lt=({html:e,additionalReplacements:t=[],alwaysSanitizeHtml:r=!0})=>(0,l.jsx)(ct,{html:e,alwaysSanitizeHtml:r,additionalReplacements:t});var ct=({html:e,additionalReplacements:t=[],alwaysSanitizeHtml:r})=>{let n=J();return mt({html:(0,u.useMemo)(()=>r||n?N(e):e,[e,r,n]),additionalReplacements:t})};function mt({html:e,additionalReplacements:t=[]}){let r=[Z,tt,et,...t],n=[nt,rt,at,ot,Q,Y],i=[it];return k(e,{replace:(a,o)=>{for(let s of r){let c=s(a,o);if(c)return c}return a},transform:(a,o,s)=>{let c=a;for(let d of n){let m=d(c,o,s);if(m){c=m;break}}for(let d of i){let m=d(c,o,s);m&&(c=m)}return c}})}export{v as n,lt as t};
1
+ import{s as y}from"./chunk-LvLJmgfZ.js";import{i as E,p as C,u as S}from"./useEvent-D91BmmQi.js";import{t as M}from"./react-Bj1aDYRI.js";import{Ci as k,St as H,Tn as I,at as j,p as L,wi as f,xn as N}from"./cells-RJTD-euN.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{_ as w}from"./useEventListener-BakX-tnw.js";import{c as _}from"./utils-Dev6I_Kv.js";import{t as A}from"./jsx-runtime-PbYoItBR.js";import{t as F}from"./tooltip-CgQpRVyN.js";import{t as O}from"./copy-icon-EHMT-qlr.js";import{t as V}from"./usePress-BSFUeqnS.js";import{n as W}from"./useDebounce-CpLI2dsc.js";import{t as R}from"./useRunCells-D5aAUcAa.js";var q=g(),u=y(M(),1),l=y(A(),1);const z=e=>{let t=(0,q.c)(16),r,n,i;t[0]===e?(r=t[1],n=t[2],i=t[3]):({href:n,children:r,...i}=e,t[0]=e,t[1]=r,t[2]=n,t[3]=i);let a=(0,u.useRef)(null),o;t[4]===n?o=t[5]:(o=()=>{let h=new URL(globalThis.location.href);h.hash=n,globalThis.history.pushState({},"",h.toString()),globalThis.dispatchEvent(new HashChangeEvent("hashchange"));let T=n.slice(1),x=document.getElementById(T);x&&x.scrollIntoView({behavior:"smooth",block:"start"})},t[4]=n,t[5]=o);let s=o,c;t[6]===s?c=t[7]:(c={onPress:()=>{s()}},t[6]=s,t[7]=c);let{pressProps:d}=V(c),m;t[8]===s?m=t[9]:(m=h=>{h.preventDefault(),s()},t[8]=s,t[9]=m);let b=m,p;return t[10]!==r||t[11]!==b||t[12]!==n||t[13]!==d||t[14]!==i?(p=(0,l.jsx)("a",{ref:a,href:n,...d,onClick:b,...i,children:r}),t[10]=r,t[11]=b,t[12]=n,t[13]=d,t[14]=i,t[15]=p):p=t[15],p};async function $(e){let t=L().inOrderIds.at(0);if(t)try{let r=await N.request({document:e,cellId:t});if(!r||r.options.length===0)return;let n=e.split(".").pop()??e,i=r.options[0],a=r.options.find(o=>o.name===n)??i;a!=null&&a.completion_info&&E.set(I,{documentation:a.completion_info})}catch(r){w.debug(`Doc lookup failed for "${e}"`,r)}}var P=g();const D=e=>{let t=(0,P.c)(8),{qualifiedName:r,children:n}=e,i;t[0]===r?i=t[1]:(i=()=>{$(r)},t[0]=r,t[1]=i);let a=W(i,100),o;t[2]===a?o=t[3]:(o=()=>a.cancel(),t[2]=a,t[3]=o);let s;return t[4]!==n||t[5]!==a||t[6]!==o?(s=(0,l.jsx)("span",{onMouseEnter:a,onMouseLeave:o,children:n}),t[4]=n,t[5]=a,t[6]=o,t[7]=s):s=t[7],s};function B(e){if(typeof e!="object"||!e)return!1;let t=e;return!(t.trusted!==!0||t.notebookCode!==void 0&&typeof t.notebookCode!="string")}function U(){let e=window==null?void 0:window.__MARIMO_EXPORT_CONTEXT__;return B(e)?e:void 0}function v(){var e;return((e=U())==null?void 0:e.trusted)===!0}function X(){if(E.get(R)||v()||E.get(_))return!0;try{if(j()==="read")return!0}catch{}return!1}var G=C(e=>{let t=e(R),r=e(_);if(t||r||v())return!1;let n=!0;try{n=j()==="read"}catch{return!0}return!n});function J(){return S(G)}var K=g(),Z=e=>{if(e instanceof f.Element&&!/^[A-Za-z][\w-]*$/.test(e.name))return u.createElement(u.Fragment)},Q=(e,t)=>{if(t instanceof f.Element&&t.name==="body"){if((0,u.isValidElement)(e)&&"props"in e){let r=e.props.children;return(0,l.jsx)(l.Fragment,{children:r})}return}},Y=(e,t)=>{if(t instanceof f.Element&&t.name==="html"){if((0,u.isValidElement)(e)&&"props"in e){let r=e.props.children;return(0,l.jsx)(l.Fragment,{children:r})}return}},tt=e=>{if(e instanceof f.Element&&e.attribs&&e.name==="iframe"){let t=document.createElement("iframe");return Object.entries(e.attribs).forEach(([r,n])=>{r.startsWith('"')&&r.endsWith('"')&&(r=r.slice(1,-1)),t.setAttribute(r,n)}),(0,l.jsx)("div",{dangerouslySetInnerHTML:{__html:t.outerHTML}})}},et=e=>{if(e instanceof f.Element&&e.name==="script"){let t=e.attribs.src;if(!t)return;if(!X())return w.warn(`[RenderHTML] refusing <script src> in untrusted context: ${t}`),(0,l.jsx)(l.Fragment,{});if(![...document.querySelectorAll("script[src]")].some(r=>r.getAttribute("src")===t)){let r=document.createElement("script");r.src=t,document.head.append(r)}return(0,l.jsx)(l.Fragment,{})}},rt=(e,t)=>{if(t instanceof f.Element&&t.name==="a"){let r=t.attribs.href;if(r!=null&&r.startsWith("#")&&!r.startsWith("#code/")){let n=null;return(0,u.isValidElement)(e)&&"props"in e&&(n=e.props.children),(0,l.jsx)(z,{href:r,...t.attribs,children:n})}}},nt=(e,t,r)=>{var n,i;if(t instanceof f.Element&&t.name==="div"&&((i=(n=t.attribs)==null?void 0:n.class)!=null&&i.includes("codehilite")))return(0,l.jsx)(st,{children:e},r)},it=(e,t,r)=>{var i;if(!(t instanceof f.Element)||t.name!=="img")return;let n=(i=t.attribs)==null?void 0:i.src;if(!(!n||!(0,u.isValidElement)(e))&&!/^data:/i.test(n))return(0,u.cloneElement)(e,{key:`${n}-${r}`})},at=(e,t)=>{var r;if(t instanceof f.Element&&((r=t.attribs)!=null&&r["data-marimo-doc"])){let n=t.attribs["data-marimo-doc"];return(0,l.jsx)(D,{qualifiedName:n,children:e})}},ot=(e,t)=>{var r,n;if(t instanceof f.Element&&((r=t.attribs)!=null&&r["data-tooltip"])){if((((n=t.name)==null?void 0:n.toLowerCase())??"").startsWith("marimo-"))return;let i=t.attribs["data-tooltip"];return(0,l.jsx)(F,{content:i,children:e})}},st=e=>{let t=(0,K.c)(3),{children:r}=e,n=(0,u.useRef)(null),i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,l.jsx)(O,{tooltip:!1,className:"p-1",value:()=>{var s;let o=(s=n.current)==null?void 0:s.firstChild;return o&&o.textContent||""}})}),t[0]=i):i=t[0];let a;return t[1]===r?a=t[2]:(a=(0,l.jsxs)("div",{className:"relative group codehilite-wrapper",ref:n,children:[r,i]}),t[1]=r,t[2]=a),a};const lt=({html:e,additionalReplacements:t=[],alwaysSanitizeHtml:r=!0})=>(0,l.jsx)(ct,{html:e,alwaysSanitizeHtml:r,additionalReplacements:t});var ct=({html:e,additionalReplacements:t=[],alwaysSanitizeHtml:r})=>{let n=J();return mt({html:(0,u.useMemo)(()=>r||n?H(e):e,[e,r,n]),additionalReplacements:t})};function mt({html:e,additionalReplacements:t=[]}){let r=[Z,tt,et,...t],n=[nt,rt,at,ot,Q,Y],i=[it];return k(e,{replace:(a,o)=>{for(let s of r){let c=s(a,o);if(c)return c}return a},transform:(a,o,s)=>{let c=a;for(let d of n){let m=d(c,o,s);if(m){c=m;break}}for(let d of i){let m=d(c,o,s);m&&(c=m)}return c}})}export{v as n,lt as t};
@@ -1 +1 @@
1
- import{s as S}from"./chunk-LvLJmgfZ.js";import{t as D}from"./react-Bj1aDYRI.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{v as M}from"./useEventListener-BakX-tnw.js";import{h as w,u as q}from"./config-3clPIEB9.js";import{n as E,t as T}from"./cn-X2M2usMq.js";import{t as F}from"./jsx-runtime-PbYoItBR.js";import{t as O}from"./tooltip-CgQpRVyN.js";import{r as W}from"./button-BF7GSjhW.js";import{r as L}from"./requests-KshNNAOp.js";import{t as V}from"./createLucideIcon-BTp1tQDO.js";import{i as N}from"./useDeleteCell-DwNTIWuB.js";import{C as B,O as I,ut as P,w as K}from"./input-DB2LiTiQ.js";import{t as U}from"./square-35tXIgiR.js";import{N as H,P as _,V as G,j as C,k as J}from"./usePress-BSFUeqnS.js";import{l as Q}from"./RSPContexts-VzcTZjG1.js";import{t as X}from"./context-C2Ie4tn_.js";import{a as z}from"./renderShortcut-LpVarhnQ.js";var Y=V("hard-drive-download",[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 18h.01",key:"h775k"}]]),y=S(D(),1);function Z(n,e){let{"aria-label":t,"aria-labelledby":a,orientation:r="horizontal"}=n,[o,c]=(0,y.useState)(!1);G(()=>{var i;c(!!(e.current&&((i=e.current.parentElement)!=null&&i.closest('[role="toolbar"]'))))});let{direction:u}=X(),m=u==="rtl"&&r==="horizontal",f=Q(e),l=i=>{if(C(i.currentTarget,_(i))){if(r==="horizontal"&&i.key==="ArrowRight"||r==="vertical"&&i.key==="ArrowDown")m?f.focusPrevious():f.focusNext();else if(r==="horizontal"&&i.key==="ArrowLeft"||r==="vertical"&&i.key==="ArrowUp")m?f.focusNext():f.focusPrevious();else if(i.key==="Tab"){i.stopPropagation(),s.current=H(),i.shiftKey?f.focusFirst():f.focusLast();return}else return;i.stopPropagation(),i.preventDefault()}},s=(0,y.useRef)(null),b=i=>{!C(i.currentTarget,i.relatedTarget)&&!s.current&&(s.current=_(i))},p=i=>{if(s.current&&!C(i.currentTarget,i.relatedTarget)&&C(e.current,_(i))){var h;(h=s.current)==null||h.focus(),s.current=null}};return{toolbarProps:{...P(n,{labelable:!0}),role:o?"group":"toolbar","aria-orientation":r,"aria-label":t,"aria-labelledby":t==null?a:void 0,onKeyDownCapture:o?void 0:l,onFocusCapture:o?void 0:p,onBlurCapture:o?void 0:b}}}var $=(0,y.createContext)({}),ee=(0,y.forwardRef)(function(n,e){[n,e]=B(n,e,$);let{toolbarProps:t}=Z(n,e),a=K({...n,values:{orientation:n.orientation||"horizontal"},defaultClassName:"react-aria-Toolbar"}),r=P(n,{global:!0});return delete r.id,y.createElement(I.div,{...J(r,a,t),ref:e,slot:n.slot||void 0,"data-orientation":n.orientation||"horizontal"},a.children)}),te=x(),re=200;function R(n){let e=(0,te.c)(3),[t,a]=(0,y.useState)(!1),r,o;return e[0]===n?(r=e[1],o=e[2]):(r=()=>{if(!n)return;a(!1);let c=setTimeout(()=>{a(!0)},re);return()=>clearTimeout(c)},o=[n],e[0]=n,e[1]=r,e[2]=o),(0,y.useEffect)(r,o),n&&t}var A=x(),g=S(F(),1),oe=E("rounded-full shadow-xs-solid border p-[5px] transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 [&>svg]:size-3 active:shadow-none bg-background",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",stale:"bg-(--yellow-3) hover:bg-(--yellow-4) text-(--yellow-11)",green:"hover:bg-(--grass-2) hover:text-(--grass-11) hover:border-[var(--grass-7)],",disabled:"opacity-50 cursor-not-allowed",danger:"hover:bg-(--red-3) hover:text-(--red-11)"}},defaultVariants:{variant:"default"}});const k=n=>{let e=(0,A.c)(18),t,a,r,o,c,u,m;if(e[0]!==n){let{children:s,tooltip:b,disabled:p,variant:i,...h}=n;t=s,m=b;let d=p===void 0?!1:p;a=d,r=h,o=v=>{var j;d||((j=h.onClick)==null||j.call(h,v))},c=W.preventFocus,u=T(oe({variant:i}),h.className),e[0]=n,e[1]=t,e[2]=a,e[3]=r,e[4]=o,e[5]=c,e[6]=u,e[7]=m}else t=e[1],a=e[2],r=e[3],o=e[4],c=e[5],u=e[6],m=e[7];let f;e[8]!==t||e[9]!==a||e[10]!==r||e[11]!==o||e[12]!==c||e[13]!==u?(f=(0,g.jsx)("button",{disabled:a,...r,onClick:o,onMouseDown:c,className:u,children:t}),e[8]=t,e[9]=a,e[10]=r,e[11]=o,e[12]=c,e[13]=u,e[14]=f):f=e[14];let l=f;if(m){let s;return e[15]!==l||e[16]!==m?(s=(0,g.jsx)(O,{content:m,side:"top",delayDuration:200,usePortal:!1,children:l}),e[15]=l,e[16]=m,e[17]=s):s=e[17],s}return l},ae=n=>{let e=(0,A.c)(5),{children:t,className:a}=n,r;e[0]===a?r=e[1]:(r=T("flex items-center gap-1 bg-background m-[2px] rounded-full",a),e[0]=a,e[1]=r);let o;return e[2]!==t||e[3]!==r?(o=(0,g.jsx)(ee,{className:r,children:t}),e[2]=t,e[3]=r,e[4]=o):o=e[4],o};var ne=x();const ie=n=>{let e=(0,ne.c)(9),{connectionState:t,status:a}=n,{sendInterrupt:r}=L(),o=R(a==="running"),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=z("global.interrupt"),e[0]=c):c=e[0];let u;e[1]!==t||e[2]!==o?(u=w(t)||!o,e[1]=t,e[2]=o,e[3]=u):u=e[3];let m=o?r:M.NOOP,f=o?"stale":"disabled",l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(U,{strokeWidth:1.5}),e[4]=l):l=e[4];let s;return e[5]!==u||e[6]!==m||e[7]!==f?(s=(0,g.jsx)(k,{tooltip:c,disabled:u,onClick:m,variant:f,"data-testid":"run-button",children:l}),e[5]=u,e[6]=m,e[7]=f,e[8]=s):s=e[8],s};var le=x();function se({connectionState:n,needsRun:e,loading:t,inactive:a}){return w(n)?"disabled":e&&!t?"stale":t||a?"disabled":"green"}const de=n=>{let e=(0,le.c)(27),{onClick:t,connectionState:a,needsRun:r,status:o,config:c,edited:u}=n,m=o==="disabled-transitively",f=o==="running"||o==="queued",l,s;e[0]!==m||e[1]!==c.disabled||e[2]!==a||e[3]!==u||e[4]!==f||e[5]!==r?(l=w(a)||f||!c.disabled&&m&&!u,s=se({connectionState:a,needsRun:r,loading:f,inactive:l}),e[0]=m,e[1]=c.disabled,e[2]=a,e[3]=u,e[4]=f,e[5]=r,e[6]=l,e[7]=s):(l=e[6],s=e[7]);let b=s;if(c.disabled){let d;e[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,g.jsx)(Y,{}),e[8]=d):d=e[8];let v;return e[9]!==l||e[10]!==t||e[11]!==b?(v=(0,g.jsx)(k,{tooltip:"Add code to notebook",disabled:l,onClick:t,variant:b,"data-testid":"run-button",children:d}),e[9]=l,e[10]=t,e[11]=b,e[12]=v):v=e[12],v}if(!c.disabled&&m&&!u){let d;e[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,g.jsx)(N,{strokeWidth:1.2}),e[13]=d):d=e[13];let v;return e[14]!==l||e[15]!==t||e[16]!==b?(v=(0,g.jsx)(k,{disabled:l,tooltip:"This cell can't be run because it has a disabled ancestor",onClick:t,variant:b,"data-testid":"run-button",children:d}),e[14]=l,e[15]=t,e[16]=b,e[17]=v):v=e[17],v}let p;if(w(a)){let d;e[18]===a?d=e[19]:(d=q(a),e[18]=a,e[19]=d),p=d}else if(o==="queued")p="This cell is already queued to run";else if(o==="running")p="This cell is already running.";else{let d;e[20]===Symbol.for("react.memo_cache_sentinel")?(d=z("cell.run"),e[20]=d):d=e[20],p=d}let i;e[21]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(N,{strokeWidth:1.2}),e[21]=i):i=e[21];let h;return e[22]!==l||e[23]!==t||e[24]!==p||e[25]!==b?(h=(0,g.jsx)(k,{tooltip:p,disabled:l,onClick:t,variant:b,"data-testid":"run-button",children:i}),e[22]=l,e[23]=t,e[24]=p,e[25]=b,e[26]=h):h=e[26],h};export{R as a,k as i,ie as n,ae as r,de as t};
1
+ import{s as S}from"./chunk-LvLJmgfZ.js";import{t as D}from"./react-Bj1aDYRI.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{v as M}from"./useEventListener-BakX-tnw.js";import{h as w,u as q}from"./config-3clPIEB9.js";import{n as E,t as T}from"./cn-X2M2usMq.js";import{t as F}from"./jsx-runtime-PbYoItBR.js";import{t as O}from"./tooltip-CgQpRVyN.js";import{r as W}from"./button-BF7GSjhW.js";import{r as L}from"./requests-KshNNAOp.js";import{t as V}from"./createLucideIcon-BTp1tQDO.js";import{i as N}from"./useDeleteCell-Sj06CzJn.js";import{C as B,O as I,ut as P,w as K}from"./input-DB2LiTiQ.js";import{t as U}from"./square-35tXIgiR.js";import{N as H,P as _,V as G,j as C,k as J}from"./usePress-BSFUeqnS.js";import{l as Q}from"./RSPContexts-VzcTZjG1.js";import{t as X}from"./context-C2Ie4tn_.js";import{a as z}from"./renderShortcut-LpVarhnQ.js";var Y=V("hard-drive-download",[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 18h.01",key:"h775k"}]]),y=S(D(),1);function Z(n,e){let{"aria-label":t,"aria-labelledby":a,orientation:r="horizontal"}=n,[o,c]=(0,y.useState)(!1);G(()=>{var i;c(!!(e.current&&((i=e.current.parentElement)!=null&&i.closest('[role="toolbar"]'))))});let{direction:u}=X(),m=u==="rtl"&&r==="horizontal",f=Q(e),l=i=>{if(C(i.currentTarget,_(i))){if(r==="horizontal"&&i.key==="ArrowRight"||r==="vertical"&&i.key==="ArrowDown")m?f.focusPrevious():f.focusNext();else if(r==="horizontal"&&i.key==="ArrowLeft"||r==="vertical"&&i.key==="ArrowUp")m?f.focusNext():f.focusPrevious();else if(i.key==="Tab"){i.stopPropagation(),s.current=H(),i.shiftKey?f.focusFirst():f.focusLast();return}else return;i.stopPropagation(),i.preventDefault()}},s=(0,y.useRef)(null),b=i=>{!C(i.currentTarget,i.relatedTarget)&&!s.current&&(s.current=_(i))},p=i=>{if(s.current&&!C(i.currentTarget,i.relatedTarget)&&C(e.current,_(i))){var h;(h=s.current)==null||h.focus(),s.current=null}};return{toolbarProps:{...P(n,{labelable:!0}),role:o?"group":"toolbar","aria-orientation":r,"aria-label":t,"aria-labelledby":t==null?a:void 0,onKeyDownCapture:o?void 0:l,onFocusCapture:o?void 0:p,onBlurCapture:o?void 0:b}}}var $=(0,y.createContext)({}),ee=(0,y.forwardRef)(function(n,e){[n,e]=B(n,e,$);let{toolbarProps:t}=Z(n,e),a=K({...n,values:{orientation:n.orientation||"horizontal"},defaultClassName:"react-aria-Toolbar"}),r=P(n,{global:!0});return delete r.id,y.createElement(I.div,{...J(r,a,t),ref:e,slot:n.slot||void 0,"data-orientation":n.orientation||"horizontal"},a.children)}),te=x(),re=200;function R(n){let e=(0,te.c)(3),[t,a]=(0,y.useState)(!1),r,o;return e[0]===n?(r=e[1],o=e[2]):(r=()=>{if(!n)return;a(!1);let c=setTimeout(()=>{a(!0)},re);return()=>clearTimeout(c)},o=[n],e[0]=n,e[1]=r,e[2]=o),(0,y.useEffect)(r,o),n&&t}var A=x(),g=S(F(),1),oe=E("rounded-full shadow-xs-solid border p-[5px] transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 [&>svg]:size-3 active:shadow-none bg-background",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",stale:"bg-(--yellow-3) hover:bg-(--yellow-4) text-(--yellow-11)",green:"hover:bg-(--grass-2) hover:text-(--grass-11) hover:border-[var(--grass-7)],",disabled:"opacity-50 cursor-not-allowed",danger:"hover:bg-(--red-3) hover:text-(--red-11)"}},defaultVariants:{variant:"default"}});const k=n=>{let e=(0,A.c)(18),t,a,r,o,c,u,m;if(e[0]!==n){let{children:s,tooltip:b,disabled:p,variant:i,...h}=n;t=s,m=b;let d=p===void 0?!1:p;a=d,r=h,o=v=>{var j;d||((j=h.onClick)==null||j.call(h,v))},c=W.preventFocus,u=T(oe({variant:i}),h.className),e[0]=n,e[1]=t,e[2]=a,e[3]=r,e[4]=o,e[5]=c,e[6]=u,e[7]=m}else t=e[1],a=e[2],r=e[3],o=e[4],c=e[5],u=e[6],m=e[7];let f;e[8]!==t||e[9]!==a||e[10]!==r||e[11]!==o||e[12]!==c||e[13]!==u?(f=(0,g.jsx)("button",{disabled:a,...r,onClick:o,onMouseDown:c,className:u,children:t}),e[8]=t,e[9]=a,e[10]=r,e[11]=o,e[12]=c,e[13]=u,e[14]=f):f=e[14];let l=f;if(m){let s;return e[15]!==l||e[16]!==m?(s=(0,g.jsx)(O,{content:m,side:"top",delayDuration:200,usePortal:!1,children:l}),e[15]=l,e[16]=m,e[17]=s):s=e[17],s}return l},ae=n=>{let e=(0,A.c)(5),{children:t,className:a}=n,r;e[0]===a?r=e[1]:(r=T("flex items-center gap-1 bg-background m-[2px] rounded-full",a),e[0]=a,e[1]=r);let o;return e[2]!==t||e[3]!==r?(o=(0,g.jsx)(ee,{className:r,children:t}),e[2]=t,e[3]=r,e[4]=o):o=e[4],o};var ne=x();const ie=n=>{let e=(0,ne.c)(9),{connectionState:t,status:a}=n,{sendInterrupt:r}=L(),o=R(a==="running"),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=z("global.interrupt"),e[0]=c):c=e[0];let u;e[1]!==t||e[2]!==o?(u=w(t)||!o,e[1]=t,e[2]=o,e[3]=u):u=e[3];let m=o?r:M.NOOP,f=o?"stale":"disabled",l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(U,{strokeWidth:1.5}),e[4]=l):l=e[4];let s;return e[5]!==u||e[6]!==m||e[7]!==f?(s=(0,g.jsx)(k,{tooltip:c,disabled:u,onClick:m,variant:f,"data-testid":"run-button",children:l}),e[5]=u,e[6]=m,e[7]=f,e[8]=s):s=e[8],s};var le=x();function se({connectionState:n,needsRun:e,loading:t,inactive:a}){return w(n)?"disabled":e&&!t?"stale":t||a?"disabled":"green"}const de=n=>{let e=(0,le.c)(27),{onClick:t,connectionState:a,needsRun:r,status:o,config:c,edited:u}=n,m=o==="disabled-transitively",f=o==="running"||o==="queued",l,s;e[0]!==m||e[1]!==c.disabled||e[2]!==a||e[3]!==u||e[4]!==f||e[5]!==r?(l=w(a)||f||!c.disabled&&m&&!u,s=se({connectionState:a,needsRun:r,loading:f,inactive:l}),e[0]=m,e[1]=c.disabled,e[2]=a,e[3]=u,e[4]=f,e[5]=r,e[6]=l,e[7]=s):(l=e[6],s=e[7]);let b=s;if(c.disabled){let d;e[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,g.jsx)(Y,{}),e[8]=d):d=e[8];let v;return e[9]!==l||e[10]!==t||e[11]!==b?(v=(0,g.jsx)(k,{tooltip:"Add code to notebook",disabled:l,onClick:t,variant:b,"data-testid":"run-button",children:d}),e[9]=l,e[10]=t,e[11]=b,e[12]=v):v=e[12],v}if(!c.disabled&&m&&!u){let d;e[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,g.jsx)(N,{strokeWidth:1.2}),e[13]=d):d=e[13];let v;return e[14]!==l||e[15]!==t||e[16]!==b?(v=(0,g.jsx)(k,{disabled:l,tooltip:"This cell can't be run because it has a disabled ancestor",onClick:t,variant:b,"data-testid":"run-button",children:d}),e[14]=l,e[15]=t,e[16]=b,e[17]=v):v=e[17],v}let p;if(w(a)){let d;e[18]===a?d=e[19]:(d=q(a),e[18]=a,e[19]=d),p=d}else if(o==="queued")p="This cell is already queued to run";else if(o==="running")p="This cell is already running.";else{let d;e[20]===Symbol.for("react.memo_cache_sentinel")?(d=z("cell.run"),e[20]=d):d=e[20],p=d}let i;e[21]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(N,{strokeWidth:1.2}),e[21]=i):i=e[21];let h;return e[22]!==l||e[23]!==t||e[24]!==p||e[25]!==b?(h=(0,g.jsx)(k,{tooltip:p,disabled:l,onClick:t,variant:b,"data-testid":"run-button",children:i}),e[22]=l,e[23]=t,e[24]=p,e[25]=b,e[26]=h):h=e[26],h};export{R as a,k as i,ie as n,ae as r,de as t};