SubnavigationBar
Горизонтальная панель с кнопками-ссылками для быстрой навигации между подразделами или управления контентом. Используется как элемент вторичной навигации внутри раздела. Поддерживает горизонтальную прокрутку контента с индикацией наличия скрытых элементов (стрелки навигации).
Когда использовать
- Переключение между связанными подразделами.
- Активации фильтров или сортировок.
- Быстрый доступ к модальным окнам.
- Группировка действий в компактном пространстве.
Режимы работы
Фиксированная ширина
fixed={true}
— равномерно распределяет пространство между элементами:
- Автоматически отключает горизонтальную прокрутку.
- Требует точного контроля за содержимым (рекомендуется 2-5 элементов).
- Для длинных текстов используйте
textLevel
уSubnavigationButton
.
Горизонтальная прокрутка
fixed={false}
(по умолчанию) — активирует адаптивную прокрутку.
Поддерживает свойства из HorizontalScroll:
showArrows
— управление видимостью стрелок;getScrollToLeft
/getScrollToRight
— кастомная логика прокрутки;scrollAnimationDuration
— скорость анимации.
Доступность (a11y)
- Список элементов реализован с использованием семантического тега
ul
. - Элементы списка оборачиваются в семантические теги
li
.
SubnavigationButton
Кнопка/ссылка для использования внутри SubnavigationBar
. Предназначена для навигации между подразделами или управления
контентом (активация фильтров, открытие модальных окон).
Состояния
selected
— выделяет кнопку как активную. Используйте для индикации текущего раздела или применённого фильтра.
Режимы отображения
Задается свойством mode
:
primary
— первичный вид для привлечения внимания;outline
— вид с обводкой;tertiary
— третичный вид без фона.
Внешний вид
Задается свойством appearance
.
accent
neutral
Размеры и контент
Размер самой кнопки задается свойством size
:
s
— компактный;m
— стандартный;l
— увеличенный.
textLevel
— отдельно настраивает размер текста (1 — крупный, 3 — мелкий).
Полезно в режиме fixed
у родительского SubnavigationBar
.
Дополнительные элементы
before
— иконка перед текстом (рекомендуемый размер24px
).after
— счётчик или бейдж (рекомендуется использовать толькоCounter size="s"
илиBadge
).chevron
— добавляет стрелку-индикатор справа.
Свойства и методы
SubnavigationBar
Свойство | Описание |
---|---|
fixed | boolean Отключение возможности прокручивания компонента по горизонтали. По умолчанию: false |
getRootRef | Ref<HTMLDivElement> По умолчанию: - |
getScrollToLeft | ScrollPositionHandler Функция для расчета величины прокрутки при нажатии на левую стрелку. По умолчанию: (x) => x - 240 |
getScrollToRight | ScrollPositionHandler Функция для расчета величины прокрутки при нажатии на правую стрелку. По умолчанию: (x) => x + 240 |
scrollAnimationDuration | number Длительность анимации скролла. По умолчанию: - |
showArrows | boolean | "always" Показывать ли стрелки. По умолчанию: true |
SubnavigationButton
Свойство | Описание |
---|---|
activated | boolean Позволяет управлять По умолчанию: - |
activeClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | number Длительность показа По умолчанию: - |
activeMode | StateModeLiteral Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
after | ReactNode Рекомендуется использовать только По умолчанию: - |
appearance | "accent" | "neutral" Тип внешнего вида кнопки. По умолчанию: accent |
baseClassName | string | false Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSProperties Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
before | ReactNode Рекомендуется использовать только иконки с размером 24. По умолчанию: - |
borderRadiusMode | "auto" | "inherit" Задает border-radius элементу
В режиме По умолчанию: - |
chevron | boolean Нужно ли отображать иконку По умолчанию: - |
Component | ElementType<any, keyof IntrinsicElements> По умолчанию: - |
focusVisibleMode | FocusVisibleMode Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible По умолчанию: - |
getRootRef | Ref<HTMLElement> По умолчанию: - |
hasActive | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHover | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHoverWithChildren | boolean Позволяет родительскому компоненту
иметь Присваивается родителькому компоненту. По умолчанию: - |
hoverClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
hovered | boolean Позволяет управлять По умолчанию: - |
hoverMode | StateModeLiteral Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover. По умолчанию: - |
mode | "primary" | "tertiary" | "outline" Стиль отображения кнопки. По умолчанию: primary |
selected | boolean Выбранное состояние. По умолчанию: - |
size | "s" | "m" | "l" Размер кнопки. По умолчанию: m |
textLevel | "1" | "2" | "3" Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в По умолчанию: 1 |
unlockParentHover | boolean Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |