@marimo-team/frontend 0.23.12-dev4 → 0.23.12-dev7

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 (188) hide show
  1. package/dist/assets/{CellStatus-DWKF60ch.js → CellStatus-6opTJjMX.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-DjiALugX.js → ConnectedDataExplorerComponent-i1kaFF7n.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-YqGfStRa.js → ErrorBoundary-Bo313Z9X.js} +1 -1
  4. package/dist/assets/{ImperativeModal-_JsD8Geg.js → ImperativeModal-B62Q6S9l.js} +1 -1
  5. package/dist/assets/{Inputs-CuKU-ENz.css → Inputs-C4Oo7q-H.css} +1 -1
  6. package/dist/assets/{JsonOutput-B7vuddcd.css → JsonOutput-BQtz7-np.css} +1 -1
  7. package/dist/assets/{JsonOutput-QXW7KD7g.js → JsonOutput-CWVuEz6C.js} +3 -3
  8. package/dist/assets/{LazyAnyLanguageCodeMirror-BqPfvXlM.js → LazyAnyLanguageCodeMirror-CsAMDSIw.js} +2 -2
  9. package/dist/assets/{MarimoErrorOutput-CbSSWhjw.js → MarimoErrorOutput-dYrcxVwq.js} +2 -2
  10. package/dist/assets/{RSPContexts-B9yuKjdT.js → RSPContexts-VzcTZjG1.js} +1 -1
  11. package/dist/assets/{RenderHTML-B283s7MJ.js → RenderHTML-ohul2q99.js} +1 -1
  12. package/dist/assets/{RunButton-C_19zU-4.js → RunButton-BMpP08P_.js} +1 -1
  13. package/dist/assets/{add-cell-with-ai-63FLemQ6.js → add-cell-with-ai-5tJjrFh0.js} +1 -1
  14. package/dist/assets/{add-connection-dialog-Bv2XA3ka.js → add-connection-dialog-pVExi7gB.js} +1 -1
  15. package/dist/assets/{agent-panel-7V3dGxQ5.js → agent-panel-By97CFFK.js} +5 -5
  16. package/dist/assets/{ai-model-dropdown-C6gk2SxA.js → ai-model-dropdown-Dvmxl0HU.js} +4 -4
  17. package/dist/assets/alert-1y_DnRWn.js +1 -0
  18. package/dist/assets/{alert-dialog-Dj7YzzBi.js → alert-dialog-CC0gG4Av.js} +1 -1
  19. package/dist/assets/{any-language-editor-DadY-3pz.js → any-language-editor-F2HBwXr3.js} +1 -1
  20. package/dist/assets/{app-config-button-CC-L3J3r.js → app-config-button-BB5z7_FE.js} +1 -1
  21. package/dist/assets/{button-DuHyjdW2.js → button-BF7GSjhW.js} +1 -1
  22. package/dist/assets/{cache-panel-BHYMMbEc.js → cache-panel-BlIrcwlT.js} +1 -1
  23. package/dist/assets/{capabilities-ClLgkhPb.js → capabilities-CjNGDxxx.js} +1 -1
  24. package/dist/assets/{cell-editor-b-XUcy_0.js → cell-editor-DQKaGrC9.js} +2 -2
  25. package/dist/assets/cell-editor-_cVIHMNI.css +2 -0
  26. package/dist/assets/{cell-link-CltAZE6t.js → cell-link-DBKqdVgo.js} +1 -1
  27. package/dist/assets/{cells-pu5xzE_v.css → cells-BVzo2MHf.css} +2 -2
  28. package/dist/assets/{cells-CHWMpikY.js → cells-DiASVTIh.js} +20 -20
  29. package/dist/assets/{chat-display-0upQ9ApT.js → chat-display-D8X6vz7W.js} +1 -1
  30. package/dist/assets/{chat-panel-C3iqwnxV.js → chat-panel-B9l3ukjX.js} +1 -1
  31. package/dist/assets/{chat-ui-CG7BMZQT.js → chat-ui-BwH7dd6n.js} +1 -1
  32. package/dist/assets/{column-preview-DPRIVh2U.js → column-preview-B3CdpsbL.js} +1 -1
  33. package/dist/assets/{command-emRtRCMn.js → command-DRHbYHUP.js} +1 -1
  34. package/dist/assets/{command-palette-J0bFdD9g.js → command-palette-D2BHtSuk.js} +1 -1
  35. package/dist/assets/{common-YBBQumDk.js → common-CvUUt55g.js} +1 -1
  36. package/dist/assets/{components-DBOw-EPg.js → components-CimBDpZ8.js} +1 -1
  37. package/dist/assets/{config-6vnnoRNy.js → config-3clPIEB9.js} +1 -1
  38. package/dist/assets/{copy-C_iQKqnH.js → copy-D8MtpXgN.js} +1 -1
  39. package/dist/assets/{copy-icon-CeGeeBdW.js → copy-icon-EHMT-qlr.js} +1 -1
  40. package/dist/assets/{createReducer-CzbhqMat.js → createReducer-3wF4dU7I.js} +1 -1
  41. package/dist/assets/{datasource-C6_8-viy.js → datasource-Da-qoi34.js} +1 -1
  42. package/dist/assets/{dates-C61OL-dM.js → dates-D8uxHHPL.js} +1 -1
  43. package/dist/assets/{dependency-graph-panel-D83-WLVK.js → dependency-graph-panel-CMjZH8W-.js} +2 -2
  44. package/dist/assets/{dialog-HQS6OqZN.js → dialog-DkJmIrsG.js} +1 -1
  45. package/dist/assets/{dist-C3166O2z.js → dist-DCqDlsgq.js} +1 -1
  46. package/dist/assets/{documentation-panel-DTnM09IC.js → documentation-panel-BS_uG8hW.js} +1 -1
  47. package/dist/assets/{download-Ct_TgW5r.js → download-CdS_EveB.js} +1 -1
  48. package/dist/assets/{dropdown-menu-ItqBTuc3.js → dropdown-menu-DfGLyCbP.js} +1 -1
  49. package/dist/assets/{edit-page-CRS0yn99.js → edit-page-DanoliKk.js} +6 -6
  50. package/dist/assets/empty-state-QmmE2oN4.js +1 -0
  51. package/dist/assets/{error-banner-Ct1mv9wE.js → error-banner-BSQVN46J.js} +1 -1
  52. package/dist/assets/{error-panel-DLrrxrpE.js → error-panel-Csh1BgrG.js} +1 -1
  53. package/dist/assets/{es-D70Vphlx.js → es-EItoYvXh.js} +1 -1
  54. package/dist/assets/{field-tn87_E9F.js → field-DlNY-dDH.js} +1 -1
  55. package/dist/assets/{file-explorer-panel-C4On50ex.js → file-explorer-panel--h0xwnRB.js} +1 -1
  56. package/dist/assets/{file-icons-CYkhl3GL.js → file-icons-D6BjDFSV.js} +1 -1
  57. package/dist/assets/{file-name-input-ChsdEroc.js → file-name-input-CsUxNFtr.js} +1 -1
  58. package/dist/assets/{floating-outline-BYOWegDI.js → floating-outline-D2cwxR8Z.js} +1 -1
  59. package/dist/assets/{focus-D5qOsUgK.js → focus-BvvRVcVF.js} +1 -1
  60. package/dist/assets/{form-DeUXsgGH.js → form-CO925gWV.js} +1 -1
  61. package/dist/assets/{formats-CBt24TWP.js → formats-ZGU43GQU.js} +1 -1
  62. package/dist/assets/{formatting-eWiw-Q8f.js → formatting-DhA_x3cD.js} +1 -1
  63. package/dist/assets/{fullscreen-BWhrFYLX.js → fullscreen-BXI8V5i6.js} +1 -1
  64. package/dist/assets/{gallery-page-Cdzff-Qg.js → gallery-page-CNPcxPCI.js} +1 -1
  65. package/dist/assets/{glide-data-editor-C-TEbaaI.js → glide-data-editor-Bmm8OMxa.js} +1 -1
  66. package/dist/assets/glide-data-editor-bv6Gjy-B.css +1 -0
  67. package/dist/assets/{globals-CtlGW6I9.js → globals-Bx8Km3LH.js} +1 -1
  68. package/dist/assets/{home-page-mSJrlwQP.js → home-page-CPt4LGp0.js} +1 -1
  69. package/dist/assets/{hooks-B7Rts5E9.js → hooks-7dyPrQQS.js} +1 -1
  70. package/dist/assets/{html-to-image-CwotZpj4.js → html-to-image-BWhkUSek.js} +1 -1
  71. package/dist/assets/index-C65kCpI9.css +2 -0
  72. package/dist/assets/{index-CPP8bPS4.js → index-awbrczCl.js} +7 -7
  73. package/dist/assets/{input-DqLOEfxi.js → input-DB2LiTiQ.js} +1 -1
  74. package/dist/assets/{kiosk-mode-BbYPCeNP.js → kiosk-mode-D0mAc3Fr.js} +1 -1
  75. package/dist/assets/{label-B0dIDKzs.js → label-CFvCMYuj.js} +1 -1
  76. package/dist/assets/{layout-D6cTuIkL.js → layout-C0MKkswN.js} +3 -3
  77. package/dist/assets/{links-DyPoFWQA.js → links-BN8FYTyp.js} +1 -1
  78. package/dist/assets/{logs-panel-Bbs9bNZs.js → logs-panel-BaGDTq_5.js} +1 -1
  79. package/dist/assets/{markdown-renderer-BNkLMIkn.js → markdown-renderer-CyLjgnQY.js} +1 -1
  80. package/dist/assets/{menu-items-CO4MfAgB.js → menu-items-CQMqwayA.js} +1 -1
  81. package/dist/assets/{mermaid-x93GPw1i.js → mermaid-yhDJCmk2.js} +1 -1
  82. package/dist/assets/{multi-icon-pwGWVz3d.css → multi-icon-CW3_9bja.css} +1 -1
  83. package/dist/assets/{multi-map-BRoHtMOY.js → multi-map-9ogswH46.js} +1 -1
  84. package/dist/assets/{name-cell-input-BLlsboll.js → name-cell-input-DBkW5PZU.js} +1 -1
  85. package/dist/assets/{numbers-B5K_E7OP.js → numbers-_ry1Nlla.js} +1 -1
  86. package/dist/assets/{outline-panel-w43V587L.css → outline-panel-DHPbKZNT.css} +1 -1
  87. package/dist/assets/{outline-panel-rkIr1QNz.js → outline-panel-xLeB4sTR.js} +1 -1
  88. package/dist/assets/{packages-panel-BDeQ6RMe.js → packages-panel-BbWGOWIZ.js} +1 -1
  89. package/dist/assets/{pair-with-agent-modal-LNomHeQ3.js → pair-with-agent-modal-Q9Od23Rh.js} +2 -2
  90. package/dist/assets/{panels-B4E3DsXP.css → panels-DDsRoC3H.css} +1 -1
  91. package/dist/assets/{panels-DklBul5F.js → panels-id0eyz64.js} +1 -1
  92. package/dist/assets/{popover-CjugjEGp.js → popover-DMNO6Poc.js} +1 -1
  93. package/dist/assets/process-output-BcuY_Us9.js +1 -0
  94. package/dist/assets/{radio-group-ro2znWCo.js → radio-group-XouISBp9.js} +1 -1
  95. package/dist/assets/{readonly-python-code-Rbx7Ee_u.js → readonly-python-code-BK3Xk2qY.js} +1 -1
  96. package/dist/assets/{renderShortcut-D7vPTxQw.js → renderShortcut-LpVarhnQ.js} +1 -1
  97. package/dist/assets/{reveal-component-CMD1_gk8.css → reveal-component-55QLSQaY.css} +1 -1
  98. package/dist/assets/{reveal-component-D--4ov10.js → reveal-component-Do91RUH9.js} +2 -2
  99. package/dist/assets/{run-page-HMHhlHXA.js → run-page-CYnMjVum.js} +1 -1
  100. package/dist/assets/{runs-C1XrKvr5.js → runs-Edg4TRSI.js} +1 -1
  101. package/dist/assets/{scratchpad-panel-1N03WMvF.js → scratchpad-panel-DH3KlUbZ.js} +1 -1
  102. package/dist/assets/{secrets-panel-BdUz6vG7.js → secrets-panel-CgahHnqr.js} +1 -1
  103. package/dist/assets/{select-D8ewebPZ.js → select-Cjly7tmx.js} +1 -1
  104. package/dist/assets/{session-NNbloO8g.js → session-CsT5Gg9j.js} +1 -1
  105. package/dist/assets/{session-panel-sp7p_i1J.js → session-panel-BJP2lKfE.js} +1 -1
  106. package/dist/assets/{share-C1RBdbis.js → share-DQjChRJG.js} +1 -1
  107. package/dist/assets/{snippets-panel-BWo8lxGn.js → snippets-panel-DKenTNmv.js} +1 -1
  108. package/dist/assets/{snippets-panel-fg1cdAzn.css → snippets-panel-Qc3aWbYx.css} +1 -1
  109. package/dist/assets/{spec-CegvVOyV.js → spec-CDgWI0fT.js} +1 -1
  110. package/dist/assets/{state-Des6nv42.js → state-Cy10NkuA.js} +1 -1
  111. package/dist/assets/{state-nw3MJ7Ul.js → state-DjrxAf9W.js} +1 -1
  112. package/dist/assets/{state-3LYweM3z.js → state-DwAS0kE4.js} +1 -1
  113. package/dist/assets/{state-C2QvlGMs.js → state-MC8-jN2e.js} +1 -1
  114. package/dist/assets/{strings-C0KZ4uek.js → strings-DvZlHYnD.js} +1 -1
  115. package/dist/assets/{swiper-component-CJYx1rIa.js → swiper-component-BwPCQTdo.js} +1 -1
  116. package/dist/assets/{swiper-component-a65-SW8d.css → swiper-component-UB_Zmrma.css} +1 -1
  117. package/dist/assets/{switch-CAAV-Q_3.js → switch-DvDNxcZP.js} +1 -1
  118. package/dist/assets/{table-D0oF_Cv_.js → table-CnW850Wt.js} +1 -1
  119. package/dist/assets/{terminal-Bd0wzkSP.js → terminal-BXH7Uaqi.js} +1 -1
  120. package/dist/assets/{textarea-BF6sxhXQ.js → textarea-BBpaAGpK.js} +1 -1
  121. package/dist/assets/{tooltip-DfvClvB6.js → tooltip-CgQpRVyN.js} +1 -1
  122. package/dist/assets/{tracing-Cgii-4al.js → tracing-Bz68-Fa1.js} +1 -1
  123. package/dist/assets/{tracing-panel-BXvvt77y.js → tracing-panel-BfgGYFNi.js} +2 -2
  124. package/dist/assets/{tree-actions-D0qu4tQX.js → tree-actions-C729o8TG.js} +1 -1
  125. package/dist/assets/{useBoolean-CEf-f6bo.js → useBoolean-BMzj74q1.js} +1 -1
  126. package/dist/assets/{useCellActionButton-CctL-6ce.js → useCellActionButton-VGB6-gGh.js} +1 -1
  127. package/dist/assets/{useDeleteCell-9SpULTHH.js → useDeleteCell-D_p8uMly.js} +1 -1
  128. package/dist/assets/{useDependencyPanelTab-DEoqXf8l.js → useDependencyPanelTab-v8fQPE_U.js} +1 -1
  129. package/dist/assets/{useEventListener-Wyg6Md5s.js → useEventListener-BakX-tnw.js} +1 -1
  130. package/dist/assets/{useHotkey-BK1MRrIi.js → useHotkey-CJo8iX8v.js} +1 -1
  131. package/dist/assets/{useIframeCapabilities-piGMPmIq.js → useIframeCapabilities-B0dNZiKK.js} +1 -1
  132. package/dist/assets/{useInstallPackage-D_8LtT7f.js → useInstallPackage-C1Dd0aIZ.js} +1 -1
  133. package/dist/assets/{useInterval-D6xsFpdR.js → useInterval-BvJQmQqd.js} +1 -1
  134. package/dist/assets/{useNotebookActions-WDk7rlWv.js → useNotebookActions-Hdu82BAI.js} +1 -1
  135. package/dist/assets/{useRunCells-CXNnlQUh.js → useRunCells-DXtOL4UR.js} +1 -1
  136. package/dist/assets/{useSplitCell-7Ob0s_PE.js → useSplitCell-CzaZEqwj.js} +1 -1
  137. package/dist/assets/{useTheme-D7YEMvxS.js → useTheme-D_ZbTTJw.js} +1 -1
  138. package/dist/assets/{utils-B-XvLACn.js → utils-DPvpQ891.js} +1 -1
  139. package/dist/assets/{utils-Dcn8htEz.js → utils-Dev6I_Kv.js} +1 -1
  140. package/dist/assets/{vega-component-Cc5BbafI.js → vega-component-Ch7x9hsC.js} +1 -1
  141. package/dist/assets/{write-secret-modal-DW9FRn4n.js → write-secret-modal-K2n79wHj.js} +1 -1
  142. package/dist/index.html +70 -70
  143. package/package.json +3 -3
  144. package/src/components/ai/display-helpers.tsx +5 -5
  145. package/src/components/app-config/ai-config.tsx +5 -5
  146. package/src/components/app-config/mcp-config.tsx +3 -3
  147. package/src/components/chat/acp/agent-panel.tsx +3 -3
  148. package/src/components/chat/acp/blocks.tsx +36 -38
  149. package/src/components/chat/acp/common.tsx +12 -16
  150. package/src/components/chat/acp/scroll-to-bottom-button.tsx +1 -1
  151. package/src/components/chat/acp/session-tabs.tsx +2 -2
  152. package/src/components/chat/chat-history-popover.tsx +1 -1
  153. package/src/components/data-table/columns.tsx +2 -2
  154. package/src/components/data-table/filter-pill-editor.tsx +1 -1
  155. package/src/components/dependency-graph/minimap-content.tsx +1 -1
  156. package/src/components/editor/RecoveryButton.tsx +1 -1
  157. package/src/components/editor/actions/pair-with-agent-modal.tsx +2 -2
  158. package/src/components/editor/ai/ai-completion-editor.tsx +1 -1
  159. package/src/components/editor/cell/CreateCellButton.tsx +1 -1
  160. package/src/components/editor/chrome/panels/empty-state.tsx +1 -1
  161. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +1 -1
  162. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +1 -1
  163. package/src/components/editor/columns/cell-column.tsx +1 -1
  164. package/src/components/editor/columns/sortable-column.tsx +2 -2
  165. package/src/components/editor/output/MarimoErrorOutput.tsx +1 -1
  166. package/src/components/editor/output/TextOutput.tsx +2 -2
  167. package/src/components/slides/minimap.tsx +2 -2
  168. package/src/components/slides/reveal-component.tsx +1 -1
  169. package/src/components/ui/alert.tsx +1 -1
  170. package/src/components/ui/command.tsx +2 -2
  171. package/src/components/ui/reorderable-list.tsx +1 -1
  172. package/src/components/ui/table.tsx +2 -5
  173. package/src/core/codemirror/language/languages/sql/renderers.tsx +60 -68
  174. package/src/core/hotkeys/hotkeys.ts +1 -0
  175. package/src/plugins/impl/MatrixPlugin.tsx +2 -2
  176. package/src/plugins/impl/TabsPlugin.tsx +1 -1
  177. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +1 -1
  178. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +155 -98
  179. package/src/plugins/impl/mpl-interactive/__tests__/MplInteractivePlugin.test.tsx +154 -1
  180. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -0
  181. package/dist/assets/alert-DqbbTJFm.js +0 -1
  182. package/dist/assets/cell-editor-nqEF4IhQ.css +0 -2
  183. package/dist/assets/empty-state-COZ7sMv4.js +0 -1
  184. package/dist/assets/glide-data-editor-BrZJn3-g.css +0 -1
  185. package/dist/assets/index-DYQYDO53.css +0 -2
  186. package/dist/assets/process-output-B1Leg7X7.js +0 -1
  187. /package/dist/assets/{Inputs-Ce5uKBe1.js → Inputs-CqgPhOqy.js} +0 -0
  188. /package/dist/assets/{multi-icon-DZE4vMSW.js → multi-icon-CTvmuLdL.js} +0 -0
@@ -45,7 +45,7 @@ export const SimpleAccordion: React.FC<SimpleAccordionProps> = ({
45
45
  case "error":
46
46
  return <XCircleIcon className="h-3 w-3 text-destructive" />;
47
47
  case "success":
48
- return <CheckCircleIcon className="h-3 w-3 text-[var(--blue-9)]" />;
48
+ return <CheckCircleIcon className="h-3 w-3 text-(--blue-9)" />;
49
49
  default:
50
50
  return defaultIcon;
51
51
  }
@@ -63,7 +63,7 @@ export const SimpleAccordion: React.FC<SimpleAccordionProps> = ({
63
63
  className={cn(
64
64
  "py-1 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180",
65
65
  status === "error" && "text-destructive/80",
66
- status === "success" && "text-[var(--blue-8)]",
66
+ status === "success" && "text-(--blue-8)",
67
67
  )}
68
68
  >
69
69
  <span className="flex items-center gap-1">
@@ -105,32 +105,28 @@ export const ConnectionStatus: React.FC<ConnectionStatusProps> = memo(
105
105
  icon: <WifiIcon className="h-3 w-3" />,
106
106
  label: "Connected",
107
107
  variant: "default" as const,
108
- className:
109
- "bg-[var(--blue-3)] text-[var(--blue-11)] border-[var(--blue-5)]",
108
+ className: "bg-(--blue-3) text-(--blue-11) border-(--blue-5)",
110
109
  };
111
110
  case "connecting":
112
111
  return {
113
112
  icon: <PlugIcon className="h-3 w-3 animate-pulse" />,
114
113
  label: "Connecting",
115
114
  variant: "secondary" as const,
116
- className:
117
- "bg-[var(--yellow-3)] text-[var(--yellow-11)] border-[var(--yellow-5)]",
115
+ className: "bg-(--yellow-3) text-(--yellow-11) border-(--yellow-5)",
118
116
  };
119
117
  case "disconnected":
120
118
  return {
121
119
  icon: <WifiOffIcon className="h-3 w-3" />,
122
120
  label: "Disconnected",
123
121
  variant: "outline" as const,
124
- className:
125
- "bg-[var(--red-3)] text-[var(--red-11)] border-[var(--red-5)]",
122
+ className: "bg-(--red-3) text-(--red-11) border-(--red-5)",
126
123
  };
127
124
  default:
128
125
  return {
129
126
  icon: <WifiOffIcon className="h-3 w-3" />,
130
127
  label: status || "Unknown",
131
128
  variant: "outline" as const,
132
- className:
133
- "bg-[var(--gray-3)] text-[var(--gray-11)] border-[var(--gray-5)]",
129
+ className: "bg-(--gray-3) text-(--gray-11) border-(--gray-5)",
134
130
  };
135
131
  }
136
132
  };
@@ -158,14 +154,14 @@ interface PermissionRequestProps {
158
154
  export const PermissionRequest: React.FC<PermissionRequestProps> = memo(
159
155
  ({ permission, onResolve }) => {
160
156
  return (
161
- <div className="border border-[var(--amber-8)] bg-[var(--amber-2)] rounded-lg p-2">
157
+ <div className="border border-(--amber-8) bg-(--amber-2) rounded-lg p-2">
162
158
  <div className="flex items-center gap-2 mb-3">
163
- <ShieldCheckIcon className="h-4 w-4 text-[var(--amber-11)]" />
164
- <h3 className="text-sm font-medium text-[var(--amber-11)]">
159
+ <ShieldCheckIcon className="h-4 w-4 text-(--amber-11)" />
160
+ <h3 className="text-sm font-medium text-(--amber-11)">
165
161
  Permission Request
166
162
  </h3>
167
163
  </div>
168
- <p className="text-sm text-[var(--amber-11)] mb-3">
164
+ <p className="text-sm text-(--amber-11) mb-3">
169
165
  The AI agent is requesting permission to proceed:
170
166
  </p>
171
167
  <ToolBodyBlock data={permission.toolCall} />
@@ -177,8 +173,8 @@ export const PermissionRequest: React.FC<PermissionRequestProps> = memo(
177
173
  variant="text"
178
174
  className={
179
175
  option.kind.startsWith("allow")
180
- ? "text-[var(--blue-10)]"
181
- : "text-[var(--red-10)]"
176
+ ? "text-(--blue-10)"
177
+ : "text-(--red-10)"
182
178
  }
183
179
  onClick={() =>
184
180
  onResolve({
@@ -35,7 +35,7 @@ const ScrollToBottomButton = memo<ScrollToBottomButtonProps>(
35
35
  "shadow-md shadow-black/10",
36
36
  "hover:bg-background hover:shadow-black/15",
37
37
  "transition-all duration-200",
38
- "focus:outline-none focus:ring-2 focus:ring-primary/50",
38
+ "focus:outline-hidden focus:ring-2 focus:ring-primary/50",
39
39
  )}
40
40
  >
41
41
  <ArrowDownIcon className="h-4 w-4" />
@@ -45,7 +45,7 @@ const SessionTab: React.FC<SessionTabProps> = memo(
45
45
  <Button
46
46
  variant="ghost"
47
47
  size="sm"
48
- className="h-4 w-4 p-0 hover:bg-destructive/20 hover:text-destructive flex-shrink-0"
48
+ className="h-4 w-4 p-0 hover:bg-destructive/20 hover:text-destructive shrink-0"
49
49
  onClick={(e) => {
50
50
  e.stopPropagation();
51
51
  onClose(session.tabId);
@@ -131,7 +131,7 @@ export const SessionTabs: React.FC<SessionTabsProps> = memo(({ className }) => {
131
131
  onSelectSession={handleSelectSession}
132
132
  onCloseSession={handleCloseSession}
133
133
  />
134
- <AgentSelector className="h-6 flex-shrink-0" />
134
+ <AgentSelector className="h-6 shrink-0" />
135
135
  </div>
136
136
  );
137
137
  });
@@ -107,7 +107,7 @@ export const ChatHistoryPopover: React.FC<ChatHistoryPopoverProps> = ({
107
107
  <div className="flex-1 min-w-0">
108
108
  <div className="text-sm truncate">{chat.title}</div>
109
109
  </div>
110
- <div className="text-xs text-muted-foreground/60 ml-2 flex-shrink-0">
110
+ <div className="text-xs text-muted-foreground/60 ml-2 shrink-0">
111
111
  {timeAgo(chat.updatedAt, locale)}
112
112
  </div>
113
113
  </button>
@@ -503,7 +503,7 @@ function getCellStyleClass({
503
503
  isNumeric && "tabular-nums",
504
504
  justify === "center" && "text-center",
505
505
  justify === "right" && "text-right",
506
- wrapped && `${COLUMN_WRAPPING_STYLES} break-words`,
506
+ wrapped && `${COLUMN_WRAPPING_STYLES} wrap-break-word`,
507
507
  );
508
508
  }
509
509
 
@@ -651,7 +651,7 @@ export function renderCellValue<TData, TValue>({
651
651
  selectCell={selectCell}
652
652
  rawStringValue={stringValue}
653
653
  edges={{ leading, trailing }}
654
- contentClassName="max-h-64 overflow-auto whitespace-pre-wrap break-words text-sm w-96"
654
+ contentClassName="max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word text-sm w-96"
655
655
  buttonText="X"
656
656
  wrapped={isWrapped}
657
657
  >
@@ -435,7 +435,7 @@ const ValueSlot = <TData, TValue>({
435
435
  const v =
436
436
  value.kind === "multi-values" ? value : { kind: "multi-values" as const };
437
437
  return (
438
- <div className="min-w-[14rem] w-fit max-w-[24rem]">
438
+ <div className="min-w-56 w-fit max-w-[24rem]">
439
439
  <FilterByValuesPicker
440
440
  column={column}
441
441
  calculateTopKRows={calculateTopKRows}
@@ -107,7 +107,7 @@ const MinimapCell: React.FC<MinimapCellProps> = (props) => {
107
107
  <svg
108
108
  className={cn(
109
109
  "absolute overflow-visible top-[10.5px] left-[calc(var(--spacing-extra-small,8px)+31px)] pointer-events-none",
110
- isSelected ? "z-[1]" : "z-0",
110
+ isSelected ? "z-1" : "z-0",
111
111
  getTextColor({ cell, selectedCell }),
112
112
  )}
113
113
  width="1"
@@ -76,7 +76,7 @@ const RecoveryModal = (props: {
76
76
  Download unsaved changes?
77
77
  </DialogTitle>
78
78
  <DialogDescription
79
- className="markdown break-words"
79
+ className="markdown wrap-break-word"
80
80
  style={{ wordBreak: "break-word" }}
81
81
  >
82
82
  <div className="prose dark:prose-invert">
@@ -234,7 +234,7 @@ const CommandBlock: React.FC<{
234
234
  if (multiline) {
235
235
  return (
236
236
  <div className="relative rounded-md bg-muted">
237
- <pre className="max-h-64 overflow-auto whitespace-pre-wrap break-words px-3 py-2 pr-10 font-mono text-xs select-all">
237
+ <pre className="max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word px-3 py-2 pr-10 font-mono text-xs select-all">
238
238
  {display ?? command}
239
239
  </pre>
240
240
  <Tooltip content="Copied!" open={copied}>
@@ -257,7 +257,7 @@ const CommandBlock: React.FC<{
257
257
 
258
258
  return (
259
259
  <div className="flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs">
260
- <code className="flex-1 select-all break-words">
260
+ <code className="flex-1 select-all wrap-break-word">
261
261
  {display ?? command}
262
262
  </code>
263
263
  <Tooltip content="Copied!" open={copied}>
@@ -222,7 +222,7 @@ export const AiCompletionEditor: React.FC<Props> = ({
222
222
  showInputPrompt={showInputPrompt}
223
223
  setShowInputPrompt={setShowInputPrompt}
224
224
  runCell={runCell}
225
- className="mt-4 mb-3 w-128"
225
+ className="mt-4 mb-3 w-lg"
226
226
  />
227
227
  </div>
228
228
  );
@@ -142,7 +142,7 @@ export const CreateCellButton = ({
142
142
  <DropdownMenuTrigger asChild={true}>
143
143
  <Button
144
144
  className={cn(
145
- "border-none hover-action shadow-none! bg-transparent! focus-visible:outline-none",
145
+ "border-none hover-action shadow-none! bg-transparent! focus-visible:outline-hidden",
146
146
  isAppInteractionDisabled(connectionState) && " inactive-button",
147
147
  )}
148
148
  onPointerDownCapture={handlePointerDownCapture}
@@ -20,7 +20,7 @@ export const PanelEmptyState = ({
20
20
  {icon &&
21
21
  // oxlint-disable-next-line react/no-clone-element
22
22
  React.cloneElement(icon, {
23
- className: "text-accent-foreground flex-shrink-0",
23
+ className: "text-accent-foreground shrink-0",
24
24
  })}
25
25
  <span className="mt-1 text-accent-foreground">{title}</span>
26
26
  </div>
@@ -38,7 +38,7 @@ export const FloatingOutline: React.FC = () => {
38
38
  <OutlineList
39
39
  className={cn(
40
40
  "-top-4 max-h-[70vh] bg-background rounded-lg shadow-lg absolute overflow-auto transition-all duration-300 w-[300px] border",
41
- isHovered ? "-left-[280px] opacity-100" : "left-[300px] opacity-0",
41
+ isHovered ? "left-[-280px] opacity-100" : "left-[300px] opacity-0",
42
42
  )}
43
43
  items={items}
44
44
  activeHeaderId={activeHeaderId}
@@ -74,7 +74,7 @@ export const PendingAICells: React.FC = () => {
74
74
  <Button variant="ghost" size="icon" onClick={() => clickNext("up")}>
75
75
  <ChevronUp className="h-3.5 w-3.5" />
76
76
  </Button>
77
- <span className="text-xs font-mono min-w-[3.5rem] text-center">
77
+ <span className="text-xs font-mono min-w-14 text-center">
78
78
  {currentIndex === null
79
79
  ? `${listStagedCells.length} pending`
80
80
  : `${currentIndex + 1} / ${listStagedCells.length}`}
@@ -81,7 +81,7 @@ const ResizableComponent = ({
81
81
  <div
82
82
  ref={ref}
83
83
  className={`w-[3px] cursor-col-resize transition-colors duration-200 z-100
84
- relative before:content-[''] before:absolute before:inset-y-0 before:-left-[3px]
84
+ relative before:content-[''] before:absolute before:inset-y-0 before:left-[-3px]
85
85
  before:right-[-3px] before:w-[9px] before:z-[-1]
86
86
  hover/column:bg-[var(--slate-3)] dark:hover/column:bg-[var(--slate-5)]
87
87
  hover/column:hover:bg-primary/60 dark:hover/column:hover:bg-primary/60`}
@@ -78,7 +78,7 @@ const SortableColumnInternal = React.forwardRef(
78
78
  };
79
79
 
80
80
  const dragHandle = (
81
- <div className="px-2 pb-0 group flex items-center overflow-hidden border-b border-[var(--slate-7)]">
81
+ <div className="px-2 pb-0 group flex items-center overflow-hidden border-b border-(--slate-7)">
82
82
  <Tooltip content="Move column left" side="top" delayDuration={300}>
83
83
  <Button
84
84
  variant="text"
@@ -161,7 +161,7 @@ const SortableColumnInternal = React.forwardRef(
161
161
  isOver && "bg-accent/20", // Add a background color when dragging over
162
162
  )}
163
163
  >
164
- <div className="border border-[var(--slate-7)]">
164
+ <div className="border border-(--slate-7)">
165
165
  {dragHandle}
166
166
  {props.children}
167
167
  </div>
@@ -722,7 +722,7 @@ export const MarimoErrorOutput = ({
722
722
  <Alert
723
723
  variant={alertVariant}
724
724
  className={cn(
725
- "border-none font-code text-sm text-[0.84375rem] p-0 text-muted-foreground normal [&:has(svg)]:pl-0 space-y-2",
725
+ "border-none font-code text-sm text-[0.84375rem] p-0 text-muted-foreground normal has-[svg]:pl-0 space-y-2",
726
726
  className,
727
727
  )}
728
728
  >
@@ -18,7 +18,7 @@ export const TextOutput = ({ text, channel, wrapText }: Props): JSX.Element => {
18
18
  return (
19
19
  <span
20
20
  className={
21
- wrapText ? "whitespace-pre-wrap break-words" : "whitespace-pre"
21
+ wrapText ? "whitespace-pre-wrap wrap-break-word" : "whitespace-pre"
22
22
  }
23
23
  >
24
24
  <RenderTextWithLinks text={text} />
@@ -30,7 +30,7 @@ export const TextOutput = ({ text, channel, wrapText }: Props): JSX.Element => {
30
30
  <span
31
31
  className={cn(
32
32
  !shouldRenderAnsi &&
33
- (wrapText ? "whitespace-pre-wrap break-words" : "whitespace-pre"),
33
+ (wrapText ? "whitespace-pre-wrap wrap-break-word" : "whitespace-pre"),
34
34
  channel === "output" && "font-prose",
35
35
  channel,
36
36
  )}
@@ -514,7 +514,7 @@ const SlideThumbnailRow = ({
514
514
  tabIndex={0}
515
515
  data-cell-id={cell.id}
516
516
  className={cn(
517
- "relative shrink-0 appearance-none text-left p-0 bg-transparent outline-none",
517
+ "relative shrink-0 appearance-none text-left p-0 bg-transparent outline-hidden",
518
518
  className,
519
519
  )}
520
520
  style={rowStyle}
@@ -591,7 +591,7 @@ const InsertCellLine = ({
591
591
  data-testid="minimap-insert-cell"
592
592
  className={cn(
593
593
  "absolute left-0 right-0 z-30 flex h-3 items-center justify-center",
594
- "opacity-0 transition-opacity hover:opacity-80 focus-visible:opacity-100 focus:outline-none",
594
+ "opacity-0 transition-opacity hover:opacity-80 focus-visible:opacity-100 focus:outline-hidden",
595
595
  position === "below"
596
596
  ? "bottom-0 translate-y-1/2"
597
597
  : "top-0 -translate-y-1/2",
@@ -684,7 +684,7 @@ const RevealSlidesComponent = ({
684
684
  <div className="group relative" style={{ width, height }}>
685
685
  <Deck
686
686
  deckRef={deckRef}
687
- className="aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-none focus-visible:outline-none"
687
+ className="aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden"
688
688
  config={revealConfig}
689
689
  onReady={handleDeckReady}
690
690
  onSlideChange={handleSlideChange}
@@ -6,7 +6,7 @@ import * as React from "react";
6
6
  import { cn } from "@/utils/cn";
7
7
 
8
8
  const alertVariants = cva(
9
- "relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11",
9
+ "relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] has-[svg]:pl-11",
10
10
  {
11
11
  variants: {
12
12
  variant: {
@@ -44,7 +44,7 @@ const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
44
44
  className="overflow-hidden p-0 shadow-2xl"
45
45
  usePortal={true}
46
46
  >
47
- <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
47
+ <Command className="**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 **:[[cmdk-input]]:h-12 **:[[cmdk-item]]:px-2 **:[[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
48
48
  {children}
49
49
  </Command>
50
50
  </DialogContent>
@@ -113,7 +113,7 @@ const CommandGroup = React.forwardRef<
113
113
  <CommandPrimitive.Group
114
114
  ref={ref}
115
115
  className={cn(
116
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
116
+ "overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
117
117
  className,
118
118
  )}
119
119
  {...props}
@@ -300,7 +300,7 @@ export const ReorderableList = <T extends object>({
300
300
  <ListBoxItem
301
301
  key={getKey(item)}
302
302
  id={getKey(item)}
303
- className="active:cursor-grabbing data-[dragging]:opacity-60 outline-none"
303
+ className="active:cursor-grabbing data-dragging:opacity-60 outline-hidden"
304
304
  onHoverStart={
305
305
  onItemPreloadHint ? () => onItemPreloadHint(item) : undefined
306
306
  }
@@ -75,7 +75,7 @@ const TableHead = React.forwardRef<
75
75
  <th
76
76
  ref={ref}
77
77
  className={cn(
78
- "h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
78
+ "h-10 px-2 text-left align-middle font-medium text-muted-foreground has-[[role=checkbox]]:pr-0",
79
79
  className,
80
80
  )}
81
81
  {...props}
@@ -89,10 +89,7 @@ const TableCell = React.forwardRef<
89
89
  >(({ className, ...props }, ref) => (
90
90
  <td
91
91
  ref={ref}
92
- className={cn(
93
- "p-1.5 align-middle [&:has([role=checkbox])]:pr-0",
94
- className,
95
- )}
92
+ className={cn("p-1.5 align-middle has-[[role=checkbox]]:pr-0", className)}
96
93
  {...props}
97
94
  />
98
95
  ));