UNPKG

@pmwcs/avatar

Version:

PMWCS avatar component

189 lines (161 loc) 4.05 kB
# Avatars (PMWCS Addon) Avatars are virtual representations of users in a system. - Module **@pmwcs/avatar** - Import styles: - Using CSS Loader - import '@pmwcs/avatar/styles'; - Or include stylesheets - **'@pmwcs/avatar/avatar.css'** - **'@pmwcs/icon/icon.css'** - **'@material/ripple/dist/mdc.ripple.css'** ```jsx <> <Avatar src="images/avatars/blackwidow.png" size="xsmall" name="Natalia Alianovna Romanova" /> <Avatar src="images/avatars/hulk.png" size="small" name="Bruce Banner" /> <Avatar src="images/avatars/thor.png" size="medium" name="Thor Odinson" /> <Avatar src="images/avatars/captainamerica.png" size="large" name="Steve Rogers" /> <Avatar src="images/avatars/ironman.png" size="xlarge" name="Tony Stark" /> </> ``` ```jsx <> <Avatar name="Natalia Alianovna Romanova" size="xsmall" /> <Avatar name="Bruce Banner" size="small" /> <Avatar name="Thor Odinson" size="medium" /> <Avatar name="Steve Rogers" size="large" /> <Avatar name="Tony Stark" size="xlarge" /> </> ``` ```jsx <Avatar src="images/avatars/blackwidow.png" size="large" name="Natalia Alianovna Romanova" square /> ``` ```jsx <Avatar src="images/avatars/google.svg" size="large" contain name="Google" square /> ``` ## Avatar Groups This is for Avatars that are displayed in a corellated grouping or list. ```jsx <AvatarGroup> <Avatar src="images/avatars/captainamerica.png" name="Steve Rogers" size="large" interactive /> <Avatar src="images/avatars/ironman.png" name="Tony Stark" size="large" interactive /> <AvatarCount size="large" value={12} interactive /> </AvatarGroup> ``` ```jsx <AvatarGroup dense> <Avatar src="images/avatars/captainamerica.png" name="Steve Rogers" size="large" interactive /> <Avatar src="images/avatars/ironman.png" name="Tony Stark" size="large" interactive /> <AvatarCount size="large" overflow value={4} interactive /> </AvatarGroup> ``` ## Usage with other components The avatar component has been designed to work nicely in any of the places you would use an icon. ```jsx <Button label="Enlist now!" icon={ <Avatar src="images/avatars/captainamerica.png" name="Steve Rogers" /> } /> ``` ```jsx <Chip label="Hulk Smash" icon={<Avatar src="images/avatars/hulk.png" name="Bruce Banner" />} /> ``` ```jsx <TextField label="Message Natalia..." outlined icon={ <Avatar src="images/avatars/blackwidow.png" name="Natalia Alianovna Romanova" square /> } /> ``` ## Avatar An Avatar component for displaying users in a system. ### Props | Name | Type | Description | |------|------|-------------| | `contain` | `undefined \| false \| true` | Contain the avatar image instead of covering. | | `interactive` | `undefined \| false \| true` | Make the avatar interactive. | | `name` | `undefined \| string` | The name of the user. This will get converted to initials and set the hover title. | | `ripple` | `RipplePropT` | Adds a ripple effect to the component | | `size` | `PMWCS.IconSizeT` | The size of the avatar | | `square` | `undefined \| false \| true` | Make the avatar square. | | `src` | `undefined \| string` | The url for the image. This gets passed to the Icon component. | ## AvatarGroup A container for groups of Avatars ### Props | Name | Type | Description | |------|------|-------------| | `dense` | `undefined \| false \| true` | Makes the list dense | ## AvatarCount An Avatar count for displaying list overflow. ### Props | Name | Type | Description | |------|------|-------------| | `interactive` | `undefined \| false \| true` | Make the avatar interactive. | | `overflow` | `undefined \| false \| true` | Optionally renders a "+" to indicate overlow. | | `size` | `PMWCS.IconSizeT` | The size of the avatar | | `square` | `undefined \| false \| true` | Make the avatar square. | | `value` | `number` | The number of users. |