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

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