BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v7

    • О фреймворке
    • Что изменилось в 7 версии
    • Структура
    • Доступ к участкам проекта
    • Разворачивание нового проекта
  • Backend

    • Настройки проекта Conf.php
    • Настройки модуля Module.php
    • Настройки composer
    • Функции фреймворка
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • Core класс
    • Route и работа с ними
    • Request и работа с ними
    • Middleware и работа с ними
    • Class и работа с ними
    • Api model и работа с ними
    • Template и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • Twig контекст
    • Настройка NPM
    • Сборка Frontend составляющей
    • Обращение к Api через JS
    • Хранилище (store)
    • Навигация в хосте
    • Навигация в микрофронтенде
    • Параметры микрофронтенда
    • Проверка полномочий
  • Tailux UI Компоненты

    • Базовый UI

      • AvatarDot
      • Avatar
      • Badge
      • Button
      • Card
      • ConfirmModal
      • Divider
      • Highlight
      • Tag
    • Загрузка

      • Circlebar
      • Progress
      • Skeleton
      • Spinner
    • Навигация

      • Accordion
      • AccordionButton
      • AccordionHeader
      • AccordionItem
      • AccordionPanel
      • AccordionProvider
      • Pagination
      • PaginationControl
      • PaginationItems
      • PaginationDots
      • PaginationFirst
      • PaginationLast
      • PaginationNext
      • PaginationPrevious
    • Отображение данных

      • Box
      • Collapse
      • ContextualHelp
      • ScrollShadow
      • Timeline
      • TimelineItem
    • Элементы таблиц

      • Table
      • CollapsibleSearch
      • ColumnFilter
      • CopyableCell
      • DateFilter
      • FacetedFilter
      • FilterSelector
      • PaginationSection
      • RadioFilter
      • RangeFilter
      • ResponsiveFilter
      • RoleFilter
      • SelectedRowsActions
      • TableColumnVisibility
      • TableSettings
      • TableSortIcon
    • Элементы форм

      • Checkbox
      • Combobox
      • DatePicker
      • Filepond
      • Input
      • Listbox
      • Radio
      • Range
      • Select
      • StyledSwitch
      • Swap
      • SwapOn
      • SwapOff
      • Switch
      • Textarea
      • TextEditor
      • Upload

Avatar

Компонент Avatar используется для отображения изображения пользователя или, при отсутствии изображения, его инициалов. Поддерживает различные размеры, цвета, варианты оформления, интеграцию с роутером и отображение подсказок.

Обзор

  • Основное назначение: единообразное представление аватара пользователя.
  • Ключевые возможности:
    • Отображение изображения (src) или инициалов, сгенерированных из name.
    • Автоматический выбор цвета фона для инициалов.
    • Интеграция с vue-router (to) или создание обычной ссылки (href).
    • Настройка размеров и стилей.
    • Отображение всплывающей подсказки (tooltip) при наведении.
    • Возможность полностью переопределить корневой компонент.

API компонента

Props

ПропТипПо умолчаниюОписание
srcStringURL изображения аватара. Если задан, отображается вместо инициалов.
srcSetStringАтрибут srcset для тега <img>.
altStringАльтернативный текст для изображения. Если не задан, используется name или строка "avatar".
loadingString'lazy'Значение атрибута loading для тега <img> (например, 'lazy', 'eager').
imgPropsObjectОбъект с дополнительными атрибутами, которые будут переданы тегу <img>.
nameStringИмя пользователя. Используется для генерации инициалов.
initialColorString'neutral'Определяет цветовую тему для инициалов. Возможные значения: 'neutral', 'primary', 'secondary', 'info', 'success', 'warning', 'error', 'auto'. При значении 'auto' цвет определяется на основе сгенерированных инициалов.
initialVariantString'filled'Стиль отображения инициалов.
'filled' — сплошной фон.
'soft' — мягкий, полупрозрачный фон.
initialPropsObjectОбъект с дополнительными атрибутами, которые будут переданы блоку с инициалами.
sizeNumber12Размер аватара. Значение конвертируется в rem по формуле size / 4 для ширины/высоты.
classNameStringДополнительные CSS-классы для корневого элемента.
classNamesObjectОбъект для кастомизации внутренних классов. Ключи: root, display, image, initial. Значения — строка с классами.
componentString | ObjectnullПозволяет заменить корневой HTML-тег. Если не указан, автоматически определяется на основе to и href.
toString | ObjectМаршрут для интеграции с vue-router. Если указан, аватар становится ссылкой <router-link>.
hrefStringЕсли указан (и нет to), аватар становится обычной ссылкой <a>.
imgComponentString | Object'img'Позволяет заменить HTML-тег для изображения.
tooltipStringТекст всплывающей подсказки. При наличии навешивает на аватар tooltip с помощью библиотеки tippy.js.

Слоты

Имя слотаОписание
defaultПозволяет заменить содержимое блока с инициалами. Отображается только если не задан проп name и нет изображения (src/srcSet).
indicatorСлот для размещения индикатора состояния (например, онлайн-точки) поверх аватара.

Автоматическое определение тега

Корневой тег компонента определяется в следующем приоритете:

  1. Если передан проп component, используется он.
  2. Если передан to (для vue-router), используется RouterLink.
  3. Если передан href, используется тег <a> с атрибутами target="_blank" и rel="noopener noreferrer".
  4. Во всех остальных случаях используется <div>.
Prev
AvatarDot
Next
Badge