@mcp-b/react-components 0.16.1 → 0.17.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 (284) hide show
  1. package/dist/{AgentChat-CrlpbvQJ.d.ts → AgentChat-CRuMi1Pb.d.ts} +4 -10
  2. package/dist/AgentMessageParts-CyD2UB3V.d.ts +46 -0
  3. package/dist/AgentToolRunsContext-BVe4stgw.d.ts +21 -0
  4. package/dist/{CodeBlock-BmB4Xaqq.js → CodeBlock-Co1noLbC.js} +2 -2
  5. package/dist/{CodeBlock-BRajW4QU.d.ts → CodeBlock-Dnpr88ZQ.d.ts} +2 -2
  6. package/dist/Collapsible-N64ASIQr.d.ts +119 -0
  7. package/dist/{Combobox-B9Fcd6q-.d.ts → Combobox-CYc37s5l.d.ts} +11 -33
  8. package/dist/{FileTree-CkVbIMWV.js → FileTree-B7bBsUyU.js} +7 -7
  9. package/dist/{Menu-Bgu-ufb5.d.ts → Menu-L6MZm-7N.d.ts} +15 -56
  10. package/dist/{Message-BkMdE3bS.js → Message-C4eYRogZ.js} +3 -3
  11. package/dist/{ModelSelector-SlJNgwKY.js → ModelSelector-BNrZlY_Y.js} +5 -5
  12. package/dist/{PromptInput-BWTuXMOD.d.ts → PromptInput-OLfXPuHM.d.ts} +39 -67
  13. package/dist/{ResponsiveSidebarShell-Dd9DCcBT.d.ts → ResponsiveSidebarShell-CsAh4NyL.d.ts} +1 -0
  14. package/dist/{Select-BeEsefzh.d.ts → Select-CwSqP07Y.d.ts} +14 -42
  15. package/dist/{Tabs-3Zc4tb9D.d.ts → Tabs-9zddXDQo.d.ts} +5 -19
  16. package/dist/{ThinkChat-CzC-zNGA.js → ThinkChat-DInElus-.js} +53 -26
  17. package/dist/{ThinkChatActivity-BFQnb2ct.d.ts → ThinkChatActivity-BgesTfZ4.d.ts} +12 -4
  18. package/dist/{ThinkChatContext-C3Eb1Xpi.d.ts → ThinkChatContext-DrsZqdaO.d.ts} +1 -1
  19. package/dist/ThinkRecoveryNotice-DFIcG9UX.d.ts +19 -0
  20. package/dist/{Toggle-CAAlNl-M.d.ts → Toggle-DaXpe1Lc.d.ts} +1 -1
  21. package/dist/{ToggleGroup-8hPv-b69.d.ts → ToggleGroup-yseEWkOC.d.ts} +3 -4
  22. package/dist/{Workspace-D39LxGvP.d.ts → Workspace-C9RFoxcu.d.ts} +1 -1
  23. package/dist/WorkspaceExplorer-sZewzT2O.d.ts +32 -0
  24. package/dist/{WorkspaceFile-DOZkPwzu.d.ts → WorkspaceFile-C8UzuSH4.d.ts} +1 -1
  25. package/dist/{WorkspaceFileView-rSN_yT0L.js → WorkspaceFileView-DNdGAEiX.js} +5 -5
  26. package/dist/{WorkspaceLink-DIPbXrUM.js → WorkspaceLink-B1ykV1dS.js} +15 -29
  27. package/dist/class-names-Bk-QLWWI.js +11 -0
  28. package/dist/components/Accordion.d.ts +5 -15
  29. package/dist/components/Accordion.js +11 -10
  30. package/dist/components/Activity.d.ts +5 -10
  31. package/dist/components/Activity.js +2 -2
  32. package/dist/components/AgentActivity.js +1 -1
  33. package/dist/components/AgentActivityPreview.js +2 -2
  34. package/dist/components/AgentAttention.d.ts +1 -1
  35. package/dist/components/AgentAttention.js +1 -1
  36. package/dist/components/AgentChat.d.ts +2 -2
  37. package/dist/components/AgentChat.js +27 -164
  38. package/dist/components/AgentChatMessageEditor.js +1 -1
  39. package/dist/components/AgentConnection.js +4 -4
  40. package/dist/components/AgentMessageParts.d.ts +2 -0
  41. package/dist/components/AgentMessageParts.js +119 -0
  42. package/dist/components/AgentToolDetail.d.ts +55 -0
  43. package/dist/components/AgentToolDetail.js +98 -0
  44. package/dist/components/AgentToolRunsContext.d.ts +2 -0
  45. package/dist/components/AgentToolRunsContext.js +16 -0
  46. package/dist/components/AlertDialog.d.ts +7 -19
  47. package/dist/components/AlertDialog.js +21 -32
  48. package/dist/components/AppTopBar.d.ts +4 -1
  49. package/dist/components/AppTopBar.js +5 -5
  50. package/dist/components/Approval.d.ts +102 -0
  51. package/dist/components/Approval.js +227 -0
  52. package/dist/components/Artifact.d.ts +2 -4
  53. package/dist/components/Artifact.js +3 -3
  54. package/dist/components/Autocomplete.d.ts +11 -33
  55. package/dist/components/Autocomplete.js +23 -30
  56. package/dist/components/Avatar.d.ts +3 -11
  57. package/dist/components/Avatar.js +13 -12
  58. package/dist/components/BrowserLiveView.js +2 -2
  59. package/dist/components/BrowserReplay.js +2 -2
  60. package/dist/components/BrowserRunPanel.js +58 -78
  61. package/dist/components/Button.js +4 -9
  62. package/dist/components/ChainOfThought.d.ts +5 -11
  63. package/dist/components/ChainOfThought.js +3 -2
  64. package/dist/components/ChatGptSignInScreen.js +3 -3
  65. package/dist/components/Checkbox.d.ts +2 -4
  66. package/dist/components/Checkbox.js +6 -5
  67. package/dist/components/CheckboxGroup.d.ts +1 -3
  68. package/dist/components/CheckboxGroup.js +15 -14
  69. package/dist/components/Checkpoint.d.ts +64 -0
  70. package/dist/components/Checkpoint.js +63 -0
  71. package/dist/components/CodeBlock.d.ts +1 -1
  72. package/dist/components/CodeBlock.js +1 -1
  73. package/dist/components/CodexModelSelector.d.ts +1 -1
  74. package/dist/components/CodexModelSelector.js +2 -2
  75. package/dist/components/Collapsible.d.ts +1 -124
  76. package/dist/components/Collapsible.js +7 -10
  77. package/dist/components/Combobox.d.ts +1 -1
  78. package/dist/components/Combobox.js +23 -30
  79. package/dist/components/Commit.d.ts +5 -11
  80. package/dist/components/Commit.js +6 -5
  81. package/dist/components/Context.js +1 -1
  82. package/dist/components/ContextMenu.d.ts +21 -37
  83. package/dist/components/ContextMenu.js +34 -51
  84. package/dist/components/Conversation.d.ts +2 -4
  85. package/dist/components/Conversation.js +2 -2
  86. package/dist/components/DescriptionListParts.js +1 -1
  87. package/dist/components/Dialog.d.ts +6 -17
  88. package/dist/components/Dialog.js +17 -24
  89. package/dist/components/EnvironmentVariables.d.ts +1 -1
  90. package/dist/components/EnvironmentVariables.js +4 -3
  91. package/dist/components/Field.d.ts +17 -20
  92. package/dist/components/Field.js +16 -16
  93. package/dist/components/Fieldset.d.ts +2 -7
  94. package/dist/components/Fieldset.js +7 -6
  95. package/dist/components/FileTree.js +1 -1
  96. package/dist/components/Form.d.ts +1 -4
  97. package/dist/components/Form.js +3 -2
  98. package/dist/components/GithubMotionMark.js +1 -1
  99. package/dist/components/InlineCitation.d.ts +66 -0
  100. package/dist/components/InlineCitation.js +142 -0
  101. package/dist/components/Input.d.ts +1 -4
  102. package/dist/components/Input.js +3 -2
  103. package/dist/components/Marker.js +1 -1
  104. package/dist/components/McpConnectionRequest.js +2 -2
  105. package/dist/components/McpServerPicker.d.ts +1 -1
  106. package/dist/components/McpServerPicker.js +6 -5
  107. package/dist/components/Menu.d.ts +1 -1
  108. package/dist/components/Menu.js +33 -52
  109. package/dist/components/Menubar.d.ts +22 -43
  110. package/dist/components/Menubar.js +36 -53
  111. package/dist/components/Message.d.ts +3 -6
  112. package/dist/components/Message.js +1 -1
  113. package/dist/components/MessageScroller.d.ts +1 -1
  114. package/dist/components/MessageScroller.js +3 -3
  115. package/dist/components/Meter.d.ts +5 -20
  116. package/dist/components/Meter.js +11 -10
  117. package/dist/components/ModelSelector.d.ts +2 -6
  118. package/dist/components/ModelSelector.js +1 -1
  119. package/dist/components/NavigationMenu.d.ts +11 -33
  120. package/dist/components/NavigationMenu.js +23 -30
  121. package/dist/components/NumberField.d.ts +6 -24
  122. package/dist/components/NumberField.js +13 -12
  123. package/dist/components/Plan.d.ts +103 -0
  124. package/dist/components/Plan.js +113 -0
  125. package/dist/components/Popover.d.ts +9 -36
  126. package/dist/components/Popover.js +23 -34
  127. package/dist/components/PreviewCard.d.ts +6 -24
  128. package/dist/components/PreviewCard.js +13 -24
  129. package/dist/components/PricingBillingToggle.js +1 -1
  130. package/dist/components/PricingFAQ.js +1 -1
  131. package/dist/components/PricingPlanCard.js +3 -3
  132. package/dist/components/PricingUsageCalculator.js +2 -2
  133. package/dist/components/Progress.d.ts +3 -8
  134. package/dist/components/Progress.js +7 -10
  135. package/dist/components/PromptInput.d.ts +2 -2
  136. package/dist/components/PromptInput.js +52 -200
  137. package/dist/components/Queue.d.ts +6 -16
  138. package/dist/components/Queue.js +2 -2
  139. package/dist/components/RadioGroup.d.ts +3 -8
  140. package/dist/components/RadioGroup.js +7 -10
  141. package/dist/components/Reasoning.d.ts +4 -8
  142. package/dist/components/Reasoning.js +3 -3
  143. package/dist/components/ResizableSidePanel.js +2 -2
  144. package/dist/components/ResponsiveSidebarShell.d.ts +1 -1
  145. package/dist/components/ResponsiveSidebarShell.js +4 -3
  146. package/dist/components/ScrollArea.d.ts +5 -20
  147. package/dist/components/ScrollArea.js +11 -10
  148. package/dist/components/Select.d.ts +1 -1
  149. package/dist/components/Select.js +32 -55
  150. package/dist/components/Separator.d.ts +1 -5
  151. package/dist/components/Separator.js +3 -6
  152. package/dist/components/Slider.d.ts +6 -19
  153. package/dist/components/Slider.js +15 -14
  154. package/dist/components/Sources.d.ts +4 -9
  155. package/dist/components/Sources.js +3 -2
  156. package/dist/components/Stepper.js +2 -2
  157. package/dist/components/SubagentRunDetails.js +1 -1
  158. package/dist/components/SubagentRunIndicator.js +2 -2
  159. package/dist/components/SubagentRunList.js +1 -2
  160. package/dist/components/SubagentRunSelector.d.ts +2 -11
  161. package/dist/components/SubagentRunSelector.js +16 -15
  162. package/dist/components/Switch.d.ts +2 -5
  163. package/dist/components/Switch.js +5 -8
  164. package/dist/components/Tabs.d.ts +2 -2
  165. package/dist/components/Tabs.js +10 -16
  166. package/dist/components/Task.d.ts +4 -9
  167. package/dist/components/Task.js +4 -3
  168. package/dist/components/Terminal.d.ts +2 -3
  169. package/dist/components/Terminal.js +3 -3
  170. package/dist/components/TestResults.d.ts +4 -9
  171. package/dist/components/TestResults.js +3 -2
  172. package/dist/components/Textarea.js +1 -1
  173. package/dist/components/ThemeModeControl.js +1 -1
  174. package/dist/components/ThinkChat.d.ts +21 -11
  175. package/dist/components/ThinkChat.js +5 -3
  176. package/dist/components/ThinkChatActivity.d.ts +1 -1
  177. package/dist/components/ThinkChatActivity.js +26 -7
  178. package/dist/components/ThinkChatContext.d.ts +1 -1
  179. package/dist/components/ThinkChatToolPanels.js +2 -2
  180. package/dist/components/ThinkExecutionDetail.js +2 -2
  181. package/dist/components/ThinkExecutionStatus.js +2 -2
  182. package/dist/components/ThinkExecutionWorkbench.js +2 -2
  183. package/dist/components/ThinkFullApp.d.ts +33 -9
  184. package/dist/components/ThinkFullApp.js +98 -69
  185. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  186. package/dist/components/ThinkFullAppViewSwitch.js +2 -2
  187. package/dist/components/ThinkPendingApproval.d.ts +60 -0
  188. package/dist/components/ThinkPendingApproval.js +99 -0
  189. package/dist/components/ThinkRecoveryNotice.d.ts +2 -0
  190. package/dist/components/ThinkRecoveryNotice.js +40 -0
  191. package/dist/components/ThinkRoutine.js +1 -0
  192. package/dist/components/ThinkRoutineBrowser.js +6 -6
  193. package/dist/components/ThinkRoutineDetail.js +1 -1
  194. package/dist/components/ThinkRoutineForm.js +2 -2
  195. package/dist/components/ThinkRoutineLibrary.d.ts +9 -0
  196. package/dist/components/ThinkRoutineLibrary.js +67 -20
  197. package/dist/components/ThinkRoutineRuns.js +1 -1
  198. package/dist/components/ThinkThreadPicker.js +2 -2
  199. package/dist/components/ThinkThreadShell.d.ts +1 -1
  200. package/dist/components/Toast.d.ts +7 -28
  201. package/dist/components/Toast.js +15 -14
  202. package/dist/components/Toggle.d.ts +1 -1
  203. package/dist/components/Toggle.js +5 -5
  204. package/dist/components/ToggleGroup.d.ts +1 -1
  205. package/dist/components/ToggleGroup.js +8 -15
  206. package/dist/components/ToolApproval.d.ts +28 -0
  207. package/dist/components/ToolApproval.js +35 -0
  208. package/dist/components/ToolInvocation.d.ts +26 -0
  209. package/dist/components/ToolInvocation.js +72 -0
  210. package/dist/components/Toolbar.d.ts +6 -24
  211. package/dist/components/Toolbar.js +13 -12
  212. package/dist/components/Tooltip.d.ts +3 -9
  213. package/dist/components/Tooltip.js +7 -10
  214. package/dist/components/WebPreview.d.ts +1 -2
  215. package/dist/components/WebPreview.js +4 -3
  216. package/dist/components/Workspace.d.ts +1 -1
  217. package/dist/components/Workspace.js +5 -20
  218. package/dist/components/WorkspaceBrowser.d.ts +1 -1
  219. package/dist/components/WorkspaceBrowser.js +3 -3
  220. package/dist/components/WorkspaceExplorer.d.ts +3 -31
  221. package/dist/components/WorkspaceExplorer.js +3 -3
  222. package/dist/components/WorkspaceFile.d.ts +1 -1
  223. package/dist/components/WorkspaceFileView.d.ts +1 -1
  224. package/dist/components/WorkspaceFileView.js +1 -1
  225. package/dist/components/WorkspaceHeader.js +1 -1
  226. package/dist/components/WorkspaceLink.js +1 -1
  227. package/dist/components/icons.d.ts +2 -2
  228. package/dist/components/icons.js +2 -2
  229. package/dist/{copy-button-DtPMgN7e.d.ts → copy-button-CQx3LQAC.d.ts} +1 -2
  230. package/dist/{copy-button-Dejn5heL.js → copy-button-cYsJBauI.js} +1 -1
  231. package/dist/{icons-CpfUer49.js → icons--FqCZEc3.js} +3 -2
  232. package/dist/{icons-GQd1xF4e.d.ts → icons-DpUqY8Mp.d.ts} +6 -1
  233. package/dist/styles/agent-activity-preview.css +4 -0
  234. package/dist/styles/agent-chat.css +0 -41
  235. package/dist/styles/agent-connection.css +0 -12
  236. package/dist/styles/agent-tool-detail.css +54 -0
  237. package/dist/styles/approval.css +172 -0
  238. package/dist/styles/artifact.css +0 -12
  239. package/dist/styles/browser-run-panel.css +5 -2
  240. package/dist/styles/chain-of-thought.css +0 -8
  241. package/dist/styles/checkpoint.css +58 -0
  242. package/dist/styles/combobox.css +1 -1
  243. package/dist/styles/commit.css +0 -21
  244. package/dist/styles/context-menu.css +0 -8
  245. package/dist/styles/environment-variables.css +0 -13
  246. package/dist/styles/file-tree.css +0 -16
  247. package/dist/styles/index.css +8 -4
  248. package/dist/styles/inline-citation.css +107 -0
  249. package/dist/styles/mcp-server-picker.css +0 -30
  250. package/dist/styles/menu.css +0 -29
  251. package/dist/styles/menubar.css +0 -8
  252. package/dist/styles/message-scroller.css +0 -12
  253. package/dist/styles/message.css +0 -12
  254. package/dist/styles/model-selector.css +0 -20
  255. package/dist/styles/plan.css +127 -0
  256. package/dist/styles/popover.css +0 -36
  257. package/dist/styles/prompt-input.css +2 -195
  258. package/dist/styles/recipes.css +114 -5
  259. package/dist/styles/responsive-sidebar-shell.css +16 -19
  260. package/dist/styles/sources.css +0 -8
  261. package/dist/styles/subagent-run.css +12 -70
  262. package/dist/styles/task.css +0 -16
  263. package/dist/styles/test-results.css +0 -13
  264. package/dist/styles/think-full-app.css +12 -38
  265. package/dist/styles/think-routine-library.css +12 -20
  266. package/dist/styles/think-thread-picker.css +15 -0
  267. package/dist/styles/toast.css +0 -7
  268. package/dist/styles/utilities.css +31 -0
  269. package/dist/styles/web-preview.css +0 -21
  270. package/dist/styles/workspace-explorer.css +5 -55
  271. package/dist/think-agent-Cip5KAPj.d.ts +7 -0
  272. package/dist/utils/codex-model-catalog.d.ts +4 -4
  273. package/dist/utils/structured-code.d.ts +1 -1
  274. package/dist/workspace-path-L_KmjRjq.js +26 -0
  275. package/package.json +3 -4
  276. package/dist/class-names-9UtZwb0J.js +0 -12
  277. package/dist/components/AppFrame.d.ts +0 -24
  278. package/dist/components/AppFrame.js +0 -25
  279. package/dist/components/Shell.d.ts +0 -163
  280. package/dist/components/Shell.js +0 -137
  281. package/dist/components/SubagentRun.d.ts +0 -86
  282. package/dist/components/SubagentRun.js +0 -108
  283. package/dist/styles/app-frame.css +0 -15
  284. package/dist/styles/shell.css +0 -122
@@ -14,18 +14,6 @@
14
14
  color: var(--sigvelo-color-text-muted);
15
15
  }
16
16
 
17
- .model-selector__title {
18
- position: absolute;
19
- width: 1px;
20
- height: 1px;
21
- padding: 0;
22
- margin: -1px;
23
- overflow: hidden;
24
- white-space: nowrap;
25
- border: 0;
26
- clip: rect(0 0 0 0);
27
- }
28
-
29
17
  .model-selector__dialog {
30
18
  display: flex;
31
19
  flex-direction: column;
@@ -176,14 +164,6 @@
176
164
  gap: 0.25rem;
177
165
  }
178
166
 
179
- .model-selector__name {
180
- flex: 1;
181
- min-width: 0;
182
- overflow: hidden;
183
- text-overflow: ellipsis;
184
- white-space: nowrap;
185
- }
186
-
187
167
  .model-selector__shortcut {
188
168
  padding-block: 0.0625rem;
189
169
  padding-inline: var(--sigvelo-spacing-1-5);
@@ -0,0 +1,127 @@
1
+ .plan__header {
2
+ display: grid;
3
+ gap: var(--sigvelo-spacing-0-5);
4
+ min-inline-size: 0;
5
+ padding-block: var(--sigvelo-spacing-2-5);
6
+ padding-inline: var(--sigvelo-spacing-3);
7
+ border-block-end: var(--sigvelo-border-width) var(--sigvelo-border-style)
8
+ var(--sigvelo-color-neutral-border-subtle);
9
+ }
10
+
11
+ .plan__title,
12
+ .plan__description,
13
+ .plan__step-title,
14
+ .plan__step-description {
15
+ min-inline-size: 0;
16
+ margin: 0;
17
+ overflow-wrap: anywhere;
18
+ }
19
+
20
+ .plan__title {
21
+ color: var(--sigvelo-color-text);
22
+ font-size: var(--sigvelo-text-compact);
23
+ font-weight: var(--sigvelo-font-weight-semibold);
24
+ line-height: var(--sigvelo-leading-tight);
25
+ }
26
+
27
+ .plan__description {
28
+ color: var(--sigvelo-color-text-muted);
29
+ font-size: var(--sigvelo-text-xs);
30
+ line-height: 1.5;
31
+ }
32
+
33
+ .plan__content {
34
+ display: flex;
35
+ flex-direction: column;
36
+ gap: var(--sigvelo-spacing-3);
37
+ margin: 0;
38
+ padding-block: var(--sigvelo-spacing-3);
39
+ padding-inline: var(--sigvelo-spacing-3);
40
+ list-style: none;
41
+ }
42
+
43
+ .plan__step {
44
+ position: relative;
45
+ display: grid;
46
+ grid-template-columns: var(--sigvelo-spacing-4) minmax(0, 1fr);
47
+ column-gap: var(--sigvelo-spacing-2);
48
+ row-gap: var(--sigvelo-spacing-0-5);
49
+ min-inline-size: 0;
50
+ }
51
+
52
+ .plan__step > :not(.plan__step-indicator) {
53
+ grid-column: 2;
54
+ }
55
+
56
+ .plan__step:not(:last-child)::after {
57
+ content: "";
58
+ position: absolute;
59
+ inset-block-start: calc(var(--sigvelo-spacing-4) + var(--sigvelo-spacing-1));
60
+ inset-block-end: calc(-1 * var(--sigvelo-spacing-2));
61
+ inset-inline-start: calc(var(--sigvelo-spacing-2) - var(--sigvelo-border-width));
62
+ inline-size: var(--sigvelo-border-width);
63
+ background-color: var(--sigvelo-color-neutral-border-subtle);
64
+ }
65
+
66
+ .plan__step-indicator {
67
+ z-index: 1;
68
+ grid-row: 1 / span 2;
69
+ grid-column: 1;
70
+ display: inline-flex;
71
+ inline-size: var(--sigvelo-spacing-4);
72
+ block-size: var(--sigvelo-spacing-4);
73
+ align-items: center;
74
+ justify-content: center;
75
+ color: var(--sigvelo-color-text-muted);
76
+ background-color: var(--sigvelo-color-surface);
77
+ border: var(--sigvelo-border-width) var(--sigvelo-border-style)
78
+ var(--sigvelo-color-neutral-border-muted);
79
+ border-radius: var(--sigvelo-radius-full);
80
+ }
81
+
82
+ .plan__step-indicator-visual,
83
+ .plan__step-indicator-visual svg {
84
+ display: block;
85
+ inline-size: var(--sigvelo-spacing-3);
86
+ block-size: var(--sigvelo-spacing-3);
87
+ }
88
+
89
+ .plan__step[data-status="complete"] .plan__step-indicator {
90
+ color: var(--sigvelo-color-success-text-on-bg);
91
+ background-color: var(--sigvelo-color-success-bg);
92
+ border-color: var(--sigvelo-color-success-bg);
93
+ }
94
+
95
+ .plan__step[data-status="active"] .plan__step-indicator {
96
+ color: var(--sigvelo-color-primary-text-on-subtle);
97
+ background-color: var(--sigvelo-color-primary-bg-subtle);
98
+ border-color: var(--sigvelo-color-primary-border-muted);
99
+ }
100
+
101
+ .plan__step-title {
102
+ color: var(--sigvelo-color-text);
103
+ font-size: var(--sigvelo-text-compact);
104
+ font-weight: var(--sigvelo-font-weight-semibold);
105
+ line-height: var(--sigvelo-leading-tight);
106
+ }
107
+
108
+ .plan__step[data-status="pending"] .plan__step-title {
109
+ color: var(--sigvelo-color-text-muted);
110
+ }
111
+
112
+ .plan__step-description {
113
+ color: var(--sigvelo-color-text-muted);
114
+ font-size: var(--sigvelo-text-xs);
115
+ line-height: 1.5;
116
+ }
117
+
118
+ @media (forced-colors: active) {
119
+ .plan__step-indicator {
120
+ border: 1px solid CanvasText;
121
+ }
122
+
123
+ .plan__step[data-status="active"] .plan__step-indicator {
124
+ color: HighlightText;
125
+ background-color: Highlight;
126
+ }
127
+ }
@@ -21,35 +21,6 @@
21
21
  overflow-y: auto;
22
22
  }
23
23
 
24
- .popover__arrow {
25
- width: var(--sigvelo-spacing-3);
26
- height: var(--sigvelo-spacing-3);
27
- background-color: var(--sigvelo-color-canvas);
28
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
29
- var(--sigvelo-color-neutral-border-muted);
30
- transform: rotate(45deg);
31
- }
32
-
33
- .popover__arrow[data-side="top"] {
34
- border-top: none;
35
- border-left: none;
36
- }
37
-
38
- .popover__arrow[data-side="bottom"] {
39
- border-bottom: none;
40
- border-right: none;
41
- }
42
-
43
- .popover__arrow[data-side="left"] {
44
- border-bottom: none;
45
- border-left: none;
46
- }
47
-
48
- .popover__arrow[data-side="right"] {
49
- border-top: none;
50
- border-right: none;
51
- }
52
-
53
24
  .popover__title {
54
25
  margin-block-end: var(--sigvelo-spacing-1);
55
26
  font-size: var(--sigvelo-text-compact);
@@ -58,13 +29,6 @@
58
29
  color: var(--sigvelo-color-text);
59
30
  }
60
31
 
61
- .popover__description {
62
- margin: 0;
63
- font-size: var(--sigvelo-text-xs);
64
- line-height: var(--sigvelo-leading-normal);
65
- color: var(--sigvelo-color-text-muted);
66
- }
67
-
68
32
  .popover__header {
69
33
  display: grid;
70
34
  gap: var(--sigvelo-spacing-1);
@@ -1,3 +1,5 @@
1
+ @import "./approval.css";
2
+
1
3
  .prompt-input {
2
4
  --prompt-input-secondary-text: var(--sigvelo-color-text-muted);
3
5
 
@@ -282,18 +284,6 @@
282
284
  animation: prompt-input-spin 900ms linear infinite;
283
285
  }
284
286
 
285
- .prompt-input__dictation-status {
286
- position: absolute;
287
- inline-size: 1px;
288
- block-size: 1px;
289
- margin: -1px;
290
- padding: 0;
291
- overflow: hidden;
292
- clip-path: inset(50%);
293
- white-space: nowrap;
294
- border: 0;
295
- }
296
-
297
287
  @media (prefers-reduced-motion: reduce) {
298
288
  .prompt-input__dictation[data-listening] .prompt-input__dictation-icon::before {
299
289
  transition: none;
@@ -517,39 +507,16 @@
517
507
 
518
508
  .prompt-input__command-popup {
519
509
  --prompt-input-secondary-text: var(--sigvelo-color-text-muted);
520
- --sigvelo-recipe-surface-radius: var(--sigvelo-radius-xl);
521
- --sigvelo-recipe-surface-shadow: var(--sigvelo-shadow-xl);
522
- --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-1);
523
- --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-sm);
524
- --sigvelo-recipe-row-padding-block: var(--sigvelo-spacing-1);
525
- --sigvelo-recipe-row-padding-inline: var(--sigvelo-spacing-2);
526
- --sigvelo-recipe-row-gap: var(--sigvelo-spacing-2-5);
527
- --sigvelo-recipe-row-font-size: var(--sigvelo-text-sm);
528
- --sigvelo-recipe-row-radius: var(--sigvelo-radius-md);
529
510
 
530
511
  width: 100%;
531
512
  max-height: min(24rem, var(--available-height));
532
513
  overflow: hidden auto;
533
514
  }
534
515
 
535
- .prompt-input__command-popup [data-slot="combobox-group-label"] {
536
- padding-block: var(--sigvelo-spacing-2);
537
- padding-inline: var(--sigvelo-spacing-2);
538
- color: var(--prompt-input-secondary-text);
539
- font-size: var(--sigvelo-text-sm);
540
- font-weight: var(--sigvelo-font-weight-normal);
541
- }
542
-
543
516
  .prompt-input__command-popup [data-slot="combobox-empty"]:empty {
544
517
  display: none;
545
518
  }
546
519
 
547
- @media (any-pointer: coarse) {
548
- .prompt-input__command-popup {
549
- --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xl);
550
- }
551
- }
552
-
553
520
  .prompt-input__command-item {
554
521
  align-items: center;
555
522
  min-width: 0;
@@ -689,166 +656,6 @@
689
656
  margin-inline-start: auto;
690
657
  }
691
658
 
692
- /* Approval state: the composer becomes the confirmation */
693
- .prompt-input__approval {
694
- display: flex;
695
- flex-direction: column;
696
- gap: 0.5rem;
697
- font-size: var(--sigvelo-text-compact);
698
- /* Zero intrinsic inline size: long tool names, paths, and one-line JSON in
699
- the confirmation must never widen the composer or the chat column around
700
- it — same containment trick as the conversation viewport. */
701
- contain: inline-size;
702
- }
703
-
704
- .prompt-input__approval-question {
705
- display: flex;
706
- align-items: baseline;
707
- gap: 0.5rem;
708
- line-height: 1.4;
709
- }
710
-
711
- .prompt-input__approval-question > span:first-child {
712
- min-width: 0;
713
- overflow-wrap: anywhere;
714
- }
715
-
716
- .prompt-input__approval-question code {
717
- font-family: var(--sigvelo-font-mono);
718
- font-size: 0.8125em;
719
- }
720
-
721
- .prompt-input__approval-count {
722
- margin-inline-start: auto;
723
- flex-shrink: 0;
724
- color: var(--sigvelo-color-text-muted);
725
- font-size: var(--sigvelo-text-xs);
726
- }
727
-
728
- .prompt-input__approval-preview {
729
- max-height: 6rem;
730
- padding-block: var(--sigvelo-spacing-1-5);
731
- padding-inline: var(--sigvelo-spacing-2-5);
732
- overflow: auto;
733
- /* Long values wrap and scroll vertically within the cap — never sideways. */
734
- overflow-wrap: anywhere;
735
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
736
- var(--sigvelo-color-neutral-border-subtle);
737
- border-radius: var(--sigvelo-radius-md);
738
- color: var(--sigvelo-color-text-muted);
739
- font-family: var(--sigvelo-font-mono);
740
- font-size: var(--sigvelo-text-xs);
741
- line-height: 1.5;
742
- }
743
-
744
- .prompt-input__approval-preview-key {
745
- color: var(--sigvelo-color-text);
746
- }
747
-
748
- .prompt-input__approval-preview-key::after {
749
- content: ":";
750
- }
751
-
752
- .prompt-input__approval-options {
753
- display: flex;
754
- flex-direction: column;
755
- gap: var(--sigvelo-spacing-0-5);
756
- }
757
-
758
- .prompt-input__approval-option {
759
- display: flex;
760
- align-items: center;
761
- gap: 0.5rem;
762
- width: 100%;
763
- padding-block: 0.3125rem;
764
- padding-inline: 0.5rem;
765
- border: none;
766
- border-radius: var(--sigvelo-radius-md);
767
- background: transparent;
768
- color: var(--sigvelo-color-text);
769
- font: inherit;
770
- text-align: start;
771
- cursor: pointer;
772
- }
773
-
774
- .prompt-input__approval-option[data-selected] {
775
- background-color: color-mix(in oklab, var(--sigvelo-color-text), transparent 92%);
776
- }
777
-
778
- .prompt-input__approval-option:disabled {
779
- cursor: not-allowed;
780
- opacity: 0.6;
781
- }
782
-
783
- .prompt-input__approval-key {
784
- display: inline-flex;
785
- align-items: center;
786
- justify-content: center;
787
- flex-shrink: 0;
788
- inline-size: 1.125rem;
789
- block-size: 1.125rem;
790
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
791
- var(--sigvelo-color-neutral-border-subtle);
792
- border-radius: var(--sigvelo-radius-full);
793
- color: var(--sigvelo-color-text-muted);
794
- font-size: var(--sigvelo-text-2xs);
795
- }
796
-
797
- .prompt-input__approval-option[data-selected] .prompt-input__approval-key {
798
- border-color: var(--sigvelo-color-text);
799
- background-color: var(--sigvelo-color-text);
800
- color: var(--sigvelo-color-surface);
801
- }
802
-
803
- .prompt-input__approval-arrows {
804
- margin-inline-start: auto;
805
- color: var(--sigvelo-color-text-muted);
806
- font-size: var(--sigvelo-text-xs);
807
- visibility: hidden;
808
- }
809
-
810
- .prompt-input__approval-option[data-selected] .prompt-input__approval-arrows {
811
- visibility: visible;
812
- }
813
-
814
- .prompt-input__approval-deny {
815
- cursor: text;
816
- }
817
-
818
- .prompt-input__approval-reason {
819
- flex: 1;
820
- min-width: 0;
821
- padding: 0;
822
- border: none;
823
- background: transparent;
824
- color: var(--sigvelo-color-text);
825
- font: inherit;
826
- }
827
-
828
- .prompt-input__approval-reason::placeholder {
829
- color: var(--sigvelo-color-text-muted);
830
- }
831
-
832
- .prompt-input__approval-reason:focus {
833
- outline: none;
834
- }
835
-
836
- .prompt-input__approval-skip {
837
- flex-shrink: 0;
838
- color: var(--sigvelo-color-text-muted);
839
- }
840
-
841
- .prompt-input__approval-submit {
842
- flex-shrink: 0;
843
- gap: var(--sigvelo-spacing-1-5);
844
- }
845
-
846
- .prompt-input__approval-kbd {
847
- font-family: inherit;
848
- font-size: 0.75em;
849
- opacity: 0.75;
850
- }
851
-
852
659
  @keyframes prompt-input-spin {
853
660
  from {
854
661
  transform: rotate(0deg);
@@ -31,6 +31,66 @@
31
31
  --sigvelo-recipe-row-gap: var(--sigvelo-spacing-1-5);
32
32
  --sigvelo-recipe-row-font-size: var(--sigvelo-text-compact);
33
33
  --sigvelo-recipe-row-radius: var(--sigvelo-radius-sm);
34
+ --sigvelo-recipe-group-label-padding-block: var(--sigvelo-spacing-1-5);
35
+ --sigvelo-recipe-group-label-padding-inline: var(--sigvelo-recipe-row-padding-inline);
36
+ --sigvelo-recipe-group-label-color: var(--sigvelo-color-text-muted);
37
+ --sigvelo-recipe-group-label-font-size: var(--sigvelo-text-xs);
38
+ --sigvelo-recipe-group-label-font-weight: var(--sigvelo-font-weight-semibold);
39
+ --sigvelo-recipe-group-label-line-height: inherit;
40
+ }
41
+
42
+ /*
43
+ * Composer add and command pickers share a slightly roomier hierarchy than
44
+ * general-purpose menus while continuing to inherit the surface and row
45
+ * recipes for their actual anatomy and interaction states.
46
+ */
47
+ :where([data-recipe~="composer-command-surface"]) {
48
+ --sigvelo-recipe-surface-radius: var(--sigvelo-radius-xl);
49
+ --sigvelo-recipe-surface-shadow: var(--sigvelo-shadow-xl);
50
+ --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-1);
51
+ --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-sm);
52
+ --sigvelo-recipe-row-padding-block: var(--sigvelo-spacing-1);
53
+ --sigvelo-recipe-row-padding-inline: var(--sigvelo-spacing-2);
54
+ --sigvelo-recipe-row-gap: var(--sigvelo-spacing-2-5);
55
+ --sigvelo-recipe-row-font-size: var(--sigvelo-text-sm);
56
+ --sigvelo-recipe-row-radius: var(--sigvelo-radius-md);
57
+ --sigvelo-recipe-group-label-padding-block: var(--sigvelo-spacing-2);
58
+ --sigvelo-recipe-group-label-padding-inline: var(--sigvelo-spacing-2);
59
+ --sigvelo-recipe-group-label-font-size: var(--sigvelo-text-sm);
60
+ --sigvelo-recipe-group-label-font-weight: var(--sigvelo-font-weight-normal);
61
+ --sigvelo-recipe-group-label-line-height: var(--sigvelo-leading-tight);
62
+ --sigvelo-combobox-popup-padding: var(--sigvelo-spacing-1);
63
+ }
64
+
65
+ /* Shared application compositions opt in explicitly; component CSS continues
66
+ to own their headers, rows, controls, and semantic states. */
67
+ :where([data-recipe~="wide-scroll-picker"]) {
68
+ inline-size: min(46rem, calc(100dvw - 1rem));
69
+ max-block-size: min(28rem, calc(100dvh - 2rem));
70
+ overflow-y: auto;
71
+ overscroll-behavior: contain;
72
+ scrollbar-gutter: stable;
73
+ }
74
+
75
+ :where([data-recipe~="framed-panel"]) {
76
+ display: flex;
77
+ flex-direction: column;
78
+ inline-size: 100%;
79
+ overflow: hidden;
80
+ font-family: inherit;
81
+ color: var(--sigvelo-color-text);
82
+ background-color: var(--sigvelo-color-surface);
83
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
84
+ var(--sigvelo-color-neutral-border-subtle);
85
+ border-radius: var(--sigvelo-radius-md);
86
+ }
87
+
88
+ :where([data-recipe~="disclosure-stack"]) {
89
+ display: flex;
90
+ flex-direction: column;
91
+ inline-size: 100%;
92
+ font-family: inherit;
93
+ color: var(--sigvelo-color-text);
34
94
  }
35
95
 
36
96
  @media (any-pointer: coarse) {
@@ -49,6 +109,10 @@
49
109
  ) {
50
110
  block-size: var(--sigvelo-control-height-xl);
51
111
  }
112
+
113
+ :where([data-recipe~="composer-command-surface"]) {
114
+ --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xl);
115
+ }
52
116
  }
53
117
 
54
118
  :where(
@@ -251,6 +315,50 @@
251
315
  opacity: var(--sigvelo-recipe-disabled-opacity);
252
316
  }
253
317
 
318
+ :where([data-slot="dropdown-menu-arrow"], [data-slot="popover-arrow"]) {
319
+ inline-size: var(--sigvelo-spacing-3);
320
+ block-size: var(--sigvelo-spacing-3);
321
+ background-color: var(--sigvelo-color-canvas);
322
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
323
+ var(--sigvelo-color-neutral-border-muted);
324
+ transform: rotate(45deg);
325
+ }
326
+
327
+ :where([data-slot="dropdown-menu-arrow"], [data-slot="popover-arrow"])[data-side="top"] {
328
+ border-block-start: none;
329
+ border-inline-start: none;
330
+ }
331
+
332
+ :where([data-slot="dropdown-menu-arrow"], [data-slot="popover-arrow"])[data-side="bottom"] {
333
+ border-block-end: none;
334
+ border-inline-end: none;
335
+ }
336
+
337
+ :where([data-slot="dropdown-menu-arrow"], [data-slot="popover-arrow"])[data-side="left"] {
338
+ border-block-end: none;
339
+ border-inline-start: none;
340
+ }
341
+
342
+ :where([data-slot="dropdown-menu-arrow"], [data-slot="popover-arrow"])[data-side="right"] {
343
+ border-block-start: none;
344
+ border-inline-end: none;
345
+ }
346
+
347
+ :where([data-slot="context-menu-item-indicator"], [data-slot="menubar-item-indicator"]) {
348
+ display: inline-flex;
349
+ flex: 0 0 1rem;
350
+ align-items: center;
351
+ justify-content: center;
352
+ inline-size: 1rem;
353
+ }
354
+
355
+ :where([data-slot="popover-description"], [data-slot="toast-description"]) {
356
+ margin: 0;
357
+ color: var(--sigvelo-color-text-muted);
358
+ font-size: var(--sigvelo-text-xs);
359
+ line-height: var(--sigvelo-leading-normal);
360
+ }
361
+
254
362
  :where([data-slot="dropdown-menu-trigger"]:not([data-unstyled]), [data-slot="popover-trigger"]) {
255
363
  display: inline-flex;
256
364
  align-items: center;
@@ -446,11 +554,12 @@
446
554
  [data-slot="combobox-group-label"],
447
555
  [data-slot="autocomplete-group-label"]
448
556
  ) {
449
- padding-block: var(--sigvelo-spacing-1-5);
450
- padding-inline: var(--sigvelo-recipe-row-padding-inline);
451
- color: var(--sigvelo-color-text-muted);
452
- font-size: var(--sigvelo-text-xs);
453
- font-weight: var(--sigvelo-font-weight-semibold);
557
+ padding-block: var(--sigvelo-recipe-group-label-padding-block);
558
+ padding-inline: var(--sigvelo-recipe-group-label-padding-inline);
559
+ color: var(--sigvelo-recipe-group-label-color);
560
+ font-size: var(--sigvelo-recipe-group-label-font-size);
561
+ font-weight: var(--sigvelo-recipe-group-label-font-weight);
562
+ line-height: var(--sigvelo-recipe-group-label-line-height);
454
563
  }
455
564
 
456
565
  :where(
@@ -59,11 +59,13 @@
59
59
  z-index: 25;
60
60
  }
61
61
 
62
- .responsive-sidebar-shell__frame[data-sidebar-open="false"] {
62
+ .responsive-sidebar-shell[data-sidebar-open="false"] > .responsive-sidebar-shell__frame {
63
63
  grid-template-columns: minmax(0, 1fr);
64
64
  }
65
65
 
66
- .responsive-sidebar-shell__frame[data-sidebar-open="false"] .responsive-sidebar-shell__sidebar {
66
+ .responsive-sidebar-shell[data-sidebar-open="false"]
67
+ > .responsive-sidebar-shell__frame
68
+ > .responsive-sidebar-shell__sidebar {
67
69
  position: absolute;
68
70
  inset-block: 0;
69
71
  inset-inline-start: 0;
@@ -72,7 +74,9 @@
72
74
  pointer-events: none;
73
75
  }
74
76
 
75
- .responsive-sidebar-shell__frame[data-sidebar-open="false"] .responsive-sidebar-shell__main {
77
+ .responsive-sidebar-shell[data-sidebar-open="false"]
78
+ > .responsive-sidebar-shell__frame
79
+ > .responsive-sidebar-shell__main {
76
80
  grid-column: 1;
77
81
  }
78
82
 
@@ -110,24 +114,13 @@
110
114
  transform var(--sigvelo-duration-medium) var(--sigvelo-ease-emphasized);
111
115
  }
112
116
 
113
- .responsive-sidebar-shell__sidebar > .think-thread-picker {
114
- block-size: auto;
115
- max-block-size: inherit;
116
- grid-template-rows: auto auto auto;
117
- }
118
-
119
- .responsive-sidebar-shell__sidebar .think-thread-picker__nav,
120
- .responsive-sidebar-shell__sidebar .think-thread-picker__scroll,
121
- .responsive-sidebar-shell__sidebar .think-thread-picker__viewport {
122
- block-size: auto;
123
- max-block-size: 20rem;
124
- }
125
-
126
117
  .responsive-sidebar-shell__resizer {
127
118
  display: none;
128
119
  }
129
120
 
130
- .responsive-sidebar-shell__frame[data-sidebar-open="false"] .responsive-sidebar-shell__sidebar {
121
+ .responsive-sidebar-shell[data-sidebar-open="false"]
122
+ > .responsive-sidebar-shell__frame
123
+ > .responsive-sidebar-shell__sidebar {
131
124
  visibility: hidden;
132
125
  opacity: 0;
133
126
  transform: translate(-50%, calc(var(--sigvelo-spacing-2) * -1)) scale(0.98);
@@ -137,11 +130,15 @@
137
130
  transition: none;
138
131
  }
139
132
 
140
- .responsive-sidebar-shell__frame[data-sidebar-open="true"] .responsive-sidebar-shell__main {
133
+ .responsive-sidebar-shell[data-sidebar-open="true"]
134
+ > .responsive-sidebar-shell__frame
135
+ > .responsive-sidebar-shell__main {
141
136
  pointer-events: none;
142
137
  }
143
138
 
144
- .responsive-sidebar-shell__frame[data-sidebar-open="true"] .responsive-sidebar-shell__peek {
139
+ .responsive-sidebar-shell[data-sidebar-open="true"]
140
+ > .responsive-sidebar-shell__frame
141
+ > .responsive-sidebar-shell__peek {
145
142
  position: absolute;
146
143
  inset-block: 0;
147
144
  inset-inline: 0;
@@ -1,11 +1,3 @@
1
- .sources {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- font-family: inherit;
6
- color: var(--sigvelo-color-text);
7
- }
8
-
9
1
  .sources__trigger-label {
10
2
  display: inline-flex;
11
3
  align-items: center;