@marimo-team/frontend 0.24.3-dev83 → 0.24.3-dev88
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/{ConnectedDataExplorerComponent-BpquZl-D.js → ConnectedDataExplorerComponent-Bdak5-o8.js} +1 -1
- package/dist/assets/{ErrorBoundary-BQqmHnXk.js → ErrorBoundary-DrliQ_7g.js} +2 -2
- package/dist/assets/{LazyAnyLanguageCodeMirror-CvxfNkWH.js → LazyAnyLanguageCodeMirror-EBegnOE0.js} +2 -2
- package/dist/assets/{RunButton-DNkIh9-L.js → RunButton-qknEPbRR.js} +1 -1
- package/dist/assets/{abnfDiagram-VCTEODGH-CnUMzJx3.js → abnfDiagram-VCTEODGH-dm832Yw9.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BMP2uVIa.js → add-cell-with-ai-Ovbsj95O.js} +1 -1
- package/dist/assets/{agent-panel-45n6y1yx.js → agent-panel-CJva58SL.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DHCy-cih.js → ai-model-dropdown-1t7m1iFc.js} +1 -1
- package/dist/assets/{any-language-editor-C4RQC2Cx.js → any-language-editor-B7QvjaYO.js} +1 -1
- package/dist/assets/{app-config-button-_8eL7EEp.js → app-config-button-vCxNGhe2.js} +1 -1
- package/dist/assets/{architectureDiagram-5GKGNRK7-bfcUxn_j.js → architectureDiagram-5GKGNRK7-CiRaYU5G.js} +1 -1
- package/dist/assets/{blockDiagram-I7D4REHJ-BpF8yI-R.js → blockDiagram-I7D4REHJ-BK3JcsXA.js} +1 -1
- package/dist/assets/{cache-panel-BR4yhYeu.js → cache-panel-DxdmvFwH.js} +1 -1
- package/dist/assets/{chat-display-C_qIajXO.js → chat-display-TI342pMF.js} +1 -1
- package/dist/assets/{chat-panel-DZ_Wgf9u.js → chat-panel-CzdR8RG_.js} +1 -1
- package/dist/assets/{chat-ui-BrP572Cm.js → chat-ui-B1aeiWdr.js} +1 -1
- package/dist/assets/{chunk-IMKFNOWR-C-rPN2GF.js → chunk-IMKFNOWR-yy9Ec7ZM.js} +1 -1
- package/dist/assets/{chunk-SHT3W25Y-P5kn0hWZ.js → chunk-SHT3W25Y-lri4OQTX.js} +1 -1
- package/dist/assets/{chunk-SVP7TREG-BDSmMBZT.js → chunk-SVP7TREG-B3ISFgJc.js} +1 -1
- package/dist/assets/{chunk-TICWLB2K-D3dtJ1vz.js → chunk-TICWLB2K-CJ7ETjY3.js} +1 -1
- package/dist/assets/{classDiagram-ZZMXUADV-DHIDyAFc.js → classDiagram-ZZMXUADV-CIEFh40S.js} +1 -1
- package/dist/assets/{classDiagram-v2-VYDZK3BY-DHIDyAFc.js → classDiagram-v2-VYDZK3BY-CIEFh40S.js} +1 -1
- package/dist/assets/{code-visibility-DB0T__on.js → code-visibility-G0W4ym3Y.js} +1 -1
- package/dist/assets/{command-palette-DvYu24TH.js → command-palette-DhdK67bL.js} +1 -1
- package/dist/assets/{common-C53kupuv.js → common-cDzShymV.js} +1 -1
- package/dist/assets/{components-BrsyCK82.js → components-B3KlHXnD.js} +1 -1
- package/dist/assets/{components-BuvKvfSS.js → components-CQVZgYvR.js} +1 -1
- package/dist/assets/{cynefinDiagram-5FMLGOSQ-CYdbFzEV.js → cynefinDiagram-5FMLGOSQ-1zl1wSTB.js} +1 -1
- package/dist/assets/{dagre-SOh4Qguh.js → dagre-DM-Ch8wC.js} +1 -1
- package/dist/assets/{dagre-GXQ25YYZ-CSEPMX9I.js → dagre-GXQ25YYZ-BqoUeivc.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-ierQMJA6.js → data-grid-overlay-editor-DbqMOWZn.js} +1 -1
- package/dist/assets/{dependency-graph-panel-DBaLCinF.js → dependency-graph-panel-C-SFFOPF.js} +1 -1
- package/dist/assets/{diagram-S7CK7UJ4-D5YIr9T4.js → diagram-S7CK7UJ4-CF90sb1m.js} +1 -1
- package/dist/assets/{diagram-UQ7AKVKN-uqarxJJM.js → diagram-UQ7AKVKN-DgbZAUCH.js} +1 -1
- package/dist/assets/{diagram-VX7I27RA-HcvMY8pK.js → diagram-VX7I27RA-6dC0a_-i.js} +1 -1
- package/dist/assets/{diagram-Z3DM3KII-fJYqqcs8.js → diagram-Z3DM3KII-C1OXYmlB.js} +1 -1
- package/dist/assets/{documentation-panel-LhtR1Gdz.js → documentation-panel-idK3s0j3.js} +1 -1
- package/dist/assets/{ebnfDiagram-PWID7BFC-z1dFbGgp.js → ebnfDiagram-PWID7BFC-7gC3cuC7.js} +1 -1
- package/dist/assets/{edit-page-B28h9Fb6.js → edit-page-_D_Nv3dJ.js} +4 -4
- package/dist/assets/{erDiagram-RLTQ6QDP-D0QTGZaN.js → erDiagram-RLTQ6QDP-BsE87b_i.js} +1 -1
- package/dist/assets/{error-panel-JrTKWez-.js → error-panel-YAFgCest.js} +1 -1
- package/dist/assets/{feedback-button-CXZUuGO0.js → feedback-button-sRQQL2TH.js} +1 -1
- package/dist/assets/{file-explorer-panel-0uckfsy9.js → file-explorer-panel-LAa-LxTN.js} +1 -1
- package/dist/assets/{file-name-input-B1oP4qI1.js → file-name-input-BXq6eIDs.js} +1 -1
- package/dist/assets/{flowDiagram-HODETNUW-CvnIcAyp.js → flowDiagram-HODETNUW-B4xRBXB1.js} +1 -1
- package/dist/assets/{gallery-page-Dr6gmPct.js → gallery-page-CH8TM7bV.js} +1 -1
- package/dist/assets/{glide-data-editor-BdNlPATo.js → glide-data-editor-DPMjaN4R.js} +4 -4
- package/dist/assets/{graphlib-coUtpRhg.js → graphlib-DDJ8O6ZH.js} +1 -1
- package/dist/assets/has-CanCEarv.js +1 -0
- package/dist/assets/{home-page-DU_vk7YP.js → home-page-vDWLpS4F.js} +1 -1
- package/dist/assets/{index-C0mx13kv.css → index-2TQenOiQ.css} +1 -1
- package/dist/assets/{index-anJECncb.js → index-CgQsZfww.js} +9 -9
- package/dist/assets/{infoDiagram-27XIBGKW-B-ESiKKL.js → infoDiagram-27XIBGKW-FE7De1I6.js} +1 -1
- package/dist/assets/{ishikawaDiagram-5VMMS53U-958453Qs.js → ishikawaDiagram-5VMMS53U-CSEGYrJ-.js} +1 -1
- package/dist/assets/{kanban-definition-UXKFOSKX-Cl3MvgdV.js → kanban-definition-UXKFOSKX-d7iAZsOb.js} +1 -1
- package/dist/assets/{logs-panel-B6dW8QcS.js → logs-panel-xMj01DRN.js} +1 -1
- package/dist/assets/{mermaid-Dk7Zo_kD.js → mermaid-CNjXdDrA.js} +4 -4
- package/dist/assets/{mindmap-definition-YA3MSWOX-ObRzpp8l.js → mindmap-definition-YA3MSWOX-CddM9_uP.js} +1 -1
- package/dist/assets/{number-overlay-editor-BaA6YHpZ.js → number-overlay-editor-N57if5NT.js} +1 -1
- package/dist/assets/{outline-panel-AF6eqkBP.js → outline-panel-Garp-f5k.js} +1 -1
- package/dist/assets/{packages-panel-DnQBjrbw.js → packages-panel-B8HU9FAM.js} +1 -1
- package/dist/assets/{panels-Gl9xHiUG.js → panels-CnbmgzkS.js} +3 -3
- package/dist/assets/{pegDiagram-XKGWAZYB-Dr1N-uz9.js → pegDiagram-XKGWAZYB-CEns8d-M.js} +1 -1
- package/dist/assets/{pieDiagram-E7YTZNPT-CuOB3ooB.js → pieDiagram-E7YTZNPT-wyb0xQ0R.js} +1 -1
- package/dist/assets/{process-output-dY19eMY7.js → process-output-ObDfw1uu.js} +1 -1
- package/dist/assets/{railroadDiagram-O6MQD6OU-B-2q9lGc.js → railroadDiagram-O6MQD6OU-DZZVHmr2.js} +1 -1
- package/dist/assets/{requirementDiagram-BXWQKSXE-DDO3d-q-.js → requirementDiagram-BXWQKSXE-C3Bf4dd5.js} +1 -1
- package/dist/assets/{reveal-component-CVZuomdL.js → reveal-component-DgrXq3Kv.js} +1 -1
- package/dist/assets/{run-page-q9RV38Se.js → run-page-E0qMru0p.js} +1 -1
- package/dist/assets/{scratchpad-panel-CB7Fy9xQ.js → scratchpad-panel-CCFyaegO.js} +1 -1
- package/dist/assets/{secrets-panel-fyK3DrMo.js → secrets-panel-4dRIaZfY.js} +1 -1
- package/dist/assets/{sequenceDiagram-WJ2MYXX4-09ej9W_c.js → sequenceDiagram-WJ2MYXX4-BIY0mgX7.js} +1 -1
- package/dist/assets/{session-panel-CQR7EQYe.js → session-panel-CR3BHLhQ.js} +1 -1
- package/dist/assets/{snippets-panel-C8pCQY6-.js → snippets-panel-Dn22yTr_.js} +1 -1
- package/dist/assets/{stateDiagram-D77RDMKH-Dwreh_3X.js → stateDiagram-D77RDMKH-D_xRHRLf.js} +1 -1
- package/dist/assets/{stateDiagram-v2-MP3YSRHH-CYctHUHC.js → stateDiagram-v2-MP3YSRHH-BQvYFx_a.js} +1 -1
- package/dist/assets/{swimlanes-42K2YHIH-CqtUaFZN.js → swimlanes-42K2YHIH-CDQzpfz0.js} +1 -1
- package/dist/assets/{swimlanesDiagram-VR7AAH4N-BTvyGqcs.js → swimlanesDiagram-VR7AAH4N-BAn2JKhB.js} +1 -1
- package/dist/assets/{swiper-component-BPjhKuFC.js → swiper-component-j-Lk25wW.js} +1 -1
- package/dist/assets/{terminal-CWmhjUVd.js → terminal-BToH-U1t.js} +1 -1
- package/dist/assets/{timeline-definition-24CTP7MA-DESfjZe6.js → timeline-definition-24CTP7MA-D5Jgj1fz.js} +1 -1
- package/dist/assets/{tracing-DHQdLJrw.js → tracing-DtKLmNHj.js} +1 -1
- package/dist/assets/{tracing-panel-DkDpfzxp.js → tracing-panel-C5ybTQyJ.js} +2 -2
- package/dist/assets/{useCellActionButton-JBMxiVrN.js → useCellActionButton-Bm9OZdcq.js} +1 -1
- package/dist/assets/{vega-component-C3dIfNSQ.js → vega-component-DVSvu4vP.js} +1 -1
- package/dist/assets/{vega-embed-container-DRnOQFW3.js → vega-embed-container-QM1zZmYi.js} +1 -1
- package/dist/assets/{vennDiagram-4TSXK5OY-DVP0MtbH.js → vennDiagram-4TSXK5OY-Cv6jxbpX.js} +1 -1
- package/dist/assets/{wardleyDiagram-VM6X3IG4-Boyg2AlL.js → wardleyDiagram-VM6X3IG4-lwv-YoWo.js} +1 -1
- package/dist/assets/{xychartDiagram-S5SC5T6Z-6MNoagFi.js → xychartDiagram-S5SC5T6Z-CGM4LlFN.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/src/__tests__/fixtures/pair-preview.ts +1 -1
- package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +6 -6
- package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +1 -1
- package/src/components/editor/output/Outputs.css +0 -1
- package/src/components/ui/table.tsx +1 -1
- package/src/css/app/Cell.css +0 -2
- package/src/plugins/impl/FileBrowserPlugin.tsx +10 -4
- package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +50 -1
- package/dist/assets/has-HvSiby4C.js +0 -1
|
@@ -5,8 +5,9 @@ import { beforeAll, describe, expect, it, vi } from "vitest";
|
|
|
5
5
|
import { SetupMocks } from "@/__mocks__/common";
|
|
6
6
|
import { initialModeAtom } from "@/core/mode";
|
|
7
7
|
import { store } from "@/core/state/jotai";
|
|
8
|
+
import { CellNotInitializedError } from "@/utils/errors";
|
|
8
9
|
import type { IPluginProps } from "../../types";
|
|
9
|
-
import { FileBrowserPlugin } from "../FileBrowserPlugin";
|
|
10
|
+
import { FileBrowser, FileBrowserPlugin } from "../FileBrowserPlugin";
|
|
10
11
|
|
|
11
12
|
interface MockFile {
|
|
12
13
|
id: string;
|
|
@@ -80,6 +81,54 @@ beforeAll(() => {
|
|
|
80
81
|
store.set(initialModeAtom, "edit");
|
|
81
82
|
});
|
|
82
83
|
|
|
84
|
+
describe("FileBrowserPlugin session cache recovery", () => {
|
|
85
|
+
it("retries a failed cached listing when the plugin resets", async () => {
|
|
86
|
+
const host = document.createElement("marimo-file-browser");
|
|
87
|
+
const wrapper = document.createElement("marimo-ui-element");
|
|
88
|
+
wrapper.setAttribute("random-id", "cached-id");
|
|
89
|
+
wrapper.append(host);
|
|
90
|
+
|
|
91
|
+
const props = {
|
|
92
|
+
initialPath: "/home/user",
|
|
93
|
+
filetypes: [],
|
|
94
|
+
selectionMode: "directory",
|
|
95
|
+
multiple: false,
|
|
96
|
+
label: "Pick folder",
|
|
97
|
+
restrictNavigation: false,
|
|
98
|
+
value: [],
|
|
99
|
+
setValue: vi.fn(),
|
|
100
|
+
host,
|
|
101
|
+
};
|
|
102
|
+
const error = new CellNotInitializedError();
|
|
103
|
+
const cachedListDirectory = vi.fn().mockRejectedValue(error);
|
|
104
|
+
const { rerender } = render(
|
|
105
|
+
<FileBrowser {...props} list_directory={cachedListDirectory} />,
|
|
106
|
+
);
|
|
107
|
+
expect(await screen.findByText(error.message)).toBeInTheDocument();
|
|
108
|
+
|
|
109
|
+
// PluginSlot recreates the RPC functions on reset, even when the path
|
|
110
|
+
// and the host's attributes are unchanged.
|
|
111
|
+
const liveListDirectory = mockListDirectory(FILES);
|
|
112
|
+
rerender(<FileBrowser {...props} list_directory={liveListDirectory} />);
|
|
113
|
+
|
|
114
|
+
expect(await screen.findByText("docs")).toBeInTheDocument();
|
|
115
|
+
expect(screen.queryByText(error.message)).not.toBeInTheDocument();
|
|
116
|
+
expect(liveListDirectory.mock.calls).toEqual([[{ path: "/home/user" }]]);
|
|
117
|
+
|
|
118
|
+
fireEvent.click(screen.getByRole("checkbox", { name: "Select docs" }));
|
|
119
|
+
expect(props.setValue).toHaveBeenCalledWith([
|
|
120
|
+
{ ...FILES[0], id: FILES[0].path },
|
|
121
|
+
]);
|
|
122
|
+
|
|
123
|
+
fireEvent.keyDown(screen.getAllByRole("row")[0], { key: "End" });
|
|
124
|
+
rerender(
|
|
125
|
+
<FileBrowser {...props} list_directory={mockListDirectory([FILES[0]])} />,
|
|
126
|
+
);
|
|
127
|
+
await waitFor(() => expect(screen.getAllByRole("row")).toHaveLength(2));
|
|
128
|
+
expect(screen.getAllByRole("row")[0]).toHaveAttribute("tabindex", "0");
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
|
|
83
132
|
describe("FileBrowserPlugin keyboard accessibility", () => {
|
|
84
133
|
it("renders a row per file plus the parent row", async () => {
|
|
85
134
|
renderBrowser();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ga as e}from"./index-anJECncb.js";var t=Object.prototype.hasOwnProperty;function n(e,n){return e!=null&&t.call(e,n)}function r(t,r){return t!=null&&e(t,r,n)}export{r as t};
|