@marimo-team/frontend 0.22.1-dev34 → 0.22.1-dev39
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-DKyVv7Zj.js → CellStatus-Cf0Jlrcs.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BUc9LHJJ.js → ConnectedDataExplorerComponent-DUxaLoL7.js} +1 -1
- package/dist/assets/{JsonOutput-D1i8P1dG.js → JsonOutput-IpD2GLtO.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-RmM7djc-.js → MarimoErrorOutput-dTNCLY-Q.js} +1 -1
- package/dist/assets/{Plot-C7NE7pEx.js → Plot-BAM1jEAz.js} +72 -72
- package/dist/assets/{RenderHTML-Bmn77an6.js → RenderHTML-C5GEp4ca.js} +1 -1
- package/dist/assets/{add-cell-with-ai-RyZ9Xe2b.js → add-cell-with-ai-C0J3LyiV.js} +1 -1
- package/dist/assets/{add-connection-dialog-ogwy8tvS.js → add-connection-dialog-C42PDYI7.js} +1 -1
- package/dist/assets/{agent-panel-BHLkHj7k.js → agent-panel-CH-jHjEl.js} +1 -1
- package/dist/assets/{ai-model-dropdown-Dnf-CxbP.js → ai-model-dropdown-D14GiszF.js} +1 -1
- package/dist/assets/{app-config-button-D1Z_xsvC.js → app-config-button-v-557oRb.js} +1 -1
- package/dist/assets/{cell-editor-_GDTh-4a.js → cell-editor-Dd6UaL1A.js} +2 -2
- package/dist/assets/{cell-link-D4UrIH9w.js → cell-link-Cimoe3Fv.js} +1 -1
- package/dist/assets/{cells-ArUhhHls.js → cells-CcsG9Aum.js} +1 -1
- package/dist/assets/{chat-display-YmFjOXkV.js → chat-display-hfpeXiYe.js} +1 -1
- package/dist/assets/{chat-panel-B76rxYTh.js → chat-panel-DxT370nA.js} +1 -1
- package/dist/assets/{chat-ui-BitNq1z6.js → chat-ui-Dv4y0-td.js} +1 -1
- package/dist/assets/{column-preview-NDhbeu0E.js → column-preview-ZSErTRFA.js} +1 -1
- package/dist/assets/{command-palette-uJxkhle4.js → command-palette-CjF_cblG.js} +1 -1
- package/dist/assets/{common-CRBlPqv5.js → common-BZK7spst.js} +1 -1
- package/dist/assets/{components-DwGcJvMB.js → components-D2OlyENc.js} +1 -1
- package/dist/assets/{components-BfHGr__b.js → components-DpxyscxU.js} +1 -1
- package/dist/assets/{datasource-D9e37ifa.js → datasource-D9nfSxKS.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BBmN-Vc7.js → dependency-graph-panel-5MbMtFss.js} +1 -1
- package/dist/assets/{documentation-panel-Dm2xtsTq.js → documentation-panel-DPdXS3YO.js} +1 -1
- package/dist/assets/{download-7EtMZf2Y.js → download-BFQaUFKI.js} +1 -1
- package/dist/assets/{edit-page-Cr_DnrkM.js → edit-page-CMd8_Psc.js} +4 -4
- package/dist/assets/{error-panel-C3-vTzaH.js → error-panel-DV8jpRsf.js} +1 -1
- package/dist/assets/{file-explorer-panel-g9KppC7Y.js → file-explorer-panel-Dr_ZNDk3.js} +1 -1
- package/dist/assets/{file-icons-JXAG6vK-.js → file-icons-DSJsG_mI.js} +1 -1
- package/dist/assets/{floating-outline-B6Qyid7Q.js → floating-outline-Cfa1ESSb.js} +1 -1
- package/dist/assets/{focus-DCN0oEe0.js → focus-C5u0JQUq.js} +1 -1
- package/dist/assets/{form-BVnQnVQ2.js → form-3ZUGKch9.js} +1 -1
- package/dist/assets/glide-data-editor-a3qLDl-r.js +132 -0
- package/dist/assets/{home-page-Bg02jazh.js → home-page-BrqppCUS.js} +1 -1
- package/dist/assets/{hooks-zQJ9iU_R.js → hooks-CHE17GG1.js} +1 -1
- package/dist/assets/{html-to-image-C5XSE7QT.js → html-to-image-BRbQwG7G.js} +1 -1
- package/dist/assets/{index-BaQAJwyb.css → index-BkdonYlq.css} +1 -1
- package/dist/assets/index-Bt8G6SSE.js +42 -0
- package/dist/assets/{kiosk-mode-CriCUOI1.js → kiosk-mode-Cu86-jaD.js} +1 -1
- package/dist/assets/{layout-Cudicm29.js → layout-B-lTkLKA.js} +1 -1
- package/dist/assets/{logs-panel-CoWO9c8s.js → logs-panel-CNVgwoHO.js} +1 -1
- package/dist/assets/{markdown-renderer-CyUc0f8D.js → markdown-renderer-B91NzmVT.js} +1 -1
- package/dist/assets/{name-cell-input-DeM6upjB.js → name-cell-input-hsV_b1Op.js} +1 -1
- package/dist/assets/{outline-panel-C4P3wA7Z.js → outline-panel-C3jvSnZF.js} +1 -1
- package/dist/assets/{packages-panel-DnrjjQDF.js → packages-panel-0_Z5vM7i.js} +1 -1
- package/dist/assets/{panels-BCRqI88j.js → panels-uc8QhzpO.js} +1 -1
- package/dist/assets/{process-output-e_aMblRk.js → process-output-CsvKn_Mr.js} +1 -1
- package/dist/assets/{readonly-python-code-CVgh88Tn.js → readonly-python-code-oFCRG7Wt.js} +1 -1
- package/dist/assets/{run-page-C-ySBXLo.js → run-page-DKCqiq_f.js} +1 -1
- package/dist/assets/{scratchpad-panel-C5Pogi1P.js → scratchpad-panel-ChHLgDv_.js} +1 -1
- package/dist/assets/{session-panel-DEsnZWks.js → session-panel-CPKKt31q.js} +1 -1
- package/dist/assets/{snippets-panel-DQgE3W8I.js → snippets-panel-CDqEDwpY.js} +1 -1
- package/dist/assets/{spec-CBbUxOvL.js → spec-CFx2bitO.js} +1 -1
- package/dist/assets/{state-pGNeffyB.js → state-BBVlYaRC.js} +1 -1
- package/dist/assets/{state-CV8Wy3e4.js → state-C93JW11U.js} +1 -1
- package/dist/assets/{textarea-DqzNK0s9.js → textarea-DJEKmYtw.js} +1 -1
- package/dist/assets/{tracing-BUFVOmZw.js → tracing-CLWi5jD3.js} +1 -1
- package/dist/assets/{tracing-panel-BsLloPWd.js → tracing-panel-ksnvVrMH.js} +2 -2
- package/dist/assets/{useAddCell-cC7JUC0q.js → useAddCell-mJ1PkF-E.js} +1 -1
- package/dist/assets/{useCellActionButton-BiYBXHfb.js → useCellActionButton-4HWj1rt3.js} +1 -1
- package/dist/assets/{useDeleteCell-D2p4Dz0U.js → useDeleteCell-B0OAS0ly.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-c5-eXlcr.js → useDependencyPanelTab-BuZ0fgAR.js} +1 -1
- package/dist/assets/useLifecycle-N3bfh_O1.js +1 -0
- package/dist/assets/useNotebookActions-DuHUqtII.js +1 -0
- package/dist/assets/{useRunCells-DgBY-vh9.js → useRunCells-Du76UV1R.js} +1 -1
- package/dist/assets/{useSplitCell-SS0kKwVk.js → useSplitCell-CeL7eJq1.js} +1 -1
- package/dist/index.html +25 -25
- package/package.json +1 -1
- package/src/__mocks__/common.ts +4 -4
- package/src/components/chat/acp/agent-panel.tsx +2 -2
- package/src/components/data-table/__tests__/columns.test.tsx +7 -7
- package/src/components/data-table/cell-hover-template/types.ts +1 -1
- package/src/components/data-table/cell-hover-text/types.ts +1 -1
- package/src/components/data-table/cell-selection/__tests__/feature.test.ts +1 -1
- package/src/components/data-table/cell-selection/types.ts +1 -1
- package/src/components/data-table/cell-styling/types.ts +1 -1
- package/src/components/data-table/charts/chart-spec/altair-generator.ts +2 -2
- package/src/components/data-table/column-formatting/types.ts +2 -2
- package/src/components/data-table/column-summary/legacy-chart-spec.ts +1 -1
- package/src/components/data-table/column-wrapping/types.ts +1 -1
- package/src/components/data-table/copy-column/types.ts +1 -1
- package/src/components/data-table/data-table.tsx +12 -12
- package/src/components/data-table/focus-row/types.ts +1 -1
- package/src/components/data-table/loading-table.tsx +1 -1
- package/src/components/data-table/range-focus/__tests__/atoms.test.ts +2 -2
- package/src/components/data-table/range-focus/atoms.ts +2 -2
- package/src/components/dependency-graph/dependency-graph-tree.tsx +1 -1
- package/src/components/editor/__tests__/dynamic-favicon.test.tsx +1 -1
- package/src/components/editor/actions/pair-with-agent-modal.tsx +142 -0
- package/src/components/editor/actions/useNotebookActions.tsx +10 -0
- package/src/components/editor/ai/ai-completion-editor.tsx +1 -1
- package/src/components/editor/app-container.tsx +1 -1
- package/src/components/editor/chrome/panels/empty-state.tsx +1 -0
- package/src/components/editor/controls/keyboard-shortcuts.tsx +1 -1
- package/src/components/editor/navigation/__tests__/navigation.test.ts +1 -1
- package/src/components/editor/navigation/navigation.ts +1 -1
- package/src/components/editor/notebook-cell.tsx +1 -1
- package/src/components/editor/output/JsonOutput.tsx +4 -4
- package/src/components/editor/output/ansi-reduce.ts +2 -2
- package/src/components/editor/output/console/ConsoleOutput.tsx +1 -1
- package/src/components/editor/renderers/cells-renderer.tsx +1 -1
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +1 -1
- package/src/components/editor/renderers/plugins.ts +1 -1
- package/src/components/editor/renderers/slides-layout/types.ts +2 -2
- package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +2 -2
- package/src/components/editor/renderers/vertical-layout/__tests__/vertical-layout.test.ts +1 -1
- package/src/components/find-replace/find-replace.tsx +3 -1
- package/src/components/forms/form.tsx +1 -1
- package/src/components/forms/options.ts +1 -1
- package/src/components/static-html/static-banner.tsx +2 -2
- package/src/components/terminal/terminal.tsx +4 -4
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/command.tsx +1 -1
- package/src/core/ai/context/providers/__tests__/datasource.test.ts +1 -1
- package/src/core/ai/context/providers/__tests__/error.test.ts +1 -1
- package/src/core/ai/context/providers/__tests__/variable.test.ts +1 -1
- package/src/core/ai/context/registry.ts +2 -2
- package/src/core/ai/tools/registry.ts +1 -1
- package/src/core/cells/__tests__/cells.test.ts +2 -2
- package/src/core/cells/__tests__/scrollCellIntoView.test.ts +1 -1
- package/src/core/cells/__tests__/session.test.ts +1 -1
- package/src/core/cells/__tests__/utils.test.ts +1 -1
- package/src/core/cells/cells.ts +1 -1
- package/src/core/cells/ids.ts +1 -1
- package/src/core/codemirror/ai/request.ts +1 -1
- package/src/core/codemirror/copilot/__tests__/language-server.test.ts +1 -1
- package/src/core/codemirror/copilot/__tests__/transport.test.ts +1 -1
- package/src/core/codemirror/copilot/language-server.ts +1 -1
- package/src/core/codemirror/copilot/types.ts +1 -1
- package/src/core/codemirror/facet.ts +1 -1
- package/src/core/codemirror/language/__tests__/sql.test.ts +4 -4
- package/src/core/codemirror/language/languages/sql/completion-builder.ts +1 -1
- package/src/core/codemirror/language/metadata.ts +1 -1
- package/src/core/codemirror/language/types.ts +1 -1
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -1
- package/src/core/codemirror/lsp/notebook-lsp.ts +1 -1
- package/src/core/codemirror/misc/__tests__/dnd.test.ts +1 -1
- package/src/core/codemirror/rtc/loro/awareness.ts +1 -1
- package/src/core/config/feature-flag.tsx +1 -1
- package/src/core/dom/outline.ts +1 -1
- package/src/core/export/__tests__/hooks.test.ts +1 -1
- package/src/core/hotkeys/__tests__/hotkeys.test.ts +1 -1
- package/src/core/hotkeys/shortcuts.ts +1 -1
- package/src/core/islands/__tests__/bridge.test.ts +2 -2
- package/src/core/islands/bridge.ts +2 -2
- package/src/core/islands/components/output-wrapper.tsx +1 -1
- package/src/core/islands/parse.ts +1 -1
- package/src/core/lsp/__tests__/transport.test.ts +1 -1
- package/src/core/network/DeferredRequestRegistry.ts +1 -1
- package/src/core/network/__tests__/requests-network.test.ts +1 -1
- package/src/core/network/api.ts +2 -2
- package/src/core/network/requests-lazy.ts +1 -1
- package/src/core/network/requests-toasting.tsx +1 -1
- package/src/core/static/files.ts +1 -1
- package/src/core/vscode/vscode-bindings.ts +1 -1
- package/src/core/wasm/bridge.ts +3 -3
- package/src/core/wasm/worker/tracer.ts +1 -1
- package/src/core/websocket/useWebSocket.tsx +2 -2
- package/src/css/globals.css +37 -61
- package/src/custom.d.ts +1 -1
- package/src/hooks/__tests__/useDuplicateShortcuts.test.ts +2 -2
- package/src/hooks/debug.ts +3 -3
- package/src/hooks/useDebounce.ts +1 -1
- package/src/hooks/useEventListener.ts +1 -1
- package/src/hooks/useHotkey.ts +1 -1
- package/src/hooks/useLifecycle.ts +2 -2
- package/src/hooks/useNonce.ts +1 -1
- package/src/hooks/useResizeObserver.ts +2 -2
- package/src/main.tsx +1 -1
- package/src/plugins/core/RenderHTML.tsx +3 -3
- package/src/plugins/core/__test__/registerReactComponent.test.ts +1 -1
- package/src/plugins/core/registerReactComponent.tsx +4 -4
- package/src/plugins/core/rpc.ts +1 -1
- package/src/plugins/impl/DataTablePlugin.tsx +1 -1
- package/src/plugins/impl/FileBrowserPlugin.tsx +1 -1
- package/src/plugins/impl/FormPlugin.tsx +1 -1
- package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +1 -1
- package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +1 -1
- package/src/plugins/impl/anywidget/model.ts +1 -1
- package/src/plugins/impl/anywidget/types.ts +2 -2
- package/src/plugins/impl/anywidget/widget-binding.ts +1 -1
- package/src/plugins/impl/chat/ChatPlugin.tsx +1 -1
- package/src/plugins/impl/chat/chat-ui.tsx +1 -1
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +1 -1
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +2 -2
- package/src/plugins/impl/data-explorer/components/query-form.tsx +1 -1
- package/src/plugins/impl/data-explorer/functions/function.ts +1 -1
- package/src/plugins/impl/data-explorer/queries/types.ts +1 -1
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -1
- package/src/plugins/impl/data-frames/forms/renderers.tsx +1 -1
- package/src/plugins/impl/data-frames/utils/operators.ts +1 -1
- package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +1 -1
- package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +1 -1
- package/src/plugins/impl/panel/PanelPlugin.tsx +2 -2
- package/src/plugins/impl/plotly/Plot.tsx +3 -3
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +62 -44
- package/src/plugins/impl/plotly/__tests__/PlotlyPlugin.test.tsx +114 -0
- package/src/plugins/impl/plotly/__tests__/selection.test.ts +158 -196
- package/src/plugins/impl/plotly/selection.ts +274 -56
- package/src/plugins/impl/vega/batched.ts +1 -1
- package/src/plugins/impl/vega/make-selectable.ts +1 -1
- package/src/plugins/impl/vega/types.ts +1 -1
- package/src/plugins/layout/DownloadPlugin.tsx +1 -1
- package/src/plugins/layout/LazyPlugin.tsx +1 -1
- package/src/plugins/layout/RoutesPlugin.tsx +1 -1
- package/src/plugins/layout/mermaid/mermaid.tsx +1 -1
- package/src/plugins/plugins.ts +1 -1
- package/src/stories/data-explorer.stories.tsx +1 -1
- package/src/stories/dataframe.stories.tsx +1 -1
- package/src/stories/editor.stories.tsx +1 -1
- package/src/stories/select.stories.tsx +1 -1
- package/src/stories/switchable-multi-select.stories.tsx +1 -1
- package/src/utils/Logger.ts +1 -1
- package/src/utils/__tests__/arrays.test.ts +1 -1
- package/src/utils/__tests__/blob.test.ts +1 -1
- package/src/utils/__tests__/dates.test.ts +1 -1
- package/src/utils/__tests__/errors.test.ts +1 -1
- package/src/utils/__tests__/objects.test.ts +3 -3
- package/src/utils/__tests__/waitForWs.test.ts +1 -1
- package/src/utils/arrays.ts +1 -1
- package/src/utils/assertNever.ts +1 -1
- package/src/utils/batch-requests.ts +2 -2
- package/src/utils/createReducer.ts +2 -2
- package/src/utils/id-tree.tsx +2 -2
- package/src/utils/idle.ts +1 -1
- package/src/utils/invariant.ts +1 -2
- package/src/utils/maps.ts +1 -1
- package/src/utils/math.ts +0 -1
- package/src/utils/multi-map.ts +1 -1
- package/src/utils/objects.ts +1 -1
- package/src/utils/once.ts +2 -2
- package/src/utils/staticImplements.ts +1 -1
- package/src/utils/storage/jotai.ts +1 -1
- package/src/utils/tracer.ts +2 -2
- package/dist/assets/glide-data-editor-CDqunAkw.js +0 -132
- package/dist/assets/index-KI45dku7.js +0 -35
- package/dist/assets/useLifecycle-D202VvPd.js +0 -1
- package/dist/assets/useNotebookActions-Bb4xxjuJ.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as h}from"./chunk-LvLJmgfZ.js";import{t as i}from"./react-Bj1aDYRI.js";import{t as l}from"./compiler-runtime-B3qBwwSJ.js";import{t as r}from"./createLucideIcon-w-Qo9n0R.js";var n=r("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),p=r("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),m=r("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]),k=r("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]),c=l(),o=h(i(),1);function s(y){let e=(0,c.c)(1),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0],(0,o.useEffect)(y,t)}function x(y){let e=(0,c.c)(3),t;e[0]===y?t=e[1]:(t=()=>y(),e[0]=y,e[1]=t);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[2]=a):a=e[2],(0,o.useEffect)(t,a)}export{p as a,m as i,x as n,n as o,k as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as Ce}from"./chunk-LvLJmgfZ.js";import{d as E,l as ct,p as ht,u as Z}from"./useEvent-D91BmmQi.js";import{t as mt}from"./react-Bj1aDYRI.js";import{$ as pt,E as ze,Sn as ut,Vt as ft,_ as xt,_i as pe,_n as yt,dr as kt,et as bt,h as Me,jr as wt,or as jt,rr as gt,t as vt,tr as Ct,tt as We,vn as zt,yn as Mt}from"./cells-CcsG9Aum.js";import{t as z}from"./compiler-runtime-B3qBwwSJ.js";import{n as Wt,x as _t}from"./ai-model-dropdown-D14GiszF.js";import{_ as L,d as _e}from"./useEventListener-DGjKht0c.js";import{y as Nt}from"./utils-DKaC_ndw.js";import{n as P,t as Ne}from"./constants-tOPFFcLZ.js";import{S as ue,h as St,i as Dt,x as Pt}from"./config-CmaJdl9U.js";import{t as At}from"./jsx-runtime-Blw4afVn.js";import{o as It}from"./alert-dialog-CXspBRlP.js";import{a as Tt,c as fe,o as xe,s as Et}from"./popover-AtoFZ7i4.js";import{a as Lt,c as Ht,i as Rt,n as qt,r as $t,s as Bt,t as Vt}from"./select--zcABebs.js";import{gt as Ot}from"./JsonOutput-IpD2GLtO.js";import{c as Se,d as ye,n as Ft,o as Ut,r as ke,t as Yt}from"./download-BFQaUFKI.js";import{m as Kt}from"./form-3ZUGKch9.js";import{t as De}from"./tooltip-DmqhBBs6.js";import{r as Pe,t as H}from"./button-BKVLeSTX.js";import{i as Gt,t as Ae}from"./strings-pfr2N700.js";import{r as R}from"./requests-9-v2bhoi.js";import{t as b}from"./createLucideIcon-w-Qo9n0R.js";import{a as Ie,f as Jt,i as Te,m as Xt,p as Ee,u as Le}from"./layout-B-lTkLKA.js";import{t as be}from"./check-B-sKate2.js";import{n as Qt}from"./maps-B4xARV9R.js";import{r as Zt}from"./useCellActionButton-4HWj1rt3.js";import{t as He}from"./copy-DFMsQ6MJ.js";import{t as ea}from"./eye-off-DgRJ-xBZ.js";import{t as ta}from"./file-plus-corner-BjSB-E2p.js";import{t as ee}from"./file-DaJ4JeZH.js";import{t as aa}from"./github-CP61uL34.js";import{n as oa,r as na,t as sa}from"./youtube-zkHE2QB5.js";import{i as la,n as Re}from"./add-connection-dialog-C42PDYI7.js";import{n as ia,t as ra}from"./square-BVY9SgWs.js";import{t as da}from"./image-CpSydGUq.js";import{t as ca}from"./link-BCjh6ihR.js";import{r as ha}from"./input-DjrybsRY.js";import{t as ma}from"./settings-D6Nc4lMz.js";import{t as pa}from"./sparkles-DczT6OBt.js";import{y as ua}from"./textarea-DJEKmYtw.js";import{t as M}from"./use-toast-T0_cQDma.js";import{n as qe,t as fa}from"./paths-Dfii2bN8.js";import{o as xa}from"./session-DDorezMU.js";import{a as $e,c as Be,i as Ve,n as Oe,r as Fe}from"./dialog-CognbQV_.js";import{n as we}from"./ImperativeModal-DSu22ncS.js";import{r as ya,t as ka}from"./share-DkQqqFqC.js";import{n as q}from"./copy-C8iWa1qI.js";import{r as ba}from"./useRunCells-Du76UV1R.js";import{a as wa}from"./cell-link-Cimoe3Fv.js";import{a as ja}from"./renderShortcut-Bjt8kSBs.js";import{t as ga}from"./icons-UbXYeuXE.js";import{t as va}from"./links-wWTxfdQn.js";import{r as Ca,t as Ue}from"./hooks-CHE17GG1.js";import{t as Ye}from"./types-z6Sk3JCV.js";var za=b("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Ma=b("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Ke=b("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Ge=b("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Je=b("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Wa=b("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),_a=b("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Na=b("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Xe=b("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),Sa=b("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),Da=b("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),Pa=b("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Qe=b("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Aa=b("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),Ia=b("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Ze=b("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),et=z(),$=Ce(mt(),1),a=Ce(At(),1);function Ta(e){let t=new URL(e.url);return e.authToken&&t.searchParams.set("auth",e.authToken),t.toString()}function Ea(e,t){let n=`uvx marimo@latest pair prompt --url '${t}'`;switch(e){case"claude":return`claude "$(${n} --claude)"`;case"codex":return`codex "$(${n} --codex)"`;case"opencode":return`opencode "$(${n} --opencode)"`}}var La="npx skills add marimo-team/marimo-pair";const Ha=e=>{let t=(0,et.c)(25),{onClose:n}=e,[o,d]=(0,$.useState)("claude"),i=Z(Dt),l;t[0]!==o||t[1]!==i?(l=Ea(o,Ta(i)),t[0]=o,t[1]=i,t[2]=l):l=t[2];let s=l,r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(Be,{children:"Pair with an agent"}),t[3]=r):r=t[3];let c;t[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsxs)($e,{children:[r,(0,a.jsxs)(Fe,{children:["Use an AI coding agent to pair-program on this notebook."," ",(0,a.jsx)("a",{href:"https://links.marimo.app/marimo-pair",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Learn more"}),"."]})]}),t[4]=c):c=t[4];let h;t[5]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"1. Install the skill"}),(0,a.jsx)(te,{command:La})]}),t[5]=h):h=t[5];let p;t[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)("span",{className:"text-sm font-medium",children:"2. Run in your terminal"}),t[6]=p):p=t[6];let u;t[7]===Symbol.for("react.memo_cache_sentinel")?(u=C=>d(C),t[7]=u):u=t[7];let w;t[8]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsxs)(Et,{className:"w-full",children:[(0,a.jsx)(fe,{value:"claude",className:"flex-1",children:"Claude"}),(0,a.jsx)(fe,{value:"codex",className:"flex-1",children:"Codex"}),(0,a.jsx)(fe,{value:"opencode",className:"flex-1",children:"OpenCode"})]}),t[8]=w):w=t[8];let f;t[9]===s?f=t[10]:(f=(0,a.jsx)(xe,{value:"claude",className:"mt-3",children:(0,a.jsx)(te,{command:s})}),t[9]=s,t[10]=f);let x;t[11]===s?x=t[12]:(x=(0,a.jsx)(xe,{value:"codex",className:"mt-3",children:(0,a.jsx)(te,{command:s})}),t[11]=s,t[12]=x);let y;t[13]===s?y=t[14]:(y=(0,a.jsx)(xe,{value:"opencode",className:"mt-3",children:(0,a.jsx)(te,{command:s})}),t[13]=s,t[14]=y);let k;t[15]!==o||t[16]!==y||t[17]!==f||t[18]!==x?(k=(0,a.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[h,(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[p,(0,a.jsxs)(Tt,{value:o,onValueChange:u,children:[w,f,x,y]})]})]}),t[15]=o,t[16]=y,t[17]=f,t[18]=x,t[19]=k):k=t[19];let j;t[20]===n?j=t[21]:(j=(0,a.jsx)(Ve,{children:(0,a.jsx)(H,{variant:"secondary",onClick:n,children:"Close"})}),t[20]=n,t[21]=j);let v;return t[22]!==k||t[23]!==j?(v=(0,a.jsxs)(Oe,{className:"sm:max-w-lg",children:[c,k,j]}),t[22]=k,t[23]=j,t[24]=v):v=t[24],v};var te=e=>{let t=(0,et.c)(15),{command:n}=e,[o,d]=(0,$.useState)(!1),i;t[0]===n?i=t[1]:(i=Pe.stopPropagation(async u=>{u.preventDefault(),await q(n),d(!0),setTimeout(()=>d(!1),2e3)}),t[0]=n,t[1]=i);let l=i,s;t[2]===n?s=t[3]:(s=(0,a.jsx)("code",{className:"flex-1 select-all break-words",children:n}),t[2]=n,t[3]=s);let r;t[4]===o?r=t[5]:(r=o?(0,a.jsx)(be,{size:14,strokeWidth:1.5}):(0,a.jsx)(He,{size:14,strokeWidth:1.5}),t[4]=o,t[5]=r);let c;t[6]!==l||t[7]!==r?(c=(0,a.jsx)(H,{onClick:l,size:"xs",variant:"ghost",children:r}),t[6]=l,t[7]=r,t[8]=c):c=t[8];let h;t[9]!==o||t[10]!==c?(h=(0,a.jsx)(De,{content:"Copied!",open:o,children:c}),t[9]=o,t[10]=c,t[11]=h):h=t[11];let p;return t[12]!==s||t[13]!==h?(p=(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs",children:[s,h]}),t[12]=s,t[13]=h,t[14]=p):p=t[14],p},tt=z(),ae="https://static.marimo.app";const Ra=e=>{let t=(0,tt.c)(25),{onClose:n}=e,[o,d]=(0,$.useState)(""),{exportAsHTML:i}=R(),l=`${o}-${Math.random().toString(36).slice(2,6)}`,s=`${ae}/static/${l}`,r;t[0]!==i||t[1]!==n||t[2]!==l?(r=async v=>{v.preventDefault(),n();let C=await i({download:!1,includeCode:!0,files:Jt.INSTANCE.filenames()}),W=M({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${ae}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:C,path:l})}).catch(()=>{W.dismiss(),M({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:P.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),W.dismiss(),M({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=i,t[1]=n,t[2]=l,t[3]=r):r=t[3];let c;t[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Be,{children:"Share static notebook"}),t[4]=c):c=t[4];let h;t[5]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)($e,{children:[c,(0,a.jsxs)(Fe,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:ae,target:"_blank",children:ae}),"."]})]}),t[5]=h):h=t[5];let p;t[6]===Symbol.for("react.memo_cache_sentinel")?(p=v=>{d(v.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=p):p=t[6];let u;t[7]===o?u=t[8]:(u=(0,a.jsx)(ha,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:p,required:!0,autoComplete:"off"}),t[7]=o,t[8]=u);let w;t[9]===s?w=t[10]:(w=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(qa,{text:s}),(0,a.jsx)("span",{className:"text-primary",children:s})]})]}),t[9]=s,t[10]=w);let f;t[11]!==u||t[12]!==w?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[u,w]}),t[11]=u,t[12]=w,t[13]=f):f=t[13];let x;t[14]===n?x=t[15]:(x=(0,a.jsx)(H,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),t[14]=n,t[15]=x);let y;t[16]===s?y=t[17]:(y=(0,a.jsx)(H,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await q(s)},children:"Create"}),t[16]=s,t[17]=y);let k;t[18]!==x||t[19]!==y?(k=(0,a.jsxs)(Ve,{children:[x,y]}),t[18]=x,t[19]=y,t[20]=k):k=t[20];let j;return t[21]!==r||t[22]!==k||t[23]!==f?(j=(0,a.jsx)(Oe,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:r,children:[h,f,k]})}),t[21]=r,t[22]=k,t[23]=f,t[24]=j):j=t[24],j};var qa=e=>{let t=(0,tt.c)(8),[n,o]=$.useState(!1),d;t[0]===e.text?d=t[1]:(d=Pe.stopPropagation(async c=>{c.preventDefault(),await q(e.text),o(!0),setTimeout(()=>o(!1),2e3)}),t[0]=e.text,t[1]=d);let i=d,l;t[2]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(He,{size:14,strokeWidth:1.5}),t[2]=l):l=t[2];let s;t[3]===i?s=t[4]:(s=(0,a.jsx)(H,{"data-testid":"copy-static-notebook-url-button",onClick:i,size:"xs",variant:"secondary",children:l}),t[3]=i,t[4]=s);let r;return t[5]!==n||t[6]!==s?(r=(0,a.jsx)(De,{content:"Copied!",open:n,children:s}),t[5]=n,t[6]=s,t[7]=r):r=t[7],r},$a=z();function Ba(){let e=document.getElementsByClassName(Ne.outputArea);for(let t of e){let n=t.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=pe.findElement(t);if(!o){L.warn("Could not find HTMLCellId for visible output area",t);continue}return{cellId:pe.parse(o.id)}}}return L.warn("No visible output area found for scroll anchor"),null}function Va(e){if(!e){L.warn("No scroll anchor provided to restore scroll position");return}let t=document.getElementById(pe.create(e.cellId));if(!t){L.warn("Could not find cell element to restore scroll position",e.cellId);return}if(!t.querySelector(`.${Ne.outputArea}`)){L.warn("Could not find output area to restore scroll position",e.cellId);return}t.scrollIntoView({block:"start",behavior:"auto"})}function at(){let e=(0,$a.c)(2),t=E(We),n;return e[0]===t?n=e[1]:(n=()=>{let o=Ba();t(d=>({mode:bt(d.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Va(o)})})},e[0]=t,e[1]=n),n}const ot=ht(!1);var Oa=z();const Fa=()=>{let e=(0,Oa.c)(7),{selectedLayout:t}=Ie(),{setLayoutView:n}=Te();if(ue()&&!ut("wasm_layouts"))return null;let o;e[0]===n?o=e[1]:(o=s=>n(s),e[0]=n,e[1]=o);let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(Bt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(Ht,{placeholder:"Select a view"})}),e[2]=d):d=e[2];let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(qt,{children:(0,a.jsxs)($t,{children:[(0,a.jsx)(Lt,{children:"View as"}),Ye.map(Ya)]})}),e[3]=i):i=e[3];let l;return e[4]!==t||e[5]!==o?(l=(0,a.jsxs)(Vt,{"data-testid":"layout-select",value:t,onValueChange:o,children:[d,i]}),e[4]=t,e[5]=o,e[6]=l):l=e[6],l};function Ua(e){return(0,a.jsx)(nt(e),{className:"h-4 w-4"})}function nt(e){switch(e){case"vertical":return Sa;case"grid":return na;case"slides":return Qe;default:return Gt(e),ra}}function st(e){return Ae.startCase(e)}function Ya(e){return(0,a.jsx)(Rt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Ua(e),(0,a.jsx)("span",{children:st(e)})]})},e)}async function Ka(e){let{filename:t,preset:n,downloadPDF:o}=e;await o({filename:t,webpdf:!1,preset:n,includeInputs:!0,rasterServer:"static"})}var Ga=z();function Ja(e){let t=(0,Ga.c)(5),{openPrompt:n,closeModal:o}=we(),{sendCopy:d}=R(),i;return t[0]!==o||t[1]!==n||t[2]!==d||t[3]!==e?(i=()=>{if(!e)return null;let l=fa.guessDeliminator(e);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${qe.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:s=>{let r=l.join(qe.dirname(e),s);d({source:e,destination:r}).then(()=>{o(),M({title:"Notebook copied",description:"A copy of the notebook has been created."}),va(r)})}})},t[0]=o,t[1]=n,t[2]=d,t[3]=e,t[4]=i):i=t[4],i}const Xa=()=>{let{updateCellConfig:e}=ze(),{saveCellConfig:t}=R();return(0,$.useCallback)(async()=>{let n=new ft,o=Me(),d=o.cellIds.inOrderIds,i={};for(let s of d){if(o.cellData[s]===void 0)continue;let{code:r,config:c}=o.cellData[s];c.hide_code||n.isSupported(r)&&(i[s]={hide_code:!0})}let l=_e.entries(i);if(l.length!==0){await t({configs:i});for(let[s,r]of l)e({cellId:s,config:r})}},[e])};var Qa=z();function lt(){let e=(0,Qa.c)(4),{openConfirm:t}=we(),n=E(St),{sendRestart:o}=R(),d;return e[0]!==t||e[1]!==o||e[2]!==n?(d=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(It,{onClick:async()=>{n({state:Pt.CLOSING}),await o(),ya()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=o,e[2]=n,e[3]=d):d=e[3],d}var Za=z(),A=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function eo(){var ge,ve;let e=(0,Za.c)(51),t=wa(),{openModal:n,closeModal:o}=we(),{toggleApplication:d}=yt(),{selectedPanel:i}=zt(),[l]=ct(We),s=Z(pt),r=Xa(),[c]=Nt(),{updateCellConfig:h,undoDeleteCell:p,clearAllCellOutputs:u,addSetupCellIfDoesntExist:w,collapseAllCells:f,expandAllCells:x}=ze(),y=lt(),k=ba(),j=Ja(t),v=E(ot),C=E(Wt),W=E(_t),{exportAsIPYNB:ne,exportAsMarkdown:se,readCode:I,saveCellConfig:le,updateCellOutputs:_}=R(),N=Ca(),ie=Z(xt),re=Z(vt),{selectedLayout:B}=Ie(),{setLayoutView:de}=Te(),V=at(),O=((ge=c.sharing)==null?void 0:ge.html)??!0,F=((ve=c.sharing)==null?void 0:ve.wasm)??!0,je=!ue(),ce=B==="slides",it=bo,rt=ko,U;e[0]!==t||e[1]!==N||e[2]!==_?(U=async m=>{let{preset:g,title:T}=m;if(!t){oe();return}await Se(T,async me=>{await Ue({takeScreenshots:()=>N({progress:me}),updateCellOutputs:_}),await Ka({filename:t,preset:g,downloadPDF:Ft})})},e[0]=t,e[1]=N,e[2]=_,e[3]=U):U=e[3];let S=U,Y;e[4]===S?Y=e[5]:(Y=async()=>{if(je){await S({preset:"document",title:"Downloading Document PDF..."});return}let m=new Event("export-beforeprint"),g=new Event("export-afterprint");window.dispatchEvent(m),setTimeout(yo,0),setTimeout(()=>window.dispatchEvent(g),0)},e[4]=S,e[5]=Y);let K=Y,G;e[6]!==ne||e[7]!==t||e[8]!==N||e[9]!==_?(G=async()=>{if(!t){oe();return}await Se("Downloading IPYNB...",async m=>{await Ue({takeScreenshots:()=>N({progress:m}),updateCellOutputs:_});let g=await ne({download:!1});ke(new Blob([g],{type:"application/x-ipynb+json"}),ye.toIPYNB(document.title))})},e[6]=ne,e[7]=t,e[8]=N,e[9]=_,e[10]=G):G=e[10];let he=G,J;e[11]===Symbol.for("react.memo_cache_sentinel")?(J=(0,a.jsx)(Ot,{size:14,strokeWidth:1.5}),e[11]=J):J=e[11];let X;e[12]===Symbol.for("react.memo_cache_sentinel")?(X=(0,a.jsx)(Ee,{size:14,strokeWidth:1.5}),e[12]=X):X=e[12];let D;e[13]===t?D=e[14]:(D=async()=>{if(!t){oe();return}await Le({filename:t,includeCode:!0})},e[13]=t,e[14]=D);let Q;return e[15]!==w||e[16]!==re||e[17]!==u||e[18]!==o||e[19]!==f||e[20]!==j||e[21]!==S||e[22]!==x||e[23]!==se||e[24]!==t||e[25]!==K||e[26]!==he||e[27]!==ie||e[28]!==r||e[29]!==ce||e[30]!==s||e[31]!==n||e[32]!==I||e[33]!==y||e[34]!==k||e[35]!==le||e[36]!==B||e[37]!==i||e[38]!==v||e[39]!==W||e[40]!==de||e[41]!==C||e[42]!==O||e[43]!==F||e[44]!==D||e[45]!==d||e[46]!==V||e[47]!==p||e[48]!==h||e[49]!==l.mode?(Q=[{icon:J,label:"Download",handle:A,dropdown:[{icon:X,label:"Download as HTML",handle:D},{icon:(0,a.jsx)(Ee,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){oe();return}await Le({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(ga,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let m=await se({download:!1});ke(new Blob([m],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(Da,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:he},{icon:(0,a.jsx)(Xt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let m=await I();ke(new Blob([m.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:l.mode!=="present",tooltip:l.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",ja("global.hideCode",!1)]}),handle:xo},ce?{divider:!0,icon:(0,a.jsx)(ee,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:A,dropdown:[{icon:(0,a.jsx)(ee,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:K},{icon:(0,a.jsx)(ee,{size:14,strokeWidth:1.5}),label:"Slides Layout",rightElement:rt(!0),hidden:!je,handle:async()=>{await S({preset:"slides",title:"Downloading Slides PDF..."})}}]}:{divider:!0,icon:(0,a.jsx)(ee,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:K}]},{icon:(0,a.jsx)(pa,{size:14,strokeWidth:1.5}),label:"Pair with an agent",handle:async()=>{n((0,a.jsx)(Ha,{onClose:o}))}},{icon:(0,a.jsx)(Aa,{size:14,strokeWidth:1.5}),label:"Share",handle:A,hidden:!O&&!F,dropdown:[{icon:(0,a.jsx)(Kt,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!O,handle:async()=>{n((0,a.jsx)(Ra,{onClose:o}))}},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!F,handle:async()=>{await q(ka({code:(await I()).contents})),M({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(Pa,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:A,dropdown:Mt.flatMap(m=>{let{type:g,Icon:T,hidden:me,additionalKeywords:dt}=m;return me?[]:{label:Ae.startCase(g),rightElement:it(i===g),icon:(0,a.jsx)(T,{size:14,strokeWidth:1.5}),handle:()=>d(g),additionalKeywords:dt}})},{icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Present as",handle:A,dropdown:[{icon:l.mode==="present"?(0,a.jsx)(ua,{size:14,strokeWidth:1.5}):(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{V()}},...Ye.map((m,g)=>{let T=nt(m);return{divider:g===0,label:st(m),icon:(0,a.jsx)(T,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:B===m&&(0,a.jsx)(be,{size:14})}),handle:()=>{de(m),l.mode==="edit"&&V()}}})]},{icon:(0,a.jsx)(_a,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!t||ue(),handle:j},{icon:(0,a.jsx)(Ke,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await q((await I()).contents),M({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!ie||s,handle:async()=>{let m=wt(Me());await le({configs:_e.fromEntries(m.map(fo))});for(let g of m)h({cellId:g,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Je,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{w({})}},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(Re,{onClose:o}))}},{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{n((0,a.jsx)(Re,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(Ze,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!re||s,handle:()=>{p()}},{icon:(0,a.jsx)(Ia,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(Wa,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{k()}},{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{u()}},{icon:(0,a.jsx)(ea,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:r,redundant:!0},{icon:(0,a.jsx)(Ma,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f,redundant:!0},{icon:(0,a.jsx)(za,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:x,redundant:!0},{divider:!0,icon:(0,a.jsx)(Ge,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>v(uo)},{icon:(0,a.jsx)(Na,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>W(po)},{icon:(0,a.jsx)(ma,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>C(mo),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(Qt,{size:14,strokeWidth:1.5}),label:"Resources",handle:A,dropdown:[{icon:(0,a.jsx)(kt,{size:14,strokeWidth:1.5}),label:"Documentation",handle:ho},{icon:(0,a.jsx)(aa,{size:14,strokeWidth:1.5}),label:"GitHub",handle:co},{icon:(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:ro},{icon:(0,a.jsx)(sa,{size:14,strokeWidth:1.5}),label:"YouTube",handle:io},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"Changelog",handle:lo}]},{divider:!0,icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:so},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:no}].filter(oo).map(to),e[15]=w,e[16]=re,e[17]=u,e[18]=o,e[19]=f,e[20]=j,e[21]=S,e[22]=x,e[23]=se,e[24]=t,e[25]=K,e[26]=he,e[27]=ie,e[28]=r,e[29]=ce,e[30]=s,e[31]=n,e[32]=I,e[33]=y,e[34]=k,e[35]=le,e[36]=B,e[37]=i,e[38]=v,e[39]=W,e[40]=de,e[41]=C,e[42]=O,e[43]=F,e[44]=D,e[45]=d,e[46]=V,e[47]=p,e[48]=h,e[49]=l.mode,e[50]=Q):Q=e[50],Q}function to(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(ao)}:e}function ao(e){return!e.hidden}function oo(e){return!e.hidden}function no(){let e=xa();window.open(e,"_blank")}function so(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function lo(){window.open(P.releasesPage,"_blank")}function io(){window.open(P.youtube,"_blank")}function ro(){window.open(P.discordLink,"_blank")}function co(){window.open(P.githubPage,"_blank")}function ho(){window.open(P.docsPage,"_blank")}function mo(e){return!e}function po(e){return!e}function uo(e){return!e}function fo(e){return[e,{disabled:!1}]}async function xo(){let e=document.getElementById("App");e&&await Ut({element:e,filename:document.title,prepare:Yt})}function yo(){return window.print()}function ko(e){return e?(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}):null}function bo(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(be,{size:14})})}function oe(){M({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{at as a,Je as c,ot as i,Ge as l,lt as n,Ze as o,Fa as r,Xe as s,eo as t,Ke as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as k,n as i,p as v}from"./useEvent-D91BmmQi.js";import{An as w,E as y,Ir as F,Mr as b,ft as _,h as d}from"./cells-
|
|
1
|
+
import{d as k,n as i,p as v}from"./useEvent-D91BmmQi.js";import{An as w,E as y,Ir as F,Mr as b,ft as _,h as d}from"./cells-CcsG9Aum.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{_ as A}from"./useEventListener-DGjKht0c.js";import{o as D}from"./dist-BNTOYRCs.js";import{r as E}from"./requests-9-v2bhoi.js";var u=x();const I=v(!1);function H(){let r=(0,u.c)(2),n=f(),t;return r[0]===n?t=r[1]:(t=()=>n(F(d())),r[0]=n,r[1]=t),i(t)}function M(r){let n=(0,u.c)(3),t=f(),o;return n[0]!==r||n[1]!==t?(o=()=>{r!==void 0&&t([r])},n[0]=r,n[1]=t,n[2]=o):o=n[2],i(o)}function V(){let r=(0,u.c)(2),n=f(),t;return r[0]===n?t=r[1]:(t=()=>n(b(d())),r[0]=n,r[1]=t),i(t)}function f(){let r=(0,u.c)(4),{prepareForRun:n}=y(),{sendRun:t}=E(),o=k(I),e;return r[0]!==n||r[1]!==t||r[2]!==o?(e=async s=>{if(s.length===0)return;let c=d();return o(!0),g({cellIds:s,sendRun:t,prepareForRun:n,notebook:c})},r[0]=n,r[1]=t,r[2]=o,r[3]=e):e=r[3],i(e)}async function g({cellIds:r,sendRun:n,prepareForRun:t,notebook:o}){var m,h,R;if(r.length===0)return;let{cellHandles:e,cellData:s}=o,c=[];for(let a of r){let l=(h=(m=e[a])==null?void 0:m.current)==null?void 0:h.editorView,p;l?(w(l)!=="markdown"&&D(l),p=_(l)):p=((R=s[a])==null?void 0:R.code)||"",c.push(p),t({cellId:a})}await n({cellIds:r,codes:c}).catch(a=>{A.error(a)})}export{f as a,M as i,g as n,H as o,V as r,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as m}from"./chunk-LvLJmgfZ.js";import{n as p}from"./useEvent-D91BmmQi.js";import{E as d,f,ft as u}from"./cells-
|
|
1
|
+
import{s as m}from"./chunk-LvLJmgfZ.js";import{n as p}from"./useEvent-D91BmmQi.js";import{E as d,f,ft as u}from"./cells-CcsG9Aum.js";import{t as c}from"./compiler-runtime-B3qBwwSJ.js";import{t as C}from"./jsx-runtime-Blw4afVn.js";import{t as h}from"./use-toast-T0_cQDma.js";import{r as v}from"./useDeleteCell-B0OAS0ly.js";var x=c(),b=m(C(),1);function j(){let t=(0,x.c)(3),{splitCell:i,undoSplitCell:r}=d(),o;return t[0]!==i||t[1]!==r?(o=s=>{let l=f(s.cellId);if(!l)return;let a=u(l);i(s);let{dismiss:n}=h({title:"Cell split",action:(0,b.jsx)(v,{"data-testid":"undo-split-button",size:"sm",variant:"outline",onClick:()=>{r({...s,snapshot:a}),e()},children:"Undo"})}),e=n},t[0]=i,t[1]=r,t[2]=o):o=t[2],p(o)}export{j as t};
|
package/dist/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
|
|
67
67
|
<!-- /TODO -->
|
|
68
68
|
<title>{{ title }}</title>
|
|
69
|
-
<script type="module" crossorigin src="./assets/index-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-Bt8G6SSE.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-DItdS47A.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
<link rel="modulepreload" crossorigin href="./assets/session-DDorezMU.js">
|
|
107
107
|
<link rel="modulepreload" crossorigin href="./assets/config-CmaJdl9U.js">
|
|
108
108
|
<link rel="modulepreload" crossorigin href="./assets/requests-9-v2bhoi.js">
|
|
109
|
-
<link rel="modulepreload" crossorigin href="./assets/useLifecycle-
|
|
109
|
+
<link rel="modulepreload" crossorigin href="./assets/useLifecycle-N3bfh_O1.js">
|
|
110
110
|
<link rel="modulepreload" crossorigin href="./assets/useNonce-CbdaHKzX.js">
|
|
111
111
|
<link rel="modulepreload" crossorigin href="./assets/useTheme-wMq5x3Hi.js">
|
|
112
112
|
<link rel="modulepreload" crossorigin href="./assets/arrays-DAC2orgH.js">
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
<link rel="modulepreload" crossorigin href="./assets/debounce-BbSyBDA8.js">
|
|
135
135
|
<link rel="modulepreload" crossorigin href="./assets/database-zap-BxfYZ6ML.js">
|
|
136
136
|
<link rel="modulepreload" crossorigin href="./assets/main-BNL5rxQw.js">
|
|
137
|
-
<link rel="modulepreload" crossorigin href="./assets/cells-
|
|
137
|
+
<link rel="modulepreload" crossorigin href="./assets/cells-CcsG9Aum.js">
|
|
138
138
|
<link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-dxChUL02.js">
|
|
139
139
|
<link rel="modulepreload" crossorigin href="./assets/kbd-BbX-cXm5.js">
|
|
140
140
|
<link rel="modulepreload" crossorigin href="./assets/useInstallPackage-EEg9LCNy.js">
|
|
@@ -148,33 +148,33 @@
|
|
|
148
148
|
<link rel="modulepreload" crossorigin href="./assets/usePress-YLit4doY.js">
|
|
149
149
|
<link rel="modulepreload" crossorigin href="./assets/input-DjrybsRY.js">
|
|
150
150
|
<link rel="modulepreload" crossorigin href="./assets/ImperativeModal-DSu22ncS.js">
|
|
151
|
-
<link rel="modulepreload" crossorigin href="./assets/cell-link-
|
|
151
|
+
<link rel="modulepreload" crossorigin href="./assets/cell-link-Cimoe3Fv.js">
|
|
152
152
|
<link rel="modulepreload" crossorigin href="./assets/multi-map-MSuUqmbC.js">
|
|
153
153
|
<link rel="modulepreload" crossorigin href="./assets/alert-DrrhKX67.js">
|
|
154
154
|
<link rel="modulepreload" crossorigin href="./assets/chevron-right-CgvDWFE3.js">
|
|
155
155
|
<link rel="modulepreload" crossorigin href="./assets/dropdown-menu-DrHAuMTb.js">
|
|
156
156
|
<link rel="modulepreload" crossorigin href="./assets/links-NCBzUApL.js">
|
|
157
|
-
<link rel="modulepreload" crossorigin href="./assets/datasource-
|
|
158
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
157
|
+
<link rel="modulepreload" crossorigin href="./assets/datasource-D9nfSxKS.js">
|
|
158
|
+
<link rel="modulepreload" crossorigin href="./assets/state-BBVlYaRC.js">
|
|
159
159
|
<link rel="modulepreload" crossorigin href="./assets/sparkles-DczT6OBt.js">
|
|
160
|
-
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-
|
|
160
|
+
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-dTNCLY-Q.js">
|
|
161
161
|
<link rel="modulepreload" crossorigin href="./assets/copy-C8iWa1qI.js">
|
|
162
162
|
<link rel="modulepreload" crossorigin href="./assets/copy-DFMsQ6MJ.js">
|
|
163
163
|
<link rel="modulepreload" crossorigin href="./assets/copy-icon-CG2ao3lW.js">
|
|
164
164
|
<link rel="modulepreload" crossorigin href="./assets/spinner-AR54Ic3-.js">
|
|
165
|
-
<link rel="modulepreload" crossorigin href="./assets/html-to-image-
|
|
166
|
-
<link rel="modulepreload" crossorigin href="./assets/focus-
|
|
165
|
+
<link rel="modulepreload" crossorigin href="./assets/html-to-image-BRbQwG7G.js">
|
|
166
|
+
<link rel="modulepreload" crossorigin href="./assets/focus-C5u0JQUq.js">
|
|
167
167
|
<link rel="modulepreload" crossorigin href="./assets/useAsyncData-BPlezez1.js">
|
|
168
168
|
<link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BEdv0N9X.js">
|
|
169
169
|
<link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-BygYYKhs.js">
|
|
170
170
|
<link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-OcP0iC1i.js">
|
|
171
|
-
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-
|
|
171
|
+
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-B91NzmVT.js">
|
|
172
172
|
<link rel="modulepreload" crossorigin href="./assets/command-C0h2HiOh.js">
|
|
173
173
|
<link rel="modulepreload" crossorigin href="./assets/popover-AtoFZ7i4.js">
|
|
174
174
|
<link rel="modulepreload" crossorigin href="./assets/errors-DVkmLSXX.js">
|
|
175
|
-
<link rel="modulepreload" crossorigin href="./assets/download-
|
|
176
|
-
<link rel="modulepreload" crossorigin href="./assets/useRunCells-
|
|
177
|
-
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-
|
|
175
|
+
<link rel="modulepreload" crossorigin href="./assets/download-BFQaUFKI.js">
|
|
176
|
+
<link rel="modulepreload" crossorigin href="./assets/useRunCells-Du76UV1R.js">
|
|
177
|
+
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-C5GEp4ca.js">
|
|
178
178
|
<link rel="modulepreload" crossorigin href="./assets/table-D5iZuBiR.js">
|
|
179
179
|
<link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-YemHpw31.js">
|
|
180
180
|
<link rel="modulepreload" crossorigin href="./assets/error-banner-B3Vr5jH0.js">
|
|
@@ -192,26 +192,26 @@
|
|
|
192
192
|
<link rel="modulepreload" crossorigin href="./assets/table-qC3alE1r.js">
|
|
193
193
|
<link rel="modulepreload" crossorigin href="./assets/message-circle-ehj_MdGz.js">
|
|
194
194
|
<link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-D0qmuH5W.js">
|
|
195
|
-
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-
|
|
195
|
+
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-IpD2GLtO.js">
|
|
196
196
|
<link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-CsXoiEZx.js">
|
|
197
197
|
<link rel="modulepreload" crossorigin href="./assets/square-function-DIHpmVFo.js">
|
|
198
|
-
<link rel="modulepreload" crossorigin href="./assets/spec-
|
|
198
|
+
<link rel="modulepreload" crossorigin href="./assets/spec-CFx2bitO.js">
|
|
199
199
|
<link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-DEH0lwkn.js">
|
|
200
200
|
<link rel="modulepreload" crossorigin href="./assets/refresh-cw-CoFbRtMK.js">
|
|
201
|
-
<link rel="modulepreload" crossorigin href="./assets/components-
|
|
202
|
-
<link rel="modulepreload" crossorigin href="./assets/column-preview-
|
|
201
|
+
<link rel="modulepreload" crossorigin href="./assets/components-DpxyscxU.js">
|
|
202
|
+
<link rel="modulepreload" crossorigin href="./assets/column-preview-ZSErTRFA.js">
|
|
203
203
|
<link rel="modulepreload" crossorigin href="./assets/icons-UbXYeuXE.js">
|
|
204
|
-
<link rel="modulepreload" crossorigin href="./assets/floating-outline-
|
|
205
|
-
<link rel="modulepreload" crossorigin href="./assets/useAddCell-
|
|
204
|
+
<link rel="modulepreload" crossorigin href="./assets/floating-outline-Cfa1ESSb.js">
|
|
205
|
+
<link rel="modulepreload" crossorigin href="./assets/useAddCell-mJ1PkF-E.js">
|
|
206
206
|
<link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-DaPAPabU.js">
|
|
207
207
|
<link rel="modulepreload" crossorigin href="./assets/esm-BV1ClmM0.js">
|
|
208
208
|
<link rel="modulepreload" crossorigin href="./assets/eye-off-DgRJ-xBZ.js">
|
|
209
209
|
<link rel="modulepreload" crossorigin href="./assets/plus-DWrQrVLZ.js">
|
|
210
|
-
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-
|
|
210
|
+
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-oFCRG7Wt.js">
|
|
211
211
|
<link rel="modulepreload" crossorigin href="./assets/file-headphone-5_PGMxRL.js">
|
|
212
212
|
<link rel="modulepreload" crossorigin href="./assets/file-DaJ4JeZH.js">
|
|
213
213
|
<link rel="modulepreload" crossorigin href="./assets/image-CpSydGUq.js">
|
|
214
|
-
<link rel="modulepreload" crossorigin href="./assets/file-icons-
|
|
214
|
+
<link rel="modulepreload" crossorigin href="./assets/file-icons-DSJsG_mI.js">
|
|
215
215
|
<link rel="modulepreload" crossorigin href="./assets/switch-DqrqDBdD.js">
|
|
216
216
|
<link rel="modulepreload" crossorigin href="./assets/events-BRAWQiYK.js">
|
|
217
217
|
<link rel="modulepreload" crossorigin href="./assets/globals-DK8gKReW.js">
|
|
@@ -220,12 +220,12 @@
|
|
|
220
220
|
<link rel="modulepreload" crossorigin href="./assets/memoize-BwAF2XN5.js">
|
|
221
221
|
<link rel="modulepreload" crossorigin href="./assets/get-D7jeR2wg.js">
|
|
222
222
|
<link rel="modulepreload" crossorigin href="./assets/_baseSet-49dbm-yb.js">
|
|
223
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
223
|
+
<link rel="modulepreload" crossorigin href="./assets/state-C93JW11U.js">
|
|
224
224
|
<link rel="modulepreload" crossorigin href="./assets/label-C89F4v17.js">
|
|
225
|
-
<link rel="modulepreload" crossorigin href="./assets/textarea-
|
|
225
|
+
<link rel="modulepreload" crossorigin href="./assets/textarea-DJEKmYtw.js">
|
|
226
226
|
<link rel="modulepreload" crossorigin href="./assets/refresh-ccw-DxvV30QW.js">
|
|
227
227
|
<link rel="modulepreload" crossorigin href="./assets/trash-2-CwDX6_Ac.js">
|
|
228
|
-
<link rel="modulepreload" crossorigin href="./assets/form-
|
|
228
|
+
<link rel="modulepreload" crossorigin href="./assets/form-3ZUGKch9.js">
|
|
229
229
|
<link rel="modulepreload" crossorigin href="./assets/renderShortcut-Bjt8kSBs.js">
|
|
230
230
|
<link rel="modulepreload" crossorigin href="./assets/field-C6i22m8B.js">
|
|
231
231
|
<link rel="modulepreload" crossorigin href="./assets/VisuallyHidden-DVY6OceZ.js">
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
<link rel="stylesheet" crossorigin href="./assets/cells-jmgGt1lS.css">
|
|
246
246
|
<link rel="stylesheet" crossorigin href="./assets/markdown-renderer-DdDKmWlR.css">
|
|
247
247
|
<link rel="stylesheet" crossorigin href="./assets/JsonOutput-B7vuddcd.css">
|
|
248
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
248
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BkdonYlq.css">
|
|
249
249
|
</head>
|
|
250
250
|
<body>
|
|
251
251
|
<div id="root"></div>
|
package/package.json
CHANGED
package/src/__mocks__/common.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
|
|
2
|
+
/* oxlint-disable no-console -- for debugging */
|
|
3
3
|
import { type Mock, vi } from "vitest";
|
|
4
4
|
import { invariant } from "@/utils/invariant";
|
|
5
5
|
|
|
@@ -137,12 +137,12 @@ export const SetupMocks = {
|
|
|
137
137
|
store[key] = value;
|
|
138
138
|
}),
|
|
139
139
|
removeItem: vi.fn((key: string) => {
|
|
140
|
-
//
|
|
140
|
+
// oxlint-disable-next-line typescript/no-dynamic-delete
|
|
141
141
|
delete store[key];
|
|
142
142
|
}),
|
|
143
143
|
clear: vi.fn(() => {
|
|
144
144
|
for (const key of Object.keys(store)) {
|
|
145
|
-
//
|
|
145
|
+
// oxlint-disable-next-line typescript/no-dynamic-delete
|
|
146
146
|
delete store[key];
|
|
147
147
|
}
|
|
148
148
|
}),
|
|
@@ -179,7 +179,7 @@ export const SetupMocks = {
|
|
|
179
179
|
},
|
|
180
180
|
};
|
|
181
181
|
|
|
182
|
-
//
|
|
182
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
183
183
|
export function asMock<T extends (...args: any[]) => unknown>(fn: T): Mock<T> {
|
|
184
184
|
invariant(
|
|
185
185
|
"mock" in fn,
|
|
@@ -763,7 +763,7 @@ const AgentPanel: React.FC = () => {
|
|
|
763
763
|
// We don't want to disconnect so users can switch between different
|
|
764
764
|
// panels without losing their session
|
|
765
765
|
};
|
|
766
|
-
//
|
|
766
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
767
767
|
}, [wsUrl]);
|
|
768
768
|
|
|
769
769
|
const handleNewSession = useEvent(async () => {
|
|
@@ -889,7 +889,7 @@ const AgentPanel: React.FC = () => {
|
|
|
889
889
|
};
|
|
890
890
|
|
|
891
891
|
createOrResumeSession();
|
|
892
|
-
//
|
|
892
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
893
893
|
}, [isConnected, agent, tabLastActiveSessionId, activeSessionId]);
|
|
894
894
|
|
|
895
895
|
// Handler for prompt submission
|
|
@@ -230,7 +230,7 @@ describe("generateColumns", () => {
|
|
|
230
230
|
});
|
|
231
231
|
|
|
232
232
|
// "age" is a number column — should auto right-align
|
|
233
|
-
//
|
|
233
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
234
234
|
const cell = (columns[1].cell as any)({
|
|
235
235
|
column: {
|
|
236
236
|
columnDef: columns[1],
|
|
@@ -241,7 +241,7 @@ describe("generateColumns", () => {
|
|
|
241
241
|
expect(cell?.props.className).toContain("text-right");
|
|
242
242
|
|
|
243
243
|
// "name" is a string column — should remain left-aligned
|
|
244
|
-
//
|
|
244
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
245
245
|
const nameCell = (columns[0].cell as any)({
|
|
246
246
|
column: {
|
|
247
247
|
columnDef: columns[0],
|
|
@@ -261,7 +261,7 @@ describe("generateColumns", () => {
|
|
|
261
261
|
});
|
|
262
262
|
|
|
263
263
|
// "age" is numeric but explicitly set to left
|
|
264
|
-
//
|
|
264
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
265
265
|
const cell = (columns[1].cell as any)({
|
|
266
266
|
column: {
|
|
267
267
|
columnDef: columns[1],
|
|
@@ -301,7 +301,7 @@ describe("generateColumns", () => {
|
|
|
301
301
|
});
|
|
302
302
|
|
|
303
303
|
// Assuming getCellStyleClass is a function that returns a class name
|
|
304
|
-
//
|
|
304
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
305
305
|
const cell = (columns[0].cell as any)({
|
|
306
306
|
column: {
|
|
307
307
|
columnDef: columns[0],
|
|
@@ -333,7 +333,7 @@ describe("generateColumns", () => {
|
|
|
333
333
|
// Right-justified: parent wrapper should have items-end, sort/filter icons should flip to the left
|
|
334
334
|
const { container: rightContainer } = render(
|
|
335
335
|
<TooltipProvider>
|
|
336
|
-
{/*
|
|
336
|
+
{/* oxlint-disable-next-line typescript/no-explicit-any */}
|
|
337
337
|
{(columns[0].header as any)({ column: mockColumn(columns[0]) })}
|
|
338
338
|
</TooltipProvider>,
|
|
339
339
|
);
|
|
@@ -347,7 +347,7 @@ describe("generateColumns", () => {
|
|
|
347
347
|
// Center-justified: parent wrapper should have items-center, no flex-row-reverse
|
|
348
348
|
const { container: centerContainer } = render(
|
|
349
349
|
<TooltipProvider>
|
|
350
|
-
{/*
|
|
350
|
+
{/* oxlint-disable-next-line typescript/no-explicit-any */}
|
|
351
351
|
{(columns[1].header as any)({ column: mockColumn(columns[1]) })}
|
|
352
352
|
</TooltipProvider>,
|
|
353
353
|
);
|
|
@@ -572,7 +572,7 @@ describe("LocaleNumber", () => {
|
|
|
572
572
|
<LocaleNumber value={1_234_567.89} />
|
|
573
573
|
</I18nProvider>,
|
|
574
574
|
);
|
|
575
|
-
//
|
|
575
|
+
// oxlint-disable-next-line no-irregular-whitespace
|
|
576
576
|
expect(container.textContent).toMatchInlineSnapshot(`"1 234 567,89"`);
|
|
577
577
|
});
|
|
578
578
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
/*
|
|
2
|
+
/* oxlint-disable typescript/no-explicit-any */
|
|
3
3
|
|
|
4
4
|
import type { Cell, Column, Row, Table } from "@tanstack/react-table";
|
|
5
5
|
import { describe, expect, it, vi } from "vitest";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
/*
|
|
2
|
+
/* oxlint-disable typescript/no-empty-object-type */
|
|
3
3
|
import type { OnChangeFn, RowData, Updater } from "@tanstack/react-table";
|
|
4
4
|
|
|
5
5
|
export interface CellSelectionItem {
|
|
@@ -78,7 +78,7 @@ export function generateAltairChart(
|
|
|
78
78
|
|
|
79
79
|
if (encodings?.tooltip) {
|
|
80
80
|
const tooltip = encodings.tooltip;
|
|
81
|
-
//
|
|
81
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
82
82
|
const makeTooltip = (t: Record<string, any>) => {
|
|
83
83
|
const kwargs = makeKwargs(t);
|
|
84
84
|
return new FunctionCall("alt.Tooltip", kwargs);
|
|
@@ -149,7 +149,7 @@ ${variableName}
|
|
|
149
149
|
`.trim();
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
//
|
|
152
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
153
153
|
function makeKwargs<T extends Record<string, any>>(obj: T) {
|
|
154
154
|
const result: Record<string, PythonCode> = {};
|
|
155
155
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
/*
|
|
2
|
+
/* oxlint-disable typescript/no-empty-object-type */
|
|
3
3
|
|
|
4
4
|
import type { OnChangeFn, RowData } from "@tanstack/react-table";
|
|
5
5
|
import type { DataType } from "@/core/kernel/messages";
|
|
@@ -38,7 +38,7 @@ export interface ColumnFormattingInstance {
|
|
|
38
38
|
setColumnFormatting: (value?: FormatOption) => void;
|
|
39
39
|
getColumnFormatting?: () => FormatOption | undefined;
|
|
40
40
|
getCanFormat?: () => boolean;
|
|
41
|
-
//
|
|
41
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
42
42
|
applyColumnFormatting: (value: any) => any;
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -282,7 +282,7 @@ export function getDataSpecAndSourceName<T>(data: string | T[]): {
|
|
|
282
282
|
const base64 = extractBase64FromDataURL(data);
|
|
283
283
|
const decoded = window.atob(base64);
|
|
284
284
|
|
|
285
|
-
//
|
|
285
|
+
// oxlint-disable-next-line unicorn/prefer-ternary
|
|
286
286
|
if (decoded.startsWith(ARROW_MAGIC_NUMBER)) {
|
|
287
287
|
dataSpec = {
|
|
288
288
|
values: base64ToUint8Array(base64),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
/*
|
|
2
|
+
/* oxlint-disable typescript/no-empty-object-type */
|
|
3
3
|
import type { OnChangeFn, RowData } from "@tanstack/react-table";
|
|
4
4
|
|
|
5
5
|
export type ColumnWrappingState = Record<string, "nowrap" | "wrap" | undefined>;
|
|
@@ -314,19 +314,19 @@ const DataTableInternal = <TData,>({
|
|
|
314
314
|
virtualize={virtualize}
|
|
315
315
|
/>
|
|
316
316
|
</Table>
|
|
317
|
+
<TableBottomBar
|
|
318
|
+
part="table-footer"
|
|
319
|
+
className="pt-1.5 pb-0.5 border-t border-border"
|
|
320
|
+
totalColumns={totalColumns}
|
|
321
|
+
pagination={pagination}
|
|
322
|
+
selection={selection}
|
|
323
|
+
onRowSelectionChange={onRowSelectionChange}
|
|
324
|
+
table={table}
|
|
325
|
+
getRowIds={getRowIds}
|
|
326
|
+
showPageSizeSelector={showPageSizeSelector}
|
|
327
|
+
tableLoading={reloading}
|
|
328
|
+
/>
|
|
317
329
|
</div>
|
|
318
|
-
<TableBottomBar
|
|
319
|
-
part="table-footer"
|
|
320
|
-
className="border-t border-border pt-1.5 pb-0.5"
|
|
321
|
-
totalColumns={totalColumns}
|
|
322
|
-
pagination={pagination}
|
|
323
|
-
selection={selection}
|
|
324
|
-
onRowSelectionChange={onRowSelectionChange}
|
|
325
|
-
table={table}
|
|
326
|
-
getRowIds={getRowIds}
|
|
327
|
-
showPageSizeSelector={showPageSizeSelector}
|
|
328
|
-
tableLoading={reloading}
|
|
329
|
-
/>
|
|
330
330
|
</CellSelectionProvider>
|
|
331
331
|
</div>
|
|
332
332
|
);
|
|
@@ -43,7 +43,7 @@ export const LoadingTable = ({
|
|
|
43
43
|
<TableBody>
|
|
44
44
|
{Array.from({ length: pageSize }).map((_, i) => (
|
|
45
45
|
<TableRow key={i}>
|
|
46
|
-
{Array.from({ length: NUM_COLUMNS }).map((
|
|
46
|
+
{Array.from({ length: NUM_COLUMNS }).map((__, j) => (
|
|
47
47
|
<TableCell key={j}>
|
|
48
48
|
<div className="h-4 bg-(--slate-5) animate-pulse rounded-md w-[90%]" />
|
|
49
49
|
</TableCell>
|
|
@@ -10,7 +10,7 @@ vi.mock("@/utils/copy", () => ({
|
|
|
10
10
|
}));
|
|
11
11
|
|
|
12
12
|
vi.mock("../utils", async (importOriginal) => {
|
|
13
|
-
//
|
|
13
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
14
14
|
const original = (await importOriginal()) as any;
|
|
15
15
|
return {
|
|
16
16
|
...original,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
} from "../atoms";
|
|
29
29
|
import { getCellsBetween, getCellValues } from "../utils";
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
32
32
|
type T = any;
|
|
33
33
|
|
|
34
34
|
// Create mock table and cells
|
|
@@ -32,9 +32,9 @@ function initialState(): CellSelectionState {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
//
|
|
35
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
36
36
|
type AnyTable = Table<any>;
|
|
37
|
-
//
|
|
37
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
38
38
|
type AnyCell = Cell<any, unknown>;
|
|
39
39
|
|
|
40
40
|
const {
|
|
@@ -51,7 +51,7 @@ export const DependencyGraphTree: React.FC<PropsWithChildren<Props>> = ({
|
|
|
51
51
|
layoutDirection,
|
|
52
52
|
settings,
|
|
53
53
|
}) => {
|
|
54
|
-
//
|
|
54
|
+
// oxlint-disable-next-line react/hook-use-state
|
|
55
55
|
const [initial] = useState(() => {
|
|
56
56
|
let elements = elementsBuilder.createElements(
|
|
57
57
|
cellIds,
|
|
@@ -176,7 +176,7 @@ describe("DynamicFavicon", () => {
|
|
|
176
176
|
const { rerender } = render(<DynamicFavicon isRunning={true} />);
|
|
177
177
|
rerender(<DynamicFavicon isRunning={false} />);
|
|
178
178
|
|
|
179
|
-
//
|
|
179
|
+
// oxlint-disable-next-line typescript/unbound-method
|
|
180
180
|
expect(Notification.requestPermission).toHaveBeenCalled();
|
|
181
181
|
});
|
|
182
182
|
});
|