@mcp-b/react-components 0.38.0 → 0.40.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.
- package/dist/{CodeBlock-DO4Hdu1R.js → CodeBlock-CWk1FVtm.js} +1 -1
- package/dist/{FileTree-DbQMpvxV.js → FileTree-xqHYBw4g.js} +1 -1
- package/dist/{WorkspaceFileView-DeGzWwhK.js → WorkspaceFileView-Lab3om3F.js} +2 -2
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentActivityPreview.js +1 -1
- package/dist/components/agents-sdk/AgentChat.js +7 -7
- package/dist/components/agents-sdk/BrowserLiveView.d.ts +73 -25
- package/dist/components/agents-sdk/BrowserLiveView.js +95 -65
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.d.ts +72 -25
- package/dist/components/agents-sdk/BrowserRunPanel.js +109 -62
- package/dist/components/agents-sdk/McpConnectionRequest.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.js +1 -1
- package/dist/components/agents-sdk/McpServerPicker.js +1 -1
- package/dist/components/agents-sdk/ModelSelector.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +1 -1
- package/dist/components/agents-sdk/ThinkFullApp.js +8 -7
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineLibrary.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.js +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +1 -1
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/Approval.js +1 -1
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
- package/dist/components/ai-sdk/ChainOfThought.js +1 -1
- package/dist/components/ai-sdk/Checkpoint.js +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/Conversation.js +1 -1
- package/dist/components/ai-sdk/Goal.js +1 -1
- package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
- package/dist/components/ai-sdk/Message.js +1 -1
- package/dist/components/ai-sdk/MessageScroller.js +1 -1
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +1 -1
- package/dist/components/ai-sdk/Queue.js +1 -1
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.js +1 -1
- package/dist/components/extension/ChatGptSignInScreen.d.ts +21 -10
- package/dist/components/extension/ChatGptSignInScreen.js +42 -34
- package/dist/components/extension/CodexModelSelector.js +1 -1
- package/dist/components/extension/ConversationTabPicker.js +1 -1
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/EmptyState.d.ts +10 -0
- package/dist/components/foundations/EmptyState.js +10 -0
- package/dist/components/foundations/Menubar.js +1 -1
- package/dist/components/foundations/SearchField.js +1 -1
- package/dist/components/foundations/Select.js +1 -1
- package/dist/components/foundations/Stepper.js +1 -1
- package/dist/components/foundations/Toast.js +1 -1
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingPlanCard.js +1 -1
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.js +2 -2
- package/dist/components/general-purpose/TestResults.js +1 -1
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.js +1 -1
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.js +1 -1
- package/dist/{copy-button-4YvddK4e.js → copy-button-Bc7jsYv_.js} +1 -1
- package/dist/{icons-BGZ916hb.d.ts → icons-DwgNir1Q.d.ts} +6 -1
- package/dist/{icons-B4mGvCvc.js → icons-MmIXciMO.js} +3 -2
- package/dist/styles/agent-chat.css +2 -2
- package/dist/styles/base.css +4 -0
- package/dist/styles/browser-live-view.css +45 -0
- package/dist/styles/browser-run-panel.css +3 -1
- package/dist/styles/chatgpt-sign-in-screen.css +6 -0
- package/dist/styles/think-full-app.css +14 -0
- package/package.json +2 -2
|
@@ -7,26 +7,37 @@ interface ChatGptSignInSecondaryAction {
|
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
}
|
|
9
9
|
interface ChatGptSignInScreenProps extends React.HTMLAttributes<HTMLElement> {
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/** Main heading shown above the sign-in button. */
|
|
10
|
+
/**
|
|
11
|
+
* Why sign-in failed, announced under the sign-in control. Truthy also
|
|
12
|
+
* puts the built-in button in its error color.
|
|
13
|
+
*/
|
|
14
|
+
error?: React.ReactNode;
|
|
15
|
+
/** Main heading shown above the sign-in control. */
|
|
17
16
|
title?: string;
|
|
18
17
|
/** Brand name displayed under the heading. */
|
|
19
18
|
brandName?: string;
|
|
20
19
|
/** Brand mark displayed next to the brand name. */
|
|
21
20
|
brandLogo?: React.ReactNode;
|
|
22
|
-
/** Called when the user clicks the sign-in action. */
|
|
23
|
-
onSignIn?: () => void;
|
|
24
21
|
/** Optional app-owned alternative rendered in the shared full-screen layout. */
|
|
25
22
|
secondaryAction?: ChatGptSignInSecondaryAction;
|
|
23
|
+
/**
|
|
24
|
+
* A sign-in control the host must own — a Google Identity Services button
|
|
25
|
+
* renders its own DOM and may not be restyled, so the screen seats it where
|
|
26
|
+
* its button would sit instead of drawing one. When set, `busy`, `label`,
|
|
27
|
+
* and `onSignIn` are unused.
|
|
28
|
+
*/
|
|
29
|
+
control?: React.ReactNode;
|
|
30
|
+
/** Whether the sign-in request is currently opening the provider. */
|
|
31
|
+
busy?: boolean;
|
|
32
|
+
/** Button label for the sign-in action. */
|
|
33
|
+
label?: string;
|
|
34
|
+
/** Called when the user clicks the sign-in action. */
|
|
35
|
+
onSignIn?: () => void;
|
|
26
36
|
}
|
|
27
|
-
/** Full-screen
|
|
37
|
+
/** Full-screen provider authentication prompt for MCP-B onboarding. */
|
|
28
38
|
declare function ChatGptSignInScreen({
|
|
29
39
|
busy,
|
|
40
|
+
control,
|
|
30
41
|
error,
|
|
31
42
|
label,
|
|
32
43
|
title,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as ProviderLogo } from "../../provider-logos-zjZycgV6.js";
|
|
5
5
|
import "react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/extension/ChatGptSignInScreen.tsx
|
|
8
|
-
/** Full-screen
|
|
9
|
-
function ChatGptSignInScreen({ busy = false, error
|
|
8
|
+
/** Full-screen provider authentication prompt for MCP-B onboarding. */
|
|
9
|
+
function ChatGptSignInScreen({ busy = false, control, error, label = "Sign in with ChatGPT", title = "Welcome to MCP-B", brandName = "SigVelo", brandLogo = /* @__PURE__ */ jsx(SigVeloMark, {}), className, onPointerLeave, onPointerMove, onSignIn, secondaryAction, ref, ...props }) {
|
|
10
10
|
const handlePointerMove = (event) => {
|
|
11
11
|
onPointerMove?.(event);
|
|
12
12
|
setPointerPosition(event.currentTarget, event, "chatgpt-sign-in-pointer");
|
|
@@ -25,37 +25,45 @@ function ChatGptSignInScreen({ busy = false, error = false, label = "Sign in wit
|
|
|
25
25
|
...props,
|
|
26
26
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
27
27
|
className: "chatgpt-sign-in__panel",
|
|
28
|
-
children: [
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
children:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
28
|
+
children: [
|
|
29
|
+
/* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: "chatgpt-sign-in__brand",
|
|
31
|
+
children: [/* @__PURE__ */ jsx("h1", { children: title }), /* @__PURE__ */ jsxs("p", { children: [
|
|
32
|
+
"by ",
|
|
33
|
+
brandLogo ? /* @__PURE__ */ jsx("span", {
|
|
34
|
+
className: "chatgpt-sign-in__brand-mark",
|
|
35
|
+
children: brandLogo
|
|
36
|
+
}) : null,
|
|
37
|
+
/* @__PURE__ */ jsx("span", { children: brandName })
|
|
38
|
+
] })]
|
|
39
|
+
}),
|
|
40
|
+
control ?? /* @__PURE__ */ jsxs(Button, {
|
|
41
|
+
type: "button",
|
|
42
|
+
variant: "normal",
|
|
43
|
+
color: error ? "destructive" : "primary",
|
|
44
|
+
size: "sm",
|
|
45
|
+
className: "chatgpt-sign-in__button",
|
|
46
|
+
"data-busy": busy ? "true" : void 0,
|
|
47
|
+
disabled: busy,
|
|
48
|
+
onClick: onSignIn,
|
|
49
|
+
onPointerMove: handleSignInButtonPointerMove,
|
|
50
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
51
|
+
className: "chatgpt-sign-in__button-icon",
|
|
52
|
+
children: busy ? /* @__PURE__ */ jsx(SpinnerIcon, { size: 16 }) : /* @__PURE__ */ jsx(ProviderLogo, {
|
|
53
|
+
provider: "openai",
|
|
54
|
+
className: "chatgpt-sign-in__logo"
|
|
55
|
+
})
|
|
56
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
57
|
+
className: "chatgpt-sign-in__button-label",
|
|
58
|
+
children: label
|
|
59
|
+
})]
|
|
60
|
+
}),
|
|
61
|
+
error ? /* @__PURE__ */ jsx("p", {
|
|
62
|
+
role: "alert",
|
|
63
|
+
className: "chatgpt-sign-in__error",
|
|
64
|
+
children: error
|
|
65
|
+
}) : null
|
|
66
|
+
]
|
|
59
67
|
}), secondaryAction ? /* @__PURE__ */ jsx("div", {
|
|
60
68
|
className: "chatgpt-sign-in__secondary-action",
|
|
61
69
|
children: /* @__PURE__ */ jsx(Button, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { G as RefreshIcon, d as CheckIcon, f as ChevronDownIcon, l as BrainIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Tooltip } from "../foundations/Tooltip.js";
|
|
4
4
|
import { Menu } from "../foundations/Menu.js";
|
|
5
5
|
import { o as titleCase } from "../../format-DB2mX9DA.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
2
2
|
import { Button } from "../foundations/Button.js";
|
|
3
3
|
import { Menu } from "../foundations/Menu.js";
|
|
4
4
|
import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { d as CheckIcon } from "../../icons-
|
|
2
|
+
import { d as CheckIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
|
|
5
5
|
//#region src/components/foundations/Checkbox.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { d as CheckIcon, v as DotIcon } from "../../icons-
|
|
2
|
+
import { d as CheckIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { ContextMenu as ContextMenu$1 } from "@base-ui/react/context-menu";
|
|
@@ -21,10 +21,20 @@ interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "ti
|
|
|
21
21
|
* `children` land under the description, for the action that makes the region
|
|
22
22
|
* non-empty.
|
|
23
23
|
*
|
|
24
|
+
* A region waiting on data is empty too, and this is the shape for it:
|
|
25
|
+
* `icon={<SpinnerIcon />}` with a description of what is being waited on, in a
|
|
26
|
+
* `role="status"` container. The description is not optional there —
|
|
27
|
+
* `prefers-reduced-motion` stops the spinner outright, so an icon on its own
|
|
28
|
+
* leaves a still circle and no way to tell loading from broken.
|
|
29
|
+
*
|
|
24
30
|
* @example
|
|
25
31
|
* ```tsx
|
|
26
32
|
* <EmptyState description="No runs yet." />
|
|
27
33
|
*
|
|
34
|
+
* <div role="status">
|
|
35
|
+
* <EmptyState icon={<SpinnerIcon />} description="Loading conversation" />
|
|
36
|
+
* </div>
|
|
37
|
+
*
|
|
28
38
|
* <EmptyState
|
|
29
39
|
* icon={<MessageIcon />}
|
|
30
40
|
* title="Start a conversation"
|
|
@@ -14,10 +14,20 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
* `children` land under the description, for the action that makes the region
|
|
15
15
|
* non-empty.
|
|
16
16
|
*
|
|
17
|
+
* A region waiting on data is empty too, and this is the shape for it:
|
|
18
|
+
* `icon={<SpinnerIcon />}` with a description of what is being waited on, in a
|
|
19
|
+
* `role="status"` container. The description is not optional there —
|
|
20
|
+
* `prefers-reduced-motion` stops the spinner outright, so an icon on its own
|
|
21
|
+
* leaves a still circle and no way to tell loading from broken.
|
|
22
|
+
*
|
|
17
23
|
* @example
|
|
18
24
|
* ```tsx
|
|
19
25
|
* <EmptyState description="No runs yet." />
|
|
20
26
|
*
|
|
27
|
+
* <div role="status">
|
|
28
|
+
* <EmptyState icon={<SpinnerIcon />} description="Loading conversation" />
|
|
29
|
+
* </div>
|
|
30
|
+
*
|
|
21
31
|
* <EmptyState
|
|
22
32
|
* icon={<MessageIcon />}
|
|
23
33
|
* title="Start a conversation"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { d as CheckIcon, v as DotIcon } from "../../icons-
|
|
2
|
+
import { d as CheckIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "./Button.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { K as SearchIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Field } from "./Field.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/foundations/SearchField.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { a as ArrowUpIcon, d as CheckIcon, n as ArrowDownIcon } from "../../icons-
|
|
2
|
+
import { a as ArrowUpIcon, d as CheckIcon, n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { Select as Select$1 } from "@base-ui/react/select";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon, d as CheckIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Tabs } from "./Tabs.js";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { it as XIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "./Button.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, BrandIconProps, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, IconProps, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
1
|
+
import { $ as StopIcon, A as InfoIcon, B as MoveToFrontIcon, C as EyeOffIcon, D as HashIcon, E as FolderOpenIcon, F as MessageSquareIcon, G as PlusIcon, H as PauseIcon, I as MicrophoneIcon, J as SearchIcon, K as QueueIcon, L as MinusIcon, M as LinkIcon, N as MaximizeIcon, O as IconProps, P as McpIcon, Q as SquareIcon, R as MonitorIcon, S as EyeIcon, T as FolderIcon, U as PencilIcon, V as PaperclipIcon, W as PlayIcon, X as SlackIcon, Y as SidebarIcon, Z as SpinnerIcon, _ as CopyIcon, a as ArrowUpIcon, at as WrenchIcon, b as DownloadIcon, c as BoxIcon, d as CalendarIcon, et as SunIcon, f as CheckIcon, g as CodeIcon, h as ChevronRightIcon, i as ArrowRightIcon, it as WarningIcon, j as KeyboardIcon, k as ImageIcon, l as BrainIcon, m as ChevronLeftIcon, n as ArrowDownIcon, nt as TerminalIcon, o as ArrowUpRightIcon, ot as XIcon, p as ChevronDownIcon, q as RefreshIcon, r as ArrowLeftIcon, rt as TrashIcon, s as BookmarkIcon, t as ArchiveIcon, tt as TargetIcon, u as BrandIconProps, v as DiscordIcon, w as FileIcon, x as EllipsisIcon, y as DotIcon, z as MoonIcon } from "../../icons-DwgNir1Q.js";
|
|
2
|
+
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, BrandIconProps, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, IconProps, ImageIcon, InfoIcon, KeyboardIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
1
|
+
import { $ as TargetIcon, A as LinkIcon, B as PauseIcon, C as FileIcon, D as ImageIcon, E as HashIcon, F as MinusIcon, G as RefreshIcon, H as PlayIcon, I as MonitorIcon, J as SlackIcon, K as SearchIcon, L as MoonIcon, M as McpIcon, N as MessageSquareIcon, O as InfoIcon, P as MicrophoneIcon, Q as SunIcon, R as MoveToFrontIcon, S as EyeOffIcon, T as FolderOpenIcon, U as PlusIcon, V as PencilIcon, W as QueueIcon, X as SquareIcon, Y as SpinnerIcon, Z as StopIcon, _ as DiscordIcon, a as ArrowUpIcon, b as EllipsisIcon, c as BoxIcon, d as CheckIcon, et as TerminalIcon, f as ChevronDownIcon, g as CopyIcon, h as CodeIcon, i as ArrowRightIcon, it as XIcon, j as MaximizeIcon, k as KeyboardIcon, l as BrainIcon, m as ChevronRightIcon, n as ArrowDownIcon, nt as WarningIcon, o as ArrowUpRightIcon, p as ChevronLeftIcon, q as SidebarIcon, r as ArrowLeftIcon, rt as WrenchIcon, s as BookmarkIcon, t as ArchiveIcon, tt as TrashIcon, u as CalendarIcon, v as DotIcon, w as FolderIcon, x as EyeIcon, y as DownloadIcon, z as PaperclipIcon } from "../../icons-MmIXciMO.js";
|
|
2
|
+
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, ImageIcon, InfoIcon, KeyboardIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import { C as FileIcon, m as ChevronRightIcon } from "../../icons-
|
|
4
|
-
import { t as CopyButton } from "../../copy-button-
|
|
3
|
+
import { C as FileIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
4
|
+
import { t as CopyButton } from "../../copy-button-Bc7jsYv_.js";
|
|
5
5
|
import { Badge } from "../foundations/Badge.js";
|
|
6
6
|
import { Avatar } from "../foundations/Avatar.js";
|
|
7
7
|
import "react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { S as EyeOffIcon, x as EyeIcon } from "../../icons-
|
|
3
|
-
import { t as CopyButton } from "../../copy-button-
|
|
2
|
+
import { S as EyeOffIcon, x as EyeIcon } from "../../icons-MmIXciMO.js";
|
|
3
|
+
import { t as CopyButton } from "../../copy-button-Bc7jsYv_.js";
|
|
4
4
|
import { Badge } from "../foundations/Badge.js";
|
|
5
5
|
import { Switch } from "../foundations/Switch.js";
|
|
6
6
|
import * as React from "react";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../../FileTree-
|
|
1
|
+
import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../../FileTree-xqHYBw4g.js";
|
|
2
2
|
export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { F as MinusIcon, O as InfoIcon, d as CheckIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
5
|
import { Separator } from "../foundations/Separator.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { q as SidebarIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as capitalize } from "../../format-DB2mX9DA.js";
|
|
5
5
|
import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { U as PlusIcon, d as CheckIcon, f as ChevronDownIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Menu } from "../foundations/Menu.js";
|
|
5
5
|
import * as React from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { et as TerminalIcon, it as XIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { IconButton } from "../foundations/IconButton.js";
|
|
4
|
-
import { t as CopyButton } from "../../copy-button-
|
|
4
|
+
import { t as CopyButton } from "../../copy-button-Bc7jsYv_.js";
|
|
5
5
|
import { Badge } from "../foundations/Badge.js";
|
|
6
6
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
7
7
|
import * as React from "react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Y as SpinnerIcon, d as CheckIcon, it as XIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
4
4
|
import { Badge } from "../foundations/Badge.js";
|
|
5
5
|
import { Progress } from "../foundations/Progress.js";
|
|
6
6
|
import * as React from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { I as MonitorIcon, L as MoonIcon, Q as SunIcon } from "../../icons-MmIXciMO.js";
|
|
2
2
|
import { Radio, RadioGroup } from "../foundations/RadioGroup.js";
|
|
3
3
|
import { useTheme } from "../foundations/ThemeProvider.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { G as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-MmIXciMO.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
5
|
import { Badge } from "../foundations/Badge.js";
|
|
6
6
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { A as LinkIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
|
-
import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-
|
|
4
|
+
import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-CWk1FVtm.js";
|
|
5
5
|
import { Popover } from "../foundations/Popover.js";
|
|
6
6
|
import { ToggleGroup } from "../foundations/ToggleGroup.js";
|
|
7
7
|
import * as React from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { r as ArrowLeftIcon } from "../../icons-
|
|
2
|
+
import { r as ArrowLeftIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
4
4
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
5
5
|
import { NaniteMark } from "./NaniteScene.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as CheckIcon, g as CopyIcon } from "./icons-
|
|
1
|
+
import { d as CheckIcon, g as CopyIcon } from "./icons-MmIXciMO.js";
|
|
2
2
|
import { IconButton } from "./components/foundations/IconButton.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -203,6 +203,11 @@ declare const LinkIcon: ({
|
|
|
203
203
|
strokeWidth,
|
|
204
204
|
...props
|
|
205
205
|
}: IconProps) => import("react").JSX.Element;
|
|
206
|
+
declare const KeyboardIcon: ({
|
|
207
|
+
size,
|
|
208
|
+
strokeWidth,
|
|
209
|
+
...props
|
|
210
|
+
}: IconProps) => import("react").JSX.Element;
|
|
206
211
|
declare const QueueIcon: ({
|
|
207
212
|
size,
|
|
208
213
|
strokeWidth,
|
|
@@ -296,4 +301,4 @@ declare const MaximizeIcon: ({
|
|
|
296
301
|
...props
|
|
297
302
|
}: IconProps) => import("react").JSX.Element;
|
|
298
303
|
//#endregion
|
|
299
|
-
export {
|
|
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 };
|
|
@@ -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, 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, 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";
|
|
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
|
|
@@ -72,6 +72,7 @@ const SearchIcon = icon(Search);
|
|
|
72
72
|
const SidebarIcon = icon(PanelLeft);
|
|
73
73
|
const TerminalIcon = icon(Terminal);
|
|
74
74
|
const LinkIcon = icon(Link2);
|
|
75
|
+
const KeyboardIcon = icon(Keyboard);
|
|
75
76
|
const QueueIcon = icon(ListRestart);
|
|
76
77
|
const TrashIcon = icon(Trash2);
|
|
77
78
|
const WarningIcon = icon(TriangleAlert);
|
|
@@ -92,4 +93,4 @@ const SunIcon = icon(Sun);
|
|
|
92
93
|
const TargetIcon = icon(Target);
|
|
93
94
|
const MaximizeIcon = icon(Maximize2);
|
|
94
95
|
//#endregion
|
|
95
|
-
export {
|
|
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 };
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
|
|
60
60
|
/* Takes the whole transcript region, the way the scroller it stands in for
|
|
61
61
|
does, so nothing moves when the rows arrive. The composer floats over its
|
|
62
|
-
lower edge, so the
|
|
62
|
+
lower edge, so the state sits slightly high rather than under it. The
|
|
63
|
+
.empty-state inside brings its own type and colour. */
|
|
63
64
|
.agent-chat__transcript-loading {
|
|
64
65
|
display: grid;
|
|
65
66
|
block-size: 100%;
|
|
66
67
|
min-block-size: 0;
|
|
67
68
|
place-items: center;
|
|
68
69
|
padding-block-end: var(--agent-chat-composer-size, 5rem);
|
|
69
|
-
color: var(--sigvelo-color-text-muted);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.agent-chat[data-composer-hidden] .agent-chat__transcript-loading {
|
package/dist/styles/base.css
CHANGED
|
@@ -135,6 +135,10 @@ body {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
/* A spinner that cannot spin is a circle. Plenty of people — most of them on
|
|
139
|
+
phones — browse with this on, so nothing may rely on the rotation to say
|
|
140
|
+
"still working": pair the icon with text that reads the same either way.
|
|
141
|
+
`.empty-state` is that pairing for a whole region. */
|
|
138
142
|
@media (prefers-reduced-motion: reduce) {
|
|
139
143
|
.sigvelo-icon--spinner {
|
|
140
144
|
animation: none;
|
|
@@ -15,6 +15,18 @@
|
|
|
15
15
|
overflow: hidden;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
/* `fill`: the view is the surface, not a card on it. Nothing sits beside it to
|
|
19
|
+
be separated from, so the aspect box, the hairline and the corners go and the
|
|
20
|
+
frame takes whatever its container gives it. The picture still letterboxes
|
|
21
|
+
inside — `object-fit: contain` further down is what keeps the remote page's
|
|
22
|
+
own proportions honest at any shape. */
|
|
23
|
+
.browser-live-view[data-fill] {
|
|
24
|
+
block-size: 100%;
|
|
25
|
+
aspect-ratio: auto;
|
|
26
|
+
border: 0;
|
|
27
|
+
border-radius: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
18
30
|
.browser-live-view__frame {
|
|
19
31
|
inline-size: 100%;
|
|
20
32
|
block-size: 100%;
|
|
@@ -60,6 +72,20 @@
|
|
|
60
72
|
max-inline-size: 80%;
|
|
61
73
|
}
|
|
62
74
|
|
|
75
|
+
/* Host-drawn media. Styled by element rather than by class so a host that
|
|
76
|
+
renders its own picture into the frame inherits the shape without opting in:
|
|
77
|
+
`contain` keeps the remote viewport's proportions whatever the box is, and
|
|
78
|
+
the letterbox inherits the frame's fill, so a host that recolors the frame
|
|
79
|
+
recolors the bars with it. */
|
|
80
|
+
.browser-live-view video,
|
|
81
|
+
.browser-live-view canvas {
|
|
82
|
+
display: block;
|
|
83
|
+
inline-size: 100%;
|
|
84
|
+
block-size: 100%;
|
|
85
|
+
object-fit: contain;
|
|
86
|
+
background-color: inherit;
|
|
87
|
+
}
|
|
88
|
+
|
|
63
89
|
/* An expired view showing a screenshot fallback keeps the image flush */
|
|
64
90
|
.browser-live-view[data-expired] > img {
|
|
65
91
|
inline-size: 100%;
|
|
@@ -83,6 +109,25 @@
|
|
|
83
109
|
z-index: 1;
|
|
84
110
|
}
|
|
85
111
|
|
|
112
|
+
/* A fault that leaves the picture running: a caption on the frame, opposite
|
|
113
|
+
the expand control, rather than an overlay that would hide what still
|
|
114
|
+
arrives. */
|
|
115
|
+
.browser-live-view__notice {
|
|
116
|
+
position: absolute;
|
|
117
|
+
inset-block-end: var(--sigvelo-spacing-2);
|
|
118
|
+
inset-inline-start: var(--sigvelo-spacing-2);
|
|
119
|
+
z-index: 1;
|
|
120
|
+
max-inline-size: calc(100% - var(--sigvelo-spacing-12));
|
|
121
|
+
margin: 0;
|
|
122
|
+
padding: var(--sigvelo-spacing-1) var(--sigvelo-spacing-2);
|
|
123
|
+
border-radius: var(--sigvelo-radius-md);
|
|
124
|
+
background-color: var(--sigvelo-color-surface-raised);
|
|
125
|
+
box-shadow: var(--sigvelo-elevation-raised);
|
|
126
|
+
color: var(--sigvelo-color-text-muted);
|
|
127
|
+
font-size: var(--sigvelo-text-xs);
|
|
128
|
+
pointer-events: none;
|
|
129
|
+
}
|
|
130
|
+
|
|
86
131
|
/* Expand affordance, video-player style: quiet until the box is hovered or
|
|
87
132
|
the button is focused */
|
|
88
133
|
.browser-live-view__expand {
|
|
@@ -77,7 +77,9 @@
|
|
|
77
77
|
padding: var(--sigvelo-spacing-2-5);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
|
|
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 {
|
|
81
83
|
flex: 1;
|
|
82
84
|
min-block-size: 16rem;
|
|
83
85
|
aspect-ratio: auto;
|
|
@@ -70,6 +70,12 @@
|
|
|
70
70
|
margin-block-start: var(--sigvelo-spacing-4);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
.chatgpt-sign-in__error {
|
|
74
|
+
margin: 0;
|
|
75
|
+
color: var(--sigvelo-color-text-muted);
|
|
76
|
+
font-size: var(--sigvelo-text-sm);
|
|
77
|
+
}
|
|
78
|
+
|
|
73
79
|
.chatgpt-sign-in__brand {
|
|
74
80
|
display: grid;
|
|
75
81
|
gap: var(--sigvelo-spacing-1-5);
|
|
@@ -158,6 +158,12 @@ body.is-resizing-side-panel .think-full-app__view-scope {
|
|
|
158
158
|
);
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
/* The panel stands in for itself while its first read is in flight, so the
|
|
162
|
+
waiting state sits where the content will rather than in the top corner. */
|
|
163
|
+
.think-full-app__workbench--loading {
|
|
164
|
+
justify-content: center;
|
|
165
|
+
}
|
|
166
|
+
|
|
161
167
|
.think-full-app__workbench.workspace-explorer {
|
|
162
168
|
border: 0;
|
|
163
169
|
border-radius: 0;
|
|
@@ -293,6 +299,14 @@ body.is-resizing-side-panel .think-full-app__view-scope {
|
|
|
293
299
|
max(var(--sigvelo-spacing-3), env(safe-area-inset-right, 0px));
|
|
294
300
|
}
|
|
295
301
|
|
|
302
|
+
/* The gutter above belongs to the composer pinned under a transcript. On the
|
|
303
|
+
start screen the composer is in flow and the utility tray docks against
|
|
304
|
+
the card's bottom edge, so any bottom padding here reads as the tray
|
|
305
|
+
floating detached. */
|
|
306
|
+
.think-full-app .agent-chat-start-screen__composer > .agent-chat__composer {
|
|
307
|
+
padding: 0;
|
|
308
|
+
}
|
|
309
|
+
|
|
296
310
|
.think-full-app .prompt-input {
|
|
297
311
|
gap: var(--sigvelo-spacing-1);
|
|
298
312
|
padding-block: var(--sigvelo-spacing-2);
|