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