feat: update toast api to account for duration and closable (#5427)

* feat: update toast api to account for duration and closable

* fix

* update snaps

* update docs

* male toast nullable

* fix snaps

* remove clearToast from App.tsx and replace clearToast prop in Toast comp with onClose
This commit is contained in:
Aakansha Doshi 2022-07-11 18:11:13 +05:30 committed by GitHub
parent e885057a71
commit a7153d9d1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 162 additions and 120 deletions

View file

@ -7,13 +7,13 @@ const DEFAULT_TOAST_TIMEOUT = 5000;
export const Toast = ({
message,
clearToast,
onClose,
closable = false,
// To prevent autoclose, pass duration as Infinity
duration = DEFAULT_TOAST_TIMEOUT,
}: {
message: string;
clearToast: () => void;
onClose: () => void;
closable?: boolean;
duration?: number;
}) => {
@ -23,8 +23,8 @@ export const Toast = ({
if (!shouldAutoClose) {
return;
}
timerRef.current = window.setTimeout(() => clearToast(), duration);
}, [clearToast, duration, shouldAutoClose]);
timerRef.current = window.setTimeout(() => onClose(), duration);
}, [onClose, duration, shouldAutoClose]);
useEffect(() => {
if (!shouldAutoClose) {
@ -50,7 +50,7 @@ export const Toast = ({
icon={close}
aria-label="close"
type="icon"
onClick={clearToast}
onClick={onClose}
className="close"
/>
)}