@marimo-team/islands 0.23.10-dev17 → 0.23.10-dev18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{code-visibility-D80f1Ibv.js → code-visibility-CsR8644L.js} +1 -1
- package/dist/main.js +2 -2
- package/dist/{reveal-component-mUdfwXMF.js → reveal-component-IUUJ4Dzx.js} +1 -1
- package/package.json +1 -1
- package/src/components/editor/file-tree/tree-actions.tsx +0 -2
- package/src/components/storage/__tests__/storage-inspector.test.ts +1 -3
- package/src/components/storage/storage-inspector.tsx +18 -24
|
@@ -35274,7 +35274,7 @@ ${d}`,
|
|
|
35274
35274
|
return Logger.warn("Failed to get version from mount config"), null;
|
|
35275
35275
|
}
|
|
35276
35276
|
}
|
|
35277
|
-
marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.10-
|
|
35277
|
+
marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.10-dev18");
|
|
35278
35278
|
showCodeInRunModeAtom = atom(true);
|
|
35279
35279
|
atom(null);
|
|
35280
35280
|
var import_compiler_runtime = require_compiler_runtime();
|
package/dist/main.js
CHANGED
|
@@ -26,7 +26,7 @@ import { $ as useCellActions, An as LoaderCircle, At as DeferredRequestRegistry,
|
|
|
26
26
|
import { __tla as __tla_1 } from "./chunk-5FQGJX7Z-BNjes6Yx.js";
|
|
27
27
|
import { o as useSize, s as Root$2, u as createLucideIcon } from "./dist-C1BYNeCR.js";
|
|
28
28
|
import { A as SquareFunction, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, O as TIME_UNIT_DESCRIPTIONS, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as ChartColumn, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON } from "./spec-B96zNUEA.js";
|
|
29
|
-
import { $ as TableBody, $t as ChevronLeft, A as ComboboxItem, At as ChartErrorState, B as contextAwarePanelOpen, Bt as $fae977aafc393c5c$export$6b862160d295c8e, C as prettifyRowColumnCount, Ct as dateToLocalISODate, D as DatePicker, Dt as TabsContent, E as useInternalStateWithSync, Et as Tabs, F as CommandList, Ft as RenderTextWithLinks, G as slotsController, H as contextAwarePanelType, Ht as GripHorizontal, I as CommandSeparator, It as Kbd, Jt as Code, K as Toggle, Kt as Ellipsis, L as smartMatch, Lt as HtmlOutput, M as CommandEmpty, Mt as ChartLoadingState, N as CommandInput, Nt as LazyVegaEmbed, O as DateRangePicker, Ot as TabsList, P as CommandItem, Pt as useOverflowDetection, Q as Table, Qt as ChevronsDownUp, R as ContextAwarePanelItem, Rt as EmotionCacheProvider, S as downloadSizeLimitAtom, St as Maps, T as getColumnCountForDisplay, Tt as dateToLocalISOTime, U as isCellAwareAtom, Ut as Funnel, V as contextAwarePanelOwner, Vt as TextWrap, W as SlotNames, Wt as EyeOff, X as Fill, Xt as ChevronsRight, Yt as ChevronsUpDown, Z as Provider$1, Zt as ChevronsLeft, _ as downloadBlob, _t as SELECT_COLUMN_ID, at as generateColumns, b as Progress, bt as getMimeValues, c as Slide, ct as ColumnChartContext, d as JsonOutput, dt as useIntersectionObserver, en as ArrowDownWideNarrow, et as TableCell, f as OutputArea, ft as usePrevious$1, g as ADD_PRINTING_CLASS, gt as INDEX_COLUMN_NAME, h as InstallPackageButton, ht as loadTableData, it as NAMELESS_COLUMN_PREFIX, j as Command, jt as ChartInfoState, k as Combobox, kt as TabsTrigger, l as RadioGroup, lt as ColumnChartSpecModel, m as DataTable, mt as loadTableAndRawData, n as marimoVersionAtom, nt as TableHeader, o as SLIDE_TYPE_OPTIONS_BY_VALUE, ot as inferFieldTypes, p as OutputRenderer, pt as getPageIndexForRow, qt as Download, r as showCodeInRunModeAtom, rt as TableRow, st as renderCellValue, t as useNotebookCodeAvailable, tt as TableHead, u as RadioGroupItem, ut as DelayMount, v as downloadByURL, vt as TOO_MANY_ROWS, w as prettifyRowCount, wt as dateToLocalISODateTime, x as Filenames, xt as isNullishFilter, y as downloadHTMLAsImage, yt as toFieldTypes, z as PANEL_TYPES, zt as $fae977aafc393c5c$export$588937bcd60ade55, __tla as __tla_2 } from "./code-visibility-
|
|
29
|
+
import { $ as TableBody, $t as ChevronLeft, A as ComboboxItem, At as ChartErrorState, B as contextAwarePanelOpen, Bt as $fae977aafc393c5c$export$6b862160d295c8e, C as prettifyRowColumnCount, Ct as dateToLocalISODate, D as DatePicker, Dt as TabsContent, E as useInternalStateWithSync, Et as Tabs, F as CommandList, Ft as RenderTextWithLinks, G as slotsController, H as contextAwarePanelType, Ht as GripHorizontal, I as CommandSeparator, It as Kbd, Jt as Code, K as Toggle, Kt as Ellipsis, L as smartMatch, Lt as HtmlOutput, M as CommandEmpty, Mt as ChartLoadingState, N as CommandInput, Nt as LazyVegaEmbed, O as DateRangePicker, Ot as TabsList, P as CommandItem, Pt as useOverflowDetection, Q as Table, Qt as ChevronsDownUp, R as ContextAwarePanelItem, Rt as EmotionCacheProvider, S as downloadSizeLimitAtom, St as Maps, T as getColumnCountForDisplay, Tt as dateToLocalISOTime, U as isCellAwareAtom, Ut as Funnel, V as contextAwarePanelOwner, Vt as TextWrap, W as SlotNames, Wt as EyeOff, X as Fill, Xt as ChevronsRight, Yt as ChevronsUpDown, Z as Provider$1, Zt as ChevronsLeft, _ as downloadBlob, _t as SELECT_COLUMN_ID, at as generateColumns, b as Progress, bt as getMimeValues, c as Slide, ct as ColumnChartContext, d as JsonOutput, dt as useIntersectionObserver, en as ArrowDownWideNarrow, et as TableCell, f as OutputArea, ft as usePrevious$1, g as ADD_PRINTING_CLASS, gt as INDEX_COLUMN_NAME, h as InstallPackageButton, ht as loadTableData, it as NAMELESS_COLUMN_PREFIX, j as Command, jt as ChartInfoState, k as Combobox, kt as TabsTrigger, l as RadioGroup, lt as ColumnChartSpecModel, m as DataTable, mt as loadTableAndRawData, n as marimoVersionAtom, nt as TableHeader, o as SLIDE_TYPE_OPTIONS_BY_VALUE, ot as inferFieldTypes, p as OutputRenderer, pt as getPageIndexForRow, qt as Download, r as showCodeInRunModeAtom, rt as TableRow, st as renderCellValue, t as useNotebookCodeAvailable, tt as TableHead, u as RadioGroupItem, ut as DelayMount, v as downloadByURL, vt as TOO_MANY_ROWS, w as prettifyRowCount, wt as dateToLocalISODateTime, x as Filenames, xt as isNullishFilter, y as downloadHTMLAsImage, yt as toFieldTypes, z as PANEL_TYPES, zt as $fae977aafc393c5c$export$588937bcd60ade55, __tla as __tla_2 } from "./code-visibility-CsR8644L.js";
|
|
30
30
|
import { c as Calendar, i as createReducerAndAtoms, n as useOnUnmount, o as ToggleLeft, t as useOnMount } from "./useLifecycle-BBO9PIph.js";
|
|
31
31
|
import { t as Check } from "./check-DTbrK0zt.js";
|
|
32
32
|
import { A as Trigger$1, C as $a916eb452884faea$export$b7a616150fdb9f44, E as $18f2051aff69b9bf$export$a54013f0d02a8f82, F as X, L as ChevronDown, M as usePrevious$2, N as useDirection, P as createCollection, S as logNever, T as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, a as SelectGroup, c as SelectSeparator, d as NativeSelect, i as SelectContent, j as clamp$2, k as Icon, l as SelectTrigger, n as capitalize, o as SelectItem, r as Select, s as SelectLabel, t as Strings, u as SelectValue, x as assertNever } from "./strings-Bu3vlb6W.js";
|
|
@@ -36116,7 +36116,7 @@ ${c}
|
|
|
36116
36116
|
if (l && l !== "slide") return l;
|
|
36117
36117
|
if (c == null ? void 0 : c.has(e)) return "skip";
|
|
36118
36118
|
}
|
|
36119
|
-
var LazySlidesComponent = import_react.lazy(() => import("./reveal-component-
|
|
36119
|
+
var LazySlidesComponent = import_react.lazy(() => import("./reveal-component-IUUJ4Dzx.js"));
|
|
36120
36120
|
const SlidesLayoutRenderer = ({ layout: e, setLayout: r, cells: c, mode: l }) => {
|
|
36121
36121
|
var _a3;
|
|
36122
36122
|
let u = useAtomValue(kioskModeAtom), d = l === "read" || u, f = useAtomValue(numColumnsAtom) > 1, [p, m] = (0, import_react.useState)(null), { slideCells: h, skippedIds: g, noOutputIds: _, slideTypes: v, startCellIndex: y } = (0, import_react.useMemo)(() => computeSlideCellsInfo(c, e), [
|
|
@@ -9,7 +9,7 @@ import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
|
|
|
9
9
|
import { ct as kioskModeAtom } from "./html-to-image-BqJ4c852.js";
|
|
10
10
|
import "./chunk-5FQGJX7Z-BNjes6Yx.js";
|
|
11
11
|
import { u as createLucideIcon } from "./dist-C1BYNeCR.js";
|
|
12
|
-
import { Gt as Expand, J as PanelGroup, Jt as Code, Wt as EyeOff, Y as PanelResizeHandle, a as DEFAULT_SLIDE_TYPE, c as Slide, i as DEFAULT_DECK_TRANSITION, q as Panel, s as SlideSidebar, t as useNotebookCodeAvailable } from "./code-visibility-
|
|
12
|
+
import { Gt as Expand, J as PanelGroup, Jt as Code, Wt as EyeOff, Y as PanelResizeHandle, a as DEFAULT_SLIDE_TYPE, c as Slide, i as DEFAULT_DECK_TRANSITION, q as Panel, s as SlideSidebar, t as useNotebookCodeAvailable } from "./code-visibility-CsR8644L.js";
|
|
13
13
|
import { q as useDebouncedCallback } from "./input-_2sjvfne.js";
|
|
14
14
|
import "./toDate-x-WRDCH7.js";
|
|
15
15
|
import "./react-dom-BTJzcVJ9.js";
|
package/package.json
CHANGED
|
@@ -84,9 +84,7 @@ export const VisibilityToggleButton: React.FC<{
|
|
|
84
84
|
/** Whether the optional items are currently visible. */
|
|
85
85
|
isVisible: boolean;
|
|
86
86
|
onToggle: () => void;
|
|
87
|
-
/** Tooltip shown while items are hidden (clicking will show them). */
|
|
88
87
|
showTooltip: string;
|
|
89
|
-
/** Tooltip shown while items are visible (clicking will hide them). */
|
|
90
88
|
hideTooltip: string;
|
|
91
89
|
size?: ButtonProps["size"];
|
|
92
90
|
className?: string;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
3
|
import type { StorageEntry } from "@/core/storage/types";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const { storageEntryKey } = exportedForTesting;
|
|
4
|
+
import { storageEntryKey } from "../storage-inspector";
|
|
7
5
|
|
|
8
6
|
function makeEntry(
|
|
9
7
|
overrides: Partial<StorageEntry> & { path: string },
|
|
@@ -98,7 +98,7 @@ function displayName(path: string): string {
|
|
|
98
98
|
* Stable, unique identity for an entry row. Prefer the
|
|
99
99
|
* backend's stable id when present and fall back to the list index
|
|
100
100
|
*/
|
|
101
|
-
function storageEntryKey(entry: StorageEntry, index: number): string {
|
|
101
|
+
export function storageEntryKey(entry: StorageEntry, index: number): string {
|
|
102
102
|
const id = entry.metadata?.id;
|
|
103
103
|
if (typeof id === "string" && id.length > 0) {
|
|
104
104
|
return id;
|
|
@@ -106,15 +106,19 @@ function storageEntryKey(entry: StorageEntry, index: number): string {
|
|
|
106
106
|
return `${entry.path}::${index}`;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
interface SearchContext {
|
|
110
|
+
namespace: string;
|
|
111
|
+
searchValue: string;
|
|
112
|
+
entriesByPath: ReadonlyMap<StoragePathKey, StorageEntry[]>;
|
|
113
|
+
}
|
|
114
|
+
|
|
109
115
|
/**
|
|
110
116
|
* Recursively check whether an entry (or any of its loaded descendants)
|
|
111
117
|
* matches the search query.
|
|
112
118
|
*/
|
|
113
119
|
function entryMatchesSearch(
|
|
114
120
|
entry: StorageEntry,
|
|
115
|
-
namespace:
|
|
116
|
-
searchValue: string,
|
|
117
|
-
entriesByPath: ReadonlyMap<StoragePathKey, StorageEntry[]>,
|
|
121
|
+
{ namespace, searchValue, entriesByPath }: SearchContext,
|
|
118
122
|
): boolean {
|
|
119
123
|
const query = searchValue.toLowerCase();
|
|
120
124
|
|
|
@@ -127,7 +131,7 @@ function entryMatchesSearch(
|
|
|
127
131
|
const children = entriesByPath.get(storagePathKey(namespace, entry.path));
|
|
128
132
|
if (children) {
|
|
129
133
|
return children.some((child) =>
|
|
130
|
-
entryMatchesSearch(child, namespace, searchValue, entriesByPath),
|
|
134
|
+
entryMatchesSearch(child, { namespace, searchValue, entriesByPath }),
|
|
131
135
|
);
|
|
132
136
|
}
|
|
133
137
|
}
|
|
@@ -141,16 +145,12 @@ function entryMatchesSearch(
|
|
|
141
145
|
*/
|
|
142
146
|
function filterEntries(
|
|
143
147
|
entries: StorageEntry[],
|
|
144
|
-
|
|
145
|
-
searchValue: string,
|
|
146
|
-
entriesByPath: ReadonlyMap<StoragePathKey, StorageEntry[]>,
|
|
148
|
+
context: SearchContext,
|
|
147
149
|
): StorageEntry[] {
|
|
148
|
-
if (!searchValue.trim()) {
|
|
150
|
+
if (!context.searchValue.trim()) {
|
|
149
151
|
return entries;
|
|
150
152
|
}
|
|
151
|
-
return entries.filter((entry) =>
|
|
152
|
-
entryMatchesSearch(entry, namespace, searchValue, entriesByPath),
|
|
153
|
-
);
|
|
153
|
+
return entries.filter((entry) => entryMatchesSearch(entry, context));
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
@@ -216,12 +216,11 @@ const StorageEntryChildren: React.FC<{
|
|
|
216
216
|
);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
const filtered = filterEntries(
|
|
220
|
-
children,
|
|
219
|
+
const filtered = filterEntries(children, {
|
|
221
220
|
namespace,
|
|
222
221
|
searchValue,
|
|
223
222
|
entriesByPath,
|
|
224
|
-
);
|
|
223
|
+
});
|
|
225
224
|
|
|
226
225
|
return (
|
|
227
226
|
<>
|
|
@@ -289,7 +288,7 @@ const StorageEntryRow: React.FC<{
|
|
|
289
288
|
!!entriesByPath
|
|
290
289
|
.get(storagePathKey(namespace, entry.path))
|
|
291
290
|
?.some((child) =>
|
|
292
|
-
entryMatchesSearch(child, namespace, searchValue, entriesByPath),
|
|
291
|
+
entryMatchesSearch(child, { namespace, searchValue, entriesByPath }),
|
|
293
292
|
);
|
|
294
293
|
|
|
295
294
|
// Folder is shown expanded by manual toggle OR by search auto-expand
|
|
@@ -476,12 +475,11 @@ const StorageNamespaceSection: React.FC<{
|
|
|
476
475
|
|
|
477
476
|
// While loading, fall back to initial entries from the namespace notification
|
|
478
477
|
const entries = isPending ? namespace.storageEntries : fetchedEntries;
|
|
479
|
-
const filtered = filterEntries(
|
|
480
|
-
|
|
481
|
-
namespaceName,
|
|
478
|
+
const filtered = filterEntries(entries, {
|
|
479
|
+
namespace: namespaceName,
|
|
482
480
|
searchValue,
|
|
483
481
|
entriesByPath,
|
|
484
|
-
);
|
|
482
|
+
});
|
|
485
483
|
|
|
486
484
|
return (
|
|
487
485
|
<>
|
|
@@ -674,7 +672,3 @@ export const StorageInspector: React.FC = () => {
|
|
|
674
672
|
</div>
|
|
675
673
|
);
|
|
676
674
|
};
|
|
677
|
-
|
|
678
|
-
export const exportedForTesting = {
|
|
679
|
-
storageEntryKey,
|
|
680
|
-
};
|