Icons
<sf-icon> выводит один символ Material Symbols по имени и сообщает Loader,
какие знаки шрифта загрузить. Внешний вид — размер, начертание, заливка,
толщина — задаётся атрибутами на общей шкале Framework. Элемент строится на
классах компонента Иконки. Для иконки,
которую нажимают, берите
Icon Buttons.
Пример
Применение
Имя и загрузка
icon — имя символа из набора Material Symbols, например home или
settings. Loader отслеживает каждый <sf-icon> и загружает знаки шрифта,
нужные странице, в том числе после смены icon. Пока знак не загружен,
иконка сжата до нуля, и имя символа не мелькает текстом. Атрибут loaded
компонент ставит сам, когда знак готов; задавать его в разметке не нужно.
Размер
size выбирает ступень шкалы размеров иконок: 1/4, 1/3, 1/2, 1 —
7. Без size иконка получает размер ступени 3. Рядом с подписью берите
ступень, которая совпадает с высотой строки текста.
Начертание и оси шрифта
type— начертание:outlined,roundedилиsharp. Без него действует начертание проекта изSF_BOOT_CONFIG.icons.type, а если оно не задано —outlined. Держите одно начертание во всём интерфейсе.filledвключает заливку — например, для выбранного состояния.weight— толщина линии от100до700с шагом 100, по умолчанию400.grade(от-50до200) иoptical-size(от20до48) — тонкая настройка осей шрифта; значения вне диапазона приводятся к границе.
<sf-icon icon="star" filled weight="600" size="2"></sf-icon>
Доступность
- Без
labelиконка декоративна и скрыта от экранного диктора (aria-hidden="true"). Так и нужно, когда смысл передаёт текст рядом или имя кнопки, в которой стоит иконка: не задавайтеlabelиконке внутри уже названной кнопки. - Самостоятельной иконке, которая сообщает смысл, задайте
label: элемент получитrole="img"и это доступное имя. - Иконка не получает фокус и не реагирует на клавиатуру. Действие делайте кнопкой.
Справочник API
Раздел собран из манифеста компонента выпуска ui-106d5901f8c3 и обновляется вместе с выпуском. Чтобы исправить описание, исправьте манифест.
Каждому атрибуту соответствует свойство элемента с тем же именем в camelCase: search-placeholder — searchPlaceholder. Свойство атрибута template называется templateName.
| Тег | <sf-icon> |
| Назначение | Семантическая обёртка Material Symbol с точным отслеживанием в Loader, доступными декоративным и информативным режимами и геометрией из токенов. |
| Контракт | smart.icons, версия 1.0.0 |
| Поставка | выпуск Framework ui-106d5901f8c3 |
| Жизненный цикл | экспериментальный: API может меняться между выпусками |
| Готовность | описан: манифест и сценарий есть, продуктовой приёмки нет |
| Заготовка до прихода кода | нет: атрибут data-sf-skeleton не пишется; своего скелетона при загрузке данных нет (Заготовка до прихода кода) |
Атрибуты
icon—string, по умолчанию пусто.loaded—boolean, по умолчаниюfalse.filled—boolean, по умолчаниюfalse.weight—number, по умолчанию400.size—string, по умолчанию пусто, значения: пусто,1/4,1/3,1/2,1,2,3,4,5,6,7.type—string, по умолчанию пусто, значения: пусто,outlined,rounded,sharp,shape.grade—number, по умолчанию0, значения: от -50; до 200.optical-size—number, по умолчанию24, значения: от 20; до 48.label—string, по умолчанию пусто.
Методы
Публичных методов нет.
События
Своих событий нет; общие события базового элемента перечислены в главе Жизненный цикл → Этапы.
Доступность
- Роль:
img, если задан label; скрыт, если декоративный. - Доступное имя: рекомендуется.
- Фокус: Иконка не интерактивна и никогда не попадает в порядок табуляции. Задавайте имя содержащему её элементу управления.
Минимальная разметка
<sf-icon icon="home"></sf-icon>
Источник
simai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/smart/iconssimai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/rule/rule.json#name=cl-icons
См. также
- Иконки — иконки на классах.
- Icon Buttons — кнопка из одной иконки.