Tabs API
The API documentation of the Tabs React component. Learn more about the props and the CSS customization points.
import { Tabs } from '@material-ui/core';
Props
| Name | Type | Default | Description |
|---|---|---|---|
| action | func | Callback fired when the component mounts. This is useful when you want to trigger an action programmatically. It currently only supports updateIndicator() action.Signature: function(actions: object) => voidactions: This object contains all possible actions that can be triggered programmatically. |
|
| centered | bool | false | If true, the tabs will be centered. This property is intended for large views. |
| children | node | The content of the component. | |
| classes | object | Override or extend the styles applied to the component. See CSS API below for more details. | |
| component | elementType | 'div' | The component used for the root node. Either a string to use a DOM element or a component. |
| indicatorColor | 'secondary' | 'primary' |
'secondary' | Determines the color of the indicator. |
| onChange | func | Callback fired when the value changes. Signature: function(event: object, value: any) => voidevent: The event source of the callback value: We default to the index of the child (number) |
|
| orientation | 'horizontal' | 'vertical' |
'horizontal' | The tabs orientation (layout flow direction). |
| ScrollButtonComponent | elementType | TabScrollButton | The component used to render the scroll buttons. |
| scrollButtons | 'auto' | 'desktop' | 'on' | 'off' |
'auto' | Determine behavior of scroll buttons when tabs are set to scroll: - auto will only present them when not all the items are visible. - desktop will only present them on medium and larger viewports. - on will always present them. - off will never present them. |
| TabIndicatorProps | object | {} | Props applied to the tab indicator element. |
| textColor | 'secondary' | 'primary' | 'inherit' |
'inherit' | Determines the color of the Tab. |
| value | any | The value of the currently selected Tab. If you don't want any selected Tab, you can set this property to false. |
|
| variant | 'standard' | 'scrollable' | 'fullWidth' |
'standard' | Determines additional display behavior of the tabs: - scrollable will invoke scrolling properties and allow for horizontally scrolling (or swiping) of the tab bar. -fullWidth will make the tabs grow to use all the available space, which should be used for small views, like on mobile. - standard will render the default state. |
The ref is forwarded to the root element.
Any other props supplied will be provided to the root element (native element).
CSS
- Style sheet name:
MuiTabs. - Style sheet details:
| Rule name | Global class | Description |
|---|---|---|
| root | MuiTabs-root | Styles applied to the root element. |
| vertical | MuiTabs-vertical | Styles applied to the root element if orientation="vertical". |
| flexContainer | MuiTabs-flexContainer | Styles applied to the flex container element. |
| flexContainerVertical | MuiTabs-flexContainerVertical | Styles applied to the flex container element if orientation="vertical". |
| centered | MuiTabs-centered | Styles applied to the flex container element if centered={true} & !variant="scrollable". |
| scroller | MuiTabs-scroller | Styles applied to the tablist element. |
| fixed | MuiTabs-fixed | Styles applied to the tablist element if !variant="scrollable". |
| scrollable | MuiTabs-scrollable | Styles applied to the tablist element if variant="scrollable". |
| scrollButtons | MuiTabs-scrollButtons | Styles applied to the ScrollButtonComponent component. |
| scrollButtonsDesktop | MuiTabs-scrollButtonsDesktop | Styles applied to the ScrollButtonComponent component if scrollButtons="auto" or scrollButtons="desktop"`. |
| indicator | MuiTabs-indicator | Styles applied to the TabIndicator component. |
You can override the style of the component thanks to one of these customization points:
- With a rule name of the
classesobject prop. - With a global class name.
- With a theme and an
overridesproperty.
If that's not sufficient, you can check the implementation of the component for more detail.
Notes
The component is fully StrictMode compatible.