НачалоОсновыКомпонентыТексты

Карточка выбора

Карточка выбора — крупный вариант, в котором есть место для описания, иконки или цены. Вся карточка нажимается целиком, а выбирает tk-radio или tk-checkbox внутри неё.

Стабильный Figma
ОбзорИспользованиеAPIДоступность
Starter $9/mo Pro $29/mo
<tk-radio-group label="Choose your plan" name="plan" value="starter">
  <tk-selection-card>
    <tk-icon slot="media" name="user"></tk-icon>
    <tk-radio slot="control" value="starter" helper="For one person, $9 a month">Starter</tk-radio>
    <span slot="meta">$9/mo</span>
  </tk-selection-card>
  <tk-selection-card>
    <tk-icon slot="media" name="star"></tk-icon>
    <tk-radio slot="control" value="pro" helper="For growing teams, $29 a month">Pro</tk-radio>
    <span slot="meta">$29/mo</span>
  </tk-selection-card>
</tk-radio-group>

Анатомия

Часть Что это
tk-selection-card карточка с рамкой; вся она — одна область нажатия
слот control tk-radio или tk-checkbox, обязателен. Его подпись — заголовок карточки и доступное имя, его helper — описание
слот media необязательная иконка или картинка перед заголовком; скринридер её пропускает
слот meta необязательная цена или бейдж после заголовка; скринридер их пропускает

Режим задаёт вложенный элемент: кружок значит «один из», квадрат — «любые». Не смешивайте их в одной группе.

Карточки с чекбоксами

Analytics Backups
<tk-checkbox-group label="Add features">
  <tk-selection-card>
    <tk-checkbox slot="control" name="features" value="analytics" helper="Dashboards and exports">Analytics</tk-checkbox>
  </tk-selection-card>
  <tk-selection-card>
    <tk-checkbox slot="control" name="features" value="backups" helper="Daily, kept for 30 days" checked>Backups</tk-checkbox>
  </tk-selection-card>
</tk-checkbox-group>

Каждая карточка с чекбоксом — отдельная остановка Tab и отправляет name и value своего чекбокса. Карточки с радиокнопками делят одну остановку Tab группы и её value.

Положение элемента выбора

control-position="trailing" ставит элемент выбора в конец, после заголовка. По умолчанию, leading, он идёт первым. media всегда в начале, meta всегда в конце.

Standard Express
<tk-radio-group label="Shipping" name="shipping" value="standard">
  <tk-selection-card control-position="trailing">
    <tk-radio slot="control" value="standard" helper="3 to 5 business days">Standard</tk-radio>
  </tk-selection-card>
  <tk-selection-card control-position="trailing">
    <tk-radio slot="control" value="express" helper="Next business day">Express</tk-radio>
  </tk-selection-card>
</tk-radio-group>

Состояния

Personal Business
<tk-radio-group label="Account type" name="account" value="personal">
  <tk-selection-card>
    <tk-radio slot="control" value="personal">Personal</tk-radio>
  </tk-selection-card>
  <tk-selection-card disabled>
    <tk-radio slot="control" value="business" helper="Not available in your region">Business</tk-radio>
  </tk-selection-card>
</tk-radio-group>

При наведении рамка становится заметнее, а карточка подкрашивается. При фокусе с клавиатуры на элементе выбора вокруг всей карточки появляется одна рамка.

  • Выбрана: рамка заметнее и подкраска, плюс галочка или точка самого элемента. Выбор задают на элементе (checked) или на группе (value), но не на карточке.
  • disabled: отключает элемент выбора и приглушает карточку. Отключённая группа тоже приглушает свои карточки. Объясните причину в описании или уберите вариант.
  • Ошибка и обязательность: ставьте на группу. Сообщение появляется над карточками, а карточки цвет не меняют.