AvatarDetail

Типовой пользовательский блок из продуктового UI Kit: аватар с необязательным статус индикатором, имя, контактные данные для копирования и вторичное описание.

Демо

Preview
И
Иванов Иван

Frontend-разработчик

Prop
Type
Value
contactData
text
description
text
name
text
Code
<AvatarDetail name="Иванов Иван" contactData="ivanov@example.com" description="Frontend-разработчик" />

Когда использовать

  • В профильных карточках, где нужно компактно показать аватар, имя и email/логин для копирования.
  • В списках участников, владельцев ресурсов или ответственных, где важна быстрая идентификация пользователя.

Анатомия

Слоты

  • name — обязательное имя пользователя; отображается рядом с аватаром, обрезается при переполнении.
  • contactData — опциональные контактные данные (email, логин); при клике копируются в буфер.
  • description — опциональное описание под основной строкой (роль, должность).
  • avatar — пропсы аватара (appearance, status, src и др.) без name (берётся из корневого пропа).

Установка

pnpm add @cloud-ru/ds-uikit-product-avatar-detail
import { AvatarDetail, AvatarDetailProps } from '@cloud-ru/ds-uikit-product-avatar-detail'

Примеры использования

Базовый

Базовый
И
Иванов Иван
tsx
import { AvatarDetail } from '@cloud-ru/ds-uikit-product-avatar-detail';

export function Basic() {
  return <AvatarDetail name='Иванов Иван' />;
}

С контактными данными

С контактными даннымиКнопка с email копирует значение в буфер обмена.
П
Петрова Мария
tsx
import { AvatarDetail } from '@cloud-ru/ds-uikit-product-avatar-detail';

export function WithContactData() {
  return <AvatarDetail name='Петрова Мария' contactData='petrova@example.com' />;
}

С описанием

С описанием
С
Сидоров Алексей

Тимлид платформенной команды

tsx
import { AvatarDetail } from '@cloud-ru/ds-uikit-product-avatar-detail';

export function WithDescription() {
  return <AvatarDetail name='Сидоров Алексей' description='Тимлид платформенной команды' />;
}

Кастомный аватар

Кастомный аватарЦвет и статус-индикатор передаются через проп avatar.
К
Козлова Анна
tsx
import { AvatarDetail } from '@cloud-ru/ds-uikit-product-avatar-detail';

export function WithCustomAvatar() {
  return (
    <AvatarDetail
      name='Козлова Анна'
      contactData='kozlova@example.com'
      avatar={{ appearance: 'violet', status: 'green' }}
    />
  );
}

Полный набор пропсов

Полный набор пропсов
Н
Новиков Дмитрий

DevOps-инженер, Cloud Platform

tsx
import { AvatarDetail } from '@cloud-ru/ds-uikit-product-avatar-detail';

export function Full() {
  return (
    <AvatarDetail
      name='Новиков Дмитрий'
      contactData='novikov@example.com'
      description='DevOps-инженер, Cloud Platform'
      avatar={{ appearance: 'green', status: 'green' }}
    />
  );
}

Props

Types

PropsAvatarDetailProps
PropTypeDefaultRequiredDescription
avatarOmit<AvatarProps, "data-test-id" | "name">noАватар пропсы
classNamestringnoCSS-класс
contactDatastringnoКонтактные данные для отображения и копирования
data-test-idstringno
descriptionstringnoДополнительное описание под основной строкой
namestringyesИмя пользователя

Types

AvatarDetailProps

Storybook

Figma