@marimo-team/frontend 0.23.14-dev3 → 0.23.14-dev5

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 (74) hide show
  1. package/dist/assets/{CellStatus-B43aF1fe.js → CellStatus-D3EKlB21.js} +1 -1
  2. package/dist/assets/{JsonOutput-DTeVFctC.js → JsonOutput-BfDKMXVF.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-DcImOp4r.js → MarimoErrorOutput-C9ti-mu4.js} +1 -1
  4. package/dist/assets/{RenderHTML-BLBwT24G.js → RenderHTML-FBKVQ49x.js} +1 -1
  5. package/dist/assets/{RunButton-CYnmbljZ.js → RunButton-BRhOWu7V.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-C5iuH1Jb.js → add-cell-with-ai-nJKSBAPb.js} +1 -1
  7. package/dist/assets/{add-connection-dialog-CXW90r_2.js → add-connection-dialog-CMK4qx7X.js} +1 -1
  8. package/dist/assets/{agent-panel-4NHH_Sae.js → agent-panel-B1Sy_w9H.js} +1 -1
  9. package/dist/assets/{ai-model-dropdown-DVeTiOGS.js → ai-model-dropdown-Brz68_s8.js} +1 -1
  10. package/dist/assets/{app-config-button-DQSFx7vo.js → app-config-button-DP_s193w.js} +1 -1
  11. package/dist/assets/{cell-editor-BZ6ZrToN.js → cell-editor-Dc80BOci.js} +1 -1
  12. package/dist/assets/{cell-link-LArpBcY-.js → cell-link-CaBSvNu3.js} +1 -1
  13. package/dist/assets/{cells-DQ5n6Zef.js → cells-DZEvA3zb.js} +57 -57
  14. package/dist/assets/{chat-display-DegYbxcN.js → chat-display-C2X2R6le.js} +1 -1
  15. package/dist/assets/{chat-panel-CvC2TxDx.js → chat-panel-Mb3VYb6T.js} +1 -1
  16. package/dist/assets/{chat-ui-Ddt6mEIC.js → chat-ui-D5NiPbFP.js} +1 -1
  17. package/dist/assets/{column-preview-VcOeHtkt.js → column-preview-CtFTSUj4.js} +1 -1
  18. package/dist/assets/{command-palette-CGHj_h4K.js → command-palette-RBwjW3re.js} +1 -1
  19. package/dist/assets/{common-XGVukwY0.js → common-DbLcwSDP.js} +1 -1
  20. package/dist/assets/{components-C2HqGrL_.js → components-o-HZCs8Y.js} +1 -1
  21. package/dist/assets/{datasource-BT-L2LDD.js → datasource-C4XU40Hp.js} +1 -1
  22. package/dist/assets/{dependency-graph-panel-DGDP7vz5.js → dependency-graph-panel-BMAOsCZ-.js} +1 -1
  23. package/dist/assets/{documentation-panel-ODnRqsmJ.js → documentation-panel-CtvI61ug.js} +1 -1
  24. package/dist/assets/{download-rKGlekSQ.js → download-DlMo0yoI.js} +1 -1
  25. package/dist/assets/{edit-page-CQkWgVdg.js → edit-page-neW4rs_q.js} +4 -4
  26. package/dist/assets/{error-panel-BjCDBUEW.js → error-panel-Czh-8YVF.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-UL0ND-sz.js → file-explorer-panel-BBIZ5Upt.js} +1 -1
  28. package/dist/assets/{file-icons-DBMviz_K.js → file-icons-C_azZLwC.js} +1 -1
  29. package/dist/assets/{file-name-input-C1PsBoII.js → file-name-input-BxTNV58f.js} +1 -1
  30. package/dist/assets/{floating-outline-CPTvLHMl.js → floating-outline-DWk90U4M.js} +1 -1
  31. package/dist/assets/{focus-Dol5ybck.js → focus-DHgSYMb6.js} +1 -1
  32. package/dist/assets/{form-B9I9mpZy.js → form-ClQGrP6i.js} +1 -1
  33. package/dist/assets/{home-page-MuT1rHVU.js → home-page-CJTghues.js} +1 -1
  34. package/dist/assets/{hooks-C7muIIiV.js → hooks-B_YOAMxc.js} +1 -1
  35. package/dist/assets/{html-to-image-CmK-WSPG.js → html-to-image-DY_stEj0.js} +1 -1
  36. package/dist/assets/{index-Cns3Ex2y.js → index-a3SXFqw7.js} +3 -3
  37. package/dist/assets/{kiosk-mode-CAa5-suK.js → kiosk-mode-BqSHurAE.js} +1 -1
  38. package/dist/assets/{layout-CRzOtEaD.js → layout-CPdBwJdJ.js} +3 -3
  39. package/dist/assets/{logs-panel-DJyCkydj.js → logs-panel-Z4miZLI5.js} +1 -1
  40. package/dist/assets/{markdown-renderer-f3mfGw8u.js → markdown-renderer-duAFwqLF.js} +1 -1
  41. package/dist/assets/{name-cell-input-DteS1CD8.js → name-cell-input-DulIaCIY.js} +1 -1
  42. package/dist/assets/{outline-panel-FvxWzBOw.js → outline-panel-BHR36Fu3.js} +1 -1
  43. package/dist/assets/{packages-panel-Cua7qm1T.js → packages-panel-wvuNuaJ7.js} +1 -1
  44. package/dist/assets/{panels-B1LHhh4P.js → panels-CUvqvTcK.js} +1 -1
  45. package/dist/assets/{process-output-Ll90qx0s.js → process-output-CNAM-uaM.js} +1 -1
  46. package/dist/assets/{radio-group-D7RG9Px_.js → radio-group-C03SYtE4.js} +1 -1
  47. package/dist/assets/{readonly-python-code-DHJTIc4H.js → readonly-python-code-Buc6Cpxg.js} +1 -1
  48. package/dist/assets/{reveal-component-DkKSevqs.js → reveal-component-DKV09ndk.js} +1 -1
  49. package/dist/assets/{run-page-CGrQ4rZG.js → run-page-x5Gp_vjo.js} +1 -1
  50. package/dist/assets/{scratchpad-panel-Dfbdc2Bu.js → scratchpad-panel-DaT9P31r.js} +1 -1
  51. package/dist/assets/{session-panel-Dywriyca.js → session-panel-am6zkzg4.js} +1 -1
  52. package/dist/assets/snippets-panel-Br8drXb6.js +1 -0
  53. package/dist/assets/{state-Cvt1qFuu.js → state-CV4SpBvo.js} +1 -1
  54. package/dist/assets/{state-VxOqftwq.js → state-CvarlPeY.js} +1 -1
  55. package/dist/assets/{textarea-DD5BwHTh.js → textarea-BaOwN3Me.js} +1 -1
  56. package/dist/assets/{tracing-Ckq9673r.js → tracing-DAzqwOSy.js} +1 -1
  57. package/dist/assets/{tracing-panel-7UPP4OM8.js → tracing-panel-DDISd3Mx.js} +2 -2
  58. package/dist/assets/{tree-actions-CjikjOBA.js → tree-actions-CNIHKi7f.js} +1 -1
  59. package/dist/assets/{useCellActionButton-TRa0-mam.js → useCellActionButton-CSYE6DW0.js} +1 -1
  60. package/dist/assets/{useDeleteCell-CICC5IPM.js → useDeleteCell-DeJTCYjE.js} +1 -1
  61. package/dist/assets/{useDependencyPanelTab-DUmpfdwT.js → useDependencyPanelTab-HcfMBFHT.js} +1 -1
  62. package/dist/assets/{useNotebookActions-CFivvltO.js → useNotebookActions-C1Ba1Deq.js} +1 -1
  63. package/dist/assets/{useRunCells-bcK6jTD2.js → useRunCells-CK2uMzyx.js} +1 -1
  64. package/dist/assets/{useSplitCell-CqcM6MQ1.js → useSplitCell-DIWUZzri.js} +1 -1
  65. package/dist/index.html +22 -22
  66. package/package.json +1 -1
  67. package/src/components/editor/chrome/panels/__tests__/snippet-display.test.ts +22 -0
  68. package/src/components/editor/chrome/panels/snippet-display.ts +27 -0
  69. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -2
  70. package/src/core/codemirror/completion/__tests__/signature-hint.test.ts +94 -0
  71. package/src/core/codemirror/completion/completer.ts +12 -1
  72. package/src/core/codemirror/completion/signature-hint.ts +68 -0
  73. package/src/core/codemirror/language/languages/python.ts +10 -4
  74. package/dist/assets/snippets-panel-Ee_wUGYF.js +0 -1
@@ -1 +1 @@
1
- import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-DQ5n6Zef.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-DVeTiOGS.js";import{E as Q,T as oe,b as ne}from"./utils-Dev6I_Kv.js";import{T as re}from"./config-BE150fVL.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-CC0gG4Av.js";import{i as de,r as he,t as me}from"./popover-DMNO6Poc.js";import{l as R}from"./select-Cjly7tmx.js";import{t as U}from"./tooltip-CgQpRVyN.js";import{t as xe}from"./button-BF7GSjhW.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-b2KTOk0X.js";import{t as Y}from"./settings-Cn43l_vx.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-DD5BwHTh.js";import{t as ge}from"./use-toast-BH8bU9Xf.js";import{i as be}from"./RSPContexts-CXueMbRb.js";import{n as we}from"./useDebounce-BlBSYv0n.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-Dr_Y1zNi.js";import{n as ke}from"./ImperativeModal-MQnbMIO2.js";import{t as O}from"./kbd-BCXa3Ocm.js";import{t as _e}from"./links-DK7te6sJ.js";import{t as G}from"./Inputs-CqgPhOqy.js";var Se=pe("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"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{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 De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
1
+ import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-DZEvA3zb.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-Brz68_s8.js";import{E as Q,T as oe,b as ne}from"./utils-Dev6I_Kv.js";import{T as re}from"./config-BE150fVL.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-CC0gG4Av.js";import{i as de,r as he,t as me}from"./popover-DMNO6Poc.js";import{l as R}from"./select-Cjly7tmx.js";import{t as U}from"./tooltip-CgQpRVyN.js";import{t as xe}from"./button-BF7GSjhW.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-b2KTOk0X.js";import{t as Y}from"./settings-Cn43l_vx.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-BaOwN3Me.js";import{t as ge}from"./use-toast-BH8bU9Xf.js";import{i as be}from"./RSPContexts-CXueMbRb.js";import{n as we}from"./useDebounce-BlBSYv0n.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-Dr_Y1zNi.js";import{n as ke}from"./ImperativeModal-MQnbMIO2.js";import{t as O}from"./kbd-BCXa3Ocm.js";import{t as _e}from"./links-DK7te6sJ.js";import{t as G}from"./Inputs-CqgPhOqy.js";var Se=pe("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"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{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 De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-CtNTubKN.js","./loro_wasm_bg-CXnd80ne.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var Ud=Object.defineProperty;var Ka=ee=>{throw TypeError(ee)};var Bd=(ee,H,we)=>H in ee?Ud(ee,H,{enumerable:!0,configurable:!0,writable:!0,value:we}):ee[H]=we;var g=(ee,H,we)=>Bd(ee,typeof H!="symbol"?H+"":H,we),Pd=(ee,H,we)=>H.has(ee)||Ka("Cannot "+we);var Xa=(ee,H,we)=>(Pd(ee,H,"read from private field"),we?we.call(ee):H.get(ee)),Ya=(ee,H,we)=>H.has(ee)?Ka("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(ee):H.set(ee,we);import{s as Qa}from"./chunk-LvLJmgfZ.js";import{d as Za,f as Cr,i as Y,l as In,n as ie,p as Pt,s as An,u as se}from"./useEvent-D91BmmQi.js";import{t as jd}from"./react-Bj1aDYRI.js";import{$n as Md,$t as Sr,At as jt,Bn as Rd,Cn as Gd,Ct as Jd,D as Tn,Dt as Fn,En as xr,Fi as Wd,G as ei,Gn as Vd,H as Ln,Ht as ti,I as $d,Jn as Hd,Ki as Ir,Kn as qd,Mi as ni,Nn as zd,Nt as Kd,Ot as Xd,Qr as Yd,Sn as Qd,St as Zd,Tt as Ar,U as ef,Un as ri,V as oi,Vn as tf,Vt as nf,W as ai,Wi as On,Wn as rf,Xt as Tr,Yn as of,Yt as af,a as ii,an as sf,b as ot,br as lf,cn as Dn,ct as cf,d as si,dn as uf,en as li,gn as df,gt as ff,h as wt,hi as ci,ht as Fr,in as mf,kt as pf,li as gf,mi as hf,oi as bf,ot as yf,q as ui,rn as wf,si as Lr,tn as di,u as fi,ui as vf,wt as Ef,xn as Nf,yn as kf,zn as Cf,__tla as Sf}from"./cells-DQ5n6Zef.js";import{B as xf,N as If,P as Or,R as mi,S as Af,T as pi,k as Tf,w as Ff}from"./zod-H_cgTO0M.js";import{t as Ee}from"./compiler-runtime-B3qBwwSJ.js";import{C as Lf,f as Of,m as Df,p as _f,t as Uf,v as Bf,w as Pf}from"./ai-model-dropdown-DVeTiOGS.js";import{_ as He,c as gi,h as Dr,t as jf,v as Mf}from"./useEventListener-BakX-tnw.js";import{t as Mt}from"./invariant-C2E8KCbD.js";import{_ as hi,c as Rf,g as bi,h as yi,l as wi,w as _r}from"./utils-Dev6I_Kv.js";import{S as vi,T as Gf,m as Jf,o as Wf,r as Ei,v as vt,w as Rt}from"./config-BE150fVL.js";import{n as Vf,t as $f}from"./switch-DHhZkGEv.js";import{n as Hf}from"./globals-BDWM3c_z.js";import{t as qf}from"./ErrorBoundary-Bo313Z9X.js";import{t as Ze}from"./cn-X2M2usMq.js";import{t as zf}from"./jsx-runtime-PbYoItBR.js";import{l as Kf,r as Xf,t as Yf}from"./popover-DMNO6Poc.js";import{X as Qf,Y as Zf,__tla as em}from"./JsonOutput-DTeVFctC.js";import{t as Ur}from"./label-CFvCMYuj.js";import{r as tm}from"./download-rKGlekSQ.js";import{t as _n}from"./tooltip-CgQpRVyN.js";import{r as Br,t as ut}from"./button-BF7GSjhW.js";import{$t as Gt,E as nm,Et as rm,H as Ni,Ht as Et,I as om,Jt as am,Kt as dt,Lt as Pr,P as im,Pt as sm,St as lm,Tt as ki,Ut as jr,V as Ci,Vt as cm,Wt as Jt,X as l,Xt as he,Zt as Xe,_ as um,a as dm,at as $,bt as fm,dt as Un,ht as mm,kt as pm,lt as gm,m as hm,mt as bm,nn as Bn,ot as ym,st as M,ut as et,w as wm,wt as qe,xt as vm,zt as Pn}from"./dist-Dez1I5M9.js";import{E as Em,P as Nm,S as km,a as Cm,b as Sm,c as xm,n as Mr,r as Im,w as Am,x as Tm}from"./dist-CwfKvuyQ.js";import{o as Si}from"./arrays-DWxvyYxP.js";import{n as Fm}from"./once-CXj_gH7S.js";import{t as Rr}from"./createReducer-3wF4dU7I.js";import{a as Lm,c as Om,f as jn,h as Dm,i as _m,l as Wt,n as xi,o as Um,t as Bm}from"./dist-B0WqBUnf.js";import{t as Pm}from"./main-DmhaVp6Y.js";import{r as Mn,t as jm}from"./requests-KshNNAOp.js";import{t as Mm}from"./createLucideIcon-BTp1tQDO.js";import{r as Ii,t as Rm,__tla as Gm}from"./layout-CRzOtEaD.js";import{t as Jm}from"./x-9vLEgLY6.js";import{t as Wm}from"./circle-check-Q2N68uwG.js";import{A as Vm,E as Ai,L as $m,M as Hm,P as qm,R as zm,T as Km,a as Ti,d as Xm,n as Ym,o as Qm,r as Fi,s as Zm,x as ep}from"./add-cell-with-ai-C5iuH1Jb.js";import{r as tp,t as np}from"./file-icons-DBMviz_K.js";import{n as rp}from"./spinner-DTBVbtl-.js";import{n as Gr,t as Li}from"./useDeleteCell-CICC5IPM.js";import{t as Oi}from"./save-CGxzAyve.js";import{Y as op,Z as Di}from"./input-b2KTOk0X.js";import{t as ap}from"./sparkles-DctOjjEz.js";import{t as ip}from"./preload-helper-y72bE5iF.js";import{a as sp}from"./dist-DnIl7RU-.js";import{t as Nt}from"./use-toast-BH8bU9Xf.js";import{n as tt}from"./paths-kNeJ8nbe.js";import{t as lp}from"./session-B6_8umQX.js";import{r as cp}from"./useTheme-CWoNQwFz.js";import{n as _i}from"./copy-CyasABTK.js";import{k as up}from"./usePress-mjvipKvz.js";import{a as dp}from"./useRunCells-bcK6jTD2.js";import{c as Ui,i as Bi,n as Pi,r as fp}from"./dialog-Dr_Y1zNi.js";import{t as ji}from"./useHotkey-C-blZ3Z8.js";import{n as Mi}from"./ImperativeModal-MQnbMIO2.js";import{i as mp}from"./errors-48KFPvCp.js";import{t as K}from"./extends-2LbFKIQQ.js";import{t as Vt}from"./objectWithoutPropertiesLoose-Msf1n32r.js";import{t as pp}from"./kbd-BCXa3Ocm.js";import{a as Jr}from"./useInstallPackage-DEHK-C20.js";import{i as gp,n as Ri}from"./state-VxOqftwq.js";import{a as hp,o as bp}from"./cell-link-LArpBcY-.js";import{r as Gi}from"./html-to-image-CmK-WSPG.js";import{a as yp}from"./focus-Dol5ybck.js";import{n as wp}from"./useAsyncData-CT1LpOBD.js";import{a as vp,o as Ji,r as Ep,s as Wi,t as Np}from"./command-CsbsBLBw.js";import{a as Vi}from"./renderShortcut-CKbqJyj4.js";import{n as kp,t as Cp}from"./icons-D3YFXNmD.js";import{n as kt}from"./esm-DSv-aO_T.js";import{t as $i}from"./dist-BM-OLiKa.js";import{t as Sp}from"./useSplitCell-CqcM6MQ1.js";import{co as xp,do as Wr,fo as Ip,ft as Ap,go as Ct,ho as Hi,lo as Vr,mo as qi,oo as Tp,po as Fp,so as zi,uo as Ki,__tla as Lp}from"./loro_wasm_bg-CXnd80ne.js";import{t as Op}from"./ws-BnE9sl8z.js";import{t as Xi}from"./Inputs-CqgPhOqy.js";import{n as Dp}from"./hooks-C7muIIiV.js";let $r,$t,Rn,Gn,Jn,Hr,Ne,Yi,Qi,Zi,es,qr,zr,ft,ts,ns,rs,Ht,Wn,os,_p=Promise.all([(()=>{try{return Sf}catch{}})(),(()=>{try{return em}catch{}})(),(()=>{try{return Gm}catch{}})(),(()=>{try{return Lp}catch{}})()]).then(async()=>{var Cn,Va,Ce,Se,xe,Ie,Ae,Te,Fe,Le,Oe,De,_e,Ue,Be,Pe,je,Me,Re,Ge,Je;var ee=Mm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var we=300;const xt=Jt.define({combine:e=>Bn(e,{onError:console.error,inputDebounceTime:we,keymaps:H},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),at=he.define(),it=Xe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(at))return n.value;return e}}),It=he.define(),At=he.define(),Xr=Xe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(At)&&(n={...n,shouldFocus:r.value});return n}}),qt=he.define(),Tt=Xe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(qt))return n.value;return e}}),mt=he.define(),Yr=Xe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(mt))return n.value;return e}});var as=1;const Qr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<as)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[at.of({show:!0,lineFrom:i,lineTo:s}),At.of(!0),It.of("")],selection:Et.cursor(o.from)}),!0},Zr=e=>e.state.field(Tt)?(e.dispatch({effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),At.of(!1),It.of(""),mt.of(!1)]}),!0):!1,eo=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),At.of(!1),It.of(""),mt.of(!1)]}),!0):!1};var Vn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function is(){return navigator.platform.startsWith("Mac")?Vn.mac:navigator.platform.startsWith("Win")?Vn.windows:Vn.default}function $n(e){return e.replace("Mod",is()).replace("-"," ").toUpperCase()}function me(e,t){let n=document.createElement(e);return n.className=t,n}function ss(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var zt=Xe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Kt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Kt=he.define();function ls(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new cs(t),side:1});return r.push(o.range(n)),$.set(r)}var cs=class extends Un{constructor(t){super();g(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
2
+ var Ud=Object.defineProperty;var Ka=ee=>{throw TypeError(ee)};var Bd=(ee,H,we)=>H in ee?Ud(ee,H,{enumerable:!0,configurable:!0,writable:!0,value:we}):ee[H]=we;var g=(ee,H,we)=>Bd(ee,typeof H!="symbol"?H+"":H,we),Pd=(ee,H,we)=>H.has(ee)||Ka("Cannot "+we);var Xa=(ee,H,we)=>(Pd(ee,H,"read from private field"),we?we.call(ee):H.get(ee)),Ya=(ee,H,we)=>H.has(ee)?Ka("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(ee):H.set(ee,we);import{s as Qa}from"./chunk-LvLJmgfZ.js";import{d as Za,f as Cr,i as Y,l as In,n as ie,p as Pt,s as An,u as se}from"./useEvent-D91BmmQi.js";import{t as jd}from"./react-Bj1aDYRI.js";import{$n as Md,$t as Sr,At as jt,Bn as Rd,Cn as Gd,Ct as Jd,D as Tn,Dt as Fn,En as xr,Fi as Wd,G as ei,Gn as Vd,H as Ln,Ht as ti,I as $d,Jn as Hd,Ki as Ir,Kn as qd,Mi as ni,Nn as zd,Nt as Kd,Ot as Xd,Qr as Yd,Sn as Qd,St as Zd,Tt as Ar,U as ef,Un as ri,V as oi,Vn as tf,Vt as nf,W as ai,Wi as On,Wn as rf,Xt as Tr,Yn as of,Yt as af,a as ii,an as sf,b as ot,br as lf,cn as Dn,ct as cf,d as si,dn as uf,en as li,gn as df,gt as ff,h as wt,hi as ci,ht as Fr,in as mf,kt as pf,li as gf,mi as hf,oi as bf,ot as yf,q as ui,rn as wf,si as Lr,tn as di,u as fi,ui as vf,wt as Ef,xn as Nf,yn as kf,zn as Cf,__tla as Sf}from"./cells-DZEvA3zb.js";import{B as xf,N as If,P as Or,R as mi,S as Af,T as pi,k as Tf,w as Ff}from"./zod-H_cgTO0M.js";import{t as Ee}from"./compiler-runtime-B3qBwwSJ.js";import{C as Lf,f as Of,m as Df,p as _f,t as Uf,v as Bf,w as Pf}from"./ai-model-dropdown-Brz68_s8.js";import{_ as He,c as gi,h as Dr,t as jf,v as Mf}from"./useEventListener-BakX-tnw.js";import{t as Mt}from"./invariant-C2E8KCbD.js";import{_ as hi,c as Rf,g as bi,h as yi,l as wi,w as _r}from"./utils-Dev6I_Kv.js";import{S as vi,T as Gf,m as Jf,o as Wf,r as Ei,v as vt,w as Rt}from"./config-BE150fVL.js";import{n as Vf,t as $f}from"./switch-DHhZkGEv.js";import{n as Hf}from"./globals-BDWM3c_z.js";import{t as qf}from"./ErrorBoundary-Bo313Z9X.js";import{t as Ze}from"./cn-X2M2usMq.js";import{t as zf}from"./jsx-runtime-PbYoItBR.js";import{l as Kf,r as Xf,t as Yf}from"./popover-DMNO6Poc.js";import{X as Qf,Y as Zf,__tla as em}from"./JsonOutput-BfDKMXVF.js";import{t as Ur}from"./label-CFvCMYuj.js";import{r as tm}from"./download-DlMo0yoI.js";import{t as _n}from"./tooltip-CgQpRVyN.js";import{r as Br,t as ut}from"./button-BF7GSjhW.js";import{$t as Gt,E as nm,Et as rm,H as Ni,Ht as Et,I as om,Jt as am,Kt as dt,Lt as Pr,P as im,Pt as sm,St as lm,Tt as ki,Ut as jr,V as Ci,Vt as cm,Wt as Jt,X as l,Xt as he,Zt as Xe,_ as um,a as dm,at as $,bt as fm,dt as Un,ht as mm,kt as pm,lt as gm,m as hm,mt as bm,nn as Bn,ot as ym,st as M,ut as et,w as wm,wt as qe,xt as vm,zt as Pn}from"./dist-Dez1I5M9.js";import{E as Em,P as Nm,S as km,a as Cm,b as Sm,c as xm,n as Mr,r as Im,w as Am,x as Tm}from"./dist-CwfKvuyQ.js";import{o as Si}from"./arrays-DWxvyYxP.js";import{n as Fm}from"./once-CXj_gH7S.js";import{t as Rr}from"./createReducer-3wF4dU7I.js";import{a as Lm,c as Om,f as jn,h as Dm,i as _m,l as Wt,n as xi,o as Um,t as Bm}from"./dist-B0WqBUnf.js";import{t as Pm}from"./main-DmhaVp6Y.js";import{r as Mn,t as jm}from"./requests-KshNNAOp.js";import{t as Mm}from"./createLucideIcon-BTp1tQDO.js";import{r as Ii,t as Rm,__tla as Gm}from"./layout-CPdBwJdJ.js";import{t as Jm}from"./x-9vLEgLY6.js";import{t as Wm}from"./circle-check-Q2N68uwG.js";import{A as Vm,E as Ai,L as $m,M as Hm,P as qm,R as zm,T as Km,a as Ti,d as Xm,n as Ym,o as Qm,r as Fi,s as Zm,x as ep}from"./add-cell-with-ai-nJKSBAPb.js";import{r as tp,t as np}from"./file-icons-C_azZLwC.js";import{n as rp}from"./spinner-DTBVbtl-.js";import{n as Gr,t as Li}from"./useDeleteCell-DeJTCYjE.js";import{t as Oi}from"./save-CGxzAyve.js";import{Y as op,Z as Di}from"./input-b2KTOk0X.js";import{t as ap}from"./sparkles-DctOjjEz.js";import{t as ip}from"./preload-helper-y72bE5iF.js";import{a as sp}from"./dist-DnIl7RU-.js";import{t as Nt}from"./use-toast-BH8bU9Xf.js";import{n as tt}from"./paths-kNeJ8nbe.js";import{t as lp}from"./session-B6_8umQX.js";import{r as cp}from"./useTheme-CWoNQwFz.js";import{n as _i}from"./copy-CyasABTK.js";import{k as up}from"./usePress-mjvipKvz.js";import{a as dp}from"./useRunCells-CK2uMzyx.js";import{c as Ui,i as Bi,n as Pi,r as fp}from"./dialog-Dr_Y1zNi.js";import{t as ji}from"./useHotkey-C-blZ3Z8.js";import{n as Mi}from"./ImperativeModal-MQnbMIO2.js";import{i as mp}from"./errors-48KFPvCp.js";import{t as K}from"./extends-2LbFKIQQ.js";import{t as Vt}from"./objectWithoutPropertiesLoose-Msf1n32r.js";import{t as pp}from"./kbd-BCXa3Ocm.js";import{a as Jr}from"./useInstallPackage-DEHK-C20.js";import{i as gp,n as Ri}from"./state-CvarlPeY.js";import{a as hp,o as bp}from"./cell-link-CaBSvNu3.js";import{r as Gi}from"./html-to-image-DY_stEj0.js";import{a as yp}from"./focus-DHgSYMb6.js";import{n as wp}from"./useAsyncData-CT1LpOBD.js";import{a as vp,o as Ji,r as Ep,s as Wi,t as Np}from"./command-CsbsBLBw.js";import{a as Vi}from"./renderShortcut-CKbqJyj4.js";import{n as kp,t as Cp}from"./icons-D3YFXNmD.js";import{n as kt}from"./esm-DSv-aO_T.js";import{t as $i}from"./dist-BM-OLiKa.js";import{t as Sp}from"./useSplitCell-DIWUZzri.js";import{co as xp,do as Wr,fo as Ip,ft as Ap,go as Ct,ho as Hi,lo as Vr,mo as qi,oo as Tp,po as Fp,so as zi,uo as Ki,__tla as Lp}from"./loro_wasm_bg-CXnd80ne.js";import{t as Op}from"./ws-BnE9sl8z.js";import{t as Xi}from"./Inputs-CqgPhOqy.js";import{n as Dp}from"./hooks-B_YOAMxc.js";let $r,$t,Rn,Gn,Jn,Hr,Ne,Yi,Qi,Zi,es,qr,zr,ft,ts,ns,rs,Ht,Wn,os,_p=Promise.all([(()=>{try{return Sf}catch{}})(),(()=>{try{return em}catch{}})(),(()=>{try{return Gm}catch{}})(),(()=>{try{return Lp}catch{}})()]).then(async()=>{var Cn,Va,Ce,Se,xe,Ie,Ae,Te,Fe,Le,Oe,De,_e,Ue,Be,Pe,je,Me,Re,Ge,Je;var ee=Mm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var we=300;const xt=Jt.define({combine:e=>Bn(e,{onError:console.error,inputDebounceTime:we,keymaps:H},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),at=he.define(),it=Xe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(at))return n.value;return e}}),It=he.define(),At=he.define(),Xr=Xe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(At)&&(n={...n,shouldFocus:r.value});return n}}),qt=he.define(),Tt=Xe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(qt))return n.value;return e}}),mt=he.define(),Yr=Xe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(mt))return n.value;return e}});var as=1;const Qr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<as)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[at.of({show:!0,lineFrom:i,lineTo:s}),At.of(!0),It.of("")],selection:Et.cursor(o.from)}),!0},Zr=e=>e.state.field(Tt)?(e.dispatch({effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),At.of(!1),It.of(""),mt.of(!1)]}),!0):!1,eo=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),At.of(!1),It.of(""),mt.of(!1)]}),!0):!1};var Vn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function is(){return navigator.platform.startsWith("Mac")?Vn.mac:navigator.platform.startsWith("Win")?Vn.windows:Vn.default}function $n(e){return e.replace("Mod",is()).replace("-"," ").toUpperCase()}function me(e,t){let n=document.createElement(e);return n.className=t,n}function ss(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var zt=Xe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Kt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Kt=he.define();function ls(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new cs(t),side:1});return r.push(o.range(n)),$.set(r)}var cs=class extends Un{constructor(t){super();g(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},us=class{constructor(e){g(this,"cache",new Map);g(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ds=(e,t)=>et.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new us(t.cacheTimeout??1e3)}async update(n){var i,s,u,c,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(u=this.abortController)==null||u.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Kt.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(c=t.events)==null?void 0:c.shouldShowSuggestion)==null?void 0:d.call(c,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:Kt.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),fs=et.fromClass(class{constructor(){g(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(zt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=ls(e.view,t)}},{decorations:e=>e.decorations});function ms(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:Et.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:Et.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var ps=e=>{var r,o,a;let t=(r=e.state.field(zt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Hn);return e.dispatch({...ms(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},to=e=>{var r,o,a;let t=(r=e.state.field(zt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Hn);return e.dispatch({effects:Kt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},gs=qe.of([{key:"Tab",run:ps},{key:"Escape",run:to}]),Hn=Jt.define({combine:e=>e.at(-1)});function no(e){let{delay:t=500,includeKeymap:n=!0}=e,r=ss(e.fetchFn,t);return[zt,Hn.of(e),ds(r,e),fs,n?gs:[]]}const hs=M.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function bs(e){var s,u;let t=e.state.facet(xt),n={...H,...t.keymaps},r=e.state.facet(Xt),o=me("div","cm-ai-tooltip").appendChild(me("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=$n(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",c=>{c.stopPropagation(),c.button===0&&c.preventDefault()}),(u=o.querySelector("span"))==null||u.addEventListener("click",c=>{c.preventDefault(),Qr(e)}),o}const Xt=Jt.define({combine(e){return Bn(e,{render:bs,hideOnBlur:!1,label:"Edit with AI"})}}),ys=et.fromClass((Va=class{constructor(e){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});Ya(this,Cn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=E=>E.top>=a.top&&E.top<=a.bottom&&E.left>=a.left&&E.left<=a.right,u=E=>!i||E.top>=i.top&&E.top<=i.bottom&&E.left>=i.left&&E.left<=i.right,c=s(r)||s(o),d=u(r)||u(o);if(!c||!d){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let f=this.dom.getBoundingClientRect(),p=s(r)?r:o,m=a.right-f.width,h=Math.min(p.left,m),y=p.top-f.height,w=i?i.y:-1/0;y<w&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Xt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(it).show){this.dom.style.display="none";return}if(e.state.facet(Xt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Xa(this,Cn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},Cn=new WeakMap,Va));var ws=M.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function vs(){return[ys,ws]}var Es=class extends Un{constructor(t){super();g(this,"oldCode");this.oldCode=t}toDOM(t){let n=me("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=me("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=me("div","cm-floating-buttons"),a=t.state.facet(xt),i={...H,...a.keymaps},s=me("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${$n(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),Zr(t)});let u=me("button","cm-floating-button cm-floating-reject");return u.innerHTML=`<span class="hotkey">${$n(i.rejectEdit)}</span> Reject`,u.setAttribute("aria-label","Reject changes"),u.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),eo(t)}),o.append(s,u),n.append(r,o),n}updateDOM(t,n){return!0}},Ns=class extends Un{constructor(t){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[at.of({show:!1,lineFrom:0,lineTo:0}),mt.of(!1)]}),t.focus())});g(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(it),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),u=n.state.doc.line(o.lineTo),c=s.from,d=u.to,f=n.state.sliceDoc(c,d),p=n.state.sliceDoc(0,c),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:mt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:c,to:d,insert:y},effects:[at.of({show:!1,lineFrom:0,lineTo:0}),qt.of({from:c,to:c+y.length,oldCode:f,newCode:y}),mt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(Xr),r=t.state.field(Yr),o=me("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=me("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",w=>w.preventDefault());let i=me("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=me("div","cm-ai-loading-container");this.loadingContainer=s;let u=me("div","cm-ai-loading-indicator");u.setAttribute("role","status"),u.setAttribute("aria-live","polite"),u.textContent="Generating";let c=me("button","cm-ai-cancel-button");c.textContent="Cancel",c.setAttribute("aria-label","Cancel code generation"),c.addEventListener("click",this.onCancel),s.append(c,u);let d=me("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let p=me("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:At.of(!1)})}),m(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function m(w){d.replaceChildren(w?p:f)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let w=i.value.trim();w!==h&&(h=w,m(w))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ks(e){if(!e.prompt)throw Error("prompt function is required");let t={...H,...e.keymaps};return[xt.of(e),it,Xr,Tt,Yr,vs(),hs,qe.of([{key:t.showInput,run:Qr}]),dt.highest([qe.of([{key:t.acceptEdit,run:Zr},{key:t.rejectEdit,run:eo}])]),Cs,Ss,xs,Is]}const Cs=M.updateListener.of(e=>{let t=e.state.field(it);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,u)=>{let c=e.state.doc.lineAt(a).number;if(c<n){let d=e.state.doc.lineAt(u).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(c<=r){let d=e.state.doc.lineAt(u).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[at.of({show:!0,lineFrom:n,lineTo:r})]})}),Ss=M.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),xs=M.decorations.compute([it],e=>{let t=e.field(it),n=e.facet(xt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new Ns(n.prompt),side:-1}).range(s))}}return $.set(r)}),Is=Xe.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new Es(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>M.decorations.from(e)});var As=Ee(),A=Qa(jd(),1),qn=()=>({entries:new Map}),{valueAtom:ro,useActions:oo}=Rr(qn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(ot),s=a.get(Cf),u=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),c=new Map;for(let f of n){if(u.has(f)){c.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let y of Object.values(s)){let w=y.declaredBy.includes(f),E=y.usedBy.some(C=>!u.has(C));w&&E&&m.set(y.name,y.usedBy)}let h;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(h=p.runElapsedTimeMs),m.size===0&&h===void 0?c.set(f,{cellId:f,type:"simple"}):c.set(f,{cellId:f,type:"expensive",executionDurationMs:h,defs:m})}let d=[...c.values()].every(f=>f.type==="simple");return c.size>0&&d?(c.size===1?r({cellId:[...c.values()][0].cellId}):o({cellIds:[...c.values()].map(f=>f.cellId)}),qn()):{...e,entries:c}},clear:()=>qn()});Rn=function(){let e=Cr(),{submit:t,clear:n}=oo(),{entries:r}=se(ro),o=Li(),a=Gr();return(0,A.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},os=function(e){let t=(0,As.c)(16),n=se(ro),r=oo(),o=Gr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(Ts)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let u;t[10]===r?u=t[11]:(u=()=>r.clear(),t[10]=r,t[11]=u);let c;return t[12]!==i||t[13]!==s||t[14]!==u?(c={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:u},t[12]=i,t[13]=s,t[14]=u,t[15]=c):c=t[15],c};function Ts(e){return e.cellId}var ao=["python","sql","markdown"];function zn(e,t={}){var c;let{streaming:n=!1}=t,r=((c=e.match(/^\s*/))==null?void 0:c[0])??"",o=e.slice(r.length),a=null,i=!1;for(let d of ao)if(o.startsWith(`\`\`\`${d}`)){i=!0,a=o.slice(3+d.length),a.startsWith(`
4
4
  `)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let d=o.slice(3);if(n&&Fs(d))return e;i=!0,a=d,a.startsWith(`
5
5
  `)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),u=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+u:s.endsWith("```")?s.slice(0,-3)+u:a}function Fs(e){return e.includes(`
@@ -1 +1 @@
1
- import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as j,n as w,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Lt as A,M as D,Mi as _,P as E,Wi as M,hn as S}from"./cells-DQ5n6Zef.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as T}from"./useEventListener-BakX-tnw.js";import{p as $}from"./utils-Dev6I_Kv.js";import{r as I}from"./constants-B9JJ72XE.js";import{v as F,w as q}from"./config-BE150fVL.js";import{t as B}from"./cn-X2M2usMq.js";import{t as G}from"./jsx-runtime-PbYoItBR.js";import{r as H}from"./requests-KshNNAOp.js";import{n as R}from"./paths-kNeJ8nbe.js";import{s as U}from"./session-B6_8umQX.js";import{n as V}from"./ImperativeModal-MQnbMIO2.js";var W=b();function N(){return O(_)}function z(){let r=(0,W.c)(5),[t]=j(F),e=P(_),{openAlert:s}=V(),{sendRename:o}=H(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=$();return t.state===q.OPEN?(U(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||R.basename(l)||"Untitled Notebook",l)).catch(i=>(s(i.message),null))):(s("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=s,r[2]=o,r[3]=e,r[4]=a):a=r[4],w(a)}var p=b(),v=L(G(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=E()[s]??"",C=D().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??Q,c;t[0]===e?c=t[1]:(c=B("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==s||t[3]!==a||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(s==="__scratch__")return!1;d({cellId:s}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(s,o,n)&&(a==null||a())})},t[2]=s,t[3]=a,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(A(i,C)),u;return t[8]!==c||t[9]!==m||t[10]!==f?(u=(0,v.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:f}),t[8]=c,t[9]=m,t[10]=f,t[11]=u):u=t[11],u},J=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},K=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>S(e,s),t[0]=e,t[1]=s,t[2]=a):a=t[2];let l;t[3]!==e||t[4]!==o?(l=i=>e==="__scratch__"?"scratch":`marimo://${o||"untitled"}#cell=${i}`,t[3]=e,t[4]=o,t[5]=l):l=t[5];let n;return t[6]!==e||t[7]!==a||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:a,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=a,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let s=M.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?(T.error(`Cell ${s} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||a&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!a&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function Q(r){return r}export{N as a,x as i,J as n,z as o,K as r,h as t};
1
+ import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as j,n as w,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Lt as A,M as D,Mi as _,P as E,Wi as M,hn as S}from"./cells-DZEvA3zb.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as T}from"./useEventListener-BakX-tnw.js";import{p as $}from"./utils-Dev6I_Kv.js";import{r as I}from"./constants-B9JJ72XE.js";import{v as F,w as q}from"./config-BE150fVL.js";import{t as B}from"./cn-X2M2usMq.js";import{t as G}from"./jsx-runtime-PbYoItBR.js";import{r as H}from"./requests-KshNNAOp.js";import{n as R}from"./paths-kNeJ8nbe.js";import{s as U}from"./session-B6_8umQX.js";import{n as V}from"./ImperativeModal-MQnbMIO2.js";var W=b();function N(){return O(_)}function z(){let r=(0,W.c)(5),[t]=j(F),e=P(_),{openAlert:s}=V(),{sendRename:o}=H(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=$();return t.state===q.OPEN?(U(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||R.basename(l)||"Untitled Notebook",l)).catch(i=>(s(i.message),null))):(s("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=s,r[2]=o,r[3]=e,r[4]=a):a=r[4],w(a)}var p=b(),v=L(G(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=E()[s]??"",C=D().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??Q,c;t[0]===e?c=t[1]:(c=B("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==s||t[3]!==a||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(s==="__scratch__")return!1;d({cellId:s}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(s,o,n)&&(a==null||a())})},t[2]=s,t[3]=a,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(A(i,C)),u;return t[8]!==c||t[9]!==m||t[10]!==f?(u=(0,v.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:f}),t[8]=c,t[9]=m,t[10]=f,t[11]=u):u=t[11],u},J=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},K=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>S(e,s),t[0]=e,t[1]=s,t[2]=a):a=t[2];let l;t[3]!==e||t[4]!==o?(l=i=>e==="__scratch__"?"scratch":`marimo://${o||"untitled"}#cell=${i}`,t[3]=e,t[4]=o,t[5]=l):l=t[5];let n;return t[6]!==e||t[7]!==a||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:a,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=a,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let s=M.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?(T.error(`Cell ${s} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||a&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!a&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function Q(r){return r}export{N as a,x as i,J as n,z as o,K as r,h as t};