@marimo-team/frontend 0.24.1-dev113 → 0.24.1-dev115
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-DjaaE1KV.js → CellStatus-DJBTB8Tm.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BYgv4Vrx.js → ConnectedDataExplorerComponent-C22y7sbC.js} +1 -1
- package/dist/assets/{ErrorBoundary-ClXmeuxA.js → ErrorBoundary-CDVGFYfr.js} +1 -1
- package/dist/assets/{JsonOutput-6STJL9Rn.js → JsonOutput-COWoYBdx.js} +2 -2
- package/dist/assets/{LazyAnyLanguageCodeMirror-BnkWE9wV.js → LazyAnyLanguageCodeMirror-nhd5JrSb.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-BTqTZeiu.js → MarimoErrorOutput-Cpp7YwEl.js} +1 -1
- package/dist/assets/{RenderHTML-DUXIAUaj.js → RenderHTML-DlIzJTPL.js} +1 -1
- package/dist/assets/{RunButton-aYiWB8Ga.js → RunButton-CT16Dkr4.js} +1 -1
- package/dist/assets/{VisuallyHidden-dPzEOlg8.js → VisuallyHidden-wlQyxf8y.js} +1 -1
- package/dist/assets/{add-cell-with-ai-l_Dax5pU.js → add-cell-with-ai-DSjyPknP.js} +1 -1
- package/dist/assets/{add-connection-dialog-CpvZ5BqX.js → add-connection-dialog-DO478_EL.js} +1 -1
- package/dist/assets/{agent-panel-CbdAoVgG.js → agent-panel-DIvPSTyY.js} +1 -1
- package/dist/assets/{ai-model-dropdown-jVyB16Bq.js → ai-model-dropdown-BxqpRM7R.js} +1 -1
- package/dist/assets/{alert-dialog-D_btUJmY.js → alert-dialog-BnNhUpVP.js} +1 -1
- package/dist/assets/{any-language-editor-B6cFLupW.js → any-language-editor-kw0XJFxM.js} +1 -1
- package/dist/assets/{app-config-button-CHSwEEzP.js → app-config-button-CAZWYP6R.js} +1 -1
- package/dist/assets/badge-BSgtkC2e.js +1 -0
- package/dist/assets/{blob-CoYb7D0i.js → blob-B82D3b64.js} +1 -1
- package/dist/assets/button-Dh8EwhsF.js +1 -0
- package/dist/assets/{cache-panel-mVo7M8xm.js → cache-panel-iphovHma.js} +1 -1
- package/dist/assets/{cell-editor-Bo1CBkuH.js → cell-editor-CL59E8W0.js} +1 -1
- package/dist/assets/{cell-link-CJvbR4gk.js → cell-link-DOeJzvRH.js} +1 -1
- package/dist/assets/{cells-C3Vs2g0_.js → cells-BgH2MZS9.js} +3 -3
- package/dist/assets/{chat-display-CkS1h-qA.js → chat-display-kzxea9r-.js} +1 -1
- package/dist/assets/{chat-panel-Bl8KhsjW.js → chat-panel-BVsbI9bp.js} +1 -1
- package/dist/assets/{chat-ui-lhVS3XhN.js → chat-ui-BIaqeCtJ.js} +1 -1
- package/dist/assets/{circle-BScTJE-Z.js → circle-BiW8b6Xq.js} +1 -1
- package/dist/assets/{column-preview-CBydN0D3.js → column-preview-BWoK0ZFU.js} +1 -1
- package/dist/assets/{command-palette-D0yWoZzd.js → command-palette-CcLmXXVs.js} +1 -1
- package/dist/assets/{common-BANLqpaV.js → common-DeDcgYdz.js} +1 -1
- package/dist/assets/{components-DC6fLfDw.js → components-CtHLnRet.js} +1 -1
- package/dist/assets/{config-BzPQfGBM.js → config-DnyziF11.js} +1 -1
- package/dist/assets/{copy-icon-zfaCsLjV.js → copy-icon-D522mvZL.js} +1 -1
- package/dist/assets/{datasource-DB4KqePX.js → datasource-HG_yVRxq.js} +1 -1
- package/dist/assets/dependency-graph-panel-CVsva03Q.js +5 -0
- package/dist/assets/{documentation-panel-2myTueGx.js → documentation-panel-BSiOFIpg.js} +1 -1
- package/dist/assets/{download-VyhuV4Af.js → download-C4umhthc.js} +1 -1
- package/dist/assets/{dropdown-menu-DnX3jo0y.js → dropdown-menu-B-ZAV5lw.js} +1 -1
- package/dist/assets/{edit-page-CVhnUbM-.js → edit-page-DCOdX3sJ.js} +4 -4
- package/dist/assets/{error-banner-BsjSLKyr.js → error-banner-C5aiAh3q.js} +1 -1
- package/dist/assets/{error-entries-DZjQ7yIb.js → error-entries-Yh2iX13J.js} +1 -1
- package/dist/assets/{error-panel-BpAXL0Jx.js → error-panel-CGUFTbfd.js} +1 -1
- package/dist/assets/{file-explorer-panel-BN6gd4XO.js → file-explorer-panel-Db-8C8fm.js} +1 -1
- package/dist/assets/{file-icons-DqdK7VJg.js → file-icons-C0Mf_Axb.js} +1 -1
- package/dist/assets/{file-name-input-oiyzcfEJ.js → file-name-input-DmwIfRLx.js} +1 -1
- package/dist/assets/{floating-outline-DPSwhBkV.js → floating-outline-8Uo6Qp8W.js} +1 -1
- package/dist/assets/{gallery-page-7DdjmUx5.js → gallery-page-BpxbCG1a.js} +1 -1
- package/dist/assets/{glide-data-editor-Di4wZ4hd.js → glide-data-editor-k7azNhFM.js} +1 -1
- package/dist/assets/{home-page-Bp96aSro.js → home-page-CEzr9Hhn.js} +1 -1
- package/dist/assets/{index-BkIXRAbi.css → index-DuY6Lm00.css} +1 -1
- package/dist/assets/{index-DppxBBTx.js → index-kkDJK6-j.js} +5 -5
- package/dist/assets/{input-BBJ8nAOd.js → input-D4qvzBWu.js} +1 -1
- package/dist/assets/{layout-Cx8C7K25.js → layout-D5ovQPUb.js} +3 -3
- package/dist/assets/{logs-panel-D0bWZKWJ.js → logs-panel-Cqxpxz5Z.js} +1 -1
- package/dist/assets/{markdown-renderer-CZ3YygMD.js → markdown-renderer-zZh3O1Hm.js} +1 -1
- package/dist/assets/menu-items-CsV3aDPH.js +1 -0
- package/dist/assets/{mermaid-Bx9Qyize.js → mermaid-BovZosCC.js} +1 -1
- package/dist/assets/{name-cell-input-Bu4JMe_U.js → name-cell-input-DXP1MqrH.js} +1 -1
- package/dist/assets/{outline-panel-C1xIywWA.js → outline-panel-CMMPf-P7.js} +1 -1
- package/dist/assets/{packages-panel-DTJ-O5EO.js → packages-panel-BHZOSh3s.js} +1 -1
- package/dist/assets/{pair-with-agent-modal-DdhoVv9s.js → pair-with-agent-modal-DgckrViE.js} +1 -1
- package/dist/assets/{panel-accordion-state-Cx3vYbsP.js → panel-accordion-state-9kdNootf.js} +1 -1
- package/dist/assets/{panels-CywQefR1.js → panels-Ca-tbb7P.js} +1 -1
- package/dist/assets/{process-output-BisIKywr.js → process-output-Bi9pDe1a.js} +1 -1
- package/dist/assets/{readonly-code-display-BkxE6y3G.js → readonly-code-display-ilZfA3ua.js} +1 -1
- package/dist/assets/{readonly-python-code-BsJxWR9t.js → readonly-python-code-Bqk6NhSW.js} +1 -1
- package/dist/assets/{renderShortcut-BmNAHfqT.js → renderShortcut-BnBOGXqJ.js} +1 -1
- package/dist/assets/{reveal-component-BNl5Zqif.js → reveal-component-DpoL_y06.js} +1 -1
- package/dist/assets/{run-page-RG1gHn8i.js → run-page-rnCMzZmN.js} +1 -1
- package/dist/assets/{scratchpad-panel-DnSgF--Q.js → scratchpad-panel-BBd8n8wh.js} +1 -1
- package/dist/assets/{scroll-to-bottom-button-BsJTlAOK.js → scroll-to-bottom-button-DufiYUD7.js} +1 -1
- package/dist/assets/{secrets-panel-BKccjNx4.js → secrets-panel-C5D_CNW2.js} +1 -1
- package/dist/assets/{select-4UL7AAMx.js → select-BJKJFWHk.js} +1 -1
- package/dist/assets/{session-panel-BXwF6uCv.js → session-panel-C3kmYD9D.js} +1 -1
- package/dist/assets/{skeleton-DIGKSCaR.js → skeleton-xsRIwsVr.js} +1 -1
- package/dist/assets/{snippets-panel-Bs7D-2J3.js → snippets-panel-C1fCmhNQ.js} +1 -1
- package/dist/assets/{state-DqwSj41I.js → state-CsL-gymg.js} +1 -1
- package/dist/assets/{state-C5o_oPeD.js → state-DJSqAVnx.js} +1 -1
- package/dist/assets/{swiper-component-CeAE4PvB.js → swiper-component-5Kdi1-Gn.js} +1 -1
- package/dist/assets/{switch-qLxqA0gx.js → switch-CYJ2u4G9.js} +1 -1
- package/dist/assets/{tabs-CIEoDqa7.js → tabs-DxfkQ6UI.js} +1 -1
- package/dist/assets/{terminal-9kcc2057.js → terminal-CfkxQQwT.js} +1 -1
- package/dist/assets/{tracing-PQRp5Y6N.js → tracing-BHb672Fd.js} +1 -1
- package/dist/assets/{tracing-panel-BnrbDAGz.js → tracing-panel-3JaAnsDw.js} +2 -2
- package/dist/assets/{tree-actions-C-1KQPVN.js → tree-actions-CzmLf39g.js} +1 -1
- package/dist/assets/{useAddCell-qRhXgYb3.js → useAddCell-DuzEVBJj.js} +1 -1
- package/dist/assets/{useCellActionButton-C__VM-4x.js → useCellActionButton-B3Ve1KW5.js} +1 -1
- package/dist/assets/{useDeleteCell-xTUoM-wW.js → useDeleteCell-CEtU0g91.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DbotHB0-.js → useDependencyPanelTab-BpSWTQLC.js} +1 -1
- package/dist/assets/{useNotebookActions-DIcNvfxA.js → useNotebookActions-C3LAhEgG.js} +1 -1
- package/dist/assets/{useRunCells-Bno18PcV.js → useRunCells-omrTl5XU.js} +1 -1
- package/dist/assets/{useSplitCell-DigdAFdD.js → useSplitCell-CgXD2Gcw.js} +1 -1
- package/dist/assets/{vega-component-DnazhC4G.js → vega-component-CwdVpUdb.js} +1 -1
- package/dist/assets/write-secret-modal-GHpJRc36.js +2 -0
- package/dist/index.html +38 -38
- package/package.json +1 -1
- package/src/components/dependency-graph/__tests__/elements.test.ts +151 -0
- package/src/components/dependency-graph/custom-edge.tsx +68 -0
- package/src/components/dependency-graph/custom-node.tsx +54 -26
- package/src/components/dependency-graph/dependency-graph-tree.tsx +110 -21
- package/src/components/dependency-graph/elements.ts +225 -31
- package/src/components/dependency-graph/panels.tsx +23 -2
- package/src/components/dependency-graph/utils/__tests__/layout.test.ts +78 -0
- package/src/components/dependency-graph/utils/layout.ts +108 -18
- package/src/components/ui/__tests__/badge.test.ts +63 -0
- package/src/components/ui/__tests__/button.test.ts +19 -0
- package/src/components/ui/__tests__/menu-items.test.ts +31 -0
- package/src/components/ui/badge.tsx +9 -7
- package/src/components/ui/button.tsx +1 -0
- package/src/components/ui/combobox.tsx +1 -1
- package/src/components/ui/date-input.tsx +1 -1
- package/src/components/ui/dialog.tsx +3 -1
- package/src/components/ui/menu-items.tsx +9 -9
- package/src/components/ui/native-select.tsx +2 -2
- package/src/components/ui/navigation.tsx +1 -1
- package/src/components/ui/range-slider.tsx +5 -3
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/sheet.tsx +1 -1
- package/src/components/ui/toast.tsx +8 -5
- package/src/components/ui/toaster.tsx +2 -2
- package/src/css/globals.css +28 -0
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +25 -25
- package/dist/assets/badge-D_-uqy2N.js +0 -1
- package/dist/assets/button-MlJ5qApt.js +0 -1
- package/dist/assets/dependency-graph-panel-LHjxAlPl.js +0 -5
- package/dist/assets/menu-items-BGpxTb6Y.js +0 -1
- package/dist/assets/write-secret-modal-BJCzwShk.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{t as n}from"./compiler-runtime-CYIjoINj.js";import{i as r,o as i,r as a}from"./useEventListener-92uWqz-P.js";import{t as o}from"./cn-ldLVeaqm.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{C as c,S as l,_ as u,c as d,d as ee,f as te,m as ne,o as re,r as ie,s as ae,u as oe,v as f,w as p,x as m,y as se}from"./fullscreen-BFfuaW3H.js";import{n as h}from"./button-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{t as n}from"./compiler-runtime-CYIjoINj.js";import{i as r,o as i,r as a}from"./useEventListener-92uWqz-P.js";import{t as o}from"./cn-ldLVeaqm.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{C as c,S as l,_ as u,c as d,d as ee,f as te,m as ne,o as re,r as ie,s as ae,u as oe,v as f,w as p,x as m,y as se}from"./fullscreen-BFfuaW3H.js";import{n as h}from"./button-Dh8EwhsF.js";var g=e(t(),1),_=s(),v=`Dialog`,[y,b]=c(v),[ce,x]=y(v),le=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=g.useRef(null),c=g.useRef(null),[l,d]=se({prop:r,defaultProp:i??!1,onChange:a,caller:v});return(0,_.jsx)(ce,{scope:t,triggerRef:s,contentRef:c,contentId:u(),titleId:u(),descriptionId:u(),open:l,onOpenChange:d,onOpenToggle:g.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};le.displayName=v;var ue=`DialogTrigger`,S=g.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=x(ue,n),o=i(t,a.triggerRef);return(0,_.jsx)(p.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.contentId,"data-state":L(a.open),...r,ref:o,onClick:m(e.onClick,a.onOpenToggle)})});S.displayName=ue;var C=`DialogPortal`,[de,w]=y(C,{forceMount:void 0}),T=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=x(C,t);return(0,_.jsx)(de,{scope:t,forceMount:n,children:g.Children.map(r,e=>(0,_.jsx)(f,{present:n||a.open,children:(0,_.jsx)(ee,{asChild:!0,container:i,children:e})}))})};T.displayName=C;var E=`DialogOverlay`,D=g.forwardRef((e,t)=>{let n=w(E,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=x(E,e.__scopeDialog);return a.modal?(0,_.jsx)(f,{present:r||a.open,children:(0,_.jsx)(pe,{...i,ref:t})}):null});D.displayName=E;var fe=a(`DialogOverlay.RemoveScroll`),pe=g.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=x(E,n);return(0,_.jsx)(d,{as:fe,allowPinchZoom:!0,shards:[i.contentRef],children:(0,_.jsx)(p.div,{"data-state":L(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),O=`DialogContent`,k=g.forwardRef((e,t)=>{let n=w(O,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=x(O,e.__scopeDialog);return(0,_.jsx)(f,{present:r||a.open,children:a.modal?(0,_.jsx)(me,{...i,ref:t}):(0,_.jsx)(he,{...i,ref:t})})});k.displayName=O;var me=g.forwardRef((e,t)=>{let n=x(O,e.__scopeDialog),r=g.useRef(null),a=i(t,n.contentRef,r);return g.useEffect(()=>{let e=r.current;if(e)return ae(e)},[]),(0,_.jsx)(A,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:m(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:m(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:m(e.onFocusOutside,e=>e.preventDefault())})}),he=g.forwardRef((e,t)=>{let n=x(O,e.__scopeDialog),r=g.useRef(!1),i=g.useRef(!1);return(0,_.jsx)(A,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),A=g.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,...s}=e,c=x(O,n),l=g.useRef(null),u=i(t,l);return oe(),(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(te,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,_.jsx)(ne,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":L(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(_e,{titleId:c.titleId}),(0,_.jsx)(ye,{contentRef:l,descriptionId:c.descriptionId})]})]})}),j=`DialogTitle`,M=g.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=x(j,n);return(0,_.jsx)(p.h2,{id:i.titleId,...r,ref:t})});M.displayName=j;var N=`DialogDescription`,P=g.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=x(N,n);return(0,_.jsx)(p.p,{id:i.descriptionId,...r,ref:t})});P.displayName=N;var F=`DialogClose`,I=g.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=x(F,n);return(0,_.jsx)(p.button,{type:`button`,...r,ref:t,onClick:m(e.onClick,()=>i.onOpenChange(!1))})});I.displayName=F;function L(e){return e?`open`:`closed`}var R=`DialogTitleWarning`,[ge,z]=l(R,{contentName:O,titleName:j,docsSlug:`dialog`}),_e=({titleId:e})=>{let t=z(R),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-CBDbhulC.js";import{t}from"./compiler-runtime-CYIjoINj.js";import{g as n}from"./useEventListener-92uWqz-P.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{t as i}from"./copy-icon-
|
|
1
|
+
import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-CBDbhulC.js";import{t}from"./compiler-runtime-CYIjoINj.js";import{g as n}from"./useEventListener-92uWqz-P.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{t as i}from"./copy-icon-D522mvZL.js";import{t as a}from"./esm-BHMOvJzM.js";import{n as o}from"./error-banner-C5aiAh3q.js";import{n as s,t as c}from"./esm-DmqQGMel.js";var l=t();e();var u=r(),d={python:`py`,python3:`py`,javascript:`js`,typescript:`ts`,shell:`sh`,bash:`sh`,unknown:`text`,undefined:`text`},f=[];function p(e){return e?e in c:!1}var m=e=>{let t=(0,l.c)(29),r,m,h,g,_,v;if(t[0]!==e){let{language:n,hideUnsupportedLanguageErrors:i,showCopyButton:a,extensions:o,...s}=e;m=i,_=a,g=s,h=n,r=o===void 0?f:o,h=d[h||``]||h,v=p(h),t[0]=e,t[1]=r,t[2]=m,t[3]=h,t[4]=g,t[5]=_,t[6]=v}else r=t[1],m=t[2],h=t[3],g=t[4],_=t[5],v=t[6];let y=v;y||n.warn(`Language ${h} not found in CodeMirror.`);let b;bb0:{if(!p(h)){b=r;break bb0}let e;t[7]===h?e=t[8]:(e=s(h),t[7]=h,t[8]=e);let n;t[9]!==r||t[10]!==e?(n=[e,...r].filter(Boolean),t[9]=r,t[10]=e,t[11]=n):n=t[11],b=n}let x=b,S;t[12]!==m||t[13]!==y||t[14]!==h?(S=!y&&!m&&(0,u.jsx)(o,{className:`mb-1 rounded-sm`,error:`Language ${h} not supported. Supported languages are: ${Object.keys(c).join(`, `)}`}),t[12]=m,t[13]=y,t[14]=h,t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==g||t[18]!==_?(C=_&&y&&(0,u.jsx)(i,{tooltip:!1,buttonClassName:`absolute top-2 right-2 z-10 hover-action`,className:`h-4 w-4 text-muted-foreground`,value:g.value||``,toastTitle:`Copied to clipboard`}),t[16]=y,t[17]=g,t[18]=_,t[19]=C):C=t[19];let w;t[20]===x?w=t[21]:(w=[...x],t[20]=x,t[21]=w);let T;t[22]!==g||t[23]!==w?(T=(0,u.jsx)(a,{...g,extensions:w}),t[22]=g,t[23]=w,t[24]=T):T=t[24];let E;return t[25]!==S||t[26]!==C||t[27]!==T?(E=(0,u.jsxs)(`div`,{className:`relative w-full group hover-actions-parent`,children:[S,C,T]}),t[25]=S,t[26]=C,t[27]=T,t[28]=E):E=t[28],E};export{d as LANGUAGE_MAP,m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{Kn as r,Mn as i,Pn as a,_n as o,an as s,cn as c,gn as l,mn as u,nn as d,on as f,rn as p,sn as m,tn as h}from"./cells-C3Vs2g0_.js";import{t as g}from"./compiler-runtime-CYIjoINj.js";import{C as _,O as v,k as y}from"./utils-B-_Wem_I.js";import{E as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-jVyB16Bq.js";import{N as E}from"./config-BRRSKtP3.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-D_btUJmY.js";import{l as k}from"./select-4UL7AAMx.js";import{t as A}from"./tooltip-BO5vfMvm.js";import{t as j}from"./button-MlJ5qApt.js";import{s as M}from"./arrays-BqUx5USx.js";import{r as N}from"./requests-C6_IaFh7.js";import{t as P}from"./createLucideIcon-B7HeEoG2.js";import{r as F}from"./useNumberFormatter-DHJ9s6Vk.js";import{M as I,T as L,b as R,j as z,p as B,w as V}from"./write-secret-modal-BJCzwShk.js";import{r as H}from"./input-BBJ8nAOd.js";import{t as U}from"./settings-C-cYas75.js";import{t as W}from"./use-toast-DpWHUGuF.js";import{t as G}from"./VisuallyHidden-dPzEOlg8.js";import{n as K}from"./useDebounce-Dulm61-t.js";import{t as q}from"./kbd-Cwh96ZBE.js";import{t as J}from"./Inputs-E85rt2lh.js";var Y=P(`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`}]]),X=g(),Z=D(),ee=e=>{let t=(0,X.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=R(),{sendShutdown:l}=N(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(te,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,Z.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(F,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,Z.jsx)(J,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,Z.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function te(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,X.c)(37),[t,n]=_(),{saveAppConfig:o}=N(),l=(0,Q.useId)(),u=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(v),e[0]=g):g=e[0];let y;e[1]===t?y=e[2]:(y={resolver:g,defaultValues:t},e[1]=t,e[2]=y);let b=a(y),C;e[3]!==o||e[4]!==n?(C=async e=>{await o({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=o,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=K(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(S,{children:`Notebook Settings`}),(0,Z.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,Z.jsxs)($,{title:`Display`,children:[(0,Z.jsx)(s,{control:b.control,name:`width`,render:oe}),(0,Z.jsx)(s,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,Z.jsxs)($,{title:`Custom Files`,children:[(0,Z.jsx)(s,{control:b.control,name:`css_file`,render:ce}),(0,Z.jsx)(s,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let P;e[18]===b.control?P=e[19]:(P=(0,Z.jsx)($,{title:`Data`,children:(0,Z.jsx)(s,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=P);let F;e[20]!==l||e[21]!==u?(F=e=>{let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(d,{children:(0,Z.jsxs)(`div`,{className:`flex gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:l,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(M(t.value,`html`))}}),(0,Z.jsx)(m,{htmlFor:l,children:`HTML`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:u,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(M(t.value,`ipynb`))}}),(0,Z.jsx)(m,{htmlFor:u,children:`IPYNB`})]})]})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,Z.jsx)(q,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=l,e[21]=u,e[22]=F):F=e[22];let I;e[23]!==b.control||e[24]!==F?(I=(0,Z.jsx)($,{title:`Exporting outputs`,children:(0,Z.jsx)(s,{control:b.control,name:`auto_download`,render:F})}),e[23]=b.control,e[24]=F,e[25]=I):I=e[25];let L;e[26]!==I||e[27]!==A||e[28]!==j||e[29]!==P?(L=(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,P,I]}),e[26]=I,e[27]=A,e[28]=j,e[29]=P,e[30]=L):L=e[30];let R;e[31]!==L||e[32]!==O?(R=(0,Z.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,L]}),e[31]=L,e[32]=O,e[33]=R):R=e[33];let z;return e[34]!==b||e[35]!==R?(z=(0,Z.jsx)(h,{...b,children:R}),e[34]=b,e[35]=R,e[36]=z):z=e[36],z},$=e=>{let t=(0,X.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,Z.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`Width`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,Z.jsx)(c,{})]})}function se(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`App title`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,Z.jsx)(q,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`SQL Output Type`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),W({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,Z.jsx)(q,{className:`inline`,children:`native`}),`. See the`,` `,(0,Z.jsx)(B,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,X.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,s=r===void 0||r,c=i!==void 0&&i,d=a===void 0?`Settings`:a,[f,p]=t(w),m=c?`disabled`:`hint-green`,h;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(U,{strokeWidth:1.8}),n[0]=h):h=n[0];let g;n[1]===d?g=n[2]:(g=(0,Z.jsx)(A,{content:d,children:h}),n[1]=d,n[2]=g);let _;n[3]!==c||n[4]!==m||n[5]!==g?(_=(0,Z.jsx)(J,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:c,color:m,children:g}),n[3]=c,n[4]=m,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(z,{children:`User settings`})}),(0,Z.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!s){let e;n[8]===v?e=n[9]:(e=(0,Z.jsx)(I,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==p||n[11]!==f||n[12]!==e?(t=(0,Z.jsxs)(V,{open:f,onOpenChange:p,children:[e,b]}),n[10]=p,n[11]=f,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,Z.jsx)(o,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(re,{}),T=(0,Z.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===p?E=n[19]:(E=()=>p(!0),n[18]=p,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(U,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,Z.jsxs)(l,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,Z.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,Z.jsxs)(u,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==p||n[27]!==f?(M=(0,Z.jsx)(V,{open:f,onOpenChange:p,children:b}),n[26]=p,n[27]=f,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,Z.jsxs)(Z.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{ee as n,Y as r,fe as t};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{Kn as r,Mn as i,Pn as a,_n as o,an as s,cn as c,gn as l,mn as u,nn as d,on as f,rn as p,sn as m,tn as h}from"./cells-BgH2MZS9.js";import{t as g}from"./compiler-runtime-CYIjoINj.js";import{C as _,O as v,k as y}from"./utils-B-_Wem_I.js";import{E as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-BxqpRM7R.js";import{N as E}from"./config-BRRSKtP3.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-BnNhUpVP.js";import{l as k}from"./select-BJKJFWHk.js";import{t as A}from"./tooltip-BO5vfMvm.js";import{t as j}from"./button-Dh8EwhsF.js";import{s as M}from"./arrays-BqUx5USx.js";import{r as N}from"./requests-C6_IaFh7.js";import{t as P}from"./createLucideIcon-B7HeEoG2.js";import{r as F}from"./useNumberFormatter-DHJ9s6Vk.js";import{M as I,T as L,b as R,j as z,p as B,w as V}from"./write-secret-modal-GHpJRc36.js";import{r as H}from"./input-D4qvzBWu.js";import{t as U}from"./settings-C-cYas75.js";import{t as W}from"./use-toast-DpWHUGuF.js";import{t as G}from"./VisuallyHidden-wlQyxf8y.js";import{n as K}from"./useDebounce-Dulm61-t.js";import{t as q}from"./kbd-Cwh96ZBE.js";import{t as J}from"./Inputs-E85rt2lh.js";var Y=P(`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`}]]),X=g(),Z=D(),ee=e=>{let t=(0,X.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=R(),{sendShutdown:l}=N(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(te,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,Z.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(F,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,Z.jsx)(J,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,Z.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function te(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,X.c)(37),[t,n]=_(),{saveAppConfig:o}=N(),l=(0,Q.useId)(),u=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(v),e[0]=g):g=e[0];let y;e[1]===t?y=e[2]:(y={resolver:g,defaultValues:t},e[1]=t,e[2]=y);let b=a(y),C;e[3]!==o||e[4]!==n?(C=async e=>{await o({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=o,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=K(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(S,{children:`Notebook Settings`}),(0,Z.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,Z.jsxs)($,{title:`Display`,children:[(0,Z.jsx)(s,{control:b.control,name:`width`,render:oe}),(0,Z.jsx)(s,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,Z.jsxs)($,{title:`Custom Files`,children:[(0,Z.jsx)(s,{control:b.control,name:`css_file`,render:ce}),(0,Z.jsx)(s,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let P;e[18]===b.control?P=e[19]:(P=(0,Z.jsx)($,{title:`Data`,children:(0,Z.jsx)(s,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=P);let F;e[20]!==l||e[21]!==u?(F=e=>{let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(d,{children:(0,Z.jsxs)(`div`,{className:`flex gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:l,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(M(t.value,`html`))}}),(0,Z.jsx)(m,{htmlFor:l,children:`HTML`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:u,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(M(t.value,`ipynb`))}}),(0,Z.jsx)(m,{htmlFor:u,children:`IPYNB`})]})]})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,Z.jsx)(q,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=l,e[21]=u,e[22]=F):F=e[22];let I;e[23]!==b.control||e[24]!==F?(I=(0,Z.jsx)($,{title:`Exporting outputs`,children:(0,Z.jsx)(s,{control:b.control,name:`auto_download`,render:F})}),e[23]=b.control,e[24]=F,e[25]=I):I=e[25];let L;e[26]!==I||e[27]!==A||e[28]!==j||e[29]!==P?(L=(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,P,I]}),e[26]=I,e[27]=A,e[28]=j,e[29]=P,e[30]=L):L=e[30];let R;e[31]!==L||e[32]!==O?(R=(0,Z.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,L]}),e[31]=L,e[32]=O,e[33]=R):R=e[33];let z;return e[34]!==b||e[35]!==R?(z=(0,Z.jsx)(h,{...b,children:R}),e[34]=b,e[35]=R,e[36]=z):z=e[36],z},$=e=>{let t=(0,X.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,Z.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`Width`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,Z.jsx)(c,{})]})}function se(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`App title`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,Z.jsx)(q,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`SQL Output Type`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),W({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,Z.jsx)(q,{className:`inline`,children:`native`}),`. See the`,` `,(0,Z.jsx)(B,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,X.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,s=r===void 0||r,c=i!==void 0&&i,d=a===void 0?`Settings`:a,[f,p]=t(w),m=c?`disabled`:`hint-green`,h;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(U,{strokeWidth:1.8}),n[0]=h):h=n[0];let g;n[1]===d?g=n[2]:(g=(0,Z.jsx)(A,{content:d,children:h}),n[1]=d,n[2]=g);let _;n[3]!==c||n[4]!==m||n[5]!==g?(_=(0,Z.jsx)(J,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:c,color:m,children:g}),n[3]=c,n[4]=m,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(z,{children:`User settings`})}),(0,Z.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!s){let e;n[8]===v?e=n[9]:(e=(0,Z.jsx)(I,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==p||n[11]!==f||n[12]!==e?(t=(0,Z.jsxs)(V,{open:f,onOpenChange:p,children:[e,b]}),n[10]=p,n[11]=f,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,Z.jsx)(o,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(re,{}),T=(0,Z.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===p?E=n[19]:(E=()=>p(!0),n[18]=p,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(U,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,Z.jsxs)(l,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,Z.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,Z.jsxs)(u,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==p||n[27]!==f?(M=(0,Z.jsx)(V,{open:f,onOpenChange:p,children:b}),n[26]=p,n[27]=f,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,Z.jsxs)(Z.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{ee as n,Y as r,fe as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-CBDbhulC.js";import{t}from"./compiler-runtime-CYIjoINj.js";import{n,t as r}from"./cn-ldLVeaqm.js";import{t as i}from"./jsx-runtime-B74pBk57.js";var a=t();e();var o=i(),s=n(`inline-flex items-center border rounded-full px-2 py-0.5 text-xs font-semibold transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 forced-color-adjust-none`,{variants:{variant:{default:`bg-primary hover:bg-primary/60 border-transparent text-primary-foreground forced-colors:bg-[Highlight] forced-colors:border-[Highlight] forced-colors:text-[HighlightText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText]`,defaultOutline:`bg-(--blue-2) border-(--blue-8) text-(--blue-11) forced-colors:bg-[Canvas] forced-colors:border-[Highlight] forced-colors:text-[CanvasText]`,secondary:`bg-secondary hover:bg-secondary/80 border-transparent text-secondary-foreground forced-colors:bg-[ButtonFace] forced-colors:border-[ButtonText] forced-colors:text-[ButtonText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText]`,destructive:`bg-(--red-2) border-(--red-6) text-(--red-9) hover:bg-(--red-3) forced-colors:bg-[Canvas] forced-colors:border-[ButtonText] forced-colors:text-[CanvasText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText]`,success:`bg-(--grass-2) border-(--grass-5) text-(--grass-9) hover:bg-(--grass-3) forced-colors:bg-[Canvas] forced-colors:border-[ButtonText] forced-colors:text-[CanvasText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText]`,outline:`text-foreground forced-colors:bg-[Canvas] forced-colors:border-[ButtonText] forced-colors:text-[CanvasText]`}},defaultVariants:{variant:`default`}}),c=e=>{let t=(0,a.c)(10),n,i,c;t[0]===e?(n=t[1],i=t[2],c=t[3]):({className:n,variant:c,...i}=e,t[0]=e,t[1]=n,t[2]=i,t[3]=c);let l;t[4]!==n||t[5]!==c?(l=r(s({variant:c}),n),t[4]=n,t[5]=c,t[6]=l):l=t[6];let u;return t[7]!==i||t[8]!==l?(u=(0,o.jsx)(`div`,{className:l,...i}),t[7]=i,t[8]=l,t[9]=u):u=t[9],u};export{c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./markdown-renderer-
|
|
1
|
+
import{a as e}from"./markdown-renderer-zZh3O1Hm.js";function t(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>{n(Error(`Failed to read blob: ${e.type}`))},r.readAsDataURL(e)})}function n(e){let[t,n]=e.split(`,`,2),r=/^data:(.+);base64$/.exec(t)?.[1],i=atob(n),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new Blob([o],{type:r})}function r({contents:t,mimeType:r,isBase64:i}){return i?n(e(t,r)):new Blob([t],{type:r})}export{r as n,t as r,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{t as n}from"./compiler-runtime-CYIjoINj.js";import{m as r,n as i,t as a}from"./useEventListener-92uWqz-P.js";import{n as o,t as s}from"./cn-ldLVeaqm.js";import{t as c}from"./jsx-runtime-B74pBk57.js";var l=e(t(),1),u=n(),d={stopPropagation:e=>t=>{t.stopPropagation(),e&&e(t)},onEnter:e=>t=>{t.key===`Enter`&&e&&e(t)},preventFocus:e=>{e.preventDefault()},fromInput:e=>{let t=d.composedTarget(e);return t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName.startsWith(`MARIMO`)||t.isContentEditable||d.fromCodeMirror(t)},fromCodeMirror:e=>e.closest(`.cm-editor`)!==null,shouldIgnoreKeyboardEvent(e){let t=d.composedTarget(e);return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||t instanceof HTMLElement&&(t.isContentEditable||t.tagName===`BUTTON`||t.closest(`[role='textbox']`)!==null||t.closest(`[contenteditable='true']`)!==null||d.fromCodeMirror(t))},composedTarget(e){return`composedPath`in e&&typeof e.composedPath==`function`?e.composedPath()[0]??e.target:e.target},hasModifier:e=>e.ctrlKey||e.metaKey||e.altKey||e.shiftKey,isMetaOrCtrl:e=>e.metaKey||e.ctrlKey},f=c(),p=`active:shadow-none`,m=o(s(`disabled:opacity-50 disabled:pointer-events-none`,`inline-flex items-center justify-center rounded-md text-sm font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background`,`forced-color-adjust-none forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText] forced-colors:disabled:border-[GrayText] forced-colors:disabled:text-[GrayText]`),{variants:{variant:{default:s(`bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs border border-primary`,p),destructive:s(`border shadow-xs`,`bg-destructive text-destructive-foreground border-destructive-border hover:bg-destructive-hover`,p),success:s(`border shadow-xs`,`bg-success text-success-foreground border-success-border hover:bg-success-hover`,p),warn:s(`border shadow-xs`,`bg-action text-action-foreground border-action-border hover:bg-action-hover`,p),action:s(`bg-action text-action-foreground shadow-xs`,`hover:bg-action-hover border border-action-border`,p),outline:s(`border border-slate-300 shadow-xs`,`hover:bg-accent hover:text-accent-foreground`,`hover:border-primary`,`aria-selected:text-accent-foreground aria-selected:border-primary`,p),secondary:s(`bg-secondary text-secondary-foreground hover:bg-secondary/80`,`border border-input shadow-xs`,p),text:s(`opacity-80 hover:opacity-100`,`active:opacity-100`),ghost:s(`border border-transparent`,`hover:bg-accent hover:text-accent-foreground hover:shadow-xs`,p,`active:text-accent-foreground`),link:`underline-offset-4 hover:underline text-link`,linkDestructive:`underline-offset-4 hover:underline text-destructive underline-destructive`,outlineDestructive:`border border-destructive text-destructive hover:bg-destructive/10`},size:{default:`h-10 py-2 px-4`,xs:`h-7 px-2 rounded-md text-xs`,sm:`h-9 px-3 rounded-md`,lg:`h-11 px-8 rounded-md`,icon:`h-6 w-6 mb-0`},disabled:{true:`opacity-50 pointer-events-none`}},defaultVariants:{variant:`default`,size:`sm`}}),h=l.forwardRef((e,t)=>{let n=(0,u.c)(19),o,c,p,h,g,_;n[0]===e?(o=n[1],c=n[2],p=n[3],h=n[4],g=n[5],_=n[6]):({className:o,variant:_,size:h,asChild:g,keyboardShortcut:c,...p}=e,n[0]=e,n[1]=o,n[2]=c,n[3]=p,n[4]=h,n[5]=g,n[6]=_);let v=g!==void 0&&g,y=l.useRef(null),b;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>y.current,n[7]=b):b=n[7],l.useImperativeHandle(t,b);let x;n[8]===c?x=n[9]:(x=e=>{!c||e.defaultPrevented||d.shouldIgnoreKeyboardEvent(e)||r(c)(e)&&(e.preventDefault(),e.stopPropagation(),y?.current&&!y.current.disabled&&y.current.click())},n[8]=c,n[9]=x),a(document,`keydown`,x);let S=v?i:`button`,C;n[10]!==o||n[11]!==p.disabled||n[12]!==h||n[13]!==_?(C=s(m({variant:_,size:h,className:o,disabled:p.disabled}),o),n[10]=o,n[11]=p.disabled,n[12]=h,n[13]=_,n[14]=C):C=n[14];let w;return n[15]!==S||n[16]!==p||n[17]!==C?(w=(0,f.jsx)(S,{className:C,ref:y,...p}),n[15]=S,n[16]=p,n[17]=C,n[18]=w):w=n[18],w});h.displayName=`Button`;export{m as n,d as r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{t as i}from"./cn-ldLVeaqm.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{a as o,c as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./alert-dialog-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{t as i}from"./cn-ldLVeaqm.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{a as o,c as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./alert-dialog-BnNhUpVP.js";import{t as g}from"./button-Dh8EwhsF.js";import{r as _}from"./requests-C6_IaFh7.js";import{t as v}from"./database-zap-CloO6gbw.js";import{t as y}from"./spinner-Ck-Hgfvj.js";import{t as b}from"./refresh-cw-Bf-rx_aV.js";import{t as x}from"./trash-2-D_HX-0qx.js";import{t as S}from"./use-toast-DpWHUGuF.js";import{t as C}from"./context-Do8M9TDF.js";import{i as w}from"./numbers-Bc-r3jsC.js";import{n as T}from"./useAsyncData-Buhk-UgR.js";import{t as E}from"./empty-state-kWyb5dCS.js";import{t as D}from"./requests-S_7PqcSt.js";import{n as O,t as k}from"./formatting-BWZH2nBg.js";var A=r(),j=e(n(),1),M=a(),N=e=>{let t=(0,A.c)(27),{children:n,title:r,description:i,onConfirm:a,confirmText:g,cancelText:_,destructive:v}=e,y=g===void 0?`Continue`:g,b=_===void 0?`Cancel`:_,x=v!==void 0&&v,[S,C]=j.useState(!1),w;t[0]===a?w=t[1]:(w=()=>{a(),C(!1)},t[0]=a,t[1]=w);let T=w,E=x?d:u,D;t[2]===n?D=t[3]:(D=(0,M.jsx)(h,{asChild:!0,children:n}),t[2]=n,t[3]=D);let O;t[4]===r?O=t[5]:(O=(0,M.jsx)(l,{children:r}),t[4]=r,t[5]=O);let k;t[6]===i?k=t[7]:(k=(0,M.jsx)(o,{children:i}),t[6]=i,t[7]=k);let N;t[8]!==O||t[9]!==k?(N=(0,M.jsxs)(s,{children:[O,k]}),t[8]=O,t[9]=k,t[10]=N):N=t[10];let P;t[11]===b?P=t[12]:(P=(0,M.jsx)(f,{children:b}),t[11]=b,t[12]=P);let F;t[13]!==E||t[14]!==y||t[15]!==T?(F=(0,M.jsx)(E,{onClick:T,children:y}),t[13]=E,t[14]=y,t[15]=T,t[16]=F):F=t[16];let I;t[17]!==F||t[18]!==P?(I=(0,M.jsxs)(p,{children:[P,F]}),t[17]=F,t[18]=P,t[19]=I):I=t[19];let L;t[20]!==I||t[21]!==N?(L=(0,M.jsxs)(c,{children:[N,I]}),t[20]=I,t[21]=N,t[22]=L):L=t[22];let R;return t[23]!==S||t[24]!==L||t[25]!==D?(R=(0,M.jsxs)(m,{open:S,onOpenChange:C,children:[D,L]}),t[23]=S,t[24]=L,t[25]=D,t[26]=R):R=t[26],R},P=()=>{let{clearCache:e,getCacheInfo:n}=_(),r=t(D),[a,o]=(0,j.useState)(!1),{locale:s}=C(),{isPending:c,isFetching:l,refetch:u}=T(async()=>{await n(),await new Promise(e=>setTimeout(e,500))},[]),d=async()=>{try{o(!0),await e(),S({title:`Cache purged`,description:`All cached data has been cleared`}),u()}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to purge cache`,variant:`danger`})}finally{o(!1)}};if(c&&!r)return(0,M.jsx)(y,{size:`medium`,centered:!0});let f=(0,M.jsxs)(g,{variant:`outline`,size:`sm`,onClick:u,disabled:l,children:[l?(0,M.jsx)(y,{size:`small`,className:`w-4 h-4 mr-2`}):(0,M.jsx)(b,{className:`w-4 h-4 mr-2`}),`Refresh`]});if(!r)return(0,M.jsx)(E,{title:`No cache data`,description:`Cache information is not available.`,icon:(0,M.jsx)(v,{}),action:f});let p=r.hits,m=r.misses,h=r.time,A=r.disk_total,P=r.disk_to_free,I=p+m,L=I>0?p/I*100:0;return I===0?(0,M.jsx)(E,{title:`No cache activity`,description:`The cache has not been used yet. Cached functions will appear here once they are executed.`,icon:(0,M.jsx)(v,{}),action:f}):(0,M.jsx)(`div`,{className:`flex flex-col h-full overflow-auto`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-4 p-4 h-full`,children:[(0,M.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,M.jsx)(g,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:u,disabled:l,children:(0,M.jsx)(b,{className:i(`h-4 w-4 text-muted-foreground hover:text-foreground`,l&&`animate-[spin_0.5s]`)})})}),(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:`Statistics`}),(0,M.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,M.jsx)(F,{label:`Time saved`,value:O(h,s),description:`Total execution time saved`}),(0,M.jsx)(F,{label:`Hit rate`,value:I>0?`${w(L,s)}%`:`—`,description:`${w(p,s)} hits / ${w(I,s)} total`}),(0,M.jsx)(F,{label:`Cache hits`,value:w(p,s),description:`Successful cache retrievals`}),(0,M.jsx)(F,{label:`Cache misses`,value:w(m,s),description:`Cache not found`})]})]}),A>0&&(0,M.jsxs)(`div`,{className:`space-y-3 pt-2 border-t`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:`Storage`}),(0,M.jsx)(`div`,{className:`grid grid-cols-1 gap-3`,children:(0,M.jsx)(F,{label:`Disk usage`,value:k(A,s),description:P>0?`${k(P,s)} can be freed`:`Cache storage on disk`})})]}),(0,M.jsx)(`div`,{className:`my-auto`}),(0,M.jsx)(`div`,{className:`pt-2 border-t`,children:(0,M.jsx)(N,{title:`Purge cache?`,description:`This will permanently delete all cached data. This action cannot be undone.`,confirmText:`Purge`,destructive:!0,onConfirm:d,children:(0,M.jsxs)(g,{variant:`outlineDestructive`,size:`xs`,disabled:a,className:`w-full`,children:[a?(0,M.jsx)(y,{size:`small`,className:`w-3 h-3 mr-2`}):(0,M.jsx)(x,{className:`w-3 h-3 mr-2`}),`Purge Cache`]})})})]})})},F=e=>{let t=(0,A.c)(10),{label:n,value:r,description:i}=e,a;t[0]===n?a=t[1]:(a=(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,M.jsx)(`span`,{className:`text-lg font-semibold`,children:r}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=i&&(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:i}),t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 p-3 rounded-lg border bg-card`,children:[a,o,s]}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c};export{P as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-BzjWitFM.js","./loro_wasm_bg-BRA1AbB3.js","./rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as k,Na as A,Nr as j,Oi as M,Po as N,Sn as re,So as ie,St as ae,Ti as P,To as oe,U as se,Ur as ce,Ut as le,V as ue,Va as de,Vr as F,W as fe,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as k,Na as A,Nr as j,Oi as M,Po as N,Sn as re,So as ie,St as ae,Ti as P,To as oe,U as se,Ur as ce,Ut as le,V as ue,Va as de,Vr as F,W as fe,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-BgH2MZS9.js";import{t as yt}from"./react-dom-BQrReHnR.js";import{Cn as bt,In as xt,Jn as St,Sn as Ct,Tt as wt,kt as Tt,ln as Et,xt as Dt}from"./schemas-aTUejmFi.js";import{t as Ot}from"./compiler-runtime-CYIjoINj.js";import{t as kt}from"./debounce-aFmHgJZY.js";import{D as At,_ as jt,c as Mt,g as Nt,l as Pt,v as Ft}from"./utils-B-_Wem_I.js";import{D as It,O as Lt,b as Rt,g as zt,h as Bt,m as Vt,t as Ht,w as Ut}from"./ai-model-dropdown-BxqpRM7R.js";import{_ as Wt,c as Gt,g as Kt,m as qt,t as Jt}from"./useEventListener-92uWqz-P.js";import{t as Yt}from"./invariant-Ci2dTZ72.js";import{E as Xt,N as Zt,O as Qt,S as $t,T as en,m as tn,o as nn,r as rn,v as an}from"./config-BRRSKtP3.js";import{n as on,t as sn}from"./switch-CYJ2u4G9.js";import{f as cn,n as ln,r as un,y as dn}from"./readonly-python-code-Bqk6NhSW.js";import{t as fn}from"./ErrorBoundary-CDVGFYfr.js";import{t as pn}from"./cn-ldLVeaqm.js";import{t as mn}from"./jsx-runtime-B74pBk57.js";import{d as hn}from"./select-BJKJFWHk.js";import{Q as gn,Z as _n}from"./JsonOutput-COWoYBdx.js";import{n as vn}from"./download-C4umhthc.js";import{t as yn}from"./tooltip-BO5vfMvm.js";import{r as bn,t as xn}from"./button-Dh8EwhsF.js";import{At as Sn,Bt as Cn,Ct as wn,Dt as Tn,E as En,Et as Dn,Ft as On,Gt as kn,H as An,Ht as jn,I as Mn,P as Nn,Pt as Pn,Qt as Fn,Rt as In,St as Ln,Tt as Rn,Ut as zn,V as Bn,Wt as Vn,Yt as Hn,Zt as I,_ as Un,at as L,dt as Wn,en as Gn,gt as Kn,ht as qn,lt as Jn,m as Yn,ot as Xn,qt as Zn,rn as Qn,st as R,ut as $n,w as er,xt as tr}from"./dist-BtC9ym6k.js";import{C as nr,E as rr,I as ir,O as ar,S as or,a as sr,c as cr,n as lr,r as ur,w as dr}from"./dist-CZNULd6Z.js";import{o as fr}from"./arrays-BqUx5USx.js";import{n as pr}from"./once-Haz_uxEL.js";import{t as mr}from"./createReducer-B_XmHROl.js";import{a as hr,c as gr,f as _r,h as vr,i as yr,l as br,n as xr,o as Sr,t as Cr}from"./dist-DiYjQAhI.js";import{r as wr}from"./strings-CReV1AYG.js";import{r as Tr,t as Er}from"./requests-C6_IaFh7.js";import{t as Dr}from"./createLucideIcon-B7HeEoG2.js";import{r as Or}from"./layout-D5ovQPUb.js";import{r as kr}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as Ar}from"./circle-check-CUWv70QX.js";import{B as jr,F as Mr,G as Nr,I as Pr,L as Fr,M as Ir,R as Lr,T as Rr,V as zr,W as Br,c as Vr,f as Hr,i as Ur,n as Wr,o as Gr,r as Kr,s as qr,w as Jr,z as Yr}from"./add-cell-with-ai-DSjyPknP.js";import{t as Xr}from"./database-zap-CloO6gbw.js";import{r as Zr,t as Qr}from"./file-icons-C0Mf_Axb.js";import{t as $r}from"./components-DAhqHptJ.js";import{D as ei,E as ti,T as ni,b as ri,j as ii}from"./write-secret-modal-GHpJRc36.js";import{n as ai}from"./spinner-Ck-Hgfvj.js";import{n as oi,t as si}from"./useDeleteCell-CEtU0g91.js";import{t as ci}from"./save-BybsbOKz.js";import{I as li,Mt as ui,P as di}from"./input-D4qvzBWu.js";import{t as fi}from"./badge-BSgtkC2e.js";import{t as pi}from"./preload-helper-HclGiUj8.js";import{a as mi}from"./dist-CKUpxYGQ.js";import{t as hi}from"./use-toast-DpWHUGuF.js";import{n as gi}from"./paths-zcL04qUW.js";import{t as _i}from"./session-Sz5nSFku.js";import{r as vi}from"./useTheme-OSyXt1jZ.js";import{t as yi}from"./context-Do8M9TDF.js";import{i as bi}from"./numbers-Bc-r3jsC.js";import{n as xi}from"./useAsyncData-Buhk-UgR.js";import{n as Si}from"./copy-DlEomWzI.js";import{a as Ci}from"./useRunCells-omrTl5XU.js";import{a as wi}from"./errors-DzO-nXy-.js";import{t as z}from"./extends-CvVTau-c.js";import{i as Ti,n as Ei}from"./esm-BHMOvJzM.js";import{t as Di}from"./kbd-Cwh96ZBE.js";import{a as Oi}from"./useInstallPackage-DsD08SLK.js";import{a as ki,n as Ai}from"./state-DJSqAVnx.js";import{a as ji,o as Mi}from"./cell-link-DOeJzvRH.js";import{a as Ni}from"./renderShortcut-BnBOGXqJ.js";import{n as Pi,t as Fi}from"./icons-CjLa9BiH.js";import{t as Ii}from"./dist-wY2yia-1.js";import{t as Li}from"./requests-S_7PqcSt.js";import{n as Ri}from"./formatting-BWZH2nBg.js";import{t as zi}from"./useSplitCell-CgXD2Gcw.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-9kdNootf.js";import{co as Ui,do as Wi,fo as Gi,ft as Ki,go as qi,ho as Ji,lo as Yi,mo as Xi,oo as Zi,po as Qi,so as $i,uo as ea}from"./loro_wasm_bg-BRA1AbB3.js";import{t as ta}from"./ws-DLVysDhS.js";import{t as na}from"./Inputs-E85rt2lh.js";import{r as ra,t as ia}from"./skeleton-xsRIwsVr.js";var aa=Dr(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),oa={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},sa=300,ca=kn.define({combine:e=>Qn(e,{onError:console.error,inputDebounceTime:sa,keymaps:oa},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),la=I.define(),ua=Fn.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(la))return e.value;return e}}),da=I.define(),fa=I.define(),pa=Fn.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(da)&&(n={...n,inputValue:e.value}),e.is(fa)&&(n={...n,shouldFocus:e.value});return n}}),ma=I.define(),ha=Fn.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=I.define(),_a=Fn.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ga))return e.value;return e}}),va=1,ya=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<va)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[la.of({show:!0,lineFrom:o,lineTo:s}),fa.of(!0),da.of(``)],selection:zn.cursor(i.from)}),!0},ba=e=>e.state.field(ha)?(e.dispatch({effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1,xa=e=>{let t=e.state.field(ha);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1},Sa={mac:`⌘`,windows:`Ctrl`,default:`Ctrl`};function Ca(){return navigator.platform.startsWith(`Mac`)?Sa.mac:navigator.platform.startsWith(`Win`)?Sa.windows:Sa.default}function wa(e){return e.replace(`Mod`,Ca()).replace(`-`,` `).toUpperCase()}function B(e,t){let n=document.createElement(e);return n.className=t,n}function Ta(e,t,n=void 0){let r=()=>{};return(...i)=>(r(),new Promise((a,o)=>{let s=setTimeout(()=>a(e(...i)),t);r=()=>{clearTimeout(s),n!==void 0&&o(n)}}))}var Ea=Fn.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(Da));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Da=I.define();function Oa(e,t){let n=e.state.selection.main.head,r=[],i=L.widget({widget:new ka(t),side:1});return r.push(i.range(n)),L.set(r)}var ka=class extends Wn{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
|
|
3
3
|
`).length-1}},Aa=class{cache=new Map;timeout;constructor(e){this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ja=(e,t)=>$n.fromClass(class{abortController=null;cache;constructor(){this.cache=new Aa(t.cacheTimeout??1e3)}async update(n){if(!n.docChanged||t.events?.beforeSuggestionFetch?.(n.view)===!1)return;this.abortController?.abort(),this.abortController=new AbortController;let r=n.state.doc,i=r.toString(),a=this.cache.get(i);if(a){n.view.dispatch({effects:Da.of({text:a,doc:r})});return}try{let a=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||t.events?.shouldShowSuggestion?.(n.view,a)===!1)return;this.cache.set(i,a),n.view.dispatch({effects:Da.of({text:a,doc:r})})}catch(e){e instanceof Error&&e.name!==`AbortError`&&console.error(`Suggestion fetch error:`,e)}}destroy(){this.abortController?.abort()}}),Ma=$n.fromClass(class{decorations;constructor(){this.decorations=L.none}update(e){let t=e.state.field(Ea)?.suggestion;if(!t){this.decorations=L.none;return}this.decorations=Oa(e.view,t)}},{decorations:e=>e.decorations});function Na(e,t,n,r){return{...e.changeByRange(i=>{if(i===e.selection.main)return{changes:{from:n,to:r,insert:t},range:zn.cursor(n+t.length)};let a=r-n;return!i.empty||a&&e.sliceDoc(i.from-a,i.from)!==e.sliceDoc(n,r)?{range:i}:{changes:{from:i.from-a,to:i.from,insert:t},range:zn.cursor(i.from-a+t.length)}}),userEvent:`input.complete`}}var Pa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({...Na(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),n.events?.onSuggestionAccepted?.(e,t),!0},Fa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({effects:Da.of({text:null,doc:e.state.doc})}),n.events?.onSuggestionRejected?.(e,t),!0},Ia=Rn.of([{key:`Tab`,run:Pa},{key:`Escape`,run:Fa}]),La=kn.define({combine:e=>e.at(-1)});function Ra(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Ta(e.fetchFn,t);return[Ea,La.of(e),ja(r,e),Ma,n?Ia:[]]}var za=R.baseTheme({".cm-ai-input-container":{display:`flex`,flexDirection:`column`,gap:`4px`,width:`min(calc(100% + 7px), 500px)`,padding:`5px 5px`,margin:`0 -6px`,backgroundColor:`light-dark(rgb(241, 243, 245), rgb(40, 40, 40))`},".cm-ai-input":{display:`block`,width:`100%`,padding:`3px 8px`,border:`2px solid rgb(51, 154, 240)`,borderRadius:`5px`,fontSize:`12px`},".cm-ai-help-info-button":{fontSize:`10px`,paddingLeft:`10px`,height:`18px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,display:`block`,marginRight:`auto`},".cm-ai-help-info-button:hover":{color:`light-dark(rgb(89, 97, 105), rgb(190, 190, 190))`},".cm-ai-generate-button":{background:`#0E639C`,border:`none`,padding:`2px 6px`,color:`#ffffff`,cursor:`pointer`,font:`inherit`,borderRadius:`4px`,"&:hover":{backgroundColor:`#1177bb`}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:`light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important`},".cm-line:has(.cm-new-code-line)":{backgroundColor:`light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important`},".cm-old-code-container":{backgroundColor:`light-dark(rgb(255, 205, 205), rgb(100, 40, 40))`,position:`relative`,display:`flex`,paddingTop:`0`,width:`100%`,alignItems:`center`},".cm-code-button":{position:`absolute`,right:`5px`,top:`50%`,transform:`translateY(-50%)`,background:`none`,border:`none`,cursor:`pointer`,fontSize:`16px`},".cm-floating-buttons":{fontFamily:`sans-serif`,position:`absolute`,top:`-20px`,left:`5px`,display:`flex`},".cm-floating-button":{fontFamily:`sans-serif`,padding:`2px 5px`,fontSize:`10px`,cursor:`pointer`,fontWeight:`700`},".cm-floating-accept":{backgroundColor:`light-dark(rgb(55, 125, 34), rgb(40, 80, 25))`,borderTopLeftRadius:`5px`,borderBottomLeftRadius:`5px`,color:`white`,filter:`brightness(90%)`,"&:hover":{filter:`brightness(100%)`}},".cm-floating-reject":{backgroundColor:`light-dark(rgb(220, 53, 69), rgb(180, 40, 50))`,color:`white`,borderTopRightRadius:`5px`,borderBottomRightRadius:`5px`,filter:`brightness(90%)`,"&:hover":{filter:`brightness(100%)`}},".hotkey":{display:`inline-block`,padding:`0 4px`,borderRadius:`3px`,backgroundColor:`rgba(255, 255, 255, 0.1)`,fontSize:`90%`},".cm-ai-loading-indicator":{fontStyle:`italic`,fontSize:`10px`,paddingLeft:`12px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,opacity:`0`,transition:`opacity 0.3s ease-in-out`,"&::after":{content:`""`,display:`inline-block`,animation:`ellipsis-pulse 1.5s steps(4, end) infinite`},"&:not(:empty)":{opacity:`1`}},".cm-ai-input:disabled":{opacity:`0.5`},"@keyframes ellipsis-pulse":{"0%":{content:`'.'`},"25%":{content:`'..'`},"50%":{content:`'...'`},"75%":{content:`''`}},".cm-ai-loading-container":{display:`flex`,alignItems:`center`,padding:`0 8px`},".cm-ai-cancel-button":{padding:`2px 8px`,fontSize:`10px`,borderRadius:`4px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,cursor:`pointer`,"&:hover":{background:`light-dark(rgb(223, 227, 232), rgb(50, 50, 50))`}},".hidden":{display:`none`}});function Ba(e){let t=e.state.facet(ca),n={...oa,...t.keymaps},r=e.state.facet(Va),i=B(`div`,`cm-ai-tooltip`).appendChild(B(`div`,`cm-ai-tooltip-button`)),a=i.appendChild(document.createElement(`span`));a.textContent=`${r.label} `;let o=a.appendChild(document.createElement(`span`));return o.className=`hotkey`,o.textContent=wa(n.showInput),i.querySelector(`span`)?.addEventListener(`mousedown`,e=>{e.stopPropagation(),e.button===0&&e.preventDefault()}),i.querySelector(`span`)?.addEventListener(`click`,t=>{t.preventDefault(),ya(e)}),i}var Va=kn.define({combine(e){return Qn(e,{render:Ba,hideOnBlur:!1,label:`Edit with AI`})}}),Ha=$n.fromClass(class{view;suppress;dom;mousedown=()=>{this.suppress=!0};mouseup=()=>{this.suppress=!1,this.display(this.view)};scroll=()=>{this.display(this.view)};windowScroll=()=>{this.display(this.view)};constructor(e){this.view=e;let t=e.state.facet(Va);this.suppress=!1,document.addEventListener(`mousedown`,this.mousedown),document.addEventListener(`mouseup`,this.mouseup),e.scrollDOM.addEventListener(`scroll`,this.scroll),window.addEventListener(`scroll`,this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ua).show){this.dom.style.display=`none`;return}if(e.state.facet(Va).hideOnBlur&&!e.hasFocus){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}e.requestMeasure({read:this.#e})}#e=e=>{let t=e.state.selection.ranges.find(e=>!e.empty);if(t&&!this.suppress){let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to);if(!n||!r)return;let i=e.dom.getBoundingClientRect(),a=e.dom.parentElement?.getBoundingClientRect(),o=e=>e.top>=i.top&&e.top<=i.bottom&&e.left>=i.left&&e.left<=i.right,s=e=>!a||e.top>=a.top&&e.top<=a.bottom&&e.left>=a.left&&e.left<=a.right,c=o(n)||o(r),l=s(n)||s(r);if(!c||!l){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}this.dom.style.display=`flex`,this.dom.setAttribute(`aria-hidden`,`false`);let u=this.dom.getBoundingClientRect(),d=o(n)?n:r,f=i.right-u.width,p=Math.min(d.left,f),m=d.top-u.height,h=a?a.y:-1/0;m<h&&(m=r.bottom),this.dom.style.left=`${p}px`,this.dom.style.top=`${m}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute(`aria-hidden`,`false`)})}else this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`)};destroy(){document.removeEventListener(`mousedown`,this.mousedown),document.removeEventListener(`mouseup`,this.mouseup),this.view.scrollDOM.removeEventListener(`scroll`,this.scroll),window.removeEventListener(`scroll`,this.windowScroll,!0),this.dom.remove()}}),Ua=R.baseTheme({".cm-ai-tooltip-button":{userSelect:`none`,fontFamily:`system-ui, -apple-system, sans-serif`,position:`fixed`,display:`flex`,boxSizing:`border-box`,padding:`2px 6px`,borderRadius:`4px`,fontSize:`12px`,backgroundColor:`#0E639C`,color:`#ffffff`,border:`1px solid transparent`,boxShadow:`0 2px 4px rgba(0,0,0,0.1)`,zIndex:`999`,transition:`opacity 0.5s`,"&[aria-hidden='true']":{opacity:`0`},"&[aria-hidden='false']":{opacity:`1`},"& > span":{pointerEvents:`auto`,cursor:`pointer`,display:`inline-block`,padding:`2px`},"&:hover":{backgroundColor:`#1177bb`}}});function Wa(){return[Ha,Ua]}var Ga=class extends Wn{oldCode;constructor(e){super(),this.oldCode=e}toDOM(e){let t=B(`div`,`cm-old-code-container`);t.setAttribute(`role`,`region`),t.setAttribute(`aria-label`,`Previous code version`);let n=B(`div`,`cm-old-code cm-line`);n.textContent=this.oldCode;let r=B(`div`,`cm-floating-buttons`),i=e.state.facet(ca),a={...oa,...i.keymaps},o=B(`button`,`cm-floating-button cm-floating-accept`);o.innerHTML=`<span class="hotkey">${wa(a.acceptEdit)}</span> Accept`,o.setAttribute(`aria-label`,`Accept changes`),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),ba(e)});let s=B(`button`,`cm-floating-button cm-floating-reject`);return s.innerHTML=`<span class="hotkey">${wa(a.rejectEdit)}</span> Reject`,s.setAttribute(`aria-label`,`Reject changes`),s.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),xa(e)}),r.append(o,s),t.append(n,r),t}updateDOM(e,t){return!0}},Ka=class extends Wn{complete;abortController=null;dom=null;input=null;loadingContainer=null;helpInfo=null;inputContainer=null;form=null;view=null;constructor(e){super(),this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let t=e.state.field(pa),n=e.state.field(_a),r=B(`div`,`cm-ai-input-container`);this.inputContainer=r,this.dom=r;let i=B(`form`,`cm-ai-input-form`);this.form=i,i.setAttribute(`role`,`search`),i.setAttribute(`aria-label`,`AI editing instructions`),i.addEventListener(`submit`,e=>e.preventDefault());let a=B(`input`,`cm-ai-input`);this.input=a,i.append(a),a.placeholder=`Editing instructions...`,a.setAttribute(`aria-label`,`AI editing instructions`),a.setAttribute(`autocomplete`,`off`),a.setAttribute(`spellcheck`,`true`),a.value=t.inputValue;let o=B(`div`,`cm-ai-loading-container`);this.loadingContainer=o;let s=B(`div`,`cm-ai-loading-indicator`);s.setAttribute(`role`,`status`),s.setAttribute(`aria-live`,`polite`),s.textContent=`Generating`;let c=B(`button`,`cm-ai-cancel-button`);c.textContent=`Cancel`,c.setAttribute(`aria-label`,`Cancel code generation`),c.addEventListener(`click`,this.onCancel),o.append(c,s);let l=B(`div`,`cm-ai-help-info`);this.helpInfo=l;let u=l.appendChild(document.createElement(`button`));u.className=`cm-ai-help-info-button`,u.textContent=`Esc to close`,u.addEventListener(`click`,this.onCancel);let d=B(`button`,`cm-ai-generate-button`);d.textContent=`⏎ Generate`,d.setAttribute(`aria-label`,`Generate code`),d.addEventListener(`click`,this.handleSubmit),this.toggleLoading(n),t.shouldFocus&&requestAnimationFrame(()=>{a.value=t.inputValue,a.focus(),e.dispatch({effects:fa.of(!1)})}),f(a.value),a.addEventListener(`input`,m),a.addEventListener(`keydown`,this.onKeyDown);function f(e){l.replaceChildren(e?d:u)}let p=``;function m(){e.dispatch({effects:da.of(a.value)});let t=a.value.trim();t!==p&&(p=t,f(t))}return r}toggleLoading(e){this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&this.inputContainer?.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo)}onKeyDown=async e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key===`Escape`&&this.onCancel()};onCancel=()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ga.of(!1)]}),e.focus())};handleSubmit=async e=>{let t=this.view;if(!t)return;let n=t.state.facet(ca);e?.stopPropagation();let r=t.state.field(ua),{input:i}=this;if(!i)return;let a=i.value.trim();if(!r.show||!a)return;let o=t.state.doc.line(r.lineFrom),s=t.state.doc.line(r.lineTo),c=o.from,l=s.to,u=t.state.sliceDoc(c,l),d=t.state.sliceDoc(0,c),f=t.state.sliceDoc(l);this.abortController=new AbortController,t.dispatch({effects:ga.of(!0)}),this.toggleLoading(!0);try{let e=await this.complete({prompt:a,selection:u,codeBefore:d,codeAfter:f,editorView:t,signal:this.abortController.signal});if(!t.state.field(ua).show)return;if(!e||typeof e!=`string`)throw Error(`Invalid completion result`);t.dispatch({changes:{from:c,to:l,insert:e},effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ma.of({from:c,to:c+e.length,oldCode:u,newCode:e}),ga.of(!1)]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;n.onError?.(e)}finally{this.cleanup(),this.toggleLoading(!1),t.focus()}};updateDOM(e,t){return this.dom=e,this.input=e.querySelector(`.cm-ai-input`),!0}cleanup(){this.abortController?.abort(),this.abortController=null,this.dom?.remove(),this.input?.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function qa(e){if(!e.prompt)throw Error(`prompt function is required`);let t={...oa,...e.keymaps};return[ca.of(e),ua,pa,ha,_a,Wa(),za,Rn.of([{key:t.showInput,run:ya}]),Zn.highest([Rn.of([{key:t.acceptEdit,run:ba},{key:t.rejectEdit,run:xa}])]),Ja,Ya,Xa,Za]}var Ja=R.updateListener.of(e=>{let t=e.state.field(ua);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,i=!1;e.changes.iterChanges((t,a,o,s)=>{let c=e.state.doc.lineAt(t).number;if(c<n){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;n+=t,r+=t,i=!0}else if(c<=r){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;r+=t,i=!0}}),i&&e.view.dispatch({effects:[la.of({show:!0,lineFrom:n,lineTo:r})]})}),Ya=R.decorations.of(e=>{let t=e.state.field(ha);return t?L.set([L.mark({class:`cm-new-code-line`}).range(t.from,t.to)]):L.none}),Xa=R.decorations.compute([ua],e=>{let t=e.field(ua),n=e.facet(ca),r=[];if(t.show){let i=t.lineFrom,a=t.lineTo;for(let t=i;t<=a;t++){let a=e.doc.line(t).from;r.push(L.line({class:`cm-ai-selection`}).range(a)),t===i&&r.push(L.widget({widget:new Ka(n.prompt),side:-1}).range(a))}}return L.set(r)}),Za=Fn.define({create(e){return L.none},update(e,t){let n=t.state.field(ha);return n?L.set([L.widget({widget:new Ga(n.oldCode),block:!0}).range(n.from)]):L.none},provide:e=>R.decorations.from(e)}),V=Ot(),H=e(u(),1),Qa=()=>({entries:new Map}),{valueAtom:$a,useActions:eo}=mr(Qa,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:i,store:a}=t,o=a.get(be),s=a.get($e),c=new Set(o.cellIds.inOrderIds.filter(e=>o.cellData[e].code.trim()===``)),l=new Map;for(let e of n){if(c.has(e)){l.set(e,{cellId:e,type:`simple`});continue}let t=o.cellRuntime[e],n=new Map;for(let t of Object.values(s)){let r=t.declaredBy.includes(e),i=t.usedBy.some(e=>!c.has(e));r&&i&&n.set(t.name,t.usedBy)}let r;t?.runElapsedTimeMs&&t.runElapsedTimeMs>2e3&&(r=t.runElapsedTimeMs),n.size===0&&r===void 0?l.set(e,{cellId:e,type:`simple`}):l.set(e,{cellId:e,type:`expensive`,executionDurationMs:r,defs:n})}let u=[...l.values()].every(e=>e.type===`simple`);return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):i({cellIds:[...l.values()].map(e=>e.cellId)}),Qa()):{...e,entries:l}},clear:()=>Qa()});function to(){let e=n(),{submit:t,clear:r}=eo(),{entries:a}=i($a),o=si(),s=oi();return(0,H.useMemo)(()=>({submit:n=>{t({cellIds:n,deleteCell:o,deleteManyCells:s,store:e})},clear:r,get idle(){return a.size===0},get shouldConfirmDelete(){return a.size>1}}),[e,t,r,a,o,s])}function no(e){let t=(0,V.c)(16),n=i($a),r=eo(),a=oi(),o;t[0]!==e||t[1]!==n.entries?(o=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=o):o=t[2];let s=o;if(!s){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={isPending:!1},t[3]=e):e=t[3],e}if(n.entries.size!==1){let e;return t[4]===s?e=t[5]:(e={isPending:!0,shouldConfirmDelete:!1,...s},t[4]=s,t[5]=e),e}let c;t[6]!==r||t[7]!==a||t[8]!==n.entries?(c=()=>{a({cellIds:[...n.entries.values()].map(ro)}),r.clear()},t[6]=r,t[7]=a,t[8]=n.entries,t[9]=c):c=t[9];let l;t[10]===r?l=t[11]:(l=()=>r.clear(),t[10]=r,t[11]=l);let u;return t[12]!==s||t[13]!==c||t[14]!==l?(u={isPending:!0,...s,shouldConfirmDelete:!0,confirm:c,cancel:l},t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}function ro(e){return e.cellId}async function io(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error(`Failed to get response body`);let t=null,n=!1;if(await zr({stream:Nr({stream:e.body,schema:Br}).pipeThrough(new TransformStream({transform(e){if(!e.success)throw e.error;let r=e.value;if(Fr(r)&&r.type===Mr)t=Pr.parse(r.data).code;else if(r.type===`error`)throw Error(r.errorText);else r.type===`finish`&&(n=r.finishReason===`stop`)}})),onError:e=>{throw e}}),!n)throw Error(`AI completion ended before final validation`);if(t===null)throw Error(`AI completion returned no cell code`);return t}async function ao(e){let t=`
|
|
4
4
|
${e.codeBefore}
|
|
5
5
|
<rewrite_this>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,l as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{D as i,Hn as a,M as o,P as s,Po as c,Sr as l,yo as u}from"./cells-
|
|
1
|
+
import{c as e,l as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{D as i,Hn as a,M as o,P as s,Po as c,Sr as l,yo as u}from"./cells-BgH2MZS9.js";import{t as d}from"./compiler-runtime-CYIjoINj.js";import{m as f}from"./utils-B-_Wem_I.js";import{g as p}from"./useEventListener-92uWqz-P.js";import{r as m}from"./constants-BDbGiS7O.js";import{T as h,v as g}from"./config-BRRSKtP3.js";import{t as _}from"./cn-ldLVeaqm.js";import{t as v}from"./jsx-runtime-B74pBk57.js";import{r as y}from"./requests-C6_IaFh7.js";import{b}from"./write-secret-modal-GHpJRc36.js";import{n as x}from"./paths-zcL04qUW.js";import{s as S}from"./session-Sz5nSFku.js";var C=d();function w(){return t(u)}function T(){let t=(0,C.c)(5),[i]=e(g),a=r(u),{openAlert:o}=b(),{sendRename:s}=y(),c;return t[0]!==i.state||t[1]!==o||t[2]!==s||t[3]!==a?(c=async e=>{let t=f();return i.state===h.OPEN?(S(t=>{e===null?t.delete(m.filePath):t.set(m.filePath,e)}),s({filename:e}).then(()=>(a(e),document.title=t.app_title||x.basename(e)||`Untitled Notebook`,e)).catch(e=>(o(e.message),null))):(o(`Failed to save notebook: not connected to a kernel.`),null)},t[0]=i.state,t[1]=o,t[2]=s,t[3]=a,t[4]=c):c=t[4],n(c)}var E=v(),D=e=>{let t=(0,C.c)(12),{className:n,cellId:r,variant:c,onClick:l,formatCellName:u,skipScroll:d}=e,f=s()[r]??``,p=o().inOrderIds.indexOf(r),{showCellIfHidden:m}=i(),h=u??j,g;t[0]===n?g=t[1]:(g=_(`inline-block cursor-pointer text-link hover:underline`,n),t[0]=n,t[1]=g);let v;t[2]!==r||t[3]!==l||t[4]!==m||t[5]!==d||t[6]!==c?(v=e=>{if(r===`__scratch__`)return!1;m({cellId:r}),e.stopPropagation(),e.preventDefault(),requestAnimationFrame(()=>{A(r,c,d)&&l?.()})},t[2]=r,t[3]=l,t[4]=m,t[5]=d,t[6]=c,t[7]=v):v=t[7];let y=h(a(f,p)),b;return t[8]!==g||t[9]!==v||t[10]!==y?(b=(0,E.jsx)(`div`,{className:g,role:`link`,tabIndex:-1,onClick:v,children:y}),t[8]=g,t[9]=v,t[10]=y,t[11]=b):b=t[11],b},O=e=>{let t=(0,C.c)(2),n;return t[0]===e?n=t[1]:(n=(0,E.jsx)(D,{...e,variant:`destructive`}),t[0]=e,t[1]=n),n},k=e=>{let t=(0,C.c)(10),{cellId:n,lineNumber:r}=e,i=w(),a;t[0]!==n||t[1]!==r?(a=()=>l(n,r),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=e=>n===`__scratch__`?`scratch`:`marimo://${i||`untitled`}#cell=${e}`,t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==a||t[8]!==o?(s=(0,E.jsx)(D,{cellId:n,onClick:a,skipScroll:!0,variant:`destructive`,className:`traceback-cell-link`,formatCellName:o}),t[6]=n,t[7]=a,t[8]=o,t[9]=s):s=t[9],s};function A(e,t,n){let r=c.create(e),i=document.getElementById(r),a=i?.classList.contains(`has-error`);return i===null?(p.error(`Cell ${r} not found on page.`),!1):(n||i.scrollIntoView({behavior:`smooth`,block:`center`}),(t===`destructive`||a&&t===void 0)&&(i.classList.add(`error-outline`),setTimeout(()=>{i.classList.remove(`error-outline`)},2e3)),(t===`focus`||!a&&t===void 0)&&(i.classList.add(`focus-outline`),setTimeout(()=>{i.classList.remove(`focus-outline`)},2e3)),!0)}function j(e){return e}export{w as a,A as i,O as n,T as o,k as r,D as t};
|