@mcp-b/react-components 0.40.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 (196) 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-CWk1FVtm.js → CodeBlock-BjELA-_s.js} +1 -1
  5. package/dist/{FileTree-xqHYBw4g.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/{ToggleGroup-_pQMyHGM.d.ts → ToggleGroup-BrQZOQn_.d.ts} +1 -1
  11. package/dist/Toolbar-CBOseBQr.d.ts +152 -0
  12. package/dist/{WorkspaceFileView-Lab3om3F.js → WorkspaceFileView-D0yFwoDr.js} +2 -2
  13. package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
  14. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  15. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  16. package/dist/components/agents-sdk/AgentChat.js +41 -18
  17. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  18. package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
  19. package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
  20. package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
  21. package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
  22. package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
  23. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  24. package/dist/components/agents-sdk/BrowserRunPanel.d.ts +1 -1
  25. package/dist/components/agents-sdk/BrowserRunPanel.js +6 -12
  26. package/dist/components/agents-sdk/ManagerOffice.d.ts +156 -0
  27. package/dist/components/agents-sdk/ManagerOffice.js +662 -0
  28. package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
  29. package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
  30. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
  31. package/dist/components/agents-sdk/McpPluginCatalog.js +80 -62
  32. package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
  33. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  34. package/dist/components/agents-sdk/ModelSelector.js +2 -2
  35. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  36. package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
  37. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
  38. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  39. package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
  40. package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
  41. package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
  42. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  43. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  44. package/dist/components/agents-sdk/ThinkChatActivity.js +1 -1
  45. package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
  46. package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
  47. package/dist/components/agents-sdk/ThinkExecutionDetail.js +43 -43
  48. package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
  49. package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
  50. package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
  51. package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
  52. package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
  53. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +42 -37
  54. package/dist/components/agents-sdk/ThinkFullApp.d.ts +18 -6
  55. package/dist/components/agents-sdk/ThinkFullApp.js +113 -145
  56. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
  57. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  58. package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
  59. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
  60. package/dist/components/agents-sdk/ThinkRoutineDetail.js +5 -16
  61. package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
  62. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +69 -89
  63. package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
  64. package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
  65. package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -2
  66. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  67. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  68. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  69. package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
  70. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
  71. package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
  72. package/dist/components/ai-sdk/Activity.js +1 -1
  73. package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
  74. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  75. package/dist/components/ai-sdk/Approval.js +1 -1
  76. package/dist/components/ai-sdk/Artifact.js +1 -1
  77. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  78. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  79. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  80. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  81. package/dist/components/ai-sdk/Conversation.js +1 -1
  82. package/dist/components/ai-sdk/Goal.js +1 -1
  83. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  84. package/dist/components/ai-sdk/Message.d.ts +2 -2
  85. package/dist/components/ai-sdk/Message.js +25 -3
  86. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  87. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  88. package/dist/components/ai-sdk/Plan.js +1 -1
  89. package/dist/components/ai-sdk/PromptInput.js +1 -1
  90. package/dist/components/ai-sdk/Queue.d.ts +4 -4
  91. package/dist/components/ai-sdk/Queue.js +6 -15
  92. package/dist/components/ai-sdk/Reasoning.js +1 -1
  93. package/dist/components/ai-sdk/Sources.js +1 -1
  94. package/dist/components/ai-sdk/Task.d.ts +2 -2
  95. package/dist/components/ai-sdk/Task.js +2 -2
  96. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  97. package/dist/components/extension/CodexModelSelector.js +1 -1
  98. package/dist/components/extension/ConversationTabPicker.js +1 -1
  99. package/dist/components/foundations/Avatar.d.ts +1 -10
  100. package/dist/components/foundations/Avatar.js +1 -10
  101. package/dist/components/foundations/Checkbox.js +1 -1
  102. package/dist/components/foundations/CheckboxGroup.js +1 -0
  103. package/dist/components/foundations/ContextMenu.js +1 -1
  104. package/dist/components/foundations/LinkButton.d.ts +12 -10
  105. package/dist/components/foundations/LinkButton.js +15 -11
  106. package/dist/components/foundations/Menubar.js +1 -1
  107. package/dist/components/foundations/SearchField.js +1 -1
  108. package/dist/components/foundations/Select.js +1 -1
  109. package/dist/components/foundations/Stepper.js +1 -1
  110. package/dist/components/foundations/Toast.js +1 -1
  111. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  112. package/dist/components/foundations/ToggleGroup.js +1 -1
  113. package/dist/components/foundations/Toolbar.d.ts +1 -151
  114. package/dist/components/foundations/icons.d.ts +2 -2
  115. package/dist/components/foundations/icons.js +2 -2
  116. package/dist/components/general-purpose/AppTopBar.d.ts +1 -90
  117. package/dist/components/general-purpose/AppTopBar.js +2 -1
  118. package/dist/components/general-purpose/Commit.d.ts +2 -2
  119. package/dist/components/general-purpose/Commit.js +5 -13
  120. package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
  121. package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
  122. package/dist/components/general-purpose/FileTree.js +1 -1
  123. package/dist/components/general-purpose/PricingBillingToggle.js +5 -10
  124. package/dist/components/general-purpose/PricingPlanCard.js +15 -14
  125. package/dist/components/general-purpose/PricingUsageCalculator.js +1 -1
  126. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +95 -2
  127. package/dist/components/general-purpose/ResponsiveSidebarShell.js +90 -34
  128. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  129. package/dist/components/general-purpose/Terminal.d.ts +1 -1
  130. package/dist/components/general-purpose/Terminal.js +4 -12
  131. package/dist/components/general-purpose/TestResults.d.ts +1 -1
  132. package/dist/components/general-purpose/TestResults.js +8 -21
  133. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  134. package/dist/components/general-purpose/WebPreview.d.ts +1 -1
  135. package/dist/components/general-purpose/WebPreview.js +4 -12
  136. package/dist/components/nanites/AgentConnection.js +2 -2
  137. package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
  138. package/dist/components/nanites/AgentToolDetail.js +7 -7
  139. package/dist/components/nanites/NaniteScene.js +11 -11
  140. package/dist/{copy-button-Bc7jsYv_.js → copy-button-lys9N_aI.js} +1 -1
  141. package/dist/{icons-DwgNir1Q.d.ts → icons-0corjfxR.d.ts} +1 -16
  142. package/dist/{icons-MmIXciMO.js → icons-CVFSeTJn.js} +2 -5
  143. package/dist/styles/agent-attention.css +5 -5
  144. package/dist/styles/agent-chat.css +47 -12
  145. package/dist/styles/agent-tool-detail.css +2 -12
  146. package/dist/styles/app-icon.css +12 -18
  147. package/dist/styles/app-top-bar.css +32 -6
  148. package/dist/styles/avatar.css +6 -22
  149. package/dist/styles/base.css +2 -8
  150. package/dist/styles/browser-live-screen.css +38 -0
  151. package/dist/styles/browser-live-view.css +12 -4
  152. package/dist/styles/browser-run-panel.css +20 -18
  153. package/dist/styles/chatgpt-sign-in-screen.css +5 -5
  154. package/dist/styles/commit.css +24 -1
  155. package/dist/styles/environment-variables.css +3 -0
  156. package/dist/styles/index.css +5 -4
  157. package/dist/styles/manager-office.css +486 -0
  158. package/dist/styles/mcp-plugin-catalog.css +39 -35
  159. package/dist/styles/mcp-server-picker.css +1 -1
  160. package/dist/styles/message.css +41 -18
  161. package/dist/styles/nanite-scene.css +9 -9
  162. package/dist/styles/pricing-page.css +12 -8
  163. package/dist/styles/prompt-input.css +8 -13
  164. package/dist/styles/recipes.css +1 -57
  165. package/dist/styles/responsive-sidebar-shell.css +70 -20
  166. package/dist/styles/subagent-run.css +20 -3
  167. package/dist/styles/terminal.css +19 -0
  168. package/dist/styles/test-results.css +10 -1
  169. package/dist/styles/think-execution-status.css +8 -24
  170. package/dist/styles/think-execution-workbench.css +98 -105
  171. package/dist/styles/think-full-app.css +81 -193
  172. package/dist/styles/think-routine-library.css +0 -40
  173. package/dist/styles/think-thread-picker.css +8 -3
  174. package/dist/styles/transition-surface.css +7 -8
  175. package/dist/styles/utilities.css +42 -0
  176. package/dist/styles/web-preview.css +28 -5
  177. package/dist/styles/workspace-explorer.css +4 -23
  178. package/dist/styles/workspace-mount-manager.css +22 -0
  179. package/package.json +37 -35
  180. package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
  181. package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
  182. package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
  183. package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
  184. package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
  185. package/dist/components/foundations/Badge.d.ts +0 -62
  186. package/dist/components/foundations/Badge.js +0 -55
  187. package/dist/components/foundations/StatusPill.d.ts +0 -43
  188. package/dist/components/foundations/StatusPill.js +0 -35
  189. package/dist/components/general-purpose/Shell.d.ts +0 -149
  190. package/dist/components/general-purpose/Shell.js +0 -116
  191. package/dist/styles/agent-activity-preview-overlay.css +0 -169
  192. package/dist/styles/agent-activity-preview.css +0 -209
  193. package/dist/styles/badge.css +0 -120
  194. package/dist/styles/shell.css +0 -122
  195. package/dist/styles/status-pill.css +0 -39
  196. package/dist/{ThinkChat-DkA4Wr71.js → ThinkChat-BES_3Mb-.js} +1 -1
@@ -22,11 +22,6 @@ declare const ChevronDownIcon: ({
22
22
  strokeWidth,
23
23
  ...props
24
24
  }: IconProps) => import("react").JSX.Element;
25
- declare const ChevronLeftIcon: ({
26
- size,
27
- strokeWidth,
28
- ...props
29
- }: IconProps) => import("react").JSX.Element;
30
25
  declare const CheckIcon: ({
31
26
  size,
32
27
  strokeWidth,
@@ -238,11 +233,6 @@ declare const CalendarIcon: ({
238
233
  strokeWidth,
239
234
  ...props
240
235
  }: IconProps) => import("react").JSX.Element;
241
- declare const HashIcon: ({
242
- size,
243
- strokeWidth,
244
- ...props
245
- }: IconProps) => import("react").JSX.Element;
246
236
  declare const WrenchIcon: ({
247
237
  size,
248
238
  strokeWidth,
@@ -253,11 +243,6 @@ declare const InfoIcon: ({
253
243
  strokeWidth,
254
244
  ...props
255
245
  }: IconProps) => import("react").JSX.Element;
256
- declare const ImageIcon: ({
257
- size,
258
- strokeWidth,
259
- ...props
260
- }: IconProps) => import("react").JSX.Element;
261
246
  declare const MonitorIcon: ({
262
247
  size,
263
248
  strokeWidth,
@@ -301,4 +286,4 @@ declare const MaximizeIcon: ({
301
286
  ...props
302
287
  }: IconProps) => import("react").JSX.Element;
303
288
  //#endregion
304
- export { StopIcon as $, InfoIcon as A, MoveToFrontIcon as B, EyeOffIcon as C, HashIcon as D, FolderOpenIcon as E, MessageSquareIcon as F, PlusIcon as G, PauseIcon as H, MicrophoneIcon as I, SearchIcon as J, QueueIcon as K, MinusIcon as L, LinkIcon as M, MaximizeIcon as N, IconProps as O, McpIcon as P, SquareIcon as Q, MonitorIcon as R, EyeIcon as S, FolderIcon as T, PencilIcon as U, PaperclipIcon as V, PlayIcon as W, SlackIcon as X, SidebarIcon as Y, SpinnerIcon as Z, CopyIcon as _, ArrowUpIcon as a, WrenchIcon as at, DownloadIcon as b, BoxIcon as c, CalendarIcon as d, SunIcon as et, CheckIcon as f, CodeIcon as g, ChevronRightIcon as h, ArrowRightIcon as i, WarningIcon as it, KeyboardIcon as j, ImageIcon as k, BrainIcon as l, ChevronLeftIcon as m, ArrowDownIcon as n, TerminalIcon as nt, ArrowUpRightIcon as o, XIcon as ot, ChevronDownIcon as p, RefreshIcon as q, ArrowLeftIcon as r, TrashIcon as rt, BookmarkIcon as s, ArchiveIcon as t, TargetIcon as tt, BrandIconProps as u, DiscordIcon as v, FileIcon as w, EllipsisIcon as x, DotIcon as y, MoonIcon as z };
289
+ export { TerminalIcon as $, MaximizeIcon as A, PencilIcon as B, FileIcon as C, InfoIcon as D, IconProps as E, MonitorIcon as F, SearchIcon as G, PlusIcon as H, MoonIcon as I, SpinnerIcon as J, SidebarIcon as K, MoveToFrontIcon as L, MessageSquareIcon as M, MicrophoneIcon as N, KeyboardIcon as O, MinusIcon as P, TargetIcon as Q, PaperclipIcon as R, EyeOffIcon as S, FolderOpenIcon as T, QueueIcon as U, PlayIcon as V, RefreshIcon as W, StopIcon as X, SquareIcon as Y, SunIcon as Z, DiscordIcon as _, ArrowUpIcon as a, EllipsisIcon as b, BoxIcon as c, CalendarIcon as d, TrashIcon as et, CheckIcon as f, CopyIcon as g, CodeIcon as h, ArrowRightIcon as i, McpIcon as j, LinkIcon as k, BrainIcon as l, ChevronRightIcon as m, ArrowDownIcon as n, WrenchIcon as nt, ArrowUpRightIcon as o, ChevronDownIcon as p, SlackIcon as q, ArrowLeftIcon as r, XIcon as rt, BookmarkIcon as s, ArchiveIcon as t, WarningIcon as tt, BrandIconProps as u, DotIcon as v, FolderIcon as w, EyeIcon as x, DownloadIcon as y, PauseIcon as z };
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Hash, Image, Info, Keyboard, Link2, ListRestart, LoaderCircle, 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
+ 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, 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";
4
4
  import { FaSlack } from "react-icons/fa6";
5
5
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
6
6
  //#region src/components/_internal/icons.tsx
@@ -27,7 +27,6 @@ function brandIcon(Component) {
27
27
  }
28
28
  const ChevronRightIcon = icon(ChevronRight);
29
29
  const ChevronDownIcon = icon(ChevronDown);
30
- const ChevronLeftIcon = icon(ChevronLeft);
31
30
  const CheckIcon = icon(Check);
32
31
  const CodeIcon = icon(CodeXml);
33
32
  const XIcon = icon(X);
@@ -79,10 +78,8 @@ const WarningIcon = icon(TriangleAlert);
79
78
  const BoxIcon = icon(Box);
80
79
  const BrainIcon = icon(Brain);
81
80
  const CalendarIcon = icon(CalendarDays);
82
- const HashIcon = icon(Hash);
83
81
  const WrenchIcon = icon(Wrench);
84
82
  const InfoIcon = icon(Info);
85
- const ImageIcon = icon(Image);
86
83
  const MonitorIcon = icon(Monitor);
87
84
  const MessageSquareIcon = icon(MessageSquare);
88
85
  const McpIcon = brandIcon(SiModelcontextprotocol);
@@ -93,4 +90,4 @@ const SunIcon = icon(Sun);
93
90
  const TargetIcon = icon(Target);
94
91
  const MaximizeIcon = icon(Maximize2);
95
92
  //#endregion
96
- export { TargetIcon as $, LinkIcon as A, PauseIcon as B, FileIcon as C, ImageIcon as D, HashIcon as E, MinusIcon as F, RefreshIcon as G, PlayIcon as H, MonitorIcon as I, SlackIcon as J, SearchIcon as K, MoonIcon as L, McpIcon as M, MessageSquareIcon as N, InfoIcon as O, MicrophoneIcon as P, SunIcon as Q, MoveToFrontIcon as R, EyeOffIcon as S, FolderOpenIcon as T, PlusIcon as U, PencilIcon as V, QueueIcon as W, SquareIcon as X, SpinnerIcon as Y, StopIcon as Z, DiscordIcon as _, ArrowUpIcon as a, EllipsisIcon as b, BoxIcon as c, CheckIcon as d, TerminalIcon as et, ChevronDownIcon as f, CopyIcon as g, CodeIcon as h, ArrowRightIcon as i, XIcon as it, MaximizeIcon as j, KeyboardIcon as k, BrainIcon as l, ChevronRightIcon as m, ArrowDownIcon as n, WarningIcon as nt, ArrowUpRightIcon as o, ChevronLeftIcon as p, SidebarIcon as q, ArrowLeftIcon as r, WrenchIcon as rt, BookmarkIcon as s, ArchiveIcon as t, TrashIcon as tt, CalendarIcon as u, DotIcon as v, FolderIcon as w, EyeIcon as x, DownloadIcon as y, PaperclipIcon as z };
93
+ export { WarningIcon as $, MessageSquareIcon as A, PlusIcon as B, FolderIcon as C, LinkIcon as D, KeyboardIcon as E, MoveToFrontIcon as F, SlackIcon as G, RefreshIcon as H, PaperclipIcon as I, StopIcon as J, SpinnerIcon as K, PauseIcon as L, MinusIcon as M, MonitorIcon as N, MaximizeIcon as O, MoonIcon as P, TrashIcon as Q, PencilIcon as R, FileIcon as S, InfoIcon as T, SearchIcon as U, QueueIcon as V, SidebarIcon as W, TargetIcon as X, SunIcon as Y, TerminalIcon as Z, DotIcon as _, ArrowUpIcon as a, EyeIcon as b, BoxIcon as c, CheckIcon as d, WrenchIcon as et, ChevronDownIcon as f, DiscordIcon as g, CopyIcon as h, ArrowRightIcon as i, MicrophoneIcon as j, McpIcon as k, BrainIcon as l, CodeIcon as m, ArrowDownIcon as n, ArrowUpRightIcon as o, ChevronRightIcon as p, SquareIcon as q, ArrowLeftIcon as r, BookmarkIcon as s, ArchiveIcon as t, XIcon as tt, CalendarIcon as u, DownloadIcon as v, FolderOpenIcon as w, EyeOffIcon as x, EllipsisIcon as y, PlayIcon as z };
@@ -12,8 +12,8 @@
12
12
  box-shadow: var(--sigvelo-elevation-raised);
13
13
  }
14
14
 
15
- .agent-attention[data-tone="warning"] {
16
- border-color: var(--sigvelo-color-warning-border);
15
+ .agent-attention[data-tone="attention"] {
16
+ border-color: var(--sigvelo-color-danger-border);
17
17
  }
18
18
 
19
19
  .agent-attention__header,
@@ -45,9 +45,9 @@
45
45
  background: var(--sigvelo-color-neutral-bg-subtle);
46
46
  }
47
47
 
48
- .agent-attention[data-tone="warning"] .agent-attention__icon {
49
- color: var(--sigvelo-color-warning-text);
50
- background: var(--sigvelo-color-warning-bg-subtle);
48
+ .agent-attention[data-tone="attention"] .agent-attention__icon {
49
+ color: var(--sigvelo-color-danger-text);
50
+ background: var(--sigvelo-color-danger-bg-subtle);
51
51
  }
52
52
 
53
53
  .agent-attention__icon > :is(svg, img) {
@@ -1,14 +1,20 @@
1
1
  .agent-chat {
2
- --agent-chat-content-max-inline-size: 64rem;
3
- --agent-chat-composer-scrim-fade: 2.5rem;
4
-
2
+ /* Hooks, not constants: hosts set --agent-chat-content-max-inline-size or
3
+ --agent-chat-composer-scrim-fade on any ancestor. Declaring them here
4
+ would beat every inherited value, so the defaults live in the fallbacks
5
+ at each use site. */
5
6
  container: agent-chat / inline-size;
6
7
  position: relative;
7
8
  inline-size: 100%;
8
9
  block-size: 100%;
9
10
  min-inline-size: 0;
10
11
  min-block-size: 0;
11
- background-color: var(--sigvelo-color-surface);
12
+ /* The colour the lane rests on. Hosts that seat the conversation on the
13
+ underlay rather than a plane of its own inherit --agent-chat-surface down
14
+ to here, so the composer's scrim dissolves into what is actually behind
15
+ it. Declared as a fallback rather than on .agent-chat itself: a local
16
+ custom property would beat the ancestor's value. */
17
+ background-color: var(--agent-chat-surface, var(--sigvelo-color-surface));
12
18
  color: var(--sigvelo-color-text);
13
19
  font-family: inherit;
14
20
  }
@@ -34,12 +40,15 @@
34
40
  block padding), so the inline gutters land OUTSIDE this size — subtract
35
41
  them from the full-width term or the padding box overflows the viewport
36
42
  and end-aligned user rows hang past the right edge. */
37
- inline-size: min(100% - 2 * var(--sigvelo-spacing-4), var(--agent-chat-content-max-inline-size));
43
+ inline-size: min(
44
+ 100% - 2 * var(--sigvelo-spacing-4),
45
+ var(--agent-chat-content-max-inline-size, 64rem)
46
+ );
38
47
  margin-inline: auto;
39
48
  /* Clearance = composer + its scrim band, so a transcript resting at the
40
49
  bottom never sits inside the fade. */
41
50
  padding-block: var(--message-scroller-virtual-block-start)
42
- calc(var(--agent-chat-composer-size, 5rem) + var(--agent-chat-composer-scrim-fade));
51
+ calc(var(--agent-chat-composer-size, 5rem) + var(--agent-chat-composer-scrim-fade, 2.5rem));
43
52
  padding-inline: var(--sigvelo-spacing-4);
44
53
  }
45
54
 
@@ -89,7 +98,7 @@
89
98
 
90
99
  display: grid;
91
100
  grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
92
- inline-size: min(100%, var(--agent-chat-content-max-inline-size));
101
+ inline-size: min(100%, var(--agent-chat-content-max-inline-size, 64rem));
93
102
  min-block-size: 100%;
94
103
  margin-inline: auto;
95
104
  padding-block: max(var(--agent-chat-start-screen-padding-block), env(safe-area-inset-top, 0px))
@@ -360,24 +369,25 @@
360
369
  position: absolute;
361
370
  z-index: -1;
362
371
  inset: 0;
363
- inset-block-start: calc(-1 * var(--agent-chat-composer-scrim-fade));
372
+ inset-block-start: calc(-1 * var(--agent-chat-composer-scrim-fade, 2.5rem));
364
373
  content: "";
365
374
  pointer-events: none;
366
375
  background: linear-gradient(
367
376
  to bottom,
368
377
  transparent,
369
- var(--sigvelo-color-surface) var(--agent-chat-composer-scrim-fade)
378
+ var(--agent-chat-surface, var(--sigvelo-color-surface))
379
+ var(--agent-chat-composer-scrim-fade, 2.5rem)
370
380
  );
371
381
  }
372
382
 
373
383
  .agent-chat__composer > .prompt-input {
374
384
  z-index: 1;
375
- inline-size: min(100%, var(--agent-chat-content-max-inline-size));
385
+ inline-size: min(100%, var(--agent-chat-content-max-inline-size, 64rem));
376
386
  margin-inline: auto;
377
387
  padding-block: var(--sigvelo-spacing-3);
378
388
  }
379
389
 
380
- /* Transient status pill between transcript and composer (recovery, errors). */
390
+ /* Transient status between transcript and composer (recovery, errors). */
381
391
  .agent-chat__notice {
382
392
  display: flex;
383
393
  align-items: center;
@@ -397,7 +407,7 @@
397
407
  flex-direction: column;
398
408
  align-items: stretch;
399
409
  inline-size: calc(
400
- min(100%, var(--agent-chat-content-max-inline-size)) - var(--sigvelo-spacing-10)
410
+ min(100%, var(--agent-chat-content-max-inline-size, 64rem)) - var(--sigvelo-spacing-10)
401
411
  );
402
412
  margin-inline: auto;
403
413
  }
@@ -528,6 +538,31 @@
528
538
  spare pixels under it. Only the height query below drops the centring, and
529
539
  only where there is genuinely no room for it. */
530
540
  @container agent-chat (width <= 36rem) {
541
+ .agent-chat__transcript-content {
542
+ /* A notch pushes the first row down only as far as it must: the desktop
543
+ inset already clears shallow insets, so only deeper ones add height. */
544
+ --message-scroller-virtual-block-start: max(
545
+ var(--sigvelo-spacing-8),
546
+ calc(var(--sigvelo-spacing-5) + env(safe-area-inset-top, 0px))
547
+ );
548
+
549
+ inline-size: min(
550
+ 100% - 2 * var(--sigvelo-spacing-3),
551
+ var(--agent-chat-content-max-inline-size, 64rem)
552
+ );
553
+ padding-inline: var(--sigvelo-spacing-3);
554
+ }
555
+
556
+ .agent-chat .message[data-from="assistant"] .message__content {
557
+ inline-size: 100%;
558
+ }
559
+
560
+ .agent-chat__composer {
561
+ padding-block-end: max(var(--sigvelo-spacing-4), env(safe-area-inset-bottom, 0px));
562
+ padding-inline: max(var(--sigvelo-spacing-3), env(safe-area-inset-left, 0px))
563
+ max(var(--sigvelo-spacing-3), env(safe-area-inset-right, 0px));
564
+ }
565
+
531
566
  .agent-chat-start-screen__content {
532
567
  --agent-chat-start-screen-padding-block: var(--sigvelo-spacing-5);
533
568
  }
@@ -1,6 +1,6 @@
1
1
  .agent-tool-detail {
2
2
  display: grid;
3
- grid-template-rows: auto auto minmax(0, 1fr) auto;
3
+ grid-template-rows: auto auto minmax(0, 1fr);
4
4
  min-inline-size: 0;
5
5
  block-size: 100%;
6
6
  background-color: var(--sigvelo-color-surface);
@@ -47,18 +47,8 @@
47
47
  block-size: 100%;
48
48
  }
49
49
 
50
- .agent-tool-detail > .subagent-run__actions {
51
- grid-row: 4;
52
- display: flex;
53
- justify-content: center;
54
- padding: var(--sigvelo-spacing-2) var(--sigvelo-spacing-3);
55
- border-block-start: var(--sigvelo-border-width) var(--sigvelo-border-style)
56
- var(--sigvelo-color-neutral-border-subtle);
57
- }
58
-
59
50
  @media (forced-colors: active) {
60
- .agent-tool-detail__run-state,
61
- .agent-tool-detail > .subagent-run__actions {
51
+ .agent-tool-detail__run-state {
62
52
  border-color: CanvasText;
63
53
  }
64
54
  }
@@ -1,3 +1,6 @@
1
+ /* A mark sits flat on whatever canvas hosts it — the tile never paints its
2
+ own background. Elevation is a drop shadow that follows the mark's own
3
+ silhouette, so a transparent favicon casts its shape, not an invisible box. */
1
4
  .avatar.app-icon {
2
5
  --sigvelo-recipe-app-icon-size: var(--sigvelo-spacing-8);
3
6
  --sigvelo-recipe-app-icon-radius: 30%;
@@ -11,10 +14,11 @@
11
14
  flex: none;
12
15
  overflow: hidden;
13
16
  border-radius: var(--sigvelo-recipe-app-icon-radius);
14
- background: var(--sigvelo-color-surface-raised);
15
- box-shadow: 0 var(--sigvelo-spacing-1) var(--sigvelo-spacing-4)
16
- color-mix(in oklab, transparent, var(--sigvelo-color-shadow) 5%);
17
- corner-shape: round;
17
+ background: transparent;
18
+ filter: drop-shadow(
19
+ 0 var(--sigvelo-border-width) var(--sigvelo-spacing-0-5)
20
+ color-mix(in oklab, transparent, var(--sigvelo-color-shadow) 25%)
21
+ );
18
22
  user-select: none;
19
23
  }
20
24
 
@@ -40,24 +44,15 @@
40
44
  padding: var(--sigvelo-spacing-2);
41
45
  }
42
46
 
43
- .app-icon[data-app-icon-variant="surface"] {
44
- background: var(--sigvelo-color-surface-raised);
45
- }
47
+ /* The surface variant keeps only the inset; the mark stays flat on the canvas. */
46
48
 
47
49
  .app-icon[data-app-icon-variant="contrast"] {
48
50
  background: var(--sigvelo-color-primary-bg);
49
51
  color: var(--sigvelo-color-primary-text-on-bg);
50
52
  }
51
53
 
52
- .app-icon::after {
53
- position: absolute;
54
- inset: 0;
55
- border-radius: inherit;
56
- box-shadow: inset 0 0 0 var(--sigvelo-border-width-hairline)
57
- color-mix(in oklab, transparent, var(--sigvelo-color-shadow) 10%);
58
- content: "";
59
- pointer-events: none;
60
- }
54
+ /* Full-bleed artwork brings its own edges; a hairline ring around a flat
55
+ transparent mark would outline an invisible box, so no variant draws one. */
61
56
 
62
57
  .app-icon__image,
63
58
  .app-icon__fallback,
@@ -80,7 +75,7 @@
80
75
  align-items: center;
81
76
  justify-content: center;
82
77
  border-radius: inherit;
83
- background: var(--sigvelo-color-surface-raised);
78
+ background: transparent;
84
79
  color: var(--sigvelo-color-text-muted);
85
80
  font-size: var(--sigvelo-text-xs);
86
81
  font-weight: var(--sigvelo-font-weight-semibold);
@@ -94,7 +89,6 @@
94
89
  .app-icon-stack {
95
90
  display: inline-flex;
96
91
  align-items: center;
97
- block-size: 0;
98
92
  isolation: isolate;
99
93
  }
100
94
 
@@ -1,12 +1,19 @@
1
1
  .app-top-bar {
2
- --app-top-bar-block-size: calc(
3
- var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2)
4
- );
5
-
6
2
  box-sizing: border-box;
7
3
  inline-size: 100%;
8
4
  min-inline-size: 0;
9
- min-block-size: calc(var(--app-top-bar-block-size) + env(safe-area-inset-top, 0px));
5
+ /* Hooks, not constants: declaring either here would beat every inherited
6
+ value, so the defaults live in the fallbacks. Hosts set
7
+ --app-top-bar-block-size on any ancestor to size every bar in a region at
8
+ once; the bar adds the safe-area inset itself, so the hook stays a plain
9
+ content height. */
10
+ min-block-size: calc(
11
+ var(
12
+ --app-top-bar-block-size,
13
+ calc(var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2))
14
+ ) +
15
+ env(safe-area-inset-top, 0px)
16
+ );
10
17
  display: grid;
11
18
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
12
19
  align-items: center;
@@ -17,7 +24,9 @@
17
24
  calc(var(--sigvelo-spacing-2) + env(safe-area-inset-right, 0px));
18
25
  border: 0;
19
26
  border-radius: 0;
20
- background: var(--sigvelo-color-surface);
27
+ /* No surface of its own: the bar occupies a layout row, so whatever plane
28
+ it sits on shows through and can never disagree with it. */
29
+ background: transparent;
21
30
  }
22
31
 
23
32
  .app-top-bar__leading,
@@ -48,6 +57,23 @@
48
57
  justify-self: end;
49
58
  }
50
59
 
60
+ /* A panel header, not an application title bar: the symmetric track layout
61
+ would float the name in the middle of the plane instead of labelling its
62
+ leading edge. Only the trailing group still needs room of its own.
63
+ Panel chrome also sits atop scrolling content, so it separates the Ploy
64
+ way — one hairline and a breath of shadow, still no fill. */
65
+ .app-top-bar[data-title-align="start"] {
66
+ position: relative;
67
+ grid-template-columns: auto auto minmax(0, 1fr);
68
+ border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
69
+ var(--sigvelo-color-neutral-border-subtle);
70
+ box-shadow: var(--sigvelo-elevation-bar);
71
+ }
72
+
73
+ .app-top-bar[data-title-align="start"] .app-top-bar__title {
74
+ justify-self: start;
75
+ }
76
+
51
77
  .app-top-bar__button {
52
78
  box-sizing: border-box;
53
79
  flex: 0 0 auto;
@@ -1,6 +1,5 @@
1
1
  .avatar {
2
2
  --sigvelo-recipe-avatar-size: var(--sigvelo-control-height-sm);
3
- --sigvelo-recipe-avatar-badge-size: var(--sigvelo-spacing-2-5);
4
3
 
5
4
  position: relative;
6
5
  display: inline-flex;
@@ -12,23 +11,23 @@
12
11
  overflow: hidden;
13
12
  font-family: inherit;
14
13
  background-color: var(--sigvelo-color-neutral-bg-subtle);
15
- border-radius: var(--sigvelo-radius-full);
16
14
  user-select: none;
17
15
  }
18
16
 
17
+ .avatar[data-shape="circle"] {
18
+ border-radius: var(--sigvelo-radius-full);
19
+ }
20
+
19
21
  .avatar[data-size="sm"] {
20
22
  --sigvelo-recipe-avatar-size: var(--sigvelo-spacing-6);
21
- --sigvelo-recipe-avatar-badge-size: var(--sigvelo-spacing-2);
22
23
  }
23
24
 
24
25
  .avatar[data-size="lg"] {
25
26
  --sigvelo-recipe-avatar-size: var(--sigvelo-control-height-lg);
26
- --sigvelo-recipe-avatar-badge-size: var(--sigvelo-spacing-3);
27
27
  }
28
28
 
29
29
  .avatar[data-size="xl"] {
30
30
  --sigvelo-recipe-avatar-size: var(--sigvelo-spacing-14);
31
- --sigvelo-recipe-avatar-badge-size: var(--sigvelo-spacing-4);
32
31
  }
33
32
 
34
33
  .avatar[data-shape="rounded"] {
@@ -68,7 +67,7 @@
68
67
  color: var(--sigvelo-color-text-muted);
69
68
  text-transform: uppercase;
70
69
  background-color: var(--sigvelo-color-neutral-bg-subtle);
71
- border-radius: var(--sigvelo-radius-full);
70
+ border-radius: inherit;
72
71
  }
73
72
 
74
73
  .avatar[data-size="sm"] .avatar__fallback {
@@ -89,8 +88,7 @@
89
88
  margin-inline-start: 0;
90
89
  }
91
90
 
92
- .avatar-group__count,
93
- .avatar__badge {
91
+ .avatar-group__count {
94
92
  display: inline-flex;
95
93
  align-items: center;
96
94
  justify-content: center;
@@ -122,17 +120,3 @@
122
120
  .avatar-group:has(.avatar[data-size="lg"]) .avatar-group__count {
123
121
  --sigvelo-recipe-avatar-count-size: var(--sigvelo-control-height-lg);
124
122
  }
125
-
126
- .avatar__badge {
127
- position: absolute;
128
- inset-inline-end: 0;
129
- inset-block-end: 0;
130
- z-index: 10;
131
- inline-size: var(--sigvelo-recipe-avatar-badge-size);
132
- block-size: var(--sigvelo-recipe-avatar-badge-size);
133
- color: var(--sigvelo-color-primary-text-on-bg);
134
- background-color: var(--sigvelo-color-primary-bg);
135
- border: 2px solid var(--sigvelo-color-canvas);
136
- border-radius: var(--sigvelo-radius-full);
137
- user-select: none;
138
- }
@@ -33,15 +33,9 @@
33
33
 
34
34
  /* sigvelo-pill-shapes:start */
35
35
  :where(
36
- .agent-activity-preview__badge,
37
- .agent-activity-preview__dismiss,
38
- .agent-activity-preview__unviewed-dot,
39
36
  .approval__key,
40
- .avatar,
37
+ .avatar[data-shape="circle"],
41
38
  .avatar-group__count,
42
- .avatar__badge,
43
- .avatar__fallback,
44
- .badge,
45
39
  .browser-run-panel__tab-glyph,
46
40
  .chain-of-thought__search-result,
47
41
  .chain-of-thought__step-indicator,
@@ -50,6 +44,7 @@
50
44
  .empty-state__icon,
51
45
  .inline-citation__trigger,
52
46
  .media-preview-card__play,
47
+ .manager-office__unread-dot,
53
48
  .menu__radio-indicator::before,
54
49
  .message-scroller__button,
55
50
  .plan-summary__trigger,
@@ -68,7 +63,6 @@
68
63
  .slider__indicator,
69
64
  .slider__thumb,
70
65
  .slider__track,
71
- .status-pill__dot,
72
66
  .stepper__indicator,
73
67
  .stepper__separator,
74
68
  .stepper__trigger,
@@ -0,0 +1,38 @@
1
+ .browser-live-screen__input {
2
+ position: absolute;
3
+ inset: 0;
4
+ box-sizing: border-box;
5
+ inline-size: 100%;
6
+ block-size: 100%;
7
+ overflow: hidden;
8
+ resize: none;
9
+ border: 0;
10
+ padding: 0;
11
+ appearance: none;
12
+ background: transparent;
13
+ caret-color: transparent;
14
+ color: transparent;
15
+ cursor: default;
16
+ touch-action: none;
17
+ }
18
+
19
+ .browser-live-screen__input:focus-visible {
20
+ outline: none;
21
+ box-shadow: var(--sigvelo-recipe-focus-shadow-inset);
22
+ }
23
+
24
+ .browser-live-screen__keyboard {
25
+ display: none;
26
+ position: absolute;
27
+ inset-block-end: var(--sigvelo-spacing-2);
28
+ inset-inline-end: var(--sigvelo-spacing-2);
29
+ z-index: 1;
30
+ background-color: var(--sigvelo-color-surface-raised);
31
+ box-shadow: var(--sigvelo-elevation-floating);
32
+ }
33
+
34
+ @media (pointer: coarse) {
35
+ .browser-live-screen__keyboard {
36
+ display: inline-flex;
37
+ }
38
+ }
@@ -39,17 +39,25 @@
39
39
  opacity: 1;
40
40
  }
41
41
 
42
- /* The chip itself is the library StatusPill (sm/destructive/busy) — only the
43
- overlay placement lives here. */
44
- .browser-live-view__badge {
42
+ .browser-live-view__status {
45
43
  position: absolute;
46
44
  inset-block-start: var(--sigvelo-spacing-2);
47
45
  inset-inline-end: var(--sigvelo-spacing-2);
48
46
  z-index: 1;
49
- box-shadow: var(--sigvelo-elevation-raised);
47
+ display: inline-flex;
48
+ align-items: center;
49
+ gap: var(--sigvelo-spacing-1);
50
+ color: var(--sigvelo-color-danger-text);
51
+ font-size: var(--sigvelo-text-xs);
52
+ font-weight: var(--sigvelo-font-weight-semibold);
50
53
  pointer-events: none;
51
54
  }
52
55
 
56
+ .browser-live-view__status > svg {
57
+ inline-size: var(--sigvelo-control-icon-size-sm);
58
+ block-size: var(--sigvelo-control-icon-size-sm);
59
+ }
60
+
53
61
  /* Ended state: quiet fill, same footprint so the layout never jumps */
54
62
  .browser-live-view__ended {
55
63
  display: flex;
@@ -2,15 +2,18 @@
2
2
  min-inline-size: 0;
3
3
  min-block-size: 0;
4
4
  block-size: 100%;
5
+ border: 0;
6
+ border-radius: 0;
5
7
  }
6
8
 
9
+ /* The tab strip and the address row are one chrome group: only the bottom
10
+ row draws the group's edge. */
7
11
  .browser-run-panel .web-preview__nav:has(.browser-run-panel__tabs) {
8
- min-block-size: var(--sigvelo-spacing-12);
9
12
  gap: 0;
10
13
  padding-block: 0;
11
14
  padding-inline: var(--sigvelo-spacing-1-5);
12
15
  border-block-end: 0;
13
- background: var(--sigvelo-color-canvas);
16
+ box-shadow: none;
14
17
  }
15
18
 
16
19
  .browser-run-panel__tabs {
@@ -29,20 +32,27 @@
29
32
  display: none;
30
33
  }
31
34
 
32
- .browser-run-panel__tab.button {
35
+ /* Not drawn browser chrome: a tab is the same muted control as every other
36
+ row in the card's bar, selection the same subtle fill. */
37
+ .browser-run-panel__tab {
33
38
  min-inline-size: min(11rem, 45vw);
34
- min-block-size: var(--sigvelo-control-height-xl);
35
39
  max-inline-size: 13rem;
40
+ min-block-size: var(--sigvelo-control-height-sm);
36
41
  flex: 0 0 auto;
37
42
  gap: var(--sigvelo-spacing-2);
38
- padding-inline: var(--sigvelo-spacing-3);
39
- border-radius: var(--sigvelo-radius-md) var(--sigvelo-radius-md) 0 0;
43
+ padding-inline: var(--sigvelo-spacing-2);
44
+ border-radius: var(--sigvelo-radius-sm);
40
45
  text-align: start;
41
46
  white-space: nowrap;
42
47
  }
43
48
 
49
+ .browser-run-panel__tab:hover:not([data-disabled]) {
50
+ background-color: color-mix(in oklab, transparent, var(--sigvelo-color-text) 5%);
51
+ }
52
+
44
53
  .browser-run-panel__tab[data-active] {
45
- background: var(--sigvelo-color-surface);
54
+ border-block-end-color: transparent;
55
+ background: var(--sigvelo-color-neutral-bg-subtle);
46
56
  color: var(--sigvelo-color-text);
47
57
  }
48
58
 
@@ -66,24 +76,16 @@
66
76
  line-height: var(--sigvelo-leading-tight);
67
77
  }
68
78
 
69
- .browser-run-panel__address-bar {
70
- min-block-size: var(--sigvelo-spacing-12);
71
- background: var(--sigvelo-color-surface);
72
- }
73
-
74
79
  .browser-run-panel .browser-run-panel__body {
75
80
  min-block-size: 0;
76
81
  display: flex;
77
- padding: var(--sigvelo-spacing-2-5);
82
+ padding: 0;
78
83
  }
79
84
 
80
- /* Whichever live surface the body holds the panel's own embedded view or a
81
- * host-fed stream fills the frame the same way. */
82
- .browser-run-panel__body > .browser-live-view {
85
+ /* The panel owns the space allotted to whichever direct surface it hosts. */
86
+ .browser-run-panel__body > * {
83
87
  flex: 1;
84
88
  min-block-size: 16rem;
85
- aspect-ratio: auto;
86
- border-radius: var(--sigvelo-radius-md);
87
89
  }
88
90
 
89
91
  .browser-run-panel__state {
@@ -1,7 +1,4 @@
1
1
  .chatgpt-sign-in {
2
- --chatgpt-sign-in-pointer-x: 50%;
3
- --chatgpt-sign-in-pointer-y: 58%;
4
-
5
2
  position: relative;
6
3
  isolation: isolate;
7
4
  overflow-x: hidden;
@@ -33,14 +30,17 @@
33
30
  position: absolute;
34
31
  z-index: 0;
35
32
  inset: 0;
33
+ /* The pointer position arrives as an inline style from the component's own
34
+ mousemove handler; the fallbacks are only the resting spot before the
35
+ first move. */
36
36
  background:
37
37
  radial-gradient(
38
- circle at var(--chatgpt-sign-in-pointer-x) var(--chatgpt-sign-in-pointer-y),
38
+ circle at var(--chatgpt-sign-in-pointer-x, 50%) var(--chatgpt-sign-in-pointer-y, 58%),
39
39
  color-mix(in oklab, var(--sigvelo-color-primary-bg), transparent 72%),
40
40
  transparent 12rem
41
41
  ),
42
42
  radial-gradient(
43
- circle at var(--chatgpt-sign-in-pointer-x) var(--chatgpt-sign-in-pointer-y),
43
+ circle at var(--chatgpt-sign-in-pointer-x, 50%) var(--chatgpt-sign-in-pointer-y, 58%),
44
44
  color-mix(in oklab, var(--sigvelo-color-primary-bg-muted), transparent 86%),
45
45
  transparent 18rem
46
46
  );