Skip to content

Commit 95364f5

Browse files
committed
feat(Toast): added loading toast
1 parent 3dfb8f5 commit 95364f5

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/components/Toast/Toast.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { getStringId } from '../../utils';
55
import { Button } from '../Button';
66
import { Icon } from '../Icon';
77
import { IconButton } from '../IconButton';
8+
import { Spinner } from '../Spinner';
89

910
export interface ToastProps extends CommonToastProps, HTMLAttributes<HTMLDivElement> {
1011
/**
@@ -50,6 +51,8 @@ export const Toast: FC<ToastProps> = ({
5051
return 'Warning';
5152
case 'error':
5253
return 'Error';
54+
case 'loading':
55+
return undefined;
5356
}
5457
}, [message]);
5558

@@ -66,7 +69,7 @@ export const Toast: FC<ToastProps> = ({
6669
aria-atomic={ariaAtomic}
6770
>
6871
<div className="ui__toast__border" />
69-
<Icon icon={icon} className="ui__toast__icon" />
72+
{icon ? <Icon icon={icon} className="ui__toast__icon" /> : <Spinner className="ui__toast__spinner" />}
7073
<div className="ui__toast__copy">
7174
{heading ? (
7275
<div className="ui__toast__copy__heading" id={headingId}>

src/components/Toast/_Toast.scss

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
}
1717

1818
&--message {
19-
&-info {
19+
&-info,
20+
&-loading {
2021
.ui__toast__border {
2122
background-color: $color-message-info;
2223
}
@@ -64,6 +65,18 @@
6465
flex-shrink: 0;
6566
}
6667

68+
&__spinner {
69+
margin: 0 $padding-medium;
70+
@include flex-center;
71+
flex-shrink: 0;
72+
height: 100%;
73+
74+
> * {
75+
height: 20px;
76+
width: 20px;
77+
}
78+
}
79+
6780
&__copy {
6881
padding: $padding-small $padding $padding-small 0;
6982
display: flex;

0 commit comments

Comments
 (0)