@mcp-b/react-components 0.14.2 → 0.16.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 (234) hide show
  1. package/dist/AgentActivity-BNUNrP9O.d.ts +36 -0
  2. package/dist/{AgentChat-DQkqt82e.d.ts → AgentChat-CrlpbvQJ.d.ts} +58 -6
  3. package/dist/{CodeBlock-DUh9WOGo.d.ts → CodeBlock-BRajW4QU.d.ts} +1 -1
  4. package/dist/{CodeBlock-BUFXG8HW.js → CodeBlock-BmB4Xaqq.js} +15 -4
  5. package/dist/{FileTree-mpEIcfzA.js → FileTree-CkVbIMWV.js} +82 -89
  6. package/dist/Message-BkMdE3bS.js +375 -0
  7. package/dist/{ModelSelector-CPCpFAUt.js → ModelSelector-SlJNgwKY.js} +2 -2
  8. package/dist/{PromptInput-ClNqBiIw.d.ts → PromptInput-BWTuXMOD.d.ts} +123 -5
  9. package/dist/ResponsiveSidebarShell-Dd9DCcBT.d.ts +67 -0
  10. package/dist/{Select-Dl_vF_Bt.d.ts → Select-BeEsefzh.d.ts} +12 -2
  11. package/dist/{ThinkChat-BPcehdbP.js → ThinkChat-CzC-zNGA.js} +24 -36
  12. package/dist/{ThinkChatActivity-BmwuIigx.d.ts → ThinkChatActivity-BFQnb2ct.d.ts} +3 -10
  13. package/dist/ThinkChatActivitySummary-BPmu9a-c.d.ts +39 -0
  14. package/dist/{ThinkChatToolParts-CDEjqS6A.d.ts → ThinkChatToolParts-CSzVwMXf.d.ts} +13 -3
  15. package/dist/ThinkExecutionRun-ChhWhOoU.d.ts +30 -0
  16. package/dist/Toggle-CAAlNl-M.d.ts +69 -0
  17. package/dist/ToggleGroup-8hPv-b69.d.ts +73 -0
  18. package/dist/Workspace-D39LxGvP.d.ts +62 -0
  19. package/dist/WorkspaceFile-DOZkPwzu.d.ts +106 -0
  20. package/dist/WorkspaceFileView-rSN_yT0L.js +744 -0
  21. package/dist/WorkspaceLink-DIPbXrUM.js +337 -0
  22. package/dist/WorkspaceLink-DK1DWMHe.d.ts +89 -0
  23. package/dist/components/Activity.d.ts +27 -1
  24. package/dist/components/Activity.js +33 -15
  25. package/dist/components/AgentActivity.d.ts +2 -0
  26. package/dist/components/AgentActivity.js +45 -0
  27. package/dist/components/AgentActivityPreview.d.ts +46 -0
  28. package/dist/components/AgentActivityPreview.js +94 -0
  29. package/dist/components/AgentAttention.d.ts +73 -0
  30. package/dist/components/AgentAttention.js +85 -0
  31. package/dist/components/AgentChat.d.ts +2 -2
  32. package/dist/components/AgentChat.js +224 -200
  33. package/dist/components/AgentChatMessageEditor.d.ts +29 -0
  34. package/dist/components/AgentChatMessageEditor.js +92 -0
  35. package/dist/components/AgentChatTurnError.d.ts +17 -0
  36. package/dist/components/AgentChatTurnError.js +40 -0
  37. package/dist/components/AgentConnection.d.ts +12 -17
  38. package/dist/components/AgentConnection.js +99 -91
  39. package/dist/components/AppFrame.d.ts +24 -0
  40. package/dist/components/AppFrame.js +25 -0
  41. package/dist/components/AppTopBar.d.ts +71 -0
  42. package/dist/components/AppTopBar.js +82 -0
  43. package/dist/components/Artifact.js +1 -1
  44. package/dist/components/BrowserLiveView.js +1 -1
  45. package/dist/components/BrowserReplay.js +1 -1
  46. package/dist/components/BrowserRunPanel.js +1 -1
  47. package/dist/components/Card.d.ts +3 -0
  48. package/dist/components/Card.js +2 -1
  49. package/dist/components/ChainOfThought.d.ts +1 -1
  50. package/dist/components/ChainOfThought.js +1 -1
  51. package/dist/components/ChatGptSignInScreen.js +2 -2
  52. package/dist/components/Checkbox.js +5 -13
  53. package/dist/components/CheckboxGroup.d.ts +58 -2
  54. package/dist/components/CheckboxGroup.js +59 -1
  55. package/dist/components/CodeBlock.d.ts +1 -1
  56. package/dist/components/CodeBlock.js +1 -1
  57. package/dist/components/CodexModelSelector.js +1 -1
  58. package/dist/components/Commit.js +2 -2
  59. package/dist/components/ContextMenu.js +1 -1
  60. package/dist/components/Conversation.js +1 -1
  61. package/dist/components/DescriptionList.d.ts +12 -0
  62. package/dist/components/DescriptionList.js +11 -0
  63. package/dist/components/DescriptionListParts.d.ts +37 -0
  64. package/dist/components/DescriptionListParts.js +35 -0
  65. package/dist/components/EnvironmentVariables.js +2 -2
  66. package/dist/components/Fieldset.d.ts +13 -1
  67. package/dist/components/Fieldset.js +11 -2
  68. package/dist/components/FileTree.js +1 -1
  69. package/dist/components/IconButton.d.ts +33 -0
  70. package/dist/components/IconButton.js +27 -0
  71. package/dist/components/McpConnectionRequest.d.ts +44 -0
  72. package/dist/components/McpConnectionRequest.js +122 -0
  73. package/dist/components/McpServerPicker.d.ts +48 -23
  74. package/dist/components/McpServerPicker.js +238 -189
  75. package/dist/components/Menubar.js +1 -1
  76. package/dist/components/Message.d.ts +1 -0
  77. package/dist/components/Message.js +1 -285
  78. package/dist/components/MessageScroller.js +1 -1
  79. package/dist/components/ModelSelector.js +1 -1
  80. package/dist/components/Pricing.d.ts +37 -0
  81. package/dist/components/Pricing.js +17 -0
  82. package/dist/components/PricingBillingToggle.d.ts +23 -0
  83. package/dist/components/PricingBillingToggle.js +86 -0
  84. package/dist/components/PricingConfirmationDialog.d.ts +25 -0
  85. package/dist/components/PricingConfirmationDialog.js +57 -0
  86. package/dist/components/PricingFAQ.d.ts +18 -0
  87. package/dist/components/PricingFAQ.js +27 -0
  88. package/dist/components/PricingPage.d.ts +2 -38
  89. package/dist/components/PricingPage.js +39 -359
  90. package/dist/components/PricingPlanCard.d.ts +22 -0
  91. package/dist/components/PricingPlanCard.js +109 -0
  92. package/dist/components/PricingUsageCalculator.d.ts +22 -0
  93. package/dist/components/PricingUsageCalculator.js +96 -0
  94. package/dist/components/PromptInput.d.ts +2 -2
  95. package/dist/components/PromptInput.js +210 -15
  96. package/dist/components/Queue.js +1 -1
  97. package/dist/components/Reasoning.d.ts +2 -1
  98. package/dist/components/Reasoning.js +14 -29
  99. package/dist/components/ResizableSidePanel.d.ts +57 -0
  100. package/dist/components/ResizableSidePanel.js +151 -0
  101. package/dist/components/ResponsiveSidebarShell.d.ts +2 -0
  102. package/dist/components/ResponsiveSidebarShell.js +129 -0
  103. package/dist/components/Select.d.ts +2 -2
  104. package/dist/components/Select.js +11 -2
  105. package/dist/components/Slider.d.ts +13 -1
  106. package/dist/components/Slider.js +11 -0
  107. package/dist/components/Sources.js +1 -1
  108. package/dist/components/Stepper.d.ts +4 -0
  109. package/dist/components/Stepper.js +5 -3
  110. package/dist/components/SubagentRun.d.ts +18 -19
  111. package/dist/components/SubagentRun.js +25 -18
  112. package/dist/components/SubagentRunIndicator.d.ts +22 -0
  113. package/dist/components/SubagentRunIndicator.js +33 -0
  114. package/dist/components/SubagentRunList.d.ts +25 -0
  115. package/dist/components/SubagentRunList.js +26 -0
  116. package/dist/components/SubagentRunSelector.d.ts +47 -0
  117. package/dist/components/SubagentRunSelector.js +55 -0
  118. package/dist/components/Task.js +1 -1
  119. package/dist/components/Terminal.js +2 -2
  120. package/dist/components/TestResults.js +1 -1
  121. package/dist/components/Textarea.d.ts +21 -0
  122. package/dist/components/Textarea.js +19 -0
  123. package/dist/components/ThemeModeControl.d.ts +24 -0
  124. package/dist/components/ThemeModeControl.js +52 -0
  125. package/dist/components/ThemeProvider.d.ts +38 -0
  126. package/dist/components/ThemeProvider.js +80 -0
  127. package/dist/components/ThinkChat.d.ts +29 -6
  128. package/dist/components/ThinkChat.js +7 -4
  129. package/dist/components/ThinkChatActivity.d.ts +3 -2
  130. package/dist/components/ThinkChatActivity.js +12 -318
  131. package/dist/components/ThinkChatActivitySummary.d.ts +2 -0
  132. package/dist/components/ThinkChatActivitySummary.js +421 -0
  133. package/dist/components/ThinkChatToolPanels.d.ts +7 -5
  134. package/dist/components/ThinkChatToolPanels.js +70 -8
  135. package/dist/components/ThinkChatToolParts.d.ts +2 -2
  136. package/dist/components/ThinkChatToolParts.js +36 -10
  137. package/dist/components/ThinkExecutionDetail.d.ts +20 -0
  138. package/dist/components/ThinkExecutionDetail.js +80 -0
  139. package/dist/components/ThinkExecutionRun.d.ts +2 -0
  140. package/dist/components/ThinkExecutionRun.js +72 -0
  141. package/dist/components/ThinkExecutionStatus.d.ts +22 -0
  142. package/dist/components/ThinkExecutionStatus.js +36 -0
  143. package/dist/components/ThinkExecutionWorkbench.d.ts +7 -0
  144. package/dist/components/ThinkExecutionWorkbench.js +69 -225
  145. package/dist/components/ThinkFullApp.d.ts +58 -14
  146. package/dist/components/ThinkFullApp.js +129 -160
  147. package/dist/components/ThinkFullAppViewSwitch.d.ts +31 -0
  148. package/dist/components/ThinkFullAppViewSwitch.js +34 -0
  149. package/dist/components/ThinkRoutine.d.ts +36 -0
  150. package/dist/components/ThinkRoutine.js +15 -0
  151. package/dist/components/ThinkRoutineBrowser.d.ts +25 -0
  152. package/dist/components/ThinkRoutineBrowser.js +156 -0
  153. package/dist/components/ThinkRoutineDetail.d.ts +24 -0
  154. package/dist/components/ThinkRoutineDetail.js +102 -0
  155. package/dist/components/ThinkRoutineForm.d.ts +32 -0
  156. package/dist/components/ThinkRoutineForm.js +151 -0
  157. package/dist/components/ThinkRoutineLibrary.d.ts +74 -0
  158. package/dist/components/ThinkRoutineLibrary.js +178 -0
  159. package/dist/components/ThinkRoutineRuns.d.ts +24 -0
  160. package/dist/components/ThinkRoutineRuns.js +68 -0
  161. package/dist/components/ThinkThreadPicker.d.ts +18 -1
  162. package/dist/components/ThinkThreadPicker.js +51 -5
  163. package/dist/components/ThinkThreadShell.d.ts +12 -9
  164. package/dist/components/ThinkThreadShell.js +17 -137
  165. package/dist/components/Toggle.d.ts +1 -68
  166. package/dist/components/ToggleGroup.d.ts +1 -72
  167. package/dist/components/Tooltip.d.ts +3 -1
  168. package/dist/components/Tooltip.js +4 -2
  169. package/dist/components/WebPreview.js +1 -1
  170. package/dist/components/Workspace.d.ts +2 -0
  171. package/dist/components/Workspace.js +424 -0
  172. package/dist/components/WorkspaceBrowser.d.ts +32 -0
  173. package/dist/components/WorkspaceBrowser.js +103 -0
  174. package/dist/components/WorkspaceExplorer.d.ts +12 -79
  175. package/dist/components/WorkspaceExplorer.js +116 -330
  176. package/dist/components/WorkspaceFile.d.ts +2 -0
  177. package/dist/components/WorkspaceFile.js +195 -0
  178. package/dist/components/WorkspaceFileView.d.ts +26 -0
  179. package/dist/components/WorkspaceFileView.js +2 -0
  180. package/dist/components/WorkspaceHeader.d.ts +35 -0
  181. package/dist/components/WorkspaceHeader.js +51 -0
  182. package/dist/components/WorkspaceLink.d.ts +2 -0
  183. package/dist/components/WorkspaceLink.js +2 -0
  184. package/dist/components/icons.d.ts +2 -2
  185. package/dist/components/icons.js +2 -2
  186. package/dist/{copy-button-DUMLYdsk.js → copy-button-Dejn5heL.js} +1 -1
  187. package/dist/icons-CpfUer49.js +85 -0
  188. package/dist/{icons-CUCz_Sft.d.ts → icons-GQd1xF4e.d.ts} +51 -1
  189. package/dist/styles/activity-header.css +75 -0
  190. package/dist/styles/activity.css +49 -63
  191. package/dist/styles/agent-activity-preview-overlay.css +80 -0
  192. package/dist/styles/agent-activity-preview.css +235 -0
  193. package/dist/styles/agent-attention.css +122 -0
  194. package/dist/styles/agent-chat.css +133 -4
  195. package/dist/styles/app-frame.css +15 -0
  196. package/dist/styles/app-top-bar.css +100 -0
  197. package/dist/styles/avatar.css +0 -1
  198. package/dist/styles/browser-control-overlay.css +184 -0
  199. package/dist/styles/card.css +21 -0
  200. package/dist/styles/checkbox-group.css +69 -0
  201. package/dist/styles/description-list.css +50 -0
  202. package/dist/styles/fieldset.css +11 -0
  203. package/dist/styles/index.css +14 -2
  204. package/dist/styles/mcp-connection-request.css +60 -0
  205. package/dist/styles/mcp-server-picker.css +95 -68
  206. package/dist/styles/message.css +4 -43
  207. package/dist/styles/pricing-page.css +21 -27
  208. package/dist/styles/prompt-input.css +225 -32
  209. package/dist/styles/reasoning.css +1 -55
  210. package/dist/styles/recipes.css +23 -15
  211. package/dist/styles/resizable-side-panel.css +66 -0
  212. package/dist/styles/responsive-sidebar-shell.css +169 -0
  213. package/dist/styles/select.css +10 -0
  214. package/dist/styles/stepper.css +13 -0
  215. package/dist/styles/streamdown.css +0 -4
  216. package/dist/styles/subagent-run.css +55 -38
  217. package/dist/styles/textarea.css +20 -0
  218. package/dist/styles/theme-mode-control.css +72 -0
  219. package/dist/styles/think-execution-status.css +49 -0
  220. package/dist/styles/think-execution-workbench.css +8 -72
  221. package/dist/styles/think-full-app.css +104 -131
  222. package/dist/styles/think-routine-library.css +491 -0
  223. package/dist/styles/think-thread-picker.css +47 -3
  224. package/dist/styles/toggle-group.css +7 -0
  225. package/dist/styles/workspace-explorer.css +511 -64
  226. package/dist/utils/mcp-server-catalog.d.ts +82 -78
  227. package/dist/utils/mcp-server-catalog.js +64 -41
  228. package/dist/utils/structured-code.d.ts +1 -1
  229. package/dist/utils/theme.d.ts +22 -0
  230. package/dist/utils/theme.js +55 -0
  231. package/package.json +34 -28
  232. package/dist/icons-Ba9THQKz.js +0 -64
  233. package/dist/styles/think-resize-handle.css +0 -33
  234. package/dist/styles/think-thread-shell.css +0 -219
@@ -1,16 +1,18 @@
1
1
  .prompt-input {
2
+ --prompt-input-secondary-text: var(--sigvelo-color-text-muted);
3
+
2
4
  container: prompt-input / inline-size;
3
5
  position: relative;
4
6
  display: flex;
5
7
  flex-direction: column;
6
- gap: var(--sigvelo-spacing-1-5);
7
- padding-block: var(--sigvelo-spacing-2-5);
8
+ gap: var(--sigvelo-spacing-3);
9
+ padding-block: var(--sigvelo-spacing-3) var(--sigvelo-spacing-2);
8
10
  padding-inline: var(--sigvelo-spacing-3);
9
11
  background-color: var(--sigvelo-color-surface);
10
12
  /* Fields keep their border; hairline + soft shadow for the floating-composer look */
11
13
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
12
14
  var(--sigvelo-color-neutral-border-subtle);
13
- border-radius: var(--sigvelo-radius-xl);
15
+ border-radius: calc(var(--sigvelo-radius-xl) + var(--sigvelo-spacing-1));
14
16
  box-shadow: var(--sigvelo-shadow-sm);
15
17
  font-family: inherit;
16
18
  color: var(--sigvelo-color-text);
@@ -57,14 +59,14 @@
57
59
  border-radius: var(--sigvelo-radius-full);
58
60
  }
59
61
 
60
- .prompt-input__tools:has(.prompt-input__recording) {
62
+ .prompt-input__footer-end:has(.prompt-input__recording) {
61
63
  flex: 1;
62
64
  flex-wrap: nowrap;
63
65
  width: 100%;
64
66
  }
65
67
 
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
+ .prompt-input__footer-end:has(.prompt-input__recording) > :not(.prompt-input__recording),
69
+ .prompt-input__footer:has(.prompt-input__recording) > :not(.prompt-input__footer-end) {
68
70
  display: none;
69
71
  }
70
72
 
@@ -78,12 +80,10 @@
78
80
  pointer-events: none;
79
81
  }
80
82
 
81
- /* Match the Input focus idiom: focus-color border + soft outer ring */
83
+ /* Keep keyboard focus visible around the complete composer surface. */
82
84
  .prompt-input:focus-within {
83
85
  border-color: var(--sigvelo-color-focus);
84
- box-shadow:
85
- var(--sigvelo-shadow-sm),
86
- 0 0 0 4px color-mix(in oklab, var(--sigvelo-color-focus), transparent 80%);
86
+ box-shadow: var(--sigvelo-recipe-focus-shadow-subtle);
87
87
  }
88
88
 
89
89
  .prompt-input__header {
@@ -174,11 +174,14 @@
174
174
  .prompt-input__body {
175
175
  display: flex;
176
176
  align-items: stretch;
177
+ flex-wrap: wrap;
178
+ gap: var(--sigvelo-spacing-1);
177
179
  width: 100%;
178
180
  }
179
181
 
180
182
  .prompt-input__textarea {
181
183
  flex: 1;
184
+ min-width: 8rem;
182
185
  width: 100%;
183
186
  padding: 0;
184
187
  border: none;
@@ -192,11 +195,14 @@
192
195
  }
193
196
 
194
197
  .prompt-input__textarea::placeholder {
195
- color: var(--sigvelo-color-text-muted);
198
+ color: var(--sigvelo-control-placeholder-color);
196
199
  }
197
200
 
198
- .prompt-input__textarea:focus {
201
+ .prompt-input__textarea:focus,
202
+ .prompt-input__textarea:focus-visible {
203
+ border: none;
199
204
  outline: none;
205
+ box-shadow: none;
200
206
  }
201
207
 
202
208
  .prompt-input__textarea:disabled {
@@ -208,22 +214,22 @@
208
214
  display: flex;
209
215
  align-items: center;
210
216
  justify-content: space-between;
211
- gap: 0.5rem;
212
- padding-block-start: 0.25rem;
217
+ gap: var(--sigvelo-spacing-2);
218
+ padding-block-start: var(--sigvelo-spacing-1);
213
219
  }
214
220
 
215
221
  .prompt-input__footer-end {
216
222
  display: inline-flex;
217
223
  align-items: center;
218
- gap: 0.25rem;
224
+ gap: var(--sigvelo-spacing-1);
219
225
  }
220
226
 
221
227
  .prompt-input__tools {
222
228
  display: inline-flex;
223
229
  align-items: center;
224
- gap: 0.25rem;
230
+ gap: var(--sigvelo-spacing-1-5);
225
231
  flex-wrap: wrap;
226
- min-height: 1.75rem;
232
+ min-height: var(--sigvelo-control-height-xs);
227
233
  }
228
234
 
229
235
  .prompt-input__button {
@@ -236,8 +242,8 @@
236
242
  }
237
243
 
238
244
  .prompt-input__dictation {
239
- min-inline-size: 2.75rem;
240
- min-block-size: 2.75rem;
245
+ min-inline-size: var(--sigvelo-control-height-xs);
246
+ min-block-size: var(--sigvelo-control-height-xs);
241
247
  }
242
248
 
243
249
  .prompt-input__dictation[data-listening] {
@@ -323,6 +329,12 @@
323
329
  border-radius: 999rem;
324
330
  }
325
331
 
332
+ .prompt-input__stop {
333
+ flex-shrink: 0;
334
+ border-radius: var(--sigvelo-radius-full);
335
+ color: var(--sigvelo-color-text);
336
+ }
337
+
326
338
  .prompt-input__submit-spinner {
327
339
  animation: prompt-input-spin 900ms linear infinite;
328
340
  }
@@ -336,7 +348,7 @@
336
348
  }
337
349
 
338
350
  .prompt-input__permissions-trigger {
339
- gap: 0.25rem;
351
+ gap: var(--sigvelo-spacing-1);
340
352
  }
341
353
 
342
354
  .prompt-input__permissions-icon {
@@ -367,7 +379,7 @@
367
379
  grid-area: 1 / 1;
368
380
  display: inline-flex;
369
381
  align-items: center;
370
- gap: 0.25rem;
382
+ gap: var(--sigvelo-spacing-1);
371
383
  justify-self: start;
372
384
  white-space: nowrap;
373
385
  }
@@ -383,8 +395,8 @@
383
395
  }
384
396
 
385
397
  .prompt-input__button[data-responsive-label] {
386
- inline-size: 2.75rem;
387
- min-block-size: 2.75rem;
398
+ inline-size: var(--sigvelo-control-height-xs);
399
+ min-block-size: var(--sigvelo-control-height-xs);
388
400
  padding-inline: 0;
389
401
  border-radius: var(--sigvelo-radius-full);
390
402
  }
@@ -396,12 +408,21 @@
396
408
  }
397
409
 
398
410
  .prompt-input__permissions-trigger {
399
- inline-size: 2.75rem;
400
- min-block-size: 2.75rem;
411
+ inline-size: var(--sigvelo-control-height-xs);
412
+ min-block-size: var(--sigvelo-control-height-xs);
401
413
  padding-inline: 0;
402
414
  justify-content: center;
403
415
  border-radius: var(--sigvelo-radius-full);
404
416
  }
417
+
418
+ .prompt-input__context-trigger {
419
+ max-width: 11rem;
420
+ }
421
+
422
+ .prompt-input__context-category,
423
+ .prompt-input__context-chevron {
424
+ display: none;
425
+ }
405
426
  }
406
427
 
407
428
  .prompt-input__permissions-current-option:not([data-active]) {
@@ -412,13 +433,6 @@
412
433
  min-width: 17rem;
413
434
  }
414
435
 
415
- .prompt-input__permissions-question {
416
- padding-block: var(--sigvelo-spacing-1-5);
417
- padding-inline: var(--sigvelo-spacing-3);
418
- font-size: var(--sigvelo-text-xs);
419
- color: var(--sigvelo-color-text-muted);
420
- }
421
-
422
436
  .prompt-input__permissions-option {
423
437
  align-items: flex-start;
424
438
  }
@@ -496,6 +510,185 @@
496
510
  flex-direction: column;
497
511
  }
498
512
 
513
+ .prompt-input__command-positioner {
514
+ width: min(var(--anchor-width), calc(100vw - var(--sigvelo-spacing-4)));
515
+ max-height: min(24rem, var(--available-height));
516
+ }
517
+
518
+ .prompt-input__command-popup {
519
+ --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
+
530
+ width: 100%;
531
+ max-height: min(24rem, var(--available-height));
532
+ overflow: hidden auto;
533
+ }
534
+
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
+ .prompt-input__command-popup [data-slot="combobox-empty"]:empty {
544
+ display: none;
545
+ }
546
+
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
+ .prompt-input__command-item {
554
+ align-items: center;
555
+ min-width: 0;
556
+ }
557
+
558
+ .prompt-input__command-icon {
559
+ display: inline-flex;
560
+ flex: 0 0 auto;
561
+ }
562
+
563
+ .prompt-input__command-icon > svg {
564
+ width: 1rem;
565
+ height: 1rem;
566
+ }
567
+
568
+ .prompt-input__command-copy {
569
+ display: grid;
570
+ grid-template-columns: auto minmax(0, 1fr) auto;
571
+ align-items: baseline;
572
+ column-gap: var(--sigvelo-spacing-2);
573
+ min-width: 0;
574
+ }
575
+
576
+ .prompt-input__context-option-copy {
577
+ display: flex;
578
+ flex-direction: column;
579
+ min-width: 0;
580
+ }
581
+
582
+ .prompt-input__command-description {
583
+ overflow: hidden;
584
+ text-overflow: ellipsis;
585
+ white-space: nowrap;
586
+ }
587
+
588
+ .prompt-input__command-meta {
589
+ color: var(--prompt-input-secondary-text);
590
+ font-size: var(--sigvelo-text-compact);
591
+ white-space: nowrap;
592
+ }
593
+
594
+ .prompt-input__command-label,
595
+ .prompt-input__command-description,
596
+ .prompt-input__context-description {
597
+ overflow-wrap: anywhere;
598
+ }
599
+
600
+ .prompt-input__references {
601
+ display: flex;
602
+ flex-wrap: wrap;
603
+ gap: var(--sigvelo-spacing-1);
604
+ }
605
+
606
+ .prompt-input__reference {
607
+ position: relative;
608
+ gap: var(--sigvelo-spacing-1);
609
+ padding-inline: var(--sigvelo-spacing-1);
610
+ color: var(--sigvelo-color-primary-text);
611
+ font-weight: inherit;
612
+ font-size: var(--sigvelo-text-base);
613
+ }
614
+
615
+ .prompt-input__reference-icon,
616
+ .prompt-input__reference-remove {
617
+ display: inline-flex;
618
+ flex: 0 0 auto;
619
+ }
620
+
621
+ .prompt-input__reference-label {
622
+ overflow: hidden;
623
+ max-width: 18rem;
624
+ text-overflow: ellipsis;
625
+ white-space: nowrap;
626
+ }
627
+
628
+ .prompt-input__reference-remove {
629
+ position: absolute;
630
+ inset-inline-end: calc(-1 * var(--sigvelo-spacing-3));
631
+ color: var(--sigvelo-color-text-muted);
632
+ opacity: 0;
633
+ pointer-events: none;
634
+ }
635
+
636
+ .prompt-input__reference:hover .prompt-input__reference-remove,
637
+ .prompt-input__reference:focus-visible .prompt-input__reference-remove {
638
+ opacity: 1;
639
+ }
640
+
641
+ @container prompt-input (width < 28rem) {
642
+ .prompt-input__reference-label {
643
+ max-width: 12rem;
644
+ }
645
+ }
646
+
647
+ .prompt-input__command-description,
648
+ .prompt-input__context-description {
649
+ color: var(--prompt-input-secondary-text);
650
+ font-size: var(--sigvelo-text-compact);
651
+ }
652
+
653
+ .prompt-input__context-trigger {
654
+ max-width: min(20rem, 45cqi);
655
+ }
656
+
657
+ .prompt-input__context-category,
658
+ .prompt-input__context-value {
659
+ overflow: hidden;
660
+ text-overflow: ellipsis;
661
+ white-space: nowrap;
662
+ }
663
+
664
+ .prompt-input__context-category {
665
+ flex: 0 0 auto;
666
+ color: var(--sigvelo-color-text);
667
+ }
668
+
669
+ .prompt-input__context-value {
670
+ color: var(--sigvelo-color-text-muted);
671
+ }
672
+
673
+ .prompt-input__context-trigger[data-unavailable] {
674
+ color: var(--sigvelo-color-warning-text);
675
+ }
676
+
677
+ .prompt-input__context-menu {
678
+ --prompt-input-secondary-text: var(--sigvelo-color-text-muted);
679
+
680
+ min-width: min(22rem, calc(100vw - var(--sigvelo-spacing-4)));
681
+ max-width: min(28rem, calc(100vw - var(--sigvelo-spacing-4)));
682
+ }
683
+
684
+ .prompt-input__context-option {
685
+ align-items: flex-start;
686
+ }
687
+
688
+ .prompt-input__context-check {
689
+ margin-inline-start: auto;
690
+ }
691
+
499
692
  /* Approval state: the composer becomes the confirmation */
500
693
  .prompt-input__approval {
501
694
  display: flex;
@@ -1,60 +1,6 @@
1
- .reasoning {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- font-family: inherit;
6
- color: var(--sigvelo-color-text);
7
- }
8
-
9
- .reasoning__trigger[data-streaming] .reasoning__trigger-label {
10
- animation: reasoning-pulse 1400ms ease-in-out infinite;
11
- }
12
-
13
- .reasoning__trigger-label {
14
- display: inline-flex;
15
- align-items: center;
16
- gap: 0.25rem;
17
- }
18
-
19
- .reasoning__trigger-label > * {
20
- margin: 0;
21
- }
22
-
23
- .reasoning__trigger-icon {
24
- color: var(--sigvelo-color-text-muted);
25
- }
26
-
27
1
  .reasoning__text {
28
- /* Bounded so expanding never blows out the conversation scroll position */
29
- max-height: 20rem;
30
- overflow-y: auto;
31
- padding-block: 0.5rem;
32
- padding-inline: var(--sigvelo-spacing-3);
33
- margin-inline-start: var(--sigvelo-spacing-3);
2
+ padding-inline-start: var(--sigvelo-spacing-3);
34
3
  border-inline-start: var(--sigvelo-border-style) 2px var(--sigvelo-color-neutral-border-subtle);
35
- color: var(--sigvelo-color-text-muted);
36
- font-size: var(--sigvelo-text-compact);
37
- line-height: 1.6;
38
- }
39
-
40
- .reasoning__text > * + * {
41
- margin-block-start: 0.5rem;
42
- }
43
-
44
- @keyframes reasoning-pulse {
45
- 0%,
46
- 100% {
47
- opacity: 1;
48
- }
49
- 50% {
50
- opacity: 0.5;
51
- }
52
- }
53
-
54
- @media (prefers-reduced-motion: reduce) {
55
- .reasoning__trigger[data-streaming] .reasoning__trigger-label {
56
- animation: none;
57
- }
58
4
  }
59
5
 
60
6
  @media (forced-colors: active) {
@@ -3,7 +3,7 @@
3
3
  * Components own anatomy and set recipe variables only when they need a
4
4
  * supported variation. Consumers can override these variables by inheritance.
5
5
  */
6
- :where(:root, .sigvelo-light, .sigvelo-dark, [data-theme="light"], [data-theme="dark"]) {
6
+ :where(:root, [data-theme="light"], [data-theme="dark"]) {
7
7
  --sigvelo-recipe-control-height: var(--sigvelo-control-height-md);
8
8
  --sigvelo-recipe-control-padding-inline: var(--sigvelo-spacing-3);
9
9
  --sigvelo-recipe-control-gap: var(--sigvelo-spacing-2);
@@ -35,6 +35,7 @@
35
35
 
36
36
  :where(
37
37
  [data-slot="input"],
38
+ [data-slot="textarea"],
38
39
  [data-slot="select-trigger"],
39
40
  [data-slot="combobox-input"],
40
41
  [data-slot="autocomplete-input"],
@@ -59,15 +60,18 @@
59
60
  box-shadow var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
60
61
  }
61
62
 
62
- :where([data-slot="input"], [data-slot="select-trigger"], [data-slot="field-control"]):hover:not(
63
- :disabled,
64
- [data-disabled]
65
- ) {
63
+ :where(
64
+ [data-slot="input"],
65
+ [data-slot="textarea"],
66
+ [data-slot="select-trigger"],
67
+ [data-slot="field-control"]
68
+ ):hover:not(:disabled, [data-disabled]) {
66
69
  border-color: var(--sigvelo-color-focus);
67
70
  }
68
71
 
69
72
  :where(
70
73
  [data-slot="input"],
74
+ [data-slot="textarea"],
71
75
  [data-slot="select-trigger"],
72
76
  [data-slot="combobox-input"],
73
77
  [data-slot="autocomplete-input"],
@@ -82,6 +86,7 @@
82
86
 
83
87
  :where(
84
88
  [data-slot="input"],
89
+ [data-slot="textarea"],
85
90
  [data-slot="select-trigger"],
86
91
  [data-slot="combobox-input"],
87
92
  [data-slot="autocomplete-input"],
@@ -92,24 +97,27 @@
92
97
  color: var(--sigvelo-control-placeholder-color);
93
98
  }
94
99
 
95
- :where([data-slot="input"], [data-slot="select-trigger"], [data-slot="field-control"]):is(
96
- [aria-invalid="true"],
97
- [data-invalid="true"],
98
- [data-invalid=""]
99
- ) {
100
+ :where(
101
+ [data-slot="input"],
102
+ [data-slot="textarea"],
103
+ [data-slot="select-trigger"],
104
+ [data-slot="field-control"]
105
+ ):is([aria-invalid="true"], [data-invalid="true"], [data-invalid=""]) {
100
106
  border-color: var(--sigvelo-color-danger-bg);
101
107
  }
102
108
 
103
- :where([data-slot="input"], [data-slot="select-trigger"], [data-slot="field-control"]):is(
104
- [aria-invalid="true"],
105
- [data-invalid="true"],
106
- [data-invalid=""]
107
- ):focus-visible {
109
+ :where(
110
+ [data-slot="input"],
111
+ [data-slot="textarea"],
112
+ [data-slot="select-trigger"],
113
+ [data-slot="field-control"]
114
+ ):is([aria-invalid="true"], [data-invalid="true"], [data-invalid=""]):focus-visible {
108
115
  box-shadow: var(--sigvelo-recipe-invalid-focus-shadow);
109
116
  }
110
117
 
111
118
  :where(
112
119
  [data-slot="input"]:disabled,
120
+ [data-slot="textarea"]:disabled,
113
121
  [data-slot="select-trigger"][data-disabled],
114
122
  [data-slot="field-control"]:disabled,
115
123
  [data-slot="number-field-input"]:disabled,
@@ -0,0 +1,66 @@
1
+ .resizable-side-panel {
2
+ position: relative;
3
+ min-inline-size: 0;
4
+ min-block-size: 0;
5
+ }
6
+
7
+ .resizable-side-panel__handle {
8
+ position: absolute;
9
+ inset-block: 0;
10
+ z-index: 25;
11
+ inline-size: var(--sigvelo-spacing-6);
12
+ padding: 0;
13
+ border: 0;
14
+ background: transparent;
15
+ cursor: col-resize;
16
+ touch-action: pan-y;
17
+ appearance: none;
18
+ }
19
+
20
+ .resizable-side-panel__handle::before {
21
+ content: "";
22
+ position: absolute;
23
+ inset-block: 0;
24
+ inset-inline-start: 50%;
25
+ inline-size: 1px;
26
+ transform: translateX(-50%);
27
+ background: transparent;
28
+ transition: background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
29
+ }
30
+
31
+ .resizable-side-panel__handle:hover::before,
32
+ .resizable-side-panel__handle:focus-visible::before,
33
+ body.is-resizing-side-panel .resizable-side-panel__handle::before {
34
+ background: color-mix(in srgb, var(--sigvelo-color-primary-text) 38%, transparent);
35
+ }
36
+
37
+ .resizable-side-panel__handle:focus-visible {
38
+ outline: 2px solid var(--sigvelo-color-focus);
39
+ outline-offset: -2px;
40
+ }
41
+
42
+ .resizable-side-panel[data-panel-side="start"] > .resizable-side-panel__handle {
43
+ inset-inline-start: var(--resizable-side-panel-size);
44
+ margin-inline-start: calc(var(--sigvelo-spacing-6) / -2);
45
+ }
46
+
47
+ .resizable-side-panel[data-panel-side="end"] > .resizable-side-panel__handle {
48
+ inset-inline-end: var(--resizable-side-panel-size);
49
+ margin-inline-end: calc(var(--sigvelo-spacing-6) / -2);
50
+ }
51
+
52
+ body.is-resizing-side-panel {
53
+ cursor: col-resize;
54
+ user-select: none;
55
+ }
56
+
57
+ body.is-resizing-side-panel .resizable-side-panel {
58
+ transition: none;
59
+ }
60
+
61
+ @media (prefers-reduced-motion: reduce) {
62
+ .resizable-side-panel,
63
+ .resizable-side-panel__handle::before {
64
+ transition: none;
65
+ }
66
+ }