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àTipoDescrizione
iconsComputedRef<ComponentIcons>Configurazione icone completa, reattiva
getIcon<K>(category: K, name: keyof ComponentIcons[K]) => stringHelper tipizzato per ottenere la classe di una singola icona
setIcons(newIcons: DeepPartial<ComponentIcons>) => voidAggiornamento 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 ConfigPlugin non è installato, icons restituisce defaultIcons e setIcons non ha effetto.
  • Per switch completo tra preset (lucide, fontawesome), usare useConfig().switchIconSet().