Cómo funcionan los tipos generados
Las props del componente se tipan como SVGProps<SVGSVGElement>, el mismo tipo que React usa para el elemento <svg>. Así obtienes autocompletado para todos los atributos SVG y manejadores de eventos, y TypeScript rechazará props no válidas en tiempo de compilación.
Con la opción size activada, las props pasan a ser SVGProps<SVGSVGElement> & { size?: number | string }, y width y height se toman de size. Con forwardRef activado, la ref se tipa como Ref<SVGSVGElement>, de modo que los padres pueden adjuntar refs para medir o para librerías de animación.
Lista de comprobación del resultado TSX
Antes de hacer commit de un icono generado, comprueba que:
- El nombre del componente está en PascalCase y coincide con el nombre del archivo (ArrowLeft.tsx).
- SVGProps y Ref se importan solo como tipos, por lo que desaparecen del bundle de JavaScript.
- El viewBox está presente; sin él, el icono no puede escalar.
- Se usan exportaciones con nombre si tu base de código prohíbe las exportaciones por defecto.
Compatible con el modo estricto
El código compila con "strict": true y con isolatedModules, que exigen Next.js, Vite y esbuild. No se genera ningún tipo any, y el valor por defecto de size se escribe como valor literal en el patrón de desestructuración.