@@ -6,35 +6,54 @@ import {
66 resumeToastTimer ,
77 removeAllToast ,
88 getRemainingTimeForToast ,
9+ Toast ,
910} from './toast-store' ;
11+ import { ToastProps } from './types' ;
1012
1113export const toast = Object . assign (
12- ( message : React . ReactNode , options ?: Partial < any > ) => {
13- return addToast ( { ...options , message, type : 'custom' } ) ; // Default to custom toast
14+ (
15+ message : React . ReactNode ,
16+ options ?: Partial < Omit < ToastProps , 'message' > >
17+ ) => {
18+ return addToast ( { ...options , message, type : 'custom' } ) ; // Default to custom toast
1419 } ,
1520 {
16- success : ( message : React . ReactNode , options ?: Partial < any > ) =>
17- addToast ( { ...options , message, type : 'success' } ) ,
18- error : ( message : React . ReactNode , options ?: Partial < any > ) =>
19- addToast ( { ...options , message, type : 'error' } ) ,
20- info : ( message : React . ReactNode , options ?: Partial < any > ) =>
21- addToast ( { ...options , message, type : 'info' } ) ,
22- envelope : ( message : React . ReactNode , options ?: Partial < any > ) =>
23- addToast ( { ...options , message, type : 'envelope' } ) ,
24- drawer : ( message : React . ReactNode , options ?: Partial < any > ) =>
25- addToast ( { ...options , message, type : 'drawer' } ) ,
26- warning : ( message : React . ReactNode , options ?: Partial < any > ) =>
27- addToast ( { ...options , message, type : 'warning' } ) ,
28- custom : ( message : React . ReactNode , options ?: Partial < any > ) =>
29- addToast ( { ...options , message, type : 'custom' } ) ,
21+ success : (
22+ message : React . ReactNode ,
23+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
24+ ) => addToast ( { ...options , message, type : 'success' } ) ,
25+ error : (
26+ message : React . ReactNode ,
27+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
28+ ) => addToast ( { ...options , message, type : 'error' } ) ,
29+ info : (
30+ message : React . ReactNode ,
31+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
32+ ) => addToast ( { ...options , message, type : 'info' } ) ,
33+ envelope : (
34+ message : React . ReactNode ,
35+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
36+ ) => addToast ( { ...options , message, type : 'envelope' } ) ,
37+ drawer : (
38+ message : React . ReactNode ,
39+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
40+ ) => addToast ( { ...options , message, type : 'drawer' } ) ,
41+ warning : (
42+ message : React . ReactNode ,
43+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
44+ ) => addToast ( { ...options , message, type : 'warning' } ) ,
45+ custom : (
46+ message : React . ReactNode ,
47+ options ?: Partial < Omit < ToastProps , 'message' | 'type' > >
48+ ) => addToast ( { ...options , message, type : 'custom' } ) ,
3049 remove : ( id : string ) => removeToast ( id ) ,
3150 removeAll : ( ) => removeAllToast ( ) ,
32- update : ( id : string , updates : Partial < any > ) => updateToast ( id , updates ) ,
51+ update : ( id : string , updates : Partial < Toast > ) => updateToast ( id , updates ) ,
3352 pause : ( id : string ) => pauseToastTimer ( id ) ,
3453 remainingTime : ( id : string ) => getRemainingTimeForToast ( id ) ,
3554 resume : ( id : string ) => resumeToastTimer ( id ) ,
36- promise : (
37- promise : Promise < any > ,
55+ promise : < T = void > (
56+ promise : Promise < T > ,
3857 {
3958 loading,
4059 success,
@@ -47,30 +66,30 @@ export const toast = Object.assign(
4766 error : string ;
4867 duration ?: number ;
4968 position ?: any ;
50- toastOptions ?: Partial < any > ;
69+ toastOptions ?: Partial < ToastProps > ;
5170 }
5271 ) => {
5372 // Show the loading toast indefinitely
5473 const loadingToastId = addToast ( {
5574 message : loading ,
56- type : " promise" ,
75+ type : ' promise' ,
5776 position,
5877 ...toastOptions ,
5978 duration : Infinity , // Ensure loading toast doesn't disappear
6079 } ) ;
61-
80+
6281 promise
63- . then ( ( res ) => {
82+ . then ( ( ) => {
6483 updateToast ( loadingToastId , {
6584 message : success ,
66- type : " success" ,
85+ type : ' success' ,
6786 duration : toastOptions . duration ?? 3000 , // Use toastOptions.duration
6887 } ) ;
6988 } )
70- . catch ( ( err ) => {
89+ . catch ( ( ) => {
7190 updateToast ( loadingToastId , {
7291 message : error ,
73- type : " error" ,
92+ type : ' error' ,
7493 duration : toastOptions . duration ?? 3000 , // Use toastOptions.duration
7594 } ) ;
7695 } ) ;
0 commit comments