Vitral 0.2
Formulário

ToggleButton

Um botão que fica pressionado, com rótulos e ícones próprios para ligado e desligado.

Importação

main.ts
import { ToggleButton } from '@vitral/vue';

Básico

pressed: false
<script setup lang="ts">import { ToggleButton } from '@vitral/vue';import { ref } from 'vue'; const bold = ref(false);</script> <template>    <div style="display: grid; gap: 0.5rem; justify-items: start">        <ToggleButton v-model="bold" on-label="Bold" off-label="Bold" />        <small style="color: var(--vt-text-muted-color)">pressed: {{ bold }}</small>    </div></template>

Ícones e rótulos

<script setup lang="ts">import { ToggleButton } from '@vitral/vue';import { ref } from 'vue'; const starred = ref(true);const locked = ref(false);</script> <template>    <ToggleButton v-model="starred" on-label="Starred" off-label="Star" on-icon="star" off-icon="star" aria-label="Star" />    <ToggleButton v-model="locked" on-label="On" off-label="Off" on-icon="check" off-icon="close" aria-label="Lock editing" /></template>

Tamanhos e estados

<script setup lang="ts">import { ToggleButton } from '@vitral/vue';</script> <template>    <ToggleButton :model-value="true" on-label="Small" off-label="Small" size="small" />    <ToggleButton :model-value="false" on-label="Large" off-label="Large" size="large" />    <ToggleButton :model-value="false" on-label="Invalid" off-label="Invalid" invalid />    <ToggleButton :model-value="true" on-label="Disabled" off-label="Disabled" disabled /></template>

API

Lido de packages/vue/src/components/ToggleButton/types.ts, então diz o que o componente aceita de fato.

Props

NomeTipoDescrição
onLabelstring—
offLabelstring—
onIconIconProp—
offIconIconProp—
sizeSize—
disabledboolean—
invalidboolean—
fluidboolean—

Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.

Emits

EventoPayloadDescrição
changeevent: ToggleButtonChangeEvent—

Slots

NomeProps do slotDescrição
default(props: { checked: boolean })Substitui o rótulo; recebe o estado atual.
icon(props: { checked: boolean })—