@@ -42,33 +42,17 @@ export interface NotificationListProps {
4242
4343const noticeSlotKeys = [ 'wrapper' , 'root' , 'icon' , 'section' , 'close' , 'progress' ] as const ;
4444
45- function fillClassNames (
46- classNames ?: NotificationClassNames ,
47- configClassNames ?: NotificationClassNames ,
48- extraClassNames ?: NotificationClassNames ,
49- ) : NotificationClassNames {
45+ function fillClassNames ( classNamesList : NotificationClassNames [ ] ) : NotificationClassNames {
5046 return noticeSlotKeys . reduce < NotificationClassNames > ( ( mergedClassNames , key ) => {
51- mergedClassNames [ key ] = clsx (
52- classNames ?. [ key ] ,
53- configClassNames ?. [ key ] ,
54- extraClassNames ?. [ key ] ,
55- ) ;
47+ mergedClassNames [ key ] = clsx ( ...classNamesList . map ( ( classNames ) => classNames [ key ] ) ) ;
5648
5749 return mergedClassNames ;
5850 } , { } ) ;
5951}
6052
61- function fillStyles (
62- styles ?: NotificationStyles ,
63- configStyles ?: NotificationStyles ,
64- extraStyles ?: NotificationStyles ,
65- ) : NotificationStyles {
53+ function fillStyles ( stylesList : NotificationStyles [ ] ) : NotificationStyles {
6654 return noticeSlotKeys . reduce < NotificationStyles > ( ( mergedStyles , key ) => {
67- mergedStyles [ key ] = {
68- ...styles ?. [ key ] ,
69- ...configStyles ?. [ key ] ,
70- ...extraStyles ?. [ key ] ,
71- } ;
55+ mergedStyles [ key ] = Object . assign ( { } , ...stylesList . map ( ( styles ) => styles [ key ] ) ) ;
7256
7357 return mergedStyles ;
7458 } , { } ) ;
@@ -135,12 +119,20 @@ const NotificationListItem: React.FC<NotificationListItemProps> = (props) => {
135119 stackInThreshold = { stackInThreshold }
136120 className = { clsx ( contextClassNames ?. notice , config . className ) }
137121 style = { config . style }
138- classNames = { fillClassNames ( classNames , config . classNames , {
139- root : motionClassName ,
140- } ) }
141- styles = { fillStyles ( styles , config . styles , {
142- root : motionStyle ,
143- } ) }
122+ classNames = { fillClassNames ( [
123+ classNames || { } ,
124+ config . classNames || { } ,
125+ {
126+ root : motionClassName ,
127+ } ,
128+ ] ) }
129+ styles = { fillStyles ( [
130+ styles || { } ,
131+ config . styles || { } ,
132+ {
133+ root : motionStyle ,
134+ } ,
135+ ] ) }
144136 components = { {
145137 ...components ,
146138 ...config . components ,
0 commit comments