@mcp-b/react-components 0.12.0 → 0.14.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 (229) hide show
  1. package/dist/{AgentChat-CRmsKg9B.d.ts → AgentChat-Cgb1xuT7.d.ts} +36 -5
  2. package/dist/{Button-Ct5I6aTu.d.ts → Button-FX_hpqxm.d.ts} +8 -11
  3. package/dist/{CodeBlock-XNQOupQ3.js → CodeBlock-BUFXG8HW.js} +22 -12
  4. package/dist/{CodeBlock-CxQXv3C4.d.ts → CodeBlock-DUh9WOGo.d.ts} +13 -7
  5. package/dist/{Combobox-D9anamNr.d.ts → Combobox-B9Fcd6q-.d.ts} +4 -14
  6. package/dist/{FileTree-wMyZhhHO.js → FileTree-mpEIcfzA.js} +1 -1
  7. package/dist/{Menu-BLhnNnRK.d.ts → Menu-Bgu-ufb5.d.ts} +26 -65
  8. package/dist/{ModelSelector-BB-xB-Es.js → ModelSelector-DVgVBdvw.js} +7 -7
  9. package/dist/{PromptInput-IyM6ZETj.d.ts → PromptInput-ClNqBiIw.d.ts} +313 -46
  10. package/dist/Select-Dl_vF_Bt.d.ts +213 -0
  11. package/dist/{Tabs-D9EAq09D.d.ts → Tabs-3Zc4tb9D.d.ts} +9 -6
  12. package/dist/{ThinkChat-B3wYahor.js → ThinkChat-7DQ2CogF.js} +34 -2
  13. package/dist/{ThinkChatActivity-F4KFPcJA.d.ts → ThinkChatActivity-m9orbdeI.d.ts} +1 -1
  14. package/dist/{attachment-preview-ChtC3HiU.js → attachment-preview-DIs50Q0h.js} +3 -3
  15. package/dist/components/Accordion.d.ts +17 -6
  16. package/dist/components/Accordion.js +23 -36
  17. package/dist/components/Activity.d.ts +5 -5
  18. package/dist/components/Activity.js +9 -9
  19. package/dist/components/AgentChat.d.ts +1 -1
  20. package/dist/components/AgentChat.js +309 -116
  21. package/dist/components/AgentConnection.js +2 -2
  22. package/dist/components/AlertDialog.d.ts +40 -32
  23. package/dist/components/AlertDialog.js +46 -39
  24. package/dist/components/Artifact.d.ts +1 -1
  25. package/dist/components/Artifact.js +5 -5
  26. package/dist/components/Autocomplete.js +10 -2
  27. package/dist/components/Avatar.d.ts +2 -2
  28. package/dist/components/Avatar.js +3 -3
  29. package/dist/components/Badge.d.ts +11 -14
  30. package/dist/components/Badge.js +10 -18
  31. package/dist/components/BrowserLiveView.js +26 -36
  32. package/dist/components/BrowserReplay.js +4 -4
  33. package/dist/components/BrowserRunPanel.js +1 -1
  34. package/dist/components/Button.d.ts +2 -2
  35. package/dist/components/Button.js +7 -30
  36. package/dist/components/ChainOfThought.d.ts +5 -5
  37. package/dist/components/ChainOfThought.js +8 -5
  38. package/dist/components/ChatGptSignInScreen.js +3 -3
  39. package/dist/components/Checkbox.d.ts +10 -2
  40. package/dist/components/Checkbox.js +13 -6
  41. package/dist/components/CheckboxGroup.d.ts +6 -6
  42. package/dist/components/CheckboxGroup.js +6 -6
  43. package/dist/components/CodeBlock.d.ts +1 -1
  44. package/dist/components/CodeBlock.js +1 -1
  45. package/dist/components/CodexModelSelector.d.ts +23 -28
  46. package/dist/components/CodexModelSelector.js +116 -94
  47. package/dist/components/Collapsible.d.ts +2 -4
  48. package/dist/components/Collapsible.js +9 -7
  49. package/dist/components/Combobox.d.ts +2 -2
  50. package/dist/components/Combobox.js +20 -22
  51. package/dist/components/Commit.d.ts +5 -5
  52. package/dist/components/Commit.js +6 -6
  53. package/dist/components/Context.js +5 -1
  54. package/dist/components/ContextMenu.d.ts +20 -72
  55. package/dist/components/ContextMenu.js +46 -56
  56. package/dist/components/Conversation.d.ts +1 -1
  57. package/dist/components/Conversation.js +1 -1
  58. package/dist/components/Dialog.d.ts +38 -30
  59. package/dist/components/Dialog.js +46 -34
  60. package/dist/components/EnvironmentVariables.d.ts +1 -1
  61. package/dist/components/EnvironmentVariables.js +5 -5
  62. package/dist/components/Field.d.ts +3 -3
  63. package/dist/components/Field.js +7 -8
  64. package/dist/components/Fieldset.d.ts +2 -2
  65. package/dist/components/Fieldset.js +2 -2
  66. package/dist/components/FileTree.js +1 -1
  67. package/dist/components/Label.d.ts +1 -1
  68. package/dist/components/Label.js +1 -1
  69. package/dist/components/McpServerPicker.js +21 -19
  70. package/dist/components/Menu.d.ts +2 -2
  71. package/dist/components/Menu.js +39 -49
  72. package/dist/components/Menubar.d.ts +16 -52
  73. package/dist/components/Menubar.js +44 -56
  74. package/dist/components/Message.d.ts +1 -1
  75. package/dist/components/Message.js +6 -6
  76. package/dist/components/MessageScroller.d.ts +1 -1
  77. package/dist/components/MessageScroller.js +1 -1
  78. package/dist/components/Meter.js +5 -0
  79. package/dist/components/ModelSelector.d.ts +1 -1
  80. package/dist/components/ModelSelector.js +1 -1
  81. package/dist/components/NavigationMenu.d.ts +3 -14
  82. package/dist/components/NavigationMenu.js +22 -38
  83. package/dist/components/NumberField.js +6 -0
  84. package/dist/components/Popover.d.ts +21 -44
  85. package/dist/components/Popover.js +33 -23
  86. package/dist/components/PreviewCard.d.ts +20 -18
  87. package/dist/components/PreviewCard.js +30 -20
  88. package/dist/components/PricingPage.js +30 -29
  89. package/dist/components/Progress.d.ts +7 -3
  90. package/dist/components/Progress.js +9 -4
  91. package/dist/components/PromptInput.d.ts +2 -2
  92. package/dist/components/PromptInput.js +306 -54
  93. package/dist/components/Queue.d.ts +7 -7
  94. package/dist/components/Queue.js +6 -6
  95. package/dist/components/RadioGroup.d.ts +10 -9
  96. package/dist/components/RadioGroup.js +8 -9
  97. package/dist/components/Reasoning.d.ts +4 -4
  98. package/dist/components/Reasoning.js +10 -6
  99. package/dist/components/ScrollArea.d.ts +2 -9
  100. package/dist/components/ScrollArea.js +5 -23
  101. package/dist/components/Select.d.ts +2 -2
  102. package/dist/components/Select.js +100 -134
  103. package/dist/components/Slider.d.ts +10 -7
  104. package/dist/components/Slider.js +12 -11
  105. package/dist/components/Sources.d.ts +4 -4
  106. package/dist/components/Sources.js +8 -5
  107. package/dist/components/Stepper.js +1 -1
  108. package/dist/components/Switch.d.ts +6 -3
  109. package/dist/components/Switch.js +7 -4
  110. package/dist/components/Tabs.d.ts +2 -2
  111. package/dist/components/Tabs.js +9 -4
  112. package/dist/components/Task.d.ts +4 -4
  113. package/dist/components/Task.js +10 -6
  114. package/dist/components/Terminal.d.ts +2 -2
  115. package/dist/components/Terminal.js +5 -5
  116. package/dist/components/TestResults.d.ts +4 -4
  117. package/dist/components/TestResults.js +5 -5
  118. package/dist/components/ThinkChat.d.ts +14 -2
  119. package/dist/components/ThinkChat.js +1 -1
  120. package/dist/components/ThinkChatActivity.d.ts +1 -1
  121. package/dist/components/ThinkChatActivity.js +1 -1
  122. package/dist/components/ThinkChatToolPanels.js +8 -8
  123. package/dist/components/ThinkExecutionWorkbench.js +28 -28
  124. package/dist/components/ThinkFullApp.js +8 -8
  125. package/dist/components/ThinkThreadPicker.js +1 -1
  126. package/dist/components/ThinkThreadShell.js +5 -5
  127. package/dist/components/Toast.js +7 -0
  128. package/dist/components/ToggleGroup.d.ts +6 -2
  129. package/dist/components/ToggleGroup.js +6 -2
  130. package/dist/components/Toolbar.js +6 -0
  131. package/dist/components/Tooltip.d.ts +36 -27
  132. package/dist/components/Tooltip.js +45 -29
  133. package/dist/components/WebPreview.d.ts +1 -1
  134. package/dist/components/WebPreview.js +3 -3
  135. package/dist/components/WorkspaceExplorer.d.ts +6 -8
  136. package/dist/components/WorkspaceExplorer.js +6 -6
  137. package/dist/components/icons.d.ts +2 -2
  138. package/dist/components/icons.js +2 -2
  139. package/dist/{copy-button-C6JSKtFE.js → copy-button-DUMLYdsk.js} +7 -6
  140. package/dist/{copy-button-BKXqGiNm.d.ts → copy-button-DtPMgN7e.d.ts} +3 -2
  141. package/dist/icons-Ba9THQKz.js +64 -0
  142. package/dist/icons-CUCz_Sft.d.ts +210 -0
  143. package/dist/styles/accessibility.css +14 -0
  144. package/dist/styles/accordion.css +21 -61
  145. package/dist/styles/activity.css +23 -58
  146. package/dist/styles/agent-chat.css +45 -4
  147. package/dist/styles/agent-connection.css +8 -10
  148. package/dist/styles/alert-dialog.css +20 -26
  149. package/dist/styles/artifact.css +6 -6
  150. package/dist/styles/attachment-preview.css +1 -1
  151. package/dist/styles/autocomplete.css +5 -170
  152. package/dist/styles/avatar.css +8 -8
  153. package/dist/styles/badge.css +8 -10
  154. package/dist/styles/base-ui-motion.css +176 -0
  155. package/dist/styles/base.css +19 -25
  156. package/dist/styles/browser-live-view.css +7 -7
  157. package/dist/styles/browser-replay.css +5 -5
  158. package/dist/styles/browser-run-panel.css +5 -5
  159. package/dist/styles/button.css +48 -43
  160. package/dist/styles/card.css +3 -5
  161. package/dist/styles/chain-of-thought.css +14 -70
  162. package/dist/styles/chatgpt-sign-in-screen.css +3 -3
  163. package/dist/styles/checkbox-group.css +1 -1
  164. package/dist/styles/checkbox.css +3 -7
  165. package/dist/styles/code-block.css +10 -10
  166. package/dist/styles/codex-model-selector.css +33 -44
  167. package/dist/styles/collapsible.css +11 -27
  168. package/dist/styles/combobox.css +3 -149
  169. package/dist/styles/commit.css +19 -35
  170. package/dist/styles/context-menu.css +1 -77
  171. package/dist/styles/context.css +12 -12
  172. package/dist/styles/conversation.css +7 -7
  173. package/dist/styles/dialog.css +34 -55
  174. package/dist/styles/environment-variables.css +10 -10
  175. package/dist/styles/field.css +16 -58
  176. package/dist/styles/fieldset.css +2 -2
  177. package/dist/styles/file-tree.css +7 -9
  178. package/dist/styles/index.css +8 -1
  179. package/dist/styles/input.css +1 -51
  180. package/dist/styles/label.css +2 -2
  181. package/dist/styles/marker.css +2 -4
  182. package/dist/styles/mcp-server-picker.css +5 -5
  183. package/dist/styles/menu.css +6 -153
  184. package/dist/styles/menubar.css +6 -105
  185. package/dist/styles/message-scroller.css +1 -1
  186. package/dist/styles/message.css +86 -8
  187. package/dist/styles/meter.css +4 -20
  188. package/dist/styles/model-selector.css +13 -13
  189. package/dist/styles/navigation-menu.css +14 -54
  190. package/dist/styles/number-field.css +8 -23
  191. package/dist/styles/popover.css +13 -68
  192. package/dist/styles/preview-card.css +5 -46
  193. package/dist/styles/pricing-page.css +43 -43
  194. package/dist/styles/progress.css +7 -16
  195. package/dist/styles/prompt-input.css +185 -44
  196. package/dist/styles/queue.css +12 -28
  197. package/dist/styles/radio.css +4 -8
  198. package/dist/styles/reasoning.css +3 -62
  199. package/dist/styles/recipes.css +475 -0
  200. package/dist/styles/select.css +7 -103
  201. package/dist/styles/shell.css +3 -3
  202. package/dist/styles/slider.css +5 -7
  203. package/dist/styles/sources.css +9 -66
  204. package/dist/styles/stepper.css +16 -14
  205. package/dist/styles/streamdown.css +9 -9
  206. package/dist/styles/switch.css +4 -7
  207. package/dist/styles/tabs.css +7 -8
  208. package/dist/styles/task.css +13 -42
  209. package/dist/styles/terminal.css +7 -7
  210. package/dist/styles/test-results.css +21 -37
  211. package/dist/styles/think-execution-workbench.css +23 -23
  212. package/dist/styles/think-full-app.css +12 -20
  213. package/dist/styles/think-resize-handle.css +2 -2
  214. package/dist/styles/think-thread-picker.css +19 -10
  215. package/dist/styles/think-thread-shell.css +7 -7
  216. package/dist/styles/toast.css +14 -25
  217. package/dist/styles/toggle-group.css +16 -14
  218. package/dist/styles/toggle.css +14 -15
  219. package/dist/styles/toolbar.css +13 -25
  220. package/dist/styles/tooltip.css +6 -16
  221. package/dist/styles/web-preview.css +15 -15
  222. package/dist/styles/workspace-explorer.css +14 -13
  223. package/dist/utils/codex-model-catalog.d.ts +142 -0
  224. package/dist/utils/codex-model-catalog.js +112 -0
  225. package/dist/utils/structured-code.d.ts +1 -1
  226. package/package.json +8 -2
  227. package/dist/Select-CRsKCJ9x.d.ts +0 -200
  228. package/dist/icons-CbjtbIJK.d.ts +0 -51
  229. package/dist/icons-D2Q5n5C1.js +0 -291
@@ -1,22 +1,73 @@
1
1
  .prompt-input {
2
+ container: prompt-input / inline-size;
3
+ position: relative;
2
4
  display: flex;
3
5
  flex-direction: column;
4
- gap: 0.375rem;
5
- padding-block: 0.625rem;
6
- padding-inline: 0.75rem;
6
+ gap: var(--sigvelo-spacing-1-5);
7
+ padding-block: var(--sigvelo-spacing-2-5);
8
+ padding-inline: var(--sigvelo-spacing-3);
7
9
  background-color: var(--sigvelo-color-surface);
8
10
  /* Fields keep their border; hairline + soft shadow for the floating-composer look */
9
11
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
10
12
  var(--sigvelo-color-neutral-border-subtle);
11
13
  border-radius: var(--sigvelo-radius-xl);
12
14
  box-shadow: var(--sigvelo-shadow-sm);
13
- font-family: var(--sigvelo-font-sans);
15
+ font-family: inherit;
14
16
  color: var(--sigvelo-color-text);
15
17
  transition:
16
18
  border-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
17
19
  box-shadow var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
18
20
  }
19
21
 
22
+ .prompt-input__recording {
23
+ display: flex;
24
+ align-items: center;
25
+ gap: var(--sigvelo-spacing-2);
26
+ flex: 1;
27
+ min-width: 0;
28
+ }
29
+
30
+ .prompt-input__recording-add {
31
+ flex: 0 0 auto;
32
+ }
33
+
34
+ .prompt-input__recording-waveform {
35
+ flex: 1 1 auto;
36
+ min-inline-size: 0;
37
+ block-size: var(--sigvelo-spacing-4);
38
+ color: var(--sigvelo-color-text);
39
+ }
40
+
41
+ .prompt-input__recording-waveform canvas {
42
+ display: block;
43
+ inline-size: 100%;
44
+ block-size: 100%;
45
+ }
46
+
47
+ .prompt-input__recording-time {
48
+ min-inline-size: 2.5rem;
49
+ color: var(--sigvelo-color-text-muted);
50
+ font-variant-numeric: tabular-nums;
51
+ font-size: var(--sigvelo-text-sm);
52
+ text-align: end;
53
+ }
54
+
55
+ .prompt-input__recording-button {
56
+ flex: 0 0 auto;
57
+ border-radius: var(--sigvelo-radius-full);
58
+ }
59
+
60
+ .prompt-input__tools:has(.prompt-input__recording) {
61
+ flex: 1;
62
+ flex-wrap: nowrap;
63
+ width: 100%;
64
+ }
65
+
66
+ .prompt-input__tools:has(.prompt-input__recording) > :not(.prompt-input__recording),
67
+ .prompt-input__footer:has(.prompt-input__recording) > :not(.prompt-input__tools) {
68
+ display: none;
69
+ }
70
+
20
71
  .prompt-input__file-input {
21
72
  position: fixed;
22
73
  inline-size: 1px;
@@ -39,7 +90,7 @@
39
90
  display: flex;
40
91
  flex-wrap: wrap;
41
92
  align-items: center;
42
- gap: 0.375rem;
93
+ gap: var(--sigvelo-spacing-1-5);
43
94
  min-height: 1.5rem;
44
95
  }
45
96
 
@@ -47,7 +98,7 @@
47
98
  display: flex;
48
99
  flex-wrap: wrap;
49
100
  align-items: center;
50
- gap: 0.375rem;
101
+ gap: var(--sigvelo-spacing-1-5);
51
102
  }
52
103
 
53
104
  /* Hairline chip, borderless-direction: no fill, just the outline. */
@@ -55,13 +106,13 @@
55
106
  position: relative;
56
107
  display: inline-flex;
57
108
  align-items: center;
58
- gap: 0.375rem;
109
+ gap: var(--sigvelo-spacing-1-5);
59
110
  max-width: 14rem;
60
111
  padding: 0.25rem 0.5rem;
61
112
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
62
113
  var(--sigvelo-color-neutral-border-subtle);
63
114
  border-radius: var(--sigvelo-radius-md);
64
- font-size: 0.75rem;
115
+ font-size: var(--sigvelo-text-xs);
65
116
  color: var(--sigvelo-color-text);
66
117
  }
67
118
 
@@ -100,7 +151,7 @@
100
151
  display: inline-flex;
101
152
  align-items: center;
102
153
  justify-content: center;
103
- padding: 0.125rem;
154
+ padding: var(--sigvelo-spacing-0-5);
104
155
  border: none;
105
156
  border-radius: var(--sigvelo-radius-sm);
106
157
  background: none;
@@ -110,8 +161,8 @@
110
161
 
111
162
  .prompt-input__attachment[data-image] .prompt-input__attachment-remove {
112
163
  position: absolute;
113
- inset-block-start: 0.125rem;
114
- inset-inline-end: 0.125rem;
164
+ inset-block-start: var(--sigvelo-spacing-0-5);
165
+ inset-inline-end: var(--sigvelo-spacing-0-5);
115
166
  background-color: color-mix(in oklab, var(--sigvelo-color-surface), transparent 20%);
116
167
  }
117
168
 
@@ -134,7 +185,7 @@
134
185
  background-color: transparent;
135
186
  color: var(--sigvelo-color-text);
136
187
  font-family: inherit;
137
- font-size: 0.875rem;
188
+ font-size: var(--sigvelo-text-sm);
138
189
  line-height: 1.5;
139
190
  resize: none;
140
191
  overflow-y: hidden;
@@ -176,7 +227,7 @@
176
227
  }
177
228
 
178
229
  .prompt-input__button {
179
- gap: 0.375rem;
230
+ gap: var(--sigvelo-spacing-1-5);
180
231
  color: var(--sigvelo-color-text-muted);
181
232
  }
182
233
 
@@ -184,6 +235,65 @@
184
235
  color: var(--sigvelo-color-text);
185
236
  }
186
237
 
238
+ .prompt-input__dictation {
239
+ min-inline-size: 2.75rem;
240
+ min-block-size: 2.75rem;
241
+ }
242
+
243
+ .prompt-input__dictation[data-listening] {
244
+ color: var(--sigvelo-color-primary-bg);
245
+ background-color: var(--sigvelo-color-primary-bg-subtle);
246
+ }
247
+
248
+ .prompt-input__dictation[data-error] {
249
+ color: var(--sigvelo-color-danger-text);
250
+ }
251
+
252
+ .prompt-input__dictation-icon {
253
+ --prompt-input-dictation-level: 0;
254
+
255
+ position: relative;
256
+ display: inline-flex;
257
+ align-items: center;
258
+ justify-content: center;
259
+ }
260
+
261
+ .prompt-input__dictation[data-listening] .prompt-input__dictation-icon::before {
262
+ position: absolute;
263
+ inline-size: 1.75rem;
264
+ block-size: 1.75rem;
265
+ border: var(--sigvelo-border-width) solid currentColor;
266
+ border-radius: 999rem;
267
+ opacity: calc(0.2 + var(--prompt-input-dictation-level) * 0.6);
268
+ transform: scale(calc(0.8 + var(--prompt-input-dictation-level) * 0.25));
269
+ transition:
270
+ opacity 75ms linear,
271
+ transform 75ms linear;
272
+ content: "";
273
+ }
274
+
275
+ .prompt-input__dictation[data-starting] .prompt-input__dictation-icon {
276
+ animation: prompt-input-spin 900ms linear infinite;
277
+ }
278
+
279
+ .prompt-input__dictation-status {
280
+ position: absolute;
281
+ inline-size: 1px;
282
+ block-size: 1px;
283
+ margin: -1px;
284
+ padding: 0;
285
+ overflow: hidden;
286
+ clip-path: inset(50%);
287
+ white-space: nowrap;
288
+ border: 0;
289
+ }
290
+
291
+ @media (prefers-reduced-motion: reduce) {
292
+ .prompt-input__dictation[data-listening] .prompt-input__dictation-icon::before {
293
+ transition: none;
294
+ }
295
+ }
296
+
187
297
  .prompt-input__tools .prompt-input__action-menu-trigger[data-popup-open] {
188
298
  color: var(--sigvelo-color-text);
189
299
  background-color: color-mix(in oklab, transparent, var(--sigvelo-color-text) 5%);
@@ -225,16 +335,15 @@
225
335
  margin-inline-end: 0.5rem;
226
336
  }
227
337
 
228
- /* Undo .menu__trigger's boxed chrome — this trigger is a ghost footer button
229
- like its neighbors: transparent at rest, background only on hover/open. */
230
338
  .prompt-input__permissions-trigger {
231
339
  gap: 0.25rem;
232
- padding-block: 0.25rem;
233
- padding-inline: 0.5rem;
234
- font-size: 0.75rem;
235
- font-weight: inherit;
236
- background: none;
237
- border: none;
340
+ }
341
+
342
+ .prompt-input__permissions-icon {
343
+ display: inline-flex;
344
+ align-items: center;
345
+ justify-content: center;
346
+ flex: 0 0 auto;
238
347
  }
239
348
 
240
349
  .prompt-input__permissions-trigger:hover,
@@ -263,6 +372,38 @@
263
372
  white-space: nowrap;
264
373
  }
265
374
 
375
+ @container prompt-input (max-width: 36rem) {
376
+ .prompt-input__footer {
377
+ gap: var(--sigvelo-spacing-1);
378
+ }
379
+
380
+ .prompt-input__tools {
381
+ min-width: 0;
382
+ flex-wrap: nowrap;
383
+ }
384
+
385
+ .prompt-input__button[data-responsive-label] {
386
+ inline-size: 2.75rem;
387
+ min-block-size: 2.75rem;
388
+ padding-inline: 0;
389
+ border-radius: var(--sigvelo-radius-full);
390
+ }
391
+
392
+ .prompt-input__button[data-responsive-label] > span,
393
+ .prompt-input__permissions-current,
394
+ .prompt-input__permissions-chevron {
395
+ display: none;
396
+ }
397
+
398
+ .prompt-input__permissions-trigger {
399
+ inline-size: 2.75rem;
400
+ min-block-size: 2.75rem;
401
+ padding-inline: 0;
402
+ justify-content: center;
403
+ border-radius: var(--sigvelo-radius-full);
404
+ }
405
+ }
406
+
266
407
  .prompt-input__permissions-current-option:not([data-active]) {
267
408
  visibility: hidden;
268
409
  }
@@ -272,9 +413,9 @@
272
413
  }
273
414
 
274
415
  .prompt-input__permissions-question {
275
- padding-block: 0.375rem;
276
- padding-inline: 0.75rem;
277
- font-size: 0.75rem;
416
+ padding-block: var(--sigvelo-spacing-1-5);
417
+ padding-inline: var(--sigvelo-spacing-3);
418
+ font-size: var(--sigvelo-text-xs);
278
419
  color: var(--sigvelo-color-text-muted);
279
420
  }
280
421
 
@@ -285,16 +426,16 @@
285
426
  .prompt-input__permissions-option-text {
286
427
  display: flex;
287
428
  flex-direction: column;
288
- gap: 0.125rem;
429
+ gap: var(--sigvelo-spacing-0-5);
289
430
  min-width: 0;
290
431
  }
291
432
 
292
433
  .prompt-input__permissions-option-label {
293
- font-size: 0.8125rem;
434
+ font-size: var(--sigvelo-text-compact);
294
435
  }
295
436
 
296
437
  .prompt-input__permissions-option-description {
297
- font-size: 0.75rem;
438
+ font-size: var(--sigvelo-text-xs);
298
439
  color: var(--sigvelo-color-text-muted);
299
440
  }
300
441
 
@@ -305,8 +446,8 @@
305
446
  }
306
447
 
307
448
  .prompt-input__permissions-check::before {
308
- width: 0.625rem;
309
- height: 0.375rem;
449
+ width: var(--sigvelo-spacing-2-5);
450
+ height: var(--sigvelo-spacing-1-5);
310
451
  background-color: transparent;
311
452
  border-radius: 0;
312
453
  border-inline-start: 2px solid currentColor;
@@ -322,10 +463,10 @@
322
463
  .prompt-input__hover-card-content {
323
464
  position: absolute;
324
465
  z-index: 20;
325
- inset-block-start: calc(100% + 0.375rem);
466
+ inset-block-start: calc(100% + var(--sigvelo-spacing-1-5));
326
467
  inset-inline-start: 0;
327
468
  min-width: 14rem;
328
- padding: 0.75rem;
469
+ padding: var(--sigvelo-spacing-3);
329
470
  color: var(--sigvelo-color-text);
330
471
  background-color: var(--sigvelo-color-surface);
331
472
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
@@ -337,7 +478,7 @@
337
478
  .prompt-input__tab-label {
338
479
  margin: 0;
339
480
  color: var(--sigvelo-color-text-muted);
340
- font-size: 0.75rem;
481
+ font-size: var(--sigvelo-text-xs);
341
482
  font-weight: var(--sigvelo-font-weight-semibold);
342
483
  }
343
484
 
@@ -346,8 +487,8 @@
346
487
  align-items: center;
347
488
  gap: 0.5rem;
348
489
  padding-block: 0.5rem;
349
- padding-inline: 0.75rem;
350
- font-size: 0.75rem;
490
+ padding-inline: var(--sigvelo-spacing-3);
491
+ font-size: var(--sigvelo-text-xs);
351
492
  }
352
493
 
353
494
  .prompt-input__command-list {
@@ -360,7 +501,7 @@
360
501
  display: flex;
361
502
  flex-direction: column;
362
503
  gap: 0.5rem;
363
- font-size: 0.8125rem;
504
+ font-size: var(--sigvelo-text-compact);
364
505
  /* Zero intrinsic inline size: long tool names, paths, and one-line JSON in
365
506
  the confirmation must never widen the composer or the chat column around
366
507
  it — same containment trick as the conversation viewport. */
@@ -388,13 +529,13 @@
388
529
  margin-inline-start: auto;
389
530
  flex-shrink: 0;
390
531
  color: var(--sigvelo-color-text-muted);
391
- font-size: 0.75rem;
532
+ font-size: var(--sigvelo-text-xs);
392
533
  }
393
534
 
394
535
  .prompt-input__approval-preview {
395
536
  max-height: 6rem;
396
- padding-block: 0.375rem;
397
- padding-inline: 0.625rem;
537
+ padding-block: var(--sigvelo-spacing-1-5);
538
+ padding-inline: var(--sigvelo-spacing-2-5);
398
539
  overflow: auto;
399
540
  /* Long values wrap and scroll vertically within the cap — never sideways. */
400
541
  overflow-wrap: anywhere;
@@ -403,7 +544,7 @@
403
544
  border-radius: var(--sigvelo-radius-md);
404
545
  color: var(--sigvelo-color-text-muted);
405
546
  font-family: var(--sigvelo-font-mono);
406
- font-size: 0.75rem;
547
+ font-size: var(--sigvelo-text-xs);
407
548
  line-height: 1.5;
408
549
  }
409
550
 
@@ -418,7 +559,7 @@
418
559
  .prompt-input__approval-options {
419
560
  display: flex;
420
561
  flex-direction: column;
421
- gap: 0.125rem;
562
+ gap: var(--sigvelo-spacing-0-5);
422
563
  }
423
564
 
424
565
  .prompt-input__approval-option {
@@ -457,7 +598,7 @@
457
598
  var(--sigvelo-color-neutral-border-subtle);
458
599
  border-radius: var(--sigvelo-radius-full);
459
600
  color: var(--sigvelo-color-text-muted);
460
- font-size: 0.6875rem;
601
+ font-size: var(--sigvelo-text-2xs);
461
602
  }
462
603
 
463
604
  .prompt-input__approval-option[data-selected] .prompt-input__approval-key {
@@ -469,7 +610,7 @@
469
610
  .prompt-input__approval-arrows {
470
611
  margin-inline-start: auto;
471
612
  color: var(--sigvelo-color-text-muted);
472
- font-size: 0.75rem;
613
+ font-size: var(--sigvelo-text-xs);
473
614
  visibility: hidden;
474
615
  }
475
616
 
@@ -506,7 +647,7 @@
506
647
 
507
648
  .prompt-input__approval-submit {
508
649
  flex-shrink: 0;
509
- gap: 0.375rem;
650
+ gap: var(--sigvelo-spacing-1-5);
510
651
  }
511
652
 
512
653
  .prompt-input__approval-kbd {
@@ -526,7 +667,7 @@
526
667
 
527
668
  @media (prefers-reduced-motion: reduce) {
528
669
  .prompt-input__submit-spinner {
529
- animation-duration: 3s;
670
+ animation: none;
530
671
  }
531
672
  }
532
673
 
@@ -3,7 +3,7 @@
3
3
  flex-direction: column;
4
4
  gap: 0.5rem;
5
5
  width: 100%;
6
- font-family: var(--sigvelo-font-sans);
6
+ font-family: inherit;
7
7
  color: var(--sigvelo-color-text);
8
8
  }
9
9
 
@@ -22,7 +22,7 @@
22
22
  border: none;
23
23
  border-radius: var(--sigvelo-radius-sm);
24
24
  font-family: inherit;
25
- font-size: 0.75rem;
25
+ font-size: var(--sigvelo-text-xs);
26
26
  font-weight: var(--sigvelo-font-weight-bold);
27
27
  text-transform: uppercase;
28
28
  letter-spacing: 0.05em;
@@ -41,14 +41,12 @@
41
41
 
42
42
  .queue__section-trigger:focus-visible {
43
43
  outline: none;
44
- box-shadow:
45
- 0 0 0 2px var(--sigvelo-color-canvas),
46
- 0 0 0 4px var(--sigvelo-color-focus);
44
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
47
45
  }
48
46
 
49
47
  .queue__section-icon {
50
48
  display: inline-flex;
51
- transition: transform 200ms ease;
49
+ transition: transform var(--sigvelo-duration-medium) var(--sigvelo-ease-standard);
52
50
  }
53
51
 
54
52
  .queue__section-trigger[data-panel-open] .queue__section-icon {
@@ -65,20 +63,6 @@
65
63
  /* Badge sm already sized appropriately */
66
64
  }
67
65
 
68
- .queue__section-content {
69
- height: var(--collapsible-panel-height);
70
- overflow: hidden;
71
- transition:
72
- height 200ms ease,
73
- opacity 200ms ease;
74
- }
75
-
76
- .queue__section-content[data-starting-style],
77
- .queue__section-content[data-ending-style] {
78
- height: 0;
79
- opacity: 0;
80
- }
81
-
82
66
  .queue__list {
83
67
  margin-block: 0.5rem 0.25rem;
84
68
  }
@@ -94,7 +78,7 @@
94
78
  .queue__list-inner {
95
79
  display: flex;
96
80
  flex-direction: column;
97
- gap: 0.125rem;
81
+ gap: var(--sigvelo-spacing-0-5);
98
82
  margin: 0;
99
83
  padding: 0;
100
84
  list-style: none;
@@ -103,7 +87,7 @@
103
87
  .queue__item {
104
88
  display: flex;
105
89
  align-items: flex-start;
106
- gap: 0.625rem;
90
+ gap: var(--sigvelo-spacing-2-5);
107
91
  padding-block: 0.5rem;
108
92
  padding-inline: 0.5rem;
109
93
  border-radius: var(--sigvelo-radius-sm);
@@ -134,7 +118,7 @@
134
118
  justify-content: center;
135
119
  width: 1rem;
136
120
  height: 1rem;
137
- margin-block-start: 0.125rem;
121
+ margin-block-start: var(--sigvelo-spacing-0-5);
138
122
  border-radius: var(--sigvelo-radius-full);
139
123
  color: var(--sigvelo-color-text-muted);
140
124
  flex-shrink: 0;
@@ -155,14 +139,14 @@
155
139
  display: flex;
156
140
  flex-direction: column;
157
141
  gap: 0.25rem;
158
- font-size: 0.875rem;
142
+ font-size: var(--sigvelo-text-sm);
159
143
  color: var(--sigvelo-color-text);
160
144
  line-height: 1.4;
161
145
  }
162
146
 
163
147
  .queue__item-description {
164
148
  margin: 0;
165
- font-size: 0.75rem;
149
+ font-size: var(--sigvelo-text-xs);
166
150
  color: var(--sigvelo-color-text-muted);
167
151
  line-height: 1.4;
168
152
  }
@@ -192,7 +176,7 @@
192
176
  .queue__item-attachment {
193
177
  display: flex;
194
178
  align-items: center;
195
- gap: 0.375rem;
179
+ gap: var(--sigvelo-spacing-1-5);
196
180
  margin-block-start: 0.25rem;
197
181
  }
198
182
 
@@ -208,12 +192,12 @@
208
192
  .queue__item-file {
209
193
  display: inline-flex;
210
194
  align-items: center;
211
- gap: 0.375rem;
195
+ gap: var(--sigvelo-spacing-1-5);
212
196
  padding-block: 0.3125rem;
213
197
  padding-inline: 0.5rem;
214
198
  background-color: var(--sigvelo-color-neutral-bg-subtle);
215
199
  border-radius: var(--sigvelo-radius-sm);
216
- font-size: 0.75rem;
200
+ font-size: var(--sigvelo-text-xs);
217
201
  color: var(--sigvelo-color-text);
218
202
  }
219
203
 
@@ -1,6 +1,6 @@
1
1
  .radio-group {
2
2
  display: flex;
3
- gap: 0.75rem;
3
+ gap: var(--sigvelo-spacing-3);
4
4
  }
5
5
 
6
6
  .radio-group--vertical {
@@ -39,9 +39,7 @@
39
39
 
40
40
  .radio:focus-visible {
41
41
  outline: none;
42
- box-shadow:
43
- 0 0 0 2px var(--sigvelo-color-canvas),
44
- 0 0 0 4px var(--sigvelo-color-focus);
42
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
45
43
  }
46
44
 
47
45
  .radio[data-checked] {
@@ -54,13 +52,11 @@
54
52
  }
55
53
 
56
54
  .radio:is([aria-invalid="true"], [data-invalid="true"], [data-invalid=""]):focus-visible {
57
- box-shadow:
58
- 0 0 0 2px var(--sigvelo-color-canvas),
59
- 0 0 0 4px color-mix(in oklab, var(--sigvelo-color-danger-bg), transparent 80%);
55
+ box-shadow: var(--sigvelo-recipe-invalid-focus-shadow);
60
56
  }
61
57
 
62
58
  .radio[data-disabled] {
63
- opacity: 0.5;
59
+ opacity: var(--sigvelo-recipe-disabled-opacity);
64
60
  cursor: not-allowed;
65
61
  }
66
62
 
@@ -2,41 +2,10 @@
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  width: 100%;
5
- font-family: var(--sigvelo-font-sans);
6
- color: var(--sigvelo-color-text);
7
- }
8
-
9
- .reasoning__trigger {
10
- display: inline-flex;
11
- align-items: center;
12
- gap: 0.5rem;
13
- padding-block: 0.5rem;
14
- padding-inline: 0.75rem;
15
- background-color: transparent;
16
- border: none;
17
- border-radius: var(--sigvelo-radius-sm);
18
- color: var(--sigvelo-color-text-muted);
19
5
  font-family: inherit;
20
- font-size: 0.8125rem;
21
- font-weight: var(--sigvelo-font-weight-semibold);
22
- cursor: pointer;
23
- transition:
24
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
25
- color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
26
- }
27
-
28
- .reasoning__trigger:hover:not([data-disabled]) {
29
- background-color: var(--sigvelo-color-neutral-bg-subtle);
30
6
  color: var(--sigvelo-color-text);
31
7
  }
32
8
 
33
- .reasoning__trigger:focus-visible {
34
- outline: none;
35
- box-shadow:
36
- 0 0 0 2px var(--sigvelo-color-canvas),
37
- 0 0 0 4px var(--sigvelo-color-focus);
38
- }
39
-
40
9
  .reasoning__trigger[data-streaming] .reasoning__trigger-label {
41
10
  animation: reasoning-pulse 1400ms ease-in-out infinite;
42
11
  }
@@ -52,42 +21,19 @@
52
21
  }
53
22
 
54
23
  .reasoning__trigger-icon {
55
- display: inline-flex;
56
24
  color: var(--sigvelo-color-text-muted);
57
25
  }
58
26
 
59
- .reasoning__trigger-icon {
60
- transition: transform 200ms ease;
61
- }
62
-
63
- .reasoning__trigger[data-panel-open] .reasoning__trigger-icon {
64
- transform: rotate(90deg);
65
- }
66
-
67
- .reasoning__content {
68
- height: var(--collapsible-panel-height);
69
- overflow: hidden;
70
- transition:
71
- height 200ms ease,
72
- opacity 200ms ease;
73
- }
74
-
75
- .reasoning__content[data-starting-style],
76
- .reasoning__content[data-ending-style] {
77
- height: 0;
78
- opacity: 0;
79
- }
80
-
81
27
  .reasoning__text {
82
28
  /* Bounded so expanding never blows out the conversation scroll position */
83
29
  max-height: 20rem;
84
30
  overflow-y: auto;
85
31
  padding-block: 0.5rem;
86
- padding-inline: 0.75rem;
87
- margin-inline-start: 0.75rem;
32
+ padding-inline: var(--sigvelo-spacing-3);
33
+ margin-inline-start: var(--sigvelo-spacing-3);
88
34
  border-inline-start: var(--sigvelo-border-style) 2px var(--sigvelo-color-neutral-border-subtle);
89
35
  color: var(--sigvelo-color-text-muted);
90
- font-size: 0.8125rem;
36
+ font-size: var(--sigvelo-text-compact);
91
37
  line-height: 1.6;
92
38
  }
93
39
 
@@ -115,9 +61,4 @@
115
61
  .reasoning__text {
116
62
  border-inline-start: 2px solid CanvasText;
117
63
  }
118
-
119
- .reasoning__trigger:focus-visible {
120
- outline: 2px solid Highlight;
121
- outline-offset: 2px;
122
- }
123
64
  }