@jonssonworkwear/strapi-plugin-icon-picker v1.10.0
Icon picker custom field
This package provides a custom field for Strapi that lets us select an icon. It uses the IconPicker component inside Strapi and a collection of generated SVG icons.
🏖️ Features
- List icons: to see them all.
- Search icons: to see just a few.
🔧 Installation
To install this plugin simply run this command in the Strapi project:
yarn add @jonssonworkwear/strapi-plugin-icon-pickerContent-type builder
When adding a new field to a content type, select CUSTOM (instead of DEAFULT), then select Icon picker.
Inside a content-type, we can use the following schema:
"icon": {
"type": "customField",
"customField": "plugin::icon-picker.IconPicker"
}✨ Usage
- Icon selection: Click on one of the icons from the grid.
- Search icon: Click on the magnifying glass to search by the name of the icon.
- Remove selection: Click on the trash bin icon, this will leave the value of the field empty (unless required).
The plugin will store the name of the icon in a text field.
🪛 Development
Clone this repository in the Strapi directory.
git clone https://github.com/JonssonWorkwear/strapi-plugin-icon-picker.git src/plugins/strapi-plugin-icon-pickerAdd the plugin to the yarn workspace, inside ./package.json file, so we won't need to use yarn inside plugin itself.
"workspaces": ["./src/plugins/strapi-plugin-icon-picker"]Install dependencies.
yarnRegister the plugin so Strapi can use it. Inside ./config/plugins.js file add an entry:
module.exports = ({ env }) => ({
"icon-picker": {
enabled: true,
resolve: "./src/plugins/strapi-plugin-icon-picker"
},
});Rebuild the project and start the server.
yarn build
yarn developOr perhaps use the --watch-admin flag to toggle hot reloading of the admin panel.
yarn develop --watch-adminGenerate icons
All the icons inside admin/src/components/IconPicker/icons are generated from SVG files using svgr. The index file containing the COMPONENT_ICONS list is also generated.
Release changes
All the changes are commited and pushed to this repository (or its forks), independently from the Strapi directory. The changes on the release branch will be published in the @jonssonworkwear/strapi-plugin-icon-picker package. If there is a new release published, plugins inside the Strapi project might need their version bumped.