@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/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: React$1.ReactNode;
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: (props: never) => React$1.ReactNode;
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 };