Обзор
ИспользуйтеTabButton для ссылок маршрутов и действий, таких как добавление вкладки или открытие меню переполнения. Он имеет такой же внешний вид, как Вкладки, и для взаимодействия использует Кнопку.
Использование
Состояние и семантика
Ваше приложение передаетactive на основе текущего состояния маршрута или меню. Это свойство выделяет элемент управления. Установите aria-current="page" для ссылки текущего маршрута. Ссылки маршрутов и соседние действия сохраняют семантику ссылок или кнопок без роли вкладки, aria-selected или связи с панелью.
Используйте Tabs.Root, Tabs.List, Tabs.Tab, Tabs.Panel и необязательный Tabs.Indicator для переключения между связанными панелями содержимого. Размещайте элементы управления маршрутом и действиями вне Tabs.List.
Навигация
Задайтеhref, чтобы отрисовать нативную ссылку. Текущий маршрут управляет своим видом active и значением aria-current.
render, задайте nativeButton={false} и role="link", а разрешенный пункт назначения передайте как href. Сохраняйте параметры состояния маршрута и истории в ссылке маршрутизатора. Пользовательские обертки должны передавать предоставленные props и ref своему элементу anchor.
nativeButton управляет контрактом взаимодействия даже при наличии href. Сопоставьте его с фактически отрисованным элементом. Отключенные ссылки сохраняют роль ссылки и блокируют активацию.
Действия
Безhref элемент управления отображает нативную кнопку с type="button". Нативные атрибуты, refs, стили, имена классов и обработчики событий передаются без изменений. render принимает элемент или функцию, получающую props и состояние Button. Refs указывают на фактически отрисованную кнопку или anchor, включая refs, предоставленные для составного элемента.
startIcon, endIcon и badge для вспомогательного содержимого. Аватар, переданный в слот значка, является декоративным, когда текст называет назначение. size сохраняет публичный контракт размера Button. Явно заданный размер имеет приоритет над размером окружающей ButtonGroup; в противном случае компонент по умолчанию использует sm.
Свойства
boolean
по умолчанию:"false"
Highlights the current destination or an action associated with the active tab. Does not change the control role.
ReactNode
Content following the label and trailing icon, such as a count.
string | ((state: ButtonState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
ReactNode
Decorative content displayed after the label.
boolean
по умолчанию:"false"
Whether the button should be focusable when disabled.
string
Destination URL. Renders a native anchor when
render is omitted unless nativeButton is explicitly true. Custom renderers retain their own element contract.boolean
по умолчанию:"true"
Whether the rendered root is a native button. Defaults to true for custom renderers. The built-in
href anchor defaults to false; an explicit value takes precedence.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ButtonState>
Caller-supplied root element or renderer. Native attributes, handlers, event details, and refs reach the rendered root. Use
nativeButton={false} and role="link" for a custom navigation anchor. Router integration belongs to the caller.AriaRole
Role of the root element. Use
link for custom navigation renderers."md" | "sm"
по умолчанию:"sm"
Padding of the tab content: sm or md. Explicit size takes precedence over the ButtonGroup size, then sm applies.
ReactNode
Decorative content displayed before the label.
CSSProperties | ((state: ButtonState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.