@marimo-team/islands 0.22.1-dev3 → 0.22.1-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 (325) hide show
  1. package/dist/{ConnectedDataExplorerComponent-Dl1grr8z.js → ConnectedDataExplorerComponent-DTOsfq2x.js} +54 -54
  2. package/dist/_basePickBy-Sow3pJjS.js +41 -0
  3. package/dist/{_baseUniq-B4eL5sTC.js → _baseUniq-C87CckHL.js} +15 -54
  4. package/dist/{any-language-editor-CT_9yBde.js → any-language-editor-BHH_pQ6M.js} +21 -21
  5. package/dist/architecture-7HQA4BMR-BHdkAMvZ.js +6 -0
  6. package/dist/{architectureDiagram-VXUJARFQ-vxgYGIMP.js → architectureDiagram-VXUJARFQ-B3YQo9At.js} +15 -15
  7. package/dist/{arrays-Du-jRBAy.js → arrays-beUWo8RF.js} +1 -1
  8. package/dist/assets/__vite-browser-external-WSlCcXn_.js +1 -0
  9. package/dist/assets/{worker-D10K3OOz.js → worker-DUYMdbtA.js} +2 -2
  10. package/dist/{blockDiagram-VD42YOAC-C7x6YTH7.js → blockDiagram-VD42YOAC-CpQ3TKEN.js} +7 -7
  11. package/dist/{button-qsiIHncQ.js → button-DNlNlZY_.js} +82 -84
  12. package/dist/{c4Diagram-YG6GDRKO-Cx4oseGg.js → c4Diagram-YG6GDRKO-CZSU4uqU.js} +4 -4
  13. package/dist/{capabilities-26mwv03y.js → capabilities-Coe9eM9T.js} +2 -2
  14. package/dist/{channel-C_50jIAn.js → channel-X3JKk8gE.js} +1 -1
  15. package/dist/{chat-ui-CtqUthFR.js → chat-ui-eH46RYWT.js} +147 -146
  16. package/dist/{check-D_YwHEgY.js → check-CWUkiHmb.js} +1 -1
  17. package/dist/{chunk-4F5CHEZ2-Dvo_CFnR.js → chunk-4F5CHEZ2-D5mClyDv.js} +1 -1
  18. package/dist/{chunk-ABZYJK2D-D5YIs71w.js → chunk-ABZYJK2D-CZYCCtLy.js} +1 -1
  19. package/dist/{chunk-ATLVNIR6-CyOjzOcf.js → chunk-ATLVNIR6-DaOzLLgN.js} +1 -1
  20. package/dist/{chunk-B2363JML-BzZqINRO.js → chunk-B2363JML-Br0eA2T3.js} +1 -1
  21. package/dist/{chunk-B4BG7PRW-ZJeV3KdD.js → chunk-B4BG7PRW-4BjV11Br.js} +4 -4
  22. package/dist/{chunk-DI55MBZ5-Dx_wwX6l.js → chunk-DI55MBZ5-DITY3EyP.js} +4 -4
  23. package/dist/{chunk-EXTU4WIE-CgefpSXQ.js → chunk-EXTU4WIE-jUPSAk3i.js} +1 -1
  24. package/dist/{chunk-FRFDVMJY-Derq8UzY.js → chunk-FRFDVMJY-DnEvEFRR.js} +1 -1
  25. package/dist/{chunk-JA3XYJ7Z-CcIOIFpc.js → chunk-JA3XYJ7Z-BcPEfxk_.js} +2 -2
  26. package/dist/{chunk-JZLCHNYA-CgO0GG1p.js → chunk-JZLCHNYA-2bnLL3xL.js} +4 -4
  27. package/dist/{chunk-N4CR4FBY-2qzGzAxT.js → chunk-N4CR4FBY-CpZSuGSU.js} +5 -5
  28. package/dist/{chunk-PL6DKKU2-KoG71Zin.js → chunk-PL6DKKU2-DnId6G-x.js} +1 -1
  29. package/dist/{chunk-QN33PNHL-Dp1qBo28.js → chunk-QN33PNHL-B9p5ojHB.js} +1 -1
  30. package/dist/{chunk-QXUST7PY-BxmmeIwf.js → chunk-QXUST7PY-Ch6F5Obl.js} +5 -5
  31. package/dist/{chunk-S3R3BYOJ-D3Rys9ZW.js → chunk-S3R3BYOJ-B0UOFJwq.js} +3 -3
  32. package/dist/{chunk-SJTYNZTY-Co-DhKAG.js → chunk-SJTYNZTY-BsBZnJUj.js} +1 -1
  33. package/dist/{chunk-TCCFYFTB-BAhzIqBO.js → chunk-TCCFYFTB-Clbl-fTg.js} +8 -7
  34. package/dist/{chunk-TQ3KTPDO-DxYI735Z.js → chunk-TQ3KTPDO-CFkSQ30e.js} +1 -1
  35. package/dist/{chunk-TZMSLE5B-Dxumt0wv.js → chunk-TZMSLE5B-D45397J2.js} +1 -1
  36. package/dist/{chunk-UMXZTB3W-CuahpKin.js → chunk-UMXZTB3W-D-A834Bq.js} +1 -1
  37. package/dist/{classDiagram-v2-WZHVMYZB-CYoFMQKE.js → classDiagram-2ON5EDUG-C8-zE3Zv.js} +10 -10
  38. package/dist/{classDiagram-2ON5EDUG-DkOvXRlx.js → classDiagram-v2-WZHVMYZB-DrmbGANl.js} +10 -10
  39. package/dist/{clone-DDndUqI0.js → clone-DZFQCtFJ.js} +1 -1
  40. package/dist/{constants-D1Am36hX.js → constants-CvyfaCvs.js} +3 -3
  41. package/dist/{copy-CBo9JcJW.js → copy-B7781WJ3.js} +2 -2
  42. package/dist/{dagre-6UL2VRFP-BXBaU8PB.js → dagre-6UL2VRFP-OMItEBnY.js} +12 -12
  43. package/dist/{dagre-D3dlYz-r.js → dagre-QVd-lCXU.js} +13 -23
  44. package/dist/{data-grid-overlay-editor-nZux6_d2.js → data-grid-overlay-editor-lKF301ME.js} +1 -1
  45. package/dist/{diagram-PSM6KHXK-CJxjk4LG.js → diagram-PSM6KHXK-CkKbohWI.js} +16 -16
  46. package/dist/{diagram-QEK2KX5R-IMILPh_p.js → diagram-QEK2KX5R-DjUMpVcx.js} +14 -14
  47. package/dist/{diagram-S2PKOQOG-6O0g6Boj.js → diagram-S2PKOQOG-b-c0d-wZ.js} +14 -14
  48. package/dist/{dist-BkXs8bw0.js → dist--6TSlp8H.js} +1 -1
  49. package/dist/dist-7K5doRvB.js +6 -0
  50. package/dist/{dist-CQidOwep.js → dist-B43sbpd0.js} +3 -3
  51. package/dist/dist-B6I_A2-E.js +8 -0
  52. package/dist/dist-BEQsmaZY.js +5 -0
  53. package/dist/dist-BasY2RHp.js +8 -0
  54. package/dist/{dist-BemtTYzN.js → dist-Bfp1XXWt.js} +5 -5
  55. package/dist/{dist-v-1kgqZ3.js → dist-BjDuO5JW.js} +1 -1
  56. package/dist/dist-Bosc00dY.js +5 -0
  57. package/dist/{dist-DLNKBPsk.js → dist-BrxqmS9Q.js} +4 -4
  58. package/dist/{dist-DBYL08Lu.js → dist-BvhGByxL.js} +4 -4
  59. package/dist/{dist-CVqlhD3M.js → dist-C4bq5Ioy.js} +2 -2
  60. package/dist/{dist-DwmxBUOe.js → dist-CFKdzOIu.js} +2 -2
  61. package/dist/{dist-5nTQE2yt.js → dist-CIB8w0Fl.js} +2 -2
  62. package/dist/{dist-C-EcLtO9.js → dist-CNF0QBLR.js} +1 -1
  63. package/dist/dist-CQMZOn-_.js +8 -0
  64. package/dist/dist-CViQhWZ8.js +5 -0
  65. package/dist/{dist-Dg65j0em.js → dist-CcMfr7jD.js} +1 -1
  66. package/dist/{dist-C0XYIHKJ.js → dist-Ci0CXEFt.js} +1 -1
  67. package/dist/dist-Cz6rLfwY.js +5 -0
  68. package/dist/dist-D8eq8st3.js +6 -0
  69. package/dist/{dist-qoCY8giM.js → dist-DAfcmt-d.js} +2 -2
  70. package/dist/{dist-B6Op2ogv.js → dist-DD_cYHOl.js} +2 -2
  71. package/dist/{dist-BUSLKXcu.js → dist-DFK94vuS.js} +2 -2
  72. package/dist/{dist-DBXPlQ0D.js → dist-DGNtjMZu.js} +1 -1
  73. package/dist/{dist-C9qF7MRB.js → dist-DJ9F1eHs.js} +2 -2
  74. package/dist/{dist-Ci_jEudG.js → dist-DJKubHDd.js} +1 -1
  75. package/dist/{dist-CnFp2Kcl.js → dist-DLafRu9s.js} +2 -2
  76. package/dist/dist-DM1UDXdl.js +5 -0
  77. package/dist/dist-DNrtWPgS.js +5 -0
  78. package/dist/dist-D_UjpfOY.js +1381 -0
  79. package/dist/{dist-DmFS6KZW.js → dist-DbnBiLNH.js} +3 -3
  80. package/dist/{dist-BiZZAo22.js → dist-DlSUOIm9.js} +1 -1
  81. package/dist/{dist-DStU8He1.js → dist-Doy0mQDg.js} +2 -2
  82. package/dist/{dist-CxAX99oC.js → dist-DpkJHKB8.js} +2 -2
  83. package/dist/{dist-DjaZNkZ7.js → dist-LhQNUe5A.js} +3 -3
  84. package/dist/dist-V7q2qnpA.js +5 -0
  85. package/dist/{dist-BJ3fhRYu.js → dist-VqF3W_ue.js} +2 -2
  86. package/dist/dist-a5_hPgu2.js +8 -0
  87. package/dist/{dist-B9KLrfoh.js → dist-ej6AQKaS.js} +1 -1
  88. package/dist/{dist-Brb6VNc4.js → dist-m9tsXsFf.js} +2 -2
  89. package/dist/{dist-CBwMSFDu.js → dist-tGk0aZ--.js} +2 -2
  90. package/dist/dist-uVyZcV1-.js +5 -0
  91. package/dist/{erDiagram-Q2GNP2WA-sho7Cl9f.js → erDiagram-Q2GNP2WA-CDhLaOZ1.js} +10 -10
  92. package/dist/{error-banner-Bx9kIgrs.js → error-banner-Cjf0RU9I.js} +79 -79
  93. package/dist/{esm-CMg2ABu6.js → esm-4wmsH2lp.js} +6 -6
  94. package/dist/{esm-cqK9POGH.js → esm-CD1iby2n.js} +23 -23
  95. package/dist/{flowDiagram-NV44I4VS-C4nY4Fbz.js → flowDiagram-NV44I4VS-BDi4O4CL.js} +10 -10
  96. package/dist/{ganttDiagram-JELNMOA3-CtxNcCM2.js → ganttDiagram-JELNMOA3-BpZE6kVp.js} +3 -3
  97. package/dist/{gitGraph-G5XIXVHT-SL6TDof6.js → gitGraph-G5XIXVHT-B_c6xFJv.js} +3 -3
  98. package/dist/{gitGraphDiagram-V2S2FVAM-D9885mxd.js → gitGraphDiagram-V2S2FVAM-iQnXzbPM.js} +13 -13
  99. package/dist/{glide-data-editor-CkVEV-Gk.js → glide-data-editor-VgPtWvhu.js} +63 -63
  100. package/dist/{graphlib-CxWdvYQt.js → graphlib-BV1_gi0C.js} +4 -3
  101. package/dist/hasIn-DnfJcYpY.js +108 -0
  102. package/dist/{info-VBDWY6EO-6MXPTSmi.js → info-VBDWY6EO-BTyzxmhr.js} +3 -3
  103. package/dist/{infoDiagram-HS3SLOUP-Bw2FlRwF.js → infoDiagram-HS3SLOUP-OYrX6uO3.js} +13 -13
  104. package/dist/{input-BSde8uV4.js → input-CFY9gApZ.js} +5055 -5055
  105. package/dist/{isEmpty-BQtUinxJ.js → isEmpty-B7FX9wKt.js} +1 -1
  106. package/dist/{isSymbol-DFp8040B.js → isSymbol-DCbjQG_U.js} +1 -1
  107. package/dist/{journeyDiagram-XKPGCS4Q-BXlCEth8.js → journeyDiagram-XKPGCS4Q-ClPC94aN.js} +3 -3
  108. package/dist/{kanban-definition-3W4ZIXB7-CorxzSYm.js → kanban-definition-3W4ZIXB7-DHEAKdZt.js} +7 -7
  109. package/dist/{label-DTNqw9tv.js → label-DbZGAoCH.js} +538 -569
  110. package/dist/{loader-3c9hT4kT.js → loader-Bd1kgLn7.js} +19 -16
  111. package/dist/main.js +2602 -2594
  112. package/dist/{memoize-CuHciEBb.js → memoize-CSTI9eOX.js} +1 -1
  113. package/dist/{merge-CA_buyY3.js → merge-CVhG7q_o.js} +1 -1
  114. package/dist/{mermaid-CEKslOkI.js → mermaid-B2HDLx2g.js} +54 -54
  115. package/dist/{mermaid-parser.core-cq4YDee-.js → mermaid-parser.core-ntCgyx0x.js} +8 -8
  116. package/dist/min-Ds3gG0Ff.js +96 -0
  117. package/dist/{mindmap-definition-VGOIOE7T-DRsT8UaN.js → mindmap-definition-VGOIOE7T-CxEUZZvY.js} +9 -9
  118. package/dist/{now-CXAdKY5k.js → now-nrrrOr01.js} +1 -1
  119. package/dist/{once-CZno0h-b.js → once-C_TIu-kR.js} +1 -1
  120. package/dist/{packet-DYOGHKS2-Dw08gMaZ.js → packet-DYOGHKS2-BhvnpoGi.js} +3 -3
  121. package/dist/{pie-VRWISCQL-C5SPSvT8.js → pie-VRWISCQL-dILuA3iG.js} +3 -3
  122. package/dist/{pieDiagram-ADFJNKIX-DhJ1Cx2O.js → pieDiagram-ADFJNKIX-U3LrUqAS.js} +14 -14
  123. package/dist/{process-output-KyzWazB-.js → process-output-BbUNe4iH.js} +3181 -3204
  124. package/dist/{quadrantDiagram-AYHSOK5B-DXUFIWlz.js → quadrantDiagram-AYHSOK5B-BVWuq-3R.js} +2 -2
  125. package/dist/{radar-ZZBFDIW7-BvY0bgSg.js → radar-ZZBFDIW7-DwFrOJDj.js} +3 -3
  126. package/dist/range-fJeId9Ri.js +30 -0
  127. package/dist/{requirementDiagram-UZGBJVZJ-DO_gtQIb.js → requirementDiagram-UZGBJVZJ-D0zpQnKC.js} +9 -9
  128. package/dist/{sankeyDiagram-TZEHDZUN-OZzXEkuG.js → sankeyDiagram-TZEHDZUN-CExy1joT.js} +2 -2
  129. package/dist/{sequenceDiagram-WL72ISMW-K7nZRifV.js → sequenceDiagram-WL72ISMW-D1BJxLjH.js} +4 -4
  130. package/dist/{slides-component-CIcSvFh7.js → slides-component-CX2JC-Ws.js} +2 -2
  131. package/dist/{spec-DYaR1rJh.js → spec-CiHus5Bb.js} +3 -3
  132. package/dist/{stateDiagram-FKZM4ZOC-DzXJZAq7.js → stateDiagram-FKZM4ZOC-B1S8jGMn.js} +12 -12
  133. package/dist/{stateDiagram-v2-4FDKWEC3-BZBPUmyF.js → stateDiagram-v2-4FDKWEC3-BH5ozUbc.js} +10 -10
  134. package/dist/stex-CQDv3aS8.js +4 -0
  135. package/dist/style.css +1 -1
  136. package/dist/{timeline-definition-IT6M3QCI-DNoLAh-i.js → timeline-definition-IT6M3QCI-BDT9JAmn.js} +2 -2
  137. package/dist/{toDate-D6VXexnV.js → toDate-BzYZtEK7.js} +4 -4
  138. package/dist/{toNumber-xFPoy1OI.js → toNumber-55tjPCWr.js} +2 -2
  139. package/dist/tooltip-BXEpXV3R.js +404 -0
  140. package/dist/{treemap-GDKQZRPO-C5OoxpmV.js → treemap-GDKQZRPO-bx2ngsgN.js} +3 -3
  141. package/dist/{types-CQ-RbYxp.js → types-D_ntCXg0.js} +3 -3
  142. package/dist/{useAsyncData-Cd4Urlww.js → useAsyncData-rN1nzPaS.js} +2 -2
  143. package/dist/{useDeepCompareMemoize-X7clcrcQ.js → useDeepCompareMemoize-iM1YNTEF.js} +4 -4
  144. package/dist/{useIframeCapabilities-BVQrlRBd.js → useIframeCapabilities-CqhrVue6.js} +1 -1
  145. package/dist/{useLifecycle-Dids8BPm.js → useLifecycle-DgDTfOLZ.js} +9 -9
  146. package/dist/{useTheme-Dm1WaAGy.js → useTheme-MWfxn4oz.js} +4 -5
  147. package/dist/{vega-component-A6unyUJS.js → vega-component-CkpTXaRx.js} +23 -23
  148. package/dist/{xychartDiagram-PRI3JC2R-ehVeySMW.js → xychartDiagram-PRI3JC2R-CuAZiqHS.js} +5 -5
  149. package/dist/{Combination-B--d1_LV.js → zod-C6UGQ3fz.js} +8085 -8151
  150. package/package.json +8 -41
  151. package/src/__tests__/branded.ts +6 -0
  152. package/src/__tests__/main.test.tsx +12 -14
  153. package/src/components/ai/ai-provider-icon.tsx +3 -2
  154. package/src/components/app-config/user-config-form.tsx +0 -27
  155. package/src/components/chat/acp/agent-docs.tsx +3 -3
  156. package/src/components/chat/acp/agent-panel.tsx +69 -22
  157. package/src/components/chat/acp/agent-selector.tsx +2 -11
  158. package/src/components/chat/acp/state.ts +14 -2
  159. package/src/components/chat/chat-panel.tsx +2 -1
  160. package/src/components/data-table/TableBottomBar.tsx +12 -1
  161. package/src/components/data-table/TableTopBar.tsx +31 -35
  162. package/src/components/data-table/cell-selection/types.ts +3 -2
  163. package/src/components/data-table/charts/charts.tsx +42 -13
  164. package/src/components/data-table/charts/components/chart-items.tsx +1 -1
  165. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  166. package/src/components/data-table/column-formatting/types.ts +3 -2
  167. package/src/components/data-table/column-header.tsx +4 -2
  168. package/src/components/data-table/column-wrapping/types.ts +3 -2
  169. package/src/components/data-table/columns.tsx +4 -1
  170. package/src/components/data-table/copy-column/types.ts +3 -2
  171. package/src/components/data-table/data-table.tsx +6 -1
  172. package/src/components/data-table/focus-row/types.ts +3 -2
  173. package/src/components/data-table/loading-table.tsx +4 -1
  174. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +11 -11
  175. package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +9 -11
  176. package/src/components/data-table/range-focus/cell-selection-stats.tsx +3 -1
  177. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +1 -1
  178. package/src/components/data-table/table-explorer-panel/table-explorer-panel.tsx +2 -2
  179. package/src/components/editor/__tests__/data-attributes.test.tsx +93 -94
  180. package/src/components/editor/actions/name-cell-input.tsx +4 -2
  181. package/src/components/editor/actions/useCellActionButton.tsx +4 -2
  182. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -1
  183. package/src/components/editor/cell/CellStatus.tsx +4 -5
  184. package/src/components/editor/cell/cell-context-menu.tsx +4 -2
  185. package/src/components/editor/cell/code/cell-editor.tsx +2 -1
  186. package/src/components/editor/cell/toolbar.tsx +2 -1
  187. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +4 -1
  188. package/src/components/editor/chrome/components/feedback-button.tsx +4 -1
  189. package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +1 -1
  190. package/src/components/editor/chrome/panels/file-explorer-panel.tsx +0 -10
  191. package/src/components/editor/chrome/wrapper/app-chrome.tsx +4 -1
  192. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +2 -1
  193. package/src/components/editor/header/filename-input.tsx +4 -1
  194. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +11 -12
  195. package/src/components/storage/__tests__/storage-snippets.test.ts +4 -6
  196. package/src/components/tracing/tracing.test.tsx +30 -30
  197. package/src/components/ui/accordion.tsx +1 -1
  198. package/src/components/ui/alert-dialog.tsx +1 -1
  199. package/src/components/ui/badge.tsx +2 -1
  200. package/src/components/ui/button.tsx +4 -3
  201. package/src/components/ui/calendar.tsx +3 -2
  202. package/src/components/ui/checkbox.tsx +1 -1
  203. package/src/components/ui/combobox.tsx +2 -1
  204. package/src/components/ui/command.tsx +4 -1
  205. package/src/components/ui/context-menu.tsx +1 -1
  206. package/src/components/ui/date-input.tsx +7 -6
  207. package/src/components/ui/date-picker.tsx +6 -4
  208. package/src/components/ui/dialog.tsx +1 -1
  209. package/src/components/ui/draggable-popover.tsx +1 -1
  210. package/src/components/ui/dropdown-menu.tsx +2 -1
  211. package/src/components/ui/field.tsx +1 -2
  212. package/src/components/ui/form.tsx +4 -5
  213. package/src/components/ui/fullscreen.tsx +4 -1
  214. package/src/components/ui/label.tsx +1 -1
  215. package/src/components/ui/navigation.tsx +1 -1
  216. package/src/components/ui/popover.tsx +1 -1
  217. package/src/components/ui/progress.tsx +4 -3
  218. package/src/components/ui/query-param-preserving-link.tsx +4 -2
  219. package/src/components/ui/radio-group.tsx +1 -1
  220. package/src/components/ui/range-slider.tsx +1 -1
  221. package/src/components/ui/scroll-area.tsx +1 -1
  222. package/src/components/ui/select.tsx +1 -1
  223. package/src/components/ui/sheet.tsx +3 -2
  224. package/src/components/ui/slider.tsx +1 -1
  225. package/src/components/ui/switch.tsx +1 -1
  226. package/src/components/ui/tabs.tsx +1 -1
  227. package/src/components/ui/textarea.tsx +1 -2
  228. package/src/components/ui/toast.tsx +1 -1
  229. package/src/components/ui/toggle.tsx +1 -1
  230. package/src/components/ui/tooltip.tsx +1 -1
  231. package/src/core/ai/context/providers/cell-output.ts +1 -2
  232. package/src/core/ai/tools/edit-notebook-tool.ts +4 -3
  233. package/src/core/ai/tools/run-cells-tool.ts +4 -3
  234. package/src/core/cells/__tests__/add-missing-import.test.ts +23 -22
  235. package/src/core/cells/__tests__/apply-transaction.test.ts +12 -11
  236. package/src/core/cells/__tests__/cell.test.ts +14 -13
  237. package/src/core/cells/document-changes.ts +9 -9
  238. package/src/core/cells/logs.ts +1 -1
  239. package/src/core/codemirror/cells/__tests__/extensions.test.ts +15 -17
  240. package/src/core/codemirror/copilot/__tests__/transport.test.ts +128 -2
  241. package/src/core/codemirror/copilot/client.ts +9 -2
  242. package/src/core/codemirror/copilot/language-server.ts +11 -0
  243. package/src/core/codemirror/copilot/transport.ts +33 -8
  244. package/src/core/codemirror/language/languages/markdown.ts +1 -3
  245. package/src/core/codemirror/language/languages/python.ts +4 -0
  246. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +4 -6
  247. package/src/core/codemirror/language/languages/sql/sql.ts +1 -3
  248. package/src/core/codemirror/language/panel/sql.tsx +4 -1
  249. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +28 -42
  250. package/src/core/config/__tests__/config-schema.test.ts +2 -6
  251. package/src/core/config/config-schema.ts +0 -1
  252. package/src/core/config/feature-flag.tsx +0 -2
  253. package/src/core/datasets/data-source-connections.ts +4 -2
  254. package/src/core/dom/__tests__/htmlUtils.test.ts +8 -14
  255. package/src/core/dom/__tests__/outline.test.ts +2 -3
  256. package/src/core/edit-app.tsx +4 -1
  257. package/src/core/islands/__tests__/bridge.test.ts +20 -10
  258. package/src/core/islands/__tests__/parse.test.ts +8 -7
  259. package/src/core/network/__tests__/requests-lazy.test.ts +30 -14
  260. package/src/core/saving/__tests__/filename.test.ts +7 -6
  261. package/src/core/static/__tests__/download-html.test.ts +16 -15
  262. package/src/core/static/__tests__/files.test.ts +30 -28
  263. package/src/core/websocket/useMarimoKernelConnection.tsx +5 -11
  264. package/src/core/websocket/useWebSocket.tsx +3 -1
  265. package/src/css/app/Cell.css +25 -1
  266. package/src/css/globals.css +40 -14
  267. package/src/css/table.css +17 -0
  268. package/src/plugins/core/BadPlugin.tsx +7 -6
  269. package/src/plugins/impl/CheckboxPlugin.tsx +4 -1
  270. package/src/plugins/impl/DataEditorPlugin.tsx +8 -3
  271. package/src/plugins/impl/DataTablePlugin.tsx +5 -1
  272. package/src/plugins/impl/FormPlugin.tsx +1 -2
  273. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +4 -1
  274. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +43 -15
  275. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +2 -11
  276. package/src/plugins/impl/chat/chat-ui.tsx +4 -1
  277. package/src/plugins/impl/data-frames/forms/__tests__/form.test.tsx +7 -9
  278. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +12 -68
  279. package/src/plugins/impl/plotly/__tests__/selection.test.ts +237 -0
  280. package/src/plugins/impl/plotly/selection.ts +118 -0
  281. package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +13 -14
  282. package/src/plugins/impl/vega/__tests__/utils.test.ts +68 -0
  283. package/src/plugins/impl/vega/utils.ts +14 -5
  284. package/src/plugins/impl/vega/vega.css +2 -1
  285. package/src/plugins/layout/ImageComparisonPlugin.tsx +1 -3
  286. package/src/plugins/stateless-plugin.ts +4 -2
  287. package/src/utils/__tests__/cell-urls.test.ts +24 -21
  288. package/src/utils/__tests__/filenames.test.ts +15 -14
  289. package/src/utils/__tests__/json-parser.test.ts +14 -21
  290. package/src/utils/__tests__/path.test.ts +34 -31
  291. package/src/utils/__tests__/urls.test.ts +19 -18
  292. package/src/utils/json/base64.ts +2 -5
  293. package/src/utils/time.ts +4 -2
  294. package/src/utils/tracer.ts +1 -0
  295. package/src/utils/typed.ts +2 -2
  296. package/dist/_basePickBy-QjOmBDRE.js +0 -110
  297. package/dist/_baseSet-xgn1IbGV.js +0 -27
  298. package/dist/architecture-7HQA4BMR-BRyVh_Za.js +0 -6
  299. package/dist/assets/__vite-browser-external-Us1ds95c.js +0 -1
  300. package/dist/dist-B0R_ZM4-.js +0 -6
  301. package/dist/dist-B4a9_9pj.js +0 -5
  302. package/dist/dist-BCSUKEwO.js +0 -5
  303. package/dist/dist-BONIDQq6.js +0 -5
  304. package/dist/dist-BYeRx2hb.js +0 -5
  305. package/dist/dist-D2Rk1j4R.js +0 -1381
  306. package/dist/dist-DZjX5TYv.js +0 -5
  307. package/dist/dist-Dkw9x6kc.js +0 -5
  308. package/dist/dist-Ds6UaXGR.js +0 -6
  309. package/dist/dist-KuEJ1Q53.js +0 -8
  310. package/dist/dist-S72WNyTZ.js +0 -5
  311. package/dist/dist-bTG-yssT.js +0 -5
  312. package/dist/dist-diF0sguc.js +0 -8
  313. package/dist/dist-mJ84BIgu.js +0 -8
  314. package/dist/dist-wSIhFWQz.js +0 -8
  315. package/dist/get-CqrzlV1v.js +0 -68
  316. package/dist/range-CYz5jI--.js +0 -17
  317. package/dist/stex-CZyTRGVB.js +0 -4
  318. package/dist/tooltip-DGHTbHl5.js +0 -404
  319. /package/dist/{dist-KZI_BHqV.js → dist-CxZvoNao.js} +0 -0
  320. /package/dist/{invariant-D4hPsZFI.js → invariant-e8eBgdux.js} +0 -0
  321. /package/dist/{isArrayLikeObject-C-hFPChh.js → isArrayLikeObject-LXbTYiBa.js} +0 -0
  322. /package/dist/{main-CvkAPtaq.js → main-XimWhSi_.js} +0 -0
  323. /package/dist/{purify.es-ukiMXY-F.js → purify.es-hTCfRGdl.js} +0 -0
  324. /package/dist/{react-dom-BKwCWYPW.js → react-dom-BSUuJjCR.js} +0 -0
  325. /package/dist/{stex-Ze8D4R_5.js → stex-D887Ylhf.js} +0 -0
@@ -1,6 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import { Slot } from "@radix-ui/react-slot";
3
+ import { Slot as SlotPrimitive } from "radix-ui";
4
+
5
+ const Slot = SlotPrimitive.Slot;
6
+
4
7
  import React, { type PropsWithChildren } from "react";
5
8
  import { useImperativeModal } from "@/components/modal/ImperativeModal";
6
9
  import { Button } from "@/components/ui/button";
@@ -1,6 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import { Slot } from "@radix-ui/react-slot";
3
+ import { Slot as SlotPrimitive } from "radix-ui";
4
+
5
+ const Slot = SlotPrimitive.Slot;
6
+
4
7
  import React, { type PropsWithChildren } from "react";
5
8
  import { useImperativeModal } from "@/components/modal/ImperativeModal";
6
9
  import {
@@ -101,7 +101,7 @@ export const ContextAwarePanel: React.FC = () => {
101
101
  const renderBody = () => {
102
102
  return (
103
103
  <div className="pb-7 mb-4 h-full overflow-auto">
104
- <div className="p-3 border-b flex justify-between items-center">
104
+ <div className="px-3 py-2 border-b flex justify-between items-center">
105
105
  {renderModeToggle()}
106
106
  <Slot name={SlotNames.CONTEXT_AWARE_PANEL_HEADER} />
107
107
  <Button
@@ -7,7 +7,6 @@ import React, { useCallback, useMemo } from "react";
7
7
  import useResizeObserver from "use-resize-observer";
8
8
  import { StorageInspector } from "@/components/storage/storage-inspector";
9
9
  import { Accordion } from "@/components/ui/accordion";
10
- import { getFeatureFlag } from "@/core/config/feature-flag";
11
10
  import { storageNamespacesAtom } from "@/core/storage/state";
12
11
  import { cn } from "@/utils/cn";
13
12
  import { jotaiJsonStorage } from "@/utils/storage/jotai";
@@ -103,15 +102,6 @@ const FileExplorerPanel: React.FC = () => {
103
102
  bothOpen ? availableContent - storageMaxHeight : availableContent,
104
103
  );
105
104
 
106
- const storageInspectorEnabled = getFeatureFlag("storage_inspector");
107
- if (!storageInspectorEnabled) {
108
- return (
109
- <div ref={panelRef} className="h-full overflow-auto">
110
- <FileExplorerComponent height={panelHeight} />
111
- </div>
112
- );
113
- }
114
-
115
105
  return (
116
106
  <div ref={panelRef} className="h-full overflow-auto">
117
107
  <Accordion
@@ -14,7 +14,10 @@ import {
14
14
  import { Footer } from "./footer";
15
15
  import { Sidebar } from "./sidebar";
16
16
  import "./app-chrome.css";
17
- import { TooltipProvider } from "@radix-ui/react-tooltip";
17
+ import { Tooltip } from "radix-ui";
18
+
19
+ const TooltipProvider = Tooltip.Provider;
20
+
18
21
  import { useAtom, useAtomValue } from "jotai";
19
22
  import { XIcon } from "lucide-react";
20
23
  import useEvent from "react-use-event-hook";
@@ -13,6 +13,7 @@ import type {
13
13
  LspRestartRequest,
14
14
  LspRestartResponse,
15
15
  } from "@/core/network/types";
16
+ import { isWasm } from "@/core/wasm/utils";
16
17
  import { isAppConnected } from "@/core/websocket/connection-utils";
17
18
  import { useAsyncData } from "@/hooks/useAsyncData";
18
19
  import { useInterval } from "@/hooks/useInterval";
@@ -26,7 +27,7 @@ export const LspStatus: React.FC = () => {
26
27
  const setLspHealth = useSetAtom(lspHealthAtom);
27
28
 
28
29
  const { isFetching, data, refetch } = useAsyncData(async () => {
29
- if (!isAppConnected(connection)) {
30
+ if (isWasm() || !isAppConnected(connection)) {
30
31
  return null;
31
32
  }
32
33
 
@@ -1,6 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import { PopoverAnchor } from "@radix-ui/react-popover";
3
+ import { Popover as PopoverPrimitive } from "radix-ui";
4
+
5
+ const PopoverAnchor = PopoverPrimitive.Anchor;
6
+
4
7
  import { FilePenIcon } from "lucide-react";
5
8
  import { type JSX, useEffect, useRef, useState } from "react";
6
9
  import {
@@ -311,18 +311,17 @@ const ActionButtons: React.FC<{
311
311
  );
312
312
  };
313
313
 
314
- interface VerticalCellProps
315
- extends Pick<
316
- CellRuntimeState,
317
- | "output"
318
- | "consoleOutputs"
319
- | "status"
320
- | "stopped"
321
- | "errored"
322
- | "interrupted"
323
- | "staleInputs"
324
- | "runStartTimestamp"
325
- > {
314
+ interface VerticalCellProps extends Pick<
315
+ CellRuntimeState,
316
+ | "output"
317
+ | "consoleOutputs"
318
+ | "status"
319
+ | "stopped"
320
+ | "errored"
321
+ | "interrupted"
322
+ | "staleInputs"
323
+ | "runStartTimestamp"
324
+ > {
326
325
  cellOutputArea: "above" | "below";
327
326
  cellId: CellId;
328
327
  config: CellConfig;
@@ -147,9 +147,8 @@ describe("download-file snippet", () => {
147
147
  });
148
148
 
149
149
  it("obstore gcs backend", () => {
150
- expect(
151
- downloadSnippet.getCode(makeCtx({ protocol: "gcs" })),
152
- ).toMatchInlineSnapshot(`
150
+ expect(downloadSnippet.getCode(makeCtx({ protocol: "gcs" })))
151
+ .toMatchInlineSnapshot(`
153
152
  "from datetime import timedelta
154
153
  from obstore import sign
155
154
 
@@ -162,9 +161,8 @@ describe("download-file snippet", () => {
162
161
  });
163
162
 
164
163
  it("obstore cloudflare backend", () => {
165
- expect(
166
- downloadSnippet.getCode(makeCtx({ protocol: "cloudflare" })),
167
- ).toMatchInlineSnapshot(`
164
+ expect(downloadSnippet.getCode(makeCtx({ protocol: "cloudflare" })))
165
+ .toMatchInlineSnapshot(`
168
166
  "from datetime import timedelta
169
167
  from obstore import sign
170
168
 
@@ -5,36 +5,36 @@ import { formatChartTime } from "./utils";
5
5
  describe("formatChartTime", () => {
6
6
  beforeAll(() => {
7
7
  // Mock Date to always use UTC
8
- vi.spyOn(global.Date.prototype, "getFullYear").mockImplementation(function (
9
- this: Date,
10
- ) {
11
- return this.getUTCFullYear();
12
- });
13
- vi.spyOn(global.Date.prototype, "getMonth").mockImplementation(function (
14
- this: Date,
15
- ) {
16
- return this.getUTCMonth();
17
- });
18
- vi.spyOn(global.Date.prototype, "getDate").mockImplementation(function (
19
- this: Date,
20
- ) {
21
- return this.getUTCDate();
22
- });
23
- vi.spyOn(global.Date.prototype, "getHours").mockImplementation(function (
24
- this: Date,
25
- ) {
26
- return this.getUTCHours();
27
- });
28
- vi.spyOn(global.Date.prototype, "getMinutes").mockImplementation(function (
29
- this: Date,
30
- ) {
31
- return this.getUTCMinutes();
32
- });
33
- vi.spyOn(global.Date.prototype, "getSeconds").mockImplementation(function (
34
- this: Date,
35
- ) {
36
- return this.getUTCSeconds();
37
- });
8
+ vi.spyOn(global.Date.prototype, "getFullYear").mockImplementation(
9
+ function (this: Date) {
10
+ return this.getUTCFullYear();
11
+ },
12
+ );
13
+ vi.spyOn(global.Date.prototype, "getMonth").mockImplementation(
14
+ function (this: Date) {
15
+ return this.getUTCMonth();
16
+ },
17
+ );
18
+ vi.spyOn(global.Date.prototype, "getDate").mockImplementation(
19
+ function (this: Date) {
20
+ return this.getUTCDate();
21
+ },
22
+ );
23
+ vi.spyOn(global.Date.prototype, "getHours").mockImplementation(
24
+ function (this: Date) {
25
+ return this.getUTCHours();
26
+ },
27
+ );
28
+ vi.spyOn(global.Date.prototype, "getMinutes").mockImplementation(
29
+ function (this: Date) {
30
+ return this.getUTCMinutes();
31
+ },
32
+ );
33
+ vi.spyOn(global.Date.prototype, "getSeconds").mockImplementation(
34
+ function (this: Date) {
35
+ return this.getUTCSeconds();
36
+ },
37
+ );
38
38
  vi.spyOn(global.Date.prototype, "getMilliseconds").mockImplementation(
39
39
  function (this: Date) {
40
40
  return this.getUTCMilliseconds();
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
3
  import { ChevronDown } from "lucide-react";
4
+ import { Accordion as AccordionPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
 
7
7
  import { cn } from "@/utils/cn";
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
+ import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
  import { buttonVariants } from "@/components/ui/button";
6
6
  import { StyleNamespace } from "@/theme/namespace";
@@ -29,7 +29,8 @@ const badgeVariants = cva(
29
29
  );
30
30
 
31
31
  export interface BadgeProps
32
- extends React.HTMLAttributes<HTMLDivElement>,
32
+ extends
33
+ React.HTMLAttributes<HTMLDivElement>,
33
34
  VariantProps<typeof badgeVariants> {}
34
35
 
35
36
  const Badge = ({ className, variant, ...props }: BadgeProps) => {
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import { Slot } from "@radix-ui/react-slot";
4
3
  import { cva, type VariantProps } from "class-variance-authority";
4
+ import { Slot as SlotPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
  import { parseShortcut } from "@/core/hotkeys/shortcuts";
7
7
  import { useEventListener } from "@/hooks/useEventListener";
@@ -92,7 +92,8 @@ const buttonVariants = cva(
92
92
  );
93
93
 
94
94
  export interface ButtonProps
95
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
95
+ extends
96
+ React.ButtonHTMLAttributes<HTMLButtonElement>,
96
97
  Omit<VariantProps<typeof buttonVariants>, "disabled"> {
97
98
  asChild?: boolean;
98
99
  keyboardShortcut?: string;
@@ -135,7 +136,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
135
136
 
136
137
  useEventListener(document, "keydown", handleKeyPress);
137
138
 
138
- const Comp = asChild ? Slot : "button";
139
+ const Comp = asChild ? SlotPrimitive.Slot : "button";
139
140
  return (
140
141
  <Comp
141
142
  className={cn(
@@ -183,8 +183,9 @@ const Calendar = <T extends AriaDateValue>({
183
183
  );
184
184
  };
185
185
 
186
- interface RangeCalendarProps<T extends AriaDateValue>
187
- extends AriaRangeCalendarProps<T> {
186
+ interface RangeCalendarProps<
187
+ T extends AriaDateValue,
188
+ > extends AriaRangeCalendarProps<T> {
188
189
  errorMessage?: string;
189
190
  }
190
191
 
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
4
3
  import { Check } from "lucide-react";
4
+ import { Checkbox as CheckboxPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
 
7
7
  import { cn } from "@/utils/cn";
@@ -230,7 +230,8 @@ interface ComboboxItemOptions<TValue> {
230
230
  }
231
231
 
232
232
  export interface ComboboxItemProps<TValue>
233
- extends ComboboxItemOptions<TValue>,
233
+ extends
234
+ ComboboxItemOptions<TValue>,
234
235
  Omit<
235
236
  React.ComponentProps<typeof CommandItem>,
236
237
  keyof ComboboxItemOptions<TValue> | "onSelect" | "role"
@@ -1,6 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type { DialogProps } from "@radix-ui/react-dialog";
3
+ import type { Dialog as DialogPrimitive } from "radix-ui";
4
+
5
+ type DialogProps = DialogPrimitive.DialogProps;
6
+
4
7
  import type { VariantProps } from "class-variance-authority";
5
8
  import { Command as CommandPrimitive } from "cmdk";
6
9
  import { Search } from "lucide-react";
@@ -1,12 +1,12 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
4
3
  import {
5
4
  CheckIcon,
6
5
  ChevronRightIcon,
7
6
  DotFilledIcon,
8
7
  } from "@radix-ui/react-icons";
9
8
  import type { VariantProps } from "class-variance-authority";
9
+ import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
10
10
  import * as React from "react";
11
11
  import { StyleNamespace } from "@/theme/namespace";
12
12
  import { cn } from "@/utils/cn";
@@ -41,8 +41,7 @@ const DateSegment = ({ className, ...props }: AriaDateSegmentProps) => {
41
41
  };
42
42
 
43
43
  interface DateInputProps
44
- extends AriaDateInputProps,
45
- VariantProps<typeof fieldGroupVariants> {}
44
+ extends AriaDateInputProps, VariantProps<typeof fieldGroupVariants> {}
46
45
 
47
46
  const DateInput = ({
48
47
  className,
@@ -61,8 +60,9 @@ const DateInput = ({
61
60
  );
62
61
  };
63
62
 
64
- interface DateFieldProps<T extends AriaDateValue>
65
- extends AriaDateFieldProps<T> {
63
+ interface DateFieldProps<
64
+ T extends AriaDateValue,
65
+ > extends AriaDateFieldProps<T> {
66
66
  label?: string;
67
67
  description?: string;
68
68
  errorMessage?: string | ((validation: AriaValidationResult) => string);
@@ -94,8 +94,9 @@ const DateField = <T extends AriaDateValue>({
94
94
  );
95
95
  };
96
96
 
97
- interface TimeFieldProps<T extends AriaTimeValue>
98
- extends AriaTimeFieldProps<T> {
97
+ interface TimeFieldProps<
98
+ T extends AriaTimeValue,
99
+ > extends AriaTimeFieldProps<T> {
99
100
  label?: string;
100
101
  description?: string;
101
102
  errorMessage?: string | ((validation: AriaValidationResult) => string);
@@ -51,8 +51,9 @@ const DatePickerContent = ({
51
51
  </Popover>
52
52
  );
53
53
 
54
- interface DatePickerProps<T extends AriaDateValue>
55
- extends AriaDatePickerProps<T> {
54
+ interface DatePickerProps<
55
+ T extends AriaDateValue,
56
+ > extends AriaDatePickerProps<T> {
56
57
  label?: string;
57
58
  description?: string;
58
59
  errorMessage?: string | ((validation: AriaValidationResult) => string);
@@ -115,8 +116,9 @@ const DatePicker = <T extends AriaDateValue>({
115
116
  );
116
117
  };
117
118
 
118
- interface DateRangePickerProps<T extends AriaDateValue>
119
- extends AriaDateRangePickerProps<T> {
119
+ interface DateRangePickerProps<
120
+ T extends AriaDateValue,
121
+ > extends AriaDateRangePickerProps<T> {
120
122
  label?: string;
121
123
  description?: string;
122
124
  errorMessage?: string | ((validation: AriaValidationResult) => string);
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as DialogPrimitive from "@radix-ui/react-dialog";
4
3
  import { X } from "lucide-react";
4
+ import { Dialog as DialogPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
  import { StyleNamespace } from "@/theme/namespace";
7
7
  import { cn } from "@/utils/cn";
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type * as PopoverPrimitive from "@radix-ui/react-popover";
4
3
  import { GripHorizontalIcon } from "lucide-react";
4
+ import type { Popover as PopoverPrimitive } from "radix-ui";
5
5
  import { useRef, useState } from "react";
6
6
  import { Popover, PopoverContent, PopoverTrigger } from "./popover";
7
7
 
@@ -1,7 +1,8 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2
+
3
3
  import type { VariantProps } from "class-variance-authority";
4
4
  import { Check, ChevronRight, Circle } from "lucide-react";
5
+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
6
  import React from "react";
6
7
  import { StyleNamespace } from "@/theme/namespace";
7
8
  import { cn } from "@/utils/cn";
@@ -66,8 +66,7 @@ const fieldGroupVariants = cva("", {
66
66
  });
67
67
 
68
68
  interface GroupProps
69
- extends AriaGroupProps,
70
- VariantProps<typeof fieldGroupVariants> {}
69
+ extends AriaGroupProps, VariantProps<typeof fieldGroupVariants> {}
71
70
 
72
71
  const FieldGroup = ({ className, variant, ...props }: GroupProps) => {
73
72
  return (
@@ -1,8 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type * as LabelPrimitive from "@radix-ui/react-label";
4
- import { Slot } from "@radix-ui/react-slot";
5
3
  import { AlertCircleIcon } from "lucide-react";
4
+ import { type Label as LabelPrimitive, Slot as SlotPrimitive } from "radix-ui";
6
5
  import * as React from "react";
7
6
  import {
8
7
  Controller,
@@ -130,14 +129,14 @@ const FormLabel = React.forwardRef<
130
129
  FormLabel.displayName = "FormLabel";
131
130
 
132
131
  const FormControl = React.forwardRef<
133
- React.ElementRef<typeof Slot>,
134
- React.ComponentPropsWithoutRef<typeof Slot>
132
+ React.ElementRef<typeof SlotPrimitive.Slot>,
133
+ React.ComponentPropsWithoutRef<typeof SlotPrimitive.Slot>
135
134
  >(({ ...props }, ref) => {
136
135
  const { error, formItemId, formDescriptionId, formMessageId } =
137
136
  useFormField();
138
137
 
139
138
  return (
140
- <Slot
139
+ <SlotPrimitive.Slot
141
140
  ref={ref}
142
141
  id={formItemId}
143
142
  aria-describedby={
@@ -1,6 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type { PopoverContentProps } from "@radix-ui/react-popover";
3
+ import type { Popover } from "radix-ui";
4
+
5
+ type PopoverContentProps = Popover.PopoverContentProps;
6
+
4
7
  import React, { useState } from "react";
5
8
  import { isInVscodeExtension } from "@/core/vscode/is-in-vscode";
6
9
  import { useEventListener } from "@/hooks/useEventListener";
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as LabelPrimitive from "@radix-ui/react-label";
4
3
  import { cva, type VariantProps } from "class-variance-authority";
4
+ import { Label as LabelPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
 
7
7
  import { cn } from "@/utils/cn";
@@ -1,8 +1,8 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { ChevronDownIcon } from "@radix-ui/react-icons";
4
- import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
5
4
  import { cva, type VariantProps } from "class-variance-authority";
5
+ import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
6
6
  import * as React from "react";
7
7
  import { cn } from "@/utils/cn";
8
8
 
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as PopoverPrimitive from "@radix-ui/react-popover";
3
+ import { Popover as PopoverPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
  import { StyleNamespace } from "@/theme/namespace";
6
6
  import { cn } from "@/utils/cn";
@@ -1,12 +1,13 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as ProgressPrimitive from "@radix-ui/react-progress";
3
+ import { Progress as ProgressPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
 
6
6
  import { cn } from "@/utils/cn";
7
7
 
8
- interface ProgressProps
9
- extends React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> {
8
+ interface ProgressProps extends React.ComponentPropsWithoutRef<
9
+ typeof ProgressPrimitive.Root
10
+ > {
10
11
  /**
11
12
  * When true, shows an indeterminate animated progress bar.
12
13
  */
@@ -3,8 +3,10 @@
3
3
  import React, { useRef } from "react";
4
4
  import { usePress } from "react-aria";
5
5
 
6
- interface QueryParamPreservingLinkProps
7
- extends Omit<React.HTMLAttributes<HTMLAnchorElement>, "href"> {
6
+ interface QueryParamPreservingLinkProps extends Omit<
7
+ React.HTMLAttributes<HTMLAnchorElement>,
8
+ "href"
9
+ > {
8
10
  href: string;
9
11
  children: React.ReactNode;
10
12
  }
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
4
3
  import { Circle } from "lucide-react";
4
+ import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
5
5
  import * as React from "react";
6
6
 
7
7
  import { cn } from "@/utils/cn";
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as SliderPrimitive from "@radix-ui/react-slider";
3
+ import { Slider as SliderPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
  import { useLocale } from "react-aria";
6
6
  import { cn } from "@/utils/cn";
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3
+ import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
  import { cn } from "@/utils/cn";
6
6
 
@@ -1,6 +1,5 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as SelectPrimitive from "@radix-ui/react-select";
4
3
  import type { VariantProps } from "class-variance-authority";
5
4
  import {
6
5
  CheckIcon,
@@ -9,6 +8,7 @@ import {
9
8
  ChevronUpIcon,
10
9
  XIcon,
11
10
  } from "lucide-react";
11
+ import { Select as SelectPrimitive } from "radix-ui";
12
12
  import * as React from "react";
13
13
  import { StyleNamespace } from "@/theme/namespace";
14
14
  import { cn } from "@/utils/cn";
@@ -1,8 +1,8 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as SheetPrimitive from "@radix-ui/react-dialog";
4
3
  import { Cross2Icon } from "@radix-ui/react-icons";
5
4
  import { cva, type VariantProps } from "class-variance-authority";
5
+ import { Dialog as SheetPrimitive } from "radix-ui";
6
6
  import React from "react";
7
7
  import { StyleNamespace } from "@/theme/namespace";
8
8
  import { cn } from "@/utils/cn";
@@ -51,7 +51,8 @@ const sheetVariants = cva(
51
51
  );
52
52
 
53
53
  interface SheetContentProps
54
- extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
54
+ extends
55
+ React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
55
56
  VariantProps<typeof sheetVariants> {}
56
57
 
57
58
  const SheetContent = React.forwardRef<
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as SliderPrimitive from "@radix-ui/react-slider";
3
+ import { Slider as SliderPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
  import { useLocale } from "react-aria";
6
6
  import { cn } from "@/utils/cn";
@@ -1,7 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as SwitchPrimitives from "@radix-ui/react-switch";
4
3
  import { cva, type VariantProps } from "class-variance-authority";
4
+ import { Switch as SwitchPrimitives } from "radix-ui";
5
5
  import * as React from "react";
6
6
  import { cn } from "@/utils/cn";
7
7
 
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ import { Tabs as TabsPrimitive } from "radix-ui";
4
4
  import * as React from "react";
5
5
 
6
6
  import { cn } from "@/utils/cn";