@insession/design-system 1.3.1
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/CHANGELOG.md +84 -0
- package/README.md +108 -0
- package/dist/index.d.ts +501 -0
- package/dist/index.js +1962 -0
- package/dist/index.js.map +1 -0
- package/package.json +69 -0
- package/theme.css +325 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, MutableRefObject, AnchorHTMLAttributes, RefObject } from 'react';
|
|
3
|
+
|
|
4
|
+
type AvatarStatus = 'live' | 'offline';
|
|
5
|
+
type AvatarProps = {
|
|
6
|
+
label?: ReactNode;
|
|
7
|
+
name?: string | null;
|
|
8
|
+
src?: string | null;
|
|
9
|
+
fallback?: string | null;
|
|
10
|
+
color?: string;
|
|
11
|
+
bgColor?: string;
|
|
12
|
+
size?: number;
|
|
13
|
+
status?: AvatarStatus;
|
|
14
|
+
ring?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
fallbackClassName?: string;
|
|
17
|
+
alt?: string;
|
|
18
|
+
};
|
|
19
|
+
declare function Avatar({ label, name, src, fallback, color, bgColor, size, status, ring, className, fallbackClassName, alt, }: AvatarProps): react.JSX.Element;
|
|
20
|
+
type AvatarStackPerson = {
|
|
21
|
+
label?: ReactNode;
|
|
22
|
+
name?: string | null;
|
|
23
|
+
src?: string | null;
|
|
24
|
+
color?: string;
|
|
25
|
+
bgColor?: string;
|
|
26
|
+
};
|
|
27
|
+
type AvatarStackProps = {
|
|
28
|
+
people?: AvatarStackPerson[];
|
|
29
|
+
max?: number;
|
|
30
|
+
size?: number;
|
|
31
|
+
className?: string;
|
|
32
|
+
};
|
|
33
|
+
declare function AvatarStack({ people, max, size, className }: AvatarStackProps): react.JSX.Element;
|
|
34
|
+
|
|
35
|
+
declare const ALL_PATHS: {
|
|
36
|
+
sticker: string;
|
|
37
|
+
menu: string;
|
|
38
|
+
home: string;
|
|
39
|
+
graphic_eq: string;
|
|
40
|
+
history: string;
|
|
41
|
+
settings: string;
|
|
42
|
+
check: string;
|
|
43
|
+
check_circle: string;
|
|
44
|
+
warning: string;
|
|
45
|
+
edit: string;
|
|
46
|
+
link: string;
|
|
47
|
+
volume_off: string;
|
|
48
|
+
volume_up: string;
|
|
49
|
+
extension: string;
|
|
50
|
+
apps: string;
|
|
51
|
+
timer: string;
|
|
52
|
+
movie: string;
|
|
53
|
+
group: string;
|
|
54
|
+
sports_esports: string;
|
|
55
|
+
auto_awesome: string;
|
|
56
|
+
lock: string;
|
|
57
|
+
play_arrow: string;
|
|
58
|
+
queue_music: string;
|
|
59
|
+
account_circle: string;
|
|
60
|
+
pause: string;
|
|
61
|
+
fast_forward: string;
|
|
62
|
+
videocam: string;
|
|
63
|
+
videocam_off: string;
|
|
64
|
+
mic: string;
|
|
65
|
+
mic_off: string;
|
|
66
|
+
call_end: string;
|
|
67
|
+
call: string;
|
|
68
|
+
help: string;
|
|
69
|
+
screen_share: string;
|
|
70
|
+
stop_screen_share: string;
|
|
71
|
+
logout: string;
|
|
72
|
+
add: string;
|
|
73
|
+
add_link: string;
|
|
74
|
+
add_reaction: string;
|
|
75
|
+
open_in_new: string;
|
|
76
|
+
expand_more: string;
|
|
77
|
+
expand_less: string;
|
|
78
|
+
chat: string;
|
|
79
|
+
reply: string;
|
|
80
|
+
close: string;
|
|
81
|
+
feedback: string;
|
|
82
|
+
album: string;
|
|
83
|
+
image: string;
|
|
84
|
+
send: string;
|
|
85
|
+
delete: string;
|
|
86
|
+
star: string;
|
|
87
|
+
star_outline: string;
|
|
88
|
+
person_add: string;
|
|
89
|
+
notifications: string;
|
|
90
|
+
cd: string;
|
|
91
|
+
cassette: string;
|
|
92
|
+
search: string;
|
|
93
|
+
more_horiz: string;
|
|
94
|
+
info: string;
|
|
95
|
+
music_note: string;
|
|
96
|
+
schedule: string;
|
|
97
|
+
chevron_right: string;
|
|
98
|
+
tag: string;
|
|
99
|
+
play_circle: string;
|
|
100
|
+
login: string;
|
|
101
|
+
add_photo_alternate: string;
|
|
102
|
+
mood: string;
|
|
103
|
+
diversity_3: string;
|
|
104
|
+
waving_hand: string;
|
|
105
|
+
dashboard: string;
|
|
106
|
+
forum: string;
|
|
107
|
+
table_view: string;
|
|
108
|
+
campaign: string;
|
|
109
|
+
inbox: string;
|
|
110
|
+
arrow_forward: string;
|
|
111
|
+
arrow_downward: string;
|
|
112
|
+
filter_list: string;
|
|
113
|
+
swap_vert: string;
|
|
114
|
+
view_column: string;
|
|
115
|
+
download: string;
|
|
116
|
+
upload: string;
|
|
117
|
+
drag_indicator: string;
|
|
118
|
+
chevron_left: string;
|
|
119
|
+
flag: string;
|
|
120
|
+
block: string;
|
|
121
|
+
meeting_room: string;
|
|
122
|
+
pending: string;
|
|
123
|
+
picture_in_picture: string;
|
|
124
|
+
open_in_full: string;
|
|
125
|
+
save: string;
|
|
126
|
+
push_pin: string;
|
|
127
|
+
};
|
|
128
|
+
type IconName = keyof typeof ALL_PATHS;
|
|
129
|
+
type IconProps = {
|
|
130
|
+
name: IconName;
|
|
131
|
+
size?: number;
|
|
132
|
+
className?: string;
|
|
133
|
+
};
|
|
134
|
+
declare function Icon({ name, size, className }: IconProps): react.JSX.Element;
|
|
135
|
+
|
|
136
|
+
type BadgeTone = 'live' | 'warn' | 'danger' | 'info' | 'neutral' | 'pro';
|
|
137
|
+
type CountChipProps = {
|
|
138
|
+
children: ReactNode;
|
|
139
|
+
animated?: boolean;
|
|
140
|
+
className?: string;
|
|
141
|
+
};
|
|
142
|
+
declare function CountChip({ children, animated, className }: CountChipProps): react.JSX.Element;
|
|
143
|
+
type BadgeProps = {
|
|
144
|
+
children: ReactNode;
|
|
145
|
+
tone?: BadgeTone;
|
|
146
|
+
dot?: boolean;
|
|
147
|
+
icon?: IconName | ReactNode;
|
|
148
|
+
shape?: 'pill' | 'rounded';
|
|
149
|
+
className?: string;
|
|
150
|
+
variant?: 'new' | 'live';
|
|
151
|
+
};
|
|
152
|
+
declare function Badge({ children, tone, dot, icon, shape, className, variant, }: BadgeProps): react.JSX.Element;
|
|
153
|
+
|
|
154
|
+
type BottomSheetProps = {
|
|
155
|
+
open: boolean;
|
|
156
|
+
onClose: () => void;
|
|
157
|
+
children: ReactNode;
|
|
158
|
+
ariaLabel?: string;
|
|
159
|
+
closeLabel?: string;
|
|
160
|
+
closeOnEsc?: boolean;
|
|
161
|
+
};
|
|
162
|
+
declare function BottomSheet({ open, onClose, children, ariaLabel, closeLabel, closeOnEsc, }: BottomSheetProps): react.JSX.Element;
|
|
163
|
+
|
|
164
|
+
declare const MOBILE_LAYOUT_MQ = "(hover: none), (pointer: coarse), (max-width: 560px)";
|
|
165
|
+
|
|
166
|
+
type ButtonVariant = 'primary' | 'accent' | 'secondary' | 'ghost' | 'danger' | 'live' | 'join';
|
|
167
|
+
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
168
|
+
type ButtonProps = {
|
|
169
|
+
variant?: ButtonVariant;
|
|
170
|
+
size?: ButtonSize;
|
|
171
|
+
loading?: boolean;
|
|
172
|
+
pill?: boolean;
|
|
173
|
+
dot?: boolean;
|
|
174
|
+
icon?: IconName | ReactNode;
|
|
175
|
+
iconRight?: IconName | ReactNode;
|
|
176
|
+
children: ReactNode;
|
|
177
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {
|
|
178
|
+
className?: string;
|
|
179
|
+
};
|
|
180
|
+
declare function Button({ variant, size, loading, disabled, pill, dot, icon, iconRight, type, children, className, ...rest }: ButtonProps): react.JSX.Element;
|
|
181
|
+
|
|
182
|
+
type CheckboxProps = {
|
|
183
|
+
checked: boolean;
|
|
184
|
+
label?: ReactNode;
|
|
185
|
+
className?: string;
|
|
186
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'>;
|
|
187
|
+
declare function Checkbox({ checked, label, id, className, ...rest }: CheckboxProps): react.JSX.Element;
|
|
188
|
+
|
|
189
|
+
type ChipAvatar = {
|
|
190
|
+
label: ReactNode;
|
|
191
|
+
color?: string;
|
|
192
|
+
};
|
|
193
|
+
type ChipProps = {
|
|
194
|
+
selected?: boolean;
|
|
195
|
+
icon?: ReactNode;
|
|
196
|
+
avatar?: ChipAvatar;
|
|
197
|
+
removable?: boolean;
|
|
198
|
+
onRemove?: () => void;
|
|
199
|
+
children: ReactNode;
|
|
200
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {
|
|
201
|
+
className?: string;
|
|
202
|
+
};
|
|
203
|
+
declare function Chip({ selected, icon, avatar, removable, onRemove, children, type, className, ...rest }: ChipProps): react.JSX.Element;
|
|
204
|
+
|
|
205
|
+
type ComposerProps = {
|
|
206
|
+
value: string;
|
|
207
|
+
onChange: (text: string) => void;
|
|
208
|
+
onSubmit: (text: string) => void;
|
|
209
|
+
placeholder?: string;
|
|
210
|
+
maxLength?: number;
|
|
211
|
+
disabled?: boolean;
|
|
212
|
+
sendLabel: string;
|
|
213
|
+
actions?: ReactNode;
|
|
214
|
+
flash?: boolean;
|
|
215
|
+
textareaRef?: MutableRefObject<HTMLTextAreaElement | null>;
|
|
216
|
+
size?: 'default' | 'compact';
|
|
217
|
+
className?: string;
|
|
218
|
+
};
|
|
219
|
+
declare function Composer({ value, onChange, onSubmit, placeholder, maxLength, disabled, sendLabel, actions, flash, textareaRef, size, className, }: ComposerProps): react.JSX.Element;
|
|
220
|
+
|
|
221
|
+
type ConfirmTone = 'danger' | 'warn' | 'info';
|
|
222
|
+
type ConfirmModalProps = {
|
|
223
|
+
onClose: () => void;
|
|
224
|
+
onConfirm: () => void;
|
|
225
|
+
title: string;
|
|
226
|
+
children: ReactNode;
|
|
227
|
+
confirmLabel: string;
|
|
228
|
+
cancelLabel: string;
|
|
229
|
+
confirmVariant?: ButtonVariant;
|
|
230
|
+
tone?: ConfirmTone;
|
|
231
|
+
icon?: IconName;
|
|
232
|
+
loading?: boolean;
|
|
233
|
+
ariaLabel?: string;
|
|
234
|
+
className?: string;
|
|
235
|
+
};
|
|
236
|
+
declare function ConfirmModal({ onClose, onConfirm, title, children, confirmLabel, cancelLabel, confirmVariant, tone, icon, loading, ariaLabel, className, }: ConfirmModalProps): react.JSX.Element;
|
|
237
|
+
|
|
238
|
+
type EmptyNoteProps = {
|
|
239
|
+
children: ReactNode;
|
|
240
|
+
variant?: 'default' | 'compact' | 'dropdown';
|
|
241
|
+
};
|
|
242
|
+
declare function EmptyNote({ children, variant }: EmptyNoteProps): react.JSX.Element;
|
|
243
|
+
|
|
244
|
+
type IconButtonVariant = 'surface' | 'accent' | 'ghost';
|
|
245
|
+
type IconButtonProps = {
|
|
246
|
+
label: string;
|
|
247
|
+
icon: ReactNode;
|
|
248
|
+
variant?: IconButtonVariant;
|
|
249
|
+
size?: number;
|
|
250
|
+
className?: string;
|
|
251
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'className'>;
|
|
252
|
+
declare function IconButton({ label, icon, variant, size, type, className, disabled, ...rest }: IconButtonProps): react.JSX.Element;
|
|
253
|
+
|
|
254
|
+
declare function GoogleIcon(): react.JSX.Element;
|
|
255
|
+
|
|
256
|
+
declare function PersonIcon(): react.JSX.Element;
|
|
257
|
+
|
|
258
|
+
type InputProps = {
|
|
259
|
+
label?: ReactNode;
|
|
260
|
+
error?: ReactNode;
|
|
261
|
+
prefix?: ReactNode;
|
|
262
|
+
className?: string;
|
|
263
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'className'>;
|
|
264
|
+
declare function Input({ label, error, prefix, id, onFocus, onBlur, className, ...rest }: InputProps): react.JSX.Element;
|
|
265
|
+
|
|
266
|
+
type LinkVariant = 'inline' | 'subtle' | 'pill' | 'wrapper';
|
|
267
|
+
declare function linkClass(variant?: LinkVariant, className?: string): string;
|
|
268
|
+
type LinkProps = {
|
|
269
|
+
variant?: LinkVariant;
|
|
270
|
+
asChild?: boolean;
|
|
271
|
+
className?: string;
|
|
272
|
+
children: ReactNode;
|
|
273
|
+
} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'className'>;
|
|
274
|
+
declare function Link({ variant, asChild, className, children, ...rest }: LinkProps): react.JSX.Element;
|
|
275
|
+
|
|
276
|
+
type LogoMarkVariant = 'row' | 'cluster';
|
|
277
|
+
type LogoMarkProps = {
|
|
278
|
+
variant?: LogoMarkVariant;
|
|
279
|
+
size?: number;
|
|
280
|
+
showWordmark?: boolean;
|
|
281
|
+
wordmarkSize?: number;
|
|
282
|
+
className?: string;
|
|
283
|
+
};
|
|
284
|
+
declare function LogoMark({ variant, size, showWordmark, wordmarkSize, className, }: LogoMarkProps): react.JSX.Element;
|
|
285
|
+
|
|
286
|
+
type LozengeTone = 'success' | 'warning' | 'accent' | 'info' | 'neutral';
|
|
287
|
+
type LozengeProps = {
|
|
288
|
+
tone?: LozengeTone;
|
|
289
|
+
dot?: boolean;
|
|
290
|
+
children: ReactNode;
|
|
291
|
+
className?: string;
|
|
292
|
+
};
|
|
293
|
+
declare function Lozenge({ tone, dot, children, className, }: LozengeProps): react.JSX.Element;
|
|
294
|
+
|
|
295
|
+
type MenuProps = {
|
|
296
|
+
children: ReactNode;
|
|
297
|
+
ariaLabel?: string;
|
|
298
|
+
className?: string;
|
|
299
|
+
};
|
|
300
|
+
declare function Menu({ children, ariaLabel, className }: MenuProps): react.JSX.Element;
|
|
301
|
+
type MenuItemProps = {
|
|
302
|
+
onSelect: () => void;
|
|
303
|
+
children: ReactNode;
|
|
304
|
+
icon?: ReactNode;
|
|
305
|
+
trailing?: ReactNode;
|
|
306
|
+
active?: boolean;
|
|
307
|
+
danger?: boolean;
|
|
308
|
+
disabled?: boolean;
|
|
309
|
+
role?: 'menuitem' | 'menuitemradio' | 'menuitemcheckbox';
|
|
310
|
+
};
|
|
311
|
+
declare function MenuItem({ onSelect, children, icon, trailing, active, danger, disabled, role, }: MenuItemProps): react.JSX.Element;
|
|
312
|
+
|
|
313
|
+
type ModalProps = {
|
|
314
|
+
onClose: () => void;
|
|
315
|
+
children: ReactNode;
|
|
316
|
+
width?: string;
|
|
317
|
+
className?: string;
|
|
318
|
+
ariaLabel?: string;
|
|
319
|
+
closeLabel?: string;
|
|
320
|
+
as?: 'div' | 'form';
|
|
321
|
+
onSubmit?: (e: any) => void;
|
|
322
|
+
closeOnEsc?: boolean;
|
|
323
|
+
title?: ReactNode;
|
|
324
|
+
footer?: ReactNode;
|
|
325
|
+
};
|
|
326
|
+
declare function Modal({ onClose, children, width, className, ariaLabel, closeLabel, as, onSubmit, closeOnEsc, title, footer, }: ModalProps): react.JSX.Element;
|
|
327
|
+
|
|
328
|
+
type PopoverPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
|
|
329
|
+
type PopoverProps = {
|
|
330
|
+
open: boolean;
|
|
331
|
+
onClose: () => void;
|
|
332
|
+
trigger: ReactNode;
|
|
333
|
+
children: ReactNode;
|
|
334
|
+
placement?: PopoverPlacement;
|
|
335
|
+
ariaLabel?: string;
|
|
336
|
+
role?: string;
|
|
337
|
+
panelClassName?: string;
|
|
338
|
+
panelShadow?: string;
|
|
339
|
+
panelPadding?: boolean;
|
|
340
|
+
panelScroll?: boolean;
|
|
341
|
+
mobileSheet?: boolean;
|
|
342
|
+
portal?: boolean;
|
|
343
|
+
closeOnEsc?: boolean;
|
|
344
|
+
closeOnOutside?: boolean;
|
|
345
|
+
};
|
|
346
|
+
declare function Popover({ open, onClose, trigger, children, placement, ariaLabel, role, panelClassName, panelShadow, panelPadding, panelScroll, mobileSheet, portal, closeOnEsc, closeOnOutside, }: PopoverProps): react.JSX.Element;
|
|
347
|
+
|
|
348
|
+
type OpenProfile = (uid?: string) => void;
|
|
349
|
+
declare const ProfileModalContext: react.Context<OpenProfile>;
|
|
350
|
+
declare function useOpenProfile(): OpenProfile;
|
|
351
|
+
|
|
352
|
+
type RadioProps = {
|
|
353
|
+
checked: boolean;
|
|
354
|
+
label?: ReactNode;
|
|
355
|
+
className?: string;
|
|
356
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'type'>;
|
|
357
|
+
declare function Radio({ checked, label, id, className, ...rest }: RadioProps): react.JSX.Element;
|
|
358
|
+
|
|
359
|
+
type RingTimerProps = {
|
|
360
|
+
secondsLeft: number;
|
|
361
|
+
totalSeconds: number;
|
|
362
|
+
size?: number;
|
|
363
|
+
urgentThreshold?: number;
|
|
364
|
+
caption?: string;
|
|
365
|
+
className?: string;
|
|
366
|
+
};
|
|
367
|
+
declare function RingTimer({ secondsLeft, totalSeconds, size, urgentThreshold, caption, className, }: RingTimerProps): react.JSX.Element;
|
|
368
|
+
|
|
369
|
+
type SearchFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'className'> & {
|
|
370
|
+
className?: string;
|
|
371
|
+
};
|
|
372
|
+
declare function SearchField({ className, ...rest }: SearchFieldProps): react.JSX.Element;
|
|
373
|
+
|
|
374
|
+
type SpinnerProps = {
|
|
375
|
+
size?: number;
|
|
376
|
+
thickness?: number;
|
|
377
|
+
label?: string;
|
|
378
|
+
className?: string;
|
|
379
|
+
};
|
|
380
|
+
declare function Spinner({ size, thickness, label, className }: SpinnerProps): react.JSX.Element;
|
|
381
|
+
|
|
382
|
+
type SplitModalItem = {
|
|
383
|
+
id: string;
|
|
384
|
+
label: string;
|
|
385
|
+
icon?: IconName;
|
|
386
|
+
};
|
|
387
|
+
type SplitModalProps = {
|
|
388
|
+
items: SplitModalItem[];
|
|
389
|
+
value: string;
|
|
390
|
+
onSelect: (id: string) => void;
|
|
391
|
+
children: ReactNode;
|
|
392
|
+
onClose: () => void;
|
|
393
|
+
navLabel: string;
|
|
394
|
+
navTitle?: string;
|
|
395
|
+
navFooter?: ReactNode;
|
|
396
|
+
title?: string;
|
|
397
|
+
description?: string;
|
|
398
|
+
footer?: ReactNode;
|
|
399
|
+
ariaLabel?: string;
|
|
400
|
+
closeLabel?: string;
|
|
401
|
+
backLabel?: string;
|
|
402
|
+
asSheet?: boolean;
|
|
403
|
+
width?: string;
|
|
404
|
+
navWidth?: number;
|
|
405
|
+
className?: string;
|
|
406
|
+
narrow?: boolean;
|
|
407
|
+
};
|
|
408
|
+
declare function SplitModal({ items, value, onSelect, children, onClose, navLabel, navTitle, navFooter, title, description, footer, ariaLabel, closeLabel, backLabel, asSheet, width, navWidth, className, narrow, }: SplitModalProps): react.JSX.Element;
|
|
409
|
+
|
|
410
|
+
type StatusTone = 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
411
|
+
type StatusDotProps = {
|
|
412
|
+
tone?: StatusTone;
|
|
413
|
+
size?: number;
|
|
414
|
+
pulse?: boolean;
|
|
415
|
+
label?: string;
|
|
416
|
+
className?: string;
|
|
417
|
+
};
|
|
418
|
+
declare function StatusDot({ tone, size, pulse, label, className, }: StatusDotProps): react.JSX.Element;
|
|
419
|
+
type StatusBadgeProps = {
|
|
420
|
+
tone?: StatusTone;
|
|
421
|
+
children: ReactNode;
|
|
422
|
+
dot?: boolean;
|
|
423
|
+
pulse?: boolean;
|
|
424
|
+
className?: string;
|
|
425
|
+
};
|
|
426
|
+
declare function StatusBadge({ tone, children, dot, pulse, className, }: StatusBadgeProps): react.JSX.Element;
|
|
427
|
+
|
|
428
|
+
type StepFlowStep = {
|
|
429
|
+
key: string;
|
|
430
|
+
label: string;
|
|
431
|
+
};
|
|
432
|
+
type StepFlowProps = {
|
|
433
|
+
steps: StepFlowStep[];
|
|
434
|
+
currentIndex: number;
|
|
435
|
+
direction?: 'row' | 'column';
|
|
436
|
+
className?: string;
|
|
437
|
+
};
|
|
438
|
+
declare function StepFlow({ steps, currentIndex, direction, className, }: StepFlowProps): react.JSX.Element;
|
|
439
|
+
|
|
440
|
+
type StepperProps = {
|
|
441
|
+
value: number;
|
|
442
|
+
min: number;
|
|
443
|
+
max: number;
|
|
444
|
+
step: number;
|
|
445
|
+
onChange: (next: number) => void;
|
|
446
|
+
disabled?: boolean;
|
|
447
|
+
decLabel?: string;
|
|
448
|
+
incLabel?: string;
|
|
449
|
+
};
|
|
450
|
+
declare function Stepper({ value, min, max, step, onChange, disabled, decLabel, incLabel, }: StepperProps): react.JSX.Element;
|
|
451
|
+
|
|
452
|
+
type TabItem = {
|
|
453
|
+
key: string;
|
|
454
|
+
label: ReactNode;
|
|
455
|
+
badge?: ReactNode;
|
|
456
|
+
};
|
|
457
|
+
type TabsProps = {
|
|
458
|
+
tabs: TabItem[];
|
|
459
|
+
value: string;
|
|
460
|
+
onChange: (key: string) => void;
|
|
461
|
+
ariaLabel?: string;
|
|
462
|
+
trailing?: ReactNode;
|
|
463
|
+
className?: string;
|
|
464
|
+
variant?: 'default' | 'fill';
|
|
465
|
+
};
|
|
466
|
+
declare function Tabs({ tabs, value, onChange, ariaLabel, trailing, className, variant, }: TabsProps): react.JSX.Element;
|
|
467
|
+
|
|
468
|
+
type ToastTone = 'success' | 'error' | 'info' | 'warn' | 'danger';
|
|
469
|
+
type ToastVariant = 'default' | 'snackbar';
|
|
470
|
+
type ToastProps = {
|
|
471
|
+
children?: ReactNode;
|
|
472
|
+
tone?: ToastTone;
|
|
473
|
+
variant?: ToastVariant;
|
|
474
|
+
icon?: ReactNode;
|
|
475
|
+
title?: ReactNode;
|
|
476
|
+
message?: ReactNode;
|
|
477
|
+
action?: ReactNode;
|
|
478
|
+
onAction?: () => void;
|
|
479
|
+
onClose?: () => void;
|
|
480
|
+
fixed?: boolean;
|
|
481
|
+
role?: 'status' | 'alert';
|
|
482
|
+
className?: string;
|
|
483
|
+
};
|
|
484
|
+
declare function Toast({ children, tone, variant, icon, title, message, action, onAction, onClose, fixed, role, className, }: ToastProps): react.JSX.Element;
|
|
485
|
+
|
|
486
|
+
type ToggleProps = {
|
|
487
|
+
checked?: boolean;
|
|
488
|
+
onChange?: () => void;
|
|
489
|
+
label?: string;
|
|
490
|
+
disabled?: boolean;
|
|
491
|
+
};
|
|
492
|
+
declare function Toggle({ checked, onChange, label, disabled, }: ToggleProps): react.JSX.Element;
|
|
493
|
+
|
|
494
|
+
type Ref = RefObject<HTMLElement | null>;
|
|
495
|
+
declare function useDismiss(open: boolean, ref: Ref | Ref[], onDismiss: () => void, options?: {
|
|
496
|
+
closeOnEsc?: boolean;
|
|
497
|
+
closeOnOutside?: boolean;
|
|
498
|
+
ignore?: (target: Node) => boolean;
|
|
499
|
+
}): void;
|
|
500
|
+
|
|
501
|
+
export { Avatar, type AvatarProps, AvatarStack, type AvatarStackPerson, type AvatarStackProps, type AvatarStatus, Badge, type BadgeProps, type BadgeTone, BottomSheet, type BottomSheetProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxProps, Chip, type ChipAvatar, type ChipProps, Composer, type ComposerProps, ConfirmModal, type ConfirmModalProps, type ConfirmTone, CountChip, type CountChipProps, EmptyNote, type EmptyNoteProps, GoogleIcon, Icon, IconButton, type IconButtonProps, type IconButtonVariant, type IconName, type IconProps, Input, type InputProps, Link, type LinkProps, type LinkVariant, LogoMark, type LogoMarkProps, type LogoMarkVariant, Lozenge, type LozengeProps, type LozengeTone, MOBILE_LAYOUT_MQ, Menu, MenuItem, type MenuItemProps, type MenuProps, Modal, type ModalProps, type OpenProfile, PersonIcon, Popover, type PopoverPlacement, type PopoverProps, ProfileModalContext, Radio, type RadioProps, RingTimer, type RingTimerProps, SearchField, type SearchFieldProps, Spinner, type SpinnerProps, SplitModal, type SplitModalItem, type SplitModalProps, StatusBadge, type StatusBadgeProps, StatusDot, type StatusDotProps, type StatusTone, StepFlow, type StepFlowProps, type StepFlowStep, Stepper, type StepperProps, type TabItem, Tabs, type TabsProps, Toast, type ToastProps, type ToastTone, type ToastVariant, Toggle, type ToggleProps, linkClass, useDismiss, useOpenProfile };
|