Skip to content

Иконка (Heroicons) ​

Выбор из Heroicons v2 — 291 иконка набора outline, каждая с превью в выпадающем списке. Хранится только имя: arrow-right-circle.

Список — подсказка, а не ограничение: поле принимает и введённое руками имя, так что иконка, добавленная в Heroicons позже, заработает без обновления компонента.

В колонке таблицы значение показывается самой иконкой, настраивать ничего не нужно.

Вывод: хранится только имя. Компонент сам превратит его в инлайновый SVG:

html
{heroicon($block.icon)}
{heroicon($block.icon style='solid' class='w-6 h-6')}

Начертание выбирается при выводе, а не у поля: одно и то же сохранённое имя даёт любой из наборов, и настройки стиля у поля нет. style принимает outline (по умолчанию) или solid; всё остальное считается за outline.

Можно обойтись и без функции — значение это просто строка:

html
<svg class="icon"><use href="/assets/icons/sprite.svg#{$icon}"></use></svg>

И превью, и {heroicon()} обращаются к unpkg.com

Список и грид тянут превью с CDN. Если у менеджера нет доступа в интернет, они не ломаются, а бледнеют — имена и сохранённые значения не страдают, просто выбирать приходится вслепую. Превью всегда outline, что бы ни рисовал шаблон.

{heroicon()} забирает SVG с того же CDN и кэширует его навсегда, то есть на страницу приходится максимум один запрос на иконку и начертание. Если сервер не должен ходить наружу вовсе — рисуйте иконку из своего спрайта.

© PageBlocks 2019-present