Skip to content

Commit 6ebe625

Browse files
committed
feat(Avatar): Prop color accept custom colors
1 parent a3a1f99 commit 6ebe625

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

react/Avatar/Readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const initialVariants = [{ disabled: false, border: false, innerBorder: false }]
8686
<Avatar color="none" disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>BC</Avatar>
8787
<Avatar color="sunrise" disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>CD</Avatar>
8888
<Avatar color="sunrise" size={94} disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>DE</Avatar>
89+
<Avatar color="#0000ff" disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>EF</Avatar>
8990
</div>
9091
</>
9192
)}

react/Avatar/index.jsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ const useStyles = makeStyles(theme => ({
1515
},
1616
colorDefault: {
1717
color: ({ color }) => (color ? theme.palette.primary.contrastText : ''),
18-
background: ({ color }) => colorMapping[color]
18+
background: ({ color }) =>
19+
supportedColors.includes(color) ? colorMapping[color] : color
1920
}
2021
}))
2122

@@ -34,12 +35,7 @@ const Avatar = ({
3435
typeof props.children === 'string' ? nameToColor(props.children) : undefined
3536
const classes = useStyles({
3637
size: isCustomSize ? size : undefined,
37-
color:
38-
color === 'none'
39-
? undefined
40-
: supportedColors.includes(color)
41-
? color
42-
: defaultColor
38+
color: color === 'none' ? undefined : color || defaultColor
4339
})
4440

4541
return (
@@ -63,7 +59,10 @@ Avatar.propTypes = {
6359
PropTypes.oneOf(['xs', 's', 'm', 'l', 'xl']),
6460
PropTypes.number
6561
]),
66-
color: PropTypes.oneOf([...supportedColors, 'none']),
62+
color: PropTypes.oneOfType([
63+
PropTypes.oneOf([...supportedColors, 'none']),
64+
PropTypes.string
65+
]),
6766
/** Controls the display type */
6867
display: PropTypes.oneOf(['initial', 'inline']),
6968
disabled: PropTypes.bool

0 commit comments

Comments
 (0)