Feedback

Avatar

Rappresentazione visiva di un utente tramite immagine, iniziali o icona. Supporta shape circle/square, severity colorata e fallback automatico.

Import

import { Avatar } from '@pzeta/vue-components'
// oppure tramite plugin:
import { FeedbackPlugin } from '@pzeta/vue-components'
app.use(FeedbackPlugin)

Esempio Base

Props

PropTipoDefaultDescrizione
imagestring | nullnullURL dell'immagine da visualizzare
labelstring | nullnullTesto (iniziali) visualizzato in assenza di immagine
iconstring | nullnullClasse CSS dell'icona (es. 'pi pi-user'), fallback se nessuna immagine o label
size'small' | 'medium' | 'large' | 'xlarge''medium'Dimensione dell'avatar
shape'square' | 'circle''square'Forma dell'avatar
altstring'Avatar'Alt text per l'immagine (accessibilità)
severity'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'contrast' | 'help'Colore di sfondo per avatar con label o icon

Emits

EventoPayloadDescrizione
errorEventEmesso quando il caricamento dell'immagine fallisce

Slot

SlotScopeDescrizione
defaultContenuto custom di fallback (mostrato solo se nessuna immagine, label o icon è definita)

Priorità di rendering

Il componente segue questa priorità:

  1. image — se fornita, mostra l'immagine
  2. icon — se nessuna immagine (o immagine non caricata), mostra l'icona
  3. label — se nessuna immagine e nessuna icona, mostra il testo
  4. slot default — fallback finale

Esempi

Shape e dimensioni

Con gestione errore immagine

Diverse severity

Accessibilità

  • Specificare sempre alt quando si usa la prop image per descrivere l'utente.
  • Per avatar decorativi (solo visivi), usare alt="".
  • Se usato con AvatarGroup, il gruppo gestisce il contesto ARIA.

TypeScript

import type { AvatarProps, AvatarEmits } from '@pzeta/vue-components'
import type { AvatarShape } from '@pzeta/vue-components'

// AvatarShape = 'square' | 'circle'