@marimo-team/frontend 0.19.8-dev7 → 0.19.8-dev9
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/{JsonOutput-DT5cq5VJ.js → JsonOutput-BTXiwFjF.js} +1 -1
- package/dist/assets/{agent-panel-BcW46iQe.js → agent-panel-CCs3ktma.js} +1 -1
- package/dist/assets/{cell-editor-Uy3yV7H0.js → cell-editor-COnUMHxW.js} +1 -1
- package/dist/assets/{column-preview-DsINQLcy.js → column-preview-t0CyBVJf.js} +1 -1
- package/dist/assets/{command-palette-Cz8h81mi.js → command-palette-DJg1FMo6.js} +1 -1
- package/dist/assets/{edit-page-C3g76WMW.js → edit-page-1kpZH_Tj.js} +3 -3
- package/dist/assets/{file-explorer-panel-CAm65Xwe.js → file-explorer-panel-d9LDZt_k.js} +1 -1
- package/dist/assets/{hooks-T4-_AFet.js → hooks-jQB62wos.js} +1 -1
- package/dist/assets/{index-Dlg8GjKO.js → index-BL9e2vk6.js} +10 -10
- package/dist/assets/{layout-DeO-Ppt-.js → layout-BztBqV-1.js} +1 -1
- package/dist/assets/{panels-BdSNXi2d.js → panels-vsOIbBB6.js} +1 -1
- package/dist/assets/{run-page--5xaW5m2.js → run-page-nX90i6hX.js} +1 -1
- package/dist/assets/{scratchpad-panel-DN5qbbIL.js → scratchpad-panel-BFFeceHa.js} +1 -1
- package/dist/assets/{session-panel-DSLj3C81.js → session-panel-IeLEqwsB.js} +1 -1
- package/dist/assets/{useNotebookActions-bMdZvJyI.js → useNotebookActions-DRVyh52j.js} +1 -1
- package/dist/assets/{utilities.esm-Buwqinna.js → utilities.esm-8Diy8be3.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/src/components/data-table/__tests__/data-table.test.tsx +94 -2
- package/src/core/MarimoApp.tsx +12 -8
- package/src/plugins/core/registerReactComponent.tsx +9 -1
- package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +164 -0
- package/src/utils/__tests__/mime-types.test.ts +8 -10
- package/src/utils/mime-types.ts +5 -5
|
@@ -132,7 +132,7 @@ describe("mime-types", () => {
|
|
|
132
132
|
|
|
133
133
|
describe("sortByPrecedence", () => {
|
|
134
134
|
it("should sort entries by precedence order", () => {
|
|
135
|
-
const entries:
|
|
135
|
+
const entries: [MimeType, string][] = [
|
|
136
136
|
["text/plain", "plain"],
|
|
137
137
|
["text/html", "html"],
|
|
138
138
|
["image/png", "png"],
|
|
@@ -151,7 +151,7 @@ describe("mime-types", () => {
|
|
|
151
151
|
});
|
|
152
152
|
|
|
153
153
|
it("should place unknown mime types at the end", () => {
|
|
154
|
-
const entries:
|
|
154
|
+
const entries: [MimeType, string][] = [
|
|
155
155
|
["text/plain", "plain"],
|
|
156
156
|
["text/html", "html"],
|
|
157
157
|
["application/json", "json"],
|
|
@@ -173,7 +173,7 @@ describe("mime-types", () => {
|
|
|
173
173
|
});
|
|
174
174
|
|
|
175
175
|
it("should handle empty precedence", () => {
|
|
176
|
-
const entries:
|
|
176
|
+
const entries: [MimeType, string][] = [
|
|
177
177
|
["text/plain", "plain"],
|
|
178
178
|
["text/html", "html"],
|
|
179
179
|
];
|
|
@@ -184,7 +184,7 @@ describe("mime-types", () => {
|
|
|
184
184
|
});
|
|
185
185
|
|
|
186
186
|
it("should not mutate original array", () => {
|
|
187
|
-
const entries:
|
|
187
|
+
const entries: [MimeType, string][] = [
|
|
188
188
|
["text/plain", "plain"],
|
|
189
189
|
["text/html", "html"],
|
|
190
190
|
];
|
|
@@ -198,7 +198,7 @@ describe("mime-types", () => {
|
|
|
198
198
|
|
|
199
199
|
describe("processMimeBundle", () => {
|
|
200
200
|
it("should filter and sort mime entries", () => {
|
|
201
|
-
const entries:
|
|
201
|
+
const entries: [MimeType, string][] = [
|
|
202
202
|
["text/plain", "plain"],
|
|
203
203
|
["text/html", "html"],
|
|
204
204
|
["image/png", "png"],
|
|
@@ -226,7 +226,7 @@ describe("mime-types", () => {
|
|
|
226
226
|
});
|
|
227
227
|
|
|
228
228
|
it("should use default config when not provided", () => {
|
|
229
|
-
const entries:
|
|
229
|
+
const entries: [MimeType, string][] = [
|
|
230
230
|
["text/html", "html"],
|
|
231
231
|
["image/png", "png"],
|
|
232
232
|
["text/markdown", "md"],
|
|
@@ -240,9 +240,7 @@ describe("mime-types", () => {
|
|
|
240
240
|
|
|
241
241
|
it("should preserve data associated with mime types", () => {
|
|
242
242
|
const htmlData = { content: "<h1>Hello</h1>" };
|
|
243
|
-
const entries:
|
|
244
|
-
["text/html", htmlData],
|
|
245
|
-
];
|
|
243
|
+
const entries: [MimeType, typeof htmlData][] = [["text/html", htmlData]];
|
|
246
244
|
|
|
247
245
|
const result = processMimeBundle(entries);
|
|
248
246
|
|
|
@@ -250,7 +248,7 @@ describe("mime-types", () => {
|
|
|
250
248
|
});
|
|
251
249
|
|
|
252
250
|
it("should sort by precedence after filtering", () => {
|
|
253
|
-
const entries:
|
|
251
|
+
const entries: [MimeType, string][] = [
|
|
254
252
|
["text/plain", "plain"],
|
|
255
253
|
["text/markdown", "md"],
|
|
256
254
|
["text/html", "html"],
|
package/src/utils/mime-types.ts
CHANGED
|
@@ -26,7 +26,7 @@ export interface MimeTypeConfig {
|
|
|
26
26
|
*/
|
|
27
27
|
export interface ProcessedMimeTypes<T> {
|
|
28
28
|
/** The filtered and sorted mime entries */
|
|
29
|
-
entries:
|
|
29
|
+
entries: [MimeType, T][];
|
|
30
30
|
/** Mime types that were hidden by rules */
|
|
31
31
|
hidden: MimeType[];
|
|
32
32
|
}
|
|
@@ -146,9 +146,9 @@ export function applyHidingRules(
|
|
|
146
146
|
* Mime types not in the map are placed at the end, preserving their original order.
|
|
147
147
|
*/
|
|
148
148
|
export function sortByPrecedence<T>(
|
|
149
|
-
entries:
|
|
149
|
+
entries: [MimeType, T][],
|
|
150
150
|
precedence: ReadonlyMap<MimeType, number>,
|
|
151
|
-
):
|
|
151
|
+
): [MimeType, T][] {
|
|
152
152
|
const unknownPrecedence = precedence.size;
|
|
153
153
|
|
|
154
154
|
return [...entries].sort((a, b) => {
|
|
@@ -162,7 +162,7 @@ export function sortByPrecedence<T>(
|
|
|
162
162
|
* Main entry point: processes mime entries by applying hiding rules and sorting.
|
|
163
163
|
*/
|
|
164
164
|
export function processMimeBundle<T>(
|
|
165
|
-
entries:
|
|
165
|
+
entries: [MimeType, T][],
|
|
166
166
|
config: MimeTypeConfig = getDefaultMimeConfig(),
|
|
167
167
|
): ProcessedMimeTypes<T> {
|
|
168
168
|
if (entries.length === 0) {
|
|
@@ -176,6 +176,6 @@ export function processMimeBundle<T>(
|
|
|
176
176
|
|
|
177
177
|
return {
|
|
178
178
|
entries: sortedEntries,
|
|
179
|
-
hidden:
|
|
179
|
+
hidden: [...hidden],
|
|
180
180
|
};
|
|
181
181
|
}
|