Tabs
Tabs organize content into multiple sections and allow users to navigate between them.
Basic tabs
A basic example with three tabs.
<Tabs>
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Sizes
Set size
attribute to small
or medium
to style tabs size. By default, tabs have size medium.
<Tabs size="small">
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
<Tabs size="medium">
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
States
Active State
Add active
attribute to a tab to style it as active.
<Tabs>
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Disabled State
Add disabled
attribute to tab to style it as disabled.
<Tabs>
<Tab disabled label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Divider
By default, tabs has a divider. Alternatively, tabs can be used without a divider by setting divider
to false.
<Tabs divider={false}>
<Tab label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Layout
fullWidth
attribute if you want the tabs container to take up the whole width.fullHeight
attribute if you want the tabs container to take up the whole height.
Fluid Tabs
Add fullWidth
and fluid
to Tabs
if you want set equal tabs widths when the tabs wrapper takes up the whole width available.
<Tabs fullWidth fluid>
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Alignment
Tabs alignment can be set by setting alignment
attribute to left
, center
, right
.
Left alignment
<Tabs fullWidth alignment="left">
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Center alignment
<Tabs fullWidth alignment="center">
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Right alignment
<Tabs fullWidth alignment="right">
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
</Tabs>
Scrollable tabs
Use scrollHorizontally
to allow horizontal scrolling if needed.
<Tabs scrollHorizontally fullWidth>
<Tab active label="Item 1"></Tab>
<Tab label="Item 2"></Tab>
<Tab label="Item 3"></Tab>
<Tab label="Item 4"></Tab>
<Tab label="Item 5"></Tab>
<Tab label="Item 6"></Tab>
<Tab label="Item 7"></Tab>
</Tabs>
Icons
Tab labels may be either all icons or all text.
<Tabs>
<Tab active icon={<Icon icon="settings" />}></Tab>
<Tab icon={<Icon icon="account_circle" />}></Tab>
<Tab icon={<Icon icon="face" />}></Tab>
</Tabs>
<Tabs>
<Tab active icon={<Icon icon="settings" />} label="Item 1"></Tab>
<Tab icon={<Icon icon="account_circle" />} label="Item 2"></Tab>
<Tab icon={<Icon icon="face" />} label="Item 3"></Tab>
</Tabs>
Icon position
By default, the icon is positioned at the start
of a tab. Other supported position is end
.
<Tabs>
<Tab active icon={<Icon icon="settings" />} label="Item 1" iconPosition="start"></Tab>
<Tab icon={<Icon icon="account_circle" />} label="Item 2" iconPosition="end"></Tab>
<Tab icon={<Icon icon="face" />} label="Item 3"></Tab>
</Tabs>
Vertical Tab
Set tabItemDirection
attribute to horizontal
or vertical
to allow horizontal/vertical tab layout.
<Tabs tabItemDirection="vertical">
<Tab active icon={<Icon icon="settings" />} label="Item 1"></Tab>
<Tab icon={<Icon icon="account_circle" />} label="Item 2"></Tab>
<Tab icon={<Icon icon="face" />} label="Item 3"></Tab>
</Tabs>
Customization
A Tab can also take any content in their slot.
Item 1
Item 2
Item 3
<Tabs>
<Tab active>
<Icon icon={<Icon icon="settings" />} />
<Typography classes="text-green-500">Item 1</Typography>
</Tab>
<Tab>
<Icon icon={<Icon icon="account_circle" />} />
<Typography classes="text-red-500">Item 2</Typography>
</Tab>
<Tab>
<Icon icon={<Icon icon="face" />} />
<Typography classes="text-primary-500">Item 3</Typography>
</Tab>
</Tabs>