Skip to main content

Checkbox API

Available from version 0.2.0

API reference docs for the React Checkbox component. Learn about the props of this exported module.

Demos​

tip

For examples and details on the usage of this React component, visit the component demo pages:

Import​

import { Checkbox } from 'tailwind-joy/components';

Props​

info

The ref is forwarded to the root element.

checkedIcon​

The icon to display when the component is checked.

  • Type: ReactNode
  • Default: <MdCheck />, where <MdCheck /> is an icon component imported from react-icons.

className​

Class name applied to the root element.

  • Type: string

color​

The color of the component.

  • Type: 'primary' | 'neutral' | 'danger' | 'success' | 'warning'
  • Default: 'neutral' when the component is unchecked, 'primary' when the component is checked.

component​

Available from version 0.4.0

The component used for the root node.

  • Type: keyof JSX.IntrinsicElements
  • Default: 'span'

disableIcon​

If true, the checked icon is removed and the selected variant is applied on the action element instead.

  • Type: boolean
  • Default: false

indeterminate​

If true, the component appears indeterminate. This does not set the native input element to indeterminate due to inconsistent behavior across browsers.

  • Type: boolean
  • Default: false

indeterminateIcon​

The icon to display when the component is indeterminate.

  • Type: ReactNode
  • Default: <MdHorizontalRule />, where <MdHorizontalRule /> is an icon component imported from react-icons.

label​

The label element next to the checkbox.

  • Type: ReactNode

overlay​

If true, the root element's position is set to initial which allows the action element to fill the nearest positioned parent. This prop is useful for composing Checkbox with ListItem component.

  • Type: boolean
  • Default: false

size​

The size of the component.

  • Type: 'sm' | 'md' | 'lg'
  • Default: 'md'

slotProps​

Available from version 0.4.0

The props used for each slot inside.

  • Type:
    {
    root?: ComponentProps<'span'>;
    checkbox?: ComponentProps<'span'>;
    action?: ComponentProps<'span'>;
    input?: ComponentProps<'input'>;
    label?: ComponentProps<'label'>;
    }
  • Default: {}

uncheckedIcon​

The icon to display when the component is unchecked.

  • Type: ReactNode

variant​

The variant of the component.

  • Type: 'solid' | 'soft' | 'outlined' | 'plain'
  • Default: 'outlined' when the component is unchecked, 'solid' when the component is checked.