Botão
Button
Um comando em oito severidades, quatro variantes e três tamanhos, com ícones, estado de carregamento, badge e renderização como link.
Testado com WAI-ARIA
Importação
main.ts
import { Button } from '@vitral/vue';Severidades
Preenchido é a variante padrão. `secondary` é o botão discreto de uma barra de ferramentas; `primary` é o que confirma.
Outlined
Texto
Ícones
Ícones de qualquer lugar
Um ícone importado, o componente de outra biblioteca ou markup SVG confiável. As classes de uma fonte de ícones também funcionam: `icon="fa-solid fa-user"`, depois que a folha de estilos dela estiver na página.
Tamanhos e formato
Estados
Carregando, o botão fica desabilitado e recebe aria-busy.
API
Lido de packages/vue/src/components/Button/types.ts, então diz o que o componente aceita de fato.
Props
| Nome | Tipo | Descrição |
|---|---|---|
| label | string | — |
| icon | IconProp | — |
| iconPos | 'left' | 'right' | 'top' | 'bottom' | — |
| loading | boolean | Mostra um spinner, desabilita o botão e o marca como ocupado. |
| loadingIcon | IconProp | — |
| severity | ButtonSeverity | — |
| variant | ButtonVariant | — |
| size | Size | — |
| rounded | boolean | — |
| raised | boolean | — |
| fluid | boolean | — |
| badge | string | number | — |
| disabled | boolean | — |
| type | 'button' | 'submit' | 'reset' | — |
| as | string | Component | Renderiza como outro elemento ou componente (`'a'`, `RouterLink`), mantendo a aparência e o comportamento do botão. |
Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.
Slots
| Nome | Props do slot | Descrição |
|---|---|---|
| default | — | — |
| icon | — | — |
| loadingicon | — | — |