Icons
Поле выбора иконок для Payload 3: хранит иконку как пару provider и name, с провайдерами Lucide и Phosphor.
Установка
pnpm add payload-plugin-icons Описание
Добавляет в Payload 3 поле для выбора иконок. Значение хранится как group field с двумя скрытыми текстовыми полями: `provider` и `name`. Выбор происходит через админ-компонент: поисковый пикер с пагинацией и ячейка превью в списке коллекций. В комплекте два провайдера иконок: Lucide (`lucide-react`) и Phosphor (`@phosphor-icons/react`). Каждый провайдер состоит из серверной конфигурации с id и label и клиентской фабрики, которая синхронно резолвит компоненты иконок. Пикер поддерживает переключение между провайдерами, группировку по категориям и ограничение списка провайдеров на уровне поля. Конфигурация связывает плагин с фабрикой полей. `createIconPlugin()` возвращает пару: `iconPlugin` типа Plugin и функцию `iconField`, которая создаёт поле. Это держит id и label провайдеров в синхронизации. Параметры поля: `name`, `label`, `required`, `defaultProviderId`, `providerIds` для подмножества провайдеров, `labelsById` для переопределения подписей, `packageImport` для алиасинга клиентского экспорта в monorepo и admin override для кастомных компонентов. Свои провайдеры добавляются через `registerIconProviderClientFactory`. Провайдер реализует `getIconNames`, `getCategoryMap`, `getCategoryRepresentative` и `resolveIconComponent`. Резолвер должен использовать eager imports, без ленивой загрузки отдельных иконок, иначе при открытом пикере уйдут сотни запросов. Клиентский компонент `Icon` отрисовывает сохранённое значение, прокидывает SVG props и поддерживает prop `weight` для Phosphor. После изменений конфигурации нужно запустить `payload generate:importmap` и `generate:types`. Требуется Payload `^3.37.0` и React 19.
О пакете
- Имя пакета
payload-plugin-icons- Последняя версия
1.1.5- Размер
- 171 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 22
- Последняя публикация
- 14 авг. 2026 г.
Похожие плагины
Ещё в категории «Поля»Shared plugin tooling
Dev-зависимость с общими конфигами lint, форматирования, TypeScript, сборки, тестовой БД и релиза для плагинов Payload.
JSON Form Builder
Редактирует json-поле Payload как обычные админ-поля и строит форму в выдвижной панели без миграций.
Menus
Добавляет коллекцию `menus` в Payload CMS для управления навигацией сайта с вложенными элементами, ссылками на коллекции, произвольными URL, иконками и картинками предпросмотра.
Icon Picker
Добавляет поле выбора иконок для Payload CMS с поддержкой поиска и SVG.
Barcodes
Добавляет штрихкоды Code 128, EAN-13 и QR в коллекции товаров Payload с печатью этикеток и опциональными кнопками в админке.
Shipping Classes
Добавляет поля веса, размеров и класса доставки в коллекции товаров и вариантов Payload с каноническим хранением в граммах и миллиметрах.