Перейти к содержимому
v2.5.0
English
Русский
Документация

CheckboxCard

CheckboxCard сочетает поведение чекбокса с более богатой поверхностью карточки для тарифов, шаблонов и выбираемых плиток настроек.

API корня

ПропТипПо умолчанию
orientationCheckboxCardOrientation'vertical'
Определяет направление раскладки содержимого карточки.
variantCheckboxVariant'primary'
Вариант, управляющий визуальным стилем карточки-чекбокса. Обычно используется для переключения между брендовой и нейтральной темами.
sizeCardSize'md'
Задаёт размер карточки. Влияет на отступы, размер шрифта и, возможно, поведение раскладки.
refRef<HTMLElement>—
Ref, передаваемый на корневой элемент карточки (<article> или дочерний элемент при asChild). Полезен для измерений DOM, прокрутки или императивной логики.
asChildboolean—
Если true, рендерит триггер как дочерний элемент через Slot. Это позволяет собственным обёрткам (например, <a>, <div>) наследовать поведение.

Также принимает все HTML-атрибуты.

API дочерних частей

CheckboxCardContent

Основная обёртка содержимого для заголовка и описания.

Также принимает все атрибуты <div>.

CheckboxCardTitle

Короткая основная подпись.

ПропТипПо умолчанию
asHeadingAs—
HTML-тег заголовка для рендера (например, 'h1', 'h2'). Определяет семантическую структуру и уровень для доступности.
sizeHeadingSize—
Визуальный размер заголовка, независимый от тега as. Обычно соответствует типографической шкале дизайн-системы. Принимает значения от 1 (наименьший) до 11 (наибольший).
fontWeight400 | 500 | 600 | 700 | 900—
Насыщенность шрифта текста заголовка. 400: обычный; 500: средний; 600: полужирный; 700: жирный; 900: сверхжирный
refRef<HTMLHeadingElement>—
Ref на нативный HTML-элемент заголовка. Полезен для доступа к DOM или управления фокусом.

Также принимает все атрибуты <h1>–<h6>.

CheckboxCardDescription

Поясняющий текст под заголовком.

ПропТипПо умолчанию
sizeTextSize—
Визуальный размер текста, обычно соответствует типографической шкале дизайн-системы.
asChildboolean—
Если true, рендерит текст как дочерний компонент через Slot. Полезно для совместимости с нативными элементами или другими компонентами.
fontWeight400 | 500 | 600 | 700 | 900—
Насыщенность шрифта текста. Распространённые значения: 400: обычный; 500: средний; 600: полужирный; 700: жирный; 900: сверхжирный
refRef<HTMLSpanElement>—
Ref на нижележащий <span> или элемент в слоте. Полезен для измерений, фокуса или работы с DOM.

Также принимает все атрибуты <span>.

CheckboxCardControl

Визуальная область контрола для чекбокса.

ПропТипПо умолчанию
variantCheckboxVariant—
Визуальный вариант чекбокса для переключения темы или контекста.
sizeCheckboxSize—
Размер чекбокса и его визуального маркера.
refRef<HTMLLabelElement>—
Ref на нативный элемент label.

Также принимает все атрибуты <label>.

CheckboxCardControlInput

Нативный чекбокс. Отмеченное состояние задаётся здесь: checked, defaultChecked, onChange, disabled и indeterminate.

ПропТипПо умолчанию
indeterminateboolean—
Задаёт нативное свойство indeterminate поля. Часто используется, когда выбраны только некоторые вложенные элементы. У него нет HTML-атрибута, поэтому оно применяется императивно.
refRef<HTMLInputElement>—
Необязательный ref даёт прямой доступ к нижележащему элементу <input type="checkbox"> для сложных сценариев, например управления фокусом или императивной проверки состояния.

Также принимает все атрибуты <input>.

CheckboxCardControlCheckedIcon

Иконка отмеченного состояния.

ПропТипПо умолчанию
sizeIconSize—
Предопределённый токен размера иконки. Может быть переопределён явными шириной и высотой.
refRef<SVGSVGElement>—
Ref на SVG-элемент
strokeWidthnumber—
Толщина обводки линий и фигур SVG (в px или pt).
childrenReactNode—
Содержимое иконки (обязательно). Принимает: иконки из ~/icons; собственный встроенный SVG; компоненты иконок сторонних библиотек (например, Lucide, Tabler)

Также принимает все HTML-атрибуты.

CheckboxCardControlIndeterminateIcon

Иконка неопределённого состояния.

ПропТипПо умолчанию
sizeIconSize—
Предопределённый токен размера иконки. Может быть переопределён явными шириной и высотой.
refRef<SVGSVGElement>—
Ref на SVG-элемент
strokeWidthnumber—
Толщина обводки линий и фигур SVG (в px или pt).
childrenReactNode—
Содержимое иконки (обязательно). Принимает: иконки из ~/icons; собственный встроенный SVG; компоненты иконок сторонних библиотек (например, Lucide, Tabler)

Также принимает все HTML-атрибуты.

Хуки

useCheckboxCardContext

Продвинутый хук для собственных обёрток контрола карточки, которым нужны размер или вариант.

Типы

ТипОпределениеПримечания
CheckboxCardPropsтип пропсов корняРасширяет пропсы Card.
CheckboxCardContentPropsпропсы содержимогоПропсы обёртки раскладки.
CheckboxCardTitlePropsпропсы заголовкаПропсы текстового заголовка.
CheckboxCardDescriptionPropsпропсы описанияПропсы вторичного текста.
CheckboxCardControlPropsпропсы контролаПропсы обёртки контрола.

Модель состояния

  • Отмеченное состояние живёт на CheckboxCardControlInput, как у нативного чекбокса: неконтролируемое через defaultChecked, контролируемое через checked и onChange.
  • indeterminate на CheckboxCardControlInput — визуальное и семантическое смешанное состояние поверх поведения чекбокса.
  • Вариант и размер передаются через контекст карточки-чекбокса.

Заметки по интеграции

  • Задайте CheckboxCardControlInput атрибут name, если важна нативная отправка формы.
  • Для групп с выбором одного варианта предпочитайте Radio или SegmentedControl.
  • Оставляйте всю карточку подписанной областью клика, а не сужайте взаимодействие до крошечного контрола.