Пропсы корня
| Проп | Тип | По умолчанию |
|---|---|---|
variant | CheckboxVariant | 'primary' |
| Визуальный вариант чекбокса для переключения темы или контекста. | ||
size | CheckboxSize | 'md' |
| Размер чекбокса и его визуального маркера. | ||
ref | Ref<HTMLLabelElement> | — |
| Ref на нативный элемент label. | ||
Также принимает все атрибуты <label>.
Дочерние части
CheckboxInput: нативный<input type="checkbox">. Принимаетchecked,defaultChecked,onChange,disabled,name,valueиindeterminate.CheckboxIndicator: видимая поверхность чекбокса.CheckboxCheckedIcon: необязательная иконка отмеченного состояния.CheckboxIndeterminateIcon: необязательная иконка неопределённого состояния.
CheckboxInput
| Проп | Тип | По умолчанию |
|---|---|---|
indeterminate | boolean | — |
Задаёт нативное свойство indeterminate поля. Часто используется, когда выбраны только некоторые вложенные элементы. У него нет HTML-атрибута, поэтому оно применяется императивно. | ||
ref | Ref<HTMLInputElement> | — |
Необязательный ref даёт прямой доступ к нижележащему элементу <input type="checkbox"> для сложных сценариев, например управления фокусом или императивной проверки состояния. | ||
Также принимает все атрибуты <input>.
CheckboxIndicator
Также принимает все атрибуты <div>.
CheckboxCheckedIcon
| Проп | Тип | По умолчанию |
|---|---|---|
size | IconSize | — |
| Предопределённый токен размера иконки. Может быть переопределён явными шириной и высотой. | ||
ref | Ref<SVGSVGElement> | — |
| Ref на SVG-элемент | ||
strokeWidth | number | — |
| Толщина обводки линий и фигур SVG (в px или pt). | ||
children | ReactNode | — |
Содержимое иконки (обязательно). Принимает: иконки из ~/icons; собственный встроенный SVG; компоненты иконок сторонних библиотек (например, Lucide, Tabler) | ||
Также принимает все HTML-атрибуты.
CheckboxIndeterminateIcon
| Проп | Тип | По умолчанию |
|---|---|---|
size | IconSize | — |
| Предопределённый токен размера иконки. Может быть переопределён явными шириной и высотой. | ||
ref | Ref<SVGSVGElement> | — |
| Ref на SVG-элемент | ||
strokeWidth | number | — |
| Толщина обводки линий и фигур SVG (в px или pt). | ||
children | ReactNode | — |
Содержимое иконки (обязательно). Принимает: иконки из ~/icons; собственный встроенный SVG; компоненты иконок сторонних библиотек (например, Lucide, Tabler) | ||
Также принимает все HTML-атрибуты.
Типы
CheckboxPropsCheckboxInputPropsCheckboxIndicatorPropsCheckboxCheckedIconPropsCheckboxIndeterminateIconPropsCheckboxVariantCheckboxSize
Модель состояния
- Состояние отметки живёт на
CheckboxInput, как у нативного чекбокса: неконтролируемое черезdefaultChecked, контролируемое черезcheckedиonChange. indeterminateнаCheckboxInputзадаёт нативное свойствоindeterminate. Обычно это визуальное состояние частичного выбора.Checkboxотвечает только заsizeиvariant;useCheckboxContextпередаёт их собственным частям.