Composants React légers pour charger dynamiquement des icônes Lucide via un CDN GitHub Pages.
💡 Ce package n’est pas sur npm mais sur GitHub Packages.
bun add @kodless-dev/icon-reactnpm install @kodless-dev/icon-react --registry=https://npm.pkg.github.compnpm add @kodless-dev/icon-react --registry=https://npm.pkg.github.comimport { RemoteIcon, useIconList } from '@kodless-dev/icon-react';
export function Example() {
const [icons, setIcons] = useState<string[]>([]);
useEffect(() => {
useIconList().then(setIcons);
}, []);
return (
<div>
<h3>Exemple d'icône :</h3>
<RemoteIcon name="heart" color="red" size={48} />
<h4>Liste d'icônes disponibles : {icons.length}</h4>
</div>
);
}<RemoteIcon />
| Prop | Type | Défaut | Description |
|---|---|---|---|
name |
string |
— | Nom de l’icône (ex: "heart") |
size |
number | string |
24 |
Taille en pixels |
color |
string |
"currentColor" |
Couleur de l’icône |
className |
string |
undefined |
Classe CSS optionnelle |
cdnUrl |
string |
https://kodless-dev.github.io/icons-cdn/icons |
Base CDN personnalisée |
useIconList(cdnUrl?)
Renvoie la liste de toutes les icônes disponibles sur le CDN (JSON généré automatiquement).
const icons = await useIconList(); // ['activity', 'heart', 'github', ...]Les icônes SVG sont hébergées via : https://kodless-dev.github.io/icons-cdn/icons
Exemple direct :
<img
src="https://kodless-dev.github.io/icons-cdn/icons/heart.svg"
alt="Heart"
/>bun install
bun run devPour builder le package :
bun run buildAutomatique (GitHub Actions)
Pousser un nouveau tag versionné :
git tag v1.0.0
git push origin v1.0.0Le workflow publish.yml s’exécutera et publiera le package sur GitHub Packages.
Manuelle
export GITHUB_TOKEN=ghp_xxxxxxxxx
bun run build
bun publish --access public