Skip to content

Commit d2f0fc6

Browse files
committed
feat(Avatar): Add textColor prop to customize text color
1 parent 6ebe625 commit d2f0fc6

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

react/Avatar/Readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ const initialVariants = [{ disabled: false, border: false, innerBorder: false }]
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>
8989
<Avatar color="#0000ff" disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>EF</Avatar>
90+
<Avatar color="grey" textColor="white" disabled={variant.disabled} border={variant.border} innerBorder={variant.innerBorder}>FG</Avatar>
9091
</div>
9192
</>
9293
)}

react/Avatar/index.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ const useStyles = makeStyles(theme => ({
1414
fontSize: ({ size }) => size / 2
1515
},
1616
colorDefault: {
17-
color: ({ color }) => (color ? theme.palette.primary.contrastText : ''),
17+
color: ({ color, textColor }) =>
18+
textColor ? textColor : color ? theme.palette.primary.contrastText : '',
1819
background: ({ color }) =>
1920
supportedColors.includes(color) ? colorMapping[color] : color
2021
}
@@ -28,14 +29,16 @@ const Avatar = ({
2829
innerBorder,
2930
disabled,
3031
display,
32+
textColor,
3133
...props
3234
}) => {
3335
const isCustomSize = typeof size === 'number'
3436
const defaultColor =
3537
typeof props.children === 'string' ? nameToColor(props.children) : undefined
3638
const classes = useStyles({
3739
size: isCustomSize ? size : undefined,
38-
color: color === 'none' ? undefined : color || defaultColor
40+
color: color === 'none' ? undefined : color || defaultColor,
41+
textColor
3942
})
4043

4144
return (
@@ -59,6 +62,7 @@ Avatar.propTypes = {
5962
PropTypes.oneOf(['xs', 's', 'm', 'l', 'xl']),
6063
PropTypes.number
6164
]),
65+
textColor: PropTypes.string,
6266
color: PropTypes.oneOfType([
6367
PropTypes.oneOf([...supportedColors, 'none']),
6468
PropTypes.string

0 commit comments

Comments
 (0)