@marimo-team/frontend 0.24.1-dev84 → 0.24.1-dev85
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-GcHBZKLm.js → CellStatus-D40JXMpi.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BU1NZpRe.js → ConnectedDataExplorerComponent-Dkqk66Mv.js} +1 -1
- package/dist/assets/{JsonOutput-CUJlEdsN.js → JsonOutput-DeeAtdky.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-DCAezqcJ.js → MarimoErrorOutput-Dh-877oV.js} +1 -1
- package/dist/assets/{RenderHTML-D9-75ltP.js → RenderHTML-C7JgAfHC.js} +1 -1
- package/dist/assets/{RunButton-plSsbubG.js → RunButton-C9d_w3qn.js} +1 -1
- package/dist/assets/{add-cell-with-ai-07LjLydm.js → add-cell-with-ai-zrX9HOPy.js} +1 -1
- package/dist/assets/{add-connection-dialog-By0i0Fq5.js → add-connection-dialog-OQxtKyCV.js} +1 -1
- package/dist/assets/{agent-panel-D01f7IIt.js → agent-panel-DF7_IEEH.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DPxSumqI.js → ai-model-dropdown-DIItpu01.js} +1 -1
- package/dist/assets/{app-config-button-DV7ZvBMx.js → app-config-button-CeDIYZUc.js} +1 -1
- package/dist/assets/{blob-yxfhyyvD.js → blob-iewSQmkZ.js} +1 -1
- package/dist/assets/{cell-editor-Bl5DkKIR.js → cell-editor-BkHTcrF-.js} +1 -1
- package/dist/assets/{cell-link-hHrWcozB.js → cell-link-ZLZTXwR8.js} +1 -1
- package/dist/assets/{cells-yuYDzbAy.js → cells-DyE9dSiM.js} +1 -1
- package/dist/assets/{chat-display-BFCcdgia.js → chat-display-B9XOYJaA.js} +1 -1
- package/dist/assets/{chat-panel-CS9bLpq9.js → chat-panel-Drx8ToF5.js} +1 -1
- package/dist/assets/{chat-ui-lssAqY7E.js → chat-ui-CJ1VFz1m.js} +1 -1
- package/dist/assets/{column-preview-BEmcYaKl.js → column-preview-Ls8UnJOt.js} +1 -1
- package/dist/assets/{command-palette-DInNqneC.js → command-palette-DWyHSatV.js} +1 -1
- package/dist/assets/{common-Bs2kaOs2.js → common-03vbDqrN.js} +1 -1
- package/dist/assets/{components-ib4asSo7.js → components-CBlGIIAX.js} +1 -1
- package/dist/assets/{components-ByyAzQxP.js → components-J_vBLfsO.js} +1 -1
- package/dist/assets/{config-DaNyNpZL.js → config-D4frVGQ4.js} +1 -1
- package/dist/assets/{config-Cl3eMWxb.js → config-ycxJQP2b.js} +1 -1
- package/dist/assets/{datasource-DeZYq5UY.js → datasource-B4VfwXg_.js} +1 -1
- package/dist/assets/{dependency-graph-panel-g10osAFc.js → dependency-graph-panel-B24NhlCS.js} +1 -1
- package/dist/assets/{documentation-panel-CZ1mKkDh.js → documentation-panel-C4y_ufGj.js} +1 -1
- package/dist/assets/{download-D1crMjD8.js → download-Kg8_rqQH.js} +1 -1
- package/dist/assets/{edit-page-ZyGzkf7q.js → edit-page-DL_yo5rn.js} +4 -4
- package/dist/assets/{error-entries-B6XTLRyE.js → error-entries-Cy1y8FaI.js} +1 -1
- package/dist/assets/{error-panel-lexB3L6f.js → error-panel-D_pwhWfh.js} +1 -1
- package/dist/assets/file-explorer-panel-QoJu0RbE.js +1 -0
- package/dist/assets/{file-icons-Dx3v6lMu.js → file-icons-BN7fZ7-c.js} +1 -1
- package/dist/assets/file-name-input-qU-dl8Og.js +3 -0
- package/dist/assets/{floating-outline-3rQEbxxk.js → floating-outline-Coq72JrA.js} +1 -1
- package/dist/assets/{glide-data-editor-DZ2Minh8.js → glide-data-editor-DcY3nXI8.js} +1 -1
- package/dist/assets/{home-page-Ck-_oVJT.js → home-page-C6NwS9L9.js} +1 -1
- package/dist/assets/{index-g9ny2vs0.js → index-DMvKFHTV.js} +5 -5
- package/dist/assets/{kiosk-mode-CjT3sqy8.js → kiosk-mode-CzGt3mc2.js} +1 -1
- package/dist/assets/{layout-D0Q03BhB.js → layout-ByAlvlct.js} +3 -3
- package/dist/assets/{logs-panel-CSbUhhRo.js → logs-panel-zYelRd3A.js} +1 -1
- package/dist/assets/{markdown-renderer-BgUTGtM0.js → markdown-renderer-BqMslrdb.js} +1 -1
- package/dist/assets/{mermaid-Nzih1WTG.js → mermaid-CeseGGnS.js} +1 -1
- package/dist/assets/{name-cell-input-pEE4FGAL.js → name-cell-input-jrtswt5e.js} +1 -1
- package/dist/assets/{outline-panel-BgnjEQWg.js → outline-panel-B0P8XNnQ.js} +1 -1
- package/dist/assets/{packages-panel-BBP_xysn.js → packages-panel-C08E4Wjm.js} +1 -1
- package/dist/assets/{pair-with-agent-modal-Gg8MZHWW.js → pair-with-agent-modal-BZBengJw.js} +1 -1
- package/dist/assets/{panel-accordion-state-vpqEc3Kd.js → panel-accordion-state-Cyy4afrx.js} +1 -1
- package/dist/assets/{panels-fKt2XFRB.js → panels-DRtPsJ1u.js} +1 -1
- package/dist/assets/{process-output-siRm_lza.js → process-output-BiA5MKpM.js} +1 -1
- package/dist/assets/{readonly-code-display-CLWV76FT.js → readonly-code-display-B45Jy4vH.js} +1 -1
- package/dist/assets/{readonly-python-code-Bor9b9pV.js → readonly-python-code-BQ5Ti6Hw.js} +1 -1
- package/dist/assets/{renderShortcut-CS4ccH3x.js → renderShortcut-DK_OucLT.js} +1 -1
- package/dist/assets/{reveal-component-B55bWtCO.js → reveal-component-Bna3jncc.js} +1 -1
- package/dist/assets/{run-page-mD_6P_t5.js → run-page-CFC5C_It.js} +1 -1
- package/dist/assets/{scratchpad-panel-B_7IHnPD.js → scratchpad-panel-m2LRBFI5.js} +1 -1
- package/dist/assets/{session-panel-DB5qEYqt.js → session-panel-BV8Whoy8.js} +1 -1
- package/dist/assets/{skeleton-TY77TiqZ.js → skeleton-CWFWp9eU.js} +1 -1
- package/dist/assets/{snippets-panel-B8Yi81tz.js → snippets-panel-DBzdOGwQ.js} +1 -1
- package/dist/assets/state-DPS9Q717.js +3 -0
- package/dist/assets/{state-O8w98G11.js → state-rP7TRCla.js} +1 -1
- package/dist/assets/{switch-Gl6cozkm.js → switch-CtH5Ct94.js} +1 -1
- package/dist/assets/{terminal-DOqqA9Ha.js → terminal-C73iz1fU.js} +1 -1
- package/dist/assets/{tracing-DuLkr7ts.js → tracing-BP1J14GT.js} +1 -1
- package/dist/assets/{tracing-panel-CeLKVG8M.js → tracing-panel-CQasWudc.js} +2 -2
- package/dist/assets/{tree-actions-Bh-Nnaub.js → tree-actions-CrB9REp3.js} +1 -1
- package/dist/assets/{useAddCell-_JRYhAFd.js → useAddCell-DHYPnl7W.js} +1 -1
- package/dist/assets/{useBoolean-Cu7Eado1.js → useBoolean-ZU5StAbr.js} +1 -1
- package/dist/assets/{useCellActionButton-Bi8Lnv3F.js → useCellActionButton-C7bEu9tJ.js} +1 -1
- package/dist/assets/{useDeleteCell-CBQiavzs.js → useDeleteCell-CIzxZKUw.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BOn3UJ07.js → useDependencyPanelTab-CLmRGbOD.js} +1 -1
- package/dist/assets/{useNotebookActions-C1YIorGp.js → useNotebookActions-Q97EgZxR.js} +1 -1
- package/dist/assets/{useRunCells-BFQfLlUl.js → useRunCells-Csh5VYKu.js} +1 -1
- package/dist/assets/{useSplitCell-Ig9P6lAn.js → useSplitCell-BfT7UcKM.js} +1 -1
- package/dist/assets/{useTheme-D3zvxdF3.js → useTheme-CF-zG9YH.js} +1 -1
- package/dist/assets/{utils-CUZQNAWJ.js → utils-CWSZQEjr.js} +1 -1
- package/dist/assets/{vega-component-B0MZ_r-y.js → vega-component-Bel2PDO-.js} +1 -1
- package/dist/index.html +26 -26
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/editor/chrome/panels/file-explorer-panel.tsx +3 -2
- package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +31 -18
- package/src/components/editor/file-tree/__tests__/file-explorer.test.ts +18 -12
- package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +364 -387
- package/src/components/editor/file-tree/file-explorer.tsx +137 -97
- package/src/components/editor/file-tree/file-name-input.tsx +5 -1
- package/src/components/editor/file-tree/file-viewer.tsx +2 -2
- package/src/components/editor/file-tree/requesting-tree.tsx +291 -171
- package/src/components/editor/file-tree/state.tsx +1 -0
- package/src/core/config/__tests__/config-schema.test.ts +15 -0
- package/src/core/config/config-schema.ts +15 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/network/__tests__/requests-network.test.ts +7 -0
- package/src/core/network/__tests__/requests-toasting.test.tsx +10 -0
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +4 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +3 -0
- package/src/core/wasm/bridge.ts +9 -0
- package/src/core/wasm/worker/types.ts +2 -0
- package/dist/assets/file-explorer-panel-DHRH2J-3.js +0 -1
- package/dist/assets/file-name-input-DzL8D_7x.js +0 -3
- package/dist/assets/state-D1N9_41P.js +0 -3
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
|
-
import type {
|
|
3
|
+
import type { FileTreeNode } from "../requesting-tree";
|
|
4
4
|
import { filterHiddenTree, isDirectoryOrFileHidden } from "../file-explorer";
|
|
5
5
|
|
|
6
6
|
// Helpers to build FileInfo objects for tests
|
|
7
|
-
const file = (name: string, path: string):
|
|
7
|
+
const file = (name: string, path: string): FileTreeNode => ({
|
|
8
8
|
id: path,
|
|
9
9
|
name,
|
|
10
10
|
path,
|
|
11
11
|
isDirectory: false,
|
|
12
12
|
isMarimoFile: false,
|
|
13
13
|
children: [],
|
|
14
|
+
isRoot: false,
|
|
15
|
+
rootPath: "/",
|
|
16
|
+
isPrimaryRoot: true,
|
|
14
17
|
});
|
|
15
18
|
|
|
16
19
|
const dir = (
|
|
17
20
|
name: string,
|
|
18
21
|
path: string,
|
|
19
|
-
children:
|
|
20
|
-
):
|
|
22
|
+
children: FileTreeNode[] = [],
|
|
23
|
+
): FileTreeNode => ({
|
|
21
24
|
id: path,
|
|
22
25
|
name,
|
|
23
26
|
path,
|
|
24
27
|
isDirectory: true,
|
|
25
28
|
isMarimoFile: false,
|
|
26
29
|
children,
|
|
30
|
+
isRoot: false,
|
|
31
|
+
rootPath: "/",
|
|
32
|
+
isPrimaryRoot: true,
|
|
27
33
|
});
|
|
28
34
|
|
|
29
35
|
describe("isDirectoryOrFileHidden", () => {
|
|
@@ -47,7 +53,7 @@ describe("isDirectoryOrFileHidden", () => {
|
|
|
47
53
|
|
|
48
54
|
describe("filterHiddenTree", () => {
|
|
49
55
|
it("should return all items when showHidden is true", () => {
|
|
50
|
-
const list:
|
|
56
|
+
const list: FileTreeNode[] = [
|
|
51
57
|
dir(".git", "/.git", []),
|
|
52
58
|
file("README.md", "/README.md"),
|
|
53
59
|
file(".env", "/.env"),
|
|
@@ -60,7 +66,7 @@ describe("filterHiddenTree", () => {
|
|
|
60
66
|
});
|
|
61
67
|
|
|
62
68
|
it("should filter out hidden files when showHidden is false", () => {
|
|
63
|
-
const list:
|
|
69
|
+
const list: FileTreeNode[] = [
|
|
64
70
|
dir(".git", "/.git"),
|
|
65
71
|
file("README.md", "/README.md"),
|
|
66
72
|
file(".env", "/.env"),
|
|
@@ -75,7 +81,7 @@ describe("filterHiddenTree", () => {
|
|
|
75
81
|
});
|
|
76
82
|
|
|
77
83
|
it("should filter hidden directories recursively", () => {
|
|
78
|
-
const list:
|
|
84
|
+
const list: FileTreeNode[] = [
|
|
79
85
|
dir("src", "/src", [
|
|
80
86
|
file("index.ts", "/src/index.ts"),
|
|
81
87
|
file(".DS_Store", "/src/.DS_Store"),
|
|
@@ -94,7 +100,7 @@ describe("filterHiddenTree", () => {
|
|
|
94
100
|
});
|
|
95
101
|
|
|
96
102
|
it("should handle nested hidden files", () => {
|
|
97
|
-
const list:
|
|
103
|
+
const list: FileTreeNode[] = [
|
|
98
104
|
dir("project", "/project", [
|
|
99
105
|
dir("src", "/project/src", [
|
|
100
106
|
file("index.ts", "/project/src/index.ts"),
|
|
@@ -114,7 +120,7 @@ describe("filterHiddenTree", () => {
|
|
|
114
120
|
});
|
|
115
121
|
|
|
116
122
|
it("should preserve directory structure when no children are filtered", () => {
|
|
117
|
-
const list:
|
|
123
|
+
const list: FileTreeNode[] = [
|
|
118
124
|
dir("src", "/src", [
|
|
119
125
|
file("index.ts", "/src/index.ts"),
|
|
120
126
|
file("utils.ts", "/src/utils.ts"),
|
|
@@ -128,7 +134,7 @@ describe("filterHiddenTree", () => {
|
|
|
128
134
|
});
|
|
129
135
|
|
|
130
136
|
it("should create new object only when children are filtered", () => {
|
|
131
|
-
const list:
|
|
137
|
+
const list: FileTreeNode[] = [
|
|
132
138
|
dir("src", "/src", [
|
|
133
139
|
file("index.ts", "/src/index.ts"),
|
|
134
140
|
file(".hidden", "/src/.hidden"),
|
|
@@ -148,7 +154,7 @@ describe("filterHiddenTree", () => {
|
|
|
148
154
|
});
|
|
149
155
|
|
|
150
156
|
it("should handle empty children arrays", () => {
|
|
151
|
-
const list:
|
|
157
|
+
const list: FileTreeNode[] = [dir("empty-dir", "/empty-dir", [])];
|
|
152
158
|
|
|
153
159
|
const result = filterHiddenTree(list, false);
|
|
154
160
|
|
|
@@ -157,7 +163,7 @@ describe("filterHiddenTree", () => {
|
|
|
157
163
|
});
|
|
158
164
|
|
|
159
165
|
it("should handle deeply nested structures", () => {
|
|
160
|
-
const list:
|
|
166
|
+
const list: FileTreeNode[] = [
|
|
161
167
|
dir("level1", "/level1", [
|
|
162
168
|
dir("level2", "/level1/level2", [
|
|
163
169
|
dir("level3", "/level1/level2/level3", [
|