Coller du SVG directement dans le code crée souvent des props incohérents et des valeurs en dur. Ce guide propose un workflow d'icônes React + TypeScript propre.
1) Normalisez l'entrée SVG
- Nettoyez les groupes, métadonnées et styles en ligne inutiles avant la conversion.
- Conservez le viewBox pour que la mise à l'échelle des composants reste prévisible.
- Renommez les IDs et masques pour éviter les collisions quand plusieurs icônes s'affichent sur une même page.
2) Générez un composant type-safe
- Utilisez des props TypeScript qui étendent les props SVG pour un support IntelliSense complet.
- Définissez une largeur/hauteur par défaut et autorisez la surcharge depuis l'usage parent.
- Remplacez les remplissages fixes par currentColor quand les icônes doivent hériter de la couleur du texte.
3) Intégrez à un design system
- Rangez les icônes dans un dossier prévisible et exportez depuis un seul fichier barrel.
- Appliquez des règles de lint ou des tests pour bloquer les attributs SVG invalides en CI.
- Documentez des exemples d'usage pour les tokens de taille sémantiques et les aria-labels.