@mcp-b/react-components 0.39.0 → 0.41.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 (188) hide show
  1. package/dist/{AgentChat-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
  2. package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
  3. package/dist/AppTopBar-ZdgmB_Lu.d.ts +97 -0
  4. package/dist/{CodeBlock-DO4Hdu1R.js → CodeBlock-BjELA-_s.js} +1 -1
  5. package/dist/{FileTree-DbQMpvxV.js → FileTree-DMYRdT6R.js} +1 -1
  6. package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
  7. package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
  8. package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-DyGHj01E.d.ts} +1 -1
  9. package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
  10. package/dist/Toolbar-CBOseBQr.d.ts +152 -0
  11. package/dist/{WorkspaceFileView-D0r7xnq5.js → WorkspaceFileView-D0yFwoDr.js} +3 -3
  12. package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
  13. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  14. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  15. package/dist/components/agents-sdk/AgentChat.js +41 -18
  16. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  17. package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
  18. package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
  19. package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
  20. package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
  21. package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
  22. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  23. package/dist/components/agents-sdk/BrowserRunPanel.d.ts +72 -25
  24. package/dist/components/agents-sdk/BrowserRunPanel.js +111 -70
  25. package/dist/components/agents-sdk/ManagerOffice.d.ts +156 -0
  26. package/dist/components/agents-sdk/ManagerOffice.js +662 -0
  27. package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
  28. package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
  29. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
  30. package/dist/components/agents-sdk/McpPluginCatalog.js +79 -61
  31. package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
  32. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  33. package/dist/components/agents-sdk/ModelSelector.js +1 -1
  34. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  35. package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
  36. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
  37. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  38. package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
  39. package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
  40. package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
  41. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  42. package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
  43. package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
  44. package/dist/components/agents-sdk/ThinkExecutionDetail.js +43 -43
  45. package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
  46. package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
  47. package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
  48. package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
  49. package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
  50. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +43 -38
  51. package/dist/components/agents-sdk/ThinkFullApp.d.ts +18 -6
  52. package/dist/components/agents-sdk/ThinkFullApp.js +112 -144
  53. package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
  54. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
  55. package/dist/components/agents-sdk/ThinkRoutineDetail.js +4 -15
  56. package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
  57. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +69 -89
  58. package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
  59. package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
  60. package/dist/components/agents-sdk/ThinkThreadPicker.js +1 -1
  61. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  62. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  63. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  64. package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
  65. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
  66. package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
  67. package/dist/components/ai-sdk/Activity.js +1 -1
  68. package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
  69. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  70. package/dist/components/ai-sdk/Approval.js +1 -1
  71. package/dist/components/ai-sdk/Artifact.js +1 -1
  72. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  73. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  74. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  75. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  76. package/dist/components/ai-sdk/Conversation.js +1 -1
  77. package/dist/components/ai-sdk/Goal.js +1 -1
  78. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  79. package/dist/components/ai-sdk/Message.d.ts +2 -2
  80. package/dist/components/ai-sdk/Message.js +25 -3
  81. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  82. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  83. package/dist/components/ai-sdk/Plan.js +1 -1
  84. package/dist/components/ai-sdk/PromptInput.js +1 -1
  85. package/dist/components/ai-sdk/Queue.d.ts +4 -4
  86. package/dist/components/ai-sdk/Queue.js +6 -15
  87. package/dist/components/ai-sdk/Reasoning.js +1 -1
  88. package/dist/components/ai-sdk/Sources.js +1 -1
  89. package/dist/components/ai-sdk/Task.d.ts +2 -2
  90. package/dist/components/ai-sdk/Task.js +2 -2
  91. package/dist/components/extension/ChatGptSignInScreen.d.ts +21 -10
  92. package/dist/components/extension/ChatGptSignInScreen.js +42 -34
  93. package/dist/components/extension/CodexModelSelector.js +1 -1
  94. package/dist/components/extension/ConversationTabPicker.js +1 -1
  95. package/dist/components/foundations/Avatar.d.ts +1 -10
  96. package/dist/components/foundations/Avatar.js +1 -10
  97. package/dist/components/foundations/Checkbox.js +1 -1
  98. package/dist/components/foundations/CheckboxGroup.js +1 -0
  99. package/dist/components/foundations/ContextMenu.js +1 -1
  100. package/dist/components/foundations/LinkButton.d.ts +12 -10
  101. package/dist/components/foundations/LinkButton.js +15 -11
  102. package/dist/components/foundations/Menubar.js +1 -1
  103. package/dist/components/foundations/SearchField.js +1 -1
  104. package/dist/components/foundations/Select.js +1 -1
  105. package/dist/components/foundations/Stepper.js +1 -1
  106. package/dist/components/foundations/Toast.js +1 -1
  107. package/dist/components/foundations/Toolbar.d.ts +1 -151
  108. package/dist/components/foundations/icons.d.ts +2 -2
  109. package/dist/components/foundations/icons.js +2 -2
  110. package/dist/components/general-purpose/AppTopBar.d.ts +1 -90
  111. package/dist/components/general-purpose/AppTopBar.js +2 -1
  112. package/dist/components/general-purpose/Commit.d.ts +2 -2
  113. package/dist/components/general-purpose/Commit.js +5 -13
  114. package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
  115. package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
  116. package/dist/components/general-purpose/FileTree.js +1 -1
  117. package/dist/components/general-purpose/PricingBillingToggle.js +4 -9
  118. package/dist/components/general-purpose/PricingPlanCard.js +15 -14
  119. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +95 -2
  120. package/dist/components/general-purpose/ResponsiveSidebarShell.js +90 -34
  121. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  122. package/dist/components/general-purpose/Terminal.d.ts +1 -1
  123. package/dist/components/general-purpose/Terminal.js +4 -12
  124. package/dist/components/general-purpose/TestResults.d.ts +1 -1
  125. package/dist/components/general-purpose/TestResults.js +8 -21
  126. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  127. package/dist/components/general-purpose/WebPreview.d.ts +1 -1
  128. package/dist/components/general-purpose/WebPreview.js +4 -12
  129. package/dist/components/nanites/AgentConnection.js +2 -2
  130. package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
  131. package/dist/components/nanites/AgentToolDetail.js +7 -7
  132. package/dist/components/nanites/NaniteScene.js +11 -11
  133. package/dist/{copy-button-4YvddK4e.js → copy-button-lys9N_aI.js} +1 -1
  134. package/dist/{icons-BGZ916hb.d.ts → icons-0corjfxR.d.ts} +6 -16
  135. package/dist/{icons-B4mGvCvc.js → icons-CVFSeTJn.js} +3 -5
  136. package/dist/styles/agent-attention.css +5 -5
  137. package/dist/styles/agent-chat.css +47 -12
  138. package/dist/styles/agent-tool-detail.css +2 -12
  139. package/dist/styles/app-icon.css +12 -18
  140. package/dist/styles/app-top-bar.css +32 -6
  141. package/dist/styles/avatar.css +6 -22
  142. package/dist/styles/base.css +2 -8
  143. package/dist/styles/browser-live-screen.css +38 -0
  144. package/dist/styles/browser-live-view.css +12 -4
  145. package/dist/styles/browser-run-panel.css +20 -16
  146. package/dist/styles/chatgpt-sign-in-screen.css +11 -5
  147. package/dist/styles/commit.css +24 -1
  148. package/dist/styles/environment-variables.css +3 -0
  149. package/dist/styles/index.css +5 -4
  150. package/dist/styles/manager-office.css +486 -0
  151. package/dist/styles/mcp-plugin-catalog.css +39 -35
  152. package/dist/styles/mcp-server-picker.css +1 -1
  153. package/dist/styles/message.css +41 -18
  154. package/dist/styles/nanite-scene.css +9 -9
  155. package/dist/styles/pricing-page.css +12 -8
  156. package/dist/styles/prompt-input.css +8 -13
  157. package/dist/styles/recipes.css +1 -57
  158. package/dist/styles/responsive-sidebar-shell.css +70 -20
  159. package/dist/styles/subagent-run.css +20 -3
  160. package/dist/styles/terminal.css +19 -0
  161. package/dist/styles/test-results.css +10 -1
  162. package/dist/styles/think-execution-status.css +8 -24
  163. package/dist/styles/think-execution-workbench.css +98 -105
  164. package/dist/styles/think-full-app.css +81 -185
  165. package/dist/styles/think-routine-library.css +0 -40
  166. package/dist/styles/think-thread-picker.css +8 -3
  167. package/dist/styles/transition-surface.css +7 -8
  168. package/dist/styles/utilities.css +42 -0
  169. package/dist/styles/web-preview.css +28 -5
  170. package/dist/styles/workspace-explorer.css +4 -23
  171. package/dist/styles/workspace-mount-manager.css +22 -0
  172. package/package.json +37 -35
  173. package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
  174. package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
  175. package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
  176. package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
  177. package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
  178. package/dist/components/foundations/Badge.d.ts +0 -62
  179. package/dist/components/foundations/Badge.js +0 -55
  180. package/dist/components/foundations/StatusPill.d.ts +0 -43
  181. package/dist/components/foundations/StatusPill.js +0 -35
  182. package/dist/components/general-purpose/Shell.d.ts +0 -149
  183. package/dist/components/general-purpose/Shell.js +0 -116
  184. package/dist/styles/agent-activity-preview-overlay.css +0 -169
  185. package/dist/styles/agent-activity-preview.css +0 -209
  186. package/dist/styles/badge.css +0 -120
  187. package/dist/styles/shell.css +0 -122
  188. package/dist/styles/status-pill.css +0 -39
@@ -0,0 +1,486 @@
1
+ .manager-office {
2
+ block-size: 100%;
3
+ min-block-size: 32rem;
4
+ }
5
+
6
+ .manager-office__sidebar {
7
+ block-size: 100%;
8
+ min-inline-size: 0;
9
+ display: grid;
10
+ grid-template-rows: auto auto auto minmax(0, 1fr);
11
+ gap: var(--sigvelo-density-compact-control-gap);
12
+ padding: var(--sigvelo-spacing-2);
13
+ }
14
+
15
+ .manager-office__sidebar-heading,
16
+ .manager-office__sidebar-actions {
17
+ min-inline-size: 0;
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+
22
+ .manager-office__sidebar-heading {
23
+ min-block-size: var(--sigvelo-density-compact-control-height);
24
+ justify-content: space-between;
25
+ padding-inline-start: var(--sigvelo-spacing-2);
26
+ }
27
+
28
+ .manager-office__sidebar-actions {
29
+ gap: var(--sigvelo-spacing-0-5);
30
+ }
31
+
32
+ /*
33
+ * Ploy's measured application voice is 14px/21px for content and ~12.25px for
34
+ * metadata. The office previously ran a step below that on both — 13px titles
35
+ * over 11px meta — which read as a settings panel rather than the surface a
36
+ * manager works out of. The dense sidebar keeps the compact step; only the
37
+ * content plane moves up.
38
+ */
39
+ .manager-office__sidebar-heading strong,
40
+ .manager-office__employee-nav strong,
41
+ .manager-office__routine-trigger strong {
42
+ font-size: var(--sigvelo-text-compact);
43
+ font-weight: var(--sigvelo-font-weight-semibold);
44
+ line-height: var(--sigvelo-text-compact-leading);
45
+ }
46
+
47
+ .manager-office__employee-header strong,
48
+ .manager-office__work-list strong,
49
+ .manager-office__routine-list strong,
50
+ .manager-office__channel-list strong {
51
+ font-size: var(--sigvelo-text-sm);
52
+ font-weight: var(--sigvelo-font-weight-semibold);
53
+ line-height: var(--sigvelo-text-sm-leading);
54
+ }
55
+
56
+ .manager-office__attention-nav,
57
+ .manager-office__employee-link {
58
+ inline-size: 100%;
59
+ min-inline-size: 0;
60
+ display: grid;
61
+ align-items: center;
62
+ justify-content: stretch;
63
+ gap: var(--sigvelo-density-compact-control-gap);
64
+ font-weight: var(--sigvelo-font-weight-normal);
65
+ text-align: start;
66
+ }
67
+
68
+ .manager-office__attention-nav {
69
+ grid-template-columns: auto minmax(0, 1fr);
70
+ }
71
+
72
+ .manager-office__attention-nav > svg {
73
+ color: var(--sigvelo-color-danger-text);
74
+ }
75
+
76
+ /* A section label above the roster, sized to the rail's own quiet voice. */
77
+ .manager-office__nav-label {
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: space-between;
81
+ gap: var(--sigvelo-spacing-2);
82
+ margin: var(--sigvelo-spacing-1) 0 0;
83
+ padding-inline: var(--sigvelo-spacing-2);
84
+ color: var(--sigvelo-color-text-muted);
85
+ font-size: var(--sigvelo-text-2xs);
86
+ font-weight: var(--sigvelo-font-weight-semibold);
87
+ line-height: var(--sigvelo-text-2xs-leading);
88
+ text-transform: uppercase;
89
+ letter-spacing: var(--sigvelo-tracking-wide);
90
+ }
91
+
92
+ .manager-office__employee-nav {
93
+ min-block-size: 0;
94
+ overflow: auto;
95
+ }
96
+
97
+ .manager-office__employee-link {
98
+ grid-template-columns: auto minmax(0, 1fr) auto;
99
+ padding-block: var(--sigvelo-spacing-1);
100
+ }
101
+
102
+ .manager-office__identity {
103
+ min-inline-size: 0;
104
+ display: grid;
105
+ gap: var(--sigvelo-spacing-0-5);
106
+ }
107
+
108
+ .manager-office__employee-nav small,
109
+ .manager-office__routine-list small {
110
+ min-inline-size: 0;
111
+ color: var(--sigvelo-color-text-muted);
112
+ font-size: var(--sigvelo-text-2xs);
113
+ line-height: var(--sigvelo-text-2xs-leading);
114
+ }
115
+
116
+ .manager-office__employee-header small,
117
+ .manager-office__work-list small,
118
+ .manager-office__channel-list small {
119
+ min-inline-size: 0;
120
+ color: var(--sigvelo-color-text-muted);
121
+ font-size: var(--sigvelo-text-xs);
122
+ line-height: var(--sigvelo-text-xs-leading);
123
+ }
124
+
125
+ .manager-office__attention-nav[aria-current="page"],
126
+ .manager-office__employee-link[aria-current="page"] {
127
+ background: color-mix(in oklab, var(--sigvelo-color-neutral-bg-subtle), transparent 18%);
128
+ }
129
+
130
+ .manager-office__main {
131
+ min-inline-size: 0;
132
+ min-block-size: 0;
133
+ block-size: 100%;
134
+ overflow: auto;
135
+ }
136
+
137
+ /*
138
+ * A capped, centred column. Stretched to a 1440px pane, a roster row put its
139
+ * status a screen-width away from the name it belonged to; Ploy caps the same
140
+ * lists at 800px for the same reason.
141
+ */
142
+ .manager-office__attention,
143
+ .manager-office__employee-detail {
144
+ min-inline-size: 0;
145
+ inline-size: 100%;
146
+ max-inline-size: 60rem;
147
+ margin-inline: auto;
148
+ padding: var(--sigvelo-spacing-4) var(--sigvelo-spacing-3);
149
+ }
150
+
151
+ .manager-office__attention-list {
152
+ gap: var(--sigvelo-spacing-2);
153
+ }
154
+
155
+ /*
156
+ * Rows are bounded surfaces, not naked ghost buttons. One hairline and a real
157
+ * padding box give each row an edge to scan against, which is what carried
158
+ * Ploy's 67px work rows and Codex's activity rows.
159
+ */
160
+ .manager-office__work-link,
161
+ .manager-office__routine-link,
162
+ .manager-office__channel {
163
+ inline-size: 100%;
164
+ min-inline-size: 0;
165
+ display: grid;
166
+ align-items: center;
167
+ justify-content: stretch;
168
+ gap: var(--sigvelo-density-compact-control-gap);
169
+ font-weight: var(--sigvelo-font-weight-normal);
170
+ text-align: start;
171
+ white-space: normal;
172
+ }
173
+
174
+ .manager-office__work-link {
175
+ min-block-size: var(--sigvelo-control-height-xl);
176
+ padding: var(--sigvelo-spacing-2) var(--sigvelo-spacing-3);
177
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
178
+ var(--sigvelo-color-neutral-border-muted);
179
+ border-radius: var(--sigvelo-radius-md);
180
+ background: var(--sigvelo-color-surface);
181
+ }
182
+
183
+ .manager-office__routine-link {
184
+ padding-block: var(--sigvelo-spacing-1);
185
+ }
186
+
187
+ .manager-office__work-link,
188
+ .manager-office__routine-link {
189
+ grid-template-columns: auto minmax(0, 1fr) auto;
190
+ }
191
+
192
+ .manager-office__row-chevron {
193
+ color: var(--sigvelo-color-text-subtle);
194
+ }
195
+
196
+ .manager-office__employee-detail {
197
+ display: grid;
198
+ align-content: start;
199
+ gap: var(--sigvelo-spacing-3);
200
+ }
201
+
202
+ .manager-office__employee-header {
203
+ min-inline-size: 0;
204
+ display: grid;
205
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
206
+ align-items: center;
207
+ gap: var(--sigvelo-spacing-3);
208
+ padding-block: var(--sigvelo-spacing-1);
209
+ }
210
+
211
+ .manager-office__employee-handoffs,
212
+ .manager-office__attention-list {
213
+ display: grid;
214
+ gap: var(--sigvelo-spacing-2);
215
+ }
216
+
217
+ .manager-office__handoff {
218
+ inline-size: 100%;
219
+ gap: var(--sigvelo-spacing-3);
220
+ padding: var(--sigvelo-spacing-3);
221
+ /* Lifted off a transcript the card needs elevation; sitting on the page it
222
+ does not, and the attention hairline reads better without a shadow
223
+ competing with it. Same call as the sections below. */
224
+ box-shadow: none;
225
+ }
226
+
227
+ /*
228
+ * `AgentAttention` stacks header over body over actions, which is right when
229
+ * the employee quoted its ask. When it did not, that stack spends a whole row
230
+ * on a lone button, so the card pulls the way in up beside the ask instead.
231
+ */
232
+ .manager-office__handoff:not(:has(.agent-attention__body)) {
233
+ grid-template-columns: minmax(0, 1fr) auto;
234
+ align-items: center;
235
+ }
236
+
237
+ /* The verbatim ask is the point of the card; it wraps rather than truncating,
238
+ unlike the description line above it. */
239
+ .manager-office__handoff > .agent-attention__body {
240
+ grid-column: 1 / -1;
241
+ color: var(--sigvelo-color-text);
242
+ font-size: var(--sigvelo-text-sm);
243
+ line-height: var(--sigvelo-text-sm-leading);
244
+ }
245
+
246
+ @container responsive-sidebar-shell (inline-size <= 34rem) {
247
+ .manager-office__handoff:not(:has(.agent-attention__body)) {
248
+ grid-template-columns: minmax(0, 1fr);
249
+ gap: var(--sigvelo-spacing-2);
250
+ }
251
+ }
252
+
253
+ .manager-office__employee-columns {
254
+ min-inline-size: 0;
255
+ display: grid;
256
+ grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr);
257
+ align-items: stretch;
258
+ gap: var(--sigvelo-spacing-3);
259
+ }
260
+
261
+ .manager-office__employee-aside {
262
+ min-inline-size: 0;
263
+ display: grid;
264
+ align-content: start;
265
+ gap: var(--sigvelo-spacing-3);
266
+ }
267
+
268
+ .manager-office__section {
269
+ min-inline-size: 0;
270
+ display: grid;
271
+ align-content: start;
272
+ gap: var(--sigvelo-spacing-2);
273
+ padding-block: var(--sigvelo-spacing-3);
274
+ }
275
+
276
+ .manager-office__section-header {
277
+ display: flex;
278
+ align-items: flex-start;
279
+ justify-content: space-between;
280
+ gap: var(--sigvelo-spacing-2);
281
+ }
282
+
283
+ /* The glyph makes the three panes distinct before their labels are read. */
284
+ .manager-office__section-title {
285
+ display: flex;
286
+ align-items: center;
287
+ gap: var(--sigvelo-density-compact-control-gap);
288
+ margin: 0;
289
+ font-size: var(--sigvelo-text-sm);
290
+ font-weight: var(--sigvelo-font-weight-semibold);
291
+ line-height: var(--sigvelo-leading-tight);
292
+ }
293
+
294
+ .manager-office__section-title > svg {
295
+ color: var(--sigvelo-color-text-muted);
296
+ inline-size: var(--sigvelo-density-compact-control-icon-size);
297
+ block-size: var(--sigvelo-density-compact-control-icon-size);
298
+ }
299
+
300
+ .manager-office__section-content {
301
+ display: grid;
302
+ gap: 0;
303
+ }
304
+
305
+ .manager-office__channel-list {
306
+ gap: var(--sigvelo-spacing-0-5);
307
+ }
308
+
309
+ .manager-office__channel {
310
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
311
+ padding: var(--sigvelo-spacing-1) 0;
312
+ }
313
+
314
+ /* The host's mark sits in the tile the way a favicon would, so a supplied SVG
315
+ and a fallback initial occupy the same box. */
316
+ .manager-office__channel-mark {
317
+ display: inline-grid;
318
+ place-items: center;
319
+ inline-size: 100%;
320
+ block-size: 100%;
321
+ }
322
+
323
+ .manager-office__channel-mark > svg {
324
+ inline-size: 65%;
325
+ block-size: 65%;
326
+ }
327
+
328
+ .manager-office__channel-direction {
329
+ display: inline-grid;
330
+ place-items: center;
331
+ color: var(--sigvelo-color-text-muted);
332
+ }
333
+
334
+ .manager-office__channel-status {
335
+ display: inline-grid;
336
+ place-items: center;
337
+ }
338
+
339
+ .manager-office__channel-status[data-status="connected"] {
340
+ color: var(--sigvelo-color-success-text);
341
+ }
342
+
343
+ .manager-office__channel-status[data-status="needs-auth"] {
344
+ color: var(--sigvelo-color-danger-text);
345
+ }
346
+
347
+ .manager-office__channel-status[data-status="error"] {
348
+ color: var(--sigvelo-color-danger-text);
349
+ }
350
+
351
+ .manager-office__work-list {
352
+ gap: var(--sigvelo-spacing-2);
353
+ }
354
+
355
+ .manager-office__routine-list {
356
+ gap: var(--sigvelo-spacing-0-5);
357
+ }
358
+
359
+ .manager-office__routine-trigger {
360
+ inline-size: 100%;
361
+ min-inline-size: 0;
362
+ display: grid;
363
+ grid-template-columns: minmax(0, 1fr) auto;
364
+ align-items: center;
365
+ justify-content: stretch;
366
+ padding-inline: 0;
367
+ text-align: start;
368
+ }
369
+
370
+ .manager-office__routine-trigger > span:first-child {
371
+ min-inline-size: 0;
372
+ display: flex;
373
+ align-items: center;
374
+ gap: var(--sigvelo-density-compact-control-gap);
375
+ }
376
+
377
+ .manager-office__routine-list {
378
+ margin-block-start: var(--sigvelo-spacing-1);
379
+ }
380
+
381
+ .manager-office__nav-status,
382
+ .manager-office__thread-status {
383
+ display: inline-grid;
384
+ place-items: center;
385
+ color: var(--sigvelo-color-text-muted);
386
+ }
387
+
388
+ .manager-office__status,
389
+ .manager-office__evidence {
390
+ display: inline-flex;
391
+ align-items: center;
392
+ gap: var(--sigvelo-density-compact-control-gap);
393
+ color: var(--sigvelo-color-text-muted);
394
+ font-size: var(--sigvelo-text-xs);
395
+ line-height: var(--sigvelo-leading-snug);
396
+ white-space: nowrap;
397
+ }
398
+
399
+ .manager-office__status > svg,
400
+ .manager-office__evidence > svg,
401
+ .manager-office__nav-status > svg,
402
+ .manager-office__thread-status > svg,
403
+ .manager-office__channel-direction > svg,
404
+ .manager-office__channel-status > svg,
405
+ .manager-office__row-chevron,
406
+ .manager-office__routine-link > svg {
407
+ inline-size: var(--sigvelo-density-compact-control-icon-size);
408
+ block-size: var(--sigvelo-density-compact-control-icon-size);
409
+ }
410
+
411
+ .manager-office__status[data-status="needs-you"],
412
+ .manager-office__nav-status[data-status="needs-you"],
413
+ .manager-office__status[data-status="issue"],
414
+ .manager-office__status[data-status="unavailable"],
415
+ .manager-office__nav-status[data-status="issue"],
416
+ .manager-office__nav-status[data-status="unavailable"],
417
+ .manager-office__thread-status[data-status="error"] {
418
+ color: var(--sigvelo-color-danger-text);
419
+ }
420
+
421
+ .manager-office__status[data-status="working"],
422
+ .manager-office__status[data-status="connecting"],
423
+ .manager-office__nav-status[data-status="working"],
424
+ .manager-office__nav-status[data-status="connecting"],
425
+ .manager-office__thread-status[data-status="running"] {
426
+ color: var(--sigvelo-color-primary-text);
427
+ }
428
+
429
+ .manager-office__evidence[data-complete] {
430
+ color: var(--sigvelo-color-success-text);
431
+ }
432
+
433
+ /*
434
+ * The rail's state line stays muted and lets the glyph beside it carry the
435
+ * colour. Tinting both put semantic text at 11px over the selected row's
436
+ * raised background, which lands at 4.28:1 — under the 4.5:1 floor — and the
437
+ * glyph is a non-text element held to 3:1, so it can say the same thing.
438
+ */
439
+
440
+ .manager-office__unread-dot {
441
+ display: inline-block;
442
+ inline-size: var(--sigvelo-spacing-1-5);
443
+ block-size: var(--sigvelo-spacing-1-5);
444
+ margin-inline-start: var(--sigvelo-spacing-1);
445
+ border-radius: var(--sigvelo-radius-full);
446
+ background: var(--sigvelo-color-primary-text);
447
+ vertical-align: middle;
448
+ }
449
+
450
+ .manager-office__main > .empty-state {
451
+ padding: var(--sigvelo-spacing-6) var(--sigvelo-spacing-3);
452
+ }
453
+
454
+ @container responsive-sidebar-shell (inline-size <= 42rem) {
455
+ .manager-office__attention,
456
+ .manager-office__employee-detail {
457
+ padding: var(--sigvelo-spacing-2);
458
+ }
459
+
460
+ .manager-office__employee-columns {
461
+ grid-template-columns: minmax(0, 1fr);
462
+ }
463
+ }
464
+
465
+ @container responsive-sidebar-shell (inline-size <= 30rem) {
466
+ .manager-office__status > span {
467
+ display: none;
468
+ }
469
+ }
470
+
471
+ @media (any-pointer: coarse) {
472
+ .manager-office__attention-nav,
473
+ .manager-office__employee-link,
474
+ .manager-office__work-link,
475
+ .manager-office__routine-link,
476
+ .manager-office__routine-trigger {
477
+ min-block-size: var(--sigvelo-control-height-xl);
478
+ }
479
+ }
480
+
481
+ @media (forced-colors: active) {
482
+ .manager-office__attention-nav[aria-current="page"],
483
+ .manager-office__employee-link[aria-current="page"] {
484
+ outline: var(--sigvelo-border-width) solid Highlight;
485
+ }
486
+ }
@@ -2,58 +2,67 @@
2
2
  container: mcp-plugin-catalog / inline-size;
3
3
  box-sizing: border-box;
4
4
  inline-size: 100%;
5
- max-inline-size: var(--sigvelo-measure-wide-block);
6
- padding-inline: var(--sigvelo-spacing-4);
7
- margin-inline: auto;
5
+ min-block-size: 0;
6
+ display: flex;
7
+ flex-direction: column;
8
8
  color: var(--sigvelo-color-text);
9
9
  }
10
10
 
11
- .mcp-plugin-catalog__header,
12
- .mcp-plugin-catalog__heading-copy,
13
11
  .mcp-plugin-catalog__installed,
14
12
  .mcp-plugin-catalog__sections,
15
13
  .mcp-plugin-catalog__section {
16
14
  display: grid;
17
15
  }
18
16
 
17
+ /* The card's chrome row at the bar rhythm: no title (the hosting tab or icon
18
+ carries it), no fill — separated from the scrolling directory by one
19
+ hairline and a breath of shadow. */
19
20
  .mcp-plugin-catalog__header {
20
- gap: var(--sigvelo-spacing-4);
21
- margin-block-end: var(--sigvelo-spacing-6);
21
+ position: relative;
22
+ flex: none;
23
+ display: flex;
24
+ align-items: center;
25
+ gap: var(--sigvelo-spacing-2);
26
+ min-block-size: calc(var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2));
27
+ padding-block: var(--sigvelo-spacing-1);
28
+ padding-inline: var(--sigvelo-spacing-2);
29
+ border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
30
+ var(--sigvelo-color-neutral-border-subtle);
31
+ box-shadow: var(--sigvelo-elevation-bar);
22
32
  }
23
33
 
24
- .mcp-plugin-catalog__heading-copy {
25
- gap: var(--sigvelo-spacing-1);
34
+ /* The bar's one action keeps to the far end, Ploy-style. */
35
+ .mcp-plugin-catalog__add-custom {
36
+ margin-inline-start: auto;
26
37
  }
27
38
 
28
- .mcp-plugin-catalog__heading,
29
- .mcp-plugin-catalog__description,
30
39
  .mcp-plugin-catalog__section-heading,
31
40
  .mcp-plugin-catalog__empty,
32
41
  .mcp-plugin-details p {
33
42
  margin: 0;
34
43
  }
35
44
 
36
- .mcp-plugin-catalog__heading {
37
- font-size: var(--sigvelo-text-3xl);
38
- font-weight: var(--sigvelo-font-weight-normal);
39
- line-height: var(--sigvelo-text-3xl-leading);
40
- letter-spacing: var(--sigvelo-tracking-normal);
45
+ .mcp-plugin-catalog__search {
46
+ flex: 1;
47
+ max-inline-size: 24rem;
41
48
  }
42
49
 
43
- .mcp-plugin-catalog__description {
44
- max-inline-size: var(--sigvelo-measure-prose);
45
- color: var(--sigvelo-color-text-muted);
46
- font-size: var(--sigvelo-text-base);
47
- line-height: var(--sigvelo-text-base-leading);
50
+ .mcp-plugin-catalog__body {
51
+ flex: 1;
52
+ min-block-size: 0;
53
+ overflow: auto;
54
+ padding-inline: var(--sigvelo-spacing-4);
55
+ padding-block: var(--sigvelo-spacing-2) var(--sigvelo-spacing-4);
48
56
  }
49
57
 
50
- .mcp-plugin-catalog__search {
51
- inline-size: 100%;
58
+ .mcp-plugin-catalog__body > * {
59
+ max-inline-size: var(--sigvelo-measure-wide-block);
60
+ margin-inline: auto;
52
61
  }
53
62
 
54
63
  .mcp-plugin-catalog__installed {
55
64
  gap: var(--sigvelo-spacing-2);
56
- margin-block-end: var(--sigvelo-spacing-6);
65
+ margin-block-end: var(--sigvelo-spacing-5);
57
66
  }
58
67
 
59
68
  .mcp-plugin-catalog__installed-list,
@@ -70,7 +79,7 @@
70
79
  }
71
80
 
72
81
  .mcp-plugin-catalog__sections {
73
- gap: var(--sigvelo-spacing-6);
82
+ gap: var(--sigvelo-spacing-5);
74
83
  }
75
84
 
76
85
  .mcp-plugin-catalog__section {
@@ -86,7 +95,7 @@
86
95
 
87
96
  .mcp-plugin-catalog__list {
88
97
  display: grid;
89
- gap: var(--sigvelo-spacing-4) var(--sigvelo-spacing-2);
98
+ gap: var(--sigvelo-spacing-2) var(--sigvelo-spacing-2);
90
99
  margin-inline: calc(-1 * var(--sigvelo-spacing-2));
91
100
  }
92
101
 
@@ -95,7 +104,7 @@
95
104
  grid-template-columns: minmax(0, 1fr) auto;
96
105
  align-items: center;
97
106
  gap: var(--sigvelo-spacing-2);
98
- min-block-size: var(--sigvelo-spacing-14);
107
+ min-block-size: var(--sigvelo-spacing-12);
99
108
  padding-inline-end: var(--sigvelo-spacing-2);
100
109
  border-radius: var(--sigvelo-radius-lg);
101
110
  transition: background-color var(--sigvelo-motion-duration-interaction)
@@ -112,10 +121,10 @@
112
121
 
113
122
  .mcp-plugin-catalog__card-main {
114
123
  display: grid;
115
- grid-template-columns: var(--sigvelo-spacing-10) minmax(0, 1fr);
124
+ grid-template-columns: var(--sigvelo-spacing-8) minmax(0, 1fr);
116
125
  align-items: center;
117
126
  justify-content: start;
118
- gap: var(--sigvelo-spacing-3-5);
127
+ gap: var(--sigvelo-spacing-3);
119
128
  inline-size: 100%;
120
129
  min-inline-size: 0;
121
130
  padding-inline: var(--sigvelo-spacing-2);
@@ -170,7 +179,7 @@
170
179
  background:
171
180
  radial-gradient(
172
181
  ellipse 48% 135% at 0% 38%,
173
- var(--sigvelo-color-warning-400) 0%,
182
+ var(--sigvelo-color-primary-400) 0%,
174
183
  transparent 74%
175
184
  ),
176
185
  radial-gradient(
@@ -285,11 +294,6 @@
285
294
  }
286
295
 
287
296
  @container mcp-plugin-catalog (inline-size >= 36rem) {
288
- .mcp-plugin-catalog__header {
289
- grid-template-columns: minmax(0, 1fr) 16rem;
290
- align-items: end;
291
- }
292
-
293
297
  .mcp-plugin-catalog__list {
294
298
  grid-template-columns: repeat(2, minmax(0, 1fr));
295
299
  }
@@ -130,7 +130,7 @@
130
130
  }
131
131
 
132
132
  .mcp-server-picker__row-shell[data-status="authenticating"] .mcp-server-picker__row-status {
133
- color: var(--sigvelo-color-warning-text-on-subtle);
133
+ color: var(--sigvelo-color-text-muted);
134
134
  }
135
135
 
136
136
  .mcp-server-picker__row-shell:is([data-status="failed"], [data-status="not-connected"])