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 | stringDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | numberДлительность показа По умолчанию: - |
activeMode | StateModeLiteralСтиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
after | ReactNodeРекомендуется использовать только По умолчанию: - |
appearance | "accent" | "neutral"Тип внешнего вида кнопки. По умолчанию: accent |
baseClassName | string | falseDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSPropertiesDeprecated: 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 | stringDeprecated: 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-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |