Tabs

Набор вкладок с выбранным индексом.

Передайте массив Tab как дочерние элементы. theme задаёт оформление: line (по умолчанию), pill или pill-secondary. index включает управляемый режим, defaultIndex — начальную вкладку. onChange получает индекс и событие; вызывается и при переключении с клавиатуры — стрелками, Home и End. Разметка использует роли tablist, tab и tabpanel.

Живой пример

Content for "One" tab

Настройки примера

Использование

import { Tab, Tabs } from '@prosazhin/pbcomponents';

<Tabs
  defaultIndex={0}
  theme='pill'
>
  {['One', 'Two', 'Three', 'Four', 'Five'].map((label) => (
    <Tab
      key={label}
      label={label}
    >
      <div style={{ marginTop: 24 }}>{`Content for "${label}" tab`}</div>
    </Tab>
  ))}
</Tabs>;

API компонента

PropТип / вариантыНазначениеПо умолчанию
childrenTab[]Вкладки с label и содержимым.—
theme'line' | 'pill' | 'pill-secondary'line · pill · pill-secondaryОформление вкладок; передаётся всем Tab.line
indexnumberАктивная вкладка в управляемом режиме.—
defaultIndexnumber0 · 1 · 2 · 3 · 4Индекс начальной активной вкладки.0
onChange(index: number, event: MouseEvent | KeyboardEvent) => voidВызывается при выборе вкладки мышью или стрелками, Home и End.—
classNamestringКласс корневого элемента.—

Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.