Skip to content
Chip

Chip API

The API documentation of the Chip React component. Learn more about the properties and the CSS customization points.

import Chip from '@material-ui/core/Chip';

Chips represent complex entities in small blocks, such as a contact.

Props

Name Type Default Description
avatar element Avatar element.
children unsupportedProp This property isn't supported. Use the component property if you need to change the children structure.
classes object Override or extend the styles applied to the component. See CSS API below for more details.
clickable bool If true, the chip will appear clickable, and will raise when pressed, even if the onClick property is not defined. If false, the chip will not be clickable, even if onClick property is defined. This can be used, for example, along with the component property to indicate an anchor Chip is clickable.
color enum: 'default' |
 'primary' |
 'secondary'
'default' The color of the component. It supports those theme colors that make sense for this component.
component elementType 'div' The component used for the root node. Either a string to use a DOM element or a component.
deleteIcon element Override the default delete icon element. Shown only if onDelete is set.
icon element Icon element.
label node The content of the label.
onDelete func Callback function fired when the delete icon is clicked. If set, the delete icon will be shown.
size enum: 'small' |
 'medium'
'medium' The size of the chip.
variant enum: 'default' |
 'outlined'
'default' The variant to use.

The ref is forwarded to the root element.

Any other properties supplied will be provided to the root element (native element).

CSS

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.
sizeSmall Styles applied to the root element if size="small".
colorPrimary Styles applied to the root element if color="primary".
colorSecondary Styles applied to the root element if color="secondary".
clickable Styles applied to the root element if onClick is defined or clickable={true}.
clickableColorPrimary Styles applied to the root element if onClick and color="primary" is defined or clickable={true}.
clickableColorSecondary Styles applied to the root element if onClick and color="secondary" is defined or clickable={true}.
deletable Styles applied to the root element if onDelete is defined.
deletableColorPrimary Styles applied to the root element if onDelete and color="primary" is defined.
deletableColorSecondary Styles applied to the root element if onDelete and color="secondary" is defined.
outlined Styles applied to the root element if variant="outlined".
outlinedPrimary Styles applied to the root element if variant="outlined" and color="primary".
outlinedSecondary Styles applied to the root element if variant="outlined" and color="secondary".
avatar Styles applied to the avatar element.
avatarSmall
avatarColorPrimary Styles applied to the avatar element if color="primary".
avatarColorSecondary Styles applied to the avatar element if color="secondary".
avatarChildren Styles applied to the avatar elements children.
icon Styles applied to the icon element.
iconSmall
iconColorPrimary Styles applied to the icon element if color="primary".
iconColorSecondary Styles applied to the icon element if color="secondary".
label Styles applied to the label span element`.
labelSmall
deleteIcon Styles applied to the deleteIcon element.
deleteIconSmall
deleteIconColorPrimary Styles applied to the deleteIcon element if color="primary" and variant="default".
deleteIconColorSecondary Styles applied to the deleteIcon element if color="secondary" and variant="default".
deleteIconOutlinedColorPrimary Styles applied to the deleteIcon element if color="primary" and variant="outlined".
deleteIconOutlinedColorSecondary Styles applied to the deleteIcon element if color="secondary" and variant="outlined".

Have a look at the overriding styles with classes section and the implementation of the component for more detail.

If using the overrides key of the theme, you need to use the following style sheet name: MuiChip.

Notes

The component is fully StrictMode compatible.

Demos