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

Кнопка-переключатель

Кнопка-переключатель остаётся включённой или выключенной. Одно нажатие включает режим, второе выключает.

Стабильный Figma
ОбзорИспользованиеAPIДоступность
Bold Italic
<tk-toggle-button pressed><tk-button>Bold</tk-button></tk-toggle-button>
<tk-toggle-button><tk-button>Italic</tk-button></tk-toggle-button>

Анатомия

Часть Что это
tk-toggle-button сам элемент; хранит состояние «вкл/выкл» и переключает его
слот по умолчанию одна tk-button или tk-icon-button; она задаёт вид и принимает фокус Tab

Варианты

Show grid Show grid Show grid
<tk-toggle-button pressed><tk-button>Show grid</tk-button></tk-toggle-button>
<tk-toggle-button pressed><tk-button variant="outline">Show grid</tk-button></tk-toggle-button>
<tk-toggle-button pressed><tk-button variant="ghost">Show grid</tk-button></tk-toggle-button>

Вариант задаётся внутренней кнопке: secondary (по умолчанию), outline или ghost. Выключенная кнопка выглядит как обычно. Включённая получает нейтральную подсветку и нейтральный текст, а у outline рамка становится заметнее. Не используйте для переключателя primary и tone="danger".

Форма

Чтобы кнопка была полностью скруглённой, задайте shape="round" внутренней кнопке. В соединённой Toggle button group задавайте его группе.

Following
<tk-toggle-button pressed><tk-button shape="round">Following</tk-button></tk-toggle-button>

Состояния

Pin to top Pin to top
<tk-toggle-button pressed><tk-button disabled>Pin to top</tk-button></tk-toggle-button>
<tk-toggle-button><tk-button disabled>Pin to top</tk-button></tk-toggle-button>
  • pressed: включено. Нажатие мышью, Space или Enter переключает его и вызывает change.
  • Отключение: задайте disabled внутренней кнопке. Она не переключается, а включённая сохраняет приглушённую подсветку и по-прежнему выглядит включённой.
  • Наведение, нажатие и фокус берутся у кнопки. Включённая кнопка под курсором темнеет на одну ступень.

Переключатель-иконка

Для переключателя без текста положите внутрь tk-icon-button. Если у иконки есть залитая пара, положите её в слот pressed.

<tk-toggle-button>
  <tk-icon-button label="Bookmark">
    <tk-icon name="bookmark"></tk-icon>
    <tk-icon slot="pressed" name="bookmark-filled"></tk-icon>
  </tk-icon-button>
</tk-toggle-button>

Управляемый и неуправляемый

  • Неуправляемый (по умолчанию): нажатие переключает pressed и вызывает change. Значение читайте из event.target.pressed.
  • Управляемый: задавайте pressed на tk-toggle-button из своего состояния. Когда его меняет код, change не срабатывает; только когда переключает пользователь.
  • Не задавайте pressed внутренней кнопке. Его ставит переключатель.