@mcp-b/react-components 0.14.2 → 0.16.1

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 (251) 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 +154 -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 +233 -0
  193. package/dist/styles/agent-attention.css +128 -0
  194. package/dist/styles/agent-chat.css +133 -4
  195. package/dist/styles/agent-connection.css +9 -9
  196. package/dist/styles/alert-dialog.css +11 -11
  197. package/dist/styles/app-frame.css +15 -0
  198. package/dist/styles/app-top-bar.css +102 -0
  199. package/dist/styles/avatar.css +0 -1
  200. package/dist/styles/browser-control-overlay.css +184 -0
  201. package/dist/styles/card.css +29 -8
  202. package/dist/styles/chain-of-thought.css +5 -5
  203. package/dist/styles/checkbox-group.css +69 -0
  204. package/dist/styles/codex-model-selector.css +3 -3
  205. package/dist/styles/combobox.css +2 -1
  206. package/dist/styles/context-menu.css +1 -1
  207. package/dist/styles/description-list.css +50 -0
  208. package/dist/styles/dialog.css +11 -11
  209. package/dist/styles/field.css +14 -14
  210. package/dist/styles/fieldset.css +15 -4
  211. package/dist/styles/index.css +14 -2
  212. package/dist/styles/mcp-connection-request.css +60 -0
  213. package/dist/styles/mcp-server-picker.css +96 -68
  214. package/dist/styles/menu.css +1 -1
  215. package/dist/styles/message.css +4 -43
  216. package/dist/styles/model-selector.css +18 -12
  217. package/dist/styles/popover.css +9 -9
  218. package/dist/styles/preview-card.css +1 -1
  219. package/dist/styles/pricing-page.css +21 -27
  220. package/dist/styles/prompt-input.css +225 -32
  221. package/dist/styles/reasoning.css +1 -55
  222. package/dist/styles/recipes.css +50 -24
  223. package/dist/styles/resizable-side-panel.css +66 -0
  224. package/dist/styles/responsive-sidebar-shell.css +169 -0
  225. package/dist/styles/select.css +13 -3
  226. package/dist/styles/sources.css +6 -6
  227. package/dist/styles/stepper.css +13 -0
  228. package/dist/styles/streamdown.css +0 -4
  229. package/dist/styles/subagent-run.css +59 -42
  230. package/dist/styles/task.css +17 -10
  231. package/dist/styles/test-results.css +17 -10
  232. package/dist/styles/textarea.css +20 -0
  233. package/dist/styles/theme-mode-control.css +72 -0
  234. package/dist/styles/think-execution-status.css +49 -0
  235. package/dist/styles/think-execution-workbench.css +16 -80
  236. package/dist/styles/think-full-app.css +143 -128
  237. package/dist/styles/think-routine-library.css +491 -0
  238. package/dist/styles/think-thread-picker.css +47 -3
  239. package/dist/styles/toast.css +6 -6
  240. package/dist/styles/toggle-group.css +7 -0
  241. package/dist/styles/tooltip.css +1 -1
  242. package/dist/styles/workspace-explorer.css +516 -64
  243. package/dist/utils/mcp-server-catalog.d.ts +82 -78
  244. package/dist/utils/mcp-server-catalog.js +64 -41
  245. package/dist/utils/structured-code.d.ts +1 -1
  246. package/dist/utils/theme.d.ts +22 -0
  247. package/dist/utils/theme.js +55 -0
  248. package/package.json +34 -28
  249. package/dist/icons-Ba9THQKz.js +0 -64
  250. package/dist/styles/think-resize-handle.css +0 -33
  251. package/dist/styles/think-thread-shell.css +0 -219
@@ -1,30 +1,49 @@
1
- .mcp-server-picker {
2
- display: inline-flex;
1
+ .mcp-server-picker__popup {
2
+ --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xs);
3
+ --sigvelo-recipe-row-padding-block: var(--sigvelo-spacing-0-5);
4
+ --sigvelo-recipe-row-padding-inline: var(--sigvelo-spacing-2);
5
+ --sigvelo-recipe-row-gap: var(--sigvelo-spacing-1-5);
6
+ --sigvelo-recipe-row-font-size: var(--sigvelo-text-compact);
7
+
8
+ inline-size: min(46rem, calc(100dvw - 1rem));
9
+ max-block-size: min(28rem, calc(100dvh - 2rem));
10
+ overflow-y: auto;
11
+ scrollbar-gutter: stable;
12
+ overscroll-behavior: contain;
3
13
  }
4
14
 
5
- .mcp-server-picker__trigger {
6
- flex-shrink: 0;
7
- color: var(--sigvelo-color-text-muted);
8
- background: none;
15
+ .mcp-server-picker__group + .mcp-server-picker__group {
16
+ margin-block-start: var(--sigvelo-spacing-0-5);
9
17
  }
10
18
 
11
- .mcp-server-picker__trigger:hover:not([data-disabled]),
12
- .mcp-server-picker__trigger[data-popup-open] {
19
+ .mcp-server-picker__group-label {
20
+ padding-block: var(--sigvelo-spacing-1-5) var(--sigvelo-spacing-0-5);
21
+ padding-inline: var(--sigvelo-spacing-2);
13
22
  color: var(--sigvelo-color-text);
14
- background: none;
23
+ font-size: var(--sigvelo-text-xs);
24
+ font-weight: var(--sigvelo-font-weight-normal);
25
+ line-height: var(--sigvelo-leading-tight);
15
26
  }
16
27
 
17
- .mcp-server-picker__trigger > svg {
18
- inline-size: 1rem;
19
- block-size: 1rem;
28
+ .mcp-server-picker__action-error {
29
+ display: flex;
30
+ align-items: flex-start;
31
+ gap: var(--sigvelo-spacing-1-5);
32
+ margin: var(--sigvelo-spacing-1) var(--sigvelo-spacing-2);
33
+ padding: var(--sigvelo-spacing-2);
34
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
35
+ var(--sigvelo-color-danger-border-subtle);
36
+ border-radius: var(--sigvelo-radius-sm);
37
+ color: var(--sigvelo-color-danger-text-on-subtle);
38
+ background-color: var(--sigvelo-color-danger-bg-subtle);
39
+ font-size: var(--sigvelo-text-xs);
40
+ line-height: var(--sigvelo-leading-tight);
41
+ opacity: 1;
42
+ overflow-wrap: anywhere;
20
43
  }
21
44
 
22
- .mcp-server-picker__popup {
23
- inline-size: min(32rem, calc(100dvw - 1rem));
24
- max-block-size: min(28rem, calc(100dvh - 2rem));
25
- overflow-y: auto;
26
- scrollbar-gutter: stable;
27
- overscroll-behavior: contain;
45
+ .mcp-server-picker__action-error > svg {
46
+ flex: 0 0 auto;
28
47
  }
29
48
 
30
49
  .mcp-server-picker__row-shell {
@@ -34,23 +53,20 @@
34
53
  }
35
54
 
36
55
  .mcp-server-picker__row {
37
- min-block-size: 2rem;
38
- gap: 0.5rem;
39
- padding-block: 0.3125rem;
40
- padding-inline: 0.5rem;
41
56
  overflow: hidden;
42
57
  }
43
58
 
44
- .mcp-server-picker__row-shell[data-connection="connected"] .mcp-server-picker__row {
45
- opacity: 1;
59
+ .mcp-server-picker__row-shell,
60
+ .mcp-server-picker__custom-action {
61
+ border-radius: var(--sigvelo-radius-sm);
46
62
  }
47
63
 
48
- .mcp-server-picker__row-shell[data-connection="disconnected"] .mcp-server-picker__row {
49
- opacity: 0.68;
64
+ .mcp-server-picker__row-shell:has(.mcp-server-picker__row[data-highlighted]) {
65
+ background-color: var(--sigvelo-color-neutral-bg-subtle);
50
66
  }
51
67
 
52
- .mcp-server-picker__row-shell[data-connection="disconnected"] .mcp-server-picker__description {
53
- color: var(--sigvelo-color-text);
68
+ .mcp-server-picker__row-shell[data-status="ready"] .mcp-server-picker__row {
69
+ opacity: 1;
54
70
  }
55
71
 
56
72
  .mcp-server-picker__icon {
@@ -58,38 +74,44 @@
58
74
  flex: 0 0 auto;
59
75
  align-items: center;
60
76
  justify-content: center;
61
- inline-size: 1.25rem;
62
- block-size: 1.25rem;
77
+ inline-size: 1.125rem;
78
+ block-size: 1.125rem;
63
79
  color: var(--sigvelo-color-text-muted);
64
80
  }
65
81
 
66
- .mcp-server-picker__icon > img,
67
82
  .mcp-server-picker__icon > svg {
68
83
  display: block;
69
- inline-size: 1rem;
70
- block-size: 1rem;
84
+ inline-size: 0.875rem;
85
+ block-size: 0.875rem;
71
86
  object-fit: contain;
72
87
  }
73
88
 
74
- .mcp-server-picker__fallback-icon {
75
- display: inline-flex;
76
- align-items: center;
77
- justify-content: center;
89
+ .mcp-server-picker__avatar {
78
90
  inline-size: 1.125rem;
79
91
  block-size: 1.125rem;
92
+ background-color: transparent;
80
93
  border-radius: var(--sigvelo-radius-sm);
81
- background-color: var(--sigvelo-color-neutral-bg-subtle);
82
- color: var(--sigvelo-color-neutral-text-on-subtle);
94
+ }
95
+
96
+ .mcp-server-picker__avatar-image,
97
+ .mcp-server-picker__avatar-fallback {
98
+ border-radius: var(--sigvelo-radius-sm);
99
+ }
100
+
101
+ .mcp-server-picker__avatar-image {
102
+ object-fit: contain;
103
+ }
104
+
105
+ .mcp-server-picker__avatar-fallback {
83
106
  font-size: var(--sigvelo-text-xs);
84
107
  font-weight: var(--sigvelo-font-weight-bold);
85
108
  line-height: 1;
86
- text-transform: uppercase;
87
109
  }
88
110
 
89
111
  .mcp-server-picker__copy {
90
112
  display: flex;
91
113
  align-items: baseline;
92
- gap: var(--sigvelo-spacing-2-5);
114
+ gap: var(--sigvelo-spacing-2);
93
115
  min-inline-size: 0;
94
116
  }
95
117
 
@@ -100,11 +122,22 @@
100
122
 
101
123
  .mcp-server-picker__description {
102
124
  min-inline-size: 0;
103
- max-inline-size: 20rem;
104
125
  overflow: hidden;
105
126
  text-overflow: ellipsis;
106
127
  white-space: nowrap;
128
+ color: var(--sigvelo-color-text);
129
+ }
130
+
131
+ .mcp-server-picker__row-state {
107
132
  color: var(--sigvelo-color-text-muted);
133
+ font-size: var(--sigvelo-text-xs);
134
+ white-space: nowrap;
135
+ }
136
+
137
+ .mcp-server-picker__custom-action > svg,
138
+ .mcp-server-picker__custom-action .mcp-server-picker__icon > svg {
139
+ inline-size: 0.875rem;
140
+ block-size: 0.875rem;
108
141
  }
109
142
 
110
143
  .mcp-server-picker__status-label {
@@ -149,27 +182,32 @@
149
182
  block-size: 0.875rem;
150
183
  }
151
184
 
152
- .mcp-server-picker__row-shell[data-status="ready"] .mcp-server-picker__row-status,
153
- .mcp-server-picker__row-shell[data-status="connected"] .mcp-server-picker__row-status {
185
+ .mcp-server-picker__row-shell[data-status="ready"] .mcp-server-picker__row-status {
154
186
  color: var(--sigvelo-color-success-text-on-subtle);
155
187
  }
156
188
 
157
- .mcp-server-picker__row-shell[data-status="needs-auth"] .mcp-server-picker__row-status,
158
189
  .mcp-server-picker__row-shell[data-status="authenticating"] .mcp-server-picker__row-status {
159
190
  color: var(--sigvelo-color-warning-text-on-subtle);
160
191
  }
161
192
 
162
- .mcp-server-picker__row-shell[data-status="failed"] .mcp-server-picker__row-status {
193
+ .mcp-server-picker__row-shell:is([data-status="failed"], [data-status="not-connected"])
194
+ .mcp-server-picker__row-status {
163
195
  color: var(--sigvelo-color-danger-text-on-subtle);
164
196
  }
165
197
 
166
- .mcp-server-picker__spinner {
167
- animation: mcp-server-picker-spin 900ms linear infinite;
198
+ .mcp-server-picker__row-shell[data-error] .mcp-server-picker__row-status {
199
+ color: var(--sigvelo-color-danger-text-on-subtle);
168
200
  }
169
201
 
170
- @media (prefers-reduced-motion: reduce) {
171
- .mcp-server-picker__spinner {
172
- animation: none;
202
+ @media (any-pointer: coarse) {
203
+ .mcp-server-picker__popup {
204
+ --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xl);
205
+ }
206
+
207
+ .mcp-server-picker__action {
208
+ inline-size: var(--sigvelo-control-height-xl);
209
+ block-size: var(--sigvelo-control-height-xl);
210
+ min-block-size: var(--sigvelo-control-height-xl);
173
211
  }
174
212
  }
175
213
 
@@ -180,28 +218,18 @@
180
218
  font-size: var(--sigvelo-text-sm);
181
219
  }
182
220
 
183
- @media (width < 30rem) {
184
- .mcp-server-picker__copy {
185
- flex-direction: column;
186
- gap: 0;
187
- }
188
-
189
- .mcp-server-picker__row-shell {
190
- grid-template-columns: minmax(0, 1fr);
191
- }
221
+ .mcp-server-setup-dialog__links {
222
+ display: flex;
223
+ flex-wrap: wrap;
224
+ gap: var(--sigvelo-spacing-2);
192
225
  }
193
226
 
194
227
  @media (forced-colors: active) {
195
- .mcp-server-picker__fallback-icon {
228
+ .mcp-server-picker__avatar-fallback {
196
229
  border: 1px solid ButtonText;
197
230
  }
198
- }
199
231
 
200
- @keyframes mcp-server-picker-spin {
201
- from {
202
- transform: rotate(0deg);
203
- }
204
- to {
205
- transform: rotate(360deg);
232
+ .mcp-server-picker__row-shell:has(.mcp-server-picker__row[data-highlighted]) {
233
+ outline: 1px solid Highlight;
206
234
  }
207
235
  }
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
  .menu__group-label {
30
- padding-block: var(--sigvelo-spacing-2);
30
+ padding-block: var(--sigvelo-spacing-1-5) var(--sigvelo-spacing-0-5);
31
31
  }
32
32
 
33
33
  .menu__arrow {
@@ -33,8 +33,8 @@
33
33
  }
34
34
 
35
35
  .message[data-from="user"] .message__content {
36
- background-color: var(--sigvelo-color-primary-bg);
37
- color: var(--sigvelo-color-primary-text-on-bg);
36
+ background-color: var(--sigvelo-color-neutral-bg-subtle);
37
+ color: var(--sigvelo-color-text);
38
38
  }
39
39
 
40
40
  .message[data-from="assistant"] .message__content {
@@ -158,48 +158,9 @@
158
158
  box-shadow: var(--sigvelo-shadow-sm);
159
159
  }
160
160
 
161
- .message__edit-label {
162
- font-size: var(--sigvelo-text-sm);
163
- font-weight: var(--sigvelo-font-weight-semibold);
164
- }
165
-
166
161
  .message__edit-textarea {
167
- box-sizing: border-box;
168
- width: 100%;
169
- min-height: 6rem;
170
- max-height: 18rem;
171
- padding-block: var(--sigvelo-spacing-2-5);
172
- padding-inline: var(--sigvelo-spacing-3);
173
- resize: vertical;
174
- font: inherit;
175
- font-size: var(--sigvelo-text-sm);
176
- line-height: 1.55;
177
- color: var(--sigvelo-color-text);
178
- background-color: var(--sigvelo-color-canvas);
179
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
180
- var(--sigvelo-color-neutral-border-muted);
181
- border-radius: var(--sigvelo-radius-md);
182
- }
183
-
184
- .message__edit-textarea:focus-visible {
185
- outline: none;
186
- border-color: var(--sigvelo-color-focus);
187
- box-shadow: var(--sigvelo-recipe-focus-shadow-subtle);
188
- }
189
-
190
- .message__edit-textarea[aria-invalid="true"] {
191
- border-color: var(--sigvelo-color-danger-border);
192
- }
193
-
194
- .message__edit-textarea:disabled {
195
- cursor: wait;
196
- opacity: 0.65;
197
- }
198
-
199
- .message__edit-error {
200
- margin: 0;
201
- font-size: var(--sigvelo-text-sm);
202
- color: var(--sigvelo-color-danger-text);
162
+ min-block-size: 6rem;
163
+ max-block-size: 18rem;
203
164
  }
204
165
 
205
166
  .message__edit-actions {
@@ -41,8 +41,8 @@
41
41
  display: flex;
42
42
  align-items: center;
43
43
  gap: 0.5rem;
44
- padding-block: var(--sigvelo-spacing-3);
45
- padding-inline: 1rem;
44
+ padding-block: var(--sigvelo-spacing-2);
45
+ padding-inline: var(--sigvelo-spacing-3);
46
46
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
47
47
  var(--sigvelo-color-neutral-border-subtle);
48
48
  }
@@ -90,7 +90,7 @@
90
90
 
91
91
  .model-selector__group-label {
92
92
  padding-block: var(--sigvelo-spacing-1-5);
93
- padding-inline: 1rem;
93
+ padding-inline: var(--sigvelo-spacing-3);
94
94
  font-size: var(--sigvelo-text-2xs);
95
95
  font-weight: var(--sigvelo-font-weight-bold);
96
96
  text-transform: uppercase;
@@ -102,14 +102,15 @@
102
102
  display: flex;
103
103
  align-items: center;
104
104
  justify-content: flex-start;
105
- gap: var(--sigvelo-spacing-2-5);
105
+ gap: var(--sigvelo-spacing-1-5);
106
106
  width: 100%;
107
- padding-block: 0.5rem;
108
- padding-inline: 1rem;
107
+ min-block-size: var(--sigvelo-control-height-xs);
108
+ padding-block: var(--sigvelo-spacing-0-5);
109
+ padding-inline: var(--sigvelo-spacing-3);
109
110
  border-radius: 0;
110
111
  color: var(--sigvelo-color-text);
111
112
  font-family: inherit;
112
- font-size: var(--sigvelo-text-sm);
113
+ font-size: var(--sigvelo-text-compact);
113
114
  font-weight: var(--sigvelo-font-weight-normal);
114
115
  text-align: start;
115
116
  transition: background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
@@ -126,9 +127,8 @@
126
127
  }
127
128
 
128
129
  .model-selector__item[data-selected] {
129
- background-color: var(--sigvelo-color-primary-bg-subtle);
130
- color: var(--sigvelo-color-primary-text);
131
- font-weight: var(--sigvelo-font-weight-semibold);
130
+ background-color: var(--sigvelo-color-neutral-bg-subtle);
131
+ color: var(--sigvelo-color-neutral-text-on-subtle);
132
132
  }
133
133
 
134
134
  .model-selector__item:is(:disabled, [data-disabled]) {
@@ -137,13 +137,19 @@
137
137
  }
138
138
 
139
139
  .model-selector__empty {
140
- padding-block: 1.5rem;
141
- padding-inline: 1rem;
140
+ padding-block: var(--sigvelo-spacing-4);
141
+ padding-inline: var(--sigvelo-spacing-3);
142
142
  text-align: center;
143
143
  font-size: var(--sigvelo-text-compact);
144
144
  color: var(--sigvelo-color-text-muted);
145
145
  }
146
146
 
147
+ @media (any-pointer: coarse) {
148
+ .model-selector__item {
149
+ min-block-size: var(--sigvelo-control-height-xl);
150
+ }
151
+ }
152
+
147
153
  /* Hide empty state when any group sibling has visible items. */
148
154
  .model-selector__list:has(.model-selector__group) .model-selector__empty {
149
155
  display: none;
@@ -14,7 +14,7 @@
14
14
  }
15
15
 
16
16
  .popover__popup {
17
- --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-4);
17
+ --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-3);
18
18
 
19
19
  min-width: 12rem;
20
20
  max-inline-size: min(20rem, var(--available-width));
@@ -51,24 +51,24 @@
51
51
  }
52
52
 
53
53
  .popover__title {
54
- margin-block-end: 0.5rem;
55
- font-size: var(--sigvelo-text-sm);
56
- font-weight: var(--sigvelo-font-weight-bold);
54
+ margin-block-end: var(--sigvelo-spacing-1);
55
+ font-size: var(--sigvelo-text-compact);
56
+ font-weight: var(--sigvelo-font-weight-semibold);
57
57
  line-height: 1.25;
58
58
  color: var(--sigvelo-color-text);
59
59
  }
60
60
 
61
61
  .popover__description {
62
62
  margin: 0;
63
- font-size: var(--sigvelo-text-sm);
64
- line-height: 1.5;
63
+ font-size: var(--sigvelo-text-xs);
64
+ line-height: var(--sigvelo-leading-normal);
65
65
  color: var(--sigvelo-color-text-muted);
66
66
  }
67
67
 
68
68
  .popover__header {
69
69
  display: grid;
70
- gap: 0.5rem;
71
- margin-block-end: var(--sigvelo-spacing-3);
70
+ gap: var(--sigvelo-spacing-1);
71
+ margin-block-end: var(--sigvelo-spacing-2);
72
72
  }
73
73
 
74
74
  .popover__close {
@@ -77,7 +77,7 @@
77
77
  justify-content: center;
78
78
  padding-block: 0.25rem;
79
79
  padding-inline: 0.5rem;
80
- margin-block-start: var(--sigvelo-spacing-3);
80
+ margin-block-start: var(--sigvelo-spacing-2);
81
81
  font-family: inherit;
82
82
  font-size: var(--sigvelo-text-xs);
83
83
  font-weight: var(--sigvelo-font-weight-semibold);
@@ -21,7 +21,7 @@
21
21
  }
22
22
 
23
23
  .preview-card__popup {
24
- --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-4);
24
+ --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-3);
25
25
 
26
26
  min-inline-size: 12.5rem;
27
27
  max-inline-size: min(20rem, var(--available-width));
@@ -1,8 +1,10 @@
1
1
  .pricing-page {
2
+ box-sizing: border-box;
2
3
  width: 100%;
3
4
  max-width: 1200px;
4
5
  margin: 0 auto;
5
- padding: 3rem 1.5rem;
6
+ padding: clamp(1rem, 4%, 3rem) clamp(0.75rem, 3%, 1.5rem);
7
+ container-type: inline-size;
6
8
  }
7
9
 
8
10
  /* Header */
@@ -41,6 +43,10 @@
41
43
  gap: 0.5rem;
42
44
  }
43
45
 
46
+ .pricing-page__toggle-label {
47
+ font-size: var(--sigvelo-text-xs);
48
+ }
49
+
44
50
  .pricing-page__switch-container {
45
51
  display: flex;
46
52
  align-items: center;
@@ -54,11 +60,15 @@
54
60
  transition: color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
55
61
  }
56
62
 
57
- .pricing-page__period-label--active {
63
+ .pricing-page__period-label[data-active] {
58
64
  font-weight: 600;
59
65
  color: var(--sigvelo-color-text);
60
66
  }
61
67
 
68
+ .pricing-page__billing-badge {
69
+ margin-inline-start: var(--sigvelo-spacing-1-5);
70
+ }
71
+
62
72
  /* Plans Grid */
63
73
 
64
74
  .pricing-page__plans {
@@ -75,7 +85,7 @@
75
85
  padding: 1.5rem;
76
86
  }
77
87
 
78
- .pricing-page__plan--popular {
88
+ .pricing-page__plan[data-popular] {
79
89
  border-color: var(--sigvelo-color-primary-bg);
80
90
  box-shadow:
81
91
  0 4px 6px -1px color-mix(in oklab, var(--sigvelo-color-primary-bg), transparent 90%),
@@ -160,7 +170,7 @@
160
170
  color: var(--sigvelo-color-text);
161
171
  }
162
172
 
163
- .pricing-page__feature--disabled {
173
+ .pricing-page__feature:not([data-included]) {
164
174
  color: var(--sigvelo-color-text-muted);
165
175
  text-decoration: line-through;
166
176
  }
@@ -175,7 +185,7 @@
175
185
  color: var(--sigvelo-color-text-muted);
176
186
  }
177
187
 
178
- .pricing-page__feature-icon--included {
188
+ .pricing-page__feature[data-included] .pricing-page__feature-icon {
179
189
  color: var(--sigvelo-color-success-bg);
180
190
  }
181
191
 
@@ -189,22 +199,6 @@
189
199
  margin-left: 0.25rem;
190
200
  }
191
201
 
192
- .pricing-page__feature-info {
193
- display: flex;
194
- align-items: center;
195
- justify-content: center;
196
- padding: 0;
197
- background: none;
198
- border: none;
199
- color: var(--sigvelo-color-text-muted);
200
- cursor: pointer;
201
- transition: color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
202
- }
203
-
204
- .pricing-page__feature-info:hover {
205
- color: var(--sigvelo-color-text);
206
- }
207
-
208
202
  /* Calculator */
209
203
 
210
204
  .pricing-page__calculator {
@@ -232,6 +226,10 @@
232
226
  margin-bottom: 0.5rem;
233
227
  }
234
228
 
229
+ .pricing-page__calculator-separator {
230
+ margin-block: 1.5rem;
231
+ }
232
+
235
233
  .pricing-page__calculator-labels {
236
234
  display: flex;
237
235
  justify-content: space-between;
@@ -354,7 +352,7 @@
354
352
  padding: 0.25rem 0;
355
353
  }
356
354
 
357
- .pricing-page__confirm-row--savings {
355
+ .pricing-page__confirm-row[data-savings] {
358
356
  color: var(--sigvelo-color-success-bg);
359
357
  font-weight: 500;
360
358
  }
@@ -367,11 +365,7 @@
367
365
 
368
366
  /* Responsive */
369
367
 
370
- @media (max-width: 768px) {
371
- .pricing-page {
372
- padding: 2rem 1rem;
373
- }
374
-
368
+ @container (max-width: 768px) {
375
369
  .pricing-page__title {
376
370
  font-size: 1.75rem;
377
371
  }