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

Иконка

Иконка рисует один знак из иконочного шрифта Thykes: размер берётся из шкалы иконок, цвет — от текста вокруг.

Стабильный
ОбзорИспользованиеAPIДоступность
<tk-icon name="star"></tk-icon>
<tk-icon name="mail"></tk-icon>
<tk-icon name="settings"></tk-icon>

thykes.js сам загружает иконочный шрифт, больше ничего подключать не нужно.

Анатомия

Часть Что это
tk-icon квадрат размером size; скрыт от скринридеров, если нет label
part glyph сам рисунок: символ иконочного шрифта цвета элемента

Размеры

<tk-icon name="star" size="12"></tk-icon>
<tk-icon name="star"></tk-icon>
<tk-icon name="star" size="20"></tk-icon>
<tk-icon name="star" size="24"></tk-icon>
<tk-icon name="star" size="32"></tk-icon>
<tk-icon name="star" size="48"></tk-icon>
size Размер Где
12 12px рядом с мелким текстом, плотные статусы
16 (по умолчанию) 16px рядом с основным текстом, в меню и контролах
20 20px рядом с крупным текстом
24 24px отдельно, навигация
32 32px заметное место
48 48px крупно и отдельно, например в пустом состоянии
inherit 1em следует за размером текста вокруг

Размеры — это токены icon-size-*. Любое другое значение рисуется размером 16px.

Цвет

<tk-icon name="check-circle" tone="success" label="Done"></tk-icon>
<tk-icon name="warning" tone="warning" label="Warning"></tk-icon>
<tk-icon name="info" tone="info" label="Info"></tk-icon>
<tk-icon name="star" tone="accent"></tk-icon>
<tk-icon name="clock" tone="secondary"></tk-icon>

Без tone иконка берёт цвет текста вокруг, поэтому внутри компонента следует за его состояниями и темами. Отдельно стоящей иконке tone задаёт цвет icon/*:

tone Цвет
не задан цвет текста вокруг
default, secondary, tertiary icon/default, icon/secondary, icon/tertiary, от самого сильного к самому тихому
disabled icon/disabled
accent icon/accent; следует за основным цветом
success, warning, error, info цвета статусов
inverse, on-fill на инверсной поверхности или цветной заливке

Тона selected нет. Выбранный контрол сам красит свою иконку.

В компонентах

Save changes

3 unread messages

<tk-button variant="primary"><tk-icon slot="icon-start" name="check"></tk-icon>Save changes</tk-button>
<tk-icon-button label="Settings"><tk-icon name="settings"></tk-icon></tk-icon-button>
<p><tk-icon name="mail"></tk-icon> 3 unread messages</p>

В слоте компонента размер задаёт компонент, и ваш size не действует. tk-button, tk-icon-button, tk-menu-item и tk-tag рисуют иконки размером 16px, tk-banner и tk-section-message — 20px, tk-empty-state — размером своего медиа.

Названия

Названия пишутся строчными буквами через дефис и говорят, что иконка значит. Все знаки показаны на странице Icons.

Группа Названия
Навигация menu, chevron-up, chevron-down, chevron-left, chevron-right, arrow-up, arrow-down, arrow-right, arrow-up-right, external-link, link
Действия search, plus, minus, close, check, edit, copy, trash, download, share, filter, sort, settings, more-horizontal
Статусы info, warning, error, check-circle, x-circle
Объекты bookmark, bookmark-filled, star, mail, user, calendar, clock, image, monitor, sun, moon
Бренды github, figma

Неизвестное название даёт пустой квадрат и предупреждение в консоли.