Buttons

SpeedDial

Floating Action Button espandibile che mostra un insieme di azioni secondarie in direzione configurabile (up, down, left, right) con supporto a tooltip, link e colori per azione.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
actionsSpeedDialAction[][]Array delle azioni da mostrare
direction'up' | 'down' | 'left' | 'right''up'Direzione di espansione delle azioni
iconstringundefinedClasse CSS dell'icona del pulsante principale (default dal tema)
activeIconstringundefinedClasse CSS dell'icona quando il menu è aperto
color'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger''primary'Colore del pulsante principale
disabledbooleanfalseDisabilita il componente
tooltipPosition'top' | 'bottom' | 'left' | 'right''left'Posizione del tooltip sulle azioni
showLabelsbooleanfalseMostra sempre le label delle azioni (non solo come tooltip)

SpeedDialAction

Ogni azione nel array actions ha la seguente struttura:

CampoTipoObbligatorioDescrizione
idstring | numberSiIdentificatore univoco dell'azione
iconstringSiClasse CSS dell'icona (es. 'pi pi-pencil')
labelstringNoLabel tooltip dell'azione
color'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger'NoColore di sfondo dell'azione
disabledbooleanNoDisabilita la singola azione
hrefstringNoURL di navigazione (apre in nuova scheda se valido)
target'_blank' | '_self'NoTarget del link (default '_blank')

Emits

EventoPayloadDescrizione
actionClickSpeedDialActionEmesso al click su un'azione (non emesso se l'azione è disabilitata)
openEmesso all'apertura del menu
closeEmesso alla chiusura del menu (anche dopo click su un'azione)

Esempi

Direzioni di espansione

Colori personalizzati per azione

Con icona attiva e label visibili

Con azione disabilitata

Accessibilità

  • Il pulsante principale ha disabled nativo quando la prop disabled è true.
  • Ogni azione utilizza title (il campo label) per fornire il tooltip nativo e supporto screen reader.
  • I link nelle azioni vengono aperti con noopener,noreferrer per sicurezza.
  • Le azioni disabilitate non emettono eventi e hanno l'attributo disabled nativo.
  • Posizionare lo SpeedDial in un contesto con sufficiente spazio per il menu espanso, usando layout relativi o assoluti.

TypeScript

import type { SpeedDialProps, SpeedDialEmits, SpeedDialAction } from '@pzeta/vue-components'
import type { SpeedDialDirection } from '@pzeta/vue-components'