UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

50 lines (39 loc) 3.22 kB
# AvatarStack This component is used for a stack of images with overlap over one another and, optionally, a control. It usually refers to user avatars. ```ts import {AvatarStack} from '@gravity-ui/uikit'; ``` ## Usage Basically, `AvatarStack` does not have any limitations in terms of what components to render. See an example of its common usage below: ```tsx <AvatarStack> <Avatar imgUrl={`https://i.pravatar.cc/150?u=login1`} /> <Avatar imgUrl={`https://i.pravatar.cc/150?u=login2`} /> <Avatar imgUrl={`https://i.pravatar.cc/150?u=login3`} /> </AvatarStack> ``` ## Properties | Name | Description | Type | Default | | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------: | :-------: | --- | | max | Determines how many avatars are visible before the `More` button. If avatar count is only 1 short from `max`, the `More` button will be replaced with an avatar. | `number` | 3 | | overlapSize | Determines how much each item should overlap the next one. You may want to use `s` for `xs` to `m`-sized `Avatar`s , `m` for `l`-sized, and `l`, for `xl`-sized. | `s`, `m`, `l` | `s` | | size | Size for the control displaying extra avatars. Its value is the same as the `Avatar` size. | `AvatarSize` | | | className | Class name of the root DOM node | `string` | | | children | List of avatars that may also have extra wrappers | `Object[]` | | | renderMore | Custom render for the control displaying extra avatars | `function(options: {count: number}): ReactElement` | | | moreVariant | Variant of default control displaying extra 'counter' | `counter`,`dots` | `counter` | | ### AvatarStack.MoreButton Component for overriding the `More` button ```tsx <AvatarStack renderMore={({count}) => ( <Tooltip content={'More users'}> <AvatarStack.MoreButton count={count} /> </Tooltip> )} > <Avatar imgUrl={`https://i.pravatar.cc/150?u=login1`} /> <Avatar imgUrl={`https://i.pravatar.cc/150?u=login2`} /> <Avatar imgUrl={`https://i.pravatar.cc/150?u=login3`} /> </AvatarStack> ```