@mcp-b/react-components 0.11.0 → 0.13.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 (253) hide show
  1. package/dist/{AgentChat-B9LD_WF1.d.ts → AgentChat-Br6tKEl8.d.ts} +38 -10
  2. package/dist/{BrowserLiveView-ZktFZiMD.d.ts → BrowserLiveView-BV5qgFgI.d.ts} +11 -10
  3. package/dist/{BrowserReplay-6G-mnwcn.d.ts → BrowserReplay-xWvRjRAC.d.ts} +2 -1
  4. package/dist/{Button-Ct5I6aTu.d.ts → Button-FX_hpqxm.d.ts} +8 -11
  5. package/dist/{CodeBlock-XNQOupQ3.js → CodeBlock-BUFXG8HW.js} +22 -12
  6. package/dist/{CodeBlock-CxQXv3C4.d.ts → CodeBlock-DUh9WOGo.d.ts} +13 -7
  7. package/dist/{Combobox-D9anamNr.d.ts → Combobox-B9Fcd6q-.d.ts} +4 -14
  8. package/dist/{FileTree-wMyZhhHO.js → FileTree-mpEIcfzA.js} +1 -1
  9. package/dist/{Menu-B5vDqZe_.d.ts → Menu-Bgu-ufb5.d.ts} +29 -65
  10. package/dist/{ModelSelector-DXtpcRmT.js → ModelSelector-DVgVBdvw.js} +23 -20
  11. package/dist/{PromptInput-D6-G24p7.d.ts → PromptInput-p5KmOmt1.d.ts} +313 -89
  12. package/dist/Select-Dl_vF_Bt.d.ts +213 -0
  13. package/dist/{Tabs-D9EAq09D.d.ts → Tabs-3Zc4tb9D.d.ts} +9 -6
  14. package/dist/ThinkChat-7DQ2CogF.js +222 -0
  15. package/dist/{ThinkChatActivity-B2UD95My.d.ts → ThinkChatActivity-Cuk28Js_.d.ts} +4 -4
  16. package/dist/ThinkChatContext-C3Eb1Xpi.d.ts +16 -0
  17. package/dist/{ThinkChatToolParts-DnUiZgCC.d.ts → ThinkChatToolParts-Cv4o7j6F.d.ts} +13 -5
  18. package/dist/{attachment-preview-ChtC3HiU.js → attachment-preview-DIs50Q0h.js} +3 -3
  19. package/dist/components/Accordion.d.ts +17 -6
  20. package/dist/components/Accordion.js +23 -36
  21. package/dist/components/Activity.d.ts +5 -5
  22. package/dist/components/Activity.js +9 -9
  23. package/dist/components/AgentChat.d.ts +1 -1
  24. package/dist/components/AgentChat.js +354 -132
  25. package/dist/components/AgentConnection.js +6 -22
  26. package/dist/components/AlertDialog.d.ts +40 -32
  27. package/dist/components/AlertDialog.js +46 -39
  28. package/dist/components/Artifact.d.ts +1 -1
  29. package/dist/components/Artifact.js +5 -5
  30. package/dist/components/Autocomplete.js +10 -2
  31. package/dist/components/Avatar.d.ts +2 -2
  32. package/dist/components/Avatar.js +3 -3
  33. package/dist/components/Badge.d.ts +11 -14
  34. package/dist/components/Badge.js +11 -33
  35. package/dist/components/BrowserLiveView.d.ts +1 -1
  36. package/dist/components/BrowserLiveView.js +39 -45
  37. package/dist/components/BrowserReplay.d.ts +1 -1
  38. package/dist/components/BrowserReplay.js +4 -4
  39. package/dist/components/BrowserRunPanel.js +91 -55
  40. package/dist/components/Button.d.ts +2 -2
  41. package/dist/components/Button.js +7 -30
  42. package/dist/components/ChainOfThought.d.ts +5 -5
  43. package/dist/components/ChainOfThought.js +8 -5
  44. package/dist/components/ChatGptSignInScreen.js +3 -3
  45. package/dist/components/Checkbox.d.ts +10 -2
  46. package/dist/components/Checkbox.js +13 -6
  47. package/dist/components/CheckboxGroup.d.ts +6 -6
  48. package/dist/components/CheckboxGroup.js +6 -6
  49. package/dist/components/CodeBlock.d.ts +1 -1
  50. package/dist/components/CodeBlock.js +1 -1
  51. package/dist/components/CodexModelSelector.d.ts +58 -0
  52. package/dist/components/CodexModelSelector.js +170 -0
  53. package/dist/components/Collapsible.d.ts +2 -4
  54. package/dist/components/Collapsible.js +9 -7
  55. package/dist/components/Combobox.d.ts +2 -2
  56. package/dist/components/Combobox.js +20 -22
  57. package/dist/components/Commit.d.ts +6 -6
  58. package/dist/components/Commit.js +14 -26
  59. package/dist/components/Context.js +5 -1
  60. package/dist/components/ContextMenu.d.ts +20 -72
  61. package/dist/components/ContextMenu.js +46 -56
  62. package/dist/components/Conversation.d.ts +3 -7
  63. package/dist/components/Conversation.js +3 -4
  64. package/dist/components/Dialog.d.ts +38 -30
  65. package/dist/components/Dialog.js +46 -34
  66. package/dist/components/EnvironmentVariables.d.ts +2 -7
  67. package/dist/components/EnvironmentVariables.js +13 -36
  68. package/dist/components/Field.d.ts +3 -3
  69. package/dist/components/Field.js +7 -8
  70. package/dist/components/Fieldset.d.ts +2 -2
  71. package/dist/components/Fieldset.js +2 -2
  72. package/dist/components/FileTree.js +1 -1
  73. package/dist/components/Label.d.ts +1 -1
  74. package/dist/components/Label.js +1 -1
  75. package/dist/components/Marker.js +1 -15
  76. package/dist/components/McpServerPicker.d.ts +31 -6
  77. package/dist/components/McpServerPicker.js +136 -72
  78. package/dist/components/Menu.d.ts +2 -2
  79. package/dist/components/Menu.js +41 -51
  80. package/dist/components/Menubar.d.ts +16 -52
  81. package/dist/components/Menubar.js +44 -56
  82. package/dist/components/Message.d.ts +4 -3
  83. package/dist/components/Message.js +16 -9
  84. package/dist/components/MessageScroller.d.ts +1 -1
  85. package/dist/components/MessageScroller.js +1 -1
  86. package/dist/components/Meter.js +5 -0
  87. package/dist/components/ModelSelector.d.ts +12 -9
  88. package/dist/components/ModelSelector.js +1 -1
  89. package/dist/components/NavigationMenu.d.ts +3 -14
  90. package/dist/components/NavigationMenu.js +22 -38
  91. package/dist/components/NumberField.js +6 -0
  92. package/dist/components/Popover.d.ts +21 -44
  93. package/dist/components/Popover.js +33 -23
  94. package/dist/components/PreviewCard.d.ts +20 -18
  95. package/dist/components/PreviewCard.js +30 -20
  96. package/dist/components/PricingPage.js +30 -29
  97. package/dist/components/Progress.d.ts +7 -3
  98. package/dist/components/Progress.js +9 -4
  99. package/dist/components/PromptInput.d.ts +2 -2
  100. package/dist/components/PromptInput.js +184 -148
  101. package/dist/components/Queue.d.ts +8 -19
  102. package/dist/components/Queue.js +6 -6
  103. package/dist/components/RadioGroup.d.ts +10 -9
  104. package/dist/components/RadioGroup.js +8 -9
  105. package/dist/components/Reasoning.d.ts +4 -4
  106. package/dist/components/Reasoning.js +12 -21
  107. package/dist/components/ScrollArea.d.ts +2 -9
  108. package/dist/components/ScrollArea.js +5 -23
  109. package/dist/components/Select.d.ts +2 -2
  110. package/dist/components/Select.js +100 -134
  111. package/dist/components/Slider.d.ts +10 -7
  112. package/dist/components/Slider.js +12 -11
  113. package/dist/components/Sources.d.ts +4 -4
  114. package/dist/components/Sources.js +8 -5
  115. package/dist/components/Stepper.js +2 -8
  116. package/dist/components/Switch.d.ts +6 -3
  117. package/dist/components/Switch.js +7 -4
  118. package/dist/components/Tabs.d.ts +2 -2
  119. package/dist/components/Tabs.js +9 -4
  120. package/dist/components/Task.d.ts +4 -4
  121. package/dist/components/Task.js +10 -6
  122. package/dist/components/Terminal.d.ts +2 -2
  123. package/dist/components/Terminal.js +5 -5
  124. package/dist/components/TestResults.d.ts +4 -4
  125. package/dist/components/TestResults.js +5 -5
  126. package/dist/components/ThinkChat.d.ts +37 -30
  127. package/dist/components/ThinkChat.js +1 -152
  128. package/dist/components/ThinkChatActivity.d.ts +2 -2
  129. package/dist/components/ThinkChatActivity.js +4 -11
  130. package/dist/components/ThinkChatContext.d.ts +2 -2
  131. package/dist/components/ThinkChatContext.js +9 -2
  132. package/dist/components/ThinkChatToolPanels.d.ts +1 -1
  133. package/dist/components/ThinkChatToolPanels.js +27 -15
  134. package/dist/components/ThinkChatToolParts.d.ts +1 -1
  135. package/dist/components/ThinkExecutionWorkbench.d.ts +10 -7
  136. package/dist/components/ThinkExecutionWorkbench.js +382 -359
  137. package/dist/components/ThinkFullApp.d.ts +16 -13
  138. package/dist/components/ThinkFullApp.js +35 -25
  139. package/dist/components/ThinkThreadPicker.d.ts +1 -31
  140. package/dist/components/ThinkThreadPicker.js +32 -171
  141. package/dist/components/ThinkThreadShell.d.ts +35 -0
  142. package/dist/components/ThinkThreadShell.js +146 -0
  143. package/dist/components/Toast.js +7 -0
  144. package/dist/components/ToggleGroup.d.ts +6 -2
  145. package/dist/components/ToggleGroup.js +6 -2
  146. package/dist/components/Toolbar.js +6 -0
  147. package/dist/components/Tooltip.d.ts +36 -27
  148. package/dist/components/Tooltip.js +45 -29
  149. package/dist/components/WebPreview.d.ts +1 -1
  150. package/dist/components/WebPreview.js +3 -3
  151. package/dist/components/WorkspaceExplorer.d.ts +6 -8
  152. package/dist/components/WorkspaceExplorer.js +9 -7
  153. package/dist/components/icons.d.ts +2 -2
  154. package/dist/components/icons.js +2 -2
  155. package/dist/{copy-button-C6JSKtFE.js → copy-button-DUMLYdsk.js} +7 -6
  156. package/dist/{copy-button-BKXqGiNm.d.ts → copy-button-DtPMgN7e.d.ts} +3 -2
  157. package/dist/icons-Ba9THQKz.js +64 -0
  158. package/dist/icons-CUCz_Sft.d.ts +210 -0
  159. package/dist/merge-refs-DF_7w2x_.js +18 -0
  160. package/dist/styles/accessibility.css +14 -0
  161. package/dist/styles/accordion.css +21 -61
  162. package/dist/styles/activity.css +23 -58
  163. package/dist/styles/agent-chat.css +49 -5
  164. package/dist/styles/agent-connection.css +8 -10
  165. package/dist/styles/alert-dialog.css +20 -26
  166. package/dist/styles/artifact.css +6 -6
  167. package/dist/styles/attachment-preview.css +1 -1
  168. package/dist/styles/autocomplete.css +5 -170
  169. package/dist/styles/avatar.css +8 -8
  170. package/dist/styles/badge.css +8 -10
  171. package/dist/styles/base-ui-motion.css +176 -0
  172. package/dist/styles/base.css +19 -25
  173. package/dist/styles/browser-live-view.css +7 -7
  174. package/dist/styles/browser-replay.css +5 -5
  175. package/dist/styles/browser-run-panel.css +59 -112
  176. package/dist/styles/button.css +48 -43
  177. package/dist/styles/card.css +3 -5
  178. package/dist/styles/chain-of-thought.css +14 -70
  179. package/dist/styles/chatgpt-sign-in-screen.css +3 -3
  180. package/dist/styles/checkbox-group.css +1 -1
  181. package/dist/styles/checkbox.css +3 -7
  182. package/dist/styles/code-block.css +10 -10
  183. package/dist/styles/codex-model-selector.css +186 -0
  184. package/dist/styles/collapsible.css +11 -27
  185. package/dist/styles/combobox.css +3 -149
  186. package/dist/styles/commit.css +19 -35
  187. package/dist/styles/context-menu.css +1 -77
  188. package/dist/styles/context.css +12 -12
  189. package/dist/styles/conversation.css +7 -7
  190. package/dist/styles/dialog.css +34 -55
  191. package/dist/styles/environment-variables.css +10 -10
  192. package/dist/styles/field.css +16 -58
  193. package/dist/styles/fieldset.css +2 -2
  194. package/dist/styles/file-tree.css +7 -9
  195. package/dist/styles/index.css +12 -2
  196. package/dist/styles/input.css +1 -51
  197. package/dist/styles/label.css +2 -2
  198. package/dist/styles/marker.css +2 -4
  199. package/dist/styles/mcp-server-picker.css +66 -19
  200. package/dist/styles/menu.css +6 -153
  201. package/dist/styles/menubar.css +6 -105
  202. package/dist/styles/message-scroller.css +1 -1
  203. package/dist/styles/message.css +87 -9
  204. package/dist/styles/meter.css +4 -20
  205. package/dist/styles/model-selector.css +32 -20
  206. package/dist/styles/navigation-menu.css +14 -54
  207. package/dist/styles/number-field.css +8 -23
  208. package/dist/styles/popover.css +13 -68
  209. package/dist/styles/preview-card.css +5 -46
  210. package/dist/styles/pricing-page.css +43 -43
  211. package/dist/styles/progress.css +7 -16
  212. package/dist/styles/prompt-input.css +100 -44
  213. package/dist/styles/queue.css +12 -28
  214. package/dist/styles/radio.css +4 -8
  215. package/dist/styles/reasoning.css +3 -62
  216. package/dist/styles/recipes.css +475 -0
  217. package/dist/styles/select.css +7 -103
  218. package/dist/styles/shell.css +3 -3
  219. package/dist/styles/slider.css +5 -7
  220. package/dist/styles/sources.css +9 -66
  221. package/dist/styles/stepper.css +16 -14
  222. package/dist/styles/streamdown.css +11 -57
  223. package/dist/styles/switch.css +4 -7
  224. package/dist/styles/tabs.css +7 -8
  225. package/dist/styles/task.css +13 -42
  226. package/dist/styles/terminal.css +7 -7
  227. package/dist/styles/test-results.css +21 -37
  228. package/dist/styles/think-execution-workbench.css +337 -0
  229. package/dist/styles/think-full-app.css +27 -410
  230. package/dist/styles/think-resize-handle.css +33 -0
  231. package/dist/styles/think-thread-picker.css +18 -247
  232. package/dist/styles/think-thread-shell.css +219 -0
  233. package/dist/styles/toast.css +14 -25
  234. package/dist/styles/toggle-group.css +16 -14
  235. package/dist/styles/toggle.css +14 -15
  236. package/dist/styles/toolbar.css +13 -25
  237. package/dist/styles/tooltip.css +6 -16
  238. package/dist/styles/web-preview.css +15 -15
  239. package/dist/styles/workspace-explorer.css +21 -14
  240. package/dist/summarize-tool-input-BUJsENSn.js +12 -0
  241. package/dist/utils/codex-model-catalog.d.ts +142 -0
  242. package/dist/utils/codex-model-catalog.js +112 -0
  243. package/dist/utils/structured-code.d.ts +1 -1
  244. package/package.json +8 -2
  245. package/dist/Select-CRsKCJ9x.d.ts +0 -200
  246. package/dist/ThinkChatContext-BLAAb8J5.d.ts +0 -28
  247. package/dist/components/McpServerConnections.d.ts +0 -41
  248. package/dist/components/McpServerConnections.js +0 -188
  249. package/dist/components/useStickToBottom.d.ts +0 -33
  250. package/dist/components/useStickToBottom.js +0 -107
  251. package/dist/icons-CbjtbIJK.d.ts +0 -51
  252. package/dist/icons-D2Q5n5C1.js +0 -291
  253. package/dist/styles/mcp-server-connections.css +0 -145
@@ -2,73 +2,19 @@
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
- .sources__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
- .sources__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
- .sources__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
- .sources__trigger-icon {
41
- display: inline-flex;
42
- transition: transform 200ms ease;
43
- }
44
-
45
- .sources__trigger[data-panel-open] .sources__trigger-icon {
46
- transform: rotate(90deg);
47
- }
48
-
49
9
  .sources__trigger-label {
50
10
  display: inline-flex;
51
11
  align-items: center;
52
12
  }
53
13
 
54
- .sources__content {
55
- height: var(--collapsible-panel-height);
56
- overflow: hidden;
57
- transition:
58
- height 200ms ease,
59
- opacity 200ms ease;
60
- }
61
-
62
- .sources__content[data-starting-style],
63
- .sources__content[data-ending-style] {
64
- height: 0;
65
- opacity: 0;
66
- }
67
-
68
14
  .sources__list {
69
15
  display: flex;
70
16
  flex-direction: column;
71
- gap: 0.375rem;
17
+ gap: var(--sigvelo-spacing-1-5);
72
18
  margin: 0;
73
19
  padding-block: 0.5rem;
74
20
  padding-inline: 0;
@@ -82,9 +28,9 @@
82
28
  .sources__link {
83
29
  display: flex;
84
30
  align-items: flex-start;
85
- gap: 0.625rem;
31
+ gap: var(--sigvelo-spacing-2-5);
86
32
  padding-block: 0.5rem;
87
- padding-inline: 0.75rem;
33
+ padding-inline: var(--sigvelo-spacing-3);
88
34
  color: var(--sigvelo-color-text);
89
35
  background-color: var(--sigvelo-color-surface);
90
36
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
@@ -103,27 +49,25 @@
103
49
 
104
50
  .sources__link:focus-visible {
105
51
  outline: none;
106
- box-shadow:
107
- 0 0 0 2px var(--sigvelo-color-canvas),
108
- 0 0 0 4px var(--sigvelo-color-focus);
52
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
109
53
  }
110
54
 
111
55
  .sources__link-icon {
112
56
  display: inline-flex;
113
57
  flex-shrink: 0;
114
- margin-block-start: 0.125rem;
58
+ margin-block-start: var(--sigvelo-spacing-0-5);
115
59
  color: var(--sigvelo-color-text-muted);
116
60
  }
117
61
 
118
62
  .sources__link-body {
119
63
  display: flex;
120
64
  flex-direction: column;
121
- gap: 0.125rem;
65
+ gap: var(--sigvelo-spacing-0-5);
122
66
  min-width: 0;
123
67
  }
124
68
 
125
69
  .sources__link-title {
126
- font-size: 0.875rem;
70
+ font-size: var(--sigvelo-text-sm);
127
71
  font-weight: var(--sigvelo-font-weight-semibold);
128
72
  color: var(--sigvelo-color-text);
129
73
  overflow: hidden;
@@ -132,7 +76,7 @@
132
76
  }
133
77
 
134
78
  .sources__link-description {
135
- font-size: 0.75rem;
79
+ font-size: var(--sigvelo-text-xs);
136
80
  color: var(--sigvelo-color-text-muted);
137
81
  line-height: 1.4;
138
82
  overflow: hidden;
@@ -143,7 +87,7 @@
143
87
  }
144
88
 
145
89
  .sources__link-host {
146
- font-size: 0.6875rem;
90
+ font-size: var(--sigvelo-text-2xs);
147
91
  color: var(--sigvelo-color-text-muted);
148
92
  font-variant-numeric: tabular-nums;
149
93
  }
@@ -153,7 +97,6 @@
153
97
  border: 1px solid CanvasText;
154
98
  }
155
99
 
156
- .sources__trigger:focus-visible,
157
100
  .sources__link:focus-visible {
158
101
  outline: 2px solid Highlight;
159
102
  outline-offset: 2px;
@@ -3,7 +3,7 @@
3
3
  width: 100%;
4
4
  gap: 1rem;
5
5
  color: var(--sigvelo-color-text);
6
- font-family: var(--sigvelo-font-sans);
6
+ font-family: inherit;
7
7
  }
8
8
 
9
9
  .stepper__nav {
@@ -19,7 +19,7 @@
19
19
  .stepper__nav[data-orientation="vertical"] {
20
20
  flex-direction: column;
21
21
  align-items: stretch;
22
- gap: 0.125rem;
22
+ gap: var(--sigvelo-spacing-0-5);
23
23
  }
24
24
 
25
25
  .stepper__item {
@@ -48,7 +48,7 @@
48
48
  display: inline-flex;
49
49
  min-width: 0;
50
50
  align-items: center;
51
- gap: 0.625rem;
51
+ gap: var(--sigvelo-spacing-2-5);
52
52
  padding: 0;
53
53
  color: inherit;
54
54
  font: inherit;
@@ -62,9 +62,7 @@
62
62
 
63
63
  .stepper__trigger:focus-visible {
64
64
  outline: none;
65
- box-shadow:
66
- 0 0 0 2px var(--sigvelo-color-canvas),
67
- 0 0 0 4px var(--sigvelo-color-focus);
65
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
68
66
  }
69
67
 
70
68
  .stepper__trigger:disabled {
@@ -80,7 +78,7 @@
80
78
  justify-content: center;
81
79
  overflow: hidden;
82
80
  color: var(--sigvelo-color-text-muted);
83
- font-size: 0.75rem;
81
+ font-size: var(--sigvelo-text-xs);
84
82
  font-weight: var(--sigvelo-font-weight-bold);
85
83
  line-height: 1;
86
84
  font-variant-numeric: tabular-nums;
@@ -121,7 +119,7 @@
121
119
 
122
120
  .stepper__separator {
123
121
  display: block;
124
- block-size: 0.125rem;
122
+ block-size: var(--sigvelo-spacing-0-5);
125
123
  min-inline-size: 2rem;
126
124
  flex: 1 1 auto;
127
125
  margin-block: 0.8125rem;
@@ -141,7 +139,7 @@
141
139
  }
142
140
 
143
141
  .stepper__nav[data-orientation="vertical"] .stepper__separator {
144
- inline-size: 0.125rem;
142
+ inline-size: var(--sigvelo-spacing-0-5);
145
143
  min-inline-size: 0;
146
144
  block-size: 2.25rem;
147
145
  flex: 0 0 auto;
@@ -153,7 +151,7 @@
153
151
  .stepper__title {
154
152
  margin: 0;
155
153
  color: var(--sigvelo-color-text);
156
- font-size: 0.875rem;
154
+ font-size: var(--sigvelo-text-sm);
157
155
  font-weight: var(--sigvelo-font-weight-semibold);
158
156
  line-height: 1.2;
159
157
  }
@@ -165,7 +163,7 @@
165
163
  .stepper__description {
166
164
  margin-block-start: 0.1875rem;
167
165
  color: var(--sigvelo-color-text-muted);
168
- font-size: 0.8125rem;
166
+ font-size: var(--sigvelo-text-compact);
169
167
  line-height: 1.35;
170
168
  }
171
169
 
@@ -181,9 +179,7 @@
181
179
 
182
180
  .stepper__content:focus-visible {
183
181
  outline: none;
184
- box-shadow:
185
- 0 0 0 2px var(--sigvelo-color-canvas),
186
- 0 0 0 4px var(--sigvelo-color-focus);
182
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
187
183
  border-radius: var(--sigvelo-radius-md);
188
184
  }
189
185
 
@@ -197,6 +193,12 @@
197
193
  }
198
194
  }
199
195
 
196
+ @media (prefers-reduced-motion: reduce) {
197
+ .stepper__indicator[data-loading] .stepper__indicator-content {
198
+ animation: none;
199
+ }
200
+ }
201
+
200
202
  @media (forced-colors: active) {
201
203
  .stepper__indicator {
202
204
  border-color: ButtonText;
@@ -55,7 +55,7 @@ button[data-streamdown="link"] {
55
55
  [data-streamdown="heading-4"],
56
56
  [data-streamdown="heading-5"],
57
57
  [data-streamdown="heading-6"] {
58
- margin-block: 0.75rem 0.375rem;
58
+ margin-block: var(--sigvelo-spacing-3) var(--sigvelo-spacing-1-5);
59
59
  font-size: 1.125em;
60
60
  font-weight: var(--sigvelo-font-weight-semibold);
61
61
  line-height: 1.25;
@@ -68,7 +68,7 @@ button[data-streamdown="link"] {
68
68
 
69
69
  [data-streamdown="blockquote"] {
70
70
  margin-block: 0.5rem;
71
- padding-inline-start: 0.75rem;
71
+ padding-inline-start: var(--sigvelo-spacing-3);
72
72
  border-inline-start: 2px solid var(--sigvelo-color-neutral-border-subtle);
73
73
  color: var(--sigvelo-color-text-muted);
74
74
  }
@@ -88,7 +88,7 @@ button[data-streamdown="link"] {
88
88
  }
89
89
 
90
90
  [data-streamdown="list-item"] {
91
- padding-block: 0.125rem;
91
+ padding-block: var(--sigvelo-spacing-0-5);
92
92
  }
93
93
 
94
94
  [data-streamdown="list-item"] > p {
@@ -101,59 +101,13 @@ button[data-streamdown="link"] {
101
101
  border-block-start: 1px solid var(--sigvelo-color-neutral-border-subtle);
102
102
  }
103
103
 
104
- [data-streamdown="image-wrapper"] {
105
- position: relative;
104
+ .message__response img {
106
105
  display: inline-block;
107
- margin-block: 0.5rem;
108
- }
109
-
110
- /* The hover scrim and download button carry no data attributes, only
111
- Tailwind classes we don't compile. The scrim adds nothing here; the
112
- button becomes a hover-revealed overlay in the image corner. */
113
- [data-streamdown="image-wrapper"] > div {
114
- display: none;
115
- }
116
-
117
- [data-streamdown="image-wrapper"] > button {
118
- position: absolute;
119
- inset-block-end: 0.375rem;
120
- inset-inline-end: 0.375rem;
121
- display: inline-flex;
122
- align-items: center;
123
- justify-content: center;
124
- padding: 0.25rem;
125
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
126
- var(--sigvelo-color-neutral-border-subtle);
127
- border-radius: var(--sigvelo-radius-sm);
128
- background-color: var(--sigvelo-color-surface);
129
- color: var(--sigvelo-color-text-muted);
130
- cursor: pointer;
131
- opacity: 0;
132
- transition:
133
- opacity 120ms ease,
134
- color 120ms ease;
135
- }
136
-
137
- [data-streamdown="image-wrapper"]:hover > button,
138
- [data-streamdown="image-wrapper"] > button:focus-visible {
139
- opacity: 1;
140
- }
141
-
142
- [data-streamdown="image-wrapper"] > button:hover {
143
- color: var(--sigvelo-color-text);
144
- }
145
-
146
- [data-streamdown="image"] {
147
106
  max-width: 100%;
107
+ margin-block: 0.5rem;
148
108
  border-radius: var(--sigvelo-radius-md);
149
109
  }
150
110
 
151
- [data-streamdown="image-fallback"] {
152
- font-size: var(--sigvelo-text-xs);
153
- font-style: italic;
154
- color: var(--sigvelo-color-text-muted);
155
- }
156
-
157
111
  /* ---- Shared chrome: action buttons ---- */
158
112
 
159
113
  :is(
@@ -173,7 +127,7 @@ button[data-streamdown="link"] {
173
127
  background: transparent;
174
128
  color: var(--sigvelo-color-text-muted);
175
129
  cursor: pointer;
176
- transition: color 120ms ease;
130
+ transition: color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
177
131
  }
178
132
 
179
133
  :is(
@@ -206,7 +160,7 @@ button[data-streamdown="link"] {
206
160
  gap: 0.25rem;
207
161
  width: 100%;
208
162
  margin-block: 0.5rem;
209
- padding: 0.375rem;
163
+ padding: var(--sigvelo-spacing-1-5);
210
164
  border-radius: var(--sigvelo-radius-lg);
211
165
  background-color: var(--sigvelo-color-neutral-bg-subtle);
212
166
  }
@@ -260,7 +214,7 @@ button[data-streamdown="link"] {
260
214
  padding-inline: 0.5rem;
261
215
  background-color: transparent;
262
216
  font-family: var(--sigvelo-font-mono);
263
- font-size: 0.8125rem;
217
+ font-size: var(--sigvelo-text-compact);
264
218
  line-height: 1.55;
265
219
  overflow: visible;
266
220
  }
@@ -341,7 +295,7 @@ button[data-streamdown="link"] {
341
295
  align-items: center;
342
296
  justify-content: flex-end;
343
297
  gap: 0.25rem;
344
- padding: 0.75rem;
298
+ padding: var(--sigvelo-spacing-3);
345
299
  }
346
300
 
347
301
  [data-streamdown="table-fullscreen"] > div > div:last-child {
@@ -402,8 +356,8 @@ button[data-streamdown="link"] {
402
356
  > button {
403
357
  justify-content: flex-start;
404
358
  width: 100%;
405
- padding-block: 0.375rem;
406
- padding-inline: 0.75rem;
359
+ padding-block: var(--sigvelo-spacing-1-5);
360
+ padding-inline: var(--sigvelo-spacing-3);
407
361
  border-radius: 0;
408
362
  font-size: var(--sigvelo-text-sm);
409
363
  color: var(--sigvelo-color-text);
@@ -5,7 +5,7 @@
5
5
  width: 2.75rem;
6
6
  height: 1.5rem;
7
7
  flex-shrink: 0;
8
- padding: 0.125rem;
8
+ padding: var(--sigvelo-spacing-0-5);
9
9
  background-color: var(--sigvelo-color-neutral-bg-subtle);
10
10
  border: var(--sigvelo-border-style) var(--sigvelo-border-width) transparent;
11
11
  border-radius: var(--sigvelo-radius-full);
@@ -23,9 +23,7 @@
23
23
 
24
24
  .switch:focus-visible {
25
25
  outline: none;
26
- box-shadow:
27
- 0 0 0 2px var(--sigvelo-color-canvas),
28
- 0 0 0 4px var(--sigvelo-color-focus);
26
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
29
27
  }
30
28
 
31
29
  .switch[data-checked] {
@@ -43,12 +41,11 @@
43
41
  .switch:is([aria-invalid="true"], [data-invalid="true"], [data-invalid=""]):focus-visible {
44
42
  box-shadow:
45
43
  inset 0 0 0 var(--sigvelo-border-width) var(--sigvelo-color-danger-bg),
46
- 0 0 0 2px var(--sigvelo-color-canvas),
47
- 0 0 0 4px color-mix(in oklab, var(--sigvelo-color-danger-bg), transparent 80%);
44
+ var(--sigvelo-recipe-invalid-focus-shadow);
48
45
  }
49
46
 
50
47
  .switch[data-disabled] {
51
- opacity: 0.5;
48
+ opacity: var(--sigvelo-recipe-disabled-opacity);
52
49
  cursor: not-allowed;
53
50
  }
54
51
 
@@ -34,10 +34,11 @@
34
34
  display: inline-flex;
35
35
  align-items: center;
36
36
  justify-content: center;
37
- padding-block: 0.5rem;
38
- padding-inline: 1rem;
39
- font-family: var(--sigvelo-font-sans);
40
- font-size: 0.875rem;
37
+ min-block-size: var(--sigvelo-recipe-control-height);
38
+ padding-block: 0;
39
+ padding-inline: var(--sigvelo-recipe-control-padding-inline);
40
+ font-family: inherit;
41
+ font-size: var(--sigvelo-recipe-control-font-size);
41
42
  font-weight: var(--sigvelo-font-weight-semibold);
42
43
  color: var(--sigvelo-color-text-muted);
43
44
  background-color: transparent;
@@ -57,9 +58,7 @@
57
58
 
58
59
  .tabs__tab:focus-visible {
59
60
  outline: none;
60
- box-shadow:
61
- 0 0 0 2px var(--sigvelo-color-canvas),
62
- 0 0 0 4px var(--sigvelo-color-focus);
61
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
63
62
  }
64
63
 
65
64
  .tabs__tab[data-selected] {
@@ -68,7 +67,7 @@
68
67
  }
69
68
 
70
69
  .tabs__tab[data-disabled] {
71
- opacity: 0.5;
70
+ opacity: var(--sigvelo-recipe-disabled-opacity);
72
71
  cursor: not-allowed;
73
72
  }
74
73
 
@@ -2,7 +2,7 @@
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  width: 100%;
5
- font-family: var(--sigvelo-font-sans);
5
+ font-family: inherit;
6
6
  color: var(--sigvelo-color-text);
7
7
  }
8
8
 
@@ -11,7 +11,7 @@
11
11
  align-items: center;
12
12
  gap: 0.5rem;
13
13
  width: 100%;
14
- padding-block: 0.625rem;
14
+ padding-block: var(--sigvelo-spacing-2-5);
15
15
  padding-inline: 0.875rem;
16
16
  /* Ploy-style: hairline outline on the canvas, plain content inside */
17
17
  background-color: transparent;
@@ -20,7 +20,7 @@
20
20
  border-radius: var(--sigvelo-radius-lg);
21
21
  color: var(--sigvelo-color-text-muted);
22
22
  font-family: inherit;
23
- font-size: 0.875rem;
23
+ font-size: var(--sigvelo-text-sm);
24
24
  font-weight: var(--sigvelo-font-weight-semibold);
25
25
  text-align: start;
26
26
  cursor: pointer;
@@ -35,9 +35,7 @@
35
35
 
36
36
  .task__trigger:focus-visible {
37
37
  outline: none;
38
- box-shadow:
39
- 0 0 0 2px var(--sigvelo-color-canvas),
40
- 0 0 0 4px var(--sigvelo-color-focus);
38
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
41
39
  }
42
40
 
43
41
  .task__trigger[data-panel-open] {
@@ -47,16 +45,11 @@
47
45
 
48
46
  .task__trigger-leading-icon,
49
47
  .task__trigger-icon {
50
- display: inline-flex;
51
48
  color: var(--sigvelo-color-text-muted);
52
49
  }
53
50
 
54
- .task__trigger-icon {
55
- transition: transform 200ms ease;
56
- }
57
-
58
- .task__trigger[data-panel-open] .task__trigger-icon {
59
- transform: rotate(90deg);
51
+ .task__trigger-leading-icon {
52
+ display: inline-flex;
60
53
  }
61
54
 
62
55
  .task__trigger-title {
@@ -67,34 +60,12 @@
67
60
  white-space: nowrap;
68
61
  }
69
62
 
70
- .task__trigger-extras {
71
- display: inline-flex;
72
- align-items: center;
73
- gap: 0.375rem;
74
- color: var(--sigvelo-color-text-muted);
75
- font-weight: var(--sigvelo-font-weight-normal);
76
- }
77
-
78
- .task__content {
79
- height: var(--collapsible-panel-height);
80
- overflow: hidden;
81
- transition:
82
- height 200ms ease,
83
- opacity 200ms ease;
84
- }
85
-
86
- .task__content[data-starting-style],
87
- .task__content[data-ending-style] {
88
- height: 0;
89
- opacity: 0;
90
- }
91
-
92
63
  .task__list {
93
64
  display: flex;
94
65
  flex-direction: column;
95
- gap: 0.375rem;
66
+ gap: var(--sigvelo-spacing-1-5);
96
67
  margin: 0;
97
- padding-block: 0.75rem;
68
+ padding-block: var(--sigvelo-spacing-3);
98
69
  padding-inline: 1.5rem;
99
70
  list-style: none;
100
71
  /* Bounded so expanding never blows out the conversation scroll position */
@@ -110,7 +81,7 @@
110
81
 
111
82
  .task__item {
112
83
  position: relative;
113
- font-size: 0.8125rem;
84
+ font-size: var(--sigvelo-text-compact);
114
85
  color: var(--sigvelo-color-text);
115
86
  line-height: 1.6;
116
87
  }
@@ -119,7 +90,7 @@
119
90
  content: "";
120
91
  position: absolute;
121
92
  inset-inline-start: -0.875rem;
122
- inset-block-start: 0.625rem;
93
+ inset-block-start: var(--sigvelo-spacing-2-5);
123
94
  width: 0.3125rem;
124
95
  height: 0.3125rem;
125
96
  border-radius: var(--sigvelo-radius-full);
@@ -131,12 +102,12 @@
131
102
  align-items: center;
132
103
  gap: 0.25rem;
133
104
  padding-block: 0.0625rem;
134
- padding-inline: 0.375rem;
135
- margin-inline: 0.125rem;
105
+ padding-inline: var(--sigvelo-spacing-1-5);
106
+ margin-inline: var(--sigvelo-spacing-0-5);
136
107
  background-color: var(--sigvelo-color-neutral-bg-subtle);
137
108
  border-radius: var(--sigvelo-radius-sm);
138
109
  font-family: var(--sigvelo-font-mono);
139
- font-size: 0.75rem;
110
+ font-size: var(--sigvelo-text-xs);
140
111
  color: var(--sigvelo-color-text);
141
112
  vertical-align: baseline;
142
113
  }
@@ -2,7 +2,7 @@
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  width: 100%;
5
- font-family: var(--sigvelo-font-sans);
5
+ font-family: inherit;
6
6
  background-color: var(--sigvelo-color-neutral-950, var(--sigvelo-color-neutral-900));
7
7
  color: var(--sigvelo-color-neutral-100);
8
8
  border-radius: var(--sigvelo-radius-lg);
@@ -14,7 +14,7 @@
14
14
  align-items: center;
15
15
  gap: 0.5rem;
16
16
  padding-block: 0.5rem;
17
- padding-inline: 0.75rem;
17
+ padding-inline: var(--sigvelo-spacing-3);
18
18
  background-color: color-mix(in oklab, var(--sigvelo-color-neutral-950) 80%, white 20%);
19
19
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
20
20
  color-mix(in oklab, var(--sigvelo-color-neutral-700) 40%, transparent);
@@ -23,9 +23,9 @@
23
23
  .terminal__title {
24
24
  display: inline-flex;
25
25
  align-items: center;
26
- gap: 0.375rem;
26
+ gap: var(--sigvelo-spacing-1-5);
27
27
  font-family: var(--sigvelo-font-mono);
28
- font-size: 0.75rem;
28
+ font-size: var(--sigvelo-text-xs);
29
29
  color: var(--sigvelo-color-neutral-300);
30
30
  }
31
31
 
@@ -54,7 +54,7 @@
54
54
  .terminal__content-viewport {
55
55
  width: 100%;
56
56
  height: 100%;
57
- padding-block: 0.625rem;
57
+ padding-block: var(--sigvelo-spacing-2-5);
58
58
  padding-inline: 0.875rem;
59
59
  overflow: auto;
60
60
  }
@@ -62,7 +62,7 @@
62
62
  .terminal__output {
63
63
  margin: 0;
64
64
  font-family: var(--sigvelo-font-mono);
65
- font-size: 0.75rem;
65
+ font-size: var(--sigvelo-text-xs);
66
66
  line-height: 1.6;
67
67
  color: var(--sigvelo-color-neutral-100);
68
68
  white-space: pre-wrap;
@@ -75,7 +75,7 @@
75
75
  height: 1em;
76
76
  vertical-align: text-bottom;
77
77
  background-color: var(--sigvelo-color-neutral-100);
78
- margin-inline-start: 0.125rem;
78
+ margin-inline-start: var(--sigvelo-spacing-0-5);
79
79
  animation: terminal-blink 1s step-end infinite;
80
80
  }
81
81