@marimo-team/islands 0.25.2-dev4 → 0.25.2-dev40

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 (270) hide show
  1. package/dist/{ConnectedDataExplorerComponent-C2d9ysUI.js → ConnectedDataExplorerComponent-CglAbSke.js} +11 -11
  2. package/dist/{ErrorBoundary-CHS5luyo.js → ErrorBoundary-DsSFkMNZ.js} +8 -8
  3. package/dist/{abnfDiagram-VCTEODGH-AFhOQTt8.js → abnfDiagram-VCTEODGH-Bd5MYz7g.js} +3 -3
  4. package/dist/{any-language-editor-CycIVIeP.js → any-language-editor-DJ2MRREE.js} +5 -5
  5. package/dist/{apl-BYaaig9_.js → apl-GEW9-ZP1.js} +1 -1
  6. package/dist/{architectureDiagram-5GKGNRK7-BngksAAQ.js → architectureDiagram-5GKGNRK7-12FmGgo8.js} +5 -5
  7. package/dist/{asciiarmor-GKQFJXQG.js → asciiarmor-BWNxzkG7.js} +1 -1
  8. package/dist/{asn1-BsSb7HP5.js → asn1-Bcn2QutK.js} +1 -1
  9. package/dist/assets/__vite-browser-external-BqAtzd2P.js +1 -0
  10. package/dist/assets/{worker-D7hWi02M.js → worker-Bf8dt6S-.js} +5 -5
  11. package/dist/{asterisk-B3I8SNb5.js → asterisk-lE36-hJK.js} +1 -1
  12. package/dist/{blockDiagram-I7D4REHJ-CvBmppdy.js → blockDiagram-I7D4REHJ-BeHOjyDk.js} +9 -9
  13. package/dist/{brainfuck-DXjk3bQe.js → brainfuck-BQCYDheZ.js} +1 -1
  14. package/dist/{button-DdXAm8iz.js → button-B0Xgl-Qn.js} +12 -0
  15. package/dist/{c4Diagram-7LVT6UL2-EceL4_jH.js → c4Diagram-7LVT6UL2-Bao10t_O.js} +7 -7
  16. package/dist/{capabilities-B3ce_GNu.js → capabilities-D7Ad8-zw.js} +1 -1
  17. package/dist/{cells-Cv93oav_.js → cells-HZp46rAW.js} +278 -278
  18. package/dist/{channel-z7HZXHwv.js → channel-BxCkvUgE.js} +1 -1
  19. package/dist/{chat-ui-fVyVOhYN.js → chat-ui-BSm4FFA7.js} +46 -46
  20. package/dist/{check-B7cIK6gb.js → check-DGZ74tV2.js} +1 -1
  21. package/dist/{chunk-4HAMMTFA-BPTTOOC5.js → chunk-4HAMMTFA-CH7Gpamd.js} +5 -5
  22. package/dist/{chunk-75Z2AOVW-C4AOleKf.js → chunk-75Z2AOVW-AI7CvgKn.js} +1 -1
  23. package/dist/{chunk-DU6HZSFF-1TwWR6gh.js → chunk-DU6HZSFF-BSvuTkX4.js} +1 -1
  24. package/dist/{chunk-F27PBJKO-DMI1PBe4.js → chunk-F27PBJKO-CLshwT9T.js} +1 -1
  25. package/dist/{chunk-GMAD6QVW-vStrMz2P.js → chunk-GMAD6QVW-wnHcn-lH.js} +3 -3
  26. package/dist/{chunk-GVQU2GXP-2HwWgs4u.js → chunk-GVQU2GXP-7O2p8hut.js} +2 -2
  27. package/dist/{chunk-IMKFNOWR-UOVZuZVn.js → chunk-IMKFNOWR-BlsbbLiS.js} +6 -6
  28. package/dist/{chunk-L3NEJ4N5-RhC7i0I2.js → chunk-L3NEJ4N5-B9_Alrxb.js} +5 -5
  29. package/dist/{chunk-OSK3NFVY-CZV09N-U.js → chunk-OSK3NFVY-PeQPH2fD.js} +6 -6
  30. package/dist/{chunk-P2QGCYS3-0TAWai9C.js → chunk-P2QGCYS3-D9twiFuU.js} +1 -1
  31. package/dist/{chunk-POPQ4Y6H-Cc3_56GX.js → chunk-POPQ4Y6H-BUiNs18s.js} +1 -1
  32. package/dist/{chunk-PWAF6VOD-lNxB9k8z.js → chunk-PWAF6VOD-D8S9NPCy.js} +1 -1
  33. package/dist/{chunk-SHT3W25Y-CrEPyWy1.js → chunk-SHT3W25Y-DoIB7Bub.js} +8 -8
  34. package/dist/{chunk-SVP7TREG-uIyyySp6.js → chunk-SVP7TREG-B0dScloT.js} +2 -2
  35. package/dist/{chunk-TICWLB2K-DdXM3eg6.js → chunk-TICWLB2K-C-lzn2th.js} +6 -6
  36. package/dist/classDiagram-ZZMXUADV-C5vpBHoS.js +30 -0
  37. package/dist/classDiagram-v2-VYDZK3BY-BS2Wadt0.js +30 -0
  38. package/dist/{clike-E2lFbGVj.js → clike-CxK9W55Z.js} +1 -1
  39. package/dist/{clojure-Dn_K4RlK.js → clojure-Dzcvwpxk.js} +1 -1
  40. package/dist/{cmake-DpN2Top5.js → cmake-DYr-71zp.js} +1 -1
  41. package/dist/{cobol-Chf22-GM.js → cobol-DC3g37Kq.js} +1 -1
  42. package/dist/{code-visibility-DOzR4Dbu.js → code-visibility-CF8pyEd4.js} +6 -6
  43. package/dist/{coffeescript-BVe1OiD9.js → coffeescript-C-eFwH5N.js} +1 -1
  44. package/dist/{common-BH1qMx9b.js → common-CuGATPZ-.js} +31 -24
  45. package/dist/{commonlisp-DxoBG7fU.js → commonlisp-CyaNXrJR.js} +1 -1
  46. package/dist/{copy-icon-CLdENY__.js → copy-icon-qmRg_VTX.js} +3 -3
  47. package/dist/{crystal-DCM3yc4r.js → crystal-ih5ax5tQ.js} +1 -1
  48. package/dist/{css-DkZ9mMyI.js → css-CN_wP7_R.js} +1 -1
  49. package/dist/{cynefinDiagram-5FMLGOSQ-zknaAsGy.js → cynefinDiagram-5FMLGOSQ-fxnL4mfp.js} +3 -3
  50. package/dist/{cypher-Drw_8U5I.js → cypher-CqGRcmZo.js} +1 -1
  51. package/dist/{d-CsVGcKMF.js → d-Cj0sOW2z.js} +1 -1
  52. package/dist/{dagre-GXQ25YYZ-BhMOoMGJ.js → dagre-GXQ25YYZ-D5NkGE9i.js} +10 -10
  53. package/dist/{data-grid-overlay-editor-C23bOAVI.js → data-grid-overlay-editor-Mbr-fS3b.js} +1 -1
  54. package/dist/{diagram-S7CK7UJ4-V5-Z-EDY.js → diagram-S7CK7UJ4-CATbk1XK.js} +4 -4
  55. package/dist/{diagram-UQ7AKVKN-qw8AjDal.js → diagram-UQ7AKVKN-Cjha5vrC.js} +3 -3
  56. package/dist/{diagram-VSXAHHWV-CR7BJygZ.js → diagram-VSXAHHWV-DPAWJ9Nw.js} +2 -2
  57. package/dist/{diagram-VX7I27RA-DfuqFb1E.js → diagram-VX7I27RA-BHfAjgGw.js} +5 -5
  58. package/dist/{diagram-Z3DM3KII-DpWwlYZB.js → diagram-Z3DM3KII-eAoDps6E.js} +3 -3
  59. package/dist/{dialog-CgNq6y9-.js → dialog-CILKhbsG.js} +3 -3
  60. package/dist/{diff-CBikYCUF.js → diff-B_hUkiat.js} +1 -1
  61. package/dist/{dist-Df0wKI0F.js → dist-BK4Oj99o.js} +1 -1
  62. package/dist/{dist-BVGtK7Ht.js → dist-BLfKmR-l.js} +1 -1
  63. package/dist/{dist-B8D7McG3.js → dist-BMQf5zIS.js} +46 -46
  64. package/dist/{dist-C2KzV-vf.js → dist-BorMD-uX.js} +2 -2
  65. package/dist/{dist-Cs2FijYk.js → dist-BuaRHxOc.js} +2 -2
  66. package/dist/{dist-DPcEtqmG.js → dist-Bvs24R_E.js} +47 -47
  67. package/dist/{dist-lA1Cttkb.js → dist-C8fAKSH1.js} +41 -41
  68. package/dist/{dist-DszxuxS1.js → dist-CLdpGQVr.js} +2 -2
  69. package/dist/{dist-CO1AwwG_.js → dist-CN8zI-XC.js} +209 -209
  70. package/dist/{dist-D1PpnuZB.js → dist-CN_BeG2I.js} +1 -1
  71. package/dist/{dist-CPGxfVGX.js → dist-CSJ0MDRw.js} +1 -1
  72. package/dist/{dist-Cm3iAFMD.js → dist-CSbh1PNP.js} +3 -3
  73. package/dist/{dist-9x1ZRe-e.js → dist-Cg7gzw-a.js} +2 -2
  74. package/dist/{dist-B1vYLK28.js → dist-CkTTIdBe.js} +345 -345
  75. package/dist/{dist-BRxfaJgs.js → dist-CrSP_H1M.js} +296 -296
  76. package/dist/{dist-C2wDlYdD.js → dist-D-wwqlzJ.js} +2 -2
  77. package/dist/{dist-BtKIs9N-.js → dist-D6d86eNJ.js} +1 -1
  78. package/dist/{dist-DHOTQar0.js → dist-DBtSl3sf.js} +1 -1
  79. package/dist/{dist-KzZ7WELx.js → dist-DiDibOYr.js} +120 -120
  80. package/dist/{dist-Kxgjxakw.js → dist-DoE4XJBC.js} +1277 -1222
  81. package/dist/{dist-BHCHt1NI.js → dist-F8Ep36rk.js} +1 -1
  82. package/dist/{dist-C8xMLVYi.js → dist-OR1OnN-y.js} +44 -44
  83. package/dist/{dist-1HDa70oE.js → dist-PXYI_yuP.js} +3 -3
  84. package/dist/{dist-CMh_W4y4.js → dist-diIx5qJW.js} +2 -2
  85. package/dist/{dockerfile-DJnSntVB.js → dockerfile-D0VKN500.js} +2 -2
  86. package/dist/{dropdown-menu-CZy06LAq.js → dropdown-menu-BaqM0t4N.js} +7 -7
  87. package/dist/{dtd-BHa4v0Bn.js → dtd-B8FGSWWe.js} +1 -1
  88. package/dist/{dylan-BypL2Zz8.js → dylan-DbIBYIrw.js} +1 -1
  89. package/dist/{ebnf-5guncNu-.js → ebnf-D-YbYLdk.js} +1 -1
  90. package/dist/{ebnfDiagram-PWID7BFC-C20OnNMZ.js → ebnfDiagram-PWID7BFC-D8RYnIZC.js} +3 -3
  91. package/dist/{ecl-iRcVIKYZ.js → ecl-DBmkdWAd.js} +1 -1
  92. package/dist/{eiffel-BEqF9aU4.js → eiffel-CcWSDDzK.js} +1 -1
  93. package/dist/{elm-DYcfNE9c.js → elm-MC-b8a6C.js} +1 -1
  94. package/dist/{erDiagram-RLTQ6QDP-DBXLWO9v.js → erDiagram-RLTQ6QDP-BfmoNNce.js} +12 -12
  95. package/dist/{erlang-BtAuIoF0.js → erlang-AdO1-xtV.js} +1 -1
  96. package/dist/{error-banner-B94dcDmP.js → error-banner-DzAmP0AQ.js} +2 -2
  97. package/dist/{error-entries-DLl0XqoW.js → error-entries-BmuhCp3w.js} +2 -2
  98. package/dist/{esm-BElI3qKH.js → esm-D2gTsXEV.js} +579 -579
  99. package/dist/{esm-h8f7-1CJ.js → esm-DAVrGVKP.js} +378 -372
  100. package/dist/{factor-3nzOwLuN.js → factor-Ys-13HOP.js} +2 -2
  101. package/dist/{fcl-C90TGnJJ.js → fcl-DnwditDr.js} +1 -1
  102. package/dist/{feedback-button-B6DzYbxQ.js → feedback-button-D3il03Hy.js} +10 -10
  103. package/dist/flowDiagram-HODETNUW-Du_I0oTA.js +16 -0
  104. package/dist/{formats-Cl_67ghI.js → formats-pPD5eNN7.js} +3 -3
  105. package/dist/{forth-DEaRrLUi.js → forth-DiMuIXFe.js} +1 -1
  106. package/dist/{fortran-Bv6JRUjY.js → fortran-hkrF2eM4.js} +1 -1
  107. package/dist/{ganttDiagram-EL5Y4UJY-cRRaDt88.js → ganttDiagram-EL5Y4UJY-B4m_YsKa.js} +2 -2
  108. package/dist/{gas-JNerWj3-.js → gas-DlhqN9k8.js} +1 -1
  109. package/dist/{gherkin-CSrl-H70.js → gherkin-0SlhEZ3t.js} +1 -1
  110. package/dist/{gitGraphDiagram-WWUBYQGX-Pox5k9-Y.js → gitGraphDiagram-WWUBYQGX-QRBbvWXh.js} +2 -2
  111. package/dist/{glide-data-editor-H0BN7EiD.js → glide-data-editor-DPBV7xdX.js} +11 -11
  112. package/dist/{glide-utils-B3rUT5PI.js → glide-utils-CzzWU59p.js} +3 -3
  113. package/dist/{globals-C9VJ-IPA.js → globals-CxhiGjJ0.js} +3 -3
  114. package/dist/{groovy-X7euO_vE.js → groovy-YhcTMyvX.js} +1 -1
  115. package/dist/{haskell-C48Z70Az.js → haskell-CodLxrtT.js} +1 -1
  116. package/dist/{haxe-CAUWMmwR.js → haxe-CiRWNFkH.js} +1 -1
  117. package/dist/{html-to-image-CmkwfNkf.js → html-to-image-BF9hL2Aa.js} +12 -12
  118. package/dist/{http-BrSBnhDH.js → http-Bh6HhdNR.js} +1 -1
  119. package/dist/{idl-BXuPleZv.js → idl-DZgBq75I.js} +1 -1
  120. package/dist/{infoDiagram-27XIBGKW-ntpxMfrq.js → infoDiagram-27XIBGKW-CHsocw1z.js} +2 -2
  121. package/dist/{ishikawaDiagram-5VMMS53U-BllIlHE5.js → ishikawaDiagram-5VMMS53U-DZdZJdsT.js} +3 -3
  122. package/dist/{javascript-B4EPWJf_.js → javascript-BfNytHiM.js} +1 -1
  123. package/dist/{journeyDiagram-3NMN7TZE-EPJDPlt0.js → journeyDiagram-3NMN7TZE-BeeJdJo3.js} +2 -2
  124. package/dist/{julia-ke9Kh8b7.js → julia--tLIAG7q.js} +1 -1
  125. package/dist/{kanban-definition-UXKFOSKX-GYtNMjtS.js → kanban-definition-UXKFOSKX-B1rrJRmN.js} +9 -9
  126. package/dist/{label-BslhXqL6.js → label-MNhNNoN6.js} +2 -2
  127. package/dist/{livescript-Ce4uqGAC.js → livescript-CVPfYnY_.js} +1 -1
  128. package/dist/{loader-DEZSzvma.js → loader-C9OUkMrj.js} +1 -1
  129. package/dist/{lua-D6fti_Jk.js → lua-4Fa-T-qq.js} +1 -1
  130. package/dist/main.js +184 -157
  131. package/dist/{mathematica-DcEpZ3Vj.js → mathematica-CtYAy6GG.js} +1 -1
  132. package/dist/{mbox-DFBbOu0X.js → mbox-D0w9Ah1C.js} +1 -1
  133. package/dist/{mermaid-Dnzoxjt1.js → mermaid-CEceCleL.js} +54 -54
  134. package/dist/{mindmap-definition-YA3MSWOX-Cth76xgH.js → mindmap-definition-YA3MSWOX-C6-S9h9O.js} +11 -11
  135. package/dist/{mirc-CqeibO3N.js → mirc-De9aSAZM.js} +1 -1
  136. package/dist/{mllike-D54QZYTP.js → mllike-BbugeaY_.js} +1 -1
  137. package/dist/{modelica-DuML2-8V.js → modelica-BjJwWw1F.js} +1 -1
  138. package/dist/{mscgen-CJmKwp3b.js → mscgen-DwiRH5ma.js} +1 -1
  139. package/dist/{mumps-DaVgFtkd.js → mumps--plbDM9o.js} +1 -1
  140. package/dist/{nginx-BXN1rqI0.js → nginx-C4Df7REc.js} +1 -1
  141. package/dist/{nsis-CMfRqf0V.js → nsis-fiiOqLc3.js} +7 -7
  142. package/dist/{ntriples-BiOGlMDR.js → ntriples-jV77I4k8.js} +1 -1
  143. package/dist/{number-overlay-editor-MgsEqPLj.js → number-overlay-editor-V4Mh8AtO.js} +1 -1
  144. package/dist/{octave-CgVnzxKk.js → octave-Cztd01tF.js} +1 -1
  145. package/dist/{oz-B2mky97X.js → oz-Bl8o3BDl.js} +1 -1
  146. package/dist/{pascal-BoZhBf6s.js → pascal-BO5JqysR.js} +1 -1
  147. package/dist/{pegDiagram-XKGWAZYB-Cu4uOXii.js → pegDiagram-XKGWAZYB-BL-R6P57.js} +3 -3
  148. package/dist/{perl-DjzMqXtt.js → perl-Drlh9s6m.js} +1 -1
  149. package/dist/{pieDiagram-E7YTZNPT-Bh3eDa9s.js → pieDiagram-E7YTZNPT-DuAOxSRy.js} +3 -3
  150. package/dist/{pig-B2mB-01d.js → pig-BWGR8wZw.js} +1 -1
  151. package/dist/{powershell-D0zT88Aj.js → powershell-DT99xlz_.js} +1 -1
  152. package/dist/{process-output-CYN5E-iO.js → process-output-BCZh7Wj_.js} +4 -4
  153. package/dist/{properties-3_5qCgOj.js → properties-Q-rkxld0.js} +1 -1
  154. package/dist/{protobuf-Dgoxfi1H.js → protobuf-DKyWZbs7.js} +1 -1
  155. package/dist/{pug-CNRdd8oG.js → pug-42ZJUbEC.js} +2 -2
  156. package/dist/{puppet-DzILxZfz.js → puppet-B4UozHhh.js} +1 -1
  157. package/dist/purify.es-DMv5zIkJ.js +866 -0
  158. package/dist/{python-AfVdMn_l.js → python-DREjAV__.js} +1 -1
  159. package/dist/{q-C6p-CGWh.js → q-Bi63IpBO.js} +1 -1
  160. package/dist/{quadrantDiagram-AXDQQJYC--kqzFC3w.js → quadrantDiagram-AXDQQJYC-keLfFx9f.js} +1 -1
  161. package/dist/{r-CzKF1D2X.js → r-DSwXWKMR.js} +1 -1
  162. package/dist/{railroadDiagram-O6MQD6OU-DG-M6Rnc.js → railroadDiagram-O6MQD6OU-f-sfFoX9.js} +3 -3
  163. package/dist/{requirementDiagram-BXWQKSXE-DCwsThh0.js → requirementDiagram-BXWQKSXE-BICupkaf.js} +11 -11
  164. package/dist/{reveal-component-BNJLyBZU.js → reveal-component-D-j1l0o6.js} +10 -10
  165. package/dist/{rpm-Bx7FkjTO.js → rpm-DPb1DeKM.js} +1 -1
  166. package/dist/{ruby-BMzgq2bf.js → ruby-U7fZA4DP.js} +2 -2
  167. package/dist/{sankeyDiagram-P5KCCOFB-BdzhT0BM.js → sankeyDiagram-P5KCCOFB-Bh4EsJox.js} +1 -1
  168. package/dist/{sas-ClGVnK3F.js → sas-CLk1JpTn.js} +1 -1
  169. package/dist/{scheme-C0MXqXep.js → scheme-CT-2k2Tl.js} +1 -1
  170. package/dist/{select-C6plhmZr.js → select-BcObMjGz.js} +4 -4
  171. package/dist/{sequenceDiagram-WJ2MYXX4-CbXB1_PU.js → sequenceDiagram-WJ2MYXX4-DBFRnNGU.js} +4 -4
  172. package/dist/{shell-CiQZv6oG.js → shell-BLO7fcsk.js} +1 -1
  173. package/dist/{sieve-BiIMePvV.js → sieve-nG3C7WNH.js} +1 -1
  174. package/dist/{simple-mode-8ETW2RS6.js → simple-mode-C683Q7or.js} +1 -1
  175. package/dist/{smalltalk-9-llftyG.js → smalltalk-BROcZybA.js} +1 -1
  176. package/dist/{solr-CxCKEuwq.js → solr-mVltHNc5.js} +1 -1
  177. package/dist/{sparql-BRmy7pzx.js → sparql-Cv1Ksr4v.js} +1 -1
  178. package/dist/{spec-DQBRQSba.js → spec-BSchR9UD.js} +16 -14
  179. package/dist/{spreadsheet-UCNUIGsn.js → spreadsheet-BwTnp5K_.js} +1 -1
  180. package/dist/{sql-D0hSGZ-H.js → sql-CjLt0122.js} +1 -1
  181. package/dist/{stateDiagram-D77RDMKH-A-Zf3Sb2.js → stateDiagram-D77RDMKH-CUP7QQW8.js} +13 -13
  182. package/dist/stateDiagram-v2-MP3YSRHH-B5mAItmH.js +30 -0
  183. package/dist/{stex-UeT_Aofp.js → stex-Btf3omL8.js} +1 -1
  184. package/dist/style.css +1 -1
  185. package/dist/{stylus-Fi4waA2H.js → stylus-Dt4VvLXL.js} +1 -1
  186. package/dist/{swift-NqPyaBye.js → swift-DHsn_CVI.js} +1 -1
  187. package/dist/{swimlanes-42K2YHIH-B_pMf0J4.js → swimlanes-42K2YHIH-BtIMdg7b.js} +10 -10
  188. package/dist/swimlanesDiagram-VR7AAH4N-CGnrrHpw.js +30 -0
  189. package/dist/{swiper-component-IOUowglM.js → swiper-component-DkV7T44B.js} +2 -2
  190. package/dist/{tcl-B4f0xfmM.js → tcl-CV0OLBOl.js} +1 -1
  191. package/dist/{textile-CnNbnPTe.js → textile-D320oKVM.js} +1 -1
  192. package/dist/{tiddlywiki-CSGSOg38.js → tiddlywiki-BVVNvfy4.js} +1 -1
  193. package/dist/{tiki-9F02WBA6.js → tiki-BF2aDPlB.js} +1 -1
  194. package/dist/{timeline-definition-24CTP7MA-DTXFjTTM.js → timeline-definition-24CTP7MA-UwihiSH2.js} +3 -3
  195. package/dist/{toDate-C67bxMWn.js → toDate-G79A_pyJ.js} +4 -5
  196. package/dist/{toast-DvY70eFX.js → toast-DcoJGS3-.js} +4 -4
  197. package/dist/{toml-AesZ6RBt.js → toml-CaUN7UHo.js} +1 -1
  198. package/dist/{tooltip-qB8NlSqV.js → tooltip-Bi36DgYh.js} +2 -2
  199. package/dist/{troff-DlfvveK1.js → troff-DQUFcClZ.js} +1 -1
  200. package/dist/{ttcn--YVSkGs_.js → ttcn-CQL1duJS.js} +1 -1
  201. package/dist/{ttcn-cfg-Bb1Knl_J.js → ttcn-cfg-BMmEFJPu.js} +1 -1
  202. package/dist/{turtle-DC24v1bz.js → turtle-C3esgsRr.js} +1 -1
  203. package/dist/{use-restore-focus-D5D9xEjZ.js → use-restore-focus-ZgG5Br63.js} +1 -1
  204. package/dist/{useAsyncData-BD6AStMt.js → useAsyncData-BD7NLQ3_.js} +1 -1
  205. package/dist/{useDateFormatter-BXQGu86d.js → useDateFormatter-D8XWr8lL.js} +2 -2
  206. package/dist/{useDeepCompareMemoize-D_HNdyvI.js → useDeepCompareMemoize-CawMGSRU.js} +1 -1
  207. package/dist/{useIframeCapabilities-CVtNkI3Y.js → useIframeCapabilities-BUMBOpsM.js} +1 -1
  208. package/dist/{useLifecycle-DPgiiwwU.js → useLifecycle-3vGhRa1o.js} +3 -3
  209. package/dist/{useTheme-DzXmYZ5V.js → useTheme-BOw801nZ.js} +2 -2
  210. package/dist/{vb-Dpc8vhvF.js → vb-RK1eDXRl.js} +1 -1
  211. package/dist/{vbscript-B-Y1XnZe.js → vbscript-BCOeM0de.js} +1 -1
  212. package/dist/{vega-component-tFOzgarw.js → vega-component-DyMT9lIi.js} +9 -9
  213. package/dist/{velocity-DHMu9kc-.js → velocity-CZKOFbOI.js} +1 -1
  214. package/dist/{vennDiagram-4TSXK5OY-BPHjZo0R.js → vennDiagram-4TSXK5OY-D5LNVIRI.js} +3 -3
  215. package/dist/{verilog-DhiEaoUl.js → verilog-DqQTzVn8.js} +1 -1
  216. package/dist/{vhdl-D4X23YKO.js → vhdl-vQr2bfmi.js} +1 -1
  217. package/dist/{wardleyDiagram-VM6X3IG4-6fTLYBuD.js → wardleyDiagram-VM6X3IG4-BwKf-b0_.js} +3 -3
  218. package/dist/{webidl-SyzNxWpJ.js → webidl-DzX7N40e.js} +1 -1
  219. package/dist/{xquery-BC2R4Hk6.js → xquery-Cw_Q_hGR.js} +1 -1
  220. package/dist/{xychartDiagram-S5SC5T6Z-BYjwjrzE.js → xychartDiagram-S5SC5T6Z-Cg_vyuW2.js} +5 -5
  221. package/dist/{yacas-DLNXPMmH.js → yacas-DiC4jJBE.js} +1 -1
  222. package/dist/{z80-CDXWHOO6.js → z80-CUOQDEJO.js} +1 -1
  223. package/package.json +12 -12
  224. package/src/components/chat/tool-call/__tests__/tool-result.test.tsx +56 -0
  225. package/src/components/chat/tool-call/tool-result.tsx +3 -3
  226. package/src/components/data-table/__tests__/pagination.test.tsx +85 -1
  227. package/src/components/data-table/charts/__tests__/schemas.test.ts +25 -0
  228. package/src/components/data-table/charts/__tests__/spec.test.ts +26 -23
  229. package/src/components/data-table/charts/constants.ts +11 -10
  230. package/src/components/data-table/charts/types.ts +1 -0
  231. package/src/components/data-table/pagination.tsx +16 -2
  232. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +32 -46
  233. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +29 -40
  234. package/src/components/editor/actions/__tests__/useSetOutputsExpanded.test.ts +42 -0
  235. package/src/components/editor/actions/pair-with-agent-commands.ts +3 -4
  236. package/src/components/editor/actions/pair-with-agent-modal.tsx +4 -7
  237. package/src/components/editor/actions/useNotebookActions.tsx +20 -0
  238. package/src/components/editor/actions/useSetOutputsExpanded.ts +67 -0
  239. package/src/core/config/pair.ts +0 -1
  240. package/src/core/edit-app.tsx +16 -0
  241. package/src/core/hotkeys/hotkeys.ts +12 -0
  242. package/src/core/kernel/session.ts +9 -0
  243. package/src/core/wasm/__tests__/bootstrap.test.ts +33 -1
  244. package/src/core/wasm/worker/bootstrap.ts +22 -3
  245. package/src/core/websocket/useMarimoKernelConnection.tsx +10 -1
  246. package/src/css/katex.min.css +145 -144
  247. package/src/plugins/impl/CheckboxPlugin.tsx +1 -1
  248. package/src/plugins/impl/DatePickerPlugin.tsx +5 -3
  249. package/src/plugins/impl/DateRangePlugin.tsx +5 -3
  250. package/src/plugins/impl/DateTimePickerPlugin.tsx +5 -3
  251. package/src/plugins/impl/DropdownPlugin.tsx +1 -1
  252. package/src/plugins/impl/FileBrowserPlugin.tsx +45 -15
  253. package/src/plugins/impl/MultiselectPlugin.tsx +1 -1
  254. package/src/plugins/impl/NumberPlugin.tsx +1 -1
  255. package/src/plugins/impl/RadioPlugin.tsx +5 -1
  256. package/src/plugins/impl/RangeSliderPlugin.tsx +1 -1
  257. package/src/plugins/impl/SearchableSelect.tsx +1 -1
  258. package/src/plugins/impl/SliderPlugin.tsx +1 -1
  259. package/src/plugins/impl/SwitchPlugin.tsx +6 -1
  260. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +85 -2
  261. package/src/plugins/impl/__tests__/widget-labels.test.tsx +122 -0
  262. package/src/plugins/impl/chat/ChatPlugin.tsx +1 -1
  263. package/src/plugins/impl/common/labeled.tsx +9 -3
  264. package/dist/assets/__vite-browser-external-C9iR87Zl.js +0 -1
  265. package/dist/classDiagram-ZZMXUADV-BiATbBE4.js +0 -30
  266. package/dist/classDiagram-v2-VYDZK3BY-JnH97GYw.js +0 -30
  267. package/dist/flowDiagram-HODETNUW-DL52nMkt.js +0 -16
  268. package/dist/purify.es-DgKyQviY.js +0 -805
  269. package/dist/stateDiagram-v2-MP3YSRHH-D9YMnUGx.js +0 -30
  270. package/dist/swimlanesDiagram-VR7AAH4N-Ctgy-yGP.js +0 -30
@@ -18,8 +18,7 @@ import { Tooltip } from "@/components/ui/tooltip";
18
18
  import { asRemoteURL, useRuntimeManager } from "@/core/runtime/config";
19
19
  import { API } from "@/core/network/api";
20
20
  import { pairPreviewAtom } from "@/core/config/pair";
21
- import { getSessionId } from "@/core/kernel/session";
22
- import { useFilename } from "@/core/saving/filename";
21
+ import { stableSessionIdAtom } from "@/core/kernel/session";
23
22
  import {
24
23
  AGENT_LABELS,
25
24
  AGENT_TABS,
@@ -54,16 +53,14 @@ export const PairWithAgentModal: React.FC<{
54
53
  const [activeTab, setActiveTab] = useState<AgentTab>("claude");
55
54
  const runtimeManager = useRuntimeManager();
56
55
  const preview = useAtomValue(pairPreviewAtom);
57
- const filename = useFilename();
56
+ const stableSessionId = useAtomValue(stableSessionIdAtom);
58
57
  const commandStep = preview ? 1 : 2;
59
58
  const authToken = useAuthToken();
60
59
  const hasToken = Boolean(authToken);
61
60
  const connection: ConnectionInfo = {
62
61
  url: runtimeManager.httpURL.toString(),
63
- file:
64
- getFileFromURL(window.location.href) ??
65
- (preview ? filename || undefined : undefined),
66
- session: preview ? getSessionId() : undefined,
62
+ file: preview ? undefined : getFileFromURL(window.location.href),
63
+ session: preview ? (stableSessionId ?? undefined) : undefined,
67
64
  };
68
65
 
69
66
  return (
@@ -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",
@@ -0,0 +1,67 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { useCallback } from "react";
4
+ import {
5
+ getNotebook,
6
+ type NotebookState,
7
+ useCellActions,
8
+ } from "@/core/cells/cells";
9
+ import type { CellId } from "@/core/cells/ids";
10
+ import { isOutputEmpty } from "@/core/cells/outputs";
11
+ import { useRequestClient } from "@/core/network/requests";
12
+ import type { CellConfig } from "@/core/network/types";
13
+ import { Objects } from "@/utils/objects";
14
+
15
+ /**
16
+ * The `expand_output` config changes needed to expand or clamp every output.
17
+ *
18
+ * Both actions skip cells without output, so their source isn't annotated
19
+ * with a config that has no effect.
20
+ */
21
+ export function outputExpansionConfigs(
22
+ notebook: NotebookState,
23
+ expanded: boolean,
24
+ ): Record<CellId, Partial<CellConfig>> {
25
+ const configs: Record<CellId, Partial<CellConfig>> = {};
26
+ for (const cellId of notebook.cellIds.inOrderIds) {
27
+ const cell = notebook.cellData[cellId];
28
+ if (
29
+ cell === undefined ||
30
+ (cell.config.expand_output ?? false) === expanded
31
+ ) {
32
+ continue;
33
+ }
34
+ if (isOutputEmpty(notebook.cellRuntime[cellId]?.output)) {
35
+ continue;
36
+ }
37
+ configs[cellId] = { expand_output: expanded };
38
+ }
39
+ return configs;
40
+ }
41
+
42
+ /**
43
+ * Hook returning a callback that shows every cell's output in full, or clamps
44
+ * every output to a fixed height, by setting each cell's `expand_output` config.
45
+ */
46
+ export const useSetOutputsExpanded = () => {
47
+ const { updateCellConfig } = useCellActions();
48
+ const { saveCellConfig } = useRequestClient();
49
+
50
+ return useCallback(
51
+ async (expanded: boolean) => {
52
+ const newConfigs = outputExpansionConfigs(getNotebook(), expanded);
53
+
54
+ const entries = Objects.entries(newConfigs);
55
+ if (entries.length === 0) {
56
+ return;
57
+ }
58
+
59
+ await saveCellConfig({ configs: newConfigs });
60
+
61
+ for (const [cellId, config] of entries) {
62
+ updateCellConfig({ cellId, config });
63
+ }
64
+ },
65
+ [updateCellConfig, saveCellConfig],
66
+ );
67
+ };
@@ -7,7 +7,6 @@ export const pairPreviewSchema = z.object({
7
7
  command: z.string(),
8
8
  templates: z.object({
9
9
  prompt: z.string(),
10
- file: z.string(),
11
10
  session: z.string(),
12
11
  token_file: z.string(),
13
12
  token: z.string(),
@@ -23,6 +23,7 @@ import {
23
23
  useRunStaleCells,
24
24
  } from "../components/editor/cell/useRunCells";
25
25
  import { useSetCodeVisibility } from "../components/editor/actions/useSetCodeVisibility";
26
+ import { useSetOutputsExpanded } from "../components/editor/actions/useSetOutputsExpanded";
26
27
  import { CellArray } from "../components/editor/renderers/cell-array";
27
28
  import { CellsRenderer } from "../components/editor/renderers/cells-renderer";
28
29
  import { useHotkey } from "../hooks/useHotkey";
@@ -115,6 +116,7 @@ export const EditApp: React.FC<AppProps> = ({
115
116
  const runAllCells = useRunAllCells();
116
117
  const togglePresenting = useTogglePresenting();
117
118
  const setCodeVisibility = useSetCodeVisibility();
119
+ const setOutputsExpanded = useSetOutputsExpanded();
118
120
 
119
121
  // HOTKEYS
120
122
  useHotkey("global.runStale", () => {
@@ -141,6 +143,20 @@ export const EditApp: React.FC<AppProps> = ({
141
143
  useHotkey("global.hideAllMarkdownCode", () => {
142
144
  setCodeVisibility(true, "markdown");
143
145
  });
146
+ useHotkey(
147
+ "global.expandAllOutputs",
148
+ () => {
149
+ setOutputsExpanded(true);
150
+ },
151
+ { disabled: !isEditing },
152
+ );
153
+ useHotkey(
154
+ "global.clampAllOutputs",
155
+ () => {
156
+ setOutputsExpanded(false);
157
+ },
158
+ { disabled: !isEditing },
159
+ );
144
160
  useHotkey("global.collapseAllSections", () => {
145
161
  collapseAllCells();
146
162
  });
@@ -389,6 +389,18 @@ const DEFAULT_HOT_KEY = {
389
389
  group: "Editing",
390
390
  key: NOT_SET,
391
391
  },
392
+ "global.expandAllOutputs": {
393
+ name: "Expand all outputs",
394
+ group: "Editing",
395
+ key: NOT_SET,
396
+ additionalKeywords: ["show full output", "unclamp"],
397
+ },
398
+ "global.clampAllOutputs": {
399
+ name: "Clamp all outputs",
400
+ group: "Editing",
401
+ key: NOT_SET,
402
+ additionalKeywords: ["collapse outputs", "shrink outputs"],
403
+ },
392
404
  "global.collapseAllSections": {
393
405
  name: "Collapse all sections",
394
406
  group: "Editing",
@@ -1,5 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import { init } from "@paralleldrive/cuid2";
3
+ import { atom } from "jotai";
3
4
  import { Logger } from "@/utils/Logger";
4
5
  import type { TypedString } from "@/utils/typed";
5
6
  import { updateQueryParams } from "@/utils/urls";
@@ -9,6 +10,14 @@ import { store } from "../state/jotai";
9
10
 
10
11
  export type SessionId = TypedString<"SessionId">;
11
12
 
13
+ /**
14
+ * Server-owned identity of the notebook Session. It survives browser reloads
15
+ * and reconnects and ends with the Session.
16
+ */
17
+ export type StableSessionId = TypedString<"StableSessionId">;
18
+
19
+ export const stableSessionIdAtom = atom<StableSessionId | null>(null);
20
+
12
21
  const createId = init({ length: 6 });
13
22
 
14
23
  export function generateSessionId(): SessionId {
@@ -3,7 +3,7 @@
3
3
  import { loadPyodide } from "pyodide";
4
4
  import type { PyodideInterface } from "pyodide";
5
5
  import { beforeEach, describe, expect, it, vi } from "vitest";
6
- import { DefaultWasmController } from "../worker/bootstrap";
6
+ import { DefaultWasmController, requirementName } from "../worker/bootstrap";
7
7
 
8
8
  vi.mock("pyodide", () => ({ loadPyodide: vi.fn() }));
9
9
  vi.mock("../worker/getMarimoWheel", () => ({
@@ -61,3 +61,35 @@ describe("WASM runtime sources", () => {
61
61
  expect(controller.requirePyodide).toBe(pyodide);
62
62
  });
63
63
  });
64
+
65
+ describe("requirementName", () => {
66
+ it("returns the distribution name for a bare requirement", () => {
67
+ expect(requirementName("pandas")).toBe("pandas");
68
+ });
69
+
70
+ it.each([
71
+ ["pandas==2.1.0", "pandas"],
72
+ ["pandas>=2", "pandas"],
73
+ ["pandas<=2", "pandas"],
74
+ ["pandas~=2.1", "pandas"],
75
+ ["pandas!=2.0", "pandas"],
76
+ ["nltools===0.6.0.dev2", "nltools"],
77
+ ])("cuts the specifier off %s", (requirement, expected) => {
78
+ expect(requirementName(requirement)).toBe(expected);
79
+ });
80
+
81
+ it("cuts extras and markers", () => {
82
+ expect(requirementName("rich[jupyter]>=13")).toBe("rich");
83
+ expect(requirementName('cowsay==6.1; sys_platform == "emscripten"')).toBe(
84
+ "cowsay",
85
+ );
86
+ });
87
+
88
+ it("cuts a URL requirement at the name", () => {
89
+ expect(requirementName("pkg @ https://example.com/pkg.whl")).toBe("pkg");
90
+ });
91
+
92
+ it("tolerates surrounding whitespace", () => {
93
+ expect(requirementName(" pandas >= 2 ")).toBe("pandas");
94
+ });
95
+ });
@@ -30,6 +30,17 @@ type SessionResources = [
30
30
  // 3.b Install from micropip
31
31
  // 4. Initialize the notebook
32
32
 
33
+ /**
34
+ * The distribution name of a PEP 508 requirement: "pandas>=2" -> "pandas".
35
+ *
36
+ * Extras, markers and URL forms are all cut at their first delimiter, which is
37
+ * enough for the "already installed" lookups this is used for.
38
+ */
39
+ export function requirementName(requirement: string): string {
40
+ // Trim first: a leading space would otherwise split into an empty name.
41
+ return requirement.trim().split(/[[<>=!~;@\s]/)[0];
42
+ }
43
+
33
44
  export class DefaultWasmController implements WasmController {
34
45
  protected pyodide: PyodideInterface | null = null;
35
46
  private packageLoadQueue = Promise.resolve();
@@ -314,18 +325,26 @@ export class DefaultWasmController implements WasmController {
314
325
  });
315
326
  loadSpan.end();
316
327
 
317
- // Load from micropip
328
+ // Load from micropip.
329
+ //
330
+ // `imports` are PEP 508 requirements and may carry a version specifier
331
+ // ("pandas>=2", "nltools==0.6.0.dev2"). micropip wants them whole, but the
332
+ // "do we already have this?" checks below are keyed by name, so compare on
333
+ // the name and install the requirement.
318
334
  loadSpan = t.startSpan("micropip.install");
319
335
  const missingPackages = imports.filter(
320
- (pkg) => !pyodide.loadedPackages[pkg],
336
+ (pkg) => !pyodide.loadedPackages[requirementName(pkg)],
321
337
  );
322
338
  if (missingPackages.length > 0) {
339
+ const byName = missingPackages.map(
340
+ (pkg) => [requirementName(pkg), pkg] as const,
341
+ );
323
342
  await pyodide
324
343
  .runPythonAsync(`
325
344
  import micropip
326
345
  import sys
327
346
  # Filter out builtins
328
- missing = [p for p in ${JSON.stringify(missingPackages)} if p not in sys.modules]
347
+ missing = [req for name, req in ${JSON.stringify(byName)} if name not in sys.modules]
329
348
  if len(missing) > 0:
330
349
  print("Loading from micropip:", missing)
331
350
  await micropip.install(missing)
@@ -60,7 +60,11 @@ import {
60
60
  handleRemoveUIElements,
61
61
  } from "../kernel/handlers";
62
62
  import { queryParamHandlers } from "../kernel/queryParamHandlers";
63
- import type { SessionId } from "../kernel/session";
63
+ import {
64
+ type SessionId,
65
+ type StableSessionId,
66
+ stableSessionIdAtom,
67
+ } from "../kernel/session";
64
68
  import { initialRunCompletedAtom, kernelStateAtom } from "../kernel/state";
65
69
  import { type LayoutState, useLayoutActions } from "../layout/state";
66
70
  import { kioskModeAtom } from "../mode";
@@ -231,6 +235,7 @@ export function useMarimoKernelConnection(opts: {
231
235
  addStartupLog,
232
236
  } = useAlertActions();
233
237
  const setKioskMode = useSetAtom(kioskModeAtom);
238
+ const setStableSessionId = useSetAtom(stableSessionIdAtom);
234
239
  const setCapabilities = useSetAtom(capabilitiesAtom);
235
240
  const runtimeManager = useRuntimeManager();
236
241
  const transportType = useAtomValue(connectionTransportTypeAtom);
@@ -284,6 +289,10 @@ export function useMarimoKernelConnection(opts: {
284
289
  invalidateDataSourceDiscovery();
285
290
  }
286
291
  setKioskMode(msg.data.kiosk);
292
+ setStableSessionId(
293
+ (msg.data.stable_session_id as StableSessionId | null | undefined) ??
294
+ null,
295
+ );
287
296
  // A freshly started kernel has no breakpoints of its own; re-push
288
297
  // the client's set so they still apply, and clear the stale
289
298
  // highlighted line from the previous kernel instance.