Como é o resultado para Vue
Templates do Vue aceitam atributos SVG como estão, então o conversor mantém nomes em kebab-case como stroke-width e class. Ele remove o ruído do editor, a declaração XML e, opcionalmente, o xmlns, e coloca a marcação dentro de um bloco <template>.
Com a opção size ativada, um bloco <script setup> declara uma prop size com valor padrão e a vincula a :width e :height. Com TypeScript, a prop é declarada com defineProps<{ size?: number | string }>() e withDefaults.
Repasse automático de atributos
Como o <svg> é o único elemento raiz, o Vue repassa automaticamente os atributos que não foram declarados como props. Ou seja, class, style, aria-label e listeners como @click chegam ao <svg> sem nenhum código extra. Por isso a opção de repassar props não é necessária no Vue.
Usando o componente
Uso típico em um projeto Vue 3 ou Nuxt:
- Salve o resultado como IconName.vue na sua pasta de componentes.
- Importe: import IconName from "./IconName.vue".
- Renderize <IconName :size="20" class="text-emerald-600" /> em qualquer template.
- Com currentColor ativado, o ícone segue a propriedade CSS color.