@marimo-team/frontend 0.22.1-dev32 → 0.22.1-dev34
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-DbnxfYhY.js → CellStatus-DKyVv7Zj.js} +1 -1
- package/dist/assets/{ImperativeModal-BZqqSMUY.js → ImperativeModal-DSu22ncS.js} +1 -1
- package/dist/assets/{JsonOutput-LeC5h8MP.js → JsonOutput-D1i8P1dG.js} +4 -4
- package/dist/assets/{MarimoErrorOutput-Dq9zeSH2.js → MarimoErrorOutput-RmM7djc-.js} +1 -1
- package/dist/assets/{RenderHTML-C11kWI2X.js → RenderHTML-Bmn77an6.js} +1 -1
- package/dist/assets/{VisuallyHidden-CXprQ4B9.js → VisuallyHidden-DVY6OceZ.js} +1 -1
- package/dist/assets/{add-cell-with-ai-Dmm_0EEi.js → add-cell-with-ai-RyZ9Xe2b.js} +1 -1
- package/dist/assets/{add-connection-dialog-CMjIBIY8.js → add-connection-dialog-ogwy8tvS.js} +7 -7
- package/dist/assets/{agent-panel-COS8BLy0.js → agent-panel-BHLkHj7k.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DXmwokmr.js → ai-model-dropdown-Dnf-CxbP.js} +2 -2
- package/dist/assets/{app-config-button-CbHcdSN-.js → app-config-button-D1Z_xsvC.js} +1 -1
- package/dist/assets/{arrays-B5sjidyq.js → arrays-DAC2orgH.js} +1 -1
- package/dist/assets/{cache-panel-odWopDUF.js → cache-panel-CIkuJR1J.js} +1 -1
- package/dist/assets/{capabilities-ZmYlOg9F.js → capabilities-BmGdj50E.js} +1 -1
- package/dist/assets/{cell-editor-B3xy42eO.js → cell-editor-_GDTh-4a.js} +2 -2
- package/dist/assets/{cell-link-CVq1Spik.js → cell-link-D4UrIH9w.js} +1 -1
- package/dist/assets/{cells-CgztvghI.js → cells-ArUhhHls.js} +6 -6
- package/dist/assets/{chat-display-DsnXg_ta.js → chat-display-YmFjOXkV.js} +1 -1
- package/dist/assets/{chat-panel-B3DihEiS.js → chat-panel-B76rxYTh.js} +1 -1
- package/dist/assets/{chat-ui-CJ8BkLf3.js → chat-ui-BitNq1z6.js} +1 -1
- package/dist/assets/{column-preview-DHqtWPTK.js → column-preview-NDhbeu0E.js} +1 -1
- package/dist/assets/{command-D-mHCwqq.js → command-C0h2HiOh.js} +1 -1
- package/dist/assets/{command-palette-DIRRfZJn.js → command-palette-uJxkhle4.js} +1 -1
- package/dist/assets/common-CRBlPqv5.js +1 -0
- package/dist/assets/{components-Cm0Z0WS0.js → components-BfHGr__b.js} +1 -1
- package/dist/assets/{components-8pybQwj3.js → components-DwGcJvMB.js} +1 -1
- package/dist/assets/config-CmaJdl9U.js +1 -0
- package/dist/assets/{datasource-BkclstbB.js → datasource-D9e37ifa.js} +1 -1
- package/dist/assets/{dependency-graph-panel-Dcuc_z1H.js → dependency-graph-panel-BBmN-Vc7.js} +1 -1
- package/dist/assets/{documentation-panel-ClcJVCf2.js → documentation-panel-Dm2xtsTq.js} +1 -1
- package/dist/assets/{download-t5dlf0C8.js → download-7EtMZf2Y.js} +1 -1
- package/dist/assets/{edit-page-TFKoKf0h.js → edit-page-Cr_DnrkM.js} +4 -4
- package/dist/assets/{error-panel-BpZDYT0j.js → error-panel-C3-vTzaH.js} +1 -1
- package/dist/assets/{field-D9oMqqiD.js → field-C6i22m8B.js} +1 -1
- package/dist/assets/{file-explorer-panel-BIxcHuNY.js → file-explorer-panel-g9KppC7Y.js} +1 -1
- package/dist/assets/{file-icons-CH6PLlAQ.js → file-icons-JXAG6vK-.js} +1 -1
- package/dist/assets/{floating-outline-C_iFBT1S.js → floating-outline-B6Qyid7Q.js} +1 -1
- package/dist/assets/{focus-CM-zeepg.js → focus-DCN0oEe0.js} +1 -1
- package/dist/assets/{form-BdN-gGnj.js → form-BVnQnVQ2.js} +1 -1
- package/dist/assets/{formatting-Dw1UOYgm.js → formatting-7562d1pf.js} +1 -1
- package/dist/assets/gallery-page-Bpv4b7kz.js +1 -0
- package/dist/assets/{glide-data-editor-CoyImave.js → glide-data-editor-CDqunAkw.js} +2 -2
- package/dist/assets/{globals-DAddhPz5.js → globals-DK8gKReW.js} +1 -1
- package/dist/assets/{home-page-DBGKQtzB.js → home-page-Bg02jazh.js} +1 -1
- package/dist/assets/{hooks-BjBV2Ya4.js → hooks-zQJ9iU_R.js} +1 -1
- package/dist/assets/{html-to-image-PhtipB5F.js → html-to-image-C5XSE7QT.js} +1 -1
- package/dist/assets/{index-CdVQcrze.js → index-KI45dku7.js} +5 -5
- package/dist/assets/{input-BIyJeBxh.js → input-DjrybsRY.js} +1 -1
- package/dist/assets/{kiosk-mode-BIsGB2bz.js → kiosk-mode-CriCUOI1.js} +1 -1
- package/dist/assets/{layout-B_WyZpcV.js → layout-Cudicm29.js} +4 -4
- package/dist/assets/{logs-panel-UQ4ATgUR.js → logs-panel-CoWO9c8s.js} +1 -1
- package/dist/assets/{markdown-renderer-CsSEt6xr.js → markdown-renderer-CyUc0f8D.js} +1 -1
- package/dist/assets/{name-cell-input-CjhljYZD.js → name-cell-input-DeM6upjB.js} +1 -1
- package/dist/assets/{numbers-CygPEQjl.js → numbers-b0Wn9I4t.js} +1 -1
- package/dist/assets/{once-BqL8ujHo.js → once-hq2TLzOp.js} +1 -1
- package/dist/assets/{outline-panel-CeVBezl7.js → outline-panel-C4P3wA7Z.js} +1 -1
- package/dist/assets/{packages-panel-BIK8BiI8.js → packages-panel-DnrjjQDF.js} +1 -1
- package/dist/assets/{panels-y7fSeKKx.js → panels-BCRqI88j.js} +1 -1
- package/dist/assets/{process-output-CMn_Dy8B.js → process-output-e_aMblRk.js} +1 -1
- package/dist/assets/{readonly-python-code-CpnBFG08.js → readonly-python-code-CVgh88Tn.js} +1 -1
- package/dist/assets/{run-page-RH8OBSIP.js → run-page-C-ySBXLo.js} +1 -1
- package/dist/assets/{scratchpad-panel-DpCnByeb.js → scratchpad-panel-C5Pogi1P.js} +1 -1
- package/dist/assets/{secrets-panel-zzYf3-bR.js → secrets-panel-CeJzoxCj.js} +1 -1
- package/dist/assets/{session-panel-CXp7JlL_.js → session-panel-DEsnZWks.js} +1 -1
- package/dist/assets/{slides-component-BzAdNkd5.js → slides-component-xpT1rEyh.js} +1 -1
- package/dist/assets/snippets-panel-DQgE3W8I.js +1 -0
- package/dist/assets/{state-CSzwfw0V.js → state-CV8Wy3e4.js} +1 -1
- package/dist/assets/{state-B8b64ALg.js → state-pGNeffyB.js} +1 -1
- package/dist/assets/{switch-Cojab6Bg.js → switch-DqrqDBdD.js} +1 -1
- package/dist/assets/{terminal-D1Yvu9pO.js → terminal-DXod4Bkk.js} +1 -1
- package/dist/assets/{textarea-CYczeAo_.js → textarea-DqzNK0s9.js} +1 -1
- package/dist/assets/{tracing-B1JBBMQ6.js → tracing-BUFVOmZw.js} +1 -1
- package/dist/assets/{tracing-panel-C9D2pbpI.js → tracing-panel-BsLloPWd.js} +2 -2
- package/dist/assets/{useAddCell-Dx949Nwo.js → useAddCell-cC7JUC0q.js} +1 -1
- package/dist/assets/{useBoolean-CLYY2hZr.js → useBoolean-DN8PHql0.js} +1 -1
- package/dist/assets/{useCellActionButton-Dwv-mN2S.js → useCellActionButton-BiYBXHfb.js} +1 -1
- package/dist/assets/{useDeleteCell-D77nfE58.js → useDeleteCell-D2p4Dz0U.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-CrdJd5fp.js → useDependencyPanelTab-c5-eXlcr.js} +1 -1
- package/dist/assets/{useIframeCapabilities-Co6Bg4p6.js → useIframeCapabilities-YemHpw31.js} +1 -1
- package/dist/assets/{useNotebookActions-DXMC1QdX.js → useNotebookActions-Bb4xxjuJ.js} +1 -1
- package/dist/assets/{useRunCells-ClEcKsmt.js → useRunCells-DgBY-vh9.js} +1 -1
- package/dist/assets/{useSplitCell-DMwGtAvj.js → useSplitCell-SS0kKwVk.js} +1 -1
- package/dist/assets/vega-component-CdvEZvzS.js +1 -0
- package/dist/assets/write-secret-modal-ZNCQQNxl.js +1 -0
- package/dist/index.html +36 -36
- package/package.json +1 -1
- package/src/components/chat/acp/state.ts +1 -1
- package/src/components/chat/chat-history-popover.tsx +1 -1
- package/src/components/data-table/pagination.tsx +1 -1
- package/src/components/editor/cell/code/cell-editor.tsx +1 -1
- package/src/components/editor/chrome/panels/snippets-panel.tsx +1 -1
- package/src/components/editor/chrome/panels/write-secret-modal.tsx +1 -1
- package/src/components/editor/chrome/wrapper/storage.ts +2 -2
- package/src/components/editor/connections/database/as-code.ts +1 -1
- package/src/components/editor/connections/form-renderers.tsx +1 -1
- package/src/components/editor/connections/storage/as-code.ts +1 -1
- package/src/components/editor/links/cell-link-list.tsx +1 -1
- package/src/components/editor/navigation/clipboard.ts +1 -1
- package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +2 -2
- package/src/components/editor/navigation/navigation.ts +2 -2
- package/src/components/editor/output/JsonOutput.tsx +2 -2
- package/src/components/editor/output/console/ConsoleOutput.tsx +1 -1
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
- package/src/components/pages/gallery-page.tsx +1 -1
- package/src/components/variables/variables-table.tsx +1 -1
- package/src/core/cells/cells.ts +1 -1
- package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
- package/src/core/codemirror/copilot/getCodes.ts +1 -1
- package/src/core/codemirror/copilot/transport.ts +1 -0
- package/src/core/datasets/state.ts +1 -1
- package/src/core/network/CachingRequestRegistry.ts +1 -1
- package/src/core/runtime/runtime.ts +1 -0
- package/src/hooks/__tests__/useDuplicateShortcuts.test.ts +1 -1
- package/src/plugins/impl/anywidget/__tests__/model.test.ts +2 -2
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +1 -1
- package/src/plugins/impl/vega/make-selectable.ts +2 -2
- package/src/utils/__tests__/multi-map.test.ts +3 -3
- package/src/utils/__tests__/versions.test.ts +5 -5
- package/src/utils/arrays.ts +1 -1
- package/src/utils/mime-types.ts +1 -1
- package/dist/assets/common-C4jQ7Qmf.js +0 -1
- package/dist/assets/config-CgKiz3_o.js +0 -1
- package/dist/assets/gallery-page-D4AIyP5z.js +0 -1
- package/dist/assets/snippets-panel-BuIAXUdn.js +0 -1
- package/dist/assets/vega-component-BOzdRfM3.js +0 -1
- package/dist/assets/write-secret-modal-B3ApxSKF.js +0 -1
|
@@ -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{At as I}from"./cells-CgztvghI.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-DXmwokmr.js";import{C as oe,v as ne,w as Q}from"./utils-DKaC_ndw.js";import{S as re}from"./config-CgKiz3_o.js";import{t as ie}from"./jsx-runtime-Blw4afVn.js";import{o as ce}from"./alert-dialog-CXspBRlP.js";import{i as de,r as he,t as me}from"./popover-AtoFZ7i4.js";import{l as R}from"./select--zcABebs.js";import{t as U}from"./tooltip-DmqhBBs6.js";import{t as xe}from"./button-BKVLeSTX.js";import{s as B}from"./arrays-B5sjidyq.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as pe}from"./createLucideIcon-w-Qo9n0R.js";import{t as fe}from"./x-Bv2rCglF.js";import{r as D}from"./input-BIyJeBxh.js";import{t as K}from"./settings-D6Nc4lMz.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-CYczeAo_.js";import{t as ge}from"./use-toast-T0_cQDma.js";import{c as be,l as we,n as ye,t as V}from"./dialog-CognbQV_.js";import{t as Ne}from"./VisuallyHidden-CXprQ4B9.js";import{n as Ce}from"./useDebounce-CnN5Ul9t.js";import{n as ke}from"./ImperativeModal-BZqqSMUY.js";import{t as O}from"./kbd-BbX-cXm5.js";import{t as _e}from"./links-NCBzUApL.js";import{t as G}from"./Inputs-BevU8BSO.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)(U,{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 Pe=()=>{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=Ce(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(qe,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)(P,{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(B(_.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(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(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)(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 qe(){window.dispatchEvent(new Event("resize"))}function Ee(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(P,{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)(R,{"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(Ee)})}),(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)(P,{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),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(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 De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(P,{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),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(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)(P,{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)(q,{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)(P,{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)(R,{"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)(q,{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 Qe=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)(U,{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)(ye,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(Ne,{children:(0,s.jsx)(be,{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)(we,{children:n}),e[8]=n,e[9]=T);let E;return e[10]!==o||e[11]!==l||e[12]!==T?(E=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=E):E=e[13],E}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)(Pe,{}),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:Re,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 Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe 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{At as I}from"./cells-ArUhhHls.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-Dnf-CxbP.js";import{C as oe,v as ne,w as Q}from"./utils-DKaC_ndw.js";import{S as re}from"./config-CmaJdl9U.js";import{t as ie}from"./jsx-runtime-Blw4afVn.js";import{o as ce}from"./alert-dialog-CXspBRlP.js";import{i as de,r as he,t as me}from"./popover-AtoFZ7i4.js";import{l as R}from"./select--zcABebs.js";import{t as U}from"./tooltip-DmqhBBs6.js";import{t as xe}from"./button-BKVLeSTX.js";import{s as B}from"./arrays-DAC2orgH.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as pe}from"./createLucideIcon-w-Qo9n0R.js";import{t as fe}from"./x-Bv2rCglF.js";import{r as D}from"./input-DjrybsRY.js";import{t as K}from"./settings-D6Nc4lMz.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-DqzNK0s9.js";import{t as ge}from"./use-toast-T0_cQDma.js";import{c as be,l as we,n as ye,t as V}from"./dialog-CognbQV_.js";import{t as Ne}from"./VisuallyHidden-DVY6OceZ.js";import{n as Ce}from"./useDebounce-CnN5Ul9t.js";import{n as ke}from"./ImperativeModal-DSu22ncS.js";import{t as O}from"./kbd-BbX-cXm5.js";import{t as _e}from"./links-NCBzUApL.js";import{t as G}from"./Inputs-BevU8BSO.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)(U,{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 Pe=()=>{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=Ce(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(qe,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)(P,{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(B(_.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(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(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)(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 qe(){window.dispatchEvent(new Event("resize"))}function Ee(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(P,{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)(R,{"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(Ee)})}),(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)(P,{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),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(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 De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(P,{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),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(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)(P,{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)(q,{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)(P,{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)(R,{"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)(q,{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 Qe=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)(U,{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)(ye,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(Ne,{children:(0,s.jsx)(be,{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)(we,{children:n}),e[8]=n,e[9]=T);let E;return e[10]!==o||e[11]!==l||e[12]!==T?(E=(0,s.jsxs)(V,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=E):E=e[13],E}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)(Pe,{}),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:Re,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 Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as f}from"./invariant-CkiqGLcK.js";function l(t,r,n){return Math.min(Math.max(t,r),n)}function s(t,r){let n=[...t];return n.splice(r,1),n}function o(t,r,n){r=l(r,0,t.length);let e=[...t];return e.splice(r,0,n),e}function a(t,r,n){let e=[...t],[u]=e.splice(r,1);return e.splice(n,0,u),e}function c(t,r,n){if(t.length===0)return n;r=l(r,0,t.length);let e=[...t];return e.splice(r,0,...n),e}function p(t,r){if(t===r)return!0;if(t.length!==r.length)return!1;for(let n=0,e=t.length;n<e;n++)if(t[n]!==r[n])return!1;return!0}const h={EMPTY:[],zip:(t,r)=>(f(t.length===r.length,"Arrays must be the same length"),t.map((n,e)=>[n,r[e]]))};function m(t){return[...new Set(t)]}function g(t,r){return t.map(n=>[r(n),n]).
|
|
1
|
+
import{t as f}from"./invariant-CkiqGLcK.js";function l(t,r,n){return Math.min(Math.max(t,r),n)}function s(t,r){let n=[...t];return n.splice(r,1),n}function o(t,r,n){r=l(r,0,t.length);let e=[...t];return e.splice(r,0,n),e}function a(t,r,n){let e=[...t],[u]=e.splice(r,1);return e.splice(n,0,u),e}function c(t,r,n){if(t.length===0)return n;r=l(r,0,t.length);let e=[...t];return e.splice(r,0,...n),e}function p(t,r){if(t===r)return!0;if(t.length!==r.length)return!1;for(let n=0,e=t.length;n<e;n++)if(t[n]!==r[n])return!1;return!0}const h={EMPTY:[],zip:(t,r)=>(f(t.length===r.length,"Arrays must be the same length"),t.map((n,e)=>[n,r[e]]))};function m(t){return[...new Set(t)]}function g(t,r){return t.map(n=>[r(n),n]).toSorted(([n],[e])=>n==null&&e==null?0:n==null?1:e==null||n<e?-1:n>e?1:0).map(([,n])=>n)}function d(t,r){let n=[],e=[];for(let u of t)r(u)?n.push(u):e.push(u);return[n,e]}function M(t,r){if(!t)return[r];let n=t.indexOf(r);if(n===-1)return[...t,r];let e=[...t];return e.splice(n,1),e}function w(t,r){let n=[],e=new Set;for(let u of t){let i=r(u);e.has(i)||(e.add(i),n.push(u))}return n}function x(t,r){let n=new Map;for(let e of t){let u=r(e);n.set(u,e)}return[...n.values()]}function S(t,r,n){return r===0?0:t===null?n==="up"?0:r-1:n==="up"?(t+1)%r:(t-1+r)%r}export{a,S as c,m as d,w as f,c as i,d as l,l as m,s as n,p as o,x as p,o as r,M as s,h as t,g as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-DYvqRARy.js";import{t as q}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-CXspBRlP.js";import{t as z}from"./button-BKVLeSTX.js";import{r as Z}from"./requests-9-v2bhoi.js";import{t as E}from"./database-zap-BxfYZ6ML.js";import{t as _}from"./spinner-AR54Ic3-.js";import{t as $}from"./refresh-cw-CoFbRtMK.js";import{t as ee}from"./trash-2-CwDX6_Ac.js";import{t as A}from"./use-toast-T0_cQDma.js";import{t as se}from"./context-DaFZ_AD8.js";import{r as T}from"./numbers-
|
|
1
|
+
import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-DYvqRARy.js";import{t as q}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-CXspBRlP.js";import{t as z}from"./button-BKVLeSTX.js";import{r as Z}from"./requests-9-v2bhoi.js";import{t as E}from"./database-zap-BxfYZ6ML.js";import{t as _}from"./spinner-AR54Ic3-.js";import{t as $}from"./refresh-cw-CoFbRtMK.js";import{t as ee}from"./trash-2-CwDX6_Ac.js";import{t as A}from"./use-toast-T0_cQDma.js";import{t as se}from"./context-DaFZ_AD8.js";import{r as T}from"./numbers-b0Wn9I4t.js";import{n as te}from"./useAsyncData-BPlezez1.js";import{t as I}from"./empty-state-CzKMYdaQ.js";import{t as ae}from"./requests-BqcqF00P.js";import{n as ie,t as L}from"./formatting-7562d1pf.js";var re=D(),O=F(H(),1),s=F(q(),1);const le=w=>{let e=(0,re.c)(27),{children:a,title:n,description:r,onConfirm:t,confirmText:l,cancelText:i,destructive:o}=w,y=l===void 0?"Continue":l,x=i===void 0?"Cancel":i,f=o===void 0?!1:o,[p,P]=O.useState(!1),h;e[0]===t?h=e[1]:(h=()=>{t(),P(!1)},e[0]=t,e[1]=h);let u=h,d=f?U:Q,m;e[2]===a?m=e[3]:(m=(0,s.jsx)(Y,{asChild:!0,children:a}),e[2]=a,e[3]=m);let c;e[4]===n?c=e[5]:(c=(0,s.jsx)(K,{children:n}),e[4]=n,e[5]=c);let j;e[6]===r?j=e[7]:(j=(0,s.jsx)(B,{children:r}),e[6]=r,e[7]=j);let v;e[8]!==c||e[9]!==j?(v=(0,s.jsxs)(G,{children:[c,j]}),e[8]=c,e[9]=j,e[10]=v):v=e[10];let g;e[11]===x?g=e[12]:(g=(0,s.jsx)(V,{children:x}),e[11]=x,e[12]=g);let N;e[13]!==d||e[14]!==y||e[15]!==u?(N=(0,s.jsx)(d,{onClick:u,children:y}),e[13]=d,e[14]=y,e[15]=u,e[16]=N):N=e[16];let b;e[17]!==N||e[18]!==g?(b=(0,s.jsxs)(W,{children:[g,N]}),e[17]=N,e[18]=g,e[19]=b):b=e[19];let C;e[20]!==b||e[21]!==v?(C=(0,s.jsxs)(J,{children:[v,b]}),e[20]=b,e[21]=v,e[22]=C):C=e[22];let S;return e[23]!==p||e[24]!==C||e[25]!==m?(S=(0,s.jsxs)(X,{open:p,onOpenChange:P,children:[m,C]}),e[23]=p,e[24]=C,e[25]=m,e[26]=S):S=e[26],S};var oe=D(),ce=()=>{let{clearCache:w,getCacheInfo:e}=Z(),a=R(ae),[n,r]=(0,O.useState)(!1),{locale:t}=se(),{isPending:l,isFetching:i,refetch:o}=te(async()=>{await e(),await new Promise(c=>setTimeout(c,500))},[]),y=async()=>{try{r(!0),await w(),A({title:"Cache purged",description:"All cached data has been cleared"}),o()}catch(c){A({title:"Error",description:c instanceof Error?c.message:"Failed to purge cache",variant:"danger"})}finally{r(!1)}};if(l&&!a)return(0,s.jsx)(_,{size:"medium",centered:!0});let x=(0,s.jsxs)(z,{variant:"outline",size:"sm",onClick:o,disabled:i,children:[i?(0,s.jsx)(_,{size:"small",className:"w-4 h-4 mr-2"}):(0,s.jsx)($,{className:"w-4 h-4 mr-2"}),"Refresh"]});if(!a)return(0,s.jsx)(I,{title:"No cache data",description:"Cache information is not available.",icon:(0,s.jsx)(E,{}),action:x});let f=a.hits,p=a.misses,P=a.time,h=a.disk_total,u=a.disk_to_free,d=f+p,m=d>0?f/d*100:0;return d===0?(0,s.jsx)(I,{title:"No cache activity",description:"The cache has not been used yet. Cached functions will appear here once they are executed.",icon:(0,s.jsx)(E,{}),action:x}):(0,s.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4 p-4 h-full",children:[(0,s.jsx)("div",{className:"flex items-center justify-end",children:(0,s.jsx)(z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:o,disabled:i,children:(0,s.jsx)($,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",i&&"animate-[spin_0.5s]")})})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Statistics"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(k,{label:"Time saved",value:ie(P,t),description:"Total execution time saved"}),(0,s.jsx)(k,{label:"Hit rate",value:d>0?`${T(m,t)}%`:"\u2014",description:`${T(f,t)} hits / ${T(d,t)} total`}),(0,s.jsx)(k,{label:"Cache hits",value:T(f,t),description:"Successful cache retrievals"}),(0,s.jsx)(k,{label:"Cache misses",value:T(p,t),description:"Cache not found"})]})]}),h>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Storage"}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-3",children:(0,s.jsx)(k,{label:"Disk usage",value:L(h,t),description:u>0?`${L(u,t)} can be freed`:"Cache storage on disk"})})]}),(0,s.jsx)("div",{className:"my-auto"}),(0,s.jsx)("div",{className:"pt-2 border-t",children:(0,s.jsx)(le,{title:"Purge cache?",description:"This will permanently delete all cached data. This action cannot be undone.",confirmText:"Purge",destructive:!0,onConfirm:y,children:(0,s.jsxs)(z,{variant:"outlineDestructive",size:"xs",disabled:n,className:"w-full",children:[n?(0,s.jsx)(_,{size:"small",className:"w-3 h-3 mr-2"}):(0,s.jsx)(ee,{className:"w-3 h-3 mr-2"}),"Purge Cache"]})})})]})})},k=w=>{let e=(0,oe.c)(10),{label:a,value:n,description:r}=w,t;e[0]===a?t=e[1]:(t=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),e[0]=a,e[1]=t);let l;e[2]===n?l=e[3]:(l=(0,s.jsx)("span",{className:"text-lg font-semibold",children:n}),e[2]=n,e[3]=l);let i;e[4]===r?i=e[5]:(i=r&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),e[4]=r,e[5]=i);let o;return e[6]!==t||e[7]!==l||e[8]!==i?(o=(0,s.jsxs)("div",{className:"flex flex-col gap-1 p-3 rounded-lg border bg-card",children:[t,l,i]}),e[6]=t,e[7]=l,e[8]=i,e[9]=o):o=e[9],o},ne=ce;export{ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a}from"./useEventListener-DGjKht0c.js";import{n as l}from"./once-
|
|
1
|
+
import{_ as a}from"./useEventListener-DGjKht0c.js";import{n as l}from"./once-hq2TLzOp.js";function i(n){try{let e=window[n],r="__storage_test__",t="test";if(!e)return!1;e.setItem(r,t);let o=e.getItem(r);return e.removeItem(r),o===t}catch{return!1}}function s(){try{return"download"in document.createElement("a")}catch{return!1}}function d(){let n=window.parent!==window,e={isEmbedded:n,hasLocalStorage:i("localStorage"),hasSessionStorage:i("sessionStorage"),hasClipboard:navigator.clipboard!==void 0,hasDownloads:s(),hasFullscreen:document.fullscreenEnabled!==void 0&&document.fullscreenEnabled,hasMediaDevices:navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getUserMedia=="function"};return n&&(a.log("[iframe] Running in embedded context"),e.hasLocalStorage||a.warn("[iframe] localStorage unavailable - using fallback storage"),e.hasClipboard||a.warn("[iframe] Clipboard API unavailable"),e.hasDownloads||a.warn("[iframe] Download capability may be restricted"),e.hasFullscreen||a.warn("[iframe] Fullscreen API unavailable"),e.hasMediaDevices||a.warn("[iframe] Media devices API unavailable")),e}const c=l(()=>d());export{c as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-DXuHQ2hl.js","./loro_wasm_bg-Ds40eH8K.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var nd=Object.defineProperty;var Aa=re=>{throw TypeError(re)};var rd=(re,z,pe)=>z in re?nd(re,z,{enumerable:!0,configurable:!0,writable:!0,value:pe}):re[z]=pe;var p=(re,z,pe)=>rd(re,typeof z!="symbol"?z+"":z,pe),od=(re,z,pe)=>z.has(re)||Aa("Cannot "+pe);var Ta=(re,z,pe)=>(od(re,z,"read from private field"),pe?pe.call(re):z.get(re)),Ia=(re,z,pe)=>z.has(re)?Aa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(re):z.set(re,pe);import{s as Fa}from"./chunk-LvLJmgfZ.js";import{d as La,f as pr,i as Z,l as yn,n as se,p as Lt,s as wn,u as le}from"./useEvent-D91BmmQi.js";import{t as ad}from"./react-Bj1aDYRI.js";import{$ as id,An as sd,At as ld,B as Oa,E as vn,F as cd,Fr as gr,G as _a,H as Da,Hr as ud,Ht as hr,Jt as dd,Kt as fd,Ln as md,Lr as pd,Mn as Ua,Nn as gd,On as hd,Rr as bd,Rt as yd,Sn as wd,St as vd,U as Ba,Ur as ja,Ut as Pa,V as Ed,Wt as Ma,Z as Nd,Zt as En,_i as Nn,_t as kd,a as Ra,an as Cd,at as br,b as Ze,ci as Sd,cn as xd,d as Ga,dn as Ad,en as Td,fn as Id,gt as kn,h as yr,hn as wr,ht as vr,jt as Ja,kn as Fd,kr as Ld,mt as Od,oi as Wa,ot as _d,qt as Dd,rr as Ud,u as Va,un as Bd,vt as jd,yt as Ot,zt as Er,__tla as Pd}from"./cells-
|
|
2
|
+
var nd=Object.defineProperty;var Aa=re=>{throw TypeError(re)};var rd=(re,z,pe)=>z in re?nd(re,z,{enumerable:!0,configurable:!0,writable:!0,value:pe}):re[z]=pe;var p=(re,z,pe)=>rd(re,typeof z!="symbol"?z+"":z,pe),od=(re,z,pe)=>z.has(re)||Aa("Cannot "+pe);var Ta=(re,z,pe)=>(od(re,z,"read from private field"),pe?pe.call(re):z.get(re)),Ia=(re,z,pe)=>z.has(re)?Aa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(re):z.set(re,pe);import{s as Fa}from"./chunk-LvLJmgfZ.js";import{d as La,f as pr,i as Z,l as yn,n as se,p as Lt,s as wn,u as le}from"./useEvent-D91BmmQi.js";import{t as ad}from"./react-Bj1aDYRI.js";import{$ as id,An as sd,At as ld,B as Oa,E as vn,F as cd,Fr as gr,G as _a,H as Da,Hr as ud,Ht as hr,Jt as dd,Kt as fd,Ln as md,Lr as pd,Mn as Ua,Nn as gd,On as hd,Rr as bd,Rt as yd,Sn as wd,St as vd,U as Ba,Ur as ja,Ut as Pa,V as Ed,Wt as Ma,Z as Nd,Zt as En,_i as Nn,_t as kd,a as Ra,an as Cd,at as br,b as Ze,ci as Sd,cn as xd,d as Ga,dn as Ad,en as Td,fn as Id,gt as kn,h as yr,hn as wr,ht as vr,jt as Ja,kn as Fd,kr as Ld,mt as Od,oi as Wa,ot as _d,qt as Dd,rr as Ud,u as Va,un as Bd,vt as jd,yt as Ot,zt as Er,__tla as Pd}from"./cells-ArUhhHls.js";import{P as $a,R as Md,k as Rd,w as Gd}from"./zod-H_cgTO0M.js";import{t as Re}from"./compiler-runtime-B3qBwwSJ.js";import{C as Jd,f as Wd,m as Vd,p as $d,t as Hd,v as qd}from"./ai-model-dropdown-Dnf-CxbP.js";import{_ as We,c as Ha,h as Nr,t as zd,v as Kd}from"./useEventListener-DGjKht0c.js";import{t as _t}from"./invariant-CkiqGLcK.js";import{S as kr,h as qa,m as Yd,o as Xd,p as za,s as Ka}from"./utils-DKaC_ndw.js";import{S as Qd,d as Zd,h as pt,o as ef,r as Ya,x as Dt,y as Xa}from"./config-CmaJdl9U.js";import{n as tf,t as nf}from"./switch-DqrqDBdD.js";import{n as rf}from"./globals-DK8gKReW.js";import{t as of}from"./ErrorBoundary-dxChUL02.js";import{t as at}from"./cn-DYvqRARy.js";import{t as af}from"./jsx-runtime-Blw4afVn.js";import{l as sf,r as lf,t as cf}from"./popover-AtoFZ7i4.js";import{N as uf,__tla as df}from"./JsonOutput-D1i8P1dG.js";import{t as Cr}from"./label-C89F4v17.js";import{r as ff}from"./download-7EtMZf2Y.js";import{t as Cn}from"./tooltip-DmqhBBs6.js";import{r as Sr,t as it}from"./button-BKVLeSTX.js";import{Bt as gt,Ct as Qa,Dt as mf,E as pf,Ft as xr,H as Za,Ht as Ut,I as gf,J as l,Jt as fe,Kt as hf,Lt as Sn,Mt as bf,P as yf,St as Ge,V as ei,Vt as Ar,Wt as st,Yt as Ve,Zt as Bt,_ as wf,a as vf,at as P,bt as Ef,ct as ze,en as xn,ft as Nf,it as kf,lt as An,m as Cf,pt as Sf,rt as q,st as xf,vt as Af,w as Tf,wt as If,yt as Ff,zt as Lf}from"./dist-VwkX7yeV.js";import{C as Of,D as _f,_ as Df,a as Uf,c as Bf,n as Tr,r as jf,v as Pf,x as Mf,y as Rf}from"./dist-DZJfxwLb.js";import{o as ti}from"./arrays-DAC2orgH.js";import{n as Gf}from"./once-hq2TLzOp.js";import{t as Ir}from"./createReducer-CYlwteGD.js";import{a as Jf,c as Wf,f as Tn,h as Vf,i as $f,l as jt,n as ni,o as Hf,t as qf}from"./dist-BNTOYRCs.js";import{t as zf}from"./main-BNL5rxQw.js";import{r as In,t as Kf}from"./requests-9-v2bhoi.js";import{t as Yf}from"./createLucideIcon-w-Qo9n0R.js";import{r as ri,t as Xf,__tla as Qf}from"./layout-Cudicm29.js";import{t as Zf}from"./x-Bv2rCglF.js";import{t as em}from"./circle-check-DlWaawuO.js";import{A as tm,E as oi,O as nm,T as rm,a as ai,d as om,n as am,o as im,r as ii,s as sm,x as lm}from"./add-cell-with-ai-RyZ9Xe2b.js";import{r as cm,t as um}from"./file-icons-JXAG6vK-.js";import{n as dm}from"./spinner-AR54Ic3-.js";import{t as si}from"./save-wC4lpIMd.js";import{I as li,P as fm}from"./input-DjrybsRY.js";import{t as mm}from"./sparkles-DczT6OBt.js";import{t as pm}from"./preload-helper-DItdS47A.js";import{t as ht}from"./use-toast-T0_cQDma.js";import{n as Ke}from"./paths-Dfii2bN8.js";import{t as gm}from"./session-DDorezMU.js";import{r as hm}from"./useTheme-wMq5x3Hi.js";import{c as ci,i as ui,n as di,r as bm}from"./dialog-CognbQV_.js";import{k as ym}from"./usePress-YLit4doY.js";import{t as fi}from"./useHotkey-C05CMwqk.js";import{n as mi}from"./ImperativeModal-DSu22ncS.js";import{r as wm}from"./errors-DVkmLSXX.js";import{n as vm}from"./copy-C8iWa1qI.js";import{a as Em}from"./useRunCells-DgBY-vh9.js";import{t as X}from"./extends-B2LJnKU3.js";import{t as Pt}from"./objectWithoutPropertiesLoose-DaPAPabU.js";import{t as Nm}from"./kbd-BbX-cXm5.js";import{a as Fr}from"./useInstallPackage-EEg9LCNy.js";import{i as km,n as pi}from"./state-pGNeffyB.js";import{a as Cm,o as Sm}from"./cell-link-D4UrIH9w.js";import{n as xm}from"./useAsyncData-BPlezez1.js";import{a as Am,o as gi,r as Tm,s as hi,t as Im}from"./command-C0h2HiOh.js";import{r as bi}from"./html-to-image-C5XSE7QT.js";import{a as Fm}from"./focus-DCN0oEe0.js";import{a as yi}from"./renderShortcut-Bjt8kSBs.js";import{n as Lm,t as Om}from"./icons-UbXYeuXE.js";import{n as bt}from"./esm-BV1ClmM0.js";import{t as wi}from"./dist-LTKJJMvn.js";import{n as Lr,t as vi}from"./useDeleteCell-D2p4Dz0U.js";import{t as _m}from"./useSplitCell-SS0kKwVk.js";import{co as Dm,do as Or,fo as Um,ft as Bm,go as yt,ho as Ei,lo as _r,mo as Ni,oo as jm,po as Pm,so as ki,uo as Ci,__tla as Mm}from"./loro_wasm_bg-Ds40eH8K.js";import{t as Rm}from"./ws-CtTwmdal.js";import{t as Si}from"./Inputs-BevU8BSO.js";import{n as Gm}from"./hooks-zQJ9iU_R.js";let Fn,Dr,xi,Ur,lt,Br,be,Mt,Rt,Ai,Ti,Ii,Fi,Li,Ln,Oi,On,_i,_n,Jm=Promise.all([(()=>{try{return Pd}catch{}})(),(()=>{try{return df}catch{}})(),(()=>{try{return Qf}catch{}})(),(()=>{try{return Mm}catch{}})()]).then(async()=>{var hn,xa,we,ve,Ee,Ne,ke,Ce,Se,xe,Ae,Te,Ie,Fe,Le,Oe,_e,De,Ue,Be,je;var re=Yf("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 z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var pe=300;const vt=Ut.define({combine:e=>xn(e,{onError:console.error,inputDebounceTime:pe,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),et=fe.define(),tt=Ve.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(et))return n.value;return e}}),Et=fe.define(),Nt=fe.define(),Pr=Ve.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Et)&&(n={...n,inputValue:r.value}),r.is(Nt)&&(n={...n,shouldFocus:r.value});return n}}),Gt=fe.define(),kt=Ve.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Gt))return n.value;return e}}),ct=fe.define(),Mr=Ve.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(ct))return n.value;return e}});var Di=1;const Rr=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<Di)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:[et.of({show:!0,lineFrom:i,lineTo:s}),Nt.of(!0),Et.of("")],selection:gt.cursor(o.from)}),!0},Gr=e=>e.state.field(kt)?(e.dispatch({effects:[Gt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Nt.of(!1),Et.of(""),ct.of(!1)]}),!0):!1,Jr=e=>{let t=e.state.field(kt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Gt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Nt.of(!1),Et.of(""),ct.of(!1)]}),!0):!1};var Dn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Ui(){return navigator.platform.startsWith("Mac")?Dn.mac:navigator.platform.startsWith("Win")?Dn.windows:Dn.default}function Un(e){return e.replace("Mod",Ui()).replace("-"," ").toUpperCase()}function ue(e,t){let n=document.createElement(e);return n.className=t,n}function Bi(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 Jt=Ve.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=fe.define();function ji(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Pi(t),side:1});return r.push(o.range(n)),q.set(r)}var Pi=class extends An{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}},Mi=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()})}},Ri=(e,t)=>ze.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new Mi(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()}}),Gi=ze.fromClass(class{constructor(){p(this,"decorations");this.decorations=q.none}update(e){var n;let t=(n=e.state.field(Jt))==null?void 0:n.suggestion;if(!t){this.decorations=q.none;return}this.decorations=ji(e.view,t)}},{decorations:e=>e.decorations});function Ji(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:gt.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:gt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Wi=e=>{var r,o,a;let t=(r=e.state.field(Jt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Bn);return e.dispatch({...Ji(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},Wr=e=>{var r,o,a;let t=(r=e.state.field(Jt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Bn);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},Vi=Ge.of([{key:"Tab",run:Wi},{key:"Escape",run:Wr}]),Bn=Ut.define({combine:e=>e.at(-1)});function Vr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Bi(e.fetchFn,t);return[Jt,Bn.of(e),Ri(r,e),Gi,n?Vi:[]]}const $i=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 Hi(e){var o,a;let t=e.state.facet(vt),n={...z,...t.keymaps},r=ue("div","cm-ai-tooltip").appendChild(ue("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(),Rr(e)}),r}const jn=Ut.define({combine(e){return xn(e,{render:Hi,hideOnBlur:!1})}}),qi=ze.fromClass((xa=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)});Ia(this,hn,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(jn);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(tt).show){this.dom.style.display="none";return}if(e.state.facet(jn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Ta(this,hn)})}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()}},hn=new WeakMap,xa));var zi=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 Ki(){return[qi,zi]}var Yi=class extends An{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=ue("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=ue("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=ue("div","cm-floating-buttons"),a=t.state.facet(vt),i={...z,...a.keymaps},s=ue("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(),Gr(t)});let c=ue("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(),Jr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},Xi=class extends An{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:[et.of({show:!1,lineFrom:0,lineTo:0}),ct.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(vt);t==null||t.stopPropagation();let o=n.state.field(tt),{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),g=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:ct.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(tt).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:w},effects:[et.of({show:!1,lineFrom:0,lineTo:0}),Gt.of({from:u,to:u+w.length,oldCode:f,newCode:w}),ct.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(Pr),r=t.state.field(Mr),o=ue("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=ue("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=ue("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=ue("div","cm-ai-loading-container");this.loadingContainer=s;let c=ue("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=ue("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=ue("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=ue("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:Nt.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:Et.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 Qi(e){if(!e.prompt)throw Error("prompt function is required");let t={...z,...e.keymaps};return[vt.of(e),tt,Pr,kt,Mr,Ki(),$i,Ge.of([{key:t.showInput,run:Rr}]),st.highest([Ge.of([{key:t.acceptEdit,run:Gr},{key:t.rejectEdit,run:Jr}])]),Zi,es,ts,ns]}const Zi=P.updateListener.of(e=>{let t=e.state.field(tt);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:[et.of({show:!0,lineFrom:n,lineTo:r})]})}),es=P.decorations.of(e=>{let t=e.state.field(kt);return t?q.set([q.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):q.none}),ts=P.decorations.compute([tt],e=>{let t=e.field(tt),n=e.facet(vt),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(q.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(q.widget({widget:new Xi(n.prompt),side:-1}).range(s))}}return q.set(r)}),ns=Ve.define({create(e){return q.none},update(e,t){let n=t.state.field(kt);return n?q.set([q.widget({widget:new Yi(n.oldCode),block:!0}).range(n.from)]):q.none},provide:e=>P.decorations.from(e)});var rs=Re(),I=Fa(ad(),1),Pn=()=>({entries:new Map}),{valueAtom:$r,useActions:Hr}=Ir(Pn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(Ze),s=a.get(hd),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 g=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),E=w.usedBy.some(C=>!c.has(C));y&&E&&m.set(w.name,w.usedBy)}let h;g!=null&&g.runElapsedTimeMs&&g.runElapsedTimeMs>2e3&&(h=g.runElapsedTimeMs),m.size===0&&h===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:h,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)}),Pn()):{...e,entries:u}},clear:()=>Pn()});_n=function(){let e=pr(),{submit:t,clear:n}=Hr(),{entries:r}=le($r),o=vi(),a=Lr();return(0,I.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},_i=function(e){let t=(0,rs.c)(16),n=le($r),r=Hr(),o=Lr(),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(os)}),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 os(e){return e.cellId}async function as(e){var s,c;let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -19,4 +19,4 @@ ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:
|
|
|
19
19
|
|
|
20
20
|
`),i=new Wu().add(cr,o).add("text/plain",a).build();await navigator.clipboard.write([i]),ma(r.length)}catch(o){We.error("Failed to copy cells to clipboard",o);try{await vm(r.map(a=>a.code).join(`
|
|
21
21
|
|
|
22
|
-
`)),ma(r.length)}catch{Ru()}}}),pasteAtCell:se(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(cr)){let s=await(await i.getType(cr)).text();try{let c=Pu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.reverse();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){We.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Gu()}catch(o){We.error("Failed to paste from clipboard",o),Ju()}})}}var ma=e=>{let t=e===1?"Cell":`${e} cells`;ht({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Ru=()=>{ht({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Gu=()=>{ht({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},Ju=()=>{ht({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Wu=class{constructor(){p(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(We.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Vu=Re();function pa(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Wm,createActions:Vm,valueAtom:ur,useActions:$u}=Ir(pa,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:pa()});Ii=()=>le(ur);function Hu(e){let t=(0,Vu.c)(2),n;return t[0]===e?n=t[1]:(n=Lt(r=>r(ur).selected.has(e)),t[0]=e,t[1]=n),le(n)}Dr=function(){return $u()};function qu(e){return e.get(ur).selected}let ga,ha,ba;ga=Re(),{valueAtom:ha,useActions:Mt}=Ir(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),_a(()=>{let r=document.activeElement;if(!r)return;let o=Nn.findElementThroughShadowDOMs(r);o&&Oa(Nn.parse(o.id))}),n}}),ba=e=>Lt(t=>t(ha).has(e)),Li=function(e){let t=(0,ga.c)(2),n;return t[0]===e?n=t[1]:(n=ba(e),t[0]=e,t[1]=n),le(n)};var Ft=new WeakMap,zu=500;function Ku(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function Yu(e,t){let n=Ku(e),r=e.target;if(!n||!r)return!1;let o=Ft.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Ft.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Ft.delete(r)},zu);return Ft.set(r,{sequence:a,timeout:s}),!0}return Ft.delete(r),!1}var dr=Re();function ya(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function qe(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function Xu(e,t){let n=(0,dr.c)(12),r=Fm(),o=vn(),a=Mt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=d=>{var f;wa(d.relatedTarget)||wa(d.target)||va(d.relatedTarget)===e||va((f=d.relatedTarget)==null?void 0:f.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&fr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:u}=fm(c);return u}function wa(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function va(e){return e&&e.getAttribute(vd)||null}Ti=function(e,t){let n=(0,dr.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=Rt(),{saveCellConfig:s}=In(),c=La(pi),u=vn(),d=pr(),f=Mt(),g=Em(),m=le(qa),{copyCells:h,pasteAtCell:w}=Mu(),y=Dr(),E=Hu(e),C=_n(),T=Lr(),_=le(kr),B;n[0]!==C||n[1]!==y?(B={clear:()=>{C.clear(),y.clear()},extend:U=>{C.clear(),y.extend(U)},select:U=>{C.clear(),y.select(U)}},n[0]=C,n[1]=y,n[2]=B):B=n[2];let x=B,S=le(za),V;n[3]===S?V=n[4]:(V=(U,J)=>Nr(S.getHotkey(U).key)(J.nativeEvent||J),n[3]=S,n[4]=V);let te=V,G=Xu(e,o),L;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==h||n[10]!==T||n[11]!==o||n[12]!==E||n[13]!==te||n[14]!==m||n[15]!==w||n[16]!==C||n[17]!==g||n[18]!==s||n[19]!==i||n[20]!==x||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==_?(L={onKeyDown:U=>{if(Sr.fromInput(U)){U.continuePropagation();return}let J={"Mod+ArrowUp":()=>(u.focusTopCell(),x.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),x.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),x.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),x.clear(),!0),ArrowLeft:()=>{if(r){let N=d.get(Ze),A=N.cellIds.findWithId(e),R=N.cellIds.indexOf(A),O=N.cellIds.at(R-1);if(O&&O.length>0){let ne=Ea(e,O);return u.focusCell({cellId:ne,where:"exact"}),x.clear(),!0}}return!1},ArrowRight:()=>{if(r){let N=d.get(Ze),A=N.cellIds.findWithId(e),R=N.cellIds.indexOf(A),O=N.cellIds.at(R+1);if(O&&O.length>0){let ne=Ea(e,O);return u.focusCell({cellId:ne,where:"exact"}),x.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let N=d.get(Ra);x.extend({cellId:e,allCellIds:N});let A=N.findWithId(e).before(e);return A&&x.extend({cellId:A,allCellIds:N}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let N=d.get(Ra);x.extend({cellId:e,allCellIds:N});let A=N.findWithId(e).after(e);return A&&x.extend({cellId:A,allCellIds:N}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>E?(x.clear(),!0):!1,Enter:()=>(f.add(e),Ba(d,e),x.clear(),!0),s:()=>(i(),!0)};for(let[N,A]of Object.entries(J))if(Nr(N)(U)&&A()){U.preventDefault();return}let ce={"cell.run":qe(N=>(g(N),!0)),"cell.runAndNewBelow":qe(N=>{g(N);let A=N[N.length-1];return u.moveToNextCell({cellId:A,before:!1}),!0}),"cell.runAndNewAbove":qe(N=>{g(N);let A=N[0];return u.moveToNextCell({cellId:A,before:!0}),!0}),"cell.createAbove":N=>(u.createNewCell({cellId:N,before:!0}),!0),"cell.createBelow":N=>(u.createNewCell({cellId:N,before:!1}),!0),"cell.moveUp":qe(N=>{let A=N[0];return d.get(Ze).cellIds.findWithId(A).first()===A?!1:(N.forEach(R=>{u.moveCell({cellId:R,before:!0})}),!0)}),"cell.moveDown":qe(N=>{let A=N[N.length-1];return d.get(Ze).cellIds.findWithId(A).last()===A?!1:([...N].reverse().forEach(R=>{u.moveCell({cellId:R,before:!1})}),!0)}),"cell.moveLeft":ya(N=>r?(u.moveCell({cellId:N,direction:"left"}),!0):!1),"cell.moveRight":ya(N=>r?(u.moveCell({cellId:N,direction:"right"}),!0):!1),"cell.hideCode":qe(N=>{var R;let A=!N.map(O=>{var ne;return((ne=d.get(Ze).cellData[O])==null?void 0:ne.config)||null}).every(Qu);s({configs:Object.fromEntries(N.map(O=>[O,{hide_code:A}]))});for(let O of N)u.updateCellConfig({cellId:O,config:{hide_code:A}});if(N.length===1){let O=N[0];u.focusCell({cellId:O,where:"after"}),A?((R=o.current)==null||R.contentDOM.blur(),Da(O)):Ba(d,O)}return!0}),"cell.focusDown":N=>(u.focusCell({cellId:N,where:"after"}),!0),"cell.focusUp":N=>(u.focusCell({cellId:N,where:"before"}),!0),"cell.sendToBottom":qe(N=>(N.forEach(A=>{u.sendToBottom({cellId:A})}),!0)),"cell.sendToTop":qe(N=>([...N].reverse().forEach(A=>{u.sendToTop({cellId:A})}),!0)),"cell.aiCompletion":N=>{var R;let A=!1;return c(O=>(O==null?void 0:O.cellId)===N?(A=!0,null):{cellId:N}),A&&((R=o.current)==null||R.focus()),!0},"cell.cellActions":()=>{var N;return(N=a.current)==null||N.toggle(),!0},"command.copyCell":qe(N=>(h(N),!0)),"command.pasteCell":N=>(w(N),!0),"command.createCellBefore":N=>Sr.hasModifier(U)?!1:(u.createNewCell({cellId:N,before:!0,autoFocus:!0}),!0),"command.createCellAfter":N=>Sr.hasModifier(U)?!1:(u.createNewCell({cellId:N,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!_.keymap.destructive_delete)return!1;let N=Y.size>=2?[...Y]:[e],A=d.get(Ze);return N.some(R=>{let{status:O}=A.cellRuntime[R];return O==="running"||O==="queued"})?!1:C.idle?(C.submit(N),!0):(T({cellIds:N}),C.clear(),!0)}},Y=qu(d);if(m==="vim"&&Yu(U.nativeEvent||U,{j:J.ArrowDown,k:J.ArrowUp,h:J.ArrowLeft,l:J.ArrowRight,i:J.Enter,"shift+j":J["Shift+ArrowDown"],"shift+k":J["Shift+ArrowUp"],"g g":J["Mod+ArrowUp"],"shift+g":J["Mod+ArrowDown"],"d d":()=>ce["cell.delete"](),"y y":()=>(h(Y.size>=2?[...Y]:[e]),!0),p:()=>(w(e,{before:!1}),!0),"shift+p":()=>(w(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[N,A]of Object.entries(ce))if(te(N,U)){if(A instanceof Function){if(A(e)){U.preventDefault();return}}else if(Y.size>=2?A.bulkHandle([...Y]):A.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=h,n[10]=T,n[11]=o,n[12]=E,n[13]=te,n[14]=m,n[15]=w,n[16]=C,n[17]=g,n[18]=s,n[19]=i,n[20]=x,n[21]=c,n[22]=d,n[23]=f,n[24]=_,n[25]=L):L=n[25];let{keyboardProps:M}=li(L),ie;return n[26]!==G||n[27]!==E||n[28]!==M?(ie=ym(G,M,{"data-selected":E,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=G,n[27]=E,n[28]=M,n[29]=ie):ie=n[29],ie};function Qu(e){return e==null?void 0:e.hide_code}function Zu(e,t){let n=(0,dr.c)(12),r=Mt(),o=le(qa),a=le(za),i;n[0]===a?i=n[1]:(i=Nr(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),Da(e),_a(()=>{Oa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let h=t.current,w=h.state;if(_f(h))return;let y=w.field(ja,!1),E=jt(w)!==null;y&&fr(h),E&&Hf(h),!(y||E)&&u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,g;n[8]!==f||n[9]!==o||n[10]!==s?(g={onKeyDown:h=>{o==="vim"?s(h)&&f():h.key==="Escape"&&f(),h.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=g):g=n[11];let{keyboardProps:m}=li(g);return m}function Ea(e,t){let n=document.getElementById(Nn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Nn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function fr(e){e.state.field(ja,!1)&&e.dispatch({effects:ud.of(null)})}var Na=Re();const ed=e=>{let t=(0,Na.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=Ja.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=Ja.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Ud,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let g=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(Om,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let h;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==g?(h=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:g,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=g,t[15]=h):h=t[15];let w;t[16]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)(Lm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=w):w=t[16];let y;t[17]!==o||t[18]!==n?(y=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:w,toType:"python",displayName:"Python",onAfterToggle:Kd.NOOP}),t[17]=o,t[18]=n,t[19]=y):y=t[19];let E;return t[20]!==y||t[21]!==f||t[22]!==h?(E=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,h,y]}),t[20]=y,t[21]=f,t[22]=h,t[23]=E):E=t[23],E},mr=e=>{let t=(0,Na.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(Ot(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,g;t[4]!==d||t[5]!==a?(g=(0,b.jsx)(it,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=g):g=t[6];let m;return t[7]!==f||t[8]!==g?(m=(0,b.jsx)(Cn,{content:f,children:g}),t[7]=f,t[8]=g,t[9]=m):m=t[9],m};var ka=Re(),Ca=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:g,hasOutput:m,showHiddenCode:h,languageAdapter:w,setLanguageAdapter:y,showLanguageToggles:E=!0,outputArea:C})=>{var Me;let[T,_]=yn(pi),B=vi(),{saveOrNameNotebook:x}=Rt(),S=_n(),{saveCellConfig:V}=In(),te=a==="running"||a==="queued",G=vn(),L=_m(),M=w==="markdown",ie=se(()=>te?!1:S.idle&&u.keymap.destructive_delete?(S.submit([n]),!0):(B({cellId:n}),!0)),U=se(()=>te?!1:(c(),d.current&&fr(d.current),!0)),J=se(()=>{let D=!r.hide_code;return V({configs:{[n]:{hide_code:D}}}),G.updateCellConfig({cellId:n,config:{hide_code:D}}),D}),ce=le(Xd),Y=se(()=>{bi({autoInstantiate:ce,createNewCell:G.createNewCell}),r.hide_code||(V({configs:{[n]:{hide_code:!0}}}),G.updateCellConfig({cellId:n,config:{hide_code:!0}}),G.markUntouched({cellId:n}))}),N=se(()=>{bi({autoInstantiate:ce,createNewCell:G.createNewCell})}),A=Yd(u),R=(0,I.useMemo)(()=>{var F;let D=Pc({cellId:n,showPlaceholder:t,enableAI:A,cellActions:{...G,afterToggleMarkdown:Y,afterToggleSQL:N,onRun:U,deleteCell:ie,saveNotebook:x,createManyBelow:j=>{for(let $ of[...j].reverse())G.createNewCell({code:$,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:L,toggleHideCode:J,aiCellCompletion:()=>{let j=!1;return _($=>($==null?void 0:$.cellId)===n?(j=!0,null):{cellId:n}),j}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new Ha(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:((F=u.ai)==null?void 0:F.inline_tooltip)??!1});return D.push(ze.define(j=>(y(j.state.field(kn).type),{update($){y($.state.field(kn).type)}})),P.updateListener.of(j=>{j.selectionSet&&j.state.selection.ranges.some($=>$.from!==$.to)&&h({focus:!1})}),P.domEventHandlers({focus:()=>{h({focus:!1})}})),D},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,A,e,t,G,L,J,ie,U,_,Y,N,y,h,x]),O=br(),ne=se(()=>{if(O){let F=ar(n,j=>{G.updateCellCode({cellId:n,code:j,formattingChange:!0})},o);R.push(F.extension),o=F.code}let D=new P({state:Ar.create({doc:o,extensions:R})});s(D),O||Ot(D,{language:vr(D.state).type})}),Pe=se(()=>{if(_t(d.current!==null,"Editor view is not initialized"),O){let D=ar(n,F=>{G.updateCellCode({cellId:n,code:F,formattingChange:!0})});R.push(D.extension)}d.current.dispatch({effects:[fe.reconfigure.of([R]),kd(d.current,{completionConfig:u.completion,hotkeysProvider:new Ha(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),ge=se(()=>{if(_t(i,"Editor view is not initialized"),O){let F=ar(n,j=>{G.updateCellCode({cellId:n,code:j,formattingChange:!0})},o);R.push(F.extension),o=F.code}let D=new P({state:Ar.fromJSON(i,{doc:o,extensions:R},{history:Pf})});O||Ot(D,{language:vr(D.state).type}),s(D),G.clearSerializedEditorState({cellId:n})});(0,I.useEffect)(()=>{i===null?d.current===null?ne():Pe():ge(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[ne,Pe,ge,d,f,i,R]),(0,I.useEffect)(()=>{let D=d.current;return()=>{D==null||D.destroy()}},[d]);let Qe=Zu(n,d),he="";return M&&g&&m?he="h-0 overflow-hidden":g&&(he="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(Bu,{cellId:n,aiCompletionCell:T,currentCode:((Me=d.current)==null?void 0:Me.state.doc.toString())??o,currentLanguageAdapter:w,declineChange:se(()=>{var D;_(null),(D=d.current)==null||D.focus()}),onChange:se(D=>{var F;(F=d.current)==null||F.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}})}),acceptChange:se(D=>{var F,j;(F=d.current)==null||F.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}}),(j=d.current)==null||j.focus(),_(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...Qe,children:[(0,b.jsx)(Sa,{className:he,editorView:d.current,ref:f,hidden:g,showHiddenCode:h}),!g&&E&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(ed,{code:o,editorView:d.current,currentLanguageAdapter:w,onAfterToggle:Y})})]})})},Sa=I.forwardRef((e,t)=>{let n=(0,ka.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,I.useRef)(null),c,u;n[0]===o?(c=n[1],u=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},u=[o,s],n[0]=o,n[1]=c,n[2]=u),(0,I.useEffect)(c,u);let d;n[3]===r?d=n[4]:(d=at("cm mathjax_ignore",r),n[3]=r,n[4]=d);let f;n[5]!==a||n[6]!==i?(f=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=f):f=n[7];let g;n[8]===t?g=n[9]:(g=h=>{t?Ln(t,s)(h):Ln(s)(h)},n[8]=t,n[9]=g);let m;return n[10]!==d||n[11]!==f||n[12]!==g?(m=(0,b.jsx)("div",{className:d,onDoubleClick:f,ref:g,"data-testid":"cell-editor"}),n[10]=d,n[11]=f,n[12]=g,n[13]=m):m=n[13],m});Sa.displayName="CellCodeMirrorEditor";function td(e){let t=n=>{let r=(0,ka.c)(5),o=le(pt),[a,i]=yn(lt);if(Zd(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)(uf,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(it,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}Oi=br()?td((0,I.memo)(Ca)):(0,I.memo)(Ca)});export{Fn as _,Jm as __tla,Dr as a,xi as c,Ur as d,lt as f,Br as g,be as h,Mt as i,Rt as l,Ai as m,Ti as n,Ii as o,Fi as p,Li as r,Ln as s,Oi as t,On as u,_i as v,_n as y};
|
|
22
|
+
`)),ma(r.length)}catch{Ru()}}}),pasteAtCell:se(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(cr)){let s=await(await i.getType(cr)).text();try{let c=Pu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.toReversed();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){We.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Gu()}catch(o){We.error("Failed to paste from clipboard",o),Ju()}})}}var ma=e=>{let t=e===1?"Cell":`${e} cells`;ht({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Ru=()=>{ht({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Gu=()=>{ht({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},Ju=()=>{ht({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Wu=class{constructor(){p(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(We.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Vu=Re();function pa(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Wm,createActions:Vm,valueAtom:ur,useActions:$u}=Ir(pa,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:pa()});Ii=()=>le(ur);function Hu(e){let t=(0,Vu.c)(2),n;return t[0]===e?n=t[1]:(n=Lt(r=>r(ur).selected.has(e)),t[0]=e,t[1]=n),le(n)}Dr=function(){return $u()};function qu(e){return e.get(ur).selected}let ga,ha,ba;ga=Re(),{valueAtom:ha,useActions:Mt}=Ir(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),_a(()=>{let r=document.activeElement;if(!r)return;let o=Nn.findElementThroughShadowDOMs(r);o&&Oa(Nn.parse(o.id))}),n}}),ba=e=>Lt(t=>t(ha).has(e)),Li=function(e){let t=(0,ga.c)(2),n;return t[0]===e?n=t[1]:(n=ba(e),t[0]=e,t[1]=n),le(n)};var Ft=new WeakMap,zu=500;function Ku(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function Yu(e,t){let n=Ku(e),r=e.target;if(!n||!r)return!1;let o=Ft.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Ft.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Ft.delete(r)},zu);return Ft.set(r,{sequence:a,timeout:s}),!0}return Ft.delete(r),!1}var dr=Re();function ya(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function qe(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function Xu(e,t){let n=(0,dr.c)(12),r=Fm(),o=vn(),a=Mt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=d=>{var f;wa(d.relatedTarget)||wa(d.target)||va(d.relatedTarget)===e||va((f=d.relatedTarget)==null?void 0:f.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&fr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:u}=fm(c);return u}function wa(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function va(e){return e&&e.getAttribute(vd)||null}Ti=function(e,t){let n=(0,dr.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=Rt(),{saveCellConfig:s}=In(),c=La(pi),u=vn(),d=pr(),f=Mt(),g=Em(),m=le(qa),{copyCells:h,pasteAtCell:w}=Mu(),y=Dr(),E=Hu(e),C=_n(),T=Lr(),_=le(kr),B;n[0]!==C||n[1]!==y?(B={clear:()=>{C.clear(),y.clear()},extend:U=>{C.clear(),y.extend(U)},select:U=>{C.clear(),y.select(U)}},n[0]=C,n[1]=y,n[2]=B):B=n[2];let x=B,S=le(za),V;n[3]===S?V=n[4]:(V=(U,J)=>Nr(S.getHotkey(U).key)(J.nativeEvent||J),n[3]=S,n[4]=V);let te=V,G=Xu(e,o),L;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==h||n[10]!==T||n[11]!==o||n[12]!==E||n[13]!==te||n[14]!==m||n[15]!==w||n[16]!==C||n[17]!==g||n[18]!==s||n[19]!==i||n[20]!==x||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==_?(L={onKeyDown:U=>{if(Sr.fromInput(U)){U.continuePropagation();return}let J={"Mod+ArrowUp":()=>(u.focusTopCell(),x.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),x.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),x.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),x.clear(),!0),ArrowLeft:()=>{if(r){let N=d.get(Ze),A=N.cellIds.findWithId(e),R=N.cellIds.indexOf(A),O=N.cellIds.at(R-1);if(O&&O.length>0){let ne=Ea(e,O);return u.focusCell({cellId:ne,where:"exact"}),x.clear(),!0}}return!1},ArrowRight:()=>{if(r){let N=d.get(Ze),A=N.cellIds.findWithId(e),R=N.cellIds.indexOf(A),O=N.cellIds.at(R+1);if(O&&O.length>0){let ne=Ea(e,O);return u.focusCell({cellId:ne,where:"exact"}),x.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let N=d.get(Ra);x.extend({cellId:e,allCellIds:N});let A=N.findWithId(e).before(e);return A&&x.extend({cellId:A,allCellIds:N}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let N=d.get(Ra);x.extend({cellId:e,allCellIds:N});let A=N.findWithId(e).after(e);return A&&x.extend({cellId:A,allCellIds:N}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>E?(x.clear(),!0):!1,Enter:()=>(f.add(e),Ba(d,e),x.clear(),!0),s:()=>(i(),!0)};for(let[N,A]of Object.entries(J))if(Nr(N)(U)&&A()){U.preventDefault();return}let ce={"cell.run":qe(N=>(g(N),!0)),"cell.runAndNewBelow":qe(N=>{g(N);let A=N[N.length-1];return u.moveToNextCell({cellId:A,before:!1}),!0}),"cell.runAndNewAbove":qe(N=>{g(N);let A=N[0];return u.moveToNextCell({cellId:A,before:!0}),!0}),"cell.createAbove":N=>(u.createNewCell({cellId:N,before:!0}),!0),"cell.createBelow":N=>(u.createNewCell({cellId:N,before:!1}),!0),"cell.moveUp":qe(N=>{let A=N[0];return d.get(Ze).cellIds.findWithId(A).first()===A?!1:(N.forEach(R=>{u.moveCell({cellId:R,before:!0})}),!0)}),"cell.moveDown":qe(N=>{let A=N[N.length-1];return d.get(Ze).cellIds.findWithId(A).last()===A?!1:(N.toReversed().forEach(R=>{u.moveCell({cellId:R,before:!1})}),!0)}),"cell.moveLeft":ya(N=>r?(u.moveCell({cellId:N,direction:"left"}),!0):!1),"cell.moveRight":ya(N=>r?(u.moveCell({cellId:N,direction:"right"}),!0):!1),"cell.hideCode":qe(N=>{var R;let A=!N.map(O=>{var ne;return((ne=d.get(Ze).cellData[O])==null?void 0:ne.config)||null}).every(Qu);s({configs:Object.fromEntries(N.map(O=>[O,{hide_code:A}]))});for(let O of N)u.updateCellConfig({cellId:O,config:{hide_code:A}});if(N.length===1){let O=N[0];u.focusCell({cellId:O,where:"after"}),A?((R=o.current)==null||R.contentDOM.blur(),Da(O)):Ba(d,O)}return!0}),"cell.focusDown":N=>(u.focusCell({cellId:N,where:"after"}),!0),"cell.focusUp":N=>(u.focusCell({cellId:N,where:"before"}),!0),"cell.sendToBottom":qe(N=>(N.forEach(A=>{u.sendToBottom({cellId:A})}),!0)),"cell.sendToTop":qe(N=>(N.toReversed().forEach(A=>{u.sendToTop({cellId:A})}),!0)),"cell.aiCompletion":N=>{var R;let A=!1;return c(O=>(O==null?void 0:O.cellId)===N?(A=!0,null):{cellId:N}),A&&((R=o.current)==null||R.focus()),!0},"cell.cellActions":()=>{var N;return(N=a.current)==null||N.toggle(),!0},"command.copyCell":qe(N=>(h(N),!0)),"command.pasteCell":N=>(w(N),!0),"command.createCellBefore":N=>Sr.hasModifier(U)?!1:(u.createNewCell({cellId:N,before:!0,autoFocus:!0}),!0),"command.createCellAfter":N=>Sr.hasModifier(U)?!1:(u.createNewCell({cellId:N,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!_.keymap.destructive_delete)return!1;let N=Y.size>=2?[...Y]:[e],A=d.get(Ze);return N.some(R=>{let{status:O}=A.cellRuntime[R];return O==="running"||O==="queued"})?!1:C.idle?(C.submit(N),!0):(T({cellIds:N}),C.clear(),!0)}},Y=qu(d);if(m==="vim"&&Yu(U.nativeEvent||U,{j:J.ArrowDown,k:J.ArrowUp,h:J.ArrowLeft,l:J.ArrowRight,i:J.Enter,"shift+j":J["Shift+ArrowDown"],"shift+k":J["Shift+ArrowUp"],"g g":J["Mod+ArrowUp"],"shift+g":J["Mod+ArrowDown"],"d d":()=>ce["cell.delete"](),"y y":()=>(h(Y.size>=2?[...Y]:[e]),!0),p:()=>(w(e,{before:!1}),!0),"shift+p":()=>(w(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[N,A]of Object.entries(ce))if(te(N,U)){if(A instanceof Function){if(A(e)){U.preventDefault();return}}else if(Y.size>=2?A.bulkHandle([...Y]):A.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=h,n[10]=T,n[11]=o,n[12]=E,n[13]=te,n[14]=m,n[15]=w,n[16]=C,n[17]=g,n[18]=s,n[19]=i,n[20]=x,n[21]=c,n[22]=d,n[23]=f,n[24]=_,n[25]=L):L=n[25];let{keyboardProps:M}=li(L),ie;return n[26]!==G||n[27]!==E||n[28]!==M?(ie=ym(G,M,{"data-selected":E,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=G,n[27]=E,n[28]=M,n[29]=ie):ie=n[29],ie};function Qu(e){return e==null?void 0:e.hide_code}function Zu(e,t){let n=(0,dr.c)(12),r=Mt(),o=le(qa),a=le(za),i;n[0]===a?i=n[1]:(i=Nr(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),Da(e),_a(()=>{Oa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let h=t.current,w=h.state;if(_f(h))return;let y=w.field(ja,!1),E=jt(w)!==null;y&&fr(h),E&&Hf(h),!(y||E)&&u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,g;n[8]!==f||n[9]!==o||n[10]!==s?(g={onKeyDown:h=>{o==="vim"?s(h)&&f():h.key==="Escape"&&f(),h.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=g):g=n[11];let{keyboardProps:m}=li(g);return m}function Ea(e,t){let n=document.getElementById(Nn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Nn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function fr(e){e.state.field(ja,!1)&&e.dispatch({effects:ud.of(null)})}var Na=Re();const ed=e=>{let t=(0,Na.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=Ja.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=Ja.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Ud,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let g=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(Om,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let h;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==g?(h=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:g,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=g,t[15]=h):h=t[15];let w;t[16]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)(Lm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=w):w=t[16];let y;t[17]!==o||t[18]!==n?(y=(0,b.jsx)(mr,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:w,toType:"python",displayName:"Python",onAfterToggle:Kd.NOOP}),t[17]=o,t[18]=n,t[19]=y):y=t[19];let E;return t[20]!==y||t[21]!==f||t[22]!==h?(E=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,h,y]}),t[20]=y,t[21]=f,t[22]=h,t[23]=E):E=t[23],E},mr=e=>{let t=(0,Na.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(Ot(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,g;t[4]!==d||t[5]!==a?(g=(0,b.jsx)(it,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=g):g=t[6];let m;return t[7]!==f||t[8]!==g?(m=(0,b.jsx)(Cn,{content:f,children:g}),t[7]=f,t[8]=g,t[9]=m):m=t[9],m};var ka=Re(),Ca=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:g,hasOutput:m,showHiddenCode:h,languageAdapter:w,setLanguageAdapter:y,showLanguageToggles:E=!0,outputArea:C})=>{var Me;let[T,_]=yn(pi),B=vi(),{saveOrNameNotebook:x}=Rt(),S=_n(),{saveCellConfig:V}=In(),te=a==="running"||a==="queued",G=vn(),L=_m(),M=w==="markdown",ie=se(()=>te?!1:S.idle&&u.keymap.destructive_delete?(S.submit([n]),!0):(B({cellId:n}),!0)),U=se(()=>te?!1:(c(),d.current&&fr(d.current),!0)),J=se(()=>{let D=!r.hide_code;return V({configs:{[n]:{hide_code:D}}}),G.updateCellConfig({cellId:n,config:{hide_code:D}}),D}),ce=le(Xd),Y=se(()=>{bi({autoInstantiate:ce,createNewCell:G.createNewCell}),r.hide_code||(V({configs:{[n]:{hide_code:!0}}}),G.updateCellConfig({cellId:n,config:{hide_code:!0}}),G.markUntouched({cellId:n}))}),N=se(()=>{bi({autoInstantiate:ce,createNewCell:G.createNewCell})}),A=Yd(u),R=(0,I.useMemo)(()=>{var F;let D=Pc({cellId:n,showPlaceholder:t,enableAI:A,cellActions:{...G,afterToggleMarkdown:Y,afterToggleSQL:N,onRun:U,deleteCell:ie,saveNotebook:x,createManyBelow:j=>{for(let $ of j.toReversed())G.createNewCell({code:$,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:L,toggleHideCode:J,aiCellCompletion:()=>{let j=!1;return _($=>($==null?void 0:$.cellId)===n?(j=!0,null):{cellId:n}),j}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new Ha(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:((F=u.ai)==null?void 0:F.inline_tooltip)??!1});return D.push(ze.define(j=>(y(j.state.field(kn).type),{update($){y($.state.field(kn).type)}})),P.updateListener.of(j=>{j.selectionSet&&j.state.selection.ranges.some($=>$.from!==$.to)&&h({focus:!1})}),P.domEventHandlers({focus:()=>{h({focus:!1})}})),D},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,A,e,t,G,L,J,ie,U,_,Y,N,y,h,x]),O=br(),ne=se(()=>{if(O){let F=ar(n,j=>{G.updateCellCode({cellId:n,code:j,formattingChange:!0})},o);R.push(F.extension),o=F.code}let D=new P({state:Ar.create({doc:o,extensions:R})});s(D),O||Ot(D,{language:vr(D.state).type})}),Pe=se(()=>{if(_t(d.current!==null,"Editor view is not initialized"),O){let D=ar(n,F=>{G.updateCellCode({cellId:n,code:F,formattingChange:!0})});R.push(D.extension)}d.current.dispatch({effects:[fe.reconfigure.of([R]),kd(d.current,{completionConfig:u.completion,hotkeysProvider:new Ha(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),ge=se(()=>{if(_t(i,"Editor view is not initialized"),O){let F=ar(n,j=>{G.updateCellCode({cellId:n,code:j,formattingChange:!0})},o);R.push(F.extension),o=F.code}let D=new P({state:Ar.fromJSON(i,{doc:o,extensions:R},{history:Pf})});O||Ot(D,{language:vr(D.state).type}),s(D),G.clearSerializedEditorState({cellId:n})});(0,I.useEffect)(()=>{i===null?d.current===null?ne():Pe():ge(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[ne,Pe,ge,d,f,i,R]),(0,I.useEffect)(()=>{let D=d.current;return()=>{D==null||D.destroy()}},[d]);let Qe=Zu(n,d),he="";return M&&g&&m?he="h-0 overflow-hidden":g&&(he="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(Bu,{cellId:n,aiCompletionCell:T,currentCode:((Me=d.current)==null?void 0:Me.state.doc.toString())??o,currentLanguageAdapter:w,declineChange:se(()=>{var D;_(null),(D=d.current)==null||D.focus()}),onChange:se(D=>{var F;(F=d.current)==null||F.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}})}),acceptChange:se(D=>{var F,j;(F=d.current)==null||F.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}}),(j=d.current)==null||j.focus(),_(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...Qe,children:[(0,b.jsx)(Sa,{className:he,editorView:d.current,ref:f,hidden:g,showHiddenCode:h}),!g&&E&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(ed,{code:o,editorView:d.current,currentLanguageAdapter:w,onAfterToggle:Y})})]})})},Sa=I.forwardRef((e,t)=>{let n=(0,ka.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,I.useRef)(null),c,u;n[0]===o?(c=n[1],u=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},u=[o,s],n[0]=o,n[1]=c,n[2]=u),(0,I.useEffect)(c,u);let d;n[3]===r?d=n[4]:(d=at("cm mathjax_ignore",r),n[3]=r,n[4]=d);let f;n[5]!==a||n[6]!==i?(f=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=f):f=n[7];let g;n[8]===t?g=n[9]:(g=h=>{t?Ln(t,s)(h):Ln(s)(h)},n[8]=t,n[9]=g);let m;return n[10]!==d||n[11]!==f||n[12]!==g?(m=(0,b.jsx)("div",{className:d,onDoubleClick:f,ref:g,"data-testid":"cell-editor"}),n[10]=d,n[11]=f,n[12]=g,n[13]=m):m=n[13],m});Sa.displayName="CellCodeMirrorEditor";function td(e){let t=n=>{let r=(0,ka.c)(5),o=le(pt),[a,i]=yn(lt);if(Zd(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)(uf,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(it,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}Oi=br()?td((0,I.memo)(Ca)):(0,I.memo)(Ca)});export{Fn as _,Jm as __tla,Dr as a,xi as c,Ur as d,lt as f,Br as g,be as h,Mt as i,Rt as l,Ai as m,Ti as n,Ii as o,Fi as p,Li as r,Ln as s,Oi as t,On as u,_i as v,_n as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as j}from"./chunk-LvLJmgfZ.js";import{d as E,l as L,n as P,u as O}from"./useEvent-D91BmmQi.js";import{E as w,Et as y,N as A,_i as S,in as T,j as $,oi as _}from"./cells-
|
|
1
|
+
import{s as j}from"./chunk-LvLJmgfZ.js";import{d as E,l as L,n as P,u as O}from"./useEvent-D91BmmQi.js";import{E as w,Et as y,N as A,_i as S,in as T,j as $,oi as _}from"./cells-ArUhhHls.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as D}from"./useEventListener-DGjKht0c.js";import{d as F}from"./utils-DKaC_ndw.js";import{r as N}from"./constants-tOPFFcLZ.js";import{h as q,x as B}from"./config-CmaJdl9U.js";import{t as H}from"./cn-DYvqRARy.js";import{t as M}from"./jsx-runtime-Blw4afVn.js";import{r as R}from"./requests-9-v2bhoi.js";import{n as U}from"./paths-Dfii2bN8.js";import{s as V}from"./session-DDorezMU.js";import{n as z}from"./ImperativeModal-DSu22ncS.js";var G=b();function x(){return O(_)}function J(){let r=(0,G.c)(5),[t]=L(q),e=E(_),{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===B.OPEN?(V(i=>{l===null?i.delete(N.filePath):i.set(N.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],P(a)}var p=b(),v=j(M(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=A()[s]??"",C=$().inOrderIds.indexOf(s),{showCellIfHidden:d}=w(),g=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]!==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(()=>{I(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(y(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=x(),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 I(r,t,e){let s=S.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?(D.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{x as a,I as i,K as n,J as o,Q as r,h as t};
|