@wistia/ui 0.20.9-beta.ebdd72a3.7c8b629 → 0.20.10-beta.1bf75ea0.e893702

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.
@@ -0,0 +1,4437 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode, LegacyRef, MutableRefObject, RefCallback, Dispatch, SetStateAction, RefObject, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, AnchorHTMLAttributes, MouseEvent, ReactElement, ElementType, ChangeEvent, PropsWithChildren, InputHTMLAttributes, Ref, SyntheticEvent, ComponentProps, HTMLAttributes, ForwardRefExoticComponent, RefAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
4
+ import { UseFilePickerConfig, FilePickerReturnTypes, ExtractContentTypeFromConfig, useImperativeFilePickerConfig, ImperativeFilePickerReturnTypes } from 'use-file-picker/types';
5
+ export * from 'use-file-picker/types';
6
+ import { CollapsibleContentProps as CollapsibleContentProps$1 } from '@radix-ui/react-collapsible';
7
+ import { Color } from 'culori/fn';
8
+ import * as Ariakit from '@ariakit/react';
9
+ import * as styled_components from 'styled-components';
10
+ import { Schema } from 'yup';
11
+ import ReactMarkdown, { Options } from 'react-markdown';
12
+ import * as _radix_ui_react_dropdown_menu from '@radix-ui/react-dropdown-menu';
13
+ import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
14
+ import { PopoverContentProps } from '@radix-ui/react-popover';
15
+ import { ToggleGroupSingleProps } from '@radix-ui/react-toggle-group';
16
+ import { TabsProps as TabsProps$1, TabsContentProps as TabsContentProps$1, TabsListProps as TabsListProps$1, TabsTriggerProps as TabsTriggerProps$1 } from '@radix-ui/react-tabs';
17
+ export { FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, ImageDimensionsValidator, PersistentFileAmountLimitValidator } from 'use-file-picker/validators';
18
+
19
+ type UIProviderProps = {
20
+ children: ReactNode;
21
+ };
22
+ declare const UIProvider: ({ children }: UIProviderProps) => react_jsx_runtime.JSX.Element;
23
+
24
+ /**
25
+ * Copies a string to user's clipboard for easy pasting in another location
26
+ *
27
+ * @param {string} textToCopy - the string that will be copied to users clipboard
28
+ * @returns {Promise<void>} - Promise object that resolves when the text is copied
29
+ */
30
+ declare const copyToClipboard: (textToCopy: string) => Promise<void>;
31
+
32
+ type DateOnlyStringOptions$1 = {
33
+ timeZone?: string;
34
+ /**
35
+ * When set to true, the returned string will omit the year.
36
+ * e.g. "Jun 3" instead of "Jun 3, 2021"
37
+ */
38
+ omitYear?: boolean;
39
+ };
40
+
41
+ declare const dateTime: {
42
+ buildTimeDuration: (numberOfMilliseconds: number) => Duration;
43
+ dateOnlyISOString: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
44
+ dateOnlyString: (date: unknown, { timeZone, omitYear }?: DateOnlyStringOptions$1) => string;
45
+ dateOnlyStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
46
+ dateOnlyStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
47
+ dateTimeRounded: DateTimeRoundedOverload;
48
+ dateTimeString: (date: Date | number | string | null | undefined, { timeZone, omitYear }?: DateOnlyStringOptions) => string;
49
+ dateTimeStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
50
+ dateTimeToDate: (dateTime: Partial<WistiaDateTimeObject> | null | undefined) => Date | null;
51
+ dateTimeToISO: (dateTime: Partial<WistiaDateTimeObject>) => string | null;
52
+ dateToDateTime: (date: Date | null | undefined) => WistiaDateTimeObject | null;
53
+ dateUTCOffset: (date: Date) => string;
54
+ dayOfWeekString: (date: Date | null, { timeZone }?: DateOnlyStringOptions) => string;
55
+ mediaDurationString: (numberOfMilliseconds: number) => string;
56
+ millisecondsToDurationISOString: (numberOfMilliseconds: number) => string;
57
+ monthDayStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
58
+ sessionDurationString: (numberOfMilliseconds: number) => string;
59
+ timeAgoString: (date: Date, { nowAnchor, includeTime }?: TimeAgoOptions) => string;
60
+ timeOnlyString: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
61
+ };
62
+
63
+ declare const mergeRefs: <T = unknown>(refs: (LegacyRef<T> | MutableRefObject<T> | null | undefined)[]) => RefCallback<T>;
64
+
65
+ declare const mq: {
66
+ xsAndUp: () => string;
67
+ smAndUp: () => string;
68
+ mdAndUp: () => string;
69
+ lgAndUp: () => string;
70
+ xlAndUp: () => string;
71
+ xsAndDown: () => string;
72
+ smAndDown: () => string;
73
+ mdAndDown: () => string;
74
+ lgAndDown: () => string;
75
+ xlAndDown: () => string;
76
+ };
77
+
78
+ type AriaLiveContextType = {
79
+ announce: (message: string, politeness?: 'assertive' | 'polite') => void;
80
+ };
81
+ declare const useAriaLive: () => AriaLiveContextType;
82
+
83
+ type UseBooleanReturn = [
84
+ boolean,
85
+ () => void,
86
+ () => void,
87
+ () => void,
88
+ Dispatch<SetStateAction<boolean>>
89
+ ];
90
+ declare const useBoolean: (initialValue?: boolean) => UseBooleanReturn;
91
+
92
+ declare const useClipboard: (textToCopy: string, timeout?: number) => [() => Promise<void>, boolean, boolean];
93
+
94
+ type Rect = {
95
+ width: number;
96
+ height: number;
97
+ top: number;
98
+ left: number;
99
+ bottom: number;
100
+ right: number;
101
+ x: number;
102
+ y: number;
103
+ };
104
+ declare const useElementObserver: <T extends HTMLElement>() => [RefObject<T | null>, Rect];
105
+
106
+ /**
107
+ * Hook that wraps `useFilePicker` from the use-file-picker library
108
+ *
109
+ * @param config Optional configuration for the file picker
110
+ */
111
+ declare const useFilePicker: <T extends UseFilePickerConfig = UseFilePickerConfig>(config?: T) => FilePickerReturnTypes<ExtractContentTypeFromConfig<T>>;
112
+ /**
113
+ * Hook that wraps `useImperativeFilePicker` from the use-file-picker library
114
+ *
115
+ * @param config Optional configuration for the imperative file picker
116
+ */
117
+ declare const useImperativeFilePicker: <T extends useImperativeFilePickerConfig = useImperativeFilePickerConfig>(config?: T) => ImperativeFilePickerReturnTypes<ExtractContentTypeFromConfig<T>>;
118
+
119
+ type UseFocusTrapOptions = {
120
+ disableAriaHider?: boolean;
121
+ focusSelector?: HTMLElement | RefObject<HTMLElement | null> | string | null | undefined;
122
+ };
123
+ declare const useFocusTrap: (active?: boolean, options?: UseFocusTrapOptions) => (node: HTMLElement | null | undefined) => void;
124
+
125
+ declare const useForceUpdate: () => (() => void);
126
+
127
+ type HoverProps = {
128
+ onFocus: () => void;
129
+ onMouseEnter: () => void;
130
+ onBlur: () => void;
131
+ onMouseLeave: () => void;
132
+ onMouseMove?: () => void;
133
+ };
134
+ type UseIsHoveredReturnType = [boolean, HoverProps, (hovered: boolean) => void];
135
+ declare const useIsHovered: () => UseIsHoveredReturnType;
136
+
137
+ type AddEventListenerType = (type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions | boolean) => void;
138
+ type RemoveEventListenerType = (type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions | boolean) => void;
139
+ declare const useEvent: <T extends Event>(eventName: Parameters<AddEventListenerType>[0], eventHandler: (event: T) => unknown, eventTarget?: unknown, eventOptions?: Parameters<RemoveEventListenerType>[2]) => void;
140
+
141
+ type EventHandler = (event: KeyboardEvent) => void;
142
+ type KeyFilterPredicate = (evt: KeyboardEvent) => boolean;
143
+ type KeyFilter = KeyFilterPredicate | boolean | string | null | undefined;
144
+ type UseKeyOptions = {
145
+ eventName?: string;
146
+ eventTarget?: Parameters<typeof useEvent>[2];
147
+ eventOptions?: Parameters<typeof useEvent>[3];
148
+ };
149
+ declare const useKey: (key: KeyFilter, eventHandler: EventHandler, { eventName, eventTarget, eventOptions }?: UseKeyOptions) => void;
150
+
151
+ type SetItemType = Storage['setItem'];
152
+ declare const useLocalStorage: <T, _>(key: Parameters<SetItemType>[0], initialValue: T, storage?: Storage) => [T | undefined, (newValue: T) => void, () => void];
153
+
154
+ declare const useLockBodyScroll: (locked: boolean) => void;
155
+
156
+ type UseMqReturnType = {
157
+ isXlAndUp: boolean;
158
+ isLgAndUp: boolean;
159
+ isMdAndUp: boolean;
160
+ isSmAndUp: boolean;
161
+ isXsAndUp: boolean;
162
+ isXsAndDown: boolean;
163
+ isSmAndDown: boolean;
164
+ isMdAndDown: boolean;
165
+ isLgAndDown: boolean;
166
+ isXlAndDown: boolean;
167
+ };
168
+ declare const useMq: () => UseMqReturnType;
169
+ type UseActiveMqReturnType = keyof UseMqReturnType;
170
+ declare const useActiveMq: () => UseActiveMqReturnType[];
171
+
172
+ type EventType = 'focusin' | 'focusout' | 'mousedown' | 'mouseup' | 'touchend' | 'touchstart';
173
+ declare const useOnClickOutside: (ref: RefObject<HTMLElement | null | undefined>, handler: (event: Event) => unknown, eventTypes?: EventType | EventType[]) => void;
174
+
175
+ declare const usePreviousValue: <T>(value: T) => T | undefined;
176
+
177
+ declare const colorSchemeOptions: readonly ["standard", "inherit", "error", "info", "success", "warning", "blue", "green", "orange", "pink", "purple", "red", "yellow", "vendor-hubspot", "vendor-marketo", "vendor-pardot"];
178
+ type ColorSchemeTypes = (typeof colorSchemeOptions)[number];
179
+ type ColorSchemeWrapperProps = ComponentPropsWithoutRef<'div'> & {
180
+ /**
181
+ * @ignore For use in creating navs - will override any colorScheme prop
182
+ */
183
+ __nav?: boolean;
184
+ /**
185
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
186
+ */
187
+ colorScheme?: ColorSchemeTypes;
188
+ /**
189
+ * Children
190
+ */
191
+ children: ReactNode;
192
+ };
193
+ /**
194
+ * A wrapper to apply a color scheme to its children.
195
+ */
196
+ declare const ColorSchemeWrapper: {
197
+ ({ __nav, colorScheme, children, ...props }: ColorSchemeWrapperProps): JSX.Element;
198
+ displayName: string;
199
+ };
200
+
201
+ type ButtonVariants = 'ghost' | 'outline' | 'soft' | 'solid';
202
+
203
+ type LinkTypes = 'default' | 'email' | 'external' | 'phone';
204
+ type ReactRouterLinkProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
205
+ reloadDocument?: boolean;
206
+ replace?: boolean;
207
+ state?: any;
208
+ preventScrollReset?: boolean;
209
+ viewTransition?: boolean;
210
+ };
211
+ type BaseProps$2 = {
212
+ /**
213
+ * A Promise to invoke before navigating to location.
214
+ * _Caution: if used with `external` type prop a new window will **not** be opened_
215
+ */
216
+ beforeAction?: (() => Promise<void>) | (() => void);
217
+ /**
218
+ * Text that appears inside of the link
219
+ *
220
+ * @type ReactNode
221
+ */
222
+ children: ReactNode;
223
+ /**
224
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
225
+ */
226
+ colorScheme?: ColorSchemeTypes;
227
+ /**
228
+ * Disables the link
229
+ */
230
+ disabled?: boolean;
231
+ /**
232
+ * Icon to display on the left side of the link. Must be an instance of [Icon](?path=/docs/components-icon--docs)
233
+ */
234
+ leftIcon?: ReactNode | undefined;
235
+ /**
236
+ * Icon to display on the right side of the link. Must be an instance of [Icon](?path=/docs/components-icon--docs)
237
+ */
238
+ rightIcon?: ReactNode | undefined;
239
+ /**
240
+ * Type of link to display
241
+ *
242
+ * * `email` creates a mailto
243
+ * * `phone` creates a telephone number
244
+ * * `external` will open links in a new window
245
+ */
246
+ type?: LinkTypes | undefined;
247
+ /**
248
+ * Controls the underline behavior of the link
249
+ *
250
+ * * `none` - no underline (default)
251
+ * * `always` - always show underline
252
+ * * `hover` - show underline only on hover
253
+ */
254
+ underline?: 'always' | 'hover' | 'none';
255
+ };
256
+ type LinkAsLinkProps = BaseProps$2 & ComponentPropsWithRef<'a'> & ReactRouterLinkProps & {
257
+ href: string | undefined;
258
+ type?: LinkTypes;
259
+ };
260
+ type LinkAsButtonProps = BaseProps$2 & ComponentPropsWithRef<'button'> & {
261
+ href?: never;
262
+ type?: 'button' | 'reset' | 'submit';
263
+ };
264
+ type LinkProps = LinkAsButtonProps | LinkAsLinkProps;
265
+ /**
266
+ * Links are used for navigation. If no `href` is supplied, a button that is visually styled to appear as a link
267
+ * is rendered. If used in a `react-router` context, their [Link](https://reactrouter.com/en/main/components/link).
268
+ * component is used, otherwise a native `a` element.
269
+ *
270
+ * This means in addition to its own props, `Link` can use props from `react-router`'s `Link` component. View their documentation [here](https://reactrouter.com/en/main/components/link).
271
+ * The one prop we ignore from react-router is `to`. We use `href` instead and map it under the hood.
272
+ */
273
+ declare const Link: react.ForwardRefExoticComponent<(Omit<LinkAsLinkProps, "ref"> | Omit<LinkAsButtonProps, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
274
+
275
+ type Breakpoints = 'isLgAndDown' | 'isLgAndUp' | 'isMdAndDown' | 'isMdAndUp' | 'isSmAndDown' | 'isSmAndUp' | 'isXlAndDown' | 'isXlAndUp' | 'isXsAndDown' | 'isXsAndUp';
276
+ type AtLeastOneBreakpoint<T, U = {
277
+ [K in keyof T]: Pick<T, K>;
278
+ }> = Partial<T> & U[keyof U];
279
+ type ResponsiveObject<T> = AtLeastOneBreakpoint<Record<Breakpoints, T>> & {
280
+ base: T;
281
+ };
282
+
283
+ type ButtonSizes = 'lg' | 'md' | 'sm' | 'xl';
284
+ type BaseButtonProps = {
285
+ /**
286
+ * Text that appears inside of the button
287
+ *
288
+ * @type ReactNode
289
+ */
290
+ children: ReactNode;
291
+ /**
292
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
293
+ */
294
+ colorScheme?: ColorSchemeTypes;
295
+ /**
296
+ * Disables the button
297
+ */
298
+ disabled?: boolean;
299
+ /**
300
+ * Show a spinner when the button is in a loading state
301
+ */
302
+ isLoading?: boolean;
303
+ /**
304
+ * Icon to display on the left side of the button. Must be an instance of [Icon](?path=/docs/components-icon--docs)
305
+ */
306
+ leftIcon?: ReactNode | undefined;
307
+ /**
308
+ * Callback function invoked when the button is clicked
309
+ *
310
+ * @type (event: MouseEvent) => void
311
+ */
312
+ onClick?: ((event: MouseEvent) => void) | undefined;
313
+ /**
314
+ * @ignore
315
+ * Force a button into a particular css state (for debugging)
316
+ */
317
+ forceState?: 'active' | 'focus' | 'hover' | undefined;
318
+ /**
319
+ * If true, the button will fill its container
320
+ *
321
+ * @type boolean | ResponsiveObject<boolean>
322
+ */
323
+ fullWidth?: ResponsiveObject<boolean> | boolean;
324
+ /**
325
+ * Provides a button without any styling (useful for wrapping another element)
326
+ */
327
+ unstyled?: boolean | undefined;
328
+ /**
329
+ * Icon to display on the right side of the button. Must be an instance of [Icon](?path=/docs/components-icon--docs)
330
+ */
331
+ rightIcon?: ReactNode | undefined;
332
+ /**
333
+ * The size of button to display. Can be used as a [responsive prop](/docs/ui-docs-responsive-props--docs)
334
+ */
335
+ size?: ButtonSizes | ResponsiveObject<ButtonSizes>;
336
+ /**
337
+ * A visual style for the button
338
+ */
339
+ variant?: ButtonVariants;
340
+ };
341
+ type ButtonAsLinkProps = BaseButtonProps & ComponentPropsWithRef<'a'> & LinkProps & {
342
+ href: string | undefined;
343
+ children: ReactNode;
344
+ /**
345
+ * This just allows pathrough to beforeAction for link
346
+ * @ignore
347
+ */
348
+ beforeAction?: (() => Promise<void>) | (() => void);
349
+ /**
350
+ * This just allows pathrough to beforeAction for link
351
+ * @ignore
352
+ */
353
+ type?: LinkTypes;
354
+ };
355
+ type ButtonAsButtonProps = BaseButtonProps & ComponentPropsWithRef<'button'> & {
356
+ /**
357
+ * If supplied, the button will render as a link
358
+ */
359
+ href?: never;
360
+ type?: 'button' | 'reset' | 'submit';
361
+ children: ReactNode;
362
+ };
363
+ type ButtonProps = ButtonAsButtonProps | ButtonAsLinkProps;
364
+ /**
365
+ * Button component is used to trigger an action or event,
366
+ * such as submitting a form, opening a Dialog, canceling an
367
+ * action, or performing a delete operation. It replaces the HTML `<button>` element,
368
+ * unless an `href` attribute is passed, in which it will render an `<a>` element.
369
+ */
370
+ declare const Button: react.ForwardRefExoticComponent<(Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
371
+ beforeAction?: (() => Promise<void>) | (() => void);
372
+ children: ReactNode;
373
+ colorScheme?: ColorSchemeTypes;
374
+ disabled?: boolean;
375
+ leftIcon?: ReactNode | undefined;
376
+ rightIcon?: ReactNode | undefined;
377
+ type?: LinkTypes | undefined;
378
+ underline?: "always" | "hover" | "none";
379
+ } & Omit<react.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> & {
380
+ reloadDocument?: boolean;
381
+ replace?: boolean;
382
+ state?: any;
383
+ preventScrollReset?: boolean;
384
+ viewTransition?: boolean;
385
+ } & {
386
+ href: string | undefined;
387
+ type?: LinkTypes;
388
+ } & {
389
+ href: string | undefined;
390
+ children: ReactNode;
391
+ /**
392
+ * This just allows pathrough to beforeAction for link
393
+ * @ignore
394
+ */
395
+ beforeAction?: (() => Promise<void>) | (() => void);
396
+ /**
397
+ * This just allows pathrough to beforeAction for link
398
+ * @ignore
399
+ */
400
+ type?: LinkTypes;
401
+ }, "ref"> | Omit<BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
402
+ beforeAction?: (() => Promise<void>) | (() => void);
403
+ children: ReactNode;
404
+ colorScheme?: ColorSchemeTypes;
405
+ disabled?: boolean;
406
+ leftIcon?: ReactNode | undefined;
407
+ rightIcon?: ReactNode | undefined;
408
+ type?: LinkTypes | undefined;
409
+ underline?: "always" | "hover" | "none";
410
+ } & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
411
+ href?: never;
412
+ type?: "button" | "reset" | "submit";
413
+ } & {
414
+ href: string | undefined;
415
+ children: ReactNode;
416
+ /**
417
+ * This just allows pathrough to beforeAction for link
418
+ * @ignore
419
+ */
420
+ beforeAction?: (() => Promise<void>) | (() => void);
421
+ /**
422
+ * This just allows pathrough to beforeAction for link
423
+ * @ignore
424
+ */
425
+ type?: LinkTypes;
426
+ }, "ref"> | Omit<ButtonAsButtonProps, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
427
+
428
+ type ToastProps = ComponentPropsWithoutRef<'div'> & {
429
+ /**
430
+ * Action can be undefined (default dismiss button), a Button component or false to hide the dismiss button
431
+ */
432
+ action?: ReactElement<typeof Button> | undefined;
433
+ /**
434
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
435
+ */
436
+ colorScheme?: ColorSchemeTypes | undefined;
437
+ /**
438
+ * Optional `Icon` component to use. Must be an instance of [Icon](/?path=/docs/components-icon--docs)
439
+ */
440
+ icon?: JSX.Element | undefined;
441
+ /**
442
+ * The message displayed in the toast
443
+ */
444
+ message: ReactNode;
445
+ };
446
+
447
+ type Position = 'bottom-center' | 'bottom-left' | 'bottom-right' | 'top-center' | 'top-left' | 'top-right';
448
+ type UseToastProps = ToastProps & {
449
+ position?: Position;
450
+ duration?: number;
451
+ };
452
+ type UseToastReturnType = ({ message, icon, colorScheme, action, position, duration, }: UseToastProps) => void;
453
+ declare const useToast: () => UseToastReturnType;
454
+
455
+ declare const useWindowSize: (interval?: number) => {
456
+ width: number;
457
+ height: number;
458
+ };
459
+
460
+ type ActionButtonProps = {
461
+ /**
462
+ * @override
463
+ * The text to display for the ActionButton
464
+ *
465
+ */
466
+ children: ReactNode;
467
+ /**
468
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
469
+ */
470
+ icon: JSX.Element;
471
+ /**
472
+ * @override
473
+ * Disables the button
474
+ */
475
+ disabled?: boolean;
476
+ /**
477
+ * @ignore
478
+ * Force a button into a particular css state (for debugging)
479
+ */
480
+ forceState?: 'focus' | 'hover' | undefined;
481
+ /**
482
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
483
+ */
484
+ hoverColorScheme?: ColorSchemeTypes | undefined;
485
+ /**
486
+ * Changes the secondary icon for different use cases
487
+ */
488
+ variant?: 'default' | 'gated' | 'menu-down' | 'menu-up';
489
+ } & (Omit<ButtonAsButtonProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'>);
490
+ /**
491
+ * Action Button component is used as one of a group of main actions on the page. It composes [Button]().
492
+ */
493
+ declare const ActionButton: react.ForwardRefExoticComponent<(Omit<{
494
+ /**
495
+ * @override
496
+ * The text to display for the ActionButton
497
+ *
498
+ */
499
+ children: ReactNode;
500
+ /**
501
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
502
+ */
503
+ icon: JSX.Element;
504
+ /**
505
+ * @override
506
+ * Disables the button
507
+ */
508
+ disabled?: boolean;
509
+ /**
510
+ * @ignore
511
+ * Force a button into a particular css state (for debugging)
512
+ */
513
+ forceState?: "focus" | "hover" | undefined;
514
+ /**
515
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
516
+ */
517
+ hoverColorScheme?: ColorSchemeTypes | undefined;
518
+ /**
519
+ * Changes the secondary icon for different use cases
520
+ */
521
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
522
+ } & Omit<ButtonAsButtonProps, "size" | "leftIcon" | "rightIcon" | "isLoading" | "fullWidth" | "unstyled" | "variant">, "ref"> | Omit<{
523
+ /**
524
+ * @override
525
+ * The text to display for the ActionButton
526
+ *
527
+ */
528
+ children: ReactNode;
529
+ /**
530
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
531
+ */
532
+ icon: JSX.Element;
533
+ /**
534
+ * @override
535
+ * Disables the button
536
+ */
537
+ disabled?: boolean;
538
+ /**
539
+ * @ignore
540
+ * Force a button into a particular css state (for debugging)
541
+ */
542
+ forceState?: "focus" | "hover" | undefined;
543
+ /**
544
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
545
+ */
546
+ hoverColorScheme?: ColorSchemeTypes | undefined;
547
+ /**
548
+ * Changes the secondary icon for different use cases
549
+ */
550
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
551
+ } & Omit<ButtonAsLinkProps, "size" | "leftIcon" | "rightIcon" | "isLoading" | "fullWidth" | "unstyled" | "variant">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
552
+
553
+ type AvatarInstanceType = 'image' | 'initials';
554
+ type AvatarImageLoadStateType = 'error' | 'loaded' | 'loading';
555
+ type AvatarSizeType = 'lg' | 'md' | 'sm';
556
+ type AvatarStatus = {
557
+ type: AvatarInstanceType;
558
+ state: AvatarImageLoadStateType;
559
+ };
560
+ type AvatarProps = ComponentPropsWithoutRef<'div'> & {
561
+ /**
562
+ * The height and width of the avatar (overrides size prop)
563
+ */
564
+ heightAndWidth?: number;
565
+ /**
566
+ * The URL of the image to display
567
+ */
568
+ imageUrl?: string | null;
569
+ /**
570
+ * A string that will deterministically set the initials & background color of the avatar
571
+ *
572
+ * _note: only first initial shown regardless of characters provided_
573
+ */
574
+ name?: string | null;
575
+ /**
576
+ * A predefined size for the avatar
577
+ */
578
+ size?: AvatarSizeType;
579
+ /**
580
+ * A callback that is invoked after the image has loaded or failed to load
581
+ */
582
+ onImageLoad?: (avatarStatus: AvatarStatus) => void;
583
+ };
584
+ /**
585
+ * An avatar uses a photo or initials to represent an identity.
586
+ */
587
+ declare const Avatar: {
588
+ ({ imageUrl, heightAndWidth, name, size, onImageLoad, ...props }: AvatarProps): JSX.Element;
589
+ displayName: string;
590
+ };
591
+
592
+ type BadgeVariants = 'default' | 'outline';
593
+ type BadgeProps = ComponentPropsWithoutRef<'div'> & {
594
+ /**
595
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
596
+ */
597
+ colorScheme?: ColorSchemeTypes;
598
+ /**
599
+ * Optional `Icon` component to use. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
600
+ */
601
+ icon?: JSX.Element | undefined;
602
+ /**
603
+ * The text to display in the `Badge`
604
+ */
605
+ label?: ReactNode;
606
+ /**
607
+ * The variant of the `Badge`
608
+ */
609
+ variant?: BadgeVariants;
610
+ };
611
+ /**
612
+ * A `Badge` is a compact label, with optional icon, to convey status or context.
613
+ */
614
+ declare const Badge: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
615
+ /**
616
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
617
+ */
618
+ colorScheme?: ColorSchemeTypes;
619
+ /**
620
+ * Optional `Icon` component to use. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
621
+ */
622
+ icon?: JSX.Element | undefined;
623
+ /**
624
+ * The text to display in the `Badge`
625
+ */
626
+ label?: ReactNode;
627
+ /**
628
+ * The variant of the `Badge`
629
+ */
630
+ variant?: BadgeVariants;
631
+ } & react.RefAttributes<HTMLDivElement>>;
632
+
633
+ type BannerProps = ComponentPropsWithoutRef<'div'> & {
634
+ /**
635
+ * The main text content displayed in the banner
636
+ */
637
+ bodyText: ReactNode;
638
+ /**
639
+ * Optional heading text displayed at the top of the banner content
640
+ */
641
+ headingText?: string;
642
+ /**
643
+ * Optional `Icon` component to use. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
644
+ */
645
+ icon?: JSX.Element;
646
+ /**
647
+ * Controls the visual prominence of the banner
648
+ */
649
+ prominence?: 'primary' | 'secondary';
650
+ colorScheme?: ColorSchemeTypes;
651
+ /**
652
+ * Optional image element to display in the banner
653
+ */
654
+ image?: JSX.Element | undefined;
655
+ /**
656
+ * Controls the layout direction. If set to 'auto', the banner will switch between horizontal and vertical based on the container width.
657
+ */
658
+ orientation?: 'auto' | 'horizontal' | 'vertical';
659
+ /**
660
+ * Primary call-to-action element (typically a [Button]() of the `solid` variant)
661
+ */
662
+ primaryAction?: ReactNode;
663
+ /**
664
+ * Secondary call-to-action element (typically a [Button]() of the `outline` variant)
665
+ */
666
+ secondaryAction?: ReactNode;
667
+ /**
668
+ * Optional callback function when the close button is clicked. If not provided, the close button will not be displayed.
669
+ */
670
+ onClose?: () => void;
671
+ };
672
+ /**
673
+ * The `Banner` component is for displaying contextual information to the user such as alerts or feature announcements.
674
+ */
675
+ declare const Banner: {
676
+ ({ bodyText, colorScheme, headingText, icon, image, onClose, orientation, primaryAction, prominence, secondaryAction, ...props }: BannerProps): JSX.Element;
677
+ displayName: string;
678
+ };
679
+
680
+ type BannerImageProps = ComponentPropsWithoutRef<'div'> & {
681
+ /**
682
+ * The URL of the image to display in the banner
683
+ */
684
+ src: string;
685
+ /**
686
+ * Alternative text description of the image for accessibility
687
+ */
688
+ alt?: string;
689
+ /**
690
+ * Position of the image within the banner layout. Only applies in horizontal orientation.
691
+ */
692
+ alignment?: 'left' | 'right';
693
+ };
694
+ declare const BannerImage: ({ alignment, alt, src, ...props }: BannerImageProps) => react_jsx_runtime.JSX.Element;
695
+
696
+ type UnknownRecord = Record<string, unknown>;
697
+ type PropsOf<Component extends ElementType> = ComponentPropsWithoutRef<Component>;
698
+ type ExtendedProps<Props = UnknownRecord, OverrideProps = UnknownRecord> = Omit<Props, keyof OverrideProps> & OverrideProps;
699
+ type ComponentProp<Component extends ElementType> = {
700
+ /**
701
+ * The component or HTML element to render as the root instead of the default.
702
+ */
703
+ renderAs?: Component;
704
+ };
705
+ /**
706
+ * extend the polymorphic component props to always include children
707
+ */
708
+ type PolymorphicComponentProps<Component extends ElementType, Props = UnknownRecord> = ExtendedProps<PropsOf<Component>, ComponentProp<Component> & Props> & {
709
+ children?: ReactNode;
710
+ ref?: ComponentPropsWithRef<Component>['ref'];
711
+ };
712
+
713
+ type Spacings = 'space-00' | 'space-01' | 'space-02' | 'space-03' | 'space-04' | 'space-05' | 'space-06' | 'space-07' | 'space-08' | 'space-09';
714
+
715
+ type JustifyContentType =
716
+ | 'center'
717
+ | 'flex-end'
718
+ | 'flex-start'
719
+ | 'space-around'
720
+ | 'space-between'
721
+ | 'space-evenly';
722
+
723
+ type AlignContentType =
724
+ | 'center'
725
+ | 'flex-end'
726
+ | 'flex-start'
727
+ | 'space-around'
728
+ | 'space-between'
729
+ | 'stretch';
730
+
731
+ type AlignItemsType = 'baseline' | 'center' | 'flex-end' | 'flex-start' | 'stretch';
732
+
733
+ type AlignSelfType = 'auto' | 'baseline' | 'center' | 'flex-end' | 'flex-start' | 'stretch';
734
+
735
+ type DirectionType = 'column-reverse' | 'column' | 'row-reverse' | 'row';
736
+
737
+ type FillType = boolean | 'horizontal' | 'vertical';
738
+ type Gap$1 = {
739
+ column: Spacings;
740
+ row: Spacings;
741
+ };
742
+ type ResponsiveGap$1 = ResponsiveObject<Gap$1 | Spacings>;
743
+ type FlexModeType = 'equal' | 'fluid' | 'grow' | 'initial' | 'rigid';
744
+ declare const DEFAULT_ELEMENT$1 = "div";
745
+ /**
746
+ * CSS property => Box prop:
747
+ * flex-direction => direction
748
+ * justify-content => justifyContent
749
+ * align-items => alignItems
750
+ * align-content => alignContent
751
+ * flex-wrap => wrapItems
752
+ * gap => gap
753
+ * display: inline-flex => inline
754
+ */
755
+ type BoxProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT$1> & {
756
+ /**
757
+ * Specifies how the browser distributes space between and around
758
+ * items along the cross-axis of their container; has no effect on
759
+ * single line flexible boxes. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
760
+ */
761
+ alignContent?: AlignContentType | ResponsiveObject<AlignContentType>;
762
+ /**
763
+ * Specifies how the browser distributes space between and around
764
+ * items along the cross-axis of their container; the difference
765
+ * to the alignContent prop is that alignItems specifies the
766
+ * alignment of the items within the current container's line,
767
+ * whereas alignContent specifies the alignment of the lines themselves.
768
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
769
+ */
770
+ alignItems?: AlignItemsType | ResponsiveObject<AlignItemsType>;
771
+ /**
772
+ * Specifies how the browser aligns items of the current line, overriding the
773
+ * alignItems value of parent; if any of the item's cross-axis margin is set to auto,
774
+ * then alignSelf is ignored. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
775
+ *
776
+ * *Note: only works for nested `<Box />`*
777
+ */
778
+ alignSelf?: AlignSelfType | ResponsiveObject<AlignSelfType>;
779
+ /**
780
+ * Specifies the initial main size of an item. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
781
+ *
782
+ * *Note: Cannot be used with `flexMode` prop.*
783
+ *
784
+ * *Note: only works for nested `<Box />`*
785
+ */
786
+ basis?: ResponsiveObject<string> | string;
787
+ /**
788
+ * Pass an arbitrary child node
789
+ */
790
+ children?: ReactNode;
791
+ /**
792
+ * Specifies the main axis of the container. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
793
+ */
794
+ direction?: DirectionType | ResponsiveObject<DirectionType>;
795
+ /**
796
+ * Specifies whether the width and/or height should fill the container.
797
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
798
+ *
799
+ * *Note: Cannot be used with height/width props when setting the corresponding dimension.*
800
+ *
801
+ * For example, `fill="vertical"` or `fill={true}` cannot be used with the `height` prop,
802
+ * and `fill="horizontal"` or `fill={true}` cannot be used with the `width` prop.
803
+ */
804
+ fill?: FillType | ResponsiveObject<FillType>;
805
+ /**
806
+ * Specifies whether the width and/or height should fill the viewport.
807
+ *
808
+ * *Note: Cannot be used with height/width props when setting the corresponding dimension.*
809
+ *
810
+ * For example, `fillViewport="vertical"` or `fillViewport={true}` cannot be used with the `height` prop,
811
+ * and `fillViewport="horizontal"` or `fillViewport={true}` cannot be used with the `width` prop.
812
+ */
813
+ fillViewport?: FillType;
814
+ /**
815
+ * Predefined `flex` behavior patterns. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
816
+ *
817
+ * - `grow`: fills available space (`flex: 1 0 0`)
818
+ * - `initial`: default behavior (`flex: 0 1 auto`)
819
+ * - `equal`: equal space distribution (`flex: 1`)
820
+ * - `rigid`: fixed size (`flex: 0 0 auto`)
821
+ * - `fluid`: responsive (`flex: 1 1 auto`)
822
+ */
823
+ flexMode?: FlexModeType | ResponsiveObject<FlexModeType>;
824
+ /**
825
+ * Specifies the gaps (gutters) between rows and columns.
826
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
827
+ *
828
+ * Can be either a single spacing value that applies to both row and column gaps,
829
+ * or an object specifying different values for row and column gaps.
830
+ */
831
+ gap?: Gap$1 | ResponsiveGap$1 | Spacings;
832
+ /**
833
+ * Specifies what amount of space inside the flex container the item should take up.
834
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
835
+ *
836
+ * *Note: Cannot be used with `flexMode` prop.*
837
+ *
838
+ * *Note: only works for nested `<Box />`*
839
+ */
840
+ grow?: ResponsiveObject<number | string> | number | string;
841
+ /**
842
+ * Specifies the height of the box. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
843
+ *
844
+ * *Note: Cannot be used with fill="vertical" or fillViewport="vertical"*
845
+ */
846
+ height?: ResponsiveObject<string> | string;
847
+ /**
848
+ * Make Layout behave like an inline element but still lay out its content according to flexbox model.
849
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
850
+ */
851
+ inline?: ResponsiveObject<boolean> | boolean;
852
+ /**
853
+ * Specifies how the browser distributes space between and around
854
+ * items along the main axis of their container. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
855
+ */
856
+ justifyContent?: JustifyContentType | ResponsiveObject<JustifyContentType>;
857
+ /**
858
+ * Specifies the order used to lay out an item in its container. Items within the same
859
+ * container are rendered in ascending order according to their order values.
860
+ * Elements with the _same_ order value are rendered in the order in which they appear in code
861
+ *
862
+ * *Note: only works for nested `<Box />`*
863
+ */
864
+ order?: number | 'inherit' | 'initial' | 'unset';
865
+ renderAs?: ElementType;
866
+ /**
867
+ * Specifies how items will shrink inside the container when the default size of
868
+ * items is larger than their container. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
869
+ *
870
+ * *Note: Cannot be used with `flexMode` prop.*
871
+ *
872
+ * *Note: only works for nested `<Box />`*
873
+ */
874
+ shrink?: ResponsiveObject<number> | number;
875
+ /**
876
+ * Specifies whether items are forced into a single line or can be wrapped onto multiple lines.
877
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
878
+ */
879
+ wrapItems?: ResponsiveObject<boolean> | boolean;
880
+ /**
881
+ * Specifies the width of the box. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
882
+ *
883
+ * *Note: Cannot be used with fill="horizontal" or fillViewport="horizontal"*
884
+ */
885
+ width?: ResponsiveObject<string> | string;
886
+ };
887
+ /**
888
+ * Box is a layout container using [CSS Flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox).
889
+ */
890
+ declare const Box: (<C extends ElementType = "div">(props: PolymorphicComponentProps<C, BoxProps>) => react.ReactElement | null) & UnknownRecord;
891
+
892
+ type BreadcrumbsProps = ComponentPropsWithoutRef<'div'> & {
893
+ /**
894
+ * Should be at least one `Breadcrumb` component
895
+ */
896
+ children: ReactNode;
897
+ };
898
+ /**
899
+ * Used to display a screens's location within a hierarchical structure. Each `Breadcrumb` is a composed version of
900
+ * [Button](?path=/docs/components-button--docs). See it's documentation for additional functionality.
901
+ */
902
+ declare const Breadcrumbs: {
903
+ ({ children, ...props }: BreadcrumbsProps): JSX.Element;
904
+ displayName: string;
905
+ };
906
+
907
+ type BreadcrumbProps = ButtonAsLinkProps & {
908
+ /**
909
+ * An [Icon]() to show at the beginning of the breadcrumb
910
+ */
911
+ icon?: ButtonAsLinkProps['leftIcon'];
912
+ /**
913
+ * The text of the breadcrumb link
914
+ */
915
+ children: ReactNode;
916
+ /**
917
+ * The link to the page of the breadcrumb
918
+ */
919
+ href: string;
920
+ };
921
+ declare const Breadcrumb: ({ icon, href, children, ...props }: BreadcrumbProps) => react_jsx_runtime.JSX.Element;
922
+
923
+ type ButtonGroupButtonSize = ButtonSizes | 'natural';
924
+ type ButtonGroupProps = ComponentPropsWithoutRef<'div'> & {
925
+ /**
926
+ * Align buttons to the left or right of their container
927
+ */
928
+ align?: 'center' | 'left' | 'right';
929
+ /**
930
+ * Buttons that will be rendered in grouping
931
+ */
932
+ children?: ReactNode;
933
+ /**
934
+ * Force ButtonGroup to fill the width of it's container
935
+ */
936
+ fullWidth?: boolean;
937
+ /**
938
+ * If true, the button group will collapse to a single column on small screens
939
+ * and the buttons will be stacked on top of each other.
940
+ */
941
+ collapseOnSmallScreens?: boolean;
942
+ /**
943
+ * The size of the buttons in the group. Setting this will override the size of any UI button passed in as a child.
944
+ */
945
+ buttonSize?: ButtonGroupButtonSize | ResponsiveObject<ButtonGroupButtonSize>;
946
+ };
947
+ /**
948
+ * ButtonGroup is a layout component that groups buttons together,
949
+ * with a standardized gap between them.
950
+ */
951
+ declare const ButtonGroup: {
952
+ ({ children, align, fullWidth, collapseOnSmallScreens, buttonSize, ...props }: ButtonGroupProps): JSX.Element | null;
953
+ displayName: string;
954
+ };
955
+
956
+ type BorderRadius = 'border-radius-00' | 'border-radius-01' | 'border-radius-02' | 'border-radius-03' | 'border-radius-04' | 'border-radius-05' | 'border-radius-rounded';
957
+
958
+ type CardProps = BoxProps & ComponentPropsWithoutRef<'div'> & {
959
+ /**
960
+ * Content to be rendered inside the Card component
961
+ */
962
+ children: ReactNode;
963
+ /**
964
+ * Specifies the background and border color of the card.
965
+ */
966
+ prominence?: 'primary' | 'secondary' | 'tertiary';
967
+ /**
968
+ * Determines the color scheme for the card and its children.
969
+ */
970
+ colorScheme?: ColorSchemeTypes;
971
+ /**
972
+ * Specifies the internal padding of the card. Uses the design system's spacing scale.
973
+ */
974
+ paddingSize?: Spacings;
975
+ /**
976
+ * When true, adds a border around the card based on its colorScheme and prominence.
977
+ */
978
+ border?: boolean;
979
+ /**
980
+ * Border radius to apply to the Card
981
+ */
982
+ borderRadius?: BorderRadius;
983
+ /**
984
+ * Specifies the gaps (gutters) between rows and columns
985
+ */
986
+ gap?: BoxProps['gap'];
987
+ /**
988
+ * Specifies the height of the card.
989
+ */
990
+ height?: string;
991
+ /**
992
+ * Specifies the width of the card.
993
+ */
994
+ width?: string;
995
+ /**
996
+ * @ignore
997
+ */
998
+ alignContent?: BoxProps['alignContent'];
999
+ /**
1000
+ * @ignore
1001
+ */
1002
+ alignItems?: BoxProps['alignItems'];
1003
+ /**
1004
+ * @ignore
1005
+ */
1006
+ alignSelf?: BoxProps['alignSelf'];
1007
+ /**
1008
+ * @ignore
1009
+ */
1010
+ basis?: BoxProps['basis'];
1011
+ /**
1012
+ * @ignore
1013
+ */
1014
+ direction?: BoxProps['direction'];
1015
+ /**
1016
+ * @ignore
1017
+ */
1018
+ fill?: BoxProps['fill'];
1019
+ /**
1020
+ * @ignore
1021
+ */
1022
+ fillViewport?: BoxProps['fillViewport'];
1023
+ /**
1024
+ * @ignore
1025
+ */
1026
+ flexMode?: BoxProps['flexMode'];
1027
+ /**
1028
+ * @ignore
1029
+ */
1030
+ grow?: BoxProps['grow'];
1031
+ /**
1032
+ * @ignore
1033
+ */
1034
+ inline?: BoxProps['inline'];
1035
+ /**
1036
+ * @ignore
1037
+ */
1038
+ justifyContent?: BoxProps['justifyContent'];
1039
+ /**
1040
+ * @ignore
1041
+ */
1042
+ order?: BoxProps['order'];
1043
+ /**
1044
+ * @ignore
1045
+ */
1046
+ shrink?: BoxProps['shrink'];
1047
+ /**
1048
+ * @ignore
1049
+ */
1050
+ wrapItems?: BoxProps['wrapItems'];
1051
+ };
1052
+ /**
1053
+ * A flexible container component that groups related content with consistent spacing and styling.
1054
+ * Cards can be used to visually distinguish content sections. Extends the [Box component.](https://wistia.github.io/vhs/storybook-ui/?path=/docs/components-box--docs)
1055
+ */
1056
+ declare const Card: {
1057
+ ({ children, border, borderRadius, colorScheme, direction, gap, height, paddingSize, prominence, width, ...props }: CardProps): JSX.Element;
1058
+ displayName: string;
1059
+ };
1060
+
1061
+ type CenterProps = ComponentPropsWithoutRef<'div'> & {
1062
+ /**
1063
+ * A CSS max-width value
1064
+ */
1065
+ maxWidth?: string;
1066
+ /**
1067
+ * The space on either side of the content
1068
+ */
1069
+ gutterWidth?: Spacings;
1070
+ /**
1071
+ * Center child elements based on their content width
1072
+ */
1073
+ intrinsic?: boolean;
1074
+ /**
1075
+ * The content to be centered
1076
+ */
1077
+ children: ReactNode;
1078
+ };
1079
+ /**
1080
+ * Center component provides various ways to center content horizontally within a container.
1081
+ * It supports max-width constraints, text alignment, gutters, and intrinsic content centering.
1082
+ */
1083
+ declare const Center: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1084
+ /**
1085
+ * A CSS max-width value
1086
+ */
1087
+ maxWidth?: string;
1088
+ /**
1089
+ * The space on either side of the content
1090
+ */
1091
+ gutterWidth?: Spacings;
1092
+ /**
1093
+ * Center child elements based on their content width
1094
+ */
1095
+ intrinsic?: boolean;
1096
+ /**
1097
+ * The content to be centered
1098
+ */
1099
+ children: ReactNode;
1100
+ } & react.RefAttributes<HTMLDivElement>>;
1101
+
1102
+ type CheckboxSizeType = 'lg' | 'md' | 'sm';
1103
+ declare const Checkbox: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "label" | "onChange" | "hideLabel"> & {
1104
+ /**
1105
+ * Indicates the state of the checkbox
1106
+ */
1107
+ checked?: boolean;
1108
+ /**
1109
+ * Disables checkbox
1110
+ */
1111
+ disabled?: boolean;
1112
+ /**
1113
+ * Optional ID attribute
1114
+ */
1115
+ id?: string | undefined;
1116
+ /**
1117
+ * The label for the checkbox
1118
+ */
1119
+ label: ReactNode;
1120
+ /**
1121
+ * The description for the checkbox
1122
+ */
1123
+ description?: ReactNode | undefined;
1124
+ /**
1125
+ * The name of the checkbox. Submitted with its owning form as part of a name/value pair.
1126
+ */
1127
+ name?: string | undefined;
1128
+ /**
1129
+ * Callback function invoked when the value changes
1130
+ */
1131
+ onChange?: (event: ChangeEvent) => unknown;
1132
+ /**
1133
+ * Indicates if the input is required
1134
+ */
1135
+ required?: boolean;
1136
+ /**
1137
+ * A predefined size for the checkbox
1138
+ */
1139
+ size?: CheckboxSizeType;
1140
+ /**
1141
+ * The value given as data when submitted with a `name`.
1142
+ */
1143
+ value?: string;
1144
+ /**
1145
+ * Whether to visually hide the label (it will still be available to screen readers)
1146
+ */
1147
+ hideLabel?: boolean;
1148
+ } & react.RefAttributes<HTMLInputElement>>;
1149
+
1150
+ type ClickRegionProps = {
1151
+ /**
1152
+ * The content that should be clickable.
1153
+ */
1154
+ children: JSX.Element;
1155
+ /**
1156
+ * The ref to the button or link that should be clicked when the ClickRegion is clicked.
1157
+ */
1158
+ targetRef: RefObject<HTMLAnchorElement | HTMLButtonElement | null>;
1159
+ };
1160
+ /**
1161
+ * This allows larger elements to be interactive links or buttons while maintaining acessibility.
1162
+ *
1163
+ * For buttons, when the element is clicked, it will proxy a click event to the targetRef, which should be inside the ClickRegion.
1164
+ *
1165
+ * For links, a pseudo-element of the link is created that is the size of the ClickRegion. **Note**: this will prevent text selection
1166
+ * inside the text region.
1167
+ *
1168
+ * In either case, a link or button must be present, but can be hidden by using `ScreenReaderOnly`.
1169
+ */
1170
+ declare const ClickRegion: {
1171
+ ({ children, targetRef }: ClickRegionProps): JSX.Element;
1172
+ displayName: string;
1173
+ };
1174
+
1175
+ type CollapsibleProps = {
1176
+ /**
1177
+ * `CollapsibleTrigger` and `CollapsibleContent` must be included somewhere inside these children.
1178
+ */
1179
+ children: ReactNode;
1180
+ /**
1181
+ * Whether the collapsible content is open or closed. If not provided, the collapsible will be uncontrolled.
1182
+ */
1183
+ isOpen?: boolean;
1184
+ /**
1185
+ * Callback for when the trigger is toggled. If not provided, the collapsible will be uncontrolled.
1186
+ */
1187
+ onOpenChange?: (isOpen: boolean) => void;
1188
+ };
1189
+ /**
1190
+ * Toggle the visibility of content with a trigger.
1191
+ */
1192
+ declare const Collapsible: {
1193
+ ({ children, isOpen, onOpenChange, }: CollapsibleProps): JSX.Element;
1194
+ displayName: string;
1195
+ };
1196
+
1197
+ type CollapsibleTriggerProps = {
1198
+ /**
1199
+ * A trigger element that will toggle the collapsible content.
1200
+ * Usually a [Button](?path=/docs/components-button--docs).
1201
+ */
1202
+ children: ReactNode;
1203
+ };
1204
+ declare const CollapsibleTrigger: ({ children }: CollapsibleTriggerProps) => react_jsx_runtime.JSX.Element;
1205
+
1206
+ declare const iconMap: {
1207
+ 'ab-test': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1208
+ accessibility: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1209
+ activity: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1210
+ 'add-folder': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1211
+ 'add-layout': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1212
+ 'add-media': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1213
+ 'annotation-link': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1214
+ appearance: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1215
+ archive: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1216
+ 'arrow-down': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1217
+ 'arrow-left': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1218
+ 'arrow-right': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1219
+ 'arrow-up': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1220
+ 'arrow-up-right': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1221
+ asterisk: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1222
+ 'audio-description': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1223
+ 'auto-scroll': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1224
+ background: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1225
+ bank: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1226
+ bell: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1227
+ bolt: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1228
+ 'bullet-list': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1229
+ calendar: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1230
+ 'call-to-action': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1231
+ camera: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1232
+ 'camera-off': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1233
+ 'caret-down': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1234
+ 'caret-down-strong': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1235
+ 'caret-left': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1236
+ 'caret-left-strong': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1237
+ 'caret-right': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1238
+ 'caret-right-strong': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1239
+ 'caret-up': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1240
+ 'caret-up-strong': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1241
+ channel: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1242
+ chapters: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1243
+ checkmark: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1244
+ 'checkmark-circle': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1245
+ 'checkmark-circle-outline': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1246
+ 'checkmark-three-quaters-circle': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1247
+ 'circle-slashed': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1248
+ clapboard: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1249
+ clips: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1250
+ close: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1251
+ 'close-octagon': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1252
+ 'closed-captions': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1253
+ cmd: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1254
+ collapse: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1255
+ 'collapse-diagonal': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1256
+ collection: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1257
+ comments: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1258
+ company: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1259
+ compare: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1260
+ 'connection-okay': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1261
+ 'connection-poor': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1262
+ 'connection-strong': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1263
+ 'content-library': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1264
+ controls: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1265
+ 'credit-card': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1266
+ 'cursor-click': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1267
+ delete: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1268
+ desktop: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1269
+ 'docs-dev': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1270
+ 'dots-horizontal': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1271
+ download: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1272
+ 'edit-transcript': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1273
+ 'ellipses-vertical': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1274
+ embed: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1275
+ envelope: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1276
+ 'envelope-open': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1277
+ error: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1278
+ expand: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1279
+ 'expand-diagonal': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1280
+ 'expand-horizontal': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1281
+ 'fast-forward': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1282
+ favorite: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1283
+ 'favorite-outline': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1284
+ featured: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1285
+ 'file-tree': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1286
+ fill: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1287
+ 'film-strip': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1288
+ filter: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1289
+ fit: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1290
+ fonts: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1291
+ footer: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1292
+ 'full-screen': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1293
+ gear: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1294
+ 'getting-started': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1295
+ grid: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1296
+ 'grip-dots-vertical': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1297
+ header: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1298
+ 'help-center': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1299
+ hide: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1300
+ home: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1301
+ hourglass: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1302
+ import: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1303
+ info: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1304
+ integrations: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1305
+ keyboard: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1306
+ layout: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1307
+ leave: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1308
+ 'light-bulb': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1309
+ link: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1310
+ list: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1311
+ live: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1312
+ localization: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1313
+ lock: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1314
+ logout: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1315
+ maximize: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1316
+ media: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1317
+ megaphone: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1318
+ menu: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1319
+ mic: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1320
+ 'mic-off': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1321
+ minimize: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1322
+ minus: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1323
+ 'minus-circle': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1324
+ mobile: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1325
+ 'more-options': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1326
+ 'move-left': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1327
+ 'move-right': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1328
+ music: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1329
+ 'on-air': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1330
+ 'open-new': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1331
+ overview: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1332
+ page: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1333
+ 'panel-left': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1334
+ 'panel-right': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1335
+ 'panel-up': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1336
+ 'paper-clip': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1337
+ password: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1338
+ pause: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1339
+ pencil: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1340
+ 'pencil-sparkle': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1341
+ people: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1342
+ pin: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1343
+ 'pin-slash': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1344
+ pip: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1345
+ play: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1346
+ player: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1347
+ playlist: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1348
+ plus: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1349
+ podcast: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1350
+ preview: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1351
+ 'private-chat': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1352
+ 'private-user-sessions': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1353
+ project: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1354
+ 'project-open': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1355
+ properties: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1356
+ 'question-chat': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1357
+ 'question-mark': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1358
+ react: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1359
+ record: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1360
+ 'record-group': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1361
+ redo: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1362
+ refresh: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1363
+ remix: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1364
+ replace: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1365
+ reply: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1366
+ 'request-video': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1367
+ 'revert-to-original': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1368
+ rewind: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1369
+ save: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1370
+ 'save-as-copy': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1371
+ scissors: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1372
+ 'screenshare-off': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1373
+ 'screenshare-on': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1374
+ search: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1375
+ send: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1376
+ shapes: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1377
+ share: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1378
+ 'sharing-permissions': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1379
+ simulcast: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1380
+ sort: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1381
+ sparkle: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1382
+ speed: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1383
+ spinner: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1384
+ stats: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1385
+ 'switch-accounts': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1386
+ tag: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1387
+ teleprompter: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1388
+ 'text-bold': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1389
+ 'text-italics': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1390
+ 'text-size': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1391
+ thumbnail: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1392
+ 'thumbs-down': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1393
+ 'thumbs-up': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1394
+ 'timeline-vertical': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1395
+ token: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1396
+ transcript: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1397
+ transitions: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1398
+ transparency: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1399
+ trends: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1400
+ 'trial-unlock-clock': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1401
+ trim: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1402
+ turnstile: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1403
+ undo: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1404
+ unlock: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1405
+ upload: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1406
+ 'users-permissions': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1407
+ 'view-stream': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1408
+ volume: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1409
+ 'volume-off': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1410
+ 'volume-up': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1411
+ 'volume-x': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1412
+ wand: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1413
+ waveform: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1414
+ webhook: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1415
+ write: (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1416
+ 'zoom-in': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1417
+ 'zoom-out': (props: react.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
1418
+ };
1419
+ type IconNameType = keyof typeof iconMap;
1420
+
1421
+ declare const iconSizeMap: {
1422
+ sm: string;
1423
+ md: string;
1424
+ lg: string;
1425
+ xl: string;
1426
+ xxl: string;
1427
+ };
1428
+ type IconProps = ComponentPropsWithoutRef<'svg'> & {
1429
+ /**
1430
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
1431
+ */
1432
+ colorScheme?: ColorSchemeTypes;
1433
+ /**
1434
+ * Determines if the icon should use inline styles when used with [Text]() and [Heading]() components
1435
+ */
1436
+ useInlineStyles?: boolean;
1437
+ /**
1438
+ * Is Icon on a filled background?
1439
+ */
1440
+ invertColor?: boolean;
1441
+ /**
1442
+ * The size of the icon to display
1443
+ *
1444
+ */
1445
+ size?: ResponsiveObject<keyof typeof iconSizeMap> | keyof typeof iconSizeMap;
1446
+ /**
1447
+ * @ignore
1448
+ */
1449
+ style?: Record<string, unknown>;
1450
+ /**
1451
+ * Determines which icon to display
1452
+ */
1453
+ type: IconNameType;
1454
+ };
1455
+ /**
1456
+ * A component that renders any of our available icons.
1457
+ *
1458
+ * For inline usage with text, wrap the Icon within a Text component
1459
+ * and set inline=true. The icon will automatically align with the text
1460
+ * using the typography-specific positioning.
1461
+ *
1462
+ * Note that icons should not be used directly for interactivity.
1463
+ * If you need an interactive element, use IconButton.
1464
+ */
1465
+ declare const Icon: {
1466
+ ({ useInlineStyles, invertColor, colorScheme, size, style, type, ...props }: IconProps): JSX.Element;
1467
+ displayName: string;
1468
+ };
1469
+
1470
+ type CollapsibleTriggerIconProps = Omit<IconProps, 'type'> & {
1471
+ type: Extract<IconProps['type'], 'caret-left-strong' | 'caret-left' | 'caret-right-strong' | 'caret-right' | 'plus'>;
1472
+ };
1473
+ declare const CollapsibleTriggerIcon: {
1474
+ ({ type, ...props }: CollapsibleTriggerIconProps): react_jsx_runtime.JSX.Element;
1475
+ displayName: string;
1476
+ };
1477
+
1478
+ type CollapsibleContentProps = {
1479
+ /**
1480
+ * The number of lines to clamp the content to when `Collapsible` is closed.
1481
+ */
1482
+ clamp?: number;
1483
+ /**
1484
+ * The content that will be hidden when `Collapsible` is closed.
1485
+ */
1486
+ children: CollapsibleContentProps$1['children'];
1487
+ };
1488
+ declare const CollapsibleContent: ({ clamp, children }: CollapsibleContentProps) => react_jsx_runtime.JSX.Element;
1489
+
1490
+ type ColorGridProps = PropsWithChildren & {
1491
+ label?: string;
1492
+ };
1493
+ declare const ColorGrid: {
1494
+ ({ children, label }: ColorGridProps): JSX.Element;
1495
+ displayName: string;
1496
+ };
1497
+
1498
+ type ColorPickerOption = {
1499
+ /**
1500
+ * The human-readable name of the color, if available.
1501
+ */
1502
+ name?: string | undefined;
1503
+ /**
1504
+ * The color value in hex format (e.g., "#54bbff").
1505
+ */
1506
+ value: string;
1507
+ };
1508
+
1509
+ type ColorGridOptionProps = ColorPickerOption;
1510
+ declare const ColorGridOption: {
1511
+ ({ value: rawValue, name }: ColorGridOptionProps): JSX.Element;
1512
+ displayName: string;
1513
+ };
1514
+
1515
+ type ColorListProps = PropsWithChildren;
1516
+ declare const ColorList: {
1517
+ ({ children }: ColorListProps): JSX.Element;
1518
+ displayName: string;
1519
+ };
1520
+
1521
+ type ColorListGroupProps = PropsWithChildren<{
1522
+ label: string;
1523
+ }>;
1524
+ declare const ColorListGroup: {
1525
+ ({ label, children }: ColorListGroupProps): JSX.Element;
1526
+ displayName: string;
1527
+ };
1528
+
1529
+ type ColorListOptionProps = ColorPickerOption;
1530
+ declare const ColorListOption: {
1531
+ ({ value: rawValue, name }: ColorListOptionProps): JSX.Element;
1532
+ displayName: string;
1533
+ };
1534
+
1535
+ type ColorPickerProps = PropsWithChildren<{
1536
+ /**
1537
+ * The color to compare against when checking contrast ratio.
1538
+ */
1539
+ colorForComparison?: string;
1540
+ /**
1541
+ * The minimum contrast ratio to enforce when `shouldEnforceMinContrast` is true.
1542
+ */
1543
+ minimumContrastRatio?: number;
1544
+ /**
1545
+ * The opacity to apply to the value color when calculating contrast.
1546
+ */
1547
+ opacityForContrastCalculation?: number;
1548
+ /**
1549
+ * Callback function invoked when the color value changes.
1550
+ */
1551
+ onValueChange: (value: string) => void;
1552
+ /**
1553
+ * The current color value in hex format (e.g., "#ff0000").
1554
+ */
1555
+ value: string;
1556
+ }>;
1557
+ /**
1558
+ * ColorPicker is a composable component that allows you to create a color
1559
+ * picker with various controls and options. Choose the parts you need, leave
1560
+ * out the ones you don't, and include any custom UI you need alongside its
1561
+ * subcomponents.
1562
+ */
1563
+ declare const ColorPicker: {
1564
+ ({ children, colorForComparison, minimumContrastRatio, opacityForContrastCalculation, onValueChange, value, }: ColorPickerProps): JSX.Element;
1565
+ displayName: string;
1566
+ };
1567
+
1568
+ type ColorPickerPopoverContentProps = PropsWithChildren;
1569
+ declare const ColorPickerPopoverContent: {
1570
+ ({ children, }: ColorPickerPopoverContentProps): JSX.Element;
1571
+ displayName: string;
1572
+ };
1573
+
1574
+ type ColorPickerSectionProps = PropsWithChildren;
1575
+ declare const ColorPickerSection: {
1576
+ ({ children }: ColorPickerSectionProps): JSX.Element;
1577
+ displayName: string;
1578
+ };
1579
+
1580
+ type ColorPickerTriggerProps = PropsWithChildren;
1581
+ declare const ColorPickerTrigger: react.ForwardRefExoticComponent<{
1582
+ children?: react.ReactNode | undefined;
1583
+ } & react.RefAttributes<HTMLButtonElement>>;
1584
+
1585
+ declare const ContrastControls: {
1586
+ (): JSX.Element;
1587
+ displayName: string;
1588
+ };
1589
+
1590
+ type HexColorInputProps = {
1591
+ /**
1592
+ * Whether the input should recieve focus automatically on mount.
1593
+ */
1594
+ autoFocus?: boolean;
1595
+ };
1596
+ declare const HexColorInput: {
1597
+ ({ autoFocus }: HexColorInputProps): JSX.Element;
1598
+ displayName: string;
1599
+ };
1600
+
1601
+ declare const HueSlider: {
1602
+ (): JSX.Element;
1603
+ displayName: string;
1604
+ };
1605
+
1606
+ type SaturationAndValuePickerProps = {
1607
+ dataTestId?: string;
1608
+ };
1609
+ declare const SaturationAndValuePicker: {
1610
+ ({ dataTestId, }: SaturationAndValuePickerProps): JSX.Element;
1611
+ displayName: string;
1612
+ };
1613
+
1614
+ declare const ValueNameOrHexCode: {
1615
+ (): JSX.Element;
1616
+ displayName: string;
1617
+ };
1618
+
1619
+ type ColorSwatchProps = PropsWithChildren<{
1620
+ derivativeIsSelected?: boolean;
1621
+ diameterPx?: number;
1622
+ isSelected?: boolean;
1623
+ value: string;
1624
+ }>;
1625
+
1626
+ type ValueSwatchProps = Pick<ColorSwatchProps, 'diameterPx'>;
1627
+ declare const ValueSwatch: {
1628
+ ({ diameterPx, }: ValueSwatchProps): JSX.Element;
1629
+ displayName: string;
1630
+ };
1631
+
1632
+ declare const calculateContrast: ({ backgroundColor, foregroundColor, backgroundOpacity, }: {
1633
+ backgroundColor: Color | string;
1634
+ foregroundColor?: Color | string;
1635
+ backgroundOpacity?: number;
1636
+ }) => number;
1637
+
1638
+ type ComboboxOptionProps = {
1639
+ value: string;
1640
+ children: ReactNode;
1641
+ };
1642
+ declare const ComboboxOption: ({ value, children }: ComboboxOptionProps) => react_jsx_runtime.JSX.Element;
1643
+ type ComboboxProps = {
1644
+ /**
1645
+ * If true, the popover will flip to stay within the viewport
1646
+ */
1647
+ flipPopover?: Ariakit.ComboboxPopoverProps['flip'];
1648
+ /**
1649
+ * If true, the combox will fill the width of its parent
1650
+ */
1651
+ fullWidth?: boolean;
1652
+ /**
1653
+ * The options to display in the combobox
1654
+ */
1655
+ children: ReactNode;
1656
+ /**
1657
+ * Function to render the selected values. Receives the selected values and a function to remove a value. This is only applicable for multi-select comboboxes.
1658
+ */
1659
+ displayValues?: (values: string[] | string, onRemove: (value: string) => void) => ReactNode;
1660
+ /**
1661
+ * The placeholder text for the combobox input
1662
+ */
1663
+ placeholder?: string;
1664
+ /**
1665
+ * The function to call when the search value changes.
1666
+ */
1667
+ onSearchValueChange: (value: string) => void;
1668
+ /**
1669
+ * The search value of the combobox input
1670
+ */
1671
+ searchValue: string;
1672
+ /**
1673
+ * Callback that fires when a value is selected
1674
+ */
1675
+ onChange: (value: string[] | string) => void;
1676
+ /**
1677
+ * The selected values of the combobox
1678
+ */
1679
+ value: string[] | string;
1680
+ };
1681
+ declare const Combobox: ({ placeholder, value, onChange, searchValue, onSearchValueChange, displayValues, children, flipPopover, fullWidth, }: ComboboxProps) => react_jsx_runtime.JSX.Element;
1682
+
1683
+ type ContextMenuProps = {
1684
+ children: ReactNode;
1685
+ onRequestClose?: () => void;
1686
+ /**
1687
+ * If the menu is compact
1688
+ */
1689
+ compact?: boolean;
1690
+ } & ({
1691
+ position: {
1692
+ x: number;
1693
+ y: number;
1694
+ };
1695
+ side?: 'bottom' | 'top';
1696
+ triggerRef?: never;
1697
+ } | {
1698
+ position?: never;
1699
+ side?: never;
1700
+ triggerRef: RefObject<HTMLElement | null>;
1701
+ });
1702
+ /**
1703
+ * The ContextMenu is an extended implementation of the [Menu]() component that allows for right-click context menus.
1704
+ * It can be used in two ways:
1705
+ * 1. By providing a `triggerRef`, which will render the menu when the referenced element is right-clicked.
1706
+ * 2. By providing a `position` prop, which will render the menu at the specified coordinates.
1707
+ */
1708
+ declare const ContextMenu: ({ position, triggerRef, children, side, onRequestClose, compact, }: ContextMenuProps) => react_jsx_runtime.JSX.Element | null;
1709
+
1710
+ type DataCardProps = ComponentPropsWithoutRef<'div'> & Partial<Pick<ButtonAsLinkProps, 'beforeAction' | 'disabled' | 'href' | 'onClick' | 'type'>> & {
1711
+ /**
1712
+ * Label text displayed above the value
1713
+ */
1714
+ label: ReactNode;
1715
+ /**
1716
+ * Main value to display in the card
1717
+ */
1718
+ value: ReactNode;
1719
+ /**
1720
+ * Optional content to display in the top-right corner
1721
+ */
1722
+ upperRightSlot?: ReactNode;
1723
+ /**
1724
+ * Sets the color scheme of the card
1725
+ */
1726
+ colorScheme?: ColorSchemeTypes;
1727
+ /**
1728
+ * Controls the loading state of the card
1729
+ */
1730
+ isLoading?: boolean;
1731
+ /**
1732
+ * Forces a full page reload when navigating, bypassing client-side routing
1733
+ */
1734
+ reloadDocument?: boolean;
1735
+ /**
1736
+ * Optional trend arrow to display below the value. Use the `DataCardTrend` component to create this.
1737
+ */
1738
+ trend?: ReactNode;
1739
+ /**
1740
+ * Optional subtitle text to display below the value
1741
+ */
1742
+ subtitle?: ReactNode;
1743
+ };
1744
+ declare const DataCard: {
1745
+ (props: DataCardProps): react_jsx_runtime.JSX.Element;
1746
+ displayName: string;
1747
+ };
1748
+
1749
+ type DataCardsProps = ComponentPropsWithoutRef<'div'> & {
1750
+ /**
1751
+ * Should be at least one `DataCard` component
1752
+ */
1753
+ children: ReactNode;
1754
+ /**
1755
+ * String to pass to the `max-width` property of its children. [View the syntax on MDN →](https://developer.mozilla.org/en-US/docs/Web/CSS/max-width#syntax)
1756
+ */
1757
+ cardMaxWidth?: ResponsiveObject<string> | string;
1758
+ /**
1759
+ * Sets the color scheme of the cards, can be overriden at the card level
1760
+ */
1761
+ colorScheme?: ColorSchemeTypes;
1762
+ /**
1763
+ * Desired number of columns to display.
1764
+ */
1765
+ columns?: ResponsiveObject<number | 'auto'> | number | 'auto';
1766
+ };
1767
+ /**
1768
+ * Displays a series of cards tailor made for displaying analytics data
1769
+ */
1770
+ declare const DataCards: {
1771
+ ({ children, cardMaxWidth, colorScheme, columns, ...props }: DataCardsProps): JSX.Element;
1772
+ displayName: string;
1773
+ };
1774
+
1775
+ type DataCardTrendProps = {
1776
+ /**
1777
+ * Direction of the trend arrow
1778
+ */
1779
+ direction?: 'down' | 'up';
1780
+ /**
1781
+ * Outlook of the trend arrow
1782
+ */
1783
+ outlook?: 'negative' | 'positive';
1784
+ /**
1785
+ * Content to display next to the trend arrow
1786
+ */
1787
+ children: JSX.Element | string;
1788
+ };
1789
+ declare const DataCardTrend: ({ direction, outlook, children, ...props }: DataCardTrendProps) => JSX.Element;
1790
+
1791
+ declare const DataCardHoverArrow: {
1792
+ (): react_jsx_runtime.JSX.Element;
1793
+ displayName: string;
1794
+ };
1795
+
1796
+ type DataListProps = ComponentPropsWithoutRef<'dl'> & {
1797
+ /**
1798
+ * Should only contain `DataListItem` components.
1799
+ */
1800
+ children: ReactNode;
1801
+ /**
1802
+ * Maximum width for the label.
1803
+ */
1804
+ labelMaxWith?: string;
1805
+ /**
1806
+ * Prominence of the label text. Default is `primary`.
1807
+ */
1808
+ labelProminence?: 'primary' | 'secondary';
1809
+ /**
1810
+ * Alignment of the value text. Default is `start`.
1811
+ */
1812
+ valueAlignment?: 'end' | 'start';
1813
+ };
1814
+ /**
1815
+ * The DataList component is used to display a list of items with labels and values.
1816
+ */
1817
+ declare const DataList: {
1818
+ ({ children, valueAlignment, labelMaxWith, labelProminence, ...props }: DataListProps): JSX.Element;
1819
+ displayName: string;
1820
+ };
1821
+
1822
+ type DataListItemProps = Omit<ComponentPropsWithoutRef<'dl'>, 'children'> & {
1823
+ /**
1824
+ * Should only contain `DataListItemLabel` and `DataListItemValue` components.
1825
+ */
1826
+ children: ReactNode;
1827
+ };
1828
+ /**
1829
+ * An item within a `DataList`. It should only contain `DataListItemLabel` and `DataListItemValue` components.
1830
+ */
1831
+ declare const DataListItem: {
1832
+ ({ children }: DataListItemProps): ReactNode;
1833
+ displayName: string;
1834
+ };
1835
+
1836
+ type AlignmentTypes$1 = 'center' | 'justify' | 'left' | 'right';
1837
+ declare const variantStyleMap$1: {
1838
+ body1: styled_components.RuleSet<object>;
1839
+ body2: styled_components.RuleSet<object>;
1840
+ body3: styled_components.RuleSet<object>;
1841
+ body4: styled_components.RuleSet<object>;
1842
+ body1Mono: styled_components.RuleSet<object>;
1843
+ body2Mono: styled_components.RuleSet<object>;
1844
+ body3Mono: styled_components.RuleSet<object>;
1845
+ body4Mono: styled_components.RuleSet<object>;
1846
+ label1: styled_components.RuleSet<object>;
1847
+ label2: styled_components.RuleSet<object>;
1848
+ label3: styled_components.RuleSet<object>;
1849
+ label4: styled_components.RuleSet<object>;
1850
+ };
1851
+ type TextProps = ComponentPropsWithoutRef<'div'> & {
1852
+ /**
1853
+ * The horizontal alignment
1854
+ * <br />
1855
+ * _Note: this only affects block elements_
1856
+ */
1857
+ align?: AlignmentTypes$1;
1858
+ /**
1859
+ * The text content
1860
+ */
1861
+ children?: ReactNode | undefined;
1862
+ /**
1863
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
1864
+ */
1865
+ colorScheme?: ColorSchemeTypes;
1866
+ /**
1867
+ * Allows user to override default button colors
1868
+ */
1869
+ disabled?: boolean;
1870
+ /**
1871
+ * Display the text as inline content
1872
+ */
1873
+ inline?: boolean;
1874
+ /**
1875
+ * Maximum number of characters to display before truncating. Must be >= 1.
1876
+ * When truncated, an ellipsis (...) will be added to the end.
1877
+ */
1878
+ maxChars?: number;
1879
+ /**
1880
+ * Prevents text from being highlighted and copied
1881
+ */
1882
+ preventUserSelect?: boolean;
1883
+ /**
1884
+ * Text prominence affects color. Use 'primary' for main non-interactive text, 'secondary' for supporting text, and 'button' in specific cases where text is used in an interactive component.
1885
+ */
1886
+ prominence?: 'button' | 'primary' | 'secondary';
1887
+ /**
1888
+ * This will inherit the jsdoc block from PolymorphicComponent
1889
+ */
1890
+ renderAs?: ElementType;
1891
+ /**
1892
+ * Number of lines to display before truncating with an ellipsis.
1893
+ * Set to 1 to truncate after a single line, 2 for two lines, etc.
1894
+ * <br />
1895
+ * _Note: this only affects block elements_
1896
+ */
1897
+ maxLines?: number;
1898
+ /**
1899
+ * The text style to display
1900
+ */
1901
+ variant?: keyof typeof variantStyleMap$1 | undefined;
1902
+ };
1903
+ /**
1904
+ * Used for rending paragraphs and inline text.
1905
+ */
1906
+ declare const Text: (<C extends ElementType = "p">(props: PolymorphicComponentProps<C, TextProps>) => react.ReactElement | null) & UnknownRecord;
1907
+
1908
+ /**
1909
+ * The label of the `DataListItem`. Extends the [Text]() component.
1910
+ */
1911
+ declare const DataListItemLabel: {
1912
+ (props: TextProps): JSX.Element;
1913
+ displayName: string;
1914
+ };
1915
+
1916
+ /**
1917
+ * The value of the `DataListItem`. Extends the [Text]() component.
1918
+ */
1919
+ declare const DataListItemValue: {
1920
+ (props: TextProps): JSX.Element;
1921
+ displayName: string;
1922
+ };
1923
+
1924
+ type DividerProps = ComponentPropsWithoutRef<'div'> & {
1925
+ /**
1926
+ * Orientation of the divider.
1927
+ */
1928
+ orientation?: ResponsiveObject<'horizontal' | 'vertical'> | 'horizontal' | 'vertical';
1929
+ /**
1930
+ * The amount of space to inset the divider.
1931
+ */
1932
+ inset?: ResponsiveObject<Spacings> | Spacings;
1933
+ };
1934
+ /**
1935
+ * A line used to visually separate content; note that dividers have no external margin/spacing on their own.
1936
+ */
1937
+ declare const Divider: {
1938
+ ({ orientation, inset, ...props }: DividerProps): JSX.Element;
1939
+ displayName: string;
1940
+ };
1941
+
1942
+ type AlignmentTypes = 'center' | 'justify' | 'left' | 'right';
1943
+ declare const variantStyleMap: {
1944
+ hero: styled_components.RuleSet<object>;
1945
+ heading1: styled_components.RuleSet<object>;
1946
+ heading2: styled_components.RuleSet<object>;
1947
+ heading3: styled_components.RuleSet<object>;
1948
+ heading4: styled_components.RuleSet<object>;
1949
+ heading5: styled_components.RuleSet<object>;
1950
+ heading6: styled_components.RuleSet<object>;
1951
+ };
1952
+ declare const DEFAULT_ELEMENT = "h1";
1953
+ type HeadingProps = ComponentPropsWithoutRef<typeof DEFAULT_ELEMENT> & {
1954
+ /**
1955
+ * The horizontal alignment
1956
+ * <br />
1957
+ * _Note: this only affects block elements_
1958
+ */
1959
+ align?: AlignmentTypes;
1960
+ /**
1961
+ * The content of the heading
1962
+ */
1963
+ children: ReactNode;
1964
+ /**
1965
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
1966
+ */
1967
+ colorScheme?: ColorSchemeTypes;
1968
+ /**
1969
+ * Styles to text as disabled
1970
+ */
1971
+ disabled?: boolean;
1972
+ /**
1973
+ * Display the text as inline content
1974
+ */
1975
+ inline?: boolean;
1976
+ /**
1977
+ * Maximum number of characters to display before truncating. Must be >= 1.
1978
+ * When truncated, an ellipsis (...) will be added to the end.
1979
+ */
1980
+ maxChars?: number;
1981
+ /**
1982
+ * Text prominence affects color. Use 'primary' for main non-interactive text, 'secondary' for supporting text, and 'button' in specific cases where text is used in an interactive component.
1983
+ */
1984
+ prominence?: 'button' | 'primary' | 'secondary';
1985
+ /**
1986
+ * Prevents text from being highlighted and copied
1987
+ */
1988
+ preventUserSelect?: boolean;
1989
+ renderAs?: ElementType;
1990
+ /**
1991
+ * Number of lines to display before truncating with an ellipsis.
1992
+ * Set to 1 to truncate after a single line, 2 for two lines, etc.
1993
+ * <br />
1994
+ * _Note: this only affects block elements_
1995
+ */
1996
+ maxLines?: number;
1997
+ /**
1998
+ * The text style to display. This will also affect what element (h1, h2, etc) is rendered, unless the `renderAs` prop is used
1999
+ */
2000
+ variant?: keyof typeof variantStyleMap;
2001
+ };
2002
+ /**
2003
+ * Displaying heading text, both visually and semantically
2004
+ */
2005
+ declare const Heading: (<C extends ElementType = "h1">(props: PolymorphicComponentProps<C, HeadingProps>) => react.ReactElement | null) & UnknownRecord;
2006
+
2007
+ type EditableHeadingProps = {
2008
+ /**
2009
+ * The initial text content of the heading.
2010
+ * This will be displayed and used as the starting value when editing begins.
2011
+ */
2012
+ children: string;
2013
+ /**
2014
+ * Callback fired when editing is completed (on blur or Enter key). Does not fire if the value is empty or the same as the previous value.
2015
+ * @param value The new text content after editing
2016
+ */
2017
+ onValueChange?: (value: string) => void;
2018
+ /**
2019
+ * Callback fired when the editing state changes.
2020
+ * @param isEditing True when entering edit mode, false when exiting
2021
+ */
2022
+ onEditingChange?: (isEditing: boolean) => void;
2023
+ /**
2024
+ * Custom tooltip text shown when hovering over the heading.
2025
+ */
2026
+ tooltipText?: string;
2027
+ /**
2028
+ * Sets an aria-label for the input and label for the screen reader only button.
2029
+ */
2030
+ ariaLabel?: string;
2031
+ /**
2032
+ * The text style to display. This will also affect what element (h1, h2, etc) is rendered, unless the `renderAs` prop is used
2033
+ */
2034
+ variant?: HeadingProps['variant'];
2035
+ /**
2036
+ * Force editing state for testing purposes
2037
+ * @ignore
2038
+ */
2039
+ __forceEditing?: boolean;
2040
+ /**
2041
+ * When true, prevents the heading from entering edit mode
2042
+ * @default false
2043
+ */
2044
+ editingDisabled?: boolean;
2045
+ };
2046
+ /**
2047
+ * A special heading component that allows for inline editing. When clicked or activated via keyboard,
2048
+ * it transforms into an editable text field. In its default state, it renders as a heading with
2049
+ * an accessible button that enables editing mode. The component handles empty values, keyboard
2050
+ * navigation (Enter to save, Escape to cancel), and provides callbacks for value and state changes.
2051
+ */
2052
+ declare const EditableHeading: ({ children, onValueChange, onEditingChange, tooltipText, ariaLabel, variant, __forceEditing, editingDisabled, }: EditableHeadingProps) => JSX.Element;
2053
+
2054
+ declare const typographicVariantStyleMap: {
2055
+ hero: styled_components.RuleSet<object>;
2056
+ heading1: styled_components.RuleSet<object>;
2057
+ heading2: styled_components.RuleSet<object>;
2058
+ heading3: styled_components.RuleSet<object>;
2059
+ heading4: styled_components.RuleSet<object>;
2060
+ heading5: styled_components.RuleSet<object>;
2061
+ heading6: styled_components.RuleSet<object>;
2062
+ body1: styled_components.RuleSet<object>;
2063
+ body2: styled_components.RuleSet<object>;
2064
+ body3: styled_components.RuleSet<object>;
2065
+ body4: styled_components.RuleSet<object>;
2066
+ body1Mono: styled_components.RuleSet<object>;
2067
+ body2Mono: styled_components.RuleSet<object>;
2068
+ body3Mono: styled_components.RuleSet<object>;
2069
+ body4Mono: styled_components.RuleSet<object>;
2070
+ label1: styled_components.RuleSet<object>;
2071
+ label2: styled_components.RuleSet<object>;
2072
+ label3: styled_components.RuleSet<object>;
2073
+ label4: styled_components.RuleSet<object>;
2074
+ };
2075
+ type TypographicVariant = keyof typeof typographicVariantStyleMap;
2076
+
2077
+ type EditableTextRootProps = Omit<ComponentPropsWithoutRef<'div'>, 'defaultValue'> & {
2078
+ /**
2079
+ * The children of the editable text root.
2080
+ */
2081
+ children: ReactNode;
2082
+ /**
2083
+ * The initial value for the editable text
2084
+ */
2085
+ defaultValue?: string;
2086
+ /**
2087
+ * The current value for the editable text
2088
+ */
2089
+ value?: string;
2090
+ /**
2091
+ * Callback fired when the value changes
2092
+ */
2093
+ onValueChange?: (value: string) => void;
2094
+ /**
2095
+ * Callback fired when editing is committed (e.g., save button clicked, Enter pressed)
2096
+ */
2097
+ onValueCommit?: (value: string) => void;
2098
+ /**
2099
+ * Callback fired when editing is cancelled (e.g., cancel button clicked, Escape pressed)
2100
+ */
2101
+ onValueRevert?: (originalValue: string) => void;
2102
+ /**
2103
+ * Callback fired when the editing state changes (editing starts or stops)
2104
+ */
2105
+ onEditingChange?: (isEditing: boolean) => void;
2106
+ /**
2107
+ * The typographic variant to use for the display component
2108
+ */
2109
+ typographicVariant?: TypographicVariant;
2110
+ /**
2111
+ * The action(s) that trigger submit or dismiss in edit mode:
2112
+ * - "enter": Trigger submit when the enter key is pressed, or dismiss when the esc key is pressed
2113
+ * - "blur": Trigger submit when the editable is blurred, or dismiss when the esc key is pressed
2114
+ * - "none": No action will trigger submit or dismiss. You need to use the submit or dismiss buttons
2115
+ * - "both": Pressing Enter and blurring the input will trigger submit, or dismiss when the esc key is pressed
2116
+ */
2117
+ submitMode?: 'blur' | 'both' | 'enter' | 'none';
2118
+ /**
2119
+ * Whether the editable text is read only. If true, the editable text will not be editable and the trigger will not be shown.
2120
+ */
2121
+ readOnly?: boolean;
2122
+ /**
2123
+ * The id of the editable text.
2124
+ */
2125
+ id?: string;
2126
+ /**
2127
+ * The label of the editable text.
2128
+ */
2129
+ label: string;
2130
+ /**
2131
+ * Placeholder text for the input field and display
2132
+ */
2133
+ placeholder?: string;
2134
+ /**
2135
+ * Minimum number of lines to display.
2136
+ */
2137
+ minLines?: number;
2138
+ /**
2139
+ * Maximum number of lines to display. If not set, there is no maximum.
2140
+ */
2141
+ maxLines?: number | undefined;
2142
+ /**
2143
+ * The element to receive focus when the editable is closed.
2144
+ */
2145
+ finalFocusEl?: () => HTMLElement | null;
2146
+ };
2147
+ type EditableTextContextValues = {
2148
+ isEditing: boolean;
2149
+ setIsEditing: (editing: boolean) => void;
2150
+ value: string;
2151
+ setValue: (value: string) => void;
2152
+ originalValue: string;
2153
+ onValueCommit: ((value: string) => void) | undefined;
2154
+ onValueRevert: ((originalValue: string) => void) | undefined;
2155
+ typographicVariant: TypographicVariant;
2156
+ submitMode: 'blur' | 'both' | 'enter' | 'none';
2157
+ readOnly: boolean;
2158
+ id: string;
2159
+ label: string;
2160
+ placeholder: string;
2161
+ minLines: number;
2162
+ maxLines: number | undefined;
2163
+ finalFocusEl: (() => HTMLElement | null) | undefined;
2164
+ };
2165
+ declare const EditableTextContext: react.Context<EditableTextContextValues | null>;
2166
+ declare const EditableTextRoot: ({ children, defaultValue, value: controlledValue, onValueChange, onValueCommit, onValueRevert, onEditingChange, typographicVariant, submitMode, readOnly, id, label, placeholder, minLines, maxLines, finalFocusEl, ...props }: EditableTextRootProps) => JSX.Element;
2167
+
2168
+ type EditableTextProps = Omit<EditableTextRootProps, 'children'> & {
2169
+ /**
2170
+ * Whether to visually hide the label.
2171
+ */
2172
+ hideLabel?: boolean;
2173
+ };
2174
+ /**
2175
+ * Used for inline editing of text.
2176
+ */
2177
+ declare const EditableText: {
2178
+ ({ hideLabel, ...props }: EditableTextProps): JSX.Element;
2179
+ displayName: string;
2180
+ };
2181
+
2182
+ type EditableTextDisplayProps = ComponentPropsWithoutRef<'div'> & {
2183
+ /**
2184
+ * When true, the user can click on the display to edit the text
2185
+ */
2186
+ asTrigger?: boolean;
2187
+ renderAs?: ElementType;
2188
+ };
2189
+ declare const EditableTextDisplay: (<C extends ElementType = "h1">(props: PolymorphicComponentProps<C, EditableTextDisplayProps>) => react.ReactElement | null) & UnknownRecord;
2190
+
2191
+ type LabelProps = ComponentPropsWithoutRef<'label'> & {
2192
+ /**
2193
+ * Pass an arbitrary child node
2194
+ */
2195
+ children?: ReactNode;
2196
+ /**
2197
+ * To indicate that the label is for a disabled form component
2198
+ */
2199
+ disabled?: boolean;
2200
+ /**
2201
+ * ID of the form component that the label should be associated with
2202
+ */
2203
+ htmlFor?: string | undefined;
2204
+ /**
2205
+ * Use if label describes a required form component
2206
+ */
2207
+ required?: boolean;
2208
+ /**
2209
+ * For label text that needs to be available to assistive technology (e.g. screen readers)
2210
+ * but otherwise hidden on screen.
2211
+ */
2212
+ screenReaderOnly?: boolean;
2213
+ };
2214
+ /**
2215
+ * Labels are used to give a title to a form component (eg. Input, Select, etc.)
2216
+ */
2217
+ declare const Label: {
2218
+ ({ children, disabled, htmlFor, required, screenReaderOnly, ...props }: LabelProps): JSX.Element;
2219
+ displayName: string;
2220
+ };
2221
+
2222
+ type EditableTextLabelProps = Omit<LabelProps, 'disabled' | 'htmlFor' | 'required'>;
2223
+ declare const EditableTextLabel: ({ ...props }: EditableTextLabelProps) => react_jsx_runtime.JSX.Element;
2224
+
2225
+ declare const EditableTextSubmitButton: ({ children, }: {
2226
+ children: ReactElement;
2227
+ }) => JSX.Element | null;
2228
+
2229
+ type EditableTextCancelButtonProps = {
2230
+ /**
2231
+ * A cancel button, typically a [Button]() that will revert the value when clicked.
2232
+ */
2233
+ children: ReactElement;
2234
+ };
2235
+ declare const EditableTextCancelButton: ({ children, }: EditableTextCancelButtonProps) => JSX.Element | null;
2236
+
2237
+ type EditableTextTriggerProps = {
2238
+ /**
2239
+ * A trigger element, typically a [Button]() that will enter editing mode when clicked.
2240
+ */
2241
+ children: ReactElement;
2242
+ };
2243
+ declare const EditableTextTrigger: ({ children, ...props }: EditableTextTriggerProps) => JSX.Element | null;
2244
+
2245
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
2246
+ /**
2247
+ * When enabled, focusing the input will select the entire text within
2248
+ */
2249
+ autoSelect?: boolean;
2250
+ /**
2251
+ * Sets the validity status of the input
2252
+ */
2253
+ 'aria-invalid'?: boolean;
2254
+ /**
2255
+ * Set the disabled state of the input
2256
+ */
2257
+ disabled?: boolean;
2258
+ /**
2259
+ * If true, the input will fill the height of its parent container
2260
+ * _note: only applicable when `type="multiline"`_
2261
+ */
2262
+ fullHeight?: boolean;
2263
+ /**
2264
+ * If true, the input will fill the width of its parent
2265
+ */
2266
+ fullWidth?: boolean;
2267
+ /**
2268
+ * If true, the input will use a monospace font
2269
+ */
2270
+ monospace?: boolean;
2271
+ /**
2272
+ * Icon to display on the left side of the input. Must be an instance of [Icon](?path=/docs/components-icon--docs)
2273
+ */
2274
+ leftIcon?: ReactNode | undefined;
2275
+ /**
2276
+ * Icon to display on the right side of the input. Must be an instance of [Icon](?path=/docs/components-icon--docs)
2277
+ */
2278
+ rightIcon?: ReactNode | undefined;
2279
+ /**
2280
+ * The type of the input
2281
+ */
2282
+ type?: 'email' | 'multiline' | 'number' | 'password' | 'phone' | 'search' | 'text' | 'url';
2283
+ };
2284
+ /**
2285
+ * Capture user input with a text field. Should be used within a [Form]() and [FormField]().
2286
+ */
2287
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLTextAreaElement | HTMLInputElement>, "type"> & {
2288
+ /**
2289
+ * When enabled, focusing the input will select the entire text within
2290
+ */
2291
+ autoSelect?: boolean;
2292
+ /**
2293
+ * Sets the validity status of the input
2294
+ */
2295
+ 'aria-invalid'?: boolean;
2296
+ /**
2297
+ * Set the disabled state of the input
2298
+ */
2299
+ disabled?: boolean;
2300
+ /**
2301
+ * If true, the input will fill the height of its parent container
2302
+ * _note: only applicable when `type="multiline"`_
2303
+ */
2304
+ fullHeight?: boolean;
2305
+ /**
2306
+ * If true, the input will fill the width of its parent
2307
+ */
2308
+ fullWidth?: boolean;
2309
+ /**
2310
+ * If true, the input will use a monospace font
2311
+ */
2312
+ monospace?: boolean;
2313
+ /**
2314
+ * Icon to display on the left side of the input. Must be an instance of [Icon](?path=/docs/components-icon--docs)
2315
+ */
2316
+ leftIcon?: ReactNode | undefined;
2317
+ /**
2318
+ * Icon to display on the right side of the input. Must be an instance of [Icon](?path=/docs/components-icon--docs)
2319
+ */
2320
+ rightIcon?: ReactNode | undefined;
2321
+ /**
2322
+ * The type of the input
2323
+ */
2324
+ type?: "email" | "multiline" | "number" | "password" | "phone" | "search" | "text" | "url";
2325
+ } & react.RefAttributes<HTMLTextAreaElement | HTMLInputElement>>;
2326
+
2327
+ type EditableTextInputProps = Pick<InputProps, 'autoSelect'>;
2328
+ declare const EditableTextInput: (props: EditableTextInputProps) => JSX.Element | null;
2329
+
2330
+ type EllipsisProps = ComponentPropsWithoutRef<'span'> & {
2331
+ /**
2332
+ * The text that will be truncated with an ellipsis
2333
+ */
2334
+ children?: ReactNode;
2335
+ /**
2336
+ * The number that will be truncated with an ellipsis
2337
+ */
2338
+ lines?: number | undefined;
2339
+ };
2340
+ /**
2341
+ * Truncate text with an ellispsis visble at the end
2342
+ */
2343
+ declare const Ellipsis: {
2344
+ ({ children, lines, ...props }: EllipsisProps): JSX.Element;
2345
+ displayName: string;
2346
+ };
2347
+
2348
+ type ActionCallback<T> = (data: T, nextData: T) => Promise<T> | T;
2349
+ type Action = (data: FormData | null) => Promise<void>;
2350
+ type FormActionState<T> = [{
2351
+ data: T;
2352
+ error: Error | null;
2353
+ }, Action, boolean];
2354
+ declare const useFormState: <T extends object>(action: ActionCallback<T>, initialData?: Partial<T>) => FormActionState<T>;
2355
+
2356
+ type ValidationCallback<T> = (data: T) => FormErrors<T>;
2357
+ type FormWithLabelledByProps = {
2358
+ 'aria-label'?: never;
2359
+ /**
2360
+ * The id of the element that labels the form. Typically a heading.
2361
+ */
2362
+ 'aria-labelledby': string;
2363
+ };
2364
+ type FormWithLabelProps = {
2365
+ /**
2366
+ * Accessible name of the form. Use this only when a visible label is not possible. If the form has a title or heading, use `aria-labelledby` instead.
2367
+ */
2368
+ 'aria-label': string;
2369
+ 'aria-labelledby'?: never;
2370
+ };
2371
+ type FormErrors<T> = Partial<{
2372
+ [K in keyof T]: string[] | string;
2373
+ }>;
2374
+ type FormProps<T> = Omit<ComponentPropsWithoutRef<'form'>, 'action' | 'aria-label' | 'aria-labelledby' | 'children'> & {
2375
+ /**
2376
+ * The action to be performed when the form is submitted. It can be asynchronous.
2377
+ */
2378
+ action?: Action;
2379
+ /**
2380
+ * Sets the default label position for all `FormFields` within the form. Will be ignored if labelPosition
2381
+ * is set on the `FormField` itself.
2382
+ */
2383
+ labelPosition?: 'block' | 'inline-compact' | 'inline';
2384
+ /**
2385
+ * The form elements used in the form
2386
+ */
2387
+ children: ReactNode;
2388
+ /**
2389
+ * An object that providesd errors for the form fields. This is created by `useFormState` and passed along to `FormField`s.
2390
+ */
2391
+ errors?: FormErrors<T>;
2392
+ /**
2393
+ * If true, fills the entire container
2394
+ */
2395
+ fullWidth?: boolean;
2396
+ /**
2397
+ * The function for handling validation.
2398
+ */
2399
+ validate?: ValidationCallback<T>;
2400
+ /**
2401
+ * An object that provides valuesfor the form fields. This is typically the `state.data` value from `useFormState` and passed along to `FormField`s.
2402
+ */
2403
+ values?: T;
2404
+ } & (FormWithLabelledByProps | FormWithLabelProps);
2405
+ /**
2406
+ * For creating forms. It provides a context for the form fields to access the form state and validation.
2407
+ * It also provides a way to handle form submission and validation. It is built around [React 19's form APIs](https://react.dev/reference/react-dom/components/form).
2408
+ */
2409
+ declare const Form: <T>(props: FormProps<T> & {
2410
+ ref?: Ref<HTMLFormElement>;
2411
+ }) => JSX.Element;
2412
+
2413
+ type FormErrorSummaryProps = {
2414
+ description: string;
2415
+ };
2416
+ declare const FormErrorSummary: ({ description }: FormErrorSummaryProps) => react_jsx_runtime.JSX.Element | null;
2417
+
2418
+ declare const validateWithYup: <T>(schema: Schema<T>) => (data: object) => {};
2419
+
2420
+ type FormFieldProps = ComponentPropsWithoutRef<'div'> & {
2421
+ /**
2422
+ * This should be a single child that is a valid form field (or can pretend to be one).
2423
+ */
2424
+ children: JSX.Element;
2425
+ /**
2426
+ * Additional descriptive text to display below the form field
2427
+ */
2428
+ description?: ReactNode;
2429
+ /**
2430
+ * Valid label text
2431
+ */
2432
+ label: ReactNode;
2433
+ /**
2434
+ * If an id isn't supplied, one is generated internally.
2435
+ */
2436
+ id?: string;
2437
+ /**
2438
+ * Will show an error message and put the child input into an invalid state
2439
+ */
2440
+ error?: ReactNode;
2441
+ /**
2442
+ * The name attribute of the field. It will map to the form data passed into `useFormState`.
2443
+ */
2444
+ name: string;
2445
+ /**
2446
+ * Use if label describes a required form component
2447
+ */
2448
+ required?: boolean;
2449
+ /**
2450
+ * A value that overrides the basic value. This should pair with `onChange`.
2451
+ */
2452
+ value?: string;
2453
+ /**
2454
+ * Setting to `inline` will have the label and input appear on the same line. Setting to `block` will have the label above the input.
2455
+ */
2456
+ labelPosition?: 'block' | 'inline-compact' | 'inline';
2457
+ };
2458
+ /**
2459
+ * FormField is a compound component that combines a label, form control, and optional description and error message.
2460
+ */
2461
+ declare const FormField: {
2462
+ ({ children, description, error, id, label, labelPosition, name, required, value, ...props }: FormFieldProps): JSX.Element;
2463
+ displayName: string;
2464
+ };
2465
+
2466
+ type FormGroupProps = Omit<ComponentPropsWithoutRef<'fieldset'>, 'onChange'> & {
2467
+ children: ReactNode;
2468
+ /**
2469
+ * The label for the form group
2470
+ */
2471
+ label?: ReactNode;
2472
+ /**
2473
+ * The description for the form group
2474
+ */
2475
+ description?: ReactNode;
2476
+ };
2477
+ /**
2478
+ * For grouping like form elements together.
2479
+ */
2480
+ declare const FormGroup: {
2481
+ ({ children, label, description, ...props }: FormGroupProps): JSX.Element;
2482
+ displayName: string;
2483
+ };
2484
+
2485
+ type RadioGroupProps = FormGroupProps & {
2486
+ onChange?: ((event: ChangeEvent<HTMLInputElement>) => void) | undefined;
2487
+ value?: string | undefined;
2488
+ name: string;
2489
+ };
2490
+ /**
2491
+ * For grouping like form elements together. Can serve as a checkbox
2492
+ */
2493
+ declare const RadioGroup: {
2494
+ ({ children, name, onChange, value, ...props }: RadioGroupProps): JSX.Element;
2495
+ displayName: string;
2496
+ };
2497
+
2498
+ type CheckboxGroupProps = FormGroupProps & {
2499
+ onChange?: ((event: ChangeEvent<HTMLInputElement>) => void) | undefined;
2500
+ value?: string[] | undefined;
2501
+ name: string;
2502
+ };
2503
+ /**
2504
+ * For grouping like form elements together. Can serve as a checkbox
2505
+ */
2506
+ declare const CheckboxGroup: {
2507
+ ({ children, name, onChange, value, ...props }: CheckboxGroupProps): JSX.Element;
2508
+ displayName: string;
2509
+ };
2510
+
2511
+ type Gap = {
2512
+ column: Spacings;
2513
+ row: Spacings;
2514
+ };
2515
+ type ResponsiveGap = ResponsiveObject<Gap | Spacings>;
2516
+ type GridProps = ComponentPropsWithoutRef<'div'> & {
2517
+ /**
2518
+ * The content to be displayed in the grid
2519
+ */
2520
+ children: ReactNode;
2521
+ /**
2522
+ * When minChildWidth is 'auto', this will be the number of columns, otherwise it will be the maximum number of columns.
2523
+ */
2524
+ columns?: ResponsiveObject<number | 'auto'> | number | 'auto';
2525
+ /**
2526
+ * Sets the minimum width for each grid item.
2527
+ */
2528
+ minChildWidth?: ResponsiveObject<number | 'auto'> | number | 'auto';
2529
+ /**
2530
+ * Controls the spacing between grid items.
2531
+ */
2532
+ gap?: Gap | ResponsiveGap | Spacings;
2533
+ /**
2534
+ * Controls whether grid items expand to fill available space when there are fewer items than columns.
2535
+ * When true, items grow to fill space. When false, the grid will auto fill the additional space with empty tracks.
2536
+ */
2537
+ expandItems?: boolean;
2538
+ renderAs?: ElementType;
2539
+ };
2540
+ declare const Grid: (<C extends ElementType = "div">(props: PolymorphicComponentProps<C, GridProps>) => react.ReactElement | null) & UnknownRecord;
2541
+
2542
+ type IconButtonProps = {
2543
+ /**
2544
+ * Accessible text for screen readers.
2545
+ */
2546
+ label: string;
2547
+ /**
2548
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
2549
+ */
2550
+ children: JSX.Element;
2551
+ } & (Omit<ButtonAsButtonProps, 'fullWidth' | 'leftIcon' | 'rightIcon'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'leftIcon' | 'rightIcon'>);
2552
+ /**
2553
+ * IconButton behaves like a [Button](?path=/docs/components-button--docs),
2554
+ * but only accepts an [Icon](?path=/docs/components-icon--docs) as a child.
2555
+ */
2556
+ declare const IconButton: react.ForwardRefExoticComponent<(Omit<{
2557
+ /**
2558
+ * Accessible text for screen readers.
2559
+ */
2560
+ label: string;
2561
+ /**
2562
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
2563
+ */
2564
+ children: JSX.Element;
2565
+ } & Omit<ButtonAsButtonProps, "leftIcon" | "rightIcon" | "fullWidth">, "ref"> | Omit<{
2566
+ /**
2567
+ * Accessible text for screen readers.
2568
+ */
2569
+ label: string;
2570
+ /**
2571
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
2572
+ */
2573
+ children: JSX.Element;
2574
+ } & Omit<ButtonAsLinkProps, "leftIcon" | "rightIcon" | "fullWidth">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
2575
+
2576
+ type ImageProps = ComponentPropsWithoutRef<'img'> & {
2577
+ /**
2578
+ * Accessible text to apply to the image
2579
+ */
2580
+ alt: string;
2581
+ /**
2582
+ * Border radius to apply to the image
2583
+ */
2584
+ borderRadius?: BorderRadius;
2585
+ /**
2586
+ * Specifies whether the width and/or height should fill the container
2587
+ *
2588
+ * *Note: this will override height/width attributes*
2589
+ */
2590
+ fill?: boolean | 'horizontal' | 'vertical';
2591
+ /**
2592
+ * Specifies how the image's intrinsic size (ie. its natural size) should
2593
+ * be adjusted to fit within its container
2594
+ */
2595
+ fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
2596
+ /**
2597
+ * Indicates how the browser should load the image; `eager`loads the image immediately,
2598
+ * `lazy` defers loading the image until it reaches a calculated distance from the viewport.
2599
+ * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading
2600
+ */
2601
+ loading?: 'eager' | 'lazy';
2602
+ /**
2603
+ * Specifies how the image will align itself in its container
2604
+ */
2605
+ position?: string;
2606
+ /**
2607
+ * URL to image file
2608
+ */
2609
+ src: string;
2610
+ /**
2611
+ * A callback that is invoked after the image has loaded
2612
+ */
2613
+ onLoad?: (event?: SyntheticEvent<HTMLImageElement>) => void;
2614
+ /**
2615
+ * A callback that is invoked after the image has failed to load
2616
+ */
2617
+ onError?: (event?: SyntheticEvent<HTMLImageElement>) => void;
2618
+ };
2619
+ declare const Image: {
2620
+ ({ src, alt, borderRadius, fill: fillContainer, fit: objFit, loading, position: objPosition, onLoad, onError, ...props }: ImageProps): JSX.Element;
2621
+ displayName: string;
2622
+ };
2623
+
2624
+ type InputClickToCopyProps = Omit<InputProps, 'autoSelect' | 'disabled' | 'rightIcon' | 'type' | 'value'> & {
2625
+ /**
2626
+ * When disabled, the copy action will not be triggered
2627
+ */
2628
+ disabled?: boolean;
2629
+ /**
2630
+ * Callback function that is called when the value is copied to the clipboard
2631
+ */
2632
+ onCopy?: (value: string) => void;
2633
+ /**
2634
+ * the value of what is copied
2635
+ */
2636
+ value: string;
2637
+ };
2638
+ /**
2639
+ * Provides a readonly input that copies the text to the clipboard when clicked.
2640
+ */
2641
+ declare const InputClickToCopy: react.ForwardRefExoticComponent<Omit<InputProps, "disabled" | "value" | "type" | "rightIcon" | "autoSelect"> & {
2642
+ /**
2643
+ * When disabled, the copy action will not be triggered
2644
+ */
2645
+ disabled?: boolean;
2646
+ /**
2647
+ * Callback function that is called when the value is copied to the clipboard
2648
+ */
2649
+ onCopy?: (value: string) => void;
2650
+ /**
2651
+ * the value of what is copied
2652
+ */
2653
+ value: string;
2654
+ } & react.RefAttributes<HTMLInputElement>>;
2655
+
2656
+ type InputPasswordProps = Omit<InputProps, 'leftIcon' | 'monospace' | 'rightIcon' | 'type'> & {
2657
+ /**
2658
+ * Set the disabled state of the input
2659
+ */
2660
+ disabled?: boolean;
2661
+ /**
2662
+ * Callback function that is called when the visibility state changes
2663
+ */
2664
+ onVisibilityToggle?: (isVisible: boolean) => void;
2665
+ };
2666
+ /**
2667
+ * A password input component with a toggle button to show or hide the password text.
2668
+ */
2669
+ declare const InputPassword: react.ForwardRefExoticComponent<Omit<InputProps, "monospace" | "type" | "leftIcon" | "rightIcon"> & {
2670
+ /**
2671
+ * Set the disabled state of the input
2672
+ */
2673
+ disabled?: boolean;
2674
+ /**
2675
+ * Callback function that is called when the visibility state changes
2676
+ */
2677
+ onVisibilityToggle?: (isVisible: boolean) => void;
2678
+ } & react.RefAttributes<HTMLInputElement>>;
2679
+
2680
+ type AlphanumericKeyboardKeys = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
2681
+ type ModifierKeys = 'Alt' | 'Cmd' | 'Ctrl' | 'Meta' | 'Option' | 'Shift';
2682
+ type WhitespaceKeys = 'Enter' | 'Space' | 'Tab';
2683
+ type ArrowKeys = 'ArrowDown' | 'ArrowLeft' | 'ArrowRight' | 'ArrowUp';
2684
+ type KeyboardKeys = AlphanumericKeyboardKeys | ArrowKeys | ModifierKeys | WhitespaceKeys | '?' | 'Backspace' | 'Esc';
2685
+
2686
+ type KeyboardShortcutProps = ComponentPropsWithoutRef<'div'> & {
2687
+ /**
2688
+ * @description If set to true, the keyboard shortcut will stretch the full width of its container.
2689
+ */
2690
+ fullWidth?: boolean;
2691
+ /**
2692
+ * @description The keys displayed.
2693
+ */
2694
+ keyboardKeys: KeyboardKeys | KeyboardKeys[];
2695
+ /**
2696
+ * @description A visual label for the keyboard shortcut.
2697
+ */
2698
+ label?: string;
2699
+ };
2700
+ declare const KeyboardShortcut: {
2701
+ ({ label, keyboardKeys, fullWidth, ...otherProps }: KeyboardShortcutProps): JSX.Element;
2702
+ displayName: string;
2703
+ };
2704
+
2705
+ type VariantType = 'breadcrumbs' | 'bullets' | 'commas' | 'ordered' | 'slashes' | 'spaces' | 'unbulleted';
2706
+ type ItemType = ItemType[] | string[] | string;
2707
+ type ListProps = ComponentPropsWithoutRef<'ul'> & {
2708
+ /**
2709
+ * Children should be wrapped in `<ListItem>`
2710
+ */
2711
+ children?: ReactNode;
2712
+ /**
2713
+ * As an alternative to passing children you can supply an array of strings that
2714
+ * will be rendered as child `<ListItems>`s. Note that all items will be of the same variant.
2715
+ */
2716
+ items?: ItemType[];
2717
+ /**
2718
+ * The kind of list to render
2719
+ */
2720
+ variant?: VariantType;
2721
+ };
2722
+ declare const List: {
2723
+ ({ children, items, variant, ...otherProps }: ListProps): JSX.Element | null;
2724
+ displayName: string;
2725
+ };
2726
+
2727
+ type ListItemProps = {
2728
+ /**
2729
+ * Pass an arbitrary child node
2730
+ */
2731
+ children?: ReactNode;
2732
+ };
2733
+ declare const ListItem: {
2734
+ ({ children }: ListItemProps): JSX.Element | null;
2735
+ displayName: string;
2736
+ };
2737
+
2738
+ type MarkProps = ComponentPropsWithoutRef<'div'> & {
2739
+ /** The content of the Mark component. */
2740
+ children: ReactNode;
2741
+ colorScheme?: ColorSchemeTypes;
2742
+ };
2743
+ /**
2744
+ * Defines text that should be marked or highlighted.
2745
+ */
2746
+ declare const Mark: {
2747
+ ({ children, colorScheme, ...props }: MarkProps): JSX.Element;
2748
+ displayName: string;
2749
+ };
2750
+
2751
+ type MarkdownTextSize = 'body2' | 'body3';
2752
+
2753
+ type MarkdownProps = Omit<ComponentProps<typeof ReactMarkdown>, 'rehypePlugins'> & {
2754
+ /**
2755
+ * A string of markdown to render.
2756
+ */
2757
+ children: string;
2758
+ /**
2759
+ * If true, allows HTML in markdown to be rendered. By default, HTML is escaped and rendered as plain text.
2760
+ */
2761
+ renderHtml?: boolean;
2762
+ /**
2763
+ * A list of rehype plugins to apply to the markdown.
2764
+ */
2765
+ rehypePlugins?: Options['rehypePlugins'];
2766
+ /**
2767
+ * Adjusts the type scale based on the font size of the `<p>` element.
2768
+ */
2769
+ textSize?: MarkdownTextSize | ResponsiveObject<MarkdownTextSize>;
2770
+ };
2771
+ /**
2772
+ * This is a simple wrapper around `react-markdown` that applies some basic styles.
2773
+ */
2774
+ declare const Markdown: {
2775
+ ({ children, textSize, renderHtml, rehypePlugins: userRehypePlugins, ...otherProps }: MarkdownProps): JSX.Element;
2776
+ displayName: string;
2777
+ };
2778
+
2779
+ type ControlledMenuProps = {
2780
+ /**
2781
+ * Is the menu open.
2782
+ * Must be used with `onOpenChange`.
2783
+ */
2784
+ isOpen: boolean;
2785
+ /** When an attempt to toggle the menu is triggered.
2786
+ * Must be used with `isOpen`.
2787
+ */
2788
+ onOpenChange: (isOpen: boolean) => void;
2789
+ };
2790
+ type UncontrolledMenuProps = {
2791
+ isOpen?: never;
2792
+ onOpenChange?: never;
2793
+ };
2794
+ type MenuControlProps = ControlledMenuProps | UncontrolledMenuProps;
2795
+ type MenuProps = MenuControlProps & {
2796
+ /**
2797
+ * The position of the Menu
2798
+ */
2799
+ align?: 'center' | 'end' | 'start';
2800
+ /**
2801
+ * The content of the menu.
2802
+ * Should be made up of `MenuItem`, `SubMenu`, `Divider`, or other subcomponents listed
2803
+ */
2804
+ children: ReactNode;
2805
+ /**
2806
+ * If the menu is compact
2807
+ */
2808
+ compact?: boolean;
2809
+ /**
2810
+ * If disabled, the trigger will appear disabled and the menu will not open
2811
+ */
2812
+ disabled?: boolean;
2813
+ /**
2814
+ * The label for the trigger element, this is ignored if `trigger` is defined
2815
+ */
2816
+ label?: string;
2817
+ /**
2818
+ * Callback for when the user clicks or focuses outside of the menu
2819
+ */
2820
+ onInteractOutside?: DropdownMenuContentProps['onInteractOutside'];
2821
+ /**
2822
+ * The side the menu appears on, relative to the trigger
2823
+ */
2824
+ side?: 'bottom' | 'top';
2825
+ /**
2826
+ * Replace the default trigger with a custom button or other element
2827
+ */
2828
+ trigger?: ReactNode;
2829
+ /**
2830
+ * Props to pass to the trigger component, the default trigger is Button
2831
+ */
2832
+ triggerProps?: Partial<ButtonProps>;
2833
+ };
2834
+ /**
2835
+ * Displays a menu to the users with a set of actions.
2836
+ */
2837
+ declare const Menu: react.ForwardRefExoticComponent<MenuProps & react.RefAttributes<HTMLButtonElement>>;
2838
+
2839
+ type MenuLabelProps = {
2840
+ /**
2841
+ * The text of the label
2842
+ */
2843
+ children: ReactNode | string;
2844
+ };
2845
+ declare const MenuLabel: {
2846
+ ({ children, ...props }: MenuLabelProps): react_jsx_runtime.JSX.Element;
2847
+ displayName: string;
2848
+ };
2849
+
2850
+ type SubMenuProps = {
2851
+ /**
2852
+ * The label of the submenu
2853
+ */
2854
+ label: ReactNode;
2855
+ /**
2856
+ * The description of the submenu
2857
+ */
2858
+ description?: ReactNode;
2859
+ /**
2860
+ * The menu items that will appear in this submenu
2861
+ */
2862
+ children: ReactNode[];
2863
+ /**
2864
+ * Callback when the submenu is opened or closed
2865
+ */
2866
+ onOpenChange?: (open: boolean) => void;
2867
+ /**
2868
+ * Icon to display on the left side of the SubMenu. Must be an instance of [Icon](?path=/docs/components-icon--docs)
2869
+ */
2870
+ icon?: JSX.Element | undefined;
2871
+ };
2872
+ declare const SubMenu: {
2873
+ ({ label, description, children, onOpenChange, ...props }: SubMenuProps): react_jsx_runtime.JSX.Element;
2874
+ displayName: string;
2875
+ };
2876
+
2877
+ type MenuItemButtonProps = ButtonProps & {
2878
+ /**
2879
+ * Pre-defined visual treatments for the menu item
2880
+ */
2881
+ appearance?: 'dangerous' | 'default' | 'gated';
2882
+ /**
2883
+ * Optional `Badge` to display on the MenuItem. Must be an instance of [Badge](../?path=/docs/components-badge--docs)
2884
+ */
2885
+ badge?: JSX.Element;
2886
+ /**
2887
+ * The content of the MenuItem
2888
+ */
2889
+ children?: ReactNode;
2890
+ /**
2891
+ * Keyboard shortcut to bind to the MenuItem. Won't be shown if `badge` is set.
2892
+ * *Note:* This is just visual, it doesn't actually bind the key command.
2893
+ */
2894
+ command?: ReactNode;
2895
+ /**
2896
+ * Icon to show before the MenuItem text. Ignored if children is provided or if `appearance` is `gated`
2897
+ */
2898
+ icon?: ButtonProps['leftIcon'];
2899
+ /**
2900
+ * @ignore
2901
+ */
2902
+ leftIcon?: ButtonProps['leftIcon'];
2903
+ /**
2904
+ * @ignore
2905
+ */
2906
+ rightIcon?: ButtonProps['rightIcon'];
2907
+ /**
2908
+ * @ignore
2909
+ */
2910
+ fullWidth?: never;
2911
+ /**
2912
+ * @ignore
2913
+ */
2914
+ asChild?: never;
2915
+ /**
2916
+ * @ignore
2917
+ */
2918
+ variant?: never;
2919
+ /**
2920
+ * @ignore
2921
+ */
2922
+ size?: never;
2923
+ /**
2924
+ * @ignore
2925
+ */
2926
+ unstyled?: never;
2927
+ };
2928
+
2929
+ declare const MenuItem: react.ForwardRefExoticComponent<(Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
2930
+ beforeAction?: (() => Promise<void>) | (() => void);
2931
+ children: react.ReactNode;
2932
+ colorScheme?: ColorSchemeTypes;
2933
+ disabled?: boolean;
2934
+ leftIcon?: react.ReactNode | undefined;
2935
+ rightIcon?: react.ReactNode | undefined;
2936
+ type?: LinkTypes | undefined;
2937
+ underline?: "always" | "hover" | "none";
2938
+ } & Omit<react.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> & {
2939
+ reloadDocument?: boolean;
2940
+ replace?: boolean;
2941
+ state?: any;
2942
+ preventScrollReset?: boolean;
2943
+ viewTransition?: boolean;
2944
+ } & {
2945
+ href: string | undefined;
2946
+ type?: LinkTypes;
2947
+ } & {
2948
+ href: string | undefined;
2949
+ children: react.ReactNode;
2950
+ beforeAction?: (() => Promise<void>) | (() => void);
2951
+ type?: LinkTypes;
2952
+ } & {
2953
+ appearance?: "dangerous" | "default" | "gated";
2954
+ badge?: react.JSX.Element;
2955
+ children?: react.ReactNode;
2956
+ command?: react.ReactNode;
2957
+ icon?: ButtonProps["leftIcon"];
2958
+ leftIcon?: ButtonProps["leftIcon"];
2959
+ rightIcon?: ButtonProps["rightIcon"];
2960
+ fullWidth?: never;
2961
+ asChild?: never;
2962
+ variant?: never;
2963
+ size?: never;
2964
+ unstyled?: never;
2965
+ } & {
2966
+ /**
2967
+ * Treats the menu item as a link when provided
2968
+ */
2969
+ href?: MenuItemButtonProps["href"];
2970
+ }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLAnchorElement> & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
2971
+ beforeAction?: (() => Promise<void>) | (() => void);
2972
+ children: react.ReactNode;
2973
+ colorScheme?: ColorSchemeTypes;
2974
+ disabled?: boolean;
2975
+ leftIcon?: react.ReactNode | undefined;
2976
+ rightIcon?: react.ReactNode | undefined;
2977
+ type?: LinkTypes | undefined;
2978
+ underline?: "always" | "hover" | "none";
2979
+ } & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
2980
+ href?: never;
2981
+ type?: "button" | "reset" | "submit";
2982
+ } & {
2983
+ href: string | undefined;
2984
+ children: react.ReactNode;
2985
+ beforeAction?: (() => Promise<void>) | (() => void);
2986
+ type?: LinkTypes;
2987
+ } & {
2988
+ appearance?: "dangerous" | "default" | "gated";
2989
+ badge?: react.JSX.Element;
2990
+ children?: react.ReactNode;
2991
+ command?: react.ReactNode;
2992
+ icon?: ButtonProps["leftIcon"];
2993
+ leftIcon?: ButtonProps["leftIcon"];
2994
+ rightIcon?: ButtonProps["rightIcon"];
2995
+ fullWidth?: never;
2996
+ asChild?: never;
2997
+ variant?: never;
2998
+ size?: never;
2999
+ unstyled?: never;
3000
+ } & {
3001
+ /**
3002
+ * Treats the menu item as a link when provided
3003
+ */
3004
+ href?: MenuItemButtonProps["href"];
3005
+ }, "ref"> | Omit<DropdownMenuItemProps & BaseButtonProps & react.ClassAttributes<HTMLButtonElement> & react.ButtonHTMLAttributes<HTMLButtonElement> & {
3006
+ href?: never;
3007
+ type?: "button" | "reset" | "submit";
3008
+ children: react.ReactNode;
3009
+ } & {
3010
+ appearance?: "dangerous" | "default" | "gated";
3011
+ badge?: react.JSX.Element;
3012
+ children?: react.ReactNode;
3013
+ command?: react.ReactNode;
3014
+ icon?: ButtonProps["leftIcon"];
3015
+ leftIcon?: ButtonProps["leftIcon"];
3016
+ rightIcon?: ButtonProps["rightIcon"];
3017
+ fullWidth?: never;
3018
+ asChild?: never;
3019
+ variant?: never;
3020
+ size?: never;
3021
+ unstyled?: never;
3022
+ } & {
3023
+ /**
3024
+ * Treats the menu item as a link when provided
3025
+ */
3026
+ href?: MenuItemButtonProps["href"];
3027
+ }, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
3028
+
3029
+ type MenuItemLabelProps = {
3030
+ /**
3031
+ * The content of the label
3032
+ */
3033
+ children: ReactNode;
3034
+ };
3035
+ type MenuItemDescriptionProps = {
3036
+ /**
3037
+ * The content of the description
3038
+ */
3039
+ children: ReactNode;
3040
+ };
3041
+ declare const MenuItemLabel: ({ children }: MenuItemLabelProps) => react_jsx_runtime.JSX.Element;
3042
+ declare const MenuItemDescription: ({ children }: MenuItemDescriptionProps) => react_jsx_runtime.JSX.Element;
3043
+
3044
+ type MenuRadioGroupProps = DropdownMenuRadioGroupProps & {
3045
+ /**
3046
+ * The radio items
3047
+ */
3048
+ children: ReactNode | ReactNode[];
3049
+ /**
3050
+ * @ignore
3051
+ */
3052
+ asChild?: never;
3053
+ };
3054
+ declare const MenuRadioGroup: {
3055
+ ({ children, ...props }: MenuRadioGroupProps): react_jsx_runtime.JSX.Element;
3056
+ displayName: string;
3057
+ };
3058
+
3059
+ type RadioMenuItemProps = DropdownMenuRadioItemProps & MenuItemButtonProps & {
3060
+ /**
3061
+ * Optional `Icon` to use as the indicator that the radio item is selected. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
3062
+ */
3063
+ indicator?: ReactNode;
3064
+ /**
3065
+ * The value of the item
3066
+ */
3067
+ value: DropdownMenuRadioItemProps['value'];
3068
+ /**
3069
+ * @ignore
3070
+ */
3071
+ href?: never;
3072
+ /**
3073
+ * @ignore
3074
+ */
3075
+ isLoading?: never;
3076
+ /**
3077
+ * @ignore
3078
+ */
3079
+ ref?: never;
3080
+ };
3081
+ declare const RadioMenuItem: {
3082
+ ({ onSelect, value, indicator, ...props }: RadioMenuItemProps): react_jsx_runtime.JSX.Element;
3083
+ displayName: string;
3084
+ };
3085
+
3086
+ type CheckboxMenuItemProps = DropdownMenuCheckboxItemProps & MenuItemButtonProps & {
3087
+ /** Callback to fire when the checked status changes */
3088
+ onCheckedChange: (checked: boolean) => void;
3089
+ /**
3090
+ * Optional `Icon` to use as the indicator that the checkbox item is selected. Must be an instance of [Icon](../?path=/docs/components-icon--docs)
3091
+ */
3092
+ indicator?: ReactNode;
3093
+ /**
3094
+ * The checked state of the menu item
3095
+ */
3096
+ checked: boolean;
3097
+ /**
3098
+ * @ignore
3099
+ */
3100
+ href?: never;
3101
+ /**
3102
+ * @ignore
3103
+ */
3104
+ isLoading?: never;
3105
+ /**
3106
+ * @ignore
3107
+ */
3108
+ ref?: never;
3109
+ };
3110
+ declare const CheckboxMenuItem: {
3111
+ ({ onSelect, checked, onCheckedChange, ...props }: CheckboxMenuItemProps): react_jsx_runtime.JSX.Element;
3112
+ displayName: string;
3113
+ };
3114
+
3115
+ type FilterMenuProps = MenuProps & {
3116
+ /**
3117
+ * The selected values of the filter Menu
3118
+ * */
3119
+ value: string[];
3120
+ /**
3121
+ * Callback for when the selected values change
3122
+ */
3123
+ onChange: (value: string[]) => void;
3124
+ /**
3125
+ * The current search value
3126
+ */
3127
+ searchValue: string;
3128
+ /**
3129
+ * Callback for when the search value changes (by searching the input)
3130
+ */
3131
+ onSearchValueChange: (value: string) => void;
3132
+ };
3133
+ declare const FilterMenuItem: {
3134
+ ({ onSelect, checked, onCheckedChange, ...props }: _radix_ui_react_dropdown_menu.DropdownMenuCheckboxItemProps & (MenuItemButtonProps & {
3135
+ onCheckedChange: (checked: boolean) => void;
3136
+ indicator?: react.ReactNode;
3137
+ checked: boolean;
3138
+ href?: never;
3139
+ isLoading?: never;
3140
+ ref?: never;
3141
+ })): react_jsx_runtime.JSX.Element;
3142
+ displayName: string;
3143
+ };
3144
+ declare const FilterMenu: react.ForwardRefExoticComponent<FilterMenuProps & react.RefAttributes<HTMLButtonElement>>;
3145
+
3146
+ type ModalProps = ComponentPropsWithoutRef<'div'> & {
3147
+ /**
3148
+ * The content of the modal.
3149
+ */
3150
+ children: ReactNode;
3151
+ /**
3152
+ * Content that should be static at the bottom of the modal here (e.g. action buttons).
3153
+ */
3154
+ footer?: ReactNode;
3155
+ /**
3156
+ * The variant of the modal position
3157
+ */
3158
+ positionVariant?: 'centered' | 'fixed-top' | 'right-side-panel';
3159
+ /**
3160
+ * Ref to the element that should receive focus when the modal opens
3161
+ */
3162
+ initialFocusRef?: RefObject<HTMLElement | null>;
3163
+ /**
3164
+ * Determines if the modal is currently open
3165
+ */
3166
+ isOpen: boolean;
3167
+ /**
3168
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
3169
+ */
3170
+ hideCloseButton?: boolean;
3171
+ /**
3172
+ * Determines if the title is visible
3173
+ */
3174
+ hideTitle?: boolean;
3175
+ /**
3176
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
3177
+ * state of `isOpen` to false here
3178
+ */
3179
+ onRequestClose?: () => void;
3180
+ /**
3181
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
3182
+ * and the title will be hidden but still accessible to screen readers.
3183
+ */
3184
+ title: string;
3185
+ /**
3186
+ * The width of the modal when space allows. On smaller screens, the modal automatically adjusts to fit the available space.
3187
+ */
3188
+ width?: string;
3189
+ };
3190
+ /**
3191
+ * A Modal is a focused UI element that appears atop the main interface, requiring
3192
+ * user interaction or dismissal before returning to the underlying content.
3193
+ */
3194
+ declare const Modal: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3195
+ /**
3196
+ * The content of the modal.
3197
+ */
3198
+ children: ReactNode;
3199
+ /**
3200
+ * Content that should be static at the bottom of the modal here (e.g. action buttons).
3201
+ */
3202
+ footer?: ReactNode;
3203
+ /**
3204
+ * The variant of the modal position
3205
+ */
3206
+ positionVariant?: "centered" | "fixed-top" | "right-side-panel";
3207
+ /**
3208
+ * Ref to the element that should receive focus when the modal opens
3209
+ */
3210
+ initialFocusRef?: RefObject<HTMLElement | null>;
3211
+ /**
3212
+ * Determines if the modal is currently open
3213
+ */
3214
+ isOpen: boolean;
3215
+ /**
3216
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
3217
+ */
3218
+ hideCloseButton?: boolean;
3219
+ /**
3220
+ * Determines if the title is visible
3221
+ */
3222
+ hideTitle?: boolean;
3223
+ /**
3224
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
3225
+ * state of `isOpen` to false here
3226
+ */
3227
+ onRequestClose?: () => void;
3228
+ /**
3229
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
3230
+ * and the title will be hidden but still accessible to screen readers.
3231
+ */
3232
+ title: string;
3233
+ /**
3234
+ * The width of the modal when space allows. On smaller screens, the modal automatically adjusts to fit the available space.
3235
+ */
3236
+ width?: string;
3237
+ } & react.RefAttributes<HTMLDivElement>>;
3238
+
3239
+ type ModalCalloutsProps = {
3240
+ /**
3241
+ * The content to be displayed in the modal callout.
3242
+ */
3243
+ children?: ReactNode;
3244
+ };
3245
+ declare const ModalCallouts: {
3246
+ ({ children }: ModalCalloutsProps): react_jsx_runtime.JSX.Element;
3247
+ displayName: string;
3248
+ };
3249
+ type ModalCalloutProps = {
3250
+ title: string;
3251
+ image: JSX.Element;
3252
+ /**
3253
+ * The content to be displayed in the modal callout.
3254
+ */
3255
+ children?: ReactNode;
3256
+ };
3257
+ declare const ModalCallout: {
3258
+ ({ title, image, children }: ModalCalloutProps): react_jsx_runtime.JSX.Element;
3259
+ displayName: string;
3260
+ };
3261
+
3262
+ type ControlledPopoverProps = {
3263
+ /**
3264
+ * Is the popover open.
3265
+ * Must be used with `onOpenChange`.
3266
+ */
3267
+ isOpen: boolean;
3268
+ /** When an attempt to toggle the popover is triggered.
3269
+ * Must be used with `isOpen`.
3270
+ */
3271
+ onOpenChange: (isOpen: boolean) => void;
3272
+ };
3273
+ type UncontrolledPopoverProps = {
3274
+ isOpen?: never;
3275
+ onOpenChange?: never;
3276
+ };
3277
+ type PopoverControlProps = ControlledPopoverProps | UncontrolledPopoverProps;
3278
+ type ContentProps = Omit<PopoverContentProps, 'alignOffset' | 'arrowPadding' | 'asChild' | 'collisionPadding' | 'hideWhenDetached' | 'sideOffset' | 'updatePositionStrategy'>;
3279
+ type PopoverProps = ContentProps & PopoverControlProps & {
3280
+ /**
3281
+ * The content of the popover
3282
+ */
3283
+ children: ReactNode;
3284
+ /**
3285
+ * The maximum width of the popover
3286
+ */
3287
+ maxWidth?: string;
3288
+ /**
3289
+ * The maximum height of the popover
3290
+ */
3291
+ maxHeight?: string;
3292
+ /**
3293
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
3294
+ */
3295
+ hideCloseButton?: boolean;
3296
+ /**
3297
+ * An interactive element. Most commonly a [Button](?path=/docs/components-button--docs) or [IconButton]([Button](?path=/docs/components-iconbutton--docs)).
3298
+ */
3299
+ trigger: JSX.Element;
3300
+ /**
3301
+ * If true, the popover will use the unstyled Content component instead of StyledContent
3302
+ */
3303
+ unstyled?: boolean;
3304
+ /**
3305
+ * If true, the popover will use a custom radix arrow to trigger
3306
+ */
3307
+ withArrow?: boolean;
3308
+ /**
3309
+ * Only works if `withArrow` is true, animates the hotspot attached to the arrow
3310
+ */
3311
+ isAnimated?: boolean;
3312
+ colorScheme?: ColorSchemeTypes;
3313
+ };
3314
+ /**
3315
+ * Displays rich content in a portal, triggered by a button.
3316
+ */
3317
+ declare const Popover: {
3318
+ ({ children, trigger, isOpen, hideCloseButton, maxWidth, maxHeight, onOpenChange, unstyled, withArrow, isAnimated, colorScheme, ...props }: PopoverProps): JSX.Element;
3319
+ displayName: string;
3320
+ };
3321
+
3322
+ type ProgressBarProps = ComponentPropsWithoutRef<'div'> & {
3323
+ /**
3324
+ * Current numeric level of the progress (0 -> max)
3325
+ */
3326
+ progress: number;
3327
+ /**
3328
+ * The maximum progress value
3329
+ */
3330
+ max?: number;
3331
+ /**
3332
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
3333
+ */
3334
+ colorScheme?: ColorSchemeTypes;
3335
+ /**
3336
+ * Slot for additional content to be rendered to the left of the progress bar
3337
+ */
3338
+ labelLeft?: ReactNode;
3339
+ /**
3340
+ * Slot for additional content to be rendered to the right of the progress bar
3341
+ */
3342
+ labelRight?: ReactNode;
3343
+ };
3344
+ /**
3345
+ * A progress component that visually represents the completion status of a task
3346
+ */
3347
+ declare const ProgressBar: {
3348
+ ({ progress, max, children, labelLeft, labelRight, colorScheme, ...props }: ProgressBarProps): JSX.Element;
3349
+ displayName: string;
3350
+ };
3351
+
3352
+ type RadioSizeType = 'lg' | 'md' | 'sm';
3353
+ type RadioProps = Omit<ComponentPropsWithoutRef<'input'>, 'hideLabel' | 'label' | 'onChange' | 'size' | 'value'> & {
3354
+ /**
3355
+ * Indicates the state of the radio
3356
+ */
3357
+ checked?: boolean;
3358
+ /**
3359
+ * Disables input
3360
+ */
3361
+ disabled?: boolean;
3362
+ /**
3363
+ * Indicates that there is an error with the input
3364
+ */
3365
+ 'aria-invalid'?: boolean;
3366
+ /**
3367
+ * Provides an ID for the input
3368
+ */
3369
+ id?: string;
3370
+ /**
3371
+ * The label for the input
3372
+ */
3373
+ label: ReactNode;
3374
+ /**
3375
+ * The description for the radio
3376
+ */
3377
+ description?: ReactNode | undefined;
3378
+ /**
3379
+ * Should match the ID attribute of the radio.
3380
+ * Can be used to group together multiple radios
3381
+ */
3382
+ name?: string;
3383
+ /**
3384
+ * Callback function invoked when the value changes
3385
+ */
3386
+ onChange?: (event: ChangeEvent) => unknown;
3387
+ /**
3388
+ * Indicates if the input is required
3389
+ */
3390
+ required?: boolean;
3391
+ /**
3392
+ * A predefined size for the radio
3393
+ */
3394
+ size?: RadioSizeType;
3395
+ /**
3396
+ * The value attribute of the input
3397
+ */
3398
+ value?: string;
3399
+ /**
3400
+ * Whether to visually hide the label (it will still be available to screen readers)
3401
+ */
3402
+ hideLabel?: boolean;
3403
+ };
3404
+ declare const Radio: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "value" | "label" | "onChange" | "hideLabel"> & {
3405
+ /**
3406
+ * Indicates the state of the radio
3407
+ */
3408
+ checked?: boolean;
3409
+ /**
3410
+ * Disables input
3411
+ */
3412
+ disabled?: boolean;
3413
+ /**
3414
+ * Indicates that there is an error with the input
3415
+ */
3416
+ 'aria-invalid'?: boolean;
3417
+ /**
3418
+ * Provides an ID for the input
3419
+ */
3420
+ id?: string;
3421
+ /**
3422
+ * The label for the input
3423
+ */
3424
+ label: ReactNode;
3425
+ /**
3426
+ * The description for the radio
3427
+ */
3428
+ description?: ReactNode | undefined;
3429
+ /**
3430
+ * Should match the ID attribute of the radio.
3431
+ * Can be used to group together multiple radios
3432
+ */
3433
+ name?: string;
3434
+ /**
3435
+ * Callback function invoked when the value changes
3436
+ */
3437
+ onChange?: (event: ChangeEvent) => unknown;
3438
+ /**
3439
+ * Indicates if the input is required
3440
+ */
3441
+ required?: boolean;
3442
+ /**
3443
+ * A predefined size for the radio
3444
+ */
3445
+ size?: RadioSizeType;
3446
+ /**
3447
+ * The value attribute of the input
3448
+ */
3449
+ value?: string;
3450
+ /**
3451
+ * Whether to visually hide the label (it will still be available to screen readers)
3452
+ */
3453
+ hideLabel?: boolean;
3454
+ } & react.RefAttributes<HTMLInputElement>>;
3455
+
3456
+ type RadioCardDefaultLayoutProps = {
3457
+ /**
3458
+ * The icon to display
3459
+ */
3460
+ icon?: JSX.Element | undefined;
3461
+ /**
3462
+ * The main label text for the card.
3463
+ *
3464
+ * *Note: `label` only allows for a string as any interactive elements inside of a RadioCard would be an accessibility violation.*
3465
+ */
3466
+ label?: string | undefined;
3467
+ /**
3468
+ * The description text for the card
3469
+ *
3470
+ * *Note: `description` only allows for a string as any interactive elements inside of a RadioCard would be an accessibility violation.*
3471
+ */
3472
+ description?: string | undefined;
3473
+ /**
3474
+ * Whether to show the indicator
3475
+ */
3476
+ showIndicator?: boolean | undefined;
3477
+ };
3478
+
3479
+ type BaseRadioCardProps = Omit<ComponentPropsWithoutRef<'input'>, 'checked' | 'disabled' | 'id' | 'name' | 'onChange' | 'value'> & {
3480
+ /**
3481
+ * Indicates the state of the radio
3482
+ */
3483
+ checked?: boolean;
3484
+ /**
3485
+ * Disables the card
3486
+ */
3487
+ disabled?: boolean;
3488
+ /**
3489
+ * Provides an ID for the input
3490
+ */
3491
+ id?: string;
3492
+ /**
3493
+ * The name attribute of the input
3494
+ */
3495
+ name?: string;
3496
+ /**
3497
+ * Callback function invoked when the value changes
3498
+ */
3499
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
3500
+ /**
3501
+ * The value attribute of the input
3502
+ */
3503
+ value: string;
3504
+ };
3505
+ type RadioCardWithChildren = BaseRadioCardProps & {
3506
+ /**
3507
+ * Custom content to display inside the card.
3508
+ */
3509
+ children: ReactNode;
3510
+ icon?: never;
3511
+ label?: never;
3512
+ description?: never;
3513
+ showIndicator?: never;
3514
+ };
3515
+ type RadioCardWithDefaultLayout = BaseRadioCardProps & RadioCardDefaultLayoutProps & {
3516
+ children?: never;
3517
+ };
3518
+ type RadioCardProps = RadioCardWithChildren | RadioCardWithDefaultLayout;
3519
+ declare const RadioCard: react.ForwardRefExoticComponent<RadioCardProps & react.RefAttributes<HTMLInputElement>>;
3520
+
3521
+ type RadioCardImageProps = Omit<ComponentPropsWithoutRef<'input'>, 'onChange'> & {
3522
+ /**
3523
+ * Indicates the state of the radio
3524
+ */
3525
+ checked?: boolean;
3526
+ /**
3527
+ * Disables the card
3528
+ */
3529
+ disabled?: boolean;
3530
+ /**
3531
+ * Provides an ID for the input
3532
+ */
3533
+ id?: string;
3534
+ /**
3535
+ * The name attribute of the input
3536
+ */
3537
+ name?: string;
3538
+ /**
3539
+ * Callback function invoked when the value changes
3540
+ */
3541
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
3542
+ /**
3543
+ * The value attribute of the input
3544
+ */
3545
+ value: string;
3546
+ /**
3547
+ * The label text for the radio card
3548
+ */
3549
+ label: string;
3550
+ /**
3551
+ * The source URL for the image to display
3552
+ */
3553
+ imageSrc: string;
3554
+ /**
3555
+ * The aspect ratio of the card
3556
+ */
3557
+ aspectRatio?: string;
3558
+ /**
3559
+ * The padding of the card
3560
+ */
3561
+ padding?: Spacings;
3562
+ };
3563
+ declare const RadioCardImage: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "onChange"> & {
3564
+ /**
3565
+ * Indicates the state of the radio
3566
+ */
3567
+ checked?: boolean;
3568
+ /**
3569
+ * Disables the card
3570
+ */
3571
+ disabled?: boolean;
3572
+ /**
3573
+ * Provides an ID for the input
3574
+ */
3575
+ id?: string;
3576
+ /**
3577
+ * The name attribute of the input
3578
+ */
3579
+ name?: string;
3580
+ /**
3581
+ * Callback function invoked when the value changes
3582
+ */
3583
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
3584
+ /**
3585
+ * The value attribute of the input
3586
+ */
3587
+ value: string;
3588
+ /**
3589
+ * The label text for the radio card
3590
+ */
3591
+ label: string;
3592
+ /**
3593
+ * The source URL for the image to display
3594
+ */
3595
+ imageSrc: string;
3596
+ /**
3597
+ * The aspect ratio of the card
3598
+ */
3599
+ aspectRatio?: string;
3600
+ /**
3601
+ * The padding of the card
3602
+ */
3603
+ padding?: Spacings;
3604
+ } & react.RefAttributes<HTMLInputElement>>;
3605
+
3606
+ type ScreenReaderOnlyProps = ComponentPropsWithoutRef<'div'> & {
3607
+ /**
3608
+ * Pass an arbitrary child node
3609
+ */
3610
+ children?: ReactNode;
3611
+ /**
3612
+ * Display content _only_ when it's focused.
3613
+ */
3614
+ focusable?: boolean;
3615
+ /**
3616
+ * The text that will appear to screenreaders but not be displayed on screen
3617
+ * (alternatively you can pass children)
3618
+ */
3619
+ text?: ReactNode;
3620
+ };
3621
+ /**
3622
+ * Used to hide content from the visual client, but keep it readable for screen readers.
3623
+ */
3624
+ declare const ScreenReaderOnly: {
3625
+ ({ text, children, focusable, ...props }: ScreenReaderOnlyProps): react_jsx_runtime.JSX.Element;
3626
+ displayName: string;
3627
+ };
3628
+
3629
+ /**
3630
+ * ScrollArea is a simple scrollable container with shadow effects to indicate
3631
+ * scrollability.
3632
+ */
3633
+ declare const ScrollArea: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
3634
+ /**
3635
+ * When true, disables scrolling. Useful to temporarily prevent scrolling,
3636
+ * like when drag-and-dropping an item from inside to outside of the scroll
3637
+ * area.
3638
+ */
3639
+ locked?: boolean;
3640
+ } & react.RefAttributes<HTMLDivElement>>;
3641
+
3642
+ type SegmentedControlProps = Omit<ToggleGroupSingleProps, 'type'> & {
3643
+ /**
3644
+ * `SegmentedControlItem`s that will be rendered in grouping
3645
+ */
3646
+ children?: ReactNode;
3647
+ /**
3648
+ * Set the entire `SegmentedControl` to be disabled
3649
+ */
3650
+ disabled?: boolean | undefined;
3651
+ /**
3652
+ * Force `SegmentedControl` to fill the width of it's container
3653
+ */
3654
+ fullWidth?: boolean | undefined;
3655
+ /**
3656
+ * Callback function invoked when the `SegmentedControlItem` value changes
3657
+ */
3658
+ onSelectedValueChange: (value: string) => void;
3659
+ /**
3660
+ * The value of the `SegmentedControlItem` which should be selected
3661
+ */
3662
+ selectedValue: string;
3663
+ };
3664
+ /**
3665
+ * Provides a horizontal set of segments for switching between different values
3666
+ */
3667
+ declare const SegmentedControl: ForwardRefExoticComponent<RefAttributes<HTMLDivElement> & SegmentedControlProps>;
3668
+
3669
+ type BaseProps$1 = {
3670
+ /**
3671
+ * Disable the `SegmentedControlItem`
3672
+ */
3673
+ disabled?: boolean | undefined;
3674
+ /**
3675
+ * The value of the item
3676
+ */
3677
+ value: string;
3678
+ };
3679
+ type IconWithLabel$1 = {
3680
+ /**
3681
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
3682
+ */
3683
+ icon?: JSX.Element;
3684
+ /**
3685
+ * The label of the item
3686
+ */
3687
+ label?: ReactNode | string | undefined;
3688
+ 'aria-label'?: never;
3689
+ };
3690
+ type IconWithAriaLabel$1 = {
3691
+ /**
3692
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
3693
+ */
3694
+ icon?: JSX.Element;
3695
+ /**
3696
+ * Use this when displaying an icon without a label
3697
+ */
3698
+ 'aria-label'?: string | undefined;
3699
+ label?: never;
3700
+ };
3701
+ type NoIcon$1 = {
3702
+ icon?: undefined;
3703
+ /**
3704
+ * The label of the item
3705
+ */
3706
+ label?: ReactNode | string | undefined;
3707
+ 'aria-label'?: never;
3708
+ };
3709
+ type SegmentedControlItemProps = BaseProps$1 & (IconWithAriaLabel$1 | IconWithLabel$1 | NoIcon$1);
3710
+ declare const SegmentedControlItem: react.ForwardRefExoticComponent<SegmentedControlItemProps & react.RefAttributes<HTMLButtonElement>>;
3711
+
3712
+ type SelectProps = {
3713
+ /**
3714
+ * Sets the validity status of the input
3715
+ *
3716
+ * @default false
3717
+ */
3718
+ 'aria-invalid'?: boolean;
3719
+ /**
3720
+ * A group of `Option` or `OptionGroup`s
3721
+ */
3722
+ children: ReactNode;
3723
+ /**
3724
+ * The color scheme of the select.
3725
+ *
3726
+ * @default inherit
3727
+ */
3728
+ colorScheme?: ColorSchemeTypes;
3729
+ /**
3730
+ * When true, the select can't be interacted with.
3731
+ *
3732
+ * @default false
3733
+ */
3734
+ disabled?: boolean;
3735
+ /**
3736
+ * @ignore
3737
+ * Force the Select to be open without user interaction (for debugging and CI)
3738
+ */
3739
+ forceOpen?: boolean;
3740
+ /**
3741
+ * If true, the select will fill its container
3742
+ */
3743
+ fullWidth?: ResponsiveObject<boolean> | boolean;
3744
+ /**
3745
+ * Called when the select is opened or closed
3746
+ */
3747
+ onOpenChange?: (open: boolean) => void;
3748
+ /**
3749
+ * Called when a value is changed.
3750
+ */
3751
+ onChange?: (value: string) => void;
3752
+ /**
3753
+ * Text shown when no value is selected
3754
+ */
3755
+ placeholder?: string;
3756
+ /**
3757
+ * The controlled value. Must be used in conjunction with `onChange`.
3758
+ */
3759
+ value?: string;
3760
+ };
3761
+ /**
3762
+ * Display a list of options and choose one of them. Replacement for the native Select HTML element.
3763
+ */
3764
+ declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLButtonElement>>;
3765
+
3766
+ type SelectOptionProps = {
3767
+ /**
3768
+ * The visual content of the select
3769
+ */
3770
+ children: ReactNode;
3771
+ /**
3772
+ * The value to set. Leave this empty to define a placeholder option.
3773
+ */
3774
+ value: string;
3775
+ /**
3776
+ * When true, this option will not be selectable
3777
+ *
3778
+ * @default false
3779
+ */
3780
+ disabled?: boolean;
3781
+ /**
3782
+ * Optional content to display in the trigger when the option is selected. If undefined, it will show the `children`
3783
+ * prop instead.
3784
+ */
3785
+ selectedDisplayValue?: ReactNode;
3786
+ /**
3787
+ * Optional text used for typeahead purposes. By default the typeahead behavior will use the `.textContent` of the Option.
3788
+ * Use this when the content is complex, or you have non-textual content inside.
3789
+ */
3790
+ textValue?: string;
3791
+ /**
3792
+ * Vertical alignment of the checkmark icon when this option is selected.
3793
+ */
3794
+ checkmarkVerticalAlign?: 'center' | 'top';
3795
+ };
3796
+ declare const SelectOption: react.ForwardRefExoticComponent<SelectOptionProps & react.RefAttributes<HTMLDivElement>>;
3797
+
3798
+ type SelectOptionGroupProps = {
3799
+ /** The label of the group */
3800
+ label: string;
3801
+ /** At least one `Option` */
3802
+ children: ReactNode;
3803
+ };
3804
+ declare const SelectOptionGroup: ({ children, label, ...props }: SelectOptionGroupProps) => react_jsx_runtime.JSX.Element;
3805
+
3806
+ type SliderProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {
3807
+ /**
3808
+ * aria-label for screen-readers to apply to the slider
3809
+ */
3810
+ 'aria-label'?: string;
3811
+ /**
3812
+ * aria-labelledby for screen-readers to apply to the slider
3813
+ */
3814
+ 'aria-labelledby'?: string;
3815
+ /**
3816
+ * @ignore
3817
+ */
3818
+ 'data-testid'?: string;
3819
+ /**
3820
+ * Determines the initial position(s) of the thumb(s)
3821
+ * Must be an array of numbers.
3822
+ */
3823
+ initialValue?: number[];
3824
+ /**
3825
+ * If `true` the thumbs can't be moved.
3826
+ */
3827
+ disabled?: boolean;
3828
+ /**
3829
+ * The maximum value of the slider.
3830
+ */
3831
+ max?: number;
3832
+ /**
3833
+ * The minimum value of the slider.
3834
+ */
3835
+ min?: number;
3836
+ /**
3837
+ * Callback called on value change
3838
+ */
3839
+ onChange?: (value: number[]) => void;
3840
+ /**
3841
+ * Value to be added or subtracted on each step
3842
+ */
3843
+ step?: number;
3844
+ /**
3845
+ * Current value of the slider
3846
+ * Must be an array of numbers if provided.
3847
+ */
3848
+ value?: number[];
3849
+ };
3850
+ declare const Slider: {
3851
+ ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, disabled, initialValue, max, min, onChange, step, value, "data-testid": dataTestId, ...otherProps }: SliderProps): JSX.Element;
3852
+ displayName: string;
3853
+ };
3854
+
3855
+ type StackProps = {
3856
+ /**
3857
+ * Optional children
3858
+ */
3859
+ children?: ReactNode | undefined;
3860
+ /**
3861
+ * The gap between each item in the stack. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
3862
+ * TODO: add link to Spacing docs
3863
+ *
3864
+ */
3865
+ gap?: ResponsiveObject<Spacings> | Spacings;
3866
+ /**
3867
+ * Vertical is equivalent to `flex-direction: column;`, horizontal is equivalent to `flex-direction: row;`.
3868
+ * The default behavior is `vertical`. Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
3869
+ */
3870
+ direction?: ResponsiveObject<'horizontal' | 'vertical'> | 'horizontal' | 'vertical';
3871
+ /**
3872
+ * Controls how items are aligned along the cross-axis.
3873
+ * Can be a [responsive prop](/docs/ui-docs-responsive-props--docs).
3874
+ *
3875
+ * @type 'baseline' | 'center' | 'flex-end' | 'flex-start' | 'stretch' | ResponsiveObject<'baseline' | 'center' | 'flex-end' | 'flex-start' | 'stretch'>
3876
+ */
3877
+ alignItems?: AlignItemsType | ResponsiveObject<AlignItemsType>;
3878
+ renderAs?: ElementType;
3879
+ };
3880
+ /**
3881
+ * Used to layout its children in a vertical or horizontal stack. The gap between each item in the stack can be customized.
3882
+ * This allows for layouting children in a consistent way without needing to manually add margins or padding.
3883
+ */
3884
+ declare const Stack: (<C extends ElementType = "div">(props: PolymorphicComponentProps<C, StackProps>) => react.ReactElement | null) & UnknownRecord;
3885
+
3886
+ type SwitchSizeType = 'lg' | 'md' | 'sm';
3887
+ type SwitchProps = Omit<ComponentPropsWithoutRef<'input'>, 'hideLabel' | 'label' | 'size'> & {
3888
+ /**
3889
+ * The alignment of the switch relative to the label
3890
+ */
3891
+ align?: 'left' | 'right';
3892
+ /**
3893
+ * Indicates the state of the switch
3894
+ */
3895
+ checked?: boolean;
3896
+ /**
3897
+ * Disables switch
3898
+ */
3899
+ disabled?: boolean;
3900
+ /**
3901
+ * Optional ID attribute
3902
+ */
3903
+ id?: string | undefined;
3904
+ /**
3905
+ * The label for the switch
3906
+ */
3907
+ label: ReactNode;
3908
+ /**
3909
+ * The description for the switch
3910
+ */
3911
+ description?: ReactNode | undefined;
3912
+ /**
3913
+ * The name of the switch. Submitted with its owning form as part of a name/value pair.
3914
+ */
3915
+ name?: string | undefined;
3916
+ /**
3917
+ * Callback function invoked when the value changes
3918
+ */
3919
+ onChange?: (event: ChangeEvent) => unknown;
3920
+ /**
3921
+ * Indicates if the input is required
3922
+ */
3923
+ required?: boolean;
3924
+ /**
3925
+ * A predefined size for the switch
3926
+ */
3927
+ size?: SwitchSizeType;
3928
+ /**
3929
+ * The value given as data when submitted with a `name`.
3930
+ */
3931
+ value?: string;
3932
+ /**
3933
+ * Whether to visually hide the label (it will still be available to screen readers)
3934
+ */
3935
+ hideLabel?: boolean;
3936
+ };
3937
+ declare const Switch: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "label" | "hideLabel"> & {
3938
+ /**
3939
+ * The alignment of the switch relative to the label
3940
+ */
3941
+ align?: "left" | "right";
3942
+ /**
3943
+ * Indicates the state of the switch
3944
+ */
3945
+ checked?: boolean;
3946
+ /**
3947
+ * Disables switch
3948
+ */
3949
+ disabled?: boolean;
3950
+ /**
3951
+ * Optional ID attribute
3952
+ */
3953
+ id?: string | undefined;
3954
+ /**
3955
+ * The label for the switch
3956
+ */
3957
+ label: ReactNode;
3958
+ /**
3959
+ * The description for the switch
3960
+ */
3961
+ description?: ReactNode | undefined;
3962
+ /**
3963
+ * The name of the switch. Submitted with its owning form as part of a name/value pair.
3964
+ */
3965
+ name?: string | undefined;
3966
+ /**
3967
+ * Callback function invoked when the value changes
3968
+ */
3969
+ onChange?: (event: ChangeEvent) => unknown;
3970
+ /**
3971
+ * Indicates if the input is required
3972
+ */
3973
+ required?: boolean;
3974
+ /**
3975
+ * A predefined size for the switch
3976
+ */
3977
+ size?: SwitchSizeType;
3978
+ /**
3979
+ * The value given as data when submitted with a `name`.
3980
+ */
3981
+ value?: string;
3982
+ /**
3983
+ * Whether to visually hide the label (it will still be available to screen readers)
3984
+ */
3985
+ hideLabel?: boolean;
3986
+ } & react.RefAttributes<HTMLInputElement>>;
3987
+
3988
+ type TableBodyProps = HTMLAttributes<HTMLTableSectionElement> & {
3989
+ children?: ReactNode;
3990
+ };
3991
+ declare const TableBody: ({ children, ...props }: TableBodyProps) => JSX.Element;
3992
+
3993
+ type CellAttrs = Omit<TdHTMLAttributes<HTMLTableCellElement>, 'ref'> & Omit<ThHTMLAttributes<HTMLTableCellElement>, 'ref'>;
3994
+ type TableCellProps = CellAttrs & {
3995
+ children?: ReactNode;
3996
+ };
3997
+ declare const TableCell: ({ children, ...props }: TableCellProps) => JSX.Element;
3998
+
3999
+ type TableFootProps = HTMLAttributes<HTMLTableSectionElement> & {
4000
+ children?: ReactNode;
4001
+ };
4002
+ declare const TableFoot: ({ children, ...props }: TableFootProps) => JSX.Element;
4003
+
4004
+ type TableHeadProps = HTMLAttributes<HTMLTableSectionElement> & {
4005
+ children?: ReactNode;
4006
+ };
4007
+ declare const TableHead: ({ children, ...props }: TableHeadProps) => JSX.Element;
4008
+
4009
+ type TableProps = ComponentPropsWithoutRef<'table'> & {
4010
+ /**
4011
+ * Should be some combination of `TableHead` and/or `TableBody` and/or `TableFoot`
4012
+ */
4013
+ children: ReactNode;
4014
+ /**
4015
+ * If true, will add dividing lines between rows
4016
+ */
4017
+ divided?: boolean;
4018
+ /**
4019
+ * If true, will stripe every other row
4020
+ */
4021
+ striped?: boolean;
4022
+ /**
4023
+ * If true, will visually hide the table header while keeping it accessible to screen readers
4024
+ *
4025
+ * @see https://www.accessibility-developer-guide.com/examples/tables/hidden-headers/
4026
+ */
4027
+ visuallyHiddenHeader?: boolean;
4028
+ };
4029
+ /**
4030
+ * Semantic table element for presenting data
4031
+ */
4032
+ declare const Table: ({ children, divided, striped, visuallyHiddenHeader, ...props }: TableProps) => JSX.Element;
4033
+
4034
+ type TableRowProps = HTMLAttributes<HTMLTableRowElement> & {
4035
+ children?: ReactNode;
4036
+ };
4037
+ declare const TableRow: ({ children, ...props }: TableRowProps) => JSX.Element;
4038
+
4039
+ type TabsProps = Pick<TabsProps$1, 'children' | 'defaultValue' | 'onValueChange' | 'value'>;
4040
+ declare const Tabs: {
4041
+ ({ children, value: valueProp, onValueChange: onValueChangeProp, defaultValue, ...props }: TabsProps): JSX.Element;
4042
+ displayName: string;
4043
+ };
4044
+
4045
+ type TabsContentProps = Pick<TabsContentProps$1, 'children' | 'value'>;
4046
+ declare const TabsContent: {
4047
+ ({ children, value }: TabsContentProps): JSX.Element;
4048
+ displayName: string;
4049
+ };
4050
+
4051
+ type TabsListProps = Pick<TabsListProps$1, 'aria-label'> & PropsWithChildren<{
4052
+ fullWidth?: boolean;
4053
+ }>;
4054
+ declare const TabsList: {
4055
+ ({ children, fullWidth, ...props }: TabsListProps): JSX.Element;
4056
+ displayName: string;
4057
+ };
4058
+
4059
+ type BaseProps = Pick<TabsTriggerProps$1, 'disabled' | 'value'>;
4060
+ type IconWithLabel = {
4061
+ /**
4062
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
4063
+ */
4064
+ icon?: JSX.Element;
4065
+ /**
4066
+ * The label of the item
4067
+ */
4068
+ label?: ReactNode | string;
4069
+ 'aria-label'?: never;
4070
+ };
4071
+ type IconWithAriaLabel = {
4072
+ /**
4073
+ * The [Icon](?path=/docs/components-icon--docs) component to use, e.g. `<Icon type="favorite" />`
4074
+ */
4075
+ icon?: JSX.Element;
4076
+ /**
4077
+ * Use this when displaying an icon without a label
4078
+ */
4079
+ 'aria-label'?: string;
4080
+ label?: never;
4081
+ };
4082
+ type NoIcon = {
4083
+ icon?: undefined;
4084
+ /**
4085
+ * The label of the item
4086
+ */
4087
+ label?: ReactNode | string;
4088
+ 'aria-label'?: never;
4089
+ };
4090
+ type TabsTriggerProps = BaseProps & (IconWithAriaLabel | IconWithLabel | NoIcon);
4091
+ declare const TabsTrigger: react.ForwardRefExoticComponent<TabsTriggerProps & react.RefAttributes<HTMLButtonElement>>;
4092
+
4093
+ type TagProps = ComponentPropsWithoutRef<'div'> & {
4094
+ /**
4095
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
4096
+ */
4097
+ colorScheme?: ColorSchemeTypes;
4098
+ /**
4099
+ * Valid URL for the `Tag` label to link to
4100
+ */
4101
+ href?: string;
4102
+ /**
4103
+ * Optional icon to display before the label
4104
+ */
4105
+ icon?: JSX.Element | undefined;
4106
+ /**
4107
+ * Text label for the `Tag`
4108
+ */
4109
+ label: ReactNode;
4110
+ /**
4111
+ * Callback function to be called when the `x` button is clicked
4112
+ */
4113
+ onClickRemove?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
4114
+ /**
4115
+ * Accessible label for the `x` button (ie. "Remove tag")
4116
+ */
4117
+ onClickRemoveLabel?: string | undefined;
4118
+ };
4119
+ /**
4120
+ * A `Tag` is an optionally linked label, with an optional action button, to categorize content.
4121
+ */
4122
+ declare const Tag: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
4123
+ /**
4124
+ * Sets the [color scheme](../?path=/docs/docs-color-schemes--docs)
4125
+ */
4126
+ colorScheme?: ColorSchemeTypes;
4127
+ /**
4128
+ * Valid URL for the `Tag` label to link to
4129
+ */
4130
+ href?: string;
4131
+ /**
4132
+ * Optional icon to display before the label
4133
+ */
4134
+ icon?: JSX.Element | undefined;
4135
+ /**
4136
+ * Text label for the `Tag`
4137
+ */
4138
+ label: ReactNode;
4139
+ /**
4140
+ * Callback function to be called when the `x` button is clicked
4141
+ */
4142
+ onClickRemove?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
4143
+ /**
4144
+ * Accessible label for the `x` button (ie. "Remove tag")
4145
+ */
4146
+ onClickRemoveLabel?: string | undefined;
4147
+ } & react.RefAttributes<HTMLDivElement>>;
4148
+
4149
+ type ThumbnailBadgeProps = {
4150
+ /**
4151
+ * Icon to display on the left side of the badge
4152
+ */
4153
+ icon?: JSX.Element | undefined;
4154
+ /**
4155
+ * Text content to display in the badge
4156
+ */
4157
+ label: string;
4158
+ };
4159
+ declare const ThumbnailBadge: {
4160
+ ({ icon, label, ...props }: ThumbnailBadgeProps): JSX.Element;
4161
+ displayName: string;
4162
+ };
4163
+
4164
+ declare const gradients: {
4165
+ defaultDarkOne: styled_components.RuleSet<object>;
4166
+ defaultDarkTwo: styled_components.RuleSet<object>;
4167
+ defaultLightOne: styled_components.RuleSet<object>;
4168
+ defaultLightTwo: styled_components.RuleSet<object>;
4169
+ defaultMidOne: styled_components.RuleSet<object>;
4170
+ defaultMidTwo: styled_components.RuleSet<object>;
4171
+ green: styled_components.RuleSet<object>;
4172
+ greenWithPop: styled_components.RuleSet<object>;
4173
+ pink: styled_components.RuleSet<object>;
4174
+ pinkWithPop: styled_components.RuleSet<object>;
4175
+ playfulGradientOne: styled_components.RuleSet<object>;
4176
+ playfulGradientTwo: styled_components.RuleSet<object>;
4177
+ purple: styled_components.RuleSet<object>;
4178
+ purpleWithPop: styled_components.RuleSet<object>;
4179
+ yellow: styled_components.RuleSet<object>;
4180
+ yellowWithPop: styled_components.RuleSet<object>;
4181
+ };
4182
+ type GradientNameType = keyof typeof gradients;
4183
+
4184
+ type AspectRatioType = 'square' | 'wide';
4185
+ type Storyboard = {
4186
+ __typename?: string;
4187
+ aspectRatio: number;
4188
+ frameCount: number;
4189
+ frameHeight: number;
4190
+ frameWidth: number;
4191
+ height: number;
4192
+ id?: string;
4193
+ url: string;
4194
+ width: number;
4195
+ };
4196
+ type ThumbnailProps = Omit<ComponentPropsWithoutRef<'div'>, 'children'> & {
4197
+ /**
4198
+ * The desired display of the thumbnail, either wide or square
4199
+ */
4200
+ thumbnailImageType?: 'square' | 'wide' | undefined;
4201
+ /**
4202
+ * The URL of the thumbnail image to display
4203
+ */
4204
+ thumbnailUrl: string | null | undefined;
4205
+ /**
4206
+ * Children to render inside the thumbnail; must be a `ThumbnailBadge` component
4207
+ */
4208
+ children?: ReactNode;
4209
+ /**
4210
+ * The type of gradient to show either behind the icon or when there is no thumbnail image
4211
+ */
4212
+ gradientBackground?: GradientNameType;
4213
+ /**
4214
+ * The storyboard data for "scrubbing" functionality
4215
+ */
4216
+ storyboard?: Storyboard;
4217
+ /**
4218
+ * Width of the thumbnail. By default, the thumbnail will grow to fit its container.
4219
+ * Example: '320px'
4220
+ */
4221
+ width?: string;
4222
+ /**
4223
+ * The height of the thumbnail container when using storyboard.
4224
+ * Example: '180px'
4225
+ */
4226
+ height?: string;
4227
+ /**
4228
+ * The aspect ratio of the thumbnail container.
4229
+ * 'wide' maps to 16:9 ratio, 'square' maps to 1:1 ratio.
4230
+ */
4231
+ aspectRatio?: AspectRatioType;
4232
+ };
4233
+ /**
4234
+ * A `Thumbnail` is a small, reduced-size version of an image or video used as a preview or representative image.
4235
+ */
4236
+ declare const Thumbnail: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "children"> & {
4237
+ /**
4238
+ * The desired display of the thumbnail, either wide or square
4239
+ */
4240
+ thumbnailImageType?: "square" | "wide" | undefined;
4241
+ /**
4242
+ * The URL of the thumbnail image to display
4243
+ */
4244
+ thumbnailUrl: string | null | undefined;
4245
+ /**
4246
+ * Children to render inside the thumbnail; must be a `ThumbnailBadge` component
4247
+ */
4248
+ children?: ReactNode;
4249
+ /**
4250
+ * The type of gradient to show either behind the icon or when there is no thumbnail image
4251
+ */
4252
+ gradientBackground?: GradientNameType;
4253
+ /**
4254
+ * The storyboard data for "scrubbing" functionality
4255
+ */
4256
+ storyboard?: Storyboard;
4257
+ /**
4258
+ * Width of the thumbnail. By default, the thumbnail will grow to fit its container.
4259
+ * Example: '320px'
4260
+ */
4261
+ width?: string;
4262
+ /**
4263
+ * The height of the thumbnail container when using storyboard.
4264
+ * Example: '180px'
4265
+ */
4266
+ height?: string;
4267
+ /**
4268
+ * The aspect ratio of the thumbnail container.
4269
+ * 'wide' maps to 16:9 ratio, 'square' maps to 1:1 ratio.
4270
+ */
4271
+ aspectRatio?: AspectRatioType;
4272
+ } & react.RefAttributes<HTMLDivElement>>;
4273
+
4274
+ type ThumbnailCollageProps = {
4275
+ /**
4276
+ * An array of `Thumbnail` components to show in the collage. Supports up to 3 `Thumbnail`s.
4277
+ */
4278
+ children?: ReactElement<ThumbnailProps>[] | undefined;
4279
+ /**
4280
+ * The type of gradient to show if no `Thumbnail`s are provided
4281
+ */
4282
+ gradientBackground?: GradientNameType;
4283
+ };
4284
+ /**
4285
+ * A `ThumbnailCollage` is a component that displays multiple `Thumbnail` components in a responsive grid layout.
4286
+ * It supports up to 3 thumbnails arranged in different configurations based on the number of children provided.
4287
+ * If no thumbnails are provided, it displays a fallback thumbnail with a gradient background.
4288
+ */
4289
+ declare const ThumbnailCollage: ({ children, gradientBackground, ...props }: ThumbnailCollageProps) => JSX.Element;
4290
+
4291
+ type TooltipProps = {
4292
+ /**
4293
+ * The content of the tooltip
4294
+ */
4295
+ content: ReactNode;
4296
+ /**
4297
+ * The button or other interactive element that triggers the tooltip
4298
+ */
4299
+ children: ReactNode;
4300
+ /**
4301
+ * The delay in milliseconds before the tooltip appears
4302
+ */
4303
+ delay?: number;
4304
+ /**
4305
+ * The preferred direction to render the tooltip if no collisions prevent it
4306
+ */
4307
+ direction?: 'bottom' | 'left' | 'right' | 'top';
4308
+ /**
4309
+ * @ignore
4310
+ * Force the tooltip to be open without user interaction (for debugging and CI)
4311
+ */
4312
+ forceOpen?: boolean;
4313
+ /**
4314
+ * Hides the arrow
4315
+ */
4316
+ hideArrow?: boolean;
4317
+ /**
4318
+ * Specify a container element to portal the tooltip into.
4319
+ * Useful for rendering tooltips in contexts like pip windows.
4320
+ * @default document.body
4321
+ */
4322
+ container?: Element | null;
4323
+ };
4324
+ /**
4325
+ * Tooltips are a way to provide additional information or context to a user when they hover or focus an element.
4326
+ * For elements that are not interactive, consider using a [Popover]() instead.
4327
+ *
4328
+ */
4329
+ declare const Tooltip: {
4330
+ ({ delay, direction, content, children, forceOpen, hideArrow, container, }: TooltipProps): JSX.Element;
4331
+ displayName: string;
4332
+ };
4333
+
4334
+ type WistiaLogoProps = Omit<ComponentPropsWithoutRef<'svg'>, 'height' | 'href'> & {
4335
+ /**
4336
+ * An optional accessible description for the logo
4337
+ */
4338
+ description?: string;
4339
+ /**
4340
+ * Height, in pixels, of the logo
4341
+ */
4342
+ height?: number;
4343
+ /**
4344
+ * If provided, will wrap the logo in a link
4345
+ */
4346
+ href?: string;
4347
+ /**
4348
+ * @ignore
4349
+ * Change the color when hovering over the logo
4350
+ */
4351
+ hoverColor?: string;
4352
+ /**
4353
+ * Display just the icon portion of the logo (ie. hide `Wistia` text)
4354
+ * note: there is no analogue to this because by brand guidelines, the
4355
+ * `Wistia` text must not be displayed without the "flags" iconography
4356
+ */
4357
+ iconOnly?: boolean;
4358
+ /**
4359
+ * An accessible title for the logo (defaults to "Wistia Logo")
4360
+ */
4361
+ title?: string;
4362
+ /**
4363
+ * Style of the logo
4364
+ */
4365
+ variant?: 'dark' | 'light' | 'standard';
4366
+ /**
4367
+ * If true, the logo will be optically centered within its container
4368
+ */
4369
+ opticallyCentered?: boolean;
4370
+ };
4371
+ /**
4372
+ * Render the Wistia logo in various ways.
4373
+ */
4374
+ declare const WistiaLogo: {
4375
+ ({ description, height, hoverColor, href, iconOnly, opticallyCentered, title, variant, ...props }: WistiaLogoProps): react_jsx_runtime.JSX.Element;
4376
+ displayName: string;
4377
+ };
4378
+
4379
+ type SplitButtonProps = {
4380
+ /**
4381
+ * The text for the primary button
4382
+ */
4383
+ children?: ButtonProps['children'];
4384
+ colorScheme?: ButtonProps['colorScheme'];
4385
+ /**
4386
+ * The icon to use for the menu toggle, defaults to a down caret
4387
+ * @default <Icon type="caret-down" />
4388
+ */
4389
+ menuIcon?: JSX.Element;
4390
+ /**
4391
+ * The menu items to render within the menu. If the secondary behavior of `SplitButton` should be a button, rather than a menu, omit `menuItems` and use `secondaryAction` instead.
4392
+ */
4393
+ menuItems?: ReactNode;
4394
+ /**
4395
+ * The label to use for the menu, only for screenreaders
4396
+ */
4397
+ menuLabel?: string;
4398
+ /**
4399
+ * If using `menuItems`, any additional props to pass to the `Menu` component
4400
+ */
4401
+ menuProps?: Omit<ComponentProps<typeof Menu>, 'children' | 'disabled' | 'trigger'>;
4402
+ /**
4403
+ * Secondary action should not be used when menuItems is set
4404
+ */
4405
+ secondaryAction?: JSX.Element;
4406
+ /**
4407
+ * The size of button to display. Can be used as a [responsive prop](/docs/ui-docs-responsive-props--docs)
4408
+ */
4409
+ size?: ButtonSizes | ResponsiveObject<ButtonSizes>;
4410
+ /**
4411
+ * A visual style for the button
4412
+ */
4413
+ variant?: ButtonVariants;
4414
+ } & (ButtonAsButtonProps | ButtonAsLinkProps);
4415
+ /**
4416
+ * A SplitButton is an extension of [Button]() that adds a menu to the right hand side of the button.
4417
+ */
4418
+ declare const SplitButton: {
4419
+ ({ children, menuLabel, menuIcon, menuItems, disabled, colorScheme, variant, secondaryAction, size, unstyled, menuProps, ...props }: SplitButtonProps): JSX.Element;
4420
+ displayName: string;
4421
+ };
4422
+
4423
+ type CustomizableTokens = '--wui-color-backdrop' | '--wui-color-bg-app' | '--wui-color-bg-fill-active' | '--wui-color-bg-fill-hover' | '--wui-color-bg-fill-white ' | '--wui-color-bg-fill' | '--wui-color-bg-surface-active' | '--wui-color-bg-surface-disabled' | '--wui-color-bg-surface-hover' | '--wui-color-bg-surface-secondary-active' | '--wui-color-bg-surface-secondary-hover' | '--wui-color-bg-surface-secondary' | '--wui-color-bg-surface-selected-active' | '--wui-color-bg-surface-selected-hover' | '--wui-color-bg-surface-selected' | '--wui-color-bg-surface-tertiary' | '--wui-color-bg-surface' | '--wui-color-bg-tooltip' | '--wui-color-border-active-selected' | '--wui-color-border-active' | '--wui-color-border-disabled' | '--wui-color-border-hover-selected' | '--wui-color-border-hover' | '--wui-color-border-secondary-active' | '--wui-color-border-secondary-hover' | '--wui-color-border-secondary' | '--wui-color-border-selected' | '--wui-color-border' | '--wui-color-drop-shadow' | '--wui-color-focus-color' | '--wui-color-focus-ring-disabled' | '--wui-color-focus-ring' | '--wui-color-icon-disabled' | '--wui-color-icon-on-fill' | '--wui-color-icon-selected' | '--wui-color-icon' | '--wui-color-invalid-indicator' | '--wui-color-notification-pill-color' | '--wui-color-segmented-control-checked-background' | '--wui-color-text-button' | '--wui-color-text-disabled' | '--wui-color-text-link' | '--wui-color-text-on-fill-white-selected' | '--wui-color-text-on-fill' | '--wui-color-text-secondary' | '--wui-color-text-selected' | '--wui-color-text' | '--wui-typography-family-brand' | '--wui-typography-family-default' | '--wui-typography-family-mono' | '--wui-typography-weight-body-bold' | '--wui-typography-weight-body' | '--wui-typography-weight-heading' | '--wui-typography-weight-label-bold' | '--wui-typography-weight-label';
4424
+ type CustomizableThemeWrapperProps = ComponentPropsWithoutRef<'div'> & {
4425
+ children: ReactNode;
4426
+ overrides: Partial<Record<CustomizableTokens, number | string>>;
4427
+ };
4428
+ /**
4429
+ * Used for overriding the default theme tokens with custom values.
4430
+ * This should only be used when the ui systems team has been consulted first.
4431
+ */
4432
+ declare const CustomizableThemeWrapper: {
4433
+ ({ children, overrides, ...props }: CustomizableThemeWrapperProps): JSX.Element;
4434
+ displayName: string;
4435
+ };
4436
+
4437
+ export { ActionButton, type ActionButtonProps, Avatar, type AvatarProps, type AvatarStatus, Badge, type BadgeProps, Banner, BannerImage, type BannerProps, Box, type BoxProps, Breadcrumb, type BreadcrumbProps, Breadcrumbs, type BreadcrumbsProps, Button, ButtonGroup, type ButtonProps, Card, type CardProps, Center, type CenterProps, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickRegion, type ClickRegionProps, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleTrigger, CollapsibleTriggerIcon, ColorGrid, ColorGridOption, type ColorGridOptionProps, type ColorGridProps, ColorList, ColorListGroup, type ColorListGroupProps, ColorListOption, type ColorListOptionProps, type ColorListProps, ColorPicker, ColorPickerPopoverContent, type ColorPickerPopoverContentProps, type ColorPickerProps, ColorPickerSection, type ColorPickerSectionProps, ColorPickerTrigger, type ColorPickerTriggerProps, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Combobox, ComboboxOption, type ComboboxOptionProps, type ComboboxProps, ContextMenu, type ContextMenuProps, ContrastControls, CustomizableThemeWrapper, type CustomizableThemeWrapperProps, DataCard, DataCardHoverArrow, type DataCardProps, DataCardTrend, type DataCardTrendProps, DataCards, type DataCardsProps, DataList, DataListItem, DataListItemLabel, DataListItemValue, type DataListProps, Divider, EditableHeading, type EditableHeadingProps, EditableText, EditableTextCancelButton, EditableTextContext, EditableTextDisplay, EditableTextInput, EditableTextLabel, type EditableTextProps, EditableTextRoot, type EditableTextRootProps, EditableTextSubmitButton, EditableTextTrigger, Ellipsis, type EllipsisProps, FilterMenu, FilterMenuItem, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Grid, type GridProps, Heading, type HeadingProps, HexColorInput, type HexColorInputProps, HueSlider, Icon, IconButton, type IconButtonProps, type IconNameType, Image, type ImageProps, Input, InputClickToCopy, type InputClickToCopyProps, InputPassword, type InputPasswordProps, type InputProps, type KeyboardKeys, KeyboardShortcut, Label, type LabelProps, Link, type LinkProps, List, ListItem, type ListItemProps, type ListProps, Mark, type MarkProps, Markdown, type MarkdownProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Modal, ModalCallout, ModalCallouts, type ModalProps, Popover, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, RadioCard, RadioCardImage, type RadioCardImageProps, type RadioCardProps, RadioGroup, RadioMenuItem, type RadioProps, SaturationAndValuePicker, ScreenReaderOnly, ScrollArea, SegmentedControl, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, Select, SelectOption, SelectOptionGroup, type SelectOptionGroupProps, type SelectOptionProps, type SelectProps, Slider, type SliderProps, SplitButton, type SplitButtonProps, Stack, SubMenu, Switch, type SwitchProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableFoot, type TableFootProps, TableHead, type TableHeadProps, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, Text, type TextProps, Thumbnail, ThumbnailBadge, type ThumbnailBadgeProps, ThumbnailCollage, type ThumbnailCollageProps, type ThumbnailProps, Tooltip, type TooltipProps, UIProvider, type UseActiveMqReturnType, type UseIsHoveredReturnType, type UseMqReturnType, type UseToastProps, ValueNameOrHexCode, ValueSwatch, WistiaLogo, calculateContrast, colorSchemeOptions, copyToClipboard, dateTime, iconSizeMap, mergeRefs, mq, useActiveMq, useAriaLive, useBoolean, useClipboard, useElementObserver, useFilePicker, useFocusTrap, useForceUpdate, useFormState, useImperativeFilePicker, useIsHovered, useKey, useLocalStorage, useLockBodyScroll, useMq, useOnClickOutside, usePreviousValue, useToast, useWindowSize, validateWithYup };