@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.
- package/README.md +115 -35
- package/dist/breakpoint-9y1_8U_b.mjs +10 -0
- package/dist/breakpoint-9y1_8U_b.mjs.map +1 -0
- package/dist/breakpoint-DtqbboOa.js +2 -0
- package/dist/breakpoint-DtqbboOa.js.map +1 -0
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.d.ts +4 -149
- package/dist/constants.es.js +7 -19
- package/dist/constants.es.js.map +1 -1
- package/dist/darkTheme-DUWn6YJ-.mjs +345 -0
- package/dist/darkTheme-DUWn6YJ-.mjs.map +1 -0
- package/dist/darkTheme-ann6VTfq.js +2 -0
- package/dist/darkTheme-ann6VTfq.js.map +1 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.d.ts +34 -5
- package/dist/hooks.es.js +36 -4
- package/dist/hooks.es.js.map +1 -1
- package/dist/image-BlhKzTx8.js +2 -0
- package/dist/image-BlhKzTx8.js.map +1 -0
- package/dist/image-C8M6y5Op.mjs +205 -0
- package/dist/image-C8M6y5Op.mjs.map +1 -0
- package/dist/index.cjs.js +12 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +501 -408
- package/dist/index.es.js +9513 -11164
- package/dist/index.es.js.map +1 -1
- package/dist/navigation-BB0MBIiR.js +2 -0
- package/dist/navigation-BB0MBIiR.js.map +1 -0
- package/dist/navigation-Bj7Pex9j.mjs +43 -0
- package/dist/navigation-Bj7Pex9j.mjs.map +1 -0
- package/dist/style.css +1 -1
- package/dist/theme-DQsfWeLo.mjs +12 -0
- package/dist/theme-DQsfWeLo.mjs.map +1 -0
- package/dist/theme-Dc0Ahjq9.js +2 -0
- package/dist/theme-Dc0Ahjq9.js.map +1 -0
- package/dist/{useBreakpoint-DA-JqOu3.js → useBreakpoint-CA9tMMV8.js} +2 -2
- package/dist/{useBreakpoint-DA-JqOu3.js.map → useBreakpoint-CA9tMMV8.js.map} +1 -1
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.cjs.js.map +1 -1
- package/dist/utils.d.ts +26 -45
- package/dist/utils.es.js +17 -457
- package/dist/utils.es.js.map +1 -1
- package/package.json +10 -4
- package/dist/palettes-D006-kxf.mjs +0 -174
- package/dist/palettes-D006-kxf.mjs.map +0 -1
- package/dist/palettes-DfloGKJz.js +0 -2
- package/dist/palettes-DfloGKJz.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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 {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
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-
|
|
19
|
-
import { TableBodyProps
|
|
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 {
|
|
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
|
-
*
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
|
109
|
-
|
|
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
|
-
*
|
|
188
|
+
* The data-testid to display within the banner.
|
|
121
189
|
*/
|
|
122
|
-
|
|
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
|
-
*
|
|
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
|
|
353
|
+
declare interface ButtonProps {
|
|
255
354
|
/** The button's visual aesthetic
|
|
256
|
-
* @
|
|
355
|
+
* - type {@link ButtonVariant}
|
|
257
356
|
*/
|
|
258
357
|
variant?: ButtonVariant;
|
|
259
358
|
/** The size of the button
|
|
260
|
-
* @
|
|
261
|
-
* @default "
|
|
359
|
+
* - type {@link ButtonSize}
|
|
360
|
+
* @default "medium"
|
|
262
361
|
*/
|
|
263
362
|
size?: ButtonSize;
|
|
264
363
|
/** Should the button be full width?
|
|
265
|
-
* @
|
|
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
|
-
|
|
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
|
|
309
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
441
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
635
|
+
* Optional body text content for the modal
|
|
478
636
|
* */
|
|
479
|
-
|
|
637
|
+
body?: string;
|
|
480
638
|
/**
|
|
481
|
-
*
|
|
639
|
+
* Content to render inside the modal
|
|
482
640
|
* */
|
|
483
|
-
|
|
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
|
-
*
|
|
656
|
+
* Callback function when modal is closed
|
|
491
657
|
* */
|
|
492
|
-
|
|
658
|
+
onClose?: () => void;
|
|
493
659
|
/**
|
|
494
660
|
* Optional subtitle text below the modal title
|
|
495
661
|
* */
|
|
496
662
|
subtitle?: string;
|
|
497
663
|
/**
|
|
498
|
-
* Optional
|
|
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
|
-
|
|
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
|
-
* @
|
|
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
|
-
*
|
|
686
|
+
* Whether to show an arrow on the popover.
|
|
572
687
|
*/
|
|
573
|
-
|
|
688
|
+
arrow?: boolean;
|
|
574
689
|
/**
|
|
575
|
-
*
|
|
690
|
+
* Content to display within the popover.
|
|
576
691
|
*/
|
|
577
|
-
|
|
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
|
-
*
|
|
698
|
+
* The `isOpen` state of the popover and the methods to toggle it.
|
|
699
|
+
* - type {@link OverlayTriggerState}
|
|
584
700
|
*/
|
|
585
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
/**
|
|
681
|
-
|
|
682
|
-
/**
|
|
683
|
-
|
|
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
|
-
/**
|
|
689
|
-
|
|
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
|
-
*
|
|
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
|
-
* @
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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:
|
|
904
|
-
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?:
|
|
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
|
-
*
|
|
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
|
|
956
|
-
* @default "
|
|
1042
|
+
* The border radius of the tombstone.
|
|
1043
|
+
* @default "4px"
|
|
957
1044
|
*/
|
|
958
|
-
|
|
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
|
|
966
|
-
* @default "
|
|
1052
|
+
* The width of the tombstone.
|
|
1053
|
+
* @default "100%"
|
|
967
1054
|
*/
|
|
968
|
-
|
|
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
|
-
*
|
|
1051
|
-
* @
|
|
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
|
-
*
|
|
1178
|
+
* End time to display until in seconds.
|
|
1073
1179
|
*/
|
|
1074
|
-
|
|
1180
|
+
endDuration?: number;
|
|
1075
1181
|
/**
|
|
1076
|
-
*
|
|
1182
|
+
* Click handler that receives the clicked position (0-1) and event.
|
|
1077
1183
|
*/
|
|
1078
|
-
|
|
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
|
-
*
|
|
1194
|
+
* Start time to display from in seconds.
|
|
1097
1195
|
*/
|
|
1098
|
-
|
|
1196
|
+
startDuration?: number;
|
|
1099
1197
|
/**
|
|
1100
|
-
*
|
|
1198
|
+
* Total duration of the audio in seconds.
|
|
1101
1199
|
*/
|
|
1102
|
-
|
|
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
|
-
}
|