@marimo-team/frontend 0.19.7-dev42 → 0.19.7-dev45
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-DhGipVU-.js → CellStatus-BFim6YKS.js} +1 -1
- package/dist/assets/{JsonOutput-CWwP78bV.js → JsonOutput-DkVhF91W.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-Cci2wITc.js → MarimoErrorOutput-DWQ55i9r.js} +1 -1
- package/dist/assets/{RenderHTML-Co6iQEvR.js → RenderHTML-a-roMXlk.js} +1 -1
- package/dist/assets/{add-cell-with-ai-LP5p0BtF.js → add-cell-with-ai-BR7IVCSW.js} +1 -1
- package/dist/assets/{add-database-form-_pTLtiHN.js → add-database-form-ClfjsEtC.js} +1 -1
- package/dist/assets/{agent-panel-AgX8jQJ5.js → agent-panel-DSORiKrx.js} +1 -1
- package/dist/assets/{ai-model-dropdown-CJGHNqP_.js → ai-model-dropdown-JY5c7nJK.js} +1 -1
- package/dist/assets/{app-config-button-DDLHriXt.js → app-config-button-Jz087HD-.js} +1 -1
- package/dist/assets/{cell-editor-1G6HDPqu.js → cell-editor-B6FY0jdx.js} +2 -2
- package/dist/assets/{cell-link-_-mIiddP.js → cell-link-D2K7clF4.js} +1 -1
- package/dist/assets/{cells-BW_4R0Qw.js → cells-Dxpbusw1.js} +37 -37
- package/dist/assets/{chat-components-ZGfi_TyH.js → chat-components-B6qBxIzc.js} +1 -1
- package/dist/assets/{chat-display-C7-tFQht.js → chat-display-CPulKLCm.js} +1 -1
- package/dist/assets/{chat-panel-CfvDUHSP.js → chat-panel-COGD6xs1.js} +1 -1
- package/dist/assets/{column-preview-BICvl-DB.js → column-preview-D3y9pwSu.js} +1 -1
- package/dist/assets/{command-B5H3BrRg.js → command-BqcYTnlg.js} +1 -1
- package/dist/assets/{command-palette-BDzRM8e2.js → command-palette-BaR-SOA3.js} +1 -1
- package/dist/assets/{common-DxKcMlJZ.js → common-DuZx4dBP.js} +1 -1
- package/dist/assets/{datasource-CpcDqjf_.js → datasource-BA7iQQaN.js} +1 -1
- package/dist/assets/{dependency-graph-panel-CCXzRJF_.js → dependency-graph-panel-C27DHbPF.js} +1 -1
- package/dist/assets/{documentation-panel-BK_YuaI4.js → documentation-panel-COvuCjB2.js} +1 -1
- package/dist/assets/download-DZGL4UAN.js +9 -0
- package/dist/assets/{edit-page-B2tgar36.js → edit-page-CoNmmXUy.js} +3 -3
- package/dist/assets/{error-panel-DulelhA-.js → error-panel-BHPn8JVQ.js} +1 -1
- package/dist/assets/{file-explorer-panel-BRQNVIrs.js → file-explorer-panel-CozR65iO.js} +1 -1
- package/dist/assets/{floating-outline-Ni_RT38T.js → floating-outline-CY6lTY5s.js} +1 -1
- package/dist/assets/{focus-CsiV5LZR.js → focus-BLcChWyg.js} +1 -1
- package/dist/assets/{form-B1n-e_X0.js → form-CKnYm6ml.js} +1 -1
- package/dist/assets/{globals-ols5LsZP.js → globals-Dd-Dr3p2.js} +1 -1
- package/dist/assets/{home-page-MttpX4Nz.js → home-page-Ds6etoNv.js} +1 -1
- package/dist/assets/{hooks-CVU9hHCg.js → hooks-B1vW9UPB.js} +1 -1
- package/dist/assets/{html-to-image-BVbOFO17.js → html-to-image-DSMiAoU4.js} +1 -1
- package/dist/assets/{index-DdLjmZik.js → index-B_qRlPME.js} +3 -3
- package/dist/assets/{kiosk-mode-vMIC4Cbh.js → kiosk-mode-x5QGVyC6.js} +1 -1
- package/dist/assets/{layout-CrzVHOC1.js → layout-BVZJ0wNL.js} +1 -1
- package/dist/assets/{logs-panel-DeNFSwJb.js → logs-panel-W6lnhN9B.js} +1 -1
- package/dist/assets/{markdown-renderer-YZb6nuwv.js → markdown-renderer-Bx2DfaSd.js} +1 -1
- package/dist/assets/{mode-BCr7l3Th.js → mode-BQL1qb7F.js} +1 -1
- package/dist/assets/{name-cell-input-D6uaGwg7.js → name-cell-input-B3FIAxBj.js} +1 -1
- package/dist/assets/{outline-panel-DpbnlPhw.js → outline-panel-AJlQUjZ_.js} +1 -1
- package/dist/assets/{packages-panel-BkOmsLKm.js → packages-panel-BJsvZ-68.js} +1 -1
- package/dist/assets/{panels-C2rc8NQo.js → panels-CZFKs6IJ.js} +1 -1
- package/dist/assets/{process-output-TMO5uCHT.js → process-output-DK8a3ADA.js} +1 -1
- package/dist/assets/{readonly-python-code-Dv4ZvZ6I.js → readonly-python-code-tAbt2ya8.js} +1 -1
- package/dist/assets/{run-page-tKvoJHTm.js → run-page-BpOFopIQ.js} +1 -1
- package/dist/assets/{scratchpad-panel-DH1sB0Bt.js → scratchpad-panel-DfCsTT2f.js} +1 -1
- package/dist/assets/{session-panel-DgCVmf7T.js → session-panel-Dd73AAIv.js} +1 -1
- package/dist/assets/{snippets-panel-ypIwat9G.js → snippets-panel-HEdYHO0z.js} +1 -1
- package/dist/assets/{state-BrsyJBHJ.js → state-BMdr2nMy.js} +1 -1
- package/dist/assets/{switch-Cch0bLxo.js → switch-uE7-SGTN.js} +1 -1
- package/dist/assets/{textarea-DSR2T2ft.js → textarea-Dnc9oNCJ.js} +1 -1
- package/dist/assets/{tracing-vnJxVAtK.js → tracing-CsZXkSMG.js} +1 -1
- package/dist/assets/{tracing-panel-57WGQhyd.js → tracing-panel-DzL1Eutt.js} +2 -2
- package/dist/assets/{types-fTSozrNJ.js → types-BjS1POBx.js} +1 -1
- package/dist/assets/{useAddCell-CLnCtSpX.js → useAddCell-fK8ZFPPQ.js} +1 -1
- package/dist/assets/{useCellActionButton-ZSiDIQBo.js → useCellActionButton-BBXD0ZNf.js} +1 -1
- package/dist/assets/{useDeleteCell-CR3IczUk.js → useDeleteCell-BFvljUOH.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DQWR1wnN.js → useDependencyPanelTab-4_zo1zmo.js} +1 -1
- package/dist/assets/{useNotebookActions-zbbfI0Ij.js → useNotebookActions---KuaMmt.js} +1 -1
- package/dist/assets/{useRunCells-C50mliNM.js → useRunCells-ChluEx0W.js} +1 -1
- package/dist/assets/{useSplitCell-IQsKBoRj.js → useSplitCell-BYSgH1JP.js} +1 -1
- package/dist/assets/{utilities.esm-2OA-HSSr.js → utilities.esm-CgPvBw6L.js} +1 -1
- package/dist/index.html +31 -31
- package/package.json +1 -1
- package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +1 -0
- package/src/core/codemirror/cm.ts +1 -0
- package/src/core/codemirror/config/extension.ts +3 -0
- package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +1 -0
- package/src/core/codemirror/facet.ts +4 -1
- package/src/core/codemirror/language/__tests__/extension.test.ts +1 -0
- package/src/core/codemirror/language/__tests__/utils.test.ts +1 -0
- package/src/core/codemirror/language/extension.ts +12 -0
- package/src/utils/__tests__/download.test.tsx +18 -1
- package/src/utils/__tests__/iframe.test.ts +9 -14
- package/src/utils/download.ts +18 -8
- package/src/utils/iframe.ts +3 -10
- package/dist/assets/download-jMLcAPOc.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as D}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-DO6uJBas.js";import{t as Z}from"./react-BGmjiNul.js";import{St as z}from"./cells-BW_4R0Qw.js";import{t as E}from"./compiler-runtime-DeeZ7FnK.js";import{G as $,S as ee,c as te,i as se,l as le,n as ae,u as ne}from"./ai-model-dropdown-CJGHNqP_.js";import{C as oe,v as re,w as Q}from"./utils-DXvhzCGS.js";import{j as ie}from"./config-CIrPQIbt.js";import{t as ce}from"./jsx-runtime-ZmTK25f3.js";import{t as de}from"./button-YC1gW_kJ.js";import{l as R}from"./once-Bul8mtFs.js";import{r as U}from"./requests-BsVD4CdD.js";import{t as he}from"./createLucideIcon-CnW3RofX.js";import{h as me,l as B}from"./select-V5IdpNiR.js";import{r as I}from"./input-pAun1m1X.js";import{t as Y}from"./settings-DOXWMfVd.js";import{a as L,c as M,d as A,g as xe,i as pe,l as F,o as P,p as fe,u as S}from"./textarea-DSR2T2ft.js";import{t as ue}from"./use-toast-rmUWldD_.js";import{t as G}from"./tooltip-CEc2ajau.js";import{o as je}from"./alert-dialog-DwQffb13.js";import{c as ve,l as ge,n as be,t as K}from"./dialog-CxGKN4C_.js";import{i as we,r as ye,t as Ne}from"./popover-Gz-GJzym.js";import{n as Ce}from"./useDebounce-D5NcotGm.js";import{n as ke}from"./ImperativeModal-CUbWEBci.js";import{t as O}from"./kbd-C3JY7O_u.js";import{t as _e}from"./links-DHZUhGz-.js";import{t as V}from"./Inputs-D2Xn4HON.js";var Se=he("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=E(),s=D(ce(),1);const Le=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:n}=U(),w;e[0]===n?w=e[1]:(w=()=>{n(),setTimeout(Me,200)},e[0]=n,e[1]=w);let j=w;if(ie())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)(je,{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 o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)(me,{strokeWidth:1}),e[7]=o):o=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(V,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:o}),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)(G,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=E(),W=D(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=re(),{saveAppConfig:f}=U(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe(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=xe(b),n;t[3]!==f||t[4]!==a?(n=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=n):n=t[5];let w=n,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=Ce(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let o;t[10]!==m||t[11]!==l?(o=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=o):o=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ne,{children:"Notebook Settings"}),(0,s.jsx)(le,{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)(H,{title:"Display",children:[(0,s.jsx)(M,{control:l.control,name:"width",render:He}),(0,s.jsx)(M,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(H,{title:"Custom Files",children:[(0,s.jsx)(M,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(M,{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)(H,{title:"Data",children:(0,s.jsx)(M,{control:l.control,name:"sql_output",render:De})}),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)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(L,{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)(z,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.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)(z,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(H,{title:"Exporting outputs",children:(0,s.jsx)(M,{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]!==o?(g=(0,s.jsxs)("form",{onChange:o,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=o,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var H=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(L,{children:(0,s.jsx)(B,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee().map(qe)})}),(0,s.jsx)(A,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{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)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{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)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(L,{children:(0,s.jsx)(B,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ue({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:te.map(We)})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var ze=E();const Qe=t=>{let e=(0,ze.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,n]=X(ae),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(G,{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)(V,{"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 o=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)($,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(se,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===o?T=e[9]:(T=(0,s.jsx)(ge,{children:o}),e[8]=o,e[9]=T);let q;return e[10]!==n||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:n,children:[T,x]}),e[10]=n,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===o?h=e[15]:(h=(0,s.jsx)(we,{asChild:!0,children:o}),e[14]=o,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),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]===n?v=e[19]:(v=()=>n(!0),e[18]=n,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(ye,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(de,{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)(Ne,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==n||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:n,children:x}),e[26]=n,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
|
|
1
|
+
import{s as D}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-DO6uJBas.js";import{t as Z}from"./react-BGmjiNul.js";import{St as z}from"./cells-Dxpbusw1.js";import{t as E}from"./compiler-runtime-DeeZ7FnK.js";import{G as $,S as ee,c as te,i as se,l as le,n as ae,u as ne}from"./ai-model-dropdown-JY5c7nJK.js";import{C as oe,v as re,w as Q}from"./utils-DXvhzCGS.js";import{j as ie}from"./config-CIrPQIbt.js";import{t as ce}from"./jsx-runtime-ZmTK25f3.js";import{t as de}from"./button-YC1gW_kJ.js";import{l as R}from"./once-Bul8mtFs.js";import{r as U}from"./requests-BsVD4CdD.js";import{t as he}from"./createLucideIcon-CnW3RofX.js";import{h as me,l as B}from"./select-V5IdpNiR.js";import{r as I}from"./input-pAun1m1X.js";import{t as Y}from"./settings-DOXWMfVd.js";import{a as L,c as M,d as A,g as xe,i as pe,l as F,o as P,p as fe,u as S}from"./textarea-Dnc9oNCJ.js";import{t as ue}from"./use-toast-rmUWldD_.js";import{t as G}from"./tooltip-CEc2ajau.js";import{o as je}from"./alert-dialog-DwQffb13.js";import{c as ve,l as ge,n as be,t as K}from"./dialog-CxGKN4C_.js";import{i as we,r as ye,t as Ne}from"./popover-Gz-GJzym.js";import{n as Ce}from"./useDebounce-D5NcotGm.js";import{n as ke}from"./ImperativeModal-CUbWEBci.js";import{t as O}from"./kbd-C3JY7O_u.js";import{t as _e}from"./links-DHZUhGz-.js";import{t as V}from"./Inputs-D2Xn4HON.js";var Se=he("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=E(),s=D(ce(),1);const Le=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:n}=U(),w;e[0]===n?w=e[1]:(w=()=>{n(),setTimeout(Me,200)},e[0]=n,e[1]=w);let j=w;if(ie())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)(je,{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 o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)(me,{strokeWidth:1}),e[7]=o):o=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(V,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:o}),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)(G,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=E(),W=D(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=re(),{saveAppConfig:f}=U(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe(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=xe(b),n;t[3]!==f||t[4]!==a?(n=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=n):n=t[5];let w=n,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=Ce(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let o;t[10]!==m||t[11]!==l?(o=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=o):o=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ne,{children:"Notebook Settings"}),(0,s.jsx)(le,{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)(H,{title:"Display",children:[(0,s.jsx)(M,{control:l.control,name:"width",render:He}),(0,s.jsx)(M,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(H,{title:"Custom Files",children:[(0,s.jsx)(M,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(M,{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)(H,{title:"Data",children:(0,s.jsx)(M,{control:l.control,name:"sql_output",render:De})}),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)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(L,{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)(z,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.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)(z,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(H,{title:"Exporting outputs",children:(0,s.jsx)(M,{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]!==o?(g=(0,s.jsxs)("form",{onChange:o,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=o,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var H=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(L,{children:(0,s.jsx)(B,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee().map(qe)})}),(0,s.jsx)(A,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{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)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{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)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(L,{children:(0,s.jsx)(B,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ue({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:te.map(We)})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var ze=E();const Qe=t=>{let e=(0,ze.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,n]=X(ae),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(G,{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)(V,{"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 o=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)($,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(se,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===o?T=e[9]:(T=(0,s.jsx)(ge,{children:o}),e[8]=o,e[9]=T);let q;return e[10]!==n||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:n,children:[T,x]}),e[10]=n,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===o?h=e[15]:(h=(0,s.jsx)(we,{asChild:!0,children:o}),e[14]=o,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),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]===n?v=e[19]:(v=()=>n(!0),e[18]=n,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(ye,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(de,{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)(Ne,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==n||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:n,children:x}),e[26]=n,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-C4rb9m-K.js","./loro_wasm_bg-CDxXoyfI.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var od=Object.defineProperty;var Fa=re=>{throw TypeError(re)};var ad=(re,q,ge)=>q in re?od(re,q,{enumerable:!0,configurable:!0,writable:!0,value:ge}):re[q]=ge;var h=(re,q,ge)=>ad(re,typeof q!="symbol"?q+"":q,ge),id=(re,q,ge)=>q.has(re)||Fa("Cannot "+ge);var La=(re,q,ge)=>(id(re,q,"read from private field"),ge?ge.call(re):q.get(re)),Oa=(re,q,ge)=>q.has(re)?Fa("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,ge);import{s as Da}from"./chunk-LvLJmgfZ.js";import{d as _a,f as yr,i as Q,l as En,n as ue,p as Ut,s as Nn,u as ce}from"./useEvent-DO6uJBas.js";import{t as sd}from"./react-BGmjiNul.js";import{$ as ld,Ar as cd,At as wr,B as Ua,Bt as ud,Cr as vr,Ct as Ba,Er as dd,Gn as fd,It as md,Jr as ja,Kt as hd,Lt as pd,Mt as Er,N as gd,Nr as bd,Nt as Pa,Pt as Ma,Q as Nr,R as Ra,Sn as yd,St as wd,Tn as vd,Tr as Ed,U as Ga,Ut as kn,V as Ja,Xr as Nd,Zt as kd,_r as Cd,a as Wa,ai as Cn,bn as Sd,ct as Sn,d as Va,dt as Bt,en as xd,hn as Td,in as Ad,jr as $a,kt as Id,lt as Fd,m as kr,mt as Ld,nn as Od,ot as Dd,rn as _d,sn as Cr,st as Sr,u as Ha,ut as Ud,w as xn,xn as Bd,y as nt,z as jd,zt as Qe,__tla as Pd}from"./cells-
|
|
2
|
+
var od=Object.defineProperty;var Fa=re=>{throw TypeError(re)};var ad=(re,q,ge)=>q in re?od(re,q,{enumerable:!0,configurable:!0,writable:!0,value:ge}):re[q]=ge;var h=(re,q,ge)=>ad(re,typeof q!="symbol"?q+"":q,ge),id=(re,q,ge)=>q.has(re)||Fa("Cannot "+ge);var La=(re,q,ge)=>(id(re,q,"read from private field"),ge?ge.call(re):q.get(re)),Oa=(re,q,ge)=>q.has(re)?Fa("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,ge);import{s as Da}from"./chunk-LvLJmgfZ.js";import{d as _a,f as yr,i as Q,l as En,n as ue,p as Ut,s as Nn,u as ce}from"./useEvent-DO6uJBas.js";import{t as sd}from"./react-BGmjiNul.js";import{$ as ld,Ar as cd,At as wr,B as Ua,Bt as ud,Cr as vr,Ct as Ba,Er as dd,Gn as fd,It as md,Jr as ja,Kt as hd,Lt as pd,Mt as Er,N as gd,Nr as bd,Nt as Pa,Pt as Ma,Q as Nr,R as Ra,Sn as yd,St as wd,Tn as vd,Tr as Ed,U as Ga,Ut as kn,V as Ja,Xr as Nd,Zt as kd,_r as Cd,a as Wa,ai as Cn,bn as Sd,ct as Sn,d as Va,dt as Bt,en as xd,hn as Td,in as Ad,jr as $a,kt as Id,lt as Fd,m as kr,mt as Ld,nn as Od,ot as Dd,rn as _d,sn as Cr,st as Sr,u as Ha,ut as Ud,w as xn,xn as Bd,y as nt,z as jd,zt as Qe,__tla as Pd}from"./cells-Dxpbusw1.js";import{P as qa,R as Md,k as Rd,w as Gd}from"./zod-Cg4WLWh2.js";import{t as Ge}from"./compiler-runtime-DeeZ7FnK.js";import{C as Jd,f as Wd,m as Vd,p as $d,t as Hd,v as qd}from"./ai-model-dropdown-JY5c7nJK.js";import{d as $e,f as zd,l as xr,n as za}from"./hotkeys-BHHWjLlp.js";import{t as jt}from"./invariant-CAG_dYON.js";import{S as Tr,h as Ka,m as Kd,o as Xd,p as Xa,s as Ya}from"./utils-DXvhzCGS.js";import{A as Pt,O as Qa,b as Yd,j as Qd,o as Zd,r as Za,s as ef,w as bt}from"./config-CIrPQIbt.js";import{a as tf,n as ei,t as nf}from"./switch-uE7-SGTN.js";import{n as rf}from"./globals-Dd-Dr3p2.js";import{t as of}from"./ErrorBoundary-ChCiwl15.js";import{t as af}from"./useEventListener-DIUKKfEy.js";import{t as sf}from"./jsx-runtime-ZmTK25f3.js";import{r as Ar,t as He}from"./button-YC1gW_kJ.js";import{t as lt}from"./cn-BKtXLv3a.js";import{$t as Tn,Bt as Ir,Ct as ti,Dt as lf,E as cf,Gt as uf,H as ni,I as df,It as An,J as l,Jt as qe,P as ff,Pt as In,Rt as mf,St as Je,Ut as ct,V as ri,Vt as Mt,Xt as Rt,_ as hf,a as pf,at as B,bt as gf,ct as ze,ft as bf,it as yf,jt as wf,lt as Fn,m as vf,pt as Ef,qt as he,rt as H,st as Nf,vt as kf,w as Cf,wt as Sf,yt as xf,zt as yt}from"./dist-DBwNzi3C.js";import{C as Tf,D as Af,_ as If,a as Ff,c as Lf,n as Fr,r as Of,v as Df,x as _f,y as Uf}from"./dist-CtsanegT.js";import{E as Bf,__tla as jf}from"./JsonOutput-DkVhF91W.js";import{c as oi,n as Pf}from"./once-Bul8mtFs.js";import{t as Lr}from"./createReducer-Dnna-AUO.js";import{a as Mf,c as Rf,f as Ln,h as Gf,i as Jf,l as Gt,n as ai,o as Wf,t as Vf}from"./dist-ChS0Dc_R.js";import{r as On,t as $f}from"./requests-BsVD4CdD.js";import{t as Hf}from"./createLucideIcon-CnW3RofX.js";import{r as ii,t as qf,__tla as zf}from"./layout-BVZJ0wNL.js";import{O as Kf,S as si,T as Xf,_ as Yf,a as li,k as Qf,n as Zf,o as em,r as ci,s as tm,x as nm}from"./add-cell-with-ai-BR7IVCSW.js";import{h as rm}from"./select-V5IdpNiR.js";import{r as om}from"./download-DZGL4UAN.js";import{t as am}from"./circle-check-C57eOpl0.js";import{r as im,t as sm}from"./types-BjS1POBx.js";import{n as ui}from"./spinner-DaIKav-i.js";import{t as di}from"./save-PMHbdtqc.js";import{I as fi,P as lm}from"./input-pAun1m1X.js";import{a as cm,i as um,n as mi}from"./state-BMdr2nMy.js";import{t as dm}from"./preload-helper-DItdS47A.js";import{t as wt}from"./use-toast-rmUWldD_.js";import{r as fm}from"./useTheme-DUdVAZI8.js";import{t as vt}from"./tooltip-CEc2ajau.js";import{r as mm,t as hm}from"./mode-BQL1qb7F.js";import{c as hi,i as pi,n as gi,r as pm}from"./dialog-CxGKN4C_.js";import{O as gm}from"./usePress-Bup4EGrp.js";import{a as bm,r as ym,t as wm}from"./popover-Gz-GJzym.js";import{n as bi}from"./ImperativeModal-CUbWEBci.js";import{r as vm}from"./errors-2SszdW9t.js";import{t as Em}from"./copy-Bv2DBpIS.js";import{a as Nm}from"./useRunCells-ChluEx0W.js";import{t as X}from"./extends-B2LJnKU3.js";import{t as Jt}from"./objectWithoutPropertiesLoose-DaPAPabU.js";import{t as km}from"./kbd-C3JY7O_u.js";import{a as Or}from"./useInstallPackage-Bdnnp5fe.js";import{a as Cm,o as Sm}from"./cell-link-D2K7clF4.js";import{n as xm}from"./useAsyncData-C4XRy1BE.js";import{a as Tm,o as yi,r as Am,s as wi,t as Im}from"./command-BqcYTnlg.js";import{r as Fm}from"./html-to-image-DSMiAoU4.js";import{a as Lm}from"./focus-BLcChWyg.js";import{a as vi}from"./renderShortcut-DEwfrKeS.js";import{t as Dr}from"./label-Be1daUcS.js";import{n as _r,t as Ei}from"./useDeleteCell-BFvljUOH.js";import{n as Et}from"./esm-DpMp6qko.js";import{n as Om,t as Dm}from"./icons-BhEXrzsb.js";import{t as Ni}from"./dist-CzfJUeh-.js";import{t as _m}from"./useSplitCell-BYSgH1JP.js";import{t as ki}from"./Inputs-D2Xn4HON.js";import{co as Um,do as Ur,fo as Bm,ft as jm,go as Nt,ho as Ci,lo as Br,mo as Si,oo as xi,po as Pm,so as Ti,uo as Ai,__tla as Mm}from"./loro_wasm_bg-CDxXoyfI.js";import{t as Rm}from"./ws-BApgRfsy.js";import{n as Gm}from"./hooks-B1vW9UPB.js";let Dn,jr,Ii,Pr,ut,Mr,be,Wt,Vt,Fi,Li,Oi,Di,_i,_n,Ui,Un,Bi,Bn,Jm=Promise.all([(()=>{try{return Pd}catch{}})(),(()=>{try{return jf}catch{}})(),(()=>{try{return zf}catch{}})(),(()=>{try{return Mm}catch{}})()]).then(async()=>{var vn,Ia,we,ve,Ee,Ne,ke,Ce,Se,xe,Te,Ae,Ie,Fe,Le,Oe,De,_e,Ue,Be,je;var re=Hf("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 q={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ge=300;const Ct=Mt.define({combine:e=>Tn(e,{onError:console.error,inputDebounceTime:ge,keymaps:q},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=he.define(),ot=qe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),St=he.define(),xt=he.define(),Gr=qe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(St)&&(n={...n,inputValue:r.value}),r.is(xt)&&(n={...n,shouldFocus:r.value});return n}}),$t=he.define(),Tt=qe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is($t))return n.value;return e}}),dt=he.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:[rt.of({show:!0,lineFrom:i,lineTo:s}),xt.of(!0),St.of("")],selection:yt.cursor(o.from)}),!0},Vr=e=>e.state.field(Tt)?(e.dispatch({effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1,$r=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Pi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Pi()).replace("-"," ").toUpperCase()}function de(e,t){let n=document.createElement(e);return n.className=t,n}function Mi(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 Ht=qe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(qt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),qt=he.define();function Ri(e,t){let n=e.state.selection.main.head,r=[],o=H.widget({widget:new Gi(t),side:1});return r.push(o.range(n)),H.set(r)}var Gi=class extends Fn{constructor(t){super();h(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}},Ji=class{constructor(e){h(this,"cache",new Map);h(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()})}},Wi=(e,t)=>ze.fromClass(class{constructor(){h(this,"abortController",null);h(this,"cache");this.cache=new Ji(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:qt.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:qt.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()}}),Vi=ze.fromClass(class{constructor(){h(this,"decorations");this.decorations=H.none}update(e){var n;let t=(n=e.state.field(Ht))==null?void 0:n.suggestion;if(!t){this.decorations=H.none;return}this.decorations=Ri(e.view,t)}},{decorations:e=>e.decorations});function $i(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:yt.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:yt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Hi=e=>{var r,o,a;let t=(r=e.state.field(Ht))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...$i(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(Ht))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:qt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},qi=Je.of([{key:"Tab",run:Hi},{key:"Escape",run:Hr}]),Mn=Mt.define({combine:e=>e.at(-1)});function qr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Mi(e.fetchFn,t);return[Ht,Mn.of(e),Wi(r,e),Vi,n?qi:[]]}const zi=B.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 Ki(e){var o,a;let t=e.state.facet(Ct),n={...q,...t.keymaps},r=de("div","cm-ai-tooltip").appendChild(de("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${Pn(n.showInput)}</span></span>`,(o=r.querySelector("span"))==null||o.addEventListener("mousedown",i=>{i.stopPropagation(),i.button===0&&i.preventDefault()}),(a=r.querySelector("span"))==null||a.addEventListener("click",i=>{i.preventDefault(),Wr(e)}),r}const Rn=Mt.define({combine(e){return Tn(e,{render:Ki,hideOnBlur:!1})}}),Xi=ze.fromClass((Ia=class{constructor(e){h(this,"view");h(this,"suppress");h(this,"dom");h(this,"mousedown",()=>{this.suppress=!0});h(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});h(this,"scroll",()=>{this.display(this.view)});h(this,"windowScroll",()=>{this.display(this.view)});Oa(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);if(!r)return;let o=e.dom.getBoundingClientRect(),a=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),i=r.top>=o.top&&r.top<=o.bottom&&r.left>=o.left&&r.left<=o.right,s=!a||r.top>=a.top&&r.top<=a.bottom&&r.left>=a.left&&r.left<=a.right;if(!i||!s){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let c=this.dom.getBoundingClientRect(),u=o.width-c.width,d=Math.min(r.left,u),f=r.top-c.height;f=a?Math.max(a.y,f):f,this.dom.style.left=`${d}px`,this.dom.style.top=`${f}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(Rn);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(ot).show){this.dom.style.display="none";return}if(e.state.facet(Rn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:La(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,Ia));var Yi=B.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 Qi(){return[Xi,Yi]}var Zi=class extends Fn{constructor(t){super();h(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(Ct),i={...q,...a.keymaps},s=de("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Pn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Vr(t)});let c=de("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Pn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),$r(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},es=class extends Fn{constructor(t){super();h(this,"complete");h(this,"abortController",null);h(this,"dom",null);h(this,"input",null);h(this,"loadingContainer",null);h(this,"helpInfo",null);h(this,"inputContainer",null);h(this,"form",null);h(this,"view",null);h(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});h(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});h(this,"handleSubmit",async t=>{var g;let n=this.view;if(!n)return;let r=n.state.facet(Ct);t==null||t.stopPropagation();let o=n.state.field(ot),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),p=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),$t.of({from:u,to:u+y.length,oldCode:f,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(g=r.onError)==null||g.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(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",w=>w.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 c=de("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=de("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);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 p=de("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:xt.of(!1)})}),m(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function m(w){d.replaceChildren(w?p:f)}let g="";function y(){t.dispatch({effects:St.of(i.value)});let w=i.value.trim();w!==g&&(g=w,m(w))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ts(e){if(!e.prompt)throw Error("prompt function is required");let t={...q,...e.keymaps};return[Ct.of(e),ot,Gr,Tt,Jr,Qi(),zi,Je.of([{key:t.showInput,run:Wr}]),ct.highest([Je.of([{key:t.acceptEdit,run:Vr},{key:t.rejectEdit,run:$r}])]),ns,rs,os,as]}const ns=B.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),rs=B.decorations.of(e=>{let t=e.state.field(Tt);return t?H.set([H.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):H.none}),os=B.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(Ct),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(H.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(H.widget({widget:new es(n.prompt),side:-1}).range(s))}}return H.set(r)}),as=qe.define({create(e){return H.none},update(e,t){let n=t.state.field(Tt);return n?H.set([H.widget({widget:new Zi(n.oldCode),block:!0}).range(n.from)]):H.none},provide:e=>B.decorations.from(e)});var is=Ge(),I=Da(sd(),1),Gn=()=>({entries:new Map}),{valueAtom:zr,useActions:Kr}=Lr(Gn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(nt),s=a.get(Sd),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let y of Object.values(s)){let w=y.declaredBy.includes(f),k=y.usedBy.some(C=>!c.has(C));w&&k&&m.set(y.name,y.usedBy)}let g;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(g=p.runElapsedTimeMs),m.size===0&&g===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:g,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Gn()):{...e,entries:u}},clear:()=>Gn()});Bn=function(){let e=yr(),{submit:t,clear:n}=Kr(),{entries:r}=ce(zr),o=Ei(),a=_r();return(0,I.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])},Bi=function(e){let t=(0,is.c)(16),n=ce(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(ss)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function ss(e){return e.cellId}async function ls(e){var s,c;let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -15,7 +15,7 @@ ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:
|
|
|
15
15
|
`),r=[],o=!1,a=0,i=!1,s=!1,c=0,u=/\(/g,d=/\)/g,f=new Set(["@"]);function p(g){return(g.match(u)||[]).length-(g.match(d)||[]).length}function m(){if(r.length!==0){for(;r.length>0&&r[r.length-1].trim().startsWith("return");)r.pop();r.some(g=>g.trim()!=="")&&t.push(_c(r.join(`
|
|
16
16
|
`))),r=[]}}for(let g of n){let y=g.trim();if(!(!y&&!o)){if(y.startsWith("@app.cell")){m(),o=!0,a=1;continue}if(a>0){y.startsWith("def")&&y.includes("(")&&!y.includes("):")&&(i=!0,c=p(y)),a--;continue}if(i){c+=p(y),c===0&&(i=!1);continue}if(o){if(f.has(y[0])||y.startsWith("if __name__")){m(),o=y.startsWith("@");continue}if(y.startsWith("return")){y.includes("(")&&!y.endsWith(")")&&(s=!0,c=p(y));continue}if(s){c+=p(y),c===0&&(s=!1);continue}r.push(g)}}}return m(),t}function _c(e){let t=e.split(`
|
|
17
17
|
`);if(t.length===0)return"";let n=t.filter(a=>a.trim().length>0);if(n.length===0)return"";let r=/^\s*/,o=Math.min(...n.map(a=>{var i;return((i=a.match(r))==null?void 0:i[0].length)??1/0}));return o===0?e.trim():t.map(a=>a.slice(o)).join(`
|
|
18
|
-
`).trim()}function Uc(e,t,n,r){var o;return r!=="{"||t!==n||!((o=ni(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function Bc(){return B.inputHandler.of(Uc)}var oe=({variant:e,settings:t,styles:n})=>[B.theme({"&":{backgroundColor:t.background,color:t.foreground},".cm-content":{caretColor:t.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:t.selection},".cm-activeLine":{backgroundColor:t.lineHighlight},".cm-gutters":{backgroundColor:t.gutterBackground,color:t.gutterForeground},".cm-activeLineGutter":{backgroundColor:t.lineHighlight}},{dark:e==="dark"}),ri(pf.define(n))];oe({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:l.comment,color:"#404080"},{tag:[l.string,l.regexp],color:"#999999"},{tag:l.number,color:"#7090B0"},{tag:[l.bool,l.null],color:"#8080A0"},{tag:[l.punctuation,l.derefOperator],color:"#805080"},{tag:l.keyword,color:"#60B0FF"},{tag:l.definitionKeyword,color:"#B0FFF0"},{tag:l.moduleKeyword,color:"#60B0FF"},{tag:l.operator,color:"#A0A0FF"},{tag:[l.variableName,l.self],color:"#008080"},{tag:l.operatorKeyword,color:"#A0A0FF"},{tag:l.controlKeyword,color:"#80A0FF"},{tag:l.className,color:"#70E080"},{tag:[l.function(l.propertyName),l.propertyName],color:"#50A0A0"},{tag:l.tagName,color:"#009090"},{tag:l.modifier,color:"#B0FFF0"},{tag:[l.squareBracket,l.attributeName],color:"#D0D0FF"}]}),oe({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:l.comment,color:"#787b8099"},{tag:l.string,color:"#86b300"},{tag:l.regexp,color:"#4cbf99"},{tag:[l.number,l.bool,l.null],color:"#ffaa33"},{tag:l.variableName,color:"#5c6166"},{tag:[l.definitionKeyword,l.modifier],color:"#fa8d3e"},{tag:[l.keyword,l.special(l.brace)],color:"#fa8d3e"},{tag:l.operator,color:"#ed9366"},{tag:l.separator,color:"#5c6166b3"},{tag:l.punctuation,color:"#5c6166"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#f2ae49"},{tag:[l.className,l.definition(l.typeName)],color:"#22a4e6"},{tag:[l.tagName,l.typeName,l.self,l.labelName],color:"#55b4d4"},{tag:l.angleBracket,color:"#55b4d480"},{tag:l.attributeName,color:"#f2ae49"}]}),oe({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:l.comment,color:"#6E6E6E"},{tag:[l.string,l.regexp,l.special(l.brace)],color:"#5C81B3"},{tag:l.number,color:"#C1E1B8"},{tag:l.bool,color:"#53667D"},{tag:[l.definitionKeyword,l.modifier,l.function(l.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[l.keyword,l.moduleKeyword,l.operatorKeyword,l.operator],color:"#697A8E",fontWeight:"bold"},{tag:[l.variableName,l.attributeName],color:"#708E67"},{tag:[l.function(l.variableName),l.definition(l.propertyName),l.derefOperator],color:"#fff"},{tag:l.tagName,color:"#A3D295"}]}),oe({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:l.comment,color:"#666666"},{tag:[l.string,l.special(l.brace)],color:"#54BE0D"},{tag:l.regexp,color:"#E9C062"},{tag:l.number,color:"#CF6A4C"},{tag:[l.keyword,l.operator],color:"#5EA6EA"},{tag:l.variableName,color:"#7587A6"},{tag:[l.definitionKeyword,l.modifier],color:"#F9EE98"},{tag:[l.propertyName,l.function(l.variableName)],color:"#937121"},{tag:[l.typeName,l.angleBracket,l.tagName],color:"#9B859D"}]}),oe({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:l.comment,color:"#6B4E32"},{tag:[l.keyword,l.operator,l.derefOperator],color:"#EF5D32"},{tag:l.className,color:"#EFAC32",fontWeight:"bold"},{tag:[l.typeName,l.propertyName,l.function(l.variableName),l.definition(l.variableName)],color:"#EFAC32"},{tag:l.definition(l.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:l.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[l.number,l.bool],color:"#6C99BB"},{tag:[l.variableName,l.self],color:"#7DAF9C"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#D9D762"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#EFCB43"}]}),oe({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:l.comment,color:"#404040"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#00D8FF"},{tag:l.number,color:"#E62286"},{tag:[l.variableName,l.attributeName,l.self],color:"#E62286",fontWeight:"bold"},{tag:l.function(l.variableName),color:"#fff",fontWeight:"bold"}]}),oe({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:l.comment,color:"#BCC8BA"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#5D90CD"},{tag:[l.number,l.bool,l.null],color:"#46A609"},{tag:l.keyword,color:"#AF956F"},{tag:[l.definitionKeyword,l.modifier],color:"#C52727"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#606060"},{tag:l.self,color:"#000"}]}),oe({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:l.comment,color:"#0088FF"},{tag:l.string,color:"#3AD900"},{tag:l.regexp,color:"#80FFC2"},{tag:[l.number,l.bool,l.null],color:"#FF628C"},{tag:[l.definitionKeyword,l.modifier],color:"#FFEE80"},{tag:l.variableName,color:"#CCCCCC"},{tag:l.self,color:"#FF80E1"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.definition(l.typeName),l.labelName],color:"#FFDD00"},{tag:[l.keyword,l.operator],color:"#FF9D00"},{tag:[l.propertyName,l.typeName],color:"#80FFBB"},{tag:l.special(l.brace),color:"#EDEF7D"},{tag:l.attributeName,color:"#9EFFFF"},{tag:l.derefOperator,color:"#fff"}]}),oe({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:l.comment,color:"#AEAEAE"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#8DFF8E"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.function(l.definition(l.variableName)),l.definition(l.typeName)],color:"#A3EBFF"},{tag:[l.number,l.bool,l.null],color:"#62E9BD"},{tag:[l.keyword,l.operator],color:"#2BF1DC"},{tag:[l.definitionKeyword,l.modifier],color:"#F8FBB1"},{tag:[l.variableName,l.self],color:"#B683CA"},{tag:[l.angleBracket,l.tagName,l.typeName,l.propertyName],color:"#60A4F1"},{tag:l.derefOperator,color:"#E0E0E0"},{tag:l.attributeName,color:"#7BACCA"}]}),oe({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:l.comment,color:"#6272a4"},{tag:[l.string,l.special(l.brace)],color:"#f1fa8c"},{tag:[l.number,l.self,l.bool,l.null],color:"#bd93f9"},{tag:[l.keyword,l.operator],color:"#ff79c6"},{tag:[l.definitionKeyword,l.typeName],color:"#8be9fd"},{tag:l.definition(l.typeName),color:"#f8f8f2"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.attributeName],color:"#50fa7b"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:l.comment,color:"#AAAAAA"},{tag:[l.keyword,l.operator,l.typeName,l.tagName,l.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[l.attributeName,l.definition(l.propertyName)],color:"#4F9FD0"},{tag:[l.className,l.string,l.special(l.brace)],color:"#CF4F5F"},{tag:l.number,color:"#CF4F5F",fontWeight:"bold"},{tag:l.variableName,fontWeight:"bold"}]}),oe({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:l.comment,color:"#9995b7"},{tag:l.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#ff5792"},{tag:[l.className,l.tagName,l.definition(l.typeName)],color:"#0094f0"},{tag:[l.number,l.bool,l.null,l.special(l.brace)],color:"#5842ff"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#0095a8"},{tag:l.typeName,color:"#b3694d"},{tag:[l.propertyName,l.variableName],color:"#fa8900"},{tag:l.operator,color:"#ff5792"},{tag:l.self,color:"#e64100"},{tag:[l.string,l.regexp],color:"#00b368"},{tag:[l.paren,l.bracket],color:"#0431fa"},{tag:l.labelName,color:"#00bdd6"},{tag:l.attributeName,color:"#e64100"},{tag:l.angleBracket,color:"#9995b7"}]}),oe({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:l.comment,color:"#9893a5"},{tag:[l.bool,l.null],color:"#286983"},{tag:l.number,color:"#d7827e"},{tag:l.className,color:"#d7827e"},{tag:[l.angleBracket,l.tagName,l.typeName],color:"#56949f"},{tag:l.attributeName,color:"#907aa9"},{tag:l.punctuation,color:"#797593"},{tag:[l.keyword,l.modifier],color:"#286983"},{tag:[l.string,l.regexp],color:"#ea9d34"},{tag:l.variableName,color:"#d7827e"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:l.comment,color:"#CFCFCF"},{tag:[l.number,l.bool,l.null],color:"#E66C29"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.labelName,l.definition(l.typeName)],color:"#2EB43B"},{tag:l.keyword,color:"#D8B229"},{tag:l.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#925A47"},{tag:l.string,color:"#704D3D"},{tag:l.typeName,color:"#2F8996"},{tag:[l.variableName,l.propertyName],color:"#77ACB0"},{tag:l.self,color:"#77ACB0",fontWeight:"bold"},{tag:l.regexp,color:"#E3965E"},{tag:[l.tagName,l.angleBracket],color:"#BAA827"},{tag:l.attributeName,color:"#B06520"},{tag:l.derefOperator,color:"#000"}]}),oe({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:l.comment,color:"#93A1A1"},{tag:l.string,color:"#2AA198"},{tag:l.regexp,color:"#D30102"},{tag:l.number,color:"#D33682"},{tag:l.variableName,color:"#268BD2"},{tag:[l.keyword,l.operator,l.punctuation],color:"#859900"},{tag:[l.definitionKeyword,l.modifier],color:"#073642",fontWeight:"bold"},{tag:[l.className,l.self,l.definition(l.propertyName)],color:"#268BD2"},{tag:l.function(l.variableName),color:"#268BD2"},{tag:[l.bool,l.null],color:"#B58900"},{tag:l.tagName,color:"#268BD2",fontWeight:"bold"},{tag:l.angleBracket,color:"#93A1A1"},{tag:l.attributeName,color:"#93A1A1"},{tag:l.typeName,color:"#859900"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:l.comment,color:"#8E908C"},{tag:[l.variableName,l.self,l.propertyName,l.attributeName,l.regexp],color:"#C82829"},{tag:[l.number,l.bool,l.null],color:"#F5871F"},{tag:[l.className,l.typeName,l.definition(l.typeName)],color:"#C99E00"},{tag:[l.string,l.special(l.brace)],color:"#718C00"},{tag:l.operator,color:"#3E999F"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#4271AE"},{tag:l.keyword,color:"#8959A8"},{tag:l.derefOperator,color:"#4D4D4C"}]});const jc=[oe({variant:"dark",settings:{background:"var(--cm-background)",foreground:"#abb2bf",caret:"#528bff",selection:"#3E4451",lineHighlight:"#2c313c",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#abb2bf"},{tag:[l.string,l.special(l.brace)],color:"#98c379"},{tag:l.number,color:"#d19a66"},{tag:l.bool,color:"#d19a66"},{tag:l.null,color:"#d19a66"},{tag:l.keyword,color:"#c678dd",fontWeight:500},{tag:l.className,color:"#61afef"},{tag:l.definition(l.typeName),color:"#61afef"},{tag:l.typeName,color:"#56b6c2"},{tag:l.angleBracket,color:"#abb2bf"},{tag:l.tagName,color:"#e06c75"},{tag:l.attributeName,color:"#d19a66"},{tag:l.operator,color:"#56b6c2",fontWeight:500},{tag:[l.function(l.variableName)],color:"#61afef"},{tag:[l.propertyName],color:"#e5c07b"}]}),B.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],Pc=[oe({variant:"light",settings:{background:"#ffffff",foreground:"#000000",caret:"#000000",selection:"#d7d4f0",lineHighlight:"#cceeff44",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#000000"},{tag:[l.string,l.special(l.brace)],color:"#a11"},{tag:l.number,color:"#164"},{tag:l.bool,color:"#219"},{tag:l.null,color:"#219"},{tag:l.keyword,color:"#708",fontWeight:500},{tag:l.className,color:"#00f"},{tag:l.definition(l.typeName),color:"#00f"},{tag:l.typeName,color:"#085"},{tag:l.angleBracket,color:"#000000"},{tag:l.tagName,color:"#170"},{tag:l.attributeName,color:"#00c"},{tag:l.operator,color:"#a2f",fontWeight:500},{tag:[l.function(l.variableName)],color:"#00c"},{tag:[l.propertyName],color:"#05a"}]}),B.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function na(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Mc=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=na(e);return[Jd(n,r),Lc(),Oc(),us(),dd({completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),ud({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),Gc(e),Fc(),c!=null&&c.enabled?Lf():[],o&&d?[ts({prompt:p=>ls({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:yd(p.editorView)})}),Rn.of({hideOnBlur:!0})]:[],_d(t,u.reference_highlighting??!0)]};var Rc=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Gf(e)};const Gc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=na(e);return[B.lineWrapping,bf(),Ef(),kf(),xf(),gf(),Sf(),lf(),wf({position:"fixed",parent:document.querySelector("#App")??void 0}),Bd(),t==="dark"?jc:Pc,xd(a),pc(r),Cf(),Bc(),Jf(),fs(),ct.high(Je.of(Mf)),vf(),ff(),df.of(" "),ri(hf,{fallback:!0}),Je.of(cf),Dd({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),Ed.of(If()),Ir.allowMultipleSelections.of(!0),Sc(n),Je.of([{key:"Tab",run:c=>ai(c)||Rc(c)||_f(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>Gt(c.state)===null?!1:(Ln(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>Gt(c.state)===null?!1:(Ln(!1)(c),!0),preventDefault:!0}]),Je.of([...Uf,Tf])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(jm),rr=e=>{Pm(e),typeof Si=="function"&&Si(),Jc(Nt)};function Jc(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)rr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":Nt}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":Nt}))}rr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await dm(()=>import("./loro_wasm_bg-C4rb9m-K.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Nt});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Nt});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Nt});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);rr(n.exports??n)}var Wc=["Map","Text","List","Tree","MovableList","Counter"];function Vc(e){return e.startsWith("cid:")}function ra(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Wc.includes(e.kind())}var $c=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new xi(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Br.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Vc(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let u=e(a,c);if(u===c){let d=c.getShallowValue();return typeof d=="object"?o(d):d}if(ra(u))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof u=="object"&&u?o(u):u}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(ra(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let u=r(s,c);u!==void 0&&(i[s]=u)}return i};return o(n.getShallowValue())};var oa=Symbol("loro.callPendingEventsWrapped");function or(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[oa])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Ci()}):Ci()}};o[oa]=!0,Object.defineProperty(e,t,{...n,value:o})}function Hc(e,t){for(let n of t)or(e,n)}function ar(e){let t=new Set,n=e;for(;n&&n!==Object.prototype&&n!==Function.prototype;){for(let r of Object.getOwnPropertyNames(n))r==="constructor"||t.has(r)||(t.add(r),or(n,r));for(let r of Object.getOwnPropertySymbols(n))t.has(r)||(t.add(r),or(n,r));n=Object.getPrototypeOf(n)}}ar(Br.prototype),ar(Um.prototype),ar(xi.prototype),Hc(Bm.prototype,["undo","redo"]);const qc=B.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});In.define();const Dt=he.define(),ir=qe.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Dt))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var aa=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Dt));return e.docChanged||e.viewportChanged||t.length>0};const zc=()=>ti({above:!0,class:"loro-cursor-layer",update:aa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ir);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=yt.cursor(r.cursor.anchor);return Xc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Kc=()=>ti({above:!1,class:"loro-selection-layer",update:aa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ir);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=yt.range(r.cursor.anchor,r.cursor.head);return Nf.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Xc=class Rr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Rr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===yf.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Rr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},Yc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ia(e,t,s,r);c&&o.push(c)}return o},ia=(e,t,n,r)=>{var c,u;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Dt.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=Ti.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let d=Ti.decode(o.cursor.head);s=((u=e.getCursorPos(d))==null?void 0:u.offset)??0}return Dt.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Qc=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let u of this.awareness.peers()){let d=ia(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Dt.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=eu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Zc=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:Yc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},eu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const gn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],tu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return gn[Math.abs(t)%gn.length]}return gn[e%gn.length]},nu=(e,t,n)=>ze.define(r=>new ru(r,e,t,n)),gt=In.define();var ru=class{constructor(e,t,n,r){h(this,"isInitDispatch",!1);h(this,"onRemoteUpdate",e=>{if(e.by!=="local"){if(e.by==="checkout"){this.view.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:this.getTextFromDoc(this.doc).toString()}],annotations:[gt.of(this)]});return}if(e.by==="import"){let t=[],n=0;for(let{diff:r,path:o}of e.events){if(o.join("/")!==this.docPath.join("/")||r.type!=="text")continue;let a=r.diff;for(let i of a)i.insert?t.push({from:n,to:n,insert:i.insert}):i.delete?(t.push({from:n,to:n+i.delete}),n+=i.delete):i.retain!=null&&(n+=i.retain);t.length>0&&this.view.dispatch({changes:t,annotations:[gt.of(this)]})}}}});this.view=e,this.doc=t,this.docPath=n,this.getTextFromDoc=r,this.sub=t.subscribe(this.onRemoteUpdate),Promise.resolve().then(()=>{this.isInitDispatch=!0;let o=this.view.state.doc.toString(),a=this.getTextFromDoc(this.doc);o!==a.toString()&&e.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:a.toString()}]})})}update(e){if(this.isInitDispatch){this.isInitDispatch=!1;return}if(!e.docChanged||e.transactions.length>0&&(e.transactions[0].annotation(gt)===this||e.transactions[0].annotation(gt)==="undo"))return;let t=0;e.changes.iterChanges((n,r,o,a,i)=>{let s=i.sliceString(0,i.length,`
|
|
18
|
+
`).trim()}function Uc(e,t,n,r){var o;return r!=="{"||t!==n||!((o=ni(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function Bc(){return B.inputHandler.of(Uc)}var oe=({variant:e,settings:t,styles:n})=>[B.theme({"&":{backgroundColor:t.background,color:t.foreground},".cm-content":{caretColor:t.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:t.selection},".cm-activeLine":{backgroundColor:t.lineHighlight},".cm-gutters":{backgroundColor:t.gutterBackground,color:t.gutterForeground},".cm-activeLineGutter":{backgroundColor:t.lineHighlight}},{dark:e==="dark"}),ri(pf.define(n))];oe({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:l.comment,color:"#404080"},{tag:[l.string,l.regexp],color:"#999999"},{tag:l.number,color:"#7090B0"},{tag:[l.bool,l.null],color:"#8080A0"},{tag:[l.punctuation,l.derefOperator],color:"#805080"},{tag:l.keyword,color:"#60B0FF"},{tag:l.definitionKeyword,color:"#B0FFF0"},{tag:l.moduleKeyword,color:"#60B0FF"},{tag:l.operator,color:"#A0A0FF"},{tag:[l.variableName,l.self],color:"#008080"},{tag:l.operatorKeyword,color:"#A0A0FF"},{tag:l.controlKeyword,color:"#80A0FF"},{tag:l.className,color:"#70E080"},{tag:[l.function(l.propertyName),l.propertyName],color:"#50A0A0"},{tag:l.tagName,color:"#009090"},{tag:l.modifier,color:"#B0FFF0"},{tag:[l.squareBracket,l.attributeName],color:"#D0D0FF"}]}),oe({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:l.comment,color:"#787b8099"},{tag:l.string,color:"#86b300"},{tag:l.regexp,color:"#4cbf99"},{tag:[l.number,l.bool,l.null],color:"#ffaa33"},{tag:l.variableName,color:"#5c6166"},{tag:[l.definitionKeyword,l.modifier],color:"#fa8d3e"},{tag:[l.keyword,l.special(l.brace)],color:"#fa8d3e"},{tag:l.operator,color:"#ed9366"},{tag:l.separator,color:"#5c6166b3"},{tag:l.punctuation,color:"#5c6166"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#f2ae49"},{tag:[l.className,l.definition(l.typeName)],color:"#22a4e6"},{tag:[l.tagName,l.typeName,l.self,l.labelName],color:"#55b4d4"},{tag:l.angleBracket,color:"#55b4d480"},{tag:l.attributeName,color:"#f2ae49"}]}),oe({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:l.comment,color:"#6E6E6E"},{tag:[l.string,l.regexp,l.special(l.brace)],color:"#5C81B3"},{tag:l.number,color:"#C1E1B8"},{tag:l.bool,color:"#53667D"},{tag:[l.definitionKeyword,l.modifier,l.function(l.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[l.keyword,l.moduleKeyword,l.operatorKeyword,l.operator],color:"#697A8E",fontWeight:"bold"},{tag:[l.variableName,l.attributeName],color:"#708E67"},{tag:[l.function(l.variableName),l.definition(l.propertyName),l.derefOperator],color:"#fff"},{tag:l.tagName,color:"#A3D295"}]}),oe({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:l.comment,color:"#666666"},{tag:[l.string,l.special(l.brace)],color:"#54BE0D"},{tag:l.regexp,color:"#E9C062"},{tag:l.number,color:"#CF6A4C"},{tag:[l.keyword,l.operator],color:"#5EA6EA"},{tag:l.variableName,color:"#7587A6"},{tag:[l.definitionKeyword,l.modifier],color:"#F9EE98"},{tag:[l.propertyName,l.function(l.variableName)],color:"#937121"},{tag:[l.typeName,l.angleBracket,l.tagName],color:"#9B859D"}]}),oe({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:l.comment,color:"#6B4E32"},{tag:[l.keyword,l.operator,l.derefOperator],color:"#EF5D32"},{tag:l.className,color:"#EFAC32",fontWeight:"bold"},{tag:[l.typeName,l.propertyName,l.function(l.variableName),l.definition(l.variableName)],color:"#EFAC32"},{tag:l.definition(l.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:l.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[l.number,l.bool],color:"#6C99BB"},{tag:[l.variableName,l.self],color:"#7DAF9C"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#D9D762"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#EFCB43"}]}),oe({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:l.comment,color:"#404040"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#00D8FF"},{tag:l.number,color:"#E62286"},{tag:[l.variableName,l.attributeName,l.self],color:"#E62286",fontWeight:"bold"},{tag:l.function(l.variableName),color:"#fff",fontWeight:"bold"}]}),oe({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:l.comment,color:"#BCC8BA"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#5D90CD"},{tag:[l.number,l.bool,l.null],color:"#46A609"},{tag:l.keyword,color:"#AF956F"},{tag:[l.definitionKeyword,l.modifier],color:"#C52727"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#606060"},{tag:l.self,color:"#000"}]}),oe({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:l.comment,color:"#0088FF"},{tag:l.string,color:"#3AD900"},{tag:l.regexp,color:"#80FFC2"},{tag:[l.number,l.bool,l.null],color:"#FF628C"},{tag:[l.definitionKeyword,l.modifier],color:"#FFEE80"},{tag:l.variableName,color:"#CCCCCC"},{tag:l.self,color:"#FF80E1"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.definition(l.typeName),l.labelName],color:"#FFDD00"},{tag:[l.keyword,l.operator],color:"#FF9D00"},{tag:[l.propertyName,l.typeName],color:"#80FFBB"},{tag:l.special(l.brace),color:"#EDEF7D"},{tag:l.attributeName,color:"#9EFFFF"},{tag:l.derefOperator,color:"#fff"}]}),oe({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:l.comment,color:"#AEAEAE"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#8DFF8E"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.function(l.definition(l.variableName)),l.definition(l.typeName)],color:"#A3EBFF"},{tag:[l.number,l.bool,l.null],color:"#62E9BD"},{tag:[l.keyword,l.operator],color:"#2BF1DC"},{tag:[l.definitionKeyword,l.modifier],color:"#F8FBB1"},{tag:[l.variableName,l.self],color:"#B683CA"},{tag:[l.angleBracket,l.tagName,l.typeName,l.propertyName],color:"#60A4F1"},{tag:l.derefOperator,color:"#E0E0E0"},{tag:l.attributeName,color:"#7BACCA"}]}),oe({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:l.comment,color:"#6272a4"},{tag:[l.string,l.special(l.brace)],color:"#f1fa8c"},{tag:[l.number,l.self,l.bool,l.null],color:"#bd93f9"},{tag:[l.keyword,l.operator],color:"#ff79c6"},{tag:[l.definitionKeyword,l.typeName],color:"#8be9fd"},{tag:l.definition(l.typeName),color:"#f8f8f2"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.attributeName],color:"#50fa7b"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:l.comment,color:"#AAAAAA"},{tag:[l.keyword,l.operator,l.typeName,l.tagName,l.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[l.attributeName,l.definition(l.propertyName)],color:"#4F9FD0"},{tag:[l.className,l.string,l.special(l.brace)],color:"#CF4F5F"},{tag:l.number,color:"#CF4F5F",fontWeight:"bold"},{tag:l.variableName,fontWeight:"bold"}]}),oe({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:l.comment,color:"#9995b7"},{tag:l.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#ff5792"},{tag:[l.className,l.tagName,l.definition(l.typeName)],color:"#0094f0"},{tag:[l.number,l.bool,l.null,l.special(l.brace)],color:"#5842ff"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#0095a8"},{tag:l.typeName,color:"#b3694d"},{tag:[l.propertyName,l.variableName],color:"#fa8900"},{tag:l.operator,color:"#ff5792"},{tag:l.self,color:"#e64100"},{tag:[l.string,l.regexp],color:"#00b368"},{tag:[l.paren,l.bracket],color:"#0431fa"},{tag:l.labelName,color:"#00bdd6"},{tag:l.attributeName,color:"#e64100"},{tag:l.angleBracket,color:"#9995b7"}]}),oe({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:l.comment,color:"#9893a5"},{tag:[l.bool,l.null],color:"#286983"},{tag:l.number,color:"#d7827e"},{tag:l.className,color:"#d7827e"},{tag:[l.angleBracket,l.tagName,l.typeName],color:"#56949f"},{tag:l.attributeName,color:"#907aa9"},{tag:l.punctuation,color:"#797593"},{tag:[l.keyword,l.modifier],color:"#286983"},{tag:[l.string,l.regexp],color:"#ea9d34"},{tag:l.variableName,color:"#d7827e"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:l.comment,color:"#CFCFCF"},{tag:[l.number,l.bool,l.null],color:"#E66C29"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.labelName,l.definition(l.typeName)],color:"#2EB43B"},{tag:l.keyword,color:"#D8B229"},{tag:l.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#925A47"},{tag:l.string,color:"#704D3D"},{tag:l.typeName,color:"#2F8996"},{tag:[l.variableName,l.propertyName],color:"#77ACB0"},{tag:l.self,color:"#77ACB0",fontWeight:"bold"},{tag:l.regexp,color:"#E3965E"},{tag:[l.tagName,l.angleBracket],color:"#BAA827"},{tag:l.attributeName,color:"#B06520"},{tag:l.derefOperator,color:"#000"}]}),oe({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:l.comment,color:"#93A1A1"},{tag:l.string,color:"#2AA198"},{tag:l.regexp,color:"#D30102"},{tag:l.number,color:"#D33682"},{tag:l.variableName,color:"#268BD2"},{tag:[l.keyword,l.operator,l.punctuation],color:"#859900"},{tag:[l.definitionKeyword,l.modifier],color:"#073642",fontWeight:"bold"},{tag:[l.className,l.self,l.definition(l.propertyName)],color:"#268BD2"},{tag:l.function(l.variableName),color:"#268BD2"},{tag:[l.bool,l.null],color:"#B58900"},{tag:l.tagName,color:"#268BD2",fontWeight:"bold"},{tag:l.angleBracket,color:"#93A1A1"},{tag:l.attributeName,color:"#93A1A1"},{tag:l.typeName,color:"#859900"}]}),oe({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:l.comment,color:"#8E908C"},{tag:[l.variableName,l.self,l.propertyName,l.attributeName,l.regexp],color:"#C82829"},{tag:[l.number,l.bool,l.null],color:"#F5871F"},{tag:[l.className,l.typeName,l.definition(l.typeName)],color:"#C99E00"},{tag:[l.string,l.special(l.brace)],color:"#718C00"},{tag:l.operator,color:"#3E999F"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#4271AE"},{tag:l.keyword,color:"#8959A8"},{tag:l.derefOperator,color:"#4D4D4C"}]});const jc=[oe({variant:"dark",settings:{background:"var(--cm-background)",foreground:"#abb2bf",caret:"#528bff",selection:"#3E4451",lineHighlight:"#2c313c",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#abb2bf"},{tag:[l.string,l.special(l.brace)],color:"#98c379"},{tag:l.number,color:"#d19a66"},{tag:l.bool,color:"#d19a66"},{tag:l.null,color:"#d19a66"},{tag:l.keyword,color:"#c678dd",fontWeight:500},{tag:l.className,color:"#61afef"},{tag:l.definition(l.typeName),color:"#61afef"},{tag:l.typeName,color:"#56b6c2"},{tag:l.angleBracket,color:"#abb2bf"},{tag:l.tagName,color:"#e06c75"},{tag:l.attributeName,color:"#d19a66"},{tag:l.operator,color:"#56b6c2",fontWeight:500},{tag:[l.function(l.variableName)],color:"#61afef"},{tag:[l.propertyName],color:"#e5c07b"}]}),B.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],Pc=[oe({variant:"light",settings:{background:"#ffffff",foreground:"#000000",caret:"#000000",selection:"#d7d4f0",lineHighlight:"#cceeff44",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#000000"},{tag:[l.string,l.special(l.brace)],color:"#a11"},{tag:l.number,color:"#164"},{tag:l.bool,color:"#219"},{tag:l.null,color:"#219"},{tag:l.keyword,color:"#708",fontWeight:500},{tag:l.className,color:"#00f"},{tag:l.definition(l.typeName),color:"#00f"},{tag:l.typeName,color:"#085"},{tag:l.angleBracket,color:"#000000"},{tag:l.tagName,color:"#170"},{tag:l.attributeName,color:"#00c"},{tag:l.operator,color:"#a2f",fontWeight:500},{tag:[l.function(l.variableName)],color:"#00c"},{tag:[l.propertyName],color:"#05a"}]}),B.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function na(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Mc=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=na(e);return[Jd(n,r),Lc(),Oc(),us(),dd({cellId:t,completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),ud({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),Gc(e),Fc(),c!=null&&c.enabled?Lf():[],o&&d?[ts({prompt:p=>ls({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:yd(p.editorView)})}),Rn.of({hideOnBlur:!0})]:[],_d(t,u.reference_highlighting??!0)]};var Rc=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Gf(e)};const Gc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=na(e);return[B.lineWrapping,bf(),Ef(),kf(),xf(),gf(),Sf(),lf(),wf({position:"fixed",parent:document.querySelector("#App")??void 0}),Bd(),t==="dark"?jc:Pc,xd(a),pc(r),Cf(),Bc(),Jf(),fs(),ct.high(Je.of(Mf)),vf(),ff(),df.of(" "),ri(hf,{fallback:!0}),Je.of(cf),Dd({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),Ed.of(If()),Ir.allowMultipleSelections.of(!0),Sc(n),Je.of([{key:"Tab",run:c=>ai(c)||Rc(c)||_f(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>Gt(c.state)===null?!1:(Ln(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>Gt(c.state)===null?!1:(Ln(!1)(c),!0),preventDefault:!0}]),Je.of([...Uf,Tf])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(jm),rr=e=>{Pm(e),typeof Si=="function"&&Si(),Jc(Nt)};function Jc(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)rr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":Nt}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":Nt}))}rr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await dm(()=>import("./loro_wasm_bg-C4rb9m-K.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Nt});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Nt});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Nt});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);rr(n.exports??n)}var Wc=["Map","Text","List","Tree","MovableList","Counter"];function Vc(e){return e.startsWith("cid:")}function ra(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Wc.includes(e.kind())}var $c=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new xi(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Br.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Vc(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let u=e(a,c);if(u===c){let d=c.getShallowValue();return typeof d=="object"?o(d):d}if(ra(u))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof u=="object"&&u?o(u):u}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(ra(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let u=r(s,c);u!==void 0&&(i[s]=u)}return i};return o(n.getShallowValue())};var oa=Symbol("loro.callPendingEventsWrapped");function or(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[oa])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Ci()}):Ci()}};o[oa]=!0,Object.defineProperty(e,t,{...n,value:o})}function Hc(e,t){for(let n of t)or(e,n)}function ar(e){let t=new Set,n=e;for(;n&&n!==Object.prototype&&n!==Function.prototype;){for(let r of Object.getOwnPropertyNames(n))r==="constructor"||t.has(r)||(t.add(r),or(n,r));for(let r of Object.getOwnPropertySymbols(n))t.has(r)||(t.add(r),or(n,r));n=Object.getPrototypeOf(n)}}ar(Br.prototype),ar(Um.prototype),ar(xi.prototype),Hc(Bm.prototype,["undo","redo"]);const qc=B.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});In.define();const Dt=he.define(),ir=qe.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Dt))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var aa=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Dt));return e.docChanged||e.viewportChanged||t.length>0};const zc=()=>ti({above:!0,class:"loro-cursor-layer",update:aa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ir);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=yt.cursor(r.cursor.anchor);return Xc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Kc=()=>ti({above:!1,class:"loro-selection-layer",update:aa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ir);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=yt.range(r.cursor.anchor,r.cursor.head);return Nf.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Xc=class Rr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Rr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===yf.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Rr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},Yc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ia(e,t,s,r);c&&o.push(c)}return o},ia=(e,t,n,r)=>{var c,u;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Dt.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=Ti.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let d=Ti.decode(o.cursor.head);s=((u=e.getCursorPos(d))==null?void 0:u.offset)??0}return Dt.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Qc=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let u of this.awareness.peers()){let d=ia(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Dt.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=eu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Zc=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:Yc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},eu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const gn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],tu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return gn[Math.abs(t)%gn.length]}return gn[e%gn.length]},nu=(e,t,n)=>ze.define(r=>new ru(r,e,t,n)),gt=In.define();var ru=class{constructor(e,t,n,r){h(this,"isInitDispatch",!1);h(this,"onRemoteUpdate",e=>{if(e.by!=="local"){if(e.by==="checkout"){this.view.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:this.getTextFromDoc(this.doc).toString()}],annotations:[gt.of(this)]});return}if(e.by==="import"){let t=[],n=0;for(let{diff:r,path:o}of e.events){if(o.join("/")!==this.docPath.join("/")||r.type!=="text")continue;let a=r.diff;for(let i of a)i.insert?t.push({from:n,to:n,insert:i.insert}):i.delete?(t.push({from:n,to:n+i.delete}),n+=i.delete):i.retain!=null&&(n+=i.retain);t.length>0&&this.view.dispatch({changes:t,annotations:[gt.of(this)]})}}}});this.view=e,this.doc=t,this.docPath=n,this.getTextFromDoc=r,this.sub=t.subscribe(this.onRemoteUpdate),Promise.resolve().then(()=>{this.isInitDispatch=!0;let o=this.view.state.doc.toString(),a=this.getTextFromDoc(this.doc);o!==a.toString()&&e.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:a.toString()}]})})}update(e){if(this.isInitDispatch){this.isInitDispatch=!1;return}if(!e.docChanged||e.transactions.length>0&&(e.transactions[0].annotation(gt)===this||e.transactions[0].annotation(gt)==="undo"))return;let t=0;e.changes.iterChanges((n,r,o,a,i)=>{let s=i.sliceString(0,i.length,`
|
|
19
19
|
`);n!==r&&this.getTextFromDoc(this.doc).delete(n+t,r-n),s.length>0&&this.getTextFromDoc(this.doc).insert(n+t,s),t+=s.length-(r-n)}),this.doc.commit()}destroy(){var e;(e=this.sub)==null||e.call(this),this.sub=void 0}},fe=$e.get("rtc"),sa=fe.get("awareness").disabled(),sr="awareness:";function ou(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function au(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function iu(e,t){return e.slice(t.length)}ut=Ut(void 0);var ae=new Br,bn=new $c(ae.peerIdStr),lr=Pf(()=>{fe.debug("creating websocket");let e=new Rm(Za().getWsSyncURL(ef()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Qa(),hm()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(au(r,sr)){let o=iu(r,sr);bn.apply(o),sa.debug("applied awareness update");return}ae.import(r),fe.debug("imported doc change. new doc:",ae.toJSON()),Q.get(ut)!==ae&&Q.set(ut,ae)}),e.addEventListener("open",()=>{fe.debug("websocket open")}),e.addEventListener("close",t=>{fe.warn("websocket close",t),Q.get(ut)===ae&&Q.set(ut,void 0)}),e});Nr()&&lr(),ae.subscribeLocalUpdates(e=>{fe.debug("local update, sending to server"),lr().send(e)}),bn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(sa.debug("awareness changes",n),lr().send(ou(sr,bn.encode(n))))});function cr(e,t,n=""){if(Qd())return{extension:[],code:n};let r=ae.getByPath(`codes/${e}`)!==void 0,o=ae.getMap("codes").getOrCreateContainer(e,new Ur);return r||(fe.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[su(e),lu(e),cu(ae,bn,{get name(){return Q.get(ld)||"Anonymous"},get colorClassName(){return tu(this.name)}},()=>o,e),nu(ae,["codes",e],()=>o)]}}function su(e){let t=(r,o)=>{let a=r.state.field(Sn).type,i=o.toString();i&&i!==a&&(fe.debug(`[incoming] setting language type: ${a} -> ${i}`),Bt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Er),i=o.toJSON();Nn(a,i)||r.dispatch({effects:[Ma.of(i)],annotations:[gt.of(!0)]})};return ze.define(r=>{let o;return Promise.resolve().then(()=>{let a=ae.getByPath(`languages/${e}`);if(!a){fe.error("no language container found for cell",e);return}jt(a instanceof Ur,"language type is not a LoroText");let i=ae.getByPath(`language_metadata/${e}`);if(!i){fe.error("no language metadata container found for cell",e);return}jt(i instanceof Ai,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=ae.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(d=>d.target===a.id),u=s.events.some(d=>d.target===i.id);c&&t(r,a),u&&n(r,i)})}),{destroy(){o()}}})}function lu(e){let t=ae.getMap("languages").getOrCreateContainer(e,new Ur),n=ae.getMap("language_metadata").getOrCreateContainer(e,new Ai);return B.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=Sr(r.state).type;Bt(r.view,{language:i}),fe.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),fe.debug("no initial language metadata, setting default to",r.state.field(Er));let s=r.state.field(Er);for(let c of Object.keys(s))n.set(c,s[c]);ae.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(gt)){for(let s of i.effects)if(s.is(Ud)&&t.toString()!==s.value.type&&(fe.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(Ma)||s.is(Pa)){let c=s.value;s.is(Pa)?(fe.debug("[outgoing] setting language metadata: ",c),n.clear()):fe.debug("[outgoing] updating language metadata: ",c);for(let u of Object.keys(c))n.set(u,c[u]);a=!0}}a&&ae.commit()})}function cu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ir,zc(),Kc(),ze.define(s=>new Qc(s,e,n,t,r,i,a)),ze.define(s=>new Zc(s,e,t,i)),qc]}var uu=Ge();Pr=e=>{let t=(0,uu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,u=o===void 0?null:o,d=a===void 0?!1:a,{sendListFiles:f}=On(),[p,m]=(0,I.useState)(u),g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=[],t[0]=g):g=t[0];let[y,w]=(0,I.useState)(g),[k,C]=(0,I.useState)(!1),A=(0,I.useRef)(null),L=(0,I.useRef)(!1),U,T;t[1]===u?(U=t[2],T=t[3]):(U=()=>{m(u)},T=[u],t[1]=u,t[2]=U,t[3]=T),(0,I.useEffect)(U,T);let x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{C(!0)},t[4]=x):x=t[4];let G=x,ee;t[5]!==u||t[6]!==c?(ee=le=>{var ne;(ne=le.relatedTarget)!=null&&ne.closest(".filename-input")||(C(!1),c&&m(u))},t[5]=u,t[6]=c,t[7]=ee):ee=t[7];let $=ee,F;t[8]===p?F=t[9]:(F=Qe.dirname(p||""),t[8]=p,t[9]=F);let j=F,ie=Qe.basename(p||""),_=y.filter(le=>Qe.basename(le.path).startsWith(ie)),P;t[10]!==j||t[11]!==k||t[12]!==f?(P=async()=>{if(!k){w([]);return}w((await f({path:j})).files)},t[10]=j,t[11]=k,t[12]=f,t[13]=P):P=t[13];let me;t[14]!==j||t[15]!==k?(me=[j,k],t[14]=j,t[15]=k,t[16]=me):me=t[16];let{isPending:K}=xm(P,me),E=du(p,y,u),S=(E||_.length>0)&&(0,b.jsxs)(wi,{className:"font-mono",children:[!K&&(0,b.jsx)(Am,{children:"No files"}),E&&(0,b.jsxs)(yi,{variant:"success",className:"py-2 px-3",onSelect:()=>{var le;E&&(L.current=!0,i(E),(le=A.current)==null||le.blur())},children:[(0,b.jsx)(re,{className:"w-4 h-4 mr-2"})," ",(0,b.jsxs)("span",{className:"text-sm",children:[u?"Rename to: ":"Save as: ",(0,b.jsx)("span",{className:"font-medium text-sm",children:Qe.basename(E)})]})]},"_rename_"),_.map(le=>{let ne=sm[le.isDirectory?"directory":im(le.path)];return(0,b.jsxs)(yi,{variant:le.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{le.isDirectory?m(`${le.path}/`):m(le.path)},children:[(0,b.jsx)(ne,{className:"w-4 h-4 mr-2"})," ",Qe.basename(le.path)]},le.path)})]}),R=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,D=k?p||"":u||"",te;t[17]!==d||t[18]!==R?(te=d?{maxWidth:R}:void 0,t[17]=d,t[18]=R,t[19]=te):te=t[19];let Re;t[20]===s?Re=t[21]:(Re=lt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=Re);let Pe;t[22]!==r||t[23]!==D||t[24]!==te||t[25]!==Re?(Pe=(0,b.jsx)(bm,{children:(0,b.jsx)(Tm,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:D,onKeyDown:fu,icon:null,ref:A,onValueChange:m,placeholder:r,autoComplete:"off",style:te,className:Re})}),t[22]=r,t[23]=D,t[24]=te,t[25]=Re,t[26]=Pe):Pe=t[26];let Ve=S&&"group-focus-within:block",Me;t[27]===Ve?Me=t[28]:(Me=lt("p-0 w-full min-w-80 max-w-80vw hidden",Ve),t[27]=Ve,t[28]=Me);let O;t[29]!==S||t[30]!==Me?(O=(0,b.jsx)(ym,{side:"bottom",className:Me,portal:!1,children:S}),t[29]=S,t[30]=Me,t[31]=O):O=t[31];let W;t[32]!==Pe||t[33]!==O?(W=(0,b.jsxs)(wi,{children:[Pe,O]}),t[32]=Pe,t[33]=O,t[34]=W):W=t[34];let V;t[35]!==$||t[36]!==W?(V=(0,b.jsx)(Im,{onFocus:G,onBlur:$,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:W}),t[35]=$,t[36]=W,t[37]=V):V=t[37];let se;return t[38]!==k||t[39]!==V?(se=(0,b.jsx)(of,{children:(0,b.jsx)(wm,{open:k,modal:!1,children:V})}),t[38]=k,t[39]=V,t[40]=se):se=t[40],se};function du(e,t,n){if(e&&!e.endsWith("/")&&((Td("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Qe.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Qe.basename(r.path)===e)&&!(n&&(n===e||Qe.basename(n)===e))))return e}function fu(e){e.key==="Escape"&&e.currentTarget.blur()}var la=Ge(),mu=e=>{let t=(0,la.c)(33),n=()=>{om(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=ue(gu),o;t[0]!==n||t[1]!==e?(o=U=>{U.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=U=>{U.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,b.jsx)(hi,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,u;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("p",{children:"This app has unsaved changes. To recover:"}),u={paddingBottom:"10px"},t[7]=c,t[8]=u):(c=t[7],u=t[8]);let d;t[9]===e.proposedName?d=t[10]:(d=(0,b.jsxs)("li",{style:u,children:['Click the "Download" button. This will download a file called\xA0',(0,b.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=d);let f;t[11]===Symbol.for("react.memo_cache_sentinel")?(f={paddingBottom:"10px"},t[11]=f):f=t[11];let p;t[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},t[12]=p):p=t[12];let m;t[13]===e.proposedName?m=t[14]:(m=(0,b.jsxs)("code",{style:p,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=m);let g;t[15]===e.proposedName?g=t[16]:(g=(0,b.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=g);let y;t[17]!==g||t[18]!==m?(y=(0,b.jsxs)("li",{style:f,children:["In your terminal, type",m,"to overwrite ",g," with the recovered changes."]}),t[17]=g,t[18]=m,t[19]=y):y=t[19];let w;t[20]!==y||t[21]!==d?(w=(0,b.jsx)(pm,{className:"markdown break-words",style:s,children:(0,b.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,b.jsxs)("ol",{children:[d,y]})]})}),t[20]=y,t[21]=d,t[22]=w):w=t[22];let k;t[23]===e.closeModal?k=t[24]:(k=(0,b.jsx)(He,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=k);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,b.jsx)(He,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let A;t[26]===k?A=t[27]:(A=(0,b.jsxs)(pi,{children:[k,C]}),t[26]=k,t[27]=A);let L;return t[28]!==o||t[29]!==a||t[30]!==w||t[31]!==A?(L=(0,b.jsx)(gi,{className:"w-fit",children:(0,b.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,w,A]})}),t[28]=o,t[29]=a,t[30]=w,t[31]=A,t[32]=L):L=t[32],L};const hu=e=>{let t=(0,la.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=bi(),i;t[0]===n?i=t[1]:(i=n===null?"app":Qe.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,b.jsx)(mu,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let u=c;ei("global.save",u);let d;t[7]===Symbol.for("react.memo_cache_sentinel")?(d=vi("global.save"),t[7]=d):d=t[7];let f=r?"yellow":"gray",p;t[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,b.jsx)(di,{strokeWidth:1.5,size:18}),t[8]=p):p=t[8];let m;return t[9]!==u||t[10]!==f?(m=(0,b.jsx)(vt,{content:d,children:(0,b.jsx)(ki,{onClick:u,id:"save-button","aria-label":"Save",className:"rectangle",color:f,children:p})}),t[9]=u,t[10]=f,t[11]=m):m=t[11],m};function pu(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function gu(){let e=vr(kr()),t={version:"1",metadata:{marimo_version:rf()},cells:e.map(pu)};return JSON.stringify(t,null,2)}let ur;Un=Ut(void 0),ur=Ut(e=>{let t=e(Un);return bu({state:e(nt),layout:e(ii),lastSavedNotebook:t})});function bu({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(u=>o[u]),i=a.map(u=>u.code),s=a.map(u=>u.config),c=a.map(u=>u.name);return!oi(i,n.codes)||!oi(c,n.names)||!Nn(s,n.configs)||!Nn(t.selectedLayout,n.layout.selectedLayout)||!Nn(t.layoutData,n.layout.layoutData)}var yu=Ge();function wu(e){let t=(0,yu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:u}=e,d=(0,I.useRef)(null),f;t[0]===n?f=t[1]:(f=n.join(":"),t[0]=n,t[1]=f);let p=f,m;t[2]===r?m=t[3]:(m=r.map(vu).join(":"),t[2]=r,t[3]=m);let g=m,y;t[4]===i?y=t[5]:(y=i.join(":"),t[4]=i,t[5]=y);let w=y,k;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==u?(k=()=>{if(!c)return o.autosave==="after_delay"&&(d.current!==null&&clearTimeout(d.current),s&&a.state===Pt.OPEN&&(d.current=setTimeout(u,o.autosave_delay))),()=>{d.current!==null&&clearTimeout(d.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=u,t[11]=k):k=t[11];let C;t[12]!==g||t[13]!==w||t[14]!==p||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==u?(C=[p,g,w,o,a.state,u,c,s],t[12]=g,t[13]=w,t[14]=p,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=u,t[20]=C):C=t[20],(0,I.useEffect)(k,C)}function vu(e){return JSON.stringify(e)}var yn=Ge();Ii=e=>{let t=(0,yn.c)(15),{kioskMode:n}=e,r=Cm(),o=ce(ur),a=ce(bt).state===Pt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Vt(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Cu(c),Gm();let u;t[3]===o?u=t[4]:(u=w=>{if(o)return w.preventDefault(),w.returnValue="You have unsaved changes. Are you sure you want to leave?",w.returnValue},t[3]=o,t[4]=u),af(window,"beforeunload",u);let d;t[5]===i?d=t[6]:(d=w=>{w.preventDefault(),w.stopPropagation(),i()},t[5]=i,t[6]=d);let f=d;if(ei("global.save",i),a){let w;return t[7]!==r||t[8]!==o?(w=(0,b.jsx)(hu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=w):w=t[9],w}let p;t[10]===Symbol.for("react.memo_cache_sentinel")?(p=vi("global.save"),t[10]=p):p=t[10];let m=o?"yellow":"hint-green",g;t[11]===Symbol.for("react.memo_cache_sentinel")?(g=(0,b.jsx)(di,{strokeWidth:1.5,size:18}),t[11]=g):g=t[11];let y;return t[12]!==f||t[13]!==m?(y=(0,b.jsx)(vt,{content:p,children:(0,b.jsx)(ki,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:m,onClick:f,children:g})}),t[12]=f,t[13]=m,t[14]=y):y=t[14],y},Vt=function(){let e=(0,yn.c)(21),{sendSave:t}=On(),{openModal:n,closeModal:r,openAlert:o}=bi(),a=_a(Un),i=Sm(),s=yr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(k,C)=>{let A=s.get(bt),L=s.get(Ya);if(s.get(mm))return;if(A.state!==Pt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",k),C&&L.format_on_save&&($e.log("formatting notebook (onSave)"),await vd());let U=kr(),T=vr(U),x=T.map(ku),G=T.map(Nu),ee=T.map(Eu),$=Va(U),F=s.get(ii);G.length!==0&&(await t({cellIds:x,codes:G,names:ee,filename:k,configs:$,layout:qf(),persist:!0}),a({names:ee,codes:G,configs:$,layout:F}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let u=ue(c),d;e[5]!==u||e[6]!==s?(d=k=>{let C=k===void 0?!1:k,A=s.get(ja),L=s.get(bt);ca(A)&&L.state===Pt.OPEN&&u(A,C)},e[5]=u,e[6]=s,e[7]=d):d=e[7];let f=ue(d),p;e[8]!==u||e[9]!==i?(p=k=>{i(k).then(C=>{C!==null&&u(C,!0)})},e[8]=u,e[9]=i,e[10]=p):p=e[10];let m=p,g;e[11]!==r||e[12]!==m||e[13]!==n||e[14]!==f||e[15]!==s?(g=()=>{let k=s.get(ja),C=s.get(bt);f(!0),!ca(k)&&C.state!==Pt.CLOSED&&n((0,b.jsx)(Tu,{onClose:r,onSave:m}))},e[11]=r,e[12]=m,e[13]=n,e[14]=f,e[15]=s,e[16]=g):g=e[16];let y=ue(g),w;return e[17]!==f||e[18]!==u||e[19]!==y?(w={saveOrNameNotebook:y,saveIfNotebookIsPersistent:f,saveNotebook:u},e[17]=f,e[18]=u,e[19]=y,e[20]=w):w=e[20],w};function Eu(e){return e.name}function Nu(e){return e.code}function ku(e){return e.id}function ca(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Cu(e){let t=(0,yn.c)(14),n=ce(Ya),r=gd(),[o]=En(bt),a=ce(ur),i,s;if(t[0]!==r){let p=vr(r);i=p.map(xu),s=p.map(Su),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,u;t[3]===r?u=t[4]:(u=Va(r),t[3]=r,t[4]=u);let d=u,f;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==d||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(f={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:d,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=d,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=f):f=t[13],wu(f)}function Su(e){return e.name}function xu(e){return e.code}var Tu=e=>{let t=(0,yn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,I.useState)(),i;t[0]!==n||t[1]!==r?(i=w=>{a(w),w.trim()&&(r(w),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)(hi,{children:"Save notebook"}),t[3]=c):c=t[3];let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,b.jsx)(Dr,{className:"text-md pt-6 px-1",children:"Save as"}),t[4]=u):u=t[4];let d;t[5]===s?d=t[6]:(d=(0,b.jsxs)("div",{className:"flex flex-col",children:[u,(0,b.jsx)(Pr,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=d);let f;t[7]===n?f=t[8]:(f=(0,b.jsx)(He,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=f);let p=!o,m;t[9]===p?m=t[10]:(m=(0,b.jsx)(He,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),t[9]=p,t[10]=m);let g;t[11]!==f||t[12]!==m?(g=(0,b.jsxs)(pi,{children:[f,m]}),t[11]=f,t[12]=m,t[13]=g):g=t[13];let y;return t[14]!==d||t[15]!==g?(y=(0,b.jsxs)(gi,{children:[c,d,g]}),t[14]=d,t[15]=g,t[16]=y):y=t[16],y};_n=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var ua={modified:{doc:""},original:{doc:""}},da=(0,I.createContext)(ua);function Au(e,t){return X({},e,t,{modified:X({},e.modified,t.modified),original:X({},e.original,t.original)})}var dr=()=>(0,I.useContext)(da),Iu=e=>{var{children:t,theme:n}=e,[r,o]=(0,I.useReducer)(Au,X({},ua,{theme:n}));return(0,I.useEffect)(()=>o({theme:n}),[n]),(0,b.jsx)(da.Provider,{value:X({},r,{dispatch:o}),children:t})},Fu=["extensions","value","selection","onChange"],fa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Fu),{theme:i,dispatch:s}=dr(),c=Et(X({},a,{theme:i}));return(0,I.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};fa.displayName="CodeMirrorMerge.Original";var Lu=["extensions","value","selection","onChange"],ma=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Lu),{theme:i,dispatch:s}=dr(),c=Et(X({},a,{theme:i}));return(0,I.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};ma.displayName="CodeMirrorMerge.Modified";var Ou=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Du=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],ha=I.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:u=!0,renderRevertControl:d,diffConfig:f,root:p}=e,m=Jt(e,Ou),g=dr(),{modified:y,modifiedExtension:w,original:k,originalExtension:C,theme:A,dispatch:L}=g,U=Jt(g,Du),T=(0,I.useRef)(null),x=(0,I.useRef)(),G={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:d,diffConfig:f,root:p};(0,I.useImperativeHandle)(t,()=>({container:T.current,view:x.current,modified:y,original:k,config:X({a:k,b:y,parent:T.current},G)}),[T,x,y,k,G]);var ee=B.updateListener.of(F=>{if(F.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var j=F.state.doc.toString();C==null||C.onChange(j,F)}}),$=B.updateListener.of(F=>{if(F.docChanged&&typeof(w==null?void 0:w.onChange)=="function"){var j=F.state.doc.toString();w==null||w.onChange(j,F)}});return(0,I.useEffect)(()=>{!x.current&&T.current&&C&&w&&(x.current=new Ni(X({a:X({},k,{extensions:[...(C==null?void 0:C.extension)||[],...Et(X({},C==null?void 0:C.option,{theme:A})),ee]}),b:X({},y,{extensions:[...(w==null?void 0:w.extension)||[],...Et(X({},w==null?void 0:w.option,{theme:A})),$]}),parent:T.current},G)),L({view:x.current}))},[x,T,C,w]),(0,I.useEffect)(()=>{var K,E;if(k&&k.doc&&x.current){var F=(K=x.current)==null?void 0:K.a.state.doc.toString();if(F!==k.doc){var j;(j=x.current)==null||j.a.dispatch({changes:{from:0,to:F.length,insert:k.doc||""}})}}if(y&&y.doc&&x.current){var ie=(E=x.current)==null?void 0:E.b.state.doc.toString();if(ie!==y.doc){var _;(_=x.current)==null||_.b.dispatch({changes:{from:0,to:ie.length,insert:y.doc||""}})}}if(u&&x.current){var P=x.current.a.state.selection.ranges[0].from,me=x.current.b.state.selection.ranges[0].from;x.current.destroy(),x.current=new Ni(X({a:X({},k,{extensions:[...(C==null?void 0:C.extension)||[],...Et(X({},C==null?void 0:C.option,{theme:A}))]}),b:X({},y,{extensions:[...(w==null?void 0:w.extension)||[],...Et(X({},w==null?void 0:w.option,{theme:A}))]}),parent:T.current},G)),P&&(x.current.a.focus(),x.current.a.dispatch({selection:{anchor:P,head:P}})),me&&(x.current.b.focus(),x.current.b.dispatch({selection:{anchor:me,head:me}}))}},[x,A,T.current,k,y,C,w,u]),(0,I.useEffect)(()=>()=>x.current&&x.current.destroy(),[]),(0,I.useEffect)(()=>{if(x.current){var F={};U.orientation!==o&&(F.orientation=o),U.revertControls!==a&&(F.revertControls=a),U.highlightChanges!==i&&(F.highlightChanges=i),U.gutter!==s&&(F.gutter=s),U.collapseUnchanged!==c&&(F.collapseUnchanged=c),U.renderRevertControl!==d&&(F.collapseUnchanged=c),Object.keys(F).length&&L&&x.current&&(x.current.reconfigure(X({},F)),L(X({},F)))}},[L,x,o,a,i,s,c,d]),(0,b.jsx)("div",X({ref:T,className:"cm-merge-theme"+(n?" "+n:"")},m,{children:r}))});ha.displayName="CodeMirrorMerge.Internal";var _u=["theme"],wn=I.forwardRef((e,t)=>{var{theme:n}=e;return(0,b.jsx)(Iu,{theme:n,children:(0,b.jsx)(ha,X({},Jt(e,_u),{ref:t}))})});wn.Original=fa,wn.Modified=ma,wn.displayName="CodeMirrorMerge";var fr=wn,Uu=Ge(),Bu=fr.Original,ju=fr.Modified,pa=[Id(),B.lineWrapping];const Pu=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:u,children:d})=>{let[f,p]=(0,I.useState)(!1),[m,g]=(0,I.useState)({}),[y,w]=En(um),k=(0,I.useId)(),C=Zd(),{initialPrompt:A,triggerImmediately:L,cellId:U}=t??{},T=U===e,x=ce(Yf).get(e),G;(x==null?void 0:x.type)==="update_cell"&&(G=x.previousCode);let{completion:ee,input:$,stop:F,isLoading:j,setCompletion:ie,setInput:_,handleSubmit:P,complete:me}=Xf({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:A,streamProtocol:"text",experimental_throttle:100,body:{...Object.keys(m).length>0?m:A?si({input:A}):{},includeOtherCode:y?wr(a):"",code:a,language:o},onError:ne=>{wt({title:"Completion failed",description:vm(ne)})},onFinish:(ne,tt)=>{ie(tt.trimEnd())}}),K=I.useRef(null),E=ee.trimEnd(),S=(0,I.useCallback)(()=>{L&&!j&&A&&me(A)},[L]);(0,I.useEffect)(()=>{var ne;T&&(jd(()=>{let tt=K.current;return tt!=null&&tt.view?(tt.view.focus(),S(),!0):!1},{retries:3,delay:100,initialDelay:100}),hd((ne=K.current)==null?void 0:ne.view))},[T,S]),(0,I.useEffect)(()=>{T&&_(A||"")},[T,A,_]);let{theme:R}=fm(),D=()=>{s(E),ie("")},te=()=>{i(),ie("")},Re=T&&L&&(E||j);u??(u="below");let Pe=T&&(!L||f),Ve=(0,b.jsx)("div",{className:lt("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",Re?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,b.jsx)(Mu,{status:j?"loading":"generated",onAccept:D,onReject:te,showInputPrompt:f,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-128"})}),Me=(ne,tt)=>(0,b.jsxs)(fr,{className:"cm",theme:R,children:[(0,b.jsx)(Bu,{onChange:r,value:ne,extensions:pa}),(0,b.jsx)(ju,{value:tt,editable:!1,readOnly:!0,extensions:pa})]}),O=()=>{if(E&&T)return Me(a,E);if(!E&&G)return Me(G,a)},W=(0,b.jsxs)(He,{"data-testid":"stop-completion-button",variant:"text",size:"xs",className:"mb-0",onClick:F,children:[(0,b.jsx)(ui,{className:"animate-spin mr-1",size:14}),"Stop"]}),V=(0,b.jsx)(vt,{content:"Submit",children:(0,b.jsx)(He,{variant:"text",size:"icon",onClick:P,children:(0,b.jsx)(Kf,{className:"h-3 w-3"})})}),se=(0,b.jsx)(vt,{content:"Add context",children:(0,b.jsx)(He,{variant:"text",size:"icon",onClick:()=>nm(K),children:(0,b.jsx)(Qf,{className:"h-3 w-3"})})}),le=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ci,{isLoading:j,onAccept:D,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,b.jsx)(li,{onDecline:te,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,b.jsxs)("div",{"data-ai-input-open":Pe,className:lt("flex flex-col w-full rounded-[inherit]",n),children:[(0,b.jsx)("div",{className:lt("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",Pe&&"max-h-[400px] border-b min-h-11 visible",!Pe&&"max-h-0 min-h-0 invisible"),children:T&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cm,{className:"text-(--blue-10) shrink-0",size:16}),(0,b.jsx)(Zf,{inputRef:K,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),ie("")},value:$,onChange:ne=>{_(ne),g(si({input:ne}))},onSubmit:()=>{var ne;j||((ne=K.current)!=null&&ne.view&&tm(K.current.view),P())},onKeyDown:em({handleAcceptCompletion:D,handleDeclineCompletion:te,isLoading:j,hasCompletion:E.trim().length>0})}),(0,b.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,b.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[j&&W,V,se,(0,b.jsx)(Hd,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),E&&(0,b.jsx)("div",{className:"mt-1 flex items-center gap-1",children:le})]}),(0,b.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,b.jsx)(vt,{content:"Include code from other cells",children:(0,b.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,b.jsx)(wd,{"data-testid":"include-other-cells-checkbox",id:k,checked:y,onCheckedChange:ne=>w(!!ne)}),(0,b.jsx)(Dr,{htmlFor:k,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,b.jsx)(He,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:j,onClick:()=>{F(),i(),ie("")},children:(0,b.jsx)(rm,{className:"text-(--red-10)",size:16})})]})}),u==="above"&&Ve,O(),(!E||!T)&&!G&&d,u==="below"&&Ve]})};var Mu=e=>{let t=(0,Uu.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,u=n==="loading",d;t[0]===a?d=t[1]:(d=lt("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=d);let f;t[2]===u?f=t[3]:(f=u?(0,b.jsx)(ui,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,b.jsx)(am,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=u,t[3]=f);let p=u?"Generating fix...":"Showing fix",m;t[4]===p?m=t[5]:(m=(0,b.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),t[4]=p,t[5]=m);let g;t[6]!==f||t[7]!==m?(g=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[f,m]}),t[6]=f,t[7]=m,t[8]=g):g=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,b.jsx)(Dr,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=y):y=t[9];let w;t[10]!==s||t[11]!==i?(w=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,b.jsx)(nf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=w):w=t[12];let k;t[13]!==u||t[14]!==r||t[15]!==c?(k=(0,b.jsx)(ci,{isLoading:u,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=u,t[14]=r,t[15]=c,t[16]=k):k=t[16];let C;t[17]===o?C=t[18]:(C=(0,b.jsx)(li,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let A;t[19]!==k||t[20]!==C?(A=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[k,C]}),t[19]=k,t[20]=C,t[21]=A):A=t[21];let L;return t[22]!==d||t[23]!==A||t[24]!==g||t[25]!==w?(L=(0,b.jsxs)("div",{className:d,children:[g,w,A]}),t[22]=d,t[23]=A,t[24]=g,t[25]=w,t[26]=L):L=t[26],L},mr="web application/x-marimo-cell",Ru=qa({cells:Gd(qa({code:Md()})),version:Rd("1.0")});function Gu(){let e=xn();return{copyCells:ue(async t=>{let n=kr(),r=t.map(o=>n.cellData[o]).filter(Boolean);if(r.length!==0)try{let o={cells:r.map(s=>({code:s.code})),version:"1.0"},a=r.map(s=>s.code).join(`
|
|
20
20
|
|
|
21
21
|
`),i=new $u().add(mr,o).add("text/plain",a).build();await navigator.clipboard.write([i]),ga(r.length)}catch(o){$e.error("Failed to copy cells to clipboard",o);try{await Em(r.map(a=>a.code).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as j}from"./chunk-LvLJmgfZ.js";import{d as w,l as P,n as y,u as A}from"./useEvent-DO6uJBas.js";import{Jr as _,Xt as L,ai as O,j as E,k as S,vt as T,w as $,zt as D}from"./cells-
|
|
1
|
+
import{s as j}from"./chunk-LvLJmgfZ.js";import{d as w,l as P,n as y,u as A}from"./useEvent-DO6uJBas.js";import{Jr as _,Xt as L,ai as O,j as E,k as S,vt as T,w as $,zt as D}from"./cells-Dxpbusw1.js";import{t as b}from"./compiler-runtime-DeeZ7FnK.js";import{d as F}from"./hotkeys-BHHWjLlp.js";import{d as q}from"./utils-DXvhzCGS.js";import{r as I}from"./constants-B6Cb__3x.js";import{A as z,p as B,w as H}from"./config-CIrPQIbt.js";import{t as J}from"./jsx-runtime-ZmTK25f3.js";import{t as M}from"./cn-BKtXLv3a.js";import{r as R}from"./requests-BsVD4CdD.js";import{n as U}from"./ImperativeModal-CUbWEBci.js";var V=b();function N(){return A(_)}function X(){let r=(0,V.c)(5),[t]=P(H),e=w(_),{openAlert:a}=U(),{sendRename:o}=R(),s;return r[0]!==t.state||r[1]!==a||r[2]!==o||r[3]!==e?(s=async l=>{let n=q();return t.state===z.OPEN?(B(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||D.basename(l)||"Untitled Notebook",l)).catch(i=>(a(i.message),null))):(a("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=a,r[2]=o,r[3]=e,r[4]=s):s=r[4],y(s)}var p=b(),v=j(J(),1);const k=r=>{let t=(0,p.c)(12),{className:e,cellId:a,variant:o,onClick:s,formatCellName:l,skipScroll:n}=r,i=E()[a]??"",C=S().inOrderIds.indexOf(a),{showCellIfHidden:d}=$(),g=l??Q,c;t[0]===e?c=t[1]:(c=M("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==a||t[3]!==s||t[4]!==d||t[5]!==n||t[6]!==o?(m=h=>{if(a==="__scratch__")return!1;d({cellId:a}),h.stopPropagation(),h.preventDefault(),requestAnimationFrame(()=>{x(a,o,n)&&(s==null||s())})},t[2]=a,t[3]=s,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(T(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},G=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(k,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},K=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:a}=r,o=N(),s;t[0]!==e||t[1]!==a?(s=()=>L(e,a),t[0]=e,t[1]=a,t[2]=s):s=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]!==s||t[8]!==l?(n=(0,v.jsx)(k,{cellId:e,onClick:s,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=s,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let a=O.create(r),o=document.getElementById(a);return o===null?(F.error(`Cell ${a} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),t==="destructive"&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),t==="focus"&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function Q(r){return r}export{N as a,x as i,G as n,X as o,K as r,k as t};
|