@marimo-team/islands 0.25.2-dev27 → 0.25.2-dev30

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.
Files changed (95) hide show
  1. package/dist/{ErrorBoundary-B7xAB7tc.js → ErrorBoundary-Siz68Nx-.js} +1 -1
  2. package/dist/{abnfDiagram-VCTEODGH-aLGD44M7.js → abnfDiagram-VCTEODGH-Bd5MYz7g.js} +3 -3
  3. package/dist/{architectureDiagram-5GKGNRK7-BGL5P81u.js → architectureDiagram-5GKGNRK7-12FmGgo8.js} +5 -5
  4. package/dist/{blockDiagram-I7D4REHJ-CvBmppdy.js → blockDiagram-I7D4REHJ-BeHOjyDk.js} +9 -9
  5. package/dist/{c4Diagram-7LVT6UL2-EceL4_jH.js → c4Diagram-7LVT6UL2-Bao10t_O.js} +7 -7
  6. package/dist/{cells-5ppES-Un.js → cells-BUbzm9iX.js} +1 -1
  7. package/dist/{channel-z7HZXHwv.js → channel-BxCkvUgE.js} +1 -1
  8. package/dist/{chat-ui-Dv2V95k6.js → chat-ui-DJpsSmlB.js} +7 -7
  9. package/dist/{chunk-4HAMMTFA-BPTTOOC5.js → chunk-4HAMMTFA-CH7Gpamd.js} +5 -5
  10. package/dist/{chunk-75Z2AOVW-C4AOleKf.js → chunk-75Z2AOVW-AI7CvgKn.js} +1 -1
  11. package/dist/{chunk-DU6HZSFF-1TwWR6gh.js → chunk-DU6HZSFF-BSvuTkX4.js} +1 -1
  12. package/dist/{chunk-F27PBJKO-DMI1PBe4.js → chunk-F27PBJKO-CLshwT9T.js} +1 -1
  13. package/dist/{chunk-GMAD6QVW-vStrMz2P.js → chunk-GMAD6QVW-wnHcn-lH.js} +3 -3
  14. package/dist/{chunk-GVQU2GXP-2HwWgs4u.js → chunk-GVQU2GXP-7O2p8hut.js} +2 -2
  15. package/dist/{chunk-IMKFNOWR-Cm3RgLDj.js → chunk-IMKFNOWR-BlsbbLiS.js} +6 -6
  16. package/dist/{chunk-L3NEJ4N5-RhC7i0I2.js → chunk-L3NEJ4N5-B9_Alrxb.js} +5 -5
  17. package/dist/{chunk-OSK3NFVY-CZV09N-U.js → chunk-OSK3NFVY-PeQPH2fD.js} +6 -6
  18. package/dist/{chunk-P2QGCYS3-0TAWai9C.js → chunk-P2QGCYS3-D9twiFuU.js} +1 -1
  19. package/dist/{chunk-POPQ4Y6H-Cc3_56GX.js → chunk-POPQ4Y6H-BUiNs18s.js} +1 -1
  20. package/dist/{chunk-PWAF6VOD-lNxB9k8z.js → chunk-PWAF6VOD-D8S9NPCy.js} +1 -1
  21. package/dist/{chunk-SHT3W25Y-DedDYSP5.js → chunk-SHT3W25Y-DoIB7Bub.js} +8 -8
  22. package/dist/{chunk-SVP7TREG-B2SFkCAL.js → chunk-SVP7TREG-B0dScloT.js} +2 -2
  23. package/dist/{chunk-TICWLB2K-DB6hjNOL.js → chunk-TICWLB2K-C-lzn2th.js} +6 -6
  24. package/dist/classDiagram-ZZMXUADV-C5vpBHoS.js +30 -0
  25. package/dist/classDiagram-v2-VYDZK3BY-BS2Wadt0.js +30 -0
  26. package/dist/{code-visibility-BKuHUlSp.js → code-visibility-CP3A3ANH.js} +2 -2
  27. package/dist/{common-CB96Vrh1.js → common-DYbUXmkS.js} +3 -3
  28. package/dist/{cynefinDiagram-5FMLGOSQ-DzaZEqgD.js → cynefinDiagram-5FMLGOSQ-fxnL4mfp.js} +3 -3
  29. package/dist/{dagre-GXQ25YYZ-Cjf5GjU3.js → dagre-GXQ25YYZ-D5NkGE9i.js} +10 -10
  30. package/dist/{data-grid-overlay-editor-DkwfVJ5C.js → data-grid-overlay-editor-BgExvd3Z.js} +1 -1
  31. package/dist/{diagram-S7CK7UJ4-IhLt_khx.js → diagram-S7CK7UJ4-CATbk1XK.js} +4 -4
  32. package/dist/{diagram-UQ7AKVKN-CQc6KLPB.js → diagram-UQ7AKVKN-Cjha5vrC.js} +3 -3
  33. package/dist/{diagram-VSXAHHWV-CR7BJygZ.js → diagram-VSXAHHWV-DPAWJ9Nw.js} +2 -2
  34. package/dist/{diagram-VX7I27RA-DHmW9N1T.js → diagram-VX7I27RA-BHfAjgGw.js} +5 -5
  35. package/dist/{diagram-Z3DM3KII-zVKsg-Ty.js → diagram-Z3DM3KII-eAoDps6E.js} +3 -3
  36. package/dist/{ebnfDiagram-PWID7BFC-DDd5hCRC.js → ebnfDiagram-PWID7BFC-D8RYnIZC.js} +3 -3
  37. package/dist/{erDiagram-RLTQ6QDP-D10NP0eI.js → erDiagram-RLTQ6QDP-BfmoNNce.js} +12 -12
  38. package/dist/{error-entries-B2Ux3Z2X.js → error-entries-B9WBDeky.js} +1 -1
  39. package/dist/{feedback-button-DHTBJriu.js → feedback-button-CwhEpI_T.js} +4 -4
  40. package/dist/flowDiagram-HODETNUW-Du_I0oTA.js +16 -0
  41. package/dist/{ganttDiagram-EL5Y4UJY-cRRaDt88.js → ganttDiagram-EL5Y4UJY-B4m_YsKa.js} +2 -2
  42. package/dist/{gitGraphDiagram-WWUBYQGX-Pox5k9-Y.js → gitGraphDiagram-WWUBYQGX-QRBbvWXh.js} +2 -2
  43. package/dist/{glide-data-editor-28V-XtsS.js → glide-data-editor-CrSi-w0o.js} +3 -3
  44. package/dist/{globals-DM822_E_.js → globals-BfBZlRMW.js} +1 -1
  45. package/dist/{html-to-image-BZBwkkDG.js → html-to-image-Btymxku9.js} +1 -1
  46. package/dist/{infoDiagram-27XIBGKW-DrYu3UZC.js → infoDiagram-27XIBGKW-CHsocw1z.js} +2 -2
  47. package/dist/{ishikawaDiagram-5VMMS53U-pmkGQJsA.js → ishikawaDiagram-5VMMS53U-DZdZJdsT.js} +3 -3
  48. package/dist/{journeyDiagram-3NMN7TZE-EPJDPlt0.js → journeyDiagram-3NMN7TZE-BeeJdJo3.js} +2 -2
  49. package/dist/{kanban-definition-UXKFOSKX-wWGD9VLW.js → kanban-definition-UXKFOSKX-B1rrJRmN.js} +9 -9
  50. package/dist/main.js +122 -115
  51. package/dist/{mermaid-Dfvntf3s.js → mermaid-CEceCleL.js} +50 -50
  52. package/dist/{mindmap-definition-YA3MSWOX-C2f1VIBR.js → mindmap-definition-YA3MSWOX-C6-S9h9O.js} +11 -11
  53. package/dist/{number-overlay-editor-rRWcORH5.js → number-overlay-editor-BfFyQUmB.js} +1 -1
  54. package/dist/{pegDiagram-XKGWAZYB-D6v5dz4M.js → pegDiagram-XKGWAZYB-BL-R6P57.js} +3 -3
  55. package/dist/{pieDiagram-E7YTZNPT-BwFAhpYD.js → pieDiagram-E7YTZNPT-DuAOxSRy.js} +3 -3
  56. package/dist/{process-output-BSsWzfnY.js → process-output-CTQmCUD0.js} +2 -2
  57. package/dist/purify.es-DMv5zIkJ.js +866 -0
  58. package/dist/{quadrantDiagram-AXDQQJYC--kqzFC3w.js → quadrantDiagram-AXDQQJYC-keLfFx9f.js} +1 -1
  59. package/dist/{railroadDiagram-O6MQD6OU-D6eOFr6Z.js → railroadDiagram-O6MQD6OU-f-sfFoX9.js} +3 -3
  60. package/dist/{requirementDiagram-BXWQKSXE-CHYsMgDR.js → requirementDiagram-BXWQKSXE-BICupkaf.js} +11 -11
  61. package/dist/{reveal-component-b8UCRAp7.js → reveal-component-BJG6YrPy.js} +3 -3
  62. package/dist/{sankeyDiagram-P5KCCOFB-BdzhT0BM.js → sankeyDiagram-P5KCCOFB-Bh4EsJox.js} +1 -1
  63. package/dist/{sequenceDiagram-WJ2MYXX4-BPAknhBp.js → sequenceDiagram-WJ2MYXX4-DBFRnNGU.js} +4 -4
  64. package/dist/{stateDiagram-D77RDMKH-Cq249IQ4.js → stateDiagram-D77RDMKH-CUP7QQW8.js} +13 -13
  65. package/dist/stateDiagram-v2-MP3YSRHH-B5mAItmH.js +30 -0
  66. package/dist/{swimlanes-42K2YHIH-Bh_S_HKD.js → swimlanes-42K2YHIH-BtIMdg7b.js} +10 -10
  67. package/dist/swimlanesDiagram-VR7AAH4N-CGnrrHpw.js +30 -0
  68. package/dist/{timeline-definition-24CTP7MA-ByNMgBE7.js → timeline-definition-24CTP7MA-UwihiSH2.js} +3 -3
  69. package/dist/{vennDiagram-4TSXK5OY-DY8CySdO.js → vennDiagram-4TSXK5OY-D5LNVIRI.js} +3 -3
  70. package/dist/{wardleyDiagram-VM6X3IG4-DYC1AFni.js → wardleyDiagram-VM6X3IG4-BwKf-b0_.js} +3 -3
  71. package/dist/{xychartDiagram-S5SC5T6Z-Df8LLnuY.js → xychartDiagram-S5SC5T6Z-Cg_vyuW2.js} +5 -5
  72. package/package.json +2 -2
  73. package/src/components/chat/tool-call/__tests__/tool-result.test.tsx +56 -0
  74. package/src/components/chat/tool-call/tool-result.tsx +3 -3
  75. package/src/plugins/impl/CheckboxPlugin.tsx +1 -1
  76. package/src/plugins/impl/DatePickerPlugin.tsx +5 -3
  77. package/src/plugins/impl/DateRangePlugin.tsx +5 -3
  78. package/src/plugins/impl/DateTimePickerPlugin.tsx +5 -3
  79. package/src/plugins/impl/DropdownPlugin.tsx +1 -1
  80. package/src/plugins/impl/MultiselectPlugin.tsx +1 -1
  81. package/src/plugins/impl/NumberPlugin.tsx +1 -1
  82. package/src/plugins/impl/RadioPlugin.tsx +5 -1
  83. package/src/plugins/impl/RangeSliderPlugin.tsx +1 -1
  84. package/src/plugins/impl/SearchableSelect.tsx +1 -1
  85. package/src/plugins/impl/SliderPlugin.tsx +1 -1
  86. package/src/plugins/impl/SwitchPlugin.tsx +6 -1
  87. package/src/plugins/impl/__tests__/widget-labels.test.tsx +122 -0
  88. package/src/plugins/impl/chat/ChatPlugin.tsx +1 -1
  89. package/src/plugins/impl/common/labeled.tsx +9 -3
  90. package/dist/classDiagram-ZZMXUADV-BwYhrSEX.js +0 -30
  91. package/dist/classDiagram-v2-VYDZK3BY-HecM04TM.js +0 -30
  92. package/dist/flowDiagram-HODETNUW-DgcjSdPV.js +0 -16
  93. package/dist/purify.es-DgKyQviY.js +0 -805
  94. package/dist/stateDiagram-v2-MP3YSRHH-Dk5QgdXF.js +0 -30
  95. package/dist/swimlanesDiagram-VR7AAH4N-CbztusY8.js +0 -30
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./linear-Cnaq3Tfb.js";
2
2
  import { n as t, t as n } from "./src-CA_m4ONl.js";
3
3
  import { n as r } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
4
- import { D as i, H as a, K as o, U as s, a as c, c as l, f as u, v as d, w as f, x as p, y as m, z as h } from "./chunk-DU6HZSFF-1TwWR6gh.js";
4
+ import { D as i, H as a, K as o, U as s, a as c, c as l, f as u, v as d, w as f, x as p, y as m, z as h } from "./chunk-DU6HZSFF-BSvuTkX4.js";
5
5
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AXDQQJYC.mjs
6
6
  var g = (function() {
7
7
  var e = /* @__PURE__ */ r(function(e, t, n, r) {
@@ -1,9 +1,9 @@
1
1
  import { n as e } from "./src-CA_m4ONl.js";
2
2
  import { n as t } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
3
- import "./chunk-DU6HZSFF-1TwWR6gh.js";
4
- import "./mermaid-Dfvntf3s.js";
3
+ import "./chunk-DU6HZSFF-BSvuTkX4.js";
4
+ import "./mermaid-CEceCleL.js";
5
5
  import { g as n, t as r } from "./mermaid-parser.core-DxuSfYwJ.js";
6
- import { n as i, r as a, t as o } from "./chunk-SVP7TREG-B2SFkCAL.js";
6
+ import { n as i, r as a, t as o } from "./chunk-SVP7TREG-B0dScloT.js";
7
7
  import { t as s } from "./chunk-JWPE2WC7-DJvv1t8U.js";
8
8
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/railroadDiagram-O6MQD6OU.mjs
9
9
  var c = n().Railroad.parser.LangiumParser, l = /* @__PURE__ */ t((e) => {
@@ -1,17 +1,17 @@
1
- import { g as e } from "./chunk-75Z2AOVW-C4AOleKf.js";
1
+ import { g as e } from "./chunk-75Z2AOVW-AI7CvgKn.js";
2
2
  import { n as t } from "./src-CA_m4ONl.js";
3
3
  import { n, t as r } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
4
- import { H as i, K as a, U as o, a as s, b as c, v as l, w as u, x as d, y as f } from "./chunk-DU6HZSFF-1TwWR6gh.js";
5
- import "./chunk-P2QGCYS3-0TAWai9C.js";
6
- import "./chunk-PWAF6VOD-lNxB9k8z.js";
7
- import "./chunk-GMAD6QVW-vStrMz2P.js";
8
- import "./chunk-4HAMMTFA-BPTTOOC5.js";
9
- import "./chunk-GVQU2GXP-2HwWgs4u.js";
10
- import "./chunk-L3NEJ4N5-RhC7i0I2.js";
11
- import "./chunk-OSK3NFVY-CZV09N-U.js";
12
- import { n as p, r as m } from "./mermaid-Dfvntf3s.js";
4
+ import { H as i, K as a, U as o, a as s, b as c, v as l, w as u, x as d, y as f } from "./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 { n as p, r as m } from "./mermaid-CEceCleL.js";
13
13
  import { t as h } from "./chunk-XXDRQBXY-Dnl5VBqG.js";
14
- import { t as g } from "./chunk-POPQ4Y6H-Cc3_56GX.js";
14
+ import { t as g } from "./chunk-POPQ4Y6H-BUiNs18s.js";
15
15
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-BXWQKSXE.mjs
16
16
  var _ = (function() {
17
17
  var e = /* @__PURE__ */ n(function(e, t, n, r) {
@@ -3,15 +3,15 @@ import { c as t, g as n, h as r, m as i, t as a } from "./button-B0Xgl-Qn.js";
3
3
  import { t as o } from "./react-ofJbxM4x.js";
4
4
  import { t as s } from "./compiler-runtime-Cj8ZWiNS.js";
5
5
  import { g as c, t as l } from "./tooltip-Bi36DgYh.js";
6
- import { w as u } from "./cells-5ppES-Un.js";
7
- import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-CB96Vrh1.js";
6
+ import { w as u } from "./cells-BUbzm9iX.js";
7
+ import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-DYbUXmkS.js";
8
8
  import { M as C } from "./select-BcObMjGz.js";
9
9
  import { J as ee } from "./dropdown-menu-BaqM0t4N.js";
10
10
  import { y as w } from "./toDate-DWVp6uE1.js";
11
11
  import { t as T } from "./jsx-runtime-DgDPJV9S.js";
12
12
  import { q as te } from "./use-restore-focus-ZgG5Br63.js";
13
13
  import { A as E, C as D, b as O } from "./useTheme-BOw801nZ.js";
14
- import { a as k, n as ne, t as re } from "./code-visibility-BKuHUlSp.js";
14
+ import { a as k, n as ne, t as re } from "./code-visibility-CP3A3ANH.js";
15
15
  /* empty css */
16
16
  var A = c("sticky-note", [["path", {
17
17
  d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
@@ -2,7 +2,7 @@ import { n as e } from "./ordinal-c7efuCSS.js";
2
2
  import { t } from "./colors-Bf2kJUGb.js";
3
3
  import { t as n } from "./src-CA_m4ONl.js";
4
4
  import { n as r } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
5
- import { H as i, J as a, K as o, U as s, a as c, d as l, s as u, v as d, w as f, x as p, y as m } from "./chunk-DU6HZSFF-1TwWR6gh.js";
5
+ import { H as i, J as a, K as o, U as s, a as c, d as l, s as u, v as d, w as f, x as p, y as m } from "./chunk-DU6HZSFF-BSvuTkX4.js";
6
6
  //#region ../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js
7
7
  var h = t("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");
8
8
  //#endregion
@@ -1,10 +1,10 @@
1
- import { g as e, p as t } from "./chunk-75Z2AOVW-C4AOleKf.js";
1
+ import { g as e, p as t } from "./chunk-75Z2AOVW-AI7CvgKn.js";
2
2
  import { n, t as r } from "./src-CA_m4ONl.js";
3
3
  import { n as i } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
4
- import { A as a, F as o, G as s, H as c, K as l, O as u, U as d, a as f, b as p, c as m, i as h, r as g, s as _, v, w as y, x as b, y as x, z as S } from "./chunk-DU6HZSFF-1TwWR6gh.js";
4
+ import { A as a, F as o, G as s, H as c, K as l, O as u, U as d, a as f, b as p, c as m, i as h, r as g, s as _, v, w as y, x as b, y as x, z as S } from "./chunk-DU6HZSFF-BSvuTkX4.js";
5
5
  import { t as C } from "./dist-DUAh96QY.js";
6
- import { a as w, i as T } from "./mermaid-Dfvntf3s.js";
7
- import { a as E, c as D, i as O, n as k, r as A, s as j } from "./chunk-F27PBJKO-DMI1PBe4.js";
6
+ import { a as w, i as T } from "./mermaid-CEceCleL.js";
7
+ import { a as E, c as D, i as O, n as k, r as A, s as j } from "./chunk-F27PBJKO-CLshwT9T.js";
8
8
  import { t as M } from "./chunk-2Q5K7J3B-BMkUkeuy.js";
9
9
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WJ2MYXX4.mjs
10
10
  var N = C(), P = (function() {
@@ -1,22 +1,22 @@
1
1
  import { t as e } from "./dagre-BGSfXNEb.js";
2
2
  import { t } from "./graphlib-BmY_CCV9.js";
3
3
  import { K as n, q as r } from "./cubic-OaEBhQPK.js";
4
- import { g as i } from "./chunk-75Z2AOVW-C4AOleKf.js";
4
+ import { g as i } from "./chunk-75Z2AOVW-AI7CvgKn.js";
5
5
  import { n as a, t as o } from "./src-CA_m4ONl.js";
6
6
  import { n as s } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
7
- import { O as c, c as l, s as u, x as d } from "./chunk-DU6HZSFF-1TwWR6gh.js";
8
- import "./chunk-P2QGCYS3-0TAWai9C.js";
9
- import "./chunk-PWAF6VOD-lNxB9k8z.js";
10
- import "./chunk-GMAD6QVW-vStrMz2P.js";
11
- import "./chunk-4HAMMTFA-BPTTOOC5.js";
12
- import "./chunk-GVQU2GXP-2HwWgs4u.js";
13
- import "./chunk-L3NEJ4N5-RhC7i0I2.js";
14
- import "./chunk-OSK3NFVY-CZV09N-U.js";
15
- import "./mermaid-Dfvntf3s.js";
16
- import "./chunk-F27PBJKO-DMI1PBe4.js";
7
+ import { O as c, c as l, s as u, x as d } from "./chunk-DU6HZSFF-BSvuTkX4.js";
8
+ import "./chunk-P2QGCYS3-D9twiFuU.js";
9
+ import "./chunk-PWAF6VOD-D8S9NPCy.js";
10
+ import "./chunk-GMAD6QVW-wnHcn-lH.js";
11
+ import "./chunk-4HAMMTFA-CH7Gpamd.js";
12
+ import "./chunk-GVQU2GXP-7O2p8hut.js";
13
+ import "./chunk-L3NEJ4N5-B9_Alrxb.js";
14
+ import "./chunk-OSK3NFVY-PeQPH2fD.js";
15
+ import "./mermaid-CEceCleL.js";
16
+ import "./chunk-F27PBJKO-CLshwT9T.js";
17
17
  import "./chunk-XXDRQBXY-Dnl5VBqG.js";
18
- import "./chunk-POPQ4Y6H-Cc3_56GX.js";
19
- import { i as f, n as p, t as m } from "./chunk-IMKFNOWR-Cm3RgLDj.js";
18
+ import "./chunk-POPQ4Y6H-BUiNs18s.js";
19
+ import { i as f, n as p, t as m } from "./chunk-IMKFNOWR-BlsbbLiS.js";
20
20
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-D77RDMKH.mjs
21
21
  var h = /* @__PURE__ */ s((e) => e.append("circle").attr("class", "start-state").attr("r", d().state.sizeUnit).attr("cx", d().state.padding + d().state.sizeUnit).attr("cy", d().state.padding + d().state.sizeUnit), "drawStartState"), g = /* @__PURE__ */ s((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", d().state.textHeight).attr("class", "divider").attr("x2", d().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), _ = /* @__PURE__ */ s((e, t) => {
22
22
  let n = e.append("text").attr("x", 2 * d().state.padding).attr("y", d().state.textHeight + 2 * d().state.padding).attr("font-size", d().state.fontSize).attr("class", "state-title").text(t.id), r = n.node().getBBox();
@@ -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 { i as t, n, r, t as i } from "./chunk-IMKFNOWR-BlsbbLiS.js";
17
+ //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-MP3YSRHH.mjs
18
+ var a = {
19
+ parser: n,
20
+ get db() {
21
+ return new i(2);
22
+ },
23
+ renderer: r,
24
+ styles: t,
25
+ init: /* @__PURE__ */ e((e) => {
26
+ e.state ||= {}, e.state.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
27
+ }, "init")
28
+ };
29
+ //#endregion
30
+ export { a as diagram };
@@ -1,15 +1,15 @@
1
- import "./chunk-75Z2AOVW-C4AOleKf.js";
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-1TwWR6gh.js";
5
- import "./chunk-P2QGCYS3-0TAWai9C.js";
6
- import "./chunk-PWAF6VOD-lNxB9k8z.js";
7
- import "./chunk-GMAD6QVW-vStrMz2P.js";
8
- import "./chunk-4HAMMTFA-BPTTOOC5.js";
9
- import "./chunk-GVQU2GXP-2HwWgs4u.js";
10
- import "./chunk-L3NEJ4N5-RhC7i0I2.js";
11
- import { o as n } from "./chunk-OSK3NFVY-CZV09N-U.js";
12
- import { c as r } from "./mermaid-Dfvntf3s.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 { 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 { t as e } from "./arc-7ra3iNdN.js";
2
- import { p as t } from "./chunk-75Z2AOVW-C4AOleKf.js";
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-1TwWR6gh.js";
6
- import { p as m } from "./mermaid-Dfvntf3s.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-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,9 +1,9 @@
1
- import { i as e } from "./chunk-75Z2AOVW-C4AOleKf.js";
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-1TwWR6gh.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-BSvuTkX4.js";
5
5
  import { t as _ } from "./rough.esm-CtV9AnV1.js";
6
- import { p as v } from "./mermaid-Dfvntf3s.js";
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-C4AOleKf.js";
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-1TwWR6gh.js";
5
- import { p as m } from "./mermaid-Dfvntf3s.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-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-C4AOleKf.js";
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-1TwWR6gh.js";
10
- import "./chunk-PWAF6VOD-lNxB9k8z.js";
11
- import { t as b } from "./chunk-GMAD6QVW-vStrMz2P.js";
12
- import { p as x } from "./mermaid-Dfvntf3s.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-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-dev27",
3
+ "version": "0.25.2-dev30",
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.14",
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",
@@ -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
 
@@ -46,7 +46,7 @@ const CheckboxComponent = ({
46
46
  const id = useId();
47
47
 
48
48
  return (
49
- <Labeled label={data.label} align="right" id={id}>
49
+ <Labeled label={data.label} align="right" controlId={id}>
50
50
  <Checkbox
51
51
  data-testid="marimo-plugin-checkbox"
52
52
  checked={value}
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { type CalendarDate, parseDate } from "@internationalized/date";
4
- import type { JSX } from "react";
4
+ import { type JSX, useId } from "react";
5
5
  import { z } from "zod";
6
6
  import { DatePicker } from "@/components/ui/date-picker";
7
7
  import type { IPlugin, IPluginProps, Setter } from "../types";
@@ -49,6 +49,7 @@ interface DatePickerProps extends Data {
49
49
  }
50
50
 
51
51
  const DatePickerComponent = (props: DatePickerProps): JSX.Element => {
52
+ const labelId = useId();
52
53
  const handleInput = (valueAsDate: CalendarDate | null) => {
53
54
  if (!valueAsDate) {
54
55
  return;
@@ -59,12 +60,13 @@ const DatePickerComponent = (props: DatePickerProps): JSX.Element => {
59
60
  };
60
61
 
61
62
  return (
62
- <Labeled label={props.label} fullWidth={props.fullWidth}>
63
+ <Labeled labelId={labelId} label={props.label} fullWidth={props.fullWidth}>
63
64
  <DatePicker
64
65
  granularity="day"
65
66
  value={parseDate(props.value)}
66
67
  onChange={handleInput}
67
- aria-label={props.label ?? "date picker"}
68
+ aria-labelledby={props.label ? labelId : undefined}
69
+ aria-label={props.label ? undefined : "date picker"}
68
70
  minValue={parseDate(props.start)}
69
71
  maxValue={parseDate(props.stop)}
70
72
  isDisabled={props.disabled}
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { type CalendarDate, parseDate } from "@internationalized/date";
4
- import type { JSX } from "react";
4
+ import { type JSX, useId } from "react";
5
5
  import { z } from "zod";
6
6
  import { DateRangePicker } from "@/components/ui/date-picker";
7
7
  import type { IPlugin, IPluginProps, Setter } from "../types";
@@ -48,6 +48,7 @@ interface DateRangePickerProps extends Data {
48
48
  }
49
49
 
50
50
  const DateRangePickerComponent = (props: DateRangePickerProps): JSX.Element => {
51
+ const labelId = useId();
51
52
  const handleInput = (
52
53
  valueAsDateRange: {
53
54
  start: CalendarDate;
@@ -64,7 +65,7 @@ const DateRangePickerComponent = (props: DateRangePickerProps): JSX.Element => {
64
65
  };
65
66
 
66
67
  return (
67
- <Labeled label={props.label} fullWidth={props.fullWidth}>
68
+ <Labeled labelId={labelId} label={props.label} fullWidth={props.fullWidth}>
68
69
  <DateRangePicker
69
70
  granularity="day"
70
71
  value={{
@@ -72,7 +73,8 @@ const DateRangePickerComponent = (props: DateRangePickerProps): JSX.Element => {
72
73
  end: parseDate(props.value[1]),
73
74
  }}
74
75
  onChange={handleInput}
75
- aria-label={props.label ?? "date range picker"}
76
+ aria-labelledby={props.label ? labelId : undefined}
77
+ aria-label={props.label ? undefined : "date range picker"}
76
78
  minValue={parseDate(props.start)}
77
79
  maxValue={parseDate(props.stop)}
78
80
  isDisabled={props.disabled}
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { type CalendarDateTime, parseDateTime } from "@internationalized/date";
4
- import type { JSX } from "react";
4
+ import { type JSX, useId } from "react";
5
5
  import { z } from "zod";
6
6
  import { DatePicker } from "@/components/ui/date-picker";
7
7
  import type { IPlugin, IPluginProps, Setter } from "../types";
@@ -50,6 +50,7 @@ interface DateTimePickerProps extends Data {
50
50
  }
51
51
 
52
52
  const DateTimePickerComponent = (props: DateTimePickerProps): JSX.Element => {
53
+ const labelId = useId();
53
54
  const handleInput = (valueAsDateTime: CalendarDateTime | null) => {
54
55
  if (!valueAsDateTime) {
55
56
  return;
@@ -63,12 +64,13 @@ const DateTimePickerComponent = (props: DateTimePickerProps): JSX.Element => {
63
64
  const parsedValue = props.value ? parseDateTime(props.value) : undefined;
64
65
 
65
66
  return (
66
- <Labeled label={props.label} fullWidth={props.fullWidth}>
67
+ <Labeled labelId={labelId} label={props.label} fullWidth={props.fullWidth}>
67
68
  <DatePicker
68
69
  granularity={props.precision}
69
70
  value={parsedValue}
70
71
  onChange={handleInput}
71
- aria-label={props.label ?? "date time picker"}
72
+ aria-labelledby={props.label ? labelId : undefined}
73
+ aria-label={props.label ? undefined : "date time picker"}
72
74
  minValue={parseDateTime(props.start)}
73
75
  maxValue={parseDateTime(props.stop)}
74
76
  isDisabled={props.disabled}
@@ -79,7 +79,7 @@ const Dropdown = (props: DropdownProps): JSX.Element => {
79
79
  const singleValue = value.length === 0 ? defaultValue : value[0];
80
80
 
81
81
  return (
82
- <Labeled label={label} id={id} fullWidth={fullWidth}>
82
+ <Labeled label={label} controlId={id} fullWidth={fullWidth}>
83
83
  <NativeSelect
84
84
  data-testid="marimo-plugin-dropdown"
85
85
  onChange={(e) => {
@@ -68,7 +68,7 @@ export const Multiselect = ({
68
68
  );
69
69
 
70
70
  return (
71
- <Labeled label={label} id={id} fullWidth={fullWidth}>
71
+ <Labeled label={label} controlId={id} fullWidth={fullWidth}>
72
72
  <SelectList<string>
73
73
  id={id}
74
74
  options={items}
@@ -70,7 +70,7 @@ const NumberComponent = (props: NumberComponentProps): JSX.Element => {
70
70
  };
71
71
 
72
72
  return (
73
- <Labeled label={props.label} id={id} fullWidth={props.fullWidth}>
73
+ <Labeled label={props.label} controlId={id} fullWidth={props.fullWidth}>
74
74
  <NumberField
75
75
  data-testid="marimo-plugin-number-input"
76
76
  className={cn("min-w-[3em]", props.fullWidth && "w-full")}
@@ -51,7 +51,11 @@ export const Radio = (props: RadioProps): JSX.Element => {
51
51
  const id = useId();
52
52
 
53
53
  return (
54
- <Labeled label={props.label} id={id} align={props.inline ? "left" : "top"}>
54
+ <Labeled
55
+ label={props.label}
56
+ controlId={id}
57
+ align={props.inline ? "left" : "top"}
58
+ >
55
59
  <RadioGroup
56
60
  data-testid="marimo-plugin-radio"
57
61
  value={props.value ?? ""}
@@ -98,7 +98,7 @@ const RangeSliderComponent = ({
98
98
  const sliderElement = (
99
99
  <Labeled
100
100
  label={label}
101
- id={id}
101
+ controlId={id}
102
102
  align={orientation === "horizontal" ? "left" : "top"}
103
103
  className={cn(fullWidth && "my-1 w-full")}
104
104
  fullWidth={fullWidth}
@@ -33,7 +33,7 @@ export const SearchableSelect = (props: SearchableSelectProps): JSX.Element => {
33
33
  );
34
34
 
35
35
  return (
36
- <Labeled label={label} id={id} fullWidth={fullWidth}>
36
+ <Labeled label={label} controlId={id} fullWidth={fullWidth}>
37
37
  <SelectList<string>
38
38
  id={id}
39
39
  options={items}
@@ -224,7 +224,7 @@ const SliderComponent = ({
224
224
  const sliderElement = (
225
225
  <Labeled
226
226
  label={label}
227
- id={id}
227
+ controlId={id}
228
228
  align={orientation === "horizontal" ? "left" : "top"}
229
229
  fullWidth={fullWidth}
230
230
  className={cn(fullWidth && "my-1 w-full")}
@@ -34,7 +34,12 @@ const SwitchComponent = ({
34
34
  const id = useId();
35
35
 
36
36
  return (
37
- <Labeled label={data.label} align="right" id={id} labelClassName="ml-1">
37
+ <Labeled
38
+ label={data.label}
39
+ align="right"
40
+ controlId={id}
41
+ labelClassName="ml-1"
42
+ >
38
43
  <Switch
39
44
  data-testid="marimo-plugin-switch"
40
45
  checked={value}