@marimo-team/frontend 0.23.7-dev16 → 0.23.7-dev18
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-CN4mKUXv.js → CellStatus-Cb08qBNj.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-DeBM0cl9.js → ConnectedDataExplorerComponent-BEDxXsa0.js} +1 -1
- package/dist/assets/{ErrorBoundary-DzYV_VeY.js → ErrorBoundary-DyYDV0HI.js} +1 -1
- package/dist/assets/{ImperativeModal-D7lQ0Q7_.js → ImperativeModal-CvOOClOZ.js} +1 -1
- package/dist/assets/{JsonOutput-B0sjIMBK.js → JsonOutput-BqavrgK2.js} +11 -11
- package/dist/assets/{LazyAnyLanguageCodeMirror-pAFdCqyC.js → LazyAnyLanguageCodeMirror-CXbgDeVw.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-ClA7EZGX.js → MarimoErrorOutput-DyaTrW3L.js} +2 -2
- package/dist/assets/{RSPContexts-CINae4Gg.js → RSPContexts-eRifaAal.js} +1 -1
- package/dist/assets/{RenderHTML-CruxVneu.js → RenderHTML-CvnUbELu.js} +1 -1
- package/dist/assets/{RunButton-CJsJsGj-.js → RunButton-Cw4OpYze.js} +1 -1
- package/dist/assets/{add-cell-with-ai-C7f_bUyB.js → add-cell-with-ai-CsUwlDQR.js} +16 -16
- package/dist/assets/{add-connection-dialog-DSOgwTlO.js → add-connection-dialog-B00bTtAj.js} +1 -1
- package/dist/assets/{agent-panel-CeDyKw1_.js → agent-panel-vnhI1dDS.js} +3 -3
- package/dist/assets/{ai-model-dropdown-kQdQhWyz.js → ai-model-dropdown-E3o7Xd1q.js} +4 -4
- package/dist/assets/{alert-dialog-BGBdrcqJ.js → alert-dialog-BqFLkbUc.js} +1 -1
- package/dist/assets/{any-language-editor-CwwS-naY.js → any-language-editor-Bu4hSl-d.js} +1 -1
- package/dist/assets/{app-config-button-dnmk7p6n.js → app-config-button-DTjn2zGb.js} +1 -1
- package/dist/assets/{button-D9nb17Rw.js → button-BbCh-29a.js} +1 -1
- package/dist/assets/{cache-panel-DDJqyuAl.js → cache-panel-VFeeaT52.js} +1 -1
- package/dist/assets/{capabilities-C_FLIcjP.js → capabilities-A_KhFcGV.js} +1 -1
- package/dist/assets/cell-editor-C41pv5M8.js +20 -0
- package/dist/assets/cell-link-sLKimSIQ.js +1 -0
- package/dist/assets/{cells-BBDzmUIS.js → cells-Vnv1zw09.js} +71 -71
- package/dist/assets/{chat-display-Ct3Me0kL.js → chat-display-sbJsmezM.js} +1 -1
- package/dist/assets/{chat-panel-CXvtUFUU.js → chat-panel-DFLJ558d.js} +1 -1
- package/dist/assets/{chat-ui-UFERs8Gx.js → chat-ui-BWV8p_Y-.js} +1 -1
- package/dist/assets/{column-preview-Xuel1zsI.js → column-preview-DYtdLerF.js} +1 -1
- package/dist/assets/{command-CBCkexpx.js → command-OHlV5HHD.js} +1 -1
- package/dist/assets/{command-palette-DuPUk7of.js → command-palette-CvoYeZJD.js} +1 -1
- package/dist/assets/{common-Dk5VdfJt.js → common-BhQv6499.js} +1 -1
- package/dist/assets/{components-CTKNCmC_.js → components-BA-LgiMU.js} +1 -1
- package/dist/assets/{components-DsoH1pO3.js → components-c7ywwQgj.js} +1 -1
- package/dist/assets/{config-CPqw1wUv.js → config-CeTe6Mau.js} +1 -1
- package/dist/assets/{copy-BCF-tANo.js → copy-DqHGjTAN.js} +1 -1
- package/dist/assets/{copy-icon-BYNydU7b.js → copy-icon-8abB4Lgh.js} +1 -1
- package/dist/assets/{createReducer-1ePoj7v6.js → createReducer-CI9qeK_X.js} +1 -1
- package/dist/assets/{datasource-CmTCEk66.js → datasource-BGeucDqU.js} +2 -2
- package/dist/assets/{dates-CAlnO9QB.js → dates-orWokFRU.js} +1 -1
- package/dist/assets/{dependency-graph-panel-0u1-ZaOT.js → dependency-graph-panel-Dm8aJtqe.js} +4 -4
- package/dist/assets/{dialog-Dj0qTFnG.js → dialog-DBzaWZPw.js} +1 -1
- package/dist/assets/{dist-BoOh2kN5.js → dist-BdyjRhEt.js} +1 -1
- package/dist/assets/documentation-panel-BmTIHvGw.js +1 -0
- package/dist/assets/{download-QGh9oR1D.js → download-CHV3J2Ib.js} +4 -4
- package/dist/assets/{dropdown-menu-D1A3cFC8.js → dropdown-menu-CR7cnzLX.js} +1 -1
- package/dist/assets/{edit-page-hJAbnd__.js → edit-page-Dvj9-hG8.js} +6 -6
- package/dist/assets/{error-banner-C10O4l3y.js → error-banner-JKAA0BVv.js} +1 -1
- package/dist/assets/{error-panel-ChlzbfWg.js → error-panel-yG2LOaXm.js} +1 -1
- package/dist/assets/{es-DaYh1PsD.js → es-CaLpD1T5.js} +1 -1
- package/dist/assets/{field-BrLPDxsA.js → field-CD7Io4xo.js} +1 -1
- package/dist/assets/{file-explorer-panel-8dWLD2PY.js → file-explorer-panel-Bsp9TexR.js} +3 -3
- package/dist/assets/{file-icons-Cs4oXsAy.js → file-icons-Cisq31t9.js} +1 -1
- package/dist/assets/{file-name-input-g7pBBCjk.js → file-name-input-Dti85i-l.js} +1 -1
- package/dist/assets/{floating-outline-CFUSr2du.js → floating-outline-CnVsBFJf.js} +1 -1
- package/dist/assets/{focus-J47a1GCq.js → focus-bWAnl_NC.js} +1 -1
- package/dist/assets/{form-CdFqEqTA.js → form-iTIO7T75.js} +2 -2
- package/dist/assets/{formats-Dsc8AdCp.js → formats-D4Sso5bX.js} +1 -1
- package/dist/assets/{formatting-Chn6WhRe.js → formatting-BDxRugYY.js} +1 -1
- package/dist/assets/{fullscreen-BDxedMYP.js → fullscreen-eipL3i3Y.js} +1 -1
- package/dist/assets/{gallery-page-TIWZFnOT.js → gallery-page-DDCU0YEU.js} +1 -1
- package/dist/assets/{glide-data-editor-ChlIFl33.js → glide-data-editor-BELaKoS9.js} +1 -1
- package/dist/assets/{globals-DUw71mRV.js → globals-B64vMQ0L.js} +1 -1
- package/dist/assets/{home-page-HhJfA35e.js → home-page-CSSZCATB.js} +1 -1
- package/dist/assets/{hooks-DbPDczTe.js → hooks-CxyxjDM-.js} +1 -1
- package/dist/assets/{html-to-image-CAiN3VHj.js → html-to-image-WbbYaIba.js} +2 -2
- package/dist/assets/{index-BbBhLC0d.css → index-BcFmKehD.css} +1 -1
- package/dist/assets/{index-DLZItUgg.js → index-BmG6rFrZ.js} +7 -7
- package/dist/assets/{input-BX98vgAu.js → input-DW6LU13i.js} +1 -1
- package/dist/assets/kiosk-mode-DPxzN-M0.js +1 -0
- package/dist/assets/{label-DTR8T0AE.js → label-xHqFtfdz.js} +1 -1
- package/dist/assets/{layout-C1dvirgi.js → layout-B3ilKFRj.js} +5 -5
- package/dist/assets/{links-BhX7oUFH.js → links-Bi_gi3iZ.js} +1 -1
- package/dist/assets/{logs-panel-B2tW94um.js → logs-panel-7jkC5Vwq.js} +1 -1
- package/dist/assets/{maps-C48Oksn0.js → maps-BS8Ra-JU.js} +1 -1
- package/dist/assets/{markdown-renderer-CVd_mMPt.js → markdown-renderer-CXVa5ubo.js} +2 -2
- package/dist/assets/{menu-items-CwUpDHG7.js → menu-items-DcP01QzW.js} +1 -1
- package/dist/assets/{mermaid-ByDNZESx.js → mermaid-B6II7_1_.js} +1 -1
- package/dist/assets/{multi-map-rafH3cg3.js → multi-map-CUuNtzHt.js} +1 -1
- package/dist/assets/{name-cell-input-DDQOQSsh.js → name-cell-input-DP5q5hou.js} +1 -1
- package/dist/assets/{numbers-CAW8yjzj.js → numbers-etj36G80.js} +1 -1
- package/dist/assets/{outline-panel-BuTQis3o.js → outline-panel-CAMKZApa.js} +1 -1
- package/dist/assets/{packages-panel-CVu8Cpkz.js → packages-panel-BqWdwyLN.js} +1 -1
- package/dist/assets/{panels-Z5fVmDRY.js → panels-BaOloRiT.js} +1 -1
- package/dist/assets/{popover-UExmgBsf.js → popover-Bz_0Vkyf.js} +1 -1
- package/dist/assets/process-output-3R47GJ28.js +1 -0
- package/dist/assets/{radio-group-CpHTexlq.js → radio-group-BdIsm_qJ.js} +1 -1
- package/dist/assets/{readonly-python-code-DOXF2p8K.js → readonly-python-code-Dz8x4isw.js} +1 -1
- package/dist/assets/{renderShortcut-Bfk4NjRL.js → renderShortcut-D_8sQXCD.js} +1 -1
- package/dist/assets/{reveal-component-DLRiYfBj.js → reveal-component-BomJwrt3.js} +2 -2
- package/dist/assets/{run-page-DBSf1bOm.js → run-page-DOVpxgC2.js} +1 -1
- package/dist/assets/{runs-DRld30N_.js → runs-D87fZMlB.js} +1 -1
- package/dist/assets/scratchpad-panel-CK721GBB.js +1 -0
- package/dist/assets/{secrets-panel-B8CbRNMo.js → secrets-panel-DgXG36fa.js} +1 -1
- package/dist/assets/{select-5i7URBEn.js → select-DZcFyKFQ.js} +1 -1
- package/dist/assets/{session-VtovaFBS.js → session-gB-8RZAq.js} +1 -1
- package/dist/assets/{session-panel-DHfR6tDv.js → session-panel-_DOPOxmi.js} +1 -1
- package/dist/assets/{share-CqnSBwZy.js → share-DdpVbvDN.js} +1 -1
- package/dist/assets/{snippets-panel-CGs_ME5h.js → snippets-panel-CtEyZp6T.js} +1 -1
- package/dist/assets/{spec-Cq8FVoTf.js → spec-ByOlaO3e.js} +1 -1
- package/dist/assets/{state-B34hXjp9.js → state-BNbY1nER.js} +1 -1
- package/dist/assets/{state-BV_qjCwT.js → state-BmNumiqM.js} +1 -1
- package/dist/assets/{state-xEqF8Q3P.js → state-CZ60VH86.js} +3 -3
- package/dist/assets/{state-DzJiyfWW.js → state-DujssAPg.js} +1 -1
- package/dist/assets/{strings-md4mFbOQ.js → strings-wdPMRf6Z.js} +1 -1
- package/dist/assets/{swiper-component-CBSZ9l9W.js → swiper-component-B1e0X8Wt.js} +1 -1
- package/dist/assets/{switch-BvybnC9P.js → switch-BT9Ki10B.js} +1 -1
- package/dist/assets/{terminal-bb566dQu.js → terminal-G4Y2HQik.js} +1 -1
- package/dist/assets/{textarea-bAp21zYj.js → textarea-CUCKX5FP.js} +1 -1
- package/dist/assets/{tooltip-Gcwqb_SK.js → tooltip-DTV9tlSr.js} +1 -1
- package/dist/assets/{tracing-HakOQiQR.js → tracing-B84tRfOs.js} +1 -1
- package/dist/assets/{tracing-panel-eas_Nc-b.js → tracing-panel-Cv--myyS.js} +2 -2
- package/dist/assets/{tree-actions-Ci3CV3hN.js → tree-actions-Bzr5XDGx.js} +1 -1
- package/dist/assets/{useBoolean-xXcxYCaI.js → useBoolean-BYUGB06y.js} +1 -1
- package/dist/assets/useCellActionButton-Mkc0xJ7L.js +1 -0
- package/dist/assets/{useDeleteCell-GFhvGBJ7.js → useDeleteCell-C67FKMcv.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DHd7_0b9.js → useDependencyPanelTab-BdgKnqQ5.js} +1 -1
- package/dist/assets/{useEventListener-BR0C1MaI.js → useEventListener-DvoEXWke.js} +1 -1
- package/dist/assets/{useHotkey-DccKPSPx.js → useHotkey-3DXVR1KZ.js} +1 -1
- package/dist/assets/{useIframeCapabilities-BvE4n6hj.js → useIframeCapabilities-BfimgBBe.js} +1 -1
- package/dist/assets/{useInstallPackage-D0NLybAx.js → useInstallPackage-CScpUItd.js} +1 -1
- package/dist/assets/{useInterval-CvFz96h2.js → useInterval-CAy_JAzY.js} +1 -1
- package/dist/assets/useNotebookActions-C_PqW3GC.js +1 -0
- package/dist/assets/useRunCells-C991pS4a.js +1 -0
- package/dist/assets/useSplitCell-FJGXiUyn.js +1 -0
- package/dist/assets/{useTheme-DFXuDFj9.js → useTheme-DyLIIrGi.js} +1 -1
- package/dist/assets/{utils-CGtUbqcR.js → utils-441jgnV8.js} +1 -1
- package/dist/assets/{utils-BrXijSdZ.js → utils-Wvjk_Y4h.js} +1 -1
- package/dist/assets/{vega-component-Bq0lrkG7.js → vega-component-2S2ePGs4.js} +1 -1
- package/dist/assets/{write-secret-modal-D8Sww7eA.js → write-secret-modal-BcEaI0rD.js} +1 -1
- package/dist/index.html +68 -68
- package/package.json +1 -1
- package/src/components/editor/actions/useNotebookActions.tsx +3 -1
- package/src/components/editor/controls/Controls.tsx +3 -1
- package/src/components/editor/navigation/__tests__/clipboard.test.ts +107 -0
- package/src/components/editor/navigation/__tests__/navigation.test.ts +70 -0
- package/src/components/editor/navigation/clipboard.ts +101 -23
- package/src/components/editor/navigation/navigation.ts +15 -1
- package/src/components/editor/notebook-cell.tsx +3 -0
- package/src/core/cells/__tests__/cells.test.ts +187 -0
- package/src/core/cells/__tests__/pending-cut-service.test.tsx +145 -0
- package/src/core/cells/cells.ts +102 -17
- package/src/core/cells/document-changes.ts +6 -1
- package/src/core/cells/pending-cut-service.ts +64 -0
- package/src/core/cells/utils.ts +11 -0
- package/src/core/codemirror/cells/extensions.ts +10 -0
- package/src/core/hotkeys/hotkeys.ts +5 -0
- package/src/css/app/Cell.css +13 -0
- package/src/utils/__tests__/id-tree.test.ts +71 -0
- package/src/utils/id-tree.tsx +89 -0
- package/dist/assets/cell-editor-BN3D1_w1.js +0 -22
- package/dist/assets/cell-link-DqiCeeeS.js +0 -1
- package/dist/assets/documentation-panel-CcE7aGO9.js +0 -1
- package/dist/assets/kiosk-mode-Cr9yyT7A.js +0 -1
- package/dist/assets/process-output-DSqjZYr-.js +0 -1
- package/dist/assets/scratchpad-panel-CUMSD7sH.js +0 -1
- package/dist/assets/useCellActionButton-CHLJURZ7.js +0 -1
- package/dist/assets/useNotebookActions-CZ7s2FNR.js +0 -1
- package/dist/assets/useRunCells-RJeImyCn.js +0 -1
- package/dist/assets/useSplitCell-BRZ3fmLD.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as E}from"./chunk-LvLJmgfZ.js";import{t as $e}from"./react-Bj1aDYRI.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{i as ke,o as N,r as Te}from"./useEventListener-
|
|
1
|
+
import{s as E}from"./chunk-LvLJmgfZ.js";import{t as $e}from"./react-Bj1aDYRI.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{i as ke,o as N,r as Te}from"./useEventListener-DvoEXWke.js";import{t as p}from"./cn-DCUzRj2J.js";import{t as ze}from"./jsx-runtime-BqBOg78p.js";import{C as h,S as M,_ as R,a as Be,b as v,d as He,g as b,l as We,n as qe,o as Ke,p as Le,s as Ue,u as Ve,v as Ye,x as Ze}from"./fullscreen-eipL3i3Y.js";import{n as w}from"./button-BbCh-29a.js";var i=E($e(),1),l=E(ze(),1),j="Dialog",[S,$]=M(j),[Ge,f]=S(j),k=t=>{let{__scopeDialog:r,children:e,open:a,defaultOpen:o,onOpenChange:n,modal:s=!0}=t,c=i.useRef(null),d=i.useRef(null),[u,x]=Ye({prop:a,defaultProp:o??!1,onChange:n,caller:j});return(0,l.jsx)(Ge,{scope:r,triggerRef:c,contentRef:d,contentId:b(),titleId:b(),descriptionId:b(),open:u,onOpenChange:x,onOpenToggle:i.useCallback(()=>x(Se=>!Se),[x]),modal:s,children:e})};k.displayName=j;var T="DialogTrigger",z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(T,e),n=N(r,o.triggerRef);return(0,l.jsx)(h.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":O(o.open),...a,ref:n,onClick:v(t.onClick,o.onOpenToggle)})});z.displayName=T;var A="DialogPortal",[Je,B]=S(A,{forceMount:void 0}),H=t=>{let{__scopeDialog:r,forceMount:e,children:a,container:o}=t,n=f(A,r);return(0,l.jsx)(Je,{scope:r,forceMount:e,children:i.Children.map(a,s=>(0,l.jsx)(R,{present:e||n.open,children:(0,l.jsx)(Ve,{asChild:!0,container:o,children:s})}))})};H.displayName=A;var _="DialogOverlay",W=i.forwardRef((t,r)=>{let e=B(_,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(_,t.__scopeDialog);return n.modal?(0,l.jsx)(R,{present:a||n.open,children:(0,l.jsx)(Xe,{...o,ref:r})}):null});W.displayName=_;var Qe=Te("DialogOverlay.RemoveScroll"),Xe=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(_,e);return(0,l.jsx)(Ue,{as:Qe,allowPinchZoom:!0,shards:[o.contentRef],children:(0,l.jsx)(h.div,{"data-state":O(o.open),...a,ref:r,style:{pointerEvents:"auto",...a.style}})})}),y="DialogContent",q=i.forwardRef((t,r)=>{let e=B(y,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(y,t.__scopeDialog);return(0,l.jsx)(R,{present:a||n.open,children:n.modal?(0,l.jsx)(er,{...o,ref:r}):(0,l.jsx)(rr,{...o,ref:r})})});q.displayName=y;var er=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(null),o=N(r,e.contentRef,a);return i.useEffect(()=>{let n=a.current;if(n)return Ke(n)},[]),(0,l.jsx)(K,{...t,ref:o,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:v(t.onCloseAutoFocus,n=>{var s;n.preventDefault(),(s=e.triggerRef.current)==null||s.focus()}),onPointerDownOutside:v(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,c=s.button===0&&s.ctrlKey===!0;(s.button===2||c)&&n.preventDefault()}),onFocusOutside:v(t.onFocusOutside,n=>n.preventDefault())})}),rr=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(!1),o=i.useRef(!1);return(0,l.jsx)(K,{...t,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var s,c;(s=t.onCloseAutoFocus)==null||s.call(t,n),n.defaultPrevented||(a.current||((c=e.triggerRef.current)==null||c.focus()),n.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:n=>{var c,d;(c=t.onInteractOutside)==null||c.call(t,n),n.defaultPrevented||(a.current=!0,n.detail.originalEvent.type==="pointerdown"&&(o.current=!0));let s=n.target;(d=e.triggerRef.current)!=null&&d.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&o.current&&n.preventDefault()}})}),K=i.forwardRef((t,r)=>{let{__scopeDialog:e,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:n,...s}=t,c=f(y,e),d=i.useRef(null),u=N(r,d);return We(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(He,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:n,children:(0,l.jsx)(Le,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":O(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ar,{titleId:c.titleId}),(0,l.jsx)(nr,{contentRef:d,descriptionId:c.descriptionId})]})]})}),C="DialogTitle",L=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(C,e);return(0,l.jsx)(h.h2,{id:o.titleId,...a,ref:r})});L.displayName=C;var U="DialogDescription",V=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(U,e);return(0,l.jsx)(h.p,{id:o.descriptionId,...a,ref:r})});V.displayName=U;var Y="DialogClose",Z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(Y,e);return(0,l.jsx)(h.button,{type:"button",...a,ref:r,onClick:v(t.onClick,()=>o.onOpenChange(!1))})});Z.displayName=Y;function O(t){return t?"open":"closed"}var G="DialogTitleWarning",[tr,J]=Ze(G,{contentName:y,titleName:C,docsSlug:"dialog"}),ar=({titleId:t})=>{let r=J(G),e=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-
|
|
1
|
+
import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-DvoEXWke.js";import{t as g}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-eipL3i3Y.js";import"./dist-BrR4M-k3.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import{t as h}from"./copy-icon-8abB4Lgh.js";import{n as c}from"./error-banner-JKAA0BVv.js";import{t as x}from"./esm-BmrwxxCo.js";import"./dist-D_yqofzt.js";import"./dist-DdITFgCr.js";import"./dist-B847wb8t.js";import"./dist-Bu99ARwH.js";import"./dist-CQG39nVX.js";import"./dist-1sgFrolC.js";import"./dist-GYoBJCzF.js";import"./dist-BjkXqMhR.js";import"./dist-Bxj5sO2I.js";import{n as v,t as p}from"./esm-DN_A77ya.js";var j=a(d(),1),o=a(g(),1);const e={python:"py",python3:"py",javascript:"js",typescript:"ts",shell:"sh",bash:"sh",unknown:"text",undefined:"text"};function m(t){return t?t in p:!1}var y=({language:t,hideUnsupportedLanguageErrors:n,showCopyButton:u,extensions:r=[],...s})=>{t=e[t||""]||t;let i=m(t);i||f.warn(`Language ${t} not found in CodeMirror.`);let l=(0,j.useMemo)(()=>m(t)?[v(t),...r].filter(Boolean):r,[t,r]);return(0,o.jsxs)("div",{className:"relative w-full group hover-actions-parent",children:[!i&&!n&&(0,o.jsx)(c,{className:"mb-1 rounded-sm",error:`Language ${t} not supported. Supported languages are: ${Object.keys(p).join(", ")}`}),u&&i&&(0,o.jsx)(h,{tooltip:!1,buttonClassName:"absolute top-2 right-2 z-10 hover-action",className:"h-4 w-4 text-muted-foreground",value:s.value||"",toastTitle:"Copied to clipboard"}),(0,o.jsx)(x,{...s,extensions:l})]})};export{e as LANGUAGE_MAP,y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{zt as I}from"./cells-BBDzmUIS.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-kQdQhWyz.js";import{C as oe,v as ne,w as Q}from"./utils-BrXijSdZ.js";import{T as re}from"./config-CPqw1wUv.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BGBdrcqJ.js";import{i as de,r as he,t as me}from"./popover-UExmgBsf.js";import{l as R}from"./select-5i7URBEn.js";import{t as U}from"./tooltip-Gcwqb_SK.js";import{t as xe}from"./button-D9nb17Rw.js";import{s as B}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as z}from"./input-BX98vgAu.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-bAp21zYj.js";import{t as ge}from"./use-toast-T0_cQDma.js";import{i as be}from"./RSPContexts-CINae4Gg.js";import{n as we}from"./useDebounce-CLMpJfhX.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-Dj0qTFnG.js";import{n as ke}from"./ImperativeModal-D7lQ0Q7_.js";import{t as D}from"./kbd-B3Breaz2.js";import{t as _e}from"./links-Dpap8NI2.js";import{t as G}from"./Inputs-NeZ9OMUu.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=W(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(),O=W(Z(),1),Le=100;const Pe=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=Y(),r=(0,O.useId)(),i=(0,O.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,O.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:ze}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:De})]}),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:We})}),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)(D,{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)(z,{...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 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,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(z,{...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 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:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(z,{...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)(D,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function Oe(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function We(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(Oe)})}),(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)(D,{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)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let 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{Bt as I}from"./cells-Vnv1zw09.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-E3o7Xd1q.js";import{C as oe,v as ne,w as B}from"./utils-Wvjk_Y4h.js";import{T as re}from"./config-CeTe6Mau.js";import{t as ie}from"./jsx-runtime-BqBOg78p.js";import{o as ce}from"./alert-dialog-BqFLkbUc.js";import{i as de,r as he,t as me}from"./popover-Bz_0Vkyf.js";import{l as Q}from"./select-DZcFyKFQ.js";import{t as R}from"./tooltip-DTV9tlSr.js";import{t as xe}from"./button-BbCh-29a.js";import{s as U}from"./arrays-DYDL-3-i.js";import{r as Y}from"./requests-DIwGYs0l.js";import{t as pe}from"./createLucideIcon-D5guW7EU.js";import{t as fe}from"./x-C-6liIBr.js";import{r as D}from"./input-DW6LU13i.js";import{t as K}from"./settings-DfFe0dWD.js";import{a as M,c as A,d as L,g as ue,i as je,l as P,o as q,p as ve,u as S}from"./textarea-CUCKX5FP.js";import{t as ge}from"./use-toast-T0_cQDma.js";import{i as be}from"./RSPContexts-eRifaAal.js";import{n as we}from"./useDebounce-CLMpJfhX.js";import{c as ye,l as Ne,n as Ce,t as V}from"./dialog-DBzaWZPw.js";import{n as ke}from"./ImperativeModal-CvOOClOZ.js";import{t as O}from"./kbd-B3Breaz2.js";import{t as _e}from"./links-Dpap8NI2.js";import{t as G}from"./Inputs-NeZ9OMUu.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=Y(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(R,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const 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=we(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(U(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(U(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(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)(Q,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(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),B.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),B.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)(Q,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(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 Be=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(K,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(R,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let 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:Qe,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(V,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Qe(t){return t.preventDefault()}export{Me as n,Se as r,Be as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as p}from"./chunk-LvLJmgfZ.js";import{t as E}from"./react-Bj1aDYRI.js";import{t as M}from"./compiler-runtime-B3qBwwSJ.js";import{h as N,n as C,t as K}from"./useEventListener-
|
|
1
|
+
import{s as p}from"./chunk-LvLJmgfZ.js";import{t as E}from"./react-Bj1aDYRI.js";import{t as M}from"./compiler-runtime-B3qBwwSJ.js";import{h as N,n as C,t as K}from"./useEventListener-DvoEXWke.js";import{n as P,t as o}from"./cn-DCUzRj2J.js";import{t as I}from"./jsx-runtime-BqBOg78p.js";const n={stopPropagation:e=>r=>{r.stopPropagation(),e&&e(r)},onEnter:e=>r=>{r.key==="Enter"&&e&&e(r)},preventFocus:e=>{e.preventDefault()},fromInput:e=>{let r=n.composedTarget(e);return r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName.startsWith("MARIMO")||r.isContentEditable||n.fromCodeMirror(r)},fromCodeMirror:e=>e.closest(".cm-editor")!==null,shouldIgnoreKeyboardEvent(e){let r=n.composedTarget(e);return r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement||r instanceof HTMLElement&&(r.isContentEditable||r.tagName==="BUTTON"||r.closest("[role='textbox']")!==null||r.closest("[contenteditable='true']")!==null||n.fromCodeMirror(r))},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};var H=M(),f=p(E(),1),S=p(I(),1),a="active:shadow-none",x=P(o("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"),{variants:{variant:{default:o("bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs border border-primary",a),destructive:o("border shadow-xs","bg-(--red-9) hover:bg-(--red-10) dark:bg-(--red-6) dark:hover:bg-(--red-7)","text-(--red-1) dark:text-(--red-12)","border-(--red-11)",a),success:o("border shadow-xs","bg-(--grass-9) hover:bg-(--grass-10) dark:bg-(--grass-6) dark:hover:bg-(--grass-7)","text-(--grass-1) dark:text-(--grass-12)","border-(--grass-11)",a),warn:o("border shadow-xs","bg-(--yellow-9) hover:bg-(--yellow-10) dark:bg-(--yellow-6) dark:hover:bg-(--yellow-7)","text-(--yellow-12)","border-(--yellow-11)",a),action:o("bg-action text-action-foreground shadow-xs","hover:bg-action-hover border border-action",a),outline:o("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",a),secondary:o("bg-secondary text-secondary-foreground hover:bg-secondary/80","border border-input shadow-xs",a),text:o("opacity-80 hover:opacity-100","active:opacity-100"),ghost:o("border border-transparent","hover:bg-accent hover:text-accent-foreground hover:shadow-xs",a,"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"}}),y=f.forwardRef((e,r)=>{let t=(0,H.c)(7),{className:v,variant:w,size:k,asChild:h,keyboardShortcut:i,...l}=e,T=h===void 0?!1:h,s=f.useRef(null),c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c=()=>s.current,t[0]=c):c=t[0],f.useImperativeHandle(r,c);let u;t[1]===i?u=t[2]:(u=d=>{!i||d.defaultPrevented||n.shouldIgnoreKeyboardEvent(d)||N(i)(d)&&(d.preventDefault(),d.stopPropagation(),s!=null&&s.current&&!s.current.disabled&&s.current.click())},t[1]=i,t[2]=u),K(document,"keydown",u);let m=T?C:"button",g=o(x({variant:w,size:k,className:v,disabled:l.disabled}),v),b;return t[3]!==m||t[4]!==l||t[5]!==g?(b=(0,S.jsx)(m,{className:g,ref:s,...l}),t[3]=m,t[4]=l,t[5]=g,t[6]=b):b=t[6],b});y.displayName="Button";export{x as n,n as r,y as t};
|
|
@@ -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-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-
|
|
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-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-eipL3i3Y.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-BqFLkbUc.js";import{t as z}from"./button-BbCh-29a.js";import{r as Z}from"./requests-DIwGYs0l.js";import{t as E}from"./database-zap-kIkTfzTX.js";import{t as _}from"./spinner-Bhir8k53.js";import{t as $}from"./refresh-cw-DHwG4Mac.js";import{t as ee}from"./trash-2-CKlZA04n.js";import{t as A}from"./use-toast-T0_cQDma.js";import{t as se}from"./context-B3MsQb-b.js";import{r as T}from"./numbers-etj36G80.js";import{n as te}from"./useAsyncData-BFC6lWG9.js";import{t as I}from"./empty-state-vCWg-_A9.js";import{t as ae}from"./requests-QKoDeQkn.js";import{n as ie,t as L}from"./formatting-BDxRugYY.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-
|
|
1
|
+
import{_ as a}from"./useEventListener-DvoEXWke.js";import{n as l}from"./once-DRroIaBz.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};
|