Avatars are a visual representation of a customer's identity. These may be small thumbnails as part of a menu or more prominent, standalone elements on account and management views.
Initials are dynamically generated from the provided name and always rendered. This allows the initials to serve as a placeholder while the image is loading.
yarn add @weave-design/avatar @weave-design/theme-context @weave-design/theme-data
import Avatar, { sizes } from '@weave-design/avatar';
<Avatar
name="David Gonzales"
size={sizes.LARGE_48}
/>
Use the className
prop to pass in a css class name to the outermost container of the component. The class name will also pass down to most of the other styled elements within the component.
Avatar also has a stylesheet
prop that accepts a function wherein you can modify its styles. For instance
import Avatar from '@weave-design/avatar';
function YourComponent() {
// ...
const customStylesheet = (styles, props, themeData) => ({
...styles,
avatarContainer: {
...styles.avatarContainer,
color: themeData["colorScheme.status.error"]
},
avatarImageWrapper: {
...styles.avatarImageWrapper,
opacity: 1
},
avatarImage: {
...styles.avatarImage,
padding: `4px`
},
avatarInitials: {
...styles.avatarInitials,
position: `static`
}
});
return (
<Avatar stylesheet={customStylesheet} />
);
}