Avatar — это компонент, который отображает изображение пользователя, его инициалы или иконку. Он используется в интерфейсах для идентификации пользователя, особенно в списках, комментариях, чатах или профилях. В SvelteKit UI библиотеках компонент Avatar реализован с учётом адаптивности и кастомизации, что позволяет создавать единый визуальный стиль приложения.
src – URL изображения пользователя.
Если изображение недоступно, компонент может отображать инициалы.alt – альтернативный текст для
изображения, полезен для доступности.size – размер аватара. Обычно
поддерживаются значения sm, md,
lg, xl, но библиотеки могут позволять и точное
указание в пикселях.fallback – альтернативный контент,
отображаемый при отсутствии изображения. Часто это инициалы пользователя
или иконка.shape – форма аватара: круглая
(circle) или квадратная (square).border – опциональная обводка для
выделения аватара на фоне интерфейса.<Avatar src="/images/user1.jpg" alt="Пользователь Иван" size="md" shape="circle" />
<Avatar fallback="IV" size="lg" shape="circle" />
online,
offline, busy), который можно реализовать как
маленький кружок на аватаре.<Avatar src="/images/user2.jpg" alt="Пользователь Анна" size="md">
<span class="status online"></span>
</Avatar>
Badge — это небольшой компонент, который используется для отображения дополнительной информации, например количества уведомлений, статуса или меток. Badges часто применяются совместно с другими компонентами: кнопками, аватарами, иконками.
content – текст или число, которое
отображается внутри бейджа.color – цвет бейджа, обычно
поддерживаются стандартные варианты (primary,
secondary, success, warning,
danger), а также возможность указать кастомный цвет.size – размер бейджа: sm,
md, lg.variant – стиль бейджа:
solid (заполненный цветом), outline (контур)
или ghost (полупрозрачный).<Badge content="3" color="danger" size="sm" />
<Badge content="New" color="primary" variant="solid" />
Комбинация Avatar + Badge позволяет визуально показывать состояние пользователя или количество уведомлений прямо на аватаре. Это достигается с помощью позиционирования Badge поверх Avatar с помощью CSS или встроенных пропсов.
<Avatar src="/images/user3.jpg" size="lg" shape="circle">
<Badge content="5" color="danger" size="sm" class="badge-top-right" />
</Avatar>
Класс .badge-top-right обычно включает абсолютное
позиционирование:
.badge-top-right {
position: absolute;
top: 0;
right: 0;
transform: translate(50%, -50%);
}
content с состоянием приложения, чтобы бейдж обновлялся
автоматически при изменении данных.fallback, чтобы интерфейс не выглядел пустым до
загрузки изображений.<div class="user-list">
<Avatar src="/images/user4.jpg" size="md" shape="circle">
<Badge content="2" color="warning" size="sm" class="badge-top-right" />
</Avatar>
<Avatar fallback="MK" size="md" shape="circle">
<Badge content="!" color="danger" size="sm" class="badge-top-right" />
</Avatar>
</div>
Такой подход позволяет создавать визуально информативные интерфейсы для чатов, списков контактов и панелей уведомлений, где аватар и бейдж работают как единый компонент, упрощая восприятие информации пользователем.
Комбинация Avatar и Badge обеспечивает гибкость в дизайне и повышает интерактивность интерфейсов, делая их современными и функциональными.