@mcp-b/react-components 0.1.1 → 0.1.3
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/Button-QCM8ZKgR.d.ts +98 -0
- package/dist/CodeBlock-CttHhWcb.js +356 -0
- package/dist/CodeBlock-V6pgafSS.d.ts +174 -0
- package/dist/Select-CRsKCJ9x.d.ts +200 -0
- package/dist/class-names-9UtZwb0J.js +12 -0
- package/dist/components/Accordion.d.ts +81 -0
- package/dist/components/Accordion.js +97 -0
- package/dist/components/AgentConnection.d.ts +69 -0
- package/dist/components/AgentConnection.js +176 -0
- package/dist/components/AlertDialog.d.ts +148 -0
- package/dist/components/AlertDialog.js +141 -0
- package/dist/components/Artifact.d.ts +128 -0
- package/dist/components/Artifact.js +115 -0
- package/dist/components/Autocomplete.d.ts +186 -0
- package/dist/components/Autocomplete.js +186 -0
- package/dist/components/Avatar.d.ts +134 -0
- package/dist/components/Avatar.js +118 -0
- package/dist/components/Badge.d.ts +68 -0
- package/dist/components/Badge.js +108 -0
- package/dist/components/Button.d.ts +2 -0
- package/dist/components/Button.js +73 -0
- package/dist/components/Card.d.ts +87 -0
- package/dist/components/Card.js +81 -0
- package/dist/components/ChainOfThought.d.ts +153 -0
- package/dist/components/ChainOfThought.js +157 -0
- package/dist/components/Checkbox.d.ts +35 -0
- package/dist/components/Checkbox.js +47 -0
- package/dist/components/CheckboxGroup.d.ts +76 -0
- package/dist/components/CheckboxGroup.js +69 -0
- package/dist/components/CodeBlock.d.ts +2 -0
- package/dist/components/CodeBlock.js +2 -0
- package/dist/components/Collapsible.d.ts +127 -0
- package/dist/components/Collapsible.js +103 -0
- package/dist/components/Combobox.d.ts +177 -0
- package/dist/components/Combobox.js +179 -0
- package/dist/components/Commit.d.ts +265 -0
- package/dist/components/Commit.js +282 -0
- package/dist/components/Context.d.ts +129 -0
- package/dist/components/Context.js +309 -0
- package/dist/components/ContextMenu.d.ts +282 -0
- package/dist/components/ContextMenu.js +270 -0
- package/dist/components/Conversation.d.ts +166 -0
- package/dist/components/Conversation.js +202 -0
- package/dist/components/Dialog.d.ts +120 -0
- package/dist/components/Dialog.js +114 -0
- package/dist/components/EnvironmentVariables.d.ts +176 -0
- package/dist/components/EnvironmentVariables.js +221 -0
- package/dist/components/Field.d.ts +281 -0
- package/dist/components/Field.js +274 -0
- package/dist/components/Fieldset.d.ts +93 -0
- package/dist/components/Fieldset.js +81 -0
- package/dist/components/FileTree.d.ts +116 -0
- package/dist/components/FileTree.js +310 -0
- package/dist/components/Form.d.ts +94 -0
- package/dist/components/Form.js +88 -0
- package/dist/components/GithubMotionMark.d.ts +13 -0
- package/dist/components/GithubMotionMark.js +23 -0
- package/dist/components/Input.d.ts +33 -0
- package/dist/components/Input.js +27 -0
- package/dist/components/Label.d.ts +44 -0
- package/dist/components/Label.js +41 -0
- package/dist/components/Menu.d.ts +395 -0
- package/dist/components/Menu.js +338 -0
- package/dist/components/Menubar.d.ts +331 -0
- package/dist/components/Menubar.js +299 -0
- package/dist/components/Message.d.ts +216 -0
- package/dist/components/Message.js +245 -0
- package/dist/components/Meter.d.ts +151 -0
- package/dist/components/Meter.js +121 -0
- package/dist/components/ModelSelector.d.ts +198 -0
- package/dist/components/ModelSelector.js +306 -0
- package/dist/components/NaniteScene.d.ts +33 -0
- package/dist/components/NaniteScene.js +405 -0
- package/dist/components/NavigationMenu.d.ts +256 -0
- package/dist/components/NavigationMenu.js +228 -0
- package/dist/components/NumberField.d.ts +159 -0
- package/dist/components/NumberField.js +123 -0
- package/dist/components/Popover.d.ts +278 -0
- package/dist/components/Popover.js +245 -0
- package/dist/components/PreviewCard.d.ts +156 -0
- package/dist/components/PreviewCard.js +156 -0
- package/dist/components/PricingPage.d.ts +209 -0
- package/dist/components/PricingPage.js +506 -0
- package/dist/components/Progress.d.ts +58 -0
- package/dist/components/Progress.js +51 -0
- package/dist/components/PromptInput.d.ts +399 -0
- package/dist/components/PromptInput.js +737 -0
- package/dist/components/Queue.d.ts +241 -0
- package/dist/components/Queue.js +225 -0
- package/dist/components/RadioGroup.d.ts +78 -0
- package/dist/components/RadioGroup.js +72 -0
- package/dist/components/Reasoning.d.ts +88 -0
- package/dist/components/Reasoning.js +187 -0
- package/dist/components/ScrollArea.d.ts +160 -0
- package/dist/components/ScrollArea.js +145 -0
- package/dist/components/Select.d.ts +2 -0
- package/dist/components/Select.js +260 -0
- package/dist/components/Separator.d.ts +45 -0
- package/dist/components/Separator.js +40 -0
- package/dist/components/Shell.d.ts +163 -0
- package/dist/components/Shell.js +137 -0
- package/dist/components/Slider.d.ts +120 -0
- package/dist/components/Slider.js +115 -0
- package/dist/components/Sources.d.ts +91 -0
- package/dist/components/Sources.js +121 -0
- package/dist/components/Stepper.d.ts +190 -0
- package/dist/components/Stepper.js +315 -0
- package/dist/components/Switch.d.ts +57 -0
- package/dist/components/Switch.js +55 -0
- package/dist/components/Tabs.d.ts +84 -0
- package/dist/components/Tabs.js +78 -0
- package/dist/components/Task.d.ts +100 -0
- package/dist/components/Task.js +120 -0
- package/dist/components/Terminal.d.ts +118 -0
- package/dist/components/Terminal.js +234 -0
- package/dist/components/TestResults.d.ts +236 -0
- package/dist/components/TestResults.js +346 -0
- package/dist/components/Toast.d.ts +192 -0
- package/dist/components/Toast.js +163 -0
- package/dist/components/Toggle.d.ts +69 -0
- package/dist/components/Toggle.js +66 -0
- package/dist/components/ToggleGroup.d.ts +69 -0
- package/dist/components/ToggleGroup.js +99 -0
- package/dist/components/Tool.d.ts +119 -0
- package/dist/components/Tool.js +192 -0
- package/dist/components/Toolbar.d.ts +162 -0
- package/dist/components/Toolbar.js +126 -0
- package/dist/components/Tooltip.d.ts +81 -0
- package/dist/components/Tooltip.js +74 -0
- package/dist/components/WebPreview.d.ts +143 -0
- package/dist/components/WebPreview.js +280 -0
- package/dist/components/useStickToBottom.d.ts +30 -0
- package/dist/components/useStickToBottom.js +95 -0
- package/dist/copy-button-BIATcZWZ.d.ts +16 -0
- package/dist/copy-button-BNgclDrO.js +43 -0
- package/dist/icons-BsWc8g4E.js +221 -0
- package/dist/styles/accordion.css +10 -10
- package/dist/styles/agent-connection.css +18 -17
- package/dist/styles/alert-dialog.css +48 -29
- package/dist/styles/artifact.css +10 -10
- package/dist/styles/autocomplete.css +25 -24
- package/dist/styles/avatar.css +96 -6
- package/dist/styles/badge.css +78 -14
- package/dist/styles/base.css +9 -9
- package/dist/styles/button.css +57 -38
- package/dist/styles/card.css +57 -10
- package/dist/styles/chain-of-thought.css +47 -33
- package/dist/styles/checkbox.css +24 -10
- package/dist/styles/code-block.css +22 -15
- package/dist/styles/collapsible.css +14 -12
- package/dist/styles/combobox.css +26 -25
- package/dist/styles/commit.css +49 -24
- package/dist/styles/context-menu.css +70 -16
- package/dist/styles/context.css +15 -15
- package/dist/styles/conversation.css +12 -12
- package/dist/styles/dialog.css +52 -16
- package/dist/styles/environment-variables.css +19 -19
- package/dist/styles/field.css +184 -22
- package/dist/styles/fieldset.css +5 -4
- package/dist/styles/file-tree.css +17 -17
- package/dist/styles/index.css.d.ts +1 -0
- package/dist/styles/input.css +45 -11
- package/dist/styles/label.css +21 -4
- package/dist/styles/menu.css +55 -32
- package/dist/styles/menubar.css +80 -28
- package/dist/styles/message.css +22 -13
- package/dist/styles/meter.css +8 -8
- package/dist/styles/model-selector.css +33 -21
- package/dist/styles/navigation-menu.css +26 -24
- package/dist/styles/number-field.css +20 -18
- package/dist/styles/popover.css +38 -28
- package/dist/styles/preview-card.css +15 -13
- package/dist/styles/pricing-page.css +53 -53
- package/dist/styles/progress.css +7 -7
- package/dist/styles/prompt-input.css +73 -24
- package/dist/styles/queue.css +58 -32
- package/dist/styles/radio.css +26 -11
- package/dist/styles/reasoning.css +15 -11
- package/dist/styles/scroll-area.css +6 -6
- package/dist/styles/scrollbars.css +4 -4
- package/dist/styles/select.css +84 -25
- package/dist/styles/separator.css +1 -1
- package/dist/styles/shell.css +21 -20
- package/dist/styles/slider.css +35 -11
- package/dist/styles/sources.css +20 -20
- package/dist/styles/stepper.css +22 -22
- package/dist/styles/switch.css +29 -13
- package/dist/styles/tabs.css +23 -16
- package/dist/styles/task.css +27 -23
- package/dist/styles/terminal.css +16 -13
- package/dist/styles/test-results.css +79 -32
- package/dist/styles/toast.css +26 -25
- package/dist/styles/toggle-group.css +12 -12
- package/dist/styles/toggle.css +29 -11
- package/dist/styles/tool.css +54 -32
- package/dist/styles/toolbar.css +30 -28
- package/dist/styles/tooltip.css +10 -8
- package/dist/styles/web-preview.css +37 -21
- package/dist/utils/structured-code.d.ts +10 -0
- package/dist/utils/structured-code.js +81 -0
- package/package.json +17 -8
- package/dist/index.d.ts +0 -7236
- package/dist/index.js +0 -8945
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { r as ButtonProps } from "../Button-QCM8ZKgR.js";
|
|
2
|
+
import { CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps } from "./Collapsible.js";
|
|
3
|
+
import { ScrollAreaRootProps } from "./ScrollArea.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/Queue.d.ts
|
|
7
|
+
interface QueueMessagePart {
|
|
8
|
+
type: string;
|
|
9
|
+
text?: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
filename?: string;
|
|
12
|
+
mediaType?: string;
|
|
13
|
+
}
|
|
14
|
+
interface QueueMessage {
|
|
15
|
+
id: string;
|
|
16
|
+
parts: QueueMessagePart[];
|
|
17
|
+
}
|
|
18
|
+
interface QueueTodo {
|
|
19
|
+
id: string;
|
|
20
|
+
title: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
status?: "pending" | "completed";
|
|
23
|
+
}
|
|
24
|
+
interface QueueProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
25
|
+
/** Additional class names for layout only; do not override item states from apps. */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** QueueSection children. */
|
|
28
|
+
children?: React.ReactNode;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Container for a grouped list of queue items (e.g. messages, todos,
|
|
32
|
+
* attachments). Compose with QueueSection as direct children. Adapted from
|
|
33
|
+
* Vercel AI Elements and restyled with Sigvelo CSS tokens.
|
|
34
|
+
*
|
|
35
|
+
* Use for agent work queues, todo groups, and attachment queues. Do not use it
|
|
36
|
+
* for navigation or arbitrary card lists.
|
|
37
|
+
*
|
|
38
|
+
* Sigvelo changes: uses shared Collapsible, ScrollArea, Badge, and Button
|
|
39
|
+
* components; normalizes Vercel-compatible `completed` status to `complete`;
|
|
40
|
+
* maps all styling to Sigvelo queue CSS tokens/classes.
|
|
41
|
+
*
|
|
42
|
+
* Section triggers inherit Collapsible keyboard behavior. Status indicators
|
|
43
|
+
* are decorative, so visible item text must carry the real meaning. Add new
|
|
44
|
+
* statuses or item affordances here when multiple apps need them.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```tsx
|
|
48
|
+
* <Queue>
|
|
49
|
+
* <QueueSection>
|
|
50
|
+
* <QueueSectionTrigger>
|
|
51
|
+
* <QueueSectionLabel count={2}>Todos</QueueSectionLabel>
|
|
52
|
+
* </QueueSectionTrigger>
|
|
53
|
+
* <QueueSectionContent>
|
|
54
|
+
* <QueueList>
|
|
55
|
+
* <QueueItem status="active">
|
|
56
|
+
* <QueueItemIndicator status="active" />
|
|
57
|
+
* <QueueItemContent>Running checks</QueueItemContent>
|
|
58
|
+
* </QueueItem>
|
|
59
|
+
* </QueueList>
|
|
60
|
+
* </QueueSectionContent>
|
|
61
|
+
* </QueueSection>
|
|
62
|
+
* </Queue>
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @see {@link https://elements.ai-sdk.dev/components/queue | AI Elements Queue}
|
|
66
|
+
*/
|
|
67
|
+
declare function Queue({
|
|
68
|
+
className,
|
|
69
|
+
children,
|
|
70
|
+
ref,
|
|
71
|
+
...props
|
|
72
|
+
}: QueueProps & {
|
|
73
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
74
|
+
}): React.JSX.Element;
|
|
75
|
+
interface QueueSectionProps extends Omit<CollapsibleRootProps, "className" | "unstyled"> {
|
|
76
|
+
className?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A collapsible section within a Queue. Holds a trigger label and a list
|
|
80
|
+
* of QueueItem children.
|
|
81
|
+
*/
|
|
82
|
+
declare function QueueSection({
|
|
83
|
+
className,
|
|
84
|
+
defaultOpen,
|
|
85
|
+
ref,
|
|
86
|
+
...props
|
|
87
|
+
}: QueueSectionProps & {
|
|
88
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
89
|
+
}): React.JSX.Element;
|
|
90
|
+
interface QueueSectionTriggerProps extends Omit<CollapsibleTriggerProps, "className" | "unstyled"> {
|
|
91
|
+
className?: string;
|
|
92
|
+
}
|
|
93
|
+
declare function QueueSectionTrigger({
|
|
94
|
+
className,
|
|
95
|
+
children,
|
|
96
|
+
ref,
|
|
97
|
+
...props
|
|
98
|
+
}: QueueSectionTriggerProps & {
|
|
99
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
100
|
+
}): React.JSX.Element;
|
|
101
|
+
interface QueueSectionLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
102
|
+
/** Optional count rendered as a trailing badge. */
|
|
103
|
+
count?: number;
|
|
104
|
+
label?: string;
|
|
105
|
+
icon?: React.ReactNode;
|
|
106
|
+
}
|
|
107
|
+
declare function QueueSectionLabel({
|
|
108
|
+
className,
|
|
109
|
+
children,
|
|
110
|
+
count,
|
|
111
|
+
label,
|
|
112
|
+
icon,
|
|
113
|
+
ref,
|
|
114
|
+
...props
|
|
115
|
+
}: QueueSectionLabelProps & {
|
|
116
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
117
|
+
}): React.JSX.Element;
|
|
118
|
+
interface QueueListProps extends Omit<ScrollAreaRootProps, "className"> {
|
|
119
|
+
className?: string;
|
|
120
|
+
}
|
|
121
|
+
declare function QueueList({
|
|
122
|
+
className,
|
|
123
|
+
children,
|
|
124
|
+
ref,
|
|
125
|
+
...props
|
|
126
|
+
}: QueueListProps & {
|
|
127
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
128
|
+
}): React.JSX.Element;
|
|
129
|
+
interface QueueSectionContentProps extends Omit<CollapsiblePanelProps, "className" | "unstyled"> {
|
|
130
|
+
className?: string;
|
|
131
|
+
}
|
|
132
|
+
declare function QueueSectionContent({
|
|
133
|
+
className,
|
|
134
|
+
ref,
|
|
135
|
+
...props
|
|
136
|
+
}: QueueSectionContentProps & {
|
|
137
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
138
|
+
}): React.JSX.Element;
|
|
139
|
+
type QueueItemStatus = "pending" | "active" | "complete" | "completed";
|
|
140
|
+
interface QueueItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
141
|
+
status?: QueueItemStatus;
|
|
142
|
+
}
|
|
143
|
+
declare function QueueItem({
|
|
144
|
+
className,
|
|
145
|
+
status,
|
|
146
|
+
children,
|
|
147
|
+
ref,
|
|
148
|
+
...props
|
|
149
|
+
}: QueueItemProps & {
|
|
150
|
+
ref?: React.Ref<HTMLLIElement>;
|
|
151
|
+
}): React.JSX.Element;
|
|
152
|
+
interface QueueItemIndicatorProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
153
|
+
status?: QueueItemStatus;
|
|
154
|
+
completed?: boolean;
|
|
155
|
+
}
|
|
156
|
+
declare function QueueItemIndicator({
|
|
157
|
+
className,
|
|
158
|
+
status,
|
|
159
|
+
completed,
|
|
160
|
+
ref,
|
|
161
|
+
...props
|
|
162
|
+
}: QueueItemIndicatorProps & {
|
|
163
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
164
|
+
}): React.JSX.Element;
|
|
165
|
+
interface QueueItemContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
166
|
+
completed?: boolean;
|
|
167
|
+
}
|
|
168
|
+
declare function QueueItemContent({
|
|
169
|
+
className,
|
|
170
|
+
children,
|
|
171
|
+
completed,
|
|
172
|
+
ref,
|
|
173
|
+
...props
|
|
174
|
+
}: QueueItemContentProps & {
|
|
175
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
176
|
+
}): React.JSX.Element;
|
|
177
|
+
interface QueueItemDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
178
|
+
completed?: boolean;
|
|
179
|
+
}
|
|
180
|
+
declare function QueueItemDescription({
|
|
181
|
+
className,
|
|
182
|
+
children,
|
|
183
|
+
completed,
|
|
184
|
+
ref,
|
|
185
|
+
...props
|
|
186
|
+
}: QueueItemDescriptionProps & {
|
|
187
|
+
ref?: React.Ref<HTMLParagraphElement>;
|
|
188
|
+
}): React.JSX.Element;
|
|
189
|
+
interface QueueItemActionsProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
190
|
+
interface QueueItemActionProps extends Omit<ButtonProps, "variant" | "color" | "size" | "className"> {
|
|
191
|
+
className?: string;
|
|
192
|
+
}
|
|
193
|
+
declare function QueueItemActions({
|
|
194
|
+
className,
|
|
195
|
+
children,
|
|
196
|
+
ref,
|
|
197
|
+
...props
|
|
198
|
+
}: QueueItemActionsProps & {
|
|
199
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
200
|
+
}): React.JSX.Element;
|
|
201
|
+
declare function QueueItemAction({
|
|
202
|
+
className,
|
|
203
|
+
ref,
|
|
204
|
+
...props
|
|
205
|
+
}: QueueItemActionProps & {
|
|
206
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
207
|
+
}): React.JSX.Element;
|
|
208
|
+
interface QueueItemAttachmentProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
209
|
+
declare function QueueItemAttachment({
|
|
210
|
+
className,
|
|
211
|
+
children,
|
|
212
|
+
ref,
|
|
213
|
+
...props
|
|
214
|
+
}: QueueItemAttachmentProps & {
|
|
215
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
216
|
+
}): React.JSX.Element;
|
|
217
|
+
interface QueueItemImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {}
|
|
218
|
+
declare function QueueItemImage({
|
|
219
|
+
className,
|
|
220
|
+
alt,
|
|
221
|
+
ref,
|
|
222
|
+
...props
|
|
223
|
+
}: QueueItemImageProps & {
|
|
224
|
+
ref?: React.Ref<HTMLImageElement>;
|
|
225
|
+
}): React.JSX.Element;
|
|
226
|
+
interface QueueItemFileProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
227
|
+
name?: string;
|
|
228
|
+
size?: string;
|
|
229
|
+
}
|
|
230
|
+
declare function QueueItemFile({
|
|
231
|
+
className,
|
|
232
|
+
children,
|
|
233
|
+
name,
|
|
234
|
+
size,
|
|
235
|
+
ref,
|
|
236
|
+
...props
|
|
237
|
+
}: QueueItemFileProps & {
|
|
238
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
239
|
+
}): React.JSX.Element;
|
|
240
|
+
//#endregion
|
|
241
|
+
export { Queue, QueueItem, QueueItemAction, QueueItemActionProps, QueueItemActions, QueueItemActionsProps, QueueItemAttachment, QueueItemAttachmentProps, QueueItemContent, QueueItemContentProps, QueueItemDescription, QueueItemDescriptionProps, QueueItemFile, QueueItemFileProps, QueueItemImage, QueueItemImageProps, QueueItemIndicator, QueueItemIndicatorProps, QueueItemProps, QueueItemStatus, QueueList, QueueListProps, QueueMessage, QueueMessagePart, QueueProps, QueueSection, QueueSectionContent, QueueSectionContentProps, QueueSectionLabel, QueueSectionLabelProps, QueueSectionProps, QueueSectionTrigger, QueueSectionTriggerProps, QueueTodo };
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { c as ChevronRightIcon, m as FileIcon, o as CheckIcon, u as DotIcon } from "../icons-BsWc8g4E.js";
|
|
2
|
+
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
3
|
+
import { Button } from "./Button.js";
|
|
4
|
+
import { Badge } from "./Badge.js";
|
|
5
|
+
import { CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger } from "./Collapsible.js";
|
|
6
|
+
import { ScrollArea } from "./ScrollArea.js";
|
|
7
|
+
import "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/Queue.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Container for a grouped list of queue items (e.g. messages, todos,
|
|
12
|
+
* attachments). Compose with QueueSection as direct children. Adapted from
|
|
13
|
+
* Vercel AI Elements and restyled with Sigvelo CSS tokens.
|
|
14
|
+
*
|
|
15
|
+
* Use for agent work queues, todo groups, and attachment queues. Do not use it
|
|
16
|
+
* for navigation or arbitrary card lists.
|
|
17
|
+
*
|
|
18
|
+
* Sigvelo changes: uses shared Collapsible, ScrollArea, Badge, and Button
|
|
19
|
+
* components; normalizes Vercel-compatible `completed` status to `complete`;
|
|
20
|
+
* maps all styling to Sigvelo queue CSS tokens/classes.
|
|
21
|
+
*
|
|
22
|
+
* Section triggers inherit Collapsible keyboard behavior. Status indicators
|
|
23
|
+
* are decorative, so visible item text must carry the real meaning. Add new
|
|
24
|
+
* statuses or item affordances here when multiple apps need them.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <Queue>
|
|
29
|
+
* <QueueSection>
|
|
30
|
+
* <QueueSectionTrigger>
|
|
31
|
+
* <QueueSectionLabel count={2}>Todos</QueueSectionLabel>
|
|
32
|
+
* </QueueSectionTrigger>
|
|
33
|
+
* <QueueSectionContent>
|
|
34
|
+
* <QueueList>
|
|
35
|
+
* <QueueItem status="active">
|
|
36
|
+
* <QueueItemIndicator status="active" />
|
|
37
|
+
* <QueueItemContent>Running checks</QueueItemContent>
|
|
38
|
+
* </QueueItem>
|
|
39
|
+
* </QueueList>
|
|
40
|
+
* </QueueSectionContent>
|
|
41
|
+
* </QueueSection>
|
|
42
|
+
* </Queue>
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @see {@link https://elements.ai-sdk.dev/components/queue | AI Elements Queue}
|
|
46
|
+
*/
|
|
47
|
+
function Queue({ className, children, ref, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
ref,
|
|
50
|
+
className: cx("queue", className),
|
|
51
|
+
...props,
|
|
52
|
+
children
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A collapsible section within a Queue. Holds a trigger label and a list
|
|
57
|
+
* of QueueItem children.
|
|
58
|
+
*/
|
|
59
|
+
function QueueSection({ className, defaultOpen = true, ref, ...props }) {
|
|
60
|
+
return /* @__PURE__ */ jsx(CollapsibleRoot, {
|
|
61
|
+
ref,
|
|
62
|
+
className: cx("queue__section", className),
|
|
63
|
+
defaultOpen,
|
|
64
|
+
...props,
|
|
65
|
+
unstyled: true
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function QueueSectionTrigger({ className, children, ref, ...props }) {
|
|
69
|
+
return /* @__PURE__ */ jsxs(CollapsibleTrigger, {
|
|
70
|
+
ref,
|
|
71
|
+
className: cx("queue__section-trigger", className),
|
|
72
|
+
...props,
|
|
73
|
+
unstyled: true,
|
|
74
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
75
|
+
className: "queue__section-icon",
|
|
76
|
+
"aria-hidden": "true",
|
|
77
|
+
children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
78
|
+
}), children]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function QueueSectionLabel({ className, children, count, label, icon, ref, ...props }) {
|
|
82
|
+
const content = children ?? (label ? `${count ?? ""} ${label}`.trim() : null);
|
|
83
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
84
|
+
ref,
|
|
85
|
+
className: cx("queue__section-label", className),
|
|
86
|
+
...props,
|
|
87
|
+
children: [
|
|
88
|
+
icon,
|
|
89
|
+
/* @__PURE__ */ jsx("span", { children: content }),
|
|
90
|
+
children !== void 0 && count !== void 0 ? /* @__PURE__ */ jsx(Badge, {
|
|
91
|
+
color: "neutral",
|
|
92
|
+
size: "sm",
|
|
93
|
+
className: "queue__section-count",
|
|
94
|
+
children: count
|
|
95
|
+
}) : null
|
|
96
|
+
]
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function QueueList({ className, children, ref, ...props }) {
|
|
100
|
+
return /* @__PURE__ */ jsxs(ScrollArea, {
|
|
101
|
+
ref,
|
|
102
|
+
className: cx("queue__list", className),
|
|
103
|
+
...props,
|
|
104
|
+
children: [/* @__PURE__ */ jsx(ScrollArea.Viewport, {
|
|
105
|
+
className: "queue__list-viewport",
|
|
106
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
107
|
+
className: "queue__list-scroll",
|
|
108
|
+
children: /* @__PURE__ */ jsx("ul", {
|
|
109
|
+
className: "queue__list-inner",
|
|
110
|
+
children
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
}), /* @__PURE__ */ jsx(ScrollArea.Scrollbar, {
|
|
114
|
+
orientation: "vertical",
|
|
115
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, {})
|
|
116
|
+
})]
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function QueueSectionContent({ className, ref, ...props }) {
|
|
120
|
+
return /* @__PURE__ */ jsx(CollapsiblePanel, {
|
|
121
|
+
ref,
|
|
122
|
+
className: cx("queue__section-content", className),
|
|
123
|
+
...props,
|
|
124
|
+
unstyled: true
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function normalizeQueueItemStatus(status) {
|
|
128
|
+
return status === "completed" ? "complete" : status;
|
|
129
|
+
}
|
|
130
|
+
function QueueItem({ className, status = "pending", children, ref, ...props }) {
|
|
131
|
+
const resolvedStatus = normalizeQueueItemStatus(status);
|
|
132
|
+
return /* @__PURE__ */ jsx("li", {
|
|
133
|
+
ref,
|
|
134
|
+
className: cx("queue__item", `queue__item--${resolvedStatus}`, className),
|
|
135
|
+
"data-status": resolvedStatus,
|
|
136
|
+
...props,
|
|
137
|
+
children
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
function QueueItemIndicator({ className, status = "pending", completed = false, ref, ...props }) {
|
|
141
|
+
const resolvedStatus = completed ? "complete" : normalizeQueueItemStatus(status);
|
|
142
|
+
const icon = resolvedStatus === "complete" ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(DotIcon, {});
|
|
143
|
+
return /* @__PURE__ */ jsx("span", {
|
|
144
|
+
ref,
|
|
145
|
+
className: cx("queue__item-indicator", `queue__item-indicator--${resolvedStatus}`, className),
|
|
146
|
+
"aria-hidden": "true",
|
|
147
|
+
...props,
|
|
148
|
+
children: icon
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
function QueueItemContent({ className, children, completed = false, ref, ...props }) {
|
|
152
|
+
return /* @__PURE__ */ jsx("div", {
|
|
153
|
+
ref,
|
|
154
|
+
className: cx("queue__item-content", completed && "queue__item-content--complete", className),
|
|
155
|
+
...props,
|
|
156
|
+
children
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
function QueueItemDescription({ className, children, completed = false, ref, ...props }) {
|
|
160
|
+
return /* @__PURE__ */ jsx("p", {
|
|
161
|
+
ref,
|
|
162
|
+
className: cx("queue__item-description", completed && "queue__item-description--complete", className),
|
|
163
|
+
...props,
|
|
164
|
+
children
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
function QueueItemActions({ className, children, ref, ...props }) {
|
|
168
|
+
return /* @__PURE__ */ jsx("div", {
|
|
169
|
+
ref,
|
|
170
|
+
className: cx("queue__item-actions", className),
|
|
171
|
+
...props,
|
|
172
|
+
children
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
function QueueItemAction({ className, ref, ...props }) {
|
|
176
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
177
|
+
ref,
|
|
178
|
+
type: "button",
|
|
179
|
+
variant: "ghost",
|
|
180
|
+
color: "neutral",
|
|
181
|
+
size: "sm",
|
|
182
|
+
className: cx("queue__item-action", className),
|
|
183
|
+
...props
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
function QueueItemAttachment({ className, children, ref, ...props }) {
|
|
187
|
+
return /* @__PURE__ */ jsx("div", {
|
|
188
|
+
ref,
|
|
189
|
+
className: cx("queue__item-attachment", className),
|
|
190
|
+
...props,
|
|
191
|
+
children
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
function QueueItemImage({ className, alt = "", ref, ...props }) {
|
|
195
|
+
return /* @__PURE__ */ jsx("img", {
|
|
196
|
+
ref,
|
|
197
|
+
alt,
|
|
198
|
+
className: cx("queue__item-image", className),
|
|
199
|
+
...props
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
function QueueItemFile({ className, children, name, size, ref, ...props }) {
|
|
203
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
204
|
+
ref,
|
|
205
|
+
className: cx("queue__item-file", className),
|
|
206
|
+
...props,
|
|
207
|
+
children: [
|
|
208
|
+
/* @__PURE__ */ jsx("span", {
|
|
209
|
+
className: "queue__item-file-icon",
|
|
210
|
+
"aria-hidden": "true",
|
|
211
|
+
children: /* @__PURE__ */ jsx(FileIcon, {})
|
|
212
|
+
}),
|
|
213
|
+
/* @__PURE__ */ jsx("span", {
|
|
214
|
+
className: "queue__item-file-name",
|
|
215
|
+
children: children ?? name
|
|
216
|
+
}),
|
|
217
|
+
size ? /* @__PURE__ */ jsx("span", {
|
|
218
|
+
className: "queue__item-file-size",
|
|
219
|
+
children: size
|
|
220
|
+
}) : null
|
|
221
|
+
]
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//#endregion
|
|
225
|
+
export { Queue, QueueItem, QueueItemAction, QueueItemActions, QueueItemAttachment, QueueItemContent, QueueItemDescription, QueueItemFile, QueueItemImage, QueueItemIndicator, QueueList, QueueSection, QueueSectionContent, QueueSectionLabel, QueueSectionTrigger };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
|
|
3
|
+
import { Radio as Radio$1 } from "@base-ui/react/radio";
|
|
4
|
+
|
|
5
|
+
//#region src/components/RadioGroup.d.ts
|
|
6
|
+
interface RadioGroupProps extends Omit<React.ComponentPropsWithRef<typeof RadioGroup$1>, "className"> {
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* The orientation of the radio group.
|
|
10
|
+
* @default 'vertical'
|
|
11
|
+
*/
|
|
12
|
+
orientation?: "horizontal" | "vertical";
|
|
13
|
+
}
|
|
14
|
+
interface RadioProps extends Omit<React.ComponentPropsWithRef<typeof Radio$1.Root>, "className"> {
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
interface RadioIndicatorProps extends Omit<React.ComponentPropsWithRef<typeof Radio$1.Indicator>, "className"> {
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A radio group component for selecting one option from a list.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <RadioGroup defaultValue="option1">
|
|
26
|
+
* <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
|
|
27
|
+
* <Radio value="option1">
|
|
28
|
+
* <RadioIndicator />
|
|
29
|
+
* </Radio>
|
|
30
|
+
* <Label>Option 1</Label>
|
|
31
|
+
* </div>
|
|
32
|
+
* <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
|
|
33
|
+
* <Radio value="option2">
|
|
34
|
+
* <RadioIndicator />
|
|
35
|
+
* </Radio>
|
|
36
|
+
* <Label>Option 2</Label>
|
|
37
|
+
* </div>
|
|
38
|
+
* </RadioGroup>
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @see {@link https://base-ui.com/react/components/radio-group | Base UI Radio Group}
|
|
42
|
+
*/
|
|
43
|
+
declare function RadioGroup({
|
|
44
|
+
orientation,
|
|
45
|
+
className,
|
|
46
|
+
ref,
|
|
47
|
+
...props
|
|
48
|
+
}: RadioGroupProps & {
|
|
49
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
50
|
+
}): React.JSX.Element;
|
|
51
|
+
/**
|
|
52
|
+
* A single radio button within a RadioGroup.
|
|
53
|
+
*/
|
|
54
|
+
declare function Radio({
|
|
55
|
+
className,
|
|
56
|
+
ref,
|
|
57
|
+
...props
|
|
58
|
+
}: RadioProps & {
|
|
59
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
60
|
+
}): React.JSX.Element;
|
|
61
|
+
declare function RadioGroupItem({
|
|
62
|
+
children,
|
|
63
|
+
...props
|
|
64
|
+
}: RadioProps & {
|
|
65
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
66
|
+
}): React.JSX.Element;
|
|
67
|
+
/**
|
|
68
|
+
* The visual indicator for a Radio button.
|
|
69
|
+
*/
|
|
70
|
+
declare function RadioIndicator({
|
|
71
|
+
className,
|
|
72
|
+
ref,
|
|
73
|
+
...props
|
|
74
|
+
}: RadioIndicatorProps & {
|
|
75
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
76
|
+
}): React.JSX.Element;
|
|
77
|
+
//#endregion
|
|
78
|
+
export { Radio, RadioGroup, RadioGroupItem, RadioGroupProps, RadioIndicator, RadioIndicatorProps, RadioProps };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
|
|
4
|
+
import { Radio as Radio$1 } from "@base-ui/react/radio";
|
|
5
|
+
//#region src/components/RadioGroup.tsx
|
|
6
|
+
/**
|
|
7
|
+
* A radio group component for selecting one option from a list.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <RadioGroup defaultValue="option1">
|
|
12
|
+
* <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
|
|
13
|
+
* <Radio value="option1">
|
|
14
|
+
* <RadioIndicator />
|
|
15
|
+
* </Radio>
|
|
16
|
+
* <Label>Option 1</Label>
|
|
17
|
+
* </div>
|
|
18
|
+
* <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
|
|
19
|
+
* <Radio value="option2">
|
|
20
|
+
* <RadioIndicator />
|
|
21
|
+
* </Radio>
|
|
22
|
+
* <Label>Option 2</Label>
|
|
23
|
+
* </div>
|
|
24
|
+
* </RadioGroup>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @see {@link https://base-ui.com/react/components/radio-group | Base UI Radio Group}
|
|
28
|
+
*/
|
|
29
|
+
function RadioGroup({ orientation = "vertical", className = "", ref, ...props }) {
|
|
30
|
+
return /* @__PURE__ */ jsx(RadioGroup$1, {
|
|
31
|
+
ref,
|
|
32
|
+
"data-slot": "radio-group",
|
|
33
|
+
className: [
|
|
34
|
+
"radio-group",
|
|
35
|
+
`radio-group--${orientation}`,
|
|
36
|
+
className
|
|
37
|
+
].filter(Boolean).join(" "),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A single radio button within a RadioGroup.
|
|
43
|
+
*/
|
|
44
|
+
function Radio({ className = "", ref, ...props }) {
|
|
45
|
+
const classes = ["radio", className].filter(Boolean).join(" ");
|
|
46
|
+
return /* @__PURE__ */ jsx(Radio$1.Root, {
|
|
47
|
+
ref,
|
|
48
|
+
"data-slot": "radio-group-item",
|
|
49
|
+
className: classes,
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function RadioGroupItem({ children, ...props }) {
|
|
54
|
+
return /* @__PURE__ */ jsx(Radio, {
|
|
55
|
+
...props,
|
|
56
|
+
children: children ?? /* @__PURE__ */ jsx(RadioIndicator, {})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The visual indicator for a Radio button.
|
|
61
|
+
*/
|
|
62
|
+
function RadioIndicator({ className = "", ref, ...props }) {
|
|
63
|
+
const classes = ["radio__indicator", className].filter(Boolean).join(" ");
|
|
64
|
+
return /* @__PURE__ */ jsx(Radio$1.Indicator, {
|
|
65
|
+
ref,
|
|
66
|
+
"data-slot": "radio-group-indicator",
|
|
67
|
+
className: classes,
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { Radio, RadioGroup, RadioGroupItem, RadioIndicator };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps } from "./Collapsible.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/Reasoning.d.ts
|
|
5
|
+
interface ReasoningContextValue {
|
|
6
|
+
isStreaming: boolean;
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
setIsOpen: (open: boolean) => void;
|
|
9
|
+
duration?: number;
|
|
10
|
+
}
|
|
11
|
+
declare function useReasoning(): ReasoningContextValue;
|
|
12
|
+
interface ReasoningProps extends Omit<CollapsibleRootProps, "className" | "onOpenChange" | "unstyled"> {
|
|
13
|
+
className?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the model is currently generating reasoning. When true the
|
|
16
|
+
* component auto-opens; it auto-closes once streaming ends.
|
|
17
|
+
*/
|
|
18
|
+
isStreaming?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Elapsed reasoning time in seconds, shown in the trigger when finished.
|
|
21
|
+
* When omitted, the component measures the duration automatically.
|
|
22
|
+
*/
|
|
23
|
+
duration?: number;
|
|
24
|
+
/** Called when the open state changes. */
|
|
25
|
+
onOpenChange?: (open: boolean) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A collapsible "thinking" block for showing model reasoning (e.g. DeepSeek
|
|
29
|
+
* R1, OpenAI o-series). Auto-expands while streaming and collapses when done.
|
|
30
|
+
* Adapted from Vercel AI Elements and restyled with Sigvelo CSS tokens.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <Reasoning isStreaming={isThinking} duration={elapsed}>
|
|
35
|
+
* <ReasoningTrigger />
|
|
36
|
+
* <ReasoningContent>{reasoningText}</ReasoningContent>
|
|
37
|
+
* </Reasoning>
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @see {@link https://elements.ai-sdk.dev/components/reasoning | AI Elements Reasoning}
|
|
41
|
+
*/
|
|
42
|
+
declare function Reasoning({
|
|
43
|
+
className,
|
|
44
|
+
isStreaming,
|
|
45
|
+
duration,
|
|
46
|
+
open,
|
|
47
|
+
defaultOpen,
|
|
48
|
+
onOpenChange,
|
|
49
|
+
children,
|
|
50
|
+
ref,
|
|
51
|
+
...props
|
|
52
|
+
}: ReasoningProps & {
|
|
53
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
54
|
+
}): React.JSX.Element;
|
|
55
|
+
interface ReasoningTriggerProps extends Omit<CollapsibleTriggerProps, "className" | "unstyled"> {
|
|
56
|
+
className?: string;
|
|
57
|
+
getThinkingMessage?: (isStreaming: boolean, duration?: number) => React.ReactNode;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Trigger that toggles the reasoning panel. Shows "Thinking..." while
|
|
61
|
+
* streaming and "Thought for Ns" afterward.
|
|
62
|
+
*/
|
|
63
|
+
declare function ReasoningTrigger({
|
|
64
|
+
className,
|
|
65
|
+
children,
|
|
66
|
+
getThinkingMessage,
|
|
67
|
+
ref,
|
|
68
|
+
...props
|
|
69
|
+
}: ReasoningTriggerProps & {
|
|
70
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
71
|
+
}): React.JSX.Element;
|
|
72
|
+
interface ReasoningContentProps extends Omit<CollapsiblePanelProps, "className" | "unstyled"> {
|
|
73
|
+
className?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The reasoning text panel. Accepts any React node but is optimized for
|
|
77
|
+
* long-form text; a muted left border visually distinguishes the block.
|
|
78
|
+
*/
|
|
79
|
+
declare function ReasoningContent({
|
|
80
|
+
className,
|
|
81
|
+
children,
|
|
82
|
+
ref,
|
|
83
|
+
...props
|
|
84
|
+
}: ReasoningContentProps & {
|
|
85
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
86
|
+
}): React.JSX.Element;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { Reasoning, ReasoningContent, ReasoningContentProps, ReasoningProps, ReasoningTrigger, ReasoningTriggerProps, useReasoning };
|