Colar SVG diretamente no código costuma gerar props inconsistentes e valores fixos. Este guia apresenta um fluxo limpo de ícones em React + TypeScript.
1) Normalize a entrada SVG
- Limpe grupos, metadados e estilos inline desnecessários antes da conversão.
- Preserve o viewBox para que a escala dos componentes continue previsível.
- Renomeie IDs e máscaras para evitar colisões quando vários ícones aparecem na mesma página.
2) Gere um componente type-safe
- Use props TypeScript que estendem props SVG para suporte completo ao IntelliSense.
- Defina largura/altura padrão e permita sobrescrever a partir do uso no componente pai.
- Substitua preenchimentos fixos por currentColor quando os ícones devem herdar a cor do texto.
3) Integre a um design system
- Guarde os ícones em uma pasta previsível e exporte de um único arquivo barrel.
- Aplique regras de lint ou testes para bloquear atributos SVG inválidos no CI.
- Documente exemplos de uso para tokens de tamanho semânticos e aria labels.