En qué se diferencia Solid de React
El JSX de Solid asigna los atributos directamente al DOM, así que atributos SVG como stroke-width y class se mantienen exactamente como aparecen en el archivo. No hace falta renombrarlos a camelCase ni a className como en React.
En Solid las props son getters reactivos, y desestructurarlas rompe la reactividad. Cuando activas la prop size, el convertidor usa splitProps para separar size del resto de props y propaga las demás sobre el <svg>, de modo que todos los valores siguen siendo reactivos.
Tipos de TypeScript generados
Las props se tipan como JSX.SvgSVGAttributes<SVGSVGElement>, importado de solid-js, que cubre todos los atributos SVG y manejadores de eventos. Con la opción size, el tipo se amplía con { size?: number | string }.
Usar el componente en SolidStart
Primeros pasos:
- Guarda el resultado como IconName.tsx en tu carpeta src/components.
- Impórtalo y renderiza <IconName size={18} class="icon" />.
- Usa currentColor para heredar el color del texto que lo rodea.
- Las refs funcionan mediante la prop ref normal; en Solid no hace falta forwardRef.