Common

useSeverityIcon

Composable interno che mappa valori di severity alle icone configurate globalmente.

Composable interno — utilizzato dai componenti Message e Toast della libreria.

Firma TypeScript

export function useSeverityIcon(options: UseSeverityIconOptions): ComputedRef<string>

export interface UseSeverityIconOptions {
  severity: MaybeRef<SeverityIconType | string | undefined>;
  customIcon?: MaybeRef<string | null | undefined>;
  iconMap?: Record<string, string>;
  fallbackIcon?: string;
}

export type SeverityIconType = 'success' | 'info' | 'warn' | 'error' | 'secondary' | 'contrast'

Parametri

ParametroTipoDescrizione
options.severityMaybeRef<SeverityIconType | string | undefined>Severity corrente del componente
options.customIconMaybeRef<string | null | undefined>Icona custom con priorita massima
options.iconMapRecord<string, string> (opzionale)Mappa custom per override parziale
options.fallbackIconstring (opzionale)Icona di fallback se severity non trovata (default: info)

Valore di Ritorno

ComputedRef<string> — la classe CSS dell'icona da usare.

Esempio

import { useSeverityIcon } from '@pzeta/vue-components/internal'

// Uso base
const icon = useSeverityIcon({
  severity: computed(() => props.severity)
})
// icon.value => 'pi pi-check-circle' (se severity='success')

// Con icona custom prioritaria
const icon = useSeverityIcon({
  severity: computed(() => props.severity),
  customIcon: computed(() => props.icon)
})

// Con mappa custom parziale
const icon = useSeverityIcon({
  severity: computed(() => props.severity),
  iconMap: {
    success: 'pi pi-thumbs-up',
    error: 'pi pi-ban'
  }
})

Note

  • Priorita di risoluzione: customIcon > iconMap custom > icone da ConfigPlugin > defaultIcons.
  • Utilizza inject(ConfigKey) per leggere le icone configurate globalmente tramite ConfigPlugin.
  • Funzione utility non-reattiva getSeverityIcon(severity, customIcon?, iconMap?) esportata per uso una-tantum (usa solo defaultIcons, non la config globale).