@ciridae/ui 1.0.2 → 1.0.4

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.
Files changed (209) hide show
  1. package/dist/app/auth.d.ts +10 -0
  2. package/dist/app/auth.js +60 -0
  3. package/dist/app/error-boundary.d.ts +18 -0
  4. package/dist/app/error-boundary.js +45 -0
  5. package/dist/app/feedback.d.ts +12 -0
  6. package/dist/app/feedback.js +128 -0
  7. package/dist/app/index.d.ts +8 -0
  8. package/dist/app/index.js +8 -0
  9. package/dist/app/request-errors.d.ts +63 -0
  10. package/dist/app/request-errors.js +172 -0
  11. package/dist/app/sentry.d.ts +18 -0
  12. package/dist/app/sentry.js +52 -0
  13. package/dist/app/telemetry.d.ts +7 -0
  14. package/dist/app/telemetry.js +28 -0
  15. package/dist/app/trail.d.ts +9 -0
  16. package/dist/app/trail.js +18 -0
  17. package/dist/chat/chat-query-keys.d.ts +3 -3
  18. package/dist/chat/contract.d.ts +15 -15
  19. package/dist/chat/conversation-items-query-options.d.ts +114 -114
  20. package/dist/chat/conversation-source.d.ts +89 -0
  21. package/dist/chat/conversation-source.js +1 -0
  22. package/dist/chat/describe-tool-call.d.ts +3 -3
  23. package/dist/chat/describe-tool-call.js +3 -3
  24. package/dist/chat/message-text.d.ts +1 -1
  25. package/dist/chat/message-text.js +116 -48
  26. package/dist/chat/use-conversation-list.d.ts +6 -6
  27. package/dist/ciridae.css +16 -4
  28. package/dist/components/activity-feed.d.ts +3 -2
  29. package/dist/components/activity-feed.js +1 -0
  30. package/dist/components/agent-work.d.ts +3 -3
  31. package/dist/components/app-frame.d.ts +91 -0
  32. package/dist/components/app-frame.js +134 -0
  33. package/dist/components/app-navigation.d.ts +30 -3
  34. package/dist/components/app-navigation.js +105 -14
  35. package/dist/components/badge.d.ts +30 -5
  36. package/dist/components/badge.js +134 -15
  37. package/dist/components/brand-icons.d.ts +3 -3
  38. package/dist/components/bulk-action-bar.d.ts +1 -1
  39. package/dist/components/bulk-action-bar.js +3 -3
  40. package/dist/components/button.d.ts +12 -5
  41. package/dist/components/button.js +77 -44
  42. package/dist/components/calendar.d.ts +1 -1
  43. package/dist/components/calendar.js +44 -17
  44. package/dist/components/centered-page.d.ts +1 -1
  45. package/dist/components/centered-page.js +2 -2
  46. package/dist/components/chart.d.ts +22 -2
  47. package/dist/components/chart.js +251 -51
  48. package/dist/components/chat-client-source.d.ts +16 -0
  49. package/dist/components/chat-client-source.js +297 -0
  50. package/dist/components/chat-page.d.ts +9 -8
  51. package/dist/components/chat-page.js +7 -11
  52. package/dist/components/chat-sheet-controller.d.ts +11 -14
  53. package/dist/components/chat-sheet-controller.js +3 -3
  54. package/dist/components/chat-sheet.d.ts +18 -11
  55. package/dist/components/chat-sheet.js +188 -289
  56. package/dist/components/chat.d.ts +109 -19
  57. package/dist/components/chat.js +520 -124
  58. package/dist/components/checkbox-item.d.ts +6 -3
  59. package/dist/components/checkbox-item.js +9 -5
  60. package/dist/components/checkbox-list.d.ts +1 -1
  61. package/dist/components/chip.d.ts +6 -1
  62. package/dist/components/chip.js +27 -1
  63. package/dist/components/collapsible.d.ts +1 -1
  64. package/dist/components/color-theme.d.ts +1 -1
  65. package/dist/components/column-settings.d.ts +1 -1
  66. package/dist/components/column-settings.js +1 -1
  67. package/dist/components/command-menu.d.ts +5 -1
  68. package/dist/components/command-menu.js +98 -32
  69. package/dist/components/command-palette.d.ts +7 -3
  70. package/dist/components/command-palette.js +20 -11
  71. package/dist/components/copyable-id.d.ts +22 -5
  72. package/dist/components/copyable-id.js +46 -6
  73. package/dist/components/data-display.d.ts +39 -8
  74. package/dist/components/data-display.js +138 -19
  75. package/dist/components/data-grid.d.ts +23 -11
  76. package/dist/components/data-grid.js +61 -26
  77. package/dist/components/date-range-picker.d.ts +1 -1
  78. package/dist/components/date-range-picker.js +9 -20
  79. package/dist/components/date-time.d.ts +1 -1
  80. package/dist/components/dialog-height-context.d.ts +1 -1
  81. package/dist/components/document-viewer.d.ts +2 -2
  82. package/dist/components/drawer.d.ts +11 -6
  83. package/dist/components/drawer.js +91 -54
  84. package/dist/components/dropzone.d.ts +4 -4
  85. package/dist/components/editable-field.d.ts +12 -3
  86. package/dist/components/editable-field.js +57 -27
  87. package/dist/components/email-input.d.ts +1 -1
  88. package/dist/components/email-input.js +6 -5
  89. package/dist/components/environment-frame.d.ts +2 -2
  90. package/dist/components/environment-frame.js +37 -6
  91. package/dist/components/expandable-text.d.ts +1 -1
  92. package/dist/components/feedback-screenshot.d.ts +1 -1
  93. package/dist/components/feedback-sheet.d.ts +18 -3
  94. package/dist/components/feedback-sheet.js +216 -55
  95. package/dist/components/field-context.d.ts +1 -1
  96. package/dist/components/filter-bar.d.ts +3 -3
  97. package/dist/components/filter-bar.js +43 -29
  98. package/dist/components/form-controls.d.ts +12 -3
  99. package/dist/components/form-controls.js +46 -22
  100. package/dist/components/form-layout.d.ts +14 -10
  101. package/dist/components/form-layout.js +68 -23
  102. package/dist/components/glass-menu.d.ts +3 -0
  103. package/dist/components/glass-menu.js +63 -0
  104. package/dist/components/gradient-edge.d.ts +9 -0
  105. package/dist/components/gradient-edge.js +31 -0
  106. package/dist/components/hotkeys.d.ts +2 -2
  107. package/dist/components/icon.d.ts +1 -1
  108. package/dist/components/input.d.ts +7 -5
  109. package/dist/components/input.js +29 -17
  110. package/dist/components/keyboard-shortcuts.d.ts +2 -2
  111. package/dist/components/keycap.d.ts +10 -6
  112. package/dist/components/keycap.js +57 -19
  113. package/dist/components/layout.d.ts +13 -13
  114. package/dist/components/lightbox.d.ts +9 -3
  115. package/dist/components/lightbox.js +13 -9
  116. package/dist/components/link.d.ts +1 -1
  117. package/dist/components/locale.d.ts +42 -2
  118. package/dist/components/locale.js +43 -3
  119. package/dist/components/log-entry.d.ts +40 -0
  120. package/dist/components/log-entry.js +146 -0
  121. package/dist/components/log-list.d.ts +3 -3
  122. package/dist/components/mention-input.d.ts +2 -2
  123. package/dist/components/mention-input.js +4 -3
  124. package/dist/components/menu.d.ts +7 -3
  125. package/dist/components/menu.js +34 -37
  126. package/dist/components/meter.d.ts +10 -2
  127. package/dist/components/meter.js +64 -6
  128. package/dist/components/navigation.d.ts +21 -4
  129. package/dist/components/navigation.js +84 -19
  130. package/dist/components/notification-tray.d.ts +1 -1
  131. package/dist/components/notification-tray.js +5 -4
  132. package/dist/components/overlays.d.ts +6 -4
  133. package/dist/components/overlays.js +69 -40
  134. package/dist/components/page-frame.d.ts +4 -4
  135. package/dist/components/page-frame.js +1 -1
  136. package/dist/components/panel.d.ts +4 -4
  137. package/dist/components/panel.js +18 -12
  138. package/dist/components/profile-header.d.ts +1 -1
  139. package/dist/components/progress.d.ts +1 -1
  140. package/dist/components/project-avatar.d.ts +1 -1
  141. package/dist/components/radio-card.d.ts +2 -2
  142. package/dist/components/radio-card.js +10 -9
  143. package/dist/components/record.d.ts +29 -5
  144. package/dist/components/record.js +147 -18
  145. package/dist/components/resolved-file-url.d.ts +19 -0
  146. package/dist/components/resolved-file-url.js +49 -0
  147. package/dist/components/scroll-area.d.ts +1 -1
  148. package/dist/components/secret-dialog.d.ts +1 -1
  149. package/dist/components/segmented-bar.d.ts +4 -2
  150. package/dist/components/segmented-bar.js +16 -6
  151. package/dist/components/select.d.ts +9 -6
  152. package/dist/components/select.js +103 -127
  153. package/dist/components/settings.d.ts +4 -4
  154. package/dist/components/shell-skeleton.d.ts +1 -1
  155. package/dist/components/shell-skeleton.js +1 -1
  156. package/dist/components/shell.d.ts +21 -21
  157. package/dist/components/shell.js +43 -43
  158. package/dist/components/side-panel.d.ts +3 -3
  159. package/dist/components/sidebar.d.ts +13 -8
  160. package/dist/components/sidebar.js +55 -27
  161. package/dist/components/single-line-text.d.ts +2 -0
  162. package/dist/components/single-line-text.js +16 -0
  163. package/dist/components/site-banner.d.ts +5 -2
  164. package/dist/components/site-banner.js +17 -6
  165. package/dist/components/skeleton.d.ts +8 -7
  166. package/dist/components/skeleton.js +28 -16
  167. package/dist/components/skeletons.d.ts +17 -5
  168. package/dist/components/skeletons.js +71 -8
  169. package/dist/components/stages.d.ts +83 -11
  170. package/dist/components/stages.js +512 -156
  171. package/dist/components/stat-card.d.ts +12 -4
  172. package/dist/components/stat-card.js +92 -37
  173. package/dist/components/status-banner.d.ts +1 -1
  174. package/dist/components/status-banner.js +1 -1
  175. package/dist/components/status.d.ts +2 -2
  176. package/dist/components/steps.d.ts +1 -1
  177. package/dist/components/switch.d.ts +1 -1
  178. package/dist/components/tabs.d.ts +8 -8
  179. package/dist/components/tabs.js +26 -13
  180. package/dist/components/theme-customizer.d.ts +2 -2
  181. package/dist/components/theme-toggle.d.ts +4 -0
  182. package/dist/components/theme-toggle.js +67 -0
  183. package/dist/components/toast.d.ts +10 -3
  184. package/dist/components/toast.js +78 -29
  185. package/dist/components/use-new-version-available.d.ts +6 -0
  186. package/dist/components/use-new-version-available.js +29 -0
  187. package/dist/components/user-chip.d.ts +3 -3
  188. package/dist/components/wizard.d.ts +2 -2
  189. package/dist/feedback/contract.d.ts +136 -136
  190. package/dist/feedback/feedback-controller.d.ts +6 -6
  191. package/dist/feedback/generated/zod.gen.d.ts +28 -28
  192. package/dist/feedback/operator-contract.d.ts +11 -11
  193. package/dist/feedback/operator-controller.d.ts +32 -13
  194. package/dist/feedback/operator-controller.js +44 -11
  195. package/dist/preset.js +289 -33
  196. package/dist/styled-system/styles.css +3294 -1079
  197. package/dist/styled-system/tokens/index.mjs +598 -22
  198. package/dist/styled-system/tokens/tokens.d.ts +11 -11
  199. package/dist/styled-system/types/prop-type.d.ts +2 -2
  200. package/dist/styles.css +16 -4
  201. package/dist/theme/color.d.ts +3 -0
  202. package/dist/theme/color.js +5 -0
  203. package/dist/theme/derive.d.ts +9 -2
  204. package/dist/theme/derive.js +72 -12
  205. package/dist/theme/palettes.d.ts +49 -6
  206. package/dist/theme/palettes.js +84 -15
  207. package/dist/theme/tokens.d.ts +3 -3
  208. package/dist/theme/tokens.js +107 -32
  209. package/package.json +40 -3
@@ -1,6 +1,9 @@
1
1
  import { type ComponentProps, type ReactNode } from "react";
2
2
  import { type MessageSide } from "../chat/message-group-position.js";
3
3
  import { type MentionMark, type MentionTrigger } from "./mention-input.js";
4
+ import { type ResolveFileUrl } from "./resolved-file-url.js";
5
+ export { MessageText, splitSources, type MessageSource, type MessageTextProps, } from "../chat/message-text.js";
6
+ export type { ResolvableFile, ResolveFileUrl } from "./resolved-file-url.js";
4
7
  export type ChatComposerProps = Omit<ComponentProps<"div">, "onSubmit"> & {
5
8
  /** The text, each mention in it as `[@label](mention://kind/id)`. */
6
9
  value?: string;
@@ -18,6 +21,17 @@ export type ChatComposerProps = Omit<ComponentProps<"div">, "onSubmit"> & {
18
21
  sendsWithoutText?: boolean;
19
22
  /** What goes with the message, such as its files as chips, just above the text. */
20
23
  attachments?: ReactNode;
24
+ /**
25
+ * Files pasted into the composer, such as a screenshot or files copied from the desktop, to
26
+ * attach as a drop or the picker would. Rich text pasted with a picture of itself stays text.
27
+ */
28
+ onPasteFiles?: (files: File[]) => void;
29
+ /**
30
+ * While the host takes dictation: the microphone's levels, drawn as a waveform beside the
31
+ * tools. The host owns the microphone and its controls, such as Cancel and Insert in `actions`,
32
+ * and writes what it heard into the text.
33
+ */
34
+ dictation?: ChatDictation;
21
35
  /**
22
36
  * `page` is a chat page's wide card; `sheet` the field at the foot of the agent sheet; `feed`
23
37
  * a comment field, which sends on Cmd/Ctrl+Enter rather than Enter.
@@ -33,21 +47,49 @@ export type ChatComposerProps = Omit<ComponentProps<"div">, "onSubmit"> & {
33
47
  /** Props for the text field itself, such as a ref. */
34
48
  inputProps?: Omit<ComponentProps<"div">, "children" | "defaultValue" | "onChange" | "onSubmit" | "placeholder">;
35
49
  };
36
- export declare function ChatComposer({ value, defaultValue, onValueChange, onSend, placeholder, ariaLabel: ownAriaLabel, tools, actions, submitLabel: ownSubmitLabel, sendDisabled, sendsWithoutText, attachments, variant, autoFocus, mentions, mentionMark, mentionsLabel, inputProps, className, ...props }: ChatComposerProps): import("@types/react").JSX.Element;
50
+ export declare function ChatComposer({ value, defaultValue, onValueChange, onSend, placeholder, ariaLabel: ownAriaLabel, tools, actions, submitLabel: ownSubmitLabel, sendDisabled, sendsWithoutText, attachments, onPasteFiles, dictation, variant, autoFocus, mentions, mentionMark, mentionsLabel, inputProps, className, ...props }: ChatComposerProps): import("react").JSX.Element;
51
+ /** A tool for the sheet composer's bar, such as the paperclip: its icon alone. */
52
+ export declare function ChatComposerTool({ className, ...props }: Omit<ComponentProps<"button">, "aria-label"> & {
53
+ "aria-label": string;
54
+ }): import("react").JSX.Element;
55
+ /** The microphone's loudness while the host takes dictation, each level 0 to 1, newest last. */
56
+ export type ChatDictation = {
57
+ levels: readonly number[];
58
+ listening: boolean;
59
+ };
60
+ /**
61
+ * Dictation's waveform: a bar per level, each as tall as its level; flat while `listening` is
62
+ * off, such as while the host turns what it heard into text.
63
+ */
64
+ export declare function ChatDictationWaveform({ levels, listening, className, ...props }: ComponentProps<"div"> & ChatDictation): import("react").JSX.Element;
37
65
  export type ChatBubbleProps = ComponentProps<"div"> & {
38
66
  side: "user" | "assistant";
39
67
  /** Where the bubble sits in its run of messages from one side; see `listMessageGroupPositions`. */
40
68
  groupPosition?: "single" | "first" | "middle" | "last";
41
69
  };
42
- /** A message bubble in the agent sheet. */
43
- export declare function ChatBubble({ side, groupPosition, className, ...props }: ChatBubbleProps): import("@types/react").JSX.Element;
70
+ /** A message bubble: the user's raised on the right, another author's filled on the left. */
71
+ export declare function ChatBubble({ side, groupPosition, className, ...props }: ChatBubbleProps): import("react").JSX.Element;
44
72
  /** A centered line between bubbles: a finished tool call, a decision, something the page did. */
45
73
  export declare function ChatSystemLine({ tone, className, ...props }: ComponentProps<"div"> & {
46
74
  tone?: "muted" | "error";
47
- }): import("@types/react").JSX.Element;
48
- /** Three pulsing dots: the assistant is typing. */
49
- export declare function ChatTypingDots({ className, ...props }: ComponentProps<"span">): import("@types/react").JSX.Element;
50
- export declare function ChatAction({ className, ...props }: ComponentProps<"button">): import("@types/react").JSX.Element;
75
+ }): import("react").JSX.Element;
76
+ export declare function ChatAction({ className, ...props }: ComponentProps<"button">): import("react").JSX.Element;
77
+ export type ChatSourceCardProps = {
78
+ /** The source's name, such as "Vendor portal" or a rule's. */
79
+ label: ReactNode;
80
+ icon?: ReactNode;
81
+ /** What the source says that the reply relies on. */
82
+ children: ReactNode;
83
+ /** Under it, who entered it or when. */
84
+ meta?: ReactNode;
85
+ /** `yellow` marks a source the reply weighs, such as one of two rules in conflict. */
86
+ tone?: "neutral" | "yellow";
87
+ /** Makes the card a link to the source. */
88
+ href?: string;
89
+ className?: string;
90
+ };
91
+ /** A source cited in a reply, as a card of what it says under its name. */
92
+ export declare function ChatSourceCard({ label, icon, children, meta, tone, href, className, }: ChatSourceCardProps): import("react").JSX.Element;
51
93
  /** Who wrote a message: drawn as the avatar beside its group and named in the group's footer. */
52
94
  export type ChatAuthor = {
53
95
  name: string;
@@ -58,7 +100,8 @@ export type ChatAuthor = {
58
100
  };
59
101
  /**
60
102
  * A file sent with a message, linked when it has a `url`. With the thread's `attachmentTiles`, an
61
- * image (`mediaType` `image/*`) with a `url` shows as a thumbnail.
103
+ * image (`mediaType` `image/*`) shows as a thumbnail; one with no `url` loads through the thread's
104
+ * `resolveAttachmentUrl`.
62
105
  */
63
106
  export type ChatAttachment = {
64
107
  id: string;
@@ -66,16 +109,39 @@ export type ChatAttachment = {
66
109
  url?: string | null;
67
110
  mediaType?: string;
68
111
  };
69
- /** A source a reply cites, linked when it has an `href`. */
112
+ /**
113
+ * A source a reply cites: a link in the row under it, linked when it has an `href`; with a
114
+ * `quote`, a `ChatSourceCard` of what it says.
115
+ */
70
116
  export type ChatSource = {
71
117
  id: string;
72
118
  label: ReactNode;
73
119
  href?: string;
120
+ /** What the source says that the reply relies on, such as a value or a rule. */
121
+ quote?: ReactNode;
122
+ /** Leads the card's label, such as the source's kind as an icon. */
123
+ icon?: ReactNode;
124
+ /** Under the card's quote: who entered it, or when. */
125
+ meta?: ReactNode;
126
+ tone?: ChatSourceCardProps["tone"];
127
+ };
128
+ /** A step the agent took on its way to a reply: a thought, or a tool it called. */
129
+ export type ChatStep = {
130
+ id: string;
131
+ kind: "reasoning" | "tool";
132
+ /** What it did, as one line, such as "Search invoices". */
133
+ title: string;
134
+ /**
135
+ * More about it, such as the rest of the thought. Everyone reading the thread sees it, so never
136
+ * a tool call's raw arguments.
137
+ */
138
+ detail?: string;
139
+ status: "running" | "completed" | "failed";
74
140
  };
75
141
  /**
76
- * One entry of a thread: a message from either side, a centered line, the assistant typing, a
77
- * failure with its retry, or something of the caller's own, such as an
78
- * approval card, drawn by `renderCustom` in the side's flow.
142
+ * One entry of a thread: a message from either side, a centered line, the agent at work, the
143
+ * steps it took, a failure with its retry, or something of the caller's own, such as an approval
144
+ * card, drawn by `renderCustom` in the side's flow.
79
145
  */
80
146
  export type ChatThreadEntry<Custom = never> = {
81
147
  id: string;
@@ -89,20 +155,32 @@ export type ChatThreadEntry<Custom = never> = {
89
155
  attachments?: readonly ChatAttachment[];
90
156
  /** Still on its way: the footer says Sending in place of the time. */
91
157
  sending?: boolean;
92
- /** What the reply cites, in a row under it. */
158
+ /** What the reply cites: links in a row under it, and the ones with a quote as cards. */
93
159
  sources?: readonly ChatSource[];
94
- /** Controls at the end of the group's footer, such as Copy. */
160
+ /** Controls beside the message, shown while it is hovered or focused, such as Copy. */
95
161
  actions?: ReactNode;
162
+ /** Buttons under the message for what it suggests doing, always shown. */
163
+ suggestedActions?: ReactNode;
164
+ /** A closing line under the message, such as what the reply read. */
165
+ footnote?: ReactNode;
96
166
  } | {
97
167
  kind: "line";
98
168
  text: ReactNode;
99
169
  tone?: "muted" | "error";
100
- } | {
170
+ }
171
+ /** The agent at work before its reply: what it is doing, the locale's "Working" by default. */
172
+ | {
101
173
  kind: "typing";
102
174
  label?: ReactNode;
103
175
  } | {
176
+ kind: "steps";
177
+ steps: readonly ChatStep[];
178
+ }
179
+ /** A reply that did not finish: `title` over why, and Try again under it. */
180
+ | {
104
181
  kind: "failure";
105
- message: ReactNode;
182
+ title?: ReactNode;
183
+ message?: ReactNode;
106
184
  onRetry: () => void;
107
185
  } | {
108
186
  kind: "custom";
@@ -117,19 +195,31 @@ export type ChatThreadProps<Custom = never> = {
117
195
  renderCustom?: (data: Custom) => ReactNode;
118
196
  /** How a footer writes the time; the time of day, dated once not today, otherwise. */
119
197
  formatTime?: (at: number) => string;
120
- /** `compact` trims the padding around the thread and between groups, as the agent sheet does. */
198
+ /** `compact` trims the padding around the thread and between groups. */
121
199
  density?: "comfortable" | "compact";
200
+ /**
201
+ * `bubble`, the default, draws every message in a bubble, the assistant's beside its author's
202
+ * avatar, with the author and time under each group. `plain` draws the assistant's replies as
203
+ * text on the sheet, the thread's full width, with no avatar and no author or time, as the
204
+ * agent sheet does.
205
+ */
206
+ replyStyle?: "bubble" | "plain";
122
207
  /** Draws a message's files as tiles over its bubble, rather than as names inside it. */
123
208
  attachmentTiles?: boolean;
124
209
  /** Heads each day's entries with its date, for a thread that runs over days. */
125
210
  dayLabels?: boolean;
211
+ /**
212
+ * Loads the link of an attachment with no `url`, such as a file the service serves only with a
213
+ * bearer token, for its thumbnail and the lightbox; see `ResolveFileUrl`.
214
+ */
215
+ resolveAttachmentUrl?: ResolveFileUrl<ChatAttachment>;
126
216
  className?: string;
127
217
  };
128
- export declare function ChatThread<Custom = never>({ entries, assistant, renderCustom, formatTime, density, attachmentTiles, dayLabels, className, }: ChatThreadProps<Custom>): import("@types/react").JSX.Element;
218
+ export declare function ChatThread<Custom = never>({ entries, assistant, renderCustom, formatTime, density, replyStyle, attachmentTiles, dayLabels, resolveAttachmentUrl, className, }: ChatThreadProps<Custom>): import("react").JSX.Element;
129
219
  export type ChatSuggestionsProps = {
130
220
  suggestions: readonly string[];
131
221
  onSelect: (suggestion: string) => void;
132
222
  className?: string;
133
223
  };
134
224
  /** Prompts to start a conversation from, stacked at the foot of an empty thread. */
135
- export declare function ChatSuggestions({ suggestions, onSelect, className }: ChatSuggestionsProps): import("@types/react").JSX.Element;
225
+ export declare function ChatSuggestions({ suggestions, onSelect, className }: ChatSuggestionsProps): import("react").JSX.Element;