Buttons

ButtonGroup

Contenitore per raggruppare pulsanti correlati in layout orizzontale o verticale, con supporto a selezione singola tramite v-model.

Import

import { ButtonGroup } from '@pzeta/vue-components'
// oppure con plugin selettivo:
import { ButtonsPlugin } from '@pzeta/vue-components'
app.use(ButtonsPlugin)

Esempio Base

Props

PropTipoDefaultDescrizione
orientation'horizontal' | 'vertical''horizontal'Orientamento del gruppo di pulsanti
shadowbooleanfalseAggiunge ombra al gruppo
fluidbooleanfalseIl gruppo occupa tutta la larghezza disponibile
classstring''Classe CSS aggiuntiva per lo styling personalizzato
modelValuestring | number | nullnullValore del pulsante selezionato (v-model)

Emits

EventoPayloadDescrizione
update:modelValuestring | number | nullEmesso quando cambia il pulsante selezionato

Slot

SlotScopeDescrizione
defaultContenuto del gruppo, tipicamente una serie di componenti Button

Esempi

Gruppo azioni (senza selezione)

Con selezione tramite v-model

Assegnare la prop value a ciascun Button per abilitare la selezione. Il valore selezionato viene sincronizzato con v-model.

Solo icone con selezione

Orientamento verticale

Con dimensioni personalizzate

Accessibilità

  • Quando un Button figlio ha la prop value e si trova dentro un ButtonGroup, viene automaticamente impostato aria-pressed="true/false" per comunicare lo stato agli screen reader.
  • Usare aria-label sui pulsanti solo icona per garantire la comprensibilità.
  • La navigazione tra i pulsanti segue il normale ordine tabindex.

TypeScript

import type { ButtonGroupProps, ButtonGroupEmits } from '@pzeta/vue-components'