Skip to content

Commit e6ab7ee

Browse files
committed
changed icons to the angular fontawesome library
1 parent f288446 commit e6ab7ee

24 files changed

+101
-29
lines changed

package-lock.json

Lines changed: 48 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
"@angular-devkit/build-angular": "~18.1.1",
4141
"@angular/cli": "~18.1.1",
4242
"@angular/compiler-cli": "~18.1.1",
43+
"@fortawesome/angular-fontawesome": "^0.15.0",
44+
"@fortawesome/free-solid-svg-icons": "^6.6.0",
4345
"@types/jasmine": "~5.1.4",
4446
"@types/node": "^20.14.11",
4547
"concurrently": "^8.2.2",

projects/ngx-material-navigation/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-material-navigation",
3-
"version": "18.0.1",
3+
"version": "18.1.0",
44
"license": "MIT",
55
"keywords": [
66
"angular",
@@ -15,7 +15,9 @@
1515
"@angular/common": "18",
1616
"@angular/core": "18",
1717
"@angular/forms": "18",
18-
"@angular/material": "18"
18+
"@angular/material": "18",
19+
"@fortawesome/angular-fontawesome": "^0.15",
20+
"@fortawesome/free-solid-svg-icons": "^6"
1921
},
2022
"dependencies": {
2123
"tslib": "^2.6.2"

projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
(click)="runAction()"
77
>
88
@if (elementValue.icon) {
9-
<i [ngClass]="elementValue.icon"></i>
9+
<fa-icon [icon]="elementValue.icon"></fa-icon>
1010
}
1111
{{elementValue.name}}
1212
</button>

projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { CommonModule } from '@angular/common';
33
import { Component } from '@angular/core';
44
import { MatButtonModule } from '@angular/material/button';
5+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
56

67
import { NavButtonComponent } from '../nav-button/nav-button.component';
78

@@ -13,7 +14,8 @@ import { NavButtonComponent } from '../nav-button/nav-button.component';
1314
standalone: true,
1415
imports: [
1516
CommonModule,
16-
MatButtonModule
17+
MatButtonModule,
18+
FaIconComponent
1719
]
1820
})
1921
export class NavButtonFlatComponent extends NavButtonComponent {}

projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
>
55
<button mat-raised-button type="button" (click)="runAction()">
66
@if (elementValue.icon) {
7-
<i [ngClass]="elementValue.icon"></i>
7+
<fa-icon [icon]="elementValue.icon"></fa-icon>
88
}
99
{{elementValue.name}}
1010
</button>

projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { CommonModule } from '@angular/common';
33
import { Component, EnvironmentInjector, runInInjectionContext } from '@angular/core';
44
import { MatButtonModule } from '@angular/material/button';
5+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
56

67
import { NavElementTypes } from '../../../../models/nav-element.model';
78
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -14,7 +15,8 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1415
standalone: true,
1516
imports: [
1617
CommonModule,
17-
MatButtonModule
18+
MatButtonModule,
19+
FaIconComponent
1820
]
1921
})
2022
export class NavButtonComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.BUTTON> {

projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[attr.aria-label]="elementValue.ariaLabel"
88
>
99
@if (elementValue.icon) {
10-
<i [ngClass]="elementValue.icon"></i>
10+
<fa-icon [icon]="elementValue.icon"></fa-icon>
1111
}
1212
{{elementValue.name}}
1313
</a>

projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { CommonModule } from '@angular/common';
33
import { Component } from '@angular/core';
44
import { MatButtonModule } from '@angular/material/button';
5+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
56

67
import { NavElementTypes } from '../../../../models/nav-element.model';
78
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -14,7 +15,8 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1415
standalone: true,
1516
imports: [
1617
CommonModule,
17-
MatButtonModule
18+
MatButtonModule,
19+
FaIconComponent
1820
]
1921
})
2022
export class NavExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.EXTERNAL_LINK> { }

projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[attr.aria-label]="elementValue.ariaLabel"
99
>
1010
@if (elementValue.icon) {
11-
<i [ngClass]="elementValue.icon"></i>
11+
<fa-icon [icon]="elementValue.icon"></fa-icon>
1212
}
1313
{{elementValue.name}}
1414
</a>

projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { CommonModule } from '@angular/common';
33
import { Component } from '@angular/core';
44
import { MatButtonModule } from '@angular/material/button';
55
import { RouterModule } from '@angular/router';
6+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
67

78
import { NavElementTypes } from '../../../../models/nav-element.model';
89
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -16,7 +17,8 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1617
imports: [
1718
CommonModule,
1819
MatButtonModule,
19-
RouterModule
20+
RouterModule,
21+
FaIconComponent
2022
]
2123
})
2224
export class NavInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.INTERNAL_LINK> {

projects/ngx-material-navigation/src/components/nav-element/nav-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
[attr.aria-label]="element.ariaLabel"
6868
>
6969
@if (elementMenu.icon) {
70-
<i [ngClass]="elementMenu.icon"></i>
70+
<fa-icon [icon]="elementMenu.icon"></fa-icon>
7171
}
7272
{{elementMenu.name}}
7373
</button>
@@ -81,7 +81,7 @@
8181
[attr.aria-label]="element.ariaLabel"
8282
>
8383
@if (elementMenu.icon) {
84-
<i [ngClass]="elementMenu.icon"></i>
84+
<fa-icon [icon]="elementMenu.icon"></fa-icon>
8585
}
8686
{{elementMenu.name}}
8787
</button>

projects/ngx-material-navigation/src/components/nav-element/nav-element.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { AfterContentChecked, Component, HostListener, Input, OnInit, ViewChild
44
import { MatButton, MatButtonModule } from '@angular/material/button';
55
import { MatMenuModule } from '@angular/material/menu';
66
import { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
7+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
78

89
import { NavButtonComponent } from './button/nav-button/nav-button.component';
910
import { NavButtonFlatComponent } from './button/nav-button-flat/nav-button-flat.component';
@@ -45,7 +46,8 @@ import { NavUtilities } from '../../utilities/nav.utilities';
4546
NavInternalLinkComponent,
4647
NavExternalLinkComponent,
4748
NavCustomComponent,
48-
NavTextComponent
49+
NavTextComponent,
50+
FaIconComponent
4951
]
5052
})
5153
export class NavElementComponent implements AfterContentChecked, OnInit {

projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
>
99
<h1>
1010
@if (elementValue.icon) {
11-
<i [ngClass]="elementValue.icon"></i>
11+
<fa-icon [icon]="elementValue.icon"></fa-icon>
1212
}
1313
{{elementValue.title}}
1414
</h1>

projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* eslint-disable jsdoc/require-jsdoc */
22
import { CommonModule } from '@angular/common';
33
import { Component } from '@angular/core';
4+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
45

56
import { NavElementTypes } from '../../../../models/nav-element.model';
67
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -11,6 +12,6 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1112
templateUrl: './nav-title-with-external-link.component.html',
1213
styleUrls: ['./nav-title-with-external-link.component.scss', '../base-nav-title.scss'],
1314
standalone: true,
14-
imports: [CommonModule]
15+
imports: [CommonModule, FaIconComponent]
1516
})
1617
export class NavTitleWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_EXTERNAL_LINK> { }

projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
>
99
<h1>
1010
@if (elementValue.icon) {
11-
<i [ngClass]="elementValue.icon"></i>
11+
<fa-icon [icon]="elementValue.icon"></fa-icon>
1212
}
1313
{{elementValue.title}}
1414
</h1>

projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { CommonModule } from '@angular/common';
33
import { Component } from '@angular/core';
44
import { RouterModule } from '@angular/router';
5+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
56

67
import { NavElementTypes } from '../../../../models/nav-element.model';
78
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -14,7 +15,8 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1415
standalone: true,
1516
imports: [
1617
CommonModule,
17-
RouterModule
18+
RouterModule,
19+
FaIconComponent
1820
]
1921
})
2022
export class NavTitleWithInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_INTERNAL_LINK> {

projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div [class.sidenavElement]="isSidenavElement" [class.menuItem]="isMenuItem" [attr.aria-label]="elementValue.ariaLabel">
22
<h1>
33
@if (elementValue.icon) {
4-
<i [ngClass]="elementValue.icon"></i>
4+
<fa-icon [icon]="elementValue.icon"></fa-icon>
55
}
66
{{elementValue.title}}
77
</h1>

projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { CommonModule } from '@angular/common';
22
import { Component } from '@angular/core';
3+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
34

45
import { NavElementTypes } from '../../../../models/nav-element.model';
56
import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';
@@ -10,7 +11,7 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
1011
templateUrl: './nav-title.component.html',
1112
styleUrls: ['./nav-title.component.scss', '../base-nav-title.scss'],
1213
standalone: true,
13-
imports: [CommonModule]
14+
imports: [CommonModule, FaIconComponent]
1415
})
1516
// eslint-disable-next-line jsdoc/require-jsdoc
1617
export class NavTitleComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE> { }

projects/ngx-material-navigation/src/components/navbar/navbar.component.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { AfterContentChecked, Component, ElementRef, EnvironmentInjector, HostLi
33
import { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
44
import { MatToolbarModule } from '@angular/material/toolbar';
55
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
6+
import { IconDefinition } from '@fortawesome/angular-fontawesome';
7+
import { faBars } from '@fortawesome/free-solid-svg-icons';
68

79
import { NavElement, NavElementPosition, NavElementTypes } from '../../models/nav-element.model';
810
import { NavbarRow } from '../../models/navbar.model';
@@ -19,11 +21,11 @@ export const NGX_BURGER_MENU_ARIA_LABEL: InjectionToken<string> = new InjectionT
1921
);
2022

2123
// eslint-disable-next-line jsdoc/require-jsdoc
22-
export const NGX_BURGER_MENU_ICON: InjectionToken<string> = new InjectionToken<string>(
23-
'Provider for the burger menu icon. Default: "fas fa-bars"',
24+
export const NGX_BURGER_MENU_ICON: InjectionToken<IconDefinition> = new InjectionToken<IconDefinition>(
25+
'Provider for the burger menu icon. Default: "faBars"',
2426
{
2527
providedIn: 'root',
26-
factory: () => 'fas fa-bars'
28+
factory: () => faBars
2729
}
2830
);
2931

@@ -113,7 +115,7 @@ export class NgxMatNavigationNavbarComponent implements AfterContentChecked {
113115
private readonly sanitizer: DomSanitizer,
114116
public navService: NgxMatNavigationService,
115117
@Inject(NGX_BURGER_MENU_ICON)
116-
private readonly burgerMenuIcon: string,
118+
private readonly burgerMenuIcon: IconDefinition,
117119
@Inject(NGX_BURGER_MENU_ARIA_LABEL)
118120
private readonly burgerMenuAriaLabel: string,
119121
private readonly injector: EnvironmentInjector

projects/ngx-material-navigation/src/models/nav-link.model.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Route } from '@angular/router';
2+
import { IconDefinition } from '@fortawesome/angular-fontawesome';
23

34
import { BaseNavElement, NavElementTypes } from './nav-element.model';
45
import { NavRoute } from './nav-route.model';
@@ -14,7 +15,7 @@ export abstract class NavLink extends BaseNavElement {
1415
/**
1516
* An icon to display left of the link.
1617
*/
17-
icon?: string;
18+
icon?: IconDefinition;
1819
/**
1920
* Whether or not the link should be opened in a new tab.
2021
*/

projects/ngx-material-navigation/src/models/nav-menu.model.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { IconDefinition } from '@fortawesome/angular-fontawesome';
12
import { NavButton } from './nav-button.model';
23
import { NavCustom } from './nav-custom.model';
34
import { BaseNavElement, NavElementTypes } from './nav-element.model';
@@ -34,5 +35,5 @@ export interface NavMenu extends BaseNavElement {
3435
/**
3536
* An icon to display left of the menu.
3637
*/
37-
icon?: string
38+
icon?: IconDefinition
3839
}

projects/ngx-material-navigation/src/models/nav-route.model.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Data, ResolveFn, Route } from '@angular/router';
22

33
import { PageNotFoundConfig } from './page-not-found-config.model';
4+
import { IconDefinition } from '@fortawesome/angular-fontawesome';
45

56
/**
67
* An opinionated model of the Angular Route.
@@ -46,7 +47,7 @@ export interface NavAnchor {
4647
/**
4748
* An optional icon for the anchor.
4849
*/
49-
icon?: string,
50+
icon?: IconDefinition,
5051
/**
5152
* The aria label of the element.
5253
*/

0 commit comments

Comments
 (0)