@marimo-team/islands 0.25.2-dev3 → 0.25.2-dev31
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/{ConnectedDataExplorerComponent-C2d9ysUI.js → ConnectedDataExplorerComponent-CglAbSke.js} +11 -11
- package/dist/{ErrorBoundary-C5H0YXQW.js → ErrorBoundary-DsBSKWiR.js} +8 -8
- package/dist/{abnfDiagram-VCTEODGH-AFhOQTt8.js → abnfDiagram-VCTEODGH-Bd5MYz7g.js} +3 -3
- package/dist/{any-language-editor-CycIVIeP.js → any-language-editor-dqxlUDlT.js} +3 -3
- package/dist/{architectureDiagram-5GKGNRK7-BngksAAQ.js → architectureDiagram-5GKGNRK7-12FmGgo8.js} +5 -5
- package/dist/assets/__vite-browser-external-BqAtzd2P.js +1 -0
- package/dist/assets/{worker-D7hWi02M.js → worker-Bf8dt6S-.js} +5 -5
- package/dist/{blockDiagram-I7D4REHJ-CvBmppdy.js → blockDiagram-I7D4REHJ-BeHOjyDk.js} +9 -9
- package/dist/{button-DdXAm8iz.js → button-B0Xgl-Qn.js} +12 -0
- package/dist/{c4Diagram-7LVT6UL2-EceL4_jH.js → c4Diagram-7LVT6UL2-Bao10t_O.js} +7 -7
- package/dist/{capabilities-B3ce_GNu.js → capabilities-D7Ad8-zw.js} +1 -1
- package/dist/{cells-Cv93oav_.js → cells-BUbzm9iX.js} +13 -13
- package/dist/{channel-z7HZXHwv.js → channel-BxCkvUgE.js} +1 -1
- package/dist/{chat-ui-fVyVOhYN.js → chat-ui-DJpsSmlB.js} +18 -18
- package/dist/{check-B7cIK6gb.js → check-DGZ74tV2.js} +1 -1
- package/dist/{chunk-4HAMMTFA-BPTTOOC5.js → chunk-4HAMMTFA-CH7Gpamd.js} +5 -5
- package/dist/{chunk-75Z2AOVW-C4AOleKf.js → chunk-75Z2AOVW-AI7CvgKn.js} +1 -1
- package/dist/{chunk-DU6HZSFF-1TwWR6gh.js → chunk-DU6HZSFF-BSvuTkX4.js} +1 -1
- package/dist/{chunk-F27PBJKO-DMI1PBe4.js → chunk-F27PBJKO-CLshwT9T.js} +1 -1
- package/dist/{chunk-GMAD6QVW-vStrMz2P.js → chunk-GMAD6QVW-wnHcn-lH.js} +3 -3
- package/dist/{chunk-GVQU2GXP-2HwWgs4u.js → chunk-GVQU2GXP-7O2p8hut.js} +2 -2
- package/dist/{chunk-IMKFNOWR-UOVZuZVn.js → chunk-IMKFNOWR-BlsbbLiS.js} +6 -6
- package/dist/{chunk-L3NEJ4N5-RhC7i0I2.js → chunk-L3NEJ4N5-B9_Alrxb.js} +5 -5
- package/dist/{chunk-OSK3NFVY-CZV09N-U.js → chunk-OSK3NFVY-PeQPH2fD.js} +6 -6
- package/dist/{chunk-P2QGCYS3-0TAWai9C.js → chunk-P2QGCYS3-D9twiFuU.js} +1 -1
- package/dist/{chunk-POPQ4Y6H-Cc3_56GX.js → chunk-POPQ4Y6H-BUiNs18s.js} +1 -1
- package/dist/{chunk-PWAF6VOD-lNxB9k8z.js → chunk-PWAF6VOD-D8S9NPCy.js} +1 -1
- package/dist/{chunk-SHT3W25Y-CrEPyWy1.js → chunk-SHT3W25Y-DoIB7Bub.js} +8 -8
- package/dist/{chunk-SVP7TREG-uIyyySp6.js → chunk-SVP7TREG-B0dScloT.js} +2 -2
- package/dist/{chunk-TICWLB2K-DdXM3eg6.js → chunk-TICWLB2K-C-lzn2th.js} +6 -6
- package/dist/classDiagram-ZZMXUADV-C5vpBHoS.js +30 -0
- package/dist/classDiagram-v2-VYDZK3BY-BS2Wadt0.js +30 -0
- package/dist/{code-visibility-DOh8H9K5.js → code-visibility-BiRk5YLT.js} +6 -6
- package/dist/{common-BJXaiNuk.js → common-BCp7UGN5.js} +22 -22
- package/dist/{copy-icon-CLdENY__.js → copy-icon-qmRg_VTX.js} +3 -3
- package/dist/{cynefinDiagram-5FMLGOSQ-zknaAsGy.js → cynefinDiagram-5FMLGOSQ-fxnL4mfp.js} +3 -3
- package/dist/{dagre-GXQ25YYZ-BhMOoMGJ.js → dagre-GXQ25YYZ-D5NkGE9i.js} +10 -10
- package/dist/{data-grid-overlay-editor-DVk573OG.js → data-grid-overlay-editor-dYW2R3MH.js} +1 -1
- package/dist/{diagram-S7CK7UJ4-V5-Z-EDY.js → diagram-S7CK7UJ4-CATbk1XK.js} +4 -4
- package/dist/{diagram-UQ7AKVKN-qw8AjDal.js → diagram-UQ7AKVKN-Cjha5vrC.js} +3 -3
- package/dist/{diagram-VSXAHHWV-CR7BJygZ.js → diagram-VSXAHHWV-DPAWJ9Nw.js} +2 -2
- package/dist/{diagram-VX7I27RA-DfuqFb1E.js → diagram-VX7I27RA-BHfAjgGw.js} +5 -5
- package/dist/{diagram-Z3DM3KII-DpWwlYZB.js → diagram-Z3DM3KII-eAoDps6E.js} +3 -3
- package/dist/{dialog-CgNq6y9-.js → dialog-CILKhbsG.js} +3 -3
- package/dist/{dropdown-menu-CZy06LAq.js → dropdown-menu-BaqM0t4N.js} +7 -7
- package/dist/{ebnfDiagram-PWID7BFC-C20OnNMZ.js → ebnfDiagram-PWID7BFC-D8RYnIZC.js} +3 -3
- package/dist/{erDiagram-RLTQ6QDP-DBXLWO9v.js → erDiagram-RLTQ6QDP-BfmoNNce.js} +12 -12
- package/dist/{error-banner-B94dcDmP.js → error-banner-DzAmP0AQ.js} +2 -2
- package/dist/{error-entries-DLl0XqoW.js → error-entries-B9WBDeky.js} +2 -2
- package/dist/{feedback-button-DDiklug9.js → feedback-button-Bz_FnBP3.js} +10 -10
- package/dist/flowDiagram-HODETNUW-Du_I0oTA.js +16 -0
- package/dist/{formats-Cl_67ghI.js → formats-Q9gwlLyD.js} +3 -3
- package/dist/{ganttDiagram-EL5Y4UJY-cRRaDt88.js → ganttDiagram-EL5Y4UJY-B4m_YsKa.js} +2 -2
- package/dist/{gitGraphDiagram-WWUBYQGX-Pox5k9-Y.js → gitGraphDiagram-WWUBYQGX-QRBbvWXh.js} +2 -2
- package/dist/{glide-data-editor-BGagFNmI.js → glide-data-editor-YvyWfJNT.js} +11 -11
- package/dist/{glide-utils-B3rUT5PI.js → glide-utils-CzzWU59p.js} +3 -3
- package/dist/{globals-dZEW_NZh.js → globals-CmV07bVM.js} +3 -3
- package/dist/{html-to-image-CmkwfNkf.js → html-to-image-Btymxku9.js} +11 -11
- package/dist/{infoDiagram-27XIBGKW-ntpxMfrq.js → infoDiagram-27XIBGKW-CHsocw1z.js} +2 -2
- package/dist/{ishikawaDiagram-5VMMS53U-BllIlHE5.js → ishikawaDiagram-5VMMS53U-DZdZJdsT.js} +3 -3
- package/dist/{journeyDiagram-3NMN7TZE-EPJDPlt0.js → journeyDiagram-3NMN7TZE-BeeJdJo3.js} +2 -2
- package/dist/{kanban-definition-UXKFOSKX-GYtNMjtS.js → kanban-definition-UXKFOSKX-B1rrJRmN.js} +9 -9
- package/dist/{label-BslhXqL6.js → label-MNhNNoN6.js} +2 -2
- package/dist/{loader-DEZSzvma.js → loader-C9OUkMrj.js} +1 -1
- package/dist/main.js +177 -150
- package/dist/{mermaid-Dnzoxjt1.js → mermaid-CEceCleL.js} +54 -54
- package/dist/{mindmap-definition-YA3MSWOX-Cth76xgH.js → mindmap-definition-YA3MSWOX-C6-S9h9O.js} +11 -11
- package/dist/{number-overlay-editor-BvOlx4Sw.js → number-overlay-editor-C-KXfL6O.js} +1 -1
- package/dist/{pegDiagram-XKGWAZYB-Cu4uOXii.js → pegDiagram-XKGWAZYB-BL-R6P57.js} +3 -3
- package/dist/{pieDiagram-E7YTZNPT-Bh3eDa9s.js → pieDiagram-E7YTZNPT-DuAOxSRy.js} +3 -3
- package/dist/{process-output-CYN5E-iO.js → process-output-CTQmCUD0.js} +4 -4
- package/dist/purify.es-DMv5zIkJ.js +866 -0
- package/dist/{quadrantDiagram-AXDQQJYC--kqzFC3w.js → quadrantDiagram-AXDQQJYC-keLfFx9f.js} +1 -1
- package/dist/{railroadDiagram-O6MQD6OU-DG-M6Rnc.js → railroadDiagram-O6MQD6OU-f-sfFoX9.js} +3 -3
- package/dist/{requirementDiagram-BXWQKSXE-DCwsThh0.js → requirementDiagram-BXWQKSXE-BICupkaf.js} +11 -11
- package/dist/{reveal-component-BYSyNNYH.js → reveal-component-CpKCz6Sm.js} +10 -10
- package/dist/{sankeyDiagram-P5KCCOFB-BdzhT0BM.js → sankeyDiagram-P5KCCOFB-Bh4EsJox.js} +1 -1
- package/dist/{select-C6plhmZr.js → select-BcObMjGz.js} +4 -4
- package/dist/{sequenceDiagram-WJ2MYXX4-CbXB1_PU.js → sequenceDiagram-WJ2MYXX4-DBFRnNGU.js} +4 -4
- package/dist/{spec-DQBRQSba.js → spec-BSchR9UD.js} +16 -14
- package/dist/{stateDiagram-D77RDMKH-A-Zf3Sb2.js → stateDiagram-D77RDMKH-CUP7QQW8.js} +13 -13
- package/dist/stateDiagram-v2-MP3YSRHH-B5mAItmH.js +30 -0
- package/dist/style.css +1 -1
- package/dist/{swimlanes-42K2YHIH-B_pMf0J4.js → swimlanes-42K2YHIH-BtIMdg7b.js} +10 -10
- package/dist/swimlanesDiagram-VR7AAH4N-CGnrrHpw.js +30 -0
- package/dist/{swiper-component-IOUowglM.js → swiper-component-DkV7T44B.js} +2 -2
- package/dist/{timeline-definition-24CTP7MA-DTXFjTTM.js → timeline-definition-24CTP7MA-UwihiSH2.js} +3 -3
- package/dist/{toDate-C67bxMWn.js → toDate-DWVp6uE1.js} +3 -3
- package/dist/{toast-DvY70eFX.js → toast-DcoJGS3-.js} +4 -4
- package/dist/{tooltip-qB8NlSqV.js → tooltip-Bi36DgYh.js} +2 -2
- package/dist/{use-restore-focus-D5D9xEjZ.js → use-restore-focus-ZgG5Br63.js} +1 -1
- package/dist/{useAsyncData-BD6AStMt.js → useAsyncData-BD7NLQ3_.js} +1 -1
- package/dist/{useDateFormatter-BXQGu86d.js → useDateFormatter-D8XWr8lL.js} +2 -2
- package/dist/{useDeepCompareMemoize-D_HNdyvI.js → useDeepCompareMemoize-CawMGSRU.js} +1 -1
- package/dist/{useIframeCapabilities-CVtNkI3Y.js → useIframeCapabilities-BUMBOpsM.js} +1 -1
- package/dist/{useLifecycle-DPgiiwwU.js → useLifecycle-3vGhRa1o.js} +3 -3
- package/dist/{useTheme-DzXmYZ5V.js → useTheme-BOw801nZ.js} +2 -2
- package/dist/{vega-component-tFOzgarw.js → vega-component-9siY74NS.js} +9 -9
- package/dist/{vennDiagram-4TSXK5OY-BPHjZo0R.js → vennDiagram-4TSXK5OY-D5LNVIRI.js} +3 -3
- package/dist/{wardleyDiagram-VM6X3IG4-6fTLYBuD.js → wardleyDiagram-VM6X3IG4-BwKf-b0_.js} +3 -3
- package/dist/{xychartDiagram-S5SC5T6Z-BYjwjrzE.js → xychartDiagram-S5SC5T6Z-Cg_vyuW2.js} +5 -5
- package/package.json +7 -7
- package/src/components/chat/tool-call/__tests__/tool-result.test.tsx +56 -0
- package/src/components/chat/tool-call/tool-result.tsx +3 -3
- package/src/components/data-table/charts/__tests__/schemas.test.ts +25 -0
- package/src/components/data-table/charts/__tests__/spec.test.ts +26 -23
- package/src/components/data-table/charts/constants.ts +11 -10
- package/src/components/data-table/charts/types.ts +1 -0
- package/src/components/editor/actions/__tests__/useSetOutputsExpanded.test.ts +42 -0
- package/src/components/editor/actions/useNotebookActions.tsx +20 -0
- package/src/components/editor/actions/useSetOutputsExpanded.ts +67 -0
- package/src/core/edit-app.tsx +16 -0
- package/src/core/hotkeys/hotkeys.ts +12 -0
- package/src/core/wasm/__tests__/bootstrap.test.ts +33 -1
- package/src/core/wasm/worker/bootstrap.ts +22 -3
- package/src/css/katex.min.css +145 -144
- package/src/plugins/impl/CheckboxPlugin.tsx +1 -1
- package/src/plugins/impl/DatePickerPlugin.tsx +5 -3
- package/src/plugins/impl/DateRangePlugin.tsx +5 -3
- package/src/plugins/impl/DateTimePickerPlugin.tsx +5 -3
- package/src/plugins/impl/DropdownPlugin.tsx +1 -1
- package/src/plugins/impl/FileBrowserPlugin.tsx +45 -15
- package/src/plugins/impl/MultiselectPlugin.tsx +1 -1
- package/src/plugins/impl/NumberPlugin.tsx +1 -1
- package/src/plugins/impl/RadioPlugin.tsx +5 -1
- package/src/plugins/impl/RangeSliderPlugin.tsx +1 -1
- package/src/plugins/impl/SearchableSelect.tsx +1 -1
- package/src/plugins/impl/SliderPlugin.tsx +1 -1
- package/src/plugins/impl/SwitchPlugin.tsx +6 -1
- package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +85 -2
- package/src/plugins/impl/__tests__/widget-labels.test.tsx +122 -0
- package/src/plugins/impl/chat/ChatPlugin.tsx +1 -1
- package/src/plugins/impl/common/labeled.tsx +9 -3
- package/dist/assets/__vite-browser-external-C9iR87Zl.js +0 -1
- package/dist/classDiagram-ZZMXUADV-BiATbBE4.js +0 -30
- package/dist/classDiagram-v2-VYDZK3BY-JnH97GYw.js +0 -30
- package/dist/flowDiagram-HODETNUW-DL52nMkt.js +0 -16
- package/dist/purify.es-DgKyQviY.js +0 -805
- package/dist/stateDiagram-v2-MP3YSRHH-D9YMnUGx.js +0 -30
- package/dist/swimlanesDiagram-VR7AAH4N-Ctgy-yGP.js +0 -30
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./chunk-75Z2AOVW-
|
|
1
|
+
import "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
2
2
|
import { n as e } from "./src-CA_m4ONl.js";
|
|
3
3
|
import { n as t } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
4
|
-
import "./chunk-DU6HZSFF-
|
|
5
|
-
import "./chunk-P2QGCYS3-
|
|
6
|
-
import "./chunk-PWAF6VOD-
|
|
7
|
-
import "./chunk-GMAD6QVW-
|
|
8
|
-
import "./chunk-4HAMMTFA-
|
|
9
|
-
import "./chunk-GVQU2GXP-
|
|
10
|
-
import "./chunk-L3NEJ4N5-
|
|
11
|
-
import { o as n } from "./chunk-OSK3NFVY-
|
|
12
|
-
import { c as r } from "./mermaid-
|
|
4
|
+
import "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
5
|
+
import "./chunk-P2QGCYS3-D9twiFuU.js";
|
|
6
|
+
import "./chunk-PWAF6VOD-D8S9NPCy.js";
|
|
7
|
+
import "./chunk-GMAD6QVW-wnHcn-lH.js";
|
|
8
|
+
import "./chunk-4HAMMTFA-CH7Gpamd.js";
|
|
9
|
+
import "./chunk-GVQU2GXP-7O2p8hut.js";
|
|
10
|
+
import "./chunk-L3NEJ4N5-B9_Alrxb.js";
|
|
11
|
+
import { o as n } from "./chunk-OSK3NFVY-PeQPH2fD.js";
|
|
12
|
+
import { c as r } from "./mermaid-CEceCleL.js";
|
|
13
13
|
//#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/swimlanes-42K2YHIH.mjs
|
|
14
14
|
var i = 5, a = 1e-5, o = 1e-6;
|
|
15
15
|
function s(e) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
2
|
+
import "./src-CA_m4ONl.js";
|
|
3
|
+
import { n as e } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
4
|
+
import "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
5
|
+
import "./chunk-P2QGCYS3-D9twiFuU.js";
|
|
6
|
+
import "./chunk-PWAF6VOD-D8S9NPCy.js";
|
|
7
|
+
import "./chunk-GMAD6QVW-wnHcn-lH.js";
|
|
8
|
+
import "./chunk-4HAMMTFA-CH7Gpamd.js";
|
|
9
|
+
import "./chunk-GVQU2GXP-7O2p8hut.js";
|
|
10
|
+
import "./chunk-L3NEJ4N5-B9_Alrxb.js";
|
|
11
|
+
import "./chunk-OSK3NFVY-PeQPH2fD.js";
|
|
12
|
+
import "./mermaid-CEceCleL.js";
|
|
13
|
+
import "./chunk-F27PBJKO-CLshwT9T.js";
|
|
14
|
+
import "./chunk-XXDRQBXY-Dnl5VBqG.js";
|
|
15
|
+
import "./chunk-POPQ4Y6H-BUiNs18s.js";
|
|
16
|
+
import { r as t, t as n } from "./chunk-SHT3W25Y-DoIB7Bub.js";
|
|
17
|
+
//#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/swimlanesDiagram-VR7AAH4N.mjs
|
|
18
|
+
var r = n({
|
|
19
|
+
defaultLayout: "swimlane",
|
|
20
|
+
styles: /* @__PURE__ */ e((e) => `${t(e)}
|
|
21
|
+
.swimlane.cluster rect {
|
|
22
|
+
stroke: ${e.clusterBorder} !important;
|
|
23
|
+
}
|
|
24
|
+
[data-look="neo"].cluster rect {
|
|
25
|
+
filter: none;
|
|
26
|
+
}
|
|
27
|
+
`, "getStyles")
|
|
28
|
+
});
|
|
29
|
+
//#endregion
|
|
30
|
+
export { r as diagram };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { c as t, h as n, t as r } from "./button-
|
|
2
|
+
import { c as t, h as n, t as r } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as i } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as a } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
5
|
import { t as o } from "./jsx-runtime-DgDPJV9S.js";
|
|
6
|
-
import { t as s } from "./useIframeCapabilities-
|
|
6
|
+
import { t as s } from "./useIframeCapabilities-BUMBOpsM.js";
|
|
7
7
|
/* empty css */
|
|
8
8
|
//#region ../node_modules/.pnpm/swiper@12.2.0/node_modules/swiper/shared/ssr-window.esm.mjs
|
|
9
9
|
var c = /* @__PURE__ */ e(i(), 1), l = a();
|
package/dist/{timeline-definition-24CTP7MA-DTXFjTTM.js → timeline-definition-24CTP7MA-UwihiSH2.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as e } from "./arc-7ra3iNdN.js";
|
|
2
|
-
import { p as t } from "./chunk-75Z2AOVW-
|
|
2
|
+
import { p as t } from "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
3
3
|
import { n, t as r } from "./src-CA_m4ONl.js";
|
|
4
4
|
import { n as i, t as a } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
5
|
-
import { $ as o, J as s, a as c, b as l, et as u, nt as d, o as f, x as p } from "./chunk-DU6HZSFF-
|
|
6
|
-
import { p as m } from "./mermaid-
|
|
5
|
+
import { $ as o, J as s, a as c, b as l, et as u, nt as d, o as f, x as p } from "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
6
|
+
import { p as m } from "./mermaid-CEceCleL.js";
|
|
7
7
|
//#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-24CTP7MA.mjs
|
|
8
8
|
var h = (function() {
|
|
9
9
|
var e = /* @__PURE__ */ i(function(e, t, n, r) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { g as t } from "./button-
|
|
2
|
+
import { g as t } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as n } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
4
|
-
import { g as r } from "./tooltip-
|
|
5
|
-
import { C as i, E as a, _ as o, a as s, b as c } from "./useTheme-
|
|
4
|
+
import { g as r } from "./tooltip-Bi36DgYh.js";
|
|
5
|
+
import { C as i, E as a, _ as o, a as s, b as c } from "./useTheme-BOw801nZ.js";
|
|
6
6
|
import { t as l } from "./invariant-DLmrl-hA.js";
|
|
7
7
|
var u = r("circle-question-mark", [
|
|
8
8
|
["circle", {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { h as t, p as n, r } from "./button-
|
|
2
|
+
import { h as t, p as n, r } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as i } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as a } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
|
-
import { h as o } from "./tooltip-
|
|
6
|
-
import { A as s, k as c } from "./select-
|
|
5
|
+
import { h as o } from "./tooltip-Bi36DgYh.js";
|
|
6
|
+
import { A as s, k as c } from "./select-BcObMjGz.js";
|
|
7
7
|
import { t as l } from "./react-dom-BUgJ-ab_.js";
|
|
8
8
|
import { t as u } from "./jsx-runtime-DgDPJV9S.js";
|
|
9
|
-
import { Ct as d, Et as f, St as p, Tt as m, _t as ee, bt as h, ht as te, pt as g, vt as _, wt as v, xt as y } from "./use-restore-focus-
|
|
9
|
+
import { Ct as d, Et as f, St as p, Tt as m, _t as ee, bt as h, ht as te, pt as g, vt as _, wt as v, xt as y } from "./use-restore-focus-ZgG5Br63.js";
|
|
10
10
|
//#region ../node_modules/.pnpm/@radix-ui+react-toast@1.2.15_@types+react-dom@19.2.5_@types+react@19.2.18__@types+react_bf6d58ed91c2f26d21e09be1118b065a/node_modules/@radix-ui/react-toast/dist/index.mjs
|
|
11
11
|
var b = /* @__PURE__ */ e(i(), 1), ne = /* @__PURE__ */ e(l(), 1), x = u(), S = "ToastProvider", [re, ie, C] = c("Toast"), [w, T] = v("Toast", [C]), [ae, E] = w(S), oe = (e) => {
|
|
12
12
|
let { __scopeToast: t, label: n = "Notification", duration: r = 5e3, swipeDirection: i = "right", swipeThreshold: a = 50, children: o } = e, [s, c] = b.useState(null), [l, u] = b.useState(0), d = b.useRef(!1), f = b.useRef(!1);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { d as t, h as n, p as r } from "./button-
|
|
2
|
+
import { d as t, h as n, p as r } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as i } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as a } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
5
|
import { t as o } from "./react-dom-BUgJ-ab_.js";
|
|
6
6
|
import { t as s } from "./jsx-runtime-DgDPJV9S.js";
|
|
7
|
-
import { Ct as c, Q as l, St as u, Tt as d, X as f, Y as p, bt as m, gt as h, pt as g, vt as _, wt as v, xt as y, yt as b } from "./use-restore-focus-
|
|
7
|
+
import { Ct as c, Q as l, St as u, Tt as d, X as f, Y as p, bt as m, gt as h, pt as g, vt as _, wt as v, xt as y, yt as b } from "./use-restore-focus-ZgG5Br63.js";
|
|
8
8
|
//#region ../node_modules/.pnpm/lucide-react@0.577.0_react@19.2.8/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
9
9
|
var x = /* @__PURE__ */ e(i()), S = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), C = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), w = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), T = (e) => {
|
|
10
10
|
let t = w(e);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { c as t, p as n, u as r } from "./button-
|
|
2
|
+
import { c as t, p as n, u as r } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as i } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as a } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
5
|
import { t as o } from "./react-dom-BUgJ-ab_.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
2
|
import { t } from "./react-ofJbxM4x.js";
|
|
3
3
|
import { t as n } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
4
|
-
import { A as r } from "./useTheme-
|
|
4
|
+
import { A as r } from "./useTheme-BOw801nZ.js";
|
|
5
5
|
import { t as i } from "./invariant-DLmrl-hA.js";
|
|
6
6
|
//#region src/hooks/useAsyncData.ts
|
|
7
7
|
var a = n(), o = /* @__PURE__ */ e(t(), 1), s = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
2
|
import { t } from "./react-ofJbxM4x.js";
|
|
3
|
-
import { g as n } from "./tooltip-
|
|
4
|
-
import { i as r } from "./label-
|
|
3
|
+
import { g as n } from "./tooltip-Bi36DgYh.js";
|
|
4
|
+
import { i as r } from "./label-MNhNNoN6.js";
|
|
5
5
|
var i = n("chart-pie", [["path", {
|
|
6
6
|
d: "M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",
|
|
7
7
|
key: "pzmjnu"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
2
|
import { t } from "./react-ofJbxM4x.js";
|
|
3
|
-
import { k as n } from "./useTheme-
|
|
3
|
+
import { k as n } from "./useTheme-BOw801nZ.js";
|
|
4
4
|
//#region src/hooks/useDeepCompareMemoize.ts
|
|
5
5
|
var r = /* @__PURE__ */ e(t(), 1);
|
|
6
6
|
function i(e) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { g as t, h as n, r } from "./button-
|
|
2
|
+
import { g as t, h as n, r } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as i } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as a } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
|
-
import { g as o } from "./tooltip-
|
|
5
|
+
import { g as o } from "./tooltip-Bi36DgYh.js";
|
|
6
6
|
import { t as s } from "./jsx-runtime-DgDPJV9S.js";
|
|
7
|
-
import { E as c, w as l } from "./useTheme-
|
|
7
|
+
import { E as c, w as l } from "./useTheme-BOw801nZ.js";
|
|
8
8
|
var u = o("calendar", [
|
|
9
9
|
["path", {
|
|
10
10
|
d: "M8 2v4",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as e, r as t } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { a as n, g as r, s as i } from "./button-
|
|
2
|
+
import { a as n, g as r, s as i } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as a } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as o } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
|
-
import { C as s, F as c, L as l, M as u, O as d, P as f, S as p, j as m, v as h } from "./use-restore-focus-
|
|
5
|
+
import { C as s, F as c, L as l, M as u, O as d, P as f, S as p, j as m, v as h } from "./use-restore-focus-ZgG5Br63.js";
|
|
6
6
|
import { l as g, t as _ } from "./_baseMerge-BiGRwuqv.js";
|
|
7
7
|
//#region ../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/mergeWith.js
|
|
8
8
|
var v = g(function(e, t, n, r) {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
|
-
import { g as t, h as n, m as r, o as i } from "./button-
|
|
2
|
+
import { g as t, h as n, m as r, o as i } from "./button-B0Xgl-Qn.js";
|
|
3
3
|
import { t as a } from "./react-ofJbxM4x.js";
|
|
4
4
|
import { t as o } from "./compiler-runtime-Cj8ZWiNS.js";
|
|
5
|
-
import { t as s } from "./tooltip-
|
|
6
|
-
import { T as c, c as l } from "./toDate-
|
|
5
|
+
import { t as s } from "./tooltip-Bi36DgYh.js";
|
|
6
|
+
import { T as c, c as l } from "./toDate-DWVp6uE1.js";
|
|
7
7
|
import { t as u } from "./jsx-runtime-DgDPJV9S.js";
|
|
8
|
-
import { n as d } from "./error-banner-
|
|
8
|
+
import { n as d } from "./error-banner-DzAmP0AQ.js";
|
|
9
9
|
import { t as f } from "./debounce-C3jyATpc.js";
|
|
10
|
-
import { A as p, n as ee } from "./useTheme-
|
|
10
|
+
import { A as p, n as ee } from "./useTheme-BOw801nZ.js";
|
|
11
11
|
import { c as m } from "./arrays-CN1djC4k.js";
|
|
12
12
|
import { t as te } from "./objects-CzUgoMIF.js";
|
|
13
|
-
import { t as h } from "./useAsyncData-
|
|
14
|
-
import { a as ne, i as re, n as ie, t as g } from "./formats-
|
|
13
|
+
import { t as h } from "./useAsyncData-BD7NLQ3_.js";
|
|
14
|
+
import { a as ne, i as re, n as ie, t as g } from "./formats-Q9gwlLyD.js";
|
|
15
15
|
import { M as ae, n as oe } from "./vega-loader.browser-DNST6uVf.js";
|
|
16
16
|
import { t as se } from "./react-vega-ewj7q_U5.js";
|
|
17
|
-
import { a as ce, n as _ } from "./loader-
|
|
18
|
-
import { t as le } from "./useDeepCompareMemoize-
|
|
17
|
+
import { a as ce, n as _ } from "./loader-C9OUkMrj.js";
|
|
18
|
+
import { t as le } from "./useDeepCompareMemoize-CawMGSRU.js";
|
|
19
19
|
import { t as ue } from "./semaphore-89jsoHtS.js";
|
|
20
20
|
import { t as de } from "./use-vega-container-remeasure-4DwJbPWu.js";
|
|
21
21
|
//#region src/plugins/impl/vega/fix-relative-url.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { i as e } from "./chunk-75Z2AOVW-
|
|
1
|
+
import { i as e } from "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
2
2
|
import { t } from "./src-CA_m4ONl.js";
|
|
3
3
|
import { n } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
4
|
-
import { $ as r, H as i, K as a, U as o, a as s, b as c, c as l, et as u, f as d, nt as f, tt as p, v as m, w as h, y as g } from "./chunk-DU6HZSFF-
|
|
4
|
+
import { $ as r, H as i, K as a, U as o, a as s, b as c, c as l, et as u, f as d, nt as f, tt as p, v as m, w as h, y as g } from "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
5
5
|
import { t as _ } from "./rough.esm-CtV9AnV1.js";
|
|
6
|
-
import { p as v } from "./mermaid-
|
|
6
|
+
import { p as v } from "./mermaid-CEceCleL.js";
|
|
7
7
|
//#region ../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/transparentize.js
|
|
8
8
|
var y = (e, t) => p(e, "a", -t), b = 1e-10;
|
|
9
9
|
function x(e, t) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as e } from "./chunk-75Z2AOVW-
|
|
1
|
+
import { i as e } from "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
2
2
|
import { n as t } from "./src-CA_m4ONl.js";
|
|
3
3
|
import { n } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
4
|
-
import { D as r, H as i, K as a, U as o, a as s, b as c, c as l, v as u, w as d, x as f, y as p } from "./chunk-DU6HZSFF-
|
|
5
|
-
import { p as m } from "./mermaid-
|
|
4
|
+
import { D as r, H as i, K as a, U as o, a as s, b as c, c as l, v as u, w as d, x as f, y as p } from "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
5
|
+
import { p as m } from "./mermaid-CEceCleL.js";
|
|
6
6
|
import { n as h } from "./mermaid-parser.core-DxuSfYwJ.js";
|
|
7
7
|
import { t as g } from "./chunk-JWPE2WC7-DJvv1t8U.js";
|
|
8
8
|
//#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-VM6X3IG4.mjs
|
|
@@ -2,14 +2,14 @@ import { t as e } from "./linear-Cnaq3Tfb.js";
|
|
|
2
2
|
import { n as t } from "./ordinal-c7efuCSS.js";
|
|
3
3
|
import { t as n } from "./range-BAIvbVHp.js";
|
|
4
4
|
import { q as r } from "./cubic-OaEBhQPK.js";
|
|
5
|
-
import { i } from "./chunk-75Z2AOVW-
|
|
5
|
+
import { i } from "./chunk-75Z2AOVW-AI7CvgKn.js";
|
|
6
6
|
import { n as a } from "./init-Ix4LXMlt.js";
|
|
7
7
|
import { n as o } from "./src-CA_m4ONl.js";
|
|
8
8
|
import { n as s } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
|
|
9
|
-
import { D as c, H as l, K as u, U as d, a as f, b as p, c as m, f as h, v as g, w as _, y as v, z as y } from "./chunk-DU6HZSFF-
|
|
10
|
-
import "./chunk-PWAF6VOD-
|
|
11
|
-
import { t as b } from "./chunk-GMAD6QVW-
|
|
12
|
-
import { p as x } from "./mermaid-
|
|
9
|
+
import { D as c, H as l, K as u, U as d, a as f, b as p, c as m, f as h, v as g, w as _, y as v, z as y } from "./chunk-DU6HZSFF-BSvuTkX4.js";
|
|
10
|
+
import "./chunk-PWAF6VOD-D8S9NPCy.js";
|
|
11
|
+
import { t as b } from "./chunk-GMAD6QVW-wnHcn-lH.js";
|
|
12
|
+
import { p as x } from "./mermaid-CEceCleL.js";
|
|
13
13
|
//#region ../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/band.js
|
|
14
14
|
function S() {
|
|
15
15
|
var e = t().unknown(void 0), r = e.domain, i = e.range, o = 0, s = 1, c, l, u = !1, d = 0, f = 0, p = .5;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marimo-team/islands",
|
|
3
|
-
"version": "0.25.2-
|
|
3
|
+
"version": "0.25.2-dev31",
|
|
4
4
|
"main": "dist/main.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"date-fns": "^4.4.0",
|
|
100
100
|
"dequal": "^2.0.3",
|
|
101
101
|
"dnd-core": "^16.0.1",
|
|
102
|
-
"dompurify": "^3.4.
|
|
102
|
+
"dompurify": "^3.4.16",
|
|
103
103
|
"htm": "^3.1.1",
|
|
104
104
|
"html-react-parser": "^5.2.17",
|
|
105
105
|
"html-to-image": "1.11.13",
|
|
@@ -191,12 +191,12 @@
|
|
|
191
191
|
"devDependencies": {
|
|
192
192
|
"@codecov/vite-plugin": "^1.9.1",
|
|
193
193
|
"@csstools/postcss-light-dark-function": "^2.0.11",
|
|
194
|
-
"@playwright/test": "^1.
|
|
194
|
+
"@playwright/test": "^1.63.0",
|
|
195
195
|
"@storybook/addon-docs": "^10.6.0",
|
|
196
196
|
"@storybook/addon-links": "^10.6.0",
|
|
197
197
|
"@storybook/react-vite": "^10.6.0",
|
|
198
198
|
"@testing-library/jest-dom": "^7.0.1",
|
|
199
|
-
"@testing-library/react": "^16.3.
|
|
199
|
+
"@testing-library/react": "^16.3.3",
|
|
200
200
|
"@types/dompurify": "^3.2.0",
|
|
201
201
|
"@types/lodash-es": "^4.17.12",
|
|
202
202
|
"@types/node": "^24.13.3",
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
"@types/react": "^19.2.18",
|
|
205
205
|
"@types/react-dom": "^19.2.5",
|
|
206
206
|
"@types/timestring": "^6.0.5",
|
|
207
|
-
"@vitejs/plugin-react": "^6.1.
|
|
207
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
208
208
|
"@vitest/coverage-v8": "4.1.11",
|
|
209
209
|
"blob-polyfill": "^7.0.20220408",
|
|
210
210
|
"cross-env": "^7.0.3",
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"oxc-transform-react": "0.145.0",
|
|
215
215
|
"oxfmt": "^0.68.0",
|
|
216
216
|
"oxlint": "^1.83.0",
|
|
217
|
-
"postcss": "^8.5.
|
|
217
|
+
"postcss": "^8.5.28",
|
|
218
218
|
"postcss-prefix-selector": "^2.2.0",
|
|
219
219
|
"react": "^19.2.8",
|
|
220
220
|
"react-dom": "^19.2.8",
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
"stylelint-config-standard": "^36.0.1",
|
|
224
224
|
"tailwindcss": "^4.3.3",
|
|
225
225
|
"vega-typings": "^2.3.0",
|
|
226
|
-
"vite": "^8.
|
|
226
|
+
"vite": "^8.3.0",
|
|
227
227
|
"vite-plugin-wasm": "^3.6.0",
|
|
228
228
|
"vitest": "^4.1.11",
|
|
229
229
|
"yaml": "^2.9.0"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import { cleanup, render, screen } from "@testing-library/react";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { ResultRenderer } from "../tool-result";
|
|
6
|
+
|
|
7
|
+
afterEach(cleanup);
|
|
8
|
+
|
|
9
|
+
describe("ResultRenderer", () => {
|
|
10
|
+
it.each([
|
|
11
|
+
{ status: "success", message: "No output was returned." },
|
|
12
|
+
{ status: "success", next_steps: ["Run the edited cells."] },
|
|
13
|
+
{
|
|
14
|
+
status: "success",
|
|
15
|
+
action_url: null,
|
|
16
|
+
next_steps: null,
|
|
17
|
+
meta: null,
|
|
18
|
+
message: "Finished",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
status: "success",
|
|
22
|
+
action_url: "/notebook",
|
|
23
|
+
next_steps: ["Review the output."],
|
|
24
|
+
meta: { source: "notebook" },
|
|
25
|
+
cellsToOutput: { cell: { cellOutput: "Hello", consoleOutput: "" } },
|
|
26
|
+
},
|
|
27
|
+
])("renders structured results with optional fields: %j", (result) => {
|
|
28
|
+
render(<ResultRenderer result={result} />);
|
|
29
|
+
|
|
30
|
+
expect(screen.getByRole("heading", { name: "Tool Result" })).toBeVisible();
|
|
31
|
+
expect(screen.getByText("success")).toBeVisible();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("displays messages and tool-specific output without metadata", () => {
|
|
35
|
+
render(
|
|
36
|
+
<ResultRenderer
|
|
37
|
+
result={{
|
|
38
|
+
status: "success",
|
|
39
|
+
message: "Cells finished running.",
|
|
40
|
+
cellsToOutput: { cell: { cellOutput: "Hello", consoleOutput: "" } },
|
|
41
|
+
}}
|
|
42
|
+
/>,
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
expect(screen.getByText("Cells finished running.")).toBeVisible();
|
|
46
|
+
expect(screen.getByText("cellsToOutput")).toBeVisible();
|
|
47
|
+
expect(screen.getByText(/"cellOutput": "Hello"/)).toBeVisible();
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("preserves the fallback for unstructured results", () => {
|
|
51
|
+
render(<ResultRenderer result="Plain text result" />);
|
|
52
|
+
|
|
53
|
+
expect(screen.queryByRole("heading", { name: "Tool Result" })).toBeNull();
|
|
54
|
+
expect(screen.getByText("Plain text result")).toBeVisible();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -21,9 +21,9 @@ function isUninformative(value: unknown): boolean {
|
|
|
21
21
|
const SuccessResultSchema = z.looseObject({
|
|
22
22
|
status: z.string().default("success"),
|
|
23
23
|
auth_required: z.boolean().default(false),
|
|
24
|
-
action_url: z.any(),
|
|
25
|
-
next_steps: z.any(),
|
|
26
|
-
meta: z.any(),
|
|
24
|
+
action_url: z.any().optional(),
|
|
25
|
+
next_steps: z.any().optional(),
|
|
26
|
+
meta: z.any().optional(),
|
|
27
27
|
message: z.string().nullish(),
|
|
28
28
|
});
|
|
29
29
|
|
|
@@ -4,6 +4,31 @@ import { describe, expect, it } from "vitest";
|
|
|
4
4
|
import { ChartSchema } from "../schemas";
|
|
5
5
|
|
|
6
6
|
describe("ChartSchema", () => {
|
|
7
|
+
it.each(["hours", "yearmonthdatehours"] as const)(
|
|
8
|
+
"preserves the %s time unit in saved chart configurations",
|
|
9
|
+
(timeUnit) => {
|
|
10
|
+
const column = {
|
|
11
|
+
field: "timestamp",
|
|
12
|
+
selectedDataType: "temporal",
|
|
13
|
+
sort: "ascending",
|
|
14
|
+
timeUnit,
|
|
15
|
+
};
|
|
16
|
+
const config = {
|
|
17
|
+
general: {
|
|
18
|
+
xColumn: { ...column, aggregate: "none" },
|
|
19
|
+
yColumn: { ...column, aggregate: "none" },
|
|
20
|
+
facet: {
|
|
21
|
+
row: { ...column, linkYAxis: true, binned: true, maxbins: 6 },
|
|
22
|
+
column: { ...column, linkXAxis: true, binned: true, maxbins: 6 },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
tooltips: { auto: true, fields: [] },
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
expect(ChartSchema.parse(config)).toEqual(config);
|
|
29
|
+
},
|
|
30
|
+
);
|
|
31
|
+
|
|
7
32
|
it("keeps a known axis column type", () => {
|
|
8
33
|
const result = ChartSchema.parse({
|
|
9
34
|
general: { xColumn: { field: "count", type: "integer" } },
|
|
@@ -69,30 +69,33 @@ describe("getAxisEncoding", () => {
|
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
it("
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
it.each(["yearmonth", "hours", "yearmonthdatehours"] as const)(
|
|
73
|
+
"should preserve the %s time unit in temporal axis encodings",
|
|
74
|
+
(timeUnit) => {
|
|
75
|
+
const result = getAxisEncoding(
|
|
76
|
+
{
|
|
77
|
+
field: "date",
|
|
78
|
+
selectedDataType: "temporal",
|
|
79
|
+
aggregate: NONE_VALUE,
|
|
80
|
+
timeUnit,
|
|
81
|
+
},
|
|
82
|
+
undefined,
|
|
83
|
+
"Date",
|
|
84
|
+
undefined,
|
|
85
|
+
ChartType.LINE,
|
|
86
|
+
);
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
88
|
+
expect(result).toEqual({
|
|
89
|
+
field: "date",
|
|
90
|
+
type: "temporal",
|
|
91
|
+
bin: undefined,
|
|
92
|
+
title: "Date",
|
|
93
|
+
stack: undefined,
|
|
94
|
+
aggregate: undefined,
|
|
95
|
+
timeUnit,
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
);
|
|
96
99
|
|
|
97
100
|
it("should return correct encoding for categorical field", () => {
|
|
98
101
|
const result = getAxisEncoding(
|
|
@@ -147,17 +147,18 @@ export const TIME_UNIT_DESCRIPTIONS: Record<
|
|
|
147
147
|
[title: string, description: string]
|
|
148
148
|
> = {
|
|
149
149
|
year: ["Year", "2025"],
|
|
150
|
-
quarter: ["Quarter", "Q1
|
|
151
|
-
month: ["Month", "Jan
|
|
152
|
-
week: ["Week", "
|
|
153
|
-
day: ["Day
|
|
154
|
-
hours: ["Hour", "
|
|
155
|
-
minutes: ["Minute", "
|
|
156
|
-
seconds: ["Second", "
|
|
157
|
-
milliseconds: ["Millisecond", "
|
|
158
|
-
date: ["
|
|
159
|
-
dayofyear: ["Day of
|
|
150
|
+
quarter: ["Quarter of year", "Q1"],
|
|
151
|
+
month: ["Month of year", "Jan"],
|
|
152
|
+
week: ["Week of year", "Week 1"],
|
|
153
|
+
day: ["Day of week", "Sunday"],
|
|
154
|
+
hours: ["Hour of day", "12:00"],
|
|
155
|
+
minutes: ["Minute of hour", "34"],
|
|
156
|
+
seconds: ["Second of minute", "56"],
|
|
157
|
+
milliseconds: ["Millisecond of second", "789"],
|
|
158
|
+
date: ["Day of month", "1"],
|
|
159
|
+
dayofyear: ["Day of year", "Day 1"],
|
|
160
160
|
yearmonth: ["Year Month", "Jan 2025"],
|
|
161
161
|
yearmonthdate: ["Year Month Date", "Jan 01, 2025"],
|
|
162
|
+
yearmonthdatehours: ["Year Month Date Hours", "Jan 01, 2025 12:00"],
|
|
162
163
|
monthdate: ["Month Date", "Jan 01"],
|
|
163
164
|
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { MockNotebook } from "@/__mocks__/notebook";
|
|
5
|
+
import type { OutputMessage } from "@/core/kernel/messages";
|
|
6
|
+
import { outputExpansionConfigs } from "../useSetOutputsExpanded";
|
|
7
|
+
|
|
8
|
+
const output: OutputMessage = {
|
|
9
|
+
channel: "output",
|
|
10
|
+
mimetype: "text/plain",
|
|
11
|
+
data: "hello",
|
|
12
|
+
timestamp: 0,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
describe("outputExpansionConfigs", () => {
|
|
16
|
+
const [withOutput, withoutOutput, expanded, expandedWithoutOutput] =
|
|
17
|
+
MockNotebook.cellIds();
|
|
18
|
+
const notebook = MockNotebook.notebookState({
|
|
19
|
+
cellData: {
|
|
20
|
+
[withOutput]: {},
|
|
21
|
+
[withoutOutput]: {},
|
|
22
|
+
[expanded]: { config: { expand_output: true } },
|
|
23
|
+
[expandedWithoutOutput]: { config: { expand_output: true } },
|
|
24
|
+
},
|
|
25
|
+
cellRuntime: {
|
|
26
|
+
[withOutput]: { output },
|
|
27
|
+
[expanded]: { output },
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("expands clamped cells with output and skips cells without output", () => {
|
|
32
|
+
expect(outputExpansionConfigs(notebook, true)).toEqual({
|
|
33
|
+
[withOutput]: { expand_output: true },
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it("clamps expanded cells with output and skips cells without output", () => {
|
|
38
|
+
expect(outputExpansionConfigs(notebook, false)).toEqual({
|
|
39
|
+
[expanded]: { expand_output: false },
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
CheckIcon,
|
|
8
8
|
ChevronDownCircleIcon,
|
|
9
9
|
ChevronRightCircleIcon,
|
|
10
|
+
ChevronsDownUpIcon,
|
|
11
|
+
ChevronsUpDownIcon,
|
|
10
12
|
ClipboardCopyIcon,
|
|
11
13
|
CodeIcon,
|
|
12
14
|
CommandIcon,
|
|
@@ -100,6 +102,7 @@ import type { ActionButton } from "./types";
|
|
|
100
102
|
import { useCopyNotebook } from "./useCopyNotebook";
|
|
101
103
|
import { useRestartKernel } from "./useRestartKernel";
|
|
102
104
|
import { useSetCodeVisibility } from "./useSetCodeVisibility";
|
|
105
|
+
import { useSetOutputsExpanded } from "./useSetOutputsExpanded";
|
|
103
106
|
|
|
104
107
|
const NOOP_HANDLER = (event?: Event) => {
|
|
105
108
|
event?.preventDefault();
|
|
@@ -118,6 +121,7 @@ export function useNotebookActions({
|
|
|
118
121
|
const [viewState] = useAtom(viewStateAtom);
|
|
119
122
|
const kioskMode = useAtomValue(kioskModeAtom);
|
|
120
123
|
const setCodeVisibility = useSetCodeVisibility();
|
|
124
|
+
const setOutputsExpanded = useSetOutputsExpanded();
|
|
121
125
|
const [resolvedConfig] = useResolvedMarimoConfig();
|
|
122
126
|
const capabilities = useAtomValue(capabilitiesAtom);
|
|
123
127
|
const aiEnabled = useAtomValue(aiEnabledAtom);
|
|
@@ -596,6 +600,22 @@ export function useNotebookActions({
|
|
|
596
600
|
handle: () => setCodeVisibility(true, "markdown"),
|
|
597
601
|
redundant: true,
|
|
598
602
|
},
|
|
603
|
+
{
|
|
604
|
+
icon: <ChevronsUpDownIcon size={14} strokeWidth={1.5} />,
|
|
605
|
+
label: "Expand all outputs",
|
|
606
|
+
hotkey: "global.expandAllOutputs",
|
|
607
|
+
hidden: viewState.mode !== "edit",
|
|
608
|
+
handle: () => setOutputsExpanded(true),
|
|
609
|
+
redundant: true,
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
icon: <ChevronsDownUpIcon size={14} strokeWidth={1.5} />,
|
|
613
|
+
label: "Clamp all outputs",
|
|
614
|
+
hotkey: "global.clampAllOutputs",
|
|
615
|
+
hidden: viewState.mode !== "edit",
|
|
616
|
+
handle: () => setOutputsExpanded(false),
|
|
617
|
+
redundant: true,
|
|
618
|
+
},
|
|
599
619
|
{
|
|
600
620
|
icon: <ChevronRightCircleIcon size={14} strokeWidth={1.5} />,
|
|
601
621
|
label: "Collapse all sections",
|