@aircall/blocks 0.10.1 → 0.12.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
@@ -121,6 +121,33 @@ declare function ChatbotResponseBlock({
121
121
  className
122
122
  }: ChatbotResponseBlockProps): react_jsx_runtime0.JSX.Element;
123
123
  //#endregion
124
+ //#region src/components/chatbot-response-loading.d.ts
125
+ interface ChatbotResponseLoadingProps {
126
+ /**
127
+ * Text shown next to the animation while the response is being generated.
128
+ * Defaults to the i18n translation of "Thinking...".
129
+ */
130
+ text?: string;
131
+ className?: string;
132
+ }
133
+ /**
134
+ * Loading indicator rendered inside `ChatbotPageConversation` while the backend
135
+ * is still streaming a response. Shows the Aircall animated logo next to a
136
+ * customisable shimmer text label.
137
+ *
138
+ * @example
139
+ * ```tsx
140
+ * <ChatbotPageConversation>
141
+ * <ChatbotUserMessage>How do I set my phone line?</ChatbotUserMessage>
142
+ * {isLoading && <ChatbotResponseLoading text="Thinking..." />}
143
+ * </ChatbotPageConversation>
144
+ * ```
145
+ */
146
+ declare function ChatbotResponseLoading({
147
+ text,
148
+ className
149
+ }: ChatbotResponseLoadingProps): react_jsx_runtime0.JSX.Element;
150
+ //#endregion
124
151
  //#region src/components/chatbot-page.d.ts
125
152
  declare const ChatbotPage: React$1.ForwardRefExoticComponent<ChatbotPageProps & React$1.RefAttributes<HTMLDivElement>>;
126
153
  interface ChatbotPageProps {
@@ -224,7 +251,12 @@ declare namespace ChatbotPageFooter {
224
251
  * ```
225
252
  */
226
253
  declare const ChatbotPageConversation: React$1.ForwardRefExoticComponent<Omit<ChatbotPageConversationProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
227
- interface ChatbotPageConversationProps extends React$1.ComponentProps<'div'> {}
254
+ interface ChatbotPageConversationProps extends React$1.ComponentProps<'div'> {
255
+ /** When true, renders the animated loading indicator after the last message. */
256
+ loading?: boolean;
257
+ /** Label shown next to the loading animation. Defaults to "Thinking…". */
258
+ loadingText?: string;
259
+ }
228
260
  declare namespace ChatbotPageConversation {
229
261
  type Props = ChatbotPageConversationProps;
230
262
  }
@@ -627,8 +659,11 @@ type ChatbotPanelProps = Omit<React$1.ComponentProps<'div'>, 'title' | 'onSubmit
627
659
  inputValue?: string; /** Fires as the composer value changes. */
628
660
  onInputValueChange?: (value: string) => void; /** Fires when the composer is submitted (Enter or send button). */
629
661
  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. */
662
+ onStop?: () => void;
663
+ /** Shows the stop button instead of send and renders the loading indicator
664
+ * at the bottom of the active conversation. */
665
+ loading?: boolean; /** Label shown next to the loading animation. Defaults to "Thinking…". */
666
+ loadingText?: string; /** Composer placeholder. */
632
667
  placeholder?: string;
633
668
  /**
634
669
  * Focus the composer when the panel mounts. Use this when the panel is
@@ -662,6 +697,7 @@ declare function ChatbotPanel({
662
697
  onSubmit,
663
698
  onStop,
664
699
  loading,
700
+ loadingText,
665
701
  placeholder,
666
702
  autoFocus,
667
703
  disclaimer,
@@ -1327,9 +1363,29 @@ declare const withForm: <TFormData, TOnMount extends _tanstack_react_form0.FormV
1327
1363
  declare const fieldContext: React$1.Context<_tanstack_react_form0.AnyFieldApi>, formContext: React$1.Context<_tanstack_react_form0.AnyFormApi>, useFieldContext: <TData>() => _tanstack_react_form0.FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, useFormContext: () => _tanstack_react_form0.ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any, any, any>;
1328
1364
  //#endregion
1329
1365
  //#region src/components/form-field.d.ts
1366
+ /**
1367
+ * Label prop shared by every wrapper. A bare string is the label text; the object form adds
1368
+ * right-aligned `aside` content (a link, a popover, …) and an `(i)` `info` popover on the label
1369
+ * row. `aside`/`info` are free-form — you pass the node, blocks only positions it.
1370
+ */
1371
+ type LabelProp = string | {
1372
+ content: string;
1373
+ aside?: React$1.ReactNode;
1374
+ info?: React$1.ReactNode;
1375
+ };
1376
+ /**
1377
+ * Description prop shared by every wrapper. A bare string renders as an `instructional`
1378
+ * description (under the label, always visible). The object form sets the `variant`:
1379
+ * `'instructional'` (default) or `'contextual'` (below the control, hidden when the field is
1380
+ * invalid — the error message takes its slot).
1381
+ */
1382
+ type DescriptionProp = string | {
1383
+ content: React$1.ReactNode;
1384
+ variant?: 'instructional' | 'contextual';
1385
+ };
1330
1386
  type FormFieldShellProps = {
1331
- label?: string;
1332
- description?: string;
1387
+ label?: LabelProp;
1388
+ description?: DescriptionProp;
1333
1389
  necessityIndicator?: 'required' | 'optional';
1334
1390
  children: React$1.ReactNode;
1335
1391
  };
@@ -1423,8 +1479,8 @@ type FormFieldBaseProps<TData, TControl> = {
1423
1479
  defaultValue?: unknown;
1424
1480
  asyncDebounceMs?: number;
1425
1481
  asyncAlways?: boolean;
1426
- label?: string;
1427
- description?: string;
1482
+ label?: LabelProp;
1483
+ description?: DescriptionProp;
1428
1484
  necessityIndicator?: 'required' | 'optional'; /** Builds the primitive-specific wiring bundle handed to `children`. */
1429
1485
  buildControl: (field: TypedField<TData>) => TControl;
1430
1486
  children: (field: TypedField<TData>, control: TControl) => React$1.ReactNode;
@@ -1455,8 +1511,8 @@ type SelectControl = {
1455
1511
  type FormSelectFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1456
1512
  /** The form instance from `useForm()` — threaded as a prop so `name`/`validators` are typed. */form: TForm;
1457
1513
  name: TName;
1458
- label?: string;
1459
- description?: string; /** Compose the Select yourself; spread the bundles. Trigger/content stay fully customizable. */
1514
+ label?: LabelProp;
1515
+ description?: DescriptionProp; /** Compose the Select yourself; spread the bundles. Trigger/content stay fully customizable. */
1460
1516
  children: (field: TypedField<string>, control: SelectControl) => React$1.ReactNode;
1461
1517
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1462
1518
  /**
@@ -1495,8 +1551,8 @@ type InputControl = {
1495
1551
  type FormInputFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1496
1552
  form: TForm;
1497
1553
  name: TName;
1498
- label?: string;
1499
- description?: string;
1554
+ label?: LabelProp;
1555
+ description?: DescriptionProp;
1500
1556
  children: (field: TypedField<string>, control: InputControl) => React$1.ReactNode;
1501
1557
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1502
1558
  /**
@@ -1530,8 +1586,8 @@ type ComboboxControl = {
1530
1586
  type FormComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1531
1587
  form: TForm;
1532
1588
  name: TName;
1533
- label?: string;
1534
- description?: string;
1589
+ label?: LabelProp;
1590
+ description?: DescriptionProp;
1535
1591
  children: (field: TypedField<string>, control: ComboboxControl) => React$1.ReactNode;
1536
1592
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1537
1593
  /**
@@ -1574,8 +1630,8 @@ type MultiComboboxControl = {
1574
1630
  type FormMultiComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string[]>> = {
1575
1631
  form: TForm;
1576
1632
  name: TName;
1577
- label?: string;
1578
- description?: string;
1633
+ label?: LabelProp;
1634
+ description?: DescriptionProp;
1579
1635
  children: (field: TypedField<string[]>, control: MultiComboboxControl) => React$1.ReactNode;
1580
1636
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1581
1637
  /**
@@ -1631,8 +1687,8 @@ type ArrayField<TItem> = {
1631
1687
  type FormArrayFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], unknown[]>> = {
1632
1688
  /** The form instance from `useForm()` — threaded as a prop so `name`/`validators` are typed. */form: TForm;
1633
1689
  name: TName;
1634
- label?: string;
1635
- description?: string;
1690
+ label?: LabelProp;
1691
+ description?: DescriptionProp;
1636
1692
  /**
1637
1693
  * Render the list. Map over `field.state.value`, render a nested `Form*Field` per row (same
1638
1694
  * `form`, indexed `name`), and wire add/remove/reorder controls to the array mutators.
@@ -1650,7 +1706,7 @@ type FormArrayFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<T
1650
1706
  * Each row is composed from the existing single-control wrappers with an indexed `name`.
1651
1707
  *
1652
1708
  * @example
1653
- * <FormArrayField form={form} name="webhooks" label="Webhooks" description="Endpoints to notify">
1709
+ * <FormArrayField form={form} name="webhooks" label="Webhooks" description={{ content: 'Endpoints to notify', variant: 'contextual' }}>
1654
1710
  * {field => (
1655
1711
  * <>
1656
1712
  * {field.state.value.map((_row, i) => (
@@ -1684,8 +1740,8 @@ type TextareaControl = {
1684
1740
  type FormTextareaFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1685
1741
  form: TForm;
1686
1742
  name: TName;
1687
- label?: string;
1688
- description?: string;
1743
+ label?: LabelProp;
1744
+ description?: DescriptionProp;
1689
1745
  children: (field: TypedField<string>, control: TextareaControl) => React$1.ReactNode;
1690
1746
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1691
1747
  /**
@@ -1717,8 +1773,8 @@ type RadioGroupControl = {
1717
1773
  type FormRadioGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1718
1774
  form: TForm;
1719
1775
  name: TName;
1720
- label?: string;
1721
- description?: string;
1776
+ label?: LabelProp;
1777
+ description?: DescriptionProp;
1722
1778
  children: (field: TypedField<string>, control: RadioGroupControl) => React$1.ReactNode;
1723
1779
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1724
1780
  /**
@@ -1753,8 +1809,8 @@ type OTPControl = {
1753
1809
  type FormOTPFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>> = {
1754
1810
  form: TForm;
1755
1811
  name: TName;
1756
- label?: string;
1757
- description?: string;
1812
+ label?: LabelProp;
1813
+ description?: DescriptionProp;
1758
1814
  children: (field: TypedField<string>, control: OTPControl) => React$1.ReactNode;
1759
1815
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1760
1816
  /**
@@ -1785,8 +1841,8 @@ type SwitchControl = {
1785
1841
  type FormSwitchFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], boolean>> = {
1786
1842
  form: TForm;
1787
1843
  name: TName;
1788
- label?: string;
1789
- description?: string;
1844
+ label?: LabelProp;
1845
+ description?: DescriptionProp;
1790
1846
  children: (field: TypedField<boolean>, control: SwitchControl) => React$1.ReactNode;
1791
1847
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1792
1848
  /**
@@ -1817,8 +1873,8 @@ type NumericControl = {
1817
1873
  type FormNumericFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>> = {
1818
1874
  form: TForm;
1819
1875
  name: TName;
1820
- label?: string;
1821
- description?: string;
1876
+ label?: LabelProp;
1877
+ description?: DescriptionProp;
1822
1878
  children: (field: TypedField<number>, control: NumericControl) => React$1.ReactNode;
1823
1879
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1824
1880
  /**
@@ -1848,8 +1904,8 @@ type SliderControl = {
1848
1904
  type FormSliderFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>> = {
1849
1905
  form: TForm;
1850
1906
  name: TName;
1851
- label?: string;
1852
- description?: string;
1907
+ label?: LabelProp;
1908
+ description?: DescriptionProp;
1853
1909
  children: (field: TypedField<number>, control: SliderControl) => React$1.ReactNode;
1854
1910
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1855
1911
  /**
@@ -1880,8 +1936,8 @@ type ToggleGroupControl = {
1880
1936
  type FormToggleGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string | null>> = {
1881
1937
  form: TForm;
1882
1938
  name: TName;
1883
- label?: string;
1884
- description?: string;
1939
+ label?: LabelProp;
1940
+ description?: DescriptionProp;
1885
1941
  children: (field: TypedField<string | null>, control: ToggleGroupControl) => React$1.ReactNode;
1886
1942
  } & FieldBindingProps<TForm['state']['values'], TName> & NecessityProps;
1887
1943
  /**
@@ -2131,4 +2187,4 @@ declare namespace DashboardSidebarSubmenuSeparator {
2131
2187
  type Props = DashboardSidebarSubmenuSeparatorProps;
2132
2188
  }
2133
2189
  //#endregion
2134
- export { type ArrayField, type ArrayItem, 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, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, 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, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, 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, withFieldGroup, withForm };
2190
+ export { type ArrayField, type ArrayItem, 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, ChatbotResponseLoading, type ChatbotResponseLoadingProps, 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, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, 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, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, 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, withFieldGroup, withForm };