@mcp-b/react-components 0.14.2 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/AgentActivity-BNUNrP9O.d.ts +36 -0
  2. package/dist/{AgentChat-DQkqt82e.d.ts → AgentChat-CrlpbvQJ.d.ts} +58 -6
  3. package/dist/{CodeBlock-DUh9WOGo.d.ts → CodeBlock-BRajW4QU.d.ts} +1 -1
  4. package/dist/{CodeBlock-BUFXG8HW.js → CodeBlock-BmB4Xaqq.js} +15 -4
  5. package/dist/{FileTree-mpEIcfzA.js → FileTree-CkVbIMWV.js} +82 -89
  6. package/dist/Message-BkMdE3bS.js +375 -0
  7. package/dist/{ModelSelector-CPCpFAUt.js → ModelSelector-SlJNgwKY.js} +2 -2
  8. package/dist/{PromptInput-ClNqBiIw.d.ts → PromptInput-BWTuXMOD.d.ts} +123 -5
  9. package/dist/ResponsiveSidebarShell-Dd9DCcBT.d.ts +67 -0
  10. package/dist/{Select-Dl_vF_Bt.d.ts → Select-BeEsefzh.d.ts} +12 -2
  11. package/dist/{ThinkChat-BPcehdbP.js → ThinkChat-CzC-zNGA.js} +24 -36
  12. package/dist/{ThinkChatActivity-BmwuIigx.d.ts → ThinkChatActivity-BFQnb2ct.d.ts} +3 -10
  13. package/dist/ThinkChatActivitySummary-BPmu9a-c.d.ts +39 -0
  14. package/dist/{ThinkChatToolParts-CDEjqS6A.d.ts → ThinkChatToolParts-CSzVwMXf.d.ts} +13 -3
  15. package/dist/ThinkExecutionRun-ChhWhOoU.d.ts +30 -0
  16. package/dist/Toggle-CAAlNl-M.d.ts +69 -0
  17. package/dist/ToggleGroup-8hPv-b69.d.ts +73 -0
  18. package/dist/Workspace-D39LxGvP.d.ts +62 -0
  19. package/dist/WorkspaceFile-DOZkPwzu.d.ts +106 -0
  20. package/dist/WorkspaceFileView-rSN_yT0L.js +744 -0
  21. package/dist/WorkspaceLink-DIPbXrUM.js +337 -0
  22. package/dist/WorkspaceLink-DK1DWMHe.d.ts +89 -0
  23. package/dist/components/Activity.d.ts +27 -1
  24. package/dist/components/Activity.js +33 -15
  25. package/dist/components/AgentActivity.d.ts +2 -0
  26. package/dist/components/AgentActivity.js +45 -0
  27. package/dist/components/AgentActivityPreview.d.ts +46 -0
  28. package/dist/components/AgentActivityPreview.js +94 -0
  29. package/dist/components/AgentAttention.d.ts +73 -0
  30. package/dist/components/AgentAttention.js +85 -0
  31. package/dist/components/AgentChat.d.ts +2 -2
  32. package/dist/components/AgentChat.js +224 -200
  33. package/dist/components/AgentChatMessageEditor.d.ts +29 -0
  34. package/dist/components/AgentChatMessageEditor.js +92 -0
  35. package/dist/components/AgentChatTurnError.d.ts +17 -0
  36. package/dist/components/AgentChatTurnError.js +40 -0
  37. package/dist/components/AgentConnection.d.ts +12 -17
  38. package/dist/components/AgentConnection.js +99 -91
  39. package/dist/components/AppFrame.d.ts +24 -0
  40. package/dist/components/AppFrame.js +25 -0
  41. package/dist/components/AppTopBar.d.ts +71 -0
  42. package/dist/components/AppTopBar.js +82 -0
  43. package/dist/components/Artifact.js +1 -1
  44. package/dist/components/BrowserLiveView.js +1 -1
  45. package/dist/components/BrowserReplay.js +1 -1
  46. package/dist/components/BrowserRunPanel.js +1 -1
  47. package/dist/components/Card.d.ts +3 -0
  48. package/dist/components/Card.js +2 -1
  49. package/dist/components/ChainOfThought.d.ts +1 -1
  50. package/dist/components/ChainOfThought.js +1 -1
  51. package/dist/components/ChatGptSignInScreen.js +2 -2
  52. package/dist/components/Checkbox.js +5 -13
  53. package/dist/components/CheckboxGroup.d.ts +58 -2
  54. package/dist/components/CheckboxGroup.js +59 -1
  55. package/dist/components/CodeBlock.d.ts +1 -1
  56. package/dist/components/CodeBlock.js +1 -1
  57. package/dist/components/CodexModelSelector.js +1 -1
  58. package/dist/components/Commit.js +2 -2
  59. package/dist/components/ContextMenu.js +1 -1
  60. package/dist/components/Conversation.js +1 -1
  61. package/dist/components/DescriptionList.d.ts +12 -0
  62. package/dist/components/DescriptionList.js +11 -0
  63. package/dist/components/DescriptionListParts.d.ts +37 -0
  64. package/dist/components/DescriptionListParts.js +35 -0
  65. package/dist/components/EnvironmentVariables.js +2 -2
  66. package/dist/components/Fieldset.d.ts +13 -1
  67. package/dist/components/Fieldset.js +11 -2
  68. package/dist/components/FileTree.js +1 -1
  69. package/dist/components/IconButton.d.ts +33 -0
  70. package/dist/components/IconButton.js +27 -0
  71. package/dist/components/McpConnectionRequest.d.ts +44 -0
  72. package/dist/components/McpConnectionRequest.js +122 -0
  73. package/dist/components/McpServerPicker.d.ts +48 -23
  74. package/dist/components/McpServerPicker.js +238 -189
  75. package/dist/components/Menubar.js +1 -1
  76. package/dist/components/Message.d.ts +1 -0
  77. package/dist/components/Message.js +1 -285
  78. package/dist/components/MessageScroller.js +1 -1
  79. package/dist/components/ModelSelector.js +1 -1
  80. package/dist/components/Pricing.d.ts +37 -0
  81. package/dist/components/Pricing.js +17 -0
  82. package/dist/components/PricingBillingToggle.d.ts +23 -0
  83. package/dist/components/PricingBillingToggle.js +86 -0
  84. package/dist/components/PricingConfirmationDialog.d.ts +25 -0
  85. package/dist/components/PricingConfirmationDialog.js +57 -0
  86. package/dist/components/PricingFAQ.d.ts +18 -0
  87. package/dist/components/PricingFAQ.js +27 -0
  88. package/dist/components/PricingPage.d.ts +2 -38
  89. package/dist/components/PricingPage.js +39 -359
  90. package/dist/components/PricingPlanCard.d.ts +22 -0
  91. package/dist/components/PricingPlanCard.js +109 -0
  92. package/dist/components/PricingUsageCalculator.d.ts +22 -0
  93. package/dist/components/PricingUsageCalculator.js +96 -0
  94. package/dist/components/PromptInput.d.ts +2 -2
  95. package/dist/components/PromptInput.js +210 -15
  96. package/dist/components/Queue.js +1 -1
  97. package/dist/components/Reasoning.d.ts +2 -1
  98. package/dist/components/Reasoning.js +14 -29
  99. package/dist/components/ResizableSidePanel.d.ts +57 -0
  100. package/dist/components/ResizableSidePanel.js +151 -0
  101. package/dist/components/ResponsiveSidebarShell.d.ts +2 -0
  102. package/dist/components/ResponsiveSidebarShell.js +129 -0
  103. package/dist/components/Select.d.ts +2 -2
  104. package/dist/components/Select.js +11 -2
  105. package/dist/components/Slider.d.ts +13 -1
  106. package/dist/components/Slider.js +11 -0
  107. package/dist/components/Sources.js +1 -1
  108. package/dist/components/Stepper.d.ts +4 -0
  109. package/dist/components/Stepper.js +5 -3
  110. package/dist/components/SubagentRun.d.ts +18 -19
  111. package/dist/components/SubagentRun.js +25 -18
  112. package/dist/components/SubagentRunIndicator.d.ts +22 -0
  113. package/dist/components/SubagentRunIndicator.js +33 -0
  114. package/dist/components/SubagentRunList.d.ts +25 -0
  115. package/dist/components/SubagentRunList.js +26 -0
  116. package/dist/components/SubagentRunSelector.d.ts +47 -0
  117. package/dist/components/SubagentRunSelector.js +55 -0
  118. package/dist/components/Task.js +1 -1
  119. package/dist/components/Terminal.js +2 -2
  120. package/dist/components/TestResults.js +1 -1
  121. package/dist/components/Textarea.d.ts +21 -0
  122. package/dist/components/Textarea.js +19 -0
  123. package/dist/components/ThemeModeControl.d.ts +24 -0
  124. package/dist/components/ThemeModeControl.js +52 -0
  125. package/dist/components/ThemeProvider.d.ts +38 -0
  126. package/dist/components/ThemeProvider.js +80 -0
  127. package/dist/components/ThinkChat.d.ts +29 -6
  128. package/dist/components/ThinkChat.js +7 -4
  129. package/dist/components/ThinkChatActivity.d.ts +3 -2
  130. package/dist/components/ThinkChatActivity.js +12 -318
  131. package/dist/components/ThinkChatActivitySummary.d.ts +2 -0
  132. package/dist/components/ThinkChatActivitySummary.js +421 -0
  133. package/dist/components/ThinkChatToolPanels.d.ts +7 -5
  134. package/dist/components/ThinkChatToolPanels.js +70 -8
  135. package/dist/components/ThinkChatToolParts.d.ts +2 -2
  136. package/dist/components/ThinkChatToolParts.js +36 -10
  137. package/dist/components/ThinkExecutionDetail.d.ts +20 -0
  138. package/dist/components/ThinkExecutionDetail.js +80 -0
  139. package/dist/components/ThinkExecutionRun.d.ts +2 -0
  140. package/dist/components/ThinkExecutionRun.js +72 -0
  141. package/dist/components/ThinkExecutionStatus.d.ts +22 -0
  142. package/dist/components/ThinkExecutionStatus.js +36 -0
  143. package/dist/components/ThinkExecutionWorkbench.d.ts +7 -0
  144. package/dist/components/ThinkExecutionWorkbench.js +69 -225
  145. package/dist/components/ThinkFullApp.d.ts +58 -14
  146. package/dist/components/ThinkFullApp.js +154 -160
  147. package/dist/components/ThinkFullAppViewSwitch.d.ts +31 -0
  148. package/dist/components/ThinkFullAppViewSwitch.js +34 -0
  149. package/dist/components/ThinkRoutine.d.ts +36 -0
  150. package/dist/components/ThinkRoutine.js +15 -0
  151. package/dist/components/ThinkRoutineBrowser.d.ts +25 -0
  152. package/dist/components/ThinkRoutineBrowser.js +156 -0
  153. package/dist/components/ThinkRoutineDetail.d.ts +24 -0
  154. package/dist/components/ThinkRoutineDetail.js +102 -0
  155. package/dist/components/ThinkRoutineForm.d.ts +32 -0
  156. package/dist/components/ThinkRoutineForm.js +151 -0
  157. package/dist/components/ThinkRoutineLibrary.d.ts +74 -0
  158. package/dist/components/ThinkRoutineLibrary.js +178 -0
  159. package/dist/components/ThinkRoutineRuns.d.ts +24 -0
  160. package/dist/components/ThinkRoutineRuns.js +68 -0
  161. package/dist/components/ThinkThreadPicker.d.ts +18 -1
  162. package/dist/components/ThinkThreadPicker.js +51 -5
  163. package/dist/components/ThinkThreadShell.d.ts +12 -9
  164. package/dist/components/ThinkThreadShell.js +17 -137
  165. package/dist/components/Toggle.d.ts +1 -68
  166. package/dist/components/ToggleGroup.d.ts +1 -72
  167. package/dist/components/Tooltip.d.ts +3 -1
  168. package/dist/components/Tooltip.js +4 -2
  169. package/dist/components/WebPreview.js +1 -1
  170. package/dist/components/Workspace.d.ts +2 -0
  171. package/dist/components/Workspace.js +424 -0
  172. package/dist/components/WorkspaceBrowser.d.ts +32 -0
  173. package/dist/components/WorkspaceBrowser.js +103 -0
  174. package/dist/components/WorkspaceExplorer.d.ts +12 -79
  175. package/dist/components/WorkspaceExplorer.js +116 -330
  176. package/dist/components/WorkspaceFile.d.ts +2 -0
  177. package/dist/components/WorkspaceFile.js +195 -0
  178. package/dist/components/WorkspaceFileView.d.ts +26 -0
  179. package/dist/components/WorkspaceFileView.js +2 -0
  180. package/dist/components/WorkspaceHeader.d.ts +35 -0
  181. package/dist/components/WorkspaceHeader.js +51 -0
  182. package/dist/components/WorkspaceLink.d.ts +2 -0
  183. package/dist/components/WorkspaceLink.js +2 -0
  184. package/dist/components/icons.d.ts +2 -2
  185. package/dist/components/icons.js +2 -2
  186. package/dist/{copy-button-DUMLYdsk.js → copy-button-Dejn5heL.js} +1 -1
  187. package/dist/icons-CpfUer49.js +85 -0
  188. package/dist/{icons-CUCz_Sft.d.ts → icons-GQd1xF4e.d.ts} +51 -1
  189. package/dist/styles/activity-header.css +75 -0
  190. package/dist/styles/activity.css +49 -63
  191. package/dist/styles/agent-activity-preview-overlay.css +80 -0
  192. package/dist/styles/agent-activity-preview.css +233 -0
  193. package/dist/styles/agent-attention.css +128 -0
  194. package/dist/styles/agent-chat.css +133 -4
  195. package/dist/styles/agent-connection.css +9 -9
  196. package/dist/styles/alert-dialog.css +11 -11
  197. package/dist/styles/app-frame.css +15 -0
  198. package/dist/styles/app-top-bar.css +102 -0
  199. package/dist/styles/avatar.css +0 -1
  200. package/dist/styles/browser-control-overlay.css +184 -0
  201. package/dist/styles/card.css +29 -8
  202. package/dist/styles/chain-of-thought.css +5 -5
  203. package/dist/styles/checkbox-group.css +69 -0
  204. package/dist/styles/codex-model-selector.css +3 -3
  205. package/dist/styles/combobox.css +2 -1
  206. package/dist/styles/context-menu.css +1 -1
  207. package/dist/styles/description-list.css +50 -0
  208. package/dist/styles/dialog.css +11 -11
  209. package/dist/styles/field.css +14 -14
  210. package/dist/styles/fieldset.css +15 -4
  211. package/dist/styles/index.css +14 -2
  212. package/dist/styles/mcp-connection-request.css +60 -0
  213. package/dist/styles/mcp-server-picker.css +96 -68
  214. package/dist/styles/menu.css +1 -1
  215. package/dist/styles/message.css +4 -43
  216. package/dist/styles/model-selector.css +18 -12
  217. package/dist/styles/popover.css +9 -9
  218. package/dist/styles/preview-card.css +1 -1
  219. package/dist/styles/pricing-page.css +21 -27
  220. package/dist/styles/prompt-input.css +225 -32
  221. package/dist/styles/reasoning.css +1 -55
  222. package/dist/styles/recipes.css +50 -24
  223. package/dist/styles/resizable-side-panel.css +66 -0
  224. package/dist/styles/responsive-sidebar-shell.css +169 -0
  225. package/dist/styles/select.css +13 -3
  226. package/dist/styles/sources.css +6 -6
  227. package/dist/styles/stepper.css +13 -0
  228. package/dist/styles/streamdown.css +0 -4
  229. package/dist/styles/subagent-run.css +59 -42
  230. package/dist/styles/task.css +17 -10
  231. package/dist/styles/test-results.css +17 -10
  232. package/dist/styles/textarea.css +20 -0
  233. package/dist/styles/theme-mode-control.css +72 -0
  234. package/dist/styles/think-execution-status.css +49 -0
  235. package/dist/styles/think-execution-workbench.css +16 -80
  236. package/dist/styles/think-full-app.css +143 -128
  237. package/dist/styles/think-routine-library.css +491 -0
  238. package/dist/styles/think-thread-picker.css +47 -3
  239. package/dist/styles/toast.css +6 -6
  240. package/dist/styles/toggle-group.css +7 -0
  241. package/dist/styles/tooltip.css +1 -1
  242. package/dist/styles/workspace-explorer.css +516 -64
  243. package/dist/utils/mcp-server-catalog.d.ts +82 -78
  244. package/dist/utils/mcp-server-catalog.js +64 -41
  245. package/dist/utils/structured-code.d.ts +1 -1
  246. package/dist/utils/theme.d.ts +22 -0
  247. package/dist/utils/theme.js +55 -0
  248. package/package.json +34 -28
  249. package/dist/icons-Ba9THQKz.js +0 -64
  250. package/dist/styles/think-resize-handle.css +0 -33
  251. package/dist/styles/think-thread-shell.css +0 -219
@@ -56,39 +56,6 @@
56
56
  box-shadow: var(--sigvelo-recipe-focus-shadow);
57
57
  }
58
58
 
59
- /* Basis 0 keeps the long nowrap label from inflating the message width
60
- (it truncates instead); max-content caps growth so the chevron hugs the
61
- text, Codex-style. */
62
- .activity__trigger-label {
63
- flex: 1 1 0;
64
- min-width: 0;
65
- max-width: max-content;
66
- color: var(--sigvelo-color-text);
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- white-space: nowrap;
70
- }
71
-
72
- /* Streaming shimmer: a highlight sweeps the label left-to-right, then rests
73
- muted for the back half of the loop (the gradient tiles seamlessly). */
74
- .activity[data-streaming] .activity__trigger-label {
75
- /* Resting shade matches the trigger's dimmed color; the sweep brightens */
76
- --activity-shimmer-base: color-mix(in oklab, var(--sigvelo-color-text-muted), transparent 20%);
77
- background: linear-gradient(
78
- 90deg,
79
- var(--activity-shimmer-base) 0%,
80
- var(--activity-shimmer-base) 40%,
81
- var(--sigvelo-color-text) 50%,
82
- var(--activity-shimmer-base) 60%,
83
- var(--activity-shimmer-base) 100%
84
- );
85
- background-size: 200% 100%;
86
- -webkit-background-clip: text;
87
- background-clip: text;
88
- color: transparent;
89
- animation: activity-shimmer 2.4s linear infinite;
90
- }
91
-
92
59
  .activity__trigger-icon {
93
60
  display: inline-flex;
94
61
  color: var(--sigvelo-color-text-muted);
@@ -253,6 +220,55 @@
253
220
  color: var(--sigvelo-color-danger-text-on-subtle);
254
221
  }
255
222
 
223
+ .activity__call-audit {
224
+ display: flex;
225
+ min-width: 0;
226
+ flex-direction: column;
227
+ gap: var(--sigvelo-spacing-1);
228
+ }
229
+
230
+ .activity__call-audit-label {
231
+ font-size: var(--sigvelo-text-2xs);
232
+ font-weight: var(--sigvelo-font-weight-semibold);
233
+ color: var(--sigvelo-color-text-muted);
234
+ }
235
+
236
+ .activity__call-audit-list {
237
+ display: flex;
238
+ min-width: 0;
239
+ flex-direction: column;
240
+ gap: var(--sigvelo-spacing-1);
241
+ margin: 0;
242
+ padding-inline-start: var(--sigvelo-spacing-4);
243
+ font-size: var(--sigvelo-text-xs);
244
+ }
245
+
246
+ .activity__call-audit-item {
247
+ min-width: 0;
248
+ padding-inline-start: var(--sigvelo-spacing-0-5);
249
+ color: var(--sigvelo-color-text);
250
+ overflow-wrap: anywhere;
251
+ }
252
+
253
+ .activity__call-audit-code,
254
+ .activity__call-audit-result {
255
+ font-family: var(--sigvelo-font-mono);
256
+ white-space: pre-wrap;
257
+ }
258
+
259
+ .activity__call-audit-state {
260
+ margin-inline-start: var(--sigvelo-spacing-1);
261
+ color: var(--sigvelo-color-text-muted);
262
+ }
263
+
264
+ .activity__call-audit-item[data-state="error"] .activity__call-audit-state {
265
+ color: var(--sigvelo-color-danger-text-on-subtle);
266
+ }
267
+
268
+ .activity__call-audit-item[data-state="reverted"] .activity__call-audit-state {
269
+ text-decoration: line-through;
270
+ }
271
+
256
272
  /* Browser panels: screenshots and live views sit inside the quiet fill */
257
273
  .activity__shell .browser-live-view {
258
274
  width: 100%;
@@ -307,12 +323,6 @@
307
323
  color: var(--sigvelo-color-success-text-on-subtle);
308
324
  }
309
325
 
310
- .activity__item-icon {
311
- display: inline-flex;
312
- align-self: center;
313
- color: var(--sigvelo-color-text-muted);
314
- }
315
-
316
326
  .activity__favicon {
317
327
  display: block;
318
328
  width: 1rem;
@@ -335,31 +345,7 @@
335
345
  text-overflow: ellipsis;
336
346
  }
337
347
 
338
- @keyframes activity-shimmer {
339
- from {
340
- background-position: 100% 0;
341
- }
342
- to {
343
- background-position: -100% 0;
344
- }
345
- }
346
-
347
- @media (prefers-reduced-motion: reduce) {
348
- .activity[data-streaming] .activity__trigger-label {
349
- animation: none;
350
- background: none;
351
- color: inherit;
352
- }
353
- }
354
-
355
348
  @media (forced-colors: active) {
356
- /* background-clip: text has no forced-colors story — plain text instead */
357
- .activity[data-streaming] .activity__trigger-label {
358
- animation: none;
359
- background: none;
360
- color: inherit;
361
- }
362
-
363
349
  .activity__trigger:focus-visible {
364
350
  outline: 2px solid Highlight;
365
351
  outline-offset: 2px;
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Standalone closed-shadow styles for AgentActivityPreview. The extension host
3
+ * owns placement, top-layer behavior, containment, and pointer-event policy.
4
+ */
5
+ @import "./activity-header.css";
6
+ @import "./agent-activity-preview.css";
7
+
8
+ :host {
9
+ all: initial;
10
+ color-scheme: light dark;
11
+ display: block;
12
+ color: CanvasText;
13
+ font-family: system-ui, sans-serif;
14
+
15
+ --sigvelo-spacing-0-5: 0.125rem;
16
+ --sigvelo-spacing-1: 0.25rem;
17
+ --sigvelo-spacing-1-5: 0.375rem;
18
+ --sigvelo-spacing-2: 0.5rem;
19
+ --sigvelo-spacing-3: 0.75rem;
20
+ --sigvelo-radius-md: 0.5rem;
21
+ --sigvelo-radius-lg: 0.75rem;
22
+ --sigvelo-radius-xs: 0.1875rem;
23
+ --sigvelo-text-compact: 0.8125rem;
24
+ --sigvelo-font-weight-semibold: 500;
25
+ --sigvelo-duration-fast: 150ms;
26
+ --sigvelo-duration-slow: 360ms;
27
+ --sigvelo-ease-standard: cubic-bezier(0.2, 0, 0, 1);
28
+ --sigvelo-color-surface: Canvas;
29
+ --sigvelo-color-text: CanvasText;
30
+ --sigvelo-color-text-muted: GrayText;
31
+ --sigvelo-color-primary-text: LinkText;
32
+ --sigvelo-color-warning-text: #8a4b00;
33
+ --sigvelo-color-neutral-bg-subtle: color-mix(in oklab, CanvasText 7%, Canvas);
34
+ --sigvelo-shadow-sm: 0 0.125rem 0.1875rem color-mix(in oklab, CanvasText 8%, transparent);
35
+ --sigvelo-recipe-focus-shadow: 0 0 0 2px Canvas, 0 0 0 4px Highlight;
36
+ }
37
+
38
+ :host *,
39
+ :host *::before,
40
+ :host *::after {
41
+ box-sizing: border-box;
42
+ }
43
+
44
+ .activity__favicon {
45
+ display: block;
46
+ width: 1rem;
47
+ height: 1rem;
48
+ border-radius: var(--sigvelo-radius-xs);
49
+ background-color: var(--sigvelo-color-surface);
50
+ object-fit: contain;
51
+ }
52
+
53
+ .sigvelo-icon--spinner {
54
+ animation: agent-activity-preview-spin var(--sigvelo-duration-slow) linear infinite;
55
+ transform-origin: center;
56
+ }
57
+
58
+ @keyframes agent-activity-preview-spin {
59
+ to {
60
+ rotate: 1turn;
61
+ }
62
+ }
63
+
64
+ @media (prefers-color-scheme: dark) {
65
+ :host {
66
+ --sigvelo-color-warning-text: #f0aa45;
67
+ }
68
+ }
69
+
70
+ @media (prefers-reduced-motion: reduce) {
71
+ .sigvelo-icon--spinner {
72
+ animation: none;
73
+ }
74
+ }
75
+
76
+ @media (forced-colors: active) {
77
+ :host {
78
+ --sigvelo-color-warning-text: MarkText;
79
+ }
80
+ }
@@ -0,0 +1,233 @@
1
+ .agent-activity-preview {
2
+ position: relative;
3
+ width: min(28rem, 100%);
4
+ min-width: 0;
5
+ padding: var(--sigvelo-spacing-2);
6
+ border-radius: var(--sigvelo-radius-lg);
7
+ color: var(--sigvelo-color-text);
8
+ background: color-mix(in oklab, var(--sigvelo-color-surface), transparent 3%);
9
+ box-shadow: var(--sigvelo-shadow-xs);
10
+ }
11
+
12
+ .agent-activity-preview__badge {
13
+ position: absolute;
14
+ inset-block-start: calc(-1 * var(--sigvelo-spacing-2));
15
+ inset-inline-end: var(--sigvelo-spacing-1);
16
+ display: grid;
17
+ place-items: center;
18
+ width: 2rem;
19
+ height: 2rem;
20
+ border-radius: 999px;
21
+ color: var(--sigvelo-color-primary-text);
22
+ background: var(--sigvelo-color-surface);
23
+ box-shadow: var(--sigvelo-shadow-sm);
24
+ }
25
+
26
+ .agent-activity-preview__badge > svg {
27
+ width: 1rem;
28
+ height: 1rem;
29
+ }
30
+
31
+ .agent-activity-preview__dismiss {
32
+ position: absolute;
33
+ z-index: 1;
34
+ inset-block-start: calc(-1 * var(--sigvelo-spacing-2));
35
+ inset-inline-end: var(--sigvelo-spacing-1);
36
+ display: grid;
37
+ place-items: center;
38
+ width: 2rem;
39
+ height: 2rem;
40
+ padding: 0;
41
+ border: 0;
42
+ border-radius: 999px;
43
+ color: var(--sigvelo-color-text-muted);
44
+ background: var(--sigvelo-color-surface);
45
+ box-shadow: var(--sigvelo-shadow-sm);
46
+ cursor: pointer;
47
+ opacity: 0;
48
+ scale: 0.92;
49
+ transition:
50
+ color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
51
+ opacity var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
52
+ scale var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
53
+ }
54
+
55
+ .agent-activity-preview:hover .agent-activity-preview__dismiss,
56
+ .agent-activity-preview:focus-within .agent-activity-preview__dismiss,
57
+ .agent-activity-preview__dismiss:focus-visible {
58
+ opacity: 1;
59
+ scale: 1;
60
+ }
61
+
62
+ .agent-activity-preview__dismiss:hover {
63
+ color: var(--sigvelo-color-text);
64
+ }
65
+
66
+ .agent-activity-preview__dismiss:focus-visible,
67
+ .agent-activity-preview__row:focus-visible,
68
+ .agent-activity-preview__file-action:focus-visible {
69
+ outline: none;
70
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
71
+ }
72
+
73
+ .agent-activity-preview__dismiss > svg {
74
+ width: 0.875rem;
75
+ height: 0.875rem;
76
+ }
77
+
78
+ .agent-activity-preview__list {
79
+ display: grid;
80
+ gap: var(--sigvelo-spacing-0-5);
81
+ max-height: min(18rem, 60dvh);
82
+ padding: 0;
83
+ margin: 0;
84
+ overflow-y: auto;
85
+ list-style: none;
86
+ }
87
+
88
+ .agent-activity-preview__item {
89
+ display: grid;
90
+ grid-template-columns: minmax(0, 1fr) auto;
91
+ align-items: stretch;
92
+ gap: var(--sigvelo-spacing-0-5);
93
+ min-width: 0;
94
+ }
95
+
96
+ .agent-activity-preview__row {
97
+ display: block;
98
+ width: 100%;
99
+ min-width: 0;
100
+ min-height: var(--sigvelo-control-height-sm);
101
+ padding: var(--sigvelo-spacing-1-5);
102
+ border: 0;
103
+ border-radius: var(--sigvelo-radius-md);
104
+ color: inherit;
105
+ background: transparent;
106
+ font: inherit;
107
+ cursor: pointer;
108
+ transition:
109
+ background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
110
+ transform var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
111
+ }
112
+
113
+ .agent-activity-preview__row:hover {
114
+ background: var(--sigvelo-color-neutral-bg-subtle);
115
+ transform: translateY(-1px);
116
+ }
117
+
118
+ .agent-activity-preview__file-action {
119
+ display: grid;
120
+ place-items: center;
121
+ min-width: var(--sigvelo-control-height-sm);
122
+ min-height: var(--sigvelo-control-height-sm);
123
+ padding: var(--sigvelo-spacing-1-5);
124
+ border: 0;
125
+ border-radius: var(--sigvelo-radius-md);
126
+ color: var(--sigvelo-color-text-muted);
127
+ background: transparent;
128
+ cursor: pointer;
129
+ transition:
130
+ color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
131
+ background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
132
+ }
133
+
134
+ .agent-activity-preview__file-action:hover {
135
+ color: var(--sigvelo-color-text);
136
+ background: var(--sigvelo-color-neutral-bg-subtle);
137
+ }
138
+
139
+ .agent-activity-preview__file-action > svg {
140
+ width: 1rem;
141
+ height: 1rem;
142
+ }
143
+
144
+ .agent-activity-preview__row .activity__header {
145
+ gap: var(--sigvelo-spacing-2);
146
+ }
147
+
148
+ .agent-activity-preview__row .activity__header-label {
149
+ max-width: none;
150
+ }
151
+
152
+ .agent-activity-preview__trailing {
153
+ display: flex;
154
+ flex: none;
155
+ align-items: center;
156
+ gap: var(--sigvelo-spacing-2);
157
+ min-width: 1rem;
158
+ }
159
+
160
+ .agent-activity-preview__favicons {
161
+ display: flex;
162
+ align-items: center;
163
+ padding-inline-start: 0.25rem;
164
+ }
165
+
166
+ .agent-activity-preview__favicons img {
167
+ display: block;
168
+ width: 1.125rem;
169
+ height: 1.125rem;
170
+ margin-inline-start: -0.25rem;
171
+ border: 2px solid var(--sigvelo-color-surface);
172
+ border-radius: 999px;
173
+ background: var(--sigvelo-color-surface);
174
+ object-fit: contain;
175
+ }
176
+
177
+ .agent-activity-preview__trailing > svg {
178
+ width: 1rem;
179
+ height: 1rem;
180
+ }
181
+
182
+ .agent-activity-preview__row[data-status="running"] .agent-activity-preview__trailing > svg,
183
+ .agent-activity-preview__row[data-status="unviewed"] .agent-activity-preview__trailing {
184
+ color: var(--sigvelo-color-primary-text);
185
+ }
186
+
187
+ .agent-activity-preview__row[data-status="input-required"] .agent-activity-preview__trailing > svg {
188
+ color: var(--sigvelo-color-warning-text);
189
+ }
190
+
191
+ .agent-activity-preview__unviewed-dot {
192
+ width: 0.5rem;
193
+ height: 0.5rem;
194
+ border-radius: 999px;
195
+ background: currentColor;
196
+ }
197
+
198
+ @media (pointer: coarse) {
199
+ .agent-activity-preview__dismiss {
200
+ opacity: 1;
201
+ scale: 1;
202
+ }
203
+
204
+ .agent-activity-preview__row,
205
+ .agent-activity-preview__file-action {
206
+ min-height: var(--sigvelo-control-height-xl);
207
+ }
208
+ }
209
+
210
+ @media (prefers-reduced-motion: reduce) {
211
+ .agent-activity-preview__dismiss,
212
+ .agent-activity-preview__row,
213
+ .agent-activity-preview__file-action {
214
+ transition: none;
215
+ }
216
+
217
+ .agent-activity-preview__row:hover {
218
+ transform: none;
219
+ }
220
+ }
221
+
222
+ @media (forced-colors: active) {
223
+ .agent-activity-preview {
224
+ outline: 1px solid CanvasText;
225
+ }
226
+
227
+ .agent-activity-preview__badge,
228
+ .agent-activity-preview__dismiss,
229
+ .agent-activity-preview__file-action,
230
+ .agent-activity-preview__favicons img {
231
+ border: 1px solid CanvasText;
232
+ }
233
+ }
@@ -0,0 +1,128 @@
1
+ .agent-attention {
2
+ display: grid;
3
+ width: min(22rem, 100%);
4
+ min-width: 0;
5
+ gap: var(--sigvelo-spacing-1-5);
6
+ padding: var(--sigvelo-spacing-1-5);
7
+ border: 1px solid var(--sigvelo-color-neutral-border-muted);
8
+ border-radius: var(--sigvelo-radius-md);
9
+ color: var(--sigvelo-color-text);
10
+ background: var(--sigvelo-color-surface);
11
+ box-shadow: var(--sigvelo-shadow-xs);
12
+ }
13
+
14
+ .agent-attention[data-tone="warning"] {
15
+ border-color: var(--sigvelo-color-warning-border);
16
+ }
17
+
18
+ .agent-attention__header,
19
+ .agent-attention__trigger {
20
+ display: grid;
21
+ grid-template-columns: auto minmax(0, 1fr) auto;
22
+ align-items: center;
23
+ gap: var(--sigvelo-spacing-1-5);
24
+ min-width: 0;
25
+ }
26
+
27
+ .agent-attention__trigger.button {
28
+ width: 100%;
29
+ height: auto;
30
+ min-height: var(--sigvelo-control-height-sm);
31
+ justify-content: stretch;
32
+ padding: var(--sigvelo-spacing-1-5);
33
+ margin: calc(-1 * var(--sigvelo-spacing-1-5));
34
+ text-align: start;
35
+ }
36
+
37
+ .agent-attention__icon {
38
+ display: grid;
39
+ place-items: center;
40
+ width: var(--sigvelo-control-height-xs);
41
+ height: var(--sigvelo-control-height-xs);
42
+ border-radius: var(--sigvelo-radius-sm);
43
+ color: var(--sigvelo-color-text-muted);
44
+ background: var(--sigvelo-color-neutral-bg-subtle);
45
+ }
46
+
47
+ .agent-attention[data-tone="warning"] .agent-attention__icon {
48
+ color: var(--sigvelo-color-warning-text);
49
+ background: var(--sigvelo-color-warning-bg-subtle);
50
+ }
51
+
52
+ .agent-attention__icon > :is(svg, img) {
53
+ width: 1rem;
54
+ height: 1rem;
55
+ }
56
+
57
+ .agent-attention__text {
58
+ display: grid;
59
+ min-width: 0;
60
+ line-height: 1.35;
61
+ }
62
+
63
+ .agent-attention__title,
64
+ .agent-attention__description {
65
+ overflow: hidden;
66
+ text-overflow: ellipsis;
67
+ white-space: nowrap;
68
+ }
69
+
70
+ .agent-attention__title {
71
+ font-size: var(--sigvelo-text-compact);
72
+ font-weight: var(--sigvelo-font-weight-semibold);
73
+ }
74
+
75
+ .agent-attention__description {
76
+ color: var(--sigvelo-color-text-muted);
77
+ font-size: var(--sigvelo-text-xs);
78
+ }
79
+
80
+ .agent-attention__body {
81
+ min-width: 0;
82
+ overflow: hidden;
83
+ border-radius: var(--sigvelo-radius-sm);
84
+ }
85
+
86
+ .agent-attention__actions {
87
+ display: flex;
88
+ flex-wrap: wrap;
89
+ justify-content: flex-end;
90
+ gap: var(--sigvelo-spacing-1);
91
+ }
92
+
93
+ @media (any-pointer: coarse) {
94
+ .agent-attention__trigger.button {
95
+ min-height: var(--sigvelo-control-height-xl);
96
+ }
97
+ }
98
+
99
+ .agent-attention[data-busy] .agent-attention__title {
100
+ --agent-attention-shimmer: color-mix(in oklab, var(--sigvelo-color-text-muted), transparent 20%);
101
+ background: linear-gradient(
102
+ 90deg,
103
+ var(--agent-attention-shimmer) 0% 40%,
104
+ var(--sigvelo-color-text) 50%,
105
+ var(--agent-attention-shimmer) 60% 100%
106
+ );
107
+ background-size: 200% 100%;
108
+ background-clip: text;
109
+ color: transparent;
110
+ animation: agent-attention-shimmer 2.4s linear infinite;
111
+ }
112
+
113
+ @keyframes agent-attention-shimmer {
114
+ from {
115
+ background-position: 100% 0;
116
+ }
117
+ to {
118
+ background-position: -100% 0;
119
+ }
120
+ }
121
+
122
+ @media (prefers-reduced-motion: reduce), (forced-colors: active) {
123
+ .agent-attention[data-busy] .agent-attention__title {
124
+ animation: none;
125
+ background: none;
126
+ color: inherit;
127
+ }
128
+ }