Colar SVG diretamente no código costuma gerar props inconsistentes e valores fixos demais. Este guia propõe um fluxo limpo de React + TypeScript para ícones.
1) Normalize o SVG de entrada
- Remova grupos desnecessários, metadados e estilos embutidos antes da conversão.
- Preserve o viewBox para que o redimensionamento do componente continue previsível.
- Renomeie IDs e masks para evitar colisões quando vários ícones aparecerem na mesma página.
2) Gere um componente com segurança de tipos
- Use props TypeScript que estendem props SVG para ter suporte completo a IntelliSense.
- Defina width/height padrão e permita sobrescrita a partir do componente pai.
- Troque fills fixos por currentColor quando os ícones precisarem herdar a cor do texto.
3) Integre ao design system
- Guarde os ícones em uma pasta previsível e exporte tudo a partir de um único arquivo de saída.
- Aplique regras de lint ou testes para bloquear atributos SVG inválidos no CI.
- Documente exemplos de uso para tamanhos semânticos e rótulos `aria`.