Ng Icons — это библиотека и набор компонентов для фреймворка Angular, предоставляющие унифицированный интерфейс для использования SVG-иконок из разных коллекций. Проект ориентирован на облегчение работы разработчиков при интеграции множества наборов иконок в одно приложение: через общую API можно регистрировать наборы, подгружать отдельные символы и вставлять их в шаблоны компонентов Angular с минимальными настройками. Библиотека обычно реализует декларативный компонент для вставки иконок и служебные утилиты для управления загрузкой и оптимизации.
Исторически Ng Icons возник как ответ на потребность стандартизировать работу с иконками в экосистеме Angular, где встречаются разные форматы и поставщики (например, Font Awesome, Material Icons, Heroicons и прочие SVG-коллекции). Если о конкретных деталях реализации конкретного пакета информации недостаточно, это не мешает описать типовую функциональность: регистрация наборов по имени, динамический импорт SVG, настройка размеров и атрибутов, поддержка цвета через CSS и возможность серверной предзагрузки. Библиотека обычно интегрируется с системой сборки проекта и допускает работу с инлайновыми иконками для улучшения производительности.
- Унифицированный API: единый компонент/сервис для вставки и управления иконками из разных коллекций.
 - Регистрация наборов: возможность регистрировать и помечать наборы иконок по имени для дальнейшего использования.
 - Динамическая загрузка: подгрузка SVG по требованию, поддержка ленивой загрузки и кэширования.
 - Интеграция с Angular: директивы/компоненты, совместимые с шаблонами и реактивными формами Angular.
 - Настройка внешнего вида: параметры размера, веса, заполнения и контрастности, управляемые через входные свойства и CSS-переменные.
 - Оптимизация: инлайнинг SVG для уменьшения числа запросов и возможность генерации спрайтов.
 - Совместимость форматов: поддержка различных коллекций SVG с преобразованием имен и атрибутов.
 - Типизация и автозаполнение: TypeScript-типизация для безопасного использования имён иконок и подсказок в IDE.
 - Доступность: возможности для добавления ARIA-атрибутов и альтернативных описаний для улучшения доступности интерфейса.
 - Расширяемость: плагиноподобная архитектура для добавления кастомных загрузчиков и трансформеров SVG.