@aircall/blocks 0.6.0 → 0.9.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 +43 -0
- package/dist/globals.css +1 -1
- package/dist/index.d.ts +308 -3
- package/dist/index.js +1021 -147
- package/package.json +17 -3
- package/skills/aircall-blocks/migrate-dashboard/SKILL.md +127 -0
- package/skills/aircall-blocks/migrate-dashboard/card/SKILL.md +364 -0
- package/skills/aircall-blocks/migrate-dashboard/combobox/SKILL.md +487 -0
- package/skills/aircall-blocks/migrate-dashboard/copy-button/SKILL.md +138 -0
- package/skills/aircall-blocks/migrate-dashboard/dashboard-page/SKILL.md +198 -0
- package/skills/aircall-blocks/migrate-dashboard/data-table/SKILL.md +395 -0
- package/skills/aircall-blocks/migrate-dashboard/empty-states/SKILL.md +347 -0
- package/skills/aircall-blocks/migrate-dashboard/form-wizard/SKILL.md +271 -0
- package/skills/aircall-blocks/migrate-dashboard/info-popup/SKILL.md +179 -0
- package/skills/aircall-blocks/migrate-dashboard/layout/SKILL.md +328 -0
- package/skills/aircall-blocks/migrate-dashboard/list/SKILL.md +474 -0
- package/skills/aircall-blocks/migrate-dashboard/loading/SKILL.md +260 -0
- package/skills/aircall-blocks/migrate-dashboard/page-header/SKILL.md +394 -0
- package/skills/aircall-blocks/migrate-dashboard/tile/SKILL.md +429 -0
- package/skills/aircall-blocks/migrate-dashboard/toggle-row/SKILL.md +177 -0
- package/skills/aircall-blocks/setup/SKILL.md +127 -0
package/dist/index.d.ts
CHANGED
|
@@ -95,15 +95,202 @@ declare const UnknownErrorMedia: React$1.ForwardRefExoticComponent<Omit<Omit<Emp
|
|
|
95
95
|
declare const UnknownErrorTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
96
96
|
declare const UnknownErrorDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
97
97
|
//#endregion
|
|
98
|
+
//#region src/components/chatbot-response-block.d.ts
|
|
99
|
+
type ChatbotResponseBlockFeedback = 'up' | 'down' | null;
|
|
100
|
+
type ChatbotResponseBlockSource = {
|
|
101
|
+
title: string;
|
|
102
|
+
url: string;
|
|
103
|
+
};
|
|
104
|
+
type ChatbotResponseBlockProps = {
|
|
105
|
+
/** Stable identity for the displayed message. When provided, feedback resets
|
|
106
|
+
* whenever this value changes — even if the markdown text is identical to the
|
|
107
|
+
* previous message. Without it, identical consecutive texts won't reset state. */
|
|
108
|
+
messageId?: string;
|
|
109
|
+
markdown: string;
|
|
110
|
+
streaming?: boolean;
|
|
111
|
+
sources?: ChatbotResponseBlockSource[];
|
|
112
|
+
onFeedback?: (value: ChatbotResponseBlockFeedback) => void;
|
|
113
|
+
className?: string;
|
|
114
|
+
};
|
|
115
|
+
declare function ChatbotResponseBlock({
|
|
116
|
+
messageId,
|
|
117
|
+
markdown,
|
|
118
|
+
streaming,
|
|
119
|
+
sources,
|
|
120
|
+
onFeedback,
|
|
121
|
+
className
|
|
122
|
+
}: ChatbotResponseBlockProps): react_jsx_runtime0.JSX.Element;
|
|
123
|
+
//#endregion
|
|
98
124
|
//#region src/components/chatbot-page.d.ts
|
|
99
125
|
declare const ChatbotPage: React$1.ForwardRefExoticComponent<ChatbotPageProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
100
126
|
interface ChatbotPageProps {
|
|
101
|
-
children
|
|
127
|
+
children?: React$1.ReactNode;
|
|
102
128
|
className?: string;
|
|
103
129
|
}
|
|
104
130
|
declare namespace ChatbotPage {
|
|
105
131
|
type Props = ChatbotPageProps;
|
|
106
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Content area that fills the right side of `ChatbotPage`. Use alongside
|
|
135
|
+
* `ChatbotSidebar` as a direct child of `ChatbotPage`.
|
|
136
|
+
*
|
|
137
|
+
* In the **idle state** place `ChatbotPageBody`, then `ChatbotPageFooter`.
|
|
138
|
+
* In the **active conversation state** place `ChatbotPageConversation`,
|
|
139
|
+
* `ChatbotPageInputBar`, then `ChatbotPageFooter`.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```tsx
|
|
143
|
+
* <ChatbotPage>
|
|
144
|
+
* <ChatbotSidebar conversations={[...]} />
|
|
145
|
+
* <ChatbotPageContent>
|
|
146
|
+
* <ChatbotPageBody>
|
|
147
|
+
* <ChatbotPageHeading>Need help with Aircall?</ChatbotPageHeading>
|
|
148
|
+
* <ChatbotInput />
|
|
149
|
+
* <ChatbotExpandSuggestion categories={[...]} suggestions={[...]} />
|
|
150
|
+
* </ChatbotPageBody>
|
|
151
|
+
* <ChatbotPageFooter betaTermsHref="https://legal.aircall.io/..." />
|
|
152
|
+
* </ChatbotPageContent>
|
|
153
|
+
* </ChatbotPage>
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
declare const ChatbotPageContent: React$1.ForwardRefExoticComponent<Omit<ChatbotPageContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
157
|
+
interface ChatbotPageContentProps extends React$1.ComponentProps<'div'> {}
|
|
158
|
+
declare namespace ChatbotPageContent {
|
|
159
|
+
type Props = ChatbotPageContentProps;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Centered content area for the idle/empty state inside `ChatbotPageContent`.
|
|
163
|
+
* Constrains children to a max-width of 896px and vertically centers them.
|
|
164
|
+
* Place `ChatbotPageHeading`, `ChatbotInput`, and `ChatbotExpandSuggestion`
|
|
165
|
+
* as children.
|
|
166
|
+
*/
|
|
167
|
+
declare const ChatbotPageBody: React$1.ForwardRefExoticComponent<Omit<ChatbotPageBodyProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
168
|
+
interface ChatbotPageBodyProps extends React$1.ComponentProps<'div'> {}
|
|
169
|
+
declare namespace ChatbotPageBody {
|
|
170
|
+
type Props = ChatbotPageBodyProps;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Centered heading displayed above the input area in the idle state.
|
|
174
|
+
* Renders an `<h2>` element styled at 24px / medium weight.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```tsx
|
|
178
|
+
* <ChatbotPageHeading>Need help with Aircall?</ChatbotPageHeading>
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
declare const ChatbotPageHeading: React$1.ForwardRefExoticComponent<Omit<ChatbotPageHeadingProps, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
182
|
+
interface ChatbotPageHeadingProps extends React$1.ComponentProps<'h2'> {}
|
|
183
|
+
declare namespace ChatbotPageHeading {
|
|
184
|
+
type Props = ChatbotPageHeadingProps;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Footer bar showing the AI beta disclaimer. The "Beta terms" phrase is
|
|
188
|
+
* rendered as an external `Anchor` link pointing to `betaTermsHref`.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```tsx
|
|
192
|
+
* <ChatbotPageFooter betaTermsHref="https://legal.aircall.io/#template-9jw4r0usl" />
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
declare const ChatbotPageFooter: React$1.ForwardRefExoticComponent<Omit<ChatbotPageFooterProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
196
|
+
interface ChatbotPageFooterProps extends React$1.ComponentProps<'div'> {
|
|
197
|
+
/** URL for the "Beta terms" external link in the disclaimer footer. */
|
|
198
|
+
betaTermsHref: string;
|
|
199
|
+
}
|
|
200
|
+
declare namespace ChatbotPageFooter {
|
|
201
|
+
type Props = ChatbotPageFooterProps;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Scrollable conversation thread for the active chatbot state. Place
|
|
205
|
+
* `ChatbotUserMessage` and `ChatbotResponseBlock` as alternating children.
|
|
206
|
+
* Use alongside `ChatbotPageInputBar` and `ChatbotPageFooter` inside
|
|
207
|
+
* `ChatbotPageContent`.
|
|
208
|
+
*
|
|
209
|
+
* The component is `relative` so consumers can absolutely-position a
|
|
210
|
+
* scroll-to-bottom FAB inside it.
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```tsx
|
|
214
|
+
* <ChatbotPageContent>
|
|
215
|
+
* <ChatbotPageConversation>
|
|
216
|
+
* <ChatbotUserMessage>How do I set my phone line?</ChatbotUserMessage>
|
|
217
|
+
* <ChatbotResponseBlock messageId="1" markdown="..." />
|
|
218
|
+
* </ChatbotPageConversation>
|
|
219
|
+
* <ChatbotPageInputBar>
|
|
220
|
+
* <ChatbotInput size="large" />
|
|
221
|
+
* </ChatbotPageInputBar>
|
|
222
|
+
* <ChatbotPageFooter betaTermsHref="https://legal.aircall.io/..." />
|
|
223
|
+
* </ChatbotPageContent>
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
declare const ChatbotPageConversation: React$1.ForwardRefExoticComponent<Omit<ChatbotPageConversationProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
227
|
+
interface ChatbotPageConversationProps extends React$1.ComponentProps<'div'> {}
|
|
228
|
+
declare namespace ChatbotPageConversation {
|
|
229
|
+
type Props = ChatbotPageConversationProps;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Wrapper that anchors `ChatbotInput` to the bottom of `ChatbotPageContent`
|
|
233
|
+
* at the correct max-width. Place between `ChatbotPageConversation` and
|
|
234
|
+
* `ChatbotPageFooter`.
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```tsx
|
|
238
|
+
* <ChatbotPageInputBar>
|
|
239
|
+
* <ChatbotInput size="large" />
|
|
240
|
+
* </ChatbotPageInputBar>
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
declare const ChatbotPageInputBar: React$1.ForwardRefExoticComponent<Omit<ChatbotPageInputBarProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
244
|
+
interface ChatbotPageInputBarProps extends React$1.ComponentProps<'div'> {}
|
|
245
|
+
declare namespace ChatbotPageInputBar {
|
|
246
|
+
type Props = ChatbotPageInputBarProps;
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/components/chatbot-panel-header.d.ts
|
|
250
|
+
type ChatbotPanelHeaderProps = React$1.ComponentProps<'div'> & {
|
|
251
|
+
/** Title displayed in the header. Defaults to "Ask Aircall"; pass an empty
|
|
252
|
+
* string to hide it. */
|
|
253
|
+
title?: string; /** Fires when the menu (☰) button is pressed. Omit to hide the button. */
|
|
254
|
+
onMenu?: () => void;
|
|
255
|
+
/** When provided, the menu (☰) opens a Popover rendering this content (e.g. the
|
|
256
|
+
* conversation-history sidebar). The button shows even without `onMenu`. */
|
|
257
|
+
menuContent?: React$1.ReactNode;
|
|
258
|
+
/** Controls the `menuContent` Popover's open state. Omit to leave it
|
|
259
|
+
* uncontrolled. Provide together with `onMenuOpenChange` to close it
|
|
260
|
+
* programmatically (e.g. on conversation select). */
|
|
261
|
+
menuOpen?: boolean;
|
|
262
|
+
/** Fires when the `menuContent` Popover requests an open-state change (trigger
|
|
263
|
+
* press, outside press, Escape). */
|
|
264
|
+
onMenuOpenChange?: (open: boolean) => void; /** Fires when the "Send feedback" button is pressed. Omit to hide it. */
|
|
265
|
+
onFeedback?: () => void; /** Fires when the expand (fullscreen) button is pressed. Omit to hide it. */
|
|
266
|
+
onExpand?: () => void;
|
|
267
|
+
/** Whether the panel body is currently expanded. Provide with `onOpenChange`
|
|
268
|
+
* to show the collapse/expand (—/+) toggle. */
|
|
269
|
+
open?: boolean; /** Fires when the collapse/expand (—/+) toggle is pressed. Omit to hide it. */
|
|
270
|
+
onOpenChange?: (open: boolean) => void; /** Fires when the collapse (—) button is pressed. Omit to hide it. */
|
|
271
|
+
onClose?: () => void;
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* Header bar for the chatbot panel. Each control renders only when its handler is
|
|
275
|
+
* provided. The leading ☰ opens a Popover (conversation history) when
|
|
276
|
+
* `menuContent` is set, otherwise fires `onMenu`; with no menu handler it falls
|
|
277
|
+
* back to a non-interactive panel indicator. Title is optional — pass an empty
|
|
278
|
+
* string to hide it.
|
|
279
|
+
*/
|
|
280
|
+
declare function ChatbotPanelHeader({
|
|
281
|
+
title,
|
|
282
|
+
onMenu,
|
|
283
|
+
menuContent,
|
|
284
|
+
menuOpen,
|
|
285
|
+
onMenuOpenChange,
|
|
286
|
+
onFeedback,
|
|
287
|
+
onExpand,
|
|
288
|
+
open,
|
|
289
|
+
onOpenChange,
|
|
290
|
+
onClose,
|
|
291
|
+
className,
|
|
292
|
+
...props
|
|
293
|
+
}: ChatbotPanelHeaderProps): react_jsx_runtime0.JSX.Element;
|
|
107
294
|
//#endregion
|
|
108
295
|
//#region src/components/chatbot-sidebar.d.ts
|
|
109
296
|
interface ChatbotSidebarConversation {
|
|
@@ -137,6 +324,7 @@ interface ChatbotSidebarProps {
|
|
|
137
324
|
renderConversationMenuContent?: (conversation: ChatbotSidebarConversation) => React$1.ReactNode;
|
|
138
325
|
/** Label above the conversation list. Defaults to "Recent"*/
|
|
139
326
|
recentLabel?: string;
|
|
327
|
+
popup?: boolean;
|
|
140
328
|
className?: string;
|
|
141
329
|
}
|
|
142
330
|
declare const ChatbotSidebar: React$1.ForwardRefExoticComponent<ChatbotSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -147,6 +335,7 @@ declare namespace ChatbotSidebar {
|
|
|
147
335
|
//#region src/components/chatbot-input.d.ts
|
|
148
336
|
declare const textareaVariants: (props?: ({
|
|
149
337
|
size?: "default" | "large" | null | undefined;
|
|
338
|
+
expanded?: boolean | null | undefined;
|
|
150
339
|
} & class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
151
340
|
type ChatbotInputProps = Omit<React$1.ComponentProps<'textarea'>, 'onChange' | 'value' | 'size' | 'onSubmit'> & VariantProps<typeof textareaVariants> & {
|
|
152
341
|
/** Current text value (controlled). */value?: string; /** Called with the new text whenever the user types. */
|
|
@@ -155,6 +344,12 @@ type ChatbotInputProps = Omit<React$1.ComponentProps<'textarea'>, 'onChange' | '
|
|
|
155
344
|
onStop?: () => void; /** Placeholder shown when empty. */
|
|
156
345
|
placeholder?: string; /** When true, shows the stop button instead of send, and disables typing submission. */
|
|
157
346
|
loading?: boolean;
|
|
347
|
+
/**
|
|
348
|
+
* When true, the textarea starts at 80px tall even when empty.
|
|
349
|
+
* Use in the idle/home state where a prominent input is desired.
|
|
350
|
+
* @default false
|
|
351
|
+
*/
|
|
352
|
+
expanded?: boolean;
|
|
158
353
|
};
|
|
159
354
|
declare function ChatbotInput({
|
|
160
355
|
className,
|
|
@@ -165,6 +360,7 @@ declare function ChatbotInput({
|
|
|
165
360
|
placeholder,
|
|
166
361
|
loading,
|
|
167
362
|
size,
|
|
363
|
+
expanded,
|
|
168
364
|
disabled,
|
|
169
365
|
...textareaProps
|
|
170
366
|
}: ChatbotInputProps): react_jsx_runtime0.JSX.Element;
|
|
@@ -378,6 +574,108 @@ declare function ChatbotPanelTrigger({
|
|
|
378
574
|
...buttonProps
|
|
379
575
|
}: ChatbotPanelTriggerProps): react_jsx_runtime0.JSX.Element;
|
|
380
576
|
//#endregion
|
|
577
|
+
//#region src/components/chatbot-expand-suggestion.d.ts
|
|
578
|
+
interface ChatbotExpandSuggestionCategory {
|
|
579
|
+
value: string;
|
|
580
|
+
label: string;
|
|
581
|
+
}
|
|
582
|
+
interface ChatbotExpandSuggestionItem {
|
|
583
|
+
id: string;
|
|
584
|
+
text: string;
|
|
585
|
+
}
|
|
586
|
+
interface ChatbotExpandSuggestionProps {
|
|
587
|
+
/** Category filter pills rendered above the suggestions list. Hidden when empty or undefined. */
|
|
588
|
+
categories?: ChatbotExpandSuggestionCategory[];
|
|
589
|
+
/** Controlled selected category value. Pass undefined to clear. */
|
|
590
|
+
selectedCategory?: string;
|
|
591
|
+
/** Fired when the user presses a category pill. Receives undefined when deselected. */
|
|
592
|
+
onCategoryChange?: (value: string | undefined) => void;
|
|
593
|
+
/** Label above the suggestion rows. Defaults to "Suggestions". */
|
|
594
|
+
label?: string;
|
|
595
|
+
/** Clickable suggestion rows. Hidden when empty or undefined. */
|
|
596
|
+
suggestions?: ChatbotExpandSuggestionItem[];
|
|
597
|
+
/** Fired when the user clicks a suggestion row. */
|
|
598
|
+
onSuggestionClick?: (suggestion: ChatbotExpandSuggestionItem) => void;
|
|
599
|
+
className?: string;
|
|
600
|
+
}
|
|
601
|
+
declare const ChatbotExpandSuggestion: React$1.ForwardRefExoticComponent<ChatbotExpandSuggestionProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
602
|
+
declare namespace ChatbotExpandSuggestion {
|
|
603
|
+
type Props = ChatbotExpandSuggestionProps;
|
|
604
|
+
}
|
|
605
|
+
//#endregion
|
|
606
|
+
//#region src/components/chatbot-panel.d.ts
|
|
607
|
+
type ChatbotPanelSuggestionItem = {
|
|
608
|
+
/** Stable id; falls back to the label when omitted. */id?: string; /** Pill copy, also used as the message text on select. */
|
|
609
|
+
label: string;
|
|
610
|
+
};
|
|
611
|
+
type ChatbotPanelProps = Omit<React$1.ComponentProps<'div'>, 'title' | 'onSubmit'> & {
|
|
612
|
+
/** Title shown in the header. Defaults to the i18n "Ask Aircall". */title?: string; /** Fires when the header menu (☰) is pressed. Omit to hide the button. */
|
|
613
|
+
onMenu?: () => void;
|
|
614
|
+
/** Recent conversations. When provided (even `[]`), the header ☰ opens a Popover
|
|
615
|
+
* with the conversation history (reuses ChatbotSidebar). */
|
|
616
|
+
conversations?: ChatbotSidebarProps['conversations']; /** Highlights the active conversation row in the menu. */
|
|
617
|
+
activeConversationId?: ChatbotSidebarProps['activeConversationId']; /** Fires when "New chat" is selected in the menu. */
|
|
618
|
+
onNewChat?: ChatbotSidebarProps['onNewChat']; /** Fires when a conversation row is selected in the menu. */
|
|
619
|
+
onSelectConversation?: ChatbotSidebarProps['onSelectConversation']; /** Render prop for each conversation row's trailing ⋯ menu items. */
|
|
620
|
+
renderConversationMenuContent?: ChatbotSidebarProps['renderConversationMenuContent']; /** Fires when the header expand (fullscreen) is pressed. Omit to hide it. */
|
|
621
|
+
onExpand?: () => void; /** Fires when the header close (×) is pressed. Omit to hide the close button. */
|
|
622
|
+
onClose?: () => void; /** Empty-state heading. Defaults to the i18n "Need help with Aircall?". */
|
|
623
|
+
emptyTitle?: React$1.ReactNode; /** Empty-state subheading. Defaults to the i18n description. */
|
|
624
|
+
emptyDescription?: React$1.ReactNode; /** Suggestion pills shown in the empty state. */
|
|
625
|
+
suggestions?: ChatbotPanelSuggestionItem[]; /** Fires when a suggestion pill is selected. */
|
|
626
|
+
onSuggestionSelect?: (suggestion: ChatbotPanelSuggestionItem) => void; /** Composer value (controlled). */
|
|
627
|
+
inputValue?: string; /** Fires as the composer value changes. */
|
|
628
|
+
onInputValueChange?: (value: string) => void; /** Fires when the composer is submitted (Enter or send button). */
|
|
629
|
+
onSubmit?: (value: string) => void; /** Fires when the stop button is pressed while `loading`. */
|
|
630
|
+
onStop?: () => void; /** Shows the stop button instead of send. */
|
|
631
|
+
loading?: boolean; /** Composer placeholder. */
|
|
632
|
+
placeholder?: string;
|
|
633
|
+
/**
|
|
634
|
+
* Focus the composer when the panel mounts. Use this when the panel is
|
|
635
|
+
* mounted on open (e.g. `{open && <ChatbotPanel autoFocus />}`).
|
|
636
|
+
*/
|
|
637
|
+
autoFocus?: boolean; /** Footer disclaimer. Pass `null` to hide; defaults to the AI beta notice. */
|
|
638
|
+
disclaimer?: React$1.ReactNode; /** Enable the left-edge resize handle. Defaults to true. */
|
|
639
|
+
resizable?: boolean; /** Initial width in px (uncontrolled). Defaults to 400. */
|
|
640
|
+
defaultWidth?: number; /** Minimum width in px. Defaults to 320. */
|
|
641
|
+
minWidth?: number; /** Maximum width in px. Defaults to 768. */
|
|
642
|
+
maxWidth?: number; /** Fires with the new width (px) as the panel is resized. */
|
|
643
|
+
onWidthChange?: (width: number) => void; /** Conversation content. When empty, the empty state renders instead. */
|
|
644
|
+
children?: React$1.ReactNode;
|
|
645
|
+
};
|
|
646
|
+
declare function ChatbotPanel({
|
|
647
|
+
title,
|
|
648
|
+
onMenu,
|
|
649
|
+
conversations,
|
|
650
|
+
activeConversationId,
|
|
651
|
+
onNewChat,
|
|
652
|
+
onSelectConversation,
|
|
653
|
+
renderConversationMenuContent,
|
|
654
|
+
onExpand,
|
|
655
|
+
onClose,
|
|
656
|
+
emptyTitle,
|
|
657
|
+
emptyDescription,
|
|
658
|
+
suggestions,
|
|
659
|
+
onSuggestionSelect,
|
|
660
|
+
inputValue,
|
|
661
|
+
onInputValueChange,
|
|
662
|
+
onSubmit,
|
|
663
|
+
onStop,
|
|
664
|
+
loading,
|
|
665
|
+
placeholder,
|
|
666
|
+
autoFocus,
|
|
667
|
+
disclaimer,
|
|
668
|
+
resizable,
|
|
669
|
+
defaultWidth,
|
|
670
|
+
minWidth,
|
|
671
|
+
maxWidth,
|
|
672
|
+
onWidthChange,
|
|
673
|
+
className,
|
|
674
|
+
style,
|
|
675
|
+
children,
|
|
676
|
+
...props
|
|
677
|
+
}: ChatbotPanelProps): react_jsx_runtime0.JSX.Element;
|
|
678
|
+
//#endregion
|
|
381
679
|
//#region src/hooks/use-copy-to-clipboard.d.ts
|
|
382
680
|
interface UseCopyToClipboardOptions {
|
|
383
681
|
timeout?: number;
|
|
@@ -1032,12 +1330,19 @@ type TypedField<TData> = {
|
|
|
1032
1330
|
/**
|
|
1033
1331
|
* Minimal structural view of a `createFormHook` form. `state.values` is the typed source the
|
|
1034
1332
|
* wrappers read the field-name union from; `AppField` is the binder we render into.
|
|
1333
|
+
*
|
|
1334
|
+
* `AppField` is intentionally loose (`(...args: never[]) => unknown`). A tight signature like
|
|
1335
|
+
* `(props: never) => React.ReactNode` is NOT satisfied by `useForm`'s `AppField` once the form
|
|
1336
|
+
* data is deeply nested (arrays of objects, etc.) — TS can't prove the form's generic `AppField`
|
|
1337
|
+
* assignable, so `TForm extends BoundForm` fails and `name` cascades to `never`. The loose form
|
|
1338
|
+
* accepts any `createFormHook` form for any data shape; `FormFieldBase` casts `AppField` to the
|
|
1339
|
+
* concrete component type before use, so nothing downstream relies on the precise signature.
|
|
1035
1340
|
*/
|
|
1036
1341
|
type BoundForm = {
|
|
1037
1342
|
state: {
|
|
1038
1343
|
values: unknown;
|
|
1039
1344
|
};
|
|
1040
|
-
AppField: (
|
|
1345
|
+
AppField: (...args: never[]) => unknown;
|
|
1041
1346
|
};
|
|
1042
1347
|
type FieldValidator<TFormData, TName> = TName extends DeepKeys<TFormData> ? FieldValidateOrFn<TFormData, TName> : never;
|
|
1043
1348
|
type FieldAsyncValidator<TFormData, TName> = TName extends DeepKeys<TFormData> ? FieldAsyncValidateOrFn<TFormData, TName> : never;
|
|
@@ -1701,4 +2006,4 @@ declare namespace DashboardSidebarSubmenuSeparator {
|
|
|
1701
2006
|
type Props = DashboardSidebarSubmenuSeparatorProps;
|
|
1702
2007
|
}
|
|
1703
2008
|
//#endregion
|
|
1704
|
-
export { BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotInput, type ChatbotInputProps, ChatbotPage, ChatbotPanelSuggestion, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageHeader, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumberField, type FormNumberFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, type MultiComboboxControl, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumberControl, type OTPControl, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, type SelectControl, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withForm };
|
|
2009
|
+
export { BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotExpandSuggestion, type ChatbotExpandSuggestionProps, ChatbotInput, type ChatbotInputProps, ChatbotPage, ChatbotPageBody, type ChatbotPageBodyProps, ChatbotPageContent, type ChatbotPageContentProps, ChatbotPageConversation, type ChatbotPageConversationProps, ChatbotPageFooter, type ChatbotPageFooterProps, ChatbotPageHeading, type ChatbotPageHeadingProps, ChatbotPageInputBar, type ChatbotPageInputBarProps, type ChatbotPageProps, ChatbotPanel, ChatbotPanelHeader, type ChatbotPanelHeaderProps, type ChatbotPanelProps, ChatbotPanelSuggestion, type ChatbotPanelSuggestionItem, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotResponseBlock, type ChatbotResponseBlockFeedback, type ChatbotResponseBlockProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageHeader, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumberField, type FormNumberFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, type MultiComboboxControl, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumberControl, type OTPControl, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, type SelectControl, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withForm };
|