string | 'button' | Used to control the button's purpose. This property passes the value to the `type` attribute of the native button component. Valid property values include `button`, `submit`, and `reset`. |
@@ -38,9 +38,13 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `disabled`
-- `focusVisible`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| focusVisible | Styles applied to the root element if keyboard focused.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ButtonBase/ButtonBase.js)
diff --git a/pages/api/button.md b/pages/api/button.md
index 2ed50f03fd5c24..6a6693aa496855 100644
--- a/pages/api/button.md
+++ b/pages/api/button.md
@@ -34,30 +34,34 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `label`
-- `text`
-- `textPrimary`
-- `textSecondary`
-- `flat`
-- `flatPrimary`
-- `flatSecondary`
-- `outlined`
-- `contained`
-- `containedPrimary`
-- `containedSecondary`
-- `raised`
-- `raisedPrimary`
-- `raisedSecondary`
-- `fab`
-- `extendedFab`
-- `focusVisible`
-- `disabled`
-- `colorInherit`
-- `mini`
-- `sizeSmall`
-- `sizeLarge`
-- `fullWidth`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| label | Styles applied to the span element that wraps the children.
+| text | Styles applied to the root element if `variant="text"`.
+| textPrimary | Styles applied to the root element if `variant="text"` and `color="primary"`.
+| textSecondary | Styles applied to the root element if `variant="text"` and `color="secondary"`.
+| flat | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| flatPrimary | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| flatSecondary | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| outlined | Styles applied to the root element if `variant="outlined"`.
+| contained | Styles applied to the root element if `variant="contained"`.
+| containedPrimary | Styles applied to the root element if `variant="contained"` and `color="primary"`.
+| containedSecondary | Styles applied to the root element if `variant="contained"` and `color="secondary"`.
+| raised | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| raisedPrimary | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| raisedSecondary | Styles applied to the root element for backwards compatibility with legacy variant naming.
+| fab | Styles applied to the root element if `variant="fab"`.
+| extendedFab | Styles applied to the root element if `variant="extendedFab"`.
+| focusVisible | Styles applied to the ButtonBase root element if the button is keyboard focused.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| colorInherit | Styles applied to the root element if `color="inherit"`.
+| mini | Styles applied to the root element if `size="mini"`.
+| sizeSmall | Styles applied to the root element if `size="small"`.
+| sizeLarge | Styles applied to the root element if `size="large"`.
+| fullWidth | Styles applied to the root element if `fullWidth={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Button/Button.js)
diff --git a/pages/api/card-actions.md b/pages/api/card-actions.md
index fc037f396edfc0..bd88fdb8f3e3f3 100644
--- a/pages/api/card-actions.md
+++ b/pages/api/card-actions.md
@@ -25,8 +25,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `action`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| action | Styles applied to the children.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/CardActions/CardActions.js)
diff --git a/pages/api/card-content.md b/pages/api/card-content.md
index 3e70a5ad421f2e..5220935fd5ff6d 100644
--- a/pages/api/card-content.md
+++ b/pages/api/card-content.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/CardContent/CardContent.js)
diff --git a/pages/api/card-header.md b/pages/api/card-header.md
index a47d671b012c53..6764a0bf62e609 100644
--- a/pages/api/card-header.md
+++ b/pages/api/card-header.md
@@ -31,12 +31,16 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `avatar`
-- `action`
-- `content`
-- `title`
-- `subheader`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| avatar | Styles applied to the avatar element.
+| action | Styles applied to the action element.
+| content | Styles applied to the content wrapper element.
+| title | Styles applied to the title Typography element.
+| subheader | Styles applied to the subheader Typography element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/CardHeader/CardHeader.js)
diff --git a/pages/api/card-media.md b/pages/api/card-media.md
index c15758e1029184..e3d1603c54b358 100644
--- a/pages/api/card-media.md
+++ b/pages/api/card-media.md
@@ -26,8 +26,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `media`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| media | Styles applied to the root element if `component="video, audio, picture, iframe, or img"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/CardMedia/CardMedia.js)
diff --git a/pages/api/card.md b/pages/api/card.md
index f06779883a06ee..35fc5d6eaa42d6 100644
--- a/pages/api/card.md
+++ b/pages/api/card.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element ([Paper](/api/p
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Card/Card.js)
diff --git a/pages/api/checkbox.md b/pages/api/checkbox.md
index e5e01eb2bf90ed..ed0fe4a3bce35d 100644
--- a/pages/api/checkbox.md
+++ b/pages/api/checkbox.md
@@ -37,11 +37,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `checked`
-- `disabled`
-- `colorPrimary`
-- `colorSecondary`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| checked | Styles applied to the root element if `checked={true}`.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Checkbox/Checkbox.js)
diff --git a/pages/api/chip.md b/pages/api/chip.md
index 6963257abf3f12..f1a24a0d361abf 100644
--- a/pages/api/chip.md
+++ b/pages/api/chip.md
@@ -30,13 +30,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `clickable`
-- `deletable`
-- `avatar`
-- `avatarChildren`
-- `label`
-- `deleteIcon`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| clickable | Styles applied to the root element if `onClick` is defined or `clickable={true}`.
+| deletable | Styles applied to the root element if `onDelete` is defined.
+| avatar | Styles applied to the `avatar` element if `checked={true}`.
+| avatarChildren | Styles applied to the `avartar` elements children.
+| label | Styles applied to the label `span` element`.
+| deleteIcon | Styles applied to the `deleteIcon` element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Chip/Chip.js)
diff --git a/pages/api/circular-progress.md b/pages/api/circular-progress.md
index fa4fc48634c31e..52d7756c7dc1a3 100644
--- a/pages/api/circular-progress.md
+++ b/pages/api/circular-progress.md
@@ -32,15 +32,19 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `static`
-- `indeterminate`
-- `colorPrimary`
-- `colorSecondary`
-- `svg`
-- `circle`
-- `circleStatic`
-- `circleIndeterminate`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| static | Styles applied to the root element if `variant="static"`.
+| indeterminate | Styles applied to the root element if `variant="indeterminate"`.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
+| svg | Styles applied to the `svg` element.
+| circle | Styles applied to the `circle` svg path.
+| circleStatic | Styles applied to the `circle` svg path if `variant="static"`.
+| circleIndeterminate | Styles applied to the `circle` svg path if `variant="indeterminate"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/CircularProgress/CircularProgress.js)
diff --git a/pages/api/collapse.md b/pages/api/collapse.md
index 287c3bc7d74bf3..2aa844e6770392 100644
--- a/pages/api/collapse.md
+++ b/pages/api/collapse.md
@@ -30,10 +30,14 @@ Any other properties supplied will be spread to the root element ([Transition](h
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `container`
-- `entered`
-- `wrapper`
-- `wrapperInner`
+
+
+| Name | Description |
+|:-----|:------------|
+| container | Styles applied to the container element.
+| entered | Styles applied to the container element when the transition has entered.
+| wrapper | Styles applied to the outer wrapper element.
+| wrapperInner | Styles applied to the outer wrapper element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Collapse/Collapse.js)
diff --git a/pages/api/dialog-actions.md b/pages/api/dialog-actions.md
index 9e7be4d9d05f2a..fd9f5440ca3ef4 100644
--- a/pages/api/dialog-actions.md
+++ b/pages/api/dialog-actions.md
@@ -25,8 +25,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `action`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| action | Styles applied to the children.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/DialogActions/DialogActions.js)
diff --git a/pages/api/dialog-content-text.md b/pages/api/dialog-content-text.md
index ec2066219dd2ab..9dccbb24f45066 100644
--- a/pages/api/dialog-content-text.md
+++ b/pages/api/dialog-content-text.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element ([Typography](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/DialogContentText/DialogContentText.js)
diff --git a/pages/api/dialog-content.md b/pages/api/dialog-content.md
index 1acfd231b1fe82..cdcd3cb9cf80bc 100644
--- a/pages/api/dialog-content.md
+++ b/pages/api/dialog-content.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/DialogContent/DialogContent.js)
diff --git a/pages/api/dialog-title.md b/pages/api/dialog-title.md
index d282f2d7af3d52..5ea9d86891e46f 100644
--- a/pages/api/dialog-title.md
+++ b/pages/api/dialog-title.md
@@ -25,7 +25,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/DialogTitle/DialogTitle.js)
diff --git a/pages/api/dialog.md b/pages/api/dialog.md
index fac198e9dc1536..d0fec39c72b3ff 100644
--- a/pages/api/dialog.md
+++ b/pages/api/dialog.md
@@ -44,17 +44,21 @@ Any other properties supplied will be spread to the root element ([Modal](/api/m
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `scrollPaper`
-- `scrollBody`
-- `paper`
-- `paperScrollPaper`
-- `paperScrollBody`
-- `paperWidthXs`
-- `paperWidthSm`
-- `paperWidthMd`
-- `paperFullWidth`
-- `paperFullScreen`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| scrollPaper | Styles applied to the root element if `scroll="paper"`.
+| scrollBody | Styles applied to the root element if `scroll="bodyr"`.
+| paper | Styles applied to the `Paper` component.
+| paperScrollPaper | Styles applied to the `Paper` component if `scroll="paper"`.
+| paperScrollBody | Styles applied to the `Paper` component if `scroll="body"`.
+| paperWidthXs | Styles applied to the `Paper` component if `maxWidth="xs"`.
+| paperWidthSm | Styles applied to the `Paper` component if `maxWidth="sm"`.
+| paperWidthMd | Styles applied to the `Paper` component if `maxWidth="md"`.
+| paperFullWidth | Styles applied to the `Paper` component if `fullWidth={true}`.
+| paperFullScreen | Styles applied to the `Paper` component if `fullScreen={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Dialog/Dialog.js)
diff --git a/pages/api/divider.md b/pages/api/divider.md
index 7b8f1c6f723084..c51564e6838ccd 100644
--- a/pages/api/divider.md
+++ b/pages/api/divider.md
@@ -27,10 +27,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `absolute`
-- `inset`
-- `light`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| absolute | Styles applied to the root element if `absolute={true}`.
+| inset | Styles applied to the root element if `inset={true}`.
+| light | Styles applied to the root element if `light={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Divider/Divider.js)
diff --git a/pages/api/drawer.md b/pages/api/drawer.md
index 283157b8424899..d7725cc2d523bf 100644
--- a/pages/api/drawer.md
+++ b/pages/api/drawer.md
@@ -34,17 +34,21 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `docked`
-- `paper`
-- `paperAnchorLeft`
-- `paperAnchorRight`
-- `paperAnchorTop`
-- `paperAnchorBottom`
-- `paperAnchorDockedLeft`
-- `paperAnchorDockedTop`
-- `paperAnchorDockedRight`
-- `paperAnchorDockedBottom`
-- `modal`
+
+
+| Name | Description |
+|:-----|:------------|
+| docked | Styles applied to the root element if `variant="permanent or persistent"`.
+| paper | Styles applied to the `Paper` component.
+| paperAnchorLeft | Styles applied to the `Paper` component if `anchor="left"`.
+| paperAnchorRight | Styles applied to the `Paper` component if `anchor="right"`.
+| paperAnchorTop | Styles applied to the `Paper` component if `anchor="top"`.
+| paperAnchorBottom | Styles applied to the `Paper` component if `anchor="bottom"`.
+| paperAnchorDockedLeft | Styles applied to the `Paper` component if `anchor="left"` & `variant` is not "temporary".
+| paperAnchorDockedTop | Styles applied to the `Paper` component if `anchor="top"` & `variant` is not "temporary".
+| paperAnchorDockedRight | Styles applied to the `Paper` component if `anchor="right"` & `variant` is not "temporary".
+| paperAnchorDockedBottom | Styles applied to the `Paper` component if `anchor="bottom"` & `variant` is not "temporary".
+| modal | Styles applied to the `Modal` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Drawer/Drawer.js)
diff --git a/pages/api/expansion-panel-actions.md b/pages/api/expansion-panel-actions.md
index f0cd9d514b3ca8..d279a1b40b6b32 100644
--- a/pages/api/expansion-panel-actions.md
+++ b/pages/api/expansion-panel-actions.md
@@ -24,8 +24,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `action`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| action | Styles applied to the children.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ExpansionPanelActions/ExpansionPanelActions.js)
diff --git a/pages/api/expansion-panel-details.md b/pages/api/expansion-panel-details.md
index d7c43bb32480ce..8bbfba19966ede 100644
--- a/pages/api/expansion-panel-details.md
+++ b/pages/api/expansion-panel-details.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ExpansionPanelDetails/ExpansionPanelDetails.js)
diff --git a/pages/api/expansion-panel-summary.md b/pages/api/expansion-panel-summary.md
index 93b7f8b697ddcc..cc9e3ef888338b 100644
--- a/pages/api/expansion-panel-summary.md
+++ b/pages/api/expansion-panel-summary.md
@@ -26,12 +26,16 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `expanded`
-- `focused`
-- `disabled`
-- `content`
-- `expandIcon`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| expanded | Styles applied to the root element if `expanded={true}`.
+| focused | Styles applied to the root and children wrapper elements when focused.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| content | Styles applied to the children wrapper element.
+| expandIcon | Styles applied to the `IconButton` component when `expandIcon` is supplied.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ExpansionPanelSummary/ExpansionPanelSummary.js)
diff --git a/pages/api/expansion-panel.md b/pages/api/expansion-panel.md
index bdb281de6160b2..0784386ee8697f 100644
--- a/pages/api/expansion-panel.md
+++ b/pages/api/expansion-panel.md
@@ -29,9 +29,13 @@ Any other properties supplied will be spread to the root element ([Paper](/api/p
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `expanded`
-- `disabled`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| expanded | Styles applied to the root element if `expanded={true}`.
+| disabled | Styles applied to the root element if `disabled={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ExpansionPanel/ExpansionPanel.js)
diff --git a/pages/api/form-control-label.md b/pages/api/form-control-label.md
index 9782dfd0ffdfc6..e442cf19040c08 100644
--- a/pages/api/form-control-label.md
+++ b/pages/api/form-control-label.md
@@ -32,9 +32,13 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `disabled`
-- `label`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| label | Styles applied to the label's Typography component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/FormControlLabel/FormControlLabel.js)
diff --git a/pages/api/form-control.md b/pages/api/form-control.md
index 7abc44681db226..7daf4635419511 100644
--- a/pages/api/form-control.md
+++ b/pages/api/form-control.md
@@ -37,10 +37,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `marginNormal`
-- `marginDense`
-- `fullWidth`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| marginNormal | Styles applied to the root element if `margin="normal"`.
+| marginDense | Styles applied to the root element if `margin="dense"`.
+| fullWidth | Styles applied to the root element if `fullWidth={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/FormControl/FormControl.js)
diff --git a/pages/api/form-group.md b/pages/api/form-group.md
index 56e8e90cb5851e..ee51db87af182c 100644
--- a/pages/api/form-group.md
+++ b/pages/api/form-group.md
@@ -27,8 +27,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `row`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| row | Styles applied to the root element if `row={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/FormGroup/FormGroup.js)
diff --git a/pages/api/form-helper-text.md b/pages/api/form-helper-text.md
index dcf7fbf5e6603e..570326e4aa697d 100644
--- a/pages/api/form-helper-text.md
+++ b/pages/api/form-helper-text.md
@@ -28,10 +28,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `error`
-- `disabled`
-- `marginDense`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| error | Styles applied to the root element if `error={true}`.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| marginDense | Styles applied to the root element if `margin="dense"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/FormHelperText/FormHelperText.js)
diff --git a/pages/api/form-label.md b/pages/api/form-label.md
index 242199fe47ba85..c6f686dbda9c07 100644
--- a/pages/api/form-label.md
+++ b/pages/api/form-label.md
@@ -29,11 +29,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `focused`
-- `disabled`
-- `error`
-- `asterisk`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| focused | Styles applied to the root element if `focused={true}`.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| error | Styles applied to the root element if `error={true}`.
+| asterisk |
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/FormLabel/FormLabel.js)
diff --git a/pages/api/grid-list-tile-bar.md b/pages/api/grid-list-tile-bar.md
index 5db5a5dd565ff3..5941cec7871bed 100644
--- a/pages/api/grid-list-tile-bar.md
+++ b/pages/api/grid-list-tile-bar.md
@@ -28,17 +28,21 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `titlePositionBottom`
-- `titlePositionTop`
-- `rootSubtitle`
-- `titleWrap`
-- `titleWrapActionPosLeft`
-- `titleWrapActionPosRight`
-- `title`
-- `subtitle`
-- `actionIcon`
-- `actionIconActionPosLeft`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| titlePositionBottom | Styles applied to the root element if `titlePosition="bottom"`.
+| titlePositionTop | Styles applied to the root element if `titlePosition="top"`.
+| rootSubtitle | Styles applied to the root element if a `subtitle` is provided.
+| titleWrap | Styles applied to the title and subtitle container element.
+| titleWrapActionPosLeft | Styles applied to the container element if `actionPosition="left"`.
+| titleWrapActionPosRight | Styles applied to the container element if `actionPosition="right"`.
+| title | Styles applied to the title container element.
+| subtitle | Styles applied to the subtitle container element.
+| actionIcon | Styles applied to the actionIcon if supplied.
+| actionIconActionPosLeft | Styles applied to the actionIcon if `actionPosition="left".
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/GridListTileBar/GridListTileBar.js)
diff --git a/pages/api/grid-list-tile.md b/pages/api/grid-list-tile.md
index cc42e198651e05..cb1f2a31f68fac 100644
--- a/pages/api/grid-list-tile.md
+++ b/pages/api/grid-list-tile.md
@@ -27,10 +27,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `tile`
-- `imgFullHeight`
-- `imgFullWidth`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| tile | Styles applied to the `div` element that wraps the children.
+| imgFullHeight | Styles applied to an `ing` element child, if if needed to ensure it covers the tile.
+| imgFullWidth | Styles applied to an `ing` element child, if if needed to ensure it covers the tile.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/GridListTile/GridListTile.js)
diff --git a/pages/api/grid-list.md b/pages/api/grid-list.md
index 5fc5c40c96f9c4..922f145a2e39e8 100644
--- a/pages/api/grid-list.md
+++ b/pages/api/grid-list.md
@@ -28,7 +28,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/GridList/GridList.js)
diff --git a/pages/api/grid.md b/pages/api/grid.md
index 699442aaaf4031..83a2632ade1f2d 100644
--- a/pages/api/grid.md
+++ b/pages/api/grid.md
@@ -39,46 +39,50 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `container`
-- `item`
-- `zeroMinWidth`
-- `direction-xs-column`
-- `direction-xs-column-reverse`
-- `direction-xs-row-reverse`
-- `wrap-xs-nowrap`
-- `wrap-xs-wrap-reverse`
-- `align-items-xs-center`
-- `align-items-xs-flex-start`
-- `align-items-xs-flex-end`
-- `align-items-xs-baseline`
-- `align-content-xs-center`
-- `align-content-xs-flex-start`
-- `align-content-xs-flex-end`
-- `align-content-xs-space-between`
-- `align-content-xs-space-around`
-- `justify-xs-center`
-- `justify-xs-flex-end`
-- `justify-xs-space-between`
-- `justify-xs-space-around`
-- `spacing-xs-8`
-- `spacing-xs-16`
-- `spacing-xs-24`
-- `spacing-xs-32`
-- `spacing-xs-40`
-- `grid-xs-auto`
-- `grid-xs-true`
-- `grid-xs-1`
-- `grid-xs-2`
-- `grid-xs-3`
-- `grid-xs-4`
-- `grid-xs-5`
-- `grid-xs-6`
-- `grid-xs-7`
-- `grid-xs-8`
-- `grid-xs-9`
-- `grid-xs-10`
-- `grid-xs-11`
-- `grid-xs-12`
+
+
+| Name | Description |
+|:-----|:------------|
+| container | Styles applied to the root element if `container={true}`.
+| item | Styles applied to the root element if `item={true}`.
+| zeroMinWidth | Styles applied to the root element if `zeroMinWidth={true}`.
+| direction-xs-column |
+| direction-xs-column-reverse |
+| direction-xs-row-reverse |
+| wrap-xs-nowrap |
+| wrap-xs-wrap-reverse |
+| align-items-xs-center |
+| align-items-xs-flex-start |
+| align-items-xs-flex-end |
+| align-items-xs-baseline |
+| align-content-xs-center |
+| align-content-xs-flex-start |
+| align-content-xs-flex-end |
+| align-content-xs-space-between |
+| align-content-xs-space-around |
+| justify-xs-center |
+| justify-xs-flex-end |
+| justify-xs-space-between |
+| justify-xs-space-around |
+| spacing-xs-8 |
+| spacing-xs-16 |
+| spacing-xs-24 |
+| spacing-xs-32 |
+| spacing-xs-40 |
+| grid-xs-auto |
+| grid-xs-true |
+| grid-xs-1 |
+| grid-xs-2 |
+| grid-xs-3 |
+| grid-xs-4 |
+| grid-xs-5 |
+| grid-xs-6 |
+| grid-xs-7 |
+| grid-xs-8 |
+| grid-xs-9 |
+| grid-xs-10 |
+| grid-xs-11 |
+| grid-xs-12 |
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Grid/Grid.js)
diff --git a/pages/api/icon-button.md b/pages/api/icon-button.md
index ab42652ee6dfaf..93667967b26f4e 100644
--- a/pages/api/icon-button.md
+++ b/pages/api/icon-button.md
@@ -28,12 +28,16 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `colorInherit`
-- `colorPrimary`
-- `colorSecondary`
-- `disabled`
-- `label`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| colorInherit | Styles applied to the root element if `color="inherit"`.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| label | Styles applied to the children container element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/IconButton/IconButton.js)
diff --git a/pages/api/icon.md b/pages/api/icon.md
index f0bb4c10c41183..15be9b18c37cde 100644
--- a/pages/api/icon.md
+++ b/pages/api/icon.md
@@ -26,13 +26,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `colorPrimary`
-- `colorSecondary`
-- `colorAction`
-- `colorError`
-- `colorDisabled`
-- `fontSizeInherit`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
+| colorAction | Styles applied to the root element if `color="action"`.
+| colorError | Styles applied to the root element if `color="error"`.
+| colorDisabled | Styles applied to the root element if `color="disabled"`.
+| fontSizeInherit |
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Icon/Icon.js)
diff --git a/pages/api/input-adornment.md b/pages/api/input-adornment.md
index 87f7dad711d001..0e947f8db95c86 100644
--- a/pages/api/input-adornment.md
+++ b/pages/api/input-adornment.md
@@ -27,9 +27,13 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `positionStart`
-- `positionEnd`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| positionStart | Styles applied to the root element if `position="start"`.
+| positionEnd | Styles applied to the root element if `position="end"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/InputAdornment/InputAdornment.js)
diff --git a/pages/api/input-label.md b/pages/api/input-label.md
index d699a019b0911b..8f21612d1a086b 100644
--- a/pages/api/input-label.md
+++ b/pages/api/input-label.md
@@ -32,11 +32,15 @@ Any other properties supplied will be spread to the root element ([FormLabel](/a
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `formControl`
-- `marginDense`
-- `shrink`
-- `animated`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| formControl | Styles applied to the root element if the component is a descendant of `FormControl`.
+| marginDense | Styles applied to the root element if `margin="dense"`.
+| shrink | Styles applied to the `input` element if `shrink={true}`.
+| animated | Styles applied to the `input` element if `disableAnimation={false}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/InputLabel/InputLabel.js)
diff --git a/pages/api/input.md b/pages/api/input.md
index f11748a0147ee4..9f9463d3aca986 100644
--- a/pages/api/input.md
+++ b/pages/api/input.md
@@ -46,19 +46,23 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `formControl`
-- `focused`
-- `disabled`
-- `underline`
-- `error`
-- `multiline`
-- `fullWidth`
-- `input`
-- `inputMarginDense`
-- `inputMultiline`
-- `inputType`
-- `inputTypeSearch`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| formControl | Styles applied to the root element if the component is a descendant of `FormControl`.
+| focused | Styles applied to the root element if the component is focused.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| underline | Styles applied to the root element if `disabledUnderline={false}`.
+| error | Styles applied to the root element if `error={true}`.
+| multiline | Styles applied to the root element if `multiline={true}`.
+| fullWidth | Styles applied to the root element if `fullWidth={true}`.
+| input | Styles applied to the `input` element.
+| inputMarginDense | Styles applied to the `input` element if `margin="dense"`.
+| inputMultiline | Styles applied to the `input` element if `multiline={true}`.
+| inputType | Styles applied to the `input` element if `type` is not "text"`.
+| inputTypeSearch | Styles applied to the `input` element if `type="search"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Input/Input.js)
diff --git a/pages/api/linear-progress.md b/pages/api/linear-progress.md
index f982f4d12c7a63..c6ecf59973d923 100644
--- a/pages/api/linear-progress.md
+++ b/pages/api/linear-progress.md
@@ -31,22 +31,27 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `colorPrimary`
-- `colorSecondary`
-- `buffer`
-- `query`
-- `dashed`
-- `dashedColorPrimary`
-- `dashedColorSecondary`
-- `bar`
-- `barColorPrimary`
-- `barColorSecondary`
-- `bar1Indeterminate`
-- `bar2Indeterminate`
-- `bar1Determinate`
-- `bar1Buffer`
-- `bar2Buffer`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| colorPrimary | Styles applied to the root & bar2 element if `color="primary"`; bar2 if `variant-"buffer"`.
+| colorSecondary | Styles applied to the root & bar2 elements if `color="secondary"`; bar2 if variant="buffer".
+| buffer | Styles applied to the root element if `variant="buffer"`.
+| query | Styles applied to the root element if `variant="query"`.
+| dashed | Styles applied to the additional bar element if `variant="buffer"`.
+| dashedColorPrimary | Styles applied to the additional bar element if `variant="buffer"` & `color="primary"`.
+| dashedColorSecondary | Styles applied to the additional bar element if `variant="buffer"` & `color="secondary"`.
+| bar | Styles applied to the layered bar1 & bar2 elements.
+| barColorPrimary | Styles applied to the bar elements if `color="primary"`; bar2 if `variant` not "buffer".
+| barColorSecondary | Styles applied to the bar elements if `color="secondary"`; bar2 if `variant` not "buffer".
+| bar1Indeterminate | Styles applied to the bar1 element if `variant="indeterminate or query"`.
+| bar1Determinate | Styles applied to the bar1 element if `variant="determinate"`.
+| bar1Buffer | Styles applied to the bar1 element if `variant="buffer"`.
+| bar2Indeterminate | Styles applied to the bar2 element if `variant="indeterminate or query"`.
+| bar2Determinate | Styles applied to the bar2 element if `variant="determinate"`.
+| bar2Buffer | Styles applied to the bar2 element if `variant="buffer"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/LinearProgress/LinearProgress.js)
diff --git a/pages/api/list-item-avatar.md b/pages/api/list-item-avatar.md
index 293f5ca4af0054..4fa213704fea3b 100644
--- a/pages/api/list-item-avatar.md
+++ b/pages/api/list-item-avatar.md
@@ -9,13 +9,13 @@ title: ListItemAvatar API
The API documentation of the ListItemAvatar React component.
-It's a simple wrapper to apply the `dense` mode styles to `Avatar`.
+This is a simple wrapper to apply the `dense` mode styles to `Avatar`.
## Props
| Name | Type | Default | Description |
|:-----|:-----|:--------|:------------|
-| children * | element | | The content of the component, normally `Avatar`. |
+| children * | element | | The content of the component – normally `Avatar`. |
| classes | object | | Override or extend the styles applied to the component. See [CSS API](#css-api) below for more details. |
Any other properties supplied will be spread to the root element (native element).
@@ -24,8 +24,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `icon`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| icon | Styles applied to the children – typically the `Avatar` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListItemAvatar/ListItemAvatar.js)
diff --git a/pages/api/list-item-icon.md b/pages/api/list-item-icon.md
index cba977260025ab..51bc850707c62d 100644
--- a/pages/api/list-item-icon.md
+++ b/pages/api/list-item-icon.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListItemIcon/ListItemIcon.js)
diff --git a/pages/api/list-item-secondary-action.md b/pages/api/list-item-secondary-action.md
index b8fe8f04ea2285..92308d87421590 100644
--- a/pages/api/list-item-secondary-action.md
+++ b/pages/api/list-item-secondary-action.md
@@ -24,7 +24,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListItemSecondaryAction/ListItemSecondaryAction.js)
diff --git a/pages/api/list-item-text.md b/pages/api/list-item-text.md
index 34433800ce720f..0bb6ca69967bde 100644
--- a/pages/api/list-item-text.md
+++ b/pages/api/list-item-text.md
@@ -30,12 +30,16 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `inset`
-- `dense`
-- `primary`
-- `secondary`
-- `textDense`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| inset | Styles applied to the root element if `inset={true}`.
+| dense | Styles applied to the root element if `context.dense` is `true`.
+| primary | Styles applied to the primary `Typography` component.
+| secondary | Styles applied to the secondary `Typography` component.
+| textDense | Styles applied to the `Typography` components if `context.dense` is `true`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListItemText/ListItemText.js)
diff --git a/pages/api/list-item.md b/pages/api/list-item.md
index f7d1390b794041..be883f438a0d8f 100644
--- a/pages/api/list-item.md
+++ b/pages/api/list-item.md
@@ -31,16 +31,20 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `container`
-- `focusVisible`
-- `default`
-- `dense`
-- `disabled`
-- `divider`
-- `gutters`
-- `button`
-- `secondaryAction`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the (normally root) `component` element. May be wrapped by a `container`.
+| container | Styles applied to the `container` element if `children` includes `ListItemSecondaryAction`.
+| focusVisible | Styles applied to the `component`'s `focusVisibleClassName` property if `button={true}`.
+| default | Legacy styles applied to the root element. Use `root` instead.
+| dense | Styles applied to the `component` element if `dense={true}` or `children` includes `Avatar`.
+| disabled | Styles applied to the inner `component` element if `dense={true}`.
+| divider | Styles applied to the inner `component` element if `divider={true}`.
+| gutters | Styles applied to the inner `component` element if `disableGutters={false}`.
+| button | Styles applied to the inner `component` element if `button={true}`.
+| secondaryAction | Styles applied to the `component` element if `children` includes `ListItemSecondaryAction`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListItem/ListItem.js)
diff --git a/pages/api/list-subheader.md b/pages/api/list-subheader.md
index 78b096d9f5ce9b..5783f38df45d05 100644
--- a/pages/api/list-subheader.md
+++ b/pages/api/list-subheader.md
@@ -28,11 +28,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `colorPrimary`
-- `colorInherit`
-- `inset`
-- `sticky`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorInherit | Styles applied to the root element if `color="inherit"`.
+| inset | Styles applied to the root element if `inset={true}`.
+| sticky | Styles applied to the root element if `disableSticky={false}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ListSubheader/ListSubheader.js)
diff --git a/pages/api/list.md b/pages/api/list.md
index c9d9b1a8a69cb9..1c76f22b984bd8 100644
--- a/pages/api/list.md
+++ b/pages/api/list.md
@@ -28,10 +28,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `padding`
-- `dense`
-- `subheader`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| padding | Styles applied to the root element if `disablePddding={false}`.
+| dense | Styles applied to the root element if `dense={true}` & `disablePddding={false}`.
+| subheader | Styles applied to the root element if a `subheader` is provided.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/List/List.js)
diff --git a/pages/api/menu-item.md b/pages/api/menu-item.md
index e0a84b6e842cf7..fd511824ed3fc9 100644
--- a/pages/api/menu-item.md
+++ b/pages/api/menu-item.md
@@ -26,8 +26,12 @@ Any other properties supplied will be spread to the root element ([ListItem](/ap
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `selected`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| selected | Styles applied to the root element if `selected={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/MenuItem/MenuItem.js)
diff --git a/pages/api/menu.md b/pages/api/menu.md
index 3e6f357be34528..ec799e64a74b35 100644
--- a/pages/api/menu.md
+++ b/pages/api/menu.md
@@ -37,7 +37,11 @@ Any other properties supplied will be spread to the root element ([Popover](/api
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `paper`
+
+
+| Name | Description |
+|:-----|:------------|
+| paper | Styles applied to the `Paper` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Menu/Menu.js)
diff --git a/pages/api/mobile-stepper.md b/pages/api/mobile-stepper.md
index 7b0ded75d3ee07..b079aaba6d5eca 100644
--- a/pages/api/mobile-stepper.md
+++ b/pages/api/mobile-stepper.md
@@ -29,14 +29,18 @@ Any other properties supplied will be spread to the root element ([Paper](/api/p
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `positionBottom`
-- `positionTop`
-- `positionStatic`
-- `dots`
-- `dot`
-- `dotActive`
-- `progress`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| positionBottom | Styles applied to the root element if `position="bottom"`.
+| positionTop | Styles applied to the root element if `position="top"`.
+| positionStatic | Styles applied to the root element if `position="static"`.
+| dots | Styles applied to the dots container if `variant="dots"`.
+| dot | Styles applied to each dot if `variant="dots"`.
+| dotActive | Styles applied to a dot if `variant="dots"` and this is the active step.
+| progress | Styles applied to the Linear Progress component if `variant="progress"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/MobileStepper/MobileStepper.js)
diff --git a/pages/api/modal.md b/pages/api/modal.md
index bcf6e26ffc7da0..c412ebbea14881 100644
--- a/pages/api/modal.md
+++ b/pages/api/modal.md
@@ -41,8 +41,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `hidden`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| hidden | Styles applied to the root element if the `Modal` has exited.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Modal/Modal.js)
diff --git a/pages/api/native-select.md b/pages/api/native-select.md
index 3e56b9638c219b..be32248196e649 100644
--- a/pages/api/native-select.md
+++ b/pages/api/native-select.md
@@ -29,11 +29,15 @@ Any other properties supplied will be spread to the root element ([Input](/api/i
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `select`
-- `selectMenu`
-- `disabled`
-- `icon`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the `Input` component `root` class.
+| select | Styles applied to the `Input` component `select` class.
+| selectMenu | Styles applied to the `Input` component `selectMenu` class.
+| disabled | Styles applied to the `Input` component `disabled` class.
+| icon | Styles applied to the `Input` component `icon` class.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/NativeSelect/NativeSelect.js)
diff --git a/pages/api/paper.md b/pages/api/paper.md
index 8083bf579e32a8..b25d72e4a7625b 100644
--- a/pages/api/paper.md
+++ b/pages/api/paper.md
@@ -27,33 +27,37 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `rounded`
-- `elevation0`
-- `elevation1`
-- `elevation2`
-- `elevation3`
-- `elevation4`
-- `elevation5`
-- `elevation6`
-- `elevation7`
-- `elevation8`
-- `elevation9`
-- `elevation10`
-- `elevation11`
-- `elevation12`
-- `elevation13`
-- `elevation14`
-- `elevation15`
-- `elevation16`
-- `elevation17`
-- `elevation18`
-- `elevation19`
-- `elevation20`
-- `elevation21`
-- `elevation22`
-- `elevation23`
-- `elevation24`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| rounded | Styles applied to the root element if `square={false}`.
+| elevation0 |
+| elevation1 |
+| elevation2 |
+| elevation3 |
+| elevation4 |
+| elevation5 |
+| elevation6 |
+| elevation7 |
+| elevation8 |
+| elevation9 |
+| elevation10 |
+| elevation11 |
+| elevation12 |
+| elevation13 |
+| elevation14 |
+| elevation15 |
+| elevation16 |
+| elevation17 |
+| elevation18 |
+| elevation19 |
+| elevation20 |
+| elevation21 |
+| elevation22 |
+| elevation23 |
+| elevation24 |
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Paper/Paper.js)
diff --git a/pages/api/popover.md b/pages/api/popover.md
index af0815d1b61bba..5c52886d0266d8 100644
--- a/pages/api/popover.md
+++ b/pages/api/popover.md
@@ -46,7 +46,11 @@ Any other properties supplied will be spread to the root element ([Modal](/api/m
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `paper`
+
+
+| Name | Description |
+|:-----|:------------|
+| paper | Styles applied to the `Paper` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Popover/Popover.js)
diff --git a/pages/api/radio.md b/pages/api/radio.md
index 9bc52c6f8ccafc..659498b0c8bdff 100644
--- a/pages/api/radio.md
+++ b/pages/api/radio.md
@@ -35,11 +35,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `checked`
-- `disabled`
-- `colorPrimary`
-- `colorSecondary`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| checked | Styles applied to the root element if `checked={true}`.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Radio/Radio.js)
diff --git a/pages/api/select.md b/pages/api/select.md
index 519a33022499d3..931d39bf9148b1 100644
--- a/pages/api/select.md
+++ b/pages/api/select.md
@@ -39,11 +39,15 @@ Any other properties supplied will be spread to the root element ([Input](/api/i
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `select`
-- `selectMenu`
-- `disabled`
-- `icon`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the `Input` component `root` class.
+| select | Styles applied to the `Input` component `select` class.
+| selectMenu | Styles applied to the `Input` component `selectMenu` class.
+| disabled | Styles applied to the `Input` component `disabled` class.
+| icon | Styles applied to the `Input` component `icon` class.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Select/Select.js)
diff --git a/pages/api/snackbar-content.md b/pages/api/snackbar-content.md
index 98fb896f7a3484..d8f5fad6cdb149 100644
--- a/pages/api/snackbar-content.md
+++ b/pages/api/snackbar-content.md
@@ -25,9 +25,13 @@ Any other properties supplied will be spread to the root element ([Paper](/api/p
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `message`
-- `action`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| message | Styles applied to the message wrapper element.
+| action | Styles applied to the action wrapper element if `action` is provided.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/SnackbarContent/SnackbarContent.js)
diff --git a/pages/api/snackbar.md b/pages/api/snackbar.md
index da7e8718e95ce2..2b53e186b5cb6f 100644
--- a/pages/api/snackbar.md
+++ b/pages/api/snackbar.md
@@ -43,13 +43,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `anchorOriginTopCenter`
-- `anchorOriginBottomCenter`
-- `anchorOriginTopRight`
-- `anchorOriginBottomRight`
-- `anchorOriginTopLeft`
-- `anchorOriginBottomLeft`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| anchorOriginTopCenter | Styles applied to the root element if `anchorOrigin={{ 'top', 'center' }}`.
+| anchorOriginBottomCenter | Styles applied to the root element if `anchorOrigin={{ 'bottom', 'center' }}`.
+| anchorOriginTopRight | Styles applied to the root element if `anchorOrigin={{ 'top', 'right' }}`.
+| anchorOriginBottomRight | Styles applied to the root element if `anchorOrigin={{ 'bottom', 'right' }}`.
+| anchorOriginTopLeft | Styles applied to the root element if `anchorOrigin={{ 'top', 'left' }}`.
+| anchorOriginBottomLeft | Styles applied to the root element if `anchorOrigin={{ 'bottom', 'left' }}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Snackbar/Snackbar.js)
diff --git a/pages/api/step-button.md b/pages/api/step-button.md
index 13ba1521149560..6de50cc189be5c 100644
--- a/pages/api/step-button.md
+++ b/pages/api/step-button.md
@@ -26,9 +26,14 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `vertical`
-- `touchRipple`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| horizontal | Styles applied to the root element if `orientation="horizontal"`.
+| vertical | Styles applied to the root element if `orientation="vertical"`.
+| touchRipple | Styles applied to the `ButtonBase` touch-ripple.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/StepButton/StepButton.js)
diff --git a/pages/api/step-connector.md b/pages/api/step-connector.md
index 09d496e45eebc5..63058214d6d1e0 100644
--- a/pages/api/step-connector.md
+++ b/pages/api/step-connector.md
@@ -23,13 +23,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `horizontal`
-- `vertical`
-- `alternativeLabel`
-- `line`
-- `lineHorizontal`
-- `lineVertical`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| horizontal | Styles applied to the root element if `orientation="horizontal"`.
+| vertical | Styles applied to the root element if `orientation="vertical"`.
+| alternativeLabel | Styles applied to the root element if `alternativeLabel={true}`.
+| line | Styles applied to the line element.
+| lineHorizontal | Styles applied to the root element if `orientation="horizontal"`.
+| lineVertical | Styles applied to the root element if `orientation="vertical"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/StepConnector/StepConnector.js)
diff --git a/pages/api/step-content.md b/pages/api/step-content.md
index 231d8eb4a6aad4..675014e855f67b 100644
--- a/pages/api/step-content.md
+++ b/pages/api/step-content.md
@@ -27,9 +27,13 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `last`
-- `transition`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| last | Styles applied to the root element if `last={true}` (controlled by `Step`).
+| transition | Styles applied to the Transition component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/StepContent/StepContent.js)
diff --git a/pages/api/step-icon.md b/pages/api/step-icon.md
index 72d46ccceee230..742a7d69817837 100644
--- a/pages/api/step-icon.md
+++ b/pages/api/step-icon.md
@@ -27,11 +27,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `text`
-- `active`
-- `completed`
-- `error`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| text | Styles applied to the SVG text element.
+| active | Styles applied to the root element if `active={true}`.
+| completed | Styles applied to the root element if `completed={true}`.
+| error | Styles applied to the root element if `error={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/StepIcon/StepIcon.js)
diff --git a/pages/api/step-label.md b/pages/api/step-label.md
index 4930f40f6c6a3a..0322a4c37ecb72 100644
--- a/pages/api/step-label.md
+++ b/pages/api/step-label.md
@@ -29,17 +29,21 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `horizontal`
-- `vertical`
-- `active`
-- `completed`
-- `alternativeLabel`
-- `error`
-- `disabled`
-- `label`
-- `iconContainer`
-- `labelContainer`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| horizontal | Styles applied to the root element if `orientation="horiizontal".
+| vertical | Styles applied to the root element if `orientation="vertical".
+| label | Styles applied to the `Typography` component which wraps `children`.
+| active | Styles applied to the `Typography` component if `active={true}`.
+| completed | Styles applied to the `Typography` component if `completed={true}`.
+| error | Styles applied to the root element and `Typography` component if `error={true}`.
+| disabled | Styles applied to the root element and `Typography` component if `disabled={true}`.
+| iconContainer | Styles applied to the `icon` container element.
+| alternativeLabel | Styles applied to the root & icon container and `Typography` if `alternativeLabel={true}`.
+| labelContainer | Styles applied to the container element which wraps `Typography` and `optional`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/StepLabel/StepLabel.js)
diff --git a/pages/api/step.md b/pages/api/step.md
index c1fa3237a7d106..1efa061c7a31fb 100644
--- a/pages/api/step.md
+++ b/pages/api/step.md
@@ -27,10 +27,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `horizontal`
-- `vertical`
-- `alternativeLabel`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| horizontal | Styles applied to the root element if `orientation="horizontal"`.
+| vertical | Styles applied to the root element if `orientation="vertical"`.
+| alternativeLabel | Styles applied to the root element if `alternativeLabel={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Step/Step.js)
diff --git a/pages/api/stepper.md b/pages/api/stepper.md
index 1e4d83ae283342..5c18bef6b7f7dd 100644
--- a/pages/api/stepper.md
+++ b/pages/api/stepper.md
@@ -29,10 +29,14 @@ Any other properties supplied will be spread to the root element ([Paper](/api/p
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `horizontal`
-- `vertical`
-- `alternativeLabel`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| horizontal | Styles applied to the root element if `orientation="horizontal"`.
+| vertical | Styles applied to the root element if `orientation="vertical"`.
+| alternativeLabel | Styles applied to the root element if `alternativeLabel={true}`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Stepper/Stepper.js)
diff --git a/pages/api/svg-icon.md b/pages/api/svg-icon.md
index 20aa7cb175436a..d40edf4f314ba6 100644
--- a/pages/api/svg-icon.md
+++ b/pages/api/svg-icon.md
@@ -30,13 +30,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `colorPrimary`
-- `colorSecondary`
-- `colorAction`
-- `colorError`
-- `colorDisabled`
-- `fontSizeInherit`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
+| colorAction | Styles applied to the root element if `color="saction"`.
+| colorError | Styles applied to the root element if `color="error"`.
+| colorDisabled | Styles applied to the root element if `color="disabled"`.
+| fontSizeInherit | Styles applied to the root element if `fontSize="inherit"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/SvgIcon/SvgIcon.js)
diff --git a/pages/api/switch-base.js b/pages/api/switch-base.js
deleted file mode 100644
index 11d0351117dc1a..00000000000000
--- a/pages/api/switch-base.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import React from 'react';
-import withRoot from 'docs/src/modules/components/withRoot';
-import MarkdownDocs from 'docs/src/modules/components/MarkdownDocs';
-import markdown from './switch-base.md';
-
-function Page() {
- return ;
-}
-
-export default withRoot(Page);
diff --git a/pages/api/switch-base.md b/pages/api/switch-base.md
deleted file mode 100644
index d5c9843254eacd..00000000000000
--- a/pages/api/switch-base.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-filename: /packages/material-ui/src/internal/SwitchBase.js
-title: SwitchBase API
----
-
-
-
-# SwitchBase
-
-The API documentation of the SwitchBase React component.
-
-
-
-## Props
-
-| Name | Type | Default | Description |
-|:-----|:-----|:--------|:------------|
-| checked | union: bool |
string
| | If `true`, the component is checked. |
-| checkedIcon * | node | | The icon to display when the component is checked. |
-| classes | object | | Override or extend the styles applied to the component. See [CSS API](#css-api) below for more details. |
-| disabled | bool | | If `true`, the switch will be disabled. |
-| disableRipple | bool | | If `true`, the ripple effect will be disabled. |
-| icon * | node | | The icon to display when the component is unchecked. |
-| id | string | | The id of the `input` element. |
-| indeterminate | bool | | If `true`, the component appears indeterminate. |
-| indeterminateIcon | node | | The icon to display when the component is indeterminate. |
-| inputProps | object | | Attributes applied to the `input` element. |
-| inputRef | union: func |
object
| | Use that property to pass a ref callback to the native input component. |
-| name | string | | |
-| onChange | func | | Callback fired when the state is changed.
**Signature:**
`function(event: object, checked: boolean) => void`
*event:* The event source of the callback. You can pull out the new value by accessing `event.target.checked`.
*checked:* The `checked` value of the switch |
-| type | string | 'checkbox' | The input component property `type`. |
-| value | string | | The value of the component. |
-
-Any other properties supplied will be spread to the root element ([IconButton](/api/icon-button)).
-
-## CSS API
-
-You can override all the class names injected by Material-UI thanks to the `classes` property.
-This property accepts the following keys:
-- `root`
-- `checked`
-- `disabled`
-- `input`
-
-Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
-and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/internal/SwitchBase.js)
-for more detail.
-
-If using the `overrides` key of the theme as documented
-[here](/customization/themes#customizing-all-instances-of-a-component-type),
-you need to use the following style sheet name: `MuiSwitchBase`.
-
-## Inheritance
-
-The properties of the [IconButton](/api/icon-button) component are also available.
-You can take advantage of this behavior to [target nested components](/guides/api#spread).
-
diff --git a/pages/api/switch.md b/pages/api/switch.md
index 216d8a3be5c0c7..9ec6512b5f51e3 100644
--- a/pages/api/switch.md
+++ b/pages/api/switch.md
@@ -35,15 +35,19 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `icon`
-- `iconChecked`
-- `switchBase`
-- `checked`
-- `colorPrimary`
-- `colorSecondary`
-- `disabled`
-- `bar`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| icon | Styles used to create the `icon` passed to the internal `SwitchBase` component `icon` prop.
+| iconChecked | Styles applied the icon element component if `checked={true}`.
+| switchBase | Styles applied to the internal `SwitchBase` component's `root` class.
+| checked | Styles applied to the internal `SwitchBase` component's `checked` class.
+| colorPrimary | Styles applied to the internal SwitchBase component's root element if `color="primary"`.
+| colorSecondary | Styles applied to the internal SwitchBase component's root element if `color="secondary"`.
+| disabled | Styles applied to the internal SwitchBase component's disabled class.
+| bar | Styles applied to the bar element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Switch/Switch.js)
diff --git a/pages/api/tab.md b/pages/api/tab.md
index 2f22b629c398f3..fe00d9b2d950aa 100644
--- a/pages/api/tab.md
+++ b/pages/api/tab.md
@@ -28,18 +28,22 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `labelIcon`
-- `textColorInherit`
-- `textColorPrimary`
-- `textColorSecondary`
-- `selected`
-- `disabled`
-- `fullWidth`
-- `wrapper`
-- `labelContainer`
-- `label`
-- `labelWrapped`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| labelIcon | Styles applied to the root element if both `icon` and `label` are provided.
+| textColorInherit | Styles applied to the root element if `textColor="inherit"`.
+| textColorPrimary | Styles applied to the root element if `textColor="primary"`.
+| textColorSecondary | Styles applied to the root element if `textColor="secondary"`.
+| selected | Styles applied to the root element if `selected={true}` (controlled by the Tabs component).
+| disabled | Styles applied to the root element if `disabled={true}` (controlled by the Tabs component).
+| fullWidth | Styles applied to the root element if `fullWidth={true}` (controlled by the Tabs component).
+| wrapper | Styles applied to the `icon` and `label`'s wrapper element.
+| labelContainer | Styles applied to the label container element if `label` is provided.
+| label | Styles applied to the label wrapper element if `label` is provided.
+| labelWrapped | Styles applied to the label wrapper element if `label` is provided and the text is wrapped.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Tab/Tab.js)
diff --git a/pages/api/table-body.md b/pages/api/table-body.md
index 5dfdbcabb0e845..95792e084e258a 100644
--- a/pages/api/table-body.md
+++ b/pages/api/table-body.md
@@ -25,7 +25,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableBody/TableBody.js)
diff --git a/pages/api/table-cell.md b/pages/api/table-cell.md
index 5cb190cdcc6e14..36e7a6a811d36f 100644
--- a/pages/api/table-cell.md
+++ b/pages/api/table-cell.md
@@ -30,14 +30,18 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `head`
-- `body`
-- `footer`
-- `numeric`
-- `paddingDense`
-- `paddingCheckbox`
-- `paddingNone`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| head | Styles applied to the root element if `variant="head"` or `context.table.head`.
+| body | Styles applied to the root element if `variant="body"` or `context.table.body`.
+| footer | Styles applied to the root element if `variant="footer"` or `context.table.footer`.
+| numeric | Styles applied to the root element if `numeric={true}`.
+| paddingDense | Styles applied to the root element if `padding="dense"`.
+| paddingCheckbox | Styles applied to the root element if `padding="checkbox"`.
+| paddingNone | Styles applied to the root element if `padding="none"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableCell/TableCell.js)
diff --git a/pages/api/table-footer.md b/pages/api/table-footer.md
index 13902d1c4a9b7d..4508f96a9c83f9 100644
--- a/pages/api/table-footer.md
+++ b/pages/api/table-footer.md
@@ -25,7 +25,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableFooter/TableFooter.js)
diff --git a/pages/api/table-head.md b/pages/api/table-head.md
index 0e81db8eb0d86b..82bb4f2b6b530c 100644
--- a/pages/api/table-head.md
+++ b/pages/api/table-head.md
@@ -25,7 +25,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableHead/TableHead.js)
diff --git a/pages/api/table-pagination.md b/pages/api/table-pagination.md
index dce7b8a04d3b9f..2fad563ddfd13c 100644
--- a/pages/api/table-pagination.md
+++ b/pages/api/table-pagination.md
@@ -36,16 +36,20 @@ Any other properties supplied will be spread to the root element ([TableCell](/a
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `toolbar`
-- `spacer`
-- `menuItem`
-- `caption`
-- `input`
-- `selectRoot`
-- `select`
-- `selectIcon`
-- `actions`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| toolbar | Styles applied to the Toolbar component.
+| spacer | Styles applied to the spacer element.
+| caption | Styles applied to the caption Typography components if `variant="caption"`.
+| selectRoot | Styles applied to the Select component `root` class.
+| select | Styles applied to the Select component `select` class.
+| selectIcon | Styles applied to the Select component `icon` class.
+| input | Styles applied to the Input component.
+| menuItem | Styles applied to the MenuItem component.
+| actions | Styles applied to the internal `TablePaginationActions` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TablePagination/TablePagination.js)
diff --git a/pages/api/table-row.md b/pages/api/table-row.md
index abdea1bdab4d8c..5d885eddc88ab7 100644
--- a/pages/api/table-row.md
+++ b/pages/api/table-row.md
@@ -28,11 +28,15 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `selected`
-- `hover`
-- `head`
-- `footer`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| selected | Styles applied to the root element if `context.table` & `selected={true}`.
+| hover | Styles applied to the root element if `context.table` & `hover={true}`.
+| head | Styles applied to the root element if `context.table.head`.
+| footer | Styles applied to the root element if `context.table.footer`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableRow/TableRow.js)
diff --git a/pages/api/table-sort-label.md b/pages/api/table-sort-label.md
index a338a281171695..c5dc4152e41885 100644
--- a/pages/api/table-sort-label.md
+++ b/pages/api/table-sort-label.md
@@ -26,11 +26,15 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `active`
-- `icon`
-- `iconDirectionDesc`
-- `iconDirectionAsc`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| active | Styles applied to the root element if `active={true}`.
+| icon | Styles applied to the icon component.
+| iconDirectionDesc | Styles applied to the icon component if `direction="desc"`.
+| iconDirectionAsc | Styles applied to the icon component if `direction="asc"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableSortLabel/TableSortLabel.js)
diff --git a/pages/api/table.md b/pages/api/table.md
index 77d43783f4b1f1..46952565011e5a 100644
--- a/pages/api/table.md
+++ b/pages/api/table.md
@@ -25,7 +25,11 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Table/Table.js)
diff --git a/pages/api/tabs.md b/pages/api/tabs.md
index ed27d24c0d4ecd..67ec740edda641 100644
--- a/pages/api/tabs.md
+++ b/pages/api/tabs.md
@@ -36,15 +36,19 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `flexContainer`
-- `scroller`
-- `fixed`
-- `scrollable`
-- `centered`
-- `scrollButtons`
-- `scrollButtonsAuto`
-- `indicator`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| flexContainer | Styles applied to the flex container element.
+| centered | Styles applied to the flex container element if `centered={true}` & `scrollable={false}`.
+| scroller | Styles applied to the tablist element.
+| fixed | Styles applied to the tablist element if `scrollable={false}`.
+| scrollable | Styles applied to the tablist element if `scrollable={true}`.
+| scrollButtons | Styles applied to the `ScrollButtonComponent` component.
+| scrollButtonsAuto | Styles applied to the `ScrollButtonComponent` component if `sscrollButtons="auto"`.
+| indicator | Styles applied to the `TabIndicator` component.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Tabs/Tabs.js)
diff --git a/pages/api/toolbar.md b/pages/api/toolbar.md
index b4719bc21ec0a6..8971c710807e6e 100644
--- a/pages/api/toolbar.md
+++ b/pages/api/toolbar.md
@@ -26,10 +26,14 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `gutters`
-- `regular`
-- `dense`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| gutters | Styles applied to the root element if `disableGutters={false}`.
+| regular | Styles applied to the root element if `variant="regular"`.
+| dense | Styles applied to the root element if `variant="dense"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Toolbar/Toolbar.js)
diff --git a/pages/api/tooltip.md b/pages/api/tooltip.md
index ed60aed19d3f00..01c8edcf133eec 100644
--- a/pages/api/tooltip.md
+++ b/pages/api/tooltip.md
@@ -40,13 +40,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `popper`
-- `tooltip`
-- `touch`
-- `tooltipPlacementLeft`
-- `tooltipPlacementRight`
-- `tooltipPlacementTop`
-- `tooltipPlacementBottom`
+
+
+| Name | Description |
+|:-----|:------------|
+| popper | Styles applied to the Popper component.
+| tooltip | Styles applied to the tooltip (label wrapper) element.
+| touch | Styles applied to the tooltip (label wrapper) element if the tooltip is opened by touch.
+| tooltipPlacementLeft | Styles applied to the tooltip (label wrapper) element if `placement` contains "left".
+| tooltipPlacementRight | Styles applied to the tooltip (label wrapper) element if `placement` contains "right".
+| tooltipPlacementTop | Styles applied to the tooltip (label wrapper) element if `placement` contains "top".
+| tooltipPlacementBottom | Styles applied to the tooltip (label wrapper) element if `placement` contains "bottom".
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Tooltip/Tooltip.js)
diff --git a/pages/api/touch-ripple.md b/pages/api/touch-ripple.md
index a1ae70ef761972..1a8c27c76018c5 100644
--- a/pages/api/touch-ripple.md
+++ b/pages/api/touch-ripple.md
@@ -24,13 +24,17 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `ripple`
-- `rippleVisible`
-- `ripplePulsate`
-- `child`
-- `childLeaving`
-- `childPulsate`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| ripple | Styles applied to the internal `Ripple` components `ripple` class.
+| rippleVisible | Styles applied to the internal `Ripple` components `rippleVisible` class.
+| ripplePulsate | Styles applied to the internal `Ripple` components `ripplePulsate` class.
+| child | Styles applied to the internal `Ripple` components `child` class.
+| childLeaving | Styles applied to the internal `Ripple` components `childLeaving` class.
+| childPulsate | Styles applied to the internal `Ripple` components `childPulsate` class.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/ButtonBase/TouchRipple.js)
diff --git a/pages/api/typography.md b/pages/api/typography.md
index 74b44e5848839c..f5a4f374aab03c 100644
--- a/pages/api/typography.md
+++ b/pages/api/typography.md
@@ -32,30 +32,34 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `display4`
-- `display3`
-- `display2`
-- `display1`
-- `headline`
-- `title`
-- `subheading`
-- `body2`
-- `body1`
-- `caption`
-- `button`
-- `alignLeft`
-- `alignCenter`
-- `alignRight`
-- `alignJustify`
-- `noWrap`
-- `gutterBottom`
-- `paragraph`
-- `colorInherit`
-- `colorPrimary`
-- `colorSecondary`
-- `colorTextSecondary`
-- `colorError`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| display4 | Styles applied to the root element if `variant="display4"`.
+| display3 | Styles applied to the root element if `variant="display3"`.
+| display2 | Styles applied to the root element if `variant="display2"`.
+| display1 | Styles applied to the root element if `variant="display1"`.
+| headline | Styles applied to the root element if `variant="headline"`.
+| title | Styles applied to the root element if `variant="title"`.
+| subheading | Styles applied to the root element if `variant="subheading"`.
+| body2 | Styles applied to the root element if `variant="body2"`.
+| body1 | Styles applied to the root element if `variant="body1"`.
+| caption | Styles applied to the root element if `variant="caption"`.
+| button | Styles applied to the root element if `variant="button"`.
+| alignLeft | Styles applied to the root element if `align="left"`.
+| alignCenter | Styles applied to the root element if `align="center"`.
+| alignRight | Styles applied to the root element if `align="right"`.
+| alignJustify | Styles applied to the root element if `align="justify"`.
+| noWrap | Styles applied to the root element if `align="nowrap"`.
+| gutterBottom | Styles applied to the root element if `gutterBottom={true}`.
+| paragraph | Styles applied to the root element if `paragraph={true}`.
+| colorInherit | Styles applied to the root element if `color="inherit"`.
+| colorPrimary | Styles applied to the root element if `color="primary"`.
+| colorSecondary | Styles applied to the root element if `color="secondary"`.
+| colorTextSecondary | Styles applied to the root element if `color="textSecondary"`.
+| colorError | Styles applied to the root element if `color="error"`.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/Typography/Typography.js)
diff --git a/pages/lab/api/slider.md b/pages/lab/api/slider.md
index cfae780cd36636..e9398b6ecc6ffa 100644
--- a/pages/lab/api/slider.md
+++ b/pages/lab/api/slider.md
@@ -30,6 +30,36 @@ title: Slider API
Any other properties supplied will be spread to the root element (native element).
+## CSS API
+
+You can override all the class names injected by Material-UI thanks to the `classes` property.
+This property accepts the following keys:
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| container | Styles applied to the container element.
+| track | Styles applied to the track elements.
+| trackBefore | Styles applied to the track element before the thumb.
+| trackAfter | Styles applied to the track element after the thumb.
+| thumb | Styles applied to the thumb element.
+| reverse | Class applied to the root element to trigger JSS nested styles if `reverse={true}` .
+| disabled | Class applied to the track and thumb elements to trigger JSS nested styles if `disabled`.
+| jumped | Class applied to the track and thumb elements to trigger JSS nested styles if `jumped`.
+| focused | Class applied to the track and thumb elements to trigger JSS nested styles if `focused`.
+| activated | Class applied to the track and thumb elements to trigger JSS nested styles if `activated`.
+| vertical | Class applied to the root, track and container to trigger JSS nested styles if `vertical`.
+| zero | Class applied to the thumb to trigger nested styles if `value` = `min` .
+
+Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
+and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/Slider/Slider.js)
+for more detail.
+
+If using the `overrides` key of the theme as documented
+[here](/customization/themes#customizing-all-instances-of-a-component-type),
+you need to use the following style sheet name: `MuiSlider`.
+
## Demos
- [Slider](/lab/slider)
diff --git a/pages/lab/api/speed-dial-action.md b/pages/lab/api/speed-dial-action.md
index 238777531425a9..d620ace6b7c1e5 100644
--- a/pages/lab/api/speed-dial-action.md
+++ b/pages/lab/api/speed-dial-action.md
@@ -23,6 +23,26 @@ title: SpeedDialAction API
Any other properties supplied will be spread to the root element (native element).
+## CSS API
+
+You can override all the class names injected by Material-UI thanks to the `classes` property.
+This property accepts the following keys:
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root (`Tooltip`) component.
+| button | Styles applied to the `Button` component.
+| buttonClosed | Styles applied to the `Button` component if `open={false}`.
+
+Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
+and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/SpeedDialAction/SpeedDialAction.js)
+for more detail.
+
+If using the `overrides` key of the theme as documented
+[here](/customization/themes#customizing-all-instances-of-a-component-type),
+you need to use the following style sheet name: `MuiSpeedDialAction`.
+
## Demos
- [Speed Dial](/lab/speed-dial)
diff --git a/pages/lab/api/speed-dial-icon.md b/pages/lab/api/speed-dial-icon.md
index 7316932a2e37d0..7212e48dc79bef 100644
--- a/pages/lab/api/speed-dial-icon.md
+++ b/pages/lab/api/speed-dial-icon.md
@@ -21,6 +21,29 @@ title: SpeedDialIcon API
Any other properties supplied will be spread to the root element (native element).
+## CSS API
+
+You can override all the class names injected by Material-UI thanks to the `classes` property.
+This property accepts the following keys:
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| icon | Styles applied to the icon component.
+| iconOpen | Styles applied to the icon component if `open={true}`.
+| iconWithOpenIconOpen | Styles applied to the icon when and `openIcon` is provided & if `open={true}`.
+| openIcon | Styles applied to the `openIcon` if provided.
+| openIconOpen | Styles applied to the `openIcon` if provided & if `open={true}`
+
+Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
+and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/SpeedDialIcon/SpeedDialIcon.js)
+for more detail.
+
+If using the `overrides` key of the theme as documented
+[here](/customization/themes#customizing-all-instances-of-a-component-type),
+you need to use the following style sheet name: `MuiSpeedDialIcon`.
+
## Demos
- [Speed Dial](/lab/speed-dial)
diff --git a/pages/lab/api/speed-dial.md b/pages/lab/api/speed-dial.md
index 14f2da121b82c9..84129e6a88572c 100644
--- a/pages/lab/api/speed-dial.md
+++ b/pages/lab/api/speed-dial.md
@@ -30,6 +30,26 @@ title: SpeedDial API
Any other properties supplied will be spread to the root element (native element).
+## CSS API
+
+You can override all the class names injected by Material-UI thanks to the `classes` property.
+This property accepts the following keys:
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| actions | Styles applied to the actions (`children` wrapper) element.
+| actionsClosed | Styles applied to the actions (`children` wrapper) element if `open={false}`.
+
+Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
+and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/SpeedDial/SpeedDial.js)
+for more detail.
+
+If using the `overrides` key of the theme as documented
+[here](/customization/themes#customizing-all-instances-of-a-component-type),
+you need to use the following style sheet name: `MuiSpeedDial`.
+
## Demos
- [Speed Dial](/lab/speed-dial)
diff --git a/pages/lab/api/toggle-button-group.md b/pages/lab/api/toggle-button-group.md
index b68355d2134920..9b16a534eb2d19 100644
--- a/pages/lab/api/toggle-button-group.md
+++ b/pages/lab/api/toggle-button-group.md
@@ -28,8 +28,12 @@ Any other properties supplied will be spread to the root element (native element
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `selected`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| selected | Styles applied to the root element if `selected={true}` or `selected="auto" and `value` set.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/ToggleButton/ToggleButtonGroup.js)
diff --git a/pages/lab/api/toggle-button.md b/pages/lab/api/toggle-button.md
index 8ab6917600947e..0408fb17dc6f70 100644
--- a/pages/lab/api/toggle-button.md
+++ b/pages/lab/api/toggle-button.md
@@ -29,10 +29,14 @@ Any other properties supplied will be spread to the root element ([ButtonBase](/
You can override all the class names injected by Material-UI thanks to the `classes` property.
This property accepts the following keys:
-- `root`
-- `label`
-- `disabled`
-- `selected`
+
+
+| Name | Description |
+|:-----|:------------|
+| root | Styles applied to the root element.
+| disabled | Styles applied to the root element if `disabled={true}`.
+| selected | Styles applied to the root element if `selected={true}`.
+| label | Styles applied to the `label` wrapper element.
Have a look at [overriding with classes](/customization/overrides#overriding-with-classes) section
and the [implementation of the component](https://github.com/mui-org/material-ui/tree/master/packages/material-ui-lab/src/ToggleButton/ToggleButton.js)