@mcp-b/react-components 0.20.1 → 0.20.5
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-Bb-IPBc_.js → CodeBlock-ygtuzqJd.js} +1 -1
- package/dist/{FileTree-CUlXfnmc.js → FileTree-CdgfccsM.js} +5 -5
- package/dist/{Message-rZEaaD8Q.js → Message-DzuteocT.js} +4 -3
- package/dist/{ModelSelector-4GsCWcZV.js → ModelSelector-pecWyOFI.js} +4 -3
- package/dist/{WorkspaceFileView-CEdArlOT.js → WorkspaceFileView-Bxx4wEzJ.js} +5 -11
- package/dist/components/Accordion.js +4 -4
- package/dist/components/Activity.js +2 -2
- package/dist/components/AgentActivity.js +1 -1
- package/dist/components/AgentActivityPreview.js +1 -1
- package/dist/components/AgentAttention.js +2 -2
- package/dist/components/AgentChat.js +4 -4
- package/dist/components/AgentConnection.js +2 -2
- package/dist/components/AgentMessageParts.js +1 -1
- package/dist/components/AgentToolDetail.js +1 -1
- package/dist/components/AlertDialog.js +8 -8
- package/dist/components/AppTopBar.js +1 -1
- package/dist/components/Approval.js +1 -1
- package/dist/components/Artifact.js +1 -1
- package/dist/components/Autocomplete.js +11 -11
- package/dist/components/Avatar.js +6 -6
- package/dist/components/BrowserLiveView.js +2 -2
- package/dist/components/BrowserReplay.js +4 -7
- package/dist/components/BrowserRunPanel.js +2 -2
- package/dist/components/Card.js +8 -11
- package/dist/components/ChainOfThought.js +2 -2
- package/dist/components/ChatGptSignInScreen.js +2 -2
- package/dist/components/Checkbox.js +2 -2
- package/dist/components/CheckboxGroup.js +7 -7
- package/dist/components/Checkpoint.js +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.js +5 -4
- package/dist/components/Collapsible.js +2 -2
- package/dist/components/Combobox.js +11 -11
- package/dist/components/Commit.js +4 -4
- package/dist/components/Context.js +3 -1
- package/dist/components/ContextMenu.js +13 -13
- package/dist/components/Conversation.js +3 -8
- package/dist/components/Dialog.js +6 -6
- package/dist/components/EnvironmentVariables.js +3 -3
- package/dist/components/Field.js +7 -7
- package/dist/components/Fieldset.js +3 -3
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Form.js +1 -1
- package/dist/components/InlineCitation.js +2 -2
- package/dist/components/Input.js +1 -1
- package/dist/components/Label.js +2 -1
- package/dist/components/McpConnectionRequest.js +1 -1
- package/dist/components/McpServerPicker.js +3 -3
- package/dist/components/MediaPreviewCard.js +5 -4
- package/dist/components/Menu.js +17 -17
- package/dist/components/Menubar.js +14 -14
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.js +2 -1
- package/dist/components/Meter.js +5 -5
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NaniteScene.js +2 -1
- package/dist/components/NavigationMenu.js +11 -11
- package/dist/components/NumberField.js +6 -6
- package/dist/components/Plan.js +1 -1
- package/dist/components/Popover.js +12 -14
- package/dist/components/PreviewCard.js +6 -6
- package/dist/components/PricingPage.js +2 -1
- package/dist/components/PricingPlanCard.js +1 -1
- package/dist/components/Progress.js +4 -4
- package/dist/components/PromptInput.js +10 -12
- package/dist/components/Queue.js +1 -1
- package/dist/components/RadioGroup.js +4 -4
- package/dist/components/Reasoning.js +2 -2
- package/dist/components/ResizableSidePanel.js +3 -5
- package/dist/components/ResponsiveSidebarShell.js +4 -3
- package/dist/components/ScrollArea.js +6 -6
- package/dist/components/SearchField.js +1 -1
- package/dist/components/Select.js +15 -15
- package/dist/components/Slider.js +7 -7
- package/dist/components/Sources.js +2 -2
- package/dist/components/Stepper.js +2 -6
- package/dist/components/SubagentRunDetails.js +2 -1
- package/dist/components/SubagentRunIndicator.js +1 -1
- package/dist/components/SubagentRunSelector.js +1 -1
- package/dist/components/Switch.js +3 -3
- package/dist/components/Tabs.js +2 -2
- package/dist/components/Task.js +2 -2
- package/dist/components/Terminal.js +2 -2
- package/dist/components/TestResults.js +18 -18
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChatActivity.js +2 -1
- package/dist/components/ThinkChatActivitySummary.js +14 -5
- package/dist/components/ThinkChatToolPanels.js +1 -1
- package/dist/components/ThinkExecutionDetail.js +1 -1
- package/dist/components/ThinkExecutionRun.js +2 -2
- package/dist/components/ThinkExecutionStatus.js +1 -1
- package/dist/components/ThinkExecutionWorkbench.js +2 -2
- package/dist/components/ThinkFullApp.js +4 -74
- package/dist/components/ThinkPendingApproval.js +1 -3
- package/dist/components/ThinkRoutine.d.ts +1 -1
- package/dist/components/ThinkRoutine.js +3 -10
- package/dist/components/ThinkRoutineBrowser.js +9 -9
- package/dist/components/ThinkRoutineDetail.js +1 -1
- package/dist/components/ThinkRoutineForm.js +1 -1
- package/dist/components/ThinkRoutineLibrary.js +1 -1
- package/dist/components/ThinkThreadPicker.js +4 -3
- package/dist/components/ThinkThreadShell.js +2 -1
- package/dist/components/Toast.js +6 -6
- package/dist/components/ToggleGroup.js +2 -2
- package/dist/components/Tooltip.js +4 -4
- package/dist/components/WebPreview.js +1 -1
- package/dist/components/WorkspaceBrowser.js +1 -1
- package/dist/components/WorkspaceExplorer.js +2 -2
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.js +1 -1
- package/dist/components/icons.js +1 -1
- package/dist/{copy-button-BtRwhRks.js → copy-button-vo1paUSi.js} +1 -1
- package/dist/format-S6uWyoSb.js +38 -0
- package/dist/{icons-DKXiSepE.js → icons-DyOM0EJs.js} +2 -1
- package/dist/{merge-refs-KlanQB7A.js → merge-refs-DF_7w2x_.js} +1 -1
- package/dist/styles/accordion.css +2 -1
- package/dist/styles/activity-header.css +4 -18
- package/dist/styles/activity.css +1 -1
- package/dist/styles/agent-activity-preview-overlay.css +12 -0
- package/dist/styles/agent-activity-preview.css +3 -3
- package/dist/styles/agent-attention.css +7 -21
- package/dist/styles/agent-connection.css +3 -3
- package/dist/styles/app-top-bar.css +2 -5
- package/dist/styles/artifact.css +1 -1
- package/dist/styles/attachment-preview.css +1 -1
- package/dist/styles/badge.css +1 -1
- package/dist/styles/base.css +15 -0
- package/dist/styles/browser-control-overlay.css +4 -3
- package/dist/styles/browser-live-view.css +2 -11
- package/dist/styles/browser-replay.css +3 -3
- package/dist/styles/browser-run-panel.css +3 -12
- package/dist/styles/button.css +1 -1
- package/dist/styles/chain-of-thought.css +3 -15
- package/dist/styles/chatgpt-sign-in-screen.css +2 -2
- package/dist/styles/checkbox-group.css +1 -7
- package/dist/styles/code-block.css +5 -5
- package/dist/styles/codex-model-selector.css +0 -6
- package/dist/styles/commit.css +2 -8
- package/dist/styles/environment-variables.css +4 -7
- package/dist/styles/fieldset.css +1 -1
- package/dist/styles/file-tree.css +2 -2
- package/dist/styles/github-motion-mark.css +1 -1
- package/dist/styles/inline-citation.css +1 -4
- package/dist/styles/label.css +1 -1
- package/dist/styles/mcp-server-picker.css +1 -4
- package/dist/styles/menu.css +1 -1
- package/dist/styles/message-scroller.css +3 -21
- package/dist/styles/message.css +1 -7
- package/dist/styles/model-selector.css +1 -1
- package/dist/styles/plan.css +1 -1
- package/dist/styles/pricing-page.css +37 -35
- package/dist/styles/prompt-input.css +4 -35
- package/dist/styles/queue.css +2 -2
- package/dist/styles/recipes.css +26 -2
- package/dist/styles/sources.css +2 -5
- package/dist/styles/stepper.css +1 -7
- package/dist/styles/streamdown.css +28 -25
- package/dist/styles/subagent-run.css +0 -3
- package/dist/styles/task.css +2 -2
- package/dist/styles/terminal.css +4 -4
- package/dist/styles/test-results.css +3 -18
- package/dist/styles/theme-mode-control.css +3 -4
- package/dist/styles/think-execution-status.css +1 -7
- package/dist/styles/think-execution-workbench.css +1 -4
- package/dist/styles/think-full-app.css +1 -4
- package/dist/styles/think-routine-library.css +8 -8
- package/dist/styles/think-thread-picker.css +14 -36
- package/dist/styles/toggle-group.css +1 -1
- package/dist/styles/utilities.css +6 -2
- package/dist/styles/web-preview.css +4 -4
- package/dist/styles/workspace-explorer.css +3 -3
- package/dist/view-transitions-DyUP0lSg.js +77 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
-
import { B as PlayIcon, K as SpinnerIcon, Q as WarningIcon, d as ChevronDownIcon, y as EllipsisIcon } from "../icons-
|
|
2
|
+
import { B as PlayIcon, K as SpinnerIcon, Q as WarningIcon, d as ChevronDownIcon, y as EllipsisIcon } from "../icons-DyOM0EJs.js";
|
|
3
3
|
import { t as NavigationLink } from "../navigation-link-Cob7KBlM.js";
|
|
4
4
|
import { Button, buttonVariants } from "./Button.js";
|
|
5
5
|
import { Menu } from "./Menu.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
-
import { K as SpinnerIcon, Q as WarningIcon, V as PlusIcon, _ as DotIcon, t as ArchiveIcon } from "../icons-
|
|
2
|
+
import { K as SpinnerIcon, Q as WarningIcon, V as PlusIcon, _ as DotIcon, t as ArchiveIcon } from "../icons-DyOM0EJs.js";
|
|
3
3
|
import { t as NavigationLink } from "../navigation-link-Cob7KBlM.js";
|
|
4
4
|
import { Button, buttonVariants } from "./Button.js";
|
|
5
5
|
import { SearchField } from "./SearchField.js";
|
|
@@ -161,7 +161,7 @@ function ThinkThreadPicker({ threads, renderThreadLink, onCreate, onDelete, clas
|
|
|
161
161
|
/* @__PURE__ */ jsxs("header", {
|
|
162
162
|
className: "think-thread-picker__header",
|
|
163
163
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
164
|
-
className: "think-thread-picker__title",
|
|
164
|
+
className: "think-thread-picker__title sigvelo-truncate",
|
|
165
165
|
children: title
|
|
166
166
|
}), /* @__PURE__ */ jsx(ThinkThreadStatusIndicators, { summary: statusSummary })]
|
|
167
167
|
}),
|
|
@@ -187,6 +187,7 @@ function ThinkThreadPicker({ threads, renderThreadLink, onCreate, onDelete, clas
|
|
|
187
187
|
className: "think-thread-picker__scroll",
|
|
188
188
|
children: [/* @__PURE__ */ jsx(ScrollArea.Viewport, {
|
|
189
189
|
className: "think-thread-picker__viewport",
|
|
190
|
+
"data-recipe": "scroll-fade-y",
|
|
190
191
|
"aria-label": "Thread list",
|
|
191
192
|
children: visibleThreads.length ? /* @__PURE__ */ jsx("ul", {
|
|
192
193
|
className: "think-thread-picker__list",
|
|
@@ -210,7 +211,7 @@ function ThinkThreadPicker({ threads, renderThreadLink, onCreate, onDelete, clas
|
|
|
210
211
|
}),
|
|
211
212
|
"data-thread-status": thread.status,
|
|
212
213
|
children: [/* @__PURE__ */ jsx("span", {
|
|
213
|
-
className: "think-thread-picker__thread-title",
|
|
214
|
+
className: "think-thread-picker__thread-title sigvelo-truncate",
|
|
214
215
|
children: thread.title
|
|
215
216
|
}), statusLabel ? /* @__PURE__ */ jsx("span", {
|
|
216
217
|
className: "think-thread-picker__thread-status",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
1
2
|
import { ResponsiveSidebarShell } from "./ResponsiveSidebarShell.js";
|
|
2
3
|
import "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -10,7 +11,7 @@ function ThinkThreadShell({ sidebar, sidebarOpen, defaultSidebarOpen, onSidebarO
|
|
|
10
11
|
return /* @__PURE__ */ jsx(ResponsiveSidebarShell, {
|
|
11
12
|
...props,
|
|
12
13
|
ref,
|
|
13
|
-
className:
|
|
14
|
+
className: cx("think-thread-shell", className),
|
|
14
15
|
sidebar,
|
|
15
16
|
sidebarLabel: "threads",
|
|
16
17
|
sidebarOpen,
|
package/dist/components/Toast.js
CHANGED
|
@@ -24,7 +24,7 @@ const ToastProvider = (props) => {
|
|
|
24
24
|
* Container for displaying toasts.
|
|
25
25
|
*/
|
|
26
26
|
function ToastViewport({ className, ref, ...props }) {
|
|
27
|
-
const classes = mergeBaseClassName(
|
|
27
|
+
const classes = mergeBaseClassName("toast__viewport", className);
|
|
28
28
|
return /* @__PURE__ */ jsx(Toast$1.Viewport, {
|
|
29
29
|
ref,
|
|
30
30
|
"data-slot": "toast-viewport",
|
|
@@ -36,7 +36,7 @@ function ToastViewport({ className, ref, ...props }) {
|
|
|
36
36
|
* Individual toast wrapper.
|
|
37
37
|
*/
|
|
38
38
|
function ToastRoot({ className, ref, ...props }) {
|
|
39
|
-
const classes = mergeBaseClassName(
|
|
39
|
+
const classes = mergeBaseClassName("toast", className);
|
|
40
40
|
return /* @__PURE__ */ jsx(Toast$1.Root, {
|
|
41
41
|
ref,
|
|
42
42
|
"data-slot": "toast",
|
|
@@ -48,7 +48,7 @@ function ToastRoot({ className, ref, ...props }) {
|
|
|
48
48
|
* Container for the contents of a toast.
|
|
49
49
|
*/
|
|
50
50
|
function ToastContent({ className, ref, ...props }) {
|
|
51
|
-
const classes = mergeBaseClassName(
|
|
51
|
+
const classes = mergeBaseClassName("toast__content", className);
|
|
52
52
|
return /* @__PURE__ */ jsx(Toast$1.Content, {
|
|
53
53
|
ref,
|
|
54
54
|
"data-slot": "toast-content",
|
|
@@ -60,7 +60,7 @@ function ToastContent({ className, ref, ...props }) {
|
|
|
60
60
|
* Title that labels the toast. Renders an `<h2>` element.
|
|
61
61
|
*/
|
|
62
62
|
function ToastTitle({ className, ref, ...props }) {
|
|
63
|
-
const classes = mergeBaseClassName(
|
|
63
|
+
const classes = mergeBaseClassName("toast__title", className);
|
|
64
64
|
return /* @__PURE__ */ jsx(Toast$1.Title, {
|
|
65
65
|
ref,
|
|
66
66
|
"data-slot": "toast-title",
|
|
@@ -72,7 +72,7 @@ function ToastTitle({ className, ref, ...props }) {
|
|
|
72
72
|
* Description text for the toast. Renders a `<p>` element.
|
|
73
73
|
*/
|
|
74
74
|
function ToastDescription({ className, ref, ...props }) {
|
|
75
|
-
const classes = mergeBaseClassName(
|
|
75
|
+
const classes = mergeBaseClassName("toast__description", className);
|
|
76
76
|
return /* @__PURE__ */ jsx(Toast$1.Description, {
|
|
77
77
|
ref,
|
|
78
78
|
"data-slot": "toast-description",
|
|
@@ -102,7 +102,7 @@ function ToastAction({ render, className, ref, ...props }) {
|
|
|
102
102
|
* Close button that dismisses the toast.
|
|
103
103
|
*/
|
|
104
104
|
function ToastClose({ className, ref, ...props }) {
|
|
105
|
-
const classes = mergeBaseClassName(
|
|
105
|
+
const classes = mergeBaseClassName("toast__close", className);
|
|
106
106
|
return /* @__PURE__ */ jsx(Toast$1.Close, {
|
|
107
107
|
ref,
|
|
108
108
|
"data-slot": "toast-close",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
|
|
1
|
+
import { n as mergeBaseClassName, t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import { toggleVariants } from "./Toggle.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -44,7 +44,7 @@ function ToggleGroupRoot({ size = "md", spacing = 0, variant = "default", classN
|
|
|
44
44
|
...style,
|
|
45
45
|
gap
|
|
46
46
|
};
|
|
47
|
-
const classes = mergeBaseClassName(
|
|
47
|
+
const classes = mergeBaseClassName(cx("toggle-group", size !== "md" && `toggle-group--${size}`), className);
|
|
48
48
|
const contextValue = React.useMemo(() => ({
|
|
49
49
|
variant,
|
|
50
50
|
size,
|
|
@@ -38,7 +38,7 @@ function TooltipTrigger(props) {
|
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
function TooltipPositioner({ className, ref, ...props }) {
|
|
41
|
-
const classes = mergeBaseClassName(
|
|
41
|
+
const classes = mergeBaseClassName("tooltip__positioner base-ui-positioner", className);
|
|
42
42
|
return /* @__PURE__ */ jsx(Tooltip$1.Positioner, {
|
|
43
43
|
ref,
|
|
44
44
|
"data-slot": "tooltip-positioner",
|
|
@@ -47,7 +47,7 @@ function TooltipPositioner({ className, ref, ...props }) {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
function TooltipPopup({ className, ref, role = "tooltip", ...props }) {
|
|
50
|
-
const classes = mergeBaseClassName(
|
|
50
|
+
const classes = mergeBaseClassName("tooltip__popup base-ui-popup", className);
|
|
51
51
|
return /* @__PURE__ */ jsx(Tooltip$1.Popup, {
|
|
52
52
|
ref,
|
|
53
53
|
role,
|
|
@@ -62,7 +62,7 @@ function TooltipPopup({ className, ref, role = "tooltip", ...props }) {
|
|
|
62
62
|
* positioner, popup, and this viewport when that behavior is needed.
|
|
63
63
|
*/
|
|
64
64
|
function TooltipViewport({ className, ref, ...props }) {
|
|
65
|
-
const classes = mergeBaseClassName(
|
|
65
|
+
const classes = mergeBaseClassName("tooltip__viewport", className);
|
|
66
66
|
return /* @__PURE__ */ jsx(Tooltip$1.Viewport, {
|
|
67
67
|
ref,
|
|
68
68
|
"data-slot": "tooltip-viewport",
|
|
@@ -71,7 +71,7 @@ function TooltipViewport({ className, ref, ...props }) {
|
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
function TooltipArrow({ className, ref, ...props }) {
|
|
74
|
-
const classes = mergeBaseClassName(
|
|
74
|
+
const classes = mergeBaseClassName("tooltip__arrow", className);
|
|
75
75
|
return /* @__PURE__ */ jsx(Tooltip$1.Arrow, {
|
|
76
76
|
ref,
|
|
77
77
|
"data-slot": "tooltip-arrow",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
-
import { U as RefreshIcon, d as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../icons-
|
|
2
|
+
import { U as RefreshIcon, d as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../icons-DyOM0EJs.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { Tooltip } from "./Tooltip.js";
|
|
5
5
|
import { Badge } from "./Badge.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-
|
|
1
|
+
import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-CdgfccsM.js";
|
|
2
2
|
import { SearchField } from "./SearchField.js";
|
|
3
3
|
import { WorkspaceHeader } from "./WorkspaceHeader.js";
|
|
4
4
|
import * as React from "react";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-BYYeTQLf.js";
|
|
3
|
+
import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
|
|
3
4
|
import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./WorkspaceFile.js";
|
|
4
5
|
import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
|
|
5
|
-
import { t as WorkspaceFileView } from "../WorkspaceFileView-
|
|
6
|
-
import { t as mergeRefs } from "../merge-refs-KlanQB7A.js";
|
|
6
|
+
import { t as WorkspaceFileView } from "../WorkspaceFileView-Bxx4wEzJ.js";
|
|
7
7
|
import { useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryOptions, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions } from "./Workspace.js";
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as WorkspaceFileView } from "../WorkspaceFileView-
|
|
1
|
+
import { t as WorkspaceFileView } from "../WorkspaceFileView-Bxx4wEzJ.js";
|
|
2
2
|
export { WorkspaceFileView };
|
package/dist/components/icons.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as WrenchIcon, A as McpIcon, B as PlayIcon, C as FolderIcon, D as InfoIcon, E as ImageIcon, F as MoonIcon, G as SidebarIcon, H as QueueIcon, I as MoveToFrontIcon, J as StopIcon, K as SpinnerIcon, L as PaperclipIcon, M as MicrophoneIcon, N as MinusIcon, O as LinkIcon, P as MonitorIcon, Q as WarningIcon, R as PauseIcon, S as FileIcon, T as HashIcon, U as RefreshIcon, V as PlusIcon, W as SearchIcon, X as TerminalIcon, Y as SunIcon, Z as TrashIcon, _ as DotIcon, a as ArrowUpIcon, b as EyeIcon, c as BrainIcon, d as ChevronDownIcon, et as XIcon, f as ChevronLeftIcon, g as DiscordIcon, h as CopyIcon, i as ArrowRightIcon, j as MessageSquareIcon, k as MaximizeIcon, l as CalendarIcon, m as CodeIcon, n as ArrowDownIcon, o as BookmarkIcon, p as ChevronRightIcon, q as SquareIcon, r as ArrowLeftIcon, s as BoxIcon, t as ArchiveIcon, u as CheckIcon, v as DownloadIcon, w as FolderOpenIcon, x as EyeOffIcon, y as EllipsisIcon, z as PencilIcon } from "../icons-
|
|
1
|
+
import { $ as WrenchIcon, A as McpIcon, B as PlayIcon, C as FolderIcon, D as InfoIcon, E as ImageIcon, F as MoonIcon, G as SidebarIcon, H as QueueIcon, I as MoveToFrontIcon, J as StopIcon, K as SpinnerIcon, L as PaperclipIcon, M as MicrophoneIcon, N as MinusIcon, O as LinkIcon, P as MonitorIcon, Q as WarningIcon, R as PauseIcon, S as FileIcon, T as HashIcon, U as RefreshIcon, V as PlusIcon, W as SearchIcon, X as TerminalIcon, Y as SunIcon, Z as TrashIcon, _ as DotIcon, a as ArrowUpIcon, b as EyeIcon, c as BrainIcon, d as ChevronDownIcon, et as XIcon, f as ChevronLeftIcon, g as DiscordIcon, h as CopyIcon, i as ArrowRightIcon, j as MessageSquareIcon, k as MaximizeIcon, l as CalendarIcon, m as CodeIcon, n as ArrowDownIcon, o as BookmarkIcon, p as ChevronRightIcon, q as SquareIcon, r as ArrowLeftIcon, s as BoxIcon, t as ArchiveIcon, u as CheckIcon, v as DownloadIcon, w as FolderOpenIcon, x as EyeOffIcon, y as EllipsisIcon, z as PencilIcon } from "../icons-DyOM0EJs.js";
|
|
2
2
|
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, 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, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as CopyIcon, u as CheckIcon } from "./icons-
|
|
1
|
+
import { h as CopyIcon, u as CheckIcon } from "./icons-DyOM0EJs.js";
|
|
2
2
|
import { Button } from "./components/Button.js";
|
|
3
3
|
import { Tooltip } from "./components/Tooltip.js";
|
|
4
4
|
import * as React from "react";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/components/_internal/format.ts
|
|
2
|
+
/**
|
|
3
|
+
* Small string/number formatting helpers shared across components, so the same
|
|
4
|
+
* one-liners are not re-derived in each file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Constrains `value` to the inclusive `[min, max]` range.
|
|
8
|
+
*/
|
|
9
|
+
function clamp(value, min, max) {
|
|
10
|
+
return Math.min(max, Math.max(min, value));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Uppercases the first character of `value`, leaving the rest untouched.
|
|
14
|
+
*/
|
|
15
|
+
function capitalize(value) {
|
|
16
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Turns a `kebab-case` or `snake_case` identifier into a space-separated,
|
|
20
|
+
* word-capitalized label (e.g. `"service-tier"` → `"Service Tier"`).
|
|
21
|
+
*/
|
|
22
|
+
function titleCase(value) {
|
|
23
|
+
return value.split(/[-_]/).filter(Boolean).map((word) => word[0].toUpperCase() + word.slice(1)).join(" ");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Formats a whole number of seconds as a clock string — `m:ss`, widening to
|
|
27
|
+
* `h:mm:ss` once it reaches an hour. Negative and fractional inputs are floored
|
|
28
|
+
* to whole seconds, so callers that need rounding should round before calling.
|
|
29
|
+
*/
|
|
30
|
+
function formatClock(totalSeconds) {
|
|
31
|
+
const total = Math.max(0, Math.floor(totalSeconds));
|
|
32
|
+
const hours = Math.floor(total / 3600);
|
|
33
|
+
const minutes = Math.floor(total % 3600 / 60);
|
|
34
|
+
const seconds = String(total % 60).padStart(2, "0");
|
|
35
|
+
return hours > 0 ? `${hours}:${String(minutes).padStart(2, "0")}:${seconds}` : `${minutes}:${seconds}`;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { titleCase as i, clamp as n, formatClock as r, capitalize as t };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as cx } from "./class-names-BiMDVpUo.js";
|
|
1
2
|
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, 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, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
|
|
3
4
|
import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
|
|
@@ -61,7 +62,7 @@ function SpinnerIcon({ className, size = 16, strokeWidth = 1.75, ...props }) {
|
|
|
61
62
|
strokeWidth,
|
|
62
63
|
"aria-hidden": "true",
|
|
63
64
|
focusable: "false",
|
|
64
|
-
className:
|
|
65
|
+
className: cx("sigvelo-icon--spinner", className),
|
|
65
66
|
...props
|
|
66
67
|
});
|
|
67
68
|
}
|
|
@@ -18,9 +18,6 @@
|
|
|
18
18
|
min-width: 0;
|
|
19
19
|
max-width: max-content;
|
|
20
20
|
color: var(--sigvelo-color-text);
|
|
21
|
-
overflow: hidden;
|
|
22
|
-
text-overflow: ellipsis;
|
|
23
|
-
white-space: nowrap;
|
|
24
21
|
}
|
|
25
22
|
|
|
26
23
|
.activity__item-icon {
|
|
@@ -31,29 +28,18 @@
|
|
|
31
28
|
|
|
32
29
|
.activity[data-streaming] .activity__header-label,
|
|
33
30
|
.activity__header[data-streaming] .activity__header-label {
|
|
34
|
-
--
|
|
31
|
+
--sigvelo-shimmer-base: color-mix(in oklab, var(--sigvelo-color-text-muted), transparent 20%);
|
|
35
32
|
background: linear-gradient(
|
|
36
33
|
90deg,
|
|
37
|
-
var(--
|
|
38
|
-
var(--activity-shimmer-base) 40%,
|
|
34
|
+
var(--sigvelo-shimmer-base) 0% 40%,
|
|
39
35
|
var(--sigvelo-color-text) 50%,
|
|
40
|
-
var(--
|
|
41
|
-
var(--activity-shimmer-base) 100%
|
|
36
|
+
var(--sigvelo-shimmer-base) 60% 100%
|
|
42
37
|
);
|
|
43
38
|
background-size: 200% 100%;
|
|
44
39
|
-webkit-background-clip: text;
|
|
45
40
|
background-clip: text;
|
|
46
41
|
color: transparent;
|
|
47
|
-
animation:
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@keyframes activity-shimmer {
|
|
51
|
-
from {
|
|
52
|
-
background-position: 100% 0;
|
|
53
|
-
}
|
|
54
|
-
to {
|
|
55
|
-
background-position: -100% 0;
|
|
56
|
-
}
|
|
42
|
+
animation: sigvelo-text-shimmer var(--sigvelo-motion-duration-shimmer) linear infinite;
|
|
57
43
|
}
|
|
58
44
|
|
|
59
45
|
@media (prefers-reduced-motion: reduce) {
|
package/dist/styles/activity.css
CHANGED
|
@@ -61,6 +61,18 @@
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
/* Shadow-local copy of base.css's sigvelo-text-shimmer — keyframes do not cross
|
|
65
|
+
shadow roots, so the imported activity header shimmer needs it defined here.
|
|
66
|
+
--sigvelo-motion-duration-shimmer inherits across the boundary. */
|
|
67
|
+
@keyframes sigvelo-text-shimmer {
|
|
68
|
+
from {
|
|
69
|
+
background-position: 100% 0;
|
|
70
|
+
}
|
|
71
|
+
to {
|
|
72
|
+
background-position: -100% 0;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
64
76
|
@media (prefers-color-scheme: dark) {
|
|
65
77
|
:host {
|
|
66
78
|
--sigvelo-color-warning-text: #f0aa45;
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
.agent-activity-preview__item:first-child {
|
|
97
|
-
padding-inline-end: calc(
|
|
97
|
+
padding-inline-end: calc(var(--sigvelo-spacing-8) + var(--sigvelo-spacing-0-5));
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
.agent-activity-preview__row {
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
.agent-activity-preview__favicons {
|
|
167
167
|
display: flex;
|
|
168
168
|
align-items: center;
|
|
169
|
-
padding-inline-start:
|
|
169
|
+
padding-inline-start: var(--sigvelo-spacing-1);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
.agent-activity-preview__favicons img {
|
|
@@ -234,6 +234,6 @@
|
|
|
234
234
|
.agent-activity-preview__dismiss,
|
|
235
235
|
.agent-activity-preview__file-action,
|
|
236
236
|
.agent-activity-preview__favicons img {
|
|
237
|
-
border:
|
|
237
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
min-width: 0;
|
|
5
5
|
gap: var(--sigvelo-spacing-1-5);
|
|
6
6
|
padding: var(--sigvelo-spacing-1-5);
|
|
7
|
-
border:
|
|
7
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width)
|
|
8
|
+
var(--sigvelo-color-neutral-border-muted);
|
|
8
9
|
border-radius: var(--sigvelo-radius-md);
|
|
9
10
|
color: var(--sigvelo-color-text);
|
|
10
11
|
background: var(--sigvelo-color-surface);
|
|
@@ -60,13 +61,6 @@
|
|
|
60
61
|
line-height: 1.35;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
.agent-attention__title,
|
|
64
|
-
.agent-attention__description {
|
|
65
|
-
overflow: hidden;
|
|
66
|
-
text-overflow: ellipsis;
|
|
67
|
-
white-space: nowrap;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
64
|
.agent-attention__title {
|
|
71
65
|
font-size: var(--sigvelo-text-compact);
|
|
72
66
|
font-weight: var(--sigvelo-font-weight-semibold);
|
|
@@ -97,26 +91,18 @@
|
|
|
97
91
|
}
|
|
98
92
|
|
|
99
93
|
.agent-attention[data-busy] .agent-attention__title {
|
|
100
|
-
--
|
|
94
|
+
--sigvelo-shimmer-base: color-mix(in oklab, var(--sigvelo-color-text-muted), transparent 20%);
|
|
101
95
|
background: linear-gradient(
|
|
102
96
|
90deg,
|
|
103
|
-
var(--
|
|
97
|
+
var(--sigvelo-shimmer-base) 0% 40%,
|
|
104
98
|
var(--sigvelo-color-text) 50%,
|
|
105
|
-
var(--
|
|
99
|
+
var(--sigvelo-shimmer-base) 60% 100%
|
|
106
100
|
);
|
|
107
101
|
background-size: 200% 100%;
|
|
102
|
+
-webkit-background-clip: text;
|
|
108
103
|
background-clip: text;
|
|
109
104
|
color: transparent;
|
|
110
|
-
animation:
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
@keyframes agent-attention-shimmer {
|
|
114
|
-
from {
|
|
115
|
-
background-position: 100% 0;
|
|
116
|
-
}
|
|
117
|
-
to {
|
|
118
|
-
background-position: -100% 0;
|
|
119
|
-
}
|
|
105
|
+
animation: sigvelo-text-shimmer var(--sigvelo-motion-duration-shimmer) linear infinite;
|
|
120
106
|
}
|
|
121
107
|
|
|
122
108
|
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
.agent-connect__targets {
|
|
53
53
|
display: grid;
|
|
54
54
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
55
|
-
gap:
|
|
55
|
+
gap: var(--sigvelo-spacing-1);
|
|
56
56
|
min-inline-size: 0;
|
|
57
57
|
margin: 0;
|
|
58
|
-
padding:
|
|
58
|
+
padding: var(--sigvelo-spacing-1);
|
|
59
59
|
border: var(--sigvelo-border-style) var(--sigvelo-border-width)
|
|
60
60
|
var(--sigvelo-color-neutral-border-subtle);
|
|
61
61
|
border-radius: var(--sigvelo-radius-md);
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
.agent-connect__target[data-selected="true"] {
|
|
178
|
-
outline:
|
|
178
|
+
outline: var(--sigvelo-focus-ring-forced);
|
|
179
179
|
outline-offset: -2px;
|
|
180
180
|
}
|
|
181
181
|
}
|
|
@@ -38,13 +38,10 @@
|
|
|
38
38
|
max-inline-size: min(20rem, 45vw);
|
|
39
39
|
align-self: center;
|
|
40
40
|
justify-self: center;
|
|
41
|
-
overflow: hidden;
|
|
42
41
|
color: var(--sigvelo-color-text);
|
|
43
42
|
font-size: var(--sigvelo-density-compact-control-font-size);
|
|
44
43
|
font-weight: var(--sigvelo-font-weight-semibold);
|
|
45
44
|
line-height: var(--sigvelo-leading-tight);
|
|
46
|
-
text-overflow: ellipsis;
|
|
47
|
-
white-space: nowrap;
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
.app-top-bar__trailing {
|
|
@@ -98,13 +95,13 @@
|
|
|
98
95
|
}
|
|
99
96
|
|
|
100
97
|
.app-top-bar__button:focus-visible {
|
|
101
|
-
outline:
|
|
98
|
+
outline: var(--sigvelo-focus-ring-forced);
|
|
102
99
|
outline-offset: 2px;
|
|
103
100
|
box-shadow: none;
|
|
104
101
|
}
|
|
105
102
|
|
|
106
103
|
.app-top-bar__button:is([aria-expanded="true"], [data-popup-open], [data-pressed]) {
|
|
107
|
-
outline:
|
|
104
|
+
outline: var(--sigvelo-focus-ring-forced);
|
|
108
105
|
outline-offset: -2px;
|
|
109
106
|
}
|
|
110
107
|
}
|
package/dist/styles/artifact.css
CHANGED
package/dist/styles/badge.css
CHANGED
package/dist/styles/base.css
CHANGED
|
@@ -35,6 +35,21 @@ body {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
/*
|
|
39
|
+
* Canonical "busy/streaming" text-shimmer sweep. Components own the gradient
|
|
40
|
+
* treatment and state gating; they share this keyframe and
|
|
41
|
+
* --sigvelo-motion-duration-shimmer. Shadow-isolated bundles keep a local copy
|
|
42
|
+
* (keyframes do not cross shadow roots), the same as sigvelo-icon-spin.
|
|
43
|
+
*/
|
|
44
|
+
@keyframes sigvelo-text-shimmer {
|
|
45
|
+
from {
|
|
46
|
+
background-position: 100% 0;
|
|
47
|
+
}
|
|
48
|
+
to {
|
|
49
|
+
background-position: -100% 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
38
53
|
@media (prefers-reduced-motion: reduce) {
|
|
39
54
|
.sigvelo-icon--spinner {
|
|
40
55
|
animation: none;
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
:host .takeover,
|
|
86
86
|
:host .owner {
|
|
87
87
|
background: var(--browser-control-accent);
|
|
88
|
-
border:
|
|
88
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width) var(--browser-control-accent-text);
|
|
89
89
|
box-shadow: 0 2px 10px var(--browser-control-shadow);
|
|
90
90
|
color: var(--browser-control-accent-text);
|
|
91
91
|
}
|
|
@@ -120,7 +120,8 @@
|
|
|
120
120
|
:host .banner {
|
|
121
121
|
align-items: center;
|
|
122
122
|
background: var(--browser-control-warning);
|
|
123
|
-
border:
|
|
123
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width)
|
|
124
|
+
var(--browser-control-warning-text);
|
|
124
125
|
border-radius: 14px;
|
|
125
126
|
box-shadow: 0 4px 18px var(--browser-control-shadow);
|
|
126
127
|
color: var(--browser-control-warning-text);
|
|
@@ -147,7 +148,7 @@
|
|
|
147
148
|
|
|
148
149
|
:host .banner .done,
|
|
149
150
|
:host .banner .cannot {
|
|
150
|
-
border:
|
|
151
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width) currentcolor;
|
|
151
152
|
color: inherit;
|
|
152
153
|
flex-shrink: 0;
|
|
153
154
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
.browser-live-view__badge-dot {
|
|
42
42
|
inline-size: var(--sigvelo-spacing-1-5);
|
|
43
43
|
block-size: var(--sigvelo-spacing-1-5);
|
|
44
|
-
border-radius:
|
|
44
|
+
border-radius: var(--sigvelo-radius-circle);
|
|
45
45
|
background-color: currentColor;
|
|
46
46
|
animation: browser-live-view-pulse 1.4s ease-in-out infinite;
|
|
47
47
|
}
|
|
@@ -66,9 +66,6 @@
|
|
|
66
66
|
font-size: var(--sigvelo-text-xs);
|
|
67
67
|
color: var(--sigvelo-color-text-muted);
|
|
68
68
|
max-inline-size: 80%;
|
|
69
|
-
overflow: hidden;
|
|
70
|
-
text-overflow: ellipsis;
|
|
71
|
-
white-space: nowrap;
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
/* An expired view showing a screenshot fallback keeps the image flush */
|
|
@@ -95,7 +92,7 @@
|
|
|
95
92
|
}
|
|
96
93
|
|
|
97
94
|
.browser-live-view__state-spinner {
|
|
98
|
-
animation:
|
|
95
|
+
animation: sigvelo-icon-spin 900ms linear infinite;
|
|
99
96
|
}
|
|
100
97
|
|
|
101
98
|
/* Expand affordance, video-player style: quiet until the box is hovered or
|
|
@@ -157,12 +154,6 @@
|
|
|
157
154
|
}
|
|
158
155
|
}
|
|
159
156
|
|
|
160
|
-
@keyframes browser-live-view-spin {
|
|
161
|
-
to {
|
|
162
|
-
transform: rotate(360deg);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
157
|
@media (prefers-reduced-motion: reduce) {
|
|
167
158
|
.browser-live-view__badge-dot,
|
|
168
159
|
.browser-live-view__state-spinner {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
inset: 0;
|
|
40
40
|
display: grid;
|
|
41
41
|
place-content: center;
|
|
42
|
-
padding:
|
|
42
|
+
padding: var(--sigvelo-spacing-4);
|
|
43
43
|
color: var(--sigvelo-color-text-muted);
|
|
44
44
|
font-size: var(--sigvelo-text-compact);
|
|
45
45
|
text-align: center;
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
display: flex;
|
|
50
50
|
align-items: center;
|
|
51
51
|
gap: var(--sigvelo-spacing-2-5);
|
|
52
|
-
padding-block:
|
|
52
|
+
padding-block: var(--sigvelo-spacing-2);
|
|
53
53
|
padding-inline: var(--sigvelo-spacing-3);
|
|
54
54
|
border-block-start: var(--sigvelo-border-style) var(--sigvelo-border-width)
|
|
55
55
|
var(--sigvelo-color-neutral-border-subtle);
|
|
@@ -184,6 +184,6 @@
|
|
|
184
184
|
|
|
185
185
|
@media (forced-colors: active) {
|
|
186
186
|
.browser-replay {
|
|
187
|
-
border:
|
|
187
|
+
border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
|
|
188
188
|
}
|
|
189
189
|
}
|