Buttons

SplitButton

Pulsante combinato con azione principale cliccabile e menu dropdown per azioni secondarie, composto internamente da Button e Menu.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
labelstring | nullnullLabel del pulsante principale
iconstring | nullnullIcona del pulsante principale
modelMenuItem[][]Array di voci di menu per il dropdown
disabledbooleanfalseDisabilita l'intero componente
loadingbooleanfalseStato di caricamento: mostra lo spinner sul pulsante principale e disabilita sia il click sia il toggle del menu
menuButtonAriaLabelstringundefinedNome accessibile del toggle che apre il dropdown. Default via i18n button.splitMenuAriaLabel
severity'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'contrast' | 'help''primary'Severità visiva del pulsante
raisedbooleanfalseStile con elevazione (ombra)
roundedbooleanfalseBordi completamente arrotondati
textbooleanfalseStile solo testo senza sfondo
outlinedbooleanfalseStile con bordo e sfondo trasparente
size'small' | 'medium' | 'large''medium'Dimensione del componente
dropdownIconstringundefinedClasse CSS dell'icona del toggle dropdown (default dal tema via useIcons)
buttonPropsRecord<string, unknown>undefinedProps extra passate al pulsante principale
menuButtonPropsRecord<string, unknown>undefinedProps extra passate al pulsante del menu
autofocusbooleanfalseFocus automatico al mount sul pulsante principale
fluidbooleanfalseIl componente occupa tutta la larghezza disponibile
menuPlacement'bottom-start' | 'bottom-end' | 'top-start' | 'top-end''bottom-start'Posizionamento del menu dropdown

Emits

EventoPayloadDescrizione
clickMouseEventEmesso al click sul pulsante principale
focusFocusEventEmesso quando il componente riceve il focus
blurFocusEventEmesso quando il componente perde il focus
showEmesso all'apertura del menu dropdown
hideEmesso alla chiusura del menu dropdown

Slot

SlotScopeDescrizione
defaultContenuto personalizzato del pulsante principale
iconIcona personalizzata per il pulsante principale
dropdowniconIcona personalizzata per il pulsante toggle dropdown
item{ item: MenuItem }Template custom per le voci del menu dropdown

Esempi

Dimensioni e stati

Varianti di severity

Stato di caricamento

Accessibilità

  • Il pulsante principale e il pulsante toggle sono distinti ed entrambi accessibili da tastiera.
  • Il toggle del menu ha un nome accessibile di default (i18n button.splitMenuAriaLabel), personalizzabile con menuButtonAriaLabel.
  • Il menu dropdown gestisce il focus trap e la navigazione con frecce direzionali.

TypeScript

import type { SplitButtonProps, SplitButtonEmits } from '@pzeta/vue-components'
import type { MenuItem } from '@pzeta/vue-components'