@robr0/design-system 0.4.0 → 0.6.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/README.md +21 -10
- package/components/AgentStatus/AgentStatus.css +82 -22
- package/components/AgentStatus/AgentStatus.d.ts +6 -2
- package/components/AgentStatus/AgentStatus.js +38 -6
- package/components/AiButton/AiButton.css +163 -0
- package/components/AiButton/AiButton.d.ts +36 -0
- package/components/AiButton/AiButton.js +58 -0
- package/components/ChatHeader/ChatHeader.css +35 -0
- package/components/ChatHeader/ChatHeader.d.ts +30 -0
- package/components/ChatHeader/ChatHeader.js +17 -0
- package/components/ChatMarker/ChatMarker.css +52 -0
- package/components/ChatMarker/ChatMarker.d.ts +22 -0
- package/components/ChatMarker/ChatMarker.js +18 -0
- package/components/ChatMessage/ChatMessage.css +310 -0
- package/components/ChatMessage/ChatMessage.d.ts +74 -0
- package/components/ChatMessage/ChatMessage.js +71 -0
- package/components/ChatThread/ChatThread.css +171 -0
- package/components/ChatThread/ChatThread.d.ts +41 -0
- package/components/ChatThread/ChatThread.js +174 -0
- package/components/Chip/Chip.css +27 -0
- package/components/Chip/Chip.d.ts +2 -2
- package/components/CircularButton/CircularButton.d.ts +23 -8
- package/components/CircularButton/CircularButton.js +54 -52
- package/components/CodeBlock/CodeBlock.css +2 -2
- package/components/Composer/Composer.css +163 -0
- package/components/Composer/Composer.d.ts +67 -0
- package/components/Composer/Composer.js +120 -0
- package/components/DocumentChip/DocumentChip.css +181 -0
- package/components/DocumentChip/DocumentChip.d.ts +41 -0
- package/components/DocumentChip/DocumentChip.js +78 -0
- package/components/InterruptCard/InterruptCard.css +164 -0
- package/components/InterruptCard/InterruptCard.d.ts +55 -0
- package/components/InterruptCard/InterruptCard.js +57 -0
- package/components/MessageActions/MessageActions.css +76 -0
- package/components/MessageActions/MessageActions.d.ts +38 -0
- package/components/MessageActions/MessageActions.js +33 -0
- package/components/MessageCard/MessageCard.css +112 -0
- package/components/MessageCard/MessageCard.d.ts +35 -0
- package/components/MessageCard/MessageCard.js +28 -0
- package/components/NavList/NavList.css +155 -0
- package/components/NavList/NavList.d.ts +56 -0
- package/components/NavList/NavList.js +99 -0
- package/components/PromptSuggestions/PromptSuggestions.css +87 -0
- package/components/PromptSuggestions/PromptSuggestions.d.ts +51 -0
- package/components/PromptSuggestions/PromptSuggestions.js +34 -0
- package/components/Prose/Prose.css +252 -0
- package/components/Prose/Prose.d.ts +21 -0
- package/components/Prose/Prose.js +14 -0
- package/components/Reasoning/Reasoning.css +149 -25
- package/components/Reasoning/Reasoning.d.ts +19 -0
- package/components/Reasoning/Reasoning.js +32 -3
- package/components/SourceChip/SourceChip.css +102 -0
- package/components/SourceChip/SourceChip.d.ts +32 -0
- package/components/SourceChip/SourceChip.js +31 -0
- package/components/Stat/Stat.css +2 -2
- package/components/Timeline/Timeline.css +9 -1
- package/components/ToolCall/ToolCall.css +3 -3
- package/components/registry.json +113 -1
- package/components/registry.json.d.ts +113 -1
- package/components/registry.json.js +1 -1
- package/index.d.ts +14 -0
- package/index.js +28 -0
- package/package.json +1 -1
- package/tokens/registry.json +13 -0
- package/tokens/registry.json.d.ts +13 -0
- package/tokens/registry.json.js +1 -1
- package/tokens/tokens-dark.css +13 -0
- package/tokens/tokens-light.css +43 -0
- package/tokens/tokens-primitives.css +5 -0
- package/tokens/tokens-typography.css +24 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
SOURCE CHIP COMPONENT
|
|
3
|
+
Numbered citation pill linking a claim to
|
|
4
|
+
its source. Anchor when href is set, plain
|
|
5
|
+
span otherwise.
|
|
6
|
+
============================================ */
|
|
7
|
+
|
|
8
|
+
.ds-source-chip {
|
|
9
|
+
/* Layout */
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: var(--gap-xs); /* 4px */
|
|
13
|
+
|
|
14
|
+
/* Spacing */
|
|
15
|
+
padding: var(--padding-xxxs) var(--padding-sm); /* 2px 8px */
|
|
16
|
+
|
|
17
|
+
/* Shape — borderless pill on the secondary container */
|
|
18
|
+
border-radius: var(--radius-full);
|
|
19
|
+
background-color: var(--color-bg-container-secondary);
|
|
20
|
+
|
|
21
|
+
/* Typography */
|
|
22
|
+
font-family: var(--font-paragraph-sm-family);
|
|
23
|
+
font-size: var(--font-paragraph-sm-size);
|
|
24
|
+
font-weight: var(--font-paragraph-sm-weight);
|
|
25
|
+
line-height: var(--font-paragraph-sm-line-height);
|
|
26
|
+
letter-spacing: var(--font-paragraph-sm-letter-spacing);
|
|
27
|
+
color: var(--color-text-secondary);
|
|
28
|
+
|
|
29
|
+
/* The pill shape is the affordance — never an underline */
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
cursor: default;
|
|
32
|
+
|
|
33
|
+
transition: background-color var(--motion-duration-fast) var(--motion-ease-standard),
|
|
34
|
+
color var(--motion-duration-fast) var(--motion-ease-standard);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* ============================================
|
|
38
|
+
INDEX — citation numeral in its own circle
|
|
39
|
+
============================================ */
|
|
40
|
+
|
|
41
|
+
.ds-source-chip__index {
|
|
42
|
+
display: inline-flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
min-width: var(--icon-size-sm);
|
|
47
|
+
height: var(--icon-size-sm);
|
|
48
|
+
border-radius: var(--radius-full);
|
|
49
|
+
background-color: var(--color-bg-container-tertiary);
|
|
50
|
+
|
|
51
|
+
font-family: var(--font-paragraph-sm-em-family);
|
|
52
|
+
font-size: var(--font-paragraph-sm-em-size);
|
|
53
|
+
font-weight: var(--font-paragraph-sm-em-weight);
|
|
54
|
+
letter-spacing: var(--font-paragraph-sm-em-letter-spacing);
|
|
55
|
+
line-height: 1;
|
|
56
|
+
font-variant-numeric: tabular-nums;
|
|
57
|
+
color: var(--color-text-tertiary);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* ============================================
|
|
61
|
+
ICON (leading, when no index)
|
|
62
|
+
============================================ */
|
|
63
|
+
|
|
64
|
+
.ds-source-chip__icon {
|
|
65
|
+
flex-shrink: 0;
|
|
66
|
+
--icon-size: var(--icon-size-sm);
|
|
67
|
+
line-height: 1;
|
|
68
|
+
color: var(--color-icon-primary);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* ============================================
|
|
72
|
+
TITLE — truncates with an ellipsis
|
|
73
|
+
============================================ */
|
|
74
|
+
|
|
75
|
+
.ds-source-chip__title {
|
|
76
|
+
max-width: 24ch;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
white-space: nowrap;
|
|
79
|
+
text-overflow: ellipsis;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* ============================================
|
|
83
|
+
LINK (rendered as <a>)
|
|
84
|
+
============================================ */
|
|
85
|
+
|
|
86
|
+
.ds-source-chip--link {
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.ds-source-chip--link:hover {
|
|
91
|
+
background-color: var(--color-bg-container-tertiary);
|
|
92
|
+
color: var(--color-text-primary);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* ============================================
|
|
96
|
+
FOCUS
|
|
97
|
+
============================================ */
|
|
98
|
+
|
|
99
|
+
.ds-source-chip--link:focus-visible {
|
|
100
|
+
outline: 2px solid var(--color-action-primary-bg);
|
|
101
|
+
outline-offset: 2px;
|
|
102
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/** Props owned by SourceChip itself — everything else falls through to the root element. */
|
|
3
|
+
type SourceChipOwnProps = {
|
|
4
|
+
/** The source name, e.g. "Design tokens quarterly". Truncates with an ellipsis when long. */
|
|
5
|
+
title: string;
|
|
6
|
+
/** Citation number, rendered as a leading numeral in its own small badge circle. */
|
|
7
|
+
index?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Leading icon — a Material Symbol name (string) or custom element (ReactNode).
|
|
10
|
+
* The icon and the index share the leading slot: when both are passed, `index` wins
|
|
11
|
+
* and the icon is not rendered.
|
|
12
|
+
*/
|
|
13
|
+
icon?: string | React.ReactNode;
|
|
14
|
+
/** Optional href — renders as an `<a>` instead of a `<span>`. */
|
|
15
|
+
href?: string;
|
|
16
|
+
/** Additional CSS classes */
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
export interface SourceChipProps extends SourceChipOwnProps, Omit<React.ComponentPropsWithoutRef<'a'>, keyof SourceChipOwnProps> {
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* SourceChip is the numbered citation pill linking a claim to its source.
|
|
23
|
+
* It renders inline after a sentence or in a sources row under an assistant
|
|
24
|
+
* chat message: a leading citation number (or icon) beside a truncating
|
|
25
|
+
* source title.
|
|
26
|
+
*
|
|
27
|
+
* Renders an `<a>` when `href` is supplied, a plain `<span>` otherwise.
|
|
28
|
+
* Forwards a ref to whichever element it renders, and spreads unrecognised
|
|
29
|
+
* props onto it — `target` and `rel` pass through as native anchor attributes.
|
|
30
|
+
*/
|
|
31
|
+
export declare const SourceChip: React.ForwardRefExoticComponent<SourceChipProps & React.RefAttributes<HTMLSpanElement | HTMLAnchorElement>>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import "./SourceChip.css";
|
|
4
|
+
import "../../fonts/material-symbols.css";
|
|
5
|
+
const SourceChip = React.forwardRef(
|
|
6
|
+
({ title, index, icon, href, className = "", ...rest }, ref) => {
|
|
7
|
+
const baseClass = "ds-source-chip";
|
|
8
|
+
const classes = [baseClass, href ? `${baseClass}--link` : "", className].filter(Boolean).join(" ");
|
|
9
|
+
const leading = index !== void 0 ? /* @__PURE__ */ jsx("span", { className: `${baseClass}__index`, children: index }) : icon ? /* @__PURE__ */ jsx("span", { className: `${baseClass}__icon`, "aria-hidden": "true", children: typeof icon === "string" ? /* @__PURE__ */ jsx("span", { className: "material-symbols-rounded", children: icon }) : icon }) : null;
|
|
10
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
11
|
+
leading,
|
|
12
|
+
/* @__PURE__ */ jsx("span", { className: `${baseClass}__title`, children: title })
|
|
13
|
+
] });
|
|
14
|
+
if (href) {
|
|
15
|
+
return /* @__PURE__ */ jsx("a", { ...rest, ref, className: classes, href, children: content });
|
|
16
|
+
}
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
"span",
|
|
19
|
+
{
|
|
20
|
+
...rest,
|
|
21
|
+
ref,
|
|
22
|
+
className: classes,
|
|
23
|
+
children: content
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
SourceChip.displayName = "SourceChip";
|
|
29
|
+
export {
|
|
30
|
+
SourceChip
|
|
31
|
+
};
|
package/components/Stat/Stat.css
CHANGED
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
.ds-stat__delta--up {
|
|
69
|
-
color: var(--color-
|
|
69
|
+
color: var(--color-core-accent-mint);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.ds-stat__delta--down {
|
|
73
|
-
color: var(--color-
|
|
73
|
+
color: var(--color-core-accent-coral);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
.ds-stat__delta--neutral {
|
|
@@ -332,8 +332,16 @@
|
|
|
332
332
|
bottom: calc(8px - var(--gap-lg)); /* stop 8px above the next logo */
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
/* Last entry has no following logo —
|
|
335
|
+
/* Last entry has no following logo — the bar runs to its own content's end
|
|
336
|
+
and fades out: the hairline treatment (1px, dissolving to the transparent
|
|
337
|
+
container colour) that marks the end of the timeline. */
|
|
336
338
|
.ds-timeline--company .ds-timeline__item:last-child::before {
|
|
337
339
|
display: block;
|
|
338
340
|
bottom: 0;
|
|
341
|
+
width: var(--border-xs);
|
|
342
|
+
background: linear-gradient(
|
|
343
|
+
to bottom,
|
|
344
|
+
var(--color-divider),
|
|
345
|
+
var(--color-bg-container-primary-transparent)
|
|
346
|
+
);
|
|
339
347
|
}
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
--icon-size: var(--icon-size-sm);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
/* The tool name is an identifier, so it takes the
|
|
76
|
-
|
|
75
|
+
/* The tool name is an identifier, so it takes the code stack —
|
|
76
|
+
the one place the system leaves Nunito Sans */
|
|
77
77
|
.ds-tool-call__name {
|
|
78
78
|
flex: none;
|
|
79
|
-
font-family:
|
|
79
|
+
font-family: var(--font-family-code);
|
|
80
80
|
font-size: var(--font-paragraph-sm-size);
|
|
81
81
|
line-height: var(--font-paragraph-sm-line-height);
|
|
82
82
|
color: var(--color-text-primary);
|
package/components/registry.json
CHANGED
|
@@ -28,6 +28,14 @@
|
|
|
28
28
|
"category": "ai",
|
|
29
29
|
"client": true
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
"name": "AiButton",
|
|
33
|
+
"label": "AI button",
|
|
34
|
+
"slug": "ai-button",
|
|
35
|
+
"description": "The AI entry point: icon and label on a transparent field, ringed by a slowly turning gradient and a soft glow.",
|
|
36
|
+
"category": "ai",
|
|
37
|
+
"client": true
|
|
38
|
+
},
|
|
31
39
|
{
|
|
32
40
|
"name": "Alert",
|
|
33
41
|
"label": "Alert",
|
|
@@ -124,6 +132,38 @@
|
|
|
124
132
|
"category": "charts",
|
|
125
133
|
"client": false
|
|
126
134
|
},
|
|
135
|
+
{
|
|
136
|
+
"name": "ChatHeader",
|
|
137
|
+
"label": "Chat header",
|
|
138
|
+
"slug": "chat-header",
|
|
139
|
+
"description": "The top row of a chat surface, with the conversation title and its controls.",
|
|
140
|
+
"category": "ai",
|
|
141
|
+
"client": false
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "ChatMarker",
|
|
145
|
+
"label": "Chat marker",
|
|
146
|
+
"slug": "chat-marker",
|
|
147
|
+
"description": "An inline conversation separator for date breaks and system notes.",
|
|
148
|
+
"category": "ai",
|
|
149
|
+
"client": false
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "ChatMessage",
|
|
153
|
+
"label": "Chat message",
|
|
154
|
+
"slug": "chat-message",
|
|
155
|
+
"description": "A single chat turn with avatar, author, timestamp, and bubble or plain content aligned by role.",
|
|
156
|
+
"category": "ai",
|
|
157
|
+
"client": false
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "ChatThread",
|
|
161
|
+
"label": "Chat thread",
|
|
162
|
+
"slug": "chat-thread",
|
|
163
|
+
"description": "A scrollable conversation column with edge fades, send anchoring, and a subtle scrollbar.",
|
|
164
|
+
"category": "ai",
|
|
165
|
+
"client": true
|
|
166
|
+
},
|
|
127
167
|
{
|
|
128
168
|
"name": "Checkbox",
|
|
129
169
|
"label": "Checkbox",
|
|
@@ -180,6 +220,14 @@
|
|
|
180
220
|
"category": "overlays",
|
|
181
221
|
"client": true
|
|
182
222
|
},
|
|
223
|
+
{
|
|
224
|
+
"name": "Composer",
|
|
225
|
+
"label": "Composer",
|
|
226
|
+
"slug": "composer",
|
|
227
|
+
"description": "An auto-growing message input with send and stop states, an attachment slot, and Enter-to-send.",
|
|
228
|
+
"category": "ai",
|
|
229
|
+
"client": true
|
|
230
|
+
},
|
|
183
231
|
{
|
|
184
232
|
"name": "ContactCard",
|
|
185
233
|
"label": "Contact card",
|
|
@@ -236,6 +284,14 @@
|
|
|
236
284
|
"category": "layout",
|
|
237
285
|
"client": false
|
|
238
286
|
},
|
|
287
|
+
{
|
|
288
|
+
"name": "DocumentChip",
|
|
289
|
+
"label": "Document chip",
|
|
290
|
+
"slug": "document-chip",
|
|
291
|
+
"description": "A compact file reference with a type icon, name, metadata, and optional remove.",
|
|
292
|
+
"category": "ai",
|
|
293
|
+
"client": false
|
|
294
|
+
},
|
|
239
295
|
{
|
|
240
296
|
"name": "Drawer",
|
|
241
297
|
"label": "Drawer",
|
|
@@ -316,6 +372,14 @@
|
|
|
316
372
|
"category": "data-display",
|
|
317
373
|
"client": false
|
|
318
374
|
},
|
|
375
|
+
{
|
|
376
|
+
"name": "InterruptCard",
|
|
377
|
+
"label": "Interrupt card",
|
|
378
|
+
"slug": "interrupt-card",
|
|
379
|
+
"description": "A human-in-the-loop checkpoint with a question from the agent and option buttons to decide.",
|
|
380
|
+
"category": "ai",
|
|
381
|
+
"client": false
|
|
382
|
+
},
|
|
319
383
|
{
|
|
320
384
|
"name": "Kbd",
|
|
321
385
|
"label": "Kbd",
|
|
@@ -332,14 +396,38 @@
|
|
|
332
396
|
"category": "data-display",
|
|
333
397
|
"client": false
|
|
334
398
|
},
|
|
399
|
+
{
|
|
400
|
+
"name": "MessageActions",
|
|
401
|
+
"label": "Message actions",
|
|
402
|
+
"slug": "message-actions",
|
|
403
|
+
"description": "An icon-button row for message-level actions like copy, retry, and feedback.",
|
|
404
|
+
"category": "ai",
|
|
405
|
+
"client": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "MessageCard",
|
|
409
|
+
"label": "Message card",
|
|
410
|
+
"slug": "message-card",
|
|
411
|
+
"description": "A structured rich-content card embedded in a chat message, with media, title, body, and actions.",
|
|
412
|
+
"category": "ai",
|
|
413
|
+
"client": false
|
|
414
|
+
},
|
|
335
415
|
{
|
|
336
416
|
"name": "Nav",
|
|
337
417
|
"label": "Navigation",
|
|
338
418
|
"slug": "navigation",
|
|
339
|
-
"description": "Desktop
|
|
419
|
+
"description": "Desktop top navigation bar with a brand slot, horizontal button group, and optional trailing content.",
|
|
340
420
|
"category": "navigation",
|
|
341
421
|
"client": false
|
|
342
422
|
},
|
|
423
|
+
{
|
|
424
|
+
"name": "NavList",
|
|
425
|
+
"label": "Nav list",
|
|
426
|
+
"slug": "nav-list",
|
|
427
|
+
"description": "Vertical list of navigation links for drawers and menus, with three indent levels and per-row expand toggles.",
|
|
428
|
+
"category": "navigation",
|
|
429
|
+
"client": true
|
|
430
|
+
},
|
|
343
431
|
{
|
|
344
432
|
"name": "Pagination",
|
|
345
433
|
"label": "Pagination",
|
|
@@ -364,6 +452,22 @@
|
|
|
364
452
|
"category": "feedback",
|
|
365
453
|
"client": false
|
|
366
454
|
},
|
|
455
|
+
{
|
|
456
|
+
"name": "PromptSuggestions",
|
|
457
|
+
"label": "Prompt suggestions",
|
|
458
|
+
"slug": "prompt-suggestions",
|
|
459
|
+
"description": "A horizontal row of tappable prompt suggestions to start or steer a conversation.",
|
|
460
|
+
"category": "ai",
|
|
461
|
+
"client": false
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "Prose",
|
|
465
|
+
"label": "Prose",
|
|
466
|
+
"slug": "prose",
|
|
467
|
+
"description": "Token-styled typography for rendered markdown and rich agent output.",
|
|
468
|
+
"category": "ai",
|
|
469
|
+
"client": false
|
|
470
|
+
},
|
|
367
471
|
{
|
|
368
472
|
"name": "Quote",
|
|
369
473
|
"label": "Quote",
|
|
@@ -428,6 +532,14 @@
|
|
|
428
532
|
"category": "forms",
|
|
429
533
|
"client": true
|
|
430
534
|
},
|
|
535
|
+
{
|
|
536
|
+
"name": "SourceChip",
|
|
537
|
+
"label": "Source chip",
|
|
538
|
+
"slug": "source-chip",
|
|
539
|
+
"description": "A numbered citation pill linking a claim to its source.",
|
|
540
|
+
"category": "ai",
|
|
541
|
+
"client": false
|
|
542
|
+
},
|
|
431
543
|
{
|
|
432
544
|
"name": "Spinner",
|
|
433
545
|
"label": "Spinner",
|
|
@@ -28,6 +28,14 @@ declare const _default: {
|
|
|
28
28
|
"category": "ai",
|
|
29
29
|
"client": true
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
"name": "AiButton",
|
|
33
|
+
"label": "AI button",
|
|
34
|
+
"slug": "ai-button",
|
|
35
|
+
"description": "The AI entry point: icon and label on a transparent field, ringed by a slowly turning gradient and a soft glow.",
|
|
36
|
+
"category": "ai",
|
|
37
|
+
"client": true
|
|
38
|
+
},
|
|
31
39
|
{
|
|
32
40
|
"name": "Alert",
|
|
33
41
|
"label": "Alert",
|
|
@@ -124,6 +132,38 @@ declare const _default: {
|
|
|
124
132
|
"category": "charts",
|
|
125
133
|
"client": false
|
|
126
134
|
},
|
|
135
|
+
{
|
|
136
|
+
"name": "ChatHeader",
|
|
137
|
+
"label": "Chat header",
|
|
138
|
+
"slug": "chat-header",
|
|
139
|
+
"description": "The top row of a chat surface, with the conversation title and its controls.",
|
|
140
|
+
"category": "ai",
|
|
141
|
+
"client": false
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "ChatMarker",
|
|
145
|
+
"label": "Chat marker",
|
|
146
|
+
"slug": "chat-marker",
|
|
147
|
+
"description": "An inline conversation separator for date breaks and system notes.",
|
|
148
|
+
"category": "ai",
|
|
149
|
+
"client": false
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "ChatMessage",
|
|
153
|
+
"label": "Chat message",
|
|
154
|
+
"slug": "chat-message",
|
|
155
|
+
"description": "A single chat turn with avatar, author, timestamp, and bubble or plain content aligned by role.",
|
|
156
|
+
"category": "ai",
|
|
157
|
+
"client": false
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "ChatThread",
|
|
161
|
+
"label": "Chat thread",
|
|
162
|
+
"slug": "chat-thread",
|
|
163
|
+
"description": "A scrollable conversation column with edge fades, send anchoring, and a subtle scrollbar.",
|
|
164
|
+
"category": "ai",
|
|
165
|
+
"client": true
|
|
166
|
+
},
|
|
127
167
|
{
|
|
128
168
|
"name": "Checkbox",
|
|
129
169
|
"label": "Checkbox",
|
|
@@ -180,6 +220,14 @@ declare const _default: {
|
|
|
180
220
|
"category": "overlays",
|
|
181
221
|
"client": true
|
|
182
222
|
},
|
|
223
|
+
{
|
|
224
|
+
"name": "Composer",
|
|
225
|
+
"label": "Composer",
|
|
226
|
+
"slug": "composer",
|
|
227
|
+
"description": "An auto-growing message input with send and stop states, an attachment slot, and Enter-to-send.",
|
|
228
|
+
"category": "ai",
|
|
229
|
+
"client": true
|
|
230
|
+
},
|
|
183
231
|
{
|
|
184
232
|
"name": "ContactCard",
|
|
185
233
|
"label": "Contact card",
|
|
@@ -236,6 +284,14 @@ declare const _default: {
|
|
|
236
284
|
"category": "layout",
|
|
237
285
|
"client": false
|
|
238
286
|
},
|
|
287
|
+
{
|
|
288
|
+
"name": "DocumentChip",
|
|
289
|
+
"label": "Document chip",
|
|
290
|
+
"slug": "document-chip",
|
|
291
|
+
"description": "A compact file reference with a type icon, name, metadata, and optional remove.",
|
|
292
|
+
"category": "ai",
|
|
293
|
+
"client": false
|
|
294
|
+
},
|
|
239
295
|
{
|
|
240
296
|
"name": "Drawer",
|
|
241
297
|
"label": "Drawer",
|
|
@@ -316,6 +372,14 @@ declare const _default: {
|
|
|
316
372
|
"category": "data-display",
|
|
317
373
|
"client": false
|
|
318
374
|
},
|
|
375
|
+
{
|
|
376
|
+
"name": "InterruptCard",
|
|
377
|
+
"label": "Interrupt card",
|
|
378
|
+
"slug": "interrupt-card",
|
|
379
|
+
"description": "A human-in-the-loop checkpoint with a question from the agent and option buttons to decide.",
|
|
380
|
+
"category": "ai",
|
|
381
|
+
"client": false
|
|
382
|
+
},
|
|
319
383
|
{
|
|
320
384
|
"name": "Kbd",
|
|
321
385
|
"label": "Kbd",
|
|
@@ -332,14 +396,38 @@ declare const _default: {
|
|
|
332
396
|
"category": "data-display",
|
|
333
397
|
"client": false
|
|
334
398
|
},
|
|
399
|
+
{
|
|
400
|
+
"name": "MessageActions",
|
|
401
|
+
"label": "Message actions",
|
|
402
|
+
"slug": "message-actions",
|
|
403
|
+
"description": "An icon-button row for message-level actions like copy, retry, and feedback.",
|
|
404
|
+
"category": "ai",
|
|
405
|
+
"client": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "MessageCard",
|
|
409
|
+
"label": "Message card",
|
|
410
|
+
"slug": "message-card",
|
|
411
|
+
"description": "A structured rich-content card embedded in a chat message, with media, title, body, and actions.",
|
|
412
|
+
"category": "ai",
|
|
413
|
+
"client": false
|
|
414
|
+
},
|
|
335
415
|
{
|
|
336
416
|
"name": "Nav",
|
|
337
417
|
"label": "Navigation",
|
|
338
418
|
"slug": "navigation",
|
|
339
|
-
"description": "Desktop
|
|
419
|
+
"description": "Desktop top navigation bar with a brand slot, horizontal button group, and optional trailing content.",
|
|
340
420
|
"category": "navigation",
|
|
341
421
|
"client": false
|
|
342
422
|
},
|
|
423
|
+
{
|
|
424
|
+
"name": "NavList",
|
|
425
|
+
"label": "Nav list",
|
|
426
|
+
"slug": "nav-list",
|
|
427
|
+
"description": "Vertical list of navigation links for drawers and menus, with three indent levels and per-row expand toggles.",
|
|
428
|
+
"category": "navigation",
|
|
429
|
+
"client": true
|
|
430
|
+
},
|
|
343
431
|
{
|
|
344
432
|
"name": "Pagination",
|
|
345
433
|
"label": "Pagination",
|
|
@@ -364,6 +452,22 @@ declare const _default: {
|
|
|
364
452
|
"category": "feedback",
|
|
365
453
|
"client": false
|
|
366
454
|
},
|
|
455
|
+
{
|
|
456
|
+
"name": "PromptSuggestions",
|
|
457
|
+
"label": "Prompt suggestions",
|
|
458
|
+
"slug": "prompt-suggestions",
|
|
459
|
+
"description": "A horizontal row of tappable prompt suggestions to start or steer a conversation.",
|
|
460
|
+
"category": "ai",
|
|
461
|
+
"client": false
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "Prose",
|
|
465
|
+
"label": "Prose",
|
|
466
|
+
"slug": "prose",
|
|
467
|
+
"description": "Token-styled typography for rendered markdown and rich agent output.",
|
|
468
|
+
"category": "ai",
|
|
469
|
+
"client": false
|
|
470
|
+
},
|
|
367
471
|
{
|
|
368
472
|
"name": "Quote",
|
|
369
473
|
"label": "Quote",
|
|
@@ -428,6 +532,14 @@ declare const _default: {
|
|
|
428
532
|
"category": "forms",
|
|
429
533
|
"client": true
|
|
430
534
|
},
|
|
535
|
+
{
|
|
536
|
+
"name": "SourceChip",
|
|
537
|
+
"label": "Source chip",
|
|
538
|
+
"slug": "source-chip",
|
|
539
|
+
"description": "A numbered citation pill linking a claim to its source.",
|
|
540
|
+
"category": "ai",
|
|
541
|
+
"client": false
|
|
542
|
+
},
|
|
431
543
|
{
|
|
432
544
|
"name": "Spinner",
|
|
433
545
|
"label": "Spinner",
|