Observed since 20 Oct, 22:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Custom iconify selection field with library selection in settings
A powerful Strapi 5 plugin that provides a custom iconify selection field with configurable icon libraries and advanced search capabilities.
npm install @0x30-ch/iconify-field
# or
yarn add @0x30-ch/iconify-field
# or
pnpm add @0x30-ch/iconify-field
Navigate to Settings > Iconify Field in your Strapi admin panel to configure:
Add the iconify field to your content types
Once configured, the iconify field appears as a searchable icon picker in your content type forms:
Access icon data in your code:
// Example API response
{
"data": {
"id": 1,
"icon": {"icon":"lucide:door-closed","set":"lucide","name":"door-closed"}, // Icon identifier
"title": "Homepage",
// ... other fields
}
}
Use the icon data in your frontend:
// React example
import { Icon } from '@iconify/react';
function MyComponent({ iconData }) {
return (
<div>
<Icon icon={iconData.icon.icon} width="24" height="24" />
<span>{iconData.title}</span>
</div>
);
}
<!-- Vue example -->
<template>
<div>
<Icon :icon="iconData.icon.icon" width="24" height="24" />
<span>{{ iconData.title }}</span>
</div>
</template>
<script setup>
import { Icon } from '@iconify/vue';
</script>
# Clone and install dependencies
git clone <repository-url>
cd strapi-iconify-field
pnpm install
# Start development
pnpm dev
# Build plugin
pnpm build
# Type checking
pnpm test:ts:front # Frontend types
pnpm test:ts:back # Backend types
packages/iconify-field/
├── admin/ # Frontend React components
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── pages/ # Admin pages (Settings)
│ │ ├── translations/ # i18n files
│ │ ├── utils/ # Utilities
│ │ └── index.ts # Plugin entry point
│ └── tsconfig.json
├── server/ # Backend logic
│ ├── src/
│ │ ├── controllers/ # API controllers
│ │ ├── services/ # Business logic
│ │ ├── routes/ # Route definitions
│ │ ├── config/ # Plugin config
│ │ └── index.ts # Server entry point
│ └── tsconfig.json
├── package.json
└── README.md
GET /iconify-field/icon-sets - Get available icon setsGET /iconify-field/icons - Get icons with paginationGET /iconify-field/icons/search - Search iconsGET /iconify-field/icons/:setId/popular - Get popular icons for a setGET /iconify-field/icons/:iconId - Get specific icon dataPOST /iconify-field/icons/validate - Validate icon existenceGET /iconify-field/settings - Get plugin settingsPUT /iconify-field/settings - Update plugin settingsGET /iconify-field/settings/enabled-sets - Get enabled icon setsgit checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)MIT License - see LICENSE file for details.
Made with ❤️ for the Strapi community
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1e16af0933466ba548b79fe58ccf59bfb069f133411fc847a8e8293eec6800d0