Cómo es el resultado para Vue
Las plantillas de Vue aceptan los atributos SVG tal cual, así que el convertidor mantiene nombres en kebab-case como stroke-width y class. Elimina el ruido del editor, la declaración XML y, opcionalmente, xmlns, y coloca el marcado dentro de un bloque <template>.
Si activas la opción size, un bloque <script setup> declara una prop size con valor por defecto y la enlaza a :width y :height. Con TypeScript, la prop se declara con defineProps<{ size?: number | string }>() y withDefaults.
Herencia de atributos
Como el <svg> es el único elemento raíz, Vue reenvía automáticamente los atributos que no están declarados como props. Eso significa que class, style, aria-label y listeners como @click llegan al <svg> sin código adicional. Por eso, en Vue no hace falta la opción de propagar props.
Usar el componente
Uso habitual en un proyecto con Vue 3 o Nuxt:
- Guarda el resultado como IconName.vue en tu carpeta de componentes.
- Impórtalo: import IconName from "./IconName.vue".
- Renderiza <IconName :size="20" class="text-emerald-600" /> en cualquier plantilla.
- Con currentColor activado, el icono sigue la propiedad CSS color.