@marimo-team/frontend 0.23.10-dev1 → 0.23.10-dev3
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-BLWR83i_.js → CellStatus-D_RReCKN.js} +1 -1
- package/dist/assets/{JsonOutput-BJaeXQim.js → JsonOutput-40Fp2jEG.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-B0h5OVW9.js → MarimoErrorOutput-HYZo17DD.js} +1 -1
- package/dist/assets/{RenderHTML-ChwPJgPd.js → RenderHTML-B_YU1hMw.js} +1 -1
- package/dist/assets/{add-cell-with-ai-FxJitVGs.js → add-cell-with-ai-QmkSVxE_.js} +1 -1
- package/dist/assets/{add-connection-dialog-EgkKupsZ.js → add-connection-dialog-C_d6NoB6.js} +1 -1
- package/dist/assets/{agent-panel-D5uoss1C.js → agent-panel-Dq-14MP2.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DxAk02Lc.js → ai-model-dropdown-BZsz2gBj.js} +1 -1
- package/dist/assets/{app-config-button-BcOcIm9W.js → app-config-button-DrjQAYDI.js} +1 -1
- package/dist/assets/{cell-editor-C5CDtKML.js → cell-editor-BnxVODbx.js} +1 -1
- package/dist/assets/{cell-link-B1pHtGWp.js → cell-link-Gwsf-bMV.js} +1 -1
- package/dist/assets/{cells-BsaJrRWi.js → cells-BRMYB7Wo.js} +51 -51
- package/dist/assets/{chat-display-ccjE30z9.js → chat-display-DG6DhHcQ.js} +1 -1
- package/dist/assets/{chat-panel-CtvtP3kb.js → chat-panel-BvrrOl8J.js} +1 -1
- package/dist/assets/{chat-ui-DV8CD_s1.js → chat-ui-g5FqhPv-.js} +1 -1
- package/dist/assets/{column-preview-BPismotx.js → column-preview-Bd7jDAiw.js} +1 -1
- package/dist/assets/{command-palette-Cdy8eCpi.js → command-palette-NK5d8oXe.js} +1 -1
- package/dist/assets/{common-6n8M1qiK.js → common-uMN7vCPi.js} +1 -1
- package/dist/assets/{components-CK-WtvAJ.js → components-C6xgQdpy.js} +1 -1
- package/dist/assets/{components-BzBUxUz0.js → components-C_z0Dsug.js} +1 -1
- package/dist/assets/{datasource-DjDpJnbt.js → datasource-CHSjxFZg.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BNaXAcZr.js → dependency-graph-panel-BmJ-hPrs.js} +1 -1
- package/dist/assets/{documentation-panel-5jUKZR-l.js → documentation-panel-6ZJIjjrY.js} +1 -1
- package/dist/assets/{download-DT8gf0PL.js → download-cs3tezQD.js} +1 -1
- package/dist/assets/{edit-page-C-qF9lwB.js → edit-page-DBwRiakc.js} +3 -3
- package/dist/assets/{error-panel-DHcg_ER5.js → error-panel-BAL4mIVv.js} +1 -1
- package/dist/assets/{file-explorer-panel-CbOdvGyZ.js → file-explorer-panel-B6UWw04X.js} +1 -1
- package/dist/assets/{file-icons-BiMOJy0r.js → file-icons-CNegz5Wt.js} +1 -1
- package/dist/assets/{floating-outline-BN9sAcQ0.js → floating-outline-C_E8vH7G.js} +1 -1
- package/dist/assets/{focus-q38vUCl-.js → focus-B2t0WTxH.js} +1 -1
- package/dist/assets/{form-BtBTvVVd.js → form-BnFjtYoC.js} +1 -1
- package/dist/assets/{home-page-lXjPDNM0.js → home-page-5euYDrSb.js} +1 -1
- package/dist/assets/{hooks-DP41kAWj.js → hooks-DTSuaBec.js} +1 -1
- package/dist/assets/{html-to-image-BWL3Ct4n.js → html-to-image-GGmvROsd.js} +1 -1
- package/dist/assets/{index-CE1XkZU_.js → index-DIc0rD1S.js} +3 -3
- package/dist/assets/{kiosk-mode-BqvqWsFx.js → kiosk-mode-Di1lkQq9.js} +1 -1
- package/dist/assets/{layout-DXDnDtNw.js → layout-Bco8l-YP.js} +3 -3
- package/dist/assets/{logs-panel-BNoBKY1q.js → logs-panel-CaW-dsNY.js} +1 -1
- package/dist/assets/{markdown-renderer-CU5Lbyax.js → markdown-renderer-CHlWY8PG.js} +1 -1
- package/dist/assets/{name-cell-input-BNc3X9qF.js → name-cell-input-DUOo0eNf.js} +1 -1
- package/dist/assets/{outline-panel-De2gw3Ro.js → outline-panel-BOHhothv.js} +1 -1
- package/dist/assets/{packages-panel-C8maQt0Q.js → packages-panel-4nEohRPp.js} +1 -1
- package/dist/assets/{panels-BKv_j2lC.js → panels-BAdoiY2Y.js} +1 -1
- package/dist/assets/{process-output-B2oklQi4.js → process-output-ClRYUndH.js} +1 -1
- package/dist/assets/{radio-group-DlVSuZ_1.js → radio-group-DcUXH-59.js} +1 -1
- package/dist/assets/{readonly-python-code-D3_kHsDx.js → readonly-python-code-D6Ca_8n6.js} +1 -1
- package/dist/assets/{reveal-component-C50CTy8h.js → reveal-component-ComuCTva.js} +1 -1
- package/dist/assets/{run-page-DeOIw0On.js → run-page-iIqjPtCe.js} +1 -1
- package/dist/assets/{scratchpad-panel-DWbD_QB3.js → scratchpad-panel-rClgbzFO.js} +1 -1
- package/dist/assets/{session-panel-BHgL-7KC.js → session-panel-DSNfdRG3.js} +1 -1
- package/dist/assets/{snippets-panel-FY_Ezibl.js → snippets-panel-CUFYazvB.js} +1 -1
- package/dist/assets/{state-D-2KaAHK.js → state-BZoBW9cM.js} +1 -1
- package/dist/assets/{state-BTTshiKq.js → state-CRuZ8deV.js} +1 -1
- package/dist/assets/{textarea-DwltG8V6.js → textarea-0Z0sU8Go.js} +1 -1
- package/dist/assets/{tracing-zLH-qWb2.js → tracing-Drwmt2bI.js} +1 -1
- package/dist/assets/{tracing-panel-bN0O3PuU.js → tracing-panel-Bk-q3YTu.js} +2 -2
- package/dist/assets/{useCellActionButton-h5LjhtEx.js → useCellActionButton-DARfBbL-.js} +1 -1
- package/dist/assets/{useDeleteCell-BBPIhnQj.js → useDeleteCell-l5BAp1WU.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BSkmlMqr.js → useDependencyPanelTab-CP0s5K4d.js} +1 -1
- package/dist/assets/{useNotebookActions-B32eCmtG.js → useNotebookActions-DFkPMDea.js} +1 -1
- package/dist/assets/{useRunCells-BiCBGyeW.js → useRunCells-2n74L4TT.js} +1 -1
- package/dist/assets/{useSplitCell-uogO-7ac.js → useSplitCell-CLVd_9hM.js} +1 -1
- package/dist/index.html +22 -22
- package/package.json +1 -1
- package/src/core/cells/__tests__/document-changes.test.ts +201 -2
- package/src/core/cells/document-changes.ts +61 -3
- package/src/core/codemirror/go-to-definition/__tests__/utils.test.ts +37 -0
- package/src/core/codemirror/go-to-definition/commands.ts +13 -6
- package/src/core/codemirror/go-to-definition/utils.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Bt as I}from"./cells-BsaJrRWi.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-DxAk02Lc.js";import{E as B,T as oe,b as ne}from"./utils-CvI-39U6.js";import{T as re}from"./config-ClMcu_sV.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BqFLkbUc.js";import{i as de,r as he,t as me}from"./popover-Bz_0Vkyf.js";import{l as Q}from"./select-DZcFyKFQ.js";import{t as R}from"./tooltip-DTV9tlSr.js";import{t as xe}from"./button-BbCh-29a.js";import{s as U}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as D}from"./input-C3Hrdlqq.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-DwltG8V6.js";import{t as ge}from"./use-toast-IPAtJGea.js";import{i as be}from"./RSPContexts-CdN1NyAt.js";import{n as we}from"./useDebounce-7xZwVnnu.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-DzC_QCtT.js";import{n as ke}from"./ImperativeModal-B3Th7k4R.js";import{t as O}from"./kbd-CTUAEnEx.js";import{t as _e}from"./links-D1JoyKTt.js";import{t as G}from"./Inputs-C6ftxLAJ.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=Y(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(R,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=Y(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(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)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(U(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(U(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(Q,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(Q,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Be=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(K,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(R,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(K,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Qe,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(V,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Qe(t){return t.preventDefault()}export{Me as n,Se as r,Be as t};
|
|
1
|
+
import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Bt as I}from"./cells-BRMYB7Wo.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-BZsz2gBj.js";import{E as B,T as oe,b as ne}from"./utils-CvI-39U6.js";import{T as re}from"./config-ClMcu_sV.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BqFLkbUc.js";import{i as de,r as he,t as me}from"./popover-Bz_0Vkyf.js";import{l as Q}from"./select-DZcFyKFQ.js";import{t as R}from"./tooltip-DTV9tlSr.js";import{t as xe}from"./button-BbCh-29a.js";import{s as U}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as D}from"./input-C3Hrdlqq.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-0Z0sU8Go.js";import{t as ge}from"./use-toast-IPAtJGea.js";import{i as be}from"./RSPContexts-CdN1NyAt.js";import{n as we}from"./useDebounce-7xZwVnnu.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-DzC_QCtT.js";import{n as ke}from"./ImperativeModal-B3Th7k4R.js";import{t as O}from"./kbd-CTUAEnEx.js";import{t as _e}from"./links-D1JoyKTt.js";import{t as G}from"./Inputs-C6ftxLAJ.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=Y(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(R,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=Y(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(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)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(U(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(U(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(Q,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),B.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(Q,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Be=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(K,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(R,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(K,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Qe,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(V,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Qe(t){return t.preventDefault()}export{Me as n,Se as r,Be as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-CtNTubKN.js","./loro_wasm_bg-CXnd80ne.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var fd=Object.defineProperty;var Ba=Q=>{throw TypeError(Q)};var md=(Q,H,ye)=>H in Q?fd(Q,H,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Q[H]=ye;var p=(Q,H,ye)=>md(Q,typeof H!="symbol"?H+"":H,ye),pd=(Q,H,ye)=>H.has(Q)||Ba("Cannot "+ye);var Pa=(Q,H,ye)=>(pd(Q,H,"read from private field"),ye?ye.call(Q):H.get(Q)),ja=(Q,H,ye)=>H.has(Q)?Ba("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(Q):H.set(Q,ye);import{s as Ma}from"./chunk-LvLJmgfZ.js";import{d as Ra,f as wr,i as Y,l as kn,n as ae,p as Ut,s as Cn,u as ie}from"./useEvent-D91BmmQi.js";import{t as gd}from"./react-Bj1aDYRI.js";import{$r as vr,$t as Ga,Bn as hd,Bt as bd,Ct as yd,D as Sn,Di as wd,Dt as vd,Et as xn,Gn as Ed,Gr as Nd,H as kd,Hn as Ja,I as Cd,Ii as In,Jn as Sd,Jt as xd,K as Wa,Mn as Id,Mt as Ad,Ot as Td,Qn as Fd,Qt as Er,Rn as Ld,Sn as Od,Tn as Nr,U as Va,Un as _d,V as $a,Vt as Ha,W as qa,Wn as Dd,Yt as kr,a as za,at as Ud,b as rt,bn as Bd,d as Ka,en as Ya,h as Bt,hn as Pd,ht as jd,in as Md,kt as Pt,mt as Cr,ni as Rd,nn as Gd,oi as Jd,qn as Wd,rn as Vd,si as Xa,sn as An,st as $d,ti as Hd,u as Qa,un as qd,vn as zd,wi as Za,wt as Sr,xn as Kd,yr as Yd,zn as Xd,__tla as Qd}from"./cells-
|
|
2
|
+
var fd=Object.defineProperty;var Ba=Q=>{throw TypeError(Q)};var md=(Q,H,ye)=>H in Q?fd(Q,H,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Q[H]=ye;var p=(Q,H,ye)=>md(Q,typeof H!="symbol"?H+"":H,ye),pd=(Q,H,ye)=>H.has(Q)||Ba("Cannot "+ye);var Pa=(Q,H,ye)=>(pd(Q,H,"read from private field"),ye?ye.call(Q):H.get(Q)),ja=(Q,H,ye)=>H.has(Q)?Ba("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(Q):H.set(Q,ye);import{s as Ma}from"./chunk-LvLJmgfZ.js";import{d as Ra,f as wr,i as Y,l as kn,n as ae,p as Ut,s as Cn,u as ie}from"./useEvent-D91BmmQi.js";import{t as gd}from"./react-Bj1aDYRI.js";import{$r as vr,$t as Ga,Bn as hd,Bt as bd,Ct as yd,D as Sn,Di as wd,Dt as vd,Et as xn,Gn as Ed,Gr as Nd,H as kd,Hn as Ja,I as Cd,Ii as In,Jn as Sd,Jt as xd,K as Wa,Mn as Id,Mt as Ad,Ot as Td,Qn as Fd,Qt as Er,Rn as Ld,Sn as Od,Tn as Nr,U as Va,Un as _d,V as $a,Vt as Ha,W as qa,Wn as Dd,Yt as kr,a as za,at as Ud,b as rt,bn as Bd,d as Ka,en as Ya,h as Bt,hn as Pd,ht as jd,in as Md,kt as Pt,mt as Cr,ni as Rd,nn as Gd,oi as Jd,qn as Wd,rn as Vd,si as Xa,sn as An,st as $d,ti as Hd,u as Qa,un as qd,vn as zd,wi as Za,wt as Sr,xn as Kd,yr as Yd,zn as Xd,__tla as Qd}from"./cells-BRMYB7Wo.js";import{B as Zd,N as ef,P as xr,R as ei,S as tf,T as ti,k as nf,w as rf}from"./zod-H_cgTO0M.js";import{t as We}from"./compiler-runtime-B3qBwwSJ.js";import{C as of,f as af,m as sf,p as lf,t as cf,v as uf,w as df}from"./ai-model-dropdown-BZsz2gBj.js";import{_ as Ve,c as ni,h as Ir,t as ff,v as mf}from"./useEventListener-DvoEXWke.js";import{t as jt}from"./invariant-BUdrueMv.js";import{_ as ri,c as pf,g as oi,h as ai,l as ii,w as Ar}from"./utils-CvI-39U6.js";import{S as si,T as gf,m as hf,o as bf,r as li,v as yt,w as Mt}from"./config-ClMcu_sV.js";import{n as yf,t as wf}from"./switch-BiU_sAcn.js";import{n as vf}from"./globals-7JnRMGd4.js";import{t as Ef}from"./ErrorBoundary-DyYDV0HI.js";import{t as ct}from"./cn-DCUzRj2J.js";import{t as Nf}from"./jsx-runtime-BqBOg78p.js";import{l as kf,r as Cf,t as Sf}from"./popover-Bz_0Vkyf.js";import{B as xf,__tla as If}from"./JsonOutput-40Fp2jEG.js";import{t as Tr}from"./label-xHqFtfdz.js";import{r as Af}from"./download-cs3tezQD.js";import{t as Tn}from"./tooltip-DTV9tlSr.js";import{r as Fr,t as ut}from"./button-BbCh-29a.js";import{Bt as wt,Ct as ci,Dt as Tf,E as Ff,Ft as Lr,H as ui,Ht as Rt,I as Lf,J as l,Jt as he,Kt as Of,Lt as Fn,Mt as _f,P as Df,St as $e,V as di,Vt as Or,Wt as dt,Yt as Ye,Zt as Gt,_ as Uf,a as Bf,at as R,bt as Pf,ct as Ze,en as Ln,ft as jf,it as Mf,lt as On,m as Rf,pt as Gf,rt as $,st as Jf,vt as Wf,w as Vf,wt as $f,yt as Hf,zt as qf}from"./dist-BrR4M-k3.js";import{E as zf,P as Kf,S as Yf,a as Xf,b as Qf,c as Zf,n as _r,r as em,w as tm,x as nm}from"./dist-CHcznzB-.js";import{o as fi}from"./arrays-DYDL-3-i.js";import{n as rm}from"./once-DRroIaBz.js";import{t as Dr}from"./createReducer-CI9qeK_X.js";import{a as om,c as am,f as _n,h as im,i as sm,l as Jt,n as mi,o as lm,t as cm}from"./dist-HlsDto3K.js";import{t as um}from"./main-B0OX4z33.js";import{r as Dn,t as dm}from"./requests-DIwGYs0l.js";import{t as fm}from"./createLucideIcon-D5guW7EU.js";import{r as pi,t as mm,__tla as pm}from"./layout-Bco8l-YP.js";import{t as gm}from"./x-C-6liIBr.js";import{t as hm}from"./circle-check-C17zXg7L.js";import{D as gi,E as bm,S as ym,a as hi,d as wm,j as vm,k as Em,n as Nm,o as km,r as bi,s as Cm}from"./add-cell-with-ai-QmkSVxE_.js";import{r as Sm,t as xm}from"./file-icons-CNegz5Wt.js";import{n as Im}from"./spinner-Bhir8k53.js";import{t as yi}from"./save-Clg5dMoP.js";import{Y as Am,Z as wi}from"./input-C3Hrdlqq.js";import{t as Tm}from"./sparkles-lWUAsPhp.js";import{t as Fm}from"./preload-helper-BPPi7vOr.js";import{t as vt}from"./use-toast-IPAtJGea.js";import{n as et}from"./paths-D5zczhUD.js";import{t as Lm}from"./session-0B5NBztP.js";import{r as Om}from"./useTheme-CI2eq4XN.js";import{n as vi}from"./copy-LK56fFow.js";import{k as _m}from"./usePress-DQ_tAz5W.js";import{a as Dm}from"./useRunCells-2n74L4TT.js";import{c as Ei,i as Ni,n as ki,r as Um}from"./dialog-DzC_QCtT.js";import{t as Ci}from"./useHotkey-TKvjHf1m.js";import{n as Si}from"./ImperativeModal-B3Th7k4R.js";import{r as Bm}from"./errors-vr57w7Ul.js";import{t as z}from"./extends-BiFDv3jB.js";import{t as Wt}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Pm}from"./kbd-CTUAEnEx.js";import{a as Ur}from"./useInstallPackage-DUF4IRRI.js";import{i as jm,n as xi}from"./state-BZoBW9cM.js";import{a as Mm,o as Rm}from"./cell-link-Gwsf-bMV.js";import{r as Ii}from"./html-to-image-GGmvROsd.js";import{a as Gm}from"./focus-B2t0WTxH.js";import{n as Jm}from"./useAsyncData-bgszE9F0.js";import{a as Wm,o as Ai,r as Vm,s as Ti,t as $m}from"./command-KARR7KMq.js";import{a as Fi}from"./renderShortcut-CcFk3m01.js";import{n as Hm,t as qm}from"./icons-Ol38nIbL.js";import{n as Et}from"./esm-CqWdmSnV.js";import{t as Li}from"./dist-4ni0fia5.js";import{n as Br,t as Oi}from"./useDeleteCell-l5BAp1WU.js";import{t as zm}from"./useSplitCell-CLVd_9hM.js";import{co as Km,do as Pr,fo as Ym,ft as Xm,go as Nt,ho as _i,lo as jr,mo as Di,oo as Qm,po as Zm,so as Ui,uo as Bi,__tla as ep}from"./loro_wasm_bg-CXnd80ne.js";import{t as tp}from"./ws-BnE9sl8z.js";import{t as Pi}from"./Inputs-C6ftxLAJ.js";import{n as np}from"./hooks-DTSuaBec.js";let Un,Mr,ji,Rr,ft,Gr,ve,Vt,$t,Mi,Ri,Gi,Ji,Wi,Bn,Vi,Pn,$i,jn,rp=Promise.all([(()=>{try{return Qd}catch{}})(),(()=>{try{return If}catch{}})(),(()=>{try{return pm}catch{}})(),(()=>{try{return ep}catch{}})()]).then(async()=>{var Nn,Ua,Ne,ke,Ce,Se,xe,Ie,Ae,Te,Fe,Le,Oe,_e,De,Ue,Be,Pe,je,Me,Re;var Q=fm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const Ct=Rt.define({combine:e=>Ln(e,{onError:console.error,inputDebounceTime:ye,keymaps:H},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),ot=he.define(),at=Ye.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(ot))return n.value;return e}}),St=he.define(),xt=he.define(),Wr=Ye.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(St)&&(n={...n,inputValue:r.value}),r.is(xt)&&(n={...n,shouldFocus:r.value});return n}}),Ht=he.define(),It=Ye.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Ht))return n.value;return e}}),mt=he.define(),Vr=Ye.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(mt))return n.value;return e}});var Hi=1;const $r=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<Hi)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:[ot.of({show:!0,lineFrom:i,lineTo:s}),xt.of(!0),St.of("")],selection:wt.cursor(o.from)}),!0},Hr=e=>e.state.field(It)?(e.dispatch({effects:[Ht.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),mt.of(!1)]}),!0):!1,qr=e=>{let t=e.state.field(It);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Ht.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),mt.of(!1)]}),!0):!1};var Mn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function qi(){return navigator.platform.startsWith("Mac")?Mn.mac:navigator.platform.startsWith("Win")?Mn.windows:Mn.default}function Rn(e){return e.replace("Mod",qi()).replace("-"," ").toUpperCase()}function pe(e,t){let n=document.createElement(e);return n.className=t,n}function zi(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 qt=Ye.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(zt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),zt=he.define();function Ki(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new Yi(t),side:1});return r.push(o.range(n)),$.set(r)}var Yi=class extends On{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
|
|
3
3
|
`).length-1}},Xi=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Qi=(e,t)=>Ze.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new Xi(t.cacheTimeout??1e3)}async update(n){var i,s,u,c,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(u=this.abortController)==null||u.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:zt.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(c=t.events)==null?void 0:c.shouldShowSuggestion)==null?void 0:d.call(c,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:zt.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()}}),Zi=Ze.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=Ki(e.view,t)}},{decorations:e=>e.decorations});function es(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.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:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var ts=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Gn);return e.dispatch({...es(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},zr=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Gn);return e.dispatch({effects:zt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},ns=$e.of([{key:"Tab",run:ts},{key:"Escape",run:zr}]),Gn=Rt.define({combine:e=>e.at(-1)});function Kr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=zi(e.fetchFn,t);return[qt,Gn.of(e),Qi(r,e),Zi,n?ns:[]]}const rs=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 os(e){var s,u;let t=e.state.facet(Ct),n={...H,...t.keymaps},r=e.state.facet(Kt),o=pe("div","cm-ai-tooltip").appendChild(pe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Rn(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",c=>{c.stopPropagation(),c.button===0&&c.preventDefault()}),(u=o.querySelector("span"))==null||u.addEventListener("click",c=>{c.preventDefault(),$r(e)}),o}const Kt=Rt.define({combine(e){return Ln(e,{render:os,hideOnBlur:!1,label:"Edit with AI"})}}),as=Ze.fromClass((Ua=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});ja(this,Nn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,u=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,c=s(r)||s(o),d=u(r)||u(o);if(!c||!d){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let f=this.dom.getBoundingClientRect(),g=s(r)?r:o,m=a.right-f.width,h=Math.min(g.left,m),w=g.top-f.height,y=i?i.y:-1/0;w<y&&(w=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${w}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Kt);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(at).show){this.dom.style.display="none";return}if(e.state.facet(Kt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Pa(this,Nn)})}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()}},Nn=new WeakMap,Ua));var is=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 ss(){return[as,is]}var ls=class extends On{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=pe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=pe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=pe("div","cm-floating-buttons"),a=t.state.facet(Ct),i={...H,...a.keymaps},s=pe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Rn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),Hr(t)});let u=pe("button","cm-floating-button cm-floating-reject");return u.innerHTML=`<span class="hotkey">${Rn(i.rejectEdit)}</span> Reject`,u.setAttribute("aria-label","Reject changes"),u.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.focus(),qr(t)}),o.append(s,u),n.append(r,o),n}updateDOM(t,n){return!0}},cs=class extends On{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),mt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(Ct);t==null||t.stopPropagation();let o=n.state.field(at),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),u=n.state.doc.line(o.lineTo),c=s.from,d=u.to,f=n.state.sliceDoc(c,d),g=n.state.sliceDoc(0,c),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:mt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:g,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(at).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:c,to:d,insert:w},effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),Ht.of({from:c,to:c+w.length,oldCode:f,newCode:w}),mt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(h=r.onError)==null||h.call(r,w)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(Wr),r=t.state.field(Vr),o=pe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=pe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=pe("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=pe("div","cm-ai-loading-container");this.loadingContainer=s;let u=pe("div","cm-ai-loading-indicator");u.setAttribute("role","status"),u.setAttribute("aria-live","polite"),u.textContent="Generating";let c=pe("button","cm-ai-cancel-button");c.textContent="Cancel",c.setAttribute("aria-label","Cancel code generation"),c.addEventListener("click",this.onCancel),s.append(c,u);let d=pe("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let g=pe("button","cm-ai-generate-button");g.textContent="\u23CE Generate",g.setAttribute("aria-label","Generate code"),g.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:xt.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?g:f)}let h="";function w(){t.dispatch({effects:St.of(i.value)});let y=i.value.trim();y!==h&&(h=y,m(y))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function us(e){if(!e.prompt)throw Error("prompt function is required");let t={...H,...e.keymaps};return[Ct.of(e),at,Wr,It,Vr,ss(),rs,$e.of([{key:t.showInput,run:$r}]),dt.highest([$e.of([{key:t.acceptEdit,run:Hr},{key:t.rejectEdit,run:qr}])]),ds,fs,ms,ps]}const ds=R.updateListener.of(e=>{let t=e.state.field(at);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,u)=>{let c=e.state.doc.lineAt(a).number;if(c<n){let d=e.state.doc.lineAt(u).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(c<=r){let d=e.state.doc.lineAt(u).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[ot.of({show:!0,lineFrom:n,lineTo:r})]})}),fs=R.decorations.of(e=>{let t=e.state.field(It);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),ms=R.decorations.compute([at],e=>{let t=e.field(at),n=e.facet(Ct),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new cs(n.prompt),side:-1}).range(s))}}return $.set(r)}),ps=Ye.define({create(e){return $.none},update(e,t){let n=t.state.field(It);return n?$.set([$.widget({widget:new ls(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>R.decorations.from(e)});var gs=We(),F=Ma(gd(),1),Jn=()=>({entries:new Map}),{valueAtom:Yr,useActions:Xr}=Dr(Jn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(rt),s=a.get(Ld),u=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),c=new Map;for(let f of n){if(u.has(f)){c.set(f,{cellId:f,type:"simple"});continue}let g=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!u.has(C));y&&v&&m.set(w.name,w.usedBy)}let h;g!=null&&g.runElapsedTimeMs&&g.runElapsedTimeMs>2e3&&(h=g.runElapsedTimeMs),m.size===0&&h===void 0?c.set(f,{cellId:f,type:"simple"}):c.set(f,{cellId:f,type:"expensive",executionDurationMs:h,defs:m})}let d=[...c.values()].every(f=>f.type==="simple");return c.size>0&&d?(c.size===1?r({cellId:[...c.values()][0].cellId}):o({cellIds:[...c.values()].map(f=>f.cellId)}),Jn()):{...e,entries:c}},clear:()=>Jn()});jn=function(){let e=wr(),{submit:t,clear:n}=Xr(),{entries:r}=ie(Yr),o=Oi(),a=Br();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])},$i=function(e){let t=(0,gs.c)(16),n=ie(Yr),r=Xr(),o=Br(),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(hs)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let u;t[10]===r?u=t[11]:(u=()=>r.clear(),t[10]=r,t[11]=u);let c;return t[12]!==i||t[13]!==s||t[14]!==u?(c={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:u},t[12]=i,t[13]=s,t[14]=u,t[15]=c):c=t[15],c};function hs(e){return e.cellId}async function bs(e){var s,u;let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as w,n as j,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Ii as A,It as D,M as E,P as S,mn as T,wi as _}from"./cells-
|
|
1
|
+
import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as w,n as j,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Ii as A,It as D,M as E,P as S,mn as T,wi as _}from"./cells-BRMYB7Wo.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-DvoEXWke.js";import{p as F}from"./utils-CvI-39U6.js";import{r as I}from"./constants-DMpttj8Q.js";import{v as M,w as q}from"./config-ClMcu_sV.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as H}from"./jsx-runtime-BqBOg78p.js";import{r as R}from"./requests-DIwGYs0l.js";import{n as U}from"./paths-D5zczhUD.js";import{s as V}from"./session-0B5NBztP.js";import{n as z}from"./ImperativeModal-B3Th7k4R.js";var G=b();function N(){return O(_)}function J(){let r=(0,G.c)(5),[t]=w(M),e=P(_),{openAlert:s}=z(),{sendRename:o}=R(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=F();return t.state===q.OPEN?(V(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||U.basename(l)||"Untitled Notebook",l)).catch(i=>(s(i.message),null))):(s("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=s,r[2]=o,r[3]=e,r[4]=a):a=r[4],j(a)}var p=b(),v=L(H(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=S()[s]??"",C=E().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??W,c;t[0]===e?c=t[1]:(c=B("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==s||t[3]!==a||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(s==="__scratch__")return!1;d({cellId:s}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(s,o,n)&&(a==null||a())})},t[2]=s,t[3]=a,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(D(i,C)),u;return t[8]!==c||t[9]!==m||t[10]!==f?(u=(0,v.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:f}),t[8]=c,t[9]=m,t[10]=f,t[11]=u):u=t[11],u},K=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},Q=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>T(e,s),t[0]=e,t[1]=s,t[2]=a):a=t[2];let l;t[3]!==e||t[4]!==o?(l=i=>e==="__scratch__"?"scratch":`marimo://${o||"untitled"}#cell=${i}`,t[3]=e,t[4]=o,t[5]=l):l=t[5];let n;return t[6]!==e||t[7]!==a||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:a,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=a,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let s=A.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?($.error(`Cell ${s} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||a&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!a&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function W(r){return r}export{N as a,x as i,K as n,J as o,Q as r,h as t};
|