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