Estou trabalhando em um projeto Angular 19 usando componentes independentes e o Angular Material .
Quero usar ícones FontAwesome ( @fortawesome/angular-fontawesome
) junto com componentes do Angular Material, como mat-icon
, mas não tenho certeza sobre a maneira correta de integrá-los.
Aqui está o que fiz até agora:
/// <reference types="@angular/localize" />
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
Eu instalei os pacotes necessários:
npm install @fortawesome/fontawesome-svg-core
npm install @fortawesome/free-solid-svg-icons
npm install @fortawesome/angular-fontawesome
No entanto, não tenho certeza:
- Como registrar corretamente os ícones
FaIconLibrary
em uma configuração autônoma . - Como usar os
<fa-icon>
componentes internos do Angular Material, comomat-list
,mat-toolbar
, etc. - Se há uma maneira limpa de usar os ícones do FontAwesome ou
mat-icon
se<fa-icon>
eles devem ser usados separadamente.
Qualquer exemplo ou prática recomendada seria apreciada!
Usando o Font Awesome sem
@fortawesome/angular-fontawesome)
:Segui o tutorial abaixo e funcionou muito bem.
Registre ícones fontawesome para uso com o material MatIcon
Instale o pacote:
Adicione os estilos a
angular.json
:Adicione alguns estilos para tornar a fonte consistente no
global-styles.scss
arquivo.Então precisamos adicioná-lo
MatIconRegistry
aoproviders
array debootstrapApplication
, para que possamos configurá-lo dentro do nosso componente raiz.Em seguida, importe
MatIconRegistry
e configure o componente raiz para Font Awesome.Então podemos usá-los no HTML, fornecendo
fontSet
efontIcon
:Demonstração do Stackblitz