@mcp-b/react-components 0.51.2 → 0.53.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--r6GS8YV.d.ts → CodeBlock-DJ99TQWy.d.ts} +1 -1
- package/dist/{CodeBlock-g8sADidM.js → CodeBlock-Dw1z6jc8.js} +2 -1
- package/dist/EmployeeChrome-B605rpVz.d.ts +233 -0
- package/dist/{FileTree-DruTQ-oa.js → FileTree-okaLnS5j.js} +1 -1
- package/dist/{IconButton-ByiyjkYE.d.ts → IconButton-CAlFVb2L.d.ts} +3 -0
- package/dist/{ManagerOffice-D-7SOJ4x.js → ManagerOffice-CJwBAEMv.js} +17 -12
- package/dist/McpPluginCatalog-DNeHDrts.d.ts +94 -0
- package/dist/{Message-DyaTBiV7.d.ts → Message-COsMPZSC.d.ts} +2 -2
- package/dist/{ResponsiveSidebarShell-CAmmtQTR.d.ts → ResponsiveSidebarShell-BUBQa_IV.d.ts} +3 -1
- package/dist/{SetupChecklist-Btmy3-_C.js → SetupChecklist-DWyifWWg.js} +6 -5
- package/dist/{ThinkThreadPicker-yetGX_s5.d.ts → ThinkThreadPicker-DX0lL-P7.d.ts} +3 -0
- package/dist/{Workspace-HzGrWDX3.d.ts → Workspace-mzMZSdts.d.ts} +1 -1
- package/dist/WorkspaceConceptPanel-97ZyVpZI.js +20 -0
- package/dist/{WorkspaceFile-Bouauobc.d.ts → WorkspaceFile-19WP0EU1.d.ts} +1 -1
- package/dist/{WorkspaceFileView-DYPtRVpM.js → WorkspaceFileView-DQDWUpAH.js} +3 -2
- package/dist/{WorkspaceMessageResponse-8lOSAbw_.d.ts → WorkspaceMessageResponse-BApg8KZv.d.ts} +1 -1
- package/dist/WorkspaceMountManager-CkLI1B-G.d.ts +33 -0
- package/dist/assets/sigvelo-logo.svg +54 -0
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +6 -2
- package/dist/components/agents-sdk/AgentChat.js +12 -18
- package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
- package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
- package/dist/components/agents-sdk/EmployeeApp.d.ts +43 -30
- package/dist/components/agents-sdk/EmployeeApp.js +47 -34
- package/dist/components/agents-sdk/EmployeeChat.d.ts +31 -10
- package/dist/components/agents-sdk/EmployeeChat.js +35 -7
- package/dist/components/agents-sdk/EmployeeChrome.d.ts +1 -219
- package/dist/components/agents-sdk/EmployeeChrome.js +219 -162
- package/dist/components/agents-sdk/EmployeeSchedules.d.ts +1 -1
- package/dist/components/agents-sdk/EmployeeSchedules.js +2 -3
- package/dist/components/agents-sdk/EmployeeStartScreen.d.ts +12 -11
- package/dist/components/agents-sdk/EmployeeStartScreen.js +22 -15
- package/dist/components/agents-sdk/ManagerAccountActions.js +2 -3
- package/dist/components/agents-sdk/ManagerOffice.js +1 -2
- package/dist/components/agents-sdk/ManagerOfficeScreens.d.ts +2 -2
- package/dist/components/agents-sdk/ManagerOfficeScreens.js +33 -13
- package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
- package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +1 -93
- package/dist/components/agents-sdk/McpPluginCatalog.js +5 -5
- package/dist/components/agents-sdk/McpServerPicker.js +5 -5
- package/dist/components/agents-sdk/ModelSelector.js +4 -4
- package/dist/components/agents-sdk/PromptInputApproval.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/SubagentRunPanel.d.ts +3 -0
- package/dist/components/agents-sdk/SubagentRunPanel.js +67 -47
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChat.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkChatActivity.js +2 -2
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +7 -14
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +2 -0
- package/dist/components/agents-sdk/ThinkFullApp.js +2 -0
- package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineActions.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
- package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.js +32 -19
- package/dist/components/agents-sdk/WorkbenchBack.d.ts +18 -0
- package/dist/components/agents-sdk/WorkbenchBack.js +27 -0
- package/dist/components/agents-sdk/Workspace.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +3 -1
- package/dist/components/agents-sdk/WorkspaceConcept.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
- package/dist/components/agents-sdk/WorkspaceExecution.js +13 -10
- package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +4 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +13 -4
- package/dist/components/agents-sdk/WorkspaceFile.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.d.ts +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/WorkspaceLive.d.ts +2 -2
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.d.ts +1 -32
- package/dist/components/agents-sdk/WorkspaceMountManager.js +2 -2
- package/dist/components/agents-sdk/WorkspaceProject.js +7 -5
- package/dist/components/agents-sdk/WorkspaceUserScript.js +7 -5
- 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 +2 -2
- package/dist/components/ai-sdk/Artifact.d.ts +1 -1
- package/dist/components/ai-sdk/Artifact.js +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.d.ts +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/ComposerLink.js +1 -1
- package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
- package/dist/components/ai-sdk/Context.js +1 -1
- package/dist/components/ai-sdk/Conversation.d.ts +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.d.ts +1 -1
- package/dist/components/ai-sdk/Message.js +2 -2
- 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 +46 -43
- 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 +1 -1
- package/dist/components/extension/ChatGptSignInScreen.js +61 -186
- package/dist/components/extension/CodexModelSelector.js +4 -8
- package/dist/components/extension/ConversationTabPicker.js +2 -2
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/Collapsible.js +1 -1
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/IconButton.d.ts +1 -1
- package/dist/components/foundations/IconButton.js +7 -4
- 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.js +1 -1
- package/dist/components/general-purpose/AccountSignInDialog.d.ts +5 -9
- package/dist/components/general-purpose/AccountSignInDialog.js +13 -5
- package/dist/components/general-purpose/BrandLoading.d.ts +14 -0
- package/dist/components/general-purpose/BrandLoading.js +25 -0
- package/dist/components/general-purpose/Commit.d.ts +1 -1
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.d.ts +1 -1
- package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
- package/dist/components/general-purpose/PricingPlanCard.js +2 -2
- package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -1
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +59 -27
- package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/StatusScreen.d.ts +13 -2
- package/dist/components/general-purpose/StatusScreen.js +27 -3
- package/dist/components/general-purpose/Terminal.d.ts +2 -2
- 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.d.ts +1 -1
- package/dist/components/general-purpose/WebPreview.js +2 -2
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.js +2 -2
- package/dist/{copy-button-OUwOdgEm.d.ts → copy-button-CJYYgCIU.d.ts} +1 -1
- package/dist/{copy-button-CSDuDfdP.js → copy-button-Dk2vRe9j.js} +1 -1
- package/dist/styles/activity.css +2 -2
- package/dist/styles/agent-chat.css +6 -105
- package/dist/styles/app-root.css +9 -0
- package/dist/styles/app-top-bar.css +10 -4
- package/dist/styles/avatar.css +2 -2
- package/dist/styles/base.css +6 -2
- package/dist/styles/brand-loading.css +58 -0
- package/dist/styles/brand.test.ts +158 -0
- package/dist/styles/browser-control-overlay.css +22 -0
- package/dist/styles/button.css +22 -1
- package/dist/styles/chatgpt-sign-in-screen.css +111 -225
- package/dist/styles/code-block.css +5 -0
- package/dist/styles/codex-model-selector.css +2 -12
- package/dist/styles/description-list.css +9 -2
- package/dist/styles/employee-app.css +19 -1
- package/dist/styles/employee-chrome.css +39 -5
- package/dist/styles/file-tree.css +15 -2
- package/dist/styles/index.css +1 -0
- package/dist/styles/manager-office.css +80 -55
- package/dist/styles/manager-work.css +5 -11
- package/dist/styles/mcp-plugin-catalog.css +29 -34
- package/dist/styles/mcp-server-picker.css +13 -5
- package/dist/styles/prompt-input.css +3 -13
- package/dist/styles/queue.css +1 -1
- package/dist/styles/recipes.css +9 -2
- package/dist/styles/responsive-sidebar-shell-motion.test.ts +67 -0
- package/dist/styles/responsive-sidebar-shell.css +70 -25
- package/dist/styles/search-field.css +8 -6
- package/dist/styles/subagent-run.css +81 -0
- package/dist/styles/switch.css +7 -0
- package/dist/styles/think-execution-workbench.css +0 -17
- package/dist/styles/think-full-app.css +11 -4
- package/dist/styles/think-thread-picker.css +16 -38
- package/dist/styles/workspace-concepts.css +29 -2
- package/dist/styles/workspace-explorer.css +6 -48
- package/dist/utils/structured-code.d.ts +1 -1
- package/dist/{workspace-assets-Bg7XhPsk.js → workspace-assets-C3QT6UlQ.js} +1 -1
- package/package.json +2 -2
- package/dist/styles/extension-status.css +0 -46
- package/dist/{icons-cuEtsgj9.js → icons-CeGfXO21.js} +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { W as SidebarIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-
|
|
2
|
+
import { W as SidebarIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as capitalize } from "../../format-COCyV98Z.js";
|
|
5
5
|
import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
|
|
@@ -37,28 +37,12 @@ function isCompactSidebar(root) {
|
|
|
37
37
|
const rootFontSize = Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
|
|
38
38
|
return root.offsetWidth <= compactSidebarWidthRem * rootFontSize;
|
|
39
39
|
}
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
* sidebar, a compact floating drawer that leaves the main content in place as
|
|
43
|
-
* a dismiss target, and a shell-owned application bar composed from slots.
|
|
44
|
-
* The root exposes `data-sidebar-open="true" | "false"` as its public styling
|
|
45
|
-
* hook, and its container name `responsive-sidebar-shell` is public contract:
|
|
46
|
-
* surfaces that compose the shell size themselves against it.
|
|
47
|
-
*/
|
|
48
|
-
function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen, sidebarTogglePlacement = "main", defaultSidebarOpen, defaultSidebarWidth = sidebarDefaultWidth, onSidebarOpenChange, bar, error, showMainLabel = "Show main content", className, children, ref, style, ...props }) {
|
|
49
|
-
const sidebarId = React.useId();
|
|
50
|
-
const rootRef = React.useRef(null);
|
|
51
|
-
const mainRef = React.useRef(null);
|
|
52
|
-
const openerRef = React.useRef(null);
|
|
40
|
+
/** Owns the independent sidebar and main-content breakpoints. */
|
|
41
|
+
function useSidebarLayout({ rootRef, mainRef, isSidebarOpen, setSidebarOpen, primeSidebarOpen, wantsBuiltInDefault }) {
|
|
53
42
|
const compactRef = React.useRef(null);
|
|
54
43
|
const [compact, setCompact] = React.useState(true);
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
sidebarOpen,
|
|
58
|
-
defaultSidebarOpen,
|
|
59
|
-
onSidebarOpenChange
|
|
60
|
-
});
|
|
61
|
-
const wantsBuiltInDefault = sidebarOpen === void 0 && defaultSidebarOpen === void 0;
|
|
44
|
+
const [contentCompact, setContentCompact] = React.useState(true);
|
|
45
|
+
const restoreSidebarOnWideRef = React.useRef(isSidebarOpen);
|
|
62
46
|
React.useLayoutEffect(() => {
|
|
63
47
|
const root = rootRef.current;
|
|
64
48
|
if (!root) return;
|
|
@@ -83,11 +67,55 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen
|
|
|
83
67
|
observer.observe(root);
|
|
84
68
|
return () => observer.disconnect();
|
|
85
69
|
}, [
|
|
70
|
+
rootRef,
|
|
86
71
|
isSidebarOpen,
|
|
87
72
|
primeSidebarOpen,
|
|
88
73
|
setSidebarOpen,
|
|
89
74
|
wantsBuiltInDefault
|
|
90
75
|
]);
|
|
76
|
+
React.useLayoutEffect(() => {
|
|
77
|
+
const main = mainRef.current;
|
|
78
|
+
if (!main) return;
|
|
79
|
+
const syncContent = () => {
|
|
80
|
+
if (main.offsetWidth > 0) setContentCompact(isCompactSidebar(main));
|
|
81
|
+
};
|
|
82
|
+
syncContent();
|
|
83
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
84
|
+
const observer = new ResizeObserver(syncContent);
|
|
85
|
+
observer.observe(main);
|
|
86
|
+
return () => observer.disconnect();
|
|
87
|
+
}, [mainRef]);
|
|
88
|
+
return {
|
|
89
|
+
compact,
|
|
90
|
+
contentCompact
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The one application shell: responsive master-detail with a resizable desktop
|
|
95
|
+
* sidebar, a compact floating drawer that leaves the main content in place as
|
|
96
|
+
* a dismiss target, and a shell-owned application bar composed from slots.
|
|
97
|
+
* The root exposes `data-sidebar-open="true" | "false"` as its public styling
|
|
98
|
+
* hook, and its container name `responsive-sidebar-shell` is public contract:
|
|
99
|
+
* surfaces that compose the shell size themselves against it.
|
|
100
|
+
*/
|
|
101
|
+
function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen, sidebarTogglePlacement = "main", defaultSidebarOpen, defaultSidebarWidth = sidebarDefaultWidth, onSidebarOpenChange, bar, error, showMainLabel = "Show main content", className, children, ref, style, ...props }) {
|
|
102
|
+
const sidebarId = React.useId();
|
|
103
|
+
const rootRef = React.useRef(null);
|
|
104
|
+
const mainRef = React.useRef(null);
|
|
105
|
+
const openerRef = React.useRef(null);
|
|
106
|
+
const [isSidebarOpen, setSidebarOpen, primeSidebarOpen] = useControllableSidebar({
|
|
107
|
+
sidebarOpen,
|
|
108
|
+
defaultSidebarOpen,
|
|
109
|
+
onSidebarOpenChange
|
|
110
|
+
});
|
|
111
|
+
const { compact, contentCompact } = useSidebarLayout({
|
|
112
|
+
rootRef,
|
|
113
|
+
mainRef,
|
|
114
|
+
isSidebarOpen,
|
|
115
|
+
setSidebarOpen,
|
|
116
|
+
primeSidebarOpen,
|
|
117
|
+
wantsBuiltInDefault: sidebarOpen === void 0 && defaultSidebarOpen === void 0
|
|
118
|
+
});
|
|
91
119
|
const hasSidebar = sidebar != null;
|
|
92
120
|
const sidebarVisible = hasSidebar && isSidebarOpen;
|
|
93
121
|
const toggleLabel = capitalize(sidebarLabel);
|
|
@@ -115,10 +143,12 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen
|
|
|
115
143
|
}, [setSidebarOpen, updateSidebar]);
|
|
116
144
|
const controls = React.useMemo(() => ({
|
|
117
145
|
compact,
|
|
146
|
+
contentCompact,
|
|
118
147
|
closeSidebar,
|
|
119
148
|
closeSidebarOnCompact
|
|
120
149
|
}), [
|
|
121
150
|
compact,
|
|
151
|
+
contentCompact,
|
|
122
152
|
closeSidebar,
|
|
123
153
|
closeSidebarOnCompact
|
|
124
154
|
]);
|
|
@@ -174,6 +204,7 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen
|
|
|
174
204
|
/* @__PURE__ */ jsxs("div", {
|
|
175
205
|
ref: mainRef,
|
|
176
206
|
className: "responsive-sidebar-shell__main",
|
|
207
|
+
"data-content-compact": String(contentCompact),
|
|
177
208
|
tabIndex: -1,
|
|
178
209
|
children: [
|
|
179
210
|
/* @__PURE__ */ jsx(SidebarAppBar, {
|
|
@@ -209,9 +240,8 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen
|
|
|
209
240
|
}
|
|
210
241
|
function SidebarAppBar({ bar, hasSidebar, sidebarTogglePlacement, sidebarId, isSidebarOpen, toggleSidebar, toggleLabel, toggleTooltip }) {
|
|
211
242
|
const hasCustomLeading = bar?.leading != null;
|
|
212
|
-
const hasAppLeading = bar?.back != null || hasCustomLeading;
|
|
213
243
|
const hasTitleTrigger = hasSidebar && bar?.compactTitleTrigger != null && bar?.compactLeading == null;
|
|
214
|
-
const mainSidebarToggle = hasSidebar && (sidebarTogglePlacement === "sidebar" || !hasCustomLeading) ? /* @__PURE__ */ jsx(AppTopBar.Button, {
|
|
244
|
+
const mainSidebarToggle = hasSidebar && (sidebarTogglePlacement === "sidebar" || !hasCustomLeading || !isSidebarOpen) ? /* @__PURE__ */ jsx(AppTopBar.Button, {
|
|
215
245
|
className: cx("responsive-sidebar-shell__toggle", sidebarToggleClassName(sidebarTogglePlacement, hasTitleTrigger, bar?.compactLeading != null)),
|
|
216
246
|
label: toggleLabel,
|
|
217
247
|
tooltip: toggleTooltip,
|
|
@@ -221,7 +251,7 @@ function SidebarAppBar({ bar, hasSidebar, sidebarTogglePlacement, sidebarId, isS
|
|
|
221
251
|
onClick: (event) => toggleSidebar(event.currentTarget),
|
|
222
252
|
children: /* @__PURE__ */ jsx(SidebarIcon, {})
|
|
223
253
|
}) : null;
|
|
224
|
-
const compactLeadingMode = hasTitleTrigger ? "trigger" :
|
|
254
|
+
const compactLeadingMode = hasTitleTrigger ? "trigger" : bar?.compactLeading != null ? "custom" : void 0;
|
|
225
255
|
if (!hasSidebarAppBar(bar, hasSidebar)) return null;
|
|
226
256
|
return /* @__PURE__ */ jsxs(AppTopBar.Root, {
|
|
227
257
|
"aria-label": bar?.label ?? "Application controls",
|
|
@@ -270,15 +300,17 @@ function sidebarToggleClassName(placement, hasTitleTrigger, hasCompactLeading) {
|
|
|
270
300
|
if (hasCompactLeading) return "responsive-sidebar-shell__toggle--replaced-by-compact-leading";
|
|
271
301
|
}
|
|
272
302
|
function SidebarAppBarLeading({ bar, mainSidebarToggle, compactLeadingMode }) {
|
|
303
|
+
const { contentCompact } = useResponsiveSidebarShell();
|
|
304
|
+
const compactNavigationActive = contentCompact && compactLeadingMode === "custom";
|
|
273
305
|
if (mainSidebarToggle == null && bar?.back == null && bar?.leading == null && bar?.compactLeading == null) return null;
|
|
274
306
|
return /* @__PURE__ */ jsxs(AppTopBar.Leading, { children: [
|
|
275
|
-
|
|
307
|
+
mainSidebarToggle,
|
|
308
|
+
bar?.back && !compactNavigationActive ? /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
276
309
|
label: bar.back.label,
|
|
277
310
|
render: bar.back.link,
|
|
278
311
|
children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
|
|
279
312
|
}) : null,
|
|
280
|
-
bar?.leading,
|
|
281
|
-
mainSidebarToggle,
|
|
313
|
+
compactNavigationActive ? null : bar?.leading,
|
|
282
314
|
compactLeadingMode === "custom" ? /* @__PURE__ */ jsx("span", {
|
|
283
315
|
className: "responsive-sidebar-shell__compact-leading",
|
|
284
316
|
children: bar?.compactLeading
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Button } from "../foundations/Button.js";
|
|
2
|
-
import { Dialog } from "../foundations/Dialog.js";
|
|
3
|
-
import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
|
|
4
2
|
import { Field } from "../foundations/Field.js";
|
|
5
3
|
import { Form } from "../foundations/Form.js";
|
|
4
|
+
import { Dialog } from "../foundations/Dialog.js";
|
|
5
|
+
import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/general-purpose/SettingsFormDialog.tsx
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as SetupChecklistGroup, t as SetupChecklistAction } from "../../SetupChecklist-
|
|
1
|
+
import { n as SetupChecklistGroup, t as SetupChecklistAction } from "../../SetupChecklist-DWyifWWg.js";
|
|
2
2
|
export { SetupChecklistAction, SetupChecklistGroup };
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { EmptyStateProps } from "../foundations/EmptyState.js";
|
|
2
|
+
import * as React from "react";
|
|
2
3
|
|
|
3
4
|
//#region src/components/general-purpose/StatusScreen.d.ts
|
|
4
5
|
/** A whole-region status with one shared layout for its message and recovery actions. */
|
|
5
6
|
declare function StatusScreen({
|
|
6
7
|
role,
|
|
8
|
+
page,
|
|
9
|
+
title,
|
|
7
10
|
...props
|
|
8
|
-
}: EmptyStateProps
|
|
11
|
+
}: EmptyStateProps & {
|
|
12
|
+
/** Standalone page semantics: a main landmark and level-one title. */page?: boolean;
|
|
13
|
+
}): React.JSX.Element;
|
|
14
|
+
/** Nonvisual route/status updates; the host supplies the localized announcement. */
|
|
15
|
+
declare function StatusAnnouncement({
|
|
16
|
+
children
|
|
17
|
+
}: {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}): React.JSX.Element;
|
|
9
20
|
//#endregion
|
|
10
|
-
export { StatusScreen };
|
|
21
|
+
export { StatusAnnouncement, StatusScreen };
|
|
@@ -2,12 +2,36 @@ import { EmptyState } from "../foundations/EmptyState.js";
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/general-purpose/StatusScreen.tsx
|
|
4
4
|
/** A whole-region status with one shared layout for its message and recovery actions. */
|
|
5
|
-
function StatusScreen({ role = "status", ...props }) {
|
|
5
|
+
function StatusScreen({ role = "status", page = false, title, ...props }) {
|
|
6
|
+
if (page) return /* @__PURE__ */ jsx("main", {
|
|
7
|
+
className: "status-screen",
|
|
8
|
+
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
9
|
+
...props,
|
|
10
|
+
role,
|
|
11
|
+
title: title ? /* @__PURE__ */ jsx("h1", {
|
|
12
|
+
className: "status-screen__title",
|
|
13
|
+
children: title
|
|
14
|
+
}) : void 0
|
|
15
|
+
})
|
|
16
|
+
});
|
|
6
17
|
return /* @__PURE__ */ jsx("section", {
|
|
7
18
|
className: "status-screen",
|
|
8
19
|
role,
|
|
9
|
-
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
20
|
+
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
21
|
+
title,
|
|
22
|
+
...props
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** Nonvisual route/status updates; the host supplies the localized announcement. */
|
|
27
|
+
function StatusAnnouncement({ children }) {
|
|
28
|
+
return /* @__PURE__ */ jsx("span", {
|
|
29
|
+
className: "sigvelo-visually-hidden",
|
|
30
|
+
role: "status",
|
|
31
|
+
"aria-live": "polite",
|
|
32
|
+
"aria-atomic": "true",
|
|
33
|
+
children
|
|
10
34
|
});
|
|
11
35
|
}
|
|
12
36
|
//#endregion
|
|
13
|
-
export { StatusScreen };
|
|
37
|
+
export { StatusAnnouncement, StatusScreen };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as IconButtonProps } from "../../IconButton-
|
|
2
|
-
import { t as CopyButtonProps } from "../../copy-button-
|
|
1
|
+
import { n as IconButtonProps } from "../../IconButton-CAlFVb2L.js";
|
|
2
|
+
import { t as CopyButtonProps } from "../../copy-button-CJYYgCIU.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/general-purpose/Terminal.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { Z as TerminalIcon, nt as XIcon } from "../../icons-
|
|
2
|
+
import { Z as TerminalIcon, nt as XIcon } from "../../icons-CeGfXO21.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-Dk2vRe9j.js";
|
|
5
5
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { K as SpinnerIcon, d as CheckIcon, nt as XIcon, p as ChevronRightIcon } from "../../icons-cuEtsgj9.js";
|
|
3
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
+
import { K as SpinnerIcon, d as CheckIcon, nt as XIcon, p as ChevronRightIcon } from "../../icons-CeGfXO21.js";
|
|
4
4
|
import { Progress } from "../foundations/Progress.js";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as MoonIcon, P as MonitorIcon, Y as SunIcon } from "../../icons-
|
|
1
|
+
import { F as MoonIcon, P as MonitorIcon, Y as SunIcon } from "../../icons-CeGfXO21.js";
|
|
2
2
|
import { useTheme } from "../foundations/ThemeProvider.js";
|
|
3
3
|
import { Radio, RadioGroup } from "../foundations/RadioGroup.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { H as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
|
|
3
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
+
import { H as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
|
-
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
6
5
|
import { Input } from "../foundations/Input.js";
|
|
6
|
+
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { useRender } from "@base-ui/react/use-render";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { D as LinkIcon } from "../../icons-
|
|
2
|
+
import { D as LinkIcon } from "../../icons-CeGfXO21.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-Dw1z6jc8.js";
|
|
4
5
|
import { Popover } from "../foundations/Popover.js";
|
|
5
|
-
import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-g8sADidM.js";
|
|
6
6
|
import { ToggleGroup } from "../foundations/ToggleGroup.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,10 +1,10 @@
|
|
|
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-CeGfXO21.js";
|
|
3
3
|
import { MessageActions } from "../ai-sdk/Message.js";
|
|
4
4
|
import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
|
|
5
5
|
import { NaniteMark } from "./NaniteScene.js";
|
|
6
|
-
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
7
6
|
import { AgentChat } from "../agents-sdk/AgentChat.js";
|
|
7
|
+
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
8
8
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
9
9
|
import { ThinkChat } from "../agents-sdk/ThinkChat.js";
|
|
10
10
|
import { SubagentRunMetadata } from "../agents-sdk/SubagentRunDetails.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as CheckIcon, h as CopyIcon } from "./icons-
|
|
1
|
+
import { d as CheckIcon, h as CopyIcon } from "./icons-CeGfXO21.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";
|
package/dist/styles/activity.css
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
margin-block: var(--sigvelo-spacing-2);
|
|
13
13
|
font-family: inherit;
|
|
14
14
|
/* Codex `conversation-body`: same ink as the turn, at 60%. Size matches
|
|
15
|
-
chat (`text-size-chat`);
|
|
16
|
-
color:
|
|
15
|
+
chat (`text-size-chat`); the muted foreground marks the row as status. */
|
|
16
|
+
color: var(--sigvelo-color-text-muted);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
.activity__trigger {
|
|
@@ -67,12 +67,8 @@
|
|
|
67
67
|
/* Takes the whole transcript region, the way the scroller it stands in for
|
|
68
68
|
does, so nothing moves when the rows arrive. The composer floats over its
|
|
69
69
|
lower edge, so the state sits slightly high rather than under it. The
|
|
70
|
-
|
|
70
|
+
shared brand loading state brings its own type and colour. */
|
|
71
71
|
.agent-chat__transcript-loading {
|
|
72
|
-
display: grid;
|
|
73
|
-
block-size: 100%;
|
|
74
|
-
min-block-size: 0;
|
|
75
|
-
place-items: center;
|
|
76
72
|
padding-block-end: var(--agent-chat-dock-size, 5rem);
|
|
77
73
|
}
|
|
78
74
|
|
|
@@ -98,10 +94,7 @@
|
|
|
98
94
|
display: grid;
|
|
99
95
|
align-content: start;
|
|
100
96
|
grid-template-rows: var(--sigvelo-layout-track-fill) auto var(--sigvelo-layout-track-fill);
|
|
101
|
-
inline-size: min(
|
|
102
|
-
100%,
|
|
103
|
-
var(--agent-chat-content-max-inline-size, var(--sigvelo-measure-wide-block))
|
|
104
|
-
);
|
|
97
|
+
inline-size: min(100%, var(--sigvelo-measure-prose));
|
|
105
98
|
min-block-size: 100%;
|
|
106
99
|
margin-inline: auto;
|
|
107
100
|
padding-block: max(var(--agent-chat-start-screen-padding-block), env(safe-area-inset-top, 0px))
|
|
@@ -120,7 +113,7 @@
|
|
|
120
113
|
|
|
121
114
|
.agent-chat-start-screen__heading {
|
|
122
115
|
margin: 0;
|
|
123
|
-
color: var(--sigvelo-color-text);
|
|
116
|
+
color: var(--sigvelo-color-primary-text);
|
|
124
117
|
font-size: var(--sigvelo-text-lg);
|
|
125
118
|
font-weight: var(--sigvelo-font-weight-normal);
|
|
126
119
|
letter-spacing: var(--sigvelo-tracking-normal);
|
|
@@ -164,56 +157,14 @@
|
|
|
164
157
|
inline-size: 100%;
|
|
165
158
|
}
|
|
166
159
|
|
|
167
|
-
/*
|
|
168
|
-
the same quiet look without per-app classes. Hug the actions — a short
|
|
169
|
-
viewport (Storybook addons, a short side panel) used to stretch this into
|
|
170
|
-
a vacant slab. Space-between only when there are three slots to fill.
|
|
171
|
-
Compact control tokens keep this strip on the same ramp as the composer.
|
|
172
|
-
Count buttons only: opening a popup inserts non-layout focus guards. */
|
|
160
|
+
/* Keep the utility tray inset beneath the floating composer. */
|
|
173
161
|
.agent-chat-start-screen__composer-tray {
|
|
174
162
|
align-self: start;
|
|
175
|
-
|
|
163
|
+
flex-wrap: wrap;
|
|
164
|
+
justify-content: center;
|
|
176
165
|
min-block-size: 0;
|
|
177
166
|
}
|
|
178
167
|
|
|
179
|
-
.agent-chat-start-screen__composer-tray:has(
|
|
180
|
-
> :nth-child(3 of .button):nth-last-child(1 of .button)
|
|
181
|
-
) {
|
|
182
|
-
justify-content: space-between;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
.agent-chat-start-screen__composer-tray > .button {
|
|
186
|
-
--sigvelo-recipe-button-height: var(--sigvelo-density-compact-control-height);
|
|
187
|
-
--sigvelo-recipe-button-font-size: var(--sigvelo-density-compact-control-font-size);
|
|
188
|
-
--sigvelo-recipe-button-icon-size: var(--sigvelo-density-compact-control-icon-size);
|
|
189
|
-
|
|
190
|
-
min-inline-size: 0;
|
|
191
|
-
gap: var(--sigvelo-density-compact-control-gap);
|
|
192
|
-
padding-inline: var(--sigvelo-density-compact-control-padding-inline);
|
|
193
|
-
color: inherit;
|
|
194
|
-
font-size: var(--sigvelo-density-compact-control-font-size);
|
|
195
|
-
font-weight: var(--sigvelo-font-weight-normal);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.agent-chat-start-screen__composer-tray > .button > svg {
|
|
199
|
-
flex: none;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.agent-chat-start-screen__composer-tray .app-icon {
|
|
203
|
-
--sigvelo-recipe-app-icon-size: var(--sigvelo-spacing-5);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.agent-chat-start-screen__composer-tray .app-icon :is(svg, img) {
|
|
207
|
-
inline-size: 100%;
|
|
208
|
-
block-size: 100%;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
.agent-chat-start-screen__composer-tray > .button > span:not(.app-icon-stack) {
|
|
212
|
-
overflow: hidden;
|
|
213
|
-
text-overflow: ellipsis;
|
|
214
|
-
white-space: nowrap;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
168
|
.agent-chat-start-screen__suggestions {
|
|
218
169
|
grid-row: 3;
|
|
219
170
|
align-self: start;
|
|
@@ -307,41 +258,6 @@
|
|
|
307
258
|
opacity: 1;
|
|
308
259
|
}
|
|
309
260
|
|
|
310
|
-
/* First paint only. The start screen is replaced by the transcript after the
|
|
311
|
-
first message, so this never re-runs mid-conversation. */
|
|
312
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
313
|
-
.agent-chat-start-screen__primary > *,
|
|
314
|
-
.agent-chat-starter {
|
|
315
|
-
animation: agent-chat-start-screen-enter var(--sigvelo-motion-duration-disclosure)
|
|
316
|
-
var(--sigvelo-ease-snappy) backwards;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
.agent-chat-start-screen__primary > *:nth-child(2),
|
|
320
|
-
.agent-chat-starter:nth-child(2) {
|
|
321
|
-
animation-delay: calc(var(--sigvelo-motion-stagger-step) * 1);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.agent-chat-start-screen__content > *:nth-child(3),
|
|
325
|
-
.agent-chat-starter:nth-child(3) {
|
|
326
|
-
animation-delay: calc(var(--sigvelo-motion-stagger-step) * 2);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
.agent-chat-starter:nth-child(4) {
|
|
330
|
-
animation-delay: calc(var(--sigvelo-motion-stagger-step) * 3);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
.agent-chat-starter:nth-child(n + 5) {
|
|
334
|
-
animation-delay: calc(var(--sigvelo-motion-stagger-step) * 4);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
@keyframes agent-chat-start-screen-enter {
|
|
339
|
-
from {
|
|
340
|
-
opacity: 0;
|
|
341
|
-
translate: 0 var(--sigvelo-motion-distance-md);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
261
|
/*
|
|
346
262
|
* Once there is something in the composer, the screen quiets around it instead
|
|
347
263
|
* of moving it: the heading slides down behind the composer and the starters
|
|
@@ -564,21 +480,6 @@
|
|
|
564
480
|
font-size: var(--sigvelo-text-lg);
|
|
565
481
|
}
|
|
566
482
|
|
|
567
|
-
.agent-chat-start-screen__composer-tray:has(
|
|
568
|
-
> :nth-child(3 of .button):nth-last-child(1 of .button)
|
|
569
|
-
) {
|
|
570
|
-
display: grid;
|
|
571
|
-
grid-template-columns: repeat(3, var(--sigvelo-layout-track-fill));
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
.agent-chat-start-screen__composer-tray:has(
|
|
575
|
-
> :nth-child(3 of .button):nth-last-child(1 of .button)
|
|
576
|
-
)
|
|
577
|
-
> .button {
|
|
578
|
-
inline-size: 100%;
|
|
579
|
-
justify-content: center;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
483
|
.agent-chat-starter__label {
|
|
583
484
|
overflow: hidden;
|
|
584
485
|
text-overflow: ellipsis;
|
|
@@ -42,7 +42,8 @@
|
|
|
42
42
|
max-inline-size: min(20rem, 45vw);
|
|
43
43
|
align-self: center;
|
|
44
44
|
justify-self: center;
|
|
45
|
-
color: var(--sigvelo-color-text);
|
|
45
|
+
color: var(--sigvelo-color-primary-text);
|
|
46
|
+
letter-spacing: var(--sigvelo-tracking-tight);
|
|
46
47
|
font-size: var(--sigvelo-density-compact-control-font-size);
|
|
47
48
|
font-weight: var(--sigvelo-font-weight-semibold);
|
|
48
49
|
line-height: var(--sigvelo-leading-tight);
|
|
@@ -56,14 +57,13 @@
|
|
|
56
57
|
/* A panel header, not an application title bar: the symmetric track layout
|
|
57
58
|
would float the name in the middle of the plane instead of labelling its
|
|
58
59
|
leading edge. Only the trailing group still needs room of its own.
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
A single hairline separates scrolling content while the title stays flat
|
|
61
|
+
against its hosting surface in both themes. */
|
|
61
62
|
.app-top-bar[data-title-align="start"] {
|
|
62
63
|
position: relative;
|
|
63
64
|
grid-template-columns: auto auto var(--sigvelo-layout-track-fill);
|
|
64
65
|
border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
|
|
65
66
|
var(--sigvelo-color-neutral-border-subtle);
|
|
66
|
-
box-shadow: var(--sigvelo-elevation-bar);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.app-top-bar[data-title-align="start"] .app-top-bar__title {
|
|
@@ -126,3 +126,9 @@
|
|
|
126
126
|
outline-offset: -2px;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
+
|
|
130
|
+
/* A matching router destination does not select an action such as New thread. */
|
|
131
|
+
.app-top-bar__button:is([aria-pressed="true"], [data-pressed]) {
|
|
132
|
+
color: var(--sigvelo-color-primary-text-on-subtle);
|
|
133
|
+
background-color: var(--sigvelo-color-primary-bg-subtle);
|
|
134
|
+
}
|
package/dist/styles/avatar.css
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
block-size: 100%;
|
|
65
65
|
font-size: var(--sigvelo-text-sm);
|
|
66
66
|
font-weight: var(--sigvelo-font-weight-semibold);
|
|
67
|
-
color: var(--sigvelo-color-text-
|
|
67
|
+
color: var(--sigvelo-color-neutral-text-on-subtle);
|
|
68
68
|
text-transform: uppercase;
|
|
69
69
|
background-color: var(--sigvelo-color-neutral-bg-subtle);
|
|
70
70
|
border-radius: inherit;
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
background-color: var(--sigvelo-color-neutral-bg-muted);
|
|
110
110
|
border: 2px solid var(--sigvelo-color-canvas);
|
|
111
111
|
border-radius: var(--sigvelo-radius-full);
|
|
112
|
-
color: var(--sigvelo-color-text-
|
|
112
|
+
color: var(--sigvelo-color-neutral-text-on-subtle);
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.avatar-group:has(.avatar[data-size="sm"]) .avatar-group__count {
|
package/dist/styles/base.css
CHANGED
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
.inline-citation__trigger,
|
|
46
46
|
.media-preview-card__play,
|
|
47
47
|
.manager-office__unread-dot,
|
|
48
|
-
.manager-office__nav-status,
|
|
49
48
|
.manager-office__employee-nav::-webkit-scrollbar-thumb,
|
|
50
49
|
:where([data-layout="chat"]) .manager-office__employee-link[aria-current="page"]::after,
|
|
51
50
|
.menu__radio-indicator::before,
|
|
@@ -70,7 +69,6 @@
|
|
|
70
69
|
.stepper__separator,
|
|
71
70
|
.stepper__trigger,
|
|
72
71
|
.subagent-run__milestone::before,
|
|
73
|
-
.subagent-run__selector,
|
|
74
72
|
.switch,
|
|
75
73
|
.switch__thumb,
|
|
76
74
|
.task__item::before,
|
|
@@ -166,6 +164,12 @@ a {
|
|
|
166
164
|
touch-action: manipulation;
|
|
167
165
|
}
|
|
168
166
|
|
|
167
|
+
/* Native content links share the brand accent; control-owned link recipes
|
|
168
|
+
can still supply their own foreground in the components layer. */
|
|
169
|
+
:where(a[href]) {
|
|
170
|
+
color: var(--sigvelo-color-primary-text);
|
|
171
|
+
}
|
|
172
|
+
|
|
169
173
|
button,
|
|
170
174
|
input,
|
|
171
175
|
optgroup,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
.brand-loading {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
gap: var(--sigvelo-layout-gutter);
|
|
7
|
+
inline-size: 100%;
|
|
8
|
+
block-size: 100%;
|
|
9
|
+
min-block-size: 0;
|
|
10
|
+
padding: var(--sigvelo-layout-gutter);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.brand-loading__mark {
|
|
14
|
+
position: relative;
|
|
15
|
+
display: block;
|
|
16
|
+
inline-size: var(--sigvelo-spacing-24);
|
|
17
|
+
aspect-ratio: 1;
|
|
18
|
+
flex: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.brand-loading__mark img {
|
|
22
|
+
display: block;
|
|
23
|
+
inline-size: 100%;
|
|
24
|
+
block-size: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.brand-loading__mark::after {
|
|
28
|
+
position: absolute;
|
|
29
|
+
inset: 0;
|
|
30
|
+
content: "";
|
|
31
|
+
background: linear-gradient(
|
|
32
|
+
105deg,
|
|
33
|
+
transparent 38%,
|
|
34
|
+
var(--sigvelo-color-primary-text-on-bg) 50%,
|
|
35
|
+
transparent 62%
|
|
36
|
+
);
|
|
37
|
+
background-size: 300% 100%;
|
|
38
|
+
mask: url("../assets/sigvelo-logo.svg") center / contain no-repeat;
|
|
39
|
+
animation: sigvelo-text-shimmer var(--sigvelo-motion-duration-shimmer)
|
|
40
|
+
var(--sigvelo-motion-ease-change) infinite;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.brand-loading__label {
|
|
44
|
+
color: var(--sigvelo-color-text-muted);
|
|
45
|
+
font-size: var(--sigvelo-text-compact);
|
|
46
|
+
line-height: var(--sigvelo-text-compact-leading);
|
|
47
|
+
text-align: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
|
|
51
|
+
.brand-loading__mark::after {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:root[data-motion="reduce"] .brand-loading__mark::after {
|
|
57
|
+
display: none;
|
|
58
|
+
}
|