@marimo-team/frontend 0.17.5 → 0.17.6
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-DjUtGUqj.js → CellStatus-CHA41gSk.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-Bjfp6wiJ.js → ConnectedDataExplorerComponent-cTGPcGbT.js} +1 -1
- package/dist/assets/{ConsoleOutput-C4nRvbNL.js → ConsoleOutput-CcWTsPJI.js} +1 -1
- package/dist/assets/{LazyAnyLanguageCodeMirror-BzY5E2SR.js → LazyAnyLanguageCodeMirror-De4wCXx1.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-DKtP9DfP.js → MarimoErrorOutput-ZIgqDBQe.js} +1 -1
- package/dist/assets/{Output-x6LACtkd.js → Output-BNpy6qAs.js} +1 -1
- package/dist/assets/{RenderHTML-B4Xlxz9Q.js → RenderHTML-BBVeCFEd.js} +1 -1
- package/dist/assets/{TinyCode-CgC7YtPL.js → TinyCode-CSwZ6pBr.js} +1 -1
- package/dist/assets/{add-cell-with-ai-D94Om7DS.js → add-cell-with-ai-DF_F9Sqz.js} +1 -1
- package/dist/assets/{add-database-form-BDX2uZCC.js → add-database-form-C6bWFcDu.js} +1 -1
- package/dist/assets/{add-missing-import-Cy6g_y6i.js → add-missing-import-pmcK06GU.js} +1 -1
- package/dist/assets/{agent-panel-DPCsTGPU.js → agent-panel-Cy7eGnp2.js} +1 -1
- package/dist/assets/{any-language-editor-CgFodhrt.js → any-language-editor-CtKaNSoA.js} +1 -1
- package/dist/assets/{app-config-button-C02qSaV5.js → app-config-button-DkPbZ9Gv.js} +1 -1
- package/dist/assets/{cell-actions-CNcpitg7.js → cell-actions-BwzVQ6Dx.js} +1 -1
- package/dist/assets/{cell-editor-oXchtd-2.js → cell-editor-HcAVCF81.js} +4 -4
- package/dist/assets/{cell-link-d9BMXpwm.js → cell-link-Bp_0p3CR.js} +1 -1
- package/dist/assets/cells-DV6dfoCq.js +142 -0
- package/dist/assets/{chat-components-u_00E1Iv.js → chat-components-laNRM4nR.js} +2 -2
- package/dist/assets/{chat-panel-BBQVqm6k.js → chat-panel-D0ofjONu.js} +1 -1
- package/dist/assets/{client-Co0Fvwib.js → client-CHkG9bdV.js} +2 -2
- package/dist/assets/{column-preview-BsCKvnq_.js → column-preview-BavQbx6K.js} +1 -1
- package/dist/assets/{command-palette-C9_cNlJc.js → command-palette-BeIRV-WM.js} +1 -1
- package/dist/assets/{common-BWlM0NQw.js → common-C3tRfmeF.js} +1 -1
- package/dist/assets/{datasources-panel-CRS3I41j.js → datasources-panel-MHkoQPff.js} +1 -1
- package/dist/assets/{dependency-graph-panel-PEDmfewV.js → dependency-graph-panel-qI_Vzr7L.js} +1 -1
- package/dist/assets/dist-Dv7WCK3M.js +2 -0
- package/dist/assets/{documentation-panel-Caz5K_OT.js → documentation-panel-BSLe420O.js} +1 -1
- package/dist/assets/{edit-page-DuRQ1eIB.js → edit-page-BWiHWYlZ.js} +3 -3
- package/dist/assets/{error-panel-D0ZJmprT.js → error-panel-BXZjD7vi.js} +1 -1
- package/dist/assets/{esm-D8ZMWeYP.js → esm-C1NahKuy.js} +1 -1
- package/dist/assets/{file-explorer-panel-Jnmw434H.js → file-explorer-panel-Dfhel-3W.js} +1 -1
- package/dist/assets/{floating-outline-BXSB3SQ6.js → floating-outline-CgxonLQ-.js} +1 -1
- package/dist/assets/{focus-CUS3ckCE.js → focus--Piy3rX5.js} +1 -1
- package/dist/assets/{form-nAUuUhu3.js → form-Cdn744fY.js} +1 -1
- package/dist/assets/{form-BlnK1x-p.js → form-q5HZfP0M.js} +1 -1
- package/dist/assets/{glide-data-editor-BFKn2tIP.js → glide-data-editor-DyfmOgFY.js} +1 -1
- package/dist/assets/{home-page-DIYkvTFf.js → home-page-CQvcO2-r.js} +1 -1
- package/dist/assets/{index-DsdBxblV.js → index-vG-gdKWq.js} +7 -7
- package/dist/assets/{kiosk-mode-CHVximkk.js → kiosk-mode-OsMWvXhW.js} +1 -1
- package/dist/assets/{layout-CRXL9551.js → layout-BaosNuEp.js} +1 -1
- package/dist/assets/{logs-panel-9HAqKVuS.js → logs-panel-DzPVobVI.js} +1 -1
- package/dist/assets/{mermaid-D4G-AG2G.js → mermaid-DEUZM6JF.js} +1 -1
- package/dist/assets/{mode-CtH3Xe58.js → mode-BK9SOQXS.js} +1 -1
- package/dist/assets/{name-cell-input-DZWpmHYT.js → name-cell-input-VEOAxqMs.js} +1 -1
- package/dist/assets/{outline-panel-D0DvfWbQ.js → outline-panel-h_xN2aCi.js} +1 -1
- package/dist/assets/{packages-panel-DmqfeORQ.js → packages-panel-MgK5SK20.js} +1 -1
- package/dist/assets/{readonly-python-code-Ba_IF_mK.js → readonly-python-code-ChK3PfU6.js} +1 -1
- package/dist/assets/{run-page-Dtlg4eqe.js → run-page-BGTVY0j4.js} +1 -1
- package/dist/assets/{scratchpad-panel-5EljtEkX.js → scratchpad-panel-DZbJOjct.js} +1 -1
- package/dist/assets/{snippets-panel-Cg9ksbKX.js → snippets-panel-BkDWOzb7.js} +1 -1
- package/dist/assets/{state-7Nd5UYc6.js → state-BHcVA2dC.js} +1 -1
- package/dist/assets/{state-BDyZ5-wH.js → state-CjZ41ddG.js} +1 -1
- package/dist/assets/{storage-DczTxxXy.js → storage-Q85CaPfH.js} +1 -1
- package/dist/assets/{tracing-CbAnhOdo.js → tracing-DZ3Q4ew0.js} +1 -1
- package/dist/assets/{tracing-panel-B3iny2EN.js → tracing-panel-cWcQ0_7O.js} +2 -2
- package/dist/assets/{types-h5wz3HYN.js → types--mPsPGF4.js} +1 -1
- package/dist/assets/{useAddCell-CWXmrhes.js → useAddCell-Ig4Te4YX.js} +1 -1
- package/dist/assets/{useCellActionButton-fVEGFa_R.js → useCellActionButton-Dxhr7c1D.js} +1 -1
- package/dist/assets/{useDeleteCell-Bg8Hgk6e.js → useDeleteCell-Ba4wqcnv.js} +1 -1
- package/dist/assets/{useNotebookActions-BurReKKo.js → useNotebookActions-ClgDTwuq.js} +1 -1
- package/dist/assets/{useRunCells-BiWuvMY1.js → useRunCells-WnlQjiPG.js} +1 -1
- package/dist/assets/{useSplitCell-DhhZ7xVP.js → useSplitCell-BDVxP5U-.js} +1 -1
- package/dist/assets/useTheme-CJkb1R7C.js +1 -0
- package/dist/assets/{utilities.esm-CCw2KKJk.js → utilities.esm-SfrtJjbv.js} +1 -1
- package/dist/assets/{variable-panel-Dkhq2h3W.js → variable-panel-1cBDHa5H.js} +1 -1
- package/dist/assets/{vega-component-CrZQsWq8.js → vega-component-DBpZ-MEj.js} +1 -1
- package/dist/index.html +27 -27
- package/package.json +1 -1
- package/src/components/app-config/data-form.tsx +3 -3
- package/src/core/codemirror/language/languages/sql/sql.ts +2 -1
- package/dist/assets/cells-CZmitpcp.js +0 -151
- package/dist/assets/dist-CzgFQFBf.js +0 -2
- package/dist/assets/node-sql-parser-B60nzzE3.js +0 -68
- package/dist/assets/useTheme-DcMAIbRt.js +0 -1
- /package/dist/assets/{esm-DuHka6En.js → esm-D3_a5hg-.js} +0 -0
- /package/dist/assets/{react-plotly-B5BZoChE.js → react-plotly-BedjJ4JE.js} +0 -0
- /package/dist/assets/{wasm-BU5edgJp.js → wasm-86TLpKv7.js} +0 -0
- /package/dist/assets/{web-vitals-DxEe-Gv6.js → web-vitals-DCCm3RCd.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-DYT9s9N9.js","./loro_wasm_bg-BPmEUFaG.js","./chunk-DZLz74EQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var Ru=Object.defineProperty;var va=re=>{throw TypeError(re)};var Gu=(re,q,he)=>q in re?Ru(re,q,{enumerable:!0,configurable:!0,writable:!0,value:he}):re[q]=he;var g=(re,q,he)=>Gu(re,typeof q!="symbol"?q+"":q,he),Ju=(re,q,he)=>q.has(re)||va("Cannot "+he);var Ea=(re,q,he)=>(Ju(re,q,"read from private field"),he?he.call(re):q.get(re)),Na=(re,q,he)=>q.has(re)?va("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,he);import{s as fe}from"./chunk-DZLz74EQ.js";import{a as wn,c as oe,d as Ot,l as ka,n as Y,s as vn,u as fr}from"./jotai-BTnrNcC1.js";import{t as Vu}from"./react-BcIddLXZ.js";import{$n as Wu,B as $u,Br as Ca,E as En,F as Hu,H as Sa,Hn as qu,In as zu,J as mr,Kn as gr,Mt as Ku,On as Nn,Qn as Yu,Sn as Xu,Tn as Qu,Un as Zu,V as xa,Vn as ed,Y as td,Z as nd,Zn as rd,_n as hr,_t as Ta,an as od,at as pr,ct as ad,d as Ia,f as Aa,fr as id,gt as sd,h as br,in as ld,ir as cd,it as ud,jn as dd,jr as fd,kr as Fa,lt as Dt,nr as md,ot as kn,pn as gd,pr as hd,s as La,st as pd,un as yr,ur as wr,vn as Oa,wn as Ye,x as tt,xn as bd,yn as Da,zn as yd,__tla as wd}from"./cells-
|
|
2
|
+
var Ru=Object.defineProperty;var va=re=>{throw TypeError(re)};var Gu=(re,q,he)=>q in re?Ru(re,q,{enumerable:!0,configurable:!0,writable:!0,value:he}):re[q]=he;var g=(re,q,he)=>Gu(re,typeof q!="symbol"?q+"":q,he),Ju=(re,q,he)=>q.has(re)||va("Cannot "+he);var Ea=(re,q,he)=>(Ju(re,q,"read from private field"),he?he.call(re):q.get(re)),Na=(re,q,he)=>q.has(re)?va("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,he);import{s as fe}from"./chunk-DZLz74EQ.js";import{a as wn,c as oe,d as Ot,l as ka,n as Y,s as vn,u as fr}from"./jotai-BTnrNcC1.js";import{t as Vu}from"./react-BcIddLXZ.js";import{$n as Wu,B as $u,Br as Ca,E as En,F as Hu,H as Sa,Hn as qu,In as zu,J as mr,Kn as gr,Mt as Ku,On as Nn,Qn as Yu,Sn as Xu,Tn as Qu,Un as Zu,V as xa,Vn as ed,Y as td,Z as nd,Zn as rd,_n as hr,_t as Ta,an as od,at as pr,ct as ad,d as Ia,f as Aa,fr as id,gt as sd,h as br,in as ld,ir as cd,it as ud,jn as dd,jr as fd,kr as Fa,lt as Dt,nr as md,ot as kn,pn as gd,pr as hd,s as La,st as pd,un as yr,ur as wr,vn as Oa,wn as Ye,x as tt,xn as bd,yn as Da,zn as yd,__tla as wd}from"./cells-DV6dfoCq.js";import{A as vd,F as Ua,w as Ed,z as Nd}from"./zod-U2NFpcFA.js";import{t as Pe}from"./compiler-runtime-Cr9loedd.js";import{l as kd,n as Cd,o as Sd,r as xd,t as Td}from"./client-CHkG9bdV.js";import{c as vr,d as Id,n as _a,u as We}from"./hotkeys-ClCtr3_I.js";import{t as Ut}from"./invariant-D5a0EE05.js";import{f as Ba,i as Ad,m as ja,o as Fd,p as Ld,s as Pa,x as Er}from"./utils-BpjB6B-Y.js";import{a as Od,g as Dd,o as Ud,r as Ma}from"./config-e9OVB2bJ.js";import{t as _d}from"./api-qc-D7yz9.js";import{n as Bd}from"./globals-Bcw0dX52.js";import{t as jd}from"./ErrorBoundary-5_63wxX3.js";import{t as Pd}from"./useEventListener-D1FLsfmf.js";import{t as Md}from"./jsx-runtime-mwDPpfh_.js";import{t as st}from"./cn-DEUt_IsG.js";import{r as Nr,t as Xe}from"./button-Zjtz1syG.js";import{B as Ra,E as Rd,F as Gd,Gt as me,It as Jd,Jt as _t,K as l,Kt as $e,Lt as lt,Mt as Cn,N as Vd,Pt as Sn,Rt as kr,St as Wd,Tt as $d,Ut as Hd,V as qd,Vt as ct,Zt as xn,_ as zd,_t as Kd,a as Yd,at as Xd,bt as Je,dt as Qd,gt as Zd,kt as ef,m as tf,nt as nf,ot as He,rt as P,st as Tn,tt as H,ut as rf,vt as of,w as af,xt as Ga,zt as Bt}from"./dist-o3-gJN-A.js";import{S as sf,_ as lf,b as cf,g as uf,l as df,n as ff,o as Cr,s as mf,v as gf}from"./dist-Dv7WCK3M.js";import{y as hf}from"./Output-BNpy6qAs.js";import{c as Ja,n as pf}from"./once-3GsqimLM.js";import{t as Sr}from"./createReducer-C6dJ71nW.js";import{r as jt,t as bf}from"./requests-DD3OWR81.js";import{t as yf}from"./preload-helper-DImqtvgl.js";import{a as wf,c as vf,f as In,h as Ef,i as Nf,l as Pt,n as Va,o as kf,t as Cf}from"./dist-DdXBxU_X.js";import{t as yt}from"./use-toast-BPMVOfO3.js";import{a as Wa,s as Qe,t as ut}from"./connection-CsVOmbVi.js";import{n as Sf}from"./useTheme-CJkb1R7C.js";import{t as xf}from"./createLucideIcon-CaU6_Jtx.js";import{d as Tf,r as $a,t as If,__tla as Af}from"./layout-BaosNuEp.js";import{C as Ha,E as Ff,O as Lf,S as Of,c as Df,i as Uf,n as _f,o as Bf,r as jf,s as Pf,v as Mf}from"./add-cell-with-ai-DF_F9Sqz.js";import{t as Rf}from"./ai-model-dropdown-CCxgO0mJ.js";import{h as Gf}from"./select-Di-JjADd.js";import{t as Jf}from"./download-DrI1Gw05.js";import{t as Vf}from"./circle-check-DQpKgZLQ.js";import{r as Wf,t as $f}from"./types--mPsPGF4.js";import{n as qa}from"./spinner-1oeuzoUk.js";import{t as Hf}from"./readonly-python-code-ChK3PfU6.js";import{t as za}from"./save-CQAHDr9Q.js";import{F as Ka,N as qf}from"./input-DuVApvWu.js";import{a as zf,i as Kf,n as Ya}from"./state-BHcVA2dC.js";import{t as Mt}from"./tooltip-CerBk_un.js";import{r as Yf,t as Xf}from"./mode-BK9SOQXS.js";import{c as Xa,i as Qa,n as Za,r as Qf}from"./dialog-CzmSXArA.js";import{T as Zf}from"./usePress-C2JVmCUi.js";import{t as ei}from"./useHotkey-Ca6pS8sJ.js";import{n as le}from"./useEvent-itkPNnCe.js";import{n as ti}from"./ImperativeModal-ExH1h9et.js";import{i as em}from"./error-banner-rdjPobI5.js";import{t as tm}from"./copy-SPzF4B1M.js";import{a as nm}from"./useRunCells-WnlQjiPG.js";import{t as X}from"./extends-DhnjMUSs.js";import{t as Rt}from"./objectWithoutPropertiesLoose-CNyONSoo.js";import{n as rm}from"./useAsyncData-BPaRR7vx.js";import{t as om}from"./kbd-BfBY_QKr.js";import{a as ni}from"./renderShortcut-a-3t8sis.js";import{t as xr}from"./label-FIGQlkj5.js";import{a as am,r as im,t as sm}from"./popover-BoRNi4dY.js";import{a as lm,o as cm}from"./cell-link-Bp_0p3CR.js";import{n as wt}from"./esm-C1NahKuy.js";import{a as um,o as ri,r as dm,s as oi,t as fm}from"./command-DhuV6_de.js";import{n as Tr,t as ai}from"./useDeleteCell-Ba4wqcnv.js";import{n as mm}from"./add-missing-import-pmcK06GU.js";import{n as gm,t as hm}from"./icons-HGhpVPVr.js";import{a as pm}from"./focus--Piy3rX5.js";import{t as bm}from"./switch-p-zRh0zu.js";import{t as ii}from"./dist-CKjmAYFu.js";import{t as ym}from"./useSplitCell-BDVxP5U-.js";import{t as si}from"./Inputs-aaNuvYOb.js";import{t as wm}from"./constants-llOk-Qrr.js";import{$a as li,Qa as ci,Za as vm,ct as Em,eo as ui,no as di,ro as Nm,to as Ir,w as fi,__tla as km}from"./loro_wasm_bg-BPmEUFaG.js";import{t as Cm}from"./ws-CjDdq9XP.js";import{t as Ar}from"./useInterval-DpN2C7T8.js";let mi,Fr,gi,dt,hi,An,Lr,Gt,Fn,be,pi,bi,yi,wi,Ln,vi,Or,On,Sm=Promise.all([(()=>{try{return wd}catch{}})(),(()=>{try{return Af}catch{}})(),(()=>{try{return km}catch{}})()]).then(async()=>{var bn,wa,we,ve,Ee,Ne,ke,Ce,Se,xe,Te,Ie,Ae,Fe,Le,Oe,De,Ue,_e,Be,je;var re=xf("file-pen",[["path",{d:"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5",key:"1couwa"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]]);const q={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var he=300;const Et=Bt.define({combine:e=>xn(e,{onError:console.error,inputDebounceTime:he,keymaps:q},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),nt=me.define(),rt=$e.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(nt))return n.value;return e}}),Nt=me.define(),kt=me.define(),Ur=$e.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Nt)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Jt=me.define(),Ct=$e.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Jt))return n.value;return e}}),ft=me.define(),_r=$e.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(ft))return n.value;return e}});var Ei=1;const Br=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<Ei)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[nt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),Nt.of("")],selection:lt.cursor(o.from)}),!0},jr=e=>e.state.field(Ct)?(e.dispatch({effects:[Jt.of(null),nt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),Nt.of(""),ft.of(!1)]}),!0):!1,Pr=e=>{let t=e.state.field(Ct);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Jt.of(null),nt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),Nt.of(""),ft.of(!1)]}),!0):!1};var Dn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Ni(){return navigator.platform.startsWith("Mac")?Dn.mac:navigator.platform.startsWith("Win")?Dn.windows:Dn.default}function Un(e){return e.replace("Mod",Ni()).replace("-"," ").toUpperCase()}function ce(e,t){let n=document.createElement(e);return n.className=t,n}function ki(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 Vt=$e.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Wt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Wt=me.define();function Ci(e,t){let n=e.state.selection.main.head,r=[],o=H.widget({widget:new Si(t),side:1});return r.push(o.range(n)),H.set(r)}var Si=class extends Tn{constructor(t){super();g(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
|
|
3
3
|
`).length-1}},xi=class{constructor(e){g(this,"cache",new Map);g(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Ti=(e,t)=>He.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new xi(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:Wt.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:Wt.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()}}),Ii=He.fromClass(class{constructor(){g(this,"decorations");this.decorations=H.none}update(e){var n;let t=(n=e.state.field(Vt))==null?void 0:n.suggestion;if(!t){this.decorations=H.none;return}this.decorations=Ci(e.view,t)}},{decorations:e=>e.decorations});function Ai(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:lt.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:lt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Fi=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(_n);return e.dispatch({...Ai(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},Mr=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(_n);return e.dispatch({effects:Wt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},Li=Je.of([{key:"Tab",run:Fi},{key:"Escape",run:Mr}]),_n=Bt.define({combine:e=>e.at(-1)});function Rr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=ki(e.fetchFn,t);return[Vt,_n.of(e),Ti(r,e),Ii,n?Li:[]]}const Oi=P.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 Di(e){var o,a;let t=e.state.facet(Et),n={...q,...t.keymaps},r=ce("div","cm-ai-tooltip").appendChild(ce("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${Un(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(),Br(e)}),r}const Bn=Bt.define({combine(e){return xn(e,{render:Di,hideOnBlur:!1})}}),Ui=He.fromClass((wa=class{constructor(e){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});Na(this,bn,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(Bn);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(rt).show){this.dom.style.display="none";return}if(e.state.facet(Bn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Ea(this,bn)})}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()}},bn=new WeakMap,wa));var _i=P.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 Bi(){return[Ui,_i]}var ji=class extends Tn{constructor(t){super();g(this,"oldCode");this.oldCode=t}toDOM(t){let n=ce("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=ce("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=ce("div","cm-floating-buttons"),a=t.state.facet(Et),i={...q,...a.keymaps},s=ce("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Un(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),jr(t)});let c=ce("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Un(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Pr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},Pi=class extends Tn{constructor(t){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[nt.of({show:!1,lineFrom:0,lineTo:0}),ft.of(!1)]}),t.focus())});g(this,"handleSubmit",async t=>{var p;let n=this.view;if(!n)return;let r=n.state.facet(Et);t==null||t.stopPropagation();let o=n.state.field(rt),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),h=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:ft.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:f,codeBefore:h,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(rt).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:y},effects:[nt.of({show:!1,lineFrom:0,lineTo:0}),Jt.of({from:u,to:u+y.length,oldCode:f,newCode:y}),ft.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(p=r.onError)==null||p.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(Ur),r=t.state.field(_r),o=ce("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=ce("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=ce("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=ce("div","cm-ai-loading-container");this.loadingContainer=s;let c=ce("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=ce("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=ce("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 h=ce("button","cm-ai-generate-button");h.textContent="\u23CE Generate",h.setAttribute("aria-label","Generate code"),h.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),m(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function m(w){d.replaceChildren(w?h:f)}let p="";function y(){t.dispatch({effects:Nt.of(i.value)});let w=i.value.trim();w!==p&&(p=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 Mi(e){if(!e.prompt)throw Error("prompt function is required");let t={...q,...e.keymaps};return[Et.of(e),rt,Ur,Ct,_r,Bi(),Oi,Je.of([{key:t.showInput,run:Br}]),ct.highest([Je.of([{key:t.acceptEdit,run:jr},{key:t.rejectEdit,run:Pr}])]),Ri,Gi,Ji,Vi]}const Ri=P.updateListener.of(e=>{let t=e.state.field(rt);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,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:[nt.of({show:!0,lineFrom:n,lineTo:r})]})}),Gi=P.decorations.of(e=>{let t=e.state.field(Ct);return t?H.set([H.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):H.none}),Ji=P.decorations.compute([rt],e=>{let t=e.field(rt),n=e.facet(Et),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 Pi(n.prompt),side:-1}).range(s))}}return H.set(r)}),Vi=$e.define({create(e){return H.none},update(e,t){let n=t.state.field(Ct);return n?H.set([H.widget({widget:new ji(n.oldCode),block:!0}).range(n.from)]):H.none},provide:e=>P.decorations.from(e)});var Wi=fe(Pe(),1),F=fe(Vu(),1),jn=()=>({entries:new Map}),{valueAtom:Gr,useActions:Jr}=Sr(jn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(rd),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 h=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 p;h!=null&&h.runElapsedTimeMs&&h.runElapsedTimeMs>2e3&&(p=h.runElapsedTimeMs),m.size===0&&p===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:p,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)}),jn()):{...e,entries:u}},clear:()=>jn()});On=function(){let e=fr(),{submit:t,clear:n}=Jr(),{entries:r}=oe(Gr),o=ai(),a=Tr();return(0,F.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},mi=function(e){let t=(0,Wi.c)(16),n=oe(Gr),r=Jr(),o=Tr(),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($i)}),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 $i(e){return e.cellId}async function Hi(e){var s,c;let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -11,13 +11,13 @@ ${e.codeAfter}
|
|
|
11
11
|
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${dn}`}})}function Ml(e){return e.completionItems.map(t=>{let n=0;return t.completionParts.filter(r=>r.type!==3).map(r=>{let o=Number(r.offset),a=r.type===2?`
|
|
12
12
|
${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function Rl(e,t){let n=e.state.facet(on),{override:r}=e.state.facet(No),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await Pl({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&Pt(e.state)!=="active"&&e.hasFocus))return;let u=Ml(c),d=u.at(0);if(!d)return;let f=Sn.of(d,a.doc.length),h=f.invert(a.doc);e.dispatch({changes:f,effects:Mn.of({index:0,reverseChangeSet:h,changeSpecs:u}),annotations:[an.of(null),ht.of(null),_t.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(u=>setTimeout(u,300))}}function Gl(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Rn)||n.is(Gn)))}function Jl(e){if(!e.view.hasFocus||e.state.field(it)||Pt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(ht)!==void 0)return!0}function Vl(){let e=null,t=0;return P.updateListener.of(n=>{let r=n.view.state.facet(on);if(!r.alwaysOn||!Gl(n)||(e&&clearTimeout(e),Jl(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Cf(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await Rl(n.view,t)},r.timeout),t=o)})}function Vo(e){var o;let t=e.state.field(it);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Rn.of(null),annotations:[an.of(null),ht.of(null),_t.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:lt.cursor(r),annotations:[ht.of(null),_t.addToHistory.of(!0)]}),!0}const Wo=e=>{let{state:t}=e,n=t.field(it);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Sn.of(n.reverseChangeSet,t.doc.length).compose(Sn.of(a,i.length)),c=Sn.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:Mn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[an.of(null),ht.of(null),_t.addToHistory.of(!1)]}),!0};function Yn(e){let t=e.state.field(it);return t&&e.dispatch({changes:t.reverseChangeSet,effects:Gn.of(null),annotations:[an.of(null),ht.of(null),_t.addToHistory.of(!1)]}),!1}function Wl(e,t){return e.state.field(it)?t==="Tab"?Vo(e):Yn(e):!1}function $l(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(it);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function Hl(){return P.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?Wl(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(Wo(t),e.stopPropagation(),e.preventDefault(),!0):$l(t)?Vo(t):Yn(t)}})}function ql(){return Je.of([{key:"Ctrl-]",run:Wo}])}function zl(){return P.updateListener.of(e=>{e.focusChanged&&Yn(e.view)})}function Kl(e){return[on.of(e),it,ct.highest(ql()),ct.highest(zl()),ct.high(Hl()),Vl()]}function Yl({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var Xl=fe(gd(),1),Ql=new Jd,Xn=We.get("@github/copilot-language-server"),$o={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const Zl=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(Kl({apiKey:e.codeium_api_key,language:at.PYTHON}),No.of({override:async()=>[{text:yr(""),language:at.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(Rr({...$o,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!Sd()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=ec(n,yr(n.doc.toString())),s=await xd().getCompletion(i);return a===o.state.selection.main.head?tc(s,i.position,n):(We.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(Rr({...$o,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(kn).type,u=await _d.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(u=Yl({response:u,prefix:i,suffix:s}),u):(We.debug("ignoring response because of new position"),"")}})),[...t,ct.highest(Je.of([{key:"Escape",run:n=>{let r=Mr(n);return Nn(n)?!1:r}}])),Ql.of(Cd())]};function ec(e,t){let n=e.doc.toString(),r=t.split(`
|
|
13
13
|
`).length-n.split(`
|
|
14
|
-
`).length,o=nc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Td}`,version:"replace_me"},position:o,context:{triggerKind:Xl.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function tc(e,t,n){if(!e)return Xn.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return Xn.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return Xn.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,u=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let d=0;d<c.length;d++){let f=c.slice(d);if(u.startsWith(f))return c.slice(0,d)}return c}function nc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}An=function(e){return Ut("create"in e,'Expected query to have a "create" method'),e},be=fd({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Lr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Y.set(be,{type:"setFind",find:n}),Y.set(be,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Y.set(be,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Y.get(be).isOpen?(Y.set(be,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Y.set(be,{type:"setIsOpen",isOpen:!0})}),!0):(Y.set(be,{type:"setIsOpen",isOpen:!0}),!0)};function rc(){return Y.get(be).isOpen?(Y.set(be,{type:"setIsOpen",isOpen:!1}),!0):!1}var Qn=me.define();yi=function(){let e=Y.get(be),t=Ia();for(let n of t)n.state.readOnly||n.dispatch({effects:Qn.of(new Cr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},hi=function(){let e=Ia();for(let t of e)t.state.readOnly||t.dispatch({effects:Qn.of(new Cr({search:""}))})};const fn=$e.define({create(){let e=Y.get(be);return An(new Cr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(Qn)&&(e=An(n.value).create());return e}});var oc=H.mark({class:"cm-searchMatch"}),ac=H.mark({class:"cm-searchMatch cm-searchMatch-selected"}),ic=250;const sc=He.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(fn))}update(e){let t=e.state.field(fn);(t!==e.startState.field(fn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return H.none;let{view:t}=this,n=new Hd,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*ic;)i=r[++a].to;e.highlight(t.state,s,i,(c,u)=>{let d=t.state.selection.ranges.some(f=>f.from===c&&f.to===u);n.add(c,u,d?ac:oc)})}return n.finish()}},{decorations:e=>e.decorations}),lc=P.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function cc(e){return[Je.of([{key:"Escape",preventDefault:!1,run:rc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:df},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Lr}]),
|
|
14
|
+
`).length,o=nc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Td}`,version:"replace_me"},position:o,context:{triggerKind:Xl.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function tc(e,t,n){if(!e)return Xn.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return Xn.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return Xn.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,u=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let d=0;d<c.length;d++){let f=c.slice(d);if(u.startsWith(f))return c.slice(0,d)}return c}function nc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}An=function(e){return Ut("create"in e,'Expected query to have a "create" method'),e},be=fd({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Lr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Y.set(be,{type:"setFind",find:n}),Y.set(be,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Y.set(be,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Y.get(be).isOpen?(Y.set(be,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Y.set(be,{type:"setIsOpen",isOpen:!0})}),!0):(Y.set(be,{type:"setIsOpen",isOpen:!0}),!0)};function rc(){return Y.get(be).isOpen?(Y.set(be,{type:"setIsOpen",isOpen:!1}),!0):!1}var Qn=me.define();yi=function(){let e=Y.get(be),t=Ia();for(let n of t)n.state.readOnly||n.dispatch({effects:Qn.of(new Cr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},hi=function(){let e=Ia();for(let t of e)t.state.readOnly||t.dispatch({effects:Qn.of(new Cr({search:""}))})};const fn=$e.define({create(){let e=Y.get(be);return An(new Cr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(Qn)&&(e=An(n.value).create());return e}});var oc=H.mark({class:"cm-searchMatch"}),ac=H.mark({class:"cm-searchMatch cm-searchMatch-selected"}),ic=250;const sc=He.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(fn))}update(e){let t=e.state.field(fn);(t!==e.startState.field(fn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return H.none;let{view:t}=this,n=new Hd,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*ic;)i=r[++a].to;e.highlight(t.state,s,i,(c,u)=>{let d=t.state.selection.ranges.some(f=>f.from===c&&f.to===u);n.add(c,u,d?ac:oc)})}return n.finish()}},{decorations:e=>e.decorations}),lc=P.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function cc(e){return[Je.of([{key:"Escape",preventDefault:!1,run:rc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:df},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Lr}]),mf(),sc,fn,lc]}var uc=H.mark({class:"underline"}),Ho=me.define(),qo=me.define(),zo=me.define();const dc=$e.define({create(){return H.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(Ho)?n=e.update({add:[uc.range(r.value.from,r.value.to)]}):r.is(qo)?n=e.update({add:[ed.range(r.value.from,r.value.to)]}):r.is(zo)&&(n=H.none);return n},provide:e=>P.decorations.from(e)});var fc=class{constructor(e,t){g(this,"keydown",e=>{(e.key==="Meta"||e.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});g(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});g(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});g(this,"mousemove",e=>{var o;if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=(o=this.view.state.field(Zu,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:qo.of(this.hoveredRange)});return}let r=qd(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:Ho.of(this.hoveredRange)})}else this.clearUnderline()});g(this,"click",e=>{if(this.hoveredRange){let t=this.view.state.doc.sliceString(this.hoveredRange.from,this.hoveredRange.to);e.preventDefault(),e.stopPropagation(),this.onClick(this.view,t),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}})}});this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(e){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:zo.of(null)}),null))}};const mc=e=>He.define(t=>new fc(t,e));function gc(){return[dc,mc((e,t)=>{zu(e,t)}),P.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function hc(){return[P.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),Xu(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),bd(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function pc(){return[P.domEventHandlers({paste:(e,t)=>{var o;let n=(o=e.clipboardData)==null?void 0:o.getData("text/plain");if(!(n!=null&&n.includes("@app.cell")))return!1;let r=bc(n);return r.length===0?!1:(t.state.facet(cd).createManyBelow(r),!0)}})]}function bc(e){if(!e.includes("@app.cell"))return[];let t=[],n=e.split(`
|
|
15
15
|
`),r=[],o=!1,a=0,i=!1,s=!1,c=0,u=/\(/g,d=/\)/g,f=new Set(["@"]);function h(p){return(p.match(u)||[]).length-(p.match(d)||[]).length}function m(){if(r.length!==0){for(;r.length>0&&r[r.length-1].trim().startsWith("return");)r.pop();r.some(p=>p.trim()!=="")&&t.push(yc(r.join(`
|
|
16
16
|
`))),r=[]}}for(let p of n){let y=p.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=h(y)),a--;continue}if(i){c+=h(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=h(y));continue}if(s){c+=h(y),c===0&&(s=!1);continue}r.push(p)}}}return m(),t}function yc(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()}var ae=({variant:e,settings:t,styles:n})=>[P.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"}),Ra(Yd.define(n))];ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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 wc=[ae({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"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],vc=[ae({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"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function Ko(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Ec=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=Ko(e);return[kd(n,r),hc(),pc(),zi(),hd({completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),Qu({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),kc(e),gc(),c!=null&&c.enabled?uf():[],o&&d?[Mi({prompt:h=>Hi({prompt:h.prompt,selection:h.selection,codeBefore:h.codeBefore,codeAfter:h.codeAfter,language:Wu(h.editorView)})}),Bn.of({hideOnBlur:!0})]:[],od(Y),qu(t,u.reference_highlighting??!1)]};var Nc=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:Ef(e)};const kc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=Ko(e);return[P.lineWrapping,rf(),Qd(),Zd(),Kd(),of(),Wd(),$d(),ef({position:"fixed",parent:document.querySelector("#App")??void 0}),Yu(),t==="dark"?wc:vc,yd(a),Zl(r),af(),Nf(),Yi(),ct.high(Je.of(wf)),tf(),Vd(),Gd.of(" "),Ra(zd,{fallback:!0}),Je.of(Rd),ud({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),id.of(lf()),kr.allowMultipleSelections.of(!0),cc(n),Je.of([{key:"Tab",run:c=>Va(c)||Nc(c)||mf(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>Pt(c.state)===null?!1:(In(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>Pt(c.state)===null?!1:(In(!1)(c),!0),preventDefault:!0}]),Je.of([...gf,sf])]};if(fi)di(Em),fi();else if(!("Bun"in globalThis)){let e=await yf(()=>import("./loro_wasm_bg-DYT9s9N9.js").then(async t=>(await t.__tla,t)),__vite__mapDeps([0,1,2]),import.meta.url);di(new WebAssembly.Instance(e.default,{"./loro_wasm_bg.js":Nm}).exports)}var Cc=["Map","Text","List","Tree","MovableList","Counter"];function Sc(e){return e.startsWith("cid:")}function Yo(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Cc.includes(e.kind())}var xc=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new vm(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))}};li.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Sc(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(Yo(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(Yo(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())};const Tc=P.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"}});Cn.define();const Ft=me.define(),Zn=$e.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ft))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 Xo=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ft));return e.docChanged||e.viewportChanged||t.length>0};const Ic=()=>Ga({above:!0,class:"loro-cursor-layer",update:Xo,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(Zn);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=lt.cursor(r.cursor.anchor);return Fc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Ac=()=>Ga({above:!1,class:"loro-selection-layer",update:Xo,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(Zn);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=lt.range(r.cursor.anchor,r.cursor.head);return Xd.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Fc=class Dr{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=Dr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===nf.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Dr(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)}},Lc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=Qo(e,t,s,r);c&&o.push(c)}return o},Qo=(e,t,n,r)=>{let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ft.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=ci.decode(o.cursor.anchor),i=e.getCursorPos(a).offset,s=i;if(o.cursor.head){let c=ci.decode(o.cursor.head);s=e.getCursorPos(c).offset}return Ft.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Oc=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=Qo(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ft.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=Uc({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})}},Dc=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:Lc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},Uc=({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 mn=["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)"],_c=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 mn[Math.abs(t)%mn.length]}return mn[e%mn.length]},Bc=(e,t,n)=>He.define(r=>new jc(r,e,t,n)),bt=Cn.define();var jc=class{constructor(e,t,n,r){g(this,"isInitDispatch",!1);g(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:[bt.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:[bt.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(bt)===this||e.transactions[0].annotation(bt)==="undo"))return;let t=0;e.changes.iterChanges((n,r,o,a,i)=>{let s=i.sliceString(0,i.length,`
|
|
18
|
+
`).trim()}var ae=({variant:e,settings:t,styles:n})=>[P.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"}),Ra(Yd.define(n))];ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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"}]}),ae({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 wc=[ae({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"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],vc=[ae({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"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function Ko(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Ec=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=Ko(e);return[kd(n,r),hc(),pc(),zi(),hd({completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),Qu({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),kc(e),gc(),c!=null&&c.enabled?ff():[],o&&d?[Mi({prompt:h=>Hi({prompt:h.prompt,selection:h.selection,codeBefore:h.codeBefore,codeAfter:h.codeAfter,language:Wu(h.editorView)})}),Bn.of({hideOnBlur:!0})]:[],od(Y),qu(t,u.reference_highlighting??!1)]};var Nc=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:Ef(e)};const kc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=Ko(e);return[P.lineWrapping,rf(),Qd(),Zd(),Kd(),of(),Wd(),$d(),ef({position:"fixed",parent:document.querySelector("#App")??void 0}),Yu(),t==="dark"?wc:vc,yd(a),Zl(r),af(),Nf(),Yi(),ct.high(Je.of(wf)),tf(),Vd(),Gd.of(" "),Ra(zd,{fallback:!0}),Je.of(Rd),ud({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),id.of(uf()),kr.allowMultipleSelections.of(!0),cc(n),Je.of([{key:"Tab",run:c=>Va(c)||Nc(c)||cf(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>Pt(c.state)===null?!1:(In(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>Pt(c.state)===null?!1:(In(!1)(c),!0),preventDefault:!0}]),Je.of([...gf,sf])]};if(fi)di(Em),fi();else if(!("Bun"in globalThis)){let e=await yf(()=>import("./loro_wasm_bg-DYT9s9N9.js").then(async t=>(await t.__tla,t)),__vite__mapDeps([0,1,2]),import.meta.url);di(new WebAssembly.Instance(e.default,{"./loro_wasm_bg.js":Nm}).exports)}var Cc=["Map","Text","List","Tree","MovableList","Counter"];function Sc(e){return e.startsWith("cid:")}function Yo(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Cc.includes(e.kind())}var xc=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new vm(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))}};li.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Sc(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(Yo(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(Yo(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())};const Tc=P.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"}});Cn.define();const Ft=me.define(),Zn=$e.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ft))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 Xo=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ft));return e.docChanged||e.viewportChanged||t.length>0};const Ic=()=>Ga({above:!0,class:"loro-cursor-layer",update:Xo,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(Zn);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=lt.cursor(r.cursor.anchor);return Fc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Ac=()=>Ga({above:!1,class:"loro-selection-layer",update:Xo,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(Zn);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=lt.range(r.cursor.anchor,r.cursor.head);return Xd.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Fc=class Dr{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=Dr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===nf.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Dr(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)}},Lc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=Qo(e,t,s,r);c&&o.push(c)}return o},Qo=(e,t,n,r)=>{let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ft.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=ci.decode(o.cursor.anchor),i=e.getCursorPos(a).offset,s=i;if(o.cursor.head){let c=ci.decode(o.cursor.head);s=e.getCursorPos(c).offset}return Ft.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Oc=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=Qo(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ft.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=Uc({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})}},Dc=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:Lc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},Uc=({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 mn=["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)"],_c=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 mn[Math.abs(t)%mn.length]}return mn[e%mn.length]},Bc=(e,t,n)=>He.define(r=>new jc(r,e,t,n)),bt=Cn.define();var jc=class{constructor(e,t,n,r){g(this,"isInitDispatch",!1);g(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:[bt.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:[bt.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(bt)===this||e.transactions[0].annotation(bt)==="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}},ue=We.get("rtc"),Zo=ue.get("awareness").disabled(),er="awareness:";function Pc(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function Mc(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function Rc(e,t){return e.slice(t.length)}dt=Ot(void 0);var ie=new li,gn=new xc(ie.peerIdStr),tr=pf(()=>{ue.debug("creating websocket");let e=new Cm(Ma().getWsSyncURL(Ud()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Wa(),Xf()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(Mc(r,er)){let o=Rc(r,er);gn.apply(o),Zo.debug("applied awareness update");return}ie.import(r),ue.debug("imported doc change. new doc:",ie.toJSON()),Y.get(dt)!==ie&&Y.set(dt,ie)}),e.addEventListener("open",()=>{ue.debug("websocket open")}),e.addEventListener("close",t=>{ue.warn("websocket close",t),Y.get(dt)===ie&&Y.set(dt,void 0)}),e});mr()&&tr(),ie.subscribeLocalUpdates(e=>{ue.debug("local update, sending to server"),tr().send(e)}),gn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(Zo.debug("awareness changes",n),tr().send(Pc(er,gn.encode(n))))});function nr(e,t,n=""){if(Dd())return{extension:[],code:n};let r=ie.getByPath(`codes/${e}`)!==void 0,o=ie.getMap("codes").getOrCreateContainer(e,new Ir);return r||(ue.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[Gc(e),Jc(e),Vc(ie,gn,{get name(){return Y.get(td)||"Anonymous"},get colorClassName(){return _c(this.name)}},()=>o,e),Bc(ie,["codes",e],()=>o)]}}function Gc(e){let t=(r,o)=>{let a=r.state.field(kn).type,i=o.toString();i&&i!==a&&(ue.debug(`[incoming] setting language type: ${a} -> ${i}`),Dt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(hr),i=o.toJSON();wn(a,i)||r.dispatch({effects:[Da.of(i)],annotations:[bt.of(!0)]})};return He.define(r=>{let o;return Promise.resolve().then(()=>{let a=ie.getByPath(`languages/${e}`);if(!a){ue.error("no language container found for cell",e);return}Ut(a instanceof Ir,"language type is not a LoroText");let i=ie.getByPath(`language_metadata/${e}`);if(!i){ue.error("no language metadata container found for cell",e);return}Ut(i instanceof ui,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=ie.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 Jc(e){let t=ie.getMap("languages").getOrCreateContainer(e,new Ir),n=ie.getMap("language_metadata").getOrCreateContainer(e,new ui);return P.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=pr(r.state).type;Dt(r.view,{language:i}),ue.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),ue.debug("no initial language metadata, setting default to",r.state.field(hr));let s=r.state.field(hr);for(let c of Object.keys(s))n.set(c,s[c]);ie.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(bt)){for(let s of i.effects)if(s.is(ad)&&t.toString()!==s.value.type&&(ue.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(Da)||s.is(Oa)){let c=s.value;s.is(Oa)?(ue.debug("[outgoing] setting language metadata: ",c),n.clear()):ue.debug("[outgoing] updating language metadata: ",c);for(let u of Object.keys(c))n.set(u,c[u]);a=!0}}a&&ie.commit()})}function Vc(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[Zn,Ic(),Ac(),He.define(s=>new Oc(s,e,n,t,r,i,a)),He.define(s=>new Dc(s,e,t,i)),Tc]}var Wc=fe(Pe(),1);Or=e=>{let t=(0,Wc.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}=jt(),[h,m]=(0,F.useState)(u),p;t[0]===Symbol.for("react.memo_cache_sentinel")?(p=[],t[0]=p):p=t[0];let[y,w]=(0,F.useState)(p),[k,C]=(0,F.useState)(!1),A=(0,F.useRef)(null),O=(0,F.useRef)(!1),B,T;t[1]===u?(B=t[2],T=t[3]):(B=()=>{m(u)},T=[u],t[1]=u,t[2]=B,t[3]=T),(0,F.useEffect)(B,T);let x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{C(!0)},t[4]=x):x=t[4];let J=x,te;t[5]!==u||t[6]!==c?(te=V=>{var yn;(yn=V.relatedTarget)!=null&&yn.closest(".filename-input")||(C(!1),c&&m(u))},t[5]=u,t[6]=c,t[7]=te):te=t[7];let $=te,L;t[8]===h?L=t[9]:(L=Ye.dirname(h||""),t[8]=h,t[9]=L);let j=L,se=Ye.basename(h||""),U=y.filter(V=>Ye.basename(V.path).startsWith(se)),R;t[10]!==j||t[11]!==k||t[12]!==f?(R=async()=>{if(!k){w([]);return}w((await f({path:j})).files)},t[10]=j,t[11]=k,t[12]=f,t[13]=R):R=t[13];let de;t[14]!==j||t[15]!==k?(de=[j,k],t[14]=j,t[15]=k,t[16]=de):de=t[16];let{isPending:K}=rm(R,de),E=$c(h,y,u),S=(E||U.length>0)&&(0,b.jsxs)(oi,{className:"font-mono",children:[!K&&(0,b.jsx)(dm,{children:"No files"}),E&&(0,b.jsxs)(ri,{variant:"success",className:"py-2 px-3",onSelect:()=>{var V;E&&(O.current=!0,i(E),(V=A.current)==null||V.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:Ye.basename(E)})]})]},"_rename_"),U.map(V=>{let yn=$f[V.isDirectory?"directory":Wf(V.path)];return(0,b.jsxs)(ri,{variant:V.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{V.isDirectory?m(`${V.path}/`):m(V.path)},children:[(0,b.jsx)(yn,{className:"w-4 h-4 mr-2"})," ",Ye.basename(V.path)]},V.path)})]}),G=Math.max(20,(h==null?void 0:h.length)||(r==null?void 0:r.length)||0)*10,D=k?h||"":u||"",ne;t[17]!==d||t[18]!==G?(ne=d?{maxWidth:G}:void 0,t[17]=d,t[18]=G,t[19]=ne):ne=t[19];let Me;t[20]===s?Me=t[21]:(Me=st(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=Me);let Re;t[22]!==r||t[23]!==D||t[24]!==ne||t[25]!==Me?(Re=(0,b.jsx)(am,{children:(0,b.jsx)(um,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:D,onKeyDown:Hc,icon:null,ref:A,onValueChange:m,placeholder:r,autoComplete:"off",style:ne,className:Me})}),t[22]=r,t[23]=D,t[24]=ne,t[25]=Me,t[26]=Re):Re=t[26];let et=S&&"group-focus-within:block",pe;t[27]===et?pe=t[28]:(pe=st("p-0 w-full min-w-80 max-w-80vw hidden",et),t[27]=et,t[28]=pe);let Ge;t[29]!==S||t[30]!==pe?(Ge=(0,b.jsx)(im,{side:"bottom",className:pe,portal:!1,children:S}),t[29]=S,t[30]=pe,t[31]=Ge):Ge=t[31];let I;t[32]!==Re||t[33]!==Ge?(I=(0,b.jsxs)(oi,{children:[Re,Ge]}),t[32]=Re,t[33]=Ge,t[34]=I):I=t[34];let _;t[35]!==$||t[36]!==I?(_=(0,b.jsx)(fm,{onFocus:J,onBlur:$,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:I}),t[35]=$,t[36]=I,t[37]=_):_=t[37];let Z;return t[38]!==k||t[39]!==_?(Z=(0,b.jsx)(jd,{children:(0,b.jsx)(sm,{open:k,modal:!1,children:_})}),t[38]=k,t[39]=_,t[40]=Z):Z=t[40],Z};function $c(e,t,n){if(e&&!e.endsWith("/")&&((nd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ye.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Ye.basename(r.path)===e)&&!(n&&(n===e||Ye.basename(n)===e))))return e}function Hc(e){e.key==="Escape"&&e.currentTarget.blur()}var ea=fe(Pe(),1),qc=e=>{let t=(0,ea.c)(33),n=()=>{Jf(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=le(Yc),o;t[0]!==n||t[1]!==e?(o=B=>{B.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=B=>{B.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,b.jsx)(Xa,{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 h;t[12]===Symbol.for("react.memo_cache_sentinel")?(h={display:"block",padding:"10px"},t[12]=h):h=t[12];let m;t[13]===e.proposedName?m=t[14]:(m=(0,b.jsxs)("code",{style:h,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=m);let p;t[15]===e.proposedName?p=t[16]:(p=(0,b.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=p);let y;t[17]!==p||t[18]!==m?(y=(0,b.jsxs)("li",{style:f,children:["In your terminal, type",m,"to overwrite ",p," with the recovered changes."]}),t[17]=p,t[18]=m,t[19]=y):y=t[19];let w;t[20]!==y||t[21]!==d?(w=(0,b.jsx)(Qf,{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)(Xe,{"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)(Xe,{"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)(Qa,{children:[k,C]}),t[26]=k,t[27]=A);let O;return t[28]!==o||t[29]!==a||t[30]!==w||t[31]!==A?(O=(0,b.jsx)(Za,{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]=O):O=t[32],O};const zc=e=>{let t=(0,ea.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=ti(),i;t[0]===n?i=t[1]:(i=n===null?"app":Ye.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)(qc,{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=ni("global.save"),t[7]=d):d=t[7];let f=r?"yellow":"gray",h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=(0,b.jsx)(za,{strokeWidth:1.5,size:18}),t[8]=h):h=t[8];let m;return t[9]!==u||t[10]!==f?(m=(0,b.jsx)(Mt,{content:d,children:(0,b.jsx)(si,{onClick:u,id:"save-button","aria-label":"Save",className:"rectangle",color:f,children:h})}),t[9]=u,t[10]=f,t[11]=m):m=t[11],m};function Kc(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function Yc(){let e=wr(br()),t={version:"1",metadata:{marimo_version:Bd()},cells:e.map(Kc)};return JSON.stringify(t,null,2)}var Xc=fe(Pe(),1),rr=5e3;function Qc(){let e=(0,Xc.c)(12),t=oe(Ad),{state:n}=oe(ut),r=t.auto_download.includes("markdown"),o=t.auto_download.includes("html"),a=t.auto_download.includes("ipynb"),i=!r||n!==Qe.OPEN,s=!o||n!==Qe.OPEN,c=!a||n!==Qe.OPEN,{autoExportAsHTML:u,autoExportAsIPYNB:d,autoExportAsMarkdown:f}=jt(),h;e[0]===f?h=e[1]:(h=async()=>{await f({download:!1})},e[0]=f,e[1]=h);let m;e[2]===i?m=e[3]:(m={delayMs:rr,whenVisible:!0,disabled:i},e[2]=i,e[3]=m),Ar(h,m);let p;e[4]===u?p=e[5]:(p=async()=>{await u({download:!1,includeCode:!0,files:Tf.INSTANCE.filenames()})},e[4]=u,e[5]=p);let y;e[6]===s?y=e[7]:(y={delayMs:rr,whenVisible:!0,disabled:s},e[6]=s,e[7]=y),Ar(p,y);let w;e[8]===d?w=e[9]:(w=async()=>{await d({download:!1})},e[8]=d,e[9]=w);let k;e[10]===c?k=e[11]:(k={delayMs:rr,whenVisible:!0,disabled:c},e[10]=c,e[11]=k),Ar(w,k)}let or;Fn=Ot(void 0),or=Ot(e=>{let t=e(Fn);return Zc({state:e(tt),layout:e($a),lastSavedNotebook:t})});function Zc({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!Ja(i,n.codes)||!Ja(c,n.names)||!wn(s,n.configs)||!wn(t.selectedLayout,n.layout.selectedLayout)||!wn(t.layoutData,n.layout.layoutData)}var eu=fe(Pe(),1);function tu(e){let t=(0,eu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:u}=e,d=(0,F.useRef)(null),f;t[0]===n?f=t[1]:(f=n.join(":"),t[0]=n,t[1]=f);let h=f,m;t[2]===r?m=t[3]:(m=r.map(nu).join(":"),t[2]=r,t[3]=m);let p=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===Qe.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]!==p||t[13]!==w||t[14]!==h||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==u?(C=[h,p,w,o,a.state,u,c,s],t[12]=p,t[13]=w,t[14]=h,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=u,t[20]=C):C=t[20],(0,F.useEffect)(k,C)}function nu(e){return JSON.stringify(e)}var hn=fe(Pe(),1);gi=e=>{let t=(0,hn.c)(15),{kioskMode:n}=e,r=lm(),o=oe(or),a=oe(ut).state===Qe.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=ar(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],iu(c),Qc();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),Pd(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)(zc,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=w):w=t[9],w}let h;t[10]===Symbol.for("react.memo_cache_sentinel")?(h=ni("global.save"),t[10]=h):h=t[10];let m=o?"yellow":"hint-green",p;t[11]===Symbol.for("react.memo_cache_sentinel")?(p=(0,b.jsx)(za,{strokeWidth:1.5,size:18}),t[11]=p):p=t[11];let y;return t[12]!==f||t[13]!==m?(y=(0,b.jsx)(Mt,{content:h,children:(0,b.jsx)(si,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:m,onClick:f,children:p})}),t[12]=f,t[13]=m,t[14]=y):y=t[14],y};function ar(){let e=(0,hn.c)(20),{sendSave:t}=jt(),{openModal:n,closeModal:r,openAlert:o}=ti(),a=ka(Fn),i=cm(),s=fr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(k,C)=>{let A=s.get(ut),O=s.get(Pa);if(s.get(Yf))return;if(A.state!==Qe.OPEN){o("Failed to save notebook: not connected to a kernel.");return}We.log("saving to ",k),C&&O.format_on_save&&(We.log("formatting notebook (onSave)"),await md());let B=br(),T=wr(B),x=T.map(au),J=T.map(ou),te=T.map(ru),$=Aa(B),L=s.get($a);J.length!==0&&(await t({cellIds:x,codes:J,names:te,filename:k,configs:$,layout:If(),persist:!0}),a({names:te,codes:J,configs:$,layout:L}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let u=le(c),d;e[5]!==u||e[6]!==s?(d=k=>{let C=k===void 0?!1:k,A=s.get(Fa),O=s.get(ut);ta(A)&&O.state===Qe.OPEN&&u(A,C)},e[5]=u,e[6]=s,e[7]=d):d=e[7];let f=le(d),h;e[8]!==u||e[9]!==i?(h=k=>{i(k).then(C=>{C!==null&&u(C,!0)})},e[8]=u,e[9]=i,e[10]=h):h=e[10];let m=h,p;e[11]!==r||e[12]!==m||e[13]!==n||e[14]!==f||e[15]!==s?(p=()=>{let k=s.get(Fa),C=s.get(ut);f(!0),!ta(k)&&C.state!==Qe.CLOSED&&n((0,b.jsx)(cu,{onClose:r,onSave:m}))},e[11]=r,e[12]=m,e[13]=n,e[14]=f,e[15]=s,e[16]=p):p=e[16];let y=le(p),w;return e[17]!==f||e[18]!==y?(w={saveOrNameNotebook:y,saveIfNotebookIsPersistent:f},e[17]=f,e[18]=y,e[19]=w):w=e[19],w}function ru(e){return e.name}function ou(e){return e.code}function au(e){return e.id}function ta(e){return e!==null&&!e.startsWith("/tmp")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function iu(e){let t=(0,hn.c)(14),n=oe(Pa),r=Hu(),[o]=vn(ut),a=oe(or),i,s;if(t[0]!==r){let h=wr(r);i=h.map(lu),s=h.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=Aa(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],tu(f)}function su(e){return e.name}function lu(e){return e.code}var cu=e=>{let t=(0,hn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,F.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)(Xa,{children:"Save notebook"}),t[3]=c):c=t[3];let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,b.jsx)(xr,{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)(Or,{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)(Xe,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=f);let h=!o,m;t[9]===h?m=t[10]:(m=(0,b.jsx)(Xe,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:h,type:"submit",children:"Save"}),t[9]=h,t[10]=m);let p;t[11]!==f||t[12]!==m?(p=(0,b.jsxs)(Qa,{children:[f,m]}),t[11]=f,t[12]=m,t[13]=p):p=t[13];let y;return t[14]!==d||t[15]!==p?(y=(0,b.jsxs)(Za,{children:[c,d,p]}),t[14]=d,t[15]=p,t[16]=y):y=t[16],y};Ln=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var na={modified:{doc:""},original:{doc:""}},ra=(0,F.createContext)(na);function uu(e,t){return X({},e,t,{modified:X({},e.modified,t.modified),original:X({},e.original,t.original)})}var ir=()=>(0,F.useContext)(ra),du=e=>{var{children:t,theme:n}=e,[r,o]=(0,F.useReducer)(uu,X({},na,{theme:n}));return(0,F.useEffect)(()=>o({theme:n}),[n]),(0,b.jsx)(ra.Provider,{value:X({},r,{dispatch:o}),children:t})},fu=["extensions","value","selection","onChange"],oa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,fu),{theme:i,dispatch:s}=ir(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};oa.displayName="CodeMirrorMerge.Original";var mu=["extensions","value","selection","onChange"],aa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,mu),{theme:i,dispatch:s}=ir(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};aa.displayName="CodeMirrorMerge.Modified";var gu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],hu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],ia=F.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:h}=e,m=Rt(e,gu),p=ir(),{modified:y,modifiedExtension:w,original:k,originalExtension:C,theme:A,dispatch:O}=p,B=Rt(p,hu),T=(0,F.useRef)(null),x=(0,F.useRef)(),J={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:d,diffConfig:f,root:h};(0,F.useImperativeHandle)(t,()=>({container:T.current,view:x.current,modified:y,original:k,config:X({a:k,b:y,parent:T.current},J)}),[T,x,y,k,J]);var te=P.updateListener.of(L=>{if(L.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var j=L.state.doc.toString();C==null||C.onChange(j,L)}}),$=P.updateListener.of(L=>{if(L.docChanged&&typeof(w==null?void 0:w.onChange)=="function"){var j=L.state.doc.toString();w==null||w.onChange(j,L)}});return(0,F.useEffect)(()=>{!x.current&&T.current&&C&&w&&(x.current=new ii(X({a:X({},k,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:A})),te]}),b:X({},y,{extensions:[...(w==null?void 0:w.extension)||[],...wt(X({},w==null?void 0:w.option,{theme:A})),$]}),parent:T.current},J)),O({view:x.current}))},[x,T,C,w]),(0,F.useEffect)(()=>{var K,E;if(k&&k.doc&&x.current){var L=(K=x.current)==null?void 0:K.a.state.doc.toString();if(L!==k.doc){var j;(j=x.current)==null||j.a.dispatch({changes:{from:0,to:L.length,insert:k.doc||""}})}}if(y&&y.doc&&x.current){var se=(E=x.current)==null?void 0:E.b.state.doc.toString();if(se!==y.doc){var U;(U=x.current)==null||U.b.dispatch({changes:{from:0,to:se.length,insert:y.doc||""}})}}if(u&&x.current){var R=x.current.a.state.selection.ranges[0].from,de=x.current.b.state.selection.ranges[0].from;x.current.destroy(),x.current=new ii(X({a:X({},k,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:A}))]}),b:X({},y,{extensions:[...(w==null?void 0:w.extension)||[],...wt(X({},w==null?void 0:w.option,{theme:A}))]}),parent:T.current},J)),R&&(x.current.a.focus(),x.current.a.dispatch({selection:{anchor:R,head:R}})),de&&(x.current.b.focus(),x.current.b.dispatch({selection:{anchor:de,head:de}}))}},[x,A,T.current,k,y,C,w,u]),(0,F.useEffect)(()=>()=>x.current&&x.current.destroy(),[]),(0,F.useEffect)(()=>{if(x.current){var L={};B.orientation!==o&&(L.orientation=o),B.revertControls!==a&&(L.revertControls=a),B.highlightChanges!==i&&(L.highlightChanges=i),B.gutter!==s&&(L.gutter=s),B.collapseUnchanged!==c&&(L.collapseUnchanged=c),B.renderRevertControl!==d&&(L.collapseUnchanged=c),Object.keys(L).length&&O&&x.current&&(x.current.reconfigure(X({},L)),O(X({},L)))}},[O,x,o,a,i,s,c,d]),(0,b.jsx)("div",X({ref:T,className:"cm-merge-theme"+(n?" "+n:"")},m,{children:r}))});ia.displayName="CodeMirrorMerge.Internal";var pu=["theme"],pn=F.forwardRef((e,t)=>{var{theme:n}=e;return(0,b.jsx)(du,{theme:n,children:(0,b.jsx)(ia,X({},Rt(e,pu),{ref:t}))})});pn.Original=oa,pn.Modified=aa,pn.displayName="CodeMirrorMerge";var sr=pn,bu=fe(Pe(),1),yu=sr.Original,wu=sr.Modified,sa=[ld(),P.lineWrapping];const vu=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:u,children:d})=>{let[f,h]=(0,F.useState)(!1),[m,p]=(0,F.useState)({}),[y,w]=vn(Kf),k=(0,F.useId)(),C=Od(),{initialPrompt:A,triggerImmediately:O,cellId:B}=t??{},T=B===e,x=oe(Mf).get(e),J;(x==null?void 0:x.type)==="update_cell"&&(J=x.previousCode);let{completion:te,input:$,stop:L,isLoading:j,setCompletion:se,setInput:U,handleSubmit:R,complete:de}=Ff({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:A,streamProtocol:"text",experimental_throttle:100,body:{...Object.keys(m).length>0?m:A?Ha({input:A}):{},includeOtherCode:y?yr(a):"",code:a,language:o},onError:I=>{yt({title:"Completion failed",description:em(I)})},onFinish:(I,_)=>{se(_.trimEnd())}}),K=F.useRef(null),E=te.trimEnd(),S=(0,F.useCallback)(()=>{O&&!j&&A&&de(A)},[O]);(0,F.useEffect)(()=>{var I;T&&($u(()=>{let _=K.current;return _!=null&&_.view?(_.view.focus(),S(),!0):!1},{retries:3,delay:100,initialDelay:100}),dd((I=K.current)==null?void 0:I.view))},[T,S]),(0,F.useEffect)(()=>{T&&U(A||"")},[T,A,U]);let{theme:G}=Sf(),D=()=>{s(E),se("")},ne=()=>{i(),se("")},Me=T&&O&&(E||j);u??(u="below");let Re=T&&(!O||f),et=(0,b.jsx)("div",{className:st("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",Me?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,b.jsx)(Eu,{status:j?"loading":"generated",onAccept:D,onReject:ne,showInputPrompt:f,setShowInputPrompt:h,runCell:c,className:"mt-4 mb-3 w-128"})}),pe=(I,_)=>(0,b.jsxs)(sr,{className:"cm",theme:G,children:[(0,b.jsx)(yu,{onChange:r,value:I,extensions:sa}),(0,b.jsx)(wu,{value:_,editable:!1,readOnly:!0,extensions:sa})]}),Ge=()=>{if(E&&T)return pe(a,E);if(!E&&J)return pe(J,a)};return(0,b.jsxs)("div",{className:st("flex flex-col w-full rounded-[inherit]",n),children:[(0,b.jsx)("div",{className:st("flex items-center gap-2 border-b px-3 transition-all rounded-[inherit] rounded-b-none duration-300",Re&&"max-h-[400px] min-h-11 visible",!Re&&"max-h-0 min-h-0 invisible"),children:T&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(zf,{className:"text-(--blue-10) shrink-0",size:16}),(0,b.jsx)(_f,{inputRef:K,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:$,onChange:I=>{U(I),p(Ha({input:I}))},onSubmit:()=>{var I;j||((I=K.current)!=null&&I.view&&Df(K.current.view),R())},onKeyDown:Pf({handleAcceptCompletion:D,handleDeclineCompletion:ne,isLoading:j,hasCompletion:E.trim().length>0})}),j&&(0,b.jsxs)(Xe,{"data-testid":"stop-completion-button",variant:"text",size:"xs",className:"mb-0",onClick:L,children:[(0,b.jsx)(qa,{className:"animate-spin mr-1",size:14}),"Stop"]}),(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:[(0,b.jsx)(Mt,{content:"Add context",children:(0,b.jsx)(Xe,{variant:"text",size:"icon",onClick:()=>Of(K),children:(0,b.jsx)(Lf,{className:"h-3 w-3"})})}),(0,b.jsx)(Rf,{triggerClassName:"h-7 text-xs w-24",iconSize:"small",forRole:"edit"})]}),E&&(0,b.jsx)("div",{className:"-mb-1.5",children:(0,b.jsx)(Uf,{isLoading:j,onAccept:D,onDecline:ne,size:"xs"})})]}),(0,b.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,b.jsx)(Mt,{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)(sd,{"data-testid":"include-other-cells-checkbox",id:k,checked:y,onCheckedChange:I=>w(!!I)}),(0,b.jsx)(xr,{htmlFor:k,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Include all code"})]})}),(0,b.jsx)(Xe,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:j,onClick:()=>{L(),i(),se("")},children:(0,b.jsx)(Gf,{className:"text-(--red-10)",size:16})})]})}),u==="above"&&et,Ge(),(!E||!T)&&!J&&d,u==="below"&&et]})};var Eu=e=>{let t=(0,bu.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=st("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)(qa,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,b.jsx)(Vf,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=u,t[3]=f);let h=u?"Generating fix...":"Showing fix",m;t[4]===h?m=t[5]:(m=(0,b.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:h}),t[4]=h,t[5]=m);let p;t[6]!==f||t[7]!==m?(p=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[f,m]}),t[6]=f,t[7]=m,t[8]=p):p=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,b.jsx)(xr,{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)(bm,{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)(jf,{isLoading:u,onAccept:r,size:"xs",buttonStyles:"border-none rounded-md rounded-r-none",playButtonStyles:"border-0 border-l-1 rounded-md rounded-l-none",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)(Bf,{onDecline:o,size:"xs",className:"border-none rounded-md"}),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 O;return t[22]!==d||t[23]!==A||t[24]!==p||t[25]!==w?(O=(0,b.jsxs)("div",{className:d,children:[p,w,A]}),t[22]=d,t[23]=A,t[24]=p,t[25]=w,t[26]=O):O=t[26],O},lr="web application/x-marimo-cell",Nu=Ua({cells:Ed(Ua({code:Nd()})),version:vd("1.0")});function ku(){let e=En();return{copyCells:le(async t=>{let n=br(),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 Tu().add(lr,o).add("text/plain",a).build();await navigator.clipboard.write([i]),la(r.length)}catch(o){We.error("Failed to copy cells to clipboard",o);try{await tm(r.map(a=>a.code).join(`
|
|
22
22
|
|
|
23
|
-
`)),la(r.length)}catch{Cu()}}}),pasteAtCell:le(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(lr)){let s=await(await i.getType(lr)).text();try{let c=Nu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.reverse();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){We.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Su()}catch(o){We.error("Failed to paste from clipboard",o),xu()}})}}var la=e=>{let t=e===1?"Cell":`${e} cells`;yt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Cu=()=>{yt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Su=()=>{yt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},xu=()=>{yt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Tu=class{constructor(){g(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(We.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Iu=fe(Pe(),1);function ca(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:xm,createActions:Tm,valueAtom:cr,useActions:Au}=Sr(ca,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:ca()});bi=()=>oe(cr);function Fu(e){let t=(0,Iu.c)(2),n;return t[0]===e?n=t[1]:(n=Ot(r=>r(cr).selected.has(e)),t[0]=e,t[1]=n),oe(n)}Fr=function(){return Au()};function Lu(e){return e.get(cr).selected}let ua,da,fa;ua=fe(Pe(),1),{valueAtom:da,useActions:Gt}=Sr(()=>new Set,{add:(e,t)=>{let n=new Set(e);return n.add(t),n},remove:(e,t)=>{let n=new Set(e);return n.delete(t),n}}),fa=e=>Ot(t=>t(da).has(e)),wi=function(e){let t=(0,ua.c)(2),n;return t[0]===e?n=t[1]:(n=fa(e),t[0]=e,t[1]=n),oe(n)};var Lt=new WeakMap,Ou=500;function Du(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function Uu(e,t){let n=Du(e),r=e.target;if(!n||!r)return!1;let o=Lt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Lt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Lt.delete(r)},Ou);return Lt.set(r,{sequence:a,timeout:s}),!0}return Lt.delete(r),!1}var ur=fe(Pe(),1);function ma(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function Ke(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function _u(e){let t=(0,ur.c)(11),n=pm(),r=En(),o=Gt(),a;t[0]!==e||t[1]!==n?(a=()=>{n.focusCell({cellId:e})},t[0]=e,t[1]=n,t[2]=a):a=t[2];let i;t[3]!==r||t[4]!==e||t[5]!==n||t[6]!==o?(i=()=>{o.remove(e),r.markTouched({cellId:e}),n.blurCell()},t[3]=r,t[4]=e,t[5]=n,t[6]=o,t[7]=i):i=t[7];let s;t[8]!==a||t[9]!==i?(s={onFocusWithin:a,onBlurWithin:i},t[8]=a,t[9]=i,t[10]=s):s=t[10];let{focusWithinProps:c}=qf(s);return c}pi=function(e,t){let n=(0,ur.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=ar(),{saveCellConfig:s}=jt(),c=ka(Ya),u=En(),d=fr(),f=Gt(),h=nm(),m=oe(ja),{copyCells:p,pasteAtCell:y}=ku(),w=Fr(),k=Fu(e),C=On(),A=Tr(),O=oe(Er),B;n[0]!==C||n[1]!==w?(B={clear:()=>{C.clear(),w.clear()},extend:U=>{C.clear(),w.extend(U)},select:U=>{C.clear(),w.select(U)}},n[0]=C,n[1]=w,n[2]=B):B=n[2];let T=B,x=oe(Ba),J;n[3]===x?J=n[4]:(J=(U,R)=>vr(x.getHotkey(U).key)(R.nativeEvent||R),n[3]=x,n[4]=J);let te=J,$=_u(e),L;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==p||n[10]!==A||n[11]!==o||n[12]!==k||n[13]!==te||n[14]!==m||n[15]!==y||n[16]!==C||n[17]!==h||n[18]!==s||n[19]!==i||n[20]!==T||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==O?(L={onKeyDown:U=>{if(Nr.fromInput(U)){U.continuePropagation();return}let R={"Mod+ArrowUp":()=>(u.focusTopCell(),T.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),T.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),T.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),T.clear(),!0),ArrowLeft:()=>{if(r){let E=d.get(tt),S=E.cellIds.findWithId(e),G=E.cellIds.indexOf(S),D=E.cellIds.at(G-1);if(D&&D.length>0){let ne=ga(e,D);return u.focusCell({cellId:ne,where:"exact"}),T.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=d.get(tt),S=E.cellIds.findWithId(e),G=E.cellIds.indexOf(S),D=E.cellIds.at(G+1);if(D&&D.length>0){let ne=ga(e,D);return u.focusCell({cellId:ne,where:"exact"}),T.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=d.get(La);T.extend({cellId:e,allCellIds:E});let S=E.findWithId(e).before(e);return S&&T.extend({cellId:S,allCellIds:E}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=d.get(La);T.extend({cellId:e,allCellIds:E});let S=E.findWithId(e).after(e);return S&&T.extend({cellId:S,allCellIds:E}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>k?(T.clear(),!0):!1,Enter:()=>(f.add(e),Sa(d,e),T.clear(),!0),s:()=>(i(),!0)};for(let[E,S]of Object.entries(R))if(vr(E)(U)&&S()){U.preventDefault();return}let de={"cell.run":Ke(E=>(h(E),!0)),"cell.runAndNewBelow":Ke(E=>{h(E);let S=E[E.length-1];return u.moveToNextCell({cellId:S,before:!1}),!0}),"cell.runAndNewAbove":Ke(E=>{h(E);let S=E[0];return u.moveToNextCell({cellId:S,before:!0}),!0}),"cell.createAbove":E=>(u.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(u.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ke(E=>{let S=E[0];return d.get(tt).cellIds.findWithId(S).first()===S?!1:(E.forEach(G=>{u.moveCell({cellId:G,before:!0})}),!0)}),"cell.moveDown":Ke(E=>{let S=E[E.length-1];return d.get(tt).cellIds.findWithId(S).last()===S?!1:([...E].reverse().forEach(G=>{u.moveCell({cellId:G,before:!1})}),!0)}),"cell.moveLeft":ma(E=>r?(u.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ma(E=>r?(u.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ke(E=>{var G;let S=!E.map(D=>{var ne;return((ne=d.get(tt).cellData[D])==null?void 0:ne.config)||null}).every(Bu);s({configs:Object.fromEntries(E.map(D=>[D,{hide_code:S}]))});for(let D of E)u.updateCellConfig({cellId:D,config:{hide_code:S}});if(E.length===1){let D=E[0];u.focusCell({cellId:D,where:"after"}),S?((G=o.current)==null||G.contentDOM.blur(),xa(D)):Sa(d,D)}return!0}),"cell.focusDown":E=>(u.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(u.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ke(E=>(E.forEach(S=>{u.sendToBottom({cellId:S})}),!0)),"cell.sendToTop":Ke(E=>([...E].reverse().forEach(S=>{u.sendToTop({cellId:S})}),!0)),"cell.aiCompletion":E=>{var G;let S=!1;return c(D=>(D==null?void 0:D.cellId)===E?(S=!0,null):{cellId:E}),S&&((G=o.current)==null||G.focus()),!0},"cell.cellActions":()=>{var E;return(E=a.current)==null||E.toggle(),!0},"command.copyCell":Ke(E=>(p(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Nr.hasModifier(U)?!1:(u.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Nr.hasModifier(U)?!1:(u.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!O.keymap.destructive_delete)return!1;let E=K.size>=2?[...K]:[e],S=d.get(tt);return E.some(G=>{let{status:D}=S.cellRuntime[G];return D==="running"||D==="queued"})?!1:C.idle?(C.submit(E),!0):(A({cellIds:E}),C.clear(),!0)}},K=Lu(d);if(m==="vim"&&Uu(U.nativeEvent||U,{j:R.ArrowDown,k:R.ArrowUp,h:R.ArrowLeft,l:R.ArrowRight,i:R.Enter,"shift+j":R["Shift+ArrowDown"],"shift+k":R["Shift+ArrowUp"],"g g":R["Mod+ArrowUp"],"shift+g":R["Mod+ArrowDown"],"d d":()=>de["cell.delete"](),"y y":()=>(p(K.size>=2?[...K]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,S]of Object.entries(de))if(te(E,U)){if(S instanceof Function){if(S(e)){U.preventDefault();return}}else if(K.size>=2?S.bulkHandle([...K]):S.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=p,n[10]=A,n[11]=o,n[12]=k,n[13]=te,n[14]=m,n[15]=y,n[16]=C,n[17]=h,n[18]=s,n[19]=i,n[20]=T,n[21]=c,n[22]=d,n[23]=f,n[24]=O,n[25]=L):L=n[25];let{keyboardProps:j}=Ka(L),se;return n[26]!==$||n[27]!==k||n[28]!==j?(se=Zf($,j,{"data-selected":k,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=$,n[27]=k,n[28]=j,n[29]=se):se=n[29],se};function Bu(e){return e==null?void 0:e.hide_code}function ju(e,t){let n=(0,ur.c)(12),r=Gt(),o=oe(ja),a=oe(Ba),i;n[0]===a?i=n[1]:(i=vr(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),xa(e)},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let p=t.current,y=p.state;if(!y.selection.main.empty){p.dispatch({selection:lt.single(y.selection.main.from)});return}if(Pt(y)!==null){kf(p);return}u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,h;n[8]!==f||n[9]!==o||n[10]!==s?(h={onKeyDown:p=>{o==="vim"?s(p)&&f():p.key==="Escape"&&f(),p.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=h):h=n[11];let{keyboardProps:m}=Ka(h);return m}function ga(e,t){let n=document.getElementById(Ca.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Ca.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}var ha=fe(Pe(),1);const Pu=e=>{let t=(0,ha.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=Ta.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=Ta.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Ku,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let h=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(hm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let p;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(p=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=p):p=t[15];let y;t[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,b.jsx)(gm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=y):y=t[16];let w;t[17]!==o||t[18]!==n?(w=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:y,toType:"python",displayName:"Python",onAfterToggle:Id.NOOP}),t[17]=o,t[18]=n,t[19]=w):w=t[19];let k;return t[20]!==w||t[21]!==f||t[22]!==p?(k=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,p,w]}),t[20]=w,t[21]=f,t[22]=p,t[23]=k):k=t[23],k},dr=e=>{let t=(0,ha.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(Dt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,h;t[4]!==d||t[5]!==a?(h=(0,b.jsx)(Xe,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=h):h=t[6];let m;return t[7]!==f||t[8]!==h?(m=(0,b.jsx)(Mt,{content:f,children:h}),t[7]=f,t[8]=h,t[9]=m):m=t[9],m};var pa=fe(Pe(),1),ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:h,hasOutput:m,showHiddenCode:p,languageAdapter:y,setLanguageAdapter:w,showLanguageToggles:k=!0,outputArea:C})=>{var Ge;let[A,O]=vn(Ya),B=ai(),{saveOrNameNotebook:T}=ar(),x=On(),{saveCellConfig:J}=jt(),te=a==="running"||a==="queued",$=En(),L=ym(),j=y==="markdown",se=le(()=>te?!1:x.idle&&u.keymap.destructive_delete?(x.submit([n]),!0):(B({cellId:n}),!0)),U=le(()=>te?!1:(c(),!0)),R=le(()=>{let I=!r.hide_code;return J({configs:{[n]:{hide_code:I}}}),$.updateCellConfig({cellId:n,config:{hide_code:I}}),I}),de=oe(Fd),K=le(()=>{mm({autoInstantiate:de,createNewCell:$.createNewCell})}),E=Ld(u),S=(0,F.useMemo)(()=>{var _;let I=Ec({cellId:n,showPlaceholder:t,enableAI:E,cellActions:{...$,afterToggleMarkdown:K,onRun:U,deleteCell:se,saveNotebook:T,createManyBelow:Z=>{for(let V of[...Z].reverse())$.createNewCell({code:V,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:L,toggleHideCode:R,aiCellCompletion:()=>{let Z=!1;return O(V=>(V==null?void 0:V.cellId)===n?(Z=!0,null):{cellId:n}),Z}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new _a(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:((_=u.ai)==null?void 0:_.inline_tooltip)??!1});return I.push(He.define(Z=>(w(Z.state.field(kn).type),{update(V){w(V.state.field(kn).type)}})),P.updateListener.of(Z=>{Z.selectionSet&&Z.state.selection.ranges.some(V=>V.from!==V.to)&&p({focus:!1})}),P.domEventHandlers({focus:()=>{p({focus:!1})}})),I},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,E,e,t,$,L,R,se,U,O,K,w,p,T]),G=mr(),D=le(()=>{if(G){let _=nr(n,Z=>{$.updateCellCode({cellId:n,code:Z,formattingChange:!0})},o);S.push(_.extension),o=_.code}let I=new P({state:kr.create({doc:o,extensions:S})});s(I),G||Dt(I,{language:pr(I.state).type})}),ne=le(()=>{if(Ut(d.current!==null,"Editor view is not initialized"),G){let I=nr(n,_=>{$.updateCellCode({cellId:n,code:_,formattingChange:!0})});S.push(I.extension)}d.current.dispatch({effects:[me.reconfigure.of([S]),pd(d.current,{completionConfig:u.completion,hotkeysProvider:new _a(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),Me=le(()=>{if(Ut(i,"Editor view is not initialized"),G){let _=nr(n,Z=>{$.updateCellCode({cellId:n,code:Z,formattingChange:!0})},o);S.push(_.extension),o=_.code}let I=new P({state:kr.fromJSON(i,{doc:o,extensions:S},{history:ff})});G||Dt(I,{language:pr(I.state).type}),s(I),$.clearSerializedEditorState({cellId:n})});(0,F.useEffect)(()=>{i===null?d.current===null?D():ne():Me(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[D,ne,Me,d,f,i,S]),(0,F.useEffect)(()=>{let I=d.current;return()=>{I==null||I.destroy()}},[d]);let Re=ju(n,d),et=h&&!j||h&&j&&!m,pe="";return j&&h&&m?pe="h-0 overflow-hidden":h&&(pe="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(vu,{cellId:n,aiCompletionCell:A,currentCode:((Ge=d.current)==null?void 0:Ge.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:le(()=>{var I;O(null),(I=d.current)==null||I.focus()}),onChange:le(I=>{var _;(_=d.current)==null||_.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:I}})}),acceptChange:le(I=>{var _,Z;(_=d.current)==null||_.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:I}}),(Z=d.current)==null||Z.focus(),O(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...Re,children:[et&&(0,b.jsx)(Hf,{tooltip:"Edit code",className:"absolute inset-0 z-10",onClick:p}),(0,b.jsx)(ya,{className:pe,editorView:d.current,ref:f}),!h&&k&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(Pu,{code:o,editorView:d.current,currentLanguageAdapter:y,onAfterToggle:K})})]})})},ya=F.forwardRef((e,t)=>{let n=(0,pa.c)(10),{className:r,editorView:o}=e,a=(0,F.useRef)(null),i,s;n[0]===o?(i=n[1],s=n[2]):(i=()=>{o!==null&&a.current!==null&&a.current.children.length===0&&a.current.append(o.dom)},s=[o,a],n[0]=o,n[1]=i,n[2]=s),(0,F.useEffect)(i,s);let c;n[3]===r?c=n[4]:(c=st("cm mathjax_ignore",r),n[3]=r,n[4]=c);let u;n[5]===t?u=n[6]:(u=f=>{t?Ln(t,a)(f):Ln(a)(f)},n[5]=t,n[6]=u);let d;return n[7]!==c||n[8]!==u?(d=(0,b.jsx)("div",{className:c,ref:u,"data-testid":"cell-editor"}),n[7]=c,n[8]=u,n[9]=d):d=n[9],d});ya.displayName="CellCodeMirrorEditor";function Mu(e){let t=n=>{let r=(0,pa.c)(5),o=oe(ut),[a,i]=vn(dt);if(o.state===Qe.CONNECTING||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)(hf,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(Xe,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}vi=mr()?Mu((0,F.memo)(ba)):(0,F.memo)(ba)});export{mi as _,Sm as __tla,Fr as a,gi as c,dt as d,hi as f,An as g,Lr as h,Gt as i,Fn as l,be as m,pi as n,bi as o,yi as p,wi as r,Ln as s,vi as t,Or as u,On as v};
|
|
23
|
+
`)),la(r.length)}catch{Cu()}}}),pasteAtCell:le(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(lr)){let s=await(await i.getType(lr)).text();try{let c=Nu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.reverse();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){We.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Su()}catch(o){We.error("Failed to paste from clipboard",o),xu()}})}}var la=e=>{let t=e===1?"Cell":`${e} cells`;yt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Cu=()=>{yt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Su=()=>{yt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},xu=()=>{yt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Tu=class{constructor(){g(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(We.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Iu=fe(Pe(),1);function ca(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:xm,createActions:Tm,valueAtom:cr,useActions:Au}=Sr(ca,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:ca()});bi=()=>oe(cr);function Fu(e){let t=(0,Iu.c)(2),n;return t[0]===e?n=t[1]:(n=Ot(r=>r(cr).selected.has(e)),t[0]=e,t[1]=n),oe(n)}Fr=function(){return Au()};function Lu(e){return e.get(cr).selected}let ua,da,fa;ua=fe(Pe(),1),{valueAtom:da,useActions:Gt}=Sr(()=>new Set,{add:(e,t)=>{let n=new Set(e);return n.add(t),n},remove:(e,t)=>{let n=new Set(e);return n.delete(t),n}}),fa=e=>Ot(t=>t(da).has(e)),wi=function(e){let t=(0,ua.c)(2),n;return t[0]===e?n=t[1]:(n=fa(e),t[0]=e,t[1]=n),oe(n)};var Lt=new WeakMap,Ou=500;function Du(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function Uu(e,t){let n=Du(e),r=e.target;if(!n||!r)return!1;let o=Lt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Lt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Lt.delete(r)},Ou);return Lt.set(r,{sequence:a,timeout:s}),!0}return Lt.delete(r),!1}var ur=fe(Pe(),1);function ma(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function Ke(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function _u(e){let t=(0,ur.c)(11),n=pm(),r=En(),o=Gt(),a;t[0]!==e||t[1]!==n?(a=()=>{n.focusCell({cellId:e})},t[0]=e,t[1]=n,t[2]=a):a=t[2];let i;t[3]!==r||t[4]!==e||t[5]!==n||t[6]!==o?(i=()=>{o.remove(e),r.markTouched({cellId:e}),n.blurCell()},t[3]=r,t[4]=e,t[5]=n,t[6]=o,t[7]=i):i=t[7];let s;t[8]!==a||t[9]!==i?(s={onFocusWithin:a,onBlurWithin:i},t[8]=a,t[9]=i,t[10]=s):s=t[10];let{focusWithinProps:c}=qf(s);return c}pi=function(e,t){let n=(0,ur.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=ar(),{saveCellConfig:s}=jt(),c=ka(Ya),u=En(),d=fr(),f=Gt(),h=nm(),m=oe(ja),{copyCells:p,pasteAtCell:y}=ku(),w=Fr(),k=Fu(e),C=On(),A=Tr(),O=oe(Er),B;n[0]!==C||n[1]!==w?(B={clear:()=>{C.clear(),w.clear()},extend:U=>{C.clear(),w.extend(U)},select:U=>{C.clear(),w.select(U)}},n[0]=C,n[1]=w,n[2]=B):B=n[2];let T=B,x=oe(Ba),J;n[3]===x?J=n[4]:(J=(U,R)=>vr(x.getHotkey(U).key)(R.nativeEvent||R),n[3]=x,n[4]=J);let te=J,$=_u(e),L;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==p||n[10]!==A||n[11]!==o||n[12]!==k||n[13]!==te||n[14]!==m||n[15]!==y||n[16]!==C||n[17]!==h||n[18]!==s||n[19]!==i||n[20]!==T||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==O?(L={onKeyDown:U=>{if(Nr.fromInput(U)){U.continuePropagation();return}let R={"Mod+ArrowUp":()=>(u.focusTopCell(),T.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),T.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),T.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),T.clear(),!0),ArrowLeft:()=>{if(r){let E=d.get(tt),S=E.cellIds.findWithId(e),G=E.cellIds.indexOf(S),D=E.cellIds.at(G-1);if(D&&D.length>0){let ne=ga(e,D);return u.focusCell({cellId:ne,where:"exact"}),T.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=d.get(tt),S=E.cellIds.findWithId(e),G=E.cellIds.indexOf(S),D=E.cellIds.at(G+1);if(D&&D.length>0){let ne=ga(e,D);return u.focusCell({cellId:ne,where:"exact"}),T.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=d.get(La);T.extend({cellId:e,allCellIds:E});let S=E.findWithId(e).before(e);return S&&T.extend({cellId:S,allCellIds:E}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=d.get(La);T.extend({cellId:e,allCellIds:E});let S=E.findWithId(e).after(e);return S&&T.extend({cellId:S,allCellIds:E}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>k?(T.clear(),!0):!1,Enter:()=>(f.add(e),Sa(d,e),T.clear(),!0),s:()=>(i(),!0)};for(let[E,S]of Object.entries(R))if(vr(E)(U)&&S()){U.preventDefault();return}let de={"cell.run":Ke(E=>(h(E),!0)),"cell.runAndNewBelow":Ke(E=>{h(E);let S=E[E.length-1];return u.moveToNextCell({cellId:S,before:!1}),!0}),"cell.runAndNewAbove":Ke(E=>{h(E);let S=E[0];return u.moveToNextCell({cellId:S,before:!0}),!0}),"cell.createAbove":E=>(u.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(u.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ke(E=>{let S=E[0];return d.get(tt).cellIds.findWithId(S).first()===S?!1:(E.forEach(G=>{u.moveCell({cellId:G,before:!0})}),!0)}),"cell.moveDown":Ke(E=>{let S=E[E.length-1];return d.get(tt).cellIds.findWithId(S).last()===S?!1:([...E].reverse().forEach(G=>{u.moveCell({cellId:G,before:!1})}),!0)}),"cell.moveLeft":ma(E=>r?(u.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ma(E=>r?(u.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ke(E=>{var G;let S=!E.map(D=>{var ne;return((ne=d.get(tt).cellData[D])==null?void 0:ne.config)||null}).every(Bu);s({configs:Object.fromEntries(E.map(D=>[D,{hide_code:S}]))});for(let D of E)u.updateCellConfig({cellId:D,config:{hide_code:S}});if(E.length===1){let D=E[0];u.focusCell({cellId:D,where:"after"}),S?((G=o.current)==null||G.contentDOM.blur(),xa(D)):Sa(d,D)}return!0}),"cell.focusDown":E=>(u.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(u.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ke(E=>(E.forEach(S=>{u.sendToBottom({cellId:S})}),!0)),"cell.sendToTop":Ke(E=>([...E].reverse().forEach(S=>{u.sendToTop({cellId:S})}),!0)),"cell.aiCompletion":E=>{var G;let S=!1;return c(D=>(D==null?void 0:D.cellId)===E?(S=!0,null):{cellId:E}),S&&((G=o.current)==null||G.focus()),!0},"cell.cellActions":()=>{var E;return(E=a.current)==null||E.toggle(),!0},"command.copyCell":Ke(E=>(p(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Nr.hasModifier(U)?!1:(u.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Nr.hasModifier(U)?!1:(u.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!O.keymap.destructive_delete)return!1;let E=K.size>=2?[...K]:[e],S=d.get(tt);return E.some(G=>{let{status:D}=S.cellRuntime[G];return D==="running"||D==="queued"})?!1:C.idle?(C.submit(E),!0):(A({cellIds:E}),C.clear(),!0)}},K=Lu(d);if(m==="vim"&&Uu(U.nativeEvent||U,{j:R.ArrowDown,k:R.ArrowUp,h:R.ArrowLeft,l:R.ArrowRight,i:R.Enter,"shift+j":R["Shift+ArrowDown"],"shift+k":R["Shift+ArrowUp"],"g g":R["Mod+ArrowUp"],"shift+g":R["Mod+ArrowDown"],"d d":()=>de["cell.delete"](),"y y":()=>(p(K.size>=2?[...K]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,S]of Object.entries(de))if(te(E,U)){if(S instanceof Function){if(S(e)){U.preventDefault();return}}else if(K.size>=2?S.bulkHandle([...K]):S.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=p,n[10]=A,n[11]=o,n[12]=k,n[13]=te,n[14]=m,n[15]=y,n[16]=C,n[17]=h,n[18]=s,n[19]=i,n[20]=T,n[21]=c,n[22]=d,n[23]=f,n[24]=O,n[25]=L):L=n[25];let{keyboardProps:j}=Ka(L),se;return n[26]!==$||n[27]!==k||n[28]!==j?(se=Zf($,j,{"data-selected":k,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=$,n[27]=k,n[28]=j,n[29]=se):se=n[29],se};function Bu(e){return e==null?void 0:e.hide_code}function ju(e,t){let n=(0,ur.c)(12),r=Gt(),o=oe(ja),a=oe(Ba),i;n[0]===a?i=n[1]:(i=vr(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),xa(e)},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let p=t.current,y=p.state;if(!y.selection.main.empty){p.dispatch({selection:lt.single(y.selection.main.from)});return}if(Pt(y)!==null){kf(p);return}u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,h;n[8]!==f||n[9]!==o||n[10]!==s?(h={onKeyDown:p=>{o==="vim"?s(p)&&f():p.key==="Escape"&&f(),p.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=h):h=n[11];let{keyboardProps:m}=Ka(h);return m}function ga(e,t){let n=document.getElementById(Ca.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Ca.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}var ha=fe(Pe(),1);const Pu=e=>{let t=(0,ha.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=Ta.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=Ta.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Ku,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let h=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(hm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let p;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(p=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=p):p=t[15];let y;t[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,b.jsx)(gm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=y):y=t[16];let w;t[17]!==o||t[18]!==n?(w=(0,b.jsx)(dr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:y,toType:"python",displayName:"Python",onAfterToggle:Id.NOOP}),t[17]=o,t[18]=n,t[19]=w):w=t[19];let k;return t[20]!==w||t[21]!==f||t[22]!==p?(k=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,p,w]}),t[20]=w,t[21]=f,t[22]=p,t[23]=k):k=t[23],k},dr=e=>{let t=(0,ha.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(Dt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,h;t[4]!==d||t[5]!==a?(h=(0,b.jsx)(Xe,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=h):h=t[6];let m;return t[7]!==f||t[8]!==h?(m=(0,b.jsx)(Mt,{content:f,children:h}),t[7]=f,t[8]=h,t[9]=m):m=t[9],m};var pa=fe(Pe(),1),ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:h,hasOutput:m,showHiddenCode:p,languageAdapter:y,setLanguageAdapter:w,showLanguageToggles:k=!0,outputArea:C})=>{var Ge;let[A,O]=vn(Ya),B=ai(),{saveOrNameNotebook:T}=ar(),x=On(),{saveCellConfig:J}=jt(),te=a==="running"||a==="queued",$=En(),L=ym(),j=y==="markdown",se=le(()=>te?!1:x.idle&&u.keymap.destructive_delete?(x.submit([n]),!0):(B({cellId:n}),!0)),U=le(()=>te?!1:(c(),!0)),R=le(()=>{let I=!r.hide_code;return J({configs:{[n]:{hide_code:I}}}),$.updateCellConfig({cellId:n,config:{hide_code:I}}),I}),de=oe(Fd),K=le(()=>{mm({autoInstantiate:de,createNewCell:$.createNewCell})}),E=Ld(u),S=(0,F.useMemo)(()=>{var _;let I=Ec({cellId:n,showPlaceholder:t,enableAI:E,cellActions:{...$,afterToggleMarkdown:K,onRun:U,deleteCell:se,saveNotebook:T,createManyBelow:Z=>{for(let V of[...Z].reverse())$.createNewCell({code:V,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:L,toggleHideCode:R,aiCellCompletion:()=>{let Z=!1;return O(V=>(V==null?void 0:V.cellId)===n?(Z=!0,null):{cellId:n}),Z}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new _a(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:((_=u.ai)==null?void 0:_.inline_tooltip)??!1});return I.push(He.define(Z=>(w(Z.state.field(kn).type),{update(V){w(V.state.field(kn).type)}})),P.updateListener.of(Z=>{Z.selectionSet&&Z.state.selection.ranges.some(V=>V.from!==V.to)&&p({focus:!1})}),P.domEventHandlers({focus:()=>{p({focus:!1})}})),I},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,E,e,t,$,L,R,se,U,O,K,w,p,T]),G=mr(),D=le(()=>{if(G){let _=nr(n,Z=>{$.updateCellCode({cellId:n,code:Z,formattingChange:!0})},o);S.push(_.extension),o=_.code}let I=new P({state:kr.create({doc:o,extensions:S})});s(I),G||Dt(I,{language:pr(I.state).type})}),ne=le(()=>{if(Ut(d.current!==null,"Editor view is not initialized"),G){let I=nr(n,_=>{$.updateCellCode({cellId:n,code:_,formattingChange:!0})});S.push(I.extension)}d.current.dispatch({effects:[me.reconfigure.of([S]),pd(d.current,{completionConfig:u.completion,hotkeysProvider:new _a(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),Me=le(()=>{if(Ut(i,"Editor view is not initialized"),G){let _=nr(n,Z=>{$.updateCellCode({cellId:n,code:Z,formattingChange:!0})},o);S.push(_.extension),o=_.code}let I=new P({state:kr.fromJSON(i,{doc:o,extensions:S},{history:lf})});G||Dt(I,{language:pr(I.state).type}),s(I),$.clearSerializedEditorState({cellId:n})});(0,F.useEffect)(()=>{i===null?d.current===null?D():ne():Me(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[D,ne,Me,d,f,i,S]),(0,F.useEffect)(()=>{let I=d.current;return()=>{I==null||I.destroy()}},[d]);let Re=ju(n,d),et=h&&!j||h&&j&&!m,pe="";return j&&h&&m?pe="h-0 overflow-hidden":h&&(pe="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(vu,{cellId:n,aiCompletionCell:A,currentCode:((Ge=d.current)==null?void 0:Ge.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:le(()=>{var I;O(null),(I=d.current)==null||I.focus()}),onChange:le(I=>{var _;(_=d.current)==null||_.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:I}})}),acceptChange:le(I=>{var _,Z;(_=d.current)==null||_.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:I}}),(Z=d.current)==null||Z.focus(),O(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...Re,children:[et&&(0,b.jsx)(Hf,{tooltip:"Edit code",className:"absolute inset-0 z-10",onClick:p}),(0,b.jsx)(ya,{className:pe,editorView:d.current,ref:f}),!h&&k&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(Pu,{code:o,editorView:d.current,currentLanguageAdapter:y,onAfterToggle:K})})]})})},ya=F.forwardRef((e,t)=>{let n=(0,pa.c)(10),{className:r,editorView:o}=e,a=(0,F.useRef)(null),i,s;n[0]===o?(i=n[1],s=n[2]):(i=()=>{o!==null&&a.current!==null&&a.current.children.length===0&&a.current.append(o.dom)},s=[o,a],n[0]=o,n[1]=i,n[2]=s),(0,F.useEffect)(i,s);let c;n[3]===r?c=n[4]:(c=st("cm mathjax_ignore",r),n[3]=r,n[4]=c);let u;n[5]===t?u=n[6]:(u=f=>{t?Ln(t,a)(f):Ln(a)(f)},n[5]=t,n[6]=u);let d;return n[7]!==c||n[8]!==u?(d=(0,b.jsx)("div",{className:c,ref:u,"data-testid":"cell-editor"}),n[7]=c,n[8]=u,n[9]=d):d=n[9],d});ya.displayName="CellCodeMirrorEditor";function Mu(e){let t=n=>{let r=(0,pa.c)(5),o=oe(ut),[a,i]=vn(dt);if(o.state===Qe.CONNECTING||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)(hf,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(Xe,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}vi=mr()?Mu((0,F.memo)(ba)):(0,F.memo)(ba)});export{mi as _,Sm as __tla,Fr as a,gi as c,dt as d,hi as f,An as g,Lr as h,Gt as i,Fn as l,be as m,pi as n,bi as o,yi as p,wi as r,Ln as s,vi as t,Or as u,On as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as p}from"./chunk-DZLz74EQ.js";import{c as P,l as w,s as E}from"./jotai-BTnrNcC1.js";import{Br as L,E as O,Fn as y,N as A,ft as F,j as S,kr as _,wn as T}from"./cells-
|
|
1
|
+
import{s as p}from"./chunk-DZLz74EQ.js";import{c as P,l as w,s as E}from"./jotai-BTnrNcC1.js";import{Br as L,E as O,Fn as y,N as A,ft as F,j as S,kr as _,wn as T}from"./cells-DV6dfoCq.js";import{t as N}from"./compiler-runtime-Cr9loedd.js";import{u as $}from"./hotkeys-ClCtr3_I.js";import{u as B}from"./utils-BpjB6B-Y.js";import{n as I}from"./constants-CEISdYm1.js";import{d as D}from"./config-e9OVB2bJ.js";import{t as q}from"./jsx-runtime-mwDPpfh_.js";import{t as H}from"./cn-DEUt_IsG.js";import{r as M}from"./requests-DD3OWR81.js";import{s as R,t as U}from"./connection-CsVOmbVi.js";import{n as V}from"./useEvent-itkPNnCe.js";import{n as z}from"./ImperativeModal-ExH1h9et.js";var G=p(N(),1);function x(){return P(_)}function J(){let r=(0,G.c)(5),[t]=E(U),e=w(_),{openAlert:a}=z(),{sendRename:o}=M(),s;return r[0]!==t.state||r[1]!==a||r[2]!==o||r[3]!==e?(s=async l=>{let n=B();return t.state===R.OPEN?(D(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||T.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],V(s)}var v=p(N(),1),k=p(q(),1);const h=r=>{let t=(0,v.c)(12),{className:e,cellId:a,variant:o,onClick:s,formatCellName:l,skipScroll:n}=r,i=A()[a]??"",g=S().inOrderIds.indexOf(a),{showCellIfHidden:f}=O(),j=l??W,c;t[0]===e?c=t[1]:(c=H("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]!==f||t[5]!==n||t[6]!==o?(m=b=>{if(a==="__scratch__")return!1;f({cellId:a}),b.stopPropagation(),b.preventDefault(),requestAnimationFrame(()=>{C(a,o,n)&&(s==null||s())})},t[2]=a,t[3]=s,t[4]=f,t[5]=n,t[6]=o,t[7]=m):m=t[7];let d=j(F(i,g)),u;return t[8]!==c||t[9]!==m||t[10]!==d?(u=(0,k.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:d}),t[8]=c,t[9]=m,t[10]=d,t[11]=u):u=t[11],u},K=r=>{let t=(0,v.c)(2),e;return t[0]===r?e=t[1]:(e=(0,k.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},Q=r=>{let t=(0,v.c)(10),{cellId:e,lineNumber:a}=r,o=x(),s;t[0]!==e||t[1]!==a?(s=()=>y(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,k.jsx)(h,{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 C(r,t,e){let a=L.create(r),o=document.getElementById(a);return o===null?($.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 W(r){return r}export{x as a,C as i,K as n,J as o,Q as r,h as t};
|