@marimo-team/frontend 0.24.3-dev36 → 0.24.3-dev39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-CsA_EqMs.js → ConnectedDataExplorerComponent-B52ZeTyE.js} +1 -1
  2. package/dist/assets/{LazyAnyLanguageCodeMirror-jAV-LD6v.js → LazyAnyLanguageCodeMirror-DLXghRUF.js} +2 -2
  3. package/dist/assets/{RunButton-Bo4tYCqW.js → RunButton-BQonXEus.js} +7 -7
  4. package/dist/assets/{abnfDiagram-VCTEODGH-Dpe20TKk.js → abnfDiagram-VCTEODGH-DAeh_Fhj.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-CkjbbM3K.js → add-cell-with-ai-BqPNrEkg.js} +10 -10
  6. package/dist/assets/{agent-panel-CJ__bZ2U.js → agent-panel-0QpsWJ6N.js} +4 -4
  7. package/dist/assets/{ai-model-dropdown-CFjRFxPs.js → ai-model-dropdown-JyOkbRgs.js} +2 -2
  8. package/dist/assets/{any-language-editor-CVvssaI-.js → any-language-editor-DktznOiF.js} +1 -1
  9. package/dist/assets/app-config-button-hlzBggjV.js +1 -0
  10. package/dist/assets/{architectureDiagram-5GKGNRK7-LjPvmKXz.js → architectureDiagram-5GKGNRK7-CLV_t53p.js} +1 -1
  11. package/dist/assets/{blockDiagram-I7D4REHJ-Dcw3YZc7.js → blockDiagram-I7D4REHJ-4NgsF8dG.js} +1 -1
  12. package/dist/assets/cache-panel-JD-3Sv8N.js +1 -0
  13. package/dist/assets/{cells-DcI93as7.js → cells-CP3hwqVX.js} +5 -5
  14. package/dist/assets/{chat-display-BxoFsvsk.js → chat-display-f6K2vP1M.js} +1 -1
  15. package/dist/assets/{chat-panel-OPXY9xqa.js → chat-panel-CPSz0Ygy.js} +3 -3
  16. package/dist/assets/{chat-ui-B7Op0m5y.js → chat-ui-DJskwz2p.js} +3 -3
  17. package/dist/assets/{chunk-IMKFNOWR-BhKJw_u0.js → chunk-IMKFNOWR-gOOmxUZk.js} +1 -1
  18. package/dist/assets/{chunk-SHT3W25Y-BLq6CG7S.js → chunk-SHT3W25Y-Vz0rwhW1.js} +1 -1
  19. package/dist/assets/{chunk-SVP7TREG-DYlo9xS8.js → chunk-SVP7TREG-DXVPjbAe.js} +1 -1
  20. package/dist/assets/{chunk-TICWLB2K-D5DDJ9ap.js → chunk-TICWLB2K-DwIBziwV.js} +1 -1
  21. package/dist/assets/{classDiagram-ZZMXUADV-Cpgr9tEc.js → classDiagram-ZZMXUADV-CyUk9nSP.js} +1 -1
  22. package/dist/assets/{classDiagram-v2-VYDZK3BY-Cpgr9tEc.js → classDiagram-v2-VYDZK3BY-CyUk9nSP.js} +1 -1
  23. package/dist/assets/{command-palette-BBhAYPL7.js → command-palette-B8zE6Ssx.js} +1 -1
  24. package/dist/assets/{common-DGrIhswR.js → common-CHWS0pGT.js} +1 -1
  25. package/dist/assets/{components-BzThHPL8.js → components-B8fYemsk.js} +1 -1
  26. package/dist/assets/{components-XxbsL-NL.js → components-v8nHOj_y.js} +1 -1
  27. package/dist/assets/config-CBLBAU5c.js +1 -0
  28. package/dist/assets/{cynefinDiagram-5FMLGOSQ-cA8HNBWT.js → cynefinDiagram-5FMLGOSQ-DgdyjbQj.js} +1 -1
  29. package/dist/assets/{dagre-Cgh-CozI.js → dagre-CPZ1FUhr.js} +1 -1
  30. package/dist/assets/{dagre-GXQ25YYZ-DMu-4gaX.js → dagre-GXQ25YYZ-D-zMjnRl.js} +1 -1
  31. package/dist/assets/{data-grid-overlay-editor-o8dOZGaO.js → data-grid-overlay-editor-CFK1KT2V.js} +1 -1
  32. package/dist/assets/{dependency-graph-panel-DSfkNvTe.js → dependency-graph-panel-D_AqnRMs.js} +3 -3
  33. package/dist/assets/{diagram-S7CK7UJ4-0g042cjW.js → diagram-S7CK7UJ4-DgflUEq5.js} +1 -1
  34. package/dist/assets/{diagram-UQ7AKVKN-CoeYBFyV.js → diagram-UQ7AKVKN-m3R2UDJM.js} +1 -1
  35. package/dist/assets/{diagram-VX7I27RA-CIbkeHtW.js → diagram-VX7I27RA-Blh2o8ik.js} +1 -1
  36. package/dist/assets/{diagram-Z3DM3KII-VNvdSBDs.js → diagram-Z3DM3KII-C4PcKTD6.js} +1 -1
  37. package/dist/assets/{documentation-panel-BYssFEdu.js → documentation-panel-CoSoUakB.js} +1 -1
  38. package/dist/assets/{ebnfDiagram-PWID7BFC-gn-sVFpd.js → ebnfDiagram-PWID7BFC-BGtaPv5f.js} +1 -1
  39. package/dist/assets/edit-page-Qqpz6lsF.js +184 -0
  40. package/dist/assets/{erDiagram-RLTQ6QDP-CHEeDG3E.js → erDiagram-RLTQ6QDP-D8JVfIur.js} +1 -1
  41. package/dist/assets/{error-panel-BEyUxPKv.js → error-panel-CdqCDhu4.js} +1 -1
  42. package/dist/assets/{file-explorer-panel-BkidiqtU.js → file-explorer-panel-DcWEU9mt.js} +1 -1
  43. package/dist/assets/{file-name-input-DRW2aJnO.js → file-name-input-BQw4Jo-i.js} +1 -1
  44. package/dist/assets/{flowDiagram-HODETNUW-juSojTPv.js → flowDiagram-HODETNUW-DMus6jv_.js} +1 -1
  45. package/dist/assets/{gallery-page-C8KW0aF4.js → gallery-page-_mH_5ChL.js} +1 -1
  46. package/dist/assets/{glide-data-editor-C-EXft2Q.js → glide-data-editor-CFcsGnit.js} +4 -4
  47. package/dist/assets/{graphlib-rnp4xs81.js → graphlib-Sg3tw7ov.js} +1 -1
  48. package/dist/assets/has-DXmEv5FL.js +1 -0
  49. package/dist/assets/{home-page-CG6vbN4B.js → home-page-hKIN8akr.js} +2 -2
  50. package/dist/assets/index-B8OSEJVD.css +2 -0
  51. package/dist/assets/index-qY3lu9r4.js +62 -0
  52. package/dist/assets/{infoDiagram-27XIBGKW-C4VdBugr.js → infoDiagram-27XIBGKW-DYsYx_PP.js} +1 -1
  53. package/dist/assets/{ishikawaDiagram-5VMMS53U-BS-QMwse.js → ishikawaDiagram-5VMMS53U-D1Rpw_lT.js} +1 -1
  54. package/dist/assets/{kanban-definition-UXKFOSKX-HVONQMlk.js → kanban-definition-UXKFOSKX-CGxkIydR.js} +1 -1
  55. package/dist/assets/{logs-panel-BNeI_Aah.js → logs-panel-C4k8cMGx.js} +1 -1
  56. package/dist/assets/{mermaid-LovyOmSB.js → mermaid-BLxkTwc2.js} +4 -4
  57. package/dist/assets/{mindmap-definition-YA3MSWOX-DyBY39cg.js → mindmap-definition-YA3MSWOX-BiuGfVWP.js} +1 -1
  58. package/dist/assets/{number-overlay-editor-CwRpjoZm.js → number-overlay-editor-Ck2sCaO7.js} +1 -1
  59. package/dist/assets/{outline-panel-bDklL4uf.js → outline-panel-Z6FAHcVy.js} +1 -1
  60. package/dist/assets/packages-panel-CgL87fcO.js +1 -0
  61. package/dist/assets/panels-BSvT-tNo.js +33 -0
  62. package/dist/assets/{pegDiagram-XKGWAZYB-kQLDO-kO.js → pegDiagram-XKGWAZYB-Ci7mDvEz.js} +1 -1
  63. package/dist/assets/{pieDiagram-E7YTZNPT-DJsFtYCp.js → pieDiagram-E7YTZNPT-DZbp0Icu.js} +1 -1
  64. package/dist/assets/{process-output-CVZMao0e.js → process-output-COWXLjOr.js} +1 -1
  65. package/dist/assets/{railroadDiagram-O6MQD6OU-Bcf0CSqH.js → railroadDiagram-O6MQD6OU-CzXIAsPx.js} +1 -1
  66. package/dist/assets/{requirementDiagram-BXWQKSXE-AGcJcQbq.js → requirementDiagram-BXWQKSXE-DsIrXWi5.js} +1 -1
  67. package/dist/assets/{reveal-component-Dx_L-cIu.js → reveal-component-CnW6op6f.js} +3 -3
  68. package/dist/assets/run-page-B_JOrxWI.js +1 -0
  69. package/dist/assets/{scratchpad-panel-DfvfNJDq.js → scratchpad-panel-DktgeGw9.js} +1 -1
  70. package/dist/assets/{secrets-panel-CZbY8wgN.js → secrets-panel-Di8040gJ.js} +1 -1
  71. package/dist/assets/{sequenceDiagram-WJ2MYXX4-Cokf6L0R.js → sequenceDiagram-WJ2MYXX4-YEyNvwCq.js} +1 -1
  72. package/dist/assets/{session-panel-Cmsewdss.js → session-panel-FmN2Ix-x.js} +1 -1
  73. package/dist/assets/{snippets-panel-B_XreO-C.js → snippets-panel-BmXCx6yt.js} +1 -1
  74. package/dist/assets/{stateDiagram-D77RDMKH-CdkNCpaH.js → stateDiagram-D77RDMKH-B3Ja9Vk7.js} +1 -1
  75. package/dist/assets/{stateDiagram-v2-MP3YSRHH-CpudHHc4.js → stateDiagram-v2-MP3YSRHH-Bn7tPa_c.js} +1 -1
  76. package/dist/assets/{swimlanes-42K2YHIH-_8ELJqVB.js → swimlanes-42K2YHIH-DTgRQfmF.js} +1 -1
  77. package/dist/assets/{swimlanesDiagram-VR7AAH4N-qd1AHOJZ.js → swimlanesDiagram-VR7AAH4N-DKJ2qI6J.js} +1 -1
  78. package/dist/assets/{swiper-component-DY4M2PJo.js → swiper-component-CYrf6kVu.js} +1 -1
  79. package/dist/assets/{terminal-CTP4KOwN.js → terminal-CBss1CM1.js} +2 -2
  80. package/dist/assets/{timeline-definition-24CTP7MA-donBeXb2.js → timeline-definition-24CTP7MA-CKo5fHyB.js} +1 -1
  81. package/dist/assets/{tracing-DgHfkjPY.js → tracing-BBufraD6.js} +1 -1
  82. package/dist/assets/{tracing-panel-Qiu_S5kw.js → tracing-panel-lUoyxh7t.js} +2 -2
  83. package/dist/assets/{useCellActionButton-BCWgCI24.js → useCellActionButton-VJCYmjUy.js} +1 -1
  84. package/dist/assets/{vega-component-CC6LYLy6.js → vega-component-BUKpKmrE.js} +1 -1
  85. package/dist/assets/{vega-embed-container-CMoER1M0.js → vega-embed-container-BgSrb2ci.js} +1 -1
  86. package/dist/assets/{vennDiagram-4TSXK5OY-BgCWyFeF.js → vennDiagram-4TSXK5OY-CA_b78pk.js} +1 -1
  87. package/dist/assets/{wardleyDiagram-VM6X3IG4-rkxibRUc.js → wardleyDiagram-VM6X3IG4-CT2UYDxA.js} +1 -1
  88. package/dist/assets/{xychartDiagram-S5SC5T6Z-Bfs-6MBb.js → xychartDiagram-S5SC5T6Z-BOvLySSM.js} +1 -1
  89. package/dist/index.html +5 -5
  90. package/package.json +1 -1
  91. package/src/__mocks__/requests.ts +7 -0
  92. package/src/components/editor/alerts/connecting-alert.tsx +1 -66
  93. package/src/components/editor/alerts/connection-notice.tsx +140 -0
  94. package/src/components/editor/app-container.tsx +9 -3
  95. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +114 -7
  96. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +165 -0
  97. package/src/components/editor/chrome/panels/packages-panel.tsx +93 -166
  98. package/src/components/editor/chrome/panels/sandbox-controller.tsx +106 -0
  99. package/src/components/editor/chrome/panels/sandbox-panel.tsx +173 -0
  100. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +3 -1
  101. package/src/components/editor/header/__tests__/status.test.tsx +8 -20
  102. package/src/components/editor/header/status.tsx +5 -3
  103. package/src/components/editor/renderers/cell-array.tsx +1 -5
  104. package/src/core/MarimoApp.tsx +0 -2
  105. package/src/core/edit-app.tsx +8 -5
  106. package/src/core/errors/state.ts +1 -2
  107. package/src/core/islands/bootstrap.ts +1 -0
  108. package/src/core/islands/bridge.ts +3 -0
  109. package/src/core/network/connection-notice.ts +84 -0
  110. package/src/core/network/requests-lazy.ts +3 -0
  111. package/src/core/network/requests-network.ts +12 -0
  112. package/src/core/network/requests-static.ts +3 -0
  113. package/src/core/network/requests-toasting.tsx +3 -0
  114. package/src/core/network/resolve.ts +2 -1
  115. package/src/core/network/types.ts +7 -0
  116. package/src/core/packages/__tests__/usePackageAction.test.tsx +129 -0
  117. package/src/core/packages/__tests__/useSandboxController.test.tsx +165 -0
  118. package/src/core/packages/package-data.ts +35 -0
  119. package/src/core/packages/sandbox-state.ts +15 -0
  120. package/src/core/packages/toast-components.tsx +11 -0
  121. package/src/core/packages/useInstallPackage.ts +1 -1
  122. package/src/core/packages/usePackageAction.ts +51 -0
  123. package/src/core/packages/usePackageDependencies.ts +22 -0
  124. package/src/core/packages/useSandboxController.ts +188 -0
  125. package/src/core/run-app.tsx +2 -0
  126. package/src/core/wasm/bridge.ts +11 -0
  127. package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +212 -2
  128. package/src/core/websocket/types.ts +11 -1
  129. package/src/core/websocket/useMarimoKernelConnection.tsx +43 -8
  130. package/src/stories/sandbox.stories.tsx +308 -0
  131. package/dist/assets/app-config-button-BgRYYpoH.js +0 -1
  132. package/dist/assets/cache-panel-DP6AuApU.js +0 -1
  133. package/dist/assets/config-D4PQ0ExB.js +0 -1
  134. package/dist/assets/edit-page-B5T44oKE.js +0 -184
  135. package/dist/assets/has-BPYf0PV2.js +0 -1
  136. package/dist/assets/index-Bit3pmfj.css +0 -2
  137. package/dist/assets/index-D3ydSabW.js +0 -62
  138. package/dist/assets/packages-panel-BvnEJCqo.js +0 -1
  139. package/dist/assets/panels-DvYa8VJO.js +0 -33
  140. package/dist/assets/run-page-BIX2SnOg.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-CUdNIagt.js";import{t}from"./compiler-runtime-BQ9S8nyo.js";import{g as n}from"./useEventListener-BdZUApHd.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{t as i}from"./copy-icon-BGwpo8Hs.js";import{C as a,Hn as o}from"./index-D3ydSabW.js";import{n as s,t as c}from"./esm-BErdoAcz.js";var l=t();e();var u=r(),d={python:`py`,python3:`py`,javascript:`js`,typescript:`ts`,shell:`sh`,bash:`sh`,unknown:`text`,undefined:`text`},f=[];function p(e){return e?e in c:!1}var m=e=>{let t=(0,l.c)(29),r,m,h,g,_,v;if(t[0]!==e){let{language:n,hideUnsupportedLanguageErrors:i,showCopyButton:a,extensions:o,...s}=e;m=i,_=a,g=s,h=n,r=o===void 0?f:o,h=d[h||``]||h,v=p(h),t[0]=e,t[1]=r,t[2]=m,t[3]=h,t[4]=g,t[5]=_,t[6]=v}else r=t[1],m=t[2],h=t[3],g=t[4],_=t[5],v=t[6];let y=v;y||n.warn(`Language ${h} not found in CodeMirror.`);let b;bb0:{if(!p(h)){b=r;break bb0}let e;t[7]===h?e=t[8]:(e=s(h),t[7]=h,t[8]=e);let n;t[9]!==r||t[10]!==e?(n=[e,...r].filter(Boolean),t[9]=r,t[10]=e,t[11]=n):n=t[11],b=n}let x=b,S;t[12]!==m||t[13]!==y||t[14]!==h?(S=!y&&!m&&(0,u.jsx)(o,{className:`mb-1 rounded-sm`,error:`Language ${h} not supported. Supported languages are: ${Object.keys(c).join(`, `)}`}),t[12]=m,t[13]=y,t[14]=h,t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==g||t[18]!==_?(C=_&&y&&(0,u.jsx)(i,{tooltip:!1,buttonClassName:`absolute top-2 right-2 z-10 hover-action`,className:`h-4 w-4 text-muted-foreground`,value:g.value||``,toastTitle:`Copied to clipboard`}),t[16]=y,t[17]=g,t[18]=_,t[19]=C):C=t[19];let w;t[20]===x?w=t[21]:(w=[...x],t[20]=x,t[21]=w);let T;t[22]!==g||t[23]!==w?(T=(0,u.jsx)(a,{...g,extensions:w}),t[22]=g,t[23]=w,t[24]=T):T=t[24];let E;return t[25]!==S||t[26]!==C||t[27]!==T?(E=(0,u.jsxs)(`div`,{className:`relative w-full group hover-actions-parent`,children:[S,C,T]}),t[25]=S,t[26]=C,t[27]=T,t[28]=E):E=t[28],E};export{d as LANGUAGE_MAP,m as default};
1
+ import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-CUdNIagt.js";import{t}from"./compiler-runtime-BQ9S8nyo.js";import{g as n}from"./useEventListener-BdZUApHd.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{t as i}from"./copy-icon-BGwpo8Hs.js";import{C as a,Hn as o}from"./index-qY3lu9r4.js";import{n as s,t as c}from"./esm-BErdoAcz.js";var l=t();e();var u=r(),d={python:`py`,python3:`py`,javascript:`js`,typescript:`ts`,shell:`sh`,bash:`sh`,unknown:`text`,undefined:`text`},f=[];function p(e){return e?e in c:!1}var m=e=>{let t=(0,l.c)(29),r,m,h,g,_,v;if(t[0]!==e){let{language:n,hideUnsupportedLanguageErrors:i,showCopyButton:a,extensions:o,...s}=e;m=i,_=a,g=s,h=n,r=o===void 0?f:o,h=d[h||``]||h,v=p(h),t[0]=e,t[1]=r,t[2]=m,t[3]=h,t[4]=g,t[5]=_,t[6]=v}else r=t[1],m=t[2],h=t[3],g=t[4],_=t[5],v=t[6];let y=v;y||n.warn(`Language ${h} not found in CodeMirror.`);let b;bb0:{if(!p(h)){b=r;break bb0}let e;t[7]===h?e=t[8]:(e=s(h),t[7]=h,t[8]=e);let n;t[9]!==r||t[10]!==e?(n=[e,...r].filter(Boolean),t[9]=r,t[10]=e,t[11]=n):n=t[11],b=n}let x=b,S;t[12]!==m||t[13]!==y||t[14]!==h?(S=!y&&!m&&(0,u.jsx)(o,{className:`mb-1 rounded-sm`,error:`Language ${h} not supported. Supported languages are: ${Object.keys(c).join(`, `)}`}),t[12]=m,t[13]=y,t[14]=h,t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==g||t[18]!==_?(C=_&&y&&(0,u.jsx)(i,{tooltip:!1,buttonClassName:`absolute top-2 right-2 z-10 hover-action`,className:`h-4 w-4 text-muted-foreground`,value:g.value||``,toastTitle:`Copied to clipboard`}),t[16]=y,t[17]=g,t[18]=_,t[19]=C):C=t[19];let w;t[20]===x?w=t[21]:(w=[...x],t[20]=x,t[21]=w);let T;t[22]!==g||t[23]!==w?(T=(0,u.jsx)(a,{...g,extensions:w}),t[22]=g,t[23]=w,t[24]=T):T=t[24];let E;return t[25]!==S||t[26]!==C||t[27]!==T?(E=(0,u.jsxs)(`div`,{className:`relative w-full group hover-actions-parent`,children:[S,C,T]}),t[25]=S,t[26]=C,t[27]=T,t[28]=E):E=t[28],E};export{d as LANGUAGE_MAP,m as default};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-Dc9HkKI2.js";import{t as n}from"./react-CUdNIagt.js";import{Fn as r,Nn as i,_n as a,cn as o,hn as s,in as c,ln as l,nn as u,on as d,qn as f,rn as p,sn as m,vn as h}from"./cells-CP3hwqVX.js";import{t as g}from"./compiler-runtime-BQ9S8nyo.js";import{C as _,O as v,k as y}from"./utils-B3E7otfg.js";import{O as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-JyOkbRgs.js";import{M as E}from"./config-CBLBAU5c.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-CTZhLA-n.js";import{l as k}from"./select-C_hPB6Bz.js";import{t as A}from"./tooltip-Dnxk1tcQ.js";import{t as j}from"./button-BoklZTGL.js";import{s as M}from"./arrays-BqUx5USx.js";import{r as N}from"./requests-yTHMxhVa.js";import{t as P}from"./createLucideIcon-rHn2EdoM.js";import{r as F}from"./useNumberFormatter-C4-_TnkF.js";import{M as I,T as L,b as R,j as z,p as B,w as V}from"./write-secret-modal-B5x3omai.js";import{r as H}from"./input-DPJmbuuZ.js";import{t as U}from"./settings-DlKTeV_0.js";import{t as W}from"./use-toast-CC89xOwH.js";import{r as ee}from"./useDebounce-DMbg9X18.js";import{Ui as te,zr as G}from"./index-qY3lu9r4.js";import{n as K}from"./useInterval-ChchS0Rl.js";var q=P(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),J=g(),Y=D(),X=e=>{let t=(0,J.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=R(),{sendShutdown:l}=N(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(Z,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,Y.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Y.jsx)(F,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,Y.jsx)(K,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,Y.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function Z(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,J.c)(37),[t,n]=_(),{saveAppConfig:a}=N(),s=(0,Q.useId)(),h=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(v),e[0]=g):g=e[0];let y;e[1]===t?y=e[2]:(y={resolver:g,defaultValues:t},e[1]=t,e[2]=y);let b=r(y),C;e[3]!==a||e[4]!==n?(C=async e=>{await a({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=a,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=ee(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(S,{children:`Notebook Settings`}),(0,Y.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,Y.jsxs)($,{title:`Display`,children:[(0,Y.jsx)(d,{control:b.control,name:`width`,render:oe}),(0,Y.jsx)(d,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,Y.jsxs)($,{title:`Custom Files`,children:[(0,Y.jsx)(d,{control:b.control,name:`css_file`,render:ce}),(0,Y.jsx)(d,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let P;e[18]===b.control?P=e[19]:(P=(0,Y.jsx)($,{title:`Data`,children:(0,Y.jsx)(d,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=P);let F;e[20]!==s||e[21]!==h?(F=e=>{let{field:t}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Y.jsxs)(m,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(p,{children:(0,Y.jsxs)(`div`,{className:`flex gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Y.jsx)(f,{id:s,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(M(t.value,`html`))}}),(0,Y.jsx)(o,{htmlFor:s,children:`HTML`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Y.jsx)(f,{id:h,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(M(t.value,`ipynb`))}}),(0,Y.jsx)(o,{htmlFor:h,children:`IPYNB`})]})]})}),(0,Y.jsx)(l,{})]}),(0,Y.jsxs)(c,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,Y.jsx)(G,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=s,e[21]=h,e[22]=F):F=e[22];let I;e[23]!==b.control||e[24]!==F?(I=(0,Y.jsx)($,{title:`Exporting outputs`,children:(0,Y.jsx)(d,{control:b.control,name:`auto_download`,render:F})}),e[23]=b.control,e[24]=F,e[25]=I):I=e[25];let L;e[26]!==I||e[27]!==A||e[28]!==j||e[29]!==P?(L=(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,P,I]}),e[26]=I,e[27]=A,e[28]=j,e[29]=P,e[30]=L):L=e[30];let R;e[31]!==L||e[32]!==O?(R=(0,Y.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,L]}),e[31]=L,e[32]=O,e[33]=R):R=e[33];let z;return e[34]!==b||e[35]!==R?(z=(0,Y.jsx)(u,{...b,children:R}),e[34]=b,e[35]=R,e[36]=z):z=e[36],z},$=e=>{let t=(0,J.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Y.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,Y.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,Y.jsxs)(m,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Y.jsx)(o,{children:`Width`}),(0,Y.jsx)(p,{children:(0,Y.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,Y.jsx)(l,{})]})}function se(e){let{field:t}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Y.jsxs)(m,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Y.jsx)(o,{children:`App title`}),(0,Y.jsx)(p,{children:(0,Y.jsx)(H,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Y.jsx)(l,{})]}),(0,Y.jsx)(c,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Y.jsxs)(m,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Y.jsx)(o,{className:`shrink-0`,children:`Custom CSS`}),(0,Y.jsx)(p,{children:(0,Y.jsx)(H,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Y.jsx)(l,{})]}),(0,Y.jsx)(c,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Y.jsxs)(m,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Y.jsx)(o,{className:`shrink-0`,children:`HTML Head`}),(0,Y.jsx)(p,{children:(0,Y.jsx)(H,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,Y.jsx)(l,{})]}),(0,Y.jsxs)(c,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,Y.jsx)(G,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,Y.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Y.jsxs)(m,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Y.jsx)(o,{children:`SQL Output Type`}),(0,Y.jsx)(p,{children:(0,Y.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),W({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,Y.jsx)(l,{})]}),(0,Y.jsxs)(c,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,Y.jsx)(G,{className:`inline`,children:`native`}),`. See the`,` `,(0,Y.jsx)(B,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,J.c)(32),{showAppConfig:r,disabled:i,tooltip:o}=e,c=r===void 0||r,l=i!==void 0&&i,u=o===void 0?`Settings`:o,[d,f]=t(w),p=l?`disabled`:`hint-green`,m;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Y.jsx)(U,{strokeWidth:1.8}),n[0]=m):m=n[0];let g;n[1]===u?g=n[2]:(g=(0,Y.jsx)(A,{content:u,children:m}),n[1]=u,n[2]=g);let _;n[3]!==l||n[4]!==p||n[5]!==g?(_=(0,Y.jsx)(K,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:l,color:p,children:g}),n[3]=l,n[4]=p,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Y.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,Y.jsx)(te,{children:(0,Y.jsx)(z,{children:`User settings`})}),(0,Y.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!c){let e;n[8]===v?e=n[9]:(e=(0,Y.jsx)(I,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==f||n[11]!==d||n[12]!==e?(t=(0,Y.jsxs)(V,{open:d,onOpenChange:f,children:[e,b]}),n[10]=f,n[11]=d,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,Y.jsx)(h,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Y.jsx)(re,{}),T=(0,Y.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===f?E=n[19]:(E=()=>f(!0),n[18]=f,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Y.jsx)(U,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,Y.jsxs)(a,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,Y.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,Y.jsxs)(s,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==f||n[27]!==d?(M=(0,Y.jsx)(V,{open:d,onOpenChange:f,children:b}),n[26]=f,n[27]=d,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,Y.jsxs)(Y.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{X as n,q as r,fe as t};