0 Tk

checkbox

Import

import Checkbox from '@mui/material/Checkbox';
// or
import { Checkbox } from '@mui/material';

Learn about the difference by reading this guide on minimizing bundle size.

Props of the ButtonBase component are also available.

Name Type Default Description
checked bool - If true, the component is checked.
checkedIcon node <CheckBoxIcon /> The icon to display when the component is checked.
classes object - Override or extend the styles applied to the component. See CSS classes API below for more details.
color ‘default’ | ‘primary’ | ‘secondary’ | ‘error’ | ‘info’ | ‘success’ | ‘warning’ | string ‘primary’ The color of the component. It supports both default and custom theme colors, which can be added as shown in the palette customization guide.
defaultChecked bool - The default checked state. Use when the component is not controlled.
disabled bool false If true, the component is disabled.
disableRipple bool false If true, the ripple effect is disabled.
icon node <CheckBoxOutlineBlankIcon /> The icon to display when the component is unchecked.
id string - The id of the input element.
indeterminate bool false If true, the component appears indeterminate. This does not set the native input element to indeterminate due to inconsistent behavior across browsers. However, we set a data-indeterminate attribute on the input.
indeterminateIcon node <IndeterminateCheckBoxIcon /> The icon to display when the component is indeterminate.
inputProps object - Attributes applied to the input element.
inputRef ref - Pass a ref to the input element.
onChange func - Callback fired when the state is changed. Signature: function(event: React.ChangeEvent) => void
required bool false If true, the input element is required.
size ‘medium’ | ‘small’ | string ‘medium’ The size of the component. small is equivalent to the dense checkbox styling.
sx Array<func | object | bool> | func | object - The system prop that allows defining system overrides as well as additional CSS styles. See the sx page for more details.
value any - The value of the component. The DOM API casts this to a string. The browser uses “on” as the default value.

The ref is forwarded to the root element.

Inheritance

While not explicitly documented above, the props of the ButtonBase component are also available in Checkbox. You can take advantage of this to target nested components.

Theme default props

You can use MuiCheckbox to change the default props of this component with the theme.

These class names are useful for styling with CSS. They are applied to the component’s slots when specific states are triggered.

Class name Rule name Description
.Mui-checked - State class applied to the root element if checked={true}.
.Mui-disabled - State class applied to the root element if disabled={true}.
.MuiCheckbox-colorPrimary colorPrimary State class applied to the root element if color="primary".
.MuiCheckbox-colorSecondary colorSecondary State class applied to the root element if color="secondary".
.MuiCheckbox-indeterminate indeterminate State class applied to the root element if indeterminate={true}.
.MuiCheckbox-root root Class name applied to the root element.
.MuiCheckbox-sizeMedium sizeMedium State class applied to the root element if size="medium".
.MuiCheckbox-sizeSmall sizeSmall State class applied to the root element if size="small".

You can override the style of the component using one of these customization options:

Source code

If you did not find the information in this page, consider having a look at the implementation of the component for more detail.