@marimo-team/islands 0.24.3-dev3 → 0.24.3-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 (289) hide show
  1. package/dist/{ConnectedDataExplorerComponent-qIKbwYin.js → ConnectedDataExplorerComponent-BLO7UDpo.js} +18 -18
  2. package/dist/{ErrorBoundary-CR-ZQN_c.js → ErrorBoundary-B7uSdDUm.js} +6 -6
  3. package/dist/{ImageComparisonComponent-2a9TMMm2.js → ImageComparisonComponent-RspMflu6.js} +3 -3
  4. package/dist/{Plot-C-9MQeGP.js → Plot-CTyjbQDT.js} +21032 -20666
  5. package/dist/_baseMerge-Bnytch8P.js +165 -0
  6. package/dist/{abnfDiagram-N423BO3Z-CQKwzX8t.js → abnfDiagram-VCTEODGH-DCb2K_RB.js} +17 -18
  7. package/dist/{any-language-editor-CpTnK43-.js → any-language-editor-C0dftc2Z.js} +8 -8
  8. package/dist/arc-7ra3iNdN.js +81 -0
  9. package/dist/architecture-7GRP2DOG-BWLylgiA.js +3 -0
  10. package/dist/{architectureDiagram-T3A2C74G-CncrDpfa.js → architectureDiagram-5GKGNRK7-Bb_n642s.js} +25 -25
  11. package/dist/assets/__vite-browser-external-BajL8aoc.js +1 -0
  12. package/dist/assets/worker-BemUy60C.js +109 -0
  13. package/dist/blockDiagram-I7D4REHJ-BbXEXJRu.js +1922 -0
  14. package/dist/{button-CKBkqR9J.js → button-DdXAm8iz.js} +5 -5
  15. package/dist/{c4Diagram-5PPSVZJV-DarUk3Yq.js → c4Diagram-7LVT6UL2-DcLsbQmR.js} +696 -668
  16. package/dist/{capabilities-CMBBJTcc.js → capabilities-B3ce_GNu.js} +1 -1
  17. package/dist/{channel-CyiYUzJv.js → channel-B5XnTarr.js} +1 -1
  18. package/dist/chat-ui-DiMxe-GH.js +5835 -0
  19. package/dist/{check-CHig47QV.js → check-mcQyZmFG.js} +1 -1
  20. package/dist/{chunk-2Q5K7J3B-BMuJl2jB.js → chunk-2Q5K7J3B-BMkUkeuy.js} +2 -2
  21. package/dist/chunk-4HAMMTFA-D2qv8E0X.js +4188 -0
  22. package/dist/{chunk-5VM5RSS4-Bcq0ftdy.js → chunk-5VM5RSS4-DKsmPCL6.js} +2 -2
  23. package/dist/{chunk-NSK5VX7P-CDTMcJB0.js → chunk-75Z2AOVW-5_HsvXwr.js} +23 -23
  24. package/dist/{chunk-I66GZJ75-BqyTCAPf.js → chunk-DU6HZSFF-BUgAHvnM.js} +21 -4
  25. package/dist/{chunk-2GRJ4B5K-DgO8Qudq.js → chunk-F27PBJKO-DHmYWZXr.js} +4 -4
  26. package/dist/{chunk-KEIR6QF5-C4KX3XYh.js → chunk-FOHPRMQF-BpYR8RqP.js} +4 -4
  27. package/dist/{chunk-WRU74C26-BpWsbiDK.js → chunk-GMAD6QVW-Czynz8aA.js} +486 -258
  28. package/dist/chunk-GVQU2GXP-yQEdulRS.js +37 -0
  29. package/dist/{chunk-5RXB4S5H-tLNUVDdO.js → chunk-IMKFNOWR-Du9BN2Ul.js} +11 -11
  30. package/dist/{chunk-JWPE2WC7-BJwjGUnF.js → chunk-JWPE2WC7-DJvv1t8U.js} +2 -2
  31. package/dist/chunk-L3NEJ4N5-DwRWnDDK.js +245 -0
  32. package/dist/{chunk-7Z6QIM7H-Dc18hFxH.js → chunk-OSK3NFVY-BBKU_Ign.js} +222 -144
  33. package/dist/{chunk-W5SLKNZC-DLnvpEtV.js → chunk-P2QGCYS3-C0iGU29N.js} +20 -20
  34. package/dist/{chunk-KBJHAD2P-BuqWqkcW.js → chunk-POPQ4Y6H-BCbS3Ozc.js} +4 -4
  35. package/dist/{chunk-4I5QYGJK-DpytHuZQ.js → chunk-PWAF6VOD-CTFCL0jI.js} +4 -4
  36. package/dist/{chunk-JQJVKLGR-CgqCwe8E.js → chunk-SHT3W25Y-tUelricH.js} +109 -63
  37. package/dist/{chunk-6Q2QTUOP-DmTcEBMn.js → chunk-SVP7TREG-DK3egkfQ.js} +5 -5
  38. package/dist/{chunk-GF5L2VYU-B0wgCQgS.js → chunk-TICWLB2K-DRANTdnp.js} +13 -13
  39. package/dist/{chunk-XXDRQBXY-D73H4IN0.js → chunk-XXDRQBXY-Dnl5VBqG.js} +3 -3
  40. package/dist/{chunk-Y2CYZVJY-DoegUj_e.js → chunk-Y2CYZVJY-DKKS1VyV.js} +1 -1
  41. package/dist/{chunk-5FQGJX7Z-B85XCPv6.js → chunk-YOKDWASO-DrWbKnxA.js} +6925 -5460
  42. package/dist/classDiagram-ZZMXUADV-7wCSVH7o.js +30 -0
  43. package/dist/classDiagram-v2-VYDZK3BY-QwnvcnhB.js +30 -0
  44. package/dist/{common-CwJerb7K.js → common-_pES-ftX.js} +7398 -6912
  45. package/dist/{compiler-runtime-CAH9RLw2.js → compiler-runtime-Cj8ZWiNS.js} +2 -2
  46. package/dist/{copy-CD7S58CY.js → copy-C0N4m1lm.js} +4 -4
  47. package/dist/{cose-bilkent-JH36ORCC-FUWHkXFX.js → cose-bilkent-JH36ORCC-_LyRKVqm.js} +2 -2
  48. package/dist/cubic-OaEBhQPK.js +1404 -0
  49. package/dist/cynefin-OW5HDTMX-obq-i80l.js +3 -0
  50. package/dist/{cynefinDiagram-MW4NZA55-BXSFK93J.js → cynefinDiagram-5FMLGOSQ-CB7O4IZB.js} +10 -10
  51. package/dist/{dagre-CGyalH38.js → dagre-DfYd3btw.js} +678 -537
  52. package/dist/dagre-GXQ25YYZ-C-a95ISW.js +425 -0
  53. package/dist/{data-grid-overlay-editor-DZM4BAaI.js → data-grid-overlay-editor-C5eUZVTo.js} +8 -9
  54. package/dist/{data-grid-types-BnZwWG8z.js → data-grid-types-BucVmDDp.js} +1 -1
  55. package/dist/{defaultLocale-DKaU_opG.js → defaultLocale-JI_lnoCe.js} +1 -1
  56. package/dist/{diagram-7IWD3JNH-BjfzDNvj.js → diagram-S7CK7UJ4-BsKLYQaH.js} +40 -39
  57. package/dist/{diagram-UB23O5K3-DDg-7wLA.js → diagram-UQ7AKVKN-ppYdvuTN.js} +10 -10
  58. package/dist/{diagram-B4RE2ZJO-CKccR9eE.js → diagram-VSXAHHWV-BKpmG23x.js} +10 -10
  59. package/dist/{diagram-Q27KOJAE-Zhz01ss7.js → diagram-VX7I27RA-CAMK2l0E.js} +21 -21
  60. package/dist/{diagram-LBJQPF4R-CJ-bOruh.js → diagram-Z3DM3KII-CxQ7MggT.js} +10 -10
  61. package/dist/{dist-dAqZAPcF.js → dist-1HDa70oE.js} +3 -3
  62. package/dist/{dist-3_o3T78I.js → dist-6ChWbo8z.js} +13 -13
  63. package/dist/{dist-Re9sOPOx.js → dist-9x1ZRe-e.js} +2 -2
  64. package/dist/{dist-DEeLqRlU.js → dist-B1vYLK28.js} +1 -1
  65. package/dist/{dist-C5Bn52W4.js → dist-B8D7McG3.js} +3 -3
  66. package/dist/{dist-_XvgytiS.js → dist-BHCHt1NI.js} +1 -1
  67. package/dist/{dist-CRjAdnqF.js → dist-BRxfaJgs.js} +3 -3
  68. package/dist/{dist-Byj2bV8o.js → dist-BVGtK7Ht.js} +1 -1
  69. package/dist/{dist-BIN5LKyE.js → dist-BaHjhkpZ.js} +2 -2
  70. package/dist/{dist-DVFbIwc5.js → dist-BtKIs9N-.js} +1 -1
  71. package/dist/{dist-BrQGcfQ9.js → dist-C2KzV-vf.js} +2 -2
  72. package/dist/{dist-DJFiGP2k.js → dist-C2wDlYdD.js} +2 -2
  73. package/dist/{dist-BVRM2y1P.js → dist-C8xMLVYi.js} +2 -2
  74. package/dist/dist-CMh_W4y4.js +538 -0
  75. package/dist/{dist-BzN60Z2s.js → dist-CPGxfVGX.js} +1 -1
  76. package/dist/{dist-C7v-9nUK.js → dist-Cm3iAFMD.js} +3 -3
  77. package/dist/{dist-CGAxEiaM.js → dist-Cs2FijYk.js} +2 -2
  78. package/dist/{dist-hXd65f0_.js → dist-D1PpnuZB.js} +1 -1
  79. package/dist/{dist-VdvbxG72.js → dist-DHOTQar0.js} +1 -1
  80. package/dist/{dist-DcgzXCfy.js → dist-DPcEtqmG.js} +2 -2
  81. package/dist/{dist-D4Z_qdP4.js → dist-Df0wKI0F.js} +1 -1
  82. package/dist/{dist-qhLI-SHd.js → dist-DszxuxS1.js} +2 -2
  83. package/dist/{dist-BEmkrGoQ.js → dist-Kxgjxakw.js} +1 -1
  84. package/dist/{dist-BbSMhhD2.js → dist-KzZ7WELx.js} +2 -2
  85. package/dist/{dist-jWUab2d1.js → dist-lA1Cttkb.js} +1 -1
  86. package/dist/{dropdown-menu-DhCfcscX.js → dropdown-menu-C73aTomr.js} +184 -184
  87. package/dist/{ebnfDiagram-BXEA7PRR-Dm75pCAS.js → ebnfDiagram-PWID7BFC-DzybELvk.js} +17 -18
  88. package/dist/{erDiagram-JOGREHBK-rVDG3VSQ.js → erDiagram-RLTQ6QDP-BVxV97ld.js} +1037 -798
  89. package/dist/{error-banner-WDhUzJyg.js → error-banner-hCaH06e3.js} +207 -207
  90. package/dist/{esm-CR1nhb1c.js → esm-BElI3qKH.js} +22 -22
  91. package/dist/{esm-C1d0g6Bv.js → esm-G4Fhsgng.js} +51 -37
  92. package/dist/{esm-CesmlDrs.js → esm-blALgIVy.js} +332 -319
  93. package/dist/eventmodeling-NTZA5JFV-D7nP7Uyu.js +3 -0
  94. package/dist/{extends-BPB6_lTK.js → extends-Do6pRuJa.js} +8 -8
  95. package/dist/flowDiagram-HODETNUW-BKvXsWYX.js +16 -0
  96. package/dist/{formats-CJMVUfb3.js → formats-vDAoRpYs.js} +8 -8
  97. package/dist/{ganttDiagram-PKOTCBZU-9D-LXF6P.js → ganttDiagram-EL5Y4UJY-DbzEBLbl.js} +15 -15
  98. package/dist/gitGraph-4MIJSDKK-Dy9uQXGh.js +3 -0
  99. package/dist/{gitGraphDiagram-DS77QQ5N-BfpsXTLf.js → gitGraphDiagram-WWUBYQGX-BMf0iKi1.js} +10 -10
  100. package/dist/{glide-data-editor-sPZ8fUFn.js → glide-data-editor-Bcy8iaZa.js} +2785 -2562
  101. package/dist/{glide-utils-NShAPPtn.js → glide-utils-BMnFm0vZ.js} +4 -4
  102. package/dist/highlighted-body-KPVGNVTW-Ad3MKZ18.js +38 -0
  103. package/dist/{html-to-image-BTYnN4ev.js → html-to-image-mVIbKn_Y.js} +5720 -5452
  104. package/dist/info-A6RAGUB7-DKoayiHY.js +3 -0
  105. package/dist/{infoDiagram-6WML65LV-DqCTXHVy.js → infoDiagram-27XIBGKW-B_ucqo-U.js} +7 -7
  106. package/dist/{ishikawaDiagram-WSZJBQD7-BCUYmZ1v.js → ishikawaDiagram-5VMMS53U-BZFx9b-o.js} +8 -8
  107. package/dist/{journeyDiagram-NVQOT4AX-BXB6M4zN.js → journeyDiagram-3NMN7TZE-D2LcKDUO.js} +8 -8
  108. package/dist/{jsx-runtime-CpoKNRgu.js → jsx-runtime-DgDPJV9S.js} +1 -1
  109. package/dist/{kanban-definition-27J2QSJJ-CGRhrDUX.js → kanban-definition-UXKFOSKX-BpIfcu3G.js} +29 -29
  110. package/dist/katex-DFBiSucW.js +21840 -0
  111. package/dist/{label-lwzzBHUW.js → label-e37ixur5.js} +6 -6
  112. package/dist/{linear-D5r_1YqD.js → linear-Cnaq3Tfb.js} +4 -4
  113. package/dist/{loader-VZ__bv4g.js → loader-D2W4oM-3.js} +15 -15
  114. package/dist/main.js +7018 -12382
  115. package/dist/mermaid-B1Jb9HfY.js +3084 -0
  116. package/dist/mermaid-HWGCJPDP-DYCzSILp.js +2 -0
  117. package/dist/mermaid-parser.core-DxuSfYwJ.js +638 -0
  118. package/dist/{mhchem-BjwrxcV-.js → mhchem-DWCF06w9.js} +1 -1
  119. package/dist/{micromark-factory-space-DruVGzeG.js → micromark-factory-space-DGxAzmw8.js} +2 -2
  120. package/dist/{mindmap-definition-FAOFIHXS-C9gRhzZq.js → mindmap-definition-YA3MSWOX-CmpAfv8K.js} +17 -17
  121. package/dist/{node-sql-parser-DesT1xNw.js → node-sql-parser-BiZOJ-FS.js} +0 -3
  122. package/dist/{number-overlay-editor-De2CabLL.js → number-overlay-editor-CFofZaOi.js} +5 -5
  123. package/dist/packet-AYTQ26CC-Yw7ajchJ.js +3 -0
  124. package/dist/{pegDiagram-VL7TDLO6-Df9IUjMD.js → pegDiagram-XKGWAZYB-DO-0Q8SE.js} +19 -20
  125. package/dist/{pick-SnHlmIBN.js → pick-B7vX8zxG.js} +1 -1
  126. package/dist/pie-WAS4IAKB-BKdKOAkL.js +3 -0
  127. package/dist/{pieDiagram-7S7Q4E2Y-BmRzQ8ZP.js → pieDiagram-E7YTZNPT-B1MbuA_g.js} +29 -31
  128. package/dist/{process-output-CsALk6tp.js → process-output-Cr6U5ULK.js} +4 -4
  129. package/dist/purify.es-DgKyQviY.js +805 -0
  130. package/dist/{quadrantDiagram-CIZ2JOQS-wFBvWcxS.js → quadrantDiagram-AXDQQJYC-DftINo6g.js} +5 -5
  131. package/dist/radar-RG4KPBEZ-ScR_D_Ts.js +3 -0
  132. package/dist/railroad-74A4TZTK-DQvPSdo5.js +3 -0
  133. package/dist/railroad-abnf-HS5TGJTU-CsJQG2O8.js +3 -0
  134. package/dist/railroad-ebnf-LZEXJU2U-BgEobkSn.js +3 -0
  135. package/dist/railroad-peg-WCYAUIDC-DjLAjofI.js +3 -0
  136. package/dist/{railroadDiagram-AXF67PYL-DxbIatiN.js → railroadDiagram-O6MQD6OU-DPVOQUXC.js} +17 -18
  137. package/dist/{react-dom-C94wmq5w.js → react-dom-BUgJ-ab_.js} +3 -3
  138. package/dist/{react-DMWcHin-.js → react-ofJbxM4x.js} +2 -2
  139. package/dist/{react-vega-DSD5aT7_.js → react-vega-5AcMW8gG.js} +10012 -9369
  140. package/dist/{requirementDiagram-LRYGKXZP-X_x-Y713.js → requirementDiagram-BXWQKSXE-CC7wZ-tM.js} +20 -19
  141. package/dist/{reveal-component-DVMzBxwv.js → reveal-component-DAv6PYTL.js} +1171 -1105
  142. package/dist/{sankeyDiagram-W5VNT64P-BYJALbbm.js → sankeyDiagram-P5KCCOFB-CDKR5TJH.js} +4 -4
  143. package/dist/schemas-BDZr-nP0.js +5727 -0
  144. package/dist/{select-3qHpFKF9.js → select-UMOSCa3W.js} +246 -246
  145. package/dist/{sequenceDiagram-SI44F4Z6-BiPBe3Sv.js → sequenceDiagram-WJ2MYXX4-DomSyoJI.js} +11 -11
  146. package/dist/{sizeCapture-X5ZJPWSS-BKLDeh5H.js → sizeCapture-INFHLROL-Dx5SpkQF.js} +2 -2
  147. package/dist/{spec-CutWdqo3.js → spec-g740fOWu.js} +4 -4
  148. package/dist/{src-C31ngt98.js → src-CA_m4ONl.js} +298 -303
  149. package/dist/{stateDiagram-OKZ733FA-B7QyNBxH.js → stateDiagram-D77RDMKH-SQLLjdtF.js} +19 -20
  150. package/dist/stateDiagram-v2-MP3YSRHH-Dup4KkIr.js +30 -0
  151. package/dist/style.css +2 -2
  152. package/dist/{swimlanes-SLNWSIFB-B4f8VP3b.js → swimlanes-42K2YHIH-ZXbhyGv6.js} +1501 -1591
  153. package/dist/swimlanesDiagram-VR7AAH4N-CluwxV0g.js +30 -0
  154. package/dist/{swiper-component-C90YjhaV.js → swiper-component-IOUowglM.js} +39 -26
  155. package/dist/{time-aWGfjN8x.js → time-BieKwdYS.js} +42 -42
  156. package/dist/{timeline-definition-Z64GVDOM-Dacq_5lr.js → timeline-definition-24CTP7MA-B8i6B9RR.js} +7 -7
  157. package/dist/{toDate-D-Rx3ux5.js → toDate-C3JOXlJT.js} +10 -9
  158. package/dist/{tooltip-Dt77sBeT.js → tooltip-CdE8k0pS.js} +42 -42
  159. package/dist/treeView-Q6P3EWNA-DuRV97YF.js +3 -0
  160. package/dist/treemap-WGGIJYW6-AsLq-uwC.js +3 -0
  161. package/dist/{use-vega-container-remeasure-DUW4tRxq.js → use-vega-container-remeasure-4DwJbPWu.js} +2 -2
  162. package/dist/{useAsyncData-CH6-CgJF.js → useAsyncData-C0f7qnnN.js} +3 -3
  163. package/dist/{useDateFormatter-Cp9Jdxls.js → useDateFormatter-BKpQHt-W.js} +8 -8
  164. package/dist/{useDeepCompareMemoize-JC87C_jO.js → useDeepCompareMemoize-QCa0HbWB.js} +2 -2
  165. package/dist/{useIframeCapabilities-De3C-9b4.js → useIframeCapabilities-CVtNkI3Y.js} +2 -2
  166. package/dist/{useLifecycle-B4RGlyf0.js → useLifecycle-BGRBkTFT.js} +6 -6
  167. package/dist/useTheme-iQ0VoptU.js +904 -0
  168. package/dist/{vega-component-D-IXRnlx.js → vega-component-DRI4BDLQ.js} +15 -15
  169. package/dist/{vega-embed-container-TJ5z5dZw.js → vega-embed-container-CbnTccZi.js} +6 -6
  170. package/dist/vega-loader.browser-D95WfUcj.js +1139 -0
  171. package/dist/{vennDiagram-T6HMQDX7-D-Rcq3Iu.js → vennDiagram-4TSXK5OY-CS7lHhxI.js} +9 -9
  172. package/dist/wardley-WFR3VGLG-Na-tFhQJ.js +3 -0
  173. package/dist/{wardleyDiagram-T6FBY63Y-Z-Og7_Wd.js → wardleyDiagram-VM6X3IG4-BSm-L8JI.js} +10 -10
  174. package/dist/{xychartDiagram-ELKLHX3M-BDJ2dITA.js → xychartDiagram-S5SC5T6Z-8fKCJGrJ.js} +248 -139
  175. package/package.json +52 -52
  176. package/src/__mocks__/requests.ts +7 -2
  177. package/src/__tests__/__snapshots__/CellStatus.test.tsx.snap +12 -12
  178. package/src/components/chat/acp/__tests__/agent-panel.test.tsx +270 -0
  179. package/src/components/chat/acp/agent-panel.tsx +45 -44
  180. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +2 -6
  181. package/src/components/data-table/column-visibility-dropdown.tsx +9 -3
  182. package/src/components/datasources/components.tsx +4 -2
  183. package/src/components/editor/chrome/components/feedback-button.tsx +10 -9
  184. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +143 -0
  185. package/src/components/editor/chrome/panels/packages-panel.tsx +145 -51
  186. package/src/components/editor/code/__tests__/readonly-diff.test.tsx +65 -0
  187. package/src/components/editor/code/readonly-diff.tsx +1 -1
  188. package/src/components/editor/file-tree/__tests__/tree-actions.test.tsx +54 -0
  189. package/src/components/editor/file-tree/tree-actions.tsx +11 -14
  190. package/src/components/editor/notebook-cell.tsx +4 -2
  191. package/src/components/editor/output/Outputs.css +1 -0
  192. package/src/components/editor/package-alert.tsx +25 -1
  193. package/src/components/home/components.tsx +17 -0
  194. package/src/components/pages/gallery-page.tsx +2 -4
  195. package/src/components/pages/home-page.tsx +2 -4
  196. package/src/components/terminal/terminal.tsx +4 -4
  197. package/src/components/tracing/tracing-spec.ts +1 -1
  198. package/src/components/ui/table.tsx +1 -1
  199. package/src/core/cells/__tests__/cell.test.ts +61 -0
  200. package/src/core/cells/cell.ts +9 -1
  201. package/src/core/cells/pending-delete-service.ts +12 -16
  202. package/src/core/codemirror/language/__tests__/sql.test.ts +70 -2
  203. package/src/core/codemirror/language/languages/sql/sql.ts +16 -1
  204. package/src/core/codemirror/rtc/extension.ts +5 -2
  205. package/src/core/datasets/__tests__/data-source.test.ts +2 -0
  206. package/src/core/datasets/data-source-connections.ts +15 -10
  207. package/src/core/islands/__tests__/parse.test.ts +140 -7
  208. package/src/core/islands/parse.ts +20 -0
  209. package/src/core/packages/__tests__/useInstallPackage.test.tsx +47 -1
  210. package/src/core/packages/toast-components.tsx +26 -0
  211. package/src/core/packages/useInstallPackage.ts +7 -2
  212. package/src/core/runtime/__tests__/runtime.test.ts +11 -0
  213. package/src/core/runtime/runtime.ts +7 -2
  214. package/src/core/wasm/bridge.ts +1 -0
  215. package/src/core/websocket/transports/transport.ts +1 -1
  216. package/src/core/websocket/transports/ws.ts +1 -1
  217. package/src/css/app/Cell.css +2 -0
  218. package/src/plugins/core/RenderHTML.tsx +22 -2
  219. package/src/plugins/core/__test__/RenderHTML.test.ts +187 -0
  220. package/src/plugins/layout/AccordionPlugin.tsx +7 -2
  221. package/src/plugins/layout/__test__/AccordionPlugin.test.tsx +66 -0
  222. package/dist/_baseMerge-Dv8bBloN.js +0 -73
  223. package/dist/_initCloneObject---vediN2.js +0 -95
  224. package/dist/arc-DOVLrCPd.js +0 -82
  225. package/dist/architecture-TIHT7OUA-MiJpPpQW.js +0 -3
  226. package/dist/array-CApNbSU9.js +0 -6
  227. package/dist/assets/__vite-browser-external-BdKGjRZ4.js +0 -1
  228. package/dist/assets/worker-DlIBfp9S.js +0 -98
  229. package/dist/blockDiagram-VBNYF7ZC-Bc--I65C.js +0 -3158
  230. package/dist/chat-ui-DttQ-5Ut.js +0 -8455
  231. package/dist/chunk-3NCLNEKW-BIp_lB_4.js +0 -14
  232. package/dist/chunk-5FCAYU7R-C_HO9A1J.js +0 -23
  233. package/dist/chunk-5HE753X5-Bixm_MV-.js +0 -38
  234. package/dist/chunk-5JV3BV7I-CH5J3iZY.js +0 -54
  235. package/dist/chunk-5TONJI2A-DG6gDiSS.js +0 -62
  236. package/dist/chunk-7BUUIJ7U-5afmIPeo.js +0 -82
  237. package/dist/chunk-BIQX33UG-7TMBUf89.js +0 -23
  238. package/dist/chunk-CQNSW5MT-Cnqqsxt-.js +0 -38
  239. package/dist/chunk-CYSBUYHQ-BAbymFHR.js +0 -23
  240. package/dist/chunk-EMLP6XTP-Bsz-QL77.js +0 -23
  241. package/dist/chunk-J7OUQ5F2-CM_meqZH.js +0 -57
  242. package/dist/chunk-JG7HCLWE-DUnCDgPk.js +0 -62
  243. package/dist/chunk-MOZMSUNE-BG6IHvzT.js +0 -35
  244. package/dist/chunk-OSBZ3O6U-CYwj_bvR.js +0 -23
  245. package/dist/chunk-QBLGF6JB-B4vJ4j8J.js +0 -23
  246. package/dist/chunk-QR6OTTB3-D4wH2ldi.js +0 -3738
  247. package/dist/chunk-R7FJI6CG-Blf8FcmZ.js +0 -64
  248. package/dist/chunk-RYQCIY6F-BWbIlBIH.js +0 -241
  249. package/dist/chunk-U6XO7XAA-COw445DS.js +0 -63
  250. package/dist/chunk-UBXNYLIW-BHigVU4H.js +0 -32
  251. package/dist/chunk-YOTPTUD7-Dn044Q_d.js +0 -30
  252. package/dist/chunk-ZIRB5QZD-BR4TMfOa.js +0 -1153
  253. package/dist/classDiagram-JCYQIIEL-DmXSLxe_.js +0 -30
  254. package/dist/classDiagram-v2-OCEON4UE-CooqVexA.js +0 -30
  255. package/dist/click-outside-container-D_URcm3D.js +0 -167
  256. package/dist/code-block-37QAKDTI-CQrzBOr-.js +0 -107
  257. package/dist/cynefin-VYW2F7L2-CeHAxOEX.js +0 -3
  258. package/dist/dagre-VZM6K2ZE-CJggWPTJ.js +0 -328
  259. package/dist/dist-ABQjhuek.js +0 -64
  260. package/dist/dist-CO5R6VMi.js +0 -538
  261. package/dist/eventmodeling-45OFAUF4-B_lWZ-Pd.js +0 -3
  262. package/dist/flowDiagram-UKHOOZJN-g1AmrZzM.js +0 -17
  263. package/dist/gitGraph-TEB2WS4Q-Dj-eXUph.js +0 -3
  264. package/dist/info-DKCQHKI2-Bhb-pe2e.js +0 -3
  265. package/dist/line-CuKjIQa1.js +0 -34
  266. package/dist/map-BJpOfPlL.js +0 -149
  267. package/dist/math-BXtKgYah.js +0 -10
  268. package/dist/mermaid-4DMBBIKO-Ddp9TgNp.js +0 -2
  269. package/dist/mermaid-BsHdQeQf.js +0 -1173
  270. package/dist/mermaid-parser.core-Din9FvSi.js +0 -99
  271. package/dist/packet-7NZHBO7P-fbkIIyKE.js +0 -3
  272. package/dist/path-BNHuHZP8.js +0 -87
  273. package/dist/pie-RZYD4A2V-CLRIsxY1.js +0 -3
  274. package/dist/purify.es-CB-YO1Hn.js +0 -774
  275. package/dist/radar-I7S5WNFK-BGzCbgXu.js +0 -3
  276. package/dist/railroad-3IZDKUUU-CvQIIcuU.js +0 -3
  277. package/dist/railroad-abnf-AHOZXSZD-CMwtlNtu.js +0 -3
  278. package/dist/railroad-ebnf-EBAXGLYW-n1QUOAsh.js +0 -3
  279. package/dist/railroad-peg-LSFZ7HO6-PjnrpmCs.js +0 -3
  280. package/dist/schemas-DzK6U94N.js +0 -6057
  281. package/dist/stateDiagram-v2-UEYNNEHI-BTRUs8Il.js +0 -30
  282. package/dist/step-CKczO72Q.js +0 -670
  283. package/dist/swimlanesDiagram-ULZ7WXOC-NBmgBl9G.js +0 -31
  284. package/dist/timer-DpDyj9G0.js +0 -596
  285. package/dist/treeView-QDETBFTQ-DU8LwHuf.js +0 -3
  286. package/dist/treemap-6X3UGDF4-DUk4-k_O.js +0 -3
  287. package/dist/useTheme-CVJ0UOf2.js +0 -841
  288. package/dist/vega-loader.browser-DEggZzni.js +0 -1083
  289. package/dist/wardley-OPB4EBWU-Db-AaGas.js +0 -3
@@ -902,6 +902,18 @@ const AgentPanel: React.FC = () => {
902
902
  return;
903
903
  }
904
904
 
905
+ let absoluteFilename: string;
906
+ try {
907
+ absoluteFilename = getAbsoluteFilename();
908
+ } catch {
909
+ toast({
910
+ title: "Notebook must be named",
911
+ description: "Please name the notebook to use the agent",
912
+ variant: "danger",
913
+ });
914
+ return;
915
+ }
916
+
905
917
  logger.debug("Submitting prompt to agent", {
906
918
  sessionId: activeSessionId,
907
919
  });
@@ -914,62 +926,51 @@ const AgentPanel: React.FC = () => {
914
926
  setSessionState((prev) => updateSessionTitle(prev, prompt));
915
927
  }
916
928
 
917
- let absoluteFilename: string;
918
929
  try {
919
- absoluteFilename = getAbsoluteFilename();
920
- } catch {
921
- toast({
922
- title: "Notebook must be named",
923
- description: "Please name the notebook to use the agent",
924
- variant: "danger",
925
- });
926
- return;
927
- }
928
-
929
- const promptBlocks: ContentBlock[] = [{ type: "text", text: prompt }];
930
+ const promptBlocks: ContentBlock[] = [{ type: "text", text: prompt }];
930
931
 
931
- // Parse context from the prompt
932
- const { contextBlocks, attachmentBlocks } =
933
- await parseContextFromPrompt(prompt);
934
- promptBlocks.push(...contextBlocks, ...attachmentBlocks);
932
+ // Parse context from the prompt
933
+ const { contextBlocks, attachmentBlocks } =
934
+ await parseContextFromPrompt(prompt);
935
+ promptBlocks.push(...contextBlocks, ...attachmentBlocks);
935
936
 
936
- // Add manually uploaded files as resource links
937
- if (files && files.length > 0) {
938
- const fileResourceLinks = await convertFilesToResourceLinks(files);
939
- promptBlocks.push(...fileResourceLinks);
940
- }
937
+ // Add manually uploaded files as resource links
938
+ if (files && files.length > 0) {
939
+ const fileResourceLinks = await convertFilesToResourceLinks(files);
940
+ promptBlocks.push(...fileResourceLinks);
941
+ }
941
942
 
942
- const hasGivenRules = notifications.some(
943
- (notification) =>
944
- notification.type === "session_notification" &&
945
- notification.data.update.sessionUpdate === "user_message_chunk",
946
- );
947
- if (!hasGivenRules) {
948
- promptBlocks.push(
949
- {
950
- type: "resource_link",
951
- uri: absoluteFilename,
952
- mimeType: "text/x-python",
953
- name: absoluteFilename,
954
- },
955
- {
956
- type: "resource",
957
- resource: {
958
- uri: "marimo_rules.md",
959
- mimeType: "text/plain",
960
- text: getAgentPrompt(absoluteFilename),
961
- },
962
- },
943
+ const hasGivenRules = notifications.some(
944
+ (notification) =>
945
+ notification.type === "session_notification" &&
946
+ notification.data.update.sessionUpdate === "user_message_chunk",
963
947
  );
964
- }
948
+ if (!hasGivenRules) {
949
+ promptBlocks.push(
950
+ {
951
+ type: "resource_link",
952
+ uri: absoluteFilename,
953
+ mimeType: "text/x-python",
954
+ name: absoluteFilename,
955
+ },
956
+ {
957
+ type: "resource",
958
+ resource: {
959
+ uri: "marimo_rules.md",
960
+ mimeType: "text/plain",
961
+ text: getAgentPrompt(absoluteFilename),
962
+ },
963
+ },
964
+ );
965
+ }
965
966
 
966
- try {
967
967
  await agent.prompt({
968
968
  sessionId: activeSessionId,
969
969
  prompt: promptBlocks,
970
970
  });
971
971
  } catch (error) {
972
972
  logger.error("Failed to send prompt", { error });
973
+ setError(error instanceof Error ? error : String(error));
973
974
  } finally {
974
975
  setIsLoading(false);
975
976
  }
@@ -10,7 +10,7 @@ import {
10
10
  EyeIcon,
11
11
  EyeOffIcon,
12
12
  } from "lucide-react";
13
- import { useMemo, useState } from "react";
13
+ import { useState } from "react";
14
14
  import { useLocale } from "react-aria";
15
15
  import {
16
16
  AddDataframeChart,
@@ -98,11 +98,7 @@ export function ColumnExplorerPanel<TData>({
98
98
  hiddenColumns: hiddenColumnCount,
99
99
  } = getColumnCountForDisplay(table, totalColumns);
100
100
  const { visible: visibleColumnCount } = getUserColumnVisibilityCounts(table);
101
- const columnVisibility = table.getState().columnVisibility;
102
- const showOnlyColumnState = useMemo(
103
- () => getShowOnlyColumnState(table),
104
- [table, columnVisibility],
105
- );
101
+ const showOnlyColumnState = getShowOnlyColumnState(table);
106
102
 
107
103
  const { rowsAndColumns, hiddenSuffix } = prettifyRowColumnCount({
108
104
  numRows: totalRows,
@@ -215,6 +215,11 @@ export const ColumnVisibilityDropdown = <TData,>({
215
215
  index === list.pinnedCount &&
216
216
  list.pinnedCount > 0 &&
217
217
  list.pinnedCount < list.visibleOptions.length;
218
+ const label = (
219
+ <span className="truncate" title={option.label}>
220
+ {option.label}
221
+ </span>
222
+ );
218
223
  return (
219
224
  <React.Fragment key={option.value}>
220
225
  {isSectionBoundary && <CommandSeparator />}
@@ -225,15 +230,16 @@ export const ColumnVisibilityDropdown = <TData,>({
225
230
  className="flex items-center gap-1.5 cursor-pointer"
226
231
  >
227
232
  {dataType === undefined ? (
228
- <span>{option.label}</span>
233
+ label
229
234
  ) : (
230
235
  <ColumnName
231
- columnName={option.label}
236
+ className="min-w-0"
237
+ columnName={label}
232
238
  dataType={dataType}
233
239
  />
234
240
  )}
235
241
  {!option.disabled && (
236
- <span className="ml-auto flex items-center gap-0.5">
242
+ <span className="ml-auto flex shrink-0 items-center gap-0.5">
237
243
  <ShowOnlyColumnButton
238
244
  table={table}
239
245
  columnIds={[option.value]}
@@ -101,18 +101,20 @@ export const ColumnPreviewContainer: React.FC<{
101
101
  export const ColumnName = ({
102
102
  columnName,
103
103
  dataType,
104
+ className,
104
105
  }: {
105
106
  columnName: React.ReactNode;
106
107
  dataType: DataType;
108
+ className?: string;
107
109
  }) => {
108
110
  const resolvedDataType = resolveDataType(dataType);
109
111
  const Icon = DATA_TYPE_ICON[resolvedDataType];
110
112
  const color = getDataTypeColor(resolvedDataType);
111
113
 
112
114
  return (
113
- <div className="flex flex-row items-center gap-1.5">
115
+ <div className={cn("flex flex-row items-center gap-1.5", className)}>
114
116
  <Icon
115
- className={`w-4 h-4 p-0.5 rounded-sm stroke-card-foreground ${color}`}
117
+ className={`w-4 h-4 shrink-0 p-0.5 rounded-sm stroke-card-foreground ${color}`}
116
118
  />
117
119
  {columnName}
118
120
  </div>
@@ -6,7 +6,7 @@ const Slot = SlotPrimitive.Slot;
6
6
 
7
7
  import { useAtomValue } from "jotai";
8
8
  import { ExternalLinkIcon, TriangleAlertIcon } from "lucide-react";
9
- import React, { type PropsWithChildren, useMemo, useState } from "react";
9
+ import React, { type PropsWithChildren, useState } from "react";
10
10
  import { CopyClipboardIcon } from "@/components/icons/copy-icon";
11
11
  import { useImperativeModal } from "@/components/modal/ImperativeModal";
12
12
  import { Button } from "@/components/ui/button";
@@ -94,8 +94,7 @@ export const FeedbackModal: React.FC<{
94
94
  );
95
95
 
96
96
  const notebook = useAtomValue(notebookAtom);
97
- // biome-ignore lint/correctness/useExhaustiveDependencies: recompute when the notebook changes
98
- const errors = useMemo(() => getCellErrorEntries(store), [notebook]);
97
+ const errors = getCellErrorEntries(store);
99
98
 
100
99
  const cells = notebook.cellIds.inOrderIds.map(
101
100
  (cellId) => notebook.cellData[cellId],
@@ -145,10 +144,9 @@ export const FeedbackModal: React.FC<{
145
144
  return contents;
146
145
  }, [includeCode, notebookSourceAvailable, readCode]);
147
146
 
148
- const { url: githubIssueUrl, omitted } = useMemo(() => {
149
- if (!environment) {
150
- return { url: Constants.bugReportUrl, omitted: [] as string[] };
151
- }
147
+ let githubIssueUrl = Constants.bugReportUrl;
148
+ let omitted: string[] = [];
149
+ if (environment) {
152
150
  const fields: Record<string, string> = {
153
151
  env: formatEnvironmentSection(environment),
154
152
  };
@@ -158,8 +156,11 @@ export const FeedbackModal: React.FC<{
158
156
  if (includeCode && codeRequest.data) {
159
157
  fields["reproduction-code"] = formatCodeSection(codeRequest.data);
160
158
  }
161
- return buildBugReportUrl(Constants.bugReportUrl, fields);
162
- }, [environment, errors, includeErrors, includeCode, codeRequest.data]);
159
+ ({ url: githubIssueUrl, omitted } = buildBugReportUrl(
160
+ Constants.bugReportUrl,
161
+ fields,
162
+ ));
163
+ }
163
164
 
164
165
  const omittedLabels = omitted
165
166
  .map((field) =>
@@ -0,0 +1,143 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { fireEvent, render, screen } from "@testing-library/react";
4
+ import { Provider } from "jotai";
5
+ import { beforeEach, describe, expect, it, vi } from "vitest";
6
+ import { MockRequestClient } from "@/__mocks__/requests";
7
+ import { TooltipProvider } from "@/components/ui/tooltip";
8
+ import { requestClientAtom } from "@/core/network/requests";
9
+ import type {
10
+ DependencyTreeNode,
11
+ DependencyTreeResponse,
12
+ } from "@/core/network/types";
13
+ import { store } from "@/core/state/jotai";
14
+ import PackagesPanel from "../packages-panel";
15
+
16
+ const { openSettings } = vi.hoisted(() => ({
17
+ openSettings: vi.fn(),
18
+ }));
19
+
20
+ vi.mock("@/components/app-config/state", () => ({
21
+ useOpenSettingsToTab: () => ({ handleClick: openSettings }),
22
+ }));
23
+
24
+ const emptyTree: DependencyTreeNode = {
25
+ name: "<root>",
26
+ version: null,
27
+ tags: [],
28
+ dependencies: [],
29
+ };
30
+
31
+ const populatedTree: DependencyTreeNode = {
32
+ ...emptyTree,
33
+ dependencies: [
34
+ {
35
+ name: "polars",
36
+ version: "1.44.1",
37
+ tags: [],
38
+ dependencies: [
39
+ {
40
+ name: "numpy",
41
+ version: "2.5.2",
42
+ tags: [{ kind: "dedupe", value: "true" }],
43
+ dependencies: [],
44
+ },
45
+ ],
46
+ },
47
+ ],
48
+ };
49
+
50
+ function renderPanel(
51
+ context: DependencyTreeResponse["context"],
52
+ tree: DependencyTreeNode = emptyTree,
53
+ ) {
54
+ const getPackageList = vi.fn().mockResolvedValue({ packages: [] });
55
+ store.set(
56
+ requestClientAtom,
57
+ MockRequestClient.create({
58
+ getPackageList,
59
+ getDependencyTree: vi.fn().mockResolvedValue({ tree, context }),
60
+ }),
61
+ );
62
+
63
+ return {
64
+ getPackageList,
65
+ ...render(
66
+ <Provider store={store}>
67
+ <TooltipProvider>
68
+ <PackagesPanel />
69
+ </TooltipProvider>
70
+ </Provider>,
71
+ ),
72
+ };
73
+ }
74
+
75
+ describe("PackagesPanel", () => {
76
+ beforeEach(() => {
77
+ vi.clearAllMocks();
78
+ });
79
+
80
+ it.each(["pixi", "uv"] as const)(
81
+ "shows the effective %s sandbox backend as a fixed context",
82
+ async (backend) => {
83
+ const { getPackageList } = renderPanel({ kind: "sandbox", backend });
84
+
85
+ expect(
86
+ await screen.findByPlaceholderText(
87
+ `Add packages to ${backend} sandbox...`,
88
+ ),
89
+ ).toBeInTheDocument();
90
+ expect(screen.getByText(`${backend} sandbox`)).toBeInTheDocument();
91
+ expect(
92
+ screen.queryByRole("button", { name: "Change package manager" }),
93
+ ).not.toBeInTheDocument();
94
+ expect(
95
+ screen.queryByRole("button", { name: "List" }),
96
+ ).not.toBeInTheDocument();
97
+ expect(
98
+ screen.queryByRole("button", { name: "Tree" }),
99
+ ).not.toBeInTheDocument();
100
+ expect(getPackageList).not.toHaveBeenCalled();
101
+ },
102
+ );
103
+
104
+ it("explains the filtered empty state for a Pixi sandbox", async () => {
105
+ renderPanel({ kind: "sandbox", backend: "pixi" });
106
+
107
+ expect(await screen.findByText("No PyPI dependencies")).toBeInTheDocument();
108
+ expect(
109
+ screen.getByText("Conda dependencies are not shown in this panel."),
110
+ ).toBeInTheDocument();
111
+ });
112
+
113
+ it("labels a dependency whose subtree was already displayed", async () => {
114
+ renderPanel({ kind: "sandbox", backend: "pixi" }, populatedTree);
115
+
116
+ fireEvent.click(await screen.findByRole("treeitem", { name: /polars/ }));
117
+
118
+ expect(screen.getByText("already in tree")).toBeInTheDocument();
119
+ expect(screen.queryByText("cycle")).not.toBeInTheDocument();
120
+ });
121
+
122
+ it("keeps the configured package manager changeable outside a sandbox", async () => {
123
+ const { getPackageList } = renderPanel({
124
+ kind: "package-manager",
125
+ name: "pip",
126
+ });
127
+
128
+ expect(
129
+ await screen.findByPlaceholderText("Install packages with pip..."),
130
+ ).toBeInTheDocument();
131
+ const changeManager = screen.getByRole("button", {
132
+ name: "Change package manager",
133
+ });
134
+
135
+ fireEvent.click(changeManager);
136
+
137
+ expect(openSettings).toHaveBeenCalledWith("packageManagementAndData");
138
+ expect(screen.getByText("environment")).toBeInTheDocument();
139
+ expect(screen.getByRole("button", { name: "List" })).toBeInTheDocument();
140
+ expect(screen.getByRole("button", { name: "Tree" })).toBeInTheDocument();
141
+ expect(getPackageList).toHaveBeenCalledOnce();
142
+ });
143
+ });