@marimo-team/frontend 0.24.1-dev97 → 0.24.1-dev99

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.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-BzjWitFM.js","./loro_wasm_bg-BRA1AbB3.js","./rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as re,Na as k,Nr as A,Oi as j,Po as M,Sn as ie,So as ae,St as oe,Ti as N,To as se,U as ce,Ur as le,Ut as ue,V as de,Va as fe,Vr as P,W as F,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-D4RwofRx.js";import{t as yt}from"./react-dom-BQrReHnR.js";import{Cn as bt,In as xt,Jn as St,Sn as Ct,Tt as wt,kt as Tt,ln as Et,xt as Dt}from"./schemas-aTUejmFi.js";import{t as Ot}from"./compiler-runtime-CYIjoINj.js";import{t as kt}from"./debounce-aFmHgJZY.js";import{D as At,_ as jt,c as Mt,g as Nt,l as Pt,v as Ft}from"./utils-CWSZQEjr.js";import{D as It,O as Lt,b as Rt,g as zt,h as Bt,m as Vt,t as Ht,w as Ut}from"./ai-model-dropdown-CrSrb8Zz.js";import{_ as Wt,c as Gt,g as Kt,m as qt,t as Jt}from"./useEventListener-D27Dii_l.js";import{t as Yt}from"./invariant-Ci2dTZ72.js";import{E as Xt,N as Zt,O as Qt,S as $t,T as en,m as tn,o as nn,r as rn,v as an}from"./config-D4frVGQ4.js";import{n as on,t as sn}from"./switch-CtH5Ct94.js";import{f as cn,n as ln,r as un,y as dn}from"./readonly-python-code-GSN4D4sb.js";import{t as fn}from"./ErrorBoundary-npvnLp9x.js";import{t as pn}from"./cn-ldLVeaqm.js";import{t as mn}from"./jsx-runtime-B74pBk57.js";import{d as hn}from"./select-czJLm6jf.js";import{J as gn,Y as _n}from"./JsonOutput-CRLQQVKf.js";import{n as vn}from"./download-BP8MrprC.js";import{t as yn}from"./tooltip-D7dq6bnc.js";import{r as bn,t as xn}from"./button-Btj6GXNy.js";import{At as Sn,Bt as Cn,Ct as wn,Dt as Tn,E as En,Et as Dn,Ft as On,Gt as kn,H as An,Ht as jn,I as Mn,P as Nn,Pt as Pn,Qt as Fn,Rt as In,St as Ln,Tt as Rn,Ut as zn,V as Bn,Wt as Vn,Yt as Hn,Zt as I,_ as Un,at as L,dt as Wn,en as Gn,gt as Kn,ht as qn,lt as Jn,m as Yn,ot as Xn,qt as Zn,rn as Qn,st as R,ut as $n,w as er,xt as tr}from"./dist-PIe1xcZo.js";import{C as nr,E as rr,I as ir,O as ar,S as or,a as sr,c as cr,n as lr,r as ur,w as dr}from"./dist-CbQrIaPV.js";import{o as fr}from"./arrays-BqUx5USx.js";import{n as pr}from"./once-Haz_uxEL.js";import{t as mr}from"./createReducer-Bq-nQJiK.js";import{a as hr,c as gr,f as _r,h as vr,i as yr,l as br,n as xr,o as Sr,t as Cr}from"./dist-Dz_04liz.js";import{r as wr}from"./strings-CpYReX2Q.js";import{r as Tr,t as Er}from"./requests-C6_IaFh7.js";import{t as Dr}from"./createLucideIcon-B7HeEoG2.js";import{r as Or}from"./layout-CoCSL4MU.js";import{r as kr}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as Ar}from"./circle-check-CUWv70QX.js";import{B as jr,F as Mr,G as Nr,I as Pr,L as Fr,M as Ir,R as Lr,T as Rr,V as zr,W as Br,c as Vr,f as Hr,i as Ur,n as Wr,o as Gr,r as Kr,s as qr,w as Jr,z as Yr}from"./add-cell-with-ai-DoLkfzYn.js";import{t as Xr}from"./database-zap-CloO6gbw.js";import{r as Zr,t as Qr}from"./file-icons-DgKj9mrV.js";import{t as $r}from"./components-CBlGIIAX.js";import{D as ei,E as ti,T as ni,b as ri,j as ii}from"./write-secret-modal-lNU_7c2x.js";import{n as ai}from"./spinner-Ck-Hgfvj.js";import{n as oi,t as si}from"./useDeleteCell-Wgcl3CRG.js";import{t as ci}from"./save-BybsbOKz.js";import{I as li,Mt as ui,P as di}from"./input-Daz6sk8l.js";import{t as fi}from"./badge-D_-uqy2N.js";import{t as pi}from"./preload-helper-HclGiUj8.js";import{a as mi}from"./dist-DzAWvPVK.js";import{t as hi}from"./use-toast-DpWHUGuF.js";import{n as gi}from"./paths-zcL04qUW.js";import{t as _i}from"./session-CEdta5_Q.js";import{r as vi}from"./useTheme-CF-zG9YH.js";import{t as yi}from"./context-Do8M9TDF.js";import{i as bi}from"./numbers-DKurV_vq.js";import{n as xi}from"./useAsyncData-Buhk-UgR.js";import{n as Si}from"./copy-Cg05mM3C.js";import{a as Ci}from"./useRunCells-DTdMRbkE.js";import{a as wi}from"./errors-DzO-nXy-.js";import{t as z}from"./extends-CvVTau-c.js";import{i as Ti,n as Ei}from"./esm-Dw0vvSg2.js";import{t as Di}from"./kbd-Cwh96ZBE.js";import{a as Oi}from"./useInstallPackage-u7d0wo79.js";import{a as ki,n as Ai}from"./state-BqrF--O0.js";import{a as ji,o as Mi}from"./cell-link-Dqqt6Rgs.js";import{a as Ni}from"./renderShortcut-DK_OucLT.js";import{n as Pi,t as Fi}from"./icons-CjLa9BiH.js";import{t as Ii}from"./dist-8lhGoJ54.js";import{t as Li}from"./requests-S_7PqcSt.js";import{n as Ri}from"./formatting-BJlT1s_3.js";import{t as zi}from"./useSplitCell-2z0zEB8X.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-D6-FMXE2.js";import{co as Ui,do as Wi,fo as Gi,ft as Ki,go as qi,ho as Ji,lo as Yi,mo as Xi,oo as Zi,po as Qi,so as $i,uo as ea}from"./loro_wasm_bg-BRA1AbB3.js";import{t as ta}from"./ws-DLVysDhS.js";import{t as na}from"./Inputs-E85rt2lh.js";import{r as ra,t as ia}from"./skeleton-12JqAMmp.js";var aa=Dr(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),oa={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},sa=300,ca=kn.define({combine:e=>Qn(e,{onError:console.error,inputDebounceTime:sa,keymaps:oa},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),la=I.define(),ua=Fn.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(la))return e.value;return e}}),da=I.define(),fa=I.define(),pa=Fn.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(da)&&(n={...n,inputValue:e.value}),e.is(fa)&&(n={...n,shouldFocus:e.value});return n}}),ma=I.define(),ha=Fn.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=I.define(),_a=Fn.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ga))return e.value;return e}}),va=1,ya=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<va)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[la.of({show:!0,lineFrom:o,lineTo:s}),fa.of(!0),da.of(``)],selection:zn.cursor(i.from)}),!0},ba=e=>e.state.field(ha)?(e.dispatch({effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1,xa=e=>{let t=e.state.field(ha);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1},Sa={mac:`⌘`,windows:`⊞ Win`,default:`Ctrl`};function Ca(){return navigator.platform.startsWith(`Mac`)?Sa.mac:navigator.platform.startsWith(`Win`)?Sa.windows:Sa.default}function wa(e){return e.replace(`Mod`,Ca()).replace(`-`,` `).toUpperCase()}function B(e,t){let n=document.createElement(e);return n.className=t,n}function Ta(e,t,n=void 0){let r=()=>{};return(...i)=>(r(),new Promise((a,o)=>{let s=setTimeout(()=>a(e(...i)),t);r=()=>{clearTimeout(s),n!==void 0&&o(n)}}))}var Ea=Fn.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(Da));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Da=I.define();function Oa(e,t){let n=e.state.selection.main.head,r=[],i=L.widget({widget:new ka(t),side:1});return r.push(i.range(n)),L.set(r)}var ka=class extends Wn{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as re,Na as k,Nr as A,Oi as j,Po as M,Sn as ie,So as ae,St as oe,Ti as N,To as se,U as ce,Ur as le,Ut as ue,V as de,Va as fe,Vr as P,W as F,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-D4RwofRx.js";import{t as yt}from"./react-dom-BQrReHnR.js";import{Cn as bt,In as xt,Jn as St,Sn as Ct,Tt as wt,kt as Tt,ln as Et,xt as Dt}from"./schemas-aTUejmFi.js";import{t as Ot}from"./compiler-runtime-CYIjoINj.js";import{t as kt}from"./debounce-aFmHgJZY.js";import{D as At,_ as jt,c as Mt,g as Nt,l as Pt,v as Ft}from"./utils-CWSZQEjr.js";import{D as It,O as Lt,b as Rt,g as zt,h as Bt,m as Vt,t as Ht,w as Ut}from"./ai-model-dropdown-CrSrb8Zz.js";import{_ as Wt,c as Gt,g as Kt,m as qt,t as Jt}from"./useEventListener-D27Dii_l.js";import{t as Yt}from"./invariant-Ci2dTZ72.js";import{E as Xt,N as Zt,O as Qt,S as $t,T as en,m as tn,o as nn,r as rn,v as an}from"./config-D4frVGQ4.js";import{n as on,t as sn}from"./switch-CtH5Ct94.js";import{f as cn,n as ln,r as un,y as dn}from"./readonly-python-code-GSN4D4sb.js";import{t as fn}from"./ErrorBoundary-npvnLp9x.js";import{t as pn}from"./cn-ldLVeaqm.js";import{t as mn}from"./jsx-runtime-B74pBk57.js";import{d as hn}from"./select-czJLm6jf.js";import{J as gn,Y as _n}from"./JsonOutput-CRLQQVKf.js";import{n as vn}from"./download-BP8MrprC.js";import{t as yn}from"./tooltip-D7dq6bnc.js";import{r as bn,t as xn}from"./button-Btj6GXNy.js";import{At as Sn,Bt as Cn,Ct as wn,Dt as Tn,E as En,Et as Dn,Ft as On,Gt as kn,H as An,Ht as jn,I as Mn,P as Nn,Pt as Pn,Qt as Fn,Rt as In,St as Ln,Tt as Rn,Ut as zn,V as Bn,Wt as Vn,Yt as Hn,Zt as I,_ as Un,at as L,dt as Wn,en as Gn,gt as Kn,ht as qn,lt as Jn,m as Yn,ot as Xn,qt as Zn,rn as Qn,st as R,ut as $n,w as er,xt as tr}from"./dist-PIe1xcZo.js";import{C as nr,E as rr,I as ir,O as ar,S as or,a as sr,c as cr,n as lr,r as ur,w as dr}from"./dist-CbQrIaPV.js";import{o as fr}from"./arrays-BqUx5USx.js";import{n as pr}from"./once-Haz_uxEL.js";import{t as mr}from"./createReducer-Bq-nQJiK.js";import{a as hr,c as gr,f as _r,h as vr,i as yr,l as br,n as xr,o as Sr,t as Cr}from"./dist-Dz_04liz.js";import{r as wr}from"./strings-CpYReX2Q.js";import{r as Tr,t as Er}from"./requests-C6_IaFh7.js";import{t as Dr}from"./createLucideIcon-B7HeEoG2.js";import{r as Or}from"./layout-KJMQADEj.js";import{r as kr}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as Ar}from"./circle-check-CUWv70QX.js";import{B as jr,F as Mr,G as Nr,I as Pr,L as Fr,M as Ir,R as Lr,T as Rr,V as zr,W as Br,c as Vr,f as Hr,i as Ur,n as Wr,o as Gr,r as Kr,s as qr,w as Jr,z as Yr}from"./add-cell-with-ai-DoLkfzYn.js";import{t as Xr}from"./database-zap-CloO6gbw.js";import{r as Zr,t as Qr}from"./file-icons-DgKj9mrV.js";import{t as $r}from"./components-CBlGIIAX.js";import{D as ei,E as ti,T as ni,b as ri,j as ii}from"./write-secret-modal-lNU_7c2x.js";import{n as ai}from"./spinner-Ck-Hgfvj.js";import{n as oi,t as si}from"./useDeleteCell-Wgcl3CRG.js";import{t as ci}from"./save-BybsbOKz.js";import{I as li,Mt as ui,P as di}from"./input-Daz6sk8l.js";import{t as fi}from"./badge-D_-uqy2N.js";import{t as pi}from"./preload-helper-HclGiUj8.js";import{a as mi}from"./dist-DzAWvPVK.js";import{t as hi}from"./use-toast-DpWHUGuF.js";import{n as gi}from"./paths-zcL04qUW.js";import{t as _i}from"./session-CEdta5_Q.js";import{r as vi}from"./useTheme-CF-zG9YH.js";import{t as yi}from"./context-Do8M9TDF.js";import{i as bi}from"./numbers-DKurV_vq.js";import{n as xi}from"./useAsyncData-Buhk-UgR.js";import{n as Si}from"./copy-Cg05mM3C.js";import{a as Ci}from"./useRunCells-DTdMRbkE.js";import{a as wi}from"./errors-DzO-nXy-.js";import{t as z}from"./extends-CvVTau-c.js";import{i as Ti,n as Ei}from"./esm-Dw0vvSg2.js";import{t as Di}from"./kbd-Cwh96ZBE.js";import{a as Oi}from"./useInstallPackage-u7d0wo79.js";import{a as ki,n as Ai}from"./state-BqrF--O0.js";import{a as ji,o as Mi}from"./cell-link-Dqqt6Rgs.js";import{a as Ni}from"./renderShortcut-DK_OucLT.js";import{n as Pi,t as Fi}from"./icons-CjLa9BiH.js";import{t as Ii}from"./dist-8lhGoJ54.js";import{t as Li}from"./requests-S_7PqcSt.js";import{n as Ri}from"./formatting-BJlT1s_3.js";import{t as zi}from"./useSplitCell-2z0zEB8X.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-D6-FMXE2.js";import{co as Ui,do as Wi,fo as Gi,ft as Ki,go as qi,ho as Ji,lo as Yi,mo as Xi,oo as Zi,po as Qi,so as $i,uo as ea}from"./loro_wasm_bg-BRA1AbB3.js";import{t as ta}from"./ws-DLVysDhS.js";import{t as na}from"./Inputs-E85rt2lh.js";import{r as ra,t as ia}from"./skeleton-CsceCAjw.js";var aa=Dr(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),oa={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},sa=300,ca=kn.define({combine:e=>Qn(e,{onError:console.error,inputDebounceTime:sa,keymaps:oa},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),la=I.define(),ua=Fn.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(la))return e.value;return e}}),da=I.define(),fa=I.define(),pa=Fn.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(da)&&(n={...n,inputValue:e.value}),e.is(fa)&&(n={...n,shouldFocus:e.value});return n}}),ma=I.define(),ha=Fn.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=I.define(),_a=Fn.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ga))return e.value;return e}}),va=1,ya=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<va)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[la.of({show:!0,lineFrom:o,lineTo:s}),fa.of(!0),da.of(``)],selection:zn.cursor(i.from)}),!0},ba=e=>e.state.field(ha)?(e.dispatch({effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1,xa=e=>{let t=e.state.field(ha);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1},Sa={mac:`⌘`,windows:`Ctrl`,default:`Ctrl`};function Ca(){return navigator.platform.startsWith(`Mac`)?Sa.mac:navigator.platform.startsWith(`Win`)?Sa.windows:Sa.default}function wa(e){return e.replace(`Mod`,Ca()).replace(`-`,` `).toUpperCase()}function B(e,t){let n=document.createElement(e);return n.className=t,n}function Ta(e,t,n=void 0){let r=()=>{};return(...i)=>(r(),new Promise((a,o)=>{let s=setTimeout(()=>a(e(...i)),t);r=()=>{clearTimeout(s),n!==void 0&&o(n)}}))}var Ea=Fn.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(Da));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Da=I.define();function Oa(e,t){let n=e.state.selection.main.head,r=[],i=L.widget({widget:new ka(t),side:1});return r.push(i.range(n)),L.set(r)}var ka=class extends Wn{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},Aa=class{cache=new Map;timeout;constructor(e){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()})}},ja=(e,t)=>$n.fromClass(class{abortController=null;cache;constructor(){this.cache=new Aa(t.cacheTimeout??1e3)}async update(n){if(!n.docChanged||t.events?.beforeSuggestionFetch?.(n.view)===!1)return;this.abortController?.abort(),this.abortController=new AbortController;let r=n.state.doc,i=r.toString(),a=this.cache.get(i);if(a){n.view.dispatch({effects:Da.of({text:a,doc:r})});return}try{let a=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||t.events?.shouldShowSuggestion?.(n.view,a)===!1)return;this.cache.set(i,a),n.view.dispatch({effects:Da.of({text:a,doc:r})})}catch(e){e instanceof Error&&e.name!==`AbortError`&&console.error(`Suggestion fetch error:`,e)}}destroy(){this.abortController?.abort()}}),Ma=$n.fromClass(class{decorations;constructor(){this.decorations=L.none}update(e){let t=e.state.field(Ea)?.suggestion;if(!t){this.decorations=L.none;return}this.decorations=Oa(e.view,t)}},{decorations:e=>e.decorations});function Na(e,t,n,r){return{...e.changeByRange(i=>{if(i===e.selection.main)return{changes:{from:n,to:r,insert:t},range:zn.cursor(n+t.length)};let a=r-n;return!i.empty||a&&e.sliceDoc(i.from-a,i.from)!==e.sliceDoc(n,r)?{range:i}:{changes:{from:i.from-a,to:i.from,insert:t},range:zn.cursor(i.from-a+t.length)}}),userEvent:`input.complete`}}var Pa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({...Na(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),n.events?.onSuggestionAccepted?.(e,t),!0},Fa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({effects:Da.of({text:null,doc:e.state.doc})}),n.events?.onSuggestionRejected?.(e,t),!0},Ia=Rn.of([{key:`Tab`,run:Pa},{key:`Escape`,run:Fa}]),La=kn.define({combine:e=>e.at(-1)});function Ra(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Ta(e.fetchFn,t);return[Ea,La.of(e),ja(r,e),Ma,n?Ia:[]]}var za=R.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 Ba(e){let t=e.state.facet(ca),n={...oa,...t.keymaps},r=e.state.facet(Va),i=B(`div`,`cm-ai-tooltip`).appendChild(B(`div`,`cm-ai-tooltip-button`)),a=i.appendChild(document.createElement(`span`));a.textContent=`${r.label} `;let o=a.appendChild(document.createElement(`span`));return o.className=`hotkey`,o.textContent=wa(n.showInput),i.querySelector(`span`)?.addEventListener(`mousedown`,e=>{e.stopPropagation(),e.button===0&&e.preventDefault()}),i.querySelector(`span`)?.addEventListener(`click`,t=>{t.preventDefault(),ya(e)}),i}var Va=kn.define({combine(e){return Qn(e,{render:Ba,hideOnBlur:!1,label:`Edit with AI`})}}),Ha=$n.fromClass(class{view;suppress;dom;mousedown=()=>{this.suppress=!0};mouseup=()=>{this.suppress=!1,this.display(this.view)};scroll=()=>{this.display(this.view)};windowScroll=()=>{this.display(this.view)};constructor(e){this.view=e;let t=e.state.facet(Va);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(ua).show){this.dom.style.display=`none`;return}if(e.state.facet(Va).hideOnBlur&&!e.hasFocus){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}e.requestMeasure({read:this.#e})}#e=e=>{let t=e.state.selection.ranges.find(e=>!e.empty);if(t&&!this.suppress){let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to);if(!n||!r)return;let i=e.dom.getBoundingClientRect(),a=e.dom.parentElement?.getBoundingClientRect(),o=e=>e.top>=i.top&&e.top<=i.bottom&&e.left>=i.left&&e.left<=i.right,s=e=>!a||e.top>=a.top&&e.top<=a.bottom&&e.left>=a.left&&e.left<=a.right,c=o(n)||o(r),l=s(n)||s(r);if(!c||!l){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}this.dom.style.display=`flex`,this.dom.setAttribute(`aria-hidden`,`false`);let u=this.dom.getBoundingClientRect(),d=o(n)?n:r,f=i.right-u.width,p=Math.min(d.left,f),m=d.top-u.height,h=a?a.y:-1/0;m<h&&(m=r.bottom),this.dom.style.left=`${p}px`,this.dom.style.top=`${m}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute(`aria-hidden`,`false`)})}else this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`)};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()}}),Ua=R.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 Wa(){return[Ha,Ua]}var Ga=class extends Wn{oldCode;constructor(e){super(),this.oldCode=e}toDOM(e){let t=B(`div`,`cm-old-code-container`);t.setAttribute(`role`,`region`),t.setAttribute(`aria-label`,`Previous code version`);let n=B(`div`,`cm-old-code cm-line`);n.textContent=this.oldCode;let r=B(`div`,`cm-floating-buttons`),i=e.state.facet(ca),a={...oa,...i.keymaps},o=B(`button`,`cm-floating-button cm-floating-accept`);o.innerHTML=`<span class="hotkey">${wa(a.acceptEdit)}</span> Accept`,o.setAttribute(`aria-label`,`Accept changes`),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),ba(e)});let s=B(`button`,`cm-floating-button cm-floating-reject`);return s.innerHTML=`<span class="hotkey">${wa(a.rejectEdit)}</span> Reject`,s.setAttribute(`aria-label`,`Reject changes`),s.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),xa(e)}),r.append(o,s),t.append(n,r),t}updateDOM(e,t){return!0}},Ka=class extends Wn{complete;abortController=null;dom=null;input=null;loadingContainer=null;helpInfo=null;inputContainer=null;form=null;view=null;constructor(e){super(),this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let t=e.state.field(pa),n=e.state.field(_a),r=B(`div`,`cm-ai-input-container`);this.inputContainer=r,this.dom=r;let i=B(`form`,`cm-ai-input-form`);this.form=i,i.setAttribute(`role`,`search`),i.setAttribute(`aria-label`,`AI editing instructions`),i.addEventListener(`submit`,e=>e.preventDefault());let a=B(`input`,`cm-ai-input`);this.input=a,i.append(a),a.placeholder=`Editing instructions...`,a.setAttribute(`aria-label`,`AI editing instructions`),a.setAttribute(`autocomplete`,`off`),a.setAttribute(`spellcheck`,`true`),a.value=t.inputValue;let o=B(`div`,`cm-ai-loading-container`);this.loadingContainer=o;let s=B(`div`,`cm-ai-loading-indicator`);s.setAttribute(`role`,`status`),s.setAttribute(`aria-live`,`polite`),s.textContent=`Generating`;let c=B(`button`,`cm-ai-cancel-button`);c.textContent=`Cancel`,c.setAttribute(`aria-label`,`Cancel code generation`),c.addEventListener(`click`,this.onCancel),o.append(c,s);let l=B(`div`,`cm-ai-help-info`);this.helpInfo=l;let u=l.appendChild(document.createElement(`button`));u.className=`cm-ai-help-info-button`,u.textContent=`Esc to close`,u.addEventListener(`click`,this.onCancel);let d=B(`button`,`cm-ai-generate-button`);d.textContent=`⏎ Generate`,d.setAttribute(`aria-label`,`Generate code`),d.addEventListener(`click`,this.handleSubmit),this.toggleLoading(n),t.shouldFocus&&requestAnimationFrame(()=>{a.value=t.inputValue,a.focus(),e.dispatch({effects:fa.of(!1)})}),f(a.value),a.addEventListener(`input`,m),a.addEventListener(`keydown`,this.onKeyDown);function f(e){l.replaceChildren(e?d:u)}let p=``;function m(){e.dispatch({effects:da.of(a.value)});let t=a.value.trim();t!==p&&(p=t,f(t))}return r}toggleLoading(e){this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&this.inputContainer?.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo)}onKeyDown=async e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key===`Escape`&&this.onCancel()};onCancel=()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ga.of(!1)]}),e.focus())};handleSubmit=async e=>{let t=this.view;if(!t)return;let n=t.state.facet(ca);e?.stopPropagation();let r=t.state.field(ua),{input:i}=this;if(!i)return;let a=i.value.trim();if(!r.show||!a)return;let o=t.state.doc.line(r.lineFrom),s=t.state.doc.line(r.lineTo),c=o.from,l=s.to,u=t.state.sliceDoc(c,l),d=t.state.sliceDoc(0,c),f=t.state.sliceDoc(l);this.abortController=new AbortController,t.dispatch({effects:ga.of(!0)}),this.toggleLoading(!0);try{let e=await this.complete({prompt:a,selection:u,codeBefore:d,codeAfter:f,editorView:t,signal:this.abortController.signal});if(!t.state.field(ua).show)return;if(!e||typeof e!=`string`)throw Error(`Invalid completion result`);t.dispatch({changes:{from:c,to:l,insert:e},effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ma.of({from:c,to:c+e.length,oldCode:u,newCode:e}),ga.of(!1)]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;n.onError?.(e)}finally{this.cleanup(),this.toggleLoading(!1),t.focus()}};updateDOM(e,t){return this.dom=e,this.input=e.querySelector(`.cm-ai-input`),!0}cleanup(){this.abortController?.abort(),this.abortController=null,this.dom?.remove(),this.input?.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function qa(e){if(!e.prompt)throw Error(`prompt function is required`);let t={...oa,...e.keymaps};return[ca.of(e),ua,pa,ha,_a,Wa(),za,Rn.of([{key:t.showInput,run:ya}]),Zn.highest([Rn.of([{key:t.acceptEdit,run:ba},{key:t.rejectEdit,run:xa}])]),Ja,Ya,Xa,Za]}var Ja=R.updateListener.of(e=>{let t=e.state.field(ua);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,i=!1;e.changes.iterChanges((t,a,o,s)=>{let c=e.state.doc.lineAt(t).number;if(c<n){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;n+=t,r+=t,i=!0}else if(c<=r){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;r+=t,i=!0}}),i&&e.view.dispatch({effects:[la.of({show:!0,lineFrom:n,lineTo:r})]})}),Ya=R.decorations.of(e=>{let t=e.state.field(ha);return t?L.set([L.mark({class:`cm-new-code-line`}).range(t.from,t.to)]):L.none}),Xa=R.decorations.compute([ua],e=>{let t=e.field(ua),n=e.facet(ca),r=[];if(t.show){let i=t.lineFrom,a=t.lineTo;for(let t=i;t<=a;t++){let a=e.doc.line(t).from;r.push(L.line({class:`cm-ai-selection`}).range(a)),t===i&&r.push(L.widget({widget:new Ka(n.prompt),side:-1}).range(a))}}return L.set(r)}),Za=Fn.define({create(e){return L.none},update(e,t){let n=t.state.field(ha);return n?L.set([L.widget({widget:new Ga(n.oldCode),block:!0}).range(n.from)]):L.none},provide:e=>R.decorations.from(e)}),V=Ot(),H=e(u(),1),Qa=()=>({entries:new Map}),{valueAtom:$a,useActions:eo}=mr(Qa,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:i,store:a}=t,o=a.get(be),s=a.get($e),c=new Set(o.cellIds.inOrderIds.filter(e=>o.cellData[e].code.trim()===``)),l=new Map;for(let e of n){if(c.has(e)){l.set(e,{cellId:e,type:`simple`});continue}let t=o.cellRuntime[e],n=new Map;for(let t of Object.values(s)){let r=t.declaredBy.includes(e),i=t.usedBy.some(e=>!c.has(e));r&&i&&n.set(t.name,t.usedBy)}let r;t?.runElapsedTimeMs&&t.runElapsedTimeMs>2e3&&(r=t.runElapsedTimeMs),n.size===0&&r===void 0?l.set(e,{cellId:e,type:`simple`}):l.set(e,{cellId:e,type:`expensive`,executionDurationMs:r,defs:n})}let u=[...l.values()].every(e=>e.type===`simple`);return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):i({cellIds:[...l.values()].map(e=>e.cellId)}),Qa()):{...e,entries:l}},clear:()=>Qa()});function to(){let e=n(),{submit:t,clear:r}=eo(),{entries:a}=i($a),o=si(),s=oi();return(0,H.useMemo)(()=>({submit:n=>{t({cellIds:n,deleteCell:o,deleteManyCells:s,store:e})},clear:r,get idle(){return a.size===0},get shouldConfirmDelete(){return a.size>1}}),[e,t,r,a,o,s])}function no(e){let t=(0,V.c)(16),n=i($a),r=eo(),a=oi(),o;t[0]!==e||t[1]!==n.entries?(o=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=o):o=t[2];let s=o;if(!s){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={isPending:!1},t[3]=e):e=t[3],e}if(n.entries.size!==1){let e;return t[4]===s?e=t[5]:(e={isPending:!0,shouldConfirmDelete:!1,...s},t[4]=s,t[5]=e),e}let c;t[6]!==r||t[7]!==a||t[8]!==n.entries?(c=()=>{a({cellIds:[...n.entries.values()].map(ro)}),r.clear()},t[6]=r,t[7]=a,t[8]=n.entries,t[9]=c):c=t[9];let l;t[10]===r?l=t[11]:(l=()=>r.clear(),t[10]=r,t[11]=l);let u;return t[12]!==s||t[13]!==c||t[14]!==l?(u={isPending:!0,...s,shouldConfirmDelete:!0,confirm:c,cancel:l},t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}function ro(e){return e.cellId}async function io(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error(`Failed to get response body`);let t=null,n=!1;if(await zr({stream:Nr({stream:e.body,schema:Br}).pipeThrough(new TransformStream({transform(e){if(!e.success)throw e.error;let r=e.value;if(Fr(r)&&r.type===Mr)t=Pr.parse(r.data).code;else if(r.type===`error`)throw Error(r.errorText);else r.type===`finish`&&(n=r.finishReason===`stop`)}})),onError:e=>{throw e}}),!n)throw Error(`AI completion ended before final validation`);if(t===null)throw Error(`AI completion returned no cell code`);return t}async function ao(e){let t=`
4
4
  ${e.codeBefore}
5
5
  <rewrite_this>
@@ -1 +1 @@
1
- import{c as e,l as t}from"./useEvent-xfs0Sn4r.js";import{Cn as n,En as r,Sn as i,Tn as a,Vt as o,bn as s,wn as c,xn as l,yn as u}from"./cells-D4RwofRx.js";import{t as d}from"./compiler-runtime-CYIjoINj.js";import{C as f,g as p,w as m}from"./utils-CWSZQEjr.js";import{E as ee,T as h}from"./ai-model-dropdown-CrSrb8Zz.js";import{m as g,t as _,u as v}from"./useEventListener-D27Dii_l.js";import{t as y}from"./objects-snlMn4yk.js";import{t as b}from"./jsx-runtime-B74pBk57.js";import{r as x}from"./requests-C6_IaFh7.js";import{t as S}from"./useCellActionButton-DbXDs0MA.js";import{a as C,c as w,t as T}from"./useNotebookActions-DQQplV7z.js";import{t as E}from"./renderShortcut-DK_OucLT.js";var D=d(),O=3;function k(){let e=(0,D.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=w(`marimo:commands`,t),i;e[1]!==n||e[2]!==r?(i=e=>{let t=A([e,...n]);r(t.slice(0,O))},e[1]=n,e[2]=r,e[3]=i):i=e[3];let a;return e[4]!==n||e[5]!==i?(a={recentCommands:n,addRecentCommand:i},e[4]=n,e[5]=i,e[6]=a):a=e[6],a}function A(e){return[...new Set(e)]}function j(e){return e.dropdown!==void 0}function M(e,t=``){return e.flatMap(e=>!e.label||e.hidden?[]:j(e)?M(e.dropdown,`${t+e.label} > `):{...e,label:t+e.label,additionalKeywords:e.additionalKeywords})}function N(){let e=(0,D.c)(87),[t,n]=m(),[r,i]=f(),{saveAppConfig:a,saveUserConfig:o}=x(),s;e[0]!==o||e[1]!==n?(s=async e=>{await o({config:e}).then(()=>{n(t=>({...t,...e}))})},e[0]=o,e[1]=n,e[2]=s):s=e[2];let c=s,l;e[3]!==a||e[4]!==i?(l=async e=>{await a({config:e}).then(()=>{i(e)})},e[3]=a,e[4]=i,e[5]=l):l=e[5];let u=l,d;if(e[6]!==r||e[7]!==t.completion||e[8]!==t.display||e[9]!==t.keymap||e[10]!==u||e[11]!==c){let n;e[13]===r?n=e[14]:(n=e=>e!==r.width,e[13]=r,e[14]=n);let i;e[15]!==r||e[16]!==u?(i=e=>({label:`App config > Set width=${e}`,handle:()=>{u({...r,width:e})}}),e[15]=r,e[16]=u,e[17]=i):i=e[17];let a;e[18]!==t.display||e[19]!==c?(a={label:`Config > Set theme: dark`,handle:()=>{c({display:{...t.display,theme:`dark`}})}},e[18]=t.display,e[19]=c,e[20]=a):a=e[20];let o;e[21]!==t.display||e[22]!==c?(o={label:`Config > Set theme: light`,handle:()=>{c({display:{...t.display,theme:`light`}})}},e[21]=t.display,e[22]=c,e[23]=o):o=e[23];let s;e[24]!==t.display||e[25]!==c?(s={label:`Config > Set theme: system`,handle:()=>{c({display:{...t.display,theme:`system`}})}},e[24]=t.display,e[25]=c,e[26]=s):s=e[26];let l=t.keymap.preset===`vim`,f;e[27]!==t.keymap||e[28]!==c?(f=()=>{c({keymap:{...t.keymap,preset:`vim`}})},e[27]=t.keymap,e[28]=c,e[29]=f):f=e[29];let p;e[30]!==l||e[31]!==f?(p={label:`Config > Switch keymap to VIM`,hidden:l,handle:f},e[30]=l,e[31]=f,e[32]=p):p=e[32];let m=t.keymap.preset==="default",h;e[33]!==t.keymap||e[34]!==c?(h=()=>{c({keymap:{...t.keymap,preset:`default`}})},e[33]=t.keymap,e[34]=c,e[35]=h):h=e[35];let g;e[36]!==m||e[37]!==h?(g={label:`Config > Switch keymap to default (current: VIM)`,hidden:m,handle:h},e[36]=m,e[37]=h,e[38]=g):g=e[38];let _;e[39]!==t.completion||e[40]!==c?(_=()=>{c({completion:{...t.completion,copilot:!1}})},e[39]=t.completion,e[40]=c,e[41]=_):_=e[41];let v=t.completion.copilot!==`github`,y;e[42]!==_||e[43]!==v?(y={label:`Config > Disable GitHub Copilot`,handle:_,hidden:v},e[42]=_,e[43]=v,e[44]=y):y=e[44];let b;e[45]!==t.completion||e[46]!==c?(b=()=>{c({completion:{...t.completion,copilot:`github`}})},e[45]=t.completion,e[46]=c,e[47]=b):b=e[47];let x=t.completion.copilot===`github`,S;e[48]!==b||e[49]!==x?(S={label:`Config > Enable GitHub Copilot`,handle:b,hidden:x},e[48]=b,e[49]=x,e[50]=S):S=e[50];let C=!t.display.reference_highlighting,w;e[51]!==t.display||e[52]!==c?(w=()=>{c({display:{...t.display,reference_highlighting:!1}})},e[51]=t.display,e[52]=c,e[53]=w):w=e[53];let T;e[54]!==C||e[55]!==w?(T={label:`Config > Disable reference highlighting`,hidden:C,handle:w},e[54]=C,e[55]=w,e[56]=T):T=e[56];let E;e[57]!==t.display||e[58]!==c?(E=()=>{c({display:{...t.display,reference_highlighting:!0}})},e[57]=t.display,e[58]=c,e[59]=E):E=e[59];let D;e[60]!==t.display.reference_highlighting||e[61]!==E?(D={label:`Config > Enable reference highlighting`,hidden:t.display.reference_highlighting,handle:E},e[60]=t.display.reference_highlighting,e[61]=E,e[62]=D):D=e[62];let O=!(t.display.code_lens??!0),k;e[63]!==t.display||e[64]!==c?(k=()=>{c({display:{...t.display,code_lens:!1}})},e[63]=t.display,e[64]=c,e[65]=k):k=e[65];let A;e[66]!==O||e[67]!==k?(A={label:`Config > Disable code lens`,hidden:O,handle:k},e[66]=O,e[67]=k,e[68]=A):A=e[68];let j=t.display.code_lens??!0,M;e[69]!==t.display||e[70]!==c?(M=()=>{c({display:{...t.display,code_lens:!0}})},e[69]=t.display,e[70]=c,e[71]=M):M=e[71];let N;e[72]!==j||e[73]!==M?(N={label:`Config > Enable code lens`,hidden:j,handle:M},e[72]=j,e[73]=M,e[74]=N):N=e[74];let F=t.display.cell_output===`above`,I;e[75]!==t.display||e[76]!==c?(I=()=>{c({display:{...t.display,cell_output:`above`}})},e[75]=t.display,e[76]=c,e[77]=I):I=e[77];let L;e[78]!==F||e[79]!==I?(L={label:`Config > Set cell output area: above`,hidden:F,handle:I},e[78]=F,e[79]=I,e[80]=L):L=e[80];let R=t.display.cell_output===`below`,z;e[81]!==t.display||e[82]!==c?(z=()=>{c({display:{...t.display,cell_output:`below`}})},e[81]=t.display,e[82]=c,e[83]=z):z=e[83];let B;e[84]!==R||e[85]!==z?(B={label:`Config > Set cell output area: below`,hidden:R,handle:z},e[84]=R,e[85]=z,e[86]=B):B=e[86],d=[...ee().filter(n).map(i),a,o,s,p,g,y,S,T,D,A,N,L,B].filter(P),e[6]=r,e[7]=t.completion,e[8]=t.display,e[9]=t.keymap,e[10]=u,e[11]=c,e[12]=d}else d=e[12];return d}function P(e){return!e.hidden}var F=b(),I=()=>{let d=(0,D.c)(37),[f,m]=e(C),ee=h(),b=t(o),x=t(p),w;d[0]===b?w=d[1]:(w={cell:b},d[0]=b,d[1]=w);let O=S(w).flat();O=M(O);let A=N(),P=T();P=[...M(P),...M(A)];let I=P.filter(L),B=y.keyBy(I,R),{recentCommands:V,addRecentCommand:H}=k(),U;d[2]===V?U=d[3]:(U=new Set(V),d[2]=V,d[3]=U);let W=U,G;d[4]!==x||d[5]!==m?(G=e=>{g(x.getHotkey(`global.commandPalette`).key)(e)&&(e.preventDefault(),m(z))},d[4]=x,d[5]=m,d[6]=G):G=d[6],_(document,`keydown`,G);let K;d[7]!==H||d[8]!==x||d[9]!==ee||d[10]!==m?(K=(e,t)=>{let i=ee[e];if(!i)return null;let a=x.getHotkey(e);return(0,F.jsxs)(n,{disabled:t.disabled,keywords:a.additionalKeywords,onSelect:()=>{H(e),m(!1),requestAnimationFrame(()=>{i()})},value:a.name,children:[(0,F.jsxs)(`span`,{children:[a.name,t.tooltip&&(0,F.jsx)(`span`,{className:`ml-2`,children:t.tooltip})]}),(0,F.jsx)(r,{children:(0,F.jsx)(E,{shortcut:a.key})})]},e)},d[7]=H,d[8]=x,d[9]=ee,d[10]=m,d[11]=K):K=d[11];let te=K,q;d[12]!==H||d[13]!==x||d[14]!==m?(q=e=>{let{label:t,handle:i,props:a,hotkey:o,additionalKeywords:s}=e,c=a===void 0?{}:a;return(0,F.jsxs)(n,{disabled:c.disabled,keywords:s,onSelect:()=>{H(t),m(!1),requestAnimationFrame(()=>{i()})},value:t,children:[(0,F.jsxs)(`span`,{children:[t,c.tooltip&&(0,F.jsxs)(`span`,{className:`ml-2`,children:[`(`,c.tooltip,`)`]})]}),o&&(0,F.jsx)(r,{children:(0,F.jsx)(E,{shortcut:x.getHotkey(o).key})})]},t)},d[12]=H,d[13]=x,d[14]=m,d[15]=q):q=d[15];let J=q,ne=u,Y;d[16]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,F.jsx)(i,{placeholder:`Type to search...`}),d[16]=Y):Y=d[16];let re=c,X;d[17]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,F.jsx)(s,{children:`No results found.`}),d[17]=X):X=d[17];let ie=V.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(l,{heading:`Recently Used`,children:V.map(e=>{let t=B[e];return v(e)?te(e,{disabled:t?.disabled,tooltip:t?.tooltip}):t&&!j(t)?J({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip},additionalKeywords:t.additionalKeywords}):null})}),(0,F.jsx)(a,{})]}),ae=l,oe=x.iterate().map(e=>{if(W.has(e))return null;let t=B[e];return te(e,{disabled:t?.disabled,tooltip:t?.tooltip})}),se=I.map(e=>W.has(e.label)?null:J({label:e.label,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords})),Z;d[18]!==W||d[19]!==J?(Z=e=>W.has(e.label)?null:J({label:`Cell > ${e.label}`,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords}),d[18]=W,d[19]=J,d[20]=Z):Z=d[20];let ce=O.map(Z),Q;d[21]!==ae||d[22]!==se||d[23]!==ce||d[24]!==oe?(Q=(0,F.jsxs)(ae,{heading:`Commands`,children:[oe,se,ce]}),d[21]=ae,d[22]=se,d[23]=ce,d[24]=oe,d[25]=Q):Q=d[25];let $;d[26]!==re||d[27]!==Q||d[28]!==X||d[29]!==ie?($=(0,F.jsxs)(re,{children:[X,ie,Q]}),d[26]=re,d[27]=Q,d[28]=X,d[29]=ie,d[30]=$):$=d[30];let le;return d[31]!==ne||d[32]!==f||d[33]!==m||d[34]!==$||d[35]!==Y?(le=(0,F.jsxs)(ne,{open:f,onOpenChange:m,children:[Y,$]}),d[31]=ne,d[32]=f,d[33]=m,d[34]=$,d[35]=Y,d[36]=le):le=d[36],le};function L(e){return!e.hotkey}function R(e){return e.label}function z(e){return!e}export{I as default};
1
+ import{c as e,l as t}from"./useEvent-xfs0Sn4r.js";import{Cn as n,En as r,Sn as i,Tn as a,Vt as o,bn as s,wn as c,xn as l,yn as u}from"./cells-D4RwofRx.js";import{t as d}from"./compiler-runtime-CYIjoINj.js";import{C as f,g as p,w as m}from"./utils-CWSZQEjr.js";import{E as ee,T as h}from"./ai-model-dropdown-CrSrb8Zz.js";import{m as g,t as _,u as v}from"./useEventListener-D27Dii_l.js";import{t as y}from"./objects-snlMn4yk.js";import{t as b}from"./jsx-runtime-B74pBk57.js";import{r as x}from"./requests-C6_IaFh7.js";import{t as S}from"./useCellActionButton-DbXDs0MA.js";import{a as C,c as w,t as T}from"./useNotebookActions-FuMERtHq.js";import{t as E}from"./renderShortcut-DK_OucLT.js";var D=d(),O=3;function k(){let e=(0,D.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=w(`marimo:commands`,t),i;e[1]!==n||e[2]!==r?(i=e=>{let t=A([e,...n]);r(t.slice(0,O))},e[1]=n,e[2]=r,e[3]=i):i=e[3];let a;return e[4]!==n||e[5]!==i?(a={recentCommands:n,addRecentCommand:i},e[4]=n,e[5]=i,e[6]=a):a=e[6],a}function A(e){return[...new Set(e)]}function j(e){return e.dropdown!==void 0}function M(e,t=``){return e.flatMap(e=>!e.label||e.hidden?[]:j(e)?M(e.dropdown,`${t+e.label} > `):{...e,label:t+e.label,additionalKeywords:e.additionalKeywords})}function N(){let e=(0,D.c)(87),[t,n]=m(),[r,i]=f(),{saveAppConfig:a,saveUserConfig:o}=x(),s;e[0]!==o||e[1]!==n?(s=async e=>{await o({config:e}).then(()=>{n(t=>({...t,...e}))})},e[0]=o,e[1]=n,e[2]=s):s=e[2];let c=s,l;e[3]!==a||e[4]!==i?(l=async e=>{await a({config:e}).then(()=>{i(e)})},e[3]=a,e[4]=i,e[5]=l):l=e[5];let u=l,d;if(e[6]!==r||e[7]!==t.completion||e[8]!==t.display||e[9]!==t.keymap||e[10]!==u||e[11]!==c){let n;e[13]===r?n=e[14]:(n=e=>e!==r.width,e[13]=r,e[14]=n);let i;e[15]!==r||e[16]!==u?(i=e=>({label:`App config > Set width=${e}`,handle:()=>{u({...r,width:e})}}),e[15]=r,e[16]=u,e[17]=i):i=e[17];let a;e[18]!==t.display||e[19]!==c?(a={label:`Config > Set theme: dark`,handle:()=>{c({display:{...t.display,theme:`dark`}})}},e[18]=t.display,e[19]=c,e[20]=a):a=e[20];let o;e[21]!==t.display||e[22]!==c?(o={label:`Config > Set theme: light`,handle:()=>{c({display:{...t.display,theme:`light`}})}},e[21]=t.display,e[22]=c,e[23]=o):o=e[23];let s;e[24]!==t.display||e[25]!==c?(s={label:`Config > Set theme: system`,handle:()=>{c({display:{...t.display,theme:`system`}})}},e[24]=t.display,e[25]=c,e[26]=s):s=e[26];let l=t.keymap.preset===`vim`,f;e[27]!==t.keymap||e[28]!==c?(f=()=>{c({keymap:{...t.keymap,preset:`vim`}})},e[27]=t.keymap,e[28]=c,e[29]=f):f=e[29];let p;e[30]!==l||e[31]!==f?(p={label:`Config > Switch keymap to VIM`,hidden:l,handle:f},e[30]=l,e[31]=f,e[32]=p):p=e[32];let m=t.keymap.preset==="default",h;e[33]!==t.keymap||e[34]!==c?(h=()=>{c({keymap:{...t.keymap,preset:`default`}})},e[33]=t.keymap,e[34]=c,e[35]=h):h=e[35];let g;e[36]!==m||e[37]!==h?(g={label:`Config > Switch keymap to default (current: VIM)`,hidden:m,handle:h},e[36]=m,e[37]=h,e[38]=g):g=e[38];let _;e[39]!==t.completion||e[40]!==c?(_=()=>{c({completion:{...t.completion,copilot:!1}})},e[39]=t.completion,e[40]=c,e[41]=_):_=e[41];let v=t.completion.copilot!==`github`,y;e[42]!==_||e[43]!==v?(y={label:`Config > Disable GitHub Copilot`,handle:_,hidden:v},e[42]=_,e[43]=v,e[44]=y):y=e[44];let b;e[45]!==t.completion||e[46]!==c?(b=()=>{c({completion:{...t.completion,copilot:`github`}})},e[45]=t.completion,e[46]=c,e[47]=b):b=e[47];let x=t.completion.copilot===`github`,S;e[48]!==b||e[49]!==x?(S={label:`Config > Enable GitHub Copilot`,handle:b,hidden:x},e[48]=b,e[49]=x,e[50]=S):S=e[50];let C=!t.display.reference_highlighting,w;e[51]!==t.display||e[52]!==c?(w=()=>{c({display:{...t.display,reference_highlighting:!1}})},e[51]=t.display,e[52]=c,e[53]=w):w=e[53];let T;e[54]!==C||e[55]!==w?(T={label:`Config > Disable reference highlighting`,hidden:C,handle:w},e[54]=C,e[55]=w,e[56]=T):T=e[56];let E;e[57]!==t.display||e[58]!==c?(E=()=>{c({display:{...t.display,reference_highlighting:!0}})},e[57]=t.display,e[58]=c,e[59]=E):E=e[59];let D;e[60]!==t.display.reference_highlighting||e[61]!==E?(D={label:`Config > Enable reference highlighting`,hidden:t.display.reference_highlighting,handle:E},e[60]=t.display.reference_highlighting,e[61]=E,e[62]=D):D=e[62];let O=!(t.display.code_lens??!0),k;e[63]!==t.display||e[64]!==c?(k=()=>{c({display:{...t.display,code_lens:!1}})},e[63]=t.display,e[64]=c,e[65]=k):k=e[65];let A;e[66]!==O||e[67]!==k?(A={label:`Config > Disable code lens`,hidden:O,handle:k},e[66]=O,e[67]=k,e[68]=A):A=e[68];let j=t.display.code_lens??!0,M;e[69]!==t.display||e[70]!==c?(M=()=>{c({display:{...t.display,code_lens:!0}})},e[69]=t.display,e[70]=c,e[71]=M):M=e[71];let N;e[72]!==j||e[73]!==M?(N={label:`Config > Enable code lens`,hidden:j,handle:M},e[72]=j,e[73]=M,e[74]=N):N=e[74];let F=t.display.cell_output===`above`,I;e[75]!==t.display||e[76]!==c?(I=()=>{c({display:{...t.display,cell_output:`above`}})},e[75]=t.display,e[76]=c,e[77]=I):I=e[77];let L;e[78]!==F||e[79]!==I?(L={label:`Config > Set cell output area: above`,hidden:F,handle:I},e[78]=F,e[79]=I,e[80]=L):L=e[80];let R=t.display.cell_output===`below`,z;e[81]!==t.display||e[82]!==c?(z=()=>{c({display:{...t.display,cell_output:`below`}})},e[81]=t.display,e[82]=c,e[83]=z):z=e[83];let B;e[84]!==R||e[85]!==z?(B={label:`Config > Set cell output area: below`,hidden:R,handle:z},e[84]=R,e[85]=z,e[86]=B):B=e[86],d=[...ee().filter(n).map(i),a,o,s,p,g,y,S,T,D,A,N,L,B].filter(P),e[6]=r,e[7]=t.completion,e[8]=t.display,e[9]=t.keymap,e[10]=u,e[11]=c,e[12]=d}else d=e[12];return d}function P(e){return!e.hidden}var F=b(),I=()=>{let d=(0,D.c)(37),[f,m]=e(C),ee=h(),b=t(o),x=t(p),w;d[0]===b?w=d[1]:(w={cell:b},d[0]=b,d[1]=w);let O=S(w).flat();O=M(O);let A=N(),P=T();P=[...M(P),...M(A)];let I=P.filter(L),B=y.keyBy(I,R),{recentCommands:V,addRecentCommand:H}=k(),U;d[2]===V?U=d[3]:(U=new Set(V),d[2]=V,d[3]=U);let W=U,G;d[4]!==x||d[5]!==m?(G=e=>{g(x.getHotkey(`global.commandPalette`).key)(e)&&(e.preventDefault(),m(z))},d[4]=x,d[5]=m,d[6]=G):G=d[6],_(document,`keydown`,G);let K;d[7]!==H||d[8]!==x||d[9]!==ee||d[10]!==m?(K=(e,t)=>{let i=ee[e];if(!i)return null;let a=x.getHotkey(e);return(0,F.jsxs)(n,{disabled:t.disabled,keywords:a.additionalKeywords,onSelect:()=>{H(e),m(!1),requestAnimationFrame(()=>{i()})},value:a.name,children:[(0,F.jsxs)(`span`,{children:[a.name,t.tooltip&&(0,F.jsx)(`span`,{className:`ml-2`,children:t.tooltip})]}),(0,F.jsx)(r,{children:(0,F.jsx)(E,{shortcut:a.key})})]},e)},d[7]=H,d[8]=x,d[9]=ee,d[10]=m,d[11]=K):K=d[11];let te=K,q;d[12]!==H||d[13]!==x||d[14]!==m?(q=e=>{let{label:t,handle:i,props:a,hotkey:o,additionalKeywords:s}=e,c=a===void 0?{}:a;return(0,F.jsxs)(n,{disabled:c.disabled,keywords:s,onSelect:()=>{H(t),m(!1),requestAnimationFrame(()=>{i()})},value:t,children:[(0,F.jsxs)(`span`,{children:[t,c.tooltip&&(0,F.jsxs)(`span`,{className:`ml-2`,children:[`(`,c.tooltip,`)`]})]}),o&&(0,F.jsx)(r,{children:(0,F.jsx)(E,{shortcut:x.getHotkey(o).key})})]},t)},d[12]=H,d[13]=x,d[14]=m,d[15]=q):q=d[15];let J=q,ne=u,Y;d[16]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,F.jsx)(i,{placeholder:`Type to search...`}),d[16]=Y):Y=d[16];let re=c,X;d[17]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,F.jsx)(s,{children:`No results found.`}),d[17]=X):X=d[17];let ie=V.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(l,{heading:`Recently Used`,children:V.map(e=>{let t=B[e];return v(e)?te(e,{disabled:t?.disabled,tooltip:t?.tooltip}):t&&!j(t)?J({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip},additionalKeywords:t.additionalKeywords}):null})}),(0,F.jsx)(a,{})]}),ae=l,oe=x.iterate().map(e=>{if(W.has(e))return null;let t=B[e];return te(e,{disabled:t?.disabled,tooltip:t?.tooltip})}),se=I.map(e=>W.has(e.label)?null:J({label:e.label,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords})),Z;d[18]!==W||d[19]!==J?(Z=e=>W.has(e.label)?null:J({label:`Cell > ${e.label}`,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords}),d[18]=W,d[19]=J,d[20]=Z):Z=d[20];let ce=O.map(Z),Q;d[21]!==ae||d[22]!==se||d[23]!==ce||d[24]!==oe?(Q=(0,F.jsxs)(ae,{heading:`Commands`,children:[oe,se,ce]}),d[21]=ae,d[22]=se,d[23]=ce,d[24]=oe,d[25]=Q):Q=d[25];let $;d[26]!==re||d[27]!==Q||d[28]!==X||d[29]!==ie?($=(0,F.jsxs)(re,{children:[X,ie,Q]}),d[26]=re,d[27]=Q,d[28]=X,d[29]=ie,d[30]=$):$=d[30];let le;return d[31]!==ne||d[32]!==f||d[33]!==m||d[34]!==$||d[35]!==Y?(le=(0,F.jsxs)(ne,{open:f,onOpenChange:m,children:[Y,$]}),d[31]=ne,d[32]=f,d[33]=m,d[34]=$,d[35]=Y,d[36]=le):le=d[36],le};function L(e){return!e.hotkey}function R(e){return e.label}function z(e){return!e}export{I as default};