Skip to content

Unstyled Tabs

Tabs are UI elements for organizing and navigating between groups of related content.

TabPanelUnstyled API

Import

import TabPanelUnstyled from '@mui/base/TabPanelUnstyled';
// or
import { TabPanelUnstyled } from '@mui/base';
You can learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDefaultDescription
value*number
| string
The value of the TabPanel. It will be shown when the Tab with the corresponding value is selected.
childrennode
The content of the component.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
slotProps{ root?: func
| object }
{}
The props used for each slot inside the TabPanel.
slots{ root?: elementType }{}
The components used for each slot inside the TabPanel. Either a string to use a HTML element or a component. See Slots API below for more details.

The ref is forwarded to the root element.

TabUnstyled API

Import

import TabUnstyled from '@mui/base/TabUnstyled';
// or
import { TabUnstyled } from '@mui/base';
You can learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDefaultDescription
actionfunc
| { current?: { focusVisible: func } }
A ref for imperative actions. It currently only supports focusVisible() action.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
disabledboolfalse
If true, the component is disabled.
onChangefunc
Callback invoked when new value is being set.
slotProps{ root?: func
| object }
{}
The props used for each slot inside the Tab.
slots{ root?: elementType }{}
The components used for each slot inside the Tab. Either a string to use a HTML element or a component. See Slots API below for more details.
valuenumber
| string
You can provide your own value. Otherwise, we fall back to the child position index.

The ref is forwarded to the root element.

TabsListUnstyled API

Import

import TabsListUnstyled from '@mui/base/TabsListUnstyled';
// or
import { TabsListUnstyled } from '@mui/base';
You can learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDefaultDescription
childrennode
The content of the component.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
slotProps{ root?: func
| object }
{}
The props used for each slot inside the TabsList.
slots{ root?: elementType }{}
The components used for each slot inside the TabsList. Either a string to use a HTML element or a component. See Slots API below for more details.

The ref is forwarded to the root element.

TabsUnstyled API

Import

import TabsUnstyled from '@mui/base/TabsUnstyled';
// or
import { TabsUnstyled } from '@mui/base';
You can learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDefaultDescription
childrennode
The content of the component.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
defaultValuefalse
| number
| string
The default value. Use when the component is not controlled.
direction'ltr'
| 'rtl'
'ltr'
The direction of the text.
onChangefunc
Callback invoked when new value is being set.
orientation'horizontal'
| 'vertical'
'horizontal'
The component orientation (layout flow direction).
selectionFollowsFocusbool
If true the selected tab changes on focus. Otherwise it only changes on activation.
slotProps{ root?: func
| object }
{}
The props used for each slot inside the Tabs.
slots{ root?: elementType }{}
The components used for each slot inside the Tabs. Either a string to use a HTML element or a component. See Slots API below for more details.
valuefalse
| number
| string
The value of the currently selected Tab. If you don't want any selected Tab, you can set this prop to false.

The ref is forwarded to the root element.