@wistia/ui 0.20.8-beta.93073e36.a9c00a2 → 0.20.8-beta.a05dab91.7748876

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