@marimo-team/islands 0.19.8-dev1 → 0.19.8-dev10
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/{Combination-Bg-xN8JV.js → Combination-BTMrlhzT.js} +11 -10
- package/dist/{ConnectedDataExplorerComponent-DewsKLl2.js → ConnectedDataExplorerComponent-BAeQ8DWw.js} +11 -11
- package/dist/{ImageComparisonComponent-Bijp8beW.js → ImageComparisonComponent-DkEXPki_.js} +2 -2
- package/dist/{any-language-editor-DZc6NCTp.js → any-language-editor-D0UQItkS.js} +6 -6
- package/dist/{architectureDiagram-VXUJARFQ--NkyBn9Y.js → architectureDiagram-VXUJARFQ-DPPYVq8H.js} +4 -4
- package/dist/assets/__vite-browser-external-6-UwTyQC.js +1 -0
- package/dist/assets/{worker-SqntmiwV.js → worker-D3e5wDxM.js} +4 -4
- package/dist/{blockDiagram-VD42YOAC-DEZZaTW0.js → blockDiagram-VD42YOAC-BA5N05Y9.js} +4 -4
- package/dist/{button-BWvsJ2Wr.js → button-Cy0ElmIm.js} +2 -2
- package/dist/{c4Diagram-YG6GDRKO-Bj7hwWCO.js → c4Diagram-YG6GDRKO-DJLzuGJJ.js} +3 -3
- package/dist/{channel-B_QrFrGg.js → channel-Dob5kWXR.js} +1 -1
- package/dist/{check-CM_kewwn.js → check-DkNR52Mm.js} +1 -1
- package/dist/{chunk-5FQGJX7Z-D5VFKHmt.js → chunk-5FQGJX7Z-BEb20Lzt.js} +3 -3
- package/dist/{chunk-ABZYJK2D-SZPYmRzN.js → chunk-ABZYJK2D-BXTC53mt.js} +1 -1
- package/dist/{chunk-ATLVNIR6-BI_WwH1o.js → chunk-ATLVNIR6-BJDjUR_c.js} +1 -1
- package/dist/{chunk-B4BG7PRW-BlI9Gm1l.js → chunk-B4BG7PRW-DzmUUpfH.js} +4 -4
- package/dist/{chunk-DI55MBZ5-BXxemMn5.js → chunk-DI55MBZ5-gTd3J8Tu.js} +4 -4
- package/dist/{chunk-EXTU4WIE-CzWtDV99.js → chunk-EXTU4WIE-DyoOs5QX.js} +1 -1
- package/dist/{chunk-JA3XYJ7Z-DQ-2ARfa.js → chunk-JA3XYJ7Z-BGnAIbOP.js} +2 -2
- package/dist/{chunk-JZLCHNYA-CVfjf2vv.js → chunk-JZLCHNYA-CIRgweVQ.js} +4 -4
- package/dist/{chunk-N4CR4FBY-BCZvQ7Jq.js → chunk-N4CR4FBY-DKSvXAIS.js} +5 -5
- package/dist/{chunk-QN33PNHL-DY_2Q2zl.js → chunk-QN33PNHL-B6zC8BTi.js} +1 -1
- package/dist/{chunk-QXUST7PY-BMCjAVR_.js → chunk-QXUST7PY-C7750n_u.js} +5 -5
- package/dist/{chunk-S3R3BYOJ-Ddu0H4Qa.js → chunk-S3R3BYOJ-CBkH6JZZ.js} +1 -1
- package/dist/{chunk-TZMSLE5B-C2wVlbMl.js → chunk-TZMSLE5B-DObGL7xi.js} +1 -1
- package/dist/{classDiagram-2ON5EDUG-D-g7zbyO.js → classDiagram-2ON5EDUG-B9pkKjjc.js} +9 -9
- package/dist/{classDiagram-v2-WZHVMYZB-C7v5zNRD.js → classDiagram-v2-WZHVMYZB-CRhhA0tV.js} +9 -9
- package/dist/{click-outside-container-BCN5BtVO.js → click-outside-container-DNfggvIW.js} +1 -1
- package/dist/{code-block-37QAKDTI-eUgXqGNG.js → code-block-37QAKDTI-u5kgjqmr.js} +2 -2
- package/dist/{compiler-runtime-DHFVbq0b.js → compiler-runtime-B_OLMU9S.js} +1 -1
- package/dist/{copy-B59Bw3-w.js → copy-DRaXIb_a.js} +3 -3
- package/dist/{dagre-6UL2VRFP-DKIPL74O.js → dagre-6UL2VRFP-C2C2XxsB.js} +6 -6
- package/dist/{data-grid-overlay-editor-COyFwFmE.js → data-grid-overlay-editor-BXqtz1ia.js} +4 -4
- package/dist/{diagram-PSM6KHXK-CVTrAZaP.js → diagram-PSM6KHXK-DHBY-94p.js} +5 -5
- package/dist/{diagram-QEK2KX5R-BqHBzu3x.js → diagram-QEK2KX5R-CgMshOwn.js} +3 -3
- package/dist/{diagram-S2PKOQOG-CJD6owcg.js → diagram-S2PKOQOG-F1KPva3Y.js} +3 -3
- package/dist/{dist-Co5PD8Fb.js → dist-BBYTEAvO.js} +1 -1
- package/dist/{erDiagram-Q2GNP2WA-CqOceSf9.js → erDiagram-Q2GNP2WA-18gGng8V.js} +9 -9
- package/dist/{error-banner-C7KLpECd.js → error-banner-D2zjeN_a.js} +5 -5
- package/dist/{esm-D4WO8J3G.js → esm-CgRNPmz8.js} +6 -6
- package/dist/{flowDiagram-NV44I4VS-K7-DUifo.js → flowDiagram-NV44I4VS-iHFiHYe0.js} +9 -9
- package/dist/{ganttDiagram-JELNMOA3-BwUFY9Nu.js → ganttDiagram-JELNMOA3-D7GixxiF.js} +2 -2
- package/dist/{gitGraphDiagram-NY62KEGX-CjGRtLb1.js → gitGraphDiagram-NY62KEGX-CJFHytRK.js} +2 -2
- package/dist/{glide-data-editor-C3T7HsLi.js → glide-data-editor-BYwb17Bf.js} +13 -13
- package/dist/{infoDiagram-WHAUD3N6-DNhmDn-6.js → infoDiagram-WHAUD3N6-B5Lkh3A9.js} +2 -2
- package/dist/{journeyDiagram-XKPGCS4Q-BOdK47P8.js → journeyDiagram-XKPGCS4Q-CV_9R9iP.js} +2 -2
- package/dist/{kanban-definition-3W4ZIXB7-A0JC9d0g.js → kanban-definition-3W4ZIXB7-Dp21D5Ym.js} +6 -6
- package/dist/{katex-DJyOeQ91.js → katex-CX2BKujk.js} +1 -1
- package/dist/{katex-Dm9nZf6A.js → katex-Db0k5oV_.js} +1 -1
- package/dist/{label-C4PtQcza.js → label-CxU5JNBW.js} +6 -6
- package/dist/main.js +176 -121
- package/dist/mermaid-4DMBBIKO-BhDCqnO1.js +6 -0
- package/dist/{mermaid-Bqp2Xw99.js → mermaid-B__BZSXU.js} +39 -39
- package/dist/{mhchem-BqdXeZVX.js → mhchem-w1tkUnWr.js} +1 -1
- package/dist/{mindmap-definition-VGOIOE7T-CS6nKN_L.js → mindmap-definition-VGOIOE7T-B_5mfdYp.js} +8 -8
- package/dist/{number-overlay-editor-Bz_bDJQb.js → number-overlay-editor-D-4WQAGX.js} +2 -2
- package/dist/{pieDiagram-ADFJNKIX-DSa60Grk.js → pieDiagram-ADFJNKIX-B-DGEopK.js} +3 -3
- package/dist/{quadrantDiagram-AYHSOK5B-CFnMbP2J.js → quadrantDiagram-AYHSOK5B-M_yRSIZn.js} +1 -1
- package/dist/{react-DdA8EBol.js → react-Bs6Z0kvn.js} +1 -1
- package/dist/{react-dom-DJW8xUDg.js → react-dom-CqtLRVZP.js} +2 -2
- package/dist/{react-plotly-jVjTu07w.js → react-plotly-BuRa9xtI.js} +1 -1
- package/dist/{react-vega-DgHpnZ04.js → react-vega-3WcLHYC7.js} +2 -2
- package/dist/{react-vega-CjiPWyw0.js → react-vega-DLFvGrpJ.js} +1 -1
- package/dist/{requirementDiagram-UZGBJVZJ-ytLQrFTk.js → requirementDiagram-UZGBJVZJ-9Wt82hOZ.js} +8 -8
- package/dist/{sankeyDiagram-TZEHDZUN-KQqXDoky.js → sankeyDiagram-TZEHDZUN-x_aTXZeN.js} +1 -1
- package/dist/{sequenceDiagram-WL72ISMW-ByLI04T5.js → sequenceDiagram-WL72ISMW-CXXmJqiQ.js} +3 -3
- package/dist/{slides-component-BVjvNo92.js → slides-component-Dp-y50K9.js} +4 -4
- package/dist/{spec-Dmb1KfK3.js → spec-HoYHAQo2.js} +6 -6
- package/dist/{stateDiagram-FKZM4ZOC-Dfz8vBbP.js → stateDiagram-FKZM4ZOC-CiSKS_Mx.js} +9 -9
- package/dist/{stateDiagram-v2-4FDKWEC3-DRYoLdT5.js → stateDiagram-v2-4FDKWEC3-A43Itnjp.js} +9 -9
- package/dist/style.css +1 -1
- package/dist/{timeline-definition-IT6M3QCI-CO48XU1B.js → timeline-definition-IT6M3QCI-DR26eWb4.js} +1 -1
- package/dist/{types-CzEZ3EWT.js → types-Bb-6p8hv.js} +8 -8
- package/dist/{useAsyncData-BjNwqCfS.js → useAsyncData-Dyq3DyOF.js} +3 -3
- package/dist/{useDeepCompareMemoize-CfoxVor3.js → useDeepCompareMemoize-CMGprt3H.js} +5 -5
- package/dist/{useIframeCapabilities-BBO_R0ww.js → useIframeCapabilities-DurI5SJh.js} +2 -2
- package/dist/{useTheme-BYG2SH8J.js → useTheme-SlKl8MlS.js} +5 -6
- package/dist/{vega-component-rDX7xwxH.js → vega-component-DU3aSp4m.js} +10 -10
- package/dist/{xychartDiagram-PRI3JC2R-CUIfjNVD.js → xychartDiagram-PRI3JC2R-BcVxCRox.js} +4 -4
- package/dist/{zod-DITCj31F.js → zod-bjADtMKr.js} +3 -3
- package/package.json +17 -17
- package/src/components/data-table/__tests__/data-table.test.tsx +94 -2
- package/src/core/MarimoApp.tsx +12 -8
- package/src/core/islands/__tests__/bridge.test.ts +241 -0
- package/src/core/islands/bridge.ts +22 -6
- package/src/core/run-app.tsx +11 -4
- 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
- package/dist/assets/__vite-browser-external-DRa9CT_O.js +0 -1
- package/dist/mermaid-4DMBBIKO-o3xNphpD.js +0 -6
package/dist/{timeline-definition-IT6M3QCI-CO48XU1B.js → timeline-definition-IT6M3QCI-DR26eWb4.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./purify.es-Brw-U87Q.js";
|
|
2
2
|
import { t as arc_default } from "./arc-CEWBr4jc.js";
|
|
3
3
|
import { i as log, n as __export, r as __name, t as select_default } from "./src-szye8OCw.js";
|
|
4
|
-
import { G as setupGraphViewbox, Q as is_dark_default, X as darken_default, Z as lighten_default, a as clear, b as getConfig2, o as commonDb_exports } from "./chunk-ABZYJK2D-
|
|
4
|
+
import { G as setupGraphViewbox, Q as is_dark_default, X as darken_default, Z as lighten_default, a as clear, b as getConfig2, o as commonDb_exports } from "./chunk-ABZYJK2D-BXTC53mt.js";
|
|
5
5
|
var parser = (function() {
|
|
6
6
|
var t = /* @__PURE__ */ __name(function(t2, S2, C2, w) {
|
|
7
7
|
for (C2 || (C2 = {}), w = t2.length; w--; C2[t2[w]] = S2) ;
|
|
@@ -3,17 +3,17 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
|
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
4
|
var _a;
|
|
5
5
|
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
6
|
-
import { t as require_react } from "./react-
|
|
7
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
8
|
-
import { D as dispatchDiscreteCustomEvent, E as Primitive, M as composeEventHandlers, N as createLucideIcon, O as createSlot, S as useId, T as useCallbackRef, _ as Arrow, b as createPopperScope, c as withSmartCollisionBoundary, g as Anchor, h as Portal, i as useFocusGuards, j as createContextScope, m as Presence, n as hideOthers, o as MAX_HEIGHT_OFFSET, p as useControllableState, r as FocusScope, s as withFullScreenAsRoot, t as Combination_default, u as StyleNamespace, v as Content, w as DismissableLayer, y as Root2$1 } from "./Combination-
|
|
9
|
-
import { t as Check } from "./check-
|
|
10
|
-
import { A as $a916eb452884faea$export$b7a616150fdb9f44, C as useDirection, F as $b5e257d569688ac6$export$619500959fc48b26, I as X, L as ChevronUp, M as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, R as ChevronDown, _ as menuItemVariants, b as menuSubTriggerVariants, g as menuControlVariants, h as menuControlCheckVariants, j as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, k as upperFirst_default, m as menuContentCommon, v as menuLabelVariants, w as createCollection, y as menuSeparatorVariants } from "./label-
|
|
6
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
7
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
8
|
+
import { D as dispatchDiscreteCustomEvent, E as Primitive, M as composeEventHandlers, N as createLucideIcon, O as createSlot, S as useId, T as useCallbackRef, _ as Arrow, b as createPopperScope, c as withSmartCollisionBoundary, g as Anchor, h as Portal, i as useFocusGuards, j as createContextScope, m as Presence, n as hideOthers, o as MAX_HEIGHT_OFFSET, p as useControllableState, r as FocusScope, s as withFullScreenAsRoot, t as Combination_default, u as StyleNamespace, v as Content, w as DismissableLayer, y as Root2$1 } from "./Combination-BTMrlhzT.js";
|
|
9
|
+
import { t as Check } from "./check-DkNR52Mm.js";
|
|
10
|
+
import { A as $a916eb452884faea$export$b7a616150fdb9f44, C as useDirection, F as $b5e257d569688ac6$export$619500959fc48b26, I as X, L as ChevronUp, M as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, R as ChevronDown, _ as menuItemVariants, b as menuSubTriggerVariants, g as menuControlVariants, h as menuControlCheckVariants, j as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, k as upperFirst_default, m as menuContentCommon, v as menuLabelVariants, w as createCollection, y as menuSeparatorVariants } from "./label-CxU5JNBW.js";
|
|
11
11
|
import { n as clsx_default } from "./clsx-D2KVTYnW.js";
|
|
12
|
-
import { c as useComposedRefs, l as Events, s as composeRefs, t as Button, u as cn } from "./button-
|
|
12
|
+
import { c as useComposedRefs, l as Events, s as composeRefs, t as Button, u as cn } from "./button-Cy0ElmIm.js";
|
|
13
13
|
import { s as Logger } from "./hotkeys-B5WnGZXF.js";
|
|
14
14
|
import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
|
|
15
|
-
import { t as require_react_dom } from "./react-dom-
|
|
16
|
-
import { h as useEvent_default } from "./useTheme-
|
|
15
|
+
import { t as require_react_dom } from "./react-dom-CqtLRVZP.js";
|
|
16
|
+
import { h as useEvent_default } from "./useTheme-SlKl8MlS.js";
|
|
17
17
|
import { t as toString_default } from "./toString-C4TLO6FA.js";
|
|
18
18
|
import { i as debounce_default, n as Constants } from "./constants-DrOu5vvd.js";
|
|
19
19
|
import { t as memoizeLastValue } from "./once-BqS42WgZ.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
2
|
-
import { t as require_react } from "./react-
|
|
3
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
4
|
-
import { h as useEvent_default } from "./useTheme-
|
|
2
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
3
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
4
|
+
import { h as useEvent_default } from "./useTheme-SlKl8MlS.js";
|
|
5
5
|
import { t as invariant } from "./invariant-D9QLJ4SZ.js";
|
|
6
6
|
var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), Result = {
|
|
7
7
|
error(e, s) {
|
|
@@ -2,13 +2,13 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
4
|
import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
|
|
5
|
-
import { t as require_react } from "./react-
|
|
6
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
7
|
-
import { N as createLucideIcon } from "./Combination-
|
|
8
|
-
import { a as cva, u as cn } from "./button-
|
|
5
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
6
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
7
|
+
import { N as createLucideIcon } from "./Combination-BTMrlhzT.js";
|
|
8
|
+
import { a as cva, u as cn } from "./button-Cy0ElmIm.js";
|
|
9
9
|
import { s as Logger } from "./hotkeys-B5WnGZXF.js";
|
|
10
10
|
import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
|
|
11
|
-
import { f as waitFor, p as isIslands, u as store, x as atom } from "./useTheme-
|
|
11
|
+
import { f as waitFor, p as isIslands, u as store, x as atom } from "./useTheme-SlKl8MlS.js";
|
|
12
12
|
import { r as KnownQueryParams } from "./constants-DrOu5vvd.js";
|
|
13
13
|
import { i as tableFromIPC } from "./loader-B0KEFFi-.js";
|
|
14
14
|
var CircleQuestionMark = createLucideIcon("circle-question-mark", [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
2
|
-
import { t as require_react } from "./react-
|
|
3
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
2
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
3
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
4
4
|
import { s as Logger } from "./hotkeys-B5WnGZXF.js";
|
|
5
5
|
import { n as once } from "./once-BqS42WgZ.js";
|
|
6
6
|
function testStorage(e) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
2
|
-
import { t as require_react } from "./react-
|
|
3
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
2
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
3
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
4
4
|
import { a as resolvePlatform, n as OverridingHotkeyProvider, s as Logger } from "./hotkeys-B5WnGZXF.js";
|
|
5
5
|
import { t as _baseIsEqual_default } from "./_baseIsEqual-CBSjxu-D.js";
|
|
6
6
|
import { t as merge_default } from "./merge-Dl1bfxsj.js";
|
|
7
|
-
import { A as looseObject, B as union, I as record, N as number, P as object, R as string, T as boolean, b as _enum, w as array } from "./zod-
|
|
7
|
+
import { A as looseObject, B as union, I as record, N as number, P as object, R as string, T as boolean, b as _enum, w as array } from "./zod-bjADtMKr.js";
|
|
8
8
|
function hasInitialValue(e) {
|
|
9
9
|
return "init" in e;
|
|
10
10
|
}
|
|
@@ -57,7 +57,6 @@ function getMountedOrPendingDependents(e, k, A) {
|
|
|
57
57
|
}
|
|
58
58
|
var BUILDING_BLOCK_atomRead = (e, k, ...A) => k.read(...A), BUILDING_BLOCK_atomWrite = (e, k, ...A) => k.write(...A), BUILDING_BLOCK_atomOnInit = (e, k) => {
|
|
59
59
|
if (k.INTERNAL_onInit) return k.INTERNAL_onInit(e);
|
|
60
|
-
if (k.unstable_onInit) return console.warn("[DEPRECATED] atom.unstable_onInit is renamed to atom.INTERNAL_onInit."), k.unstable_onInit(e);
|
|
61
60
|
}, BUILDING_BLOCK_atomOnMount = (e, k, A) => {
|
|
62
61
|
var _a;
|
|
63
62
|
return (_a = k.onMount) == null ? void 0 : _a.call(k, A);
|
|
@@ -334,9 +333,9 @@ function defaultRead(e) {
|
|
|
334
333
|
function defaultWrite(e, k, A) {
|
|
335
334
|
return k(this, typeof A == "function" ? A(e(this)) : A);
|
|
336
335
|
}
|
|
337
|
-
var
|
|
336
|
+
var overriddenCreateStore;
|
|
338
337
|
function createStore() {
|
|
339
|
-
return
|
|
338
|
+
return overriddenCreateStore ? overriddenCreateStore() : buildStore();
|
|
340
339
|
}
|
|
341
340
|
var defaultStore;
|
|
342
341
|
function getDefaultStore() {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
2
|
-
import { t as require_react } from "./react-
|
|
3
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-
|
|
4
|
-
import "./Combination-
|
|
5
|
-
import { S as CircleQuestionMark, a as AlertTitle, m as asRemoteURL, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-
|
|
6
|
-
import { l as Events } from "./button-
|
|
2
|
+
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
3
|
+
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
4
|
+
import "./Combination-BTMrlhzT.js";
|
|
5
|
+
import { S as CircleQuestionMark, a as AlertTitle, m as asRemoteURL, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-CMGprt3H.js";
|
|
6
|
+
import { l as Events } from "./button-Cy0ElmIm.js";
|
|
7
7
|
import { o as Objects, s as Logger } from "./hotkeys-B5WnGZXF.js";
|
|
8
8
|
import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
|
|
9
|
-
import "./react-dom-
|
|
10
|
-
import { l as Tooltip, n as ErrorBanner } from "./error-banner-
|
|
11
|
-
import { h as useEvent_default, n as useTheme } from "./useTheme-
|
|
9
|
+
import "./react-dom-CqtLRVZP.js";
|
|
10
|
+
import { l as Tooltip, n as ErrorBanner } from "./error-banner-D2zjeN_a.js";
|
|
11
|
+
import { h as useEvent_default, n as useTheme } from "./useTheme-SlKl8MlS.js";
|
|
12
12
|
import { t as _baseUniq_default } from "./_baseUniq-4lqa8rDi.js";
|
|
13
13
|
import { i as debounce_default } from "./constants-DrOu5vvd.js";
|
|
14
14
|
import { a as tooltipHandler, n as vegaLoadData } from "./loader-B0KEFFi-.js";
|
|
15
15
|
import { n as formats } from "./vega-loader.browser-BJ1uJidF.js";
|
|
16
|
-
import { t as useAsyncData } from "./useAsyncData-
|
|
17
|
-
import { t as j } from "./react-vega-
|
|
16
|
+
import { t as useAsyncData } from "./useAsyncData-Dyq3DyOF.js";
|
|
17
|
+
import { t as j } from "./react-vega-DLFvGrpJ.js";
|
|
18
18
|
import "./defaultLocale-qS7DaAmi.js";
|
|
19
19
|
import "./defaultLocale-Bxoo2-30.js";
|
|
20
20
|
function uniq(e) {
|
|
@@ -5,13 +5,13 @@ import { n as ordinal } from "./ordinal-IlASfRja.js";
|
|
|
5
5
|
import { t as range } from "./range-BYuZFTbA.js";
|
|
6
6
|
import "./defaultLocale-qS7DaAmi.js";
|
|
7
7
|
import { t as line_default } from "./line-LK_5q2B9.js";
|
|
8
|
-
import { i as cleanAndMerge } from "./chunk-S3R3BYOJ-
|
|
8
|
+
import { i as cleanAndMerge } from "./chunk-S3R3BYOJ-CBkH6JZZ.js";
|
|
9
9
|
import { n as initRange } from "./init-BfRhston.js";
|
|
10
10
|
import { i as log, r as __name } from "./src-szye8OCw.js";
|
|
11
|
-
import { B as setAccTitle, C as getDiagramTitle, I as sanitizeText, T as getThemeVariables3, U as setDiagramTitle, _ as getAccDescription, a as clear, c as configureSvgSize, d as defaultConfig_default, v as getAccTitle, y as getConfig, z as setAccDescription } from "./chunk-ABZYJK2D-
|
|
12
|
-
import { t as selectSvgElement } from "./chunk-EXTU4WIE-
|
|
11
|
+
import { B as setAccTitle, C as getDiagramTitle, I as sanitizeText, T as getThemeVariables3, U as setDiagramTitle, _ as getAccDescription, a as clear, c as configureSvgSize, d as defaultConfig_default, v as getAccTitle, y as getConfig, z as setAccDescription } from "./chunk-ABZYJK2D-BXTC53mt.js";
|
|
12
|
+
import { t as selectSvgElement } from "./chunk-EXTU4WIE-DyoOs5QX.js";
|
|
13
13
|
import "./dist-BYznkC5E.js";
|
|
14
|
-
import { t as computeDimensionOfText } from "./chunk-JA3XYJ7Z-
|
|
14
|
+
import { t as computeDimensionOfText } from "./chunk-JA3XYJ7Z-BGnAIbOP.js";
|
|
15
15
|
function band() {
|
|
16
16
|
var e = ordinal().unknown(void 0), w = e.domain, T = e.range, D = 0, O = 1, k, A, j = false, M = 0, N = 0, P = 0.5;
|
|
17
17
|
delete e.unknown;
|
|
@@ -1187,7 +1187,7 @@ var Doc = class {
|
|
|
1187
1187
|
const version = {
|
|
1188
1188
|
major: 4,
|
|
1189
1189
|
minor: 3,
|
|
1190
|
-
patch:
|
|
1190
|
+
patch: 6
|
|
1191
1191
|
}, $ZodType = /* @__PURE__ */ $constructor("$ZodType", (f, V) => {
|
|
1192
1192
|
var _a2;
|
|
1193
1193
|
var H;
|
|
@@ -2038,7 +2038,7 @@ const $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (f, V) => {
|
|
|
2038
2038
|
issues: []
|
|
2039
2039
|
}, U);
|
|
2040
2040
|
if (J instanceof Promise) throw Error("Async schemas not supported in object keys currently");
|
|
2041
|
-
if (typeof K2 == "string" && number$2.test(K2) && J.issues.length
|
|
2041
|
+
if (typeof K2 == "string" && number$2.test(K2) && J.issues.length) {
|
|
2042
2042
|
let f2 = V.keyType._zod.run({
|
|
2043
2043
|
value: Number(K2),
|
|
2044
2044
|
issues: []
|
|
@@ -8447,7 +8447,7 @@ function finalize(f, V) {
|
|
|
8447
8447
|
U(K);
|
|
8448
8448
|
let H3 = f.seen.get(K), q2 = H3.schema;
|
|
8449
8449
|
if (q2.$ref && (f.target === "draft-07" || f.target === "draft-04" || f.target === "openapi-3.0") ? (W2.allOf = W2.allOf ?? [], W2.allOf.push(q2)) : Object.assign(W2, q2), Object.assign(W2, G2), V2._zod.parent === K) for (let f2 in W2) f2 === "$ref" || f2 === "allOf" || f2 in G2 || delete W2[f2];
|
|
8450
|
-
if (q2.$ref) for (let f2 in W2) f2 === "$ref" || f2 === "allOf" || f2 in H3.def && JSON.stringify(W2[f2]) === JSON.stringify(H3.def[f2]) && delete W2[f2];
|
|
8450
|
+
if (q2.$ref && H3.def) for (let f2 in W2) f2 === "$ref" || f2 === "allOf" || f2 in H3.def && JSON.stringify(W2[f2]) === JSON.stringify(H3.def[f2]) && delete W2[f2];
|
|
8451
8451
|
}
|
|
8452
8452
|
let q = V2._zod.parent;
|
|
8453
8453
|
if (q && q !== K) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marimo-team/islands",
|
|
3
|
-
"version": "0.19.8-
|
|
3
|
+
"version": "0.19.8-dev10",
|
|
4
4
|
"main": "dist/main.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"./unstable_internal/*": "./src/*"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@ai-sdk/react": "^2.0.
|
|
24
|
+
"@ai-sdk/react": "^2.0.125",
|
|
25
25
|
"@anywidget/types": "^0.2.0",
|
|
26
26
|
"@codemirror/autocomplete": "^6.20.0",
|
|
27
27
|
"@codemirror/commands": "^6.10.1",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"@xterm/addon-web-links": "^0.12.0",
|
|
115
115
|
"@xterm/xterm": "^5.5.0",
|
|
116
116
|
"@zed-industries/agent-client-protocol": "^0.4.5",
|
|
117
|
-
"ai": "^5.0.
|
|
117
|
+
"ai": "^5.0.123",
|
|
118
118
|
"ansi_up": "^6.0.6",
|
|
119
119
|
"class-variance-authority": "^0.7.1",
|
|
120
120
|
"clsx": "^2.1.1",
|
|
@@ -127,18 +127,18 @@
|
|
|
127
127
|
"dompurify": "^3.3.1",
|
|
128
128
|
"eslint-plugin-header": "^3.1.1",
|
|
129
129
|
"htm": "^3.1.1",
|
|
130
|
-
"html-react-parser": "^5.2.
|
|
130
|
+
"html-react-parser": "^5.2.14",
|
|
131
131
|
"html-to-image": "1.11.13",
|
|
132
132
|
"humanize-duration": "^3.33.2",
|
|
133
133
|
"iconify-icon": "^2.3.0",
|
|
134
|
-
"jotai": "^2.
|
|
134
|
+
"jotai": "^2.17.0",
|
|
135
135
|
"jotai-scope": "^0.10.0",
|
|
136
136
|
"js-cookie": "^3.0.5",
|
|
137
|
-
"katex": "^0.16.
|
|
137
|
+
"katex": "^0.16.28",
|
|
138
138
|
"lodash-es": "^4.17.22",
|
|
139
139
|
"loro-codemirror": "^0.3.3",
|
|
140
|
-
"loro-crdt": "^1.10.
|
|
141
|
-
"lucide-react": "^0.
|
|
140
|
+
"loro-crdt": "^1.10.5",
|
|
141
|
+
"lucide-react": "^0.563.0",
|
|
142
142
|
"lz-string": "^1.5.0",
|
|
143
143
|
"marked": "^15.0.12",
|
|
144
144
|
"mermaid": "^11.12.2",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"react-codemirror-merge": "4.25.4",
|
|
153
153
|
"react-dnd": "^16.0.1",
|
|
154
154
|
"react-dnd-html5-backend": "^16.0.1",
|
|
155
|
-
"react-dropzone": "^14.
|
|
155
|
+
"react-dropzone": "^14.4.0",
|
|
156
156
|
"react-error-boundary": "^5.0.0",
|
|
157
157
|
"react-grid-layout": "^1.5.3",
|
|
158
158
|
"react-hook-form": "7.54.2",
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"reactflow": "^11.11.4",
|
|
166
166
|
"remark-gfm": "^4.0.1",
|
|
167
167
|
"rpc-anywhere": "^1.7.0",
|
|
168
|
-
"sql-formatter": "^15.
|
|
168
|
+
"sql-formatter": "^15.7.0",
|
|
169
169
|
"streamdown": "^2.1.0",
|
|
170
170
|
"string-dedent": "^3.0.2",
|
|
171
171
|
"swiper": "^11.2.10",
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"vscode-jsonrpc": "^8.2.1",
|
|
184
184
|
"vscode-languageserver-protocol": "^3.17.5",
|
|
185
185
|
"web-vitals": "^4.2.4",
|
|
186
|
-
"zod": "^4.3.
|
|
186
|
+
"zod": "^4.3.6"
|
|
187
187
|
},
|
|
188
188
|
"scripts": {
|
|
189
189
|
"preinstall": "npx only-allow pnpm",
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
"react-dom": "^17 || ^18 || ^19"
|
|
212
212
|
},
|
|
213
213
|
"devDependencies": {
|
|
214
|
-
"@babel/plugin-proposal-decorators": "^7.28.
|
|
214
|
+
"@babel/plugin-proposal-decorators": "^7.28.6",
|
|
215
215
|
"@babel/preset-typescript": "^7.25.9",
|
|
216
216
|
"@biomejs/biome": "2.3.12",
|
|
217
217
|
"@codecov/vite-plugin": "^1.9.1",
|
|
@@ -224,10 +224,10 @@
|
|
|
224
224
|
"@testing-library/jest-dom": "^6.9.1",
|
|
225
225
|
"@testing-library/react": "^16.3.1",
|
|
226
226
|
"@types/dompurify": "^3.2.0",
|
|
227
|
-
"@types/katex": "^0.16.
|
|
227
|
+
"@types/katex": "^0.16.8",
|
|
228
228
|
"@types/lodash-es": "^4.17.12",
|
|
229
|
-
"@types/node": "^24.10.
|
|
230
|
-
"@types/react": "^19.2.
|
|
229
|
+
"@types/node": "^24.10.9",
|
|
230
|
+
"@types/react": "^19.2.10",
|
|
231
231
|
"@types/react-dom": "^19.2.3",
|
|
232
232
|
"@types/react-plotly.js": "^2.6.4",
|
|
233
233
|
"@types/timestring": "^6.0.5",
|
|
@@ -251,9 +251,9 @@
|
|
|
251
251
|
"npm-run-all2": "^6.2.6",
|
|
252
252
|
"postcss": "^8.5.6",
|
|
253
253
|
"postcss-plugin-namespace": "^0.0.3",
|
|
254
|
-
"react": "^19.2.
|
|
254
|
+
"react": "^19.2.4",
|
|
255
255
|
"react-compiler-runtime": "19.1.0-rc.3",
|
|
256
|
-
"react-dom": "^19.2.
|
|
256
|
+
"react-dom": "^19.2.4",
|
|
257
257
|
"storybook": "^10.2.0",
|
|
258
258
|
"stylelint": "^16.26.1",
|
|
259
259
|
"stylelint-config-standard": "^36.0.1",
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
import type {
|
|
3
|
-
|
|
2
|
+
import type {
|
|
3
|
+
ColumnDef,
|
|
4
|
+
PaginationState,
|
|
5
|
+
RowSelectionState,
|
|
6
|
+
SortingState,
|
|
7
|
+
} from "@tanstack/react-table";
|
|
8
|
+
import { render, screen, within } from "@testing-library/react";
|
|
4
9
|
import { describe, expect, it, vi } from "vitest";
|
|
5
10
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
6
11
|
import { DataTable } from "../data-table";
|
|
@@ -95,4 +100,91 @@ describe("DataTable", () => {
|
|
|
95
100
|
expect(rows[1]).toHaveAttribute("title", "Michael Scott");
|
|
96
101
|
expect(rows[2]).toHaveAttribute("title", "Jim Halpert");
|
|
97
102
|
});
|
|
103
|
+
|
|
104
|
+
it("should display updated data after rerender with manual sorting and pagination", () => {
|
|
105
|
+
// Simulates the bug from issue #8023:
|
|
106
|
+
// When a user sorts a table, rows that moved from page 2 to page 1
|
|
107
|
+
// don't visually refresh after the underlying data is updated.
|
|
108
|
+
|
|
109
|
+
interface RowData {
|
|
110
|
+
id: number;
|
|
111
|
+
status: string;
|
|
112
|
+
value: number;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Initial data: 4 rows, page_size=3
|
|
116
|
+
const initialData: RowData[] = [
|
|
117
|
+
{ id: 4, status: "pending", value: 40 },
|
|
118
|
+
{ id: 3, status: "pending", value: 30 },
|
|
119
|
+
{ id: 2, status: "pending", value: 20 },
|
|
120
|
+
];
|
|
121
|
+
|
|
122
|
+
const columns: ColumnDef<RowData>[] = [
|
|
123
|
+
{ id: "id", accessorFn: (row) => row.id, header: "id" },
|
|
124
|
+
{ id: "status", accessorFn: (row) => row.status, header: "status" },
|
|
125
|
+
{ id: "value", accessorFn: (row) => row.value, header: "value" },
|
|
126
|
+
];
|
|
127
|
+
|
|
128
|
+
// Simulate sorted state (value descending) - manual sorting means
|
|
129
|
+
// data comes pre-sorted from backend
|
|
130
|
+
const sorting: SortingState = [{ id: "value", desc: true }];
|
|
131
|
+
const setSorting = vi.fn();
|
|
132
|
+
|
|
133
|
+
const paginationState: PaginationState = { pageIndex: 0, pageSize: 3 };
|
|
134
|
+
const setPaginationState = vi.fn();
|
|
135
|
+
|
|
136
|
+
const commonProps = {
|
|
137
|
+
columns,
|
|
138
|
+
selection: null as "single" | "multi" | null,
|
|
139
|
+
totalRows: 4,
|
|
140
|
+
totalColumns: 3,
|
|
141
|
+
pagination: true,
|
|
142
|
+
manualPagination: true,
|
|
143
|
+
paginationState,
|
|
144
|
+
setPaginationState,
|
|
145
|
+
manualSorting: true,
|
|
146
|
+
sorting,
|
|
147
|
+
setSorting,
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
const { rerender } = render(
|
|
151
|
+
<TooltipProvider>
|
|
152
|
+
<DataTable {...commonProps} data={initialData} />
|
|
153
|
+
</TooltipProvider>,
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
// Verify initial data is displayed - look for "pending" in cells
|
|
157
|
+
const rows = screen.getAllByRole("row");
|
|
158
|
+
// Row 0 is header, rows 1-3 are data rows
|
|
159
|
+
expect(rows).toHaveLength(4); // 1 header + 3 data rows
|
|
160
|
+
// All rows should show "pending"
|
|
161
|
+
expect(within(rows[1]).getByText("pending")).toBeTruthy();
|
|
162
|
+
expect(within(rows[2]).getByText("pending")).toBeTruthy();
|
|
163
|
+
expect(within(rows[3]).getByText("pending")).toBeTruthy();
|
|
164
|
+
|
|
165
|
+
// Now simulate data update: row with id=4 is now "approved"
|
|
166
|
+
// Backend returns sorted data with the update applied
|
|
167
|
+
const updatedData: RowData[] = [
|
|
168
|
+
{ id: 4, status: "approved", value: 40 },
|
|
169
|
+
{ id: 3, status: "pending", value: 30 },
|
|
170
|
+
{ id: 2, status: "pending", value: 20 },
|
|
171
|
+
];
|
|
172
|
+
|
|
173
|
+
// Rerender with updated data (same sorting, same pagination)
|
|
174
|
+
rerender(
|
|
175
|
+
<TooltipProvider>
|
|
176
|
+
<DataTable {...commonProps} data={updatedData} />
|
|
177
|
+
</TooltipProvider>,
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
// BUG: The row should show "approved" but might show stale "pending"
|
|
181
|
+
const updatedRows = screen.getAllByRole("row");
|
|
182
|
+
expect(updatedRows).toHaveLength(4);
|
|
183
|
+
|
|
184
|
+
// The first data row (id=4) should now show "approved"
|
|
185
|
+
expect(within(updatedRows[1]).getByText("approved")).toBeTruthy();
|
|
186
|
+
// Other rows should still show "pending"
|
|
187
|
+
expect(within(updatedRows[2]).getByText("pending")).toBeTruthy();
|
|
188
|
+
expect(within(updatedRows[3]).getByText("pending")).toBeTruthy();
|
|
189
|
+
});
|
|
98
190
|
});
|
package/src/core/MarimoApp.tsx
CHANGED
|
@@ -39,14 +39,18 @@ const LazyGalleryPage = reactLazyWithPreload(
|
|
|
39
39
|
);
|
|
40
40
|
|
|
41
41
|
export function preloadPage(mode: string) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
switch (mode) {
|
|
43
|
+
case "home":
|
|
44
|
+
LazyHomePage.preload();
|
|
45
|
+
break;
|
|
46
|
+
case "gallery":
|
|
47
|
+
LazyGalleryPage.preload();
|
|
48
|
+
break;
|
|
49
|
+
case "read":
|
|
50
|
+
LazyRunPage.preload();
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
LazyEditPage.preload();
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
|