@protonradio/proton-ui 0.11.0-beta.19 → 0.11.0-beta.20

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.
Files changed (47) hide show
  1. package/README.md +35 -115
  2. package/dist/constants.cjs.js +1 -1
  3. package/dist/constants.cjs.js.map +1 -1
  4. package/dist/constants.d.ts +149 -4
  5. package/dist/constants.es.js +19 -7
  6. package/dist/constants.es.js.map +1 -1
  7. package/dist/hooks.cjs.js +1 -1
  8. package/dist/hooks.cjs.js.map +1 -1
  9. package/dist/hooks.d.ts +5 -34
  10. package/dist/hooks.es.js +4 -36
  11. package/dist/hooks.es.js.map +1 -1
  12. package/dist/index.cjs.js +12 -12
  13. package/dist/index.cjs.js.map +1 -1
  14. package/dist/index.d.ts +353 -483
  15. package/dist/index.es.js +11614 -10122
  16. package/dist/index.es.js.map +1 -1
  17. package/dist/palettes-D006-kxf.mjs +174 -0
  18. package/dist/palettes-D006-kxf.mjs.map +1 -0
  19. package/dist/palettes-DfloGKJz.js +2 -0
  20. package/dist/palettes-DfloGKJz.js.map +1 -0
  21. package/dist/style.css +1 -1
  22. package/dist/utils.cjs.js +1 -1
  23. package/dist/utils.cjs.js.map +1 -1
  24. package/dist/utils.d.ts +45 -26
  25. package/dist/utils.es.js +457 -17
  26. package/dist/utils.es.js.map +1 -1
  27. package/package.json +4 -8
  28. package/dist/breakpoint-9y1_8U_b.mjs +0 -10
  29. package/dist/breakpoint-9y1_8U_b.mjs.map +0 -1
  30. package/dist/breakpoint-DtqbboOa.js +0 -2
  31. package/dist/breakpoint-DtqbboOa.js.map +0 -1
  32. package/dist/darkTheme-DUWn6YJ-.mjs +0 -345
  33. package/dist/darkTheme-DUWn6YJ-.mjs.map +0 -1
  34. package/dist/darkTheme-ann6VTfq.js +0 -2
  35. package/dist/darkTheme-ann6VTfq.js.map +0 -1
  36. package/dist/image-BlhKzTx8.js +0 -2
  37. package/dist/image-BlhKzTx8.js.map +0 -1
  38. package/dist/image-C8M6y5Op.mjs +0 -205
  39. package/dist/image-C8M6y5Op.mjs.map +0 -1
  40. package/dist/navigation-BB0MBIiR.js +0 -2
  41. package/dist/navigation-BB0MBIiR.js.map +0 -1
  42. package/dist/navigation-Bj7Pex9j.mjs +0 -43
  43. package/dist/navigation-Bj7Pex9j.mjs.map +0 -1
  44. package/dist/theme-DQsfWeLo.mjs +0 -12
  45. package/dist/theme-DQsfWeLo.mjs.map +0 -1
  46. package/dist/theme-Dc0Ahjq9.js +0 -2
  47. package/dist/theme-Dc0Ahjq9.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,32 +1,30 @@
1
- import { AriaButtonProps } from '@react-aria/button';
2
- import { AriaDialogProps } from '@react-aria/dialog';
3
- import { AriaPopoverProps } from '@react-aria/overlays';
4
- import { AriaTableProps } from '@react-aria/table';
1
+ import { AriaButtonProps } from 'react-aria';
2
+ import { AriaDialogProps } from 'react-aria';
3
+ import { AriaPopoverProps } from 'react-aria';
4
+ import { AriaTableProps } from 'react-aria';
5
5
  import { ColumnProps } from '@react-stately/table';
6
6
  import { default as default_2 } from 'react';
7
7
  import { DOMProps } from '@react-types/shared';
8
8
  import { ForwardRefExoticComponent } from 'react';
9
9
  import { JSX as JSX_2 } from 'react/jsx-runtime';
10
- import { OverlayTriggerProps } from '@react-stately/overlays';
11
- import { OverlayTriggerState } from '@react-stately/overlays';
12
- import { PressEvent } from '@react-types/shared';
10
+ import { OverlayTriggerProps } from 'react-stately';
11
+ import { OverlayTriggerState } from 'react-stately';
12
+ import { PressEvent } from 'react-aria';
13
13
  import { ReactNode } from 'react';
14
14
  import { RefAttributes } from 'react';
15
15
  import { RowProps } from '@react-stately/table';
16
16
  import { Section } from '@react-stately/table';
17
- import { Selection as Selection_2 } from '@react-types/shared';
18
- import { TableBodyProps } from '@react-stately/table';
17
+ import { Selection as Selection_2 } from 'react-stately';
18
+ import { TableBodyProps as TableBodyProps_2 } from '@react-stately/table';
19
19
  import { TableHeader } from '@react-stately/table';
20
- import { TableStateProps } from '@react-stately/table';
20
+ import { TableStateProps } from 'react-stately';
21
21
  import { TooltipProps as TooltipProps_2 } from 'react-aria-components';
22
22
  import { TooltipTriggerComponentProps } from 'react-aria-components';
23
23
 
24
24
  /**
25
25
  * ActionMenu to display a menu of actions.
26
26
  * Renders a list of actions as a focusable menu, or non-focusable children.
27
- *
28
- * API:
29
- * - {@link ActionMenuProps}
27
+ * @interface ActionMenuProps
30
28
  */
31
29
  export declare const ActionMenu: ({ isOpen, selectionMode, selectedKeys, defaultSelectedKeys, disabledKeys, children, showCancel, cancelButtonText, actions, title, onSelectionChange, onClose, "data-testid": testId, }: ActionMenuProps) => JSX_2.Element;
32
30
 
@@ -40,63 +38,34 @@ declare interface ActionMenuAction {
40
38
  }
41
39
 
42
40
  declare interface ActionMenuProps {
43
- /** The actions of the menu
44
- * - type {@link ActionMenuAction}[]
45
- */
46
- actions?: ActionMenuAction[];
47
- /** The text of the cancel button */
48
- cancelButtonText?: string;
49
- /** The children of the menu */
50
- children?: ReactNode | ((props: {
51
- close: () => void;
52
- }) => ReactNode);
53
- /** The test id of the menu */
54
- "data-testid"?: string;
55
- /** The keys of the default selected items */
56
- defaultSelectedKeys?: string[];
57
- /** The keys of the disabled items */
58
- disabledKeys?: string[];
59
- /** Whether the menu is open
60
- * @default false
61
- */
62
41
  isOpen: boolean;
63
- /** The callback function to close the menu */
64
- onClose?: () => void;
65
- /** The callback function to change the selection
66
- * - type {@link Selection}
67
- */
68
- onSelectionChange?: (keys: Selection_2) => void;
69
- /** The selection mode of the menu
70
- * @default "single"
71
- */
72
42
  selectionMode?: "single" | "multiple" | "none";
73
- /** The keys of the selected items */
74
43
  selectedKeys?: string[];
75
- /** Whether to show the cancel button */
44
+ defaultSelectedKeys?: string[];
45
+ disabledKeys?: string[];
46
+ children?: ReactNode | ((props: {
47
+ close: () => void;
48
+ }) => ReactNode);
76
49
  showCancel?: boolean;
77
- /** The title of the menu */
50
+ cancelButtonText?: string;
78
51
  title?: string;
52
+ actions?: ActionMenuAction[];
53
+ onClose?: () => void;
54
+ onSelectionChange?: (keys: Selection_2) => void;
55
+ "data-testid"?: string;
79
56
  }
80
57
 
81
- /**
82
- * A badge component for displaying status, categories, or counts with various visual styles.
83
- *
84
- * API:
85
- * - {@link BadgeProps}
86
- * - extends {@link React.HTMLAttributes}
87
- */
88
58
  export declare const Badge: ({ variant, children, ...props }: BadgeProps) => JSX_2.Element;
89
59
 
90
- declare interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
91
- /**
92
- * The content to display within the badge.
93
- */
94
- children: ReactNode;
60
+ export declare interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
95
61
  /**
96
62
  * The badge's visual aesthetic.
97
- * - type {@link BadgeVariant}
98
63
  */
99
64
  variant?: BadgeVariant;
65
+ /**
66
+ * The content to display within the badge.
67
+ */
68
+ children: ReactNode;
100
69
  }
101
70
 
102
71
  export declare type BadgeVariant = "primary" | "secondary" | "transparent" | "success" | "warning" | "danger";
@@ -105,96 +74,60 @@ export declare const BadgeVariants: Record<BadgeVariant, BadgeVariant>;
105
74
 
106
75
  /**
107
76
  * A banner used to display a success, warning, or error message.
108
- *
109
- * API:
110
- * - {@link BannerProps}
111
- * - extends {@link BannerIconProps}
77
+ * @interface BannerProps
112
78
  */
113
79
  export declare const Banner: {
114
80
  ({ variant, rounded, icon, compact, children, "data-testid": dataTestId, }: BannerProps): JSX_2.Element;
115
- displayName: string;
116
- /**
117
- * Renders an h3 styled banner.
118
- */
119
- Title: {
120
- ({ children, "data-testid": dataTestId, }: {
121
- children: ReactNode;
122
- "data-testid"?: string;
123
- }): JSX_2.Element;
124
- displayName: string;
125
- };
126
- /**
127
- * Renders a p styled banner.
128
- */
129
- Content: {
130
- ({ children, "data-testid": dataTestId, }: {
131
- children: ReactNode;
132
- "data-testid"?: string;
133
- }): JSX_2.Element;
134
- displayName: string;
135
- };
136
- /**
137
- * Renders an icon inline with the banner title.
138
- *
139
- * API:
140
- * - {@link BannerIconProps}
141
- */
142
- Icon: {
143
- ({ icon, "data-testid": dataTestId }: BannerIconProps): JSX_2.Element;
144
- displayName: string;
145
- };
146
- /**
147
- * Renders a Proton Button.
148
- * - @prop buttonProps {@link ButtonProps}
149
- */
150
- Action: {
151
- ({ children, ...buttonProps }: ButtonProps): JSX_2.Element;
152
- displayName: string;
81
+ Title: ({ children, ...props }: {
82
+ children: ReactNode;
83
+ }) => JSX_2.Element;
84
+ Content: ({ children, ...props }: {
85
+ children: ReactNode;
86
+ }) => JSX_2.Element;
87
+ Icon: ({ children, icon, ...props }: BannerIconProps) => JSX_2.Element;
88
+ Action: ({ children, ...props }: ButtonProps) => JSX_2.Element;
89
+ Actions: default_2.FC<BannerActionsProps>;
90
+ icons: {
91
+ success: JSX_2.Element;
92
+ warning: JSX_2.Element;
93
+ danger: JSX_2.Element;
153
94
  };
154
- /**
155
- * Renders Proton Buttons in a responsive actions grid.
156
- */
157
- Actions: {
158
- ({ children }: {
159
- children: ReactNode;
160
- }): JSX_2.Element;
161
- displayName: string;
95
+ variants: {
96
+ readonly default: "default";
97
+ readonly success: "success";
98
+ readonly warning: "warning";
99
+ readonly danger: "danger";
162
100
  };
163
101
  };
164
102
 
165
- export declare const BANNER_ICONS: {
166
- success: JSX_2.Element;
167
- warning: JSX_2.Element;
168
- danger: JSX_2.Element;
169
- };
170
-
171
- export declare const BANNER_VARIANTS: {
172
- readonly default: "default";
173
- readonly success: "success";
174
- readonly warning: "warning";
175
- readonly danger: "danger";
176
- };
103
+ declare interface BannerActionsProps {
104
+ children: ReactNode;
105
+ }
177
106
 
178
107
  declare interface BannerIconProps {
179
- /**
180
- * Optional custom icon or children for the icon area.
181
- */
182
- children?: ReactNode;
183
108
  /**
184
109
  * The icon to display in the banner.
185
- * Can be a boolean to conditionally show or hide, or a ReactNode to provide a custom icon.
110
+ * Can be a boolean to conditionally show or hide,
111
+ * or a ReactNode to provide a custom icon.
186
112
  */
187
113
  icon?: boolean | ReactNode;
188
114
  /**
189
- * The data-testid to display within the banner.
115
+ * Optional custom icon or children for the icon area.
190
116
  */
191
- "data-testid"?: string;
117
+ children?: ReactNode;
192
118
  }
193
119
 
194
120
  declare interface BannerProps extends BannerIconProps {
121
+ /**
122
+ * The banner's visual aesthetic.
123
+ */
124
+ variant?: BannerVariant;
125
+ /**
126
+ * Round the corners of the banner.
127
+ */
128
+ rounded?: boolean;
195
129
  /**
196
130
  * Compact padding around the content of the banner.
197
- * @default true
198
131
  */
199
132
  compact?: boolean;
200
133
  /**
@@ -205,16 +138,6 @@ declare interface BannerProps extends BannerIconProps {
205
138
  * The data-testid to display within the banner.
206
139
  */
207
140
  "data-testid"?: string;
208
- /**
209
- * Round the corners of the banner.
210
- * @default true
211
- */
212
- rounded?: boolean;
213
- /**
214
- * The banner's visual aesthetic.
215
- * - type {@link BannerVariant}
216
- */
217
- variant?: BannerVariant;
218
141
  }
219
142
 
220
143
  export declare type BannerVariant = "default" | "success" | "warning" | "danger";
@@ -270,7 +193,6 @@ declare interface BaseInputProps {
270
193
  /**
271
194
  * The type attribute of the input element.
272
195
  * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/type
273
- * @default "text"
274
196
  */
275
197
  type?: string;
276
198
  /**
@@ -281,24 +203,14 @@ declare interface BaseInputProps {
281
203
  }
282
204
 
283
205
  /**
284
- * A customizable button component that can render as either a button or anchor element.
285
- *
286
- * API:
287
- * - {@link ButtonProps}
288
- * - extends {@link AriaButtonProps}
206
+ * A customizable button component that can render as either a button or anchor element
207
+ * @interface ButtonProps
289
208
  */
290
209
  export declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
291
210
 
292
- /**
293
- * A radio button group component that allows selection of a single option from multiple choices.
294
- *
295
- * API:
296
- * - {@link ButtonGroupProps}
297
- */
298
211
  export declare function ButtonGroup(props: ButtonGroupProps): JSX_2.Element;
299
212
 
300
213
  export declare namespace ButtonGroup {
301
- var displayName: string;
302
214
  var Option: (props: ButtonGroupOptionProps) => JSX_2.Element;
303
215
  }
304
216
 
@@ -336,80 +248,66 @@ declare interface ButtonGroupProps {
336
248
 
337
249
  declare interface ButtonProps extends AriaButtonProps<"button"> {
338
250
  /** The button's visual aesthetic
339
- * - type {@link ButtonVariant}
251
+ * @param {ButtonVariant} variant
340
252
  */
341
253
  variant?: ButtonVariant;
342
254
  /** The size of the button
343
- * - type {@link ButtonSize}
344
- * @default "medium"
255
+ * @param {ButtonSize} size
256
+ * @default "fullWidth"
345
257
  */
346
258
  size?: ButtonSize;
347
259
  /** Should the button be full width?
348
- * @default false
260
+ * @param {boolean} fullWidth
349
261
  */
350
262
  fullWidth?: boolean;
351
- /** The prefix to display within the button */
263
+ /** The prefix to display within the button
264
+ * @param {React.ReactNode} icon
265
+ */
352
266
  icon?: React.ReactNode;
353
- /** Should the button be non-interactive? */
267
+ /** Should the button be non-interactive?
268
+ * @param {boolean} isDisabled
269
+ */
354
270
  isDisabled?: boolean;
355
- /** The URL that the button should link to. Turns the element into an `a` tag. If the URL is external, you should pass the entire URL to the `to` prop (e.g. `https://example.com`). */
271
+ /** The URL that the button should link to. Turns the element into an `a` tag. If the URL is external, you should pass the entire URL to the `to` prop (e.g. `https://example.com`).
272
+ * @param {string} to
273
+ */
356
274
  to?: string;
357
- /** The target attribute for the link. Defaults to `_blank` if the URL is external. */
275
+ /** The target attribute for the link. Defaults to `_blank` if the URL is external.
276
+ * @param {string} target
277
+ */
358
278
  target?: "_blank" | "_self" | "_parent" | "_top" | string;
359
- /** Called when the button is pressed (on release, not keydown) */
279
+ /** Called when the button is pressed (on release, not keydown)
280
+ * @param {(e: PressEvent) => void} onPress
281
+ */
360
282
  onPress?: (e: PressEvent) => void;
361
- /** The type of button */
283
+ /** The type of button
284
+ * @param {"button" | "submit" | "reset"} type
285
+ */
362
286
  type?: "button" | "submit" | "reset";
363
- /** The test ID for the button */
287
+ /** The test ID for the button
288
+ * @param {string} dataTestId
289
+ */
364
290
  "data-testid"?: string;
365
- /** The content to display within the button */
291
+ /** The content to display within the button
292
+ * @param {React.ReactNode} children
293
+ */
366
294
  children?: React.ReactNode;
367
295
  }
368
296
 
369
- export declare type ButtonSize = "small" | "medium" | "large" | "xlarge" | "2xlarge";
370
-
371
- export declare const ButtonSizes: Record<ButtonSize, ButtonSize>;
297
+ declare type ButtonSize = "small" | "medium" | "large" | "xlarge" | "2xlarge";
372
298
 
373
299
  export declare type ButtonVariant = "primary" | "secondary" | "success" | "danger" | "translucent";
374
300
 
375
- export declare const ButtonVariants: Record<ButtonVariant, ButtonVariant>;
376
-
377
- /**
378
- * A button with a select menu.
379
- *
380
- * API:
381
- * - {@link ButtonWithSelectProps}
382
- * - extends {@link ButtonProps}
383
- */
384
301
  export declare function ButtonWithSelect({ items, defaultValue, children, onSelectionChange, disabledKeys, selectedKey, icon, variant, fullWidth, onPress, ...buttonProps }: ButtonWithSelectProps): JSX_2.Element;
385
302
 
386
- export declare namespace ButtonWithSelect {
387
- var displayName: string;
388
- }
389
-
390
- declare interface ButtonWithSelectProps extends ButtonProps {
391
- /**
392
- * The default value of the select menu.
393
- */
303
+ declare type ButtonWithSelectProps = {
304
+ items: MenuItemType[];
394
305
  defaultValue?: string;
395
- /**
396
- * The keys of the disabled items.
397
- */
398
- disabledKeys?: string[];
399
- /**
400
- * The items to display in the select menu.
401
- * - type {@link ActionMenuAction}
402
- */
403
- items: ActionMenuAction[];
404
- /**
405
- * The callback function to call when the selection changes.
406
- */
306
+ children: default_2.ReactNode;
407
307
  onSelectionChange?: (key: string) => void;
408
- /**
409
- * The key of the selected item.
410
- */
411
308
  selectedKey?: string;
412
- }
309
+ disabledKeys?: string[];
310
+ } & ButtonProps;
413
311
 
414
312
  export declare const Cell: <T>(props: ProtonColumnProps<T>) => JSX.Element;
415
313
 
@@ -417,9 +315,7 @@ export declare const Column: <T>(props: ProtonColumnProps<T>) => JSX.Element;
417
315
 
418
316
  /**
419
317
  * Input with a button to copy value to the clipboard.
420
- *
421
- * API:
422
- * - {@link CopyInputProps}
318
+ * @interface CopyInputProps
423
319
  */
424
320
  export declare function CopyInput({ name, value, isDisabled, onError, onSuccess, }: CopyInputProps): JSX_2.Element;
425
321
 
@@ -438,10 +334,6 @@ declare interface CopyInputProps {
438
334
 
439
335
  /**
440
336
  * Intended use in overlay containers such as modals or popovers.
441
- *
442
- * API:
443
- * - {@link DialogProps}
444
- * - extends {@link AriaDialogProps}
445
337
  */
446
338
  export declare function Dialog({ title, children, ...props }: DialogProps): JSX_2.Element;
447
339
 
@@ -457,8 +349,7 @@ declare interface DialogProps extends AriaDialogProps {
457
349
  * to create a sense of depth or hierarchy in the UI. It uses the `--proton-control__background-color-light`
458
350
  * CSS variable which is theme-aware and will adapt to light, dark, and custom-dark themes.
459
351
  *
460
- * API:
461
- * - {@link ElevationProps}
352
+ * @interface ElevationProps
462
353
  */
463
354
  export declare const Elevation: ({ children, hasPrimaryGradient, "data-testid": dataTestId, }: ElevationProps) => JSX_2.Element;
464
355
 
@@ -467,29 +358,23 @@ declare interface ElevationProps {
467
358
  * The content to be displayed within the elevation.
468
359
  */
469
360
  children?: ReactNode;
470
- /**
471
- * The data-testid attribute for testing purposes.
472
- */
473
- "data-testid"?: string;
474
361
  /**
475
362
  * Whether the elevation should have a background gradient.
476
363
  * @important only works in custom dark mode
477
364
  * @default false
478
365
  */
479
366
  hasPrimaryGradient?: boolean;
367
+ /**
368
+ * The data-testid attribute for testing purposes.
369
+ */
370
+ "data-testid"?: string;
480
371
  }
481
372
 
482
- /**
483
- * An icon component that displays SVG icons from a sprite sheet or inline.
484
- *
485
- * API:
486
- * - {@link IconProps}
487
- */
488
- export declare function Icon(props: IconProps): JSX_2.Element;
373
+ export declare function Icon(props: Omit<IconProps, "svgContent">): JSX_2.Element;
489
374
 
490
375
  declare type IconID = "external-link" | "caret-down" | "caret-right" | "chevron-right" | "chevron-left" | "chevron-up" | "chevron-down";
491
376
 
492
- export declare interface IconProps {
377
+ declare interface IconProps {
493
378
  /**
494
379
  * The spritesheet ID defined in the Icons spritesheet.
495
380
  */
@@ -506,9 +391,7 @@ export declare interface IconProps {
506
391
 
507
392
  /**
508
393
  * ImageOverlay component for displaying an image with a blur effect.
509
- *
510
- * API:
511
- * - {@link ImageBackgroundProps}
394
+ * @interface ImageBackgroundProps
512
395
  */
513
396
  export declare function ImageBackground({ image, imageUrl, onLoad, }: ImageBackgroundProps): JSX_2.Element;
514
397
 
@@ -534,16 +417,13 @@ declare interface ImageBackgroundProps {
534
417
 
535
418
  /**
536
419
  * A controlled and customizable input component with support for labels, prefixes, suffixes, and error states.
537
- *
538
- * API:
539
- * - {@link BaseInputProps}
540
420
  */
541
421
  export declare const Input: default_2.ForwardRefExoticComponent<BaseInputProps & default_2.RefAttributes<HTMLInputElement>>;
542
422
 
423
+ declare type MenuItemType = ActionMenuAction;
424
+
543
425
  declare interface MenuProps {
544
- /** Custom trigger component. If not provided, defaults to ellipsis icon.
545
- * - @prop triggerProps {@link TriggerProps}
546
- */
426
+ /** Custom trigger component. If not provided, defaults to ellipsis icon */
547
427
  renderTrigger?: (triggerProps: TriggerProps) => ReactNode;
548
428
  /** Size of the trigger icon
549
429
  * @default 24
@@ -551,13 +431,9 @@ declare interface MenuProps {
551
431
  size?: number;
552
432
  /** Title of the parent menu */
553
433
  title?: string;
554
- /** Array of menu actions/items to display
555
- * - type {@link ActionMenuAction}[]
556
- */
557
- items: ActionMenuAction[];
558
- /** Whether the menu is disabled
559
- * @default false
560
- */
434
+ /** Array of menu actions/items to display */
435
+ items: MenuItemType[];
436
+ /** Whether the menu is disabled */
561
437
  disabled?: boolean;
562
438
  /** Callback when menu closes */
563
439
  onClose?: () => void;
@@ -573,83 +449,107 @@ declare interface MenuProps {
573
449
  disabledKeys?: string[];
574
450
  }
575
451
 
576
- /**
577
- * A component that displays either a popover menu or an action menu
578
- * depending on the screen size when the menu trigger is pressed.
579
- *
580
- * API:
581
- * - {@link MenuProps}
582
- */
583
452
  export declare function MenuTrigger({ renderTrigger, size, title, items, disabled, onClose, triggerTestId, menuTestId, onSelectionChange, selectedKey, disabledKeys, }: MenuProps): JSX_2.Element;
584
453
 
585
454
  export declare const Modal: (({ isOpen, onClose, title, subtitle, body, children, isOverlay, "data-testid": dataTestId, }: ModalProps) => JSX_2.Element) & {
586
- /**
587
- * Renders a h2 styled title
588
- * */
589
455
  Title: ({ children }: {
590
456
  children: React.ReactNode;
591
457
  }) => JSX_2.Element;
592
- /**
593
- * Renders a h3 styled subtitle
594
- * */
595
458
  Subtitle: ({ children }: {
596
459
  children: React.ReactNode;
597
460
  }) => JSX_2.Element;
598
- /**
599
- * Renders a div styled body
600
- * */
601
461
  Body: ({ children }: {
602
462
  children: React.ReactNode;
603
463
  }) => JSX_2.Element;
604
- /**
605
- * Renders a Proton Button action
606
- * - @prop buttonProps {@link ButtonProps}
607
- * */
608
- Action: (buttonProps: ButtonProps) => JSX_2.Element;
609
- /**
610
- * Renders a group of Proton Buttons
611
- * */
464
+ Action: (props: ButtonProps) => JSX_2.Element;
612
465
  Actions: ({ children }: {
613
466
  children: React.ReactNode;
614
467
  }) => JSX_2.Element;
615
468
  };
616
469
 
617
470
  declare interface ModalProps {
618
- /**
619
- * Optional body text content for the modal
620
- * */
621
- body?: string;
622
- /**
623
- * Content to render inside the modal
624
- * */
625
- children: React.ReactNode;
626
- /**
627
- * data-testid for the modal
628
- * */
629
- "data-testid"?: string;
630
471
  /**
631
472
  * Controls the visibility of the modal
632
473
  * */
633
474
  isOpen: boolean;
475
+ /**
476
+ * Callback function when modal is closed
477
+ * */
478
+ onClose?: () => void;
634
479
  /**
635
480
  * Whether to show the modal with an overlay background.
636
481
  * @default true
637
482
  * */
638
483
  isOverlay?: boolean;
639
484
  /**
640
- * Callback function when modal is closed
485
+ * Optional title text for the modal header
641
486
  * */
642
- onClose?: () => void;
487
+ title?: string;
643
488
  /**
644
489
  * Optional subtitle text below the modal title
645
490
  * */
646
491
  subtitle?: string;
647
492
  /**
648
- * Optional title text for the modal header
493
+ * Optional body text content for the modal
649
494
  * */
650
- title?: string;
495
+ body?: string;
496
+ /**
497
+ * Content to render inside the modal
498
+ * */
499
+ children: React.ReactNode;
500
+ /**
501
+ * data-testid for the modal
502
+ * */
503
+ "data-testid"?: string;
651
504
  }
652
505
 
506
+ declare type Palette = {
507
+ BASE_COLOR: string;
508
+ BRAND: {
509
+ PRIMARY: string;
510
+ PRIMARY_LIGHT: string;
511
+ PRIMARY_SUPER_LIGHT: string;
512
+ SECONDARY: string;
513
+ };
514
+ PRIMARY: {
515
+ PRIMARY_SUPER_DARK: string;
516
+ PRIMARY_DARK: string;
517
+ PRIMARY_MEDIUM: string;
518
+ PRIMARY_MEDIUM_LIGHT: string;
519
+ PRIMARY_LIGHT: string;
520
+ PRIMARY_LIGHTEST: string;
521
+ PRIMARY_SUPER_LIGHT: string;
522
+ };
523
+ SECONDARY: {
524
+ SECONDARY_SUPER_DARK: string;
525
+ SECONDARY_DARK: string;
526
+ SECONDARY_MEDIUM: string;
527
+ SECONDARY_MEDIUM_LIGHT: string;
528
+ SECONDARY_LIGHT: string;
529
+ SECONDARY_LIGHTEST: string;
530
+ SECONDARY_SUPER_LIGHT: string;
531
+ };
532
+ SUCCESS: {
533
+ SUCCESS_DARK: string;
534
+ SUCCESS_MEDIUM: string;
535
+ SUCCESS_LIGHT: string;
536
+ SUCCESS_SUPER_LIGHT: string;
537
+ };
538
+ WARNING: {
539
+ WARNING_DARK: string;
540
+ WARNING_MEDIUM: string;
541
+ WARNING_LIGHT: string;
542
+ WARNING_SUPER_LIGHT: string;
543
+ };
544
+ DANGER: {
545
+ DANGER_SUPER_DARK: string;
546
+ DANGER_DARK: string;
547
+ DANGER_MEDIUM: string;
548
+ DANGER_LIGHT: string;
549
+ DANGER_SUPER_LIGHT: string;
550
+ };
551
+ };
552
+
653
553
  /**
654
554
  * Popover is an unstyled popover component that handles positioning. It should be used
655
555
  * with the Dialog component to provide a styled popover.
@@ -657,110 +557,40 @@ declare interface ModalProps {
657
557
  * A popover displays interactive content in context with a trigger element.
658
558
  * A tooltip displays a description of an element on hover or focus.
659
559
  *
660
- * @see {@link usePopoverTrigger} for a complete usage example
661
- *
662
- * API:
663
- * - {@link PopoverProps}
664
- * - extends {@link AriaPopoverProps}
560
+ * @interface PopoverProps
665
561
  */
666
562
  export declare function Popover({ children, state, arrow, offset, ...props }: PopoverProps): JSX_2.Element;
667
563
 
668
564
  declare interface PopoverProps extends Omit<AriaPopoverProps, "popoverRef"> {
669
- /**
670
- * Whether to show an arrow on the popover.
671
- */
672
- arrow?: boolean;
673
565
  /**
674
566
  * Content to display within the popover.
675
567
  */
676
568
  children: default_2.ReactNode;
569
+ /**
570
+ * The `isOpen` state of the popover and the methods to toggle it.
571
+ */
572
+ state: OverlayTriggerState;
677
573
  /**
678
574
  * Can optionally forward the ref to the popover.
679
575
  */
680
576
  popoverRef?: default_2.RefObject<HTMLDivElement>;
681
577
  /**
682
- * The `isOpen` state of the popover and the methods to toggle it.
683
- * - type {@link OverlayTriggerState}
578
+ * Whether to show an arrow on the popover.
684
579
  */
685
- state: OverlayTriggerState;
580
+ arrow?: boolean;
686
581
  }
687
582
 
688
- declare type ProtonColorScale = {
689
- SUPER_DARK: string;
690
- DARK: string;
691
- MEDIUM: string;
692
- MEDIUM_LIGHT: string;
693
- LIGHT: string;
694
- LIGHTEST: string;
695
- SUPER_LIGHT: string;
696
- WHITE: string;
697
- };
698
-
699
583
  export declare interface ProtonColumnProps<T> extends ColumnProps<T> {
700
584
  align?: "left" | "center" | "right";
701
585
  onClick?: (key: string) => void;
702
586
  }
703
587
 
704
- declare type ProtonPalette = {
705
- BASE_COLOR: string;
706
- BRAND: {
707
- PRIMARY: string;
708
- PRIMARY_LIGHT: string;
709
- PRIMARY_SUPER_LIGHT: string;
710
- SECONDARY: string;
711
- SECONDARY_LIGHT: string;
712
- SECONDARY_SUPER_LIGHT: string;
713
- };
714
- PRIMARY: ProtonColorScale;
715
- SECONDARY: ProtonColorScale;
716
- GRAYSCALE: ProtonColorScale;
717
- };
718
-
719
588
  export declare interface ProtonRowProps<T = object> extends RowProps<T> {
720
589
  backgroundColor?: string;
721
590
  onClick?: (key: string) => void;
722
591
  }
723
592
 
724
- declare interface ProtonStyleSheet {
725
- "--proton-control__background-color": string;
726
- "--proton-control__background-color-light": string;
727
- "--proton-control__text-color": string;
728
- "--proton-control__title-color": string;
729
- "--proton-control__border-color": string;
730
- "--proton-control__shadow-color": string;
731
- "--proton-control__hover-color": string;
732
- "--proton-control__border-radius": string;
733
- "--proton-control__interactive-color": string;
734
- "--proton-color__primary": string;
735
- "--proton-color__primary-light": string;
736
- "--proton-color__primary-super-light": string;
737
- "--proton-color__secondary": string;
738
- "--proton-color__secondary-light": string;
739
- "--proton-color__secondary-super-light": string;
740
- "--proton-color__danger-super-dark": string;
741
- "--proton-color__danger-dark": string;
742
- "--proton-color__danger-medium": string;
743
- "--proton-color__danger-light": string;
744
- "--proton-color__danger-super-light": string;
745
- "--proton-color__warning-dark": string;
746
- "--proton-color__warning-medium": string;
747
- "--proton-color__warning-light": string;
748
- "--proton-color__warning-super-light": string;
749
- "--proton-color__success-dark": string;
750
- "--proton-color__success-medium": string;
751
- "--proton-color__success-light": string;
752
- "--proton-color__success-super-light": string;
753
- "--proton-color__gray-super-dark": string;
754
- "--proton-color__gray-dark": string;
755
- "--proton-color__gray-medium": string;
756
- "--proton-color__gray-medium-light": string;
757
- "--proton-color__gray-light": string;
758
- "--proton-color__gray-lightest": string;
759
- "--proton-color__gray-super-light": string;
760
- "--proton-color__white": string;
761
- }
762
-
763
- export declare interface ProtonTableBodyProps<T = object> extends TableBodyProps<T> {
593
+ export declare interface ProtonTableBodyProps<T = object> extends TableBodyProps_2<T> {
764
594
  showLines?: boolean;
765
595
  }
766
596
 
@@ -768,17 +598,11 @@ export declare const Row: <T = object>(props: ProtonRowProps<T>) => JSX.Element;
768
598
 
769
599
  /**
770
600
  * Base Overlay component for creating modal-like backgrounds.
771
- *
772
- * API:
773
- * - {@link ScreenOverlayProps}
601
+ * @interface ScreenOverlayProps
774
602
  */
775
603
  export declare const ScreenOverlay: ForwardRefExoticComponent<Omit<ScreenOverlayProps, "ref"> & RefAttributes<HTMLDivElement>>;
776
604
 
777
605
  declare interface ScreenOverlayProps {
778
- /**
779
- * Children to render inside the overlay.
780
- */
781
- children?: React.ReactNode;
782
606
  /**
783
607
  * Whether to fade in the overlay.
784
608
  */
@@ -791,14 +615,14 @@ declare interface ScreenOverlayProps {
791
615
  * Ref to the overlay element.
792
616
  */
793
617
  ref?: React.RefObject<HTMLDivElement>;
618
+ /**
619
+ * Children to render inside the overlay.
620
+ */
621
+ children?: React.ReactNode;
794
622
  }
795
623
 
796
624
  /**
797
625
  * A search input component with optional clear functionality and URL parameter sync.
798
- *
799
- * API:
800
- * - {@link SearchInputProps}
801
- * - extends {@link BaseInputProps}
802
626
  */
803
627
  export declare const SearchInput: ({ name, placeholder, autoComplete, isClearable, isDisabled, error, defaultValue, value: controlledValue, "data-testid": testId, onChange, onClear, }: SearchInputProps) => JSX_2.Element;
804
628
 
@@ -820,16 +644,9 @@ export { Section }
820
644
  /**
821
645
  * A dropdown select menu that opens a popover on desktop and an action menu on mobile.
822
646
  * Supports controlled and uncontrolled modes.
823
- *
824
- * API:
825
- * - {@link SelectProps}
826
647
  */
827
648
  export declare function Select({ label, name, isDisabled, disabledKeys, selectedKey, onSelectionChange, defaultSelectedKey, onOpen, onClose, items, "data-testid": testId, }: SelectProps): JSX_2.Element;
828
649
 
829
- export declare namespace Select {
830
- var displayName: string;
831
- }
832
-
833
650
  declare interface SelectItem {
834
651
  label: string;
835
652
  key: string;
@@ -837,42 +654,36 @@ declare interface SelectItem {
837
654
  }
838
655
 
839
656
  declare interface SelectProps {
657
+ /** The name of the select field */
658
+ name: string;
659
+ /** Label to display above the select
660
+ * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text
661
+ */
662
+ label?: string;
663
+ /** Whether the select is disabled */
664
+ isDisabled?: boolean;
840
665
  /** Array of keys that should be disabled
841
666
  * @example ["Thing 1", "Thing 2"]
842
667
  */
843
668
  disabledKeys?: string[];
669
+ /** Currently selected key */
670
+ selectedKey?: string;
671
+ /** Callback fired when selection changes */
672
+ onSelectionChange?: (key: string) => void;
844
673
  /** The key of the default selected item */
845
674
  defaultSelectedKey?: string;
846
- /** Test ID for the select */
847
- "data-testid"?: string;
848
- /** Whether the select is disabled */
849
- isDisabled?: boolean;
675
+ /** Callback fired when the menu opens */
676
+ onOpen?: () => void;
677
+ /** Callback fired when the menu closes */
678
+ onClose?: () => void;
850
679
  /** Array of items to display
851
680
  * @example [{ key: "thing-1", label: "Thing 1" }, { key: "thing-2", label: "Thing 2" }]
852
681
  */
853
682
  items: SelectItem[];
854
- /** Label to display above the select
855
- * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text
856
- */
857
- label?: string;
858
- /** The name of the select field */
859
- name: string;
860
- /** Callback fired when the menu closes */
861
- onClose?: () => void;
862
- /** Callback fired when the menu opens */
863
- onOpen?: () => void;
864
- /** Callback fired when selection changes */
865
- onSelectionChange?: (key: string) => void;
866
- /** Currently selected key */
867
- selectedKey?: string;
683
+ /** Test ID for the select */
684
+ "data-testid"?: string;
868
685
  }
869
686
 
870
- /**
871
- * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.
872
- *
873
- * API:
874
- * - {@link SwitchProps}
875
- */
876
687
  export declare function Switch(props: SwitchProps): JSX_2.Element;
877
688
 
878
689
  declare interface SwitchProps {
@@ -903,31 +714,95 @@ declare interface SwitchProps {
903
714
  children?: React.ReactNode;
904
715
  }
905
716
 
717
+ export declare function Table(props: TableProps_2): JSX_2.Element;
718
+
906
719
  /**
907
- * A table component that displays data in a grid format.
720
+ * Base Table component that renders data in rows and columns using collections.
908
721
  *
909
- * API:
910
- * - {@link TableProps}
911
- * - extends {@link AriaTableProps}
912
- * - extends {@link TableStateProps}<object>
722
+ * Accessibility features are built-in:
723
+ * - aria-label is automatically generated from table structure and content
724
+ * - aria-describedby links to caption when provided
725
+ * - Full ARIA table semantics with proper roles and indices
726
+ *
727
+ * @example
728
+ * ```tsx
729
+ * <Table caption="Employee Directory">
730
+ * <Table.Header>
731
+ * <Table.Column id="name">Name</Table.Column>
732
+ * </Table.Header>
733
+ * <Table.Body>
734
+ * <Table.Row key="1">
735
+ * <Table.Cell>Joe</Table.Cell>
736
+ * </Table.Row>
737
+ * </Table.Body>
738
+ * </Table>
739
+ * ```
913
740
  */
914
- export declare function Table(props: TableProps): JSX_2.Element;
741
+ export declare const Table2: (({ children, name, className }: TableProps) => JSX_2.Element) & {
742
+ /** Table header: {@link TableHeaderProps} */
743
+ Header: typeof TableHeader_2;
744
+ /** Table column: {@link TableColumnProps} */
745
+ Column: typeof TableColumn;
746
+ /** Table body: {@link TableBodyProps} */
747
+ Body: typeof TableBody_2;
748
+ /** Table row: {@link TableRowProps} */
749
+ Row: typeof TableRow;
750
+ /** Table cell: {@link TableCellProps} */
751
+ Cell: typeof TableCell;
752
+ };
915
753
 
916
754
  export declare const TableBody: <T = object>(props: ProtonTableBodyProps<T>) => JSX.Element;
917
755
 
756
+ declare function TableBody_2({ children }: TableBodyProps): any;
757
+
758
+ export declare interface TableBodyProps {
759
+ children: ReactNode;
760
+ }
761
+
762
+ declare function TableCell({ columnKey, children }: TableCellProps): any;
763
+
764
+ export declare interface TableCellProps {
765
+ columnKey?: string;
766
+ children: ReactNode;
767
+ }
768
+
769
+ declare function TableColumn({ id, children }: TableColumnProps): any;
770
+
771
+ export declare interface TableColumnProps {
772
+ id: string;
773
+ children: ReactNode;
774
+ }
775
+
918
776
  export { TableHeader }
919
777
 
920
- declare interface TableProps extends AriaTableProps, TableStateProps<object> {
778
+ declare function TableHeader_2({ children }: TableHeaderProps): any;
779
+
780
+ export declare interface TableHeaderProps {
781
+ children: ReactNode;
782
+ }
783
+
784
+ declare interface TableProps {
785
+ children: default_2.ReactNode;
786
+ name?: string;
787
+ className?: string;
788
+ }
789
+
790
+ declare interface TableProps_2 extends AriaTableProps, TableStateProps<object> {
921
791
  headerProps?: {
922
792
  isHidden?: boolean;
923
793
  };
924
794
  }
925
795
 
796
+ declare function TableRow({ key, children }: TableRowProps): any;
797
+
798
+ export declare interface TableRowProps {
799
+ key?: string;
800
+ children: ReactNode;
801
+ }
802
+
926
803
  /**
927
804
  * A component that displays text with an ellipsis when it overflows its container.
928
- *
929
- * API:
930
- * - {@link TextEllipsisProps}
805
+ * @interface TextEllipsisProps
931
806
  */
932
807
  export declare const TextEllipsis: ({ children, maxWidth, singleLine, lines, title, "data-testid": testId, }: TextEllipsisProps) => JSX_2.Element;
933
808
 
@@ -964,10 +839,7 @@ declare interface TextEllipsisProps {
964
839
 
965
840
  /**
966
841
  * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.
967
- *
968
- * API:
969
- * - {@link TextEmphasisProps}
970
- * - extends {@link React.HTMLAttributes}
842
+ * @interface TextEmphasisProps
971
843
  */
972
844
  export declare const TextEmphasis: ({ to, children, tooltipProps, "data-testid": testId, }: TextEmphasisProps) => JSX_2.Element;
973
845
 
@@ -995,9 +867,8 @@ declare type Theme = (typeof THEMES)[keyof typeof THEMES];
995
867
  declare interface ThemeContextType {
996
868
  theme: Theme;
997
869
  className: string;
998
- style: ProtonStyleSheet;
999
- palette: ProtonPalette;
1000
- hasPalette?: boolean;
870
+ style: ThemeVariables;
871
+ palette: Palette;
1001
872
  }
1002
873
 
1003
874
  export declare const ThemeProvider: default_2.FC<ThemeProviderProps>;
@@ -1005,40 +876,67 @@ export declare const ThemeProvider: default_2.FC<ThemeProviderProps>;
1005
876
  declare interface ThemeProviderProps {
1006
877
  theme: Theme;
1007
878
  children: ReactNode;
1008
- palette?: ProtonPalette;
879
+ palette?: Palette;
1009
880
  }
1010
881
 
1011
882
  declare const THEMES: {
1012
883
  readonly DARK: "dark";
884
+ readonly CUSTOM_DARK: "custom-dark";
1013
885
  readonly LIGHT: "light";
1014
886
  };
1015
887
 
888
+ declare interface ThemeVariables {
889
+ "--proton-control__background-color": string;
890
+ "--proton-control__background-color-light": string;
891
+ "--proton-control__text-color": string;
892
+ "--proton-control__border-color": string;
893
+ "--proton-control__shadow-color": string;
894
+ "--proton-color__primary": string;
895
+ "--proton-color__primary-light": string;
896
+ "--proton-color__primary-super-light": string;
897
+ "--proton-color__secondary": string;
898
+ "--proton-control__primary-super-dark": string;
899
+ "--proton-control__primary-dark": string;
900
+ "--proton-control__primary-medium": string;
901
+ "--proton-control__primary-medium-light": string;
902
+ "--proton-control__primary-light": string;
903
+ "--proton-control__primary-lightest": string;
904
+ "--proton-control__primary-super-light": string;
905
+ "--proton-control__secondary-super-dark": string;
906
+ "--proton-control__secondary-dark": string;
907
+ "--proton-control__secondary-medium": string;
908
+ "--proton-control__secondary-medium-light": string;
909
+ "--proton-control__secondary-light": string;
910
+ "--proton-control__secondary-lightest": string;
911
+ "--proton-control__secondary-super-light": string;
912
+ }
913
+
1016
914
  /**
1017
- * A component that displays a loading tombstone. For use as a placeholder while loading content.
1018
- *
1019
- * API:
1020
- * - {@link TombstoneProps}
915
+ * A component that displays a loading tombstone. For use as a placeholder while loading content
916
+ * @interface TombstoneProps
1021
917
  */
1022
918
  export declare const Tombstone: ({ width, height, borderRadius, }: TombstoneProps) => JSX_2.Element;
1023
919
 
1024
920
  declare interface TombstoneProps {
1025
921
  /**
1026
- * The border radius of the tombstone.
1027
- * @default "4px"
922
+ * The width of the tombstone.
923
+ * @default "100%"
1028
924
  */
1029
- borderRadius?: string;
925
+ width?: string;
1030
926
  /**
1031
927
  * The height of the tombstone.
1032
928
  * @default "1.5rem"
1033
929
  */
1034
930
  height?: string;
1035
931
  /**
1036
- * The width of the tombstone.
1037
- * @default "100%"
932
+ * The border radius of the tombstone.
933
+ * @default "4px"
1038
934
  */
1039
- width?: string;
935
+ borderRadius?: string;
1040
936
  }
1041
937
 
938
+ export declare function Tooltip({ children, arrow, ...props }: TooltipProps): JSX_2.Element;
939
+
1042
940
  export declare interface TooltipProps extends Omit<TooltipProps_2, "children"> {
1043
941
  children: React.ReactNode;
1044
942
  arrow?: boolean;
@@ -1051,18 +949,6 @@ export declare interface TooltipProps extends Omit<TooltipProps_2, "children"> {
1051
949
  *
1052
950
  * If you wish to disable the trigger click feature, you can set the `disableTriggerClick` prop.
1053
951
  * This is useful when using an info only Tooltip that might wrap a clickable element.
1054
- *
1055
- * API:
1056
- * - {@link TooltipTriggerProps}
1057
- * - extends {@link TooltipProps}
1058
- * - extends {@link TooltipTriggerComponentProps}
1059
- *
1060
- * @example
1061
- * ```tsx
1062
- <TooltipTrigger content={...} placement="top" arrow isDisabled={disabled}>
1063
- {children}
1064
- </TooltipTrigger>
1065
- * ```
1066
952
  */
1067
953
  export declare function TooltipTrigger({ children, delay, closeDelay, isDisabled, defaultOpen, onOpenChange, disableTriggerClick, content, ...tooltipProps }: TooltipTriggerProps): JSX_2.Element;
1068
954
 
@@ -1078,6 +964,13 @@ export declare interface TooltipTriggerProps extends TooltipProps, TooltipTrigge
1078
964
  disableTriggerClick?: boolean;
1079
965
  }
1080
966
 
967
+ /**
968
+ * A component that displays either a popover menu or an action menu
969
+ * depending on the screen size when the menu trigger is pressed.
970
+ *
971
+ * @param {MenuProps} props - The props for the MenuTrigger component.
972
+ * @returns {JSX.Element} - The MenuTrigger component.
973
+ */
1081
974
  declare interface TriggerProps {
1082
975
  disabled?: boolean;
1083
976
  isOpen?: boolean;
@@ -1088,36 +981,6 @@ declare interface TriggerProps {
1088
981
  /**
1089
982
  * Hook for creating a popover trigger. This hook manages the state and events for the popover
1090
983
  * and popover trigger. For examples see Popover.stories.tsx.
1091
- *
1092
- * API:
1093
- * - {@link OverlayTriggerProps}
1094
- *
1095
- * @example
1096
- * ```tsx
1097
- * let { buttonProps, overlayProps, buttonRef, state } = usePopoverTrigger();
1098
- *
1099
- * return (
1100
- * <div>
1101
- * <button {...buttonProps} ref={buttonRef}>
1102
- * Trigger
1103
- * </button>
1104
- *
1105
- * {state.isOpen && (
1106
- * <Popover
1107
- * state={state}
1108
- * triggerRef={buttonRef}
1109
- * arrow={props.arrow}
1110
- * offset={props.offset}
1111
- * placement={props.placement}
1112
- * >
1113
- * <Dialog {...overlayProps} title="Popover">
1114
- * Here is some popover content
1115
- * </Dialog>
1116
- * </Popover>
1117
- * )}
1118
- * </div>
1119
- * );
1120
- * ```
1121
984
  */
1122
985
  export declare function usePopoverTrigger(props?: OverlayTriggerProps): {
1123
986
  buttonProps: default_2.ButtonHTMLAttributes<HTMLButtonElement>;
@@ -1131,8 +994,10 @@ export declare const useTheme: () => ThemeContextType;
1131
994
  /**
1132
995
  * A waveform visualization component that displays audio data with interactive features.
1133
996
  *
1134
- * API:
1135
- * - {@link WaveformProps}
997
+ * @component
998
+ * @interface WaveformProps
999
+ *
1000
+ * @returns {JSX.Element} A waveform visualization with optional timestamps and interactive features
1136
1001
  */
1137
1002
  export declare function Waveform({ data: waveformData, resolution, startDuration, endDuration, currentTime, showTimestamps, totalDuration, disabled, disabledMessage, onClick, "data-testid": testId, }: WaveformProps): JSX_2.Element;
1138
1003
 
@@ -1142,14 +1007,6 @@ declare interface WaveformProps {
1142
1007
  * If not provided, uses a sample sine wave.
1143
1008
  */
1144
1009
  data?: number[];
1145
- /**
1146
- * Current playback position in seconds.
1147
- */
1148
- currentTime?: number;
1149
- /**
1150
- * Test ID for testing purposes.
1151
- */
1152
- "data-testid"?: string;
1153
1010
  /**
1154
1011
  * Whether the entire waveform is disabled.
1155
1012
  */
@@ -1159,29 +1016,42 @@ declare interface WaveformProps {
1159
1016
  */
1160
1017
  disabledMessage?: string;
1161
1018
  /**
1162
- * End time to display until in seconds.
1019
+ * Total duration of the audio in seconds.
1163
1020
  */
1164
- endDuration?: number;
1021
+ totalDuration: number;
1165
1022
  /**
1166
- * Click handler that receives the clicked position (0-1) and event.
1023
+ * Current playback position in seconds.
1167
1024
  */
1168
- onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;
1025
+ currentTime?: number;
1169
1026
  /**
1170
1027
  * Width in pixels of each waveform bar.
1171
1028
  */
1172
1029
  resolution?: number;
1030
+ /**
1031
+ * Start time to display from in seconds.
1032
+ */
1033
+ startDuration?: number;
1034
+ /**
1035
+ * End time to display until in seconds.
1036
+ */
1037
+ endDuration?: number;
1173
1038
  /**
1174
1039
  * Whether to show timestamp markers.
1175
1040
  */
1176
1041
  showTimestamps?: boolean;
1177
1042
  /**
1178
- * Start time to display from in seconds.
1043
+ * Click handler that receives the clicked position (0-1) and event.
1179
1044
  */
1180
- startDuration?: number;
1045
+ onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;
1181
1046
  /**
1182
- * Total duration of the audio in seconds.
1047
+ * Test ID for testing purposes.
1183
1048
  */
1184
- totalDuration: number;
1049
+ "data-testid"?: string;
1185
1050
  }
1186
1051
 
1187
1052
  export { }
1053
+
1054
+
1055
+ declare namespace ButtonGroup {
1056
+ var Option: (props: ButtonGroupOptionProps) => import("react/jsx-runtime").JSX.Element;
1057
+ }