Feedback

ProgressSpinner

Spinner SVG circolare per indicare caricamento o progresso. Supporta modalità indeterminate e determinate, severity colorata e label.

Nota deprecazione: L'alias Spinner è deprecato. Usare ProgressSpinner.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
type'indeterminate' | 'determinate''indeterminate'Modalità dello spinner
valuenumber0Valore corrente (usato solo in modalità determinate)
maxnumber100Valore massimo (usato solo in modalità determinate)
size'small' | 'medium' | 'large' | 'xlarge''medium'Dimensione dello spinner
severity'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'contrast' | 'help''primary'Colore dell'indicatore e della label
strokeWidthnumber2Spessore del tratto SVG in pixel
labelstring | nullnullTesto mostrato sotto lo spinner
iconstring | nullnullIcona CSS custom (sostituisce lo spinner SVG)
ariaLabelstringLabel ARIA per screen reader (default: testo localizzato)

Slot

SlotScopeDescrizione
defaultTesto label custom (alternativa alla prop label)

Esempi

Dimensioni e severity

Modalità determinate (progresso circolare)

Con icona custom

Spinner in bottone durante caricamento

Label via slot

Alias deprecato

// DEPRECATED — non usare:
import { Spinner } from '@pzeta/vue-components'

// CORRETTO:
import { ProgressSpinner } from '@pzeta/vue-components'

Accessibilità

  • Il componente ha role="status" e aria-live="polite".
  • aria-label è impostato automaticamente con testo localizzato ("Caricamento...").
  • Fornire ariaLabel personalizzato per contestualizzare lo spinner (es. "Salvataggio del documento").

TypeScript

import type { ProgressSpinnerProps } from '@pzeta/vue-components'
import type { ProgressSpinnerType } from '@pzeta/vue-components'

// ProgressSpinnerType = 'indeterminate' | 'determinate'