Skip to content

Commit dab1056

Browse files
committed
refactor: handle empty style fillers internally
1 parent bd5e0ae commit dab1056

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

src/NotificationList/index.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,19 @@ export interface NotificationListProps {
4242

4343
const noticeSlotKeys = ['wrapper', 'root', 'icon', 'section', 'close', 'progress'] as const;
4444

45-
function fillClassNames(classNamesList: NotificationClassNames[]): NotificationClassNames {
45+
function fillClassNames(
46+
classNamesList: (NotificationClassNames | undefined)[],
47+
): NotificationClassNames {
4648
return noticeSlotKeys.reduce<NotificationClassNames>((mergedClassNames, key) => {
47-
mergedClassNames[key] = clsx(...classNamesList.map((classNames) => classNames[key]));
49+
mergedClassNames[key] = clsx(...classNamesList.map((classNames) => classNames?.[key]));
4850

4951
return mergedClassNames;
5052
}, {});
5153
}
5254

53-
function fillStyles(stylesList: NotificationStyles[]): NotificationStyles {
55+
function fillStyles(stylesList: (NotificationStyles | undefined)[]): NotificationStyles {
5456
return noticeSlotKeys.reduce<NotificationStyles>((mergedStyles, key) => {
55-
mergedStyles[key] = Object.assign({}, ...stylesList.map((styles) => styles[key]));
57+
mergedStyles[key] = Object.assign({}, ...stylesList.map((styles) => styles?.[key]));
5658

5759
return mergedStyles;
5860
}, {});
@@ -114,15 +116,15 @@ const NotificationListItem: React.FC<NotificationListItemProps> = (props) => {
114116
className={clsx(contextClassNames?.notice, config.className)}
115117
style={config.style}
116118
classNames={fillClassNames([
117-
classNames || {},
118-
config.classNames || {},
119+
classNames,
120+
config.classNames,
119121
{
120122
root: motionClassName,
121123
},
122124
])}
123125
styles={fillStyles([
124-
styles || {},
125-
config.styles || {},
126+
styles,
127+
config.styles,
126128
{
127129
root: motionStyle,
128130
},

0 commit comments

Comments
 (0)