@mcp-b/react-components 0.17.0 → 0.19.0

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 (294) hide show
  1. package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
  2. package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
  3. package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
  4. package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bb-IPBc_.js} +9 -6
  5. package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
  6. package/dist/{FileTree-B7bBsUyU.js → FileTree-CUlXfnmc.js} +42 -16
  7. package/dist/{Message-C4eYRogZ.js → Message-rZEaaD8Q.js} +13 -20
  8. package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-4GsCWcZV.js} +15 -22
  9. package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
  10. package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
  11. package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
  12. package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
  13. package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
  14. package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
  15. package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
  16. package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
  17. package/dist/Workspace-Jez8ffUj.d.ts +274 -0
  18. package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
  19. package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
  20. package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-CEdArlOT.js} +120 -127
  21. package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
  22. package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
  23. package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
  24. package/dist/components/Accordion.js +7 -2
  25. package/dist/components/Activity.js +2 -2
  26. package/dist/components/AgentActivity.d.ts +1 -1
  27. package/dist/components/AgentActivity.js +4 -5
  28. package/dist/components/AgentActivityPreview.d.ts +9 -9
  29. package/dist/components/AgentActivityPreview.js +8 -12
  30. package/dist/components/AgentAttention.d.ts +1 -1
  31. package/dist/components/AgentAttention.js +1 -1
  32. package/dist/components/AgentChat.d.ts +1 -1
  33. package/dist/components/AgentChat.js +94 -62
  34. package/dist/components/AgentChatMessageEditor.js +2 -2
  35. package/dist/components/AgentChatTurnError.js +2 -2
  36. package/dist/components/AgentConnection.js +3 -3
  37. package/dist/components/AgentMessageParts.js +1 -1
  38. package/dist/components/AgentToolDetail.d.ts +6 -4
  39. package/dist/components/AgentToolDetail.js +12 -10
  40. package/dist/components/AlertDialog.js +1 -1
  41. package/dist/components/AppTopBar.d.ts +24 -7
  42. package/dist/components/AppTopBar.js +32 -8
  43. package/dist/components/Approval.js +4 -4
  44. package/dist/components/Artifact.d.ts +1 -1
  45. package/dist/components/Artifact.js +6 -4
  46. package/dist/components/Autocomplete.js +1 -1
  47. package/dist/components/Avatar.d.ts +1 -1
  48. package/dist/components/Avatar.js +2 -2
  49. package/dist/components/Badge.js +3 -0
  50. package/dist/components/BrowserLiveView.js +27 -12
  51. package/dist/components/BrowserReplay.js +4 -3
  52. package/dist/components/BrowserRunPanel.js +5 -5
  53. package/dist/components/Button.d.ts +1 -1
  54. package/dist/components/Button.js +14 -11
  55. package/dist/components/Card.d.ts +7 -8
  56. package/dist/components/Card.js +19 -10
  57. package/dist/components/ChainOfThought.d.ts +1 -1
  58. package/dist/components/ChainOfThought.js +2 -2
  59. package/dist/components/ChatGptSignInScreen.js +8 -8
  60. package/dist/components/Checkbox.js +2 -2
  61. package/dist/components/CheckboxGroup.js +1 -1
  62. package/dist/components/Checkpoint.js +2 -2
  63. package/dist/components/CodeBlock.d.ts +1 -1
  64. package/dist/components/CodeBlock.js +1 -1
  65. package/dist/components/CodexModelSelector.js +35 -15
  66. package/dist/components/Collapsible.js +2 -2
  67. package/dist/components/Combobox.js +1 -1
  68. package/dist/components/Commit.d.ts +1 -1
  69. package/dist/components/Commit.js +3 -3
  70. package/dist/components/Context.js +1 -1
  71. package/dist/components/ContextMenu.js +2 -2
  72. package/dist/components/Conversation.d.ts +1 -1
  73. package/dist/components/Conversation.js +5 -4
  74. package/dist/components/DescriptionListParts.js +1 -1
  75. package/dist/components/Dialog.js +1 -1
  76. package/dist/components/EnvironmentVariables.d.ts +1 -1
  77. package/dist/components/EnvironmentVariables.js +3 -3
  78. package/dist/components/Field.js +5 -2
  79. package/dist/components/Fieldset.js +1 -1
  80. package/dist/components/FileTree.d.ts +6 -0
  81. package/dist/components/FileTree.js +1 -1
  82. package/dist/components/Form.js +1 -1
  83. package/dist/components/GithubMotionMark.js +1 -1
  84. package/dist/components/IconButton.d.ts +2 -3
  85. package/dist/components/IconButton.js +2 -1
  86. package/dist/components/InlineCitation.js +1 -1
  87. package/dist/components/Input.js +1 -1
  88. package/dist/components/Marker.js +1 -1
  89. package/dist/components/McpConnectionRequest.js +2 -2
  90. package/dist/components/McpServerPicker.js +2 -2
  91. package/dist/components/MediaPreviewCard.d.ts +103 -0
  92. package/dist/components/MediaPreviewCard.js +193 -0
  93. package/dist/components/Menu.js +1 -1
  94. package/dist/components/Menubar.js +2 -2
  95. package/dist/components/Message.d.ts +4 -1
  96. package/dist/components/Message.js +1 -1
  97. package/dist/components/MessageScroller.d.ts +1 -1
  98. package/dist/components/MessageScroller.js +5 -4
  99. package/dist/components/Meter.js +1 -1
  100. package/dist/components/ModelSelector.d.ts +4 -3
  101. package/dist/components/ModelSelector.js +1 -1
  102. package/dist/components/NavigationMenu.js +1 -1
  103. package/dist/components/NumberField.js +1 -1
  104. package/dist/components/Plan.js +2 -2
  105. package/dist/components/Popover.js +1 -1
  106. package/dist/components/PreviewCard.js +1 -1
  107. package/dist/components/PricingBillingToggle.js +1 -1
  108. package/dist/components/PricingFAQ.js +1 -1
  109. package/dist/components/PricingPage.js +2 -1
  110. package/dist/components/PricingPlanCard.js +4 -3
  111. package/dist/components/PricingUsageCalculator.js +2 -2
  112. package/dist/components/Progress.js +1 -1
  113. package/dist/components/PromptInput.d.ts +1 -1
  114. package/dist/components/PromptInput.js +31 -18
  115. package/dist/components/Queue.d.ts +1 -1
  116. package/dist/components/Queue.js +2 -3
  117. package/dist/components/RadioGroup.js +1 -1
  118. package/dist/components/Reasoning.js +3 -6
  119. package/dist/components/ResizableSidePanel.js +1 -1
  120. package/dist/components/ResponsiveSidebarShell.js +16 -10
  121. package/dist/components/ScrollArea.js +2 -1
  122. package/dist/components/SearchField.d.ts +43 -0
  123. package/dist/components/SearchField.js +52 -0
  124. package/dist/components/Select.d.ts +1 -1
  125. package/dist/components/Select.js +5 -6
  126. package/dist/components/Separator.js +1 -1
  127. package/dist/components/Slider.js +1 -1
  128. package/dist/components/Sources.js +2 -2
  129. package/dist/components/Stepper.js +16 -9
  130. package/dist/components/SubagentRunDetails.js +1 -1
  131. package/dist/components/SubagentRunIndicator.js +2 -2
  132. package/dist/components/SubagentRunList.d.ts +3 -5
  133. package/dist/components/SubagentRunList.js +3 -4
  134. package/dist/components/SubagentRunSelector.d.ts +8 -12
  135. package/dist/components/SubagentRunSelector.js +17 -20
  136. package/dist/components/Switch.d.ts +2 -2
  137. package/dist/components/Switch.js +4 -5
  138. package/dist/components/Tabs.d.ts +2 -2
  139. package/dist/components/Tabs.js +12 -3
  140. package/dist/components/Task.js +2 -2
  141. package/dist/components/Terminal.d.ts +2 -2
  142. package/dist/components/Terminal.js +5 -4
  143. package/dist/components/TestResults.js +10 -6
  144. package/dist/components/Textarea.js +1 -1
  145. package/dist/components/ThemeModeControl.js +1 -1
  146. package/dist/components/ThinkChat.d.ts +33 -20
  147. package/dist/components/ThinkChat.js +4 -4
  148. package/dist/components/ThinkChatActivity.d.ts +2 -2
  149. package/dist/components/ThinkChatActivity.js +8 -10
  150. package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
  151. package/dist/components/ThinkChatActivitySummary.js +7 -3
  152. package/dist/components/ThinkChatToolPanels.js +26 -16
  153. package/dist/components/ThinkExecutionDetail.js +2 -2
  154. package/dist/components/ThinkExecutionStatus.js +2 -2
  155. package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
  156. package/dist/components/ThinkExecutionWorkbench.js +70 -134
  157. package/dist/components/ThinkFullApp.d.ts +36 -35
  158. package/dist/components/ThinkFullApp.js +156 -109
  159. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  160. package/dist/components/ThinkFullAppViewSwitch.js +1 -1
  161. package/dist/components/ThinkRecoveryNotice.js +18 -12
  162. package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
  163. package/dist/components/ThinkRoutineBrowser.js +33 -40
  164. package/dist/components/ThinkRoutineDetail.d.ts +5 -2
  165. package/dist/components/ThinkRoutineDetail.js +4 -4
  166. package/dist/components/ThinkRoutineForm.d.ts +3 -2
  167. package/dist/components/ThinkRoutineForm.js +11 -10
  168. package/dist/components/ThinkRoutineLibrary.d.ts +24 -31
  169. package/dist/components/ThinkRoutineLibrary.js +57 -80
  170. package/dist/components/ThinkRoutineRuns.d.ts +3 -2
  171. package/dist/components/ThinkRoutineRuns.js +31 -24
  172. package/dist/components/ThinkThreadPicker.d.ts +17 -11
  173. package/dist/components/ThinkThreadPicker.js +163 -39
  174. package/dist/components/Toast.js +1 -1
  175. package/dist/components/Toggle.d.ts +1 -1
  176. package/dist/components/Toggle.js +9 -7
  177. package/dist/components/ToggleGroup.d.ts +1 -1
  178. package/dist/components/ToggleGroup.js +15 -13
  179. package/dist/components/ToolInvocation.js +1 -1
  180. package/dist/components/Toolbar.js +1 -1
  181. package/dist/components/Tooltip.d.ts +8 -1
  182. package/dist/components/Tooltip.js +11 -2
  183. package/dist/components/TransitionSurface.d.ts +27 -0
  184. package/dist/components/TransitionSurface.js +20 -0
  185. package/dist/components/WebPreview.d.ts +5 -5
  186. package/dist/components/WebPreview.js +68 -54
  187. package/dist/components/Workspace.d.ts +2 -2
  188. package/dist/components/Workspace.js +358 -328
  189. package/dist/components/WorkspaceBrowser.d.ts +4 -7
  190. package/dist/components/WorkspaceBrowser.js +15 -25
  191. package/dist/components/WorkspaceExplorer.d.ts +5 -5
  192. package/dist/components/WorkspaceExplorer.js +19 -32
  193. package/dist/components/WorkspaceFile.d.ts +1 -1
  194. package/dist/components/WorkspaceFileView.d.ts +14 -2
  195. package/dist/components/WorkspaceFileView.js +1 -1
  196. package/dist/components/WorkspaceHeader.d.ts +0 -8
  197. package/dist/components/WorkspaceHeader.js +3 -15
  198. package/dist/components/WorkspaceLink.d.ts +1 -1
  199. package/dist/components/WorkspaceLink.js +1 -1
  200. package/dist/components/icons.d.ts +2 -2
  201. package/dist/components/icons.js +2 -2
  202. package/dist/{copy-button-cYsJBauI.js → copy-button-BtRwhRks.js} +3 -2
  203. package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
  204. package/dist/{icons--FqCZEc3.js → icons-DKXiSepE.js} +7 -3
  205. package/dist/{icons-DpUqY8Mp.d.ts → icons-DkRtZmvT.d.ts} +22 -2
  206. package/dist/navigation-link-Cob7KBlM.js +19 -0
  207. package/dist/styles/accordion.css +4 -19
  208. package/dist/styles/activity.css +48 -56
  209. package/dist/styles/agent-activity-preview.css +2 -0
  210. package/dist/styles/agent-chat.css +14 -22
  211. package/dist/styles/alert-dialog.css +16 -18
  212. package/dist/styles/app-top-bar.css +17 -9
  213. package/dist/styles/approval.css +11 -6
  214. package/dist/styles/artifact.css +6 -6
  215. package/dist/styles/autocomplete.css +2 -1
  216. package/dist/styles/avatar.css +35 -30
  217. package/dist/styles/badge.css +10 -10
  218. package/dist/styles/base-ui-motion.css +94 -39
  219. package/dist/styles/browser-control-overlay.css +0 -1
  220. package/dist/styles/browser-live-view.css +39 -22
  221. package/dist/styles/browser-replay.css +1 -1
  222. package/dist/styles/browser-run-panel.css +8 -4
  223. package/dist/styles/button.css +36 -33
  224. package/dist/styles/card.css +5 -6
  225. package/dist/styles/chain-of-thought.css +22 -16
  226. package/dist/styles/checkbox.css +18 -5
  227. package/dist/styles/codex-model-selector.css +46 -8
  228. package/dist/styles/collapsible.css +10 -10
  229. package/dist/styles/combobox.css +3 -2
  230. package/dist/styles/commit.css +19 -18
  231. package/dist/styles/composition-motion.css +83 -0
  232. package/dist/styles/context-menu.css +3 -3
  233. package/dist/styles/context.css +11 -10
  234. package/dist/styles/conversation.css +18 -23
  235. package/dist/styles/dialog.css +15 -15
  236. package/dist/styles/field.css +32 -12
  237. package/dist/styles/file-tree.css +69 -9
  238. package/dist/styles/form.css +1 -1
  239. package/dist/styles/index.css +5 -0
  240. package/dist/styles/input.css +2 -2
  241. package/dist/styles/marker.css +14 -13
  242. package/dist/styles/mcp-server-picker.css +20 -17
  243. package/dist/styles/media-preview-card.css +160 -0
  244. package/dist/styles/menu.css +11 -11
  245. package/dist/styles/menubar.css +12 -11
  246. package/dist/styles/message.css +27 -21
  247. package/dist/styles/meter.css +2 -2
  248. package/dist/styles/model-selector.css +16 -14
  249. package/dist/styles/motion-reduction.css +29 -0
  250. package/dist/styles/navigation-menu.css +14 -30
  251. package/dist/styles/number-field.css +22 -4
  252. package/dist/styles/plan.css +5 -0
  253. package/dist/styles/popover.css +15 -16
  254. package/dist/styles/preview-card.css +2 -32
  255. package/dist/styles/progress.css +8 -3
  256. package/dist/styles/prompt-input.css +87 -70
  257. package/dist/styles/queue.css +48 -32
  258. package/dist/styles/radio.css +19 -12
  259. package/dist/styles/reasoning.css +2 -1
  260. package/dist/styles/recipes.css +109 -37
  261. package/dist/styles/resizable-side-panel.css +4 -10
  262. package/dist/styles/responsive-sidebar-shell.css +16 -15
  263. package/dist/styles/scroll-area.css +32 -15
  264. package/dist/styles/search-field.css +21 -0
  265. package/dist/styles/select.css +19 -12
  266. package/dist/styles/slider.css +25 -29
  267. package/dist/styles/sources.css +3 -3
  268. package/dist/styles/stepper.css +36 -26
  269. package/dist/styles/subagent-run.css +1 -1
  270. package/dist/styles/switch.css +32 -29
  271. package/dist/styles/tabs.css +79 -23
  272. package/dist/styles/task.css +13 -9
  273. package/dist/styles/test-results.css +29 -23
  274. package/dist/styles/theme-mode-control.css +8 -0
  275. package/dist/styles/think-execution-workbench.css +18 -15
  276. package/dist/styles/think-full-app.css +45 -68
  277. package/dist/styles/think-routine-library.css +43 -24
  278. package/dist/styles/think-thread-picker.css +193 -51
  279. package/dist/styles/toast.css +48 -27
  280. package/dist/styles/toggle-group.css +2 -36
  281. package/dist/styles/toggle.css +29 -5
  282. package/dist/styles/toolbar.css +25 -27
  283. package/dist/styles/tooltip.css +2 -32
  284. package/dist/styles/transition-surface.css +55 -0
  285. package/dist/styles/workspace-explorer.css +99 -44
  286. package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
  287. package/dist/utils/codex-model-catalog.d.ts +2 -8
  288. package/dist/utils/codex-model-catalog.js +2 -16
  289. package/dist/utils/mcp-server-catalog.d.ts +139 -0
  290. package/dist/utils/mcp-server-catalog.js +98 -0
  291. package/dist/utils/structured-code.d.ts +1 -1
  292. package/package.json +13 -7
  293. package/dist/Workspace-C9RFoxcu.d.ts +0 -62
  294. package/dist/summarize-tool-input-BUJsENSn.js +0 -12
@@ -3,33 +3,33 @@
3
3
  .activity {
4
4
  display: flex;
5
5
  flex-direction: column;
6
- width: 100%;
7
- min-width: 0;
6
+ inline-size: 100%;
7
+ min-inline-size: 0;
8
8
  /* Hard cap, Codex-style, on the WHOLE unit — collapsed line and expanded
9
9
  log alike — so toggling never reflows the conversation width. Plain rem,
10
10
  not min(100%, …): percentages are ignored in intrinsic-size contributions,
11
11
  so the min() let wide nowrap rows inflate content-sized ancestors. */
12
- max-width: 36rem;
12
+ max-inline-size: 36rem;
13
13
  /* Live tool labels and panels must never contribute a wider intrinsic size
14
14
  when Activity is inserted into a narrow chat transcript. */
15
15
  contain: inline-size;
16
16
  /* Whitespace separates the work log from message prose around it */
17
- margin-block: 0.5rem;
17
+ margin-block: var(--sigvelo-spacing-2);
18
18
  font-family: inherit;
19
19
  color: var(--sigvelo-color-text);
20
20
  }
21
21
 
22
22
  .activity__trigger {
23
23
  display: flex;
24
- width: 100%;
25
- min-width: 0;
24
+ inline-size: 100%;
25
+ min-inline-size: 0;
26
26
  align-items: center;
27
27
  gap: var(--sigvelo-spacing-1-5);
28
28
  padding-block: var(--sigvelo-spacing-1-5);
29
29
  /* The fill bleeds past the text edge via the negative margin, so the label
30
30
  stays flush with the rows below instead of indenting on hover */
31
- padding-inline: 0.5rem;
32
- margin-inline: -0.5rem;
31
+ padding-inline: var(--sigvelo-spacing-2);
32
+ margin-inline: calc(var(--sigvelo-spacing-2) * -1);
33
33
  background-color: transparent;
34
34
  border: none;
35
35
  border-radius: var(--sigvelo-radius-sm);
@@ -42,8 +42,8 @@
42
42
  text-align: start;
43
43
  cursor: pointer;
44
44
  transition:
45
- color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
46
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
45
+ color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
46
+ background-color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
47
47
  }
48
48
 
49
49
  .activity__trigger:hover:not([data-disabled]) {
@@ -59,17 +59,17 @@
59
59
  .activity__trigger-icon {
60
60
  display: inline-flex;
61
61
  color: var(--sigvelo-color-text-muted);
62
- transition: transform var(--sigvelo-duration-medium) var(--sigvelo-ease-emphasized);
62
+ transition: rotate var(--sigvelo-motion-duration-disclosure) var(--sigvelo-motion-ease-enter);
63
63
  }
64
64
 
65
65
  .activity__trigger[data-panel-open] .activity__trigger-icon {
66
- transform: rotate(90deg);
66
+ rotate: 90deg;
67
67
  }
68
68
 
69
69
  .activity__content {
70
70
  /* The panel clips (overflow: hidden), so it must own the gutter the row
71
71
  hover fills bleed into — the list padding puts the text back in line */
72
- margin-inline: -0.5rem;
72
+ margin-inline: calc(var(--sigvelo-spacing-2) * -1);
73
73
  /* Standard easing, not emphasized: the expo-out curve front-loads ~60% of
74
74
  the motion into the first frames, which makes collapsing read as content
75
75
  snapping upward instead of folding. */
@@ -81,8 +81,8 @@
81
81
  gap: var(--sigvelo-spacing-1-5);
82
82
  /* Unbounded on purpose: the expanded log flows in the conversation scroll;
83
83
  only subsection panels (group text, shell output, code) are height-capped. */
84
- padding-block: var(--sigvelo-spacing-0-5) 0.5rem;
85
- padding-inline: 0.5rem;
84
+ padding-block: var(--sigvelo-spacing-0-5) var(--sigvelo-spacing-2);
85
+ padding-inline: var(--sigvelo-spacing-2);
86
86
  }
87
87
 
88
88
  .activity__item {
@@ -108,9 +108,9 @@
108
108
  /* Negative margins cancel the padding, so the hover fill gets breathing
109
109
  room while the row text stays aligned with its plain siblings */
110
110
  padding-block: var(--sigvelo-spacing-0-5);
111
- padding-inline: 0.5rem;
111
+ padding-inline: var(--sigvelo-spacing-2);
112
112
  margin-block: -var(--sigvelo-spacing-0-5);
113
- margin-inline: -0.5rem;
113
+ margin-inline: calc(var(--sigvelo-spacing-2) * -1);
114
114
  background: none;
115
115
  border: none;
116
116
  border-radius: var(--sigvelo-radius-sm);
@@ -121,7 +121,8 @@
121
121
  line-height: 1.6;
122
122
  text-align: start;
123
123
  cursor: pointer;
124
- transition: background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
124
+ transition: background-color var(--sigvelo-motion-duration-interaction)
125
+ var(--sigvelo-motion-ease-change);
125
126
  }
126
127
 
127
128
  .activity__group-trigger:hover:not([data-disabled]) {
@@ -135,8 +136,8 @@
135
136
  color: var(--sigvelo-color-text-muted);
136
137
  opacity: 0;
137
138
  transition:
138
- opacity var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
139
- transform var(--sigvelo-duration-medium) var(--sigvelo-ease-emphasized);
139
+ opacity var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
140
+ rotate var(--sigvelo-motion-duration-disclosure) var(--sigvelo-motion-ease-enter);
140
141
  }
141
142
 
142
143
  .activity__group-trigger:hover .activity__group-icon,
@@ -146,7 +147,7 @@
146
147
  }
147
148
 
148
149
  .activity__group-trigger[data-panel-open] .activity__group-icon {
149
- transform: rotate(90deg);
150
+ rotate: 90deg;
150
151
  }
151
152
 
152
153
  .activity__group-trigger:focus-visible {
@@ -156,7 +157,7 @@
156
157
  }
157
158
 
158
159
  .activity__group-panel-inner {
159
- padding-block: var(--sigvelo-spacing-1-5) 0.5rem;
160
+ padding-block: var(--sigvelo-spacing-1-5) var(--sigvelo-spacing-2);
160
161
  }
161
162
 
162
163
  /* Prose panels (thought traces): quiet text, bounded like everything else */
@@ -167,8 +168,6 @@
167
168
  color: var(--sigvelo-color-text-muted);
168
169
  white-space: pre-wrap;
169
170
  overflow-wrap: anywhere;
170
- max-height: 12rem;
171
- overflow-y: auto;
172
171
  }
173
172
 
174
173
  .activity__group-text:focus-visible,
@@ -176,7 +175,7 @@
176
175
  outline: none;
177
176
  box-shadow: var(--sigvelo-recipe-focus-shadow);
178
177
  border-radius: var(--sigvelo-radius-sm);
179
- scroll-margin-block: 1rem;
178
+ scroll-margin-block: var(--sigvelo-spacing-4);
180
179
  }
181
180
 
182
181
  /* Codex-style shell panel: a quiet fill, not a terminal component — no
@@ -184,8 +183,8 @@
184
183
  .activity__shell {
185
184
  display: flex;
186
185
  flex-direction: column;
187
- gap: 0.25rem;
188
- padding-block: 0.5rem;
186
+ gap: var(--sigvelo-spacing-1);
187
+ padding-block: var(--sigvelo-spacing-2);
189
188
  padding-inline: var(--sigvelo-spacing-3);
190
189
  background-color: var(--sigvelo-color-neutral-bg-subtle);
191
190
  border-radius: var(--sigvelo-radius-md);
@@ -205,9 +204,6 @@
205
204
  color: var(--sigvelo-color-text);
206
205
  white-space: pre-wrap;
207
206
  overflow-wrap: anywhere;
208
- /* Bounded so one long log can't swallow the activity list */
209
- max-height: 12rem;
210
- overflow-y: auto;
211
207
  }
212
208
 
213
209
  .activity__shell-status {
@@ -222,7 +218,7 @@
222
218
 
223
219
  .activity__call-audit {
224
220
  display: flex;
225
- min-width: 0;
221
+ min-inline-size: 0;
226
222
  flex-direction: column;
227
223
  gap: var(--sigvelo-spacing-1);
228
224
  }
@@ -235,7 +231,7 @@
235
231
 
236
232
  .activity__call-audit-list {
237
233
  display: flex;
238
- min-width: 0;
234
+ min-inline-size: 0;
239
235
  flex-direction: column;
240
236
  gap: var(--sigvelo-spacing-1);
241
237
  margin: 0;
@@ -244,7 +240,7 @@
244
240
  }
245
241
 
246
242
  .activity__call-audit-item {
247
- min-width: 0;
243
+ min-inline-size: 0;
248
244
  padding-inline-start: var(--sigvelo-spacing-0-5);
249
245
  color: var(--sigvelo-color-text);
250
246
  overflow-wrap: anywhere;
@@ -269,21 +265,9 @@
269
265
  text-decoration: line-through;
270
266
  }
271
267
 
272
- /* Browser panels: screenshots and live views sit inside the quiet fill */
273
- .activity__shell .browser-live-view {
274
- width: 100%;
275
- }
276
-
277
- /* browser_execute splits into small tabs: the web view and the code that
278
- drove it. Compact underline tabs — chrome stays quiet inside the shell. */
279
- .activity__browser-tabs .tabs__tab {
280
- padding-block: 0.25rem;
281
- padding-inline: var(--sigvelo-spacing-0-5);
282
- font-size: var(--sigvelo-text-xs);
283
- }
284
-
285
- .activity__browser-tabs .tabs__panel {
286
- padding-block: 0.5rem 0;
268
+ /* Keep nested browser content compact without restyling the Tabs primitive. */
269
+ .activity__browser-panel {
270
+ padding-block: var(--sigvelo-spacing-2) 0;
287
271
  }
288
272
 
289
273
  /* Blend nested code into the quiet shell fill — no panel-in-panel */
@@ -291,10 +275,12 @@
291
275
  background-color: transparent;
292
276
  }
293
277
 
294
- /* Bounded and wrapping, like every other panel body */
278
+ /* Bounded so one long detail cannot swallow the activity list. */
279
+ .activity__group-text,
280
+ .activity__shell-output,
295
281
  .activity__code-block {
296
- max-height: 12rem;
297
- overflow-y: auto;
282
+ max-block-size: 12rem;
283
+ overflow-block: auto;
298
284
  }
299
285
 
300
286
  .activity__code-block .code-block__content,
@@ -307,8 +293,8 @@
307
293
 
308
294
  .activity__browser-screenshot {
309
295
  display: block;
310
- width: 100%;
311
- max-height: 16rem;
296
+ inline-size: 100%;
297
+ max-block-size: 16rem;
312
298
  object-fit: contain;
313
299
  border-radius: var(--sigvelo-radius-md);
314
300
  background-color: var(--sigvelo-color-surface);
@@ -325,18 +311,24 @@
325
311
 
326
312
  .activity__favicon {
327
313
  display: block;
328
- width: 1rem;
329
- height: 1rem;
314
+ inline-size: var(--sigvelo-control-icon-size-md);
315
+ block-size: var(--sigvelo-control-icon-size-md);
330
316
  border-radius: var(--sigvelo-radius-xs);
331
317
  background-color: var(--sigvelo-color-surface);
332
318
  object-fit: contain;
333
319
  }
334
320
 
335
321
  .activity__item-text {
336
- min-width: 0;
322
+ min-inline-size: 0;
337
323
  overflow-wrap: anywhere;
338
324
  }
339
325
 
326
+ @media (hover: none) {
327
+ .activity__group-icon {
328
+ opacity: 1;
329
+ }
330
+ }
331
+
340
332
  /* Row labels always clamp to one line, Codex-style — the expanded panel
341
333
  carries the full `$ command`, the row stays a trimmed summary. */
342
334
  .activity__group-trigger .activity__item-text {
@@ -108,6 +108,7 @@
108
108
  color: inherit;
109
109
  background: transparent;
110
110
  font: inherit;
111
+ text-decoration: none;
111
112
  cursor: pointer;
112
113
  transition:
113
114
  background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
@@ -129,6 +130,7 @@
129
130
  border-radius: var(--sigvelo-radius-md);
130
131
  color: var(--sigvelo-color-text-muted);
131
132
  background: transparent;
133
+ text-decoration: none;
132
134
  cursor: pointer;
133
135
  transition:
134
136
  color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
@@ -1,47 +1,39 @@
1
1
  .agent-chat {
2
2
  --agent-chat-content-max-inline-size: 64rem;
3
+
3
4
  position: relative;
4
- width: 100%;
5
- height: 100%;
6
- min-width: 0;
7
- min-height: 0;
5
+ inline-size: 100%;
6
+ block-size: 100%;
7
+ min-inline-size: 0;
8
+ min-block-size: 0;
8
9
  background-color: var(--sigvelo-color-surface);
9
10
  color: var(--sigvelo-color-text);
10
11
  font-family: inherit;
11
12
  }
12
13
 
13
14
  .agent-chat__conversation {
14
- min-width: 0;
15
- height: 100%;
16
- min-height: 0;
15
+ min-inline-size: 0;
16
+ block-size: 100%;
17
+ min-block-size: 0;
17
18
  }
18
19
 
19
20
  /* Room for the last message to scroll clear of the floating composer.
20
21
  --agent-chat-composer-size is set from a ResizeObserver in AgentChat. */
21
22
  .agent-chat__transcript-content {
22
- gap: 0.875rem;
23
+ gap: var(--sigvelo-spacing-3);
23
24
  min-inline-size: 0;
24
25
  max-inline-size: 100%;
25
26
  inline-size: min(100%, var(--agent-chat-content-max-inline-size));
26
27
  margin-inline: auto;
27
- padding-block: 1rem calc(var(--agent-chat-composer-size, 5rem) + 0.5rem);
28
- padding-inline: 1rem;
28
+ padding-block: var(--sigvelo-spacing-4)
29
+ calc(var(--agent-chat-composer-size, 5rem) + var(--sigvelo-spacing-2));
30
+ padding-inline: var(--sigvelo-spacing-4);
29
31
  }
30
32
 
31
33
  .agent-chat[data-composer-hidden] .agent-chat__transcript-content {
32
34
  padding-block-end: var(--sigvelo-spacing-4);
33
35
  }
34
36
 
35
- .agent-chat__empty-row {
36
- display: flex;
37
- flex: 1;
38
- min-block-size: 0;
39
- }
40
-
41
- .agent-chat__empty-row > .conversation__empty {
42
- flex: 1;
43
- }
44
-
45
37
  .agent-chat__scroll-button {
46
38
  --message-scroller-button-inset-block-end: calc(
47
39
  var(--agent-chat-composer-size, 5rem) + var(--sigvelo-spacing-2)
@@ -79,7 +71,7 @@
79
71
  display: flex;
80
72
  align-items: center;
81
73
  gap: var(--sigvelo-spacing-1-5);
82
- margin-block-end: 0.5rem;
74
+ margin-block-end: var(--sigvelo-spacing-2);
83
75
  font-size: var(--sigvelo-text-xs);
84
76
  color: var(--sigvelo-color-text-muted);
85
77
  }
@@ -214,7 +206,7 @@
214
206
  .agent-chat__turn-error-actions {
215
207
  display: flex;
216
208
  flex-wrap: wrap;
217
- gap: 0.5rem;
209
+ gap: var(--sigvelo-spacing-2);
218
210
  margin-inline-start: auto;
219
211
  }
220
212
 
@@ -18,14 +18,7 @@
18
18
 
19
19
  .alert-dialog__backdrop {
20
20
  background-color: var(--sigvelo-color-backdrop);
21
- opacity: 1;
22
21
  z-index: 50;
23
- transition: opacity var(--sigvelo-duration-medium) var(--sigvelo-ease-standard);
24
- }
25
-
26
- .alert-dialog__backdrop[data-starting-style],
27
- .alert-dialog__backdrop[data-ending-style] {
28
- opacity: 0;
29
22
  }
30
23
 
31
24
  .alert-dialog__popup {
@@ -34,27 +27,32 @@
34
27
  position: fixed;
35
28
  inset-block-start: 50%;
36
29
  inset-inline-start: 50%;
37
- transform: translate(-50%, -50%);
30
+ translate: -50% -50%;
31
+ scale: 1;
38
32
  z-index: 50;
39
- inline-size: calc(100% - 2rem);
33
+ inline-size: calc(100% - var(--sigvelo-control-height-sm));
40
34
  max-inline-size: 28rem;
41
- max-block-size: calc(100dvb - 2rem);
42
- overflow: auto;
35
+ max-block-size: calc(100dvb - var(--sigvelo-control-height-sm));
36
+ overflow-block: auto;
43
37
  transition:
44
- opacity var(--sigvelo-duration-medium) var(--sigvelo-ease-standard),
45
- transform var(--sigvelo-duration-medium) var(--sigvelo-ease-emphasized);
38
+ opacity var(--sigvelo-motion-duration-presence) var(--sigvelo-motion-ease-change),
39
+ scale var(--sigvelo-motion-duration-presence) var(--sigvelo-motion-ease-enter);
46
40
  }
47
41
 
48
42
  .alert-dialog__popup[data-starting-style],
49
43
  .alert-dialog__popup[data-ending-style] {
50
44
  opacity: 0;
51
- transform: translate(-50%, -50%) scale(0.95);
45
+ scale: var(--sigvelo-motion-presence-scale);
46
+ }
47
+
48
+ :root[data-motion="reduce"] .alert-dialog__popup:is([data-starting-style], [data-ending-style]) {
49
+ scale: 1;
52
50
  }
53
51
 
54
52
  @media (prefers-reduced-motion: reduce) {
55
53
  .alert-dialog__popup[data-starting-style],
56
54
  .alert-dialog__popup[data-ending-style] {
57
- transform: translate(-50%, -50%);
55
+ scale: 1;
58
56
  }
59
57
  }
60
58
 
@@ -114,9 +112,9 @@
114
112
  border-radius: var(--sigvelo-radius-md);
115
113
  cursor: pointer;
116
114
  transition:
117
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
118
- color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
119
- opacity var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
115
+ background-color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
116
+ color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
117
+ opacity var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
120
118
  }
121
119
 
122
120
  .alert-dialog__action:focus-visible {
@@ -1,5 +1,7 @@
1
1
  .app-top-bar {
2
- --app-top-bar-block-size: calc(var(--sigvelo-control-height-xs) + var(--sigvelo-spacing-2));
2
+ --app-top-bar-block-size: calc(
3
+ var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2)
4
+ );
3
5
 
4
6
  box-sizing: border-box;
5
7
  inline-size: 100%;
@@ -8,7 +10,7 @@
8
10
  display: grid;
9
11
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
10
12
  align-items: center;
11
- gap: var(--sigvelo-spacing-2);
13
+ gap: var(--sigvelo-density-compact-control-gap);
12
14
  padding-block: calc(var(--sigvelo-spacing-1) + env(safe-area-inset-top, 0px))
13
15
  var(--sigvelo-spacing-1);
14
16
  padding-inline: calc(var(--sigvelo-spacing-2) + env(safe-area-inset-left, 0px))
@@ -38,7 +40,7 @@
38
40
  justify-self: center;
39
41
  overflow: hidden;
40
42
  color: var(--sigvelo-color-text);
41
- font-size: var(--sigvelo-text-compact);
43
+ font-size: var(--sigvelo-density-compact-control-font-size);
42
44
  font-weight: var(--sigvelo-font-weight-semibold);
43
45
  line-height: var(--sigvelo-leading-tight);
44
46
  text-overflow: ellipsis;
@@ -53,10 +55,10 @@
53
55
  .app-top-bar__button {
54
56
  box-sizing: border-box;
55
57
  flex: 0 0 auto;
56
- inline-size: var(--sigvelo-control-height-xs);
57
- min-inline-size: var(--sigvelo-control-height-xs);
58
- block-size: var(--sigvelo-control-height-xs);
59
- min-block-size: var(--sigvelo-control-height-xs);
58
+ inline-size: var(--sigvelo-density-compact-control-height);
59
+ min-inline-size: var(--sigvelo-density-compact-control-height);
60
+ block-size: var(--sigvelo-density-compact-control-height);
61
+ min-block-size: var(--sigvelo-density-compact-control-height);
60
62
  padding: var(--sigvelo-spacing-1);
61
63
  color: var(--sigvelo-color-text-muted);
62
64
  line-height: 0;
@@ -64,8 +66,8 @@
64
66
 
65
67
  .app-top-bar__button svg {
66
68
  display: block;
67
- inline-size: var(--sigvelo-text-sm);
68
- block-size: var(--sigvelo-text-sm);
69
+ inline-size: var(--sigvelo-density-compact-control-icon-size);
70
+ block-size: var(--sigvelo-density-compact-control-icon-size);
69
71
  }
70
72
 
71
73
  .app-top-bar__button:hover:not([data-disabled]),
@@ -74,6 +76,12 @@
74
76
  color: var(--sigvelo-color-text);
75
77
  }
76
78
 
79
+ .app-top-bar__button:is([aria-expanded="true"], [data-popup-open], [data-pressed]):not(
80
+ :focus-visible
81
+ ) {
82
+ box-shadow: none;
83
+ }
84
+
77
85
  @media (any-pointer: coarse) {
78
86
  .app-top-bar__button {
79
87
  inline-size: 2.75rem;
@@ -16,7 +16,7 @@
16
16
  }
17
17
 
18
18
  .approval__question {
19
- min-width: 0;
19
+ min-inline-size: 0;
20
20
  overflow-wrap: anywhere;
21
21
  }
22
22
 
@@ -91,13 +91,17 @@
91
91
  align-items: center;
92
92
  justify-content: center;
93
93
  flex-shrink: 0;
94
- inline-size: 1.125rem;
95
- block-size: 1.125rem;
94
+ inline-size: var(--sigvelo-control-icon-size-lg);
95
+ block-size: var(--sigvelo-control-icon-size-lg);
96
96
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
97
97
  var(--sigvelo-color-neutral-border-subtle);
98
98
  border-radius: var(--sigvelo-radius-full);
99
99
  color: var(--sigvelo-color-text-muted);
100
100
  font-size: var(--sigvelo-text-2xs);
101
+ transition:
102
+ color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
103
+ background-color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
104
+ border-color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
101
105
  }
102
106
 
103
107
  .approval__option[data-selected] .approval__key {
@@ -110,11 +114,12 @@
110
114
  margin-inline-start: auto;
111
115
  color: var(--sigvelo-color-text-muted);
112
116
  font-size: var(--sigvelo-text-xs);
113
- visibility: hidden;
117
+ opacity: 0;
118
+ transition: opacity var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
114
119
  }
115
120
 
116
121
  .approval__option[data-selected] .approval__arrows {
117
- visibility: visible;
122
+ opacity: 1;
118
123
  }
119
124
 
120
125
  .approval__deny {
@@ -131,7 +136,7 @@
131
136
 
132
137
  .approval__reason {
133
138
  flex: 1;
134
- min-width: 0;
139
+ min-inline-size: 0;
135
140
  padding: 0;
136
141
  border: none;
137
142
  outline: none;
@@ -17,7 +17,7 @@
17
17
  justify-content: space-between;
18
18
  gap: var(--sigvelo-spacing-3);
19
19
  padding-block: var(--sigvelo-spacing-3);
20
- padding-inline: 1rem;
20
+ padding-inline: var(--sigvelo-spacing-4);
21
21
  background-color: var(--sigvelo-color-surface);
22
22
  }
23
23
 
@@ -28,10 +28,10 @@
28
28
  .artifact__title {
29
29
  margin: 0;
30
30
  font-family: inherit;
31
- font-size: 0.9375rem;
31
+ font-size: var(--sigvelo-text-base);
32
32
  font-weight: var(--sigvelo-font-weight-bold);
33
33
  color: var(--sigvelo-color-text);
34
- line-height: 1.3;
34
+ line-height: var(--sigvelo-leading-tight);
35
35
  overflow-wrap: anywhere;
36
36
  text-wrap: balance;
37
37
  }
@@ -49,7 +49,7 @@
49
49
  .artifact__actions {
50
50
  display: inline-flex;
51
51
  align-items: center;
52
- gap: 0.25rem;
52
+ gap: var(--sigvelo-spacing-1);
53
53
  flex-shrink: 0;
54
54
  }
55
55
 
@@ -59,8 +59,8 @@
59
59
  }
60
60
 
61
61
  .artifact__content {
62
- padding-block: 1rem;
63
- padding-inline: 1rem;
62
+ padding-block: var(--sigvelo-spacing-4);
63
+ padding-inline: var(--sigvelo-spacing-4);
64
64
  font-size: var(--sigvelo-text-sm);
65
65
  line-height: 1.5;
66
66
  overflow-wrap: anywhere;
@@ -4,9 +4,10 @@
4
4
 
5
5
  .autocomplete__popup {
6
6
  --sigvelo-recipe-surface-padding: 0;
7
+ --sigvelo-recipe-popup-min-inline-size: 12.5rem;
7
8
 
8
9
  inline-size: var(--anchor-width);
9
- min-inline-size: 12.5rem;
10
+ min-inline-size: var(--sigvelo-recipe-popup-min-inline-size);
10
11
  }
11
12
 
12
13
  .autocomplete__status {