@mcp-b/react-components 0.44.0 → 0.45.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 (139) hide show
  1. package/dist/{AgentToolRunsContext-daY67hFM.d.ts → AgentToolRunsContext-jtmveaRE.d.ts} +8 -7
  2. package/dist/{CodeBlock-Dl7a3Wqo.js → CodeBlock-8K1p1BDU.js} +1 -1
  3. package/dist/{FileTree-Uu3ZnW1u.js → FileTree-QTP57Qz4.js} +1 -1
  4. package/dist/{ResponsiveSidebarShell-DOXd5T-d.d.ts → ResponsiveSidebarShell-BTVPxLJK.d.ts} +12 -0
  5. package/dist/{SetupChecklist-DOp-zqjh.js → SetupChecklist-CZeToAbu.js} +1 -1
  6. package/dist/{ThinkChat-BES_3Mb-.js → ThinkChat-CWMcl79Q.js} +3 -21
  7. package/dist/{Workspace-F3raHdYV.d.ts → Workspace-jdVZ9S0a.d.ts} +1 -1
  8. package/dist/{WorkspaceFile-BLaFmMrt.d.ts → WorkspaceFile-Dq-GC0_T.d.ts} +3 -1
  9. package/dist/{WorkspaceFileView-BublZXky.js → WorkspaceFileView-DJ8Oxz57.js} +3 -3
  10. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  11. package/dist/components/agents-sdk/AgentChat.js +18 -13
  12. package/dist/components/agents-sdk/AgentEvent.d.ts +42 -0
  13. package/dist/components/agents-sdk/AgentEvent.js +96 -0
  14. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  15. package/dist/components/agents-sdk/AgentToolRunsContext.js +11 -7
  16. package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
  17. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  18. package/dist/components/agents-sdk/BrowserReplay.js +2 -2
  19. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  20. package/dist/components/agents-sdk/ManagerOffice.d.ts +104 -10
  21. package/dist/components/agents-sdk/ManagerOffice.js +1171 -147
  22. package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
  23. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  24. package/dist/components/agents-sdk/McpPluginCatalog.js +4 -4
  25. package/dist/components/agents-sdk/McpServerPicker.js +3 -3
  26. package/dist/components/agents-sdk/ModelSelector.js +4 -4
  27. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  28. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  29. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -1
  30. package/dist/components/agents-sdk/SubagentRunIndicator.d.ts +21 -3
  31. package/dist/components/agents-sdk/SubagentRunIndicator.js +56 -6
  32. package/dist/components/agents-sdk/SubagentRunSelector.js +5 -12
  33. package/dist/components/agents-sdk/ThinkChat.d.ts +1 -2
  34. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  35. package/dist/components/agents-sdk/ThinkChatActivity.js +3 -3
  36. package/dist/components/agents-sdk/ThinkChatActivitySummary.js +1 -1
  37. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  38. package/dist/components/agents-sdk/ThinkExecutionDetail.js +3 -3
  39. package/dist/components/agents-sdk/ThinkExecutionRun.js +1 -1
  40. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  41. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  42. package/dist/components/agents-sdk/ThinkFullApp.d.ts +15 -5
  43. package/dist/components/agents-sdk/ThinkFullApp.js +51 -5
  44. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  45. package/dist/components/agents-sdk/ThinkPendingApproval.js +1 -1
  46. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  47. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +3 -3
  48. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  49. package/dist/components/agents-sdk/ThinkRoutineForm.js +4 -4
  50. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +1 -1
  51. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +4 -4
  52. package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
  53. package/dist/components/agents-sdk/ThinkSidepanel.d.ts +22 -4
  54. package/dist/components/agents-sdk/ThinkSidepanel.js +69 -30
  55. package/dist/components/agents-sdk/ThinkThreadPicker.js +5 -5
  56. package/dist/components/agents-sdk/Workspace.d.ts +1 -1
  57. package/dist/components/agents-sdk/Workspace.js +14 -4
  58. package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
  59. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  60. package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +1 -1
  61. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  62. package/dist/components/agents-sdk/WorkspaceFile.d.ts +2 -2
  63. package/dist/components/agents-sdk/WorkspaceFile.js +18 -1
  64. package/dist/components/agents-sdk/WorkspaceFileView.d.ts +1 -1
  65. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  66. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  67. package/dist/components/agents-sdk/WorkspaceMountManager.js +4 -21
  68. package/dist/components/ai-sdk/Activity.js +1 -1
  69. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  70. package/dist/components/ai-sdk/Approval.js +2 -2
  71. package/dist/components/ai-sdk/Artifact.js +1 -1
  72. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  73. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  74. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  75. package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
  76. package/dist/components/ai-sdk/Context.js +1 -1
  77. package/dist/components/ai-sdk/Conversation.js +1 -1
  78. package/dist/components/ai-sdk/Goal.js +2 -2
  79. package/dist/components/ai-sdk/InlineCitation.js +1 -1
  80. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  81. package/dist/components/ai-sdk/Message.js +2 -2
  82. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  83. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  84. package/dist/components/ai-sdk/Plan.js +2 -2
  85. package/dist/components/ai-sdk/PromptInput.js +3 -3
  86. package/dist/components/ai-sdk/Queue.js +2 -2
  87. package/dist/components/ai-sdk/Reasoning.js +2 -2
  88. package/dist/components/ai-sdk/Sources.js +1 -1
  89. package/dist/components/ai-sdk/Task.js +1 -1
  90. package/dist/components/ai-sdk/ToolInvocation.js +1 -1
  91. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  92. package/dist/components/extension/CodexModelSelector.js +2 -2
  93. package/dist/components/extension/ConversationTabPicker.js +2 -2
  94. package/dist/components/foundations/Checkbox.js +1 -1
  95. package/dist/components/foundations/Collapsible.js +1 -1
  96. package/dist/components/foundations/ContextMenu.js +1 -1
  97. package/dist/components/foundations/Menubar.js +1 -1
  98. package/dist/components/foundations/SearchField.js +1 -1
  99. package/dist/components/foundations/Select.js +1 -1
  100. package/dist/components/foundations/Stepper.js +1 -1
  101. package/dist/components/foundations/Toast.js +1 -1
  102. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  103. package/dist/components/foundations/ToggleGroup.js +1 -1
  104. package/dist/components/foundations/icons.js +1 -1
  105. package/dist/components/general-purpose/Commit.js +2 -2
  106. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  107. package/dist/components/general-purpose/FileTree.js +1 -1
  108. package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
  109. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  110. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  111. package/dist/components/general-purpose/ResizableSidePanel.js +1 -1
  112. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -1
  113. package/dist/components/general-purpose/ResponsiveSidebarShell.js +72 -22
  114. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  115. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  116. package/dist/components/general-purpose/Terminal.js +2 -2
  117. package/dist/components/general-purpose/TestResults.js +1 -1
  118. package/dist/components/general-purpose/ThemeModeControl.js +2 -2
  119. package/dist/components/general-purpose/WebPreview.js +3 -3
  120. package/dist/components/nanites/AgentConnection.js +2 -2
  121. package/dist/components/nanites/AgentToolDetail.js +4 -4
  122. package/dist/{copy-button-DHhf-J1d.js → copy-button-BpA7wQva.js} +1 -1
  123. package/dist/{format-DB2mX9DA.js → format-COCyV98Z.js} +23 -1
  124. package/dist/{progress-ring-BEocM1e3.js → progress-ring-Cgii90dC.js} +1 -1
  125. package/dist/styles/agent-event.css +14 -0
  126. package/dist/styles/avatar.css +2 -1
  127. package/dist/styles/base.css +4 -0
  128. package/dist/styles/button.css +10 -0
  129. package/dist/styles/index.css +1 -0
  130. package/dist/styles/manager-office.css +1303 -70
  131. package/dist/styles/message-scroller.css +5 -0
  132. package/dist/styles/responsive-sidebar-shell.css +47 -0
  133. package/dist/styles/subagent-run.css +29 -19
  134. package/dist/styles/think-full-app.css +139 -4
  135. package/dist/styles/think-sidepanel.css +0 -5
  136. package/dist/styles/think-thread-picker.css +13 -12
  137. package/dist/styles/workspace-mount-manager.css +0 -22
  138. package/package.json +8 -8
  139. package/dist/{icons-Dw-im7lg.js → icons-DbrksZyY.js} +1 -1
@@ -21,6 +21,11 @@
21
21
  contain: content;
22
22
  }
23
23
 
24
+ .message-scroller__viewport:focus-visible {
25
+ outline: none;
26
+ box-shadow: var(--sigvelo-recipe-focus-shadow-inset);
27
+ }
28
+
24
29
  .message-scroller__viewport[data-scrollable~="end"] {
25
30
  --sigvelo-scroll-fade-end: var(--message-scroller-fade-size);
26
31
  }
@@ -40,6 +40,26 @@
40
40
  overflow: hidden;
41
41
  }
42
42
 
43
+ .responsive-sidebar-shell__sidebar-content {
44
+ min-inline-size: 0;
45
+ min-block-size: 0;
46
+ overflow: hidden;
47
+ }
48
+
49
+ .responsive-sidebar-shell[data-sidebar-toggle-placement="sidebar"]
50
+ .responsive-sidebar-shell__sidebar {
51
+ display: grid;
52
+ grid-template-rows: auto minmax(0, 1fr);
53
+ }
54
+
55
+ .responsive-sidebar-shell__sidebar-leading {
56
+ min-block-size: var(--sigvelo-density-compact-control-height);
57
+ display: flex;
58
+ align-items: center;
59
+ padding-block: var(--sigvelo-spacing-1);
60
+ padding-inline: var(--sigvelo-spacing-2);
61
+ }
62
+
43
63
  .responsive-sidebar-shell__sidebar {
44
64
  grid-column: 1;
45
65
  grid-row: 1;
@@ -101,6 +121,15 @@
101
121
  display: none;
102
122
  }
103
123
 
124
+ .responsive-sidebar-shell__toggle--sidebar-fallback {
125
+ display: none;
126
+ }
127
+
128
+ .responsive-sidebar-shell[data-sidebar-toggle-placement="sidebar"][data-sidebar-open="false"]
129
+ .responsive-sidebar-shell__toggle--sidebar-fallback {
130
+ display: inline-flex;
131
+ }
132
+
104
133
  @media (forced-colors: active) {
105
134
  .responsive-sidebar-shell,
106
135
  .responsive-sidebar-shell__frame {
@@ -193,6 +222,20 @@
193
222
  display: none;
194
223
  }
195
224
 
225
+ /* The closed-sidebar fallback has a deliberately specific wide-layout
226
+ selector above. When the compact title owns drawer disclosure, beat that
227
+ selector explicitly so the bar never presents two controls for one action. */
228
+ .responsive-sidebar-shell[data-sidebar-toggle-placement="sidebar"][data-sidebar-open="false"]
229
+ [data-compact-leading]
230
+ .responsive-sidebar-shell__toggle--sidebar-fallback {
231
+ display: none;
232
+ }
233
+
234
+ .responsive-sidebar-shell[data-sidebar-toggle-placement="sidebar"]
235
+ .responsive-sidebar-shell__sidebar-leading {
236
+ display: none;
237
+ }
238
+
196
239
  .responsive-sidebar-shell__compact-leading {
197
240
  display: contents;
198
241
  }
@@ -211,6 +254,10 @@
211
254
  font-weight: var(--sigvelo-font-weight-semibold);
212
255
  }
213
256
 
257
+ .responsive-sidebar-shell__title-trigger:focus-visible {
258
+ box-shadow: var(--sigvelo-recipe-focus-shadow-inset);
259
+ }
260
+
214
261
  .responsive-sidebar-shell__title-trigger span {
215
262
  min-inline-size: 0;
216
263
  overflow: hidden;
@@ -2,14 +2,39 @@
2
2
  --sigvelo-elevation-floating, not a border. Forced colors restores a real
3
3
  border at the end of this file. */
4
4
  .subagent-run__selector {
5
- max-inline-size: 14rem;
5
+ max-inline-size: 18rem;
6
+ /* Two text lines (name over live status) inside a pill: the control's fixed
7
+ small height would clip the second, so let the content size it. */
8
+ block-size: auto;
9
+ min-block-size: var(--sigvelo-density-compact-control-height);
10
+ padding-block: var(--sigvelo-spacing-1);
6
11
  justify-content: flex-start;
7
- border-radius: var(--sigvelo-radius-full);
12
+ border-radius: var(--sigvelo-radius-lg);
8
13
  background-color: var(--sigvelo-color-surface-raised);
9
14
  box-shadow: var(--sigvelo-elevation-floating);
10
15
  text-align: start;
11
16
  }
12
17
 
18
+ /* The run's name over its live status line. Shared by the selector chip and
19
+ the drill-in's top bar so one run reads the same in both. */
20
+ .subagent-run__text {
21
+ display: grid;
22
+ flex: 1 1 auto;
23
+ min-inline-size: 0;
24
+ }
25
+
26
+ .subagent-run__status {
27
+ color: var(--sigvelo-color-text-muted);
28
+ font-size: var(--sigvelo-text-xs);
29
+ font-weight: var(--sigvelo-font-weight-normal);
30
+ line-height: var(--sigvelo-leading-snug);
31
+ }
32
+
33
+ /* Scoped to the label, not the chip, so the drill-in bar tints the same. */
34
+ .subagent-run__text[data-status="error"] .subagent-run__status {
35
+ color: var(--sigvelo-color-danger-text);
36
+ }
37
+
13
38
  /* The ghost hover would swap the raised surface for a near-transparent tint;
14
39
  keep the surface and tint over it instead. */
15
40
  .subagent-run__selector:hover:not([data-disabled]) {
@@ -42,29 +67,14 @@
42
67
  margin-block-start: var(--sigvelo-spacing-2);
43
68
  }
44
69
 
45
- .subagent-run__tray {
46
- display: grid;
47
- gap: var(--sigvelo-spacing-1-5);
48
- min-inline-size: 0;
49
- }
50
-
51
- .subagent-run__tray-label {
52
- color: var(--sigvelo-color-text-muted);
53
- font-size: var(--sigvelo-text-xs);
54
- line-height: var(--sigvelo-leading-snug);
55
- }
56
-
70
+ /* Size comes from the surrounding control — the selector's button recipe, the
71
+ top bar's title — so one label keeps each surface's own type scale. */
57
72
  .subagent-run__title {
58
73
  min-inline-size: 0;
59
74
  color: var(--sigvelo-color-text);
60
- font-size: var(--sigvelo-text-sm);
61
75
  font-weight: var(--sigvelo-font-weight-semibold);
62
76
  }
63
77
 
64
- .subagent-run__selector .subagent-run__title {
65
- font-size: var(--sigvelo-text-compact);
66
- }
67
-
68
78
  .subagent-run__indicator {
69
79
  display: inline-flex;
70
80
  flex: 0 0 auto;
@@ -1,9 +1,68 @@
1
+ .think-full-app-shell {
2
+ --think-full-app-panel-outline: color-mix(in srgb, var(--sigvelo-color-text) 14%, transparent);
3
+ --sigvelo-color-surface: light-dark(
4
+ var(--sigvelo-color-surface-light),
5
+ var(--sigvelo-color-surface-under-dark)
6
+ );
7
+ --sigvelo-color-surface-raised: light-dark(
8
+ var(--sigvelo-color-surface-raised-light),
9
+ var(--sigvelo-color-surface-under-dark)
10
+ );
11
+ --sigvelo-color-neutral-bg-subtle: light-dark(
12
+ var(--sigvelo-color-neutral-bg-subtle-light),
13
+ rgb(255 255 255 / 4%)
14
+ );
15
+ --responsive-sidebar-shell-sidebar-surface: light-dark(
16
+ var(--sigvelo-color-surface-raised),
17
+ var(--sigvelo-color-surface-under)
18
+ );
19
+
20
+ background: var(--sigvelo-color-surface-under);
21
+ }
22
+
23
+ .think-full-app-shell > .responsive-sidebar-shell__frame > .responsive-sidebar-shell__sidebar {
24
+ border-inline-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
25
+ var(--sigvelo-color-neutral-border-subtle);
26
+ }
27
+
28
+ .think-full-app-shell .responsive-sidebar-shell__main {
29
+ background: var(--sigvelo-color-surface);
30
+ }
31
+
32
+ /* The thread rail owns its wide-layout toggle. Seat it in the picker's header
33
+ instead of reserving a second row above the sidebar content. */
34
+ .think-full-app-shell[data-sidebar-toggle-placement="sidebar"] .responsive-sidebar-shell__sidebar {
35
+ position: relative;
36
+ display: block;
37
+ }
38
+
39
+ .think-full-app-shell[data-sidebar-toggle-placement="sidebar"]
40
+ .responsive-sidebar-shell__sidebar-content {
41
+ block-size: 100%;
42
+ }
43
+
44
+ .think-full-app-shell[data-sidebar-toggle-placement="sidebar"]
45
+ .responsive-sidebar-shell__sidebar-leading {
46
+ position: absolute;
47
+ inset-block-start: var(--sigvelo-spacing-1);
48
+ inset-inline-end: var(--sigvelo-spacing-2);
49
+ z-index: var(--sigvelo-z-chrome);
50
+ min-block-size: var(--sigvelo-density-compact-control-height);
51
+ padding: 0;
52
+ }
53
+
54
+ .think-full-app-shell[data-sidebar-toggle-placement="sidebar"] .think-thread-picker__header {
55
+ padding-inline-end: calc(
56
+ var(--sigvelo-layout-gutter) + var(--sigvelo-density-compact-control-height)
57
+ );
58
+ }
59
+
1
60
  .think-full-app {
2
61
  position: relative;
3
62
  container: think-full-app / inline-size;
4
63
  display: grid;
5
64
  grid-template-rows: var(--sigvelo-layout-track-fill);
6
- background: var(--sigvelo-color-surface);
65
+ background: transparent;
7
66
  color: var(--sigvelo-color-text);
8
67
  font-family: inherit;
9
68
  }
@@ -18,6 +77,7 @@
18
77
  grid-template-columns: auto var(--sigvelo-layout-track-fill);
19
78
  grid-template-rows: var(--sigvelo-layout-track-fill);
20
79
  margin: var(--sigvelo-layout-gutter);
80
+ overflow: visible;
21
81
  }
22
82
 
23
83
  .think-full-app__view-switch {
@@ -26,6 +86,10 @@
26
86
  background: transparent;
27
87
  }
28
88
 
89
+ .think-full-app__compact-view-menu {
90
+ display: none;
91
+ }
92
+
29
93
  .think-full-app__chat-surface {
30
94
  grid-column: 1;
31
95
  grid-row: 1;
@@ -66,6 +130,21 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
66
130
  grid-template-rows: var(--sigvelo-layout-track-fill) auto;
67
131
  }
68
132
 
133
+ /* The raised workbench establishes the desktop bottom gutter. Keep the
134
+ floating composer on that same baseline and give it the same quiet edge. */
135
+ .think-full-app-shell .agent-chat__composer {
136
+ padding-block-end: max(var(--sigvelo-spacing-1), env(safe-area-inset-bottom, 0px));
137
+ }
138
+
139
+ .think-full-app-shell .agent-chat__composer > .prompt-input {
140
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
141
+ var(--think-full-app-panel-outline);
142
+ background: light-dark(
143
+ var(--sigvelo-color-surface-raised-light),
144
+ var(--sigvelo-color-surface-raised-dark)
145
+ );
146
+ }
147
+
69
148
  /* Transparent column: the aside positions the plane, it is not a material of
70
149
  its own. */
71
150
  .think-full-app__aside {
@@ -87,6 +166,16 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
87
166
  translate: calc(var(--sigvelo-layout-gap) * 1.5) 0;
88
167
  }
89
168
 
169
+ /* Keep the resize target generous without painting a full-height rule beside
170
+ the rounded panel. A short grip appears only on hover, focus, or drag. */
171
+ .think-full-app__resizer::before {
172
+ inset-block: 50% auto;
173
+ block-size: calc(var(--sigvelo-spacing-6) * 2);
174
+ inline-size: 2px;
175
+ border-radius: var(--sigvelo-radius-full);
176
+ translate: -50% -50%;
177
+ }
178
+
90
179
  .think-full-app__workbench-slot,
91
180
  .think-full-app__workbench,
92
181
  .think-full-app__workbench-panel {
@@ -100,9 +189,11 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
100
189
 
101
190
  /* The app's one raised plane. Panels fill it and never draw a second edge. */
102
191
  .think-full-app__workbench-slot {
103
- border-radius: var(--sigvelo-radius-lg);
104
- background: var(--sigvelo-color-surface-raised);
105
- box-shadow: var(--sigvelo-elevation-floating);
192
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
193
+ var(--think-full-app-panel-outline);
194
+ border-radius: var(--sigvelo-radius-xl);
195
+ background: light-dark(var(--sigvelo-color-surface-raised), var(--sigvelo-color-surface-under));
196
+ box-shadow: var(--sigvelo-elevation-bar);
106
197
  }
107
198
 
108
199
  /* The panel stands in for itself while its first read is in flight, so the
@@ -136,6 +227,7 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
136
227
  grid-template-columns: var(--sigvelo-layout-track-fill);
137
228
  margin: 0;
138
229
  overflow: hidden;
230
+ background: var(--sigvelo-color-surface);
139
231
  }
140
232
 
141
233
  .think-full-app__aside {
@@ -155,6 +247,7 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
155
247
  themselves raised are defined after this stylesheet. */
156
248
  .think-full-app__workbench-slot,
157
249
  .think-full-app .think-full-app__workbench {
250
+ border: 0;
158
251
  border-radius: 0;
159
252
  background: var(--sigvelo-color-surface);
160
253
  box-shadow: none;
@@ -197,6 +290,48 @@ body.is-resizing-side-panel .think-full-app__chat-surface {
197
290
  }
198
291
  }
199
292
 
293
+ @container responsive-sidebar-shell (inline-size <= 56rem) {
294
+ .think-full-app-shell[data-sidebar-toggle-placement="sidebar"]
295
+ .responsive-sidebar-shell__sidebar {
296
+ display: grid;
297
+ }
298
+
299
+ .think-full-app-shell > .responsive-sidebar-shell__frame > .responsive-sidebar-shell__sidebar {
300
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
301
+ color-mix(in srgb, var(--sigvelo-color-text) 24%, transparent);
302
+ box-shadow:
303
+ 0 0 0 1px color-mix(in srgb, var(--sigvelo-color-surface) 36%, transparent),
304
+ var(--sigvelo-elevation-overlay);
305
+ }
306
+
307
+ .think-full-app__app-bar {
308
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
309
+ }
310
+
311
+ .think-full-app__app-bar .app-top-bar__title {
312
+ inline-size: auto;
313
+ max-inline-size: min(20rem, 60vw);
314
+ justify-self: center;
315
+ text-align: center;
316
+ }
317
+
318
+ .think-full-app__view-switch {
319
+ display: none;
320
+ }
321
+
322
+ .think-full-app__compact-view-menu {
323
+ display: flex;
324
+ }
325
+
326
+ .think-full-app-shell .agent-chat__composer {
327
+ padding-block-end: max(var(--sigvelo-spacing-3), env(safe-area-inset-bottom, 0px));
328
+ }
329
+
330
+ .think-full-app-shell :is(.think-full-app__chat, .think-full-app__chat-inner) {
331
+ --agent-chat-column-inset: var(--sigvelo-spacing-4);
332
+ }
333
+ }
334
+
200
335
  @media (forced-colors: active) {
201
336
  .think-full-app,
202
337
  .think-full-app__chat-surface,
@@ -44,11 +44,6 @@
44
44
  font: inherit;
45
45
  }
46
46
 
47
- .think-sidepanel__run-title > svg,
48
- .think-sidepanel__run-title > .nanite-mark {
49
- flex: none;
50
- }
51
-
52
47
  .think-sidepanel__menu-switch-item {
53
48
  justify-content: space-between;
54
49
  gap: var(--sigvelo-spacing-3);
@@ -1,4 +1,5 @@
1
1
  .think-thread-picker {
2
+ box-sizing: border-box;
2
3
  inline-size: 100%;
3
4
  block-size: 100%;
4
5
  min-block-size: 0;
@@ -6,6 +7,7 @@
6
7
  grid-template-rows: auto auto var(--sigvelo-layout-track-fill) auto;
7
8
  overflow: hidden;
8
9
  border-inline-end: 0;
10
+ padding: var(--sigvelo-spacing-1) var(--sigvelo-spacing-2) var(--sigvelo-spacing-2);
9
11
  /* No material of its own: it fills whatever holds it — the shell's rail, the
10
12
  compact drawer, a host's own panel — and painting a colour here would
11
13
  cover the one that surface chose. */
@@ -28,17 +30,17 @@
28
30
  min-inline-size: 0;
29
31
  margin: 0;
30
32
  flex: 1 1 auto;
31
- color: var(--sigvelo-color-text-muted);
32
- font-size: var(--sigvelo-density-compact-control-font-size);
33
+ color: var(--sigvelo-color-text);
34
+ font-size: var(--sigvelo-text-compact);
33
35
  font-weight: var(--sigvelo-font-weight-semibold);
34
- line-height: var(--sigvelo-leading-tight);
36
+ line-height: var(--sigvelo-text-compact-leading);
35
37
  }
36
38
 
37
39
  .think-thread-picker__search {
38
40
  --sigvelo-recipe-control-height: var(--sigvelo-density-compact-control-height);
39
41
  --sigvelo-recipe-control-radius: var(--sigvelo-radius-sm);
40
42
 
41
- padding: 0 var(--sigvelo-spacing-2) var(--sigvelo-spacing-2);
43
+ padding: 0 0 var(--sigvelo-spacing-2);
42
44
  }
43
45
 
44
46
  .think-thread-status-indicators {
@@ -92,7 +94,8 @@
92
94
  }
93
95
 
94
96
  .think-thread-picker__viewport {
95
- padding: var(--sigvelo-layout-cluster) var(--sigvelo-layout-gutter) var(--sigvelo-layout-gutter);
97
+ padding-block: var(--sigvelo-layout-cluster) var(--sigvelo-layout-gutter);
98
+ padding-inline: 0;
96
99
  overscroll-behavior: contain;
97
100
  scrollbar-gutter: stable;
98
101
  }
@@ -305,6 +308,7 @@
305
308
  block-size: auto;
306
309
  max-block-size: inherit;
307
310
  grid-template-rows: auto auto auto;
311
+ padding: var(--sigvelo-spacing-1) var(--sigvelo-spacing-2) var(--sigvelo-spacing-2);
308
312
  }
309
313
 
310
314
  .think-thread-picker__header {
@@ -316,14 +320,11 @@
316
320
  --sigvelo-recipe-control-font-size: var(--sigvelo-density-compact-control-font-size);
317
321
  --sigvelo-recipe-control-icon-size: var(--sigvelo-density-compact-control-icon-size);
318
322
 
319
- padding: 0 var(--sigvelo-spacing-1);
320
- border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
321
- var(--sigvelo-color-neutral-border-subtle);
323
+ padding: 0 0 var(--sigvelo-spacing-2);
322
324
  }
323
325
 
324
- .think-thread-picker__search .field__control {
325
- border-color: transparent;
326
- background: transparent;
326
+ .think-thread-picker__search .field__control:focus-visible {
327
+ box-shadow: var(--sigvelo-recipe-focus-shadow-inset);
327
328
  }
328
329
 
329
330
  .think-thread-picker__nav,
@@ -335,7 +336,7 @@
335
336
  }
336
337
 
337
338
  .think-thread-picker__viewport {
338
- padding: var(--sigvelo-spacing-1);
339
+ padding: var(--sigvelo-spacing-1) 0;
339
340
  }
340
341
  }
341
342
 
@@ -22,25 +22,3 @@
22
22
  .workspace-mount-manager__path code {
23
23
  overflow-wrap: anywhere;
24
24
  }
25
-
26
- .workspace-mount-manager__permission {
27
- display: inline-flex;
28
- align-items: center;
29
- gap: var(--sigvelo-spacing-1);
30
- color: var(--sigvelo-color-text-muted);
31
- font-size: var(--sigvelo-text-xs);
32
- line-height: var(--sigvelo-leading-snug);
33
- }
34
-
35
- .workspace-mount-manager__permission > svg {
36
- inline-size: var(--sigvelo-control-icon-size-sm);
37
- block-size: var(--sigvelo-control-icon-size-sm);
38
- }
39
-
40
- .workspace-mount-manager__permission[data-permission="granted"] {
41
- color: var(--sigvelo-color-success-text);
42
- }
43
-
44
- .workspace-mount-manager__permission[data-permission="denied"] {
45
- color: var(--sigvelo-color-danger-text);
46
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-b/react-components",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "MCP-B React components built on Base UI and shared design tokens, including Cloudflare Think chat primitives.",
5
5
  "homepage": "https://design-system.sigvelo.com",
6
6
  "bugs": {
@@ -53,14 +53,14 @@
53
53
  "streamdown": "^2.5.0",
54
54
  "unist-util-visit": "^5.1.0",
55
55
  "yet-another-react-lightbox": "^3.32.2",
56
- "@mcp-b/design-tokens": "0.44.0"
56
+ "@mcp-b/design-tokens": "0.45.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@ai-sdk/react": "^3.0.249",
60
60
  "@cloudflare/codemode": "^0.5.1",
61
61
  "@cloudflare/shell": "^0.4.3",
62
- "@cloudflare/think": "^0.15.1",
63
- "@cloudflare/voice": "^0.3.5",
62
+ "@cloudflare/think": "^0.16.0",
63
+ "@cloudflare/voice": "^0.3.6",
64
64
  "@cloudflare/workers-types": "^5.20260811.1",
65
65
  "@storybook/addon-a11y": "^10.5.7",
66
66
  "@storybook/addon-docs": "^10.5.7",
@@ -78,7 +78,7 @@
78
78
  "@vitest/browser-playwright": "^4.1.10",
79
79
  "@vitest/coverage-v8": "^4.1.10",
80
80
  "@vitest/mocker": "^4.1.10",
81
- "agents": "^0.20.1",
81
+ "agents": "^0.21.0",
82
82
  "ai": "^6.0.247",
83
83
  "cloudflare": "^7.0.0",
84
84
  "playwright": "~1.61.1",
@@ -94,11 +94,11 @@
94
94
  "@ai-sdk/react": "^3.0.230",
95
95
  "@cloudflare/codemode": "^0.5.1",
96
96
  "@cloudflare/shell": "^0.4.3",
97
- "@cloudflare/think": "^0.15.1",
98
- "@cloudflare/voice": "^0.3.5",
97
+ "@cloudflare/think": "^0.16.0",
98
+ "@cloudflare/voice": "^0.3.6",
99
99
  "@cloudflare/workers-types": "^5.20260715.1",
100
100
  "@tanstack/react-query": "^5.101.2",
101
- "agents": "^0.20.1",
101
+ "agents": "^0.21.0",
102
102
  "ai": "^6.0.228",
103
103
  "cloudflare": "^7.0.0",
104
104
  "react": "19.3.0-canary-711c445b-20260722",
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Info, Keyboard, Link2, ListRestart, LoaderCircle, Mail, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Target, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
3
4
  import { FaSlack } from "react-icons/fa6";
4
5
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
5
- import { jsx } from "react/jsx-runtime";
6
6
  //#region src/components/_internal/icons.tsx
7
7
  function icon(Component) {
8
8
  return function DesignSystemIcon({ size = 16, strokeWidth = 1.75, ...props }) {