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