Import import { Avatar } from '@contentful/f36-avatar' ;
import { Avatar } from '@contentful/f36-component' ;
Examples Variants The Avatar can be rendered in different variants:
User - default variantApp Loading component... Loading component... function AvatarVariantsExample ( ) {
return (
< Stack >
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
variant = " user "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
variant = " app "
/>
</ Stack >
) ;
}
Sizes The Avatar can be rendered in different sizes:
Tiny - 20pxSmall - 24pxMedium - 32px, default sizeLarge - 48pxLoading component... Loading component... Loading component... Loading component... function AvatarVariantsExample ( ) {
return (
< Stack >
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " tiny "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " small "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " medium "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
/>
</ Stack >
) ;
}
Color Border By default, the Avatar is rendered with a thin gray border. You can change the border to be one of 9 different colors: blue, purple, orchid, strawberry, orange, gold, olive, green, ocean
Loading component... Loading component... Loading component... Loading component... Loading component... Loading component... Loading component... Loading component... Loading component... function AvatarColorBordersExample ( ) {
return (
< Stack >
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " gray "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " green "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " yellow "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " orange "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " purple "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " pink "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " lavender "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " emerald "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " large "
colorVariant = " primary "
/>
</ Stack >
) ;
}
Special style variant muted This property modifies the opacity of the Avatar component to indicate activity state.
Loading component... Loading component... function AvatarActiveExample ( ) {
return (
< Stack >
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " medium "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " medium "
colorVariant = " muted "
/>
</ Stack >
) ;
}
Icons An Avatar can display an icon on top of the image
Loading component... Loading component... function AvatarIconExamples ( ) {
return (
< Stack >
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " medium "
/>
< Avatar
src = " https://images.ctfassets.net/iq4lnigp6fgt/2EEEk92Kiz6KxREsjBLPAN/810d5a21650d91abad12e95da4cd3beb/2021-06_Everyone_is_Welcome_here_1_.png?fit=fill&f=top_left&w=100&h=100 "
size = " medium "
icon = { < CheckCircleIcon variant = " positive " /> }
/>
</ Stack >
) ;
}
Fallback In some cases a user or an app will have no avatar to display. Instead, a fallback can be rendered when the src
property is undefined (or an empty string ""
) and the loading state is not true
.
function AvatarFallbackExample ( ) {
return < Avatar /> ;
}
Loading skeleton When the avatar image is loading, a loading skeleton will be shown automatically. You can also force the loading state with the isLoading
prop.
Loading component... function AvatarLoadingExample ( ) {
return < Avatar isLoading /> ;
}
Name Type Default alt string
className string
CSS class to be appended to the root element
colorVariant "primary"
"muted"
"green"
"orange"
"yellow"
"purple"
"gray"
"pink"
"emerald"
"lavender"
'gray'
icon ReactElement<any, string | JSXElementConstructor<any>>
initials string
isLoading false
true
false
size "small"
"tiny"
"medium"
"large"
'medium'
src string
testId string
A [data-test-id] attribute used for testing purposes
tooltipProps CommonProps & WithEnhancedContent & Omit<TooltipInternalProps, "children">
A tooltipProps attribute used to conditionally render the tooltip around root element
variant "app"
"user"
'user'
Accessibility Make sure to pass a fitting alt
property, especially if the avatar is used by itself without the user's name next to it.