Компонент Avatar для Angular | ng-hub-ui-avatar
Компонент avatar для Angular с инициалами, запасными изображениями, бейджами присутствия и CSS-переменными для переиспользуемых интерфейсов идентификации пользователя.
Справочник API
Вот полный контракт avatar: всё, что можно привязать, прослушать, спроецировать и тематизировать, собрано в одном месте. Подключите то, что нужно, и оформите так, как хотите — это standalone и дружит с сигналами.
Входные свойства
Настройте avatar с помощью 21 входных свойств. Привязывайте их, как любой @Input в Angular.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
size | string | number | 50 | Размер аватара в пикселях |
name | string | — | Имя пользователя для генерации инициалов, когда источники изображений недоступны |
src | string | SafeUrl | — | URL основного пользовательского источника изображения для аватара |
alt | string | — | Альтернативный текст изображения аватара для доступности |
round | boolean | true | Должен ли аватар быть круглым (true) или следовать cornerRadius |
interactive | boolean | false | Помечает аватар как интерактивный элемент управления: выставляет role=“button”, делает его фокусируемым и вызывает clickOnAvatar по Enter/Space. Включайте всегда, когда привязываете (clickOnAvatar). |
bgColor | string | — | Цвет фона для текстовых аватаров. Генерируется автоматически, если не указан |
autoColor | boolean | true | При `true` (по умолчанию) аватар с инициалами получает фон из хеша имени. Установите `false`, чтобы задать его через переменную `--hub-avatar-bg-color`; явный `bgColor` всегда имеет приоритет. |
fgColor | string | #FFF | Цвет текста инициалов в текстовых avatar |
borderColor | string | — | Цвет рамки вокруг аватара |
cornerRadius | string | number | 0 | Радиус скругления углов, когда round равно false |
textSizeRatio | number | 3 | Коэффициент для расчёта размера текста на основе размера аватара (size / textSizeRatio) |
initialsSize | string | number | 0 | Ограничивает количество отображаемых инициалов (0 = без ограничения) |
facebookId | string | — | ID пользователя Facebook для изображения профиля (по возможности, могут действовать ограничения API) |
githubId | string | — | Имя пользователя GitHub для получения изображения профиля |
gravatarId | string | — | Email или MD5-хеш Gravatar для получения изображения профиля |
value | string | — | Отображение пользовательского значения в качестве аватара (например, "75%", "+5") |
style | Partial<CSSStyleDeclaration> | — | Пользовательские стили, применяемые к корневому элементу аватара |
referrerpolicy | string | — | Политика referrer для изображения аватара (например, "no-referrer") |
badge | string | number | boolean | null | — | Угловой оверлей: `badge` / `[badge]="true"` → точка; `badge="4k"` → метка; null / отсутствует → ничего. |
badgeColor | HubAvatarBadgeColor | string | null | — | Семантический цвет бейджа (primary · secondary · success · danger · warning · info · light · dark) → `--hub-sys-color-*`. |
События
Реагируйте на то, что делает avatar, — 1 событий, к которым можно подключить вашу логику.
| Имя | Тип | Описание |
|---|---|---|
clickOnAvatar | Source | Вызывается при клике по аватару, возвращает объект текущего активного источника |
Шаблоны
Шаблоны пока не задокументированы.