@mcp-b/react-components 0.14.1 → 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 (241) hide show
  1. package/dist/AgentActivity-BNUNrP9O.d.ts +36 -0
  2. package/dist/{AgentChat-Cgb1xuT7.d.ts → AgentChat-CrlpbvQJ.d.ts} +62 -8
  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-DVgVBdvw.js → ModelSelector-SlJNgwKY.js} +17 -8
  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-7DQ2CogF.js → ThinkChat-CzC-zNGA.js} +27 -37
  12. package/dist/{ThinkChatActivity-m9orbdeI.d.ts → ThinkChatActivity-BFQnb2ct.d.ts} +3 -10
  13. package/dist/ThinkChatActivitySummary-BPmu9a-c.d.ts +39 -0
  14. package/dist/{ThinkChatToolParts-Cv4o7j6F.d.ts → ThinkChatToolParts-CSzVwMXf.d.ts} +62 -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 +231 -205
  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.d.ts +15 -3
  80. package/dist/components/ModelSelector.js +1 -1
  81. package/dist/components/NaniteScene.d.ts +10 -1
  82. package/dist/components/NaniteScene.js +36 -1
  83. package/dist/components/Pricing.d.ts +37 -0
  84. package/dist/components/Pricing.js +17 -0
  85. package/dist/components/PricingBillingToggle.d.ts +23 -0
  86. package/dist/components/PricingBillingToggle.js +86 -0
  87. package/dist/components/PricingConfirmationDialog.d.ts +25 -0
  88. package/dist/components/PricingConfirmationDialog.js +57 -0
  89. package/dist/components/PricingFAQ.d.ts +18 -0
  90. package/dist/components/PricingFAQ.js +27 -0
  91. package/dist/components/PricingPage.d.ts +2 -38
  92. package/dist/components/PricingPage.js +39 -359
  93. package/dist/components/PricingPlanCard.d.ts +22 -0
  94. package/dist/components/PricingPlanCard.js +109 -0
  95. package/dist/components/PricingUsageCalculator.d.ts +22 -0
  96. package/dist/components/PricingUsageCalculator.js +96 -0
  97. package/dist/components/PromptInput.d.ts +2 -2
  98. package/dist/components/PromptInput.js +210 -15
  99. package/dist/components/Queue.js +1 -1
  100. package/dist/components/Reasoning.d.ts +2 -1
  101. package/dist/components/Reasoning.js +14 -29
  102. package/dist/components/ResizableSidePanel.d.ts +57 -0
  103. package/dist/components/ResizableSidePanel.js +151 -0
  104. package/dist/components/ResponsiveSidebarShell.d.ts +2 -0
  105. package/dist/components/ResponsiveSidebarShell.js +129 -0
  106. package/dist/components/Select.d.ts +2 -2
  107. package/dist/components/Select.js +11 -2
  108. package/dist/components/Slider.d.ts +13 -1
  109. package/dist/components/Slider.js +11 -0
  110. package/dist/components/Sources.js +1 -1
  111. package/dist/components/Stepper.d.ts +4 -0
  112. package/dist/components/Stepper.js +5 -3
  113. package/dist/components/SubagentRun.d.ts +86 -0
  114. package/dist/components/SubagentRun.js +108 -0
  115. package/dist/components/SubagentRunDetails.d.ts +44 -0
  116. package/dist/components/SubagentRunDetails.js +48 -0
  117. package/dist/components/SubagentRunIndicator.d.ts +22 -0
  118. package/dist/components/SubagentRunIndicator.js +33 -0
  119. package/dist/components/SubagentRunList.d.ts +25 -0
  120. package/dist/components/SubagentRunList.js +26 -0
  121. package/dist/components/SubagentRunSelector.d.ts +47 -0
  122. package/dist/components/SubagentRunSelector.js +55 -0
  123. package/dist/components/Task.js +1 -1
  124. package/dist/components/Terminal.js +2 -2
  125. package/dist/components/TestResults.js +1 -1
  126. package/dist/components/Textarea.d.ts +21 -0
  127. package/dist/components/Textarea.js +19 -0
  128. package/dist/components/ThemeModeControl.d.ts +24 -0
  129. package/dist/components/ThemeModeControl.js +52 -0
  130. package/dist/components/ThemeProvider.d.ts +38 -0
  131. package/dist/components/ThemeProvider.js +80 -0
  132. package/dist/components/ThinkChat.d.ts +34 -7
  133. package/dist/components/ThinkChat.js +7 -4
  134. package/dist/components/ThinkChatActivity.d.ts +3 -2
  135. package/dist/components/ThinkChatActivity.js +18 -297
  136. package/dist/components/ThinkChatActivitySummary.d.ts +2 -0
  137. package/dist/components/ThinkChatActivitySummary.js +421 -0
  138. package/dist/components/ThinkChatToolPanels.d.ts +15 -5
  139. package/dist/components/ThinkChatToolPanels.js +116 -9
  140. package/dist/components/ThinkChatToolParts.d.ts +2 -2
  141. package/dist/components/ThinkChatToolParts.js +51 -9
  142. package/dist/components/ThinkExecutionDetail.d.ts +20 -0
  143. package/dist/components/ThinkExecutionDetail.js +80 -0
  144. package/dist/components/ThinkExecutionRun.d.ts +2 -0
  145. package/dist/components/ThinkExecutionRun.js +72 -0
  146. package/dist/components/ThinkExecutionStatus.d.ts +22 -0
  147. package/dist/components/ThinkExecutionStatus.js +36 -0
  148. package/dist/components/ThinkExecutionWorkbench.d.ts +7 -0
  149. package/dist/components/ThinkExecutionWorkbench.js +69 -225
  150. package/dist/components/ThinkFullApp.d.ts +58 -14
  151. package/dist/components/ThinkFullApp.js +129 -160
  152. package/dist/components/ThinkFullAppViewSwitch.d.ts +31 -0
  153. package/dist/components/ThinkFullAppViewSwitch.js +34 -0
  154. package/dist/components/ThinkRoutine.d.ts +36 -0
  155. package/dist/components/ThinkRoutine.js +15 -0
  156. package/dist/components/ThinkRoutineBrowser.d.ts +25 -0
  157. package/dist/components/ThinkRoutineBrowser.js +156 -0
  158. package/dist/components/ThinkRoutineDetail.d.ts +24 -0
  159. package/dist/components/ThinkRoutineDetail.js +102 -0
  160. package/dist/components/ThinkRoutineForm.d.ts +32 -0
  161. package/dist/components/ThinkRoutineForm.js +151 -0
  162. package/dist/components/ThinkRoutineLibrary.d.ts +74 -0
  163. package/dist/components/ThinkRoutineLibrary.js +178 -0
  164. package/dist/components/ThinkRoutineRuns.d.ts +24 -0
  165. package/dist/components/ThinkRoutineRuns.js +68 -0
  166. package/dist/components/ThinkThreadPicker.d.ts +18 -1
  167. package/dist/components/ThinkThreadPicker.js +51 -5
  168. package/dist/components/ThinkThreadShell.d.ts +12 -9
  169. package/dist/components/ThinkThreadShell.js +17 -137
  170. package/dist/components/Toggle.d.ts +1 -68
  171. package/dist/components/ToggleGroup.d.ts +1 -72
  172. package/dist/components/Tooltip.d.ts +3 -1
  173. package/dist/components/Tooltip.js +4 -2
  174. package/dist/components/WebPreview.js +1 -1
  175. package/dist/components/Workspace.d.ts +2 -0
  176. package/dist/components/Workspace.js +424 -0
  177. package/dist/components/WorkspaceBrowser.d.ts +32 -0
  178. package/dist/components/WorkspaceBrowser.js +103 -0
  179. package/dist/components/WorkspaceExplorer.d.ts +12 -79
  180. package/dist/components/WorkspaceExplorer.js +116 -330
  181. package/dist/components/WorkspaceFile.d.ts +2 -0
  182. package/dist/components/WorkspaceFile.js +195 -0
  183. package/dist/components/WorkspaceFileView.d.ts +26 -0
  184. package/dist/components/WorkspaceFileView.js +2 -0
  185. package/dist/components/WorkspaceHeader.d.ts +35 -0
  186. package/dist/components/WorkspaceHeader.js +51 -0
  187. package/dist/components/WorkspaceLink.d.ts +2 -0
  188. package/dist/components/WorkspaceLink.js +2 -0
  189. package/dist/components/icons.d.ts +2 -2
  190. package/dist/components/icons.js +2 -2
  191. package/dist/{copy-button-DUMLYdsk.js → copy-button-Dejn5heL.js} +1 -1
  192. package/dist/icons-CpfUer49.js +85 -0
  193. package/dist/{icons-CUCz_Sft.d.ts → icons-GQd1xF4e.d.ts} +51 -1
  194. package/dist/styles/activity-header.css +75 -0
  195. package/dist/styles/activity.css +49 -63
  196. package/dist/styles/agent-activity-preview-overlay.css +80 -0
  197. package/dist/styles/agent-activity-preview.css +235 -0
  198. package/dist/styles/agent-attention.css +122 -0
  199. package/dist/styles/agent-chat.css +141 -4
  200. package/dist/styles/app-frame.css +15 -0
  201. package/dist/styles/app-top-bar.css +100 -0
  202. package/dist/styles/avatar.css +0 -1
  203. package/dist/styles/browser-control-overlay.css +184 -0
  204. package/dist/styles/card.css +21 -0
  205. package/dist/styles/checkbox-group.css +69 -0
  206. package/dist/styles/description-list.css +50 -0
  207. package/dist/styles/fieldset.css +11 -0
  208. package/dist/styles/index.css +15 -2
  209. package/dist/styles/mcp-connection-request.css +60 -0
  210. package/dist/styles/mcp-server-picker.css +95 -68
  211. package/dist/styles/message.css +4 -43
  212. package/dist/styles/nanite-scene.css +16 -0
  213. package/dist/styles/pricing-page.css +21 -27
  214. package/dist/styles/prompt-input.css +225 -32
  215. package/dist/styles/reasoning.css +1 -55
  216. package/dist/styles/recipes.css +23 -15
  217. package/dist/styles/resizable-side-panel.css +66 -0
  218. package/dist/styles/responsive-sidebar-shell.css +169 -0
  219. package/dist/styles/select.css +10 -0
  220. package/dist/styles/stepper.css +13 -0
  221. package/dist/styles/streamdown.css +0 -4
  222. package/dist/styles/subagent-run.css +205 -0
  223. package/dist/styles/textarea.css +20 -0
  224. package/dist/styles/theme-mode-control.css +72 -0
  225. package/dist/styles/think-execution-status.css +49 -0
  226. package/dist/styles/think-execution-workbench.css +8 -72
  227. package/dist/styles/think-full-app.css +106 -131
  228. package/dist/styles/think-routine-library.css +491 -0
  229. package/dist/styles/think-thread-picker.css +47 -3
  230. package/dist/styles/toggle-group.css +7 -0
  231. package/dist/styles/workspace-explorer.css +511 -64
  232. package/dist/utils/codex-model-catalog.d.ts +4 -4
  233. package/dist/utils/mcp-server-catalog.d.ts +82 -78
  234. package/dist/utils/mcp-server-catalog.js +64 -41
  235. package/dist/utils/structured-code.d.ts +1 -1
  236. package/dist/utils/theme.d.ts +22 -0
  237. package/dist/utils/theme.js +55 -0
  238. package/package.json +34 -28
  239. package/dist/icons-Ba9THQKz.js +0 -64
  240. package/dist/styles/think-resize-handle.css +0 -33
  241. package/dist/styles/think-thread-shell.css +0 -219
@@ -12,7 +12,10 @@
12
12
 
13
13
  /* Components */
14
14
  @import "./accordion.css" layer(components);
15
+ @import "./activity-header.css" layer(components);
15
16
  @import "./activity.css" layer(components);
17
+ @import "./agent-activity-preview.css" layer(components);
18
+ @import "./agent-attention.css" layer(components);
16
19
  @import "./agent-connection.css" layer(components);
17
20
  @import "./agent-chat.css" layer(components);
18
21
  @import "./alert-dialog.css" layer(components);
@@ -44,6 +47,7 @@
44
47
  @import "./number-field.css" layer(components);
45
48
  @import "./popover.css" layer(components);
46
49
  @import "./mcp-server-picker.css" layer(components);
50
+ @import "./mcp-connection-request.css" layer(components);
47
51
  @import "./preview-card.css" layer(components);
48
52
  @import "./progress.css" layer(components);
49
53
  @import "./radio.css" layer(components);
@@ -55,10 +59,15 @@
55
59
  @import "./stepper.css" layer(components);
56
60
  @import "./switch.css" layer(components);
57
61
  @import "./tabs.css" layer(components);
62
+ @import "./textarea.css" layer(components);
63
+ @import "./theme-mode-control.css" layer(components);
58
64
  @import "./toast.css" layer(components);
59
65
  @import "./toggle.css" layer(components);
60
66
  @import "./toggle-group.css" layer(components);
61
67
  @import "./toolbar.css" layer(components);
68
+ @import "./app-top-bar.css" layer(components);
69
+ @import "./app-frame.css" layer(components);
70
+ @import "./description-list.css" layer(components);
62
71
  @import "./tooltip.css" layer(components);
63
72
 
64
73
  /* AI Chat & Code Components */
@@ -66,6 +75,7 @@
66
75
  @import "./streamdown.css" layer(components);
67
76
  @import "./artifact.css" layer(components);
68
77
  @import "./browser-live-view.css" layer(components);
78
+ @import "./browser-control-overlay.css" layer(components);
69
79
  @import "./browser-run-panel.css" layer(components);
70
80
  @import "./browser-replay.css" layer(components);
71
81
  @import "./chain-of-thought.css" layer(components);
@@ -82,15 +92,18 @@
82
92
  @import "./prompt-input.css" layer(components);
83
93
  @import "./queue.css" layer(components);
84
94
  @import "./reasoning.css" layer(components);
95
+ @import "./resizable-side-panel.css" layer(components);
96
+ @import "./responsive-sidebar-shell.css" layer(components);
85
97
  @import "./sources.css" layer(components);
98
+ @import "./subagent-run.css" layer(components);
86
99
  @import "./task.css" layer(components);
87
100
  @import "./terminal.css" layer(components);
88
101
  @import "./test-results.css" layer(components);
102
+ @import "./think-execution-status.css" layer(components);
89
103
  @import "./think-execution-workbench.css" layer(components);
90
- @import "./think-resize-handle.css" layer(components);
91
104
  @import "./think-full-app.css" layer(components);
105
+ @import "./think-routine-library.css" layer(components);
92
106
  @import "./think-thread-picker.css" layer(components);
93
- @import "./think-thread-shell.css" layer(components);
94
107
  @import "./web-preview.css" layer(components);
95
108
  @import "./workspace-explorer.css" layer(components);
96
109
 
@@ -0,0 +1,60 @@
1
+ .mcp-connection-request {
2
+ inline-size: min(28rem, 100%);
3
+ margin-block: var(--sigvelo-spacing-2);
4
+ }
5
+
6
+ .mcp-connection-request--settled {
7
+ gap: var(--sigvelo-spacing-1);
8
+ }
9
+
10
+ .mcp-connection-request__body {
11
+ display: grid;
12
+ gap: var(--sigvelo-spacing-2);
13
+ }
14
+
15
+ .mcp-connection-request__reason {
16
+ color: var(--sigvelo-color-text-muted);
17
+ font-size: var(--sigvelo-text-compact);
18
+ line-height: var(--sigvelo-leading-normal);
19
+ text-wrap: pretty;
20
+ }
21
+
22
+ .mcp-connection-request__endpoint {
23
+ min-inline-size: 0;
24
+ padding: var(--sigvelo-spacing-2);
25
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
26
+ var(--sigvelo-color-neutral-border-muted);
27
+ border-radius: var(--sigvelo-radius-sm);
28
+ background: var(--sigvelo-color-neutral-bg-subtle);
29
+ }
30
+
31
+ .mcp-connection-request__endpoint-item {
32
+ min-inline-size: 0;
33
+ align-items: baseline;
34
+ gap: var(--sigvelo-spacing-2);
35
+ font-size: var(--sigvelo-text-xs);
36
+ }
37
+
38
+ .mcp-connection-request__endpoint-details {
39
+ min-inline-size: 0;
40
+ }
41
+
42
+ .mcp-connection-request__error {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: var(--sigvelo-spacing-1-5);
46
+ color: var(--sigvelo-color-danger-text);
47
+ font-size: var(--sigvelo-text-xs);
48
+ line-height: var(--sigvelo-leading-normal);
49
+ overflow-wrap: anywhere;
50
+ }
51
+
52
+ .mcp-connection-request__error > svg {
53
+ flex: 0 0 auto;
54
+ }
55
+
56
+ @media (forced-colors: active) {
57
+ .mcp-connection-request__endpoint {
58
+ border-color: CanvasText;
59
+ }
60
+ }
@@ -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,43 @@
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;
80
92
  border-radius: var(--sigvelo-radius-sm);
81
- background-color: var(--sigvelo-color-neutral-bg-subtle);
82
- color: var(--sigvelo-color-neutral-text-on-subtle);
93
+ }
94
+
95
+ .mcp-server-picker__avatar-image,
96
+ .mcp-server-picker__avatar-fallback {
97
+ border-radius: var(--sigvelo-radius-sm);
98
+ }
99
+
100
+ .mcp-server-picker__avatar-image {
101
+ object-fit: contain;
102
+ }
103
+
104
+ .mcp-server-picker__avatar-fallback {
83
105
  font-size: var(--sigvelo-text-xs);
84
106
  font-weight: var(--sigvelo-font-weight-bold);
85
107
  line-height: 1;
86
- text-transform: uppercase;
87
108
  }
88
109
 
89
110
  .mcp-server-picker__copy {
90
111
  display: flex;
91
112
  align-items: baseline;
92
- gap: var(--sigvelo-spacing-2-5);
113
+ gap: var(--sigvelo-spacing-2);
93
114
  min-inline-size: 0;
94
115
  }
95
116
 
@@ -100,11 +121,22 @@
100
121
 
101
122
  .mcp-server-picker__description {
102
123
  min-inline-size: 0;
103
- max-inline-size: 20rem;
104
124
  overflow: hidden;
105
125
  text-overflow: ellipsis;
106
126
  white-space: nowrap;
127
+ color: var(--sigvelo-color-text);
128
+ }
129
+
130
+ .mcp-server-picker__row-state {
107
131
  color: var(--sigvelo-color-text-muted);
132
+ font-size: var(--sigvelo-text-xs);
133
+ white-space: nowrap;
134
+ }
135
+
136
+ .mcp-server-picker__custom-action > svg,
137
+ .mcp-server-picker__custom-action .mcp-server-picker__icon > svg {
138
+ inline-size: 0.875rem;
139
+ block-size: 0.875rem;
108
140
  }
109
141
 
110
142
  .mcp-server-picker__status-label {
@@ -149,27 +181,32 @@
149
181
  block-size: 0.875rem;
150
182
  }
151
183
 
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 {
184
+ .mcp-server-picker__row-shell[data-status="ready"] .mcp-server-picker__row-status {
154
185
  color: var(--sigvelo-color-success-text-on-subtle);
155
186
  }
156
187
 
157
- .mcp-server-picker__row-shell[data-status="needs-auth"] .mcp-server-picker__row-status,
158
188
  .mcp-server-picker__row-shell[data-status="authenticating"] .mcp-server-picker__row-status {
159
189
  color: var(--sigvelo-color-warning-text-on-subtle);
160
190
  }
161
191
 
162
- .mcp-server-picker__row-shell[data-status="failed"] .mcp-server-picker__row-status {
192
+ .mcp-server-picker__row-shell:is([data-status="failed"], [data-status="not-connected"])
193
+ .mcp-server-picker__row-status {
163
194
  color: var(--sigvelo-color-danger-text-on-subtle);
164
195
  }
165
196
 
166
- .mcp-server-picker__spinner {
167
- animation: mcp-server-picker-spin 900ms linear infinite;
197
+ .mcp-server-picker__row-shell[data-error] .mcp-server-picker__row-status {
198
+ color: var(--sigvelo-color-danger-text-on-subtle);
168
199
  }
169
200
 
170
- @media (prefers-reduced-motion: reduce) {
171
- .mcp-server-picker__spinner {
172
- animation: none;
201
+ @media (any-pointer: coarse) {
202
+ .mcp-server-picker__popup {
203
+ --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xl);
204
+ }
205
+
206
+ .mcp-server-picker__action {
207
+ inline-size: var(--sigvelo-control-height-xl);
208
+ block-size: var(--sigvelo-control-height-xl);
209
+ min-block-size: var(--sigvelo-control-height-xl);
173
210
  }
174
211
  }
175
212
 
@@ -180,28 +217,18 @@
180
217
  font-size: var(--sigvelo-text-sm);
181
218
  }
182
219
 
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
- }
220
+ .mcp-server-setup-dialog__links {
221
+ display: flex;
222
+ flex-wrap: wrap;
223
+ gap: var(--sigvelo-spacing-2);
192
224
  }
193
225
 
194
226
  @media (forced-colors: active) {
195
- .mcp-server-picker__fallback-icon {
227
+ .mcp-server-picker__avatar-fallback {
196
228
  border: 1px solid ButtonText;
197
229
  }
198
- }
199
230
 
200
- @keyframes mcp-server-picker-spin {
201
- from {
202
- transform: rotate(0deg);
203
- }
204
- to {
205
- transform: rotate(360deg);
231
+ .mcp-server-picker__row-shell:has(.mcp-server-picker__row[data-highlighted]) {
232
+ outline: 1px solid Highlight;
206
233
  }
207
234
  }
@@ -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 {
@@ -5,6 +5,22 @@
5
5
  line-height: 0;
6
6
  }
7
7
 
8
+ .nanite-mark {
9
+ display: inline-flex;
10
+ flex: 0 0 auto;
11
+ inline-size: 1.25rem;
12
+ block-size: 1.5rem;
13
+ align-items: center;
14
+ justify-content: center;
15
+ line-height: 0;
16
+ }
17
+
18
+ .nanite-mark svg {
19
+ display: block;
20
+ inline-size: 100%;
21
+ block-size: 100%;
22
+ }
23
+
8
24
  .nanite-scene--trio {
9
25
  inline-size: 200px;
10
26
  block-size: 68px;
@@ -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
  }