@marimo-team/frontend 0.17.3 → 0.17.4
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-C3bK7-wN.js → CellStatus-c0SAQ-F-.js} +1 -1
- package/dist/assets/{ConsoleOutput-DWvKgTax.js → ConsoleOutput-CDSftFlX.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-BgZFHyAp.js → MarimoErrorOutput-BMyX5A6l.js} +1 -1
- package/dist/assets/{Output-C8n2C1Pu.js → Output-pZgeySyq.js} +1 -1
- package/dist/assets/RenderHTML-BUSbsjNK.js +1 -0
- package/dist/assets/{add-cell-with-ai-Bwg9bH8i.js → add-cell-with-ai-D5ovEhXx.js} +1 -1
- package/dist/assets/{add-database-form-dbmUeWp4.js → add-database-form-p8983nDn.js} +1 -1
- package/dist/assets/{add-missing-import-qki9bte9.js → add-missing-import-BwGZ98W0.js} +1 -1
- package/dist/assets/{agent-panel-Dhy20Enr.js → agent-panel-B5iI79QW.js} +1 -1
- package/dist/assets/{app-config-button-CYwoclvk.js → app-config-button-BFmqvqPu.js} +1 -1
- package/dist/assets/{cell-actions-c22Lh_IO.js → cell-actions-Cc2JYtcT.js} +1 -1
- package/dist/assets/{cell-editor-GZrtvFJW.js → cell-editor-DJ46IITP.js} +1 -1
- package/dist/assets/{cell-link-sTcnY1Ng.js → cell-link-DFNTDaPd.js} +1 -1
- package/dist/assets/{cells-ChcCEAp9.js → cells-DNq9ng4B.js} +3 -5
- package/dist/assets/{chat-components-2Txp_uWE.js → chat-components-BJMCzZRK.js} +1 -1
- package/dist/assets/{chat-panel-B-aSH1sh.js → chat-panel-DajnoQHz.js} +1 -1
- package/dist/assets/{client-DphVxIGq.js → client-B0dO9skM.js} +1 -1
- package/dist/assets/{column-preview-CXzpLY8T.js → column-preview-BiiXdwvw.js} +1 -1
- package/dist/assets/{command-palette-DisdRO5p.js → command-palette-DbfvqoOB.js} +1 -1
- package/dist/assets/{common-D0IIv-_3.js → common-U0RDob8X.js} +1 -1
- package/dist/assets/{datasources-panel-6PT8Bek6.js → datasources-panel-Bo6UM72J.js} +1 -1
- package/dist/assets/{dependency-graph-panel-6gaUZ9_z.js → dependency-graph-panel-DcOypoYV.js} +1 -1
- package/dist/assets/{documentation-panel-CuORNaIe.js → documentation-panel-BPa77v-x.js} +1 -1
- package/dist/assets/{edit-page-CF6ZT6DW.js → edit-page-CYfYSIzk.js} +3 -3
- package/dist/assets/{error-panel-DsYYzWCa.js → error-panel-C4Dh4_Gz.js} +1 -1
- package/dist/assets/{file-explorer-panel-CPZ1gNhJ.js → file-explorer-panel-BTjjB1ys.js} +1 -1
- package/dist/assets/{floating-outline-BjOLeg9Q.js → floating-outline-DwAgRZTh.js} +1 -1
- package/dist/assets/{focus-BrbV9nqw.js → focus-BwMl5m5_.js} +1 -1
- package/dist/assets/{form-BogImzlM.js → form-CQCzdh1o.js} +1 -1
- package/dist/assets/{form-wmMKGeHm.js → form-D69llIWP.js} +1 -1
- package/dist/assets/{home-page-XcjCdiYR.js → home-page-F1w05vyJ.js} +1 -1
- package/dist/assets/{index-B6c28rYm.css → index-BmcO-QYJ.css} +1 -1
- package/dist/assets/{index-BXJ0L2ZN.js → index-q8eVuDDk.js} +3 -3
- package/dist/assets/{kiosk-mode-DW0KYuDo.js → kiosk-mode-Dd1ooBaF.js} +1 -1
- package/dist/assets/{layout-CNCmZJQH.js → layout-C8ytLSQd.js} +1 -1
- package/dist/assets/{logs-panel-KRi5a3Yd.js → logs-panel-C8ChYhO8.js} +1 -1
- package/dist/assets/{mode-47luhzpx.js → mode-BWw7rz82.js} +1 -1
- package/dist/assets/{name-cell-input-iv2D5yrk.js → name-cell-input-F8bM4E5e.js} +1 -1
- package/dist/assets/{outline-panel-CwQOW3hr.js → outline-panel-QjRV3Zps.js} +1 -1
- package/dist/assets/{packages-panel-bIuFo_yZ.js → packages-panel-_yihtFbB.js} +1 -1
- package/dist/assets/{readonly-python-code-DOMir81o.js → readonly-python-code-gmO6162d.js} +1 -1
- package/dist/assets/{run-page-DcyDyVAW.js → run-page-BsulC5PQ.js} +1 -1
- package/dist/assets/{scratchpad-panel-6URLLQyW.js → scratchpad-panel-A9G8o9jf.js} +1 -1
- package/dist/assets/{snippets-panel-DQjHx5dH.js → snippets-panel-C6FwSaZz.js} +1 -1
- package/dist/assets/{state-OU5IKSGK.js → state-C7T5AXo0.js} +1 -1
- package/dist/assets/{state-Ds5BCDZt.js → state-CIEHjRfF.js} +1 -1
- package/dist/assets/{storage-CCZ0kBEN.js → storage-CmIwledL.js} +1 -1
- package/dist/assets/{tracing-DlcXZDiG.js → tracing-Cq1z4XC3.js} +1 -1
- package/dist/assets/{tracing-panel-BNZEX5NU.js → tracing-panel-Mt1B8lhs.js} +2 -2
- package/dist/assets/{types-XAhA2qP3.js → types-UoG2cq5J.js} +1 -1
- package/dist/assets/{useAddCell-CG6KWlO3.js → useAddCell-xX3fIjF2.js} +1 -1
- package/dist/assets/{useCellActionButton-DFWFWfvs.js → useCellActionButton-jH-t2BrR.js} +1 -1
- package/dist/assets/{useDeleteCell-BPNrZc-g.js → useDeleteCell-CJ4WX9R2.js} +1 -1
- package/dist/assets/{useNotebookActions-DhHVJ3q5.js → useNotebookActions-Cf9b-Ef9.js} +1 -1
- package/dist/assets/{useRunCells-BmIxLPpn.js → useRunCells-DjmsNJ7r.js} +1 -1
- package/dist/assets/{useSplitCell-CDjHCs8K.js → useSplitCell-ueztloAj.js} +1 -1
- package/dist/assets/{utilities.esm-B_umFSka.js → utilities.esm-D8HYU14D.js} +1 -1
- package/dist/assets/{variable-panel-E1eImuWQ.js → variable-panel-DAhAueP9.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +1 -1
- package/src/css/md.css +6 -0
- package/src/plugins/core/__test__/sanitize.test.ts +27 -0
- package/src/plugins/core/sanitize.ts +1 -1
- package/dist/assets/RenderHTML-DockW4fh.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as P}from"./chunk-DZLz74EQ.js";import{s as X}from"./jotai-BTnrNcC1.js";import{t as Z}from"./react-BcIddLXZ.js";import{gt as D}from"./cells-ChcCEAp9.js";import{t as I}from"./compiler-runtime-Cr9loedd.js";import{C as Q,S as $,_ as ee}from"./utils-BpjB6B-Y.js";import{g as te}from"./config-e9OVB2bJ.js";import{t as se}from"./jsx-runtime-mwDPpfh_.js";import{t as le}from"./button-Zjtz1syG.js";import{l as R}from"./once-3GsqimLM.js";import{r as U}from"./requests-DD3OWR81.js";import{t as ae}from"./use-toast-BPMVOfO3.js";import{t as oe}from"./createLucideIcon-CaU6_Jtx.js";import{c as ne,d as re,o as ie,r as ce,s as de,t as he}from"./state-OU5IKSGK.js";import{h as me,l as B}from"./select-Di-JjADd.js";import{r as O}from"./input-DuVApvWu.js";import{t as Y}from"./settings-DvMaGwYY.js";import{a as L,c as M,n as A,o as F,p as xe,r as q,s as S,t as pe,u as fe}from"./form-wmMKGeHm.js";import{t as ue}from"./VisuallyHidden-B9I0t9He.js";import{t as K}from"./tooltip-CerBk_un.js";import{o as je}from"./alert-dialog-BZHeDuaE.js";import{c as ve,l as ge,n as be,t as V}from"./dialog-CzmSXArA.js";import{n as we}from"./useDebounce--Sw2WRQ5.js";import{n as ye}from"./ImperativeModal-ExH1h9et.js";import{t as W}from"./kbd-BfBY_QKr.js";import{i as Ce,r as Ne,t as ke}from"./popover-BoRNi4dY.js";import{t as _e}from"./links-90C38wV6.js";import{t as G}from"./Inputs-aaNuvYOb.js";var Se=oe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=P(I(),1),s=P(se(),1);const Le=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ye(),{sendShutdown:o}=U(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Me,200)},e[0]=o,e[1]=w);let j=w;if(te())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(je,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(me,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(K,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=P(I(),1),z=P(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=ee(),{saveAppConfig:f}=U(),r=(0,z.useId)(),i=(0,z.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe($),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=xe(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,z.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ne,{children:"Notebook Settings"}),(0,s.jsx)(de,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(E,{title:"Display",children:[(0,s.jsx)(L,{control:l.control,name:"width",render:He}),(0,s.jsx)(L,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(E,{title:"Custom Files",children:[(0,s.jsx)(L,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(L,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(E,{title:"Data",children:(0,s.jsx)(L,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let C;t[20]!==r||t[21]!==i?(C=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(A,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(W,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=C):C=t[22];let v;t[23]!==l.control||t[24]!==C?(v=(0,s.jsx)(E,{title:"Exporting outputs",children:(0,s.jsx)(L,{control:l.control,name:"auto_download",render:C})}),t[23]=l.control,t[24]=C,t[25]=v):v=t[25];let N;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(N=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=N):N=t[30];let g;t[31]!==N||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,N]}),t[31]=N,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var E=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(A,{children:(0,s.jsx)(B,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:re().map(qe)})}),(0,s.jsx)(M,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsx)(q,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsx)(q,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(W,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(A,{children:(0,s.jsx)(B,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ae({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ie.map(We)})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(W,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var De=P(I(),1);const Qe=t=>{let e=(0,De.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(he),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(K,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(ue,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(ce,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(ge,{children:n}),e[8]=n,e[9]=T);let H;return e[10]!==o||e[11]!==l||e[12]!==T?(H=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=H):H=e[13],H}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(Ce,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,C;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),C=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=C):(y=e[16],C=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let N;e[20]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=N):N=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(Ne,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,C,(0,s.jsxs)(le,{onClick:v,variant:"link",className:"px-0",children:[N,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(ke,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(V,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
|
|
1
|
+
import{s as P}from"./chunk-DZLz74EQ.js";import{s as X}from"./jotai-BTnrNcC1.js";import{t as Z}from"./react-BcIddLXZ.js";import{gt as D}from"./cells-DNq9ng4B.js";import{t as I}from"./compiler-runtime-Cr9loedd.js";import{C as Q,S as $,_ as ee}from"./utils-BpjB6B-Y.js";import{g as te}from"./config-e9OVB2bJ.js";import{t as se}from"./jsx-runtime-mwDPpfh_.js";import{t as le}from"./button-Zjtz1syG.js";import{l as R}from"./once-3GsqimLM.js";import{r as U}from"./requests-DD3OWR81.js";import{t as ae}from"./use-toast-BPMVOfO3.js";import{t as oe}from"./createLucideIcon-CaU6_Jtx.js";import{c as ne,d as re,o as ie,r as ce,s as de,t as he}from"./state-C7T5AXo0.js";import{h as me,l as B}from"./select-Di-JjADd.js";import{r as O}from"./input-DuVApvWu.js";import{t as Y}from"./settings-DvMaGwYY.js";import{a as L,c as M,n as A,o as F,p as xe,r as q,s as S,t as pe,u as fe}from"./form-D69llIWP.js";import{t as ue}from"./VisuallyHidden-B9I0t9He.js";import{t as K}from"./tooltip-CerBk_un.js";import{o as je}from"./alert-dialog-BZHeDuaE.js";import{c as ve,l as ge,n as be,t as V}from"./dialog-CzmSXArA.js";import{n as we}from"./useDebounce--Sw2WRQ5.js";import{n as ye}from"./ImperativeModal-ExH1h9et.js";import{t as W}from"./kbd-BfBY_QKr.js";import{i as Ce,r as Ne,t as ke}from"./popover-BoRNi4dY.js";import{t as _e}from"./links-90C38wV6.js";import{t as G}from"./Inputs-aaNuvYOb.js";var Se=oe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=P(I(),1),s=P(se(),1);const Le=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ye(),{sendShutdown:o}=U(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Me,200)},e[0]=o,e[1]=w);let j=w;if(te())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(je,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(me,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(K,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=P(I(),1),z=P(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=ee(),{saveAppConfig:f}=U(),r=(0,z.useId)(),i=(0,z.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe($),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=xe(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,z.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ne,{children:"Notebook Settings"}),(0,s.jsx)(de,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(E,{title:"Display",children:[(0,s.jsx)(L,{control:l.control,name:"width",render:He}),(0,s.jsx)(L,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(E,{title:"Custom Files",children:[(0,s.jsx)(L,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(L,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(E,{title:"Data",children:(0,s.jsx)(L,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let C;t[20]!==r||t[21]!==i?(C=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(A,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(W,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=C):C=t[22];let v;t[23]!==l.control||t[24]!==C?(v=(0,s.jsx)(E,{title:"Exporting outputs",children:(0,s.jsx)(L,{control:l.control,name:"auto_download",render:C})}),t[23]=l.control,t[24]=C,t[25]=v):v=t[25];let N;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(N=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=N):N=t[30];let g;t[31]!==N||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,N]}),t[31]=N,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var E=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(A,{children:(0,s.jsx)(B,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:re().map(qe)})}),(0,s.jsx)(M,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsx)(q,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsx)(q,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(A,{children:(0,s.jsx)(O,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(W,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(A,{children:(0,s.jsx)(B,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ae({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ie.map(We)})}),(0,s.jsx)(M,{})]}),(0,s.jsxs)(q,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(W,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var De=P(I(),1);const Qe=t=>{let e=(0,De.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(he),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(K,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(ue,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(ce,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(ge,{children:n}),e[8]=n,e[9]=T);let H;return e[10]!==o||e[11]!==l||e[12]!==T?(H=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=H):H=e[13],H}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(Ce,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,C;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),C=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=C):(y=e[16],C=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let N;e[20]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=N):N=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(Ne,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,C,(0,s.jsxs)(le,{onClick:v,variant:"link",className:"px-0",children:[N,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(ke,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(V,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as E}from"./chunk-DZLz74EQ.js";import{c as P}from"./jotai-BTnrNcC1.js";import{t as R}from"./react-BcIddLXZ.js";import{t as B}from"./compiler-runtime-Cr9loedd.js";import{t as G}from"./jsx-runtime-mwDPpfh_.js";import{t as J}from"./cn-DEUt_IsG.js";import{t as K}from"./createLucideIcon-CaU6_Jtx.js";import{t as L}from"./useCellActionButton-
|
|
1
|
+
import{s as E}from"./chunk-DZLz74EQ.js";import{c as P}from"./jotai-BTnrNcC1.js";import{t as R}from"./react-BcIddLXZ.js";import{t as B}from"./compiler-runtime-Cr9loedd.js";import{t as G}from"./jsx-runtime-mwDPpfh_.js";import{t as J}from"./cn-DEUt_IsG.js";import{t as K}from"./createLucideIcon-CaU6_Jtx.js";import{t as L}from"./useCellActionButton-jH-t2BrR.js";import{a as U,n as V,o as W,t as Q}from"./tooltip-CerBk_un.js";import{d as X}from"./alert-dialog-BZHeDuaE.js";import{a as Y,i as Z}from"./renderShortcut-a-3t8sis.js";import{i as H,r as $,t as O}from"./popover-BoRNi4dY.js";import{a as ee,c as le,i as te,o as se,r as re,t as ae,u as oe}from"./command-DhuV6_de.js";import{n as ne}from"./focus-BwMl5m5_.js";var ie=K("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),q=E(B(),1),b=E(R(),1),l=E(G(),1);const z=b.memo(b.forwardRef((i,r)=>{let e=(0,q.c)(35),s,a,n;e[0]===i?(s=e[1],a=e[2],n=e[3]):({children:s,showTooltip:n,...a}=i,e[0]=i,e[1]=s,e[2]=a,e[3]=n);let m=n===void 0?!0:n,[c,y]=(0,b.useState)(!1),v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=()=>y(!1),e[4]=v):v=e[4];let M=v,g;e[5]===a?g=e[6]:(g={cell:a,closePopover:M},e[5]=a,e[6]=g);let d=L(g),A=X(),N;e[7]===Symbol.for("react.memo_cache_sentinel")?(N=()=>({toggle:()=>y(ce)}),e[7]=N):N=e[7],(0,b.useImperativeHandle)(r,N);let _;e[8]===Symbol.for("react.memo_cache_sentinel")?(_=(0,l.jsx)(ee,{placeholder:"Search actions...",className:"h-6 m-1"}),e[8]=_):_=e[8];let w;e[9]===Symbol.for("react.memo_cache_sentinel")?(w=(0,l.jsx)(re,{children:"No results"}),e[9]=w):w=e[9];let h;if(e[10]!==d){let o;e[12]===d.length?o=e[13]:(o=(u,I)=>(0,l.jsxs)(b.Fragment,{children:[(0,l.jsx)(te,{children:u.map(t=>{let T=(0,l.jsxs)("div",{className:"flex items-center flex-1",children:[t.icon&&(0,l.jsx)("div",{className:"mr-2 w-5 text-muted-foreground",children:t.icon}),(0,l.jsx)("div",{className:"flex-1",children:t.label}),(0,l.jsxs)("div",{className:"shrink-0 text-sm",children:[t.hotkey&&Z(t.hotkey),t.rightElement]})]});return t.tooltip&&(T=(0,l.jsx)(Q,{content:t.tooltip,delayDuration:100,children:T})),(0,l.jsx)(se,{className:J(t.disabled&&"opacity-50!"),onSelect:()=>{t.disableClick||t.disabled||(t.handle(),y(!1))},variant:t.variant,children:T},t.label)})},I),I<d.length-1&&(0,l.jsx)(le,{})]},I),e[12]=d.length,e[13]=o),h=d.map(o),e[10]=d,e[11]=h}else h=e[11];let p;e[14]===h?p=e[15]:(p=(0,l.jsxs)(ae,{children:[_,(0,l.jsxs)(oe,{children:[w,h]})]}),e[14]=h,e[15]=p);let S;e[16]!==A||e[17]!==p?(S=(0,l.jsx)($,{className:"w-[300px] p-0 pt-1 overflow-auto",scrollable:!0,...A,children:p}),e[16]=A,e[17]=p,e[18]=S):S=e[18];let x=S;if(!m){let o;e[19]===s?o=e[20]:(o=(0,l.jsx)(H,{asChild:!0,children:s}),e[19]=s,e[20]=o);let u;return e[21]!==x||e[22]!==c||e[23]!==o?(u=(0,l.jsxs)(O,{open:c,onOpenChange:y,children:[o,x]}),e[21]=x,e[22]=c,e[23]=o,e[24]=u):u=e[24],u}let C;e[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,l.jsx)(V,{tabIndex:-1,children:Y("cell.cellActions")}),e[25]=C):C=e[25];let D=!c&&C,f;e[26]===s?f=e[27]:(f=(0,l.jsx)(W,{children:(0,l.jsx)(H,{className:"flex",children:s})}),e[26]=s,e[27]=f);let j;e[28]!==D||e[29]!==f?(j=(0,l.jsxs)(U,{delayDuration:200,disableHoverableContent:!0,children:[D,f]}),e[28]=D,e[29]=f,e[30]=j):j=e[30];let k;return e[31]!==x||e[32]!==c||e[33]!==j?(k=(0,l.jsxs)(O,{open:c,onOpenChange:y,children:[j,x]}),e[31]=x,e[32]=c,e[33]=j,e[34]=k):k=e[34],k})),F=b.memo(i=>{let r=(0,q.c)(5),{children:e,cellId:s}=i,a;r[0]===s?a=r[1]:(a=ne(s),r[0]=s,r[1]=a);let n=P(a);if(!n)return null;let m;return r[2]!==e||r[3]!==n?(m=(0,l.jsx)(z,{showTooltip:!1,...n,children:e}),r[2]=e,r[3]=n,r[4]=m):m=r[4],m});F.displayName="ConnectionCellActionsDropdown";function ce(i){return!i}export{F as n,ie as r,z as t};
|
|
@@ -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-DNq9ng4B.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-B0dO9skM.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{C as sf,_ as lf,c as cf,n as uf,s as Cr,u as df,v as ff,x as mf,y as gf}from"./dist-CzgFQFBf.js";import{y as hf}from"./Output-pZgeySyq.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{r as Sf}from"./useTheme-DcMAIbRt.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-C8ytLSQd.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-D5ovEhXx.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-UoG2cq5J.js";import{n as qa}from"./spinner-1oeuzoUk.js";import{t as Hf}from"./readonly-python-code-gmO6162d.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-CIEHjRfF.js";import{t as Mt}from"./tooltip-CerBk_un.js";import{r as Yf,t as Xf}from"./mode-BWw7rz82.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-DjmsNJ7r.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-DFNTDaPd.js";import{n as wt}from"./esm-D8ZMWeYP.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-CJ4WX9R2.js";import{n as mm}from"./add-missing-import-BwGZ98W0.js";import{n as gm,t as hm}from"./icons-HGhpVPVr.js";import{a as pm}from"./focus-BwMl5m5_.js";import{t as bm}from"./switch-p-zRh0zu.js";import{t as ii}from"./dist-CKjmAYFu.js";import{t as ym}from"./useSplitCell-ueztloAj.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>
|
|
@@ -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-DNq9ng4B.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};
|
|
@@ -22,11 +22,9 @@ ${e}
|
|
|
22
22
|
""")`}transformIn(e){e=e.trim();let n={...this.defaultMetadata};if(e==="")return{code:"",offset:0,metadata:n};for(let[i,a]of Tx){let s=e.match(a);if(s){let c=s[1],[d,f]=Cx(i);n.quotePrefix=d;let m=Sx(c,f),g=e.indexOf(c);return{code:Vl(`
|
|
23
23
|
${m}
|
|
24
24
|
`).trim(),offset:g,metadata:n}}}return{code:e,offset:0,metadata:n}}transformOut(e,n){e===""&&(e=" ");let{quotePrefix:i}=n,a=e.replaceAll('"""',String.raw`\"""`),s=!e.includes(`
|
|
25
|
-
`),c=e.startsWith('"')||e.endsWith('"')
|
|
26
|
-
|
|
27
|
-
)`,offset:
|
|
28
|
-
`;return{code:f+a+`
|
|
29
|
-
""")`,offset:f.length+1}}isSupported(e){if(e=e.trim(),e==="")return!0;if(!e.startsWith("mo.md("))return!1;if(e==="mo.md()")return!0;let n=lm.parser.parse(e),i=[{match:"Script"},{match:"ExpressionStatement"},{match:"CallExpression"},{match:"MemberExpression"},{match:"VariableName"},{match:"."},{match:"PropertyName"},{match:"ArgList"},{match:"("},{match:/String|FormatString/,stop:!0},{match:")"}],a=!0;return n.iterate({enter:s=>{let c=i.shift();if(c===void 0)return a=!1,!1;let d=c.match;return typeof d=="string"?(a&&(a=d===s.name),a&&!c.stop):(d.test(s.name)||(a=!1),a&&!c.stop)}}),a}},Rx=class{constructor(){Ce(this,"type","python");Ce(this,"defaultCode","");Ce(this,"defaultMetadata",{})}transformIn(e){return{code:e,offset:0,metadata:{}}}transformOut(e,n){return{code:e,offset:0}}isSupported(e){return!0}},Cd="__marimo_duckdb",n0=class{constructor(){Ce(this,"type","sql");Ce(this,"defaultMetadata",{dataframeName:"_df",quotePrefix:"f",commentLines:[],showOutput:!0,engine:Cd})}get defaultCode(){return'_df = mo.sql(f"""SELECT * FROM """)'}static fromQuery(e){return`_df = mo.sql(f"""${e.trim()}""")`}transformIn(e){e=e.trim();let n={...this.defaultMetadata,commentLines:this.extractCommentLines(e)};if(!this.isSupported(e))return{code:e,offset:0,metadata:n};if(e==="")return{code:"",offset:0,metadata:n};let i=r0(e);return i?(n.dataframeName=i.dfName,n.showOutput=i.output??!0,n.engine=i.engine??Cd,{code:Vl(`
|
|
25
|
+
`),c=e.startsWith('"')||e.endsWith('"');if(s&&!c){let f=`mo.md(${i}"""`;return{code:f+a+'""")',offset:f.length}}let d=`mo.md(${i}"""
|
|
26
|
+
`;return{code:d+a+`
|
|
27
|
+
""")`,offset:d.length+1}}isSupported(e){if(e=e.trim(),e==="")return!0;if(!e.startsWith("mo.md("))return!1;if(e==="mo.md()")return!0;let n=lm.parser.parse(e),i=[{match:"Script"},{match:"ExpressionStatement"},{match:"CallExpression"},{match:"MemberExpression"},{match:"VariableName"},{match:"."},{match:"PropertyName"},{match:"ArgList"},{match:"("},{match:/String|FormatString/,stop:!0},{match:")"}],a=!0;return n.iterate({enter:s=>{let c=i.shift();if(c===void 0)return a=!1,!1;let d=c.match;return typeof d=="string"?(a&&(a=d===s.name),a&&!c.stop):(d.test(s.name)||(a=!1),a&&!c.stop)}}),a}},Rx=class{constructor(){Ce(this,"type","python");Ce(this,"defaultCode","");Ce(this,"defaultMetadata",{})}transformIn(e){return{code:e,offset:0,metadata:{}}}transformOut(e,n){return{code:e,offset:0}}isSupported(e){return!0}},Cd="__marimo_duckdb",n0=class{constructor(){Ce(this,"type","sql");Ce(this,"defaultMetadata",{dataframeName:"_df",quotePrefix:"f",commentLines:[],showOutput:!0,engine:Cd})}get defaultCode(){return'_df = mo.sql(f"""SELECT * FROM """)'}static fromQuery(e){return`_df = mo.sql(f"""${e.trim()}""")`}transformIn(e){e=e.trim();let n={...this.defaultMetadata,commentLines:this.extractCommentLines(e)};if(!this.isSupported(e))return{code:e,offset:0,metadata:n};if(e==="")return{code:"",offset:0,metadata:n};let i=r0(e);return i?(n.dataframeName=i.dfName,n.showOutput=i.output??!0,n.engine=i.engine??Cd,{code:Vl(`
|
|
30
28
|
${i.sqlString}
|
|
31
29
|
`).trim(),offset:i.startPosition,metadata:n}):{code:e,offset:0,metadata:n}}transformOut(e,n){let{quotePrefix:i,commentLines:a,showOutput:s,engine:c,dataframeName:d}=n,f=`${d} = mo.sql(
|
|
32
30
|
${i}"""
|