@marimo-team/frontend 0.23.12-dev9 → 0.23.12

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 (98) hide show
  1. package/dist/assets/{CellStatus-BGSEw-sx.js → CellStatus-xkT4Dvj4.js} +1 -1
  2. package/dist/assets/JsonOutput-FFLZqPUK.js +53 -0
  3. package/dist/assets/{MarimoErrorOutput-G8Q8ZYoi.js → MarimoErrorOutput-BQt_FXJL.js} +1 -1
  4. package/dist/assets/{RenderHTML-DXJCvdz4.js → RenderHTML-Cq4mwWYz.js} +1 -1
  5. package/dist/assets/{RunButton-B0ruC_FE.js → RunButton-DdQ4s_KP.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-DWNUMbns.js → add-cell-with-ai-wdY7HT-D.js} +26 -26
  7. package/dist/assets/{add-connection-dialog-CZ2UuO8f.js → add-connection-dialog-C41ThK2T.js} +1 -1
  8. package/dist/assets/{agent-panel-B-_gvxz2.js → agent-panel-q5ey8yNH.js} +1 -1
  9. package/dist/assets/{ai-model-dropdown-BW60s6ul.js → ai-model-dropdown-DQb_CyMN.js} +4 -4
  10. package/dist/assets/{app-config-button-DJaefZBz.js → app-config-button-8FXNdkBs.js} +1 -1
  11. package/dist/assets/{cell-editor-CvLW6KK3.js → cell-editor-CFq9iL3S.js} +1 -1
  12. package/dist/assets/{cell-link-BWqpbaiv.js → cell-link-DgWTiCtG.js} +1 -1
  13. package/dist/assets/{cells-BidbgSuB.js → cells-06TDmJ8V.js} +49 -49
  14. package/dist/assets/{chat-display-BRCFntOw.js → chat-display-DO7nc_uY.js} +1 -1
  15. package/dist/assets/{chat-panel-BGCbxSQx.js → chat-panel-DmUkj42a.js} +1 -1
  16. package/dist/assets/{chat-ui-CceYGzB9.js → chat-ui-Bf7t-NAW.js} +1 -1
  17. package/dist/assets/{column-preview-BbgM2h8n.js → column-preview-oHsVFerC.js} +1 -1
  18. package/dist/assets/{command-palette-Mqu8KKo1.js → command-palette-Bvl7fQ8h.js} +1 -1
  19. package/dist/assets/{common-B94MReIe.js → common-cKvfH0fD.js} +1 -1
  20. package/dist/assets/{components-DoRr7Hf1.js → components-BhmX9dcm.js} +1 -1
  21. package/dist/assets/{datasource-DI-YUWev.js → datasource-mVfTJz3V.js} +1 -1
  22. package/dist/assets/{dependency-graph-panel-B7_LMfP4.js → dependency-graph-panel-D9C_hBQw.js} +1 -1
  23. package/dist/assets/{documentation-panel-BGXFZYSy.js → documentation-panel-C0uXzYri.js} +1 -1
  24. package/dist/assets/{download-DgEarSps.js → download-VxqV5OSK.js} +1 -1
  25. package/dist/assets/{edit-page-DExCsBoE.js → edit-page-CInfJ1ps.js} +6 -6
  26. package/dist/assets/{error-panel-Bd98g_JW.js → error-panel-D2WmJDnT.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-5GiP_o58.js → file-explorer-panel-nn5I1oLj.js} +3 -3
  28. package/dist/assets/{file-icons-BwFX01F6.js → file-icons-BeJWUbBH.js} +1 -1
  29. package/dist/assets/{file-name-input-C_iFa52z.js → file-name-input-Slq_KVFS.js} +1 -1
  30. package/dist/assets/{floating-outline-BDx00oB1.js → floating-outline-3UBj62S1.js} +1 -1
  31. package/dist/assets/{focus-CocfMydm.js → focus-DqhVePQT.js} +1 -1
  32. package/dist/assets/{form-DgnBiuvP.js → form-pEJO4Mq_.js} +1 -1
  33. package/dist/assets/{home-page-BuVWyEpt.js → home-page-CFgoMQu4.js} +1 -1
  34. package/dist/assets/{hooks-dPm1h9aq.js → hooks-NssnE3R8.js} +1 -1
  35. package/dist/assets/{html-to-image-TCtIotr9.js → html-to-image-CbQeOjEJ.js} +1 -1
  36. package/dist/assets/index-BjsskD4V.js +38 -0
  37. package/dist/assets/{index-Bj8QWDiJ.css → index-CaelsqOA.css} +1 -1
  38. package/dist/assets/{kiosk-mode-sfaqwl5N.js → kiosk-mode-CyYnV3_y.js} +1 -1
  39. package/dist/assets/{layout-CVg460UU.js → layout-ChW1-odP.js} +4 -4
  40. package/dist/assets/{logs-panel-Bs7u1Wfd.js → logs-panel-CiP_30S4.js} +1 -1
  41. package/dist/assets/{markdown-renderer-CGZTB2Dx.js → markdown-renderer-C1yypOYF.js} +1 -1
  42. package/dist/assets/{name-cell-input-D4k4IMJD.js → name-cell-input-CIkFEB6-.js} +1 -1
  43. package/dist/assets/{outline-panel-5sRz-QR2.js → outline-panel-BfysapqU.js} +1 -1
  44. package/dist/assets/{packages-panel-DhXpwKjz.js → packages-panel-BYm2thcs.js} +1 -1
  45. package/dist/assets/{panels-C3XyfWZa.js → panels-hLpsLawB.js} +1 -1
  46. package/dist/assets/{process-output-CRIsE74Q.js → process-output-BIlXY0iE.js} +1 -1
  47. package/dist/assets/{radio-group-Czn6pjhm.js → radio-group-BaOG2bSA.js} +1 -1
  48. package/dist/assets/{readonly-python-code-DtUWOxnZ.js → readonly-python-code-CNyK8G1T.js} +1 -1
  49. package/dist/assets/{reveal-component-DDZ2IxNS.js → reveal-component-D0boNLsp.js} +1 -1
  50. package/dist/assets/{run-page-K4C80Bqk.js → run-page-B0OR2l0l.js} +1 -1
  51. package/dist/assets/{scratchpad-panel-Cwl5E8lN.js → scratchpad-panel-Di7uCP6T.js} +1 -1
  52. package/dist/assets/{session-panel-DGjSy-dF.js → session-panel-D6GA7GoC.js} +1 -1
  53. package/dist/assets/{snippets-panel-94zH2JCj.js → snippets-panel-DV2ir7q8.js} +1 -1
  54. package/dist/assets/{state-ClDZE-YW.js → state-B3ypjIx-.js} +1 -1
  55. package/dist/assets/state-DD6m9X2h.js +3 -0
  56. package/dist/assets/{textarea-Dz09niIv.js → textarea-BM7hAwR3.js} +1 -1
  57. package/dist/assets/{tracing-C_GaBGFx.js → tracing-DwjgsPkU.js} +1 -1
  58. package/dist/assets/{tracing-panel-BkzzwM_5.js → tracing-panel-BS9eUNK_.js} +2 -2
  59. package/dist/assets/{tree-actions-CesD4Rcl.js → tree-actions-lVyJAYy7.js} +1 -1
  60. package/dist/assets/{useCellActionButton-DNYd1sgZ.js → useCellActionButton-B88iHApv.js} +1 -1
  61. package/dist/assets/{useDeleteCell-CCCMHD2a.js → useDeleteCell-CXc93le9.js} +1 -1
  62. package/dist/assets/{useDependencyPanelTab-P57LIkal.js → useDependencyPanelTab-9Vnr8-OR.js} +1 -1
  63. package/dist/assets/{useNotebookActions-B8xsvWwy.js → useNotebookActions-DSfevQ7S.js} +1 -1
  64. package/dist/assets/{useRunCells-DFXV3Rm5.js → useRunCells-DNaOKKqW.js} +1 -1
  65. package/dist/assets/{useSplitCell-R-0wFhnd.js → useSplitCell-IsXuVcLF.js} +1 -1
  66. package/dist/index.html +23 -23
  67. package/package.json +1 -1
  68. package/src/components/data-table/TableBottomBar.tsx +4 -1
  69. package/src/components/data-table/data-table.tsx +26 -17
  70. package/src/components/data-table/utils.ts +1 -4
  71. package/src/components/editor/ai/__tests__/completion-utils.test.ts +48 -2
  72. package/src/components/editor/ai/completion-utils.ts +54 -36
  73. package/src/components/editor/app-container.tsx +3 -1
  74. package/src/components/editor/output/ImageOutput.tsx +12 -3
  75. package/src/components/editor/renderers/vertical-layout/vertical-layout-wrapper.tsx +2 -2
  76. package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +67 -0
  77. package/src/core/codemirror/go-to-definition/__tests__/utils.test.ts +47 -0
  78. package/src/core/codemirror/go-to-definition/commands.ts +47 -30
  79. package/src/core/codemirror/go-to-definition/utils.ts +0 -1
  80. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +54 -0
  81. package/src/core/codemirror/reactive-references/analyzer.ts +44 -35
  82. package/src/core/islands/__tests__/bridge.test.ts +25 -0
  83. package/src/core/islands/__tests__/parse.test.ts +585 -1
  84. package/src/core/islands/__tests__/test-utils.tsx +10 -1
  85. package/src/core/islands/bridge.ts +6 -1
  86. package/src/core/islands/constants.ts +2 -0
  87. package/src/core/islands/parse.ts +290 -13
  88. package/src/plugins/impl/DataTablePlugin.tsx +20 -1
  89. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +141 -1
  90. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +54 -4
  91. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +104 -1
  92. package/src/plugins/impl/anywidget/__tests__/model.test.ts +19 -0
  93. package/src/plugins/impl/anywidget/model.ts +15 -0
  94. package/src/utils/__tests__/records.test.ts +27 -0
  95. package/src/utils/records.ts +12 -0
  96. package/dist/assets/JsonOutput-CxKHBYIA.js +0 -53
  97. package/dist/assets/index-CrgYGp5w.js +0 -38
  98. package/dist/assets/state-CzwQl1aE.js +0 -3
@@ -1,4 +1,4 @@
1
- import{s as te}from"./chunk-LvLJmgfZ.js";import{d as Se,f as Ae,l as Ee,u as re}from"./useEvent-D91BmmQi.js";import{t as ze}from"./react-Bj1aDYRI.js";import{D as Me,Fi as qe,In as Pe,On as Le,Si as se,_r as We,b as De,it as Oe,pr as Be,xi as Qe}from"./cells-BidbgSuB.js";import{t as E}from"./compiler-runtime-B3qBwwSJ.js";import{t as Re}from"./invariant-C2E8KCbD.js";import{i as Ve,y as He}from"./utils-Dev6I_Kv.js";import{t as ne}from"./cn-X2M2usMq.js";import{t as Ue}from"./jsx-runtime-PbYoItBR.js";import{a as Ge,i as Je,n as Ke,r as Xe}from"./multi-map-9ogswH46.js";import{a as Ye,p as Ze,r as et,t as tt}from"./dropdown-menu-DfGLyCbP.js";import{t as B}from"./tooltip-CgQpRVyN.js";import{r as le,t as S}from"./button-BF7GSjhW.js";import{t as ie}from"./createLucideIcon-BTp1tQDO.js";import{r as ae}from"./x-9vLEgLY6.js";import{t as rt}from"./chevron-right-C7RH0Nc7.js";import{t as st}from"./package-BoMcg6sy.js";import{t as nt}from"./sparkles-DctOjjEz.js";import{c as ce,n as lt}from"./datasource-DI-YUWev.js";import{a as it}from"./dist-DnIl7RU-.js";import{t as at}from"./RenderHTML-DXJCvdz4.js";import{t as oe}from"./kbd-BCXa3Ocm.js";import{t as z}from"./links-DK7te6sJ.js";import{r as ct,t as ot}from"./alert-Bjh7v4lb.js";import{o as mt,t as dt}from"./useInstallPackage-DEHK-C20.js";import{n as pt}from"./state-ClDZE-YW.js";import{n as k}from"./cell-link-BWqpbaiv.js";var M=ie("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"}]]),me=ie("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),de=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,pe=String.raw`(?<!_)${de}`;`${de}`;var ut=new RegExp(pe),K=new RegExp(pe,"g");function ue(r){let e=[];K.lastIndex=0;let n=0,s=K.exec(r);for(;s!==null;)s.index>n&&e.push(r.slice(n,s.index)),e.push({cellId:s[1],name:s[2]}),n=s.index+s[0].length,s=K.exec(r);return n<r.length&&e.push(r.slice(n)),e}function xt(r){return ut.test(r)}function ht(r){let e=null,n=r.cursor();do n.name==="ExpressionStatement"&&(e=n.node);while(n.next());return e}function ft(r){let e=r.split(`
1
+ import{s as te}from"./chunk-LvLJmgfZ.js";import{d as Se,f as Ae,l as Ee,u as re}from"./useEvent-D91BmmQi.js";import{t as ze}from"./react-Bj1aDYRI.js";import{D as Me,Fi as qe,In as Pe,On as Le,Si as se,_r as We,b as De,it as Oe,pr as Be,xi as Qe}from"./cells-06TDmJ8V.js";import{t as E}from"./compiler-runtime-B3qBwwSJ.js";import{t as Re}from"./invariant-C2E8KCbD.js";import{i as Ve,y as He}from"./utils-Dev6I_Kv.js";import{t as ne}from"./cn-X2M2usMq.js";import{t as Ue}from"./jsx-runtime-PbYoItBR.js";import{a as Ge,i as Je,n as Ke,r as Xe}from"./multi-map-9ogswH46.js";import{a as Ye,p as Ze,r as et,t as tt}from"./dropdown-menu-DfGLyCbP.js";import{t as B}from"./tooltip-CgQpRVyN.js";import{r as le,t as S}from"./button-BF7GSjhW.js";import{t as ie}from"./createLucideIcon-BTp1tQDO.js";import{r as ae}from"./x-9vLEgLY6.js";import{t as rt}from"./chevron-right-C7RH0Nc7.js";import{t as st}from"./package-BoMcg6sy.js";import{t as nt}from"./sparkles-DctOjjEz.js";import{c as ce,n as lt}from"./datasource-mVfTJz3V.js";import{a as it}from"./dist-DnIl7RU-.js";import{t as at}from"./RenderHTML-Cq4mwWYz.js";import{t as oe}from"./kbd-BCXa3Ocm.js";import{t as z}from"./links-DK7te6sJ.js";import{r as ct,t as ot}from"./alert-Bjh7v4lb.js";import{o as mt,t as dt}from"./useInstallPackage-DEHK-C20.js";import{n as pt}from"./state-B3ypjIx-.js";import{n as k}from"./cell-link-DgWTiCtG.js";var M=ie("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"}]]),me=ie("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),de=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,pe=String.raw`(?<!_)${de}`;`${de}`;var ut=new RegExp(pe),K=new RegExp(pe,"g");function ue(r){let e=[];K.lastIndex=0;let n=0,s=K.exec(r);for(;s!==null;)s.index>n&&e.push(r.slice(n,s.index)),e.push({cellId:s[1],name:s[2]}),n=s.index+s[0].length,s=K.exec(r);return n<r.length&&e.push(r.slice(n)),e}function xt(r){return ut.test(r)}function ht(r){let e=null,n=r.cursor();do n.name==="ExpressionStatement"&&(e=n.node);while(n.next());return e}function ft(r){let e=r.split(`
2
2
  `),n=" ",s=ht(it.parse(r));if(!s)return["def _():",...X(e,n),`${n}return`,"","","_()"].join(`
3
3
  `);let i=r.slice(0,s.from).trim(),l=r.slice(s.from).trim(),c=i.split(`
4
4
  `),a=l.split(`
@@ -1 +1 @@
1
- import{s as y}from"./chunk-LvLJmgfZ.js";import{i as E,p as T,u as C}from"./useEvent-D91BmmQi.js";import{t as M}from"./react-Bj1aDYRI.js";import{Si as f,bn as k,m as H,ot as j,wn as I,xi as L,xt as N}from"./cells-BidbgSuB.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-BCIGtBo0.js";import{t as V}from"./usePress-mjvipKvz.js";import{n as W}from"./useDebounce-BlBSYv0n.js";import{t as R}from"./useRunCells-DFXV3Rm5.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 S=n.slice(1),v=document.getElementById(S);v&&v.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=H().inOrderIds.at(0);if(t)try{let r=await k.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 x(){var e;return((e=U())==null?void 0:e.trusted)===!0}function X(){if(E.get(R)||x()||E.get(_))return!0;try{if(j()==="read")return!0}catch{}return!1}var G=T(e=>{let t=e(R),r=e(_);if(t||r||x())return!1;let n=!0;try{n=j()==="read"}catch{return!0}return!n});function J(){return C(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 L(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{x as n,lt as t};
1
+ import{s as y}from"./chunk-LvLJmgfZ.js";import{i as E,p as T,u as C}from"./useEvent-D91BmmQi.js";import{t as M}from"./react-Bj1aDYRI.js";import{Si as f,bn as k,m as H,ot as j,wn as I,xi as L,xt as N}from"./cells-06TDmJ8V.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-BCIGtBo0.js";import{t as V}from"./usePress-mjvipKvz.js";import{n as W}from"./useDebounce-BlBSYv0n.js";import{t as R}from"./useRunCells-DNaOKKqW.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 S=n.slice(1),v=document.getElementById(S);v&&v.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=H().inOrderIds.at(0);if(t)try{let r=await k.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 x(){var e;return((e=U())==null?void 0:e.trusted)===!0}function X(){if(E.get(R)||x()||E.get(_))return!0;try{if(j()==="read")return!0}catch{}return!1}var G=T(e=>{let t=e(R),r=e(_);if(t||r||x())return!1;let n=!0;try{n=j()==="read"}catch{return!0}return!n});function J(){return C(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 L(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{x 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-BE150fVL.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-CCCMHD2a.js";import{C as B,O as I,ut as P,w as K}from"./input-b2KTOk0X.js";import{t as U}from"./square-DPWHdF_-.js";import{N as H,P as _,V as G,j as C,k as J}from"./usePress-mjvipKvz.js";import{l as Q}from"./RSPContexts-CXueMbRb.js";import{t as X}from"./context-DE_5rdOV.js";import{a as z}from"./renderShortcut-CKbqJyj4.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-BE150fVL.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-CXc93le9.js";import{C as B,O as I,ut as P,w as K}from"./input-b2KTOk0X.js";import{t as U}from"./square-DPWHdF_-.js";import{N as H,P as _,V as G,j as C,k as J}from"./usePress-mjvipKvz.js";import{l as Q}from"./RSPContexts-CXueMbRb.js";import{t as X}from"./context-DE_5rdOV.js";import{a as z}from"./renderShortcut-CKbqJyj4.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};