Common
useSeverityIcon
Composable interno che mappa valori di severity alle icone configurate globalmente.
Composable interno — utilizzato dai componenti
MessageeToastdella 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
| Parametro | Tipo | Descrizione |
|---|---|---|
options.severity | MaybeRef<SeverityIconType | string | undefined> | Severity corrente del componente |
options.customIcon | MaybeRef<string | null | undefined> | Icona custom con priorita massima |
options.iconMap | Record<string, string> (opzionale) | Mappa custom per override parziale |
options.fallbackIcon | string (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>iconMapcustom > icone daConfigPlugin>defaultIcons. - Utilizza
inject(ConfigKey)per leggere le icone configurate globalmente tramiteConfigPlugin. - Funzione utility non-reattiva
getSeverityIcon(severity, customIcon?, iconMap?)esportata per uso una-tantum (usa solodefaultIcons, non la config globale).