Config
useIcons
Composable per accedere e modificare la configurazione icone della libreria.
Firma TypeScript
export function useIcons(): UseIconsResult
export interface UseIconsResult {
icons: ComputedRef<ComponentIcons>;
getIcon: <K extends keyof ComponentIcons>(category: K, name: keyof ComponentIcons[K]) => string;
setIcons: (newIcons: DeepPartial<ComponentIcons>) => void;
}
Parametri
Nessun parametro. Ottiene la configurazione tramite inject(ConfigKey).
Valore di Ritorno
| Proprietà | Tipo | Descrizione |
|---|---|---|
icons | ComputedRef<ComponentIcons> | Configurazione icone completa, reattiva |
getIcon | <K>(category: K, name: keyof ComponentIcons[K]) => string | Helper tipizzato per ottenere la classe di una singola icona |
setIcons | (newIcons: DeepPartial<ComponentIcons>) => void | Aggiornamento parziale della configurazione icone |
Esempio
import { useIcons } from '@pzeta/vue-components'
const { icons, getIcon, setIcons } = useIcons()
// Accesso diretto alla configurazione
const closeIcon = icons.value.common.close
// Helper tipizzato (con type checking sulla categoria e nome)
const sortIcon = getIcon('table', 'sortAsc')
// Override parziale icone a runtime
setIcons({
common: {
close: 'fa fa-times',
search: 'fa fa-search'
}
})
Prerequisiti
Opzionale: ConfigPlugin installato nell'app Vue. Se assente, usa defaultIcons (primeicons). setIcons emette un console.warn se il plugin non è installato.
Note
getIconè type-safe: TypeScript valida sia la categoria (common,table,form,overlay,severity, ecc.) sia il nome dell'icona all'interno della categoria.- Se il
ConfigPluginnon è installato,iconsrestituiscedefaultIconsesetIconsnon ha effetto. - Per switch completo tra preset (
lucide,fontawesome), usareuseConfig().switchIconSet().