@marimo-team/frontend 0.23.9-dev10 → 0.23.9-dev12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-D_-Xs2i2.js → CellStatus-CYnTqpDu.js} +1 -1
- package/dist/assets/{JsonOutput-DYoyBk2A.js → JsonOutput-BEIaEFVx.js} +12 -12
- package/dist/assets/MarimoErrorOutput-BrtF-EJX.js +7 -0
- package/dist/assets/{RenderHTML-IGRZU9wj.js → RenderHTML-ozbWHhKy.js} +1 -1
- package/dist/assets/{add-cell-with-ai-9EyttqGQ.js → add-cell-with-ai-D80JrWq3.js} +1 -1
- package/dist/assets/{add-connection-dialog-CxajI6xY.js → add-connection-dialog-Dit1I7Se.js} +1 -1
- package/dist/assets/{agent-panel-a-A0NVo_.js → agent-panel-C-u_vOoE.js} +1 -1
- package/dist/assets/{ai-model-dropdown-D0tfwqft.js → ai-model-dropdown-2YDLOBgP.js} +1 -1
- package/dist/assets/{app-config-button-Cooknt8P.js → app-config-button-ClcNCSVm.js} +1 -1
- package/dist/assets/{cell-editor-TtRV_DM8.js → cell-editor-n3uoR3fW.js} +1 -1
- package/dist/assets/{cell-link-VlbhstGP.js → cell-link-xmpxJpC6.js} +1 -1
- package/dist/assets/{cells-WW455pbI.js → cells-DfBJ0VnJ.js} +1 -1
- package/dist/assets/{chat-display-0SSKyMkt.js → chat-display-Ddsm0CG8.js} +1 -1
- package/dist/assets/{chat-panel-BC-bG7Ms.js → chat-panel-75Zw468n.js} +1 -1
- package/dist/assets/{chat-ui-B0pCMupQ.js → chat-ui-Dk62XQcq.js} +1 -1
- package/dist/assets/{column-preview-C-xQqzBs.js → column-preview-B0fkY_W8.js} +1 -1
- package/dist/assets/{command-palette-CO8Z9i_v.js → command-palette-B-4BGife.js} +1 -1
- package/dist/assets/{common-Bei_EA1L.js → common-CPsAf0Xi.js} +1 -1
- package/dist/assets/{components-cjKlTr3f.js → components-CRWZ9jxm.js} +1 -1
- package/dist/assets/{components-B-vsJpY6.js → components-DptWjGr1.js} +1 -1
- package/dist/assets/{datasource-CrDfHWto.js → datasource-D1itEHCP.js} +1 -1
- package/dist/assets/{dependency-graph-panel-skSyvOmU.js → dependency-graph-panel-BpJ5fvBf.js} +1 -1
- package/dist/assets/{documentation-panel-BWa3CXAu.js → documentation-panel-CeNyn2VS.js} +1 -1
- package/dist/assets/{download-CKGdZtPf.js → download-BQQnYuPC.js} +1 -1
- package/dist/assets/{edit-page-CxTwv1ds.js → edit-page-OW7p7hhZ.js} +3 -3
- package/dist/assets/{error-panel-BW7R1Ohr.js → error-panel-BqJy7htp.js} +1 -1
- package/dist/assets/{file-explorer-panel-Dqodb_BD.js → file-explorer-panel-T78K2mhI.js} +1 -1
- package/dist/assets/{file-icons-B1JtCN2e.js → file-icons-DUEFtaqk.js} +1 -1
- package/dist/assets/{floating-outline-wGcVRNZu.js → floating-outline-L6NC-sSl.js} +1 -1
- package/dist/assets/{focus-COroLbWe.js → focus-BTk8fi9t.js} +1 -1
- package/dist/assets/{form-BfwTaK_n.js → form-D0jBoXOL.js} +1 -1
- package/dist/assets/{home-page-B8SPyTFn.js → home-page-B79oM4YL.js} +1 -1
- package/dist/assets/{hooks-Dbwh4P5s.js → hooks-C1JamGaP.js} +1 -1
- package/dist/assets/{html-to-image-DB5sfuws.js → html-to-image-BJNmIfR_.js} +1 -1
- package/dist/assets/{index-CStLWKuK.js → index-f36_4Wqc.js} +3 -3
- package/dist/assets/index-pG6JIIR-.css +2 -0
- package/dist/assets/{kiosk-mode-tHwBN3rS.js → kiosk-mode-DObJuod3.js} +1 -1
- package/dist/assets/{layout-Dh9ESpra.js → layout-CURagHSL.js} +3 -3
- package/dist/assets/{logs-panel-DZSPhsIs.js → logs-panel-6wZKPXbW.js} +1 -1
- package/dist/assets/{markdown-renderer-BnUV17Tg.js → markdown-renderer-Bhg3x2dD.js} +1 -1
- package/dist/assets/{name-cell-input-BZQLfDw0.js → name-cell-input-lIZhjdfv.js} +1 -1
- package/dist/assets/{outline-panel-C4q1Ql1i.js → outline-panel-5qkCPv_h.js} +1 -1
- package/dist/assets/{packages-panel-D9p8Tiee.js → packages-panel-PygqATjl.js} +1 -1
- package/dist/assets/{panels-BuZeq6Ss.js → panels-Cmkyo_Ic.js} +1 -1
- package/dist/assets/{process-output-czqgvDia.js → process-output-CnW6OJhK.js} +1 -1
- package/dist/assets/{radio-group-BHzskOrm.js → radio-group-DkjQgwSt.js} +1 -1
- package/dist/assets/{readonly-python-code-u31O1EoO.js → readonly-python-code-CQ2k62cK.js} +1 -1
- package/dist/assets/{reveal-component-DGLXS6XO.js → reveal-component-bk9gf4uY.js} +1 -1
- package/dist/assets/{run-page-DzBzKkQc.js → run-page-BPJqsadV.js} +1 -1
- package/dist/assets/{scratchpad-panel-B9M3Lvza.js → scratchpad-panel-M7BhoesO.js} +1 -1
- package/dist/assets/{session-panel-D3HEtbSO.js → session-panel-DedYL518.js} +1 -1
- package/dist/assets/{snippets-panel-BxEqEAeR.js → snippets-panel-BwG5R102.js} +1 -1
- package/dist/assets/{state-D9_BpRuU.js → state-Ba2SVwFW.js} +1 -1
- package/dist/assets/{state-NqzCpbZn.js → state-BmbZU1Ii.js} +1 -1
- package/dist/assets/{textarea-By_oENlk.js → textarea-DqCLSCio.js} +1 -1
- package/dist/assets/{tracing-D3RHMNJS.js → tracing-eVEFFaeS.js} +1 -1
- package/dist/assets/{tracing-panel-DHbxfRgn.js → tracing-panel-8wrZPouc.js} +2 -2
- package/dist/assets/{useCellActionButton-JqNWxCAc.js → useCellActionButton-qqJPqBNt.js} +1 -1
- package/dist/assets/{useDeleteCell-DhTEQpE6.js → useDeleteCell-CIjjkrUZ.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BeLaV_28.js → useDependencyPanelTab-DCLj8N8-.js} +1 -1
- package/dist/assets/{useNotebookActions-BhbjfNqU.js → useNotebookActions-DFRxa9MH.js} +1 -1
- package/dist/assets/{useRunCells-DeA7yeHJ.js → useRunCells-CjBIWw0W.js} +1 -1
- package/dist/assets/{useSplitCell-DWx-q9BJ.js → useSplitCell-DrwP_UaG.js} +1 -1
- package/dist/index.html +23 -23
- package/package.json +1 -1
- package/src/components/editor/output/MarimoErrorOutput.tsx +103 -25
- package/src/components/editor/output/MarimoTracebackOutput.tsx +24 -36
- package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
- package/src/css/app/Cell.css +0 -1
- package/dist/assets/MarimoErrorOutput-BXSRPZqF.js +0 -7
- package/dist/assets/index-Cn0RBoFD.css +0 -2
|
@@ -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{Bt as I}from"./cells-WW455pbI.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-D0tfwqft.js";import{C as oe,v as ne,w as B}from"./utils-Wvjk_Y4h.js";import{T as re}from"./config-C1gn3-tv.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BqFLkbUc.js";import{i as de,r as he,t as me}from"./popover-Bz_0Vkyf.js";import{l as Q}from"./select-DZcFyKFQ.js";import{t as R}from"./tooltip-DTV9tlSr.js";import{t as xe}from"./button-BbCh-29a.js";import{s as U}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as D}from"./input-C3Hrdlqq.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-By_oENlk.js";import{t as ge}from"./use-toast-IPAtJGea.js";import{i as be}from"./RSPContexts-CdN1NyAt.js";import{n as we}from"./useDebounce-7xZwVnnu.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-DzC_QCtT.js";import{n as ke}from"./ImperativeModal-B3Th7k4R.js";import{t as O}from"./kbd-CTUAEnEx.js";import{t as _e}from"./links-D1JoyKTt.js";import{t as G}from"./Inputs-BG_nVZPt.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}=Y(),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)(R,{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 Pe=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=Y(),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)(qe,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)(P,{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(U(_.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(U(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(q,{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 qe(){window.dispatchEvent(new Event("resize"))}function Ee(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(P,{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)(Q,{"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(Ee)})}),(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)(P,{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),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(q,{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)(P,{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),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(q,{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)(P,{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)(q,{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)(P,{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)(Q,{"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)(q,{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 Be=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)(K,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(R,{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 E;return e[10]!==o||e[11]!==l||e[12]!==T?(E=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=E):E=e[13],E}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)(Pe,{}),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)(K,{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:Qe,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)(V,{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 Qe(t){return t.preventDefault()}export{Me as n,Se as r,Be 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{Bt as I}from"./cells-DfBJ0VnJ.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-2YDLOBgP.js";import{C as oe,v as ne,w as B}from"./utils-Wvjk_Y4h.js";import{T as re}from"./config-C1gn3-tv.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BqFLkbUc.js";import{i as de,r as he,t as me}from"./popover-Bz_0Vkyf.js";import{l as Q}from"./select-DZcFyKFQ.js";import{t as R}from"./tooltip-DTV9tlSr.js";import{t as xe}from"./button-BbCh-29a.js";import{s as U}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as D}from"./input-C3Hrdlqq.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-DqCLSCio.js";import{t as ge}from"./use-toast-IPAtJGea.js";import{i as be}from"./RSPContexts-CdN1NyAt.js";import{n as we}from"./useDebounce-7xZwVnnu.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-DzC_QCtT.js";import{n as ke}from"./ImperativeModal-B3Th7k4R.js";import{t as O}from"./kbd-CTUAEnEx.js";import{t as _e}from"./links-D1JoyKTt.js";import{t as G}from"./Inputs-BG_nVZPt.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}=Y(),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)(R,{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 Pe=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=Y(),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)(qe,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)(P,{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(U(_.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(U(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(q,{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 qe(){window.dispatchEvent(new Event("resize"))}function Ee(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(P,{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)(Q,{"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(Ee)})}),(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)(P,{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),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(q,{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)(P,{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),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(q,{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)(P,{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)(q,{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)(P,{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)(Q,{"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)(q,{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 Be=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)(K,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(R,{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 E;return e[10]!==o||e[11]!==l||e[12]!==T?(E=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=E):E=e[13],E}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)(Pe,{}),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)(K,{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:Qe,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)(V,{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 Qe(t){return t.preventDefault()}export{Me as n,Se as r,Be as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Ci19hd4D.js","./loro_wasm_bg-Z5Iceaci.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var sd=Object.defineProperty;var Da=ne=>{throw TypeError(ne)};var ld=(ne,z,ge)=>z in ne?sd(ne,z,{enumerable:!0,configurable:!0,writable:!0,value:ge}):ne[z]=ge;var p=(ne,z,ge)=>ld(ne,typeof z!="symbol"?z+"":z,ge),cd=(ne,z,ge)=>z.has(ne)||Da("Cannot "+ge);var _a=(ne,z,ge)=>(cd(ne,z,"read from private field"),ge?ge.call(ne):z.get(ne)),Ua=(ne,z,ge)=>z.has(ne)?Da("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(ne):z.set(ne,ge);import{s as Ba}from"./chunk-LvLJmgfZ.js";import{d as Pa,f as br,i as ee,l as En,n as se,p as Dt,s as Nn,u as le}from"./useEvent-D91BmmQi.js";import{t as ud}from"./react-Bj1aDYRI.js";import{$r as yr,$t as ja,Bn as dd,Bt as fd,Ct as md,D as kn,Di as pd,Dt as gd,Et as Cn,Gn as hd,Gr as bd,H as yd,Hn as Ma,I as wd,Ii as Sn,Jn as vd,Jt as Ed,K as Ra,Mn as Nd,Mt as kd,Ot as Cd,Qn as Sd,Qt as wr,Rn as xd,Sn as Id,Tn as vr,U as Ga,Un as Td,V as Ja,Vt as Wa,W as Va,Wn as Ad,Yt as Er,a as $a,at as Fd,b as tt,bn as Ld,d as Ha,en as qa,h as _t,hn as Od,ht as Dd,in as _d,kt as Ut,mt as Nr,ni as Ud,nn as Bd,oi as Pd,qn as jd,rn as Md,si as za,sn as xn,st as Rd,ti as Gd,u as Ka,un as Jd,vn as Wd,wi as Ya,wt as kr,xn as Vd,yr as $d,zn as Hd,__tla as qd}from"./cells-
|
|
2
|
+
var sd=Object.defineProperty;var Da=ne=>{throw TypeError(ne)};var ld=(ne,z,ge)=>z in ne?sd(ne,z,{enumerable:!0,configurable:!0,writable:!0,value:ge}):ne[z]=ge;var p=(ne,z,ge)=>ld(ne,typeof z!="symbol"?z+"":z,ge),cd=(ne,z,ge)=>z.has(ne)||Da("Cannot "+ge);var _a=(ne,z,ge)=>(cd(ne,z,"read from private field"),ge?ge.call(ne):z.get(ne)),Ua=(ne,z,ge)=>z.has(ne)?Da("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(ne):z.set(ne,ge);import{s as Ba}from"./chunk-LvLJmgfZ.js";import{d as Pa,f as br,i as ee,l as En,n as se,p as Dt,s as Nn,u as le}from"./useEvent-D91BmmQi.js";import{t as ud}from"./react-Bj1aDYRI.js";import{$r as yr,$t as ja,Bn as dd,Bt as fd,Ct as md,D as kn,Di as pd,Dt as gd,Et as Cn,Gn as hd,Gr as bd,H as yd,Hn as Ma,I as wd,Ii as Sn,Jn as vd,Jt as Ed,K as Ra,Mn as Nd,Mt as kd,Ot as Cd,Qn as Sd,Qt as wr,Rn as xd,Sn as Id,Tn as vr,U as Ga,Un as Td,V as Ja,Vt as Wa,W as Va,Wn as Ad,Yt as Er,a as $a,at as Fd,b as tt,bn as Ld,d as Ha,en as qa,h as _t,hn as Od,ht as Dd,in as _d,kt as Ut,mt as Nr,ni as Ud,nn as Bd,oi as Pd,qn as jd,rn as Md,si as za,sn as xn,st as Rd,ti as Gd,u as Ka,un as Jd,vn as Wd,wi as Ya,wt as kr,xn as Vd,yr as $d,zn as Hd,__tla as qd}from"./cells-DfBJ0VnJ.js";import{B as zd,N as Kd,P as Cr,R as Xa,S as Yd,T as Qa,k as Xd,w as Qd}from"./zod-H_cgTO0M.js";import{t as Ge}from"./compiler-runtime-B3qBwwSJ.js";import{C as Zd,f as ef,m as tf,p as nf,t as rf,v as of,w as af}from"./ai-model-dropdown-2YDLOBgP.js";import{_ as Je,c as Za,h as Sr,t as sf,v as lf}from"./useEventListener-DvoEXWke.js";import{t as Bt}from"./invariant-BUdrueMv.js";import{S as xr,h as ei,m as cf,o as uf,p as ti,s as ni}from"./utils-Wvjk_Y4h.js";import{S as ri,T as df,m as ff,o as mf,r as oi,v as ht,w as Pt}from"./config-C1gn3-tv.js";import{n as pf,t as gf}from"./switch-C8Pev-_F.js";import{n as hf}from"./globals-DggqXXLE.js";import{t as bf}from"./ErrorBoundary-DyYDV0HI.js";import{t as st}from"./cn-DCUzRj2J.js";import{t as yf}from"./jsx-runtime-BqBOg78p.js";import{l as wf,r as vf,t as Ef}from"./popover-Bz_0Vkyf.js";import{B as Nf,__tla as kf}from"./JsonOutput-BEIaEFVx.js";import{t as Ir}from"./label-xHqFtfdz.js";import{r as Cf}from"./download-BQQnYuPC.js";import{t as In}from"./tooltip-DTV9tlSr.js";import{r as Tr,t as lt}from"./button-BbCh-29a.js";import{Bt as bt,Ct as ai,Dt as Sf,E as xf,Ft as Ar,H as ii,Ht as jt,I as If,J as l,Jt as me,Kt as Tf,Lt as Tn,Mt as Af,P as Ff,St as We,V as si,Vt as Fr,Wt as ct,Yt as qe,Zt as Mt,_ as Lf,a as Of,at as j,bt as Df,ct as Xe,en as An,ft as _f,it as Uf,lt as Fn,m as Bf,pt as Pf,rt as q,st as jf,vt as Mf,w as Rf,wt as Gf,yt as Jf,zt as Wf}from"./dist-BrR4M-k3.js";import{E as Vf,P as $f,S as Hf,a as qf,b as zf,c as Kf,n as Lr,r as Yf,w as Xf,x as Qf}from"./dist-CHcznzB-.js";import{o as li}from"./arrays-DYDL-3-i.js";import{n as Zf}from"./once-DRroIaBz.js";import{t as Or}from"./createReducer-CI9qeK_X.js";import{a as em,c as tm,f as Ln,h as nm,i as rm,l as Rt,n as ci,o as om,t as am}from"./dist-HlsDto3K.js";import{t as im}from"./main-B0OX4z33.js";import{r as On,t as sm}from"./requests-DIwGYs0l.js";import{t as lm}from"./createLucideIcon-D5guW7EU.js";import{r as ui,t as cm,__tla as um}from"./layout-CURagHSL.js";import{t as dm}from"./x-C-6liIBr.js";import{t as fm}from"./circle-check-C17zXg7L.js";import{D as di,E as mm,S as pm,a as fi,d as gm,j as hm,k as bm,n as ym,o as wm,r as mi,s as vm}from"./add-cell-with-ai-D80JrWq3.js";import{r as Em,t as Nm}from"./file-icons-DUEFtaqk.js";import{n as km}from"./spinner-Bhir8k53.js";import{t as pi}from"./save-Clg5dMoP.js";import{Y as Cm,Z as gi}from"./input-C3Hrdlqq.js";import{t as Sm}from"./sparkles-lWUAsPhp.js";import{t as xm}from"./preload-helper-BPPi7vOr.js";import{t as yt}from"./use-toast-IPAtJGea.js";import{n as Qe}from"./paths-D5zczhUD.js";import{t as Im}from"./session-0B5NBztP.js";import{r as Tm}from"./useTheme-TeWD29Uz.js";import{n as hi}from"./copy-LK56fFow.js";import{k as Am}from"./usePress-DQ_tAz5W.js";import{a as Fm}from"./useRunCells-CjBIWw0W.js";import{c as bi,i as yi,n as wi,r as Lm}from"./dialog-DzC_QCtT.js";import{t as vi}from"./useHotkey-CKk0vHze.js";import{n as Ei}from"./ImperativeModal-B3Th7k4R.js";import{r as Om}from"./errors-vr57w7Ul.js";import{t as Y}from"./extends-BiFDv3jB.js";import{t as Gt}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Dm}from"./kbd-CTUAEnEx.js";import{a as Dr}from"./useInstallPackage-DUF4IRRI.js";import{i as _m,n as Ni}from"./state-BmbZU1Ii.js";import{a as Um,o as Bm}from"./cell-link-xmpxJpC6.js";import{r as ki}from"./html-to-image-BJNmIfR_.js";import{a as Pm}from"./focus-BTk8fi9t.js";import{n as jm}from"./useAsyncData-bgszE9F0.js";import{a as Mm,o as Ci,r as Rm,s as Si,t as Gm}from"./command-KARR7KMq.js";import{a as xi}from"./renderShortcut-U2SzoZCS.js";import{n as Jm,t as Wm}from"./icons-Ol38nIbL.js";import{n as wt}from"./esm-CqWdmSnV.js";import{t as Ii}from"./dist-4ni0fia5.js";import{n as _r,t as Ti}from"./useDeleteCell-CIjjkrUZ.js";import{t as Vm}from"./useSplitCell-DrwP_UaG.js";import{co as $m,do as Ur,fo as Hm,ft as qm,go as vt,ho as Ai,lo as Br,mo as Fi,oo as zm,po as Km,so as Li,uo as Oi,__tla as Ym}from"./loro_wasm_bg-Z5Iceaci.js";import{t as Xm}from"./ws-YSapF1PN.js";import{t as Di}from"./Inputs-BG_nVZPt.js";import{n as Qm}from"./hooks-C1JamGaP.js";let Dn,Pr,_i,jr,ut,Mr,be,Jt,Wt,Ui,Bi,Pi,ji,Mi,_n,Ri,Un,Gi,Bn,Zm=Promise.all([(()=>{try{return qd}catch{}})(),(()=>{try{return kf}catch{}})(),(()=>{try{return um}catch{}})(),(()=>{try{return Ym}catch{}})()]).then(async()=>{var vn,Oa,we,ve,Ee,Ne,ke,Ce,Se,xe,Ie,Te,Ae,Fe,Le,Oe,De,_e,Ue,Be,Pe;var ne=lm("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 z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ge=300;const Nt=jt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:ge,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),nt=me.define(),rt=qe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(nt))return n.value;return e}}),kt=me.define(),Ct=me.define(),Gr=qe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(kt)&&(n={...n,inputValue:r.value}),r.is(Ct)&&(n={...n,shouldFocus:r.value});return n}}),Vt=me.define(),St=qe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Vt))return n.value;return e}}),dt=me.define(),Jr=qe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var Ji=1;const Wr=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<Ji)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:[nt.of({show:!0,lineFrom:i,lineTo:s}),Ct.of(!0),kt.of("")],selection:bt.cursor(o.from)}),!0},Vr=e=>e.state.field(St)?(e.dispatch({effects:[Vt.of(null),nt.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),kt.of(""),dt.of(!1)]}),!0):!1,$r=e=>{let t=e.state.field(St);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Vt.of(null),nt.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),kt.of(""),dt.of(!1)]}),!0):!1};var Pn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Wi(){return navigator.platform.startsWith("Mac")?Pn.mac:navigator.platform.startsWith("Win")?Pn.windows:Pn.default}function jn(e){return e.replace("Mod",Wi()).replace("-"," ").toUpperCase()}function de(e,t){let n=document.createElement(e);return n.className=t,n}function Vi(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 $t=qe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=me.define();function $i(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Hi(t),side:1});return r.push(o.range(n)),q.set(r)}var Hi=class extends Fn{constructor(t){super();p(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}},qi=class{constructor(e){p(this,"cache",new Map);p(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()})}},zi=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new qi(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:Ht.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:Ht.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()}}),Ki=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=q.none}update(e){var n;let t=(n=e.state.field($t))==null?void 0:n.suggestion;if(!t){this.decorations=q.none;return}this.decorations=$i(e.view,t)}},{decorations:e=>e.decorations});function Yi(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:bt.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:bt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Xi=e=>{var r,o,a;let t=(r=e.state.field($t))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...Yi(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},Hr=e=>{var r,o,a;let t=(r=e.state.field($t))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},Qi=We.of([{key:"Tab",run:Xi},{key:"Escape",run:Hr}]),Mn=jt.define({combine:e=>e.at(-1)});function qr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Vi(e.fetchFn,t);return[$t,Mn.of(e),zi(r,e),Ki,n?Qi:[]]}const Zi=j.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 es(e){var s,u;let t=e.state.facet(Nt),n={...z,...t.keymaps},r=e.state.facet(qt),o=de("div","cm-ai-tooltip").appendChild(de("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=jn(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(),Wr(e)}),o}const qt=jt.define({combine(e){return An(e,{render:es,hideOnBlur:!1,label:"Edit with AI"})}}),ts=Xe.fromClass((Oa=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ua(this,vn,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=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,u=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.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(),g=s(r)?r:o,m=a.right-f.width,h=Math.min(g.left,m),w=g.top-f.height,y=i?i.y:-1/0;w<y&&(w=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${w}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(qt);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(rt).show){this.dom.style.display="none";return}if(e.state.facet(qt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:_a(this,vn)})}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()}},vn=new WeakMap,Oa));var ns=j.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 rs(){return[ts,ns]}var os=class extends Fn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=de("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=de("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=de("div","cm-floating-buttons"),a=t.state.facet(Nt),i={...z,...a.keymaps},s=de("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${jn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),Vr(t)});let u=de("button","cm-floating-button cm-floating-reject");return u.innerHTML=`<span class="hotkey">${jn(i.rejectEdit)}</span> Reject`,u.setAttribute("aria-label","Reject changes"),u.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),$r(t)}),o.append(s,u),n.append(r,o),n}updateDOM(t,n){return!0}},as=class extends Fn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[nt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(Nt);t==null||t.stopPropagation();let o=n.state.field(rt),{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),g=n.state.sliceDoc(0,c),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:g,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(rt).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:c,to:d,insert:w},effects:[nt.of({show:!1,lineFrom:0,lineTo:0}),Vt.of({from:c,to:c+w.length,oldCode:f,newCode:w}),dt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(h=r.onError)==null||h.call(r,w)}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(Gr),r=t.state.field(Jr),o=de("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=de("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=de("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=de("div","cm-ai-loading-container");this.loadingContainer=s;let u=de("div","cm-ai-loading-indicator");u.setAttribute("role","status"),u.setAttribute("aria-live","polite"),u.textContent="Generating";let c=de("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=de("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 g=de("button","cm-ai-generate-button");g.textContent="\u23CE Generate",g.setAttribute("aria-label","Generate code"),g.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:Ct.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?g:f)}let h="";function w(){t.dispatch({effects:kt.of(i.value)});let y=i.value.trim();y!==h&&(h=y,m(y))}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 is(e){if(!e.prompt)throw Error("prompt function is required");let t={...z,...e.keymaps};return[Nt.of(e),rt,Gr,St,Jr,rs(),Zi,We.of([{key:t.showInput,run:Wr}]),ct.highest([We.of([{key:t.acceptEdit,run:Vr},{key:t.rejectEdit,run:$r}])]),ss,ls,cs,us]}const ss=j.updateListener.of(e=>{let t=e.state.field(rt);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:[nt.of({show:!0,lineFrom:n,lineTo:r})]})}),ls=j.decorations.of(e=>{let t=e.state.field(St);return t?q.set([q.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):q.none}),cs=j.decorations.compute([rt],e=>{let t=e.field(rt),n=e.facet(Nt),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(q.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(q.widget({widget:new as(n.prompt),side:-1}).range(s))}}return q.set(r)}),us=qe.define({create(e){return q.none},update(e,t){let n=t.state.field(St);return n?q.set([q.widget({widget:new os(n.oldCode),block:!0}).range(n.from)]):q.none},provide:e=>j.decorations.from(e)});var ds=Ge(),F=Ba(ud(),1),Rn=()=>({entries:new Map}),{valueAtom:zr,useActions:Kr}=Or(Rn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(xd),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 g=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!u.has(C));y&&v&&m.set(w.name,w.usedBy)}let h;g!=null&&g.runElapsedTimeMs&&g.runElapsedTimeMs>2e3&&(h=g.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)}),Rn()):{...e,entries:c}},clear:()=>Rn()});Bn=function(){let e=br(),{submit:t,clear:n}=Kr(),{entries:r}=le(zr),o=Ti(),a=_r();return(0,F.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])},Gi=function(e){let t=(0,ds.c)(16),n=le(zr),r=Kr(),o=_r(),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(fs)}),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 fs(e){return e.cellId}async function ms(e){var s,u;let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as w,n as j,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Ii as A,It as D,M as E,P as S,mn as T,wi as _}from"./cells-
|
|
1
|
+
import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as w,n as j,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Ii as A,It as D,M as E,P as S,mn as T,wi as _}from"./cells-DfBJ0VnJ.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-DvoEXWke.js";import{d as F}from"./utils-Wvjk_Y4h.js";import{r as I}from"./constants-DMpttj8Q.js";import{v as M,w as q}from"./config-C1gn3-tv.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as H}from"./jsx-runtime-BqBOg78p.js";import{r as R}from"./requests-DIwGYs0l.js";import{n as U}from"./paths-D5zczhUD.js";import{s as V}from"./session-0B5NBztP.js";import{n as z}from"./ImperativeModal-B3Th7k4R.js";var G=b();function N(){return O(_)}function J(){let r=(0,G.c)(5),[t]=w(M),e=P(_),{openAlert:s}=z(),{sendRename:o}=R(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=F();return t.state===q.OPEN?(V(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||U.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],j(a)}var p=b(),v=L(H(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=S()[s]??"",C=E().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??W,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(D(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},K=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},Q=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>T(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=A.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?($.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 W(r){return r}export{N as a,x as i,K as n,J as o,Q as r,h as t};
|
|
@@ -94,7 +94,7 @@ mark line col
|
|
|
94
94
|
`&&DI(this.cm6)}else console.log(n+" is not implemented")}setBookmark(n,a){var o=a!=null&&a.insertLeft?1:-1,s=this.indexFromPos(n);return new L3(this,s,o)}addOverlay({query:n}){let a=new FI({regexp:!0,search:n.source,caseSensitive:!/i/.test(n.flags)});if(a.valid){a.forVim=!0,this.cm6Query=a;let o=Gh.of(a);return this.cm6.dispatch({effects:o}),a}}removeOverlay(n){if(!this.cm6Query)return;this.cm6Query.forVim=!1;let a=Gh.of(this.cm6Query);this.cm6.dispatch({effects:a})}getSearchCursor(n,a){var o=this,s=null,c=null,d=!1;a.ch??(a.ch=Number.MAX_VALUE);var f=Ln(o.cm6.state.doc,a),m=n.source.replace(/(\\.|{(?:\d+(?:,\d*)?|,\d+)})|[{}]/g,function(E,I){return I||"\\"+E});function b(E,I=0,N=E.length){return new HI(E,m,{ignoreCase:n.ignoreCase},I,N)}function w(E){var I=o.cm6.state.doc;if(E>I.length)return null;let N=b(I,E).next();return N.done?null:N.value}var x=1e4;function S(E,I){var N=o.cm6.state.doc;for(let q=1;;q++){let B=Math.max(E,I-q*x),V=b(N,B,I),M=null;for(;!V.next().done;)M=V.value;if(M&&(B==E||M.from>B+10))return M;if(B==E)return null}}return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(E){var I=o.cm6.state.doc;return s=E?S(0,s?d?s.to-1:s.from:f):w(s?d?s.to+1:s.to:f),c=s&&{from:lr(I,s.from),to:lr(I,s.to),match:s.match},d=s?s.from==s.to:!1,s&&s.match},from:function(){return c==null?void 0:c.from},to:function(){return c==null?void 0:c.to},replace:function(E){s&&(ks(o,{changes:{from:s.from,to:s.to,insert:E}}),s.to=s.from+E.length,c&&(c.to=lr(o.cm6.state.doc,s.to)))},get match(){return c&&c.match}}}findPosV(n,a,o,s){let{cm6:c}=this,d=c.state.doc,f=o=="page"?c.dom.clientHeight:0,m=Ln(d,n),b=$t.cursor(m,1,void 0,s),w=Math.round(Math.abs(a));for(let S=0;S<w;S++)o=="page"?b=c.moveVertically(b,a>0,f):o=="line"&&(b=c.moveVertically(b,a>0));let x=lr(d,b.head);return(a<0&&b.head==0&&s!=0&&n.line==0&&n.ch!=0||a>0&&b.head==d.length&&x.ch!=s&&n.line==x.line)&&(x.hitSide=!0),x}charCoords(n,a){var o=this.cm6.contentDOM.getBoundingClientRect(),s=Ln(this.cm6.state.doc,n),c=this.cm6.coordsAtPos(s),d=-o.top;return{left:((c==null?void 0:c.left)||0)-o.left,top:((c==null?void 0:c.top)||0)+d,bottom:((c==null?void 0:c.bottom)||0)+d}}coordsChar(n,a){var o=this.cm6.contentDOM.getBoundingClientRect(),s=this.cm6.posAtCoords({x:n.left+o.left,y:n.top+o.top})||0;return lr(this.cm6.state.doc,s)}getScrollInfo(){var n=this.cm6.scrollDOM;return{left:n.scrollLeft,top:n.scrollTop,height:n.scrollHeight,width:n.scrollWidth,clientHeight:n.clientHeight,clientWidth:n.clientWidth}}scrollTo(n,a){n!=null&&(this.cm6.scrollDOM.scrollLeft=n),a!=null&&(this.cm6.scrollDOM.scrollTop=a)}scrollIntoView(n,a){if(n){var o=this.indexFromPos(n);this.cm6.dispatch({effects:Et.scrollIntoView(o)})}else this.cm6.dispatch({scrollIntoView:!0,userEvent:"scroll"})}getWrapperElement(){return this.cm6.dom}getMode(){return{name:this.getOption("mode")}}setSize(n,a){this.cm6.dom.style.width=n+4+"px",this.cm6.dom.style.height=a+"px",this.refresh()}refresh(){this.cm6.measure()}destroy(){this.removeOverlay()}getLastEditEnd(){return this.posFromIndex(this.$lastChangeEndOffset)}onChange(n){for(let o in this.$lineHandleChanges&&this.$lineHandleChanges.push(n),this.marks)this.marks[o].update(n.changes);this.virtualSelection&&(this.virtualSelection.ranges=this.virtualSelection.ranges.map(o=>o.map(n.changes)));var a=this.curOp=this.curOp||{};n.changes.iterChanges((o,s,c,d,f)=>{(a.$changeStart==null||a.$changeStart>c)&&(a.$changeStart=c),this.$lastChangeEndOffset=d;var m={text:f.toJSON()};a.lastChange?a.lastChange.next=a.lastChange=m:a.lastChange=a.change=m},!0),a.changeHandlers||(a.changeHandlers=this._handlers.change&&this._handlers.change.slice())}onSelectionChange(){var n=this.curOp=this.curOp||{};n.cursorActivityHandlers||(n.cursorActivityHandlers=this._handlers.cursorActivity&&this._handlers.cursorActivity.slice()),this.curOp.cursorActivity=!0}operation(n,a){this.curOp||(this.curOp={$d:0}),this.curOp.$d++;try{var o=n()}finally{this.curOp&&(this.curOp.$d--,this.curOp.$d||this.onBeforeEndOperation())}return o}onBeforeEndOperation(){var n=this.curOp,a=!1;n&&(n.change&&Gy(n.changeHandlers,this,n.change),n&&n.cursorActivity&&(Gy(n.cursorActivityHandlers,this,null),n.isVimOp&&(a=!0)),this.curOp=null),a&&this.scrollIntoView()}moveH(n,a){if(a=="char"){var o=this.getCursor();this.setCursor(o.line,o.ch+n)}}setOption(n,a){switch(n){case"keyMap":this.state.keyMap=a;break;case"textwidth":this.state.textwidth=a;break}}getOption(n){switch(n){case"firstLineNumber":return 1;case"tabSize":return this.cm6.state.tabSize||4;case"readOnly":return this.cm6.state.readOnly;case"indentWithTabs":return this.cm6.state.facet(Hw)==" ";case"indentUnit":return this.cm6.state.facet(Hw).length||2;case"textwidth":return this.state.textwidth;case"keyMap":return this.state.keyMap||"vim"}}toggleOverwrite(n){this.state.overwrite=n}getTokenTypeAt(n){var s,c,d;var a=this.indexFromPos(n),o=((d=(c=(s=Kw(this.cm6.state,a))==null?void 0:s.resolve(a))==null?void 0:c.type)==null?void 0:d.name)||"";return/comment/i.test(o)?"comment":/string/i.test(o)?"string":""}overWriteSelection(n){var a=this.cm6.state.doc,o=this.cm6.state.selection,s=o.ranges.map(c=>{if(c.empty){var d=c.to<a.length?a.sliceString(c.from,c.to+1):"";if(d&&!/\n/.test(d))return $t.range(c.from,c.to+1)}return c});this.cm6.dispatch({selection:$t.create(s,o.mainIndex)}),this.replaceSelection(n)}isInMultiSelectMode(){return this.cm6.state.selection.ranges.length>1}virtualSelectionMode(){return!!this.virtualSelection}forEachSelection(n){var a=this.cm6.state.selection;this.virtualSelection=$t.create(a.ranges,a.mainIndex);for(var o=0;o<this.virtualSelection.ranges.length;o++){var s=this.virtualSelection.ranges[o];s&&(this.cm6.dispatch({selection:$t.create([s])}),n(),this.virtualSelection.ranges[o]=this.cm6.state.selection.ranges[0])}this.cm6.dispatch({selection:this.virtualSelection}),this.virtualSelection=null}hardWrap(n){return O3(this,n)}};Ve.isMac=typeof navigator<"u"&&/Mac/.test(navigator.platform),Ve.Pos=Cr,Ve.StringStream=II,Ve.commands={cursorCharLeft:function(e){BI(e.cm6)},redo:function(e){Jy(e,!1)},undo:function(e){Jy(e,!0)},newlineAndIndent:function(e){AI({state:e.cm6.state,dispatch:n=>ks(e,n)})},indentAuto:function(e){PI(e.cm6)},newlineAndIndentContinueComment:void 0,save:void 0},Ve.isWordChar=function(e){return vf.test(e)},Ve.keys=_3,Ve.addClass=function(e,n){},Ve.rmClass=function(e,n){},Ve.e_preventDefault=function(e){e.preventDefault()},Ve.e_stop=function(e){var n,a;(n=e==null?void 0:e.stopPropagation)==null||n.call(e),(a=e==null?void 0:e.preventDefault)==null||a.call(e)},Ve.lookupKey=function(e,n,a){var o=Ve.keys[e];!o&&/^Arrow/.test(e)&&(o=Ve.keys[e.slice(5)]),o&&a(o)},Ve.on=Uy,Ve.off=Ky,Ve.signal=Qy,Ve.findMatchingTag=T3,Ve.findEnclosingTag=I3,Ve.keyName=void 0;function Xy(e,n,a){var o=document.createElement("div");return o.appendChild(n),o}function Yy(e,n){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=n}function x3(e,n,a){Yy(e,f);var o=Xy(e,n,a&&a.bottom),s=!1,c,d=a&&a.duration!==void 0?a.duration:5e3;function f(){s||(s=!0,clearTimeout(c),o.remove(),e1(e,o))}return o.onclick=function(m){m.preventDefault(),f()},Zy(e,o),d&&(c=setTimeout(f,d)),f}function Zy(e,n){var a=e.state.dialog;e.state.dialog=n,n.style.flex="1",n&&a!==n&&(a&&a.contains(document.activeElement)&&e.focus(),a&&a.parentElement?a.parentElement.replaceChild(n,a):a&&a.remove(),Ve.signal(e,"dialog"))}function e1(e,n){e.state.dialog==n&&(e.state.dialog=null,Ve.signal(e,"dialog"))}function k3(e,n,a,o){o||(o={}),Yy(e,void 0);var s=Xy(e,n,o.bottom),c=!1;Zy(e,s);function d(m){if(typeof m=="string")f.value=m;else{if(c)return;c=!0,e1(e,s),e.state.dialog||e.focus(),o.onClose&&o.onClose(s)}}var f=s.getElementsByTagName("input")[0];return f&&(o.value&&(f.value=o.value,o.selectValueOnOpen!==!1&&f.select()),o.onInput&&Ve.on(f,"input",function(m){o.onInput(m,f.value,d)}),o.onKeyUp&&Ve.on(f,"keyup",function(m){o.onKeyUp(m,f.value,d)}),Ve.on(f,"keydown",function(m){o&&o.onKeyDown&&o.onKeyDown(m,f.value,d)||(m.keyCode==13&&a&&a(f.value),(m.keyCode==27||o.closeOnEnter!==!1&&m.keyCode==13)&&(f.blur(),Ve.e_stop(m),d()))}),o.closeOnBlur!==!1&&Ve.on(f,"blur",function(){setTimeout(function(){document.activeElement!==f&&d()})}),f.focus()),d}var C3={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function S3(e){return e&&e.bracketRegex||/[(){}[\]]/}function E3(e,n,a,o,s){for(var c=s&&s.maxScanLineLength||1e4,d=s&&s.maxScanLines||1e3,f=[],m=S3(s),b=a>0?Math.min(n.line+d,e.lastLine()+1):Math.max(e.firstLine()-1,n.line-d),w=n.line;w!=b;w+=a){var x=e.getLine(w);if(x){var S=a>0?0:x.length-1,E=a>0?x.length:-1;if(!(x.length>c))for(w==n.line&&(S=n.ch-(a<0?1:0));S!=E;S+=a){var I=x.charAt(S);if(m.test(I)){var N=C3[I];if(N&&N.charAt(1)==">"==a>0)f.push(I);else if(f.length)f.pop();else return{pos:new Cr(w,S),ch:I}}}}}return w-a==(a>0?e.lastLine():e.firstLine())?!1:null}function T3(e,n){return null}function I3(e,n){var c,d,f;var a=e.cm6.state,o=e.indexFromPos(n);o<a.doc.length&&a.sliceDoc(o,o+1)=="<"&&o++;for(var s=((c=Kw(a,o))==null?void 0:c.resolve(o))||null;s;){if(((d=s.firstChild)==null?void 0:d.type.name)=="OpenTag"&&((f=s.lastChild)==null?void 0:f.type.name)=="CloseTag")return{open:t1(a.doc,s.firstChild),close:t1(a.doc,s.lastChild)};s=s.parent}}function t1(e,n){return{from:lr(e,n.from),to:lr(e,n.to)}}var L3=class{constructor(e,n,a){this.cm=e,this.id=e.$mid++,this.offset=n,this.assoc=a,e.marks[this.id]=this}clear(){delete this.cm.marks[this.id]}find(){return this.offset==null?null:this.cm.posFromIndex(this.offset)}update(e){this.offset!=null&&(this.offset=e.mapPos(this.offset,this.assoc,Uw.TrackDel))}};function O3(e,n){var I;for(var a=n.column||e.getOption("textwidth")||80,o=n.allowMerge!=0,s=Math.min(n.from,n.to),c=Math.max(n.from,n.to);s<=c;){var d=e.getLine(s);if(d.length>a){var f=E(d,a,5);if(f){var m=(I=/^\s*/.exec(d))==null?void 0:I[0];e.replaceRange(`
|
|
95
95
|
`+m,new Cr(s,f.start),new Cr(s,f.end))}c++}else if(o&&/\S/.test(d)&&s!=c){var b=e.getLine(s+1);if(b&&/\S/.test(b)){var w=d.replace(/\s+$/,""),x=b.replace(/^\s+/,""),S=w+" "+x,f=E(S,a,5);f&&f.start>w.length||S.length<a?(e.replaceRange(" ",new Cr(s,w.length),new Cr(s+1,b.length-x.length)),s--,c--):w.length<d.length&&e.replaceRange("",new Cr(s,w.length),new Cr(s,d.length))}}s++}return s;function E(N,q,B){if(!(N.length<q)){var V=N.slice(0,q),M=N.slice(q),J=/^(?:(\s+)|(\S+)(\s+))/.exec(M),le=/(?:(\s+)|(\s+)(\S+))$/.exec(V),A=0,j=0;if(le&&!le[2]&&(A=q-le[1].length,j=q),J&&!J[2]&&(A||(A=q),j=q+J[1].length),A)return{start:A,end:j};if(le&&le[2]&&le.index>B)return{start:le.index,end:le.index+le[2].length};if(J&&J[2])return A=q+J[2].length,{start:A,end:A+J[3].length}}}}var bf=EI||(function(){let e={cursorBlinkRate:1200};return function(){return e}})(),A3=class{constructor(e,n,a,o,s,c,d,f,m,b){this.left=e,this.top=n,this.height=a,this.fontFamily=o,this.fontSize=s,this.fontWeight=c,this.color=d,this.className=f,this.letter=m,this.partial=b}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",e.style.height=this.height+"px",e.style.lineHeight=this.height+"px",e.style.fontFamily=this.fontFamily,e.style.fontSize=this.fontSize,e.style.fontWeight=this.fontWeight,e.style.color=this.partial?"transparent":this.color,e.className=this.className,e.textContent=this.letter}eq(e){return this.left==e.left&&this.top==e.top&&this.height==e.height&&this.fontFamily==e.fontFamily&&this.fontSize==e.fontSize&&this.fontWeight==e.fontWeight&&this.color==e.color&&this.className==e.className&&this.letter==e.letter}},R3=class{constructor(e,n){this.view=e,this.rangePieces=[],this.cursors=[],this.cm=n,this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.cursorLayer=e.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer cm-vimCursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),e.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){let e=bf(this.cm.cm6.state).cursorBlinkRate;this.cursorLayer.style.animationDuration=e+"ms"}update(e){(e.selectionSet||e.geometryChanged||e.viewportChanged)&&(this.view.requestMeasure(this.measureReq),this.cursorLayer.style.animationName=this.cursorLayer.style.animationName=="cm-blink"?"cm-blink2":"cm-blink"),N3(e)&&this.setBlinkRate()}scheduleRedraw(){this.view.requestMeasure(this.measureReq)}readPos(){let{state:e}=this.view,n=[];for(let a of e.selection.ranges){let o=a==e.selection.main,s=D3(this.cm,this.view,a,o);s&&n.push(s)}return{cursors:n}}drawSel({cursors:e}){if(e.length!=this.cursors.length||e.some((n,a)=>!n.eq(this.cursors[a]))){let n=this.cursorLayer.children;if(n.length!==e.length){this.cursorLayer.textContent="";for(let a of e)this.cursorLayer.appendChild(a.draw())}else e.forEach((a,o)=>a.adjust(n[o]));this.cursors=e}}destroy(){this.cursorLayer.remove()}};function N3(e){return bf(e.startState)!=bf(e.state)}var P3=Bu.highest(Et.theme({".cm-vimMode .cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-fat-cursor":{position:"absolute",background:"#ff9696",border:"none",whiteSpace:"pre"},"&:not(.cm-focused) .cm-fat-cursor":{background:"none",outline:"solid 1px #ff9696",color:"transparent !important"}}));function M3(e){let n=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==kI.LTR?n.left:n.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft*e.scaleX,top:n.top-e.scrollDOM.scrollTop*e.scaleY}}function D3(e,n,a,o){var w,x,S;var s;let c=a.head,d=!1,f=1,m=e.state.vim;if(m&&(!m.insertMode||e.state.overwrite)){if(d=!0,m.visualBlock&&!o)return null;a.anchor<a.head&&(c<n.state.doc.length&&n.state.sliceDoc(c,c+1))!=`
|
|
96
96
|
`&&c--,e.state.overwrite?f=.2:m.status&&(f=.5)}if(d){let E=c<n.state.doc.length&&n.state.sliceDoc(c,c+1);E&&/[\uDC00-\uDFFF]/.test(E)&&c>1&&(c--,E=n.state.sliceDoc(c,c+1));let I=n.coordsAtPos(c,1);if(!I)return null;let N=M3(n),q=n.domAtPos(c),B=q?q.node:n.contentDOM;for(B instanceof Text&&q.offset>=B.data.length&&((w=B.parentElement)==null?void 0:w.nextSibling)&&(B=(x=B.parentElement)==null?void 0:x.nextSibling,q={node:B,offset:0});q&&q.node instanceof HTMLElement;)B=q.node,q={node:q.node.childNodes[q.offset],offset:0};if(!(B instanceof HTMLElement)){if(!B.parentNode)return null;B=B.parentNode}let V=getComputedStyle(B),M=I.left,J=(S=(s=n).coordsForChar)==null?void 0:S.call(s,c);if(J&&(M=J.left),!E||E==`
|
|
97
|
-
`||E=="\r")E="\xA0";else if(E==" "){E="\xA0";var b=n.coordsAtPos(c+1,-1);b&&(M=b.left-(b.left-I.left)/parseInt(V.tabSize))}else/[\uD800-\uDBFF]/.test(E)&&c<n.state.doc.length-1&&(E+=n.state.sliceDoc(c+1,c+2));let le=I.bottom-I.top;return new A3((M-N.left)/n.scaleX,(I.top-N.top+le*(1-f))/n.scaleY,le*f/n.scaleY,V.fontFamily,V.fontSize,V.fontWeight,V.color,o?"cm-fat-cursor cm-cursor-primary":"cm-fat-cursor cm-cursor-secondary",E,f!=1)}else return null}let n1,r1,a1,i1;n1=typeof navigator<"u"&&/linux/i.test(navigator.platform)&&/ Gecko\/\d+/.exec(navigator.userAgent),fa=w3(Ve),r1=250,a1=Et.baseTheme({".cm-vimMode .cm-cursorLayer:not(.cm-vimCursorLayer)":{display:"none"},".cm-vim-panel":{padding:"0px 10px",fontFamily:"monospace",minHeight:"1.3em",display:"flex"},".cm-vim-panel input":{border:"none",outline:"none",backgroundColor:"inherit"},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"}}),i1=Ki.fromClass(class{constructor(e){this.status="",this.query=null,this.decorations=ca.none,this.waitForCopy=!1,this.lastKeydown="",this.useNextTextInput=!1,this.compositionText="",this.view=e;let n=this.cm=new Ve(e);fa.enterVimMode(this.cm),this.view.cm=this.cm,this.cm.state.vimPlugin=this,this.blockCursor=new R3(e,n),this.updateClass(),this.cm.on("vim-command-done",()=>{n.state.vim&&(n.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",a=>{n.state.vim&&(n.state.vim.mode=a.mode,a.subMode&&(n.state.vim.mode+=" block"),n.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus())}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():e.dispatch({effects:o1.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.spacer=document.createElement("span"),this.spacer.style.flex="1",this.statusButton=document.createElement("span"),this.statusButton.onclick=a=>{fa.handleKey(this.cm,"<Esc>","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(e){var n;if((e.viewportChanged||e.docChanged)&&this.query&&this.highlight(this.query),e.docChanged&&this.cm.onChange(e),e.selectionSet&&this.cm.onSelectionChange(),e.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),e.transactions){for(let a of e.transactions)for(let o of a.effects)if(o.is(Gh))if(!((n=o.value)!=null&&n.forVim))this.highlight(null);else{let s=o.value.create();this.highlight(s)}}this.blockCursor.update(e)}updateClass(){let e=this.cm.state;!e.vim||e.vim.insertMode&&!e.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let e=this.cm.state.statusbar,n=this.cm.state.vim;if(!e||!n)return;let a=this.cm.state.dialog;if(a)a.parentElement!=e&&(e.textContent="",e.appendChild(a));else{e.textContent="";var o=(n.mode||"normal").toUpperCase();n.insertModeReturn&&(o+="(C-O)"),this.statusButton.textContent=`--${o}--`,e.appendChild(this.statusButton),e.appendChild(this.spacer)}this.dom.textContent=n.status,e.appendChild(this.dom)}destroy(){fa.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(e){if(this.query=e,!e)return this.decorations=ca.none;let{view:n}=this,a=new $w;for(let o=0,s=n.visibleRanges,c=s.length;o<c;o++){let{from:d,to:f}=s[o];for(;o<c-1&&f>s[o+1].from-2*r1;)f=s[++o].to;e.highlight(n.state,d,f,(m,b)=>{a.add(m,b,z3)})}return this.decorations=a.finish()}handleKey(e,n){let a=this.cm,o=a.state.vim;if(!o)return;let s=fa.vimKeyFromEvent(e,o);if(Ve.signal(this.cm,"inputEvent",{type:"handleKey",key:s}),!s)return;if(s=="<Esc>"&&!o.insertMode&&!o.visualMode&&this.query){let d=o.searchState_;d&&(a.removeOverlay(d.getOverlay()),d.setOverlay(null))}if(s==="<C-c>"&&!Ve.isMac&&a.somethingSelected())return this.waitForCopy=!0,!0;o.status=(o.status||"")+s;let c=fa.multiSelectHandleKey(a,s,"user");return o=fa.maybeInitVimState_(a),!c&&o.insertMode&&a.state.overwrite&&(e.key&&e.key.length==1&&!/\n/.test(e.key)?(c=!0,a.overWriteSelection(e.key)):e.key=="Backspace"&&(c=!0,Ve.commands.cursorCharLeft(a))),c&&(Ve.signal(this.cm,"vim-keypress",s),e.preventDefault(),e.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!c}},{eventHandlers:{copy:function(e,n){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var a=this.cm,o=a.state.vim;o&&(o.insertMode?a.setSelection(a.getCursor(),a.getCursor()):a.operation(()=>{a.curOp&&(a.curOp.isVimOp=!0),fa.handleKey(a,"<Esc>","user")}))}))},compositionstart:function(e,n){this.useNextTextInput=!0,Ve.signal(this.cm,"inputEvent",e)},compositionupdate:function(e,n){Ve.signal(this.cm,"inputEvent",e)},compositionend:function(e,n){Ve.signal(this.cm,"inputEvent",e)},keypress:function(e,n){Ve.signal(this.cm,"inputEvent",e),this.lastKeydown=="Dead"&&this.handleKey(e,n)},keydown:function(e,n){Ve.signal(this.cm,"inputEvent",e),this.lastKeydown=e.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(e,n))}},provide:()=>[Et.inputHandler.of((e,n,a,o)=>{var w,x;var s=jl(e);if(!s)return!1;var c=(w=s.state)==null?void 0:w.vim,d=s.state.vimPlugin;if(c&&!c.insertMode&&!((x=s.curOp)!=null&&x.isVimOp)){if(o==="\0\0")return!0;if(Ve.signal(s,"inputEvent",{type:"text",text:o,from:n,to:a}),o.length==1&&d.useNextTextInput){if(c.expectLiteralNext&&e.composing)return d.compositionText=o,!1;if(d.compositionText){var f=d.compositionText;d.compositionText="";var m=e.state.selection.main.head;if(f===e.state.sliceDoc(m-f.length,m)){var b=s.getCursor();s.replaceRange("",s.posFromIndex(m-f.length),b)}}return d.handleKey({key:o,preventDefault:()=>{},stopPropagation:()=>{}}),j3(e),!0}}return!1})],decorations:e=>e.decorations});function j3(e){var n=e.scrollDOM.parentElement;if(n){if(n1){e.contentDOM.textContent="\0\0",e.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var a=e.scrollDOM.nextSibling,o=window.getSelection(),s=o&&{anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset};e.scrollDOM.remove(),n.insertBefore(e.scrollDOM,a);try{s&&o&&(o.setPosition(s.anchorNode,s.anchorOffset),s.focusNode&&o.extend(s.focusNode,s.focusOffset))}catch(c){console.error(c)}e.focus(),e.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}var z3=ca.mark({class:"cm-searchMatch"}),o1=la.define(),q3=ss.define({create:()=>!1,update(e,n){for(let a of n.effects)a.is(o1)&&(e=a.value);return e},provide:e=>Uh.from(e,n=>n?F3:null)});function F3(e){let n=document.createElement("div");n.className="cm-vim-panel";let a=e.cm;return a.state.dialog&&n.appendChild(a.state.dialog),{top:!1,dom:n}}function B3(e){let n=document.createElement("div");n.className="cm-vim-panel";let a=e.cm;return a.state.statusbar=n,a.state.vimPlugin.updateStatus(),{dom:n}}Ux=function(e={}){return[a1,i1,P3,e.status?Uh.of(B3):q3]},jl=function(e){return e.cm||null},Xm=function(e){let n=e.state.selection.main;return n.from===0&&n.to===0},Nm=function(e,n=!1){let a=e.state.selection.main,o=e.state.doc.length;return n&&a.from===o-1&&a.to===o-1?!0:a.from===o&&a.to===o},zx=function(e){e&&e.dispatch({selection:{anchor:e.state.doc.length,head:e.state.doc.length}})},Xx=function(e){var n;return((n=jl(e))==null?void 0:n.state.vim)!=null},_x=function(e){var a;let n=(a=jl(e))==null?void 0:a.state.vim;return n?!n.mode&&!n.insertMode&&!n.visualMode?!0:n.mode==="normal":!1},ek=function(e){e&&e.dispatch({selection:{anchor:0,head:e.state.doc.length}})};function s1(e,n){if(!(n!=null&&n.length))return ca.none;let a=new $w,o=e.facet(ua),s=n.filter(c=>c.kind==="cell"&&c.cellId===o).toSorted((c,d)=>c.lineNumber-d.lineNumber);for(let c of s)try{let d=e.doc.line(c.lineNumber),f=ca.line({class:"cm-error-line"});a.add(d.from,d.from,f)}catch(d){be.debug("Invalid line number in error decoration",{error:d})}return a.finish()}function l1(e,n){if(!(n!=null&&n.length))return;let a=e.state.facet(ua),o=n.filter(d=>d.kind==="cell"&&d.cellId===a);if(o.length===0)return;let s=SI(e.state),c=[];for(let d of o)try{let f=e.state.doc.line(d.lineNumber);s.between(f.from,f.to,(m,b)=>{c.push(_I.of({from:m,to:b}))})}catch(f){be.debug("Invalid line numbers",{error:f})}c.length>0&&e.dispatch({effects:c})}var V3=class{constructor(e,n){let a=n.get();this.decorations=s1(e.state,a),l1(e,a),this.unsubscribe=n.sub(o=>{let s=this.decorations.size;this.decorations=s1(e.state,o),l1(e,o),s!==this.decorations.size&&e.dispatch({userEvent:"marimo.error-decoration-update"})})}update(e){this.decorations=this.decorations.map(e.changes)}destroy(){this.unsubscribe()}};function H3(e){return Ki.define(n=>new V3(n,e),{decorations:n=>n.decorations})}function $3(e){return[H3(e),Et.theme({".cm-error-line":{backgroundColor:"color-mix(in srgb, var(--red-4) 40%, transparent)"},"&.cm-focused .cm-error-line.cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--red-6) 40%, transparent)"}})]}function W3({cellId:e,hotkeys:n}){let a=[];return a.push(...Rw({key:n.getHotkey("cell.run").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).onRun(),!0)}),{key:n.getHotkey("cell.runAndNewBelow").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.onRun(),e==="__scratch__"||(o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!1})),!0}},...Rw({key:n.getHotkey("cell.runAndNewAbove").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.onRun(),e==="__scratch__"||(o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!0})),!0}}),{key:n.getHotkey("cell.aiCompletion").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).aiCellCompletion()&&o.contentDOM.focus(),!0)}),e!=="__scratch__"&&a.push({key:n.getHotkey("cell.goToDefinition").key,preventDefault:!0,stopPropagation:!0,run:o=>(Vm(o),!0)},{key:n.getHotkey("cell.delete").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.doc.length===0&&o.state.facet(st).deleteCell(),!0)},{key:n.getHotkey("cell.moveUp").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!0}),!0)},{key:n.getHotkey("cell.moveDown").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!1}),!0)},{key:n.getHotkey("cell.moveLeft").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!0,direction:"left"}),!0)},{key:n.getHotkey("cell.moveRight").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!1,direction:"right"}),!0)},{key:"ArrowUp",run:o=>t_(o.state)?!1:Xm(o)?(o.state.facet(st).moveToNextCell({cellId:e,before:!0,noCreate:!0}),!0):!1},{key:"ArrowDown",run:o=>t_(o.state)?!1:Nm(o)?(o.state.facet(st).moveToNextCell({cellId:e,before:!1,noCreate:!0}),!0):!1},{key:n.getHotkey("cell.focusDown").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveToNextCell({cellId:e,before:!1,noCreate:!0}),!0)},{key:n.getHotkey("cell.focusUp").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveToNextCell({cellId:e,before:!0,noCreate:!0}),!0)},{key:n.getHotkey("cell.sendToBottom").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).sendToBottom({cellId:e}),!0)},{key:n.getHotkey("cell.sendToTop").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).sendToTop({cellId:e}),!0)},{key:n.getHotkey("cell.createAbove").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.contentDOM.blur(),o.state.facet(st).createNewCell({cellId:e,before:!0}),!0)},{key:n.getHotkey("cell.createBelow").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.contentDOM.blur(),o.state.facet(st).createNewCell({cellId:e,before:!1}),!0)},{key:n.getHotkey("cell.hideCode").key,preventDefault:!0,stopPropagation:!0,run:o=>{var c;let s=o.state.facet(st).toggleHideCode();return n_(o),s?(o.contentDOM.blur(),(c=document.getElementById(En.create(e)))==null||c.focus()):o.contentDOM.focus(),!0}},{key:n.getHotkey("cell.splitCell").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.splitCell({cellId:e}),s.moveToNextCell&&requestAnimationFrame(()=>{o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!1})}),!0}}),[Bu.high(Ja.of(a))]}function U3(e){return[Et.updateListener.of(n=>{if(n.docChanged){let a=n.transactions.some(d=>d.effects.some(f=>f.is(_s))),o=wr(n.view),s=n.view.state.facet(st),c=n.view.state.facet(ua);s.updateCellCode({cellId:c,code:o,formattingChange:a}),Ne.get(Xu).has(c)&&Ne.set(Em)}}),qS(e)]}var K3=["input","delete","undo","redo"];function Q3({docChanged:e,transactions:n,predicate:a=()=>!0,hasFocus:o=!1}){return!e||!a()||n.some(s=>s.effects.some(c=>c.is(_s)))?!1:n.some(s=>s.annotation(Xa)===void 0?K3.some(c=>s.isUserEvent(c))||o:!1)}function G3({predicate:e}){return Et.updateListener.of(n=>{Q3({docChanged:n.docChanged,transactions:n.transactions,predicate:e,hasFocus:n.view.hasFocus})&&n.view.state.facet(st).onRun()})}Lx=function({cellId:e,hotkeys:n,cellActions:a}){return[st.of(a),ua.of(e),W3({cellId:e,hotkeys:n}),U3(n),$3(DS(n5(e),Ne))]};const c1=async e=>{let n=e.state.doc.sliceString(0,e.pos),a=document.activeElement,o=null;if(a!==null){let d=En.findElement(a);d!==null&&(o=En.parse(d.id))}if(o===null)return be.error("Failed to find active cell."),null;let s=await Td.request({document:n,cellId:o});if(!s)return null;let c=mf.asHoverTooltip({position:e.pos,message:s,limitToType:"tooltip"});return c&&Ne.set(Qu,{documentation:c.html??null}),c?null:mf.asCompletionResult(e.pos,s)};function J3(e){return n=>e.predicate(n.state)?e.completion(n):null}var X3=async e=>{let n=e.matchBefore(/:\w*$/);if(!e.explicit&&!n)return null;let a=await Y3();return{from:(n==null?void 0:n.from)??e.pos,options:a,validFor:/^[\w:]*$/}},Y3=rr(async()=>{let e=await fetch("https://unpkg.com/emojilib@3.0.11/dist/emoji-en-US.json").then(n=>{if(!n.ok)throw Error("Failed to fetch emoji list");return n.json()}).catch(()=>({}));return Object.entries(e).map(([n,a])=>({shortcode:a[0],label:a.map(o=>`:${o}`).join(" "),emoji:n,displayLabel:`${n} ${a[0].replaceAll("_"," ")}`,apply:n,type:"emoji"}))}),Z3=async e=>{let n=e.matchBefore(/::[\w-:]*$/);if(!e.explicit&&!n)return null;let a=await eE();return{from:(n==null?void 0:n.from)??e.pos,options:a,validFor:/^[\w-:]*$/}},eE=rr(async()=>{let e=await fetch("https://unpkg.com/lucide-static@0.452.0/tags.json").then(a=>{if(!a.ok)throw Error("Failed to fetch Lucide icon list");return a.json()}).catch(()=>({})),n=a=>`https://cdn.jsdelivr.net/npm/lucide-static@0.452.0/icons/${a}.svg`;return Object.entries(e).map(([a,o])=>({label:`::${a}`,displayLabel:a,type:"lucide-icon",boost:10,apply:`::lucide:${a}::`,detail:o.join(", "),info:()=>{let s=document.createElement("img");return s.src=n(a),s.style.width="24px",s.style.height="24px",s}}))}),tE=e=>{let n=e.matchBefore(/\\\w*$/);return!e.explicit&&!n?null:{from:(n==null?void 0:n.from)??e.pos,options:nE(),validFor:/^[\w\\]*$/}},nE=rr(()=>[["alpha","\u03B1","Greek small letter alpha"],["beta","\u03B2","Greek small letter beta"],["gamma","\u03B3","Greek small letter gamma"],["delta","\u03B4","Greek small letter delta"],["epsilon","\u03B5","Greek small letter epsilon"],["zeta","\u03B6","Greek small letter zeta"],["eta","\u03B7","Greek small letter eta"],["theta","\u03B8","Greek small letter theta"],["iota","\u03B9","Greek small letter iota"],["kappa","\u03BA","Greek small letter kappa"],["lambda","\u03BB","Greek small letter lambda"],["mu","\u03BC","Greek small letter mu"],["nu","\u03BD","Greek small letter nu"],["xi","\u03BE","Greek small letter xi"],["omicron","\u03BF","Greek small letter omicron"],["pi","\u03C0","Greek small letter pi"],["rho","\u03C1","Greek small letter rho"],["sigma","\u03C3","Greek small letter sigma"],["tau","\u03C4","Greek small letter tau"],["upsilon","\u03C5","Greek small letter upsilon"],["phi","\u03C6","Greek small letter phi"],["chi","\u03C7","Greek small letter chi"],["psi","\u03C8","Greek small letter psi"],["omega","\u03C9","Greek small letter omega"],["Gamma","\u0393","Greek capital letter gamma"],["Delta","\u0394","Greek capital letter delta"],["Theta","\u0398","Greek capital letter theta"],["Lambda","\u039B","Greek capital letter lambda"],["Xi","\u039E","Greek capital letter xi"],["Pi","\u03A0","Greek capital letter pi"],["Sigma","\u03A3","Greek capital letter sigma"],["Phi","\u03A6","Greek capital letter phi"],["Psi","\u03A8","Greek capital letter psi"],["Omega","\u03A9","Greek capital letter omega"],["pm","\xB1","Plus-minus sign"],["mp","\u2213","Minus-plus sign"],["times","\xD7","Multiplication sign"],["div","\xF7","Division sign"],["cdot","\u22C5","Dot operator"],["ast","\u2217","Asterisk operator"],["star","\u22C6","Star operator"],["circ","\u2218","Ring operator"],["bullet","\u2022","Bullet"],["cap","\u2229","Intersection"],["cup","\u222A","Union"],["uplus","\u228E","Multiset union"],["sqcap","\u2293","Square cap"],["sqcup","\u2294","Square cup"],["vee","\u2228","Logical or"],["wedge","\u2227","Logical and"],["setminus","\u2216","Set minus"],["oplus","\u2295","Circled plus"],["ominus","\u2296","Circled minus"],["otimes","\u2297","Circled times"],["oslash","\u2298","Circled division slash"],["odot","\u2299","Circled dot operator"],["leq","\u2264","Less than or equal to"],["geq","\u2265","Greater than or equal to"],["equiv","\u2261","Identical to"],["prec","\u227A","Precedes"],["succ","\u227B","Succeeds"],["sim","\u223C","Tilde operator"],["perp","\u22A5","Up tack"],["mid","\u2223","Divides"],["parallel","\u2225","Parallel to"],["subset","\u2282","Subset of"],["supset","\u2283","Superset of"],["subseteq","\u2286","Subset of or equal to"],["supseteq","\u2287","Superset of or equal to"],["cong","\u2245","Approximately equal to"],["approx","\u2248","Almost equal to"],["neq","\u2260","Not equal to"],["ne","\u2260","Not equal to"],["propto","\u221D","Proportional to"],["leftarrow","\u2190","Leftward arrow"],["rightarrow","\u2192","Rightward arrow"],["Leftarrow","\u21D0","Leftward double arrow"],["Rightarrow","\u21D2","Rightward double arrow"],["leftrightarrow","\u2194","Left right arrow"],["Leftrightarrow","\u21D4","Left right double arrow"],["uparrow","\u2191","Upward arrow"],["downarrow","\u2193","Downward arrow"],["Uparrow","\u21D1","Upward double arrow"],["Downarrow","\u21D3","Downward double arrow"],["infty","\u221E","Infinity"],["nabla","\u2207","Nabla"],["partial","\u2202","Partial differential"],["forall","\u2200","For all"],["exists","\u2203","There exists"],["nexists","\u2204","There does not exist"],["emptyset","\u2205","Empty set"],["in","\u2208","Element of"],["notin","\u2209","Not an element of"],["sum","\u2211","N-ary summation"],["prod","\u220F","N-ary product"],["int","\u222B","Integral"],["oint","\u222E","Contour integral"],["sqrt","\u221A","Square root"],["hbar","\u210F","Planck constant over 2pi"],["ldots","\u2026","Horizontal ellipsis"],["cdots","\u22EF","Midline horizontal ellipsis"],["vdots","\u22EE","Vertical ellipsis"],["ddots","\u22F1","Down right diagonal ellipsis"]].map(([e,n,a])=>({label:`\\${e} ${a}`,displayLabel:e,type:"latex-symbol",boost:10,apply:`\\${e}`,info:()=>{let o=document.createElement("div");return o.textContent=`${n} ${a}`,o},detail:n})));const rE=[X3,Z3,tE];var aE=100;function co(e){return!e.state.selection.main.empty}function wf({view:e,selection:n,markup:a}){let o=[],s=!0;for(let c=n.from;c<=n.to;c++)if(!e.state.doc.lineAt(c).text.startsWith(a)){s=!1;break}for(let c=n.from;c<=n.to;){let d=e.state.doc.lineAt(c),f=d.text.startsWith(a);s?o.push({from:d.from,to:d.from+a.length,insert:Ui.of([""])}):(f&&o.push({from:d.from,to:d.from+a.length,insert:Ui.of([""])}),o.push({from:d.from,insert:Ui.of([a])})),c=d.to+1}return o}function _f({view:e,range:n,markupAfter:a,markupBefore:o}){if(n.empty){let b=e.state.wordAt(n.head);b&&(n=b)}let s=e.state.sliceDoc(n.from-o.length,n.from)===o,c=e.state.sliceDoc(n.to,n.to+a.length)===a,d=[];d.push(s?{from:n.from-o.length,to:n.from,insert:Ui.of([""])}:{from:n.from,insert:Ui.of(o.split(`
|
|
97
|
+
`||E=="\r")E="\xA0";else if(E==" "){E="\xA0";var b=n.coordsAtPos(c+1,-1);b&&(M=b.left-(b.left-I.left)/parseInt(V.tabSize))}else/[\uD800-\uDBFF]/.test(E)&&c<n.state.doc.length-1&&(E+=n.state.sliceDoc(c+1,c+2));let le=I.bottom-I.top;return new A3((M-N.left)/n.scaleX,(I.top-N.top+le*(1-f))/n.scaleY,le*f/n.scaleY,V.fontFamily,V.fontSize,V.fontWeight,V.color,o?"cm-fat-cursor cm-cursor-primary":"cm-fat-cursor cm-cursor-secondary",E,f!=1)}else return null}let n1,r1,a1,i1;n1=typeof navigator<"u"&&/linux/i.test(navigator.platform)&&/ Gecko\/\d+/.exec(navigator.userAgent),fa=w3(Ve),r1=250,a1=Et.baseTheme({".cm-vimMode .cm-cursorLayer:not(.cm-vimCursorLayer)":{display:"none"},".cm-vim-panel":{padding:"0px 10px",fontFamily:"monospace",minHeight:"1.3em",display:"flex"},".cm-vim-panel input":{border:"none",outline:"none",backgroundColor:"inherit"},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"}}),i1=Ki.fromClass(class{constructor(e){this.status="",this.query=null,this.decorations=ca.none,this.waitForCopy=!1,this.lastKeydown="",this.useNextTextInput=!1,this.compositionText="",this.view=e;let n=this.cm=new Ve(e);fa.enterVimMode(this.cm),this.view.cm=this.cm,this.cm.state.vimPlugin=this,this.blockCursor=new R3(e,n),this.updateClass(),this.cm.on("vim-command-done",()=>{n.state.vim&&(n.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",a=>{n.state.vim&&(n.state.vim.mode=a.mode,a.subMode&&(n.state.vim.mode+=" block"),n.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus())}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():e.dispatch({effects:o1.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.spacer=document.createElement("span"),this.spacer.style.flex="1",this.statusButton=document.createElement("span"),this.statusButton.onclick=a=>{fa.handleKey(this.cm,"<Esc>","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(e){var n;if((e.viewportChanged||e.docChanged)&&this.query&&this.highlight(this.query),e.docChanged&&this.cm.onChange(e),e.selectionSet&&this.cm.onSelectionChange(),e.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),e.transactions){for(let a of e.transactions)for(let o of a.effects)if(o.is(Gh))if(!((n=o.value)!=null&&n.forVim))this.highlight(null);else{let s=o.value.create();this.highlight(s)}}this.blockCursor.update(e)}updateClass(){let e=this.cm.state;!e.vim||e.vim.insertMode&&!e.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let e=this.cm.state.statusbar,n=this.cm.state.vim;if(!e||!n)return;let a=this.cm.state.dialog;if(a)a.parentElement!=e&&(e.textContent="",e.appendChild(a));else{e.textContent="";var o=(n.mode||"normal").toUpperCase();n.insertModeReturn&&(o+="(C-O)"),this.statusButton.textContent=`--${o}--`,e.appendChild(this.statusButton),e.appendChild(this.spacer)}this.dom.textContent=n.status,e.appendChild(this.dom)}destroy(){fa.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(e){if(this.query=e,!e)return this.decorations=ca.none;let{view:n}=this,a=new $w;for(let o=0,s=n.visibleRanges,c=s.length;o<c;o++){let{from:d,to:f}=s[o];for(;o<c-1&&f>s[o+1].from-2*r1;)f=s[++o].to;e.highlight(n.state,d,f,(m,b)=>{a.add(m,b,z3)})}return this.decorations=a.finish()}handleKey(e,n){let a=this.cm,o=a.state.vim;if(!o)return;let s=fa.vimKeyFromEvent(e,o);if(Ve.signal(this.cm,"inputEvent",{type:"handleKey",key:s}),!s)return;if(s=="<Esc>"&&!o.insertMode&&!o.visualMode&&this.query){let d=o.searchState_;d&&(a.removeOverlay(d.getOverlay()),d.setOverlay(null))}if(s==="<C-c>"&&!Ve.isMac&&a.somethingSelected())return this.waitForCopy=!0,!0;o.status=(o.status||"")+s;let c=fa.multiSelectHandleKey(a,s,"user");return o=fa.maybeInitVimState_(a),!c&&o.insertMode&&a.state.overwrite&&(e.key&&e.key.length==1&&!/\n/.test(e.key)?(c=!0,a.overWriteSelection(e.key)):e.key=="Backspace"&&(c=!0,Ve.commands.cursorCharLeft(a))),c&&(Ve.signal(this.cm,"vim-keypress",s),e.preventDefault(),e.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!c}},{eventHandlers:{copy:function(e,n){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var a=this.cm,o=a.state.vim;o&&(o.insertMode?a.setSelection(a.getCursor(),a.getCursor()):a.operation(()=>{a.curOp&&(a.curOp.isVimOp=!0),fa.handleKey(a,"<Esc>","user")}))}))},compositionstart:function(e,n){this.useNextTextInput=!0,Ve.signal(this.cm,"inputEvent",e)},compositionupdate:function(e,n){Ve.signal(this.cm,"inputEvent",e)},compositionend:function(e,n){Ve.signal(this.cm,"inputEvent",e)},keypress:function(e,n){Ve.signal(this.cm,"inputEvent",e),this.lastKeydown=="Dead"&&this.handleKey(e,n)},keydown:function(e,n){Ve.signal(this.cm,"inputEvent",e),this.lastKeydown=e.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(e,n))}},provide:()=>[Et.inputHandler.of((e,n,a,o)=>{var w,x;var s=jl(e);if(!s)return!1;var c=(w=s.state)==null?void 0:w.vim,d=s.state.vimPlugin;if(c&&!c.insertMode&&!((x=s.curOp)!=null&&x.isVimOp)){if(o==="\0\0")return!0;if(Ve.signal(s,"inputEvent",{type:"text",text:o,from:n,to:a}),o.length==1&&d.useNextTextInput){if(c.expectLiteralNext&&e.composing)return d.compositionText=o,!1;if(d.compositionText){var f=d.compositionText;d.compositionText="";var m=e.state.selection.main.head;if(f===e.state.sliceDoc(m-f.length,m)){var b=s.getCursor();s.replaceRange("",s.posFromIndex(m-f.length),b)}}return d.handleKey({key:o,preventDefault:()=>{},stopPropagation:()=>{}}),j3(e),!0}}return!1})],decorations:e=>e.decorations});function j3(e){var n=e.scrollDOM.parentElement;if(n){if(n1){e.contentDOM.textContent="\0\0",e.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var a=e.scrollDOM.nextSibling,o=window.getSelection(),s=o&&{anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset};e.scrollDOM.remove(),n.insertBefore(e.scrollDOM,a);try{s&&o&&(o.setPosition(s.anchorNode,s.anchorOffset),s.focusNode&&o.extend(s.focusNode,s.focusOffset))}catch(c){console.error(c)}e.focus(),e.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}var z3=ca.mark({class:"cm-searchMatch"}),o1=la.define(),q3=ss.define({create:()=>!1,update(e,n){for(let a of n.effects)a.is(o1)&&(e=a.value);return e},provide:e=>Uh.from(e,n=>n?F3:null)});function F3(e){let n=document.createElement("div");n.className="cm-vim-panel";let a=e.cm;return a.state.dialog&&n.appendChild(a.state.dialog),{top:!1,dom:n}}function B3(e){let n=document.createElement("div");n.className="cm-vim-panel";let a=e.cm;return a.state.statusbar=n,a.state.vimPlugin.updateStatus(),{dom:n}}Ux=function(e={}){return[a1,i1,P3,e.status?Uh.of(B3):q3]},jl=function(e){return e.cm||null},Xm=function(e){let n=e.state.selection.main;return n.from===0&&n.to===0},Nm=function(e,n=!1){let a=e.state.selection.main,o=e.state.doc.length;return n&&a.from===o-1&&a.to===o-1?!0:a.from===o&&a.to===o},zx=function(e){e&&e.dispatch({selection:{anchor:e.state.doc.length,head:e.state.doc.length}})},Xx=function(e){var n;return((n=jl(e))==null?void 0:n.state.vim)!=null},_x=function(e){var a;let n=(a=jl(e))==null?void 0:a.state.vim;return n?!n.mode&&!n.insertMode&&!n.visualMode?!0:n.mode==="normal":!1},ek=function(e){e&&e.dispatch({selection:{anchor:0,head:e.state.doc.length}})};function s1(e,n){if(!(n!=null&&n.length))return ca.none;let a=new $w,o=e.facet(ua),s=n.filter(c=>c.kind==="cell"&&c.cellId===o).toSorted((c,d)=>c.lineNumber-d.lineNumber);for(let c of s)try{let d=e.doc.line(c.lineNumber),f=ca.line({class:"cm-error-line"});a.add(d.from,d.from,f)}catch(d){be.debug("Invalid line number in error decoration",{error:d})}return a.finish()}function l1(e,n){if(!(n!=null&&n.length))return;let a=e.state.facet(ua),o=n.filter(d=>d.kind==="cell"&&d.cellId===a);if(o.length===0)return;let s=SI(e.state),c=[];for(let d of o)try{let f=e.state.doc.line(d.lineNumber);s.between(f.from,f.to,(m,b)=>{c.push(_I.of({from:m,to:b}))})}catch(f){be.debug("Invalid line numbers",{error:f})}c.length>0&&e.dispatch({effects:c})}var V3=class{constructor(e,n){let a=n.get();this.decorations=s1(e.state,a),l1(e,a),this.unsubscribe=n.sub(o=>{let s=this.decorations.size;this.decorations=s1(e.state,o),l1(e,o),s!==this.decorations.size&&e.dispatch({userEvent:"marimo.error-decoration-update"})})}update(e){this.decorations=this.decorations.map(e.changes)}destroy(){this.unsubscribe()}};function H3(e){return Ki.define(n=>new V3(n,e),{decorations:n=>n.decorations})}function $3(e){return[H3(e),Et.theme({".cm-error-line":{backgroundColor:"color-mix(in srgb, var(--red-4) 40%, transparent)"},"&.cm-focused .cm-error-line.cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--red-5) 40%, transparent)"}})]}function W3({cellId:e,hotkeys:n}){let a=[];return a.push(...Rw({key:n.getHotkey("cell.run").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).onRun(),!0)}),{key:n.getHotkey("cell.runAndNewBelow").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.onRun(),e==="__scratch__"||(o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!1})),!0}},...Rw({key:n.getHotkey("cell.runAndNewAbove").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.onRun(),e==="__scratch__"||(o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!0})),!0}}),{key:n.getHotkey("cell.aiCompletion").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).aiCellCompletion()&&o.contentDOM.focus(),!0)}),e!=="__scratch__"&&a.push({key:n.getHotkey("cell.goToDefinition").key,preventDefault:!0,stopPropagation:!0,run:o=>(Vm(o),!0)},{key:n.getHotkey("cell.delete").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.doc.length===0&&o.state.facet(st).deleteCell(),!0)},{key:n.getHotkey("cell.moveUp").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!0}),!0)},{key:n.getHotkey("cell.moveDown").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!1}),!0)},{key:n.getHotkey("cell.moveLeft").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!0,direction:"left"}),!0)},{key:n.getHotkey("cell.moveRight").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveCell({cellId:e,before:!1,direction:"right"}),!0)},{key:"ArrowUp",run:o=>t_(o.state)?!1:Xm(o)?(o.state.facet(st).moveToNextCell({cellId:e,before:!0,noCreate:!0}),!0):!1},{key:"ArrowDown",run:o=>t_(o.state)?!1:Nm(o)?(o.state.facet(st).moveToNextCell({cellId:e,before:!1,noCreate:!0}),!0):!1},{key:n.getHotkey("cell.focusDown").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveToNextCell({cellId:e,before:!1,noCreate:!0}),!0)},{key:n.getHotkey("cell.focusUp").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).moveToNextCell({cellId:e,before:!0,noCreate:!0}),!0)},{key:n.getHotkey("cell.sendToBottom").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).sendToBottom({cellId:e}),!0)},{key:n.getHotkey("cell.sendToTop").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.state.facet(st).sendToTop({cellId:e}),!0)},{key:n.getHotkey("cell.createAbove").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.contentDOM.blur(),o.state.facet(st).createNewCell({cellId:e,before:!0}),!0)},{key:n.getHotkey("cell.createBelow").key,preventDefault:!0,stopPropagation:!0,run:o=>(o.contentDOM.blur(),o.state.facet(st).createNewCell({cellId:e,before:!1}),!0)},{key:n.getHotkey("cell.hideCode").key,preventDefault:!0,stopPropagation:!0,run:o=>{var c;let s=o.state.facet(st).toggleHideCode();return n_(o),s?(o.contentDOM.blur(),(c=document.getElementById(En.create(e)))==null||c.focus()):o.contentDOM.focus(),!0}},{key:n.getHotkey("cell.splitCell").key,preventDefault:!0,stopPropagation:!0,run:o=>{let s=o.state.facet(st);return s.splitCell({cellId:e}),s.moveToNextCell&&requestAnimationFrame(()=>{o.contentDOM.blur(),s.moveToNextCell({cellId:e,before:!1})}),!0}}),[Bu.high(Ja.of(a))]}function U3(e){return[Et.updateListener.of(n=>{if(n.docChanged){let a=n.transactions.some(d=>d.effects.some(f=>f.is(_s))),o=wr(n.view),s=n.view.state.facet(st),c=n.view.state.facet(ua);s.updateCellCode({cellId:c,code:o,formattingChange:a}),Ne.get(Xu).has(c)&&Ne.set(Em)}}),qS(e)]}var K3=["input","delete","undo","redo"];function Q3({docChanged:e,transactions:n,predicate:a=()=>!0,hasFocus:o=!1}){return!e||!a()||n.some(s=>s.effects.some(c=>c.is(_s)))?!1:n.some(s=>s.annotation(Xa)===void 0?K3.some(c=>s.isUserEvent(c))||o:!1)}function G3({predicate:e}){return Et.updateListener.of(n=>{Q3({docChanged:n.docChanged,transactions:n.transactions,predicate:e,hasFocus:n.view.hasFocus})&&n.view.state.facet(st).onRun()})}Lx=function({cellId:e,hotkeys:n,cellActions:a}){return[st.of(a),ua.of(e),W3({cellId:e,hotkeys:n}),U3(n),$3(DS(n5(e),Ne))]};const c1=async e=>{let n=e.state.doc.sliceString(0,e.pos),a=document.activeElement,o=null;if(a!==null){let d=En.findElement(a);d!==null&&(o=En.parse(d.id))}if(o===null)return be.error("Failed to find active cell."),null;let s=await Td.request({document:n,cellId:o});if(!s)return null;let c=mf.asHoverTooltip({position:e.pos,message:s,limitToType:"tooltip"});return c&&Ne.set(Qu,{documentation:c.html??null}),c?null:mf.asCompletionResult(e.pos,s)};function J3(e){return n=>e.predicate(n.state)?e.completion(n):null}var X3=async e=>{let n=e.matchBefore(/:\w*$/);if(!e.explicit&&!n)return null;let a=await Y3();return{from:(n==null?void 0:n.from)??e.pos,options:a,validFor:/^[\w:]*$/}},Y3=rr(async()=>{let e=await fetch("https://unpkg.com/emojilib@3.0.11/dist/emoji-en-US.json").then(n=>{if(!n.ok)throw Error("Failed to fetch emoji list");return n.json()}).catch(()=>({}));return Object.entries(e).map(([n,a])=>({shortcode:a[0],label:a.map(o=>`:${o}`).join(" "),emoji:n,displayLabel:`${n} ${a[0].replaceAll("_"," ")}`,apply:n,type:"emoji"}))}),Z3=async e=>{let n=e.matchBefore(/::[\w-:]*$/);if(!e.explicit&&!n)return null;let a=await eE();return{from:(n==null?void 0:n.from)??e.pos,options:a,validFor:/^[\w-:]*$/}},eE=rr(async()=>{let e=await fetch("https://unpkg.com/lucide-static@0.452.0/tags.json").then(a=>{if(!a.ok)throw Error("Failed to fetch Lucide icon list");return a.json()}).catch(()=>({})),n=a=>`https://cdn.jsdelivr.net/npm/lucide-static@0.452.0/icons/${a}.svg`;return Object.entries(e).map(([a,o])=>({label:`::${a}`,displayLabel:a,type:"lucide-icon",boost:10,apply:`::lucide:${a}::`,detail:o.join(", "),info:()=>{let s=document.createElement("img");return s.src=n(a),s.style.width="24px",s.style.height="24px",s}}))}),tE=e=>{let n=e.matchBefore(/\\\w*$/);return!e.explicit&&!n?null:{from:(n==null?void 0:n.from)??e.pos,options:nE(),validFor:/^[\w\\]*$/}},nE=rr(()=>[["alpha","\u03B1","Greek small letter alpha"],["beta","\u03B2","Greek small letter beta"],["gamma","\u03B3","Greek small letter gamma"],["delta","\u03B4","Greek small letter delta"],["epsilon","\u03B5","Greek small letter epsilon"],["zeta","\u03B6","Greek small letter zeta"],["eta","\u03B7","Greek small letter eta"],["theta","\u03B8","Greek small letter theta"],["iota","\u03B9","Greek small letter iota"],["kappa","\u03BA","Greek small letter kappa"],["lambda","\u03BB","Greek small letter lambda"],["mu","\u03BC","Greek small letter mu"],["nu","\u03BD","Greek small letter nu"],["xi","\u03BE","Greek small letter xi"],["omicron","\u03BF","Greek small letter omicron"],["pi","\u03C0","Greek small letter pi"],["rho","\u03C1","Greek small letter rho"],["sigma","\u03C3","Greek small letter sigma"],["tau","\u03C4","Greek small letter tau"],["upsilon","\u03C5","Greek small letter upsilon"],["phi","\u03C6","Greek small letter phi"],["chi","\u03C7","Greek small letter chi"],["psi","\u03C8","Greek small letter psi"],["omega","\u03C9","Greek small letter omega"],["Gamma","\u0393","Greek capital letter gamma"],["Delta","\u0394","Greek capital letter delta"],["Theta","\u0398","Greek capital letter theta"],["Lambda","\u039B","Greek capital letter lambda"],["Xi","\u039E","Greek capital letter xi"],["Pi","\u03A0","Greek capital letter pi"],["Sigma","\u03A3","Greek capital letter sigma"],["Phi","\u03A6","Greek capital letter phi"],["Psi","\u03A8","Greek capital letter psi"],["Omega","\u03A9","Greek capital letter omega"],["pm","\xB1","Plus-minus sign"],["mp","\u2213","Minus-plus sign"],["times","\xD7","Multiplication sign"],["div","\xF7","Division sign"],["cdot","\u22C5","Dot operator"],["ast","\u2217","Asterisk operator"],["star","\u22C6","Star operator"],["circ","\u2218","Ring operator"],["bullet","\u2022","Bullet"],["cap","\u2229","Intersection"],["cup","\u222A","Union"],["uplus","\u228E","Multiset union"],["sqcap","\u2293","Square cap"],["sqcup","\u2294","Square cup"],["vee","\u2228","Logical or"],["wedge","\u2227","Logical and"],["setminus","\u2216","Set minus"],["oplus","\u2295","Circled plus"],["ominus","\u2296","Circled minus"],["otimes","\u2297","Circled times"],["oslash","\u2298","Circled division slash"],["odot","\u2299","Circled dot operator"],["leq","\u2264","Less than or equal to"],["geq","\u2265","Greater than or equal to"],["equiv","\u2261","Identical to"],["prec","\u227A","Precedes"],["succ","\u227B","Succeeds"],["sim","\u223C","Tilde operator"],["perp","\u22A5","Up tack"],["mid","\u2223","Divides"],["parallel","\u2225","Parallel to"],["subset","\u2282","Subset of"],["supset","\u2283","Superset of"],["subseteq","\u2286","Subset of or equal to"],["supseteq","\u2287","Superset of or equal to"],["cong","\u2245","Approximately equal to"],["approx","\u2248","Almost equal to"],["neq","\u2260","Not equal to"],["ne","\u2260","Not equal to"],["propto","\u221D","Proportional to"],["leftarrow","\u2190","Leftward arrow"],["rightarrow","\u2192","Rightward arrow"],["Leftarrow","\u21D0","Leftward double arrow"],["Rightarrow","\u21D2","Rightward double arrow"],["leftrightarrow","\u2194","Left right arrow"],["Leftrightarrow","\u21D4","Left right double arrow"],["uparrow","\u2191","Upward arrow"],["downarrow","\u2193","Downward arrow"],["Uparrow","\u21D1","Upward double arrow"],["Downarrow","\u21D3","Downward double arrow"],["infty","\u221E","Infinity"],["nabla","\u2207","Nabla"],["partial","\u2202","Partial differential"],["forall","\u2200","For all"],["exists","\u2203","There exists"],["nexists","\u2204","There does not exist"],["emptyset","\u2205","Empty set"],["in","\u2208","Element of"],["notin","\u2209","Not an element of"],["sum","\u2211","N-ary summation"],["prod","\u220F","N-ary product"],["int","\u222B","Integral"],["oint","\u222E","Contour integral"],["sqrt","\u221A","Square root"],["hbar","\u210F","Planck constant over 2pi"],["ldots","\u2026","Horizontal ellipsis"],["cdots","\u22EF","Midline horizontal ellipsis"],["vdots","\u22EE","Vertical ellipsis"],["ddots","\u22F1","Down right diagonal ellipsis"]].map(([e,n,a])=>({label:`\\${e} ${a}`,displayLabel:e,type:"latex-symbol",boost:10,apply:`\\${e}`,info:()=>{let o=document.createElement("div");return o.textContent=`${n} ${a}`,o},detail:n})));const rE=[X3,Z3,tE];var aE=100;function co(e){return!e.state.selection.main.empty}function wf({view:e,selection:n,markup:a}){let o=[],s=!0;for(let c=n.from;c<=n.to;c++)if(!e.state.doc.lineAt(c).text.startsWith(a)){s=!1;break}for(let c=n.from;c<=n.to;){let d=e.state.doc.lineAt(c),f=d.text.startsWith(a);s?o.push({from:d.from,to:d.from+a.length,insert:Ui.of([""])}):(f&&o.push({from:d.from,to:d.from+a.length,insert:Ui.of([""])}),o.push({from:d.from,insert:Ui.of([a])})),c=d.to+1}return o}function _f({view:e,range:n,markupAfter:a,markupBefore:o}){if(n.empty){let b=e.state.wordAt(n.head);b&&(n=b)}let s=e.state.sliceDoc(n.from-o.length,n.from)===o,c=e.state.sliceDoc(n.to,n.to+a.length)===a,d=[];d.push(s?{from:n.from-o.length,to:n.from,insert:Ui.of([""])}:{from:n.from,insert:Ui.of(o.split(`
|
|
98
98
|
`))},c?{from:n.to,to:n.to+a.length,insert:Ui.of([""])}:{from:n.to,insert:Ui.of(a.split(`
|
|
99
99
|
`))});let f=s?-o.length:o.length,m=c?-a.length:a.length;return{changes:d,range:$t.range(n.from+f,n.to+m)}}function iE(e){if(!co(e))return!1;let n=wf({view:e,selection:e.state.selection.main,markup:"> "});return n.length>0&&e.dispatch(e.state.update({changes:n,scrollIntoView:!0,userEvent:"input"})),e.focus(),!0}function oE(e){if(!co(e))return!1;let n=e.state.changeByRange(a=>{if(a.empty){let o=e.state.wordAt(a.head);o&&(a=o)}return _f({view:e,range:a,markupBefore:"**",markupAfter:"**"})});return e.dispatch(e.state.update(n,{scrollIntoView:!0,annotations:ls.userEvent.of("input")})),e.focus(),!0}function u1(e){if(!co(e))return!1;let n=e.state.changeByRange(a=>{if(a.empty){let s=e.state.wordAt(a.head);s&&(a=s)}let o=e.state.doc.lineAt(a.from).number!==e.state.doc.lineAt(a.to).number;return _f({view:e,range:a,markupBefore:o?"```\n":"`",markupAfter:o?"\n```":"`"})});return e.dispatch(e.state.update(n,{scrollIntoView:!0,annotations:ls.userEvent.of("input")})),e.focus(),!0}function sE(e){let n=e.state.changeByRange(a=>{if(a.empty){let o=e.state.wordAt(a.head);o&&(a=o)}return _f({view:e,range:a,markupBefore:"_",markupAfter:"_"})});return e.dispatch(e.state.update(n,{scrollIntoView:!0,annotations:ls.userEvent.of("input")})),e.focus(),!0}function d1(e,n="http://"){if(!co(e))return!1;let a=e.state.changeByRange(s=>{let c=e.state.sliceDoc(s.from,s.to);return{changes:[{from:s.from,to:s.to,insert:`[${c}](${n})`}],range:s}});e.dispatch(e.state.update(a,{scrollIntoView:!0,annotations:ls.userEvent.of("input")}));let{to:o}=a.selection.main;try{e.dispatch({selection:$t.create([$t.range(o+3,o+3+n.length),$t.cursor(o+3+n.length)])})}catch{}return e.focus(),!0}Jm=async function(e,n){var f;let a=new FileReader,o=await new Promise(m=>{a.onload=()=>m(a.result),a.readAsDataURL(n)}),s;try{if(o.startsWith("data:")){let m=prompt("We can save your image as a file. Enter a filename.",n.name),b=n.type.split("/")[1];if(m===null){let w=Math.round(o.length/1024);if(w>aE){Il({title:"Content too large",description:`The content size is ${w} KB, which is too large to paste directly into the document.`});return}}else{m.trim()===""?m=n.name:m.endsWith(`.${b}`)||(m=`${m}.${b}`);let w=Ne.get(hs),x=w?l_.dirname(w):null,S=x?`${x}/public`:"public",E=await br().sendCreateFileOrFolder({path:S,type:"file",name:m,file:n});E.success?(s=(f=E.info)==null?void 0:f.path,s&&x&&s.startsWith(x)&&(s=l_.rest(s,x).replaceAll("\\","/")),Il({title:"Image uploaded successfully",description:`We've uploaded your image at ${s}`})):Il({title:"Failed to upload image. Using raw base64 string."})}}}catch{Il({title:"Failed to upload image. Using raw base64 string."})}let c=e.state.changeByRange(m=>{let b=e.state.sliceDoc(m.from,m.to);return b.trim()===""&&(b="alt"),{changes:[{from:m.from,to:m.to,insert:``}],range:m}});e.dispatch(e.state.update(c,{scrollIntoView:!0,annotations:ls.userEvent.of("input")}));let{to:d}=c.selection.main;try{e.dispatch({selection:$t.create([$t.range(d+4,d+4+o.length),$t.cursor(d+4+o.length)])})}catch{}return e.focus(),!0},a0=async function(e,n){let a=await n.text(),o=e.state.changeByRange(s=>({changes:[{from:s.from,to:s.from,insert:a}],range:s}));return e.dispatch(e.state.update(o,{scrollIntoView:!0,annotations:ls.userEvent.of("input")})),e.focus(),!0};function lE(e){if(!co(e))return!1;let{changes:n}=e.state.changeByRange(a=>({range:a,changes:wf({view:e,selection:a,markup:e.state.sliceDoc(a.from,a.to+2).startsWith("* ")?"* ":"- "})}));return n.length>0&&e.dispatch(e.state.update({changes:n,scrollIntoView:!0,userEvent:"input"})),e.focus(),!0}function cE(e){if(!co(e))return!1;let{changes:n}=e.state.changeByRange(a=>({range:a,changes:wf({view:e,selection:a,markup:"1. "})}));return n.length>0&&e.dispatch(e.state.update({changes:n,scrollIntoView:!0,userEvent:"input"})),e.focus(),!0}function uE(e){return[Bu.highest(Ja.of([{key:e.getHotkey("markdown.bold").key,stopPropagation:!0,run:oE},{key:e.getHotkey("markdown.italic").key,stopPropagation:!0,run:sE},{key:e.getHotkey("markdown.link").key,stopPropagation:!0,run:n=>d1(n)},{key:e.getHotkey("markdown.orderedList").key,run:cE},{key:e.getHotkey("markdown.unorderedList").key,run:lE},{key:e.getHotkey("markdown.blockquote").key,run:iE},{key:e.getHotkey("markdown.code").key,run:u1},{key:"`",run:u1}])),Et.domEventHandlers({paste:(n,a)=>{var s;if(a.state.selection.main.empty)return!1;let o=(s=n.clipboardData)==null?void 0:s.getData("text/plain");o!=null&&o.startsWith("http")&&(n.preventDefault(),d1(a,o))}}),Et.domEventHandlers({paste:(n,a)=>{var s;let o=(s=n.clipboardData)==null?void 0:s.files[0];if(!o)return!1;if(o.type.startsWith("image/"))return n.preventDefault(),Jm(a,o),!0;if(o.type.startsWith("text/"))return n.preventDefault(),a0(a,o),!0}})]}function dE(e,n,a=3,o=""){return Object.values(e).flatMap(s=>n.has(s.name)?[]:{label:`${o}${s.name}`,displayLabel:s.name,detail:s.dataType??"",boost:a,type:"variable",apply:`${o}${s.name}`,section:"Variable",info:()=>l0(s)})}l0=function(e){let n=document.createElement("div");n.classList.add("mo-cm-tooltip","docs-documentation","min-w-[200px]","flex","flex-col","gap-1","p-2");let a=document.createElement("div");a.classList.add("flex","items-center","gap-2");let o=document.createElement("span");if(o.classList.add("font-bold","text-base"),o.textContent=e.name,a.append(o),e.dataType){let s=document.createElement("span");s.classList.add("text-xs","px-1.5","py-0.5","rounded-full","bg-purple-100","text-purple-800","dark:bg-purple-900","dark:text-purple-200"),s.textContent=e.dataType,a.append(s)}if(n.append(a),e.value){let s=document.createElement("div");s.classList.add("flex","flex-col","gap-1");let c=document.createElement("div");c.classList.add("text-xs","text-muted-foreground"),c.textContent="Value:",s.append(c);let d=document.createElement("div");d.classList.add("text-xs","font-mono","bg-muted","p-2","rounded","overflow-auto","max-h-40"),d.textContent=e.value,s.append(d),n.append(s)}return n};var uo="Python",xf=123,f1=125,kf=1,fE={mark:`${uo}Mark`,resolve:uo};function pE(e,n){return{defineNodes:[{name:uo,style:Fu.emphasis},{name:`${uo}Mark`,style:Fu.processingInstruction}],parseInline:[{name:uo,parse(a,o,s){return!n()||o!==xf&&o!==f1||o===xf&&a.slice(s-1,s)==="{"?-1:a.addDelimiter(fE,s,s+kf,o===xf,o===f1)}}],wrap:Gw(a=>{if(!n()||a.type.name!==uo)return null;let o=a.from+kf,s=a.to-kf;return o>=s||o<0||s<0?null:{parser:e,overlay:[{from:o,to:s}],extensions:[s_().support]}})}}const hE=e=>{let n=e.state.doc.sliceString(0,e.pos),a=n.lastIndexOf("{");if(n.at(a-1)==="{"||a===-1||n.indexOf("}",a)>a)return null;let o=e.matchBefore(/\w*$/);if(!o)return null;let s=dE(Ne.get(Za),new Set,99);return{from:o.from,options:s,validFor:/^\w*$/}};var ec="InlineMathDollar",fo="InlineMathBracket",tc="BlockMathDollar",po="BlockMathBracket",ci={[ec]:1,[fo]:3,[tc]:2,[po]:3},pt={DOLLAR:36,BACKSLASH:92,OPEN_PAREN:40,CLOSE_PAREN:41,OPEN_BRACKET:91,CLOSE_BRACKET:93},ho=Object.keys(ci).reduce((e,n)=>(e[n]={mark:`${n}Mark`,resolve:n},e),{});function mE(e){let n=[];return Object.keys(ci).forEach(a=>{n.push({name:a,style:Fu.emphasis},{name:`${a}Mark`,style:Fu.processingInstruction})}),{defineNodes:n,parseInline:[{name:tc,parse(a,o,s){return o!==pt.DOLLAR||a.char(s+1)!==pt.DOLLAR?-1:a.addDelimiter(ho[tc],s,s+ci[tc],!0,!0)}},{name:ec,parse(a,o,s){return o!==pt.DOLLAR||a.char(s+1)===pt.DOLLAR?-1:a.addDelimiter(ho[ec],s,s+ci[ec],!0,!0)}},{name:fo,before:"Escape",parse(a,o,s){return o!==pt.BACKSLASH||a.char(s+1)!==pt.BACKSLASH||![pt.OPEN_PAREN,pt.CLOSE_PAREN].includes(a.char(s+2))?-1:a.addDelimiter(ho[fo],s,s+ci[fo],a.char(s+2)===pt.OPEN_PAREN,a.char(s+2)===pt.CLOSE_PAREN)}},{name:po,before:"Escape",parse(a,o,s){return o!==pt.BACKSLASH||a.char(s+1)!==pt.BACKSLASH||![pt.OPEN_BRACKET,pt.CLOSE_BRACKET].includes(a.char(s+2))?-1:a.addDelimiter(ho[po],s,s+ci[po],a.char(s+2)===pt.OPEN_BRACKET,a.char(s+2)===pt.CLOSE_BRACKET)}},{name:fo,before:"Escape",parse(a,o,s){return o!==pt.BACKSLASH||![pt.OPEN_PAREN,pt.CLOSE_PAREN].includes(a.char(s+1))?-1:a.addDelimiter(ho[fo],s,s+2,a.char(s+1)===pt.OPEN_PAREN,a.char(s+1)===pt.CLOSE_PAREN)}},{name:po,before:"Escape",parse(a,o,s){return o!==pt.BACKSLASH||![pt.OPEN_BRACKET,pt.CLOSE_BRACKET].includes(a.char(s+1))?-1:a.addDelimiter(ho[po],s,s+2,a.char(s+1)===pt.OPEN_BRACKET,a.char(s+1)===pt.CLOSE_BRACKET)}}],wrap:Gw(a=>{let o=ci[a.type.name];if(o){let s=a.from+o,c=a.to-o;return s>=c||s<0||c<0?null:{parser:e,overlay:[{from:s,to:c}]}}return null})}}Wu=la.define(),fd=la.define(),Pr=ss.define({create:()=>({}),update:(e,n)=>{for(let a of n.effects){if(a.is(Wu))return a.value;if(a.is(fd))return{...e,...a.value}}return e}}),dx=!0,cd=class{constructor(){ve(this,"parser",new sd);ve(this,"type","markdown");ve(this,"defaultCode",this.parser.defaultCode);ve(this,"defaultMetadata",this.parser.defaultMetadata)}static fromMarkdown(e){return sd.fromMarkdown(e)}transformIn(e){let n=this.parser.transformIn(e);return[n.code,n.offset,n.metadata]}transformOut(e,n){let a=this.parser.transformOut(e,n);return[a.code,a.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,n,a,o){let s=o_().language.data,c,d=()=>{var m;if(!c)return!0;let f=c==null?void 0:c.state.field(Pr);return f===void 0?!1:((m=f.quotePrefix)==null?void 0:m.includes("f"))??!1};return[Ki.define(f=>(c=f,{})),o_({base:b8,codeLanguages:cS,extensions:[mE(Qw.define(k8).parser),pE(nm.parser,d)]}),uE(a),rE.map(f=>s.of({autocomplete:f})),s_().language.data.of({autocomplete:J3({completion:c1,predicate:d})}),Hu({defaultKeymap:!1,activateOnTyping:!0}),G3({predicate:()=>!d()})]}};function nc(){var e;return((e=Ne.get(Nl))==null?void 0:e.rootUri)??"file:///"}function rc(){var n;let e=(n=Ne.get(Nl))==null?void 0:n.rootUri;return e?[{uri:e,name:"marimo"}]:[]}function p1(){var e;return((e=Ne.get(Nl))==null?void 0:e.documentUri)??"file:///__marimo_notebook__.py"}function gE(e){return Rr.filter(e,n=>n!==!1&&n!==null)}function h1(e){let n=e.map(gE);return Object.assign({},...n)}var yE=class{constructor(e){ve(this,"clients",[]);this.clients=e,this.documentUri=p1()}onNotification(e){let n=[];for(let a of this.clients)n.push(a.onNotification(e));return()=>{for(let a of n)a();return!0}}get clientCapabilities(){return h1(this.clients.map(e=>{if(e.clientCapabilities)return typeof e.clientCapabilities=="function"?e.clientCapabilities({}):e.clientCapabilities}).filter(e=>e!=null))}get ready(){return this.clients.some(e=>e.ready)}set ready(e){this.clients.forEach(n=>{n.ready=e})}get capabilities(){return h1(this.clients.map(e=>e.capabilities).filter(e=>e!==null))}set capabilities(e){this.clients.forEach(n=>{n.capabilities=e})}get initializePromise(){return this.clients[0].initializePromise}set initializePromise(e){this.clients.forEach(n=>{n.initializePromise=e})}firstWithCapability(e){return this.clients.find(n=>{var a;return(a=n.capabilities)==null?void 0:a[e]})}clientsWithCapability(e){return this.clients.filter(n=>{var a;return(a=n.capabilities)==null?void 0:a[e]})}async initialize(){await Promise.all(this.clients.map(e=>e.initialize()))}async close(){await Promise.all(this.clients.map(e=>e.close()))}async textDocumentDidChange(e){return await Promise.all(this.clients.map(n=>n.textDocumentDidChange(e))),e}async completionItemResolve(e){let n=this.firstWithCapability("completionProvider");return n?n.completionItemResolve(e):e}async textDocumentCodeAction(e){let n=this.firstWithCapability("codeActionProvider");return n?n.textDocumentCodeAction(e):null}async textDocumentRename(e){let n=this.firstWithCapability("renameProvider");return n?n.textDocumentRename(e):null}async textDocumentPrepareRename(e){let n=this.firstWithCapability("renameProvider");return n?n.textDocumentPrepareRename(e):null}async textDocumentSignatureHelp(e){let n=this.firstWithCapability("signatureHelpProvider");return n?n.textDocumentSignatureHelp(e):null}async textDocumentCompletion(e){let n=this.clientsWithCapability("completionProvider");return vE(await Promise.allSettled(n.map(a=>a.textDocumentCompletion(e))))}async textDocumentDefinition(e){let n=this.firstWithCapability("definitionProvider");return n?n.textDocumentDefinition(e):null}async textDocumentDidOpen(e){return await Promise.all(this.clients.map(n=>n.textDocumentDidOpen(e))),e}async textDocumentHover(e){var n;for(let a of this.clients){if(!((n=a.capabilities)!=null&&n.hoverProvider))continue;let o=await a.textDocumentHover(e);if(o)return o}return{contents:[]}}};function vE(e){let n=[],a=!1;for(let o of e)if(o.status==="fulfilled"){let s=o.value;if(s==null)continue;Array.isArray(s)&&n.push(...s),"items"in s&&(n.push(...s.items),a||(a=s.isIncomplete))}return{items:n,isIncomplete:a}}fx=function(e){return[...bE(e),e].join(`
|
|
100
100
|
`)};function bE(e){return c0().map(n=>{let a=wr(n);return a===e?null:a}).filter(Boolean).toSorted((n,a)=>n.startsWith("import")&&!a.startsWith("import")?-1:!n.startsWith("import")&&a.startsWith("import")?1:0)}var wE=Ee(e=>{let n=e(Xe);return Rr.fromEntries(n.cellIds.inOrderIds.map(a=>{let o=n.cellHandles[a];return[a,o!=null&&o.current?wr(o.current.editorView):""]}))}),_E=Ee(e=>e(Xe).cellIds.inOrderIds),xE=Ee(e=>CE(e(_E),e(Za)));const kE=Ee(e=>({cellIds:e(xE),codes:e(wE)}));function CE(e,n){var m,b;let a=new Map;e.forEach(w=>a.set(w,[]));let o=new Set(e),s=new Set(e);for(let{declaredBy:w,usedBy:x}of Object.values(n))for(let S of w){o.delete(S);for(let E of x)s.delete(E),E!==S&&((m=a.get(S))==null||m.push(E))}let c=new Map;e.forEach(w=>c.set(w,0)),a.forEach(w=>{w.forEach(x=>{c.set(x,(c.get(x)||0)+1)})});let d=[];c.forEach((w,x)=>{w===0&&d.push(x)});let f=[];for(;d.length>0;){let w=d.shift();if(!w)break;f.push(w),(b=a.get(w))==null||b.forEach(x=>{c.set(x,(c.get(x)||0)-1),c.get(x)===0&&d.push(x)})}return[...f.filter(w=>!o.has(w)),...o]}function SE(e,n){let a=new Map,o=0;e.forEach(d=>{a.set(d,o),o+=n[d].split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as z}from"./chunk-LvLJmgfZ.js";import{t as X}from"./react-Bj1aDYRI.js";import{Sr as B,_r as H,gr as I}from"./cells-WW455pbI.js";import{A as K,C as R,R as F,T as Q}from"./zod-H_cgTO0M.js";import{t as y}from"./compiler-runtime-B3qBwwSJ.js";import{t as U}from"./isEmpty-CXeoXbuc.js";import{X as Y}from"./ai-model-dropdown-D0tfwqft.js";import{_ as Z}from"./useEventListener-DvoEXWke.js";import{t as S}from"./cn-DCUzRj2J.js";import{t as ee}from"./jsx-runtime-BqBOg78p.js";import{a as O,i as $,n as D,r as E}from"./multi-map-CUuNtzHt.js";import{t as J}from"./button-BbCh-29a.js";import{i as T}from"./strings-wdPMRf6Z.js";import{t as te}from"./createLucideIcon-D5guW7EU.js";import{t as se}from"./ban-0fKnt00i.js";import{t as re}from"./bot-message-square-DrbHk31W.js";import{r as ae}from"./x-C-6liIBr.js";import{t as M}from"./markdown-renderer-BnUV17Tg.js";import{f as V,l as le}from"./add-cell-with-ai-9EyttqGQ.js";import{t as ne}from"./external-link-BTNxSavU.js";import{n as oe}from"./spinner-Bhir8k53.js";import{c as ie}from"./datasource-CrDfHWto.js";import{t as ce}from"./RenderHTML-IGRZU9wj.js";var de=te("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ue=y(),k=z(X(),1),t=z(ee(),1);const me=c=>{let e=(0,ue.c)(13),{reasoning:l,index:a,isStreaming:i}=c,s=a===void 0?0:a,r=i===void 0?!1:i,[n,u]=k.useState("");if(!l&&!r)return null;let x=r?"reasoning":n,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)(re,{className:"h-3 w-3"}),e[0]=d):d=e[0];let h=r?"Thinking":"View reasoning",m=l.length>0&&` (${l.length} chars)`,o;e[1]!==h||e[2]!==m?(o=(0,t.jsx)(O,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[d,h,m]})}),e[1]=h,e[2]=m,e[3]=o):o=e[3];let p;e[4]===l?p=e[5]:(p=(0,t.jsx)(E,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(M,{content:l})})})}),e[4]=l,e[5]=p);let f;e[6]!==o||e[7]!==p?(f=(0,t.jsxs)($,{value:"reasoning",className:"border-0",children:[o,p]}),e[6]=o,e[7]=p,e[8]=f):f=e[8];let v;return e[9]!==s||e[10]!==x||e[11]!==f?(v=(0,t.jsx)(D,{type:"single",collapsible:!0,className:"w-full mb-2",value:x,onValueChange:u,children:f},s),e[9]=s,e[10]=x,e[11]=f,e[12]=v):v=e[12],v};function q(c){return c.replace("tool-","")}var pe=y();const A=c=>{let e=(0,pe.c)(9),{input:l,label:a}=c,i=a===void 0?"Tool Request":a;if(l==null)return null;let s;e[0]===i?s=e[1]:(s=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:i}),e[0]=i,e[1]=s);let r;e[2]===l?r=e[3]:(r=JSON.stringify(l,null,2),e[2]=l,e[3]=r);let n;e[4]===r?n=e[5]:(n=(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:r}),e[4]=r,e[5]=n);let u;return e[6]!==s||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-2",children:[s,n]}),e[6]=s,e[7]=n,e[8]=u):u=e[8],u};var xe=y();const he=c=>{let e=(0,xe.c)(25),{toolName:l,input:a,approval:i,onApprove:s,className:r}=c,n;e[0]===r?n=e[1]:(n=S("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",r),e[0]=r,e[1]=n);let u=`Approval required for ${q(l)}`,x;e[2]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(de,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=x):x=e[2];let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=d):d=e[3];let h;e[4]===l?h=e[5]:(h=q(l),e[4]=l,e[5]=h);let m;e[6]===h?m=e[7]:(m=(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[x,(0,t.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[d," ",(0,t.jsx)("code",{className:"font-mono",children:h})]})]}),e[6]=h,e[7]=m);let o;e[8]===a?o=e[9]:(o=(0,t.jsx)(A,{input:a}),e[8]=a,e[9]=o);let p;e[10]!==i.id||e[11]!==s?(p=(0,t.jsx)(J,{size:"xs",variant:"outline",onClick:()=>s({id:i.id,approved:!1}),children:"Deny"}),e[10]=i.id,e[11]=s,e[12]=p):p=e[12];let f;e[13]!==i.id||e[14]!==s?(f=(0,t.jsx)(J,{size:"xs",onClick:()=>s({id:i.id,approved:!0}),children:"Approve"}),e[13]=i.id,e[14]=s,e[15]=f):f=e[15];let v;e[16]!==p||e[17]!==f?(v=(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[p,f]}),e[16]=p,e[17]=f,e[18]=v):v=e[18];let b;return e[19]!==n||e[20]!==v||e[21]!==u||e[22]!==m||e[23]!==o?(b=(0,t.jsxs)("div",{className:n,role:"alertdialog","aria-label":u,children:[m,o,v]}),e[19]=n,e[20]=v,e[21]=u,e[22]=m,e[23]=o,e[24]=b):b=e[24],b};var fe=y();const ve=c=>{let e=(0,fe.c)(28),{toolName:l,input:a,errorText:i,isLive:s,className:r}=c,[n,u]=k.useState(s),x=k.useRef(s),d,h;e[0]===s?(d=e[1],h=e[2]):(d=()=>{x.current&&!s&&u(!1),x.current=s},h=[s],e[0]=s,e[1]=d,e[2]=h),k.useEffect(d,h);let m;e[3]===r?m=e[4]:(m=S("rounded-md border border-(--red-6) bg-(--red-2)",r),e[3]=r,e[4]=m);let o;e[5]===Symbol.for("react.memo_cache_sentinel")?(o=()=>u(be),e[5]=o):o=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsx)(B,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=p):p=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=f):f=e[7];let v;e[8]===l?v=e[9]:(v=q(l),e[8]=l,e[9]=v);let b;e[10]===v?b=e[11]:(b=(0,t.jsxs)("span",{className:"flex-1 text-left",children:[f," ",(0,t.jsx)("code",{className:"font-mono",children:v})]}),e[10]=v,e[11]=b);let N=n&&"rotate-180",j;e[12]===N?j=e[13]:(j=S("h-3.5 w-3.5 shrink-0 transition-transform",N),e[12]=N,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,t.jsx)(ae,{className:j}),e[14]=j,e[15]=g);let w;e[16]!==n||e[17]!==g||e[18]!==b?(w=(0,t.jsxs)("button",{type:"button",onClick:o,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":n,children:[p,b,g]}),e[16]=n,e[17]=g,e[18]=b,e[19]=w):w=e[19];let _;e[20]!==i||e[21]!==a||e[22]!==n?(_=n&&(0,t.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,t.jsx)(A,{input:a}),i&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,t.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:i})]})]}),e[20]=i,e[21]=a,e[22]=n,e[23]=_):_=e[23];let C;return e[24]!==w||e[25]!==_||e[26]!==m?(C=(0,t.jsxs)("div",{className:m,children:[w,_]}),e[24]=w,e[25]=_,e[26]=m,e[27]=C):C=e[27],C};function be(c){return!c}var W=y();function je(c){return c==null?!0:typeof c=="object"?U(c):!1}var ge=K({status:F().default("success"),auth_required:Q().default(!1),action_url:R(),next_steps:R(),meta:R(),message:F().nullish()}),Ne=c=>{let e=(0,W.c)(12),{data:l}=c,a;if(e[0]!==l){let{status:i,auth_required:s,action_url:r,meta:n,next_steps:u,message:x,...d}=l,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=h):h=e[2];let m;e[3]===i?m=e[4]:(m=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:i}),e[3]=i,e[4]=m);let o;e[5]===s?o=e[6]:(o=s&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=s,e[6]=o);let p;e[7]!==m||e[8]!==o?(p=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[h,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[m,o]})]}),e[7]=m,e[8]=o,e[9]=p):p=e[9];let f;e[10]===x?f=e[11]:(f=x&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(I,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:x})]}),e[10]=x,e[11]=f),a=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[p,f,d&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(d).map(we)})]}),e[0]=l,e[1]=a}else a=e[1];return a};const ye=c=>{let e=(0,W.c)(8),{result:l}=c,a;e[0]===l?a=e[1]:(a=ge.safeParse(l),e[0]=l,e[1]=a);let i=a;if(i.success){let n;return e[2]===i.data?n=e[3]:(n=(0,t.jsx)(Ne,{data:i.data}),e[2]=i.data,e[3]=n),n}let s;e[4]===l?s=e[5]:(s=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=s);let r;return e[6]===s?r=e[7]:(r=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:s}),e[6]=s,e[7]=r),r};function we(c){let[e,l]=c;return je(l)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var L=y(),_e={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Se=c=>{let e=(0,L.c)(4),{state:l}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(oe,{className:"h-3 w-3 animate-spin"}),e[0]=a):a=e[0],a}case"output-available":{let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(Y,{className:"h-3 w-3 text-(--grass-11)"}),e[1]=a):a=e[1],a}case"output-denied":{let a;return e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(se,{className:"h-3 w-3 text-muted-foreground"}),e[2]=a):a=e[2],a}default:{T(l);let a;return e[3]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(ie,{className:"h-3 w-3"}),e[3]=a):a=e[3],a}}};function Te(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const G=c=>{let e=(0,L.c)(29),{toolName:l,state:a,input:i,result:s,approval:r,index:n,className:u}=c,x=`tool-${n===void 0?0:n}`,d;e[0]===u?d=e[1]:(d=S("w-full",u),e[0]=u,e[1]=d);let h;e[2]===a?h=e[3]:(h=S("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",Te(a)),e[2]=a,e[3]=h);let m;e[4]===a?m=e[5]:(m=(0,t.jsx)(Se,{state:a}),e[4]=a,e[5]=m);let o=_e[a],p;e[6]===l?p=e[7]:(p=q(l),e[6]=l,e[7]=p);let f;e[8]===p?f=e[9]:(f=(0,t.jsx)("code",{className:"font-mono text-xs",children:p}),e[8]=p,e[9]=f);let v;e[10]!==m||e[11]!==o||e[12]!==f?(v=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[m,o,":",f]}),e[10]=m,e[11]=o,e[12]=f,e[13]=v):v=e[13];let b;e[14]!==h||e[15]!==v?(b=(0,t.jsx)(O,{className:h,children:v}),e[14]=h,e[15]=v,e[16]=b):b=e[16];let N;e[17]!==r||e[18]!==i||e[19]!==s||e[20]!==a?(N=(0,t.jsx)(E,{className:"py-2 px-2",children:(0,t.jsx)(ke,{state:a,input:i,result:s,approval:r})}),e[17]=r,e[18]=i,e[19]=s,e[20]=a,e[21]=N):N=e[21];let j;e[22]!==b||e[23]!==N?(j=(0,t.jsxs)($,{value:"tool-call",className:"border-0",children:[b,N]}),e[22]=b,e[23]=N,e[24]=j):j=e[24];let g;return e[25]!==j||e[26]!==x||e[27]!==d?(g=(0,t.jsx)(D,{type:"single",collapsible:!0,className:d,children:j},x),e[25]=j,e[26]=x,e[27]=d,e[28]=g):g=e[28],g};var ke=c=>{let e=(0,L.c)(16),{state:l,input:a,result:i,approval:s}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let r;return e[0]===a?r=e[1]:(r=(0,t.jsx)(A,{input:a}),e[0]=a,e[1]=r),r}case"output-available":{let r;e[2]===a?r=e[3]:(r=(0,t.jsx)(A,{input:a}),e[2]=a,e[3]=r);let n;e[4]===i?n=e[5]:(n=i!=null&&(0,t.jsx)(ye,{result:i}),e[4]=i,e[5]=n);let u;return e[6]!==r||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-3",children:[r,n]}),e[6]=r,e[7]=n,e[8]=u):u=e[8],u}case"output-denied":{let r;e[9]===a?r=e[10]:(r=(0,t.jsx)(A,{input:a}),e[9]=a,e[10]=r);let n=s!=null&&s.reason?`: ${s.reason}`:".",u;e[11]===n?u=e[12]:(u=(0,t.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",n]}),e[11]=n,e[12]=u);let x;return e[13]!==r||e[14]!==u?(x=(0,t.jsxs)("div",{className:"space-y-3",children:[r,u]}),e[13]=r,e[14]=u,e[15]=x):x=e[15],x}default:return T(l),null}},Ae=y();const P=c=>{let e=(0,Ae.c)(25),{toolName:l,state:a,result:i,errorText:s,input:r,approval:n,onApprove:u,index:x,className:d,isLive:h}=c,m=h===void 0?!0:h;switch(a){case"approval-requested":{if(n!=null&&u!=null){let p;return e[0]!==n||e[1]!==d||e[2]!==r||e[3]!==u||e[4]!==l?(p=(0,t.jsx)(he,{toolName:l,input:r,approval:n,onApprove:u,className:d}),e[0]=n,e[1]=d,e[2]=r,e[3]=u,e[4]=l,e[5]=p):p=e[5],p}let o;return e[6]!==d||e[7]!==x||e[8]!==r||e[9]!==l?(o=(0,t.jsx)(G,{toolName:l,state:"input-available",input:r,index:x,className:d}),e[6]=d,e[7]=x,e[8]=r,e[9]=l,e[10]=o):o=e[10],o}case"output-error":{let o;return e[11]!==d||e[12]!==s||e[13]!==r||e[14]!==m||e[15]!==l?(o=(0,t.jsx)(ve,{toolName:l,input:r,errorText:s,isLive:m,className:d}),e[11]=d,e[12]=s,e[13]=r,e[14]=m,e[15]=l,e[16]=o):o=e[16],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[17]!==n||e[18]!==d||e[19]!==x||e[20]!==r||e[21]!==i||e[22]!==a||e[23]!==l?(o=(0,t.jsx)(G,{toolName:l,state:a,input:r,result:i,approval:n,index:x,className:d}),e[17]=n,e[18]=d,e[19]=x,e[20]=r,e[21]=i,e[22]=a,e[23]=l,e[24]=o):o=e[24],o}default:return T(a),null}},Ce=({message:c,isStreamingReasoning:e,isLast:l,addToolApprovalResponse:a})=>{return(0,t.jsx)(t.Fragment,{children:c.parts.map((s,r)=>i(s,r))});function i(s,r){if(qe(s))return(0,t.jsx)(P,{index:r,toolName:s.type,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,className:"my-2",state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);if(Re(s))return Z.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(k.Fragment,{children:ce({html:s.text})},r):(0,t.jsx)(M,{content:s.text},r);case"reasoning":return(0,t.jsx)(me,{reasoning:s.text,index:r,isStreaming:e&&l&&r===(c.parts.length||0)-1},r);case"file":return(0,t.jsx)(le,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(P,{toolName:s.toolName,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);case"source-document":return(0,t.jsx)(V,{icon:(0,t.jsx)(H,{className:"h-3 w-3 shrink-0"}),title:s.title,subtitle:s.filename},r);case"source-url":return(0,t.jsx)(V,{icon:(0,t.jsx)(ne,{className:"h-3 w-3 shrink-0"}),title:s.title??s.url,subtitle:s.title?s.url:void 0,href:s.url},r);case"step-start":return null;default:return T(s),null}}};function qe(c){return c.type.startsWith("tool-")}function Re(c){return c.type.startsWith("data-")}export{Ce as t};
|
|
1
|
+
import{s as z}from"./chunk-LvLJmgfZ.js";import{t as X}from"./react-Bj1aDYRI.js";import{Sr as B,_r as H,gr as I}from"./cells-DfBJ0VnJ.js";import{A as K,C as R,R as F,T as Q}from"./zod-H_cgTO0M.js";import{t as y}from"./compiler-runtime-B3qBwwSJ.js";import{t as U}from"./isEmpty-CXeoXbuc.js";import{X as Y}from"./ai-model-dropdown-2YDLOBgP.js";import{_ as Z}from"./useEventListener-DvoEXWke.js";import{t as S}from"./cn-DCUzRj2J.js";import{t as ee}from"./jsx-runtime-BqBOg78p.js";import{a as O,i as $,n as D,r as E}from"./multi-map-CUuNtzHt.js";import{t as J}from"./button-BbCh-29a.js";import{i as T}from"./strings-wdPMRf6Z.js";import{t as te}from"./createLucideIcon-D5guW7EU.js";import{t as se}from"./ban-0fKnt00i.js";import{t as re}from"./bot-message-square-DrbHk31W.js";import{r as ae}from"./x-C-6liIBr.js";import{t as M}from"./markdown-renderer-Bhg3x2dD.js";import{f as V,l as le}from"./add-cell-with-ai-D80JrWq3.js";import{t as ne}from"./external-link-BTNxSavU.js";import{n as oe}from"./spinner-Bhir8k53.js";import{c as ie}from"./datasource-D1itEHCP.js";import{t as ce}from"./RenderHTML-ozbWHhKy.js";var de=te("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ue=y(),k=z(X(),1),t=z(ee(),1);const me=c=>{let e=(0,ue.c)(13),{reasoning:l,index:a,isStreaming:i}=c,s=a===void 0?0:a,r=i===void 0?!1:i,[n,u]=k.useState("");if(!l&&!r)return null;let x=r?"reasoning":n,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)(re,{className:"h-3 w-3"}),e[0]=d):d=e[0];let h=r?"Thinking":"View reasoning",m=l.length>0&&` (${l.length} chars)`,o;e[1]!==h||e[2]!==m?(o=(0,t.jsx)(O,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[d,h,m]})}),e[1]=h,e[2]=m,e[3]=o):o=e[3];let p;e[4]===l?p=e[5]:(p=(0,t.jsx)(E,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(M,{content:l})})})}),e[4]=l,e[5]=p);let f;e[6]!==o||e[7]!==p?(f=(0,t.jsxs)($,{value:"reasoning",className:"border-0",children:[o,p]}),e[6]=o,e[7]=p,e[8]=f):f=e[8];let v;return e[9]!==s||e[10]!==x||e[11]!==f?(v=(0,t.jsx)(D,{type:"single",collapsible:!0,className:"w-full mb-2",value:x,onValueChange:u,children:f},s),e[9]=s,e[10]=x,e[11]=f,e[12]=v):v=e[12],v};function q(c){return c.replace("tool-","")}var pe=y();const A=c=>{let e=(0,pe.c)(9),{input:l,label:a}=c,i=a===void 0?"Tool Request":a;if(l==null)return null;let s;e[0]===i?s=e[1]:(s=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:i}),e[0]=i,e[1]=s);let r;e[2]===l?r=e[3]:(r=JSON.stringify(l,null,2),e[2]=l,e[3]=r);let n;e[4]===r?n=e[5]:(n=(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:r}),e[4]=r,e[5]=n);let u;return e[6]!==s||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-2",children:[s,n]}),e[6]=s,e[7]=n,e[8]=u):u=e[8],u};var xe=y();const he=c=>{let e=(0,xe.c)(25),{toolName:l,input:a,approval:i,onApprove:s,className:r}=c,n;e[0]===r?n=e[1]:(n=S("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",r),e[0]=r,e[1]=n);let u=`Approval required for ${q(l)}`,x;e[2]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(de,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=x):x=e[2];let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=d):d=e[3];let h;e[4]===l?h=e[5]:(h=q(l),e[4]=l,e[5]=h);let m;e[6]===h?m=e[7]:(m=(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[x,(0,t.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[d," ",(0,t.jsx)("code",{className:"font-mono",children:h})]})]}),e[6]=h,e[7]=m);let o;e[8]===a?o=e[9]:(o=(0,t.jsx)(A,{input:a}),e[8]=a,e[9]=o);let p;e[10]!==i.id||e[11]!==s?(p=(0,t.jsx)(J,{size:"xs",variant:"outline",onClick:()=>s({id:i.id,approved:!1}),children:"Deny"}),e[10]=i.id,e[11]=s,e[12]=p):p=e[12];let f;e[13]!==i.id||e[14]!==s?(f=(0,t.jsx)(J,{size:"xs",onClick:()=>s({id:i.id,approved:!0}),children:"Approve"}),e[13]=i.id,e[14]=s,e[15]=f):f=e[15];let v;e[16]!==p||e[17]!==f?(v=(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[p,f]}),e[16]=p,e[17]=f,e[18]=v):v=e[18];let b;return e[19]!==n||e[20]!==v||e[21]!==u||e[22]!==m||e[23]!==o?(b=(0,t.jsxs)("div",{className:n,role:"alertdialog","aria-label":u,children:[m,o,v]}),e[19]=n,e[20]=v,e[21]=u,e[22]=m,e[23]=o,e[24]=b):b=e[24],b};var fe=y();const ve=c=>{let e=(0,fe.c)(28),{toolName:l,input:a,errorText:i,isLive:s,className:r}=c,[n,u]=k.useState(s),x=k.useRef(s),d,h;e[0]===s?(d=e[1],h=e[2]):(d=()=>{x.current&&!s&&u(!1),x.current=s},h=[s],e[0]=s,e[1]=d,e[2]=h),k.useEffect(d,h);let m;e[3]===r?m=e[4]:(m=S("rounded-md border border-(--red-6) bg-(--red-2)",r),e[3]=r,e[4]=m);let o;e[5]===Symbol.for("react.memo_cache_sentinel")?(o=()=>u(be),e[5]=o):o=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsx)(B,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=p):p=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=f):f=e[7];let v;e[8]===l?v=e[9]:(v=q(l),e[8]=l,e[9]=v);let b;e[10]===v?b=e[11]:(b=(0,t.jsxs)("span",{className:"flex-1 text-left",children:[f," ",(0,t.jsx)("code",{className:"font-mono",children:v})]}),e[10]=v,e[11]=b);let N=n&&"rotate-180",j;e[12]===N?j=e[13]:(j=S("h-3.5 w-3.5 shrink-0 transition-transform",N),e[12]=N,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,t.jsx)(ae,{className:j}),e[14]=j,e[15]=g);let w;e[16]!==n||e[17]!==g||e[18]!==b?(w=(0,t.jsxs)("button",{type:"button",onClick:o,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":n,children:[p,b,g]}),e[16]=n,e[17]=g,e[18]=b,e[19]=w):w=e[19];let _;e[20]!==i||e[21]!==a||e[22]!==n?(_=n&&(0,t.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,t.jsx)(A,{input:a}),i&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,t.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:i})]})]}),e[20]=i,e[21]=a,e[22]=n,e[23]=_):_=e[23];let C;return e[24]!==w||e[25]!==_||e[26]!==m?(C=(0,t.jsxs)("div",{className:m,children:[w,_]}),e[24]=w,e[25]=_,e[26]=m,e[27]=C):C=e[27],C};function be(c){return!c}var W=y();function je(c){return c==null?!0:typeof c=="object"?U(c):!1}var ge=K({status:F().default("success"),auth_required:Q().default(!1),action_url:R(),next_steps:R(),meta:R(),message:F().nullish()}),Ne=c=>{let e=(0,W.c)(12),{data:l}=c,a;if(e[0]!==l){let{status:i,auth_required:s,action_url:r,meta:n,next_steps:u,message:x,...d}=l,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=h):h=e[2];let m;e[3]===i?m=e[4]:(m=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:i}),e[3]=i,e[4]=m);let o;e[5]===s?o=e[6]:(o=s&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=s,e[6]=o);let p;e[7]!==m||e[8]!==o?(p=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[h,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[m,o]})]}),e[7]=m,e[8]=o,e[9]=p):p=e[9];let f;e[10]===x?f=e[11]:(f=x&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(I,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:x})]}),e[10]=x,e[11]=f),a=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[p,f,d&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(d).map(we)})]}),e[0]=l,e[1]=a}else a=e[1];return a};const ye=c=>{let e=(0,W.c)(8),{result:l}=c,a;e[0]===l?a=e[1]:(a=ge.safeParse(l),e[0]=l,e[1]=a);let i=a;if(i.success){let n;return e[2]===i.data?n=e[3]:(n=(0,t.jsx)(Ne,{data:i.data}),e[2]=i.data,e[3]=n),n}let s;e[4]===l?s=e[5]:(s=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=s);let r;return e[6]===s?r=e[7]:(r=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:s}),e[6]=s,e[7]=r),r};function we(c){let[e,l]=c;return je(l)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var L=y(),_e={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Se=c=>{let e=(0,L.c)(4),{state:l}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(oe,{className:"h-3 w-3 animate-spin"}),e[0]=a):a=e[0],a}case"output-available":{let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(Y,{className:"h-3 w-3 text-(--grass-11)"}),e[1]=a):a=e[1],a}case"output-denied":{let a;return e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(se,{className:"h-3 w-3 text-muted-foreground"}),e[2]=a):a=e[2],a}default:{T(l);let a;return e[3]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(ie,{className:"h-3 w-3"}),e[3]=a):a=e[3],a}}};function Te(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const G=c=>{let e=(0,L.c)(29),{toolName:l,state:a,input:i,result:s,approval:r,index:n,className:u}=c,x=`tool-${n===void 0?0:n}`,d;e[0]===u?d=e[1]:(d=S("w-full",u),e[0]=u,e[1]=d);let h;e[2]===a?h=e[3]:(h=S("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",Te(a)),e[2]=a,e[3]=h);let m;e[4]===a?m=e[5]:(m=(0,t.jsx)(Se,{state:a}),e[4]=a,e[5]=m);let o=_e[a],p;e[6]===l?p=e[7]:(p=q(l),e[6]=l,e[7]=p);let f;e[8]===p?f=e[9]:(f=(0,t.jsx)("code",{className:"font-mono text-xs",children:p}),e[8]=p,e[9]=f);let v;e[10]!==m||e[11]!==o||e[12]!==f?(v=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[m,o,":",f]}),e[10]=m,e[11]=o,e[12]=f,e[13]=v):v=e[13];let b;e[14]!==h||e[15]!==v?(b=(0,t.jsx)(O,{className:h,children:v}),e[14]=h,e[15]=v,e[16]=b):b=e[16];let N;e[17]!==r||e[18]!==i||e[19]!==s||e[20]!==a?(N=(0,t.jsx)(E,{className:"py-2 px-2",children:(0,t.jsx)(ke,{state:a,input:i,result:s,approval:r})}),e[17]=r,e[18]=i,e[19]=s,e[20]=a,e[21]=N):N=e[21];let j;e[22]!==b||e[23]!==N?(j=(0,t.jsxs)($,{value:"tool-call",className:"border-0",children:[b,N]}),e[22]=b,e[23]=N,e[24]=j):j=e[24];let g;return e[25]!==j||e[26]!==x||e[27]!==d?(g=(0,t.jsx)(D,{type:"single",collapsible:!0,className:d,children:j},x),e[25]=j,e[26]=x,e[27]=d,e[28]=g):g=e[28],g};var ke=c=>{let e=(0,L.c)(16),{state:l,input:a,result:i,approval:s}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let r;return e[0]===a?r=e[1]:(r=(0,t.jsx)(A,{input:a}),e[0]=a,e[1]=r),r}case"output-available":{let r;e[2]===a?r=e[3]:(r=(0,t.jsx)(A,{input:a}),e[2]=a,e[3]=r);let n;e[4]===i?n=e[5]:(n=i!=null&&(0,t.jsx)(ye,{result:i}),e[4]=i,e[5]=n);let u;return e[6]!==r||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-3",children:[r,n]}),e[6]=r,e[7]=n,e[8]=u):u=e[8],u}case"output-denied":{let r;e[9]===a?r=e[10]:(r=(0,t.jsx)(A,{input:a}),e[9]=a,e[10]=r);let n=s!=null&&s.reason?`: ${s.reason}`:".",u;e[11]===n?u=e[12]:(u=(0,t.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",n]}),e[11]=n,e[12]=u);let x;return e[13]!==r||e[14]!==u?(x=(0,t.jsxs)("div",{className:"space-y-3",children:[r,u]}),e[13]=r,e[14]=u,e[15]=x):x=e[15],x}default:return T(l),null}},Ae=y();const P=c=>{let e=(0,Ae.c)(25),{toolName:l,state:a,result:i,errorText:s,input:r,approval:n,onApprove:u,index:x,className:d,isLive:h}=c,m=h===void 0?!0:h;switch(a){case"approval-requested":{if(n!=null&&u!=null){let p;return e[0]!==n||e[1]!==d||e[2]!==r||e[3]!==u||e[4]!==l?(p=(0,t.jsx)(he,{toolName:l,input:r,approval:n,onApprove:u,className:d}),e[0]=n,e[1]=d,e[2]=r,e[3]=u,e[4]=l,e[5]=p):p=e[5],p}let o;return e[6]!==d||e[7]!==x||e[8]!==r||e[9]!==l?(o=(0,t.jsx)(G,{toolName:l,state:"input-available",input:r,index:x,className:d}),e[6]=d,e[7]=x,e[8]=r,e[9]=l,e[10]=o):o=e[10],o}case"output-error":{let o;return e[11]!==d||e[12]!==s||e[13]!==r||e[14]!==m||e[15]!==l?(o=(0,t.jsx)(ve,{toolName:l,input:r,errorText:s,isLive:m,className:d}),e[11]=d,e[12]=s,e[13]=r,e[14]=m,e[15]=l,e[16]=o):o=e[16],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[17]!==n||e[18]!==d||e[19]!==x||e[20]!==r||e[21]!==i||e[22]!==a||e[23]!==l?(o=(0,t.jsx)(G,{toolName:l,state:a,input:r,result:i,approval:n,index:x,className:d}),e[17]=n,e[18]=d,e[19]=x,e[20]=r,e[21]=i,e[22]=a,e[23]=l,e[24]=o):o=e[24],o}default:return T(a),null}},Ce=({message:c,isStreamingReasoning:e,isLast:l,addToolApprovalResponse:a})=>{return(0,t.jsx)(t.Fragment,{children:c.parts.map((s,r)=>i(s,r))});function i(s,r){if(qe(s))return(0,t.jsx)(P,{index:r,toolName:s.type,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,className:"my-2",state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);if(Re(s))return Z.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(k.Fragment,{children:ce({html:s.text})},r):(0,t.jsx)(M,{content:s.text},r);case"reasoning":return(0,t.jsx)(me,{reasoning:s.text,index:r,isStreaming:e&&l&&r===(c.parts.length||0)-1},r);case"file":return(0,t.jsx)(le,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(P,{toolName:s.toolName,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);case"source-document":return(0,t.jsx)(V,{icon:(0,t.jsx)(H,{className:"h-3 w-3 shrink-0"}),title:s.title,subtitle:s.filename},r);case"source-url":return(0,t.jsx)(V,{icon:(0,t.jsx)(ne,{className:"h-3 w-3 shrink-0"}),title:s.title??s.url,subtitle:s.title?s.url:void 0,href:s.url},r);case"step-start":return null;default:return T(s),null}}};function qe(c){return c.type.startsWith("tool-")}function Re(c){return c.type.startsWith("data-")}export{Ce as t};
|