@mcp-b/react-components 0.21.0 → 0.23.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/{AgentChat-Dvkn8lce.d.ts → AgentChat-Bm1qYbOo.d.ts} +2 -2
- package/dist/{AgentChatStartScreen-CvXJBr4y.d.ts → AgentChatStartScreen-DDZ25aax.d.ts} +4 -1
- package/dist/{Button-yRInko9u.d.ts → Button-SBIz6Lqi.d.ts} +2 -1
- package/dist/{CodeBlock-ygtuzqJd.js → CodeBlock-Cp67Njo3.js} +1 -1
- package/dist/{CodeBlock-Bbls1CnA.d.ts → CodeBlock-yMpGqScn.d.ts} +1 -1
- package/dist/Dialog-BD8NBKaE.d.ts +122 -0
- package/dist/{FileTree-CdgfccsM.js → FileTree-DW60q1w7.js} +1 -1
- package/dist/IconButton-CFKhu6OR.d.ts +35 -0
- package/dist/{Message-DzuteocT.js → Message-_-bEYLAO.js} +9 -16
- package/dist/{ModelSelector-CEd8M9eK.js → ModelSelector-Brvj9Cab.js} +1 -1
- package/dist/{PromptInput-Cq-8RoXD.d.ts → PromptInput-BjoPWaaG.d.ts} +15 -2
- package/dist/{ThinkChatActivity-FY1VWXgh.d.ts → ThinkChatActivity-2BobmuvR.d.ts} +1 -1
- package/dist/{Workspace-CWtust-2.d.ts → Workspace-CIycQ4xE.d.ts} +1 -1
- package/dist/{WorkspaceExplorer-DGigwsgH.d.ts → WorkspaceExplorer-BCipn7Vd.d.ts} +1 -1
- package/dist/{WorkspaceFile-D8Un_xge.d.ts → WorkspaceFile-DMtRMwVv.d.ts} +1 -1
- package/dist/{WorkspaceFileView-Bxx4wEzJ.js → WorkspaceFileView-rUEN2iox.js} +4 -4
- package/dist/assets/think-browser-host.png +0 -0
- package/dist/components/ActionGuide.d.ts +85 -0
- package/dist/components/ActionGuide.js +94 -0
- package/dist/components/Activity.js +1 -1
- package/dist/components/AgentActivity.js +3 -11
- package/dist/components/AgentActivityPreview.js +15 -14
- package/dist/components/AgentAttention.d.ts +1 -1
- package/dist/components/AgentChat.d.ts +1 -1
- package/dist/components/AgentChat.js +33 -13
- package/dist/components/AgentChatStartScreen.d.ts +1 -1
- package/dist/components/AgentChatStartScreen.js +21 -15
- package/dist/components/AgentConnection.d.ts +1 -1
- 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.d.ts +2 -1
- package/dist/components/AlertDialog.js +8 -2
- package/dist/components/AppIcon.d.ts +58 -0
- package/dist/components/AppIcon.js +51 -0
- package/dist/components/AppTopBar.js +9 -10
- package/dist/components/Approval.js +1 -1
- package/dist/components/Artifact.d.ts +3 -7
- package/dist/components/Artifact.js +12 -18
- package/dist/components/Avatar.d.ts +7 -2
- package/dist/components/Avatar.js +4 -2
- package/dist/components/BrowserLiveView.js +1 -1
- package/dist/components/BrowserReplay.js +4 -5
- package/dist/components/BrowserRunPanel.js +1 -1
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/ChainOfThought.d.ts +1 -1
- package/dist/components/ChainOfThought.js +1 -1
- package/dist/components/ChatGptSignInScreen.js +2 -2
- package/dist/components/Checkbox.js +1 -1
- package/dist/components/Checkpoint.js +1 -1
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.js +1 -1
- package/dist/components/Commit.d.ts +1 -1
- package/dist/components/Commit.js +3 -3
- package/dist/components/ContextMenu.js +1 -1
- package/dist/components/Conversation.d.ts +2 -2
- package/dist/components/Conversation.js +4 -5
- package/dist/components/Dialog.d.ts +1 -117
- package/dist/components/Dialog.js +9 -1
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +2 -2
- package/dist/components/FileTree.js +1 -1
- package/dist/components/IconButton.d.ts +1 -31
- package/dist/components/IconButton.js +2 -1
- package/dist/components/McpConnectionRequest.d.ts +1 -1
- package/dist/components/McpConnectionRequest.js +1 -1
- package/dist/components/McpPluginCatalog.d.ts +86 -0
- package/dist/components/McpPluginCatalog.js +364 -0
- package/dist/components/McpServerPicker.d.ts +2 -2
- package/dist/components/McpServerPicker.js +7 -13
- package/dist/components/MediaPreviewCard.js +1 -1
- package/dist/components/Menubar.js +1 -1
- package/dist/components/Message.d.ts +4 -8
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +1 -1
- package/dist/components/ModelSelector.d.ts +2 -2
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/Plan.js +1 -1
- package/dist/components/PricingPlanCard.d.ts +1 -1
- package/dist/components/PricingPlanCard.js +10 -12
- package/dist/components/PromptInput.d.ts +2 -2
- package/dist/components/PromptInput.js +27 -10
- package/dist/components/Queue.d.ts +1 -1
- package/dist/components/Queue.js +2 -2
- package/dist/components/Reasoning.js +4 -9
- package/dist/components/ResponsiveSidebarShell.js +2 -1
- package/dist/components/ScrollArea.js +1 -0
- package/dist/components/SearchField.js +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Sources.js +1 -1
- package/dist/components/Stepper.js +1 -1
- package/dist/components/SubagentRunIndicator.js +1 -1
- package/dist/components/SubagentRunSelector.js +1 -1
- package/dist/components/Task.js +1 -1
- package/dist/components/Terminal.d.ts +3 -3
- package/dist/components/Terminal.js +7 -8
- package/dist/components/TestResults.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +5 -5
- package/dist/components/ThinkChatActivity.d.ts +1 -1
- package/dist/components/ThinkChatActivity.js +1 -1
- package/dist/components/ThinkChatToolPanels.js +1 -1
- package/dist/components/ThinkExecutionDetail.js +1 -1
- package/dist/components/ThinkExecutionStatus.js +1 -1
- package/dist/components/ThinkExecutionWorkbench.js +14 -21
- package/dist/components/ThinkFullApp.d.ts +8 -4
- package/dist/components/ThinkFullApp.js +17 -2
- package/dist/components/ThinkRoutineBrowser.js +2 -2
- package/dist/components/ThinkRoutineForm.js +3 -3
- package/dist/components/ThinkRoutineLibrary.js +2 -2
- package/dist/components/ThinkRoutineRuns.js +1 -1
- package/dist/components/ThinkThreadPicker.js +2 -3
- package/dist/components/Toast.d.ts +12 -2
- package/dist/components/Toast.js +14 -4
- package/dist/components/Tooltip.d.ts +6 -4
- package/dist/components/Tooltip.js +11 -4
- package/dist/components/WebPreview.d.ts +13 -6
- package/dist/components/WebPreview.js +55 -50
- package/dist/components/Workspace.d.ts +1 -1
- package/dist/components/WorkspaceBrowser.d.ts +1 -1
- package/dist/components/WorkspaceBrowser.js +1 -1
- package/dist/components/WorkspaceExplorer.d.ts +3 -3
- package/dist/components/WorkspaceExplorer.js +1 -1
- package/dist/components/WorkspaceFile.d.ts +1 -1
- package/dist/components/WorkspaceFileView.d.ts +1 -1
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.js +1 -1
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/{copy-button-BrvQ7z4W.d.ts → copy-button-EBv_B9F6.d.ts} +2 -2
- package/dist/{copy-button-vo1paUSi.js → copy-button-TWq8nZhc.js} +8 -8
- package/dist/{icons-DyOM0EJs.js → icons-ua6f_GH3.js} +3 -2
- package/dist/{icons-DkRtZmvT.d.ts → icons-wP1yFUXF.d.ts} +6 -1
- package/dist/mcp-server-catalog-DycejaJ5.d.ts +1077 -0
- package/dist/styles/action-guide.css +128 -0
- package/dist/styles/agent-activity-preview-overlay.css +13 -1
- package/dist/styles/agent-activity-preview.css +3 -34
- package/dist/styles/agent-chat.css +110 -75
- package/dist/styles/alert-dialog.css +0 -18
- package/dist/styles/app-icon.css +122 -0
- package/dist/styles/app-top-bar.css +0 -1
- package/dist/styles/avatar.css +13 -0
- package/dist/styles/base.css +0 -1
- package/dist/styles/button.css +14 -0
- package/dist/styles/description-list.css +2 -2
- package/dist/styles/dialog.css +6 -6
- package/dist/styles/index.css +3 -0
- package/dist/styles/mcp-plugin-catalog.css +296 -0
- package/dist/styles/mcp-server-picker.css +0 -26
- package/dist/styles/message-scroller.css +5 -1
- package/dist/styles/message.css +7 -0
- package/dist/styles/prompt-input.css +26 -14
- package/dist/styles/recipes.css +27 -5
- package/dist/styles/responsive-sidebar-shell.css +14 -8
- package/dist/styles/search-field.css +9 -0
- package/dist/styles/think-full-app.css +22 -2
- package/dist/styles/think-thread-picker.css +1 -11
- package/dist/styles/toast.css +0 -21
- package/dist/styles/tokens.css +6 -0
- package/dist/styles/web-preview.css +5 -0
- package/dist/utils/favicon.d.ts +10 -0
- package/dist/utils/favicon.js +18 -0
- package/dist/utils/mcp-server-catalog.d.ts +2 -1078
- package/dist/utils/mcp-server-catalog.js +3 -11
- package/dist/utils/structured-code.d.ts +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
.action-guide {
|
|
2
|
+
container: action-guide / inline-size;
|
|
3
|
+
display: grid;
|
|
4
|
+
gap: var(--sigvelo-spacing-8);
|
|
5
|
+
inline-size: 100%;
|
|
6
|
+
padding: var(--sigvelo-spacing-2) var(--sigvelo-spacing-2) var(--sigvelo-spacing-8);
|
|
7
|
+
color: var(--sigvelo-color-text);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.action-guide__header {
|
|
11
|
+
display: grid;
|
|
12
|
+
gap: var(--sigvelo-spacing-4);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.action-guide__title,
|
|
16
|
+
.action-guide__description,
|
|
17
|
+
.action-guide__section-title {
|
|
18
|
+
margin: 0;
|
|
19
|
+
font-size: var(--sigvelo-text-base);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.action-guide__title,
|
|
23
|
+
.action-guide__section-title {
|
|
24
|
+
font-weight: var(--sigvelo-font-weight-semibold);
|
|
25
|
+
line-height: var(--sigvelo-text-lg-leading);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.action-guide__description {
|
|
29
|
+
max-inline-size: var(--sigvelo-measure-prose);
|
|
30
|
+
line-height: var(--sigvelo-text-lg-leading);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.action-guide__section {
|
|
34
|
+
display: grid;
|
|
35
|
+
gap: var(--sigvelo-spacing-4);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.action-guide__list {
|
|
39
|
+
display: grid;
|
|
40
|
+
grid-template-columns: minmax(0, 1fr);
|
|
41
|
+
gap: var(--sigvelo-spacing-3);
|
|
42
|
+
margin: 0;
|
|
43
|
+
padding: 0;
|
|
44
|
+
list-style: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.action-guide__list[data-layout="compact"] {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-wrap: wrap;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.action-guide__list[data-layout="list"] {
|
|
53
|
+
gap: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.action-guide__item,
|
|
57
|
+
.action-guide__action {
|
|
58
|
+
min-inline-size: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.action-guide__action {
|
|
62
|
+
inline-size: 100%;
|
|
63
|
+
justify-content: flex-start;
|
|
64
|
+
color: var(--sigvelo-color-text);
|
|
65
|
+
font-size: var(--sigvelo-text-base);
|
|
66
|
+
font-weight: var(--sigvelo-font-weight-normal);
|
|
67
|
+
letter-spacing: var(--sigvelo-tracking-tight);
|
|
68
|
+
line-height: var(--sigvelo-text-base-leading);
|
|
69
|
+
white-space: normal;
|
|
70
|
+
text-align: start;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.action-guide__action-icon {
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
flex: none;
|
|
76
|
+
color: var(--sigvelo-color-primary-text);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.action-guide__action-icon svg {
|
|
80
|
+
inline-size: var(--sigvelo-control-icon-size-md);
|
|
81
|
+
block-size: var(--sigvelo-control-icon-size-md);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.action-guide__action-label {
|
|
85
|
+
min-inline-size: 0;
|
|
86
|
+
overflow-wrap: anywhere;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.action-guide__list[data-layout="compact"] .action-guide__action {
|
|
90
|
+
inline-size: auto;
|
|
91
|
+
max-inline-size: 100%;
|
|
92
|
+
min-block-size: var(--sigvelo-spacing-12);
|
|
93
|
+
gap: var(--sigvelo-spacing-3);
|
|
94
|
+
padding-inline: var(--sigvelo-spacing-4);
|
|
95
|
+
border-radius: var(--sigvelo-radius-lg);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.action-guide__list[data-layout="cards"] .action-guide__action {
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
align-items: flex-start;
|
|
101
|
+
min-block-size: calc(var(--sigvelo-spacing-24) + var(--sigvelo-spacing-2));
|
|
102
|
+
gap: var(--sigvelo-spacing-4);
|
|
103
|
+
padding: var(--sigvelo-spacing-4);
|
|
104
|
+
border-radius: var(--sigvelo-radius-lg);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.action-guide__list[data-layout="cards"] .action-guide__action-label {
|
|
108
|
+
margin-block-start: auto;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.action-guide__list[data-layout="list"] .action-guide__action {
|
|
112
|
+
min-block-size: calc(var(--sigvelo-control-height-xl) + var(--sigvelo-spacing-2));
|
|
113
|
+
gap: var(--sigvelo-spacing-3);
|
|
114
|
+
padding-inline: var(--sigvelo-spacing-2-5);
|
|
115
|
+
border-radius: var(--sigvelo-radius-lg);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@container action-guide (width > 30rem) {
|
|
119
|
+
.action-guide__list[data-layout="cards"] {
|
|
120
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@media (forced-colors: active) {
|
|
125
|
+
.action-guide__action-icon {
|
|
126
|
+
color: ButtonText;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* owns placement, top-layer behavior, containment, and pointer-event policy.
|
|
4
4
|
*/
|
|
5
5
|
@import "./activity-header.css";
|
|
6
|
+
@import "./app-icon.css";
|
|
6
7
|
@import "./agent-activity-preview.css";
|
|
7
8
|
|
|
8
9
|
:host {
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
* token the imported stylesheets read has to be restated here. A token that
|
|
18
19
|
* is missing does not fall back to the page value — it resolves to nothing
|
|
19
20
|
* and the declaration is dropped, which is silent. Keep this list in step
|
|
20
|
-
* with what
|
|
21
|
+
* with what the imported component stylesheets actually use.
|
|
21
22
|
*
|
|
22
23
|
* These are px, not rem, and that is the point. This bundle renders in an
|
|
23
24
|
* active-tab content script, and `rem` resolves against the host page's root
|
|
@@ -30,14 +31,22 @@
|
|
|
30
31
|
--sigvelo-spacing-1-5: 6px;
|
|
31
32
|
--sigvelo-spacing-2: 8px;
|
|
32
33
|
--sigvelo-spacing-3: 12px;
|
|
34
|
+
--sigvelo-spacing-4: 16px;
|
|
35
|
+
--sigvelo-spacing-5: 20px;
|
|
36
|
+
--sigvelo-spacing-6: 24px;
|
|
33
37
|
--sigvelo-spacing-8: 32px;
|
|
38
|
+
--sigvelo-spacing-10: 40px;
|
|
39
|
+
--sigvelo-spacing-12: 48px;
|
|
40
|
+
--sigvelo-spacing-14: 56px;
|
|
34
41
|
--sigvelo-radius-md: 8px;
|
|
35
42
|
--sigvelo-radius-lg: 12px;
|
|
36
43
|
--sigvelo-radius-xs: 3px;
|
|
37
44
|
--sigvelo-radius-full: 9999px;
|
|
38
45
|
--sigvelo-border-style: solid;
|
|
46
|
+
--sigvelo-border-width-hairline: 0.5px;
|
|
39
47
|
--sigvelo-border-width: 1px;
|
|
40
48
|
--sigvelo-text-compact: 13px;
|
|
49
|
+
--sigvelo-text-xs: 12px;
|
|
41
50
|
--sigvelo-font-weight-normal: 400;
|
|
42
51
|
--sigvelo-font-weight-semibold: 500;
|
|
43
52
|
--sigvelo-control-height-sm: 32px;
|
|
@@ -51,9 +60,12 @@
|
|
|
51
60
|
--sigvelo-ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
52
61
|
--sigvelo-color-surface: Canvas;
|
|
53
62
|
--sigvelo-color-surface-raised: Canvas;
|
|
63
|
+
--sigvelo-color-shadow: black;
|
|
54
64
|
--sigvelo-color-text: CanvasText;
|
|
55
65
|
--sigvelo-color-text-muted: GrayText;
|
|
56
66
|
--sigvelo-color-primary-text: LinkText;
|
|
67
|
+
--sigvelo-color-primary-bg: CanvasText;
|
|
68
|
+
--sigvelo-color-primary-text-on-bg: Canvas;
|
|
57
69
|
--sigvelo-color-warning-text: #8a4b00;
|
|
58
70
|
--sigvelo-color-neutral-bg-subtle: color-mix(in oklab, CanvasText 7%, Canvas);
|
|
59
71
|
--sigvelo-elevation-raised:
|
|
@@ -33,17 +33,10 @@
|
|
|
33
33
|
z-index: 1;
|
|
34
34
|
inset-block-start: calc(-1 * var(--sigvelo-spacing-2));
|
|
35
35
|
inset-inline-end: var(--sigvelo-spacing-1);
|
|
36
|
-
display: grid;
|
|
37
|
-
place-items: center;
|
|
38
|
-
width: var(--sigvelo-control-height-sm);
|
|
39
|
-
height: var(--sigvelo-control-height-sm);
|
|
40
|
-
padding: 0;
|
|
41
|
-
border: 0;
|
|
42
36
|
border-radius: var(--sigvelo-radius-full);
|
|
43
37
|
color: var(--sigvelo-color-text-muted);
|
|
44
38
|
background: var(--sigvelo-color-surface-raised);
|
|
45
39
|
box-shadow: var(--sigvelo-elevation-raised);
|
|
46
|
-
cursor: pointer;
|
|
47
40
|
opacity: 0;
|
|
48
41
|
scale: 0.92;
|
|
49
42
|
transition:
|
|
@@ -59,22 +52,17 @@
|
|
|
59
52
|
scale: 1;
|
|
60
53
|
}
|
|
61
54
|
|
|
62
|
-
.agent-activity-preview__dismiss:hover {
|
|
55
|
+
.agent-activity-preview__dismiss:hover:not([data-disabled]) {
|
|
63
56
|
color: var(--sigvelo-color-text);
|
|
57
|
+
background: var(--sigvelo-color-surface-raised);
|
|
64
58
|
}
|
|
65
59
|
|
|
66
|
-
.agent-activity-preview__dismiss:focus-visible,
|
|
67
60
|
.agent-activity-preview__row:focus-visible,
|
|
68
61
|
.agent-activity-preview__file-action:focus-visible {
|
|
69
62
|
outline: none;
|
|
70
63
|
box-shadow: var(--sigvelo-recipe-focus-shadow);
|
|
71
64
|
}
|
|
72
65
|
|
|
73
|
-
.agent-activity-preview__dismiss > svg {
|
|
74
|
-
width: var(--sigvelo-control-icon-size-sm);
|
|
75
|
-
height: var(--sigvelo-control-icon-size-sm);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
66
|
.agent-activity-preview__list {
|
|
79
67
|
display: grid;
|
|
80
68
|
gap: var(--sigvelo-spacing-0-5);
|
|
@@ -163,24 +151,6 @@
|
|
|
163
151
|
min-width: 1rem;
|
|
164
152
|
}
|
|
165
153
|
|
|
166
|
-
.agent-activity-preview__favicons {
|
|
167
|
-
display: flex;
|
|
168
|
-
align-items: center;
|
|
169
|
-
padding-inline-start: var(--sigvelo-spacing-1);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.agent-activity-preview__favicons img {
|
|
173
|
-
display: block;
|
|
174
|
-
width: var(--sigvelo-control-icon-size-lg);
|
|
175
|
-
height: var(--sigvelo-control-icon-size-lg);
|
|
176
|
-
/* Overlap the run of favicons by a quarter of a step. */
|
|
177
|
-
margin-inline-start: calc(-1 * var(--sigvelo-spacing-1));
|
|
178
|
-
border: 2px solid var(--sigvelo-color-surface-raised);
|
|
179
|
-
border-radius: var(--sigvelo-radius-full);
|
|
180
|
-
background: var(--sigvelo-color-surface-raised);
|
|
181
|
-
object-fit: contain;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
154
|
.agent-activity-preview__trailing > svg {
|
|
185
155
|
width: var(--sigvelo-control-icon-size-md);
|
|
186
156
|
height: var(--sigvelo-control-icon-size-md);
|
|
@@ -233,8 +203,7 @@
|
|
|
233
203
|
|
|
234
204
|
.agent-activity-preview__badge,
|
|
235
205
|
.agent-activity-preview__dismiss,
|
|
236
|
-
.agent-activity-preview__file-action
|
|
237
|
-
.agent-activity-preview__favicons img {
|
|
206
|
+
.agent-activity-preview__file-action {
|
|
238
207
|
border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
|
|
239
208
|
}
|
|
240
209
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
max-inline-size: 100%;
|
|
27
27
|
inline-size: min(100%, var(--agent-chat-content-max-inline-size));
|
|
28
28
|
margin-inline: auto;
|
|
29
|
-
padding-block: var(--sigvelo-spacing-
|
|
29
|
+
padding-block: var(--sigvelo-spacing-8)
|
|
30
30
|
calc(var(--agent-chat-composer-size, 5rem) + var(--sigvelo-spacing-2));
|
|
31
31
|
padding-inline: var(--sigvelo-spacing-4);
|
|
32
32
|
}
|
|
@@ -54,40 +54,60 @@
|
|
|
54
54
|
|
|
55
55
|
.agent-chat-start-screen__content {
|
|
56
56
|
display: grid;
|
|
57
|
-
|
|
58
|
-
gap: var(--sigvelo-spacing-6);
|
|
57
|
+
grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
59
58
|
inline-size: min(100%, var(--agent-chat-content-max-inline-size));
|
|
60
59
|
min-block-size: 100%;
|
|
61
60
|
margin-inline: auto;
|
|
62
61
|
padding: clamp(var(--sigvelo-spacing-5), 8vb, var(--sigvelo-spacing-12)) var(--sigvelo-spacing-4);
|
|
63
62
|
}
|
|
64
63
|
|
|
64
|
+
.agent-chat-start-screen__primary {
|
|
65
|
+
grid-row: 2;
|
|
66
|
+
display: grid;
|
|
67
|
+
gap: var(--sigvelo-spacing-6);
|
|
68
|
+
min-inline-size: 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
65
71
|
.agent-chat-start-screen__heading {
|
|
66
72
|
margin: 0;
|
|
67
73
|
color: var(--sigvelo-color-text);
|
|
68
|
-
font-size:
|
|
69
|
-
font-weight: var(--sigvelo-font-weight-
|
|
70
|
-
letter-spacing: var(--sigvelo-tracking-
|
|
71
|
-
line-height: var(--sigvelo-leading
|
|
74
|
+
font-size: var(--sigvelo-text-2xl);
|
|
75
|
+
font-weight: var(--sigvelo-font-weight-normal);
|
|
76
|
+
letter-spacing: var(--sigvelo-tracking-normal);
|
|
77
|
+
line-height: var(--sigvelo-text-lg-leading);
|
|
72
78
|
text-align: center;
|
|
73
79
|
text-wrap: balance;
|
|
74
80
|
}
|
|
75
81
|
|
|
76
|
-
.agent-chat-start-
|
|
82
|
+
.agent-chat-start-screen__composer {
|
|
83
|
+
display: grid;
|
|
84
|
+
min-inline-size: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.agent-chat-start-screen__composer > .agent-chat__composer {
|
|
77
88
|
position: static;
|
|
78
89
|
padding: 0;
|
|
79
90
|
background: none;
|
|
91
|
+
backdrop-filter: none;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.agent-chat-start-screen__composer > .agent-chat__composer::after {
|
|
95
|
+
content: none;
|
|
80
96
|
}
|
|
81
97
|
|
|
82
98
|
/* The one moment the composer is the subject of the screen rather than
|
|
83
|
-
chrome pinned under a transcript:
|
|
84
|
-
.agent-chat-start-
|
|
99
|
+
chrome pinned under a transcript: lifted further off the page. */
|
|
100
|
+
.agent-chat-start-screen__composer > .agent-chat__composer > .prompt-input {
|
|
101
|
+
z-index: 1;
|
|
85
102
|
inline-size: 100%;
|
|
86
|
-
border-radius: var(--sigvelo-radius-3xl);
|
|
87
103
|
}
|
|
88
104
|
|
|
89
105
|
.agent-chat-start-screen__starters {
|
|
106
|
+
grid-row: 3;
|
|
107
|
+
align-self: start;
|
|
90
108
|
min-inline-size: 0;
|
|
109
|
+
min-block-size: 0;
|
|
110
|
+
padding-block-start: var(--sigvelo-spacing-6);
|
|
91
111
|
}
|
|
92
112
|
|
|
93
113
|
.agent-chat-starter-list {
|
|
@@ -126,6 +146,7 @@
|
|
|
126
146
|
color: var(--sigvelo-color-text-muted);
|
|
127
147
|
font-size: var(--sigvelo-text-base);
|
|
128
148
|
font-weight: var(--sigvelo-font-weight-normal);
|
|
149
|
+
line-height: var(--sigvelo-leading-relaxed);
|
|
129
150
|
text-align: start;
|
|
130
151
|
white-space: normal;
|
|
131
152
|
transition: color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
|
|
@@ -135,8 +156,9 @@
|
|
|
135
156
|
background: transparent;
|
|
136
157
|
}
|
|
137
158
|
|
|
138
|
-
/* Resting text is quiet so the heading and composer lead
|
|
139
|
-
|
|
159
|
+
/* Resting text is quiet so the heading and composer lead. Muted suggestions
|
|
160
|
+
take the next accessible rung down; the row a pointer or keyboard is
|
|
161
|
+
actually on resolves to full-strength text. */
|
|
140
162
|
.agent-chat-starter:hover .agent-chat-starter__action,
|
|
141
163
|
.agent-chat-starter:focus-within .agent-chat-starter__action {
|
|
142
164
|
color: var(--sigvelo-color-text);
|
|
@@ -172,13 +194,13 @@
|
|
|
172
194
|
/* First paint only. The start screen is replaced by the transcript after the
|
|
173
195
|
first message, so this never re-runs mid-conversation. */
|
|
174
196
|
@media (prefers-reduced-motion: no-preference) {
|
|
175
|
-
.agent-chat-start-
|
|
197
|
+
.agent-chat-start-screen__primary > *,
|
|
176
198
|
.agent-chat-starter {
|
|
177
199
|
animation: agent-chat-start-screen-enter var(--sigvelo-motion-duration-disclosure)
|
|
178
200
|
var(--sigvelo-ease-snappy) backwards;
|
|
179
201
|
}
|
|
180
202
|
|
|
181
|
-
.agent-chat-start-
|
|
203
|
+
.agent-chat-start-screen__primary > *:nth-child(2),
|
|
182
204
|
.agent-chat-starter:nth-child(2) {
|
|
183
205
|
animation-delay: calc(var(--sigvelo-motion-stagger-step) * 1);
|
|
184
206
|
}
|
|
@@ -204,26 +226,66 @@
|
|
|
204
226
|
}
|
|
205
227
|
}
|
|
206
228
|
|
|
207
|
-
/*
|
|
208
|
-
|
|
229
|
+
/*
|
|
230
|
+
* Once there is something in the composer, the screen quiets around it instead
|
|
231
|
+
* of moving it: the heading slides down behind the composer and the starters
|
|
232
|
+
* fade, while the composer itself holds the position the caret is already in.
|
|
233
|
+
*
|
|
234
|
+
* Both keep their grid tracks. Collapsing either would re-centre the block and
|
|
235
|
+
* pull the textarea out from under the caret mid-sentence, which is the whole
|
|
236
|
+
* reason this is not a transition on the container.
|
|
237
|
+
*
|
|
238
|
+
* `:has()` reads the composer's own text, so nothing has to be lifted into
|
|
239
|
+
* React state — AgentChat never sees the input value, and this way it does not
|
|
240
|
+
* need to.
|
|
241
|
+
*/
|
|
242
|
+
.agent-chat-start-screen__heading,
|
|
243
|
+
.agent-chat-start-screen__starters {
|
|
244
|
+
transition:
|
|
245
|
+
opacity var(--sigvelo-motion-duration-disclosure) var(--sigvelo-ease-snappy),
|
|
246
|
+
translate var(--sigvelo-motion-duration-disclosure) var(--sigvelo-ease-snappy),
|
|
247
|
+
visibility var(--sigvelo-motion-duration-disclosure);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.agent-chat-start-screen__content:has(textarea:not(:placeholder-shown))
|
|
251
|
+
.agent-chat-start-screen__heading {
|
|
252
|
+
opacity: 0;
|
|
253
|
+
translate: 0 var(--sigvelo-motion-distance-md);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/* Starters are buttons, so fading them is not enough — invisible controls that
|
|
257
|
+
still take a click or a Tab stop are worse than visible ones. */
|
|
258
|
+
.agent-chat-start-screen__content:has(textarea:not(:placeholder-shown))
|
|
259
|
+
.agent-chat-start-screen__starters {
|
|
260
|
+
visibility: hidden;
|
|
261
|
+
opacity: 0;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* The composer floats above the transcript, but its dock remains part of the
|
|
265
|
+
transcript plane. Keep the underlay on the owning surface token so light
|
|
266
|
+
and dark themes meet without a visible horizontal seam. */
|
|
209
267
|
.agent-chat__composer {
|
|
210
268
|
isolation: isolate;
|
|
211
269
|
position: absolute;
|
|
212
270
|
inset-inline: 0;
|
|
213
271
|
inset-block-end: 0;
|
|
214
|
-
padding: var(--sigvelo-spacing-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
272
|
+
padding: 0 var(--sigvelo-spacing-6) var(--sigvelo-spacing-6);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.agent-chat__composer::after {
|
|
276
|
+
position: absolute;
|
|
277
|
+
z-index: -1;
|
|
278
|
+
inset: 0;
|
|
279
|
+
content: "";
|
|
280
|
+
pointer-events: none;
|
|
281
|
+
background-color: var(--sigvelo-color-surface);
|
|
221
282
|
}
|
|
222
283
|
|
|
223
284
|
.agent-chat__composer > .prompt-input {
|
|
224
285
|
z-index: 1;
|
|
225
286
|
inline-size: min(100%, var(--agent-chat-content-max-inline-size));
|
|
226
287
|
margin-inline: auto;
|
|
288
|
+
padding-block: var(--sigvelo-spacing-3);
|
|
227
289
|
}
|
|
228
290
|
|
|
229
291
|
/* Transient status pill between transcript and composer (recovery, errors). */
|
|
@@ -241,30 +303,21 @@
|
|
|
241
303
|
}
|
|
242
304
|
|
|
243
305
|
.agent-chat__queued {
|
|
244
|
-
--agent-chat-queued-underlap: var(--sigvelo-spacing-3);
|
|
245
|
-
|
|
246
306
|
position: relative;
|
|
247
307
|
z-index: 0;
|
|
248
308
|
inline-size: calc(
|
|
249
|
-
min(100%, var(--agent-chat-content-max-inline-size)) - var(--sigvelo-spacing-
|
|
250
|
-
var(--sigvelo-spacing-2)
|
|
309
|
+
min(100%, var(--agent-chat-content-max-inline-size)) - var(--sigvelo-spacing-10)
|
|
251
310
|
);
|
|
252
311
|
margin-inline: auto;
|
|
253
|
-
margin-block-end: calc(-1 * var(--agent-chat-queued-underlap));
|
|
254
|
-
overflow: hidden;
|
|
255
|
-
border: var(--sigvelo-border-width) var(--sigvelo-border-style)
|
|
256
|
-
var(--sigvelo-color-neutral-border-subtle);
|
|
257
|
-
border-radius: var(--sigvelo-radius-xl);
|
|
258
|
-
background-color: var(--sigvelo-color-neutral-bg-subtle);
|
|
259
312
|
}
|
|
260
313
|
|
|
261
314
|
.agent-chat__queued-list {
|
|
315
|
+
flex: 1;
|
|
262
316
|
display: grid;
|
|
263
317
|
gap: var(--sigvelo-border-width);
|
|
318
|
+
min-inline-size: 0;
|
|
264
319
|
margin: 0;
|
|
265
|
-
padding
|
|
266
|
-
padding-block-end: calc(var(--sigvelo-spacing-0-5) + var(--agent-chat-queued-underlap));
|
|
267
|
-
padding-inline: 0;
|
|
320
|
+
padding: 0;
|
|
268
321
|
list-style: none;
|
|
269
322
|
}
|
|
270
323
|
|
|
@@ -287,40 +340,14 @@
|
|
|
287
340
|
color: var(--sigvelo-color-text-muted);
|
|
288
341
|
}
|
|
289
342
|
|
|
290
|
-
.agent-chat__queued-indicator svg
|
|
291
|
-
.agent-chat__queued-action svg {
|
|
343
|
+
.agent-chat__queued-indicator svg {
|
|
292
344
|
inline-size: var(--sigvelo-text-sm);
|
|
293
345
|
block-size: var(--sigvelo-text-sm);
|
|
294
346
|
}
|
|
295
347
|
|
|
296
348
|
.agent-chat__queued-action {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
justify-content: center;
|
|
300
|
-
gap: var(--sigvelo-spacing-1-5);
|
|
301
|
-
min-block-size: var(--sigvelo-spacing-6);
|
|
302
|
-
padding-inline: var(--sigvelo-spacing-2);
|
|
303
|
-
border: 0;
|
|
304
|
-
border-radius: var(--sigvelo-radius-md);
|
|
305
|
-
background: transparent;
|
|
306
|
-
color: color-mix(in oklab, var(--sigvelo-color-text-muted), var(--sigvelo-color-text) 12%);
|
|
307
|
-
font: inherit;
|
|
308
|
-
cursor: pointer;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.agent-chat__queued-action:hover {
|
|
312
|
-
color: var(--sigvelo-color-text);
|
|
313
|
-
background-color: color-mix(in oklab, transparent, var(--sigvelo-color-text) 5%);
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
.agent-chat__queued-action:focus-visible {
|
|
317
|
-
outline: none;
|
|
318
|
-
box-shadow: var(--sigvelo-recipe-focus-shadow-subtle);
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
.agent-chat__queued-remove {
|
|
322
|
-
min-inline-size: var(--sigvelo-spacing-6);
|
|
323
|
-
padding-inline: 0;
|
|
349
|
+
flex: none;
|
|
350
|
+
font-weight: var(--sigvelo-font-weight-normal);
|
|
324
351
|
}
|
|
325
352
|
|
|
326
353
|
@media (any-pointer: coarse) {
|
|
@@ -328,14 +355,9 @@
|
|
|
328
355
|
opacity: 1;
|
|
329
356
|
}
|
|
330
357
|
|
|
331
|
-
.agent-chat__queued-message
|
|
332
|
-
.agent-chat__queued-action {
|
|
358
|
+
.agent-chat__queued-message {
|
|
333
359
|
min-block-size: var(--sigvelo-control-height-xl);
|
|
334
360
|
}
|
|
335
|
-
|
|
336
|
-
.agent-chat__queued-remove {
|
|
337
|
-
min-inline-size: var(--sigvelo-control-height-xl);
|
|
338
|
-
}
|
|
339
361
|
}
|
|
340
362
|
|
|
341
363
|
.agent-chat__notice[data-tone="danger"],
|
|
@@ -392,10 +414,15 @@
|
|
|
392
414
|
/* Sized against the chat's own box, not the viewport: this component is as
|
|
393
415
|
likely to be a 320px browser side panel as a full window, and the viewport
|
|
394
416
|
says nothing about which. Height still comes from the viewport — a container
|
|
395
|
-
cannot query its own block size without inline-size collapsing with it.
|
|
417
|
+
cannot query its own block size without inline-size collapsing with it.
|
|
418
|
+
|
|
419
|
+
Narrowness is not a reason to abandon centring. A browser side panel is the
|
|
420
|
+
narrowest surface this renders in and one of the tallest, so keying
|
|
421
|
+
alignment off width top-aligned the start screen in a pane with hundreds of
|
|
422
|
+
spare pixels under it. Only the height query below drops the centring, and
|
|
423
|
+
only where there is genuinely no room for it. */
|
|
396
424
|
@container agent-chat (width <= 36rem) {
|
|
397
425
|
.agent-chat-start-screen__content {
|
|
398
|
-
align-content: start;
|
|
399
426
|
padding-block: var(--sigvelo-spacing-5);
|
|
400
427
|
}
|
|
401
428
|
|
|
@@ -410,7 +437,15 @@
|
|
|
410
437
|
|
|
411
438
|
@media (max-height: 40rem) {
|
|
412
439
|
.agent-chat-start-screen__content {
|
|
413
|
-
|
|
440
|
+
grid-template-rows: auto auto;
|
|
414
441
|
padding-block: var(--sigvelo-spacing-5);
|
|
415
442
|
}
|
|
443
|
+
|
|
444
|
+
.agent-chat-start-screen__primary {
|
|
445
|
+
grid-row: 1;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.agent-chat-start-screen__starters {
|
|
449
|
+
grid-row: 2;
|
|
450
|
+
}
|
|
416
451
|
}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
.alert-dialog__trigger {
|
|
2
|
-
display: inline-flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
justify-content: center;
|
|
5
|
-
background: none;
|
|
6
|
-
border: none;
|
|
7
|
-
padding: 0;
|
|
8
|
-
margin: 0;
|
|
9
|
-
cursor: pointer;
|
|
10
|
-
font: inherit;
|
|
11
|
-
color: inherit;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.alert-dialog__trigger:focus-visible {
|
|
15
|
-
outline: none;
|
|
16
|
-
box-shadow: var(--sigvelo-recipe-focus-shadow);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
1
|
/* Matches .dialog__backdrop, including why one 8px radius is the affordable
|
|
20
2
|
version of this effect. */
|
|
21
3
|
.alert-dialog__backdrop {
|