Skip to content

🎉 Material UI v5 is out now! Check out the announcement blog post →

Tab API

The API documentation of the Tab React component. Learn more about the props and the CSS customization points.

Import

import Tab from '@material-ui/core/Tab';
// or
import { Tab } from '@material-ui/core';

You can learn more about the difference by reading this guide.

Component name

The MuiTab name can be used for providing default props or style overrides at the theme level.

Props

Name Type Default Description
children unsupportedProp This prop isn't supported. Use the component prop if you need to change the children structure.
classes object Override or extend the styles applied to the component. See CSS API below for more details.
disabled bool false If true, the tab will be disabled.
disableFocusRipple bool false If true, the keyboard focus ripple will be disabled.
disableRipple bool If true, the ripple effect will be disabled.
icon node The icon element.
label node The label element.
value any You can provide your own value. Otherwise, we fallback to the child position index.
wrapped bool false Tab labels appear in a single row. They can use a second line if needed.

The ref is forwarded to the root element.

Any other props supplied will be provided to the root element (ButtonBase).

CSS

Rule name Global class Description
root .MuiTab-root Styles applied to the root element.
labelIcon .MuiTab-labelIcon Styles applied to the root element if both icon and label are provided.
textColorInherit .MuiTab-textColorInherit Styles applied to the root element if the parent Tabs has textColor="inherit".
textColorPrimary .MuiTab-textColorPrimary Styles applied to the root element if the parent Tabs has textColor="primary".
textColorSecondary .MuiTab-textColorSecondary Styles applied to the root element if the parent Tabs has textColor="secondary".
selected .Mui-selected Pseudo-class applied to the root element if selected={true} (controlled by the Tabs component).
disabled .Mui-disabled Pseudo-class applied to the root element if disabled={true} (controlled by the Tabs component).
fullWidth .MuiTab-fullWidth Styles applied to the root element if fullWidth={true} (controlled by the Tabs component).
wrapped .MuiTab-wrapped Styles applied to the root element if wrapped={true}.
wrapper .MuiTab-wrapper Styles applied to the icon and label's wrapper element.

You can override the style of the component thanks to one of these customization points:

If that's not sufficient, you can check the implementation of the component for more detail.

Inheritance

The props of the ButtonBase component are also available. You can take advantage of this behavior to target nested components.

Demos